Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.9/test/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.9/test/__pycache__/test_builtin.cpython-39.opt-1.pyc

a

��gD�@sddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlZddlZddlZddlmZddlmZddlmZddlmZddlmZddlmZmZddlm Z dd	l!m"Z"dd
l#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)ddl*m+Z+ddl,m-Z-m.Z.zddl/Z/ddl0Z0Wne1�yhdZ/Z0Yn0Gd
d�d�Z2Gdd�d�Z3Gdd�d�Z4dddddddddde5ej6�ej6fde7fdde7fd e7fd!e7fd"e7fe8d#d$�d%fe9d&�e7fgZ:dddddddd'e7fdd(e7fe5ej6�ej6fde7fd)e7fde7fd e7fd!e7fd"e7fe8d#d$�d%fe9d&�e7fgZ;Gd*d+�d+�Z<Gd,d-�d-�Z=d.d/�Z>d0d1�Z?Gd2d3�d3ej@�ZAGd4d5�d5ej@�ZBe�Ce/d6�Gd7d8�d8ej@��ZDGd9d:�d:ej@�ZEGd;d<�d<ej@�ZFGd=d>�d>ej@�ZGd?d@�ZHeIdAk�re�J�dS)B�N)�	ExitStack)�partial)�CO_COROUTINE)�product)�dedent)�AsyncGeneratorType�FunctionType)�neg)�support)�EnvironmentVarGuard�TESTFN�check_warnings�	swap_attr�unlink�maybe_get_event_loop_policy)�assert_python_ok)�	MagicMock�patchc@s$eZdZdd�Zdd�Zdd�ZdS)�SquarescCs||_g|_dS�N��max�sofar��selfr�r�-/usr/local/lib/python3.9/test/test_builtin.py�__init__+szSquares.__init__cCs
t|j�Sr��lenr�rrrr�__len__/�zSquares.__len__cCsRd|kr|jksnt�t|j�}||krH|j�||�|d7}q&|j|S�Nr�)r�
IndexErrorrr�append�r�i�nrrr�__getitem__1s

zSquares.__getitem__N��__name__�
__module__�__qualname__rr!r*rrrrr)src@s$eZdZdd�Zdd�Zdd�ZdS)�
StrSquarescCs||_g|_dSrrrrrrr;szStrSquares.__init__cCs
t|j�Srrr rrrr!?szStrSquares.__len__cCsVd|kr|jksnt�t|j�}||krL|j�t||��|d7}q&|j|Sr#)rr%rrr&�strr'rrrr*Bs

zStrSquares.__getitem__Nr+rrrrr/9sr/c@seZdZdd�ZdS)�	BitBucketcCsdSrr)r�linerrr�writeLszBitBucket.writeN)r,r-r.r3rrrrr1Ksr1)�0r)�1r$)�9�	)�10�
)Z99�c)Z100�d)Z314�:)� 314r<)z314 r<)�  		  314  		  r<z  1x)�  1  r$z  1  �� z  		  s\u0663\u0661\u0664 zraw-unicode-escaper<ir=r>r?c@seZdZdd�ZdS)�TestFailingBoolcCst�dSr��RuntimeErrorr rrr�__bool__|szTestFailingBool.__bool__N)r,r-r.rErrrrrB{srBc@seZdZdd�ZdS)�TestFailingItercCst�dSrrCr rrr�__iter__�szTestFailingIter.__iter__N�r,r-r.rGrrrrrFsrFcCst|�td�kS)N�d)�ord��argrrr�filter_char�srMcCstt|�d�S�Nr$)�chrrJrKrrr�map_char�srPc@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Zd7d8�Zd9d:�Zd;d<�Z d=d>�Z!d?d@�Z"dAdB�Z#dCdD�Z$dEdF�Z%dGdH�Z&dIdJ�Z'dKdL�Z(dMdN�Z)dOdP�Z*dQdR�Z+dSdT�Z,e-�.e/j0j1dU�dVdW��Z2dXdY�Z3dZd[�Z4d\d]�Z5d^d_�Z6d`da�Z7dbdc�Z8e9�:��;dd��o�e9�<��;de�Z=e>df�dfkZ?e-�.e=�o�e?dg�dhdi��Z@djdk�ZAdldm�ZBdndo�ZCdpdq�ZDeEdrds��ZFeEdtdu��ZGGdvdw�dweH�ZIdxdy�ZJdzd{�ZKd|d}�ZLd~d�ZMeNjOd�d���ZPd�d��ZQd�d��ZRd�d��ZSd�d��ZTd�d��ZUd�d��ZVd�S)��BuiltinTestcCs�|}t�||�}t�|�}|�t|�t|��|�t|�|�t�|�}zt|�WntyhYdS0t�||�}t�|�}|�t|�|dd��dSrN)�pickle�dumps�loads�assertEqual�type�list�next�
StopIteration)r�it�seq�protoZitorgrIrrr�check_iter_pickle�s


zBuiltinTest.check_iter_picklec
Cs�td�td�td�tdd�tddd�|�ttd�|�ttdd	d
d�|�ttd�|jttddd�|�t��0|jttdddd
d�iddd�Wd�n1s�0Y|�ttd�dS)N�sys�time�string��namer)rb�levelZspamspamr$���r@�__main__)�__package__�__spec__r,)�foo)�locals�fromlistrczstring)�
__import__�assertRaises�ImportError�	TypeError�
ValueError�assertWarns�
ImportWarning�ModuleNotFoundErrorr rrr�test_import�s


�$zBuiltinTest.test_importcCs�|�td�d�|�td�d�|�td�d�|�ttjd�dk�|�td�d�|�td�d�|�td�d�|�ttd�|�td	�d�|�td
�d�|�tt�|�ttd�Gdd�dt�}|�t|��d
�dS)Nr��i.���r$�g��Q�	@g��Q�	��aTFc@seZdZdd�ZdS)z&BuiltinTest.test_abs.<locals>.AbsClasscSsdS)N���rr rrr�__abs__�sz.BuiltinTest.test_abs.<locals>.AbsClass.__abs__N)r,r-r.rzrrrr�AbsClass�sr{ry)rU�abs�
assertTruer^�maxsizernrp�object)rr{rrr�test_abs�szBuiltinTest.test_abscCs�|�tgd��d�|�tgd��d�|�ttdt�dg�|�ttt��|�ttd�|�tt�|�ttgd�g�|�tg�d�|�tdt�g�d�d	d
g}|�tdd�|D��d�gd
�}|�tdd�|D��d�dS)N�rdrf�T)rdNr�Frdr�r9r�2�<css|]}|dkVqdS��*Nr��.0�xrrr�	<genexpr>�r"z'BuiltinTest.test_all.<locals>.<genexpr>)r��(r�css|]}|dkVqdSr�rr�rrrr��r")rU�allrnrDrBrFrp�r�Srrr�test_all�szBuiltinTest.test_allcCs�|�tgd��d�|�tgd��d�|�ttdt�dg�|�ttt��|�ttd�|�tt�|�ttgd�g�|�tg�d�|�tdt�g�d�gd	�}|�td
d�|D��d�gd�}|�td
d�|D��d�dS)N)NNNF)NrfNTr�r9r�r$)r�r��css|]}|dkVqdSr�rr�rrrr��r"z'BuiltinTest.test_any.<locals>.<genexpr>)r9�r�css|]}|dkVqdSr�rr�rrrr��r")rU�anyrnrDrBrFrpr�rrr�test_any�szBuiltinTest.test_anycs��td�d���td�d���td�d���tg�d���ti�d�g}|�|���t|�d	�i}||d<��t|�d
��fdd�}|d
�|d�|d�|d�|d�|d�|d�|d�|d�|d���td�d�d}��t|�d�dS)Nr@�''rr4r�()�[]�{}�[[...]]�
{0: {...}}cs��t|�t|��dSr)rU�ascii�repr)�sr rr�
_check_uni�sz*BuiltinTest.test_ascii.<locals>._check_uni�'�"z"'�z
	 .�…u῿u𒿿u�u�u𝄡z'\U0001d121'u'"

	 abcd…é𒿿�𝄡xxx.z:'\'\x00"\n\r\t abcd\x85\xe9\U00012fff\ud800\U0001d121xxx.')rUr�r&)rrxr�r�rr r�
test_ascii�s6

�zBuiltinTest.test_asciicCs4tjd}|�t|t��|�|tjd�dSrN)r^r~r}�
isinstance�intrU�rr�rrr�test_negszBuiltinTest.test_negcCs>|�tt��|�td��|�tt��|�tdd���|�tt��dd�}|�t|��Gdd�d�}|�t|��|�}|�t|j��|�t|��d|_|�t|��dd�|_|�t|��|`|�t|��Gd	d
�d
t�}|�}|�t|��d|_|�t|��Gdd�d|�}|�}|�t|��dS)
NrxcSs||Srr�r��yrrr�<lambda>r"z+BuiltinTest.test_callable.<locals>.<lambda>cSsdSrrrrrr�fr"z$BuiltinTest.test_callable.<locals>.fc@seZdZdd�ZdS)z%BuiltinTest.test_callable.<locals>.C1cSsdSrrr rrr�methr"z*BuiltinTest.test_callable.<locals>.C1.methN)r,r-r.r�rrrr�C1sr�cSsdS�Nrrr rrrr�r"c@seZdZdd�ZdS)z%BuiltinTest.test_callable.<locals>.C2cSsdSrrr rrr�__call__$r"z.BuiltinTest.test_callable.<locals>.C2.__call__N)r,r-r.r�rrrr�C2#sr�c@seZdZdS)z%BuiltinTest.test_callable.<locals>.C3N�r,r-r.rrrr�C3)r"r�)r}�callabler�assertFalse�__builtins__r�r�r)rr�r��cr��c2r�Zc3rrr�
test_callables4
zBuiltinTest.test_callablecCs:|�td�d�|�td�d�|�td�d�|�td�d�|�ttd	�|�ttj�td
�d�d��|�tt�|�td
�d�|�td�d�|�td�d�|�td�d�|�td�d�|�td�d�|�td�d�|�td�d�|�td�d�|�ttd�|�ttd �|�t	tftd!�dS)"N� rA�A�A�arx��ÿiz
\U0010ffffr�zunicode-escape��￿��𐀀��𐀁��󿿾��󿿿��􀀀��􀀁��􏿾��􏿿���il)
rUrOrnrqr^�
maxunicoder0�encoderp�
OverflowErrorr rrr�test_chr-s*�zBuiltinTest.test_chrcCs|�ttd��dS)N�cmp)r}�hasattr�builtinsr rrr�test_cmpCszBuiltinTest.test_cmpc
Cs�tddd�d}t|ddd�tdddd�td	d
ddd
�tddddd�ttd�dd�|�tt�|�ttddd�|�ttdddd�|�tttd�dd�|jttdddddd
d�tddd�|�tttd�dd�|�tttd�dd�d}dd�}d d	|jd	d	fd!d"d#g}|D]x^}}g}|�t|d$d|d%��t	�
|�}|�t|d$d|d%��|D].}	i}
t|	|
�|
d�}|�|t
|���qf�q dS)&Nz	print(1)
r@�exec�s	print(1)
�pass�?)�source�filename�modeF�tmpr4�eval)�dont_inheritr�r�r�T)r�r�stextrbz
print(42)
�<string>Zbadmode�singler�rr�)r�r�r�uprint("å")
za = 1ZbadaJdef f():
        """doc"""
        debug_enabled = False
        if __debug__:
            debug_enabled = True
        try:
            assert False
        except AssertionError:
            return (True, f.__doc__, debug_enabled, __debug__)
        else:
            return (False, f.__doc__, debug_enabled, __debug__)
        cSsdS)�docNrrrrrr�fr"z#BuiltinTest.test_compile.<locals>.fr�)rTr�TT)r$Fr�FF)rdFNFFz<test>)�optimize)�compile�
memoryviewrnrprqrOr0�__doc__r&�ast�parser�rU�tuple)r�bomZcodestrr��valuesZoptval�expectedZcodeobjsZtree�code�ns�rvrrr�test_compileFsD��


zBuiltinTest.test_compilecCs`d}gd�}t||�D]D\}}t|�}t|d|tjd�}|j|jt@td|�d|��d�qdS)	zCMake sure top level non-await codes get the correct coroutine flags�r�r�)z
def f():pass
z[x for x in l]z{x for x in l}z(x for x in l)z{x:x for x in l}r���flags�source=� mode=��msgN)rrr�r��PyCF_ALLOW_TOP_LEVEL_AWAIT�assertNotEqual�co_flagsr)r�modes�code_samplesr��code_sampler��corrr�$test_compile_top_level_await_no_corows��z0BuiltinTest.test_compile_top_level_await_no_coroc	Cs0dd�}d}gd�}t�}�zt||�D]�\}}t|�}|jtd|�d|��d��t|d|�Wd	�n1st0Yt|d|tjd
�}|j|j	t
@t
d|�d|��d�td|d�}	t||	�}
t�
|
��|�|	d
d�td|d�}	t�
t||	��|�|	d
d�q(Wt�|�nt�|�0d	S)aITest whether code some top level await can be compiled.

        Make sure it compiles only with the PyCF_ALLOW_TOP_LEVEL_AWAIT flag
        set, and make sure the generated code object has the CO_COROUTINE flag
        set in order to execute it with  `await eval(.....)` instead of exec,
        or via a FunctionType.
        cSst|�D]
}|VqdSr��range�r)r(rrr�arange�sz8BuiltinTest.test_compile_top_level_await.<locals>.aranger�)
z$a = await asyncio.sleep(0, result=1)z2async for i in arange(1):
                   a = 1z8async with asyncio.Lock() as l:
                   a = 1z#a = [x async for x in arange(2)][1]z%a = 1 in {x async for x in arange(2)}z%a = {x:1 async for x in arange(1)}[0]z<a = [x async for x in arange(2) async for x in arange(2)][1]z6a = [x async for x in (x async for x in arange(5))][1]z.a, = [1 for x in {x async for x in arange(1)}]z;a = [await asyncio.sleep(0, x) async for x in arange(2)][1]r�r�r�r�Nr�r)�asynciorxrrxr$)rrrrn�SyntaxErrorr�r�r�rUr�rrr�runr��set_event_loop_policy)rrr�r��policyr�rr�r�globals_Zasync_frrr�test_compile_top_level_await�s6
�*��
z(BuiltinTest.test_compile_top_level_awaitc		Cs�dd�}d}gd�}t�}z�t||�D]�\}}t|�}|jtd|�d|��d��t|d|�Wd�n1sr0Y|jtd|�d|��d��"t|d|tjd	�}Wd�q&1s�0Yq&Wt�	|�nt�	|�0dS)
NcSst|�D]
}|VqdSrrrrrrr�szFBuiltinTest.test_compile_top_level_await_invalid_cases.<locals>.aranger�)zdef f():  await arange(10)
z(def f():  [x async for x in arange(10)]
z.def f():  [await x async for x in arange(10)]
z_def f():
                   async for i in arange(1):
                       a = 1
            zedef f():
                   async with asyncio.Lock() as l:
                       a = 1
            r�r�r�r�r�)
rrrrnrr�r�r�rr
)	rrr�r�rr�rr�rrrr�*test_compile_top_level_await_invalid_cases�s(
�*��(z6BuiltinTest.test_compile_top_level_await_invalid_casescCsBtd�}t|ddtjd�}i}t||�|�t|d��t�dS)z�
        With the PyCF_ALLOW_TOP_LEVEL_AWAIT flag added in 3.8, we want to
        make sure AsyncGenerators are still properly not marked with the
        CO_COROUTINE flag.
        z~async def ticker():
                for i in range(10):
                    yield i
                    await asyncio.sleep(0)r�r�r�ZtickerN)rr�r�r�r�rUrVr)rr�r�globrrr�test_compile_async_generator�s

z(BuiltinTest.test_compile_async_generatorcCs dt_ttd�|�tt�dS)Nr$�spam)r^r�delattrrnrpr rrr�test_delattr�s
zBuiltinTest.test_delattrc
Cs�|�ttdd�d}|�dt��|�dtt��Gdd�dtj�}|d�}|�tt|�|�dtt��|�d	tt��Gd
d�dt	�}|�}|�dt|��Gdd�dt	�}|�}|�d
t|��Gdd�dt	�}|�}|�d
t|��|�dt|��Gdd�dt	�}|�}|�
t|�gd�k�Gdd�dt	�}t|��}|�|t�|�
|gd�k�Gdd�dt	�}|�}|�tt|�zt
�Wn<t
�y�}z"|�tt|j��d�WYd}~n
d}~00|�tg���tg��dS)Nr�r$�	local_var�exitc@seZdZdZdS)�!BuiltinTest.test_dir.<locals>.Foo�N)r,r-r.�__dict__rrrr�Foo
srrj�strip�__mro__c@seZdZdd�ZdS)rcSsd|_d|_d|_dS)N�rr7)r�r��zr rrrrs�*BuiltinTest.test_dir.<locals>.Foo.__init__N)r,r-r.rrrrrrsr�c@seZdZgZdS)rN)r,r-r.�	__slots__rrrrr s�__repr__c@seZdZddgZdd�ZdS)r�	__class__rcSs
d|_dS)NZwow)�barr rrrr)srN)r,r-r.rrrrrrr'sr"c@seZdZdd�ZdS)rcSsgd�S)N)�kan�ga�roorr rrr�__dir__1s�)BuiltinTest.test_dir.<locals>.Foo.__dir__N�r,r-r.r&rrrrr0s)r$r#r%c@seZdZdd�ZdS)rcSsdS)N)�br�rxrr rrrr&8sr'Nr(rrrrr7s�rxr)r�c@seZdZdd�ZdS)rcSsdS)Nrrr rrrr&@sr'Nr(rrrrr?srf)rnrp�dir�assertInr^�types�
ModuleTyper0�assertNotInrr}ZassertIsInstancerWr%rUr�
__traceback__�sortedr&)rrrr��res�errr�test_dirsD
,zBuiltinTest.test_dircCs�|�tdd�d�|�tdd�d�|�tdd�d�|�tdd�d�|�ttjd	d
�tjd	df�dD]<\}}}t||�}|�|d|d�|�|d	|d	�qp|�tt�dS)
N�r)r$�i�)���rdi����)r7r7)r$ryr$r�r))�
@��?)�@g�?)�
�r9)��g�?)r8��)r<g�)r;r=)r:gп)rU�divmodr^r~�assertAlmostEqualrnrp)r�numZdenomZ
exp_result�resultrrr�test_divmodNs$
zBuiltinTest.test_divmodcCs|�td�d�|�td�d�ddd�}ddd�}|�td	|�d�|�td	||�d�|�td
||�d�|�td||�d�ddd�}ddd�}d}|�t|d
||�d�|�td|�d�|�tt�|�ttd�|�tt|dd�d
�Gdd�d�}|�ttdi|��dS)N�1+1rdz 1+1
r$�rxr)���,)r)r�rxr)r�r��au"å"�årc@seZdZdd�ZdS)z BuiltinTest.test_eval.<locals>.XcSst�dSr�rq�r�keyrrrr*ssz,BuiltinTest.test_eval.<locals>.X.__getitem__N�r,r-r.r*rrrr�XrsrMrj)rUr�rnrprrq)r�globalsrkr�rMrrr�	test_eval`s$



zBuiltinTest.test_evalc
Cs�Gdd�d�}|�}t�}|�td||�d�|�ttd||�|�td||�td��|�td||�|�|�td	||�|�|�ttd|�Gd
d�d�}|�}|�ttd||�Gdd
�d
t�}|�}|�td||�d�|�ttd||�|�td||�td��|�td||�|�|�td	||�|�td||�td|t�	��Gdd�d�}|�}d|d<d|d<d|d<|�|dd�Gdd�d�}	|�ttdt�|	��dS)Nc@s eZdZdZdd�Zdd�ZdS)z(BuiltinTest.test_general_eval.<locals>.Mz9Test mapping interface versus possible calls from eval().cSs|dkrdSt�dS�Nrxr5��KeyErrorrJrrrr*|sz4BuiltinTest.test_general_eval.<locals>.M.__getitem__cSstd�S�N�xyz�rWr rrr�keys�sz-BuiltinTest.test_general_eval.<locals>.M.keysN)r,r-r.r�r*rVrrrr�MzsrWrxr5r)zdir()rTz	globals()zlocals()c@seZdZdZdS)z(BuiltinTest.test_general_eval.<locals>.AzNon-mappingN)r,r-r.r�rrrrr��sr�c@seZdZdd�Zdd�ZdS)z(BuiltinTest.test_general_eval.<locals>.DcSs|dkrdSt�||�SrP)�dictr*rJrrrr*�sz4BuiltinTest.test_general_eval.<locals>.D.__getitem__cSstd�SrSrUr rrrrV�sz-BuiltinTest.test_general_eval.<locals>.D.keysN�r,r-r.r*rVrrrr�D�srZz[locals() for i in (2,3)]c@s$eZdZdZiZdd�Zdd�ZdS)z2BuiltinTest.test_general_eval.<locals>.SpreadSheetz6Sample application showing nested, calculated lookups.cSs||j|<dSr)�_cells)rrKZformularrr�__setitem__�sz>BuiltinTest.test_general_eval.<locals>.SpreadSheet.__setitem__cSst|j|t�|�Sr)r�r[rNrJrrrr*�sz>BuiltinTest.test_general_eval.<locals>.SpreadSheet.__getitem__N)r,r-r.r�r[r\r*rrrr�SpreadSheet�sr]�5Za1za1*6Za2za2*7�a3��c@seZdZdd�Zdd�ZdS)z(BuiltinTest.test_general_eval.<locals>.CcSst|��dSrrQ)r�itemrrrr*�sz4BuiltinTest.test_general_eval.<locals>.C.__getitem__cSsdSrNrr rrrrV�sz-BuiltinTest.test_general_eval.<locals>.C.keysNrYrrrr�C�srb)
rNrUr�rn�	NameErrorrWrprX�collections�UserDict)
rrW�m�gr�rZrIr]�ssrbrrr�test_general_evalws:	zBuiltinTest.test_general_evalcCs�i}td|�d|vr|d=|�|ddi�td|�d|vrD|d=|�|ddi�i}i}t��,tjddd	d
�td||�Wd�n1s�0Yd|vr�|d=d|vr�|d=|�||fddid
dif�dS)Nzz = 1r�rr$zz = 1+1rd�ignorezglobal statementr�)�modulezglobal a; a = 1; b = 2rxr))r�rUr
�warnings�filterwarnings)rrg�lrrr�	test_exec�s*

�*zBuiltinTest.test_execcs�tddd�}|�tdt|dii�|�tt|ddi�tddd�}|�tdt|dii�Gd	d
�d
t��G�fdd�dt�}tt	t
j�r�|t	j�}n|t	�}td
dd�}|��t|d|i�|i�}tddd�}|��t||�dS)Nzprint('Hello World!')r@r�zname 'print' is not definedr��{z
class A: passz__build_class__ not foundc@seZdZdS)z7BuiltinTest.test_exec_globals.<locals>.frozendict_errorNr�rrrr�frozendict_error�srqcseZdZ�fdd�ZdS)z1BuiltinTest.test_exec_globals.<locals>.frozendictcs�d��dS)Nzfrozendict is readonlyr)rrK�value�rqrrr\�sz=BuiltinTest.test_exec_globals.<locals>.frozendict.__setitem__N)r,r-r.r\rrsrr�
frozendict�srtz1__builtins__['superglobal']=2; print(superglobal)�testzx=1)
r��assertRaisesRegexrcr�rnrp�	ExceptionrXr�r�r-r.r)rr�rtZfrozen_builtins�	namespacerrsr�test_exec_globals�s2
�
�
�
��zBuiltinTest.test_exec_globalscCsDtj}dt_z*ztd�Wnty,Yn0W|t_n|t_0dS)Nrx)r^�stdoutr�rc)r�
savestdoutrrr�test_exec_redirected�sz BuiltinTest.test_exec_redirectedc
Csn|�ttdd�d��td��|�ttdddgdgddd	d
g��dddgd	g�|�ttdd�gd���gd
��|�ttdtd���gd��|�ttdd�td���gd��dd�}t|td��|�tt�Gdd�dt�}|�tttdd�|���dd�}|�ttt|td���|�ttdd��ddg�|�ttdd�d��ddg�|�tttdd��dS) NcSsd|kodkSS)Nrxrr)r�rrrr�r"z)BuiltinTest.test_filter.<locals>.<lambda>zHello WorldZelloorldr$Zhellorer@r7rcSs|dkSr�r�r�rrrr�r")r$���r7rrd)r$r7rdr9)	r$rfr7���$�1�@�QcSs|dS)Nrdrr}rrrr�r")r$r7r�r�r�cSsdSrNr)rarrr�identity	sz)BuiltinTest.test_filter.<locals>.identityr6c@seZdZdd�ZdS)z'BuiltinTest.test_filter.<locals>.BadSeqcSs|dkrdSt�dS)Nrfr�rI�r�indexrrrr*sz3BuiltinTest.test_filter.<locals>.BadSeq.__getitem__NrLrrrr�BadSeq
sr�cSs|Srrr}rrrr�r"cSsdSrrrrrr�badfuncsz(BuiltinTest.test_filter.<locals>.badfunc�r$rdrdcSs|dkS)Nrerr}rrrr�r"�r$rdrerfrfr�)	rUrW�filterrrnrprrqr)rr�r�r�rrr�test_filters2""zBuiltinTest.test_filtercCs>ttjd�D]*}ttd�}ttd�}|�|t|�|�qdS)Nr$Z
abcdeabcde)rrR�HIGHEST_PROTOCOLr�rMr]rW)rr\�f1�f2rrr�test_filter_pickles

zBuiltinTest.test_filter_picklecCsn|�ttd�tju�|�tttd�|�tttdd�|�tt�|�tttttj��|�ttdd�dS)Nrzr$rju�픞)	r}�getattrr^rzrnrp�AttributeErrorrOr�r rrr�test_getattr"szBuiltinTest.test_getattrcCs�|�ttd��|�tttd�|�tt�|�dttttj���Gdd�d�}|�tt|�d�Gdd�d�}|�t	t|�d�dS)	Nrzr$Fc@seZdZdd�ZdS)z#BuiltinTest.test_hasattr.<locals>.AcSst�dSr)�
SystemExit�rZwhatrrr�__getattr__4sz/BuiltinTest.test_hasattr.<locals>.A.__getattr__N�r,r-r.r�rrrrr�3sr�r)c@seZdZdd�ZdS)z#BuiltinTest.test_hasattr.<locals>.BcSst�dSrrIr�rrrr�8sz/BuiltinTest.test_hasattr.<locals>.B.__getattr__Nr�rrrr�B7sr�)
r}r�r^rnrprUrOr�r�rq)rr�r�rrr�test_hasattr+szBuiltinTest.test_hasattrcCs�td�|�td�td��|�td�td��td�|�td�td��td�dd�}t|�|�ttg�|�tti�Gdd	�d	�}|�tt|���t�Gd
d�dt�}|�t|d��td��dS)
Nr$r9rsspam�rr$rdrecSsdSrrrrrrr�Cr"z BuiltinTest.test_hash.<locals>.fc@seZdZdd�ZdS)z BuiltinTest.test_hash.<locals>.XcSsddS)Nrdr;rr rrr�__hash__Isz)BuiltinTest.test_hash.<locals>.X.__hash__N�r,r-r.r�rrrrrMHsrMc@seZdZdd�ZdS)z BuiltinTest.test_hash.<locals>.ZcSs|Srrr rrrr�Msz)BuiltinTest.test_hash.<locals>.Z.__hash__Nr�rrrr�ZLsr�r�)�hashrUrnrprVr�)rr�rMr�rrr�	test_hash<szBuiltinTest.test_hashcCs2|�td�d�|�td�d�|�tti�dS)NrZ0x10i�z-0x10)rU�hexrnrpr rrr�test_hexQszBuiltinTest.test_hexcCsHtd�td�td�td�td�tgd��tdddd��dS)Nr$r9rr�rdre)rZeggs�ham)�idr rrr�test_idVszBuiltinTest.test_idcCsn|�tt�|�ttdd�dddgdg}|D]:}t|�}|�t|�d�|�t|�d�|�tt|�q.dS)Nr�)r5�2r5r�Z12)rnrp�iterrUrXrY)rZlistsrnr(rrr�	test_iteraszBuiltinTest.test_itercCs�Gdd�d�}Gdd�d|�}Gdd�d�}|�}|�}|�}|�t||��|�t||��|�t||��|�t||��|�td|��|�tt|d�|�tt�dS)Nc@seZdZdS)z&BuiltinTest.test_isinstance.<locals>.CNr�rrrrrblsrbc@seZdZdS)z&BuiltinTest.test_isinstance.<locals>.DNr�rrrrrZnsrZc@seZdZdS)z&BuiltinTest.test_isinstance.<locals>.ENr�rrrr�Epsr�rj)r}r�rnrp�rrbrZr�r�rIr3rrr�test_isinstancekszBuiltinTest.test_isinstancecCs�Gdd�d�}Gdd�d|�}Gdd�d�}|�}|�}|�}|�t||��|�t||��|�t||��|�ttd|�|�tt|d�|�tt�dS)Nc@seZdZdS)z&BuiltinTest.test_issubclass.<locals>.CNr�rrrrrb~srbc@seZdZdS)z&BuiltinTest.test_issubclass.<locals>.DNr�rrrrrZ�srZc@seZdZdS)z&BuiltinTest.test_issubclass.<locals>.ENr�rrrrr��sr�rj)r}�
issubclassrnrpr�rrr�test_issubclass}szBuiltinTest.test_issubclasscCsB|�td�d�|�td�d�|�td�d�|�tgd��d�|�ti�d�|�tddd	��d�Gd
d�d�}|�tt|��Gdd
�d
�}|�tt|��Gdd�d�}|�tt|��Gdd�d�}|�tt|��Gdd�d�}|�tt|��Gdd�d�}|�tt|��Gdd�dt�}|�tt|��dS)N�123rerrr�rfr$rdrDc@seZdZdd�ZdS)z$BuiltinTest.test_len.<locals>.BadSeqcSst�dSrrIr rrrr!�sz,BuiltinTest.test_len.<locals>.BadSeq.__len__N�r,r-r.r!rrrrr��sr�c@seZdZdd�ZdS)z(BuiltinTest.test_len.<locals>.InvalidLencSsdSrrr rrrr!�sz0BuiltinTest.test_len.<locals>.InvalidLen.__len__Nr�rrrr�
InvalidLen�sr�c@seZdZdd�ZdS)z&BuiltinTest.test_len.<locals>.FloatLencSsdS)Ng@rr rrrr!�sz.BuiltinTest.test_len.<locals>.FloatLen.__len__Nr�rrrr�FloatLen�sr�c@seZdZdd�ZdS)z)BuiltinTest.test_len.<locals>.NegativeLencSsdS)Ni����rr rrrr!�sz1BuiltinTest.test_len.<locals>.NegativeLen.__len__Nr�rrrr�NegativeLen�sr�c@seZdZdd�ZdS)z%BuiltinTest.test_len.<locals>.HugeLencSs
tjdSrN�r^r~r rrrr!�sz-BuiltinTest.test_len.<locals>.HugeLen.__len__Nr�rrrr�HugeLen�sr�c@seZdZdd�ZdS)z-BuiltinTest.test_len.<locals>.HugeNegativeLencSstjdS)Nr9r�r rrrr!�sz5BuiltinTest.test_len.<locals>.HugeNegativeLen.__len__Nr�rrrr�HugeNegativeLen�sr�c@seZdZdS)z)BuiltinTest.test_len.<locals>.NoLenMethodNr�rrrr�NoLenMethod�r"r�)rUrrnrqrpr�r)rr�r�r�r�r�r�r�rrr�test_len�s(zBuiltinTest.test_lenc	s�|�ttdd�tdd���gd��zddlm�WntyNdd	��Yn0|�tt�fd
d�ddgdd
gg��ddgddgg�|�ttdd�gd�gd���gd��dd�}|�tt|gd���gd��|�tt|gd�gd���gd��|�tt|gd�gd�gd���gd��|�ttttd���gd��dd �}|�tt|td!�td"���ddg�|�	t
t�|�	t
td#d�d$�Gd%d&�d&�}|�	tttd'd�|���d(d)�}|�	ttt|td*���dS)+NcSs||Srrr}rrrr��r"z&BuiltinTest.test_map.<locals>.<lambda>r$rf)r$rfr7r��sqrtcSs
t|d�S)N��?)�powr}rrrr��sz"BuiltinTest.test_map.<locals>.sqrtcstt�|��Sr)rW�mapr}r�rrr��r"rr�r7�@�@g"@r:cSs||Srrr�rrrr��r")r$rerd)r7r$rf)r9rfr�cWsd}|D]}||}q|Sr�r)�vZaccur(rrr�plus�sz"BuiltinTest.test_map.<locals>.plus)r$rer)rfr7rd)r6r5r7)r$r$r)r��
r7r9)
rr$rfr7rr�r�r�r�r�cSs"|dur|S|dur|St||�Sr)rrDrrr�Max�s
z!BuiltinTest.test_map.<locals>.MaxrerdcSs|Srrr}rrrr��r"r�c@seZdZdd�ZdS)z$BuiltinTest.test_map.<locals>.BadSeqcsst�dVdSrrIr rrrrG�sz-BuiltinTest.test_map.<locals>.BadSeq.__iter__NrHrrrrr��sr�cSs|Srrr}rrrr��r"cSst�dSrrCr}rrrr��sz%BuiltinTest.test_map.<locals>.badfuncr6)
rUrWr�r�mathr�ror�rrnrprqrD)rr�r�r�r�rr�r�test_map�sX� �������zBuiltinTest.test_mapcCs>ttjd�D]*}ttd�}ttd�}|�|t|�|�qdS)Nr$zIs this the real life?)rrRr�r�rPr]rW)rr\Zm1Zm2rrr�test_map_pickle�s

zBuiltinTest.test_map_picklec	Cs6|�td�d�|�tddd�d�|�td�d�|�tgd��d�|�tddd�d�|�tddd�d�|�td	dd�d�|�td
��t�Wd�n1s�0Y|�ttd�|�ttd�Gd
d�d�}|�tt|��dD]4}zt|t��Wnt�yYq�0|�|�q�|�tdt	d�d�|�tdt	d�d�|�tddt	d�d�|�tddd�d�|�tddd�d�|�tddd�d�|�tddt	d�d�|�tddt	d�d�|�tddd�d�dd�t
d�D�}tdd�|D��}|j}|�t||d�t
t|�|d�d�dS)N�123123�3r$rdre�r$rdrer$rdrer:r�r9z'max expected at least 1 argument, got 0r�rc@seZdZdd�ZdS)z$BuiltinTest.test_max.<locals>.BadSeqcSst�dSrrIr�rrrr*sz0BuiltinTest.test_max.<locals>.BadSeq.__getitem__NrLrrrrr�sr�)zmax(key=int)zmax(default=None)zmax(1, 2, default=None)zmax(default=None, key=int)zmax(1, key=int)zmax(1, 2, keystone=int)zmax(1, 2, key=int, abc=int)zmax(1, 2, key=1)�r$�rKr���default�r�rKcSsg|]}t�d��qS�rE��random�	randrange�r�r(rrr�
<listcomp>'r"z(BuiltinTest.test_max.<locals>.<listcomp>r;css|]}|t�d�fVqdS�r�Nr��r��elemrrrr�(r"z'BuiltinTest.test_max.<locals>.<genexpr>r�)rUrrvrprnrqr�rN�failr	rrXr*r1�reversed�rr�Zstmt�datarVr�rrr�test_max�sJ�$
�zBuiltinTest.test_maxc	Cs2|�td�d�|�tddd�d�|�td�d�|�tgd��d�|�tddd�d�|�tddd�d�|�td	dd�d	�|�td
��t�Wd�n1s�0Y|�ttd�|�ttd�Gd
d�d�}|�tt|��dD]4}zt|t��Wnt�yYq�0|�|�q�|�tdt	d�d�|�tdt	d�d�|�tddt	d�d�|�tddd�d�|�tddd�d�|�tddd�d�|�tddt	d�d�|�tddt	d�d�|�tddd�d�dd�t
d�D�}tdd�|D��}|j}|�t||d�t
||d�d�dS)Nr�r5r$rdrer�r:r�r9z'min expected at least 1 argument, got 0r�rc@seZdZdd�ZdS)z$BuiltinTest.test_min.<locals>.BadSeqcSst�dSrrIr�rrrr*@sz0BuiltinTest.test_min.<locals>.BadSeq.__getitem__NrLrrrrr�?sr�)zmin(key=int)zmin(default=None)zmin(1, 2, default=None)zmin(default=None, key=int)zmin(1, key=int)zmin(1, 2, keystone=int)zmin(1, 2, key=int, abc=int)zmin(1, 2, key=1)r�r�r�r�r�cSsg|]}t�d��qSr�r�r�rrrr�br"z(BuiltinTest.test_min.<locals>.<listcomp>r;css|]}|t�d�fVqdSr�r�r�rrrr�cr"z'BuiltinTest.test_min.<locals>.<genexpr>r)rU�minrvrprnrqr�rNr�r	rrXr*r1r�rrr�test_min-sJ�$
�zBuiltinTest.test_mincCs�ttd��}|�t|�d�|�t|�d�|�tt|�|�tt|�|�t|d�d�Gdd�dt�}t|��}|�t|d�d�|�tt|�dd�}|�}|�t|�d�|�tt|�|�t|d�d�dS)	Nrdrr$r�c@seZdZdd�Zdd�ZdS)z#BuiltinTest.test_next.<locals>.ItercSs|Srrr rrrrGqsz,BuiltinTest.test_next.<locals>.Iter.__iter__cSst�dSr)rYr rrr�__next__ssz,BuiltinTest.test_next.<locals>.Iter.__next__N)r,r-r.rGr�rrrr�Iterpsr�css
dVdSrNrrrrr�genzsz"BuiltinTest.test_next.<locals>.gen)r�rrUrXrnrYr)rrZr�r�rrr�	test_nexths
zBuiltinTest.test_nextcCs2|�td�d�|�td�d�|�ttd�dS)Nr;Z0o144i����z-0o144r)rU�octrnrpr rrr�test_oct�szBuiltinTest.test_octcCszttd�}|�tt�|�L|�d�|�d�|�d�|�d�|�d�|�d�Wd�n1sl0YdS)N�w�1+1
z+The quick brown fox jumps over the lazy dogz.
z
Dear John
�,XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX�,YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY)�openr�
addCleanuprr3�r�fprrr�write_testfile�s





zBuiltinTest.write_testfilecCs�|��ttd�}|�z|�|�d�d�|�|��d�|�|�d�d�|�|�d�d�|�|�d�d	�|�|�d
�d�Wd�n1s�0Y|�ttd�|�ttd
�dS)N�rrfr�z-The quick brown fox jumps over the lazy dog.
ZDearr;z John
rFr���r�zabsab)r�r�rrU�readline�readrnrqr�rrr�	test_open�s
0zBuiltinTest.test_openzutf-8 mode is enabledc	Cs�ttj�}z�dD]}|tjvrtj|=q|��t�d�}ttd�}|�|�|j	|�Wd�n1sl0YWtj�
�tj�|�ntj�
�tj�|�0dS)N)�LC_ALL�LANG�LC_CTYPEFr�)rX�os�environr��locale�getpreferredencodingr�rrU�encoding�clear�update)rZold_environrKZcurrent_locale_encodingr�rrr�test_open_default_encoding�s




.
�
z&BuiltinTest.test_open_default_encodingcCsDtt�}|�$|�t�|����Wd�n1s60YdSr)r��__file__r�r��get_inheritable�fileno)r�fileobjrrr�test_open_non_inheritable�sz%BuiltinTest.test_open_non_inheritablecCsn|�td�d�|�td�d�|�td�d�|�td�d�|�td	�d
�|�td�d�|�td�d�|�td
�d�|�td�d�|�td�d
�|�tttj��tj�|�ttd�|�ttd��d�|�td�d�|�td�d�|�td�d�|�td�d�|�td�d�|�td�d�|�td�d�|�td �d!�|�td"�d�dS)#NrAr�r�r�rxr��€�r�r�� �ArG����r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�)rUrJrOr^r�rnrpr rrr�test_ord�s,zBuiltinTest.test_ordc
Cs$|�tdd�d�|�tdd�d�|�tdd�d�|�tdd�d�|�tdd�d�|�tdd�d�|�tdd�d�|�tdd�d	�|�td
d�d�|�td
d�d
�|�td
d�d�|�td
d�d
�|�tdd�d�|�tdd�d�|�tdd�d�|�tdd�d�|�tdd�d�|�tdd�d�|�tdd�d�|�tdd�d�|�tdd�d�|�tdd�d�|�tdd�d�|�tdd�d�dD]j}dD]^}dD]R}t|t��s�t|t��s�t|t��r|�tt|||�n|�t|||�d��qĐq��q�|�tdd�d�|�tdd�d�|�tdd
d�d�|�ttddd�|�tt�|�tddd �d�|�tddd!�d"�|�td#dd$d%�d&�ttdd'�}|�|d#d �d(�ttd#d �}|�|d�d(�ttdd)�}|�|dd*�d�|�|d*dd+�d�dS),Nrr$rdr9ir�r�r��@r7rfre���rwr9r�g�@g0Ag�Ag�r�� �)rdr�)r9�$@)r�g@�@g8@r�r�y�?gUUUUUU�?y�?�LX�z��?)�exp)�baser
rr6�)rr
�mod�)rr�)rr�)r
r)	rUr�r?r��floatrnrprqr)rr�r�rZtwopowZfifth_powerZmod10rrr�test_pow�sb�� zBuiltinTest.test_powcCs |��ttd�}tj}tj}z�|t_t�t_|�t�d�|�t�d�|�td�d�|t_tj�	�|�
tt�t�t_t�
d�t_|�
ttdd�t�
d�t_|�t�d�t�
�t_|�
tt�t`|�
ttd	�t`|�
ttd	�W|t_|t_|�	�n|t_|t_|�	�0dS)
Nr�rCz,The quick brown fox jumps over the lazy dog.ztesting
z	Dear JohnzNULLr�z    'whitespace'�prompt)r�r�rr^�stdinrzr1rU�input�closernrq�io�StringIOrp�EOFErrorrD)rr�Z	savestdinr{rrr�
test_inputs<



�zBuiltinTest.test_inputcCs�|�td�d�|�td�d�|�td�d�|�tg�d�|�ti�d�g}|�|�|�t|�d	�i}||d<|�t|�d
�dS)Nr@r�rr4rr�r�r�r�r�)rUr�r&)rrxrrr�	test_repr:s
zBuiltinTest.test_reprcCs0|�td�d�|�ttd��t�|�td�d�|�td�d�|�td�d�|�td�d�|�td�d�|�td�d�|�td�d�|�td	�d	�|�td
�d�|�td�d�|�td�d�|�td
�d�|�td�d�|�td�d�|�td�d�|�td�d�|�td�d�|�td�d�|�td�d�|�td�d�|�td�d�|�tdd�d�|�ttdd��t�|�ttdd��t�|�ttdd��t�|�td�d�|�td�d�|�td�d�|�td �d�|�td�d�|�td!�d!�|�td"�d"�|�ttd��t�|�ttd"d��t�|�ttd"d��t�|�ttd"d��t�|�tddd#�d�|�tt�Gd$d%�d%�}Gd&d'�d'�}|�t|��d(�|�ttdd)d*�|�tt|��|�}d+d,�|_|�tt|�|�tt|d�dS)-Nrwr9rge��Ag@��x�Dr=g$�ge��g@��x��g�������?g�������?g333333$@g��e��Ag�������g333333$�g��e��g�������?g������#@g33�d��Ag�������g������#�g33�d��rr�rr$g@r�g@g�i����g�rr
)�number�ndigitsc@seZdZdd�ZdS)z)BuiltinTest.test_round.<locals>.TestRoundcSsdS)N�rr rrr�	__round__�sz3BuiltinTest.test_round.<locals>.TestRound.__round__N)r,r-r.r rrrr�	TestRound�sr!c@seZdZdS)z+BuiltinTest.test_round.<locals>.TestNoRoundNr�rrrr�TestNoRound�sr"rrdrecWs|Srr)�argsrrrr��r"z(BuiltinTest.test_round.<locals>.<lambda>)rU�roundrVr�rrnrpr )rr!r"�trrr�
test_roundGsb
zBuiltinTest.test_roundZLinux�alpha���7y�1CzItest will fail;  failure is probably due to a buggy system round functioncCsT|�td�d�|�td�d�|�td�d�|�td�d�|�td�d�dS)Ng��7y�1Cg��7y�1Cr(g��7y�1Cg��7y�1C)rUr$r rrr�test_round_large�s
zBuiltinTest.test_round_largecCsXddt�d�t�dd�fD]8}|�t|d�t|��|�tt|d��tt|���qdS)Nrvg
ףp=J�@z1234.56i@�r;)�decimalZDecimal�	fractionsZFractionrUr$rVr�rrr�test_bug_27936�s
�zBuiltinTest.test_bug_27936cCs<ttdd�|�tjd�|�tttdd�|�tt�dS)Nrr$)�setattrr^rUrrnrpr rrr�test_setattr�szBuiltinTest.test_setattrcCsj|�tg�d�|�tttdd���d�|�ttttdd����d�|�ttd��d�|�tttd���d�|�tdgdgdggg�gd	��|�ttd�d
�d�|�ttd�d
d�d�|�ttd�d
�d�|�ttd�d�d�|�tdd�td�D��d�|�tdd�td�D�d�d�|�tdd�td�D�d�d�|�tgd�d�|�tdd�td�D��d�|�tdd�td�D�d
�d�|�tdd�td�D�d �d!�|�td"dg�d#�|�tdd"g�d#�|�ttd$g��d%�|�ttd$gd$��d&�|�ttgd$��d&�|�t	t�|�t	td'�|�t	tgd(��|�t	tgd(�d)�|�t	td*d+gd,�t
d*�t
d-�g}|�t	t|t
d,��|�t	tdgdgdgg�|�t	tddig�|�t	tddigdddi�|�t	tgd)�|�t	tgd,�|�t	tgt
��Gd.d/�d/�}|�tt|��g}td0d�td�D�|�|�|g�dS)1Nrrdr�r9ir$re�r$rdrer�i)�starti���l(l����l(css|]}|ddkVqdS�rdrNrr�rrrr��r"z'BuiltinTest.test_sum.<locals>.<genexpr>r6css|]}|ddkVqdSr2rr�rrrr��r"i���lcss|]}|ddkVqdSr2rr�rrrr��r"l����lFcss|]}|dVqdS�rdNrr�rrrr��r"g�6@css|]}|dVqdSr3rr�rrrr��r"g�@css|]}|dVqdSr3rr�rrrr��r"gB�@g��@r�g�?g�z0.0z-0.0r�r*r@rG�cr"�bc@seZdZdd�ZdS)z$BuiltinTest.test_sum.<locals>.BadSeqcSst�dSrrIr�rrrr*�sz0BuiltinTest.test_sum.<locals>.BadSeq.__getitem__NrLrrrrr��sr�css|]}|gVqdSrrr�rrrr��r")rU�sumrWrr�r�assertIsr�rnrp�	bytearrayrq)rr�r��emptyrrr�test_sum�sX"��  zBuiltinTest.test_sumcCs,|�td�td��|�td�td��dS)Nr@r�r)rUrVr�r rrr�	test_type�szBuiltinTest.test_typecCst�Sr)�varsrrrr�get_vars_f0�szBuiltinTest.get_vars_f0cCst��d}d}t�S)Nr$rd)rQr=r<rDrrr�get_vars_f2�szBuiltinTest.get_vars_f2c@seZdZdd�Zeed�ZdS)zBuiltinTest.C_get_varscCsddiS)Nrxrdrr rrr�getDict�szBuiltinTest.C_get_vars.getDict)�fgetN)r,r-r.r?�propertyrrrrr�
C_get_vars�srBcCs�|�tt��tt���|�ttt��ttt���|�|��i�|�|��ddd��|�ttdd�|�ttd�|�t|�	��ddi�dS)Nr$rdrDr�rx)
rU�setr<r+r^r=r>rnrprBr rrr�	test_varsszBuiltinTest.test_varscCsJd}d}gd�}|�tt||��|�gd�}|�tt||��|�d}|�tt||��|�Gdd�d�}|�tt||���|�|�tt��g�|�ttg��g�|�ttd�Gdd�d�}|�tt||��|�tt|t��Gd	d
�d
�}|�tt|�td���tttd����Gd
d�d�}|�t	tt|�|���dS)Nr0�rfr6r��)r$rf)rdr6)rer�)rfr6r�rc@seZdZdd�ZdS)zBuiltinTest.test_zip.<locals>.IcSs|dks|dkrt�|dS)Nrrdrf�r%�rr(rrrr*sz+BuiltinTest.test_zip.<locals>.I.__getitem__NrLrrrr�IsrIc@seZdZdS)zBuiltinTest.test_zip.<locals>.GNr�rrrr�GsrJc@seZdZdd�ZdS)z4BuiltinTest.test_zip.<locals>.SequenceWithoutALengthcSs|dkrt�n|SdS�Nr6rGrHrrrr*$sz@BuiltinTest.test_zip.<locals>.SequenceWithoutALength.__getitem__NrLrrrr�SequenceWithoutALength#srLr	r6c@seZdZdd�ZdS)z$BuiltinTest.test_zip.<locals>.BadSeqcSs|dkrt�n|SdSrKrIrHrrrr*/sz0BuiltinTest.test_zip.<locals>.BadSeq.__getitem__NrLrrrrr�.sr�)
rUrW�ziprnrprDrFr�	enumeraterq)rrxr)r%rIrJrLr�rrr�test_zip
s.�zBuiltinTest.test_zipcCs@d}d}gd�}ttjd�D]}t||�}|�|||�qdS)Nr0rErFr$)rrRr�rMr])rrxr)r%r\Zz1rrr�test_zip_pickle6s
zBuiltinTest.test_zip_picklecs^t��G�fdd�d�}|�t��}t|��Wd�n1sB0Y|�|j��dS)NcseZdZ�fdd�ZdS)z6BuiltinTest.test_zip_bad_iterable.<locals>.BadIterablecs��dSrrr ��	exceptionrrrGBsz?BuiltinTest.test_zip_bad_iterable.<locals>.BadIterable.__iter__NrHrrQrr�BadIterableAsrS)rprnrMr7rR)rrS�cmrrQr�test_zip_bad_iterable>s
(z!BuiltinTest.test_zip_bad_iterablecCs*tgg�}t��|�t�t|���dSr)rM�gcZcollectr}Z
is_trackedrX)rrZrrr�test_zip_result_gcJs
zBuiltinTest.test_zip_result_gcc	s,��tdd�d�dd�}�fdd�}||���fdd	�}|d
�|d�|d�|d
�|d�|d�|t�|d�Gdd�d�}��tt|�d���ttt�d���ttt�t��t��d�}��|�d����tt�jd���tt�jt����tt�jd�Gdd�d�}��t|��d���t|�d�d���t|�d�d�Gdd�d�}Gdd�dt�}t||fD]z}	|	�}
��t|
�t|
����t|
d�t|
����	tdt
�|	j���t|
d�Wd�n1�s�0Y�q�Gdd�dt�}��td|d��d �dS)!Nrer@r�cSs\Gdd�dt�}Gdd�d|�}Gdd�dt�}Gdd�d|�}Gd	d
�d
|�}||||fS)Nc@seZdZdd�Zdd�ZdS)z7BuiltinTest.test_format.<locals>.classes_new.<locals>.AcSs
||_dSrr}r�rrrr_sz@BuiltinTest.test_format.<locals>.classes_new.<locals>.A.__init__cSst|j�|Sr�r0r��r�format_specrrr�
__format__aszBBuiltinTest.test_format.<locals>.classes_new.<locals>.A.__format__N�r,r-r.rr[rrrrr�^sr�c@seZdZdS)zBBuiltinTest.test_format.<locals>.classes_new.<locals>.DerivedFromANr�rrrr�DerivedFromAcsr]c@seZdZdS)z<BuiltinTest.test_format.<locals>.classes_new.<locals>.SimpleNr�rrrr�Simplefr"r^c@seZdZdd�Zdd�ZdS)zGBuiltinTest.test_format.<locals>.classes_new.<locals>.DerivedFromSimplecSs
||_dSrr}r�rrrrhszPBuiltinTest.test_format.<locals>.classes_new.<locals>.DerivedFromSimple.__init__cSst|j�|SrrXrYrrrr[jszRBuiltinTest.test_format.<locals>.classes_new.<locals>.DerivedFromSimple.__format__Nr\rrrr�DerivedFromSimplegsr_c@seZdZdS)zHBuiltinTest.test_format.<locals>.classes_new.<locals>.DerivedFromSimple2Nr�rrrr�DerivedFromSimple2lr"r`)r)r�r]r^r_r`rrr�classes_new]sz,BuiltinTest.test_format.<locals>.classes_newcs\��t|d�d�d���t|d�d�d���t|d�d�d���t|d	�d
�d�dS)Nre�specZ3specrfZ4specr6�abcZ5abcr9ZabcdefZ10abcdef)rU�format)r�r]r_r`r rr�
class_testos�z+BuiltinTest.test_format.<locals>.class_testcs.��t|d�t|����t|�t|��dS�Nr@)rUrdr0)rrr rr�empty_format_specxsz2BuiltinTest.test_format.<locals>.empty_format_specl�.��@r9g�]]^��Ug�]]^���g�;�q7r*g�;�q7r�c@seZdZdd�ZdS)z0BuiltinTest.test_format.<locals>.BadFormatResultcSsdS)Nr9rrYrrrr[�sz;BuiltinTest.test_format.<locals>.BadFormatResult.__format__N�r,r-r.r[rrrr�BadFormatResult�srirfz<object object atc@seZdZdd�ZdS)z"BuiltinTest.test_format.<locals>.AcSs
td|�Srf)rd)rZfmt_strrrrr[�sz-BuiltinTest.test_format.<locals>.A.__format__Nrhrrrrr��sr�r�c@seZdZdS)z"BuiltinTest.test_format.<locals>.BNr�rrrrr��sr�c@seZdZdS)z"BuiltinTest.test_format.<locals>.CNr�rrrrrb�srbz\b%s\bc@seZdZdS)z/BuiltinTest.test_format.<locals>.DerivedFromStrNr�rrrr�DerivedFromStr�r"rjrr8z
         0)
rUrdrrnrpr[r}�
startswithr0rv�re�escaper,)rrarergrir�r�r�rb�cls�objrjrr r�test_formatVsL
�.zBuiltinTest.test_formatcCs�|�td�d�|�td�d�|�td�d�|�tdd�d	�|�tddd�d
�|�tdd�d�|�tddd�d�dS)
NrZ0b0r$Z0b1r�z-0b1rdr�ZD0b100000000000000000000000000000000000000000000000000000000000000000ZC0b11111111111111111111111111111111111111111111111111111111111111111zE-0b100000000000000000000000000000000000000000000000000000000000000000zD-0b11111111111111111111111111111111111111111111111111111111111111111)rU�binr rrr�test_bin�szBuiltinTest.test_bincCs0td�}|�t|jdd�|�t|jdd�dS)Nsabc�1r$s1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111)r8rnrq�	translaterpr�rrr�test_bytearray_translate�sz$BuiltinTest.test_bytearray_translatecCs$t�}ttd�}|�t|j|�dS)NrM)r8r�r�rnrq�extend)r�arrayZbad_iterrrr�test_bytearray_extend_error�s
z'BuiltinTest.test_bytearray_extend_errorcCsLdttfD]<}t|�}|�|�|�|�t|dd�|jt|ddd�q
dS)Nr$rdrD)�Ellipsis�NotImplementedrVr7rnrp)r�const�tprrr�test_construct_singletons�s
z%BuiltinTest.test_construct_singletonscCs||�ttt�|�t��|�t�Wd�n1s80Y|�t��|�t�Wd�n1sn0YdSr)rr�DeprecationWarning�boolrzr}r�r rrr�test_warning_notimplemented�s
(z'BuiltinTest.test_warning_notimplementedN)Wr,r-r.r]rur�r�r�r�r�r�r�r�r�rr
rrrr4rBrOriroryr|r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r��unittest�skipIfr^r��	utf8_moder�rrrrrr&�platform�systemrk�machineZlinux_alphar$Zsystem_round_bugr)r,r.r:r;�staticmethodr=r>rrBrDrOrPrUr
Zcpython_onlyrWrprrrurxr}r�rrrrrQ�s�#"1:&ME$	
"<;;
>%
Q��
	4

	,
e	rQc@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Ze	�
ejj
d
�dd��Ze	�
ejj
d
�dd��Ze	�
ejj
d
�dd��Zdd�Ze	�
ejj
d
�dd��Zdd�ZdS)�TestBreakpointcCsHt�|_|�|jj�|j�t��|_|jd=|j�ttdtj	��dS)N�PYTHONBREAKPOINT�breakpointhook)
r�	resourcesr�r�
enter_contextr�envrr^�__breakpointhook__r rrr�setUp�s�zTestBreakpoint.setUpcCs:td��}t�Wd�n1s$0Y|��dS�N�
pdb.set_trace)r�
breakpointZassert_called_once�r�mockrrr�test_breakpoint�s
$zTestBreakpoint.test_breakpointcCst�}|t_t�|��dSr�rr^r�r��assert_called_once_with�r�my_breakpointhookrrr�'test_breakpoint_with_breakpointhook_set�sz6TestBreakpoint.test_breakpoint_with_breakpointhook_setcCsdt�}|t_t�|��tjt_td��}t�|��Wd�n1sN0Y|��dSr�)rr^r�r�r�r�r)rr�r�rrr�)test_breakpoint_with_breakpointhook_reset�s
&z8TestBreakpoint.test_breakpoint_with_breakpointhook_resetcCs6t�}|t_tdddddd�|jdddddd�dS)Nr$rdrerfr6�ZfourZfiver�r�rrr�&test_breakpoint_with_args_and_keywords
sz5TestBreakpoint.test_breakpoint_with_args_and_keywordsc	Cs*dd�}|t_|jttdddddd�dS)	NcSsdSrrrrrrr�szMTestBreakpoint.test_breakpoint_with_passthru_error.<locals>.my_breakpointhookr$rdrerfr6r�)r^r�rnrpr�r�rrr�#test_breakpoint_with_passthru_errorsz2TestBreakpoint.test_breakpoint_with_passthru_errorz-E was givencCsHd|jd<td��"}td�|�d�Wd�n1s:0YdS)Nr�r�zbuiltins.int�7�r�rr�r�r�rrr�test_envar_good_path_builtins

z+TestBreakpoint.test_envar_good_path_builtincCsDd|jd<td��}t�|��Wd�n1s60YdS�Nzsys.exitr�r�r�rrr�test_envar_good_path_others

z)TestBreakpoint.test_envar_good_path_othercCsDd|jd<td��}t�|��Wd�n1s60YdS)Nr4r�r�)r�rr��assert_not_calledr�rrr�test_envar_good_path_noop_0$s

z*TestBreakpoint.test_envar_good_path_noop_0cCsDd|jd<td��}t�|��Wd�n1s60YdS)Nr@r�r�r�r�rrr�!test_envar_good_path_empty_string+s

z0TestBreakpoint.test_envar_good_path_empty_stringc	Cs�dD]�}|j|d��r||jd<|j�td��}|j�tdd��}t�|�t|j	�d|�d��|�|j
t�|��Wd�q1s�0YqdS)	N)�.z..z.foozfoo.z.intzint.z.foo.barz	..foo.barz/./Z
nosuchbuiltinznosuchmodule.nosuchcallable)�envarr�r�T)�quietz*Ignoring unimportable $PYTHONBREAKPOINT: "r�)
�subTestr�r�r�rr
r�rUr0�message�category�RuntimeWarningr�)rr�r�r�rrr�test_envar_unimportable2s

�z&TestBreakpoint.test_envar_unimportablecCsJd|jd<td��$}tt_t�|��Wd�n1s<0YdSr�)r�rr�r^r�r�r�r�rrr�#test_envar_ignored_when_hook_is_setEs


z2TestBreakpoint.test_envar_ignored_when_hook_is_setN)r,r-r.r�r�r�r�r�r�r�r�r^r��ignore_environmentr�r�r�r�r�r�rrrrr��s 



r�z,the pty and signal modules must be availablec@s^eZdZdZedd��Zdd�Zdd�Zdd	d
�Zdd�Z	d
d�Z
dd�Zdd�Zdd�Z
dS)�PtyTestszhTests that use a pseudo terminal to guarantee stdin and stdout are
    terminals in the test environmentcCsdSrr)�signum�framerrr�
handle_sighupRszPtyTests.handle_sighupc
CsBt�tj|j�}z|�||�Wt�tj|�St�tj|�0dSr)�signal�SIGHUPr��
_run_child)r�child�terminal_inputZ
old_sighuprrr�	run_childYs�zPtyTests.run_childc
Cs�t��\}}zt��\}}WnNttfyj}z2t�|�t�|�|�d�|���WYd}~n
d}~00|dkr�znzJt	�
d�t�|�t|d��}||�Wd�n1s�0YWnt�
�Yn0Wt�d�nt�d�0t�|�t�||�t|d��<}	g}
|	����}|dk�r0�q>|
�|��qWd�n1�sT0Yt|
�dk�r�t�}zt�|d�}
Wnt�y�Y�q�Yn0|
�s��q�|�|
��qrt�|�|�dd	�}|�d
t|
�|f�t�|�tj|dd�|
S)Nzpty.fork() raised {}rrdr�r�r@i�r�rjz9got %d lines in pipe but expected 2, child output was:
%s)�exitcode)r��pipe�pty�fork�OSErrorr�r�skipTestrdr��alarmr��	traceback�	print_exc�_exitr3r�rr&rr8r�rv�decoder�r
Zwait_process)rr�r�r�r��pid�fdr3�wpipeZrpipe�linesr2Zchild_output�chunkrrrr�`sT



*

.

�
zPtyTests._run_childNcs�tj��rtj��s|�d���fdd�}|�||d�}|�|dddh�|ddkrf|�d�t|d	�}�r�|��d
�}n|�tjj	�}|�
||�dS)Nzstdin and stdout must be ttyscsj�r4tjtj���dd�t_tjtj���dd�t_tdtj��oJtj��|d�ttt	���|d�dS)N�surrogateescape)r��errors�replaceztty =��file)
r�
TextIOWrapperr^r�detachrz�print�isattyr�r�r��r�stdio_encodingrrr��s��z'PtyTests.check_input_tty.<locals>.childs
rz
tty = Trueztty = Falsez%standard IO in should have been a ttyr$r�)r^rr�rzr�r�r,r�r�r�rU)rrr�r�r�r�Zinput_resultr�rr�r�check_input_tty�s

zPtyTests.check_input_ttycCs|�dd�dS)Nrsquux)r�r rrr�test_input_tty�szPtyTests.test_input_ttycCsdtjvr|�d�dS)Nr�zthe readline module is loaded)r^�modulesr�r rrr�skip_if_readline�s
zPtyTests.skip_if_readlinecCs|��|�ddd�dS)N�prompté�quux�zutf-8�r�r�r rrr�test_input_tty_non_ascii�sz!PtyTests.test_input_tty_non_asciicCs|��|�ddd�dS)Nr�r�r�r�r rrr�'test_input_tty_non_ascii_unicode_errors�sz0PtyTests.test_input_tty_non_ascii_unicode_errorscCs(dd�}|�|d�}d}|�||�dS)NcSsBtdtj��|d�t��t_td�tdttj�	��|d�dS)Nzstdin.isatty():r�rz	captured:)
r�r^rr�rrrzrr��getvaluer�rrrr��s
z3PtyTests.test_input_no_stdout_fileno.<locals>.childsquux
)zstdin.isatty(): Truezcaptured: 'prompt')r�ZassertSequenceEqual)rr�r�r�rrr�test_input_no_stdout_fileno�sz$PtyTests.test_input_no_stdout_fileno)N)r,r-r.r�r�r�r�r�r�r�r�r�r�r�rrrrr�Ms
@

r�c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�
TestSortedcCs�ttd��}|dd�}t�|�|�|t|��|�||�|��t�|�|�|t|dd�d��|�||�t�|�|�|t|dd��|�||�dS)Nr;cSs|Srrr}rrrr��r"z'TestSorted.test_basic.<locals>.<lambda>r�T)�reverse)rWrr��shufflerUr1r�r�)rr��copyrrr�
test_basic�s


zTestSorted.test_basiccCs�tg�|�t��tgd�Wd�n1s20Ytgdd�|�t��tgd�Wd�n1sr0YdS)N)�iterabler�)r1rnrpr rrr�test_bad_arguments�s(zTestSorted.test_bad_argumentscCsvd}tttg}|D]}|�t|�t||���qd�t|��}ttttttj	g}|D]}|�t|�t||���qTdS)NZabracadabrar@)
rWr�r0rUr1�joinrC�	frozensetrX�fromkeys)rr�r-�Trrr�test_inputtypes�s
zTestSorted.test_inputtypescCs"d��}|�tt|ddd��dS)Nz,The quick Brown fox Jumped over The lazy DogcSsdSr�rr�rrrr�
r"z.TestSorted.test_baddecorator.<locals>.<lambda>)�splitrnrpr1)rr�rrr�test_baddecoratorszTestSorted.test_baddecoratorN)r,r-r.r�r�r�r�rrrrr��s
r�c@seZdZdd�ZdS)�ShutdownTestcCs4d}td|dd�\}}}|�ddg|�����dS)Nafif 1:
            import builtins
            import sys

            class C:
                def __del__(self):
                    print("before")
                    # Check that builtins still exist
                    len(())
                    print("after")

            c = C()
            # Make this module survive until builtins and sys are cleaned
            builtins.here = sys.modules[__name__]
            sys.here = sys.modules[__name__]
            # Create a reference loop so that this module needs to go
            # through a GC phase.
            here = sys.modules[__name__]
            z-cr�)ZPYTHONIOENCODING�beforeZafter)rrUr��
splitlines)rr��rc�out�errrrr�test_cleanups
�zShutdownTest.test_cleanupN)r,r-r.r�rrrrr�
sr�c@sLeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dS)�TestTypecCsntddi�}|�|jd�|�|jd�|�|jt�|�|jtf�|�|jt�|�}|�t|�|�|�|j	|�Gdd�d�}td|t
fddd�i�}|�|jd�|�|jd�|�|jt�|�|j|t
f�|�|jt
�|�d|j�|�
d	|j�|d
�}|�|d
�|�t|�|�|�|j	|�|�|��d�|�|��d�|�|�d
d�d�dS)Nr�rc@seZdZdd�ZdS)z!TestType.test_new_type.<locals>.BcSsd|S)Nzham%drr rrrr�<sz%TestType.test_new_type.<locals>.B.hamN)r,r-r.r�rrrrr�;sr�rbrcSsd|S)Nzspam%srr rrrr�>r"z(TestType.test_new_type.<locals>.<lambda>r�r�Zham42Zspam42rd�littles*)rVrUr,r.r-�	__bases__rr7�__base__r!r�r,rr/r�r�to_bytes)rr�r�r�rbrrr�
test_new_type0s2zTestType.test_new_typecCsv|�t�� tddidd�Wd�n1s00Y|�t��tddid�Wd�n1sh0YdS)Nrxrr6r}�rX)rnrprVr rrr�test_type_nokwargsNs.zTestType.test_type_nokwargsc	CsVdD]f}|j|d��Ft|di�}|�|j|�|�|j|�|�|jt�Wd�q1s`0Yq|�t��tddi�Wd�n1s�0Y|�t��tddi�Wd�n1s�0Y|�t��tddi�Wd�n1�s0Ytddi�}dD]d}|j|d��@||_|�|j|�|�|jd�|�|jt�Wd�n1�sx0Y�q tddi�}|�t��d|_Wd�n1�s�0Y|�|jd�|�t��d|_Wd�n1�s�0Y|�|jd�|�t��d|_Wd�n1�s:0Y|�|jd�dS)N)r��Ä�🐍zB.A�42r@rarzABuA�Brrb)	r�rVrUr,r.r-rnrqrp)rrbr�rbrrr�test_type_nameTs:.**,2&&&zTestType.test_type_namecCs�tddddi�}|�|jd�|�|jd�|�|jt�|�t�� tddddi�Wd�n1sj0Y|�|jd�d|_|�|jd�|�|jd�|�t��d|_Wd�n1s�0Y|�|jd�dS)Nr�rr.zB.C�BzD.E)rVrUr,r.r-rnrp)rr�rrr�test_type_qualnameus.$zTestType.test_type_qualnamecCs�dD]"}tddd|i�}|�|j|�q|�t�� tddddi�Wd�n1sX0Ytddi�}|�|jd�dD]}||_|�|j|�q�dS)N)r�r�r�xy�xr�Nr�rr��x�y)r�r�rrrrr�N)rVrUr�rn�UnicodeEncodeError)rr�r�rrr�
test_type_doc�s.zTestType.test_type_doccCs�|�t��t�Wd�n1s&0Y|�t��tdd�Wd�n1sZ0Y|�t��tddid�Wd�n1s�0Y|�t��tddid�Wd�n1s�0Y|�t��tdgi�Wd�n1�s0Y|�t��"tddt�i��Wd�n1�s@0Y|�t��tddi�Wd�n1�sx0Y|�t��tdtfi�Wd�n1�s�0Y|�t�� tdttfi�Wd�n1�s�0YdS)Nr�rr�r)rnrprVr-�MappingProxyTyperr�r0r rrr�
test_bad_args�s$$(,,,2,.zTestType.test_bad_argscCsj|�t�� tddddi�Wd�n1s00Y|�t��"tdtfddi�Wd�n1sl0Y|�t�� tddddi�Wd�n1s�0Y|�t�� tddddi�Wd�n1s�0Y|�t�� tddddi�Wd�n1�s0Y|�t��"tdddd	d
��Wd�n1�sZ0Y|�t�� tddddi�Wd�n1�s�0Y|�t�� tddddi�Wd�n1�s�0YGd
d�d�}|�t��"td|fddi�Wd�n1�s0Y|�t��"td|fddi�Wd�n1�s\0YdS)Nr�rrrr�r@rrr)rr�)rr)�__weakref__rc@seZdZdS)z"TestType.test_bad_slots.<locals>.BNr�rrrrr��sr�rr)rnrprVr�rq)rr�rrr�test_bad_slots�s*.0..02002zTestType.test_bad_slotscCsVt�ddg�}|�d�t|���}tdd|�}|�t|j���dd�ddg�dS)N)rxr$)r)rdrxrbrrd)rd�OrderedDict�move_to_endrW�itemsrVrUr)rZodr�rbrrr�test_namespace_order�s

zTestType.test_namespace_orderN)r,r-r.r�r�rrr	rr
rrrrrr�/s!
r�cCsddlm}|�|t��|S)Nr)�DocTestSuite)�doctestrZaddTestr�)�loaderZtests�patternrrrr�
load_tests�srrg)Kr�rr�rdr*r+rVrr�r�rRr�r�rlr^r�r-r�rl�
contextlibr�	functoolsr�inspectr�	itertoolsr�textwraprrr�operatorr	rur
Ztest.supportrrr
rrrZtest.support.script_helperrZ
unittest.mockrrr�r�rorr/r1r�r~rqr0rOZtest_conv_no_signZtest_conv_signrBrFrMrPZTestCaserQr�Z
skipUnlessr�r�r�r�rr,�mainrrrr�<module>s� 
�
�gi
+"


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