+
     Bi.                       . RJOt ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t
^ RIt^ R	IHt R
tRsR tRtRt]! ]P*                  P,                  4      t]P0                  ! R4      tRtRtR tRtR t. RKOt. RLOt ]  U u. uF  q PC                  4       NK  	  up t"RMR lt#RMR lt$RRRRRRRR/t%]P0                  ! R]PL                  4      t'R t(R t)]P0                  ! R]PL                  4      t*]P0                  ! R]PV                  ]PL                  ,          4      t,]P0                  ! R]PZ                  ]PL                  ,          4      t.R  t/]P0                  ! R!]PZ                  ]PL                  ,          4      t0R" t1R# t2]P0                  ! R$4      t3]P0                  ! R%4      t4]P0                  ! R&4      t5]P0                  ! R'4      t6R( t7]P0                  ! R)4      t8]P0                  ! R*4      t9R+ t:R, t;R- t<]P0                  ! R.]PL                  4      t=R/ t>R0 t?R1 t@R2 tA]P0                  ! R3]PL                  4      tBR4 tCR5 tDR6 tER7 tFR8tG]P0                  ! R94      tHR: tIR; tJR< tKR= tL ! R> R 4      tM ! R? R4      tN ! R@ R]N4      tORA tP ! RB RC4      tQ ! RD R4      tR ! RE R]S4      tT ! RF R]R4      tURG tV ! RH R]U4      tW ! RI R]U4      tXR# u up i )NCookie	CookieJarCookiePolicyDefaultCookiePolicyFileCookieJarLWPCookieJar	LoadErrorMozillaCookieJarN)timegmFc                      \         '       g   R # \        '       g   ^ R IpVP                  R4      s\        P                   ! V !  # )Nzhttp.cookiejar)debugloggerlogging	getLogger)argsr   s   * %/usr/lib/python3.14/http/cookiejar.py_debugr   ,   s2    56""#34<<    HTTPOnlyz
#HttpOnly_z#( Netscape)? HTTP Cookie FilezQa filename was not supplied (nor was the CookieJar instance initialised with one)zr# Netscape HTTP Cookie File
# http://curl.haxx.se/rfc/cookie_spec.html
# This is a generated file!  Do not edit.

c                      ^ RI p ^ RIp^ RIpV P                  4       pVP	                  RV4       VP                  4       pVP                  RV,          ^R7       R# )    Nzhttp.cookiejar bug!
%s)
stacklevel)iowarnings	tracebackStringIO	print_excgetvaluewarn)r   r   r   fmsgs        r   _warn_unhandled_exceptionr!   B   sF     #"
Aa 
**,CMM+c1aM@r   i  c                 
   V R ,          w  rr4rVV\         8  dk   ^Tu;8:  d   ^8:  d\   M R# ^Tu;8:  d   ^8:  dI   M R# ^ Tu;8:  d   ^8:  d6   M R# ^ Tu;8:  d   ^;8:  d#   M R# ^ Tu;8:  d   ^=8:  d   M R# \        V 4      # R# ):N   NN)
EPOCH_YEARr
   )ttyearmonthmdayhourminsecs   &      r   _timegmr,   Q   s    (*2%DS		!u"2"2 	 :;db  
db   !C~2~  56NN  bzr   c                 \   V f0   \         P                   P                  \         P                  R7      pM/\         P                   P                  V \         P                  R7      pRVP                  VP
                  VP                  VP                  VP                  VP                  3,          # )Ntzz%04d-%02d-%02d %02d:%02d:%02dZ)
datetimenowUTCfromtimestampr&   r'   dayr)   minutesecondtdts   & r   	time2isozr:   ^   s     	y""hll"3,,Q8<<,@+
266277BIIryy/B B Br   c                    V f0   \         P                   P                  \         P                  R7      pM/\         P                   P                  V \         P                  R7      pR\        VP                  4       ,          VP                  \        VP                  ^,
          ,          VP                  VP                  VP                  VP                  3,          # )Nr.   z#%s, %02d-%s-%04d %02d:%02d:%02d GMT)r0   r1   r2   r3   DAYSweekdayr4   MONTHSr'   r&   r)   r5   r6   r7   s   & r   time2netscaper?   q   s     	y""hll"3,,Q8<<,@0RZZ\BFFF288A:$6
"))RYY40 0 0r   GMTr2   UTZz^([-+])?(\d\d?):?(\d\d)?$c                 T   R pV \         9   d   ^ pV# \        P                  V 4      pV'       dz   R\        VP	                  ^4      4      ,          pVP	                  ^4      '       d)   V^<\        VP	                  ^4      4      ,          ,           pVP	                  ^4      R8X  d   V) pV# )Ni  -)	UTC_ZONESTIMEZONE_REsearchintgroup)r/   offsetms   &  r   offset_from_tz_stringrL      s    F	Y M r"C
O+Fwwqzz"s1771:"66wwqzS  Mr   c           	      8   \        V4      pV\        P                  8  d   R #  \        P	                  VP                  4       4      ^,           pTf   ^ pTf   ^ pTf   ^ p\        T 4      p \        T4      p\        T4      p\        T4      pTR8  d}   \        P                  ! \        P                  ! 4       4      ^ ,          pT^d,          p	Tp
Y(,           T	,
          pY,
          p	\        T	4      ^28  d   T	^ 8  d   T^d,           pM	T^d,
          p\        Y!YYET34      pTe0   Tf   RpTP                  4       p\        T4      pTf   R # Y,
          pT#   \         d<     \        T4      pM  \         d      R # i ; i^Tu;8:  d   ^8:  d	   M MTp ELG R # i ; i)Ni  r2   )rH   r0   MAXYEARMONTHS_LOWERindexlower
ValueErrortime	localtimeabsr,   upperrL   )r4   monyrhrr*   r+   r/   imoncur_yrrK   tmpr8   rJ   s   &&&&&&&      r   	_str2timer]      sr   	RB	H  -a/ 
z2
{!C
{!C
c(C	RB
c(C
c(C	Dy		,Q/SL[1_Gq6B;1u28bCx" 	#3R01A}:BXXZ&r*>JH[  		s8D 		??C	s5   *E FE+*F+E;6F:E;;FFzV^[SMTWF][a-z][a-z], (\d\d) ([JFMASOND][a-z][a-z]) (\d\d\d\d) (\d\d):(\d\d):(\d\d) GMT$z+^(?:Sun|Mon|Tue|Wed|Thu|Fri|Sat)[a-z]*,?\s*a  ^
    (\d\d?)            # day
       (?:\s+|[-\/])
    (\w+)              # month
        (?:\s+|[-\/])
    (\d+)              # year
    (?:
          (?:\s+|:)    # separator before clock
       (\d\d?):(\d\d)  # hour:min
       (?::(\d\d))?    # optional seconds
    )?                 # optional clock
       \s*
    (?:
       ([-+]?\d{2,4}|(?![APap][Mm]\b)[A-Za-z]+) # timezone
       \s*
    )?
    (?:
       \(\w+\)         # ASCII representation of timezone in parens.
       \s*
    )?$c           	      n   \         P                  V 4      pV'       d   VP                  4       p\        P	                  V^,          P                  4       4      ^,           p\        V^,          4      V\        V^ ,          4      \        V^,          4      \        V^,          4      \        V^,          4      3p\        V4      # V P                  4       p \        P                  RV ^4      p R.^,          w  rSrgrp
\        P                  V 4      pVe   VP                  4       w  rSrgrp
MR# \        WSWgWV
4      # )    N)STRICT_DATE_RErG   groupsrO   rP   rQ   rH   floatr,   lstrip
WEEKDAY_REsubLOOSE_HTTP_DATE_REr]   )textrK   grW   r%   r4   rX   rY   r*   r+   r/   s   &          r   	http2timerj      s    < 	d#AHHJ  1.2!A$ic!A$i!A$iQqTE!A$K1r{
 ;;=D>>"dA&D '+VAX"Cbc 	!!$'A})*&"#BSrs44r   a  ^
    (\d{4})              # year
       [-\/]?
    (\d\d?)              # numerical month
       [-\/]?
    (\d\d?)              # day
   (?:
         (?:\s+|[-:Tt])  # separator before clock
      (\d\d?):?(\d\d)    # hour:min
      (?::?(\d\d(?:\.\d*)?))?  # optional seconds (and fractional)
   )?                    # optional clock
      \s*
   (?:
      ([-+]?\d\d?:?(:?\d\d)?
       |Z|z)             # timezone  (Z is "zero meridian", i.e. GMT)
      \s*
   )?$c           	          V P                  4       p R .^,          w  rr4rVp\        P                  V 4      pVe   VP                  4       w  r2rrVryMR # \	        WW4WVV4      # N)rd   ISO_DATE_RErG   rb   r]   )
rh   r4   rW   rX   rY   r*   r+   r/   rK   _s
   &         r   iso2timero   2  sh     ;;=D '+VAX"Cbc 	4 A} -.HHJ)#BSrs44r   c                 n    V P                  ^ 4      w  rV P                  RV V P                  VR ,           # )r   N)spanstring)matchstartends   &  r   	unmatchedrv   S  s2    AJE<<ST 222r   z^\s*([^=\s;,]+)z&^\s*=\s*\"([^\"\\]*(?:\\.[^\"\\]*)*)\"z^\s*=\s*([^\s;,]*)z\\(.)c                 6   . pV  EF  pTp. pV'       Edc   \         P                  V4      pV'       d   \        V4      pVP                  ^4      p\        P                  V4      pV'       d4   \        V4      pVP                  ^4      p\
        P                  RV4      pML\        P                  V4      pV'       d.   \        V4      pVP                  ^4      pVP                  4       pMRpVP                  Wg34       K  VP                  4       P                  R4      '       d6   VP                  4       R,          pV'       d   VP                  V4       . pEKL  \        P                  ! RRV4      w  rTpEKk  V'       g   EK~  VP                  V4       EK  	  V# )r_   z\1N,r_   NNz^[=\s;]*r`   )HEADER_TOKEN_RErG   rv   rI   HEADER_QUOTED_VALUE_REHEADER_ESCAPE_RErf   HEADER_VALUE_RErstripappendrd   
startswithresubn)
header_valuesresultrh   	orig_textpairsrK   namevaluenon_junknr_junk_charss
   &         r   split_header_wordsr   \  sA   \ F	d&&t,A |wwqz*11$7$Q<DGGAJE,00>E'..t4A(| !
 % !%d]+))#..{{}R(&--. +-''+r4*H'  5&--&G H Mr   z[!#$%&'*+\-.^_`|~0-9A-Za-z]+([\"\\])c                 X   . pV  F  p. pV F]  w  rEVeD   \         P                  V4      '       g    \        P                  RV4      pRV,          pV: RV: 2pVP	                  V4       K_  	  V'       g   Kr  VP	                  RP                  V4      4       K  	  RP                  V4      # )N\\\1z"%s"=; , )HEADER_JOIN_TOKEN_RE	fullmatchHEADER_JOIN_ESCAPE_RErf   r   join)listsheadersr   attrkvs   &     r   join_header_wordsr     s     GDA}+55a88-11'1=A
A !$KKN  4		$0  99Wr   c                 ~    V P                  R 4      '       d
   V R,          p V P                  R 4      '       d   V RR p V # )"ry   N)r   endswithrh   s   &r   strip_quotesr     s9    sBx}}SCRyKr   c                 n   Rp. pV  EF)  p. pRp\        VP                  R4      4       F  w  rgVP                  4       pVP                  R4      w  rp
VP                  4       pV'       g   V^ 8X  d    MKL  V	'       d   V
P                  4       MRp
V^ 8w  dQ   VP	                  4       pW9   d   TpVR8X  d   V
e   \        V
4      p
RpMVR 8X  d   V
e   \        \        V
4      4      p
VP                  W34       K  	  V'       g   K  V'       g   VP                  R4       VP                  V4       EK,  	  V# )	expiresversionF;r   NT)r   domainpathsecurer   portmax-age)r   0)	enumeratesplitstrip	partitionrQ   r   rj   r   )
ns_headersknown_attrsr   	ns_headerr   version_setiiparamkeysepvallcs   &           r   parse_ns_headersr     s   1K F	 #9??3#78IBKKME!OOC0MCc))+C7 "%#))+$CQwYY[$C)#*3/"&KI%'S(9:LL#$= 9@ 5-.MM% W  Z Mr   z\.\d+$c                     \         P                  V 4      '       d   R # V R8X  d   R # V ^ ,          R8X  g   V R,          R8X  d   R # R# )Fr`   .Tr   IPV4_RErG   r   s   &r   is_HDNr     s;     ~~drzAw#~bSr   c                 $   V P                  4       p VP                  4       pW8X  d   R # \        V 4      '       g   R# V P                  V4      pVR8X  g   V^ 8X  d   R# VP                  R4      '       g   R# \        VR,          4      '       g   R# R # )TFr   ry   r   )rQ   r   rfindr   )ABis   && r   domain_matchr   '  sp    . 	
	A		Av!99	
ABw!q&<<!B%==r   c                 @    \         P                  V 4      '       d   R # R# )FTr   r   s   &r   liberal_is_HDNr   N  s     ~~dr   c                 "   V P                  4       p VP                  4       p\        V 4      '       d   \        V4      '       g   W8X  d   R # R# VP                  R4      pV'       d   V P                  V4      '       d   R # V'       g	   W8X  d   R # R# )TFr   )rQ   r   r   r   )r   r   initial_dots   && r   user_domain_matchr   X  sg     	
	A		A1."3"36,,s#Kqzz!}}16r   z:\d+$c                     V P                  4       p\        P                  P                  V4      ^,          pVR8X  d   V P	                  RR4      p\
        P                  RV^4      pVP                  4       # )r_   r`   Host)get_full_urlurllibparseurlparse
get_headercut_port_rerf   rQ   )requesturlhosts   &  r   request_hostr   m  sd     


 C<<  %a(Drz!!&"- ??2tQ'D::<r   c                 @    \        V 4      ;rR V9  d
   VR,           pW!3# )r   .local)r   )r   erhnreq_hosts   &  r   eff_request_hostr   }  s+     #7++D
((">r   c                     V P                  4       p\        P                  P                  V4      p\	        VP
                  4      pVP                  R 4      '       g
   R V,           pV# )/)r   r   r   urlsplitescape_pathr   r   )r   r   partsr   s   &   r   request_pathr     sO    



 CLL!!#&Euzz"D??3TzKr   c                     V P                   pVP                  R 4      pV^ 8  d   W^,           R p \        V4       V# \
        pV#   \         d    \	        RT4        R# i ; i):Nznonnumeric port: '%s')r   findrH   rR   r   DEFAULT_HTTP_PORT)r   r   r   r   s   &   r   request_portr     sj    <<D		#AAvaCDz	I K !K  	*D1	s   A A! A!z%/;:@&=+$,!~*'()z%([0-9a-fA-F][0-9a-fA-F])c                 N    R V P                  ^4      P                  4       ,          # )z%%%s)rI   rV   )rs   s   &r   uppercase_escaped_charr     s    EKKN((***r   c                     \         P                  P                  V \        4      p \        P                  \        V 4      p V # rl   )r   r   quoteHTTP_PATH_SAFEESCAPED_CHAR_RErf   r   )r   s   &r   r   r     s2     <<dN3D5t<DKr   c                     V P                  R 4      pV^ 8  dE   W^,           R pVP                  R 4      p\        V 4      '       d   V^ 8  g   VR8X  d
   R V,           # V # )r   Nlocal)r   r   )hr   bs   &  r   reachr     sU    4 	
sAAvcdGFF3K!99!q&ALq5LHr   c                 j    \        V 4      p\        V\        V P                  4      4      '       g   R # R# TF)r   r   r   origin_req_host)r   r   s   & r   is_third_partyr     s,     G$H%(?(?"@AAr   c                   V   a  ] tR tRt o RR ltR tRR ltR tRR ltR t	R	 t
R
tV tR# )r   i  c                   Ve   \        V4      pVe   \        \        V4      4      pVf   VRJ d   \        R4      hWn        W n        W0n        W@n        WPn        VP                  4       V n	        Wpn
        Wn        Wn        Wn        Wn        Wn        Wn        Wn        Wn        VV n        \(        P(                  ! V4      V n        R # )NTz-if port is None, port_specified must be false)rH   rc   rR   r   r   r   r   port_specifiedrQ   r   domain_specifieddomain_initial_dotr   path_specifiedr   r   discardcommentcomment_urlrfc2109copy_rest)selfr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   restr   s   &&&&&&&&&&&&&&&&&&r   __init__Cookie.__init__  s     #g,#eGn*=<Nd2LMM	
	,lln 0
 #5	,&YYt_
r   c                    WP                   9   # rl   r  )r  r   s   &&r   has_nonstandard_attrCookie.has_nonstandard_attr$  s    zz!!r   Nc                8    V P                   P                  W4      # rl   )r  get)r  r   defaults   &&&r   get_nonstandard_attrCookie.get_nonstandard_attr&  s    zz~~d,,r   c                "    W P                   V&   R # rl   r  )r  r   r   s   &&&r   set_nonstandard_attrCookie.set_nonstandard_attr(  s     

4r   c                z    Vf   \         P                   ! 4       pV P                  e   V P                  V8:  d   R# R# )NTF)rS   r   )r  r1   s   &&r   
is_expiredCookie.is_expired+  s,    ;diikLL$4<<3+>r   c                   V P                   f   RpMRV P                   ,           pV P                  V,           V P                  ,           pV P                  e   V P                  : RV P                  : 2pMV P                  pRV: RV: R2# )Nr`   r   r   z<Cookie z for >)r   r   r   r   r   )r  plimit	namevalues   &   r   __str__Cookie.__str__1  sd    99"adii-aa$))+::!#'99djj9I		I'0%88r   c                v   . pR F/  p\        W4      pVP                  V: R\        V4      : 24       K1  	  VP                  R\        V P                  4      ,          4       VP                  R\        V P                  4      ,          4       V P
                  P                  : RRP                  V4      : R2# )r   r   zrest=%sz
rfc2109=%s(r   ))r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )getattrr   reprr  r   	__class____name__r   )r  r   r   r   s   &   r   __repr__Cookie.__repr__;  s    D 4&DKK4d45 	ITZZ 001L4#556>>22DIIdODDr   )r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )Frl   )r"  
__module____qualname____firstlineno__r  r  r  r  r  r  r#  __static_attributes____classdictcell____classdict__s   @r   r   r     s0     $(%T"-!9E Er   c                   8   a  ] tR tRt o R tR tR tR tRtV t	R# )r   iJ  c                    \        4       hrl   NotImplementedErrorr  cookier   s   &&&r   set_okCookiePolicy.set_okS  s     "##r   c                    \        4       hrl   r.  r0  s   &&&r   	return_okCookiePolicy.return_ok\      !##r   c                    R # T )r  r   r   s   &&&r   domain_return_okCookiePolicy.domain_return_ok`       r   c                    R # r9  r:  )r  r   r   s   &&&r   path_return_okCookiePolicy.path_return_oke  r=  r   r:  N)
r"  r%  r&  r'  r2  r5  r;  r?  r(  r)  r*  s   @r   r   r   J  s     $$
 r   c                      a  ] tR tRt o ^t^t^t^ t]],          tRRRRRRRRR]RRR3R lt	R t
R tR tR	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tRt V t!R# )r   ik  NTFc                    W0n         W@n        WPn        W`n        Wpn        Wn        Wn        Wn        Wn        Wn	        Wn
        Ve   \        V4      V n        MRV n        Ve   \        V4      pW n        R # )Nr:  )netscaperfc2965rfc2109_as_netscapehide_cookie2strict_domainstrict_rfc2965_unverifiablestrict_ns_unverifiablestrict_ns_domainstrict_ns_set_initial_dollarstrict_ns_set_pathsecure_protocolstuple_blocked_domains_allowed_domains)r  blocked_domainsallowed_domainsrC  rD  rE  rF  rG  rH  rI  rJ  rK  rL  rM  s   &&&&&&&&&&&&&&r   r  DefaultCookiePolicy.__init__u  su     !#6 (*+F(&<# 0,H)"4 0&$)/$:D!$&D!&#O4O /r   c                    V P                   # rl   )rO  r  s   &r   rQ  #DefaultCookiePolicy.blocked_domains      $$$r   c                &    \        V4      V n        R # rl   )rN  rO  )r  rQ  s   &&r   set_blocked_domains'DefaultCookiePolicy.set_blocked_domains  s     %o 6r   c                T    V P                    F  p\        W4      '       g   K   R # 	  R# r   )rO  r   )r  r   blocked_domains   && r   
is_blockedDefaultCookiePolicy.is_blocked  s%    "33N 88 4 r   c                    V P                   # rl   )rP  rU  s   &r   rR  #DefaultCookiePolicy.allowed_domains  rW  r   c                0    Ve   \        V4      pWn        R # rl   )rN  rP  )r  rR  s   &&r   set_allowed_domains'DefaultCookiePolicy.set_allowed_domains  s    &#O4O /r   c                t    V P                   f   R# V P                    F  p\        W4      '       g   K   R# 	  R# )NFT)rP  r   )r  r   allowed_domains   && r   is_not_allowed"DefaultCookiePolicy.is_not_allowed  s4      ("33N 88 4 r   c                    \        R VP                  VP                  4       R F(  pRV,           p\        W4      pV! W4      '       d   K'   R# 	  R# ) - checking cookie %s=%sset_ok_FT)r   verifiabilityr   r   r   r   r   r   r   r  r  r1  r   nfn_namefns   &&&   r   r2  DefaultCookiePolicy.set_ok  sM     	)6;;E NAkG'Bf&&	 N r   c                (   VP                   f$   \        RVP                  VP                  4       R# VP                   ^ 8  d    V P                  '       g   \        R4       R# VP                   ^ 8X  d    V P
                  '       g   \        R4       R# R# )Nz0   Set-Cookie2 without version attribute (%s=%s)F$   RFC 2965 cookies are switched off$   Netscape cookies are switched offT)r   r   r   r   rD  rC  r0  s   &&&r   set_ok_version"DefaultCookiePolicy.set_ok_version  sl    >>! E;;.>>Adlll9:^^q 9:r   c                   VP                   '       dr   \        V4      '       da   VP                  ^ 8  d    V P                  '       d   \	        R4       R# VP                  ^ 8X  d    V P
                  '       d   \	        R4       R# R# r   z>   third-party RFC 2965 cookie during unverifiable transactionFz>   third-party Netscape cookie during unverifiable transactionTunverifiabler   r   rH  r   rI  r0  s   &&&r   set_ok_verifiability(DefaultCookiePolicy.set_ok_verifiability  si    N7$;$;~~!d&F&F&F 8 91$)D)D)D 8 9r   c                    VP                   ^ 8X  dL   V P                  '       d:   VP                  P                  R4      '       d   \	        RVP                  4       R# R# )r   $z'   illegal name (starts with '$'): '%s'FT)r   rK  r   r   r   r0  s   &&&r   set_ok_nameDefaultCookiePolicy.set_ok_name  sE     NNaD$E$E$EKK""3''<fkkJr   c                   VP                   '       d{   \        V4      pVP                  ^ 8  g$   VP                  ^ 8X  dN   V P                  '       d<   V P	                  VP
                  V4      '       g   \        RVP
                  V4       R# R# )r   z7   path attribute %s is not a prefix of request path %sFT)r   r   r   rL  r?  r   r   )r  r1  r   req_paths   &&& r   set_ok_pathDefaultCookiePolicy.set_ok_path  sn       #G,H!#..A%$*A*A*A''W== !"(++x9r   c                   V P                  VP                  4      '       d   \        R VP                  4       R# V P                  VP                  4      '       d   \        RVP                  4       R# VP                  '       Edt   \        V4      w  r4VP                  pV P                  '       d   VP                  R4      ^8  du   VP                  R4      pVP                  R^ V4      pV^ 8X  dJ   WV^,           R pWW^,           V p	V	P                  4       R9   d   \        V4      ^8X  d   \        RV4       R# VP                  R4      '       d   VR,          p
MTp
V
P                  R4      ^ 8  pV'       g&   VP                  R4      '       g   \        RV4       R# VP                  ^ 8X  du   VP                  V4      '       g^   VP                  V
 R24      '       gD   VP                  R4      '       g-   RV,           P                  V4      '       g   \        R	WE4       R# VP                  ^ 8  g$   V P                  V P                   ,          '       d    \#        WE4      '       g   \        R
WE4       R# VP                  ^ 8  g$   V P                  V P$                  ,          '       dO   VR\        V4      )  pVP                  R4      ^ 8  d*   \&        P)                  V4      '       g   \        RW4       R# R# )"   domain %s is in user block-listF&   domain %s is not in user allow-listr   Nz&   country-code second level domain %sry   r   z/   non-local domain %s contains no embedded dotzO   effective request-host %s (even with added initial dot) does not end with %sz5   effective request-host %s does not domain-match %sz.   host prefix %s for domain %s contains a dotT)coaccomeduorgnetgovmilrH   aerobizcatcoopinfojobsmobimuseumr   protraveleu)r]  r   r   rf  r   r   rG  countr   rQ   lenr   r   r   r   rJ  DomainRFC2965Matchr   DomainStrictNoDotsr   rG   )r  r1  r   r   r   r   r   jtldsldundotted_domainembedded_dotshost_prefixs   &&&          r   set_ok_domain!DefaultCookiePolicy.set_ok_domain  si   ??6==))7Gv}}--;V]]K"""-g6NH]]F!!!v||C'8A'= LL%LLa+6 1,C 1Q-Cyy{ '' ' ,/s8q=GP$  %%"(*"(,11#6!;M x)@)@H~~"v../):&'ABB--d(,,V44 ?) !"&&)@)@@@#D11  !%/ "&&)@)@@@&}V5$$S)Q.x00K&0 r   c                @   VP                   '       dm   \        V4      pVf   RpM\        V4      pVP                  P	                  R4       F  p \        V4       YC8X  g   K   R# 	  \        RW1P                  4       R# R#   \         d    \        RT4         R# i ; i)N80rx   z   bad port %s (not numeric)Fz$   request port (%s) not found in %sT)r   r   strr   r   rH   rR   r   r  r1  r   req_portr  s   &&&  r   set_ok_portDefaultCookiePolicy.set_ok_port4  s       #G,Hx=[[&&s+!F =
  , =. " !91= !s   BBBc                    \        R VP                  VP                  4       R F(  pRV,           p\        W4      pV! W4      '       d   K'   R# 	  R# )ri  
return_ok_FT)r   rk  r   r   r   r   rl  rm  s   &&&   r   r5  DefaultCookiePolicy.return_okI  sJ     	)6;;ERA"1nG'Bf&&	 S
 r   c                    VP                   ^ 8  d    V P                  '       g   \        R4       R# VP                   ^ 8X  d    V P                  '       g   \        R4       R# R# )r   rs  Frt  T)r   rD  r   rC  r0  s   &&&r   return_ok_version%DefaultCookiePolicy.return_ok_version[  sE    >>Adlll9:^^q 9:r   c                   VP                   '       dr   \        V4      '       da   VP                  ^ 8  d    V P                  '       d   \	        R4       R# VP                  ^ 8X  d    V P
                  '       d   \	        R4       R# R# rx  ry  r0  s   &&&r   return_ok_verifiability+DefaultCookiePolicy.return_ok_verifiabilityd  si    N7$;$;~~!d&F&F&F % &1$)D)D)D % &r   c                z    VP                   '       d)   VP                  V P                  9  d   \        R 4       R# R# )z(   secure cookie with non-secure requestFT)r   typerM  r   r0  s   &&&r   return_ok_secure$DefaultCookiePolicy.return_ok_securep  s+    ===W\\1F1FF=>r   c                b    VP                  V P                  4      '       d   \        R 4       R# R# )z   cookie expiredFT)r  _nowr   r0  s   &&&r   return_ok_expires%DefaultCookiePolicy.return_ok_expiresv  s&    TYY''&'r   c                    VP                   '       dU   \        V4      pVf   RpVP                   P                  R4       F  pWC8X  g   K   R# 	  \        RW1P                   4       R# R# )Nr  rx   z0   request port %s does not match cookie port %sFT)r   r   r   r   r  s   &&&  r   return_ok_port"DefaultCookiePolicy.return_ok_port|  s`    ;;;#G,H[[&&s+=
  , I.r   c                   \        V4      w  r4VP                  pV'       d"   VP                  R 4      '       g   R V,           pMTpVP                  ^ 8X  dI   V P                  V P
                  ,          '       d&   VP                  '       g   WT8w  d   \        R4       R# VP                  ^ 8  d    \        WE4      '       g   \        RWE4       R# VP                  ^ 8X  d-   R V,           P                  V4      '       g   \        RW54       R# R# )r   zQ   cookie with unspecified domain does not string-compare equal to request domainFzQ   effective request-host name %s does not domain-match RFC 2965 cookie domain %sz;   request-host %s does not match Netscape cookie domain %sT)
r   r   r   r   rJ  DomainStrictNonDomainr   r   r   r   )r  r1  r   r   r   r   	dotdomains   &&&    r   return_ok_domain$DefaultCookiePolicy.return_ok_domain  s    )'2&++C00fII NNa""T%?%???'''FN - .>>Al4&@&@ /04>>>QD':':9'E'E !+r   c                   \        V4      w  r4VP                  R 4      '       g
   R V,           pVP                  R 4      '       g
   R V,           pV'       d"   VP                  R 4      '       g   R V,           pMTpVP                  V4      '       g   VP                  V4      '       g   R# V P                  V4      '       d   \	        RV4       R# V P                  V4      '       d   \	        RV4       R# R# )r   Fr  r  T)r   r   r   r]  r   rf  )r  r   r   r   r   r  s   &&&   r   r;  $DefaultCookiePolicy.domain_return_ok  s     *'2""3''8|Hs##t8D&++C00fII!!),,i0H0H ??6""7@v&&;VDr   c                    \        R V4       \        V4      p\        V4      pW18X  d   R# VP                  V4      '       d*   VP	                  R4      '       g   W4V^,            R8X  d   R# \        RW14       R# )z- checking cookie path=%sTr   z  %s does not path-match %sF)r   r   r  r   r   )r  r   r   r  pathlens   &&&  r   r?  "DefaultCookiePolicy.path_return_ok  sj    *D1(d)!!$''}}S!!Xgai%@C%G,h=r   )rP  rO  rF  rC  rE  rD  rM  rG  rJ  rK  rL  rI  rH  )httpswss)"r"  r%  r&  r'  r  r  r  DomainLiberalDomainStrictr  rQ  rY  r]  rR  rb  rf  r2  ru  r{  r  r  r  r  r5  r  r  r  r  r  r  r;  r?  r(  r)  r*  s   @r   r   r   k  s      M%&;;L "&t%)#$-1(-"/.3$)"2!0F%7%0&
	:x*$
64 r   c              #      "   \        V P                  4       4       F5  pR p  VP                   Rp \        V4       Rj  xL
  V '       d   K1  Vx  K7  	  R#  L  \         d     L#i ; i5i)FTN)listvaluesitems
deepvaluesAttributeError)mappingobjs   & r   r  r    sb     GNN$%	'II G!#&&wI & '	  		s7   A*AA*A	A*A*A'$A*&A''A*c                       ] tR tRtRtR# )Absenti  r:  Nr"  r%  r&  r'  r(  r:  r   r   r  r    s    dr   r  c                     a  ] tR tRt o ]P
                  ! R4      t]P
                  ! R4      t]P
                  ! R4      t]P
                  ! R4      t	]P
                  ! R4      t
]P
                  ! R]P                  4      tRR	 ltR
 tR tR tR tR tR tR tR tR tR tR tR tR tR R ltR tR tR tR tR t R t!Rt"V t#R# )!r   i  z\Wr   z\.?[^.]*z[^.]*z^\.+z^\#LWP-Cookies-(\d+\.\d+)Nc                p    Vf   \        4       pWn        \        P                  ! 4       V n        / V n        R # rl   )r   _policy
_threadingRLock_cookies_lock_cookiesr  policys   &&r   r  CookieJar.__init__  s,    >(*F'--/r   c                    Wn         R # rl   )r  r  s   &&r   
set_policyCookieJar.set_policy  s    r   c                   . pV P                   P                  W4      '       g   . # \        R V4       V P                  V,          pVP	                  4        F  pV P                   P                  WR4      '       g   K&  WE,          pVP                  4        FM  pV P                   P                  Wr4      '       g   \        R4       K1  \        R4       VP                  V4       KO  	  K  	  V# )z!Checking %s for cookies to returnz   not returning cookiez   it's a match)	r  r;  r   r  keysr?  r  r5  r   )r  r   r   cookiescookies_by_pathr   cookies_by_namer1  s   &&&     r   _cookies_for_domainCookieJar._cookies_for_domain  s    ||,,V==I2F;--/#((*D<<..t==-3O)002||--f>>45()v& 3	 + r   c                    . pV P                   P                  4        F#  pVP                  V P                  W14      4       K%  	  V# rl   )r  r  extendr  )r  r   r  r   s   &&  r   _cookies_for_requestCookieJar._cookies_for_request  s:    mm((*FNN433FDE +r   c                >   VP                  R  RR7       Rp. pV EF  pVP                  pV'       g"   RpV^ 8  d   VP                  RV,          4       VP                  eZ   V P                  P                  VP                  4      '       d/   V^ 8  d(   V P                  P                  RVP                  4      pMVP                  pVP                  f   VP                  VP                  4       M"VP                  VP                  : RV: 24       V^ 8  g   EK  VP                  '       d#   VP                  RVP                  ,          4       VP                  P                  R4      '       dW   VP                  pVP                  '       g!   VP                  R4      '       d
   VR	,          pVP                  R
V,          4       VP                  f   EK  RpVP                  '       d   VRVP                  ,          ,           pVP                  V4       EK   	  V# )c                 ,    \        V P                  4      # rl   )r  r   )as   &r   <lambda>)CookieJar._cookie_attrs.<locals>.<lambda>  s    3qvv;r   T)r   reverseFz$Version=%sr   r   z
$Path="%s"r   ry   z$Domain="%s"z$Portz="%s")sortr   r   r   non_word_rerG   quote_rerf   r   r   r   r   r   r   r   r   )	r  r  r   attrsr1  r   r   r   r  s	   &&       r   _cookie_attrsCookieJar._cookie_attrs  s    	.=F nnG"Q;LL!89
 )  ''55'A+))'6<<@ ||#V[[)U;<{(((LL!;<==++C00#]]F"555))#..!'LL&!89;;*A,,,6;;!67LLOQ T r   c                
   \        R 4       V P                  P                  4         \        \        P                  ! 4       4      ;V P
                  n        V n        V P                  V4      pV P                  V4      pV'       d9   VP                  R4      '       g"   VP                  RRP                  V4      4       V P
                  P                  '       db   V P
                  P                  '       gF   VP                  R4      '       g/   V F(  pVP                  ^8w  g   K  VP                  RR4        M	  V P                  P                  4        V P!                  4        R#   T P                  P                  4        i ; i)add_cookie_headerr   r   Cookie2z$Version="1"N)r   r  acquirerH   rS   r  r  r  r  
has_headeradd_unredirected_headerr   rD  rF  r   releaseclear_expired_cookies)r  r   r  r  r1  s   &&   r   r   CookieJar.add_cookie_headerM  s#    	"#""$	),/		,<<DLL	//8G&&w/E))(3333 $))E"24 $$$T\\-F-F-F&&y11%F~~*77	>R & &&(""$ &&(s*   A4E& <E& E& 5E& E& $E& &Fc                   . pRpRpV EF&  pV^ ,          w  rgRpRp	/ p
/ pVR,           F  w  rVP                  4       pW9   g   W9   d   TpW9   d   Vf   RpW9   d   K7  VR8X  d$   Vf   \        R4       Rp	 MVP                  4       pVR8X  d   V'       d   Kr  Vf   \        R4       K  VR8X  d$   Rp \        V4      pRpT P                  T,           pW9   g   W9   d(   Vf   VR9  d   \        R
V,          4       Rp	 MWV&   K  WV&   K  	  V	'       d   EK  VP                  WgW34       EK)  	  V#   \         d    \        R	4       Rp	  KA  i ; i)r   r   r   r   Fry   Tz%   missing value for domain attributezM   missing or invalid value for expires attribute: treating as session cookiez?   missing or invalid (non-numeric) value for max-age attributez!   missing value for %s attribute)r   r   )r   r   r   r   r   r   r   
commenturl)r   r   r	  )rQ   r   rH   rR   r  r   )r  	attrs_setcookie_tuplesboolean_attrsvalue_attrscookie_attrsr   r   max_age_set
bad_cookiestandardr  r   r   r   s   &&             r   _normalized_cookie_tuples#CookieJar._normalized_cookie_tuplesn  s    +0
 &L&q/KD  KJHD$R((WWY$(;A%!) A==yFG%)
	A	>" y  F G 	>"&KF "A		AA$!*<	!BBBQFG%)
"#QKGe )h   $x!>?Q &T 5 &   2 3%)
	s   6D66EEc                   Vw  r4rVVP                  R \        4      pVP                  R\        4      pVP                  R\        4      p	VP                  R\        4      p
VP                  RR4      pVe    \        V4      pVP                  RR4      pVP                  RR4      pVP                  R	R4      pVP                  R
R4      pV\        Jd   VR8w  d   Rp\	        V4      pMPRp\        V4      pVP                  R4      pVR8w  d   V^ 8X  d   VRV pMVRV^,            p\        V4      ^ 8X  d   RpV\        JpRpV'       d   \        VP                  R4      4      pV\        J d   \        V4      w  ppTpM VP                  R4      '       g
   RV,           pRpV	\        Jd,   V	f   \        V4      p	MRp\        P                  ! RRV	4      p	MRp	V
\        J d   Rp
RpM2WP                  8:  d#    V P                  WxV4       \#        RWxV4       R# \%        VW4V	VVVVVVVV
VVVV4      #   \         d     R# i ; i  \          d     LGi ; i)r   r   r   r   r   Nr   Fr   r   r	  r`   Tr   r   z\s+z2Expiring cookie, domain='%s', path='%s', name='%s'r   )r  r  rH   rR   r   r   r   r  boolr   r   r   r   rf   r  clearKeyErrorr   r   )r  tupr   r   r   r  r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s   &&&                    r   _cookie_from_cookie_tuple#CookieJar._cookie_from_cookie_tuple  sm    '*#Xh/||FF+||FF+,,y&1 ,,y$/g, h.,,y%0,,y$/ll<6 v$"*!Nt$D"N(D

3ABwa<8D1:D4yA~ct "/"!%f&7&7&<!=V-g6NHdF""3''ZF v| $G,!%vvfb$/ D fGG		!

6. G'gN.0BN!
 
	C  v  s$   5H1 7I 1I ?I IIc                    V P                  V4      p. pV F/  pV P                  WR4      pV'       g   K  VP                  V4       K1  	  V# rl   )r  r  r   )r  r
  r   r  r  r  r1  s   &&&    r   _cookies_from_attrs_set!CookieJar._cookies_from_attrs_set+  sH    66yA C33CAFvw~~f- ! r   c                    \        V P                  R R4      pVf   V P                  P                  '       * pV F.  pVP                  ^8X  g   K  RVn        V'       g   K'  ^ Vn        K0  	  R# )rE  NT)r  r  rD  r   r   )r  r  rfc2109_as_nsr1  s   &&  r   _process_rfc2109_cookies"CookieJar._process_rfc2109_cookies4  sX    .CTJ  $ 4 44MF~~"!% = &'FN r   c                   VP                  4       pVP                  R . 4      pVP                  R. 4      p\        \        P                  ! 4       4      ;V P                  n        V n        V P                  P                  pV P                  P                  pV'       g	   V'       d1   V'       g	   V'       d!   V'       g	   V'       d   V'       g   V'       g   . #  V P                  \        V4      V4      pV'       d   V'       d    V P                  \        V4      V4      p	V P                  V	4       V'       dB   / p
V F(  pRWP                  VP                  VP                   3&   K*  	  V
3R lp\#        W4      p	V	'       d   VP%                  V	4       V#   \         d    \        4        . p Li ; i  \         d    \        4        . p	 Li ; i)zSet-Cookie2z
Set-CookieNc                 P    V P                   V P                  V P                  3pW!9  # rl   )r   r   r   )	ns_cookielookupr   s   && r   no_matching_rfc29653CookieJar.make_cookies.<locals>.no_matching_rfc2965m  s%    #**INNINNJC,,r   )r  get_allrH   rS   r  r  rD  rC  r  r   	Exceptionr!   r   r   r   r   r   filterr  )r  responser   r   rfc2965_hdrsns_hdrsrD  rC  r  
ns_cookiesr%  r1  r&  s   &&&          r   make_cookiesCookieJar.make_cookies@  sl    --/}b9//,3(+DIIK(88DI,,&&<<((gh'I	22"<0';G x !99$W-w8

 ))*5 %FHLFMM6;;DE & ;A - $$7D
z*C  	%'G	   )+
 s$   F F1 F.-F.1G
Gc                z   V P                   P                  4         \        \        P                  ! 4       4      ;V P                  n        V n        V P                  P                  W4      '       d   V P                  V4       V P                   P                  4        R #   T P                   P                  4        i ; irl   )	r  r  rH   rS   r  r  r2  
set_cookier  r0  s   &&&r   set_cookie_if_okCookieJar.set_cookie_if_okw  s    ""$	),/		,<<DLL	||""633' &&(D&&(s   A&B B:c                   V P                   pV P                  P                  4         VP                  V9  d   / W!P                  &   W!P                  ,          pVP                  V9  d   / W1P                  &   W1P                  ,          pWVP
                  &   V P                  P                  4        R #   T P                  P                  4        i ; irl   )r  r  r  r   r   r   r  )r  r1  cc2c3s   &&   r   r2  CookieJar.set_cookie  s    MM""$	)}}A%"q'7==!B{{"$boKKB$v{{O&&(D&&(s   A0B4 4Cc                   \        R VP                  4       4       V P                  P                  4         V P	                  W4       FC  pV P
                  P                  W24      '       g   K&  \        RV4       V P                  V4       KE  	  V P                  P                  4        R#   T P                  P                  4        i ; i)zextract_cookies: %sz setting cookie: %sN)	r   r  r  r  r/  r  r2  r2  r  )r  r+  r   r1  s   &&& r   extract_cookiesCookieJar.extract_cookies  s    $hmmo6""$	)++H><<&&v770&9OOF+ ?
 &&(D&&(s   2B* -!B* *Cc                    Ve1   Ve   Vf   \        R4      hV P                  V,          V,          V R # Ve&   Vf   \        R4      hV P                  V,          V R # Ve   V P                  V R # / V n        R # )Nz8domain and path must be given to remove a cookie by namez.domain must be given to remove cookies by path)rR   r  )r  r   r   r   s   &&&&r   r  CookieJar.clear  s     DL NP Pf%d+D1~ DF Ff%d+f%DMr   c                J   V P                   P                  4         V  FH  pVP                  '       g   K  V P                  VP                  VP
                  VP                  4       KJ  	  V P                   P                  4        R #   T P                   P                  4        i ; irl   )r  r  r   r  r   r   r   r  )r  r1  s   & r   clear_session_cookiesCookieJar.clear_session_cookies  sq     	""$	)>>>JJv}}fkk6;;G  &&(D&&(s   B 5B B"c                ~   V P                   P                  4         \        P                  ! 4       pV  FM  pVP                  V4      '       g   K  V P	                  VP
                  VP                  VP                  4       KO  	  V P                   P                  4        R #   T P                   P                  4        i ; irl   )	r  r  rS   r  r  r   r   r   r  )r  r1   r1  s   &  r   r  CookieJar.clear_expired_cookies  s     	""$	)))+C$$S))JJv}}fkk6;;G  &&(D&&(s   .B  5B   B<c                ,    \        V P                  4      # rl   )r  r  rU  s   &r   __iter__CookieJar.__iter__  s    $--((r   c                ,    ^ pV  F  q!^,           pK  	  V# )r   r:  )r  r   r1  s   &  r   __len__CookieJar.__len__  s    FAAdr   c                    . pV  F  q!P                  \        V4      4       K  	  R V P                  P                  : RRP	                  V4      : R2# <[r   z]>)r   r   r!  r"  r   r  rr1  s   &  r   r#  CookieJar.__repr__  s8    FHHT&\2d!^^44diilCCr   c                    . pV  F  q!P                  \        V4      4       K  	  R V P                  P                  : RRP	                  V4      : R2# rK  )r   r  r!  r"  r   rN  s   &  r   r  CookieJar.__str__  s8    FHHS[1d!^^44diilCCr   )r  r  r  r  rl   )NNN)$r"  r%  r&  r'  r   compiler  r  strict_domain_re	domain_redots_reASCIImagic_rer  r  r  r  r  r   r  r  r  r   r/  r3  r2  r;  r  r@  r  rE  rH  r#  r  r(  r)  r*  s   @r   r   r     s      **U#Kzz+&Hzz+.

8$Ijj!Gzz6AH$9v%B_BZx
'5n))
)6))&)D
D Dr   c                       ] tR tRtRtR# )r   i  r:  Nr  r:  r   r   r   r     s    $r   c                   H   a  ] tR tRt o RR ltR	R ltR	R ltR	R ltRtV t	R# )
r   i  Nc                    \         P                  W4       Ve   \        P                  ! V4      pWn        \        V4      V n        R # rl   )r   r  osfspathfilenamer  	delayload)r  r^  r_  r  s   &&&&r   r  FileCookieJar.__init__  s6     	4(yy*H ir   c                    \        4       hrl   r.  )r  r^  ignore_discardignore_expiress   &&&&r   saveFileCookieJar.save   r7  r   c                    Vf+   V P                   e   V P                   pM\        \        4      h\        V4      ;_uu_ 4       pV P	                  WAW#4       R R R 4       R #   + '       g   i     R # ; irl   )r^  rR   MISSING_FILENAME_TEXTopen_really_loadr  r^  rb  rc  r   s   &&&& r   loadFileCookieJar.load  sM    }}(T]]("#899(^^qa>J ^^^s   AA0	c                   Vf+   V P                   e   V P                   pM\        \        4      hV P                  P	                  4         \
        P                  ! V P                  4      p/ V n         V P                  WV4        T P                  P                  4        R #   \         d	    Y@n        h i ; i  T P                  P                  4        i ; irl   )r^  rR   rg  r  r  r   deepcopyr  rk  OSErrorr  )r  r^  rb  rc  	old_states   &&&& r   revertFileCookieJar.revert  s     }}(T]]("#899""$	)dmm4IDM		(NC &&(   )
 &&(s   
'B7 2B! !B44B7 7C)r  r_  r^  )NFNNFF)
r"  r%  r&  r'  r  rd  rk  rq  r(  r)  r*  s   @r   r   r     s     
)$K) )r   c                 p   V P                   V P                  3R V P                  3RV P                  3.pV P                  e   VP                  RV P                  34       V P                  '       d   VP                  R4       V P                  '       d   VP                  R4       V P                  '       d   VP                  R	4       V P                  '       d   VP                  R
4       V P                  '       d0   VP                  R\        \        V P                  4      4      34       V P                  '       d   VP                  R4       V P                  '       d   VP                  RV P                  34       V P                  '       d   VP                  RV P                  34       \!        V P"                  P%                  4       4      pV F0  pVP                  V\'        V P"                  V,          4      34       K2  	  VP                  R\'        V P(                  4      34       \+        V.4      # )r   r   r   r   r   r	  r   )	path_specN)	port_specN)
domain_dotN)r   N)r   N)r   r   r   r   r   r   r   r   r   r   r   r:   rc   r   r   r   sortedr  r  r  r   r   )r1  r   r  r   s   &   r   lwp_cookie_strry  (  s    ++v||	$
&++	
FMM	"	$A {{&&++)> ?ahh':;ahh':;   !((+?"@}}}ahh/0~~~qxx(v~~)>?!A B~~~qxx 12~~~qxxFNN ;<188\63E3E$FG&,,##%&D	!Sa)*+  HHiV^^,-.aS!!r   c                   :   a  ] tR tRt o RR ltRR ltR tRtV tR# )	r   iD  c                0   \         P                   ! 4       p. pV  Fa  pV'       g   VP                  '       d   K  V'       g   VP                  V4      '       d   K@  VP                  R \	        V4      ,          4       Kc  	  RP                  VR.,           4      # )zSet-Cookie3: %s
r`   )rS   r   r  r   ry  r   )r  rb  rc  r1   rO  r1  s   &&&   r   
as_lwp_strLWPCookieJar.as_lwp_strQ  sp     iikF!fnnn!f&7&7&<&<HH&)??@  yyB4  r   Nc                   Vf+   V P                   e   V P                   pM\        \        4      h\        P                  ! \        P
                  ! V\        P                  \        P                  ,          \        P                  ,          R4      R4      ;_uu_ 4       pVP                  R4       VP                  V P                  W#4      4       R R R 4       R #   + '       g   i     R # ; i)N  wz#LWP-Cookies-2.0
)r^  rR   rg  r\  fdopenrh  O_CREATO_WRONLYO_TRUNCwriter}  rj  s   &&&& r   rd  LWPCookieJar.savea  s    }}(T]]("#899YYGGHbjj2;;6CUK
 
  GG()GGDOONCD
 
 
 
s   2CC)	c                   VP                  4       pV P                  P                  V4      '       g   R V,          p\        V4      h\        P                  ! 4       pRpRp	Rp
 VP                  4       ;pR8w  Ed   VP                  V4      '       g   K1  V\        V4      R P                  4       p\        V.4       EFk  pV^ ,          w  r/ p/ pV	 F  pRVV&   K
  	  VR,           FT  w  ppVe   VP                  4       pMRpVV
9   g   VV	9   d   TpVV	9   d   Vf   RpVVV&   KA  VV
9   d   VVV&   KO  VVV&   KV  	  VP                  pV! R4      pV! R4      pVe   \        V4      pVf   RpV! R
4      pVP                  R4      p\        V! R4      WV! R4      V! R4      VVV! R4      V! R	4      V! R4      V! R4      VVV! R4      V! R4      V4      pV'       g   VP                  '       d   EK8  V'       g   VP                  V4      '       d   EKZ  V P                  V4       EKn  	  EK  R#   \          d    h \"         d    \%        4        \        RT: RX: 24      hi ; i)z5%r does not look like a Set-Cookie3 (LWP) format filezSet-Cookie3:rv  ru  rw  r   r   r   r   r   r   r   r   r	  r`   NFry   Tr   z invalid Set-Cookie3 format file : )rv  ru  rw  r   r   )r   r   r   r   r   r   r	  )readlinerX  rG   r   rS   r   r  r   r   rQ   r  ro   r   r   r  r2  ro  r)  r!   )r  r   r^  rb  rc  magicr    r1   headerr  r  linedatar   r   r  r  r   r   r   r   r   r   r   r   r6  s   &&&&&                     r   ri  LWPCookieJar._really_loadp  s]   

}}##E**$%CC. iik.0
9	.::<'4B.v..CKL)//1.v6D"&q'KD!HD*&+ + $R1=!"B!%B+-23F "A- yd!*+HQK+-*+HQK&'DG !)  !A	lG	lG*"*7"3"&x[F'-'8'8'=$q|T y!K.%'7< y!K. {&& | #	%A *aiii )all3.?.? OOA&[ 7 /f  	 	.%'%t- . .	.s+   ".H0 EH0 0
H0 ;H0 H0 0I$I$r:  )TTrs  )	r"  r%  r&  r'  r}  rd  ri  r(  r)  r*  s   @r   r   r   D  s     ! EJ. J.r   c                   0   a  ] tR tRt o R tRR ltRtV tR# )r	   i  c                   \         P                   ! 4       p\        P                  VP                  4       4      '       g   \	        R V,          4      h VP                  4       ;pR8w  EdE   / pVP                  \        4      '       d   RV\        &   V\        \        4      R pVP                  R4      '       d   VRR pVP                  4       P                  R4      '       g   VP                  4       R8X  d   K  VP                  R4      w  rrrpVR8H  pV	R8H  p	VR8X  d   TpRpVP                  R4      pRpVR8X  d   RpRp\        ^ WRRWVV
RVVVRRV4      pV'       g   VP                  '       d   EK&  V'       g   VP                  V4      '       d   EKH  V P                  V4       EK\  R#   \          d    h \"         d    \%        4        \	        R	T: R
X: 24      hi ; i)z4%r does not look like a Netscape format cookies filer`   Nr|  	TRUEr   FTz%invalid Netscape format cookies file r  r   )#r~  )rS   NETSCAPE_MAGIC_RGXrs   r  r   r   HTTPONLY_PREFIXHTTPONLY_ATTRr  r   r   r   r   r   r  r2  ro  r)  r!   )r  r   r^  rb  rc  r1   r  r  r   r   r   r   r   r   r   r   r   r6  s   &&&&&             r   ri  MozillaCookieJar._really_load  s   iik!''

55F <	.::<'4B.
 ???33*,D'O 4 56D ==&&tCRy JJL++J77JJLB& 

4( M$u F*$4$> 2: !D E$//4  b="G"G 1d![!""	! &!)))%!,,s*;*;"i /l  	 	.%'%t- . .	.s1   4F0 1F0 9B;F0 5
F0  F0 F0 0G$G$Nc                H   Vf+   V P                   e   V P                   pM\        \        4      h\        P                  ! \        P
                  ! V\        P                  \        P                  ,          \        P                  ,          R4      R4      ;_uu_ 4       pVP                  \        4       \        P                  ! 4       pV  EF8  pVP                  pV'       g   VP                  '       d   K,  V'       g   VP                  V4      '       d   KM  VP                  '       d   RpMRpVP!                  R4      '       d   Rp	MRp	VP"                  e   \%        VP"                  4      p
MRp
VP&                  f   RpVP(                  pMVP(                  pVP&                  pVP+                  \,        4      '       d   \.        V,           pVP                  RP1                  WyVP2                  WW.4      R,           4       EK;  	  R R R 4       R #   + '       g   i     R # ; i)	Nr  r  r  FALSEr   r`   r  r|  )r^  rR   rg  r\  r  rh  r  r  r  r  NETSCAPE_HEADER_TEXTrS   r   r   r  r   r   r   r  r   r   r  r  r  r   r   )r  r^  rb  rc  r   r1   r1  r   r   r   r   r   r   s   &&&&         r   rd  MozillaCookieJar.save#  s   }}(T]]("#899YYGGHbjj2;;6CUK
 
 GG()))+C%&...%&*;*;C*@*@===6&&f$$S));$+k>>-!&..1G G<<' D"KKE!;;D"LLE..}==,v5FIIvFKK%= >3 
 
 
 
s3   AH3	H=HH(HA:H?AHH!	r:  rs  )r"  r%  r&  r'  ri  rd  r(  r)  r*  s   @r   r	   r	     s     @D.L' 'r   )r   r   r   r   r   r   r   r	   )MonTueWedThuFriSatSun)JanFebMarAprMayJunJulAugSepOctNovDecrl   )Y__all__r\  r   r0   r   rS   urllib.parser   urllib.request	threadingr  http.clienthttpcalendarr
   r   r   r   r  r  r  client	HTTP_PORTr   rS  r  rg  r  r!   r$   r,   r<   r>   rQ   rO   r:   r?   rE   rW  rF   rL   r]   ra   Ire   Xrg   rj   rm   ro   rv   rz   r{   r}   r|   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r   ro  r   r   ry  r   r	   )r'   s   0r   <module>r     s  8M 
   	  #   	 --. ZZ @A :  A 
 9
4+126%62B&0( D%tT3=	jj5rxx@6p ,-/XX7 ZZ2BDD288OE
ZZ& DD288O) *65p jj
  44"))#$5B3
 $67$MN $9:::h' Sj zz"AB 

;/ 2AH **Y
)%N( jj288, 	  $**9:+!F"_E _ED B_, _B"  LD LD`  4)I 4)n"8v.= v.rM} MC; 3s    K