Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.12/test/support/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.12/test/support/__pycache__/__init__.cpython-312.opt-2.pyc

�

(ΜgWB��V
�	edk7red��ddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZgd�ZdZdZdZdZej*j-ej*j/e��Zej*j-e�Zej*j-e�Zej*j-e�ZGd	�d
e�ZGd�de�ZGd
�de�Z Gd�de�Z!Gd�dejD�Z#d�Z$d�Z%d�Z&dZ'dZ(da)da*dZ+dZ,da-d�Z.d�Z/d�Z0d�Z1d�Z2d�d�Z3d�Z4d�Z5d �Z6d!�Z7d�d"�Z8ddddd#�d$�Z9d�ddddd#�d%�Z:e9d&�'�Z;d(�Z<d)�Z=d*Z>d+Z?ej�eAj�d,�j�d-�d.�ZDd�d/�ZEd�d0�ZFd�d1�ZGd�d2�ZHd3�ZId�d4�ZJd5�ZKe	j�d6k(ZMe	j�j�d7�ZNeOe	d8�ZPe	j�d9vrePrd:nd;ZQndZQe	j�d<k(ZRe	j�d=k(ZSeOed>�xreRxreSZTd?�ZUeRxreSZVd@�ZWeRxreSZXddA�dB�ZYdZZe	j�d6k7r	ej�dC�dCk7ZZdDZ]dZ^dZ_ej*j�edE�ZadF�Zbd�dG�ZcdH�ZddIeedJefeeegffdK�Zhd�dddL�dM�ZidN�Zjej�dO��ZldP�ZmdQ�ZndR�ZodS�Zpej�dT��ZqdU�ZrdV�ZsdWZtdXZueOe	dY�rdZetzZtd[Zuetd\zZvd]�Zwd^�Zxd_�Zyd`ZzdaZ{db�Z|ej�dc��Z}dd�Z~deZdfezZ�dge�zZ�dhe�zZ�e	�jZ�dieedJe�fdj�Z�dieedJdfdk�Z�Gdl�dm�Z�d�dn�Z�do�Z�dp�Z�dq�Z�dr�Z�d�ds�Z�dt�Z�du�Z�dv�Z�dw�Z�dx�Z�dy�Z�dz�Z�e��xr%e	j�d6k7xre
�j,d{�Z�e��j0duxre�Z�ej�e�d|�Z�d}�Z�d~�Z�e	�j:e�_�da�d�Z�ej�d���Z�ej�d���Z�d��Z�d��Z�Gd��d�eg�Z�da�d��Z�Gd��d��Z�d��Z�d�d��d��Z�		d�d��Z�d�d��Z�Gd��d��Z�d��Z�ej�d���Z�d��Z�dd��d��Z�d��Z�d�d��Z�gfd��Z�da�d��Z�d��Z�ej�d���Z�Gd��d��Z�d��Z�Gd��d��Z�e��Z�Gd��d��Z�e��Z�e�j~Gd��d���Z�e��Z�e�j~Gd��d���Z�e«Z�d��Z�e	�j��j�Z�d��Z�Gd��d��Z�dd��d��Z�d��Z�d��Z�d��Z�d��Z�ej�d���Z�d�d��Z�d�eed�eedJegfd��Z�d�egdJdfd��Z�d��Z�e�j�d���Z�ej�d���Z�eOe	d��Z�d��Z�d�d&d��d��Z�d�d�d�d&d��d„Z�ej�dÄ�Z�d�Z�e�reSrd�Z�n`d�Z�n]eSrd�Z�nXeOedǫr#e�j���j�d�k(rd�Z�n,e	j�j�dʫrd�Z�ne9d&�'�rd�Z�nd�Z�e�j�eOedǫxr e�j���j�d�k(dΫZ�e�d�d�h�Z�dфZ�d҄Z�dӄZ�GdԄdիZ�y#e\$rY��%wxYw)�ztest.supportz.support must be imported from the test package�N)Q�
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�
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�requires_limited_api�requires_specialization�
MS_WINDOWS�	is_jython�
is_android�
is_emscripten�is_wasi�check_impl_detail�
unix_shell�setswitchinterval�get_pagesize�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_TIMEOUT�Py_DEBUG�EXCEEDS_RECURSION_LIMIT�C_RECURSION_LIMIT�
skip_on_s390x�
BrokenIterg$@gN@g>@g�r@c��eZdZy)rN��__name__�
__module__�__qualname__���2/usr/local/lib/python3.12/test/support/__init__.pyrrls��4rZrc�,��eZdZ	dd��fd�
Zd�Z�xZS)r	N��statsc�B��||_||_t�|�|g|���y�N)�msgr^�super�__init__)�selfrar^�args�	__class__s    �r[rczTestFailed.__init__qs#��������
�
����$�t�$rZc��|jSr`)ra�rds r[�__str__zTestFailed.__str__vs���x�x�rZ)rVrWrXrcri�
__classcell__�rfs@r[r	r	os����)-�%�
rZr	c� ��eZdZ	�fd�Z�xZS)�TestFailedWithDetailsc�H��||_||_t�|�
||||��y)Nr])�errors�failuresrbrc)rdrarorpr^rfs     �r[rczTestFailedWithDetails.__init__{s'������ ��
�
����f�h�e��<rZ)rVrWrXrcrjrks@r[rmrmys����=�=rZrmc��eZdZy)r
NrUrYrZr[r
r
�s��(rZr
c��eZdZy)rNrUrYrZr[rr�s��rZrc�.�	|rtjSd�S)Nc��|Sr`rY)�fs r[�<lambda>z$anticipate_failure.<locals>.<lambda>�s��QrZ)�unittest�expectedFailure)�	conditions r[r&r&�s���
��'�'�'��rZc�f�	|�d}t}|j|||��}|j|�|S)Nztest*)�	start_dir�
top_level_dir�pattern)�
STDLIB_DIR�discover�addTests)�pkg_dir�loader�standard_testsr}�top_dir�
package_testss      r[r'r'�sI��������G��O�O�g�29�,3�$�5�M����M�*��rZc�r�		t||�}|S#t$rtjd|�d|����wxYw)Nzobject z has no attribute )�getattr�AttributeErrorrw�SkipTest)�obj�name�	attributes   r[rr�sG��I���C��&�	�����O����3�� M�N�N�O�s��%6�Fc��|ayr`)�_original_stdout)�stdouts r[rr�s���rZc�2�txstjSr`)r��sysr�rYrZr[r
r
�s���)�s�z�z�)rZc��	||�S#t$r3}tdk\r$t|jj�d|����d}~wt
$rz}tdk\r>t|jj�d|���td|j�|���t
j|tj�||�cYd}~Sd}~wwxYw)N��: zre-run )
�FileNotFoundErrorr�printrfrV�OSError�os�chmod�stat�S_IRWXU)�path�funcre�errs    r[�
_force_runr��s�����T�{������a�<��c�m�m�4�4�c�:�;�
�����a�<��c�m�m�4�4�c�:�;��4�=�=�$�7�8�
����t�|�|�$��T�{����s%��	C�.>�C�
A/B?�9C�?Cc	����ttd�rtjSddl}d}tjjd�r|j
�rd}�n�tjjd�r�ddl�ddl�d}d}G�fd�d�j�}�jj}|j�}|s�j��|�}�jj�}|j!||�j#|��j%|��j#|��}	|	s�j��t'|j(|z�s�d}n�tjd	k(r�dd
lm}
m�m}m	}ddlm}
|
j5|
d��}|j7�dk(rd
}nFG�fd�d|�}|�}||�}|j9|�dks|j;|�dkrd}|s>	ddlm}|�}|jA�|jC�|jE�|t_)|t_tjS#tF$rP}tI|�}tK|�dkDr|dddz}djMtO|�jP|�}Yd}~�{d}~wwxYw)N�resultr�winz(gui is not available on Windows IoT Corer�c���eZdZdW�jjfdW�jjfdW�jj
fgZy)�*_is_gui_available.<locals>.USEROBJECTFLAGS�fInherit�	fReserved�dwFlagsN)rVrWrX�wintypes�BOOL�DWORD�_fields_)�ctypess�r[�USEROBJECTFLAGSr��s@���#�V�_�_�%9�%9�:�$�f�o�o�&:�&:�;�"�F�O�O�$9�$9�:�<�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�"��eZdZdW�fdW�fgZy)�._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\���� �(�+� �'�'�'��
�F�
�|�|���u�%�(�*?�*?�*A�;��	���	 �	 ��	'�	���	���	<�f�.�.�	<��m�m�"�"���'�'�)����/�/�#�#�������&�&�(���+�+�A���L�L����M�M�#���L�L�� �	"��
��/�/�#�#��C�K�K�+�-�.�C�F�	����	!�	;�:�,��'�'��5J�(K�L���'�'�)�Q�.�G�F�
5�i�
5�&�'�C��C�L�E��1�1�%�8�1�<��/�/��6��:�>���	G�"��4�D��M�M�O��K�K�M��L�L�N� &���#)�z����#�#�#���	G��Q��J��:���#�'���_�x�7�
�3�:�:�4��7�;K�;K�;E�G�F��		G�s�=I%�%	J>�.AJ9�9J>c�(�	tduxs|tvSr`)r��resources r[rr"s���
�D� �=�H�
�$=�=rZc��	t|�s|�d|z}t|��|dvrtstd��|dk(r$t�sttj��yy)Nz"Use of the %r resource not enabled>�network�urlfetchzNo socket support�gui)rrr$r�r�)r�ras  r[rr*sg��J��x�(��;�6��A�C��S�!�!��*�*�3E��0�1�1��5��!2�!4��.�5�5�6�6�"5�rZc�v�	ddl}djtt|��}|j	�jdd�d}|j
�|k(r/	ttt|jd���}||k}nd}tj||�d|�d|���S#t$rd}Y�+wxYw)Nr�.�-r�Fz	 version � or higher required, not )r��join�mapr��release�split�system�tuple�int�
ValueErrorrw�skipIf)�sysname�min_versionr��min_version_txt�version_txt�version�skips       r[�_requires_unix_versionr5s������h�h�s�3��4�5�O��"�"�$�*�*�3��2�1�5�K�����G�#�	)��C��[�%6�%6�s�%;�<�=�G��[�(�D����?�?���)�9�_�-�-F��-�	�����	��D�	�s�(B*�*B8�7B8c��	td|�S)N�FreeBSD�r�r�s r[rrPs���"�)�[�9�9rZc��	td|�S)N�Linuxrrs r[rrYs���"�'�;�7�7rZc���	�fd�}|S)Nc�T���tj����fd��}�|_|S)Nc�V��tjdk(rddl}|j�d}	tt	t
|j
d���}|�kr:djt	t���}tjd|�d|�����|i|��S#t$rY�wxYw)Nr�rr�z	Mac OS X r�)r�r��mac_verr�r�r�r�r�r�rwr�r�)re�kwr�r�r�r�r�r�s      ��r[�wrapperz4requires_mac_ver.<locals>.decorator.<locals>.wrapperjs�����|�|�x�'��&�.�.�0��3��	>�#�C��[�->�->�s�-C�$D�E�G���,�*-�(�(�3�s�K�3H�*I��&�/�/�.��=�>�>���$��$�$��"����s�(B�	B(�'B()�	functools�wrapsr�)r�r
r�s` �r[�	decoratorz#requires_mac_ver.<locals>.decoratoris-���	����	�	%�
�	%�*����rZrY)r�rs` r[rrbs�����&�rZc��	ddl}|sd}	|j�j�dk(}tj||�S#ttf$r*}tjd|�d�t�d}Yd}~�Jd}~wwxYw)Nrznot suitable for buildbots�buildbotzgetpass.getuser() failed r�F)
�getpass�getuser�lower�KeyErrorr��warnings�warn�RuntimeWarningrwr�)r�r�
isbuildbotr�s    r[�skip_if_buildbotrsv��>���-����_�_�&�,�,�.�*�<�
��?�?�:�v�.�.��
�g����
�
�1�#��a�8�.�I��
���s�!A�A;� A6�6A;��address�memory�ub�threadc��	|s|s|s
|std��tjd�xsd}tjd�xsd}d|vxsd|v}d|vxsd|v}d	|vxsd
|v}d|vxsd|v}	|xr|xs|xr|xs|xr|xs|xr|	S)
Nz:At least one of address, memory, ub or thread must be True�CFLAGS��CONFIG_ARGSz-fsanitize=memoryz--with-memory-sanitizerz-fsanitize=addressz--with-address-sanitizerz-fsanitize=undefinedz#--with-undefined-behavior-sanitizerz-fsanitize=threadz--with-thread-sanitizer)r��	sysconfig�get_config_var)
rrrr �cflags�config_args�memory_sanitizer�address_sanitizer�ub_sanitizer�thread_sanitizers
          r[r,r,�s���C��v��v��U�V�V��
%�
%�h�
/�
5�2�F��*�*�=�9�?�R�K��v�%�	1�!�[�0��
	��&�	2�"�k�1��
	�&�(�	=�-��<��
	�v�%�	1�!�[�0��

�	$�$�	&�	�	&�&�	&�	�	��	&�
�	$�$�	rZc�V�	|sd}t||||��}tj||�S)Nz"not working with sanitizers activer)r,rwr�)r�rrrr rs      r[r-r-�s.��H��5���7�6�b��P�D��?�?�4��(�(rZT)rc�F�dD]}||vr||xxd|��z
cc<�|||<�y)N)�ASAN_OPTIONS�MSAN_OPTIONS�
UBSAN_OPTIONS�TSAN_OPTIONS�:rY)�env�optionr�s   r[�set_sanitizer_env_varr6�s1��Q���3�;���I�1�V�H��%�I��C��I�	RrZc�D��	tj���fd��}|S)Nc���	�|i|��y#t$r(}dt|�vrtjd���d}~wwxYw)N�CERTIFICATE_VERIFY_FAILEDz.system does not contain necessary certificates)r�r�rwr�)re�kwargsr�rus   �r[�decz&system_must_validate_cert.<locals>.dec�sO���	�
�t��v����	�*�c�!�f�4��'�'�)A�B�B���		�s��	=�#8�=)rr)rur;s` r[�system_must_validate_certr<�s(���?��_�_�Q������JrZi@i�double�IEEEztest requires IEEE 754 doublesc�Z�	ddl}tj||�S#t$rd}Y�#wxYw�Nr)�zlib�ImportErrorrw�
skipUnless)r�rAs  r[rr��5�������t�V�,�,����������*�*c�Z�	ddl}tj||�S#t$rd}Y�#wxYwr@)�gziprBrwrC)r�rGs  r[rr�rDrEc�Z�	ddl}tj||�S#t$rd}Y�#wxYwr@)�bz2rBrwrC)r�rIs  r[rr�s5�������s�F�+�+�������rEc�Z�	ddl}tj||�S#t$rd}Y�#wxYwr@)�lzmarBrwrC)r�rKs  r[rr�rDrEc��	ddl}|j	�}t|d�S#t$rtjd��wxYw)Nr�_testinternalcapi required�code_debug_ranges)�_testinternalcapirBrwr��
get_configr�)rO�configs  r[�has_no_debug_rangesrR�sQ��>� ��
)�
)�
+�F��F�.�/�0�0�0���>���� <�=�=�>�s	�%�Ac�>�tjt�|�Sr`)rwr�rR)r�s r[�requires_debug_rangesrTs���?�?�.�0�&�9�9rZc�^�	ddlm}tj|d�S#t$rd}Y�#wxYw)Nr��unicode_legacy_stringzrequires legacy Unicode C API)�	_testcapirWrBrwrCrVs r[�requires_legacy_unicode_capirYs>��%�3����4�>�@�@���%� $��%�s��,�,�win32�java�getandroidapilevel)rZ�vxworksz/system/bin/shz/bin/sh�
emscripten�wasi�forkc�6�tjtd�S)Nzrequires working os.fork())rwrCr rYrZr[r!r!"s�����/�1M�N�NrZc�8�	tjtd�S)Nzrequires subprocess support)rwrCr"rYrZr[r#r#'s��=����5�7T�U�UrZ)�modulec�x�	d}|rtstj|��ytjt|�S)Nzrequires socket support)r$rwr�rC)rcras  r[r%r%.s@���$�C�
�!��#�#�C�(�(�"��"�"�#5�s�;�;rZz%4Yzhttp://www.pythontest.net�datac���	tjdk7ryddl}d}|�d�}|j�\}}t	|j|d��t	|�t	d|z�y)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 https://github.com/python/cpython/issues/85100r�)r�r��shutil�get_terminal_sizer��center)�	test_namergra�detail�padding�_s      r[�darwin_malloc_err_warningrnSsk���
�|�|�x����
�C���C�C�F�
�)�)�+�J�G�Q�	�#�*�*�W�c�
"�#�	�&�M�	�#��-�rZc�R�	tjj|�r|S|� tjj||�}tgt
jz}|D]E}tjj||�}tjj
|�s�C|cS|Sr`)r�r��isabsr��
TEST_HOME_DIRr��exists)�filename�subdirr��dn�fns     r[r=r=fs����
�w�w�}�}�X����
���7�7�<�<���1���?�S�X�X�%�D���
�W�W�\�\�"�h�
'��
�7�7�>�>�"��b�y���OrZc��	t|j��}|D�cgc]}d|z��	}}dj|�}d|zScc}w)Nz%r: %rz, z{%s})�sorted�itemsr�)�dictry�pair�	reprpairs�
withcommass     r[rCrCysK��+��4�:�:�<� �E�-2�3�U�T��D��U�I�3����9�%�J��J����4s�A�code�returnc�J�	i}ttj|�|�|Sr`)�exec�textwrap�dedent)r~�nss  r[�run_coder��s"��R�	�B������	��#�
�IrZ)�lineno�offsetc�r�|jt|�5}t|dd�ddd�j}|j	|j
�|�|j
|j
|�|j	|j�|�|j
|j|�yy#1swY��xYw)Nz
<test string>r�)�assertRaisesRegex�SyntaxError�compile�	exception�assertIsNotNoner��assertEqualr�)�testcase�	statement�errtextr�r��cmr�s       r[rr�s���	�	#�	#�K��	9�R��	�?�F�3�
:�
�,�,�C����S�Z�Z�(�
�����S�Z�Z��0����S�Z�Z�(�
�����S�Z�Z��0��
:�	9�s�B-�-B6c����
�ddl}ddl}ddlm}	ddl}�j
dd��
|jj|�djd�d}tjjt|�}��
�fd�}tjj|�r||�}	|	�|	S||�td	�t rt#d
|zt%���|j&j)�}
|r|
j*j-d�|
j/|t0�
�}	|r0|	j2j5d�dk(r|j7|	��}		t/|d�5}|	j9�}|r$|j;|�|	j9�}|r�$ddd�|	j=�||�}	|	�|	St?d|z��#t
$rd}Y���wxYw#1swY�ExYw#|	j=�wxYw)Nrr�)�unlink�checkr��/���c���t|g���i���}��|S�|�r|jd�|S|j�yr@)�open�seek�close)rvrurer�rs  ���r[�check_valid_filez*open_urlresource.<locals>.check_valid_file�sA�����!�d�!�b�!���=��H�
�1�X�
�F�F�1�I��H�	���	rZr�z	fetching %s ...��file)zAccept-EncodingrG��timeoutzContent-EncodingrG)�fileobj�wbzinvalid resource %r) �urllib.request�urllib.parse�	os_helperr�rGrB�pop�parse�urlparser�r�r�r��
TEST_DATA_DIRrrrrr�r
�request�build_opener�
addheaders�appendr�rL�headers�get�GzipFile�read�writer�r	)�urlrer�urllibr�rGrsrvr�ru�opener�out�sr�s ``          @r[r9r9�s����'�!���
�F�F�7�D�!�E��|�|�$�$�S�)�!�,�2�2�3�7��;�H�	�����m�X�	.�B��
�w�w�~�~�b���R� ���=��H��r�
�
�Z���
�!�C�'�.A�.C�D�
�^�^�
(�
(�
*�F����� � �!<�=����C�!1��2�A���	�	�
�
�0�1�V�;��M�M�!�M�$���
�"�d�^�s�����A���	�	�!���F�F�H����	
���	����A��}���
�*�R�/�
0�0��_������H�^��	
���	�s5�G�!G4�-6G(�$G4�G%�$G%�(G1�-G4�4Hc#��K�	ddl}tt|�}tt||j	��	tt|���tt||�y#tt||�wxYw�wr@)�ior�r��setattr�StringIO)�stream_namer��orig_stdouts   r[�captured_outputr��sW����O�
��#�{�+�K��C��b�k�k�m�,�/��c�;�'�'���[�+�.����[�+�.�s�5A2�A�
A2�A/�/A2c��	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�n�	ddl}|j�|j�|j�yr@)�gc�collect)r�s r[�
gc_collectr��s'�����J�J�L��J�J�L��J�J�LrZc#�K�ddl}|j�}|j�	d��|r|j�yy#|r|j�wwxYw�wr@)r��	isenabled�disable�enable)r��have_gcs  r[�
disable_gcr�sG����
��l�l�n�G��J�J�L��
���I�I�K���7��I�I�K��s�%A�A�A�A�Ac��	tjd�xsd}d}|j�D]}|jd�s�|}�|dvS)N�	PY_CFLAGSr#z-O)r#z-O0z-Og)r%r&r�r�)r'�	final_opt�opts   r[�python_is_optimizedr�sN��6�
�
%�
%�k�
2�
8�b�F��I��|�|�~���>�>�$���I���.�.�.rZc���tjd�xsd�gd�}tjd�}|r|j|�t�fd�|D��S)N�PY_CFLAGS_NODISTr#)z
-fprofile-usez-fprofile-instr-usez	-prof-use�PGO_PROF_USE_FLAGc3�&�K�|]}|�v���
y�wr`rY)�.0r5�
cflags_nodists  �r[�	<genexpr>z#check_cflags_pgo.<locals>.<genexpr>*s�����A�[�6�v��&�[�s�)r%r&r��any)�pgo_optionsr�r�s  @r[�check_cflags_pgor�sY����,�,�-?�@�F�B�M��K�"�0�0�1D�E������,�-��A�[�A�A�ArZ�nP�0n�
getobjects�2P�0P�nc�J�trytjd�xsd}d|vS)NFr$r#z
--enable-bolt)r4r%r&)r(s r[�check_bolt_optimizedr�4s*�����*�*�=�9�?�R�K��k�)�)rZc�H�ddl}|jt|ztz�Sr@)�struct�calcsize�_header�_align��fmtr�s  r[�calcobjsizer�=s����?�?�7�S�=�6�1�2�2rZc�H�ddl}|jt|ztz�Sr@)r�r��_vheaderr�r�s  r[�calcvobjsizer�Bs����?�?�8�c�>�F�2�3�3rZi@ic��	ddl}t	j
|�}t
|�tk(r|jtzs.t
|�tk7r+t
|�jtzr||jz
}dt
|�||fz}|j|||�y#t$rtjd��wxYw)NrrMz&wrong size for %s: got %d, expected %d)rOrBrwr�r��	getsizeofr��	__flags__�_TPFLAGS_HEAPTYPE�_TPFLAGS_HAVE_GC�SIZEOF_PYGC_HEADr�)�test�o�sizerOr�ras      r[�check_sizeofr�Js���>� ��]�]�1�
�F�	
�a��D��q�{�{�->�>�
�q�'�T�/��Q�� 1� 1�4D� D��!�2�2�2��
2��A�w���%�&�C����V�T�3�'���>���� <�=�=�>�s�B"�"Cc'�2K�	ddl}t||�}|j|�}|D]}	|j||�n		d��|r|r|j|�yyy#Y�<xYw#t$r�dx}}Y�6xYw#|r|r|j|�wwwxYw�wr@)�localer��	setlocaler�)�catstr�localesr��category�orig_locale�locs      r[r;r;\s��������6�6�*���&�&�x�0���C�
�� � ��3�/���4�
��k����X�{�3�"�6��

�����
�$�#�#�����k����X�{�3�"�6�sI�B�!A&�B�A�B�A:�B�A#�!B�&A7�5B�:B�Bc����fd�}|S)Nc�Z�����fd�}�j|_�j|_|S)Nc���	tj}dt
jvrt
jd}nd}�t
jd<|�	�|i|��|�t
jd=n|t
jd<tj�S#t$rtjd��wxYw#|�t
jd=n|t
jd<tj�wxYw)Nztzset required�TZ)�time�tzsetr�rwr�r��environ)re�kwdsr	�orig_tzr��tzs    ��r[�innerz-run_with_tz.<locals>.decorator.<locals>.inner|s����
:��
�
���r�z�z�!��*�*�T�*����!�B�J�J�t���G�
��T�*�T�*��?��
�
�4�(�'.�B�J�J�t�$��
�
���#"�
:��'�'�(8�9�9�
:���?��
�
�4�(�'.�B�J�J�t�$��
�
��s�B�B;�B8�;=C8)rV�__doc__)r�rr
s` �r[rzrun_with_tz.<locals>.decorator{s%���	�,���������
��rZrY)r
rs` r[rDrDzs����4�rZi�r���limitc�F�dttdtzd�}tjd|tjtj
z�}|�t
d|����tt|jd��||jd�j�z�S)Nr)�k�m�g�tz(\d+(?:\.\d+)?) (K|M|G|T)b?$zInvalid memory limit: r�r�)�_1M�_1G�re�match�
IGNORECASE�VERBOSEr�r��float�groupr)r�sizesrs   r[�_parse_memlimitr!�s���
�
�
�
�#�X�	
�E�	���0�%�������+�	-�A��y��1�%��;�<�<��u�Q�W�W�Q�Z� �5������)9�)9�);�#<�<�=�=rZc�p�t|�}|tdz
krtd��|at	|t
�}|ay)Nr�z+Memory limit {limit!r} too low to be useful)r!�_2Gr��real_max_memuse�min�MAX_Py_ssize_tr)r�memlimits  r[rArA�s<���u�%�H��#��'���F�G�G��O��8�^�,�H��JrZc� �eZdZ	d�Zd�Zd�Zy)�_MemoryWatchdogc�d�djtj���|_d|_y)Nz/proc/{pid}/statm)�pidF)r�r��getpid�procfile�startedrhs r[rcz_MemoryWatchdog.__init__�s$��+�2�2�r�y�y�{�2�C��
���rZc��ddl}	t|jd�}ddl
}|5td�}|jtj|g||j��|_ddd�d|_y#t$rN}|jdj|�t�tjj�Yd}~yd}~wwxYw#1swYd|_yxYw)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.)rdrrur�r2�watchdog_scripts      r[�startz_MemoryWatchdog.start�s����	��T�]�]�C�(�A�	�
�&�';�<�O� *� 0� 0�#�.�.�/�1R�78�8B�8J�8J�!1�!L�D���
�����	��H�M�M�=�D�D�Q�G�(�
*��J�J������		���
���s#�A1�?C�1	C�:AC�C�Cc��|jr5|jj�|jj�yyr`)r.r6�	terminate�waitrhs r[�stopz_MemoryWatchdog.stop�s2���<�<����'�'�)����"�"�$�rZN)rVrWrXrcr8r<rYrZr[r)r)�s�����$%rZr)c�����	���fd�}|S)Nc�6�������fd����_��_�S)Nc����j}�j}tsd}n|}ts�s*t||zkrtjd||zdzz��trLt
rFt
�t
dj||zdz���t�}|j�nd}	�||�|r|j�SS#|r|j�wwxYw)Ni�'not enough memory: %.1fG minimum needed�@z* ... expected peak memory use: {peak:.1f}G)�peak)r��memuser$rwr�rr�r�r)r8r<)rdr�rC�maxsize�watchdog�dry_runrur
s     ���r[r
z.bigmemtest.<locals>.decorator.<locals>.wrapper�s�����<�<�D��^�^�F�"����� ��#�g��&6�6��'�'�=��f�}�	�2�4�5�5��7����B��v�4�&�=�I�#>�v�?�A�*�,����� ���
$���w�'���M�M�O���8��M�M�O��s�,C�C)r�rC)rur
rFrCr�s`@���r[rzbigmemtest.<locals>.decorator�s���	$�:�������rZrY)r�rCrFrs``` r[rr�s���� �B�rZc���	�fd�}|S)Nc���ttkrFtdk\rtdk\rtjd��tjdtdzz���|�S)Nl����lz-not enough memory: try a 32-bit build insteadr@rA)rr&rwr�)rdrus �r[r
z!bigaddrspacetest.<locals>.wrappersb�����&���*�z�U�/B��'�'�C�E�E��'�'�=�%��3�5�6�6��T�7�NrZrY)rur
s` r[rrs���:�
��NrZc��|Sr`rY)r�s r[�_idrJ s���JrZc���|dk(r-t�s#tjtj�St	|�rt
Stjdj
|��S)Nr�zresource {0!r} is not enabled)r�rwrr�rrJr�r�s r[�requires_resourcerL#sN���5��!2�!4��}�}�.�5�5�6�6��8�$��
��}�}�<�C�C�H�M�N�NrZc�(�	td��|�S)NT)�cpython)�impl_detail�r�s r[rr+s���%�;�t�$�T�*�*rZc���tdi|��rtS|�Nt|�\}}|rd}nd}t|j	��}|jdj
|��}tj|�S)Nz*implementation detail not available on {0}z%implementation detail specific to {0}z or rY)	r5rJ�
_parse_guardsrx�keysr�r�rwr)ra�guards�
guardnames�defaults    r[rOrO1sj���"�6�"��
�
�{�+�F�3��
�G��>�C�9�C��J�O�O�-�.�
��j�j����Z�0�1���=�=���rZc�T�|sddidfSt|j��d}||fS)NrNTFr)�list�values)rT�is_trues  r[rRrR>s7����D�!�5�)�)��6�=�=�?�#�A�&�G���K� � rZc�t�	t|�\}}|jtjj|�Sr`)rRr�r��implementationr�)rTrVs  r[r5r5Hs4���$�F�+�O�F�G��:�:�c�(�(�-�-�w�7�7rZc�h��	ttd�s�Stj���fd��}|S)N�gettracec����tj�}	tjd��|i|��tj|�S#tj|�wxYwr`)r�r^�settrace)rer:�original_tracer�s   �r[r
zno_tracing.<locals>.wrapperXsE��� �\�\�^�N�
-����T�"��T�,�V�,����^�,�����^�,�s�A	�	A )r�r�rr)r�r
s` r[�
no_tracingrbSs7���O��3�
�#���	����	�	-�
�	-��rZc�,�	tt|��Sr`)rbrrPs r[�
refcount_testrdcs����l�4�(�)�)rZc��	ddl}tj|j
d�|�S#t$rtjd�|�cYSwxYw)Nrzneeds _testcapi modulezneeds Limited API support)rXrBrwrrC�LIMITED_API_AVAILABLE)r�rXs  r[r.r.nsa��=��F�8����'�'�)D�F�FJ�L�L���=�6�x�}�}�5�6�t�<�<�=�s�,�$A�Ac�V�tjtjd�|�S)Nzrequires specialization)rwrC�opcode�ENABLE_SPECIALIZATIONrPs r[r/r/vs1��A�8����$�$�&?�A�AE�G�GrZc��yr`rYrYrZr[�_check_docstringsrk�s��6rZ�WITH_DOC_STRINGSztest requires docstringsc��tj�tjj�tj�tjj�yyr`)r�r�r1r�rYrZr[�flush_std_streamsrn�s;��
�z�z���
�
����
�z�z���
�
����rZc��t�tj}|j�D]}t	d|��|���|j�y)NzWarning -- r�)rn�
print_warning�orig_stderr�
splitlinesr�r1)ra�stream�lines   r[rprp�s>����
�
&�
&�F���� ��
��D�6�"��0�!�
�L�L�NrZc���	ttd�rttd�sytsy		tjdtj�\}}|dk(ryt
d|���da�?#t
$rYywxYw)N�waitpid�WNOHANGTr�rz%reap_children() reaped child process )r�r�r"rvrwr�rp�environment_altered)r+�statuss  r[r:r:�s����
�B�	�"�w�r�9�'=��
#���	��*�*�R����4�K�C���!�8���=�c�U�C�D�"�����	��	�s�'A*�*	A6�5A6c#�4K�	t||�r,t||�}t|||�	|��t|||�yt|||�	d��t||�r
t||�yy#t|||�wxYw#t||�r
t||�wwxYw�wr`)r�r�r��delattr)r��attr�new_val�real_vals    r[r?r?�s�����
��s�D���3��%����T�7�#�	)��N��C��x�(���T�7�#�	#���s�D�!���T�"�"��

�C��x�(���s�D�!���T�"�"�s3�'B�A(�B�
A:�B�(A7�7B�:B�Bc#�K�	||vr||}|||<	|��|||<y|||<	d��||vr||=yy#|||<wxYw#||vr||=wwxYw�wr`rY)r��itemr}r~s    r[r<r<�s����
��s�{��t�9����D�	�	!��N� �C��I���D�	�	���s�{���I���
!�C��I���s�{���I��s+�A�0�A�:�	A�7�A�
A�Ac�,�	ddl}|j�Sr@)r2�_args_from_interpreter_flags�r2s r[�args_from_interpreter_flagsr�
s��2���2�2�4�4rZc�,�	ddl}|j�Sr@)r2�"_optim_args_from_interpreter_flagsr�s r[�!optim_args_from_interpreter_flagsr�s��+���8�8�:�:rZc��eZdZdZd�Zd�Zy)r@)ra�messagec�v�	d}|D]0}||}|j|�}|j|||�r�-d}|S|S)NTF)r��match_value)rd�dr:r�r�v�dvs       r[�matcheszMatcher.matchessT��	����A��q�	�A����q��B��#�#�A�r�1�-�����
�
��
rZc��	t|�t|�k7rd}|St|�tus||jvr||k(}|S|j|�dk\}|S)NFr)r�r��_partial_matches�find)rdrr�r�r�s     r[r�zMatcher.match_value,sh��	���7�d�2�h���F�
�
�	�"�X�S�
 �A�T�-B�-B�$B��2�g�F��
��W�W�Q�Z�1�_�F��
rZN)rVrWrXr�r�r�rYrZr[r@r@s��)���"
rZr@c��	ddl}t�Ltjdk(r7|j	�dk(r$tj�jdk(rdandatrtjd�|�S|S)NrrZ�cp65001r#TFz!buggy MSVC UCRT strptime/strftime)
r��_buggy_ucrtr�r��getencodingr�	localtime�tm_zonerwr)r�r�s  r[r*r*:sn�������<�<�7�"��"�"�$�	�1���� �(�(�B�.��K��K�GR�=�8�=�=�<�=�d�C�\�X\�\rZc�l�eZdZ	d
d�Zej
dk(rd�Znd�Zd�Zd�Zd�Z	d	d
�d�Z
d	d
�d�Zy)�
PythonSymlinkNc��ddlm}|xstjj	|�|_g|_tjjtj�|_
g|_d|_|j�y)Nr�)�TESTFN)r�r�r�r��abspath�link�_linked�realpathr�r4�real�
_also_link�_env�_platform_specific)rdr�r�s   r[rczPythonSymlink.__init__QsY��%��3�B�G�G�O�O�F�3��	�����G�G�$�$�S�^�^�4��	������	����!rZrZc
���ddl}ddl}tjj	|j
�r?tjj
|j
�s|jd�|_|jtj�}tjj|�}tjj|j�}|jj|tjj|tjj|��f�|jtjj|j!|�d��D]Z}|jj|tjj|tjj|��f��\tj"D�cic]&}|j%�tj&|���(c}|_tjj|j
�|j(d<t+j,�rt.|j(d<yycc}w)Nrzvcruntime*.dll�
PYTHONHOME�
PYTHONPATH)�glob�_winapir�r��lexistsr�rr�GetModuleFileNamer��	dllhandle�dirnamer�r�r�r��basename�escaper
�upper�getenvr�r%�is_python_buildr~)rdr�r�r��src_dir�dest_dir�runtimers        r[r�z PythonSymlink._platform_specific^s������w�w���t�y�y�)�"�'�'�.�.����2K�$�5�5�a�8��	��+�+�C�M�M�:�C��g�g�o�o�c�*�G��w�w���t�y�y�1�H��O�O�"�"�������X�r�w�w�'7�'7��'<�=�$�
� �9�9�R�W�W�\�\�$�+�+�g�2F�HX�%Y�Z�����&�&���G�G�L�L��2�7�7�+;�+;�G�+D�E�(��[�;=�*�*�E�*�Q�����B�I�I�a�L�0�*�E�D�I�&(�g�g�o�o�d�i�i�&@�D�I�I�l�#��(�(�*�*4��	�	�,�'�+��Fs�+I/c��yr`rYrhs r[r�z PythonSymlink._platform_specificy���rZc�.�tj|j|j�|jj|j�|jD]6\}}tj||�|jj|��8|Sr`)r��symlinkr�r�r�r�r�)rdr�r�s   r[�	__enter__zPythonSymlink.__enter__|sg��
�
�
�4�9�9�d�i�i�(������D�I�I�&��/�/�J�D�$��J�J�t�T�"��L�L����%�*��rZc��|jD]}	tj|��y#t$r+}trtdj
||��Yd}~�Kd}~wwxYw)Nzfailed to clean up {}: {})r�r��remove�IOErrorrr�r�)rd�exc_type�	exc_value�exc_tbr��exs      r[�__exit__zPythonSymlink.__exit__�sO���L�L�D�
H��	�	�$��!���
H���5�<�<�T�2�F�G���
H�s�)�	A�!A�Ac�x�ddl}|g|�}|j||j|j|��}|j�}|j|k7rht
r>t
t|d��t
t|d�tj��tdj|j���|S)Nr)r�r�r4r�r�z'unexpected return code: {0} (0x{0:08X}))r2r3�PIPE�communicate�
returncoderr��reprr�r��RuntimeErrorr�)	rd�pythonrer4r�r2�cmd�pr0s	         r[�_callzPythonSymlink._call�s�����o��o�����S����$.�O�O��
�
>��
�M�M�O���<�<�:�%���d�1�Q�4�j�!��d�1�Q�4�j�s�z�z�2��9�@�@����N�P�
P��rZr)r�c�>�|j|j|d|�Sr`)r�r��rdr�res   r[�	call_realzPythonSymlink.call_real�s���z�z�$�)�)�T�4��<�<rZc�R�|j|j||j|�Sr`)r�r�r�r�s   r[�	call_linkzPythonSymlink.call_link�s���z�z�$�)�)�T�4�9�9�j�A�ArZr`)rVrWrXrcr�r�r�r�r�r�r�r�rYrZr[r�r�OsG��=�
"��|�|�w��	5�6	��H��+,�=�+,�BrZr�c�d�	txst}d}|r|Stj|�|�S)Nz#Not run for (non-extended) PGO task)rE�PGO_EXTENDEDrwr)r��okras   r[�skip_if_pgo_taskr��s4��E�
��	 �L�B�
/�C��4�3�-�8�=�=��-�d�3�3rZrY)�ignorec��	tt|��tt|��z
}|r|t|�z}td�|D��}|S)Nc3�dK�|](}|jd�r|jd�r|���*y�w)rm�__N)r��endswith)r�rs  r[r�z&detect_api_mismatch.<locals>.<genexpr>�s.����F�=�a� �|�|�C�0�A�J�J�t�4D��=�s�.0)�set�dir)�ref_api�	other_apir��
missing_itemss    r[r(r(�sU�����G��%��C�	�N�(;�;�M�
���V��$�
��F�=�F�F�M��rZc��	|�|jf}nt|t�r|f}t|�}t	|�D]l}|jd�s||vr�t
||�}t
|dd�|vs(t|d�r�At|tj�r�\|j|��n|j|j|�y)NrmrW)
rV�
isinstancer�r�r�r�r�r��types�
ModuleType�add�assertCountEqual�__all__)�	test_caserc�name_of_module�extra�not_exported�expectedr�r�s        r[r)r)�s���%�N�� �/�/�,��	�N�C�	(�(�+���5�z�H��F����?�?�3��4�<�#7���f�d�#���C��t�,��>��S�,�/���U�%5�%5�6��L�L�������v�~�~�x�8rZc��	ddl}|j|j|jz|j
z|jz�t|d�rv|j|j|jfD]O}|r9|j||j�|j||j��>|j|d��Qyy#t$rYywxYw)Nr�CrtSetReportMode)�msvcrtrB�SetErrorMode�SEM_FAILCRITICALERRORS�SEM_NOALIGNMENTFAULTEXCEPT�SEM_NOGPFAULTERRORBOX�SEM_NOOPENFILEERRORBOXr��CRT_WARN�	CRT_ERROR�
CRT_ASSERTr��CRTDBG_MODE_FILE�CrtSetReportFile�CRTDBG_FILE_STDERR)rr�rs   r[�suppress_msvcrt_assertsr��s���������5�5� �;�;�<� �6�6�7�!�7�7�8�9��v�)�*��/�/�6�#3�#3�V�5F�5F�G�A���'�'��6�+B�+B�C��'�'��6�+D�+D�E��'�'��1�-�H�+������s�C�	C�Cc�"�eZdZ	dZdZd�Zd�Zy)rBNc��	tjjd�r�	ddl}|j�|_|j|j|jz�t|d�rxi|_
|j|j|jfD]K}|j||j�}|j!||j"�}||f|j|<�M|S	ddl}||_|j$�t	|j$j'|j$j(�|_|j$j+|j$j(d|jdf�tjdk(roddl}gd�}|j3||j4|j4��}|5|j7�d}	ddd�	j9�dk(rt;d	d
d��|S#t$rYywxYw#t$rd|_Y��&wxYw#t,t.f$rY��wxYw#1swY�gxYw)
Nr�rr�r�r�)z/usr/bin/defaultsr�zcom.apple.CrashReporter�
DialogType)r�r�s	developerz:this test triggers the Crash Reporter, that is intentionalr#T)�endr1)r�r�r�r�rB�GetErrorMode�	old_valuer�r�r��	old_modesr�r�r�r�r�r�r�r��	getrlimit�RLIMIT_CORE�	setrlimitr�r�r2r3r�r��stripr�)
rdr��report_type�old_mode�old_filer�r2r��procr�s
          r[r�zSuppressCrashReport.__enter__s��	��<�<�"�"�5�)�
��$�0�0�2�D�N��������1M�1M� M�N��v�1�2�!#���$*�O�O�$*�$4�$4�$*�$5�$5�$7�K� &�6�6�{�"�3�3� 5�H�%�6�6�{�"�5�5� 7�H�2:�H�2D�D�N�N�;�/�$7�T��A
%�� (��
��}�}�(��%)�]�]�%<�%<�T�]�]�=V�=V�%W�D�N��M�M�+�+�D�M�M�,E�,E�-.����q�0A�,B�D�
�|�|�x�'�!�@��!�'�'��/9���/9���(�@���!�-�-�/��2�F���<�<�>�\�1��0�57�t�E����k�
��
��0�
%� $��
�
%��#�G�,����� �T�sB�G9�*H�A3H�:H4�9	H�H�H�H�H1�0H1�4H=c��	|j�ytjjd�rvddl}|j|j�|jrJ|jj�D],\}\}}|j||�|j||��.yy|j�<	|jj|jj|j�yy#ttf$rYywxYw)Nr�r)rr�r�r�r�r�rryr�r�r�rrr�r�)rd�
ignore_excr�rrrs      r[r�zSuppressCrashReport.__exit__Rs���O��>�>�!���<�<�"�"�5�)��������/��~�~�9=���9M�9M�9O�5�K�!5�(�H��+�+�K��B��+�+�K��B�:P��
�}�}�(���M�M�+�+�D�M�M�,E�,E�t�~�~�V�)��#�G�,����s�1:C-�-C?�>C?)rVrWrXrrr�r�rYrZr[rBrBs���
�I��I�@�DrZrBc�������	t���d�	�j��d�����fd�}|j	|�t��|�y#ttf$rt��d��Y�EwxYw)NFTc�>���rt����yt���yr`)r�r{)�
attr_is_local�	attr_name�object_to_patchrs����r[�cleanupzpatch.<locals>.cleanup}s�����O�Y�	�:��O�Y�/rZ)r��__dict__r�r�
addCleanupr�)�
test_instancerr�	new_valuerrrs ``  @@r[�patchrgs~�����O�Y�'��M��#�,�,�Y�7�	��
�0����W�%��O�Y�	�2��
�H�%�>��O�Y��=�	�>�s�A
�
A,�+A,c#�@K�		|dd}d��||ddy#|ddwxYw�wr`rY)�orig�saveds  r[�
patch_listr�s,����7���Q���
���Q���%��Q��s��	���c�B�	t�ddl}|j|�Sr@)�_check_tracemallocrX�run_in_subinterp)r~rXs  r[rr�s#�������%�%�d�+�+rZ)�own_gilc�\�	t�ddl}|�	|rdnd|d<|j|fi|��S)Nrr�r��gil)rrX�run_in_subinterp_with_config)r~rrQrXs    r[r!r!�s=��������$��!��u�
�1�9�1�1�$�A�&�A�ArZc�v�	ddl}|j�rtjd��y#t$rYywxYw)NrzUrun_in_subinterp() cannot be used if tracemalloc module is tracing memory allocations)�tracemalloc�
is_tracingrwr�rB)r#s r[rr�sI��;���!�!�#��#�#�%:�;�
;�$���
��
�s�,�	8�8c����G��fd�d|�}d�|||���|jtt��t�|j	��y)Nc���eZdZ��fd�Zy)�%check_free_after_iterating.<locals>.Ac�@��d�	t��y#t$rYywxYw�NT)�next�
StopIteration)rd�done�its ��r[�__del__z-check_free_after_iterating.<locals>.A.__del__�s&����D�
��R��� �
��
�s��	�N)rVrWrXr.)r,r-s��r[�Ar'�s���	rZr/F)�assertRaisesr+r*r��
assertTrue)r��iter�clsrer/r,r-s     @@r[�check_free_after_iteratingr4�sF����C���D�	
�a��h��B����m�T�2�.��L��O�O�D�rZc�^�	ddlm}m}m}ddlm}|j
�}|j|�|jdk(r	|j�|jD]6}|r||vr�
t||�}|rn|s�|j|d���1|dcSy#|j$rYywxYw)Nr)�	ccompilerr%�spawn)ro�msvc)�setuptools._distutilsr6r%r7�
setuptoolsro�new_compiler�customize_compiler�
compiler_type�
initialize�
PlatformError�executablesr��find_executable)�	cmd_namesr6r%r7ro�compilerr�r�s        r[rFrF�s����B�A�!��%�%�'�H� �I� � ��*�����'�	����!��$�$����Y�.���h��%������ � ��Q��(�0��q�6�M�%���#�#�	��	�s�B�B,�+B,c��d}tr;||kr6t�(ddl}|jddg�j	�dk(atr|}tj|�S)Ng�h㈵��>r�getpropzro.kernel.qemu�1)r2�_is_android_emulatorr2�check_outputrr�r7)�interval�minimum_intervalr2s   r[r7r7�s`�����h�!1�1��'��$.�$;�$;� )�+;�<�%>�>C�e�g��%N� ��'�H�� � ��*�*rZc��		tjd�}|S#ttf$r3	tjd�}Y|S#ttf$rd}YY|SwxYwwxYw)N�SC_PAGESIZE�SC_PAGE_SIZEi)r��sysconfr�r�)�	page_sizes r[r8r8�sr��&���J�J�}�-�	����
��'��	��
�
�>�2�I�����N�+�	��I���	���s&��A�A�A�A�A�Ac#�K�ddl}tjj�}|j	�}	|j�d��|r|j
|d��yy#|r|j
|d��wwxYw�w)NrT)r��all_threads)�faulthandlerr��
__stderr__�fileno�
is_enabledr�r�)rR�fdrUs   r[�disable_faulthandlerrWsu�����


���	�	�	 �B��(�(�*�J�;�����
�����R�T��:���:����R�T��:��s�3A<�A!�
A<�!A9�9A<c� �eZdZ	d�Zd�Zd�Zy)�SaveSignalsc���ddl}||_|j�|_dD]*}	t||�}|jj|��,i|_y#t$rY�@wxYw)Nr)�SIGKILL�SIGSTOP)�signal�
valid_signals�signalsr�r�r��handlers)rdr]�signame�signums    r[rczSaveSignals.__init__#sh�������+�+�-���-�G�
� ���1��
�L�L����'�.���
��"�
��
�s�A�	A$�#A$c��|jD]/}|jj|�}|��!||j|<�1yr`)r_r]�	getsignalr`�rdrb�handlers   r[�savezSaveSignals.save0s<���l�l�F��k�k�+�+�F�3�G����$+�D�M�M�&�!�#rZc��|jj�D]!\}}|jj||��#yr`)r`ryr]res   r[�restorezSaveSignals.restore<s1��#�}�}�2�2�4�O�F�G��K�K���v�w�/� 5rZN)rVrWrXrcrgrirYrZr[rYrYs����
,�0rZrYc�"�ddl}|jSr@)rX�
WITH_PYMALLOC)rXs r[�
with_pymallocrlAs����"�"�"rZc��eZdZ	d�Zd�Zy)�
_ALWAYS_EQc��yr)rY�rd�others  r[�__eq__z_ALWAYS_EQ.__eq__J���rZc��y�NFrYrps  r[�__ne__z_ALWAYS_EQ.__ne__L���rZN)rVrWrXrrrvrYrZr[rnrnFs����rZrnc� �eZdZ	d�Zd�Zd�Zy)�	_NEVER_EQc��yrurYrps  r[rrz_NEVER_EQ.__eq__UrwrZc��yr)rYrps  r[rvz_NEVER_EQ.__ne__WrsrZc��y)Nr�rYrhs r[�__hash__z_NEVER_EQ.__hash__Ys��rZN)rVrWrXrrrvr}rYrZr[ryryQs�����rZryc��eZdZ	d�Zd�Zy)�_LARGESTc�"�t|t�Sr`)r�rrps  r[rrz_LARGEST.__eq__cs���%��*�*rZc��yrurYrps  r[�__lt__z_LARGEST.__lt__erwrZN)rVrWrXrrr�rYrZr[rr^s���+�rZrc��eZdZ	d�Zd�Zy)�	_SMALLESTc�"�t|t�Sr`)r�r�rps  r[rrz_SMALLEST.__eq__os���%��+�+rZc��yrurYrps  r[�__gt__z_SMALLEST.__gt__qrwrZN)rVrWrXrrr�rYrZr[r�r�js���,�rZr�c�8�	ddl}|jjSr@)�asyncio.events�events�_event_loop_policy)�asyncios r[�maybe_get_event_loop_policyr�vs��N���>�>�,�,�,rZc�~�||}}ddl}|j�5}|j�dz}t|d�|_|j|�}|dz
|z|z}||z}	||	z
}
||
z
}||dz
z|dz
|z|zz|	d|	z
zz}t
|�t
|j��fcddd�S#1swYyxYw)Nrr��r�)�decimal�localcontext�
bit_length�max�prec�Decimalr�sqrt)
�nbins�nballsr�rr��ctx�bitsru�p1empty�	meanempty�occupied�
collisions�vars
             r[�collision_statsr��s����&�q�A�$�	�	�	�	�3��|�|�~��!���t�R�=���
�_�_�Q�
����F�b�=�Q�&����K�	��y�=����\�
��"�Q�$�i�"�Q�$���Q��&��a�)�m�)D�D���Z� �%����
�"3�3�
 �	�	�s�BB3�3B<c�&�eZdZ	d�Zd�Zd�Zd�Zy)�catch_unraisable_exceptionc� �d|_d|_yr`)�
unraisable�	_old_hookrhs r[rcz#catch_unraisable_exception.__init__�s�������rZc��||_yr`)r�)rdr�s  r[�_hookz catch_unraisable_exception._hook�s��%��rZc�Z�tj|_|jt_|Sr`)r��unraisablehookr�r�rhs r[r�z$catch_unraisable_exception.__enter__�s ���+�+���!�Z�Z����rZc�2�|jt_|`yr`)r�r�r�r�)rd�exc_infos  r[r�z#catch_unraisable_exception.__exit__�s��!�^�^����OrZN)rVrWrXrcr�r�r�rYrZr[r�r��s���0�%�
�
rZr�r�c	��	tjdk7r�ddl}|�t}t	j
�}t
|d��D]0}tj|tj�\}}|dk7s�0n{	tj||j�tj|d�t	j
�|z
}td|�d|d�d���tj|d�\}}tj|�}	|	|k7rtd|�d	|	�d
|�d���||k7rtd|�d
|����y#t$rY��wxYw)N�ntrF��errorzprocess z is still running after �.1fz secondsz exited with code z, but exit code z is expectedzpid z != pid )r�r�r]rNr�	monotonic�sleeping_retryrvrw�killr[r��AssertionError�waitstatus_to_exitcode)
r+�exitcoder�r]�
start_timerm�pid2ry�dt�	exitcode2s
          r[�wait_processr��sU��	�
�w�w�$����?�"�G��^�^�%�
���u�5�A��:�:�c�2�:�:�6�L�D�&��q�y��6�
�����V�^�^�,��
�
�3��"�
���!�J�.�B� �8�C�5�1*�*,�S���";�<�
<��z�z�#�q�)���f��)�)�&�1�I��H���x��u�,>�y�k�J.�.6�Z�|�E�F�	F��s�{��t�D�6��#��7�8�8���#�
��
�s�66D5�5	E�Ec���	ddlm}|d�|d�}tjdk(r	|j	d��yy#t
$r}t
jd|����d}~wwxYw)Nr�)�
import_module�_multiprocessingzmultiprocessing.synchronize�linux)r�z broken multiprocessing SemLock: )�
import_helperr�r�r��Lockr�rwr�)r��synchronize�excs   r[�*skip_if_broken_multiprocessing_synchronizer�s{���
-��$�%� � =�>�K�
�|�|�w��	P�
�����&����	P��#�#�&F�s�g�$N�O�O��	P�s�A�	A&�	A!�!A&c��	|j}|j}|dk7r|�d|��}n|�}dtj|��d�}|jt
||g|��i|��y)N�builtinsr�zcannot create 'z' instances)rWrVrr�r��	TypeError)r��tprer�modr��qualnameras        r[r+r+so���

�-�-�C�
�;�;�D�
�j���U�!�D�6�?���V���B�I�I�h�/�0��
<�C��H���y�#�r�A�D�A�D�ArZc���		ddl}|j�}t|dz
d�S#ttf$rA}	d}t	j
�}|�|dz
}|j}|��d}n#d}wxYwYd}~�Zd}~wwxYw)Nrr�)rO�get_recursion_depthrB�RecursionErrorr��	_getframe�f_backr�)rO�depthr��frames    r[r�r�(s����
� �!�5�5�7���u�q�y�!����
��(�
�	��E��M�M�O�E��#���
�������#�
�E��D�E��E��
�s&�&�A6�+A%�"A1�%A)�)A1�1A6c�J�	tj�}t�}||z
Sr`)r��getrecursionlimitr�)rr�s  r[�get_recursion_availabler�?s)���

�!�!�#�E��!�E��5�=�rZc#��K�	tj�}	tj|�d��tj|�y#tj|�wxYw�wr`)r�r��setrecursionlimit)r�original_limits  r[�set_recursion_limitr�IsI����1��*�*�,�N�.����e�$�
����n�-�����n�-���A"�A�A"�A�A"c�~�|�d}n|dkrtd��t�}t|dz
d�}||z}t|�S)Ni N�z-max_depth must be at least 3, got {max_depth}r�)r�r�r�r�)�	max_depthr�rs   r[r>r>SsO�����	�	�Q���H�I�I��!�E����	�1��E��I��E��u�%�%rZrc�likec
�t�t�}tjdt||dt	|��d�z��|S)Nr��
(?#support�))rrcr�)�objectr�filterwarnings�DeprecationWarning�id)rcr��tokens   r[�ignore_deprecations_fromr�`s<���H�E�����#���*�R��Y�K�q�1�1�	��LrZ�tokensc��|std��g}td�|D��}tjD]j\}}}}}|dk(rG|tur?t|tj�r
|j}n|xsd}|j|�r�U|j|||||f��ltj|k7r(|tjddtj�yy)Nz<Provide token or tokens returned by ignore_deprecations_fromc3�:K�|]}dt|��d����y�w)r�r�N)r�)r�r�s  r[r�z-clear_ignored_deprecations.<locals>.<genexpr>os����D�V�E�
�2�e�9�+�Q�/�V�s�r�r#)r�r�r�filtersr�r�r�Patternr}r�r��_filters_mutated)	r��new_filtersr��actionr�rrcr�ras	         r[�clear_ignored_deprecationsr�js�����W�X�X��K��D�V�D�D�H�5=�5E�5E�1����6�6��X��(�.@�"@��'�2�:�:�.��o�o���m����|�|�H�%�����F�G�X�v�v�F�G�6F����;�&�)�������!�!�#�'rZc��	ddl}	ddl}tj
|d�S#t$rtjdd�cYSwxYw#t$rd}Y�HwxYw)NrTzvenv: ensurepip requires zlibzvenv: pip requires ctypes)rArBrwr�r�rC)rAr�s  r[�requires_venv_with_pipr�sc��F�������v�'B�C�C���F����t�%D�E�E�F�������s �!�A�A�A�A�Ac��	tjd�xs$tjj	t
d�}tj|�}t|d��}|D]L}|jd�s�|dz}|j|�s�,tjj	||�cStd|�d|����)	N�
WHEEL_PKG_DIR�	wheeldataT)�reversez.whlr�z
No wheel for z
 found in )r%r&r�r�r�rq�listdirrxr�r�r�)�pkgname�	wheel_dir�	filenamesrs�prefixs     r[�
_findwheelr��s����
�(�(��9��R�W�W�\�\��{�>�I��
�
�9�%�I��y�$�/�I���� � ��(���3������v�&��7�7�<�<�	�8�4�4�
��m�G�9�J�y�k�J�
K�KrZc#�K�ddl}ddlm}|�5}tjdddd|g}t
r%t
�t
dd	j|��|j|d
��tjj||�}tjjtj�}tjdk(r"tjj|d
|�}n!tjj|d|�}|dddddtd�td�g}t
r%t
�t
dd	j|��|j|d
��|��ddd�y#1swYyxYw�w)Nrr�)�temp_cwdz-X�devz-m�venvzRun:� T)r�rZ�Scripts�bin�pip�installr:�wheel)r2r�r�r�r4rr�r��runr�r�r�r�r�)�venv_dirr2r��temp_dirr�r��
python_exer�s        r[�$setup_venv_with_pip_setuptools_wheelr
�s�����#�	��x��~�~�t�U�D�&�(�C����G��&�#�(�(�3�-�(����s�$��'��w�w�|�|�H�h�/���W�W�%�%�c�n�n�5�
��<�<�7�"��W�W�\�\�$�	�:�>�F��W�W�\�\�$��z�:�F��t�U��U�I��,�'��'�"�$����G��&�#�(�(�3�-�(����s�$��'���5
���s�E?�EE3�*	E?�3E<�8E?�gettotalrefcountc���	|g}|j|�ddl}d�}||_|j|�t	t
d�r!d�}||_tj|��yy)Nrc��yr`rY)�encodings r[�search_funcz"late_deletion.<locals>.search_func�rsrZ�register_at_forkc��yr`rYrYrZr[�atfork_funcz"late_deletion.<locals>.atfork_func�r�rZ)�before)r��codecs�	reference�registerr�r�r)r��	ref_cyclerrrs     r[�
late_deletionr�sg��	�$��I�
���Y����%�K��
�O�O�K� ��r�%�&�	� )���
���;�/�'rZr�c#�K�	|dkrtd��tj�}||z}	d��tj�|k\rn�|r2tj�|z
}d|d�d�}|r|�d|��}t|��y�w)Nrz!timeout must be greater than zeroz	timeout (r�z	 seconds)r�)r�rr�r�)r��err_msgr�r��deadliner�ras       r[�
busy_retryr�s������*�!�|��<�=�=����!�J��G�#�H�
�
��>�>��x�'��	�
�
�^�^�
�
�
*���"�S���+����E��G�9�%�C��S�!�!�
�s�A>Bg{�G�z�?g�?)�
init_delay�	max_delayr�c#�K�	|}t|||��D]*}d��tj|�t|dz|�}�,y�w)Nr�r�)rr�sleepr%)r�rrrr��delayrms       r[r�r�	sD�����0
�E�
����
6��
��
�
�5���E�A�I�y�)��	7�s�AAc#��K�	tj�}	tj|�d��tj|�y#tj|�wxYw�wr`)r��get_int_max_str_digits�set_int_max_str_digits)�
max_digits�currents  r[�adjust_int_max_str_digitsr'?	sI����H��(�(�*�G�,��"�"�:�.�
��"�"�7�+���"�"�7�+�r�i��i��uname�s390xi r�i�i�i'zskipped on s390xz.git�__pycache__c�|�t}tjj|�dk(r	|ddhz}|Sd|vr|dhz}|S)N�Doc�buildr��Modules)� _BASE_COPY_SRC_DIR_IGNORED_NAMESr�r�r�)r��names�ignoreds   r[�copy_python_src_ignorer3j	s]��.�G�	�w�w������&����	
�	
���N�
�e�	���
�	
���NrZc#�K�tj�D])}t|t�s�|}|jdk7r�&|���+y�w)Nr�)�__builtins__rYr�r�rW)r�r3s  r[�iter_builtin_typesr6}	s?�����"�"�$���#�t�$�����>�>�Z�'���	�
%�s�AAc#���K��fd�}t��}t|�}t��D]f}||vr|j|�	t	�|�}|jd�r|jd�s|||�s||vs�U�V||vr|df���a|df���h|D]}||}|�||�s�|df���y#t
$r$||vr||||�r|j
|�Y��wxYw�w)Nc�<��t|tj�syy)NFT)r�r��WrapperDescriptorType)r��valuer3s  �r[�is_slot_wrapperz+iter_slot_wrappers.<locals>.is_slot_wrapper�	s����%��!<�!<�=��rZr�TF)	�varsr�r�r�r�r�r�r�r�)r3r;r��unusedr�r:s`     r[�iter_slot_wrappersr>�	s�������
�c��B�
��W�F��C����2�:��M�M�$��	��C��&�E����t�$�D�M�M�$�,?��t�U�+��r�z��r�z��D�j� ��E�k�!�/�2���4����3��e�,���*����'�	��r�z�o�d�B�t�H�=��
�
�4� ��	�s5�?C!�B1�/C!�?(C!�(	C!�1*C�C!�C�C!c� �eZdZdd�Zd�Zd�Zy)rSc�.�|rddz||_||_y�Nr�r)�next_raises�iter_raises)rd�init_raisesrBrCs    r[rczBrokenIter.__init__�	s���
�a�C�&���&��rZc�(�|jrddzyyrA)rBrhs r[�__next__zBrokenIter.__next__�	s�����
�a�C�rZc�(�|jrddz|SrA)rCrhs r[�__iter__zBrokenIter.__iter__�	s�����
�a�C��rZN)FFF)rVrWrXrcrFrHrYrZr[rSrS�	s��'��rZrSr`)z
requires zlib)z
requires gzip)zrequires bz2)z
requires lzma)z$requires co_positions / debug_ranges)r#)T)NrYrY)F)rY)�rVrB�
contextlib�dataclassesrrhr�rr�r�r%r�rr�rwrr�rKrLrMrNr�r�r��__file__�TEST_SUPPORT_DIRrqr~�	REPO_ROOTr�rr	rmr
r�rr&r'rrrrr$�junit_xml_listrr�rr
r�r�rrrrrrrr,r-�HAVE_ASAN_FORK_BUGr6r<r�
SOCK_MAX_SIZErCr�
__getformat__r�rrrrrrRrTrYr�r0r1r�r2r6r3r4r r!r"r#r$r%�has_strftime_extensions�strftimer��
TEST_HTTP_URLrEr�r�r�rnr=rCr�rzr�r�rr9�contextmanagerr�rrrr�r�r�r�r�r�r�r�r�r�r�r�r�r;rDrrr#�_4GrDr&r�r!rAr)rrrJrLrrOrRr5rbrdr.r/rkr&�MISSING_C_DOCSTRINGSr�HAVE_DOCSTRINGS�requires_docstringsrnrpr�rqrxr:r?r<r�r�r@r�r*r�r�r(r)r�rBrrrr!rr4rFrGr7r8rWrYrlrnrGryrH�total_orderingrrIr�rJr��	hash_info�width�	NHASHBITSr�r�r�r�r+r�r�r�r>r�r�r��cacher�r
rOrrr�r'rPrQr)�machiner�rR�	frozensetr0r3r6r>rSrYrZr[�<module>ras	��=��~��
�F�
G�G����
�	�	��
�������(��h�����
����7�7�?�?�2�7�7�?�?�8�#<�=������� 0�1�
�
�W�W�_�_�]�
+�
��G�G�O�O�J�'�	�5�I�5����=�J�=�)�E�)��X�&�&����$����
�
�
�������
���*�
�"K$�Z>�	7��6:�8��:
/� %�U�u�U��@)�e�E�e�TY�)�%�T�2����$$�
�%�
�(�H�'�'�	����!�,�,�V�4�$�&��-�-�,�-�1�:�@��l�l�g�%�
�
�L�L�#�#�F�+�	�
�S�.�
/�
��<�<�+�+�%/�!�Y�J��J�����,�
�

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

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists