
    9i                     d    S SK r S SKrS SKrS SKr " S S5      r\" 5       rS rS rS rS r	S r
g)	    Nc                       \ rS rSrSrg)_worker_State    N)__name__
__module____qualname____firstlineno____static_attributes__r       T/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/pymupdf/_apply_pages.pyr   r      s    r   r   c                     U [         l        U[         l        U[         l        U[         l        U[         l        S [         l        U(       a	  U" U0 UD6  g g N)_worker_statepathpagefnpagefn_argspagefn_kwargsstatsdocument)r   initfninitfn_argsinitfn_kwargsr   r   r   r   s           r   _worker_initr      sI     M!M +M"/MM!M-}- r   c           	          [         R                   " 5       U -
  n U S:  a6  [        R                  " S[        R                  " 5       < SU S SU S35        g g )N
   os.getpid()=z: 2fzs: .)timepymupdflogosgetpid)tlabels     r   _stats_writer'   %   sF    		aABw|ryy{nBqfCwa89 r   c                    [         R                  (       dx  [         R                  (       a  [        R                  " 5       n[        R
                  " [         R                  5      [         l        [         R                  (       a  [        WS5        [         R                  (       a  [        R                  " 5       n[         R                  U    n[         R                  (       a  [        WS5        [         R                  (       a  [        R                  " 5       n[         R                  " U/[         R                  Q70 [         R                  D6n[         R                  (       a  [        WS5        U$ )Nzpymupdf.Document()z#_worker_state.document[page_number]z_worker_state.pagefn())r   r   r   r    r!   Documentr   r'   r   r   r   )page_numberr%   pagerets       r   
_worker_fnr-   +   s    !!		A!(!1!1-2D2D!E01IIK!!+.DQ=>IIK


&& ))C
 Q01Jr   c
                     [         R                  " U[        U XVUX#UU	45       n
U
R                  [        U5      nUR                  5       sS S S 5        $ ! , (       d  f       g = fr   )multiprocessingPoolr   	map_asyncr-   get)r   pagesr   r   r   r   r   r   concurrencyr   poolresults               r   _multiprocessingr7   G   s[     
		]]		
 
E2zz|	
 	
 	
s   &A
A!c
                 	  ^ ^^^^^^^	^^^ SmUc  [         R                  " 5       n[         R                  " 5       m[         R                  " 5       mUUUUUUU UUU	U4S jn
S n[        5       n T	(       a  [        R                  " 5       n[        U5       H  n[        R                  " 5       nUS:X  aU    U
" 5          T(       a.  [        R                  " S[        R                  " 5       < S35        [        R                  " S5        UR                  U5        M     T	(       a  [        WS5        T	(       a  [        R                  " 5       nT(       a  [        R                  " S5        [        [        U5      5       H  nTR!                  U5        M     T	(       a  [        WS5        S /[        U5      -  n[        [        U5      5       Hq  nTR#                  5       u  nnT(       a'  [        R                  " S	U< S
[        U5      < 35        UU   b   e[%        U[        5      (       a  U(       d  Un  O	UUU'   Ms     [        U5       H  nTR!                  S 5        M     T(       a  [        R                  " S5        TR'                  5         U(       a  UeT(       a#  [        R                  " S[        U5      < 35        UT	(       a  [        R                  " 5       nU Hc  nT(       a  [        R                  " SU< S35        [        R(                  " US5      nT(       d  ME  [        R                  " SU< SU< 35        Me     T	(       a  [        WS5        $ $ ! [         a7  n[        R                  " S[        R                  " 5       < SU< 35        e S nAff = f! T(       a.  [        R                  " S[        R                  " 5       < S35        [        R                  " S5        f = f! T	(       a  [        R                  " 5       nU Hc  nT(       a  [        R                  " SU< S35        [        R(                  " US5      nT(       d  ME  [        R                  " SU< SU< 35        Me     T	(       a  [        WS5        f f = f)Nr   c            
        > S n T(       a5  [         R                  " S[        R                  " 5       < ST< ST< 35        [	        TTTTT	T
TT5         T(       a.  [         R                  " S[        R                  " 5       < S35        TR                  5       nT(       a2  [         R                  " S[        R                  " 5       < SU< S35        Uc  g  U (       dE  T(       a  [        R                  " 5       n[         R                  " T5      n T(       a  [        WS5        T(       a  [        R                  " 5       nX   nT(       a  [        WS5        T(       a5  [         R                  " S[        R                  " 5       < S	[        < 35        T(       a  [        R                  " 5       nT	" U/[        R                  Q70 [        R                  D6nT(       a  [        WS
U< S35        T(       a5  [         R                  " S[        R                  " 5       < SU< SU< 35        TR                  X45        GM  ! [         aD  nT(       a1  [         R                  " S[        R                  " 5       < SU< 35        Un S nANS nAff = f)Nr   z	: initfn=z initfn_args=z: calling get().z: page_num=r   zpymupdf.Document(path)zdocument[page_num]z: _worker_state=	page_num=z	 pagefn()z: exception e=z: sending page_num=z ret=)r!   r"   r#   r$   r   r2   r    r)   r'   r   r   r   	Exceptionput)r   page_numr%   r+   r,   er   r   r   r   r   r   r   
queue_downqueue_upr   verboses         r   childfn_fork.<locals>.childfn{   s   KK<299;.
6)>[NCD		 |ryy{n,<=>!~~'H|ryy{nLxk;< IIK&//5H$Q(@A		A) $89KK<299;.0A=2B CD		A&22 (55
  yxk$;< |ryy{n,@xk3&IJLL8/+Q D  GKK<299;.QD(IJs   DH> >
J:JJr   z: childfn() => e=z: calling os._exit(0)zcreate child processeszSending page numbers.zSend page numbersr:   z len(text)=zClosing queues.z%After concurrent, returning len(ret)=zwaiting for pid=r   zpid=z => e=zJoin all child proceses)r/   	cpu_countQueuelistr    ranger#   forkr;   r!   r"   r$   _exitappendr'   lenr<   r2   
isinstanceclosewaitpid)r   r3   r   r   r   r   r   r   r4   r   rB   errorpidsr%   ipr>   r=   r,   textpidr?   r@   rA   s   ` `````` `           @@@r   _forkrU   b   sa    G%//1 !&&(J$$&H6, 6,p E6DG7		A{#A	AAv	 	
 |ryy{n4I$JKHHQKKKN $ 45 		AKK/1c%j)HNN8$ */0 fs5z!s5z"A%\\^NHdyxk3t9,78x=((($	** E CM # {#ANN4  $GKK/3KKK@s3xkBC 		AC/3&23

3"AwtsfG-.  56 w % |ryy{n4FA4$HI |ryy{n4I$JKHHQKZ 		AC/3&23

3"AwtsfG-.  56 sF   -AO1 4M<HO1 
N'2NNN!!AO..O1 1A R7R)r/   r#   r    r!   r   r   r   r'   r-   r7   rU   r   r   r   <module>rV      s<     	  	 	.*:86[7r   