Ë
    rPêjI  ã                   óô  — U d dl Z d dlZd dlZd dlmZmZ d dlmZ d dlm	Z	m
Z
mZmZmZmZmZ ej                   dk\  rd dlmZ nd dlmZ eeedd	f   Z	 	 d dlZd
Z	 ej                   dk\  rd dlmZ nd dlmZ d
ZdZd ZdZ dZ!dZ"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d¬«      Z) G d„ d«      Z* e*e«      Z+e*e,d <   d!e(d"dfd#„Z-	 	 d8d$e.dz  d%e/d"e0fd&„Z1 G d'„ d(e«      Z2 ed)e2¬*«      Z3 G d+„ d,e«      Z4 G d-„ d.e4ee3   «      Z5 G d/„ d0«      Z6 G d1„ d2e5e'   «      Z7 G d3„ d4e4«      Z8 G d5„ d6e5d7   «      Z9y# e$ r d dlZY �Œw xY w# e$ r dZY �Œw xY w# e$ r dZY Œüw xY w)9é    N)ÚABCÚabstractmethod)ÚExecutor)ÚAnyÚFinalÚGenericÚProtocolÚ	TypedDictÚTypeVarÚcast)é   é   )ÚBuffer)ÚUnionzmemoryview[int]zmemoryview[bytes]TF)r   é   ©ÚZstdDecompressori   éÿÿÿÿé@   i   i   c                   ó   — e Zd ZdZy)ÚTooManyMembersErrorz:A stream concatenated more members than the caller allows.N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__© ó    ú^/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/aiohttp/compression_utils.pyr   r   6   s   „ ÚDr   r   c                   ó.   — e Zd Zdedefd„Zddedefd„Zy)ÚZLibCompressObjProtocolÚdataÚreturnc                  ó   — y ©Nr   ©Úselfr!   s     r   Úcompressz ZLibCompressObjProtocol.compress;   ó   � r   Úmodec                 ó   — y r$   r   ©r&   r)   s     r   ÚflushzZLibCompressObjProtocol.flush<   r(   r   N©.)r   r   r   r   Úbytesr'   Úintr,   r   r   r   r    r    :   s   „ Ø2˜VÐ2¨Ó2Ù5˜#Ð5¨5Ô5r   r    c                   óv   — e Zd Zddededefd„Zddedefd„Zede	fd„«       Z
edefd„«       Zedefd	„«       Zy
)ÚZLibDecompressObjProtocolr!   Ú
max_lengthr"   c                  ó   — y r$   r   ©r&   r!   r2   s      r   Ú
decompressz$ZLibDecompressObjProtocol.decompress@   r(   r   Úlengthc                 ó   — y r$   r   ©r&   r6   s     r   r,   zZLibDecompressObjProtocol.flushA   r(   r   c                  ó   — y r$   r   ©r&   s    r   ÚeofzZLibDecompressObjProtocol.eofC   ó   € Ør   c                  ó   — y r$   r   r:   s    r   Úunconsumed_tailz)ZLibDecompressObjProtocol.unconsumed_tailF   s   € Ø(+r   c                  ó   — y r$   r   r:   s    r   Úunused_dataz%ZLibDecompressObjProtocol.unused_dataI   ó   € Ø$'r   Nr-   )r   r   r   r   r/   r.   r5   r,   ÚpropertyÚboolr;   r>   r@   r   r   r   r1   r1   ?   sZ   „ ÙK˜vÐK°3ÐKÀÓKÙ7˜CÐ7¨UÓ7àØ�TÒó ØàØ+ Ò+ó Ø+àØ'˜UÒ'ó Ù'r   r1   c                   óÈ   — e Zd ZU eed<   eed<   eed<   eed<   eed<   	 	 	 	 	 	 ddededed	ed
ededz  defd„Z	 ddededefd„Z		 ddededede
fd„Z	 ddededede
fd„Zy)ÚZLibBackendProtocolÚ	MAX_WBITSÚZ_FULL_FLUSHÚZ_SYNC_FLUSHÚZ_BEST_SPEEDÚZ_FINISHÚlevelÚmethodÚwbitsÚmemLevelÚstrategyÚzdictNr"   c                  ó   — y r$   r   )r&   rK   rL   rM   rN   rO   rP   s          r   ÚcompressobjzZLibBackendProtocol.compressobjT   s   € ð #&r   c                  ó   — y r$   r   )r&   rM   rP   s      r   Údecompressobjz!ZLibBackendProtocol.decompressobj]   s   € à$'r   r!   c                 ó   — y r$   r   )r&   r!   rK   rM   s       r   r'   zZLibBackendProtocol.compressa   ó   € àr   Úbufsizec                 ó   — y r$   r   )r&   r!   rM   rW   s       r   r5   zZLibBackendProtocol.decompressd   rV   r   )......)..)r   r   r   r/   Ú__annotations__r   r    rR   r1   rT   r.   r'   r5   r   r   r   rE   rE   M   sø   … ØƒNØÓØÓØÓØƒMð ØØØØØ"ñ&àð&ð ð&ð ð	&ð
 ð&ð ð&ð ˜‰}ð&ð 
!ó&ð 14ñ(Øð(Ø'-ð(à	"ó(ð
 ?BñØ&)ðØ8;ðØðà	óð ADñØ&)ðØ:=ðØðà	ôr   rE   c                   ó,   — e Zd ZU eed<   eed<   eed<   y)ÚCompressObjArgsrM   rO   rK   N)r   r   r   r/   rY   r   r   r   r[   r[   i   s   … ØƒJØƒMØ„Jr   r[   )Útotalc                   ó  — e Zd Zdefd„Zedefd„«       Zedefd„«       Z	edefd„«       Z
edefd„«       Zedefd„«       Zedefd	„«       Zd
ededefd„Zd
ededefd„Zded
ededefd„Zded
ededefd„Zdedefd„Zy)ÚZLibBackendWrapperÚ_zlib_backendc                 ó   — || _         y r$   )r_   )r&   r_   s     r   Ú__init__zZLibBackendWrapper.__init__p   s
   € Ø2?ˆÕr   r"   c                 ó0   — t        | j                  dd«      S )Nr   Ú	undefined©Úgetattrr_   r:   s    r   ÚnamezZLibBackendWrapper.names   s   € ä�t×)Ñ)¨:°{ÓCÐCr   c                 ó.   — | j                   j                  S r$   )r_   rF   r:   s    r   rF   zZLibBackendWrapper.MAX_WBITSw   s   € à×!Ñ!×+Ñ+Ð+r   c                 ó.   — | j                   j                  S r$   )r_   rG   r:   s    r   rG   zZLibBackendWrapper.Z_FULL_FLUSH{   ó   € à×!Ñ!×.Ñ.Ð.r   c                 ó.   — | j                   j                  S r$   )r_   rH   r:   s    r   rH   zZLibBackendWrapper.Z_SYNC_FLUSH   ri   r   c                 ó.   — | j                   j                  S r$   )r_   rI   r:   s    r   rI   zZLibBackendWrapper.Z_BEST_SPEEDƒ   ri   r   c                 ó.   — | j                   j                  S r$   )r_   rJ   r:   s    r   rJ   zZLibBackendWrapper.Z_FINISH‡   s   € à×!Ñ!×*Ñ*Ð*r   ÚargsÚkwargsc                 ó:   —  | j                   j                  |i |¤ŽS r$   )r_   rR   ©r&   rm   rn   s      r   rR   zZLibBackendWrapper.compressobj‹   s    € Ø-ˆt×!Ñ!×-Ñ-¨tÐ>°vÑ>Ð>r   c                 ó:   —  | j                   j                  |i |¤ŽS r$   )r_   rT   rp   s      r   rT   z ZLibBackendWrapper.decompressobjŽ   s    € Ø/ˆt×!Ñ!×/Ñ/°Ð@¸Ñ@Ð@r   r!   c                 óB   —  | j                   j                  |g|¢­i |¤ŽS r$   )r_   r'   ©r&   r!   rm   rn   s       r   r'   zZLibBackendWrapper.compress‘   s%   € Ø*ˆt×!Ñ!×*Ñ*¨4ÐA°$ÒA¸&ÑAÐAr   c                 óB   —  | j                   j                  |g|¢­i |¤ŽS r$   )r_   r5   rs   s       r   r5   zZLibBackendWrapper.decompress”   s%   € Ø,ˆt×!Ñ!×,Ñ,¨TÐC°DÒC¸FÑCÐCr   Úattrnamec                 ó.   — t        | j                  |«      S r$   rd   )r&   ru   s     r   Ú__getattr__zZLibBackendWrapper.__getattr__˜   s   € Ü�t×)Ñ)¨8Ó4Ð4r   N)r   r   r   rE   ra   rB   Ústrrf   r/   rF   rG   rH   rI   rJ   r   r    rR   r1   rT   r   r.   r'   r5   rw   r   r   r   r^   r^   o   sO  „ ð@Ð&9ó @ð ðD�cò Dó ðDð ð,˜3ò ,ó ð,ð ð/˜cò /ó ð/ð ð/˜cò /ó ð/ð ð/˜cò /ó ð/ð ð+˜#ò +ó ð+ð? ð ?°ð ?Ð8Oó ?ðA 3ð A°#ð AÐ:Só AðB˜Vð B¨Cð B¸3ð BÀ5ó BðD˜vð D¨cð D¸Sð DÀUó Dð5 Cð 5¨Cô 5r   r^   ÚZLibBackendÚnew_zlib_backendr"   c                 ó   — | t         _        y r$   )ry   r_   )rz   s    r   Úset_zlib_backendr|   Ÿ   s
   € Ø 0„KÕr   ÚencodingÚsuppress_deflate_headerc                 óx   — | dk(  rdt         j                  z   S |rt         j                   S t         j                  S )NÚgzipé   )ry   rF   )r}   r~   s     r   Úencoding_to_moder‚   £   s9   € ð �6ÒØ”K×)Ñ)Ñ)Ð)á%<ŒK×!Ñ!Ð!ÐWÄ+×BWÑBWÐWr   c                   óN   — e Zd Zddededefd„Zedefd„«       Z	edefd„«       Z
y)	ÚMemberDecompressObjProtocolr!   r2   r"   c                  ó   — y r$   r   r4   s      r   r5   z&MemberDecompressObjProtocol.decompress®   r(   r   c                  ó   — y r$   r   r:   s    r   r;   zMemberDecompressObjProtocol.eof°   r<   r   c                  ó   — y r$   r   r:   s    r   r@   z'MemberDecompressObjProtocol.unused_data³   rA   r   Nr-   )r   r   r   r   r/   r.   r5   rB   rC   r;   r@   r   r   r   r„   r„   ­   s:   „ ÙK˜vÐK°3ÐKÀÓKàØ�TÒó ØàØ'˜UÒ'ó Ù'r   r„   Ú_DecompressObjT)Úboundc                   óˆ   — e Zd Zdefdedz  dedz  fd„Zeefde	dede
fd„«       Zefde	dede
fd	„Zeedefd
„«       «       Zy)ÚDecompressionBaseHandlerNÚexecutorÚmax_sync_chunk_sizec                 ó    — || _         || _        y)z&Base class for decompression handlers.N)Ú	_executorÚ_max_sync_chunk_size)r&   rŒ   r�   s      r   ra   z!DecompressionBaseHandler.__init__»   s   € ð "ˆŒØ$7ˆÕ!r   r!   r2   r"   c                  ó   — y©úDecompress the given data.Nr   r4   s      r   Údecompress_syncz(DecompressionBaseHandler.decompress_syncÄ   r(   r   c              ƒ   óþ   K  — | j                   �Zt        |«      | j                   kD  rBt        j                  «       j	                  | j
                  | j                  ||«      ƒ d{  –—† S | j                  ||«      S 7 Œ­wr’   )r�   ÚlenÚasyncioÚget_event_loopÚrun_in_executorr�   r”   r4   s      r   r5   z#DecompressionBaseHandler.decompressÊ   st   è ø€ ð
 ×%Ñ%Ð1Ü�D“	˜D×5Ñ5Ò5ä ×/Ñ/Ó1×AÑAØ—‘ × 4Ñ 4°d¸Jó÷ ð ð ×#Ñ# D¨*Ó5Ð5ðús   ‚A"A=Á$A;Á%A=c                  ó   — y)z7Return True if more output is available by passing b"".Nr   r:   s    r   Údata_availablez'DecompressionBaseHandler.data_available×   r(   r   )r   r   r   ÚMAX_SYNC_CHUNK_SIZEr   r/   ra   r   ÚZLIB_MAX_LENGTH_UNLIMITEDr   r.   r”   r5   rB   rC   r›   r   r   r   r‹   r‹   º   s¡   „ ð %)Ø*=ñ8à˜T‘/ð8ð ! 4™Zó8ð à.Gñ)Øð)Ø(+ð)à	ò)ó ð)ð /Hñ6Øð6Ø(+ð6à	ó6ð ØðF ò Fó ó ñFr   r‹   c                   ód   — e Zd ZU dZeed<   eed<   dZedz  ed<   e	defd„«       Z
ded	edefd
„Zy)ÚConcatDecompressionHandleray  Handler for a codec whose streams may concatenate independent members.

    Concatenated gzip/deflate members and multi-frame zstd
    (https://datatracker.ietf.org/doc/html/rfc8878#section-3.1.1) decode the
    same way: a decompressor handles one member, then flags eof and leaves the
    rest of the input in unused_data, so every member after it needs a fresh
    one.
    Ú
_unlimitedÚ_decompressorNÚ_pending_unused_datar"   c                  ó   — y)z*Return a decompressor for the next member.Nr   r:   s    r   Ú_new_decompressorz,ConcatDecompressionHandler._new_decompressorí   r(   r   Úfirstr2   c                 ó  — t        | j                  j                  «      }|g}t        |«      }d}t        }|}d}	|t        |«      k  �r5| j                  j
                  r<|	dz  }	|	t        kD  rt        dt        › d�«      ‚| j                  «       | _        t        }|| j                  k7  r||z
  }|dk  rt        ||d «      | _        n¶t        ||z   t        |«      «      }
| j                  j                  |||
 |«      }|r|j                  |«       |t        |«      z  }| j                  j
                  r#|
t        | j                  j                  «      z
  }n|
}t        |dz  t        «      }|t        |«      k  r�Œ5dj!                  |«      S )z9Decode the members following the one ``first`` came from.r   é   z Compressed stream has more than z membersNé   r   )Ú
memoryviewr¡   r@   r–   ÚMEMBER_WINDOW_MINr;   ÚMAX_DECOMPRESS_MEMBERSr   r¤   r    r.   r¢   Úminr5   ÚappendÚMEMBER_WINDOW_MAXÚjoin)r&   r¥   r2   Ú	remainingÚpartsÚproducedÚposÚwindowÚbudgetÚmembersÚendÚchunks               r   Ú_decompress_membersz.ConcatDecompressionHandler._decompress_membersñ   sƒ  € ä˜t×1Ñ1×=Ñ=Ó>ˆ	Ø�ˆÜ�u“:ˆØˆÜ"ˆØˆØˆà”C˜	“NÓ"Ø×!Ñ!×%Ò%Ø˜1‘�ØÔ3Ò3Ü-Ø:Ü1Ð2°(ð<óð ð &*×%;Ñ%;Ó%=�Ô"Ü*�Ø˜TŸ_™_Ò,Ø# hÑ.�Ø˜Q’;Ü05°iÀÀ°oÓ0F�DÔ-Øä�c˜F‘l¤C¨	£NÓ3ˆCØ×&Ñ&×1Ñ1°)¸CÀÐ2DÀfÓMˆEÙØ—‘˜UÔ#ØœC ›JÑ&�à×!Ñ!×%Ò%ØœC × 2Ñ 2× >Ñ >Ó?Ñ?‘à�ô ˜V a™ZÔ):Ó;�ðA ”C˜	“NÔ"ðD �x‰x˜‹Ðr   )r   r   r   r   r/   rY   rˆ   r¢   r.   r   r¤   r¹   r   r   r   rŸ   rŸ   Ý   sV   … ñð ƒOØ"Ó"à)-Ð˜% $™,Ó-àð9 ?ò 9ó ð9ð,¨ð ,¸Cð ,ÀEô ,r   rŸ   c                   óœ   — e Zd Zddddddefdedz  dededz  dedz  dedz  dedz  d	edz  fd
„Zde	de
fd„Zde	de
fd„Zddedz  de
fd„Zy)ÚZLibCompressorNFr}   r~   rK   rM   rO   rŒ   r�   c                 ó  — || _         || _        |€t        ||«      n|| _        t	        t
        j                  «      | _        i }| j                  |d<   |�||d<   |�||d<    | j                  j                  di |¤Ž| _        y )NrM   rO   rK   r   )	r�   r�   r‚   Ú_moder^   ry   r_   rR   Ú_compressor)	r&   r}   r~   rK   rM   rO   rŒ   r�   rn   s	            r   ra   zZLibCompressor.__init__!  s•   € ð "ˆŒØ$7ˆÔ!ð ˆ}ô ˜XÐ'>Ô?àð 	Œ
ô
 %7´{×7PÑ7PÓ$QˆÔà"$ˆØŸ*™*ˆˆw‰ØÐØ!)ˆF�:ÑØÐØ#ˆF�7‰OØ9˜4×-Ñ-×9Ñ9ÑC¸FÑCˆÕr   r!   r"   c                 ó8   — | j                   j                  |«      S r$   )r¾   r'   r%   s     r   Úcompress_synczZLibCompressor.compress_sync<  s   € Ø×Ñ×(Ñ(¨Ó.Ð.r   c              ƒ   ó  K  — | j                   duxr t        |«      | j                   kD  }|rKt        j                  «       j	                  | j
                  | j                  j                  |«      ƒ d{  –—† S | j                  |«      S 7 Œ­w)a  Compress the data and returned the compressed bytes.

        Note that flush() must be called after the last call to compress()

        If the data size is large than the max_sync_chunk_size, the compression
        will be done in the executor. Otherwise, the compression will be done
        in the event loop.

        **WARNING: This method is NOT cancellation-safe when used with flush().**
        If this operation is cancelled, the compressor state may be corrupted.
        The connection MUST be closed after cancellation to avoid data corruption
        in subsequent compress operations.

        For cancellation-safe compression (e.g., WebSocket), the caller MUST wrap
        compress() + flush() + send operations in a shield and lock to ensure atomicity.
        N)	r�   r–   r—   Úget_running_loopr™   r�   r¾   r'   rÀ   )r&   r!   Úshould_use_executors      r   r'   zZLibCompressor.compress?  s‡   è ø€ ð& ×%Ñ%¨TÐ1ò 6Ü�D“	˜D×5Ñ5Ñ5ð 	ñ Ü ×1Ñ1Ó3×CÑCØ—‘ × 0Ñ 0× 9Ñ 9¸4ó÷ ð ð ×!Ñ! $Ó'Ð'ðús   ‚A1BÁ3B	Á4Br)   c                 óp   — | j                   j                  |�|«      S | j                  j                  «      S )a	  Flush the compressor synchronously.

        **WARNING: This method is NOT cancellation-safe when called after compress().**
        The flush() operation accesses shared compressor state. If compress() was
        cancelled, calling flush() may result in corrupted data. The connection MUST
        be closed after compress() cancellation.

        For cancellation-safe compression (e.g., WebSocket), the caller MUST wrap
        compress() + flush() + send operations in a shield and lock to ensure atomicity.
        )r¾   r,   r_   rJ   r+   s     r   r,   zZLibCompressor.flush[  s>   € ð ×Ñ×%Ñ%ØÐ$ˆDó
ð 	
Ø*.×*<Ñ*<×*EÑ*Eó
ð 	
r   r$   )r   r   r   rœ   rx   rC   r/   r   ra   r   r.   rÀ   r'   r,   r   r   r   r»   r»      s¿   „ ð  $Ø(-Ø Ø Ø#Ø$(Ø*=ñDà˜‘*ðDð "&ðDð �T‰zð	Dð
 �T‰zðDð ˜‘*ðDð ˜T‘/ðDð ! 4™ZóDð6/ &ð /¨Uó /ð( 6ð (¨eó (ñ8
˜# ™*ð 
°ô 
r   r»   c            
       ó²   ‡ — e Zd ZeZdddefdedz  dededz  de	dz  fˆ fd„Z
defd	„Zefd
ede	defd„Zdde	defd„Zedefd„«       Zedefd„«       Zˆ xZS )ÚZLibDecompressorNFr}   r~   rŒ   r�   c                 ó¾   •— t         ‰| �  ||¬«       t        ||«      | _        t	        t
        j                  «      | _        | j                  «       | _        d| _	        y )N©rŒ   r�   F)
Úsuperra   r‚   r½   r^   ry   r_   r¤   r¡   Ú_last_empty)r&   r}   r~   rŒ   r�   Ú	__class__s        €r   ra   zZLibDecompressor.__init__n  sS   ø€ ô 	‰Ñ (Ð@SÐÔTÜ% hÐ0GÓHˆŒ
Ü$6´{×7PÑ7PÓ$QˆÔØ!×3Ñ3Ó5ˆÔØ ˆÕr   r"   c                 óN   — | j                   j                  | j                  ¬«      S )N)rM   )r_   rT   r½   r:   s    r   r¤   z"ZLibDecompressor._new_decompressor{  s    € Ø×!Ñ!×/Ñ/°d·j±jÐ/ÓAÐAr   r!   r2   c                 óî  — | j                   �| j                   t        |«      z   }d | _         | j                  j                  | j                  j                  |z   |«      }| j                  j
                  r(| j                  j                  r| j                  ||«      }|dk(  | _        | j                  j
                  r8| j                  | j                  j                  kD  r| j                  «       | _        |S ©Nr   )r¢   r.   r¡   r5   r>   r;   r@   r¹   rÊ   r½   r_   rF   r¤   ©r&   r!   r2   Úresults       r   r”   z ZLibDecompressor.decompress_sync~  sÕ   € ð ×$Ñ$Ð0Ø×,Ñ,¬u°T«{Ñ:ˆDØ(,ˆDÔ%Ø×#Ñ#×.Ñ.Ø×Ñ×.Ñ.°Ñ5°zó
ˆð
 ×Ñ×!Ò! d×&8Ñ&8×&DÒ&DØ×-Ñ-¨f°jÓAˆFð " S™=ˆÔð ×Ñ×!Ò! d§j¡j°4×3EÑ3E×3OÑ3OÒ&OØ!%×!7Ñ!7Ó!9ˆDÔàˆr   r6   c                 óv   — |dkD  r| j                   j                  |«      S | j                   j                  «       S )Nr   )r¡   r,   r8   s     r   r,   zZLibDecompressor.flush˜  s?   € ð ˜Šzð ×Ñ×$Ñ$ VÓ,ð	
ð ×#Ñ#×)Ñ)Ó+ð	
r   c                 ó~   — t        | j                  j                  «      xs | j                   xs | j                  d uS r$   )rC   r¡   r>   rÊ   r¢   r:   s    r   r›   zZLibDecompressor.data_availableŸ  sA   € ô �×#Ñ#×3Ñ3Ó4ò 5Ø×#Ñ#Ð#ò5à×(Ñ(°Ð4ð	
r   c                 ó.   — | j                   j                  S r$   )r¡   r;   r:   s    r   r;   zZLibDecompressor.eof§  s   € à×!Ñ!×%Ñ%Ð%r   )r   )r   r   r   r�   r    rœ   rx   rC   r   r/   ra   r1   r¤   r   r.   r”   r,   rB   r›   r;   Ú__classcell__©rË   s   @r   rÆ   rÆ   k  sÈ   ø„ Ø*€Jð  $Ø(-Ø$(Ø*=ñ!à˜‘*ð!ð "&ð!ð ˜T‘/ð	!ð
 ! 4™Zõ!ðBÐ#<ó Bð /HñØðØ(+ðà	óñ4
˜Cð 
¨ó 
ð ð
 ò 
ó ð
ð ð&�Tò &ó ô&r   rÆ   c                   óx   ‡ — e Zd Zdefdedz  dedz  ddfˆ fd„Zefdedede	fd„Z
de	fd	„Zedefd
„«       Zˆ xZS )ÚBrotliDecompressorNrŒ   r�   r"   c                 óŠ   •— t         st        d«      ‚t        j                  «       | _        d| _        t        ‰| �  ||¬«       y)z)Decompress data using the Brotli library.zIThe brotli decompression is not available. Please install `Brotli` moduleFrÈ   N)Ú
HAS_BROTLIÚRuntimeErrorÚbrotliÚDecompressorÚ_objrÊ   rÉ   ra   ©r&   rŒ   r�   rË   s      €r   ra   zBrotliDecompressor.__init__°  sG   ø€ õ Üð1óð ô ×'Ñ'Ó)ˆŒ	Ø ˆÔÜ‰Ñ (Ð@SÐÕTr   r!   r2   c                 ó¼  — t        | j                  d«      r^|t        k(  r*t        t        | j                  j                  |«      «      }nˆt        t        | j                  j                  ||«      «      }n]|t        k(  r*t        t        | j                  j                  |«      «      }n*t        t        | j                  j                  ||«      «      }|dk(  | _        |S )r“   r5   r   )ÚhasattrrÝ   r�   r   r.   r5   ÚprocessrÊ   rÏ   s       r   r”   z"BrotliDecompressor.decompress_sync¿  s¥   € ô �4—9‘9˜lÔ+ØÔ6Ò6Üœe T§Y¡Y×%9Ñ%9¸$Ó%?Ó@‘äœe T§Y¡Y×%9Ñ%9¸$À
Ó%KÓL‘àÔ6Ò6Üœe T§Y¡Y×%6Ñ%6°tÓ%<Ó=‘äœe T§Y¡Y×%6Ñ%6°t¸ZÓ%HÓI�à! S™=ˆÔØˆr   c                 ó€   — t        | j                  d«      r(t        t        | j                  j	                  «       «      S y)zFlush the decompressor.r,   r   )rà   rÝ   r   r.   r,   r:   s    r   r,   zBrotliDecompressor.flushÑ  s+   € ä�4—9‘9˜gÔ&Üœ˜tŸy™yŸ™Ó0Ó1Ð1Ør   c                 óV   — | j                   j                  «        xr | j                   S r$   )rÝ   Úis_finishedrÊ   r:   s    r   r›   z!BrotliDecompressor.data_available×  s&   € à—9‘9×(Ñ(Ó*Ð*ÒC°4×3CÑ3CÐ/CÐCr   )r   r   r   rœ   r   r/   ra   r�   r   r.   r”   r,   rB   rC   r›   rÔ   rÕ   s   @r   r×   r×   ¬  s…   ø„ ð %)Ø*=ñUà˜T‘/ðUð ! 4™ZðUð 
õ	Uð  /HñØðØ(+ðà	óð$�uó ð ðD ò Dó ôDr   r×   c                   ó„   ‡ — e Zd ZeZdefdedz  dedz  ddfˆ fd„Zdd„Z	e
fdededefd	„Zdefd
„Zedefd„«       Zˆ xZS )ÚZSTDDecompressorNrŒ   r�   r"   c                 ót   •— t         st        d«      ‚t        ‰| �  ||¬«       | j	                  «       | _        y )NzOThe zstd decompression is not available. Please install `backports.zstd` modulerÈ   )ÚHAS_ZSTDrÚ   rÉ   ra   r¤   r¡   rÞ   s      €r   ra   zZSTDDecompressor.__init__ß  s@   ø€ õ
 Üð9óð ô 	‰Ñ (Ð@SÐÔTØ!×3Ñ3Ó5ˆÕr   c                 ó   — t        «       S r$   r   r:   s    r   r¤   z"ZSTDDecompressor._new_decompressorì  s   € ÜÓ!Ð!r   r!   r2   c                 óv  — |t         k(  rt        n|}| j                  �| j                  |z   }d | _        | j                  j	                  ||«      }| j                  j
                  r(| j                  j                  r| j                  ||«      }| j                  j
                  r| j                  «       | _        |S r$   )	r�   ÚZSTD_MAX_LENGTH_UNLIMITEDr¢   r¡   r5   r;   r@   r¹   r¤   )r&   r!   r2   Úzstd_max_lengthrÐ   s        r   r”   z ZSTDDecompressor.decompress_syncï  s°   € ð Ô6Ò6õ &àð 	ð
 ×$Ñ$Ð0Ø×,Ñ,¨tÑ3ˆDØ(,ˆDÔ%Ø×#Ñ#×.Ñ.¨t°_ÓEˆð ×Ñ×!Ò! d×&8Ñ&8×&DÒ&DØ×-Ñ-¨f°oÓFˆFð
 ×Ñ×!Ò!Ø!%×!7Ñ!7Ó!9ˆDÔàˆr   c                  ó   — yrÎ   r   r:   s    r   r,   zZSTDDecompressor.flush
  s   € Ør   c                 ó‚   — | j                   j                   xr | j                   j                   xs | j                  d uS r$   )r¡   Úneeds_inputr;   r¢   r:   s    r   r›   zZSTDDecompressor.data_available  sB   € ð ×"Ñ"×.Ñ.Ð.ÒM°t×7IÑ7I×7MÑ7MÐ3Mò3à×&Ñ&¨dÐ2ð	3r   )r"   r   )r   r   r   rë   r    rœ   r   r/   ra   r¤   r�   r   r.   r”   r,   rB   rC   r›   rÔ   rÕ   s   @r   ræ   ræ   Ü  sˆ   ø„ Ø*€Jð %)Ø*=ñ6à˜T‘/ð6ð ! 4™Zð6ð 
õ	6ó"ð /HñØðØ(+ðà	óð6�uó ð ð3 ò 3ó ô3r   ræ   r   )NF):r—   ÚsysÚzlibÚabcr   r   Úconcurrent.futuresr   Útypingr   r   r   r	   r
   r   r   Úversion_infoÚcollections.abcr   r   r.   Ú	bytearrayÚ
brotlicffirÛ   ÚImportErrorrÙ   Úcompression.zstdr   Úbackports.zstdrè   rœ   r�   rë   rª   r®   r«   Ú
ValueErrorr   r    r1   rE   r[   r^   ry   rY   r|   rx   rC   r/   r‚   r„   rˆ   r‹   rŸ   r»   rÆ   r×   ræ   r   r   r   ú<module>rý      s	  ðÜ Û 
Û ß #Ý 'ß J× JÑ Jà×Ñ�wÒÞ&åà�5˜)Ð%6Ð8KÐKÑL€FððÛ#ð €JðØ
×Ñ˜7Ò"Þ5å3à€Hð
 Ð ð Ð ØÐ ð Ð ØÐ ð Ð ôE˜*ô Eô6˜hô 6ô
( ô (ô˜(ô ô8�i uõ ÷*5ñ *5ñZ #5°TÓ":€ÐÓ :ð1Ð':ð 1¸tó 1ð
  Ø$)ñXØ�D‰jðXà!ðXð 	óXô( (ô (ñ Ð+Ð3NÔO€ô F˜sô  FôF@Ð!9¸7À?Ñ;Sô @÷FH
ñ H
ôV>&Ð1Ð2KÑLô >&ôB-DÐ1ô -Dô`53Ð1Ð2DÑEõ 53øðU ò Þðûð ò ØƒJðûð ò Ø‚HðúsB   ÁE ÁE ÁE- Å	EÅE ÅEÅE ÅE*Å)E*Å-E7Å6E7