§
    ¸)ýf1  ã                   ót   — d Z ddlZddlZej        Z G d„ dej        ¦  «        Z G d„ dej        ¦  «        ZdS )z7Internal classes used by the gzip, lzma and bz2 modulesé    Nc                   ó*   — e Zd ZdZd„ Zd„ Zd„ Zd„ ZdS )Ú
BaseStreamzMode-checking helper functions.c                 ó2   — | j         rt          d¦  «        ‚d S )NzI/O operation on closed file)ÚclosedÚ
ValueError©Úselfs    úX/home/blender/git/blender-v430/install_release/4.3/python/lib/python3.11/_compression.pyÚ_check_not_closedzBaseStream._check_not_closed   s%   € ØŒ;ð 	=ÝÐ;Ñ<Ô<Ð<ð	=ð 	=ó    c                 óV   — |                       ¦   «         st          j        d¦  «        ‚d S )NzFile not open for reading)ÚreadableÚioÚUnsupportedOperationr   s    r
   Ú_check_can_readzBaseStream._check_can_read   ó1   € Ø�}Š}‰Œð 	GÝÔ)Ð*EÑFÔFÐFð	Gð 	Gr   c                 óV   — |                       ¦   «         st          j        d¦  «        ‚d S )NzFile not open for writing)Úwritabler   r   r   s    r
   Ú_check_can_writezBaseStream._check_can_write   r   r   c                 ó¦   — |                       ¦   «         st          j        d¦  «        ‚|                      ¦   «         st          j        d¦  «        ‚d S )Nz3Seeking is only supported on files open for readingz3The underlying file object does not support seeking)r   r   r   Úseekabler   s    r
   Ú_check_can_seekzBaseStream._check_can_seek   sl   € Ø�}Š}‰Œð 	GÝÔ)ð +Fñ Gô Gð Gà�}Š}‰Œð 	FÝÔ)ð +Eñ Fô Fð Fð	Fð 	Fr   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   © r   r
   r   r   	   sa   € € € € € Ø)Ð)ð=ð =ð =ðGð Gð GðGð Gð GðFð Fð Fð Fð Fr   r   c                   ój   ‡ — e Zd ZdZd„ Zdd„Zˆ fd„Zd„ Zd„ Zdd	„Z	d
„ Z
d„ Zej        fd„Zd„ Zˆ xZS )ÚDecompressReaderz5Adapts the decompressor API to a RawIOBase reader APIc                 ó   — dS )NTr   r   s    r
   r   zDecompressReader.readable$   s   € Øˆtr   r   c                 ó–   — || _         d| _        d| _        d| _        || _        || _         | j        di | j        ¤Ž| _        || _        d S )NFr   éÿÿÿÿr   )Ú_fpÚ_eofÚ_posÚ_sizeÚ_decomp_factoryÚ_decomp_argsÚ_decompressorÚ_trailing_error)r	   ÚfpÚdecomp_factoryÚtrailing_errorÚdecomp_argss        r
   Ú__init__zDecompressReader.__init__'   s`   € ØˆŒØˆŒ	ØˆŒ	ð ˆŒ
ð  .ˆÔØ'ˆÔØ1˜TÔ1ÐFÐF°DÔ4EÐFÐFˆÔð  .ˆÔÐÐr   c                 óR   •— d | _         t          ¦   «                              ¦   «         S ©N)r)   ÚsuperÚclose)r	   Ú	__class__s    €r
   r3   zDecompressReader.close;   s   ø€ Ø!ˆÔÝ‰wŒw�}Š}‰ŒÐr   c                 ó4   — | j                              ¦   «         S r1   )r#   r   r   s    r
   r   zDecompressReader.seekable?   s   € ØŒx× Ò Ñ"Ô"Ð"r   c                 ó4  — t          |¦  «        5 }|                     d¦  «        5 }|                      t          |¦  «        ¦  «        }||d t          |¦  «        …<   d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   t          |¦  «        S )NÚB)Ú
memoryviewÚcastÚreadÚlen)r	   ÚbÚviewÚ	byte_viewÚdatas        r
   ÚreadintozDecompressReader.readintoB   sú   € Ý˜‰]Œ]ð 	)˜d D§I¢I¨c¡N¤Nð 	)°iØ—9’9�S ™^œ^Ñ,Ô,ˆDØ$(ˆI�j•s˜4‘y”y�jÑ!ð	)ð 	)ð 	)ñ 	)ô 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)øøøð 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)ñ 	)ô 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)øøøð 	)ð 	)ð 	)ð 	)õ �4‰yŒyÐs4   �B ¦7A)ÁB Á)A-	Á-B Á0A-	Á1B Â BÂBr"   c                 óv  — |dk     r|                       ¦   «         S |r| j        rdS d }	 | j        j        rr| j        j        p| j                             t          ¦  «        }|sn¢ | j        di | j	        ¤Ž| _        	 | j         
                    ||¦  «        }nj# | j        $ r Y nbw xY w| j        j        r1| j                             t          ¦  «        }|st          d¦  «        ‚nd}| j         
                    ||¦  «        }|rnŒÜ|sd| _        | j        | _        dS | xj        t!          |¦  «        z  c_        |S )Nr   r   TzACompressed file ended before the end-of-stream marker was reachedr   )Úreadallr$   r)   ÚeofÚunused_datar#   r:   ÚBUFFER_SIZEr'   r(   Ú
decompressr*   Úneeds_inputÚEOFErrorr%   r&   r;   )r	   Úsizer?   Úrawblocks       r
   r:   zDecompressReader.readH   s–  € Ø�!Š8ˆ8Ø—<’<‘>”>Ð!àð 	�t”yð 	Ø�3Øˆð	ØÔ!Ô%ð EØ Ô.Ô:ð 7Ø œHŸMšM­+Ñ6Ô6ð àð Øà%9 TÔ%9ð &)ð &)ØÔ'ð&)ð &)�Ô"ðØÔ-×8Ò8¸À4ÑHÔH�D�DøØÔ+ð ð ð à�Eðøøøð Ô%Ô1ð #Ø#œxŸ}š}­[Ñ9Ô9�HØ#ð KÝ&ð (Jñ Kô Kð KðKð  #�HØÔ)×4Ò4°X¸tÑDÔD�Øð Øð1	ð2 ð 	ØˆDŒIØœˆDŒJØ�3Øˆ	Œ	•S˜‘Y”YÑˆ	Œ	Øˆs   Á;B Â
B$Â#B$c                 óÞ   — g }|                       t          j        ¦  «        x}r6|                     |¦  «         |                       t          j        ¦  «        x}°6d                     |¦  «        S )Nr   )r:   ÚsysÚmaxsizeÚappendÚjoin)r	   Úchunksr?   s      r
   rB   zDecompressReader.readallq   sg   € Øˆð —i’i¥¤Ñ,Ô,Ð,ˆdð 	 Ø�MŠM˜$ÑÔÐð —i’i¥¤Ñ,Ô,Ð,ˆdð 	 ð �xŠx˜ÑÔÐr   c                 ó„   — | j                              d¦  «         d| _        d| _         | j        di | j        ¤Ž| _        d S )Nr   Fr   )r#   Úseekr$   r%   r'   r(   r)   r   s    r
   Ú_rewindzDecompressReader._rewind|   sH   € ØŒ�Š�aÑÔÐØˆŒ	ØˆŒ	Ø1˜TÔ1ÐFÐF°DÔ4EÐFÐFˆÔÐÐr   c                 óf  — |t           j        k    rn¢|t           j        k    r| j        |z   }n‡|t           j        k    rU| j        dk     r?|                      t           j        ¦  «        r 	 |                      t           j        ¦  «        ° | j        |z   }n"t          d 	                    |¦  «        ¦  «        ‚|| j        k     r|  
                    ¦   «          n
|| j        z  }|dk    rH|                      t          t           j        |¦  «        ¦  «        }|sn|t          |¦  «        z  }|dk    °H| j        S )Nr   zInvalid value for whence: {})r   ÚSEEK_SETÚSEEK_CURr%   ÚSEEK_ENDr&   r:   ÚDEFAULT_BUFFER_SIZEr   ÚformatrS   Úminr;   )r	   ÚoffsetÚwhencer?   s       r
   rR   zDecompressReader.seek‚   s&  € à•R”[Ò Ð ØØ•r”{Ò"Ð"Ø”Y Ñ'ˆFˆFØ•r”{Ò"Ð"àŒz˜AŠ~ˆ~Ø—i’i¥Ô 6Ñ7Ô7ð Øð —i’i¥Ô 6Ñ7Ô7ð à”Z &Ñ(ˆFˆFåÐ;×BÒBÀ6ÑJÔJÑKÔKÐKð �D”IÒÐØ�LŠL‰NŒNˆNˆNà�d”iÑˆFð �qŠjˆjØ—9’9�S¥Ô!7¸Ñ@Ô@ÑAÔAˆDØð ØØ•c˜$‘i”iÑˆFð	 �qŠjˆjð ŒyÐr   c                 ó   — | j         S )z!Return the current file position.)r%   r   s    r
   ÚtellzDecompressReader.tell    s
   € àŒyÐr   )r   )r"   )r   r   r   r   r   r/   r3   r   r@   r:   rB   rS   r   rU   rR   r^   Ú__classcell__)r4   s   @r
   r   r   !   sß   ø€ € € € € Ø?Ð?ðð ð ð.ð .ð .ð .ð(ð ð ð ð ð#ð #ð #ðð ð ð'ð 'ð 'ð 'ðR ð  ð  ðGð Gð Gð #%¤+ð ð ð ð ð<ð ð ð ð ð ð r   r   )	r   r   rL   rX   rE   ÚBufferedIOBaser   Ú	RawIOBaser   r   r   r
   ú<module>rb      sš   ðØ =Ð =à 	€	€	€	Ø 
€
€
€
àÔ$€ðFð Fð Fð Fð F�Ô"ñ Fô Fð Fð0Að Að Að Að A�r”|ñ Aô Að Að Að Ar   