3869 341 95526 2182 6039 9208 247244 9768 0 8331 19991 853 0 133616 40 2018 7999 )ˆÈË „LˆÊÅÍ?÷)§ 1´‹ö­]Áfãó´—dZgd¢ZddlZddlZdZdZdZgd¢Zgd¢Zddddd d d d d d d d dd dœZ d„Z d„Z d„Z d„Z d„ZGd„d¦«ZGd„de¦«ZdS)zcEmail address parsing code. Lifted directly from rfc822.py. This should eventually be rewritten. )Ú mktime_tzÚ parsedateÚ parsedate_tzÚquoteéNú Úz, )ÚjanÚfebÚmarÚaprÚmayÚjunÚjulÚaugÚsepÚoctÚnovÚdecÚjanuaryÚfebruaryÚmarchÚaprilr ÚjuneÚjulyÚaugustÚ septemberÚoctoberÚnovemberÚdecember)ÚmonÚtueÚwedÚthuÚfriÚsatÚsunipþÿÿiÔþÿÿi þÿÿi¨ýÿÿiDýÿÿiàüÿÿ)ÚUTÚUTCÚGMTÚZÚASTÚADTÚESTÚEDTÚCSTÚCDTÚMSTÚMDTÚPSTÚPDTcó`—t|¦«}|sdS|d€d|d<t|¦«S)zQConvert a date string to a time tuple. Accounts for military timezones. Né r)Ú _parsedate_tzÚtuple)ÚdataÚress ú=/opt/alt/python-internal/lib64/python3.11/email/_parseaddr.pyrr-s<€õ ˜Ñ Ô €CØ ðØˆØ ˆ1„v€~؈ˆA‰Ý �‰:Œ:Ðóc óŠ—|sdS| ¦«}|sdS|d d¦«s!|d ¦«tvr|d=n7|d d¦«}|dkr|d|dzd…|d<t |¦«dkr;|d d¦«}t |¦«dkr ||dd…z}t |¦«dkrm|d}| d¦«}|d kr| d¦«}|dkr|d|…||d…g|dd…<n| d ¦«t |¦«d krdS|dd …}|\}}}}}|r|r|sdS| ¦«}|tvr!|| ¦«}}|tvrdSt  |¦«dz}|d kr|d z}|d dkr |dd …}| d ¦«}|dkr||}}|d dkr|dd …}|sdS|d  ¦«s||}}|d dkr |dd …}| d ¦«}t |¦«dkr|\} } d} n‹t |¦«dkr|\} } } nqt |¦«dkr\d|dvrR|d d¦«}t |¦«dkr|\} } d} nt |¦«dkr|\} } } ndSdS t|¦«}t|¦«}t| ¦«} t| ¦«} t| ¦«} n#t$rYdSwxYw|dkr|dkr|dz }n|dz }d} |  ¦«}|tvrt|} n> t|¦«} n#t$rYnwxYw| dkr| d¦«rd} | r"| dkrd } | } nd} | | dzdz| dzdzzz} |||| | | ddd | g S)a†Convert date to extended time tuple. The last (additional) element is the time zone offset in seconds, except if the timezone was specified as -0000. In that case the last element is None. This indicates a UTC timestamp that explicitly declaims knowledge of the source timezone, as opposed to a +0000 timestamp that indicates the source timezone really was UTC. Nrú,ééú-éú+éÿÿÿÿréé ú:éÚ0ú.édéDiliÐié<)ÚsplitÚendswithÚlowerÚ _daynamesÚrfindÚlenÚfindÚappendÚ _monthnamesÚindexÚisdigitÚintÚ ValueErrorÚupperÚ _