
    i                       S SK Jr  S SKrS SKrS SKJr  SSK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  S
SSSSSSS.r " S S\R                  5      rSSSSSSS.rSS jr\R,                  " \R.                  \5        \R0                  " \R.                  \5        \R2                  " \R.                  / SQ5        \R4                  " \R.                  S5        g)    )annotationsN)IO   )Image	ImageFileImagePalette)i16le)i32le)o8)o16leP1LLABGRA;15ZBGRBGRA))r      )   r   )r   r   )r      )   r   )r      )r       c                  0    \ rS rSrSrSrSS jrSS jrSrg)	TgaImageFile3   TGATargac                   U R                   c   eU R                   R                  S5      nUS   nUS   nUS   nUS   nUS   n[        US5      [        US5      4U l        US	;  d,  U R                  S   S::  d  U R                  S   S::  d  US
;  a  Sn[        U5      eUS;   a#  SU l        US:X  a  SU l        OHUS:X  a  SU l        O:US;   a  U(       a  SOSU l        O#US;   a  US:X  a  SOSU l        OSn[        U5      eUS-  nUS;   U l        US;   a  SnOUS;   a  SnOSn[        U5      eXR                  S'   US-  (       a  SU R                  S '   U(       a(  U R                   R                  U5      U R                  S!'   U(       Ga$  [        US"5      [        US#5      US$   pn	US:X  aY  [        R                  " S%[        SU	-  5      U R                   R                  SU
-  5      -   5      U l        SU R                  l        OUS:X  aH  [        R                  " S&[        S"U	-  5      U R                   R                  S"U
-  5      -   5      U l        O[US':X  aH  [        R                  " S([        S)U	-  5      U R                   R                  S)U
-  5      -   5      U l        OS*n[        U5      e [        US$-  U4   nUS-  (       aG  [        R                   " SS+U R                  -   U R                   R#                  5       XU45      /U l        g [        R                   " S,S+U R                  -   U R                   R#                  5       USU45      /U l        g ! [&         a     g f = f)-N   r   r   r   r            )r   r   )r   r   r   r   r   znot a TGA file)r      r   r   r   )r   	   r   )r   
   r   RGBRGBAzunknown TGA mode0   )r   r)   )r   r)   )r   r   zunknown TGA orientationorientationr   tga_rlecompression
id_sectionr         r   r   r   r      zunknown TGA map depthr   r   raw)fpreadi16_sizesizeSyntaxError_mode_flip_horizontallyinfor   r3   bytespalettemodeMODESr   _TiletelltileKeyError)selfsid_lencolormaptype	imagetypedepthflagsmsgr+   startr8   mapdepthrawmodes                D/var/www/ias/venv/lib/python3.13/site-packages/PIL/TgaImagePlugin.py_openTgaImageFile._open7   s7   ww"""GGLL1taD	""BZQ+
 &yy|q yy|q .."Cc"" DJz 
"!
&  ,#DJ'!"'2+6DJ$Cc"" dl"-"=,&KI%K+Cc""#.		- q='0DIIm$&*ggll6&:DIIl#$'1Is1ay!A$E2~+//a%i 0477<<D3I I  %+!R+//5U+dggll1t8.DD  R+//E!e),tww||AH/EE  .!#&&	Y]E23G1} OO!* u5		 OO* ![1		  		s   4AM AM 
M('M(c                f   U R                   S:X  a  U R                  c   eU R                  R                  S[        R                  5        U R                  R                  S5      nUR                  S5      (       am  [        U5      nU(       a[  U R                  R                  US-   5        U R                  R                  S5      nUS:X  a  U R                  R                  SS	5        U R                  (       a9  U R                  R                  [        R                  R                  5      U l        g g )
Nr(   i   s   TRUEVISION-XFILE. i  r       r      )r?   r4   seekosSEEK_ENDr5   endswithi32imfillbandr;   	transposer   	TransposeFLIP_LEFT_RIGHT)rE   footerextension_offsetattributes_types       rP   load_endTgaImageFile.load_end   s    9977&&&GGLLbkk*WW\\"%F788#&v; #GGLL!1C!78&*ggll1oO&'1((C0""gg''(G(GHDG #    )r;   r:   r7   r\   r>   rC   N)returnNone)	__name__
__module____qualname____firstlineno__formatformat_descriptionrQ   rd   __static_attributes__ rf   rP   r   r   3   s    F hTIrf   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(   c                <    [         U R                     u  p4pVSU R                  ;   a  U R                  S   n	O:U R                  R                  SU R                  R                  S5      5      n
U
S:H  n	U	(       a  US-  nU R                  R                  SU R                  R                  SS5      5      n[        U5      nUS	:  a  S	nUS S	 n[        R                  " S
5        U(       a,  U R                  R                  SS5      n[        U5      S-  SpOSu  pU R                  S;   a  SnOSnU R                  R                  SU R                  R                  SS5      5      nUS:  a  US-  nUR                  [        U5      [        U5      -   [        U5      -   [        S5      -   [        U5      -   [        U5      -   [        S5      -   [        S5      -   [        U R                  S   5      -   [        U R                  S   5      -   [        U5      -   [        U5      -   5        U(       a  UR                  U5        U(       a  UR                  W5        U	(       a@  [         R"                  " U U[         R$                  " SSU R                  -   SUU45      /5        O@[         R"                  " U U[         R$                  " SSU R                  -   SUSU45      /5        UR                  S5        g ! [         a!  nSU R                   S3n[        U5      UeS nAff = f)Nzcannot write mode z as TGArler-   r,   r   r.    rV   z-id_section has been trimmed to 255 charactersr'   r   r   r   r2   )r   r(   r   r+   r*   r   r   r3   s           TRUEVISION-XFILE. )SAVEr?   rD   OSErrorencoderinfogetr<   lenwarningswarnr\   
getpalettewriter   o16r8   r   _saverA   )r\   r4   filenamerO   bitsrH   rI   erL   rr   r-   r.   rG   r>   colormaplengthcolormapentryrK   r+   s                     rP   r~   r~      s   "15bgg.|
 nnU#nn((M8RSY&
Q	##L"''++lB2OPJ_F|%
EF%%""5%0(+G(92(,%	ww. ..$$]BGGKKr4RSKQHH
6

\
	
Y-	 a&	 n
		
 ]
	 a&	 a&	 bggaj/	 bggaj/		 T(
	 U)	 


__Y(8!g{=STU	
 	__UFRWW$4a'1k9RST	
 HH9:K  ""277)73cl!"s   K0 0
L:LL)z.tgaz.icbz.vdaz.vstzimage/x-tga)r\   zImage.Imager4   z	IO[bytes]r   zstr | bytesrg   rh   )
__future__r   rX   ry   typingr   rs   r   r   r   _binaryr	   r6   r
   r[   r   r   r}   r@   r   rt   r~   register_openrm   register_saveregister_extensionsregister_mimerp   rf   rP   <module>r      s   $ # 	   , , ! !  ! 		 ~I9&& ~IN 
	
	H;`   L'' 6   L'' /   ,--/O P   L'' 7rf   