403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.216.202
Web Server : Microsoft-IIS/10.0
System : Windows NT WEB-SERVER 10.0 build 20348 (Windows Server 2022) AMD64
User : IUSR ( 0)
PHP Version : 8.3.28
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Python315/Lib/test/test_email/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python315/Lib/test/test_email/__pycache__/test_headerregistry.cpython-315.opt-1.pyc
R
>lqj�c��]PHs]PHs]PHs]QHGs]QHGs]QHGs]QH G	s	G
s
]QHGs]QH0G
s
Gs]QH<Gs]QH<Gs\2sQ	Q
\	2sQQ\	2sQ
Q\2s\
QQ\22s\
QQ\22s\
QQ\22s\
QQ\22s\
QQ\22s\
QQ\22s\
QQ\22sQQ\	2sQQ \2s\ Q!6Xc\OB2P!P!)"�)�errors��policy)�Message)�
TestEmailBase�parameterize)�headerregistry)�Address�Group)�	ALWAYS_EQ)�warnings_helperc�t`�\sQs]snQsQsQQ2sQsQQ2sQs	Q	s
Q
sQsQs
UsP!)
�TestHeaderRegistryc���[O2oUQQ2oUOU[O2UOU[O2P!��foobar�test�r�HeaderRegistry�assertIsInstance�
BaseHeader�UnstructuredHeader��self�factory�hs&  �8C:\Python315\\Lib\test\test_email\test_headerregistry.py� test_arbitrary_name_unstructured�3TestHeaderRegistry.test_arbitrary_name_unstructuredsH�� �/�/�1���H�f�%�����a��!:�!:�;����a��!B�!B�C�c��[O2oUOQUO2UQQ2oUO	U[O
2UO	U[O2P!)�Subjectr)rr�assertNotIn�registryrr�UniqueUnstructuredHeaderrs&  r�test_name_case_ignored�)TestHeaderRegistry.test_name_case_ignoreds^�� �/�/�1������G�$4�$4�5��I�v�&�����a��!:�!:�;����a��!H�!H�Irc�(`�\sQs]!snQsQsUsP!)�TestHeaderRegistry.FooBasec��P!�N�)r�args�kws&*,r�__init__�#TestHeaderRegistry.FooBase.__init__"s��rr+)�__name__�
__module__�__qualname__�__firstlineno__r.�__static_attributes__�__classdictcell__��
__classdict__s@r�FooBaser(!s����	�	rr8c���[OUOQ5oUQQ2oUOV O2UOU[O2P!))�
base_classrr)rrr8rrrs&  r� test_override_default_base_class�3TestHeaderRegistry.test_override_default_base_class%sJ�� �/�/�4�<�<�H���H�f�%�����a���.����a��!B�!B�Crc�D�\sQs]+s\O
OsQsP!)�TestHeaderRegistry.FooDefaultr+)r0r1r2r3rr�parser4r+rr�
FooDefaultr>+s���1�1�7�7�rr@c���[OUOQ5oUQQ2oUOU[O2UOV O2P!)��
default_classrr)rrr@rrrs&  r�test_override_default_class�.TestHeaderRegistry.test_override_default_class.sJ�� �/�/�d�o�o�N���H�f�%�����a��!:�!:�;����a���1rc���[OUOQ5oUQQ2oUOU[O2UOU[O
2P!)rB�subjectr)rrr@rrr$rs&  r�2test_override_default_class_only_overrides_default�ETestHeaderRegistry.test_override_default_class_only_overrides_default4sN�� �/�/�d�o�o�N���I�v�&�����a��!:�!:�;����a��!H�!H�Irc���[OP
Q5oUQQ2oUOU[O2UOU[O2P!)F)�use_default_maprGrrrs&  r�test_dont_use_default_map�,TestHeaderRegistry.test_dont_use_default_map:sJ�� �/�/��F���I�v�&�����a��!:�!:�;����a��!B�!B�Crc��[O2oUQQ2oUOQ[O2UQQ2oUO	U[O
2UO	U[O2UO	U[O
2UO	U[O2P!r)rr�map_to_typer$rrr)rr�h1�h2s&   r�test_map_to_type�#TestHeaderRegistry.test_map_to_type@s��� �/�/�1��
�X�v�
&�����H�n�&M�&M�N�
�X�v�
&�����b�.�";�";�<����b�.�"C�"C�D����b�.�";�";�<����b�.�"I�"I�Jrr+)r0r1r2r3rr%r8r;r@rDrHrLrRr4r5r6s@rrrsH����D�J���D�8�8�2�J�D�K�Krrc�J`�\sQs]Ksn\O
2sQsQsUs	P!)�TestHeaderBasec�&�UOV2!r*)r)r�name�values&&&r�make_header�TestHeaderBase.make_headerOs���|�|�D�(�(rr+)
r0r1r2r3rrrrYr4r5r6s@rrUrUKs�����+�+�-�G�)�)rrUc�L`�\sQs]SsnQsQsQsQsQsQs	Qs
QsUsP!)	�TestBaseHeaderFeaturesc��UOQQ2oUOU[2UOUQ2UO[U2Q2P!�rG�this is a test)rYr�str�assertEqual�rrs& r�test_str�TestBaseHeaderFeatures.test_strUsK�����Y�(8�9�����a��%�����,�-�����Q��!1�2rc�^�UOQQ2oUOUQ*Q2P!)rGr_:��N�is)rYrarbs& r�test_substr�"TestBaseHeaderFeatures.test_substr[s)�����Y�(8�9������3���&rc�d�UOQQ2oUOUOQ2P!r^)rYrarWrbs& r�
test_has_name�$TestBaseHeaderFeatures.test_has_name_s)�����Y�(8�9���������+rc��UOQQ2oUO[29^tt^2[V!Q2PPP2P!)%fhP!9h)rGr_�foo)rY�assertRaises�AttributeError�setattr)r�attrrs&& r�
_test_attr_ro�$TestBaseHeaderFeatures._test_attr_rocs?�����Y�(8�9��
�
�
�~�
.�
.��A�U�#�/�
.�
.�
.�s�
A�A	�A	c�*�UOQ2P!)rW�rt�rs&r�test_name_read_only�*TestBaseHeaderFeatures.test_name_read_onlyhs�����6�"rc�*�UOQ2P!)�defectsrwrxs&r�test_defects_read_only�-TestBaseHeaderFeatures.test_defects_read_onlyks�����9�%rc�d�UOQQ2oUO[UO2]2UO	UO[
2UOQP2oUO[UO2]2UO	UO[
2P!)rGr_�date)rYra�lenr|r�tuplerbs& r�test_defects_is_tuple�,TestBaseHeaderFeatures.test_defects_is_tuplens�����Y�(8�9������Q�Y�Y���+����a�i�i��/����V�R�(������Q�Y�Y���+����a�i�i��/rr+)
r0r1r2r3rcrirlrtryr}r�r4r5r6s@rr\r\Ss-����3�'�,�$�
#�&�0�0rr\c�L`�\sQs]�snQsQQQ,Q1QQQ,Q1Q	QQ
Q
-sQsUsP!)�TestUnstructuredHeaderc��[U2oU]6�c
U]*L,oQU%cQLP*oXd]6�c
U]*LS*Q*oUOQU2oUOV�2UOUOU2UOUO[OQ5U2P!)rzSubject:� �
r!r)r�rYra�assertDefectsEqualr|�foldr�default)	r�source�decodedr,�lr|�header�foldedrs	&&&*     r�string_as_value�&TestUnstructuredHeader.string_as_value�s���
��I���q�S�$�q�'�b���f�s�"�5����c�4��7�v�6��=�����Y��/������$�����	�	�7�3�������v�~�~��6��?r�rfc2047_simple_quopriz=?utf-8?q?this_is_a_test?=r_�rfc2047_gb2312_base64z!=?gb2312?b?1eLKx9bQzsSy4srUo6E=?=u这是中文测试!z(=?utf-8?b?6L+Z5piv5Lit5paH5rWL6K+V77yB?=�rfc2047_simple_nonascii_quopri� rfc2047_quopri_with_regular_textr+)z=?utf-8?q?=C3=89ric?=�Éric)z$The =?utf-8?q?=C3=89ric=2C?= Himself�The Éric, Himself)r0r1r2r3r��
string_paramsr4r5r6s@rr�r��sR����@�	 �(����	"�	 �/�8��6�	"8�	)�+�	+�-"�%�Mrr�c
��`�\sQs]�snQs\OQQ5s\O\2s	\O
Q]	]]]
]7\	Q5s
QsQsQs
QsQ	sQ
sQsQsQ
sQsQsUsP!)�TestDateHeaderzSun, 23 Sep 2001 20:10:55 -0700)�hoursi�)�tzinfoc�b�UOQUO2oUOVO2UOUOUO2UOUOO2UO
2UOUOQ2P!�r�r+)rY�
datestringra�datetime�dt�	utcoffsetr|rbs& r�test_parse_date�TestDateHeader.test_parse_date�sw�����V�T�_�_�5������O�O�,�������T�W�W�-�������-�-�/����@�������B�'rc��UOQUO2oUOVO2UOUOUO2UOUO
Q2P!r�)rYr�rar�r�r|rbs& r�test_set_from_datetime�%TestDateHeader.test_set_from_datetime�sV�����V�T�W�W�-������O�O�,�������T�W�W�-�������B�'rc���UOQUO2oUOU[O2UOUO]2UOUOQ2P!r�)rYr�rr�UniqueDateHeaderra�	max_countr|rbs& r�test_date_header_properties�*TestDateHeader.test_date_header_properties�sV�����V�T�_�_�5�����a��!@�!@�A�������a�(�������B�'rc���UOQUO2oUOU[O2UOUOP2UOUOQ2P!)zresent-dater+)rYr�rr�
DateHeaderrar�r|rbs& r�"test_resent_date_header_properties�1TestDateHeader.test_resent_date_header_properties�sV�����]�D�O�O�<�����a��!:�!:�;�������d�+�������B�'rc���UOQP2oUO[UO2]2UO	UO]*[
O2P!)r�)rYrar�r|rr�HeaderMissingRequiredValuerbs& r�test_no_value_is_defect�&TestDateHeader.test_no_value_is_defect�sJ�����V�R�(������Q�Y�Y���+����a�i�i��l�F�,M�,M�Nrc�4�QoUOQU2oUOV!2UOUO2UO[	UO
2]2UO
UO
]*[O2P!)zNot a date headerr��	rYra�assertIsNoner�r�r|rr�InvalidDateDefect�r�srs&  r�test_invalid_date_format�'TestDateHeader.test_invalid_date_format�so�������V�Q�'����������!�*�*�%�����Q�Y�Y���+����a�i�i��l�F�,D�,D�Erc�4�QoUOQU2oUOV!2UOUO2UO[	UO
2]2UO
UO
]*[O2P!)zTue, 06 Jun 2017 27:39:33 +0600r�r�r�s&  r�test_invalid_date_value�&TestDateHeader.test_invalid_date_value�so��-�����V�Q�'����������!�*�*�%�����Q�Y�Y���+����a�i�i��l�F�,D�,D�Erc�4�QoUOQU2oUOV!2UOUO2UO[	UO
2]2UO
UO
]*[O2P!)z%Mon, 20 Nov 9999999999 12:00:00 +0000r�r�r�s&  r�test_out_of_range_date_value�+TestDateHeader.test_out_of_range_date_value�so��3�����V�Q�'����������!�*�*�%�����Q�Y�Y���+����a�i�i��l�F�,D�,D�Erc���UOQUO2oUO[29^tt^2QUmPPP2P!)%fhP!9h)r�ro)rYr�rprqr�rbs& r�test_datetime_read_only�&TestDateHeader.test_datetime_read_only�s?�����V�T�_�_�5��
�
�
�~�
.�
.��A�J�/�
.�
.�
.�s�A
�
A	�A	c��[[OQ5oUOUQ$UO	UQ*UO
2UO	UQ*OUO2P!)r�Date)rrr�r�rar�r�)r�ms& r�"test_set_date_header_from_datetime�1TestDateHeader.test_set_date_header_from_datetime�sS���6�>�>�*���G�G��&�	�����6��D�O�O�4�����6��+�+�T�W�W�5rr+i����)r0r1r2r3r�r��	timedeltar��timezone�tzr�r�r�r�r�r�r�r�r�r�r�r4r5r6s@rr�r��s�����3�J��"�"��,�I�	�	�	�9�	%�B�	�	�	�4��B��B��2�	>�B�(�(�(�(�O�
F�F�F��
6�6rr�c"��`�\sQs]�snQs-QQQQQQQ-,Q	1aQ
QQQQQQ-,Q	1aQQ	QQQQQ-1aQ
QQQQ-\O,1aQQQQQ-\O,1aQQQQQ-\O,1aQQQQQ-\O,1aQQ�aQQ�aQQ�aQQ�aQQQQQQQ-1aQQ QQQQQ!-1aQ"Q#QQQQQ$-1aQ%Q&QQQQQ-,Q'1aQ(Q)QQQQ*Q-,Q+1aQ,Q-QQQQ*Q.-1a-Q/Q0QQQQ*Q1-1aQ2Q3QQQQ4PQ5P-\O,]*1aQ6Q7Q8Q9Q:Q;Q<-,Q=1aQ>Q?QQQQ@QAQBQCQDQE-,QFQG1aQHQIQQQQ@QAQBQCQDQEQJQK-,QIQL1aQMQNQQQQ@QO-1aQPQQQQQQ@QR-1aQSQTQQQQ@QU-,QT1aQVQWOQX2OQQY2QZQ[Q\Q]Q^Q4Q_-\O,]*Q`Qa1aQbQcQQQQ@Qd-,Qe1aQfQgQQQQ\Qh-,Qi1aQjQkOQX2OQQY2QQQQQQ*Ql-\O,QmQn1aQoQpQQQQQ-,Q	1aQqQrQQQQ@Qs-,Qt1aQuQvQQQQ@Qw-\O,]*Qx1aQyQzQQQQQQ*Q{-\O,]*Q|Q}1aQ~QQ�Q�Q�Q@Q�-\O,]*Q�1aAQ�Q�Q�Q�Q�Q@Q�-,Q�1Q�Q�QQQQ@Q�-\O,Q�1Q�Q�QQQQ@Q�-\O,]*Q�1Q�Q�QQQQ@Q�-\O,]*Q�1Q�Q�QQQQ@Q�-\O,Q�Q�1Q�Q�QQQQ@Q�-,Q�1Q�Q�QQQQQ�-\O,Q�Q�1Q�Q�QQQQQ�-\O,Q�Q�1Q�Q�QQQQQ�-,Q�Q�1Q�Q�Q�Q�Q�Q@Q�-\O,Q�1Q�Q�Q�Q�Q�Q@Q�-\O,]*Q�1Q�Q�Q�Q�Q�Q@Q�-\O,]*Q�1Q�Q�Q�Q�Q�Q@Q�-,Q�Q�1-
As
Q�sUsP!)��TestContentTypeHeaderc�P�[U2oU]6�c
U]*L-oU]6�c
U]*L,oU]6�cU]*[Ic
U]*LSo	U%cQLPo
U]6�c
U]*LV�*Q*oQU7cfQU7c_]PH
oUOO	2[
OP[129^tt^2UOQU2o
PPP2LUOQU2o
UOW
OU2UOU
OU2UOU
OU2UOU
OU2UO[29^tt^2QU
OQ$PPP2UO!U
O"U2UOV�2UOU
O%[&O(Q5U2P!)%fhCK9h)%fhK�9h)	rr�zutf-8%E2%80%9D�asciizContent-Type�xyz�abcrzContent-Type: )r��DITTO�	encodings�_cache�clearr�check_warnings�DeprecationWarningrYra�content_type�maintype�subtype�paramsrp�	TypeErrorr�r|r�rr�)rr�r�r�r�r,r��parmdictr|r�r�r�r�rs&&&&&*        r�content_type_as_value�+TestContentTypeHeader.content_type_as_value�s���
��I����c�4��7�r����c�4��7�r����c�d�1�g�U�&:�4��7���*0�&�b���a�C��a��V�%5��%<���v�%�'��*?�����"�"�$� �/�/��5G�0H�I�I��$�$�^�V�<��J�I�� � ���8�A��������6�������X�.�������G�,�������8�,�
�
�
�y�
)�
)�#�A�H�H�U�O�*�����	�	�7�3�����$�������v�~�~��6��?�J�I�I��*�
)�s$�H�
H�H	�
H	�H%	�H%	�
RFC_2045_1z)text/plain; charset=us-ascii (Plain text)�
text/plain�text�plain�charsetzus-asciiztext/plain; charset="us-ascii"�
RFC_2045_2ztext/plain; charset=us-ascii�
RFC_2045_3�no_subtype_in_content_typeztext/�no_slash_in_content_typero�junk_text_in_content_typez<crazy "stuff">� too_many_slashes_in_content_typezimage/jpeg/foo�unknown_content_type�mixed_case_content_type�
image/jpeg�image�jpeg�spaces_in_content_type�cfws_in_content_type�
charset_paramztext/plain; charset="utf-8"zutf-8�capitalized_charsetztext/plain; charset="US-ASCII"zUS-ASCII�unknown_charsetztext/plain; charset="fOo"�fOo�*capitalized_charset_param_name_and_commentz*text/plain; (interjection) Charset="utf-8"ztext/plain; Charset="utf-8"�unquoted_param_valueztext/plain; title=foo�titleztext/plain; title="foo"�param_value_with_tspecialsz!text/plain; title="(bar)foo blue"z
(bar)foo blue�"param_with_extra_quoted_whitespacez0text/plain; title="  a     loong  way 	 home   "z  a     loong  way 	 home   �
bad_paramszblarg; baz; boo�baz�boo�spaces_around_param_equalsz0Multipart/mixed; boundary = "CPIMSSMTPC06p5f3tG"zmultipart/mixed�	multipart�mixed�boundary�CPIMSSMTPC06p5f3tGz.Multipart/mixed; boundary="CPIMSSMTPC06p5f3tG"�spaces_around_semiszPimage/jpeg; name="wibble.JPG" ; x-mac-type="4A504547" ; x-mac-creator="474B4F4E"rWz
wibble.JPGz
x-mac-type�4A504547z
x-mac-creator�474B4F4EzNimage/jpeg; name="wibble.JPG"; x-mac-type="4A504547"; x-mac-creator="474B4F4E"z^Content-Type: image/jpeg; name="wibble.JPG"; x-mac-type="4A504547";
 x-mac-creator="474B4F4E"
�lots_of_mime_paramszmimage/jpeg; name="wibble.JPG"; x-mac-type="4A504547"; x-mac-creator="474B4F4E"; x-extrastuff="make it longer"zx-extrastuffzmake it longerz}Content-Type: image/jpeg; name="wibble.JPG"; x-mac-type="4A504547";
 x-mac-creator="474B4F4E"; x-extrastuff="make it longer"
�semis_inside_quotesz$image/jpeg; name="Jim&amp;&amp;Jill"zJim&amp;&amp;Jill�single_quotes_inside_quotesz!image/jpeg; name="Jim 'Bob' Jill"zJim 'Bob' Jill�double_quotes_inside_quotesz#image/jpeg; name="Jim \"Bob\" Jill"zJim "Bob" Jill�non_ascii_in_paramsufoo§/bar; b§r=two; baz=thr§ezlatin-1�surrogateescapeu
foo�/barufoo��barub�r�twouthr�eu&foo�/bar; b�r="two"; baz="thr�e"uVContent-Type: =?unknown-8bit?q?foo=A7?=/bar; b�r="two";
 baz*=unknown-8bit''thr%A7e
�rfc2231_segmented_normal_valuesz(image/jpeg; name*0="abc"; name*1=".html"zabc.htmlzimage/jpeg; name="abc.html"�quotes_inside_rfc2231_valuez.image/jpeg; bar*0="baz\"foobar"; bar*1="\"baz"zbaz"foobar"bazz"image/jpeg; bar="baz\"foobar\"baz"�non_ascii_rfc2231_valueuGtext/plain; charset=us-ascii; title*=us-ascii'en'This%20is%20not%20f§nuThis is not f�nu9text/plain; charset="us-ascii"; title="This is not f�n"z\Content-Type: text/plain; charset="us-ascii";
 title*=unknown-8bit''This%20is%20not%20f%A7n
�rfc2231_encoded_charsetz-text/plain; charset*=ansi-x3.4-1968''us-ascii� rfc2231_encoded_no_double_quotesz\text/plain;	name*0*=''This%20is%20;	name*1*=%2A%2A%2Afun%2A%2A%2A%20;	name*2="is it not.pdf"zThis is ***fun*** is it not.pdfz2text/plain; name="This is ***fun*** is it not.pdf"�"rfc2231_encoded_with_double_quoteszvtext/plain;	name*0*="us-ascii''This%20is%20even%20more%20";	name*1*="%2A%2A%2Afun%2A%2A%2A%20";	name*2="is it not.pdf"z)This is even more ***fun*** is it not.pdfz<text/plain; name="This is even more ***fun*** is it not.pdf"�)rfc2231_single_quote_inside_double_quotesz�text/plain; charset=us-ascii;	title*0*="us-ascii'en'This%20is%20really%20";	title*1*="%2A%2A%2Afun%2A%2A%2A%20";	title*2="isn't it!"z"This is really ***fun*** isn't it!zJtext/plain; charset="us-ascii"; title="This is really ***fun*** isn't it!"zZContent-Type: text/plain; charset="us-ascii";
 title="This is really ***fun*** isn't it!"
�3rfc2231_single_quote_in_value_with_charset_and_langzHapplication/x-foo;	name*0*="us-ascii'en-us'Frank's"; name*1*=" Document"zapplication/x-foo�applicationzx-foozFrank's Documentz*application/x-foo; name="Frank's Document"�)rfc2231_single_quote_in_non_encoded_valuezFapplication/x-foo;	name*0="us-ascii'en-us'Frank's"; name*1=" Document"zus-ascii'en-us'Frank's Documentz9application/x-foo; name="us-ascii'en-us'Frank's Document"�rfc2231_no_language_or_charsetz/text/plain; NAME*0*=english_is_the_default.htmlzenglish_is_the_default.htmlz.text/plain; NAME="english_is_the_default.html"�rfc2231_encoded_no_charsetzjtext/plain;	name*0*="''This%20is%20even%20more%20";	name*1*="%2A%2A%2Afun%2A%2A%2A%20";	name*2="is it.pdf"z%This is even more ***fun*** is it.pdfz8text/plain; name="This is even more ***fun*** is it.pdf"�rfc2231_partly_encoded�rfc2231_partly_encoded_2zitext/plain;	name*0*="''This%20is%20even%20more%20";	name*1="%2A%2A%2Afun%2A%2A%2A%20";	name*2="is it.pdf"z3This is even more %2A%2A%2Afun%2A%2A%2A%20is it.pdfzFtext/plain; name="This is even more %2A%2A%2Afun%2A%2A%2A%20is it.pdf"zVContent-Type: text/plain;
 name="This is even more %2A%2A%2Afun%2A%2A%2A%20is it.pdf"
�(rfc2231_unknown_charset_treated_as_asciiz1text/plain; name*0*=bogus'xx'ascii_is_the_default�ascii_is_the_defaultz'text/plain; name="ascii_is_the_default"�0rfc2231_bad_character_in_charset_parameter_valuez*text/plain; charset*=ascii''utf-8%F1%F2%F3uutf-8���u$text/plain; charset="utf-8���"z@Content-Type: text/plain; charset*=unknown-8bit''utf-8%F1%F2%F3
�8rfc2231_utf8_in_supposedly_ascii_charset_parameter_valuez*text/plain; charset*=ascii''utf-8%E2%80%9Duutf-8”utext/plain; charset="utf-8”"z@Content-Type: text/plain; charset*=unknown-8bit''utf-8%E2%80%9D
�6rfc2231_nonascii_in_charset_of_charset_parameter_valueu-text/plain; charset*=utf-8”''utf-8%E2%80%9Dz9Content-Type: text/plain; charset*=utf-8''utf-8%E2%80%9D
�'rfc2231_encoded_then_unencoded_segmentszUapplication/x-foo;	name*0*="us-ascii'en-us'My";	name*1=" Document";	name*2=" For You"zMy Document For Youz-application/x-foo; name="My Document For You"�'rfc2231_unencoded_then_encoded_segmentszTapplication/x-foo;	name*0=us-ascii'en-us'My;	name*1*=" Document";	name*2*=" For You"�.rfc2231_quoted_unencoded_then_encoded_segmentszVapplication/x-foo;	name*0="us-ascii'en-us'My";	name*1*=" Document";	name*2*=" For You"z"us-ascii'en-us'My Document For Youz<application/x-foo; name="us-ascii'en-us'My Document For You"�+rfc2231_folded_segments_correctly_formattedz�Content-Type: application/x-foo;
 name*0*=us-ascii''with%20spaceswith%20spaceswith%20spaceswith%20spaceswith;
 name*1*=%20spaceswith%20spaceswith%20spaceswith%20spaces
r+)�	bad/namesr)�bad�names)z
ImAge/JPegr�r�r�)z  text  /  plain  r�r�r�)z"(foo) text (bar)/(baz)plain(stuff)r�r�r�zXwith spaceswith spaceswith spaceswith spaceswith spaceswith spaceswith spaceswith spaceszrapplication/x-foo;	name="with spaceswith spaceswith spaceswith spaceswith spaceswith spaceswith spaceswith spaces"zrapplication/x-foo; name="with spaceswith spaceswith spaceswith spaceswith spaceswith spaceswith spaceswith spaces")
r0r1r2r3r�r�InvalidHeaderDefect�encode�decode�UndecodableBytesDefect�content_type_paramsr4r5r6s@rr�r��s�����@�>[�	�7����
�
�#��,�.�	[�	�*����
�
�#��,�.�[�,	�,����
�
�#�%�-[�@	%������
�
'�
'�(�
'*�A[�P	#������
�
'�
'�(�
%*�Q[�`	$������
�
'�
'�(�
&*�a[�p	+������
�
'�
'�(�
-*�q[�L	�!�M[�\	"�$�][�h	!�#�i[�t	�!�u[�H	�)����
�� �"�I[�V	�,����
�
�#� %�W[�d	�'����
��� �e[�r	5�8����
�� ��)�7+�s[�R	�#����
�e���%�!�S[�f	%�/����
�o�&�'(�g[�t	-�?����
�5�6�/8�u[�B	�����
�B��r�"�
�
'�
'�(��*�
,�C[�R	%�>����
�-�.��<�'�S[�f	�+����
�\�
�:�
�j�
*�
�+�+� �g[�H	�J����
�\�
�:�
�j�
�-�
/�
�J�J� �I[�p	�2����
�(�)� +�q[�~	&�1����
�%�&�((�[�L	&�2����
�%�&��2�(4�M[�^	��%�v�i�0���
�8I�2K����
���|�4�
�
*�
*�+�A�-�4�
,�! �_[�J	*�6����
�Z� ��)�,+�K[�\	&�=����
�$�%��1�(3�][�n	"��#�V�I�.�v�v�j�5F�0H����
�
�G�-C�D��+�+�
,�
H�
>�
$�o[�L		"�=����
�
�#��,�$.�M	[�`		+�+�
���
�6�7��@�-�a	[�|		-�+�
���
�@�A�
�
'�
'�(��*�J�/�}	[�V
	4�(�
���
�
�G�-Q�R�
�
'�
'�(��*�=�A�6�W
[�v
	>�N����
�'�(�
�
'�
'�(��*�9�	@�w
[�L	4�L����
�6�7��J�	6�	)�=����
�2�3�
�
'�
'�(�<�+>�	%�'�
���
�<�=�
�
'�
'�(��*�F�'�	!�'�
���
�<�=�
�
'�
'�(��*�F�#�	#�'�
���
�J�K�
�
'�
'�(�K��%�"	3�?����
�+�,��5�57�	;�8����
�1�2�
�
*�
*�+�;�
7�
=�	C�8����
�
�#�
�
*�
*�+�,�
7�E�	A�;����
�
�#��,�
0�
C�	2�&�
 ���
�*�+�
�
'�
'�(�;�4� 	2�'�
 ���
�*�+�
�
'�
'�(��*�;�4�.	9�'�
 ���
�9�:�
�
'�
'�(��*�L�;�"	6�3����
�_�%��?�
J�
8�Y[�rr�c
�~`�\sQsQsnQsQQ
QPQ\O,PQ1QQ	Q\O,1Q
QQ,1-sQs	Us
P!)�TestContentTransferEncoding�4c���[U2oU]6�c
U]*L,oU]6�cU]*[Ic
U]*LSoU%cQLPoU]6�c
U]*LVq*Q*oUOQU2o	UOU	OU2UOU	OU2UOV�2UOU	O[OQ5U2P!)rr�zContent-Transfer-EncodingrzContent-Transfer-Encoding: )
r�r�rYra�cter�r|r�rr�)
rr�r5r,r�r|r�r�r�rs
&&&*      r�cte_as_value�(TestContentTransferEncoding.cte_as_value7s���
��I����c�4��7�r����c�d�1�g�U�&:�4��7���7=�3�2���a�C��a��V�_�t�%;�����8�&�A���������$�����	�	�7�3�����$�������v�~�~��6��?r�
RFC_2183_1�base64�no_value�7bitzContent-Transfer-Encoding:
�junk_after_ctez7bit and a bunch more�extra_space_after_ctezbase64 r+)r9r9)r0r1r2r3r6rr�r,�
cte_paramsr4r5r6s@rr2r24sm����
@�"	��	���
�
.�
.�/��*��	�#��
�
'�
'�(�*�
	 ����"�'�Jrr2c�`�\sQsQsnQsQQ QQQQQQ	Q
-,QQ1Q
PP-\O,PQ1QQQ-\O,1QQQQQ-\O,1QQQQQ-\O,]*QQ1QQQQQ-\O,QQ1-sQs	Us
P!)!�TestContentDisposition�ac�P�[U2oU]6�c
U]*L-oU]6�c
U]*L,oU]6�cU]*[Ic
U]*LSoU%cQLPoU]6�c
U]*LV�*Q*o	UOQU2o
UOU
OU2UOU
O
U2UO
U
OU2UOV�2UOU
O[OQ5U	2P!)rr�zContent-DispositionrzContent-Disposition: )r�r�rYra�content_dispositionr�r�r|r�rr�)rr�rCr,r�r�r|r�r�r�rs&&&*       r�content_disp_as_value�,TestContentDisposition.content_disp_as_valueds���
��I����c�4��7�r����c�4��7�r����c�d�1�g�U�&:�4��7���17�-�R���a�C��a��V�_�t�%;�����2�F�;������.�.�0C�D�������8�,�����	�	�7�3�����$�������v�~�~��6��?rr8�
RFC_2183_2zWattachment; filename=genome.jpeg;  modification-date="Wed, 12 Feb 1997 16:29:51 -0500";�
attachment�filenamezgenome.jpegzmodification-datezWed, 12 Feb 1997 16:29:51 -0500zWattachment; filename="genome.jpeg"; modification-date="Wed, 12 Feb 1997 16:29:51 -0500"znContent-Disposition: attachment; filename="genome.jpeg";
 modification-date="Wed, 12 Feb 1997 16:29:51 -0500"
r:zContent-Disposition:
�
invalid_valuezab./kzab.�invalid_value_with_paramszab./k; filename="foo"ro�+invalid_parameter_value_with_fws_between_ewzaattachment; filename="=?UTF-8?Q?Schulbesuchsbest=C3=A4ttigung=2E?=               =?UTF-8?Q?pdf?="uSchulbesuchsbestättigung.pdfu4attachment; filename="Schulbesuchsbestättigung.pdf"zUContent-Disposition: attachment;
 filename*=utf-8''Schulbesuchsbest%C3%A4ttigung.pdf
�'parameter_value_with_fws_between_tokensz<attachment; filename="File =?utf-8?q?Name?= With Spaces.pdf"zFile Name With Spaces.pdfz0attachment; filename="File Name With Spaces.pdf"zFContent-Disposition: attachment; filename="File Name With Spaces.pdf"
r+)�inlinerM)r0r1r2r3rDrr�r,�content_disp_paramsr4r5r6s@rr@r@as����@�*	��	�F��
��
 �"C�
E��G�F��	����
�
.�
.�/��$�
&�	����
�
'�
'�(�	*�	$�#��
���
�
'�
'�(�	&*�	6�
.��
�8�9�
�
'�
'�(��*�
C�G�	8�	2�J��
�4�5�
�
'�
'�(�>�
V�
4�i<�rr@c#�`�\sQsQsnQsQQQQ]],1QQQQ]],1QQQQ]],1Q	Q
Q
Q]],1QQQQ]],1Q
QQQ]],1QQQQ]],1QQQQ]],1QQQQ]]\O,1QQQPPP\O,1QQQPPP\O,1QQQPPP\O,1QQQPPP\O,1QQQPPP\O,1QPPPPP\O,1-sQs	Us
P!) �TestMIMEVersionHeader�c���UOQU2oUOVr2UOUOU2UOUOU2UOUOU2UOUOU2U%c
QU*oUOUO[OQ5QU*Q*2P!)zMIME-Versionr�rz
MIME-Version:r�)
rYra�version�major�minorr�r|r�rr�)rr�r�rSrTrUr|rs&&&&&&& r�version_string_as_MIME_Version�4TestMIMEVersionHeader.version_string_as_MIME_Version�s���
���^�V�4������$�������G�,�������%�(�������%�(�����	�	�7�3���6�\�F�������v�~�~��6�(�6�1�D�8�	:rr�z1.0r�z1.0 (produced by MetaSend Vx.x)r�z(produced by MetaSend Vx.x) 1.0�
RFC_2045_4z1.(produced by MetaSend Vx.x)0�1_1z1.1�2_1z2.1�
whitespacez1 .0�#leading_trailing_whitespace_ignoredz  1.0  �non_comment_garbage_afterz	1.0 <abc>�non_comment_garbage_beforez	<abc> 1.0�non_comment_garbage_insidez1.<abc>0�two_periodsz1..0�2_xz2.xro�missingr+)r0r1r2r3rVrr,r��version_string_paramsr4r5r6s@rrPrP�s�����:�,	����
�
��
�	�-�-��
�
��
�	�-�-��
�
��
�	�,�,��
�
��
�	����
�
��
�	����
�
��
�	����
�
��
�	.����
�
��
0�	$����
�
�
�
'�
'�(�
&*�	%������
�
'�
'�(�
'*�	%������
�
'�
'�(�
'*�	������
�
'�
'�(�
*�	������
�
'�
'�(�
*�	������
�
'�
'�(�
*�	������
�
.�
.�/�
1�}F
�rrPc
�F`�\sQsQsn-QQ\O
,QPQPPP1aQQ,QPQQQP1aQQ	,Q	Q
QQQP1aQQ,QQ
Q
QQP1aQQ,QQQQQP1aQQ,QQQQQP1aQQ\O,QQQQQP1aQ Q!\O
,]*Q"PQ"Q#QP1aQ$Q%,Q%PQ%Q&QP1aQ'Q(\O
,]*Q)PQ)Q*QP1aQ+Q,\O
,]*Q-PQ-Q.QP1aQ/Q0\O,Q1PQ1Q2QP1aQ3Q4,Q5Q6Q7Q8QP1aQ9Q:,Q;Q<Q7Q8QP1aQ=Q>\O
\O
,Q5Q6Q7Q8QP1aQ?Q@\O,QAQBQQQP1aQCQD\O
\O,QEQFQQQP1asQGsQHQI\O
,]*QPQPP1-s	QJs
QKsQLsQMs
QNsQOsQPsQQsQRsQSsQTsQUsQVsQWsUsP!)X�TestAddressHeaderiR�empty�<>�address_onlyzzippy@pinhead.com�zippyzpinhead.com�name_and_addressz%Zaphrod Beblebrux <zippy@pinhead.com>zZaphrod Beblebrux�quoted_local_partz)Zaphrod Beblebrux <"foo bar"@pinhead.com>z"foo bar"@pinhead.com�foo bar�quoted_parens_in_namez'"A \(Special\) Person" <person@dom.ain>z%"A (Special) Person" <person@dom.ain>zA (Special) Personzperson@dom.ain�personzdom.ain�quoted_backslashes_in_namez."Arthur \\Backslash\\ Foobar" <person@dom.ain>zArthur \Backslash\ Foobar�
name_with_dotzJohn X. Doe <jxd@example.com>z"John X. Doe" <jxd@example.com>zJohn X. Doezjxd@example.com�jxd�example.com�quoted_strings_in_local_partz""example" example"@example.comz"example example"@example.comzexample example�$escaped_quoted_strings_in_local_partz!"\"example\" example"@example.comz"example" example�escaped_escapes_in_local_partz#"\\"example\\" example"@example.comz#"\\example\\\\ example"@example.comz\example\\ example�'spaces_in_unquoted_local_part_collapsedzmerwok  wok  @example.comz"merwok wok"@example.comz
merwok wok�(spaces_around_dots_in_local_part_removedzmerwok. wok .  wok@example.comzmerwok.wok.wok@example.comzmerwok.wok.wok�rfc2047_atom_is_decodedz'=?utf-8?q?=C3=89ric?= <foo@example.com>uÉric <foo@example.com>r��foo@example.comro�!rfc2047_atom_in_phrase_is_decodedz6The =?utf-8?q?=C3=89ric=2C?= Himself <foo@example.com>u&"The Éric, Himself" <foo@example.com>r��(rfc2047_atom_in_quoted_string_is_decodedz)"=?utf-8?q?=C3=89ric?=" <foo@example.com>�"name_ending_with_dot_without_spacezJohn X.<jxd@example.com>z"John X." <jxd@example.com>zJohn X.�name_starting_with_dotz. Doe <jxd@example.com>z". Doe" <jxd@example.com>z. Doec	��UOQU2o	UOV�2UOU	OU2U	Oo
UO[U
2U2UO[
U	O2]2UOU
,[U	O]*O22UOU
,[U	O22UOU
OU2UOU
OU2UOU
OU2UOU
OU2P!��sender�rYrar�r|�addressr`r��groups�list�	addresses�display_name�	addr_spec�username�domain)rr�r|r�r�r�r�r��commentr�as&&&&&&&&&  r�example_as_address�$TestAddressHeader.example_as_addresss������X�v�.������$�����	�	�7�3�
�I�I������Q���)�����Q�X�X���*����!��d�1�8�8�A�;�#8�#8�9�:����!��d�1�;�;�/�0��������6�������i�0�������X�.�������6�*r�just_dquote�"c��UOQU2oUOV�2UOUOU2UOo	UO[U	2U2UO[
UO2]2UOU	,[UO]*O22UOU	,[UO22UOU	OU2UOU	OU2UOU	OU2UOU	OU2P!rr�)
rr�r|r�r�r�r�r�rr�s
&&&&&&&&  r� example_broken_header_as_address�2TestAddressHeader.example_broken_header_as_address's���
���X�v�.������$�����	�	�7�3�
�I�I������Q���)�����Q�X�X���*����!��d�1�8�8�A�;�#8�#8�9�:����!��d�1�;�;�/�0��������6�������i�0�������X�.�������6�*rc	��QOU2oU%cQOU2LQo	UOQU2o
UOV�2UOU
OU2UOU
O
]*OU
O2UO[U
O
2]2UO[U
O2]2U
O]*oUO[U2U2UOUOU2UOUOU2UOUOU2UOUOU2P!)zfoo: {};�foo:;�to)
�formatrYrar�r|r�r�r�r`r�r�r�r�)rr�r|r�r�r�r�r�r��gdecodedrr�s&&&&&&&&&   r�example_as_group�"TestAddressHeader.example_as_group>s���"�"�6�*��18�:�$�$�W�-�g�����T�6�*������%�����	�	�7�3�������!��.�.����<�����Q�X�X���*�����Q�[�[�)�1�-�
�K�K��N������Q���)��������6�������i�0�������X�.�������6�*rc��QoUOQU2oUOV!2UO[UO2]2UO[UO2]2[]2FDHoUOUOU*O]*UOU*2JJ	UO[
UO]*2Q2UO[
UO]*2Q2UO[
UO]*2Q2UOUO]*OQ2P!)zTFred <dinsdale@python.org>, foo@example.com, "Harry W. Hastings" <hasty@example.com>r�zFred <dinsdale@python.org>ryz'"Harry W. Hastings" <hasty@example.com>zHarry W. Hastings)rYrar�r�r��ranger`r�)rrXr�is&   r�test_simple_address_list�*TestAddressHeader.test_simple_address_listOs��>�����T�5�)������"�����Q�X�X���*�����Q�[�[�)�1�-��q��A����Q�X�X�a�[�2�2�1�5�q�{�{�1�~�F������Q�[�[��^�,�.J�K�����Q�[�[��^�,�.?�@�����Q�[�[��^�,�5�	7�������Q��4�4��	!rc	�z	�[UOO22oQQOUQ*Tt,tFDp"]*MJ
	to2*Q*Q*QOUQ*Tt,tFDp"]*MJ
	to2*Q*QOUQ*Tt,tFDp"]*MJ
	to2*oQQOUQ*Tt,tFDp"]*MJ
	to2*Q*Q*QOUQ*Tt,tFDp"]*MJ
	to2*Q*QOUQ*Tt,tFDp"]*MJ
	to2*oUO	Q	U2oUOUO
Q
2UO
Q
22UOVT2UO[UO2][U2*]*
2UOUO]*OQ2UOUO]*OQ2UOUO]*OQ
2UO[UO2[U22[]2FD�oUOUOU]**O2UO[UOU]**O]*2V*]*2J�	[]][U2*]*
2FD�oUOUOU*O2UO[UOU*O]*2V]*
*]*2J�	[[U22FDvoUO[UOU*2V*]*2UOUOU*OV*]*2Jx	P!ttohttohttohttohttohttoh)z dummy list:;, another: (empty);,z, :N�Nz"A \"list\"": :r��Nz;,:r�NNzdummy list:;, another:;, z;, r��,z
dummy list�anotherzA "list")r��example_params�values�joinrYra�splitr�r�r�r�r�r�r`r�)r�examples�xr��expectedrr�s&      r�test_complex_address_list�+TestAddressHeader.test_complex_address_list_s}����+�+�2�2�4�5��4����(�2�,�7�,�Q�a�D�D�,�7�8�9�;?�@�"�#��I�I�X�c�]�;�]���t�t�]�;�<�=�@D�D����(�2�,�7�,�Q�a�D�D�,�7�8�	9��0����(�2�,�7�,�Q�a�D�D�,�7�8�9�;?�@�"�#��I�I�X�c�]�;�]���t�t�]�;�<�=�@E�E����(�2�,�7�,�Q�a�D�D�,�7�8�	9��
���T�6�*����������x�~�~�c�':�;�����%�����Q�X�X���C��M�(9�A�(=�>�������!��1�1�<�@�������!��1�1�9�=�������!��1�1�:�>�����Q�[�[�)�3�x�=�9��q��A����a�h�h�q��s�m�8�8�9����S����!�A�#��!8�!8��!;�<�h�k�!�n�M���q�!�c�(�m�+�a�/�0�A����a�h�h�q�k�6�6�7����S����!��!6�!6�q�!9�:�H�q�S�M�!�<L�M�1��s�8�}�%�A����S����Q��0�(�+�a�.�A����Q�[�[��^�5�5�x�{�1�~�F�&��98��;��7��
8��;��7s#�R
�=R$
�8R)
�.R.
�0R3
�+R8
c��UOQQ2oUO[29^tt^2QUmPPP2P!)%fhP!9h�r�zabc@xyz.comro)rYrprqr�rbs& r�test_address_read_only�(TestAddressHeader.test_address_read_only�s;�����X�}�5��
�
�
�~�
.�
.��A�I�/�
.�
.�
.���A�A	�A	c��UOQQ2oUO[29^tt^2QUmPPP2P!)%fhP!9hr�)rYrprqr�rbs& r�test_addresses_read_only�*TestAddressHeader.test_addresses_read_only�s;�����X�}�5��
�
�
�~�
.�
.��A�K�/�
.�
.�
.�r�c��UOQQ2oUO[29^tt^2QUmPPP2P!)%fhP!9hr�)rYrprqr�rbs& r�test_groups_read_only�'TestAddressHeader.test_groups_read_only�s;�����X�}�5��
�
�
�~�
.�
.��A�H�/�
.�
.�
.�r�c��QoUOQU2oUOUO[2UOUO]*[2P!�zme <who@example.com>r�)rYrr�r�r	�rr�rs&  r�test_addresses_types�&TestAddressHeader.test_addresses_types�sE��'�����T�6�*�����a�k�k�5�1����a�k�k�!�n�g�6rc��QoUOQU2oUOUO[2UOUO]*[2P!r�)rYrr�r�r
r�s&  r�test_groups_types�#TestAddressHeader.test_groups_types�sE��'�����T�6�*�����a�h�h��.����a�h�h�q�k�5�1rc�f�UOQ[QQQ22oUOUQ2P!)r��merorrzme <foo@example.com>�rYr	rarbs& r�test_set_from_Address�'TestAddressHeader.test_set_from_Address�s.�����T�7�4��
�#F�G������2�3rc	��UOQ[QQQ2[QQQ2,2oUOUQ2P!)r�r�rorr�yourz+me <foo@example.com>, you <bar@example.com>r�rbs& r�test_set_from_Address_list�,TestAddressHeader.test_set_from_Address_list�sC�����T�G�D�%��$G�$+�E�5�-�$H�$J�
K������I�Jrc
�F�UOQ[QQQ2[Q[QQQ2[QQ	Q
2,2[QQQ2,2oUOUQ
2UOUO	[
OO](Q5Q5Q2P!)r�r�rorr�bing�fiz�z�b.com�zif�f�c.comr�rzPme <foo@example.com>, bing: fiz <z@b.com>, zif <f@c.com>;, you <bar@example.com>��max_line_lengthrzWto: me <foo@example.com>,
 bing: fiz <z@b.com>, zif <f@c.com>;,
 you <bar@example.com>
)rYr	r
rar�rr��clonerbs& r�$test_set_from_Address_and_Group_list�6TestAddressHeader.test_set_from_Address_and_Group_list�s������T�G�D�%��$G�$)�&�7�5�#�w�3O�3:�5�#�w�3O�3Q�%R�$+�E�5�-�$H�$J�
K��	
����D�	E�������v�~�~�';�';�B�';�'O��P�3�	4rc��UOQ[Q[QQQ2[QQQ2,2,2oUOUQ2P!)	r�r�r�r�r�r�r�r�z#bing: fiz <z@b.com>, zif <f@c.com>;)rYr
r	rarbs& r�test_set_from_Group_list�*TestAddressHeader.test_set_from_Group_list�sS�����T�E�&�7�5�#�w�3O�3:�5�#�w�3O�3Q�%R�$S�
T������A�Brr+)r0r1r2r3rr,�ObsoleteHeaderDefectr�r��example_broken_header_paramsr�r�r�r�r�r�r�r�r�r�r�r�r�r4r5r6s@rrereRs�����q
��
��(�(�
)�
�
�
�
�
�
�
�q
�	�
 �
�
 �
�
 �
�
�
�
�q
�,	�
4�
�
4�
 �
 �
�
�
�
�/q
�@	�
8�
�
8�
 �
$�
�
�
�
�Cq
�T	 �
7�
�
4�
!�
�
�
�
�
�Wq
�h	%�
>�
�
>�
)�
�
�
�
�
�kq
�|	�
,��)�)�
*�
.�
�
�
�
�
�
�q
�P	'�
.��(�(�
)�!�
+�
,�
�
,�
�
�
�
�Sq
�d	/�
1�
�
1�
�
1�
!�
��
�gq
�x	(�
3��(�(�
)�!�
+�
3�
�
3�
"�
��
�{q
�L	2�
(��(�(�
)�!�
+�
'�
�
'�
�
�
�
�Oq
�`	3�
-��)�)�
*�
)�
�
)�
�
�
�
�cq
�t	"�
6��%������
�wq
�H	,�
E��4� �����
�Kq
�\	3�
8�
�
'�
'��&�&�
(�%������
�_q
�r	-�
'��)�)�
*�
*�
�
�
�
�
�
�uq
�F	!�
&��(�(�&�*E�*E�
F�
(�
�
�
�
�
�
�Iq
�N�f
+�&	�
��(�(�
)�!�
+�
�
�
�
�
�

�$
� �+�.+�"!� !G�F�
 �
�
7�2�4�K�

4�C�Crrec��`�\sQsQsnQsQsQsQsQsQs	Qs
Q	sQ
sQs
QsQ
sQsQsQsQsQsQsQsQsQsQsQsQsQsQsQsQsQs Qs!Q s"Q!s#Q"s$Q#s%Q$s&Us'P!)%�TestAddressAndGroupi�c��UO[29^tt^2[VQ2PPP2P!)%fhP!9h)ro)rprqrr)r�objrss&&&rrt�!TestAddressAndGroup._test_attr_ro�s,��
�
�
�~�
.�
.��C�u�%�/�
.�
.�
.�s�
6�A	�A	c�B�UO[QQQ2Q2P!)rorrr��rtr	rxs&r�test_address_display_name_ro�0TestAddressAndGroup.test_address_display_name_ro�s�����7�5�%��7��Hrc�B�UO[QQQ2Q2P!)rorrr�r�rxs&r�test_address_username_ro�,TestAddressAndGroup.test_address_username_ro�s�����7�5�%��7��Drc�B�UO[QQQ2Q2P!)rorrr�r�rxs&r�test_address_domain_ro�*TestAddressAndGroup.test_address_domain_ro�s�����7�5�%��7��Brc�>�UO[Q2Q2P!)ror��rtr
rxs&r�test_group_display_name_ro�.TestAddressAndGroup.test_group_display_name_ro�s�����5��<��8rc�>�UO[Q2Q2P!)ror�r�rxs&r�test_group_addresses_ro�+TestAddressAndGroup.test_group_addresses_ro�s�����5��<��5rc�8�[QQQ2oUOUOQ2UOUOQ2UOUOQ2UOUO
Q2UO[
U2Q2P!)rorr�bar@baz�
foo <bar@baz>�r	rar�r�r�r�r`�rr�s& r�!test_address_from_username_domain�5TestAddressAndGroup.test_address_from_username_domain�st���E�5�%�(���������/�������U�+�������5�)�������i�0�����Q���1rc�8�[QQQ5oUOUOQ2UOUOQ2UOUOQ2UOUO
Q2UO[
U2Q2P!)ror��r�rrr�r�r�s& r�test_address_from_addr_spec�/TestAddressAndGroup.test_address_from_addr_spec�sr���E�Y�/���������/�������U�+�������5�)�������i�0�����Q���1rc�6�[QQ5oUOUOP2UOUOQ2UOUOQ2UOUO
Q2UO[
U2Q2P!)r�r�rrr�r�s& r�!test_address_with_no_display_name�5TestAddressAndGroup.test_address_with_no_display_name�sp���i�(���������,�������U�+�������5�)�������i�0�����Q���+rc�2�[2oUOUOP2UOUOP2UOUOP2UOUO
Q2UO[
U2Q2P!)�rgr�r�s& r�test_null_address�%TestAddressAndGroup.test_null_address�sm���I���������,�������R�(�������2�&�������d�+�����Q���&rc�6�[QQ5oUOUOP2UOUOP2UOUOQ2UOUO
Q2UO[
U2Q2P!)�buzz�r�z@buzzr�r�s& r�test_domain_only�$TestAddressAndGroup.test_domain_only�sp���6�"���������,�������R�(�������6�*�������g�.�����Q���)rc�6�[QQ5oUOUOP2UOUOQ2UOUOP2UOUO
Q2UO[
U2Q2P!)r�r�r�r�s& r�test_username_only�&TestAddressAndGroup.test_username_only�sp���V�$���������,�������V�,�������2�&�������f�-�����Q���(rc�4�[Q2oUOUOQ2UOUOP2UOUOP2UOUO
Q2UO[
U2Q2P!)rrgzbuzz <>r�r�s& r�test_display_name_only�*TestAddressAndGroup.test_display_name_only�so���F�O���������0�������R�(�������2�&�������d�+�����Q���+rc�8�[QQQ2oUOUOQ2UOUOQ2UOUOQ2UOUO
Q2UO[
U2Q2P!)zSara J.zbad namerrz"bad name"@example.comz""Sara J." <"bad name"@example.com>r�r�s& r�test_quoting� TestAddressAndGroup.test_quotingsx��
�I�z�=�9���������3�������Z�0�������=�1�������&>�?�����Q��!E�Frc�8�[QQQ2oUOUOQ2UOUOQ2UOUOQ2UOUO
Q2UO[
U2Q2P!)r��wők�exàmple.com�wők@exàmple.comuÉric <wők@exàmple.com>r�r�s& r�	test_il8n�TestAddressAndGroup.test_il8nsv���G�V�^�4���������1�������V�,�������>�2�������&9�:�����Q��!<�=rc��[QQ5oUOUOQ2UOUOQ2UOUOQ2UO[U2Q2P!)rr�rr)r	rar�r�r�r`r�s& r�test_i18n_in_addr_spec�*TestAddressAndGroup.test_i18n_in_addr_specs_���1�2��������V�,�������>�2�������&9�:�����Q��!4�5rc�"�[QQ5[QQ5[QQ5[QQ5[QQ5[QQ5[QQ	5[Q
Q	5[QQ	5[QQ
5[QQ
5[QQ
51oSFDYoUOUQ59^tt^2UO[Q29^tt^2[	Q-U@PPP2PPP2J[	P!)%fhK9h)%fhJ�9h)zfoo
)r�zfoo
zfoo
zexample.com
rzexample.com
z
example.com
zwok
r	zwok
zwok
zwok@example.com
r�zwok@example.com
zwok@example.com
)�kwargszinvalid argumentsr+)�dict�subTest�assertRaisesRegex�
ValueErrorr	)r�casesrs&  r�$test_crlf_in_constructor_args_raises�8TestAddressAndGroup.test_crlf_in_constructor_args_raises s����g�&��g�&��i�(���(���(��)�*��'�"��'�"��)�$��.�/��.�/��0�1�

���F����V��,�,�d�.D�.D�Z�Qd�.e�.e��!�&�!�/f�,�,��.e�.e��,�,�,�s0�(C=	�
C*
�C=	�*C:�3C:�5C=	�=D
�D
c��UO[29^tt^2[QQQQ5PPP2P!)%fhP!9h)ror�r�)r�r��rpr�r	rxs&r�*test_address_addr_spec_and_username_raises�>TestAddressAndGroup.test_address_addr_spec_and_username_raises3s.��
�
�
�y�
)�
)��E�F�i�@�*�
)�
)�
)���8�A		�A		c��UO[29^tt^2[QQQQ5PPP2P!)%fhP!9h)ror�r�)r�r�r%rxs&r�(test_address_addr_spec_and_domain_raises�<TestAddressAndGroup.test_address_addr_spec_and_domain_raises7s.��
�
�
�y�
)�
)��E�&�I�>�*�
)�
)�
)�r(c	��UO[29^tt^2[QQQQQ5PPP2P!)%fhP!9h)ro�bongr�r�)r�r�r�r%rxs&r�5test_address_addr_spec_and_username_and_domain_raises�ITestAddressAndGroup.test_address_addr_spec_and_username_and_domain_raises;s0��
�
�
�y�
)�
)��E�F�6�Y�O�*�
)�
)�
)�s�9�A
	�A
	c��UO[29^tt^2[QQQ5PPP2P!)%fhP!9h)rozbad name@example.comr��rpr r	rxs&r�'test_space_in_addr_spec_username_raises�;TestAddressAndGroup.test_space_in_addr_spec_username_raises?s-��
�
�
�z�
*�
*��E�%;�<�+�
*�
*�
*���7�A	�A	c��UO[29^tt^2[QQQ5PPP2P!)%fhP!9h)rozname@ex[]ample.comr�r1rxs&r�test_bad_addr_sepc_raises�-TestAddressAndGroup.test_bad_addr_sepc_raisesCs-��
�
�
�z�
*�
*��E�%9�:�+�
*�
*�
*�r4c���[Q2oUOUOQ2UOUO[	22UO[U2Q2P!)ror��r
rar�r�r�r`�r�gs& r�test_empty_group�$TestAddressAndGroup.test_empty_groupGsI���%�L���������/�������e�g�.�����Q���)rc���[Q,Q5oUOUOQ2UOUO[	22UO[U2Q2P!)ro�r�r�r9r:s& r�test_empty_group_list�)TestAddressAndGroup.test_empty_group_listMsL���%�2�&���������/�������e�g�.�����Q���)rc���[2oUOUO2UOUO[22UO[
U2Q2P!)zNone:;)r
r�r�rar�r�r`r:s& r�test_null_group�#TestAddressAndGroup.test_null_groupSsE���G�����!�.�.�)�������e�g�.�����Q���*rc��[QQQ2[QQQ2,o[QU2oUOUOQ2UOUO[U22UO[
U2Q2P!)�b�cr�rozfoo: b <b@c>, a <b@c>;)r	r
rar�r�r�r`�r�addrsr;s&  r�test_group_with_addresses�-TestAddressAndGroup.test_group_with_addressesYsk����c�3�'���c�#�)>�?���%�����������/�������e�E�l�3�����Q��!9�:rc�
�[QQQ2[QQQ2,o[UQ5oUOUO2UO	UO
[
U22UO	[U2Q2P!)rFrGr�r?zNone: b <b@c>, a <b@c>;�r	r
r�r�rar�r�r`rHs&  r�)test_group_with_addresses_no_display_name�=TestAddressAndGroup.test_group_with_addresses_no_display_name`sg����c�3�'���c�#�)>�?���E�"�����!�.�.�)�������e�E�l�3�����Q��!:�;rc���[QQQ2,o[UQ5oUOUO2UO	UO
[
U22UO	[U2Q2P!)rFrGr?zb <b@c>rMrHs&  r�+test_group_with_one_address_no_display_name�?TestAddressAndGroup.test_group_with_one_address_no_display_namegs[����c�3�'�(���E�"�����!�.�.�)�������e�E�l�3�����Q���+rc���[Q2oUOUOQ2UOUO[	22UO[U2Q2P!)zfoo.barz"foo.bar":;r9r:s& r�test_display_name_quoting�-TestAddressAndGroup.test_display_name_quotingnsJ���)����������3�������e�g�.�����Q���/rc���[Q2oUOUOQ2UOUO[	22UO[U2Q2P!)rl�	foo bar:;r9r:s& r�#test_display_name_blanks_not_quoted�7TestAddressAndGroup.test_display_name_blanks_not_quotedtsJ���)����������3�������e�g�.�����Q���-rc���[QQQ2o[[OQ5oVQ$UO	UQ*Q2UO	UQ*O
U12P!)rorrrr�Tor�zfoo <bar@example.com>)r	rrr�rar�)rr�r�s&  r�$test_set_message_header_from_address�8TestAddressAndGroup.test_set_message_header_from_addresszsV���E�5�-�0���6�>�>�*���$������4��"9�:�����4��*�*�Q�D�1rc���[Q2o[[OQ5oVQ$UO	UQ*Q2UO	UQ*O
UO
2P!)rlrr[r�rW)r
rrr�rar�)rr;r�s&  r�"test_set_message_header_from_group�6TestAddressAndGroup.test_set_message_header_from_group�sS���)����6�>�>�*���$������4��+�.�����4��*�*�A�K�K�8rc�r�[QQQ2oUO[QQQ2U2UO[QQQ2U2UO[QQQ2U2UO[QQQ2U2UOU[	26H2UOU[6H2P!)rorrrr)r	ra�assertNotEqual�assertFalse�object�
assertTruerr�s& r�test_address_comparison�+TestAddressAndGroup.test_address_comparison�s����E�5�-�0��������}�=�q�A����G�E�5�-�@�!�D����G�E�5�-�@�!�D����G�E�5�%�8�!�<�����f�h��'�����Y��'rc�P�[QQQ2o[QU,2oUO[QU12U2UO[QU,2U2UO[Q,2U2UO	U[26H2UO
U[6H2P!)rorrrrlr)r	r
rarbrcrdrer)rr�r;s&  r�test_group_comparison�)TestAddressAndGroup.test_group_comparison�s����E�5�-�0���)�a�S�!������y�1�$�/��3����E�%�!��-�q�1����E�)�R�0�!�4�����f�h��'�����Y��'rr+)(r0r1r2r3rtr�r�r�r�r�r�r�r�rrr
r
rrrr"r&r*r.r2r6r<r@rCrJrNrQrTrXr\r_rfrir4r5r6s@rr�r��s�����&�I�E�C�9�6�2�2�,�'�*�)�,�G�>�6�"�&A�?�P�=�;�*�*�+�;�<�,�0�.�2�9�(�(�(rr�c�|`�\sQsQsnQsQsQsQsQsQs	Qs
Q	sQ
sQs
QsQ
sQsQsQsQsUsP!)�TestFoldingi�c
���QFDYvqUOQ[UQQ52oUOUO[O
Q5QU*2J[	P!)z1Test the folding and encoding of address headers.r[za@b.comr�rzTo: %s <a@b.com>
)	)zFoo Bar, Francez"Foo Bar, France")zFoo Bar (France)z"Foo Bar (France)")uFoo Bar, Españaz"Foo =?utf-8?q?Bar=2C_Espa=C3=B1a?=)uFoo Bar (España)z Foo Bar =?utf-8?b?KEVzcGHDsWEp?=)uFoo, Bar Españaz"=?utf-8?q?Foo=2C_Bar_Espa=C3=B1a?=)uFoo, Bar [España]z(=?utf-8?q?Foo=2C_Bar_=5BEspa=C3=B1a=5D?=)uFoo Bär, Francez"Foo =?utf-8?q?B=C3=A4r=2C?= France)uFoo Bär <France>z%Foo =?utf-8?q?B=C3=A4r_=3CFrance=3E?=)urLôrem ipsum dôlôr sit amet, cônsectetuer adipiscing. Suspendisse pôtenti. Aliquam nibh. Suspendisse pôtenti.z�=?utf-8?q?L=C3=B4rem_ipsum_d=C3=B4l=C3=B4r_sit_amet=2C_c=C3=B4nsectetuer?=
 =?utf-8?q?_adipiscing=2E_Suspendisse_p=C3=B4tenti=2E_Aliquam_nibh=2E?=
 Suspendisse =?utf-8?q?p=C3=B4tenti=2E?=)rYr	rar�rr�)rrW�resultrs&   r�test_address_display_names�&TestFolding.test_address_display_names�sS���L�D�$� � ��w�t�y�'I�J�A����Q�V�V�6�>�>�V�:�$8�6�$A�
C�'rc��UOQQ2oUOUO[OQ5Q2P!)rGr_rzsubject: this is a test
�rYrar�rr�rbs& r�test_short_unstructured�#TestFolding.test_short_unstructured�s7�����Y�(8�9��������v�~�~��6�4�	6rc��UOQQ2oUOUO[OQ5Q2P!)r!zhThis is a long header line that will need to be folded into two lines and will demonstrate basic foldingrzsSubject: This is a long header line that will need to be folded into two lines
 and will demonstrate basic folding
rrrbs& r�test_long_unstructured�"TestFolding.test_long_unstructured�sA�����Y�)1�
2��	
������v�~�~��6�@�	Arc���UOQQ2oUOUO[OO]Q5Q5[OQ22P!)r!z1this is a short header that will be folded anywayr�rz�                Subject: this is a
                 short header that
                 will be folded
                 anyway
                �rYrar�rr�r��textwrap�dedentrbs& r�'test_unstructured_short_max_line_length�3TestFolding.test_unstructured_short_max_line_length�sX�����Y�))�
*�����
�F�F�&�.�.�.�.�r�.�B�F�C��O�O��
�	rc��UOQQ2oUOUO[OQ5Q2P!)r!rrzSubject: test
rrrbs& r�"test_fold_unstructured_single_word�.TestFolding.test_fold_unstructured_single_word�s4�����Y��/��������v�~�~��6�8I�Jrc��UOQQ2oUOUO[OQ5Q2P!)r!ztest test testrzSubject: test test test
rrrbs& r�test_fold_unstructured_short�(TestFolding.test_fold_unstructured_short�s7�����Y�(8�9��������v�~�~��6�3�	5rc��UOQQ2oUOUO[OO]Q5Q5Q2P!)r!�5thisisaverylonglineconsistingofasinglewordthatwontfitr�rz�Subject:
 =?utf-8?q?thisisa?=
 =?utf-8?q?verylon?=
 =?utf-8?q?glineco?=
 =?utf-8?q?nsistin?=
 =?utf-8?q?gofasin?=
 =?utf-8?q?gleword?=
 =?utf-8?q?thatwon?=
 =?utf-8?q?tfit?=
�rYrar�rr�r�rbs& r�)test_fold_unstructured_with_overlong_word�5TestFolding.test_fold_unstructured_with_overlong_word�sL�����Y�)$�
%�����
�F�F�&�.�.�.�.�r�.�B�F�C�
"�	rc��UOQQ2oUOUO[OO]Q5Q5Q2P!)r!zXthisisaverylonglineconsistingofasinglewordthatwontfit plusanotherverylongwordthatwontfitr�raSubject:
 =?utf-8?q?thisisa?=
 =?utf-8?q?verylon?=
 =?utf-8?q?glineco?=
 =?utf-8?q?nsistin?=
 =?utf-8?q?gofasin?=
 =?utf-8?q?gleword?=
 =?utf-8?q?thatwon?=
 =?utf-8?q?tfit_pl?=
 =?utf-8?q?usanoth?=
 =?utf-8?q?erveryl?=
 =?utf-8?q?ongword?=
 =?utf-8?q?thatwon?=
 =?utf-8?q?tfit?=
r�rbs& r�.test_fold_unstructured_with_two_overlong_words�:TestFolding.test_fold_unstructured_with_two_overlong_words�sN�����Y�)G�
H�����
�F�F�&�.�.�.�.�r�.�B�F�C�

"�	rc��UOQQ2oUOUO[OO]#Q5Q5Q2P!)r!� thislongwordislessthanmaxlinelenr�rz+Subject:
 thislongwordislessthanmaxlinelen
r�rbs& r�.test_fold_unstructured_with_slightly_long_word�:TestFolding.test_fold_unstructured_with_slightly_long_word�sF�����Y�(J�K�����
�F�F�&�.�.�.�.�r�.�B�F�C�;�	=rc���UOQQ2oUOUO[OO]<Q5Q5[OQ22P!)r!z�This header is intended to demonstrate, in a fairly succinct way, that we now do not give a , special treatment in unstructured headers.r�rz�                Subject: This header is intended to demonstrate, in a fairly
                 succinct way, that we now do not give a , special treatment
                 in unstructured headers.
                 ryrbs& r�"test_fold_unstructured_with_commas�.TestFolding.test_fold_unstructured_with_commass\�����Y�)F�
G��	
���
�F�F�&�.�.�.�.�r�.�B�F�C��O�O��
�	rc��UOQQ2oUOUO[OQ5[
OQ22P!)r[z�"Theodore H. Perfect" <yes@man.com>, "My address is very long because my name is long" <foo@bar.com>, "Only A. Friend" <no@yes.com>rz�            To: "Theodore H. Perfect" <yes@man.com>,
             "My address is very long because my name is long" <foo@bar.com>,
             "Only A. Friend" <no@yes.com>
             )rYrar�rr�rzr{rbs& r�test_fold_address_list�"TestFolding.test_fold_address_listsK�����T�$,�
-��	
������v�~�~��6����I�9�	rc��UOQQ2oUOUO[OQ5Q2P!)r�zSat, 2 Feb 2002 17:00:06 -0800rz&Date: Sat, 02 Feb 2002 17:00:06 -0800
rrrbs& r�test_fold_date_header�!TestFolding.test_fold_date_headers8�����V�%E�F��������v�~�~��6�A�	Crc��UOQQ2oUOUO[OQ5Q2P!)zX-Report-Abusez]<https://www.mailitapp.com/report_abuse.php?mid=xxx-xxx-xxxxxxxxxxxxxxxxxxxxxxxx==-xxx-xx-xx>rz�X-Report-Abuse: =?utf-8?q?=3Chttps=3A//www=2Emailitapp=2Ecom/report=5Fabuse?=
 =?utf-8?q?=2Ephp=3Fmid=3Dxxx-xxx-xxxxxxxxxxxxxxxxxxxxxxxx=3D=3D-xxx-xx-xx?=
 =?utf-8?q?=3E?=
rrrbs& r�&test_fold_overlong_words_using_RFC2047�2TestFolding.test_fold_overlong_words_using_RFC2047!sC������
B�
C��	
���
�F�F�&�.�.�F�)�
!�	"rc��UOQQ2oUOUO[OO]Q5Q5Q2UOQQ2oUOUO[OO]Q5Q5Q2UOQQ2oUOUO[OO]Q5Q5Q2UOQQ	2oUOUO[OO]Q5Q5Q
2P!)z
Message-IDz+<somemessageidlongerthan@maxlinelength.com>r�rz8Message-ID: <somemessageidlongerthan@maxlinelength.com>
z1<somemessageidlongerthan@[127.0.0.0.0.0.0.0.0.1]>z>Message-ID: <somemessageidlongerthan@[127.0.0.0.0.0.0.0.0.1]>
u<ईमेल@wők.com>u$Message-ID: <ईमेल@wők.com>
u"<ईमेलfromMessage@wők.com>u0Message-ID:
 <ईमेलfromMessage@wők.com>
r�rbs& r�$test_message_id_header_is_not_folded�0TestFolding.test_message_id_header_is_not_folded.s&������9�
;��	
���
�F�F�&�.�.�.�.�r�.�B�F�C�G�	I�

����?�
A��	
���
�F�F�&�.�.�.�.�r�.�B�F�C�M�	O�

���\�+D�E�����
�F�F�&�.�.�.�.�r�.�B�F�C�3�	5�
���\�+O�P�����
�F�F�&�.�.�.�.�r�.�B�F�C�@�	Brc��UOQQ2oUOUO[OO]Q5Q5Q2P!)�
Referencesza<referenceid1thatislongerthan@maxlinelength.com> <referenceid2thatislongerthan@maxlinelength.com>r�rzoReferences: <referenceid1thatislongerthan@maxlinelength.com>
 <referenceid2thatislongerthan@maxlinelength.com>
r�rbs& r�test_fold_references� TestFolding.test_fold_referencesKsQ������
?�
��
	
���
�F�F�&�.�.�.�.�r�.�B�F�C�
B�	Crr+)r0r1r2r3rorsrvr|rr�r�r�r�r�r�r�r�r�r�r4r5r6s@rrlrl�s\����C�06�
A�
�K�5�
� �.=���C�
"�B�:
C�
Crrl�__main__)"r�rz�unittest�emailrr�
email.messager�test.test_emailrrr�email.headerregistryr	r
�test.supportrrrdr�rrUr\r�r�r�r2r@rPrer�rlr0�mainr+rr�<module>r�se�������!�7� �/�"�(�	���7K��7K�t)�]�)�"0�^�"0�\�%�^�%��%�P�F6�^�F6��F6�R�|�N�|��|�~�)�.�)��)�X�O�^�O��O�d�Z
�N�Z
��Z
�z�bC��bC��bC�J`(�-�`(�FzC�.�zC�z�z���M�M�O�r

Youez - 2016 - github.com/yon3zu
LinuXploit