Sindbad~EG File Manager

Current Path : /proc/2568807/root/usr/local/lib/python3.12/test/__pycache__/
Upload File :
Current File : //proc/2568807/root/usr/local/lib/python3.12/test/__pycache__/test_call.cpython-312.pyc

�

&Μgٌ���ddlZddlmZmZmZmZmZ	ddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZGd�de�ZGd�dej$�ZeGd�dej$��ZGd	�d
ej$�ZGd�de�ZGd
�de�ZGd�de�ZGd�de�Zd�Zd�ZGd�d�Ze�Ze�ZGd�dej$�Z dZ!dZ"d�Z#d�Z$dZ%Gd�dej$�Z&Gd �d!�Z'eGd"�d#ej$��Z(eGd$�d%ej$��Z)Gd&�d'ej$�Z*e+d(k(rejX�yy#e$rdZY��`wxYw))�N)�cpython_only�requires_limited_api�
skip_on_s390x�is_wasi�Py_DEBUGc��eZdZd�Zd�Zy)�BadStrc��y)NT�)�self�others  �+/usr/local/lib/python3.12/test/test_call.py�__eq__z
BadStr.__eq__s���c�2�tj|�dzS)N�)�str�__hash__�rs rrzBadStr.__hash__s���|�|�D�!�A�%�%rN)�__name__�
__module__�__qualname__rrrrrr	r	s���&rr	c��eZdZd�Zd�Zy)�
FunctionCallsc��tjddg�}|jd�t|j	��}d�}|di|��}|j|t�|jt|j	��|�y)N)�a�)�b�rc��|S�Nr)�kws r�fnz+FunctionCalls.test_kwargs_order.<locals>.fn s���Irr)�collections�OrderedDict�move_to_end�list�items�assertIsInstance�dict�assertEqual)r�od�expectedr#�ress     r�test_kwargs_orderzFunctionCalls.test_kwargs_ordersp��
�
$�
$�h��%9�
:��
���s������
�#��	��h�2�h�����c�4�(�����c�i�i�k�*�H�5rc�Z�d�}td�D]}	|d��
y#t$rY�wxYw)Nc��yr!rrrr�fzBFunctionCalls.test_frames_are_popped_after_failed_calls.<locals>.f*s��r��)�range�	TypeError)rr2�_s   r�)test_frames_are_popped_after_failed_callsz7FunctionCalls.test_frames_are_popped_after_failed_calls's5��	��t��A�
��$�����
��
�s��	*�*N)rrrr/r7rrrrrs��6�	rrc��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d �Z"d!�Z#d"�Z$d#�Z%d$�Z&d%�Z'd&�Z(d'�Z)d(�Z*d)�Z+y*)+�CFunctionCallsErrorMessagesc�J�d}|jt|ij�y)Nz7__contains__\(\) takes exactly one argument \(0 given\)��assertRaisesRegexr5�__contains__�r�msgs  r�
test_varargs0z)CFunctionCallsErrorMessages.test_varargs07s��H�����y�#�r���?rc�N�d}|jt|ijdd�y)Nz7__contains__\(\) takes exactly one argument \(2 given\)rrr;r>s  r�
test_varargs2z)CFunctionCallsErrorMessages.test_varargs2;s!��H�����y�#�r����1�Erc�X�d}|jt|tjddd�y)Nz@^from_bytes\(\) takes at most 2 positional arguments \(3 given\)�a�littleF)r<r5�int�
from_bytesr>s  r�
test_varargs3z)CFunctionCallsErrorMessages.test_varargs3?s#��Q�����y�#�s�~�~�t�X�u�Urc��d}|jt|ij�d}|jt|ij�y)Nz'get expected at least 1 argument, got 0zexpected 1 argument, got 0)r<r5�get�__delattr__r>s  r�test_varargs1minz,CFunctionCallsErrorMessages.test_varargs1minCs8��8�����y�#�r�v�v�6�+�����y�#�r�~�~�>rc�>�d}|jt|t�y)Nz,getattr expected at least 2 arguments, got 0�r<r5�getattrr>s  r�test_varargs2minz,CFunctionCallsErrorMessages.test_varargs2minJs��=�����y�#�w�7rc�B�d}|jt|tdd�y)Nz(input expected at most 1 argument, got 2rr)r<r5�inputr>s  r�test_varargs1maxz,CFunctionCallsErrorMessages.test_varargs1maxNs��9�����y�#�u�a��;rc�P�d}|jt|ijddd�y)Nz'get expected at most 2 arguments, got 3rrr)r<r5rJr>s  r�test_varargs2maxz,CFunctionCallsErrorMessages.test_varargs2maxRs#��8�����y�#�r�v�v�q�!�Q�?rc�N�d}|jt|ijd��y)N�+__contains__\(\) takes no keyword argumentsr��xr;r>s  r�test_varargs1_kwz,CFunctionCallsErrorMessages.test_varargs1_kwVs"��<�����y�#�r���!��Drc�P�d}|jt|ijdd��y)NrWr�rY�yr;r>s  r�test_varargs2_kwz,CFunctionCallsErrorMessages.test_varargs2_kwZs$��<�����y�#�r���!�q��Irc�B�d}|jt|td��y)Nz#bool\(\) takes no keyword argumentsrrX)r<r5�boolr>s  r�test_varargs3_kwz,CFunctionCallsErrorMessages.test_varargs3_kw^s��4�����y�#�t�q��9rc�N�d}|jt|gjd��y)Nz-^list[.]index\(\) takes no keyword arguments$rrX)r<r5�indexr>s  r�test_varargs4_kwz,CFunctionCallsErrorMessages.test_varargs4_kwbs"��>�����y�#�r�x�x�1��=rc�B�d}|jt|td��y)Nz(^hasattr\(\) takes no keyword arguments$rrX)r<r5�hasattrr>s  r�test_varargs5_kwz,CFunctionCallsErrorMessages.test_varargs5_kwf���9�����y�#�w�!��<rc�B�d}|jt|td��y)Nz(^getattr\(\) takes no keyword arguments$rrXrNr>s  r�test_varargs6_kwz,CFunctionCallsErrorMessages.test_varargs6_kwjrhrc�B�d}|jt|td��y)Nz%^next\(\) takes no keyword arguments$rrX)r<r5�nextr>s  r�test_varargs7_kwz,CFunctionCallsErrorMessages.test_varargs7_kwns��6�����y�#�t�q��9rc�V�d}|jt|tjd��y)Nz/^_struct[.]pack\(\) takes no keyword arguments$rrX)r<r5�struct�packr>s  r�test_varargs8_kwz,CFunctionCallsErrorMessages.test_varargs8_kwrs"��@�����y�#�v�{�{�a��@rc�V�d}|jt|tjd��y)Nz4^_struct[.]pack_into\(\) takes no keyword arguments$rrX)r<r5ro�	pack_intor>s  r�test_varargs9_kwz,CFunctionCallsErrorMessages.test_varargs9_kwvs$��E�����y�#�v�/?�/?�1��Erc�r�d}|jt|tj�jd��y)Nz.^deque[.]index\(\) takes no keyword arguments$rrX)r<r5r$�dequercr>s  r�test_varargs10_kwz-CFunctionCallsErrorMessages.test_varargs10_kwzs-��?�����y�#�{�/@�/@�/B�/H�/H�A��Nrc��d}|jt|tjjtjd�d��y)Nz.^Struct[.]pack\(\) takes no keyword arguments$�rrX)r<r5ro�Structrpr>s  r�test_varargs11_kwz-CFunctionCallsErrorMessages.test_varargs11_kw~s5��?�����y�#�v�}�}�/A�/A�6�=�=�QS�CT�XY��Zrc�J�d}|jt|tt��y)Nz-^staticmethod\(\) takes no keyword arguments$��func)r<r5�staticmethod�idr>s  r�test_varargs12_kwz-CFunctionCallsErrorMessages.test_varargs12_kw�s��>�����y�#�|�"��Erc�J�d}|jt|tt��y)Nz,^classmethod\(\) takes no keyword arguments$r})r<r5�classmethodr�r>s  r�test_varargs13_kwz-CFunctionCallsErrorMessages.test_varargs13_kw�s��=�����y�#�{���Drc�Z�d}|jt|tjddd��y)Nz:^product\(\) takes at most 1 keyword argument \(2 given\)$rrr)�repeat�foo)r<r5�	itertools�productr>s  r�test_varargs14_kwz-CFunctionCallsErrorMessages.test_varargs14_kw�s.��K�����y�#�(�0�0�!�A�1�	�	Frc
�J�d}|jt|tddddd��y)Nz?^ImportError\(\) takes at most 3 keyword arguments \(4 given\)$rrrr)�name�path�	name_fromr�)r<r5�ImportErrorr>s  r�test_varargs15_kwz-CFunctionCallsErrorMessages.test_varargs15_kw�s-��P�����y�#�*�A�A�A��PQ�	�	Src	�H�d}|jt|tdddd��y)Nz7^min\(\) takes at most 2 keyword arguments \(3 given\)$rrrr)�default�keyr�)r<r5�minr>s  r�test_varargs16_kwz-CFunctionCallsErrorMessages.test_varargs16_kw�s*��H�����y�#�"�A�q�a�Q�	�	@rc�L�d}|jt|tdddddd��	y)	Nz3'foo' is an invalid keyword argument for print\(\)$rrrr��)�sep�end�file�flushr�)r<r5�printr>s  r�test_varargs17_kwz-CFunctionCallsErrorMessages.test_varargs17_kw�s.��D�����y�#�$�a�Q�A�A�Q�A�	�	Orc��d}|jt|�5tditd�di��ddd�y#1swYyxYw)Nz'invalid keyword argument for print\(\)$r��,)rr)r<r5r�r	r>s  r�test_varargs18_kwz-CFunctionCallsErrorMessages.test_varargs18_kw�s7��8��
�
#�
#�I�s�
3��/�6�%�=�#�.�/�4�
3�
3��	�9�Ac��d}|jt|�5tditd�di��ddd�y#1swYyxYw)Nz'invalid keyword argument for round\(\)$r�r)g�?)r<r5�roundr	r>s  r�test_varargs19_kwz-CFunctionCallsErrorMessages.test_varargs19_kw�s7��8��
�
#�
#�I�s�
3��-�6�%�=�!�,�-�4�
3�
3�r�c�L�d}|jt|ijd�y)Nz'keys\(\) takes no arguments \(1 given\)r�r<r5�keysr>s  r�test_oldargs0_1z+CFunctionCallsErrorMessages.test_oldargs0_1�s��8�����y�#�r�w�w��:rc�N�d}|jt|ijdd�y)Nz'keys\(\) takes no arguments \(2 given\)rrr�r>s  r�test_oldargs0_2z+CFunctionCallsErrorMessages.test_oldargs0_2�s!��8�����y�#�r�w�w��1�=rc�N�d}|jt|ijd��y)N�#keys\(\) takes no keyword argumentsrrXr�r>s  r�test_oldargs0_1_kwz.CFunctionCallsErrorMessages.test_oldargs0_1_kw�s"��4�����y�#�r�w�w�!��<rc�P�d}|jt|ijdd��y)Nr�rr\r�r>s  r�test_oldargs0_2_kwz.CFunctionCallsErrorMessages.test_oldargs0_2_kw�s$��4�����y�#�r�w�w�!�q��Arc�J�d}|jt|gj�y)Nz0count\(\) takes exactly one argument \(0 given\)�r<r5�countr>s  r�test_oldargs1_0z+CFunctionCallsErrorMessages.test_oldargs1_0�s��A�����y�#�r�x�x�8rc�N�d}|jt|gjdd�y)Nz0count\(\) takes exactly one argument \(2 given\)rrr�r>s  r�test_oldargs1_2z+CFunctionCallsErrorMessages.test_oldargs1_2�s!��A�����y�#�r�x�x��A�>rc�N�d}|jt|gjd��y�N�$count\(\) takes no keyword argumentsrrXr�r>s  r�test_oldargs1_0_kwz.CFunctionCallsErrorMessages.test_oldargs1_0_kw�s"��5�����y�#�r�x�x�1��=rc�P�d}|jt|gjid��yr�r�r>s  r�test_oldargs1_1_kwz.CFunctionCallsErrorMessages.test_oldargs1_1_kw�s$��5�����y�#�r�x�x��q��Arc�P�d}|jt|gjdd��y)Nr�rr\r�r>s  r�test_oldargs1_2_kwz.CFunctionCallsErrorMessages.test_oldargs1_2_kw�s$��5�����y�#�r�x�x�1���Brc�F�d}|jt|t��y)Nz!^'object' object is not callable$)r<r5�objectr>s  r�test_object_not_callablez4CFunctionCallsErrorMessages.test_object_not_callable�s��2�����y�#�v�x�8rc�\�d}|jt|tjd��y�N�!^'module' object is not callable$�mod)r<r5�types�
ModuleTyper>s  r�(test_module_not_callable_no_suggestion_0zDCFunctionCallsErrorMessages.test_module_not_callable_no_suggestion_0�s$��2�����y�#�u�/?�/?��/F�Grc�n�d}tjd�}d|_|jt||�y�Nr�r��*�r�r�r�r<r5�rr?r�s   r�(test_module_not_callable_no_suggestion_1zDCFunctionCallsErrorMessages.test_module_not_callable_no_suggestion_1�s0��2�����u�%��������y�#�s�3rc�d�d}tjd�}|`|jt||�yr��r�r�rr<r5r�s   r�(test_module_not_callable_no_suggestion_2zDCFunctionCallsErrorMessages.test_module_not_callable_no_suggestion_2�s.��2�����u�%���L����y�#�s�3rc�n�d}tjd�}d|_|jt||�yr�r�r�s   r�(test_module_not_callable_no_suggestion_3zDCFunctionCallsErrorMessages.test_module_not_callable_no_suggestion_3�s0��2�����u�%��������y�#�s�3rc�p�d}tjd�}d�|_|jt||�y)NzH^'module' object is not callable\. Did you mean: 'mod\.mod\(\.\.\.\)'\?$r�c��y)N.rrrr�<lambda>zQCFunctionCallsErrorMessages.test_module_not_callable_suggestion.<locals>.<lambda>�s��#rr�r�s   r�#test_module_not_callable_suggestionz?CFunctionCallsErrorMessages.test_module_not_callable_suggestion�s0��Y�����u�%��������y�#�s�3rN),rrrr@rBrHrLrPrSrUrZr^rardrgrjrmrqrtrwr{r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrr9r94s���@�F�V�?�8�<�@�E�J�:�>�=�=�:�A�F�O�[�F�E�F�
S�
@�
O�
0�.�;�>�=�B�9�?�>�B�C�9�H�4�4�4�4rr9c��eZdZdZd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zy)�TestCallingConventionsa�Test calling using various C calling conventions (METH_*) from Python

    Subclasses test several kinds of functions (module-level, methods,
    class methods static methods) using these attributes:
      obj: the object that contains tested functions (as attributes)
      expected_self: expected "self" argument to the C function

    The base class tests module-level functions.
    c�(�tx|_|_yr!)�	_testcapi�obj�
expected_selfrs r�setUpzTestCallingConventions.setUp�s��(1�1���4�%rc�v�|j|jjddd�|jdf�y�Nrrr�rrr�r+r��meth_varargsr�rs r�test_varargsz#TestCallingConventions.test_varargs�s4������H�H�!�!�!�Q��*�
�
�
��+�	
rc�n�|j|jjd�|jdf�y�Nr�r�rs r�test_varargs_extz'TestCallingConventions.test_varargs_exts2�����!�D�H�H�!�!�9�-�
�
�
��+�	
rc�>��d}�jt|�fd��y)Nz+meth_varargs\(\) takes no keyword argumentsc�<���jjd��S�Nr)�k)r�r�rs�rr�z>TestCallingConventions.test_varargs_error_kw.<locals>.<lambda>s���D�H�H�$9�$9�A�$9�$>r�r<r5r>s` r�test_varargs_error_kwz,TestCallingConventions.test_varargs_error_kw	s���<������s�>�	
rc��|j|jjdddd��|jdddd�f�y�Nrrrr��rr�rr�r+r��meth_varargs_keywordsr�rs r�test_varargs_keywordsz,TestCallingConventions.test_varargs_keywordss@������H�H�*�*�1�a�1��*�:�
�
�
��q�q�)9�:�	
rc	��|j|jjddgiddd���|jdddd�f�yr�r�rs r�test_varargs_keywords_extz0TestCallingConventions.test_varargs_keywords_extsG�����*�D�H�H�*�*�Q��F�G�A�A�6F�G�
�
�
��q�q�)9�:�	
rc�r�|j|jjd�|jdf�y�Nr�r+r��meth_or�rs r�test_ozTestCallingConventions.test_os*�����������+�d�.@�.@�!�-D�Erc�p�|j|jjdg�|jdf�yr�r�rs r�
test_o_extz!TestCallingConventions.test_o_exts.�����������1�#�.��1C�1C�Q�0G�Hrc�^�d}|jt||jj�y)Nz1meth_o\(\) takes exactly one argument \(0 given\))r<r5r�r�r>s  r�test_o_error_no_argz*TestCallingConventions.test_o_error_no_arg!s!��B�����y�#�t�x�x���?rc�>��d}�jt|�fd��y)Nz1meth_o\(\) takes exactly one argument \(2 given\)c�<���jjdd�S�Nrr�r�r�rs�rr�z>TestCallingConventions.test_o_error_two_args.<locals>.<lambda>(s���D�H�H�O�O�A�q�$9rr�r>s` r�test_o_error_two_argsz,TestCallingConventions.test_o_error_two_args%s���B������s�9�	
rc�>��d}�jt|�fd��y)Nz1meth_o\(\) takes exactly one argument \(3 given\)c�6���jjd�Sr�rrs�rr�z9TestCallingConventions.test_o_error_ext.<locals>.<lambda>.s���O�D�H�H�O�O�Y�$?rr�r>s` r�test_o_error_extz'TestCallingConventions.test_o_error_ext+s���B������s�?�	
rc�>��d}�jt|�fd��y)N�%meth_o\(\) takes no keyword argumentsc�<���jjd��Sr�rrs�rr�z8TestCallingConventions.test_o_error_kw.<locals>.<lambda>4����D�H�H�O�O�a�O�$8rr�r>s` r�test_o_error_kwz&TestCallingConventions.test_o_error_kw1����6������s�8�	
rc�>��d}�jt|�fd��y)Nr	c�<���jjd��Sr�rrs�rr�z<TestCallingConventions.test_o_error_arg_kw.<locals>.<lambda>:rrr�r>s` r�test_o_error_arg_kwz*TestCallingConventions.test_o_error_arg_kw7r
rc�l�|j|jj�|j�yr!�r+r��meth_noargsr�rs r�test_noargsz"TestCallingConventions.test_noargs=s%��������-�-�/��1C�1C�Drc�j�|j|jjg�|j�yr!rrs r�test_noargs_extz&TestCallingConventions.test_noargs_ext@s*�����-����-�-�r�2�D�4F�4F�Grc�>��d}�jt|�fd��y)Nz.meth_noargs\(\) takes no arguments \(1 given\)c�:���jjd�Sr��r�rrs�rr�z>TestCallingConventions.test_noargs_error_arg.<locals>.<lambda>Fs���D�H�H�$8�$8��$;rr�r>s` r�test_noargs_error_argz,TestCallingConventions.test_noargs_error_argCs���?������s�;�	
rc�>��d}�jt|�fd��y)Nz.meth_noargs\(\) takes no arguments \(2 given\)c�<���jjdd�Srrrs�rr�z?TestCallingConventions.test_noargs_error_arg2.<locals>.<lambda>Ls���D�H�H�$8�$8��A�$>rr�r>s` r�test_noargs_error_arg2z-TestCallingConventions.test_noargs_error_arg2Is���?������s�>�	
rc�>��d}�jt|�fd��y)Nz.meth_noargs\(\) takes no arguments \(3 given\)c�6���jjd�Sr�rrs�rr�z>TestCallingConventions.test_noargs_error_ext.<locals>.<lambda>Rs���$8�D�H�H�$8�$8�)�$Drr�r>s` r�test_noargs_error_extz,TestCallingConventions.test_noargs_error_extOs���?������s�D�	
rc�>��d}�jt|�fd��y)Nz*meth_noargs\(\) takes no keyword argumentsc�<���jjd��Sr�rrs�rr�z=TestCallingConventions.test_noargs_error_kw.<locals>.<lambda>Xs���D�H�H�$8�$8�1�$8�$=rr�r>s` r�test_noargs_error_kwz+TestCallingConventions.test_noargs_error_kwUs���;������s�=�	
rc�v�|j|jjddd�|jdf�yr��r+r��
meth_fastcallr�rs r�
test_fastcallz$TestCallingConventions.test_fastcall[s4������H�H�"�"�1�a��+�
�
�
��+�	
rc�n�|j|jjd�|jdf�yr�r%rs r�test_fastcall_extz(TestCallingConventions.test_fastcall_extas2�����"�D�H�H�"�"�I�.�
�
�
��+�	
rc�>��d}�jt|�fd��y)Nz,meth_fastcall\(\) takes no keyword argumentsc�<���jjd��Sr�)r�r&rs�rr�z?TestCallingConventions.test_fastcall_error_kw.<locals>.<lambda>js���D�H�H�$:�$:�Q�$:�$?rr�r>s` r�test_fastcall_error_kwz-TestCallingConventions.test_fastcall_error_kwgs���=������s�?�	
rc��|j|jjdddd��|jdddd�f�yr��r+r��meth_fastcall_keywordsr�rs r�test_fastcall_keywordsz-TestCallingConventions.test_fastcall_keywordsms@������H�H�+�+�A�q�A��+�;�
�
�
��q�q�)9�:�	
rc	��|j|jjdiddd���|jdddd�f�y)Nr�rr�r�r.rs r�test_fastcall_keywords_extz1TestCallingConventions.test_fastcall_keywords_extssC�����+�D�H�H�+�+�V�H�Q�Q�7G�H�
�
�
��q�q�)9�:�	
rN)rrr�__doc__r�r�r�r�r�r�r�r�r�rrrrrrrrr r#r'r)r,r0r2rrrr�r��s����2�
�
�
�
�
�F�I�@�
�
�
�
�E�H�
�
�
�
�
�
�
�
�
rr�c��eZdZdZd�Zy)�TestCallingConventionsInstancez?Test calling instance methods using various calling conventionsc�D�tj�x|_|_yr!)r��MethInstancer�r�rs rr�z$TestCallingConventionsInstance.setUp}s��(1�(>�(>�(@�@���4�%rN�rrrr3r�rrrr5r5zs��I�Arr5c��eZdZdZd�Zy)�TestCallingConventionsClassz<Test calling class methods using various calling conventionsc�<�tjx|_|_yr!�r��	MethClassr�r�rs rr�z!TestCallingConventionsClass.setUp�s��(1�(;�(;�;���4�%rNr8rrrr:r:�s
��F�<rr:c��eZdZdZd�Zy)�#TestCallingConventionsClassInstancez&Test calling class methods on instancec�`�tj�|_tj|_yr!r<rs rr�z)TestCallingConventionsClassInstance.setUp�s ���&�&�(���&�0�0��rNr8rrrr?r?�s
��0�1rr?c��eZdZdZd�Zy)�TestCallingConventionsStaticz=Test calling static methods using various calling conventionsc�D�tj�|_d|_yr!)r��
MethStaticr�r�rs rr�z"TestCallingConventionsStatic.setUp�s���'�'�)���!��rNr8rrrrBrB�s
��G�"rrBc�
�||gSr!r��arg1�arg2s  r�pyfuncrI�s���$�<�rc��y�N�noargrrrr�pyfunc_noargrM�s��rc�8�eZdZd�Zd�Zed��Zed��Zy)�PythonClassc�
�||gSr!r)rrGrHs   r�methodzPythonClass.method�s���d�|�rc��yrKrrs r�method_noargzPythonClass.method_noarg�s��rc��y)Nr�r)�clss r�class_methodzPythonClass.class_method�s��rc��y)Nrrrrr�
static_methodzPythonClass.static_method�s��rN)	rrrrQrSr�rVrrXrrrrOrO�s4�����������rrOc�n�eZdZdZedddgfeddfejddfejddfe	jdddgfe	jddfe	jddfe	jddfgZed	d
diddgfedddd�ddgfe	jd	d
diddgfe	jdddd�ddgfgZ
ej�Zeefeefej"ej"fej"�ej"fej$dffD�]%\ZZej+ej,dedffej.dedeffej2dedffej2dedffej4dedeffej4dedeffej6defej8d
edffg�e
j+ej.dddiedddiffej.dddiedddiffej.diedeffej4dddiedddiffej4dddiedddiffej4diedeffg���(d�Zd�Zd�Zd�Z d�Z!y)�
FastCallTestsz0Test calling using various callables from C
    r�rrrrLr�r)rrHrFN)�{r[rYr]c��t|t�r!|dtur|didfvr
g|dd�|d��}|j||�y)N���)�
isinstance�tuple�
NULL_OR_EMPTYr+)r�resultr-s   r�check_resultzFastCallTests.check_resultsP���h��&�8�B�<�=�+H��b�z�b�$�Z�'�7�X�c�r�]�7�F�2�J�7�������*rc�"�|jD]t\}}}|j||��5tj||�}|j	||�|s(tj|d�}|j	||�ddd��vy#1swY��xYw)N�r~�args)�
CALLS_POSARGS�subTestr��pyobject_fastcallrb)rr~rer-ras     rr'zFastCallTests.test_fastcall
s���%)�$6�$6� �D�$�����4�d��3�"�4�4�T�4�@���!�!�&�(�3��&�8�8��t�D�F��%�%�f�h�7�4�3�%7�3�3�s�AB�B	c��|jD]v\}}}|j||��5tj||d�}|j	||�|s)tj|dd�}|j	||�ddd��x|j
D]M\}}}}|j|||��5tj|||�}|j	||�ddd��Oy#1swY��xYw#1swY�fxYw)Nrd�r~re�kwargs)rfrgr��pyobject_fastcalldictrb�CALLS_KWARGS)rr~rer-rarks      r�test_vectorcall_dictz"FastCallTests.test_vectorcall_dicts���%)�$6�$6� �D�$�����4�d��3�"�8�8��t�T�J���!�!�&�(�3��&�<�<�T�4��N�F��%�%�f�h�7�4�3�%7�-1�,=�,=�(�D�$������4�d�6��B�"�8�8��t�V�L���!�!�&�(�3�C�B�->�4�3��C�B�s�AC#�.*C/�#C,	�/C8	c��|jD]�\}}}|j||��5tj||d�}|j	||�tj||d�}|j	||�|sRtj|dd�}|j	||�tj|dd�}|j	||�ddd���|j
D]�\}}}}|j|||��5t
|j��}|t
|j��z}tj|||�}|j	||�ddd���y#1swY��gxYw#1swY��xYw)Nrdrrj)	rfrgr��pyobject_vectorcallrbrmr_r��values)rr~rer-rark�kwnamess       r�test_vectorcallzFastCallTests.test_vectorcall*s\��%)�$6�$6� �D�$�����4�d��3�"�6�6�t�T�4�H���!�!�&�(�3�#�6�6�t�T�2�F���!�!�&�(�3��&�:�:�4��t�L�F��%�%�f�h�7�'�:�:�4��r�J�F��%�%�f�h�7�!4�3�%7�&-1�,=�,=�(�D�$������4�d�6��B�����
�.���e�F�M�M�O�4�4��"�6�6�t�T�7�K���!�!�&�(�3�	C�B�->�%4�3��&C�B�s�B'E*�AE7�*E4	�7F	c�f�Gd�d�}||���}tddd|fi|j��y)Nc��eZdZdgZd�Zd�Zy)�>FastCallTests.test_fastcall_clearing_dict.<locals>.IntWithDictrkc��||_yr!)rk)rrks  r�__init__zGFastCallTests.test_fastcall_clearing_dict.<locals>.IntWithDict.__init__Ls	��$��rc�`�|jj�tj�y)Nr)rk�clear�gc�collectrs r�	__index__zHFastCallTests.test_fastcall_clearing_dict.<locals>.IntWithDict.__index__Ns�����!�!�#��
�
��rN)rrr�	__slots__rxr}rrr�IntWithDictrvJs��!�
�I�
%�
rr)�optimize�passry�exec)�compilerk)rrrYs   r�test_fastcall_clearing_dictz)FastCallTests.test_fastcall_clearing_dictGs3��	�	�
���/��	���F�A�2����2r)"rrrr3rIrMrOrVrX�PYTHON_INSTANCErQrSrfrmr�r7�	_instancer=rDr�r��extendr�r�r`r&r/rr�rbr'rnrsr�rrrrZrZ�s+���
��!�Q�� �
�r�7�#�
�	!�	!�2�}�5�	�	"�	"�B��7�
�	�	��!�Q��0�	�	%�	%�r�7�3�	�	%�	%�r�=�9�	�	&�	&��N�;�#�M�6
����{�Q��F�+�	��a��+�a��V�4�
�	�	����{�Q��F�;�	�	�	��a��%;�a��V�D��L�'�	�&�&�(�I�	�I��	�I��	�	�	�i�1�1�2�	��	�	�	�	� 3� 3�4�	�	�	�t�$����]�	���
�
�
�v�
�v�'>�?�
�
&�
&����
�>�
@�
�
�
����(?�@�
�
�
��]�B�$7�8�
�
'�
'����
�>�
@�
�
'�
'��]�B�
�6�
8�
�_�_�b�-�0�
�Z�Z��=�#�"6�7�
�	�	���
�
&�
&���c�
�]�F�S�#�J�$G�
I�
�
&�
&��S�#�J���S�#�J� ?�
A�
�
&�
&���]�F�M�B�
D�
�
'�
'���c�
�]�F�S�#�J�$G�
I�
�
'�
'��S�#�J���S�#�J� ?�
A�
�
'�
'���]�F�M�B�
D�

�
	�+�H+�8�4�&4�:3rrZiic��|S�zsome docrrs r�testfunctionr�]����Krc��|Sr�r)rr"s  r�testfunction_kwr�br�rrc�r�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zed
��Z
ed��Zed��Zy
)�
TestPEP590c���ddl}|jd�t�}|jt	t
�jtz�|jt	tj�jtz�|jt	tj�jtz�|jt	t�jtz�|jt	|�jtz�|jtjjtz�|jtjjtz�|jtjjtz�Gd�dtj�}|j|jtz�y)Nrrc��eZdZy)�DTestPEP590.test_method_descriptor_flag.<locals>.MethodDescriptorHeapN�rrrrrr�MethodDescriptorHeapr�{���rr�)�	functools�	lru_cacher��assertFalse�type�repr�	__flags__�Py_TPFLAGS_METHOD_DESCRIPTOR�
assertTruer'�append�__add__r��MethodDescriptorBase�MethodDescriptorDerived�MethodDescriptorNopGet)rr��cachedr�s    r�test_method_descriptor_flagz&TestPEP590.test_method_descriptor_flagls>���'��$�$�Q�'��5������d��-�-�0L�L�M�����T�[�[�)�3�3�6R�R�S�����T�\�\�*�4�4�7S�S�T�����\�*�4�4�7S�S�T�����V��.�.�1M�M�N����	�6�6�@�@�C_�_�`����	�9�9�C�C�Fb�b�c�����9�9�C�C�Fb�b�c�	�9�#A�#A�	����-�7�7�:V�V�Wrc���|jtjjtz�|jtj
jtz�|j
tjjtz�|jtjjtz�Gd�dtj�}|j|jtz�t|_
|j
|jtz�Gd�dtj�}|j
|jtz�y)Nc��eZdZy)�=TestPEP590.test_vectorcall_flag.<locals>.MethodDescriptorHeapNr�rrrr�r��r�rr�c��eZdZd�Zy)r�c��yr!rrs r�__call__zFTestPEP590.test_vectorcall_flag.<locals>.MethodDescriptorHeap.__call__�s��rN�rrrr�rrrr�z=TestPEP590.test_vectorcall_flag.<locals>.MethodDescriptorHeap�s��
r)r�r�r�r��Py_TPFLAGS_HAVE_VECTORCALLr�r�r��MethodDescriptor2r�r�)rr�s  r�test_vectorcall_flagzTestPEP590.test_vectorcall_flags������	�6�6�@�@�C]�]�^����	�9�9�C�C�F`�`�a�����9�9�C�C�F`�`�a����	�3�3�=�=�@Z�Z�[�	�9�#A�#A�	����,�6�6�9S�S�T�(-��%����-�7�7�:T�T�U�	�9�#A�#A�	�	
���-�7�7�:T�T�Urc�~�ttd��}tj�}|j	||�|�y)Nr�)r_r4r�r��assertIs)rrer2s   r�test_vectorcall_overridez#TestPEP590.test_vectorcall_override�s1���U�1�X����,�,�.���
�
�a��h��%rc��tj�}|�}|j|�d�|j|�|j|�d�d�|_|j|�d�y)z*Setting __call__ should disable vectorcall�tp_call�
vectorcallc��y�N�customrrs rr�zFTestPEP590.test_vectorcall_override_on_mutable_class.<locals>.<lambda>�s��rr�N)r��make_vectorcall_classr+�set_vectorcallr�)r�TestType�instances   r�)test_vectorcall_override_on_mutable_classz4TestPEP590.test_vectorcall_override_on_mutable_class�sc���2�2�4���:�������Y�/�����)������\�2�1��������X�.rc�D�tj�}Gd�d|�}|�}tj|�}tj|�}|jt||��|jt||��|j	|�d�|j	tj
|�d�|j	tj
|�d�|j	tj
|�d�|j	tj
|�d�|j
|�|j	|�d�|j	tj
|�d�|j	tj
|�d�|j	tj
|�d�|j	tj
|�d�d�|_|j	|�d�|j	tj
|�d�|j	tj
|�d�|j	tj
|�d�|j	tj
|�d�y	)
z:Setting __call__ on a superclass should disable vectorcallc��eZdZy)�FTestPEP590.test_vectorcall_override_with_subclass.<locals>.DerivedTypeNr�rrr�DerivedTyper��r�rr�r�Tr�c��yr�rrs rr�zCTestPEP590.test_vectorcall_override_with_subclass.<locals>.<lambda>�s��(rr�FN)r�r�r��
issubclassr+�has_vectorcall_flagr�r�)r�	SuperTyper�r��UnaffectedType1�UnaffectedType2s      r�&test_vectorcall_override_with_subclassz1TestPEP590.test_vectorcall_override_with_subclass�s���3�3�5�	�	�)�	��=��$�9�9�+�F��#�9�9�)�D��	
���
�?�K�@�A����
�?�I�>�?�	
�����Y�/�����6�6�y�A�4�H�����6�6�{�C�T�J�����6�6��G��N�����6�6��G��N�	���	�*������\�2�����6�6�y�A�4�H�����6�6�{�C�T�J�����6�6��G��N�����6�6��G��N�3�	�������X�.�����6�6�y�A�5�I�����6�6�{�C�U�K�����6�6��G��N�����6�6��G��Nrc����ttd�fidftjgdfidfgjdidftdgfddidft
didftdddidftj�did	ftj�did	ftj�did
fg	}ddlm�m}ddl
m}dd
lm}�fd�}|D]_\}}}}	|j#t%|��5|s|j'|	|||��|j'|	||||��ddd��aGd�dtj�}
Gd�dtj�}Gd�d�}Gd�d|tj�}
|t(j*ifdd	idfij*ifdd	idf|
�did	f|�didf|
�did	fgz
}|D�]\}}}}	|j#t%|��5|dd}|||d�}||�}|sY|j'|	||��|j'|	�||d��|j'|	||��|j'|	||��|j'|	||i|���|j'|	||||��|j'|	||i|���|j'|	||i|���ddd���y#1swY��xYw#1swY��xYw)Nr�r)r�$�start�)r�r"TF)rp�pyvectorcall_call)�
MethodType)�partialc�X��g|�|j���}t|�}�|||�Sr!)rqr_)r~rerkrrrps    �rr�z.TestPEP590.test_vectorcall.<locals>.vectorcall�s0���*�D�*�6�=�=�?�*�D��F�m�G�&�t�T�7�;�;rc��eZdZy)�8TestPEP590.test_vectorcall.<locals>.MethodDescriptorHeapNr�rrrr�r��r�rr�c��eZdZd�Zy)�>TestPEP590.test_vectorcall.<locals>.MethodDescriptorOverriddenc��y)N�newr)r�ns  rr�zGTestPEP590.test_vectorcall.<locals>.MethodDescriptorOverridden.__call__�s��rNr�rrr�MethodDescriptorOverriddenr��s��
rr�c���eZdZ�fd�Z�xZS)�-TestPEP590.test_vectorcall.<locals>.SuperBasec���t�|�|�Sr!��superr��rre�	__class__s  �rr�z6TestPEP590.test_vectorcall.<locals>.SuperBase.__call__�����w�'��.�.r�rrrr��
__classcell__�r�s@r�	SuperBaser���
���
/�
/rr�c���eZdZ�fd�Z�xZS)�9TestPEP590.test_vectorcall.<locals>.MethodDescriptorSuperc���t�|�|�Sr!r�r�s  �rr�zBTestPEP590.test_vectorcall.<locals>.MethodDescriptorSuper.__call__r�rr�r�s@r�MethodDescriptorSuperr�r�rr�r�r�r)�lenr4r'r��sumr�r�r�r�r�r�rpr�r�r�r�r�rgrr+r*�update)r�callsr�r�r�r�r~rerkr-r�r�r�r��args1�meth�wrappedrps                 @rrszTestPEP590.test_vectorcall�s������b�	�|�R��,��+�+��A�w��D�1��)�)�T�2�t�,����w����R�0���r�2�.�!�5�4��+�r�:��0�0�2�D�"�d�C��3�3�5�t�R��F��-�-�/��r�5�A�C��	E�$�%�	<�
/4�*�T�4������c�$�i�(���$�$�X�/@��t�/L�M�� � ��+<�T�4��+P�Q�)�(�/4�	�9�#A�#A�	�	��)G�)G�	�	/�	/�	/�I�y�/M�/M�	/�	�
�[�[�2�%�%���t�4�
�Y�Y����d�|�T�2�
!�
#�T�2�t�4�
'�
)�4��U�;�
"�
$�d�B��5�
�	
��/4�*�T�4������c�$�i�(��Q�R���!�$��Q��0��!�$�-����$�$�X�t�T�{�;��$�$�X�/B�4��t�/T�U��$�$�X�t�U�|�<��$�$�X�w��~�>�� � ��4��+@��+@�A�� � ��:�d�D�&�+I�J�� � ��4��+A�&�+A�B�� � ��7�D�+C�F�+C�D�)�(�/4�?)�(��@)�(�s�6K�$CK�K	�K	c��ddlm}d�}|j}d}|d||��||�tdtz�D]}|d||���y)Nr��function_setvectorcallc��|dzSr�r)�nums rr2z(TestPEP590.test_setvectorcall.<locals>.f s
��3��7�Nr�
��
overridden)r�r�r+r4�ADAPTIVE_WARMUP_DELAY)rr�r2�assert_equalr�r6s      r�test_setvectorcallzTestPEP590.test_setvectorcallsQ��4�"��'�'�����R��3�� ��q�!��r�1�1�2�A���q��v�.�3rc���ddlm}Gd�d�}|j}|�}|d|j�||j�tt�D]}|d|j��y)Nrr�c��eZdZd�Zy)�FTestPEP590.test_setvectorcall_load_attr_specialization_skip.<locals>.Xc��|Sr!r�r�attrs  r�__getattribute__zWTestPEP590.test_setvectorcall_load_attr_specialization_skip.<locals>.X.__getattribute__-����rN�rrrrrrr�Xr�,���
rrrr�)r�r�r+rrr4r�)rr�rr�rYr6s      r�0test_setvectorcall_load_attr_specialization_skipz;TestPEP590.test_setvectorcall_load_attr_specialization_skip)s_��4�	�	��'�'��
�C���S�!�#�#���q�1�1�2��,�-�A���q�s�s�+�.rc��ddlm}Gd�d�}d�}|j}|�}tt�D]}|d||���||j
�tt�D]}|d||���y)Nrr�c��eZdZd�Zy)�GTestPEP590.test_setvectorcall_load_attr_specialization_deopt.<locals>.Xc��|Sr!rr�s  rrzXTestPEP590.test_setvectorcall_load_attr_specialization_deopt.<locals>.X.__getattribute__=rrNrrrrrr	<rrrc��|jSr!)rrXs r�get_azKTestPEP590.test_setvectorcall_load_attr_specialization_deopt.<locals>.get_a@s���3�3�Jrrr�)r�r�r+r4r�r)rr�rrr�rYr6s       r�1test_setvectorcall_load_attr_specialization_deoptz<TestPEP590.test_setvectorcall_load_attr_specialization_deopt9st��4�	�	�	��'�'��
�C���,�-�A���e�A�h�'�.��q�1�1�2��,�-�A���u�Q�x�0�.rc�l�ddlm}tj�}|j||dd�d�y)Nr)rprzvectorcall called)r�rp�LimitedVectorCallClassr+)rrpr�s   r� test_vectorcall_limited_incomingz+TestPEP590.test_vectorcall_limited_incomingNs.��1��.�.�0�����,�S�"�b�9�;N�Orc����ddlm}g�g���fd�}|j||�d�|j�dg�|j�ddig�y)Nr)�call_vectorcallc�J���j|��j|�y�N�success�r�)rerk�
args_captured�kwargs_captureds  ��rr2z6TestPEP590.test_vectorcall_limited_outgoing.<locals>.f[s"���� � ��&��"�"�6�*�rr�r��baz�bar)r�rr+)rrr2rrs   @@r� test_vectorcall_limited_outgoingz+TestPEP590.test_vectorcall_limited_outgoingTsU���-��
���	�
	
�����+�Y�7������
�3�����E�5�>�*:�;rc����ddlm}g�g�G��fd�d�}|j||��d�|j�dg�|j�ddig�y)	Nr)�call_vectorcall_methodc���eZdZ��fd�Zy)�HTestPEP590.test_vectorcall_limited_outgoing_method.<locals>.TestInstancec�J���j|��j|�yrr)rrerkrrs   ��rr2zJTestPEP590.test_vectorcall_limited_outgoing_method.<locals>.TestInstance.fls"����$�$�T�*��&�&�v�.� rN)rrrr2)rrs��r�TestInstancer ks���
!rr"rrrr)r�rr+)rrr"rrs   @@r�'test_vectorcall_limited_outgoing_methodz2TestPEP590.test_vectorcall_limited_outgoing_methodds]���4��
���	!�	!�	
���/���?��K������
�3�����E�5�>�*:�;rN)rrrr�r�r�r�r�rsr�rr
rrrr#rrrr�r�jst��X�&V�*&�/�'O�TJE�X	/�,� 1�*�P��P�
�
<��
<��<��<rr�c�2�eZdZd�Zed��Zed��Zy)�Ac��yr!r)rrYr]s   r�method_two_argszA.method_two_argsvs��rc��yr!rrrr�static_no_argszA.static_no_argsy���rc��yr!r��args r�positional_onlyzA.positional_only}r*rN)rrrr'rr)r.rrrr%r%us/��
��
��
��
��
rr%c�N�eZdZejd��Zd�Zd�Zd�Zd�Z	d�Z
y)�!TestErrorMessagesUseQualifiedNamec#�K�|jt�5}d��ddd�|jtj�|�y#1swY�/xYw�wr!)�assertRaisesr5r+r�	exception)r�message�cms   r�check_raises_type_errorz9TestErrorMessagesUseQualifiedName.check_raises_type_error�s?����
�
�
�y�
)�R��*�����R�\�\�*�G�4�*�
)�s�A�A�.A�A�Ac��d}|j|�5t�jd�ddd�y#1swYyxYw)Nz?A.method_two_args() missing 1 required positional argument: 'y'rY�r6r%r'r>s  r�test_missing_argumentsz8TestErrorMessagesUseQualifiedName.test_missing_arguments�s1��O��
�
)�
)�#�
.�
�C����$�/�
.�
.�s	�7�Ac�~�d}|j|�5tjd�ddd�y#1swYyxYw)Nz?A.static_no_args() takes 0 positional arguments but 1 was givenzoops it's an arg)r6r%r)r>s  r�test_too_many_positionalz:TestErrorMessagesUseQualifiedName.test_too_many_positional�s0��O��
�
)�
)�#�
.�
���/�0�/�
.�
.�s�3�<c��d}|j|�5tjd��ddd�y#1swYyxYw)NzYA.positional_only() got some positional-only arguments passed as keyword arguments: 'arg'rYr,)r6r%r.r>s  r�&test_positional_only_passed_as_keywordzHTestErrorMessagesUseQualifiedName.test_positional_only_passed_as_keyword�s2��i��
�
)�
)�#�
.�
���#��&�/�
.�
.�s�4�=c��d}|j|�5t�jd��ddd�y#1swYyxYw)Nz<A.method_two_args() got an unexpected keyword argument 'bad'rY)�badr8r>s  r�test_unexpected_keywordz9TestErrorMessagesUseQualifiedName.test_unexpected_keyword�s4��L��
�
)�
)�#�
.�
�C���C��(�/�
.�
.�s	�8�Ac��d}|j|�5t�jddd��ddd�y#1swYyxYw)Nz8A.method_two_args() got multiple values for argument 'x'rYr]�oopsrXr8r>s  r�test_multiple_valuesz6TestErrorMessagesUseQualifiedName.test_multiple_values�s8��H��
�
)�
)�#�
.�
�C����S�F��3�/�
.�
.�s	�:�AN)rrr�
contextlib�contextmanagerr6r9r;r=r@rCrrrr0r0�s5�����5��5�
%�
1�
'�
)�
4rr0c�P�eZdZeej
exred�d���Zy)�
TestRecursionzrequires deep stackc�D������fd����fd���fd���fd��tj�}tjd�	�d�|jt�5�d�ddd��d�|jt�5�d�ddd��d	�|jt�5�d�ddd�tj|�y#1swY�{xYw#1swY�YxYw#1swY�7xYw#tj|�wxYw)
Nc�"��|r�|dz
�yyr�r)r��recurses �rrJz.TestRecursion.test_super_deep.<locals>.recurse�s������!���rc�:��|r
�|dz
|�y�|dz
�yr�r)r��m�c_py_recurse�
py_recurses  ��rrNz1TestRecursion.test_super_deep.<locals>.py_recurse�s �����1�Q�3��"��Q�q�S�!rc�@��|rtj�|dz
f�yyr��r�rh)r��	c_recurses �rrQz0TestRecursion.test_super_deep.<locals>.c_recurse�s!�����+�+�I��!��v�>�rc�<��|rtj�d|f�yy)Nr3rP)rLrNs �rrMz3TestRecursion.test_super_deep.<locals>.c_py_recurse�s�����+�+�J��q�	�B�ri��i�_i���d�Z)�sys�getrecursionlimit�setrecursionlimitr2�RecursionError)r�depthrMrQrNrJs  @@@@r�test_super_deepzTestRecursion.test_super_deep�s����	�	"�	?�	C��%�%�'�����g�&�	)��F�O��"�"�>�2��� �3��c�N��"�"�>�2��&�!�3�����"�"�>�2��W�%�3�
�!�!�%�(�3�2��3�2��3�2��
�!�!�%�(�sT�D�!	C$�*%D�	C0�%D�=	C<�D�$C-�)D�0C9�5D�<D�D�DN)	rrrr�unittest�skipIfrrrZrrrrGrG�s2����X�_�_�W�)��+@�A�!)�B��!)rrGc��eZdZd�Zy)�TestFunctionWithManyArgsc	�<�dD]�}|j|��5djt|�D�cgc]}d|����	c}�}d|�d|dz��}i}t|i|�|j	|dt|��|dz�ddd���ycc}w#1swY��xYw)	N)r�i�r3)�Nr�rzdef f(z) : return arr2)rg�joinr4r�r+)rr`�ire�src�ls      r�test_function_with_many_argsz5TestFunctionWithManyArgs.test_function_with_many_args�s��� �A������"��x�x�%��(� ;�(�Q�1�Q�C��(� ;�<���t�f�L��A���7�����S�"�a� �� � ���3���q��!2�A�q�D�9�#�"�!�� ;�#�"�s�B�B
�AB�
B�B	N)rrrrerrrr^r^�s��:rr^�__main__)-r[�test.supportrrrrrr�r�ror$r�r{rDrUr�rr	�TestCaserr9r�r5r:r?rBrIrMrOr�r�r`rZr�r�r�r�r�r�r%r0rGr^r�mainrrr�<module>rjs����]�]������	��
��&�S�&��H�%�%��8�w4�(�"3�"3�w4��w4�tH
�X�.�.�H
�VA�%;�A�<�"8�<�1�*@�1�"�#9�"���
�
� �-����
�b3�H�%�%�b3�J%��&���
�
��I<��"�"�I<�V

�

��4��(9�(9�4��4�B�%)�H�%�%�%)��%)�N:�x�0�0�:��z���H�M�M�O���c���I��s�E.�.E9�8E9

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