ó
    Û°›j�  ã                   ó@  • % S r SSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSK	r	SSK
r
SSKrSSKrSSKrSSKrSSKrSSKrSSKJr  SSKJrJr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!  SS
K"J#r#  SSK$J%r%  SSK&J'r'J(r(  SSK)J*r*J+r+J,r,J-r-J.r.J/r/J0r0J1r1  SSK2J3r3  SSK4J5r5J6r6  SSK7r7SSK8J9r9J:r:J;r;  SSK<J=r>  SSK?J@r@  SSKAJBrB  SSKCJDrD  \RŠ                  S:¼  a  SSKrFOSSKFrFSrG\R�                  " 5       S:H  rI\R�                  " 5       S:H  rJ\RŠ                  S:¬  rKSrL\/" S5      rM\/" S5      rN\Rž                  " SS5      rP\PR¢                  rQ\R" \
R¦                  R©                  S5      5      rU\V" S S!/\W" S"S#5      Q75      rX\V" \BR²                  15      rZ\R¶                  R¸                  =(       dC    \R¶                  Rº                  (       + =(       a!    \R" \
R¦                  R©                  S$5      5      r^\W" SS%5       V s1 s H  n \_" U 5      iM     sn r`\W" SS&5       V s1 s H  n \_" U 5      iM     sn \_" S'5      1-  raS(S)S*S+S,S-S.S/S0S1S2S3S4S5S6S7S8S9\_" S:5      1rb\`\a-  \b-  rc " S; S<5      rdS©S>\eS?\eS@\eSA\e4SB jjrf " SC SD\" SD/ SEQ5      5      rg SªS>\eS?\eS@\eSA\g4SF jjrhSG\@SA\i\@\gS-  4   4SH jrjSA\	R                  S-  4SI jrk\7RØ                  " SJSJSJSK9 " SL SM5      5       rmSN\	R                  S-  SO\eSA\g4SP jrnSA\o\e\m4   4SQ jrpSG\@SA\i\@\gS-  4   4SR jrq\7RØ                  " SJSJSJSK9 " SS ST5      5       rr\Ræ                  " SUSV9SW\eSA\r4SX j5       rt " SY SZ\5      ru\Ræ                  " SUSV9S[\eSA\i\e\'\e\e4   4   4S\ j5       rvS«S]\*S^\eS-  SA\eS-  4S_ jjrw\Rð                  " S`5      ry\W" S&S'5       V s1 s H  n \_" U 5      iM     sn Sa1-  rzSb\eSA\e4Sc jr{ S¬Sd\eSe\RSf\eSg\eSA\e4
Sh jjr|SO\eS-  SA\R4Si jr}SO\eSA\R4Sj jr~Sq\€S-  \�Sk'   S=q‚SA\e4Sl jrƒS­Sm jr„ S®Sn\…So\eSp\†Sq\GR                  Sr\†SA\GR                  S-  4Ss jjr‰ S®St\/ \*4   Sp\†Sq\GR                  Sr\†SA\GR                  S-  4
Su jjrŠSv\†Sp\†Sw\†SA\†4Sx jr‹ " Sy Sz5      rŒ " S{ S|\+S|   5      r� " S} S~\�5      rŽ " S S€\�5      r� S®S�\†S-  S‚\†SA\FGR                   4Sƒ jjr‘ " S„ S…5      r’S†S‡Sˆ\MSAS4S‰ jr“\”" 5       r• " SŠ S‹\.5      r–\•4S†SŒS�\”SŽ\”SAS4S� jjr—\GR0                   " S� S‘\,\M   5      5       r™ " S’ S“\™\M   5      rš " S” S•\™\M   5      r› " S– S—\™\M   5      rœ " S˜ S™\\e\š\*   -  \*4   5      r�Sšrž\Rð                  " \ž5      rŸS›\ž Sœ3r \Rð                  " \ 5      r¡\Rð                  " S(\  S�35      r¢Sžr£\7RØ                  " SJSJSJSK9 " SŸ S 5      5       r¤S¡\eSAS4S¢ jr¥S£\eS-  SA\R
                  S-  4S¤ jr¦\Ræ                  S¥\eS¦\€SA\R4S§ j5       r§S¥\eS¦\€SA\R4S¨ jr¨gs  sn f s  sn f s  sn f )¯zVarious helper functionsé    N)Ú
namedtuple)ÚCallableÚ	GeneratorÚIterableÚIteratorÚMapping)Úsuppress)ÚEmailMessage)ÚHeaderParser)ÚHTTP)Ú	parsedate©Úceil)ÚPath)ÚMappingProxyTypeÚTracebackType)ÚAnyÚContextManagerÚGenericÚOptionalÚProtocolÚTypeVarÚget_argsÚoverload)Úquote)Ú
getproxiesÚproxy_bypass)Ú	MultiDictÚMultiDictProxyÚMultiMapping)Úunder_cached_property)ÚURLé   )Úhdrs)Úclient_logger©é   é   )Ú	BasicAuthÚChainMapProxyÚETagÚreifyÚDarwinÚWindowsi   Ú_TÚ_SÚ	_SENTINELÚsentinelÚAIOHTTP_NO_EXTENSIONSéÌ   i0  éd   éÈ   ÚPYTHONASYNCIODEBUGé€   é    é   Ú(Ú)Ú<Ú>Ú@Ú,Ú;Ú:Ú\Ú"Ú/Ú[Ú]Ú?Ú=Ú{Ú}Ú é	   c                   ó(   • \ rS rSrS\S   4S jrSrg)Únoopér   Úreturn)NNNc              #   ó   #   • S v •  g 7f©N© ©Úselfs    ÚL/home/mande/repo/quber/.venv/lib/python3.13/site-packages/aiohttp/helpers.pyÚ	__await__Únoop.__await__s   s   é € Üùs   ‚rT   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   rX   Ú__static_attributes__rT   ó    rW   rO   rO   r   s   † ð˜9Ð%5Ñ6÷ r_   rO   Ú ÚloginÚpasswordÚencodingrQ   c                 ó    • SU ;   a  [        S5      eU  SU 3R                  U5      nS[        R                  " U5      R	                  U5      -   $ )zÞEncode HTTP Basic Authentication credentials as an Authorization header value.

Returns a string of the form ``"Basic <base64>"`` suitable for use as the
value of the ``Authorization`` (or ``Proxy-Authorization``) header.
rB   z2A ":" is not allowed in login (RFC 7617#section-2)zBasic )Ú
ValueErrorÚencodeÚbase64Ú	b64encodeÚdecode)ra   rb   rc   Úcredss       rW   Úencode_basic_authrk   w   sS   € ð ˆeƒ|ÜÐMÓNÐNØˆg�Q�x�jÐ!×(Ñ(¨Ó2€EØ”f×&Ò& uÓ-×4Ñ4°XÓ>Ñ>Ð>r_   c            	       ó¦   ^ • \ rS rSrSr SS\S\S\SS 4U 4S jjjr\SS	\S\SS 4S
 jj5       r\SS.S\	S\S\
S    4S jj5       rS\4S jrSrU =r$ )r)   éƒ   z!Http basic authentication helper.Úlatin1ra   rb   rc   rQ   c                 ó²   >• Uc  [        S5      eUc  [        S5      eSU;   a  [        S5      e[        R                  " S[        SS9  [        TU ]  XX#5      $ )Nz"None is not allowed as login valuez%None is not allowed as password valuerB   z5A ":" is not allowed in login (RFC 1945#section-11.1)z‡BasicAuth is deprecated and will be removed in aiohttp 4.0; use aiohttp.encode_basic_auth() with headers={'Authorization': ...} insteadé   )Ú
stacklevel)re   ÚwarningsÚwarnÚDeprecationWarningÚsuperÚ__new__)Úclsra   rb   rc   Ú	__class__s       €rW   rv   ÚBasicAuth.__new__†   sg   ø€ ð ‰=ÜÐAÓBÐBàÑÜÐDÓEÐEà�%‹<ÜÐTÓUÐUä�Šð5ô Øò	
ô ‰w‰˜s¨8Ó>Ð>r_   Úauth_headerc                 óÄ  •  UR                  SS5      u  p4UR                  5       S:w  a  [        SU-  5      e [        R                  " UR                  S5      SS9R                  U5      n UR                  S
S5      u  pg[        XgU5      $ ! [         a    [        S5      ef = f! [        R                   a    [        S	5      ef = f! [         a    [        S5      ef = f)z<Create a BasicAuth object from an Authorization HTTP header.rL   r#   z%Could not parse authorization header.ÚbasiczUnknown authorization method %sÚasciiT)ÚvalidatezInvalid base64 encoding.rB   zInvalid credentials.)
Úsplitre   Úlowerrg   Ú	b64decoderf   ri   ÚbinasciiÚErrorÚ_basic_auth_no_warn)rw   rz   rc   Ú	auth_typeÚencoded_credentialsÚdecodedÚusernamerb   s           rW   ri   ÚBasicAuth.decode›   sõ   € ð	FØ-8×->Ñ->¸sÀAÓ-FÑ*ˆIð �?‰?Ó Ó'ÜÐ>ÀÑJÓKÐKð	9Ü×&Ò&Ø#×*Ñ*¨7Ó3¸dñç‰f�XÓð ð	5ð
 ")§¡¨s°AÓ!6ÑˆHô # 8°xÓ@Ð@øô- ó 	FÜÐDÓEÐEð	Fûô �~‰~ó 	9ÜÐ7Ó8Ð8ð	9ûô ó 	5ÜÐ3Ó4Ð4ð	5ús"   ‚B ¹3B& Á-C	 ÂB#Â& CÃ	C©rc   Úurlc                óÞ   • [        U[        5      (       d  [        S5      eUR                  c  UR                  c  g[        UR                  =(       d    SUR                  =(       d    SU5      $ )zCreate BasicAuth from url.zurl should be yarl.URL instanceNr`   )Ú
isinstancer"   Ú	TypeErrorÚraw_userÚraw_passwordr„   Úuserrb   )rw   r‹   rc   s      rW   Úfrom_urlÚBasicAuth.from_url¸   sW   € ô ˜#œs×#Ñ#ÜÐ=Ó>Ð>ð �<‰<Ñ C×$4Ñ$4Ñ$<ØÜ" 3§8¡8§>¨r°3·<±<×3EÀ2ÀxÓPÐPr_   c                 óX   • [        U R                  U R                  U R                  5      $ )zEncode credentials.)rk   ra   rb   rc   rU   s    rW   rf   ÚBasicAuth.encodeÃ   s   € ä  §¡¨T¯]©]¸D¿M¹MÓJÐJr_   rT   ©r`   rn   )rn   )rZ   r[   r\   r]   Ú__doc__Ústrrv   Úclassmethodri   r"   r   r’   rf   r^   Ú__classcell__©rx   s   @rW   r)   r)   ƒ   s®   ø† Ù+ð >Fñ?Øð?Ø#&ð?Ø7:ð?à	÷?ð ?ð* ñA ð A°ð AÀ;ô Aó ðAð8 Ø3;ò Q˜3ð Q¨Sð QÀÈÑ@Uô Qó ðQðK˜÷ Kò Kr_   r)   ©ra   rb   rc   c                 ó:   • [         R                  [        XU45      $ )zÆConstruct a BasicAuth without emitting the deprecation warning.

For internal use only. Bypasses BasicAuth.__new__ so that aiohttp's own
machinery doesn't trigger deprecation warnings in user code.
)Útuplerv   r)   rœ   s      rW   r„   r„   È   s   € ô �=‰=œ U°hÐ$?Ó@Ð@r_   r‹   c                 óÄ   • U R                   c  U R                  c  U S4$ U R                  S5      [        U R                  =(       d    SU R
                  =(       d    S5      4$ )zIRemove user and password from URL if present and return BasicAuth object.Nr`   )r�   r�   Ú	with_userr„   r‘   rb   )r‹   s    rW   Ústrip_auth_from_urlr¡   Ó   sQ   € ð ‡|�|Ñ × 0Ñ 0Ñ 8Ø�DˆyÐØ�=‰=˜ÓÔ 3°C·H±H·NÀÀCÇLÁL×DVÐTVÓ WÐWÐWr_   c                  ó¶  • [         R                  R                  S5      n U b  [        U 5      nO( [        R                  " 5       nU[        (       a  SOS-  n [        R                  " [        U5      5      $ ! [
         a!  n[        R                  " SU5         SnAgSnAff = f! [        R                   a!  n[        R                  " SU5         SnAgSnAf[         av  nSn[        R                  " [        5         UR!                  5       nSSS5        O! , (       d  f       O= fU (       d  U(       a  [        R                  " SU5         SnAgSnAff = f)	zÉLoad netrc from file.

Attempt to load it from the path specified by the env-var
NETRC or in the default location in the user's home directory.

Returns None if it couldn't be found or fails to parse.
ÚNETRCNzHCould not resolve home directory when trying to look for .netrc file: %sÚ_netrcz.netrczCould not parse .netrc file: %sFzCould not read .netrc file: %s)ÚosÚenvironÚgetr   ÚhomeÚRuntimeErrorr%   ÚdebugÚ
IS_WINDOWSÚnetrcr˜   ÚNetrcParseErrorÚwarningÚOSErrorÚ
contextlibr	   Úis_file)Ú	netrc_envÚ
netrc_pathÚhome_dirÚeÚnetrc_existss        rW   Únetrc_from_envr·   Ü   s  € ô —
‘
—‘˜wÓ'€IàÑÜ˜)“_‰
ð		Ü—y’y“{ˆHð ¯ZªZ¡¸XÑFˆ
ðGÜ�{Š{œ3˜z›?Ó+Ð+øô ó 	ä×Òð5àôô
 ûð	ûô × Ñ ó DÜ×ÒÐ?À×CÐCð ûô ó GØˆÜ× Ò ¤Õ)Ø%×-Ñ-Ó/ˆL÷ *×)Ö)úö žô ×!Ò!Ð"BÀAÔFûàûðGúsS   °A7 ÁB% Á7
B"ÂBÂB"Â%EÂ9CÃEÃ"EÃ>DÄ	EÄ
D&	Ä",EÅET)Úauto_attribsÚfrozenÚslotsc                   ó0   • \ rS rSr% \\S'   \S-  \S'   Srg)Ú	ProxyInfoi  ÚproxyNÚ
proxy_authrT   )rZ   r[   r\   r]   r"   Ú__annotations__r)   r^   rT   r_   rW   r¼   r¼     s   ‡ àƒJØ˜DÑ Ö r_   r¼   Ú	netrc_objÚhostc                 ó¬   • U c  [        S5      eU R                  U5      nUc  [        SU< S35      eUu  p4nU(       d  Uc  UOUnUc  Sn[        Xe5      $ )zÀ
Return :py:class:`~aiohttp.BasicAuth` credentials for ``host`` from ``netrc_obj``.

:raises LookupError: if ``netrc_obj`` is :py:data:`None` or if no
        entry is found for the ``host``.
zNo .netrc file foundzNo entry for z found in the `.netrc` file.r`   )ÚLookupErrorÚauthenticatorsr„   )rÀ   rÁ   Úauth_from_netrcra   Úaccountrb   rˆ   s          rW   Úbasicauth_from_netrcrÇ     sr   € ð ÑÜÐ0Ó1Ð1Ø×.Ñ.¨tÓ4€OàÑÜ˜M¨$©Ð1MÐNÓOÐOØ.Ñ€E�Hö  '¡/‰u¸€Hð ÑØˆä˜xÓ2Ð2r_   c                  ód  • [        5       R                  5        V Vs0 s H  u  pU S;   d  M  U [        U5      _M     nn n[        5       nUR                  5        V Vs0 s H  u  pU [	        U5      _M     nn n0 nUR                  5        H…  u  pgUu  p‰UR
                  S;   a2  [        R                  " SUR
                  R                  5       U5        MK  U(       a&  U	c#  UR                  b   [        X8R                  5      n	[        X‰5      XV'   M‡     U$ s  snn f s  snn f ! [         a    S n	 N-f = f)N)ÚhttpÚhttpsÚwsÚwss)rÊ   rÌ   z)%s proxies %s are not supported, ignoring)r   Úitemsr"   r·   r¡   Úschemer%   r®   ÚupperrÁ   rÇ   rÃ   r¼   )
ÚkÚvÚ
proxy_urlsrÀ   ÚstrippedÚretÚprotoÚvalr½   Úauths
             rW   Úproxies_from_envrØ   *  s(  € ô “L×&Ñ&Ô(ôâ(‰DˆAØÐ.Ñ.ó 	ˆŒ3ˆq‹6Š	Ù(ð ñ ô
 Ó €IØ6@×6FÑ6FÔ6HÔIÒ6H©d¨a�Ô& qÓ)Ò)Ñ6H€HÑIØ
€CØ—n‘nÖ&‰
ˆØ‰ˆØ�<‰<Ð+Ó+Ü×!Ò!Ø;¸U¿\¹\×=OÑ=OÓ=QÐSXôñ Þ˜™Ø�z‰zÑ%ð Ü/°	¿:¹:ÓF�Dô ˜uÓ+ˆ‹
ñ 'ð €Jùó-ùó Jøô #ó  Ø’Dð ús"   œD¬DÁDÃ,D Ä D/Ä.D/c                 ó"  • U R                   b4  [        U R                   5      (       a  [        SU R                   < S35      e[        5       n XR                     nUR
                  UR                  4$ ! [         a    [        SU < S35      ef = f)z5Get a permitted proxy for the given URL from the env.zProxying is disallowed for `Ú`zNo proxies found for `z` in the env)rÁ   r   rÃ   rØ   rÎ   r½   r¾   ÚKeyError)r‹   Úproxies_in_envÚ
proxy_infos      rW   Úget_env_proxy_for_urlrÞ   D  s�   € à
‡x�xÑ¤¨S¯X©X× 6Ñ 6ÜÐ8¸¿¹¹ÀAÐFÓGÐGä%Ó'€Nð7Ø#§J¡JÑ/ˆ
ð ×Ñ ×!6Ñ!6Ð6Ð6øô ó HÜÐ2°3±'¸ÐFÓGÐGðHús   ÁA3 Á3Bc                   ó>   • \ rS rSr% \\S'   \\S'   \\S'   S\S'   Srg)	ÚMimeTypeiR  ÚtypeÚsubtypeÚsuffixzMultiDictProxy[str]Ú
parametersrT   N)rZ   r[   r\   r]   r˜   r¿   r^   rT   r_   rW   rà   rà   R  s   ‡ à
ƒIØƒLØƒKØ%Ö%r_   rà   é8   )ÚmaxsizeÚmimetypec           	      ó2  • U (       d  [        SSS[        [        5       5      S9$ U R                  S5      n[        5       nUSS  Hk  nUR	                  5       (       d  M  UR                  S5      u  pEnUR                  UR                  5       R	                  5       UR	                  S5      5        Mm     US   R	                  5       R                  5       nUS	:X  a  S
nUR                  S5      u  p…n	U	R                  S5      u  p•n
[        X‰U
[        U5      S9$ )zûParses a MIME type into its components.

mimetype is a MIME type string.

Returns a MimeType object.

Example:

>>> parse_mimetype('text/html; charset=utf-8')
MimeType(type='text', subtype='html', suffix='',
         parameters={'charset': 'utf-8'})

r`   )rá   râ   rã   rä   rA   r#   NrI   z "r   Ú*z*/*rE   Ú+)rà   r   r   r   ÚstripÚ	partitionÚaddr€   )rç   ÚpartsÚparamsÚitemÚkeyÚ_ÚvalueÚfulltypeÚmtypeÚstyperã   s              rW   Úparse_mimetyper÷   Z  sø   € ö ÜØ˜R¨´~ÄiÃkÓ7Rñ
ð 	
ð �N‰N˜3Ó€EÜ&›[€FØ�a�b“	ˆØ�z‰z�|‰|ÙØŸ™ sÓ+‰ˆ�Ø�
‰
�3—9‘9“;×$Ñ$Ó&¨¯©°DÓ(9Ö:ñ	 ð �Q‰x�~‰~Ó×%Ñ%Ó'€HØ�3ƒØˆà×(Ñ(¨Ó-�O€EˆeØ—‘ sÓ+Ñ€EˆfäØ¨&¼^ÈFÓ=Sñð r_   c                   ó:   ^ • \ rS rSrSU 4S jjrS\4S jrSrU =r$ )ÚEnsureOctetStreami‚  rQ   c                 óD   >• [         TU ]  5         U R                  S5        g ©Nzapplication/octet-stream)ru   Ú__init__Úset_default_type)rV   rx   s    €rW   rü   ÚEnsureOctetStream.__init__ƒ  s   ø€ Ü‰ÑÔà×ÑÐ8Õ9r_   c                 óÚ   • U R                  SS5      R                  5       nUR                  S5      u  n  nUR                  5       nUR	                  S5      S:w  a  U R                  5       $ U$ )zíRe-implementation from Message

Returns application/octet-stream in place of plain/text when
value is wrong.

The way this class is used guarantees that content-type will
be present so simplify the checks wrt to the base implementation.
zcontent-typer`   rA   rE   r#   )r§   r€   rì   rë   ÚcountÚget_default_type)rV   ró   Úctyperò   s       rW   Úget_content_typeÚ"EnsureOctetStream.get_content_typeˆ  sc   € ð —‘˜¨Ó,×2Ñ2Ó4ˆð —o‘o cÓ*‰ˆˆq�!Ø—‘“ˆØ�;‰;�sÓ˜qÓ Ø×(Ñ(Ó*Ð*Øˆr_   rT   ©rQ   N)	rZ   r[   r\   r]   rü   r˜   r  r^   rš   r›   s   @rW   rù   rù   ‚  s   ø† ÷:ð
 #÷ ò r_   rù   Úrawc                 óÂ   • [        [        [        S9R                  SU  35      nUR	                  5       nUR                  S5      n[        USS 5      nU[        U5      4$ )z¦Parse Content-Type header.

Returns a tuple of the parsed content type and a
MappingProxyType of parameters. The default returned value
is `application/octet-stream`
)ÚpolicyzContent-Type: rT   r#   N)r   rù   r   Úparsestrr  Ú
get_paramsÚdictr   )r  ÚmsgÚcontent_typerï   Úcontent_dicts        rW   Úparse_content_typer  ›  sb   € ô Ô(´Ñ
6×
?Ñ
?À.ÐQTÐPUÐ@VÓ
W€CØ×'Ñ'Ó)€LØ�^‰^˜BÓ€FÜ˜˜q˜r˜
Ó#€LØÔ)¨,Ó7Ð7Ð7r_   ÚobjÚdefaultc                 ó¦   • [        U SS 5      nU(       a<  [        U[        5      (       a'  US   S:w  a  US   S:w  a  [        U5      R                  $ U$ )NÚnamer   r=   éÿÿÿÿr>   )Úgetattrr�   r˜   r   r  )r  r  r  s      rW   Úguess_filenamer  ª  sF   € Ü�3˜ Ó%€DÞ”
˜4¤×%Ñ%¨$¨q©'°S«.¸TÀ"¹XÈ»_Ü�D‹z�‰ÐØ€Nr_   z[^\041\043-\133\135-\176]Ú	Úcontentc                 ót   • [         [        U 5      :”  d  [        SU < 35      e[        R	                  S U 5      $ )a   Return 7-bit content as quoted-string.

Format content into a quoted-string as defined in RFC5322 for
Internet Message Format. Notice that this is not the 8-bit HTTP
format, but the 7-bit email format. Content must be in usascii or
a ValueError is raised.
zbad content for quoted-string c                 ó*   • SU R                  S5      -   $ )NrC   r   )Úgroup)Úxs    rW   Ú<lambda>Úquoted_string.<locals>.<lambda>¿  s   €  d¨Q¯W©W°Q«ZÒ&7r_   )ÚQCONTENTÚsetre   Únot_qtext_reÚsub)r  s    rW   Úquoted_stringr#  µ  s7   € ô ”s˜7“|Ó#ÜÐ9¸'¹ÐEÓFÐFÜ×ÑÑ7¸ÓAÐAr_   ÚdisptypeÚquote_fieldsÚ_charsetrï   c                 ó  • U (       a  [         [        U 5      :”  d  [        SU < 35      eU nU(       Ga  / nUR                  5        HÌ  u  pgU(       a  [         [        U5      :”  d  [        SU< SU< 35      eU(       a[  UR	                  5       S:X  a#  [        USUS9nUR                  USU-  45        Mp   [        U5      nUR                  USU-  45        M”  UR                  S
S5      R                  SS5      nUR                  USU-  45        MÎ     SR                  S U 5       5      n	SR                  XI45      nU$ ! [         a8    SR                  US[        USUS945      nUR                  US	-   U45         GM=  f = f)a?  Sets ``Content-Disposition`` header for MIME.

This is the MIME payload Content-Disposition header from RFC 2183
and RFC 7579 section 4.2, not the HTTP Content-Disposition from
RFC 6266.

disptype is a disposition type: inline, attachment, form-data.
Should be valid extension token (see RFC 2183)

quote_fields performs value quoting to 7-bit MIME headers
according to RFC 7578. Set to quote_fields to False if recipient
can take 8-bit file names and field values.

_charset specifies the charset to use when quote_fields is True.

params is a dict with disposition params.
zbad content disposition type z"bad content disposition parameter rI   Úfilenamer`   rŠ   z"%s"z''ré   rC   z\\rD   z\"z; c              3   óD   #   • U  H  nS R                  U5      v •  M     g7f)rI   N)Újoin)Ú.0Úpairs     rW   Ú	<genexpr>Ú-content_disposition_header.<locals>.<genexpr>ð  s   é € Ð?²w¨t˜CŸH™H TŸN˜N²wùs   ‚ )
ÚTOKENr   re   rÍ   r€   r   Úappendr#  r*  Úreplace)
r$  r%  r&  rï   ró   Úlparamsrñ   rÖ   ÚqvalÚsparamss
             rW   Úcontent_disposition_headerr5  Â  so  € ö( œE¤C¨£MÓ1ÜÐ8¸¹ÐEÓFÐFà€EßØˆØŸ™ž‰HˆCÞœu¤s¨3£xÓ/Ü Ð#EÀcÁWÈAÈcÉWÐ!UÓVÐVÞØ—9‘9“; *Ó,Ü   b°8Ñ<�DØ—N‘N C¨°$©Ð#7Ö8ð=Ü,¨SÓ1˜ð  Ÿ™¨¨V°d©]Ð';Ö<à—{‘{ 4¨Ó0×8Ñ8¸¸eÓD�Ø—‘  V¨d¡]Ð3Ö4ñ' 'ð( —)‘)Ñ?±wÓ?Ó?ˆØ—	‘	˜5Ð*Ó+ˆØ€Løô &ó :Ø!Ÿw™wØ% t¬U°3¸ÀXÑ-NÐOó ˜ð  Ÿ™¨¨c©	°4Ð'8×9Ð9ð	:ús   Â7EÅ=FÆFc                 ój   • U (       d  gSU ;   =(       d     U R                  SS5      R                  5       $ )z}Check if host looks like an IP Address.

This check is only meant as a heuristic to ensure that
a host is not a domain name.
FrB   Ú.r`   )r1  Úisdigit)rÁ   s    rW   Úis_ip_addressr9  õ  s/   € ö Øð �$‰;×9˜$Ÿ,™, s¨BÓ/×7Ñ7Ó9Ð9r_   c                 ó:  • U R                  S5      n[        U5      S:w  a  gU Ht  nS[        U5      s=::  a  S::  a.  O    gUR                  5       (       a  UR                  5       (       d    gUS   S:X  a  [        U5      S:w  a    g[	        U5      S:”  d  Mt    g   g	)
zÃCheck if host is a canonical dotted-quad IPv4 address.

Rejects the legacy numeric forms that ``socket`` still accepts and
maps onto an address, e.g. ``2130706433``, ``017700000001``, ``127.1``.
r7  é   Fr#   r'   r   Ú0éÿ   T)r   ÚlenÚisasciir8  Úint)rÁ   rî   Úparts      rW   Úis_canonical_ipv4_addressrB    s„   € ð �J‰J�s‹O€EÜ
ˆ5ƒz�QƒØÛˆð ”S˜“YÕ# !Õ#Ùð -1¯L©L¯N©NÀ$Ç,Á,Ç.Á.ÙØ�‰7�c‹>œc $›i¨1›nÙÜˆt‹9�s�?Ùñ ð r_   Ú_cached_current_datetimec                  ó¾   • [        [        R                  " 5       5      n U [        :w  a0  SnSn[        R                  " U 5      tp4pVpxpšSX   UX$   UUUU4-  qU q[        $ )N)ÚMonÚTueÚWedÚThuÚFriÚSatÚSun)r`   ÚJanÚFebÚMarÚAprÚMayÚJunÚJulÚAugÚSepÚOctÚNovÚDecz#%s, %02d %3s %4d %02d:%02d:%02d GMT)r@  ÚtimerC  ÚgmtimeÚ_cached_formatted_datetime)ÚnowÚ_weekdaynameÚ
_monthnameÚyearÚmonthÚdayÚhhÚmmÚssÚwdÚtails              rW   Úrfc822_formatted_timerf    s   € ô Œd�iŠi‹kÓ
€CØ
Ô&Ó&ð Iˆð
ˆ
ô  37·+²+¸cÓ2BÐ/ˆ�S˜b bØ%JØÑØØÑØØØØðN
ñ &
Ð"ð $'Ð Ü%Ð%r_   c                 ó”   • U u  pU" 5       nUb)  [        [        5         [        X25      " 5         S S S 5        g g ! , (       d  f       g = frS   )r	   Ú	Exceptionr  )ÚinfoÚrefr  Úobs       rW   Ú_weakref_handlerl  D  s<   € Ø�I€CÙ	‹€BØ	�~Ü”iÕ Ü�BÔÔ÷ !Ð ð ß Õ ús	   ž9¹
Ark  r  ÚtimeoutÚloopÚtimeout_ceil_thresholdc                 ó¶   • UbV  US:”  aP  UR                  5       U-   nX$:¼  a  [        U5      nUR                  U[        [        R
                  " U 5      U45      $ g ©Nr   )rX  r   Úcall_atrl  Úweakrefrj  )rk  r  rm  rn  ro  Úwhens         rW   Úweakref_handleru  L  sR   € ð Ñ˜w¨›{Ø�y‰y‹{˜WÑ$ˆØÓ,Ü˜“:ˆDà�|‰|˜D¤/´G·K²KÀ³OÀTÐ3JÓKÐKØr_   Úcbc                 óp   • Ub  US::  a  g UR                  5       n[        XAU5      nUR                  XP5      $ rq  )rX  Úcalculate_timeout_whenrr  )rv  rm  rn  ro  r[  rt  s         rW   Ú
call_laterry  \  s9   € ð �˜' Q›,ØØ
�)‰)‹+€CÜ! #Ð0FÓG€DØ�<‰<˜Ó!Ð!r_   Ú	loop_timeÚtimeout_ceiling_thresholdc                 ó.   • X-   nX:”  a  [        U5      $ U$ )z$Calculate when to execute a timeout.r   )rz  rm  r{  rt  s       rW   rx  rx  i  s!   € ð Ñ€DØÓ*Ü�D‹zÐØ€Kr_   c            	       ó¼   • \ rS rSrSrSr SS\R                  S\S-  S\SS4S	 jjr	S
\
S   S\S\SS4S jrSS jrS\R                  S-  4S jrSS jrSS jrSrg)ÚTimeoutHandleiu  zTimeout handle©Ú_timeoutÚ_loopÚ_ceil_thresholdÚ
_callbacksrn  rm  NÚceil_thresholdrQ   c                 ó6   • X l         Xl        X0l        / U l        g rS   r  )rV   rn  rm  r„  s       rW   rü   ÚTimeoutHandle.__init__z  s    € ð  ŒØŒ
Ø-Ôð ð 	�r_   Úcallback).NÚargsÚkwargsc                 ó>   • U R                   R                  XU45        g rS   )rƒ  r0  )rV   r‡  rˆ  r‰  s       rW   ÚregisterÚTimeoutHandle.register‡  s   € ð 	�‰×Ñ °Ð7Õ8r_   c                 ó8   • U R                   R                  5         g rS   )rƒ  ÚclearrU   s    rW   ÚcloseÚTimeoutHandle.closeŒ  s   € Ø�‰×ÑÕr_   c                 óæ   • U R                   nUbb  US:”  a\  U R                  R                  5       U-   nXR                  :¼  a  [	        U5      nU R                  R                  X R                  5      $ g rq  )r€  r�  rX  r‚  r   rr  Ú__call__)rV   rm  rt  s      rW   ÚstartÚTimeoutHandle.start�  s]   € Ø—-‘-ˆØÑ 7¨Q£;Ø—:‘:—?‘?Ó$ wÑ.ˆDØ×.Ñ.Ó.Ü˜D“z�Ø—:‘:×%Ñ% d¯M©MÓ:Ð:àr_   c                 ó´   • U R                   bB  U R                   S:”  a2  [        U R                  5      nU R                  UR                  5        U$ [        5       $ rq  )r€  ÚTimerContextr�  r‹  rm  Ú	TimerNoop)rV   Útimers     rW   r˜  ÚTimeoutHandle.timer™  sB   € Ø�=‰=Ñ$¨¯©¸Ó):Ü  §¡Ó,ˆEØ�M‰M˜%Ÿ-™-Ô(ØˆLä“;Ðr_   c                 óÈ   • U R                    H&  u  pn[        [        5         U" U0 UD6  S S S 5        M(     U R                   R                  5         g ! , (       d  f       MT  = frS   )rƒ  r	   rh  rŽ  )rV   rv  rˆ  r‰  s       rW   r’  ÚTimeoutHandle.__call__¡  sM   € Ø $§¤ÑˆB�fÜœ)Õ$Ù�DÐ#˜FÒ#÷ %Ñ$ñ !0ð 	�‰×ÑÕ÷ %Ö$ús   ¢	AÁ
A!	)rƒ  r‚  r�  r€  ©é   r  )rQ   ÚBaseTimerContext)rZ   r[   r\   r]   r—   Ú	__slots__ÚasyncioÚAbstractEventLoopÚfloatrü   r   r   r‹  r�  ÚTimerHandler“  r˜  r’  r^   rT   r_   rW   r~  r~  u  s”   † ÙàF€Ið !"ñ	à×'Ñ'ðð ˜‘ðð ð	ð
 
õð9Ø  Ñ+ð9Ø47ð9ØCFð9à	ô9ô
 ð�w×*Ñ*¨TÑ1ô ô÷ r_   r~  c                   ó"   • \ rS rSrSrSS jrSrg)rž  i©  rT   Nc                 ó   • g)z0Raise TimeoutError if timeout has been exceeded.NrT   rU   s    rW   Úassert_timeoutÚBaseTimerContext.assert_timeout­  s   � r_   r  )rZ   r[   r\   r]   rŸ  r¦  r^   rT   r_   rW   rž  rž  ©  s   † à€I÷?r_   rž  c                   óX   • \ rS rSrSrS\4S jrS\\   S-  S\S-  S\	S-  SS4S	 jr
Srg)
r—  i±  rT   rQ   c                 ó   • U $ rS   rT   rU   s    rW   Ú	__enter__ÚTimerNoop.__enter__µ  s   € Øˆr_   Úexc_typeNÚexc_valÚexc_tbc                 ó   • g rS   rT   )rV   r¬  r­  r®  s       rW   Ú__exit__ÚTimerNoop.__exit__¸  s   € ð 	r_   )rZ   r[   r\   r]   rŸ  rž  rª  rá   ÚBaseExceptionr   r°  r^   rT   r_   rW   r—  r—  ±  sS   † à€IðÐ+ô ðà�}Ñ%¨Ñ,ðð  Ñ%ðð  Ñ$ð	ð
 
÷r_   r—  c            	       óœ   • \ rS rSrSrSrS\R                  SS4S jrSS jr	S\
4S	 jrS
\\   S-  S\S-  S\S-  S\S-  4S jrSS jrSrg)r–  iÁ  z&Low resolution timeout context manager©r�  Ú_tasksÚ
_cancelledÚ_cancellingrn  rQ   Nc                 ó:   • Xl         / U l        SU l        SU l        g )NFr   r´  )rV   rn  s     rW   rü   ÚTimerContext.__init__Æ  s   € ØŒ
Ø/1ˆŒØˆŒØˆÕr_   c                 óH   • U R                   (       a  [        R                  Seg)z7Raise TimeoutError if timer has already been cancelled.N)r¶  r   ÚTimeoutErrorrU   s    rW   r¦  ÚTimerContext.assert_timeoutÌ  s   € à�?�?Ü×&Ñ&¨DÐ0ð r_   c                 ó*  • [         R                  " U R                  S9nUc  [        S5      e[        R
                  S:¼  a  UR                  5       U l        U R                  (       a  [         R                  S eU R                  R                  U5        U $ )N)rn  z4Timeout context manager should be used inside a taskr&   )r   Úcurrent_taskr�  r©   ÚsysÚversion_infoÚ
cancellingr·  r¶  r»  rµ  r0  ©rV   Útasks     rW   rª  ÚTimerContext.__enter__Ñ  sr   € Ü×#Ò#¨¯©Ñ4ˆØ‰<ÜÐUÓVÐVä×Ñ˜wÓ&ð  $Ÿ™Ó0ˆDÔà�?�?Ü×&Ñ&¨DÐ0à�‰×Ñ˜4Ô Øˆr_   r¬  r­  r®  c                 ó8  • S nU R                   (       a  U R                   R                  5       nU[        R                  L aZ  U R                  (       aI  Uc   e[
        R                  S:¼  a  UR                  5       U R                  :”  a  g [        R                  Ueg )Nr&   )
rµ  Úpopr   ÚCancelledErrorr¶  r¿  rÀ  Úuncancelr·  r»  )rV   r¬  r­  r®  Ú
enter_tasks        rW   r°  ÚTimerContext.__exit__â  s}   € ð 04ˆ
Ø�;�;ØŸ™Ÿ™Ó*ˆJà”w×-Ñ-Ò-°$·/·/ØÑ)Ð)Ð)ô ×Ñ 7Ó*ð ×&Ñ&Ó(¨4×+;Ñ+;Ó;ØÜ×&Ñ&¨GÐ3Ør_   c                 óŽ   • U R                   (       d4  [        U R                  5       H  nUR                  5         M     SU l         g g ©NT)r¶  r   rµ  ÚcancelrÂ  s     rW   rm  ÚTimerContext.timeoutú  s3   € Ø��Ü˜DŸK™KÖ(�Ø—‘–ñ )ð #ˆD�Oð	 r_   )r¶  r·  r�  rµ  r  )rZ   r[   r\   r]   r—   rŸ  r   r¡  rü   r¦  rž  rª  rá   r²  r   Úboolr°  rm  r^   rT   r_   rW   r–  r–  Á  s}   † Ù0à@€Ið˜W×6Ñ6ð ¸4ô ô1ð
Ð+ô ð"à�}Ñ%¨Ñ,ðð  Ñ%ðð  Ñ$ð	ð
 
�‰ô÷0#r_   r–  Údelayr„  c                 óÞ   • U b  U S::  a  [         R                  " S 5      $ [        R                  " 5       nUR	                  5       nX0-   nX:”  a  [        U5      n[         R                  " U5      $ rq  )Úasync_timeoutrm  r   Úget_running_looprX  r   Ú
timeout_at)rÐ  r„  rn  r[  rt  s        rW   Úceil_timeoutrÕ    s`   € ð �}˜ ›
Ü×$Ò$ TÓ*Ð*ä×#Ò#Ó%€DØ
�)‰)‹+€CØ‰;€DØÓÜ�D‹zˆÜ×#Ò# DÓ)Ð)r_   c                   óö   • \ rS rSr% Sr\" / SQ5      r\\   \	S'   Sr
\S-  \	S'   Sr\\\4   S-  \	S'   \r\S-  \-  \	S'   S	\S-  S
S4S jr\S
\4S j5       r\S
\S-  4S j5       r\S
\S-  4S j5       rSrg)ÚHeadersMixini  zMixin for handling headers.)Ú_content_typeÚ_content_dictÚ_stored_content_typeÚ_headersNrØ  rÙ  rÚ  r  rQ   c                 ó„   • Xl         Uc  SU l        0 U l        g [        U5      u  p#X l        UR	                  5       U l        g rû   )rÚ  rØ  rÙ  r  Úcopy)rV   r  r  Úcontent_mapping_proxys       rW   Ú_parse_content_typeÚ HeadersMixin._parse_content_type  sA   € Ø$'Ô!Ø‰;à!;ˆDÔØ!#ˆDÕä2DÀSÓ2IÑ/ˆLØ!-Ôà!6×!;Ñ!;Ó!=ˆDÕr_   c                 óÌ   • U R                   R                  [        R                  5      nU R                  U:w  a  U R                  U5        U R                  c   eU R                  $ )z7The value of content part for Content-Type HTTP header.)rÛ  r§   r$   ÚCONTENT_TYPErÚ  rß  rØ  ©rV   r  s     rW   r  ÚHeadersMixin.content_type&  sX   € ð �m‰m×Ñ¤× 1Ñ 1Ó2ˆØ×$Ñ$¨Ó+Ø×$Ñ$ SÔ)Ø×!Ñ!Ñ-Ð-Ð-Ø×!Ñ!Ð!r_   c                 óê   • U R                   R                  [        R                  5      nU R                  U:w  a  U R                  U5        U R                  c   eU R                  R                  S5      $ )z7The value of charset part for Content-Type HTTP header.Úcharset)rÛ  r§   r$   râ  rÚ  rß  rÙ  rã  s     rW   ræ  ÚHeadersMixin.charset/  sc   € ð �m‰m×Ñ¤× 1Ñ 1Ó2ˆØ×$Ñ$¨Ó+Ø×$Ñ$ SÔ)Ø×!Ñ!Ñ-Ð-Ð-Ø×!Ñ!×%Ñ% iÓ0Ð0r_   c                 ót   • U R                   R                  [        R                  5      nUc  S$ [	        U5      $ )z(The value of Content-Length HTTP header.N)rÛ  r§   r$   ÚCONTENT_LENGTHr@  )rV   Úcontent_lengths     rW   rê  ÚHeadersMixin.content_length8  s3   € ð Ÿ™×*Ñ*¬4×+>Ñ+>Ó?ˆØ%Ñ-ˆtÐF´3°~Ó3FÐFr_   )rÙ  rØ  rÚ  )rZ   r[   r\   r]   r—   Ú	frozensetÚATTRSr    r˜   r¿   rØ  rÙ  r  r2   rÚ  r1   rß  Úpropertyr  ræ  r@  rê  r^   rT   r_   rW   r×  r×    sÇ   ‡ Ù%áÒPÓQ€Eà˜3ÑÓØ $€M�3˜‘:Ó$Ø+/€M�4˜˜S˜‘> DÑ(Ó/Ø3;Ð˜# ™* yÑ0Ó;ð
> s¨T¡zð 
>°dô 
>ð ð"˜có "ó ð"ð ð1˜˜t™ó 1ó ð1ð ðG  d¡
ó Gó óGr_   r×  Úfutzasyncio.Future[_T]Úresultc                 óR   • U R                  5       (       d  U R                  U5        g g rS   )ÚdoneÚ
set_result)rï  rð  s     rW   ró  ró  ?  s   € Ø�8‰8�:‰:Ø�‰�vÕð r_   c                   ó0   • \ rS rSr SS\S\SS4S jjrSrg)	ÚErrorableProtocoliG  ÚexcÚ	exc_causerQ   Nc                 ó   • g rS   rT   )rV   rö  r÷  s      rW   Úset_exceptionÚErrorableProtocol.set_exceptionH  s   € ð r_   rT   ©.)rZ   r[   r\   r]   r²  rù  r^   rT   r_   rW   rõ  rõ  G  s-   † ð $'ñàðð !ðð 
÷	ð r_   rõ  z&asyncio.Future[_T] | ErrorableProtocolrö  r÷  c                 óÆ   • [         R                  " U 5      (       a  U R                  5       (       a  gU[        L nXL nU(       d  U(       d  X!l        U R                  U5        g)zÁSet future exception.

If the future is marked as complete, this function is a no-op.

:param exc_cause: An exception that is a direct cause of ``exc``.
                  Only set if provided.
N)r   Úisfuturerò  Ú_EXC_SENTINELÚ	__cause__rù  )rï  rö  r÷  Úexc_is_sentinelÚexc_causes_itselfs        rW   rù  rù  O  sN   € ô ×Ò˜×Ñ §¡§¡Øà¤=Ð0€OØÐ(ÐÞÖ#4Ø!Œà×Ñ�cÕr_   c                   óp   • \ rS rSr% SrSr\\   \S'   SS\	S\\
   S-  4S jjrS	\S
\4S jrS
\	4S jrSrg)ÚBaseKeyif  z�Base for concrete context storage key classes.

Each storage is provided with its own sub-class for the sake of some additional type safety.
)Ú_nameÚ_tÚ__orig_class__r  Nr  Útc                 óà   • [         R                  " 5       nU(       a?  UR                  R                  S:X  a  UR                  S   nOUR
                  nU(       a  M?  WS-   U-   U l        X l        g )Nz<module>rZ   r7  )ÚinspectÚcurrentframeÚf_codeÚco_nameÚ	f_globalsÚf_backr  r  )rV   r  r  ÚframeÚmodules        rW   rü   ÚBaseKey.__init__t  s]   € ä×$Ò$Ó&ˆÞØ�|‰|×#Ñ# zÓ1Ø#Ÿo™o¨jÑ9�ØØ—L‘LˆE÷	 ˆeð ˜c‘\ DÑ(ˆŒ
Ø�r_   ÚotherrQ   c                 ó`   • [        U[        5      (       a  U R                  UR                  :  $ grÌ  )r�   r  r  )rV   r  s     rW   Ú__lt__ÚBaseKey.__lt__€  s%   € Ü�eœW×%Ñ%Ø—:‘: §¡Ñ+Ð+Ør_   c                 ó´  • U R                   nUc0  [        [        5         [        U R                  5      S   nS S S 5        Uc  SnOY[        U[        5      (       a9  UR                  S:X  a  UR                  nO'UR                   SUR                   3nO[        U5      nSU R                  R                   SU R                   SU S3$ ! , (       d  f       N—= f)	Nr   z<<Unknown>>Úbuiltinsr7  r=   r;   z, type=z)>)r  r	   ÚAttributeErrorr   r  r�   rá   r[   r\   Úreprrx   rZ   r  )rV   r  Út_reprs      rW   Ú__repr__ÚBaseKey.__repr__…  sµ   € Ø�G‰GˆØ‰9Üœ.Õ)ä˜T×0Ñ0Ó1°!Ñ4�÷ *ð ‰9Ø"‰FÜ˜œ4× Ñ Ø�|‰|˜zÓ)ØŸ™‘àŸL™L˜>¨¨1¯>©>Ð*:Ð;‘ä˜!“WˆFØ�4—>‘>×*Ñ*Ð+¨1¨T¯Z©Z¨L¸À¸xÀrÐJÐJ÷ *Õ)ús   ŸC	Ã	
C)r  r  rS   )rZ   r[   r\   r]   r—   rŸ  rá   Úobjectr¿   r˜   r/   rü   rÏ  r  r  r^   rT   r_   rW   r  r  f  sV   ‡ ñð
 2€Ið
 ˜‘LÓ ñ
˜Sð 
 T¨"¡X°¡_õ 
ð˜Fð  tô ð
K˜#÷ Kr_   r  c                   ó   • \ rS rSrSrSrg)ÚAppKeyi˜  z.Keys for static typing support in Application.rT   N©rZ   r[   r\   r]   r—   r^   rT   r_   rW   r  r  ˜  s   † Ü8r_   r  c                   ó   • \ rS rSrSrSrg)Ú
RequestKeyiœ  z*Keys for static typing support in Request.rT   Nr   rT   r_   rW   r"  r"  œ  s   † Ü4r_   r"  c                   ó   • \ rS rSrSrSrg)ÚResponseKeyi   z+Keys for static typing support in Response.rT   Nr   rT   r_   rW   r$  r$     s   † Ü5r_   r$  c            	       ó®  • \ rS rSrSrS\\\\\	   -  \	4      SS4S jr
SS jr\S\\   S\4S	 j5       r\S\S\	4S
 j5       rS\\\   -  S\	4S jr\S\\   S\S\\-  4S j5       r\SS\\   SSS\S-  4S jj5       r\SS\S\	S\	4S jj5       rSS\\\   -  S\	S\	4S jjrS\4S jrS\\\\	   -     4S jrS\S\4S jrS\4S jrS\4S jrSrg)r*   i¤  )Ú_mapsÚmapsrQ   Nc                 ó$   • [        U5      U l        g rS   )rž   r&  )rV   r'  s     rW   rü   ÚChainMapProxy.__init__§  s   € Ü˜4“[ˆ�
r_   c                 ó4   • [        SU R                   S35      e)NzInheritance class z  from ChainMapProxy is forbidden)rŽ   rZ   )rw   s    rW   Ú__init_subclass__ÚChainMapProxy.__init_subclass__ª  s    € ÜØ  §¡ Ð.NÐOó
ð 	
r_   rñ   c                 ó   • g rS   rT   ©rV   rñ   s     rW   Ú__getitem__ÚChainMapProxy.__getitem__¯  s   € Ø25r_   c                 ó   • g rS   rT   r.  s     rW   r/  r0  ²  s   € Ø,/r_   c                 ój   • U R                    H  n X!   s  $    [        U5      e! [         a     M$  f = frS   )r&  rÛ   )rV   rñ   Úmappings      rW   r/  r0  µ  s=   € Ø—z”zˆGðØ‘|Ò#ñ "ô
 �s‹mÐøô ó Úðús   ‘$¤
2±2r  c                 ó   • g rS   rT   ©rV   rñ   r  s      rW   r§   ÚChainMapProxy.get½  s   € Ø<?r_   c                 ó   • g rS   rT   r5  s      rW   r§   r6  À  s   € ØFIr_   c                 ó   • g rS   rT   r5  s      rW   r§   r6  Ã  s   € Ø8;r_   c                 ó0   •  X   $ ! [          a    Us $ f = frS   )rÛ   r5  s      rW   r§   r6  Æ  s#   € ð	Ø‘9ÐøÜó 	ØŠNð	ús   ‚ †”c                 óV   • [        [        5       R                  " U R                  6 5      $ rS   )r>  r   Úunionr&  rU   s    rW   Ú__len__ÚChainMapProxy.__len__Ì  s   € ä”3“5—;’; §
¡
Ð+Ó,Ð,r_   c                 óv   • 0 n[        U R                  5       H  nUR                  U5        M     [        U5      $ rS   )Úreversedr&  ÚupdateÚiter)rV   Údr3  s      rW   Ú__iter__ÚChainMapProxy.__iter__Ð  s1   € Ø*,ˆÜ §
¡
Ö+ˆGà�H‰H�WÖñ ,ô �A‹wˆr_   c                 óB   ^• [        U4S jU R                   5       5      $ )Nc              3   ó.   >#   • U  H
  nTU;   v •  M     g 7frS   rT   )r+  Úmrñ   s     €rW   r-  Ú-ChainMapProxy.__contains__.<locals>.<genexpr>Ø  s   øé € Ð0¢Z �3˜!–8¢Zùs   ƒ©Úanyr&  r.  s    `rW   Ú__contains__ÚChainMapProxy.__contains__×  s   ø€ ÜÔ0 T§Z¢ZÓ0Ó0Ð0r_   c                 ó,   • [        U R                  5      $ rS   rI  rU   s    rW   Ú__bool__ÚChainMapProxy.__bool__Ú  s   € Ü�4—:‘:‹Ðr_   c                 ó`   • SR                  [        [        U R                  5      5      nSU S3$ )Nz, zChainMapProxy(r<   )r*  Úmapr  r&  )rV   r  s     rW   r  ÚChainMapProxy.__repr__Ý  s*   € Ø—)‘)œC¤ d§j¡jÓ1Ó2ˆØ ˜y¨Ð*Ð*r_   r  rû  rS   )rZ   r[   r\   r]   rŸ  r   r   r˜   r  r   rü   r+  r   r/   r/  r0   r§   r@  r<  r   rC  r  rÏ  rK  rN  r  r^   rT   r_   rW   r*   r*   ¤  sf  † Ø€Ið!˜X g¨c°F¸3±KÑ.?ÀÐ.DÑ&EÑFð !È4ô !ô
ð
 Ø5˜v b™zÐ5¨bÓ5ó Ø5àØ/˜sÐ/ sÓ/ó Ø/ð˜s V¨B¡ZÑ/ð °Cô ð Ø?�v˜b‘zÐ?¨BÐ?°2¸±7Ó?ó Ø?àÙI�v˜b‘zÐI¨DÐI¸2À¹9ÔIó ØIàÙ;�sÐ; SÐ;°3Ô;ó Ø;ñ�s˜V B™ZÑ'ð °#ð Àõ ð-˜ô -ð˜( 3¨°©Ñ#4Ñ5ô ð1 ð 1¨4ô 1ð˜$ô ð+˜#÷ +r_   r*   z[!\x23-\x7E\x80-\xff]+z(W/)?"(z)"z)(?:\s*,\s*|$)|(.)ré   c                   ó.   • \ rS rSr% \\S'   Sr\\S'   Srg)r+   iì  ró   FÚis_weakrT   N)	rZ   r[   r\   r]   r˜   r¿   rT  rÏ  r^   rT   r_   rW   r+   r+   ì  s   ‡ àƒJØ€GˆTÖr_   r+   ró   c                 ón   • U [         :w  a+  [        R                  U 5      (       d  [        SU < S35      eg g )NzValue z, is not a valid etag. Maybe it contains '"'?)ÚETAG_ANYÚ	_ETAGC_REÚ	fullmatchre   )ró   s    rW   Úvalidate_etag_valuerY  ò  s<   € Ø”Ó¤×!4Ñ!4°U×!;Ñ!;ÜØ�U‘IÐJÐKó
ð 	
ð "<Ðr_   Údate_strc                 óÜ   • U bX  [        U 5      nUbJ  [        [        5         [        R                  " USS S[        R                  R
                  06sSSS5        $ g! , (       d  f       g= f)z/Process a date string, return a datetime objectNé   Útzinfo)r   r	   re   ÚdatetimeÚtimezoneÚutc)rZ  Ú	timetuples     rW   Úparse_http_daterb  ù  s\   € àÑÜ˜hÓ'ˆ	ØÑ Üœ*Õ%Ü×(Ò(¨)°B°Q¨-ÐVÄ×@QÑ@Q×@UÑ@UÑV÷ &Ñ%à÷ &Ô%àús   ¡1AÁ
A+ÚmethodÚcodec                 ó    • U[         ;   =(       d?    U [        ;   =(       d/    SUs=:*  =(       a    S:  Os  =(       a    U [        R                  :H  $ )z-Check if a request must return an empty body.r6   é,  )ÚEMPTY_BODY_STATUS_CODESÚEMPTY_BODY_METHODSr$   ÚMETH_CONNECT©rc  rd  s     rW   Úmust_be_empty_bodyrk    sE   € ð 	Ô'Ñ'÷ 	?ØÔ'Ñ'÷	?à�4×Ó˜#Ô×= &¬D×,=Ñ,=Ñ"=ðr_   c                 ó€   • U[         ;   =(       d/    SUs=:*  =(       a    S:  Os  =(       a    U [        R                  :H  $ )zjCheck if a Content-Length header should be removed.

This should always be a subset of must_be_empty_body
r6   rf  )rg  r$   ri  rj  s     rW   Úshould_remove_content_lengthrm    s7   € ð Ô*Ñ*÷ Øˆt×Ó�cÔ×9˜f¬×(9Ñ(9Ñ9ðr_   )r`   úutf-8r–   rS   )Trn  )ri  ztuple[weakref.ref[object], str]rQ   Nrœ  )©r—   r   rg   r‚   r°   r^  ÚenumÚ	functoolsr	  r¬   r¥   ÚplatformÚrer¿  rX  rr   rs  Úcollectionsr   Úcollections.abcr   r   r   r   r   r	   Úemail.messager
   Úemail.parserr   Úemail.policyr   Úemail.utilsr   Úmathr   Úpathlibr   Útypesr   r   Útypingr   r   r   r   r   r   r   r   Úurllib.parser   Úurllib.requestr   r   ÚattrÚ	multidictr   r   r    Úpropcache.apir!   r,   Úyarlr"   r`   r$   Úlogr%   rÀ  rÒ  Ú__all__ÚsystemÚIS_MACOSr«   ÚPY_311ÚDEFAULT_CHUNK_SIZEr/   r0   ÚEnumr1   r2   rÏ  r¦   r§   ÚNO_EXTENSIONSrì  Úrangerg  Ú	METH_HEADrh  ÚflagsÚdev_modeÚignore_environmentÚDEBUGÚchrÚCHARÚCTLÚ
SEPARATORSr/  rO   r˜   rk   r)   r„   rž   r¡   r·   Úsr¼   rÇ   r  rØ   rÞ   rà   Ú	lru_cacher÷   rù   r  r  Úcompiler!  r  r#  r5  r9  rB  rC  r@  r¿   rZ  rf  rl  r  r¢  r¡  r£  ru  ry  rx  r~  rž  r—  r–  ÚTimeoutrÕ  r×  ró  r²  rþ  rõ  rù  Útotal_orderingr  r  r"  r$  r*   Ú_ETAGCrW  Ú_QUOTED_ETAGÚQUOTED_ETAG_REÚLIST_QUOTED_ETAG_RErV  r+   rY  rb  rk  rm  )Úis   0rW   Ú<module>rŸ     s  ðÚ ã Û Û Û Û Û Û Û Û Û 	Û Û 	Û 
Û Û Û Ý "ß LÕ LÝ Ý &Ý %Ý Ý !Ý Ý ß 1÷	÷ 	ó 	õ ß 3ã ß =Ñ =Ý 8Ý å Ý à×Ñ�wÓÜ#ãà
9€à�?Š?Ó Ñ(€Ø�_Š_Ó )Ñ+€
à	×	Ñ	˜WÑ	$€ð
 Ð áˆTƒ]€ÙˆTƒ]€à�IŠI�k :Ó.€	Ø×Ñ€á�R—Z‘Z—^‘^Ð$;Ó<Ó=€ñ $ S¨#Ð$@±°c¸3³Ñ$@ÓAÐ ñ  §¡Ð/Ó0Ð à�	‰	×Ñ÷ 	Ø�	‰	×$Ñ$Ô$×S©¨b¯j©j¯n©nÐ=QÓ.RÓ)Sð ñ
 ˜a œÓ&š�1‰ˆAŽ™Ñ&€Ù˜Q ”|Ó$’|�!�sˆ1†v‘|Ñ$ÙˆƒHð(ñ €ð ØØØØØØØØØØØØØØØØØÙˆƒFð'€
ð* 	ˆs‰
�ZÑ€÷ñ ñ
	?˜Sð 	?¨Cð 	?Àð 	?ÐRUõ 	?ôBK‘
˜;Ò(IÓJô BKðL 5=ñAØðAØðAØ.1ðAàõAðX˜Sð X U¨3°	¸DÑ0@Ð+@Ñ%Aô Xð(˜Ÿ™ dÑ*ô (ðV ‡‚�T $¨dÑ3÷!ð !ó 4ð!ð
3 E§K¡K°$Ñ$6ð 3¸cð 3Àiô 3ð:˜$˜s I˜~Ñ.ô ð47˜sð 7 u¨S°)¸dÑ2BÐ-BÑ'Cô 7ð ‡‚�T $¨dÑ3÷&ð &ó 4ð&ð ×Ò˜RÑ ð$˜Sð $ Xó $ó !ð$ôN˜ô ð2 ×Ò˜RÑ ð8˜Cð 8 E¨#Ð/?ÀÀSÀÑ/IÐ*IÑ$Jó 8ó !ð8ñ˜ð  c¨D¡jð ¸CÀ$¹Jõ ð �zŠzÐ6Ó7€Ù! $¨Ô-Ó.Ò-�q‰C�ŽFÑ-Ñ.°$°Ñ7€ð
B˜3ð 
B 3ô 
Bð ?Fñ0Øð0Ø!%ð0Ø8;ð0ØQTð0àõ0ðf
:˜˜d™
ð 
: tô 
:ð Cð ¨Dô ð, (,Ð ˜# ™*Ó +ØÐ ð%&˜sô %&ôP ð %&ñØðà
ðð ðð ×
#Ò
#ð	ð
 "ðð ×Ò˜4Ñõð( %&ñ	
"Ø��S�Ñð
"àð
"ð ×
#Ò
#ð
"ð "ð	
"ð
 ×Ò˜4Ñõ
"ð	Øð	àð	ð  %ð	ð ô		÷1 ñ 1 ôh?�~Ð&8Ñ9ô ?ôÐ ô ô >#Ð#ô >#ðD 23ñ*Ø�4‰<ð*Ø).ð*à×Òõ*÷,Gñ ,Gð^Ð(ð °"ð ¸ô ñ
 “€ô˜ô ð  -ñØ	1ðà	ðð ðð 
õ	ð. ×Òô.Kˆg�b‰kó .Kó ð.Kôb9ˆW�R‰[ô 9ô5�˜‘ô 5ô6�'˜"‘+ô 6ô;+�G˜C &¨¡+Ñ-¨sÐ2Ñ3ô ;+ð~ 
#€Ø�JŠJ�vÓ€	Ø˜&˜ Ð$€Ø—’˜LÓ)€Ø—j’j A l ^Ð3EÐ!FÓGÐ à€ð ‡‚�T $¨dÑ3÷ð ó 4ðð

˜sð 
 tô 
ð˜c D™jð ¨X×->Ñ->ÀÑ-Eô ð ×Ñð˜sð ¨#ð °$ó ó ðð	¨ð 	°Cð 	¸Dõ 	ùòo 'ùÚ$ùòv
 /s   ÈXÈ(XÎ<X