ó
    EñiQO ã                  óè  • S SK J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rS SK	J
r
Jr  S SKJr  S SKJrJr  S SKJrJrJr  SSKJrJrJrJrJrJr  SS	KJr  SS
KJr   SSKJ!r!  SSK"J#r#J$r$  SSKJ%r%  Sr&\&(       a  S SK	J'r'  S SKJ(r(  SSK)J*r*J+r+J,r,  \RZ                  " \.5      r/Sr0Sr1Sr2Sr3Sr4Sr5Sr6Sr7Sr8Sr9Sr:Sr;Sr<Sr=Sr>Sr?S r@S!rAS"rBS#rCS$rDS%rES&rFS'rGS(rHS)rIS*rJS+rKS,rLS-rMS.rNS/rOS0rPS1rQS2rRS3rSS4rTS5rUS6rVS7rWS8rXS9rYS:rZS;r[S<r\S=r]0 SS>_S?S@_SASB_SCSD_SESF_SGSH_SISJ_SKSL_SMSN_SOSP_SQSR_SSST_SUSV_SWSX_SYSZ_S[S\_S]S^_r^\^R¿                  5        V Vs0 s H  u  pX_M	     snn r`0 \3S S_SS_S`4Sa_\4S S_SS_S`4Sa_\3S S_S?S_S`4Sb_\4S S_S?S_S`4Sb_\3SS_SS_S`4Sc_\4SS_SS_S`4Sc_\3SS_S?S_S`4Sd_\4SS_S?S_S`4Sd_\3S S_SSeS`4Sf_\4S S_SSeS`4Sf_\3S S_S?SeS`4Sg_\4S S_S?SeS`4Sg_\3SS_SSeS`4Sh_\4SS_SSeS`4Sh_\3SS_S?SeS`4Si_\4SS_S?SeS`4Si_\3S S_SSjS`4Sk_0 \4S S_SSjS`4Sk_\3S S_S?SjS`4Sl_\4S S_S?SjS`4Sl_\3SS_SSjS`4Sm_\4SS_SSjS`4Sm_\3SS_S?SjS`4Sn_\4SS_S?SjS`4Sn_\3S S_SSoS`4Sp_\4S S_SSoS`4Sp_\3S S_S?SoS`4Sq_\4S S_S?SoS`4Sq_\3SS_SSoS`4Sr_\4SS_SSoS`4Sr_\3SSeSSoS`4Sr_\4SSeSSoS`4Sr_\3SS_S?SoS`4Ss_\4SS_S?SoS`4Ss_E0 \3SS_SStS`4Su_\3S S_SSvS`4Sw_\3SS_SSvS`4Sw_\4SS_SSvS`4Sx_\3SS_S?SvS`4Sy_\3SSeSSvS`4Sz_\4SSeSSvS`4S{_\3S S|SS}S`4S~_\4S S|SS}S`4S_\3SS_SS}S`4S€_\3SSeSS}S`4S�_\4SSeSS}S`4S‚_\3SS|SS}S`4S~_\4SS|SS}S`4S_\3SS_SSƒSe4S„_\4SS_SSƒSe4S„_\3S?S_SS…S`4S†_E0 \4S?S_SS…S`4S†_\3S?S_S?S…S`4S‡_\4S?S_S?S…S`4S‡_\3S?S_SSˆS`4S‰_\4S?S_SSˆS`4S‰_\3S?S_SSˆSŠ4S‹_\4S?S_SSˆSŠ4S‹_\3S?S_SSŒS�4SŽ_\4S?S_SSŒS�4SŽ_\3S?S_SS�S�4S‘_\4S?S_SS�S�4S‘_\3S?S_SSˆS_4S’_\4S?S_SSˆS_4S’_\3S?S_SSŒS“4S”_\4S?S_SSŒS“4S”_\3S?S_SS�S•4S–_\4S?S_SS�S•4S–_E0 \3S?S_SSˆSe4S‰_\4S?S_SSˆSe4S‰_\3S?S_SSŒS—4S˜_\4S?S_SSŒS—4S˜_\3S?S_SS�S™4Sš_\4S?S_SS�S™4Sš_\3S?S_SSˆS›4S‰_\4S?S_SSˆS›4S‰_\3S?S_SSœS`4S�_\4S?S_SSœS`4Sž_\3S?S_SSŸS`4S _\4S?S_SSŸS`4S¡_\3S?S_SSŸSŠ4S¢_\4S?S_SSŸSŠ4S£_\3S?S_SSŸS_4S¤_\4S?S_SSŸS_4S¥_\3S?S_SSŸSe4S _E0 \4S?S_SSŸSe4S¡_\3SAS_SS_S`4S¦_\4SAS_SS_S`4S¦_\3SAS_S?S_S`4S§_\4SAS_S?S_S`4S§_\3SAS_SSeS`4S¨_\4SAS_SSeS`4S¨_\3SAS_S?SeS`4S©_\4SAS_S?SeS`4S©_\3SAS_SSjS`4Sª_\4SAS_SSjS`4Sª_\3SAS_S?SjS`4S«_\4SAS_S?SjS`4S«_\3SAS_SSoS`4S¬_\4SAS_SSoS`4S¬_\3SAS_SSƒSŠ4S­_\4SAS_SSƒSŠ4S­_E0 \3SAS_SSƒSe4S®_\4SAS_SSƒSe4S®_\3SAS_S?SoS`4S¯_\4SAS_S?SoS`4S¯_\3SES_SSˆS`4S°_\4SES_SSˆS`4S°_\3SES_SSŒSŠ4S±_\4SES_SSŒSŠ4S±_\3SES_SS�S�4S²_\4SES_SS�S�4S²_\3SES_SSŸS`4S³_\4SES_SSŸS`4S´_\3SGS_SSoS`4Sr_\4SGS_SSoS`4Sr_\3SGS_SS…S`4S‹_\4SGS_SS…S`4S‹_\3SKS_SS…S`4Sµ_E\4SKS_SS…S`4Sµ0Era\b" S¶ \a 5       5      rc/ S·QrdSäS¸ jre      SåS¹ jrf        SæS» jrg0 rh0 riSçS¼ jrj " S½ Sº\5      rk\
S¾\l\m/\4   rnSèS¿ jroSéSÀ jrpSêSÁ jrq\&(       a  \\r\4   rsO\rs " SÂ S¾\s5      rt\h\tlh        \i\tli        \%R¾                  " 5        H;  u  rurv\vRï                  SÃSÄ5      rv\x" \tSÅ\v 3\h\u   S   5        \x" \tSÆ\v 3\i\u   5        M=     ChCiCuCv " SÇ SÈ\t5      ry\yrz " SÉ SÊ\R0                  5      r{0 SËSË\3SSS_S4_SÌSÌ\3SSSoS4_SÍSÍ\3SSSƒS?4_SÎSÎ\3SASSoS4_SÏSÏ\3SASSƒS?4_SÐSÑ\3SS?S}S4_SÒSÒ\3SSSvS4_SÓSÓ\3SSSvS4_SÔSÕ\3SSAS}S4_SÖSÖ\3S?SS…S4_S×S×\3S?SSˆS 4_SØSØ\3S?SSˆS?4_SÙSÙ\3SESSˆS4_SÚSÚ\3SGSS…S4_SÛSÛ\3SKSS…S4_SÜSÜ\4SSSvS4_r|SëSÝ jr} " SÞ Sß\Rü                  5      rSëSà jr€\GR                  " \{GR                  \{\e5        \GR                  " \{GR                  \}5        \GR                  " \{GR                  \€5        \GR
                  " \{GR                  SáSâ/5        \GR                  " \{GR                  Sã5        gs  snn f )ìé    )ÚannotationsN)ÚCallableÚMutableMapping)ÚFraction)ÚNumberÚRational)ÚIOÚAnyÚcasté   )ÚExifTagsÚImageÚ	ImageFileÚImageOpsÚImagePaletteÚTiffTags)Úi16be)Úi32be)Úo8)ÚDeferredErrorÚis_path©ÚTYPESF)ÚIterator)ÚNoReturn)ÚBufferÚIntegralLikeÚStrOrBytesPathé   s   IIs   MMéÿ   é   i  i  i  i  i
  i  é  i  i  i  i  i  i  i(  i-  i1  i2  i;  i=  i@  iB  iC  éD  iE  iJ  iR  iS  i[  i  i  i˜‚  i»ƒ  iI†  is‡  ii‡  i¼  i  i–Æ  i—Æ  Úrawé   Ú
tiff_ccitté   Úgroup3é   Úgroup4é   Útiff_lzwé   Ú	tiff_jpegé   Újpegé   Útiff_adobe_deflatei€  Útiff_raw_16i€  Úpackbitsi)€  Útiff_thunderscani²€  Útiff_deflateit‡  Útiff_sgilogiu‡  Útiff_sgilog24imˆ  ÚlzmaiPÃ  ÚzstdiQÃ  Úwebp©r   © )Ú1z1;I)r>   z1;IR)r>   r>   )r>   z1;R)r%   )ÚLzL;2I)r?   zL;2IR)r?   zL;2)r?   zL;2R)r)   )r?   zL;4I)r?   zL;4IR)r?   zL;4)r?   zL;4R)r1   )r?   zL;I)r?   zL;IR)r?   r?   )r?   zL;R)é   )úI;16zI;12)é   )rA   rA   )úI;16BrC   )rA   zI;16R)ÚIzI;16S)rD   zI;16BS)r'   )é    )ÚFúF;32F)rF   zF;32BF)rD   zI;32N)rD   úI;32S)rD   zI;32BS)r1   r1   )ÚLArI   )r1   r1   r1   )ÚRGBrJ   )rJ   zRGB;R)r1   r1   r1   r1   )ÚRGBArK   ©r   )rJ   ÚRGBX)r1   r1   r1   r1   r1   ©r   r   )rJ   ÚRGBXX)r1   r1   r1   r1   r1   r1   )r   r   r   )rJ   ÚRGBXXX)rK   ÚRGBa)r   r   )rK   ÚRGBaX)r   r   r   )rK   ÚRGBaXX)r%   r   )rK   ÚRGBAX)r%   r   r   )rK   ÚRGBAXX)iç  )rB   rB   rB   )rJ   zRGB;16L)rJ   zRGB;16B)rB   rB   rB   rB   )rK   zRGBA;16L)rK   zRGBA;16B)rJ   zRGBX;16L)rJ   zRGBX;16B)rK   zRGBa;16L)rK   zRGBa;16B)ÚPzP;1)rV   zP;1R)rV   zP;2)rV   zP;2R)rV   zP;4)rV   zP;4R)rV   rV   )rV   ÚPX)ÚPArX   )rV   zP;R)ÚCMYKrY   )rY   ÚCMYKX)rY   ÚCMYKXX)rY   zCMYK;16L)rY   zCMYK;16B)ÚLABr\   c              #  ó>   #   • U  H  n[        US    5      v •  M     g7f)r)   N)Úlen)Ú.0Úkey_tps     ÚP/home/mande/repo/quber/.venv/lib/python3.13/site-packages/PIL/TiffImagePlugin.pyÚ	<genexpr>rb     s   é € ÐA²y¨Vœ#˜f Q™iŸ.˜.²yùs   ‚)s   MM *s   II* s   MM* s   II *s   MM +s   II+ c                ó>   • U R                  [        [        5      5      $ ©N)Ú
startswithÚtupleÚPREFIXES©Úprefixs    ra   Ú_acceptrj   "  s   € Ø×ÑœU¤8›_Ó-Ð-ó    c                óŒ   • [        U 5      S:„  n[        U(       a  SU -  OU 5      R                  U5      nU(       a  US S S2   $ U$ )Nr   éÿÿÿÿ)ÚabsÚIFDRationalÚlimit_rational)ÚvalÚmax_valÚinvÚn_ds       ra   Ú_limit_rationalru   &  sC   € ô ˆc‹(�Q‰,€CÜ
¦�a˜#’g¨#Ó
.×
=Ñ
=¸gÓ
F€CÞˆ3‰t�ˆt‰9Ð$ Ð$rk   ro   c                ó  • [        U 5      nUR                  UR                  4n[        S U 5       5      U:  a  [	        U [        U5      5      n[        S U 5       5      n[        U5      U:”  a  [	        US   US   -  U5      nU$ )Nc              3  ó8   #   • U  H  n[        U5      v •  M     g 7frd   ©Úfloat©r_   Úis     ra   rb   Ú)_limit_signed_rational.<locals>.<genexpr>4  s   é € Ð
!šS˜Œ5��8ˆ8šSùó   ‚c              3  ó8   #   • U  H  n[        U5      v •  M     g 7frd   rx   rz   s     ra   rb   r|   7  s   é € Ð,ª 1”e˜A—h�hªùr}   r   r   )r   Ú	numeratorÚdenominatorÚminru   rn   rf   Úmax)rq   rr   Úmin_valÚfracrt   Ú	n_d_floats         ra   Ú_limit_signed_rationalr†   .  s~   € ô �C‹=€DØ-1¯^©^¸T×=MÑ=MÐ-M€Cä
Ñ
!™SÓ
!Ó! GÓ+Ü˜c¤3 w£<Ó0ˆäÑ,©Ó,Ó,€IÜ
ˆ9ƒ~˜ÓÜ˜i¨™l¨Y°q©\Ñ9¸7ÓCˆà€Jrk   c                ó$   ^ •       SU 4S jjnU$ )Nc                ó6   >• [        U R                  T5      " U6 $ rd   )ÚgetattrÚ_val)ÚselfÚargsÚops     €ra   ÚdelegateÚ_delegate.<locals>.delegateF  s   ø€ ô �t—y‘y "Ô% tÐ,Ð,rk   )r‹   ro   rŒ   ztuple[float, ...]Úreturnzbool | float | Fractionr=   )r�   rŽ   s   ` ra   Ú	_delegater‘   E  s'   ø€ ð-Øð-Ø"3ð-à	 ÷-ð
 €Ork   c                  óp  • \ rS rSrSr Sr S*     S+S jjr\S,S j5       r\S-S j5       r	S.S jr
S/S jrS-S	 jrS0S
 jrS1S jrS2S jr \" S5      r\" S5      r\" S5      r\" S5      r\" S5      r\" S5      r\" S5      r\" S5      r\" S5      r\" S5      r\" S5      r\" S5      r\" S5      r\" S5      r\" S5      r\" S5      r \" S5      r!\" S5      r"\" S5      r#\" S 5      r$\" S!5      r%\" S"5      r&\" S#5      r'\" S$5      r(\" S%5      r)\" S&5      r*\+" \,S'5      (       a  \" S'5      r-S(r.g)S(r.g))3ro   iN  z´Implements a rational class where 0/0 is a legal value to match
the in the wild use of exif rationals.

e.g., DigitalZoomRatio - 0.00/0.00  indicates that no digital zoom was used
)Ú
_numeratorÚ_denominatorrŠ   c                ó8  • U   [        U[        5      (       a4  UR                  U l        UR                  U l        UR                  U l        g[        U[        5      (       a#  UR                  U l        UR                  U l        O-[        (       a  [        [        U5      U l        OXl        X l        US:X  a  [        S5      U l        gUS:X  a  [        U5      U l        g[        U5      U:X  a  [        [        U5      U5      U l        g[        X-  5      U l        g)zŽ
:param value: either an integer numerator, a
float/rational/other number, or an IFDRational
:param denominator: Optional integer denominator
Nr   Únanr   )Ú
isinstancero   r   r“   r€   r”   rŠ   r   ÚTYPE_CHECKINGr   r   ry   Úint)r‹   Úvaluer€   s      ra   Ú__init__ÚIFDRational.__init__\  sÒ   € ñ 	Ü�eœ[×)Ñ)Ø#Ÿo™oˆDŒOØ %× 1Ñ 1ˆDÔØŸ
™
ˆDŒIØä�eœX×&Ñ&Ø#Ÿo™oˆDŒOØ %× 1Ñ 1ˆDÕçŠ}Ü"&¤|°UÓ";�•à"'”Ø +Ôà˜!ÓÜ˜e›ˆD�IØ˜AÓÜ  ›ˆD�IÜ�‹Z˜5Ó Ü ¤ U£¨[Ó9ˆD�Iä  Ñ!4Ó5ˆD�Irk   c                ó   • U R                   $ rd   )r“   ©r‹   s    ra   r   ÚIFDRational.numerator~  s   € à�‰Ðrk   c                ó   • U R                   $ rd   )r”   rž   s    ra   r€   ÚIFDRational.denominator‚  s   € à× Ñ Ð rk   c                óú   • U R                   S:X  a  U R                  U R                   4$ [        U R                  [        5      (       d   eU R                  R                  U5      nUR                  UR                   4$ )zm

:param max_denominator: Integer, the maximum denominator value
:returns: Tuple of (numerator, denominator)
r   )r€   r   r—   rŠ   r   Úlimit_denominator)r‹   Úmax_denominatorÚfs      ra   rp   ÚIFDRational.limit_rational†  se   € ð ×Ñ˜qÓ Ø—>‘> 4×#3Ñ#3Ð3Ð3ä˜$Ÿ)™)¤X×.Ñ.Ð.Ð.Ø�I‰I×'Ñ'¨Ó8ˆØ�{‰{˜AŸM™MÐ)Ð)rk   c                ó>   • [        [        U R                  5      5      $ rd   )Ústrry   rŠ   rž   s    ra   Ú__repr__ÚIFDRational.__repr__”  s   € Ü”5˜Ÿ™Ó#Ó$Ð$rk   c                ó6   • U R                   R                  5       $ rd   )rŠ   Ú__hash__rž   s    ra   r¬   ÚIFDRational.__hash__—  s   € Ø�y‰y×!Ñ!Ó#Ð#rk   c                ó¤   • U R                   n[        U[        5      (       a  UR                   n[        U[        5      (       a  [        U5      nX!:H  $ rd   )rŠ   r—   ro   ry   )r‹   Úotherrq   s      ra   Ú__eq__ÚIFDRational.__eq__š  s?   € Ø�i‰iˆÜ�eœ[×)Ñ)Ø—J‘JˆEÜ�eœU×#Ñ#Ü˜“*ˆCØ‰|Ðrk   c                óH   • U R                   U R                  U R                  /$ rd   )rŠ   r“   r”   rž   s    ra   Ú__getstate__ÚIFDRational.__getstate__¢  s   € Ø—	‘	˜4Ÿ?™?¨D×,=Ñ,=Ð>Ð>rk   c                ó  • [         R                  U S5        Uu  p#n[        U[        [        45      (       d   eX l        [        (       a  [        [        U5      U l	        OX0l	        [        U[        5      (       d   eX@l        g ©Nr   )ro   r›   r—   ry   r   rŠ   r˜   r   r   r“   r™   r”   )r‹   ÚstaterŠ   r“   r”   s        ra   Ú__setstate__ÚIFDRational.__setstate__¥  sj   € Ü×Ñ˜T 1Ô%Ø).Ñ&ˆ˜,Ü˜$¤¬Ð 1×2Ñ2Ð2Ð2ØŒ	ßŠ=Ü"¤<°Ó<ˆD�Oà(ŒOÜ˜,¬×,Ñ,Ð,Ð,Ø(Õrk   Ú__add__Ú__radd__Ú__sub__Ú__rsub__Ú__mul__Ú__rmul__Ú__truediv__Ú__rtruediv__Ú__floordiv__Ú__rfloordiv__Ú__mod__Ú__rmod__Ú__pow__Ú__rpow__Ú__pos__Ú__neg__Ú__abs__Ú	__trunc__Ú__lt__Ú__gt__Ú__le__Ú__ge__Ú__bool__Ú__ceil__Ú	__floor__Ú	__round__Ú__int__)r”   r“   rŠ   Nr<   )rš   úfloat | Fraction | IFDRationalr€   r™   r�   ÚNone)r�   r   ©r�   r™   )r¤   r™   r�   ztuple[IntegralLike, int]©r�   r¨   )r¯   Úobjectr�   Úbool)r�   ú%list[float | Fraction | IntegralLike])r·   rÛ   r�   rÖ   )/Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú	__slots__r›   Úpropertyr   r€   rp   r©   r¬   r°   r³   r¸   r‘   rº   r»   r¼   r½   r¾   r¿   rÀ   rÁ   rÂ   rÃ   rÄ   rÅ   rÆ   rÇ   rÈ   rÉ   rÊ   rË   rÌ   rÍ   rÎ   rÏ   rÐ   rÑ   rÒ   rÓ   Úhasattrr   rÔ   Ú__static_attributes__r=   rk   ra   ro   ro   N  s¥  † ñðð
 7€Ið IJð 6Ø3ð 6ØBEð 6à	õ 6ðD óó ðð ó!ó ð!ô*ô%ô$ôô?ô
)ðñ ˜	Ó"€GÙ˜Ó$€HÙ˜	Ó"€GÙ˜Ó$€HÙ˜	Ó"€GÙ˜Ó$€HÙ˜MÓ*€KÙ˜^Ó,€LÙ˜^Ó,€LÙ˜oÓ.€MÙ˜	Ó"€GÙ˜Ó$€HÙ˜	Ó"€GÙ˜Ó$€HÙ˜	Ó"€GÙ˜	Ó"€GÙ˜	Ó"€GÙ˜+Ó&€IÙ�xÓ €FÙ�xÓ €FÙ�xÓ €FÙ�xÓ €FÙ˜Ó$€HÙ˜Ó$€HÙ˜+Ó&€IÙ˜+Ó&€Iáˆx˜×#Ñ#Ù˜IÓ&‹ò $rk   ÚImageFileDirectory_v2c                ó   ^ ^• SU U4S jjnU$ )Nc                ó®   >• SSK Jn  U R                  R                  S5      (       a"  U R                  SS  R	                  SS5      UT'   TU 4[
        T'   U $ )Nr   r   Úload_r+   Ú_Ú )r   r   rÜ   re   ÚreplaceÚ_load_dispatch)Úfuncr   ÚidxÚsizes     €€ra   Ú	decoratorÚ#_register_loader.<locals>.decoratorÜ  sO   ø€ Ý#à�=‰=×#Ñ# G×,Ñ,ØŸ™ q rÐ*×2Ñ2°3¸Ó<ˆE�#‰JØ" D˜jŒ�sÑØˆrk   )rí   Ú_LoaderFuncr�   rò   r=   )rî   rï   rð   s   `` ra   Ú_register_loaderró   Û  s   ù€ ÷ð ð Ðrk   c                ó   ^ • SU 4S jjnU$ )Nc                ó   >• U [         T'   U $ rd   )Ú_write_dispatch)rí   rî   s    €ra   rð   Ú#_register_writer.<locals>.decoratorè  s   ø€ Ø#Œ˜ÑØˆrk   )rí   úCallable[..., Any]r�   rø   r=   )rî   rð   s   ` ra   Ú_register_writerrù   ç  s   ø€ ÷ð Ðrk   c                ó°   ^^• SSK Jn  U u  nmnX1U'   [        R                  " ST 35      m S       SUU4S jjjnTU4[        U'   U4S j[
        U'   g )Nr   r   Ú=c                óH   >• U R                  [        U5      T-   T 3U5      $ rd   )Ú_unpackr^   )r‹   ÚdataÚ
legacy_apiÚfmtrï   s      €€ra   Úbasic_handlerÚ&_register_basic.<locals>.basic_handlerö  s)   ø€ ð �|‰|œs 4›y¨DÑ0Ð1°#°Ð7¸Ó>Ð>rk   c                ó>   >^ • SR                  UU 4S jU 5       5      $ )Nrk   c              3  óH   >#   • U  H  nTR                  TU5      v •  M     g 7frd   )Ú_pack)r_   rš   r   r‹   s     €€ra   rb   Ú4_register_basic.<locals>.<lambda>.<locals>.<genexpr>ý  s   øé € Ð<²V¨E�—‘˜C ×'Ð'²Vùs   ƒ"©Újoin)r‹   Úvaluesr   s   ` €ra   Ú<lambda>Ú!_register_basic.<locals>.<lambda>ü  s   ù€ Ø�‰Õ<±VÓ<Ô<rk   ©T)r‹   rå   rþ   Úbytesrÿ   rÚ   r�   útuple[Any, ...])r   r   ÚstructÚcalcsizerì   rö   )Úidx_fmt_namer   rî   Únamer  r   rï   s        @@ra   Ú_register_basicr  ï  sz   ù€ Ýà!�N€CˆˆdØˆ#�JÜ�?Š?˜Q˜s˜e˜9Ó%€Dð FJð?Ø#ð?Ø+0ð?Ø>Bð?à	÷?ñ ?ð
  Ð-„N�3Ñô„O�CÒrk   c                  óö  • \ rS rSr% Sr0 rS\S'   0 rS\S'      S?       S@S jjr\	" S	 5      r
\	" S
 5      r\	SAS j5       r\R                  SBS j5       rSCS jrSDS jrSES jrSFS jrSGS jrSHS jrSIS jrSJS jrSKS jrSLS jrSMS jrSNS jr\" \" \\R<                  SS4\R>                  SS4\R@                  SS4\RB                  SS 4\RD                  S!S"4\RF                  S#S$4\RH                  S%S&4\RJ                  SS4\RL                  S'S(4/	5      5        \'" S)S)5      SOSPS* jj5       r(\)" S)5      SQS+ j5       r*\'" S,S)5      SOSRS- jj5       r+\)" S,5      SSS. j5       r,\'" S/S05       SO     STS1 jj5       r-\)" S/5      SUS2 j5       r.\'" S3S)5      SOSPS4 jj5       r/\)" S35      SVS5 j5       r0\'" S6S05       SO     STS7 jj5       r1\)" S65      SUS8 j5       r2SWS9 jr3SXS: jr4SYS; jr5SZS[S< jjr6S\S= jr7S>r8g)]rå   é  aß  This class represents a TIFF tag directory.  To speed things up, we
don't decode tags unless they're asked for.

Exposes a dictionary interface of the tags in the directory::

    ifd = ImageFileDirectory_v2()
    ifd[key] = 'Some Data'
    ifd.tagtype[key] = TiffTags.ASCII
    print(ifd[key])
    'Some Data'

Individual values are returned as the strings or numbers, sequences are
returned as tuples of the values.

The tiff metadata type of each item is stored in a dictionary of
tag types in
:attr:`~PIL.TiffImagePlugin.ImageFileDirectory_v2.tagtype`. The types
are read from a tiff file, guessed from the type added, or added
manually.

Data Structures:

    * ``self.tagtype = {}``

      * Key: numerical TIFF tag number
      * Value: integer corresponding to the data type from
        :py:data:`.TiffTags.TYPES`

      .. versionadded:: 3.0.0

'Internal' data structures:

    * ``self._tags_v2 = {}``

      * Key: numerical TIFF tag number
      * Value: decoded data, as tuple for multiple values

    * ``self._tagdata = {}``

      * Key: numerical TIFF tag number
      * Value: undecoded byte string from file

    * ``self._tags_v1 = {}``

      * Key: numerical TIFF tag number
      * Value: decoded data in the v1 format

Tags will be found in the private attributes ``self._tagdata``, and in
``self._tags_v2`` once decoded.

``self.legacy_api`` is a value for internal use, and shouldn't be changed
from outside code. In cooperation with
:py:class:`~PIL.TiffImagePlugin.ImageFileDirectory_v1`, if ``legacy_api``
is true, then decoded tags will be populated into both ``_tags_v1`` and
``_tags_v2``. ``_tags_v2`` will be used if this IFD is used in the TIFF
save routine. Tags should be read from ``_tags_v1`` if
``legacy_api == true``.

z"dict[int, tuple[int, _LoaderFunc]]rì   zdict[int, Callable[..., Any]]rö   Nc                óð  • [        U5      (       d  S[        U5       S3n[        U5      eUb  UOUSS U l        U R                  [        :X  a  SU l        O)U R                  [        :X  a  SU l        OSn[        U5      eUS   S:H  U l        X0l        0 U l	         U R                  5         U R                  (       a  U R                  S	US
S 5      S   OU R                  SUSS 5      S   U l        SU l        g)a_  Initialize an ImageFileDirectory.

To construct an ImageFileDirectory from a real file, pass the 8-byte
magic header to the constructor.  To only set the endianness, pass it
as the 'prefix' keyword argument.

:param ifh: One of the accepted magic headers (cf. PREFIXES); also sets
      endianness.
:param prefix: Override the endianness of the file.
znot a TIFF file (header z not valid)Nr%   Ú>Ú<znot a TIFF IFDé+   ÚQr1   r   r?   r)   F)rj   ÚreprÚSyntaxErrorÚ_prefixÚMMÚ_endianÚIIÚ_bigtiffÚgroupÚtagtypeÚresetrý   ÚnextÚ_legacy_api)r‹   Úifhri   r"  Úmsgs        ra   r›   ÚImageFileDirectory_v2.__init__G  sé   € ô  �s�|‰|Ø,¬T°#«Y¨K°{ÐCˆCÜ˜cÓ"Ð"Ø!'Ñ!3‘v¸¸R¸a¸ˆŒØ�<‰<œ2ÓØˆD�LØ�\‰\œRÓØˆD�Là"ˆCÜ˜cÓ"Ð"Ø˜A™ "™ˆŒØŒ
Ø')ˆŒØ'Ø�
‰
Œð �}�}ð �L‰L˜˜c ! "˜gÓ& qÒ)à—‘˜c 3 q r 7Ó+¨AÑ.ð 	Œ	ð
 !ˆÕrk   c                ó   • U R                   $ rd   )r  rž   s    ra   r
  ÚImageFileDirectory_v2.<lambda>n  ó   €  4§<¢<rk   c                ó   • U R                   $ rd   )Ú_offsetrž   s    ra   r
  r+  o  r,  rk   c                ó   • U R                   $ rd   ©r&  rž   s    ra   rÿ   Ú ImageFileDirectory_v2.legacy_apiq  s   € à×ÑÐrk   c                ó   • Sn[        U5      e)Nz"Not allowing setting of legacy api)Ú	Exception)r‹   rš   r(  s      ra   rÿ   r1  u  s   € à2ˆÜ˜‹nÐrk   c                óX   • 0 U l         0 U l        0 U l        0 U l        S U l        S U l        g rd   )Ú_tags_v1Ú_tags_v2Ú_tagdatar#  Ú_nextr.  rž   s    ra   r$  ÚImageFileDirectory_v2.resetz  s,   € Ø(*ˆŒØ(*ˆŒØ*,ˆŒØˆŒØˆŒ
Ø#'ˆ�rk   c                ó*   • [        [        U 5      5      $ rd   )r¨   Údictrž   s    ra   Ú__str__ÚImageFileDirectory_v2.__str__‚  s   € Ü”4˜“:‹Ðrk   c                óª   • U R                  5        VVs0 s H0  u  p[        R                  " XR                  5      R                  U_M2     snn$ s  snnf )zi
:returns: dict of name|key: value

Returns the complete tag dictionary, with named tags where possible.
)Úitemsr   Úlookupr"  r  )r‹   Úcoderš   s      ra   ÚnamedÚImageFileDirectory_v2.named…  sI   € ð  $Ÿz™zœ|ô
â+‘�ô �OŠO˜D§*¡*Ó-×2Ñ2°EÒ9Ù+ò
ð 	
ùó 
s   ”7Ac                ój   • [        [        U R                  5      [        U R                  5      -  5      $ rd   )r^   Úsetr7  r6  rž   s    ra   Ú__len__ÚImageFileDirectory_v2.__len__�  ó$   € Ü”3�t—}‘}Ó%¬¨D¯M©MÓ(:Ñ:Ó;Ð;rk   c                ó(  • XR                   ;  aD  U R                  U   nU R                  U   nU R                  U   u  pEU" XU R                  5      X'   U R                   U   nU R                  (       a  [        U[        [        45      (       d  U4nU$ rd   )r6  r7  r#  rì   rÿ   r—   rf   r  )r‹   Útagrþ   Útyprï   Úhandlerrq   s          ra   Ú__getitem__Ú!ImageFileDirectory_v2.__getitem__“  s}   € Ø—m‘mÓ#Ø—=‘= Ñ%ˆDØ—,‘,˜sÑ#ˆCØ ×/Ñ/°Ñ4‰MˆDÙ ¨D¯O©OÓ<ˆD‰IØ�m‰m˜CÑ ˆØ�?�?¤:¨c´E¼5°>×#BÑ#BØ�&ˆCØˆ
rk   c                óH   • XR                   ;   =(       d    XR                  ;   $ rd   )r6  r7  ©r‹   rJ  s     ra   Ú__contains__Ú"ImageFileDirectory_v2.__contains__ž  ó   € Ø—m‘mÑ#×; s¯m©mÑ';Ð;rk   c                ó<   • U R                  XU R                  5        g rd   )Ú_setitemrÿ   )r‹   rJ  rš   s      ra   Ú__setitem__Ú!ImageFileDirectory_v2.__setitem__¡  s   € Ø�‰�c $§/¡/Õ2rk   c           	     ó¦	  ^• [         [        [        4n[        R                  " XR
                  5      m[        X$5      (       a  U/OUnXR                  ;  Gaq  TR                  (       a  TR                  U R                  U'   GOE[        R                  U R                  U'   [        S U 5       5      (       ae  U H@  n[        U[        5      (       d   eUS:  d  M"  [        R                  U R                  U'     GOÍ   [        R                  U R                  U'   GO¬[        S U 5       5      (       a÷  SnSnSn	U H]  n[        U[        5      (       d   eU(       a  SUs=::  a  S:  d  O  SnU(       a  SUs=:  a  S:  d  O  SnU	(       d  MS  US:  d  M[  Sn	M_     U(       a  [        R                  U R                  U'   GOU(       a  [        R                   U R                  U'   OáU	(       a  [        R"                  U R                  U'   O¼[        R$                  U R                  U'   Ož[        S	 U 5       5      (       a  [        R&                  U R                  U'   Oi[        S
 U 5       5      (       a  [        R(                  U R                  U'   O4[        S U 5       5      (       a  [        R*                  U R                  U'   U R                  U   [        R                  :X  a:  U Vs/ s H,  n[        U[        5      (       a  UR-                  SS5      OUPM.     nnOSU R                  U   [        R                  :X  a2  U Vs/ s H%  n[        U[        5      (       a  [/        U5      OUPM'     nnU R                  U   [        R"                  :H  =(       a    [        U[0        5      n
U
(       d  [3        U4S jU 5       5      nU(       a  U R4                  OU R6                  nU
(       d—  TR8                  S:X  dD  U R                  U   [        R*                  :X  d#  TR8                  cY  [;        U5      S:X  aJ  U(       dC  U(       a4  U R                  U   [        R                  [        R                  4;   a  U4n Uu  X±'   g X[U'   g s  snf s  snf ! [<         a0    [>        R@                  " SU S[;        U5       S35        US   X±'    g f = f)Nc              3  óB   #   • U  H  n[        U[        5      v •  M     g 7frd   )r—   ro   ©r_   Úvs     ra   rb   Ú1ImageFileDirectory_v2._setitem.<locals>.<genexpr>¯  s   é € ÐBº6°a”z !¤[×1Ð1º6ùó   ‚r   c              3  óB   #   • U  H  n[        U[        5      v •  M     g 7frd   )r—   r™   rZ  s     ra   rb   r\  ·  ó   é € Ð<²V°œ A¤s×+Ð+²Vùr]  Tr   Fi €ÿÿi €  c              3  óB   #   • U  H  n[        U[        5      v •  M     g 7frd   )r—   ry   rZ  s     ra   rb   r\  Ë  ó   é € Ð>²v°!œ A¤u×-Ð-²vùr]  c              3  óB   #   • U  H  n[        U[        5      v •  M     g 7frd   )r—   r¨   rZ  s     ra   rb   r\  Í  r_  r]  c              3  óB   #   • U  H  n[        U[        5      v •  M     g 7frd   )r—   r  rZ  s     ra   rb   r\  Ï  ra  r]  Úasciirë   c              3  ót   >#   • U  H-  n[        U[        5      (       a  TR                  U5      OUv •  M/     g 7frd   )r—   r¨   Úcvt_enum)r_   rš   Úinfos     €ra   rb   r\  Ü  s2   øé € ð â#�Eô )3°5¼#×(>Ñ(>�—‘˜eÔ$ÀEÔIÚ#ùs   ƒ58r   zMetadata Warning, tag z had too many entries: z, expected 1)!r   r  r¨   r   r@  r"  r—   r#  ÚtypeÚ	UNDEFINEDÚallro   ÚSIGNED_RATIONALÚRATIONALr™   ÚSHORTÚSIGNED_SHORTÚLONGÚSIGNED_LONGÚDOUBLEÚASCIIÚBYTEÚencodery   r;  rf   r5  r6  Úlengthr^   Ú
ValueErrorÚwarningsÚwarn)r‹   rJ  rš   rÿ   Ú	basetypesr	  r[  ÚshortÚsigned_shortÚlongÚis_ifdÚdestrg  s               @ra   rU  ÚImageFileDirectory_v2._setitem¤  sÂ  ø€ ÜœU¤CÐ(ˆ	ä�Š˜s§J¡JÓ/ˆÜ& u×8Ñ8�%‘¸eˆà—l‘lÔ"Ø�y�yØ$(§I¡I�—‘˜SÓ!ä$,×$6Ñ$6�—‘˜SÑ!ÜÑB¹6ÓB×BÑBÛ#˜Ü)¨!¬[×9Ñ9Ð9Ð9Ø˜q�5Ü08×0HÑ0H˜DŸL™L¨Ñ-Ú!ñ	 $ô -5×,=Ñ,=˜Ÿ™ SÓ)ÜÑ<±VÓ<×<Ñ<Ø �EØ#'�LØ�DÛ#˜Ü)¨!¬S×1Ñ1Ð1Ð1Þ ¨!¨q­.°5­.Ø$)˜EÞ'°¸AÕ1EÀÕ1EØ+0˜Lß˜4 A¨¥EØ#(šDñ $ö Ü,4¯N©N˜Ÿ™ SÓ)Þ%Ü,4×,AÑ,A˜Ÿ™ SÒ)ÞÜ,4¯M©M˜Ÿ™ SÒ)ä,4×,@Ñ,@˜Ÿ™ SÒ)ÜÑ>±vÓ>×>Ñ>Ü(0¯©�D—L‘L Ò%ÜÑ<±VÓ<×<Ñ<Ü(0¯©�D—L‘L Ò%ÜÑ>±vÓ>×>Ñ>Ü(0¯©�D—L‘L Ñ%à�<‰<˜Ñ¤× 2Ñ 2Ó2ñ  óâ�Aô 1;¸1¼c×0BÑ0B�—‘˜ )Ô,ÈÒIÙð ð ˆFð �\‰\˜#Ñ¤(×"3Ñ"3Ó3ÙEKÓLÂVÀ¤*¨Q´×"4Ñ"4”e˜A”h¸!Ò;ÁVˆFÐLà—‘˜cÑ"¤h§m¡mÑ3×P¼
À6Ì4Ó8PˆÞÜô á#óó ˆFö
 !+ˆt�}Š}°·±ˆö Ø�[‰[˜AÓØ�|‰|˜CÑ ¤H§M¡MÓ1Ø—‘Ñ#¬¨F«°qÓ(8Æö ˜dŸl™l¨3Ñ/Ü×!Ñ!Ü×(Ñ(ð4ó ð !˜�ð&Ø%‘�’ð �ŠIùò[ùò
 Møô: ó &ä—’Ø,¨S¨EÐ1HÜ˜6“{�m <ð1ôð # 1™I�“	ð&ús   Ë.3RÍ	,RÒ R Ò7SÓSc                ó¬   • U R                   R                  US 5        U R                  R                  US 5        U R                  R                  US 5        g rd   )r6  Úpopr5  r7  rP  s     ra   Ú__delitem__Ú!ImageFileDirectory_v2.__delitem__  s>   € Ø�‰×Ñ˜#˜tÔ$Ø�‰×Ñ˜#˜tÔ$Ø�‰×Ñ˜#˜tÕ$rk   c                ój   • [        [        U R                  5      [        U R                  5      -  5      $ rd   )ÚiterrE  r7  r6  rž   s    ra   Ú__iter__ÚImageFileDirectory_v2.__iter__  ó$   € Ü”C˜Ÿ™Ó&¬¨T¯]©]Ó);Ñ;Ó<Ð<rk   c                óJ   • [         R                  " U R                  U-   U5      $ rd   )r  Úunpackr  )r‹   r   rþ   s      ra   rý   ÚImageFileDirectory_v2._unpack
  s   € Ü�}Š}˜TŸ\™\¨CÑ/°Ó6Ð6rk   c                óJ   • [         R                  " U R                  U-   /UQ76 $ rd   )r  Úpackr  )r‹   r   r	  s      ra   r  ÚImageFileDirectory_v2._pack  s   € Ü�{Š{˜4Ÿ<™<¨#Ñ-Ð7°Ò7Ð7rk   ÚHrz  r?   r|  Úbzsigned byteÚhzsigned shortÚlzsigned longr¥   ry   ÚdÚdoubler  Úlong8r   c                ó   • U$ rd   r=   ©r‹   rþ   rÿ   s      ra   Ú	load_byteÚImageFileDirectory_v2.load_byte!  ó   € àˆrk   c                óˆ   • [        U[        5      (       a  [        U5      n[        U[        5      (       a  [        U45      nU$ rd   )r—   ro   r™   r  ©r‹   rþ   s     ra   Ú
write_byteÚ ImageFileDirectory_v2.write_byte%  s5   € ä�dœK×(Ñ(Ü�t“9ˆDÜ�dœC× Ñ Ü˜$˜“>ˆDØˆrk   r%   c                ó\   • UR                  S5      (       a  US S nUR                  SS5      $ )Nó    rm   zlatin-1rë   )ÚendswithÚdecoder—  s      ra   Úload_stringÚ!ImageFileDirectory_v2.load_string-  s-   € à�=‰=˜×ÑØ˜˜�9ˆDØ�{‰{˜9 iÓ0Ð0rk   c                óš   • [        U[        5      (       a  [        U5      n[        U[        5      (       d  UR	                  SS5      nUS-   $ )Nrd  rë   r   )r—   r™   r¨   r  rt  ©r‹   rš   s     ra   Úwrite_stringÚ"ImageFileDirectory_v2.write_string3  sA   € ô �eœS×!Ñ!Ü˜“JˆEÜ˜%¤×'Ñ'Ø—L‘L ¨)Ó4ˆEØ�u‰}Ðrk   r+   r1   c           
     ó®   ^^• U R                  [        U5      S-   S3U5      nSU4S jjm[        U4S j[        US S S2   USS S2   5       5       5      $ )Nr)   r?   c                ó.   >• T(       a  X4$ [        X5      $ rd   ©ro   ©Úar�  rÿ   s     €ra   ÚcombineÚ4ImageFileDirectory_v2.load_rational.<locals>.combineB  ó   ø€ Þ'�A�6Ð>¬[¸Ó->Ð>rk   c              3  ó8   >#   • U  H  u  pT" X5      v •  M     g 7frd   r=   ©r_   ÚnumÚdenomr®  s      €ra   rb   Ú6ImageFileDirectory_v2.load_rational.<locals>.<genexpr>E  ó   øé € ÐVÒ;U©Z¨S‘W˜S×(Ð(Ò;Uùó   ƒr%   r   ©r­  r™   r�  r™   r�   ztuple[int, int] | IFDRational©rý   r^   rf   Úzip©r‹   rþ   rÿ   Úvalsr®  s     ` @ra   Úload_rationalÚ#ImageFileDirectory_v2.load_rational<  óW   ù€ ð �|‰|œs 4›y¨A™~Ð.¨aÐ0°$Ó7ˆ÷	?ô ÔV¼3¸tÁCÀaÀC¹yÈ$ÈqÈtÐRSÈtÉ*Ô;UÓVÓVÐVrk   c                ó:   ^ • SR                  U 4S jU 5       5      $ )Nrk   c              3  ó^   >#   • U  H"  nTR                   " S /[        US5      Q76 v •  M$     g7f)Ú2Ll   ÿÿ N)r  ru   ©r_   r„   r‹   s     €ra   rb   Ú7ImageFileDirectory_v2.write_rational.<locals>.<genexpr>I  s)   øé € ð 
ÚLRÀDˆD�JŠJ�tÐ?œo¨d°IÓ>×?ÊFùs   ƒ*-r  ©r‹   r	  s   ` ra   Úwrite_rationalÚ$ImageFileDirectory_v2.write_rationalG  s!   ø€ à�x‰xô 
ÙLRó
ó 
ð 	
rk   r/   c                ó   • U$ rd   r=   r—  s      ra   Úload_undefinedÚ$ImageFileDirectory_v2.load_undefinedM  rš  rk   c                ó¦   • [        U[        5      (       a  [        U5      n[        U[        5      (       a  [        U5      R	                  SS5      nU$ )Nrd  rë   )r—   ro   r™   r¨   rt  r¦  s     ra   Úwrite_undefinedÚ%ImageFileDirectory_v2.write_undefinedQ  s@   € ä�eœ[×)Ñ)Ü˜“JˆEÜ�eœS×!Ñ!Ü˜“J×%Ñ% g¨yÓ9ˆEØˆrk   é
   c           
     ó®   ^^• U R                  [        U5      S-   S3U5      nSU4S jjm[        U4S j[        US S S2   USS S2   5       5       5      $ )Nr)   r’  c                ó.   >• T(       a  X4$ [        X5      $ rd   r«  r¬  s     €ra   r®  Ú;ImageFileDirectory_v2.load_signed_rational.<locals>.combine_  r°  rk   c              3  ó8   >#   • U  H  u  pT" X5      v •  M     g 7frd   r=   r²  s      €ra   rb   Ú=ImageFileDirectory_v2.load_signed_rational.<locals>.<genexpr>b  r¶  r·  r%   r   r¸  r¹  r»  s     ` @ra   Úload_signed_rationalÚ*ImageFileDirectory_v2.load_signed_rationalY  r¿  rk   c                ó:   ^ • SR                  U 4S jU 5       5      $ )Nrk   c           	   3  ó`   >#   • U  H#  nTR                   " S /[        USS5      Q76 v •  M%     g7f)Ú2liÿÿÿi   €N)r  r†   rÃ  s     €ra   rb   Ú>ImageFileDirectory_v2.write_signed_rational.<locals>.<genexpr>f  s0   øé € ð 
â�ð �JŠJ�tÐPÔ4°T¸9ÀhÓO×PÚùs   ƒ+.r  rÅ  s   ` ra   Úwrite_signed_rationalÚ+ImageFileDirectory_v2.write_signed_rationald  s!   ø€ à�x‰xô 
áó
ó 
ð 	
rk   c                ó€   • UR                  U5      n[        U5      U:w  a  SU S[        U5       S3n[        U5      eU$ )Nz&Corrupt EXIF data.  Expecting to read ú bytes but only got z. )Úreadr^   ÚOSError)r‹   Úfprï   Úretr(  s        ra   Ú_ensure_readÚ"ImageFileDirectory_v2._ensure_readk  sN   € Ø�g‰g�d‹mˆÜˆs‹8�tÓð%Ø%) FÐ*>¼sÀ3»x¸jÈðLð ô ˜#“,ÐØˆ
rk   c           
     óÂ  • U R                  5         UR                  5       U l         U R                  (       a"  U R	                  SU R                  US5      5      O!U R	                  SU R                  US5      5      S   n[        U5       GH  nU R                  (       a"  U R	                  SU R                  US5      5      O!U R	                  SU R                  US	5      5      u  pEpg[        R                  " X@R                  5      R                  n[        R                  " US
5      n	SU SU SU	 SU S3	n
 U R                  U   u  p¼Xk-  nXÐR                  (       a  SOS:”  a{  UR                  5       nU R	                  U R                  (       a  SOSU5      u  nU
SU SU 3-  n
UR#                  U5        [$        R&                  " X5      nUR#                  U5        OUS U n[)        U5      U:w  a@  [*        R,                  " SU S[)        U5       SU 35        [        R!                  U
5        GM©  U(       d  [        R!                  U
5        GMÈ  XpR.                  U'   XPR0                  U'   U
S-  n
X­S:”  a  SU S3O
[3        U5      -  n
[        R!                  U
5        GM     U R                  (       a"  U R	                  SU R                  US5      5      O!U R	                  SU R                  US5      5      u  U l        g ! [         a    [        R!                  SX¥5         GM�  f = f! [6         a)  n
[*        R,                  " [9        U
5      5         S n
A
g S n
A
ff = f)Nr  r1   r�  r%   r   ÚHHQ8sé   ÚHHL4sr@   Úunknownztag: ú (ú
) - type: Ú)z%s - unsupported type %sr)   r?   z Tag Location: z - Data Location: z/Possibly corrupt EXIF data.  Expecting to read rÝ  z. Skipping tag z
 - value: rE   ú<table: ú bytes>)r$  Útellr.  r!  rý   râ  Úranger   r@  r"  r  r   Úgetrì   ÚKeyErrorÚloggerÚdebugÚseekr   Ú
_safe_readr^   rw  rx  r7  r#  r  r%  rß  r¨   )r‹   rà  Ú	tag_countr{   rJ  rK  Úcountrþ   ÚtagnameÚtypnamer(  Ú	unit_sizerL  rï   ÚhereÚoffsets                   ra   ÚloadÚImageFileDirectory_v2.loadu  së  € Ø�
‰
ŒØ—w‘w“yˆŒð=	ð —=—=ð —‘˜S $×"3Ñ"3°B¸Ó":Ô;à—\‘\ # t×'8Ñ'8¸¸QÓ'?Ó@Øñ	ˆIô
 ˜9×%�ð —}—}ð —L‘L ¨$×*;Ñ*;¸BÀÓ*CÔDàŸ™ g¨t×/@Ñ/@ÀÀRÓ/HÓIñ &�˜%ô #Ÿ/š/¨#¯z©zÓ:×?Ñ?�ÜŸ)š) C¨Ó3�Ø˜g˜Y b¨¨¨Z¸°yÀÀ3À%ÀqÐI�ðØ)-×)<Ñ)<¸SÑ)AÑ&�Ið Ñ(�Ø§§™1°1Ó5ØŸ7™7›9�DØ $§¡°D·M·M©SÀsÈDÓ Q‘I�VØ˜_¨T¨FÐ2DÀVÀHÐMÑM�CØ—G‘G˜F”OÜ$×/Ò/°Ó9�DØ—G‘G˜D•Mà  ˜;�Dä�t“9 Ó$Ü—M’Mð-Ø-1¨FÐ2FÄsÈ4ÃyÀkð R)Ø),¨ð/ôô
 —L‘L Ô%ÚæÜ—L‘L Ô%Úà%)—‘˜cÑ"Ø$'—‘˜SÑ!à�|Ñ#�Ø¸"³9˜ $  wÑ/Ä$ÀtÃ*ÑL�ä—‘˜S×!ñ] &ðd —=—=ð —‘˜S $×"3Ñ"3°B¸Ó":Ô;à—\‘\ # t×'8Ñ'8¸¸QÓ'?Ó@ñ ˆT�YøôG  ó Ü—L‘LÐ!;¸SÔFÛðûôP ó 	Ü�MŠMœ#˜c›(Ô#Üûð	ús=   §DL+ Ä7LÅF:L+ Ì L(Ì#L+ Ì'L(Ì(L+ Ì+
MÌ5MÍMc                ó,  • U R                   U R                  SU R                  (       a  SOS5      -   nU R                  (       a  XR                  SSS5      -  nXR                  (       a  U R                  SS5      -  nU$ U R                  S	S5      -  nU$ )
Nr�  r  é*   ÚHHr1   r   r  rB   r?   )r  r  r!  ©r‹   r'  s     ra   Ú_get_ifhÚImageFileDirectory_v2._get_ifh¸  sw   € Ø�l‰l˜TŸZ™Z¨°4·=·=©RÀbÓIÑIˆØ�=�=Ø—:‘:˜d A qÓ)Ñ)ˆCØ§m§mˆt�z‰z˜#˜rÓ"ÑKˆàˆ
ð :>¿¹ÀCÈÓ9KÑKˆàˆ
rk   c                óÄ  • U R                  U R                  (       a  SOS[        U R                  5      5      n/ nU R                  (       a  SOSnU R                  (       a  SOSnU[        U5      [        U R                  5      U R                  (       a  SOS-  -   U-   -  nS n[	        U R                  R                  5       5       GHa  u  pxU[        :X  a  [        U5      nU R                  U   n	[        R                  SXy[        U5      5        U	[        R                  :H  =(       a    [        U[        5      n
U
(       aV  [        U R!                  5       US	9nU R                  U   nUR                  5        H	  u  pÞXëU'   M     UR#                  U5      nO0[        U[$        5      (       a  UOU4nU R&                  U	   " U /UQ76 n[        R(                  " XpR*                  5      R,                  nU
(       a  S
O[.        R0                  " U	S5      nSU SU SU SU	 S3	nU[        U5      S:¼  a  S[        U5       S3O
[3        U5      -  n[        R                  U5        U
(       a  SnOJU	[        R4                  [        R6                  [        R8                  4;   a  [        U5      nO[        U5      n[        U5      U::  a(  UR;                  XyUUR=                  US5      S45        GM&  UR;                  XyUU R                  XA5      U45        U[        U5      S-   S-  S-  -  nGMd     Ub‹  X6   u  pynp�U(       aO  U R>                  U	   u  nnU" XU R@                  5       Vs/ s H  nUU-   PM
     nnU R&                  U	   " U /UQ76 nO&U R                  X@RC                  XH5      S   U-   5      nXyUX�4X6'   U H[  u  pynp�[        R                  SXyU[        U5      [        U5      5        X R                  U R                  (       a  SOSXyUU5      -  nM]     X R                  US5      -  nU H%  u  pynp�X/-  n[        U5      S-  (       d  M   US-  nM'     U$ s  snf )Nr  r�  r?   r1   r)   ræ  r@   zTag %s, Type: %s, Value: %s)r"  Úifdrè  zsave: ré  rê  z) - value: rB   rì  rí  r   r   rk   r%   r   z%s %s %s %s %srå  rç  )"r  r!  r^   r6  Úsortedr?  ÚSTRIPOFFSETSr#  rò  ró  r  r   ro  r—   r;  rå   r  Útobytesrf   rö   r@  r"  r  r   rð  r¨   rs  rr  ri  ÚappendÚljustrì   rÿ   rý   )r‹   rü  ÚresultÚentriesr   Úfmt_sizeÚstripoffsetsrJ  rš   rK  r}  r  r	  Úifd_tagÚ	ifd_valuerþ   rø  rù  r(  r÷  rï   rL  rq   s                          ra   r	  ÚImageFileDirectory_v2.tobytesÀ  sÅ  € à—‘ 4§=§=™C°c¼3¸t¿}¹}Ó;MÓNˆà<>ˆà—]—]‰c¨ˆØŸŸ‘1¨1ˆØÜ�‹Kœ#˜dŸm™mÓ,°d·m·m±ÈÑLÑLÈxÑWñ	
ˆð ˆô ! §¡×!4Ñ!4Ó!6×7‰JˆCØ”lÓ"Ü" 7›|�Ø—,‘,˜sÑ#ˆCÜ�L‰LÐ6¸Ä$ÀuÃ+ÔNØœHŸM™MÑ)×E¬j¸ÄÓ.EˆFÞÜ+¨D¯M©M«OÀ3ÑG�ØŸ™ sÑ+�Ø*0¯,©,®.Ñ&�GØ#,˜“Lñ +9à—{‘{ 6Ó*‘ä",¨U´E×":Ñ":™ÀÀ�Ø×+Ñ+¨CÒ0°Ð?¸Ò?�ä—o’o c¯:©:Ó6×;Ñ;ˆGÞ%‘e¬5¯9ª9°S¸)Ó+DˆGØ˜7˜) 2 c U¨*°W°I¸RÀ¸uÀKÐPˆCØ´C¸³IÀ³O�Xœc $›i˜[¨Ñ0ÌÈVËÑTˆCÜ�L‰L˜Ôö Ø‘ØœŸ™¬¯©¼×8JÑ8JÐKÓKÜ˜D›	‘ä˜F›�ä�4‹y˜HÓ$Ø—‘ ¨%°·±¸HÀeÓ1LÈcÐR×Sà—‘ ¨%°·±¸CÓ1HÈ$ÐOÔPØœ3˜t›9 q™=¨QÑ.°Ñ2Ñ2“ñE 8ðJ Ñ#Ø+2Ñ+@Ñ(ˆC�e˜UÞØ $× 3Ñ 3°CÑ 8‘��gÙ29¸$ÀdÇoÁoÔ2VÓWÒ2V¨3˜# œ,Ñ2V�ÐWØ×+Ñ+¨CÒ0°Ð?¸Ò?‘àŸ
™
 3¯©°SÓ(@ÀÑ(CÀfÑ(LÓM�Ø$'¨e°UÐ$@ˆGÑ!ó -4Ñ(ˆC�e˜UÜ�L‰LÐ)¨3°U¼DÀ»KÌÈdËÔTØ—j‘jØŸ=Ÿ=‘¨g°sÀÈóñ ŠFñ -4ð 	—*‘*˜S !Ó$Ñ$ˆó -4Ñ(ˆC�e˜UØ‰NˆFÜ�4‹y˜1�}‰}Ø˜%‘’ñ -4ð
 ˆùò- Xs   Í&Qc                óè   • UR                  5       S:X  a  UR                  U R                  5       5        UR                  5       nU R                  U5      nUR                  U5        U[	        U5      -   $ r¶   )rî  Úwriter  r	  r^   )r‹   rà  rü  r  s       ra   ÚsaveÚImageFileDirectory_v2.save  sU   € Ø�7‰7‹9˜‹>Ø�H‰H�T—]‘]“_Ô%à—‘“ˆØ—‘˜fÓ%ˆØ
�‰�ÔØœ˜F›Ñ#Ð#rk   )r!  r  r&  r8  r.  r  r7  r5  r6  r"  r%  r#  )s   II*     NN)r'  r  ri   zbytes | Noner"  ú
int | Noner�   rÖ   )r�   rÚ   )rš   rÚ   r�   r   ©r�   rÖ   rØ   )r�   zdict[str, Any]r×   ©rJ  r™   r�   r
   ©rJ  rÙ   r�   rÚ   ©rJ  r™   rš   r
   r�   rÖ   )rJ  r™   rš   r
   rÿ   rÚ   r�   rÖ   )rJ  r™   r�   rÖ   ©r�   zIterator[int])r   r¨   rþ   r  r�   r  )r   r¨   r	  r
   r�   r  r  )rþ   r  rÿ   rÚ   r�   r  )rþ   úbytes | int | IFDRationalr�   r  )rþ   r  rÿ   rÚ   r�   r¨   )rš   zstr | bytes | intr�   r  )rþ   r  rÿ   rÚ   r�   z)tuple[tuple[int, int] | IFDRational, ...])r	  ro   r�   r  )rš   r  r�   r  )rà  ú	IO[bytes]rï   r™   r�   r  )rà  r  r�   rÖ   )r�   r  rL   )rü  r™   r�   r  )rà  r  r�   r™   )9rÜ   rÝ   rÞ   rß   rà   rì   Ú__annotations__rö   r›   râ   ri   rü  rÿ   Úsetterr$  r<  rB  rF  rM  rQ  rV  rU  r‚  r†  rý   r  ÚlistÚmapr  r   rm  ro  ÚSIGNED_BYTErn  rp  ÚFLOATrq  ÚIFDÚLONG8ró   r˜  rù   r�  r£  r§  r½  rÆ  rÉ  rÌ  rÔ  rÚ  râ  rý  r  r	  r  rä   r=   rk   ra   rå   rå     sØ  ‡ ñ:ðx :<€NÐ6Ó;Ø57€OÐ2Ó7ð 3Ø#Ø ð	%!àð%!ð ð%!ð ð	%!ð
 
õ%!ñN Ñ/Ó0€FÙÑ/Ó0€Fàó ó ð ð ×Ñóó ðô(ôô	
ô<ô	ô<ô3ô\ô|%ô
=ô7ô8ñ 	ÙØà—‘  gÐ.Ø—‘  VÐ,Ø×%Ñ% s¨MÐ:Ø×&Ñ&¨¨^Ð<Ø×%Ñ% s¨MÐ:Ø—‘  gÐ.Ø—‘ # xÐ0Ø—‘˜s FÐ+Ø—‘  gÐ.ð
ó	
ôñ" �a˜Óõó ðñ �aÓóó ðñ �a˜Óõ1ó ð1ñ
 �aÓóó ðñ �a˜Óà.2ðWØðWØ'+ðWà	2ôWó ðWñ �aÓó
ó ð
ñ
 �a˜Óõó ðñ �aÓóó ðñ �b˜!Óà.2ðWØðWØ'+ðWà	2ôWó ðWñ �bÓó
ó ð
ôôAôFöN÷`$rk   rê   ré   rè   Úwrite_c                  ó²   ^ • \ rS rSr% SrSU 4S jjr\" S 5      r\" S 5      rS\	S'    \
SS j5       rSS	 jrSS
 jrSS jrSS jrSS jrSS jrSrU =r$ )ÚImageFileDirectory_v1i$  aÒ  This class represents the **legacy** interface to a TIFF tag directory.

Exposes a dictionary interface of the tags in the directory::

    ifd = ImageFileDirectory_v1()
    ifd[key] = 'Some Data'
    ifd.tagtype[key] = TiffTags.ASCII
    print(ifd[key])
    ('Some Data',)

Also contains a dictionary of tag types as read from the tiff image file,
:attr:`~PIL.TiffImagePlugin.ImageFileDirectory_v1.tagtype`.

Values are returned as a tuple.

..  deprecated:: 3.0.0
c                ó4   >• [         TU ]  " U0 UD6  SU l        g )NT)Úsuperr›   r&  )r‹   rŒ   ÚkwargsÚ	__class__s      €ra   r›   ÚImageFileDirectory_v1.__init__7  s   ø€ Ü‰Ò˜$Ð) &Ò)ØˆÕrk   c                ó   • U R                   $ rd   )r5  rž   s    ra   r
  ÚImageFileDirectory_v1.<lambda>;  s   €  §¢rk   c                ó   • U R                   $ rd   )r7  rž   s    ra   r
  r0  <  s   €  D§M¢Mrk   zdict[int, int]r#  c                óŒ   • U " UR                   S9nUR                  Ul        UR                  Ul        UR                  Ul        U$ )a  Returns an
:py:class:`~PIL.TiffImagePlugin.ImageFileDirectory_v1`
instance with the same data as is contained in the original
:py:class:`~PIL.TiffImagePlugin.ImageFileDirectory_v2`
instance.

:returns: :py:class:`~PIL.TiffImagePlugin.ImageFileDirectory_v1`

rh   )ri   r7  r#  r%  )ÚclsÚoriginalr  s      ra   Úfrom_v2ÚImageFileDirectory_v1.from_v2B  s<   € ñ ˜Ÿ™Ñ)ˆØ×(Ñ(ˆŒØ×&Ñ&ˆŒØ—=‘=ˆŒØˆ
rk   c                óÈ   • [        U R                  S9n[        U R                  5      Ul        [        U R                  5      Ul        [        U R
                  5      Ul        U$ )a  Returns an
:py:class:`~PIL.TiffImagePlugin.ImageFileDirectory_v2`
instance with the same data as is contained in the original
:py:class:`~PIL.TiffImagePlugin.ImageFileDirectory_v1`
instance.

:returns: :py:class:`~PIL.TiffImagePlugin.ImageFileDirectory_v2`

rh   )rå   ri   r;  r7  r#  r6  )r‹   r  s     ra   Úto_v2ÚImageFileDirectory_v1.to_v2T  sG   € ô $¨4¯;©;Ñ7ˆÜ˜DŸM™MÓ*ˆŒÜ˜4Ÿ<™<Ó(ˆŒÜ˜DŸM™MÓ*ˆŒØˆ
rk   c                óH   • XR                   ;   =(       d    XR                  ;   $ rd   )r5  r7  rP  s     ra   rQ  Ú"ImageFileDirectory_v1.__contains__e  rS  rk   c                ój   • [        [        U R                  5      [        U R                  5      -  5      $ rd   )r^   rE  r7  r5  rž   s    ra   rF  ÚImageFileDirectory_v1.__len__h  rH  rk   c                ój   • [        [        U R                  5      [        U R                  5      -  5      $ rd   )r…  rE  r7  r5  rž   s    ra   r†  ÚImageFileDirectory_v1.__iter__k  rˆ  rk   c                ó:   • S H  nU R                  XU5        M     g ©N)FT)rU  )r‹   rJ  rš   rÿ   s       ra   rV  Ú!ImageFileDirectory_v1.__setitem__n  s   € Û'ˆJØ�M‰M˜# jÖ1ò (rk   c           	     ó   • XR                   ;  aQ  U R                  U   nU R                  U   nU R                  U   u  pES H  nU R	                  X" XU5      U5        M     U R                   U   n[        U[        [        45      (       d  U4nU$ rA  )r5  r7  r#  rì   rU  r—   rf   r  )r‹   rJ  rþ   rK  rï   rL  Úlegacyrq   s           ra   rM  Ú!ImageFileDirectory_v1.__getitem__r  s†   € Ø—m‘mÓ#Ø—=‘= Ñ%ˆDØ—,‘,˜sÑ#ˆCØ ×/Ñ/°Ñ4‰MˆDÛ'�Ø—‘˜c 7¨4°vÓ#>ÀÖGñ (à�m‰m˜CÑ ˆÜ˜#¤¤u˜~×.Ñ.Ø�&ˆCØˆ
rk   r0  )rŒ   r
   r,  r
   r�   rÖ   )r4  rå   r�   r)  )r�   rå   r  r×   r  r  r  )rÜ   rÝ   rÞ   rß   rà   r›   râ   ÚtagsÚtagdatar  Úclassmethodr5  r8  rQ  rF  r†  rV  rM  rä   Ú__classcell__©r-  s   @ra   r)  r)  $  se   ø‡ ñ÷$ ñ Ñ.Ó/€DÙÑ1Ó2€Gð ÓØ!àóó ðô"ô"<ô<ô=ô2÷
ò 
rk   r)  c                  óÆ   ^ • \ rS rSrSrSrSr S     SU 4S jjjrSS jr\	SS j5       r
SS jrSS	 jrSS
 jrSS jrSU 4S jjrSS jrSS jrSS jrSS jrSrU =r$ )ÚTiffImageFilei‡  ÚTIFFz
Adobe TIFFFc                ó0   >• U    U    [         TU ]  X5        g rd   )r+  r›   )r‹   rà  Úfilenamer-  s      €ra   r›   ÚTiffImageFile.__init__Œ  s   ø€ ñ
 	Ø5áØ"ä‰Ñ˜Õ&rk   c                ó  • U R                   c   eU R                   R                  S5      nUS   S:X  a  XR                   R                  S5      -  n[        U5      U l        U R                  R                  =U l        U l        SU l        U R                   U l        / U l	        SU l
        [        R                  S5        [        R                  SU R
                  5        [        R                  S[        U5      5        U R                  S	5        g)
z#Open the first image in a TIFF fileNr1   r%   r  rm   z*** TiffImageFile._open ***z- __first: %sz	- ifh: %sr   )rà  rÞ  rå   Útag_v2r%  Ú_TiffImageFile__firstÚ_TiffImageFile__nextÚ_TiffImageFile__frameÚ_fpÚ
_frame_posÚ	_n_framesrò  ró  r  Ú_seekr  s     ra   Ú_openÚTiffImageFile._open™  sÈ   € ð �w‰wÑ"Ð"Ð"Ø�g‰g�l‰l˜1‹oˆØˆq‰6�R‹<Ø—7‘7—<‘< “?Ñ"ˆCä+¨CÓ0ˆŒð &*§[¡[×%5Ñ%5Ð5ˆŒ�t”{ØˆŒØ—7‘7ˆŒØ%'ˆŒØ%)ˆŒä�‰Ð2Ô3Ü�‰�_ d§l¡lÔ3Ü�‰�[¤$ s£)Ô,ð 	�
‰
�1�rk   c                ó\  • U R                   nUcƒ  U R                  5       nU R                  [        U R                  5      5        U R                   c1  U R                  U R                  5       S-   5        U R                   c  M1  U R                  U5        U R                   c   eU R                   $ )Nr   )rX  rî  rY  r^   rW  rô  )r‹   Úcurrent_n_framesÚcurrents      ra   Ún_framesÚTiffImageFile.n_frames²  s„   € àŸ>™>ÐØÑ#Ø—i‘i“kˆGØ�J‰J”s˜4Ÿ?™?Ó+Ô,Ø—.‘.Ñ(Ø—
‘
˜4Ÿ9™9›;¨™?Ô+ð —.‘.Ó(à�I‰I�gÔØ�~‰~Ñ)Ð)Ð)Ø�~‰~Ðrk   c                ó2  • U R                  U5      (       d  gU R                  U5        U R                  bb  U R                  R                  U R
                  :w  d5  U R                  R                  U R                  :w  d  U R                  (       a  SU l        ggg)z%Select a given frame as current imageN)Ú_seek_checkrY  Ú_imÚimrï   Ú
_tile_sizeÚmodeÚreadonly)r‹   Úframes     ra   rô  ÚTiffImageFile.seek¾  sl   € à×Ñ ×&Ñ&ØØ�
‰
�5ÔØ�8‰8ÑØ�G‰G�L‰L˜DŸO™OÓ+Ø�w‰w�|‰|˜tŸy™yÓ(Ø�}�}àˆD�Hð ð  rk   c                ó°  • [        U R                  [        5      (       a  U R                  R                  eU R                  U l        [        U R                  5      U::  GaÜ  U R                  (       d  Sn[        U5      e[        R                  SUU R                  U R                  U R                  R                  5       5        U R                  S:¼  a  Sn[        U5      eU R                  R                  U R                  5        U R                  R                  U R                  5        [        R                  SU R                  R                  5       5        U R                   R#                  U R                  5        U R                   R$                  U R                  ;   a  SU l        OU R                   R$                  U l        U R                  S:X  a
  US-   U l        [        U R                  5      S:X  a  U R                  S:g  U l        U =R                  S-  sl        [        U R                  5      U::  a  GMÜ  U R                  R                  U R                  U   5        U R                   R#                  U R                  5        [*        U R                   ;   aK  U R                   [*           n[        U[,        5      (       a  [        U5      S:X  a  US   nX0R.                  S'   OSU R.                  ;   a  U R.                  S	 U R1                  5         [2        R5                  U R                   5      =U l        U l        Xl        U R;                  5         g )	Nzno more images in TIFF filez9Seeking to frame %s, on frame %s, __next %s, location: %sl            zUnable to seek to framezLoading tags, location: %sr   r   Úxmp)r—   rV  r   Úexrà  r^   rW  rT  ÚEOFErrorrò  ró  rU  rî  rv  rô  r
  rR  rý  r%  rX  Úis_animatedÚXMPrf   rg  Ú_reload_exifr)  r5  rJ  r  Ú_setup)r‹   rh  r(  rk  s       ra   rY  ÚTiffImageFile._seekÊ  sF  € Ü�d—h‘h¤×.Ñ.Ø—(‘(—+‘+ÐØ—(‘(ˆŒä�$—/‘/Ó" eÔ+Ø—;—;Ø3�Ü˜s“mÐ#Ü�L‰LØKØØ—‘Ø—‘Ø—‘—‘“ôð �{‰{˜eÓ#Ø/�Ü  “oÐ%Ø�G‰G�L‰L˜Ÿ™Ô%Ø�O‰O×"Ñ" 4§;¡;Ô/Ü�L‰LÐ5°t·w±w·|±|³~ÔFØ�K‰K×Ñ˜TŸW™WÔ%Ø�{‰{×Ñ 4§?¡?Ó2ð  �•à"Ÿk™k×.Ñ.�”Ø�{‰{˜aÓØ!&¨¡�”Ü�4—?‘?Ó# qÓ(Ø#'§;¡;°!Ñ#3�Ô Ø�LŠL˜AÑ�Lô9 �$—/‘/Ó" eÖ+ð: 	�‰�‰�T—_‘_ UÑ+Ô,Ø�‰×Ñ˜Ÿ™Ô!Ü�$—+‘+ÓØ—+‘+œcÑ"ˆCÜ˜#œu×%Ñ%¬#¨c«(°a«-Ø˜!‘f�Ø"�I‰I�eÒØ�d—i‘iÓØ—	‘	˜%Ð Ø×ÑÔä3×;Ñ;¸D¿K¹KÓHÐHˆŒ�4”8ØŒØ�‰�rk   c                ó   • U R                   $ )zReturn the current frame number)rU  rž   s    ra   rî  ÚTiffImageFile.tellû  s   € à�|‰|Ðrk   c                óH  • 0 nU R                   R                  [        R                  R                  5      nU(       aÊ  UR                  S5      (       a´  [        U5      S:¼  a¥  [        USS 5      n[        R                  " US   S-   S-  5      S-  n [        USU-   SU-    5      nUSU-   SU-   U-    nSU0X'   U[        R                  " SU-   U-   S-  5      S-  S	 nUR                  S5      (       a  [        U5      S:¼  a  M¥  U$ ! [        R                   a     U$ f = f)
a  
Returns a dictionary of Photoshop "Image Resource Blocks".
The keys are the image resource ID. For more information, see
https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/#50577409_pgfId-1037727

:returns: Photoshop "Image Resource Blocks" in a dictionary.
s   8BIMr@   r)   r-   r   r%   rÎ  rþ   N)rR  rð  r   ÚBaseÚImageResourcesre   r^   Úi16ÚmathÚceilÚi32r  Úerror)r‹   Úblocksrq   ÚidÚnrï   rþ   s          ra   Úget_photoshop_blocksÚ"TiffImageFile.get_photoshop_blocksÿ  s  € ð ˆØ�k‰k�o‰oœhŸm™m×:Ñ:Ó;ˆÞØ—.‘. ×)Ñ)¬c°#«h¸"«nÜ˜˜Q˜q˜“]�Ü—I’I˜s 1™v¨™z¨QÑ.Ó/°!Ñ3�ðÜ˜s 1 q¡5¨2°©6Ð2Ó3�Dð ˜2 ™6 B¨¡F¨T¡MÐ2�Ø$ d˜^�‘
àœ$Ÿ)š) R¨!¡V¨d¡]°aÑ$7Ó8¸1Ñ<Ð>Ð?�ð —.‘. ×)Ñ)¬c°#«h¸"­nð ˆøô —|‘|ó Øð
 ˆðús   ÂD	 Ä	D!Ä D!c                ó„   >• U R                   (       a!  U R                  (       a  U R                  5       $ [        TU ]  5       $ rd   )ÚtileÚuse_load_libtiffÚ_load_libtiffr+  rý  )r‹   r-  s    €ra   rý  ÚTiffImageFile.load  s-   ø€ Ø�9�9˜×.×.Ø×%Ñ%Ó'Ð'Ü‰w‰|‹~Ðrk   c                ó  • U R                   cY  [        R                  " U R                  5        [        R                  R                  U R                  U R                  5      U l        [        R                  R                  U 5        g rd   )
rc  r   Ú_decompression_bomb_checkre  ÚcoreÚnewrf  rd  r   Úload_preparerž   s    ra   r‹  ÚTiffImageFile.load_prepare  sP   € Ø�8‰8ÑÜ×+Ò+¨D¯O©OÔ<Ü—j‘j—n‘n T§Y¡Y°·±Ó@ˆDŒGÜ×Ñ×(Ñ(¨Õ.rk   c                óx  • U R                   (       dF  SU l        U R                  5       n[        R                   H  nX!;  a  M
  UR                  U5        M     [        R                  " U SS9  [        R                  R                  U R                  ;   a&  U R                  [        R                  R                  	 g g )NT)Úin_place)rn  Ú!_close_exclusive_fp_after_loadingÚgetexifr   ÚTAGS_V2_GROUPSÚget_ifdr   Úexif_transposer   rv  ÚOrientationrR  )r‹   ÚexifÚkeys      ra   Úload_endÚTiffImageFile.load_end"  s‰   € ð ××Ø59ˆDÔ2ð —<‘<“>ˆDÜ×.Ô.�Ø“?ÙØ—‘˜SÖ!ñ /ô
 	×Ò ¨tÒ4Ü�=‰=×$Ñ$¨¯©Ó3Ø—‘œHŸM™M×5Ñ5Ñ6ð 4rk   c                ó:  • [         R                   R                  U 5        U R                  5         [        U R                  5      S:X  d  Sn[        U5      eU R                  S   S   nU R                  S   S   nU R                  c   e [        U R                  S5      =(       a    U R                  R                  5       n[        U R                  S5      (       a  U R                  R                  5         U(       a1  [        U[        5      (       d   e[        U5      nXES	'   [        U5      n[         R                  " U R                  S
X0R                  5      n UR!                  U R"                  U5        U R&                  =(       a    U R(                  (       + n[        U R                  S5      (       aA  [*        R-                  S5        UR/                  U R                  R1                  5       5      u  pšOøU(       a–  [*        R-                  S5        U(       d  U R                  R3                  S5        [4        R6                  " US[4        R8                  5      nUR/                  S5      u  pš[4        R6                  " XK[4        R:                  5        O[[*        R-                  S5        U R                  R3                  S5        UR/                  U R                  R=                  5       5      u  pš/ U l        SU l        U RA                  5         U(       a!  U R                  RC                  5         SU l        U
S:  a  SU
 3n[        U5      e[         R                   R                  U 5      $ ! [
         a    Sn GNƒf = f! [$         a  nSn[        U5      UeSnAff = f)zOOverload method triggered when we detect a compressed tiff
Calls out to libtiffr   zNot exactly one tiler   r'   NÚfilenoÚflushFr%   ÚlibtiffzCouldn't set the imageÚgetvaluez5have getvalue. just sending in a string from getvaluez3have fileno, calling fileno version of the decoder.s   fpfpz+don't have fileno or getvalue. just readingzdecoder error )"r   rý  r‹  r^   rƒ  rß  rà  rã   rš  r›  r—   rf   r!  Ú_getdecoderrf  ÚdecoderconfigÚsetimagerd  rv  Ú_exclusive_fprn  rò  ró  r¢  r�  rô  ÚosÚlseekÚSEEK_CURÚSEEK_SETrÞ  rg  r—  Úclose)r‹   r(  ÚextentsrŒ   rà  Ú	args_listÚdecoderÚeÚclose_self_fpr  ÚerrÚposs               ra   r…  ÚTiffImageFile._load_libtiff3  s®  € ô 	�‰×Ñ˜Ôà×ÑÔä�4—9‘9‹~ Ó"Ø(ˆCÜ˜#“,Ðð —)‘)˜A‘,˜q‘/ˆØ�y‰y˜‰|˜A‰ˆð
 �w‰wÑ"Ð"Ð"ð
	Ü˜Ÿ™ (Ó+×@°·±·±Ó0@ˆBô �t—w‘w ×(Ñ(Ø—‘—‘”ö Ü˜d¤E×*Ñ*Ð*Ð*Ü˜T›
ˆIØ�a‰LÜ˜Ó#ˆDä×#Ò# D§I¡I¨y¸$×@RÑ@RÓSˆð	&Ø×Ñ˜TŸW™W gÔ.ð
 ×*Ñ*×C°4×3CÑ3CÔ/CˆÜ�4—7‘7˜J×'Ñ'ô �L‰LÐPÔQØ—^‘^ D§G¡G×$4Ñ$4Ó$6Ó7‰FˆAˆsÞä�L‰LÐNÔOÞ Ø—‘—‘˜Q”ô —(’(˜2˜q¤"§+¡+Ó.ˆCà—^‘^ GÓ,‰FˆAÜ�HŠH�RœbŸk™kÕ*ô �L‰LÐFÔGØ�G‰G�L‰L˜ŒOà—^‘^ D§G¡G§L¡L£NÓ3‰FˆAàˆŒ	ØˆŒà�‰ŒæØ�G‰G�M‰MŒOØˆDŒGà�‹7Ø" 3 %Ð(ˆCÜ˜#“,Ðä�{‰{×Ñ Ó%Ð%øôG ó 	ð ‹Bð	ûô ó 	&Ø*ˆCÜ˜#“, AÐ%ûð	&ús+   Â
A,M* ÅM= Í*M:Í9M:Í=
NÎNÎNc                óð  • SU R                   ;   a  Sn[        U5      e[        U R                   R                  [        S5         U l        U R                   R                  [        S5      U l        U R                   R                  [        S5      nU R
                  S:X  a  SnU R                   R                  [        S5      n[        R                  S5        [        R                  SU R
                  5        [        R                  S	U5        [        R                  S
U R                  5        [        R                  SU5        [        R                  SU R                   R                  [        5      5         U R                   [           nU R                   [           n[#        U[$        5      (       a  [#        U[$        5      (       d  Sn['        U5      eXE4U l        U R                   R                  [*        R,                  R.                  5      nUS;   a	  XT4U l        OXE4U l        [        R                  SU R2                  5        U R                   R                  [4        S5      n[7        U5      S:”  a  [9        U5      [;        U5      :X  a  US   4nU R                   R                  [<        S5      n	U R                   R                  [>        S5      n
U R                   R                  [@        U R
                  S:X  a  US;   a  SOS5      nUS;   a  SnOUS:X  a  SnOSnU R                  S:X  a5  U
(       a.  [9        U
5      S:X  a  U	S[7        U
5      *  n	U[7        U
5      -  nSn
U[7        U
5      -  n[7        U	5      nU[B        :”  a#  [        RE                  SU5        Sn[G        U5      eX½:  a  U	SU n	OX½:”  a
  US:X  a  X›-  n	[7        U	5      U:w  a  Sn[G        U5      eU R                   RH                  UUUU	U
4n[        R                  SU5         [J        U   u  U l&        n[        R                  S U5        [        R                  S!U RN                  5        U R
                  U RP                  S"'   U R                   R                  [R        S5      nU R                   R                  [T        S5      nU(       a“  U(       aŒ  U R                   R                  [V        5      nUS:X  a  UU4U RP                  S#'   OUUS:X  a  US$-  US$-  4U RP                  S#'   O7Uc#  UU4U RP                  S#'   UU4U RP                  S%'   OUU4U RP                  S%'   S=n=nn/ U l,        [Z        =(       d    U R
                  S&:g  U l.        U R\                  (       aå  US:X  a5  USS S-   USS -   n[        R                  SU5        [J        U   u  U l&        nUS:X  a#  U R
                  S':X  a  U R                  S:X  a  S(nO'US):X  a  S*nOUR_                  S+5      (       a  USS, S--   nXðR
                  S.U R                   R`                  4nU RX                  Rc                  [d        Rf                  " S/SSXE4SU5      5        GO[h        U R                   ;   d  [j        U R                   ;   GaÃ  [h        U R                   ;   a6  U R                   [h           nU R                   R                  [l        U5      nUnOŠU R                   [j           nU R                   R                  [n        5      nU R                   R                  [p        5      n[#        U[$        5      (       a  [#        U[$        5      (       d  S0n['        U5      eUnUU:X  a  UU:X  a  U R                  S:w  a  US,S nU HÇ  nUU-   U:”  a  U[s        U	5      -  S1-  nOSnUnU R                  S:X  a
  UU   nUU-  nU[%        U5      S4nU RX                  Rc                  [d        Rf                  " U R
                  UU[;        UU-   U5      [;        UU-   U5      4UU5      5        UU-  nUU:¼  d  M±  SUU-   nnUU:¼  d  MÀ  SnUS-  nMÉ     O"[        R                  S25        Sn[G        U5      e[t        U R                   ;   a   U R                   [t           U RP                  S3'   U RN                  S4;   a[  U R                   [v            Vs/ s H  n[y        US5-  5      PM     n n[z        R|                  " S6S7R                  U 5      5      U l@        gg! [         a  nSn[!        U5      UeSnAff = f! [         a(  n[        R                  S5        Sn[G        U5      UeSnAff = fs  snf )8z-Setup this image object based on current tagsi¼  z+Windows Media Photo files not yet supportedr   r   r.   r-   z*** Summary ***z- compression: %sz - photometric_interpretation: %sz- planar_configuration: %sz- fill_order: %sz- YCbCr subsampling: %szMissing dimensionsNzInvalid dimensions)r+   r-   r/   r1   z
- size: %sr<   r=   )r%   r-   r'   )r%   r-   r1   r+   r)   r%   z.More samples per pixel than can be decoded: %sz#Invalid value for samples per pixelzunknown data organizationzformat key: %sz- unsupported formatzunknown pixel modez- raw mode: %sz- pil mode: %sÚcompressionÚdpigR¸…ëQ@Ú
resolutionr$   r0   rJ   rA   úI;16N)z;16Bz;16Lrm   ÚNFrœ  zInvalid tile dimensionsr1   z- unsupported data organizationÚicc_profile©rV   rX   r!   úRGB;Lrk   )ArR  rß  ÚCOMPRESSION_INFOrð  ÚCOMPRESSIONÚ_compressionÚPLANAR_CONFIGURATIONÚ_planar_configurationÚPHOTOMETRIC_INTERPRETATIONÚ	FILLORDERrò  ró  ÚYCBCRSUBSAMPLINGÚ
IMAGEWIDTHÚIMAGELENGTHrñ  Ú	TypeErrorr—   r™   rv  re  r   rv  r”  Ú_sizerï   ÚSAMPLEFORMATr^   r‚   r�   ÚBITSPERSAMPLEÚEXTRASAMPLESÚSAMPLESPERPIXELÚMAX_SAMPLESPERPIXELr|  r  ri   Ú	OPEN_INFOÚ_moderf  rg  ÚX_RESOLUTIONÚY_RESOLUTIONÚRESOLUTION_UNITrƒ  ÚREAD_LIBTIFFr„  r¡  rü  r
  r   Ú_Tiler  ÚTILEOFFSETSÚROWSPERSTRIPÚ	TILEWIDTHÚ
TILELENGTHÚsumÚ
ICCPROFILEÚCOLORMAPr   r   r$   r  Úpalette)!r‹   r(  ÚphotoÚ	fillorderÚxsizeÚysizerª  ÚorientationÚsample_formatÚ	bps_tupleÚextra_tupleÚsamples_per_pixelÚ	bps_countÚbps_actual_countr–  ÚrawmodeÚxresÚyresÚresunitÚxÚyÚlayerr­  Úoffsetsr‘  ÚwÚ	tilewidthrü  ÚstrideÚtile_rawmoderŒ   r�  r×  s!                                    ra   rq  ÚTiffImageFile._setup”  s9  € ð �T—[‘[Ó Ø?ˆCÜ˜#“,Ðô -¨T¯[©[¯_©_¼[È!Ó-LÑMˆÔØ%)§[¡[§_¡_Ô5IÈ1Ó%MˆÔ"ð —‘—‘Ô :¸AÓ>ˆð ×Ñ Ó+ØˆEà—K‘K—O‘O¤I¨qÓ1ˆ	ä�‰Ð&Ô'Ü�‰Ð(¨$×*;Ñ*;Ô<Ü�‰Ð7¸Ô?Ü�‰Ð1°4×3MÑ3MÔNÜ�‰Ð'¨Ô3Ü�‰Ð.°·±·±Ô@PÓ0QÔRð	(Ø—K‘K¤
Ñ+ˆEØ—K‘K¤Ñ,ˆEô ˜%¤×%Ñ%¬Z¸¼s×-CÑ-CØ&ˆCÜ˜S“/Ð!Ø˜,ˆŒØ—k‘k—o‘o¤h§m¡m×&?Ñ&?Ó@ˆØ˜,Ó&Ø˜ˆD�Jà˜ˆDŒJä�‰�\ 4§9¡9Ô-àŸ™Ÿ™¬°dÓ;ˆÜˆ}Ó Ó!¤c¨-Ó&8¼CÀÓ<NÓ&Nð +¨1Ñ-Ð/ˆMà—K‘K—O‘O¤M°4Ó8ˆ	Ø—k‘k—o‘o¤l°BÓ7ˆØ ŸK™KŸO™OÜØ×"Ñ" kÓ1°e¸v³o‰AÈ1ó
Ðð �IÓØ‰IØ�a‹ZØ‰IàˆIØ×%Ñ%¨Ó*®{¼sÀ;Ó?OÐSTÓ?Tð "Ð"5¤S¨Ó%5Ð$5Ð6ˆIØ¤ [Ó!1Ñ1ÐØˆKØ”S˜Ó%Ñ%ˆ	Ü˜y›>ÐàÔ2Ó2ä�L‰LØ@ÐBSôð 8ˆCÜ˜cÓ"Ð"àÓ/ð "Ð"4Ð#4Ð5‰IØÓ1Ð6FÈ!Ó6Kð "Ñ5ˆIäˆy‹>Ð.Ó.Ø-ˆCÜ˜cÓ"Ð"ð �K‰K×ÑØØØØØð
ˆô 	�‰Ð% sÔ+ð	*Ü"+¨C¡.ÑˆDŒJ˜ô 	�‰Ð% wÔ/Ü�‰Ð% t§y¡yÔ1à#'×#4Ñ#4ˆ�	‰	�-Ñ à�{‰{�‰œ|¨QÓ/ˆØ�{‰{�‰œ|¨QÓ/ˆæ–DØ—k‘k—o‘o¤oÓ6ˆGØ˜!‹|Ø$(¨$ <�—	‘	˜%Ò Ø˜A“Ø$(¨4¡K°¸±Ð#=�—	‘	˜%Ò Ø‘Ø$(¨$ <�—	‘	˜%Ñ ð +/°¨*�—	‘	˜,Ò'à*.°¨*�—	‘	˜,Ñ'ð ÐˆÐˆA�ØˆŒ	Ü ,× J°×0AÑ0AÀUÑ0JˆÔØ× × ð ˜A‹~à˜"˜1�g ‘n s¨1¨2 wÑ.�Ü—‘Ð-¨sÔ3ô '0°¡nÑ#�”
˜Gð ˜“
Ø×%Ñ%¨Ó/Ø×.Ñ.°!Ó3à‘ð
 ˜FÓ"Ø!‘Ø×!Ñ!Ð"2×3Ñ3Ø! # 2˜,¨Ñ,�ð ×+Ñ+¨U°D·K±K×4FÑ4FÐGˆAØ�I‰I×ÑœYŸ_š_¨Y¸¸A¸uÐ8LÈaÐQRÓSÖTä˜TŸ[™[Ó(¬K¸4¿;¹;Ô,Fä˜tŸ{™{Ó*ØŸ+™+¤lÑ3�Ø—K‘K—O‘O¤L°%Ó8�Ø‘ð Ÿ+™+¤kÑ2�Ø ŸK™KŸO™O¬IÓ6�	Ø—K‘K—O‘O¤JÓ/�Ü! )¬S×1Ñ1¼ÀAÄs×9KÑ9KØ3�CÜ$ S›/Ð)Ø�à�E‹z˜a 5›j¨T×-GÑ-GÈ1Ó-Là! " #˜,�ã!�Ø�q‘5˜5“=Ø¤ Y£Ñ/°!Ñ3‘Fà�Fà&�Ø×-Ñ-°Ó2à#*¨5¡>�Là˜iÑ'�Fà$¤c¨&£k°1Ð5�Ø—	‘	× Ñ Ü—O’OØ×)Ñ)Ø˜Aœs 1 q¡5¨%Ó0´#°a¸!±e¸UÓ2CÐDØØó	ôð �Q‘�Ø˜•:Ø˜a !™e�q�AØ˜E•zØ˜Ø ™
šò7 "ô: �L‰LÐ:Ô;Ø-ˆCÜ˜cÓ"Ð"ô ˜Ÿ™Ó$Ø'+§{¡{´:Ñ'>ˆD�I‰I�mÑ$ð �9‰9˜Ó#Ø-1¯[©[¼Ò-BÓCÒ-B¨”r˜!˜s™(–|Ñ-BˆGÐCÜ'×+Ò+¨G°S·X±X¸gÓ5FÓGˆD�Lð $øôg ó 	(Ø&ˆCÜ˜C“. aÐ'ûð	(ûô\ ó 	*Ü�L‰LÐ/Ô0Ø&ˆCÜ˜cÓ"¨Ð)ûð	*üòL Ds6   Å6&d Ðd> ãe3ä
d;ä(d6ä6d;ä>
e0å#e+å+e0)Ú__firstÚ__frameÚ__nextr�  rº  rV  rW  rc  rÊ  rX  r¼  rÃ  re  rà  r  rd  rn  r×  rg  rJ  rR  rƒ  r„  rd   )rà  úStrOrBytesPath | IO[bytes]rO  zstr | bytes | Noner�   rÖ   r  r×   )rh  r™   r�   rÖ   )r�   zdict[int, dict[str, bytes]])r�   zImage.core.PixelAccess | None)rÜ   rÝ   rÞ   rß   ÚformatÚformat_descriptionr�  r›   rZ  râ   r_  rô  rY  rî  r€  rý  r‹  r—  r…  rq  rä   rI  rJ  s   @ra   rL  rL  ‡  s‘   ø† Ø€FØ%ÐØ(-Ð%ð
 (,ð'à&ð'ð %ð'ð 
÷	'ð 'ôð2 ó	ó ð	ô
ô/ôbô÷0ô
/ô7ô"_&÷BuHò uHrk   rL  r>   r?   rI   rV   rX   rD   rH   rA   úI;16LrF   rG   rJ   rM   rK   rY   ÚYCbCrr\   rC   c                ó°  •  [         U R                     u  p4pVpxU R                  nU R
                  n[        US9nUR                  S5      (       a  SUl         US   nUc  SnOUS:X  a  S	nOUS
:X  a  Sn[        =(       d    US:g  nSU[        '   U R                  S   U[        '   U R                  S   U[         '   SU;   a  US   nOKSU;   aC  US   n[        U["        5      (       a(  [$        R&                  " 5       nUR)                  U5        UnO0 n[*        R-                  S[/        U5      5        [        U[0        5      (       a  UR3                  5       nU H|  n[        U[$        R&                  5      (       a)  U[4        R6                  ;   a  UR9                  U5      UU'   OUR                  U5      UU'    UR:                  U   UR:                  U'   M~     0 n[?        U S5      (       a  U R@                  R3                  5       n0 UE[C        U S0 5      EnUR                  [        5      S:X  a<  [D        U;   a2  [F        U;   a!  U[F        ==   [I        U[D           5      -  ss'   U[D        	 [J        [L        4 H  nUU;   d  M  UU	 M     [?        U S5      (       a»  [N        [P        [R        [T        [V        [X        4 H—  nUU RZ                  ;   d  M  U[T        :X  a@  U RZ                  R:                  U   [4        R\                  [4        R^                  4;  a  UU	 M_  U RZ                  U   UU'   U RZ                  R:                  U   UR:                  U'   M™     UR                  SU R                  R                  S5      5      nU(       a	  UU[`        '   [b        S4[P        S4[R        S4[P        S4[R        S4[N        S4[d        S4[f        S4[h        S4[j        S44
 H  u  nnUU;   d  M  UU   UU'   M     UR                  S5      nU(       a!  SU[N        '   US   U[P        '   US   U[R        '   US:w  a)  X}[l        '   [I        U5      S:w  a  [I        U5      U[F        '   Ub  X�[D        '   US:w  a  Xm[L        '   [n        U;  a	  X][n        '   OµU R                  S ;   a¥  U[n           S:X  a˜  U R                  S!:X  ar  U Rq                  5       nUR)                  5       nUbN  [s        URt                  5       H3  n[s        URv                  5       H  nUUU4   S":X  a  SOS"UUU4'   M     M5     Un O[x        Rz                  " U 5      n U R                  S#;   ax  U R|                  R                  S$S%5      n/ n[I        U5      S&-  n[s        S&5       H4  n UUUU -  UU S-   -    V!s/ s H  n!U!S'-  PM
     sn!-  nUS/S'U-
  -  -  nM6     UU[€        '   U[           U[            n#n"[I        U5      U"US   -  S(-   S)-  -  n$[‚        U;  ac  U(       aI  UR                  S*[„        5      n%U$S:X  a  SO[‡        U%U$-  U#5      n&US	:X  a  [‡        U&S(-   S)-  S)-  U#5      n&OU#n&U&S:X  a  Sn&U&U[‚        '   U$S:X  a  SOU$U[‚           -  n'U#U[‚           -   S-
  U[‚           -  n(U'S+:¼  a!  [4        Rˆ                  UR:                  [Š        '   U'4U(S-
  -  U$U#-  U'U(S-
  -  -
  4-   U[Š        '   [�        [s        SU'U(-  U'5      5      U[Ž        '   [�        R                  US5      U[’        '   U R                  S,:X  a8  [”        S-[–        S.0R™                  5        H  u  nn)UR›                  UU)5        M     [œ        [ž        [         [¢        /n*U(       GaÐ  S/U;   aO  US/   n+[        U+[        5      (       a  U+S:  d  U+S0:”  a  S1n
[¥        U
5      eUS	:w  a  S2n
[¥        U
5      eU+U[¦        '   [*        R-                  S35        [*        R-                  S4[©        UR™                  5       5      5        Sn,[?        US55      (       a"   UR«                  S5        UR­                  5       n,0 n-U*[²        [–        [Š        [Ž        [´        [¶        /-  n*[l        US   0n.[¸        Rº                  " UR™                  5       UR™                  5       5       GHN  u  nn/U[4        R¼                  ;  aÈ  U[4        R6                  ;   a  [4        R¾                  U-U'   O UUR:                  ;   a  UR:                  U   U-U'   O}[        U/[        [À        [Â        ["        45      (       d,  [        U/[Œ        5      (       aC  [Å        S6 U/ 5       5      (       a,  [4        RÆ                  " U5      RÈ                  n0U0(       a  U0U-U'   UU.;  d  Më  UU*;  d  Mó  [        U/[Â        5      (       a  U/RË                  S7S85      S9-   U.U'   GM#  [        U/[Ì        5      (       a  [Á        U/5      U.U'   GMI  U/U.U'   GMQ     [L        U.;   a)  [I        U.[L           5      S:X  a  U.[L           S   U.[L        '   [*        R-                  S:[©        U.R™                  5       5      5        U R                  S;;   a  S<n[/        U.R™                  5       5      n1U1RÏ                  5         X>U,UU1U-4n2[$        RÐ                  " U R                  S=U2U5      n3U3RÓ                  U R|                  S>U R                  -   5         U3RË                  [Ô        RÖ                  5      SS  u  n4n5U,(       d  URÙ                  U55        U4(       a  OMG  U4S:  a  S?U4 S@3n
[        U
5      eO]U* H  nUU	 M     URÛ                  U5      n6[Ô        RÜ                  " U U[Ô        RÞ                  " SS>U R                  -   U6UU$S45      /5        SAU;   a  [á        U SAU5        g g ! [         a!  n	SU R                   S3n
[        U
5      U	eS n	A	ff = f! [         a6    U R                  R                  S5      n[        U[        5      (       a  S n GNÅf = f! [<         a     G
MÜ  f = fs  sn!f ! [®        R°                   a     GNf = f)BNzcannot write mode z as TIFFrh   Úbig_tiffTr°  r$   r.   r0   r6   r2   r   r   Útiffinfor•  zTiffinfo Keys: %srJ  rR  r%   rµ  Údescriptionr²  Úx_resolutionÚy_resolutionÚresolution_unitÚsoftwareÚ	date_timeÚartistÚ	copyrightr±  r<   )r>   r?   r>   r    r¶  rJ   r·  r'   r!   r/   r1   Ú
strip_sizer   r÷  )r   r   )r   r    é€   r    r  r    Úqualityéd   zInvalid quality settingz5quality setting only supported for 'jpeg' compressionzSaving using libtiff encoderz	Items: %srš  c              3  óX   #   • U  H   n[        U[        [        [        45      v •  M"     g 7frd   )r—   r™   ry   ro   rZ  s     ra   rb   Ú_save.<locals>.<genexpr>§  s!   é € ÐTÊeÈœJ q¬3´´{Ð*C×DÐDÊeùs   ‚(*rd  rë   r   zConverted items: %s)rA   rC   rö  r³  rœ  rN   zencoder error z when writing image fileÚ_debug_multipage)qÚ	SAVE_INFOrf  rñ  rß  ÚencoderinfoÚencoderconfigrå   rð  r!  rg  r—   r™   ÚWRITE_LIBTIFFr»  rï   rÀ  rÁ  r  r   ÚExifrý  rò  ró  r!  r)  r8  r   r‘  r’  r#  r3  rã   rJ  r‰   rÆ  rÇ  r^   ÚEXIFIFDrÄ  rÍ  rË  rÌ  ÚIPTC_NAA_CHUNKÚPHOTOSHOP_CHUNKro  rR  rs  ri  rÕ  ÚIMAGEDESCRIPTIONÚSOFTWAREÚ	DATE_TIMEÚARTISTÚ	COPYRIGHTrÅ  r½  Úcopyrï  ÚheightÚwidthr   Úinvertrd  Ú
getpaletterÖ  rÑ  Ú
STRIP_SIZEr�   ro  ÚSTRIPBYTECOUNTSrf   r  ÚCOMPRESSION_INFO_REVr¹  r¿  ÚREFERENCEBLACKWHITEr?  Ú
setdefaultrÒ  rÓ  rÐ  ÚTILEBYTECOUNTSrv  ÚJPEGQUALITYr  rô  rš  ÚioÚUnsupportedOperationÚOSUBFILETYPEÚTRANSFERFUNCTIONÚSUBIFDÚ	itertoolsÚchainÚLIBTIFF_COREr&  ry   r¨   rj  r@  rh  rt  ro   ÚsortÚ_getencoderr   r   ÚMAXBLOCKr  r  Ú_saverÏ  Úsetattr)7rd  rà  rO  rã  ri   rØ  rô  ÚbitsÚextrarª  r(  r  r  r  r°  rœ  rg  r•  r–  Ú
legacy_ifdÚsupplied_tagsrJ  Úiccr  r±  Úinverted_imÚpxrè  rç  ÚlutÚcolormapÚcolorsr{   r[  rë  r‘  rí  Úim_strip_sizeÚrows_per_stripÚstrip_byte_countsÚstrips_per_imageÚdefault_valueÚ	blocklistr  rV  ÚtypesÚattsrš   rh  rF  r­  ÚencoderÚerrcoderþ   rü  s7                                                          ra   r.  r.  ©  sh  € ð"Ü6?ÀÇÁÑ6HÑ3ˆ˜¨ð
 —.‘.€KØ×$Ñ$€Mä
 vÑ
.€CØ‡��z×"Ñ"ØˆŒðØ! -Ñ0ˆð ÑØ‰Ø	˜Ó	#à‰Ø	˜Ó	&Ø*ˆä×3˜{¨eÑ3€Gð !"€CÔÑà—g‘g˜a‘j€CŒ
�OØ—w‘w˜q‘z€CŒÑð �[Ó Ø˜:Ñ&‰Ø	�;Ó	Ø˜6Ñ"ˆÜ�dœE×"Ñ"Ü—:’:“<ˆDØ�I‰I�dŒOØˆDøàˆÜ
‡L�LÐ$¤d¨4£jÔ1Ü�$Ô-×.Ñ.Ø�z‰z‹|ˆÛˆÜ�dœEŸJ™J×'Ñ'¨C´8×3JÑ3JÓ,JØ—|‘| CÓ(ˆC�ŠHà—x‘x “}ˆC�‰Hð	Ø#Ÿ|™|¨CÑ0ˆC�K‰K˜Óñ ð €JÜˆr�5×ÑØ—V‘V—\‘\“^ˆ
à?�zÐ?¤W¨R°¸2Ó%>Ð?€MØ×ÑÔ-Ó.°!Ó3¼ÈÓ8Uô ˜mÓ+Øœ/Ó*¬c°-ÄÑ2MÓ.NÑNÓ*Øœ,Ð'ô 	äó	ˆð �-ÕØ˜cÒ"ñô ˆr�8×Ñô ÜÜÜÜÜó
ˆCð �b—i‘iÕØœ.Ó(¨R¯Y©Y×->Ñ->¸sÑ-CÜ—M‘MÜ×&Ñ&ðLó .ð & cÒ*à!Ÿy™y¨™~�C˜‘HØ')§y¡y×'8Ñ'8¸Ñ'=�C—K‘K Ó$ñ!
ð( �/‰/˜-¨¯©¯©°]Ó)CÓ
D€CÞ
ØˆŒJ‰ô 
˜=Ð)Ü	�|Ð$Ü	�|Ð$Ü	�~Ð&Ü	�~Ð&Ü	Ð+Ð,Ü	�:ÐÜ	�KÐ Ü	�ÐÜ	�KÐ ó‰	ˆˆTð �;ÕØ" 4Ñ(ˆC�‹Hñð �/‰/˜%Ó
 €CÞ
Ø ˆŒOÑØ ™FˆŒLÑØ ™FˆŒLÑàˆtƒ|Ø!ŒMÑÜˆt‹9˜‹>Ü#& t£9ˆC”Ñ ØÑØ!ŒLÑØ�ƒ{Ø"ŒLÑä!¨Ó,Ø*/Ô&Ò'Ø	�‰�JÓ	 3Ô'AÑ#BÀaÓ#GØ�7‰7�c‹>ØŸ'™'›)ˆKØ×!Ñ!Ó#ˆBØ‰~Ü˜{×1Ñ1Ö2�AÜ" ;×#4Ñ#4Ö5˜Ø(*¨1¨a¨4©°C«¡1¸S˜˜1˜a˜4›ó 6ñ 3ð !�øä—’ Ó$ˆBà	‡w�w�+ÓØ�e‰e×Ñ˜u gÓ.ˆØˆÜ�S“˜Q‘ˆÜ�q–ˆAØ¨#¨f°q©j¸6ÀQÈÁUÑ;KÑ*LÓMÒ*L Q˜˜SœÑ*LÑMÑMˆHØ˜˜˜s V™|Ñ,Ñ,ŠHñ ð !ˆŒH‰àŒz‰?˜C¤Ñ,€q€AÜ�‹Y˜1˜t A™w™;¨™?¨qÑ0Ñ1€FÜ˜3ÓæØ'ŸO™O¨L¼*ÓEˆMØ"(¨A£+™Q´3°}ÈÑ7NÐPQÓ3RˆNà˜fÓ$Ü!$ ~¸Ñ'9¸aÑ&?À1Ñ%DÀaÓ!H�øàˆNØ˜QÓØˆNØ*ˆŒLÑØ# q›[™¨f°s¼<Ñ7HÑ.HÐØ˜C¤Ñ-Ñ-°Ñ1°c¼,Ñ6GÑGÐØ˜EÓ!Ü'/§}¡}ˆ�‰”OÑ$Ø-Ð/Ð3CÀaÑ3GÑHØ�‰
Ð&Ð*:¸QÑ*>Ñ?Ñ?ðLñ €CŒÑô ÜˆaÐ"Ð%5Ñ5Ð7HÓIó€CŒÑô ,×/Ñ/°¸QÓ?€CŒÑà	‡w�w�'Óä˜fÜÐ!=ð#
÷ ‰%‹'ò#ÑˆC�ð �N‰N˜3 Ö.ñ	#ô œJ¬´^ÐD€IßØ˜Ó#Ø! )Ñ,ˆGÜ˜g¤s×+Ñ+¨w¸«{¸gÈ»mØ/�Ü  “oÐ%Ø˜fÓ$ØM�Ü  “oÐ%Ø&ˆC”Ñä�‰Ð3Ô4Ü�‰�[¤&¨¯©«Ó"5Ô6ØˆÜ�2�x× Ñ ðØ—‘˜”
Ø—i‘i“k�ð
 ˆð 	ÜÜÜÜÜÜð
ñ 	
ˆ	ô !.¨t°A©wÐ7ˆô $Ÿ/š/¨#¯)©)«+°}×7JÑ7JÓ7L×M‰JˆC�ð
 œ(×/Ñ/Ó/Øœ(×1Ñ1Ó1Ü!)§¡�E˜#’JØ˜CŸK™KÓ'Ø!$§¡¨SÑ!1�E˜#’JÜ ¬¬U´C¼Ð'?×@Ñ@Ü˜u¤e×,Ñ,ÜÑTÉeÓT×TÑTä#Ÿ?š?¨3Ó/×4Ñ4�DÞØ%)˜˜c™
Ø˜$� 3¨iÕ#7Ü˜e¤S×)Ñ)Ø %§¡¨W°iÓ @À5Ñ H�D˜”IÜ ¤{×3Ñ3Ü % e£�D˜”Ià %�D˜”Iñ/ Nô2 ˜4Ó¤C¨¬\Ñ(:Ó$;¸qÓ$@Ø!%¤lÑ!3°AÑ!6ˆD”Ñä�‰Ð*¬F°4·:±:³<Ó,@ÔAð �7‰7Ð0Ó0ØˆGô
 �D—J‘J“LÓ!ˆØ�	‰	ŒØ 3¨°$¸Ð>ˆÜ×#Ò# B§G¡G¨Y¸¸=ÓIˆØ×Ñ˜Ÿ™ ¨¯©Ñ 0Ô1ØØ#ŸN™N¬9×+=Ñ+=Ó>¸q¸rÐB‰MˆG�TÞØ—‘˜”ÞØñ ð �Q‹;Ø" 7 )Ð+CÐDˆCÜ˜#“,Ðð ó
 ˆCØ�C’ñ à—‘˜"“ˆä�ŠØØÜ�_Š_˜U F¨R¯W©WÑ$4°f¸wÈÐPQÐ>RÓSÐTô	
ð ˜[Ó(ä�Ð&¨Õ,ð )øôe	 ó "Ø" 2§7¡7 )¨8Ð4ˆÜ�c‹l Ð!ûð"ûô ó Ø—g‘g—k‘k -Ó0ˆÜ�k¤3×'Ñ'àˆKúð	ûôT ó 	Ûð	üòH Nøôt ×*Ñ*ó ÚðúsS   ‚n5 Áo# Æ8p&Öp8à!p= î5
o î?oïo ï#<p#ð"p#ð&
p5ð4p5ð=qñqc                  óŒ  • \ rS rSr/ SQr1 SkrS"S#S jjrS$S jrS$S jrS$S jr	S%S jr
S&S	 jrS'S
 jr\R                  4S(S jjrS$S jrS)S jrS$S jrS*S jrS+S jrS,S jrS'S jrS'S jr\S-S j5       r S.       S/S jjrS0S jrS0S jrS0S jrS1S jrS0S jrS0S jr S$S jr!S$S jr"S2S jr# S3       S4S jjr$S r%g!)5ÚAppendingTiffWriteriã  )r   r   r   r%   r)   r1   r   r   r%   r)   r1   r)   r1   r)   r%   r)   r1   >   r  é  é	  r"   é   r#   c                ó^  • U   [        U5      (       a(  Xl        SU l         [        X(       a  SOS5      U l        O#[        [        [           U5      U l        SU l        U R                  R                  5       U l
        U R                  5         g ! [
         a    [        US5      U l         NMf = f)NTzw+bzr+bF)r   r  Úclose_fpÚopenr¥   rß  r   r	   r  rî  Ú	beginningÚsetup)r‹   ÚfnrŠ  s      ra   r›   ÚAppendingTiffWriter.__init__  s„   € ÙÜ�2�;‰;ØŒIØ ˆDŒMð)Ü˜b­3¡%°EÓ:�•ô œ"œU™) RÓ(ˆDŒFØ!ˆDŒMØŸ™Ÿ™›ˆŒØ�
‰
�øô ó )Ü˜b %›�–ð)ús   ¡B ÂB,Â+B,c                óJ  • U R                   R                  U R                  [        R                  5        S U l        SU l        U R                   R                  S5      =U l        nSU;   U l	        U(       d  SU l
        g SU l
        U[        ;  a  Sn[        U5      eU R                  UR                  [        5      (       a  SOS5        U R                  (       a*  U R                   R                  S[        R                   5        U R#                  5         U R%                  5         g )	Nr   r)   ó   +TFzInvalid TIFF file headerr  r  )r¥   rô  rL  r¢  r¥  ÚwhereToWriteNewIFDOffsetÚoffsetOfNewPagerÞ  ÚIIMMr!  ÚisFirstrg   ÚRuntimeErrorÚ	setEndianre   r   r¤  ÚskipIFDsÚgoToEnd)r‹   Úiimmr(  s      ra   rM  ÚAppendingTiffWriter.setup  sÆ   € à�‰�‰�D—N‘N¤B§K¡KÔ0à48ˆÔ%Ø ˆÔàŸ6™6Ÿ;™; q›>Ð)ˆŒ	�DØ 4™ˆŒÞàˆDŒLØàˆŒØ”xÓØ,ˆCÜ˜sÓ#Ð#à�‰˜dŸo™o¬b×1Ñ1‘s°sÔ;à�=�=Ø�F‰F�K‰K˜œ2Ÿ;™;Ô'Ø�‰ŒØ�‰�rk   c                óÐ  • U R                   (       a  g U R                  R                  U R                  5        U R                  R	                  S5      nU(       d  g XR
                  :w  a  Sn[        U5      eU R                  (       a*  U R                  R                  S[        R                  5        U R                  U R                  (       a  SOS5      nX0R                  -  nU R                  c   eU R                  R                  U R                  5        U R                  X0R                  (       a  SOS5        U R                  R                  U5        U R                  5         g )Nr)   z1IIMM of new page doesn't match IIMM of first pager1   )rU  r¥   rô  rS  rÞ  rT  rV  r!  r¢  r¤  Ú_readrR  Ú_writeÚfixIFD)r‹   rZ  r(  Ú
ifd_offsets       ra   ÚfinalizeÚAppendingTiffWriter.finalize*  së   € Ø�<�<Øð 	�‰�‰�D×(Ñ(Ô)à�v‰v�{‰{˜1‹~ˆÞàà—9‘9ÓØEˆCÜ˜sÓ#Ð#à�=�=Ø�F‰F�K‰K˜œ2Ÿ;™;Ô'Ø—Z‘Z T§]§]¡¸Ó:ˆ
Ø×*Ñ*Ñ*ˆ
Ø×,Ñ,Ñ8Ð8Ð8Ø�‰�‰�D×1Ñ1Ô2Ø�‰�J§]§]¡¸Ô:Ø�‰�‰�JÔØ�‰�rk   c                óD   • U R                  5         U R                  5         g rd   )ra  rM  rž   s    ra   ÚnewFrameÚAppendingTiffWriter.newFrameD  s   € à�‰ŒØ�
‰
�rk   c                ó   • U $ rd   r=   rž   s    ra   Ú	__enter__ÚAppendingTiffWriter.__enter__I  s   € Øˆrk   c                óH   • U R                   (       a  U R                  5         g g rd   )rJ  r¦  )r‹   rŒ   s     ra   Ú__exit__ÚAppendingTiffWriter.__exit__L  s   € Ø�=�=Ø�J‰J�Lð rk   c                óP   • U R                   R                  5       U R                  -
  $ rd   )r¥   rî  rS  rž   s    ra   rî  ÚAppendingTiffWriter.tellP  s   € Ø�v‰v�{‰{‹}˜t×3Ñ3Ñ3Ð3rk   c                óœ   • U[         R                  :X  a  XR                  -  nU R                  R	                  X5        U R                  5       $ )zÁ
:param offset: Distance to seek.
:param whence: Whether the distance is relative to the start,
               end or current position.
:returns: The resulting position, relative to the start.
)r¢  r¥  rS  r¥   rô  rî  )r‹   rü  Úwhences      ra   rô  ÚAppendingTiffWriter.seekS  s:   € ð ”R—[‘[Ó Ø×*Ñ*Ñ*ˆFà�‰�‰�FÔ#Ø�y‰y‹{Ðrk   c                óB  • U R                   R                  S[        R                  5        U R                   R	                  5       nSUS-  -
  nSUs=:  a  S:  a'  O  O$U R                   R                  [        U5      5        U R                   R	                  5       U l        g )Nr   rB   )r¥   rô  r¢  ÚSEEK_ENDrî  r  r  rS  )r‹   r­  Ú	pad_bytess      ra   rY  ÚAppendingTiffWriter.goToEnd`  sj   € Ø�‰�‰�A”r—{‘{Ô#Ø�f‰f�k‰k‹mˆð ˜˜r™‘Mˆ	ØˆyÕ˜2ÖØ�F‰F�L‰Lœ˜yÓ)Ô*Ø#Ÿv™vŸ{™{›}ˆÕrk   c                ó´   • Xl         U R                    S3U l        U R                    S3U l        U R                    S3U R                  (       a  SOS-   U l        g )Nr?   r�  r  r  )ÚendianÚlongFmtÚshortFmtr!  Ú	tagFormat)r‹   rv  s     ra   rW  ÚAppendingTiffWriter.setEndianj  sJ   € ØŒØŸ+™+˜ aÐ(ˆŒØŸ;™;˜- qÐ)ˆŒØ ŸK™K˜=¨Ð+°d·m·m©sÈÑMˆ�rk   c                óÄ  •  U R                  U R                  (       a  SOS5      nUS:X  a6  U R                  R                  5       U R                  (       a  SOS-
  U l        g U R                  R                  U5        U R                  U R                  (       a  SOS5      nU R                  R                  X R                  (       a  SOS-  [        R                  5        Mà  )Nr1   r)   r   r%   ræ  r@   )r]  r!  r¥   rî  rR  rô  r¢  r¤  )r‹   r`  Únum_tagss      ra   rX  ÚAppendingTiffWriter.skipIFDsp  s•   € ØØŸ™¨¯¯¡A¸AÓ>ˆJØ˜Q‹Ø04·±·±³ØŸŸ‘A¨Añ1�Ô-ð à�F‰F�K‰K˜
Ô#Ø—z‘z t§}§}¡!¸!Ó<ˆHØ�F‰F�K‰K˜¯-¯-¡B¸RÑ@Ä"Ç+Á+ÔNñ rk   c               ó8   • U R                   R                  U5      $ rd   )r¥   r  rœ  s     ra   r  ÚAppendingTiffWriter.write}  s   € Ø�v‰v�|‰|˜DÓ!Ð!rk   c                óL   •  SSSS.U   $ ! [          a    Sn[        U5      ef = f)Nr�  r?   r  )r%   r)   r1   zoffset is not supported)rñ  rV  )r‹   Ú
field_sizer(  s      ra   Ú_fmtÚAppendingTiffWriter._fmt€  s8   € ð	$Ø˜s sÑ+¨JÑ7Ð7øÜó 	$Ø+ˆCÜ˜sÓ#Ð#ð	$ús   ‚ ‹#c                ó¢   • [         R                  " U R                  U R                  U5      -   U R                  R                  U5      5      u  nU$ rd   )r  rŠ  rv  r‚  r¥   rÞ  )r‹   r�  rš   s      ra   r]  ÚAppendingTiffWriter._read‡  s=   € Ü—=’=Ø�K‰K˜$Ÿ)™) JÓ/Ñ/°·±·±¸ZÓ1Hó
‰ˆð ˆrk   c                ó$   • U R                  S5      $ ©Nr%   ©r]  rž   s    ra   Ú	readShortÚAppendingTiffWriter.readShort�  ó   € Ø�z‰z˜!‹}Ðrk   c                ó$   • U R                  S5      $ ©Nr)   rˆ  rž   s    ra   ÚreadLongÚAppendingTiffWriter.readLong�  r‹  rk   c                ó<   • U b  X:w  a  SU  SU 3n[        U5      eg g )Nzwrote only z bytes but wanted )rV  )Úbytes_writtenÚexpectedr(  s      ra   Ú_verify_bytes_writtenÚ)AppendingTiffWriter._verify_bytes_written“  s4   € àÑ$¨Ó)BØ ˜Ð.@ÀÀ
ÐKˆCÜ˜sÓ#Ð#ð *CÐ$rk   c                ó&  • U R                   R                  U* [        R                  5        U(       d  UnU R                   R	                  [
        R                  " U R                  U R                  U5      -   U5      5      nU R                  XC5        g rd   )
r¥   rô  r¢  r¤  r  r  r�  rv  r‚  r“  )r‹   rš   r�  Únew_field_sizer‘  s        ra   Ú_rewriteLastÚ AppendingTiffWriter._rewriteLast™  sf   € ð 	�‰�‰�Z�K¤§¡Ô-ÞØ'ˆNØŸ™Ÿ™Ü�KŠK˜Ÿ™ d§i¡i°Ó&?Ñ?ÀÓGó
ˆð 	×"Ñ" =ÕArk   c                ó*   • U R                  USS5        g )Nr%   r)   ©r—  r¦  s     ra   ÚrewriteLastShortToLongÚ*AppendingTiffWriter.rewriteLastShortToLong¤  s   € Ø×Ñ˜%  AÕ&rk   c                ó&   • U R                  US5      $ r‡  rš  r¦  s     ra   ÚrewriteLastShortÚ$AppendingTiffWriter.rewriteLastShort§  ó   € Ø× Ñ  ¨Ó*Ð*rk   c                ó&   • U R                  US5      $ r�  rš  r¦  s     ra   ÚrewriteLastLongÚ#AppendingTiffWriter.rewriteLastLongª  r   rk   c                ó¾   • U R                   R                  [        R                  " U R                  U R                  U5      -   U5      5      nU R                  X25        g rd   )r¥   r  r  r�  rv  r‚  r“  )r‹   rš   r�  r‘  s       ra   r^  ÚAppendingTiffWriter._write­  sD   € ØŸ™Ÿ™Ü�KŠK˜Ÿ™ d§i¡i°
Ó&;Ñ;¸UÓCó
ˆð 	×"Ñ" =Õ=rk   c                ó(   • U R                  US5        g r‡  ©r^  r¦  s     ra   Ú
writeShortÚAppendingTiffWriter.writeShort³  ó   € Ø�‰�E˜1Õrk   c                ó(   • U R                  US5        g r�  r§  r¦  s     ra   Ú	writeLongÚAppendingTiffWriter.writeLong¶  rª  rk   c                ó|   • U R                  5         U R                  (       a  U R                  R                  5         g g rd   )ra  rJ  r¥   r¦  rž   s    ra   r¦  ÚAppendingTiffWriter.close¹  s$   € Ø�‰ŒØ�=�=Ø�F‰F�L‰L�Nð rk   c           
     ó2  • U R                  U R                  (       a  SOS5      n[        U5       GHã  n[        R                  " U R
                  U R                  R                  U R                  (       a  SOS5      5      u  p4nU R                  U   nXe-  nU R                  (       a  SOSnXx:*  n	U	(       d/  U R                  U5      U R                  -   n
U R                  X¨5        X0R                  ;   aê  U R                  R                  5       n[        R                  S[        R                   " U5      R"                  U[$        R&                  " US5      UUU5        U	(       a1  U R)                  XV5        U R                  R+                  X¸-   5        GMe  U R                  R+                  W
5        U R)                  XV5        U R                  R+                  U5        GM¯  U	(       d  GM¹  U R                  R+                  U[,        R.                  5        GMæ     g )Nr1   r%   r@   r)   z;fixIFD: %s (%d) - type: %s (%d) - type size: %d - count: %drè  )r]  r!  rï  r  rŠ  ry  r¥   rÞ  Ú
fieldSizesrS  r—  ÚTagsrî  rò  ró  r   r@  r  r   rð  Ú_fixOffsetsrô  r¢  r¤  )r‹   r|  r{   rJ  Ú
field_typer÷  r�  Ú
total_sizer  Úis_localrü  Úcur_poss               ra   r_  ÚAppendingTiffWriter.fixIFD¾  sr  € Ø—:‘: 4§=§=™a°aÓ8ˆä�x—ˆAÜ%+§]¢]Ø—‘ §¡§¡°$·-·-©BÀQÓ Gó&Ñ"ˆC˜Uð Ÿ™¨Ñ4ˆJØ#Ñ+ˆJØ ŸMŸM‘q¨qˆHØ!Ñ-ˆHÞØŸ™ HÓ-°×0DÑ0DÑD�Ø×!Ñ! &Ô3à—i‘iÓØŸ&™&Ÿ+™+›-�ä—‘ØQÜ—O’O CÓ(×-Ñ-ØÜ—I’I˜j¨)Ó4ØØØôö Ø×$Ñ$ UÔ7Ø—F‘F—K‘K Ñ 2×3à—F‘F—K‘K Ô'Ø×$Ñ$ UÔ7Ø—F‘F—K‘K ×(ç‘à—‘—‘˜H¤b§k¡k×2òI !rk   c                ó*  • [        U5       GH  nU R                  U5      nX@R                  -  nSnU R                  (       a  US;   a	  US:¼  a  SnOUS:X  a  US:¼  a  SnU(       a˜  US:w  a  S	n[	        U5      eU R                  XBU5        U* S-
  S-
  nU R                  R                  U[        R                  5        U R                  U5        U R                  R                  SU-
  [        R                  5        Mò  U R                  XB5        GM     g )
Nr   )r%   r)   l        r1   r%   r   r)   r   znot implemented)rï  r]  rS  r!  rV  r—  r¥   rô  r¢  r¤  r¨  )r‹   r÷  r�  r{   rü  r–  r(  Úrewinds           ra   r³  ÚAppendingTiffWriter._fixOffsetsç  sã   € Ü�u—ˆAØ—Z‘Z 
Ó+ˆFØ×*Ñ*Ñ*ˆFàˆNØ�}�} ¨vÓ!5¸&ÀE»/à!"‘Ø˜q“ V¨u£_à!"�ÞØ˜A“:Ø+�CÜ& sÓ+Ð+ð ×!Ñ! &°nÔEà(˜¨1Ñ,¨qÑ0�Ø—‘—‘˜F¤B§K¡KÔ0Ø—‘ Ô/Ø—‘—‘˜A ™J¬¯©Ö4à×!Ñ! &×5ò3 rk   c                óP   • U(       a  SnOU(       a  SnOSnU R                  X5      $ )Nr%   r)   r   )r³  )r‹   r÷  ÚisShortÚisLongr�  s        ra   Ú
fixOffsetsÚAppendingTiffWriter.fixOffsets	  s*   € ö Ø‰JÞØ‰JàˆJØ×Ñ Ó2Ð2rk   )rT  r!  rL  rJ  rv  r¥   rU  rw  r  rS  rx  ry  rR  N)F)rN  ró  rŠ  rÚ   r�   rÖ   r  )r�   rE  )rŒ   rÙ   r�   rÖ   r×   )rü  r™   ro  r™   r�   r™   )rv  r¨   r�   rÖ   )rþ   r   r�   r™   )r�  r™   r�   r¨   )r�  r™   r�   r™   )r‘  r  r’  r™   r�   rÖ   rL   )rš   r™   r�  r™   r–  r™   r�   rÖ   )rš   r™   r�   rÖ   )rš   r™   r�  r™   r�   rÖ   )r÷  r™   r�  r™   r�   rÖ   )FF)r÷  r™   r½  rÚ   r¾  rÚ   r�   rÖ   )&rÜ   rÝ   rÞ   rß   r±  r²  r›   rM  ra  rd  rg  rj  rî  r#  r¥  rô  rY  rW  rX  r  r‚  r]  r‰  rŽ  Ústaticmethodr“  r—  r›  rž  r¢  r^  r¨  r¬  r¦  r_  r³  r¿  rä   r=   rk   ra   rE  rE  ã  s  † ò€Jò(€Döôô4ô4ô
ôô4ð /1¯k©kö ô-ôNôOô"ô$ôôôð ó$ó ð$ð BCð	BØð	BØ&)ð	BØ;>ð	Bà	õ	Bô'ô+ô+ô>ôôôô
'3ôR6ð: AFð	3Øð	3Ø#'ð	3Ø9=ð	3à	÷	3ð 	3rk   rE  c                ó€  • [        U R                  R                  S/ 5      5      n[        U S5      (       d  U(       d  [	        XU5      $ U R                  5       n [        U5       nU /U-    HŽ  nUR                  U 5      n[        US5      (       d  SUl        [        USS5      n[        U5       H@  n	UR                  U	5        UR                  5         [	        XeU5        UR                  5         MB     Xvl        M�     S S S 5        U R                  U5        g ! , (       d  f       N = f! U R                  U5        f = f)NÚappend_imagesr_  r  r=   r   )r!  r  rð  rã   r.  rî  rE  Ú_attach_default_encoderinfor  r‰   rï  rô  rý  rd  )
rd  rà  rO  rÃ  Úcur_idxÚtfÚimsr  Únfrrî   s
             ra   Ú	_save_allrÉ  	  sþ   € Ü˜Ÿ™×+Ñ+¨O¸RÓ@ÓA€MÜ�2�z×"Ñ"®=Ü�R˜XÓ&Ð&à�g‰g‹i€GðÜ  Ô$¨Ø�t˜mÔ+�Ø!×=Ñ=¸bÓA�Ü˜s O×4Ñ4Ø(*�CÔ%Ü˜c :¨qÓ1�ä  ž:�CØ—H‘H˜S”MØ—H‘H”JÜ˜# 8Ô,Ø—K‘K–Mñ	 &ð
 #.–ñ ,÷ %ð 	�‰�Õ÷ %Õ$ûð 	�‰�Õús%   ÁD* Á&BDÃ?D* Ä
D'Ä#D* Ä*D=z.tifz.tiffz
image/tiff)ri   r  r�   rÚ   )rq   rÕ   rr   r™   r�   ú!tuple[IntegralLike, IntegralLike])rq   ro   rr   r™   rƒ   r™   r�   rÊ  )r�   r¨   r�   r
   )rî   r™   rï   r™   r�   z$Callable[[_LoaderFunc], _LoaderFunc])rî   r™   r�   z2Callable[[Callable[..., Any]], Callable[..., Any]])r  ztuple[int, str, str]r�   rÖ   )rd  zImage.Imagerà  r  rO  zstr | bytesr�   rÖ   )‡Ú
__future__r   r#  r(  Úloggingry  r¢  r  rw  Úcollections.abcr   r   Ú	fractionsr   Únumbersr   r   Útypingr	   r
   r   Ú r   r   r   r   r   r   Ú_binaryr   rx  r   r{  r   Ú_utilr   r   r   r˜   r   r   Ú_typingr   r   r   Ú	getLoggerrÜ   rò  rÎ  r  r  r   r  r%  rÀ  rÁ  rÅ  r¹  r½  r¾  r  r  rÇ  rÑ  r  rË  rÌ  r»  rÍ  r&  r  r  r  Ú	PREDICTORrÖ  rÒ  rÓ  rÐ  r!  r'  rÆ  rÄ  Ú
JPEGTABLESr¿  r  r  r  r  rÕ  r  ro  r"  ÚIMAGEJ_META_DATA_BYTE_COUNTSÚIMAGEJ_META_DATAr¸  r?  r  rÉ  r‚   rÈ  rg   rj   ru   r†   rì   rö   r‘   ro   r  rÚ   rò   ró   rù   r  r™   Ú
_IFDv2Baserå   rî   r  rë   r/  r)  ÚImageFileDirectoryrL  r
  r.  ÚBytesIOrE  rÉ  Úregister_openrô  Úregister_saveÚregister_save_allÚregister_extensionsÚregister_mime)Úkr[  s   00ra   Ú<module>rã     s0  ðõR #ã 	Û Û Û Û 	Û Û ß 4Ý ß $ß  Ñ  ç J× JÝ !Ý !Ý ß )Ý à€ÞÝ(Ýç=Ñ=à	×	Ò	˜8Ó	$€ð €Ø€Ø€
à
€Ø
€ð €Ø€
Ø€Ø€Ø€Ø Ð Ø€	ØÐ Ø€Ø€Ø€Ø€Ø€Ø€ØÐ Ø€ØÐ Ø€Ø€	Ø	€Ø€	Ø€Ø€	Ø€
Ø€Ø€Ø	€Ø€Ø€Ø€
ØÐ ØÐ Ø€	Ø€Ø€Ø€
Ø
€Ø	€Ø€ð  %Ð ØÐ ðà€uðð €|ðð €xð	ð
 €xðð €zðð €{ðð €vðð Ððð 
ˆ=ðð 
ˆ:ðð 
Ððð 
ˆ>ðð 
ˆ=ðð 
ˆ?ðð  
ˆ6ð!ð" 
ˆ6ð#ð$ 
ˆ6ð%Ð ð* *:×)?Ñ)?Ô)AÔBÒ)A¡ ˜šÑ)AÒBÐ ð}ð ˆˆD�!�T˜2Ð ð}ð ˆˆD�!�T˜2Ð ð	}ð
 ˆˆD�!�T˜2Ð ð}ð ˆˆD�!�T˜2Ð ð}ð ˆˆD�!�T˜2Ð 
ð}ð ˆˆD�!�T˜2Ð 
ð}ð ˆˆD�!�T˜2Ð ð}ð ˆˆD�!�T˜2Ð ð}ð ˆˆD�!�T˜2Ð ð}ð ˆˆD�!�T˜2Ð ð}ð ˆˆD�!�T˜2Ð ð}ð ˆˆD�!�T˜2Ð ð}ð ˆˆD�!�T˜2Ð ð}ð  ˆˆD�!�T˜2Ð ð!}ð" ˆˆD�!�T˜2Ð ð#}ð$ ˆˆD�!�T˜2Ð ð%}ð& ˆˆD�!�T˜2Ð ñ'}ð( ˆˆD�!�T˜2Ð ð)}ð* ˆˆD�!�T˜2Ð ð+}ð, ˆˆD�!�T˜2Ð ð-}ð. ˆˆD�!�T˜2Ð ð/}ð0 ˆˆD�!�T˜2Ð ð1}ð2 ˆˆD�!�T˜2Ð ð3}ð4 ˆˆD�!�T˜2Ð ð5}ð6 ˆˆD�!�T˜2Ð ð7}ð8 ˆˆD�!�T˜2Ð ð9}ð: ˆˆD�!�T˜2Ð ð;}ð< ˆˆD�!�T˜2Ð ð=}ð> ˆˆD�!�T˜2Ð 
ð?}ð@ ˆˆD�!�T˜2Ð 
ðA}ðB ˆˆD�!�T˜2Ð 
ðC}ðD ˆˆD�!�T˜2Ð 
ðE}ðF ˆˆD�!�T˜2Ð ðG}ðH ˆˆD�!�T˜2Ð òI}ðJ ˆˆD�!�U˜BÐÐ!1ðK}ðL ˆˆD�!�U˜BÐÐ!1ðM}ðN ˆˆD�!�U˜BÐÐ!1ðO}ðP ˆˆD�!�U˜BÐÐ!3ðQ}ðR ˆˆD�!�U˜BÐÐ!2ðS}ðT ˆˆD�!�U˜BÐ ðU}ðV ˆˆD�!�U˜BÐ ðW}ðX ˆˆD�!�U˜BÐ ðY}ðZ ˆˆD�!�U˜BÐ ð[}ð\ ˆˆD�!�U˜BÐ ð]}ð^ ˆˆD�!�U˜BÐ ð_}ð` ˆˆD�!�U˜BÐ ða}ðb ˆˆD�!�U˜BÐ ðc}ðd ˆˆD�!�U˜BÐ ðe}ðf ˆˆD�!�V˜TÐ" Lðg}ðh ˆˆD�!�V˜TÐ" Lði}ðj ˆˆD�!�Y Ð# ^òk}ðl ˆˆD�!�Y Ð# ^ðm}ðn ˆˆD�!�Y Ð#Ð%5ðo}ðp ˆˆD�!�Y Ð#Ð%5ðq}ðr ˆˆD�!�\ 2Ð&Ð(8ðs}ðt ˆˆD�!�\ 2Ð&Ð(8ðu}ðv ˆˆD�!�\ 4Ð(¨/ðw}ðx ˆˆD�!�\ 4Ð(¨/ðy}ðz ˆˆD�!�_ fÐ-Ð/?ð{}ð| ˆˆD�!�_ fÐ-Ð/?ð}}ð~ ˆˆD�!Ð'¨Ð3Ð5Fð}ð@ ˆˆD�!Ð'¨Ð3Ð5FðA}ðB ˆˆD�!�\ 4Ð(Ð*:ðC}ðD ˆˆD�!�\ 4Ð(Ð*:ðE}ðF ˆˆD�!�_ fÐ-Ð/@ðG}ðH ˆˆD�!�_ fÐ-Ð/@ðI}ðJ ˆˆD�!Ð'¨Ð3Ð5GðK}ðL ˆˆD�!Ð'¨Ð3Ð5GòM}ðN ˆˆD�!�\ 4Ð(Ð*:ðO}ðP ˆˆD�!�\ 4Ð(Ð*:ðQ}ðR ˆˆD�!�_ fÐ-Ð/@ðS}ðT ˆˆD�!�_ fÐ-Ð/@ðU}ðV ˆˆD�!Ð'¨Ð3Ð5GðW}ðX ˆˆD�!Ð'¨Ð3Ð5GðY}ðZ ˆˆD�!�\ 6Ð*Ð,<ð[}ð\ ˆˆD�!�\ 6Ð*Ð,<ð]}ð^ ˆˆD�!�\ 2Ð&Ð(:ð_}ð` ˆˆD�!�\ 2Ð&Ð(:ða}ðb ˆˆD�!Ð% rÐ*Ð,@ðc}ðd ˆˆD�!Ð% rÐ*Ð,@ðe}ðf ˆˆD�!Ð% tÐ,Ð.Aðg}ðh ˆˆD�!Ð% tÐ,Ð.Aði}ðj ˆˆD�!Ð% tÐ,Ð.Bðk}ðl ˆˆD�!Ð% tÐ,Ð.Bðm}ðn ˆˆD�!Ð% tÐ,Ð.Bòo}ðp ˆˆD�!Ð% tÐ,Ð.Bðq}ðr ˆˆD�!�T˜2Ð ðs}ðt ˆˆD�!�T˜2Ð ðu}ðv ˆˆD�!�T˜2Ð ðw}ðx ˆˆD�!�T˜2Ð ðy}ðz ˆˆD�!�T˜2Ð ð{}ð| ˆˆD�!�T˜2Ð ð}}ð~ ˆˆD�!�T˜2Ð ð}ð@ ˆˆD�!�T˜2Ð ðA}ðB ˆˆD�!�T˜2Ð ðC}ðD ˆˆD�!�T˜2Ð ðE}ðF ˆˆD�!�T˜2Ð ðG}ðH ˆˆD�!�T˜2Ð ðI}ðJ ˆˆD�!�T˜2Ð 
ðK}ðL ˆˆD�!�T˜2Ð 
ðM}ðN ˆˆD�!�V˜TÐ" KðO}ðP ˆˆD�!�V˜TÐ" KòQ}ðR ˆˆD�!�V˜TÐ" LðS}ðT ˆˆD�!�V˜TÐ" LðU}ðV ˆˆD�!�T˜2Ð ðW}ðX ˆˆD�!�T˜2Ð ðY}ðZ ˆˆD�!�\ 2Ð&Ð(8ð[}ð\ ˆˆD�!�\ 2Ð&Ð(8ð]}ð^ ˆˆD�!�_ dÐ+Ð->ð_}ð` ˆˆD�!�_ dÐ+Ð->ða}ðb ˆˆD�!Ð'¨Ð0Ð2Dðc}ðd ˆˆD�!Ð'¨Ð0Ð2Dðe}ðf ˆˆD�!Ð% rÐ*Ð,@ðg}ðh ˆˆD�!Ð% rÐ*Ð,@ði}ðj ˆˆD�!�T˜2Ð 
ðk}ðl ˆˆD�!�T˜2Ð 
ðm}ðr ˆˆD�!�Y Ð# _ðs}ðt ˆˆD�!�Y Ð# _ðu}ðv ˆˆD�!�Y Ð# ^ñw}ðx ˆˆD�!�Y Ð# ^ñy}€	ñ~ ÑA±yÓAÓAÐ ò€ô.ð%Ø	'ð%Ø25ð%à&ô%ðØ	ðØ"ðØ-0ðà&ôð& €Ø€ôôG'�(ô G'ðT Ð/°¸Ð=¸sÐBÑC€ô	ôôö$ Ø  S Ñ)�Jà€JôP$˜Jô P$ðf (6Ð Ô $Ø(7Ð Ô %Ø—’–�I€CˆØ�<‰<˜˜SÓ!€DÙÐ! U¨4¨& >°>À#Ñ3FÀqÑ3IÔJÙÐ! V¨D¨6 ?°OÀCÑ4HÖIñ ð �O S¨$ôXÐ1ô Xðx +Ð ôBH�I×'Ñ'ô BHðXð ˆ#ˆr�1�a˜˜tÐ	$ðð ˆ#ˆr�1�a˜˜tÐ	$ð	ð
 	ˆ4��Q˜˜6 1Ð
%ðð ˆ#ˆr�1�a˜˜tÐ	$ðð 	ˆ4��Q˜˜6 1Ð
%ðð ˆ'�2�q˜!˜U DÐ	)ðð ˆV�R˜˜A˜u dÐ+ðð ˆg�r˜1˜a ¨Ð-ðð ˆ'�2�q˜!˜U DÐ	)ðð 
ˆE�2�q˜!˜Y¨Ð-ðð ˆV�R˜˜A˜|¨QÐ/ðð ˆV�R˜˜A˜|¨QÐ/ðð ˆV�R˜˜A˜|¨TÐ2ðð  ˆg�r˜1˜a ¨DÐ1ð!ð" 
ˆE�2�q˜!˜Y¨Ð-ð#ð$ ˆg�r˜1˜a ¨Ð-ð%€	ô,w-ôt	i3˜"Ÿ*™*ô i3ôX	ð8 × Ó �M×(Ò(¨-¸Ô AØ × Ó �M×(Ò(¨%Ô 0Ø × Ó ˜×,Ò,¨iÔ 8à × Ó ˜-×.Ò.°¸Ð0AÔ Bà × Ó �M×(Ò(¨,Õ 7ùóyD Cs   Å_.