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_grammar.cpython-312.pyc

�

'Μg���&�UddlmZddlmZddlZddlZddlZddlZddl�ddlmcm	Z	ddl
Z
ddlmZddl
Z
gd�Zgd�ZGd�d	ej �Zeed
<Gd�d�ZGd
�dej �Zedk(rej.�yy)���check_syntax_error)�
import_helperN)�*)�ann_module2)�0_0_0�4_2�1_0000_0000�0b1001_0100�0xffff_ffff�0o5_7_7z	1_00_00.5z1_00_00.5e5�1_00_00e5_1�1e1_0z.1_4z.1_4e1�0b_0�0x_f�0o_5�1_00_00jz
1_00_00.5j�1_00_00e5_1jz.1_4jz(1_2.5+3_3j)z(.5_6j))(�0_�42_z1.4j_�0x_�0b1_�0xf_�0o5_z
0 if 1_Else 1�0_b0�0_xf�0_o5�0_7�09_99�	4_______2z0.1__4z0.1__4j�0b1001__0100�0xffff__ffff�0x___�0o5__77�1e1__0�1e1__0jz1_.4z1_.4jz1._4z1._4jz._5z._5jz1.0e+_1z1.0e+_1jz1.4_jz1.4e5_j�1_e1z1.4_e1z1.4_e1j�1e_1z1.4e_1z1.4e_1jz
(1+1.5_j_)z	(1+1.5_j)c�f�eZdZddlmZddlmZd�Zd�Zd�Z	d�Z
d�Zd	�Zd
�Z
d�Zd�Zd
�Zd�Zy)�
TokenTestsrr��check_syntax_warningc�X�d}|j|dd�d}|j|dd�y)N�zbackslash for line continuationrzbackslash ending comment��assertEqual��self�xs  �./usr/local/lib/python3.12/test/test_grammar.py�test_backslashzTokenTests.test_backslashks6��
������A�@�A�
������A�9�:�c�n�|jtd�td��|jdd�|jdd�|jdd�|jdd�|jttd�ddlm}|dk(rb|jdd�|jddkD�|jddkD�|jddkD�d	D]}	t	|�}�y|dk(rb|jdd�|jd
dkD�|jd
dkD�|jddkD�dD]}	t	|�}�y|jd|z�y#t$r|jd
|z�Y��wxYw#t$r|jd
|z�Y�iwxYw)Nr�i����	�0x)�maxsizei�l��)�
2147483648�
0o40000000000�0x100000000�"0b10000000000000000000000000000000z(OverflowError on huge integer literal %rl����l���������l����)�9223372036854775808�0o2000000000000000000000�0x10000000000000000�A0b100000000000000000000000000000000000000000000000000000000000000zWeird maxsize value %r)
r0�type�assertRaises�SyntaxError�eval�sysr;�
assertTrue�
OverflowError�fail)r2r;�sr3s    r4�test_plain_integerszTokenTests.test_plain_integersus�������c��D��G�,�����s�#������$�����]�3������#����+�t�T�2���j� ����]�N�;��O�O�M�A�-�.��O�O�J��N�+��O�O�=��A�B�<��N��Q��A�<��+�
+����3�5N�O��O�O�4�q�8�9��O�O�.��2�3��O�O�\�_`�`�a�Y��N��Q��A�	Y�
�I�I�.��8�9��%�N��I�I�H�1�L�M�N��%�N��I�I�H�1�L�M�N�s$�'E1�F�1F�F�F4�3F4c�$�d}d}d}d}d}d}d}d}y)Nrr@l���?l�
~��l!]cll������r1s  r4�test_long_integerszTokenTests.test_long_integers�s*��
����������*��S��S�r6c�4�d}d}d}d}d}d}d}d}d}d}d}d}y)Ng��Q�	@g�s@gj�t��?g��
�Bg��t� =g�W�H�BgF�@rPr1s  r4�test_floatszTokenTests.test_floats�s>�������������������������r6c�,�tj�5tjdt�|j	td�d�|j	td�d�ddd�|j
tt
d�y#1swY�%xYw)N�ignorez1 if 1else 0�z1 if 0else 0rz0 if 1Else 0)�warnings�catch_warnings�simplefilter�
SyntaxWarningr0rHrFrG�r2s r4� test_float_exponent_tokenizationz+TokenTests.test_float_exponent_tokenization�sj��
�
$�
$�
&��!�!�(�M�:����T�.�1�1�5����T�.�1�1�5�'�	
���+�t�^�<�	'�
&�s�AB
�
Bc
��tD]6}|jt|�t|jdd����8tD]}|jtt|��|jttd�y)N�_��_0)�VALID_UNDERSCORE_LITERALSr0rH�replace�INVALID_UNDERSCORE_LITERALSrFrG�	NameError)r2�lits  r4�test_underscore_literalsz#TokenTests.test_underscore_literals�s`��,�C����T�#�Y��S�[�[��b�-A�(B�C�-�.�C����k�4��5�/�	
���)�T�4�0r6c�N�|j}|dd�|dd�|dd�|dd�|dd�|dd	�|d
d	�|dd	�|dd
�|dd
�|dd�|dd�|dd�|dd�|dd�|dd�|dd�y)N�0b12z#invalid digit '2' in binary literal�0b1_2�0b2rzinvalid binary literal�0b�0o18z"invalid digit '8' in octal literal�0o1_8�0o8�0o1_zinvalid octal literal�0o�0x1_zinvalid hexadecimal literalr:�1_zinvalid decimal literal�012z`leading zeros in decimal integer literals are not permitted; use an 0o prefix for octal integersz1.2_�1e2_z1e+r�r2�checks  r4�test_bad_numerical_literalsz&TokenTests.test_bad_numerical_literals�s����'�'��
�f�;�<�
�g�<�=�
�e�:�;�
�f�.�/�
�d�,�-�
�f�:�;�
�g�;�<�
�e�9�:�
�f�-�.�
�d�+�,�
�f�3�4�
�d�1�2�
�d�-�.�
�e�4�	5�	�f�/�0�
�f�/�0�
�e�.�/r6c�.��d�fd�	}dD�]?}t|dd�||�d�|dk(��||�d�|d	k(��||�d
��||�d��||�d��|d
|�d�|dk(��|d|�d��||�d�d���jtd�5t|�d�dd�ddd��jtd�5t|�d�dd�ddd�tj�5tjdt��jtd�5t|�d�dd�ddd�ddd���B|d�|d�|d�y#1swY��xYw#1swY��xYw#1swY�ExYw#1swY���xYw)Nc�j���j|��5|r^tjd��5}�jtd�5t|dd�ddd�ddd��j
g�n�j|d��ddd�y#1swY�@xYw#1swY�DxYw#1swYyxYw)N)�exprT)�record�invalid \w+ literal�
<testcase>rH)�errtext)�subTestrWrX�assertRaisesRegexrG�compiler0r,)�test�error�wr2s   �r4rvz8TokenTests.test_end_of_numerical_literals.<locals>.check�s�������4��(��!�0�0��=��!�3�3�K�$:�<�#�D�,��?�<�>��$�$�Q��,��-�-�d�$:�.�<�)�(�<�<��>�=��)�(�s:�B)�B�B�B�.B)�B�B�B&	�"B)�)B2)�0xf�0o7�0b1�9�0z1.�1e3�1jr}rHzand xr�)r�zor xr�zin xznot in xzif x else yzx if zelse y�[zfor x in ()]�spamTu#invalid character '⁄' \(U\+2044\)u⁄7r|zis xr�z[0x1ffor x in ()]z[0x1for x in ()]z[0xfor x in ()])F)r�r�rG�assertWarnsRegexrZrWrXrY)r2rv�nums`  r4�test_end_of_numerical_literalsz)TokenTests.test_end_of_numerical_literals�s����
	<�D�C��C��v�.��S�E��-��u��6��S�E��,�s�c�z�3��S�E��,���S�E��"�#��S�E��%�&��E�#��f�%�c�U�l�<��A�c�U�,�'�(��S�E��,�d�+��'�'��5[�\��3�%�t��l�F�;�]��&�&�}�6L�M��3�%�t��l�F�;�N��(�(�*��%�%�g�}�=��+�+�K�2�4��s�e�4�L�,��?�4�+�*�#D�.	�!�"�
� �!�
�� �]�\��N�M��4�4��+�*�s<�E&�E2�81F
�)E>�:F
�&E/	�2E;	�>F�F
�
F	c�x�d}d}|jt|�dk(xr||k(�d}d}|jt|�dk(xr||k(xrt|�dk(�d}d}|jt|�dk(xr||k(xrt|�dk(�d}d}|jt|�d	k(xr||k(�d
}d
}|jt|�d	k(xr||k(�d}d}|j||�d}|j||�d}|j||�d}|j||�y)Nr_r�'rV�'�"�"zdoesn't "shrink" does it�zdoes "shrink" doesn't itz2
The "quick"
brown fox
jumps over
the 'lazy' dog.
)rJ�len�ordr0�r2r3�ys   r4�test_string_literalszTokenTests.test_string_literals�sE����B������A��!��(>��Q��?���c�!�4�?�?�3�q�6�Q�;�+R�1��6�+R�c�!�f�PR�l�S���T��4�?�?�3�q�6�Q�;�+R�1��6�+R�c�!�f�PR�l�S�(��'������A��"��/��a��0�(��'������A��"��/��a��0�
��
H������A��
��	
����A��
��	
����A��
��	
����A�r6c�l�d}|j|tu�|jttd�y)N.z.. .)rJ�EllipsisrFrGrHr1s  r4�
test_ellipsiszTokenTests.test_ellipsis's)��������X�
�&����+�t�V�4r6c���d}|D]R}|jt�5}t|dd�ddd�|jdt	j
���Ty#1swY�1xYw)N)zdef foo(z	
def foo(z	def foo(
z<test>�execzwas never closed)rFrGr��assertIn�str�	exception)r2�samplesrM�cms    r4�test_eof_errorzTokenTests.test_eof_error,sQ��:���A��"�"�;�/�2���8�V�,�0��M�M�,�c�"�,�,�.?�@��/�/�s�A�A$	N)�__name__�
__module__�__qualname__�test.supportr�test.support.warnings_helperr,r5rNrQrSr\rfrwr�r�r�r�rPr6r4r*r*fsD��/�A�;�":�HT��=�1�0�,&!�P&�P5�
Ar6r*�var_annot_globalc��eZdZd�Zd�Zd�Zy)�CNSc��i|_y�N��_dctr[s r4�__init__zCNS.__init__8s	����	r6c�>�||j|j�<yr�)r��lower)r2�item�values   r4�__setitem__zCNS.__setitem__:s��"'��	�	�$�*�*�,�r6c� �|j|Sr�r��r2r�s  r4�__getitem__zCNS.__getitem__<s���y�y���r6N�r�r�r�r�r�r�rPr6r4r�r�7s���(�r6r�c���eZdZddlmZddlmZddlmZd�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*e+jXd(d)�d*��Z-d+�Z.d,�Z/d-�Z0d.�Z1d/�Z2d0�Z3d1�Z4d2�Z5d3�Z6d4�Z7d5�Z8d6�Z9d7�Z:d8�Z;d9�Z<d:�Z=d;�Z>d<�Z?d=�Z@d>�ZAd?�ZBd@�ZCdA�ZDdB�ZEdC�ZFdD�ZGdE�ZHdF�ZIdG�ZJdH�ZKdI�ZLyJ)K�GrammarTestsrrr+)�check_no_warningsc��td�}y)Nz	1, 0 or 1)rHr1s  r4�test_eval_inputzGrammarTests.test_eval_inputOs�����r6c�n�d}dg}d�}ttgd||�dz
<|j|dg�y)N��*c��y�NrVrPrPr6r4�onez/GrammarTests.test_var_annot_basics.<locals>.oneXs��r6rV)�int�listr0)r2�var1�my_lstr�s    r4�test_var_annot_basicsz"GrammarTests.test_var_annot_basicsSs<�������	��	
�� ��s�u�Q�w������!��%r6c�l�t|d�t|d�t|d�t|d�t|d�t|d�t|d�t|d�t|d	�t|d
�t|d�t|d�t|d
�t|d�t|d�y)Nz
def f: intzx: int: strzdef f():
    nonlocal x: int
zdef f():
    global x: int
zx: int = y = 1zz = w: int = 1zx: int = y: int = 1z[x, 0]: int
z	f(): int
z	(x,): intz"def f():
    (x, y): int = (1, 2)
z!def f():
    x: int
    global x
z!def f():
    global x
    x: int
z#def f():
    x: int
    nonlocal x
z#def f():
    nonlocal x
    x: int
rr[s r4�test_var_annot_syntax_errorsz)GrammarTests.test_var_annot_syntax_errors_s����4��.��4��/��4�"9�	:��4�"7�	8��4�!1�2��4�!1�2��4�!6�7��4��1��4��.��4��-��4�">�	?�	�4�"2�	3�	�4�"0�	1�	�4�"4�	5�	�4�"0�	1r6c�V�|jt�5ddztt<ddd�|jt�5dtt<ddd�d�}|j|ji�d�}|�d�}|jt�5|�ddd�d�}	|�Gd�d�}|j|jttd	��|jt�5Gd
�d�}ddd�|jt�5Gd�d
|�}ddd�y#1swY��xYw#1swY��xYw#1swY��xYw#t$r)}|jt|�t�Yd}~��d}~wwxYw#1swY��xYw#1swYyxYw)NrVrc� �d}dt_|S)N�Hello�rVr.��a�b)�sts r4�fz6GrammarTests.test_var_annot_basic_semantics.<locals>.f�s���B��A�C��Ir6c��yr�rPrPr6r4�f_OKz9GrammarTests.test_var_annot_basic_semantics.<locals>.f_OK���r6c��t�yr���print�r3s r4�fbadz9GrammarTests.test_var_annot_basic_semantics.<locals>.fbad�s	���!�Hr6c�"�tt�yr�)r��no_such_globalrPr6r4�f2badz:GrammarTests.test_var_annot_basic_semantics.<locals>.f2bad�s
���.�!r6c�0�eZdZUeed<dZeed<dZd�Zy)�6GrammarTests.test_var_annot_basic_semantics.<locals>.C�_C__foo�attrrMr.c��||_yr�r�r1s  r4r�z?GrammarTests.test_var_annot_basic_semantics.<locals>.C.__init__�s	����r6N)	r�r�r�r��__annotations__rMr��zr�rPr6r4�Cr��s���J��A�s�O��A�
 r6r�)r�rMc� �eZdZUde_ey)�9GrammarTests.test_var_annot_basic_semantics.<locals>.CBadrN)r�r�r��no_such_name_definedr�r�rPr6r4�CBadr��s
��12�$�)�3r6r�c�*�eZdZUeed<ge_ey)�:GrammarTests.test_var_annot_basic_semantics.<locals>.Cbad2r3N)r�r�r�r�r�r3r�r�rPr6r4�Cbad2r��s�������Tr6r�)
rF�ZeroDivisionError�no_name�does_not_existrdr0r��UnboundLocalError�	Exception�assertIsrEr�r�)	r2r�r�r�r��er�r�r�s	         r4�test_var_annot_basic_semanticsz+GrammarTests.test_var_annot_basic_semantics~sQ��
�
�
�0�
1�56�q�S�G�N�#�2�
�
�
�y�
)�+,�G�N�#�*�
	�	
����*�*�B�/�	���	��
�
�0�
1��F�2�	"�	.��G�
	 �	 �	
����*�*��#�,F�G�
�
�
�y�
)�
3�
3�*��
�
�y�
)�
��
�*�
)�O2�
1��
)�
)�� 2�
1���	.��M�M�$�q�'�9�-�-��	.��*�
)��*�
)�sS�D9�E�E�/E�<F�$F�9E�E�E�	F�'F�F�F�F(c��Gd�d�}Gd�d|�}Gd�d|�}Gd�d�}Gd	�d
||�}Gd�d||�}|j|jd
ti�|j|ji�|j|jd
ti�|j|jdti�|j|ji�|j|ji�y)Nc��eZdZUeed<y)�4GrammarTests.test_annotations_inheritance.<locals>.Ar�N�r�r�r�r�r�rPr6r4�Ar������Ir6r�c��eZdZy)�4GrammarTests.test_annotations_inheritance.<locals>.BN�r�r�r�rPr6r4�Br����r6rc��eZdZUeed<y)�4GrammarTests.test_annotations_inheritance.<locals>.Cr�N)r�r�r�r�r�rPr6r4r�r�r�r6r�c��eZdZUeed<y)�4GrammarTests.test_annotations_inheritance.<locals>.D�attr2Nr�rPr6r4�Dr�s���Jr6r
c��eZdZy)�4GrammarTests.test_annotations_inheritance.<locals>.ENrrPr6r4�Er�rr6r
c��eZdZy)�4GrammarTests.test_annotations_inheritance.<locals>.FNrrPr6r4�Fr�rr6rr�r	)r0r�r�r�)r2r�rr�r
r
rs       r4�test_annotations_inheritancez)GrammarTests.test_annotations_inheritance�s���	�	�	��	�	��	�	�	�	��1�	�	��1�	�����*�*�V�S�M�:�����*�*�B�/�����*�*�V�c�N�;�����*�*�W�s�O�<�����*�*�B�/�����*�*�B�/r6c�x�Gd�dt�}Gd�d|��}|j|jdd�y)Nc��eZdZed��Zy)�>GrammarTests.test_var_annot_metaclass_semantics.<locals>.CMetac��dt�iS�Nr�)r�)�metacls�name�bases�kwdss    r4�__prepare__zJGrammarTests.test_var_annot_metaclass_semantics.<locals>.CMeta.__prepare__�s��)�3�5�1�1r6N)r�r�r��classmethodrrPr6r4�CMetar�s��
�
2��
2r6rc��eZdZUded<y)�;GrammarTests.test_var_annot_metaclass_semantics.<locals>.CC�ANNOT�XXN)r�r�r�r�rPr6r4�CCr�s���Kr6r")�	metaclass�xxr )rEr0r�)r2rr"s   r4�"test_var_annot_metaclass_semanticsz/GrammarTests.test_var_annot_metaclass_semantics�s5��	2�D�	2�	�5�	�����+�+�D�1�7�;r6c	��|jtji�|jtjdtt
tjttfttzd��|jtjjdtd��|jtji�y)Nr.)rVr3r�r��u�{)�123�o)r0r�r��
ann_moduler�r��typing�Tuple�float�MrErr[s r4�test_var_annot_module_semanticsz,GrammarTests.test_var_annot_module_semantics�s�������-�-�r�2�����3�3���3�V�\�\�#�s�(�5K�RU�X]�R]�^�	`�������5�5�&)��5�	7�����4�4�b�9r6c��tjd�}|jt�5|j	�ddd�|jt�5|j�ddd�|jt�5|j
d�ddd�y#1swY�gxYw#1swY�ExYw#1swYyxYw)Nztest.typinganndata.ann_module3r�)r�import_fresh_modulerFrd�	f_bad_ann�	g_bad_ann�	D_bad_ann)r2�ann_module3s  r4�test_var_annot_in_modulez%GrammarTests.test_var_annot_in_module�s���$�7�7�8X�Y��
�
�
�y�
)��!�!�#�*�
�
�
�y�
)��!�!�#�*�
�
�
�y�
)��!�!�!�$�*�
)�	*�
)��
)�
)��
)�
)�s#�B"�B.�B:�"B+�.B7�:Cc��i}i}td||�|j|ddtd��|jt�5|dddd�y#1swYyxYw)Nz.'docstring'
__annotations__[1] = 2
x: int = 5
r�r.)rVr3)r�r0r�rF�KeyError)r2�gns�lnss   r4�test_var_annot_simple_execz'GrammarTests.test_var_annot_simple_exec�s]����r�#��� �#�	'�	
����.�/�Q�S�1A�B�
�
�
�x�
(��!�"�)�
(�
(�s�A�Ac���dt�i}td|�|j|ddt�|j|ddt�|jt�5|ddddd�i�G�fd�d�}tdi|��|j�ddt�y#1swY�FxYw)	Nr�z'X: int; Z: str = "Z"; (w): complex = 1jr3r�r�c�$��eZdZd�Z�fd�Zd�Zy)�5GrammarTests.test_var_annot_custom_maps.<locals>.CNS2c��i|_yr�r�r[s r4r�z>GrammarTests.test_var_annot_custom_maps.<locals>.CNS2.__init__�s	����	r6c�.��||j|<|�|<yr�r��r2r�r��	nonloc_nss   �r4r�zAGrammarTests.test_var_annot_custom_maps.<locals>.CNS2.__setitem__�����"'��	�	�$��"'�	�$�r6c� �|j|Sr�r�r�s  r4r�zAGrammarTests.test_var_annot_custom_maps.<locals>.CNS2.__getitem__�����y�y���&r6Nr�)rCs�r4�CNS2r?�s���
�
(�
'r6rGz
x: int = 1)r�r�r0r�r�rFr9)r2�nsrGrCs   @r4�test_var_annot_custom_mapsz'GrammarTests.test_var_annot_custom_maps�s�������
'���
6��;�����-�.�s�3�S�9�����-�.�s�3�S�9�
�
�
�x�
(�� �!�#�&�)��	�	'�	'�	
�\�2�t�v�&�����#4�5�c�:�C�@�)�
(�s�'	B5�5B>c����t��d�i�G��fd�d�}tdi|��|j�ddt�y)Nr�c�(��eZdZ�fd�Z�fd�Zd�Zy)�1GrammarTests.test_var_annot_refleak.<locals>.CNS2c���d�i|_yrr�)r2�cnss �r4r�z:GrammarTests.test_var_annot_refleak.<locals>.CNS2.__init__s���.��4��	r6c�.��||j|<|�|<yr�r�rBs   �r4r�z=GrammarTests.test_var_annot_refleak.<locals>.CNS2.__setitem__rDr6c� �|j|Sr�r�r�s  r4r�z=GrammarTests.test_var_annot_refleak.<locals>.CNS2.__getitem__rFr6Nr�)rNrCs��r4rGrLs���
5�
(�
'r6rGzX: strr3)r�r�r0r�)r2rGrNrCs  @@r4�test_var_annot_refleakz#GrammarTests.test_var_annot_refleak�sK����e��&��,�	�	'�	'�	
�X�r�4�6�"�����#4�5�c�:�C�@r6c��i}td|�|j|dd�d}t||�|jt|d��dg�dddtjd	�}td
|�|j|dd�y)Nzx: tuple = 1, 2r3r�zdef f():
    x: int = yieldr�rV�r.��r�)r�r��cr-zx: Tuple[int, ...] = a,*b,c�rVr.rTrUr�)r�r0r�r,r-)r2rH�stmts   r4�test_var_annot_rhszGrammarTests.test_var_annot_rhs
s���
���
��#�����C��&�)�%���T�2������g�b��g�i��4�&�1��9�!�f�l�l�
C���
*�B�/�����C��/�2r6c�����d�}|�|d�|dii��d�}d�}|j|jjd�|j|jjd�d�}d�}d	�}d
�}d�}|�|d�|d�|dd
�|dd
�|�|d�|d�|dd
�|dd
dddddddd�
|d�|d�|dd
�|dd
d�|dd
dddddddd�
|dd
�|dd
d�|dd
dd�|dd
dddddddd�
dd�}	|	�|	d�|	d�|	gxsd
g�|	gd�ixrd��ii��|	didd
i��|	didd
ixsi��dd�}
|
d�|
dd
�|
didd
i��dd�}|dd
�|dd
d�|d�|dgd���|dd
gd���|d!iddi��d!d �}|�|d�|dd
�|d!�|dgd"���|didd
i��|didd
d#���d!d$�}
|
d�|
dd
�|
dd
d�d!d%�}|dd
�|dd
d�|dd
dd�dd&�}|�|d�|dd
�|d'�|d�|didd
i��dd(�}|d�|dd
�|dd
d�dd)�}|dd
�|dd
d�|dd
dd�|d'�|d!iddi��d!d*�}|�|d�|dd
�|dd
d�|dgd+���|didd
d#���d!d,�}|d�|dd
�|dd
d�|dd
dd�|d'�|dd
gd-���|dgd"��iddi��d!d.�}|dd
�|dd
d�|dd
dd�|dd
ddd�|d'�|dd
gd-���|dgd��id/di��tj�5tj
d0t�	td�id2di��|jd3�ddd�d4�}|d5�6�d5d7�d8�}|dd
d5�9�|dd
d5d:�;�|dd
d5d:�<�d5d9�d=�}|dd
d5d5d:�>�|dd
d5d:d5�?�|jttd@�|jttdA�|jttdB�dC�}|j|dgddg��d
ddD��dEd
ddD�f�|j|dgd�d���d'if�|jttdF�|j|didGdHdI���ddGdHdI�f�|j|ddJdHidKdGi��ddGdHdI�f�t|dL�t|dM�dNtfdO�}|j|jdNti�d1t fdP�}|j|jd1t i�d1t fdQ�}|j|jd1t i�d�d1t fdR�}|j|jd1t i�d1tfdS�}|j|jd1ti�d1t"fdT�}|j|jd1t"i�d�dV�}|j|jdUdi�d�dW�}|j|jdUdi�d�dX�}|j|jdd
dY��d�dZ�}|j|jdd
dY��d�d�d]�}|j|jdd
ddd^��d�dd_d`�			d�df�}|j|jdd
dddddddedg��d�dd_d`�dddd
d[ddht d\ddaddbddcdddNdefdi�}|j|jdd
dt ddddddedj�	�Gdk�dl�}Gdm�dn|�}|j|j$jdodi�|j|j$jdodi�dp���dNtfdq��}|j|jdNti��dr��}�x}ds��}�fdt�du��}dv�dvgddw��}�����dx��}�gdj&j&dy��}d��fdz�}d�fd{�	}dd|��fd}�
}dNt f�fd~�}d�}d��}d��}d��}d��}d��}d��}d��}d��}d��}d��}d��}d��}d��}d��}y#t$rY���wxYw#1swY���xYw)�Nc��yr�rPrPr6r4�f1z%GrammarTests.test_funcdef.<locals>.f1's��$r6rPc��yr�rP��one_arguments r4�f2z%GrammarTests.test_funcdef.<locals>.f2+���dr6c��yr�rP��two�	argumentss  r4�f3z%GrammarTests.test_funcdef.<locals>.f3,s��r6r^rcc��yr�rP)�one_args r4�a1z%GrammarTests.test_funcdef.<locals>.a1/���$r6c��yr�rP)rd�argss  r4�a2z%GrammarTests.test_funcdef.<locals>.a20���Dr6c��yr�rP��rests r4�v0z%GrammarTests.test_funcdef.<locals>.v01���tr6c��yr�rP�r�rqs  r4�v1z%GrammarTests.test_funcdef.<locals>.v12rjr6c��yr�rP�r�r�rqs   r4�v2z%GrammarTests.test_funcdef.<locals>.v23���Tr6rVr.rTrUr����r9rc��yr�rP�r�s r4�d01z&GrammarTests.test_funcdef.<locals>.d01I���dr6�rVr�c��yr�rPr�s  r4�d11z&GrammarTests.test_funcdef.<locals>.d11Q���r6r�c��yr�rP�r�r�rVs   r4�d21z&GrammarTests.test_funcdef.<locals>.d21Urnr6�rVr.rT)r.rT�rTrVc��yr�rPr�s  r4�d02z&GrammarTests.test_funcdef.<locals>.d02\���4r6r��r.r�c��yr�rPr�s   r4�d12z&GrammarTests.test_funcdef.<locals>.d12drar6c��yr�rP�r�r�rV�ds    r4�d22z&GrammarTests.test_funcdef.<locals>.d22h���r6c��yr�rPrus  r4�d01vz'GrammarTests.test_funcdef.<locals>.d01vlrar6)rVr.rTrUc��yr�rPrxs   r4�d11vz'GrammarTests.test_funcdef.<locals>.d11vsr�r6c��yr�rP�r�r�rVrqs    r4�d21vz'GrammarTests.test_funcdef.<locals>.d21vw���Dr6c��yr�rPrxs   r4�d02vz'GrammarTests.test_funcdef.<locals>.d02v}s��4r6rSc��yr�rPr�s    r4�d12vz'GrammarTests.test_funcdef.<locals>.d12v�s��dr6�rTrUr�c��yr�rP)r�r�rVr�rqs     r4�d22vz'GrammarTests.test_funcdef.<locals>.d22v�s��r6r�rUr3sfooz/Bytes should not work as keyword argument namesc��|Sr�rP��keys r4�pos0key1z+GrammarTests.test_funcdef.<locals>.pos0key1�s��S�jr6�dr�)�k2c��||||fSr�rP)�p1�p2�k1r�s    r4�pos2key2z+GrammarTests.test_funcdef.<locals>.pos2key2�s��B�r�"�R�K�-?r6)r���)r�r�)r�r�c��|||||fSr�rP)r�r�r�r��kwargs     r4�pos2key2dictz/GrammarTests.test_funcdef.<locals>.pos2key2dict�s���B�r�"�U�AR�:Rr6)r��tokwarg1�tokwarg2)r�r�r�zdef f(*): passzdef f(*,): passzdef f(*, **kwds): passc�
�||fSr�rP)rl�kwargss  r4r�z$GrammarTests.test_funcdef.<locals>.f�s����<�r6�r3r�)rVrTrUzf(1, x=2, *(3,4), x=5)�	scrambled�fried)�eggsr�r�r�z
f(*g(1=2))zf(**g(1=2))�returnc��yr�rPr�s r4r�z$GrammarTests.test_funcdef.<locals>.f�rjr6c��yr�rPr�s r4r�z$GrammarTests.test_funcdef.<locals>.f�rsr6c��yr�rPr�s r4r�z$GrammarTests.test_funcdef.<locals>.f�rjr6c��yr�rPr�s r4r�z$GrammarTests.test_funcdef.<locals>.f����tr6c��yr�rPr�s r4r�z$GrammarTests.test_funcdef.<locals>.f����r6c��yr�rPr�s r4r�z$GrammarTests.test_funcdef.<locals>.f�r�r6r�c��yr�rPr�s  r4r�z$GrammarTests.test_funcdef.<locals>.f�rjr6c��yr�rPr�s  r4r�z$GrammarTests.test_funcdef.<locals>.f�rzr6c��yr�rPr�s    r4r�z$GrammarTests.test_funcdef.<locals>.f�r�r6)r�rVc��yr�rPr�s    r4r�z$GrammarTests.test_funcdef.<locals>.f�r�r6r��gc��yr�rP)r�r�rVr�r�r�r�s       r4r�z$GrammarTests.test_funcdef.<locals>.f�s��tr6)r�rVr�r��
)�i�j�hr��k��c��yr�rP�r�r�rVr�r�r�r�r�r�r�r�s           r4r�z$GrammarTests.test_funcdef.<locals>.f����"r6)r�rVr�r�r�r�r�r�r�c��yr�rPr�s           r4r�z$GrammarTests.test_funcdef.<locals>.f�r�r6)	r�rVr�r�r�r�r�r�r�c��eZdZdd�Zy)�'GrammarTests.test_funcdef.<locals>.Spamc��yr�rP)r2�	_Spam__kws  r4r�z)GrammarTests.test_funcdef.<locals>.Spam.f����r6N)r�rV)r�r�r�r�rPr6r4�Spamr��s��
r6r�c��eZdZy)�&GrammarTests.test_funcdef.<locals>.HamNrrPr6r4�Hamr����r6r�r�c��|Sr�rPr�s r4�nullz'GrammarTests.test_funcdef.<locals>.null�s��A�Xr6c��yr�rPr�s r4r�z$GrammarTests.test_funcdef.<locals>.f�s��r6c��yr�rPr�s r4r�z$GrammarTests.test_funcdef.<locals>.f����r6c��yr�rPr�s r4r�z$GrammarTests.test_funcdef.<locals>.f�r�r6c����|�Sr�rP)r�r�s �r4�<lambda>z+GrammarTests.test_funcdef.<locals>.<lambda>�s	���4��7r6c��yr�rPr�s r4r�z$GrammarTests.test_funcdef.<locals>.f�r�r6.c��yr�rPr�s r4r�z$GrammarTests.test_funcdef.<locals>.f�r�r6c��yr�rPr�s r4r�z$GrammarTests.test_funcdef.<locals>.f�r�r6c��yr�rPr�s r4r�z$GrammarTests.test_funcdef.<locals>.f�r�r6c����Sr�rP��closures�r4r�z$GrammarTests.test_funcdef.<locals>.f�s����r6c����Sr�rP)r3r�s �r4r�z$GrammarTests.test_funcdef.<locals>.f�s���7�Nr6�r�c����Sr�rP)r�r�s �r4r�z$GrammarTests.test_funcdef.<locals>.f�s���g�~r6c����Sr�rPr�s�r4r�z$GrammarTests.test_funcdef.<locals>.f�s���w�r6c��yr�rPrs r4r�z$GrammarTests.test_funcdef.<locals>.fs��4r6c��yr�rP�rls r4r�z$GrammarTests.test_funcdef.<locals>.frsr6c��yr�rP�rs r4r�z$GrammarTests.test_funcdef.<locals>.fr�r6c��yr�rP�r�rls  r4r�z$GrammarTests.test_funcdef.<locals>.frjr6c��yr�rP�r�rs  r4r�z$GrammarTests.test_funcdef.<locals>.fr�r6c��yr�rP�r�rls  r4r�z$GrammarTests.test_funcdef.<locals>.frjr6c��yr�rP�r�s r4r�z$GrammarTests.test_funcdef.<locals>.fr�r6c��yr�rP�rlrs  r4r�z$GrammarTests.test_funcdef.<locals>.f	r�r6c��yr�rP�r�r�rls   r4r�z$GrammarTests.test_funcdef.<locals>.f
rzr6c��yr�rPr�s  r4r�z$GrammarTests.test_funcdef.<locals>.fr�r6c��yr�rP�r�rlrs   r4r�z$GrammarTests.test_funcdef.<locals>.f���$r6c��yr�rP�r�rlrs   r4r�z$GrammarTests.test_funcdef.<locals>.f
rr6c��yr�rP�r�rs  r4r�z$GrammarTests.test_funcdef.<locals>.frar6c��yr�rP�r�r�rlrs    r4r�z$GrammarTests.test_funcdef.<locals>.f���Tr6c��yr�rP�r�r�rs   r4r�z$GrammarTests.test_funcdef.<locals>.fr�r6r�)r�)r�rT)r�rVrVr.)rVr.r�rV)rUr�)r�rVrVr.r�rTr�r{)r�rVrVr.r�rTr�r{r�r|r�r9r�r�r�r�)r0�__code__�co_varnamesrWrXrY�BytesWarningr�rL�	TypeErrorrFrGrHrr�r�r�r.r��__call__)r2r\r`rfrirmrrrvryr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�s                            @@r4�test_funcdefzGrammarTests.test_funcdefsx	���	�
��
�B��
�B�
�"�
�"�$�������0�0�2C�D�������0�0�2F�G�� ���!�
��
�1��
�1��
�1�a��
�1�a�	�
��
�1��
�1��
�1�Q��
�1�Q�q��1�Q�q��1�Q��
�1��
�1��
�1�Q��
�1�Q�q�	�
�1�Q�q��1�Q�q��1�Q��
�1�Q��
�1�Q�q�	�
�1�Q�q���
�1�Q�q��1�Q�q��1�Q������A���T�
��R�Y�A�3���.�2�.��	�r�.�2�.���s�1�g����s�1�g�m�����A���A�q�	���#�a��� ��A�q�	��A�q�!���Y���A�����A�q��4����S��G������A���A�q�	��V���A�
��
���#�a�����A�A���"��A���A�q�	��A�q�!��%��A�q�	��A�q�!���A�q�!�Q��"����Q���Q��
��l���d�����A�w��%��Q���Q��
��Q��1�
�(��Q��
��Q��1�
��Q��1�a���l����c�1�X��'����Q���Q��
��Q��1�
��Q����� �Q�Q�� �*��Q���Q��
��Q��1�
��Q��1�a���l���Q���I���Q�"��"�#�q��"�-��Q��
��Q��1�
��Q��1�a���Q��1�a����l���Q���I���Q�$��$�C��8�$��
$�
$�
&��!�!�(�L�9�
M��'�F�1�;�'��	�	�K�L�'�	)��S��'*�?���A�#����A�#�#�&���A�#�#�&�'*�R��Q�q�C��c�:��Q�q�#�s�s�;����+�t�-=�>����+�t�->�?����+�t�-E�F�	 �����1�0�Q��F�0��a�0�9�9:��N�3D�	E�����1��u��a��<��*<�=����+�t�-E�F�����B�[��A�B��k�'�B�C�	E�����@��@�F�;�+?�@��k�'�B�C�	E�	�4��.��4��/�	�D������*�*�X�t�,<�=��������*�*�S�#�J�7��������*�*�S�#�J�7�#��#�����*�*�S�#�J�7��#������*�*�S�#�J�7��5������*�*�S�%�L�9������*�*�S�!�H�5�!�����*�*�S�!�H�5�%�����*�*�!�!�,<�=�(�����*�*�!�!�,<�=�;�����*�*� �q�q�q�9�	;�	#�a��	#��	#��	#�����*�*� �q�q�q�q�q�!�R�1�	2�	#��RT�	#�A�	#�!�	#�1�	#�S�	#�Q�	#�1�	#�a�	#��	#��	#�����*�*� !����!�!�RS� "�b�2�	3�	�	�	�$��������/�/�+�q�1A�B�������.�.��a�0@�A��	
��D��
������*�*�X�t�,<�=���
������
��	��
��

�t�S�	�!�	��
��	��d��D�	��
��
����	�	�	$�	$��
%�����"��%�&�3�&�	�������#�!��&�&�"�)�%��m�
��
��	'�
&�s0�;c%�
c�$c%�	c"�c%�!c"�"c%�%c/c�$�d�}|j|�d�d�}d�}|j|�gd��d&d�fd�fd	�}|j|�d�d'd�}|j|dd
�d�|j|dd
d
�d�t|d�t|d�dd�d�}|j|dd
�d�|j|dd
d��d�d�}d�}d�}	d�}
d�}d�}d�}
d�}d�}d �}d!�}d"�}d#�}d$�}d%�}y)(Nc��y�NrrPrPr6r4r�z+GrammarTests.test_lambdef.<locals>.<lambda>s��ar6rc��ttSr�)r�r�rPr6r4r�z+GrammarTests.test_lambdef.<locals>.<lambda>s��a��dr6c�2�dD�cgc]}d|k��	c}Scc}w)N)���rTrr.rPr�s r4r�z+GrammarTests.test_lambdef.<locals>.<lambda>s��j�1�j��q�1�u�j�1��1s�)rrVrrVc��|Sr�rP�r�s r4r�z+GrammarTests.test_lambdef.<locals>.<lambda>s��r6c��|�Sr�rP)r�s r4r�z+GrammarTests.test_lambdef.<locals>.<lambda>s��A�Cr6c��|�Sr�rPr�s r4r�z+GrammarTests.test_lambdef.<locals>.<lambda>s��!�#r6r.c��||z|zSr�rP)r3r�r�s   r4r�z+GrammarTests.test_lambdef.<locals>.<lambda>s��q�1�u�q�yr6r�rTr{zlambda x: x = 2zlambda (None,): None�r�c��||z|zSr�rP)r3r�r�s   r4r�z+GrammarTests.test_lambdef.<locals>.<lambda> s��1�Q�3�q�5r6�r��
c��yrrPrs r4r�z+GrammarTests.test_lambdef.<locals>.<lambda>%���r6c��yrrPr�s r4r�z+GrammarTests.test_lambdef.<locals>.<lambda>&s��Qr6c��yrrPr�s r4r�z+GrammarTests.test_lambdef.<locals>.<lambda>'s��ar6c��yrrPr�s  r4r�z+GrammarTests.test_lambdef.<locals>.<lambda>(���r6c��yrrPr�s  r4r�z+GrammarTests.test_lambdef.<locals>.<lambda>)s��r6c��yrrPr�s  r4r�z+GrammarTests.test_lambdef.<locals>.<lambda>*r+r6c��yrrPr�s r4r�z+GrammarTests.test_lambdef.<locals>.<lambda>+s��Ar6c��yrrPrs  r4r�z+GrammarTests.test_lambdef.<locals>.<lambda>,s��Qr6c��yrrPrs   r4r�z+GrammarTests.test_lambdef.<locals>.<lambda>-s��1r6c��yrrPr�s  r4r�z+GrammarTests.test_lambdef.<locals>.<lambda>.s��qr6c��yrrPrs   r4r�z+GrammarTests.test_lambdef.<locals>.<lambda>/���r6c��yrrPr	s   r4r�z+GrammarTests.test_lambdef.<locals>.<lambda>0r3r6c��yrrPrs  r4r�z+GrammarTests.test_lambdef.<locals>.<lambda>1s��Ar6c��yrrPr
s    r4r�z+GrammarTests.test_lambdef.<locals>.<lambda>2s��1r6c��yrrPrs   r4r�z+GrammarTests.test_lambdef.<locals>.<lambda>3s��qr6r�r��r0r)r2�l1�l2�l3�l4�l5�l6�l10�l11�l12�l13�l14�l15�l16�l17�l18�l19�l20�l21�l22�l23�l24s                      r4�test_lambdefzGrammarTests.test_lambdefs��
�������q�!�
��
1�������y�)�#1�7�
=�������q�!�
(������A�q��1�%�����A�q�!��a�(��4�!2�3��4�!7�8�!�
(������A�a��&�)�����A�a�"��v�.�������!��"��!����&��$�� ��)��)��%��,��(�r6c��d}~d�}|�y)NrVc�
�d}~yr�rPr�s r4�fooz*GrammarTests.test_simple_stmt.<locals>.foo<s	���A�Qr6rP)r2r3rQs   r4�test_simple_stmtzGrammarTests.test_simple_stmt9s��
���	 �	�r6c�x�		d}d}dx}x}}d\}}}dx}x\}}}x\}}}}t|d�t|d�y)NrVr�)rVr.)rTrUz	x + 1 = 1z
a + 1 = b + 2r)	r2r3r�r��abcr�r�rV�xyzs	         r4�test_expr_stmtzGrammarTests.test_expr_stmtDs`��	��
��������A�����1�a�(4�4��4�g�a��A�4���1�a�#��4��-��4��1r6c	��d}gd�}|D]�}dj|�}|D]�}|j|�}|j|��5|jt|�5t	|�ddd�ddd�|jdd�}|j|��5|jtd�5t	|�ddd�ddd�����y#1swY�mxYw#1swY�qxYw#1swY�.xYw#1swY��xYw)N)r�r�)z{} fooz{} {{1:foo}}zif 1: {} foozif 1: {} {{1:foo}}zif 1:
    {} foozif 1:
    {} {{1:foo}}zcall to '{}')�sourcerQz(foo.)zinvalid syntax)�formatrr�rGr�rb)r2�keywords�cases�keyword�
custom_msg�caserXs       r4�(test_former_statements_refer_to_builtinsz5GrammarTests.test_former_statements_refer_to_builtinsSs���"��
�� �G�'�.�.�w�7�J������W�-���\�\��\�0��/�/��Z�H��V��I�1� ����x�8���\�\��\�0��/�/��=M�N��V��O�1�0�
� �
I�H��1�0��
O�N��1�0�sH�C �C	�(C �C8�3C,	�?C8�C
�C � C)�,C5
�1C8�8Dc��gd�}|\}}}|||f}~~~~~d\}}}~~~d\}}}}	}
}}~~~~	~
~d\}}}}	}
}}~~~~	~
~td�}
|
dd�=tddd	�y)
Nr�rU�abcdefg�abcdrVr.z-del a, (b[0].c, (d.e, f.g[1:2])), [h.i.j], ()r}r�)r�r�)r2rTr3r�r�rUr�r�rVr�r�r�r�rbs              r4�
test_del_stmtzGrammarTests.test_del_stmtjs��������1�a���A�g���
�q�1�c����1�a�
�
�
�(���1�a��A�q�!�
��1��A�q�'���1�a��A�q�!�
��1��A�q��F�|����1��I��?��v�Vr6c��yr�rPr[s r4�test_pass_stmtzGrammarTests.test_pass_stmt�s��r6c��yr�rPr[s r4�test_break_stmtzGrammarTests.test_break_stmt�s��r6c��d}|rd}�d}|sd}	�|dk7r|j|�d}|sd}		d}�	|dk7r|j|�yy#d}YnxYw|s�I�F#d}wxYw)NrVrr_�okz'continue inside try called except blockzfinally block not called�rL)r2r��msgs   r4�test_continue_stmtzGrammarTests.test_continue_stmt�s���
���Q�������C�
@���$�;��I�I�c�N����,�C�
�����$�;��I�I�c�N���
@�?���
�� ��s�	A�Ac� ��d�fd�	}|�y)Nc���d}|r|dz
}	|r|dk(r|dz}n|dz}�|dkDs|dk7r�jd�yy#�xYw)Nr.rVz1continue then break in try/except in loop broken!rj)�extra_burning_oil�count�	big_hippor2s   �r4�
test_innerz9GrammarTests.test_break_continue_loop.<locals>.test_inner�sg����I����
���(�Y�!�^�)�Q�.�)����N�I���q�y�I��N��	�	�M�N�+����s�<�<�?)rVrrP)r2rrs` r4�test_break_continue_loopz%GrammarTests.test_break_continue_loop�s���
	O�	�r6c�~�d�}d�}d�}|�|�}|�}|j|dd�t|d�y)Nc��yr�rPrPr6r4�g1z$GrammarTests.test_return.<locals>.g1�s��&r6c��yr�rPrPr6r4�g2z$GrammarTests.test_return.<locals>.g2�r'r6c��ddg}dg|��S)Nr.rTrVrPrs r4�g3z$GrammarTests.test_return.<locals>.g3�s���A��A��5�q�5�Lr6r�z unparenthesized star expr returnzclass foo:return 1r8)r2rvrxrzr3r�s      r4�test_returnzGrammarTests.test_return�s@����	�	���D���D������I�'I�J��4�!5�6r6c�H�d}|dkr|dz
}			|j|d�d}|dkr|dz
}			|j|d�d}|dkr|dz
}	ddz	|j|d�dD]}|j|d�		n|j|d�dD]}|j|d�		n|j|d�dD]}|j|d�	ddzn|j|d�y#Y��xYw#Y��xYw#Y��xYw#Y��xYw#Y�gxYw#Y�=xYw�Nrr.rV�rrVr/�r2rps  r4�test_break_in_finallyz"GrammarTests.test_break_in_finally�se�����a�i��Q�J�E�
��������"����a�i��Q�J�E�
��������"����a�i��Q�J�E�
��!��������"��E����U�A�&�
����	
�����"��E����U�A�&�
����	
�����"��E����U�A�&�
��!����	
�����"��W�����������s0�D�D�7C;�>D�D	�D�D�D!c���d}|dkr|dz
}		�
|j|d�d}|dkr|dz
}		�
|j|d�d}|dkr|dz
}	ddz�|j|d�dD]}		�|j|d�dD]}		�|j|d�dD]}	ddz�
|j|d�y#Y��xYw#Y��xYw#Y��xYw#Y�mxYw#Y�YxYw#Y�ExYwr}r/rs  r4�test_continue_in_finallyz%GrammarTests.test_continue_in_finallys5�����a�i��Q�J�E�
��������"����a�i��Q�J�E�
��������"����a�i��Q�J�E�
��!��������"��E�
���	�	
�����"��E�
���	�
	
�����"��E�
��!���	�	
�����"��Y�����������s0�C�$C!�>C�C	�C�C�C�!C%c��d�}|j|�d�d�}|j|�d�d�}|j|�d�y)Nc��		y#YyxYwr�rPrPr6r4rvz/GrammarTests.test_return_in_finally.<locals>.g1;s��
����q���rVc��		y#YyxYw)NrTrPrPr6r4rxz/GrammarTests.test_return_in_finally.<locals>.g2Bs��
����q�r�rTc��	ddzy#YyxYw)NrVrrUrPrPr6r4rzz/GrammarTests.test_return_in_finally.<locals>.g3Is��
��!����q�s��rUr/)r2rvrxrzs    r4�test_return_in_finallyz#GrammarTests.test_return_in_finally:sM��	�
	
�����q�!�	�
	
�����q�!�	�
	
�����q�!r6c���d�}|j|d�d�|j|d�d�d�}|j|d�d�|j|d�d�y)Nc�^�dD]}d}|dks�|dz
}	||z|r�cSdfS#|rY�(wxYw)Nr~rr"r��endrP�r3rp�count2s   r4rvz;GrammarTests.test_break_in_finally_after_return.<locals>.g1RsV�������r�k��b�L�F�"�$�v�~��!�� ��%��'�'���!��s�%�,�,Fr�T)r�rVr�c�Z�dD]}dD]}	||z|r�ccS�dfS#|rY�&wxYw)Nr~)r�r"r�rPr�s   r4rxz;GrammarTests.test_break_in_finally_after_return.<locals>.g2`sK����&�F�"�$�v�~��!��	'� ��%��'�'���!��s�"�*�*r/�r2rvrxs   r4�"test_break_in_finally_after_returnz/GrammarTests.test_break_in_finally_after_returnPs`��
	(�	
����E��B�'�����D��>�2�	(�	
����E��B�'�����D��>�2r6c���d�}|j|d�d�|j|d�d�d�}|j|d�d�|j|d�d�y)	Nc�D�d}|dkr|dz
}	||r�Sd|fS#|rY�wxYw)Nrr�rVr�rP�r3rps  r4rvz>GrammarTests.test_continue_in_finally_after_return.<locals>.g1nsC���E��#�+���
��!� �� ���%�<���� ��s���FrVT)r�r�c�<�dD]
}	||r�	cSdfS#|rY�wxYw)Nr~r�rPr�s  r4rxz>GrammarTests.test_continue_in_finally_after_return.<locals>.g2{s:����!� �� ��	 ��%�<���� ��s���r)r�rVr/r�s   r4�%test_continue_in_finally_after_returnz2GrammarTests.test_continue_in_finally_after_returnls`��		 �	
����E��A�&�����D��<�0�	 �	
����E��A�&�����D��:�.r6c���d�}d�}d�}d�}d�}d�}t|d�t|d�d	�}d
�}t|d�t|d�d
�}d�}d�}d�}d�}|jt|��dg�t|d�t|d�t|d�t|d�t|d�t|d�t|d�t|d�t|d�y)Nc3�K�d��y�wr�rPrPr6r4r�z"GrammarTests.test_yield.<locals>.g�s
����q����c3�$K�dEd{���y7��w�NrPrPrPr6r4r�z"GrammarTests.test_yield.<locals>.g�s����B�������c3�K�d��}y�wr�rPr�s r4r�z"GrammarTests.test_yield.<locals>.g�s����1�W��r�c3�$K�dEd{���}y7��wr�rPr�s r4r�z"GrammarTests.test_yield.<locals>.g�s�����]��]�r�c3�K�d��y�w�N)rVrVrPrPr6r4r�z"GrammarTests.test_yield.<locals>.g�s
����t��r�c3�K�d��}y�wr�rPr�s r4r�z"GrammarTests.test_yield.<locals>.g�s����4�Z��r�zdef g(): yield from (), 1zdef g(): x = yield from (), 1c3�K�dd��fy�wr�rPrPr6r4r�z"GrammarTests.test_yield.<locals>.g�s�����1�W����
c3�(K�ddEd{���fy7��w�NrVrPrPrPr6r4r�z"GrammarTests.test_yield.<locals>.g�s������]�#�]�s���zdef g(): 1, yield 1zdef g(): 1, yield from ()c3�&K�td���y�wr��r�rPr6r4r�z"GrammarTests.test_yield.<locals>.g�s�����!�G����c3�(K�td��d�y�wr�r�rPr6r4r�z"GrammarTests.test_yield.<locals>.g�s�����!�G�a��s�c3�6K�tdEd{����y7�	�wr�r�rPr6r4r�z"GrammarTests.test_yield.<locals>.g�s�����r�M�#�M�s���
c3�8K�tdEd{���d�y7�
�w)NrPrVr�rPr6r4r�z"GrammarTests.test_yield.<locals>.g�s�����r�M�A�&�M�s���c3�$K�d}dddg|����y�w)N�rUr�r{rVr.rTrPrps r4r�z"GrammarTests.test_yield.<locals>.g�s������q�!�Q�~��~�!5���)rVr.rTrUr�r{zdef g(): f(yield 1)zdef g(): f(yield 1, 1)zdef g(): f(yield from ())zdef g(): f(yield from (), 1)�yieldz
yield fromzclass foo:yield 1zclass foo:yield from ()zdef g(a:(yield)): pass)rr0r�)r2r�s  r4�
test_yieldzGrammarTests.test_yield�s������"����4�!<�=��4�!@�A��#��4�!6�7��4�!<�=�� �#�&�5�����a�c��%7�$8�9��4�!6�7��4�!9�:��4�!<�=��4�!?�@��4��)��4��.��4�!4�5��4�!:�;��4�!9�:r6c���d�}d�}|j}|dd�|dd�|dd�|dd�|d	d
�|dd
�|dd
�|dd�|dd�|dd�y)Nc3�<K�d��fD�cgc]}|��c}ycc}w�wr�rPr�s r4r�z4GrammarTests.test_yield_in_comprehensions.<locals>.g�s����Q�w�[�)�[��!�[�)��)�s��	�	c3�LK�dEd{���fD�cgc]}|��c}y7�cc}w�wr�rPr�s r4r�z4GrammarTests.test_yield_in_comprehensions.<locals>.g�s#����"�}�.�/�.��!�.�/�}��/�s�$��$�	�$�$z def g(): [(yield x) for x in ()]z!'yield' inside list comprehensionz)def g(): [x for x in () if not (yield x)]z-def g(): [y for x in () for y in [(yield x)]]z def g(): {(yield x) for x in ()}z 'yield' inside set comprehensionz#def g(): {(yield x): x for x in ()}z!'yield' inside dict comprehensionz#def g(): {x: (yield x) for x in ()}z def g(): ((yield x) for x in ())z#'yield' inside generator expressionz%def g(): [(yield from x) for x in ()]z class C: [(yield x) for x in ()]z[(yield x) for x in ()]r)r2r�rvs   r4�test_yield_in_comprehensionsz)GrammarTests.test_yield_in_comprehensions�s���)�/��'�'��
�0�1�	3�
�9�1�	3�
�=�1�	3�
�0�0�	2�
�3�1�	3�
�3�1�	3�
�0�3�	5�
�5�1�	3�
�0�1�	3�
�'�1�	3r6c�`�td��#t$rYnwxYwt�#t$rYywxYw)Nzjust testing)�RuntimeError�KeyboardInterruptr[s r4�
test_raisezGrammarTests.test_raise�s-����/�
/���!�T�!��$�
$�� �&�$�&�s��	��!�	-�-c�d�ddl}ddl}ddl}ddlm}ddlm}ddlm}m}ddlm}m}ddlm}m}y)Nr)�time)�path�argv)rIr�r�r�)r2rIr�r�r�s     r4�test_importzGrammarTests.test_import�s������	#�$�%�%r6c��yr�rPr[s r4�test_globalzGrammarTests.test_global�r�r6c����d�d���fd�}y)Nrc���yr�rPr�s��r4r�z%GrammarTests.test_nonlocal.<locals>.f�s��r6rP)r2r�r3r�s  @@r4�
test_nonlocalzGrammarTests.test_nonlocal�s���
��
��	r6c��		d�sJ�				y#t$r}|jd�Yd}~�!d}~wwxYw#t$r}|jd�Yd}~yd}~wwxYw)Nc��|Sr�rPr�s r4r�z*GrammarTests.test_assert.<locals>.<lambda>�s��r6z6'assert True' should not have raised an AssertionErrorz;'assert True, msg' should not have raised an AssertionError)�AssertionErrorrL�r2r�s  r4�test_assertzGrammarTests.test_assert�so������z��	P��	2���	�	P��I�I�N�O�O��	P��
�	2��I�I�1�
2�
2��	2�s�	1�,�1�	A�A�ATz Won't work if __debug__ is Falsec��	Jd��#t$r)}|j|jdd�Yd}~nd}~wwxYw	J�#t$r/}|jt	|j�d�Yd}~yd}~wwxYw)Nrrk)rLr�r0rlr�r�s  r4�test_assert_failuresz!GrammarTests.test_assert_failures�sq��	?��e�O�1���	/����Q�V�V�A�Y��.�.��	/��
	E��5���	-����S����[�!�,�,��	-�s'�	�	;�6�;�A�	A9�
%A4�4A9c��|jdd�|jdd�|jdd�|jt��5tddd�td	dd�ddd�y#1swYyxYw)
N�assert(x, "msg")zassertion is always true�assert(False, "msg")�assert(False,))�categoryzassert x, "msg"r}r�zassert False, "msg")r,r�rZr�r[s r4�test_assert_syntax_warningsz(GrammarTests.test_assert_syntax_warnings
sy��	
�!�!�"4�"<�	>��!�!�"8�"<�	>��!�!�"2�"<�	>��
#�
#�]�
#�
;��%�|�V�<��)�<��@�<�
;�
;�s�
A1�1A:c�0�tj�5tjdt�	t	ddd�|jt
�5t	ddd�ddd�|jt
�5t	ddd�ddd�|jt
�5t	ddd�ddd�ddd�y#t
$r|j
d�Y��wxYw#1swY��xYw#1swY�ixYw#1swY�JxYw#1swYyxYw)	Nr�zassert x, "msg" r}r�z4SyntaxError incorrectly raised for 'assert x, "msg"'r�r�r�)rWrXrYrZr�rGrLrFr[s r4�,test_assert_warning_promotes_to_syntax_errorz9GrammarTests.test_assert_warning_promotes_to_syntax_errors����
$�
$�
&��!�!�'�=�9�
T��*�L�&�A��"�"�;�/��*�L�&�A�0��"�"�;�/��.��f�E�0��"�"�;�/��(�,��?�0�'�
&���
T��	�	�R�S�
T��/�/��/�/��/�/��'�
&�su�D�
C�D�C(�!D�>C4�D�)D�7D�C%�"D�$C%�%D�(C1	�-D�4C=	�9D�D		�D�Dc��								yr�rPr[s r4�test_ifzGrammarTests.test_if0s�����
��
�
�
�r6c�8�			d}	d}|j|d�y)Nrr.r/r1s  r4�
test_whilezGrammarTests.test_while=s,�����
����A�����A�r6c�n�dD]}�dD]\}}}�	Gd�d�}d}|d�D]}||z}�	|dk7r|jd�g}d	D]\}|j|��|j|gd��g}gd�x}x}	}
g|�|	�|
��D]}|j|��|j|d
|z�y)Nr�rPc��eZdZd�Zd�Zd�Zy)�&GrammarTests.test_for.<locals>.Squaresc� �||_g|_yr�)�max�sofar)r2r�s  r4r�z/GrammarTests.test_for.<locals>.Squares.__init__Rs�������
r6c�,�t|j�Sr�)r�r�r[s r4�__len__z.GrammarTests.test_for.<locals>.Squares.__len__Us��c�$�*�*�o�5r6c���d|cxkr|jks
t�t�t|j�}||kr)|jj	||z�|dz}||kr�)|j|S)NrrV)r��
IndexErrorr�r��append)r2r��ns   r4r�z2GrammarTests.test_for.<locals>.Squares.__getitem__Vsl���A�(����(�
�*:�(�
�*:���
�
�O���1�f��J�J�%�%�a��c�*��!��A��1�f��z�z�!�}�$r6N)r�r�r�r�r�r�rPr6r4�Squaresr�Qs��
 �
6�
%r6r�rr�izfor over growing sequence)r�r�r�rT)rLr�r0)r2r�r�r�r�r�r3�resultr�r�rVs           r4�test_forzGrammarTests.test_forLs����A���G�A�q�!�r��	%�	%�
�����A�!�A�#�a����8��I�I�1�2���$�B�A��M�M�!��%������+�������A���!��a��!��A��M�M�!��������Q��'r6c��	ddz	ddz	ddzddz		|jt�5tddd�tddd�ddd�y#t$rY�VwxYw#t$rY�_t$r
}Yd}~�ld}~wY�sxYw#tttf$rY��wxYw#tttf$r
}Yd}~��d}~wwxYw#wxYw#1swYyxYw)NrVrz/try:
    pass
except Exception as a.b:
    pass�?r�z0try:
    pass
except Exception as a[b]:
    pass�r��EOFErrorrrFrGr��r2rks  r4�test_tryzGrammarTests.test_tryms���	�
�a�C�
�
�q�S��
�q�S�
�q�S�
��
�
�
�{�
+��H�#�v�V��I�3�PV�W�,�
+��!�	��	��
����%�������)�%6�7�=��=���)�%6�7�D���D����
+�
+�s[�A�A"�B�B�C�	A�A�"	B�-B�:B�B�B�B<�7B<�?C�C
c�<�	ddz	ddz	ddzddz		|jt�5tddd�tddd�tddd�ddd�y#gxt%x�n�nn��x�Y�qcYwxYw#gxt%x�n�nnt%x�}d}~nd}~�nn��x�Y��cYwxYw#gxtttf%x�n�nn��x�Y��cYwxYw#gxtttf%x�}d}~nd}~�nn��x�Y��cYwxYw#wxYw#1swYyxYw)NrVrz0try:
    pass
except* Exception as a.b:
    passr�r�z1try:
    pass
except* Exception as a[b]:
    passztry:
    pass
except*:
    passr�r�s  r4�
test_try_starzGrammarTests.test_try_star�s���	�
�a�C�
�
�q�S��
�q�S�
�q�S�
��
�
�
�{�
+��I�3�PV�W��J�C�QW�X��8�#�v�F�,�
+��	�!�	���D�	���
	���$��$��!�.�$��$�.���	?��9�&7�8�>�$��$�>���E��9�&7�8�E����E�����
+�
+�s=�A �A?�B3�C�(D� A<�?,B0�3"C�(D
�
D�Dc��						yr�rPr[s r4�
test_suitezGrammarTests.test_suite�s������
��r6c��					yr�rPr[s r4�	test_testzGrammarTests.test_test�s�������48r6c��	ddk(}ddk(r	ddk7r	ddkr	ddkDr	ddkr	ddk\r	||ur	||ur	ddvr	ddvr	ddcxkr1dcxkDr+dcxk(r%dcxk\rdcxkrdcxk7rdcxvr|cxvr	|cxur|urnyyyr�rPr1s  r4�test_comparisonzGrammarTests.test_comparison�s����
�!�V����6�4���6�4��q�5�$��q�5�$���6�4���6�4���6�4��A�:�t���7�D��B�;���q�D�1�D��D�Q�D�!�D�q�D�A�D�Q�D�!�D�1�D�d�Dr6c�,���fd�}|dd�|dd�|dd�|dd�|dd	�|d
d�|dd�|d
d�|dd�|dd�|dd�tj�5tjdt�t	ddd�t	ddd�t	ddd�t	ddd�t	ddd�t	ddd�t	ddd�t	ddd�ddd�y#1swYyxYw)Nc�*���j||�yr�r+�r�rkr2s  �r4rvz6GrammarTests.test_comparison_is_literal.<locals>.check������%�%�d�C�0r6zx is 1z"is" with 'int' literalzx is "thing"z"is" with 'str' literalz1 is xzx is y is 1z
x is not 1z"is not" with 'int' literalzx is not (1, 2)z"is not" with 'tuple' literalz(1, 2) is not xz	None is 1z	1 is Nonezx == 3 is yzx == "thing" is yr�z	x is Noner}r�z
x is Falsez	x is Truezx is ...z	None is xz
False is xz	True is xz... is x�rWrXrYrZr�rus` r4�test_comparison_is_literalz'GrammarTests.test_comparison_is_literal�s���	1�	�h�3�4�
�n�9�:�
�h�3�4�
�m�8�9�
�l�;�<�
��!B�C�
��!B�C�
�k�6�7�
�k�6�7�
�m�8�9�
�!�#>�?�
�
$�
$�
&��!�!�'�=�9��K��v�6��L�,��7��K��v�6��J��f�5��K��v�6��L�,��7��K��v�6��J��f�5�'�
&�
&�s
�>BD
�
Dc�������fd�}d�|d�|d�|d�|d�|d�|d�|d	�|d
�|d�|d�|d
�|d�|d�|d�|d�|d�|d�|d�|d�d�|d�|d�|d�|d�|d�|d�|d�|d�|d�|d �d!�|d"�|d#�|d$�|d%�|d&�|d'�|d(�|d)�d*�|d+�d,�|d-�|d.�d/�|d0�|d1�d2�|d3�|d4�d5�|d6�d7�|d8�d9�|d:�|d;�|d<�d=�|d>�|d?�|d@�|dA�|dB�tj�5tjdCt�t	dDdEdF�t	dGdEdF�t	dHdEdF�t	dIdEdF�t	dJdEdF�t	dKdEdF�ddd�y#1swYyxYw)LNc�*���j|��yr�r+r�s ��r4rvz2GrammarTests.test_warn_missed_comma.<locals>.check�r�r6z-is not callable; perhaps you missed a comma\?z[(1, 2) (3, 4)]z[(x, y) (3, 4)]z[[1, 2] (3, 4)]z[{1, 2} (3, 4)]z[{1: 2} (3, 4)]z[[i for i in range(5)] (3, 4)]z[{i for i in range(5)} (3, 4)]z[(i for i in range(5)) (3, 4)]z![{i: i for i in range(5)} (3, 4)]z[f"{x}" (3, 4)]z[f"x={x}" (3, 4)]z["abc" (3, 4)]z[b"abc" (3, 4)]z[123 (3, 4)]z
[12.3 (3, 4)]z[12.3j (3, 4)]z
[None (3, 4)]z
[True (3, 4)]z[... (3, 4)]z2is not subscriptable; perhaps you missed a comma\?z[{1, 2} [i, j]]z[{i for i in range(5)} [i, j]]z[(i for i in range(5)) [i, j]]z[(lambda x, y: x) [i, j]]z[123 [i, j]]z
[12.3 [i, j]]z[12.3j [i, j]]z
[None [i, j]]z
[True [i, j]]z[... [i, j]]zKindices must be integers or slices, not tuple; perhaps you missed a comma\?z[(1, 2) [i, j]]z[(x, y) [i, j]]z[[1, 2] [i, j]]z[[i for i in range(5)] [i, j]]z[f"{x}" [i, j]]z[f"x={x}" [i, j]]z["abc" [i, j]]z[b"abc" [i, j]]z.indices must be integers or slices, not tuple;z[[1, 2] [3, 4]]z-indices must be integers or slices, not list;z[[1, 2] [[3, 4]]]z [[1, 2] [[i for i in range(5)]]]z,indices must be integers or slices, not set;z[[1, 2] [{3, 4}]]z [[1, 2] [{i for i in range(5)}]]z-indices must be integers or slices, not dict;z[[1, 2] [{3: 4}]]z#[[1, 2] [{i: i for i in range(5)}]]z2indices must be integers or slices, not generator;z [[1, 2] [(i for i in range(5))]]z1indices must be integers or slices, not function;z[[1, 2] [(lambda x, y: x)]]z,indices must be integers or slices, not str;z[[1, 2] [f"{x}"]]z[[1, 2] [f"x={x}"]]z[[1, 2] ["abc"]]z'indices must be integers or slices, notz[[1, 2] [b"abc"]]z[[1, 2] [12.3]]z[[1, 2] [12.3j]]z[[1, 2] [None]]z[[1, 2] [...]]r�z[(lambda x, y: x) (3, 4)]r}r�z[[1, 2] [i]]z[[1, 2] [0]]z[[1, 2] [True]]z[[1, 2] [1:2]]z[{(1, 2): 3} [i, j]]r�)r2rvrks` @r4�test_warn_missed_commaz#GrammarTests.test_warn_missed_comma�s����	1�
=��
�� �
�� �
�� �
�� �
�� �
�.�/�
�.�/�
�.�/�
�1�2�
�� �
�!�"�
���
�� �
�n��
�o��
���
�o��
�o��
�n��A��
�� �
�.�/�
�.�/�
�)�*�
�n��
�o��
���
�o��
�o��
�n��Z��
�� �
�� �
�� �
�.�/�
�� �
�!�"�
���
�� �=��
�� �<��
�!�"�
�0�1�;��
�!�"�
�0�1�<��
�!�"�
�3�4�A��
�0�1�@��
�+�,�;��
�!�"�
�#�$�
� �!�6��
�!�"�
�� �
� �!�
�� �
���
�
$�
$�
&��!�!�'�=�9��/��v�F��N�L�&�9��N�L�&�9��%�|�V�<��$�l�F�;��*�L�&�A�'�
&�
&�s
�#A)I�Ic��d}d}d}y)NrVrrPr1s  r4�test_binary_mask_opsz!GrammarTests.test_binary_mask_ops8s�������r6c��d}d}d}y)Nr.rrVrPr1s  r4�test_shift_opszGrammarTests.test_shift_ops=s�������r6c��d}d}d}d}y)NrVr.rrPr1s  r4�test_additive_opszGrammarTests.test_additive_opsBs��
�������r6c��d}d}d}d}y)NrV��?rgrPr1s  r4�test_multiplicative_opsz$GrammarTests.test_multiplicative_opsHs���������r6c��d}d}d}d}d}y)NrVr���rrPr1s  r4�test_unary_opszGrammarTests.test_unary_opsNs��������#��!�r6c��ddl}ddl}|jd}|j�}|jdj�}d}|d}|d}|dd}|dd}|dd}|dd}|dd}|dd}|dd}i}d	|d	<d
|d<d|d
<d|d<t	|�}|jd���|j
t|�d�y)Nrr��01234rr����������rVr.r�rTr�rUr�c�0�t|�j|fSr�)rEr�r�s r4r�z-GrammarTests.test_selectors.<locals>.<lambda>ps��d�1�g�.�.��2r6r�z[1, (1,), (1, 2), (1, 2, 3)])rIr�r��modulesr��sortr0r�)	r2rIr�rVr3r�rMr��Ls	         r4�test_selectorszGrammarTests.test_selectorsUs���	��H�H�Q�K���I�I�K���K�K���$�$�&����
�a�D��
�b�E��
�a��F��
�b�q�E��
�a�b�E��
�a�D��
�b�c�F��
�c�r�F��
�b��H��
����!����"����#����%����G��	���2��3�����Q��!?�@r6c��d}d}dddf}g}dg}dg}dddg}g}i}ddi}ddi}ddi}ddd�}ddd�}ddddddd	�}dh}ddh}hd
�}hd�}|}d}d
}y)NrVr.rTr�)r�rdrUr�r{)r�rd�three�four�five�six>r�rdr>r.rTrUr3r(rPr1s  r4�
test_atomszGrammarTests.test_atomsss�����
��
�!�Q�����
�C��
�M��
�!�Q�������
�A�J��
�A�K��
�Q�$���a� ���a�!���a�!�Q��!�L��
�G��
�A�K��#����
�����r6c���Gd�d�}Gd�d�}Gd�d|�}Gd�d|�}Gd	�d
|||�}Gd�d�}d
���Gd�d��}�Gd�d��}�x}	Gd�d��}
�fd�Gd�d��}d�dgdGd�d��}�����Gd�d��}
�gdjjGd�d��}y) Nc��eZdZy)�%GrammarTests.test_classdef.<locals>.BNrrPr6r4rr�r�r6rc��eZdZy)�&GrammarTests.test_classdef.<locals>.B2NrrPr6r4�B2r�r�r6rc��eZdZy)�&GrammarTests.test_classdef.<locals>.C1NrrPr6r4�C1r�r�r6rc��eZdZy)�&GrammarTests.test_classdef.<locals>.C2NrrPr6r4�C2r!�r�r6r"c��eZdZy)�%GrammarTests.test_classdef.<locals>.DNrrPr6r4r
r$�r�r6r
c��eZdZd�Zd�Zd�Zy)�%GrammarTests.test_classdef.<locals>.Cc��yr�rPr[s r4�meth1z+GrammarTests.test_classdef.<locals>.C.meth1�rzr6c��yr�rP)r2�args  r4�meth2z+GrammarTests.test_classdef.<locals>.C.meth2�rr6c��yr�rP)r2rirms   r4�meth3z+GrammarTests.test_classdef.<locals>.C.meth3�rr6N)r�r�r�r(r+r-rPr6r4r�r&�s��!�&�)r6r�c��|Sr�rPr�s r4�class_decoratorz3GrammarTests.test_classdef.<locals>.class_decorator�s��q�r6c��eZdZy)�%GrammarTests.test_classdef.<locals>.GNrrPr6r4�Gr1����r6r2c��eZdZy)�%GrammarTests.test_classdef.<locals>.HNrrPr6r4�Hr5�r3r6r6c��eZdZy)�%GrammarTests.test_classdef.<locals>.INrrPr6r4�Ir8�r3r6r9c����|�Sr�rP)rVr/s �r4r�z,GrammarTests.test_classdef.<locals>.<lambda>�s
���?�1�%r6c��eZdZy)�%GrammarTests.test_classdef.<locals>.JNrrPr6r4�Jr<�r3r6r=.rVc��eZdZy)�%GrammarTests.test_classdef.<locals>.KNrrPr6r4�Kr?�r3r6r@c��eZdZy)�%GrammarTests.test_classdef.<locals>.LNrrPr6r4rrB�r3r6rrc��eZdZy)�%GrammarTests.test_classdef.<locals>.MNrrPr6r4r/rD�r3r6r/)r)r2rrrr"r
r�r2r6r�r9r=r@rr/r/s               @r4�
test_classdefzGrammarTests.test_classdef�s�����
��������� ��B�� �	*�	*�	)�	��
�
��"��
�
"���	���
�
��	%��
�
&��

���	$�Q�	'��
�
(��	)���	)�/�	:��
�
;��
�	�1�	�	&�	&�	/�	/��
�
0�r6c�f�gd�}|j|D�cic]}||dz��
c}dddd��ycc}w)Nr�rVr.rTrUr/)r2�numsr�s   r4�test_dictcompszGrammarTests.test_dictcomps�s:��������.��A�!�A�a�C�%��.�A�!��0B�C��.s�
.c���gd�}gd�}gd�}�j|D�cgc]}|j���c}gd���j|D�cgc]}d|z��	c}gd���j|D�cgc]
}|dkDs�	|��c}gd���j|D��cgc]
}|D]}||f���c}}gd	���j|D���cgc] }|D�cgc]	}d
|vs�|��c}D]}||f���"c}}}gd���jtd�D�cgc]}d
�|���
c}dgddggd�gd�gd�g�d�}	�j|	|�gd���fd�}
|
�t�d�t�d�gd�}gd�}gd�}
|D������cgc]'\}}|D]\}}|
D]\}}||k(r	||k(r||f����)}}}}}}}�j|gd��ycc}wcc}wcc}wcc}}wcc}wcc}}}wcc}wcc}}}}}}w)NrW)�Apple�Banana�Coconut)z  Applez Banana zCoco  nut  )rJrKz	Coco  nutrT)rTr{r9r��r.r�))rVrJ�rVrK�rVrL)r.rJ�r.rK�r.rL)rTrJ�rTrK�rTrL)rUrJ�rUrK�rUrL)r�rJ�r�rK�r�rLr�)
rNrOrPrQrRrSrTrUrVrWr�c�J�t|dz�D�cgc]}||z��	c}Scc}wr���range)r�r�s  r4r�z-GrammarTests.test_listcomps.<locals>.<lambda>�s"��5��1��:�$>�:�a�Q��T�:�$>��$>s� rV)rVr.rU)rVrTr9�)rVrU��@�c�T�|D�cgc]}|dkDs�	d|cxkxrdknc��c}Scc}w)Nr.rrTrP)�lr3s  r4�test_in_funcz1GrammarTests.test_listcomps.<locals>.test_in_func�s(��'(�2�q�!�A��E�A��I�A�I�q�2�2��2s�
%�%)FFFc
����jdD��cgc]}||dzfD�cgc]}|��c}��c}}ddgddgddgg�ycc}wcc}}w)N)rVrTr�rVr.rTrUr�r{r/)r3r�r2s  �r4�test_nested_frontz6GrammarTests.test_listcomps.<locals>.test_nested_front�sU������w�G�w�!�1�a�!�e�*�5�*�Q�q�*�5�w�G� �!�f�q�!�f�q�!�f�5�
7��5��Gs�A
�	A�A
�A
z"[i, s for i in nums for s in strs]z[x if y]))rV�Boeing)r.�Ford)rT�
Macdonalds))r��Airliner)r"�Engine)��Cheeseburger))rVr�)rVr")r.r")rTri))rdrg)rdrh)rerh)rfrj)r0�striprZr)r2rG�strs�spcsrMr3r�r�r�rarc�	suppliers�parts�suppart�sno�sname�pno�pname�sp_sno�sp_pnos`                   r4�test_listcompszGrammarTests.test_listcomps�s.�����-��5�����T�2�T��!�'�'�)�T�2�4T�U�����.��A�!�a�%��.�0A�B����T�3�T��Q��U�!�T�3�Y�?����$�=�$�Q��1�1�a�&��&�$�=�G�	H�	
���$�V�$�Q�D�8U�D�q�C�ST�H��D�8U�1�1�a�&�8U�&�$�V�9�	:�	
���E�RS�H�U�H�q�>��B�H�U��#��1�v�y�-�AT�U�	W�	3�	
����d�+�-B�C�	7�	���4�!E�F��4��,�
�	�
��
��!*�
�
� )���e�"'�,�3��(/�$�V�V��F�]�s�f�}�	�%�.�)0��"'�� )�	
�
�	
����=�	>��m3��.��3��=��9V��V��V��B
sG�G�
G�2
G �=G �G%
�		G0�	G+�G+� G0�G7�,G<�+G0c
�:��d�td�D�}|jt|�td�D�cgc]}|��c}�	t|�|jd�d�	�fd��D�}t|�|jd�|jt
d�dD��dD��cgc]
}dD]}||f���c}}�|jt
d	�d
D��d
D��cgc]
}dD]}||f���c}}�td�D�cgc]}|��c}�d�d
��D�D�}|jt|�ttd�D�cgc]}|��c}��|jtd�td�D��ttd�D�cgc]}|dz��	c}��|jtd�td�D��ttd�D�cgc]
}|dzs�	||z��c}��|jtd�d�td�D�D��ttd�D�cgc]}|��c}��|jtd�d�d�td�D�D�D��ttd�D�cgc]}|��c}��|jtd�d�td�D�D�cgc]}|��c}D��ttd�D�cgc]}|��c}��|jtd�d�d�td�D�D�D��ttd�D�cgc]}|��c}��|jtd�d�d�td�D�D�D��d�t|d�t|d �ycc}w#t$rY��mwxYw#t
$rY��SwxYwcc}}wcc}}wcc}wcc}wcc}wcc}wcc}wcc}wcc}wcc}wcc}w)!Nc3�XK�|]}td�D�cgc]}|��c}���ycc}w�w)r�NrY��.0r3s  r4�	<genexpr>z,GrammarTests.test_genexps.<locals>.<genexpr>�s'����6�X���r��
#��A�a��
#�X��
#�s�*�	%�
*rVr�z&should produce StopIteration exceptionc3�"�K�|]}����y�wr�rP)r{r�r�s  �r4r|z,GrammarTests.test_genexps.<locals>.<genexpr>	s������A�q��A�s�zshould produce TypeErrorc3�2K�|]}dD]}||f���
�y�w)rbNrP�r{r3r�s   r4r|z,GrammarTests.test_genexps.<locals>.<genexpr>s����E�f��f��q�!�f�f�f�f���rbc3�2K�|]}dD]}||f���
�y�w)�xyNrPrs   r4r|z,GrammarTests.test_genexps.<locals>.<genexpr>s����A�d��D�q�q�!�f�D�f�d�r��abr�c3� K�|]}|���y�wr�rPrzs  r4r|z,GrammarTests.test_genexps.<locals>.<genexpr>s����'��1�Q����c3� K�|]}|���y�wr�rP�r{r�s  r4r|z,GrammarTests.test_genexps.<locals>.<genexpr>s�����A�q��A�r�c3�&K�|]	}|dz���y�w�r.NrPrzs  r4r|z,GrammarTests.test_genexps.<locals>.<genexpr>s����5�9�a�Q��T�9�r�r.c3�2K�|]}|dzs�	||z���y�wr�rPrzs  r4r|z,GrammarTests.test_genexps.<locals>.<genexpr>s����;�)�Q�q��s�Q�q�S�)�s�
�
c3� K�|]}|���y�wr�rPrzs  r4r|z,GrammarTests.test_genexps.<locals>.<genexpr>s����?�(>�1�Q�(>�r�c3� K�|]}|���y�wr�rPr�s  r4r|z,GrammarTests.test_genexps.<locals>.<genexpr>s����(>�I�q��I�r�c3� K�|]}|���y�wr�rPrzs  r4r|z,GrammarTests.test_genexps.<locals>.<genexpr>�����L�(K�1�Q�(K�r�c3� K�|]}|���y�wr�rPr�s  r4r|z,GrammarTests.test_genexps.<locals>.<genexpr>s����(K�4J�q��4J�r�c3� K�|]}|���y�wr�rP�r{r�s  r4r|z,GrammarTests.test_genexps.<locals>.<genexpr>�����4J�	�1�Q�	�r�c3� K�|]}|���y�wr�rPrzs  r4r|z,GrammarTests.test_genexps.<locals>.<genexpr>r�r�c3� K�|]}|���y�wr�rPr�s  r4r|z,GrammarTests.test_genexps.<locals>.<genexpr>r�r�c3� K�|]}|���y�w�TNrPrzs  r4r|z,GrammarTests.test_genexps.<locals>.<genexpr>s����\�(S�1�Q�(S�r�c3� K�|]}|���y�wr�rPr�s  r4r|z,GrammarTests.test_genexps.<locals>.<genexpr>s����(S�4R�q��4R�r�c3� K�|]}|���y�wr�rPr�s  r4r|z,GrammarTests.test_genexps.<locals>.<genexpr>�����4R�	�1�Q�	�r�c3� K�|]}|���y�wr�rPrzs  r4r|z,GrammarTests.test_genexps.<locals>.<genexpr>s����e�(\�1�Q�(\�r�c3�K�|]}�y�w)FNrPr�s  r4r|z,GrammarTests.test_genexps.<locals>.<genexpr>s����(\�4R�q�V[�4R�r�c3� K�|]}|���y�wr�rPr�s  r4r|z,GrammarTests.test_genexps.<locals>.<genexpr>r�r�rzfoo(x for x in range(10), 100)zfoo(100, x for x in range(10)))	rZr0�nextrL�
StopIterationrr��sumr)r2r�r3r�r�r�s     @r4�test_genexpszGrammarTests.test_genexps�s����6�U�1�X�6������a��e�B�i�"8�i��1�i�"8�9�	���G��I�I�>�?�
��	��A��A���G��I�I�0�1�	
����E�f�E�E�X^�Go�X^�ST�hn�cd��A��hn��X^�Go�p�����A�d�A�A�TX�Cg�TX�q�bf�]^�Q��F�bf�F�TX�Cg�h��b�	�"�	�1�Q�	�"��'��A��'������Q����r��%;��A�a��%;�!<�=�����5�5��9�5�5�s�%�PR�)�;T�)�Q�A�q�D�)�;T�7U�V�����;�%��)�;�;�S�u�UW�y�A`�y�!�\]�^_�\_�!�A�#�y�A`�=a�b�����?�(>�E�"�I�(>�?�?��QV�WY�QZ�E[�QZ�A�a�QZ�E[�A\�]�����L�(K�4J��b�	�4J�(K�L�L�c�^c�df�^g�Rh�^g�YZ�ST�^g�Rh�Ni�j�����L�4J��b�	�4J�(K�4J�q��4J�(K�L�L�c�^c�df�^g�Rh�^g�YZ�ST�^g�Rh�Ni�j�����\�(S�4R��b�	�4R�(S�\�\�^a�ns�tv�nw�bx�nw�ij�cd�nw�bx�^y�z�����e�(\�4R��b�	�4R�(\�e�e�gh�i��4�!A�B��4�!A�B��=#9���	��	���	��	��Hp��Cg��"��%;��;T��A`��E[��Rh��(K��Rh��bxsq�	N?
�O�&'O�.O$�)O*�	O0�	O5�O:�,
O?�7O?�	P� 	P	�	P�	P�	P�	O�O�	O!� O!c	����d�d�t��D�}d�|jtt|��d�d�d���fd�t��D�}d�d�|jtd�D��cgc]}td�D]}||f���c}}t|��|jtd�D�cgc]}|dzs�	|dzs�|��c}gd	��|jtd
�td�D��gd	��|jdD�cgc]\}|��c}gd��|jtd
�dD��gd��ycc}}wcc}wcc}w)Nr�c3� K�|]}|���y�wr�rP)r{r�s  r4r|z;GrammarTests.test_comprehension_specials.<locals>.<genexpr>"s����)��1�Q��r�r�Fc3�L�K�|]}�s�t��D]}||f���
�y�wr�rY)r{r�r��tr3s   ��r4r|z;GrammarTests.test_comprehension_specials.<locals>.<genexpr>&s$�����O�x�!�1�e�A�h���1��h��x�s�$�$Tr.rT)rVr�r|c3�8K�|]}|dzs�	|dzs�|���y�w)r.rTNrPrzs  r4r|z;GrammarTests.test_comprehension_specials.<locals>.<genexpr>-s����E��A�a�!�e�q�1�u�a��s�
��))rU)r�)r{r�c3�$K�|]\}|���
y�wr�rPrzs  r4r|z;GrammarTests.test_comprehension_specials.<locals>.<genexpr>1s����=�*<�B�A�a�*<�r�))r|)r})r9)r|r}r9)rZr0r�r�)r2r�r�r�r3r�s    `@r4�test_comprehension_specialsz(GrammarTests.test_comprehension_specials s.�����)��a��)��q�1�����T�!�W��r�*�
��E��O�u�Q�x�O�1�
��4�q�����r��E��A�E�!�H�q�1�Q�%�H�%��E�t�A�w�O�	
���e�B�i�C�i��1�q�5�A��E�1�i�C�Y�O�����E��r��E�E�y�Q�	
���&8�9�&8���!�&8�9�9�E�����=�*<�=�=�y�I��F��D��:s�3E
�8
E�E�	E�Ec���Gd�dt�}|�5	ddd�|�5}	ddd�|�5\}}	ddd�|�5|�5	ddd�ddd�|�5}|�5}	ddd�ddd�|�5}|�5	ddd�ddd�|�5	ddd�|�5}	ddd�|�5\}}|�5}	ddd�ddd�|�5|�5	ddd�ddd�|�5}|�5}	ddd�ddd�|�5}|�5	ddd�ddd�|�5}|�5}|�5}	ddd�ddd�ddd�|�5}|�5}|�5	ddd�ddd�ddd�y#1swY���xYw#1swY���xYw#1swY���xYw#1swY���xYw#1swY���xYw#1swY���xYw#1swY���xYw#1swY��yxYw#1swY��~xYw#1swY��zxYw#1swY��vxYw#1swY��gxYw#1swY��lxYw#1swY��`xYw#1swY��exYw#1swY��YxYw#1swY��^xYw#1swY��RxYw#1swY��WxYw#1swY��CxYw#1swY��HxYw#1swY��MxYw#1swY��9xYw#1swY��>xYw#1swYyxYw)Nc��eZdZd�Zd�Zy)�1GrammarTests.test_with_statement.<locals>.managerc��y�Nr�rPr[s r4�	__enter__z;GrammarTests.test_with_statement.<locals>.manager.__enter__5s��r6c��yr�rP)r2rls  r4�__exit__z:GrammarTests.test_with_statement.<locals>.manager.__exit__7r�r6N)r�r�r�r�r�rPr6r4�managerr�4s��
�
r6r�)�object)r2r�r3r�r�s     r4�test_with_statementz GrammarTests.test_with_statement3s��	�f�	��Y���
�Y�!���
�Y�&�1�a���
�Y��	��"�Y�
�Y�!�W�Y�!��'�Y�
�Y�!�W�Y��'�Y�
�I��
�

�I���
�

�I��!�Q��I���
�
�
�I��I��
�
�
�I���I���
�
�
�I���I��
�
�
�I���I���I���
�
�
�
�I���I���I��
�
�
�I�o�Y��
�Y��
�Y��!�	��Y�Y��&�Y��Y�Y��&�Y��Y�Y��
�I��

�I��
�I��
�I��
�I��
�I��
�I��
�I��
�I��
�I��
�I��
�I��
�I��
�I��
�I��
�I�s��F5�G�G�
G)�G�G)�.H�6G6�8H�H�H�H�0H*�H7�I�I�I�6I+�>I�I+�J�I8�!J�8J�J�J�K�!J9�)J,�+J9�3K�
K-�K �K�K �$K-�5F?�G�G�G&	�!G)�)G3�6H	�;H�H
�H	�H�H'�*H4�7I�I	�	I�I�I(	�#I+�+I5�8J	�=J�J�J	�J�J)�,J6�1J9�9K	�>K�K�K�K � K*	�%K-�-K6c��d�}|jd�d�fD�cgc]}|�s�|���c}dg�|jd�d�fD�cgc]}|d�s�|d���c}dg�|jd	d	�|jd	d	�|jdd�|jdd�|jd
d
�|jdd�|jdd�|jd	d	�|jdd�|jdd�|jd
d
�|jd	d	�|jdd�|jdd�|jdd�ycc}wcc}w)Nc��t|�|S)z@helper to check that evaluation of expressions is done correctlyr�)rk�rets  r4�
_checkevalz2GrammarTests.test_if_else_expr.<locals>._checkevalys���#�J��Jr6c��y)NTrPrPr6r4r�z0GrammarTests.test_if_else_expr.<locals>.<lambda>�s��r6c��y�NFrPrPr6r4r�z0GrammarTests.test_if_else_expr.<locals>.<lambda>�s��ur6Tc��|rdSdS)NFTrPr�s r4r�z0GrammarTests.test_if_else_expr.<locals>.<lambda>�s����8L��8Lr6c��|rdSdS)NTFrPr�s r4r�z0GrammarTests.test_if_else_expr.<locals>.<lambda>�s��`a�X\�Xl�gl�Xlr6FrVr�r{r.rTr|r�g@r/)r2r�r3s   r4�test_if_else_exprzGrammarTests.test_if_else_exprwsw��	�	
����}�(E�N�(E�1���1�3�(E�N�QU�PV�W����.L�Nl�-m�{�-m��qr�sx�qy�1�U�8�-m�{�C�~D�	E����!��C����Q��C����A��2����a�!�4�����!�4����!�a�H����!�]^�_����q�a�H����%�e�4����!�a�0����%�a�0����%�a�0����%�b�1����%�a�0����!�a�0��!O��{s�E9�	E9�	
E>�
E>c��|jdd�|jdd�|jdd�d}d}|jd||uu�|jd|u|u�|jd|cxuxr	|u�yc�y)Nr}r.rTF)r0rJ�assertFalser�s   r4�test_paren_evaluationz"GrammarTests.test_paren_evaluation�s��������+������+�����q�)�
��
������!�q�&�)�*����%�1�*��*�+�����!��q��)��)r6c��Gd�d�}|�}|j||zd�|dz}|j|jd�y)Nc��eZdZd�Zd�Zy)�'GrammarTests.test_matrix_mul.<locals>.Mc��y)NrUrP�r2r*s  r4�
__matmul__z2GrammarTests.test_matrix_mul.<locals>.M.__matmul__�s��r6c��||_|Sr�)�otherr�s  r4�__imatmul__z3GrammarTests.test_matrix_mul.<locals>.M.__imatmul__�s����
��r6N)r�r�r�r�r�rPr6r4r/r��s��
�
r6r/rUr�)r0r�)r2r/�ms   r4�test_matrix_mulzGrammarTests.test_matrix_mul�sF��	�	�
�C������Q���"�	�R���������"�%r6c���d�}|j|jd�|jt|jj
tjz��d�}|d��}|j|j�|j|jd�|jt|jj
tjz��y)Nc��<K�d�}	t��d{���y7��w)Nc��yr�rPrPr6r4r�z8GrammarTests.test_async_await.<locals>.test.<locals>.sum�r�r6)�someobj)r�s r4r�z+GrammarTests.test_async_await.<locals>.test�s����
���i���s���r�c� �t|dd�|S)N�_markedT)�setattr)�funcs r4�	decoratorz0GrammarTests.test_async_await.<locals>.decorator�s���D�)�T�*��Kr6c��K�y�w)N�rPrPr6r4�test2z,GrammarTests.test_async_await.<locals>.test2�s	�������r�)	r0r�rJ�boolr�co_flags�inspect�CO_COROUTINEr�)r2r�r�r�s    r4�test_async_awaitzGrammarTests.test_async_await�s���	 �	
�������/�����T�]�]�3�3�g�6J�6J�J�K�L�	�
�	�
�	�����
�
�&��������1�����U�^�^�4�4�w�7K�7K�K�L�Mr6c����Gd�dt��Gd�d����fd�}|j��5|�jd�ddd�y#1swYyxYw)Nc��eZdZy)�)GrammarTests.test_async_for.<locals>.DoneNrrPr6r4�Doner��r�r6r�c��eZdZd�Zd�Zy)�*GrammarTests.test_async_for.<locals>.AIterc��|Sr�rPr[s r4�	__aiter__z4GrammarTests.test_async_for.<locals>.AIter.__aiter__�s���r6c��K�t��wr�)�StopAsyncIterationr[s r4�	__anext__z4GrammarTests.test_async_for.<locals>.AIter.__anext__�s����(�(�s�	N)r�r�r�r�r�rPr6r4�AIterr��s��
�
)r6r�c���K���23d{���}�
7�6��23d{���7\}}�6��23d{���7}�6	���wr�rP)r�r�r�r�s  ��r4rQz(GrammarTests.test_async_for.<locals>.foo�s^����� �7�
�a��
��7�#�g�
�
�d�a���&� �7�
�
�a��#���J�sC�A����A��A�-�&�-�
A�A�<�A�A�r�rF�send)r2rQr�r�s  @@r4�test_async_forzGrammarTests.test_async_for�sD���#�9�#�	)�	)�		��
�
�t�
$��E�J�J�t��%�
$�
$���A�Ac����Gd�dt��Gd�d����fd�}|j��5|�jd�ddd�y#1swYyxYw)Nc��eZdZy)�*GrammarTests.test_async_with.<locals>.DoneNrrPr6r4r�r��r�r6r�c��eZdZd�Zd�Zy)�-GrammarTests.test_async_with.<locals>.managerc��K�y�wr�rPr[s r4�
__aenter__z8GrammarTests.test_async_with.<locals>.manager.__aenter__�s	�����r�c��K�y�wr�rP)r2�excs  r4�	__aexit__z7GrammarTests.test_async_with.<locals>.manager.__aexit__�s	�����r�N)r�r�r�r�r�rPr6r4r�r��s��
�
r6r�c��B�K���4�d{���	ddd��d{�����4�d{���}	ddd��d{�����4�d{���\}}	ddd��d{�����4�d{�����4�d{���	ddd��d{���ddd��d{�����4�d{���}��4�d{���}	ddd��d{���ddd��d{�����4�d{���}��4�d{���	ddd��d{���ddd��d{�����7�� 7��#1�d{���7swY��#xYw7��7��
#1�d{���7swY��xYw7��7��#1�d{���7swY��xYw7��7��7��#1�d{���7swY��xYw7��#1�d{���7swY��xYw7��7��7��#1�d{���7swY��xYw7��#1�d{���7swY��xYw7��7��7��#1�d{���7swY��xYw7��#1�d{���7swY��xYw�wr�rP)r3r�r�r�s  ��r4rQz)GrammarTests.test_async_with.<locals>.foo�s������y�y��!�y��y�y�A��!�y��y�y�F�Q���!�y��y�y�'�)�)��#,�)�y�y��y�y�A�w�y�y�A��(1�y�y�y��y�y�A�w�y�y��(1�y�y�y��J�!��y��y�y�y�� ��y��y�y�y�� ��y��y�y�y�� ��)��)��)�)�)��y��y�y�y�� ��y��y��y�y�y��y��y�y�y�� ��y��y��y�y�y��y��y�y�y��J�s_�H�D/�H�D5�H�D2�H�E�H�E�H�E�H�E'�H�E-�H�%E*�&H�5F�6H�9F#�F�F#�	F�F#�F	�F#�H�&F!�'H�6F9�7H�:G�F<�G�
G�G�F>�G�H�'G�(H�7G,�8H�;H	�G.�H	�G2�
H	�G0�H	�H�(H�)H�2H�5E�;D>�<E�	H�H�E$�E�E$�	H�*H�-F�3E6�4F�;	H�F#�	F#�F	�F�F	�F#�!H�#F6�)F,�*F6�1	H�<G�>G�G	�G	�G	�G�H�G)�G �G)�%H�.H	�0H	�2H	�8G;�9H	�H	�H�	H�H�H�Hr�)r2rQr�r�s  @@r4�test_async_withzGrammarTests.test_async_with�sD���#�9�#�	�	�
	��
�
�t�
$��E�J�J�t��%�
$�
$�r�N)Mr�r�r�r�rr�r,r�r�r�r�r�rr%r0r7r<rIrQrYrrNrRrVr_rcrergrlrsr{r�r�r�r�r�r�r�r�r�r�r�r��unittest�
skipUnlessr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrrErHrwr�r�r�r�r�r�r�r�r�rPr6r4r�r�@s���/�A�>��
&�1�>,�\0�,<�:�	%�#�A�*A�"3�v&�p!)�N�2�%�.W�4
���4�47�2#�h3#�j"�,3�8/�4%;�N3�6'�&�I��2�&�X����$F�G�
E�H�
E�A�@�*�
�(�BX�2G�0�	9�K�"6�:PB�d�
�
��"�A�<�F�BD�=>�~!C�FJ�&B�H1�6*�&�N�*�.r6r��__main__)r�rrr�r�rIrW�test.typinganndata.ann_module�
typinganndatar+r,�test.typinganndatarr�rarc�TestCaser*r�r�r�r�r��mainrPr6r4�<module>rs���,�&���
���3�2�
�*����.4��nKA��"�"�KA�Z����o�8�$�$�o�d5�z���H�M�M�O�r6

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