§
    ïŽ’jE/ ã                  ó˜  — d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd dlm	Z	m
Z
 d dlmZmZ d dlmZ ddlmZ ddlmZmZmZ dd	lmZmZmZmZmZmZmZmZmZmZm Z  dd
l!m"Z" ddl#m$Z$m%Z%m&Z&m'Z' ddl(m)Z)m*Z*m+Z+m,Z, ddl-m.Z. ddl/m0Z0 ddl1m2Z2m3Z3 ddl4m5Z5m6Z6 ddl7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZD ddlEmFZFmGZG ddlHmIZImJZJ ejK        rd dlLZLddlMmNZNmOZO g d¢ZP ejQ        dd¬¦  «        ZR ejQ        dd¬¦  «        ZSd2d „ZT G d!„ d"¦  «        ZU eU¦   «         ZV ejW        d#¦  «        ZXd$e› �ZYd% Z                    d&„  e"j[        ¦   «         D ¦   «         ¦  «        Z\ G d'„ d(ej]        ¦  «        Z^ G d)„ d*eC¦  «        Z_ G d+„ d,e8¦  «        Z`eja        d-ejb        f         Zc G d.„ d/¦  «        Zd G d0„ ded¦  «        Ze G d1„ ded¦  «        ZfdS )3é    )ÚannotationsN)ÚAsyncGeneratorÚ	Generator)ÚasynccontextmanagerÚcontextmanager)ÚTracebackTypeé   )Ú__version__)ÚAuthÚ	BasicAuthÚFunctionAuth)Ú'DEFAULT_KEEPALIVE_PING_INTERVAL_SECONDSÚ&DEFAULT_KEEPALIVE_PING_TIMEOUT_SECONDSÚDEFAULT_LIMITSÚDEFAULT_MAX_EVENT_SIZE_BYTESÚDEFAULT_MAX_MESSAGE_SIZE_BYTESÚDEFAULT_MAX_REDIRECTSÚDEFAULT_QUEUE_SIZEÚDEFAULT_TIMEOUT_CONFIGÚLimitsÚProxyÚTimeout)ÚSUPPORTED_DECODERS)Ú
InvalidURLÚRemoteProtocolErrorÚTooManyRedirectsÚrequest_context)ÚCookiesÚHeadersÚRequestÚResponse)ÚEventSource)Úcodes)ÚAsyncHTTPTransportÚHTTPTransport)ÚAsyncBaseTransportÚBaseTransport)ÚAsyncByteStreamÚ	AuthTypesÚ	CertTypesÚCookieTypesÚHeaderTypesÚ
ProxyTypesÚQueryParamTypesÚRequestContentÚRequestDataÚRequestExtensionsÚRequestFilesÚSyncByteStreamÚTimeoutTypes)ÚURLÚQueryParams)Ú
URLPatternÚget_environment_proxies)ÚAsyncWebSocketSessionÚWebSocketSession)ÚUSE_CLIENT_DEFAULTÚAsyncClientÚClientÚTr=   )ÚboundÚUr<   Úurlr5   ÚlocationÚreturnÚboolc                ó–   — | j         }|j         }|j        |j        k    o+|j        dk    o |j        dk    o|j        dk    o
|j        dk    S )zA
    Return 'True' if 'location' is a HTTPS upgrade of 'url'
    ÚhttpéP   Úhttpsi»  )ÚoriginÚhostÚschemeÚport)rA   rB   rI   Úlocation_origins       ú<C:\Projects\DSCons\.venv\Lib\site-packages\httpx2\_client.pyÚ_is_https_redirectrO   G   sh   € ð ŒZ€FØ”o€Oð 	Œ�Ô+Ò+ð 	(ØŒM˜VÒ#ð	(àŒK˜2Òð	(ð Ô" gÒ-ð	(ð Ô  CÒ'ðó    c                  ó   — e Zd ZdZdS )ÚUseClientDefaulta<  
    For some parameters such as `auth=...` and `timeout=...` we need to be able
    to indicate the default "unset" state, in a way that is distinctly different
    to using `None`.

    The default "unset" state indicates that whatever default is set on the
    client should be used. This is different to setting `None`, which
    explicitly disables the parameter, possibly overriding a client default.

    For example we use `timeout=USE_CLIENT_DEFAULT` in the `request()` signature.
    Omitting the `timeout` parameter will send a request using whatever default
    timeout has been configured on the client. Including `timeout=None` will
    ensure no timeout is used.

    Note that user code shouldn't need to use the `USE_CLIENT_DEFAULT` constant,
    but it is used internally when a parameter is not included.
    N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__© rP   rN   rR   rR   W   s   € € € € € ðð ð ð rP   rR   Úhttpx2zpython-httpx2/z, c                ó   — g | ]
}|d k    ¯|‘ŒS )ÚidentityrW   )Ú.0Úkeys     rN   ú
<listcomp>r]   q   s#   € Ð[Ð[Ð[ SÈÐPZÒIZÐIZ˜SÐIZÐIZÐIZrP   c                  ó   — e Zd ZdZdZdZdS )ÚClientStater	   é   é   N)rS   rT   rU   ÚUNOPENEDÚOPENEDÚCLOSEDrW   rP   rN   r_   r_   t   s#   € € € € € ð €Hð €Fð €F€F€FrP   r_   c                  ó*   — e Zd ZdZdd„Zdd
„Zdd„ZdS )ÚBoundSyncStreamzÒ
    A byte stream that tracks elapsed time for a response. Once closed, the
    elapsed time is available via the `elapsed` attribute, and the response
    can read it back from `response.stream.elapsed`.
    Ústreamr3   ÚstartÚfloatrC   ÚNonec                ó0   — || _         || _        d | _        d S ©N©Ú_streamÚ_startÚelapsed©Úselfrg   rh   s      rN   Ú__init__zBoundSyncStream.__init__‰   ó   € ØˆŒØˆŒØ26ˆŒˆˆrP   útyping.Iterator[bytes]c              #  ó$   K  — | j         E d {V —† d S rl   )rn   ©rr   s    rN   Ú__iter__zBoundSyncStream.__iter__Ž   s&   è è € Ø”<ÐÐÐÐÐÐÐÐÐrP   c                óž   — t          j        t          j        ¦   «         | j        z
  ¬¦  «        | _        | j                             ¦   «          d S ©N)Úseconds)ÚdatetimeÚ	timedeltaÚtimeÚperf_counterro   rp   rn   Úcloserw   s    rN   r€   zBoundSyncStream.close‘   sA   € ÝÔ)µ$Ô2CÑ2EÔ2EÈÌÑ2SÐTÑTÔTˆŒØŒ×ÒÑÔÐÐÐrP   N)rg   r3   rh   ri   rC   rj   )rC   ru   ©rC   rj   )rS   rT   rU   rV   rs   rx   r€   rW   rP   rN   rf   rf   ‚   sZ   € € € € € ðð ð7ð 7ð 7ð 7ð
 ð  ð  ð  ðð ð ð ð ð rP   rf   c                  ó*   — e Zd ZdZdd„Zdd
„Zdd„ZdS )ÚBoundAsyncStreamzÙ
    An async byte stream that tracks elapsed time for a response. Once closed,
    the elapsed time is available via the `elapsed` attribute, and the response
    can read it back from `response.stream.elapsed`.
    rg   r(   rh   ri   rC   rj   c                ó0   — || _         || _        d | _        d S rl   rm   rq   s      rN   rs   zBoundAsyncStream.__init__�   rt   rP   útyping.AsyncIterator[bytes]c               ó,  K  — | j                              ¦   «         }	 |2 3 d {V —†}|W V — Œ6 	 t          |t          ¦  «        r|                     ¦   «         ƒ d {V —† d S d S # t          |t          ¦  «        r|                     ¦   «         ƒ d {V —† w w xY wrl   )rn   Ú	__aiter__Ú
isinstancer   Úaclose)rr   rg   Úchunks      rN   r‡   zBoundAsyncStream.__aiter__¢   sÛ   è è € Ø”×'Ò'Ñ)Ô)ˆð	&Ø%ð ð ð ð ð ð ð �eØ�����ð  &˜võ ˜&¥.Ñ1Ô1ð &Ø—m’m‘o”oÐ%Ð%Ð%Ð%Ð%Ð%Ð%Ð%Ð%ð&ð &ø�z˜&¥.Ñ1Ô1ð &Ø—m’m‘o”oÐ%Ð%Ð%Ð%Ð%Ð%Ð%Ð%ð&øøøs   �A! Ÿ,¥A! Á!2Bc              ƒ  ó®   K  — t          j        t          j        ¦   «         | j        z
  ¬¦  «        | _        | j                             ¦   «         ƒ d {V —† d S rz   )r|   r}   r~   r   ro   rp   rn   r‰   rw   s    rN   r‰   zBoundAsyncStream.aclose«   sW   è è € ÝÔ)µ$Ô2CÑ2EÔ2EÈÌÑ2SÐTÑTÔTˆŒØŒl×!Ò!Ñ#Ô#Ð#Ð#Ð#Ð#Ð#Ð#Ð#Ð#Ð#rP   N)rg   r(   rh   ri   rC   rj   )rC   r…   r�   )rS   rT   rU   rV   rs   r‡   r‰   rW   rP   rN   rƒ   rƒ   –   sZ   € € € € € ðð ð7ð 7ð 7ð 7ð
&ð &ð &ð &ð$ð $ð $ð $ð $ð $rP   rƒ   .c                  óŽ  — e Zd Zddddededddddœdcd„Zeddd„¦   «         Zeddd „¦   «         Zded#„Z	dfd(„Z
edgd*„¦   «         Zej        dhd+„¦   «         Zedid-„¦   «         Zej        djd.„¦   «         Zedkd0„¦   «         Zej        dld2„¦   «         Zedmd3„¦   «         Zej        dnd4„¦   «         Zedod6„¦   «         Zej        dpd8„¦   «         Zedqd:„¦   «         Zej        drd<„¦   «         Zedsd>„¦   «         Zej        dtd@„¦   «         ZdddddddeddAœ	dudP„ZdvdQ„ZdwdxdR„ZdwdydS„ZdwdzdT„Zd{dU„Zefd|dY„Zd}d\„Zd~d]„Zdd^„Zd€d_„Zd�da„Zd‚db„Z dS )ƒÚ
BaseClientNFÚ Túutf-8©ÚauthÚparamsÚheadersÚcookiesÚtimeoutÚfollow_redirectsÚmax_redirectsÚevent_hooksÚbase_urlÚ	trust_envÚdefault_encodingr‘   úAuthTypes | Noner’   úQueryParamTypes | Noner“   úHeaderTypes | Noner”   úCookieTypes | Noner•   r4   r–   rD   r—   Úintr˜   ú+None | typing.Mapping[str, list[EventHook]]r™   ú	URL | strrš   r›   ú*str | typing.Callable[[bytes], str | None]rC   rj   c               ó&  — |€i n|}|                       t          |	¦  «        ¦  «        | _        |                      |¦  «        | _        t          |¦  «        | _        t          |¦  «        | _        t          |¦  «        | _
        t          |¦  «        | _        || _        || _        t          |                     dg ¦  «        ¦  «        t          |                     dg ¦  «        ¦  «        dœ| _        |
| _        || _        t(          j        | _        d S ©NÚrequestÚresponse)r¦   r§   )Ú_enforce_trailing_slashr5   Ú	_base_urlÚ_build_authÚ_authr6   Ú_paramsr   r“   r   Ú_cookiesr   Ú_timeoutr–   r—   ÚlistÚgetÚ_event_hooksÚ
_trust_envÚ_default_encodingr_   rb   Ú_state)rr   r‘   r’   r“   r”   r•   r–   r—   r˜   r™   rš   r›   s               rN   rs   zBaseClient.__init__´   sî   € ð (Ð/�b�b°[ˆà×5Ò5µc¸(±m´mÑDÔDˆŒà×%Ò% dÑ+Ô+ˆŒ
Ý" 6Ñ*Ô*ˆŒÝ˜wÑ'Ô'ˆŒÝ Ñ(Ô(ˆŒÝ Ñ(Ô(ˆŒØ 0ˆÔØ*ˆÔå˜KŸOšO¨I°rÑ:Ô:Ñ;Ô;Ý˜[Ÿ_š_¨Z¸Ñ<Ô<Ñ=Ô=ð
ð 
ˆÔð $ˆŒØ!1ˆÔÝ!Ô*ˆŒˆˆrP   c                ó,   — | j         t          j        k    S )z2
        Check if the client being closed
        )r´   r_   rd   rw   s    rN   Ú	is_closedzBaseClient.is_closedÖ   s   € ð
 Œ{�kÔ0Ò0Ð0rP   c                ó   — | j         S rl   )r²   rw   s    rN   rš   zBaseClient.trust_envÝ   s
   € àŒÐrP   rA   r5   c                óv   — |j                              d¦  «        r|S |                     |j         dz   ¬¦  «        S )Nó   /©Úraw_path)r»   ÚendswithÚ	copy_with©rr   rA   s     rN   r¨   z"BaseClient._enforce_trailing_slashá   s:   € ØŒ<× Ò  Ñ&Ô&ð 	ØˆJØ�}Š} c¤l°TÑ&9ˆ}Ñ:Ô:Ð:rP   ÚproxyúProxyTypes | NoneÚallow_env_proxiesúdict[str, Proxy | None]c                óÆ   — |€.|r*d„ t          ¦   «                              ¦   «         D ¦   «         S i S t          |t          t          f¦  «        rt          |¬¦  «        n|}d|iS )Nc                ó>   — i | ]\  }}||€d nt          |¬¦  «        “ŒS )N©rA   )r   )r[   r\   rA   s      rN   ú
<dictcomp>z-BaseClient._get_proxy_map.<locals>.<dictcomp>é   s.   € ÐwÐwÐwÉÈÈc˜ S [˜T˜TµeÀ°n±n´nÐwÐwÐwrP   rÅ   zall://)r8   Úitemsrˆ   Ústrr5   r   )rr   r¿   rÁ   s      rN   Ú_get_proxy_mapzBaseClient._get_proxy_mapæ   so   € Øˆ=Ø ð xØwÐwÕUlÑUnÔUn×UtÒUtÑUvÔUvÐwÑwÔwÐwØˆIå(2°5½3Å¸*Ñ(EÔ(EÐP•E˜eÐ$Ñ$Ô$Ð$È5ˆEØ˜eÐ$Ð$rP   r   c                ó   — | j         S rl   )r®   rw   s    rN   r•   zBaseClient.timeoutï   s
   € àŒ}ÐrP   c                ó.   — t          |¦  «        | _        d S rl   )r   r®   )rr   r•   s     rN   r•   zBaseClient.timeoutó   ó   € å Ñ(Ô(ˆŒˆˆrP   údict[str, list[EventHook]]c                ó   — | j         S rl   )r±   rw   s    rN   r˜   zBaseClient.event_hooks÷   s   € àÔ Ð rP   c                óž   — t          |                     dg ¦  «        ¦  «        t          |                     dg ¦  «        ¦  «        dœ| _        d S r¥   )r¯   r°   r±   )rr   r˜   s     rN   r˜   zBaseClient.event_hooksû   sK   € õ ˜KŸOšO¨I°rÑ:Ô:Ñ;Ô;Ý˜[Ÿ_š_¨Z¸Ñ<Ô<Ñ=Ô=ð
ð 
ˆÔÐÐrP   úAuth | Nonec                ó   — | j         S )z¦
        Authentication class used when none is passed at the request-level.

        See also [Authentication][0].

        [0]: /quickstart/#authentication
        )r«   rw   s    rN   r‘   zBaseClient.auth  s   € ð ŒzÐrP   r)   c                ó:   — |                       |¦  «        | _        d S rl   )rª   r«   ©rr   r‘   s     rN   r‘   zBaseClient.auth  s   € à×%Ò% dÑ+Ô+ˆŒ
ˆ
ˆ
rP   c                ó   — | j         S )zK
        Base URL to use when sending requests with relative URLs.
        )r©   rw   s    rN   r™   zBaseClient.base_url  s   € ð
 Œ~ÐrP   c                óT   — |                       t          |¦  «        ¦  «        | _        d S rl   )r¨   r5   r©   r¾   s     rN   r™   zBaseClient.base_url  s!   € à×5Ò5µc¸#±h´hÑ?Ô?ˆŒˆˆrP   r   c                ó   — | j         S )z@
        HTTP headers to include when sending requests.
        )Ú_headersrw   s    rN   r“   zBaseClient.headers  ó   € ð
 Œ}ÐrP   r,   c                óÆ   — t          dt                               d¦  «        dt                               d¦  «        dœ¦  «        }|                     |¦  «         || _        d S )Ns   */*Úasciis
   keep-alive)s   Accepts   Accept-Encodings
   Connections
   User-Agent)r   ÚACCEPT_ENCODINGÚencodeÚ
USER_AGENTÚupdater×   )rr   r“   Úclient_headerss      rN   r“   zBaseClient.headers#  sd   € å à!Ý$3×$:Ò$:¸7Ñ$CÔ$CØ,Ý)×0Ò0°Ñ9Ô9ð	ð ñ
ô 
ˆð 	×Ò˜gÑ&Ô&Ð&Ø&ˆŒˆˆrP   r   c                ó   — | j         S )zA
        Cookie values to include when sending requests.
        )r­   rw   s    rN   r”   zBaseClient.cookies0  rØ   rP   r+   c                ó.   — t          |¦  «        | _        d S rl   )r   r­   )rr   r”   s     rN   r”   zBaseClient.cookies7  rÌ   rP   r6   c                ó   — | j         S )zO
        Query parameters to include in the URL when sending requests.
        )r¬   rw   s    rN   r’   zBaseClient.params;  s   € ð
 Œ|ÐrP   r.   c                ó.   — t          |¦  «        | _        d S rl   )r6   r¬   )rr   r’   s     rN   r’   zBaseClient.paramsB  s   € å" 6Ñ*Ô*ˆŒˆˆrP   )	ÚcontentÚdataÚfilesÚjsonr’   r“   r”   r•   Ú
extensionsÚmethodrÈ   rä   úRequestContent | Nonerå   úRequestData | Noneræ   úRequestFiles | Nonerç   útyping.Any | NoneúTimeoutTypes | UseClientDefaultrè   úRequestExtensions | Noner    c       	        óŠ  — |                       |¦  «        }|                      |¦  «        }|                      |	¦  «        }	|                      |¦  «        }|€i n|}d|vrMt	          |
t
          ¦  «        r| j        nt          |
¦  «        }
t          di |¤d|
 	                    ¦   «         i¤Ž}t          |||||||||	|¬¦
  «
        S )aR  
        Build and return a request instance.

        * The `params`, `headers` and `cookies` arguments
        are merged with any values set on the client.
        * The `url` argument is merged with any `base_url` set on the client.

        See also: [Request instances][0]

        [0]: /advanced/clients/#request-instances
        Nr•   )rä   rå   ræ   rç   r’   r“   r”   rè   rW   )Ú
_merge_urlÚ_merge_headersÚ_merge_cookiesÚ_merge_queryparamsrˆ   rR   r•   r   ÚdictÚas_dictr    )rr   ré   rA   rä   rå   ræ   rç   r’   r“   r”   r•   rè   s               rN   Úbuild_requestzBaseClient.build_requestF  sé   € ð4 �oŠo˜cÑ"Ô"ˆØ×%Ò% gÑ.Ô.ˆØ×%Ò% gÑ.Ô.ˆØ×(Ò(¨Ñ0Ô0ˆØ%Ð-�R�R°:ˆ
Ø˜JÐ&Ð&Ý&0°Õ:JÑ&KÔ&KÐa�d”l�lÕQXÐY`ÑQaÔQaˆGÝÐFÐF 
ÐFÐF°G·O²OÑ4EÔ4EÐFÐFÐFˆJÝØØØØØØØØØØ!ð
ñ 
ô 
ð 	
rP   c                ó¶   — t          |¦  «        }|j        rB| j        j        |j                             d¦  «        z   }| j                             |¬¦  «        S |S )z‹
        Merge a URL argument together with any 'base_url' on the client,
        to create the URL used for the outgoing request.
        r¹   rº   )r5   Úis_relative_urlr™   r»   Úlstripr½   )rr   rA   Ú	merge_urlÚmerge_raw_paths       rN   rñ   zBaseClient._merge_urlu  s]   € õ
 ˜‘H”Hˆ	ØÔ$ð 	Dð "œ]Ô3°iÔ6H×6OÒ6OÐPTÑ6UÔ6UÑUˆNØ”=×*Ò*°NÐ*ÑCÔCÐCØÐrP   c                ón   — |s| j         r+t          | j         ¦  «        }|                     |¦  «         |S |S )z�
        Merge a cookies argument together with any cookies on the client,
        to create the cookies used for the outgoing request.
        )r”   r   rÞ   )rr   r”   Úmerged_cookiess      rN   ró   zBaseClient._merge_cookies‹  sC   € ð
 ð 	"�d”lð 	"Ý$ T¤\Ñ2Ô2ˆNØ×!Ò! 'Ñ*Ô*Ð*Ø!Ð!ØˆrP   c                óX   — t          | j        ¦  «        }|                     |¦  «         |S )z�
        Merge a headers argument together with any headers on the client,
        to create the headers used for the outgoing request.
        )r   r“   rÞ   )rr   r“   Úmerged_headerss      rN   rò   zBaseClient._merge_headers–  s-   € õ
 ! ¤Ñ.Ô.ˆØ×Ò˜gÑ&Ô&Ð&ØÐrP   c                ój   — |s| j         r)t          | j         ¦  «        }|                     |¦  «        S |S )zœ
        Merge a queryparams argument together with any queryparams on the client,
        to create the queryparams used for the outgoing request.
        )r’   r6   Úmerge)rr   r’   Úmerged_queryparamss      rN   rô   zBaseClient._merge_queryparamsŸ  s>   € ð
 ð 	4�T”[ð 	4Ý!,¨T¬[Ñ!9Ô!9ÐØ%×+Ò+¨FÑ3Ô3Ð3ØˆrP   c                óþ   — |€d S t          |t          ¦  «        rt          |d         |d         ¬¦  «        S t          |t          ¦  «        r|S t	          |¦  «        rt          |¬¦  «        S t          d|›�¦  «        ‚)Nr   r	   ©ÚusernameÚpassword)ÚfunczInvalid "auth" argument: )rˆ   Útupler   r   Úcallabler   Ú	TypeErrorrÓ   s     rN   rª   zBaseClient._build_auth©  s‰   € Øˆ<Ø�4Ý˜�eÑ$Ô$ð 	BÝ d¨1¤g¸¸Q¼Ð@Ñ@Ô@Ð@Ý˜�dÑ#Ô#ð 	BØˆKÝ�d‰^Œ^ð 	BÝ TÐ*Ñ*Ô*Ð*åÐ@¸Ð@Ð@ÑAÔAÐArP   r¦   ú#AuthTypes | UseClientDefault | Noner   c                óâ   — t          |t          ¦  «        r| j        n|                      |¦  «        }|�|S |j        j        |j        j        }}|s|rt          ||¬¦  «        S t          ¦   «         S )Nr  )	rˆ   rR   r«   rª   rA   r  r  r   r   )rr   r¦   r‘   r  r  s        rN   Ú_build_request_authzBaseClient._build_request_authµ  sy   € õ
 (¨Õ.>Ñ?Ô?Ð[ˆtŒzˆzÀT×EUÒEUÐVZÑE[ÔE[ˆàÐØˆKà$œ[Ô1°7´;Ô3G�(ˆØð 	C�xð 	CÝ h¸ÐBÑBÔBÐBå‰vŒvˆrP   r§   r!   c                ó  — |                       ||¦  «        }|                      ||¦  «        }|                      |||¦  «        }|                      ||¦  «        }t	          | j        ¦  «        }t          ||||||j        ¬¦  «        S )zƒ
        Given a request and a redirect response, return a new request that
        should be used to effect the redirect.
        )ré   rA   r“   r”   rg   rè   )Ú_redirect_methodÚ_redirect_urlÚ_redirect_headersÚ_redirect_streamr   r”   r    rè   )rr   r¦   r§   ré   rA   r“   rg   r”   s           rN   Ú_build_redirect_requestz"BaseClient._build_redirect_requestÅ  s•   € ð
 ×&Ò& w°Ñ9Ô9ˆØ× Ò  ¨(Ñ3Ô3ˆØ×(Ò(¨°#°vÑ>Ô>ˆØ×&Ò& w°Ñ7Ô7ˆÝ˜$œ,Ñ'Ô'ˆÝØØØØØØÔ)ð
ñ 
ô 
ð 	
rP   c                ó¾   — |j         }|j        t          j        k    r|dk    rd}|j        t          j        k    r|dvrd}|j        t          j        k    r|dk    rd}|S )z‹
        When being redirected we may want to change the method of the request
        based on certain specs or browser behavior.
        ÚHEADÚGET)r  ÚQUERYÚPOST)ré   Ústatus_coder#   Ú	SEE_OTHERÚFOUNDÚMOVED_PERMANENTLY)rr   r¦   r§   ré   s       rN   r  zBaseClient._redirect_methodØ  su   € ð
 ”ˆð Ô¥5¤?Ò2Ð2°vÀÒ7GÐ7GØˆFð Ô¥5¤;Ò.Ð.°6ÐARÐ3RÐ3RØˆFð Ô¥5Ô#:Ò:Ð:¸vÈÒ?OÐ?OØˆFàˆrP   c                ó–  — |j         d         }	 t          |¦  «        }n(# t          $ r}t          d|› d�|¬¦  «        d‚d}~ww xY w|j        r'|j        s |                     |j        j        ¬¦  «        }|j        r|j         	                    |¦  «        }|j        j
        r'|j
        s |                     |j        j
        ¬¦  «        }|S )z<
        Return the URL for the redirect to follow.
        ÚLocationz Invalid URL in location header: ú.©r¦   N)rJ   )Úfragment)r“   r5   r   r   rK   rJ   r½   rA   rù   Újoinr"  )rr   r¦   r§   rB   rA   Úexcs         rN   r  zBaseClient._redirect_urlñ  sî   € ð Ô# JÔ/ˆð	lÝ�h‘-”-ˆCˆCøÝð 	lð 	lð 	lÝ%Ð&OÈÐ&OÐ&OÐ&OÐY`ÐaÑaÔaÐgkÐkøøøøð	løøøð
 Œ:ð 	7˜cœhð 	7Ø—-’- W¤[Ô%5�-Ñ6Ô6ˆCð Ôð 	(Ø”+×"Ò" 3Ñ'Ô'ˆCð Œ;Ôð 	?¨¬ð 	?Ø—-’-¨¬Ô)=�-Ñ>Ô>ˆCàˆ
s   � Ÿ
A©?¿Ac                óŽ  — t          |j        ¦  «        }|j        |j        j        k    rHt	          |j        |¦  «        s|                     dd¦  «         |j                             d¦  «        |d<   ||j        k    r2|dk    r,|                     dd¦  «         |                     dd¦  «         |                     dd¦  «         |S )	zR
        Return the headers that should be used for the redirect request.
        ÚAuthorizationNrÚ   ÚHostr  zContent-LengthzTransfer-EncodingÚCookie)	r   r“   rI   rA   rO   ÚpopÚnetlocÚdecoderé   )rr   r¦   rA   ré   r“   s        rN   r  zBaseClient._redirect_headers  sÆ   € õ ˜'œ/Ñ*Ô*ˆàŒ:˜œÔ+Ò+Ð+Ý% g¤k°3Ñ7Ô7ð 3ð —’˜O¨TÑ2Ô2Ð2ð "œj×/Ò/°Ñ8Ô8ˆG�F‰Oà�W”^Ò#Ð#¨°%ª¨ð �KŠKÐ(¨$Ñ/Ô/Ð/Ø�KŠKÐ+¨TÑ2Ô2Ð2ð 	�Š�H˜dÑ#Ô#Ð#àˆrP   ú'SyncByteStream | AsyncByteStream | Nonec                ó6   — ||j         k    r|dk    rdS |j        S )zO
        Return the body that should be used for the redirect request.
        r  N)ré   rg   )rr   r¦   ré   s      rN   r  zBaseClient._redirect_stream'  s&   € ð �W”^Ò#Ð#¨°%ª¨Ø�4àŒ~ÐrP   c                óÞ   — d|j         vrct          | j        t          ¦  «        r| j        nt	          | j        ¦  «        }t          di |j         ¤d|                     ¦   «         i¤Ž|_         d S d S )Nr•   rW   )rè   rˆ   r•   rR   r   rõ   rö   )rr   r¦   r•   s      rN   Ú_set_timeoutzBaseClient._set_timeout0  sv   € Ø˜GÔ.Ð.Ð.Ý&0°´Õ?OÑ&PÔ&PÐk�d”l�lÕV]Ð^bÔ^jÑVkÔVkˆGÝ!%Ð!VÐ!V¨Ô(:Ð!VÐ!VÀGÇOÂOÑDUÔDUÐ!VÐ!VÐ!VˆGÔÐÐð /Ð.rP   )r‘   rœ   r’   r�   r“   rž   r”   rŸ   r•   r4   r–   rD   r—   r    r˜   r¡   r™   r¢   rš   rD   r›   r£   rC   rj   )rC   rD   )rA   r5   rC   r5   )r¿   rÀ   rÁ   rD   rC   rÂ   )rC   r   )r•   r4   rC   rj   )rC   rÍ   )r˜   rÍ   rC   rj   )rC   rÐ   )r‘   r)   rC   rj   )rC   r5   )rA   r¢   rC   rj   )rC   r   )r“   r,   rC   rj   )rC   r   )r”   r+   rC   rj   )rC   r6   )r’   r.   rC   rj   )ré   rÈ   rA   r¢   rä   rê   rå   rë   ræ   rì   rç   rí   r’   r�   r“   rž   r”   rŸ   r•   rî   rè   rï   rC   r    )rA   r¢   rC   r5   rl   )r”   rŸ   rC   rŸ   )r“   rž   rC   rž   )r’   r�   rC   r�   )r‘   rœ   rC   rÐ   )r¦   r    r‘   r  rC   r   )r¦   r    r§   r!   rC   r    )r¦   r    r§   r!   rC   rÈ   )r¦   r    r§   r!   rC   r5   )r¦   r    rA   r5   ré   rÈ   rC   r   )r¦   r    ré   rÈ   rC   r,  )r¦   r    rC   rj   )!rS   rT   rU   r   r   rs   Úpropertyr¶   rš   r¨   rÉ   r•   Úsetterr˜   r‘   r™   r“   r”   r’   r;   r÷   rñ   ró   rò   rô   rª   r  r  r  r  r  r  r/  rW   rP   rN   r�   r�   ³   sâ  € € € € € ð "&Ø)-Ø&*Ø&*Ø 6Ø!&Ø2ØEIØ ØØGNð +ð  +ð  +ð  +ð  +ð  +ðD ð1ð 1ð 1ñ „Xð1ð ðð ð ñ „Xðð;ð ;ð ;ð ;ð
%ð %ð %ð %ð ðð ð ñ „Xðð „^ð)ð )ð )ñ „^ð)ð ð!ð !ð !ñ „Xð!ð Ôð
ð 
ð 
ñ Ôð
ð ðð ð ñ „Xðð 
„[ð,ð ,ð ,ñ „[ð,ð ðð ð ñ „Xðð „_ð@ð @ð @ñ „_ð@ð ðð ð ñ „Xðð „^ð
'ð 
'ð 
'ñ „^ð
'ð ðð ð ñ „Xðð „^ð)ð )ð )ñ „^ð)ð ðð ð ñ „Xðð „]ð+ð +ð +ñ „]ð+ð *.Ø#'Ø%)Ø"&Ø)-Ø&*Ø&*Ø3EØ/3ð-
ð -
ð -
ð -
ð -
ð -
ð^ð ð ð ð,	ð 	ð 	ð 	ð 	ðð ð ð ð ðð ð ð ð ð
Bð 
Bð 
Bð 
Bð 5Gðð ð ð ð ð 
ð 
ð 
ð 
ð&ð ð ð ð2ð ð ð ð6ð ð ð ð6ð ð ð ðWð Wð Wð Wð Wð WrP   r�   c                  ó|  ‡ — e Zd ZdZdddddddddddedeedddddœdyˆ fd-„Zdddddedfdzd/„Zdddddefd{d1„Z	d|d4„Z
dddddddeeedd5œd}dF„Zedddddddeeedd5œd~dH„¦   «         ZedIdddddddeeededJœddN„¦   «         ZeeeeeddddeeeddOœd€dX„¦   «         ZdeedYœd�d]„Zd‚da„Zdƒdb„Zd„dc„Zdddeeedddœd…de„Zdddeeedddœd†dg„Zdddeeedddœd†dh„Zdddddddeeedd5œd‡di„Zdddddddeeedd5œd‡dj„Zdddddddeeedd5œd‡dk„Zdddeeedddœd†dl„Z dddddddeeedd5œd‡dm„Z!dˆdn„Z"d‰dq„Z#	 	 	 dŠd‹dx„Z$ˆ xZ%S )Œr=   a  
    An HTTP client, with connection pooling, HTTP/2, redirects, cookie persistence, etc.

    It can be shared between threads.

    Usage:

    ```python
    >>> client = httpx2.Client()
    >>> response = client.get('https://example.org')
    ```

    **Parameters:**

    * **auth** - *(optional)* An authentication class to use when sending
    requests.
    * **params** - *(optional)* Query parameters to include in request URLs, as
    a string, dictionary, or sequence of two-tuples.
    * **headers** - *(optional)* Dictionary of HTTP headers to include when
    sending requests.
    * **cookies** - *(optional)* Dictionary of Cookie items to include when
    sending requests.
    * **verify** - *(optional)* Either `True` to use an SSL context with the
    default CA bundle, `False` to disable verification, or an instance of
    `ssl.SSLContext` to use a custom context.
    * **http2** - *(optional)* A boolean indicating if HTTP/2 support should be
    enabled. Defaults to `False`.
    * **proxy** - *(optional)* A proxy URL where all the traffic should be routed.
    * **mounts** - *(optional)* A dictionary mapping URL patterns to transports,
    used to route requests through specific transports based on the URL.
    * **timeout** - *(optional)* The timeout configuration to use when sending
    requests.
    * **limits** - *(optional)* The limits configuration to use.
    * **max_redirects** - *(optional)* The maximum number of redirect responses
    that should be followed.
    * **base_url** - *(optional)* A URL to use as the base when building
    request URLs.
    * **transport** - *(optional)* A transport class to use for sending requests
    over the network.
    * **trust_env** - *(optional)* Enables or disables usage of environment
    variables for configuration.
    * **default_encoding** - *(optional)* The default encoding to use for decoding
    response text, if no charset information is included in a response Content-Type
    header. Set to a callable for automatic character set detection. Default: "utf-8".
    NTFrŽ   r�   )r‘   r’   r“   r”   ÚverifyÚcertrš   Úhttp1Úhttp2r¿   Úmountsr•   r–   Úlimitsr—   r˜   r™   Ú	transportr›   r‘   rœ   r’   r�   r“   rž   r”   rŸ   r3  ússl.SSLContext | str | boolr4  úCertTypes | Nonerš   rD   r5  r6  r¿   rÀ   r7  ú0None | typing.Mapping[str, BaseTransport | None]r•   r4   r–   r8  r   r—   r    r˜   r¡   r™   r¢   r9  úBaseTransport | Noner›   r£   rC   rj   c               ój  •‡ ‡‡‡‡‡	‡— t          ¦   «                              |||||||||‰|¬¦  «         ‰	r$	 dd l}n# t          $ r t          d¦  «        d ‚w xY w‰o|d u }‰                      |
|¦  «        }‰                      ‰‰‰‰‰	‰|¬¦  «        ‰ _        ˆˆˆ	ˆˆ ˆˆfd„|                     ¦   «         D ¦   «         ‰ _        |�6‰ j         	                    d„ |                     ¦   «         D ¦   «         ¦  «         t          t          ‰ j                             ¦   «         ¦  «        ¦  «        ‰ _        d S )Nr�   r   úuUsing http2=True, but the 'h2' package is not installed. Make sure to install httpx using `pip install httpx[http2]`.©r3  r4  rš   r5  r6  r8  r9  c                ór   •— i | ]3\  }}t          |¦  «        |€d n‰                     |‰	‰‰‰‰‰¬¦  «        “Œ4S ©N)r3  r4  rš   r5  r6  r8  ©r7   Ú_init_proxy_transport©
r[   r\   r¿   r4  r5  r6  r8  rr   rš   r3  s
      €€€€€€€rN   rÆ   z#Client.__init__.<locals>.<dictcomp>Ÿ  st   ø€ ð @
ð @
ð @
ñ ��Uõ �s‰OŒOØˆ}ð "˜Tà×+Ò+ØØØØ#ØØØð ,ñ ô ð@
ð @
ð @
rP   c                ó4   — i | ]\  }}t          |¦  «        |“ŒS rW   ©r7   ©r[   r\   r9  s      rN   rÆ   z#Client.__init__.<locals>.<dictcomp>®  ó$   € Ð aÐ aÐ aÁÀÀY¥¨C¡¤°)Ð aÐ aÐ arP   ©Úsuperrs   Úh2ÚImportErrorrÉ   Ú_init_transportÚ
_transportrÇ   Ú_mountsrÞ   rõ   Úsorted)rr   r‘   r’   r“   r”   r3  r4  rš   r5  r6  r¿   r7  r•   r–   r8  r—   r˜   r™   r9  r›   rL  rÁ   Ú	proxy_mapÚ	__class__s   `    `````    `        €rN   rs   zClient.__init__e  s½  øøøøøøøø€ õ. 	‰Œ×ÒØØØØØØ-Ø'Ø#ØØØ-ð 	ñ 	
ô 	
ð 	
ð ð 	ðØ�	�	�	�	øÝð ð ð Ý!ðSñô ð ððøøøð &Ð;¨)°tÐ*;ÐØ×'Ò'¨Ð/@ÑAÔAˆ	à×.Ò.ØØØØØØØð /ñ 
ô 
ˆŒð@
ð @
ð @
ð @
ð @
ð @
ð @
ð @
ð @
ð @
ð (ŸošoÑ/Ô/ð@
ñ @
ô @
ˆŒð ÐØŒL×ÒÐ aÐ aÐRX×R^ÒR^ÑR`ÔR`Ð aÑ aÔ aÑbÔbÐbå�F 4¤<×#5Ò#5Ñ#7Ô#7Ñ8Ô8Ñ9Ô9ˆŒˆˆó	   ¸= ½Ar'   c                ó4   — |�|S t          ||||||¬¦  «        S rB  ©r%   ©rr   r3  r4  rš   r5  r6  r8  r9  s           rN   rN  zClient._init_transport²  s9   € ð Ð ØÐåØØØØØØð
ñ 
ô 
ð 	
rP   r   c           	     ó.   — t          |||||||¬¦  «        S ©N)r3  r4  rš   r5  r6  r8  r¿   rV  ©rr   r¿   r3  r4  rš   r5  r6  r8  s           rN   rD  zClient._init_proxy_transportÈ  s0   € õ ØØØØØØØð
ñ 
ô 
ð 	
rP   rA   r5   c                ó’   — | j                              ¦   «         D ]'\  }}|                     |¦  «        r|€| j        n|c S Œ(| j        S ©z›
        Returns the transport instance that should be used for a given URL.
        This will either be the standard connection pool, or a proxy.
        ©rP  rÇ   ÚmatchesrO  ©rr   rA   Úpatternr9  s       rN   Ú_transport_for_urlzClient._transport_for_urlÜ  ód   € ð
 #'¤,×"4Ò"4Ñ"6Ô"6ð 	Kð 	KÑˆG�YØ�Š˜sÑ#Ô#ð KØ*3Ð*;�t”�ÀÐJÐJÐJðKð ŒÐrP   ©rä   rå   ræ   rç   r’   r“   r”   r‘   r–   r•   rè   ré   rÈ   rä   rê   rå   rë   ræ   rì   rç   rí   r  úbool | UseClientDefaultrî   rè   rï   r!   c               ó²   — |	�d}t          j        |t          d¬¦  «         |                      |||||||||	||¬¦  «        }|                      ||
|¬¦  «        S )a©  
        Build and send a request.

        Equivalent to:

        ```python
        request = client.build_request(...)
        response = client.send(request, ...)
        ```

        See `Client.build_request()`, `Client.send()` and
        [Merging of configuration][0] for how the various parameters
        are merged with client-level configuration.

        [0]: /advanced/clients/#merging-of-configuration
        Nú®Setting per-request cookies=<...> is being deprecated, because the expected behaviour on cookie persistence is ambiguous. Set cookies directly on the client instance instead.r`   ©Ú
stacklevel©ré   rA   rä   rå   ræ   rç   r’   r“   r”   r•   rè   ©r‘   r–   ©ÚwarningsÚwarnÚDeprecationWarningr÷   Úsend©rr   ré   rA   rä   rå   ræ   rç   r’   r“   r”   r‘   r–   r•   rè   Úmessager¦   s                   rN   r¦   zClient.requestç  s†   € ðB ÐðCð õ
 ŒM˜'Õ#5À!ÐDÑDÔDÐDà×$Ò$ØØØØØØØØØØØ!ð %ñ 
ô 
ˆð �yŠy˜ tÐ>NˆyÑOÔOÐOrP   úGenerator[Response]c             #  óà   K  — |                       |||||||||	||¬¦  «        }|                      ||
|d¬¦  «        }	 |V — |                     ¦   «          dS # |                     ¦   «          w xY w©a  
        Alternative to `httpx2.request()` that streams the response body
        instead of loading it into memory at once.

        **Parameters**: See `httpx2.request`.

        See also: [Streaming Responses][0]

        [0]: /quickstart#streaming-responses
        ri  T)r¦   r‘   r–   rg   N)r÷   ro  r€   ©rr   ré   rA   rä   rå   ræ   rç   r’   r“   r”   r‘   r–   r•   rè   r¦   r§   s                   rN   rg   zClient.stream  s£   è è € ð8 ×$Ò$ØØØØØØØØØØØ!ð %ñ 
ô 
ˆð —9’9ØØØ-Øð	 ñ 
ô 
ˆð	ØˆNˆNˆNà�NŠNÑÔÐÐÐøˆH�NŠNÑÔÐÐøøøs   ½A ÁA-r  ©ré   rä   rå   ræ   rç   r’   r“   r”   r‘   r–   r•   rè   Úmax_event_sizerw  ú
int | NoneúGenerator[EventSource]c             #  óÌ   K  — |                       |||||||dddœt          |¦  «        z  |	|
|||¬¦  «        5 }t          ||¬¦  «        V — ddd¦  «         dS # 1 swxY w Y   dS )úÎ
        Connect to a server-sent events endpoint and yield an `EventSource`.

        Iterating the `EventSource` yields `ServerSentEvent` instances.

        **Parameters**: See `httpx2.request`.
        útext/event-streamúno-store©ÚAcceptzCache-Controlrc  ©rw  N©rg   r   r"   ©rr   rA   ré   rä   rå   ræ   rç   r’   r“   r”   r‘   r–   r•   rè   rw  r§   s                   rN   Ússez
Client.sseS  sï   è è € ð4 �[Š[ØØØØØØØØ2ÀZÐPÐPÕSZÐ[bÑScÔScÑcØØØ-ØØ!ð ñ 
ô 
ð 	Gð Ý˜h°~ÐFÑFÔFÐFÐFÐFð	Gð 	Gð 	Gñ 	Gô 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gøøøð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gs   ¸AÁAÁ A©Úmax_message_size_bytesÚ
queue_sizeÚkeepalive_ping_interval_secondsÚkeepalive_ping_timeout_secondsÚsubprotocolsr’   r“   r”   r‘   r–   r•   rè   r…  r†  r‡  úfloat | Nonerˆ  r‰  úlist[str] | NoneúGenerator[WebSocketSession]c             #  óÚ   K  — 	 ddl m} n# t          $ r t          d¦  «        ‚w xY w |t          |¦  «        | ||||||||	|
|||¬¦  «        5 }|V — ddd¦  «         dS # 1 swxY w Y   dS )az  
        Open a WebSocket session, using this client's configuration.

        The session is closed automatically when exiting the context manager.

        ```python
        with httpx2.Client() as client:
            with client.websocket("ws://localhost:8000/ws") as ws:
                ws.send_text("Hello!")
                message = ws.receive_text()
        ```
        r	   )Ú
connect_wsú[WebSocket support requires the `wsproto` package. Install it with `pip install httpx2[ws]`.r„  N)Úwebsockets._apirŽ  rM  rÈ   )rr   rA   r…  r†  r‡  rˆ  r‰  r’   r“   r”   r‘   r–   r•   rè   rŽ  Úsessions                   rN   Ú	websocketzClient.websocket~  s  è è € ð<	Ø3Ð3Ð3Ð3Ð3Ð3Ð3øÝð 	ð 	ð 	ÝØmñô ð ð	øøøð
 ˆZÝ�‰HŒHØØ#9Ø!Ø,KØ+IØ%ØØØØØ-ØØ!ð
ñ 
ô 
ð 	ð ØˆMˆMˆMð!	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   „ ‹%ÁA Á A$Á'A$©rg   r‘   r–   r¦   r    rg   c               ó²  — | j         t          j        k    rt          d¦  «        ‚t          j        | _         t          |t          ¦  «        r| j        n|}|                      |¦  «         |  	                    ||¦  «        }|  
                    |||g ¬¦  «        }	 |s|                     ¦   «          |S # t          $ r}|                     ¦   «          |‚d}~ww xY w)aŒ  
        Send a request.

        The request is sent as-is, unmodified.

        Typically you'll want to build one with `Client.build_request()`
        so that any client-level configuration is merged into the request,
        but passing an explicit `httpx2.Request()` is supported as well.

        See also: [Request instances][0]

        [0]: /advanced/clients/#request-instances
        ú5Cannot send a request, as the client has been closed.©r‘   r–   ÚhistoryN)r´   r_   rd   ÚRuntimeErrorrc   rˆ   rR   r–   r/  r  Ú_send_handling_authÚreadÚBaseExceptionr€   ©rr   r¦   rg   r‘   r–   r§   r$  s          rN   ro  zClient.sendµ  sï   € ð* Œ;�+Ô,Ò,Ð,ÝÐVÑWÔWÐWå!Ô(ˆŒÝ4>Ð?OÕQaÑ4bÔ4bÐx˜4Ô0Ð0ÐhxÐà×Ò˜'Ñ"Ô"Ð"à×'Ò'¨°Ñ6Ô6ˆà×+Ò+ØØØ-Øð	 ,ñ 
ô 
ˆð	Øð  Ø—’‘”�àˆOøåð 	ð 	ð 	Ø�NŠNÑÔÐØˆIøøøøð	øøøs   ÂB1 Â1
CÂ;CÃCr   r—  úlist[Response]c                óþ  — |                      |¦  «        }	 t          |¦  «        }	 |                      |||¬¦  «        }	 	 |                     |¦  «        }n&# t          $ r |cY |                     ¦   «          S w xY wt          |¦  «        |_        |                     ¦   «          |}| 	                    |¦  «         n(# t          $ r}|                     ¦   «          |‚d }~ww xY wŒ¿# |                     ¦   «          w xY w©NT)r–   r—  )Úsync_auth_flowÚnextÚ_send_handling_redirectsro  ÚStopIterationr€   r¯   r—  rš  Úappendr›  ©	rr   r¦   r‘   r–   r—  Ú	auth_flowr§   Únext_requestr$  s	            rN   r™  zClient._send_handling_authä  s,  € ð ×'Ò'¨Ñ0Ô0ˆ	ð	Ý˜9‘o”oˆGðØ×8Ò8ØØ%5Ø#ð 9ñ ô �ð
ð(Ø'0§~¢~°hÑ'?Ô'?˜˜øÝ(ð (ð (ð (Ø'˜˜ð �OŠOÑÔÐÐð(øøøõ (,¨G¡}¤}�HÔ$Ø—M’M‘O”O�OØ*�GØ—N’N 8Ñ,Ô,Ð,Ð,øå$ð ð ð Ø—N’NÑ$Ô$Ð$Ø�Iøøøøðøøøð#øð* �OŠOÑÔÐÐøøøsN   —(C& ÁA ÁB= ÁA:Á#B= Á9A:Á:AB= Â<C& Â=
C"ÃCÃC"Ã"C& Ã&C<c                óô  — 	 t          |¦  «        | j        k    rt          d|¬¦  «        ‚| j        d         D ]} ||¦  «         Œ|                      |¦  «        }	 | j        d         D ]} ||¦  «         Œt          |¦  «        |_        |j        s|S |                      ||¦  «        }||gz   }|r| 	                    ¦   «          n	||_
        |S n(# t          $ r}|                     ¦   «          |‚d }~ww xY wŒø©NTz#Exceeded maximum allowed redirects.r!  r¦   r§   )Úlenr—   r   r±   Ú_send_single_requestr¯   r—  Úhas_redirect_locationr  rš  r§  r›  r€   ©rr   r¦   r–   r—  Úhookr§   r$  s          rN   r¢  zClient._send_handling_redirects  s7  € ð	Ý�7‰|Œ|˜dÔ0Ò0Ð0Ý&Ð'LÐV]Ð^Ñ^Ô^Ð^àÔ)¨)Ô4ð ð �Ø��W‘”��à×0Ò0°Ñ9Ô9ˆHðØ Ô-¨jÔ9ð #ð #�DØ�D˜‘N”N�N�NÝ#'¨¡=¤=�Ô àÔ5ð $Ø#�Oà×6Ò6°wÀÑIÔI�Ø! X JÑ.�à#ð $Ø—M’M‘O”O�O�Oà,3�HÔ)Ø#�Oð $øõ
 !ð ð ð Ø—’Ñ Ô Ð Ø�	øøøøðøøøð3	s   Á7C Â;C Ã
C6ÃC1Ã1C6c                ód  — |                       |j        ¦  «        }t          j        ¦   «         }t	          |j        t          ¦  «        st          d¦  «        ‚t          |¬¦  «        5  | 	                    |¦  «        }ddd¦  «         n# 1 swxY w Y   t	          |j        t          ¦  «        sJ ‚||_
        t          |j        |¬¦  «        |_        | j                             |¦  «         | j        |_        t                                d|j        |j        |j        |j        |j        ¦  «         |S )úL
        Sends a single request, without handling any redirections.
        z?Attempted to send an async request with a sync Client instance.r!  N©rh   úHTTP Request: %s %s "%s %d %s")ra  rA   r~   r   rˆ   rg   r3   r˜  r   Úhandle_requestr¦   rf   r”   Úextract_cookiesr³   r›   ÚloggerÚinforé   Úhttp_versionr  Úreason_phrase©rr   r¦   r9  rh   r§   s        rN   r«  zClient._send_single_request)  sY  € ð ×+Ò+¨G¬KÑ8Ô8ˆ	ÝÔ!Ñ#Ô#ˆå˜'œ.­.Ñ9Ô9ð 	bÝÐ`ÑaÔaÐaå WÐ-Ñ-Ô-ð 	9ð 	9Ø ×/Ò/°Ñ8Ô8ˆHð	9ð 	9ð 	9ñ 	9ô 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9øøøð 	9ð 	9ð 	9ð 	9õ ˜(œ/­>Ñ:Ô:Ð:Ð:Ð:à"ˆÔÝ)¨(¬/ÀÐGÑGÔGˆŒØŒ×$Ò$ XÑ.Ô.Ð.Ø$(Ô$:ˆÔ!å�ŠØ,ØŒNØŒKØÔ!ØÔ ØÔ"ñ	
ô 	
ð 	
ð ˆs   Á'B	Â	BÂB©r’   r“   r”   r‘   r–   r•   rè   c               ó>   — |                       d||||||||¬¦	  «	        S )úV
        Send a `GET` request.

        **Parameters**: See `httpx2.request`.
        r  rº  r!  ©	rr   rA   r’   r“   r”   r‘   r–   r•   rè   s	            rN   r°   z
Client.getH  s:   € ð" �|Š|ØØØØØØØ-ØØ!ð ñ 

ô 

ð 
	
rP   úAuthTypes | UseClientDefaultc               ó>   — |                       d||||||||¬¦	  «	        S )ú[
        Send an `OPTIONS` request.

        **Parameters**: See `httpx2.request`.
        ÚOPTIONSrº  r!  r½  s	            rN   ÚoptionszClient.optionse  s:   € ð" �|Š|ØØØØØØØ-ØØ!ð ñ 

ô 

ð 
	
rP   c               ó>   — |                       d||||||||¬¦	  «	        S )úW
        Send a `HEAD` request.

        **Parameters**: See `httpx2.request`.
        r  rº  r!  r½  s	            rN   ÚheadzClient.head‚  s:   € ð" �|Š|ØØØØØØØ-ØØ!ð ñ 

ô 

ð 
	
rP   c               óF   — |                       d|||||||||	|
||¬¦  «        S )úW
        Send a `POST` request.

        **Parameters**: See `httpx2.request`.
        r  rc  r!  ©rr   rA   rä   rå   ræ   rç   r’   r“   r”   r‘   r–   r•   rè   s                rN   ÚpostzClient.postŸ  sF   € ð* �|Š|ØØØØØØØØØØØ-ØØ!ð ñ 
ô 
ð 	
rP   c               óF   — |                       d|||||||||	|
||¬¦  «        S )úV
        Send a `PUT` request.

        **Parameters**: See `httpx2.request`.
        ÚPUTrc  r!  rÈ  s                rN   Úputz
Client.putÄ  sF   € ð* �|Š|ØØØØØØØØØØØ-ØØ!ð ñ 
ô 
ð 	
rP   c               óF   — |                       d|||||||||	|
||¬¦  «        S )úX
        Send a `PATCH` request.

        **Parameters**: See `httpx2.request`.
        ÚPATCHrc  r!  rÈ  s                rN   ÚpatchzClient.patché  óF   € ð* �|Š|ØØØØØØØØØØØ-ØØ!ð ñ 
ô 
ð 	
rP   c               ó>   — |                       d||||||||¬¦	  «	        S )úY
        Send a `DELETE` request.

        **Parameters**: See `httpx2.request`.
        ÚDELETErº  r!  r½  s	            rN   ÚdeletezClient.delete  s:   € ð" �|Š|ØØØØØØØ-ØØ!ð ñ 

ô 

ð 
	
rP   c               óF   — |                       d|||||||||	|
||¬¦  «        S )úX
        Send a `QUERY` request.

        **Parameters**: See `httpx2.request`.
        r  rc  r!  rÈ  s                rN   ÚqueryzClient.query+  rÒ  rP   c                óì   — | j         t          j        k    r\t          j        | _         | j                             ¦   «          | j                             ¦   «         D ]}|�|                     ¦   «          ŒdS dS ©z.
        Close transport and proxies.
        N)r´   r_   rd   rO  r€   rP  Úvalues)rr   r9  s     rN   r€   zClient.closeP  sx   € ð Œ;�+Ô,Ò,Ð,Ý%Ô,ˆDŒKàŒO×!Ò!Ñ#Ô#Ð#Ø!œ\×0Ò0Ñ2Ô2ð &ð &�	ØÐ(Ø—O’OÑ%Ô%Ð%øð -Ð,ð&ð &rP   rr   r>   c                óP  — | j         t          j        k    r4t          j        dt          j        di| j                  }t          |¦  «        ‚t          j        | _         | j                             ¦   «          | j         	                    ¦   «         D ]}|�|                     ¦   «          Œ| S ©Nz-Cannot open a client instance more than once.z9Cannot reopen a client instance, once it has been closed.)
r´   r_   rb   rc   rd   r˜  rO  Ú	__enter__rP  rÜ  )rr   Úmsgr9  s      rN   rß  zClient.__enter__\  s    € ØŒ;�+Ô.Ò.Ð.åÔ"Ð$SÝÔ"Ð%`ðð ŒkôˆCõ ˜sÑ#Ô#Ð#å!Ô(ˆŒàŒ×!Ò!Ñ#Ô#Ð#Øœ×,Ò,Ñ.Ô.ð 	&ð 	&ˆIØÐ$Ø×#Ò#Ñ%Ô%Ð%øØˆrP   Úexc_typeútype[BaseException] | NoneÚ	exc_valueúBaseException | NoneÚ	tracebackúTracebackType | Nonec                óÊ   — t           j        | _        | j                             |||¦  «         | j                             ¦   «         D ]}|�|                     |||¦  «         Œd S rl   )r_   rd   r´   rO  Ú__exit__rP  rÜ  )rr   rá  rã  rå  r9  s        rN   rè  zClient.__exit__l  sr   € õ "Ô(ˆŒàŒ× Ò  ¨9°iÑ@Ô@Ð@Øœ×,Ò,Ñ.Ô.ð 	Cð 	CˆIØÐ$Ø×"Ò" 8¨Y¸	ÑBÔBÐBøð	Cð 	CrP   )(r‘   rœ   r’   r�   r“   rž   r”   rŸ   r3  r:  r4  r;  rš   rD   r5  rD   r6  rD   r¿   rÀ   r7  r<  r•   r4   r–   rD   r8  r   r—   r    r˜   r¡   r™   r¢   r9  r=  r›   r£   rC   rj   )r3  r:  r4  r;  rš   rD   r5  rD   r6  rD   r8  r   r9  r=  rC   r'   )r¿   r   r3  r:  r4  r;  rš   rD   r5  rD   r6  rD   r8  r   rC   r'   )rA   r5   rC   r'   ©ré   rÈ   rA   r¢   rä   rê   rå   rë   ræ   rì   rç   rí   r’   r�   r“   rž   r”   rŸ   r‘   r  r–   rd  r•   rî   rè   rï   rC   r!   )ré   rÈ   rA   r¢   rä   rê   rå   rë   ræ   rì   rç   rí   r’   r�   r“   rž   r”   rŸ   r‘   r  r–   rd  r•   rî   rè   rï   rC   rr  )rA   r¢   ré   rÈ   rä   rê   rå   rë   ræ   rì   rç   rí   r’   r�   r“   rž   r”   rŸ   r‘   r  r–   rd  r•   rî   rè   rï   rw  rx  rC   ry  )rA   r¢   r…  r    r†  r    r‡  rŠ  rˆ  rŠ  r‰  r‹  r’   r�   r“   rž   r”   rŸ   r‘   r  r–   rd  r•   rî   rè   rï   rC   rŒ  ©
r¦   r    rg   rD   r‘   r  r–   rd  rC   r!   ©
r¦   r    r‘   r   r–   rD   r—  r�  rC   r!   ©r¦   r    r–   rD   r—  r�  rC   r!   ©r¦   r    rC   r!   ©rA   r¢   r’   r�   r“   rž   r”   rŸ   r‘   r  r–   rd  r•   rî   rè   rï   rC   r!   ©rA   r¢   r’   r�   r“   rž   r”   rŸ   r‘   r¾  r–   rd  r•   rî   rè   rï   rC   r!   ©rA   r¢   rä   rê   rå   rë   ræ   rì   rç   rí   r’   r�   r“   rž   r”   rŸ   r‘   r¾  r–   rd  r•   rî   rè   rï   rC   r!   r�   )rr   r>   rC   r>   ©NNN©rá  râ  rã  rä  rå  ræ  rC   rj   )&rS   rT   rU   rV   r   r   r   rs   rN  rD  ra  r;   r¦   r   rg   r   rƒ  r   r   r   r   r’  ro  r™  r¢  r«  r°   rÂ  rÅ  rÉ  rÍ  rÑ  rÖ  rÙ  r€   rß  rè  Ú__classcell__©rS  s   @rN   r=   r=   6  sç  ø€ € € € € ð,ð ,ðb "&Ø)-Ø&*Ø&*Ø.2Ø!%ØØØØ#'ØEIØ 6Ø!&Ø'Ø2ØEIØ Ø*.ØGNð+K:ð K:ð K:ð K:ð K:ð K:ð K:ð K:ð^ /3Ø!%ØØØØ'Ø*.ð
ð 
ð 
ð 
ð 
ð2 /3Ø!%ØØØØ'ð
ð 
ð 
ð 
ð 
ð(	ð 	ð 	ð 	ð  *.Ø#'Ø%)Ø"&Ø)-Ø&*Ø&*Ø4FØ4FØ3EØ/3ð6Pð 6Pð 6Pð 6Pð 6Pð 6Pðp ð *.Ø#'Ø%)Ø"&Ø)-Ø&*Ø&*Ø4FØ4FØ3EØ/3ð1ð 1ð 1ð 1ð 1ñ „^ð1ðf ð
 Ø)-Ø#'Ø%)Ø"&Ø)-Ø&*Ø&*Ø4FØ4FØ3EØ/3Ø%Að!(Gð (Gð (Gð (Gð (Gñ „^ð(GðT ð
 'EØ,Ø8_Ø7]Ø)-Ø)-Ø&*Ø&*Ø4FØ4FØ3EØ/3ð4ð 4ð 4ð 4ð 4ñ „^ð4ðt Ø4FØ4Fð-ð -ð -ð -ð -ð -ð^ ð  ð  ð  ðD!ð !ð !ð !ðFð ð ð ðF *.Ø&*Ø&*Ø4FØ4FØ3EØ/3ð
ð 
ð 
ð 
ð 
ð 
ðB *.Ø&*Ø&*Ø-?Ø4FØ3EØ/3ð
ð 
ð 
ð 
ð 
ð 
ðB *.Ø&*Ø&*Ø-?Ø4FØ3EØ/3ð
ð 
ð 
ð 
ð 
ð 
ðB *.Ø#'Ø%)Ø"&Ø)-Ø&*Ø&*Ø-?Ø4FØ3EØ/3ð#
ð #
ð #
ð #
ð #
ð #
ðR *.Ø#'Ø%)Ø"&Ø)-Ø&*Ø&*Ø-?Ø4FØ3EØ/3ð#
ð #
ð #
ð #
ð #
ð #
ðR *.Ø#'Ø%)Ø"&Ø)-Ø&*Ø&*Ø-?Ø4FØ3EØ/3ð#
ð #
ð #
ð #
ð #
ð #
ðR *.Ø&*Ø&*Ø-?Ø4FØ3EØ/3ð
ð 
ð 
ð 
ð 
ð 
ðB *.Ø#'Ø%)Ø"&Ø)-Ø&*Ø&*Ø-?Ø4FØ3EØ/3ð#
ð #
ð #
ð #
ð #
ð #
ðJ
&ð 
&ð 
&ð 
&ðð ð ð ð$ 04Ø*.Ø*.ð	Cð Cð Cð Cð Cð Cð Cð Cð CrP   c                  ó|  ‡ — e Zd ZdZddddddddddedeeddddddœdyˆ fd-„Zdddddedfdzd/„Zdddddefd{d1„Z	d|d4„Z
dddddddeeedd5œd}dF„Zedddddddeeedd5œd~dH„¦   «         ZedIdddddddeeededJœddN„¦   «         ZeeeeeddddeeeddOœd€dX„¦   «         ZdeedYœd�d]„Zd‚da„Zdƒdb„Zd„dc„Zdddeeedddœd…de„Zdddeeedddœd†dg„Zdddeeedddœd†dh„Zdddddddeeedd5œd‡di„Zdddddddeeedd5œd‡dj„Zdddddddeeedd5œd‡dk„Zdddeeedddœd†dl„Z dddddddeeedd5œd‡dm„Z!dˆdn„Z"d‰dq„Z#	 	 	 dŠd‹dx„Z$ˆ xZ%S )Œr<   a<  
    An asynchronous HTTP client, with connection pooling, HTTP/2, redirects,
    cookie persistence, etc.

    It can be shared between tasks.

    Usage:

    ```python
    >>> async with httpx2.AsyncClient() as client:
    >>>     response = await client.get('https://example.org')
    ```

    **Parameters:**

    * **auth** - *(optional)* An authentication class to use when sending
    requests.
    * **params** - *(optional)* Query parameters to include in request URLs, as
    a string, dictionary, or sequence of two-tuples.
    * **headers** - *(optional)* Dictionary of HTTP headers to include when
    sending requests.
    * **cookies** - *(optional)* Dictionary of Cookie items to include when
    sending requests.
    * **verify** - *(optional)* Either `True` to use an SSL context with the
    default CA bundle, `False` to disable verification, or an instance of
    `ssl.SSLContext` to use a custom context.
    * **http2** - *(optional)* A boolean indicating if HTTP/2 support should be
    enabled. Defaults to `False`.
    * **proxy** - *(optional)* A proxy URL where all the traffic should be routed.
    * **mounts** - *(optional)* A dictionary mapping URL patterns to transports,
    used to route requests through specific transports based on the URL.
    * **timeout** - *(optional)* The timeout configuration to use when sending
    requests.
    * **limits** - *(optional)* The limits configuration to use.
    * **max_redirects** - *(optional)* The maximum number of redirect responses
    that should be followed.
    * **base_url** - *(optional)* A URL to use as the base when building
    request URLs.
    * **transport** - *(optional)* A transport class to use for sending requests
    over the network.
    * **trust_env** - *(optional)* Enables or disables usage of environment
    variables for configuration.
    * **default_encoding** - *(optional)* The default encoding to use for decoding
    response text, if no charset information is included in a response Content-Type
    header. Set to a callable for automatic character set detection. Default: "utf-8".
    NTFrŽ   r�   )r‘   r’   r“   r”   r3  r4  r5  r6  r¿   r7  r•   r–   r8  r—   r˜   r™   r9  rš   r›   r‘   rœ   r’   r�   r“   rž   r”   rŸ   r3  r:  r4  r;  r5  rD   r6  r¿   rÀ   r7  ú5None | typing.Mapping[str, AsyncBaseTransport | None]r•   r4   r–   r8  r   r—   r    r˜   r¡   r™   r¢   r9  úAsyncBaseTransport | Nonerš   r›   r£   rC   rj   c               ój  •‡ ‡‡‡‡‡‡— t          ¦   «                              |||||||||‰|¬¦  «         ‰r$	 dd l}n# t          $ r t          d¦  «        d ‚w xY w‰o|d u }‰                      |	|¦  «        }‰                      ‰‰‰‰‰‰|¬¦  «        ‰ _        ˆˆˆˆˆ ˆˆfd„|                     ¦   «         D ¦   «         ‰ _        |
�6‰ j         	                    d„ |
                     ¦   «         D ¦   «         ¦  «         t          t          ‰ j                             ¦   «         ¦  «        ¦  «        ‰ _        d S )Nr�   r   r?  r@  c                ór   •— i | ]3\  }}t          |¦  «        |€d n‰                     |‰	‰‰‰‰‰¬¦  «        “Œ4S rB  rC  rE  s
      €€€€€€€rN   rÆ   z(AsyncClient.__init__.<locals>.<dictcomp>å  st   ø€ ð E
ð E
ð E
ñ ��Uõ �s‰OŒOØˆ}ð "˜Tà×+Ò+ØØØØ#ØØØð ,ñ ô ðE
ð E
ð E
rP   c                ó4   — i | ]\  }}t          |¦  «        |“ŒS rW   rG  rH  s      rN   rÆ   z(AsyncClient.__init__.<locals>.<dictcomp>ô  rI  rP   rJ  )rr   r‘   r’   r“   r”   r3  r4  r5  r6  r¿   r7  r•   r–   r8  r—   r˜   r™   r9  rš   r›   rL  rÁ   rR  rS  s   `    ````    `    `    €rN   rs   zAsyncClient.__init__ª  s½  øøøøøøøø€ õ. 	‰Œ×ÒØØØØØØ-Ø'Ø#ØØØ-ð 	ñ 	
ô 	
ð 	
ð ð 	ðØ�	�	�	�	øÝð ð ð Ý!ðSñô ð ððøøøð &Ð;¨)°tÐ*;ÐØ×'Ò'¨Ð/@ÑAÔAˆ	à×.Ò.ØØØØØØØð /ñ 
ô 
ˆŒðE
ð E
ð E
ð E
ð E
ð E
ð E
ð E
ð E
ð E
ð (ŸošoÑ/Ô/ðE
ñ E
ô E
ˆŒð ÐØŒL×ÒÐ aÐ aÐRX×R^ÒR^ÑR`ÔR`Ð aÑ aÔ aÑbÔbÐbÝ�F 4¤<×#5Ò#5Ñ#7Ô#7Ñ8Ô8Ñ9Ô9ˆŒˆˆrT  r&   c                ó4   — |�|S t          ||||||¬¦  «        S rB  ©r$   rW  s           rN   rN  zAsyncClient._init_transport÷  s9   € ð Ð ØÐå!ØØØØØØð
ñ 
ô 
ð 	
rP   r   c           	     ó.   — t          |||||||¬¦  «        S rY  rü  rZ  s           rN   rD  z!AsyncClient._init_proxy_transport  s0   € õ "ØØØØØØØð
ñ 
ô 
ð 	
rP   rA   r5   c                ó’   — | j                              ¦   «         D ]'\  }}|                     |¦  «        r|€| j        n|c S Œ(| j        S r\  r]  r_  s       rN   ra  zAsyncClient._transport_for_url!  rb  rP   rc  ré   rÈ   rä   rê   rå   rë   ræ   rì   rç   rí   r  rd  rî   rè   rï   r!   c             ƒ  óÂ   K  — |	�d}t          j        |t          d¬¦  «         |                      |||||||||	||¬¦  «        }|                      ||
|¬¦  «        ƒ d{V —†S )a¹  
        Build and send a request.

        Equivalent to:

        ```python
        request = client.build_request(...)
        response = await client.send(request, ...)
        ```

        See `AsyncClient.build_request()`, `AsyncClient.send()`
        and [Merging of configuration][0] for how the various parameters
        are merged with client-level configuration.

        [0]: /advanced/clients/#merging-of-configuration
        Nrf  r`   rg  ri  rj  rk  rp  s                   rN   r¦   zAsyncClient.request,  sœ   è è € ðD ÐðCð õ
 ŒM˜'Õ#5À!ÐDÑDÔDÐDà×$Ò$ØØØØØØØØØØØ!ð %ñ 
ô 
ˆð —Y’Y˜w¨TÐDT�YÑUÔUÐUÐUÐUÐUÐUÐUÐUrP   úAsyncGenerator[Response]c              ó  K  — |                       |||||||||	||¬¦  «        }|                      ||
|d¬¦  «        ƒ d{V —†}	 |W V — |                     ¦   «         ƒ d{V —† dS # |                     ¦   «         ƒ d{V —† w xY wrt  )r÷   ro  r‰   ru  s                   rN   rg   zAsyncClient.streame  sç   è è € ð8 ×$Ò$ØØØØØØØØØØØ!ð %ñ 
ô 
ˆð ŸšØØØ-Øð	 #ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
ˆð	$ØˆNˆNˆNˆNà—/’/Ñ#Ô#Ð#Ð#Ð#Ð#Ð#Ð#Ð#Ð#Ð#ø�(—/’/Ñ#Ô#Ð#Ð#Ð#Ð#Ð#Ð#Ð#Ð#øøøs   ÁA$ Á$B r  rv  rw  rx  úAsyncGenerator[EventSource]c              óô   K  — |                       |||||||dddœt          |¦  «        z  |	|
|||¬¦  «        4 ƒd{V —†	 }t          ||¬¦  «        W V — ddd¦  «        ƒd{V —† dS # 1 ƒd{V —†swxY w Y   dS )r{  r|  r}  r~  rc  Nr€  r�  r‚  s                   rN   rƒ  zAsyncClient.sse™  sd  è è € ð4 —;’;ØØØØØØØØ2ÀZÐPÐPÕSZÐ[bÑScÔScÑcØØØ-ØØ!ð ñ 
ô 
ð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð Ý˜h°~ÐFÑFÔFÐFÐFÐFÐFð	Gð 	Gð 	Gñ 	Gô 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gøøøð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gs   ¿A'Á'
A1Á4A1r„  r…  r†  r‡  rŠ  rˆ  r‰  r‹  ú%AsyncGenerator[AsyncWebSocketSession]c              ó  K  — 	 ddl m} n# t          $ r t          d¦  «        ‚w xY w |t          |¦  «        | ||||||||	|
|||¬¦  «        4 ƒd{V —†	 }|W V — ddd¦  «        ƒd{V —† dS # 1 ƒd{V —†swxY w Y   dS )a—  
        Open a WebSocket session, using this client's configuration.

        The session is closed automatically when exiting the context manager.

        ```python
        async with httpx2.AsyncClient() as client:
            async with client.websocket("ws://localhost:8000/ws") as ws:
                await ws.send_text("Hello!")
                message = await ws.receive_text()
        ```
        r	   )Úaconnect_wsr�  r„  N)r�  r  rM  rÈ   )rr   rA   r…  r†  r‡  rˆ  r‰  r’   r“   r”   r‘   r–   r•   rè   r  r‘  s                   rN   r’  zAsyncClient.websocketÄ  sg  è è € ð<	Ø4Ð4Ð4Ð4Ð4Ð4Ð4øÝð 	ð 	ð 	ÝØmñô ð ð	øøøð
 �;Ý�‰HŒHØØ#9Ø!Ø,KØ+IØ%ØØØØØ-ØØ!ð
ñ 
ô 
ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð ØˆMˆMˆMˆMð!	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   „ ‹%ÁA.Á.
A8Á;A8r“  r¦   r    rg   c             ƒ  óÚ  K  — | j         t          j        k    rt          d¦  «        ‚t          j        | _         t          |t          ¦  «        r| j        n|}|                      |¦  «         |  	                    ||¦  «        }|  
                    |||g ¬¦  «        ƒ d{V —†}	 |s|                     ¦   «         ƒ d{V —† |S # t          $ r!}|                     ¦   «         ƒ d{V —† |‚d}~ww xY w)a‘  
        Send a request.

        The request is sent as-is, unmodified.

        Typically you'll want to build one with `AsyncClient.build_request()`
        so that any client-level configuration is merged into the request,
        but passing an explicit `httpx2.Request()` is supported as well.

        See also: [Request instances][0]

        [0]: /advanced/clients/#request-instances
        r•  r–  N)r´   r_   rd   r˜  rc   rˆ   rR   r–   r/  r  r™  Úareadr›  r‰   rœ  s          rN   ro  zAsyncClient.sendû  s8  è è € ð* Œ;�+Ô,Ò,Ð,ÝÐVÑWÔWÐWå!Ô(ˆŒÝ4>Ð?OÕQaÑ4bÔ4bÐx˜4Ô0Ð0ÐhxÐà×Ò˜'Ñ"Ô"Ð"à×'Ò'¨°Ñ6Ô6ˆà×1Ò1ØØØ-Øð	 2ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
ˆð	Øð 'Ø—n’nÑ&Ô&Ð&Ð&Ð&Ð&Ð&Ð&Ð&àˆOøåð 	ð 	ð 	Ø—/’/Ñ#Ô#Ð#Ð#Ð#Ð#Ð#Ð#Ð#ØˆIøøøøð	øøøs   Â!B? Â?
C*Ã	C%Ã%C*r   r—  r�  c              ƒ  ó`  K  — |                      |¦  «        }	 |                     ¦   «         ƒ d {V —†}	 |                      |||¬¦  «        ƒ d {V —†}	 	 |                     |¦  «        ƒ d {V —†}n,# t          $ r |cY |                     ¦   «         ƒ d {V —† S w xY wt          |¦  «        |_        |                     ¦   «         ƒ d {V —† |}| 	                    |¦  «         n.# t          $ r!}|                     ¦   «         ƒ d {V —† |‚d }~ww xY wŒÝ# |                     ¦   «         ƒ d {V —† w xY wrŸ  )Úasync_auth_flowÚ	__anext__r¢  ÚasendÚStopAsyncIterationr‰   r¯   r—  r  r¤  r›  r¥  s	            rN   r™  zAsyncClient._send_handling_auth*  sÇ  è è € ð ×(Ò(¨Ñ1Ô1ˆ	ð	%Ø%×/Ò/Ñ1Ô1Ð1Ð1Ð1Ð1Ð1Ð1ˆGðØ!%×!>Ò!>ØØ%5Ø#ð "?ñ "ô "ð ð ð ð ð ð �ð
ð(Ø-6¯_ª_¸XÑ-FÔ-FÐ'FÐ'FÐ'FÐ'FÐ'FÐ'F˜˜øÝ-ð (ð (ð (Ø'˜˜ð ×"Ò"Ñ$Ô$Ð$Ð$Ð$Ð$Ð$Ð$Ð$Ð$ð(øøøõ (,¨G¡}¤}�HÔ$Ø"Ÿ.š.Ñ*Ô*Ð*Ð*Ð*Ð*Ð*Ð*Ð*Ø*�GØ—N’N 8Ñ,Ô,Ð,Ð,øå$ð ð ð Ø"Ÿ/š/Ñ+Ô+Ð+Ð+Ð+Ð+Ð+Ð+Ð+Ø�Iøøøøðøøøð#øð* ×"Ò"Ñ$Ô$Ð$Ð$Ð$Ð$Ð$Ð$Ð$Ð$øøøsN   ™9D ÁA0 Á/C" Á0BÁ<C" ÂBÂAC" Ã!D Ã"
DÃ,DÄDÄD ÄD-c              ƒ  ó6  K  — 	 t          |¦  «        | j        k    rt          d|¬¦  «        ‚| j        d         D ]} ||¦  «        ƒ d {V —† Œ|                      |¦  «        ƒ d {V —†}	 | j        d         D ]} ||¦  «        ƒ d {V —† Œt          |¦  «        |_        |j        s|S |                      ||¦  «        }||gz   }|r| 	                    ¦   «         ƒ d {V —† n	||_
        |S n.# t          $ r!}|                     ¦   «         ƒ d {V —† |‚d }~ww xY w�Œr©  )rª  r—   r   r±   r«  r¯   r—  r¬  r  r  r§  r›  r‰   r­  s          rN   r¢  z$AsyncClient._send_handling_redirectsL  s�  è è € ð	Ý�7‰|Œ|˜dÔ0Ò0Ð0Ý&Ð'LÐV]Ð^Ñ^Ô^Ð^àÔ)¨)Ô4ð $ð $�Ø�d˜7‘m”mÐ#Ð#Ð#Ð#Ð#Ð#Ð#Ð#à!×6Ò6°wÑ?Ô?Ð?Ð?Ð?Ð?Ð?Ð?ˆHðØ Ô-¨jÔ9ð )ð )�DØ˜$˜x™.œ.Ð(Ð(Ð(Ð(Ð(Ð(Ð(Ð(å#'¨¡=¤=�Ô àÔ5ð $Ø#�Oà×6Ò6°wÀÑIÔI�Ø! X JÑ.�à#ð $Ø"Ÿ.š.Ñ*Ô*Ð*Ð*Ð*Ð*Ð*Ð*Ð*Ð*à,3�HÔ)Ø#�Oð +øõ
 !ð ð ð Ø—o’oÑ'Ô'Ð'Ð'Ð'Ð'Ð'Ð'Ð'Ø�	øøøøðøøøñ5	s   Á*=C+ Â(AC+ Ã+
DÃ5DÄDc              ƒ  ót  K  — |                       |j        ¦  «        }t          j        ¦   «         }t	          |j        t          ¦  «        st          d¦  «        ‚t          |¬¦  «        5  | 	                    |¦  «        ƒ d{V —†}ddd¦  «         n# 1 swxY w Y   t	          |j        t          ¦  «        sJ ‚||_
        t          |j        |¬¦  «        |_        | j                             |¦  «         | j        |_        t                                d|j        |j        |j        |j        |j        ¦  «         |S )r°  z>Attempted to send a sync request with an AsyncClient instance.r!  Nr±  r²  )ra  rA   r~   r   rˆ   rg   r(   r˜  r   Úhandle_async_requestr¦   rƒ   r”   r´  r³   r›   rµ  r¶  ré   r·  r  r¸  r¹  s        rN   r«  z AsyncClient._send_single_requestp  s€  è è € ð ×+Ò+¨G¬KÑ8Ô8ˆ	ÝÔ!Ñ#Ô#ˆå˜'œ.­/Ñ:Ô:ð 	aÝÐ_Ñ`Ô`Ð`å WÐ-Ñ-Ô-ð 	Eð 	EØ&×;Ò;¸GÑDÔDÐDÐDÐDÐDÐDÐDˆHð	Eð 	Eð 	Eñ 	Eô 	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eøøøð 	Eð 	Eð 	Eð 	Eõ ˜(œ/­?Ñ;Ô;Ð;Ð;Ð;Ø"ˆÔÝ*¨8¬?À%ÐHÑHÔHˆŒØŒ×$Ò$ XÑ.Ô.Ð.Ø$(Ô$:ˆÔ!å�ŠØ,ØŒNØŒKØÔ!ØÔ ØÔ"ñ	
ô 	
ð 	
ð ˆs   Á)BÂBÂBrº  c             ƒ  óN   K  — |                       d||||||||¬¦	  «	        ƒ d{V —†S )r¼  r  rº  Nr!  r½  s	            rN   r°   zAsyncClient.getŽ  s\   è è € ð" —\’\ØØØØØØØ-ØØ!ð "ñ 

ô 

ð 

ð 

ð 

ð 

ð 

ð 

ð 
	
rP   r¾  c             ƒ  óN   K  — |                       d||||||||¬¦	  «	        ƒ d{V —†S )rÀ  rÁ  rº  Nr!  r½  s	            rN   rÂ  zAsyncClient.options«  s\   è è € ð" —\’\ØØØØØØØ-ØØ!ð "ñ 

ô 

ð 

ð 

ð 

ð 

ð 

ð 

ð 
	
rP   c             ƒ  óN   K  — |                       d||||||||¬¦	  «	        ƒ d{V —†S )rÄ  r  rº  Nr!  r½  s	            rN   rÅ  zAsyncClient.headÈ  s\   è è € ð" —\’\ØØØØØØØ-ØØ!ð "ñ 

ô 

ð 

ð 

ð 

ð 

ð 

ð 

ð 
	
rP   c             ƒ  óV   K  — |                       d|||||||||	|
||¬¦  «        ƒ d{V —†S )rÇ  r  rc  Nr!  rÈ  s                rN   rÉ  zAsyncClient.postå  sh   è è € ð* —\’\ØØØØØØØØØØØ-ØØ!ð "ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
ð 	
rP   c             ƒ  óV   K  — |                       d|||||||||	|
||¬¦  «        ƒ d{V —†S )rË  rÌ  rc  Nr!  rÈ  s                rN   rÍ  zAsyncClient.put
  sh   è è € ð* —\’\ØØØØØØØØØØØ-ØØ!ð "ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
ð 	
rP   c             ƒ  óV   K  — |                       d|||||||||	|
||¬¦  «        ƒ d{V —†S )rÏ  rÐ  rc  Nr!  rÈ  s                rN   rÑ  zAsyncClient.patch/  óh   è è € ð* —\’\ØØØØØØØØØØØ-ØØ!ð "ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
ð 	
rP   c             ƒ  óN   K  — |                       d||||||||¬¦	  «	        ƒ d{V —†S )rÔ  rÕ  rº  Nr!  r½  s	            rN   rÖ  zAsyncClient.deleteT  s\   è è € ð" —\’\ØØØØØØØ-ØØ!ð "ñ 

ô 

ð 

ð 

ð 

ð 

ð 

ð 

ð 
	
rP   c             ƒ  óV   K  — |                       d|||||||||	|
||¬¦  «        ƒ d{V —†S )rØ  r  rc  Nr!  rÈ  s                rN   rÙ  zAsyncClient.queryq  r  rP   c              ƒ  ó  K  — | j         t          j        k    rht          j        | _         | j                             ¦   «         ƒ d{V —† | j                             ¦   «         D ] }|�|                     ¦   «         ƒ d{V —† ŒdS dS rÛ  )r´   r_   rd   rO  r‰   rP  rÜ  )rr   r¿   s     rN   r‰   zAsyncClient.aclose–  sž   è è € ð Œ;�+Ô,Ò,Ð,Ý%Ô,ˆDŒKà”/×(Ò(Ñ*Ô*Ð*Ð*Ð*Ð*Ð*Ð*Ð*Øœ×,Ò,Ñ.Ô.ð )ð )�ØÐ$ØŸ,š,™.œ.Ð(Ð(Ð(Ð(Ð(Ð(Ð(øð -Ð,ð)ð )rP   rr   r@   c              ƒ  ól  K  — | j         t          j        k    r4t          j        dt          j        di| j                  }t          |¦  «        ‚t          j        | _         | j                             ¦   «         ƒ d {V —† | j         	                    ¦   «         D ]}|�|                     ¦   «         ƒ d {V —† Œ| S rÞ  )
r´   r_   rb   rc   rd   r˜  rO  Ú
__aenter__rP  rÜ  )rr   rà  r¿   s      rN   r  zAsyncClient.__aenter__¢  sÈ   è è € ØŒ;�+Ô.Ò.Ð.åÔ"Ð$SÝÔ"Ð%`ðð ŒkôˆCõ ˜sÑ#Ô#Ð#å!Ô(ˆŒàŒo×(Ò(Ñ*Ô*Ð*Ð*Ð*Ð*Ð*Ð*Ð*Ø”\×(Ò(Ñ*Ô*ð 	)ð 	)ˆEØÐ Ø×&Ò&Ñ(Ô(Ð(Ð(Ð(Ð(Ð(Ð(Ð(øØˆrP   rá  râ  rã  rä  rå  ræ  c              ƒ  óæ   K  — t           j        | _        | j                             |||¦  «        ƒ d {V —† | j                             ¦   «         D ]!}|�|                     |||¦  «        ƒ d {V —† Œ"d S rl   )r_   rd   r´   rO  Ú	__aexit__rP  rÜ  )rr   rá  rã  rå  r¿   s        rN   r  zAsyncClient.__aexit__²  s˜   è è € õ "Ô(ˆŒàŒo×'Ò'¨°)¸YÑGÔGÐGÐGÐGÐGÐGÐGÐGØ”\×(Ò(Ñ*Ô*ð 	Fð 	FˆEØÐ Ø—o’o h°	¸9ÑEÔEÐEÐEÐEÐEÐEÐEÐEøð	Fð 	FrP   )(r‘   rœ   r’   r�   r“   rž   r”   rŸ   r3  r:  r4  r;  r5  rD   r6  rD   r¿   rÀ   r7  rö  r•   r4   r–   rD   r8  r   r—   r    r˜   r¡   r™   r¢   r9  r÷  rš   rD   r›   r£   rC   rj   )r3  r:  r4  r;  rš   rD   r5  rD   r6  rD   r8  r   r9  r÷  rC   r&   )r¿   r   r3  r:  r4  r;  rš   rD   r5  rD   r6  rD   r8  r   rC   r&   )rA   r5   rC   r&   ré  )ré   rÈ   rA   r¢   rä   rê   rå   rë   ræ   rì   rç   rí   r’   r�   r“   rž   r”   rŸ   r‘   r  r–   rd  r•   rî   rè   rï   rC   r   )rA   r¢   ré   rÈ   rä   rê   rå   rë   ræ   rì   rç   rí   r’   r�   r“   rž   r”   rŸ   r‘   r  r–   rd  r•   rî   rè   rï   rw  rx  rC   r  )rA   r¢   r…  r    r†  r    r‡  rŠ  rˆ  rŠ  r‰  r‹  r’   r�   r“   rž   r”   rŸ   r‘   r  r–   rd  r•   rî   rè   rï   rC   r  rê  rë  rì  rí  rî  rï  rð  r�   )rr   r@   rC   r@   rñ  rò  )&rS   rT   rU   rV   r   r   r   rs   rN  rD  ra  r;   r¦   r   rg   r   rƒ  r   r   r   r   r’  ro  r™  r¢  r«  r°   rÂ  rÅ  rÉ  rÍ  rÑ  rÖ  rÙ  r‰   r  r  ró  rô  s   @rN   r<   r<   z  sê  ø€ € € € € ð-ð -ðd "&Ø)-Ø&*Ø&*Ø.2Ø!%ØØØ#'ØJNØ 6Ø!&Ø'Ø2ØEIØ Ø/3ØØGNð+K:ð K:ð K:ð K:ð K:ð K:ð K:ð K:ð^ /3Ø!%ØØØØ'Ø/3ð
ð 
ð 
ð 
ð 
ð2 /3Ø!%ØØØØ'ð
ð 
ð 
ð 
ð 
ð(	ð 	ð 	ð 	ð  *.Ø#'Ø%)Ø"&Ø)-Ø&*Ø&*Ø4FØ4FØ3EØ/3ð7Vð 7Vð 7Vð 7Vð 7Vð 7Vðr ð *.Ø#'Ø%)Ø"&Ø)-Ø&*Ø&*Ø4FØ4FØ3EØ/3ð1$ð 1$ð 1$ð 1$ð 1$ñ Ôð1$ðf ð
 Ø)-Ø#'Ø%)Ø"&Ø)-Ø&*Ø&*Ø4FØ4FØ3EØ/3Ø%Að!(Gð (Gð (Gð (Gð (Gñ Ôð(GðT ð
 'EØ,Ø8_Ø7]Ø)-Ø)-Ø&*Ø&*Ø4FØ4FØ3EØ/3ð4ð 4ð 4ð 4ð 4ñ Ôð4ðt Ø4FØ4Fð-ð -ð -ð -ð -ð -ð^ %ð  %ð  %ð  %ðD"ð "ð "ð "ðHð ð ð ðD *.Ø&*Ø&*Ø4FØ4FØ3EØ/3ð
ð 
ð 
ð 
ð 
ð 
ðB *.Ø&*Ø&*Ø-?Ø4FØ3EØ/3ð
ð 
ð 
ð 
ð 
ð 
ðB *.Ø&*Ø&*Ø-?Ø4FØ3EØ/3ð
ð 
ð 
ð 
ð 
ð 
ðB *.Ø#'Ø%)Ø"&Ø)-Ø&*Ø&*Ø-?Ø4FØ3EØ/3ð#
ð #
ð #
ð #
ð #
ð #
ðR *.Ø#'Ø%)Ø"&Ø)-Ø&*Ø&*Ø-?Ø4FØ3EØ/3ð#
ð #
ð #
ð #
ð #
ð #
ðR *.Ø#'Ø%)Ø"&Ø)-Ø&*Ø&*Ø-?Ø4FØ3EØ/3ð#
ð #
ð #
ð #
ð #
ð #
ðR *.Ø&*Ø&*Ø-?Ø4FØ3EØ/3ð
ð 
ð 
ð 
ð 
ð 
ðB *.Ø#'Ø%)Ø"&Ø)-Ø&*Ø&*Ø-?Ø4FØ3EØ/3ð#
ð #
ð #
ð #
ð #
ð #
ðJ
)ð 
)ð 
)ð 
)ðð ð ð ð$ 04Ø*.Ø*.ð	Fð Fð Fð Fð Fð Fð Fð Fð FrP   )rA   r5   rB   r5   rC   rD   )gÚ
__future__r   r|   ÚenumÚloggingr~   Útypingrl  Úcollections.abcr   r   Ú
contextlibr   r   Útypesr   r
   r«   r   r   r   Ú_configr   r   r   r   r   r   r   r   r   r   r   Ú	_decodersr   Ú_exceptionsr   r   r   r   Ú_modelsr   r   r    r!   Ú_sser"   Ú_status_codesr#   Ú_transportsr$   r%   Ú_transports.baser&   r'   Ú_typesr(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   Ú_urlsr5   r6   Ú_utilsr7   r8   ÚTYPE_CHECKINGÚsslr�  r9   r:   Ú__all__ÚTypeVarr>   r@   rO   rR   r;   Ú	getLoggerrµ  rÝ   r#  ÚkeysrÛ   ÚEnumr_   rf   rƒ   ÚCallableÚAnyÚ	EventHookr�   r=   r<   rW   rP   rN   ú<module>r;     s$  ðØ "Ð "Ð "Ð "Ð "Ð "à €€€Ø €€€Ø €€€Ø €€€Ø €€€Ø €€€Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ø Ð Ð Ð Ð Ð à $Ð $Ð $Ð $Ð $Ð $Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð *Ð )Ð )Ð )Ð )Ð )ðð ð ð ð ð ð ð ð ð ð ð ð 9Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø Ð Ð Ð Ð Ð Ø  Ð  Ð  Ð  Ð  Ð  Ø :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ø ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð $Ð #Ð #Ð #Ð #Ð #Ð #Ð #Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7à	Ôð IØ€J€J€JàHÐHÐHÐHÐHÐHÐHÐHà
9Ð
9Ð
9€ð €F„N�3˜hÐ'Ñ'Ô'€Ø€F„N�3˜mÐ,Ñ,Ô,€ðð ð ð ð ð ð ð ð ñ ô ð ð( &Ð%Ñ'Ô'Ð ð 
ˆÔ	˜8Ñ	$Ô	$€à+˜kÐ+Ð+€
Ø—)’)Ð[Ð[Ð,CÐ,>Ô,CÑ,EÔ,EÐ[Ñ[Ô[Ñ\Ô\€ðð ð ð ð �$”)ñ ô ð ðð ð ð ð �nñ ô ð ð($ð $ð $ð $ð $�ñ $ô $ð $ð4 ŒO˜C ¤˜OÔ,€	ð@Wð @Wð @Wð @Wð @Wñ @Wô @Wð @WðFACð ACð ACð ACð ACˆZñ ACô ACð ACðHCFð CFð CFð CFð CF�*ñ CFô CFð CFð CFð CFrP   