403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.216.202
Web Server : Microsoft-IIS/10.0
System : Windows NT WEB-SERVER 10.0 build 20348 (Windows Server 2022) AMD64
User : IUSR ( 0)
PHP Version : 8.3.28
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Python315/Lib/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python315/Lib/test/__pycache__/test_re.cpython-315.opt-1.pyc
R
>lqj=[c� �]QHGsGsGsGsGsGsGsGsG	s	G
s
Gs]PH0s]PH4s
]PH8s]PH<s]PH@s]PHDs]QH4Gs]QHLGs]PHVs]PHXsQQ\2sQQ\2sQQ	\O82sQ
s\QQ\O822sQ
Q\O82s QQ\O82s!QQ\O82s"QQ\O82s#\$Q6Xc\OJ2P!P!\cPsK�h9h)�)�
gc_collect�
bigmemtest�_2G�cpython_only�captured_stdout�check_disallow_instantiation�linked_to_musl�warnings_helper�
SHORT_TIMEOUT�	Stopwatch�requires_resource)�Scanner)�proxyc�4``�\sQs]snU1QksQsUsU9s!)�Sc�6:�[[RU_	U22!�N)r�super�__getitem__��self�index�	__class__s&&��!C:\Python315\\Lib\test\test_re.pyr�
S.__getitem__�������$�U�+�,�,����__name__�
__module__�__qualname__�__firstlineno__r�__static_attributes__�__classdictcell__�
__classcell__�r�
__classdict__s@@rrr�����-�-rrc�4``�\sQs] snU1QksQsUsU9s!)�Bc�6:�[[RU_	U22!r)r*rrrs&&�rr�
B.__getitem__!rrrrr&s@@rr*r* r(rr*c�J`�\sQs]$snQ�QksQ�QksQ�QksQsQsQs	Qs
QsQ	sQ
s
QsQsQ
sQsQsQsQsQsQsQsQsQsQsQsQsQsQsQsQs Qs!Qs"Q s#Q!s$Q"s%Q#s&Q$s'Q%s(Q&s)Q's*Q(s+Q)s,Q*s-Q+s.Q,s/Q-s0Q.s1Q/s2Q0s3Q1s4Q2s5Q3s6Q4s7Q5s8Q6s9Q7s:Q8s;Q9s<Q:s=PP\>O~1Q;ks@\AO�\AO�*Q<*sDQ=sEQ>sFQ?sGQ@sHQAsIQBsJQCsKQDsLQEsMQFsNQGsOQHsPQIsQQJsRQKsSQLsTQMsUQNsVQOsWQPsXQQsYQRsZQSs[QTs\QUs]QVs^QWs_QXs`QYsaQZsbQ[scQ\sdQ]se\fO�\hQ^5Q_2siQ`sjQaskQbslQcsmQdsnQesoQfspQgsqQhsrQissQjst\u\v]Qk5Ql2sw\u\v]Qk5Qm2sxQnsyQoszQps{Qqs|Qrs}Qss~QtsQus�Qvs�Qws�Qxs�\�CO
\�2Qy2\�CO
\�COCOQz2Q{2Q|22s�Q}s�Q~s�\�CO
\�2Qy2\�CO
\�COCOQz2Q{2Q22s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�\�Q�2Q�2s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�Q�s�\�CO
\�PIQ�2Q�2s�Q�s�Q�s�Q�s�Q�s�\�COX\�\>CO\Q�2Q�2Q�2s�Q�s�Us�P!)��ReTestsc�R```�ROVR2UUU1QknRV2P!)c��:�[U[[12%c [V2FD
vq#RV#2J	P!RO	[U2[U2R2P!r)�
isinstance�tuple�list�zip�assertIs�type)�actual�expect�x�y�msg�recursers&&  ���rr<�)ReTests.assertTypedEqual.<locals>.recurse(sF����&�5�$�-�0�0���/�D�A��A�M�0��
�
�d�6�l�D��L�#�>r)�assertEqual)rr7r8r;r<sf&&f@r�assertTypedEqual�ReTests.assertTypedEqual&s"��������-�	?�	��rc��UO[O29^tt^2o[OU2PPP2UO	UQ59^tt^2WO
oUO
UOU2UdUO
UOU2PPP2P!)%fhK}9h)%fhP!9h)N��pattern)	�assertRaises�re�PatternError�compile�subTest�	exceptionr>r;�pos)rrC�errmsgrJ�cm�errs&&&&  r�checkPatternError�ReTests.checkPatternError0s���
�
�
�r���
/�
/�2��J�J�w��0�
�\�\�'�\�
*�
*��,�,�C����S�W�W�f�-���� � ����#�.�	+�
*�0�
/��
*�
*�
*�s)�B5�",C�C�5C	�>C	�C	�C	c��UO[O29^tt^2o[OVU2PPP2UO	VQ59^tt^2WO
oUO
UOU2UdUO
UOU2PPP2P!)%fhK}9h)%fhP!9h)N)rC�repl)	rDrErF�subrHrIr>r;rJ)rrCrQ�stringrKrJrLrMs&&&&&&  r�checkTemplateError�ReTests.checkTemplateError9s���
�
�
�r���
/�
/�2��F�F�7�&�)�0�
�\�\�'�\�
5�
5��,�,�C����S�W�W�f�-���� � ����#�.�	6�
5�0�
/��
5�
5�
5�s)�B6�#,C	�C	�6C	�?C	�	C	�C	c��P!rr�rs&r� test_error_is_PatternError_alias�(ReTests.test_error_is_PatternError_aliasBs�rc�.�[Q2o[OQU2oUO[29^tt^2UOQ2PPP2[
U2=[2UOQ2P!)%fhK99h)�x�as�xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)�	bytearrayrE�finditerrD�BufferError�extendr3r)r�b�its&  r�test_keep_buffer�ReTests.test_keep_bufferEsa���d�O��
�[�[��q�
!��
�
�
�{�
+�
+�
�H�H�X��,��R�����	�����,�
+�s�B�B	�
B	c��Qo[OQ2o[U2oUOUO	Q2UO	Q22P!)�QabbbcRzab+c)rErGrr>�findall)r�sr9r:s&   r�test_weakref�ReTests.test_weakrefPs@�����J�J�v����!�H��������9�-�q�y�y��/C�Drc��UO[OQQ2O]2Q	2UO[OQQ2O2Q	2UO[OQQ2O]2Q
2UO[OQQ2O2Q
2UO	[OQQ22UO[O
QQ2O]2Q	2UO[OQQ2O]2Q	2UO[O
QQ2O2Q	2UO[O
QQ2O]2Q2UO[OQQ2O]2Q2UO[O
QQ2O2Q2UO	[O
QQ22UO	[OQQ22P!)�x*�axxzx+r9�aaaza*�xxx�xxxa�a+�rr����rru)r>rE�search�span�assertIsNone�match�prefixmatchrWs&r�test_search_star_plus�ReTests.test_search_star_plusVs���������4��/�4�4�Q�7��@�������4��/�4�4�6��?�������4��/�4�4�Q�7��@�������4��/�4�4�6��?����"�)�)�C��/�0�������$��.�3�3�A�6��?��������e�4�9�9�!�<�f�E�������$��.�3�3�5�v�>�������$��/�4�4�Q�7��@��������f�5�:�:�1�=�v�F�������$��/�4�4�6��?����"�(�(�4��/�0����"�.�.��u�5�6rc���UO[OQQ2O2Q
2UO[OQQ2O2Q
2UO[OQQ2O2Q2UO[OQQ2O2Q2UO[OQQ2O2Q
2UO[OQQ2O2Q
2UO[OQ	Q
2O2Q2UO[OQ	Q2O2Q2UO[OQ	Q2O2Q2P!)z<Test Branching
Test expressions using the OR ('|') operator.z(ab|ba)�ab�baz(abc|bac|ca|cb)�abc�bac�ca�cbz
((a)|(b)|(c))�ara�c�r�rv�rrt�r>rErzrxrWs&r�test_branching�ReTests.test_branchingesX��	
������)�T�2�7�7�9�6�B�������)�T�2�7�7�9�6�B�������"3�U�;�@�@�B��	!�������"3�U�;�@�@�B��	!�������"3�T�:�?�?�A��	!�������"3�T�:�?�?�A��	!�������/�3�7�<�<�>��G�������/�3�7�<�<�>��G�������/�3�7�<�<�>��Grc�\�[UO]22o[U]*2!�r)�int�group�str)r�matchobj�	int_values&& r�bump_num�ReTests.bump_numvs$������q�)�*�	��9�q�=�!�!rc
��`�UO[OQQQ2Q2UO[OQ[Q2[Q22Q2UO[OQQQ2Q2UO[OQ[	Q2[	Q22Q2UO[OQ[Q2[Q22Q2UO[OQ[
Q2[
Q22Q2Q,FD2oUO[OUQQU*2Q2J4	UO[OQ	Q
Q2Q2UO[OQ
UOQ2Q2UO[29^tt^2oUO[OQ
UOQ]2Q2PPP2UOWO[2UO[OQ
UOQ]Q5Q2UO[OQQQ
2Q2UO[OQQQ
2Q2QnUO[OQRQ
2Q2UO[OQROQQ2Q
2R2UO[OQU1QkQ
2R2UO[OQQQ2Q2UO[OQQQ2Q2UO[OQ Q!Q2Q2UO[OQ Q"Q2Q2UO[OQ#Q$Q2Q2UO[OQQ%Q2Q&2UO[OQQ&Q2Q&2UO[OQQ&Q2[]	2[]
2*[]2*[]
2*[]2*[]2*[]2*2Q'FD�oUOU29^tt^2UO![O"29^tt^2UO[OQQU*Q2QU*2PPP2PPP2J�	UO[OQ(Q)Q*2Q+2P!)%fhCK�9h)%fhKZ9h)%fhJ�9h)-r:r��xyz�xaz�yr\�xyzsxazzx%sz�(?i)b+r9�	bbbb BBBB�x x�\d+z08.2 -2 23x99yz9.3 -3 24x100yz
9.3 -3 23x99y��count�.c��Q!)�\nr��ms&r�<lambda>�+ReTests.test_basic_re_sub.<locals>.<lambda>�s��urr��
z\1\1z(.)�xx�\�\\c�
:�R!rr)r�rhs&�rr�r��s���r�(?P<a>x)z
\g<a>\g<a>�xxxxz
\g<a>\g<1>�
(?P<unk>x)z\g<unk>\g<unk>z
\g<1>\g<1>z()xz
\g<0>\g<0>z\t\n\v\r\f\a\bz	

�,cdehijklmopqsuwxyzABCDEFGHIJKLMNOPQRSTUVWXYZz^\s*�X�test�Xtest��àuаu𝒜)r?rErRrr*r]�
memoryviewr>r��assertWarns�DeprecationWarning�filename�__file__�replace�chrrHrDrF)rr:�wr�rhs&   @r�test_basic_re_sub�ReTests.test_basic_re_subzs,������b�f�f�S�#�u�5�u�=����b�f�f�S�!�C�&�!�E�(�;�U�C����b�f�f�T�4��8�&�A����b�f�f�T�1�T�7�A�f�I�>��G����b�f�f�T�9�T�?�I�f�<M�N�PV�W����b�f�f�T�:�d�+;�Z��=O�P�RX�Y�1�A����R�V�V�A�s�F�Q�J�7��?�2�	
�������#�{�;�U�C���������
�
�7G�H�)�	+�
�
�
�0�
1�
1�Q����R�V�V�F�D�M�M�;K�Q�O�,�
.�2�	
������X�.���������
�
�7G�q�Q�(�	*�	
�������_�c�:�E�B��������U�C�0�$�7����������q�#�.��5��������q�y�y��u�'=�s�C�Q�G��������{�C�8�!�<�������
�M�4�@�&�I�������
�M�4�@�&�I��������.?��F��O��������m�T�B�F�K��������}�d�;�V�D��������%6��<�>N�O��������%5�s�;�=M�N��������%5�s�;��a�&��R��.��R��0��R��8��R��@��Q��G��A��N�	Q�?�A����a����&�&�r���7�7��$�$�R�V�V�C����3�%?����J�8�!��@�
	
��������f�5�w�?�=2�
1�
1��68�7��!���sB�+4V?�"(W&	�
7W
�W&	�?W	�W	�W#�W#�W&	�&W7
�/W7
c�X�UO[OQQQ2Q2P!)r�z\g<1>\g<1>\br�zxxxx�r>rErRrWs&r�test_bug_449964�ReTests.test_bug_449964�s"��������
���E�#�	%rc�H�UO[OQQQ2Q2UO[OQQQ2Q2UO[OQQQ2Q2UO[OQQQ2Q2P!)z\r\nr�z
abc
def
zabc
def
z
r�r�rWs&r�test_bug_449000�ReTests.test_bug_449000�s�����������0@�A�%�	'���������/?�@�%�	'���������/?�@�%�	'���������.>�?�%�	'rc�D�[OQ2oUO[[OUQ[O
2UO[[OUQ[O
2UO[[OUQ[O
2UO[[OUQ[O
2UO[[OU[O
2P!)r��A)	rErGrD�
ValueErrorr{�Irzrwrg�rrCs& r�
test_bug_1661�ReTests.test_bug_1661�s����*�*�S�/�����*�b�n�n�g�s�B�D�D�I����*�b�h�h���b�d�d�C����*�b�i�i��#�r�t�t�D����*�b�j�j�'�3����E����*�b�j�j�'�2�4�4�@rc�4�[OQ2P!)z(?P<quote>)(?(quote)))rErGrWs&r�
test_bug_3629�ReTests.test_bug_3629�s��
�
�
�*�+rc��UO[OQQQ2Q2UO[OQQQ2Q2UO[OQQQ2Q2UO[OQQQ2Q32UO[OQQQ2Q42UO[OQQQ2Q	2UO[OQQ
Q2Q2UO[OQQQ2Q
2UO[OQQQ2Q2UO[OQQQ2Q2UO[OQQQ2Q2UO[OQQQ2Q2UO[OQQQ2Q32UO[OQQQ2Q42UO[OQQQ2Q52UOQQQQ]2UOQQQQ]2UOQQQQ]2UOQQQQ]2UOQQQQ]2UOQQ QQ!]2UOQQ"QQ#]2UOQQ$QQ]2UOQQ%QQ&]2UOQQ'QQ(]2UOQQ)QQ!]2UOQQ*QQ!]2UOQQ+QQ#]2UOQQ,QQ-]2UOQQPQ]2UO[OQ.Q Q2Q2UO[OQ/Q)Q02Q12UO[OQ/Q*Q02Q22P!)6r9�\0�z\000z\001�z\008z\009z\111r�z\117�Oz\377�ÿz\1111�I1z\00z\07��\08z\09z\0az\400z0octal escape value \400 outside of range 0-0o377z\777z0octal escape value \777 outside of range 0-0o377z\1zinvalid group reference 1z\8zinvalid group reference 8z\9zinvalid group reference 9z\11zinvalid group reference 11z\18zinvalid group reference 18z\1az\90zinvalid group reference 90z\99zinvalid group reference 99z\118z\11az\181z\800zinvalid group reference 80z(((((((((((x)))))))))))z((((((((((y))))))))))(.)r��xz8�xza�8z9za)r>rErRrTrWs&r� test_sub_template_numeric_escape�(ReTests.test_sub_template_numeric_escape�s����������U�C�0�$�7��������W�c�2�F�;��������W�c�2�F�;��������W�c�2�J�?��������W�c�2�J�?��������W�c�2�F�;��������W�c�2�F�;��������W�c�2�F�;��������X�s�3�W�=��������X�s�3�\�B��������V�S�1�6�:��������V�S�1�6�:��������V�S�1�:�>��������V�S�1�:�>��������V�S�1�:�>�����W�c�!1�23�	5�	
����W�c�!1�23�	5�	
����U�C�1L�a�P�����U�C�1L�a�P�����U�C�1L�a�P�����V�S�2N�PQ�R�����V�S�2N�PQ�R�����V�S�2M�q�Q�����V�S�2N�PQ�R�����V�S�2N�PQ�R�����W�c�3O�QR�S�����W�c�3O�QR�S�����W�c�3O�QR�S�����W�c�3O�QR�S�����U�B�0K�Q�O�	
������ 9�6�3�G��M������� :�G�U�K��	 ������� :�G�U�K��	 rc��UO[OQQQ2Q2UO[29^tt^2oUO[OQQQ]2Q2PPP2UOWO
[2UO[OQQQ]Q5Q2UO[Q29^tt^2[OQQQ]]Q5PPP2UO[Q29^tt^2[OQQQ]]]Q5PPP2UO[Q	29^tt^2[OQQQ]]]2PPP2P!)%fhCK$9h)%fhK�9h)%fhK{9h)%fhP!9h)
r�ra�aaaaa�bbbbb�baaaar�z0sub\(\) got multiple values for argument 'count'z0sub\(\) got multiple values for argument 'flags'��flagsz?sub\(\) takes from 3 to 5 positional arguments but 6 were given)	r>rErRr�r�r�r��assertRaisesRegex�	TypeError�rr�s& r�test_qualified_re_sub�ReTests.test_qualified_re_sub�sj���������S�'�2�G�<�
�
�
�0�
1�
1�Q����R�V�V�C��g�q�9�7�C�2�������X�.��������S�'��;�W�E�
�
#�
#�I�C�E�E��F�F�3��W�a�q�1�E��
#�
#�I�C�E�E��F�F�3��W�a��!�4�E��
#�
#�I����
�F�F�3��W�a��A�.���2�
1�
1��
E�E��E�E�����sH�*F�!F �#F3�&G�F	�F	� F0	�)F0	�3G	�<G	�G	�G	c�l�UO[29^tt^2o[OQQQ[O2oPPP2UOW[OQQQ[
[O2Q52UO[WO2Q2UOUO[2UO[29^tt^2o[OQQQ[O2oPPP2UOU[OQQQ[
[O2Q52UO[UO2Q2UOUO[2UO[29^tt^2o[OQQ	[O2oPPP2UOU[OQQ	[
[O2Q
52UO[UO2Q2UOUO[2P!)%fhCK=9h)%fhCK~9h)%fhK�9h)r�rar�r�z('count' is passed as positional argument�b*r9r��:�:a:b::c��maxsplitz+'maxsplit' is passed as positional argument)
r�r�rErRr�r>r�r��warningr�r��subn�split)rr��results&  r�test_misuse_flags�ReTests.test_misuse_flagss���
�
�
�0�
1�
1�Q��V�V�C��g�r�t�t�4�F�2���������S�'��R�T�T��!K�L�����Q�Y�Y��C�	E�������X�.�
�
�
�0�
1�
1�Q��W�W�T�3��r�t�t�4�F�2���������s�E��R�T�T��!K�L�����Q�Y�Y��C�	E�������X�.�
�
�
�0�
1�
1�Q��X�X�c�9�b�d�d�3�F�2��������#�y�3�r�t�t�9�!M�N�����Q�Y�Y��F�	H�������X�.�#2�
1�
1��2�
1�
1��2�
1�s5�(I;�2(J�'J#�;J	�J	�J 	�J 	�#J3	�,J3	c�X�UO[OQQQ2Q2P!)z(\S)\s+(\S)z\1 \2zhello  therezhello therer�rWs&r�test_bug_114660�ReTests.test_bug_114660s"����������.�I�&�	(rc���[OQ2[OQ2[OQ2[OQ2[OQ2[OQ2QOQ[]]�222oQU*oUO	[O
UQ	2O
2Q
2P!)z(?P<a>x)(?P=a)(?(a)y)z(?P<a1>x)(?P=a1)(?(a1)y)z(?P<a1>x)\1(?(1)y)s(?P<a1>x)(?P=a1)(?(a1)y)u(?P<µ>x)(?P=µ)(?(µ)y)uf(?P<𝔘𝔫𝔦𝔠𝔬𝔡𝔢>x)(?P=𝔘𝔫𝔦𝔠𝔬𝔡𝔢)(?(𝔘𝔫𝔦𝔠𝔬𝔡𝔢)y)�|c3�B�SF �DoQV1*w�	J	P!3h�z
x(?P<a%d>%x)yr��.0�is& r�	<genexpr>�/ReTests.test_symbolic_groups.<locals>.<genexpr>'���9J���9J�A��!��/�/�9J���z(?:%s)(?(200)z|t)�xc8yz�r�)rErG�join�ranger>rzrx�r�pats& r�test_symbolic_groups�ReTests.test_symbolic_groupss���
�
�
�+�,�
�
�
�.�/�
�
�
�(�)�
�
�
�.�/�
�
�
�-�.�
�
�
�{�|��h�h�K��q�'�9J�K�K��!�C�'��������#�w�/�4�4�6��?rc�(�UOQQ2UOQQ]
2UOQQ2UOQQ]2UOQQ	]2UOQ
Q	]2UOQQ]2UOQ
Q2UOQQ2UOQQ]2UOQQ]2UOQQ]2UOQQ	]2UOQQ	]2UOQQ]2UOQQ]2UOQQ	]2UOQQ	]2UOQQ]2UOQQ]2UOQQ ]2UOQ!Q]2UOQ"Q#]2UOQ$Q#]2UOQ%Q#]2UOQ&Q']2UOQ(Q']2UOQ)Q']2P!)*z(?P<a>)(?P<a>)z6redefinition of group name 'a' as group 2; was group 1z
(?P<a>(?P=a))�cannot refer to an open groupz(?Pxy)zunknown extension ?Pxz(?P<a>)(?P=a�missing ), unterminated namez(?P=�missing group namez(?P=)z(?P=1)zbad character in group name '1'z(?P=a)zunknown group name 'a'z(?P=a1)zunknown group name 'a1'z(?P=a.)z bad character in group name 'a.'z(?P<)�missing >, unterminated namez(?P<az(?P<z(?P<>)z(?P<1>)z(?P<a.>)z(?(z(?())z(?(a))z(?(-1))� bad character in group name '-1'z(?(1a))z bad character in group name '1a'z(?(a.))u	(?P<©>x)� bad character in group name '©'u(?P=©)u(?(©)y)s	(?P<µ>x)�&bad character in group name '\xc2\xb5's(?P=µ)s(?(µ)y)�rNrWs&r�test_symbolic_groups_errors�#ReTests.test_symbolic_groups_errors+s(�����0� -�	.�	
���/�>��	D����y�*A�B�����0N�PR�S����w�(<�a�@����x�)=�q�A����y�*K�Q�O����y�*B�C����z�+D�E����z�+M�q�Q����x�)G��K����x�)G��K����w�(<�a�@����y�*>��B����z�+L�a�P����{�,N�PQ�R����v�';�Q�?����x�)=�q�A����y�*B�A�F����z�+M�q�Q����z�+M�q�Q����z�+M�q�Q����{�,N�PQ�R����y�*L�a�P����z�+M�q�Q����1�H�!�	M����/�H�!�	M����0�H�!�	Mrc�*�UO[OQQQ2P2UO[OQQQ2P2UO[OQQQ2Q2UO[OQQQ2Q2UO[OQ	Q
Q2Q2QOQ[	]]�222oUO[OUQ
Q2Q2P!)z(?P<a>x)|(?P<b>y)z\g<b>r��\2s	(?P<a1>x)s\g<a1>�xxu	(?P<µ>x)u\g<µ>u#(?P<𝔘𝔫𝔦𝔠𝔬𝔡𝔢>x)u \g<𝔘𝔫𝔦𝔠𝔬𝔡𝔢>r�c3�B�SF �DoQV1*w�	J	P!3hr�rr�s& rr�-ReTests.test_symbolic_refs.<locals>.<genexpr>Wrrz\g<200>�	xc8yzxc8y�c8zc8)r>rErRrrr	s& r�test_symbolic_refs�ReTests.test_symbolic_refsOs��������� 3�X�t�D�b�I������� 3�U�D�A�2�F��������j�%�@�%�H��������Y��=�t�D������� E�Gj�lp�q�sw�x��h�h�K��q�'�9J�K�K���������Z��=�w�Grc�v�UOQQQQ]2UOQQQQ]2UOQQQQ]2UOQQQQ	]2UOQQ
QQ]2UOQQQQ]2UOQQ
QQ]2UOQQQQ]2UO[Q29^tt^2[OQQQ2PPP2UOQQQQ]2UOQQQQ]2UOQ&QQQ]2UOQQQQ]2UOQQQQ]2UOQQQQ]2UOQQ QQ!]2UOQQ"QQ#]2UOQQ$QQ%]2P!)%fhK�9h)'r�z\g<ar�rz\g<rz\gz	missing <z\g<a a>z!bad character in group name 'a a'z\g<>z\g<1a1>z!bad character in group name '1a1'z\g<2>�invalid group reference 2rzunknown group name 'ab'z\g<ab>z\g<-1>rz\g<+1>� bad character in group name '+1'z\g<1_0>�!bad character in group name '1_0'z\g< 1 >�!bad character in group name ' 1 'u\g<©>rs(?P<a>x)s\g<µ>rru\g<㊀>�!bad character in group name '㊀'u\g<¹>� bad character in group name '¹'u\g<१>�!bad character in group name '१'z()()()()()()()()()())rTr��
IndexErrorrErRrWs&r�test_symbolic_refs_errors�!ReTests.test_symbolic_refs_errorsZs������
�G�T� >��	C����
�F�D� 4�a�	9����
�E�4��a�H����
�J�� C�Q�	H����
�G�T� 4�a�	9����
�J�� C�Q�	H����
�H�d� ;�Q�	@����
�E�4� ;�Q�	@�
�
#�
#�J�0I�
J�
J��F�F�:�y�$�/�K����
�I�t� B�A�	G����
�I�t� B�A�	G������T� C�Q�	H����
�J�� C�Q�	H����
�I�t� B�A�	G�����-=�u� I�1�	N����
�J�� C�Q�	H����
�I�t� B�A�	G����
�J�� C�Q�	H�%K�
J�s�F(�(F8	�1F8	c��UO[OQQQ2Q2UO[OQQQ2Q2UO[OQQQ2Q2UO[OQQQ2Q2UO[29^tt^2oUO[OQQQ]2Q2PPP2UOWO
[2UO[OQQQ]Q5Q2UO[Q29^tt^2[OQQ	Q
]]Q5PPP2UO[Q29^tt^2[OQQ	Q
]]]Q5PPP2UO[Q
29^tt^2[OQQ	Q
]]]2PPP2P!)%fhCK$9h)%fhK�9h)%fhK{9h)%fhP!9h)r�r9r�zb+r�r�r�z1subn\(\) got multiple values for argument 'count'r�rar�z1subn\(\) got multiple values for argument 'flags'r�z@subn\(\) takes from 3 to 5 positional arguments but 6 were given)r�r�)zx BBBBrt)r�r)�xxxyxzx�)�xxxyzr�)	r>rEr�r�r�r�r�r�r�r�s& r�test_re_subn�ReTests.test_re_subns����������3��<�j�I��������s�K�8�-�H��������s�E�2�J�?��������s�E�2�N�C�
�
�
�0�
1�
1�Q����R�W�W�T�3��q�9�<�H�2�������X�.��������s�E��;�\�J�
�
#�
#�I�D�F�F��G�G�C��g�q��2�F��
#�
#�I�D�F�F��G�G�C��g�q�!�1�5�F��
#�
#�I����
�G�G�C��g�q�!�Q�/���2�
1�
1��
F�F��F�F�����sH�?*H�H�H+�H>�H	�
H	�H(	�!H(	�+H;	�4H;	�>I	�I	c�>�Q[Q21FD~oUO[OQU2,QN2UO[OQU2,QN2UO[OQU2,QN2J�	Q[	Q2[Q2[
Q21FD~oUO[OQU2,QN2UO[OQU2,QN2UO[OQU2,QN2J�	QFD�vq#oQU8QU8QU80oUO[OQU2PV#PU,2UO[OQU2PV#U,2UO[OQU2PQUQUQU,2J�	UO[OQ	Q2,QN2UO[OQ
Q2,QN2UO[OQQ2,QN2UO[OQQ2,QN2UO[OQ
Q2,Q N2Q,Q!N1Q,Q!N1Q,Q"N1Q,Q#N11FDOvqVUOUQ59^tt^2UO[OUQ2U2PPP2JQ	P,Q$N1Q,Q%N1Q,Q&N1Q,Q'N11FDOvqVUOUQ59^tt^2UO[OUQ2U2PPP2JQ	P!)%fhJ�9h)%fhJz9h)(r�r��:+�(:+)�::s:a:b::c�:�:+�(:+)z(?::+)z(:)+z([b:]+)z(b)|(:+)z(?:b)|(?::+)z:*z(?::*)�(:*)z(:)*)�sep�\bz(?=:)z(?<=:))�r�rar<r�)r<r�rar�)r<r�r�r�rar5r�)rr\�br�c)rr\r=r>)rr6r\r6r=�::r>)uàßçuабвu𝒜𝒞𝒵)r<r�r�r�rar�r�)r<r�r�z:b::r�)
r<Nr�r�Nr�r<raNr<Nr5r�)r<r�r<r<r�)r<r<r�r<rar<r�r<)r<r�r<r<r�r�r<r<rar5r<r<r�r<r<)r<r�r<Nr�r�r<Nrar�r<Nr�Nr<)	r<r�r�r�rar�r�r�r<)r�r�r�rar5r�r<)r<z:az:br�z:c)r��a:zb:r�r�)	rr?rEr�r*r]r�r>rH)rrSr�rar�r:�expecteds&      r�
test_re_split�ReTests.test_re_split�s����9��-�F��!�!�"�(�(�3��"7�"9�
;��!�!�"�(�(�4��"8�"5�
7��!�!�"�(�(�6�6�":�"E�
G�.�"�1�Z�=�)�J�2G�!�*�-�/�F��!�!�"�(�(�4��"8�">�
@��!�!�"�(�(�5�&�"9�"9�
;��!�!�"�(�(�7�F�";�"L�
N�
/�:�G�A�!�%&��1�-�F����R�X�X�c�6�2�R��r�1�4E�F����R�X�X�d�F�3�b�!��]�C����R�X�X�f�f�5� �#�q�#�q�$��:�
<�:�	
������(�I�6�8K�L�������&�)�4�;�	=�������)�Y�7�4�	6�������*�i�8�+�	,�	
������.�)�<�/�	1��6�7�
�:�;�
�X�Y�
�_�`�	
�M�C����#��&�&��%�%�b�h�h�s�I�&>��I�'�&�

��<�=�
�7�8�
�2�3�
�3�4�	
�M�C����#��&�&��%�%�b�h�h�s�I�&>��I�'�&�

�'�&�&��'�&�&�s$�(M7	�(N	�7N
�N
�N
�N
c
��UO[29^tt^2oUO[OQQ]2,QN2PPP2UOWO
[2UO[OQQ]Q5,QN2UO[OQQ]Q5,QN2UO[OQQ]Q5,Q
N2UO[OQQ]Q5,Q
N2UO[OQQ]Q5,QN2UO[Q29^tt^2[OQQ]]Q5PPP2UO[Q29^tt^2[OQQ]]]Q	5PPP2UO[Q
29^tt^2[OQQ]]]2PPP2P!)%fhCK�9h)%fhK�9h)%fhKz9h)%fhP!9h)r�r�r�za:b:c:dz(:)r4r9z5split\(\) got multiple values for argument 'maxsplit'z2split\(\) got multiple values for argument 'flags'r�zAsplit\(\) takes from 2 to 4 positional arguments but 5 were given)r<r��b::c)r�razc:d)r<r�r�r�rE)r<r�r<r<za:b::c)	r�r�r>rEr�r�r�r�r�r�s& r�test_qualified_re_split�ReTests.test_qualified_re_split�s���
�
�
�0�
1�
1�Q����R�X�X�c�9�a�8�:K�L�2�������X�.�������#�y�1�=�?P�Q�������#�y�1�=�?P�Q�������%��Q�?�4�	6�������&�)�a�@�4�	6�������&�)�a�@�4�	6��
#�
#�I�H�J�J��H�H�S�)�Q��3�J��
#�
#�I�E�G�G��H�H�S�)�Q���3�G��
#�
#�I����
�H�H�S�)�Q��1�-���%2�
1�
1��J�J��G�G�����sG�+H�'H#�(H6�*I	�H 	�H 	�#H3	�,H3	�6I	�?I	�	I	�I	c�B�UO[OQQ2,2Q[Q21FD~oUO	[OQU2,QN2UO	[OQU2,QN2UO	[OQU2,QN2J�	Q[Q2[
Q2[Q21FD~oUO	[OQU2,QN2UO	[OQU2,QN2UO	[OQU2,QN2J�	QFD�oU]*oU]*oQ	U8Q
U8QU8Q0oUO[OQ
U*U2V#U,2UO[OQU*U2V#U,2UO[OQU8QU8Q0U2UP1V"1V#1,2J�	P!)r3r��
a:b::c:::dr4z(:)(:*)s
a:b::c:::dr7r8s(:)(:*)r�rar��dz%s+z(%s+)�(z)(z*)�r�r5z:::))r�r<)r�r�)r�r5)r6r?s:::))r6r)r6r6)r6r?r�)r>rErgrr?r*r]r�)rrSr9r�ros&    r�test_re_findall�ReTests.test_re_findall�s���������D�%�0�"�5�"�A�l�O�3�F��!�!�"�*�*�T�6�":�"4�
6��!�!�"�*�*�V�V�"<�"4�
6��!�!�"�*�*�Y��"?�"F�
H�4�%�a�
�&6�	�-�8P�!�-�0�2�F��!�!�"�*�*�U�F�";�"7�
9��!�!�"�*�*�W�f�"=�"7�
9��!�!�"�*�*�Z��"@�"L�
N�
2�2�A��Q��B��a�%�C�%&��C�0�F����R�Z�Z���	�6�:�Q�C�L�I����R�Z�Z��!��V�<�q�c�l�K����R�Z�Z�q�!�(<�f�E� �"�g��v��w�7�
9�
2rc�Z�UO[OQQ2,QN2P!)z(a|(b))�aba)�r�r<)rararQ�r>rErgrWs&r�test_bug_117612�ReTests.test_bug_117612�s ��������J��6�9�	;rc�
�Q[Q21FCDoUO[OQU2O	2Q
2UO[OQU2O	2Q2UO[OQU2O]2Q2UO[OQU2O]2Q2UO[OQU2O]]2Q2CJ	Q[
Q2[Q2[Q21FCDHoUO[OQU2O	2Q
2UO[OQU2O	2Q2UO[OQU2O]2Q2UO[OQU2O]2Q2UO[OQU2O]]2Q2UO[OQU2O]]2Q2CJK	QFCD.oUO[OV"2O	2Q
2UO[OQU*U2O	2U12UO[OQU*U2O]2U2UO[OQU*U2O]2U2UO[OQU*U2O]]2V"12CJ1	[OQ2oUOUOQ2O	2Q2UOUOQ2O	2Q2UOUOQ2O	2Q2UOUOQ2O	2Q2UOUOQ2O	P2Q2[OQ	2oUOUOQ2O]]]2Q2UOUOQ2OQ
QQ2Q2UOUOQ2O]Q]2Q2P!)r��(a)r\s(a)z(%s)z
((a)|(b))(c)?ra�ac�bc�!(?:(?P<a1>a)|(?P<b2>b))(?P<c3>c)?�a1�b2�c3r�r��r�r�)r\)r\r\r�)r�r�NN)raNraN)r�r�Nr�)raNrar�)rar<rar��r�NN)NraN)r�Nr�)rr>rErz�groupsr�r*r]r�r{rG)rrSr�r
s&   r�
test_re_match�ReTests.test_re_match�s����1�S�6�k�F����R�X�X�c�6�2�9�9�;�R�@����R�X�X�e�V�4�;�;�=�v�F����R�X�X�e�V�4�:�:�1�=�s�C����R�X�X�e�V�4�:�:�1�=�s�C����R�X�X�e�V�4�:�:�1�a�@�*�M�"��A�d�G�Y�t�_�j��6F�F�F����R�X�X�d�F�3�:�:�<�b�A����R�X�X�f�f�5�<�<�>��H����R�X�X�f�f�5�;�;�A�>��E����R�X�X�f�f�5�;�;�A�>��E����R�X�X�f�f�5�;�;�A�q�A�<�P����R�^�^�F�F�;�A�A�!�Q�G�)�
+�
G�2�A����R�X�X�a�^�2�2�4�b�9����R�X�X�f�q�j�!�4�;�;�=��t�D����R�X�X�f�q�j�!�4�:�:�1�=�q�A����R�X�X�f�q�j�!�4�:�:�1�=�q�A����R�X�X�f�q�j�!�4�:�:�1�a�@�1�&�I�2��j�j��)��������3��.�.�0�2H�I�������3��.�.�0�2H�I�������4��/�/�1�3H�I�������4��/�/�1�3H�I�������4��/�/��3�5H�I��j�j�<�=��������3��-�-�a��A�6�8I�J�������3��-�-�d�D�$�?�*�	,�������4��.�.�q�$��:�<L�Mrc�n�QQ2o[OQQ2oUOUO2Q2UOUO]2Q2UOUO]2Q2UOUOU]22Q2UO	[
UOP2UO	[
UO]2UO	[
UO]Q*2UO	[
UOU]Q*22UO	[
UOQ2UOUO]]2Q2UOUOU]2U]22Q2P!)c�.`�\sQsQsnQsQsQsUsP!)�!ReTests.test_group.<locals>.Index�#c��VmP!r��value)rris&&r�__init__�*ReTests.test_group.<locals>.Index.__init__$s��"�
rc��UO!rrhrWs&r�	__index__�+ReTests.test_group.<locals>.Index.__index__&s���z�z�!rrh)rr r!r"rjrmr#r$�r's@r�Indexre#s����
#�
"�
"rrpz(a)(b)rr���r9�rar�)rErzr>r�rDr))rrpr�s&  r�
test_group�ReTests.test_group"s8��	"�	"�
�H�H�X�t�$���������D�)���������T�*���������S�)��������q��*�C�0����*�a�g�g�r�2����*�a�g�g�q�1����*�a�g�g�q�$�w�7����*�a�g�g�u�Q��W�~�>����*�a�g�g�s�3��������A��
�3��������q��5��8�4�j�Arc���UQ2oUOUQ*Q2UOUQ*P2UOUQ*P2UOQOU2Q2UOU]*Q2UOU]*Q2UOU]*P2UOU]*P2UO[Q29^tt^2UQ*PPP2UO[Q29^tt^2UP*PPP2UO[Q29^tt^2U]*PPP2UO[Q29^tt^2UQ*PPP2UO[Q29^tt^2UQ
*PPP2UO[Q29^tt^2UQ*PPP2UO[Q29^tt^2QOU2PPP2UQ	2oUOUQ*Q2UOUQ*P2UOUQ*Q
2UOQOU2Q2UOU]*Q	2UOU]*Q2UOU]*P2UOU]*Q
2UO	[
29^tt^2]U]$PPP2UO	[
[U2P!)%fhCKY9h)%fhCK=9h)%fhCK!9h)%fhCK9h)%fhCK�9h)%fhCK�9h)%fhCK�9h)%fhK�9h)r�rZr[r\za1={a1} b2={b2} c3={c3}za1=a b2=None c3=Nonez
no such groupr�za1={a2}rWr�za1=a b2=None c3=cr�r�)r>�
format_mapr�r)rDr��len)r�match_fnr�s&& r�do_test_match_getitem�ReTests.do_test_match_getitem7s����S�M������4��#�&�����4��$�'�����4��$�'����2�=�=�a�@�BX�Y�����1��s�#�����1��s�#�����1��t�$�����1��t�$�
�
#�
#�J��
@�
@�
�c�F�A�
�
#�
#�J��
@�
@�
�b�E�A�
�
#�
#�J��
@�
@�
�a�D�A�
�
#�
#�J��
@�
@�
�d�G�A�
�
#�
#�J��
@�
@�
�d�G�A�
�
#�
#�J��
@�
@�
�f�I�A�
�
#�
#�J��
@�
@�� � ��#�A�
�T�N������4��#�&�����4��$�'�����4��#�&����2�=�=�a�@�BU�V�����1��t�$�����1��s�#�����1��t�$�����1��s�#��
�
�y�
)�
)��A�a�D�*�	
���)�S�!�,�=A�
@�
@��
@�
@�
@��
@�
@�
@��
@�
@�
@��
@�
@�
@��
@�
@�
@��
@�
@�
@��*�
)�s��8
M�(
M&�
M:�
N�8
N"�(
N6�O
�'O�M#	�M#	�&M7	�/M7	�:N	�N	�N	�N	�"N3	�+N3	�6O	�?O	�
O	�O	�O.	�'O.	c�j�[OQ2oUOUO2P!�rY)rErGryrzr	s& r�test_match_getitem�ReTests.test_match_getitemas#���j�j�<�=���"�"�3�9�9�-rc�j�[OQ2oUOUO2P!r|)rErGryr{r	s& r�test_prefixmatch_getitem� ReTests.test_prefixmatch_getitemes#���j�j�<�=���"�"�3�?�?�3rc	���UO[OQQ2O2Q2Q[	Q21FD8oUO[OQU2O2Q2J:	Q[Q2[
Q2[Q21FD8oUO[OQU2O2Q2J:	QFDOvq#U8QV#*80oUO[OVBU*2O2Q2JQ	UO[OQQ2O2Q2UO[OQQ2O2Q2UO[OQ	Q2O2Q2UO[OQ	Q
2O2Q2UO[OQ	Q2O2Q2UO[OQQ22UO[OQ
Q22UO[OQQ22UO[OQQ22UO[OQQ22UO[OQQ2O2Q2UO[OQQ2O2Q2UO[OQQ2O2Q2UO[OQ2OQ]]Q5O2Q2UO[OQ2OQ]]Q5O2Q2UO[OQ2OQ]]Q5O2Q2P!)r�rza|ab�absa|abr�z.*?$r�z.*?za.*?b�abb�axxbrqzabc$zabc
zabc\zzabc\Zz(?m)abc$z	ab(?=c)cd�abcdz
ab(?<=b)cdz
(?=a|ab)abrX�rJ�endposr�r�)uàßuабu𝒜𝒞rv�rr.rs)
r>rE�	fullmatchrxrr*r]r�ryrG)rrSr�ra�rs&    r�test_re_fullmatch�ReTests.test_re_fullmatchis(��������d�C�0�5�5�7��@��A�d�G�m�F����R�\�\�'�6�:�?�?�A�6�J�$��Q�u�X�y��'7��E�9J�J�F����R�\�\�(�F�;�@�@�B�F�K�K�F�D�A��q�u�%�A����R�\�\�!��U�3�8�8�:�F�C�G�	
������g�u�5�:�:�<�f�E�������f�e�4�9�9�;�V�D�������h��5�:�:�<�f�E�������h��6�;�;�=�v�F�������h��7�<�<�>��G����"�,�,�u�d�3�4����"�,�,�w��8�9����"�,�,�x��9�:����"�,�,�x��9�:����"�,�,�{�G�<�=�������l�F�;�@�@�B�F�K�������m�V�<�A�A�C�V�L�������m�T�:�?�?�A�6�J�����J�J�u��'�'��A�a�'�@�E�E�G��	Q�����J�J�w��)�)�&�a��)�B�G�G�I�6�	S�����J�J�v��(�(��Q�q�(�A�F�F�H�&�	Rrc�B�UO[OQQ2O2Q2UO[OQQ2O2Q2UO	[OQQ22UO	[OQQ22UO[OQQ2O2Q2UO[OQQ2O2Q2UO[OQQ2O2Q2UO[OQQ2O2Q2[O
Q	2oUOUOQ
2O2Q2UOUOQ2O2Q2UO	UOQ22UO	UOQ
22QO
Q[]]�222oQU*oUO[OUQ2O2Q2P!)z^(\()?([^()]+)(?(1)\))$rVr�za)z(az^(?:(a)|c)((?(1)b|d))$r�cdz^(?:(a)|c)((?(1)|d))$z(?P<g1>a)(?P<g2>b)?((?(g2)c|d))r��ad�abdrWr�c3�B�SF �DoQV1*w�	J	P!3hr�rr�s& rr�2ReTests.test_re_groupref_exists.<locals>.<genexpr>�rrz(?:%s)(?(200)z)r)rKr��Nr��r�ra)NrJrQ�r�rar�)r�NrJr)	r>rErzr`ryrGrrrx)r�pr
s&  r�test_re_groupref_exists�ReTests.test_re_groupref_exists�s���������"<�e�D�K�K�M�#�	%�������"<�c�B�I�I�K�$�	&����"�(�(�#=�t�D�E����"�(�(�#=�t�D�E�������":�D�A�H�H�J�#�	%�������";�T�B�I�I�K�$�	&�������":�D�A�H�H�J�$�	&�������":�C�@�G�G�I�"�	$�
�J�J�8�9����������.�.�0�(�	*���������-�-�/�)�	+����!�'�'�%�.�)����!�'�'�$�-�(��h�h�K��q�'�9J�K�K���#�%��������#�w�/�4�4�6��?rc��UOQQ]
2UOQQ]2UOQQ]2UOQQ]2UOQQ]2UOQ	Q
]2UOQQ]2UOQ
Q]2UOQQ]2UOQQ]2UOQQ]2UOQQ]
2UOQQ]
2UOQQ]2P!)z(?P<a>)(?(0)a|b)zbad group numberz()(?(-1)a|b)rz()(?(+1)a|b)r#r$z
()(?( 1 )a|b)r%u
()(?(㊀)a|b)r&u()(?(¹)a|b)r'u
()(?(१)a|b)r(z()(?(1rz()(?(1)a�"missing ), unterminated subpatternz
()(?(1)a|bz()(?(1)a|b|cz/conditional backref with more than two branchesz
()(?(1)a|b|c)z	()(?(2)a)r"z()()()()()()()()()()(?(1_0)a|b)rrWs&r�test_re_groupref_exists_errors�&ReTests.test_re_groupref_exists_errors�s@�����2�4F��K�����A�1�	F�����A�1�	F����8�B�B�	H����/�B�A�	G����/�B�A�	G�����A�1�	F����/�B�A�	G����y�=�q�	B����{�C�Q�	H����}�C�Q�	H����� .�/1�	3�	
���/� .�/1�	3�	
���|�:�A�	?rc	���[Q2FDCoUOUQ59^tt^2[OQU*2PPP2JE	P!)%fhJZ9h)�)�codez()(?(1)\x%02x?))rrHrErG�rr�s& r�&test_re_groupref_exists_validation_bug�.ReTests.test_re_groupref_exists_validation_bug�sE���s��A����1��%�%��
�
�-��1�2�&�%��%�%�%�s�A	�A(
� A(
c��]QHGoUOQQU*QQU*]2UOQU*QU*]
2P!)r)�	MAXGROUPSz()z\g<%s>r�zinvalid group reference %dz(?P<a>)(?(%d)))�
re._constantsr�rTrN)rr�s& r�test_re_groupref_overflow�!ReTests.test_re_groupref_overflow�sJ��+�����i�)�&;�T� <�y� H�!�	M����0�9�<�;�i�G��	Mrc�n�UO[OQQ2O2Q2UO[OQQ2O2Q
2UO	[OQQ22UO	[OQQ22UO[OQQ2O2Q2UO[OQQ	2O2Q2UOQ
Q]2P!)z^(\|)?([^()]+)\1$z|a|r�z^(\|)?([^()]+)\1?$za|z|az^(?:(a)|c)(\1)$�aaz^(?:(a)|c)(\1)?$r�z(abc\1)r)r�r�r�r^�NN)r>rErzr`ryrNrWs&r�test_re_groupref�ReTests.test_re_groupref�s���������"6��>�E�E�G�#�	%�������"7��=�D�D�F�$�	&����"�(�(�#7��>�?����"�(�(�#7��>�?�������"4�d�;�B�B�D�#�	%�������"5�s�;�B�B�D�%�	'�	
���z�+J�A�Nrc�z�UO[OQQ2O2QQQQ-2P!)�#(?P<first>first) (?P<second>second)�first second�first�second)r>rErz�	groupdictrWs&r�test_groupdict�ReTests.test_groupdict�s4��������"G�"0�2�2;�)�+�!�'�8�H�=�	?rc���UO[OQQ2OQ2Q2UO[OQQ2OQ2Q2P!)r�r�z\2 \1 \g<second> \g<first>zsecond first second firstz#(?P<first>first)|(?P<second>second)r�z
\2 \g<second>� )r>rErz�expandrWs&r�test_expand�ReTests.test_expand�s^��������"G�"0�2�#)�6�*G�#H�4�	6�	
������"G�")�+�#)�6�*:�#;��	rc�2	�UO[OQQ22UO[OQQ22UO[OQQ22UO[OQQ22UO[OQQ2O	]2Q2UO[OQQ2O	]2Q2UO[OQQ2O	]2Q2UO[OQ	Q2O	]2Q2UO[OQ
Q2O	]2Q2UO[OQQ2O	]2Q2UO[OQQ2O	]2Q2UO[OQ	Q2O	]2Q2UO[OQ
Q22UO[OQQ22UO[OQQ22UO[OQQ22UO[OQQ22UO[OQQ22UO[OQQ22UO[OQQ22UO[OQQ22UO[OQQ22UO[OQQ22UO[OQQ22UO[OQQ22UO[OQQ22UO[OQQ22UO
QQ]2P!)z	^(\w){1}$r�z
^(\w){1}?$z^(\w){1,2}$z^(\w){1,2}?$z	^(\w){3}$r�z^(\w){1,3}$z^(\w){1,4}$z^(\w){3,4}?$z
^(\w){3}?$z^(\w){1,3}?$z^(\w){1,4}?$z^x{1}$roz^x{1}?$z^x{1,2}$z	^x{1,2}?$z^x{3}$z^x{1,3}$z^x{3,3}$z^x{1,4}$z	^x{3,4}?$z^x{3}?$z	^x{1,3}?$z	^x{1,4}?$z^x{}$�x{}zx{2,1}z"min repeat greater than max repeat)ryrErzr>r��
assertTruerNrWs&r�test_repeat_minmax�ReTests.test_repeat_minmax�s�����"�(�(�<��7�8����"�(�(�=�%�8�9����"�(�(�>�5�9�:����"�(�(�?�E�:�;�������,��6�<�<�Q�?��E�������.�%�8�>�>�q�A�3�G�������.�%�8�>�>�q�A�3�G�������/�5�9�?�?��B�C�H�������-��7�=�=�a�@�#�F�������/�5�9�?�?��B�C�H�������/�5�9�?�?��B�C�H�������/�5�9�?�?��B�C�H����"�(�(�9�e�4�5����"�(�(�:�u�5�6����"�(�(�;��6�7����"�(�(�<��7�8��������E�2�3��������e�4�5��������e�4�5��������e�4�5��������u�5�6��������U�3�4��������u�5�6��������u�5�6��������u�5�6����"�(�(�8�U�3�4��������5�1�2����y�C�Q�	Hrc��UO[OQ2OQ2UO[OQ2O[O
[O*2UO[OQ2O]2UO[OQ2O-2UO[OQ2OQ]Q]-2UO[OQQ2O]2UO[OQQ2O]2UO[OQQ2OQ2UO[OQQ2OQ2UO[OQQ2O2[OQ2oUO[UO2QQ,2UOUOQ*]2UO!["29^tt^2]UOQ$PPP2UOUOQ*]2P!)%fhK59h)z
(?i)(a)(b)z(?i)(?P<first>a)(?P<other>b)r��otherrVr�)r�r�)r>rErGrCr�r��Ur`�
groupindexrzrJr�rS�regsr��sortedrDr�)rr�s& r�test_getattr�ReTests.test_getattrs���������L�1�9�9�<�H�������L�1�7�7��������E�������L�1�8�8�!�<�������L�1�<�<�b�A�������$B�C�N�N�!�1�g�q�1�	3�	
������%��-�1�1�1�5�������%��-�4�4�a�8�������%��-�4�4�c�:�������%��-�2�2�4D�E���������,�/�/�0�
�J�J�6�7���������-���/A�B�������g�.��2�
�
�
�y�
)�
)�$%�A�L�L��!�*�������g�.��2�*�
)�s�
K�K	�K	c�
�UO[OQQ2O]2Q2UO[OQQ2O]2Q2UO[OQQ[O2O]2Q2UO[OQQ[O2O]2Q2UO[OQQ[O
2O]2Q2UO[OQQ[O
2O]2Q2UO
[OQQ[O
22UO[OQ	Q[O
2O]2Q2UO
[OQ	Q[O
22UO[OQ
Q2O]2Q2UO[OQ
Q2O]2Q2UO[OQ
Q[O2O]2Q2UO[OQ
Q[O2O]2Q2UO[OQQ[O
2O]2Q2UO[OQQ[O
2O]2Q2UO
[OQQ[O
22UO[OQQ[O
2O]2Q2UO
[OQQ[O
22UO[OQQ2O]2Q2UO[OQQ2O]2Q2UO[OQQ[O2O]2Q2UO[OQQ[O2O]2Q2P!)z\b(b.)\bzabcd abc bcd bx�bxz\B(b.)\Bzabc bcd bc abxdz^abc$z
abc
r�z	^\Aabc\z$z	^\Aabc\Z$s\b(b.)\bsabcd abc bcd bxsbxs\B(b.)\Bsabc bcd bc abxds^abc$s
abc
�abcs	^\Aabc\z$s	^\Aabc\Z$z\d\D\w\W\s\Sz1aa! as\d\D\w\W\s\Ss1aa! a)r>rErwr��ASCII�Mry�LOCALErWs&r�test_special_escapes�ReTests.test_special_escapes(s���������;�#4�6�6;�e�A�h��	F�������;�#4�6�6;�e�A�h��	F�������;�#4�b�h�h�@�@E��a��$�	P�������;�#4�b�h�h�@�@E��a��$�	P�������8�Y����=�C�C�A�F��N�������<�����=�C�C�A�F��N����"�)�)�L�)�R�T�T�B�C�������<�����=�C�C�A�F��N����"�)�)�L�)�R�T�T�B�C�������<�#5�7�7<�u�Q�x��	H�������<�#5�7�7<�u�Q�x��	H�������<�#5�r�y�y�B�BG�%��(�E�	S�������<�#5�r�y�y�B�BG�%��(�E�	S�������9�j�"�$�$�?�E�E�a�H�&�Q�������=�&�"�$�$�?�E�E�a�H�&�Q����"�)�)�M�:�r�t�t�D�E�������=�&�"�$�$�?�E�E�a�H�&�Q����"�)�)�M�:�r�t�t�D�E�������?�#+�-�-2�U�1�X�x�	A�������#3�#,�.�.3�e�A�h�	�	C�������?�#+�R�X�X�7�7<�u�Q�x��	K�������#3�#,�b�i�i�9�9>��q��9�	Nrc
�r�UOQQ]2UO[OQQ2O	2Q2UO[OQQ22UO[OQQ2O	2Q2UO[OQQ2O	2Q2UO[OQQ22UO[OQ	Q
2O	2Q
2UO[OQ	Q22UO[OQQ
2O	2Q
2UO[OQQ22[O2QFD[oUOU29^tt^2UO[O[OQU*2PPP2J]	QFD[oUOU29^tt^2UO[O[OQU*2PPP2J]	P!)%fhJ�9h)%fhJ�9h)r�zbad escape (end of pattern)z\(rK�)r�z[\]]�]�[z[a\-c]�-raz[\^a]+za^� ceghijklmopqyCEFGHIJKLMNOPQRTVXYz\%c�$ceghijklmopqyzABCEFGHIJKLMNOPQRTVXYZz[\%c])rNr>rErzr�ry�purgerHrDrFrG)rr�s& r�test_other_escapes�ReTests.test_other_escapesLs������t�%B�A�F�������%��-�3�3�5�s�;����"�(�(�5�#�.�/�������%��.�4�4�6��=�������'�3�/�5�5�7��=����"�(�(�7�C�0�1�������)�S�1�7�7�9�3�?����"�(�(�9�c�2�3�������)�T�2�8�8�:�D�A����"�(�(�9�c�2�3�
���
�3�A����a����!�!�"�/�/�2�:�:�v��z�J�!��4�8�A����a����!�!�"�/�/�2�:�:�x�!�|�L�!��8�!����!���s$�*7J	�7J%	�J"
�J"
�%J6
�.J6
c��UO[OQQ22UO[OQQ22UO[OQQ22UO[OQQ22UO[OQQ22UO[OQQ	22UO[OQQ
22UO	QQ]2UO	Q
Q]2UO	QQ]2UO	QQ]2UO	QQ]2UO	QQ]2UO	QQ]2UO	QQ]2UO	QQ]2UO	QQ]2UO	QQ]2UO	QQ]2UO	QQ]2UO	QQ]2UO	QQ]2UO	Q Q!]2UO	Q"Q!]2P!)#z\N{LESS-THAN SIGN}�<z\N{less-than sign}�>z	\N{SNAKE}u🐍zW\N{ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM}uﯹz*[\N{LESS-THAN SIGN}-\N{GREATER-THAN SIGN}]�=�;z\Nz	missing {z[\N]z\N{zmissing character namez[\N{z\N{}z[\N{}]z\NSNAKE}z
[\NSNAKE}]z\N{SNAKEzmissing }, unterminated namez
[\N{SNAKE]z[\N{SNAKE]}z!undefined character name 'SNAKE]'z\N{SPAM}zundefined character name 'SPAM'z
[\N{SPAM}]z\N{KEYCAP NUMBER SIGN}z-undefined character name 'KEYCAP NUMBER SIGN'z[\N{KEYCAP NUMBER SIGN}]s\N{LESS-THAN SIGN}z
bad escape \Ns[\N{LESS-THAN SIGN}])r�rErzryrNrWs&r�test_named_unicode_escapes�"ReTests.test_named_unicode_escapes_s��������!6��<�=�������!6��<�=����"�(�(�#8�#�>�?��������|�<�=�������"Q�!)�+�	,�	
������!N�!$�&�	'����"�(�(�#P�#&�(�	)�	
���u�k�1�5����w��Q�7����v�'?��C����w�(@�!�D����w�(@�!�D����y�*B�A�F����{�K��;����}�k�1�=����{�=�q�	B����}�=�q�	B����~�B�A�	G����{�@�!�	E����}�@�!�	E����8�K�Q�	P����:�K�Q�	P����5�7G��K����7�9I�1�Mrc	�P)�UO[OQQ2O]2Q2UO[OQQ[O2O]2Q2UO[OQQ2O]2Q2UO[OQQ[O
2O]2Q2UO[OQQ2O]2Q2UO
[OQQ[O22UO[OQQ22UO[OQQ[O22UO[OQQ	22UO[OQQ	[O
22UO[OQQ
22UO
[OQQ
[O22UO[OQQ22UO[OQQ[O22UO[OQQ22UO[OQQ[O
22UO[OQQ
22UO
[OQQ
[O22UO
[OQQ22UO
[OQQ[O22UO
[OQQ22UO
[OQQ[O
22UO
[OQQ22UO
[OQQ[O22UO
[OQQ22UO
[OQQ[O22UO
[OQQ22UO
[OQQ[O
22UO
[OQQ22UO
[OQQ[O22UO
[OQQ	22UO
[OQQ	[O
22UO
[OQQ
22UO[OQQ
[O22UO
[OQQ22UO
[OQQ[O22UO
[OQQ22UO
[OQQ[O
22UO
[OQQ
22UO[OQQ
[O22UO[OQQ22UO[OQQ[O22UO[OQQ22UO[OQQ[O
22UO[OQQ22UO[OQQ[O22UO[OQQ22UO[OQQ[O22UO[OQQ22UO[OQQ[O
22UO[OQQ22UO[OQQ[O22UO[OQQ22UO[OQQ[O
22UO[OQQ22UO
[OQQ[O22UO[OQQ22UO[OQQ[O22UO[OQQ22UO[OQQ[O
22UO[OQQ22UO
[OQQ[O22UO[OQQ2O2Q$2UO[OQQ[O2O2Q$2UO[OQQ2O2Q$2UO[OQQ[O
2O2Q$2UO[OQQ2O2Q$2UO[OQQ[O2O2Q%2UO
[OQQ22UO
[OQQ[O22UO
[OQQ22UO
[OQQ[O
22UO
[OQQ22UO[OQQ[O22UO
[OQQ22UO
[OQQ[O22UO
[OQQ22UO
[OQQ[O
22UO
[OQQ22UO[OQQ[O22UO
[OQP22UO
[OQP[O22UO
[OQQ22UO
[OQQ[O
22UO[OQP22UO[OQP[O22UO[OQQ22UO[OQQ[O
22UO[[OQQ22]2UO[[OQQ[O22]2UO[[OQQ22]2UO[[OQQ[O
22]2UO[[OQQ22]2UO[[OQQ[O22]2UO[[OQQ22]2UO[[OQQ[O
22]2UO[[OQQ 22]2UO[[OQQ [O22]2UO[[OQQ!22]2UO[[OQQ![O
22]2UO[[OQQ"22]2UO[[OQQ"[O22]2UO[[OQQ#22]2UO[[OQQ#[O
22]2UO[[OQQ 22]2UO[[OQQ [O22]2UO[[OQQ!22]2UO[[OQQ![O
22]2P!)&z	\b(abc)\br�s	\b(abc)\br�u\b(ьюя)\buьюяz.\bza=s.\bsa=uя=z=as=au=яrr�uюяz=-s=-z.\Bs.\Br;s\bz.+\bs.+\b�\Bs\Bz.+\Bs.+\Brr�r\r�� z   s   �rtrtrr)
r>rErwr�r�r�ryr�rzr�rxrwrgrWs&r�test_word_boundaries�ReTests.test_word_boundaries�s���������<��7�=�=�a�@�%�H�������<�����A�G�G��J�E�R�������=�&�9�?�?��B�F�K�������=�&�"�)�)�D�J�J�1�M�v�V�������?�H�=�C�C�A�F��Q����"�)�)�O�X�r�x�x�H�I���������.�/���������r�x�x�8�9��������%�0�1��������%����;�<���������/�0����"�(�(�6�5�"�(�(�;�<���������.�/���������r�x�x�8�9��������%�0�1��������%����;�<���������/�0����"�(�(�6�5�"�(�(�;�<����"�(�(�6�4�0�1����"�(�(�6�4����:�;����"�(�(�7�E�2�3����"�(�(�7�E�2�9�9�=�>����"�(�(�6�6�2�3����"�(�(�6�6�2�8�8�<�=����"�(�(�6�4�0�1����"�(�(�6�4����:�;����"�(�(�7�E�2�3����"�(�(�7�E�2�9�9�=�>����"�(�(�6�4�0�1����"�(�(�6�4����:�;����"�(�(�7�E�2�3����"�(�(�7�E�2�9�9�=�>����"�(�(�6�5�1�2������������9�:����"�(�(�6�4�0�1����"�(�(�6�4����:�;����"�(�(�7�E�2�3����"�(�(�7�E�2�9�9�=�>����"�(�(�6�5�1�2������������9�:���������.�/���������r�x�x�8�9��������%�0�1��������%����;�<���������0�1������������:�;���������.�/���������r�x�x�8�9��������%�0�1��������%����;�<���������.�/���������r�x�x�8�9���������0�1������������;�<���������1�2����"�(�(�5�(�B�H�H�=�>�������W�e�4�5�������W�e�R�X�X�>�?�������X�v�6�7�������X�v�r�y�y�A�B�������W�h�7�8����"�)�)�E�8�R�X�X�>�?�������5�%�0�5�5�7��@�������5�%����:�?�?�A�6�J�������6�6�2�7�7�9�6�B�������6�6�2�9�9�=�B�B�D�f�M�������5�(�3�8�8�:�F�C�������5�(�B�H�H�=�B�B�D�f�M����"�(�(�5�%�0�1����"�(�(�5�%����:�;����"�(�(�6�6�2�3����"�(�(�6�6�2�9�9�=�>����"�(�(�5�(�3�4���������"�(�(�;�<����"�,�,�w��6�7����"�,�,�w��r�x�x�@�A����"�,�,�x��8�9����"�,�,�x�����C�D����"�,�,�w��9�:�������W�h����A�B����"�)�)�E�2�.�/����"�)�)�E�2�r�x�x�8�9����"�)�)�F�C�0�1����"�)�)�F�C����;�<�����	�	�%��,�-�����	�	�%��R�X�X�6�7�����	�	�&�#�.�/�����	�	�&�#�r�y�y�9�:�	
����R�Z�Z��s�3�4�a�8�����R�Z�Z��s�B�H�H�=�>��B�����R�Z�Z���5�6��:�����R�Z�Z���b�i�i�@�A�1�E�����R�Z�Z��s�3�4�a�8�����R�Z�Z��s�B�H�H�=�>��B�����R�Z�Z���5�6��:�����R�Z�Z���b�i�i�@�A�1�E�����R�Z�Z��s�3�4�a�8�����R�Z�Z��s�B�H�H�=�>��B�����R�Z�Z���5�6��:�����R�Z�Z���b�i�i�@�A�1�E�����R�Z�Z��u�5�6��:�����R�Z�Z��u�b�h�h�?�@�!�D�����R�Z�Z���7�8�!�<�����R�Z�Z����	�	�B�C�Q�G�����R�Z�Z��s�3�4�a�8�����R�Z�Z��s�B�H�H�=�>��B�����R�Z�Z���5�6��:�����R�Z�Z���b�i�i�@�A�1�Erc�@�UO[OQQ2O]2Q2QPO	[[[QQ]�222*oUO[OUQ2O2Q2P!)u
([∢∣])u∢z[%s]r�u!�)r>rErzr�r�mapr�r�rr�s& r�test_bigcharset�ReTests.test_bigcharsetst��������"4�"*�,�,1�E�!�H�h�	@��R�W�W�S��e�C���&<�=�>�>��������!�X�.�4�4�6��Arc���[OQOQ[Q2222oUO	UOQ22UO	UOQ22P!)r�c3�@�SF �DoQU*w�	J	P!3h)z%dr)r�r9s& rr�,ReTests.test_big_codesize.<locals>.<genexpr>s������A��a����s��'�1000�9999)rErGrrr�rzr�s& r�test_big_codesize�ReTests.test_big_codesizesK���J�J�s�x�x� >��u�� >�?�@����������(���������(rc��UO[OQQ[O2O	]2Q2UO[OQQ[O2O	]2Q2P!)za.bza
bza.*bza

b)r>rErz�DOTALLr�rWs&r�test_anyall�ReTests.test_anyalls`��������%�����;�A�A�!�D��	!�������&�(�B�I�I�>�D�D�Q�G�!�	#rc��UO[OQQ2O]2Q2UO[OQQ2O]2Q2UO[OQQ2O]2Q2UO[OQQ2O]2Q2UO[OQQ2O]2Q2UO[OQ	Q
2O]2Q2UO[OQQ2O]2Q2UO[OQQ2O]2Q2UO[OQ
Q2O]2Q2UO[OQQ2O]2Q2UO[OQQ2O]2Q2UO	[OQQ22UO[OQQ22UO	[OQQ22UO[OQQ22UO	[OQQ22UO[OQQ22UO	[OQQ22UO	[OQQ22UO[OQQ22UO	[OQQ22P!)z
(a(?=\s[^a]))�a br�z(a(?=\s[^a]*))z(a(?=\s[abc]))z(a(?=\s[abc]*))�a bcz(a)(?=\s\1)�a az(a)(?=\s\1*)�a aaz(a)(?=\s(abc|a))z
(a(?!\s[^a]))z(a(?!\s[abc]))za dz(a)(?!\s\1)z(a)(?!\s(abc|a))z(a)b(?=\1)arPz(a)b(?=\1)c�abacz(?:(a)|(x))b(?=(?(2)x|c))cr�z(?:(a)|(x))b(?=(?(2)c|x))cz(?:(a)|(x))b(?=(?(1)b|x))cz(?:(a)|(x))b(?=(?(1)c|x))cz(a)b(?=(?(2)x|c))(c)z(a)b(?=(?(2)b|x))(c)z(a)b(?=(?(1)c|x))(c))r>rErzr�r�ryrWs&r�test_lookahead�ReTests.test_lookaheads���������"2�E�:�@�@��C�S�I�������"3�U�;�A�A�!�D�c�J�������"3�U�;�A�A�!�D�c�J�������"4�f�=�C�C�A�F��L�������.�%�8�>�>�q�A�3�G�������/�6�:�@�@��C�S�I�������"5�u�=�C�C�A�F��L�������"2�E�:�@�@��C�S�I�������"3�U�;�A�A�!�D�c�J�������.�%�8�>�>�q�A�3�G�������"5�u�=�C�C�A�F��L�	
��������7�8����"�(�(�>�6�:�;�������!>��F�G����"�(�(�#@�%�H�I�������!>��F�G����"�(�(�#@�%�H�I�������!>��F�G�������!8�%�@�A����"�(�(�#:�E�B�C�������!8�%�@�Arc�R�UO[OQQ22UO[OQQ22UO[OQQ22UO[OQQ22UO[OQQ22UO[OQQ22UO[OQ	Q22UO[OQ
Q22UO[OQQ22UO[OQQ22UO[OQ
Q22UO[OQQ22UO[OQQ22UO	[O
[OQ2UO[OQQ22UO[OQQ22UO	[O
[OQ2UO	[O
[OQ2UO	[O
[OQ2UO	[O
[OQ2P!)z	ab(?<=b)cr�z	ab(?<=c)cz	ab(?<!b)cz	ab(?<!c)cz(a)a(?<=\1)c�aacz(a)b(?<=\1)a�abaaz(a)a(?<!\1)cz(a)b(?<!\1)az(?:(a)|(x))b(?<=(?(2)x|c))cz(?:(a)|(x))b(?<=(?(2)b|x))cz(?:(a)|(x))b(?<=(?(2)x|b))cz(?:(a)|(x))b(?<=(?(1)c|x))cz(?:(a)|(x))b(?<=(?(1)b|x))cz(a)b(?<=(?(2)b|x))(c)z(a)b(?<=(?(1)c|x))(c)z(a)b(?<=(?(1)b|x))(c)z(a)b(?<=(.)\2)(c)z(a)b(?<=(?P<a>.)(?P=a))(c)z(a)b(?<=(a)(?(2)b|x))(c)z(a)b(?<=(.)(?<=\2))(c))r�rErzryrDrFrGrWs&r�test_lookbehind�ReTests.test_lookbehind6s����������u�5�6����"�(�(�<��7�8����"�(�(�<��7�8��������u�5�6��������%�8�9����"�(�(�?�F�;�<����"�(�(�?�E�:�;��������&�9�:����"�(�(�#A�5�I�J����"�(�(�#A�5�I�J�������!?��G�H����"�(�(�#A�5�I�J�������!?��G�H����"�/�/�2�:�:�7O�P����"�(�(�#;�U�C�D�������!9�5�A�B����"�/�/�2�:�:�7K�L����"�/�/�2�:�:�7T�U����"�/�/�2�:�:�7R�S����"�/�/�2�:�:�7P�Qrc��UO[OQQ[O2O	]2Q2UO[OQQ[O2O	]2Q2UO[OQQ[O2O	]2Q2UO[OQQ[O2O	]2Q2UO[OQQ[O2O	]2Q2UO[OQ	Q[O2O	]2Q2UO[OQ
Q[O2O	]2Q2UO[OQQ
[O2O	]2Q
2UO[OQQ[O2O	]2Q2UO[OQQ
[O2O	]2Q
2UO[OQQ[O22UO[OQQ[O22UO[OQQ[O22UO[OQQ[O22UO[OQQ[O22UO[OQQ[O22UO[OQQ[O22UO[OQQ[O22UO[OQQ[O22UO[OQQ[O22UO[OQQ[O22UO[OQQ[O22UO[OQQ[O22UO[OQQ[O22UO[OQQ[O22UO[OQ Q![O22P!)"r��ABCr�sABCz	(a\s[^a])r�z
(a\s[^a]*)za bbz
(a\s[abc])z(a\s[abc]*)z	((a)\s\2)r�z
((a)\s\2*)r�z((a)\s(abc|a))z((a)\s(abc|a)*)�K�K�kz\u212ar�ſrhz\u017fz\u0412�в�ᲀz\u0432�Вz\u1c80z\ufb05�stz\ufb06�ſt)r>rErzr�r�r�rWs&r�test_ignore_case�ReTests.test_ignore_casePs���������%�����5�;�;�A�>��F�������&�&�"�$�$�7�=�=�a�@�&�I�������,��r�t�t�<�B�B�1�E�u�M�������-�����>�D�D�Q�G��P�������-�����=�C�C�A�F��N�������.�&�"�$�$�?�E�E�a�H�&�Q�������,��r�t�t�<�B�B�1�E�u�M�������-�����>�D�D�Q�G��P�������"3�U�B�D�D�A�G�G��J�E�R�������"4�f�b�d�d�C�I�I�!�L�f�U�	
�������x����6�7��������x����6�7��������C����6�7��������C����6�7�	
�������x����6�7��������x����6�7��������C����6�7��������C����6�7�	
�������H�b�d�d�;�<��������H�b�d�d�;�<��������H�b�d�d�;�<��������H�b�d�d�;�<��������H�b�d�d�;�<��������H�b�d�d�;�<�	
�������H�b�d�d�;�<��������H�b�d�d�;�<rc���UO[OQQ[O22UO[OQQ[O22UO[OQQ[O22UO[OQQ[O22UO[OQQ[O22UO[OQQ[O22UO[OQQ[O22UO[OQQ[O22UO[OQQ	[O22UO[OQQ
[O22UO[OQQ	[O22UO[OQQ
[O22UO[OQQ
[O22UO[OQQ[O22UO[OQQ
[O22UO[OQQ[O22UO[OQQ[O22UO[OQQ[O22UO[OQQ[O22UO[OQQ[O22UO[OQQ[O22UO[OQQ[O22UO[OQQ[O22UO[OQQ[O22UO[OQQ[O[O*22UO[OQQ[O[O*22UO[OQQ[O[O*22UO[OQQ[O[O*22UO[OQQ	[O[O*22UO[OQQ
[O[O*22UO[OQQ	[O[O*22UO[OQQ
[O[O*22UO[OQQ
[O[O*22UO[OQQ[O[O*22UO[OQQ
[O[O*22UO[OQQ[O[O*22UO[OQQ[O[O*22UO[OQQ[O[O*22UO[OQQ[O[O*22UO[OQQ[O[O*22UO[OQQ[O22UO[OQQ[O22UO[OQQ[O22UO[OQQ[O22UO[OQQ[O22UO[OQQ[O22UO[OQQ[O22UO[OQQ[O22UO[OQ Q![O22UO[OQ Q"[O22UO[OQ#Q$[O22UO[OQ#Q"[O22UO[OQ%Q$[O22UO[OQ%Q![O22UO[OQ&Q'[O22UO[OQ(Q)[O22P!)*z[19A]r�z[19a]r�s[19A]�As[19a]r\z[19\xc7]�Ç�çz[19\xe7]z
[19\u0400]�Ѐ�ѐz
[19\u0450]z[19\U00010400]�𐐀�𐐨z[19\U00010428]z[19K]r	z[19k]z
[19\u212a]rr
z[19S]rz[19s]z
[19\u017f]rrhz
[19\u0412]rr
z
[19\u0432]rz
[19\u1c80]z
[19\ufb05]rz
[19\ufb06]r)r�rErzr�r�ryrWs&r�test_ignore_case_set�ReTests.test_ignore_case_setxs����������3����5�6��������3����5�6��������3����5�6��������3����5�6��������D�"�$�$�7�8��������D�"�$�$�7�8��������D�"�$�$�7�8��������D�"�$�$�7�8��������f�b�d�d�;�<��������f�b�d�d�;�<��������f�b�d�d�;�<��������f�b�d�d�;�<���������"�$�$�?�@���������"�$�$�?�@���������"�$�$�?�@���������"�$�$�?�@�������!2�L�"�$�$�G�H�������!2�L�"�$�$�G�H�������!2�L�"�$�$�G�H�������!2�L�"�$�$�G�H��������D�"�$�$�7�8��������D�"�$�$�7�8��������D�"�$�$�7�8��������D�"�$�$�7�8��������3����R�T�T�	�:�;��������3����R�T�T�	�:�;��������3����R�T�T�	�:�;��������3����R�T�T�	�:�;��������f�b�d�d�2�4�4�i�@�A����"�(�(�;�����R�T�T�	�B�C����"�(�(�;�����R�T�T�	�B�C��������f�b�d�d�2�4�4�i�@�A���������"�$�$�r�t�t�)�D�E����"�(�(�=�(�B�D�D����I�F�G����"�(�(�=�(�B�D�D����I�F�G���������"�$�$�r�t�t�)�D�E�������!2�L�"�$�$�r�t�t�)�L�M����"�(�(�#4�l�B�D�D����I�N�O����"�(�(�#4�l�B�D�D����I�N�O�������!2�L�"�$�$�r�t�t�)�L�M�	
�������8�R�T�T�:�;��������8�R�T�T�:�;���������R�T�T�:�;���������R�T�T�:�;�	
�������8�R�T�T�:�;��������8�R�T�T�:�;���������R�T�T�:�;���������R�T�T�:�;�	
��������"�$�$�?�@���������"�$�$�?�@���������"�$�$�?�@���������"�$�$�?�@���������"�$�$�?�@���������"�$�$�?�@�	
��������"�$�$�?�@���������"�$�$�?�@rc��UO[OQQ[O22UO	[OQQ[O22UO[OQQ[O22UO	[OQQ[O22UO[OQQ[O22UO[OQQ[O22UO	[OQQ	[O22UO[OQ
Q	[O22UO[OQ
Q[O22UO	[OQ
Q[O22UO[OQQ
[O22UO[OQQ[O22UO[OQQ
[O22UO[OQQ[O22UO[OQQ[O22UO[OQQ[O22UO[OQQ[O22UO[OQQ[O22UO[OQQ[O[O
*22UO	[OQQ[O[O
*22UO[OQ
Q	[O[O
*22UO	[OQ
Q[O[O
*22UO[OQQ
[O[O
*22UO	[OQQ[O[O
*22UO	[OQQ
[O[O
*22UO[OQQ[O[O
*22UO[OQQ[O[O
*22UO	[OQQ[O[O
*22UO	[OQQ[O[O
*22UO[OQQ[O[O
*22UO[OQQ[O[O
*22UO[OQQ[O[O
*22UO[OQQ[O[O
*22UO[OQQ[O[O
*22UO[OQQ[O[O
*22UO[OQQ[O[O
*22UO[OQQ[O22UO[OQQ[O22UO[OQQ [O22UO[OQQ![O22UO[OQ"Q#[O22UO[OQ$Q#[O22UO[OQ%Q&[O22UO[OQ%Q'[O22UO[OQ(Q)[O22UO[OQ(Q*[O22UO[OQ+Q,[O22UO[OQ+Q*[O22UO[OQ-Q,[O22UO[OQ-Q)[O22UO[OQ.Q/[O22UO[OQ0Q1[O22P!)2z[9-a]�_z[9-A]s[9-a]�_s[9-A]z[\xc0-\xde]�×r�÷z[\xe0-\xfe]rz[\u0430-\u045f]rrz[\u0400-\u042f]z[\U00010428-\U0001044f]rrz[\U00010400-\U00010427]z[N-\x7f]r�z[n-\x7f]�Zz
[N-\uffff]z
[n-\uffff]z[N-\U00010000]z[n-\U00010000]z[J-M]r	z[j-m]z[\u2129-\u212b]rr
z[R-T]rz[r-t]z[\u017e-\u0180]rrhz[\u0411-\u0413]rr
z[\u0431-\u0433]rz[\u1c80-\u1c82]z[\ufb04-\ufb05]rz[\ufb06-\ufb07]r)r�rErzr�ryr�rWs&r�test_ignore_case_range�ReTests.test_ignore_case_range�s����������3����5�6����"�(�(�8�S�"�$�$�7�8��������D�"�$�$�7�8����"�(�(�9�d�B�D�D�9�:������������>�?������������>�?����"�(�(�>�6�2�4�4�@�A������������>�?������������>�?����"�(�(�>�6�2�4�4�@�A�������!3�X�r�t�t�D�E�������!3�X�r�t�t�D�E�������!3�X�r�t�t�D�E�������!3�X�r�t�t�D�E�������!;�\�2�4�4�P�Q�������!;�\�2�4�4�P�Q�������!;�\�2�4�4�P�Q�������!;�\�2�4�4�P�Q������������b�d�d��C�D����"�(�(�>�6�2�4�4����9�E�F������������b�d�d��C�D����"�(�(�>�6�2�4�4����9�E�F�������!3�X�r�t�t�B�D�D�y�I�J����"�(�(�#5�x����b�d�d��K�L����"�(�(�#5�x����b�d�d��K�L�������!3�X�r�t�t�B�D�D�y�I�J�������!;�\�2�4�4�PR�PT�PT�9�U�V����"�(�(�#=�|�R�T�T�RT�RV�RV�Y�W�X����"�(�(�#=�|�R�T�T�RT�RV�RV�Y�W�X�������!;�\�2�4�4�PR�PT�PT�9�U�V��������c�2�4�4����9�=�>��������c�2�4�4����9�=�>���������R�T�T�"�$�$�Y�?�@���������R�T�T�"�$�$�Y�?�@�������!2�C����b�d�d��C�D�������!2�C����b�d�d��C�D�	
�������8�R�T�T�:�;��������8�R�T�T�:�;�������!3�S�"�$�$�?�@�������!3�S�"�$�$�?�@�	
�������8�R�T�T�:�;��������8�R�T�T�:�;�������!3�S�"�$�$�?�@�������!3�S�"�$�$�?�@�	
������!3�X�r�t�t�D�E�������!3�X�r�t�t�D�E�������!3�X�r�t�t�D�E�������!3�X�r�t�t�D�E�������!3�X�r�t�t�D�E�������!3�X�r�t�t�D�E�	
������!3�X�r�t�t�D�E�������!3�X�r�t�t�D�Erc�t�UO[OQQ2O]2Q2P!)z(\s)r��r>rErzr�rWs&r�
test_category�ReTests.test_categorys(��������'�3�/�5�5�a�8�#�>rc���UO[OQQ2O]2Q2UO[OQQ2O]2Q2P!)z\s([^a])� braz	\s([^a]*)z bb�bb�r>rErwr�rWs&r�test_not_literal�ReTests.test_not_literalsN��������;��5�;�;�A�>��D�������<��7�=�=�a�@�$�Grc�`�[[]�22O2oUO[Q29^tt^2o[
OQ2oPPP2UOWO[2UOWOU2[Q22UO[Q29^tt^2oUO[
OQU2[Q22PPP2UOUO[2UO[
OQU2[Q22UO[Q29^tt^2o[
OQ2oPPP2UOUO[2UOUOU2[Q22UO[Q	29^tt^2o[
OQ
2oPPP2UOUO[2UOUOU2[Q22UO[Q29^tt^2o[
OQ
2oPPP2UOUO[2UOUOU2[Q22UO[Q29^tt^2oUO[
OQU2[Q22PPP2UOUO[2UO[Q29^tt^2o[
OQ2oPPP2UOUO[2UOUOU2[Q22UO[
OQU2[Q22UO[Q29^tt^2o[
OQ2oPPP2UOUO[2UOUOU2[Q22UO[Q29^tt^2o[
OQ2oPPP2UOUO[2UOUOU2[Q22UO[
OQU2[Q22UO[Q29^tt^2o[
OQ2oPPP2UOUO[2UOUOU2[Q22UO[Q29^tt^2o[
OQ2oPPP2UOUO[2UOUOU2[Q22UO[
OQU2[Q22UO[Q 29^tt^2o[
OQ!2oPPP2UOUO[2UOUOU2[Q"22UO[Q 29^tt^2oUO[
OQ#U2[Q$22PPP2UOUO[2UO[Q 29^tt^2o[
OQ%2oPPP2UOUO[2UOUOU2[Q&22P!)%fhCK�9h)%fhCK;9h)%fhCK�9h)%fhCKO9h)%fhCK�9h)%fhCKO9h)%fhCK9h)%fhCKc9h)%fhCK�9h)%fhCKM9h)%fhCK�9h)%fhCK79h)%fhCK�9h)%fhCKa9h)'�zPossible set differencez[0-9--1]z
-./0123456789z[0-9--2]z[--1]z-./01z[%--1]z
%&'()*+,-1zPossible set difference z[%--]z	%&'()*+,-zPossible set intersection z[0-9&&1]z&0123456789z[0-8&&1]z
&012345678z[\d&&1]z[&&1]z&1zPossible set union z[0-9||a]z0123456789a|z[\d||a]z[||1]z1|z"Possible set symmetric difference z[0-9~~1]z0123456789~z[\d~~1]z[~~1]z1~zPossible nested set z[[0-9]|]z0123456789[]z[[0-8]|]z012345678[]z[[:digit:]|]z:[]dgit)�bytesr�decode�assertWarnsRegex�
FutureWarningrErGr>r�r�rgr3)rrhr�r�s&   r�test_possible_set_operations�$ReTests.test_possible_set_operationss-���%��*��$�$�&��
�
"�
"�=�2K�
L�
L�PQ��
�
�;�'�A�M�������X�.�������1��t�O�'<�=�
�
"�
"�=�2K�
L�
L�PQ����R�Z�Z��Q�7��o�9N�O�M�������X�.�������H�a�0�$�w�-�@�
�
"�
"�=�2K�
L�
L�PQ��
�
�9�%�A�M�������X�.�������1��t�L�'9�:�
�
"�
"�=�2L�
M�
M�QR��
�
�8�$�A�N�������X�.�������1��t�K�'8�9�
�
"�
"�=�2N�
O�
O�ST��
�
�;�'�A�P�������X�.�������1��t�M�':�;�
�
"�
"�=�2N�
O�
O�ST����R�Z�Z��Q�7��l�9K�L�P�������X�.�
�
"�
"�=�2N�
O�
O�ST��
�
�:�&�A�P�������X�.�������1��t�M�':�;�������H�a�0�$�t�*�=�
�
"�
"�=�2G�
H�
H�A��
�
�;�'�A�I�������X�.�������1��t�N�';�<�
�
"�
"�=�2G�
H�
H�A��
�
�:�&�A�I�������X�.�������1��t�N�';�<�������H�a�0�$�t�*�=�
�
"�
"�=�2V�
W�
W�[\��
�
�;�'�A�X�������X�.�������1��t�M�':�;�
�
"�
"�=�2V�
W�
W�[\��
�
�:�&�A�X�������X�.�������1��t�M�':�;�������H�a�0�$�t�*�=�
�
"�
"�=�2H�
I�
I�Q��
�
�;�'�A�J�������X�.�������1��t�N�';�<�
�
"�
"�=�2H�
I�
I�Q����R�Z�Z��Q�7��m�9L�M�J�������X�.�
�
"�
"�=�2H�
I�
I�Q��
�
�?�+�A�J�������X�.�������1��t�I��7�MM�
L�
L��M�
L�
L��M�
L�
L��
N�
M�
M��
P�
O�
O��P�
O�
O��P�
O�
O��I�
H�
H��
I�
H�
H��X�
W�
W��
X�
W�
W��J�
I�
I��J�
I�
I��J�
I�
I�s��`�	1`,�0a�7a�>a(�1a<�<b�3b$�:b8�1c�8c �/c4�61d�-d�`)	�!`)	�,`=	�5`=	�a	�	a	�a%	�a%	�(a9	�1a9	�<b
	�b
	�b!	�b!	�$b5	�-b5	�8c		�c		�c	�c	� c1	�)c1	�4d	�=d	�d	�d	�d-	�%d-	c���UO[OQQ2O]2Q2UO[OQQ2O]2Q2P!)z\s(b)r*raza\sza r,rWs&r�test_search_coverage�ReTests.test_search_coverageUsN��������8�T�2�8�8��;�S�A�������6�4�0�6�6�q�9�4�@rc��UeUeSo][U21oLUdUe[Q2gUV2oUOU2UOUO	2U2UOUO2U2P!)Nz@If match is not None, span should be specified (and vice versa).)rwr�r�r>r�rx)rrC�textrzrx�matcherr�s&&&&&& r�assertMatch�ReTests.assertMatchYsz���=�T�\��E��s�4�y�>�D�
�]�d�l��1�2�
2��G�"��������������E�*��������4�(rz!"%',/:;<=>@_`c��POQ[Q222oSFD�oUO[OU2U2UOQ[OU2*Q*U2UOQ[OU2*U2J�	UO[OU2U2QFD0oUO[OU2Q*Q2J2	UOoUO[OU2U2P!)	r<c3�D�SF �Do[U2w�	J	P!3hr)r�r�s& rr�)ReTests.test_re_escape.<locals>.<genexpr>js��J���J�q�C��F�F�J�s� r�r�r�z(?x)z-.]{}�NrtNr�)rrr=rE�escaper>�
LITERAL_CHARS)rr�r��
literal_charss&   r�test_re_escape�ReTests.test_re_escapeis����G�G�/�E�#�J�/�/���A����R�Y�Y�q�\�1�-����S�2�9�9�Q�<�/�#�5�q�9����V�b�i�i��l�2�A�6��	
������1��q�)��A����R�Y�Y�q�\�"�-�t�4���*�*�
�������=�1�=�Arc��[[Q22oSFD�o[U,2oUO[OU2U2UOQ[OU2*Q*U2UOQ[OU2*U2J�	UO[OU2U2QFD<o[U,2oUO[OU2Q*Q2J>	UOOQ2oUO[OU2U2P!)r��[�]s(?x)s-.]{}rB�\�ascii)r1rr=rErCr>rD�encode)rr�r�rarEs&    r�test_re_escape_bytes�ReTests.test_re_escape_bytesus����%��*����A��q�c�
�A����R�Y�Y�q�\�1�-����T�B�I�I�a�L�0�4�7��;����W�r�y�y��|�3�Q�7�	�
	
������1��q�)��A��q�c�
�A����R�Y�Y�q�\�"�-�u�5���*�*�1�1�'�:�
�������=�1�=�Arc��Qo[OU2oUOV!2UOV!2UOQ[OQ2*UQQ[O2P!)uxxx☠☠☠xxxz.%s+.�☠ux☠☠☠x)r��)rErCr>r=rw)rrh�	s_escapeds&  r�test_re_escape_non_ascii� ReTests.test_re_escape_non_ascii�s\��&���I�I�a�L�	�����&�����&�����2�9�9�X�#6�6��/�����	Drc�D�QOQ2o[OU2oUOV!2UO	V!2[O
[OQOQ22U2oUO[
U2]2P!)u	y☠y☠yzutf-8rQ)rMrErCr>r=rgrw)rra�	b_escaped�ress&   r�test_re_escape_non_ascii_bytes�&ReTests.test_re_escape_non_ascii_bytes�sq���$�$�W�-���I�I�a�L�	�����&�����&��j�j����8�?�?�7�#;�<�a�@������S��1�%rc��]PHo[OQ[O2o[	UO
]*2FD6oUO
V#2oUOU2oUOVR2J8	]QHG	oP!)rza(?:b|(c|e){1,2}?|d)+?(.))�_compile)
�picklerErG�UNICODEr�HIGHEST_PROTOCOL�dumps�loadsr>r\)rr]�oldpat�proto�pickled�newpatr\s&      r�
test_pickling�ReTests.test_pickling�sc������7����D���6�2�2�Q�6�7�E��l�l�6�1�G��\�\�'�*�F����V�,�8�
	 rc�f�]PHo[OQ2oUOUOU2U2UOUO	U2U2UOQ2oUOUOU2U2UOUO	U2U2P!)rz (?P<int>\d+)(?:\.(?P<frac>\d*))?z12.34)�copyrErGr5�deepcopyrz)rrir�r�s&   r�test_copying�ReTests.test_copying�s|����J�J�:�;���
�
�d�i�i��l�A�&��
�
�d�m�m�A�&��*�
�G�G�G����
�
�d�i�i��l�A�&��
�
�d�m�m�A�&��*rc���UO[O[O2UO[O[O
2UO[O[O2UO[O[O2UO[O[O2P!r)r>rEr��
IGNORECASE�Lr�r��	MULTILINErr�r��VERBOSErWs&r�test_constants�ReTests.test_constants�sz��������r�}�}�-�������r�y�y�)�������r�|�|�,�������r�y�y�)�������r�z�z�*rc�0�[O[O[O[O[O
[O1FD)oUO[OQU22J+	[O[O[O[O[O
[O1FD)oUO[OQU22J+	P!)z	^pattern$s	^pattern$)
rEr�r�r�rr�r�r�rGro)r�flags& r�
test_flags�ReTests.test_flags�s����T�T�2�4�4����r�t�t�R�T�T�2�4�4�8�D��O�O�B�J�J�{�D�9�:�9��T�T�2�4�4����r�t�t�R�T�T�2�4�4�8�D��O�O�B�J�J�|�T�:�;�9rc
�D�Q)FCD�oUQ6CcaUO[OQU*[U222UO[OQU*[U2Q*22UO[OQU*[U2Q*22UO[OQU*[U222UO[OQ	U*[U2Q*22UO[OQ
U*[U2Q*22UQ6c�UO[OQU*[U222UO[OQ
U*[U2Q*22UO[OQU*[U2Q*22UO[OQU*[U222UO[OQU*[U2Q*22UO[OQU*[U2Q*22CJ�	UO[OQQ22UO[OQQ22UO[OQQ22UO[OQQ22UO	QQ]2UO	QQ]2UO	QQ]2UO	Q Q]2UO	Q!Q"]2UO	Q#Q"]2UO	Q$Q%]2UO	Q&Q%]2UO	Q'Q(]2P!)*rr�r��\%03o�\%03o0�0�\%03o8�8�\x%02x�\x%02x0�\x%02xz�zz\u%04xz\u%04x0z\u%04xzz\U%08xz\U%08x0z\U%08xzr�r�r�r�z\01r�z\018z8z\567�0octal escape value \567 outside of range 0-0o377z\911�invalid group reference 91z\x1�incomplete escape \x1z\x1zz\u123�incomplete escape \u123z\u123zz	\U0001234�incomplete escape \U0001234z
\U0001234zz
\U00110000�bad escape \U00110000�r��� �@�r0�r��r�i���r�rErzr�rNr�s& r�test_sre_character_literals�#ReTests.test_sre_character_literals�s���R�A��3�w��������A��s�1�v� >�?��������Q���A��s�
� C�D��������Q���A��s�
� C�D��������Q���A�� ?�@��������a���Q���� D�E��������a���Q���� D�E��7�{��������Q���A�� ?�@��������a���Q���� D�E��������a���Q���� D�E��O�O�B�H�H�Y��]�C��F�;�<��O�O�B�H�H�Z�!�^�S��V�C�Z�@�A��O�O�B�H�H�Z�!�^�S��V�C�Z�@�A�S�	
��������/�0���������1�2���������0�1��������'�2�3����w� 0�12�	4�	
���w�(D�a�H����v�'?��C����w�(@�!�D����x�)C�Q�G����y�*D�a�H����|�-K�Q�O����}�.L�a�P����}�.F��Jrc
�r�Q!FCDoUQ6Cc�UO[OQU*[U222UO[OQU*[U222UO[OQU*[U222UO[OQU*[U222UO[OQU*[U222UO[OQU*[U222UO[OQ	U*[U222UO[OQ
U*[U222UQ6c�UO[OQU*[U222UO[OQU*[U222UO[OQ
U*[U222UO[OQU*[U222UO[OQU*[U2Q*22UO[OQU*[U2Q*22CJ	UO	QQ]2UO	QQ]2UO	QQ]2UO	QQ]2UO	QQ]2UO	QQ]2UO[OQQ 22P!)"rr�r��[\%o]�[\%o8]�[\%03o]�[\%03o0]�[\%03o8]�[\x%02x]�	[\x%02x0]�	[\x%02xz]z[\u%04x]z	[\u%04x0]z	[\u%04xz]z[\U%08x]z	[\U%08x0]r{z	[\U%08xz]r�z[\567]r�z[\911]�
bad escape \9z[\x1z]r�z[\u123z]r�z[\U0001234z]r�z[\U00110000]r�z[\U0001d49c-\U0001d4b5]u𝒞r�r�r�s& r�!test_sre_character_class_literals�)ReTests.test_sre_character_class_literals�so��R�A��3�w��������A��s�1�v� >�?��������Q���A�� ?�@��������a���Q�� @�A��������q��#�a�&� A�B��������q��#�a�&� A�B��������q��#�a�&� A�B���������)9�3�q�6� B�C���������)9�3�q�6� B�C��7�{��������q��#�a�&� A�B���������)9�3�q�6� B�C���������)9�3�q�6� B�C��O�O�B�H�H�[�1�_�c�!�f�=�>��O�O�B�H�H�\�A�%5�s�1�v�c�z�B�C��O�O�B�H�H�\�A�%5�s�1�v�c�z�B�C�!S�"	
���y� 0�12�	4�	
���y�*:�A�>����y�*B�A�F����{�,F��J�����0N�PQ�R�����0H�!�L�������!;�\�J�Krc
��QFCD�oUO[OQU*O2[	U,222UO[OQU*O2[	U,2Q*22UO[OQU*O2[	U,2Q*22UO[OQU*O2[	U,222UO[OQU*O2[	U,2Q*22UO[OQU*O2[	U,2Q	*22CJ�	UO[O[OQ
2UO[O[OQ2UO[OQQ
22UO[OQQ22UO[OQQ22UO[OQQ22UOQQ]2UOQQ]2UOQQ]2UOQQ]2P!)rryrz�0r|�8r~rr��zs\u1234s
\U00012345s\0�s\08s8s\01�s\018s8s\567r�s\911r�s\x1r�s\x1z�rr�r�r�r�r�r0r��	r�rErzrMr1rDrFrGrNr�s& r�test_sre_byte_literals�ReTests.test_sre_byte_literals�s���2�A��O�O�B�H�H�h��l�%:�%:�%<�e�Q�C�j�I�J��O�O�B�H�H�i�!�m�%;�%;�%=�u�a�S�z�$��O�P��O�O�B�H�H�i�!�m�%;�%;�%=�u�a�S�z�$��O�P��O�O�B�H�H�i�!�m�%;�%;�%=�u�a�S�z�J�K��O�O�B�H�H�j�1�n�%<�%<�%>��q�c�
�4��P�Q��O�O�B�H�H�j�1�n�%<�%<�%>��q�c�
�4��P�Q�
3�	
���"�/�/�2�:�:�z�B����"�/�/�2�:�:�~�F���������1�2��������(�3�4��������'�2�3��������8�4�5����x� 0�12�	4�	
���x�)E�q�I����w�(@�!�D����x�)A�1�Erc
��QFCD,oUO[OQU*O2[	U,222UO[OQU*O2[	U,222UO[OQU*O2[	U,222UO[OQU*O2[	U,222UO[OQU*O2[	U,222UO[OQU*O2[	U,222UO[OQU*O2[	U,222UO[OQU*O2[	U,222CJ/	UO[O[OQ	2UO[O[OQ
2UOQQ]2UOQ
Q]2UOQQ]2P!)rr�r�r�r�r�r�r�r�s[\u1234]s[\U00012345]s[\567]r�s[\911]r�s[\x1z]r�r�r�r�s& r�test_sre_byte_class_literals�$ReTests.test_sre_byte_class_literalss���2�A��O�O�B�H�H�h��l�%:�%:�%<�e�Q�C�j�I�J��O�O�B�H�H�i�!�m�%;�%;�%=�u�a�S�z�J�K��O�O�B�H�H�j�1�n�%<�%<�%>��q�c�
�K�L��O�O�B�H�H�k�A�o�%=�%=�%?���s��L�M��O�O�B�H�H�k�A�o�%=�%=�%?���s��L�M��O�O�B�H�H�k�A�o�%=�%=�%?���s��L�M��O�O�B�H�H�l�Q�&6�%>�%>�%@�%���*�M�N��O�O�B�H�H�l�Q�&6�%>�%>�%@�%���*�M�N�3�	
���"�/�/�2�:�:�|�D����"�/�/�2�:�:�7G�H����z� 0�12�	4�	
���z�+;�Q�?����z�+C�Q�Grc��UOQQ]2UOQQ]2UOQQ]2UOQQ]2UOQQ]2UOQQ]2UOQ	Q
]2P!)r�zunterminated character setz[^z[az[a-z[\w-b]zbad character range \w-bz[a-\w]zbad character range a-\wz[b-a]zbad character range b-arrWs&r�test_character_set_errors�!ReTests.test_character_set_errorss������t�%A�1�E����u�&B�A�F����u�&B�A�F�	
���v�'C�Q�G����y�*E�q�I����y�*E�q�I����x�)B�A�Frc�L�UO[OQQ2O]2P2UO[OQQ2O	]2P2UO[OQQ2O]2Q2P!)z(a)|(b)ra)���r�)r>rErz�start�endrxrWs&r�test_bug_113254�ReTests.test_bug_113254!st��������*�c�2�8�8��;�R�@�������*�c�2�6�6�q�9�2�>�������*�c�2�7�7��:�H�Erc���UO[OQQ2O2UO	[OQQ2O]2UO	[OQQ2O
Q2UO	[OQQ2O
Q2UO	[OQQ2O]2P!)z(a)?ar�z(a)(b)?brz(?P<a>a)(?P<b>b)?bz(?P<a>a(b))z((a)))ryrErz�	lastindexr>�	lastgrouprWs&r�test_bug_527371�ReTests.test_bug_527371&s������"�(�(�8�C�0�:�:�;�������+�d�3�=�=�q�A�������"7��=�G�G��M�������.�$�7�A�A�3�G�������(�C�0�:�:�A�>rc�R�UO[OQQQ*Q*2O]2Q2UO[OQQQ*Q*QQ**Q*2O]2Q	2UO[OQQ
Q*Q*2O]2Q
2UO[OQQQ*Q*2O]2Q2P!)z.*?cr�rr�i!Nz.*?cdi�r��cdei#Ni Nr��deia�z(a|b)*?c)r>rErzr�rwrWs&r�test_bug_418626�ReTests.test_bug_418626.s���	
������&�%��*�T�/�:�>�>�q�A�5�I�������'�4��9�S�=��d��+B�5�+H�I�M�M�a�P��	 �������'�5��;�t�+;�<�@�@��C�U�K�	
������:�u�T�z�$��?�C�C�A�F��Nrc��Q[OQ2*Q*oSO[OU29%c]]2P!)r�u‹r�)rErCr>rGr	s& r�test_bug_612074�ReTests.test_bug_612074:s:����	�	�(�#�#�C�'��������C��.�.�Q��2rc��UO[OQQQ*2O]2Q2UO[OQQQ*Q*2O]2Q2UO[OQQQ*Q*2O]2Q2P!)z(x)*iP�r9z(x)*yr:z(x)*?yr&rWs&r�test_stack_overflow�ReTests.test_stack_overflow>s���	
������&�%��)�4�:�:�1�=�s�C�������'�5��9�S�=�9�?�?��B�C�H�������(�E�#�I�c�M�:�@�@��C�S�Irc
��QFDAoQFD7oUOU8U80Q]2UOQU8U8Q0Q]2J9	JC	P!)�*znothing to repeat�(?:r��r��+�?z{1,2}�r<r�r)r�reps�mods&  r�test_nothing_to_repeat�ReTests.test_nothing_to_repeatEsJ��*�D����&�&��s�';�':�A�?��&�&�T�3�'?�':�A�?��+rc���QFDjoQFD`oV*oQFDNoQFDDoVQ*Q7cJVE*oUOQU8U80Q][U2*2JF	JP	Jb	Jl	P!)r�r9zmultiple repeatr�)r<r�r�)r�r�)rNrw)r�
outer_reps�	outer_mod�outer_op�
inner_reps�	inner_mod�inner_ops&      r�test_multiple_repeat�ReTests.test_multiple_repeatMsl��0�J�)�	�%�1��"8�J�%1�	�$�1�Z�?�$�#-�#9���.�.�8�X�/N� 1�1�s�8�}�3D�F�	&2�#9�*�1rc���UO[OQQ22UO[OQQ22UO[OQQ22UO[OQQ22UO[OQQ22UO[OQQ22P!)z(?:a?)*yr�z(?:a?)+yz(?:a?){2,}yz	(?:a?)*?yz	(?:a?)+?yz(?:a?){2,}?y)ryrErzrWs&r� test_unlimited_zero_width_repeat�(ReTests.test_unlimited_zero_width_repeatYs������"�(�(�;��4�5����"�(�(�;��4�5����"�(�(�>�3�7�8����"�(�(�<��5�6����"�(�(�<��5�6����"�(�(�?�C�8�9rc��QoQoQoQo[QU1QU1QU1QU1Q	,2oUOUOOP2O2UO	UOQ2,Q
NP12P!)c��U!rr��scanner�tokens&&r�s_ident�%ReTests.test_scanner.<locals>.s_identcs��E�\rc��QU*!)zop%srr�s&&r�
s_operator�(ReTests.test_scanner.<locals>.s_operatords��v��~�(=rc��[U2!r)�floatr�s&&r�s_float�%ReTests.test_scanner.<locals>.s_floates��E�%�L�%8rc��[U2!r)r�r�s&&r�s_int�#ReTests.test_scanner.<locals>.s_intfs��#�e�*�#4rz[a-zA-Z_]\w*z\d+\.\d*r�z=|\+|-|\*|/zsum = 3*foo + 312.50 + bar)z\s+N)	�sumzop=ruzop*�foo�op+g�s@r��bar)r
r�r�rCr>�scan)rr�r�r�r�r�s&     r�test_scanner�ReTests.test_scannerbs���1�=�8�4��
�g�&�
�'�"�
�U�O�
�Z�(�����	
������/�/��3�;�;�<�������&B�C�)�*,�.�	/rc��QoUO[U29^tt^2[Q,2PPP2UO[U29^tt^2[Q,2PPP2[QQ1,2oUOQ2vq4UO	UQ,2UO	UP2P!)%fhK�9h)%fhKl9h)z*Cannot use capturing groups in re\.Scannerz(?:a)bc��U!rrr�s&&rr��+ReTests.test_bug_gh140797.<locals>.<lambda>�s��urr)z(a)bN)z(?P<name>a)N)r�r�r
r�r>)rr;rhr��rems&    r�test_bug_gh140797�ReTests.test_bug_gh140797vs���<��
�
#�
#�J��
4�
4��^�$�%�5��
#�
#�J��
4�
4��*�+�,�5�
�h� <�=�>�?���f�f�T�l���������'�����R� �5�
4��5�
4�s#�
B3�
C�3C	�<C	�C	�C	c��QFD{oUO[OQU*Q2O2Q2UO[OQU*Q2O2Q2J}	P!)r<z
((.%s):)?zr�za:z)r<r�r�r�)r@r��r>rErzr`)r�ops& r�test_bug_448951�ReTests.test_bug_448951�sf���B����R�X�X�m�B�&6��<�C�C�E�)�
+����R�X�X�m�B�&6��>�E�E�G�(�
*�rc�X�UO[OQQ2O2Q
2UO[OQQ2O2Q2UO[OQQ2O2Q2UO[OQQ2O2Q2UO[OQQ2O2Q
2UO[OQQ2O2Q2UO[OQQ2O2Q2UO[OQ	Q2O2Q2P!)
z	^((a)|b)*r�z^(([ab])|c)*z^((d)|[ab])*z
^((a)c|[ab])*z^((a)|b)*?cz^(([ab])|c)*?dr�z^((d)|[ab])*?cz^((a)c|[ab])*?crr)r�ra�raNr�rWs&r�test_bug_725106�ReTests.test_bug_725106�s=��������+�u�5�<�<�>�#�	%�������.�%�8�?�?�A�#�	%�������.�%�8�?�?�A�$�	&�������/�5�9�@�@�B�$�	&�������-��7�>�>�@�#�	%�������"2�F�;�B�B�D�#�	%�������"2�E�:�A�A�C�$�	&�������"3�U�;�B�B�D�$�	&rc���UO[OQQ2O2Q2UO[OQQ2O2Q2P!)z(a)(?:(?=(b)*)c)*r�z(a)((?!(b)*))*)r�Nr_r�rWs&r�test_bug_725149�ReTests.test_bug_725149�sR��������"5�u�=�D�D�F�$�	&�������"2�E�:�A�A�C�*�	,rc��QQ[2o[OUQ22oUOUO	Q22P!)c��\sQsQsQsP!)�+ReTests.test_bug_764548.<locals>.my_unicodei�r�rr r!r"r#rrr�
my_unicoder�s��trr
r�r�)r�rErGryrz)rr
r
s&  r�test_bug_764548�ReTests.test_bug_764548�s4��#��#��j�j��E�*�+�����#�)�)�E�*�+rc	��[OQQ2oSOSTt,tFDp"O]2MJ	to,QN2[OQ2oUOQ]]
2oSOSTt,tFDp"O]2MJ	to,QN2[OQ2oUOQ]]
Q5oSOSTt,tFDp"O]2MJ	to,QN2[OQ2oUOQ]
]Q5oSOSTt,tFDp"O]2MJ	to,QN2[OQ2oUOQ]]Q5oSOSTt,tFDp"O]2MJ	toQQ,2P!ttohttohttohttohttoh)r3rIr5r�)r�rJrL)rEr^r>r�rG)r�iter�itemr
s&   r�
test_finditer�ReTests.test_finditer�s����{�{�5�,�/�����D�9�D�D�*�*�Q�-�D�9�+�	-��j�j�����|�|�L�!�R�0�����D�9�D�D�*�*�Q�-�D�9�+�	-��j�j�����|�|�L�a��|�;�����D�9�D�D�*�*�Q�-�D�9�+�	-��j�j�����|�|�L���|�;�����D�9�D�D�*�*�Q�-�D�9�+�	-��j�j�����|�|�L�a��|�:�����D�9�D�D�*�*�Q�-�D�9����	'��):��
:��
:��
:��
:s�G�G� G�=G�Gc�|�UO[OQ2[OQ22P!)�
bug_926075s
bug_926075)�assertIsNotrErGrWs&r�test_bug_926075�ReTests.test_bug_926075�s'��������L�1����M�2�	4rc�z�QoUO[OU2OQ2,QN2P!)u[.。.。]za.b.cr�)r>rErGr�r�s& r�test_bug_931848�ReTests.test_bug_931848�s.��.��������G�,�2�2�7�;�&�	(rc��[OQQ2oUO[U2O	2Q2UO[[U2[OQ2OQ2oUOUO2O	2Q2UOUO22P!)z\sr�)rtr�)rEr^r>�nextrxrD�
StopIterationrGr�rwry)rrr�s&  r�test_bug_581080�ReTests.test_bug_581080�s����{�{�5�%�(������d����*�E�2����-��t�4��*�*�U�#�+�+�E�2��������)�.�.�0�&�9����'�.�.�*�+rc��[OQQ2oUO[U2O	2Q2UO[U2O	2Q2UO[[U2P!)z.*�asdfr�)r.r.)rEr^r>rrxrDr)rrs& r�test_bug_817234�ReTests.test_bug_817234�sZ���{�{�5�&�)������d����*�F�3�����d����*�F�3����-��t�4rc��,QNoSFD9oUO[OQU2O]2U2J;	,QNoSFD)oUO	[OQU22J+	P!)�7z^\d$)r$u๘u0)uⅥu〹u₂u㊴)r>rErzr�ry)r�decimal_digitsr9�not_decimal_digitss&   r�
test_bug_6561�ReTests.test_bug_6561�sh����
 �A����R�X�X�g�q�1�7�7��:�A�>� ���$�A����b�h�h�w��2�3�$r)�categoryc�4�]PHoQFD�oUOU2oUO[OQ2O	U22UO[OQ2O	U2O
2Q2J�	P!)r�bBhuwHiIlLfdsblarr)�arrayryrErGrzr>r`)rr,�typecoder�s&   r�test_empty_array�ReTests.test_empty_array�sm��	�&�H����H�%�A����b�j�j��0�6�6�q�9�:����R�Z�Z��_�2�2�1�5�<�<�>��C�'rc�
�QoQo[OQU*[O[O*2oUO	QU*2oUOU2[OQU*[O[O*2oUO	QU*2oUOU2[OQU*[O2oUO	QU*2oUOU2[OQU*[O2oUO	QU*2oUOU2[OQU*2oUO	QU*2oUOU2[OQU*2oUO	QU*2oUOU2[OQU*2oUO	QU*2oUOU2[OQU*2oUO	QU*2oUOU2UO[OQU*U22UO[OQU*U22UO[OQU*U[O22UO[OQ	U*U22UO[OQ
U*U[O22QoUOUQ*U]2[O29^tt^2[OQ
[2UOQU]2PPP2UOQU*U]2UOQU*Q*U]2UOQ
U*U]2UOQU*U]2UOQU*U]2UOQU*Q*U]2UOQU*Q*U]	2UOQU*Q*U]
2P!)%fhK�9h)uẠuạr�r�z(?i).z(?is).z	(?s)(?i).z(?ix) z (?i) z
(?x) (?i) z (?x) (?i) z/global flags not at the start of the expressionz(?i)�errorsA(?i)z	(?s).(?i)z(?i) z (?x)z^(?i)z$|(?i)z(?:(?i)r�z
(^)?(?(1)(?i)z($)?(?(1)|(?i))rErGr�rrzr�r�rN�warnings�catch_warnings�simplefilter�BytesWarning)r�
upper_char�
lower_charr��qr;s&     r�test_inline_flags�ReTests.test_inline_flagss����
��
��J�J�s�Z�'��������5��
�G�G�D�:�%�&��������J�J�s�Z�'��������5��
�G�G�D�:�%�&��������J�J�w��+�R�T�T�2��
�G�G�D�:�%�&��������J�J�w��+�R�T�T�2��
�G�G�D�:�%�&��������J�J�x�*�,�-��
�G�G�D�:�%�&��������J�J�x�*�,�-��
�G�G�D�:�%�&��������J�J�{�Z�/�0��
�G�G�D�:�%�&��������J�J�{�Z�/�0��
�G�G�D�:�%�&��������������J�!6�
�C�D��������J�!6�
�C�D��������J�!6�
�B�D�D�I�J��������
�!:�J�G�H���������!;�Z����N�O�?�����z�F�2�C��;��
$�
$�
&�
&��!�!�'�<�8��"�"�8�S�!�4�'�	
���{�Z�7��a�@����w��3�g�=�s�A�F����}�z�9�3��B����w��3�S�!�<����x�*�4�c�1�=����y�:�5��;�S�!�D������;�c�A�3��J����/�*�<�s�B�C��L�'�
&�s�/S9�9T		�T		c��[OQ2oUOUOQQ2Q2UOUOQQ2Q2UOUOQQ2Q2[OQ[O2oUOUOQQ2Q	2UOUOQQ2Q
2UOUOQQ2Q2P!)z_Test that $ does not include \n
$ matches the end of string, and just before the terminating \n�$�#za
b
za
b#
#za
b
cza
b
c#r�z#
#za#
b#
#za#
b#
c#)rErGr>rRrpr�s& r�test_dollar_matches_twice�!ReTests.test_dollar_matches_twice=s����*�*�S�/��������S�(�3�Z�@�������S�)�4�j�A�������S�$�/��8��*�*�S�"�,�,�/��������S�(�4�k�C�������S�)�4�l�C�������S�$�/��8rc�|�[OQ2o[OQ2oUO[UOQ2UO[UOQ2UO[UO
QQ2UO[UO
QQ2UO[UO
QQ2UO[UO
QQ2UO[UO
QQ2UO[UO
QQ2P!)r��.r=rar�r>)rErGrDr�rzrR)rr
�bpats&  r�test_bytes_str_mixing�ReTests.test_bytes_str_mixingJs����j�j��o���z�z�$������)�S�Y�Y��5����)�T�Z�Z��5����)�S�W�W�d�C�8����)�S�W�W�c�4�8����)�S�W�W�d�D�9����)�T�X�X�t�S�9����)�T�X�X�s�D�9����)�T�X�X�s�C�8rc�6�][O1FD�o[OQU[O*2oUO	UOQ22[OQU2oUO	UOQ22J�	[OQ[O[O*2oUOUOQ22[OQ[O2oUOUOQ22[OQ[O2oUOUOQ22[OQ2oUOUOQ22][O1FD�o[OQU[O*2oUOUOQ22[OQU2oUOUOQ22J�	UO[[OQ[O2UO[O[OQ	2UO[[OQ[O[O*2UO[[OQ
[O2UO[[OQ[O2UO[O[OQ2P!)r�Àr�z\wu(?a)Àz(?a)\w�����\ws(?u)\wz(?u)\wz(?au)\w)rEr^rGrnr�rzr�ryrDr�rF)rr�r
s&  r�test_ascii_and_unicode_flag�#ReTests.test_ascii_and_unicode_flagWs0������_�E��*�*�V�U�R�]�]�%:�;�C��O�O�C�I�I�f�-�.��*�*�U�E�*�C��O�O�C�I�I�f�-�.�	%�
�j�j�����B�M�M�!9�:�����#�)�)�F�+�,��j�j��R�]�]�3�����#�)�)�F�+�,��j�j�����)�����#�)�)�F�+�,��j�j��#�����#�)�)�F�+�,�����]�E��*�*�W�e�b�m�m�&;�<�C����c�i�i��0�1��*�*�V�U�+�C����c�i�i��0�1�	#�	
���*�b�j�j�&�"�*�*�E����"�/�/�2�:�:�z�B����*�b�j�j�%����b�h�h�9N�O����*�b�j�j�)�R�X�X�F����*�b�j�j�)�R�Z�Z�H����"�/�/�2�:�:�z�Brc���[O2o[]�Q2FD�o[U,2O	U2oUO2oVC6XcJ7UO
U2o[U2]6wcJZUO	U2U6wcJr[O[U,22oL	PoQo[OU[O[O*2oU%c!UOUO!U22[OQU*[O2oU%c!UOUO!U22[OU[O2oU%c!UO#UO!U22[OQ[O2oU%c!UOUO!U22[OQ2oU%c!UOUO!U22[OQ2oU%c!UO#UO!U22UO%[&[OP[O2UO%[O([OQ2UO%[&[OQ[O[O**2UO%[&[OQ[O*2UO%[&[OQ[O2UO%[O([OQ	2P![[1cCJ�h9h)
r0r�rs(?L)rIs(?L)\wz(?L)rs(?a)s(?aL))�locale�getpreferredencodingrr1r2�lowerrMrwrErC�UnicodeErrorr�rGr�rnr�rzryrDr�rFr�)r�encr�r��sletter�bletterrBr
s&       r�test_locale_flag�ReTests.test_locale_flagtsr���)�)�+���s�C��A�

��1�#�J�%�%�c�*���'�'�)���<��!�.�.��-���w�<�1�$�h��>�>�#�&�'�1�8��y�y���s��,���!��G��D��j�j��r�y�y�2�=�=�8�9����O�O�C�I�I�g�.�/��j�j��4�����7����O�O�C�I�I�g�.�/��j�j��r�}�}�-������c�i�i��0�1��j�j�����+����O�O�C�I�I�g�.�/��j�j��$����O�O�C�I�I�g�.�/��j�j�� ������c�i�i��0�1����*�b�j�j�"�b�i�i�@����"�/�/�2�:�:�v�>����*�b�j�j�#�r�y�y�2�8�8�7K�L����*�b�j�j�'�2�8�8�D����*�b�j�j�'�2�9�9�E����"�/�/�2�:�:�x�@��=!�)�,�
��
�s)�0O� O�>O� O�O&� O&�%O&c�H�UO[OQQ22UO[OQQ22UO[OQQ[O22UO[OQQ[O22UO[OQQ22UO[OQQ22UO[OQQ22UO[OQQ22UO[OQQ[O
22UO
Q	Q
]2UO
QQ]2UO
Q
Q]2UO
QQ]2UO
QQ]2UO
QQ]2UO
QQ]2UO
QQ]2UO
QQ]2UO
QQ]2UO
QQ]2UO
QQ]2UO
QQ]2UO
QQ]2UO
QQ]2P!) z(?i:a)b�Ab�aBz(?-i:a)bz
(?i:(?-i:a)b)z\w(?a:\W)\wuàààz(?a:\W(?u:\w)\W)z\W(?u:\w)\Wz(?a)(?-a:\w)z8bad inline flags: cannot turn off flags 'a', 'u' and 'L'z(?i-i:a)z(bad inline flags: flag turned on and offz(?au:a)z9bad inline flags: flags 'a', 'u' and 'L' are incompatibles(?aL:a)z(?-zmissing flagz(?-+z(?-z�unknown flagz(?-iz	missing :z(?-i)z(?-i+z(?-izz(?i:r��(?i�missing -, : or )z(?i+z(?iz)r�rErzryrnr�rNrWs&r�test_scoped_flags�ReTests.test_scoped_flags�s���������T�2�3����"�(�(�:�t�4�5����"�(�(�;��b�m�m�D�E��������d�B�M�M�B�C����"�(�(�#3�T�:�;�������!1�4�8�9���������@�A�������!4�n�E�F������������J�K�����J�A�	O����{�:�A�	?����z�K�Q�	P����{�K�Q�	P�	
���v�~�q�9����w���:����w���:����w��Q�7����x��a�8����x��a�8����x���;����w�(L�a�P����v�':�A�>����w�(;�Q�?����w���:rc	��QFD?oUO[OUQ*Q[O22JA	Q
FD?oUO[OUQ*Q[O22JA	UO[OQQ22UO[OQQ[O22UO[OQQ22UO[OQQ22UO[OQQ	[O22UO[OQ
Q	22UO[OQQ22UO[OQQ22P!)z 	

r�r\z(?x) az (?x) az(?x) (?x) az a(?x: b) cz ab cz a(?-x: b) cr�z(?x) a(?-x: b) cz	(?x) a| bra)r��	�
�
���r�rEr�rq)r�spaces& r�test_ignore_spaces�ReTests.test_ignore_spaces�s��"�E��O�O�B�L�L����c�2�:�:�F�G�#�<�E��O�O�B�L�L����t�R�Z�Z�H�I�=�������X�s�3�4�������Y��R�Z�Z�@�A�������]�C�8�9�������]�G�<�=�������^�V�R�Z�Z�H�I�������%7��@�A�������[�#�6�7�������[�#�6�7rc�x�UO[OQQ[O22UO[OQQ[O22UO[OQQ22UO[OQQ[O22UO[OQQ22UO[OQQ22UO[OQ	Q
[O22UO[OQQ
22UO[OQQ22UO[OQQ
22P!)z#x
ar�s#x
ar\z(?x)#x
az#x
(?x)#y
az(?x)#x
(?x)#y
az#x
a(?x:#y
b)#z
cz	#x
ab#z
cz#x
a(?-x:#y
b)#z
cza#y
bcz(?x)#x
a(?-x:#y
b)#z
cz
(?x)#x
a|#y
brardrWs&r�
test_comments�ReTests.test_comments�s��������W�c�2�:�:�>�?�������X�t�R�Z�Z�@�A�������[�#�6�7�������_�c�2�:�:�F�G�������%8�#�>�?�������%;�]�K�L�������%<�i�%'�Z�Z�1�	2�������%@�)�L�M�������%6��<�=�������%6��<�=rc��[OQ2oUOUOQQ2Q2[OQ2oUOUOQQ2Q2[OQ2oUOUOQQ	2Q
2[OQ2oUOUOQQ
2Q2[OQ2oUOUOQQ2Q2[OQ2oUOUOQQ2Q2P!)za(\w)zb\1rWrXza(.)uaሴubሴz..c��Q!)r�rr�s&rr��'ReTests.test_bug_6509.<locals>.<lambda>�s��5r�a5r�sa(\w)sb\1sacsbcsa(.)sa�sb�s..c��Q!)�bytesrr�s&rr�rm�s��8rsa5rp)rErGr>rRr	s& r�
test_bug_6509�ReTests.test_bug_6509�s����j�j��"����������.��5��j�j�� ����������3�Y�?��j�j�����������$�7��?��j�j��#���������%�0�%�8��j�j��!���������(�3�X�>��j�j����������!3�U�;�X�Frc��UO[OQQ22UO[OQQ22UO[OQQ22UO[OQQ22UO[OQQ22P!)z123.*-z123abc-u123é-u123€-u123􏿿-u
123é€􏿿-)r�rErwrWs&r�test_search_dot_unicode�ReTests.test_search_dot_unicode�sw������	�	�(�I�6�7�����	�	�(�J�7�8�����	�	�(�L�9�:�����	�	�(�,<�=�>�����	�	�(�,F�G�Hrc�L�[OQ2oUOU[O2[OU2oUOU[O2UO	V!2UO[[O]2P!)�random pattern)rErG�assertIsInstance�Patternr5rDr�)rrC�same_patterns&  r�test_compile�ReTests.test_compile�si���*�*�-�.�����g�r�z�z�2��z�z�'�*�����l�B�J�J�7��
�
�l�,����)�R�Z�Z��3r)�size�memusec���QU*o[OQU2oUOU2UOUO	2U2UOUO2U2P!)r�r<)rErw�assertIsNotNoner>r�r�)rr}rhr�s&&  r�test_large_search�ReTests.test_large_searchsW��
�$�J���I�I�c�1������Q���������D�)��������$�'rc��QU*o[OPPU2vq4UOV22UOVA]*2P!r])rEr�r>)rr}rhr��ns&&   r�test_large_subn�ReTests.test_large_subnsA��
�$�J���w�w�r�2�q�!������������1�H�%rc���UO[OQQ2Q,2UO[OQQ2O	2Q2P!)z	(?i)(a)\1uaa Ār�z
(?s).{1,3}uĀĀr�)r>rErgrzrxrWs&r�test_bug_16688�ReTests.test_bug_16688sE��	
������L�+�>���F�������-��@�E�E�G��Prc�@�QQ*oUO[OQU2O2Q2UO[OQU2O2Q2UO[OQU2O2Q2UO[OQU2O2Q
2UO[OQU2O2Q
2UO[OQU2O2Q
2UO	[
[OQ]]�**2UO	[
[OQ	]]�**2UO	[
[OQ
]]�**2UO	[
[OQ]]�*]]�*1*2P!)r9順z.{65535}z	.{,65535}z
.{65535,}?z.{65536}z	.{,65536}z
.{65536,}?�.{%d}�.{,%d}�.{%d,}?z.{%d,%d})rr�)rr�)r>rErzrxrD�
OverflowErrorrG)rrSs& r�test_repeat_minmax_overflow�#ReTests.test_repeat_minmax_overflowsh���v���������+�v�6�;�;�=�z�J�������,��7�<�<�>�
�K�������-��8�=�=�?��L�������+�v�6�;�;�=�z�J�������,��7�<�<�>�
�K�������-��8�=�=�?��L����-����X��3��5F�G����-����Y��C��5G�H����-����Z�!�S�&�5H�I����-����[�A�s�F�A�s�F�CS�5S�Trc�N�QQ*oQoQoUO[OUQ*U2O2Q2UO[OUQ*U2O2Q2[OUQ*2[OUQ	*2[OUQ
*2[OUQ*2[OUQ	*2[OUQ
*2QoUO[OU[OUQ*2UO[OU[OUQ*2P!)r9i�%&z(?<=((.{%d}){%d}){%d})z(?<!((.{%d}){%d}){%d})zlooks too much behind)r0r0r0)� r�rr)�@rtrt)rtr�rt)rtrtr�)r�r�r�)r>rErwrxrGr�r1)rrS�p1�p2rKs&    r�test_look_behind_overflow�!ReTests.test_look_behind_overflow(s"���y���
&��
&��	
������2�(:�#:�F�C�H�H�J�'�	)�������2�(:�#:�F�C�H�H�J��	!�	�
�
�2�
�%�&�
�
�
�2�
�%�&�
�
�
�2�
�%�&�
�
�
�2�
�%�&�
�
�
�2�
�%�&�
�
�
�2�
�%�&�(�����r�x�x�����R�BW�=W�X����r�x�x�����R�BW�=W�Xrc�.�UOQQ]2P!)z
(?P=<foo>)z#bad character in group name '<foo>'rrWs&r�$test_backref_group_name_in_exception�,ReTests.test_backref_group_name_in_exception?s�����|�D�a�	Irc�.�UOQQ]2P!)z
(?P<?foo>)z"bad character in group name '?foo'rrWs&r�test_group_name_in_exception�$ReTests.test_group_name_in_exceptionDs�����|�C�Q�	Hrc
��QFD�oQFD�oQU*U*Q*oUO[OU[O2O	Q2Q,UQ5UO2oUO[OU[O2O	Q2Q,UQ5J�	J�	P!)r�r��yzr�)r;r�)r�r�r�z{1}r�)r>rErGrrgrM)rr�r�rCs&   r�test_issue17998�ReTests.test_issue17998Is���(�D�����*�s�*�T�1��� � ����G�R�T�T�!:�!B�!B�5�!I�"'��g�!�7�!�.�.�*��� � ����G�R�T�T�!:�!B�!B�6�!J�"(��w�!�8��)rc��Q[Q21FDfo[OQU2oQ[U2O8Q[U2O
8Q0oUO
[U2U2Jh	Q[Q2[Q2[Q21FDfo[OQU2oQ[U2O8Q[U2O
8Q0oUO
[U2U2Jh	[[OQQ	22vqEQ[U2O8Q[U2O
8Q
0oUO
[U2U2Q[U2O8Q[U2O
8Q0oUO
[U2U2P!)z
[abracadabra]z(.+)(.*?)\1z<(z\.)?z- object; span=\(1, 12\), match='abracadabra'>s
[abracadabra]s(.+)(.*?)\1z. object; span=\(1, 12\), match=b'abracadabra'>z	(aa)|(bb)zaa bbz# object; span=\(0, 2\), match='aa'>z# object; span=\(3, 5\), match='bb'>)
rrErwr6r r!�assertRegex�reprr*r]r�r3r^)rrSr�rCr�r�s&     r�test_match_repr�ReTests.test_match_reprSsV��%�q��'9�9�F��	�	�.�&�1�A��Q��"�"�D��G�$8�$8��G�
���T�!�W�g�.�:�(��+;�)<� �!1�2�!�"2�3�5�F��	�	�/�6�2�A��Q��"�"�D��G�$8�$8��G�
���T�!�W�g�.�5��R�[�[��g�>�?�
��v���L�#�#�T�&�\�%>�%>�
��	
����e��g�.���L�#�#�T�&�\�%>�%>�
��	
����f��w�/rc��UO[OQQ2,QN2UO[OQQ2,Q
N2UO[OQQ2,QN2UO[OQQ2,QN2UO[OQQQ2Q2UO[OQQQ2Q2UO[OQQ	Q2Q
2UO[OQQ2,QN2UO[OQQ2,Q
N2SO[O
QQ2Tt,tFDpO
2MJ	to,QN2SO[O
QQ2Tt,tFDpO
2MJ	to,QN2P!ttohttoh)r;za::bcz\b|:+z(?<!\w)(?=\w)|:+z(?<=\w)(?!\w)|:+r�z	-a-::-bc-z-a---bc-z(\b|:+)z[\1]z[]a[][::][]bc[]z\b|\w+)r<r�r5rXr<)r<r�r<r<rXr<)r<r�r<rX)r�r<rXr<)r<r<r5r<r<)rrr�rs�ruru�rr)rrr�r�r�)rurr�)r>rEr�rRrgr^rx�rr�s& r�test_zerowidth�ReTests.test_zerowidthmsy��������%��1�3L�M�������(�G�4�6Q�R�������"5�w�?�AT�U�������"5�w�?�AT�U��������s�G�4�k�B��������#�w�7��D�������
�G�W�=�?P�Q�������H�g�6�8N�O�������I�w�7�4�	6�	
���B�K�K��'�,J�K�,J�q�&�&�(�,J�K�A�	C����B�K�K�	�7�,K�L�,K�q�&�&�(�,K�L�I�	K��L��Ls�H�Hc
�T�QFD�oQFD�o[OQU8QU802oUOQ2oUOUO	]2Q2UOUO	]2P2UOUO	]2Q2J�	J�	P!)�{0,}z^((x|y)r��xyyzy�xyyr:)r�r�r�z{1,187})r�r�r�)rErGrzr>r�)rr�r�r�r�s&    r�
test_bug_2537�ReTests.test_bug_2537�s��5�H�.���J�J��8�D�E���G�G�G�$��� � ������U�3�� � ������R�0�� � ������S�1�/�6rc�t�[OQ2oUOUOQ]]
Q5O	2Q2UOUOQ]]	Q5O	2Q2UOUO
Q]]
Q5O	2Q2UOUOQ]]
Q5Q,2UOUOQ]Q5,QN2UOUOQ]]
Q5O
2O	2Q2P!)z(ab)�abracadabra)rSrJr�r)rSr�)rR�	)r<r�	racadabra)
rErGr>rzrxr�rwrgr�r�r	s& r�test_keyword_parameters�ReTests.test_keyword_parameters�s���j�j��!������I�I�]��"�I�=�B�B�D�f�	N�����M�M��A�a�M�@�E�E�G��	Q�����J�J�m��2�J�>�C�C�E�v�	O�����K�K�}�!�B�K�?�$��	I�����I�I�]�Q�I�7�#�	%�	
����K�K�}�!�B�K�?�F�F�H�M�M�O��	rc��UO[OQQ[O2O	2Q2P!)z[a-c]+rrv)r>rEr�r�rxrWs&r�test_bug_20998�ReTests.test_bug_20998�s.��	
������h��r�t�t�<�A�A�C�V�Lrzmusl libc issue, bpo-46390�sunosz&test doesn't work on Solaris, gh-91214c�J�[O[O2oUO[O[OU2QFD)o[O[OU2J+	[O2UO2UO2[O2UO2UO2P![OcSOQS*2J�h9h)�en_US.iso88591�test needs %s locale�r��
en_US.utf8)
rM�	setlocale�LC_CTYPE�
addCleanup�Error�skipTestrEr��check_en_US_iso88591�check_en_US_utf8)r�	oldlocale�locs&  r�test_locale_caching�ReTests.test_locale_caching�s���
�$�$�V�_�_�5�	�����(�(�&�/�/�9�E�1�C�
<�� � ����#�6�2�	���
��!�!�#�����
���
������!�!�#���<�<�
<��
�
�4�s�:�;�
<�s�%C1�1D"�D"�!D"c���[O[OQ2UO[O
QQ[O[O*22UO[O
QQ[O[O*22UO[O
QQ[O[O*22UO[O
QQ22UO[O
QQ22UO[O
QQ22P!)r���������(?Li)���(?Li)��(?Li)�)rMr�r�r�rErzror�rWs&rr��ReTests.check_en_US_iso88591�s���������*:�;��������k�2�4�4����9�E�F��������'�2�4�4����9�=�>��������'�2�4�4����9�=�>�������!1�;�?�@��������w�7�8��������w�7�8rc���[O[OQ2UO[O
QQ[O[O*22UO[O
QQ[O[O*22UO[O
QQ[O[O*22UO[O
QQ22UO[O
QQ22UO[O
QQ22P!)r�r�r�r�r�r�r�)	rMr�r�r�rErzror�ryrWs&rr��ReTests.check_en_US_utf8�s���������,�7��������k�2�4�4����9�E�F����"�(�(�7�G�R�T�T�"�$�$�Y�?�@����"�(�(�7�G�R�T�T�"�$�$�Y�?�@�������!1�;�?�@����"�(�(�<��9�:����"�(�(�<��9�:rc��[O[O2oUO[O[OU2Q
FD)o[O[OU2J+	[O[OQ2[OQ[O[O*2o[OQ[O[O*2o[OQ[O[O*2o[OQ[O[O*2oV4U1FDcoUOUOQ22UOUOQ22UOUOQ22Je	UOUOQ	22UOUOQ22UOUOQ22[O[OQ2V4U1FDcoUOUOQ22UOUOQ22UOUOQ22Je	UOUOQ	22UOUOQ22UOUOQ22P![OcSOQS*2CJ*h9h)r�r�r�r�s[a�][a�]s
[az�][az�]s[^�][^�]s��s��s��r�)
rMr�r�r�r�r�rErGror�r�rzry)rr�r�r�r��p3�p4r�s&       r�test_locale_compiled�ReTests.test_locale_compiled�sG���$�$�V�_�_�5�	�����(�(�&�/�/�9�E�1�C�
<�� � ����#�6�2�	������*:�;�
�Z�Z��R�T�T�"�$�$�Y�
/��
�Z�Z�)�2�4�4����9�
5��
�Z�Z�+�R�T�T�"�$�$�Y�
7��
�Z�Z�)�2�4�4����9�
5�����A��O�O�A�G�G�K�0�1��O�O�A�G�G�K�0�1��O�O�A�G�G�K�0�1��	
���"�(�(�;�/�0����"�(�(�;�/�0����"�(�(�;�/�0�������,�7����A��O�O�A�G�G�K�0�1����a�g�g�k�2�3����a�g�g�k�2�3��	
�������-�.����"�(�(�;�/�0����"�(�(�;�/�0��1�<�<�
<��
�
�4�s�:�;�;�
<�s�%M�N�%N�Nc�n�UO[O29^tt^2o[OQ2PPP2WOoUOUO[2UOUOQ2UOUO]2UOUO]2UOUO]2UOUO[U22UOQ[U22UOQUO2UO[O29^tt^2o[OQ2PPP2UOoUOUO[2UOUOQ2UOUO]2UO[O29^tt^2o[OQ[O 2PPP2UOoUOUO]M2UOUO]2UOUO]2UOUO[U22UOQ[U22UOQ[U22P!)%fhCK�9h)%fhCK�9h)%fhK�9h)u(€))z at position 3s(�))zq
                (
                    abc
                )
                )
                (
                z at position 77z(line 5, column 17))rDrErFrGrIrxrCr�r>rJ�lineno�colno�assertInr;�assertNotInr1rq)rrLrMs&  r�
test_error�ReTests.test_error�s��
�
�
�r���
/�
/�2��J�J�{�#�0��l�l�����c�k�k�3�/�������k�2�������!�$�������Q�'�������A�&��
�
�c�g�g�s�3�x�(��
�
�&��C��1����)�3�7�7�3�
�
�
�r���
/�
/�2��J�J�z�"�0��l�l�����c�k�k�5�1�������j�1�������!�$�
�
�
�r���
/�
/�2��J�J���Z�Z�

!�0��l�l��������"�%�������Q�'�������B�'��
�
�c�g�g�s�3�x�(��
�
�'��S��2��
�
�+�S��X�6�C0�
/�
/��0�
/�
/��0�
/�s5�K<�'L�&L$�<L
	�L
	�L!	�L!	�$L4	�-L4	c��UOQQ]2UOQQ]2UOQQ]2UOQQ]2UOQQ]2UOQ	Q
]2UOQQ]2UOQ
Q]2UOQQ]2UOQQ]2UOQQ]2P!)rKr�z((a|b)z(a|b))zunbalanced parenthesisz(?Pzunexpected end of patternz(?z)zunknown extension ?zz(?iz)rYrZr[z(?#abczmissing ), unterminated commentz(?<z(?<>)zunknown extension ?<>z(?rrWs&r�test_misc_errors�ReTests.test_misc_errors	s������t�%I�1�M����y�*N�PQ�R����y�*B�A�F����v�'B�A�F����w�(>��B����x���;����v�':�A�>����y�*K�Q�O����v�'B�A�F����x�)@�!�D����u�&A�1�Erc��UOQ[[O22UOQ[[O22P!)r�r�)r�r�rEr�rrWs&r�	test_enum�ReTests.test_enum	s0��	
�
�
�g�s�2�4�4�y�)��
�
�h��B�D�D�	�*rc��[OQ[O2oUOV2UO	V6g2[O
2[OQ[O2oUO[
U2[
U22UOV!2[O
2[OQ[O2oUOV12[O
2[OQ2oUOVA2UO[29^tt^2V6PPP2P!)%fhP!9h)r��XYZ)
rErGrnr>�assertFalser��hash�assertNotEqualrDr�)r�pattern1�pattern2�pattern3�pattern4s&    r�test_pattern_compare�ReTests.test_pattern_compare#	s����:�:�e�R�]�]�3��	
����,�����-�.�	���
��:�:�e�R�]�]�3������h���h��8�����,�	���
��:�:�e�R�]�]�3��	
���H�/�	���
��:�:�e�$�����H�/��
�
�y�
)�
)���*�
)�
)�
)�s�E-�-E>	�6E>	c��[OQ2o[O2[OQ2oUO[	U2[	U22UOV!2[O2[OQ2o[
O29^tt^2[
OQ[2UOV12PPP2P!)%fhP!9h)r�r�r1)
rErGr�r>r�r2r3r4r5r�)rr�r�r�s&   r�test_pattern_compare_bytes�"ReTests.test_pattern_compare_bytes@	s����:�:�f�%��	���
��:�:�f�%������h���h��8�����,�	���
��:�:�e�$��
�
$�
$�
&�
&��!�!�'�<�8�����3�'�
&�
&�
&�s�-C7�7D	�D	c��[Q2o[OQU2o[OQU2oUOUO	2Q2UOUO	2Q2QUQ$UOUO	2Q2UOUO	2Q2P!)sabcdefghs[a-h]+s[e-h]+sefghr�:NNNr)r]rErwr>r�)rrhr��m2s&   r�test_bug_29444�ReTests.test_bug_29444Q	s����k�"���I�I�i��#��
�Y�Y�y�!�
$���������K�0��������W�-���!���������F�+��������S�)rc	���QoQoUO[OV!2O2Q2QoQoUO[OV!2QQ,2SO[O
V!2Tt,tFDp3O2MJ	toQQ,2QoQoUO[OV!2QQ,2SO[O
V!2Tt,tFDp3O
2MJ	toQ	QQ
Q-Q	QQ
P-,2QoSO[O
V!2Tt,tFDp3O
2MJ	toQ	QQ
Q-Q	Q
Q
P-,2QoSO[O
V!2Tt,tFDp3O
2MJ	toQ	QQ
Q-Q	Q
Q
P-Q	Q
Q
P-,2P!ttohttohttohttoh)za	xz\b(?=(\t)|(x))xrz(?=(.)(.)?)z1(?=<(?P<tag>\w+)/?>(?:(?P<text>.+?)</(?P=tag)>)?)z<test><foo2/></test>r��<foo2/>�foo2�tagr;z<test>Hello</test><foo/>�Hellor�z<test>Hello</test><foo/><foo/>)Nr9r�)rar<r)r�r�)r�r<)r>rErwr`rgr^r��rrhr�r�s&   r�test_bug_34294�ReTests.test_bug_34294[	s���
����������1��/�/�1�;�?�
����������A�)�$�i�0�	2����b�k�k�!�.?�@�.?��(�(�*�.?�@�$�k�2�	4�
A��"��������A�)�-�|�<�	>�������Q�1B�C�1B�A�+�+�-�1B�C� �&�&�)�<� �&�&�$�7�9�	:�
'��������Q�1B�C�1B�A�+�+�-�1B�C� �&�&�'�:� �%���6�8�	9�
-��������Q�1B�C�1B�A�+�+�-�1B�C� �&�&�'�:� �%���6� �%���6�8�	9��!A��D��D��Ds�G
�:G�
G�Gc��UO[OQQ2O2Q2UO[OQQ2O2Q2UO[OQQ2O2Q2UO[OQQ2O2Q2P!)z	(ab|a)*?brz	(ab|a)+?bz
(ab|a){0,2}?bz	(.b|a)*?br]r�rWs&r�test_MARK_PUSH_macro_bug� ReTests.test_MARK_PUSH_macro_bug}	s���	
������,��5�<�<�>��G�������,��5�<�<�>��G�������"2�D�9�@�@�B�F�K�������,��5�<�<�>��Grc�n�QoQoUO[OV!2O2Q2QoQo[OV!2oUOUO	2Q2UOUO	]2Q2UOUO2Q2P!)�axxzbczz(?:(?:a|bc)*?(xx)??z)*�xtcxyzxcz((x|yz)+?(t)??c)*�r�)rr�)�rR)�xyzxcr9�t�r>rErzr`rxrs&   r�test_MIN_UNTIL_mark_bug�ReTests.test_MIN_UNTIL_mark_bug�	s���
��%��������!��.�.�0�'�:�
�� ���H�H�Q�N���������6�*���������F�+��������%8�9rc�^�QoQo[OV!2oUOUO2Q2UOUO]2Q2UOUO	2Q2QoQo[OV!2oUOUO2Q	2UOUO]2Q
2UOUO	2Q2UO[OQQ2O	2Q2P!)�aabaabz(?:[^b]*a(?=(b)|(a))ab)*�ababz(?:[^b]*(?=(b)|(a))ab)*z(ab?)*?br)rr)r.rr�r�)r�rur]�rErzr>rxr`rs&   r�test_REPEAT_ONE_mark_bug� ReTests.test_REPEAT_ONE_mark_bug�	s���
��'���H�H�Q�N���������6�*���������F�+��������[�1�
��&���H�H�Q�N���������6�*���������F�+��������[�1�������+�t�4�;�;�=�v�Frc�n�QoQo[OV!2oUOUO2Q2UOUO]2Q2UOUO	2Q2QoQoUO[OV!2O	2Q2P!)rz(?:.*?(?=(a)|(b))b)*�axxzazz(?:a*?(xx)??z)*r��rur.)Nrar
rrs&   r�test_MIN_REPEAT_ONE_mark_bug�$ReTests.test_MIN_REPEAT_ONE_mark_bug�	s���
��#���H�H�Q�N���������6�*���������F�+��������[�1�����������!��.�.�0�'�:rc��UO[OQQ2O2Q2[OQQ2oUOUO	2Q2UOUO	]2Q2UOUO	]2Q2UOUO2Q2P!)z	(?!(..)c)rz((?!(ab)c)(.))*rrr�r)raNrarr�s& r�test_ASSERT_NOT_mark_bug� ReTests.test_ASSERT_NOT_mark_bug�	s���	
������,��5�<�<�>��H�
�H�H�'��0���������6�*���������F�+���������F�+��������%5�6rc�V�UO[Q29^tt^2[OQ]2PPP2UO[Q29^tt^2[OQ[2PPP2P!)%fhKT9h)%fhP!9h)z	got 'int'rlz
got 'type')r�r�rErwr6rWs&r�test_bug_40736�ReTests.test_bug_40736�	sd��
�
#�
#�I�{�
;�
;��I�I�d�A��<�
�
#�
#�I�|�
<�
<��I�I�d�D�!�=�
<�<�
;��
<�
<�
<�s#�B�B�B	�
B	�B(	� B(	�cpuc�T�QQ*o[29^tt^2oQFD�oUO[OV122UO	[O
V12U,2UO	[OV12,2UO	[[OV122,2UO	[OUPU2U2J�	PPP2UOWOQ2P!)%fhK.9h)r9g�������?i���)z\Ayz^y)rryrErwr>r�rgr3r^rR�
assertLess�seconds)rrh�	stopwatchr�s&   r�test_search_anchor_at_beginning�'ReTests.test_search_anchor_at_beginning�	s�����I��
�[�[�I�"���!�!�"�)�)�A�/�2�� � ����!��!��5�� � ����A�!1�2�6�� � ��b�k�k�!�&7�!8�"�=�� � �����2�q�!1�1�5�#��	
���	�)�)�3�/��[�s�CD�D'	� D'	c�p	�UO[OQQ22UO[OQQ2O	]2Q2UO[OQQ2O	]2Q2UO[OQQ2O	]2Q2UO[OQQ	22UO[OQ
Q2O2Q%2UO[OQQ2O2Q%2UO[OQ
Q2O2Q&2UO[OQQ2O2Q&2UO[OQQ2O2Q'2UO[OQQ2O2Q(2UO[OQQ2O2Q'2UO[OQQ2O2Q)2UO[OQQ22UO[OQQ22UO[OQQ22UO[OQQ2O	]2Q2UO[OQQ2O	]2Q2UO[OQQ2O	]2Q2UO[OQQ22UO[OQQ22UO[OQ Q22UO[OQ!Q22UO[OQ"Q22UO[OQ#Q22UO[OQ#Q$22P!)*z�Test Possessive Quantifiers
Test quantifiers of the form @+ for some repetition operator @,
e.g. x{3,5}+ meaning match from 3 to 5 greadily and proceed
without creating a stack frame for rolling the stack back and
trying 1 or more fewer matches.ze*+e�eeeeze++a�eeeaze?+a�eaze{2,4}+az(.)++.�eez(ae)*+a�aeaz
([ae][ae])?+az(e?){2,4}+az()*+ar�zx*+rmzx++�a*+rorp�a++z
^(\w){1}+$r�z^(\w){1,2}+$z
^(\w){3}+$r�z^(\w){1,3}+$z^(\w){1,4}+$z^x{1}+$z	^x{1,2}+$z^x{3}+$z	^x{1,3}+$z	^x{1,4}+$z^x{}+$r�)�ae�r<rrrsrv)	ryrErzr>r�r`rwrxr�rWs&r�test_possessive_quantifiers�#ReTests.test_possessive_quantifiers�	s2��	
���"�(�(�6�6�2�3�������&�&�1�7�7��:�F�C�������&�$�/�5�5�a�8�$�?�������*�f�5�;�;�A�>��G����"�(�(�8�T�2�3�������)�U�3�:�:�<�g�F�������/�5�9�@�@�B� �	"�������-��8�?�?�A��	 �������'�3�/�6�6�8�%�@�������5�%�0�5�5�7��@�������5�%�0�5�5�7��@�������%��/�4�4�6��?�������%��0�5�5�7��@����"�(�(�5�%�0�1����"�(�(�=�%�8�9����"�(�(�?�E�:�;�������-��7�=�=�a�@�#�F�������/�5�9�?�?��B�C�H�������/�5�9�?�?��B�C�H����"�(�(�9�e�4�5����"�(�(�;��6�7��������E�2�3��������e�4�5��������e�4�5����"�(�(�8�U�3�4��������5�1�2rc�(�UO[OQQ22UO[OQQ22UO[OQQ22UO[OQQ22UO[OQQ22UO[OQQ22UO[OQQ22UO[OQQ22UO[OQQ22UO[OQQ22UO[OQQ22UO[OQ	Q22UO[OQ
Q22UO[OQQ22UO[OQQ22UO[OQ
Q22UO[OQ
Q22UO[OQQ22UO[OQQ22UO[OQ
Q22UO[OQQ22UO[OQQ22UO[OQQ22UO[OQQ22P!)r0r�r/�a?+�a{1,3}+rza++bza*+bza?+bza{1,3}+b�(?:ab)++�(?:ab)*+�(?:ab)?+�(?:ab){1,3}+r�z	(?:ab)++cz	(?:ab)*+cz	(?:ab)?+cz
(?:ab){1,3}+c�r�rEr�ryrWs&r�%test_fullmatch_possessive_quantifiers�-ReTests.test_fullmatch_possessive_quantifiers�	s;��������V�S�1�2�������V�S�1�2�������V�S�1�2�������Z��5�6����"�,�,�v�t�4�5����"�,�,�v�t�4�5����"�,�,�v�t�4�5����"�,�,�z�4�8�9�������W�d�3�4�������W�d�3�4�������W�d�3�4�������[�$�7�8�������[�$�7�8�������[�$�7�8�������[�$�7�8�������_�d�;�<����"�,�,�{�E�:�;����"�,�,�{�E�:�;����"�,�,�{�E�:�;����"�,�,���>�?�������\�5�9�:�������\�5�9�:�������\�5�9�:�������%5�u�=�>rc��UO[OQQ2Q,2UO[OQQ2,QN2UO[OQQ2,Q
N2UO[OQQ2Q,2UO[OQQ2Q,2UO[OQ	Q2,QN2UO[OQ
Q2,QN2UO[OQQ2Q,2P!)r0�aabr�r/r6r7r8�ababcrr9r:r;�r�r<r<�r�r�r<r<�rr<r<�rrr<r<rRrWs&r�#test_findall_possessive_quantifiers�+ReTests.test_findall_possessive_quantifiers
s���������F�E�2�T�F�;�������F�E�2�N�C�������F�E�2�4F�G�������J��6���?�������K��9�F�8�D�������K��9�;K�L�������K��9�;O�P�������O�W�=��x�Hrc�0�[OQ2oUOUOQ22UO	UOQ22UO[OQQ22UO	[OQQ22UO	[OQQ22UO[OQQ22UO[OQ	Q22P!)
z�Test Atomic Grouping
Test non-capturing groups of the form (?>...), which does
not maintain any stack point created within the group once the
group is finished being evaluated.z
a(?>bc|b)cr��abccz(?>.*).z(?>x)++roz(?>x++)z(?>x)++xz(?>x++)x)rErGryrzr�)rr�s& r�test_atomic_grouping�ReTests.test_atomic_grouping%
s���
�:�:�m�,�����(�.�.��/�0�������v�.�/����"�(�(�:�u�5�6��������U�3�4��������U�3�4����"�(�(�;��6�7����"�(�(�;��6�7rc�(�UO[OQQ22UO[OQQ22UO[OQQ22UO[OQQ22UO[OQQ22UO[OQQ22UO[OQQ22UO[OQQ22UO[OQQ22UO[OQQ22UO[OQQ22UO[OQ	Q22UO[OQ
Q22UO[OQQ22UO[OQQ22UO[OQ
Q22UO[OQ
Q22UO[OQQ22UO[OQQ22UO[OQ
Q22UO[OQQ22UO[OQQ22UO[OQQ22UO[OQQ22P!)�(?>a+)r��(?>a*)�(?>a?)�
(?>a{1,3})rz(?>a+)bz(?>a*)bz(?>a?)bz(?>a{1,3})b�(?>(?:ab)+)�(?>(?:ab)*)�(?>(?:ab)?)�(?>(?:ab){1,3})r�z(?>(?:ab)+)cz(?>(?:ab)*)cz(?>(?:ab)?)cz(?>(?:ab){1,3})cr<rWs&r�test_fullmatch_atomic_grouping�&ReTests.test_fullmatch_atomic_grouping3
s=��������Y��4�5�������Y��4�5�������Y��4�5�������]�C�8�9����"�,�,�y�$�7�8����"�,�,�y�$�7�8����"�,�,�y�$�7�8����"�,�,�}�d�;�<�������Z��6�7�������Z��6�7�������Z��6�7�������^�T�:�;�������^�T�:�;�������^�T�:�;�������^�T�:�;�������%7��>�?����"�,�,�~�u�=�>����"�,�,�~�u�=�>����"�,�,�~�u�=�>����"�,�,�'9�5�A�B�������_�e�<�=�������_�e�<�=�������_�e�<�=�������%8�%�@�Arc��UO[OQQ2Q,2UO[OQQ2,QN2UO[OQQ2,Q
N2UO[OQQ2Q,2UO[OQQ2Q,2UO[OQ	Q2,QN2UO[OQ
Q2,QN2UO[OQQ2Q,2P!)rMr@r�rNrOrPrQrArrRrSrTrBrCrDrErRrWs&r�test_findall_atomic_grouping�$ReTests.test_findall_atomic_groupingN
s���������I�u�5��v�>�������I�u�5�~�F�������I�u�5�7I�J�������M�5�9�D�6�B�������N�G�<�v�h�G�������N�G�<�>N�O�������N�G�<�>R�S�������$6��@�6�(�Krc��UO[OQQ22UO[OQQ22P!)z(?s:(?>.*?\.).*)\zza.txtz!(?s:(?=(?P<g0>.*?\.))(?P=g0).*)\z)r�rEr�rWs&r�test_bug_gh91616�ReTests.test_bug_gh91616Y
s2��������%:�G�D�E�������%I�7�S�Trc��UO[OQQ2O2Q2UO[OQQ2O2Q2UO[OQQ2O2Q2UO[OQQ2O2Q2UO[OQQ2O2Q2UO[OQQ2O2Q2UO[OQQ2O2Q2UO[OQ	Q2O2Q2UO[OQ
Q2O2Q2UO[OQQ2O2Q2UO[OQ
Q2O2Q2UO[OQQ2O2Q2UO[OQQ2O2Q2UO[OQQ2O2Q2UO[OQQ2O2Q2UO[OQQ2O2Q2P!)z(?>(?:.(?!D))+)�ABCDEz(?:.(?!D))++z(?>(?:.(?!D))*)z(?:.(?!D))*+z(?>(?:.(?!D))?)�CDEz(?:.(?!D))?+z(?>(?:.(?!D)){1,3})z(?:.(?!D)){1,3}+z
(?>(?:ab?c)+)�acaz
(?:ab?c)++z
(?>(?:ab?c)*)z
(?:ab?c)*+z
(?>(?:ab?c)?)r�z
(?:ab?c)?+z(?>(?:ab?c){1,3})z(?:ab?c){1,3}+r�rrr�rWs&r�test_bug_gh100061�ReTests.test_bug_gh100061]
sI��������"3�W�=�B�B�D�f�M�������.�'�:�?�?�A�6�J�������"3�W�=�B�B�D�f�M�������.�'�:�?�?�A�6�J�������"3�U�;�@�@�B�F�K�������.�%�8�=�=�?��H�������"7��A�F�F�H�&�Q�������"4�g�>�C�C�E�v�N�������/�5�9�>�>�@�&�I�������,��6�;�;�=�v�F�������/�5�9�>�>�@�&�I�������,��6�;�;�=�v�F�������/�3�7�<�<�>��G�������,��4�9�9�;�V�D�������"5�u�=�B�B�D�f�M�������"2�E�:�?�?�A�6�Jrc�F�UO[OQQ2O2Q2UO[OQQ2O2Q2UO[OQQ2O2Q2P!)z((x)|y|z)*+r�z
((x)|y|z){3}+z((x)|y|z){3,}+)r�r9r�rWs&r�test_bug_gh101955�ReTests.test_bug_gh101955q
so��������-��7�>�>�@�*�M�������/�5�9�@�@�B�J�O�������"2�E�:�A�A�C�Z�Prztest requires multiprocessingc���[OQ2oQo[OUOPU1Q5oUO2UO
[2UOUO2Q2UO2%c#UO2UO
2P!P!SO2%c"SO2SO
2hh9h)z�(?<=[({}])(((//[^\n]*)?[\n])([\000-\040])*)*((/[^/\[\n]*(([^\n]|(\[\n]*(]*)*\]))[^/\[]*)*/))((((//[^\n]*)?[\n])([\000-\040]|(/\*[^*]*\*+([^/*]\*+)*/))*)+(?=[^\000-\040);\]}]))zja(function() {
            ///////////////////////////////////////////////////////////////////
        });)�target�argszpattern.sub() timed out)rErG�multiprocessing�ProcessrRr�rr
r��is_alive�	terminate)rrC�input_jsr�s&   r�test_regression_gh94675�ReTests.test_regression_gh94675w
s����*�*�H�I��
��
�#�#�7�;�;�b�(�^�L��	���	�	���}��	����Q�Z�Z�\�+D�E��z�z�|�|����
�������q�z�z�|�|����
������s�$ B>�>C7�"C7c�d�UO[OQQ2]*Q2P!)z12(?!)|3�123�3)r>rErwrWs&r�	test_fail�ReTests.test_fail�
s"��������;��6�q�9�3�?rc
�r�QoQFD�oUOUQ59^tt^2UO[OV!2[	U22UO[O
QU*Q*U2O
2U2PPP2J�	P!)%fhJ�9h)�1x
rBr�z)+)z[\s\S]z[\d\D]z[\w\W]z[\S\s]z\s|\S)rHr>rErgr3r�r��rrhr�s&  r�test_character_set_any�ReTests.test_character_set_any�
s���
��E�A����a��(�(�� � ����A�!1�4��7�;�� � ����e�a�i�$�.>��!B�!H�!H�!J�A�N�)�(�F�(�(�(�s�A3B%	�%B6
�.B6
c
�2�QoQFDxoUOUQ59^tt^2UO[OV!22UO[OQU*U22PPP2Jz	P!)%fhJ�9h)rvrBz(?s:.))z[^\s\S]z[^\d\D]z[^\w\W]z[^\S\s])rHryrErwrws&  r�test_character_set_none�ReTests.test_character_set_none�
sj��
��?�A����a��(�(��!�!�"�)�)�A�/�2��!�!�"�)�)�H�q�L�!�"<�=�)�(�@�(�(�(�s�AB	�B
�B
c�Z�QQ[2o[OU2o[U2FD;oUO	Vd2UOU2UUO	PP2t!	P!ScLh9hSO	PP2JcSO	PP2h9h)c��\sQsQsQsP!)�*ReTests.check_interrupt.<locals>.Interrupti�
rr	rrr�	Interruptr�
s��rr�)�	ExceptionrErGr�_fail_afterrz)rrCrS�maxcountr�r�r�s&&&&   r�check_interrupt�ReTests.check_interrupt�
s���	�	�	��J�J�w����x��A�
(��
�
�a�+��������
�
�b�$�'�'�!��
�
��
����
�
�b�$�'���
�
�b�$�'�s)�#A4�4A>�:A>�;B�=A>�>B�B*r�zrequires debug buildc���UOQQ]d2UOQQ]d2UOQQ]d2UOQQ]d2UOQQ]d2UOQQ]d2P!)z(.)*:zabc:z	([^:])*?:z	([^:])*+:z	(.){2,4}:z
([^:]){2,4}?:z
([^:]){2,4}+:)r�rWs&r�test_memory_leaks�ReTests.test_memory_leaks�
sp�����X�v�s�3����\�6�3�7����\�6�3�7����\�6�3�7����-�v�s�;����-�v�s�;rrr)�rr r!r"r?rNrTrXrcrir|r�r�r�r�r�r�r�r�r�r�r�rrrr*r0rBrFrMrSrarsryr}r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrr#r'r-r5r8rEr�r=rS�
ascii_letters�digitsrDrFrNrTrYrfrkrrrvr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrrrr!r'r	�ignore_warningsr�r.r9r>rCrJrTr\rfrirqrtr{rrr�r�r�r�r�r�r�r�r�r�r�r�r��unittest�skipIfr�sys�platform�
startswithr�r�r�r�r�r�r�r�r�r�rrrrrrr rr'r3r=rFrJrUrXr[rardrirnrsrxr{r��
skipUnless�hasattrryr�r#r$ros@rr.r.$s����� �/�/�+�	�E�
7�H�""�+@�Z%�
	'�A�,�. �`/�$/�((�@�"M�H	H�#H�J0�*3J�j.�09�4;�!N�FB�*(-�T.�4�R�>@�<?�>3�
M�O�?�
�"H�H3�,"N�HM�&&N�PF�BB�)�#�B�8R�4&=�PEA�NCF�J?�H�H8�TA�04�$��L�L�)��(�(�6�=�=�8�;L�L�M�
B�B�D�&� �+�+�<�K�@L�8F�*H�$	G�F�
?�
O�3�J�?�
F�:�/�(!�$*�&�&,�,�'�24�(�
,�5�4�*�$�$�.@�A�D�B�D�:M�z9�9�C�:+A�Z;�B8�>�G�$I�4��S��#�(�$�(��S��(�&�)�&�Q�
U�Y�.I�
H�
8�0�4K�(2��$M�
�_�_�^�%�'C�D�
�_�_�S�\�\�,�,�W�5�=�?�$�?�E�$�$9�;��_�_�^�%�'C�D�
�_�_�S�\�\�,�,�W�5�=�?�1�?�E�1�@"7�HF�+� �:4�"*� 9�DH�
:�G�(;�
7�"��u��0��0�%3�N?�6	I�8�B�6	L�U�K�(Q��_�_�_��,�.M�N��O��&@�O�>�(��������]�;�=S�T�<�U�<rr.c���[29^tt^2o[OU[O2PPP2UO	2!)%fhWO	2!9hr)rrErG�DEBUG�getvalue)r
�outs& r�
get_debug_outr��
sE��	�	�	�c�
�
�
�3����!�
��<�<�>��
�	��<�<�>��s�&A�A1	�A1	c�>`�\sQsQsnPsQsQsQsQsQs	Us
P!)�
DebugTestsi�
c�|�QoQoUO[U2U2UO[U2U2P!)z(\.)(?:[ch]|py)(?(1)$|: )a�SUBPATTERN 1 0 0
  LITERAL 46
BRANCH
  IN
    LITERAL 99
    LITERAL 104
OR
  LITERAL 112
  LITERAL 121
GROUPREF_EXISTS 1
  AT AT_END
ELSE
  LITERAL 58
  LITERAL 32

 0. INFO 8 0b1 2 5 (to 9)
      prefix_skip 0
      prefix [0x2e] ('.')
      overlap [0]
 9: MARK 0
11. LITERAL 0x2e ('.')
13. MARK 1
15. BRANCH 10 (to 26)
17.   IN 6 (to 24)
19.     LITERAL 0x63 ('c')
21.     LITERAL 0x68 ('h')
23.     FAILURE
24:   JUMP 9 (to 34)
26: branch 7 (to 33)
27.   LITERAL 0x70 ('p')
29.   LITERAL 0x79 ('y')
31.   JUMP 2 (to 34)
33: FAILURE
34: GROUPREF_EXISTS 0 6 (to 41)
37. AT END
39. JUMP 5 (to 45)
41: LITERAL 0x3a (':')
43. LITERAL 0x20 (' ')
45: SUCCESS
�r>r�)rr
�dumps&  r�test_debug_flag�DebugTests.test_debug_flag�
s=��*��(��R	
����s�+�T�2�	
����s�+�T�2rc�>�UO[Q2Q2P!)z(?>ab?)z�ATOMIC_GROUP
  LITERAL 97
  MAX_REPEAT 0 1
    LITERAL 98

 0. INFO 4 0b0 1 2 (to 5)
 5: ATOMIC_GROUP 11 (to 17)
 7.   LITERAL 0x61 ('a')
 9.   REPEAT_ONE 6 0 1 (to 16)
13.     LITERAL 0x62 ('b')
15.     SUCCESS
16:   SUCCESS
17: SUCCESS
r�rWs&r�test_atomic_group�DebugTests.test_atomic_group�
s������z�2�5�	rc�>�UO[Q2Q2P!)r6z�POSSESSIVE_REPEAT 0 1
  LITERAL 97

 0. INFO 4 0b0 0 1 (to 5)
 5: POSSESSIVE_REPEAT_ONE 6 0 1 (to 12)
 9.   LITERAL 0x61 ('a')
11.   SUCCESS
12: SUCCESS
r�rWs&r�test_possesive_repeat_one�$DebugTests.test_possesive_repeat_ones������v�.�	1�		rc�>�UO[Q2Q2P!)r:z�POSSESSIVE_REPEAT 0 1
  LITERAL 97
  LITERAL 98

 0. INFO 4 0b0 0 2 (to 5)
 5: POSSESSIVE_REPEAT 7 0 1 (to 13)
 9.   LITERAL 0x61 ('a')
11.   LITERAL 0x62 ('b')
13: SUCCESS
14. SUCCESS
r�rWs&r�test_possesive_repeat� DebugTests.test_possesive_repeats������{�3�6�	rr)rr r!r"�maxDiffr�r�r�r�r#r$ros@rr�r��
s$�����G�.3�`�"
��rr�c�p`�\sQsQsnQsQsQsQsQsQs	Qs
Q	sQ
sQs
QsQ
sQsQsUsP!)�PatternReprTestsic�f�UO[[OU22U2P!r�r>r�rErG)rrCrAs&&&r�check�PatternReprTests.checks ������b�j�j��1�2�H�=rc�f�UO[[OV22U2P!rr�)rrCr�rAs&&&&r�check_flags�PatternReprTests.check_flags"s ������b�j�j��8�9�8�Drc�,�UOQQ2P!)rw�re.compile('random pattern')�r�rWs&r�test_without_flags�#PatternReprTests.test_without_flags%s���
�
�#�1�	3rc�J�UOQ[OQ2P!)rwz+re.compile('random pattern', re.IGNORECASE))r�rErnrWs&r�test_single_flag�!PatternReprTests.test_single_flag)s�����)�2�=�=�9�	;rc��UOQ[O[O*[O*Q2P!)rwz@re.compile('random pattern', re.IGNORECASE|re.DOTALL|re.VERBOSE))r�rEr�rr�rWs&r�test_multiple_flags�$PatternReprTests.test_multiple_flags-s.�����)�2�4�4����9�R�T�T�>�
2�	3rc���UOQ[OQ2UOQ[O[O*[O*Q2P!)rwr�z5re.compile('random pattern', re.IGNORECASE|re.DOTALL))r�rEr�r�rrWs&r�test_unicode_flag�"PatternReprTests.test_unicode_flag2sH�����)�2�4�4�7�	9����)�2�4�4����9�R�T�T�>�4�	5rc�,�UOQQ2P!)z(?i)patternz(re.compile('(?i)pattern', re.IGNORECASE)r�rWs&rr9�"PatternReprTests.test_inline_flags9s���
�
�=�=�	?rc�~�UOQQQ2UOQQ[O*Q2P!)rwi0z&re.compile('random pattern', 0x123000)z4re.compile('random pattern', re.IGNORECASE|0x123000))r�rEr�rWs&r�test_unknown_flags�#PatternReprTests.test_unknown_flags=s8�����)�8�A�	C����)�8�B�D�D�=�B�	Drc�n�UOQQ2UOQ[OQ2P!)�
bytes patternzre.compile(b'bytes pattern')z&re.compile(b'bytes pattern', re.ASCII))r�r�rEr�rWs&r�
test_bytes�PatternReprTests.test_bytesCs/���
�
�#�1�	3����)�2�4�4�A�	Crc�J�UOQ[OQ2P!)r�z're.compile(b'bytes pattern', re.LOCALE))r�rErorWs&r�test_locale�PatternReprTests.test_localeIs�����)�2�4�4�B�	Drc�t�UOQQ2UOQQ2UOQQ2P!)zrandom "double quoted" patternz,re.compile('random "double quoted" pattern')zrandom 'single quoted' patternz,re.compile("random 'single quoted' pattern")z!both 'single' and "double" quotesz1re.compile('both \'single\' and "double" quotes')r�rWs&r�test_quotes�PatternReprTests.test_quotesMs;���
�
�3�>�	@��
�
�3�>�	@��
�
�:�E�	Grc��QQQ**o[[OU22oUO[	U2Q2UOUQ2[[OU[O22oUO[	U2Q2UOUQ2UOUQ2P!)zVery %spatternzlong rq�,zre.compile('Very long long lonz, re.IGNORECASE))r�rErGr$rw�assertStartsWithr��assertEndsWith)rrCr�s&  r�test_long_pattern�"PatternReprTests.test_long_patternUs���"�g��n�5������G�$�%������A���$����a�!A�B�����G�R�T�T�*�+������A���$����a�!A�B����A�1�2rc�f�UO[[O2Q2UO[[O[O*[O
*2Q2UO[[O[O*[O
*Q*2Q2UO[[O&2Q2UO[[O[O*[O
*&2Q2UO[[O[O*[O
*Q*&2Q2P!)z
re.IGNORECASEz"re.IGNORECASE|re.DOTALL|re.VERBOSEz+re.IGNORECASE|re.DOTALL|re.VERBOSE|0x100000zLre.ASCII|re.LOCALE|re.UNICODE|re.MULTILINE|re.DOTALL|re.VERBOSE|re.DEBUG|0x1z7re.ASCII|re.LOCALE|re.UNICODE|re.MULTILINE|re.DEBUG|0x1z;re.ASCII|re.LOCALE|re.UNICODE|re.MULTILINE|re.DEBUG|0xffe01i)r>r�rEr�rr�rWs&r�test_flags_repr� PatternReprTests.test_flags_repr_s�������b�d�d��_�5�����b�d�d�2�4�4�i����n�-�=�	?�����b�d�d�2�4�4�i����n�e�4�5�F�	H�����b�d�d�U��^�	`�	
�������R�T�T�	�"�$�$��/�0�R�	T��������R�T�T�	�"�$�$��� 6�7�8�V�	Xrr)rr r!r"r�r�r�r�r�r�r9r�r�r�r�r�r�r#r$ros@rr�r�sR����>�E�3�;�3�
5�?�D�C�D�G�3�X�Xrr�c�`�\sQsQsnQs\Q2sQsQs\Q2s	\Q2s
\Q2s\Q	2s\Q
2s
QsUsP!)�ImplementationTestinz/
Test implementation details of the re module.
c�"�UO[29^tt^2][OmPPP2UO[29^tt^2][O
mPPP2UO[29^tt^2[OP2o[UOP22o]UmPPP2P!)%fhK�9h)%fhK�9h)%fhP!9h)rt)	rDr�rE�Matchr�ryrGr6r�)rr
�tps&  r�test_immutable�!ImplementationTest.test_immutabless����
�
�y�
)�
)��B�H�H�L�*�
�
�
�y�
)�
)��B�J�J�N�*�
�
�
�y�
)�
)��*�*�R�.�C��c�k�k�"�o�&�B��B�F�*�
)�	*�
)��
)�
)��
)�
)�
)�s5�C�C*�8C=�C'	� C'	�*C:	�3C:	�=D	�D	c�n�[OOoUOUP2,2UOUQ2],2UOUQ2,QN2UOUQ2,QN2UOUQ2,QN2UOUQ2,Q	N2P!)
r<r�r��aaaa�ababba�abcabdac)rrrr)rrtr�ru)rrrtr�rrt)rrrrtr�rrtr)rE�	_compiler�_generate_overlap_tabler>)r�fs& r�test_overlap_table�%ImplementationTest.test_overlap_tables����L�L�0�0������2���#�����3��!��%�����6��L�1�����6��L�1�����8��&8�9�����:��(@�Arc��UO[OO]2UO[OO]2P!r�)�assertGreaterEqualrEr��	MAXREPEATr�rWs&r�test_signedness�"ImplementationTest.test_signedness�s6�������� 6� 6��:������� 6� 6��:rc���[U[O2[U[O2[OP2o[U[UO
P222P!r2)rrEr�ryrGr6r�r	s& r�test_disallow_instantiation�.ImplementationTest.test_disallow_instantiation�sD��	%�T�2�8�8�4�$�T�2�:�:�6��j�j��n��$�T�4����B��+@�Arc	��]PHo[]�2FD�o[U2o[UO	22oUOUO
U2U2UOUOU2U2U[O7oUOUOU2U2UOUOU2U2J�	[[]�Q22QQ,*FCDo[U2oUOUO
U2U2UQ6wc9UOUOU2[UO	222V3O	26g9%fV3O26goUOUOU22SOUOU2V3O	26g9%fV3O26g2CJ		UOUO
Q2Q2UOUOQ2[Q22UOUOQ22UOUOQ22P!)riii(�0r�)�_srerr��ordrOr>�
ascii_tolower�unicode_tolowerrSr��
ascii_iscased�unicode_iscasedr3�upperr�r�)rr�r�r��lo�iscaseds&     r�test_case_helpers�$ImplementationTest.test_case_helpers�s�����s��A��A��A��Q�W�W�Y��B����T�/�/��2�B�7����T�1�1�!�4�b�9��6�/�/�/�G����T�/�/��2�G�<����T�1�1�!�4�g�>���e�C��(�)�W�g�,>�>�>�A��A��A����T�/�/��2�A�6��F�{�� � ��!5�!5�a�!8�#�a�g�g�i�.�I��7�7�9�n�6�6��W�W�Y��G����T�/�/��2�3����T�1�1�!�4��'�'�)�^�=�=�q�G�G�I�~�
?�?�	
����+�+�F�3�V�<�����-�-�f�5�s�3�x�@�����+�+�F�3�4�����,�,�V�4�5rc
�N�]PHo]]�*oUO[[OQ-2UO[
29^tt^2UO
Q]U,]-Q2PPP2UO[29^tt^2UO
-],],,2PPP2UO[29^tt^2UO
P]Q,]-Q2PPP2P!)%fhK�9h)%fhKb9h)%fhP!9h)rr�r�r)r�rDr�rEr^r�rG)rr��
long_overflows&  r�test_dealloc�ImplementationTest.test_dealloc�s���	�
�3��
����)�R�[�[�#�r�:�
�
�
�}�
-�
-��L�L���M�?�A�r�2�>�.�
�
�
�y�
)�
)��L�L��Q��A�r�2�.�*��
�
�y�
)�
)��L�L��Q����B��3�*�
)�.�
-��
)�
)��*�
)�
)�s6�C-�D�D�-C=	�6C=	�D	�	D	�D$	�D$	c���]QHGoQQ*oUO	[
OQW]*
*U22UO[
OQU]*
*U2O2Q2UO	[
OQU]*
*U22UO[[
OQU*2UO[[
OQU*2UO[[
OQU*2P![cSOQ2CKYh9h)	r)r�z requires _sre.MAXREPEAT constantr9r�r�r�r�)rr�)r�r��ImportErrorr�ryrErzr>rxrDr�rG)rr�rSs&  r�%test_repeat_minmax_overflow_maxrepeat�8ImplementationTest.test_repeat_minmax_overflow_maxrepeat�s���	>�&��v������"�(�(�8�y�1�}�#=�v�F�G�������)�y�1�}�"=�v�F�K�K�M�$�	&����"�(�(�:��Q��#?��H�I����-����X�	�5I�J����-����Y��5J�K����-����Z�)�5K�L���	>��M�M�<�=�	>�s�E�	E#�
E#�"E#c���]PHoUO[29^tt^2oUOP,QN2PPP2UO	Q[WO22UO[29^tt^2oUOP,QN2PPP2UO	Q[UO22P!)%fhK�9h)%fhKJ9h)rzinvalid templatezan integer is required)r<r�r<)r<rr<)r�rDr��templater�r�rI)rr�rLs&  r�%test_sre_template_invalid_group_index�8ImplementationTest.test_sre_template_invalid_group_index�s���	�
�
�
�y�
)�
)�R��M�M�"�l�+�*��
�
�(�#�b�l�l�*;�<�
�
�
�y�
)�
)�R��M�M�"�l�+�*��
�
�.��B�L�L�0A�B�*�
)��*�
)�s#�C�C�C	�C	�C)	�"C)	r)rr r!r"�__doc__rr�r�r�r�r�r�rrr#r$ros@rr�r�ns�������	��	�B�;��B��B��6��6�4�4��4�"�M��M��C��Crr�c�.`�\sQsQsnQsQsQsUsP!)�
ExternalTestsi�c��]QHGoSFCDbvq#UOV#Q59^tt^2[OU2oUOUO
U22UOUOU22UOUOU22QQ*U*QQ**oUOUO
U22UOUOUQ22UOUOUQQ[U2*22UOUOUQQ[U2*22PPP2CJe	P!)%fhCJ{9h)zre_tests benchmarks)�
benchmarks�rCrSr�r�)
�
test.re_testsr
rHrErGr�rwrzr�rw)rr
rCrhr��s2s&     r�test_re_benchmarks� ExternalTests.test_re_benchmarks�s��,�$�J�G����g��8�8��J�J�w�'����������,��������
�+�������A��/���Y��]�S��Y�.����������-��������E� 2�3��������E�5�3�q�6�>� B�C�������B��u�s�1�v�~� F�G�9�8�%�8�8�8�s�D:E4	�4F
�=F
c�t
�]QHGoGoGoSFCDJoP9o9o9o9q�[	U2]6XcUvqVqxo	L"[	U2]6XcUvqVoL[QU2gUO
VVQ59^tt^2Vs6XcRUO[O29^tt^2[OU2PPP2PPP2J�[OU2o
U
OU2oVr6XcUOUQ2PPP2CJUO
29^tt^2UOUQ2UO]2vq�QUO]2QUO2QUOO -o[#]]d2FD'oUOU2oUeQ	oUUQU*$J)	UOO&O)2FDoUOU2oUeQ	oUV�$J!	UO+[-V�2U	Q2PPP2[/UQ
2o[/UQ
2oUO
Q29^tt^2[OU2o
UOU
OU22PPP2UO
Q29^tt^2[OU[O02o
U
OU2oUe
[3QU2PPP2UQ*Q6wcpUQPQ6wcfUdbUO
Q29^tt^2[OU2o
UOU
OUWW
]*22PPP2UO
Q29^tt^2[OU[O62o
UOU
OU22PPP2UO
Q29^tt^2[OU[O82o
UOU
OU22PPP2PPP2CJM	P!)%fhCK�9h[$cQ
oCK�h9h[$cQ
oCK�h9h)%fhCK�9h)%fhCK#9h)%fhCK�9h[4cCK�h9h)%fhCKx9h)%fhCK%9h)%fhK�9h)%fhCJ(9h)zre_tests test suite)�tests�FAIL�SYNTAX_ERRORz%Test tuples should have 3 or 5 fieldsrzSucceeded incorrectlyzFailed incorrectly�foundr`r��Noner�zg%dzgrouping errorrLzbytes pattern matchzlocale-sensitive matchz#=== Fails on locale-sensitive match:Nr�Nr�zrange-limited matchzcase-insensitive matchzunicode-sensitive match���)rrrrrwr�rHrDrErFrGrwryr�rxr�r�rr)r��keysr>�evalr1r��print�UnicodeEncodeErrorrnr^)rrrrr
rCrh�outcomerQrA�objr�r�r��vardictr��girB�bss&                  r�
test_re_tests�ExternalTests.test_re_tests�s��;�;��A�6:�:�G�:�a�:�'�:�D��1�v��{�67�3��G�8��Q��1��&'�#��G� �!H�!�L�L����g��8�8��*��*�*�2�?�?�;�;��
�
�7�+�<��	9�8��j�j��)�����A����?��%�%�f�.E�F��9�8��\�\�^�^��O�O�F�,@�A�"(���Q��J�E�&����Q��'�����&��	�	���9�G�#�1�c�]��)�!'���a��B�!�z�%+��.0����	�*�+�$�Y�Y�1�1�6�6�8��)�!'���a��B�!�z�%+��&(��
�9��$�$�T�$�%8�(�%5�7�3$�<L� ��'�2�D��q�'�*�B�
���&;�<�<� �j�j��.������
�
�2��7�=����&>�?�?� �j�j��r�y�y�9��!$���B���!�>�!�"G��K�	@��B�K�5�(�W�R�S�\�U�-B� &� 2����&;�<�<� �j�j��1������
�
�1�e�S�1�W�(E�F�=��\�\�":�;�;��*�*�W�b�m�m�<�C��O�O�C�J�J�q�M�2�<��\�\�";�<�<��*�*�W�b�j�j�9�C��O�O�C�J�J�q�M�2�=�_9�8��<�;�;��0 *�)�!(�B�)�� *�)�!(�B�)��-$�^�^��J=�<�<��@�?�?��*�����,=�<�<��<�;�;��=�<��_9�8�8�s��/T%	�6'T%	�Q 
�4	T%	�,T%	�4T%	�T%	�*A/R
�Q4�/Q4�18R
�*R�?R�$R
�%T%	�.S�T%	�7R0
�!T%	�7:S
�2S
�>T%	�	T%	�T%	�"T%	�;AS*
�;!T%	�AS>
�"!T%	�AT
�	T%	� Q1�)Q1�+	T%	�4	R�>R�R
�R�R
�	R�R�R
�R�R
�R-�%R-�'	T%	�0S�9S�;	T%	�S�
S�	T%	�	S'�"S'�#T%	�&S'�'T%	�*S;�3S;�5	T%	�>T�T�		T%	�T"�T"�T%	�%T7
�.T7
r)rr r!r"rr#r#r$ros@rrr�s����
H�]3�]3rrc�(`�\sQsQsnQsQsUsP!)�
TestModuleiMc���UO[Q29^tt^2o[[Q2PPP2UO	WO
[2P!)%fhK29h)zA'__version__' is deprecated and slated for removal in Python 3.20�__version__)r3r��getattrrEr>r�r�)rrLs& r�test_deprecated__version__�%TestModule.test_deprecated__version__NsP��
�
"�
"��O�
�
���B�
�&�	
�
	
������h�/�
�
�s�A�A+	�$A+	r)rr r!r"r*r#r$ros@rr&r&Ms����0�0rr&�__main__)&�test.supportrrrrrrrr	r
rrrMrErSr�r�r2r
�weakrefr�_multiprocessingrirr�rr1r*�TestCaser.r�r�r�r�rr&r�mainrrr�<module>r2s!��X�X�X�X��	�
�
��������-��-�-��-�Q*<�h���Q*<�hT��\��"�"�\��\�~MX�x�(�(�MX�`kC��*�*�kC�\n3�H�%�%�n3�b0��"�"�0��z���M�M�O���Mb���O��s�D�D
�D
�D


Youez - 2016 - github.com/yon3zu
LinuXploit