
    Eg9)                         d dl Z d dlZd dlZd dlmZ d dlmZmZmZ d dlm	Z
 d dlmZ  ee
           ed          k     r ede
z             G d d	e          ZdS )
    N)Enum)BytesIOKaitaiStreamKaitaiStruct)__version__)parse_versionz0.7zPIncompatible Kaitai Struct Python API: 0.7 or later is required, but you have %sc                      e Zd Z G d de          Z G d de          ZddZ G d de          Z G d	 d
e          Z	 G d de          Z
 G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          ZdS ) Gifc                       e Zd ZdZdZdZdS )Gif.BlockType!   ,   ;   N)__name__
__module____qualname__	extensionlocal_image_descriptorend_of_file     o/var/www/sysmax/venv/lib/python3.11/site-packages/seleniumwire/thirdparty/mitmproxy/contrib/kaitaistruct/gif.py	BlockTyper      s        	!#r   r   c                       e Zd ZdZdZdZdS )Gif.ExtensionLabel         N)r   r   r   graphic_controlcommentapplicationr   r   r   ExtensionLabelr      s        r   r"   Nc                    || _         || _        |r|n| | _        | j                            | j         | | j                  | _        | j                            | j         | | j                  | _        | j        j        rs| j                             | j        j	        dz            | _
        t          t          | j
                            }| j                            || | j                  | _        g | _        	 | j                            | j         | | j                  }| j                            |           | j                                         s|j        | j        j        j        k    rd S vN   )_io_parent_rootHeaderhdrLogicalScreenDescriptorStructlogical_screen_descriptorhas_color_table
read_bytescolor_table_size_raw_global_color_tabler   r   
ColorTableglobal_color_tableblocksBlockappendis_eof
block_typer   r   )selfr&   r'   r(   io_s         r   __init__zGif.__init__   s>   #-UU
:$$TXtTZ@@)-)Q)QRVRZ\`bfbl)m)m&)9 	R+/8+>+>@^@ors@s+u+uD(gd&BCCDDB&*j&;&;Bdj&Q&QD#	
  4<<AKq!!!(//## 9M9Y)Y)Y		r   c                       e Zd ZddZdS )Gif.ImageDataNc                     || _         || _        |r|n| | _        | j                                         | _        | j                            | j         | | j                  | _        d S N)r&   r'   r(   read_u1lzw_min_code_size	Subblocks	subblocksr8   r&   r'   r(   s       r   r;   zGif.ImageData.__init__-   sY    DH"DL"'1TDJ%)X%5%5%7%7D"!Z11$(D$*MMDNNNr   NNr   r   r   r;   r   r   r   	ImageDatar=   ,   s.        	N 	N 	N 	N 	N 	Nr   rG   c                       e Zd ZddZdS )Gif.ColorTableEntryNc                     || _         || _        |r|n| | _        | j                                         | _        | j                                         | _        | j                                         | _        d S r?   )r&   r'   r(   r@   redgreenbluerD   s       r   r;   zGif.ColorTableEntry.__init__6   sc    DH"DL"'1TDJx''))DH))++DJ((**DIIIr   rE   rF   r   r   r   ColorTableEntryrI   5   s(        	+ 	+ 	+ 	+ 	+ 	+r   rN   c                   B    e Zd ZddZed             Zed             ZdS )!Gif.LogicalScreenDescriptorStructNc                 d   || _         || _        |r|n| | _        | j                                         | _        | j                                         | _        | j                                         | _        | j                                         | _        | j                                         | _	        d S r?   )
r&   r'   r(   	read_u2lescreen_widthscreen_heightr@   flagsbg_color_indexpixel_aspect_ratiorD   s       r   r;   z*Gif.LogicalScreenDescriptorStruct.__init__@   s    DH"DL"'1TDJ $ 2 2 4 4D!%!3!3!5!5D))++DJ"&("2"2"4"4D&*h&6&6&8&8D###r   c                     t          | d          rt          | d          r| j        nd S | j        dz  dk    | _        t          | d          r| j        nd S N_m_has_color_table   r   hasattrrZ   rU   r8   s    r   r-   z1Gif.LogicalScreenDescriptorStruct.has_color_tableJ   h    t122 `29$@T2U2U_t..[__'+zC'7A&=D#.5d<P.Q.Q[4**W[[r   c                     t          | d          rt          | d          r| j        nd S d| j        dz  z  | _        t          | d          r| j        nd S N_m_color_table_size      r]   rb   rU   r^   s    r   r/   z2Gif.LogicalScreenDescriptorStruct.color_table_sizeR   g    t233 b3:4AV3W3Wat//]aa()dj1n(=D$/6t=R/S/S]4++Y]]r   rE   )r   r   r   r;   propertyr-   r/   r   r   r   r+   rP   ?   sf        	9 	9 	9 	9 
	\ 	\ 
	\ 
	^ 	^ 
	^ 	^ 	^r   r+   c                   n    e Zd ZddZed             Zed             Zed             Zed             ZdS )Gif.LocalImageDescriptorNc                    || _         || _        |r|n| | _        | j                                         | _        | j                                         | _        | j                                         | _        | j                                         | _        | j                                         | _	        | j
        rn| j                             | j        dz            | _        t          t          | j                            }| j                            || | j                  | _        | j                            | j         | | j                  | _        d S r$   )r&   r'   r(   rR   lefttopwidthheightr@   rU   r-   r.   r/   _raw_local_color_tabler   r   r1   local_color_tablerG   
image_data)r8   r&   r'   r(   r9   s        r   r;   z!Gif.LocalImageDescriptor.__init__\   s   DH"DL"'1TDJ**,,DIx))++DH++--DJ(,,..DK))++DJ# U.2h.A.A4CX[\C\.^.^+!'$*E"F"FGG)-)>)>r4)T)T&"j2248T4:NNDOOOr   c                     t          | d          rt          | d          r| j        nd S | j        dz  dk    | _        t          | d          r| j        nd S rY   r\   r^   s    r   r-   z(Gif.LocalImageDescriptor.has_color_tablel   r_   r   c                     t          | d          rt          | d          r| j        nd S | j        dz  dk    | _        t          | d          r| j        nd S )N_m_has_interlace@   r   )r]   rt   rU   r^   s    r   has_interlacez&Gif.LocalImageDescriptor.has_interlacet   sg    t/00 \07>P0Q0Q[t,,W[[%)Z"_$:D!,3D:L,M,MW4((SWWr   c                     t          | d          rt          | d          r| j        nd S | j        dz  dk    | _        t          | d          r| j        nd S )N_m_has_sorted_color_table    r   )r]   rx   rU   r^   s    r   has_sorted_color_tablez/Gif.LocalImageDescriptor.has_sorted_color_table|   sg    t899 n9@Gb9c9cmt55imm.2j2o!-CD*5<TC^5_5_i411eiir   c                     t          | d          rt          | d          r| j        nd S d| j        dz  z  | _        t          | d          r| j        nd S ra   re   r^   s    r   r/   z)Gif.LocalImageDescriptor.color_table_size   rf   r   rE   )	r   r   r   r;   rg   r-   rv   rz   r/   r   r   r   LocalImageDescriptorri   [   s        	O 	O 	O 	O  
	\ 	\ 
	\ 
	X 	X 
	X 
	j 	j 
	j 
	^ 	^ 
	^ 	^ 	^r   r|   c                       e Zd ZddZdS )	Gif.BlockNc                    || _         || _        |r|n| | _        | j                            | j                                                   | _        | j        }|| j        j        j        k    r-| j                            | j         | | j                  | _        d S || j        j        j	        k    r-| j        
                    | j         | | j                  | _        d S d S r?   )r&   r'   r(   r   r@   r7   r   	Extensionbodyr   r|   r8   r&   r'   r(   _ons        r   r;   zGif.Block.__init__   s    DH"DL"'1TDJ"j22483C3C3E3EFFDO/Cdj*444 J004LL			
,CCC J;;DHdDJWW			 DCr   rE   rF   r   r   r   r4   r~      s.        		X 		X 		X 		X 		X 		Xr   r4   c                       e Zd ZddZdS )Gif.ColorTableNc                 *   || _         || _        |r|n| | _        g | _        | j                                         sY| j                            | j                            | j         | | j                             | j                                         Wd S d S r?   )r&   r'   r(   entriesr6   r5   rN   rD   s       r   r;   zGif.ColorTable.__init__   s    DH"DL"'1TDJDLhoo'' \##DJ$>$>txtz$Z$Z[[[ hoo'' \ \ \ \ \r   rE   rF   r   r   r   r1   r      s.        	\ 	\ 	\ 	\ 	\ 	\r   r1   c                       e Zd ZddZdS )
Gif.HeaderNc                    || _         || _        |r|n| | _        | j                             t	          j        dddd                    | _        | j                             d                              d          | _	        d S )N3bG   I   F   r%   ASCII)
r&   r'   r(   ensure_fixed_contentsstructpackmagicr.   decodeversionrD   s       r   r;   zGif.Header.__init__   sq    DH"DL"'1TDJ77D"bRT8U8UVVDJ H//22::8DDDLLLr   rE   rF   r   r   r   r)   r      s.        	E 	E 	E 	E 	E 	Er   r)   c                   B    e Zd ZddZed             Zed             ZdS )Gif.ExtGraphicControlNc                    || _         || _        |r|n| | _        | j                             t	          j        dd                    | _        | j                                         | _        | j         	                                | _
        | j                                         | _        | j                             t	          j        dd                    | _        d S )N1b   r   )r&   r'   r(   r   r   r   
block_sizer@   rU   rR   
delay_timetransparent_idx
terminatorrD   s       r   r;   zGif.ExtGraphicControl.__init__   s    DH"DL"'1TDJ"h<<V[q=Q=QRRDO))++DJ"h0022DO#'8#3#3#5#5D "h<<V[q=Q=QRRDOOOr   c                     t          | d          rt          | d          r| j        nd S | j        dz  dk    | _        t          | d          r| j        nd S )N_m_transparent_color_flag   r   )r]   r   rU   r^   s    r   transparent_color_flagz,Gif.ExtGraphicControl.transparent_color_flag   sg    t899 n9@Gb9c9cmt55imm.2j1n-BD*5<TC^5_5_i411eiir   c                     t          | d          rt          | d          r| j        nd S | j        dz  dk    | _        t          | d          r| j        nd S )N_m_user_input_flagrc   r   )r]   r   rU   r^   s    r   user_input_flagz%Gif.ExtGraphicControl.user_input_flag   sg    t122 `29$@T2U2U_t..[__'+zA~!&;D#.5d<P.Q.Q[4**W[[r   rE   )r   r   r   r;   rg   r   r   r   r   r   ExtGraphicControlr      sj        	S 	S 	S 	S 
	j 	j 
	j 
	\ 	\ 
	\ 	\ 	\r   r   c                       e Zd ZddZdS )Gif.SubblockNc                     || _         || _        |r|n| | _        | j                                         | _        | j                             | j                  | _        d S r?   )r&   r'   r(   r@   	num_bytesr.   bytesrD   s       r   r;   zGif.Subblock.__init__   sR    DH"DL"'1TDJ!X--//DN,,T^<<DJJJr   rE   rF   r   r   r   Subblockr      s(        	= 	= 	= 	= 	= 	=r   r   c                       e Zd ZddZdS )Gif.ExtApplicationNc                 6   || _         || _        |r|n| | _        | j                            | j         | | j                  | _        g | _        	 | j                            | j         | | j                  }| j                            |           |j        dk    rd S NNTr   )r&   r'   r(   r   application_idrC   r5   r   r8   r&   r'   r(   r:   s        r   r;   zGif.ExtApplication.__init__   s    DH"DL"'1TDJ"&*"5"5dhdj"Q"QDDNJ''$
CC%%a(((;!##E	r   rE   rF   r   r   r   ExtApplicationr      s(        
	 
	 
	 
	 
	 
	r   r   c                       e Zd ZddZdS )Gif.SubblocksNc                     || _         || _        |r|n| | _        g | _        	 | j                            | j         | | j                  }| j                            |           |j        dk    rd S Nr   )r&   r'   r(   r   r   r5   r   r   s        r   r;   zGif.Subblocks.__init__   sv    DH"DL"'1TDJDLJ''$
CC##A&&&;!##E	r   rE   rF   r   r   r   rB   r      s(        		 		 		 		 		 		r   rB   c                       e Zd ZddZdS )Gif.ExtensionNc                    || _         || _        |r|n| | _        | j                            | j                                                   | _        | j        }|| j        j        j        k    r-| j                            | j         | | j                  | _        d S || j        j        j	        k    r-| j        
                    | j         | | j                  | _        d S || j        j        j        k    r-| j                            | j         | | j                  | _        d S | j        
                    | j         | | j                  | _        d S r?   )r&   r'   r(   r"   r@   labelr!   r   r   r    rB   r   r   r   s        r   r;   zGif.Extension.__init__   s   DH"DL"'1TDJ22483C3C3E3EFFDJ*Cdj/;;; J55dhdjQQ			
1999 J004LL			
1AAA J884TT			 J004LL			r   rE   rF   r   r   r   r   r      s.        	M 	M 	M 	M 	M 	Mr   r   rE   )r   r   r   r   r   r"   r;   r   rG   rN   r+   r|   r4   r1   r)   r   r   r   rB   r   r   r   r   r
   r
      s           D   
          $N N N N NL N N N+ + + + +, + + +^ ^ ^ ^ ^ ^ ^ ^8/^ /^ /^ /^ /^| /^ /^ /^d
X 
X 
X 
X 
X 
X 
X 
X\ \ \ \ \\ \ \ \E E E E E E E E\ \ \ \ \L \ \ \8= = = = =< = = =       
 
 
 
 
L 
 
 
M M M M ML M M M M Mr   r
   )arrayr   zlibenumr   kaitaistructr   r   r   r   
ks_versionpkg_resourcesr   	Exceptionr
   r   r   r   <module>r      s             < < < < < < < < < < 2 2 2 2 2 2 ' ' ' ' ' '=}}U3333
)fjtu
v
vvmM mM mM mM mM, mM mM mM mM mMr   