+
    UBi/-                       ^ RI Ht ^ RIt^ RIt^ RIHtHt ^RIHtH	t	H
t
 ^RIHt RtRtRtR	tR
tRtRtRtRt]^ ]^ ]^ ]^ ]^ ]^ ]^ ]^ ]^ /	t/ RR@bRR@bRRAbRRAbRRBbRRCbRRCbRR@bRRDbRREbRRFbRRGbR RHbR"RIbR#RJbR$RKbR&RLbR'RMR)RNR*ROR,RP/CtRQ F  tR!R.] 23]R/] R02&   R!R.] 23]R1] R02&   K!  	  RR F%  tR2] 2R2] 23]R/] R02&   R2] 2R2] 23]R1] R02&   K'  	  RS F  tRR2] 23]R/] R02&   RR2] 23]R1] R02&   K!  	  ]! ^^!4       F  tR!R.] 23]R1] R02&   K  	  ]P6                  ! R34      tR4 R5 lt ! R6 R7]	P                  4      tRRTRRUR%RKRRVR8RLRRWR9RXR:RYR;RZR!R[RRBR(RMR<R\R+ROR-R]/tR= R> lt ]PB                  ! ]PD                  ]4       ]PF                  ! ]PD                  ] 4       ]PH                  ! ]PD                  R?4       R# )^    )annotationsN)IOAny)Image	ImageFileImagePalette)DeferredErrorCommentDatezDigitalization equipmentzFile size (no of images)LutNamezScale (x,y)zImage size (x*y)z
Image typez	0 1 image1z	L 1 imagezGreyscale imageLzGrayscale imagez	RGB imageRGBz	RLB imagez	RYB imagezB1 imagezB2 imagePzB4 imagez
X 24 imagezL 32 S imageIzL 32 F imageFz
RGB3 imagez
RYB3 imagezLA imageLAzPA imagez
RGBA imageRGBAz
RGBX imagez
CMYK imageCMYKz	YCC imageYCbCrF;zL z imagezL*zI;s"   ^([A-Za-z][^:]*):[ \t]*(.*)[ \t]*$c                    V ^8  d   QhRRRR/# )   sr   returnfloat )formats   "6/usr/lib/python3.14/site-packages/PIL/ImImagePlugin.py__annotate__r!   l   s      c e     c                R     \        V 4      #   \         d    \        T 4      u # i ; iN)int
ValueErrorr   )r   s   &r    numberr'   l   s(    1v Qxs   
 &&c                  r    ] tR t^wtRtRtRtR R lt]R R l4       t	]R R	 l4       t
R
 R ltR R ltRtR# )ImImageFileIMzIFUNC Image MemoryFc                   V ^8  d   QhRR/# )r   r   Noner   )r   s   "r    r!   ImImageFile.__annotate__|   s     ] ]t ]r"   c           
     	l   R V P                   P                  ^d4      9  d   Rp\        V4      hV P                   P                  ^ 4       ^ pRV P                  \
        &   RV P                  \        &   ^V P                  \        &   RV n         V P                   P                  ^4      pVR8X  d   K%  V'       d   VR8X  g   VR8X  d   EMW0P                   P                  4       ,           p\        V4      ^d8  d   Rp\        V4      hVP                  R4      '       d   VRR pMVP                  R 4      '       d   VRR p \        P                  V4      pT'       EdD   TP!                  ^^4      w  rgTP#                  R	R
4      pTP#                  R	R
4      pT\        \$        \        39   dU   TP'                  RR4      p\)        \+        \,        TP                  R4      4      4      p\        T4      ^8X  d
   T^ ,          pM*T\
        8X  d    T\.        9   d   \.        T,          w  qpn        T\0        8X  dE   Y`P                  9   d$   T P                  T,          P3                  T4       MT.T P                  T&   MYpP                  T&   T\4        9   d   T^,          pEK  EK  RTP#                  RR
4       2p\        T4      hV'       g   Rp\        V4      hV P                  \        ,          V n        V P                  \
        ,          V n        V'       d5   VP;                  R4      '       g   V P                   P                  ^4      pK<  V'       g   Rp\        V4      h\<        V P                  9   Ed?   V P                   P                  R4      p^p	^p
\?        R4       FJ  pW,          WR,           ,          u;8X  d   WR,           ,          8X  d   M MW,          V8w  d   ^ p
KF  KH  ^ p	KL  	  V P@                  R 9   d   V	'       d!   V
'       g   \C        VR,          4      V n"        MV P@                  R!9   d   R;V n        V n        MV P@                  R"9   d   RV n        RV n        \F        PH                  ! RV4      V n%        M1V P@                  R8X  d!   V	'       d	   V
'       g   \C        V4      V n"        ^ V n&        V P                   PO                  4       ;V n(        pV P                   V n)        V P                  P;                  R4      '       d\    \U        V P                  R,          4      pVR#9  d7   \V        PX                  ! RR$V PZ                  ,           W^^^ R34      .V n.        R#  V P                  R%9   d   V PZ                  ^ ,          V PZ                  ^,          ,          p\V        PX                  ! RR$V PZ                  ,           VR&4      \V        PX                  ! RR$V PZ                  ,           W,           R'4      \V        PX                  ! RR$V PZ                  ,           V^V,          ,           R(4      .V n.        R# \V        PX                  ! RR$V PZ                  ,           WP                  ^ R34      .V n.        R#   \        P                   d   pRp\        T4      ThRp?ii ; i  \^         d     ELKi ; i))   
znot an IM filer                s   
Nzlatin-1replace*,zSyntax error in IM header: asciizNot an IM filezFile truncatedi      r   PA:Nr8   NPA;LRGB;Lr   r   :r   NNbitraw)r0   r0   )r   r   r   r9   )r   r   )r   r9   )          r   r   )RGB;TRYB;T)Gr   r?   )Rr   r?   )Br   r?   )0fpreadSyntaxErrorseekinfoMODESIZEFRAMESrawmodereadlinelenendswithsplitmatchreerrorgroupdecodeSCALEr4   tuplemapr'   OPENCOMMENTappendTAGS_size_mode
startswithLUTrangemodelistlutr   r=   paletteframetell_ImImageFile__offset_fpr%   r   _Tilesizetiler&   )selfmsgnr   mekvrj   	greyscalelinearioffsbitsrp   s   &              r    _openImImageFile._open|   s/    S))"Cc""Q 		$$		$		&QA EzU
a7l GG$$&&A1v|&!#&&zz'""crFE""crF.KKN
 qwwq!} HHY	2HHY	2 --		#s+Ac&!''#,78A1v{aD$Y19&*1gOA| <II~		!++A.()s		!#$IIaL9FA  4AHHWi4P3QR!#&&"Cc"" YYt_
YYt_
 W--QA"Cc""$))ggll3'GIF3Z:S!1EWW5EEzQ!" ' !"I   yy22!#'#6yyJ.477
T\l2%)
'-#/#3#3GW#EDLe# #G}DH
#ww||~-77<<""4((4<<+,{*!!6DII#5tAq!R=P!DI
  + <<-- 99Q<$))A,.Dv		'94Nv		'94;U6DII-ta$hDI v		'94,,PQSUAVWDIc 88 .&!#&A-.B  s+   ?Y9 AZ$ 9Z!ZZ!$Z32Z3c                   V ^8  d   QhRR/# r   r   r%   r   )r   s   "r    r!   r-     s     ! !# !r"   c                	0    V P                   \        ,          # r$   rM   rP   rr   s   &r    n_framesImImageFile.n_frames  s    yy  r"   c                   V ^8  d   QhRR/# )r   r   boolr   )r   s   "r    r!   r-      s     % %T %r"   c                	6    V P                   \        ,          ^8  # )   r   r   s   &r    is_animatedImImageFile.is_animated  s    yy 1$$r"   c                    V ^8  d   QhRRRR/# )r   rk   r%   r   r,   r   )r   s   "r    r!   r-   #  s     
 
# 
$ 
r"   c                	\   V P                  V4      '       g   R # \        V P                  \        4      '       d   V P                  P                  hWn        V P                  R8X  d   ^pM^\        V P                  4      ,          pV P                  ^ ,          V,          ^,           ^,          V P                  ^,          ,          pV P                  W,          ,           pV P                  V n
        \        P                  ! RRV P                  ,           W@P                  ^ R34      .V n        R # )Nr   r=   rC   r?   )_seek_check
isinstancern   r	   exrk   rg   rS   rp   rm   rI   r   ro   rQ   rq   )rr   rk   r}   rp   r|   s   &&   r    rL   ImImageFile.seek#  s    &&dhh..((++
99Ds499~%D1$q(Q.$))A,>}}u|+(( OOE6DII#5tllAr=RS
	r"   c                   V ^8  d   QhRR/# r   r   )r   s   "r    r!   r-   9  s      c r"   c                	    V P                   # r$   )rk   r   s   &r    rl   ImImageFile.tell9  s    zzr"   )
__offsetrn   rc   rb   rI   rk   ri   rj   rQ   rq   N)__name__
__module____qualname____firstlineno__r   format_description!_close_exclusive_fp_after_loadingr~   propertyr   r   rL   rl   __static_attributes__r   r"   r    r)   r)   w   sQ    F-(-%]~ ! ! % %
, r"   r)   r9   I;16I;16LI;16BRGBXc               (    V ^8  d   QhRRRRRRRR/# )	r   imzImage.ImagerI   z	IO[bytes]filenamezstr | bytesr   r,   r   )r   s   "r    r!   r!   V  s(     $ $k $y $K $D $r"   c                    \         V P                  ,          w  r4T P                  P                  R^4      pTP                  RT R2P                  R4      4       T'       d   \        T\        4      '       d   TP                  R4      p\        P                  P                  \        P                  P                  T4      4      w  rRP                  TR^\\!        T	4      ,
           T	.4      pTP                  RT R	2P                  R4      4       TP                  R
T P"                  ^ ,           RT P"                  ^,           R	2P                  R4      4       TP                  RT R	2P                  R4      4       T P                  R9   d   TP                  R4       TP                  RRTP%                  4       ,
          ,          R,           4       T P                  R9   d   T P&                  P)                  RR4      p
\!        T
4      ^,          pRp\+        ^4       F8  pYY,          Y^,           ,           ,          pTRRT,
          ,          ,          pK:  	  TP                  T4       \,        P.                  ! Y\,        P0                  ! RRT P"                  ,           ^ T^ R34      .4       R#   \         d"   pR T P                   R2p\        T4      ThRp?ii ; i)zCannot save z images as IMNframeszImage type: z image
r7    zName: z
zImage size (x*y): r5   zFile size (no of images): s   Lut: 1
r2   i  r3   r   r;   r"   r8   r=   )r   r9   rC   r?   )SAVErg   KeyErrorr&   encoderinfogetwriteencoder   bytesrZ   ospathsplitextbasenamejoinrS   rp   rl   r   
getpaletterf   r   _savero   )r   rI   r   
image_typerQ   rv   rs   r   nameext
im_palettecolorsrj   r{   s   &&&           r    r   r   V  sE   %"277m

 ^^!,FHH|J<z299'BC
 h&&w/HGG$$RWW%5%5h%?@	ww_rCH}-s34
6$t$++G45HH!"''!*Qrwwqzl$?FFwOPHH)&6==gFG	ww+
HHWbggi(723	ww+UU%%eW5
ZA%qA&*vQ/?@@Gw#,//G  	OO
(8!gq"=MNO?  %RWWI]3o1$%s   J3 3K>KKz.im)r   r   )r   r   )r   r;   )r   RLB)r   zP;2)r   zP;4)r   r   )r   zI;32)r   zF;32)r   rD   )r   rE   )r   zLA;L)r   r:   )r   zRGBA;L)r   RGBX;L)r   zCMYK;L)r   YCbCr;L)88S1616S3232F)r   16L16B)32S)z0 1r   )	Greyscaler   )r   r   )zL 32SzI;32S)zL 16r   )zL 16Lr   )zL 16Br   )zL 32FzF;32F)r   r   )YCCr   )%
__future__r   r   rW   typingr   r   r   r   r   r   _utilr	   r_   DATE	EQUIPMENTrP   re   NAMEr[   rO   rN   ra   r^   r{   rf   jcompilerU   r'   r)   r   r   register_openr   register_saveregister_extensionr   r"   r    <module>r      sQ  6 # 	 	  , ,  
 &		# Q!q
A!	1!!
  z	
 z !   
   . M M  "!" "#& '( )* $#$%18 
/A2aS?D2aS2aS?D2aS 
/ 
A H1#h/D2aS H1#h/D2aS 
 
A2aS?D2aS2aS?D2aS 
 
q"A2aS?D2aS 
 	

9:C)%% CZ 	.	.	
		


!($X   K&& 4   K&& .   ++U 3r"   