ó
    §ZÇh	/  ã                  óú  • S r SSKJr  SSKrSSKrSSKrSSKrSSKJr   SSK	r	 SSKr " S S5      r " S S	\5      r " S
 S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S5      r " S S5      r " S S5      r " S S5      r\\\\\S.r\	c  \R3                  S5        \c  \R3                  S5        gg! \
 a     SSKr	 N¸! \
 a    Sr	  NÃf = ff = f! \
 a    Sr NÐf = f)zq
Handlers for Content-Encoding.

See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Encoding
é    )ÚannotationsNé   )ÚDecodingErrorc                  ó(   • \ rS rSrSS jrSS jrSrg)ÚContentDecoderé$   c                ó   • [        5       e©N©ÚNotImplementedError©ÚselfÚdatas     ÚL/home/mande/repo/quber/.venv/lib/python3.13/site-packages/httpx/_decoders.pyÚdecodeÚContentDecoder.decode%   ó   € Ü!Ó#Ð#ó    c                ó   • [        5       er
   r   ©r   s    r   ÚflushÚContentDecoder.flush(   r   r   © N©r   ÚbytesÚreturnr   ©r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   Ú__static_attributes__r   r   r   r   r   $   s   † ô$÷$r   r   c                  ó,   • \ rS rSrSrSS jrSS jrSrg)	ÚIdentityDecoderé,   z
Handle unencoded data.
c                ó   • U$ r
   r   r   s     r   r   ÚIdentityDecoder.decode1   s   € Øˆr   c                ó   • g©Nr   r   r   s    r   r   ÚIdentityDecoder.flush4   s   € Ør   r   Nr   r   )r   r   r    r!   Ú__doc__r   r   r"   r   r   r   r$   r$   ,   s   † ñô÷r   r$   c                  ó6   • \ rS rSrSrSS jrS	S jrS
S jrSrg)ÚDeflateDecoderé8   zN
Handle 'deflate' decoding.

See: https://stackoverflow.com/questions/1838699
c                óF   • SU l         [        R                  " 5       U l        g ©NT)Úfirst_attemptÚzlibÚdecompressobjÚdecompressorr   s    r   Ú__init__ÚDeflateDecoder.__init__?   s   € Ø!ˆÔÜ ×.Ò.Ó0ˆÕr   c                óP  • U R                   nSU l          U R                  R                  U5      $ ! [        R                   aa  nU(       a@  [        R
                  " [        R                  * 5      U l        U R                  U5      s S nA$ [        [        U5      5      UeS nAff = f©NF)
r1   r4   Ú
decompressr2   Úerrorr3   Ú	MAX_WBITSr   r   Ústr)r   r   Úwas_first_attemptÚexcs       r   r   ÚDeflateDecoder.decodeC   s‚   € Ø ×.Ñ.ÐØ"ˆÔð	3Ø×$Ñ$×/Ñ/°Ó5Ð5øÜ�z‰zó 	3Þ Ü$(×$6Ò$6¼¿¹°Ó$G�Ô!Ø—{‘{ 4Ó(Õ(Ü¤ C£Ó)¨sÐ2ûð		3ús"   •0 °B%ÁAB ÂB%ÂB Â B%c                óš   •  U R                   R                  5       $ ! [        R                   a  n[	        [        U5      5      UeS nAff = fr
   ©r4   r   r2   r:   r   r<   ©r   r>   s     r   r   ÚDeflateDecoder.flushN   óA   € ð	3Ø×$Ñ$×*Ñ*Ó,Ð,øÜ�z‰zó 	3Ü¤ C£Ó)¨sÐ2ûð	3úó   ‚ œA
°AÁA
)r4   r1   N©r   ÚNoner   r   ©	r   r   r    r!   r+   r5   r   r   r"   r   r   r   r-   r-   8   s   † ñô1ô	3÷3r   r-   c                  ó6   • \ rS rSrSrSS jrS	S jrS
S jrSrg)ÚGZipDecoderéU   zK
Handle 'gzip' decoding.

See: https://stackoverflow.com/questions/1838699
c                ó\   • [         R                  " [         R                  S-  5      U l        g )Né   )r2   r3   r;   r4   r   s    r   r5   ÚGZipDecoder.__init__\   s   € Ü ×.Ò.¬t¯~©~ÀÑ/BÓCˆÕr   c                óœ   •  U R                   R                  U5      $ ! [        R                   a  n[	        [        U5      5      UeS nAff = fr
   )r4   r9   r2   r:   r   r<   ©r   r   r>   s      r   r   ÚGZipDecoder.decode_   sC   € ð	3Ø×$Ñ$×/Ñ/°Ó5Ð5øÜ�z‰zó 	3Ü¤ C£Ó)¨sÐ2ûð	3ús   ‚ �A±AÁAc                óš   •  U R                   R                  5       $ ! [        R                   a  n[	        [        U5      5      UeS nAff = fr
   rA   rB   s     r   r   ÚGZipDecoder.flushe   rD   rE   )r4   NrF   r   r   rH   r   r   r   rJ   rJ   U   s   † ñôDô3÷3r   rJ   c                  ó6   • \ rS rSrSrSS jrS	S jrS
S jrSrg)ÚBrotliDecoderél   a<  
Handle 'brotli' decoding.

Requires `pip install brotlipy`. See: https://brotlipy.readthedocs.io/
    or   `pip install brotli`. See https://github.com/google/brotli
Supports both 'brotlipy' and 'Brotli' packages since they share an import
name. The top branches are for 'brotlipy' and bottom branches for 'Brotli'
c                ó  • [         c  [        S5      S e[         R                  " 5       U l        SU l        U   [        U R                  S5      (       a  U R                  R                  U l        g U R                  R                  U l        g )NzžUsing 'BrotliDecoder', but neither of the 'brotlicffi' or 'brotli' packages have been installed. Make sure to install httpx using `pip install httpx[brotli]`.Fr9   )	ÚbrotliÚImportErrorÚDecompressorr4   Ú	seen_dataÚhasattrr9   Ú_decompressÚprocessr   s    r   r5   ÚBrotliDecoder.__init__v   sy   € Ü‰>ÜðPóð ð	ô #×/Ò/Ó1ˆÔØˆŒÙÜ�4×$Ñ$ l×3Ñ3à#×0Ñ0×;Ñ;ˆDÕð  $×0Ñ0×8Ñ8ˆDÕr   c                ó¦   • U(       d  gSU l          U R                  U5      $ ! [        R                   a  n[	        [        U5      5      UeS nAff = f©Nr   T)r[   r]   rX   r:   r   r<   rP   s      r   r   ÚBrotliDecoder.decodeˆ   sJ   € ÞØØˆŒð	3Ø×#Ñ# DÓ)Ð)øÜ�|‰|ó 	3Ü¤ C£Ó)¨sÐ2ûð	3ús   ‘" ¢A¶AÁAc                óö   • U R                   (       d  g [        U R                  S5      (       a  U R                  R                  5         g! [        R
                   a  n[        [        U5      5      UeS nAff = f)Nr   Úfinish)r[   r\   r4   rd   rX   r:   r   r<   rB   s     r   r   ÚBrotliDecoder.flush‘   s`   € Ø�~�~Øð
	3Ü�t×(Ñ(¨(×3Ñ3ð ×!Ñ!×(Ñ(Ô*ØøÜ�|‰|ó 	3Ü¤ C£Ó)¨sÐ2ûð	3ús   ”5A
 Á
A8ÁA3Á3A8)r]   r4   r[   NrF   r   r   rH   r   r   r   rU   rU   l   s   † ñô9ô$3÷3r   rU   c                  ó6   • \ rS rSrSrSS jrS	S jrS
S jrSrg)ÚZStandardDecoderé¡   z�
Handle 'zstd' RFC 8878 decoding.

Requires `pip install zstandard`.
Can be installed as a dependency of httpx using `pip install httpx[zstd]`.
c                óˆ   • [         c  [        S5      S e[         R                  " 5       R                  5       U l        SU l        g )NzXUsing 'ZStandardDecoder', ...Make sure to install httpx using `pip install httpx[zstd]`.F)Ú	zstandardrY   ÚZstdDecompressorr3   r4   r[   r   s    r   r5   ÚZStandardDecoder.__init__ª   sC   € ÜÑÜðNóð ðô
 &×6Ò6Ó8×FÑFÓHˆÔØˆ�r   c                óÐ  • [         c   eSU l        [        R                  " 5       n UR	                  U R
                  R                  U5      5        U R
                  R                  (       a»  U R
                  R                  (       a   U R
                  R                  n[         R                  " 5       R                  5       U l        UR	                  U R
                  R                  U5      5        U R
                  R                  (       a  U R
                  R                  (       a  M   UR                  5       $ ! [         R                   a  n[        [        U5      5      UeS nAff = fr0   )rj   r[   ÚioÚBytesIOÚwriter4   r9   ÚeofÚunused_datark   r3   Ú	ZstdErrorr   r<   Úgetvalue)r   r   Úoutputrr   r>   s        r   r   ÚZStandardDecoder.decode´   s  € ÜÑ$Ð$Ð$ØˆŒÜ—’“ˆð	3Ø�L‰L˜×*Ñ*×5Ñ5°dÓ;Ô<Ø×#Ñ#×'×'¨D×,=Ñ,=×,I×,IØ"×/Ñ/×;Ñ;�Ü$-×$>Ò$>Ó$@×$NÑ$NÓ$P�Ô!Ø—‘˜T×.Ñ.×9Ñ9¸+ÓFÔGð ×#Ñ#×'×'¨D×,=Ñ,=×,I×,IÑ,Ið �‰Ó Ð øô ×"Ñ"ó 	3Ü¤ C£Ó)¨sÐ2ûð	3ús   §C>D7 Ä7E%ÅE Å E%c                ó¼   • U R                   (       d  gU R                  R                  5       nU R                  R                  (       d  [	        S5      e[        U5      $ )Nr   zZstandard data is incomplete)r[   r4   r   rq   r   r   )r   Úrets     r   r   ÚZStandardDecoder.flushÂ   sE   € Ø�~�~ØØ×Ñ×%Ñ%Ó'ˆØ× Ñ ×$×$ÜÐ >Ó?Ð?Ü�S‹zÐr   )r4   r[   NrF   r   r   rH   r   r   r   rg   rg   ¡   s   † ñôô!÷r   rg   c                  ó6   • \ rS rSrSrSS jrS	S jrS
S jrSrg)ÚMultiDecoderéË   z=
Handle the case where multiple encodings have been applied.
c                ó6   • [        [        U5      5      U l        g)zU
'children' should be a sequence of decoders in the order in which
each was applied.
N)ÚlistÚreversedÚchildren)r   r€   s     r   r5   ÚMultiDecoder.__init__Ð   s   € ô œX hÓ/Ó0ˆ�r   c                óN   • U R                    H  nUR                  U5      nM     U$ r
   )r€   r   ©r   r   Úchilds      r   r   ÚMultiDecoder.decodeØ   s#   € Ø—]”]ˆEØ—<‘< Ó%ŠDñ #àˆr   c                ót   • SnU R                    H%  nUR                  U5      UR                  5       -   nM'     U$ r)   )r€   r   r   rƒ   s      r   r   ÚMultiDecoder.flushÝ   s3   € ØˆØ—]”]ˆEØ—<‘< Ó%¨¯©«Ñ5ŠDñ #àˆr   )r€   N)r€   ztyping.Sequence[ContentDecoder]r   rG   r   r   rH   r   r   r   r{   r{   Ë   s   † ñô1ô÷
r   r{   c                  ó:   • \ rS rSrSrSS	S jjrS
S jrSS jrSrg)ÚByteChunkeréä   z6
Handles returning byte content in fixed-size chunks.
Nc                óD   • [         R                  " 5       U l        Xl        g r
   )rn   ro   Ú_bufferÚ_chunk_size©r   Ú
chunk_sizes     r   r5   ÚByteChunker.__init__é   s   € Ü—z’z“|ˆŒØ%Õr   c                óÐ  • U R                   c  U(       a  U/$ / $ U R                  R                  U5        U R                  R                  5       U R                   :¼  Ga  U R                  R	                  5       n[        S[        U5      U R                   5       Vs/ s H  nX#X0R                   -    PM     nn[        US   5      U R                   :X  a7  U R                  R                  S5        U R                  R                  5         U$ U R                  R                  S5        U R                  R                  US   5        U R                  R                  5         US S $ / $ s  snf ©Nr   éÿÿÿÿ©	r�   rŒ   rp   Útellrt   ÚrangeÚlenÚseekÚtruncate©r   ÚcontentÚvalueÚiÚchunkss        r   r   ÚByteChunker.decodeí   ó,  € Ø×ÑÑ#Þ '�G�9Ð/¨RÐ/à�‰×Ñ˜7Ô#Ø�<‰<×ÑÓ $×"2Ñ"2Ô2Ø—L‘L×)Ñ)Ó+ˆEô ˜q¤# e£*¨d×.>Ñ.>Ô?óâ?�Að ˜!×.Ñ.Ñ.Ó/Ù?ð ð ô �6˜"‘:‹ $×"2Ñ"2Ó2Ø—‘×!Ñ! !Ô$Ø—‘×%Ñ%Ô'Ø�à—‘×!Ñ! !Ô$Ø—‘×"Ñ" 6¨"¡:Ô.Ø—‘×%Ñ%Ô'Ø˜c˜r�{Ð"àˆIùòó   ÂE#c                ó¸   • U R                   R                  5       nU R                   R                  S5        U R                   R                  5         U(       a  U/$ / $ ©Nr   ©rŒ   rt   r˜   r™   ©r   rœ   s     r   r   ÚByteChunker.flush  óE   € Ø—‘×%Ñ%Ó'ˆØ�‰×Ñ˜!ÔØ�‰×ÑÔÞ�ˆwÐ' RÐ'r   ©rŒ   r�   r
   ©r�   z
int | Noner   rG   )r›   r   r   úlist[bytes])r   rª   rH   r   r   r   r‰   r‰   ä   ó   † ñö&ô÷.(r   r‰   c                  ó:   • \ rS rSrSrSS	S jjrS
S jrSS jrSrg)ÚTextChunkeri  z6
Handles returning text content in fixed-size chunks.
Nc                óD   • [         R                  " 5       U l        Xl        g r
   )rn   ÚStringIOrŒ   r�   rŽ   s     r   r5   ÚTextChunker.__init__  s   € Ü—{’{“}ˆŒØ%Õr   c                óÐ  • U R                   c  U(       a  U/$ / $ U R                  R                  U5        U R                  R                  5       U R                   :¼  Ga  U R                  R	                  5       n[        S[        U5      U R                   5       Vs/ s H  nX#X0R                   -    PM     nn[        US   5      U R                   :X  a7  U R                  R                  S5        U R                  R                  5         U$ U R                  R                  S5        U R                  R                  US   5        U R                  R                  5         US S $ / $ s  snf r’   r”   rš   s        r   r   ÚTextChunker.decode  r    r¡   c                ó¸   • U R                   R                  5       nU R                   R                  S5        U R                   R                  5         U(       a  U/$ / $ r£   r¤   r¥   s     r   r   ÚTextChunker.flush+  r§   r   r¨   r
   r©   )r›   r<   r   ú	list[str]©r   rµ   rH   r   r   r   r­   r­     r«   r   r­   c                  ó:   • \ rS rSrSrSS	S jjrS
S jrSS jrSrg)ÚTextDecoderi2  z0
Handles incrementally decoding bytes into text
c                óB   • [         R                  " U5      " SS9U l        g )NÚreplace)Úerrors)ÚcodecsÚgetincrementaldecoderÚdecoder)r   Úencodings     r   r5   ÚTextDecoder.__init__7  s   € Ü×3Ò3°HÔ=ÀYÑOˆ�r   c                ó8   • U R                   R                  U5      $ r
   ©r¾   r   r   s     r   r   ÚTextDecoder.decode:  s   € Ø�|‰|×"Ñ" 4Ó(Ð(r   c                ó:   • U R                   R                  SS5      $ ra   rÂ   r   s    r   r   ÚTextDecoder.flush=  s   € Ø�|‰|×"Ñ" 3¨Ó-Ð-r   )r¾   N)zutf-8)r¿   r<   r   rG   )r   r   r   r<   )r   r<   rH   r   r   r   r¸   r¸   2  s   † ñöPô)÷.r   r¸   c                  ó6   • \ rS rSrSrSS jrS	S jrS
S jrSrg)ÚLineDecoderiA  z‡
Handles incrementally reading lines from text.

Has the same behaviour as the stdllib splitlines,
but handling the input iteratively.
c                ó    • / U l         SU l        g r8   ©ÚbufferÚtrailing_crr   s    r   r5   ÚLineDecoder.__init__I  s   € Ø!#ˆŒØ!&ˆÕr   c                óð  • SnU R                   (       a  SU-   nSU l         UR                  S5      (       a  SU l         US S nU(       d  / $ US   U;   nUR                  5       n[        U5      S:X  a'  U(       d   U R                  R                  US   5        / $ U R                  (       a/  SR                  U R                  5      US   -   /USS  -   n/ U l        U(       d  UR                  5       /U l        U$ )	Nu   
Â…â€¨â€©ÚFTr“   r   r   Ú )rË   ÚendswithÚ
splitlinesr—   rÊ   ÚappendÚjoinÚpop)r   ÚtextÚNEWLINE_CHARSÚtrailing_newlineÚliness        r   r   ÚLineDecoder.decodeM  så   € àBˆð ××Ø˜$‘;ˆDØ$ˆDÔØ�=‰=˜×ÑØ#ˆDÔØ˜˜�9ˆDæð ˆIà ™8 }Ñ4ÐØ—‘Ó!ˆäˆu‹:˜‹?Ö#3à�K‰K×Ñ˜u Q™xÔ(ØˆIà�;�;ð —W‘W˜TŸ[™[Ó)¨E°!©HÑ4Ð5¸¸a¸b¸	ÑAˆEØˆDŒKæð !Ÿ9™9›;˜-ˆDŒKàˆr   c                ó¢   • U R                   (       d  U R                  (       d  / $ SR                  U R                   5      /n/ U l         SU l        U$ )NrÏ   F)rÊ   rË   rÓ   )r   rØ   s     r   r   ÚLineDecoder.flushs  s?   € Ø�{�{ 4×#3×#3ØˆIà—‘˜Ÿ™Ó%Ð&ˆØˆŒØ ˆÔØˆr   rÉ   NrF   )rÕ   r<   r   rµ   r¶   rH   r   r   r   rÇ   rÇ   A  s   † ñô'ô$÷Lr   rÇ   )ÚidentityÚgzipÚdeflateÚbrÚzstdrß   rà   )r+   Ú
__future__r   r¼   rn   Útypingr2   Ú_exceptionsr   rX   rY   Ú
brotlicffirj   r   r$   r-   rJ   rU   rg   r{   r‰   r­   r¸   rÇ   ÚSUPPORTED_DECODERSrÔ   r   r   r   Ú<module>ræ      s9  ðñõ #ã Û 	Û Û å &ð	ãðÛ÷
$ñ $ô	�nô 	ô3�^ô 3ô:3�.ô 3ô.23�Nô 23ôj'�~ô 'ôT�>ô ÷2$(ñ $(÷N$(ñ $(÷N.ñ .÷9ñ 9ðz  ØØØ
ØñÐ ð 
�>Ø×Ñ˜4Ô ØÑØ×Ñ˜6Õ"ð øði ó ðõ 	$øØó Ø‹ðúðûð ó Ø‚Iðús:    C ¥C/ ÃC,ÃCÃC(Ã$C,Ã'C(Ã(C,Ã/C:Ã9C: