Ë
    WV.jœ®  ã                  ó  — 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
Zd dlmZ d dlmZmZ ddlmZ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 ddlm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z& dd	l'm(Z( dd
l)m*Z* ddl+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6 ddl7m8Z8 ddl9m:Z:m;Z; g d¢Z<ddhZ=dd„Z>d d!d„Z?d d"d„Z@d#d„ZAd$d„ZB	 	 	 	 d%d„ZC G d„ de	jˆ                  eEeEf   «      ZF G d„ d«      ZG G d„ d«      ZH G d„ de	jˆ                  eEeEf   «      ZIy)&é    )ÚannotationsN)ÚMapping)ÚCookieÚ	CookieJaré   )Ú
ByteStreamÚUnattachedStreamÚencode_requestÚencode_response)ÚSUPPORTED_DECODERSÚByteChunkerÚContentDecoderÚIdentityDecoderÚLineDecoderÚMultiDecoderÚTextChunkerÚTextDecoder)ÚCookieConflictÚHTTPStatusErrorÚRequestNotReadÚResponseNotReadÚStreamClosedÚStreamConsumedÚrequest_context)Ú(get_multipart_boundary_from_content_type)Úcodes)ÚAsyncByteStreamÚCookieTypesÚHeaderTypesÚQueryParamTypesÚRequestContentÚRequestDataÚRequestExtensionsÚRequestFilesÚResponseContentÚResponseExtensionsÚSyncByteStream)ÚURL)Úto_bytes_or_strÚto_str)ÚCookiesÚHeadersÚRequestÚResponseÚauthorizationzproxy-authorizationc                óN   — 	 t        j                  | «       y# t        $ r Y yw xY w)z7
    Return `True` if `encoding` is a known codec.
    FT)ÚcodecsÚlookupÚLookupError©Úencodings    úOC:\xampp\htdocs\tradingbinance\backend\.venv\Lib\site-packages\httpx/_models.pyÚ_is_known_encodingr7   8   s,   € ðÜ�‰�hÔð øô ò Ùðús   ‚ ˜	$£$c                óP   — t        | t        «      r| S | j                  |xs d«      S )zE
    Coerce str/bytes into a strictly byte-wise HTTP header key.
    Úascii)Ú
isinstanceÚbytesÚencode)Úkeyr5   s     r6   Ú_normalize_header_keyr>   C   s&   € ô ˜S¤%Ô(ˆ3ÐM¨c¯j©j¸Ò9LÀWÓ.MÐMó    c                óž   — t        | t        «      r| S t        | t        «      st        dt	        | «      › �«      ‚| j                  |xs d«      S )zG
    Coerce str/bytes into a strictly byte-wise HTTP header value.
    z'Header value must be str or bytes, not r9   )r:   r;   ÚstrÚ	TypeErrorÚtyper<   )Úvaluer5   s     r6   Ú_normalize_header_valuerE   J   sH   € ô �%œÔØˆÜ�eœSÔ!ÜÐAÄ$ÀuÃ+ÀÐOÓPÐPØ�<‰<˜Ò+ GÓ,Ð,r?   c                ól   — t         j                  j                  «       }| |d<   |j                  d ¬«      S )Núcontent-type)Úfailobj)ÚemailÚmessageÚMessageÚget_content_charset)Úcontent_typeÚmsgs     r6   Ú_parse_content_type_charsetrO   U   s4   € ô �-‰-×
Ñ
Ó
!€CØ&€CˆÑØ×"Ñ"¨4Ð"Ó0Ð0r?   c                óÄ  — g }d}| j                  |«      } | s|S t        j                  d| «      D ]Š  }	 |j                  dd«      \  }}d|j                  d«      i}|j                  d«      D ]:  }	 |j                  d«      \  }} | j                  |«      ||j                  |«      <   Œ< |j	                  |«       ŒŒ |S # t        $ r |d}}Y Œ…w xY w# t        $ r Y  Œ4w xY w)	a7  
    Returns a list of parsed link headers, for more info see:
    https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Link
    The generic syntax of those is:
    Link: < uri-reference >; param1=value1; param2="value2"
    So for instance:
    Link; '<http:/.../front.jpeg>; type="image/jpeg",<http://.../back.jpeg>;'
    would return
        [
            {"url": "http:/.../front.jpeg", "type": "image/jpeg"},
            {"url": "http://.../back.jpeg"},
        ]
    :param value: HTTP Link entity-header field
    :return: list of parsed link headers
    z '"z, *<Ú;r   Ú Úurlz<> '"Ú=)ÚstripÚreÚsplitÚ
ValueErrorÚappend)	rD   ÚlinksÚreplace_charsÚvalrS   ÚparamsÚlinkÚparamr=   s	            r6   Ú_parse_header_linksr`   ]   sñ   € ð  #%€EØ€MØ�K‰K˜Ó&€EÙØˆÜ�x‰x˜ Ö&ˆð	"ØŸ)™) C¨Ó+‰KˆC�ð �s—y‘y Ó*Ð+ˆØ—\‘\ #Ö&ˆEðØ"Ÿ[™[¨Ó-‘
��Uð .3¯[©[¸Ó-GˆD�—‘˜=Ó)Ò*ð 'ð 	�‰�TÕð 'ð €Løô ò 	"Ø˜r�ŠCð	"ûô ò Úðús#   ´B?Á1CÂ?CÃCÃ	CÃCc              #  ó„   K  — | D ]7  \  }}t        |j                  «       «      t        v rt        d|¬«      }||f–— Œ9 y ­w)Nz[secure])Úmatch_type_of)r*   ÚlowerÚSENSITIVE_HEADERSr)   )ÚitemsÚkÚvs      r6   Ú_obfuscate_sensitive_headersrh   ‚   s?   è ø€ ó ‰ˆˆ1Ü�!—'‘'“)ÓÔ 1Ñ1Ü 
¸!Ô<ˆAØ�ˆd‹
ñ ùs   ‚>A c                  óø   — e Zd ZdZ	 	 d	 	 	 	 	 dd„Zedd„«       Zej                  dd„«       Zedd„«       Zdd„Z	dd„Z
dd	„Zdd
„Zd d!d„Zd"d#d„Zd d$d„Zd%d„Zd&d„Zd'd„Zd(d„Zd)d„Zd*d„Zd+d„Zd,d„Zdd„Zy)-r,   z9
    HTTP headers, as a case-insensitive multi-dict.
    Nc                ó  — g | _         t        |t        «      r"t        |j                   «      | _         || _
        y t        |t        «      rd|j                  «       D ]I  \  }}t        ||«      }t        ||«      }| j                   j                  ||j                  «       |f«       ŒK || _
        y |�N|D ]I  \  }}t        ||«      }t        ||«      }| j                   j                  ||j                  «       |f«       ŒK || _
        y ©N)Ú_listr:   r,   Úlistr   re   r>   rE   rY   rc   Ú	_encoding)ÚselfÚheadersr5   rf   rg   Ú	bytes_keyÚbytes_values          r6   Ú__init__zHeaders.__init__�   sæ   € ð
 ˆŒ
ä�gœwÔ'Ü˜gŸm™mÓ,ˆDŒJð "ˆ�ô ˜¤Ô)ØŸ™ž‘��1Ü1°!°XÓ>�	Ü5°a¸ÓB�Ø—
‘
×!Ñ! 9¨i¯o©oÓ.?ÀÐ"MÕNð (ð "ˆ�ð Ð Û‘��1Ü1°!°XÓ>�	Ü5°a¸ÓB�Ø—
‘
×!Ñ! 9¨i¯o©oÓ.?ÀÐ"MÕNð  ð
 "ˆ�r?   c                ó  — | j                   €XdD ]L  }| j                  D ](  \  }}	 |j                  |«       |j                  |«       Œ* || _          | j                   S  d| _         | j                   S # t        $ r Y  Œnw xY w)zn
        Header encoding is mandated as ascii, but we allow fallbacks to utf-8
        or iso-8859-1.
        )r9   úutf-8z
iso-8859-1)rn   ÚrawÚdecodeÚUnicodeDecodeError)ro   r5   r=   rD   s       r6   r5   zHeaders.encoding¦   s†   € ð �>‰>Ð!Û.�Ø"&§(¤(‘J�C˜ðØŸ
™
 8Ô,ØŸ™ XÕ.ð #+ð &.�D”NØð
 �~‰~Ðð! /ð ".�”Ø�~‰~Ðøô .ò Úðús   ¥"A1Á1	A>Á=A>c                ó   — || _         y rk   )rn   ©ro   rD   s     r6   r5   zHeaders.encoding¿   s	   € àˆ�r?   c                óX   — | j                   D ���cg c]
  \  }}}||f‘Œ c}}}S c c}}}w )zH
        Returns a list of the raw header items, as byte pairs.
        )rl   )ro   Úraw_keyÚ_rD   s       r6   rv   zHeaders.rawÃ   s,   € ð
 ;?¿*º*ÕE¹*Ñ%6 W¨a°�˜%Ò ¸*ÓEÐEùÔEs   ‘%c                ó¤   — | j                   D ���ci c]"  \  }}}|j                  | j                  «      d “Œ$ c}}}j                  «       S c c}}}w rk   )rl   rw   r5   Úkeys©ro   r}   r=   rD   s       r6   r   zHeaders.keysÊ   s?   € ØEIÇZÂZÕPÁZ±M°A°s¸E�—
‘
˜4Ÿ=™=Ó)¨4Ñ/ÀZÓP×UÑUÓWÐWùÔPs   ‘'Ac                óð   — i }| j                   D ]V  \  }}}|j                  | j                  «      }|j                  | j                  «      }||v r||xx   d|› �z  cc<   ŒR|||<   ŒX |j                  «       S )Nú, )rl   rw   r5   Úvalues©ro   Úvalues_dictr}   r=   rD   Ústr_keyÚ	str_values          r6   rƒ   zHeaders.valuesÍ   sy   € Ø&(ˆØ!ŸZœZ‰MˆAˆs�EØ—j‘j §¡Ó/ˆGØŸ™ T§]¡]Ó3ˆIØ˜+Ñ%Ø˜GÓ$¨"¨Y¨KÐ(8Ñ8Ô$à'0�˜GÒ$ð (ð ×!Ñ!Ó#Ð#r?   c                óð   — i }| j                   D ]V  \  }}}|j                  | j                  «      }|j                  | j                  «      }||v r||xx   d|› �z  cc<   ŒR|||<   ŒX |j                  «       S )z›
        Return `(key, value)` items of headers. Concatenate headers
        into a single comma separated value when a key occurs multiple times.
        r‚   )rl   rw   r5   re   r„   s          r6   re   zHeaders.itemsØ   s{   € ð
 ')ˆØ!ŸZœZ‰MˆAˆs�EØ—j‘j §¡Ó/ˆGØŸ™ T§]¡]Ó3ˆIØ˜+Ñ%Ø˜GÓ$¨"¨Y¨KÐ(8Ñ8Ô$à'0�˜GÒ$ð (ð × Ñ Ó"Ð"r?   c           	     ó¼   — | j                   D ���cg c]<  \  }}}|j                  | j                  «      |j                  | j                  «      f‘Œ> c}}}S c c}}}w )z¹
        Return a list of `(key, value)` pairs of headers. Allow multiple
        occurrences of the same key without concatenating into a single
        comma separated value.
        )rl   rw   r5   r€   s       r6   Úmulti_itemszHeaders.multi_itemsç   sR   € ð "&§¢õ
á!+‘��3˜ð �Z‰Z˜Ÿ™Ó&¨¯©°T·]±]Ó(CÒDØ!+ó
ð 	
ùô 
s   ‘AAc                ó0   — 	 | |   S # t         $ r |cY S w xY w)zˆ
        Return a header value. If multiple occurrences of the header occur
        then concatenate them together with commas.
        )ÚKeyError)ro   r=   Údefaults      r6   ÚgetzHeaders.getò   s%   € ð
	Ø˜‘9ÐøÜò 	ØŠNð	ús   ‚ ‡”c                óœ  — |j                  «       j                  | j                  «      }| j                  D ���cg c]4  \  }}}|j                  «       |k(  r|j	                  | j                  «      ‘Œ6 }}}}|s|S g }|D ]>  }	|j                  |	j                  d«      D �
cg c]  }
|
j                  «       ‘Œ c}
«       Œ@ |S c c}}}w c c}
w )zÆ
        Return a list of all header values for a given key.
        If `split_commas=True` is passed, then any comma separated header
        values are split into multiple return strings.
        Ú,)rc   r<   r5   rl   rw   ÚextendrW   rU   )ro   r=   Úsplit_commasÚget_header_keyr}   Úitem_keyÚ
item_valuerƒ   Úsplit_valuesrD   Úitems              r6   Úget_listzHeaders.get_listü   sÁ   € ð Ÿ™›×+Ñ+¨D¯M©MÓ:ˆð ,0¯:ª:õ
á+5Ñ'��8˜ZØ�~‰~Ó >Ò1ð ×Ñ˜dŸm™mÕ,Ø+5ð 	ò 
ñ ØˆMàˆÛˆEØ×Ñ¸%¿+¹+ÀcÔ:JÓ KÑ:J°$ §¡¥Ð:JÑ KÕLð àÐùô
ùò !Ls   º9CÂ C	
c                óº   — t        |«      }|j                  «       D ]  }|| v sŒ| j                  |«       Œ | j                  j	                  |j                  «       y rk   )r,   r   Úpoprl   r‘   )ro   rp   r=   s      r6   ÚupdatezHeaders.update  sF   € Ü˜'Ó"ˆØ—<‘<–>ˆCØ�dŠ{Ø—‘˜•ð "ð 	�
‰
×Ñ˜'Ÿ-™-Õ(r?   c                ó0   — t        | | j                  ¬«      S )Nr4   )r,   r5   ©ro   s    r6   ÚcopyzHeaders.copy  s   € Ü�t d§m¡mÔ4Ð4r?   c                ó  — |j                  «       j                  | j                  «      }| j                  D ���cg c]&  \  }}}||k(  r|j	                  | j                  «      ‘Œ( }}}}|rdj                  |«      S t        |«      ‚c c}}}w )zÎ
        Return a single header value.

        If there are multiple headers with the same key, then we concatenate
        them with commas. See: https://tools.ietf.org/html/rfc7230#section-3.2.2
        r‚   )rc   r<   r5   rl   rw   ÚjoinrŒ   )ro   r=   Únormalized_keyr}   Ú
header_keyÚheader_valuere   s          r6   Ú__getitem__zHeaders.__getitem__  s…   € ð Ÿ™›×+Ñ+¨D¯M©MÓ:ˆð 04¯zªzõ
á/9Ñ+��:˜|Ø˜^Ò+ð ×Ñ §¡Õ.Ø/9ð 	ò 
ñ Ø—9‘9˜UÓ#Ð#ä�s‹mÐùô
s   º+Bc                óÂ  — |j                  | j                  xs d«      }|j                  | j                  xs d«      }|j                  «       }t        | j                  «      D ���cg c]  \  }\  }}}||k(  r|‘Œ }	}}}t        |	dd «      D ]  }| j                  |= Œ |	r|	d   }|||f| j                  |<   y| j                  j                  |||f«       yc c}}}w )zs
        Set the header `key` to `value`, removing any duplicate entries.
        Retains insertion order.
        ru   r   Nr   )r<   rn   rc   Ú	enumeraterl   ÚreversedrY   )
ro   r=   rD   Úset_keyÚ	set_valueÚ
lookup_keyÚidxr}   r”   Úfound_indexess
             r6   Ú__setitem__zHeaders.__setitem__0  sà   € ð
 —*‘*˜TŸ^™^Ò6¨wÓ7ˆØ—L‘L §¡Ò!:°7Ó;ˆ	Ø—]‘]“_ˆ
ô *3°4·:±:Ô)>õ
á)>Ñ%�Ñ%�a˜ 1Ø˜:Ò%ò Ø)>ð 	ò 
ô ˜M¨!¨"Ð-Ö.ˆCØ—
‘
˜3‘ð /ñ Ø Ñ"ˆCØ&¨
°IÐ>ˆD�J‰J�sŠOà�J‰J×Ñ˜w¨
°IÐ>Õ?ùô
s   Á(Cc                ó8  — |j                  «       j                  | j                  «      }t        | j                  «      D ���cg c]  \  }\  }}}|j                  «       |k(  r|‘Œ  }}}}|st        |«      ‚t        |«      D ]  }| j                  |= Œ yc c}}}w )z*
        Remove the header `key`.
        N)rc   r<   r5   r¦   rl   rŒ   r§   )ro   r=   Údel_keyr«   r}   r”   Úpop_indexess          r6   Ú__delitem__zHeaders.__delitem__H  s’   € ð —)‘)“+×$Ñ$ T§]¡]Ó3ˆô *3°4·:±:Ô)>õ
á)>Ñ%�Ñ%�a˜ 1Ø�~‰~Ó 7Ò*ò Ø)>ð 	ò 
ñ Ü˜3“-Ðä˜KÖ(ˆCØ—
‘
˜3‘ñ )ùô
s   Á#Bc                ó¤   — |j                  «       j                  | j                  «      }|| j                  D ��cg c]  \  }}}|‘Œ
 c}}v S c c}}w rk   )rc   r<   r5   rl   )ro   r=   r¢   r}   s       r6   Ú__contains__zHeaders.__contains__Z  sC   € Ø—Y‘Y“[×'Ñ'¨¯©Ó6ˆ
Ø°4·:²:Ô>±:¡i a¨¨ašc°:Ò>Ð>Ð>ùÓ>s   ºAc                ó4   — t        | j                  «       «      S rk   )Úiterr   r�   s    r6   Ú__iter__zHeaders.__iter__^  s   € Ü�D—I‘I“KÓ Ð r?   c                ó,   — t        | j                  «      S rk   )Úlenrl   r�   s    r6   Ú__len__zHeaders.__len__a  s   € Ü�4—:‘:‹Ðr?   c                ó  — 	 t        |«      }| j                  D ���cg c]
  \  }}}||f‘Œ }}}}|j                  D ���cg c]
  \  }}}||f‘Œ }}}}t        |«      t        |«      k(  S # t        $ r Y yw xY wc c}}}w c c}}}w )NF)r,   rX   rl   Úsorted)ro   ÚotherÚother_headersr}   r=   rD   Ú	self_listÚ
other_lists           r6   Ú__eq__zHeaders.__eq__d  s‹   € ð	Ü# E›NˆMð 8<·z²zÕB±z¡m a¨¨e�c˜5’\°zˆ	ÒBØ8E×8KÒ8KÕLÑ8K¡} q¨#¨u�s˜E’lÐ8Kˆ
ÒLÜ�iÓ ¤F¨:Ó$6Ñ6Ð6øô ò 	Ùð	üô CùÜLs   ‚A* �A9Á B Á*	A6Á5A6c                ó"  — | j                   j                  }d}| j                  dk7  rd| j                  ›�}t        t	        | j                  «       «      «      }t        |«      }t        |«      t        |«      k(  }|r
|› d|›|› d�S |› d|›|› d�S )NrR   r9   z, encoding=Ú(Ú))Ú	__class__Ú__name__r5   rm   rh   rŠ   Údictr¸   )ro   Ú
class_nameÚencoding_strÚas_listÚas_dictÚno_duplicate_keyss         r6   Ú__repr__zHeaders.__repr__n  s™   € Ø—^‘^×,Ñ,ˆ
àˆØ�=‰=˜GÒ#Ø(¨¯©Ð(9Ð:ˆLäÔ3°D×4DÑ4DÓ4FÓGÓHˆÜ�w“-ˆä ›L¬C°«LÑ8ÐÙØ �\  7 +¨l¨^¸1Ð=Ð=Ø�˜Q˜w˜k¨,¨°qÐ9Ð9r?   ©NN)rp   úHeaderTypes | Noner5   ú
str | NoneÚreturnÚNone©rÐ   rA   ©rD   rA   rÐ   rÑ   )rÐ   zlist[tuple[bytes, bytes]])rÐ   ztyping.KeysView[str])rÐ   ztyping.ValuesView[str])rÐ   ztyping.ItemsView[str, str])rÐ   zlist[tuple[str, str]]rk   )r=   rA   r�   ú
typing.AnyrÐ   rÔ   )F)r=   rA   r’   ÚboolrÐ   z	list[str])rp   rÎ   rÐ   rÑ   )rÐ   r,   )r=   rA   rÐ   rA   ©r=   rA   rD   rA   rÐ   rÑ   )r=   rA   rÐ   rÑ   )r=   rÔ   rÐ   rÕ   )rÐ   ztyping.Iterator[typing.Any]©rÐ   Úint)r¼   rÔ   rÐ   rÕ   )rÅ   Ú
__module__Ú__qualname__Ú__doc__rs   Úpropertyr5   Úsetterrv   r   rƒ   re   rŠ   rŽ   r˜   r›   rž   r¤   r­   r±   r³   r¶   r¹   rÀ   rÌ   © r?   r6   r,   r,   ‹   sÄ   „ ñð '+Ø#ð"à#ð"ð ð"ð 
ó	"ð, òó ðð0 ‡_�_òó ðð òFó ðFóXó	$ó#ó	
ôôô,)ó5óó(@ó0 ó$?ó!óó7ô:r?   r,   c            
      óš   — e Zd Zddddddddddœ		 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd„Zdd„Zedd„«       Zdd„Zdd„Zdd„Z	dd	„Z
dd
„Zy)r-   N)	r]   rp   ÚcookiesÚcontentÚdataÚfilesÚjsonÚstreamÚ
extensionsc       	        ó0  — |j                  «       | _        |€t        |«      nt        ||¬«      | _        t	        |«      | _        |€i n
t        |«      | _        |rt        |«      j                  | «       |
€™| j
                  j                  d«      }t        ||||	t        |r%|j                  | j
                  j                  «      nd ¬«      ¬«      \  }}
| j                  |«       |
| _        t#        |
t$        «      r| j'                  «        y y |
| _        y )N)r]   rG   )rM   )rá   râ   rã   rä   Úboundary)ÚupperÚmethodr(   rS   r,   rp   rÆ   ræ   r+   Úset_cookie_headerrŽ   r
   r   r<   r5   Ú_preparerå   r:   r   Úread)ro   rê   rS   r]   rp   rà   rá   râ   rã   rä   rå   ræ   rM   s                r6   rs   zRequest.__init__  sï   € ð —l‘l“nˆŒØ%˜~”3�s”8´3°sÀ6Ô3JˆŒÜ˜wÓ'ˆŒØ *Ð 2™"¼¸ZÓ8HˆŒáÜ�GÓ×.Ñ.¨tÔ4àˆ>Ø'+§|¡|×'7Ñ'7¸Ó'GˆLÜ,ØØØØÜAá#ð ".×!4Ñ!4°T·\±\×5JÑ5JÔ!Kàôô
‰OˆG�Vð �M‰M˜'Ô"Ø ˆDŒKä˜&¤*Ô-Ø—	‘	•ð .ð" !ˆD�Kr?   c                ó  — |j                  «       D ]C  \  }}|j                  «       dk(  rd| j                  v rŒ(| j                  j                  ||«       ŒE g }d| j                  v }d| j                  v xs d| j                  v }|s=| j                  j
                  r'|j                  d| j                  j                  f«       |s| j                  dv r|j                  d«       t        || j                  j                  z   «      | _        y )Nútransfer-encodingzContent-LengthÚHostzTransfer-Encodings   Host)ÚPOSTÚPUTÚPATCH)s   Content-Lengthó   0)re   rc   rp   Ú
setdefaultrS   ÚhostrY   Únetlocrê   r,   rv   )ro   Údefault_headersr=   rD   Úauto_headersÚhas_hostÚhas_content_lengths          r6   rì   zRequest._prepare¹  sã   € Ø)×/Ñ/Ö1‰JˆC�à�y‰y‹{Ð1Ò1Ð6FÈ$Ï,É,Ñ6VØØ�L‰L×#Ñ# C¨Õ/ð	 2ð 35ˆà˜TŸ\™\Ð)ˆà §¡Ð,ÒSÐ0CÀtÇ|Á|Ð0Sð 	ñ ˜DŸH™HŸMšMØ×Ñ ¨$¯(©(¯/©/Ð :Ô;Ù! d§k¡kÐ5MÑ&MØ×ÑÐ 9Ô:ä˜|¨d¯l©l×.>Ñ.>Ñ>Ó?ˆ�r?   c                óF   — t        | d«      s
t        «       ‚| j                  S ©NÚ_content)Úhasattrr   rþ   r�   s    r6   rá   zRequest.contentÎ  s   € ä�t˜ZÔ(Ü Ó"Ð"Ø�}‰}Ðr?   c                ó&  — t        | d«      szt        | j                  t        j                  «      sJ ‚dj                  | j                  «      | _        t        | j                  t        «      st        | j                  «      | _        | j                  S )ú6
        Read and return the request content.
        rþ   r?   )rÿ   r:   rå   ÚtypingÚIterabler    rþ   r   r�   s    r6   rí   zRequest.readÔ  sd   € ô �t˜ZÔ(Ü˜dŸk™k¬6¯?©?Ô;Ð;Ð;ØŸH™H T§[¡[Ó1ˆDŒMÜ˜dŸk™k¬:Ô6ô )¨¯©Ó7�”Ø�}‰}Ðr?   c              ƒ  ój  K  — t        | d«      sMt        | j                  t        j                  «      sJ ‚dj                  | j                  2 �cg c3 d{  –—† }|‘Œ| j                  S 7 Œ6 nc c}w c}«      | _        t        | j                  t        «      rŒ<t        | j                  «      | _        ŒW­w)r  rþ   r?   N)rÿ   r:   rå   r  ÚAsyncIterabler    rþ   r   ©ro   Úparts     r6   ÚareadzRequest.areadâ  s„   è ø€ ô �t˜ZÔ(Ü˜dŸk™k¬6×+?Ñ+?Ô@Ð@Ð@ØŸH™H¸T¿[º[×%IÓ%I°T¢dð �}‰}Ðð &JøÑ%IùÔ%IÓJˆDŒMÜ˜dŸk™k¬:Õ6ô )¨¯©Ó7�”úsB   ‚AB3ÁA,ÁA*
ÁA(ÁA*
ÁA,ÁB3Á(A*
Á*A,Á+,B3ÂB3c                ó„   — | j                   j                  }t        | j                  «      }d|› d| j                  ›d|›d�S )NÚ<rÂ   r‚   z)>)rÄ   rÅ   rA   rS   rê   )ro   rÇ   rS   s      r6   rÌ   zRequest.__repr__ð  s=   € Ø—^‘^×,Ñ,ˆ
Ü�$—(‘(‹mˆØ�:�,˜a §¡˜¨b°°°rÐ:Ð:r?   c                ór   — | j                   j                  «       D ��ci c]  \  }}|dvr||“Œ c}}S c c}}w )N)ræ   rå   ©Ú__dict__re   ©ro   ÚnamerD   s      r6   Ú__getstate__zRequest.__getstate__õ  sG   € ð  $Ÿ}™}×2Ñ2Ô4ô
á4‘��eØÐ3Ñ3ð �%‰KØ4ò
ð 	
ùó 
ó   ž3c                óz   — |j                  «       D ]  \  }}t        | ||«       Œ i | _        t        «       | _        y rk   )re   Úsetattrræ   r	   rå   ©ro   Ústater  rD   s       r6   Ú__setstate__zRequest.__setstate__ü  s3   € Ø Ÿ;™;ž=‰KˆD�%Ü�D˜$ Õ&ð )àˆŒÜ&Ó(ˆ�r?   )rê   rA   rS   z	URL | strr]   zQueryParamTypes | Nonerp   rÎ   rà   úCookieTypes | Nonerá   zRequestContent | Nonerâ   zRequestData | Nonerã   zRequestFiles | Nonerä   ztyping.Any | Nonerå   ú'SyncByteStream | AsyncByteStream | Noneræ   zRequestExtensions | NonerÐ   rÑ   ©rø   zdict[str, str]rÐ   rÑ   ©rÐ   r;   rÒ   ©rÐ   údict[str, typing.Any]©r  r  rÐ   rÑ   )rÅ   rÙ   rÚ   rs   rì   rÜ   rá   rí   r  rÌ   r  r  rÞ   r?   r6   r-   r-   ~  sÎ   „ ð *.Ø&*Ø&*Ø)-Ø#'Ø%)Ø"&Ø:>Ø/3ñ8!àð8!ð ð8!ð
 'ð8!ð $ð8!ð $ð8!ð 'ð8!ð !ð8!ð #ð8!ð  ð8!ð 8ð8!ð -ð8!ð 
ó8!ót@ð* òó ðó
óó;ó

ô)r?   r-   c                  óÞ  — e Zd Zdddddddddddœ
	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d.d„Zd/d„Zed0d„«       Zej                  d1d„«       Zed2d„«       Zej                  d3d	„«       Zed4d
„«       Z	ed4d„«       Z
ed5d„«       Zed6d„«       Zed4d„«       Zed7d„«       Zej                  d8d„«       Zed7d„«       Zd9d„Zed:d„«       Zed:d„«       Zed:d„«       Zed:d„«       Zed:d„«       Zed:d„«       Zed:d„«       Zd;d„Zd<d„Zed=d„«       Zed>d„«       Zed?d„«       Zd4d„Zd@d „ZdAd!„Zd6d"„Z dBdCd#„Z!dBdDd$„Z"dEd%„Z#dBdCd&„Z$dFd'„Z%d6d(„Z&	 dB	 	 	 dGd)„Z'	 dB	 	 	 dHd*„Z(dId+„Z)	 dB	 	 	 dGd,„Z*dFd-„Z+y)Jr.   Nru   )
rp   rá   ÚtextÚhtmlrä   rå   Úrequestræ   ÚhistoryÚdefault_encodingc       
        óŠ  — || _         t        |«      | _        || _        d | _        |	€i n
t        |	«      | _        |
€g n
t        |
«      | _        d| _	        d| _
        || _        |€Qt        ||||«      \  }}| j                  |«       || _        t        |t         «      r| j#                  «        d| _        y || _        d| _        y )NFr   )Ústatus_coder,   rp   Ú_requestÚnext_requestrÆ   ræ   rm   r"  Ú	is_closedÚis_stream_consumedr#  r   rì   rå   r:   r   rí   Ú_num_bytes_downloaded)ro   r%  rp   rá   r  r   rä   rå   r!  ræ   r"  r#  s               r6   rs   zResponse.__init__  s¾   € ð 'ˆÔÜ˜wÓ'ˆŒà(/ˆŒð -1ˆÔà *Ð 2™"¼¸ZÓ8HˆŒØ$˜_‘r´$°w³-ˆŒàˆŒØ"'ˆÔà 0ˆÔàˆ>Ü-¨g°t¸TÀ4ÓH‰OˆG�VØ�M‰M˜'Ô"Ø ˆDŒKÜ˜&¤*Ô-à—	‘	”ð &'ˆÕ"ð !ˆDŒKà%&ˆÕ"r?   c                ó°   — |j                  «       D ]C  \  }}|j                  «       dk(  rd| j                  v rŒ(| j                  j                  ||«       ŒE y )Nrï   zcontent-length)re   rc   rp   rõ   )ro   rø   r=   rD   s       r6   rì   zResponse._prepare;  sK   € Ø)×/Ñ/Ö1‰JˆC�à�y‰y‹{Ð1Ò1Ð6FÈ$Ï,É,Ñ6VØØ�L‰L×#Ñ# C¨Õ/ñ	 2r?   c                óH   — t        | d«      st        d«      ‚| j                  S )ze
        Returns the time taken for the complete request/response
        cycle to complete.
        Ú_elapsedzK'.elapsed' may only be accessed after the response has been read or closed.)rÿ   ÚRuntimeErrorr-  r�   s    r6   ÚelapsedzResponse.elapsedB  s,   € ô �t˜ZÔ(Üð+óð ð �}‰}Ðr?   c                ó   — || _         y rk   )r-  )ro   r/  s     r6   r/  zResponse.elapsedO  s	   € àˆ�r?   c                óH   — | j                   €t        d«      ‚| j                   S )zR
        Returns the request instance associated to the current response.
        z7The request instance has not been set on this response.)r&  r.  r�   s    r6   r!  zResponse.requestS  s*   € ð
 �=‰=Ð ÜØIóð ð �}‰}Ðr?   c                ó   — || _         y rk   )r&  rz   s     r6   r!  zResponse.request^  s	   € àˆ�r?   c                óf   — 	 | j                   d   }|j                  dd¬«      S # t        $ r Y yw xY w)NÚhttp_versionr9   Úignore©ÚerrorszHTTP/1.1)ræ   rw   rŒ   )ro   r4  s     r6   r4  zResponse.http_versionb  sB   € ð	AØ"&§/¡/°.Ñ"AˆLð  ×&Ñ& w°xÐ&Ó@Ð@øô ò 	Ùð	ús   ‚$ ¤	0¯0c                ó¤   — 	 | j                   d   }|j                  dd¬«      S # t        $ r" t        j                  | j
                  «      cY S w xY w)NÚreason_phraser9   r5  r6  )ræ   rw   rŒ   r   Úget_reason_phraser%  )ro   r9  s     r6   r9  zResponse.reason_phrasek  sV   € ð	BØ#'§?¡?°?Ñ#CˆMð !×'Ñ'¨¸Ð'ÓAÐAøô ò 	=Ü×*Ñ*¨4×+;Ñ+;Ó<Ò<ð	=ús   ‚$ ¤(AÁAc                ó.   — | j                   j                  S )zA
        Returns the URL for which the request was made.
        )r!  rS   r�   s    r6   rS   zResponse.urlt  s   € ð
 �|‰|×ÑÐr?   c                óF   — t        | d«      s
t        «       ‚| j                  S rý   )rÿ   r   rþ   r�   s    r6   rá   zResponse.content{  s   € ä�t˜ZÔ(Ü!Ó#Ð#Ø�}‰}Ðr?   c                ó&  — t        | d«      sz| j                  }|sd| _        | j                  S t        | j                  xs d¬«      }dj                  |j                  | j                  «      |j                  «       g«      | _        | j                  S )NÚ_textrR   ru   r4   )rÿ   rá   r>  r   r5   r    rw   Úflush)ro   rá   Údecoders      r6   r  zResponse.text�  sr   € ä�t˜WÔ%Ø—l‘lˆGÙØ�”
ð �z‰zÐô &¨t¯}©}Ò/GÀÔH�ØŸW™W g§n¡n°T·\±\Ó&BÀGÇMÁMÃOÐ%TÓU�”
Ø�z‰zÐr?   c                ó  — t        | d«      sr| j                  }|�t        |«      sNt        | j                  t
        «      r| j                  }n't        | d«      r| j	                  | j                  «      }|xs d| _        | j                  S )aï  
        Return an encoding to use for decoding the byte content into text.
        The priority for determining this is given by...

        * `.encoding = <>` has been set explicitly.
        * The encoding as specified by the charset parameter in the Content-Type header.
        * The encoding as determined by `default_encoding`, which may either be
          a string like "utf-8" indicating the encoding to use, or may be a callable
          which enables charset autodetection.
        rn   rþ   ru   )rÿ   Úcharset_encodingr7   r:   r#  rA   rþ   rn   )ro   r5   s     r6   r5   zResponse.encodingŒ  sv   € ô �t˜[Ô)Ø×,Ñ,ˆHØÐÔ'9¸(Ô'CÜ˜d×3Ñ3´SÔ9Ø#×4Ñ4‘HÜ˜T :Ô.Ø#×4Ñ4°T·]±]ÓC�HØ%Ò0¨ˆDŒNØ�~‰~Ðr?   c                ó@   — t        | d«      rt        d«      ‚|| _        y)zÆ
        Set the encoding to use for decoding the byte content into text.

        If the `text` attribute has been accessed, attempting to set the
        encoding will throw a ValueError.
        r>  z?Setting encoding after `text` has been accessed is not allowed.N)rÿ   rX   rn   rz   s     r6   r5   zResponse.encoding¢  s'   € ô �4˜Ô!ÜØQóð ð ˆ�r?   c                óT   — | j                   j                  d«      }|€yt        |«      S )zO
        Return the encoding, as specified by the Content-Type header.
        zContent-TypeN)rp   rŽ   rO   )ro   rM   s     r6   rB  zResponse.charset_encoding°  s,   € ð
 —|‘|×'Ñ'¨Ó7ˆØÐØä*¨<Ó8Ð8r?   c                óÔ  — t        | d«      sÂg }| j                  j                  dd¬«      }|D ]@  }|j                  «       j	                  «       }	 t
        |   }|j                   |«       «       ŒB t        |«      dk(  r|d   | _	        | j                  S t        |«      dkD  rt        |¬«      | _	        | j                  S t        «       | _	        | j                  S # t        $ r Y Œ¸w xY w)zž
        Returns a decoder instance which can be used to decode the raw byte
        content, depending on the Content-Encoding used in the response.
        Ú_decoderzcontent-encodingT)r’   r   r   )Úchildren)rÿ   rp   r˜   rU   rc   r   rY   rŒ   r¸   rF  r   r   )ro   Údecodersrƒ   rD   Údecoder_clss        r6   Ú_get_content_decoderzResponse._get_content_decoder»  sÝ   € ô
 �t˜ZÔ(Ø-/ˆHØ—\‘\×*Ñ*Ð+=ÈDÐ*ÓQˆFÛ�ØŸ™›×+Ñ+Ó-�ðÜ"4°UÑ";�KØ—O‘O¡K£MÕ2ð	  ô �8‹} Ò!Ø (¨¡�”ð �}‰}Ðô �X“ Ò"Ü ,°hÔ ?�”ð �}‰}Ðô !0Ó 1�”à�}‰}Ðøô  ò Ùðús   ÁCÃ	C'Ã&C'c                ó@   — t        j                  | j                  «      S )zU
        A property which is `True` for 1xx status codes, `False` otherwise.
        )r   Úis_informationalr%  r�   s    r6   rL  zResponse.is_informationalÔ  s   € ô
 ×%Ñ% d×&6Ñ&6Ó7Ð7r?   c                ó@   — t        j                  | j                  «      S )zU
        A property which is `True` for 2xx status codes, `False` otherwise.
        )r   Ú
is_successr%  r�   s    r6   rN  zResponse.is_successÛ  s   € ô
 ×Ñ × 0Ñ 0Ó1Ð1r?   c                ó@   — t        j                  | j                  «      S )a  
        A property which is `True` for 3xx status codes, `False` otherwise.

        Note that not all responses with a 3xx status code indicate a URL redirect.

        Use `response.has_redirect_location` to determine responses with a properly
        formed URL redirection.
        )r   Úis_redirectr%  r�   s    r6   rP  zResponse.is_redirectâ  s   € ô × Ñ  ×!1Ñ!1Ó2Ð2r?   c                ó@   — t        j                  | j                  «      S )zU
        A property which is `True` for 4xx status codes, `False` otherwise.
        )r   Úis_client_errorr%  r�   s    r6   rR  zResponse.is_client_errorî  ó   € ô
 ×$Ñ$ T×%5Ñ%5Ó6Ð6r?   c                ó@   — t        j                  | j                  «      S )zU
        A property which is `True` for 5xx status codes, `False` otherwise.
        )r   Úis_server_errorr%  r�   s    r6   rU  zResponse.is_server_errorõ  rS  r?   c                ó@   — t        j                  | j                  «      S )z]
        A property which is `True` for 4xx and 5xx status codes, `False` otherwise.
        )r   Úis_errorr%  r�   s    r6   rW  zResponse.is_errorü  s   € ô
 �~‰~˜d×.Ñ.Ó/Ð/r?   c                óÔ   — | j                   t        j                  t        j                  t        j                  t        j
                  t        j                  fv xr d| j                  v S )zs
        Returns True for 3xx responses with a properly formed URL redirection,
        `False` otherwise.
        ÚLocation)r%  r   ÚMOVED_PERMANENTLYÚFOUNDÚ	SEE_OTHERÚTEMPORARY_REDIRECTÚPERMANENT_REDIRECTrp   r�   s    r6   Úhas_redirect_locationzResponse.has_redirect_location  sZ   € ð ×Ñô ×'Ñ'ä—‘ä—‘ä×(Ñ(ä×(Ñ(ððò +ð ˜dŸl™lÐ*ð	
r?   c                ó  — | j                   }|€t        d«      ‚| j                  r| S | j                  rd}nd}| j                  dz  }ddddd	œ}|j                  |d
«      }|j                  | |¬«      }t        ||| ¬«      ‚)z>
        Raise the `HTTPStatusError` if one occurred.
        zYCannot call `raise_for_status` as the request instance has not been set on this response.zÒ{error_type} '{0.status_code} {0.reason_phrase}' for url '{0.url}'
Redirect location: '{0.headers[location]}'
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/{0.status_code}z§{error_type} '{0.status_code} {0.reason_phrase}' for url '{0.url}'
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/{0.status_code}éd   zInformational responsezRedirect responsezClient errorzServer error)r   é   é   é   zInvalid status code)Ú
error_type)r!  Úresponse)r&  r.  rN  r_  r%  rŽ   Úformatr   )ro   r!  rJ   Ústatus_classÚerror_typesre  s         r6   Úraise_for_statuszResponse.raise_for_status  sª   € ð —-‘-ˆØˆ?Üð>óð ð
 �?Š?ØˆKà×%Ò%ðwñ ðwð ð
 ×'Ñ'¨3Ñ.ˆà'Ø"ØØñ	
ˆð !—_‘_ \Ð3HÓIˆ
Ø—.‘. °*�.Ó=ˆÜ˜g¨wÀÔFÐFr?   c                óB   — t        j                  | j                  fi |¤ŽS rk   )ÚjsonlibÚloadsrá   )ro   Úkwargss     r6   rä   zResponse.json?  s   € Ü�}‰}˜TŸ\™\Ñ4¨VÑ4Ð4r?   c                ó†   — t        | d«      s*t        «       | _        | j                  j                  | «       | j                  S )NÚ_cookies)rÿ   r+   rp  Úextract_cookiesr�   s    r6   rà   zResponse.cookiesB  s1   € ä�t˜ZÔ(Ü#›IˆDŒMØ�M‰M×)Ñ)¨$Ô/Ø�}‰}Ðr?   c                óÂ   — | j                   j                  d«      }|€i S t        |«      D �ci c]'  }|j                  d«      xs |j                  d«      |“Œ) c}S c c}w )zI
        Returns the parsed header links of the response, if any
        r^   ÚrelrS   )rp   rŽ   r`   )ro   Úheaderr^   s      r6   rZ   zResponse.linksI  sh   € ð
 —‘×!Ñ! &Ó)ˆØˆ>ØˆIô ,¨FÔ3ó
á3�ð �X‰X�e‹_Ò/ §¡¨£°$Ñ6Ø3ñ
ð 	
ùò 
s   ­,Ac                ó   — | j                   S rk   )r*  r�   s    r6   Únum_bytes_downloadedzResponse.num_bytes_downloadedW  s   € à×)Ñ)Ð)r?   c                ó<   — d| j                   › d| j                  › d�S )Nz<Response [Ú ú]>)r%  r9  r�   s    r6   rÌ   zResponse.__repr__[  s%   € Ø˜T×-Ñ-Ð.¨a°×0BÑ0BÐ/CÀ2ÐFÐFr?   c                ór   — | j                   j                  «       D ��ci c]  \  }}|dvr||“Œ c}}S c c}}w )N)ræ   rå   r(  rF  r  r  s      r6   r  zResponse.__getstate__^  sG   € ð  $Ÿ}™}×2Ñ2Ô4ô
á4‘��eØÐLÑLð �%‰KØ4ò
ð 	
ùó 
r  c                óˆ   — |j                  «       D ]  \  }}t        | ||«       Œ d| _        i | _        t	        «       | _        y )NT)re   r  r(  ræ   r	   rå   r  s       r6   r  zResponse.__setstate__e  s:   € Ø Ÿ;™;ž=‰KˆD�%Ü�D˜$ Õ&ð )àˆŒØˆŒÜ&Ó(ˆ�r?   c                óz   — t        | d«      s$dj                  | j                  «       «      | _        | j                  S )ú7
        Read and return the response content.
        rþ   r?   )rÿ   r    Ú
iter_bytesrþ   r�   s    r6   rí   zResponse.readl  s/   € ô �t˜ZÔ(ØŸH™H T§_¡_Ó%6Ó7ˆDŒMØ�}‰}Ðr?   c              #  ót  K  — t        | d«      r]|€t        | j                  «      n|}t        dt        | j                  «      t	        |d«      «      D ]  }| j                  |||z    –— Œ y| j                  «       }t        |¬«      }t        | j                  ¬«      5  | j                  «       D ]-  }|j                  |«      }|j                  |«      D ]  }|–— Œ Œ/ |j                  «       }|j                  |«      D ]  }|–— Œ |j                  «       D ]  }|–— Œ 	 ddd«       y# 1 sw Y   yxY w­w©z˜
        A byte-iterator over the decoded response content.
        This allows us to handle gzip, deflate, brotli, and zstd encoded responses.
        rþ   Nr   r   ©Ú
chunk_size©r!  )rÿ   r¸   rþ   ÚrangeÚmaxrJ  r   r   r&  Úiter_rawrw   r?  ©ro   r‚  Úir@  ÚchunkerÚ	raw_bytesÚdecodedÚchunks           r6   r~  zResponse.iter_bytest  s  è ø€ ô
 �4˜Ô$Ø/9Ð/Aœ˜TŸ]™]Ô+ÀzˆJÜ˜1œc $§-¡-Ó0´#°jÀ!Ó2DÖE�Ø—m‘m A¨¨J©Ð7Ó7ñ Fð ×/Ñ/Ó1ˆGÜ!¨ZÔ8ˆGÜ ¨¯©Ö7Ø!%§¡¦�IØ%Ÿn™n¨YÓ7�GØ!(§¡°Ö!8˜Ø#›ñ "9ð "1ð "Ÿ-™-›/�Ø$Ÿ^™^¨GÖ4�EØ“Kð 5à$Ÿ]™]ž_�EØ“Kñ -÷ 8×7Ñ7üs   ‚BD8ÂBD,Ä#	D8Ä,D5Ä1D8c              #  ó¶  K  — t        | j                  xs d¬«      }t        |¬«      }t        | j                  ¬«      5  | j                  «       D ]-  }|j                  |«      }|j                  |«      D ]  }|–— Œ Œ/ |j                  «       }|j                  |«      D ]  }|–— Œ |j                  «       D ]  }|–— Œ 	 ddd«       y# 1 sw Y   yxY w­w©z§
        A str-iterator over the decoded response content
        that handles both gzip, deflate, etc but also detects the content's
        string encoding.
        ru   r4   r�  rƒ  N)r   r5   r   r   r&  r~  rw   r?  ©ro   r‚  r@  r‰  Úbyte_contentÚtext_contentrŒ  s          r6   Ú	iter_textzResponse.iter_text‹  s­   è ø€ ô  t§}¡}Ò'?¸Ô@ˆÜ¨Ô4ˆÜ T§]¡]Ö3Ø $§¡Ö 1�Ø&Ÿ~™~¨lÓ;�Ø$Ÿ^™^¨LÖ9�EØ“Kñ :ð !2ð #Ÿ=™=›?ˆLØ Ÿ™¨Ö5�Ø“ð 6à Ÿ™ž�Ø“ñ )÷ 4×3Ñ3üs   ‚=C¿BCÃ	CÃCÃCc              #  ó  K  — t        «       }t        | j                  ¬«      5  | j                  «       D ]  }|j	                  |«      D ]  }|–— Œ Œ |j                  «       D ]  }|–— Œ 	 d d d «       y # 1 sw Y   y xY w­w©Nrƒ  )r   r   r&  r’  rw   r?  ©ro   r@  r  Úlines       r6   Ú
iter_lineszResponse.iter_linesž  sd   è ø€ Ü“-ˆÜ T§]¡]Ö3ØŸ™Ö(�Ø#ŸN™N¨4Ö0�DØ“Jñ 1ð )ð  Ÿ™ž�Ø“
ñ (÷	 4×3Ñ3üs   ‚!B£A	A6Á-	BÁ6A?Á;Bc              #  ó  K  — | j                   r
t        «       ‚| j                  r
t        «       ‚t	        | j
                  t        «      st        d«      ‚d| _         d| _        t        |¬«      }t        | j                  ¬«      5  | j
                  D ]:  }| xj                  t        |«      z  c_        |j                  |«      D ]  }|–— Œ Œ< 	 ddd«       |j                  «       D ]  }|–— Œ | j                  «        y# 1 sw Y   Œ3xY w­w)ú@
        A byte-iterator over the raw response content.
        z5Attempted to call a sync iterator on an async stream.Tr   r�  rƒ  N)r)  r   r(  r   r:   rå   r'   r.  r*  r   r   r&  r¸   rw   r?  Úclose©ro   r‚  r‰  Úraw_stream_bytesrŒ  s        r6   r†  zResponse.iter_raw§  s×   è ø€ ð ×"Ò"Ü Ó"Ð"Ø�>Š>Ü“.Ð Ü˜$Ÿ+™+¤~Ô6ÜÐVÓWÐWà"&ˆÔØ%&ˆÔ"Ü¨Ô4ˆä T§]¡]Ö3Ø$(§K¤KÐ Ø×*Ò*¬cÐ2BÓ.CÑCÕ*Ø$Ÿ^™^Ð,<Ö=�EØ“Kñ >ñ %0÷ 4ð —]‘]–_ˆEØ‹Kð %ð 	�
‰
�÷ 4Ð3üs   ‚BDÂA
DÃ2DÄD
ÄDc                ó   — t        | j                  t        «      st        d«      ‚| j                  sAd| _        t        | j                  ¬«      5  | j                  j                  «        ddd«       yy# 1 sw Y   yxY w)ú‰
        Close the response and release the connection.
        Automatically called if the response body is read to completion.
        z3Attempted to call an sync close on an async stream.Trƒ  N)r:   rå   r'   r.  r(  r   r&  rš  r�   s    r6   rš  zResponse.closeÁ  s\   € ô
 ˜$Ÿ+™+¤~Ô6ÜÐTÓUÐUà�~Š~Ø!ˆDŒNÜ ¨¯©Ö7Ø—‘×!Ñ!Ô#÷ 8Ð7ð ç7Ð7ús   ÁA4Á4A=c              ƒ  ó¼   K  — t        | d«      s+dj                  | j                  «       2 �cg c3 d{  –—† }|‘Œ| j                  S 7 Œ6 nc c}w c}«      | _        Œ"­w)r}  rþ   r?   N)rÿ   r    Úaiter_bytesrþ   r  s     r6   r  zResponse.areadÎ  sM   è ø€ ô �t˜ZÔ(ØŸH™H¸T×=MÑ=MÔ=O×%PÓ%P°T¢dØ�}‰}Ðð &QøÑ%PùÔ%PÓQˆDŒMús5   ‚*A¬A
®A
²A³A
¶A
ºAÁA
ÁA
Á	Ac               óŒ  K  — t        | d«      r^|€t        | j                  «      n|}t        dt        | j                  «      t	        |d«      «      D ]  }| j                  |||z    ­–— Œ y| j                  «       }t        |¬«      }t        | j                  ¬«      5  | j                  «       2 3 d{  –—† }|j                  |«      }|j                  |«      D ]  }|­–— Œ	 Œ67 Œ16 |j                  «       }|j                  |«      D ]  }|­–— Œ	 |j                  «       D ]  }|­–— Œ	 	 ddd«       y# 1 sw Y   yxY w­wr€  )rÿ   r¸   rþ   r„  r…  rJ  r   r   r&  Ú	aiter_rawrw   r?  r‡  s           r6   r   zResponse.aiter_bytesÖ  s  è ø€ ô �4˜Ô$Ø/9Ð/Aœ˜TŸ]™]Ô+ÀzˆJÜ˜1œc $§-¡-Ó0´#°jÀ!Ó2DÖE�Ø—m‘m A¨¨J©Ð7Ô7ñ Fð ×/Ñ/Ó1ˆGÜ!¨ZÔ8ˆGÜ ¨¯©Ö7Ø'+§~¡~Ô'7÷ $˜)Ø%Ÿn™n¨YÓ7�GØ!(§¡°Ö!8˜Ø#œñ "9ð$øÐ'7ð "Ÿ-™-›/�Ø$Ÿ^™^¨GÖ4�EØ”Kð 5à$Ÿ]™]ž_�EØ”Kñ -÷ 8×7Ñ7üsC   ‚BEÂD8Â0C(Â4C&Â5C(Â8.D8Ã&C(Ã(AD8Ä/	EÄ8EÄ=Ec               óÌ  K  — t        | j                  xs d¬«      }t        |¬«      }t        | j                  ¬«      5  | j                  «       2 3 d{  –—† }|j                  |«      }|j                  |«      D ]  }|­–— Œ	 Œ67 Œ16 |j                  «       }|j                  |«      D ]  }|­–— Œ	 |j                  «       D ]  }|­–— Œ	 	 ddd«       y# 1 sw Y   yxY w­wrŽ  )r   r5   r   r   r&  r   rw   r?  r�  s          r6   Ú
aiter_textzResponse.aiter_textï  s¸   è ø€ ô  t§}¡}Ò'?¸Ô@ˆÜ¨Ô4ˆÜ T§]¡]Ö3Ø&*×&6Ñ&6Ô&8÷  �lØ&Ÿ~™~¨lÓ;�Ø$Ÿ^™^¨LÖ9�EØ”Kñ :ð øÐ&8ð #Ÿ=™=›?ˆLØ Ÿ™¨Ö5�Ø”ð 6à Ÿ™ž�Ø”ñ )÷ 4×3Ñ3üsA   ‚=C$¿CÁBÁBÁBÁ.CÂBÂACÃ	C$ÃC!ÃC$c               ó  K  — t        «       }t        | j                  ¬«      5  | j                  «       2 3 d {  –—† }|j	                  |«      D ]  }|­–— Œ	 Œ%7 Œ 6 |j                  «       D ]  }|­–— Œ	 	 d d d «       y # 1 sw Y   y xY w­wr”  )r   r   r&  r¤  rw   r?  r•  s       r6   Úaiter_lineszResponse.aiter_lines  sm   è ø€ Ü“-ˆÜ T§]¡]Ö3Ø"Ÿo™oÔ/÷ �dØ#ŸN™N¨4Ö0�DØ”Jñ 1ðøÐ/ð  Ÿ™ž�Ø”
ñ (÷	 4×3Ñ3üs<   ‚!B£B ´A¸A¹A¼B ÁAÁB Á7	BÂ B	ÂBc               óF  K  — | j                   r
t        «       ‚| j                  r
t        «       ‚t	        | j
                  t        «      st        d«      ‚d| _         d| _        t        |¬«      }t        | j                  ¬«      5  | j
                  2 3 d{  –—† }| xj                  t        |«      z  c_        |j                  |«      D ]  }|­–— Œ	 ŒC7 Œ>6 	 ddd«       n# 1 sw Y   nxY w|j                  «       D ]  }|­–— Œ	 | j                  «       ƒ d{  –—†7   y­w)r™  z6Attempted to call an async iterator on an sync stream.Tr   r�  rƒ  N)r)  r   r(  r   r:   rå   r   r.  r*  r   r   r&  r¸   rw   r?  Úacloser›  s        r6   r¢  zResponse.aiter_raw  sä   è ø€ ð ×"Ò"Ü Ó"Ð"Ø�>Š>Ü“.Ð Ü˜$Ÿ+™+¤Ô7ÜÐWÓXÐXà"&ˆÔØ%&ˆÔ"Ü¨Ô4ˆä T§]¡]Ö3Ø*.¯+ª+÷  Ð&Ø×*Ò*¬cÐ2BÓ.CÑCÕ*Ø$Ÿ^™^Ð,<Ö=�EØ”Kñ >ð ø©+÷ 4×3Ñ3úð —]‘]–_ˆEØŒKð %ð �k‰k‹m×ÒùsN   ‚BD!ÂC!ÂCÂCÂCÂ;C!ÃCÃC!Ã	D!Ã!C*Ã&4D!ÄDÄD!c              ƒ  ó  K  — t        | j                  t        «      st        d«      ‚| j                  sId| _        t        | j                  ¬«      5  | j                  j                  «       ƒ d{  –—†  ddd«       yy7 Œ# 1 sw Y   yxY w­w)rž  z3Attempted to call an async close on an sync stream.Trƒ  N)r:   rå   r   r.  r(  r   r&  r¨  r�   s    r6   r¨  zResponse.aclose)  sm   è ø€ ô
 ˜$Ÿ+™+¤Ô7ÜÐTÓUÐUà�~Š~Ø!ˆDŒNÜ ¨¯©Ö7Ø—k‘k×(Ñ(Ó*×*Ð*÷ 8Ð7ð ð +ø÷ 8Ð7üs0   ‚ABÁB Á/A>Á0B Á4
BÁ>B Â B	ÂB)r%  rØ   rp   rÎ   rá   zResponseContent | Noner  rÏ   r   rÏ   rä   rÔ   rå   r  r!  zRequest | Noneræ   zResponseExtensions | Noner"  zlist[Response] | Noner#  z#str | typing.Callable[[bytes], str]rÐ   rÑ   r  )rÐ   údatetime.timedelta)r/  rª  rÐ   rÑ   )rÐ   r-   )rD   r-   rÐ   rÑ   rÒ   )rÐ   r(   r  )rÐ   rÏ   rÓ   )rÐ   r   ©rÐ   rÕ   )rÐ   r.   )rn  rÔ   rÐ   rÔ   )rÐ   r+   )rÐ   z dict[str | None, dict[str, str]]r×   r  r  rk   )r‚  ú
int | NonerÐ   ztyping.Iterator[bytes])r‚  r¬  rÐ   útyping.Iterator[str]©rÐ   r­  )rÐ   rÑ   )r‚  r¬  rÐ   ztyping.AsyncIterator[bytes])r‚  r¬  rÐ   útyping.AsyncIterator[str])rÐ   r¯  ),rÅ   rÙ   rÚ   rs   rì   rÜ   r/  rÝ   r!  r4  r9  rS   rá   r  r5   rB  rJ  rL  rN  rP  rR  rU  rW  r_  rj  rä   rà   rZ   rv  rÌ   r  r  rí   r~  r’  r—  r†  rš  r  r   r¤  r¦  r¢  r¨  rÞ   r?   r6   r.   r.     s  „ ð
 '+Ø*.ØØØØ:>Ø"&Ø04Ø)-Ø@Gñ5'àð5'ð $ð	5'ð
 (ð5'ð ð5'ð ð5'ð ð5'ð 8ð5'ð  ð5'ð .ð5'ð 'ð5'ð >ð5'ð 
ó5'ón0ð ò
ó ð
ð ‡^�^ò ó ð ð òó ðð ‡^�^òó ðð òAó ðAð òBó ðBð ò ó ð ð òó ðð
 òó ðð òó ðð* ‡_�_òó ðð ò9ó ð9óð2 ò8ó ð8ð ò2ó ð2ð ò	3ó ð	3ð ò7ó ð7ð ò7ó ð7ð ò0ó ð0ð ò
ó ð
ó,#GóJ5ð òó ðð ò
ó ð
ð ò*ó ð*óGó
ó)óô ô.ó&ôó4$óð (,ð Ø$ð à	$ó ð4 (,ðØ$ðà	"óó*ð (,ðØ$ðà	$óô8+r?   r.   c                  ó  — e Zd ZdZddd„Zdd„Zdd„Zddd„Z	 	 	 d	 	 	 	 	 	 	 	 	 dd„Z	 	 d	 	 	 	 	 	 	 dd„Z	dd d	„Z
ddd
„Zd!d„Zd"d„Zd#d„Zd$d„Zd%d„Zd&d„Zd'd„Z G d„ dej(                  j*                  «      Z G d„ d«      Zy)(r+   z-
    HTTP Cookies, as a mutable mapping.
    Nc                óÜ  — |�t        |t        «      rKt        «       | _        t        |t        «      r+|j	                  «       D ]  \  }}| j                  ||«       Œ y y t        |t        «      r,t        «       | _        |D ]  \  }}| j                  ||«       Œ y t        |t        «      r<t        «       | _        |j                  D ]  }| j                  j                  |«       Œ y || _        y rk   )	r:   rÆ   r   Újarre   Úsetrm   r+   Ú
set_cookie)ro   rà   r=   rD   Úcookies        r6   rs   zCookies.__init__<  s·   € Øˆ?œj¨´$Ô7Ü “{ˆDŒHÜ˜'¤4Ô(Ø")§-¡-¦/‘J�C˜Ø—H‘H˜S %Õ(ñ #2ð )ô ˜¤Ô&Ü “{ˆDŒHÛ%‘
��UØ—‘˜˜eÕ$ñ &ä˜¤Ô)Ü “{ˆDŒHØ!Ÿ+œ+�Ø—‘×#Ñ# FÕ+ñ &ð ˆD�Hr?   c                ó”   — | j                  |«      }| j                  |j                  «      }| j                  j	                  ||«       y)zO
        Loads any cookies based on the response `Set-Cookie` headers.
        N)Ú_CookieCompatResponseÚ_CookieCompatRequestr!  r²  rq  )ro   rf  Úurllib_responseÚurllib_requests       r6   rq  zCookies.extract_cookiesM  s>   € ð ×4Ñ4°XÓ>ˆØ×2Ñ2°8×3CÑ3CÓDˆà�‰× Ñ  °.ÕAr?   c                ó\   — | j                  |«      }| j                  j                  |«       y)zM
        Sets an appropriate 'Cookie:' HTTP header on the `Request`.
        N)r¸  r²  Úadd_cookie_header)ro   r!  rº  s      r6   rë   zCookies.set_cookie_headerV  s&   € ð ×2Ñ2°7Ó;ˆØ�‰×"Ñ" >Õ2r?   c                ó   — i dd“d|“d|“dd“dd“d	|“d
t        |«      “d|j                  d«      “d|“dt        |«      “dd“dd“dd“dd“dd“dddi“dd“}t        di |¤Ž}| j                  j	                  |«       y)zU
        Set a cookie value by name. May optionally include domain and path.
        Úversionr   r  rD   ÚportNÚport_specifiedFÚdomainÚdomain_specifiedÚdomain_initial_dotÚ.ÚpathÚpath_specifiedÚsecureÚexpiresÚdiscardTÚcommentÚcomment_urlÚrestÚHttpOnlyÚrfc2109rÞ   )rÕ   Ú
startswithr   r²  r´  )ro   r  rD   rÁ  rÅ  rn  rµ  s          r6   r³  zCookies.set]  s
  € ð
Ø�qð
à�Dð
ð �Uð
ð �Dð	
ð
 ˜eð
ð �fð
ð ¤ V£ð
ð ! &×"3Ñ"3°CÓ"8ð
ð �Dð
ð œd 4›jð
ð �eð
ð �tð
ð �tð
ð �tð
ð ˜4ð
ð  �Z Ð&ð!
ð" �uð#
ˆô& Ñ!˜&Ñ!ˆØ�‰×Ñ˜FÕ#r?   c                óØ   — d}| j                   D ]T  }|j                  |k(  sŒ|�|j                  |k(  sŒ%|�|j                  |k(  sŒ7|�d|› �}t	        |«      ‚|j
                  }ŒV |€|S |S )zŒ
        Get a cookie by name. May optionally include domain and path
        in order to specify exactly which cookie to retrieve.
        Nz!Multiple cookies exist with name=)r²  r  rÁ  rÅ  r   rD   )ro   r  r�   rÁ  rÅ  rD   rµ  rJ   s           r6   rŽ   zCookies.getw  sz   € ð ˆØ—h”hˆFØ�{‰{˜dÓ"Ø�> V§]¡]°fÓ%<Ø�| v§{¡{°dÓ':Ø Ð,Ø(IÈ$ÈÐ&P˜GÜ"0°Ó"9Ð9Ø &§¡™ð ð ˆ=ØˆNØˆr?   c                óh  — |�|�| j                   j                  |||«      S | j                   D �cg c]5  }|j                  |k(  r$|�|j                  |k(  r|�|j                  |k(  r|‘Œ7 }}|D ]=  }| j                   j                  |j                  |j                  |j                  «       Œ? yc c}w )z�
        Delete a cookie by name. May optionally include domain and path
        in order to specify exactly which cookie to delete.
        N)r²  Úclearr  rÁ  rÅ  )ro   r  rÁ  rÅ  rµ  Úremoves         r6   ÚdeletezCookies.delete�  s©   € ð Ð $Ð"2Ø—8‘8—>‘> &¨$°Ó5Ð5ð Ÿ(š(ó
á"�Ø�{‰{˜dÒ"Ø� 6§=¡=°FÒ#:Ø� §¡°Ò!4ò	 Ø"ð 	ð 
ó ˆFØ�H‰H�N‰N˜6Ÿ=™=¨&¯+©+°v·{±{ÕCñ ùò
s   °:B/c                óŽ   — g }|�|j                  |«       |�|€J ‚|j                  |«        | j                  j                  |Ž  y)z‡
        Delete all cookies. Optionally include a domain and path in
        order to only delete a subset of all the cookies.
        N)rY   r²  rÒ  )ro   rÁ  rÅ  Úargss       r6   rÒ  zCookies.clear¨  sK   € ð
 ˆØÐØ�K‰K˜ÔØÐØÐ%Ð%Ð%Ø�K‰K˜ÔØˆ�‰�‰˜Òr?   c                ór   — t        |«      }|j                  D ]  }| j                  j                  |«       Œ y rk   )r+   r²  r´  )ro   rà   rµ  s      r6   r›   zCookies.updateµ  s,   € Ü˜'Ó"ˆØ—k”kˆFØ�H‰H×Ñ Õ'ñ "r?   c                ó&   — | j                  ||«      S rk   )r³  r  s      r6   r­   zCookies.__setitem__º  s   € Ø�x‰x˜˜eÓ$Ð$r?   c                óB   — | j                  |«      }|€t        |«      ‚|S rk   )rŽ   rŒ   r  s      r6   r¤   zCookies.__getitem__½  s#   € Ø—‘˜“ˆØˆ=Ü˜4“.Ð Øˆr?   c                ó$   — | j                  |«      S rk   )rÔ  )ro   r  s     r6   r±   zCookies.__delitem__Ã  s   € Ø�{‰{˜4Ó Ð r?   c                ó,   — t        | j                  «      S rk   )r¸   r²  r�   s    r6   r¹   zCookies.__len__Æ  s   € Ü�4—8‘8‹}Ðr?   c                ó(   — d„ | j                   D «       S )Nc              3  ó4   K  — | ]  }|j                   –— Œ y ­wrk   )r  )Ú.0rµ  s     r6   Ú	<genexpr>z#Cookies.__iter__.<locals>.<genexpr>Ê  s   è ø€ Ð3©( �—•©(ùs   ‚©r²  r�   s    r6   r¶   zCookies.__iter__É  s   € Ù3¨$¯(ª(Ó3Ð3r?   c                ó(   — | j                   D ]  } y y)NTFrà  )ro   r}   s     r6   Ú__bool__zCookies.__bool__Ì  s   € Ø—”ˆAÙð àr?   c                óº   — dj                  | j                  D �cg c],  }d|j                  › d|j                  › d|j                  › d�‘Œ. c}«      }d|› d�S c c}w )Nr‚   z<Cookie rT   z for z />z	<Cookies[ry  )r    r²  r  rD   rÁ  )ro   rµ  Úcookies_reprs      r6   rÌ   zCookies.__repr__Ñ  sh   € Ø—y‘yð #Ÿhšhóá&�Fð ˜6Ÿ;™;˜- q¨¯©¨°e¸F¿M¹M¸?È#ÒNØ&ñó
ˆð ˜<˜.¨Ð+Ð+ùòs   š1Ac                  ó0   ‡ — e Zd ZdZdˆ fd„Zdˆ fd„Zˆ xZS )úCookies._CookieCompatRequestú‚
        Wraps a `Request` instance up in a compatibility interface suitable
        for use with `CookieJar` operations.
        c                ó˜   •— t         ‰| �  t        |j                  «      t	        |j
                  «      |j                  ¬«       || _        y )N)rS   rp   rê   )Úsuperrs   rA   rS   rÆ   rp   rê   r!  )ro   r!  rÄ   s     €r6   rs   z%Cookies._CookieCompatRequest.__init__á  s=   ø€ Ü‰GÑÜ˜Ÿ™Ó$Ü˜WŸ_™_Ó-Ø—~‘~ð ô ð
 #ˆD�Lr?   c                óX   •— t         ‰| �  ||«       || j                  j                  |<   y rk   )ré  Úadd_unredirected_headerr!  rp   )ro   r=   rD   rÄ   s      €r6   rë  z4Cookies._CookieCompatRequest.add_unredirected_headeré  s&   ø€ Ü‰GÑ+¨C°Ô7Ø(-ˆD�L‰L× Ñ  Ò%r?   ©r!  r-   rÐ   rÑ   rÖ   )rÅ   rÙ   rÚ   rÛ   rs   rë  Ú__classcell__)rÄ   s   @r6   r¸  ræ  Û  s   ø„ ñ	õ
	#÷	.ñ 	.r?   r¸  c                  ó    — e Zd ZdZdd„Zdd„Zy)úCookies._CookieCompatResponserç  c                ó   — || _         y rk   )rf  )ro   rf  s     r6   rs   z&Cookies._CookieCompatResponse.__init__ó  s	   € Ø$ˆD�Mr?   c                ó¤   — t         j                  j                  «       }| j                  j                  j                  «       D ]
  \  }}|||<   Œ |S rk   )rI   rJ   rK   rf  rp   rŠ   )ro   Úinfor=   rD   s       r6   rò  z"Cookies._CookieCompatResponse.infoö  sH   € Ü—=‘=×(Ñ(Ó*ˆDØ"Ÿm™m×3Ñ3×?Ñ?ÖA‘
��Uð "��S’	ð	 Bð
 ˆKr?   N©rf  r.   rÐ   rÑ   )rÐ   zemail.message.Message)rÅ   rÙ   rÚ   rÛ   rs   rò  rÞ   r?   r6   r·  rï  í  s   „ ñ	ó
	%ô	r?   r·  rk   )rà   r  rÐ   rÑ   ró  rì  )rR   Ú/)
r  rA   rD   rA   rÁ  rA   rÅ  rA   rÐ   rÑ   )NNN)
r  rA   r�   rÏ   rÁ  rÏ   rÅ  rÏ   rÐ   rÏ   rÍ   )r  rA   rÁ  rÏ   rÅ  rÏ   rÐ   rÑ   )rÁ  rÏ   rÅ  rÏ   rÐ   rÑ   )r  rA   rD   rA   rÐ   rÑ   )r  rA   rÐ   rA   )r  rA   rÐ   rÑ   r×   r®  r«  rÒ   )rÅ   rÙ   rÚ   rÛ   rs   rq  rë   r³  rŽ   rÔ  rÒ  r›   r­   r¤   r±   r¹   r¶   râ  rÌ   Úurllibr!  r-   r¸  r·  rÞ   r?   r6   r+   r+   7  sá   „ ñôó"Bó3ô$ð: #Ø!Øðàðð ðð ð	ð
 ðð 
óð8 "Øð	DàðDð ðDð ð	Dð
 
óDô0ô(ó
%óó!óó4óó
,ô.˜vŸ~™~×5Ñ5ô .÷$ò r?   r+   )r5   rA   rÐ   rÕ   rk   )r=   ústr | bytesr5   rÏ   rÐ   r;   )rD   rö  r5   rÏ   rÐ   r;   )rM   rA   rÐ   rÏ   )rD   rA   rÐ   zlist[dict[str, str]])re   z4typing.Iterable[tuple[typing.AnyStr, typing.AnyStr]]rÐ   z4typing.Iterator[tuple[typing.AnyStr, typing.AnyStr]])JÚ
__future__r   r1   ÚdatetimeÚemail.messagerI   rä   rl  rV   r  Úurllib.requestrõ  Úcollections.abcr   Úhttp.cookiejarr   r   rþ   r   r	   r
   r   Ú	_decodersr   r   r   r   r   r   r   r   Ú_exceptionsr   r   r   r   r   r   r   Ú
_multipartr   Ú_status_codesr   Ú_typesr   r   r   r    r!   r"   r#   r$   r%   r&   r'   Ú_urlsr(   Ú_utilsr)   r*   Ú__all__rd   r7   r>   rE   rO   r`   rh   ÚMutableMappingrA   r,   r-   r.   r+   rÞ   r?   r6   Ú<module>r     s  ðÝ "ã Û Û Û Û 	Û Û Ý #ß ,ç SÓ S÷	÷ 	ó 	÷÷ ñ õ AÝ  ÷÷ ÷ ñ õ ß +â
7€à$Ð&;Ð<Ð óôNô-ó1ó"ðJØ?ðà9óôp:ˆf×#Ñ# C¨ HÑ-ô p:÷fB)ñ B)÷Jq+ñ q+ôhFˆf×#Ñ# C¨ HÑ-õ Fr?   