Ë
    rPêj~›  ã                   ó^  — U 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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mZmZ d dlmZmZmZ d dlmZ d dlmZmZ d dlmZ dd	l m!Z!m"Z"m#Z#m$Z$ dd
l%m&Z&m'Z' ddl(m)Z) ddl*m+Z+ ddl,m-Z-m.Z.m/Z/ dZ0ee1df   Z2e3e1e1f   Z4e3e1e1e1f   Z5e3de6e5f   Z7dZ8e5e9d<   djt                  Z;djt                  Z<dZ= e«       Z>dZ?dZ@dZAdZBdZCdZD eEd«      ZF eGd«      ZH G d„ de
j’                  «      ZJ G d„ de&«      ZK G d „ d!eK«      ZL G d"„ d#e&«      ZMy)$é    N)Údefaultdict)ÚIterableÚIteratorÚMappingÚSequence)Ú
BaseCookieÚMorselÚSimpleCookie©ÚMappingProxyType)ÚUnionÚcast)ÚURLé   )Ú_COOKIE_CTL_REÚ_encoded_lengthÚparse_set_cookie_headersÚ preserve_morsel_with_coded_value)ÚAbstractCookieJarÚClearCookiePredicate)Úis_ip_address)Úinternal_logger)ÚLooseCookiesÚPathLikeÚStrOrURL)Ú	CookieJarÚDummyCookieJarúMorsel[str])Ú r   r   Ú_UNLIMITED_COOKIE_KEYz{}/{}z{1}.{0}éd   é´   é–   iä  é¸  iþ  s   Cookie: )úmax-ageÚexpiresc                   ó`   ‡ — e Zd ZU dZ eh d£«      Zeeeef      ed<   dedede	fˆ fd„Z
ˆ xZS )Ú_RestrictedCookieUnpicklera@  A restricted unpickler that only allows cookie-related types.

    This prevents arbitrary code execution when loading pickled cookie data
    from untrusted sources. Only types that are expected in a serialized
    CookieJar are permitted.

    Subclasses :class:`pickle._Unpickler` (the pure-Python implementation)
    rather than :class:`pickle.Unpickler` because the accelerated unpickler
    on some implementations (notably PyPy) does not dispatch through
    :meth:`find_class` overrides.

    See: https://docs.python.org/3/library/pickle.html#restricting-globals
    >   ©ÚbuiltinsÚset©r*   Údict©r*   Útuple©r*   Ú	frozenset©Úcollectionsr   ©úhttp.cookiesr	   ©r5   r
   Ú_ALLOWED_CLASSESÚmoduleÚnameÚreturnc                 ó|   •— ||f| j                   vrt        j                  d|› d|› d�«      ‚t        ‰| �  ||«      S )NzForbidden class: ú.z‡. CookieJar.load() only allows cookie-related types for security. See https://docs.python.org/3/library/pickle.html#restricting-globals)r7   ÚpickleÚUnpicklingErrorÚsuperÚ
find_class)Úselfr8   r9   Ú	__class__s      €úV/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/aiohttp/cookiejar.pyr@   z%_RestrictedCookieUnpickler.find_classb   sU   ø€ Ø�Dˆ> ×!6Ñ!6Ñ6Ü×(Ñ(Ø# F 8¨1¨T¨Fð 3Xð Xóð ô
 ‰wÑ! &¨$Ó/Ð/ó    )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r1   r7   r/   ÚstrÚ__annotations__Útyper@   Ú__classcell__©rB   s   @rC   r(   r(   D   sM   ø… ññ 4=ò	
ó4Ð�i  c¨3 h¡Ñ0ó ð0 ð 0¨Cð 0°D÷ 0ñ 0rD   r(   c                   óh  ‡ — e Zd ZdZdZ ej                  d«      Z ej                  d«      Z ej                  d«      Z	 ej                  dej                  «      Z ej                  d«      Z eej                  j                  j!                  ej"                  j$                  ¬«      j'                  «       «      d	z
  Z	  ej,                   ej0                  e«      «       ed	z
  Zdddddœdededeee   z  dz  dej@                  dz  ddf
ˆ fd„Z!e"defd„«       Z#e"defd„«       Z$e"de%e&   fd„«       Z'e"de(e)e*e*f   e+f   fd„«       Z,e"de%e)e*e*e*f      fd„«       Z-de.ddfd„Z/de.ddfd„Z0dKd„Z1dLd„Z2de3e*e3e*e3e*e*ez  e4z  f   f   f   ddfd „Z5dMd!e6dz  ddfd"„Z7d#e*ddfd$„Z8dNd%„Z9defd&„Z:dOd'„Z;d(e<e=   ddfd)„Z>d#e*d*edefd+„Z?dOd,„Z@d-e4d#e*d.e*d/e*ddf
d0„ZA e&«       fd1eBd2e&ddfd3„ZCd4eDe*   d2e&ddfd5„ZEddd6œd1eBd2e&d7ed8e4dz  d9eddfd:„ZF e&«       fd;e&dd<fd=„ZGd>e3e*eHf   d?e*dd<fd@„ZIeJdAeKe*   defdB„«       ZLdCeMd/e*dAeKe*   deHfdD„ZNdEeDe=   ddfdF„ZOdAeKe*   deKe*   fdG„ZPeJd#e*d?e*defdH„«       ZQeRdIe*dedz  fdJ„«       ZSˆ xZTS # e$ r  ej,                  d
«      ZY �ŒÄe$ r dZY �ŒÍw xY w)Pr   z/Implements cookie storage adhering to RFC 6265.Tz][\x09\x20-\x2F\x3B-\x40\x5B-\x60\x7B-\x7E]*(?P<token>[\x00-\x08\x0A-\x1F\d:a-zA-Z\x7F-\xFF]+)z(\d{1,2}):(\d{1,2}):(\d{1,2})z	(\d{1,2})zG(jan)|(feb)|(mar)|(apr)|(may)|(jun)|(jul)|(aug)|(sep)|(oct)|(nov)|(dec)z	(\d{2,4}))Útzinfor   )	r$   é   é   é   é;   rS   éÿÿÿÿrT   rT   iÿÿÿFN©ÚunsafeÚquote_cookieÚtreat_as_secure_originÚlooprV   rW   rX   rY   r:   c          	      ó®  •— t         ‰| �  |¬«       t        t        «      | _        t        t
        «      | _        t        «       | _        || _	        || _
        |€t        «       | _        n¾t        |t        «      r t        |j                  «       h«      | _        nŽt        |t         «      r)t        t        |«      j                  «       h«      | _        nUt        |D �ch c];  }t        |t         «      rt        |«      j                  «       n|j                  «       ’Œ= c}«      | _        g | _        i | _        i | _        d| _        i | _        d| _        y c c}w )N©rY   r   )r?   Ú__init__r   r
   Ú_cookiesr-   Ú_morsel_cacher+   Ú_host_only_cookiesÚ_unsafeÚ_quote_cookier1   Ú_treat_as_secure_originÚ
isinstancer   ÚoriginrI   Ú_expire_heapÚ_expirationsÚ_access_generationsÚ_next_access_generationÚ_domain_countsÚ_cookie_count)rA   rV   rW   rX   rY   ÚurlrB   s         €rC   r\   zCookieJar.__init__’   s,  ø€ ô 	‰Ñ˜dÐÔ#Ü<GÌÓ<UˆŒÜLWÜóM
ˆÔô 47³5ˆÔØˆŒØ)ˆÔØ!Ð)Ü;D»;ˆDÕ(ÜÐ.´Ô4Ü+4Ð6L×6SÑ6SÓ6UÐ5VÓ+WˆDÕ(ÜÐ.´Ô4Ü+4ÜÐ+Ó,×3Ñ3Ó5Ð6ó,ˆDÕ(ô ,5ð  6öàô *4°C¼Ô)=”C˜“H—O‘OÔ%À3Ç:Á:Ã<ÑOòó,ˆDÔ(ð =?ˆÔØ57ˆÔØ:<ˆÔ Ø'(ˆÔ$Ø.0ˆÔØˆÕùòs   ÃA Ec                 ó   — | j                   S ©N)r`   ©rA   s    rC   rV   zCookieJar.unsafe¹   s   € à�|‰|ÐrD   c                 ó   — | j                   S rm   )ra   rn   s    rC   rW   zCookieJar.quote_cookie½   s   € à×!Ñ!Ð!rD   c                 ó   — | j                   S )zAReturn origins considered secure even over cleartext connections.)rb   rn   s    rC   rX   z CookieJar.treat_as_secure_originÁ   s   € ð ×+Ñ+Ð+rD   c                 ó,   — t        | j                  «      S )z&Return the cookies stored in this jar.)r   r]   rn   s    rC   ÚcookieszCookieJar.cookiesÆ   s   € ô   §¡Ó.Ð.rD   c                 ó,   — t        | j                  «      S )z0Return the host-only cookies stored in this jar.)r1   r_   rn   s    rC   Úhost_only_cookieszCookieJar.host_only_cookiesË   s   € ô ˜×0Ñ0Ó1Ð1rD   Ú	file_pathc                 óZ  — t        j                  |«      }i }| j                  j                  «       D ]º  \  \  }}}|› d|› �}i ||<   |j                  «       D ]“  \  }}|j                  |j
                  |j                  dœ}	|j                  D ]  }
|
t        v rŒ||
   }|sŒ||	|
<   Œ |||f| j                  v rd|	d<   | j                  j                  |||f«      x}�||	d<   |	||   |<   Œ• Œ¼ t        |ddd	„ ¬
«      5 }t        j                  ||d¬«       ddd«       y# 1 sw Y   yxY w)z¸Save cookies to a file using JSON format.

        :param file_path: Path to file where cookies will be serialized,
            :class:`str` or :class:`pathlib.Path` instance.
        ú|©ÚkeyÚvalueÚcoded_valueTÚ	host_onlyNÚexpires_timestampÚwúutf-8c                 ó0   — t        j                  | |d«      S )Ni€  )ÚosÚopen)ÚpathÚflagss     rC   ú<lambda>z CookieJar.save.<locals>.<lambda>ö   s   € ¤r§w¡w¨t°U¸EÓ'B€ rD   )ÚmodeÚencodingÚopeneré   )Úindent)ÚpathlibÚPathr]   Úitemsry   rz   r{   Ú	_reservedÚ_RELATIVE_EXPIRY_ATTRSr_   rf   Úgetr‚   ÚjsonÚdump)rA   ru   ÚdataÚdomainrƒ   Úcookiery   r9   ÚmorselÚmorsel_dataÚattrÚattr_valÚexpÚfs                 rC   ÚsavezCookieJar.saveÐ   sa  € ô —L‘L Ó+ˆ	ØDFˆØ&*§m¡m×&9Ñ&9Ó&;ò 	.Ñ"‰NˆV�T˜FØ�H˜A˜d˜VÐ$ˆCØˆD�‰IØ &§¡£ò .‘��fà!Ÿ:™:Ø#Ÿ\™\Ø#)×#5Ñ#5ñ>�ð #×,Ñ,ò 5�DØÔ5Ñ5Ø Ø% d™|�HÚØ,4˜ DÒ)ð5ð ˜D $Ð'¨4×+BÑ+BÑBØ/3�K Ñ,Ø×,Ñ,×0Ñ0°&¸$ÀÐ1EÓFÐF�CÐSØ7:�KÐ 3Ñ4Ø"-��S‘	˜$’ñ%.ð	.ô4 ØØØÙBô	
ð 	)ð
 Ü�I‰I�d˜A aÕ(÷	)÷ 	)ñ 	)ús   Ã?D!Ä!D*c                 ó²  — t        j                  |«      }	 |j                  dd¬«      5 }t        j                  |«      }ddd«       | j                  «       y# 1 sw Y   ŒxY w# t        j                  t        t        f$ r Y nw xY w|j                  d¬«      5 }t        |«      j	                  «       }ddd«       n# 1 sw Y   nxY w| j                  «       }j                  «       D ]Y  \  \  }}}|rt        j                  d|¬«      n	t        «       }	|j                  «       D ]  \  }
}|j                  |
|i|	d	¬
«       Œ Œ[ | j                  |«       y)a)  Load cookies from a file.

        Tries to load JSON format first. Falls back to loading legacy
        pickle format (using a restricted unpickler) for backward
        compatibility with existing cookie files.

        Replaces the current jar contents; loaded cookies pass through the
        same acceptance rules as :meth:`update_cookies`. A malformed file
        raises and leaves the jar unchanged.

        :param file_path: Path to file from where cookies will be
            imported, :class:`str` or :class:`pathlib.Path` instance.
        Úrr   )r†   r‡   NÚrb)r†   Úhttps©ÚschemeÚhostF©Úcopy_morsels)r‹   rŒ   r‚   r‘   ÚloadÚ_load_json_dataÚJSONDecodeErrorÚUnicodeDecodeErrorÚ
ValueErrorr(   Ú_new_loading_jarr�   r   ÚbuildÚ_update_cookiesÚ_replace_contents)rA   ru   r›   r“   ÚpickledÚloadedr”   Ú_rr   Úresponse_urlr9   r–   s               rC   r¦   zCookieJar.loadú   sB  € ô —L‘L Ó+ˆ	ð	Ø—‘ S°7�Ó;ð $¸qÜ—y‘y “|�÷$ð
 × Ñ  Ô&Ø÷$ð $ûä×$Ñ$Ô&8¼*ÐEò 	Ùð	úð �^‰^ ˆ^Ó&ð 	;¨!Ü0°Ó3×8Ñ8Ó:ˆG÷	;÷ 	;ñ 	;úà×&Ñ&Ó(ˆØ$+§M¡M£Oò 	YÑ ‰KˆV�Q˜ÙEKœ3Ÿ9™9¨G¸&ÕAÔQTÓQVˆLØ '§¡£ò Y‘��fØ×&Ñ&¨¨f ~°|ÐRWÐ&ÕXñYð	Yð 	×Ñ˜vÕ&s4   —A& ªAÁ A& ÁA#ÁA& Á&BÂBÂB?Â?Cc                 óp   — t        | j                  | j                  | j                  | j                  ¬«      S )NrU   )r   r`   ra   rb   Ú_looprn   s    rC   r«   zCookieJar._new_loading_jar  s/   € ÜØ—<‘<Ø×+Ñ+Ø#'×#?Ñ#?Ø—‘ô	
ð 	
rD   c                 óÊ   — | j                   }|j                  «        |j                  |j                   «       | j                  j                  |j                  «       || _         y rm   )r]   ÚclearÚupdateÚ__dict__)rA   r°   rr   s      rC   r®   zCookieJar._replace_contents$  sA   € à—-‘-ˆØ�‰ŒØ�‰�v—‘Ô'Ø�‰×Ñ˜VŸ_™_Ô-Øˆ�rD   r“   c           
      óì  — | j                  «       }|j                  «       D �]  \  }}|j                  dd«      \  }}|j                  «       D ]â  \  }}d}	|j                  d«      x}
�-	 t	        |
«      }	t        j                  |	«      st        |	«      ‚	 t        «       }|j                  |d   |d	   |d
   dœ«       |j                  D ]  }||v sŒ|dvsŒ||   ||<   Œ |j                  d«      rd|d<   |rt        j                  d|¬«      n	t        «       }|j                  ||i|d|	¬«       Œä �Œ | j!                  |«       y# t        t        t        f$ r}t        d|›d|›d�«      |‚d}~ww xY w)z<Replace contents, routing cookies through _update_cookies().rw   r   Nr}   zCookie z in z.: expiration timestamp must be a finite numberry   rz   r{   rx   r|   r   r”   r    r¡   F)r¥   Ú
expiration)r«   r�   Úsplitr�   ÚfloatÚmathÚisfiniterª   ÚOverflowErrorÚ	TypeErrorr	   Ú__setstate__rŽ   r   r¬   r­   r®   )rA   r“   r°   Úcompound_keyÚcookie_datar”   rƒ   r9   r—   rº   Úraw_expirationÚexcr–   r˜   r²   s                  rC   r§   zCookieJar._load_json_data,  sÄ  € ð ×&Ñ&Ó(ˆØ)-¯©«ó +	Ñ%ˆL˜+Ø'×-Ñ-¨c°1Ó5‰LˆF�DØ%0×%6Ñ%6Ó%8ò )Ñ!��kØ+/�
Ø&1§o¡oÐ6IÓ&JÐJ�NÐWð#Ü%*¨>Ó%:˜
Ü#Ÿ}™}¨ZÔ8Ü",¨ZÓ"8Ð8ð  9ô '-£h�ð ×#Ñ#à*¨5Ñ1Ø!,¨WÑ!5Ø'2°=Ñ'Añôð #×,Ñ,ò 9�DØ˜{Ò*¨tð <ò 0ð
 (3°4Ñ'8˜˜tšð9ð —?‘? ;Ô/Ø')�F˜8Ñ$á>D”C—I‘I W°6Õ:Ì#Ë%ð ð ×&Ñ&Ø˜6�NØ Ø!&Ø)ð	 'õ òI)ð+	ðX 	×Ñ˜vÕ&øôG *¬9´jÐAò #Ü(Ø% d X¨T°,Ð1Að BKð Kóð  #ð#ûð#ús   Á)+EÅE3ÅE.Å.E3Ú	predicatec                 óÚ  — |€¾| j                   j                  «        | j                  j                  «        | j                  j                  «        | j                  j                  «        | j
                  j                  «        | j                  j                  «        | j                  j                  «        d| _        y t        j                  «       }| j                  j                  «       D �����cg c]O  \  \  }}}|j                  «       D ]4  \  }}|||fx}| j
                  v r| j
                  |   |k  s ||«      r|‘Œ6 ŒQ }	}}}}}|	r| j                  |	«       y y c c}}}}}w ©Nr   )re   r¶   r]   r^   r_   rf   rg   ri   rj   Útimer�   Ú_delete_cookies)
rA   rÆ   Únowr”   rƒ   r•   r9   r–   ry   Úto_dels
             rC   r¶   zCookieJar.cleara  sD  € ØÐØ×Ñ×#Ñ#Ô%Ø�M‰M×ÑÔ!Ø×Ñ×$Ñ$Ô&Ø×#Ñ#×)Ñ)Ô+Ø×Ñ×#Ñ#Ô%Ø×$Ñ$×*Ñ*Ô,Ø×Ñ×%Ñ%Ô'Ø!"ˆDÔØä�i‰i‹kˆð +/¯-©-×*=Ñ*=Ó*?÷	
ò 	
á&‘�˜ Ø &§¡£ò	
ñ ��fà  tÐ,Ð,�°×1BÑ1BÑBØ×%Ñ% cÑ*¨cÒ1á˜Ô ò ð	
Øð	
ˆô 	
ñ Ø× Ñ  Õ(ð ùö	
s   Ã5AE$r”   c                 ó2   ‡ ‡— ‰ j                  ˆˆ fd„«       y )Nc                 ó.   •— ‰j                  ‰| d   «      S )Nr”   )Ú_is_domain_match)Úxr”   rA   s    €€rC   r…   z(CookieJar.clear_domain.<locals>.<lambda>|  s   ø€ ˜T×2Ñ2°6¸1¸X¹;ÓG€ rD   )r¶   ©rA   r”   s   ``rC   Úclear_domainzCookieJar.clear_domain{  s   ù€ Ø�
‰
ÔGÕHrD   c              #   óž   K  — | j                  «        | j                  j                  «       D ]  }|j                  «       E d {  –—†  Œ y 7 Œ­wrm   )Ú_do_expirationr]   Úvalues)rA   Úvals     rC   Ú__iter__zCookieJar.__iter__~  s@   è ø€ Ø×ÑÔØ—=‘=×'Ñ'Ó)ò 	$ˆCØ—z‘z“|×#Ñ#ñ	$Ø#ús   ‚AAÁAÁAc                 ó   — | j                   S )zReturn number of cookies.

        This function does not iterate self to avoid unnecessary expiration
        checks.
        )rj   rn   s    rC   Ú__len__zCookieJar.__len__ƒ  s   € ð ×!Ñ!Ð!rD   c                 óœ  — t        | j                  «      x}sy|t        kD  r}|t        | j                  «      dz  kD  rb| j                  D �cg c](  }| j                  j	                  |d   «      |d   k(  r|‘Œ* c}| _        t        j                  | j                  «       t        j                  «       }g }| j                  rs| j                  d   \  }}||kD  rn[t        j                  | j                  «       | j                  j	                  |«      |k(  r|j                  |«       | j                  rŒs|r| j                  |«       yyc c}w )zRemove expired cookies.Nr‰   r   r   )Úlenre   Ú _MIN_SCHEDULED_COOKIE_EXPIRATIONrf   r�   ÚheapqÚheapifyrÉ   ÚheappopÚappendrÊ   )rA   Úexpire_heap_lenÚentryrË   rÌ   ÚwhenÚ
cookie_keys          rC   rÔ   zCookieJar._do_expiration‹  s/  € ä#& t×'8Ñ'8Ó#9Ð9�Ð9Øð Ô>Ò>Ø¤# d×&7Ñ&7Ó"8¸1Ñ"<Ò<ð "×.Ñ.ö!àØ×$Ñ$×(Ñ(¨¨q©Ó2°e¸A±hÒ>ò ò!ˆDÔô
 �M‰M˜$×+Ñ+Ô,ä�i‰i‹kˆØ#%ˆà×ÒØ#×0Ñ0°Ñ3ÑˆD�*Ø�cŠzØÜ�M‰M˜$×+Ñ+Ô,ð
 × Ñ ×$Ñ$ ZÓ0°DÒ8Ø—‘˜jÔ)ð ×Óñ Ø× Ñ  Õ(ð ùò-!s   Á-E	rÌ   c                 óZ  — |D �]%  \  }}}|||f}||f}| j                   j                  |«       | j                  j                  |«      x}�g|j	                  |d «      �F| xj
                  dz  c_        | j                  |   dz
  x}r|| j                  |<   n| j                  |= |s| j                  |= | j                  j                  |«      x}	�!|	j	                  |d «       |	s| j                  |= | j                  j	                  |d «       | j                  j	                  |d «       �Œ( y )Nr   )
r_   Údiscardr]   r�   Úpoprj   ri   r^   rf   rg   )
rA   rÌ   r”   rƒ   r9   rä   Újar_keyrr   Údomain_countÚmorselss
             rC   rÊ   zCookieJar._delete_cookies¶  s,  € Ø"(ó 	;ÑˆF�D˜$Ø  $¨Ð-ˆJØ˜t�nˆGØ×#Ñ#×+Ñ+¨JÔ7ØŸ=™=×,Ñ,¨WÓ5Ð5�ÐBØ—;‘;˜t TÓ*Ð6Ø×&Ò&¨!Ñ+Õ&Ø'+×':Ñ':¸6Ñ'BÀQÑ'FÐF�|ÐFØ6B˜×+Ñ+¨FÒ3à ×/Ñ/°Ð7ÙØŸ™ gÐ.Ø×-Ñ-×1Ñ1°'Ó:Ð:�ÐGØ—‘˜D $Ô'ÙØ×*Ñ*¨7Ð3Ø×Ñ×!Ñ! *¨dÔ3Ø×$Ñ$×(Ñ(¨°TÖ:ñ%	;rD   Úsecurec                 óÜ  — | j                   j                  |d«      t        k\  �r2| j                  «        | j                   j                  |d«      }|t        z
  dz   x}dk  ryg }g }| j
                  j                  «       D ]a  \  \  }}}	||k7  rŒ|	j                  «       D ]@  \  }
}|||
f}| j                  j                  |d«      |f}|d   r|n|j                  |«       ŒB Œc |x}s|t        k  ry|sy|}|j                  «        |d| }| j                  |D ��cg c]  \  }}|‘Œ	 c}}«       t        j                  dt        |«      |t        «       y| j                  «        yc c}}w )a  Evict for a new cookie like Firefox; False drops the new cookie.

        Mirrors AddCookie and FindStaleCookies: expired, then non-secure,
        cookies go first, least recently used first; secure cookies are only
        evicted for another secure cookie.
        r   r   Trë   FNz;Evicted %d cookie(s) for %s over the %d-cookie domain limit)ri   r�   Ú_MAX_COOKIES_PER_DOMAINrÔ   Ú_COOKIE_QUOTA_PER_DOMAINr]   r�   rg   rà   ÚsortrÊ   r   ÚdebugrÛ   Ú_purge_cookies)rA   r”   rë   ÚcountÚexcessÚ
non_secureÚsecure_keysÚcookie_domainrƒ   rr   r9   r•   rä   râ   Ú
candidatesÚevictedr±   ry   s                     rC   Ú
_make_roomzCookieJar._make_roomË  s‡  € ð ×Ñ×"Ñ" 6¨1Ó-Ô1HÓHØ×ÑÔ!Ø×'Ñ'×+Ñ+¨F°AÓ6ˆEàÔ":Ñ:¸QÑ>Ð>�À1ÒDØØ79ˆJØ8:ˆKØ26·-±-×2EÑ2EÓ2Gò TÑ.Ñ%�  wØ  FÒ*ØØ$+§M¡M£Oò T‘L�D˜&Ø"(¨$°Ð!5�JØ!×5Ñ5×9Ñ9¸*ÀaÓHÈ*ÐU�EØ$*¨8Ò$4‘[¸*×LÑLÈUÕSñTðTð #-Ð,�JÐ,ØÔ2Ò2ØÙØ Ø(�
Ø�O‰OÔØ   &Ð)ˆGØ× Ñ °G×!<©&¨!¨S¢#Ó!<Ô=Ü×!Ñ!ØMÜ�G“ØÜ'ô	ð ð ×ÑÔ!Øùó "=s   ÄE(
c                 óö   — | j                  «        | j                  t        z
  x}dk  ry| j                  }| j	                  t        ||j                  ¬«      d| «       t        j                  d|t        «       y)zCEvict expired, then least recently used, cookies down to the total.r   N)ry   z3Evicted %d cookie(s) over the %d-cookie total limit)
rÔ   rj   Ú_COOKIE_QUOTA_TOTALrg   rÊ   ÚsortedÚ__getitem__r   rð   Ú_MAX_COOKIES_TOTAL)rA   ró   Úgenerationss      rC   rñ   zCookieJar._purge_cookiesô  sn   € à×ÑÔØ×(Ñ(Ô+>Ñ>Ð>ˆFÀ1ÒDØØ×.Ñ.ˆØ×ÑœV K°[×5LÑ5LÔMÈgÈvÐVÔWÜ×ÑØAØÜõ	
rD   rã   rƒ   r9   c                 ó®   — |||f}| j                   j                  |«      |k(  ry t        j                  | j                  ||f«       || j                   |<   y rm   )rf   r�   rÝ   Úheappushre   )rA   rã   r”   rƒ   r9   rä   s         rC   Ú_expire_cookiezCookieJar._expire_cookie  sS   € Ø˜d DÐ)ˆ
Ø×Ñ× Ñ  Ó,°Ò4àÜ�‰�t×(Ñ(¨4°Ð*<Ô=Ø(,ˆ×Ñ˜*Ò%rD   rr   r²   c                 ó,   — | j                  ||d¬«       y)zUpdate cookies.Tr¤   N)r­   ©rA   rr   r²   s      rC   Úupdate_cookieszCookieJar.update_cookies	  s   € à×Ñ˜W lÀÐÕFrD   Úheadersc                 ó˜   — |j                   }| j                  st        |«      ry|r$t        |«      x}r| j	                  ||dd¬«       yyy)z+Update cookies from raw Set-Cookie headers.NF)r¥   Úcheck_sendable)Úraw_hostr`   r   r   r­   )rA   r  r²   ÚhostnameÚcookies_to_updates        rC   Úupdate_cookies_from_headersz%CookieJar.update_cookies_from_headers  s]   € ð  ×(Ñ(ˆØ�|Š|¤¨hÔ 7àÙÔ-EÀgÓ-NÐNÐ)ÐNð × Ñ Ø!ØØ"Ø$ð	 !õ ð	 Oˆ7rD   )rº   r  r¥   rº   r  c                óV  — |j                   }| j                  st        |«      ry t        |t        «      r|j                  «       }|D �]º  \  }}t        |t        «      st        «       }	||	|<   |	|   }n|rt        d|j                  «       «      }|d   }
|
r|
d   dk(  rd}
|d= |
r|
d   dk(  r
|
dd  }
|
|d<   |
r|r| j                  |
|«      sŒ‡|d   }|r|d   d	k7  r<|j                  }|j                  d	«      sd	}nd	|d|j                  d	«       z   }||d<   |j                  d	«      }|
s|�d
}|}
nd}d }|�|}n|d   x}rV	 t        |«      }|dk  rd}nAt!        || j"                  «      }t!        t%        j$                  «       |z   | j"                  «      }n"|d   x}r| j)                  |«      x}r|}nd|d<   |r6| j*                  r*| j-                  |«      st/        j0                  d||
«       �Œ¬|
|f}|
||f}| j2                  j5                  |«      }|€d n|j5                  |«      }|€’| j*                  r†| j6                  j5                  |
d«      t8        k\  s| j:                  t<        k\  rP|�|t%        j$                  «       kD  r7| j?                  |
tA        |d   «      «      st/        j0                  d||
«       �Œy|r!| jB                  jE                  |«       |
|d<   n| jB                  jG                  |«       |�| jI                  ||
||«       n(| jJ                  r| jJ                  jM                  |d «       ||k7  r„|€A| xj:                  dz  c_        | j6                  j5                  |
d«      dz   | j6                  |
<   || j2                  |   |<   | jN                  j5                  |«      x}�|jM                  |d «       | j*                  s�Œ�| xjP                  dz  c_(        | jP                  | jR                  |<   �Œ½ | jU                  «        y # t&        $ r	 d|d<   Y �Œlw xY w)Nr   r”   rT   r<   r   r   r   rƒ   ú/TFr%   g        r&   z=Dropped cookie %r for %s: it can't be sent in a Cookie headerrë   z>Dropped cookie %r for %s: its domain is full of Secure cookies)+r	  r`   r   rc   r   r�   r	   r
   r   ÚcopyrÏ   rƒ   Ú
startswithÚrfindÚrstripÚintÚminÚMAX_TIMErÉ   rª   Ú_parse_dateÚ_limits_enabledÚ	_can_sendr   rð   r]   r�   ri   rí   rj   rþ   rù   Úboolr_   Úaddræ   r  rf   rç   r^   rh   rg   rÔ   )rA   rr   r²   r¥   rº   r  r
  r9   r•   Útmpr”   rƒ   r|   ÚdeadlineÚmax_ageÚdelta_secondsr&   Úexpire_timery   rä   ÚbucketÚstoredrê   s                          rC   r­   zCookieJar._update_cookies   sD  € ð  ×(Ñ(ˆà�|Š|¤¨hÔ 7àä�gœwÔ'Ø—m‘m“oˆGà#ó y	T‰LˆD�&Ü˜f¤fÔ-Ü"“n�Ø"��D‘	Ø˜T™‘Ùä˜m¨V¯[©[«]Ó;�à˜HÑ%ˆFñ ˜& ™*¨Ò+Ø�Ø˜8Ð$á˜& ™) sÒ*à  ˜�Ø#)��xÑ á™(¨4×+@Ñ+@ÀÈÔ+Ràà˜&‘>ˆDÙ˜4 ™7 cš>à#×(Ñ(�Ø—‘ sÔ+Ø‘Dð   a¨$¯*©*°S«/Ð!:Ñ:�DØ!%��v‘Ø—;‘;˜sÓ#ˆDá˜hÐ2Ø �	Ø!‘à!�	à%)ˆHØÐ%à%‘Ø" 9Ñ-Ð-�Ð-ð
+Ü$'¨£L�Mà$¨Ò)Ø#&™ô ),¨M¸4¿=¹=Ó(I˜Ü#&¤t§y¡y£{°]Ñ'BÀDÇMÁMÓ#R˜øð # 9Ñ-Ð-�Ð-Ø"&×"2Ñ"2°7Ó";Ð;�;Ð;Ø*‘Hà(*�F˜9Ñ%á $×"6Ò"6¸t¿~¹~ÈfÔ?UÜ×%Ñ%ØSØØôñ
 à˜4�.ˆCØ  $¨Ð-ˆJØ—]‘]×&Ñ& sÓ+ˆFØ#˜^‘T°·±¸DÓ1AˆFà�Ø×(Ò(à×'Ñ'×+Ñ+¨F°AÓ6Ô:QÒQØ×)Ñ)Ô-?Ò?ð Ð%¨´D·I±I³KÒ)?ØŸ™¨´°V¸HÑ5EÓ0FÔGä×%Ñ%ØTØØôñ
 áØ×'Ñ'×+Ñ+¨JÔ7Ø#)��xÒ ð ×'Ñ'×/Ñ/°
Ô;ØÐ#Ø×#Ñ# H¨f°d¸DÕAØ×"Ò"à×!Ñ!×%Ñ% j°$Ô7à˜Òð �>Ø×&Ò&¨!Ñ+Õ&Ø26×2EÑ2E×2IÑ2IÈ&ÐRSÓ2TÐWXÑ2X�D×'Ñ'¨Ñ/Ø+1�—‘˜cÑ" 4Ñ(Ø#×1Ñ1×5Ñ5°cÓ:Ð:�GÐGØ—K‘K  dÔ+Ø×#Ô#à×,Ò,°Ñ1Õ,Ø7;×7SÑ7S�×(Ñ(¨Ó4ðsy	Tðv 	×ÑÕøôE "ò +Ø(*�F˜9Ô%ð+ús   ÅAPÐP(Ð'P(Úrequest_urlúBaseCookie[str]c           
      ó¼  — t        «       }| j                  s|S | j                  «        | j                  s|S t        |«      t        ur3t        j                  dt        |«      › �t        d¬«       t	        |«      }|j                  xs d}|j                  dv}|rV| j                  rJt	        «       }t        j                  t        «      5  |j                  «       }ddd«       || j                  v}i }d}|| j                  v rl| j                  |   }| j                  |   j!                  «       D ]=  \  }	}
|r|
d   rŒ|j#                  |	«      x}€| j%                  ||	|
«      x}||	<   |||	<   Œ? t'        |«      s3t)        j*                  t-        |j/                  d	«      «      t0        «      }n| j2                  r|f}nd
}t)        j*                  |j4                  j/                  d«      t6        «      }t)        j8                  ||«      }t;        |j4                  «      }|D ]Ã  }|dk(  s|| j                  vrŒ| j                  |   }| j                  |   j!                  «       D ]~  \  }	}
|
d   }||k7  r||	fz   | j<                  v rŒ#t;        |
d   «      |kD  rŒ5|r|
d   rŒ=|j#                  |	«      x}€| j%                  ||	|
«      x}||	<   |j?                  |	d«       |||	<   Œ€ ŒÅ | j@                  r˜tB        dz
  dt;        |«      z  z   }|tE        d„ |jG                  «       D «       «      z  }t;        |«      tH        kD  s	|tJ        kD  r| jM                  ||«      S | jO                  |jG                  «       D �cg c]  }|d   ‘Œ	 c}«       tP        jS                  ||j!                  «       D �	�ci c]  \  }	}|	|d   “Œ c}}	«       |S # 1 sw Y   �ŒíxY wc c}w c c}}	w )z8Returns this jar's cookies filtered by their attributes.zQfilter_cookies expects yarl.URL instances only,and will stop working in 4.x, got r‰   )Ú
stacklevelr   )r    ÚwssN)r   r   rë   r<   © r  r”   rƒ   c              3   ó&   K  — | ]	  }|d    –— Œ y­w)r   Nr'  )Ú.0râ   s     rC   ú	<genexpr>z+CookieJar.filter_cookies.<locals>.<genexpr>  s   è ø€ Ò I¨e  q¥Ñ Iùs   ‚r   )*r   r]   rÔ   rK   r   ÚwarningsÚwarnÚDeprecationWarningr	  r¢   rb   Ú
contextlibÚsuppressrª   rd   r^   r�   r�   Ú_morsel_entryr   Ú	itertoolsÚ
accumulateÚreversedr»   Ú_FORMAT_DOMAIN_REVERSEDr`   rƒ   Ú_FORMAT_PATHÚproductrÛ   r_   rç   r  Ú_COOKIE_HEADER_PREFIX_LENGTHÚsumrÕ   Ú_MAX_COOKIES_PER_REQUESTÚ_MAX_COOKIE_HEADER_LENGTHÚ_filter_cookies_within_limitsÚ_touch_cookiesr-   r·   )rA   r"  Úfilteredr
  Úis_not_secureÚrequest_originÚselectedry   rê   r9   r•   râ   ÚdomainsÚpathsÚpairsÚpath_lenÚpr”   Úheader_lengths                      rC   Úfilter_cookieszCookieJar.filter_cookies¯  s¹  € ô
 %/£LˆØ�}Š}àˆOØ×ÑÔØ�}Š}àˆOÜ�Ó¤CÑ'Ü�M‰Mð5Ü59¸+Ó5FÐ4GðIä"Øõ	ô ˜kÓ*ˆKØ×'Ñ'Ò-¨2ˆà#×*Ñ*Ð2BÐBˆÙ˜T×9Ò9Ü ›UˆNÜ×$Ñ$¤ZÓ0ñ 6Ø!,×!3Ñ!3Ó!5�÷6à*°$×2NÑ2NÐNˆMð -/ˆð ˆØ�$—-‘-ÑØ×(Ñ(¨Ñ-ˆGØ $§¡¨cÑ 2× 8Ñ 8Ó :ò '‘��fÙ  V¨HÒ%5ØØ$Ÿ[™[¨Ó.Ð.�EÐ7Ø,0×,>Ñ,>¸sÀDÈ&Ó,QÐQ�E˜G D™MØ!&�˜’ð'ô ˜XÔ&ä%.×%9Ñ%9Ü˜Ÿ™¨Ó,Ó-Ô/Fó&‰Gð �\Š\Ø�k‰GàˆGô ×$Ñ$ [×%5Ñ%5×%;Ñ%;¸CÓ%@Ä,ÓOˆä×!Ñ! '¨5Ó1ˆä�{×'Ñ'Ó(ˆàò 	'ˆAØ�HŠ} ¨¯©Ñ 6ØØ×(Ñ(¨Ñ+ˆGØ $§¡¨aÑ 0× 6Ñ 6Ó 8ò '‘��fØ Ñ)�à˜XÒ%¨!¨t¨g©+¸×9PÑ9PÑ*PØô �v˜f‘~Ó&¨Ò1Øá  V¨HÒ%5Øà$Ÿ[™[¨Ó.Ð.�EÐ7Ø,0×,>Ñ,>¸qÀ$ÈÓ,OÐO�E˜G D™Mð —‘˜T 4Ô(Ø!&�˜’ñ%'ð		'ð0 ×Òä8¸1Ñ<¸qÄ3ÀxÃ=Ñ?PÑPˆMØœSÑ I°x·±Ó7HÔ IÓIÑIˆMä�H“Ô 8Ò8Ø Ô#<Ò<à×9Ñ9¸(ÀHÓMÐMØ×Ñ°x·±Ó7HÖ I¨e  q£Ò IÔJä�‰�HÀÇÁÓAQ×R±+°$¸˜t U¨1¡X™~ÓRÔSØˆ÷O6ñ 6üòH !JùãRs   Ã
OÍ6OÎ,OÏOr@  r
  c                 ó  — t         dz
  }g }t        |j                  «       «      D ]J  \  }}t        |«      t        k\  r n3|dz   |d   z   t
        kD  rŒ-|d|d   z   z  }|j                  ||f«       ŒL t        «       }t        |«      D ]  \  }}t        j                  |||d   «       Œ! | j                  |D ��cg c]
  \  }}|d   ‘Œ c}}«       t        j                  dt        |«      t        |«      z
  |t        t
        «       |S c c}}w )zBAdmit the most specific cookies first so a host's own cookies win.r‰   r   r   zNOmitted %d cookie(s) for %s over the %d-cookie or %d-octet Cookie header limit)r7  r3  r�   rÛ   r9  r:  rà   r   r-   Ú__setitem__r<  r   rð   )	rA   r@  r
  rF  Úadmittedr9   râ   r=  r±   s	            rC   r;  z'CookieJar._filter_cookies_within_limits  s  € ô 5°qÑ8ˆØ35ˆÜ# H§N¡NÓ$4Ó5ò 	+‰KˆD�%Ü�8‹}Ô 8Ò8ÙØ˜qÑ  5¨¡8Ñ+Ô.GÒGØØ˜Q  q¡™\Ñ)ˆMØ�O‰O˜T 5˜MÕ*ð	+ô %/£LˆÜ# HÓ-ò 	7‰KˆD�%Ü×Ñ˜X t¨U°1©XÕ6ð	7à×Ñ°h×?©(¨!¨U˜U 1›XÓ?Ô@Ü×Ñð/ä�‹MœC ›MÑ)ØÜ$Ü%ô	
ð ˆùó @s   Â9D
r•   c                 óœ   — | j                   › d| j                  › | j                  › �}t        j                  |«      du xr t        |«      duS )z<Return whether the cookie can be written to a Cookie header.ú=N)ry   rz   r{   r   Úsearchr   )r•   Útexts     rC   r  zCookieJar._can_send.  sM   € ð
 —*‘*�˜Q˜vŸ|™|˜n¨V×-?Ñ-?Ð,@ÐAˆÜ×$Ñ$ TÓ*¨dÐ2ÒX´ÀtÓ7LÐTXÐ7XÐXrD   rè   c                 ó†   — | j                  |«      }t        |j                  › d|j                  › �«      }|€J ‚||||fz   fS )z>Build the morsel to send with its length in the Cookie header.rL  )Ú_build_morselr   ry   r{   )rA   rè   r9   r•   r–   Úlengths         rC   r0  zCookieJar._morsel_entry6  sT   € ð ×#Ñ# FÓ+ˆÜ  F§J¡J <¨q°×1CÑ1CÐ0DÐ!EÓFˆØÐ!Ð!Ð!Ø�v˜w¨$¨Ñ0Ð0Ð0rD   Úcookie_keysc                 óv   — | xj                   dz  c_         | j                   }| j                  }|D ]  }|||<   Œ	 y)zERecord one access generation for cookies used together, like Firefox.r   N)rh   rg   )rA   rR  Ú
generationrÿ   rä   s        rC   r<  zCookieJar._touch_cookies?  sB   € à×$Ò$¨Ñ)Õ$Ø×1Ñ1ˆ
Ø×.Ñ.ˆØ%ò 	1ˆJØ&0ˆK˜
Ò#ñ	1rD   c                 ó<  — | j                   r)|j                  r|j                  d   dk(  rt        |«      S t        «       }| j                   r#t        j                  |j                  «      \  }}n|j                  x}}|j                  |j                  ||dœ«       |S )z<Build a morsel for sending, respecting quote_cookie setting.r   ú"rx   )	ra   r{   r   r	   Ú_SIMPLE_COOKIEÚvalue_encoderz   rÁ   ry   )rA   r•   r–   rz   r{   s        rC   rP  zCookieJar._build_morselG  sˆ   € à×Ò &×"4Ò"4¸×9KÑ9KÈAÑ9NÐRUÒ9UÜ3°FÓ;Ð;Ü$›hˆØ×ÒÜ!/×!<Ñ!<¸V¿\¹\Ó!JÑˆE‘;à"(§,¡,Ð.ˆK˜%ð
 	×Ñ F§J¡J¸È{Ñ[Ô\ØˆrD   c                 óŒ   — || k(  ry|j                  | «      sy|dt        | «        }|j                  d«      syt        |«       S )z0Implements domain matching adhering to RFC 6265.TFNr<   )ÚendswithrÛ   r   )r”   r
  Únon_matchings      rC   rÏ   zCookieJar._is_domain_matchW  sQ   € ð �vÒØà× Ñ  Ô(Øà ¤3 v£; ,Ð/ˆà×$Ñ$ SÔ)Øä  Ó*Ð*Ð*rD   Údate_strc                 óX  — |syd}d}d}d}dx}x}}d}	d}
d}| j                   j                  |«      D �]  }|j                  d«      }|s;| j                  j	                  |«      }|rd}d„ |j                  «       D «       \  }}}ŒR|s9| j                  j	                  |«      }|rd}t        |j                  «       «      }	Œ�|s:| j                  j	                  |«      }|rd}|j                  €J ‚|j                  }
ŒÉ|rŒÌ| j                  j	                  |«      }|sŒêd}t        |j                  «       «      }�Œ d|cxk  rdk  r	n n|d	z  }nd|cxk  rd
k  rn n|dz  }d||||fv ryd|	cxk  rdk  sy y|dk  s|dkD  s
|dkD  s|dkD  ryt        j                  ||
|	|||dddf	«      S )z4Implements date string parsing adhering to RFC 6265.NFr   ÚtokenTc              3   ó2   K  — | ]  }t        |«      –— Œ y ­wrm   )r  )r)  Úss     rC   r*  z(CookieJar._parse_date.<locals>.<genexpr>~  s   è ø€ Ò+P°q¬C°¯FÑ+Pùs   ‚éF   éc   il  éE   iÐ  r   rQ   iA  rR   rS   rT   )ÚDATE_TOKENS_REÚfinditerÚgroupÚDATE_HMS_TIME_REÚmatchÚgroupsÚDATE_DAY_OF_MONTH_REr  ÚDATE_MONTH_REÚ	lastindexÚDATE_YEAR_REÚcalendarÚtimegm)Úclsr\  Ú
found_timeÚ	found_dayÚfound_monthÚ
found_yearÚhourÚminuteÚsecondÚdayÚmonthÚyearÚtoken_matchr^  Ú
time_matchÚ	day_matchÚmonth_matchÚ
year_matchs                     rC   r  zCookieJar._parse_dateg  sé  € ñ Øàˆ
Øˆ	ØˆØˆ
à!"Ð"ˆÐ"ˆv˜ØˆØˆØˆà×-Ñ-×6Ñ6°xÓ@ó 	3ˆKØ×%Ñ% gÓ.ˆEáØ ×1Ñ1×7Ñ7¸Ó>�
ÙØ!%�JÙ+P¸J×<MÑ<MÓ<OÔ+PÑ(�D˜& &ØáØ×4Ñ4×:Ñ:¸5ÓA�	ÙØ $�IÜ˜iŸo™oÓ/Ó0�CØáØ!×/Ñ/×5Ñ5°eÓ<�ÙØ"&�KØ&×0Ñ0Ð<Ð<Ð<Ø'×1Ñ1�EØâØ ×-Ñ-×3Ñ3°EÓ:�
ÚØ!%�JÜ˜z×/Ñ/Ó1Ó2’Dð;	3ð> �Ô˜ÕØ�D‰L‰DØ�$Œ_˜"�_Ø�D‰LˆDà�Y ¨Z¸ÐDÑDØà�CŒ~˜2Š~Øð Øà�$Š;˜$ š) v°¢{°f¸r²kØä�‰  e¨S°$¸ÀÈÈBÐPRÐSÓTÐTrD   )r:   r   )r°   r   r:   Nrm   ©r:   zIterator[Morsel[str]])r:   N)UrE   rF   rG   rH   r  ÚreÚcompilerd  rg  rj  ÚIrk  rm  r  ÚdatetimeÚmaxÚreplaceÚtimezoneÚutcÚ	timestampr  rn  ro  rÉ   ÚgmtimeÚOSErrorr¿   ÚSUB_MAX_TIMEr  r   r   ÚasyncioÚAbstractEventLoopr\   ÚpropertyrV   rW   r1   r   rX   r   r/   rI   r
   rr   rt   r   rœ   r¦   r«   r®   r-   r¼   r§   r   r¶   rÒ   r×   rÙ   rÔ   ÚlistÚ
_CookieKeyrÊ   rù   rñ   r  r   r  r   r  r­   rG  Ú_MorselEntryr;  Ústaticmethodr	   r  Ú_JarKeyr0  r<  rP  rÏ   Úclassmethodr  rL   rM   s   @rC   r   r   l   sð  ø„ Ù9à€Oà�R—Z‘Zð	>ó€Nð
 "�r—z‘zÐ"BÓCÐà%˜2Ÿ:™: lÓ3Ðà�B—J‘JØQØ
�‰ó€Mð
 �2—:‘:˜lÓ+€Lñ
 	ˆH×Ñ×!Ñ!×)Ñ)°×1BÑ1B×1FÑ1FÐ)ÓG×QÑQÓSÓTÐWXÑXð ðØˆ�‰˜˜Ÿ™ HÓ-Ô.ð ˜a‘<€Lð
 Ø!ØGKØ15ò%ð ð%ð ð	%ð
 !)¨8°HÑ+=Ñ =ÀÑ Dð%ð ×'Ñ'¨$Ñ.ð%ð 
õ%ðN ð˜ò ó ðð ð"˜dò "ó ð"ð ð,¨	°#©ò ,ó ð,ð ð/Ð)¨%°°S°©/¸<Ð*GÑHò /ó ð/ð ð2 9¨U°3¸¸S°=Ñ-AÑ#Bò 2ó ð2ð()˜hð ()¨4ó ()ðT '˜hð  '¨4ó  'óD
ó ð3'Ø˜˜d 3¨¨S°#¸±*¸uÑ2DÐ-DÑ(EÐ#EÑFÐFÑGð3'à	ó3'ñj)Ð3°dÑ:ð )Àdó )ð4I 3ð I¨4ó Ió$ð
"˜ó "ó))ðV; d¨:Ñ&6ð ;¸4ó ;ð*' ð '¨dð '°tó 'óR
ð- 5ð -°#ð -¸Sð -Èð -ÐPTó -ñ ILËñ G lð GÀ#ð GÐRVó GðØ ‘}ðØ47ðà	óð2 $(Ø#òMàðMð ðMð
 ðMð ˜D‘LðMð ðMð 
óMñ^ 14³ñ a¨#ð aÐ:Kó aðFØ˜S ,Ð.Ñ/ðØ;>ðà	óð8 ðY˜& ™+ð Y¨$ò Yó ðYð1Øð1Ø&)ð1Ø39¸#±;ð1à	ó1ð1¨(°:Ñ*>ð 1À4ó 1ð F¨3¡Kð °F¸3±Kó ð  ð+ ð +°ð +¸ò +ó ð+ð ð<U 3ð <U¨3°©:ò <Uó ô<UøðA ò Kð #�8—?‘?Ð#IÓJ‹Øò à‹ðús   Ã"J ÊJ1Ê'J1Ê0J1r   c                   ó2   — e Zd ZdZdZdededee   defd„Z	y)	Ú_UnlimitedCookieJarzAJar for per-request cookies, which the jar limits don't apply to.Frè   r9   r•   r:   c                 ó2   — | j                  |«      dt        fS rÈ   )rP  r    )rA   rè   r9   r•   s       rC   r0  z!_UnlimitedCookieJar._morsel_entry¬  s   € ð
 ×!Ñ! &Ó)¨1Ô.CÐCÐCrD   N)
rE   rF   rG   rH   r  r”  rI   r	   r’  r0  r'  rD   rC   r—  r—  §  s8   „ ÙKà€OðDØðDØ&)ðDØ39¸#±;ðDà	ôDrD   r—  c                   óR  ‡ — e Zd ZdZddœdej
                  dz  ddfˆ fd„Zdd„Zdefd„Z	e
defd	„«       Ze
defd
„«       Ze
deeeef   ef   fd„«       Ze
deeeeef      fd„«       Zddedz  ddfd„Zdeddfd„Z e«       fdededdfd„Zdee   deddfd„Zdeddfd„Zˆ xZS )r   zxImplements a dummy cookie storage.

    It can be used with the ClientSession when no cookie processing is needed.

    Nr[   rY   r:   c                ó&   •— t         ‰| �  |¬«       y )Nr[   )r?   r\   )rA   rY   rB   s     €rC   r\   zDummyCookieJar.__init__»  s   ø€ Ü‰Ñ˜dÐÕ#rD   c              #   ó   K  — y ­wrm   r'  rn   s    rC   r×   zDummyCookieJar.__iter__¾  s	   è ø€ Øùs   ‚c                  ó   — yrÈ   r'  rn   s    rC   rÙ   zDummyCookieJar.__len__Â  s   € ØrD   c                  ó   — y)NFr'  rn   s    rC   rV   zDummyCookieJar.unsafeÅ  s   € àrD   c                  ó   — y)NTr'  rn   s    rC   rW   zDummyCookieJar.quote_cookieÉ  s   € àrD   c                 ó   — t        i «      S )zReturn an empty mapping.r   rn   s    rC   rr   zDummyCookieJar.cookiesÍ  s   € ô   Ó#Ð#rD   c                 ó   — t        «       S )zReturn an empty frozenset.)r1   rn   s    rC   rt   z DummyCookieJar.host_only_cookiesÒ  s   € ô ‹{ÐrD   rÆ   c                  ó   — y rm   r'  )rA   rÆ   s     rC   r¶   zDummyCookieJar.clear×  ó   € ØrD   r”   c                  ó   — y rm   r'  rÑ   s     rC   rÒ   zDummyCookieJar.clear_domainÚ  r¢  rD   rr   r²   c                  ó   — y rm   r'  r  s      rC   r  zDummyCookieJar.update_cookiesÝ  r¢  rD   r  c                  ó   — y)z2Ignore raw Set-Cookie fields without parsing them.Nr'  )rA   r  r²   s      rC   r  z*DummyCookieJar.update_cookies_from_headersà  s   � rD   r"  r#  c                 ó   — t        «       S rm   )r
   )rA   r"  s     rC   rG  zDummyCookieJar.filter_cookieså  s
   € Ü‹~ÐrD   r€  rm   )rE   rF   rG   rH   r�  rŽ  r\   r×   r  rÙ   r�  r  rV   rW   r   r/   rI   r
   rr   r1   rt   r   r¶   rÒ   r   r   r  r   r  rG  rL   rM   s   @rC   r   r   ´  sV  ø„ ñð DHò $ × 9Ñ 9¸DÑ @ð $ÈDõ $óð˜ó ð ð˜ò ó ðð ð˜dò ó ðð ð$Ð)¨%°°S°©/¸<Ð*GÑHò $ó ð$ð ð 9¨U°3¸¸S°=Ñ-AÑ#Bò ó ðñÐ3°dÑ:ð Àdó ð 3ð ¨4ó ñ ILËñ  lð À#ð ÐRVó ðAØ ‘}ðAØ47ðAà	óAð
¨#ð Ð2C÷ rD   r   )Nr�  rn  r.  r„  rÝ   r1  r‘   r½   r�   r‹   r=   r�  rÉ   r+  r3   r   Úcollections.abcr   r   r   r   Úhttp.cookiesr   r	   r
   Útypesr   Útypingr   r   Úyarlr   Ú_cookie_helpersr   r   r   r   Úabcr   r   Úhelpersr   Úlogr   Útypedefsr   r   r   Ú__all__rI   Ú
CookieItemr/   r”  r‘  r  r’  r    rJ   Úformatr5  r4  rÜ   rW  rí   rî   rþ   rû   r9  r:  rÛ   r7  r1   r�   Ú
_Unpicklerr(   r   r—  r   r'  rD   rC   ú<module>rµ     sV  ðÜ Û Û Û Û Û Û Û Û 	Û Û Û 	Û Û Ý #ß AÓ Aß 9Ñ 9Ý "ß å ÷ó ÷ 9Ý "Ý  ß 6Ñ 6à
)€ð �3˜Ð%Ñ&€
Ø
��S�‰/€Ø�3˜˜S�=Ñ!€
à�] C¨Ð3Ñ4€Ø$0Ð �zÓ 0ð �~‰~€Ø#×*Ñ*Ð ð
 $'Ð  Ù“€ð Ð ØÐ ØÐ ØÐ ØÐ Ø Ð Ù" ;Ó/Ð ñ #Ð#9Ó:Ð ô%0 ×!2Ñ!2ô %0ôPxUÐ!ô xUôv
D˜)ô 
Dô2Ð&õ 2rD   