
    9i6                         S SK r S SKrS SKrS SKrS SKJr  / SQrSrSrSr	Sr
S rSrS	rS
rSrSrSrSrSSS	SSSSS	SSSSS.rS rS rS rS rg)    N)ElementTree)getgetDPI__version__z1.4.1                     )r
   r   r   r   r   r      r   	   
         c                    U[         :X  a  [        U S-  S-   5      $ U[        :X  a  [        U S-  S-   5      $ U[        :X  a  [        U S-  S-   5      $ U[        :X  a  [        U S-  S-   5      $ U[
        :X  a  [        U S-  S-   5      $ U[        :X  a  [        U S-  S-   5      $ U[        :X  a  [        U S-  S-   5      $ U[        :X  a  U S	-  $ U[        :X  a  U S
-  $ U[        :X  a  U S-  $ U $ )Ng5B>g      ?gti0?gd?g
F%u?gK7A?RQ@gffffff9@   i	  i8c  )_UNIT_KMint
_UNIT_100M	_UNIT_10M_UNIT_1M
_UNIT_10CM_UNIT_CM_UNIT_MM_UNIT_0_1MM_UNIT_0_01MM_UNIT_UM)densityunits     I/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/imagesize.py_convertToDPIr'   *   s   x7Y&,--		7X%+,,		7W$s*++		7V#c)**		7U?S())		7T>C'((		7T>C'((		}		~		N    c                    [         R                  " SU 5      nU(       d  [        SU -  5      eUR                  5       u  p#US:X  a  [	        U5      $ US:X  a  [	        U5      S-  S-  $ US:X  a  [	        U5      S-  S-  S-  $ US	:X  a  [	        U5      S-  $ US
:X  a  [	        U5      S-  S-  $ US:X  a  [	        U5      S-  S-  $ US:X  a  [	        U5      $ [        SU-  5      e)Nz(\d+(?:\.\d+)?)?([a-z]*)$zunknown length value: %s cm`   r   mmr   inpcr   ptpxzunknown unit type: %s)rematch
ValueErrorgroupsfloat)valuematchedlengthr%   s       r&   _convertToPxr:   B   s    hh3U;G3e;<<>>#LFrzV}	V}r!D((	V}r!D(2--	V}r!!	V}r!A%%	V}r!A%%	V}
,t3
44r(   c                 L   SnSn[        U [        R                  5      (       a  U nO[        U S5      n UR	                  S5      n[        U5      nUS:  a(  USS S;   a   [        R                  " SUSS 5      u  p!GO2US
:  a>  UR                  S5      (       a(  USS S:X  a   [        R                  " SUSS
 5      u  p!GOUS:  a5  UR                  S5      (       a   [        R                  " SUSS 5      u  p!GOUS:  Ga$  UR                  S5      (       Ga   UR                  S5        SnSnSUs=::  a  S::  a	  O  OUS;   a  UR                  US5        UR	                  S5      n[        U5      S:X  a"  UR	                  S5      n[        U5      S:X  a  M"  [        U5      n[        R                  " SUR	                  S5      5      S   S-
  nSUs=::  a  S::  d  M  O  NUS;   a  M  UR                  SS5        [        R                  " SUR	                  S5      5      u  pGOUS:  aR  UR                  S5      (       a<  UR                  S5         [        R                  " SUR	                  S5      5      u  pGO0US:  Ga0  UR                  S!5      (       Ga  [        R                  " S"USS 5      S   nUR                  U5        [        R                  " SUR	                  S5      5      S   n	[        U	5       H  n
[        R                  " S#UR	                  S5      5      u  ppUS$:X  a)  US%:X  a  [        US&-  5      nOCUS:X  a  UnO:[        S'5      eUS(:X  a)  US%:X  a  [        US&-  5      nOUS:X  a  UnO[        S)5      eUS:w  d  M  US:w  d  M    O   US:X  d  US:X  a  [        S*5      eGOUS:  a  UR                  S+5      (       a  [        R                  " S,USS 5      S   nUR                  U5        [        R                  " S-UR	                  S5      5      S   n	[        U	5       HM  n
[        R                  " S.UR	                  S5      5      u  ppUS$:X  a  UnOUS(:X  a  UnUS:w  d  ME  US:w  d  MM    O   US:X  d  US:X  a  [        S*5      eGOUS:  Ga   UR                  S/5      (       Ga	  [        R                  " S,USS 5      S   nUS:w  a  [        S0R!                  W5      5      e[        R                  " S1USS 5      S   nUR                  U5        [        R                  " S1UR	                  S5      5      S   n	[        U	5       HM  n
[        R                  " S2UR	                  S35      5      u  ppUS$:X  a  UnOUS(:X  a  UnUS:w  d  ME  US:w  d  MM    O   US:X  d  US:X  a  [        S45      eGOUS5:  a  UR                  S65      (       d  UR                  S75      (       a  UR                  S5        UR	                  S85      n UR#                  S95      n[$        R&                  " S:U5      R)                  S5      n[$        R&                  " S;U5      R)                  S5      n[-        U5      n[-        U5      nGO USS S=:X  Ga6  USS S>;   Ga,  UR                  S5        / n UR	                  S5      nUR/                  5       (       a  M)  US?:X  a  [        S@5      eUSA:X  a  UR1                  5         MR  UR3                  5       (       d  [        SB5      eUnUR	                  S5      nUR3                  5       (       a-  UU-  nUR	                  S5      nUR3                  5       (       a  M-  UR5                  [        U5      5        [        U5      S:X  a  O#UR                  S[6        R8                  5        GM  Uu  p!OUR                  SC5      (       a  USS SD:X  a  USS SE:X  a  [        R                  " SFUSGSH 5      u  p!OUSS SI:X  aA  [        R                  " SJUS
SK SL-   5      S   n[        R                  " SJUSKSH SL-   5      S   nOQUSS SM:X  a=  USNSO nUS   SP-  S-  US   -  S-   nUS%   SQ-  S-  US   S-  -  US   S-  S-	  -  S-   nO[        SR5      eUR;                  5         X!4$ ! [        R                   a    [        S	5      ef = f! [        R                   a    [        S5      ef = f! [        R                   a    [        S5      ef = f! [        R                  [        4 a    [        S5      ef = f! [        R                   a    [        S 5      ef = f! [*         a    [        S<5      ef = f! UR;                  5         f = f)Sz
Return (width, height) for a given img file content
no requirements
:type filepath: Union[bytes, str, pathlib.Path]
:rtype Tuple[int, int]
r	   rb   r   Nr   s   GIF87as   GIF89az<hhzInvalid GIF file      PNG

r      s   IHDRz>LLInvalid PNG filer   r      r         )         r
      >Hz>HHr   Invalid JPEG file      jP  

0   Invalid JPEG2000 files   MM *>Lz>HHLL   r   i   z?Invalid TIFF file: width column data type should be SHORT/LONG.i  z@Invalid TIFF file: height column data type should be SHORT/LONG.z?Invalid TIFF file: width and/or height IDS entries are missing.s   II* z<Lz<Hz<HHLLs   II+ z@Invalid BigTIFF file: Expected offset to be 8, found {} instead.z<Qz<HHQQ   zBInvalid BigTIFF file: width and/or height IDS entries are missing.r   s   <?xmls   <svgi   zutf-8z[^-]width="(.*?)"z[^-]height="(.*?)"zInvalid SVG file   Ps   123456r(   zInvalid Netpbm file   #z&Invalid character found on Netpbm files   RIFFs   WEBPs   VP8 z<HH      s   VP8Xz<I       s   VP8L      ?      zUnsupported WebP file)
isinstanceioBytesIOopenreadlenstructunpackerrorr4   
startswithseekord	TypeErrorranger   formatdecoder2   searchgroup	Exceptionr:   isspacereadlineisdigitappendosSEEK_CURclose)filepathheightwidthfhandleheadsizeftypebyteoffsetifdsizeitagdatatypecountdatabytesize_offsetsizesnext_chrbs                      r&   r   r   Z   s    FE(BJJ''x&h||B4y2:$r(&<<5 &eT!BZ @v RZDOO,@AAd2bkU\F\5 &eT"R[ Av RZDOO,@AA5 &eT!BZ @v QY4??;776Q%/4/5<N3NLLq)"<<?Dd)t+&||A d)t+IE!==w||A?BQFD %/4//5<N3N Q" &eW\\!_ E RZDOO,MNNLL: &eW\\!_ E QY4??+>??]]4a3A6FLL mmD',,q/:1=G7^-3]]7GLLQSDT-U*u#:1} #D5L 1!Q $()jkkCZ1}!$TE\!2!Q!%()kllB;6R<# $$ {fl !bcc +QY4??+>??]]4a3A6FLL mmD',,q/:1=G7^-3]]7GLLQSDT-U*u#: ECZ!FB;6R< $ {fl !bcc + QY4??+>??$mmD$q)<Q?O!# !c!j!jkq!rss]]4a4Q7FLL mmD',,q/:1=G7^-3]]7GLLQSDT-U*u#: ECZ!FB;6R< $ {fl !eff + QYDOOH559Q9QLLO<<%D5{{7+		"6=CCAF#8$?EEaH !'E!&)F "1X$q)y"8LLOE"<<?##%%s?$%:;;t#$$&''))$%MNN"<<?&&((H$D&||AH &&(( SY'u:?R-9 : "ME6__W%%$q**?Br{g% &eT"R[ Avb'dDBK%,?@CtT"R[5-@A!Db'BKQ4"9*ad2a7aD2I",1;!s
q?PQUVV !899 	=E << 5 !3445 << 5 !3445 << 5 !3445$ LL), 6 !4556 << : !899:H  5 !3445l 	s   +f  c <'f $c&  f d	 ; f A=d, Ad, !	d, ,:d, &/f (e >Df f Cf :f Df !f )A1f Ae8 8Df >D2f  c##f & df 	 d))f ,&ef  e55f 8ff f#c                 t	   SnSn[        U [        5      (       d  [        U 5      n [        U S5       nUR	                  S5      n[        U5      nUS:  a  USS S;   a  GOUS:  a  UR                  S5      (       a  S	nUS	S n USS	 nUS:X  aL   [        R                  " SUS	S 5      u  pnU(       a!  [        U	[        5      n[        U
[        5      nOU	nU
nGO2US:X  a  GO* [        R                  " SUSS 5      u  nXlS-   -  nUR                  U5        UR	                  S5      nM  US:  GaY  UR                  S5      (       GaB   UR                  S5        SnSnSUs=::  a  S::  Gd  O  US:X  at  UR                  SS5        [        R                  " SUR	                  S5      5      u  pn
US:X  d  US:X  a  U	nU
nO&US:X  a   [        U	[        5      n[        U
[        5      nGO$UR                  US5        UR	                  S5      n[        U5      S:X  a"  UR	                  S5      n[        U5      S:X  a  M"  [        U5      n[        R                  " SUR	                  S5      5      S   S-
  nSUs=::  a
  S::  d  GM  GO  GNGOUS:  Ga{  UR                  S 5      (       Gad  UR                  S!5        [        R                  " SUR	                  S5      5      S   S	-
  nUR                  SS5        S"n US:  ab  UR	                  S	5      nUSS nUS#:X  a  S
nUS	-  nO>[        R                  " SUSS 5      u  nUR                  US	-
  S5        UU-  nUS:  a  Mb  U(       a  US:  a  UR	                  S	5      nUSS nUS$:X  aC  [        R                  " S%UR	                  S5      5      u  pnn[        U	U5      n[        U
U5      nO>[        R                  " SUSS 5      u  nUR                  US	-
  S5        UU-  nUS:  a  M  SSS5        X4$ ! [        R                   a    [        S5      ef = f! [        R                   a    [        S5      ef = f! [        R                   a    [        S5      ef = f! [        R                   a  n[        S&5      eSnAff = f! , (       d  f       X4$ = f)'z
Return (x DPI, y DPI) for a given img file content
no requirements
:type filepath: Union[bytes, str, pathlib.Path]
:rtype Tuple[int, int]
r	   r<   r?   r   Nr   r>   r@   r   Tr   s   pHYsz>LLBrB   s   IDATrO   r   r      r   rC   rD   rE      r   r
   z>BHHr   rI   rJ   rK   rL       Fs   res s   resdz>HHBBrN   )r\   bytesstrr_   r`   ra   re   rb   rc   rd   r4   r'   r   rf   r   rg   )rv   xDPIyDPIry   rz   r{   chunkOffsetchunk	chunkTypexDensityyDensityr%   dataSizer|   r}   
headerSizefoundResBox	boxHeaderboxTypeboxSizeyUnitxUnites                          r&   r   r     s    DDh&&x=	h	||B4y 2:$r(&<<RZDOO,@AAKHE!!AJ	'=39==qr3S0D ,Xx@,Xx@''')=$*MM$a
$C	  b=0KLL-#LL,E/ 2 QY4??;776Q%/4/}Q*39==VW3Y019	#+D#+D!QY#08#DD#08#DDLLq)"<<?Dd)t+&||A d)t+IE!==w||A?BQFD! %/4//( RZDOO,MNNLLtW\\!_=a@1DJLLAK: 1n 'QI'mG')&*"a
%}}T9Ra=AHGLL1a0')J !1n $q.$+LLO	"+AB-"g-?E}}WV]VbVbceVf?g<Hu#05#AD#05#AD!#)==y!}#EWq[!4"g-
 %q._ 
x :Y "<< =();<<= "<< =();<<=8 << 6 !4556@ << : !899:u 
	x :s   AR'P,6R'#P:?A	R'	BQ&R'(AQ<AQR'QA1R':A&R "A+R R'<R  P77R': QR' Q==R' R$RR$$R''
R7)r]   rs   r2   rb   	xml.etreer   __all__r   r   r   r   r   r   r   r    r!   r"   r#   
_UNIT_INCH_TIFF_TYPE_SIZESr'   r:   r   r    r(   r&   <module>r      s    	 	 	  ! +  
	

   050yxir(   