ó
    &ÝNjÈ…  ã                  óX  • S r SSKJr  SSKrSSKrSSKrSSKJr  SSKJ	r	J
r
Jr  SSKJr  SSKJrJrJr  SS	KJr  SS
KJr  SSKJr  SSKJr  SSKJrJrJr  SSKJ r J!r!J"r"J#r#  SSK$J%r%J&r&J'r'J(r(  SSK)J*r*J+r+  SSK,J-r-J.r.J/r/J0r0J1r1  SSK2J3r3  SSK4J5r5  SSK6J7r7J8r8J9r9J:r:J;r;J<r<J=r=J>r>J?r?J@r@  \(       a  SSKAJBrB  SSKCJDrDJErE  SSKFJrG  SSKJHrH  \R’                  S:X  a  \R”                  rKO\R
                  rK\4       S!S jjrL\4       S"S jjrM " S S5      rN " S S\N5      rOS#S  jrPg)$z•
requests.sessions
~~~~~~~~~~~~~~~~~

This module provides a Session object to manage and persist settings across
requests (cookies, auth, proxies).
é    )ÚannotationsN)ÚOrderedDict)Ú	GeneratorÚMappingÚMutableMapping)Ú	timedelta)ÚTYPE_CHECKINGÚAnyÚcasté   )Úto_native_string)Úis_prepared)ÚHTTPAdapter)Ú_basic_auth_str)Ú	cookielibÚurljoinÚurlparse)ÚRequestsCookieJarÚcookiejar_from_dictÚextract_cookies_to_jarÚmerge_cookies)ÚChunkedEncodingErrorÚContentDecodingErrorÚInvalidSchemaÚTooManyRedirects)Údefault_hooksÚdispatch_hook)ÚDEFAULT_REDIRECT_LIMITÚREDIRECT_STATIÚPreparedRequestÚRequestÚResponse)Úcodes)ÚCaseInsensitiveDict)
ÚDEFAULT_PORTSÚdefault_headersÚget_auth_from_urlÚget_environ_proxiesÚget_netrc_authÚrequote_uriÚresolve_proxiesÚrewind_bodyÚshould_bypass_proxiesÚto_key_val_list)Ú	CookieJar)ÚSelfÚUnpack)Ú_types)ÚBaseAdapterÚwin32c                ó<  • Uc  U $ U c  U$ [        U[        5      (       a  [        U [        5      (       d  U $ U" [        U5      5      nUR                  [        U 5      5        UR	                  5        VVs/ s H  u  pEUb  M
  UPM     nnnU H  nX7	 M     U$ s  snnf )zÜDetermines appropriate setting for a given request, taking into account
the explicit setting on that request, and the setting in the session. If a
setting is a dictionary, they will be merged together using `dict_class`
)Ú
isinstancer   r.   ÚupdateÚitems)Úrequest_settingÚsession_settingÚ
dict_classÚmerged_settingÚkÚvÚ	none_keysÚkeys           ÚN/home/mande/repo/quber/.venv/lib/python3.13/site-packages/requests/sessions.pyÚmerge_settingrB   L   s¢   € ð ÑØÐàÑØÐô 	�?¤G×,Ñ,´¸OÌW×1UÑ1UàÐá¤°Ó @ÓA€NØ×Ñœ/¨/Ó:Ô;ð "0×!5Ñ!5Ô!7ÔEÒ!7‘v˜¸1—Ñ!7€IÑEÛˆØÒñ ð Ðùó	 Fs   Á5	BÂBc                ó‚   • Ub  UR                  S5      / :X  a  U $ U b  U R                  S5      / :X  a  U$ [        XU5      $ )z�Properly merges both requests and session hooks.

This is necessary because when request_hooks == {'response': []}, the
merge breaks Session hooks entirely.
Úresponse)ÚgetrB   )Úrequest_hooksÚsession_hooksr;   s      rA   Úmerge_hooksrH   l   sM   € ð Ñ × 1Ñ 1°*Ó =ÀÓ CØÐàÑ × 1Ñ 1°*Ó =ÀÓ CØÐä˜°zÓBÐBó    c                  óÔ   • \ rS rSr% S\S'   S\S'   S\S'   SS jrSS	 jrSS
 jr      S                   SS jjr      SS jr	      SS jr
      SS jrSrg)ÚSessionRedirectMixiné   ÚintÚmax_redirectsÚboolÚ	trust_envr   Úcookiesc                ó   • g ©N© )ÚselfÚrequestÚkwargss      rA   ÚsendÚSessionRedirectMixin.send„   s   € ÈrI   c                ó~   • UR                   (       a,  UR                  S   nUR                  S5      n[        US5      $ g)z7Receives a Response. Returns a redirect URI or ``None``ÚlocationÚlatin1Úutf8N)Úis_redirectÚheadersÚencoder   )rU   Úrespr[   s      rA   Úget_redirect_targetÚ(SessionRedirectMixin.get_redirect_target†   s;   € ð ××Ø—|‘| JÑ/ˆHð  —‘ xÓ0ˆHÜ# H¨fÓ5Ð5ØrI   c                óö  • [        U5      n[        U5      nUR                  UR                  :w  a  gUR                  S:X  a1  UR                  S;   a!  UR                  S:X  a  UR                  S;   a  gUR                  UR                  :g  nUR                  UR                  :g  n[        R
                  " UR                  S5      S4nU(       d!  UR                  U;   a  UR                  U;   a  gU=(       d    U$ )zFDecide whether Authorization header should be removed when redirectingTÚhttp)éP   NÚhttps)i»  NFN)r   ÚhostnameÚschemeÚportr%   rE   )rU   Úold_urlÚnew_urlÚ
old_parsedÚ
new_parsedÚchanged_portÚchanged_schemeÚdefault_ports           rA   Úshould_strip_authÚ&SessionRedirectMixin.should_strip_authš   sØ   € ä˜gÓ&ˆ
Ü˜gÓ&ˆ
Ø×Ñ *×"5Ñ"5Ó5Øð ×Ñ Ó'Ø—‘ :Ó-Ø×!Ñ! WÓ,Ø—‘ ;Ó.àð "—‘¨*¯/©/Ñ9ˆØ#×*Ñ*¨j×.?Ñ.?Ñ?ˆÜ%×)Ò)¨*×*;Ñ*;¸TÓBÀDÐIˆæØ—‘ <Ó/Ø—‘ <Ó/àð ×-˜~Ð-rI   Nc	           
   +  ó(  #   • / n
U R                  U5      n[        UR                  5      R                  nU(       Ga  UR	                  5       nU
SS Ul        U
R                  U5         UR                    [        UR
                  5      U R                  :¼  a  [        SU R                   S3US9eUR!                  5         UR#                  S5      (       a;  [        UR                  5      nSR%                  ['        UR(                  5      U/5      n[        U5      nUR                  S	:X  a  U(       a  UR+                  US
9nOUR                  (       a  UR                  nUR-                  5       nUR.                  (       d   [1        UR                  [3        U5      5      nO[3        U5      n['        U5      Ul        U R5                  XÑ5        UR6                  [8        R:                  [8        R<                  4;  a.  SnU H  nUR>                  RA                  US5        M!     SUl!        UR>                  nURA                  SS5        [E        SURF                  5      n[I        UX!R                  5        [K        UU RL                  5        URO                  U5        U RQ                  X×5      nU RS                  XÑ5        URT                  SL=(       a    SU;   =(       d    SU;   nU(       a  [W        U5        UnU(       a  Uv •  OOU RX                  " U4UUUUUSS.U	D6n[I        U RL                  XÑR                  5        U R                  U5      nUv •  U(       a  GM  gg! [        [        [        4 a    UR                  R                  SS9   GNf = f7f)zBReceives a Response. Returns a generator of Responses or Requests.NF)Údecode_contentz	Exceeded z redirects.)rD   z//Ú:Ú )Úfragment)úContent-LengthzContent-TypeúTransfer-EncodingÚCookier/   ry   rz   )ÚstreamÚtimeoutÚverifyÚcertÚproxiesÚallow_redirects)-rb   r   Úurlrx   ÚcopyÚhistoryÚappendÚcontentr   r   ÚRuntimeErrorÚrawÚreadÚlenrN   r   ÚcloseÚ
startswithÚjoinr   ri   Ú_replaceÚgeturlÚnetlocr   r*   Úrebuild_methodÚstatus_coder#   Útemporary_redirectÚpermanent_redirectr_   ÚpopÚbodyr   Ú_cookiesr   r   rQ   Úprepare_cookiesÚrebuild_proxiesÚrebuild_authÚ_body_positionr,   rX   )rU   ra   Úreqr|   r}   r~   r   r€   Úyield_requestsÚadapter_kwargsÚhistr‚   Úprevious_fragmentÚprepared_requestÚparsed_rurlÚparsedÚpurged_headersÚheaderr_   Ú
cookie_jarÚ
rewindables                        rA   Úresolve_redirectsÚ&SessionRedirectMixin.resolve_redirectsº   s!  é € ð  "ˆà×&Ñ& tÓ,ˆÜ$ S§W¡WÓ-×6Ñ6ÐßØ"Ÿx™x›zÐð  ¡˜7ˆDŒLØ�K‰K˜Ôð4Ø—’ô �4—<‘<Ó  D×$6Ñ$6Ó6Ü&Ø × 2Ñ 2Ð3°;Ð?È$ñð ð
 �J‰JŒLð �~‰~˜d×#Ñ#Ü& t§x¡xÓ0�Ø—h‘hÔ 0°×1CÑ1CÓ DÀcÐJÓK�ô ˜c“]ˆFØ�‰ "Ó$Ö):ØŸ™Ð2C˜ÐD‘Ø——Ø$*§O¡OÐ!Ø—-‘-“/ˆCð
 —=—=Ü˜dŸh™h¬°CÓ(8Ó9‘ä! #Ó&�ä#3°CÓ#8ÐÔ à×ÑÐ 0Ô7ð ×ÑÜ×(Ñ(Ü×(Ñ(ð(ó ð
 "Y�Û,�FØ$×,Ñ,×0Ñ0°¸Ö>ñ -à(,Ð Ô%à&×.Ñ.ˆGØ�K‰K˜ $Ô'ô
 ˜kÐ+;×+DÑ+DÓEˆJÜ" :¨s·H±HÔ=Ü˜* d§l¡lÔ3Ø×,Ñ,¨ZÔ8ð ×*Ñ*Ð+;ÓEˆGØ×ÑÐ.Ô5ð
 *×8Ñ8ÀÐD÷ Ø  GÑ+×MÐ/BÀgÑ/Mð ö
 ÜÐ,Ô-ð #ˆCæØ“	à—y’yØð	à!Ø#Ø!ØØ#Ø$)ñ	ð %ñ	�ô ' t§|¡|Ð5EÇxÁxÔPð ×.Ñ.¨tÓ4�Ø’
÷O ‹cøô )Ô*>ÄÐMó 4Ø—‘—‘¨U�Ô3ð4üs1   ‚A&NÁ)M Á5K#NÍNÍ.NÎNÎNÎNc                óP  • UR                   n[        U5      (       d   e[        U5      (       d   eUR                  nUR                  nUR                  nSU;   a  U R	                  XV5      (       a  US	 U R
                  (       a  [        U5      OSnUb  UR                  U5        gg)zÑWhen being redirected we may want to strip authentication from the
request to avoid leaking credentials. This method intelligently removes
and reapplies authentication where possible to avoid credential loss.
ÚAuthorizationN)rV   Ú_is_preparedr_   r‚   rr   rP   r)   Úprepare_auth)rU   r¡   rD   Úoriginal_requestr_   Úoriginal_urlr‚   Únew_auths           rA   rš   Ú!SessionRedirectMixin.rebuild_auth5  s¤   € ð $×+Ñ+ÐÜÐ,×-Ñ-Ð-Ð-ÜÐ,×-Ñ-Ð-Ð-à"×*Ñ*ˆØ'×+Ñ+ˆØ×"Ñ"ˆà˜gÓ%¨$×*@Ñ*@À×*SÑ*Sð ˜Ð(ð +/¯.¯.”> #Ô&¸dˆØÑØ×)Ñ)¨(Õ3ð  rI   c                ój  • [        U5      (       d   eUR                  n[        UR                  5      R                  n[        XU R                  5      nSU;   a  US	  [        XT   5      u  pgUR                  S5      (       d  U(       a  U(       a  [        Xg5      US'   U$ ! [         a    Su  pg NDf = f)ap  This method re-evaluates the proxy configuration by considering the
environment variables. If we are redirected to a URL covered by
NO_PROXY, we strip the proxy configuration. Otherwise, we set missing
proxy keys for this URL (in case they were stripped by a previous
redirect).

This method also replaces the Proxy-Authorization header where
necessary.

:rtype: dict
zProxy-Authorization©NNrg   )r¬   r_   r   r‚   ri   r+   rP   r'   ÚKeyErrorrŒ   r   )rU   r¡   r€   r_   ri   Únew_proxiesÚusernameÚpasswords           rA   r™   Ú$SessionRedirectMixin.rebuild_proxiesN  s·   € ô  Ð,×-Ñ-Ð-Ð-Ø"×*Ñ*ˆÜÐ*×.Ñ.Ó/×6Ñ6ˆÜ%Ð&6ÀÇÁÓPˆà  GÓ+ØÐ-Ð.ð	,Ü!2°;Ñ3FÓ!GÑˆHð × Ñ  ×)Ñ)®h¾8Ü-<¸XÓ-PˆGÐ)Ñ*àÐøô ó 	,Ø!+ÑˆH‘hð	,ús   ÁB! Â!B2Â1B2c                ó  • UR                   nUR                  [        R                  :X  a  US:w  a  SnUR                  [        R                  :X  a  US:w  a  SnUR                  [        R
                  :X  a  US:X  a  SnX1l         g)zrWhen being redirected we may want to change the method of the request
based on certain specs or browser behavior.
ÚHEADÚGETÚPOSTN)Úmethodr’   r#   Ú	see_otherÚfoundÚmoved)rU   r¡   rD   r½   s       rA   r‘   Ú#SessionRedirectMixin.rebuild_methodr  su   € ð "×(Ñ(ˆð ×Ñ¤5§?¡?Ó2°vÀÓ7GØˆFð ×Ñ¤5§;¡;Ó.°6¸VÓ3CØˆFð ×Ñ¤5§;¡;Ó.°6¸VÓ3CØˆFà"(ÕrI   rT   ©rV   r    rW   r
   Úreturnr"   )ra   r"   rÃ   z
str | None)rk   Ústrrl   rÄ   rÃ   rO   )FNTNNF)ra   r"   rœ   r    r|   rO   r}   ú_t.TimeoutTyper~   ú_t.VerifyTyper   ú_t.CertTyper€   údict[str, str] | Noner�   rO   rž   r
   rÃ   zGenerator[Response, None, None])r¡   r    rD   r"   rÃ   ÚNone)r¡   r    r€   rÈ   rÃ   údict[str, str])Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__annotations__rX   rb   rr   r¨   rš   r™   r‘   Ú__static_attributes__rT   rI   rA   rK   rK      s  ‡ ØÓØƒOØÓäLôô(.ðH Ø"&Ø $Ø Ø)-Ø$ðyàðyð ðyð ð	yð
  ðyð ðyð ðyð 'ðyð ðyð ðyð 
)õyðv4Ø /ð4Ø;Cð4à	ô4ð2"à)ð"ð 'ð"ð 
ô	"ðH)Ø /ð)Ø;Cð)à	÷)rI   rK   c                  ó2  • \ rS rSr% SrS\S'   S\S'   S\S'   S	\S
'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   / SQrS\S'   S2S jrS3S jrS4S jr	S5S  jr
              S6                                 S7S" jjr S8       S9S# jjrS:S$ jrS:S% jr  S;         S<S& jjr S8       S=S' jjr S8       S=S( jjrS:S) jrS>S* jr            S?S+ jrS@S, jrS2S- jrSAS. jrSBS/ jrSCS0 jrS1rg!)DÚSessioni‹  aT  A Requests session.

Provides cookie persistence, connection-pooling, and configuration.

Basic Usage::

  >>> import requests
  >>> s = requests.Session()
  >>> s.get('https://httpbin.org/get')
  <Response [200]>

Or as a context manager::

  >>> with requests.Session() as s:
  ...     s.get('https://httpbin.org/get')
  <Response [200]>
zCaseInsensitiveDict[str]r_   ú_t.AuthTypeÚauthrÊ   r€   zdict[str, list[_t.HookType]]ÚhookszMutableMapping[str, Any]ÚparamsrO   r|   rÆ   r~   rÇ   r   rM   rN   rP   r   rQ   z MutableMapping[str, BaseAdapter]Úadapters)r_   rQ   rÔ   r€   rÕ   rÖ   r~   r   r×   r|   rP   rN   z	list[str]Ú	__attrs__c                ó^  • [        5       U l        S U l        0 U l        [	        5       U l        0 U l        SU l        SU l        S U l	        [        U l        SU l        [        0 5      U l        [        5       U l        U R#                  S[%        5       5        U R#                  S[%        5       5        g )NFTzhttps://zhttp://)r&   r_   rÔ   r€   r   rÕ   rÖ   r|   r~   r   r   rN   rP   r   rQ   r   r×   Úmountr   ©rU   s    rA   Ú__init__ÚSession.__init__º  s›   € ô 'Ó(ˆŒð ˆŒ	ð
 ˆŒô #“_ˆŒ
ð
 ˆŒð ˆŒð ˆŒð ˆŒ	ô 4ˆÔð ˆŒô +¨2Ó.ˆŒô $›ˆŒØ�
‰
�:œ{›}Ô-Ø�
‰
�9œk›mÕ,rI   c                ó   • U $ rS   rT   rÛ   s    rA   Ú	__enter__ÚSession.__enter__ù  s   € ØˆrI   c                ó$   • U R                  5         g rS   )r‹   )rU   Úargss     rA   Ú__exit__ÚSession.__exit__ü  s   € Ø�
‰
�rI   c                ó0  • [        SUR                  5      n[        [        UR                  5      nUR                  =(       d    0 n[        U[        R                  5      (       d  [        U5      n[        [        [        5       U R                  5      U5      nUR                  nU R                  (       a#  U(       d  U R                  (       d  [        U5      n[        5       nUR                  UR!                  5       UUR"                  UR$                  UR&                  [)        UR*                  U R*                  [,        S9[)        UR.                  U R.                  5      [)        X`R                  5      U[1        UR2                  U R2                  5      S9
  U$ )aS  Constructs a :class:`PreparedRequest <PreparedRequest>` for
transmission and returns it. The :class:`PreparedRequest` has settings
merged from the :class:`Request <Request>` instance and those of the
:class:`Session`.

:param request: :class:`Request` instance to prepare with this
    session's settings.
:rtype: requests.PreparedRequest
ú
_t.UriType)r;   )
r½   r‚   ÚfilesÚdataÚjsonr_   rÖ   rÔ   rQ   rÕ   )r   r‚   rÄ   r½   rQ   r6   r   r/   r   r   r   rÔ   rP   r)   r    ÚprepareÚupperrç   rè   ré   rB   r_   r$   rÖ   rH   rÕ   )rU   rV   r‚   r½   rQ   Úmerged_cookiesrÔ   Úps           rA   Úprepare_requestÚSession.prepare_requestÿ  s#  € ô �< §¡Ó-ˆÜ”c˜7Ÿ>™>Ó*ˆà—/‘/×' Rˆô ˜'¤9×#6Ñ#6×7Ñ7Ü)¨'Ó2ˆGô 'ÜÔ+Ó-¨t¯|©|Ó<¸gó
ˆð
 �|‰|ˆØ�>�>¦$¨t¯y¯yÜ! #Ó&ˆDäÓˆØ	�	‰	Ø—<‘<“>ØØ—-‘-Ø—‘Ø—‘Ü!Ø—‘ §¡Ô:Mñô ! §¡°·±Ó=Ü˜t§Y¡YÓ/Ø"Ü˜gŸm™m¨T¯Z©ZÓ8ð 	ñ 	
ð ˆrI   Nc                óž  • [        U[        5      (       a  UR                  S5      n[        UR	                  5       UUUU=(       d    0 UU=(       d    0 UUUS9
nU R                  U5      n[        U5      (       d   eU=(       d    0 nU R                  UR                  X½Xï5      nU	U
S.nUR                  U5        U R                  " U40 UD6nU$ )a¹  Constructs a :class:`Request <Request>`, prepares it and sends it.
Returns :class:`Response <Response>` object.

:param method: method for the new :class:`Request` object.
:param url: URL for the new :class:`Request` object.
:param params: (optional) Dictionary or bytes to be sent in the query
    string for the :class:`Request`.
:param data: (optional) Dictionary, list of tuples, bytes, or file-like
    object to send in the body of the :class:`Request`.
:param json: (optional) json to send in the body of the
    :class:`Request`.
:param headers: (optional) Dictionary of HTTP Headers to send with the
    :class:`Request`.
:param cookies: (optional) Dict or CookieJar object to send with the
    :class:`Request`.
:param files: (optional) Dictionary of ``'filename': file-like-objects``
    for multipart encoding upload.
:param auth: (optional) Auth tuple or callable to enable
    Basic/Digest/Custom HTTP Auth.
:param timeout: (optional) How many seconds to wait for the server to send
    data before giving up, as a float, or a :ref:`(connect timeout,
    read timeout) <timeouts>` tuple.
:type timeout: float or tuple
:param allow_redirects: (optional) Set to True by default.
:type allow_redirects: bool
:param proxies: (optional) Dictionary mapping protocol or protocol and
    hostname to the URL of the proxy.
:param hooks: (optional) Dictionary mapping hook name to one event or
    list of events, event must be callable.
:param stream: (optional) whether to immediately download the response
    content. Defaults to ``False``.
:param verify: (optional) Either a boolean, in which case it controls whether we verify
    the server's TLS certificate, or a string, in which case it must be a path
    to a CA bundle to use. Defaults to ``True``. When set to
    ``False``, requests will accept any TLS certificate presented by
    the server, and will ignore hostname mismatches and/or expired
    certificates, which will make your application vulnerable to
    man-in-the-middle (MitM) attacks. Setting verify to ``False``
    may be useful during local development or testing.
:param cert: (optional) if String, path to ssl client cert file (.pem).
    If Tuple, ('cert', 'key') pair.
:rtype: requests.Response
zutf-8)
r½   r‚   r_   rç   rè   ré   rÖ   rÔ   rQ   rÕ   )r}   r�   )r6   ÚbytesÚdecoder!   rë   rî   r¬   Úmerge_environment_settingsr‚   r7   rX   )rU   r½   r‚   rÖ   rè   r_   rQ   rç   rÔ   r}   r�   r€   rÕ   r|   r~   r   ré   rœ   ÚprepÚsettingsÚsend_kwargsra   s                         rA   rV   ÚSession.request-  sÖ   € ô| �cœ5×!Ñ!Ø—*‘*˜WÓ%ˆCô Ø—<‘<“>ØØØØ—˜ØØ—<˜RØØØñ
ˆð ×#Ñ# CÓ(ˆä˜D×!Ñ!Ð!Ð!à—-˜Rˆà×2Ñ2Ø�H‰H�g vó
ˆð Ø.ñ
ˆð 	×Ñ˜8Ô$Ø�yŠy˜Ñ- Ñ-ˆàˆrI   c                óR   • UR                  SS5        U R                  " SU4SU0UD6$ )a9  Sends a GET request. Returns :class:`Response` object.

:param url: URL for the new :class:`Request` object.
:param params: (optional) Dictionary, list of tuples or bytes to send
in the query string for the :class:`Request`.
:param \*\*kwargs: Optional arguments that ``request`` takes.
:rtype: requests.Response
r�   Tr»   rÖ   ©Ú
setdefaultrV   )rU   r‚   rÖ   rW   s       rA   rE   ÚSession.get�  s0   € ð 	×ÑÐ+¨TÔ2Ø�|Š|˜E 3Ñ@¨vÐ@¸Ñ@Ð@rI   c                óN   • UR                  SS5        U R                  " SU40 UD6$ )zÉSends a OPTIONS request. Returns :class:`Response` object.

:param url: URL for the new :class:`Request` object.
:param \*\*kwargs: Optional arguments that ``request`` takes.
:rtype: requests.Response
r�   TÚOPTIONSrù   ©rU   r‚   rW   s      rA   ÚoptionsÚSession.options¡  s+   € ð 	×ÑÐ+¨TÔ2Ø�|Š|˜I sÑ5¨fÑ5Ð5rI   c                óN   • UR                  SS5        U R                  " SU40 UD6$ )zÆSends a HEAD request. Returns :class:`Response` object.

:param url: URL for the new :class:`Request` object.
:param \*\*kwargs: Optional arguments that ``request`` takes.
:rtype: requests.Response
r�   Frº   rù   rþ   s      rA   ÚheadÚSession.head¬  s+   € ð 	×ÑÐ+¨UÔ3Ø�|Š|˜F CÑ2¨6Ñ2Ð2rI   c                ó.   • U R                   " SU4X#S.UD6$ )a�  Sends a POST request. Returns :class:`Response` object.

:param url: URL for the new :class:`Request` object.
:param data: (optional) Dictionary, list of tuples, bytes, or file-like
    object to send in the body of the :class:`Request`.
:param json: (optional) json to send in the body of the :class:`Request`.
:param \*\*kwargs: Optional arguments that ``request`` takes.
:rtype: requests.Response
r¼   )rè   ré   ©rV   )rU   r‚   rè   ré   rW   s        rA   ÚpostÚSession.post·  s   € ð" �|Š|˜F CÐH¨dÑHÀÑHÐHrI   c                ó.   • U R                   " SU4SU0UD6$ )aE  Sends a PUT request. Returns :class:`Response` object.

:param url: URL for the new :class:`Request` object.
:param data: (optional) Dictionary, list of tuples, bytes, or file-like
    object to send in the body of the :class:`Request`.
:param \*\*kwargs: Optional arguments that ``request`` takes.
:rtype: requests.Response
ÚPUTrè   r  ©rU   r‚   rè   rW   s       rA   ÚputÚSession.putÊ  s   € ð �|Š|˜E 3Ñ<¨TÐ<°VÑ<Ð<rI   c                ó.   • U R                   " SU4SU0UD6$ )aG  Sends a PATCH request. Returns :class:`Response` object.

:param url: URL for the new :class:`Request` object.
:param data: (optional) Dictionary, list of tuples, bytes, or file-like
    object to send in the body of the :class:`Request`.
:param \*\*kwargs: Optional arguments that ``request`` takes.
:rtype: requests.Response
ÚPATCHrè   r  r
  s       rA   ÚpatchÚSession.patchØ  s   € ð �|Š|˜G SÑ>¨tÐ>°vÑ>Ð>rI   c                ó*   • U R                   " SU40 UD6$ )zÈSends a DELETE request. Returns :class:`Response` object.

:param url: URL for the new :class:`Request` object.
:param \*\*kwargs: Optional arguments that ``request`` takes.
:rtype: requests.Response
ÚDELETEr  rþ   s      rA   ÚdeleteÚSession.deleteæ  s   € ð �|Š|˜H cÑ4¨VÑ4Ð4rI   c                ó¼  • UR                  SU R                  5        UR                  SU R                  5        UR                  SU R                  5        SU;  a#  [	        XR
                  U R                  5      US'   [        U[        5      (       a  [        S5      e[        U5      (       d   eUR                  SS5      nUR                  S5      nUR                  nU R                  UR                  S9n[!        5       nUR"                  " U40 UD6n[!        5       U-
  n	[%        U	S	9Ul        [)        S
XX40 UD6nUR*                  (       a>  UR*                   H.  n
[-        U R.                  U
R0                  U
R2                  5        M0     [-        U R.                  XR2                  5        U(       a%  U R4                  " X�40 UD6nU V
s/ s H  oªPM     nn
O/ nU(       a(  UR7                  SU5        UR                  5       nXÈl        U(       d$   [9        U R4                  " X�4SS0UD65      Ul        U(       d  UR>                    U$ s  sn
f ! [<         a     N&f = f)z9Send a given PreparedRequest.

:rtype: requests.Response
r|   r~   r   r€   z#You can only send PreparedRequests.r�   T)r‚   )ÚsecondsrD   r   r�   ) rú   r|   r~   r   r+   r€   rP   r6   r!   Ú
ValueErrorr¬   r•   rE   rÕ   Úget_adapterr‚   Úpreferred_clockrX   r   Úelapsedr   r„   r   rQ   rV   rˆ   r¨   ÚinsertÚnextÚ_nextÚStopIterationr†   )rU   rV   rW   r�   r|   rÕ   ÚadapterÚstartÚrr  ra   Úgenr„   s                rA   rX   ÚSession.sendð  s  € ð 	×Ñ˜( D§K¡KÔ0Ø×Ñ˜( D§K¡KÔ0Ø×Ñ˜& $§)¡)Ô,Ø˜FÓ"Ü /°¿¹ÀtÇ~Á~Ó VˆF�9Ñô �gœw×'Ñ'ÜÐBÓCÐCä˜G×$Ñ$Ð$Ð$ð !Ÿ*™*Ð%6¸Ó=ˆØ—‘˜HÓ%ˆØ—‘ˆð ×"Ñ" w§{¡{Ð"Ð3ˆô  Ó!ˆð �LŠL˜Ñ+ FÑ+ˆô "Ó# eÑ+ˆÜ gÑ.ˆŒ	ô ˜* eÑ9°&Ñ9ˆð �9�9àŸ	œ	�Ü& t§|¡|°T·\±\À4Ç8Á8ÖLñ "ô 	˜tŸ|™|¨W·e±eÔ<ö à×(Ò(¨Ñ>°vÑ>ˆCÙ(+Ó,ª ’t©ˆGÐ,ˆGàˆGö à�N‰N˜1˜aÔ à—‘“ˆAØŒIö ðÜØ×*Ò*¨1ÑUÀdÐUÈfÑUó�”ö Ø�IŠIàˆùò1 -øô$ !ó Ùðús   Ç
I	È#I É
IÉIc                ó  • U R                   (       a¢  Ub  UR                  S5      OSn[        XS9nUb*  UR                  5        H  u  p‰UR	                  X‰5        M     USL d  UcN  [
        R                  R                  S5      =(       d(    [
        R                  R                  S5      =(       d    Un[        X R                  5      n[        X0R                  5      n[        X@R                  5      n[        XPR                  5      nX#XES.$ )zF
Check the environment and merge it with some settings.

:rtype: dict
NÚno_proxy)r%  TÚREQUESTS_CA_BUNDLEÚCURL_CA_BUNDLE)r€   r|   r~   r   )rP   rE   r(   r8   rú   ÚosÚenvironrB   r€   r|   r~   r   )
rU   r‚   r€   r|   r~   r   r%  Úenv_proxiesr=   r>   s
             rA   ró   Ú"Session.merge_environment_settings?  sÙ   € ð �>�>à29Ñ2E�w—{‘{ :Ô.È4ˆHÜ-¨cÑEˆKØÑ"Ø'×-Ñ-Ö/‘D�AØ×&Ñ& qÖ,ñ 0ð
 ˜Š~ ¡ä—J‘J—N‘NÐ#7Ó8÷ Ü—z‘z—~‘~Ð&6Ó7÷àð ô   ¯©Ó6ˆÜ˜v§{¡{Ó3ˆÜ˜v§{¡{Ó3ˆÜ˜T§9¡9Ó-ˆà"ÀÑUÐUrI   c                óÒ   • U R                   R                  5        H;  u  p#UR                  5       R                  UR                  5       5      (       d  M9  Us  $    [	        SU< 35      e)zf
Returns the appropriate connection adapter for the given URL.

:rtype: requests.adapters.BaseAdapter
z&No connection adapters were found for )r×   r8   ÚlowerrŒ   r   )rU   r‚   Úprefixr  s       rA   r  ÚSession.get_adapterf  sT   € ð  $Ÿ}™}×2Ñ2Ö4‰OˆFØ�y‰y‹{×%Ñ% f§l¡l£n×5Ó5Ø’ñ  5ô
 ÐDÀSÁGÐLÓMÐMrI   c                óf   • U R                   R                  5        H  nUR                  5         M     g)z+Closes all adapters and as such the sessionN)r×   Úvaluesr‹   )rU   r>   s     rA   r‹   ÚSession.closes  s"   € à—‘×%Ñ%Ö'ˆAØ�G‰GŽIò (rI   c                óø   • X R                   U'   U R                    Vs/ s H  n[        U5      [        U5      :  d  M  UPM!     nnU H+  nU R                   R                  U5      U R                   U'   M-     gs  snf )zgRegisters a connection adapter to a prefix.

Adapters are sorted in descending order by prefix length.
N)r×   rŠ   r•   )rU   r.  r  r=   Úkeys_to_mover@   s         rA   rÚ   ÚSession.mountx  sd   € ð
 !(�‰�fÑØ#'§=¢=ÓI¢=˜a´C¸³F¼SÀ»[Ñ4HŸ¡=ˆÐIãˆCØ!%§¡×!2Ñ!2°3Ó!7ˆD�M‰M˜#Óò  ùò Js
   �A7½A7c           	     ó\   • U R                    Vs0 s H  o[        XS 5      _M     nnU$ s  snf rS   )rØ   Úgetattr)rU   ÚattrÚstates      rA   Ú__getstate__ÚSession.__getstate__ƒ  s/   € Ø=A¿^º^ÓLº^°T”w˜t¨4Ó0Ò0¹^ˆÐLØˆùò Ms   �)c                óN   • UR                  5        H  u  p#[        XU5        M     g rS   )r8   Úsetattr)rU   r9  r8  Úvalues       rA   Ú__setstate__ÚSession.__setstate__‡  s   € Ø Ÿ;™;ž=‰KˆDÜ�D Ö&ò )rI   )r×   rÔ   r   rQ   r_   rÕ   rN   rÖ   r€   r|   rP   r~   )rÃ   rÉ   )rÃ   r0   )râ   r
   rÃ   rÉ   )rV   r!   rÃ   r    )NNNNNNNTNNNNNN)"r½   rÄ   r‚   ræ   rÖ   ú_t.ParamsTyperè   ú_t.DataTyper_   z_t.HeadersTyperQ   z5RequestsCookieJar | CookieJar | dict[str, str] | Nonerç   z_t.FilesTyperÔ   rÓ   r}   rÅ   r�   rO   r€   rÈ   rÕ   z_t.HooksInputType | Noner|   úbool | Noner~   ú_t.VerifyType | Noner   rÇ   ré   ú_t.JsonTyperÃ   r"   rS   )r‚   ræ   rÖ   rA  rW   zUnpack[_t.GetKwargs]rÃ   r"   )r‚   ræ   rW   zUnpack[_t.RequestKwargs]rÃ   r"   r³   )
r‚   ræ   rè   rB  ré   rE  rW   zUnpack[_t.PostKwargs]rÃ   r"   )r‚   ræ   rè   rB  rW   zUnpack[_t.DataKwargs]rÃ   r"   rÂ   )r‚   rÄ   r€   rÈ   r|   rC  r~   rD  r   rÇ   rÃ   údict[str, Any])r‚   rÄ   rÃ   r3   )r.  rÄ   r  r3   rÃ   rÉ   )rÃ   rF  )r9  rF  rÃ   rÉ   )rË   rÌ   rÍ   rÎ   Ú__doc__rÏ   rØ   rÜ   rß   rã   rî   rV   rE   rÿ   r  r  r  r  r  rX   ró   r  r‹   rÚ   r:  r?  rÐ   rT   rI   rA   rÒ   rÒ   ‹  s£  ‡ ñð$ &Ó%Ø
ÓØÓØ'Ó'Ø$Ó$ØƒLØÓØ
ÓØÓØƒOØÓØ.Ó.ò€Iˆyó ô=-ô~ôô,ðd !%Ø Ø"&ØIMØ"Ø Ø"&Ø $Ø)-Ø*.Ø"Ø'+Ø Ø ð#`àð`ð ð`ð ð	`ð
 ð`ð  ð`ð Gð`ð ð`ð ð`ð  ð`ð ð`ð 'ð`ð (ð`ð ð`ð %ð`ð  ð!`ð" ð#`ð$ 
õ%`ðJ !%ðAàðAð ðAð 'ð	Að
 
õAô$	6ô	3ð !Ø ð	IàðIð ðIð ð	Ið
 (ðIð 
õIð( 48ð=Øð=Ø%0ð=ØCXð=à	õ=ð 48ð?Øð?Ø%0ð?ØCXð?à	õ?ô5ôMð^%Vàð%Vð 'ð%Vð ð	%Vð
 %ð%Vð ð%Vð 
ô%VôNNôô
	8ô÷'rI   rÒ   c                 ó   • [        5       $ )a>  
Returns a :class:`Session` for context-management.

.. deprecated:: 1.0.0

    This method has been deprecated since version 1.0.0 and is only kept for
    backwards compatibility. New code should use :class:`~requests.sessions.Session`
    to create a session. This may be removed at a future date.

:rtype: Session
)rÒ   rT   rI   rA   ÚsessionrI  Œ  s   € ô ‹9ÐrI   )r9   r
   r:   r
   r;   ÚtyperÃ   r
   )rF   ú_t.HooksTyperG   rK  r;   rJ  rÃ   rK  )rÃ   rÒ   )QrG  Ú
__future__r   r(  ÚsysÚtimeÚcollectionsr   Úcollections.abcr   r   r   Údatetimer   Útypingr	   r
   r   Ú_internal_utilsr   r2   r   r¬   r×   r   rÔ   r   Úcompatr   r   r   rQ   r   r   r   r   Ú
exceptionsr   r   r   r   rÕ   r   r   Úmodelsr   r   r    r!   r"   Ústatus_codesr#   Ú
structuresr$   Úutilsr%   r&   r'   r(   r)   r*   r+   r,   r-   r.   Úhttp.cookiejarr/   Útyping_extensionsr0   r1   rw   Ú_tr3   ÚplatformÚperf_counterr  rB   rH   rK   rÒ   rI  rT   rI   rA   Ú<module>r_     s+  ðñõ #ã 	Û 
Û Ý #ß >Ñ >Ý ß +Ñ +å -Ý /Ý !Ý !ß 0Ñ 0÷ó ÷ó ÷ 0÷õ õ  Ý +÷÷ ÷ ö Ý(ç.åÝ%ð ‡<�<�7ÓØ×'Ñ'�Oà—i‘i€Oð DOðØðØ+.ðØ<@ðàõðF #ðCØðCàðCð ðCð õ	C÷&I)ñ I)ôX~'Ð"ô ~'õBrI   