bg6:ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl m Z ddl m Z m Z mZddlmZddlmZmZmZmZmZmZmZmZmZmZmZddlmZddlm Z m!Z!dd l"m#Z#dd l$m%Z%m&Z&m'Z'd Z(ee)d fZ*Gd de Z+Gdde Z,dS)N) defaultdict) BaseCookieMorsel SimpleCookie)ceil) DefaultDictDictIterableIteratorListMappingOptionalSetTupleUnioncast)URL)AbstractCookieJarClearCookiePredicate) is_ip_address) LooseCookiesPathLikeStrOrURL) CookieJarDummyCookieJar Morsel[str]c eZdZdZejdZejdZejdZejdej Z ejdZ e e j je jjdz Z ejejen%#eef$rejd ZYn e$rd ZYnwxYwedz Zd d d d ddededeeeed fde e!j"dd f fdZ#de$dd fdZ%de$dd fdZ&d1de e'dd fdZ(de)dd fdZ*d2dZ+de fdZ,d3dZ-d e.de)d!e)d"e)dd f d#Z/e0fd$e1d%e0dd fd&Z2e0fd'e0dd(fd)Z3e4de)d*e)defd+Z5e4d,e)d-e)defd.Z6e7d/e)de e fd0Z8xZ9S)4rz/Implements cookie storage adhering to RFC 6265.z][\x09\x20-\x2F\x3B-\x40\x5B-\x60\x7B-\x7E]*(?P[\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) i ;r#r$r$iFTN)unsafe quote_cookietreat_as_secure_originloopr%r&r'r(returnct|tt|_t |_||_||_|g}not|tr| g}nDt|tr#t| g}n d|D}||_ ttj|_i|_dS)Nr(cg|]L}t|tr!t|n|MS) isinstancestrrorigin).0urls H/opt/cloudlinux/venv/lib64/python3.11/site-packages/aiohttp/cookiejar.py z&CookieJar.__init__..bsT&&&&0S%9%9KC!!!szz||&&&)super__init__rr_cookiesset_host_only_cookies_unsafe _quote_cookier.rr0r/_treat_as_secure_originrtime_next_expiration _expirations)selfr%r&r'r( __class__s r3r7zCookieJar.__init__Ls d###DO E E  9< ) ! )%' " " . 4 4 &<&C&C&E&E%F " " . 4 4 &)*@&A&A&H&H&J&J%K " "&&1&&& "(>$'+DIKK'8'8?Ar5 file_pathctj|}|d5}tj|j|tjddddS#1swxYwYdS)Nwbmode)pathlibPathopenpickledumpr8HIGHEST_PROTOCOLrArCfs r3savezCookieJar.savejsL++ ^^^ & & C! K q&*A B B B C C C C C C C C C C C C C C C C C Cs&AA"%A"ctj|}|d5}tj||_ddddS#1swxYwYdS)NrbrF)rHrIrJrKloadr8rNs r3rSzCookieJar.loadosL++ ^^^ & & +!"KNNDM + + + + + + + + + + + + + + + + + +sAAA predicatecP|rttj|_|j|j|jdSg}tj}|jD]a\\}}}|D]D\}}|||f} | |jvr|j| |ks ||r|| Eb|D]^\}}}|j ||f|||f} | |jvr |j|||f=|j||f |d_|jr-tg|j |j Rdzn|j|_dS)Nr)rr>r?r8clearr:r@itemsappenddiscardpopminvalues SUB_MAX_TIMEMAX_TIME) rArTto_delnowdomainpathcookienamemorselkeys r3rVzCookieJar.clearts  $($5$5D ! M   ! ! !  # ) ) + + +   # # % % % Fikk&*m&9&9&;&; ' ' "NVTF &  ' ' ftT*4,,,1B31G31N1NYv&&2OMM#&&&  '#) : : FD$  # + +VTN ; ; ;4&Cd'''%vtT&:; M64. ) - -dD 9 9 9 9  C ?"))++ ?T-> ? ? ?! C C r5rac<fddS)Nc<|dS)Nra)_is_domain_match)xrarAs r3z(CookieJar.clear_domain..sT2261X;GGr5rVrAras``r3 clear_domainzCookieJar.clear_domains) GGGGGHHHHHr5Iterator[Morsel[str]]c#K||jD]}|Ed{VdSN)_do_expirationr8r\)rAvals r3__iter__zCookieJar.__iter__sb ='')) $ $Czz|| # # # # # # # # $ $r5c4td|DS)Nc3K|]}dVdS)rNr-)r1is r3 z$CookieJar.__len__..s"##1######r5)sumrAs r3__len__zCookieJar.__len__s##d######r5c2|ddS)NcdS)NFr-)rjs r3rkz*CookieJar._do_expiration..sUr5rlrzs r3rrzCookieJar._do_expirations ??#####r5whenrbrdcTt|j||_||j|||f<dSrq)r[r?r@)rAr~rarbrds r3_expire_cookiezCookieJar._expire_cookies1 #D$94 @ @2664.///r5cookies response_urlc|j}|jst|rdSt|tr|}|D]\}}t|t st}|||<||}|d}|drd}|d=|s%|#|j ||f|x}|d<| dr|dd}||d<|r| ||s|d}|r| dsD|j }| dsd}n d|d|dz}||d<|d} | rg t| } t!t#j| z|j} || |||nT#t($rd|d<YnCwxYw|d } | r5|| } | r|| |||nd|d <||j||f|<|dS) zUpdate cookies.Nra.rrb/zmax-ageexpires)raw_hostr;rr.r rWrrendswithr:add startswithrirbrfindintr[r>r^r ValueError _parse_dater8rr)rArrhostnamerdrctmprarbmax_age delta_secondsmax_age_expirationr expire_times r3update_cookieszCookieJar.update_cookiess(|  h 7 7  F gw ' ' &mmooG#9 99 9LD&ff-- #"nn"D TH%Fs## %8$ 5h2'++Xt,<===,44)  %% *#)x   5 5fh G G &>D &ts33 &#(s++;DDa$**S//&9!::D!%vY'G /+$'LLM),TY[[=-H$-)X)X&''(:FD$OOOO!+++(*F9%%%+!+/"&"2"27";";K"/++KtLLLL,.y)28DM64. )$ / / s5AGGG request_urlBaseCookie[str]c |jrtn t}|js|S||js|St |}|jpd}|jdv}|rc|jr\t }tj t5| }dddn #1swxYwY||jv}t|dD]}|j}|d}|s |j||<|jst#|r5||f|jvr||krGn|||s_||j|ds|r |drt-d ||jt1} | |j|j|j| ||<|S) z8Returns this jar's cookies filtered by their attributes.r)httpswssNc,t|dS)Nrb)len)cs r3rkz*CookieJar.filter_cookies..sQvYr5)rfrarbsecurer)r<rrr8rrrrschemer= contextlibsuppressrr0sortedrfvaluer;rr:ri_is_path_matchrbrgetrr9 coded_value) rArfilteredr is_not_securerequest_originrcrdramrsl_vals r3filter_cookieszCookieJar.filter_cookiessM#0 BLNNNjll } O } O+&& '-2#*2BB  OT9 O UUN$Z00 6 6!,!3!3!5!5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6*$2NNMT'?'?@@@ & &F:DH%F !'< M($;$; ~!888X%%&**68<< &&{'7HH  !1 M6::fj&((+K+KLLH LLV\63E F F F%HTNNsB<<CCrc||krdS||sdS|dt| }|dsdSt| S)z0Implements domain matching adhering to RFC 6265.TFNr)rrr)rar non_matchings r3rizCookieJar._is_domain_match$sq v  4  (( 53v;;,/ $$S)) 5 ****r5req_path cookie_pathc|dsd}||krdS||sdS|drdS|t|d}|dS)z.Implements path matching adhering to RFC 6265.rTFN)rrr)rrrs r3rzCookieJar._is_path_match4s""3'' H { " "4"";// 5    $ $ 4K 0 0 2 23 &&s+++r5date_strc |sdSd}d}d}d}dx}x}}d} d} d} |j|D]} | d} |sA|j| }|r%d}d|D\}}}[|s@|j| }|r$d}t|} |s/|j| }|rd}|j J|j } |s?|j | }|r#d}t|} d| cxkrdkr nn| d z } nd| cxkrd krnn| d z } d||||fvrdSd | cxkrd ksndS| dks|dks |dks|dkrdStj | | | |||dddf S)z4Implements date string parsing adhering to RFC 6265.NFrtokenTc34K|]}t|VdSrq)r)r1ss r3rxz(CookieJar._parse_date.._s(+P+PqCFF+P+P+P+P+P+Pr5FcilEirr!iAr"r#r$) DATE_TOKENS_REfinditergroupDATE_HMS_TIME_REmatchgroupsDATE_DAY_OF_MONTH_REr DATE_MONTH_RE lastindex DATE_YEAR_REcalendartimegm)clsr found_time found_day found_month found_yearhourminuteseconddaymonthyear token_matchr time_match day_match month_match year_matchs r3rzCookieJar._parse_dateGsg 4    !"""v-66x@@ 3 3K%%g..E  177>> !%J+P+PJgmtimeOSErrorr OverflowErrorr]boolrrr rasyncioAbstractEventLoopr7rrPrSrrVr/rnrtr{rrfloatrrrrr staticmethodrir classmethodr __classcell__rBs@r3rr's"99RZ >N "rz"BCC%2:l33BJT M 2:l++L H  ! ) )1B1F ) G G Q Q S STTWXX    H--.... Z KKK#8?#IJJ aI3I4IIII$$$$ $$$$$$$$$757#7S77PT7777ILFFlF#FRVFFFFP1455#5:K5555n + + + + + +\ +,,3,4,,,\,$=U3=U8C==U=U=U[=U=U=U=U=Us'CC(C('C(rceZdZdZdddeejddffdZddZde fd Z dd ee ddfd Z d e ddfd ZefdededdfdZdeddfdZxZS)rzxImplements a dummy cookie storage. It can be used with the ClientSession when no cookie processing is needed. Nr+r(r)cLt|dS)Nr+)r6r7)rAr(rBs r3r7zDummyCookieJar.__init__s$ d#####r5roc# KdSrqr-rzs r3rtzDummyCookieJar.__iter__s  r5cdS)Nrr-rzs r3r{zDummyCookieJar.__len__sqr5rTcdSrqr-)rArTs r3rVzDummyCookieJar.clear r5racdSrqr-rms r3rnzDummyCookieJar.clear_domainrr5rrcdSrqr-)rArrs r3rzDummyCookieJar.update_cookiesrr5rrctSrq)r)rArs r3rzDummyCookieJar.filter_cookiess ~~r5rrq)rrrrrrrr7rtrr{rrVr/rnrrrrrrs@r3rrsK GK$$$)B C$t$$$$$$  x(<=      3 4    IL  l # RV    #2Cr5r)-rrrrosrHrKrr> collectionsr http.cookiesrrrmathrtypingrr r r r r rrrrryarlrabcrrhelpersrtypedefsrrr__all__r/ CookieItemrrr-r5r3rs  ######9999999999                          88888888""""""6666666666 )3 % & ^U^U^U^U^U!^U^U^UB &r5