
    =pj6                        % S SK r S SKrS SKrS SKrS SKrS SKrS SKrS SKJr  S SK	J
r
JrJrJrJrJrJrJr  S SKJrJr  S SKrS SKrS SKrS SKJr  S SKJrJrJrJ r   SSK!J"r"J#r#  SS	K$J%r%J&r&  S
SK'J(r(J)r)  S
SK'J*r+  S
SK'J,r,  S
SK-J.r.  SSK/J0r0J1r1J2r2J3r3  \#" S5      (       a  S SK4r4\#" S5      (       a  S SK5r5\#" S5      (       a  S SK6r6\#" S5      (       a  S SK7r8\#" S5      (       a  S SK9r9/ SQr:\S   r;\\<S'   \(r=\>\<S'    " S S\?5      r@SS.S\R                  S\\>   SS4S  jjrB\&\%\=S!.S"\\C\C4   S\>S#\CS$\CS%\>S\C4S& jjr*S'\)S\@4S( jrD\" S)5      rE\" S*5      rFS\G4S+ jrHS,\GS\I4S- jrJS.\GS\\;   4S/ jrK\"" S5      S0\GS\\G   4S1 j5       rL\"" S5      S2\MS\R                  4S3 j5       rNS2\MS\R6                  4S4 jrOSYS\R6                  S5\GS\M4S6 jjrP\"" S5      SZS\R                  S7\GS\M4S8 jj5       rQS2\MS\R                  4S9 jrSS:\R                  S\M4S; jrTS2\MS\G4S< jrU\"" SS5       S[S=\MS>\\>   S\\\R                     \14   4S? jj5       rVS@rWS2\MS\I4SA jrX\"" S5       S[S=\MS>\\>   S\\\R                     \34   4SB jj5       rY\SCSD.SE\MSF\SG   S>\\>   S\\\R                     \04   4SH jj5       rZ\SCSD.SE\MSF\SI   S>\\>   S\\\R                     \14   4SJ jj5       rZ\SCSD.SE\MSF\SK   S>\\>   S\\\\R                     \04   \\\R                     \14   \\\R                     \34   4   4SL jj5       rZSSD.SE\MSF\SK   S>\\>   S\\\\R                     \04   \\\R                     \14   \\\R                     \34   4   4SM jjrZS\R                  S\04SN jr[SE\MSO\GS\G4SP jr\S0\GS\M4SQ jr]\"" SS5      S0\GSRSSS\M4ST j5       r^SU\\E\F4   SV\ER                  SW\ER                  S\
\F   4SX jrag)\    N)partial)	AwaitableCallableListOptionalTupleTypeVarUnionoverload)parse_qsurlparse)Image)Literal	ParamSpec	TypeAliasassert_never   )function_requires_depsis_dep_available)PDF_MIN_RENDER_SCALEPDF_RENDER_SCALE   )DEFAULT_MAX_IMAGE_PIXELSPDFRenderSizeError)'get_pdf_render_scale_within_pixel_limit)render_pdf_page_to_numpy)pdfium_lock   )	ImageInfoPDFInfoPDFPageInfoTIFFInfoaiohttpzopencv-contrib-pythonfiletype	pypdfium2yarl)FileTypeMAX_IMAGE_PIXELSImageTooLargeErrorr   generate_log_idis_urlinfer_file_typeinfer_file_extimage_bytes_to_arrayimage_bytes_to_imageimage_to_bytesimage_array_to_bytescsv_bytes_to_data_framedata_frame_to_bytesbase64_encoderead_pdf	read_tiffis_tiff_bytesfile_to_imagesget_image_infowrite_to_temp_fileget_raw_bytesget_raw_bytes_async
call_async)IMAGEPDFVIDEOAUDIOr'   r(   c                   t   ^  \ rS rSrSrSSS\SS.S\S\\   S\\   S\\   S	\S
\\   SS4U 4S jjjr	Sr
U =r$ )r)   U   zDRaised when decoded image height * width exceeds `MAX_IMAGE_PIXELS`.Nwidthheightpixel_count
max_pixels
page_indexmessagerE   rF   rG   rH   rI   returnc                `   > [         TU ]  U5        X l        X0l        X@l        XPl        X`l        g N)super__init__rE   rF   rG   rH   rI   )selfrJ   rE   rF   rG   rH   rI   	__class__s          a/var/www/html/pdf-tiff/venv/lib/python3.13/site-packages/paddlex/inference/serving/infra/utils.pyrO   ImageTooLargeError.__init__X   s,     	!
&$$    )rF   rH   rI   rG   rE   )__name__
__module____qualname____firstlineno____doc__r(   strr   intrO   __static_attributes____classcell__)rQ   s   @rR   r)   r)   U   su    N  $ $%)*$(%% }	%
 % c]% % SM% 
% %rT   r)   rI   imagerI   rK   c          	          U R                   S:  a  g [        U R                  S   5      [        U R                  S   5      p2X#-  nU[        :  a0  SU SU SU S[         S3	nUb  S	U S
U 3n[	        UUUU[        US9eg )N   r   r   zImage pixel count z (width=z	, height=z) exceeds maximum allowed .zPage z: rD   )ndimr[   shaper(   r)   )r_   rI   hwpixelsmsgs         rR   ensure_image_pixel_limitri   j   s     zzA~u{{1~EKKN 3qUF   9QC @/03 	 !*Ru-C '!
 	
 !rT   )requested_scale	min_scalerH   	page_sizerj   rk   rH   c                Z     [        U UUUUS9$ ! [         a  n[        U5      UeS nAff = f)N)rI   rj   rk   rH   )(_get_pdf_render_scale_within_pixel_limitr   /_pdf_render_size_error_to_image_too_large_error)rl   rI   rj   rk   rH   excs         rR   r   r      sE    	L7!+!
 	
  L=cBKLs    
*%*rp   c           	          [        [        U 5      U R                  U R                  U R                  U R
                  U R                  S9$ )NrD   )r)   rZ   rE   rF   rG   rH   rI   )rp   s    rR   ro   ro      s;     CiizzOO>>>> rT   PRc                  >    [        [        R                  " 5       5      $ rM   )rZ   uuiduuid4 rT   rR   r*   r*      s    tzz|rT   sc                     U R                  S5      (       d  U R                  S5      (       d  g[        U 5      n[        UR                  UR                  /5      =(       a    UR                  S;   $ )Nzhttp://zhttps://F)httphttps)
startswithr   allschemenetloc)rx   results     rR   r+   r+      sR    LL##q||J'?'?a[Fv}}-.U6==DU3UUrT   urlc                    [        U 5      nUR                  R                  S5      S   n[        R                  " U5      S   nUc  [
        R                  " SUR                  5      S LnU(       a  UR                  (       ay  [        UR                  5      nSU;   a^  [        US   5      S:X  aL  [
        R                  " SUS   S   5      nU(       a(  [        R                  " UR                  S5      5      S   nUc  g UR                  S5      (       a  g	US
:X  a  gUR                  S5      (       a  gUR                  S5      (       a  gg )N/r   z\w+\.bcebos\.comresponseContentDispositionr   zattachment;filename=(.*)zimage/r>   zapplication/pdfr?   zvideo/r@   zaudio/rA   )r   pathsplit	mimetypes
guess_typere	fullmatchr   queryr   lenmatchgroupr|   )r   	url_partsfilename	file_type
is_bos_urlparamsmatch_s          rR   r,   r,      s%   I~~##C(,H$$X.q1I \\"5y7G7GHPTT
)//ioo.F,6;<=B/8T1UVW1X  ) 4 4V\\!_ Ea HIH%%	'	'			h	'	'			h	'	'rT   filec                 8   [        U 5      (       a\  [        U 5      nUR                  R                  S5      S   n[        R
                  " U5      S   nUc  g [        R                  " U5      $ [        R                  " U 5      nS[        R                  " U5      -   $ )Nr   r   r   rb   )
r+   r   r   r   r   r   guess_extensionbase64	b64decoder$   )r   r   r   	mime_typebytes_s        rR   r-   r-      s    d||TN	>>'',R0((215	((33!!$'X--f555rT   datac                     [         R                  " [        R                  " U [        R                  5      [         R
                  5      nUc  [        S5      e[        U5        U$ )NzFailed to decode image bytes)cv2imdecodenp
frombufferuint8IMREAD_COLOR
ValueErrorri   )r   arrs     rR   r.   r.      sE    
,,r}}T2884c6F6F
GC
{788S!JrT   c                 V    [         R                  " [        R                  " U 5      5      $ rM   )r   openioBytesIOr   s    rR   r/   r/      s    ::bjj&''rT   formatc                     [         R                  " 5        nU R                  X!S9  UR                  5       nS S S 5        U$ ! , (       d  f       W$ = f)N)r   )r   r   savegetvalue)r_   r   f	img_bytess       rR   r0   r0      sC    	

1
$JJL	 
  
 s    A  
Aextc                 T    [         R                  " X5      S   n U R                  5       $ )Nr   )r   imencodetobytes)r_   r   s     rR   r1   r1      s!    LL$Q'E==?rT   c                     [         R                  " U R                  S5      5       n[        R                  " U5      nS S S 5        U$ ! , (       d  f       W$ = fNzutf-8)r   StringIOdecodepdread_csv)r   r   dfs      rR   r2   r2     s>    	T[[)	*a[[^ 
+I 
+	*Is   A
Ar   c                 @    U R                  5       R                  S5      $ r   )to_csvencode)r   s    rR   r3   r3     s    99;g&&rT   c                 L    [         R                  " U 5      R                  S5      $ )Nascii)r   	b64encoder   r   s    rR   r4   r4     s    D!((11rT   r   max_num_imgsc                    / n/ n[            [        R                  " U 5      nUR                  5          SnU H  n Ub"  [	        U5      U:  a   UR                  5           OUS-  n [        UU[        S[        [        S9n[        XuS9  UR                  U5        [        UR                  S   UR                  S   S9n	UR                  U	5        UR                  5         M     UR                  5          S S S 5        [!        [	        U5      US9n
X*4$ ! [         a  n[        U5      UeS nAff = f! UR                  5         f = f! UR                  5         f = f! , (       d  f       Nl= f)Nr   r   )rI   rj   rotationrk   rH   r^   rE   rF   numPagespages)r   pdfiumPdfDocument
init_formsr   closer   r   r   r(   r   ro   ri   appendr!   rd   r    )r   r   imagespage_info_listdocpage_numberpager_   rp   	page_infopdf_infos              rR   r5   r5     sW     "F(*N	  (	K!#/CK<4O. JJL-  1$K# 8 '2,<%&&:'7! -UKMM%( +#kk!n${{1~!I #)))4JJL5 8 IIKC 
D ^$H ' . #M"## JJLIIKC 
sj   'EED0E D0&D AD0E#E
D-D((D--D00EEEE
E()s   II* s   MM *c                 D    [        U 5      S:  =(       a    U S S [        ;   $ )Nr   )r   _TIFF_MAGICr   s    rR   r7   r7   F  s     t9>5d2Ah+55rT   c           	         / n/ n[         R                  " [        R                  " U 5      5       n[	        USS5      n[        SUS-   5       H  nUb  [        U5      U:  a    OUR                  US-
  5        UR                  S5      n[        R                  " [        R                  " U5      [        R                  5      n[        XS9  UR                  U5        UR                  [!        UR"                  S   UR"                  S   S95        M     S S S 5        [%        [        U5      US9n	X)4$ ! , (       d  f       N$= f)Nn_framesr   RGBr^   r   r   r   )r   r   r   r   getattrranger   seekconvertr   cvtColorr   arrayCOLOR_RGB2BGRri   r   r!   rd   r"   )
r   r   r   r   imgr   r   framer_   	tiff_infos
             rR   r6   r6   J  s     "F(*N	BJJv&	'33
A. HqL1K'CK<,GHH[1_%KK&ELL%#2C2CDE$UCMM% !!++a. ;;q> 2 
(  ^$I ) 
(	's   C#D00
D>.r   
file_bytesr   r>   c                    g rM   rw   r   r   r   s      rR   r8   r8   g  s     *-rT   r?   c                    g rM   rw   r   s      rR   r8   r8   p  s     (+rT   )r>   r?   c                    g rM   rw   r   s      rR   r8   r8   y  s     rT   c                   US:X  a  [        U 5      (       ak  [        R                  " [        R                  " U 5      5       n[        USS5      S:  a  [        XS9u  pEO[        U 5      /n[        US   5      nS S S 5        O[        U 5      /n[        US   5      nWW4$ US:X  a  [        XS9u  pEXE4$ [        U5        WW4$ ! , (       d  f       N5= f)Nr>   r   r   r   r   r?   )r7   r   r   r   r   r   r6   r.   r9   r5   r   )r   r   r   r   r   	data_infos         rR   r8   r8     s     G$$BJJz23s3
A.2(1*(X%FI2:>?F .vay 9I 43 +:67F&vay1I
 9	 
e	$ZK  	Y9 43s   8C
Cc                 J    [        U R                  S   U R                  S   S9$ )Nr   r   r   )r   rd   )r_   s    rR   r9   r9     s    5;;q>%++a.AArT   suffixc                     [         R                  " SUSS9 nUR                  U 5        UR                  sS S S 5        $ ! , (       d  f       g = f)NwbF)r   delete)tempfileNamedTemporaryFilewritename)r   r   r   s      rR   r:   r:     s6    		$	$T&	G1	
vv 
H	G	Gs	   >
Ac                     [        U 5      (       a1  [        R                  " U SS9nUR                  5         UR                  $ [
        R                  " U 5      $ )N   )timeout)r+   requestsgetraise_for_statuscontentr   r   )r   resps     rR   r;   r;     sB    d||||D"-||%%rT   sessionzaiohttp.ClientSessionc                 B  #    [        U 5      (       aV  UR                  [        R                  " U SS95       IS h  vN nUR	                  5       I S h  vN sS S S 5      IS h  vN   $ [
        R                  " U 5      $  NC N- N! , IS h  vN  (       d  f       g = f7f)NT)encoded)r+   r   r&   URLreadr   r   )r   r   r   s      rR   r<   r<     sj     d||;;txxd;<<$ =<< %% =$ =<<<sV   9BA?BBBBB#B$BBBBBBBfuncargskwargsc                f    [         R                  " 5       R                  S [        U /UQ70 UD65      $ rM   )asyncioget_running_looprun_in_executorr   )r  r  r  s      rR   r=   r=     s4     ##%55gd,T,V, rT   )JPEG)z.jpgrM   )br  r   r   r   r   r   ru   	functoolsr   typingr   r   r   r   r   r	   r
   r   urllib.parser   r   numpyr   pandasr   r   PILr   typing_extensionsr   r   r   r   
utils.depsr   r   utils.flagsr   r   utils.pdf_renderingr   r   r   rn   r   utils.pdfium_lockr   modelsr   r    r!   r"   r#   r   r$   r%   r   r&   __all__r'   __annotations__r(   r[   	Exceptionr)   ndarrayri   floatro   rr   rs   rZ   r*   boolr+   r,   r-   bytesr.   r/   r0   r1   	DataFramer2   r3   r4   r5   r   r7   r6   r8   r9   r:   r;   r<   r  r  r=   rw   rT   rR   <module>r     s     	  	    W W W +     I I C B O < , = =I+,,JK  F6 >?) ?0 # 0% %, 7;
::
&.sm
	
8 .+&LUE\"L L 	L
 L L L(
	

 cNCL Vc Vd V! !(!3 !H 
#
6 
6# 
6 $
6 /0u   1(u ( (%++ s   /0

  %  1
% BLL 'BLL 'U '2 2# 2 %<=15++!)#+
4

W$%+ >+\ -6 6$ 6 /015!)#
4

X%& 18 

 #&	--w- 3-	-
 4

Y&'- 
- 

 #&	++u~+ 3-	+
 4

W$%+ 
+ 

 #&			~&	 3-		
 	$rzz
I
%&	$rzz
G
#$	$rzz
H
$%'	 
	  #'	~& 3-	
 	$rzz
I
%&	$rzz
G
#$	$rzz
H
$%'8B"** B B5 # # & & & 	6*&C &2I &e & +&
1a4.$%FF67hhq\rT   