403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.216.220
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:/Python313/Lib/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python313/Lib/test/__pycache__/test_xmlrpc.cpython-313.opt-1.pyc
�

��iI�����SSKrSSKrSSKrSSKrSSKrSSKrSSKJr SSKJr	 SSK
rSSKr
SSK
r
SSKr
SSKrSSKrSSKrSSKrSSKrSSKJr SSKJr SSKJr SSKJr SSKJrJrJr SSKr\R>"SS	9 S
SSS
S/\	R@"S5S\!"S5SSS\	RD"S5\	RD"S5\	RD"\R"SS
SSSS55S./r#"SS\RH5r%"SS\RH5r&"SS \RH5r'"S!S"\RH5r("S#S$\RH5r)"S%S&\RH5r*S=q+=q,q-SMS'jr.SNS(jr/S)r0S*r1"S+S,\RH5r2"S-S.\25r3"S/S0\25r4"S1S2\25r5"S3S4\25r6"S5S6\65r7"S7S8\65r8\Rr"\SLS95"S:S;\255r:\Rr"\SLS95"S<S=\RH55r;"S>S?\25r<"S@SA\RH5r="SBSC\
RR|5r?"SDSE\RH5r@\R�SOSFj5rB"SGSH\RH5rC"SISJ\RH5rDSKrE\FSL:Xa\R�"5 gg!\a SrGNrf=f)P�N)�mock)�support)�	os_helper)�
socket_helper)�threading_helper)�	ALWAYS_EQ�LARGEST�SMALLESTT)�modulezfoo@bar.baz.spamgH�zns�@i�z.zyx.41�my dog has fleasFu	䀀怀耀z
regular value�20050210T11:41:23)	��r�
��)�r����rrrrr)�astring�afloat�anint�
ashortlong�anotherlist�abase64�b64bytes�b64bytearray�boolean�unicodeuukey䀀�	datetime1�	datetime2�	datetime3c��\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
SrS
rSrSrSrSrSrSrSrSrSrSrSrg)�XMLRPCTestCase�0c��[R"[45n[R"U5nUR	[USS5 g)Nr)�	xmlrpclib�dumps�alist�loads�assertEqual)�self�dump�loads   �%C:\Python313\\Lib\test\test_xmlrpc.py�test_dump_load�XMLRPCTestCase.test_dump_load2s8������x�(�����t�$�������Q���
�+�c���[R"SSSSSS5nURU[R"S55 [R"U45n[R
"USS	9up4UunURXQ5 UR
[U5[R5 URU5 [R
"US
S	9up4UunURXQ5 UR
[U5[R5 URU5 [R
"USS9up4UunURXQ5 UR
[U5[R5 URU5 [R
"US
S9up4UunURXQ5 UR
[U5[R5 URU5 g)NrrrrrrrT��use_builtin_typesF)�use_datetime�	�datetimer+r'�DateTimer(r*�assertIs�type�assertIsNone�r,�dt�s�result�m�newdts      r/�test_dump_bare_datetime�&XMLRPCTestCase.test_dump_bare_datetime7s~��
�
�
�t�Q��B��B�
7������Y�/�/�0C�D�E��O�O�R�E�"���O�O�A��>�	���������#��
�
�d�5�k�8�#4�#4�5����!���O�O�A��?�	���������#��
�
�d�5�k�9�#5�#5�6����!���O�O�A�D�9�	���������#��
�
�d�5�k�8�#4�#4�5����!���O�O�A�E�:�	���������#��
�
�d�5�k�9�#5�#5�6����!�r2c�L�[R"SSSSSS5nURU[R"S55 [R"U45n[R
"USS	9up4UunURXQ5 UR
[U5[R5 URU5 [R
"US
S	9up4UunURXQ5 UR
[U5[R5 URU5 g)Nrrrrrrz00010210T11:41:23Tr4Fr7r=s      r/�test_datetime_before_1900�(XMLRPCTestCase.test_datetime_before_1900Ys���
�
�
�q�1�b�"�b�"�
5������Y�/�/�0C�D�E��O�O�R�E�"���O�O�A��>�	���������#��
�
�d�5�k�8�#4�#4�5����!���O�O�A��?�	���������#��
�
�d�5�k�9�#5�#5�6����!�r2c�"�[R"5n[R"[R"U4SS95uup#UR	UR
[5 [R"U4SS9nUR	U[5 g)NT��methodresponse)r'r9r*r(�assertIsInstance�value�str)r,�d�new_d�dummyr?s     r/�test_bug_1164912�XMLRPCTestCase.test_bug_1164912kso����� ��%�O�O�I�O�O�Q�D�;?�-A�B���%����e�k�k�3�/�
�O�O�U�H�T�:�����a��%r2c���"SS[5nU"5nSUlSUl[R"[R
"U455uup4UR
X2R5 g)Nc��\rSrSrSrg)�-XMLRPCTestCase.test_newstyle_class.<locals>.T�v�N)�__name__�
__module__�__qualname__�__firstlineno__�__static_attributes__rWr2r/�TrUvs��r2r]�d�Hello)�object�x�yr'r*r(r+�__dict__)r,r]�t�t2rPs     r/�test_newstyle_class�"XMLRPCTestCase.test_newstyle_classusR��	��	�
�C��������"������!��)>�?���"�����Z�Z�(r2c�V�UR[[RSS-45 g)Nr�c)�assertRaises�
OverflowErrorr'r(�r,s r/�test_dump_big_long�!XMLRPCTestCase.test_dump_big_long~s�����-����1�b�5�(�Cr2c�T�UR[[RSS045 g)N�rr�r�rj�	TypeErrorr'r(rls r/�test_dump_bad_dict�!XMLRPCTestCase.test_dump_bad_dict�s�����)�Y�_�_���|�o�Fr2c��/SQnSSSU/nURU5 UR[[RU45 g)Nrprq��)�appendrjrsr'r()r,�lrds   r/�test_dump_recursive_seq�&XMLRPCTestCase.test_dump_recursive_seq�s7����
�q��1�I��	��������)�Y�_�_�q�d�;r2c�l�SSS.nSUS.nX!S'UR[[RU45 g)Nr)�1�2rq)�3rNrdrr�r,rNrds   r/�test_dump_recursive_dict�'XMLRPCTestCase.test_dump_recursive_dict�s3����N����N���#�����)�Y�_�_�q�d�;r2c�J�[RS:�a/UR[[R
[
S545 [R
"[R[R45 UR[[R
[RS-45 UR[[R
[RS-
45 Sn[R"5nUR[RU5 UR[RU5 UR[UR[RS-U5 UR[UR[RS-
U5 g)Ni����rc��g�NrW�r?s r/�dummy_write�5XMLRPCTestCase.test_dump_big_int.<locals>.dummy_write����r2)�sys�maxsizerjrkr'r(�int�MAXINT�MININT�
Marshaller�dump_int�r,r�rAs   r/�test_dump_big_int� XMLRPCTestCase.test_dump_big_int�s#���;�;�� ����m�Y�_�_�"�5�z�m�
-�	����)�)�9�+;�+;�<�=����-����$�+�+�A�-�/�	1����-����$�+�+�A�-�/�	1�	�
� � �"��	�
�
�9�#�#�[�1�	�
�
�9�#�#�[�1����-����#�*�*�1�,�k�	;����-����#�*�*�1�,�k�	;r2c��[R"[S545 [R"[[R5[[R545 [R"[[RS-5[[RS-
545 Sn[R
"5nUR
[RU5 UR
[RU5 UR
[RS-U5 UR
[RS-
U5 g)Nr��*c��gr�rWr�s r/r��4XMLRPCTestCase.test_dump_double.<locals>.dummy_write�r�r2)r'r(�floatr�r�r��dump_doubler�s   r/�test_dump_double�XMLRPCTestCase.test_dump_double�s�������w��)�*�����y�/�/�0��y�/�/�0�2�	3�����y�/�/�"�4�5��y�/�/�"�4�5�7�	8�	�
� � �"��	�
�
�i�&�&��4�	�
�
�i�&�&��4�	�
�
�i�&�&��+�[�9�	�
�
�i�&�&��+�[�9r2c��[S/-n[S/-4n[R"USS9nURU[R"U5SS5 UR[[RU45 g)NT)�
allow_noner)r)r'r(r+r*rjrs)r,rL�arg1�strgs    r/�test_dump_none�XMLRPCTestCase.test_dump_none�si����������� �����t��5������#�/�/�$�/��2�1�5�	7����)�Y�_�_�t�g�>r2c���SS0n[R"U4SS9nSU-nUR[R"U5SSU5 UR	SS5nUR[R"U5SSU5 [R"U4SSS	9nUR[R"U5SSU5 UR	SS5nUR[R"U5SSU5 S
n[R"U4SUS9nUR[R"U5SSU5 UR[R"U5SU5 g)
Nukey€¤u
value€¤�iso-8859-15��encodingz,<?xml version='1.0' encoding='iso-8859-15'?>r�xmlcharrefreplaceT)r�rJumethod€¤)r��
methodnamer)r'r(r+r*�encode)r,rLr�r�s    r/�test_dump_encoding�!XMLRPCTestCase.test_dump_encoding�sM�� �"�$������x�-�@��=��D���������.�q�1�!�4�e�<��{�{�=�*=�>���������.�q�1�!�4�e�<�����x�-�.2�4���������.�q�1�!�4�e�<��{�{�=�*=�>���������.�q�1�!�4�e�<�'�
�����x�-�*4�6���������.�q�1�!�4�e�<��������.�q�1�:�>r2c�Z�SnURU[R"U55 [[[R4H�nU"U5n[R
"U45n[R"USS9upVUunURXq5 UR[U5[5 URU5 [R"USS9upVUunURXq5 UR[U5[R5 URU5 M� g)Nr
Tr4F)
r+r'�Binary�bytes�	bytearrayr(r*r:r;r<)r,�sample�type_rLr?r@rA�newvalues        r/�test_dump_bytes�XMLRPCTestCase.test_dump_bytes�s���$�������!1�!1�&�!9�:��I�y�'7�'7�7�E��&�M�E������)�A�!����T�B�I�F� �K�X����X�.��M�M�$�x�.�%�0����a� �!����U�C�I�F� �K�X����X�.��M�M�$�x�.�)�*:�*:�;����a� �8r2c��[RnSnURU[RU5 SnURU[RU5 SnURU[RU5 g)Nz6<params><param><value><spam/></value></param></params>zT<params><param><value><array><value><spam/></value></array></value></param></params>z�<params><param><value><struct><member><name>a</name><value><spam/></value></member><member><name>b</name><value><spam/></value></member></struct></value></param></params>)r'�
ResponseErrorrjr*)r,r��datas   r/�test_loads_unsupported�%XMLRPCTestCase.test_loads_unsupported�sf��!�/�/�
�G�����-����$�?�4��	
���-����$�?�5��	
���-����$�?r2c���SU-n[R"U40UD6upVUunURXr5 UR[	U5[	U55 URU5 g)Nz1<params><param><value>%s</value></param></params>)r'r*r+r:r;r<)r,r?rL�kwargsr-r@rAr�s        r/�check_loads�XMLRPCTestCase.check_loads�sZ��B�Q�F���O�O�D�3�F�3�	���������)��
�
�d�8�n�d�5�k�2����!�r2c��URnU"SS5 U"SS5 U"SS5 U"SS5 U"SS5 U"S	S5 U"S
S5 U"SS
5 U"S[R"S55 U"SSSS9 U"S[R"S55 U"S[R"SSSSSS5SS9 U"SSS/5 U"SSSS.5 g)N�stringz<string>string</string>u4<string>𝔘𝔫𝔦𝔠𝔬𝔡𝔢 string</string>u#𝔘𝔫𝔦𝔠𝔬𝔡𝔢 stringz<int>2056183947</int>i��zz<int>-2056183947</int>iuq�z<i4>2056183947</i4>z<double>46093.78125</double>g���@z<boolean>0</boolean>Fz%<base64>AGJ5dGUgc3RyaW5n/w==</base64>s
byte string�Tr4z6<dateTime.iso8601>20050210T11:41:23</dateTime.iso8601>rrrrrrrzR<array><data><value><int>1</int></value><value><int>2</int></value></data></array>rz�<struct><member><name>b</name><value><int>2</int></value></member><member><name>a</name><value><int>1</int></value></member></struct>)�a�b)r�r'r�r9r8�r,�checks  r/�test_load_standard_types�'XMLRPCTestCase.test_load_standard_types�s���� � ��
�h��!�
�'��2�
�D�Fk�l�
�%�z�2�
�&��4�
�#�Z�0�
�,�k�:�
�$�e�,�
�5����5�6�	8�
�5�$��	>�
�F�� � �!4�5�	7�
�F�����a��R��R�8� $�	&�	� �"#�Q��	)�	��"#��+�	-r2c���URnU"SS5 U"SS5 U"SS5 U"SS5 U"SS5 U"S	S
5 U"SS5 U"S
[R"S55 g)Nz<nil/>z	<ex:nil/>z<i1>205</i1>��z<i2>20561</i2>iQPz<i8>9876543210</i8>l�`	z-<biginteger>98765432100123456789</biginteger>l5�?�4*UUz<float>93.78125</float>grW@z.<bigdecimal>9876543210.0123456789</bigdecimal>z9876543210.0123456789)r��decimal�Decimalr�s  r/�test_load_extension_types�(XMLRPCTestCase.test_load_extension_typessr��� � ��
�h���
�k�4� �
�n�c�"�
���&�
�#�Z�0�
�=�"�	$�
�'��2�
�>��o�o�5�6�	8r2c��URnSn[R"U5 SUS--nUR[5 U"SUS3S5 SSS5 UR[5 U"SUS3S5 SSS5 SSS5 g!,(df   NB=f!,(df   N(=f!,(df   g=f)Ni�r~rz<int>z</int>z<biginteger>z
</biginteger>)r�r�adjust_int_max_str_digitsrj�
ValueError)r,r��	maxdigitsr?s    r/�test_limit_int�XMLRPCTestCase.test_limit_int$s���� � ���	�
�
.�
.�y�
9��y�1�}�%�A��"�"�:�.���a�S��'��.�/��"�"�:�.���Q�C�}�5�t�<�/�	:�
9�.�.��.�.��	:�
9�s;�B/�B
�B/�.B�<B/�
B	�B/�
B,	�(B/�/
B=c��[RR5nURUR	S5SS/045 g)Nz
user@host.tldzhost.tld)�
AuthorizationzBasic dXNlcg==)�xmlrpc�client�	Transportr+�
get_host_info)r,�transps  r/�test_get_host_info�!XMLRPCTestCase.test_get_host_info.sA�����(�(�*������-�-�o�>�%�?�@�"�F�	Gr2c��SSKnSn[RR	S5R5 g![a SnN=f=f![a URUS5 g[a URU5 gf=f)NrTFzhttps://localhost:9999z&xmlrpc client's error with SSL support)
�ssl�ImportErrorr�r��ServerProxy�bad_function�NotImplementedError�assertFalse�OSError�
assertTrue)r,r��has_ssls   r/�test_ssl_presence� XMLRPCTestCase.test_ssl_presence5s~��	���G�	%��M�M�%�%�&>�?�L�L�N���	��G�	��#�	P����W�&N�O��	%��O�O�G�$�	%�s&�7�-A	�A�A�	B�'B�Bc�~^�"SS[RR5nU4Sjn[RR[R
S4U5mUR
TR5 [R"US9nUR5 UR
UR5 SR"TR6n[R"U5nUR!UR#5S5 UR!UR#5S5 SSS5 g!,(df   g=f)Nc�(�\rSrSrSrSrSrSrSrg)�@XMLRPCTestCase.test_keepalive_disconnect.<locals>.RequestHandleriD�HTTP/1.1Fc��[URRS55nURR	U5 UR
(aSUlg[R"SSS9nUR5nUR[RR5 URS[U55 UR!5 UR"R%U5 SUlSUlg)N�Content-LengthT)rxrIF)r��headers�get�rfile�read�handled�close_connectionr'r(r��
send_response�http�
HTTPStatus�OK�send_header�len�end_headers�wfile�write)r,�length�responses   r/�do_POST�HXMLRPCTestCase.test_keepalive_disconnect.<locals>.RequestHandler.do_POSTHs����T�\�\�-�-�.>�?�@���
�
����'��<�<�,0�D�)��$�?�?�4��E��#�?�?�,���"�"�4�?�?�#5�#5�6�� � �!1�3�x�=�A�� � �"��
�
� � ��*�#���(-��%r2c��gr�rW)r,�format�argss   r/�log_message�LXMLRPCTestCase.test_keepalive_disconnect.<locals>.RequestHandler.log_messageWs��r2)r�r�N)	rXrYrZr[�protocol_versionr�r�rr\rWr2r/�RequestHandlerr�Ds��)���G�

.�
r2rc�>�TRR[S55 TR5 TR5 g�Nr)�socket�
settimeoutr��handle_request)�servers�r/�
run_server�<XMLRPCTestCase.test_keepalive_disconnect.<locals>.run_server[s1����M�M�$�$�U�1�X�.��!�!�#��!�!�#r2r)�targetz
http://{}:{}/rx)r�r
�BaseHTTPRequestHandler�
HTTPServerr�HOST�
addCleanup�server_close�	threading�Thread�start�joinr�server_addressr'r�r+�method)r,rr�thread�url�pr
s      @r/�test_keepalive_disconnect�(XMLRPCTestCase.test_keepalive_disconnectCs����	�T�[�[�?�?�	�.	$�
���'�'��);�);�Q�(?��P������+�+�,��!�!��4������������$��$�$�f�&;�&;�<��
�
"�
"�3�
'�1����Q�X�X�Z��+����Q�X�X�Z��+�(�
'�
'�s
�$AD.�.
D<rWN)rXrYrZr[r0rCrFrQrfrmrtr{r�r�r�r�r�r�r�r�r�r�r�r�r�rr\rWr2r/r$r$0su��,�
�D�$&�)�D�G�<�<�;�,:� ?�?�*!�&@��-�68�=�G�%�%,r2r$c�N�\rSrSr"SS\5rSrSrSrSr	Sr
S	rS
rg)�SimpleXMLRPCDispatcherTestCaseikc��\rSrSrSrSrg)�*SimpleXMLRPCDispatcherTestCase.DispatchExcilzKRaised inside the dispatched functions when checking for
chained exceptionsrWN)rXrYrZr[�__doc__r\rWr2r/�DispatchExcr$ls��	r2r&c��^�SnU4Sjn[RR5nURU5 TR	TR
5nUR
SU5 SSS5 TRWRRU45 TRURR5 TRURR5 g!,(df   N�=f)z$Calls explicitly registered functionrpc�&>�TRU5er�)r&)�paramsr,s �r/�dispatched_func�QSimpleXMLRPCDispatcherTestCase.test_call_registered_func.<locals>.dispatched_funcws����"�"�6�*�*r2r*N)
r�r
�SimpleXMLRPCDispatcher�register_functionrjr&�	_dispatchr+�	exceptionrr<�	__cause__�__context__)r,�
exp_paramsr*�
dispatcher�exc_ctxs`    r/�test_call_registered_func�8SimpleXMLRPCDispatcherTestCase.test_call_registered_funcps����
�
�	+��]�]�9�9�;�
��$�$�_�5�
�
�
�t�/�/�
0�G�� � �!2�J�?�1�����*�*�/�/�*��?����'�+�+�5�5�6����'�+�+�7�7�8�	1�
0�s�C!�!
C/c���Sn"SS5n[RR5nURU"55 UR	UR
5nUR
SU5 SSS5 URWRRU45 URURR5 URURR5 g!,(df   N�=f)z3Calls a registered instance attribute as a functionrpc��\rSrSrSrSrg)�OSimpleXMLRPCDispatcherTestCase.test_call_instance_func.<locals>.DispatchedClassi�c�,�[RU5er��r"r&)r,r)s  r/r*�_SimpleXMLRPCDispatcherTestCase.test_call_instance_func.<locals>.DispatchedClass.dispatched_func�s��4�@�@��H�Hr2rWN)rXrYrZr[r*r\rWr2r/�DispatchedClassr9�s��
Ir2r=r*N�
r�r
r,�register_instancerjr&r.r+r/rr<r0r1)r,r2r=r3r4s     r/�test_call_instance_func�6SimpleXMLRPCDispatcherTestCase.test_call_instance_func�s���
�
�	I�	I��]�]�9�9�;�
��$�$�_�%6�7�
�
�
�t�/�/�
0�G�� � �!2�J�?�1�����*�*�/�/�*��?����'�+�+�5�5�6����'�+�+�7�7�8�	1�
0�s�C)�)
C7c��SnSn"SS5n[RR5nURU"55 UR	UR
5nUR
X5 SSS5 URWRRX45 URURR5 URURR5 g!,(df   N�=f)z4Calls the registered instance's `_dispatch` functionrrpc��\rSrSrSrSrg)�LSimpleXMLRPCDispatcherTestCase.test_call_dispatch_func.<locals>.TestInstancei�c�,�[RX5er�r;)r,rr)s   r/r.�VSimpleXMLRPCDispatcherTestCase.test_call_dispatch_func.<locals>.TestInstance._dispatch�s��4�@�@��$�$r2rWN)rXrYrZr[r.r\rWr2r/�TestInstancerD�s��
$r2rGNr>)r,�
exp_methodr2rGr3r4s      r/�test_call_dispatch_func�6SimpleXMLRPCDispatcherTestCase.test_call_dispatch_func�s���
�
��
�	$�	$�
�]�]�9�9�;�
��$�$�\�^�4�
�
�
�t�/�/�
0�G�� � ��8�1�����*�*�/�/�*�1I�J����'�+�+�5�5�6����'�+�+�7�7�8�	1�
0�s�C*�*
C8c���[RR5nURSSS9 UR	[
S5 UR
SS5 SSS5 g!,(df   g=f)z2Calls explicitly registered function which is NoneNr��name��param)r�r
r,r-�assertRaisesRegex�	Exceptionr.�r,r3s  r/�test_registered_func_is_none�;SimpleXMLRPCDispatcherTestCase.test_registered_func_is_none�sU���]�]�9�9�;�
��$�$�T��$�9�
�
#�
#�I�x�
8�� � ��:�6�9�
8�
8�s�A!�!
A/c��[RR5nUR[	55 UR[S5 URSS5 SSS5 g!,(df   g=f)z>Attempts to call nonexistent function on a registered instancerrNN)r�r
r,r?r`rPrQr.rRs  r/�test_instance_has_no_func�8SimpleXMLRPCDispatcherTestCase.test_instance_has_no_func�sR���]�]�9�9�;�
��$�$�V�X�.�
�
#�
#�I�x�
8�� � ��:�6�9�
8�
8�s�A*�*
A8c���[RR5nUR[S5 URSS5 SSS5 g!,(df   g=f)z2Calls a function that the dispatcher cannot locaterrNN)r�r
r,rPrQr.rRs  r/�test_cannot_locate_func�6SimpleXMLRPCDispatcherTestCase.test_cannot_locate_func�sB���]�]�9�9�;�
�
�
#�
#�I�x�
8�� � ��:�6�9�
8�
8�s�A�
ArWN)
rXrYrZr[rQr&r5r@rIrSrVrYr\rWr2r/r"r"ks,���i��9�$9�&9�*7�7�7r2r"c��\rSrSrSrSrg)�HelperTestCasei�c���UR[R"S5S5 UR[R"S5S5 UR[R"S5S5 g)Nza&bza&amp;bza<bza&lt;bza>bza&gt;b)r+r'�escaperls r/�test_escape�HelperTestCase.test_escape�sS������)�)�%�0�)�<�����)�)�%�0�(�;�����)�)�%�0�(�;r2rWN)rXrYrZr[r_r\rWr2r/r\r\�s��<r2r\c�&�\rSrSrSrSrSrSrg)�
FaultTestCasei�c��[R"SS5nUR[U5S5 UR[U5[	U55 g)Nr��
Test Faultz<Fault 42: 'Test Fault'>)r'�Faultr+�reprrM)r,�fs  r/�	test_repr�FaultTestCase.test_repr�s?���O�O�B��-������a��"<�=�����a��#�a�&�)r2c��[R"SS5n[R"U45n[R"U5uup4UR	USSS.5 UR	US5 [R
"5RU5nUR
[R[RU5 g)Nr�rd)�	faultCode�faultString)r'rer(r*r+r�rj)r,rgr?�newfrAs     r/�test_dump_fault�FaultTestCase.test_dump_fault�s����O�O�B��-���O�O�Q�D�!���_�_�Q�'�
�������R��M�N�����D�!�� � �"�(�(��+�����)�/�/�9�?�?�A�>r2c���UR[[RR[
S5 UR
[RR	[
S55 g�N�__add�title)rj�AttributeErrorr�r
�resolve_dotted_attributerMr�rls r/�test_dotted_attribute�#FaultTestCase.test_dotted_attribute�sC��	
���.� �-�-�@�@�#�w�	P�����
�
�>�>�s�G�L�Mr2rWN)rXrYrZr[rhrnrvr\rWr2r/rbrb�s��*�
?�Nr2rbc�D�\rSrSrSrSrSrSrSrSr	Sr
S	rS
rg)�DateTimeTestCasei�c�T�[R"S5n[R"/SQ5nX!l[R
"5n[R"5nUR[U5[R"SU55 SSS5 g!,(df   g=f)Nztime.localtime)	i���r��1r��r�%Y%m%dT%H:%M:%S)r�patch�time�struct_time�return_value�	localtimer'r9r+rM�strftime)r,�localtime_mock�time_structr�rds     r/�test_default�DateTimeTestCase.test_default�st��
�Z�Z�(�
)�^��*�*�3�5�K�*5�'����(�I��"�"�$�A����S��V�!�]�]�+<�i�H�
J�
*�
)�
)�s�A9B�
B'c	��Sn[R"U5nUR[U5[R
"S[R"U555 g�Ngl]�ޮ��Ar�)r'r9r+rMr�r�r�r�s   r/�	test_time�DateTimeTestCase.test_time�sD�������q�!������Q�����'8�$�.�.��:K�L�	Nr2c�j�Sn[R"U5nUR[U5S5 g)N)	����	r�&�2rx�rz20070609T10:38:50)r'r9r+rMr�s   r/�test_time_tuple� DateTimeTestCase.test_time_tuple�s,��'�����q�!������Q��!4�5r2c��[R"S5n[R"U5nUR	[U5[R"SU55 gr�)r�r�r'r9r+rMr�r�s   r/�test_time_struct�!DateTimeTestCase.test_time_struct�sA���N�N�,�-�����q�!������Q�����/@�!�!D�Er2c	�L�[R"SSSSSS5n[R"U5nUR[	U5S5 [R"SS	S
SS[R
S
9n[R"U5nUR[	U5S5 g)Nr�rrrqrwrxz20070102T03:04:05i�r���
�)�tzinfoz20230612T13:30:00)r8r'r9r+rM�UTCr�s   r/�test_datetime_datetime�'DateTimeTestCase.test_datetime_datetime�s������d�1�Q�q��1�-�����q�!������Q��!4�5�
���d�A�r�2�r�(�,�,�G�����q�!������Q��!4�5r2c��[R"SSSSSS5n[R"U5nS[U5-nUR	[U5U5 g)Nr�rrrqrwrxz%<DateTime '20070102T03:04:05' at %#x>)r8r'r9�idr+rf)r,rNrd�vals    r/rh�DateTimeTestCase.test_reprsN�����d�1�Q�q��1�-�����q�!��
4�r�!�u�
<������a��#�&r2c
�"�Sn[R"5nURU5 [R"[R"SSSSSS55nUR	X#5 [R
"U5nUR	XC5 g)Nz 20070908T07:11:13  r�r��r{rr�)r'r9�decoder8r+�	_datetime)r,rN�t1�trefres     r/�test_decode�DateTimeTestCase.test_decodesq��"��
�
�
�
!��
�	�	�!���!�!�(�"3�"3�D��1�Q�r�"�"E�F������"�
�
 �
 ��
#������"r2c���[RR5n[R"UR	55nURX!:H5 URX:H5 U[R"SS9-nURX2:�5 URX#:5 URS5nURX$:H5 URXB:H5 [R"UR	55nURXT:�5 URXE:5 URS5nUR	5nURUS:H5 URX&:g5 URU[U5:H5 URX':g5 UR[5 U[S5: SSS5 UR[5 X&:� SSS5 UR[5 U[U5:* SSS5 UR[5 X':� SSS5 URU[:H5 URU[:g5 URU[:5 URU[:�5 URU[:*5 URU[:�5 URU[ :5 URU[ :�5 URU[ :*5 URU[ :�5 g!,(df   GNp=f!,(df   GN`=f!,(df   GNF=f!,(df   GN6=f)Nrw)�secondsr��asciii�)r8�nowr'r9�	timetupler��	timedeltar�r�r�r�rjrsr�rr	r
)r,r��dtime�then�dstr�
dtime_then�dbytes�dtuples        r/�test_comparison� DateTimeTestCase.test_comparisons�����#�#�%���"�"�3�=�=�?�3��	
�����%������%��X�'�'��2�2������
�&������%��|�|�-�.������
�&�����
�&��'�'����(8�9�
����
�*�+�����)�*����W�%�����������$��'������(�����)�F�"3�3�4������(�
�
�
�y�
)��E�$�K��*�
�
�
�y�
)��N�*�
�
�
�y�
)��Y�v�&�&�*�
�
�
�y�
)��O�*�	
�����*�+�����)�+�,�������(�������)������(�)�����'�)�*������)�*������(�)�����(�*�+������)�*�%*�
)��
)�
)��
)�
)��
)�
)�s0�4L,� L>�M�.M"�,
L;�>
M
�
M�"
M1rWN)
rXrYrZr[r�r�r�r�r�rhr�r�r\rWr2r/ryry�s-��J�N�6�
F�
	6�'�#�,+r2ryc�&�\rSrSrSrSrSrSrg)�BinaryTestCaseiDc�d�[R"5nUR[U5S5 g)N��r'r�r+rM)r,rds  r/r��BinaryTestCase.test_defaultKs$�����������Q���$r2c�~�Sn[R"U5nUR[U5[US55 g�Nsabc123��zlatin-1r�r�s   r/�test_string�BinaryTestCase.test_stringOs2��)�����Q�������Q���Q�	�!2�3r2c�@�Sn[R"U5n[R"5nUR	U5 UR[
U5[
US55 [R"U5nUR[
U5[
US55 gr�)�base64�encodebytesr'r�r�r+rM�_binary)r,rN�der�res     r/r��BinaryTestCase.test_decodeTsv��)��
�
�
��
"��
�
�
�
��
�	�	�"�
�����R��#�a��"3�4�
�
�
�r�
"������R��#�a��"3�4r2rWN)rXrYrZr[r�r�r�r\rWr2r/r�r�Ds��%�4�
5r2r�c��"SS5n"SS[RR5nU(d[RRnU"SUUSSS9nUR	5 UR
R
5uqqS[[4-q	UR5 UR5 UR5 UR[5 URS	S
5 URS5nURSS
9S5nU"5n	URU	SS9 UR!5 US:�aUR#5 US-nUS:�aMUR
R'5 SqUR!5 g![$a N9f=f!UR
R'5 SqUR!5 f=f)Nc�4�\rSrSrSrSr"SS5rSrg)�&http_server.<locals>.TestInstanceClassiec�
�X-$r�rW�r,rarbs   r/�div�*http_server.<locals>.TestInstanceClass.divf�	���6�Mr2c��US:Xagg�Nr��This is the div functionrW�r,rMs  r/�_methodHelp�2http_server.<locals>.TestInstanceClass._methodHelpi����u�}�1�r2c�$�\rSrSr\S5rSrg)�.http_server.<locals>.TestInstanceClass.Fixtureimc��g)N�42rWrWr2r/�getData�6http_server.<locals>.TestInstanceClass.Fixture.getDatans��r2rWN)rXrYrZr[�staticmethodr�r\rWr2r/�Fixturer�ms��
�
��
r2r�rWN)rXrYrZr[r�r�r�r\rWr2r/�TestInstanceClassr�es��	�	2�	�	r2r�c��\rSrSrSrSrg)�#http_server.<locals>.MyXMLRPCServerirc�b�URR5upURS5 X4$�NT�r
�accept�setblocking�r,r?�ports   r/�get_request�/http_server.<locals>.MyXMLRPCServer.get_requests�+���k�k�(�(�*�G�A�
�M�M�$���7�Nr2rWN�rXrYrZr[r�r\rWr2r/�MyXMLRPCServerr�r���	r2r���	localhostrF)r��logRequests�bind_and_activate�http://%s:%dc��U$r�rW)ras r/�<lambda>�http_server.<locals>.<lambda>�s��r2�têštc��g��This is my functionTrWrWr2r/�my_function� http_server.<locals>.my_function�s��r2�addrLc�
�X-$r�rW�rarbs  r/�_�http_server.<locals>._�s	���5�Lr2T)�allow_dotted_namesrr)r�r
�SimpleXMLRPCServer�SimpleXMLRPCRequestHandler�server_bindr
�getsockname�ADDR�PORT�URL�server_activate� register_introspection_functions�register_multicall_functionsr-�powr?�setr�TimeoutError�close)
�evt�numrequests�requestHandlerr�r�r��servrr�testInstances
          r/�http_serverrds���������9�9������A�A���*�N�#+�&+�u�F�D�#������[�[�,�,�.�
��d�
�d�D�\�)�������-�-�/��)�)�+����s�#����{�H�5�	
�	�	�	�
 �	�
�	�	�U�	�	+�	�
,�	�(�*�����|���E����	��A�o����!��1��K��A�o�	
�����������	���
��
��	
�����������	�s%�DF�
F�F�F�F�.G
c��"SS5nSn"SS[RR5nU(d[RRn"SSU5n"SS	5nU"S
USSS9nURRS
5 UR
5 URR5uqq	S[[4-q
UR5 /SQn	U	Hgn
URU
[RR55nUR5 UR5 UR!U
4SjS5 Mi UR#U	S5R![$5 UR#U	S5R!SS5 URSU"55 UR'5 US:�aUR)5 US-nUS:�aMURR-5 Sq	UR'5 g![*a N9f=f!URR-5 Sq	UR'5 f=f)Nc� �\rSrSrSrSrSrg)�,http_multi_server.<locals>.TestInstanceClassi�c�
�X-$r�rWr�s   r/r��0http_multi_server.<locals>.TestInstanceClass.div�r�r2c��US:Xaggr�rWr�s  r/r��8http_multi_server.<locals>.TestInstanceClass._methodHelp�r�r2rWN)rXrYrZr[r�r�r\rWr2r/r�r�s��	�	2r2r�c��gr�rWrWr2r/r�&http_multi_server.<locals>.my_function�s��r2c��\rSrSrSrSrg)�)http_multi_server.<locals>.MyXMLRPCServeri�c�b�URR5upURS5 X4$r�r�r�s   r/r��5http_multi_server.<locals>.MyXMLRPCServer.get_request�r�r2rWNr�rWr2r/r�r&�r�r2r�c��\rSrSr/rSrg)�+http_multi_server.<locals>.MyRequestHandleri�rWN)rXrYrZr[�	rpc_pathsr\rWr2r/�MyRequestHandlerr*�s���	r2r,c��\rSrSrSSjrSrg)�+http_multi_server.<locals>.BrokenDispatcheri�Nc��[S5e)Nzbroken dispatcher)�RuntimeError)r,r��dispatch_method�paths    r/�_marshaled_dispatch�?http_multi_server.<locals>.BrokenDispatcher._marshaled_dispatch�s���2�3�3r2rW�NN)rXrYrZr[r3r\rWr2r/�BrokenDispatcherr.�s��	4r2r6r�F)r�r�rqr�)
�/foo�/foo/bar�/foo?k=v�	/foo#frag�
/foo?k=v#fragr��/�/RPC2�?k=v�#fragc��U$r�rW)rs r/r��#http_multi_server.<locals>.<lambda>�s��qr2�testrrc�
�X-$r�rWrs  r/r�rA�s��A�Cr2r�
/is/broken)r�r
�MultiPathXMLRPCServerr	r
rr
rrr
rr�add_dispatcherr,rrr-�get_dispatcherrrrrr)rrrr�rr�r,r6r�pathsr2rNs            r/�http_multi_serverrI�s���2�2������<�<������A�A���>��4�4��*�,<�&+�u�F�D��K�K���1������"��[�[�,�,�.�
��d�
�d�D�\�)������
��
�D��#�#�D�&�-�-�*N�*N�*P�Q�A�
�.�.�0�
�*�*�,�
���� 0�&�9�	�
	
���E�!�H�%�7�7��<����E�!�H�%�7�7���O����L�*:�*<�=����	��A�o����!��1��K��A�o�	
�����������	���
��
��	
�����������	�s%�EH�
H�H�H�H�.I
c���URS:Xd
URcgURRS5nU(aSUR5;aggg![a [	U5nN5f=f)z�Returns True if the given ProtocolError is the product of a server-side
exception caused by the 'temporarily unavailable' response sometimes
given by operations on non-blocking sockets.rNT�X-exceptionztemporarily unavailable)�errcoder�r�rtrM�lower)�e�exc_messs  r/�is_unavailable_exceptionrP�si����9�9��?�a�i�i�/���9�9�=�=��/��
�-����1A�A��B�x��	���q�6���s�A�A�A1�0A1c�(^�U(dS$U4SjnU$)Nc��U$r�rW)�funcs r/r��)make_request_and_skipIf.<locals>.<lambda>s��Dr2c�>�U4SjnU$)Nc��>�[R"[5R5 [R"T5e![R[
4an[
U5(deSnANFSnAff=fr�)	r'r�rr�
ProtocolErrorr�rP�unittest�SkipTest)r,rN�reasons  �r/�make_request_and_skip�Imake_request_and_skipIf.<locals>.decorator.<locals>.make_request_and_skipsb���
��%�%�c�*�6�6�8��#�#�F�+�+���+�+�W�5�
�/��2�2��3��
�s�(A�A6�A1�1A6rW)rSr[rZs  �r/�	decorator�*make_request_and_skipIf.<locals>.decorators���	,�%�$r2rW)�	conditionrZr]s ` r/�make_request_and_skipIfr`�s���� � �%��r2c�8�\rSrSrSrSr\"\5rSr	Sr
Srg)�BaseServerTestCasei
Nrc��S[RRl[R
"5UlURURUR4n[R"URUS9nUR5 URUR5 URR5 URR5 g)NT�rr)r�r
r�_send_traceback_headerr�Eventr�
request_countrr�
threadFuncrrr�wait�clear�r,�	serv_argsrs   r/�setUp�BaseServerTestCase.setUps���BF��
�
�(�(�?��?�?�$����X�X�t�1�1�4�3F�3F�G�	��!�!����y�I������������$�	
���
�
�������r2c�v�URR5 S[RRlg�NF)rrir�r
rrerls r/�tearDown�BaseServerTestCase.tearDown!s%�����
�
��CH��
�
�(�(�?r2�r)rXrYrZr[rrgr�rrhrmrqr\rWr2r/rbrb
s!���N��M��k�*�J�
�Hr2rbc��\rSrSrSrSrSrSrSrSr	Sr
\"\RRS	:�S
5S5rSrS
rSrSrSrSrSrSrSrSrg)�SimpleServerTestCasei(c
�<�[R"[5nURUR	SS5S5 g![R
[4aBn[U5(d(URU<S[USS5<35 SnAgSnAgSnAff=f)Nr�r����
r�r�)
r'r�rr+rrWr�rP�fail�getattr�r,rrNs   r/�test_simple1�!SimpleServerTestCase.test_simple1)s|��	E��%�%�c�*�A����Q�U�U�1�Q�Z��.���'�'��1�	E�+�A�.�.��	�	�a���I�r�)B�C�D�D�/��	E�s�<?�B�3B�Bc
�F�SnSn[R"[5nURUR	X5X-5 g![R
[4aBn[U5(d(URU<S[USS5<35 SnAgSnAgSnAff=f)NuPŷtuhơnrxr�r�)
r'r�rr+rrWr�rPryrz�r,�start_string�
end_stringrrNs     r/�
test_nonascii�"SimpleServerTestCase.test_nonascii3s���C��;�
�	E��%�%�c�*�A����Q�U�U�<�<�)�6�
8���'�'��1�	E�+�A�.�.��	�	�a���I�r�)B�C�D�D�/��	E�s�=A�B �3B�B c
�X�SnSn[R"[SS9nURUR	X5X-5 g![R
[R4aBn[U5(d(URU<S[USS5<35 SnAgSnAgSnAff=f)N�€�¤r�r�rxr�r��r'r�rr+rrWr
�errorrPryrzrs     r/�test_client_encoding�)SimpleServerTestCase.test_client_encoding@s������
�	E��%�%�c�M�B�A����Q�U�U�<�<�)�6�
8���'�'����6�	E�+�A�.�.��	�	�a���I�r�)B�C�D�D�/��	E�s�<A�$B)�'3B$�$B)c
�L�[R"[SS9nURUR	S5S5 g![R
[R4aBn[U5(d(URU<S[USS5<35 SnAgSnAgSnAff=f)Nr�r�r�rxr�r�)r'r�rr+�têštrWr
r�rPryrzr{s   r/�test_nonascii_methodname�-SimpleServerTestCase.test_nonascii_methodnameNs���	E��%�%�c�G�<�A����Q�X�X�b�\�2�.���'�'����6�	E�+�A�.�.��	�	�a���I�r�)B�C�D�D�/��	E�s�:=�$B#�!3B�B#c�d�[R"[RR	[
[55nURSS5 UR5nSSS5 URWRS5 URURS5 g!,(df   NG=f)N�POSTz/this-is-not-validi�z	Not Found)�
contextlib�closingr�r��HTTPConnectionrr
�request�getresponser+�statusrZ)r,�connr�s   r/�test_404�SimpleServerTestCase.test_404Xs|���
�
���� :� :�4�� F�
G�4��L�L��!5�6��'�'�)�H�H�	
������#�.�������+�6�H�
G�s�#B!�!
B/c
�|�[/SQ5n[R"[5nURR5nUR
[U5U5 g![R[4aBn[U5(d(URU<S[USS5<35 SnAgSnAgSnAff=f)N)
rr�rrr�zsystem.listMethodszsystem.methodHelpzsystem.methodSignaturezsystem.multicallr�rxr�r�)rr'r�r�system�listMethodsr+rWr�rPryrz)r,�expected_methodsr�methrNs     r/�test_introspection1�(SimpleServerTestCase.test_introspection1bs���� +�,��	E��%�%�c�*�A��8�8�'�'�)�D����S��Y�(8�9���'�'��1�	E�+�A�.�.��	�	�a���I�r�)B�C�D�D�/��	E�s�AA�B;�93B6�6B;c
�R�[R"[5nURR	S5nURUS5 g![R[4aBn[U5(d(URU<S[USS5<35 SnAgSnAgSnAff=f)Nr�r�rxr�r��r'r�rr��
methodHelpr+rWr�rPryrz)r,r�divhelprNs    r/�test_introspection2�(SimpleServerTestCase.test_introspection2rs���		E��%�%�c�*�A��h�h�)�)�%�0�G����W�&@�A���'�'��1�	E�+�A�.�.��	�	�a���I�r�)B�C�D�D�/��	E���AA
�
B&�$3B!�!B&rz)Docstrings are omitted with -O2 and abovec
�R�[R"[5nURR	S5nURUS5 g![R[4aBn[U5(d(URU<S[USS5<35 SnAgSnAgSnAff=f)Nrr�rxr�r�r�)r,r�
myfunctionrNs    r/�test_introspection3�(SimpleServerTestCase.test_introspection3~s���		E��%�%�c�*�A����,�,�]�;�J����Z�)>�?���'�'��1�	E�+�A�.�.��	�	�a���I�r�)B�C�D�D�/��	E�r�c
�R�[R"[5nURR	S5nURUS5 g![R[4aBn[U5(d(URU<S[USS5<35 SnAgSnAgSnAff=f)Nr�zsignatures not supportedrxr�r�)r'r�rr��methodSignaturer+rWr�rPryrz)r,r�divsigrNs    r/�test_introspection4�(SimpleServerTestCase.test_introspection4�s���	E��%�%�c�*�A��X�X�-�-�e�4�F����V�%?�@���'�'��1�	E�+�A�.�.��	�	�a���I�r�)B�C�D�D�/��	E�r�c
��[R"[5n[R"U5nUR	SS5 URSS5 UR
SS5 U"5up4nURUS5 URUS5 URUS5 g![R[4aBn[U5(d(URU<S	[US
S5<35 SnAgSnAgSnAff=f)Nrrqr�r��r�rxrwrxr�r�)
r'r�r�	MultiCallrrr�r+rWr�rPryrz)r,r�	multicall�
add_result�
pow_result�
div_resultrNs       r/�test_multicall�#SimpleServerTestCase.test_multicall�s���	E��%�%�c�*�A�!�+�+�A�.�I��M�M�!�A���M�M�!�A���M�M�#�b�!�1:��.�J�J����Z��-����Z��.����Z��1���'�'��1�	E�+�A�.�.��	�	�a���I�r�)B�C�D�D�/��	E�s�B&B)�)D�3D�Dc
���[R"[5n[R"U5nUR	5 U"5nURURSSS5 URURSSS5 g![R[4aBn[U5(d(URU<S[USS5<35 SnAgSnAgSnAff=f)	Nrrkrrlz@<class 'Exception'>:method "this_is_not_exists" is not supportedrxr�r�)r'r�rr��this_is_not_existsr+�resultsrWr�rPryrz)r,rr�r@rNs     r/�test_non_existing_multicall�0SimpleServerTestCase.test_non_existing_multicall�s���	E��%�%�c�*�A�!�+�+�A�.�I��(�(�*��[�F�
���V�^�^�A�.�{�;�Q�?����V�^�^�A�.�}�=�#�
$���'�'��1�	E�+�A�.�.��	�	�a���I�r�)B�C�D�D�/��	E�s�BB�C*�(3C%�%C*c���UR[[RR[
S5 UR
[RR	[
S55 UR5 grq)rjrtr�r
rurMr�r|rls r/rv�*SimpleServerTestCase.test_dotted_attribute�sQ�����.� �-�-�@�@�#�w�	P�	
����
�
�>�>�s�G�L�M�	
���r2c��[R"S[[4-5nURR5nUR
US5 g)N�http://%s:%d/RPC2r�)r'r�rr
r�r�r+)r,r
r�s   r/�test_allow_dotted_names_true�1SimpleServerTestCase.test_allow_dotted_names_true�s>���&�&�':�d�D�\�'I�J���~�~�%�%�'������t�$r2c��[R"S[[4-5nUR	URSS5S5 g)Nr�r��éuaé)r'r�rr
r+r�r,r
s  r/�test_unicode_host�&SimpleServerTestCase.test_unicode_host�s7���&�&�':�d�D�\�'I�J��������C��0�'�:r2c��[R"[R"[[
455nUR
S[S[
S3RS55 SSS5 g!,(df   g=f)Nz@POST /RPC2 HTTP/1.0
Content-Length: 100

bye HTTP/1.1
Host: �:z2
Accept-Encoding: identity
Content-Length: 0

r�)r�r�r
�create_connectionrr
�sendr�)r,r�s  r/�test_partial_post�&SimpleServerTestCase.test_partial_post�sb��
�
�
�� 8� 8�$��� F�
G�4��I�I�� $�f�A�d�V�,2�2�
39�&��/�
C�H�
G�
G�s�0A.�.
A<c��[R"[5nURSS5 UR	U"S5R
S5 SSS5 UR
W"S5R
S5 g!,(df   N1=f)Nrrq�	transportr5)r'r�rr�assertNotEqual�_connectionr+r�s  r/�test_context_manager�)SimpleServerTestCase.test_context_manager�sl��
�
"�
"�3�
'�6��J�J�q�!������{� 3� ?� ?� ,�
.�(�	
�����,�8�8�%�	'�	(�
'�s�5A;�;
B	c�
�[R"[5nURSS5 SSS5 URW"S5RS5 g!,(df   N1=f![Ra NJf=f)Nrr�r�r5)r'r�rrrer+r�r�s  r/�!test_context_manager_method_error�6SimpleServerTestCase.test_context_manager_method_error�sh��	��&�&�s�+�v��
�
�1�c�"�,�	
�����,�8�8�%�	'�	,�+�����	��	�s-�A+�A�A+�
A(�$A+�(A+�+B�BrWN)rXrYrZr[r|r�r�r�r�r�r�r`r��flags�optimizer�r�r�r�rvr�r�r�r�r�r\rWr2r/ruru(s���E�E�E�E�7�
E� 
E��S�Y�Y�/�/�1�4�@�B�
E�B�
E�E�E�"E�*�%�;�C�'�'r2ruc�.�\rSrSr\SSj5rSrSrg)�SimpleServerEncodingTestCasei�Nc��[XUS5 g)Nr�)r)rrrr�s    r/rh�'SimpleServerEncodingTestCase.threadFunc�s���C�n�m�Dr2c
�Z�SnSn[R"[5nURUR	X5X-5 g![R
[R4aBn[U5(d(URU<S[USS5<35 SnAgSnAgSnAff=f)Nr�r�rxr�r�r�rs     r/�test_server_encoding�1SimpleServerEncodingTestCase.test_server_encoding�s������
�	E��%�%�c�*�A����Q�U�U�<�<�)�6�
8���'�'����6�	E�+�A�.�.��	�	�a���I�r�)B�C�D�D�/��	E�s�=A�$B*�(3B%�%B*rWr5)rXrYrZr[r�rhr�r\rWr2r/r�r��s���E��E�Er2r�c���\rSrSr\"\5rSrSrSr	\
R"S5S5r\
R"S5S5r
\
R"S5S5r\
R"S5S	5r\
R"S5S
5r\
R"S5S5r\
R"S5S5r\
R"S5S
5r\
R"S5S5rSrg)�MultiPathServerTestCaseirc���[R"[S-5nURUR	SS5S5 UR[RURSS5 g)Nr7r�r�rw)r'r�rr+rrjrer�r,rs  r/�
test_path1�"MultiPathServerTestCase.test_path1sL���!�!�#�f�*�-��������q���T�*����)�/�/�1�5�5�!�Q�7r2c���[R"[S-5nURUR	SS5S5 UR[RURSS5 g)Nr8r�r��)r'r�rr+rrjrerr�s  r/�
test_path2�"MultiPathServerTestCase.test_path2sL���!�!�#�j�.�1��������q���S�)����)�/�/�1�5�5�!�Q�7r2�walltimec��[R"[S-5nUR[RUR
SS5 g)NrDr�r��r'r�rrjrerr�s  r/�
test_path3�"MultiPathServerTestCase.test_path3s3���!�!�#�l�"2�3�����)�/�/�1�5�5�!�Q�7r2c��[R"[S-5nUR[RUR
SS5 g)Nz/invalidr�r�r�r�s  r/�test_invalid_path�)MultiPathServerTestCase.test_invalid_paths2���!�!�#�j�.�1�����)�/�/�1�5�5�!�Q�7r2c�~�[R"[S-5nURUR	5S5 g)Nr;�r'r�rr+rBr�s  r/�test_path_query_fragment�0MultiPathServerTestCase.test_path_query_fragments-���!�!�#�o�"5�6���������?�3r2c�~�[R"[S-5nURUR	5S5 g)Nr:r�r�s  r/�test_path_fragment�*MultiPathServerTestCase.test_path_fragments,���!�!�#�k�/�2���������;�/r2c�~�[R"[S-5nURUR	5S5 g)Nr9r�r�s  r/�test_path_query�'MultiPathServerTestCase.test_path_query$s,���!�!�#�j�.�1���������:�.r2c�x�[R"[5nURUR	5S5 g)Nr=r�r�s  r/�test_empty_path�'MultiPathServerTestCase.test_empty_path)s(���!�!�#�&���������7�+r2c�~�[R"[S-5nURUR	5S5 g)Nr<r�r�s  r/�test_root_path�&MultiPathServerTestCase.test_root_path.s,���!�!�#��)�,���������3�'r2c�~�[R"[S-5nURUR	5S5 g)Nr>r�r�s  r/�test_empty_path_query�-MultiPathServerTestCase.test_empty_path_query3s,���!�!�#��,�/���������6�*r2c�~�[R"[S-5nURUR	5S5 g)Nr?r�r�s  r/�test_empty_path_fragment�0MultiPathServerTestCase.test_empty_path_fragment8s,���!�!�#��-�0���������7�+r2rWN)rXrYrZr[r�rIrhrgr�r�r�requires_resourcer�r�r�r�r�r�rrrr\rWr2r/r�r�s3���/�0�J��M�8�
8�

���z�*�8�+�8�
���z�*�8�+�8�
���z�*�4�+�4�
���z�*�0�+�0�
���z�*�/�+�/�
���z�*�,�+�,�
���z�*�(�+�(�
���z�*�+�+�+�
���z�*�,�+�,r2r�c�\�\rSrSr"SS\R
R5r\rSr	Sr
g)�BaseKeepaliveServerTestCasei@c�T�\rSrSr\R
RrSr/r	Sr
SrSrg)�*BaseKeepaliveServerTestCase.RequestHandleriCr�c��URR/5 [UR5S-
UlURRU5$r	)�
myRequestsryr��reqidx�parentClass�handlerls r/r�1BaseKeepaliveServerTestCase.RequestHandler.handleGs@���O�O�"�"�2�&��d�o�o�.�q�0�D�K��#�#�*�*�4�0�0r2c��URRU5nURURR	UR
5 U$r�)r�handle_one_requestrrry�raw_requestline)r,r@s  r/r�=BaseKeepaliveServerTestCase.RequestHandler.handle_one_requestKs>���%�%�8�8��>�F��O�O�D�K�K�(�/�/��0D�0D�E��Mr2)rN)
rXrYrZr[r�r
r	rrrrrr\rWr2r/rrCs&���m�m�>�>��%���
�	1�	r2rc�N�/URl[RU5$r�)rrrbrmrls r/rm�!BaseKeepaliveServerTestCase.setUpQs!��)+����&�!�'�'��-�-r2rWN)rXrYrZr[r�r
r	rrrmr\rWr2r/rr@s$������A�A��$�N�.r2rc��\rSrSrSrSrg)�KeepaliveServerTestCase1iXc���[R"[5nURUR	SS5S5 URUR	SS5S5 URUR	SS5S5 U"S5"5 UR[URR5S5 UR[URRS5S5 g)Nr�r�rwrrrr�	r'r�rr+rr�rr�assertGreaterEqualr�s  r/�test_two�!KeepaliveServerTestCase1.test_twoYs����!�!�#�&��������q���T�*�������q���T�*�������q���T�*�	�'�
��	
����T�0�0�;�;�<�a�@�	
����D�$7�$7�$B�$B�2�$F� G��Kr2rWN)rXrYrZr[r r\rWr2r/rrXs��
Lr2rc�$�\rSrSrSrSrSrSrg)�KeepaliveServerTestCase2ikrc�*�[R"[5nURUR	SS5S5 URUR	SS5S5 URUR	SS5S5 U"S5"5 URUR	SS5S5 URUR	SS5S5 URUR	SS5S5 U"S5"5 UR[URR5S5 UR[URRS5S5 UR[URRS5S5 g)Nr�r�rwrrr���rr�s  r/�
test_close�#KeepaliveServerTestCase2.test_closeos/���!�!�#�&��������q���T�*�������q���T�*�������q���T�*�	�'�
��������q���T�*�������q���T�*�������q���T�*�	�'�
��	
����T�0�0�;�;�<�a�@�����D�$7�$7�$B�$B�2�$F� G��K�����D�$7�$7�$B�$B�2�$F� G��Kr2c�d�[R"[5nURUR	SS5S5 U"S5R5 URUR	SS5S5 U"S5"5 UR[
URR5S5 g)Nr�r�rwr�rr)	r'r�rr+rrr�rrr�s  r/�test_transport�'KeepaliveServerTestCase2.test_transport�s����!�!�#�&��������q���T�*�	�+�����������q���T�*�	�'�
������T�0�0�;�;�<�a�@r2rWN)rXrYrZr[rgr&r)r\rWr2r/r#r#ks���M�L�&Ar2r#z
requires gzipc��\rSrSr"SS\R
R5r\r"SS\	R5r
SrSrSr
S	rS
rg)�GzipServerTestCasei�c�J�\rSrSr\R
RrSrSr	Sr
g)�!GzipServerTestCase.RequestHandleri�r�c��[URS5URlURRU5$)N�content-length)r�r��	__class__�content_lengthrr�rls r/r��)GzipServerTestCase.RequestHandler.do_POST�s4��,/����=M�0N�,O�D�N�N�)��#�#�+�+�D�1�1r2rWN)rXrYrZr[r�r
r	rrr�r\rWr2r/rr.�s���m�m�>�>��%��	2r2rc�$�\rSrSrSrSrSrSrg)�GzipServerTestCase.Transporti�Fc��[URSS55Ul[RRX5$)Nr0r)r��	getheader�response_lengthr'r��parse_response)r,r�s  r/r9�+GzipServerTestCase.Transport.parse_response�s4��!$�X�%7�%7�8H�!�%L�!M�D� ��&�&�5�5�d�E�Er2c��UR(aURSS5 [RR	XU5$)NzContent-Encoding�gzip)�	fake_gzip�	putheaderr'r��send_content)r,�
connection�bodys   r/r?�)GzipServerTestCase.Transport.send_content�s3���~�~��$�$�%7��@��&�&�3�3�D�d�K�Kr2)r8N)rXrYrZr[r=r9r?r\rWr2r/r�r5�s���	�	F�	Lr2r�c�.�[RU5 gr�)rbrmrls r/rm�GzipServerTestCase.setUp�s��� � ��&r2c��UR5nSUl[R"[US9nURUR
SS5S5 URRnSUlURUR
SS5S5 URRnURX4:�5 U"S5"5 g�N�r�r�r�rwrr)
r��encode_thresholdr'r�rr+rrr2r�)r,rdrr�r�s     r/�test_gzip_request�$GzipServerTestCase.test_gzip_request�s����N�N���!����!�!�#��3��������q���T�*����.�.�����������q���T�*����.�.��������	�'�
�r2c�P�UR5nSUlSUl[R"[
US9nUR
[R[R"S55nU URSS5 SSS5 U"S5"5 g!,(df   N=f)NTrGz\b400\br�r�r)r�rHr=r'r�rrPrW�re�compiler)r,rdr�cms    r/�test_bad_gzip_request�(GzipServerTestCase.test_bad_gzip_request�sy���N�N���!�������!�!�#��3��
�
#�
#�I�$;�$;�$&�J�J�z�$:�<��
�
�E�E�!�Q�K��	�'�
���R�s�.B�
B%c���UR5n[R"[US9nURR
nSURlUR
URSS5S5 URnSURlUR
URSS5S5 U"S5"5 URnX0RlURXE:�5 grF)
r�r'r�rrrHr+rr8r�)r,rdr�oldr�r�s      r/�test_gzip_response�%GzipServerTestCase.test_gzip_response�s����N�N����!�!�#��3���!�!�2�2��/3����,�������q���T�*�
����/0����,�������q���T�*�	�'�
��
����/2���,������r2rWN)rXrYrZr[r�r
r	rrr'r�rmrIrOrSr\rWr2r/r,r,�sG��2����A�A�2�$�N�L�I�'�'�L�'�
�	�r2r,c��\rSrSrSrSrg)�GzipUtilTestCasei�c��SnSU-n[R"U5n[R"U5nUR[	U5U5 SUS--n[R"U5nUR[S5 [R"U5 SSS5 [R"USS9 g!,(df   N$=f)Ni@�rz#max gzipped payload length exceededr)�
max_decode)r'�gzip_encode�gzip_decoder+r�rPr�)r,�max_gzip_decoder��encoded�decodeds     r/�test_gzip_decode_limit�'GzipUtilTestCase.test_gzip_decode_limit�s���*����&���'�'��-���'�'��0������W���7���!�+�,���'�'��-��
�
#�
#�J�$I�K��!�!�'�*�K�	���g�"�5�	K�K�s�B8�8
CrWN)rXrYrZr[r_r\rWr2r/rVrV�s��6r2rVc�^�\rSrSr"SS\R
R5r\r/SQr	U4Sjr
SrSrSr
S	rS
rSrSrU=r$)
�HeadersServerTestCasei�c�,^�\rSrSrSrU4SjrSrU=r$)�$HeadersServerTestCase.RequestHandleri�Nc�V>�URURl[TU]5$r�)r�r1�test_headers�superr��r,r1s �r/r��,HeadersServerTestCase.RequestHandler.do_POST�s ���*.�,�,�D�N�N�'��7�?�$�$r2rW)rXrYrZr[rfr�r\�
__classcell__�r1s@r/rrd�s�����	%�	%r2r)�HostzAccept-EncodingzContent-Typez
User-Agentr�c�B>�SURl[TU]
5$r�)rrfrgrmrhs �r/rm�HeadersServerTestCase.setUp�s���+/����(��w�}��r2c�(�[UR[UR55-5nUR	[UR55U5 UR5H&upEUR
URU5U5 M( gr�)�sorted�standard_headers�list�keys�assertListEqual�itemsr+r�)r,r��
additional�
expected_keys�keyrLs      r/�assertContainsAdditionalHeaders�5HeadersServerTestCase.assertContainsAdditionalHeaders�sl���t�4�4�t�J�O�O�<M�7N�N�O�
����V�G�L�L�N�3�]�C�$�*�*�,�J�C����W�[�[��-�u�5�-r2c���[R"[S/S9nURUR	SS5S5 UR
RnURUSS05 g)N��X-Test�foo�r�r�r�rwr}r~�r'r�rr+rrrfry�r,rr�s   r/�test_header�!HeadersServerTestCase.test_header�sX���!�!�#�0A�/B�C��������q�!��d�+��%�%�2�2���,�,�W�x��6G�Hr2c���[R"[SS/S9nURUR	SS5S5 UR
RnURUSSS	.5 g)
Nr|)�
X-Test-Second�barrr�r�rwr~r�)r}r�r�r�s   r/�test_header_many�&HeadersServerTestCase.test_header_manysc���!�!��+�-E�F�
H��������q�!��d�+��%�%�2�2���,�,����>�	@r2c���[R"[/S9nURUR	SS5S5 UR
RnURU05 g)Nrr�r�rwr�r�s   r/�test_header_empty�'HeadersServerTestCase.test_header_emptysO���!�!�#�r�2��������q�!��d�+��%�%�2�2���,�,�W�b�9r2c���[R"[SS9nURUR	SS5S5 UR
RnURUSS05 g)N)r|rr�r�rwr}r~r�r�s   r/�test_header_tuple�'HeadersServerTestCase.test_header_tuplesU���!�!�#�/C�D��������q�!��d�+��%�%�2�2���,�,�W�x��6G�Hr2c���[R"[SS0R5S9nUR	URSS5S5 URRnURUSS05 g)Nr}r~rr�r�rw)	r'r�rrur+rrrfryr�s   r/�test_header_items�'HeadersServerTestCase.test_header_itemssb���!�!�#��%�/@�/F�/F�/H�I��������q�!��d�+��%�%�2�2���,�,�W�x��6G�Hr2rW)rXrYrZr[r�r
r	rrrqrmryr�r�r�r�r�r\rjrks@r/rbrb�sU���%����A�A�%�$�N����6�I�@�:�I�I�Ir2rbc�&�\rSrSrSrSrSrSrg)�ServerProxyTestCasei#c�P�[RRU5 SUlg)Nzhttp://fake.localhost)rX�TestCasermrrls r/rm�ServerProxyTestCase.setUp$s��������%�+��r2c�~�[R"UR5nURU"S5"5S5 g)Nr)r'r�rr+r�s  r/r&�ServerProxyTestCase.test_close*s,���!�!�$�(�(�+������7���t�,r2c��[R"5n[R"URUS9nUR	U"S5U5 g)NrGr�)r'r�r�rr+)r,rdrs   r/r)�"ServerProxyTestCase.test_transport.s:�����!���!�!�$�(�(�a�8������;���+r2)rN)rXrYrZr[rmr&r)r\rWr2r/r�r�#s��+�-�,r2r�c�,^�\rSrSrSU4SjjrSrU=r$)�FailingMessageClassi6c�P>�UR5nUS:Xag[TU]	X5$)Nr0zI am broken)rMrgr�)r,rx�failobjr1s   �r/r��FailingMessageClass.get7s)����i�i�k���"�"� ��w�{�3�(�(r2rWr�)rXrYrZr[r�r\rjrks@r/r�r�6s
���)�)r2r�c�2�\rSrSrSrSrSrSrSrSr	g)	�FailingServerTestCasei>c�D�[R"5UlURS4n[R"[US9nUR5 UR
UR5 URR5 URR5 g)Nrrd)
rrfrrrrrrrirjrks   r/rm�FailingServerTestCase.setUp?se���?�?�$����X�X�q�M�	��!�!��9�E������������$�	
���
�
�������r2c���URR5 S[RRl[RRnU[RRl
grp)rrir�r
rrer�r��HTTPMessager	�MessageClass)r,�
default_classs  r/rq�FailingServerTestCase.tearDownKsB�����
�
��BG��
�
�(�(�?����/�/�
�@M��
�
�0�0�=r2c
���[RRRnUR	US5 S[RRl[
R"[5nUR	URSS5S5 g![
R[4aBn[U5(d(URU<S[USS5<35 SnAgSnAgSnAff=f)	NFTr�r�rwrxr�r�)r�r
rrer+r'r�rrrWr�rPryrz)r,�flagvalrrNs    r/�
test_basic� FailingServerTestCase.test_basicTs����-�-�2�2�I�I������%�(�CG��
�
�(�(�?�	E��%�%�c�*�A����Q�U�U�1�Q�Z��.���'�'��1�	E�+�A�.�.��	�	�a���I�r�)B�C�D�D�/��	E�s�<B�C0�.3C+�+C0c��[[RRl[
R"[5nURSS5 URS5 g![
R[4a�n[U5(ds[US5(a]URURR!S5SL5 URURR!S5SL5 SnAgSnAgSnAgSnAff=f)Nr�r��ProtocolError not raisedr�rK�X-traceback)r�r�r
r	r�r'r�rrryrWr�rP�hasattrr�r�r�r{s   r/�test_fail_no_info�'FailingServerTestCase.test_fail_no_infofs���@S��
�
�0�0�=�
	2��%�%�c�*�A�
�E�E�!�A�J�
�I�I�0�1���'�'��1�	F�+�A�.�.�7�1�i�3H�3H�����	�	�
�
�m� <�� D�E�����	�	�
�
�m� <�� D�E�E�4I�.��	F�s�,A#�#D
�=A9D�D
c�Z�[[RRlS[RR
l[R"[5nURSS5 URS5 g![R[4a�n[U5(dt[US5(a^SnUR!UR"R%S5U5 UR'UR"R%S5SL5 SnAgSnAgSnAgSnAff=f)	NTr�r�r�r�z5invalid literal for int() with base 10: 'I am broken'rKr�)r�r�r
r	r�rrer'r�rrryrWr�rPr�r+r�r�r�)r,rrN�expected_errs    r/�test_fail_with_info�)FailingServerTestCase.test_fail_with_infovs���@S��
�
�0�0�=�CG��
�
�(�(�?�	2��%�%�c�*�A�
�E�E�!�A�J�
�I�I�0�1���'�'��1�	J�+�A�.�.�7�1�i�3H�3H�V��� � ������}�!=�|�L�����	�	�
�
�m� <�D� H�I�I�	4I�.��	J�s�,B�D*�A:D%�%D*rsN)
rXrYrZr[rmrqr�r�r�r\rWr2r/r�r�>s��
�N�E�$2� 2r2r�c#��# �[Rn[R"[R"5US9[l[Rv� U[lg!U[lf=f7f)z`A variation on support.captured_stdout() which gives a text stream
having a `buffer` attribute.
r�N)r��stdout�io�
TextIOWrapper�BytesIO)r��orig_stdouts  r/�captured_stdoutr��sG���
�*�*�K��!�!�"�*�*�,��B�C�J�!��j�j�� ��
��[��
�s�AA3�A#�A3�#
A0�0A3c�,�\rSrSrSrSrSrSrSrg)�CGIHandlerTestCasei�c�J�[RR5Ulgr�)r�r
�CGIXMLRPCRequestHandler�cgirls r/rm�CGIHandlerTestCase.setUp�s���=�=�8�8�:��r2c��SUlgr��r�rls r/rq�CGIHandlerTestCase.tearDown�s	����r2c��[R"5nSUS'[URRS9nURR5 SSS5 WR
S5 UR5nUR5SnSRUR5SS5nURUS	5 URUS
5 SSS5 g!,(df   N�=f!,(df   g=f)N�GET�REQUEST_METHODr�rr� rrw�400zBad Request)r�EnvironmentVarGuardr�r�r�r�seekr��splitrr+)r,�env�data_outrr��messages      r/�test_cgi_get�CGIHandlerTestCase.test_cgi_get�s���
�
*�
*�
,��$)�C� �!�!�$�(�(�*;�*;�<�����'�'�)�=�
�M�M�!���]�]�_�F��\�\�^�A�&�F��h�h�v�|�|�~�a��2�3�G����V�U�+����W�m�4�-�
,�=�<��	-�
,�s#�#C0�C�BC0�
C-	�)C0�0
C>c�4�Sn[R"5n[URRS9n[
R"5nURU5 URS5 [[U55US'URR5 SSS5 SSS5 SSS5 WRS5 UR5nUR[R[R USS5 XUR#S5SnUR%['[(R*"SU5R-S55[U55 g!,(df   N�=f!,(df   N�=f!,(df   N�=f)	Naw<?xml version='1.0'?>
        <methodCall>
            <methodName>test_method</methodName>
            <params>
                <param>
                    <value><string>foo</string></value>
                </param>
                <param>
                    <value><string>bar</string></value>
                </param>
            </params>
        </methodCall>
        r�r�CONTENT_LENGTH�,z<?xmlzContent-Length: (\d+)r)rr�r�r�r�r�captured_stdinr�r�rMr�rr�rjr'rer*�findr+r�rL�search�group)r,r�r�r��data_inr�contents       r/�test_cgi_xmlrpc_response�+CGIHandlerTestCase.test_cgi_xmlrpc_response�s&�����
*�
*�
,��
�d�h�h�&7�&7�
8�H�
�
#�
#�
%���M�M�$���L�L��O�$'��D�	�N�C� �!��H�H�#�#�%�	&�9�-�	�
�
�a�������	
���)�/�/�9�?�?�F�2�3�K�H����W�-�.�/�������	�	�2�F�;�A�A�!�D�E���L�	�+&�
%��9�
8��-�
,�s;�F	�E8�AE'� E8�(F	�'
E5�1E8�8
F	�F	�	
Fr�N)	rXrYrZr[rmrqr�r�r\rWr2r/r�r��s��;��5�$(r2r�c�&�\rSrSrSrSrSrSrg)�UseBuiltinTypesTestCasei�c�<^�/TlSn[R"SSSSSS5n[R"X4S5nU4S	jn[R
R
S
SS
S9nURU5 URU5 TR[TR5S5 TRupgTRTRX/5 TR[U5[R5 TR[U5[5 g)
Nr
i�rx���r��foobarc�<>�TRRU5 gr�)�log�extend)rr,s �r/r��>UseBuiltinTypesTestCase.test_use_builtin_types.<locals>.foobar�s����H�H�O�O�D�!r2T)r�r�r5r)r�r8r'r(r�r
r,r-r3r+r�r:r;r�)r,�expected_bytes�
expected_date�	marshaledr��handler�mybytes�mydates`       r/�test_use_builtin_types�.UseBuiltinTypesTestCase.test_use_builtin_types�s�������,�� �)�)�$��2�r�2�r�B�
��O�O�^�$C�X�N�	�	"��-�-�6�6��d�d�7�D���!�!�&�)��#�#�I�.�����T�X�X���*��(�(���������N�#B�C��
�
�d�6�l�H�$5�$5�6��
�
�d�7�m�U�+r2c�t�[RRSS9nURUR5 g)NTr4)r�r
r�r�r5)r,r�s  r/�*test_cgihandler_has_use_builtin_types_flag�BUseBuiltinTypesTestCase.test_cgihandler_has_use_builtin_types_flag�s+���-�-�7�7�$�7�O������1�1�2r2c��[RRSSS9nUR5 UR	UR
5 g)Nr�Tr4)r�r
rrr�r5r�s  r/�,test_xmlrpcserver_has_use_builtin_types_flag�DUseBuiltinTypesTestCase.test_xmlrpcserver_has_use_builtin_types_flag�s?�����1�1�2B�"�2�$����������0�0�1r2)r�N)rXrYrZr[r�r�r�r\rWr2r/r�r��s��,�(3�2r2r�c�x�[R"5n[R"[R/UQ76 gr�)r�threading_setuprX�addModuleCleanup�threading_cleanup)�thread_infos r/�setUpModuler��s*��"�2�2�4�K����.�@�@�O�;�Or2�__main__r5r�)zutf-8)Hr�r8r�r�r�rXr�
xmlrpc.clientr�r'�
xmlrpc.serverr��http.clientr��http.serverr
rrLr�r�rBr�test.supportrrrrr	r
r<r��requires_working_socketr�r�r9r)r�r$r"r\rbryr�rr
rrrIrPr`rbrur�r�rrr#�skipIfr,rVrbr�r�r�r��contextmanagerr�r�r�r�rX�mainrWr2r/�<module>rs��
���
����!����
��	�	���"�&�)�5�5������t�,�'����#���%�%�&9�:�)�#�$7�8��)�'� �)�)�*=�>� �)�)�;�=� �)�)� �)�)�$��2�r�2�r�B�D�
�	
��$x,�X�&�&�x,�v	T7�X�%6�%6�T7�n<�X�&�&�<�N�H�%�%�N�.b+�x�(�(�b+�J5�X�&�&�5�6����t�c�
>�@D�P�"� H��*�*�H�6D'�-�D'�NE�#5�E�(8,�0�8,�z.�"4�.�0L�:�L�&A�:�A�D
�������/�@�+�@�0�@�F
�������/�6�x�(�(�6�0�6�&:I�.�:I�|,�(�+�+�,�&)�$�+�+�1�1�)�K2�H�-�-�K2�\���	!��	!�A��*�*�A�H2�h�/�/�2�BP�
�z���M�M�O���U/���D��s�,K�K#�"K#

Youez - 2016 - github.com/yon3zu
LinuXploit