HEX
Server: Microsoft-IIS/10.0
System: Windows NT ITPWINWEBSVR22 10.0 build 20348 (Windows Server 2022) AMD64
User: www.conferencesearch.co.uk (0)
PHP: 8.3.30
Disabled: NONE
Upload Files
File: D:/Python311/Lib/test/support/__pycache__/__init__.cpython-311.opt-2.pyc
�

��Vc�.��L�	edkred���ddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlmZ	ddlmZn
#e$rdZYnwxYwgd�ZdZejd	krd
ejvrdZn
ejdkrdZd
ZdZdZej�ej�e����Zej�e��Zej�e��Zej�e��Z Gd�de!��Z"Gd�de"��Z#Gd�de#��Z$Gd�de"��Z%Gd�dej&��Z'd�Z(d�Z)d�Z*dZ+dZ,da-da.dZ/dZ0da1d�Z2d�Z3d �Z4d!�Z5d"�Z6d�d#�Z7d$�Z8d%�Z9d&�Z:d'�Z;d�d(�Z<dddd)�d*�Z=d�dddd)�d+�Z>d,�Z?d-Z@d.ZAejBeC�Dd/���Ed0��d1��ZFd�d3�ZGd�d5�ZHd�d7�ZId�d9�ZJd:�ZKd�d<�ZLejBed=��ZMej�Ed>��ZNeOed?��ZPejd@vrePrdAndBZQndZQejdCkZRejdDkZSeOedE��oeRoeSZTdF�ZUeRoeSZVdG�ZWeRoeSZXddH�dI�ZYdZZejd	kr!	e
j[dJ��dJkZZn#e\$rYnwxYwdKZ]dZ^dZ_ej�`edL��ZadM�Zbd�dN�ZcdO�Zdd�dddQ�dR�ZedS�ZfejgdT���ZhdU�ZidV�ZjdW�ZkdX�ZlejgdY���ZmdZ�Znd[Zod\ZpeOed]��rd^eozZod_Zpeod`zZqda�Zrdb�ZsdcZtddZude�Zvejgdf���Zwdg�ZxdhZydieyzZzdjezzZ{dkezzZ|ej}Z~dl�ZGdm�dn��Z�d�dp�Z�dq�Z�Gdr�ds��Z�dt�Z�du�Z�dv�Z�d�dw�Z�dx�Z�dy�Z�dz�Z�d{�Z�d|�Z�d}�Z�da�da�da�d~�Z�d�Z�d�d��Z�d��Z�d��Z�d��Z�e���oejd	koe	j�d���Z�e�j�duoe�Z�ejBe�d���Z�d�d��Z�d��Z�d��Z�ej�e�_�da�d��Z�ejgd����Z�ejgd����Z�d��Z�d��Z�Gd��d�e���Z�da�d��Z�Gd��d���Z�d��Z�d�d��d��Z�		d�d��Z�d�d��Z�Gd��d���Z�d��Z�ejgd����Z�d��Z�d�d��Z�gfd��Z�da�d��Z�ejgd����Z�Gd��d���Z�d��Z�Gd��d���Z�e���Z�Gd��d���Z�e���Z�ej�Gd��d�����Z�e���Z�ej�Gd��d�����Z�e¦�Z�d��Z�ej�j�Z�d��Z�Gd��d���Z�dd��d��Z�d��Z�d��Z�ejgd�d����Z�d�e�d�e�d�e�fd��Z�d�e�d�dfd��Z�d��Z�ejgd����Z�dS)�ztest.supportz.support must be imported from the test package�N�)�get_test_runner)�unicode_legacy_string)K�
PIPE_MAX_SIZE�verbose�
max_memuse�
use_resources�failfast�Error�
TestFailed�
TestDidNotRun�ResourceDenied�record_original_stdout�get_original_stdout�captured_stdout�captured_stdin�captured_stderr�is_resource_enabled�requires�requires_freebsd_version�requires_linux_version�requires_mac_ver�check_syntax_error�BasicTestRunner�run_unittest�run_doctest�
requires_gzip�requires_bz2�
requires_lzma�
bigmemtest�bigaddrspacetest�cpython_only�
get_attribute�requires_IEEE_754�
requires_zlib�has_fork_support�
requires_fork�has_subprocess_support�requires_subprocess�has_socket_support�requires_working_socket�anticipate_failure�load_package_tests�detect_api_mismatch�check__all__�skip_if_buggy_ucrt_strfptime�check_disallow_instantiation�check_sanitizer�skip_if_sanitizer�	is_jython�
is_android�
is_emscripten�is_wasi�check_impl_detail�
unix_shell�setswitchinterval�open_urlresource�
reap_children�run_with_locale�	swap_item�findfile�infinite_recursion�	swap_attr�Matcher�set_memlimit�SuppressCrashReport�sortdict�run_with_tz�PGO�missing_compiler_executable�	ALWAYS_EQ�NEVER_EQ�LARGEST�SMALLEST�LOOPBACK_TIMEOUT�INTERNET_TIMEOUT�
SHORT_TIMEOUT�LONG_TIMEOUTg@�win32z
 32 bit (ARM)�
�vxworksgN@g>@g�r@c��eZdZdS)rN��__name__�
__module__�__qualname__���)D:\Python311\Lib\test\support\__init__.pyrrrs������4�4rZrc��eZdZdS)rNrUrYrZr[rrus�������rZrc�&��eZdZ	�fd�Zd�Z�xZS)�TestFailedWithDetailsc�x��||_||_||_t���|||��dS�N)�msg�errors�failures�super�__init__)�selfrarbrc�	__class__s    �r[rezTestFailedWithDetails.__init__zs:��������� ��
�
������f�h�/�/�/�/�/rZc��|jSr`)ra�rfs r[�__str__zTestFailedWithDetails.__str__�s	���x�rZ)rVrWrXrerj�
__classcell__)rgs@r[r^r^xsJ��������0�0�0�0�0�������rZr^c��eZdZdS)r
NrUrYrZr[r
r
�s������(�(rZr
c��eZdZdS)rNrUrYrZr[rr�s�������rZrc�&�	|rtjSd�S)Nc��|Sr`rY)�fs r[�<lambda>z$anticipate_failure.<locals>.<lambda>�s��Q�rZ)�unittest�expectedFailure)�	conditions r[r,r,�s"���
�(��'�'��;�rZc�x�	|�d}t}|�|||���}|�|��|S)Nztest*)�	start_dir�
top_level_dir�pattern)�
STDLIB_DIR�discover�addTests)�pkg_dir�loader�standard_testsrx�top_dir�
package_testss      r[r-r-�sW��������G��O�O�g�29�,3�$�5�5�M����M�*�*�*��rZc�z�		t||��}|S#t$rtjd|�d|�����wxYw)Nzobject z has no attribute )�getattr�AttributeErrorrr�SkipTest)�obj�name�	attributes   r[r#r#�sa��I���C��&�&�	�����O�O�O����3�3�3��� M�N�N�N�O���s��%:Fc�
�|adSr`)�_original_stdout)�stdouts r[rr�s�����rZc�(�tptjSr`)r��sysr�rYrZr[rr�s���)�s�z�)rZc�v�	||�S#t$r/}tdkrt|jj�d|�����d}~wt
$rp}tdkr7t|jj�d|����td|j�|����t
j|tj	��||�cYd}~Sd}~wwxYw)N�z: zre-run )
�FileNotFoundErrorr�printrgrV�OSError�os�chmod�stat�S_IRWXU)�path�func�args�errs    r[�
_force_runr��s�����t�T�{��������a�<�	<��c�m�4�4�4�c�c�:�;�;�;�
����������a�<�	9��c�m�4�4�4�c�c�:�;�;�;��E�4�=�=�$�$�7�8�8�8�
���t�|�$�$�$��t�T�{��������������s%��
B8�*;�
B8�A%B3�-B8�3B8c	�&���ttd��rtjSddl}d}tj�d��r|���rd}�n�tj�d��r�ddl�ddl�d}d}G�fd�d�j	��}�j
j}|���}|s��
���|��}�j���}|�||��|����|����|����}	|	s��
���t'|j|z��sd}n�tjd	kr�dd
lm}
m�m}m	}ddlm}
|
�|
d����}|���dkrd
}nYG�fd�d|��}|��}||��}|�|��dks|�|��dkrd}|s�	ddlm}|��}|� ��|�!��|�"��nn#tF$ra}tI|��}tK|��dkr
|dd�dz}d�&tO|��j(|��}Yd}~nd}~wwxYw|t_)|t_tjS)N�resultr�winz(gui is not available on Windows IoT Corerc�b��eZdZd�jjfd�jjfd�jjfgZdS)�*_is_gui_available.<locals>.USEROBJECTFLAGS�fInherit�	fReserved�dwFlagsN)rVrWrX�wintypes�BOOL�DWORD�_fields_)�ctypess�r[�USEROBJECTFLAGSr��s=�������#�V�_�%9�:�$�f�o�&:�;�"�F�O�$9�:�<�H�H�HrZr�z,gui not available (WSF_VISIBLE flag not set)�darwin)�cdll�c_int�pointer�	Structure)�find_library�ApplicationServicesz0gui tests cannot run without OS X window managerc� ��eZdZd�fd�fgZdS)�._is_gui_available.<locals>.ProcessSerialNumber�
highLongOfPSN�lowLongOfPSNN)rVrWrXr�)r�s�r[�ProcessSerialNumberr�s&�������,�e�4�+�U�3�5���rZr�z#cannot run without OS X gui process)�Tk�2z [...]zTk unavailable due to {}: {})*�hasattr�_is_gui_availabler��platformr��
startswith�win32_is_iotr��ctypes.wintypesr��windll�user32�GetProcessWindowStation�WinErrorr�r��GetUserObjectInformationW�byref�sizeof�boolr�r�r�r��ctypes.utilr��LoadLibrary�CGMainDisplayID�GetCurrentProcess�SetFrontProcess�tkinterr��withdraw�update�destroy�	Exception�str�len�format�typerV�reason)r�r��	UOI_FLAGS�WSF_VISIBLEr��dll�h�uof�needed�resr�r�r�r��app_servicesr��psn�psn_pr��root�e�
err_stringr�r�s                      @@r[r�r��s������ �(�+�+�(� �'�'��O�O�O�
�F�
�|���u�%�%�2?�(�*?�*?�*A�*A�2?�;���	��	 �	 ��	'�	'�0?�	�
�
�
������	���	<�	<�	<�	<�	<�	<�	<�f�.�	<�	<�	<��m�"���'�'�)�)���	$��/�/�#�#�#��o������&�&�(�(���+�+�A���L�L�����M�M�#����L�L�� � �	"�"��
�	$��/�/�#�#�#��C�K�+�-�.�.�	D�C�F��	���	!�?�	;�:�:�:�:�:�:�:�:�:�:�:�,�,�,�,�,�,��'�'���5J�(K�(K�L�L���'�'�)�)�Q�.�
	?�G�F�F�
5�
5�
5�
5�
5�
5�
5�i�
5�
5�
5�&�%�'�'�C��G�C�L�L�E��1�1�%�8�8�1�<�
?��/�/��6�6��:�
?�>���G�	G�"�"�"�"�"�"��2�4�4�D��M�M�O�O�O��K�K�M�M�M��L�L�N�N�N�N���	G�	G�	G��Q���J��:����#�
8�'����_�x�7�
�3�:�:�4��7�7�;K�;E�G�G�F�F�F�F�F�F�����		G���� &���#)�z����#�#s�3AJ�
K+�
AK&�&K+c�(�	tdup|tvSr`)r	��resources r[rr%s���
�D� �=�H�
�$=�=rZc���	t|��s|�d|z}t|���|dvrtstd���|dkr't��sttj���dSdS)Nz"Use of the %r resource not enabled>�network�urlfetchzNo socket support�gui)rrr*r�r�)r�ras  r[rr-s���J��x�(�(�"��	B�6��A�C��S�!�!�!��*�*�2�3E�2��0�1�1�1��5��7�!2�!4�!4�7��.�5�6�6�6�7�7�7�7rZc���	ddl}d�tt|����}|����dd��d}|���|krO	ttt|�d������}||k}n#t$rd}YnwxYwd}tj||�d|�d|����S)Nr�.�-rFz	 version � or higher required, not )r��join�mapr��release�split�system�tuple�int�
ValueErrorrr�skipIf)�sysname�min_versionr��min_version_txt�version_txt�version�skips       r[�_requires_unix_versionr�8s����O�O�O��h�h�s�3��4�4�5�5�O��"�"�$�$�*�*�3��2�2�1�5�K������G�#��	)��C��[�%6�%6�s�%;�%;�<�<�=�=�G��[�(�D�D���	�	�	��D�D�D�	����
���?���	�	�_�	�	��	�	���s�55B1�1C�?Cc�$�	td|��S)N�FreeBSD�r��r�s r[rrSs���"�)�[�9�9�9rZc�$�	td|��S)N�Linuxr�r�s r[rr\s���"�'�;�7�7�7rZc���	�fd�}|S)Nc�X���tj�����fd���}�|_|S)Nc���tjdkr�ddl}|���d}	tt	t
|�d������}|�krBd�t	t�����}tj
d|�d|�����n#t$rYnwxYw�|i|��S)Nr�rr�z	Mac OS X r�)r�r��mac_verr�r�r�r�r�r�rrr�r�)r��kwr�r�r�r�r�r�s      ��r[�wrapperz4requires_mac_ver.<locals>.decorator.<locals>.wrapperms�����|�x�'�
>�����&�.�.�0�0��3��	>�#�C��[�->�->�s�-C�-C�$D�$D�E�E�G���,�>�*-�(�(�3�s�K�3H�3H�*I�*I��&�/�/�.�����=�>�>�>�>��"�����D������4��$��$�$�$s�5B/�/
B<�;B<)�	functools�wrapsr�)r�rr�s` �r[�	decoratorz#requires_mac_ver.<locals>.decoratorlsF����	���	�	�	%�	%�	%�	%�	%�
�	�	%�*����rZrY)r�r
s` r[rres)���������&�rZc��	|sd}	tj�����dk}n>#ttf$r*}tjd|�d�t��d}Yd}~nd}~wwxYwtj	||��S)Nznot suitable for buildbots�buildbotzgetpass.getuser() failed r�F)
�getpass�getuser�lower�KeyError�EnvironmentError�warnings�warn�RuntimeWarningrrr�)r��
isbuildbotr�s   r[�skip_if_buildbotr�s���>��.�-����_�&�&�,�,�.�.�*�<�
�
���&�'�����
�8�#�8�8�8�.�I�I�I��
�
�
�
�
�
����������?�:�v�.�.�.s�)1�A,� A'�'A,��address�memory�ubc���	|s|s|std���tjd��pd}tjd��pd}d|vpd|v}d|vpd|v}d|vpd	|v}|r|p|o|p|o|S)
Nz3At least one of address, memory, or ub must be True�CFLAGS��CONFIG_ARGSz-fsanitize=memoryz--with-memory-sanitizerz-fsanitize=addressz-fsanitize=undefinedz#--with-undefined-behavior-sanitizer)r��	sysconfig�get_config_var)rrr�_cflags�_config_args�memory_sanitizer�address_sanitizer�ub_sanitizers        r[r2r2�s���C��P�v�P��P��N�O�O�O��&�x�0�0�6�B�G��+�M�:�:�@�b�L��w�&�	2�!�\�1��
	��'�	2�!�\�1��
	�'�)�	>�-��=��

�	$�$�	�	�	&�&�	�	�	��rZc�Z�	|sd}t|||���}tj||��S)Nz"not working with sanitizers activer)r2rrr�)r�rrrr�s     r[r3r3�s8��H��6�5���7�6�b�A�A�A�D��?�4��(�(�(rZc�H��	tj����fd���}|S)Nc���	�|i|��dS#t$r+}dt|��vrtjd����d}~wwxYw)N�CERTIFICATE_VERIFY_FAILEDz.system does not contain necessary certificates)r�r�rrr�)r��kwargsr�rps   �r[�decz&system_must_validate_cert.<locals>.dec�sw���	�
�A�t��v��������	�	�	�*�c�!�f�f�4�
B��'�)A�B�B�B������		���s�
�
A�&=�A)rr	)rpr+s` r[�system_must_validate_certr,�s;���?��_�Q�����������JrZi@i�double�IEEEztest requires IEEE 754 doubles�
requires zlibc�\�	ddl}n#t$rd}YnwxYwtj||��S�Nr)�zlib�ImportErrorrr�
skipUnless)r�r2s  r[r%r%��I�����������������������t�V�,�,�,�����
requires gzipc�\�	ddl}n#t$rd}YnwxYwtj||��Sr1)�gzipr3rrr4)r�r9s  r[rr�r5r6�requires bz2c�\�	ddl}n#t$rd}YnwxYwtj||��Sr1)�bz2r3rrr4)r�r<s  r[rr�sI����
�
�
�
����������������s�F�+�+�+r6�
requires lzmac�\�	ddl}n#t$rd}YnwxYwtj||��Sr1)�lzmar3rrr4)r�r?s  r[rr�r5r6c��	ddl}n"#t$rtjd���wxYw|���}t|d��S)Nr�_testinternalcapi required�code_debug_ranges)�_testinternalcapir3rrr��
get_configr�)rC�configs  r[�has_no_debug_rangesrF�sk��>� � � � � ���>�>�>��� <�=�=�=�>����
�
)�
)�
+�
+�F��F�.�/�0�0�0�0���&�$requires co_positions / debug_rangesc�D�tjt��|��Sr`)rrr�rF)r�s r[�requires_debug_rangesrJ�s���?�.�0�0�&�9�9�9rZzrequires legacy Unicode C API�java�getandroidapilevel)rQrSz/system/bin/shz/bin/sh�
emscripten�wasi�forkc�6�tjtd��S)Nzrequires working os.fork())rrr4r&rYrZr[r'r'
s����/�1M�N�N�NrZc�8�	tjtd��S)Nzrequires subprocess support)rrr4r(rYrZr[r)r)s��=���5�7T�U�U�UrZ)�modulec�z�	d}|rtstj|���dStjt|��S)Nzrequires socket support)r*rrr�r4)rRras  r[r+r+sO���$�C�
�<�!�	)��#�C�(�(�(�	)�	)��"�#5�s�;�;�;rZz%4Yzhttp://www.pythontest.net�datac��	tjdkrdSddl}d}|�d�}|���\}}t	|�|d����t	|��t	d|z��dS)Nr�rz NOTICE z� may generate "malloc can't allocate region"
warnings on macOS systems. This behavior is known. Do not
report a bug unless tests are also failing. See bpo-40928.r�)r�r��shutil�get_terminal_sizer��center)�	test_namerVra�detail�padding�_s      r[�darwin_malloc_err_warningr];s����
�|�x������M�M�M�
�C��K�K�K�F��)�)�+�+�J�G�Q�	�#�*�*�W�c�
"�
"�#�#�#�	�&�M�M�M�	�#��-�����rZc�H�	tj�|��r|S|� tj�||��}tgt
jz}|D]E}tj�||��}tj�|��r|cS�F|Sr`)r�r��isabsr��
TEST_HOME_DIRr��exists)�filename�subdirr��dn�fns     r[r?r?Ms����
�w�}�}�X������
�2��7�<�<���1�1���?�S�X�%�D��)�)��
�W�\�\�"�h�
'�
'��
�7�>�>�"���(�b�y�y�y�(��OrZc��	t|�����}d�|D��}d�|��}d|zS)Nc��g|]}d|z��S)z%r: %rrY)�.0�pairs  r[�
<listcomp>zsortdict.<locals>.<listcomp>cs��3�3�3�T��D��3�3�3rZz, z{%s})�sorted�itemsr�)�dictrl�	reprpairs�
withcommass    r[rErE`sI��+��4�:�:�<�<� � �E�3�3�U�3�3�3�I����9�%�%�J��J��rZr)�lineno�offsetc�|�|�t|��5}t|dd��ddd��n#1swxYwY|j}|�|j��|�|�|j|��|�|j��|�|�|j|��dSdS)Nz
<test string>�exec)�assertRaisesRegex�SyntaxError�compile�	exception�assertIsNotNonerp�assertEqualrq)�testcase�	statement�errtextrprq�cmr�s       r[rrgs���	�	#�	#�K��	9�	9�4�R��	�?�F�3�3�3�4�4�4�4�4�4�4�4�4�4�4����4�4�4�4�
�,�C����S�Z�(�(�(�
�1����S�Z��0�0�0����S�Z�(�(�(�
�1����S�Z��0�0�0�0�0�1�1s
�:�>�>c����
�ddl}ddl}ddlm}	ddl}n#t
$rd}YnwxYw��dd���
|j�|��d�	d��d}tj�t|��}��
�fd�}tj�|��r||��}	|	�|	S||��td	��t r t#d
|zt%�����|j���}
|r|
j�d��|
�|t0�
��}	|r4|	j�d��dkr|�|	���}		t/|d��5}|	���}|r+|�|��|	���}|�+ddd��n#1swxYwY|	���n#|	���wxYw||��}	|	�|	St?d|z���)Nrr)�unlink�checkr��/���c���t|g��Ri���}��|S�|��r|�d��|S|���dSr1)�open�seek�close)rerpr�r�rs  ���r[�check_valid_filez*open_urlresource.<locals>.check_valid_file�sb�����!�d�!�!�!�b�!�!���	��H�
�U�1�X�X�	�
�F�F�1�I�I�I��H�	���	�	�	�	�	rZr�z	fetching %s ...��file)zAccept-Encodingr9��timeoutzContent-Encodingr9)�fileobj�wbzinvalid resource %r) �urllib.request�urllib.parse�	os_helperrr9r3�pop�parse�urlparser�r�r�r��
TEST_DATA_DIRrarrr�r�request�build_opener�
addheaders�appendr�rN�headers�get�GzipFile�read�writer�r)�urlr�r�urllibrr9rbrer�rp�opener�out�sr�s ``          @r[r;r;ss������'�'�'�'�'�'�'�'�!�!�!�!�!�!��������������������
�F�F�7�D�!�!�E��|�$�$�S�)�)�!�,�2�2�3�7�7��;�H�	����m�X�	.�	.�B��������
�w�~�~�b������R� � ���	��H���r�
�
�
�
�Z�����E�
�!�C�'�.A�.C�.C�D�D�D�D�
�^�
(�
(�
*�
*�F��>��� � �!<�=�=�=����C�!1��2�2�A��%��	�
�
�0�1�1�V�;�%��M�M�!�M�$�$���
�"�d�^�^�	�s������A��
��	�	�!�����F�F�H�H���
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	
���	�	�	�	�����	�	�	�	���������A�����
�*�R�/�
0�
0�0s=��'�'�H�,AG:�.H�:G>�>H�G>�H�H0c#� K�	ddl}tt|��}tt||�����	tt|��V�tt||��dS#tt||��wxYwr1)�ior�r��setattr�StringIO)�stream_namer��orig_stdouts   r[�captured_outputr��s�����O�
�I�I�I��#�{�+�+�K��C��b�k�k�m�m�,�,�,�/��c�;�'�'�'�'�'���[�+�.�.�.�.�.����[�+�.�.�.�.���s�A5�5B
c�"�	td��S)Nr��r�rYrZr[rr������8�$�$�$rZc�"�	td��S)N�stderrr�rYrZr[rr�r�rZc�"�	td��S)N�stdinr�rYrZr[rr�s����7�#�#�#rZc��	ddl}|���trtjd��|���|���dS)Nr皙�����?)�gc�collectr4�time�sleep)r�s r[�
gc_collectr��sR����I�I�I��J�J�L�L�L����
�3�����J�J�L�L�L��J�J�L�L�L�L�LrZc#��K�ddl}|���}|���	dV�|r|���dSdS#|r|���wwxYwr1)r��	isenabled�disable�enable)r��have_gcs  r[�
disable_gcr��sy����
�I�I�I��l�l�n�n�G��J�J�L�L�L��
�����	��I�I�K�K�K�K�K�	�	��7�	��I�I�K�K�K�K�	���s�A�A'c��	tjd��pd}d}|���D]}|�d��r|}�|dvS)N�	PY_CFLAGSrz-O)rz-O0z-Og)rr r�r�)�cflags�	final_opt�opts   r[�python_is_optimizedr��s\��6�
�
%�k�
2�
2�
8�b�F��I��|�|�~�~�����>�>�$���	��I���.�.�.rZ�nP�0n�
getobjects�2P�0P�nc�T�ddl}|�t|ztz��Sr1)�struct�calcsize�_header�_align��fmtr�s  r[�calcobjsizer�s&���M�M�M��?�?�7�S�=�6�1�2�2�2rZc�T�ddl}|�t|ztz��Sr1)r�r��_vheaderr�r�s  r[�calcvobjsizer�s&���M�M�M��?�?�8�c�>�F�2�3�3�3rZi@ic��	ddl}n"#t$rtjd���wxYwt	j|��}t
|��tkr|jtzs4t
|��tkr&t
|��jtzr
||j
z
}dt
|��||fz}|�|||��dS)NrrAz&wrong size for %s: got %d, expected %d)rCr3rrr�r��	getsizeofr��	__flags__�_TPFLAGS_HEAPTYPE�_TPFLAGS_HAVE_GC�SIZEOF_PYGC_HEADry)�test�o�sizerCr�ras      r[�check_sizeofr�s���>� � � � � ���>�>�>��� <�=�=�=�>����
�]�1�
�
�F�	
�a���D��3�q�{�->�>�3�
�q�'�'�T�/�3� $�Q��� 1�4D� D�3��!�2�2��
2��A�w�w���%�&�C����V�T�3�'�'�'�'�'rGc'�ZK�	ddl}t||��}|�|��}|D]!}	|�||��n#Y�xYwn#t$r�dx}}YnxYw	dV�|r|r|�||��dSdSdS#|r|r|�||��wwwxYwr1)�localer��	setlocaler�)�catstr�localesr��category�orig_locale�locs      r[r=r=!s&������
�
�
��6�6�*�*���&�&�x�0�0���	�	�C�
�� � ��3�/�/�/����
������������
�$�#�#��������4�
�����	4�k�	4����X�{�3�3�3�3�3�	4�	4�	4�	4��6�	4�k�	4����X�{�3�3�3�3�	4�	4���s"�)A�A
�
A�A$�(B�B*c����fd�}|S)Nc�F�����fd�}�j|_�j|_|S)Nc���	tj}n"#t$rtjd���wxYwdt
jvrt
jd}nd}�t
jd<|��	�|i|��|�t
jd=n|t
jd<tj��S#|�t
jd=n|t
jd<tj��wxYw)Nztzset required�TZ)r��tzsetr�rrr�r��environ)r��kwdsr��orig_tzr��tzs    ��r[�innerz-run_with_tz.<locals>.decorator.<locals>.innerAs����
:��
����!�
:�
:�
:��'�(8�9�9�9�
:�����r�z�!�
��*�T�*�����!�B�J�t���E�G�G�G�
��t�T�*�T�*�*��/��
�4�(�(�'.�B�J�t�$��
������	�/��
�4�(�(�'.�B�J�t�$��
�������s��/�/B)�)4C)rV�__doc__)r�r�r�s` �r[r
zrun_with_tz.<locals>.decorator@s;����	�	�	�	�	�	�,�������
��rZrY)r�r
s` r[rFrF?s$��������4�rZi�r��c���dttdtzd�}tjd|tjtjz��}|�t
d|�����tt|�	d����||�	d���
��z��}|a|tkrt}|tdz
krt
d|�d����|adS)	Nr�)�k�m�g�tz(\d+(\.\d+)?) (K|M|G|T)b?$zInvalid memory limit r�z
Memory limit z too low to be useful)�_1M�_1G�re�match�
IGNORECASE�VERBOSEr�r��float�groupr�real_max_memuse�MAX_Py_ssize_t�_2Gr)�limit�sizesr��memlimits    r[rCrCis����
�
�
�#�X�	
�
�E�	��.������+�	-�	-�A��?��j�e�e�=�>�>�>��5�������$�$�u�Q�W�W�Q�Z�Z�-=�-=�-?�-?�'@�@�A�A�H��O��.� �"�!���#��'��L��j�5�5�5�J�K�K�K��J�J�JrZc�"�eZdZ	d�Zd�Zd�ZdS)�_MemoryWatchdogc�l�d�tj�����|_d|_dS)Nz/proc/{pid}/statm)�pidF)r�r��getpid�procfile�startedris r[rez_MemoryWatchdog.__init__�s+��+�2�2�r�y�{�{�2�C�C��
�����rZc��ddl}	t|jd��}n_#t$rR}|jd�|��t��tj�	��Yd}~dSd}~wwxYwddl
}|5td��}|�tj
|g||j���|_ddd��n#1swxYwYd|_dS)Nr�rz!/proc not available for stats: {}zmemory_watchdog.py)r�r�T)rr�r
r�rr�rr�r��flush�
subprocessr?�Popen�
executable�DEVNULL�mem_watchdogr)rfrrpr�r�watchdog_scripts      r[�startz_MemoryWatchdog.start�sS������	��T�]�C�(�(�A�A���	�	�	��H�M�=�D�D�Q�G�G�(�
*�
*�
*��J�������F�F�F�F�F�����		����	����
�	L�	L�&�';�<�<�O� *� 0� 0�#�.�/�1R�78�8B�8J�!1�!L�!L�D��	L�	L�	L�	L�	L�	L�	L�	L�	L�	L�	L����	L�	L�	L�	L�
����s'��
A8�AA3�3A8�>C�C�Cc�|�|jr4|j���|j���dSdSr`)rr�	terminate�waitris r[�stopz_MemoryWatchdog.stop�sF���<�	%���'�'�)�)�)���"�"�$�$�$�$�$�	%�	%rZN)rVrWrXrerrrYrZr[r	r	~sF�������������$%�%�%�%�%rZr	Tc�����	���fd�}|S)Nc�6�������fd����_��_�S)Nc�����j}�j}tsd}n|}ts�s+t||zkrtjd||zdzz���trat
rZt
��t
d�||zdz�����t��}|�	��nd}	�||��|r|�
��SS#|r|�
��wwxYw)Ni�'not enough memory: %.1fG minimum needed�@z* ... expected peak memory use: {peak:.1f}G)�peak)r��memuserrrr�rr�r�r	rr)rfr�r#�maxsize�watchdog�dry_runrprs     ���r[rz.bigmemtest.<locals>.decorator.<locals>.wrapper�s+����<�D��^�F�"�
������ �
5��
5�#�g��&6�6�
5��'�=��f�}�	�2�4�5�5�5��
 �7�
 ������B��v�4�&�=�I�#>�v�?�?�A�A�A�*�,�,����� � � � ���
$��q��w�'�'��$��M�M�O�O�O�O�$��8�$��M�M�O�O�O�O�$���s�;C�C7)r�r#)rprr&r#r�s`@���r[r
zbigmemtest.<locals>.decorator�s=�����	$�	$�	$�	$�	$�	$�	$�:�������rZrY)r�r#r&r
s``` r[r r �s6������ � � � � � � �B�rZc���	�fd�}|S)Nc����ttkrItdkrtdkrtjd���tjdtdzz����|��S)Nl����lz-not enough memory: try a 32-bit build insteadr r!)rrrrr�)rfrps �r[rz!bigaddrspacetest.<locals>.wrapper�sz�����&�		���*�
6�z�U�/B�
6��'�C�E�E�E��'�=�%��3�5�6�6�6��1�T�7�7�NrZrY)rprs` r[r!r!�s&���:�
�
�
�
�
��NrZc��eZdZd�ZdS)rc�B�tj��}||��|Sr`)rr�
TestResult)rfr�r�s   r[�runzBasicTestRunner.run�s"���$�&�&����V�����
rZN)rVrWrXr,rYrZr[rr�s#����������rZrc��|Sr`rY)r�s r[�_idr.�s���JrZc���|dkr,t��stjtj��St	|��rt
Stjd�|����S)Nr�zresource {0!r} is not enabled)r�rrr�r�rr.r�r�s r[�requires_resourcer0�sf���5��7�!2�!4�!4�7��}�.�5�6�6�6��8�$�$�O��
��}�<�C�C�H�M�M�N�N�NrZc�6�	td���|��S)NT)�cpython)�impl_detail�r�s r[r"r"�s$���%�;�t�$�$�$�T�*�*�*rZc��tdi|��rtS|�bt|��\}}|rd}nd}t|�����}|�d�|����}tj|��S)Nz*implementation detail not available on {0}z%implementation detail specific to {0}z or rY)	r8r.�
_parse_guardsrk�keysr�r�rrr�)ra�guards�
guardnames�defaults    r[r3r3�s����"�"�6�"�"���
�
�2�+�F�3�3��
�G��	:�>�C�C�9�C��J�O�O�-�-�.�.�
��j�j����Z�0�0�1�1���=����rZc�j�|sddidfSt|�����d}||fS)Nr2TFr)�list�values)r8�is_trues  r[r6r6sA���*��D�!�5�)�)��6�=�=�?�?�#�#�A�&�G���K� � rZc�r�	t|��\}}|�tjj|��Sr`)r6r�r��implementationr�)r8r:s  r[r8r8s4���$�F�+�+�O�F�G��:�:�c�(�-�w�7�7�7rZc�v��	ttd��s�Stj����fd���}|S)N�gettracec���tj��}	tjd���|i|��tj|��S#tj|��wxYwr`)r�rB�settrace)r�r*�original_tracer�s   �r[rzno_tracing.<locals>.wrappers^��� �\�^�^�N�
-���T�"�"�"��t�T�,�V�,�,���^�,�,�,�,����^�,�,�,�,���s�A�A)r�r�rr	)r�rs` r[�
no_tracingrFsR���O��3�
�#�#����	���	�	�	-�	-�	-�	-�
�	�	-��rZc�<�	tt|����Sr`)rFr"r4s r[�
refcount_testrH*s����l�4�(�(�)�)�)rZc���	g}|jD]b}t|tj��r&t	||��|�|���B||��r|�|���c||_dSr`)�_tests�
isinstancerr�	TestSuite�
_filter_suiter�)�suite�pred�newtestsr�s    r[rMrM5s���H��H���&�&���d�H�.�/�/�	&��$��%�%�%��O�O�D�!�!�!�!��t�D�z�z�
&�����%�%�%���E�L�L�LrZc��	ttjttdu���}|�|��}t�,t�|�����|js|j	st�|���s�t|j
��dkr|js|j
dd}nAt|j��dkr|j
s|jdd}nd}ts|dz
}d�|j
D��}d�|jD��}t|||���dS)N)�	verbosity�capture_outputrrzmultiple errors occurredz!; run in verbose mode for detailsc�6�g|]\}}t|��|f��SrY�r��rh�tc�exc_strs   r[rjz_run_suite.<locals>.<listcomp>Vs'��F�F�F���W�3�r�7�7�G�$�F�F�FrZc�6�g|]\}}t|��|f��SrYrUrVs   r[rjz_run_suite.<locals>.<listcomp>Ws'��J�J�J�;�2�w�S��W�W�g�&�J�J�JrZ)rr�r�r�junit_xml_listr,r��get_xml_element�testsRun�skippedr
�
wasSuccessfulr�rbrcr^)rN�runnerr�r�rbrcs      r[�
_run_suiter`AsX��<�
�S�Z�'.�-;�4�-G�J�J�J�F��Z�Z��
�
�F��8����f�4�4�6�6�7�7�7��?��6�>�������!�!�
;��v�}����"�	G�6�?�	G��-��"�1�%�C�C�
���
!�
!�Q�
&�	G�v�}�	G��/�!�$�Q�'�C�C�,�C��F�C�#F�F�C�F�F��
�F�F�F��J�J�&�/�J�J�J��#�C���:�:�:�
;�
;rZc�V�t�dSt|�����S�NT)�_match_test_func�idr4s r[�
match_testrebs%���+��t�����	�	�*�*�*rZc�6�d|votjd|��S)Nr�z[?*\[\]])r��search)rxs r[�_is_full_match_testrhjs"��
�7�N�E�R�Y�{�G�%D�%D�!D�ErZc�����|�d}|�d}dx��|tkrt|��\}�|tkrt|��\}�t|��at|��a����
��fd�}|adSdS)NrYc�J��d}d}�r�|��}�r�|��}|o|S�NTFrY)�test_id�accept�ignore�accept_func�ignore_funcs   ��r[�match_functionz'set_match_tests.<locals>.match_function�sH����F��F��
.�$��W�-�-���
.�$��W�-�-���(�&�j�(rZ)�_accept_test_patterns�_compile_match_function�_ignore_test_patternsr�rc)�accept_patterns�ignore_patternsrqrorps   @@r[�set_match_testsrwts������������� $�$�K�+��/�/�P�'>��'O�'O�$����/�/�P�'>��'O�'O�$���"�/�2�2��!�/�2�2���
*�+�
*�	)�	)�	)�	)�	)�	)�*����
*�
*rZc� ��|sd}d}n�ttt|����rt|��j}nLddl}d�t|j|����}tj	|��j
��fd�}|}||fS)NrYr�|c�~���|��rdStt�|�d������S)NTr�)�anyr�r�)rl�regex_matchs �r[�match_test_regexz1_compile_match_function.<locals>.match_test_regex�sC����{�7�#�#�
A��t�
�3�{�G�M�M�#�,>�,>�?�?�@�@�@rZ)�allr�rh�set�__contains__�fnmatchr��	translater�rvr�)�patternsr�r��regexr}r|s     @r[rsrs�s����� ������	�S�$�h�
/�
/�	0�	0� ��8�}�}�)�����������W�.��9�9�:�:���j��'�'�-��		A�		A�		A�		A�		A� ���T�>�rZc�H�	tjtjf}tj��}tj��}|D]�}t	|t
��rV|tjvr9|�|�	tj|�����^td���t	||��r|�|����|�|�|������t|t��t|��dS)Nz)str arguments must be keys in sys.modules)rrrL�TestCase�
TestLoaderrKr�r��modules�addTest�loadTestsFromModuler��loadTestsFromTestCaserMrer`)�classes�valid_typesr}rN�clss     r[rr�s	��;��%�x�'8�9�K�
�
 �
"�
"�F��� � �E��	=�	=���c�3���	=��c�k�!�
N��
�
�f�8�8���S�9I�J�J�K�K�K�K� �!L�M�M�M�
��[�
)�
)�	=��M�M�#������M�M�&�6�6�s�;�;�<�<�<�<��%��$�$�$��u�����rZc��dSr`rYrYrZr[�_check_docstringsr��s��6�6rZ�WITH_DOC_STRINGSztest requires docstringsc���	ddl}|�t}nd}|�|||���\}}|rtd||fz���trt	d|j|fz��||fS)Nr)r�optionflagsz%d of %d doctests failedz,doctest (%s) ... %d tests with zero failures)�doctestr�testmodrr�rV)rRrRr�r�rpr�s      r[rr�s�����N�N�N����	�	��	��?�?�6�9�+�?�N�N�D�A�q��>��3�q�!�f�<�=�=�=��$�
�<����"�#�	$�	$�	$��a�4�KrZc��tj�tj���tj� tj���dSdSr`)r�r�rr�rYrZr[�flush_std_streamsr��sN��
�z���
������
�z���
���������rZc��t��tj}|���D]}t	d|��|����|���dS)NzWarning -- r�)r��
print_warning�orig_stderr�
splitlinesr�r)ra�stream�lines   r[r�r�s_������
�
&�F���� � �1�1��
�"�D�"�"��0�0�0�0�0�
�L�L�N�N�N�N�NrZc��	ttd��rttd��sdStsdS		tjdtj��\}}n#t
$rYdSwxYw|dkrdSt
d|����da�R)N�waitpid�WNOHANGTr�rz%reap_children() reaped child process )r�r�r(r�r�r�r��environment_altered)r�statuss  r[r<r<s����
�B�	�"�"��w�r�9�'=�'=����
#����#�	��*�R���4�4�K�C�����	�	�	��E�E�	�����!�8�	��E��C�c�C�C�D�D�D�"��#s�"A�
A*�)A*c#�K�	t||��rOt||��}t|||��	|V�t|||��dS#t|||��wxYwt|||��	dV�t||��rt||��dSdS#t||��rt||��wwxYwr`)r�r�r��delattr)r��attr�new_val�real_vals    r[rArA3s�����
��s�D���
#��3��%�%����T�7�#�#�#�	)��N�N�N��C��x�(�(�(�(�(��G�C��x�(�(�(�(������T�7�#�#�#�	#��E�E�E��s�D�!�!�
#���T�"�"�"�"�"�
#�
#��w�s�D�!�!�
#���T�"�"�"�"�
#���s�A
�
A �5B�#Cc#�K�	||vr#||}|||<	|V�|||<dS#|||<wxYw|||<	dV�||vr||=dSdS#||vr||=wxYwr`rY)r��itemr�r�s    r[r>r>Rs�����
��s�{�
��t�9����D�	�	!��N�N�N� �C��I�I�I���C��I� � � � ���D�	�	��E�E�E��s�{�
���I�I�I�
�
��t�s�{�
���I�
�
�
�
s�!�(�A�	A	c�4�	ddl}|���Sr1)r�_args_from_interpreter_flags�rs r[�args_from_interpreter_flagsr�qs%��2������2�2�4�4�4rZc�4�	ddl}|���Sr1)r�"_optim_args_from_interpreter_flagsr�s r[�!optim_args_from_interpreter_flagsr�ws%��+������8�8�:�:�:rZc��eZdZdZd�Zd�ZdS)rB)ra�messagec��	d}|D]:}||}|�|��}|�|||��sd}n�;|Srk)r��match_value)rf�dr*r�r��v�dvs       r[�matcheszMatcher.matches�se��	����	�	�A��q�	�A����q���B��#�#�A�r�1�-�-�
�����
��
rZc���	t|��t|��krd}n?t|��tus	||jvr||k}n|�|��dk}|S)NFr)r�r��_partial_matches�find)rfr�r�r�r�s     r[r�zMatcher.match_value�sn��	���7�7�d�2�h�h��	%��F�F�
�"�X�X�S�
 �	%�A�T�-B�$B�	%��2�g�F�F��W�W�Q�Z�Z�1�_�F��
rZN)rVrWrXr�r�r�rYrZr[rBrB~s8������)�����"
�
�
�
�
rZrBc��	ddl}t�Itjdkr7|���dkrtj��jdkrdandatrtj	d��|��n|S)NrrQ�cp65001rTFz!buggy MSVC UCRT strptime/strftime)
r��_buggy_ucrtr�r��getencodingr��	localtime�tm_zonerrr�)r�r�s  r[r0r0�s�����M�M�M�� ��<�7�"�	 ��"�"�$�$�	�1�	 ��� � �(�B�.�	 ��K�K��K�GR�\�=�8�=�<�=�=�d�C�C�C�X\�\rZc�f�eZdZ	d
d�Zejdkrd�Znd�Zd�Zd�Zd�Z	d	d
�d�Z
d	d
�d�ZdS)�
PythonSymlinkNc��ddlm}|ptj�|��|_g|_tj�tj	��|_
g|_d|_|�
��dS)Nr)�TESTFN)r�r�r�r��abspath�link�_linked�realpathr�r�real�
_also_link�_env�_platform_specific)rfr�r�s   r[rezPythonSymlink.__init__�st��%�%�%�%�%�%��3�B�G�O�O�F�3�3��	�����G�$�$�S�^�4�4��	������	����!�!�!�!�!rZrQc
�d�ddl}ddl}tj�|j��r>tj�|j��s|�d��|_|�tj	��}tj�
|��}tj�
|j��}|j�
|tj�|tj�|����f��|�tj�|�|��d����D]Y}|j�
|tj�|tj�|����f���Zd�tjD��|_tj�
|j��|jd<t'jd��rt*|jd<dSdS)Nrzvcruntime*.dllc�\�i|])}|���tj|����*SrY)�upperr��getenv)rhr�s  r[�
<dictcomp>z4PythonSymlink._platform_specific.<locals>.<dictcomp>�s*��E�E�E�Q������B�I�a�L�L�E�E�ErZ�
PYTHONHOMET�
PYTHONPATH)�glob�_winapir�r��lexistsr�ra�GetModuleFileNamer��	dllhandle�dirnamer�r�r�r��basename�escaper�r�r�is_python_buildry)rfr�r�r��src_dir�dest_dir�runtimes       r[r�z PythonSymlink._platform_specific�s����K�K�K��N�N�N��w���t�y�)�)�
9�"�'�.�.���2K�2K�
9�$�5�5�a�8�8��	��+�+�C�M�:�:�C��g�o�o�c�*�*�G��w���t�y�1�1�H��O�"�"������X�r�w�'7�'7��'<�'<�=�=�$�
�
�
� �9�9�R�W�\�\�$�+�+�g�2F�2F�HX�%Y�%Y�Z�Z�
�
����&�&���G�L�L��2�7�+;�+;�G�+D�+D�E�E�(�����
F�E�"�*�E�E�E�D�I�&(�g�o�o�d�i�&@�&@�D�I�l�#��(��.�.�
5�*4��	�,�'�'�'�
5�
5rZc��dSr`rYris r[r�z PythonSymlink._platform_specific�s���DrZc��tj|j|j��|j�|j��|jD]4\}}tj||��|j�|���5|Sr`)r��symlinkr�r�r�r�r�)rfr�r�s   r[�	__enter__zPythonSymlink.__enter__�su��
�
�4�9�d�i�(�(�(�����D�I�&�&�&��/�	&�	&�J�D�$��J�t�T�"�"�"��L����%�%�%�%��rZc���|jD]X}	tj|���#t$r4}tr#td�||����Yd}~�Qd}~wwxYwdS)Nzfailed to clean up {}: {})r�r��remove�IOErrorrr�r�)rf�exc_type�	exc_value�exc_tbr��exs      r[�__exit__zPythonSymlink.__exit__�s����L�	H�	H�D�
H��	�$�������
H�
H�
H��H��5�<�<�T�2�F�F�G�G�G����������
H����	H�	Hs� �
A�*A�Ac��ddl}|g|�}|�||j|j|���}|���}|j|kr~t
rPt
t|d����t
t|d��tj	���td�|j�����|S)Nr)r�r��envrr�z'unexpected return code: {0} (0x{0:08X}))rr�PIPE�communicate�
returncoderr��reprr�r��RuntimeErrorr�)	rf�pythonr�r�r�r�cmd�prs	         r[�_callzPythonSymlink._call�s��������o��o�����S���$.�O��
�
>�
>��
�M�M�O�O���<�:�%�	P��
3��d�1�Q�4�j�j�!�!�!��d�1�Q�4�j�j�s�z�2�2�2�2��9�@�@���N�N�P�P�
P��rZr)r�c�<�|�|j|d|��Sr`)r�r��rfr�r�s   r[�	call_realzPythonSymlink.call_reals���z�z�$�)�T�4��<�<�<rZc�F�|�|j||j|��Sr`)r�r�r�r�s   r[�	call_linkzPythonSymlink.call_links���z�z�$�)�T�4�9�j�A�A�ArZr`)rVrWrXrer�r�r�r�r�r�r�r�rYrZr[r�r��s�������=�
"�
"�
"�
"��|�w���	5�	5�	5�	5�6	�	�	����H�H�H����+,�=�=�=�=�=�+,�B�B�B�B�B�B�BrZr�c�h�	tpt}d}|r|ntj|��|��S)Nz#Not run for (non-extended) PGO task)rG�PGO_EXTENDEDrrr�)r��okras   r[�skip_if_pgo_taskrs:��E�
��	 �L�B�
/�C��3�4�4�-�8�=��-�-�d�3�3�3rZrY)rnc���	tt|����tt|����z
}|r|t|��z}td�|D����}|S)Nc3�nK�|]0}|�d��r|�d���,|V��1dS)r\�__N)r��endswith)rhr�s  r[�	<genexpr>z&detect_api_mismatch.<locals>.<genexpr>sd����F�F�a� �|�|�C�0�0�F�45�J�J�t�4D�4D�F��F�F�F�F�F�FrZ)r�dir)�ref_api�	other_apirn�
missing_itemss    r[r.r.s~�����G���%�%��C�	�N�N�(;�(;�;�M�
�%���V���$�
��F�F�=�F�F�F�F�F�M��rZc��	|�	|jf}nt|t��r|f}t|��}t	|��D]~}|�d��s||vr�t
||��}t
|dd��|vs*t|d��s/t|tj	��s|�
|���|�|j|��dS)Nr\rW)
rVrKr�rrr�r�r��types�
ModuleType�add�assertCountEqual�__all__)�	test_caserR�name_of_module�extra�not_exported�expectedr�r�s        r[r/r/s���%�N�,� �/�,���	�N�C�	(�	(�,�(�+���5�z�z�H��F�������?�?�3���	�4�<�#7�	���f�d�#�#���C��t�,�,��>�	��S�,�/�/�	���U�%5�6�6�	�
�L�L������
���v�~�x�8�8�8�8�8rZc��	ddl}n#t$rYdSwxYw|�|j|jz|jz|jz��t|d��rf|j|j	|j
fD]S}|r7|�||j��|�
||j���;|�|d���RdSdS)Nr�CrtSetReportMode)�msvcrtr3�SetErrorMode�SEM_FAILCRITICALERRORS�SEM_NOALIGNMENTFAULTEXCEPT�SEM_NOGPFAULTERRORBOX�SEM_NOOPENFILEERRORBOXr��CRT_WARN�	CRT_ERROR�
CRT_ASSERTr�CRTDBG_MODE_FILE�CrtSetReportFile�CRTDBG_FILE_STDERR)rrr�s   r[�suppress_msvcrt_assertsr#Ys����
�
�
�
�����������������5� �;�<� �6�7�!�7�8�9�9�9��v�)�*�*�.��/�6�#3�V�5F�G�	.�	.�A��
.��'�'��6�+B�C�C�C��'�'��6�+D�E�E�E�E��'�'��1�-�-�-�-�
.�.�	.�	.s��
�c�$�eZdZ	dZdZd�Zd�ZdS)rDNc�<�	tj�d��r�	ddl}n#t$rYdSwxYw|���|_|�|j|jz��t|d��r`i|_
|j|j|j
fD]D}|�||j��}|�||j��}||f|j
|<�E�n7	ddl}||_n#t$r
d|_YnwxYw|j�t	|j�|jj��|_|j�|jjd|jdf��n#t,t.f$rYnwxYwtjdkr�ddl}gd�}|�||j|j���}|5|���d}	ddd��n#1swxYwY|	���dkrt;d	d
d���|S)
Nr�rrrr�)z/usr/bin/defaultsr�zcom.apple.CrashReporter�
DialogType)r�r�s	developerz:this test triggers the Crash Reporter, that is intentionalrT)�endr)r�r�r�rr3�GetErrorMode�	old_valuerrr��	old_modesrrrrr r!r"r��	getrlimit�RLIMIT_CORE�	setrlimitr�r�rrr�r��stripr�)
rfr�report_type�old_mode�old_filer�rr��procr�s
          r[r�zSuppressCrashReport.__enter__ws���	��<�"�"�5�)�)�7	E�
��
�
�
�
���
�
�
����
����$�0�0�2�2�D�N�������1M� M�N�N�N��v�1�2�2�	
E�!#���$*�O�$*�$4�$*�$5�$7�E�E�K� &�6�6�{�"�3� 5� 5�H�%�6�6�{�"�5� 7� 7�H�2:�H�2D�D�N�;�/�/��
%����� (��
�
���
%�
%�
%� $��
�
�
�
%�����}�
��%)�]�%<�%<�T�]�=V�%W�%W�D�N��M�+�+�D�M�,E�-.���q�0A�,B�D�D�D�D��"�G�,�����D������|�x�'�
E�!�!�!�!�@�@�@��!�'�'��/9��/9��(�@�@���3�3�!�-�-�/�/��2�F�3�3�3�3�3�3�3�3�3�3�3����3�3�3�3��<�<�>�>�\�1�E��0�57�t�E�E�E�E��sC�'�
5�5�&C2�2D�D�AE-�-F�F�G'�'G+�.G+c���	|j�dStj�d��rwddl}|�|j��|jrN|j���D]6\}\}}|�||��|�	||���5dSdS|j
�E	|j
�|j
j|j��dS#ttf$rYdSwxYwdS)Nr�r)r)r�r�r�rrr*rlrr!r�r-r,r�r�)rf�
ignore_excrr/r0r1s      r[r�zSuppressCrashReport.__exit__�s-��O��>�	��F��<�"�"�5�)�)�
	��M�M�M������/�/�/��~�
C�9=��9M�9M�9O�9O�C�C�5�K�!5�(�H��+�+�K��B�B�B��+�+�K��B�B�B�B�
C�
C�C�C��}�
���M�+�+�D�M�,E�t�~�V�V�V�V�V��"�G�,�����D�D�����
�
s�)*C�C*�)C*)rVrWrXr)r*r�r�rYrZr[rDrDnsG�������
�I��I�@�@�@�D����rZrDc������	t����d�	�j��d�n(#ttf$rt��d���YnwxYw����fd�}|�|��t��|��dS)NFTc�R���rt�����dSt����dSr`)r�r�)�
attr_is_local�	attr_name�object_to_patchr)s����r[�cleanupzpatch.<locals>.cleanup�s9����	0��O�Y�	�:�:�:�:�:��O�Y�/�/�/�/�/rZ)r��__dict__r�r�
addCleanupr�)�
test_instancer9r8�	new_valuer:r7r)s ``  @@r[�patchr?�s���������O�Y�'�'�'��M��#�,�Y�7�	��
�
��
�H�%�>�>�>��O�Y��=�=�	�	�	�>����0�0�0�0�0�0�0�0����W�%�%�%��O�Y�	�2�2�2�2�2s�
)�"A�
Ac#�PK�		|dd�}dV�||dd�<dS#||dd�<wxYwr`rY)�orig�saveds  r[�
patch_listrC�sJ����7���Q�Q�Q���
������Q�Q�Q�����%��Q�Q�Q�����s��	%c��		ddl}|���rtjd���n#t$rYnwxYwddl}|�|��S)NrzUrun_in_subinterp() cannot be used if tracemalloc module is tracing memory allocations)�tracemalloc�
is_tracingrrr�r3�	_testcapi�run_in_subinterp)�coderErGs   r[rHrH�s����;������!�!�#�#�	;��#�%:�;�;�
;�	;���
�
�
���
���������%�%�d�+�+�+s�0�
=�=c�����G��fd�d|��}d�|||����|�tt���t��|����dS)Nc���eZdZ��fd�ZdS)�%check_free_after_iterating.<locals>.Ac�N��d�	t���dS#t$rYdSwxYwrb)�next�
StopIteration)rf�done�its ��r[�__del__z-check_free_after_iterating.<locals>.A.__del__s>����D�
��R������� �
�
�
����
���s��
$�$N)rVrWrXrR)rPrQs��r[�ArLs3�������	�	�	�	�	�	�	�	rZrSF)�assertRaisesrOrNr��
assertTrue)r��iterr�r�rSrPrQs     @@r[�check_free_after_iteratingrWs�������������C�����D�	
��a�a��h���B����m�T�2�.�.�.��L�L�L��O�O�D�����rZc�d�	ddlm}m}m}m}|���}|j|��|jdkr'	|���n#|j	$rYdSwxYw|j
D]D}|r||vr�	t||��}|rn|s�|�|d���
|dcS�EdS)Nr)�	ccompilerr�spawnrb�msvc)
�	distutilsrYrrZrb�new_compiler�customize_compiler�
compiler_type�
initialize�DistutilsPlatformError�executablesr��find_executable)�	cmd_namesrYrrZrb�compilerr�r�s        r[rHrH!s(���>�=�=�=�=�=�=�=�=�=�=�=��%�%�'�'�H� �I� ��*�*�*����'��	����!�!�!�!���,�	�	�	��6�6�	�����$�
�
���	��Y�.�	���h��%�%���	�	��	��� � ��Q��(�(�	��q�6�M�M�M�	�
�
s�A�
A!� A!c���d}trG||krAt�1ddl}|�ddg�����dkatr|}tj|��S)Ng�h㈵��>r�getpropzro.kernel.qemu�1)r5�_is_android_emulatorr�check_outputr.r�r:)�interval�minimum_intervalrs   r[r:r:Bs������(�h�!1�1�(��	O�����$.�$;�$;� )�+;�<�%>�%>�>C�e�g�g��%N� ��	(�'�H�� ��*�*�*rZc#�K�ddl}tj���}|���}	|���dV�|r|�|d���dSdS#|r|�|d���wwxYw)NrT)r��all_threads)�faulthandlerr��
__stderr__�fileno�
is_enabledr�r�)ro�fdrrs   r[�disable_faulthandlerrtQs���������


��	�	�	 �	 �B��(�(�*�*�J�;�������
�����	;����R�T��:�:�:�:�:�	;�	;��:�	;����R�T��:�:�:�:�	;���s�A/�/Bc�"�eZdZ	d�Zd�Zd�ZdS)�SaveSignalsc���ddl}||_|���|_dD]>}	t||��}n#t$rY� wxYw|j�|���?i|_dS)Nr)�SIGKILL�SIGSTOP)�signal�
valid_signals�signalsr�r�r��handlers)rfrz�signame�signums    r[rezSaveSignals.__init__ls����
�
�
�����+�+�-�-���-�	(�	(�G�
� ���1�1����!�
�
�
���
�����L����'�'�'�'���
�
�
s�;�
A�Ac�h�|jD])}|j�|��}|��||j|<�*dSr`)r|rz�	getsignalr}�rfr�handlers   r[�savezSaveSignals.saveysN���l�		,�		,�F��k�+�+�F�3�3�G��
��$+�D�M�&�!�!�		,�		,rZc�z�|j���D] \}}|j�||���!dSr`)r}rlrzr�s   r[�restorezSaveSignals.restore�sH��#�}�2�2�4�4�	0�	0�O�F�G��K���v�w�/�/�/�/�	0�	0rZN)rVrWrXrer�r�rYrZr[rvrvcsF����������
,�
,�
,�0�0�0�0�0rZrvc��ddl}|jSr1)rG�
WITH_PYMALLOC)rGs r[�
with_pymallocr��s�������"�"rZc��eZdZ	d�Zd�ZdS)�
_ALWAYS_EQc��dSrbrY�rf�others  r[�__eq__z_ALWAYS_EQ.__eq__�����trZc��dS�NFrYr�s  r[�__ne__z_ALWAYS_EQ.__ne__�����urZN)rVrWrXr�r�rYrZr[r�r��s7��������������rZr�c�"�eZdZ	d�Zd�Zd�ZdS)�	_NEVER_EQc��dSr�rYr�s  r[r�z_NEVER_EQ.__eq__�r�rZc��dSrbrYr�s  r[r�z_NEVER_EQ.__ne__�r�rZc��dS)NrrYris r[�__hash__z_NEVER_EQ.__hash__�s���qrZN)rVrWrXr�r�r�rYrZr[r�r��sF�����������������rZr�c��eZdZ	d�Zd�ZdS)�_LARGESTc�,�t|t��Sr`)rKr�r�s  r[r�z_LARGEST.__eq__�s���%��*�*�*rZc��dSr�rYr�s  r[�__lt__z_LARGEST.__lt__�r�rZN)rVrWrXr�r�rYrZr[r�r��s7�������+�+�+�����rZr�c��eZdZ	d�Zd�ZdS)�	_SMALLESTc�,�t|t��Sr`)rKr�r�s  r[r�z_SMALLEST.__eq__�s���%��+�+�+rZc��dSr�rYr�s  r[�__gt__z_SMALLEST.__gt__�r�rZN)rVrWrXr�r�rYrZr[r�r��s7�������,�,�,�����rZr�c�$�	ddl}|jjSr1)�asyncio.events�events�_event_loop_policy)�asyncios r[�maybe_get_event_loop_policyr��s��N������>�,�,rZc��||}}ddl}|���5}|���dz}t|d��|_|�|��}|dz
|z|z}||z}	||	z
}
||
z
}||dz
z|dz
|z|zz|	d|	z
zz}t
|��t
|�����fcddd��S#1swxYwYdS)Nrr��r)�decimal�localcontext�
bit_length�max�prec�Decimalr�sqrt)
�nbins�nballsr�r�r��ctx�bitsrd�p1empty�	meanempty�occupied�
collisions�vars
             r[�collision_statsr��s6���&�q�A�$�N�N�N�	�	�	�	�	�4�3��|�|�~�~��!���t�R�=�=���
�_�_�Q�
�
����F�b�=�Q�&����K�	��y�=����\�
��"�Q�$�i�"�Q�$���Q��&��a�)�m�)D�D���Z� � �%����
�
�"3�"3�3�4�4�4�4�4�4�4�4�4�4�4�4����4�4�4�4�4�4s�B(C�C�Cc�(�eZdZ	d�Zd�Zd�Zd�ZdS)�catch_unraisable_exceptionc�"�d|_d|_dSr`)�
unraisable�	_old_hookris r[rez#catch_unraisable_exception.__init__s���������rZc��||_dSr`)r�)rfr�s  r[�_hookz catch_unraisable_exception._hooks��%����rZc�J�tj|_|jt_|Sr`)r��unraisablehookr�r�ris r[r�z$catch_unraisable_exception.__enter__s���+���!�Z����rZc�,�|jt_|`dSr`)r�r�r�r�)rf�exc_infos  r[r�z#catch_unraisable_exception.__exit__s��!�^����O�O�OrZN)rVrWrXrer�r�r�rYrZr[r�r��sU�������0���%�%�%�
���
����rZr�r�c	���	tjdkr�ddl}|�t}t	j��}d}d}	tj|tj��\}}|dkrn�t	j��|z
}	|	tkrX	tj||j	��tj|d��n#t$rYnwxYwtd|�d|	d�d	����t|d
z|��}t	j
|����ntj|d��\}}tj|��}
|
|krtd|�d|
�d|�d
����||krtd|�d|�����dS)N�ntrg����MbP?r�Tzprocess z is still running after z.1fz secondsr�z exited with code z, but exit code z is expectedzpid z != pid )r�r�rzrOr��	monotonicr�r��killrxr��AssertionError�minr��waitstatus_to_exitcode)r�exitcoder�rz�t0r��	max_sleep�pid2r��dt�	exitcode2s           r[�wait_processr�s��	�
�w�$��*��
�
�
��	$�#�G�
�^�
�
�����	�	��:�c�2�:�6�6�L�D�&��q�y�
����!�!�B�&�B��M�!�	
@���G�C���0�0�0��J�s�A�&�&�&�&�������D�����%�&?��&?�&?�.0�%>�&?�&?�&?�@�@�@����	�9�-�-�E��J�u����'	��&�z�#�q�)�)���f��)�&�1�1�I��H��F��E��E�E�y�E�E�.6�E�E�E�F�F�	F��s�{�9��7�D�7�7�#�7�7�8�8�8�9�9s�/B2�2
B?�>B?c���	ddlm}|d��|d��}tjdkrB	|�d���dS#t
$r}t
jd|�����d}~wwxYwdS)Nr)�
import_module�_multiprocessingzmultiprocessing.synchronize�linux)r�z broken multiprocessing SemLock: )�
import_helperr�r�r��Lockr�rrr�)r��synchronize�excs   r[�*skip_if_broken_multiprocessing_synchronizer�Ns����
-�,�,�,�,�,��M�$�%�%�%� �-� =�>�>�K�
�|�w��P�	P�
�����&�&�&�&�&���	P�	P�	P��#�$N�s�$N�$N�O�O�O�����	P����
P�Ps�A�
A-�A(�(A-c��	|j}|j}|dkr|�d|��}n|�}dtj|���d�}|jt
||g|�Ri|��dS)N�builtinsr�zcannot create 'z' instances)rWrVr�r�rt�	TypeError)rz�tpr�r��modr��qualnameras        r[r1r1gs����

�-�C�
�;�D�
�j����?�?�D�?�?����9��
<�B�I�h�/�/�
<�
<�
<�C��H��y�#�r�A�D�A�A�A�D�A�A�A�A�ArZ�Kc#�K�	tj��}	tj|��dV�tj|��dS#tj|��wxYwr`)r��getrecursionlimit�setrecursionlimit)�	max_depth�original_depths  r[r@r@vsh������*�,�,�N�.���i�(�(�(�
������n�-�-�-�-�-����n�-�-�-�-�����A�ArR�like�returnc
��t��}tjdt||dt	|���d�z���|S)Nrn�
(?#support�))r�rRr�)�objectr�filterwarnings�DeprecationWarningrd)rRr��tokens   r[�ignore_deprecations_fromr��sO���H�H�E����#���1�R��Y�Y�1�1�1�1�	�����LrZ�tokensc��|std���g}td�|D����}tjD]m\}}}}}|dkrE|tur<t|tj��r|j}n|pd}|�	|��r�S|�
|||||f���ntj|kr&|tjdd�<tj��dSdS)Nz<Provide token or tokens returned by ignore_deprecations_fromc3�<K�|]}dt|���d�V��dS)r�r�N)rd)rhr�s  r[rz-clear_ignored_deprecations.<locals>.<genexpr>�s4����D�D�E�/�2�e�9�9�/�/�/�D�D�D�D�D�DrZrnr)r�r�r�filtersr�rKr��Patternrxrr��_filters_mutated)	r��new_filtersr�actionr�r�rRrpras	         r[�clear_ignored_deprecationsr��s���Y��W�X�X�X��K��D�D�V�D�D�D�D�D�H�5=�5E�H�H�1����6�6��X��	�(�.@�"@�	��'�2�:�.�.�
$��o����m����|�|�H�%�%�
�����F�G�X�v�v�F�G�G�G�G���;�&�$�)��������!�#�#�#�#�#�$�$rZc��	ddl}n%#t$rtjdd��cYSwxYw	ddl}n#t$rd}YnwxYwtj|d��S)NrTzvenv: ensurepip requires zlibzvenv: pip requires ctypes)r2r3rrr�r�r4)r2r�s  r[�requires_venv_with_pipr�s���F��������F�F�F���t�%D�E�E�E�E�E�F����
��
�
�
�
����������������v�'B�C�C�Cs��)�)�2�A�Ac#�K�	tj��}	tj|��dV�tj|��dS#tj|��wxYwr`)r��get_int_max_str_digits�set_int_max_str_digits)�
max_digits�currents  r[�adjust_int_max_str_digitsr�sd����H��(�*�*�G�,��"�:�.�.�.�
�����"�7�+�+�+�+�+���"�7�+�+�+�+���r�r`)r/)r7)r:)r=)rH)r)T)NNr1)NrYrY)F)rY)r�)�rVr3�
contextlibrr
r�r�r�r�rr�rrrr�
testresultrrGrrrMr�r�rNrOrPr�r�r��__file__�TEST_SUPPORT_DIRr`ry�	REPO_ROOTr�rrr^r
r�rr,r-r#rr	rrrZr
r�rrr�r�rrr�rrrrr2r3r,r�
SOCK_MAX_SIZEr4r�
__getformat__r�r$r%rrrrFrJ�requires_legacy_unicode_capir4r�r5r9r6r7r&r'r(r)r*r+�has_strftime_extensions�strftimer��
TEST_HTTP_URLrGr�r�r�r]r?rErr;�contextmanagerr�rrrr�r�r�r�r�r�r�r�r�r�r�r=rFr�r�r�_4Gr$rrCr	r r!rr.r0r"r3r6r8rFrHrMr`rcrrrtrerhrwrsrr�r �MISSING_C_DOCSTRINGSr��HAVE_DOCSTRINGS�requires_docstringsrr�r�r�r�r�r<rAr>r�r�r�rBr�r0r�rr.r/r#rDr?rCrHrWrHrir:rtrvr�r�rIr�rJ�total_orderingr�rKr�rLr��	hash_info�width�	NHASHBITSr�r�r�r�r1r@r�r�r�rrrYrZr[�<module>rs���=��~��H�
�+�F�
G�
G�G�������������	�	�	�	�	�	�	�	�����
�
�
�
���������������������'�'�'�'�'�'�!�/�/�/�/�/�/�/���!�!�!� ����!����#�#�#��^���<�7����#�+�=������\�Y��������
����7�?�?�2�7�?�?�8�#<�#<�=�=������ 0�1�1�
�
�W�_�_�]�
+�
+�
��G�O�O�J�'�'�	�5�5�5�5�5�I�5�5�5����������	�	�	�	�	�J�	�	�	�)�)�)�)�)�E�)�)�)������X�&����������$������
�
�
�������
�����*�*�*�
�
�
�"K$�K$�K$�Z>�>�>�	7�	7�	7�	7����6:�:�:�8�8�8����:	/�	/�	/�	/� %�U�u������6)�e�E�e�)�)�)�)�)����$$�
�%�
�(�H�'�	����!�!�,�,�V�4�4�$�&�&��-�-�-�-�-�-�-�-�,�,�,�,�-�-�-�-�1�1�1�:�:�:�:� 3�x�2�3H�7� 9� 9��
�L�#�#�F�+�+�	�
�W�S�.�
/�
/�
��<�+�+��%/�>�!�!�Y�J�J��J����,�
�

�,�&�
 ���7�2�v�&�&�L�}�+<�L�W���O�O�O�+�*�:�7�{��V�V�V�
'�&�6�w�;��&+�
<�
<�
<�
<�
<� ���<�7��
�
�"/�$�-��"6�"6�%�"?�����
�
�
���
����
,�
���������]�F�3�3�
����$����&���	1�$�t�	1�	1�	1�	1�	1�41�41�41�n��	/�	/���	/�%�%�%�%�%�%�
$�
$�
$����"�������/�/�/���	
��
�7�3������W�n�G�
�F��S�=��3�3�3�4�4�4�
����(�(�(�$��4�4���4�:���F��
�S�j���#�g���#�g��������*%�%�%�%�%�%�%�%�B.�.�.�.�`
�
�
�$�����������O�O�O�+�+�+�����!�!�!�8�8�8�
�
�
� *�*�*�
�
�
�;�;�;�6������+�+�+�F�F�F�*�*�*�*�B���@���07�7�7�*�)�+�+�I����/�I�4�I�4�5G�H�H�H��%�,�D�8�,�+�+��*�h�)�/�*D�F�F������6������ �J�
����#�#�#�<��#�#���#�<�������<5�5�5�;�;�;������f����D��]�]�]�*OB�OB�OB�OB�OB�OB�OB�OB�d4�4�4�79������@B� �89�89�89�89�v.�.�.�.�*]�]�]�]�]�]�]�]�@3�3�3�D�������,�,�,�(����&+-�����@��+�+�+���;�;���;�"$0�$0�$0�$0�$0�$0�$0�$0�N#�#�#�
��������
�J�L�L�	�	�	�	�	�	�	�	�	��9�;�;��
�������������(�*�*��
�������������9�;�;��-�-�-�
�M��	�4�4�4�D)�)�)�)�)�)�)�)�X,0�29�29�29�29�29�hP�P�P�2
B�
B�
B���.�.�.���.��S��3��6�����$��$�4�$�$�$�$�*
D�
D�
D� ��,�,���,�,�,s$�
A�A�A�J%�%J-�,J-