Ë
    'täiá  ã                  ó¤  — d dl mZ d dlZd dlZd dlmZ d dlmZm	Z	m
Z
mZmZmZ d dlm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 dd
lmZmZ dgZ G d„ dee«      Z  G d„ de«      Z! G d„ de«      Z" G d„ dee«      Z#	 	 	 	 dd„Z$	 	 	 	 dd„Z%	 	 	 	 	 	 	 	 dd„Z&dd„Z'dd„Z(d d„Z)	 	 	 	 	 d!	 	 	 	 	 	 	 	 	 	 	 d"d„Z*	 	 	 	 d#	 	 	 	 	 	 	 	 	 d$d„Z+y)%é    )ÚannotationsN)Údumps)ÚAnyÚAsyncIterableÚAsyncIteratorÚIterableÚIteratorÚMapping)Ú	urlencodeé   )ÚStreamClosedÚStreamConsumed)ÚMultipartStream)ÚAsyncByteStreamÚRequestContentÚRequestDataÚRequestFilesÚResponseContentÚSyncByteStream)Úpeek_filelike_lengthÚprimitive_value_to_strÚ
ByteStreamc                  ó$   — e Zd Zdd„Zdd„Zdd„Zy)r   c                ó   — || _         y ©N©Ú_stream©ÚselfÚstreams     ú]/Volumes/fast/ai/experiments/MLX_z-image/.venv/lib/python3.12/site-packages/httpx/_content.pyÚ__init__zByteStream.__init__    s	   € Øˆ�ó    c              #  ó(   K  — | j                   –— y ­wr   r   ©r   s    r!   Ú__iter__zByteStream.__iter__#   s   è ø€ Ø�l‰lÓùs   ‚c               ó*   K  — | j                   ­–— y ­wr   r   r%   s    r!   Ú	__aiter__zByteStream.__aiter__&   s   è ø€ Ø�l‰lÔùs   ‚N)r    ÚbytesÚreturnÚNone©r*   zIterator[bytes]©r*   zAsyncIterator[bytes])Ú__name__Ú
__module__Ú__qualname__r"   r&   r(   © r#   r!   r   r      s   „ óóôr#   c                  ó    — e Zd ZdZdd„Zdd„Zy)ÚIteratorByteStreamé   c                óT   — || _         d| _        t        j                  |«      | _        y ©NF)r   Ú_is_stream_consumedÚinspectÚisgeneratorÚ_is_generatorr   s     r!   r"   zIteratorByteStream.__init__-   s$   € ØˆŒØ#(ˆÔ Ü$×0Ñ0°Ó8ˆÕr#   c              #  ó^  K  — | j                   r| j                  r
t        «       ‚d| _         t        | j                  d«      rU| j                  j                  | j                  «      }|r-|–— | j                  j                  | j                  «      }|rŒ,y y | j                  D ]  }|–— Œ y ­w)NTÚread)r7   r:   r   Úhasattrr   r<   Ú
CHUNK_SIZE©r   ÚchunkÚparts      r!   r&   zIteratorByteStream.__iter__2   sˆ   è ø€ Ø×#Ò#¨×(:Ò(:Ü Ó"Ð"à#'ˆÔ Ü�4—<‘< Ô(à—L‘L×%Ñ% d§o¡oÓ6ˆEÙØ’ØŸ™×)Ñ)¨$¯/©/Ó:�ô ð
 Ÿœ�Ø“
ñ %ùs   ‚BB-ÂB-N)r    zIterable[bytes]r*   r+   r,   )r.   r/   r0   r>   r"   r&   r1   r#   r!   r3   r3   *   s   „ Ø€Jó9ô
r#   r3   c                  ó    — e Zd ZdZdd„Zdd„Zy)ÚAsyncIteratorByteStreamr4   c                óT   — || _         d| _        t        j                  |«      | _        y r6   )r   r7   r8   Ú
isasyncgenr:   r   s     r!   r"   z AsyncIteratorByteStream.__init__F   s$   € ØˆŒØ#(ˆÔ Ü$×/Ñ/°Ó7ˆÕr#   c               óš  K  — | j                   r| j                  r
t        «       ‚d| _         t        | j                  d«      rf| j                  j                  | j                  «      ƒ d {  –—† }|r6|­–— | j                  j                  | j                  «      ƒ d {  –—† }|rŒ5y y | j                  2 3 d {  –—† }|­–— Œ7 ŒX7 Œ&7 Œ6 y ­w)NTÚaread)r7   r:   r   r=   r   rG   r>   r?   s      r!   r(   z!AsyncIteratorByteStream.__aiter__K   s£   è ø€ Ø×#Ò#¨×(:Ò(:Ü Ó"Ð"à#'ˆÔ Ü�4—<‘< Ô)àŸ,™,×,Ñ,¨T¯_©_Ó=×=ˆEÙØ“Ø"Ÿl™l×0Ñ0°·±ÓA×A�ô ð
 #Ÿlšl÷ �dØ”
ð >øð Bøðø™lùsN   ‚A(CÁ*CÁ+3CÂCÂCÂ&CÂ4C	Â8CÂ9C	Â<CÃCÃC	Ã	CN)r    zAsyncIterable[bytes]r*   r+   r-   )r.   r/   r0   r>   r"   r(   r1   r#   r!   rC   rC   C   s   „ Ø€Jó8ô
r#   rC   c                  ó    — e Zd ZdZdd„Zdd„Zy)ÚUnattachedStreamz¿
    If a request or response is serialized using pickle, then it is no longer
    attached to a stream for I/O purposes. Any stream operations should result
    in `httpx.StreamClosed`.
    c                ó   — t        «       ‚r   ©r   r%   s    r!   r&   zUnattachedStream.__iter__c   s
   € Ü‹nÐr#   c               ó   K  — t        «       ‚­wr   rK   r%   s    r!   r(   zUnattachedStream.__aiter__f   s   è ø€ Ü‹nÐùs   ‚Nr,   r-   )r.   r/   r0   Ú__doc__r&   r(   r1   r#   r!   rI   rI   \   s   „ ñóôr#   rI   c                óÎ  — t        | t        t        f«      rLt        | t        «      r| j                  d«      n| }t	        |«      }|rdt        |«      ini }|t        |«      fS t        | t        «      r<t        | t        «      s,t        | «      }|€ddi}ndt        |«      i}|t        | «      fS t        | t        «      rddi}|t        | «      fS t        dt        | «      ›�«      ‚)Núutf-8úContent-LengthzTransfer-EncodingÚchunkedzUnexpected type for 'content', )Ú
isinstancer)   ÚstrÚencodeÚlenr   r   Údictr   r3   r   rC   Ú	TypeErrorÚtype)ÚcontentÚbodyÚcontent_lengthÚheadersÚcontent_length_or_nones        r!   Úencode_contentr^   k   sæ   € ô �'œE¤3˜<Ô(Ü*4°W¼cÔ*Bˆw�~‰~˜gÔ&ÈˆÜ˜T›ˆÙ=AÐ#¤S¨Ó%8Ñ9ÀrˆØœ
 4Ó(Ð(Ð(ä	�GœXÔ	&¬z¸'Ä4Ô/Hô
 "6°gÓ!>Ðà!Ð)Ø*¨IÐ6‰Gà'¬Ð-CÓ)DÐEˆGØÔ*¨7Ó3Ð3Ð3ä	�Gœ]Ô	+Ø&¨	Ð2ˆØÔ/°Ó8Ð8Ð8ä
Ð5´d¸7³mÐ5FÐGÓ
HÐHr#   c           
     ó‚  — g }| j                  «       D ]b  \  }}t        |t        t        f«      r+|j	                  |D �cg c]  }|t        |«      f‘Œ c}«       ŒG|j                  |t        |«      f«       Œd t        |d¬«      j                  d«      }t        t        |«      «      }d}||dœ}|t        |«      fS c c}w )NT)ÚdoseqrO   z!application/x-www-form-urlencoded©rP   zContent-Type)ÚitemsrR   ÚlistÚtupleÚextendr   Úappendr   rT   rS   rU   r   )	ÚdataÚ
plain_dataÚkeyÚvalueÚitemrZ   r[   Úcontent_typer\   s	            r!   Úencode_urlencoded_datarm   ˆ   s·   € ð €JØ—j‘j–l‰
ˆˆUÜ�eœd¤E˜]Ô+Ø×ÑÉuÓUÉuÀt Ô%;¸DÓ%AÒBÈuÑUÕVà×Ñ˜sÔ$:¸5Ó$AÐBÕCð	 #ô
 �Z tÔ,×3Ñ3°GÓ<€DÜœ˜T›“^€NØ6€LØ!/ÀÑN€GØ”J˜tÓ$Ð$Ð$ùò Vs   ¾B<
c                óF   — t        | ||¬«      }|j                  «       }||fS )N)rg   ÚfilesÚboundary)r   Úget_headers)rg   ro   rp   Ú	multipartr\   s        r!   Úencode_multipart_datars   ˜   s+   € ô   T°ÀÔJ€IØ×#Ñ#Ó%€GØ�IÐÐr#   c                ót   — | j                  d«      }t        t        |«      «      }d}||dœ}|t        |«      fS )NrO   ztext/plain; charset=utf-8ra   ©rT   rS   rU   r   )ÚtextrZ   r[   rl   r\   s        r!   Úencode_textrw       s<   € Ø�;‰;�wÓ€DÜœ˜T›“^€NØ.€LØ!/ÀÑN€GØ”J˜tÓ$Ð$Ð$r#   c                ót   — | j                  d«      }t        t        |«      «      }d}||dœ}|t        |«      fS )NrO   ztext/html; charset=utf-8ra   ru   )ÚhtmlrZ   r[   rl   r\   s        r!   Úencode_htmlrz   ¨   s<   € Ø�;‰;�wÓ€DÜœ˜T›“^€NØ-€LØ!/ÀÑN€GØ”J˜tÓ$Ð$Ð$r#   c                óŽ   — t        | ddd¬«      j                  d«      }t        t        |«      «      }d}||dœ}|t	        |«      fS )NF)Ú,Ú:)Úensure_asciiÚ
separatorsÚ	allow_nanrO   zapplication/jsonra   )Ú
json_dumpsrT   rS   rU   r   )ÚjsonrZ   r[   rl   r\   s        r!   Úencode_jsonrƒ   °   sO   € ÜØ˜5¨ZÀ5ôç�fˆWƒoð 	ô œ˜T›“^€NØ%€LØ!/ÀÑN€GØ”J˜tÓ$Ð$Ð$r#   c                ó  — |�9t        |t        «      s)d}t        j                  |t        d¬«       t        |«      S | �t        | «      S |rt        |xs i ||«      S |rt        |«      S |�t        |«      S i t        d«      fS )z€
    Handles encoding the given `content`, `data`, `files`, and `json`,
    returning a two-tuple of (<headers>, <stream>).
    z5Use 'content=<...>' to upload raw bytes/text content.é   )Ú
stacklevelr#   )
rR   r
   ÚwarningsÚwarnÚDeprecationWarningr^   rs   rm   rƒ   r   )rY   rg   ro   r‚   rp   Úmessages         r!   Úencode_requestr‹   º   sŒ   € ð Ð¤
¨4´Ô 9ð JˆÜ�‰�gÔ1¸aÕ@Ü˜dÓ#Ð#àÐÜ˜gÓ&Ð&Ù	Ü$ T¢Z¨R°¸ÓAÐAÙ	Ü% dÓ+Ð+Ø	Ð	Ü˜4Ó Ð àŒz˜#‹ÐÐr#   c                ó„   — | �t        | «      S |�t        |«      S |�t        |«      S |�t        |«      S i t	        d«      fS )zc
    Handles encoding the given `content`, returning a two-tuple of
    (<headers>, <stream>).
    r#   )r^   rw   rz   rƒ   r   )rY   rv   ry   r‚   s       r!   Úencode_responser�   Ý   sW   € ð ÐÜ˜gÓ&Ð&Ø	Ð	Ü˜4Ó Ð Ø	Ð	Ü˜4Ó Ð Ø	Ð	Ü˜4Ó Ð àŒz˜#‹ÐÐr#   )rY   z4str | bytes | Iterable[bytes] | AsyncIterable[bytes]r*   ú7tuple[dict[str, str], SyncByteStream | AsyncByteStream])rg   r   r*   ú!tuple[dict[str, str], ByteStream])rg   r   ro   r   rp   úbytes | Noner*   z&tuple[dict[str, str], MultipartStream])rv   rS   r*   r�   )ry   rS   r*   r�   )r‚   r   r*   r�   )NNNNN)rY   zRequestContent | Nonerg   zRequestData | Nonero   zRequestFiles | Noner‚   ú
Any | Nonerp   r�   r*   rŽ   )NNNN)
rY   zResponseContent | Nonerv   ú
str | Nonery   r’   r‚   r‘   r*   rŽ   ),Ú
__future__r   r8   r‡   r‚   r   r�   Útypingr   r   r   r   r	   r
   Úurllib.parser   Ú_exceptionsr   r   Ú
_multipartr   Ú_typesr   r   r   r   r   r   Ú_utilsr   r   Ú__all__r   r3   rC   rI   r^   rm   rs   rw   rz   rƒ   r‹   r�   r1   r#   r!   Ú<module>r›      sb  ðÝ "ã Û Ý $÷÷ õ #ç 5Ý '÷÷ ÷ Aàˆ.€ô� .ô ô˜ô ô2˜oô ô2�¨ô ðIØAðIà<óIð:%Ø
ð%à&ó%ð Ø
ðØ*ðØ6Bðà+óó%ó%ó%ð &*Ø#Ø!%ØØ!ð Ø"ð à
ð ð ð ð ð	 ð
 ð ð =ó ðH '+ØØØð	Ø#ðà
ðð ðð ð	ð
 =ôr#   