Viewing File: /opt/alt/python-internal/lib64/python3.11/email/__pycache__/utils.cpython-311.opt-2.pyc



!A?hFC	gdZddlZddlZddlZddlZddlZddlZddlZddl	m
Z
ddl	mZddl	m
Z
ddl	mZmZmZddlmZdZd	Zd	Zd
ZdZejdZejd
ZdZdZd+dZdZdZdZ dddZ!dZ"dZ#dZ$dZ%d,dZ&d-dZ'd.dZ(dZ)ddd Z*d!Z+d"Z,d.d#Z-ejd$ej.Z/d%Z0		d/d(Z1d0d*Z2dS)1)collapse_rfc2231_value
decode_paramsdecode_rfc2231encode_rfc2231
formataddr
formatdateformat_datetimegetaddresses
make_msgid	mktime_tz	parseaddr	parsedateparsedate_tzparsedate_to_datetimeunquoteN)quote)AddressList)r)r
r
_parsedate_tz)Charsetz, z
'z[][\\()<>@,:;".]z[\\"]cT		|dS#t$rYdSwxYw)NFT)encodeUnicodeEncodeError)ss 8/opt/alt/python-internal/lib64/python3.11/email/utils.py_has_surrogatesr4s>E	


utts
''cZ|dd}|ddS)Nutf-8surrogateescapereplace)rdecode)stringoriginal_bytess  r	_sanitizer%As.
]]7,=>>N  )444rc	|\}}|d|r	|dd}t|rd}td|}|||d|dS#t
$rDt
|trt|}|	|}|d|dcYSwxYw|S)Nasciir"z\\\g<0>z <>)
r
specialsresearch	escapesresubr
isinstancestrr
header_encode)paircharsetnameaddressquotesencoded_names      rrrMsMD'NN7
C	CKK   F  &&
==T22D$*FDD&&&'''BB"	7	7	7'3''
+!'**"0066L ,ggg6666		7NsA99ACCc#Kd}d}t|D]"\}}|r|d|zfVd}|dkrd}||fV#|r|dfVdSdS)NrF\T)	enumerate)addrposescapechs    r_iter_escaped_charsr?ns
C
FT??R	r	""""FF
4ZZFF)OOOO
Dkr&c:	d|vr|Sd}d}g}t|D]:\}}|dkr/||}||kr|||||dz}d};|t|kr|||dd|S)Nr)rr)r?appendlenjoin)r;startopen_posresultr<r>s      r_strip_quoted_realnamesrH}s*
$
EH
F&t,,  R
99H$$MM$uX~"6777as4yy

d566l###
776??r&T)strictc	|s:td|D}t|}|jSd|D}t	|}t|}t|}t|j}d}|D],}t
|}|d|dzz
}-t||krdgS|S)Nc34K|]}t|VdS)Nr0.0vs  r	<genexpr>zgetaddresses.<locals>.<genexpr>s(::c!ff::::::r&c,g|]}t|SrLrMs  r
<listcomp>z getaddresses.<locals>.<listcomp>s///a3q66///r&rrA,rr)	
COMMASPACErD_AddressListaddresslist_pre_parse_validation_post_parse_validationrHcountrC)fieldvaluesrIallar;rGnrOs        rr	r	s"oo::k:::::}//;///K'44K??;''DTA
#AM
2
2F	
A

$A&&	Q

6{{azMr&ct|}d}t|D]%\}}|dkr|dz
}|dkr|dz}|dkrdS&|dkS)Nr(rA)F)rHr?)r;opensr<r>s    r_check_parenthesisrdsp"4((D
E&t,,R
99QJEE
3YYQJEqyyuuQJr&c`g}|D](}t|sd}||)|S)Nz('', ''))rdrB)email_header_fieldsaccepted_valuesrOs   rrYrYsHO
 ""!!$$	Aq!!!!r&cVg}|D]#}d|dvrd}||$|S)N[rArU)rB)parsed_email_header_tuplesrgrOs   rrZrZsGO(""!A$;;Aq!!!!r&c	dgd|d|dgd|ddz
|d|d|d	|d
|fzS)Nz"%s, %02d %s %04d %02d:%02d:%02d %s)MonTueWedThuFriSatSun)JanFebMarAprMayJunJulAugSepOctNovDecrArrR)	timetuplezones  r_format_timetuple_and_zonersj/999)A,G!	3	3	33<Q<!3C	E!ilIaL)A,
3r&Fc$	|tj}|s|r0tj|tjj}ntj|}|r|}d}t||S)NF)timedatetime
fromtimestamptimezoneutcutcfromtimestamp
astimezoner)timeval	localtimeusegmtdts    rrrs")++9F9


,
,Wh6G6K
L
L


/
/
8
8
]]__2v&&&r&c	|}|r3|j|jtjjkrtdd}n|jd}n|d}t||S)Nz%usegmt option requires a UTC datetimeGMTz-0000z%z)rtzinforrr
ValueErrorstrftimer)rrnowrs    rrrs~
,,..C
!
9	X->-B B BDEEE		{{4  %c4000r&c	ttjdz}tj}t	jd}|d}nd|z}|t
j}d|||||fz}|S)Nd@r.z<%d.%d.%d%s@%s>)introsgetpidrandomgetrandbitssocketgetfqdn)idstringdomainrpidrandintmsgids      rr
r
"s}$)++c/""G
)++C $$G>
~!!#w& IIELr&c	t|}|tdt|z|^}}|tj|ddStj|dddtjtj|iS)Nz!Invalid date value or format "%s"rsrseconds)rrr0rr	timedelta)dataparsed_date_tzdtupletzs    rrr9s"4((N<s4yyHIII KVR	z &!*--fRaRjF$X%7%C%C%CDDFFFr&c\	|s t|j}|sdS|dSt|tr|d}t|tsdSt|gd}t
t|j}|rt|dkrdS|dS)NrUrrA)rWrXr/listr0rYrZrC)r;rIaddrss   rrrDsT"".	8Qx$AwdC  x $((+D"<#5#5#ABBECJJNNx8Or&cN	t|dkr|drG|dr2|ddddddS|dr|dr
|ddS|S)	NrAr)z\\r9z\"<r*)rC
startswithendswithr!rLs rrrcs&
3xx!||>>#	G3<<#4#4	Gqt9$$VT22::5#FFF>>#	3<<#4#4	qt9Jr&cn	|td}t|dkrdd|fS|S)Nrt)splitTICKrC)rpartss  rrros8-
GGD!E
5zzQT1}Lr&ct	tj|d|pd}|||S|d}|d|d|S)Nrr()safeencodingr)urllibparser)rr3languages   rrrws[	120B7CCA8+ (((AA..r&z&^(?P<name>\w+)\*((?P<num>[0-9]+)\*?)?$c	|dg}i}|ddD]\}}|d}t|}t|}|rW|dd\}}|t|}||g|||f||dt|zf|r|	D]\}}g}d}	|
|D]@\}}
}|r#tj|
d	}
d
}	||
Att|}|	r1t|\}}}||||d|zff||d|zf|S)NrrA*r4numz"%s"Fzlatin-1)rT)rrrfc2231_continuationmatchgroupr
setdefaultrBritemssortrrEMPTYSTRINGrDr)
params
new_paramsrfc2231_paramsr4valueencodedmor
continuationsextendedrr3rs
             rrrs)JNabbz
=
=e--$$
!
'
'
-
-
	=//ID##hh%%dB//66UG7LMMMMtVeEll%:;<<<<:#1#7#7#9#9	:	:D-EH   $1
 
 Q$,,Q,CCA#HQ+**51122E
:+9%+@+@(5!!4'8Ve^)L"MNNNN!!4%"89999r&r!us-asciict|trt|dkrt|S|\}}}||}t	|d}	t|||S#t$rt|cYSwxYw)Nrzraw-unicode-escape)r/tuplerCrbytesr0LookupError)rerrorsfallback_charsetr3rtextrawbytess       rrrseU##s5zzQu~~$GXt#T/00H8Wf---t}}sA$$B?Brcf	|@tjtjjS|j|S|dd|fz}tj|}tj	|}	tj
|j}tj||j}n#t$r|tjtj|ddz
}tjo
|jdk}|rtjntj}|tj
|kr&tj|tj|}ntj|}YnwxYw||S)Nrrrsr)r)rrrrrrrrmktimerr	tm_gmtofftm_zoneAttributeErrorgmtimedaylighttm_isdstaltzonetznamer!)	risdsttmrlocaltmdeltardstgmtoffs	         rrrs
z $$X%6%:;;FFHHH	y}}
	x	'Bk"ooGnW%%G*"7+<===

ugo
6
6	*	*	*X&G(<(<RaR(@AAm4 01 4#&94<<DM:H&v66666"5$+c*:;;BB"5))B	*::R:   s(4CB:FF)r)NFF)F)NN)r!r)Nr)3__all__rrerrrrurllib.parseremail._parseaddrrrrWrr
rr
email.charsetrrVrUEMPTYSTRINGCRLFrcompiler+r-rr%rr?rHsupports_strict_parsingr	rdrYrZrrrr
rrrrrASCIIrrrrrRr&r<module>rs
$
							







""""""888888&&&&&&CCCCCCCCCC"!!!!!




RZ+
,
,
BJx  				555B2(,)))))X			'''':1111&.FFF#>////"rz"KH...`*3,64%!%!%!%!%!%!r&
Back to Directory File Manager