
    h}                        S SK Jr  S SKrSSKJrJr  SSKJr  SSSS	S
SSS.r	SS jr
 " S S\R
                  5      r\R                  " \R                  \\
5        \R                  " \R                  S5        g)    )annotationsN   )Image	ImageFile)i32le)AL)r	   r	   )RGBALA)RGBzYCC;P)r
   zYCCA;P)r   r   )r
   r
   ))i  )i   )i  i )i   i  i  )i  i i i )i   i  i  )i  i i i c                @    U R                  [        R                  5      $ N)
startswitholefileMAGIC)prefixs    D/var/www/html/env/lib/python3.13/site-packages/PIL/FpxImagePlugin.py_acceptr   ,   s    W]]++    c                  t   ^  \ rS rSrSrSrSS jrSSS jjrSSS jjrSS jr	SU 4S jjr
SU 4S	 jjrS
rU =r$ )FpxImageFile4   FPXFlashPixc                &    [         R                  " U R                  5      U l        U R                  R                  nU(       a  UR                  S:w  a  Sn[        U5      eU R                  S5        g ! [         a  nSn[        U5      UeS nAff = f)Nz!not an FPX file; invalid OLE filez$56616700-C154-11CE-8553-00AA00A1F95Bznot an FPX file; bad root CLSIDr   )	r   	OleFileIOfpoleOSErrorSyntaxErrorrootclsid_open_index)selfemsgr!   s       r   _openFpxImageFile._open8   s}    
	*((1DH
 xx}}tzz%KK3Cc""  	*5Cc")	*s   %A3 3
B=BBc                  ^	 U R                   R                  SUS 3S/5      n[        US   [        5      (       d   e[        US   [        5      (       d   eUS   US   4U l        [        U R                  5      nSnUS:  a  US-  nUS-  nUS:  a  M  US-
  U l        U R                  S	-  nUS
U-     m	[        T	[        5      (       a  [        T	S5      =nS:  a  Sn[        U5      e[        U	4S j[        U5       5       5      n[        U   u  U l        U l        0 U l        [        S5       H#  nSUS	-  -  nXR;   d  M  X%   U R                   U'   M%     U R#                  SU R                  5        g )NData Object Store 06dzImage Contentsi  i  r   @         i     zInvalid number of bandsc              3  N   >#    U  H  n[        TS US-  -   5      S-  v   M     g7f)   r/   iN)i32).0iss     r   	<genexpr>+FpxImageFile._open_index.<locals>.<genexpr>n   s%     L|!s1a!a%i(:5|s   "%   i  )r   getproperties
isinstanceint_sizemaxsizemaxidbytesr2   r   tuplerangeMODES_moderawmodejpeg_open_subimage)
r$   indexpropr>   r4   idbandsr&   colorsr5   s
            @r   r#   FpxImageFile._open_indexJ   ss    xx%%!%-/CD
 $y/3////$y/3////)_d9o5
499~Ri19DFA Ri U
 ZZ2R !U##Q(:a'?+C#, LuU|LL#(= 
DL 	sAa2g&Bz#x		! 
 	Atzz*r   c                   SUS 3SUS 3S/nU R                   R                  U5      nUR                  S5        UR                  S5      n[        US5      [        US	5      4n[        US
5      [        US5      4n[        US5      n[        US5      n	X`R                  :w  a  Sn
[        U
5      eUR                  SU-   5        UR                  [        US5      U	-  5      nS=pUu  pUu  nn/ U l        [        S[        U5      U	5       GH  n[        XU-   5      n[        XU-   5      n[        UUS	-   5      nUS:X  aM  U R                  R                  [        R                  " SXUU4[        UU5      S-   U R                  5      5        OUS:X  aR  U R                  R                  [        R                  " SXUU4[        UU5      S-   U R                  USS
 45      5        OUS:X  a  US   nUS   nU R                  nU(       a  US:X  a  Su  nnOS nOUnU R                  R                  [        R                  " SXUU4[        UU5      S-   UU45      5        U(       a  U R                  U   U l        OSn
[        U
5      eX-   nX:  d  GM  SUU-   pX:  d  GM    O   X0l        U R$                  U l        S U l        g )Nr*   r+   zResolution 04dzSubimage 0000 Header   $   r/   r1   r.          zsubimage mismatch   r   rawr   fillr-         r
   )YCbCrKCMYKrF   zunknown/invalid compression)r   
openstreamreadr2   r>   r   seektilerB   lenminappendr   _TilerE   rF   tile_prefixstreamr   _fp)r$   rH   subimagerd   r   r5   r>   tilesizeoffsetlengthr&   xyxsizeysizextileytiler4   x1y1compressioninternal_color_conversionjpeg_tablesrE   jpegmodes                            r   rG   FpxImageFile._open_subimage{   s   
 !s,(3("
 XX  ( 	 GGBK1ay#a)#q":s1bz)QQ99%C#, 	VGGC2J'(	u	q#a&&)AUI&BUI&BaQ-Ka		  OOr2Aq	B	 !		  OOr2Aq	BqBx0	 !,-bE)e,,,&( -=)'#'  'H		  OOr2Aq	B (+	 '+yy'=D$ 4cl"	Az!e)1:K *N 77r   c                    U R                   (       d1  U R                  R                  U R                  S S S/-   5      U l         [        R                  R                  U 5      $ )Nr-   zSubimage 0000 Data)r   r   r[   rd   r   load)r$   s    r   rx   FpxImageFile.load   sI    wwhh))$++bq/=Q<R*RSDG""''--r   c                V   > U R                   R                  5         [        TU ]  5         g r   )r   closesuper)r$   	__class__s    r   r{   FpxImageFile.close   s    r   c                V   > U R                   R                  5         [        TU ]  5         g r   )r   r{   r|   __exit__)r$   argsr}   s     r   r   FpxImageFile.__exit__   s    r   )re   rD   r<   r   rF   r?   r   rE   rd   r^   rc   )returnNone)r   )rH   r;   r   r   )r   r   )rH   r;   rf   r;   r   r   )r   zImage.core.PixelAccess | None)r   objectr   r   )__name__
__module____qualname____firstlineno__formatformat_descriptionr'   r#   rG   rx   r{   r   __static_attributes____classcell__)r}   s   @r   r   r   4   s4    F#$/+bob. r   r   z.fpx)r   r@   r   bool)
__future__r   r    r   r   _binaryr   r2   rC   r   r   register_openr   register_extension r   r   <module>r      s{   " #   !
 ,*:6H*86F	&,D9&& DV   L''w ?   ,,f 5r   