Ë
    åÿæir ã                   ó¶   — d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZ G d„ de«      Z	 G d„ de
«      Z G d„ dej                  «      Zd	„ Zed
k(  r e«        yy)é    )ÚproxyNc                   ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚStrSubclassc                 ó4   •— t        t        ‰| �	  |«      «      S ©N)r   ÚsuperÚ__getitem__©ÚselfÚindexÚ	__class__s     €úk/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/regex/tests/test_regex.pyr	   zStrSubclass.__getitem__   s   ø€ Üœ5™7Ñ.¨uÓ5Ó6Ð6ó    ©Ú__name__Ú
__module__Ú__qualname__r	   Ú__classcell__©r   s   @r   r   r   
   s   ø„ ÷7ð 7r   r   c                   ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚBytesSubclassc                 ó4   •— t        t        ‰| �	  |«      «      S r   )r   r   r	   r
   s     €r   r	   zBytesSubclass.__getitem__   s   ø€ ÜœU™WÑ0°Ó7Ó8Ð8r   r   r   s   @r   r   r      s   ø„ ÷9ð 9r   r   c                   óä  — e Zd ZdZdZdZdZdZdZdZ	dZ
dZd	Zd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdƒd„Zd„ Zd„ Z d„ Z!d „ Z"d!„ Z#d"„ Z$d#„ Z%d$„ Z&d%„ Z'd&„ Z(d'„ Z)d(„ Z*d)„ Z+d*„ Z,d+„ Z-d,„ Z.d-„ Z/d.„ Z0d/„ Z1d0„ Z2d1„ Z3d2„ Z4d3„ Z5d4„ Z6d5„ Z7d6„ Z8d7„ Z9d8„ Z:d9„ Z;d:„ Z<d;„ Z=d<„ Z>d=„ Z?d>„ Z@d?„ ZAd@„ ZBdA„ ZCdB„ ZDdC„ ZEdD„ ZFdE„ ZGdF„ ZHdG„ ZIdH„ ZJdI„ ZKdJ„ ZLdK„ ZMdL„ ZNdM„ ZOdN„ ZPdO„ ZQdP„ ZRdQ„ ZSdR„ ZTdS„ ZUdT„ ZVdU„ ZWdV„ ZXdW„ ZYdX„ ZZdY„ Z[dZ„ Z\d[„ Z]d\„ Z^d]„ Z_d^„ Z`d_„ Zad`„ Zbda„ Zcdb„ Zddc„ Zedd„ Zfde„ Zgdf„ Zhdg„ Zidh„ Zjdi„ Zkdj„ Zldk„ Zmdl„ Zndm„ Zodn„ Zpdo„ Zqdp„ Zrdq„ Zsdr„ Ztds„ Zudt„ Zvdu„ Zwdv„ Zxdw„ Zydx„ Zzdy„ Z{dz„ Z|d{„ Z}d|„ Z~d}„ Zd~„ Z€d„ Z�d€„ Z‚d�„ Zƒd‚„ Z„y)„Ú
RegexTestsz<class '_regex.Pattern'>z5cannot process flags argument with a compiled patternzinvalid group referencez	missing >zbad character in group namezmissing group namez	missing <zunknown groupzbad escape \(end of pattern\)zbad escape \\zunterminated character setz2cannot use a string pattern on a bytes-like objectz2cannot use a bytes pattern on a string-like objectz"expected str instance, bytes foundz'expected a bytes-like object, str foundz,cannot use UNICODE flag with a bytes patternz9ASCII, LOCALE and UNICODE flags are mutually incompatiblez
missing \)zunbalanced parenthesiszbad character rangeznothing to repeatzmultiple repeatzcannot refer to an open groupzduplicate groupz'bad inline flags: cannot turn flags offzundefined character nameNc                 óP   ‡ ‡‡— ‰ j                  ||‰«       ˆˆˆ fd„Š ‰||«       y )Nc                 ó¸   •— t        |t        t        f«      rt        | |«      D ]  \  }} ‰||«       Œ y ‰j	                  t        | «      t        |«      ‰«       y r   )Ú
isinstanceÚtupleÚlistÚzipÚassertIsÚtype)ÚactualÚexpectÚxÚyÚmsgÚrecurser   s       €€€r   r(   z,RegexTests.assertTypedEqual.<locals>.recurse2   sI   ø€ Ü˜&¤5¬$ -Ô0Ü ¨Ö/‘D�A�qÙ˜A˜q•Mñ 0ð —‘œd 6›l¬D°«L¸#Õ>r   )ÚassertEqual)r   r#   r$   r'   r(   s   `  `@r   ÚassertTypedEqualzRegexTests.assertTypedEqual/   s&   ú€ Ø×Ñ˜ ¨Ô-ö	?ñ 	�˜Õr   c                 ó°   — d}t        j                  d«      }t        |«      }|j                  d«      |j                  d«      k7  r| j	                  «        y y )NÚQabbbcRzab+c)ÚregexÚcompiler   ÚfindallÚfail)r   Úsr%   r&   s       r   Útest_weakrefzRegexTests.test_weakref;   sF   € ØˆÜ�M‰M˜&Ó!ˆÜ�!‹HˆØ�9‰9�YÓ 1§9¡9¨YÓ#7Ò7Ø�I‰I�Kð 8r   c                 óä  — | j                  t        j                  dd«      j                  d«      d«       | j                  t        j                  dd«      j                  «       d«       | j                  t        j                  dd«      j                  d«      d«       | j                  t        j                  dd«      j                  «       d«       | j                  t        j                  d	d
«      d «       | j                  t        j                  dd«      j                  d«      d«       | j                  t        j                  dd«      j                  «       d«       | j                  t        j                  dd«      j                  d«      d«       | j                  t        j                  dd«      j                  «       d«       | j                  t        j                  dd«      d «       y )Núa*Úxxxr   ©r   r   zx*Úaxxúx+©é   é   r%   ÚaaaÚxxxa©r   r;   úa+)r)   r-   ÚsearchÚspanÚmatch©r   s    r   Útest_search_star_plusz RegexTests.test_search_star_plusB   s`  € Ø×ÑœŸ™ d¨EÓ2×7Ñ7¸Ó:¸FÔCØ×ÑœŸ™ d¨EÓ2×7Ñ7Ó9¸6ÔBØ×ÑœŸ™ d¨EÓ2×7Ñ7¸Ó:¸FÔCØ×ÑœŸ™ d¨EÓ2×7Ñ7Ó9¸6ÔBØ×ÑœŸ™ c¨5Ó1°4Ô8Ø×ÑœŸ™ T¨5Ó1×6Ñ6°qÓ9¸6ÔBØ×ÑœŸ™ T¨5Ó1×6Ñ6Ó8¸&ÔAØ×ÑœŸ™ T¨6Ó2×7Ñ7¸Ó:¸FÔCØ×ÑœŸ™ T¨6Ó2×7Ñ7Ó9¸6ÔBØ×ÑœŸ™ T¨5Ó1°4Õ8r   c                 ó:   — t        |d   «      }t        |dz   «      S )Nr   r:   )ÚintÚstr)r   ÚmatchobjÚ	int_values      r   Úbump_numzRegexTests.bump_numN   s   € Ü˜ ™Ó$ˆ	Ü�9˜q‘=Ó!Ð!r   c                 ó6  — | j                  t        j                  ddd«      d«       | j                  t        j                  d| j                  d«      d«       | j                  t        j                  d| j                  dd«      d	«       | j                  t        j                  d
d„ d«      d«       | j                  t        j                  d
dd«      d«       | j                  t        j                  ddd«      d«       | j                  t        j                  ddd«      d«       | j                  t        j                  ddd«      d«       | j                  t        j                  ddd«      d«       | j                  t        j                  ddd«      d«       | j                  t        j                  ddd«      d«       | j                  t        j                  ddd«      t	        d«      t	        d«      z   t	        d«      z   t	        d«      z   t	        d«      z   t	        d«      z   «       | j                  t        j                  d d!d"«      d#«       | j                  t        j                  dd$d«      d«       | j                  t        j                  dd%d«      d«       | j                  t        j                  dd&d«      d«       | j                  t        j                  dd'd«      d(«       | j                  t        j                  d)d*d)«      d+«       y ),Nú(?i)b+r%   ú	bbbb BBBBúx xú\d+z08.2 -2 23x99yz9.3 -3 24x100yr;   z9.3 -3 23x99yÚ.c                  ó   — y)Nú\n© ©Úms    r   Ú<lambda>z1RegexTests.test_basic_regex_sub.<locals>.<lambda>Y   s   € °%r   rR   Ú
ú(?P<a>x)z
\g<a>\g<a>ÚxxÚxxxxz
\g<a>\g<1>ú
(?P<unk>x)z\g<unk>\g<unk>z
\g<1>\g<1>Úaz\t\n\v\r\f\a\bz	
ú	
é	   é
   é   é   é   é   z^\s*ÚXÚtestÚXtestz\x0Az\u000Az
\U0000000Az\N{LATIN CAPITAL LETTER A}ÚAó   xs   \x0Aó   
)r)   r-   ÚsubrJ   ÚchrrC   s    r   Útest_basic_regex_subzRegexTests.test_basic_regex_subR   sp  € Ø×ÑœŸ™ 8¨S°+Ó>ÀÔFØ×ÑœŸ™ 6¨4¯=©=Ð:JÓKØ
ô	à×ÑœŸ™ 6¨4¯=©=Ð:JÈAÓNØ
ô	ð 	×ÑœŸ™ 3©¸Ó=¸uÔEØ×ÑœŸ™ 3¨¨sÓ3°TÔ:à×ÑœŸ™ :¨}¸dÓCÀVÔLØ×ÑœŸ™ :¨}¸dÓCÀVÔLØ×ÑœŸ™ <Ð1BÀDÓIØ
ô	à×ÑœŸ™ <°ÀÓEÀvÔNà×ÑœŸ™ 3Ð(9¸3Ó?ÐAQÔRØ×ÑœŸ™ 3¨¸Ó<¸nÔMØ×ÑœŸ™ 3¨¸Ó<¼cÀ!»fÄsÈ2ÃwÑ>NÜ�‹Gñ?Ü˜"“gñ?Ü # B£ñ?(Ü*-¨a«&ñ?1ô 	2ð 	×ÑœŸ™ 7¨C°Ó8¸'ÔBà×ÑœŸ™ 4¨°#Ó6¸Ô=Ø×ÑœŸ™ 4¨°CÓ8¸$Ô?Ø×ÑœŸ™ 4¨¸Ó<¸dÔCØ×ÑœŸ™ 4Ð)FØ
óØô	ð 	×ÑœŸ™ 5¨(°DÓ9¸5ÕAr   c                 óR   — | j                  t        j                  ddd«      d«       y )Nr[   z\g<1>\g<1>\brY   zxxxx©r)   r-   rj   rC   s    r   Útest_bug_449964zRegexTests.test_bug_449964q   s"   € à×ÑœŸ™ =°/À4ÓHØ
õ	r   c                 ó<  — | j                  t        j                  ddd«      d«       | j                  t        j                  ddd«      d«       | j                  t        j                  ddd«      d«       | j                  t        j                  ddd«      d«       y )Nz\r\nrR   z
abc
def
zabc
def
ú
rW   rn   rC   s    r   Útest_bug_449000zRegexTests.test_bug_449000v   s†   € à×ÑœŸ™ 7¨EÐ3CÓDØ
ô	à×ÑœŸ™ 6¨5Ð2BÓCØ
ô	à×ÑœŸ™ 7¨DÐ2BÓCØ
ô	à×ÑœŸ™ 6¨4Ð1AÓBØ
õ	r   c                 óP  ‡— t        j                  d«      Š| j                  t        | j                  ˆfd„«       | j                  t        | j                  ˆfd„«       | j                  t        | j                  ˆfd„«       | j                  t        | j                  ˆfd„«       y )NrP   c                  óN   •— t        j                  ‰ dt         j                  «      S ©Nrg   )r-   rB   ÚI©Úpatterns   €r   rV   z*RegexTests.test_bug_1661.<locals>.<lambda>…   s   ø€ ”%—+‘+˜g s¬E¯G©GÔ4r   c                  óN   •— t        j                  ‰ dt         j                  «      S ru   )r-   r@   rv   rw   s   €r   rV   z*RegexTests.test_bug_1661.<locals>.<lambda>‡   s   ø€ ”%—,‘,˜w¨¬U¯W©WÔ5r   c                  óN   •— t        j                  ‰ dt         j                  «      S ru   )r-   r/   rv   rw   s   €r   rV   z*RegexTests.test_bug_1661.<locals>.<lambda>‰   s   ø€ ”%—-‘- ¨¬e¯g©gÔ6r   c                  óL   •— t        j                  ‰ t         j                  «      S r   )r-   r.   rv   rw   s   €r   rV   z*RegexTests.test_bug_1661.<locals>.<lambda>‹   s   ø€ ”%—-‘- ¬¯©Ô1r   )r-   r.   ÚassertRaisesRegexÚ
ValueErrorÚFLAGS_WITH_COMPILED_PAT©r   rx   s    @r   Útest_bug_1661zRegexTests.test_bug_1661�   s}   ø€ ä—-‘- Ó$ˆØ×Ñœz¨4×+GÑ+GÛ
4ô	6à×Ñœz¨4×+GÑ+GÛ
5ô	7à×Ñœz¨4×+GÑ+GÛ
6ô	8à×Ñœz¨4×+GÑ+GÛ
1õ	3r   c           	      ó†   — | j                  t        t        t        j                  d«      «      «      | j
                  «       y )Nz(?P<quote>)(?(quote)))r)   Úreprr"   r-   r.   ÚPATTERN_CLASSrC   s    r   Útest_bug_3629zRegexTests.test_bug_3629�   s/   € à×Ñœœd¤5§=¡=Ð1HÓ#IÓJÓKØ
×
Ñ
õ	r   c                 óŠ
  — | j                  t        j                  ddd«      d«       | j                  t        j                  ddd«      d«       | j                  t        j                  ddd«      d«       | j                  t        j                  ddd«      d«       | j                  t        j                  dd	d«      d
«       | j                  t        j                  ddd«      d«       | j                  t        j                  ddd«      d«       | j                  t        j                  ddd«      d«       | j                  t        j                  ddd«      d«       | j                  t        j                  ddd«      d«       | j                  t        j                  ddd«      d«       | j                  t        j                  ddd«      d«       | j                  t        j                  ddd«      d
«       | j                  t        j                  ddd«      d«       | j                  t        j                  ddd«      d«       | j                  t        j                  ddd«      d«       | j                  t        j                  ddd«      d«       | j                  t        j                  ddd«      d «       | j                  t        j                  | j
                  d!„ «       | j                  t        j                  | j
                  d"„ «       | j                  t        j                  | j
                  d#„ «       | j                  t        j                  | j
                  d$„ «       | j                  t        j                  | j
                  d%„ «       | j                  t        j                  | j
                  d&„ «       | j                  t        j                  | j
                  d'„ «       | j                  t        j                  | j
                  d(„ «       | j                  t        j                  | j
                  d)„ «       | j                  t        j                  | j
                  d*„ «       | j                  t        j                  | j
                  d+„ «       | j                  t        j                  | j
                  d,„ «       | j                  t        j                  d-d.d«      d«       | j                  t        j                  d/d0d1«      d2«       | j                  t        j                  d/d3d1«      d4«       y )5Nr%   ú\0Ú z\000z\001Úz\008z 8z\009z 9z\111rv   z\117ÚOz\1111ÚI1z\00z\07Úz\08ú\09z\0az az\400u   Ä€z\777u   Ç¿rh   s   \400ó    s   \777ó   ÿc                  ó0   — t        j                  ddd«      S )Nr%   ú\1©r-   rj   rS   r   r   rV   z=RegexTests.test_sub_template_numeric_escape.<locals>.<lambda>ª   ó   € Ü
�)‰)�C˜ Ô
$r   c                  ó0   — t        j                  ddd«      S )Nr%   z\8r‘   rS   r   r   rV   z=RegexTests.test_sub_template_numeric_escape.<locals>.<lambda>¬   r’   r   c                  ó0   — t        j                  ddd«      S )Nr%   z\9r‘   rS   r   r   rV   z=RegexTests.test_sub_template_numeric_escape.<locals>.<lambda>®   r’   r   c                  ó0   — t        j                  ddd«      S )Nr%   ú\11r‘   rS   r   r   rV   z=RegexTests.test_sub_template_numeric_escape.<locals>.<lambda>°   ó   € Ü
�)‰)�C˜ Ô
%r   c                  ó0   — t        j                  ddd«      S )Nr%   z\18r‘   rS   r   r   rV   z=RegexTests.test_sub_template_numeric_escape.<locals>.<lambda>²   r—   r   c                  ó0   — t        j                  ddd«      S )Nr%   z\1ar‘   rS   r   r   rV   z=RegexTests.test_sub_template_numeric_escape.<locals>.<lambda>´   r—   r   c                  ó0   — t        j                  ddd«      S )Nr%   z\90r‘   rS   r   r   rV   z=RegexTests.test_sub_template_numeric_escape.<locals>.<lambda>¶   r—   r   c                  ó0   — t        j                  ddd«      S )Nr%   z\99r‘   rS   r   r   rV   z=RegexTests.test_sub_template_numeric_escape.<locals>.<lambda>¸   r—   r   c                  ó0   — t        j                  ddd«      S )Nr%   ú\118r‘   rS   r   r   rV   z=RegexTests.test_sub_template_numeric_escape.<locals>.<lambda>º   ó   € Ü
�)‰)�C˜ #Ô
&r   c                  ó0   — t        j                  ddd«      S )Nr%   ú\11ar‘   rS   r   r   rV   z=RegexTests.test_sub_template_numeric_escape.<locals>.<lambda>¼   rž   r   c                  ó0   — t        j                  ddd«      S )Nr%   z\181r‘   rS   r   r   rV   z=RegexTests.test_sub_template_numeric_escape.<locals>.<lambda>¾   rž   r   c                  ó0   — t        j                  ddd«      S )Nr%   z\800r‘   rS   r   r   rV   z=RegexTests.test_sub_template_numeric_escape.<locals>.<lambda>À   rž   r   z(((((((((((x)))))))))))r–   z((((((((((y))))))))))(.)r�   ÚxyzÚxz8r    Úxza)r)   r-   rj   r|   ÚerrorÚINVALID_GROUP_REFrC   s    r   Ú test_sub_template_numeric_escapez+RegexTests.test_sub_template_numeric_escape’   s	  € à×ÑœŸ™ 3¨¨sÓ3°TÔ:Ø×ÑœŸ™ 3¨°Ó5°vÔ>Ø×ÑœŸ™ 3¨°Ó5°vÔ>Ø×ÑœŸ™ 3¨°Ó5°zÔBØ×ÑœŸ™ 3¨°Ó5°zÔBØ×ÑœŸ™ 3¨°Ó5°vÔ>Ø×ÑœŸ™ 3¨°Ó5°vÔ>à×ÑœŸ™ 3¨°#Ó6¸Ô@Ø×ÑœŸ™ 3¨°#Ó6¸ÔEà×ÑœŸ™ 3¨°Ó4°fÔ=Ø×ÑœŸ™ 3¨°Ó4°fÔ=Ø×ÑœŸ™ 3¨°Ó4°jÔAØ×ÑœŸ™ 3¨°Ó4°jÔAØ×ÑœŸ™ 3¨°Ó4°jÔAà×ÑœŸ™ 3¨°Ó5°xÔ@Ø×ÑœŸ™ 3¨°Ó5°xÔ@Ø×ÑœŸ™ 4¨°4Ó8¸'ÔBØ×ÑœŸ™ 4¨°4Ó8¸'ÔBà×ÑœuŸ{™{¨D×,BÑ,Bñ E%ô 	&à×ÑœuŸ{™{¨D×,BÑ,Bñ E%ô 	&à×ÑœuŸ{™{¨D×,BÑ,Bñ E%ô 	&à×ÑœuŸ{™{¨D×,BÑ,Bñ E&ô 	'à×ÑœuŸ{™{¨D×,BÑ,Bñ E&ô 	'à×ÑœuŸ{™{¨D×,BÑ,Bñ E&ô 	'à×ÑœuŸ{™{¨D×,BÑ,Bñ E&ô 	'à×ÑœuŸ{™{¨D×,BÑ,Bñ E&ô 	'à×ÑœuŸ{™{¨D×,BÑ,Bñ E'ô 	(à×ÑœuŸ{™{¨D×,BÑ,Bñ E'ô 	(à×ÑœuŸ{™{¨D×,BÑ,Bñ E'ô 	(à×ÑœuŸ{™{¨D×,BÑ,Bñ E'ô 	(ð 	×ÑœŸ™Ð#<¸fÀcÓJØ
ô	à×ÑœŸ™Ð#=¸wÈÓNØ
ô	à×ÑœŸ™Ð#=¸wÈÓNØ
õ	r   c                 ó¢   — | j                  t        j                  ddd«      d«       | j                  t        j                  dddd«      d«       y )Nr\   ÚbÚaaaaaÚbbbbbr:   Úbaaaarn   rC   s    r   Útest_qualified_re_subz RegexTests.test_qualified_re_subË   s>   € Ø×ÑœŸ™ 3¨¨WÓ5°wÔ?Ø×ÑœŸ™ 3¨¨W°aÓ8¸'ÕBr   c                 óR   — | j                  t        j                  ddd«      d«       y )Nz(\S)\s+(\S)z\1 \2zhello  therezhello therern   rC   s    r   Útest_bug_114660zRegexTests.test_bug_114660Ï   s"   € Ø×ÑœŸ™ >°8¸^ÓLØ
õ	r   c                 ód  — t         j                  dk\  r(| j                  t        j                  ddd«      d«       n'| j                  t        j                  ddd«      d«       | j                  t        j                  ddd«      d«       | j                  t        j                  ddd«      d	«       y )
N©r;   rc   r   z(?V0)x*Ú-Úabxdz-a-b--d-z-a-b-d-z(?V1)x*r8   zab-d©ÚsysÚversion_infor)   r-   rj   rC   s    r   Útest_bug_462270zRegexTests.test_bug_462270Ó   s„   € ä×Ñ˜yÒ(Ø×ÑœUŸY™Y y°#°vÓ>À
ÕKà×ÑœUŸY™Y y°#°vÓ>À	ÔJØ×ÑœŸ™ 9¨c°6Ó:¸JÔGØ×ÑœŸ™ 4¨¨fÓ5°vÕ>r   c                 ó~   — d}| j                  t        j                  d|z   dz   d«      j                  |«      d«       y )Nô   Ã¿z(?P<z>a)Úabcr\   )r)   r-   r@   Úgroup)r   Ú
group_names     r   Útest_bug_14462zRegexTests.test_bug_14462Ü   s;   € àˆ
Ø×ÑœŸ™ g°
Ñ&:¸UÑ&BØ
óß‘�zÓ" Cõ	)r   c                 óô  — | j                  t        j                  | j                  d„ «       | j                  t        j                  | j                  d„ «       | j                  t        j                  | j
                  d„ «       | j                  t        j                  | j                  d„ «       | j                  t        j                  | j                  d„ «       | j                  t        | j                  d„ «       | j                  t        j                  ddd	«      d
«       | j                  t        j                  ddd	«      d
«       | j                  t        j                  | j                  d„ «       y )Nc                  ó0   — t        j                  ddd«      S )NrX   z\g<arY   r‘   rS   r   r   rV   z/RegexTests.test_symbolic_refs.<locals>.<lambda>ã   s   € Ü
�)‰)�J ¨Ô
.r   c                  ó0   — t        j                  ddd«      S )NrX   z\g<rY   r‘   rS   r   r   rV   z/RegexTests.test_symbolic_refs.<locals>.<lambda>å   s   € Ü
�)‰)�J ¨Ô
-r   c                  ó0   — t        j                  ddd«      S )NrX   ú\grY   r‘   rS   r   r   rV   z/RegexTests.test_symbolic_refs.<locals>.<lambda>ç   s   € Ü
�)‰)�J  tÔ
,r   c                  ó0   — t        j                  ddd«      S )NrX   z\g<a a>rY   r‘   rS   r   r   rV   z/RegexTests.test_symbolic_refs.<locals>.<lambda>é   ó   € Ü
�)‰)�J 
¨DÔ
1r   c                  ó0   — t        j                  ddd«      S )NrX   z\g<1a1>rY   r‘   rS   r   r   rV   z/RegexTests.test_symbolic_refs.<locals>.<lambda>ë   rÅ   r   c                  ó0   — t        j                  ddd«      S )NrX   z\g<ab>rY   r‘   rS   r   r   rV   z/RegexTests.test_symbolic_refs.<locals>.<lambda>í   ó   € Ü
�)‰)�J 	¨4Ô
0r   z(?P<a>x)|(?P<b>y)z\g<b>rY   Ú z\2c                  ó0   — t        j                  ddd«      S )NrX   z\g<-1>rY   r‘   rS   r   r   rV   z/RegexTests.test_symbolic_refs.<locals>.<lambda>ö   rÈ   r   )r|   r-   r¦   Ú
MISSING_GTÚMISSING_GROUP_NAMEÚ
MISSING_LTÚBAD_GROUP_NAMEÚ
IndexErrorÚUNKNOWN_GROUP_Ir)   rj   rC   s    r   Útest_symbolic_refszRegexTests.test_symbolic_refsâ   s&  € Ø×ÑœuŸ{™{¨D¯O©Oñ >/ô 	0à×ÑœuŸ{™{¨D×,CÑ,Cñ F.ô 	/à×ÑœuŸ{™{¨D¯O©Oñ >-ô 	.à×ÑœuŸ{™{¨D×,?Ñ,?ñ B2ô 	3à×ÑœuŸ{™{¨D×,?Ñ,?ñ B2ô 	3à×Ñœz¨4×+?Ñ+?ñ B1ô 	2ð
 	×ÑœŸ™Ð#6¸À$ÓGÈÔLØ×ÑœŸ™Ð#6¸¸tÓDÀbÔIð 	×ÑœuŸ{™{¨D×,?Ñ,?ñ B1õ 	2r   c                 óŒ  — | j                  t        j                  ddd«      d«       | j                  t        j                  ddd«      d«       | j                  t        j                  ddd«      d«       | j                  t        j                  d	dd«      d
«       | j                  t        j                  d	ddd«      d«       y )NrL   r%   rM   )rN   é   zb+)zx BBBBr:   r£   )r£   r   zb*)Úxxxyxzxé   rÓ   )ÚxxxyzrÓ   )r)   r-   ÚsubnrC   s    r   Útest_re_subnzRegexTests.test_re_subnù   s•   € Ø×ÑœŸ™ H¨c°;Ó?ÀÔLØ×ÑœŸ™ D¨#¨{Ó;¸]ÔKØ×ÑœŸ™ D¨#¨uÓ5°zÔBØ×ÑœŸ™ D¨#¨uÓ5°~ÔFØ×ÑœŸ™ D¨#¨u°aÓ8¸,ÕGr   c                 óô  — | j                  t        j                  dd«      g d¢«       t        j                  dk\  r¡| j                  t        j                  dd«      g d¢«       | j                  t        j                  dd«      g d¢«       | j                  t        j                  d	d«      g d¢«       | j                  t        j                  d
d«      g d¢«       n | j                  t        j                  dd«      g d¢«       | j                  t        j                  dd«      g d¢«       | j                  t        j                  d	d«      g d¢«       | j                  t        j                  d
d«      g d¢«       | j                  t        j                  dd«      g d¢«       | j                  t        j                  dd«      g d¢«       | j                  t        j                  dd«      g d¢«       | j                  t        j                  dd«      g d¢«       | j                  t        j
                  dd«      D �cg c]  }|‘Œ c}g d¢«       | j                  t        j                  dd«      g d¢«       | j                  t        j
                  dd«      D �cg c]  }|‘Œ c}g d¢«       | j                  t        j                  dd«      g d¢«       | j                  t        j
                  dd«      D �cg c]  }|‘Œ c}g d¢«       | j                  t        j                  dd«      g d¢«       | j                  t        j
                  dd«      D �cg c]  }|‘Œ c}g d¢«       | j                  t        j                  dd«      g d¢«       | j                  t        j                  d d«      g d!¢«       | j                  t        j                  d"d«      g d#¢«       y c c}w c c}w c c}w c c}w )$NÚ:ú:a:b::c©rÉ   r\   rª   rÉ   Úcr²   ú:*©rÉ   rÉ   r\   rÉ   rª   rÉ   rÝ   rÉ   ú(:*)©rÉ   rÚ   rÉ   rÉ   r\   rÚ   rÉ   rÉ   rª   ú::rÉ   rÉ   rÝ   rÉ   rÉ   z(?::*)z(:)*)rÉ   rÚ   rÉ   Nr\   rÚ   rÉ   Nrª   rÚ   rÉ   NrÝ   NrÉ   ©rÉ   r\   rª   rÝ   ©rÉ   rÚ   r\   rÚ   rª   râ   rÝ   )rÉ   rÚ   r\   rÚ   rª   rÚ   rÝ   z([b:]+))rÉ   rÚ   r\   z:b::rÝ   z(b)|(:+))rÉ   NrÚ   r\   NrÚ   rÉ   rª   NrÉ   Nrâ   rÝ   z(?:b)|(?::+))rÉ   r\   rÉ   rÉ   rÝ   r%   Úxaxbxcz(?r)x)rÝ   rª   r\   rÉ   z(x)|(y))
rÉ   r%   Nr\   r%   Nrª   r%   NrÝ   z(?r)(x)|(y))
rÝ   r%   Nrª   r%   Nr\   r%   NrÉ   ú(?V1)\bza b c)rÉ   r\   Ú rª   rç   rÝ   rÉ   z(?V1)\m)rÉ   úa zb rÝ   z(?V1)\M)r\   ú bz crÉ   )r)   r-   Úsplitr¶   r·   Ú	splititer©r   rU   s     r   Útest_re_splitzRegexTests.test_re_split   sP  € Ø×ÑœŸ™ S¨)Ó4Ò6MÔNÜ×Ñ˜yÒ(Ø×ÑœUŸ[™[¨¨yÓ9ò < ô !à×ÑœUŸ[™[¨°Ó;ò >@ô Aà×ÑœUŸ[™[¨°9Ó=ò @$ô %à×ÑœUŸ[™[¨°Ó;ò >Kõ Lð ×ÑœUŸ[™[¨¨yÓ9Ò;NÔOØ×ÑœUŸ[™[¨°Ó;ò >#ô $à×ÑœUŸ[™[¨°9Ó=ò @ô à×ÑœUŸ[™[¨°Ó;ò >"ô #à×ÑœŸ™ Y°	Ó:ò =ô 	à×ÑœŸ™ Z°Ó;ò >>ô 	?à×ÑœŸ™ ^°YÓ?ò Bô 	ð 	×ÑœŸ™ S¨(Ó3Ò5HÔIØ×Ñ¤U§_¡_°S¸(Ô%CÓDÑ%C š!Ð%CÑDò Gô 	ð 	×ÑœŸ™ W¨hÓ7Ò9LÔMØ×Ñ¤U§_¡_°W¸hÔ%GÓHÑ%G š!Ð%GÑHò Kô 	ð 	×ÑœŸ™ Y°Ó9ò <*ô 	+à×Ñ¤U§_¡_°YÀÔ%IÓJÑ%I š!Ð%IÑJÚ
>ô	@ð 	×ÑœŸ™ ]°HÓ=ò @.ô 	/à×Ñ¤U§_¡_°]ÀHÔ%MÓNÑ%M š!Ð%MÑNÚ
>ô	@ð 	×ÑœŸ™ Z°Ó9ò <ô 	à×ÑœŸ™ Z°Ó9ò <ô 	à×ÑœŸ™ Z°Ó9ò <õ 	ùò+ Eùò Iùò
 Kùò
 Os   É 	O&Ê	O+Ë<	O0Í	O5c                 óÆ  — | j                  t        j                  ddd«      g d¢«       | j                  t        j                  ddd«      g d¢«       | j                  t        j                  ddd«      g d¢«       t        j                  d	k\  r*| j                  t        j                  d
dd«      g d¢«       y | j                  t        j                  d
dd«      g d¢«       y )NrÚ   rÛ   rÓ   )rÉ   r\   úb::cza:b:c:d)r\   rª   zc:dz(:))rÉ   rÚ   r\   rÚ   rï   r²   rà   )rÉ   rÚ   rÉ   rÉ   za:b::c)r)   r-   rê   r¶   r·   rC   s    r   Útest_qualified_re_splitz"RegexTests.test_qualified_re_split3  s¸   € Ø×ÑœŸ™ S¨)°QÓ7Ò9JÔKØ×ÑœŸ™ S¨)°QÓ7Ò9JÔKØ×ÑœŸ™ U¨I°qÓ9ò <ô 	ô ×Ñ˜yÒ(Ø×ÑœUŸ[™[¨°¸AÓ>ò Aõ ð ×ÑœUŸ[™[¨°¸AÓ>ò Aõ r   c                 ó°  — | j                  t        j                  dd«      g «       | j                  t        j                  dd«      g d¢«       | j                  t        j                  dd«      g d¢«       | j                  t        j                  dd«      g d¢«       | j                  t        j                  dd	«      d
g«       | j                  t        j                  dd	«      d
g«       | j                  t        j                  dd«      dg«       | j                  t        j                  dd«      dg«       | j                  t        j                  dd«      dg«       | j                  t        j                  dd«      dg«       | j                  t        j                  dd«      dg«       | j                  t        j                  dd«      dg«       y )Nú:+r»   ú
a:b::c:::d©rÚ   râ   z:::ú(:+)ú(:)(:*)©)rÚ   rÉ   )rÚ   rÚ   )rÚ   râ   z\((?P<test>.{0,5}?TEST)\)z	(MY TEST)zMY TESTz\((?P<test>.{0,3}?TEST)\)z\((?P<test>.{0,3}?T)\)z(MY T)zMY Tz[^a]{2}[A-Z]z
  Sz  Sz[^a]{2,3}[A-Z]z
   Sz   SzX(Y[^Y]+?){1,2}( |Q)+DEFzXYABCYPPQ
Q DEF)zYPPQ
rç   z(\nTest(\n+.+?){0,2}?)?\n+Endz
Test
xyz
xyz
End)z
Test
xyz
xyzz
xyz©r)   r-   r/   rC   s    r   Útest_re_findallzRegexTests.test_re_findall@  s�  € Ø×ÑœŸ™ t¨UÓ3°RÔ8Ø×ÑœŸ™ t¨\Ó:Ò<NÔOØ×ÑœŸ™ v¨|Ó<ò ?ô 	à×ÑœŸ™ y°,Ó?ò B#ô 	$ð 	×ÑœŸ™Ð'CØ
óØ"˜ô	%à×ÑœŸ™Ð'CØ
óØ"˜ô	%à×ÑœŸ™Ð'@À(ÓKØˆ(ô	ð 	×ÑœŸ™ ¸Ó@À5À'ÔJØ×ÑœŸ™Ð'8¸'ÓBÀWÀIÔNØ×ÑœŸ™Ð'8¸(ÓCÀfÀXÔNà×ÑœŸ™Ð'BØ
óØ /Ð0ô	2ð 	×ÑœŸ™Ð'GØ
!ó#Ø%BÐ$Cõ	Er   c                 óT   — | j                  t        j                  dd«      g d¢«       y )Nz(a|(b))Úaba)©r\   rÉ   )rª   rª   rü   rø   rC   s    r   Útest_bug_117612zRegexTests.test_bug_117612Y  s"   € Ø×ÑœŸ™ z°5Ó9ò <õ 	r   c                 óÔ  — | j                  t        j                  dd«      d d  d«       | j                  t        j                  dd«      d d  d«       | j                  t        j                  dd«      d   d«       | j                  t        j                  dd«      d   d«       | j                  t        j                  dd«      j                  dd«      d«       t        j                  d«      }| j                  |j                  d«      d d  d«       | j                  |j                  d	«      d d  d
«       | j                  |j                  d«      d d  d«       | j                  |j                  d«      d d  d«       | j                  |j                  d«      d d  d«       t        j                  dd«      }| j                  |j                  «       d«       | j                  |j                  d«      d«       | j                  |j                  d«      d«       | j                  |j                  dd«      d«       t        j                  d«      }| j                  |j                  d«      j                  ddd«      d«       | j                  |j                  d	«      j                  ddd«      d«       | j                  |j                  d«      j                  ddd«      d«       y )Nr\   ©r\   ú(a)©r\   r\   r   r:   z((a)|(b))(c)?)r\   r\   r\   NNrª   )rª   rª   Nrª   NÚac)r  r\   r\   NrÝ   Úbc)r  rª   Nrª   rÝ   z!(?:(?P<a1>a)|(?P<b2>b))(?P<c3>c)?rÓ   r;   )r\   NNÚa1Úb2Úc3)Nrª   N©r\   NrÝ   )r)   r-   rB   r¼   r.   ©r   ÚpatrU   s      r   Útest_re_matchzRegexTests.test_re_match]  sL  € Ø×ÑœŸ™ S¨#Ó.©qÐ1°6Ô:Ø×ÑœŸ™ U¨CÓ0±Ð3°ZÔ@Ø×ÑœŸ™ V¨SÓ1°!Ñ4°cÔ:Ø×ÑœŸ™ V¨SÓ1°!Ñ4°cÔ:Ø×ÑœŸ™ V¨SÓ1×7Ñ7¸¸1Ó=¸zÔJä�m‰m˜OÓ,ˆØ×Ñ˜Ÿ™ 3›©Ð*Ð,GÔHØ×Ñ˜Ÿ™ 3›©Ð*Ð,GÔHØ×Ñ˜Ÿ™ 4›©Ð+Ð-HÔIØ×Ñ˜Ÿ™ 4›©Ð+Ð-HÔIØ×Ñ˜Ÿ™ 4›©Ð+Ð-HÔIô �K‰K˜˜sÓ#ˆØ×Ñ˜Ÿ™› CÔ(Ø×Ñ˜Ÿ™ › SÔ)Ø×Ñ˜Ÿ™ › SÔ)Ø×Ñ˜Ÿ™  A›¨
Ô3ä�m‰mÐ?Ó@ˆØ×Ñ˜Ÿ™ 3›×-Ñ-¨a°°AÓ6Ð8IÔJØ×Ñ˜Ÿ™ 3›×-Ñ-¨d°D¸$Ó?ð Bô 	à×Ñ˜Ÿ™ 4›×.Ñ.¨q°$¸Ó:Ð<LÕMr   c                 óÆ  — | j                  t        j                  dd«      d d  d«       | j                  t        j                  dd«      d d  d«       | j                  t        j                  dd«      d «       | j                  t        j                  dd«      d «       | j                  t        j                  dd	«      d d  d
«       | j                  t        j                  dd«      d d  d«       | j                  t        j                  dd«      d d  d«       | j                  t        j                  dd«      d d  d«       t        j                  d«      }| j                  |j                  d«      d d  d«       | j                  |j                  d«      d d  d«       | j                  |j                  d«      d «       | j                  |j                  d«      d «       y )Nz^(\()?([^()]+)(?(1)\))$r   )r   Ú(r\   r\   ©r\   Nr\   za)z(az^(?:(a)|c)((?(1)b|d))$Úab)r  r\   rª   Úcd)r  NÚdz^(?:(a)|c)((?(1)|d))$)r\   r\   rÉ   z(?P<g1>a)(?P<g2>b)?((?(g2)c|d))r»   )r»   r\   rª   rÝ   Úad)r  r\   Nr  Úabdr  )r)   r-   rB   r.   ©r   Úps     r   Útest_re_groupref_existsz"RegexTests.test_re_groupref_existsx  sž  € Ø×ÑœŸ™Ð%?ÀÓGÉÐJØ
ô	à×ÑœŸ™Ð%?ÀÓEÁaÐHð Kô 	à×ÑœŸ™Ð%?ÀÓFÈÔMØ×ÑœŸ™Ð%?ÀÓFÈÔMØ×ÑœŸ™Ð%=¸tÓDÁQÐGð Jô 	à×ÑœŸ™Ð%=¸tÓDÁQÐGð Jô 	à×ÑœŸ™Ð%<¸dÓCÁAÐFð Iô 	à×ÑœŸ™Ð%<¸cÓBÁ1ÐEð Hô 	ô �M‰MÐ;Ó<ˆØ×Ñ˜Ÿ™ ›©Ð*Ð,BÔCØ×Ñ˜Ÿ™ ›¡qÐ)Ð+AÔBØ×Ñ˜Ÿ™ ›¨Ô.Ø×Ñ˜Ÿ™ ›¨Õ-r   c                 ó2  — | j                  t        j                  dd«      d d  d«       | j                  t        j                  dd«      d d  d«       | j                  t        j                  dd«      d «       | j                  t        j                  dd«      d «       | j                  t        j                  d	d
«      d d  d«       | j                  t        j                  dd«      d d  d«       | j                  t        j                  dd«      dg«       y )Nz^(\|)?([^()]+)\1$ú|a|)r  Ú|r\   z^(\|)?([^()]+)\1?$r\   r  za|z|az^(?:(a)|c)(\1)$Úaa)r  r\   r\   z^(?:(a)|c)(\1)?$rÝ   )rÝ   NNzE(?i)(.{1,40}?),(.{1,40}?)(?:;)+(.{1,80}).{1,40}?\3(\ |;)+(.{1,80}?)\1z&TEST, BEST; LEST ; Lest 123 Test, Best)ÚTESTz BESTz LESTrç   z123 )r)   r-   rB   r/   rC   s    r   Útest_re_grouprefzRegexTests.test_re_groupref�  s  € Ø×ÑœŸ™Ð%9¸5ÓAÁ!ÐDð Gô 	à×ÑœŸ™Ð%:¸CÓ@ÁÐCð Fô 	à×ÑœŸ™Ð%9¸4Ó@À$ÔGØ×ÑœŸ™Ð%9¸4Ó@À$ÔGØ×ÑœŸ™Ð%7¸Ó>¹qÐAð Dô 	à×ÑœŸ™Ð%8¸#Ó>¹qÐAð Dô 	ð 	×ÑœŸ™Ð'oØ
2ó4ð7 ð 6!õ	"r   c                 ór   — | j                  t        j                  dd«      j                  «       dddœ«       y )Nú#(?P<first>first) (?P<second>second)úfirst secondÚfirstÚsecond©r  r   )r)   r-   rB   Ú	groupdictrC   s    r   Útest_groupdictzRegexTests.test_groupdictŸ  s0   € Ø×ÑœŸ™Ð%JØ
óß#™)›+°ÀHÑ'Mõ	Or   c                 ón   — | j                  t        j                  dd«      j                  d«      d«       y )Nr  r  z\2 \1 \g<second> \g<first>zsecond first second first)r)   r-   rB   ÚexpandrC   s    r   Útest_expandzRegexTests.test_expand£  s/   € Ø×ÑœŸ™Ð%JØ
óß ™&Ð!>Ó?Ø
%õ	'r   c                 óÖ	  — | j                  t        j                  dd«      d «       | j                  t        j                  dd«      d «       | j                  t        j                  dd«      d «       | j                  t        j                  dd«      d «       | j                  t        j                  dd«      d   d«       | j                  t        j                  d	d«      d   d«       | j                  t        j                  d
d«      d   d«       | j                  t        j                  dd«      d   d«       | j                  t        j                  dd«      d   d«       | j                  t        j                  dd«      d   d«       | j                  t        j                  dd«      d   d«       | j                  t        j                  dd«      d   d«       | j                  t        j                  dd«      d «       | j                  t        j                  dd«      d «       | j                  t        j                  dd«      d «       | j                  t        j                  dd«      d «       | j                  t        j                  dd«      d   d«       | j                  t        j                  dd«      d   d«       | j                  t        j                  dd«      d   d«       | j                  t        j                  dd«      d   d«       | j                  t        t        j                  dd«      «      d«       | j                  t        t        j                  dd«      «      d«       | j                  t        t        j                  dd«      «      d«       | j                  t        t        j                  dd«      «      d«       | j                  t        t        j                  d d«      «      d«       | j                  t        t        j                  d!d«      «      d«       | j                  t        t        j                  d"d«      «      d«       | j                  t        t        j                  dd«      «      d«       | j                  t        j                  d#d«      d «       | j                  t        t        j                  d#d$«      «      d«       y )%Nz	^(\w){1}$r»   z
^(\w){1}?$z^(\w){1,2}$z^(\w){1,2}?$z	^(\w){3}$r:   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}$r5   z^x{1}?$z^x{1,2}$z	^x{1,2}?$z^x{1}r   r%   z^x{1}?z^x{0,1}z^x{0,1}?rÉ   z^x{3}$Tz^x{1,3}$z^x{1,4}$z	^x{3,4}?$z^x{3}?$z	^x{1,3}?$z	^x{1,4}?$z^x{}$zx{})r)   r-   rB   ÚboolrC   s    r   Útest_repeat_minmaxzRegexTests.test_repeat_minmax¨  s•  € Ø×ÑœŸ™ \°5Ó9¸4Ô@Ø×ÑœŸ™ ]°EÓ:¸DÔAØ×ÑœŸ™ ^°UÓ;¸TÔBØ×ÑœŸ™ _°eÓ<¸dÔCà×ÑœŸ™ \°5Ó9¸!Ñ<¸cÔBØ×ÑœŸ™ ^°UÓ;¸AÑ>ÀÔDØ×ÑœŸ™ ^°UÓ;¸AÑ>ÀÔDØ×ÑœŸ™ _°eÓ<¸QÑ?ÀÔEØ×ÑœŸ™ ]°EÓ:¸1Ñ=¸sÔCØ×ÑœŸ™ _°eÓ<¸QÑ?ÀÔEØ×ÑœŸ™ _°eÓ<¸QÑ?ÀÔEØ×ÑœŸ™ _°eÓ<¸QÑ?ÀÔEà×ÑœŸ™ X¨uÓ5°tÔ<Ø×ÑœŸ™ Y°Ó6¸Ô=Ø×ÑœŸ™ Z°Ó7¸Ô>Ø×ÑœŸ™ [°%Ó8¸$Ô?à×ÑœŸ™ W¨eÓ4°QÑ7¸Ô=Ø×ÑœŸ™ X¨uÓ5°aÑ8¸#Ô>Ø×ÑœŸ™ Y°Ó6°qÑ9¸3Ô?Ø×ÑœŸ™ Z°Ó7¸Ñ:¸BÔ?à×ÑœœeŸk™k¨(°EÓ:Ó;¸TÔBØ×ÑœœeŸk™k¨*°eÓ<Ó=¸tÔDØ×ÑœœeŸk™k¨*°eÓ<Ó=¸tÔDØ×ÑœœeŸk™k¨+°uÓ=Ó>ÀÔEØ×ÑœœeŸk™k¨)°UÓ;Ó<¸dÔCØ×ÑœœeŸk™k¨+°uÓ=Ó>ÀÔEØ×ÑœœeŸk™k¨+°uÓ=Ó>ÀÔEØ×ÑœœeŸk™k¨+°uÓ=Ó>ÀÔEà×ÑœŸ™ W¨eÓ4°dÔ;Ø×ÑœœeŸk™k¨'°5Ó9Ó:¸DÕAr   c           
      ó.  — | j                  t        j                  d«      j                  d«       | j                  t        j                  d«      j                  t        j
                  t        j                  z  t        j                  z  «       | j                  t        j                  d«      j                  t        j                  t        j
                  z  t        j                  z  «       | j                  t        j                  d«      j                  d«       | j                  t        j                  d«      j                  i «       | j                  t        j                  d«      j                  dddœ«       | j                  t        j                  dd«      j                  d	«       | j                  t        j                  dd«      j                  d«       | j                  t        j                  d
d«      j                  d	«       | j                  t        j                  d
d«      j                  d«       | j                  t        j                  d
d«      j                  «       d«       | j                  t        j                  d
d«      j                  d«      d«       | j                  t        j                  dd«      j                   d«       | j                  t        j                  dd«      j"                  d«       | j                  t%        t'        t        j                  dd«      j(                  «      «      | j*                  «       t        j                  d«      }d	|j                  d<   | j                  |j                  d   d«       y )Nz
(?i)(a)(b)s
   (?i)(a)(b)rÓ   z(?i)(?P<first>a)(?P<other>b)r:   )r  Úotherr   r\   r   zb(c)Úabcdefé   r9   ©rÓ   r;   ©©r   r:   r0  zabc(?P<n>def)Ún)r)   r-   r.   rx   Úflagsrv   ÚUÚDEFAULT_VERSIONrg   ÚgroupsÚ
groupindexrB   ÚposÚendposr@   rA   ÚstringÚregsr‚   r"   Úrerƒ   r  s     r   Útest_getattrzRegexTests.test_getattrÍ  s~  € Ø×ÑœŸ™ |Ó4×<Ñ<¸lÔKØ×ÑœŸ™ |Ó4×:Ñ:¼E¿G¹GÄeÇgÁgÑ<MÜ
×
Ñ
ñ= ô 	!à×ÑœŸ™ }Ó5×;Ñ;¼U¿W¹WÄuÇwÁwÑ=NÜ×!Ñ!ñ>"ô 	#à×ÑœŸ™ |Ó4×;Ñ;¸QÔ?Ø×ÑœŸ™ |Ó4×?Ñ?ÀÔDà×ÑœŸ™Ð'EÓF×QÑQØ Ñ
"ô	$ð 	×ÑœŸ™ U¨CÓ0×4Ñ4°aÔ8Ø×ÑœŸ™ U¨CÓ0×7Ñ7¸Ô;à×ÑœŸ™ f¨hÓ7×;Ñ;¸QÔ?Ø×ÑœŸ™ f¨hÓ7×>Ñ>ÀÔBØ×ÑœŸ™ f¨hÓ7×<Ñ<Ó>ÀÔGØ×ÑœŸ™ f¨hÓ7×<Ñ<¸QÓ?ÀÔHà×ÑœŸ™ U¨CÓ0×7Ñ7¸Ô=Ø×ÑœŸ™ U¨CÓ0×5Ñ5Ð7GÔHØ×Ñœœd¤5§;¡;¨u°cÓ#:×#=Ñ#=Ó>Ó?Ø
×
Ñ
ô	ô �M‰MÐ*Ó+ˆØˆ�‰�SÑØ×Ñ˜Ÿ™ cÑ*¨AÕ.r   c                 óÒ  — | j                  t        j                  dd«      d   d«       | j                  t        j                  dd«      d   d«       | j                  t        j                  ddt        j                  «      d   d	«       | j                  t        j                  d
dt        j                  «      d   d	«       | j                  t        j                  ddt        j                  «      d   d«       | j                  t        j                  ddt        j                  «      d   d«       | j                  t        j                  ddt        j
                  «      d   d«       | j                  t        j                  ddt        j
                  «      d   d«       | j                  t        j                  ddt        j
                  «      d «       | j                  t        j                  dd«      d   d	«       | j                  t        j                  d
d«      d   d	«       | j                  t        j                  ddt        j
                  «      d   d«       | j                  t        j                  ddt        j
                  «      d   d«       | j                  t        j                  ddt        j
                  «      d «       | j                  t        j                  dd«      d   d«       | j                  t        j                  ddt        j                  «      d   d«       | j                  t        j                  ddt        j                  «      d   d«       y )Nz\b(b.)\bzabcd abc bcd bxr:   Úbxz\B(b.)\Bzabc bcd bc abxds   \b(b.)\bs   abcd abc bcd bxs   bxs   \B(b.)\Bs   abc bcd bc abxdú^abc$z
abc
r   r»   z	^\Aabc\Z$s   ^abc$s   
abc
ó   abcs	   ^\Aabc\Z$z\d\D\w\W\s\Sz1aa! as   \d\D\w\W\s\Ss   1aa! a)r)   r-   r@   ÚLOCALEÚUNICODEÚMrC   s    r   Útest_special_escapeszRegexTests.test_special_escapesë  s²  € Ø×ÑœŸ™ kÐ3DÓEÀaÑHÈ$ÔOØ×ÑœŸ™ kÐ3DÓEÀaÑHÈ$ÔOØ×ÑœŸ™ lÐ4FÜ
�,‰,óØñØ!ô	#à×ÑœŸ™ lÐ4FÜ
�,‰,óØñØ!ô	#à×ÑœŸ™ kÐ3DÜ
�-‰-óØñØ!ô	#à×ÑœŸ™ kÐ3DÜ
�-‰-óØñØ!ô	#ð 	×ÑœŸ™ h°	¼5¿7¹7ÓCÀAÑFÈÔNØ×ÑœŸ™ l°E¼5¿7¹7ÓCÀAÑFÈÔNØ×ÑœŸ™ l°I¼u¿w¹wÓGÈÔNà×ÑœŸ™ lÐ4FÓGÈÑJØ
ô	à×ÑœŸ™ lÐ4FÓGÈÑJØ
ô	à×ÑœŸ™ i°¼U¿W¹WÓEÀaÑHØ
ô	à×ÑœŸ™ m°V¼U¿W¹WÓEÀaÑHØ
ô	à×ÑœŸ™ m°ZÄÇÁÓIØ
ô	ð 	×ÑœŸ™ o°xÓ@ÀÑCÀXÔNØ×ÑœŸ™Ð&6¸	Ü
�,‰,óØñØ%ô	'à×ÑœŸ™ o°xÜ
�-‰-óØñØ%õ	'r   c           	      ód  — | j                  t        j                  dd«      d   d«       | j                  t        j                  ddt        j                  «      d   d«       | j                  dj	                  t        j
                  ddt        j                  ¬«      «      d«       | j                  dj	                  t        j
                  ddt        j                  ¬«      «      d«       | j                  dj	                  t        j
                  d	dt        j                  ¬«      «      d«       y )
Nz([\u2222\u2223])u   âˆ¢r:   rÉ   rP   u   eÃ¨Ã©ÃªÃ«Ä“Ä›Ä—©r2  z%[e\xe8\xe9\xea\xeb\u0113\u011b\u0117]z*e|\xe8|\xe9|\xea|\xeb|\u0113|\u011b|\u0117)r)   r-   rB   rB  Újoinr/   rC   s    r   Útest_bigcharsetzRegexTests.test_bigcharset  sø   € Ø×ÑœŸ™Ð%8¸(ÓCÀAÑFØ
ô	à×ÑœŸ™Ð%8¸(Ü
�-‰-óØñØ%ô	'à×Ñ˜Ÿ™¤§¡¨sØ
/´u·}±}ô"Fó Gà
/ô	1ð 	×Ñ˜Ÿ™¤§¡Ð/WØ
/´u·}±}ô"Fó Gà
/ô	1ð 	×Ñ˜Ÿ™¤§¡Ð/\Ø
/´u·}±}ô"Fó Gà
/õ	1r   c                 óä   — | j                  t        j                  ddt        j                  «      d   d«       | j                  t        j                  ddt        j                  «      d   d«       y )Núa.búa
br   úa.*bza

b)r)   r-   rB   ÚDOTALLrC   s    r   Útest_anyallzRegexTests.test_anyall  sQ   € Ø×ÑœŸ™ U¨F´E·L±LÓAÀ!ÑDÀfÔMØ×ÑœŸ™ V¨X´u·|±|ÓDÀQÑGØ
õ	r   c                 óŠ  — | j                  t        j                  dd«      d   d«       | j                  t        j                  dd«      d   d«       | j                  t        j                  dd«      d   d«       | j                  t        j                  dd«      d   d«       | j                  t        j                  d	d
«      d   d«       | j                  t        j                  dd«      d   d«       | j                  t        j                  dd
«      d   d«       | j                  t        j                  dd
«      d   d«       | j                  t        j                  dd«      d   d«       | j                  t        j                  dd«      d   d«       | j                  t        j                  dd«      d   d«       y )Nz(a(?=\s[^a]))úa br:   r\   z(a(?=\s[^a]*))z(a(?=\s[abc]))z(a(?=\s[abc]*))za bcz(a)(?=\s\1)úa az(a)(?=\s\1*)úa aaz(a)(?=\s(abc|a))z(a(?!\s[^a]))z(a(?!\s[abc]))za dz(a)(?!\s\1)z(a)(?!\s(abc|a))©r)   r-   rB   rC   s    r   Útest_non_consumingzRegexTests.test_non_consuming   sj  € Ø×ÑœŸ™Ð%5°uÓ=¸aÑ@À#ÔFØ×ÑœŸ™Ð%6¸Ó>¸qÑAÀ3ÔGØ×ÑœŸ™Ð%6¸Ó>¸qÑAÀ3ÔGØ×ÑœŸ™Ð%7¸Ó@ÀÑCÀSÔIØ×ÑœŸ™ ^°UÓ;¸AÑ>ÀÔDØ×ÑœŸ™ _°fÓ=¸aÑ@À#ÔFØ×ÑœŸ™Ð%8¸%Ó@ÀÑCÀSÔIà×ÑœŸ™Ð%5°uÓ=¸aÑ@À#ÔFØ×ÑœŸ™Ð%6¸Ó>¸qÑAÀ3ÔGØ×ÑœŸ™ ^°UÓ;¸AÑ>ÀÔDØ×ÑœŸ™Ð%8¸%Ó@ÀÑCÀSÕIr   c                 ó<  — | j                  t        j                  ddt        j                  «      d   d«       | j                  t        j                  ddt        j                  «      d   d«       | j                  t        j                  ddt        j                  «      d   d«       | j                  t        j                  d	d
t        j                  «      d   d
«       | j                  t        j                  ddt        j                  «      d   d«       | j                  t        j                  ddt        j                  «      d   d«       | j                  t        j                  ddt        j                  «      d   d«       | j                  t        j                  ddt        j                  «      d   d«       | j                  t        j                  ddt        j                  «      d   d«       | j                  t        j                  dd«      j	                  «       d«       | j                  t        j                  dd«      j	                  «       d«       | j                  t        t        j                  dd«      «      d«       | j                  t        t        j                  dd«      «      d«       | j                  t        t        j                  dd«      «      d«       | j                  t        t        j                  dd«      «      d«       y )Nr»   ÚABCr   r@  s   ABCz
(a\s[^a]*)za bbr:   z
(a\s[abc])rP  z(a\s[abc]*)z	((a)\s\2)rQ  z
((a)\s\2*)rR  z((a)\s(abc|a))z((a)\s(abc|a)*)z[Z-a]Ú_r0  z	(?i)[Z-a]z(?i)naoÚnAoTz
(?i)n\xE3ou   nÃƒou   NÃƒOz(?i)su   Å¿)r)   r-   rB   rv   rA   r(  rC   s    r   Útest_ignore_casezRegexTests.test_ignore_case.  s3  € Ø×ÑœŸ™ U¨E´5·7±7Ó;¸AÑ>ÀÔFØ×ÑœŸ™ V¨V´U·W±WÓ=¸aÑ@À&ÔIà×ÑœŸ™ ]°F¼E¿G¹GÓDÀQÑGØ
ô	à×ÑœŸ™ ]°E¼5¿7¹7ÓCÀAÑFÈÔNØ×ÑœŸ™ ^°V¼U¿W¹WÓEÀaÑHØ
ô	à×ÑœŸ™ \°5¼%¿'¹'ÓBÀ1ÑEÀuÔMØ×ÑœŸ™ ]°F¼E¿G¹GÓDÀQÑGØ
ô	à×ÑœŸ™Ð%6¸¼u¿w¹wÓGÈÑJØ
ô	à×ÑœŸ™Ð%7¸ÄÇÁÓIÈ!ÑLØ
ô	ð 	×ÑœŸ™ X¨sÓ3×8Ñ8Ó:¸FÔCØ×ÑœŸ™ \°3Ó7×<Ñ<Ó>ÀÔGà×ÑœœeŸk™k¨*°eÓ<Ó=¸tÔDØ×ÑœœeŸk™k¨-¸ÓBÓCÀTÔJØ×ÑœœeŸk™k¨-¸ÓBÓCÀTÔJØ×ÑœœeŸk™k¨(°HÓ=Ó>ÀÕEr   c                 óä  — | j                  t        j                  dd«      j                  «       d«       | j                  t        j                  dd«      j                  «       d«       | j                  t        j                  dd«      j                  «       d«       | j                  t        j                  dd«      j                  «       d«       | j                  t        j                  d	d
«      j                  «       d«       | j                  t        j                  dd«      j                  «       d«       | j                  t        j                  dd«      j                  «       d«       | j                  t        j                  dd«      j                  «       d«       | j                  t        j                  dd«      j                  «       d«       | j                  t        j                  dd«      j                  «       d«       | j                  t        j                  d	d«      j                  «       d«       | j                  t        j                  dd«      j                  «       d«       | j                  t        j                  dd«      j                  «       d«       | j                  t        j                  dd«      j                  «       d«       | j                  t        j                  dd«      j                  «       d«       | j                  t        j                  dd«      j                  «       d«       | j                  t        j                  dd«      j                  «       d«       | j                  t        j                  dd«      j                  «       d«       d}|D ]3  }|D ],  }t        j                  d|z   |«      rŒ| j                  «        Œ. Œ5 | j                  t        t        j                  dd «      «      d!«       | j                  t        t        j                  dd"«      «      d!«       | j                  t        t        j                  d#d «      «      d!«       | j                  t        t        j                  d#d"«      «      d!«       | j                  t        t        j                  d$d «      «      d!«       | j                  t        t        j                  d%d «      «      d!«       | j                  t        t        j                  dd «      «      d!«       | j                  t        t        j                  d#d «      «      d!«       | j                  t        t        j                  d$d «      «      d!«       | j                  t        t        j                  d%d «      «      d!«       | j                  t        t        j                  d&d«      «      d!«       | j                  t        t        j                  d&d«      «      d!«       | j                  t        j                  d'd(«      d)d*g«       | j                  t        j                  d+d(«      d)d*g«       | j                  t        j                  d,d-«      j                  «       d.«       | j                  t        j                  d/d-«      j                  «       d.«       | j                  t        j                  d0d-«      j                  «       d.«       | j                  t        j                  d1d2dg¬3«      j                  «       d4«       | j                  t        j                  d1d5d6g¬3«      j                  «       d7«       y )8Nz(?fi)ssÚSS©r   rÓ   z(?fi)SSÚssô   ÃŸr0  z#(?fi)\N{LATIN SMALL LETTER SHARP S}z (?fi)\N{LATIN SMALL LIGATURE ST}ÚSTz(?fi)STu   ï¬†u   ï¬…z(?fi)SSTu   ÃŸtu   sï¬…u   sï¬†ÚSSTr9   z(?fi)FFIu   ï¬ƒu   ï¬€iu   fï¬�z!(?fi)\N{LATIN SMALL LIGATURE FFI}ÚFFIr>   z!(?fi)\N{LATIN SMALL LIGATURE FF}iz!(?fi)f\N{LATIN SMALL LIGATURE FI}u   Î£ÏƒÏ‚z(?fi)z(?iV1)ffu   ï¬€ï¬�Tu   ï¬�ï¬€z(?iV1)fiz
(?iV1)fffiz(?iV1)f\uFB03z(?iV1)f\uFB01z/(?iV0)\m(?:word){e<=3}\M(?<!\m(?:word){e<=1}\M)z.word word2 word word3 word word234 word23 wordÚword234Úword23z/(?iV1)\m(?:word){e<=3}\M(?<!\m(?:word){e<=1}\M)z$(?fi)a\N{LATIN SMALL LIGATURE FFI}nez
  affine  )rÓ   é   z*(?fi)a(?:\N{LATIN SMALL LIGATURE FFI}|x)nez+(?fi)a(?:\N{LATIN SMALL LIGATURE FFI}|xy)nez(?fi)a\L<options>neÚaffine©Úoptions©r   r-  u   aï¬ƒneÚffi©r   rÕ   )r)   r-   r@   rA   rB   r0   r(  r/   )r   ÚsigmaÚch1Úch2s       r   Útest_case_foldingzRegexTests.test_case_foldingH  sÞ  € Ø×ÑœŸ™ j°$Ó7×<Ñ<Ó>ÀÔGØ×ÑœŸ™ j°$Ó7×<Ñ<Ó>ÀÔGØ×ÑœŸ™ jØ
*ó,ß,0©D«F°Fô	<à×ÑœŸ™Ð&LØ
óß‘“˜ô	 ð 	×ÑœŸ™Ð&IØ
óß‘“˜ô	 à×ÑœŸ™ jØ
'ó)ß)-©«°ô	9à×ÑœŸ™ jØ
-ó/ß/3©t«v°vô	?ð 	×ÑœŸ™ kØ
+ó-ß-1©T«V°Vô	=à×ÑœŸ™ kØ
.ó0ß04±³¸ô	@à×ÑœŸ™ kØ
(ó*ß*.©$«&°&ô	:à×ÑœŸ™Ð&IØ
óß‘“˜ô	!à×ÑœŸ™ kØ
(ó*ß*.©$«&°&ô	:ð 	×ÑœŸ™ kØ
(ó*ß*.©$«&°&ô	:à×ÑœŸ™ kØ
(ó*ß*.©$«&°&ô	:à×ÑœŸ™ kØ
(ó*ß*.©$«&°&ô	:à×ÑœŸ™Ð&JØ
óß‘“˜ô	!à×ÑœŸ™Ð&JØ
óß‘“˜ô	!à×ÑœŸ™Ð&JØ
óß‘“˜ô	!ð %ˆÛˆCÛ�Ü—{‘{ 8¨c¡>°3Õ7Ø—I‘I•Kñ ð ð
 	×ÑœœeŸl™l¨;¸ÓGÓHØ
ô	à×ÑœœeŸl™l¨;¸ÓGÓHØ
ô	à×ÑœœeŸl™l¨;¸ÓGÓHØ
ô	à×ÑœœeŸl™l¨;¸ÓGÓHØ
ô	à×ÑœœeŸl™l¨=¸.ÓIÓJØ
ô	à×ÑœœeŸl™lÐ+;Ø
óó Ø ô	"à×ÑœœeŸl™l¨;¸ÓGÓHØ
ô	à×ÑœœeŸl™l¨;¸ÓGÓHØ
ô	à×ÑœœeŸl™l¨=¸.ÓIÓJØ
ô	à×ÑœœeŸl™lÐ+;Ø
óó Ø ô	"à×ÑœœeŸl™lÐ+;¸YÓGÓHØ
ô	à×ÑœœeŸl™lÐ+;¸YÓGÓHØ
ô	ð 	×ÑœŸ™Ð'YØ
:ó<Ø>GØ
ð>ô	ð 	×ÑœŸ™Ð'YØ
:ó<Ø>GØ
ð>ô	ð 	×ÑœŸ™Ð&MØ
óß™› ô	(à×ÑœŸ™Ð&SØóß™› ô	)à×ÑœŸ™Ð&TØóß™› ô	)à×ÑœŸ™Ð&<¸hØ1Ð2ô4ß48±D³F¸Fô	Dà×ÑœŸ™Ð&<Ø
+°e°Wô>ß>B¹d»fÀfõ	Nr   c                 óV   — | j                  t        j                  dd«      d   d«       y )Nz(\s)rç   r:   rS  rC   s    r   Útest_categoryzRegexTests.test_category   s"   € Ø×ÑœŸ™ W¨cÓ2°1Ñ5°sÕ;r   c                 ó¨   — | j                  t        j                  dd«      d   d«       | j                  t        j                  dd«      d   d«       y )Nz\s([^a])ré   r:   rª   z	\s([^a]*)z bbÚbb©r)   r-   r@   rC   s    r   Útest_not_literalzRegexTests.test_not_literal£  sB   € Ø×ÑœŸ™ k°4Ó8¸Ñ;¸SÔAØ×ÑœŸ™ l°EÓ:¸1Ñ=¸tÕDr   c                 ó¨   — | j                  t        j                  dd«      d   d«       | j                  t        j                  dd«      d   d«       y )Nz\s(b)ré   r:   rª   za\srè   r   rs  rC   s    r   Útest_search_coveragezRegexTests.test_search_coverage§  sB   € Ø×ÑœŸ™ h°Ó5°aÑ8¸#Ô>Ø×ÑœŸ™ f¨dÓ3°AÑ6¸Õ=r   c                 ó˜  — d}| j                  t        j                  |«      |«       t        dd«      D ]½  }|t	        |«      z  }| j                  t        t        j                  t        j                  t	        |«      «      t	        |«      «      «      d«       | j                  t        j                  t        j                  t	        |«      «      t	        |«      «      j                  «       d«       Œ¿ t        j                  t        j                  |«      «      }| j                  |j                  |«      j                  «       d«       y )NrÉ   r   é   Tr0  ©r   rx  )	r)   r-   ÚescapeÚrangerk   r(  rB   rA   r.   )r   r  Úir	  s       r   Útest_re_escapezRegexTests.test_re_escape«  sá   € ØˆØ×ÑœŸ™ a›¨!Ô,Ü�q˜#–ˆAØ”�Q“‰KˆAØ×ÑœT¤%§+¡+¬e¯l©l¼3¸q»6Ó.BÄCÈÃFÓ"KÓLØôà×ÑœUŸ[™[¬¯©´c¸!³fÓ)=¼sÀ1»vÓF×KÑKÓMØõð	 ô �m‰mœEŸL™L¨›OÓ,ˆØ×Ñ˜Ÿ™ 1›×*Ñ*Ó,¨hÕ7r   c           
      óV  — d}| j                  t        j                  |«      |«       t        dd«      D ]œ  }t	        |g«      }||z  }| j                  t        t        j                  t        j                  |«      |«      «      d«       | j                  t        j                  t        j                  |«      |«      j                  «       d«       Œž t        j                  t        j                  |«      «      }| j                  |j                  |«      j                  «       d«       y )Nr   r   rx  Tr0  ry  )	r)   r-   rz  r{  Úbytesr(  rB   rA   r.   )r   r  r|  rª   r	  s        r   Útest_re_escape_bytezRegexTests.test_re_escape_byte¸  sÐ   € ØˆØ×ÑœŸ™ a›¨!Ô,Ü�q˜#–ˆAÜ�q�c“
ˆAØ�‰FˆAØ×ÑœT¤%§+¡+¬e¯l©l¸1«o¸qÓ"AÓBÀDÔIØ×ÑœUŸ[™[¬¯©°a«¸!Ó<×AÑAÓCÀVÕLð	 ô �m‰mœEŸL™L¨›OÓ,ˆØ×Ñ˜Ÿ™ 1›×*Ñ*Ó,¨hÕ7r   c                 óð  — t         j                  t         j                  k7  r| j                  «        t         j                  t         j
                  k7  r| j                  «        t         j                  t         j                  k7  r| j                  «        t         j                  t         j                  k7  r| j                  «        t         j                  t         j                  k7  r| j                  «        y y r   )r-   rv   Ú
IGNORECASEr0   ÚLrA  rC  Ú	MULTILINEÚSrM  rd   ÚVERBOSErC   s    r   Útest_constantszRegexTests.test_constantsÄ  s†   € Ü�7‰7”e×&Ñ&Ò&Ø�I‰IŒKÜ�7‰7”e—l‘lÒ"Ø�I‰IŒKÜ�7‰7”e—o‘oÒ%Ø�I‰IŒKÜ�7‰7”e—l‘lÒ"Ø�I‰IŒKÜ�7‰7”e—m‘mÒ#Ø�I‰I�Kð $r   c                 ó,  — t         j                  t         j                  t         j                  t         j                  t         j
                  fD ]D  }| j                  t        t        t        j                  d|«      «      «      | j                  «       ŒF y )Nz	^pattern$)r-   rv   rC  rd   r…  rƒ  r)   r‚   r"   r.   rƒ   )r   Úflags     r   Ú
test_flagszRegexTests.test_flagsÐ  sZ   € Ü—W‘WœeŸg™g¤u§w¡w´·±¼¿¹ÓAˆDØ×ÑœT¤$¤u§}¡}°[À$Ó'GÓ"HÓIØ× Ñ õ"ñ Br   c                 óJ  — dD �]q  }| j                  t        t        j                  d|z  t	        |«      «      «      d«       | j                  t        t        j                  d|z  t	        |«      dz   «      «      d«       | j                  t        t        j                  d|z  t	        |«      dz   «      «      d«       | j                  t        t        j                  d|z  t	        |«      «      «      d«       | j                  t        t        j                  d	|z  t	        |«      dz   «      «      d«       | j                  t        t        j                  d
|z  t	        |«      dz   «      «      d«       �Œt | j                  t        j                  | j                  d„ «       y )N©r   rd  é   é    é@   é   é€   éÿ   z\%03oTz\%03o0Ú0z\%03o8Ú8z\x%02xz\x%02x0z\x%02xzÚzc                  ó.   — t        j                  dd«      S )Nz\911rÉ   ©r-   rB   rS   r   r   rV   z8RegexTests.test_sre_character_literals.<locals>.<lambda>â  s   € Ü
�+‰+�g˜rÔ
"r   )r)   r(  r-   rB   rk   r|   r¦   r§   ©r   r|  s     r   Útest_sre_character_literalsz&RegexTests.test_sre_character_literalsÕ  s<  € Ü2ˆAØ×ÑœT¤%§+¡+¨h¸©l¼CÀ»FÓ"CÓDÀdÔKØ×ÑœT¤%§+¡+¨i¸!©m¼SÀ»VÀc¹\Ó"JÓKØôà×ÑœT¤%§+¡+¨i¸!©m¼SÀ»VÀc¹\Ó"JÓKØôà×ÑœT¤%§+¡+¨i¸!©m¼SÀ»VÓ"DÓEÀtÔLØ×ÑœT¤%§+¡+¨j¸1©n¼cÀ!»fÀs¹lÓ"KÓLØôà×ÑœT¤%§+¡+¨j¸1©n¼cÀ!»fÀs¹lÓ"KÓLØöð 3ð 	×ÑœuŸ{™{¨D×,BÑ,Bñ E#õ 	$r   c                 ó2  — dD �]e  }| j                  t        t        j                  d|z  t	        |«      «      «      d«       | j                  t        t        j                  d|z  t	        |«      «      «      d«       | j                  t        t        j                  d|z  t	        |«      «      «      d«       | j                  t        t        j                  d|z  t	        |«      «      «      d«       | j                  t        t        j                  d|z  t	        |«      «      «      d«       | j                  t        t        j                  d|z  t	        |«      «      «      d«       �Œh | j                  t        j                  | j                  d	„ «       y )
NrŒ  z[\%03o]Tz[\%03o0]z[\%03o8]z[\x%02x]z	[\x%02x0]z	[\x%02xz]c                  ó.   — t        j                  dd«      S )Nz[\911]rÉ   r—  rS   r   r   rV   z>RegexTests.test_sre_character_class_literals.<locals>.<lambda>î  s   € Ü
�+‰+�i Ô
$r   )r)   r(  r-   rB   rk   r|   r¦   ÚBAD_OCTAL_ESCAPEr˜  s     r   Ú!test_sre_character_class_literalsz,RegexTests.test_sre_character_class_literalså  s"  € Ü2ˆAØ×ÑœT¤%§+¡+¨j¸1©n¼cÀ!»fÓ"EÓFÈÔMØ×ÑœT¤%§+¡+¨k¸A©o¼sÀ1»vÓ"FÓGÈÔNØ×ÑœT¤%§+¡+¨k¸A©o¼sÀ1»vÓ"FÓGÈÔNØ×ÑœT¤%§+¡+¨k¸A©o¼sÀ1»vÓ"FÓGÈÔNØ×ÑœT¤%§+¡+¨l¸QÑ.>ÄÀAÃÓ"GÓHÈ$ÔOØ×ÑœT¤%§+¡+¨l¸QÑ.>ÄÀAÃÓ"GÓHÈ$ÖOð 3ð 	×ÑœuŸ{™{¨D×,AÑ,Añ D%õ 	&r   c                 óB  — | j                  t        j                  dd«      j                  d«      d«       | j                  t        j                  dd«      j	                  d«      d«       | j                  t        j                  dd«      j                  d«      d«       y )Nz(a)|(b)rª   r:   éÿÿÿÿ©rŸ  rŸ  )r)   r-   rB   ÚstartÚendrA   rC   s    r   Útest_bug_113254zRegexTests.test_bug_113254ñ  st   € Ø×ÑœŸ™ Z°Ó5×;Ñ;¸AÓ>ÀÔCØ×ÑœŸ™ Z°Ó5×9Ñ9¸!Ó<¸bÔAØ×ÑœŸ™ Z°Ó5×:Ñ:¸1Ó=¸xÕHr   c                 óä  — | j                  t        j                  dd«      j                  d «       | j                  t        j                  dd«      j                  d«       | j                  t        j                  dd«      j                  d«       | j                  t        j                  dd«      j                  d«       | j                  t        j                  dd«      j                  d«       y )	Nz(a)?ar\   z(a)(b)?br  r:   z(?P<a>a)(?P<b>b)?bz(?P<a>a(b))ú((a)))r)   r-   rB   Ú	lastindexÚ	lastgrouprC   s    r   Útest_bug_527371zRegexTests.test_bug_527371ö  s«   € à×ÑœŸ™ X¨cÓ2×<Ñ<¸dÔCØ×ÑœŸ™ [°Ó6×@Ñ@À!ÔDØ×ÑœŸ™Ð%:¸4Ó@×JÑJØ
ô	à×ÑœŸ™ ]°DÓ9×CÑCÀSÔIØ×ÑœŸ™ W¨cÓ2×<Ñ<¸aÕ@r   c                 ó\   — | j                  t        j                  | j                  d„ «       y )Nc                  ó,   — t        j                  d«      S )Nzfoo[a-©r-   r.   rS   r   r   rV   z,RegexTests.test_bug_545855.<locals>.<lambda>  ó   € Ü
�-‰-˜Ô
!r   )r|   r-   r¦   ÚBAD_SETrC   s    r   Útest_bug_545855zRegexTests.test_bug_545855ÿ  s#   € ð 	×ÑœuŸ{™{¨D¯L©Lñ ;"õ 	#r   c                 óî  — | j                  t        j                  dddz  dz   «      j                  d«      d«       | j                  t        j                  dddz  d	z   ddz  z   d
z   «      j                  d«      d«       | j                  t        j                  dddz  dz   «      j                  d«      d«       | j                  t        j                  dddz  dz   «      j                  d«      d«       y )Nz.*?ci'  r  r  r   i!N  z.*?cdiˆ  rÝ   Úcdei#N  i N  r»   Údeiaê  z(a|b)*?c)r)   r-   rB   r¢  r@   rC   s    r   Útest_bug_418626zRegexTests.test_bug_418626  sÞ   € ð 	×ÑœŸ™ V¨U°T©\¸DÑ-@ÓA×EÑEÀaÓHØ
ô	à×ÑœŸ™ W¨d°T©k¸CÑ.?À$ÈÁ+Ñ.MØ
ñ/ó ß‘�Q“˜ô	 à×ÑœŸ™ W¨e°e©m¸dÑ.BÓC×GÑGÈÓJØ
ô	ð 	×ÑœŸ™ j°%¸$±,ÀÑ2EÓF×JÑJÈ1ÓMØ
õ	r   c                 óŒ   — dt        j                  d«      z   dz   }| j                  t        j                  |«      xr dd«       y )NÚ[u   â€¹Ú]r:   )r-   rz  r)   r.   )r   r	  s     r   Útest_bug_612074zRegexTests.test_bug_612074  s8   € Ø”E—L‘L Ó*Ñ*¨SÑ0ˆØ×ÑœŸ™ sÓ+Ò1°°1Õ5r   c                 ó  — | j                  t        j                  dddz  «      d   d«       | j                  t        j                  dddz  dz   «      d   d«       | j                  t        j                  dddz  dz   «      d   d«       y )Nz(x)*iPÃ  r%   r:   z(x)*yr&   z(x)*?yrS  rC   s    r   Útest_stack_overflowzRegexTests.test_stack_overflow  sz   € ð 	×ÑœŸ™ V¨U°S©[Ó9¸!Ñ<¸cÔBØ×ÑœŸ™ W¨e°c©k¸CÑ.?Ó@ÀÑCÀSÔIØ×ÑœŸ™ X¨u°s©{¸SÑ/@ÓAÀ!ÑDÀcÕJr   c           	      óL  — d„ }d„ }d„ }d„ }t        j                  d|fd|fd|fd|fd	g«      }| j                  t        t	        |j
                  j                  d
«      j                  «      «      | j                  «       | j                  |j                  d«      g d¢d
f«       y )Nc                 ó   — |S r   rS   ©ÚscannerÚtokens     r   Ús_identz(RegexTests.test_scanner.<locals>.s_ident   s   € ¨E \r   c                 ó   — d|z  S )Nzop%srS   r»  s     r   Ú
s_operatorz+RegexTests.test_scanner.<locals>.s_operator!  s   € ¨v¸©~Ð(=r   c                 ó   — t        |«      S r   )Úfloatr»  s     r   Ús_floatz(RegexTests.test_scanner.<locals>.s_float"  s   € ¬E°%«LÐ%8r   c                 ó   — t        |«      S r   )rF   r»  s     r   Ús_intz&RegexTests.test_scanner.<locals>.s_int#  s   € ¬#¨e«*Ð#4r   z[a-zA-Z_]\w*z\d+\.\d*rO   z=|\+|-|\*|/)z\s+NrÉ   zsum = 3*foo + 312.50 + bar)	Úsumzop=r;   zop*Úfooúop+g     ˆs@rÈ  Úbar)	r-   ÚScannerr)   r‚   r"   r¼  rx   rƒ   Úscan)r   r¾  rÀ  rÃ  rÅ  r¼  s         r   Útest_scannerzRegexTests.test_scanner  s­   € Ú1Ú=Ú8Ú4ä—-‘- /°7Ð!;¸kØ
ð>Ø˜U�O n°jÐ%Að Dð!ó ˆð 	×Ñœœd 7§?¡?×#:Ñ#:¸2Ó#>×#FÑ#FÓGÓHØ
×
Ñ
ô	ð 	×Ñ˜Ÿ™Ð&BÓCò G>Ø?AðFCõ 	Dr   c                 óÂ   — dD ]Z  }| j                  t        j                  d|z  d«      d d  d«       | j                  t        j                  d|z  d«      d d  d«       Œ\ y )N)rÉ   Ú?Ú*z
((.%s):)?zr•  )r•  NNúa:z)rÐ  za:r\   rS  )r   Úops     r   Útest_bug_448951zRegexTests.test_bug_448951/  sd   € ó ˆBØ×ÑœUŸ[™[¨¸Ñ);¸SÓAÁ!ÐDð Gô à×ÑœUŸ[™[¨¸Ñ);¸UÓCÁAÐFð Iõ ñ r   c                 ó”  — | j                  t        j                  dd«      d d  d«       | j                  t        j                  dd«      d d  d«       | j                  t        j                  dd«      d d  d«       | j                  t        j                  dd«      d d  d«       | j                  t        j                  d	d«      d d  d
«       | j                  t        j                  dd«      d d  d«       | j                  t        j                  dd«      d d  d«       | j                  t        j                  dd«      d d  d«       y )Nz	^((a)|b)*r»   )r  rª   r\   z^(([ab])|c)*)r»   rÝ   rª   z^((d)|[ab])*)r  rª   Nz^((a)c|[ab])*z^((a)|b)*?c)r»   rª   r\   z^(([ab])|c)*?dÚabcd)rÔ  rÝ   rª   z^((d)|[ab])*?c)r»   rª   Nz^((a)c|[ab])*?crS  rC   s    r   Útest_bug_725106zRegexTests.test_bug_7251068  s0  € à×ÑœŸ™ [°%Ó8¹Ð;Ð=MÔNØ×ÑœŸ™ ^°UÓ;¹AÐ>ð Aô 	à×ÑœŸ™ ^°UÓ;¹AÐ>ð Aô 	à×ÑœŸ™ _°eÓ<¹QÐ?ð Bô 	à×ÑœŸ™ ]°EÓ:¹1Ð=ð @ô 	à×ÑœŸ™Ð%5°vÓ>¹qÐAð Dô 	à×ÑœŸ™Ð%5°uÓ=¹aÐ@ð Cô 	à×ÑœŸ™Ð%6¸Ó>¹qÐAð Dõ 	r   c                 ó¨   — | j                  t        j                  dd«      d d  d«       | j                  t        j                  dd«      d d  d«       y )Nz(a)(?:(?=(b)*)c)*Úabb©r\   r\   Nz(a)((?!(b)*))*)r\   r\   NNrS  rC   s    r   Útest_bug_725149zRegexTests.test_bug_725149J  sP   € à×ÑœŸ™Ð%8¸%Ó@ÁÐCð Fô 	à×ÑœŸ™Ð%5°uÓ=¹aÐ@ð Cõ 	r   c                 óš   —  G d„ dt         «      }t        j                   |d«      «      }| j                  |j	                  d«      d «       y )Nc                   ó   — e Zd Zy)ú.RegexTests.test_bug_764548.<locals>.my_unicodeN)r   r   r   rS   r   r   Ú
my_unicoderÜ  S  s   … r   rÝ  r»   r£   )rG   r-   r.   r)   rB   )r   rÝ  r	  s      r   Útest_bug_764548zRegexTests.test_bug_764548Q  s6   € ä#œÔ#Ü�m‰m™J uÓ-Ó.ˆØ×Ñ˜Ÿ™ 5Ó)¨4Õ0r   c                 ó„   — t        j                  dd«      }| j                  |D �cg c]  }|d   ‘Œ	 c}g d¢«       y c c}w )Nrò   ró   r   rô   )r-   Úfinditerr)   )r   ÚitÚitems      r   Útest_finditerzRegexTests.test_finditerW  s9   € Ü�^‰^˜E <Ó0ˆØ×Ñ©bÓ1©b d˜$˜q›'¨bÑ1Ò3EÕFùÒ1s   ¦=c                 óz   — t        j                  d«      t        j                  d«      u r| j                  «        y y )NÚ
bug_926075s
   bug_926075)r-   r.   r0   rC   s    r   Útest_bug_926075zRegexTests.test_bug_926075[  s+   € Ü�=‰=˜Ó&¬%¯-©-¸Ó*FÑFØ�I‰I�Kð Gr   c                 ót   — d}| j                  t        j                  |«      j                  d«      g d¢«       y )Nu   [.ã€‚ï¼Žï½¡]za.b.c©r\   rª   rÝ   )r)   r-   r.   rê   r   s     r   Útest_bug_931848zRegexTests.test_bug_931848_  s1   € Ø.ˆØ×ÑœŸ™ wÓ/×5Ñ5°gÓ>ò Aõ 	r   c                 óš  ‡— t        j                  dd«      Š| j                  t        ‰«      j	                  «       d«       | j                  t        ˆfd„«       t        j                  d«      j                  d«      }| j                  |j                  «       j	                  «       d«       | j                  |j                  «       d «       y )Nú\srP  ©r:   rÓ   c                  ó   •— t        ‰ «      S r   ©Únext©rá  s   €r   rV   z,RegexTests.test_bug_581080.<locals>.<lambda>g  ó	   ø€ ´°b´r   )
r-   rà  r)   rï  rA   ÚassertRaisesÚStopIterationr.   r¼  r@   )r   r¼  rá  s     @r   Útest_bug_581080zRegexTests.test_bug_581080d  sŽ   ø€ Ü�^‰^˜E 5Ó)ˆØ×Ñœ˜b›Ÿ™›¨&Ô1Ø×Ñœ-Ó)9Ô:ä—-‘- Ó&×.Ñ.¨uÓ5ˆØ×Ñ˜Ÿ™Ó)×.Ñ.Ó0°&Ô9Ø×Ñ˜Ÿ™Ó)¨4Õ0r   c                 ó  ‡— t        j                  dd«      Š| j                  t        ‰«      j	                  «       d«       | j                  t        ‰«      j	                  «       d«       | j                  t        ˆfd„«       y )Nz.*Úasdfrj  ©rÕ   rÕ   c                  ó   •— t        ‰ «      S r   rî  rð  s   €r   rV   z,RegexTests.test_bug_817234.<locals>.<lambda>q  rñ  r   )r-   rà  r)   rï  rA   rò  ró  )r   rá  s    @r   Útest_bug_817234zRegexTests.test_bug_817234m  sX   ø€ Ü�^‰^˜E 6Ó*ˆØ×Ñœ˜b›Ÿ™›¨&Ô1Ø×Ñœ˜b›Ÿ™›¨&Ô1Ø×Ñœ-Ó)9Õ:r   c                 ó  — dd l }dD ]~  }|j                  |«      }| j                  t        j                  d«      j	                  |«      d «       | j                  t        j                  d«      j	                  |«      dd  d«       Œ€ y )Nr   Ú
bBhHiIlLfds   blar   r:   rS   )Úarrayr)   r-   r.   rB   )r   rü  Útypecoder\   s       r   Útest_empty_arrayzRegexTests.test_empty_arrays  sl   € ãÛ$ˆHØ—‘˜HÓ%ˆAØ×ÑœUŸ]™]¨6Ó2×8Ñ8¸Ó;¸TÔBØ×ÑœUŸ]™]¨3Ó/×5Ñ5°aÓ8¸¸Ð>ÀÕCñ %r   c                 ó¢  — t        d«      }t        d«      }t        j                  |t        j                  t        j                  z  «      }| j                  t        |j                  |«      «      d«       t        j                  |t        j                  t        j                  z  «      }| j                  t        |j                  |«      «      d«       t        j                  d|z   t        j                  «      }| j                  t        |j                  |«      «      d«       t        j                  d|z   t        j                  «      }| j                  t        |j                  |«      «      d«       t        j                  d|z   «      }| j                  t        |j                  |«      «      d«       t        j                  d|z   «      }| j                  t        |j                  |«      «      d«       | j                  t        t        j                  dd«      «      d«       | j                  t        j                  dd«      d «       y )	Ni   i¡  Tz(?i)z(?iu)ú(?i)arg   za(?i))rk   r-   r.   rv   r3  r)   r(  rB   )r   Ú
upper_charÚ
lower_charr  s       r   Útest_inline_flagszRegexTests.test_inline_flags{  s—  € ä˜“[ˆ
Ü˜“[ˆ
ä�M‰M˜*¤e§g¡g´·±Ñ&7Ó8ˆØ×Ñœ˜aŸg™g jÓ1Ó2°DÔ9ä�M‰M˜*¤e§g¡g´·±Ñ&7Ó8ˆØ×Ñœ˜aŸg™g jÓ1Ó2°DÔ9ä�M‰M˜& :Ñ-¬u¯w©wÓ7ˆØ×Ñœ˜aŸg™g jÓ1Ó2°DÔ9ä�M‰M˜& :Ñ-¬u¯w©wÓ7ˆØ×Ñœ˜aŸg™g jÓ1Ó2°DÔ9ä�M‰M˜' JÑ.Ó/ˆØ×Ñœ˜aŸg™g jÓ1Ó2°DÔ9ä�M‰M˜' JÑ.Ó/ˆØ×Ñœ˜aŸg™g jÓ1Ó2°DÔ9ð 	×ÑœœeŸk™k¨(°CÓ8Ó9¸4Ô@Ø×ÑœŸ™ X¨sÓ3°TÕ:r   c                 ó  — t        j                  d«      }| j                  |j                  dd«      d«       | j                  |j                  dd«      d«       | j                  |j                  dd«      d«       t        j                  dt         j                  «      }| j                  |j                  dd«      d	«       | j                  |j                  dd«      d
«       | j                  |j                  dd«      d«       y )NÚ$Ú#za
b
za
b#
#za
b
cza
b
c#rW   z#
#za#
b#
#za#
b#
c#)r-   r.   r)   rj   r„  r   s     r   Útest_dollar_matches_twicez$RegexTests.test_dollar_matches_twice–  sÆ   € ä—-‘- Ó$ˆØ×Ñ˜Ÿ™ S¨(Ó3°ZÔ@Ø×Ñ˜Ÿ™ S¨)Ó4°jÔAØ×Ñ˜Ÿ™ S¨$Ó/°Ô8ä—-‘- ¤U§_¡_Ó5ˆØ×Ñ˜Ÿ™ S¨(Ó4°kÔBØ×Ñ˜Ÿ™ S¨)Ó4°lÔCØ×Ñ˜Ÿ™ S¨$Ó/°Õ8r   c                 ó4  ‡‡— t        j                  d«      Št        j                  d«      Š| j                  t        | j                  ˆfd„«       | j                  t        | j
                  ˆfd„«       | j                  t        | j                  ˆfd„«       | j                  t        | j                  ˆfd„«       | j                  t        | j                  ˆfd„«       | j                  t        | j
                  ˆfd„«       | j                  t        | j                  ˆfd	„«       | j                  t        | j
                  ˆfd
„«       | j                  t        | j                  d„ «       | j                  t        | j                  d„ «       | j                  t        | j                  d„ «       | j                  t        | j                  d„ «       | j                  t        | j                  d„ «       | j                  t        | j                  d„ «       y )NrP   ó   .c                  ó&   •— ‰ j                  d«      S )Nó   b©rB   ©r	  s   €r   rV   z2RegexTests.test_bytes_str_mixing.<locals>.<lambda>¦  s   ø€ Ø
�)‰)�DŒ/r   c                  ó&   •— ‰ j                  d«      S )Nrª   r  ©Úbpats   €r   rV   z2RegexTests.test_bytes_str_mixing.<locals>.<lambda>¨  s   ø€ Ø
�*‰*�SŒ/r   c                  ó(   •— ‰ j                  dd«      S ©Nr  rÝ   ©rj   r  s   €r   rV   z2RegexTests.test_bytes_str_mixing.<locals>.<lambda>ª  s   ø€ Ø
�'‰'�$˜Ô
r   c                  ó(   •— ‰ j                  dd«      S ©Nrª   ó   cr  r  s   €r   rV   z2RegexTests.test_bytes_str_mixing.<locals>.<lambda>¬  s   ø€ Ø
�'‰'�#�tÔ
r   c                  ó(   •— ‰ j                  dd«      S )Nr  r  r  r  s   €r   rV   z2RegexTests.test_bytes_str_mixing.<locals>.<lambda>®  s   ø€ Ø
�'‰'�$˜Ô
r   c                  ó(   •— ‰ j                  dd«      S r  r  r  s   €r   rV   z2RegexTests.test_bytes_str_mixing.<locals>.<lambda>°  s   ø€ Ø
�(‰(�4˜Ô
r   c                  ó(   •— ‰ j                  dd«      S r  r  r  s   €r   rV   z2RegexTests.test_bytes_str_mixing.<locals>.<lambda>²  s   ø€ Ø
�(‰(�3˜Ô
r   c                  ó(   •— ‰ j                  dd«      S ©Nrª   rÝ   r  r  s   €r   rV   z2RegexTests.test_bytes_str_mixing.<locals>.<lambda>´  s   ø€ Ø
�(‰(�3˜Ô
r   c                  óJ   — t        j                  dt         j                  «      S )Nó   \w©r-   r.   rB  rS   r   r   rV   z2RegexTests.test_bytes_str_mixing.<locals>.<lambda>·  s   € Ü
�-‰-˜¤§¡Ô
.r   c                  ó,   — t        j                  d«      S )Ns   (?u)\wr«  rS   r   r   rV   z2RegexTests.test_bytes_str_mixing.<locals>.<lambda>¹  ó   € Ü
�-‰-˜
Ô
#r   c                  ól   — t        j                  dt         j                  t         j                  z  «      S )Nú\w)r-   r.   rB  ÚASCIIrS   r   r   rV   z2RegexTests.test_bytes_str_mixing.<locals>.<lambda>»  s   € Ü
�-‰-˜œuŸ}™}¬u¯{©{Ñ:Ô
;r   c                  óJ   — t        j                  dt         j                  «      S )Nz(?u)\w)r-   r.   r#  rS   r   r   rV   z2RegexTests.test_bytes_str_mixing.<locals>.<lambda>½  s   € Ü
�-‰-˜	¤5§;¡;Ô
/r   c                  óJ   — t        j                  dt         j                  «      S )Nú(?a)\wr  rS   r   r   rV   z2RegexTests.test_bytes_str_mixing.<locals>.<lambda>¿  s   € Ü
�-‰-˜	¤5§=¡=Ô
1r   c                  ó,   — t        j                  d«      S ©Nz(?au)\wr«  rS   r   r   rV   z2RegexTests.test_bytes_str_mixing.<locals>.<lambda>Á  r   r   )r-   r.   r|   Ú	TypeErrorÚSTR_PAT_ON_BYTESÚBYTES_PAT_ON_STRÚSTR_PAT_BYTES_TEMPLÚBYTES_PAT_STR_TEMPLr}   ÚBYTES_PAT_UNI_FLAGÚMIXED_FLAGS)r   r  r	  s    @@r   Útest_bytes_str_mixingz RegexTests.test_bytes_str_mixing¢  sÁ  ù€ ä�m‰m˜CÓ ˆÜ�}‰}˜TÓ"ˆØ×Ñœy¨$×*?Ñ*?ó Bô 	à×Ñœy¨$×*?Ñ*?ó Bô 	à×Ñœy¨$×*BÑ*Bó Eô 	à×Ñœy¨$×*?Ñ*?ó Bô 	à×Ñœy¨$×*?Ñ*?ó Bô 	à×Ñœy¨$×*?Ñ*?ó Bô 	à×Ñœy¨$×*BÑ*Bó Eô 	à×Ñœy¨$×*?Ñ*?ó Bô 	ð 	×Ñœz¨4×+BÑ+Bñ E/ô 	0à×Ñœz¨4×+BÑ+Bñ E$ô 	%à×Ñœz¨4×+;Ñ+;ñ ><ô 	=à×Ñœz¨4×+;Ñ+;ñ >0ô 	1à×Ñœz¨4×+;Ñ+;ñ >2ô 	3à×Ñœz¨4×+;Ñ+;ñ >$õ 	%r   c                 óî  — dt         j                  fD ]“  }t        j                  d|t         j                  z  «      }| j	                  t        |j                  d«      «      d«       t        j                  d|«      }| j	                  t        |j                  d«      «      d«       Œ• t        j                  dt         j                  t         j                  z  «      }| j	                  |j                  d«      d «       t        j                  dt         j                  «      }| j	                  |j                  d«      d «       t        j                  dt         j                  «      }| j	                  |j                  d«      d «       t        j                  d«      }| j	                  |j                  d«      d «       dt         j                  fD ]€  }t        j                  d|t         j                  z  «      }| j	                  |j                  d	«      d «       t        j                  d
«      }| j	                  |j                  d	«      d «       Œ‚ | j                  t        | j                  d„ «       y )Nr   ô   Ã€ô   Ã Tr"  u   (?a)Ã€r&  ó   Àó   àr  c                  ó,   — t        j                  d«      S r(  r«  rS   r   r   rV   z8RegexTests.test_ascii_and_unicode_flag.<locals>.<lambda>Ü  r   r   )r-   rB  r.   r‚  r)   r(  rB   r#  r|   r}   r/  )r   r2  r	  s      r   Útest_ascii_and_unicode_flagz&RegexTests.test_ascii_and_unicode_flagÄ  sÈ  € àœŸ™Ó'ˆEÜ—-‘- ¨´×0@Ñ0@Ñ(@ÓAˆCØ×ÑœT #§)¡)¨FÓ"3Ó4°dÔ;Ü—-‘-  uÓ-ˆCØ×ÑœT #§)¡)¨FÓ"3Ó4°dÕ;ð	 (ô �m‰m˜F¤E§K¡K´%×2BÑ2BÑ$BÓCˆØ×Ñ˜Ÿ™ 6Ó*¨DÔ1Ü�m‰m˜J¬×(8Ñ(8Ó9ˆØ×Ñ˜Ÿ™ 6Ó*¨DÔ1Ü�m‰m˜E¤5§;¡;Ó/ˆØ×Ñ˜Ÿ™ 6Ó*¨DÔ1Ü�m‰m˜IÓ&ˆØ×Ñ˜Ÿ™ 6Ó*¨DÔ1ð œŸ™Ó%ˆEÜ—-‘- ¨´×1AÑ1AÑ)AÓBˆCØ×Ñ˜SŸY™Y wÓ/°Ô6Ü—-‘- Ó'ˆCØ×Ñ˜SŸY™Y wÓ/°Õ6ð	 &ð 	×Ñœz¨4×+;Ñ+;ñ >$õ 	%r   c           	      ól  — t        j                  dd«      }|s| j                  d«       nA|r.|d   |j                  d«      k7  s|d   |j                  d«      k7  r| j                  d«       |s| j                  d«       y |d d  dk7  r-| j                  dj	                  t        |d d  «      «      «       y y )	Nú(?<a>\w)Úxyz(Failed: expected match but returned Noner   r:   ÚFailed)r%   r%   z0Failed: expected "('x', 'x')" but got {} instead)r-   rB   r0   r¼   ÚformatÚasciirì   s     r   Útest_subscripting_matchz"RegexTests.test_subscripting_matchß  s�   € Ü�K‰K˜ TÓ*ˆÙØ�I‰IÐ@ÕAÙ�a˜‘d˜aŸg™g a›jÒ(¨A¨a©D°A·G±G¸A³JÒ,>Ø�I‰I�hÔÙØ�I‰IÐ@ÕAØ‰qˆT�ZÒØ�I‰IÐJ×QÑQÔRWÐXYÑZ[ÐX\ÓR]Ó^Õ_ð  r   c                 óž   — t        j                  dd«      }t        j                  dd«      }|r|r|d d  |d d  k(  s| j                  d«       y y )Nz	(?P<a>\w)r%   r9  r;  )r-   rB   r0   )r   Úm0Úm1s      r   Útest_new_named_groupsz RegexTests.test_new_named_groupsê  sF   € Ü�[‰[˜ sÓ+ˆÜ�[‰[˜ cÓ*ˆÙ‘r˜b¡˜e r©! ušnØ�I‰I�hÕð -r   c           
      ór  — | j                  t        j                  dd«      d «       | j                  t        j                  dd«      d «       | j                  t        j                  dd«      d «       | j                  t        t        j                  dd«      «      d«       | j                  t        t        j                  dd	«      «      d«       | j                  t        t        j                  d
d«      «      d«       | j                  t        t        j                  dd«      «      d«       | j                  t        j                  dd«      d «       | j                  t        j                  d
d«      d «       | j                  t        j                  dd«      d «       | j                  t        j                  dd	«      d «       | j                  t        j                  dd«      d «       | j                  t        j                  dd«      d «       | j                  t        t        j                  dd«      «      d«       | j                  t        t        j                  dd«      «      d«       | j                  t        t        j                  dd«      «      d«       | j                  t        t        j                  dd«      «      d«       | j                  t        t        j                  dd«      «      d«       | j                  t        t        j                  dd«      «      d«       | j                  t        t        j                  dd«      «      d«       | j                  t        t        j                  dd«      «      d«       | j                  t        t        j                  dd«      «      d«       | j                  t        t        j                  dd«      «      d«       | j                  t        t        j                  dd«      «      d«       | j                  t        t        j                  dd«      «      d«       | j                  t        t        j                  dd«      «      d«       | j                  t        t        j                  dd«      «      d«       | j                  t        t        j                  dd«      «      d«       | j                  t        t        j                  d d«      «      d«       | j                  t        t        j                  d!d«      «      d«       | j                  t        t        j                  d"d«      «      d«       | j                  t        t        j                  d#d«      «      d«       | j                  t        t        j                  d$d«      «      d«       | j                  t        t        j                  d%d«      «      d«       | j                  t        t        j                  d&d«      «      d«       | j                  t        t        j                  d'd«      «      d«       | j                  t        t        j                  d(d«      «      d«       | j                  t        t        j                  d)d«      «      d«       | j                  t        t        j                  d*d«      «      d«       | j                  t        t        j                  d+d«      «      d«       | j                  t        t        j                  d,d«      «      d«       | j                  t        t        j                  d-d«      «      d«       | j                  t        t        j                  d.d/«      «      d«       | j                  t        t        j                  d0d1«      «      d«       | j                  t        t        j                  dd«      «      d«       | j                  t        j                  d.d2«      d «       | j                  t        j                  d0d2«      d «       | j                  t        j                  dd2«      d «       | j                  t        j                  d3d/«      d «       | j                  t        j                  d4d1«      d «       | j                  t        j                  d5d«      d «       | j                  t        t        j                  d3d2«      «      d«       | j                  t        t        j                  d4d2«      «      d«       | j                  t        t        j                  d5d2«      «      d«       | j                  t        t        j                  d6d«      «      d«       | j                  t        t        j                  d6d7«      «      d«       | j                  t        t        j                  d8d«      «      d«       | j                  t        t        j                  d9d7«      «      d«       | j                  t        t        j                  d:d7«      «      d«       | j                  t        t        j                  d:d«      «      d«       | j                  t        t        j                  dd/«      «      d«       | j                  t        t        j                  dd7«      «      d«       | j                  t        t        j                  dd;«      «      d«       | j                  t        j                  d<d«      j	                  «       d=«       | j                  t        j                  d<d>«      j	                  «       d?«       | j                  t        j
                  d<d@«      g dA¢«       | j                  t        j
                  dBd@«      dCdDg«       | j                  t        j
                  d<dE«      g dF¢«       | j                  t        t        j                  d9d7«      «      d«       dG}dH}t        dIj                  «       «      }g d|dJf‘dK|dJf‘d5|dLf‘dM|dLf‘d.|dNf‘dO|dNf‘d3|dPf‘dQ|dPf‘dR|dSf‘dT|dUf‘dV|dWf‘dX|dYf‘dZ|d[f‘d\|d]f‘d^‘d_‘d`‘da‘d|dbf‘dc|dbf‘d|ddf‘de|ddf‘d|dff‘dg|dff‘d|dhf‘di|dhf‘dj|dkf‘dl|dmf‘dn|dof‘dp|dqf‘dr|dsf‘dt|duf‘d|dbf‘dv|dbf‘dw|ddf‘dx|ddf‘dy|dff‘dz|dff‘d{|dhf‘d||dhf‘d}|dkf‘d~|dmf‘d|dof‘d€|dqf‘d�|dsf‘d‚|duf‘}|D ]R  \  }}}	 |d dƒ j                  t        j
                  ||«      «      |k7  r | j                  d„j                  |«      «       ŒT | j                  t        t        j                  d†d/«      «      d«       | j                  t        t        j                  d‡dˆ«      «      d«       | j                  t        t        j                  d‰dˆ«      «      d«       y # t        $ r5}| j                  d…j                  |t        |«      «      «       Y d }~�Œd }~ww xY w)ŠNs   (?ai)Àr5  s	   (?ai)\xC0s   (?a)\wr"  r3  Ts   (?L)\dó   0s   (?L)\só    s   (?L)\wó   aó   ?s   (?L)\Ds   (?L)\Ss   (?L)\Wz\p{Cyrillic}u   Ð�z(?i)\p{Cyrillic}z\p{IsCyrillic}z\p{Script=Cyrillic}z\p{InCyrillic}z\p{Block=Cyrillic}z[[:Cyrillic:]]z[[:IsCyrillic:]]z[[:Script=Cyrillic:]]z[[:InCyrillic:]]z[[:Block=Cyrillic:]]z\P{Cyrillic}rg   z\P{IsCyrillic}z\P{Script=Cyrillic}z\P{InCyrillic}z\P{Block=Cyrillic}z\p{^Cyrillic}z\p{^IsCyrillic}z\p{^Script=Cyrillic}z\p{^InCyrillic}z\p{^Block=Cyrillic}z[[:^Cyrillic:]]z[[:^IsCyrillic:]]z[[:^Script=Cyrillic:]]z[[:^InCyrillic:]]z[[:^Block=Cyrillic:]]ú\dr“  rë  rç   rÎ  z\Dz\Sz\Wú\p{L}r\   z\p{Lu}ú\p{Ll}r   rW  ú\Xr0  õ   aÌ€r\  õ   aÃ aÌ€eÃ©eÌ�©r\   r3  rL  Úeô   Ã©u   eÌ�ú\X{3}õ   aÃ aÌ€õ   eÃ©eÌ�õ   
Ì�AÌ�©Úrq   u   Ì�u   AÌ�u   -09AZaz_Î“Î³s   -09AZaz_z#Ll Lm Lo Lt Lu Mc Me Mn Nd Nl No Pcu   09AZaz_Î“Î³z
[[:word:]]r³   z[[:^word:]]Ú09z[[:digit:]]u
   -AZaz_Î“Î³z[[:^digit:]]z[[:alpha:]]u   AZazÎ“Î³z[[:^alpha:]]z-09_z[[:alnum:]]u
   09AZazÎ“Î³z[[:^alnum:]]z-_z[[:xdigit:]]Ú09Aaz[[:^xdigit:]]u   -Zz_Î“Î³)z\p{InBasicLatin}õ   aÃ¡r\   )z\P{InBasicLatin}rY  ô   Ã¡)z(?i)\p{InBasicLatin}rY  r\   )z(?i)\P{InBasicLatin}rY  rZ  s   09AZaz_s   (?L)[[:word:]]ó   -s   (?L)[[:^word:]]s   09s   (?L)[[:digit:]]s   -AZaz_s   (?L)[[:^digit:]]s   (?L)[[:alpha:]]s   AZazs   (?L)[[:^alpha:]]s   -09_s   (?L)[[:alnum:]]s   09AZazs   (?L)[[:^alnum:]]s   -_s   (?L)[[:xdigit:]]s   09Aas   (?L)[[:^xdigit:]]s   -Zz_s   (?a)[[:word:]]s   (?a)\Ws   (?a)[[:^word:]]s   (?a)\ds   (?a)[[:digit:]]s   (?a)\Ds   (?a)[[:^digit:]]s   (?a)[[:alpha:]]s   (?a)[[:^alpha:]]s   (?a)[[:alnum:]]s   (?a)[[:^alnum:]]s   (?a)[[:xdigit:]]s   (?a)[[:^xdigit:]]r   z
Failed: {}zFailed: {} raised {}z\p{NumericValue=0}z\p{NumericValue=1/2}ô   Â½z\p{NumericValue=0.5})r)   r-   rB   r(  rA   r/   Úsetrê   rG  r0   r<  Ú	Exceptionr=  )	r   Úchars_uÚchars_bÚword_setÚtestsrx   ÚcharsÚexpectedrO  s	            r   Útest_propertieszRegexTests.test_propertiesð  s—  € Ø×ÑœŸ™ \°7Ó;¸TÔBØ×ÑœŸ™ ]°GÓ<¸dÔCØ×ÑœŸ™ Z°Ó9¸4Ô@Ø×ÑœœeŸk™k¨%°Ó8Ó9¸4Ô@ð 	×ÑœœeŸk™k¨*°dÓ;Ó<¸dÔCØ×ÑœœeŸk™k¨*°dÓ;Ó<¸dÔCØ×ÑœœeŸk™k¨*°dÓ;Ó<¸dÔCØ×ÑœŸ™ Z°Ó6¸Ô=Ø×ÑœŸ™ Z°Ó6¸Ô=Ø×ÑœŸ™ Z°Ó6¸Ô=à×ÑœŸ™ Z°Ó6¸Ô=Ø×ÑœŸ™ Z°Ó6¸Ô=Ø×ÑœŸ™ Z°Ó6¸Ô=Ø×ÑœœeŸk™k¨*°dÓ;Ó<¸dÔCØ×ÑœœeŸk™k¨*°dÓ;Ó<¸dÔCØ×ÑœœeŸk™k¨*°dÓ;Ó<¸dÔCà×ÑœœeŸk™k¨/Ø
)ó+ó ,Ø-1ô	3à×ÑœœeŸk™kÐ*=Ø
)ó+ó ,Ø-1ô	3à×ÑœœeŸk™kÐ*;Ø
)ó+ó ,Ø-1ô	3à×ÑœœeŸk™kÐ*@Ø
)ó+ó ,Ø-1ô	3à×ÑœœeŸk™kÐ*;Ø
)ó+ó ,Ø-1ô	3à×ÑœœeŸk™kÐ*?Ø
)ó+ó ,Ø-1ô	3à×ÑœœeŸk™kÐ*;Ø
)ó+ó ,Ø-1ô	3à×ÑœœeŸk™kÐ*=Ø
)ó+ó ,Ø-1ô	3à×ÑœœeŸk™kÐ*BØ
)ó+ó ,Ø-1ô	3à×ÑœœeŸk™kÐ*=Ø
)ó+ó ,Ø-1ô	3à×ÑœœeŸk™kÐ*AØ
)ó+ó ,Ø-1ô	3ð 	×ÑœœeŸk™k¨/Ø
&ó(ó )Ø*.ô	0à×ÑœœeŸk™kÐ*;Ø
&ó(ó )Ø*.ô	0à×ÑœœeŸk™kÐ*@Ø
&ó(ó )Ø*.ô	0à×ÑœœeŸk™kÐ*;Ø
&ó(ó )Ø*.ô	0à×ÑœœeŸk™kÐ*?Ø
&ó(ó )Ø*.ô	0à×ÑœœeŸk™kÐ*:Ø
&ó(ó )Ø*.ô	0à×ÑœœeŸk™kÐ*<Ø
&ó(ó )Ø*.ô	0à×ÑœœeŸk™kÐ*AØ
&ó(ó )Ø*.ô	0à×ÑœœeŸk™kÐ*<Ø
&ó(ó )Ø*.ô	0à×ÑœœeŸk™kÐ*@Ø
&ó(ó )Ø*.ô	0à×ÑœœeŸk™kÐ*<Ø
&ó(ó )Ø*.ô	0à×ÑœœeŸk™kÐ*>Ø
&ó(ó )Ø*.ô	0à×ÑœœeŸk™kÐ*CØ
&ó(ó )Ø*.ô	0à×ÑœœeŸk™kÐ*>Ø
&ó(ó )Ø*.ô	0à×ÑœœeŸk™kÐ*BØ
&ó(ó )Ø*.ô	0ð 	×ÑœœeŸk™k¨%°Ó5Ó6¸Ô=Ø×ÑœœeŸk™k¨%°Ó5Ó6¸Ô=Ø×ÑœœeŸk™k¨%°Ó5Ó6¸Ô=Ø×ÑœŸ™ U¨CÓ0°$Ô7Ø×ÑœŸ™ U¨CÓ0°$Ô7Ø×ÑœŸ™ U¨CÓ0°$Ô7Ø×ÑœŸ™ U¨CÓ0°$Ô7Ø×ÑœŸ™ U¨CÓ0°$Ô7Ø×ÑœŸ™ U¨CÓ0°$Ô7Ø×ÑœœeŸk™k¨%°Ó5Ó6¸Ô=Ø×ÑœœeŸk™k¨%°Ó5Ó6¸Ô=Ø×ÑœœeŸk™k¨%°Ó5Ó6¸Ô=à×ÑœœeŸk™k¨(°CÓ8Ó9¸4Ô@Ø×ÑœœeŸk™k¨(°CÓ8Ó9¸4Ô@Ø×ÑœœeŸk™k¨)°SÓ9Ó:¸DÔAØ×ÑœœeŸk™k¨)°SÓ9Ó:¸DÔAà×ÑœœeŸk™k¨(°CÓ8Ó9¸4Ô@Ø×ÑœœeŸk™k¨(°CÓ8Ó9¸4Ô@à×ÑœœeŸk™k¨%°Ó5Ó6¸Ô=Ø×ÑœœeŸk™k¨%°Ó5Ó6¸Ô=Ø×ÑœœeŸk™k¨%°Ó5Ó6¸Ô=à×ÑœŸ™ U¨FÓ3×8Ñ8Ó:¸FÔCØ×ÑœŸ™ U¨IÓ6×;Ñ;Ó=¸vÔFØ×ÑœŸ™ uØ
$ó&ò(ô	ð 	×ÑœŸ™ xØ
$ó&Ø(6¸Ð'Gô	Ià×ÑœŸ™ uÐ.CÓDÚ
-ô	/ð 	×ÑœœeŸk™k¨)°SÓ9Ó:¸DÔAà(ˆØˆÜÐ<×BÑBÓDÓEˆð1
Ø�GÐ2Ð3ð1
à˜GÐ%:Ð;ð1
ð �G˜SÐ!ð1
ð ˜W cÐ*ð	1
ð
 �G˜TÐ"ð1
ð ˜W dÐ+ð1
ð �GÐ1Ð2ð1
ð ˜gÐ';Ð<ð1
ð ˜WÐ&8Ð9ð1
ð ˜g vÐ.ð1
ð ˜WÐ&:Ð;ð1
ð ˜g tÐ,ð1
ð ˜g vÐ.ð1
ð ˜wÐ(:Ð;ð1
ð 0ð1
ð  3ð!1
ð" 4ð#1
ð$ 7ð%1
ð( ˜ *Ð-ð)1
ð*   ¨*Ð5ð+1
ð, ˜ $Ð'ð-1
ð. ! '¨4Ð0ð/1
ð0 ˜ %Ð(ð11
ð2 ! '¨5Ð1ð31
ð4 ˜ )Ð,ð51
ð6 " 7¨IÐ6ð71
ð8 ! '¨7Ð3ð91
ð: " 7¨GÐ4ð;1
ð< ! '¨9Ð5ð=1
ð> " 7¨EÐ2ð?1
ð@ " 7¨GÐ4ðA1
ðB # G¨WÐ5ðC1
ðF ˜ *Ð-ðG1
ðH   ¨*Ð5ðI1
ðJ ˜ $Ð'ðK1
ðL ! '¨4Ð0ðM1
ðN ˜ %Ð(ðO1
ðP ! '¨5Ð1ðQ1
ðR ˜ )Ð,ðS1
ðT " 7¨IÐ6ðU1
ðV ! '¨7Ð3ðW1
ðX " 7¨GÐ4ðY1
ðZ ! '¨9Ð5ð[1
ð\ " 7¨EÐ2ð]1
ð^ " 7¨GÐ4ð_1
ð` # G¨WÐ5ða1
ˆód ).Ñ$ˆG�U˜HðLØ˜#˜A�;×#Ñ#¤E§M¡M°'¸5Ó$AÓBÀhÒNØ—I‘I˜l×1Ñ1°'Ó:Ô;øð ).ð 	×ÑœœeŸk™kÐ*?ÀÓEÓFØ
ô	à×ÑœœeŸk™kÐ*AØ
(ó*ó +Ø,0ô	2à×ÑœœeŸk™kÐ*AØ
(ó*ó +Ø,0õ	2øô ò LØ—	‘	Ð0×7Ñ7¸ÄÀqÃÓJ×KÒKûðLús   ôAw8÷8	x6ø*x1ø1x6c                 óB  — | j                  t        j                  dd«      dg«       | j                  t        j                  dd«      ddg«       | j                  t        j                  dd«      g d¢«       | j                  t        j                  d	d«      g d
¢«       y )Nú\w+u    à¤¹à¤¿à¤¨à¥�à¤¦à¥€,õ   à¤¹à¤¿à¤¨à¥�à¤¦à¥€z\W+rç   Ú,ræ   )rç   rh  ri  z(?V1)\B)rÉ   u    à¤¹u   à¤¿u   à¤¨u   à¥�u   à¤¦u   à¥€,rÉ   )r)   r-   r/   rê   rC   s    r   Útest_word_classzRegexTests.test_word_class¨  s˜   € Ø×ÑœŸ™ vØ
2ó4à1Ð
2ô	4ð 	×ÑœŸ™ vØ
2ó4Ø69¸3°Zô	Aà×ÑœŸ™ ZØ
2ó4ò67ô	8ð 	×ÑœŸ™ ZØ
2ó4ò6Aõ	Br   c                 óT   — | j                  t        j                  dd«      ddg«       y )Nú\G\w{2}úabcd efr  r  rø   rC   s    r   Útest_search_anchorzRegexTests.test_search_anchorµ  s!   € Ø×ÑœŸ™ z°9Ó=ÀÀd¸|ÕLr   c                 óî  — | j                  t        j                  dd«      g d¢«       | j                  t        j                  ddd¬«      g d¢«       | j                  t        j                  dd«      dd	g«       | j                  t        j                  ddd¬«      g d
¢«       | j                  t        j                  ddd¬«      ddg«       | j                  t        j                  dd«      D �cg c]  }|d   ‘Œ	 c}g d¢«       | j                  t        j                  ddd¬«      D �cg c]  }|d   ‘Œ	 c}g d
¢«       | j                  t        j                  dd«      D �cg c]  }|d   ‘Œ	 c}g d¢«       | j                  t        j                  ddd¬«      D �cg c]  }|d   ‘Œ	 c}g d
¢«       | j                  t        j                  dd«      g d¢«       | j                  t        j                  dd«      g d¢«       | j                  t        j                  dd«      g d¢«       | j                  t        j                  dd«      g d¢«       | j                  t        j                  dd«      D �cg c]  }|d   ‘Œ	 c}g d¢«       | j                  t        j                  dd«      D �cg c]  }|d   ‘Œ	 c}g d¢«       | j                  t        j                  dd«      D �cg c]  }|d   ‘Œ	 c}g d¢«       | j                  t        j                  dd«      D �cg c]  }|d   ‘Œ	 c}g d¢«       | j                  t        j                  dd«      ddg«       | j                  t        j                  dd«      ddg«       | j                  t        j                  dd«      g «       | j                  t        j                  dd«      dg«       | j                  t        j                  d d!«      g d"¢«       | j                  t        j                  d#d!«      g d"¢«       | j                  t        j                  d$d!«      g d%¢«       | j                  t        j                  d&d!«      g d%¢«       | j                  t        j                  d'dd(d)¬*«      d+d,g«       | j                  t        j                  d'dd(d-¬*«      d+d,g«       | j                  t        j                  d'dd(d)¬*«      D �cg c]  }|d   ‘Œ	 c}d+d,g«       | j                  t        j                  d'dd(d-¬*«      D �cg c]  }|d   ‘Œ	 c}d+d,g«       | j                  t        j                  ddd(d)¬*«      D �cg c]  }|d   ‘Œ	 c}d,d+g«       | j                  t        j                  ddd(d-¬*«      D �cg c]  }|d   ‘Œ	 c}d,d+g«       | j                  t        j                  ddd(d)¬*«      d,d+g«       | j                  t        j                  ddd(d-¬*«      d,d+g«       | j                  t        j                  d.d/t        j                  «      d0d1g«       | j                  t        j                  d2d/t        j                  «      d1d0g«       | j                  t        j                  d3d«      d	g«       | j                  t        j                  d3dd¬«      d	dg«       | j                  t        j                  d4d5«      d6d7g«       | j                  t        j                  d8d5«      d9d:g«       | j                  t        j                  d3d«      D �cg c]  }|d   ‘Œ	 c}d	g«       | j                  t        j                  d3dd¬«      D �cg c]  }|d   ‘Œ	 c}d	dg«       | j                  t        j                  d4d5«      D �cg c]  }|d   ‘Œ	 c}d;d<g«       | j                  t        j                  d8d5«      D �cg c]  }|d   ‘Œ	 c}d=d>g«       | j                  t        j
                  d?d?«      j                  «       d@«       | j                  t        j
                  dAd?«      j                  «       d@«       | j                  t        j
                  dBdC«      j                  «       d@«       | j                  t        j
                  dDdC«      j                  «       d@«       | j                  t        j                  dEdFd«      d«       | j                  t        j                  dGdFd«      d«       y c c}w c c}w c c}w c c}w c c}w c c}w c c}w c c}w c c}w c c}w c c}w c c}w c c}w c c}w c c}w c c}w )HNz(?r).r»   )rÝ   rª   r\   T©Ú
overlappedú(?r)..Úabcder±  r  ©r±  r  r  r  ú(?r)(.)(-)(.)úa-b-c©rª   r³   rÝ   ©r\   r³   rª   r   ú^|\w+úfoo bar©rÉ   rÇ  rÉ  ú
(?V1)^|\w+ú	(?r)^|\w+©rÉ  rÇ  rÉ   ú(?rV1)^|\w+rl  rm  r  r  z.{2}(?<=\G.*)rÔ  z(?r)\G\w{2}z(?r)\w{2}\GÚefzq*Úqqwe)ÚqqrÉ   rÉ   rÉ   z(?V1)q*z(?r)q*)rÉ   rÉ   r‚  rÉ   z(?rV1)q*rP   r:   r;   ©r7  r8  rª   rÝ   rŸ  z[ab]ÚaBr\   ÚBz(?r)[ab]z(?r).{2}ú(\w+) (\w+)zfirst second third fourth fifthr!  )ÚthirdÚfourthz(?r)(\w+) (\w+))rˆ  Úfifth)r   r‡  r  zthird fourthzfourth fifthzsecond thirdr,  rh  z
(?r)abcdefz
(?i)abcdefÚABCDEFz(?ir)abcdefú(.)r�   ú(?r)(.))r)   r-   r/   rà  rv   r@   rA   rj   rì   s     r   Útest_search_reversezRegexTests.test_search_reverse¸  sÈ  € Ø×ÑœŸ™ x°Ó7ºÔIØ×ÑœŸ™ x°À4ÔHò Kô 	à×ÑœŸ™ y°'Ó:¸TÀ4¸LÔIØ×ÑœŸ™ y°'ÀdÔKÚ
"ô	$à×ÑœŸ™Ð'7¸ØôØ,¨oÐ>ô	@ð 	×Ñ¬¯©°xÀÔ(GÓHÑ(G 1˜!˜A›$Ð(GÑHò Kô 	à×Ñ¬¯©°yÀ'Øõ)ó ñ ) 1˜!˜A›$ð )ñ Ú5ô	7à×Ñ¬¯©°xÀÔ(GÓHÑ(G 1˜!˜A›$Ð(GÑHò Kô 	à×Ñ¬¯©°yÀ'Øõ)ó ñ ) 1˜!˜A›$ð )ñ Ú5ô	7ð 	×ÑœŸ™ x°Ó;ò >ô 	à×ÑœŸ™ }°iÓ@ò Cô 	à×ÑœŸ™ |°YÓ?ò Bô 	à×ÑœŸ™ ~°yÓAò Dô 	ð 	×Ñ¬¯©°xÀÔ(KÓLÑ(K 1˜!˜A›$Ð(KÑLÚ
ô	à×Ñ¬¯©°}Ø
ô)ó ñ ) 1˜!˜A›$ð )ñ Ú)ô	+à×Ñ¬¯©°|Ø
ô)ó ñ ) 1˜!˜A›$ð )ñ Ú)ô	+à×Ñ¬¯©°~Ø
ô)ó ñ ) 1˜!˜A›$ð )ñ Ú)ô	+ð 	×ÑœŸ™ z°9Ó=ÀÀd¸|ÔLØ×ÑœŸ™Ð'7¸Ó@À4ÈÀ,ÔOØ×ÑœŸ™ ~°yÓAÀ2ÔFØ×ÑœŸ™ ~°yÓAÀDÀ6ÔJà×ÑœŸ™ u¨fÓ5Ò7IÔJØ×ÑœŸ™ z°6Ó:Ò<NÔOØ×ÑœŸ™ y°&Ó9Ò;MÔNØ×ÑœŸ™ {°FÓ;ò >ô 	ð 	×ÑœŸ™ s¨F¸À!ÔDÀsØ
ðGô 	à×ÑœŸ™ s¨F¸À"ÔEÈØ
ðHô 	à×Ñ¬¯©°s¸FÈØõ)ó ñ ) 1˜!˜A›$ð )ñ Ø˜C�jô	"à×Ñ¬¯©°s¸FÈØõ)ó ñ ) 1˜!˜A›$ð )ñ Ø˜S�zô	#ð 	×Ñ¬¯©°wÀÈAØõ)ó ñ ) 1˜!˜A›$ð )ñ Ø˜C�jô	"à×Ñ¬¯©°wÀÈAØõ)ó ñ ) 1˜!˜A›$ð )ñ Ø˜S�zô	#à×ÑœŸ™ w°¸AÀaÔHÈ3Ø
ðKô 	à×ÑœŸ™ w°¸AÀbÔIØ�ˆ*ô	ð 	×ÑœŸ™ w°´e·g±gÓ>ÀÀcÀ
ÔKØ×ÑœŸ™ {°D¼%¿'¹'ÓBÀSÈ#ÀJÔOà×ÑœŸ™ {°EÓ:¸T¸FÔCØ×ÑœŸ™ {°EÀdÔKØ�ˆ,ô	à×ÑœŸ™ ~Ø
+ó-Ø/Bð Eð /ô	ð 	×ÑœŸ™Ð'9Ø
+ó-Ø/Bð Eð /ô	ð 	×Ñ¬¯©°{ÀEÔ(JÓKÑ(J 1˜!˜A›$Ð(JÑKØˆ&ô	à×Ñ¬¯©°{ÀEØõ)ó ñ ) 1˜!˜A›$ð )ñ Ø" D˜\ô	+à×Ñ¬¯©°~Ø
+ô)-ó .ñ )- 1˜!˜A›$ð )-ñ .Ø0>Ø
ð0ô	ð 	×Ñ¬¯©Ð7IØ
+ô)-ó .ñ )- 1˜!˜A›$ð )-ñ .Ø0>Ø
ð0ô	ð 	×ÑœŸ™ h°Ó9×>Ñ>Ó@À&ÔIØ×ÑœŸ™ l°HÓ=×BÑBÓDÀfÔMØ×ÑœŸ™ l°HÓ=×BÑBÓDÀfÔMØ×ÑœŸ™ m°XÓ>×CÑCÓEÀvÔNà×ÑœŸ™ 6¨5°%Ó8¸%Ô@Ø×ÑœŸ™ :¨u°eÓ<¸eÕDùòm IùòùâHùòùò Mùòùòùòùò$ùòùòùòùò( Lùòùò.ùò.s`   Ã2d'Ä-d,Å&d1Æ!d6É:d;Ê3e Ë,eÌ%e
Ó4eÔ0eÕ,eÖ(eÝe#Þ e(Þ9e-ß2e2c                 óP   — | j                  t        j                  dd«      d «       y )Nz(?>a*)ar  rs  rC   s    r   Útest_atomiczRegexTests.test_atomic  s   € à×ÑœŸ™ j°$Ó7¸Õ>r   c                 ó¤  — | j                  t        j                  dd«      j                  «       d«       | j                  t        j                  dd«      j                  «       d«       | j                  t        j                  dd«      j                  «       d«       | j                  t        j                  dd«      j                  «       d«       | j                  t        j                  d	d
«      j                  «       d«       | j                  t        j                  dd«      j                  «       d«       | j                  t        j                  dd«      j                  «       d«       | j                  t        j                  dd«      j                  «       d«       | j                  t        j                  dd«      d «       | j                  t        j                  dd«      d «       | j                  t        j                  dd«      d «       | j                  t        j                  dd«      d «       | j                  t        j                  dd
«      d «       | j                  t        j                  dd«      d «       | j                  t        j                  dd«      d «       | j                  t        j                  dd«      d «       y )Nza?ar\   r0  za*ar<   r>   za+aza{1,3}az	(?:ab)?abr  r\  z	(?:ab)*abÚabababrh  z	(?:ab)+abz(?:ab){1,3}abza?+aza*+aza++aza{1,3}+az
(?:ab)?+abz
(?:ab)*+abz
(?:ab)++abz(?:ab){1,3}+ab©r)   r-   r@   rA   rC   s    r   Útest_possessivezRegexTests.test_possessive  s  € à×ÑœŸ™ f¨cÓ2×7Ñ7Ó9¸6ÔBØ×ÑœŸ™ f¨eÓ4×9Ñ9Ó;¸VÔDØ×ÑœŸ™ f¨eÓ4×9Ñ9Ó;¸VÔDØ×ÑœŸ™ j°%Ó8×=Ñ=Ó?ÀÔHð 	×ÑœŸ™ l°DÓ9×>Ñ>Ó@À&ÔIØ×ÑœŸ™ l°HÓ=×BÑBÓDÀfÔMØ×ÑœŸ™ l°HÓ=×BÑBÓDÀfÔMØ×ÑœŸ™Ð&6¸ÓA×FÑFÓHð Kô 	ð 	×ÑœŸ™ g¨sÓ3°TÔ:Ø×ÑœŸ™ g¨uÓ5°tÔ<Ø×ÑœŸ™ g¨uÓ5°tÔ<Ø×ÑœŸ™ k°5Ó9¸4Ô@ð 	×ÑœŸ™ m°TÓ:¸DÔAØ×ÑœŸ™ m°XÓ>ÀÔEØ×ÑœŸ™ m°XÓ>ÀÔEØ×ÑœŸ™Ð&7¸ÓBÀDÕIr   c                 ó6	  — t         j                  dk\  r)| j                  t        j                  dd«      g d¢«       n'| j                  t        j                  dd«      dg«       | j                  t        j                  dd«      g d¢«       | j                  t        j
                  dd«      g d¢«       | j                  t        j                  dd«      D �cg c]  }|d	   ‘Œ	 c}g d¢«       | j                  t        j
                  d
d«      g d¢«       | j                  t        j                  d
d«      D �cg c]  }|d	   ‘Œ	 c}g d¢«       | j                  t        j
                  dd«      g d¢«       | j                  t        j                  dd«      D �cg c]  }|d	   ‘Œ	 c}g d¢«       | j                  t        j
                  dd«      g d¢«       | j                  t        j                  dd«      D �cg c]  }|d	   ‘Œ	 c}g d¢«       t         j                  dk\  r_| j                  t        j                  dd«      g d¢«       | j                  t        j                  dd«      D �cg c]  }|‘Œ c}g d¢«       n\| j                  t        j                  dd«      dg«       | j                  t        j                  dd«      D �cg c]  }|‘Œ c}dg«       t         j                  dk\  r_| j                  t        j                  dd«      g d¢«       | j                  t        j                  dd«      D �cg c]  }|‘Œ c}g d¢«       n\| j                  t        j                  dd«      dg«       | j                  t        j                  dd«      D �cg c]  }|‘Œ c}dg«       | j                  t        j                  dd«      g d¢«       | j                  t        j                  dd«      D �cg c]  }|‘Œ c}g d¢«       | j                  t        j                  dd«      g d¢«       | j                  t        j                  dd«      D �cg c]  }|‘Œ c}g d¢«       y c c}w c c}w c c}w c c}w c c}w c c}w c c}w c c}w c c}w c c}w )Nr²   z\brP  )rÉ   r\   rç   rª   rÉ   ræ   ry  rz  r{  r   r}  r~  r|  r  rÉ   rå   )rÉ   r%   r\   r%   rª   r%   rÝ   rÉ   z(?r))rÉ   rÝ   r%   rª   r%   r\   r%   rÉ   z(?V1)z(?rV1))r¶   r·   r)   r-   rê   r/   rà  rë   rì   s     r   Útest_zerowidthzRegexTests.test_zerowidth8  s$  € ä×Ñ˜yÒ(Ø×ÑœUŸ[™[¨°Ó6ò 9õ ð ×ÑœUŸ[™[¨°Ó6¸¸Ô@Ø×ÑœŸ™ Z°Ó7ò :ô 	ð 	×ÑœŸ™ x°Ó;ò >ô 	à×Ñ¬¯©°xÀÔ(KÓLÑ(K 1˜!˜A›$Ð(KÑLÚ
ô	à×ÑœŸ™ |°YÓ?ò Bô 	à×Ñ¬¯©°|Ø
ô)ó ñ ) 1˜!˜A›$ð )ñ Ú)ô	+à×ÑœŸ™ }°iÓ@ò Cô 	à×Ñ¬¯©°}Ø
ô)ó ñ ) 1˜!˜A›$ð )ñ Ú)ô	+à×ÑœŸ™ ~°yÓAò Dô 	à×Ñ¬¯©°~Ø
ô)ó ñ ) 1˜!˜A›$ð )ñ Ú)ô	+ô ×Ñ˜yÒ(Ø×ÑœUŸ[™[¨¨XÓ6ò 9!ô "à×Ñ¬¯©¸¸XÔ)FÓGÑ)F AšaÐ)FÑGò J0õ 1ð ×ÑœUŸ[™[¨¨XÓ6¸¸
ÔCØ×Ñ¬¯©¸¸XÔ)FÓGÑ)F AšaÐ)FÑGØˆjôô ×Ñ˜yÒ(Ø×ÑœUŸ[™[¨°Ó:ò =!ô "à×Ñ¬¯©¸ÀÔ)JÓKÑ)J AšaÐ)JÑKÚ4õ6ð ×ÑœUŸ[™[¨°Ó:¸X¸JÔGØ×Ñ¬¯©¸ÀÔ)JÓKÑ)J AšaÐ)JÑKØˆjôð 	×ÑœŸ™ W¨hÓ7ò :ô 	à×Ñ¤U§_¡_°W¸hÔ%GÓHÑ%G š!Ð%GÑHò K,ô 	-ð 	×ÑœŸ™ X¨xÓ8ò ;ô 	à×Ñ¤U§_¡_°X¸xÔ%HÓIÑ%H š!Ð%HÑIò L,õ 	-ùòU Mùòùòùòùò Hùò Hùò Lùò Lùò
 Iùò
 Js<   ÃQ)Ä8Q.ÆQ3Ç:Q8É.	Q=Ë	RÌ<	RÎ	RÏ7	RÑ	Rc                 ó  — | j                  t        j                  dd«      j                  «       d«       | j                  t        j                  dd«      j                  «       d«       | j                  t        j                  dd«      d «       | j                  t        j                  dd«      d «       | j                  t        j                  dd«      d «       | j                  t        j                  ddt        j                  ¬	«      d «       | j                  t        j                  d
dt        j                  ¬	«      d «       | j                  t        j                  ddt        j                  ¬	«      j                  «       d«       y )Nz(?i)Abr  r\  z(?i:A)bzA(?i)bz(?V0)Abz(?V1)Abz(?-i)AbrF  z(?-i:A)bzA(?-i)b)r)   r-   r@   rA   rv   rC   s    r   Útest_scoped_and_inline_flagsz'RegexTests.test_scoped_and_inline_flagsr  s
  € à×ÑœŸ™ i°Ó6×;Ñ;Ó=¸vÔFØ×ÑœŸ™ j°$Ó7×<Ñ<Ó>ÀÔGà×ÑœŸ™ i°Ó6¸Ô=à×ÑœŸ™ j°$Ó7¸Ô>Ø×ÑœŸ™ j°$Ó7¸Ô>Ø×ÑœŸ™ j°$¼e¿g¹gÔFÈÔMØ×ÑœŸ™ k°4¼u¿w¹wÔGÈÔNØ×ÑœŸ™ j°$¼e¿g¹gÔF×KÑKÓMØ
õ	r   c                 ó<  — | j                  t        j                  dd«      j                  «       d«       | j                  t        j                  dd«      j                  «       d«       | j                  t        j                  dd«      j                  «       d«       y )Nz(?:a+)+r<   r>   z(?:(?:ab)+c)+Úabcabcrh  z
(?:a+){2,}r’  rC   s    r   Útest_repeated_repeatsz RegexTests.test_repeated_repeats€  sw   € à×ÑœŸ™ j°%Ó8×=Ñ=Ó?ÀÔHØ×ÑœŸ™Ð&6¸ÓA×FÑFÓHð Kô 	ð 	×ÑœŸ™ m°UÓ;×@Ñ@ÓBÀFÕKr   c           	      óÞ  — | j                  t        j                  dd«      j                  «       d«       | j                  t        j                  dd«      d «       | j                  t        j                  dd«      d «       | j                  t        j                  dd«      j                  «       d«       | j                  t	        t        j
                  dd«      «      d«       | j                  t        j
                  d	d«      d «       | j                  t	        t        j
                  d
d«      «      d«       | j                  t        j
                  dd«      d «       | j                  t        j
                  dd«      d «       | j                  t        j
                  dd«      d «       | j                  t	        t        j
                  dd«      «      d«       | j                  t        j
                  dd«      d «       | j                  t	        t        j
                  dd«      «      d«       | j                  t	        t        j
                  dd«      «      d«       | j                  t        j
                  dd«      d «       | j                  t	        t        j
                  dd«      «      d«       | j                  t        j
                  dd«      d «       | j                  t	        t        j
                  dd«      «      d«       | j                  t        j
                  dd«      d «       | j                  t        j
                  dd«      d «       | j                  t        j
                  dd«      d «       | j                  t	        t        j
                  dd«      «      d«       | j                  t	        t        j
                  dd«      «      d«       | j                  t        j
                  dd«      d «       | j                  t	        t        j
                  dd«      «      d«       | j                  t        t        t        j                  d«      «      «      | j                  «       y )Nz123(?<=a\d+)Úa123©r:   rÕ   Úb123z123(?<!a\d+)z(a)b(?<=b)(c)r»   Tz(a)b(?<=c)(c)z(a)b(?=c)(c)z(a)b(?=b)(c)z(?:(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)|(x))b(?=(?(2)x|c))cz(?:(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)z(a)b(?<=(?(1)b|x))(c)z(a)b(?=(?(2)x|c))(c)z(a)b(?=(?(2)b|x))(c)z(a)b(?=(?(1)c|x))(c)z(a)\2(b))
r)   r-   r@   rA   r(  rB   r‚   r"   r.   rƒ   rC   s    r   Útest_lookbehindzRegexTests.test_lookbehind‰  sn  € Ø×ÑœŸ™ o°vÓ>×CÑCÓEÀvÔNØ×ÑœŸ™ o°vÓ>ÀÔEØ×ÑœŸ™ o°vÓ>ÀÔEØ×ÑœŸ™ o°vÓ>×CÑCÓEÀvÔNà×ÑœœeŸk™k¨/¸5ÓAÓBÀDÔIØ×ÑœŸ™ _°eÓ<¸dÔCØ×ÑœœeŸk™k¨.¸%Ó@ÓAÀ4ÔHØ×ÑœŸ™ ^°UÓ;¸TÔBà×ÑœŸ™Ð%BÀEÓJØ
ô	à×ÑœŸ™Ð%BÀEÓJØ
ô	à×ÑœœeŸk™kÐ*GØ
óó Øô	à×ÑœŸ™Ð%BÀEÓJØ
ô	à×ÑœœeŸk™kÐ*GØ
óó Øô	ð 	×ÑœœeŸk™kÐ*FØ
óó Øô	à×ÑœŸ™Ð%AÀ5ÓIØ
ô	à×ÑœœeŸk™kÐ*FØ
óó Øô	à×ÑœŸ™Ð%AÀ5ÓIØ
ô	à×ÑœœeŸk™kÐ*FØ
óó Øô	ð 	×ÑœŸ™Ð%<¸eÓDÀdÔKØ×ÑœŸ™Ð%<¸eÓDÀdÔKØ×ÑœŸ™Ð%<¸eÓDÀdÔKØ×ÑœœeŸk™kÐ*AÀ5ÓIÓJØ
ô	ð 	×ÑœœeŸk™kÐ*@À%ÓHÓIØ
ô	à×ÑœŸ™Ð%;¸UÓCÀTÔJØ×ÑœœeŸk™kÐ*@À%ÓHÓIØ
ô	ð 	×Ñœœd¤5§=¡=°Ó#=Ó>Ó?Ø
×
Ñ
õ	r   c                 ó:  — t         j                  dk\  r(| j                  t        j                  ddd«      d«       n'| j                  t        j                  ddd«      d«       | j                  t        j                  ddd«      d«       t         j                  dk\  r(| j                  t        j                  ddd«      d	«       n'| j                  t        j                  ddd«      d
«       | j                  t        j                  ddd«      d	«       t         j                  dk\  r(| j                  t        j                  ddd«      d«       n'| j                  t        j                  ddd«      d«       | j                  t        j                  ddd«      d«       y )Nr²   z(?V0)(x)?(y)?z\2-\1r:  zy-x-zy-xz(?V1)(x)?(y)?r%   z-x-z-xr&   zy--zy-rµ   rC   s    r   Útest_unmatched_in_subz RegexTests.test_unmatched_in_sub¹  sD  € ô ×Ñ˜yÒ(Ø×ÑœUŸY™YÐ'7¸À4ÓHØõð ×ÑœUŸY™YÐ'7¸À4ÓHØôà×ÑœŸ™Ð#3°X¸tÓDÀfÔMÜ×Ñ˜yÒ(Ø×ÑœUŸY™YÐ'7¸À3ÓGÈÕOà×ÑœUŸY™YÐ'7¸À3ÓGÈÔNØ×ÑœŸ™Ð#3°X¸sÓCÀUÔKÜ×Ñ˜yÒ(Ø×ÑœUŸY™YÐ'7¸À3ÓGÈÕOà×ÑœUŸY™YÐ'7¸À3ÓGÈÔNØ×ÑœŸ™Ð#3°X¸sÓCÀUÕKr   c                 ób  — t        j                  d«      }t        j                  dk\  r$| j	                  |j                  d„ d«      d«       n#| j	                  |j                  d„ d«      d«       | j	                  |j                  d«      D �cg c]  }|j                  «       ‘Œ c}dd	g«       t        j                  d
«      }| j	                  |j                  d„ d«      d«       | j	                  |j                  d«      D �cg c]  }|j                  «       ‘Œ c}dd	g«       y c c}w c c}w )NzD(?mV0)(?P<trailing_ws>[ \t]+\r*$)|(?P<no_final_newline>(?<=[^\n])\Z)r²   c                 ó&   — d| j                   z   dz   S ©NÚ<Ú>©r§  rT   s    r   rV   z+RegexTests.test_bug_10328.<locals>.<lambda>Ò  ó   € °°a·k±kÑ0AÀCÒ0Gr   zfoobar )z%foobar<trailing_ws><no_final_newline>rÓ   c                 ó&   — d| j                   z   dz   S r¤  r§  rT   s    r   rV   z+RegexTests.test_bug_10328.<locals>.<lambda>Õ  r¨  r   )zfoobar<trailing_ws>r:   rç   rÉ   zD(?mV1)(?P<trailing_ws>[ \t]+\r*$)|(?P<no_final_newline>(?<=[^\n])\Z)c                 ó&   — d| j                   z   dz   S r¤  r§  rT   s    r   rV   z+RegexTests.test_bug_10328.<locals>.<lambda>Ú  s   € ¨C°!·+±+Ñ,=ÀÒ,Cr   )r-   r.   r¶   r·   r)   r×   rà  r¼   r  s      r   Útest_bug_10328zRegexTests.test_bug_10328Î  s  € ä�m‰mÐcÓdˆÜ×Ñ˜yÒ(Ø×Ñ˜SŸX™XÑ&GØóØFõHð ×Ñ˜SŸX™XÑ&GØóØ4ô6à×Ñ¨S¯\©\¸)Ô-DÓEÑ-D¨˜!Ÿ'™'�)Ð-DÑEÈØ
ðHô 	ä�m‰mÐcÓdˆØ×Ñ˜Ÿ™Ñ"CØ
óØBô	Dà×Ñ¨S¯\©\¸)Ô-DÓEÑ-D¨˜!Ÿ'™'�)Ð-DÑEÈØ
ðHõ 	ùò Fùò
 Fs   ÂD'ÄD,c                 óÄ  — | j                  t        j                  dd«      ddg«       | j                  t        j                  ddd¬«      g d¢«       | j                  t        j                  dd«      d	d
g«       | j                  t        j                  ddd¬«      g d¢«       | j                  t        j                  ddd¬«      ddg«       | j                  t        j                  dd«      D �cg c]  }|d   ‘Œ	 c}ddg«       | j                  t        j                  ddd¬«      D �cg c]  }|d   ‘Œ	 c}g d¢«       | j                  t        j                  dd«      D �cg c]  }|d   ‘Œ	 c}d	d
g«       | j                  t        j                  ddd¬«      D �cg c]  }|d   ‘Œ	 c}g d¢«       | j                  t        j                  ddd¬«      D �cg c]  }|j	                  «       ‘Œ c}ddg«       | j                  t        j                  ddd¬«      D �cg c]  }|j	                  «       ‘Œ c}ddg«       y c c}w c c}w c c}w c c}w c c}w c c}w )Nú..rs  r  r  Trp  )r  r  r  r±  rr  r±  r  rt  z	(.)(-)(.)rv  rx  rw  r   ru  )r)   r-   r/   rà  r5  rì   s     r   Útest_overlappedzRegexTests.test_overlappedß  sL  € Ø×ÑœŸ™ u¨gÓ6¸¸t¸ÔEØ×ÑœŸ™ u¨gÀ$ÔGò Jô 	à×ÑœŸ™ y°'Ó:¸TÀ4¸LÔIØ×ÑœŸ™ y°'ÀdÔKÚ
"ô	$à×ÑœŸ™ |°WÈÔNØ˜OÐ
,ô	.ð 	×Ñ¬¯©°u¸gÔ(FÓGÑ(F 1˜!˜A›$Ð(FÑGÈ$Ø
ðJô 	à×Ñ¬¯©°u¸gØõ)ó ñ ) 1˜!˜A›$ð )ñ Ú5ô	7à×Ñ¬¯©°yÀ'Ô(JÓKÑ(J 1˜!˜A›$Ð(JÑKØ�ˆ,ô	à×Ñ¬¯©°yÀ'Øõ)ó ñ ) 1˜!˜A›$ð )ñ Ú5ô	7ð 	×Ñ¬e¯n©n¸\Ø
˜dõ/$ó %ñ /$¨˜!Ÿ(™(�*ð /$ñ %Ø'6¸Ð&Hô	Jà×Ñ¬e¯n©nÐ=MØ
˜dõ/$ó %ñ /$¨˜!Ÿ(™(�*ð /$ñ %Ø'6¸Ð&Hõ	Jùò HùòùâKùòùò%ùò%s$   Ã2IÄ-I	Å&IÆ!IÇIÈ"Ic                 óÊ   — | j                  t        j                  dd«      g d¢«       | j                  t        j                  dd«      D �cg c]  }|‘Œ c}g d¢«       y c c}w )Nri  za,b,,c,)r\   rª   rÉ   rÝ   rÉ   )r)   r-   rê   rë   rì   s     r   Útest_splititerzRegexTests.test_splititer÷  sS   € Ø×ÑœŸ™ T¨9Ó5Ò7NÔOØ×Ñ¤U§_¡_°T¸9Ô%EÓFÑ%E š!Ð%EÑFò Iõ 	ùÒFs   Á	A c                 óÄ  — | j                  t        j                  dd«      j                  «       d«       | j                  t        j                  dd«      j                  «       d«       | j                  t        j                  dd«      g d¢«       | j                  t        j                  dd«      d	d
g«       | j                  t        j                  dd«      g d¢«       y )NrK  r3  r0  rL  r\  rM  rN  rQ  rR  rS  rT  rU  )r)   r-   rB   rA   r/   rC   s    r   Útest_graphemezRegexTests.test_graphemeü  sµ   € Ø×ÑœŸ™ U¨FÓ3×8Ñ8Ó:¸FÔCØ×ÑœŸ™ U¨IÓ6×;Ñ;Ó=¸vÔFà×ÑœŸ™ uØ
$ó&ò(ô	ð 	×ÑœŸ™ xØ
$ó&Ø(6¸Ð'Gô	Ià×ÑœŸ™ uÐ.CÓDÚ
-õ	/r   c                 óð  — d}| j                  t        j                  d|«      g d¢«       | j                  t        j                  d|«      g d¢«       d}| j                  t        j                  d|«      g d¢«       | j                  t        j                  d|«      g d¢«       d}| j                  t        j                  d|«      g d	¢«       | j                  t        j                  d|«      g d
¢«       y )Nz4The quick ("brown") fox can't jump 32.3 feet, right?ræ   )rÉ   ÚTherç   Úquickz ("Úbrownz") Úfoxrç   ÚcanÚ'Útrç   Újumprç   Ú32rP   Ú3rç   Úfeetú, ÚrightrÎ  z(?V1w)\b)rÉ   r´  rç   rµ  rç   r  Ú"r¶  rÁ  Ú)rç   r·  rç   úcan'trç   r»  rç   z32.3rç   r¾  ri  rç   rÀ  rÎ  rÉ   zThe  fox)rÉ   r´  z  r·  rÉ   zcan't aujourd'hui l'objectif)rÉ   r¸  r¹  rº  rç   Úaujourdr¹  Úhuirç   Úlr¹  ÚobjectifrÉ   )rÉ   rÃ  rç   zaujourd'huirç   z
l'objectifrÉ   )r)   r-   rê   ©r   Útexts     r   Útest_word_boundaryzRegexTests.test_word_boundary  sÙ   € ØFˆØ×ÑœŸ™ Z°Ó6ò 9ô 	ð 	×ÑœŸ™ [°$Ó7ò :ô 	ð
 ˆØ×ÑœŸ™ Z°Ó6ò 9ô 	à×ÑœŸ™ [°$Ó7ò :ô 	ð .ˆØ×ÑœŸ™ Z°Ó6ò 9ô 	ð 	×ÑœŸ™ [°$Ó7ò :0õ 	1r   c                 óÞ
  — | j                  t        j                  dd«      ddg«       | j                  t        j                  dd«      dg«       | j                  t        j                  dd«      ddg«       | j                  t        j                  d	d«      ddg«       | j                  t        j                  d	d«      ddg«       | j                  t        j                  d	d«      ddg«       | j                  t        j                  d
d«      j	                  «       d«       | j                  t        j                  d
d«      d «       | j                  t        j                  d
d«      d «       | j                  t        j                  dd«      j	                  «       d«       | j                  t        j                  dd«      d «       | j                  t        j                  dd«      d «       | j                  t        j                  dd«      j	                  «       d«       | j                  t        j                  dd«      j	                  «       d«       | j                  t        j                  dd«      d «       | j                  t        j                  dd«      j	                  «       d«       | j                  t        j                  dd«      j	                  «       d«       | j                  t        j                  dd«      j	                  «       d«       | j                  t        j                  dd«      j	                  «       d«       | j                  t        j                  dd«      j	                  «       d«       | j                  t        j                  dd«      d «       | j                  t        j                  dd«      j	                  «       d«       | j                  t        j                  dd«      j	                  «       d«       | j                  t        j                  dd«      j	                  «       d«       | j                  t        j                  dd«      j	                  «       d«       | j                  t        j                  dd«      j	                  «       d«       | j                  t        j                  dd«      d «       | j                  t        j                  dd«      j	                  «       d«       | j                  t        j                  dd«      j	                  «       d«       | j                  t        j                  dd«      j	                  «       d«       y )Nz.+zLine 1
Line 2
zLine 1zLine 2zLine 1Line 2zLine 1
Line 2
zLine 1zLine 2z(?w).+ú^abcr»   r   z
abczabcz(?w)^abcúabc$zabc
zabcz(?w)abc$ú(?m)^abcr:   z	(?mw)^abcú(?m)abc$z	(?mw)abc$)r)   r-   r/   r@   r¡  rC   s    r   Útest_line_boundaryzRegexTests.test_line_boundary   sþ  € Ø×ÑœŸ™ uÐ.@ÓAÀHØ
ðDô 	à×ÑœŸ™ uÐ.@ÓAØÐ
ô	 à×ÑœŸ™ uÐ.DÓEØ�zÐ
"ô	$à×ÑœŸ™ yÐ2DÓEØ�XÐ
ô	 à×ÑœŸ™ yÐ2DÓEØ�XÐ
ô	 à×ÑœŸ™ yÐ2HÓIØ�XÐ
ô	 ð 	×ÑœŸ™ g¨uÓ5×;Ñ;Ó=¸qÔAØ×ÑœŸ™ g¨wÓ7¸Ô>Ø×ÑœŸ™ g¨wÓ7¸Ô>Ø×ÑœŸ™ k°5Ó9×?Ñ?ÓAÀ1ÔEØ×ÑœŸ™ k°7Ó;¸TÔBØ×ÑœŸ™ k°7Ó;¸TÔBà×ÑœŸ™ g¨uÓ5×;Ñ;Ó=¸qÔAØ×ÑœŸ™ g¨wÓ7×=Ñ=Ó?ÀÔCØ×ÑœŸ™ g¨wÓ7¸Ô>Ø×ÑœŸ™ k°5Ó9×?Ñ?ÓAÀ1ÔEØ×ÑœŸ™ k°7Ó;×AÑAÓCÀQÔGØ×ÑœŸ™ k°7Ó;×AÑAÓCÀQÔGà×ÑœŸ™ k°5Ó9×?Ñ?ÓAÀ1ÔEØ×ÑœŸ™ k°7Ó;×AÑAÓCÀQÔGØ×ÑœŸ™ k°7Ó;¸TÔBØ×ÑœŸ™ l°EÓ:×@Ñ@ÓBÀAÔFØ×ÑœŸ™ l°GÓ<×BÑBÓDÀaÔHØ×ÑœŸ™ l°GÓ<×BÑBÓDÀaÔHà×ÑœŸ™ k°5Ó9×?Ñ?ÓAÀ1ÔEØ×ÑœŸ™ k°7Ó;×AÑAÓCÀQÔGØ×ÑœŸ™ k°7Ó;¸TÔBØ×ÑœŸ™ l°EÓ:×@Ñ@ÓBÀAÔFØ×ÑœŸ™ l°GÓ<×BÑBÓDÀaÔHØ×ÑœŸ™ l°GÓ<×BÑBÓDÀaÕHr   c                 óp	  — | j                  t        j                  dd«      j                  «       d«       | j                  t        j                  dd«      j                  «       d«       | j                  t        j                  dd«      j                  «       d«       | j                  t        j                  dd«      j                  «       d«       | j                  t        j                  dd«      j                  «       d	«       | j                  t        j                  dd
«      j                  «       d«       | j                  t        j                  dd«      j                  «       d	«       | j                  t        j                  dd
«      j                  «       d«       | j                  t        j                  dd«      j                  «       d«       | j                  t        j                  dd«      j                  «       d«       | j                  t        j                  dd«      j                  «       d«       | j                  t        j                  dd«      j                  «       d«       | j                  t        j                  dd«      j                  «       d«       | j                  t        j                  dd«      j                  «       d«       | j                  t        j                  dd«      j                  «       d«       | j                  t        j                  dd«      j                  «       d«       | j                  t        j                  dd«      j                  «       d«       | j                  t        j                  dd«      j                  «       d«       | j                  t        j                  dd«      j                  «       d«       | j                  t        j                  dd«      j                  «       d«       | j                  t        j                  dd«      j	                  «       dgdgdœ«       | j                  t        j                  dd«      j                  «       d«       | j                  t        j                  dd«      j	                  «       d d!gg dœ«       y )"Nz(?:(a)|(b))(c)r  r  r  r  z(?:(?<a>a)|(?<b>b))(?<c>c)z!(?<a>a)(?:(?<b>b)|(?<c>c))(?<d>d)r  )r\   rª   Nr  Úacd)r\   NrÝ   r  z(a)(?:(b)|(c))(d)z(a)(?|(b)|(b))(d))r\   rª   r  z(?|(?<a>a)|(?<b>b))(c)z(?|(?<a>a)|(?<a>b))(c))r\   rÝ   )rª   rÝ   z$(?|(?<a>a)(?<b>b)|(?<b>c)(?<a>d))(e)Úabe)r\   rª   rO  r°  )r  rÝ   rO  z (?|(?<a>a)(?<b>b)|(?<b>c)(d))(e)z(?|(?<a>a)(?<b>b)|(c)(d))(e))rÝ   r  rO  z (?|(?<a>a)(?<b>b)|(c)(?<a>d))(e)r\   rª   )r\   rª   )r  NrO  rÝ   r  )r)   r-   rB   r5  ÚcapturesdictrC   s    r   Útest_branch_resetzRegexTests.test_branch_resetJ  sÁ  € Ø×ÑœŸ™Ð%6¸Ó=×DÑDÓFð Iô 	à×ÑœŸ™Ð%6¸Ó=×DÑDÓFð Iô 	à×ÑœŸ™Ð%BØ
óß‘“Ð*ô	,à×ÑœŸ™Ð%BØ
óß‘“Ð*ô	,ð 	×ÑœŸ™Ð%IØ
óß‘“Ð0ô	2à×ÑœŸ™Ð%IØ
óß‘“Ð0ô	2à×ÑœŸ™Ð%9¸5ÓA×HÑHÓJØ
ô	!ð 	×ÑœŸ™Ð%9¸5ÓA×HÑHÓJØ
ô	!à×ÑœŸ™Ð%9¸5ÓA×HÑHÓJØ
ô	à×ÑœŸ™Ð%>ÀÓE×LÑLÓNØ
ô	à×ÑœŸ™Ð%>ÀÓE×LÑLÓNØ
ô	à×ÑœŸ™Ð%>ÀÓE×LÑLÓNØ
ô	ð 	×ÑœŸ™Ð%>ÀÓE×LÑLÓNØ
ô	ð 	×ÑœŸ™Ð%LØ
óß‘“˜?ô	,à×ÑœŸ™Ð%LØ
óß‘“˜?ô	,à×ÑœŸ™Ð%HØ
óß‘“˜?ô	,à×ÑœŸ™Ð%HØ
óß‘“˜?ô	,à×ÑœŸ™Ð%DØ
óß‘“˜?ô	,à×ÑœŸ™Ð%DØ
óß‘“˜?ô	,ð 	×ÑœŸ™Ð%HØ
óß‘“˜?ô	,à×ÑœŸ™Ð%HØ
óß‘“¨ u°C°5Ñ!9ô	;à×ÑœŸ™Ð%HØ
óß‘“Ð+ô	-à×ÑœŸ™Ð%HØ
óß‘“¨¨S z¸Ñ!;õ	=r   c           	      óJ  — | j                  t        j                  dd«      j                  «       d«       | j                  t        j                  dd«      j                  «       d«       | j                  t        j                  dd«      j                  «       d«       | j                  t        j                  dd«      j                  «       d«       | j                  t        j                  dd	d
«      d«       | j                  t        j
                  dd«      dg«       | j                  t        j
                  dd«      dg«       | j                  t        j
                  dd«      ddg«       | j                  t        j
                  dd«      ddg«       | j                  t        j
                  dd«      ddg«       | j                  t        j
                  dd«      ddg«       | j                  t        j
                  dd«      g d¢«       | j                  t        j
                  dd«      g d¢«       | j                  t        j
                  dd«      dg«       | j                  t        j
                  dd«      dg«       | j                  t        j
                  dd«      dg«       | j                  t        j
                  dd«      dg«       | j                  d j                  t        j
                  d!d"«      «      d#«       | j                  d j                  t        j
                  d$d"«      «      d%«       | j                  d j                  t        j
                  d&d'«      «      d(«       | j                  d j                  t        j
                  d)d*«      «      d+«       | j                  d j                  t        j
                  d,d*«      «      d+«       | j                  d j                  t        j
                  d-d.«      «      d*«       d j                  d/„ t        d0«      D «       «      }| j                  t        t        j
                  d1|«      «      d2«       | j                  t        t        j
                  d3|«      «      d4«       | j                  t        t        j
                  d5|«      «      d6«       | j                  t        t        j
                  d7|«      «      d8«       | j                  t        t        j
                  d9|«      «      d8«       | j                  t        t        j
                  d:|«      «      d6«       | j                  t        t        j
                  d;|«      «      d<«       | j                  t        t        j
                  d=|«      «      d>«       | j                  t        t        j
                  d?|«      «      d@«       | j                  t        t        j
                  dA|«      «      dB«       | j                  t        t        j
                  dC|«      «      dB«       | j                  t        t        j
                  dD|«      «      dE«       | j                  t        t        j
                  dF|«      «      dG«       | j                  t        t        j
                  dH|«      «      dG«       | j                  t        t        t        j                  dI«      «      «      | j                  «       | j                  t        j
                  dJdK«      ddLg«       | j                  t        j
                  dMdK«      ddLg«       | j                  t        j
                  dNdK«      ddLg«       | j                  t        j
                  dOdK«      ddLg«       y )PNz[a]r\   r0  z(?i)[a]rg   z[a-b]z	(?i)[a-b]z(?V0)([][])r³   za[b]crv  z[\p{Alpha}]Úa0z(?i)[\p{Alpha}]ÚA0z[a\p{Alpha}]Úab0rª   z[a\P{Alpha}]r“  z(?i)[a\p{Alpha}]z(?i)[a\P{Alpha}]z[a-b\p{Alpha}]ÚabC0)r\   rª   ÚCz(?i)[a-b\p{Alpha}]ÚAbC0)rg   rª   rÛ  z[\P{Alpha}]z[^\p{Alpha}]z[^\P{Alpha}]rÉ   z[^\d-h]za^b12c-hza^bcz[^\dh]za^bc-z	[^h\s\db]z	a^b 12c-hza^c-z[^b\w]rP  rç   z[^b\S]z[^8\d]za 1b2c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wr   ©rk   ©Ú.0rÝ   s     r   Ú	<genexpr>z&RegexTests.test_set.<locals>.<genexpr>¦  s   è ø€ Ð9©L qœC ŸF©Lùó   ‚rx  z	\p{ASCII}r‘  z
\p{Letter}éu   z	\p{Digit}r_   z(?V1)[\p{ASCII}&&\p{Letter}]é4   z'(?V1)[\p{ASCII}&&\p{Alnum}&&\p{Letter}]z&(?V1)[\p{ASCII}&&\p{Alnum}&&\p{Digit}]z(?V1)[\p{ASCII}&&\p{Cc}]é!   z(?V1)[\p{ASCII}&&\p{Graph}]é^   z(?V1)[\p{ASCII}--\p{Cc}]é_   z[\p{Letter}\p{Digit}]r�  z(?V1)[\p{Letter}||\p{Digit}]z\p{HexDigit}é   z(?V1)[\p{HexDigit}~~\p{Digit}]rb   z(?V1)[\p{Digit}~~\p{HexDigit}]z(?V0)([][-])z(?V1)[[a-z]--[aei]]r»   rÝ   z(?iV1)[[a-z]--[aei]]z(?V1)[\w--a]z(?iV1)[\w--a])r)   r-   rB   rA   rj   r/   rG  r{  Úlenr‚   r"   r.   rƒ   )r   Ú	all_charss     r   Útest_setzRegexTests.test_set€  s  € Ø×ÑœŸ™ V¨SÓ1×6Ñ6Ó8¸&ÔAØ×ÑœŸ™ Z°Ó5×:Ñ:Ó<¸fÔEØ×ÑœŸ™ X¨tÓ4×9Ñ9Ó;¸VÔDØ×ÑœŸ™ \°4Ó8×=Ñ=Ó?ÀÔHà×ÑœŸ™ >°4¸ÓAÀ7ÔKà×ÑœŸ™ ~°tÓ<¸s¸eÔDØ×ÑœŸ™Ð'9¸4Ó@À3À%ÔHà×ÑœŸ™ ¸Ó>ÀÀcÀ
ÔKØ×ÑœŸ™ ¸Ó>ÀÀcÀ
ÔKØ×ÑœŸ™Ð':¸EÓBÀSØ
ðEô 	à×ÑœŸ™Ð':¸EÓBÀSØ
ðEô 	ð 	×ÑœŸ™Ð'8¸&ÓAò Dô 	à×ÑœŸ™Ð'<¸fÓEò Hô 	ð 	×ÑœŸ™ ~°tÓ<¸s¸eÔDØ×ÑœŸ™ ~°tÓ<¸s¸eÔDØ×ÑœŸ™ ¸Ó=À¸uÔEØ×ÑœŸ™ ¸Ó=À¸uÔEà×Ñ˜Ÿ™¤§¡¨z¸:Ó!FÓGØ
ô	à×Ñ˜Ÿ™¤§¡¨y¸*Ó!EÓFØ
ô	à×Ñ˜Ÿ™¤§¡¨|¸[Ó!IÓJØ
ô	à×Ñ˜Ÿ™¤§¡¨y¸%Ó!@ÓAÀ3ÔGØ×Ñ˜Ÿ™¤§¡¨y¸%Ó!@ÓAÀ3ÔGØ×Ñ˜Ÿ™¤§¡¨y¸'Ó!BÓCÀUÔKà—G‘GÑ9¬E°%¬LÓ9Ó9ˆ	Ø×ÑœœUŸ]™]¨<¸ÓCÓDÀcÔJØ×ÑœœUŸ]™]¨=¸)ÓDÓEØ
ô	à×ÑœœUŸ]™]¨<¸ÓCÓDÀbÔIð 	×ÑœœUŸ]™]Ð+JØ
óó Øô	à×ÑœœUŸ]™]Ð+UØ
óó Øô	à×ÑœœUŸ]™]Ð+TØ
óó Øô	à×ÑœœUŸ]™]Ð+FØ
óó Øô	à×ÑœœUŸ]™]Ð+IØ
óó Øô	à×ÑœœUŸ]™]Ð+FØ
óó Øô	à×ÑœœUŸ]™]Ð+CØ
óó Øô	à×ÑœœUŸ]™]Ð+JØ
óó Øô	à×ÑœœUŸ]™]¨?¸IÓFÓGØ
ô	à×ÑœœUŸ]™]Ð+LØ
óó Øô	à×ÑœœUŸ]™]Ð+LØ
óó Øô	ð 	×Ñœœd¤5§=¡=°Ó#AÓBÓCØ
×
Ñ
ô	à×ÑœŸ™Ð'=¸uÓEÈØ
ðHô 	à×ÑœŸ™Ð'>ÀÓFÈØ
ðIô 	à×ÑœŸ™ °uÓ=ÀÀS¸zÔJØ×ÑœŸ™Ð'7¸Ó>ÀÀcÀ
ÕKr   c           
      ó€K  — g dddt         j                  | j                  f‘dddt         j                  | j                  f‘dddt         j                  | j                  f‘dddt         j                  | j                  f‘dddt         j                  | j                  f‘ddd	t        d
«      f‘dddt         j                  | j                  f‘dddt         j                  | j                  f‘dddt         j                  | j                  f‘dddt         j                  | j                  f‘dd
d	t        d
«      f‘ddd	t        d
«      f‘dddt        d «      f‘ddd	t        d
«      f‘dddt        d «      f‘dddt         j                  | j                  f‘dd
d	t        d
«      f‘ddd	t        d
«      f‘dd
dt         j                  | j                  f‘d‘dt        d«      dz   dt        t        d«      dz   «      f‘dd
dt        d
«      f‘ddd t        d!«      f‘d"d#dt        d#«      f‘d$d#dt        d#«      f‘d%d#dt        d#«      f‘d&d#dt        d «      f‘d'd(dt        d(«      f‘d)d(dt        d(«      f‘d*d+dt        t        d,«      «      f‘d-d+dt        d «      f‘d.d/dt        d «      f‘d0d1dt        d «      f‘d2d+dt        d «      f‘d3d4dt        d4«      f‘d5d4dt        d4«      f‘d6d7dt        t        d8«      t        d9«      z   t        d:«      z   t        d;«      z   t        d<«      z   t        d=«      z   «      f‘d>d?dt        d?«      f‘d@dAdt        dB«      f‘dCdDdt        dD«      f‘dCdEdt        d «      f‘dFdGdt        d «      f‘dHdGdt        d «      f‘dCdIdt        dI«      f‘dJdEdt        d «      f‘dKdEdt        dE«      f‘dLdGdt        d «      f‘dMdGdt        dG«      f‘dNdGdt        dG«      f‘dOddt         j                  | j                  f‘dP‘dQdQdt        dQ«      f‘dQdRdt        d «      f‘dQdSdt        d «      f‘dQdTdt        d «      f‘dQdUdt        dQ«      f‘dQdVdt        dQ«      f‘dWdQdt        dQ«      f‘dXdQdt        dQ«      f‘dXdYdt        dY«      f‘dXdZdt        dZ«      f‘d[dYdt        dY«      f‘d[dQdt        d «      f‘d[d\dt        d «      f‘d[dZdt        dZ«      f‘d]dYdt        dY«      f‘d]dQdt        dQ«      f‘d]dZdt        d «      f‘d^dQdt        dQ«      f‘d_dQdt        dQ«      f‘d_d`dt        d «      f‘dad`dt        dQ«      f‘d_dbdt        d «      f‘dcdbdt        dQ«      f‘dddQdt        d«      f‘dedQdt        d«      f‘dfdQdt        dQ«      f‘dfdSdt        dS«      f‘dgdhdt        dh«      f‘dgdidt        d «      f‘djdQdt        d «      f‘djdkdt        dk«      f‘dldkdt        d «      f‘dldmdt        dm«      f‘dndodt        dp«      f‘dqdrdt        dr«      f‘dsdrdt        dr«      f‘dtdrdt        dr«      f‘dudvdt         j                  | j                  f‘dwdvdt         j                  | j                  f‘dxdvdt         j                  | j                  f‘dydvdt         j                  | j                  f‘dzdvdt         j                  | j                  f‘d{d{dt        d{«      f‘d|d}dt        d}«      f‘d|d}dt        d}«      f‘d~ddt        d«      f‘d~dkdt        d «      f‘d€d�dt        d�«      f‘d€d‚dt        d «      f‘dƒd„dt        d «      f‘dƒd�dt        d�«      f‘d…drdt        d
«      f‘d…d†dt        d
«      f‘d…d‡dt        d
«      f‘dˆd‰dt        d «      f‘dˆdŠdt        d «      f‘dˆd‹dt        d «      f‘dŒd‹dt        d «      f‘d�d‹dt        dŽ«      f‘d�d‹dt        d�«      f‘d‘d‹dt        d «      f‘d’d‹dt        d «      f‘d“drdt        d «      f‘d“d†dt        d «      f‘d“d‡dt        d «      f‘d”d‰dt        d «      f‘d”dŠdt        d «      f‘d•d‰dt        d–«      f‘d—dŠdt        d–«      f‘d”d‹dt        d–«      f‘d˜dQdt        d™«      f‘d˜dšdt        d™«      f‘d›dœd�t        dž«      f‘dŸd dt        d «      f‘d¡d¢dt        d£«      f‘d¤d™dt        d™«      f‘d¤d¥dt        d¥«      f‘d¦d§dt        d§«      f‘d¨dQd©t        dª«      f‘d«dQd©t        d¬«      f‘d­d®dt        dQ«      f‘d¯d™d�t        d°«      f‘d±d™d�t        d°«      f‘d²d™d�t        d³«      f‘d´dvdt         j                  | j                  f‘dµd¶dt        d¶«      f‘dQddt        d «      f‘d·ddt        d«      f‘d¸d¹dt        d¹«      f‘dºd»d�t        d¼«      f‘d½d¾dt        d¾«      f‘d¿dÀdt        d™«      f‘d¿dÁdt        d
«      f‘dÂdÃd�t        dÄ«      f‘dÅdÆdt        dÆ«      f‘dÇdÃdt        d «      f‘dÈdÉd�t        dž«      f‘dÊdšd�t        dË«      f‘dÌdQd�t        dÍ«      f‘dÎdQd�t        dÏ«      f‘dÐdšd©t        dÑ«      f‘dÒdšd©t        dÑ«      f‘dÓdšd©t        dÔ«      f‘dÕdÖdt        dÖ«      f‘d×dÖdt        d «      f‘dØdQd�t        dÙ«      f‘dÚdšdÛt        dÜ«      f‘dÝdÞdt        dÞ«      f‘dßdàd�t        dá«      f‘dâdãd©t        dä«      f‘dâdåd©t        dæ«      f‘dâdçdt        d «      f‘dâdèdt        d «      f‘dâdéd©t        dä«      f‘dêd
dt        d
«      f‘dëdìdt        d «      f‘dídîdt        dí«      f‘dïdÃd©t        dð«      f‘dñdòdót        dô«      f‘dõd™dt        d «      f‘dödpdt        dp«      f‘d÷død	t        dQ«      f‘dùdød	t        dQ«      f‘dúdûd	t        dü«      f‘dýdþd�t        dÿ«      f‘�d �ddt        d «      f‘d÷død�t        �d«      f‘�ddød�t        �d«      f‘�ddd�t        �d«      f‘�ddd�t        �d«      f‘�ddd�t        �d«      f‘�d�d	d�t        �d
«      f‘�d�d	d�t        �d
«      f‘�d�dd�t        �d«      f‘�d�dd�t        �d«      f‘�d�dd�t        �d«      f‘�ddød�t        �d«      f‘�dd™d©t        �d«      f‘�d�dd�t        �d«      f‘�d�dd�t        �d«      f‘�d�dd�t        �d«      f‘�d�d�dt        �d «      f‘�d!�d"d�t        �d#«      f‘�d!�d$d�t        �d%«      f‘�d&�d'd�t        �d(«      f‘�d&dQdt        d «      f‘�d)�d'd�t        �d*«      f‘�d+dod�t        �d,«      f‘�d-�ddt         j                  | j                  f‘�d.�d�d/t        �d0«      f‘�d1�d�d/t        �d2«      f‘�d3�ddt         j                  | j                  f‘�d4�d5dt        �d5«      f‘�d6�d5dt         j                  | j                  f‘�d7�d8dt        �d8«      f‘�d7�d8dt        �d9«      f‘�d:�d;dt        �d;«      f‘�d<d
dt        d
«      f‘�d=�d>dt        �d>«      f‘�d?d
dt        d
«      f‘�d@�dAdt        �dA«      f‘�dB�d>dt        �d>«      f‘dQdQdt        dQ«      f‘dQdRdt        d «      f‘dQdSdt        d «      f‘dQdTdt        d «      f‘dQdUdt        dQ«      f‘dQdVdt        dQ«      f‘dWdQdt        dQ«      f‘dXdQdt        dQ«      f‘dXdYdt        dY«      f‘dXdZdt        dZ«      f‘�dCdZdt        dZ«      f‘d[dYdt        dY«      f‘d[dQdt        d «      f‘d[d\dt        d «      f‘�dDd\dt        d «      f‘d[dZdt        dZ«      f‘�dDdZdt        dZ«      f‘�dEdZdt        dZ«      f‘�dFdZdt        dZ«      f‘�dGdZdt        d «      f‘d]dYdt        dY«      f‘d]dQdt        dQ«      f‘�dHdQdt        dQ«      f‘d]dZdt        d «      f‘d^dQdt        dQ«      f‘�dIdQdt        dQ«      f‘d_dQdt        dQ«      f‘d_d`dt        d «      f‘dad`dt        dQ«      f‘d_dbdt        d «      f‘dcdbdt        dQ«      f‘dddQdt        d«      f‘dedQdt        d«      f‘dfdQdt        dQ«      f‘dfdSdt        dS«      f‘dgdhdt        dh«      f‘dgdidt        d «      f‘djdQdt        d «      f‘djdkdt        dk«      f‘dldkdt        d «      f‘dldmdt        dm«      f‘dndodt        dp«      f‘dqdrdt        dr«      f‘dtdrdt        dr«      f‘�dJdvdt         j                  | j                  f‘dudvdt         j                  | j                  f‘dwdvdt         j                  | j                  f‘d{d{dt        d{«      f‘d|d}dt        d}«      f‘d~ddt        d«      f‘d~dkdt        d «      f‘d€d�dt        d�«      f‘d€d‚dt        d «      f‘dƒd„dt        d «      f‘dƒd�dt        d�«      f‘d˜dQdt        d™«      f‘d˜dšdt        d™«      f‘d›dœd�t        dž«      f‘�dKdvdt         j                  | j                  f‘�dLdvdt         j                  | j                  f‘dŸd dt        d «      f‘dxdvdt         j                  | j                  f‘d¡d¢dt        d£«      f‘d¤d™dt        d™«      f‘d¤d¥dt        d¥«      f‘d¦d§dt        d§«      f‘dydvdt         j                  | j                  f‘dzdvdt         j                  | j                  f‘d¨dQd©t        dª«      f‘d«dQd©t        d¬«      f‘d­d®dt        dQ«      f‘�dMd®dt        dQ«      f‘�dNdvdt         j                  | j                  f‘�dOdødt        dQ«      f‘d¯d™d�t        d°«      f‘�dPd™d�t        d°«      f‘d±d™d�t        d°«      f‘�dQd™d�t        d°«      f‘d²d™d�t        d³«      f‘�dRd™d�t        d³«      f‘d´dvdt         j                  | j                  f‘dµd¶dt        d¶«      f‘dQddt        d «      f‘d·ddt        d«      f‘�dS�dTd�t        �dU«      f‘�dVdšd�t        �dW«      f‘d¸d¹dt        d¹«      f‘dºd»d�t        d¼«      f‘d½d¾dt        d¾«      f‘d¿dÀdt        d™«      f‘d¿dÁdt        d
«      f‘dÂdÃd�t        dÄ«      f‘dÅdÆdt        dÆ«      f‘dÇdÃdt        d «      f‘dÈdÉd�t        dž«      f‘dÊdšd�t        dË«      f‘dÌdQd�t        dÍ«      f‘dÎdQd�t        dÏ«      f‘dÐdšd©t        dÑ«      f‘dÒdšd©t        dÑ«      f‘dÓdšd©t        dÔ«      f‘dÕdÖdt        dÖ«      f‘d×dÖdt        d «      f‘dØdQd�t        dÙ«      f‘dÚdšdÛt        dÜ«      f‘dÝdÞdt        dÞ«      f‘dßdàd�t        dá«      f‘dâdãd©t        dä«      f‘dâdåd©t        dæ«      f‘dâdçdt        d «      f‘dâdèdt        d «      f‘dâdéd©t        dä«      f‘�dXd
�dYt        d
«      f‘�dZddt        d«      f‘�d[ddt         j                  | j                  f‘�d\ddt         j                  | j                  f‘dêd
dt        d
«      f‘dëdìdt        d «      f‘dídîdt        dí«      f‘dïdÃd©t        dð«      f‘dñdòdót        dô«      f‘dõd™dt        d «      f‘dödpdt        dp«      f‘d÷død	t        dQ«      f‘dùdød	t        dQ«      f‘�d]�d^dt        �d^«      f‘�d]�d_dt        d «      f‘�d]�d`dt        d «      f‘�d]�dadt        d «      f‘�d]�dbdt        �d^«      f‘�d]�dcdt        �d^«      f‘�dd�d^dt        �d^«      f‘�de�d^dt        �d^«      f‘�de�dfdt        �df«      f‘�dg�dhdt        �dh«      f‘�di�dhdt        �dh«      f‘�dj�dfdt        �df«      f‘�dk�d^dt        d «      f‘�dk�dldt        d «      f‘�dm�dldt        d «      f‘�dk�dhdt        �dh«      f‘�dn�dhdt        �dh«      f‘�do�dhdt        �dh«      f‘�dp�dhdt        �dh«      f‘�dq�dhdt        d «      f‘�dr�dfdt        �df«      f‘�dr�d^dt        �d^«      f‘�ds�d^dt        �d^«      f‘�dr�dhdt        d «      f‘�dt�d^dt        �d^«      f‘�du�d^dt        �d^«      f‘�dv�d^dt        �d^«      f‘�dv�dwdt        d «      f‘�dx�dwdt        �d^«      f‘�dv�dydt        d «      f‘�dz�dydt        �d^«      f‘�d{�d^dt        d«      f‘�d|�d^dt        d«      f‘�d}�d^dt        �d^«      f‘�d}�d`dt        �d`«      f‘�d~�ddt        �d«      f‘�d€�d�dt        d «      f‘�d‚�d^dt        d «      f‘�d‚�dƒdt        �dƒ«      f‘�d„�dƒdt        d «      f‘�d„�d…dt        �d…«      f‘�d†�d‡dt        �dˆ«      f‘�d‰�dŠdt        �dŠ«      f‘�d‹�dŠdt        �dŠ«      f‘�dŒdvdt         j                  | j                  f‘�d�dvdt         j                  | j                  f‘�dŽdvdt         j                  | j                  f‘�d��d�dt        �d�«      f‘�d‘�d’dt        �d’«      f‘�d“�d”dt        �d”«      f‘�d“�dƒdt        d «      f‘�d•�d–dt        �d–«      f‘�d•�d—dt        d «      f‘�d˜�d™dt        d «      f‘�d˜�d–dt        �d–«      f‘�dš�d^dt        dû«      f‘�dš�d›dt        dû«      f‘�dœ�d�d�t        �dž«      f‘�dŸdvdt         j                  | j                  f‘�d dvdt         j                  | j                  f‘�d¡�d¢dt        d «      f‘�d£dvdt         j                  | j                  f‘�d¤�d¥dt        �d¦«      f‘�d§dûdt        dû«      f‘�d§�d¨dt        �d¨«      f‘�d©�dªdt        �dª«      f‘�d«dvdt         j                  | j                  f‘�d¬dvdt         j                  | j                  f‘�d­�d^d©t        �d®«      f‘�d¯�d^d©t        �d°«      f‘�d±�d²dt        �d^«      f‘�d³�d²dt        �d^«      f‘�d´dvdt         j                  | j                  f‘�dµ�d¶dt        �d^«      f‘�d~�d¶dt        �d^«      f‘�d·�d¶dt        �d^«      f‘�d¸dûd�t        �d¹«      f‘�dºdûd�t        �d¹«      f‘�d»dûd�t        �d¹«      f‘�d¼dûd�t        �d¹«      f‘�d½dûd�t        �d¾«      f‘�d¿dûd�t        �d¾«      f‘�dÀdûd�t        �dÁ«      f‘�dÂdvdt         j                  | j                  f‘�dÃ�dÄdt        �dÄ«      f‘�d]ddt        d «      f‘�dÅddt        d«      f‘�dÆ�dÇd�t        �dÈ«      f‘�dÉ�d›d�t        �dÊ«      f‘�dË�dÌdt        �dÌ«      f‘�dÍ�dÎd�t        �dÏ«      f‘�dÐ�dÑdt        �dÑ«      f‘�dÒ�dÓdt        dû«      f‘�dÒ�dÔdt        dü«      f‘�dÕ�dÖd�t        �d×«      f‘�dØ�dÙdt        �dÙ«      f‘�dÚ�dÖdt        d «      f‘�dÛ�dÜd�t        �dž«      f‘�dÝ�d›d�t        �dÞ«      f‘�dß�d^d�t        �dà«      f‘�dá�d^d�t        �dâ«      f‘�dã�d›d©t        �dä«      f‘�då�d›d©t        �dä«      f‘�dæ�d›d©t        �dç«      f‘�dè�dédt        �dé«      f‘�dê�dédt        d «      f‘�dë�d^d�t        �dì«      f‘�dí�d›dÛt        �dî«      f‘�dï�dðdt        �dð«      f‘�dñ�dòd�t        �dó«      f‘�dô�dõd©t        �dö«      f‘�dô�d÷d©t        �dø«      f‘�dô�dùdt        d «      f‘�dô�dúdt        d «      f‘�dô�dûd©t        �dö«      f‘�düdü�dYt        dü«      f‘�dý�dþdt        �dþ«      f‘�dÿdüdt        dü«      f‘�d düd	t        dü«      f‘�d�dd	t        �d«      f‘�d�ddt        d «      f‘�d�ddt        �d«      f‘�d�dÖd©t        �d	«      f‘�d
�ddót        �d«      f‘�ddûdt        d «      f‘�d�dˆdt        �dˆ«      f‘�d�d¶d	t        �d^«      f‘�d�d¶d	t        �d^«      f‘�d�ddt        �d«      f‘�d�ddt        �d«      f‘�d�ddt        �d«      f‘�ddmd	t        d¹«      f‘�ddmd	t        d¹«      f‘�ddmd	t        d¹«      f‘�ddm�dt        �d«      f‘�d�dd	t        �d«      f‘�d�d d	t        �d!«      f‘�d"�d#d	t        �d$«      f‘�d%�d&dt         j                  | j                  f‘�d'�d(dt        �d(«      f‘�d)�d*dt        d «      f‘�d)�d&dt        �d&«      f‘�d+�d*dt        �d*«      f‘�d,�d(dt        �d(«      f‘da�d-dt        d «      f‘�d.�d-dt        dQ«      f‘�d/�d0dt        dQ«      f‘dCdEdt        d «      f‘dKdEdt        dE«      f‘�d1�d2dt        �d3«      f‘�d4�d2dt        �d3«      f‘�d5�d6dt        dQ«      f‘�d7�d6dt        dQ«      f‘�d8�d9dt        �d9«      f‘�d:�d;�d<t        �d=«      f‘�d>�d;�d<t        �d=«      f‘�d?�d@�dAt        �dB«      f‘�dCddt         j                  | j                  f‘�dD�dEdt        dk«      f‘�dFddt         j                  | j                  f‘�dG�dHdt        �dH«      f‘�dIdŽdt        dŽ«      f‘�dJ�dKdt        d «      f‘�dL�dKdt        �dK«      f‘�dM�dKdt        �dK«      f‘�dN�dOdt        �dP«      f‘�dQ�dRdt        �dR«      f‘�dS�dTdt        �dT«      f‘�dU�dVdt        �dV«      f‘�dU�dWdt        �dW«      f‘�dX�dYd	t        d«      f‘�dZ�d[dt        �d[«      f‘�d\�d[dt        �d[«      f‘�d]�d[dt        �d[«      f‘�d^�d[dt        �d[«      f‘�d_�d`dt        �d`«      f‘�da�dbdt        d «      f‘�dc�dddt        d «      f‘�de�dKdt        d «      f‘�dfd™�dAt        �dg«      f‘�dhdQ�dt        �di«      f‘�djdQ�dt        �di«      f‘�dkdQ�dt        �di«      f‘�dld
dt        d
«      f‘�dl�dmdt        �dm«      f‘�dn�dmdt        �dm«      f‘}|D ]ü  }d }	 t!        |«      �dok(  r|\  }}}}n|\  }}}}}g }|r2|j#                  �dp«      D ]  }		 |j%                  t'        |	«      «       Œ |�A| j+                  ||�¬q«      5  | j-                  ||t         j.                  ||«       d d d «       Œžt        j.                  ||«      }
|
r*|rt         |
j0                  |Ž «      }nt        |
d d  «      }nt        |
«      }| j3                  ||«       Œþ y # t(        $ r |j%                  |	«       Y Œáw xY w# 1 sw Y   �Œ*xY w# t(        $ r] �drj5                  |d �ds D �cg c]  }t        |«      ‘Œ nc c}w c}�dtgz   «      }| j7                  �duj9                  |«      «       Y �Œ’w xY w(v  Nz(?P<foo_123rÉ   z(?P<1>a)z(?P<!>a)z(?P<foo!>a)z(?P<foo_123>a)(?P=foo_123r  z(?P<foo_123>a)(?P=1)Ú1r\   z(?P<foo_123>a)(?P=0)z(?P<foo_123>a)(?P=-1)z(?P<foo_123>a)(?P=!)z(?P<foo_123>a)(?P=foo_124)z(?P<foo_123>a)z(?P<foo_123>a)(?P=foo_123)z(?<foo_123>a)\g<foo_123z(?<foo_123>a)\g<1>z(?<foo_123>a)\g<!>z(?<foo_123>a)\g<foo_124>z(?<foo_123>a)z(?<foo_123>a)\g<foo_123>r�   )ú[\1]rˆ   r“  z'\x01'rŒ   r   Ú9r“  z\141z((a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)\119Úabcdefghijklk9z0,11)rð  Úkr†   r‡   z[\0a]z[a\0]z[^a\0]z\a[\b]\f\n\r\t\vz
	z[\a][\b][\f][\n][\r][\t][\v]z\xffrº   r’  z\x00ffffffffffffffz\x00fÚz\x00feô   Ã¾z\x00ffz\t\n\v\r\f\a\gz	
gz	
\gz\t\n\v\r\f\ar]   r^   r_   r`   ra   rb   rc   z[\t][\n][\v][\r][\f][\b]z	
z^\w+=(\\[\000-\277]|[^\n\\])*z(SRC=eval.c g.c blah blah blah \\
	apes.cz SRC=eval.c g.c blah blah blah \\rJ  ÚacbrK  rL  zacc
ccbza.{4,5}bzabza.b(?s)z(?s)a.bza.*(?s)bz(?s)a.*bz(?s)a.{4,5}brÂ  )rÉ   rÉ   r“  z''r»   ÚxbcÚaxcÚabxÚxabcyÚababczab*czab*bcÚabbcÚabbbbczab+bcÚabqzab?bczab?cr?  ÚabccrÌ  ÚaabcrÍ  Ú^r  za.cza.*cÚaxyzcÚaxyzdza[bc]dr  za[b-d]eÚaceza[b-d]Úaacr  za[-b]úa-za[\-b]za[b-]za[]br³   za[za\zabc)z(abcza]za[]]bza]bza[^bc]dÚaedza[^-b]cÚadcza-cza[^]b]cza]cz\ba\bú-az-a-z\by\br:  Úyzr£   zx\bzx\Br%   z\Bzr•  zz\Bz\Bxz\Ba\Bz\By\Bz\By\br&   z\by\Bzab|cdr  rÔ  z()efÚdefz0,1)r€  rÉ   z$brª   za\(búa(b)r
  za\(*bza((bza\\bza\br¥  z0,1,2)r\   r\   r\   z(a)b(c))r»   r\   rÝ   za+b+cÚaabbabcz(a+|b)*)r  rª   z(a+|b)+z(a+|b)?r  z)(z[^ab]*r°  r4   z	a|b|c|d|erO  z(a|b|c|d|e)fr€  )r€  rO  zabcd*efgÚabcdefgzab*Ú	xabyabbbzÚxayabbbzz(ab|cd)ers  )r°  r  z[abhgefdc]ijÚhijz	^(ab|cd)ez(abc|)efr,  z(a|b)c*d)Úbcdrª   z
(ab|ab*)bc)r»   r\   z
a([bc]*)c*)r»   r  za([bc]*)(c*d))rÔ  r  r  za([bc]+)(c*d)za([bc]*)(c+d))rÔ  rª   r  za[bcd]*dcdcdeÚadcdcdeza[bcd]+dcdcdez	(ab|a)b*c)r»   r  z((a)(b)c)(d)z1,2,3,4)r»   r\   rª   r  z[a-zA-Z_][a-zA-Z0-9_]*Úalphaz^a(bc+|b[eh])g|.h$Úabh)ÚbhNz(bc+d$|ef*g.|h?i(j|k))Úeffgz)r  r  NÚij)r  r  ÚjÚeffgÚbcddÚreffgzz(((((((((a)))))))))zmultiple words of textzuh-uhzmultiple wordszmultiple words, yeahz	(.*)c(.*))rs  r  r±  z\((.*), (.*)\)z(a, b)z2,1)rª   r\   z[k]za[-]?cz(abc)\1r™  z
([a-c]*)\1z^(.+)?BÚABrg   z(a+).\1$r«   )r«   r  z	^(a+).\1$Úaaaa)r™  r»   z
([a-c]+)\1z(a)\1)r  r\   z(a+)\1z(a+)+\1z(a).+\1rû   )rû   r\   z(a)ba*\1z
(aa|a)a\1$r<   )r<   r\   z
(a|aa)a\1$z(a+)a\1$z
([abc]*)\1z
(a)(b)c|ab)r  NNz(a)+xÚaaax)r  r\   z([ac])+xÚaacx)r  rÝ   z([^/]*/)*sub1/zd:msgs/tdir/sub1/trial/away.cpp)zd:msgs/tdir/sub1/ztdir/z([^.]*)\.([^:]*):[T ]+(.*)útrack1.title:TBlah blah blahz0,1,2,3)r  Útrack1ÚtitlezBlah blah blahz	([^N]*N)+ÚabNNxyzN)r"  ÚxyzNÚabNNxyz)ÚabNNÚNz	([abc]*)xÚabcx)r'  r»   z	([xyz]*)x)r%   rÉ   z	(a)+b|aac)r  Nz(?P<i d>aaa)az(?P<id>aaa)az0,id)r  r<   z(?P<id>aa)(?P=id))r  r  z(?P<id>aa)(?P=xd)rÃ   Úgz\g<1>z(.)\g<1>Úgg)r)  r(  z\Nr&  ú\N{LATIN SMALL LETTER A}z\pr  rJ  z\PÚPz\P{Lu}zab{0,}bczab{1,}bcz	ab{1,3}bcz	ab{3,4}bcz	ab{4,5}bcz	ab{0,1}bczab{0,1}cza[b-a]z*az(*)bza{1,}b{1,}cza**za.+?cz
(a+|b){0,}z
(a+|b){1,}z(a+|b){0,1}z	([abc])*dÚabbbcd)r,  rÝ   z([abc])*bcd)rÔ  r\   z((((((((((a))))))))))Ú10z((((((((((a))))))))))\10z((((((((((a))))))))))\41z(?i)((((((((((a))))))))))\41z(?i)abcrV  ÚXBCÚAXCÚABXÚXABCYÚABABCz(?i)ab*cz	(?i)ab*bcÚABBCz
(?i)ab*?bcÚABBBBCz(?i)ab{0,}?bcz
(?i)ab+?bcz	(?i)ab+bcÚABQz(?i)ab{1,}bcz(?i)ab{1,}?bcz(?i)ab{1,3}?bcz(?i)ab{3,4}?bcz(?i)ab{4,5}?bcz
(?i)ab??bcz(?i)ab{0,1}?bcz	(?i)ab??cz(?i)ab{0,1}?cz	(?i)^abc$ÚABCCz(?i)^abcÚAABCz(?i)abc$z(?i)^z(?i)$z(?i)a.cz	(?i)a.*?cÚAXYZCz(?i)a.*cÚAXYZDz
(?i)a[bc]dÚABDz(?i)a[b-d]eÚACEz
(?i)a[b-d]ÚAACÚACz	(?i)a[-b]zA-z	(?i)a[b-]z
(?i)a[b-a]z(?i)a[]bz(?i)a[z(?i)a]zA]z	(?i)a[]]bzA]Bz(?i)a[^bc]dÚAEDz(?i)a[^-b]cÚADCzA-Cz(?i)a[^]b]czA]Cz	(?i)ab|cdÚABCDz(?i)()efÚDEF)ÚEFrÉ   z(?i)*az(?i)(*)bz(?i)$br…  z(?i)a\z(?i)a\(búA(B)rC  z	(?i)a\(*bzA((Bz(?i)a\\bzA\Bz(?i)abc)z(?i)(abcz	(?i)((a)))rg   rg   rg   z(?i)(a)b(c))rV  rg   rÛ  z	(?i)a+b+cÚAABBABCz(?i)a{1,}b{1,}cz(?i)a**z	(?i)a.+?cÚABCABCz(?i)a.{0,5}?cz(?i)(a+|b)*)r  r…  z(?i)(a+|b){0,}z(?i)(a+|b)+z(?i)(a+|b){1,}z(?i)(a+|b)?)rg   rg   z(?i)(a+|b){0,1}z(?i)(a+|b){0,1}?©rÉ   Nz(?i))(z
(?i)[^ab]*ÚCDEz(?i)a*z(?i)([abc])*dÚABBBCD)rH  rÛ  z(?i)([abc])*bcd)r@  rg   z(?i)a|b|c|d|eÚEz(?i)(a|b|c|d|e)frB  )rB  rI  z(?i)abcd*efgÚABCDEFGz(?i)ab*Ú	XABYABBBZÚXAYABBBZz(?i)(ab|cd)eÚABCDE)rG  ÚCDz(?i)[abhgefdc]ijÚHIJz(?i)^(ab|cd)ez(?i)(abc|)efrŠ  z(?i)(a|b)c*d)ÚBCDr…  z(?i)(ab|ab*)bc)rV  rg   z(?i)a([bc]*)c*)rV  ÚBCz(?i)a([bc]*)(c*d))r@  rQ  ÚDz(?i)a([bc]+)(c*d)z(?i)a([bc]*)(c+d))r@  r…  rN  z(?i)a[bcd]*dcdcdeÚADCDCDEz(?i)a[bcd]+dcdcdez(?i)(ab|a)b*c)rV  r  z(?i)((a)(b)c)(d))rV  rg   r…  rR  z(?i)[a-zA-Z_][a-zA-Z0-9_]*ÚALPHAz(?i)^a(bc+|b[eh])g|.h$ÚABH)ÚBHNz(?i)(bc+d$|ef*g.|h?i(j|k))ÚEFFGZ)rW  rW  NÚIJ)rX  rX  ÚJÚEFFGÚBCDDÚREFFGZz(?i)((((((((((a))))))))))z(?i)((((((((((a))))))))))\10ÚAAz(?i)(((((((((a)))))))))z+(?i)(?:(?:(?:(?:(?:(?:(?:(?:(?:(a))))))))))z/(?i)(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))rÛ  z(?i)multiple words of textzUH-UHz(?i)multiple wordszMULTIPLE WORDS, YEAHzMULTIPLE WORDSz(?i)(.*)c(.*))rM  r  ÚDEz(?i)\((.*), (.*)\)z(A, B))r…  rg   z(?i)[k]z
(?i)a[-]?cz(?i)(abc)\1z(?i)([a-c]*)\1za(?!b).Úabadr  za(?=d).z	a(?=c|d).za(?:b|c|d)(.)za(?:b|c|d)*(.)za(?:b|c|d)+?(.)za(?:b|(c|e){1,2}?|d)+?(.)z1,2)rÝ   rO  z(?<!-):(.*?)(?<!-):z
a:bc-:de:fzbc-:dez(?<!\\):(.*?)(?<!\\):z
a:bc\:de:fzbc\:dez(?<!\?)'(.*?)(?<!\?)'z
a'bc?'de'fzbc?'dezw(?# commentÚwz w(?# comment 1)xy(?# comment 2)zÚwxyzzw(?i)ÚWz(?i)wz"(?x)w# comment 1
x y
# comment 2
zzjkl
abc
xyzrÎ  rÏ  zjkl
xyzabc
123rg  z--ab_cd0123--Ú	ab_cd0123z[\w]+z\D+Ú1234abc5678z[\D]+z[\da-fA-F]+Ú123abcz([\s]*)([\S]*)([\s]*)z testing!1972z3,2,1)rÉ   ztesting!1972rç   z(\s*)(\S*)(\s*)z(([a-z]+):)?([a-z]+)$Úsmilz1,2,3)NNrf  z((.)\1+)z.*dzabc
abdr  z[\41]Ú!z(x?)?z	 (?x)foo rÇ  z	(?x) foo z(?x)foo z(?<!abc)(d.f)Ú	abcdefdofÚdofz[\w-]+Ú
laser_beamz.*?\S *:zxx:za[ ]*?\ (\d+).*za   10za    10z(?ms).*?x\s*\Z(.*)zxx
x
z(?i)M+ÚMMMz(?i)m+z(?i)[M]+z(?i)[m]+z"(?:\\"|[^"])*?"z"\""z^.*?$zone
two
three
za[^>]*?bza>bz^a*?$z^((a)c)?(ab)$)NNr  z^([ab]*?)(?=(b)?)c)r  Nz^([ab]*?)(?!(b))cz^([ab]*?)(?<!(a))cz\b.\bô   Ã„r"  rÕ   ri  )rx   r9  r¿  r;   ú...z%Incorrect number of test fields: ({}))r-   r¦   rË   rÎ   ÚMISSING_RPARENr=  ÚUNKNOWN_GROUPr§   rk   ÚTRAILING_CHARSr­  Ú
BAD_ESCAPEÚBAD_CHAR_RANGEÚNOTHING_TO_REPEATÚMULTIPLE_REPEATÚ
OPEN_GROUPré  rê   ÚappendrF   r}   ÚsubTestr|   r@   r¼   r)   rG  r0   r<  )r   rb  rº  Úexcvalrx   r9  r5  rd  Ú
group_listr¼   rU   r#   ÚfÚfieldss                 r   Útest_variouszRegexTests.test_variousÍ  s°9  € ðy

à˜B ¤E§K¡K°·±ÐAðy

ð ˜˜R¤§¡¨d×.AÑ.AÐBðy

ð ˜˜R¤§¡¨d×.AÑ.AÐBð	y

ð
 ˜B ¤E§K¡K°×1DÑ1DÐEðy

ð )¨$°´E·K±KØ×!Ñ!ð#ðy

ð $ T¨3´°c³
Ð;ðy

ð $ T¨2¬u¯{©{Ø×!Ñ!ð#ðy

ð % d¨B´·±Ø×!Ñ!ð#ðy

ð $ T¨2¬u¯{©{Ø×!Ñ!ð#ðy

ð" *¨4°´U·[±[Ø× Ñ ð"ð#y

ð( ˜s C¬¨s«Ð4ð)y

ð* *¨4°´e¸C³jÐAð+y

ð0 (¨¨r´5¸³;Ð?ð1y

ð2 # D¨#¬u°S«zÐ:ð3y

ð4 # D¨"¬e°D«kÐ:ð5y

ð6 )¨$°´E·K±KØ× Ñ ð"ð7y

ð< ˜c 3¬¨c«
Ð3ð=y

ð> )¨$°´U¸3³ZÐ@ð?y

ðD �C˜œUŸ[™[¨$×*@Ñ*@ÐAðEy

ðF ,ðGy

ðH ”S˜“V˜c‘\ 3¬¬c°!«f°s©lÓ(;Ð<ðIy

ðJ �c˜3¤ c£
Ð+ðKy

ðL 9Ð:JØ”eÐ3Ó4ð6ðMy

ðT �D˜#œu T›{Ð+ðUy

ðV �t˜S¤%¨£+Ð.ðWy

ðX �t˜S¤%¨£+Ð.ðYy

ðZ ˜˜b¤%¨£+Ð.ð[y

ð` !Ð"2°CÜÐ$Ó%ð'ðay

ðd -Ð.>ÀÜÐ$Ó%ð'ðey

ðh �f˜c¤5¬¨S«£?Ð3ðiy

ðn # F¨B´°d³Ð<ðoy

ðp �v˜r¤5¨£;Ð/ðqy

ðr ˜ ¤E¨$£KÐ0ðsy

ðv ˜ ¤E¨$£KÐ0ðwy

ðx  °´e¸OÓ6LÐMðyy

ðz  °´e¸OÓ6LÐMð{y

ð| ˜n¨c´5¼¸Q»Ä#ÀbÃ'Ñ9IÜ�"‹gñ:Ü˜B›ñ: Ü"% b£'ñ:*Ü,/°«Fñ:3ó 44ð 5ð}y

ð@ )¨.¸#Ü�NÓ#ð%ðAy

ðF .Ø<¸cÜÐ8Ó9ð;ðGy

ðP �E˜3¤ e£Ð-ðQy

ðR �F˜B¤ d£Ð,ðSy

ðT �Z ¤U¨4£[Ð1ðUy

ðV ˜ R¬¨t«Ð5ðWy

ðX �F˜C¤ v£Ð/ðYy

ð\ ˜ ¤E¨$£KÐ0ð]y

ð^ ˜ ¤U¨6£]Ð3ð_y

ð` ˜ R¬¨t«Ð5ðay

ðb ˜ S¬%°
Ó*;Ð<ðcy

ðd ˜Z¨¬e°JÓ.?Ð@ðey

ðh �"�bœ%Ÿ+™+ t×':Ñ':Ð;ðiy

ðj  ðky

ðl �E˜3¤ e£Ð-ðmy

ðn �E˜2œu T›{Ð+ðoy

ðp �E˜2œu T›{Ð+ðqy

ðr �E˜2œu T›{Ð+ðsy

ðt �G˜S¤%¨£,Ð/ðuy

ðv �G˜S¤%¨£,Ð/ðwy

ðx �U˜C¤ u£Ð.ðyy

ðz �e˜S¤%¨£,Ð/ð{y

ð~ �f˜c¤5¨£=Ð1ðy

ð@ �h ¤U¨8£_Ð5ðAy

ðB �f˜c¤5¨£=Ð1ðCy

ðD �e˜R¤ t£Ð-ðEy

ðF �e˜R¤ t£Ð-ðGy

ðH �h ¤U¨8£_Ð5ðIy

ðJ �f˜c¤5¨£=Ð1ðKy

ðL �e˜S¤%¨£,Ð/ðMy

ðN �h ¤E¨$£KÐ0ðOy

ðP �U˜C¤ u£Ð.ðQy

ðT �e˜S¤%¨£,Ð/ðUy

ðV �f˜b¤%¨£+Ð.ðWy

ðX �V˜S¤%¨£,Ð/ðYy

ðZ �f˜b¤%¨£+Ð.ð[y

ð\ �V˜S¤%¨£,Ð/ð]y

ð^ �%˜œe B›iÐ(ð_y

ð` �%˜œe B›iÐ(ðay

ðb �E˜3¤ e£Ð-ðcy

ðd �E˜3¤ e£Ð-ðey

ðf �W˜c¤5¨£>Ð2ðgy

ðj �W˜b¤%¨£+Ð.ðky

ðl �u˜b¤%¨£+Ð.ðmy

ðn �u˜c¤5¨£<Ð0ðoy

ðp ˜˜r¤5¨£;Ð/ðqy

ðr ˜˜s¤E¨%£LÐ1ðsy

ðt �u˜c¤5¨£;Ð/ðuy

ðv �d˜C¤ t£Ð-ðwy

ðx ˜˜c¤5¨£;Ð/ðyy

ðz �d˜C¤ t£Ð-ð{y

ð| �S˜"œeŸk™k¨4¯<©<Ð8ð}y

ð@ �3˜œEŸK™K¨¯©Ð6ðAy

ðB �C˜œUŸ[™[¨$¯/©/Ð:ðCy

ðD �S˜"œeŸk™k¨4×+>Ñ+>Ð?ðEy

ðF �S˜"œeŸk™k¨4×+>Ñ+>Ð?ðGy

ðH �4˜œe D›kÐ*ðIy

ðJ �e˜S¤%¨£,Ð/ðKy

ðL �e˜S¤%¨£,Ð/ðMy

ðN ˜˜s¤E¨%£LÐ1ðOy

ðP ˜˜r¤5¨£;Ð/ðQy

ðR ˜˜s¤E¨%£LÐ1ðSy

ðV ˜˜r¤5¨£;Ð/ðWy

ðX ˜˜r¤5¨£;Ð/ðYy

ðZ ˜˜s¤E¨%£LÐ1ð[y

ð\ ˜˜c¤5¨£:Ð.ð]y

ð^ ˜˜c¤5¨£:Ð.ð_y

ð` ˜˜s¤E¨#£JÐ/ðay

ðb ˜˜b¤%¨£+Ð.ðcy

ðd ˜˜b¤%¨£+Ð.ðey

ðf ˜˜r¤5¨£;Ð/ðgy

ðh �U˜B¤ d£Ð,ðiy

ðl �U˜C¤ s£Ð,ðmy

ðn �U˜C¤ s£Ð,ðoy

ðp �U˜B¤ d£Ð,ðqy

ðr �U˜B¤ d£Ð,ðsy

ðt ˜˜b¤%¨£+Ð.ðuy

ðv ˜˜b¤%¨£+Ð.ðwy

ðx ˜˜r¤5¨£;Ð/ðyy

ðz ˜˜b¤%¨£+Ð.ð{y

ð| ˜˜b¤%¨£+Ð.ð}y

ð~ ˜˜c¤5¨£:Ð.ðy

ðB ˜˜c¤5¨£:Ð.ðCy

ðD ˜˜s¤E¨#£JÐ/ðEy

ðF �e˜S¤%¨£+Ð.ðGy

ðH �f˜c¤5¨£;Ð/ðIy

ðJ �U˜E¤5¨Ó#4Ð5ðKy

ðL �3˜œE $›KÐ(ðMy

ðN �e˜R¤ x£Ð1ðOy

ðP �t˜S¤%¨£+Ð.ðQy

ðR �v˜s¤E¨&£MÐ2ðSy

ðT �v˜s¤E¨&£MÐ2ðUy

ðX �e˜W¤e¨OÓ&<Ð=ðYy

ðZ ˜˜w¬Ð.?Ó(@ÐAð[y

ð\ �i ¤e¨E£lÐ3ð]y

ð^ ˜˜e¤U¨;Ó%7Ð8ð_y

ð` ˜˜e¤U¨;Ó%7Ð8ðay

ðb ˜˜e¤U¨:Ó%6Ð7ðcy

ðd �3˜œEŸK™K¨×)<Ñ)<Ð=ðey

ðf �u˜c¤5¨£<Ð0ðgy

ðh �B˜œE $›KÐ(ðiy

ðj �2�sœE "›IÐ&ðky

ðn ˜#˜s¤E¨#£JÐ/ðoy

ðp ˜T 5¬%°Ó*<Ð=ðqy

ðr ˜ C¬¨yÓ)9Ð:ðsy

ðt �K ¤e¨D£kÐ2ðuy

ðv �J ¤U¨3£ZÐ0ðwy

ðx ˜ %¬¨}Ó)=Ð>ðyy

ðz ˜U C¬¨u«Ð6ð{y

ð| ˜' 2¤u¨T£{Ð3ð}y

ð~ ˜ 5¬%°
Ó*;Ð<ðy

ð@ ˜ ¬¨lÓ(;Ð<ðAy

ðD ˜5 %¬¨|Ó)<Ð=ðEy

ðF ˜5 %¬¨}Ó)=Ð>ðGy

ðH ˜f g¬uÐ5HÓ/IÐJðIy

ðJ ˜f g¬uÐ5HÓ/IÐJðKy

ðL ˜f g¬uÐ5HÓ/IÐJðMy

ðN ˜i¨¬e°IÓ.>Ð?ðOy

ðP ˜i¨¬U°4«[Ð9ðQy

ðR ˜% ¬¨mÓ(<Ð=ðSy

ðT ˜V Y´Ð6LÓ0MÐNðUy

ðV & w°´U¸7³^ÐDðWy

ðZ " 5¨%´°|Ó1DÐEð[y

ð\ & w°¼ð @ó :ð ð]y

ð` & t¨W´eð =ó 7ð ðay

ðd & v¨r´5¸³;Ð?ðey

ðf & v¨r´5¸³;Ð?ðgy

ðh & x°¼%ð Aó ;ð ðiy

ðl # C¨¬e°C«jÐ9ðmy

ðn & w°´E¸$³KÐ@ðoy

ðp Ð5°sÜÐ$Ó%ð'ðqy

ðt ˜' 7¬EÐ2GÓ,HÐIðuy

ðx   ¨5´%¸
Ó2CÐDðyy

ðz �D˜"œe D›kÐ*ð{y

ð| �t˜S¤%¨£+Ð.ð}y

ð~ ˜ 3¬¨e«Ð5ðy

ð@ ˜H c¬5°«<Ð8ðAy

ðB ˜˜c¤5¨£:Ð.ðCy

ðD ˜' 5¬%°Ó*@ÐAðEy

ñF ™6 2¤u¨T£{Ð3ðGy

ðH ˜ 5¬%Ñ0AÓ*BÐCðIy

ñJ ˜H e¬UÑ3DÓ-EÐFðKy

ñN �t˜U¤E©+Ó$6Ð7ðOy

ñP ˜˜e¤U©;Ó%7Ð8ðQy

ñR ˜˜u¤e©KÓ&8Ð9ðSy

ñT ™ ¤u©\Ó':Ð;ðUy

ñV ™% ¬©lÓ(;Ð<ðWy

ñX ™E 5¬%±Ó*=Ð>ðYy

ñZ ™E 5¬%±Ó*=Ð>ð[y

ñ\ ™% ¬©lÓ(;Ð<ð]y

ñ^ ˜H e¬UÑ3DÓ-EÐFð_y

ñ` ˜4 ¬%Ñ0BÓ*CÐDðay

ñd ‘f˜e¤U©=Ó%9Ð:ðey

ñf ™ ¬©mÓ(<Ð=ðgy

ñh Ñ@À%ÜÑ2Ó3ð5ðiy

ñl +Ñ,JÙœñ  )ó *ð+ðmy

ñr ™* e¬UÑ3GÓ-HÐIðsy

ñt ™) U¬E±-Ó,@ÐAðuy

ñv ™& %¬©Ó)?Ð@ðwy

ñx ˜% ¤U¨4£[Ð1ðyy

ñz ™& %¬©yÓ)9Ð:ð{y

ñ| ˜% ¬©mÓ(<Ð=ð}y

ñB ™f b¬%¯+©+°t×7JÑ7JÐKðCy

ñD ™V¡V¬U±?Ó-CÐDðEy

ñF !¡&©&´%¹Ó2GÐHðGy

ñH !¡&¨"¬e¯k©k¸4×;MÑ;MÐNðIy

ñN ‘C˜œe¡C›jÐ)ðOy

ñP ‘s˜B¤§¡¨T×-CÑ-CÐDðQy

ñR ™$ ¤U©4£[Ð1ðSy

ñT ™$ ¤E©+Ó$6Ð7ðUy

ñV ‘C˜œe¡C›jÐ)ðWy

ñX )¨#¨s´E¸#³JÐ?ðYy

ñZ ‘C˜œe¡C›jÐ)ð[y

ñ\ ˜˜S¤%¨£*Ð-ð]y

ñ^ ‘C˜œe¡C›jÐ)ð_y

ñ` ™˜S¤%©£*Ð-ðay

ðf �E˜3¤ e£Ð-ðgy

ðh �E˜2œu T›{Ð+ðiy

ðj �E˜2œu T›{Ð+ðky

ðl �E˜2œu T›{Ð+ðmy

ðn �G˜S¤%¨£,Ð/ðoy

ðp �G˜S¤%¨£,Ð/ðqy

ðt �U˜C¤ u£Ð.ðuy

ðv �e˜S¤%¨£,Ð/ðwy

ðx �f˜c¤5¨£=Ð1ðyy

ðz �h ¤U¨8£_Ð5ð{y

ñ| ˜ 3¬¨h«Ð8ð}y

ð~ �f˜c¤5¨£=Ð1ðy

ð@	 �e˜R¤ t£Ð-ðA	y

ðB	 �e˜R¤ t£Ð-ðC	y

ñD	 ˜ ¤E¨$£KÐ0ðE	y

ðF	 �h ¤U¨8£_Ð5ðG	y

ñJ	 ˜ 3¬¨h«Ð8ðK	y

ñL	 ˜( C¬¨x«Ð9ðM	y

ñN	 ˜( C¬¨x«Ð9ðO	y

ñP	 ˜( B¬¨d«Ð4ðQ	y

ðR	 �f˜c¤5¨£=Ð1ðS	y

ðT	 �e˜S¤%¨£,Ð/ðU	y

ñV	 ˜% ¤e¨E£lÐ3ðW	y

ðX	 �h ¤E¨$£KÐ0ðY	y

ðZ	 �U˜C¤ u£Ð.ð[	y

ñ\	 ˜ ¤U¨5£\Ð2ð]	y

ð`	 �e˜S¤%¨£,Ð/ða	y

ðb	 �f˜b¤%¨£+Ð.ðc	y

ðd	 �V˜S¤%¨£,Ð/ðe	y

ðf	 �f˜b¤%¨£+Ð.ðg	y

ðh	 �V˜S¤%¨£,Ð/ði	y

ðj	 �%˜œe B›iÐ(ðk	y

ðl	 �%˜œe B›iÐ(ðm	y

ðn	 �E˜3¤ e£Ð-ðo	y

ðp	 �E˜3¤ e£Ð-ðq	y

ðr	 �W˜c¤5¨£>Ð2ðs	y

ðv	 �W˜b¤%¨£+Ð.ðw	y

ðx	 �u˜b¤%¨£+Ð.ðy	y

ðz	 �u˜c¤5¨£<Ð0ð{	y

ð|	 ˜˜r¤5¨£;Ð/ð}	y

ð~	 ˜˜s¤E¨%£LÐ1ð	y

ð@
 �u˜c¤5¨£;Ð/ðA
y

ðB
 �d˜C¤ t£Ð-ðC
y

ðD
 �d˜C¤ t£Ð-ðE
y

ñF
 �s˜B¤§¡¨T×-@Ñ-@ÐAðG
y

ðH
 �S˜"œeŸk™k¨4¯<©<Ð8ðI
y

ðL
 �3˜œEŸK™K¨¯©Ð6ðM
y

ðN
 �4˜œe D›kÐ*ðO
y

ðP
 �e˜S¤%¨£,Ð/ðQ
y

ðR
 ˜˜s¤E¨%£LÐ1ðS
y

ðT
 ˜˜r¤5¨£;Ð/ðU
y

ðV
 ˜˜s¤E¨%£LÐ1ðW
y

ðX
 ˜˜r¤5¨£;Ð/ðY
y

ðZ
 ˜˜r¤5¨£;Ð/ð[
y

ð\
 ˜˜s¤E¨%£LÐ1ð]
y

ð^
 �e˜S¤%¨£+Ð.ð_
y

ðb
 �f˜c¤5¨£;Ð/ðc
y

ðd
 �U˜E¤5¨Ó#4Ð5ðe
y

ñf
 �3˜œEŸK™K¨×)?Ñ)?Ð@ðg
y

ñh
 �S˜"œeŸk™k¨4×+AÑ+AÐBði
y

ðj
 �3˜œE $›KÐ(ðk
y

ðl
 �C˜œUŸ[™[¨$¯/©/Ð:ðm
y

ðn
 �e˜R¤ x£Ð1ðo
y

ðp
 �t˜S¤%¨£+Ð.ðq
y

ðr
 �v˜s¤E¨&£MÐ2ðs
y

ðt
 �v˜s¤E¨&£MÐ2ðu
y

ðx
 �S˜"œeŸk™k¨4×+>Ñ+>Ð?ðy
y

ðz
 �S˜"œeŸk™k¨4×+>Ñ+>Ð?ð{
y

ð|
 �e˜W¤e¨OÓ&<Ð=ð}
y

ð~
 ˜˜w¬Ð.?Ó(@ÐAð
y

ð@ �i ¤e¨E£lÐ3ðAy

ñB ˜I s¬E°%«LÐ9ðCy

ñD �C˜œUŸ[™[¨$×*>Ñ*>Ð?ðEy

ñF �h ¤U¨5£\Ð2ðGy

ðH ˜˜e¤U¨;Ó%7Ð8ðIy

ñJ ˜4 ¬¨kÓ(:Ð;ðKy

ðN ˜˜e¤U¨;Ó%7Ð8ðOy

ñP ˜4 ¬¨kÓ(:Ð;ðQy

ðR ˜˜e¤U¨:Ó%6Ð7ðSy

ñT ˜D %¬¨zÓ):Ð;ðUy

ðV �3˜œEŸK™K¨×)<Ñ)<Ð=ðWy

ðX �u˜c¤5¨£<Ð0ðYy

ðZ �B˜œE $›KÐ(ð[y

ð\ �2�sœE "›IÐ&ð]y

ñ^ ™( E¬5±Ó+AÐBð_y

ñ` ˜F E¬5±Ó+?Ð@ðay

ðd ˜#˜s¤E¨#£JÐ/ðey

ðf ˜T 5¬%°Ó*<Ð=ðgy

ðh ˜ C¬¨yÓ)9Ð:ðiy

ðj �K ¤e¨D£kÐ2ðky

ðl �J ¤U¨3£ZÐ0ðmy

ðn ˜ %¬¨}Ó)=Ð>ðoy

ðp ˜U C¬¨u«Ð6ðqy

ðr ˜' 2¤u¨T£{Ð3ðsy

ðt ˜ 5¬%°
Ó*;Ð<ðuy

ðv ˜ ¬¨lÓ(;Ð<ðwy

ðz ˜5 %¬¨|Ó)<Ð=ð{y

ð| ˜5 %¬¨}Ó)=Ð>ð}y

ð~ ˜f g¬uÐ5HÓ/IÐJðy

ð@ ˜f g¬uÐ5HÓ/IÐJðAy

ðB ˜f g¬uÐ5HÓ/IÐJðCy

ðD ˜i¨¬e°IÓ.>Ð?ðEy

ðF ˜i¨¬U°4«[Ð9ðGy

ðH ˜% ¬¨mÓ(<Ð=ðIy

ðJ ˜V Y´Ð6LÓ0MÐNðKy

ðL & w°´U¸7³^ÐDðMy

ðP " 5¨%´°|Ó1DÐEðQy

ðR & w°¼ð @ó :ð ðSy

ðV & t¨W´eð =ó 7ð ðWy

ðZ & v¨r´5¸³;Ð?ð[y

ð\ & v¨r´5¸³;Ð?ð]y

ð^ & x°¼%ð Aó ;ð ð_y

ñb % c©4´°s³Ð<ðcy

ñd )¨$°´U¸4³[ÐAðey

ñn )¨"¨b´%·+±+Ø×$Ñ$ð&ðoy

ñr -¨b°"´e·k±kØ×$Ñ$ð&ðsy

ðx # C¨¬e°C«jÐ9ðyy

ðz & w°´E¸$³KÐ@ð{y

ð| Ð5°sÜÐ$Ó%ð'ð}y

ð@ ˜' 7¬EÐ2GÓ,HÐIðAy

ðB   ¨5´%¸
Ó2CÐDðCy

ðD �D˜"œe D›kÐ*ðEy

ðF �t˜S¤%¨£+Ð.ðGy

ðH ˜ 3¬¨e«Ð5ðIy

ðJ ˜H c¬5°«<Ð8ðKy

ñL ™˜s¤E©%£LÐ1ðMy

ñP ™˜r¤5¨£;Ð/ðQy

ñR ™˜r¤5¨£;Ð/ðSy

ñT ™˜r¤5¨£;Ð/ðUy

ñV ™ ¤e©E£lÐ3ðWy

ñX ™ ¤e©E£lÐ3ðYy

ñZ ™ ¤U©5£\Ð2ð[y

ñ\ ™% ¤e©E£lÐ3ð]y

ñ^ ™& #¤u©V£}Ð5ð_y

ñ` ™8 S¬%±«/Ð:ðay

ñb ™h¨¬U±8«_Ð=ðcy

ñf ™6 3¬©f«Ð6ðgy

ñh ™% ¤U¨4£[Ð1ðiy

ñj ™% ¤U¨4£[Ð1ðky

ñl ™U B¬¨d«Ð4ðmy

ñn ™( C¬©x«Ð9ðoy

ñp ™h¨¬U±8«_Ð=ðqy

ñr ™x¨¬e±H«oÐ>ðsy

ñt ™x¨¬e±H«oÐ>ðuy

ñv ™x¨¬U°4«[Ð9ðwy

ñx ™6 3¬©f«Ð6ðyy

ñ| ™5 #¤u©U£|Ð4ð}y

ñ~ ™u c¬5±«<Ð8ðy

ñ@ ™8 R¬¨t«Ð5ðAy

ñB ™% ¤e©E£lÐ3ðCy

ñD ™e S¬%±«,Ð7ðEy

ñF ™% ¤e©E£lÐ3ðGy

ñH ™& "¤e¨D£kÐ2ðIy

ñJ ™ ¤e©E£lÐ3ðKy

ñL ™& "¤e¨D£kÐ2ðMy

ñN ™ ¤e©E£lÐ3ðOy

ñR ‘e˜S¤%¨£)Ð,ðSy

ñT ‘e˜S¤%¨£)Ð,ðUy

ñV ™˜s¤E©%£LÐ1ðWy

ñX ™˜s¤E©%£LÐ1ðYy

ñZ ™' 3¬©g«Ð7ð[y

ñ\ ™ "¤e¨D£kÐ2ð]y

ñ^ ™5 "¤e¨D£kÐ2ð_y

ñ` ™5 #¤u©U£|Ð4ðay

ñb ™E 2¤u¨T£{Ð3ðcy

ñd ™E 3¬©e«Ð5ðey

ñh ™5 #¤u©T£{Ð3ðiy

ñj ™$ ¤U©4£[Ð1ðky

ñl ™$ ¤U©4£[Ð1ðmy

ñn ˜3 ¤E§K¡K°×1DÑ1DÐEðoy

ñp ˜˜b¤%§+¡+¨t¯|©|Ð<ðqy

ñr �s˜B¤§¡¨T¯\©\Ð:ðsy

ñt ‘t˜S¤%©£+Ð.ðuy

ñv ™% ¤e©E£lÐ3ðwy

ñx ™E 3¬©e«Ð5ðyy

ñz ™E 2¤u¨T£{Ð3ð{y

ñ~ ™E 3¬©e«Ð5ðy

ñ@ ™E 2¤u¨T£{Ð3ðAy

ñB ™E 2¤u¨T£{Ð3ðCy

ñD ™E 3¬©e«Ð5ðEy

ñF ™% ¤e¨D£kÐ2ðGy

ñH ™& #¤u¨T£{Ð3ðIy

ñJ ™ ¤u©ZÓ'8Ð9ðKy

ñL �s˜B¤§¡¨T×-CÑ-CÐDðMy

ñN ˜˜b¤%§+¡+¨t×/EÑ/EÐFðOy

ñP ‘s˜B¤ d£Ð,ðQy

ñT ˜˜R¤§¡¨d¯o©oÐ>ðUy

ñV ™% ¤U©8£_Ð5ðWy

ñX ˜4 ¤e¨D£kÐ2ðYy

ñZ ™6 3¬©f«Ð6ð[y

ñ\ ™6 3¬©f«Ð6ð]y

ñ^ ˜˜b¤%§+¡+¨t×/BÑ/BÐCð_y

ñ` ˜˜b¤%§+¡+¨t×/BÑ/BÐCðay

ñb ™% ¬%±Ó*@ÐAðcy

ñd ™E 7¬EÑ2CÓ,DÐEðey

ñf ™) S¬%±«,Ð7ðgy

ñj ¡	¨3´±e³Ð=ðky

ñl ˜˜R¤§¡¨d×.BÑ.BÐCðmy

ñn ™( C¬©u«Ð6ðoy

ñp ™( C¬©u«Ð6ðqy

ñr ™h¨¬U±5«\Ð:ðsy

ñt ˜D %¬©{Ó);Ð<ðuy

ñv ˜t U¬E±+Ó,>Ð?ðwy

ñx ˜D %¬©{Ó);Ð<ðyy

ñz ˜t U¬E±+Ó,>Ð?ð{y

ñ| ˜D %¬©zÓ):Ð;ð}y

ñ@   e¬U±:Ó->Ð?ðAy

ñB    u¬e±JÓ.?Ð@ðCy

ñD �s˜B¤§¡¨T×-@Ñ-@ÐAðEy

ñF ™5 #¤u©U£|Ð4ðGy

ñH ˜˜B¤ d£Ð,ðIy

ñJ �r˜3¤ b£	Ð*ðKy

ñL ™h¨¬u±_Ó/EÐFðMy

ñN ¡¨¬u±]Ó/CÐDðOy

ñP ™c 3¬©c«
Ð3ðQy

ñR  ¡ u¬e±KÓ.@ÐAðSy

ñV ™Y¨¬U±9Ó-=Ð>ðWy

ñX ™ S¬%°«+Ð6ðYy

ñZ ™
 C¬¨s«Ð4ð[y

ñ\ ™W e¬U±=Ó-AÐBð]y

ñ^  ¡¨¬U±5«\Ð:ð_y

ñ` ™g r¬5°«;Ð7ðay

ñb ™X u¬e±JÓ.?Ð@ðcy

ñd ™V U¬E±,Ó,?Ð@ðey

ñf ™u e¬U±<Ó-@ÐAðgy

ñh ™u e¬U±=Ó-AÐBðiy

ñl !¡&¨'´5Ñ9LÓ3MÐNðmy

ñn !¡&¨'´5Ñ9LÓ3MÐNðoy

ñp !¡&¨'´5Ñ9LÓ3MÐNðqy

ñr !¡)¨S´%¹	Ó2BÐCðsy

ñt !¡)¨R´°t³Ð=ðuy

ñv ™e U¬E±-Ó,@ÐAðwy

ñx  ¡¨´Eñ ;ó 5ð ðyy

ñ| *©7°C¼¹w»ÐHð}y

ñ~ &¡u¨e´U¹<Ó5HÐIðy

ñ@ *©7°G¼Uñ Dó >ð ðAy

ñF *©4°¼%ñ Aó ;ð ðGy

ñJ *©6°2´u¸T³{ÐCðKy

ñL *©6°2´u¸T³{ÐCðMy

ñN *©8°W¼eñ Eó ?ð ðOy

ñR )¨#©t´U¸3³ZÐ@ðSy

ñT -©d°C¼¹t»ÐEðUy

ñZ '¨¨S´%¸³*Ð=ð[y

ñ\ ;¸CÀÜ�C‹jðð]y

ñ` ?ÁÀSÜ‘C‹jððay

ñd *©7°B¼¸d»ÐDðey

ñh "Ñ#9¸3ÜÑ#Ó$ð&ðiy

ñl ™g w´Ñ6KÓ0LÐMðmy

ñn $¡X¨u´e¹JÓ6GÐHðoy

ñp ˜˜b¤%¨£+Ð.ðqy

ñv ™4 ¤e©D£kÐ2ðwy

ñx ™X s¬E±%«LÐ9ðyy

ñz ¡¨#¬u±U«|Ð<ð{y

ñ| ™ ¤U©4£[Ð1ð}y

ñ~ ™ ¤U©4£[Ð1ðy

ñ@ ™& #¤u©T£{Ð3ðAy

ñD ˜e S¬%°«*Ð5ðEy

ñF ˜u c¬5°«:Ð6ðGy

ñH   s¬E°#«JÐ7ðIy

ñJ )¨%±¼¹jÓ8IÐJðKy

ñP #¡L°#´u¹X³ÐGðQy

ñT )©-¸¼eÁIÓ>NÐOðUy

ñX '©°c¼5Á»?ÐKðYy

ñ` ™S "¤e§k¡k°4×3FÑ3FÐGðay

ñb 0±¸¼eÁF»mÐLðcy

ñp ‘c˜3¤ d£Ð,ðqy

ñr ‘c˜3¤¡c£
Ð+ðsy

ñt ‘c˜3¤¡c£
Ð+ðuy

ñzñ ˆc”5™“=ð"ð{y

ðF ñ à
ŒE�$‹KððGy

ñL ñ àŒU�5‹\ððMy

ñT ñ àŒU�5‹\ððUy

ð^ �F˜B¤ d£Ð,ð_y

ð` ˜ ¤U¨6£]Ð3ðay

ñf ‘_ c¬5±Ó+=Ð>ðgy

ñh ‘¨¬U±;Ó-?Ð@ðiy

ñj ‘] C¬¨u«Ð6ðky

ñl ‘} c¬5°«<Ð8ðmy

ñn ™X s¬E±(«OÐ<ðoy

ñt &¡¹Äñ H#ó B$ð %ðuy

ñx  ¡±'¼5ñ B#ó <$ð %ðyy

ñF &¡v©w¼ñ ?ó 9ð ðGy

ñL ˜"˜b¤%§+¡+¨t¯©Ð?ðMy

ñP ‘Z ¤e¨E£lÐ3ðQy

ñT �2�rœ5Ÿ;™;¨×(;Ñ(;Ð<ðUy

ñV ‘s˜C¤¡s£Ð,ðWy

ñZ �s˜C¤ s£Ð,ð[y

ñ` ™5 #¤u¨T£{Ð3ðay

ñb ™5 #¤u©U£|Ð4ðcy

ñd ™% ¤e©E£lÐ3ðey

ñh ™{¨C´±u³Ð>ðiy

ñl ™ c¬5±Ó+>Ð?ðmy

ñp ™% ¤e©E£lÐ3ðqy

ñr  ¡¨3´±h³Ð@ðsy

ñt  ¡¨C´±yÓ1AÐBðuy

ñx #¡9¨c´5¸³9Ð=ðyy

ñ| ™˜s¤E©%£LÐ1ð}y

ñ~ ™˜s¤E©%£LÐ1ðy

ñ@ ™% ¤e©E£lÐ3ðAy

ñB ™% ¤e©E£lÐ3ðCy

ñL !¡'¨3´±g³Ð?ðMy

ñP Ñ*¨B´°d³Ð<ðQy

ñT ™% ¤U¨4£[Ð1ðUy

ñX ‘u˜b¤%¨£+Ð.ðYy

ñ\ ˜t¡W¬eÑ4FÓ.GÐHð]y

ñ` " 5©%´±|Ó1DÐEðay

ñb ! %©´±lÓ0CÐDðcy

ñd " 5©%´±|Ó1DÐEðey

ñh �s˜C¤ s£Ð,ðiy

ñj ÑBÀCÜ‘F‹mððky

ñn Ñ?ÀÜ‘F‹mððoy

ˆóv ˆAØˆFð7Ü�q“6™Q’;Ø89Ñ5�G˜V V©Xà@AÑ=�G˜V V¨X°vð
  �
ÙØ!'§¡©cÖ!2˜ð5Ø&×-Ñ-¬c°%«jÕ9ð "3ð Ð%ØŸ™¨g¸f™ÕEØ×.Ñ.¨x¸ÄÇÁØ! 6ô+÷ FÐEô Ÿ™ W¨fÓ5�AÙÙ%Ü%*¨7¨1¯7©7°JÐ+?Ó%@™Fä%*¨1©Q¨4£[™Fä!& q£˜à×$Ñ$ V¨XÕ6ñC øô   *ò 5Ø&×-Ñ-¨eÖ4ð5ú÷ FÑEûô ò RÙŸ™°a¸¹1±gÓ#>±g°¤E¨!¥H±gùÔ#>Á%ÀÑ#HÓI�Ø—	‘	ÑA×HÑHÈÓP×QðRúsP   ÂP0BUÂQ)BT*ÂR$BU
ÂT*BUÂUBUÂU
BU	ÂUBV=ÂU4BVÂV3BV=ÂV<BV=c                 ó²  — | j                  t        j                  ddd«      d«       | j                  t        j                  ddd«      d«       | j                  t        j                  dt        j                  d«      d«      d«       | j                  t        j                  ddd«      d«       | j                  t        j                  dd	„ d«      d«       y )
Nztest\?zresult\?\.
ztest?r‹  ú\1\1r%   rY   z\\1\\1c                  ó   — y)Nr~  rS   rT   s    r   rV   z-RegexTests.test_replacement.<locals>.<lambda>³	  s   € °Gr   )r)   r-   rj   rz  rC   s    r   Útest_replacementzRegexTests.test_replacement¬	  s£   € Ø×ÑœŸ™ 9Ð.@À'ÓJØ
ô	ð 	×ÑœŸ™ 5¨'°3Ó7¸Ô>Ø×ÑœŸ™ 5¬%¯,©,°wÓ*?ÀÓEÀwÔOØ×ÑœŸ™ 5¨)°SÓ9¸7ÔCØ×ÑœŸ™ 5Ñ*;¸SÓAÀ7ÕKr   c           	      ó  — t         j                  t         j                  z   t         j                  z   }|dz  }d|z   dz   |z   dz   }| j	                  t        t        t        j                  |«      «      «      | j                  «       y )NrÕ   r  r  rÂ  )
r9  Úascii_lowercaseÚdigitsÚascii_uppercaser)   r‚   r"   r-   r.   rƒ   )r   ÚallÚsideÚregexps       r   Útest_common_prefixzRegexTests.test_common_prefixµ	  sk   € ä×$Ñ$¤v§}¡}Ñ4´v×7MÑ7MÑMˆØ�Q‰wˆØ�t‘˜cÑ! DÑ(¨3Ñ.ˆØ×Ñœœd¤5§=¡=°Ó#8Ó9Ó:¸D×<NÑ<NÕOr   c                 ó˜  — | j                  t        j                  dd«      j                  d«      g d¢«       | j                  t        j                  dd«      j                  dd«      dgddgf«       | j                  t        j                  d	d
«      j                  dd«      dgg d¢f«       | j                  t        j                  dd«      j                  dd«      g d¢g d¢f«       | j                  t        j                  dd«      j                  ddd«      dgg d¢dgf«       | j                  t        j                  dd«      j                  d«      dg«       | j                  t        j                  dd«      j                  d«      ddg«       | j                  t        j                  dd«      j                  d«      dg«       y ) Nz(\w)+r»   r:   rè  z(\w{3})+r,  r   r	  z^(\d{1,3})(?:\.(\d{1,3})){3}$z192.168.0.1rÓ   Ú192)Ú168r“  rí  z^([0-9A-F]{2}){4} ([a-z]\d){5}$z3FB52A0C a2c4g3k9d3)Ú3FÚB5Ú2AÚ0C)Úa2Úc4Úg3Úk9Úd3z([a-z]W)([a-z]X)+([a-z]Y)ÚaWbXcXdXeXfYr;   ÚaW)ÚbXÚcXÚdXÚeXÚfYz.*?(?=(.)+)br  rª   z.*?(?>(.){0,2})drÔ  rÝ   ú(.)+r\   )r)   r-   r@   ÚcapturesrB   rC   s    r   Útest_captureszRegexTests.test_captures¼	  s‘  € Ø×ÑœŸ™ h°Ó6×?Ñ?ÀÓBò Eô 	à×ÑœŸ™ k°8Ó<×EÑEÀaÈÓKØˆ:˜˜u�~Ð
&ô	(à×ÑœŸ™Ð&FØ
óß!™ ! Q›¨5¨)Ò5FÐ)Gô	Ià×ÑœŸ™Ð%GØ
ó!ß!)¡¨!¨Q£Ò2JÚ
(ð2*ô	+ð 	×ÑœŸ™Ð%@Ø
óß"™( 1 a¨Ó+¨t¨fÒ6NØˆ&ð.ô	ð 	×ÑœŸ™ o°tÓ<×EÑEÀaÓHØˆ%ô	à×ÑœŸ™Ð&9¸6ÓB×KÑKÈAÓNØ�ˆ*ô	à×ÑœŸ™ g¨sÓ3×<Ñ<¸QÓ?À#ÀÕGr   c                 ó¢  — t        j                  dd«      }| j                  |j                  ddd«      d«       t        j                  dd«      }| j                  |j                  ddd«      d«       t        j                  d	d
«      }| j                  |j                  ddd«      d«       t        j                  dd«      }| j                  |j                  dd«      d«       t        j                  dd«      }| j                  |j                  «       d«       t        j                  dd«      }| j                  |j                  «       d«       y )Nz(X.*?Y\s*){3}(X\s*)+AB:zXY
X Y
X  Y
XY
XX AB:r   r:   rÓ   ))r;   é   ©rb   é   ©r�  é   z(X.*?Y\s*){3,}(X\s*)+AB:))r   r   r¡  r£  z\d{4}(\s*\w)?\W*((?!\d)\w){2}Ú9999XX)rh  r   )é   r-  zA\s*?.*?(\n+.*?\s*?){0,2}\(Xz
A
1
S
1 (X)©r   r_   )r¦  rd  z	Derde\s*:zaaaaaa:
Derde:)rd  é   zaaaaa:
Derde:)rc   ra   )r-   r@   r)   rA   rì   s     r   Útest_guardszRegexTests.test_guardsÐ	  s  € Ü�L‰LÐ3Ø
%ó'ˆà×Ñ˜Ÿ™  1 a›Ð*GÔHä�L‰LÐ4Ø
%ó'ˆà×Ñ˜Ÿ™  1 a›Ð*GÔHä�L‰LÐ9¸8ÓDˆØ×Ñ˜Ÿ™  1 a›Ð*DÔEä�L‰LÐ8¸/ÓJˆØ×Ñ˜Ÿ™  1›Ð'8Ô9ä�L‰L˜Ð'8Ó9ˆØ×Ñ˜Ÿ™› 7Ô+Ü�L‰L˜Ð'7Ó8ˆØ×Ñ˜Ÿ™› 7Õ+r   c           
      ó„  — d}t        «       }t        «       }|j                  d«      D ]u  }|j                  d«      \  }}|j                  ||f«       |j                  ||f«       |j                  ||f«       |j                  ||f«       |j                  ||f«       Œw |D ]œ  }|D ]•  }t	        j
                  d|z   dz   |«      }|r;||f|vsŒ(| j                  dj                  t        |«      t        |«      «      «       Œ\||f|v sŒc| j                  dj                  t        |«      t        |«      «      «       Œ— Œž y )Nu   I=i;I=Ä±;i=Ä°Ú;Ú=z(?i)\Aú\Zz{} matching {}z{} not matching {})	r]  rê   ÚupdateÚaddr-   rB   r0   r<  r=  )r   Úpairsrê  ÚmatchingÚpairrl  rm  rU   s           r   Útest_turkiczRegexTests.test_turkicä	  s%  € à'ˆä“Eˆ	Ü“5ˆØ—K‘K Ö$ˆDØ—z‘z #“‰HˆC�Ø×Ñ˜c 3˜ZÔ(Ø�L‰L˜#˜s˜Ô$Ø�L‰L˜#˜s˜Ô$Ø�L‰L˜#˜s˜Ô$Ø�L‰L˜#˜s˜Õ$ð %ó ˆCÛ �Ü—K‘K 	¨C¡°%Ñ 7¸Ó=�ÙØ˜S�z¨Ò1ØŸ	™	Ð"2×"9Ñ"9¼%À»*Ü ›*ó#&õ 'ð ˜S�z XÒ-ØŸ	™	Ð"6×"=Ñ"=¼eÀC»jÜ ›*ó#&õ 'ñ !ñ r   c                 ó.  — g d¢}| j                  t        j                  dd|¬«      j                  «       d«       | j                  t        j                  dd|¬«      j                  «       d«       | j                  t        j                  dd|¬«      d «       g d¢}| j                  t        j                  d	d
|¬«      j                  «       d
«       | j                  t        j                  dd|¬«      j                  «       d«       | j                  t        j                  d	d|¬«      d «       | j                  t	        t        t        j                  dg d¢¬«      «      «      | j                  «       | j                  t        j                  ddt        g d¢«      ¬«      g «       | j                  t        j                  ddt        g d¢«      ¬«      dg«       dg}| j                  t        j                  dd|¬«      j                  «       d«       ddg}| j                  t        j                  dd|¬«      j                  «       d«       dg}| j                  t        j                  dd|¬«      j                  «       d«       dg}| j                  t        j                  dd|¬«      j                  «       d «       | j                  t        j                  dd!|¬«      j                  «       d «       | j                  t        j                  d"d#«      j                  «       d$«       | j                  t        j                  d"d%«      j                  «       d$«       | j                  t        j                  d&d'g ¬«      j                  «       d(«       y ))N)ÚoneÚtwoÚthreez333\L<bar>444Ú	333one444)rÉ  z(?i)333\L<bar>444Ú	333TWO444Ú
333four444)s   ones   twos   threes   333\L<bar>444s	   333one444s   (?i)333\L<bar>444s	   333TWO444s
   333four444z3\L<bar>4\L<bar>+5z^\L<options>zsolid QWERT)ÚgoodÚ	brilliantz	+s\ol[i}drf  z+solid QWERT)r»  r¼  ú+solidr½  ÚSTRASSEú(?fi)\L<words>u   straÃŸe©Úwordsrh  Ústress©r   rc   Úkitz(?i)\L<words>ÚSKITSr�  u   SKÄ°TSz(?fi)\b(\w+) +\1\bu    straÃŸe STRASSE )r:   r¢  u    STRASSE straÃŸe z^\L<options>$rÉ   r6   )r)   r-   rB   r¼   r‚   r"   r.   rƒ   r/   r]  rA   r@   )r   rg  s     r   Útest_named_listszRegexTests.test_named_listsþ	  s  € Ú)ˆØ×ÑœŸ™Ð%5°{Øôß‘u“w ô	-à×ÑœŸ™Ð%9¸;Øôß‘u“w ô	-à×ÑœŸ™Ð%5°|ØôØô	ò -ˆØ×ÑœŸ™Ð%6¸Øôß‘u“w ô	.à×ÑœŸ™Ð%:¸LØôß‘u“w ô	.à×ÑœŸ™Ð%6¸ØôØô	ð 	×Ñœœd¤5§=¡=Ð1FÚ%ô$'ó (ó )Ø*.×*<Ñ*<ô	>ð 	×ÑœŸ™ ¸ÜÒ9Ó:ô<Ø=?ô	Aà×ÑœŸ™ ¸ÜÒ5Ó6ô8Ø:B¸ô	Eð �+ˆØ×ÑœŸ™Ð%6Ø
/°wô@ß@DÁÃð Iô	ð ˜hÐ'ˆØ×ÑœŸ™Ð%6Ø
/°wô@ß@DÁÃð Iô	ð 9Ð9ˆØ×ÑœŸ™Ð%6¸	Øôß™› ô	)ð �'ˆØ×ÑœŸ™Ð&6¸Øôß™› ô	)à×ÑœŸ™Ð&6Ø
9Øôç™› ô	)ð 	×ÑœŸ™Ð&;Ø
9ó;ß;?¹4»6À7ô	Là×ÑœŸ™Ð&;Ø
9ó;ß;?¹4»6À7ô	Lð 	×ÑœŸ™Ð&6¸ÀBÔG×LÑLÓNØ
õ	r   c           	      ó   — | j                  t        t        t        j                  d«      «      «      | j
                  «       | j                  t        t        t        j                  d«      «      «      | j
                  «       | j                  t        t        t        j                  d«      «      «      | j
                  «       | j                  t        t        t        j                  d«      «      «      | j
                  «       | j                  t        t        t        j                  d«      «      «      | j
                  «       | j                  t        t        t        j                  d«      «      «      | j
                  «       d}| j                  t        j                  d|«      d «       | j                  t        j                  d	|«      j                  d
d«      d«       | j                  t        j                  d|«      d «       | j                  t        j                  d|«      d
   d«       | j                  t        j                  d|«      d
   d«       d}| j                  t        j                  d|«      j                  d
d«      d«       | j                  t        j                  d|«      j                  d
d«      d«       | j                  t        j                  d|«      j                  d
d«      d«       | j                  t        j                  d|«      j                  d
d«      d«       | j                  t        j                  d|«      j                  d
d«      d«       | j                  t        j                  d|«      j                  d
d«      d«       | j                  t        t        t        j                  d«      «      «      | j
                  «       | j                  t        j                  dd«      j                  d
d«      d«       | j                  t        j                  dd«      j                  d
d«      d «       | j                  t        j                  d!d«      j                  d
d«      d"«       | j                  t        j                  d#d$«      j                  d
d«      d%«       | j                  t        j                  d#d&«      d «       | j                  t        j                  d'd(«      j                  d
d«      d)«       | j                  t        j                  d*d+«      j                  d
d«      d,«       | j                  t        j                  d*d-«      j                  d
d«      d«       | j                  t        j                  d.d-«      j                  d
d«      d/«       | j                  t        j                  d0d1«      j                  d
d«      d«       | j                  t        j                  d0d2«      j                  d
d«      d3«       | j                  t        j                  d0d4«      j                  d
d«      d3«       | j                  t        j                  d0d5«      j                  d
d«      d3«       | j                  t        j                  d0d6«      j                  d
d«      d«       | j                  t        j                  d0d7«      j                  d
d«      d«       | j                  t        j                  d0d8«      j                  d
d«      d«       | j                  t        j                  d0d9«      j                  d
d«      d:«       | j                  t        j                  d0d;«      j                  d
d«      d:«       | j                  t        j                  d0d<«      j                  d
d«      d:«       | j                  t        j                  d0d=«      d «       | j                  t        j                  d0d>«      d «       | j                  t        j                  d0d?«      d «       | j                  t        j                  d0d@«      d «       | j                  t        j                  d0dA«      d «       | j                  t        j                  dBdC«      j                  d
d«      dD«       | j                  t        j                  dEdC«      j                  d
d«      dF«       | j                  t        j                  dGdH«      j                  d
d«      dI«       | j                  t        j                  dGdJ«      d «       | j                  t        j                  dGdK«      j                  d
d«      dL«       dM}| j                  t        j                  dN|«      j                  d
d«      dO«       | j                  t        j                  dP|«      j                  d
d«      dQ«       | j                  t        j                  dR|«      j                  d
d«      dS«       | j                  t        j                  dTdUdVj                  «       ¬W«      dXdYg«       | j                  t        j                  dTdZdVj                  «       ¬W«      d[dXg«       | j                  t        j                  d\dZdVj                  «       ¬W«      dYdXg«       | j                  t        j                  d]dUdVj                  «       ¬W«      d^dXg«       | j                  t        j                  d_dUdVj                  «       ¬W«      dYdXg«       | j                  t        j                  d]dZdVj                  «       ¬W«      dXdYg«       | j                  t        j                  d`dadbj                  «       ¬W«      dcddg«       | j                  t        j                  d`dedbj                  «       ¬W«      dfdcg«       | j                  t        j                  dgdedbj                  «       ¬W«      dddcg«       | j                  t        j                  dhdadbj                  «       ¬W«      didcg«       | j                  t        j                  djdadbj                  «       ¬W«      dddcg«       | j                  t        j                  dhdedbj                  «       ¬W«      dcddg«       | j                  t        j                  dkdl«      j                  «       dm«       | j                  t        j                  dndl«      j                  «       dm«       | j                  t        j                  dodp«      j                  «       dq«       | j                  t        j                  drds«      dsdtg«       | j                  t        j                  dudv«      dvdtg«       | j                  t        j                  dwdx«      j                  «       dy«       | j                  t        j                  dwdz«      j                  «       d{«       | j                  t        j                  dwd|«      j                  «       d}«       | j                  t        j                  dwd~«      d «       | j                  t        j                  dwd«      j                  «       d€«       | j                  t        j                  d�d‚«      j                  dƒ«       | j                  t        j                  d„d‚«      j                  d…«       | j                  t        j                  d†d‡«      j                  dˆ«       | j                  t        j                  d‰d‡«      j                  d…«       | j                  t        j                  dŠd‹«      j                  dŒ«       | j                  t        j                  d�dŽ«      j                  g d�¢d�gg f«       | j                  t        t        j                  d‘d’«      «      d“«       y )”Nz(fou){s,e<=1}z(fuu){s}z
(fuu){s,e}z(anaconda){1i+1d<1,s<=1}z(anaconda){1i+1d<1,s<=1,e<=10}z(anaconda){s<=1,e<=1,1i+1d<1}z-molasses anaconda foo bar baz smith anderson z(znacnda){s<=1,e<=3,1i+1d<1}z(znacnda){s<=1,e<=3,1i+1d<2}r   r:   )©r^   é   rÈ  z(ananda){1i+1d<2}z(?:\bznacnda){e<=2}Úanacondaz(?:\bnacnda){e<=2}z#anaconda foo bar baz smith andersonz(fuu){i<=3,d<=3,e<=5})r6   r6   z(?b)(fuu){i<=3,d<=3,e<=5})©r^   r_   rË  z(fuu){i<=2,d<=2,e<=5})©rc   r_   rÌ  z(?e)(fuu){i<=2,d<=2,e<=5}z(fuu){i<=3,d<=3,e}z(?b)(fuu){i<=3,d<=3,e}z(approximate){s<=3,1i+1d<3}z(foobar){e}Úxirefoabralfobarxie)rh  rh  z(?e)(foobar){e})r>   r>   z(?b)(foobar){e})©r`   r�  rÎ  z(foobar){e<=2}Úxirefoabrzlfd)©rÕ   r^   rÐ  Úxirefoabzlfdz(foobar){i<=2,s<=2,e<=2}Úoobargoobaploowap)©r¦  r`   rÓ  z\b(foobar){e}\bÚzfoobarz)©r   rd  rÕ  zboing zfoobarz goobar woopz(?b)\b(foobar){e}\b)©r¢  r   rÖ  z^(foobar){e<=1}$ÚfoobarÚxfoobar)rÃ  rÃ  ÚfoobarxÚfooxbarÚfoxbarÚxoobarÚfoobaxÚoobar)©r   r¦  rß  ÚfobarÚfoobaÚxfoobarxÚfoobarxxÚxxfoobarÚxfoxbarÚfoxbarxz (foobar){i<=1,d<=2,s<=3,2d+1s<4}Ú(3oifaowefbaoraofuiebofasebfaobfaorfeoaro)©r-  ra   rè  z$(?b)(foobar){i<=1,d<=2,s<=3,2d+1s<4})©é"   é'   ré  zfoo(bar){e<=1}zapÚ	foobarzap)©r   r^   ©r;   r-  ÚfobarzapÚfoobrzap)rÕ  ©r;   r¦  zxwww.cnn.com 64.236.16.20
www.slashdot.org 66.35.250.150
For useful information, use www.slashdot.org
this is demo data!
z(?s)^.*(dot.org){e}.*$)©r   éx   )ró  ró  z(?es)^.*(dot.org){e}.*$)rò  )é]   éd   z^.*(dot.org){e}.*$))r   éw   )é   ée   z\b\L<words>{e<=1}\bz book cot dog desk zcat dogrÀ  ÚcotÚdogz book dog cot desk z dogz(?e)\b\L<words>{e<=1}\bz(?r)\b\L<words>{e<=1}\bzdog z(?er)\b\L<words>{e<=1}\bs   \b\L<words>{e<=1}\bs    book cot dog desk s   cat dogs   cots   dogs    book dog cot desk s    dogs   (?e)\b\L<words>{e<=1}\bs   (?r)\b\L<words>{e<=1}\bs   dog s   (?er)\b\L<words>{e<=1}\bz(\w+) (\1{e<=1})zfoo fou)rÇ  Úfouz(?r)(\2{e<=1}) (\w+)s   (\w+) (\1{e<=1})s   foo fou)s   foos   fouz(?:(?:QR)+){e}rs  rÉ   z	(?:Q+){e}r»   z(?:service detection){0<e<5}zservic detection)r   r�  zservice detect)r   r¨  zservice detecti)r   r¢  zservice detectionzin service detection)r   é   ú(?:cats|cat){e<=1}Úcat©r   r   r:   ú(?e)(?:cats|cat){e<=1}©r   r   r   z(?:cat|cats){e<=1}Úcats©r   r:   r   z(?e)(?:cat|cats){e<=1}z(?:cat){e<=1} (?:cat){e<=1}zcat cot©r:   r   r   z/(?e)(GTTTTCATTCCTCATA){i<=4,d<=4,s<=4,i+d+s<=8}ÚATTATTTATTTTTCATA)r   r-  r_   r`   r;   z(?:fo){e<=1}|(?:fo){e<=2}ÚFOT)r)   r‚   r"   r-   r.   rƒ   r@   rA   r/   rê   r5  rB   Ú	fullmatchÚfuzzy_countsÚfuzzy_changesr(  rÈ  s     r   Ú
test_fuzzyzRegexTests.test_fuzzy4
  sU  € à×Ñœœd¤5§=¡=°Ó#AÓBÓCØ
×
Ñ
ô	à×Ñœœd¤5§=¡=°Ó#<Ó=Ó>Ø
×
Ñ
ô	à×Ñœœd¤5§=¡=°Ó#>Ó?Ó@Ø
×
Ñ
ô	à×Ñœœd¤5§=¡=Ð1KÓ#LÓMÓNØ
×
Ñ
ô	à×Ñœœd¤5§=¡=Ð1QÓ#RÓSÓTØ
×
Ñ
ô	à×Ñœœd¤5§=¡=Ð1PÓ#QÓRÓSØ
×
Ñ
ô	ð ?ˆØ×ÑœŸ™Ð&DÀdÓKØ
ô	à×ÑœŸ™Ð&DØ
óß‘�Q˜“
Ð.ô	0à×ÑœŸ™Ð&9¸4Ó@À$ÔGØ×ÑœŸ™Ð&<¸dÓCÀAÑFØ
ô	à×ÑœŸ™Ð&;¸TÓBÀ1ÑEØ
ô	ð 5ˆØ×ÑœŸ™Ð&=¸tÓD×IÑIÈ!Ø
óØô	 à×ÑœŸ™Ð&AØ
óß‘�Q˜“
Ð.ô	0à×ÑœŸ™Ð&=¸tÓD×IÑIÈ!Ø
óØ ô	"à×ÑœŸ™Ð&AØ
óß‘�Q˜“
Ð.ô	0à×ÑœŸ™Ð&:¸DÓA×FÑFÀqÈ!ÓLØ
ô	à×ÑœŸ™Ð&>ÀÓE×JÑJÈ1Ø
óØ ô	"ð 	×Ñœœd¤5§=¡=Ð1NÓ#OÓPÓQØ
×
Ñ
ô	ð 	×ÑœŸ™ mØ
ó!ß!%¡ a¨£Ð-=ô	?à×ÑœŸ™Ð&7Ø
ó!ß!%¡ a¨£Ð-=ô	?à×ÑœŸ™Ð&7Ø
ó!ß!%¡ a¨£Ð-Aô	Cð 	×ÑœŸ™Ð&6Ø
óß™4  1›:Ð'7ô	9à×ÑœŸ™Ð&6¸ÓGÈÔNð 	×ÑœŸ™Ð&@Ø
óß#™t A q›zÐ+=ô	?ð 	×ÑœŸ™Ð&9¸:ÓF×KÑKÈAØ
óØô	 à×ÑœŸ™Ð&9Ø
&ó(ß(,©¨Q°«
Ð4Dô	Fà×ÑœŸ™Ð&=Ø
&ó(ß(,©¨Q°«
Ð4Hô	Jð 	×ÑœŸ™Ð&8¸(ÓC×HÑHÈÈAÓNØ
ô	à×ÑœŸ™Ð&8¸)ÓD×IÑIÈ!Ø
óØô	 à×ÑœŸ™Ð&8¸)ÓD×IÑIÈ!Ø
óØô	 à×ÑœŸ™Ð&8¸)ÓD×IÑIÈ!Ø
óØô	 à×ÑœŸ™Ð&8¸(ÓC×HÑHÈÈAÓNØ
ô	à×ÑœŸ™Ð&8¸(ÓC×HÑHÈÈAÓNØ
ô	à×ÑœŸ™Ð&8¸(ÓC×HÑHÈÈAÓNØ
ô	à×ÑœŸ™Ð&8¸'ÓB×GÑGÈÈ1ÓMØ
ô	à×ÑœŸ™Ð&8¸'ÓB×GÑGÈÈ1ÓMØ
ô	à×ÑœŸ™Ð&8¸'ÓB×GÑGÈÈ1ÓMØ
ô	à×ÑœŸ™Ð&8¸*ÓEÀtÔLØ×ÑœŸ™Ð&8¸*ÓEÀtÔLØ×ÑœŸ™Ð&8¸*ÓEÀtÔLØ×ÑœŸ™Ð&8¸)ÓDÀdÔKØ×ÑœŸ™Ð&8¸)ÓDÀdÔKð
 	×ÑœŸ™Ð&HØ
4ó6ß6:±d¸1¸a³jð Cô	ð 	×ÑœŸ™Ð&LØ
4ó6ß6:±d¸1¸a³jð Cô	ð
 	×ÑœŸ™Ð&9¸;ÓG×LÑLÈQØ
óØô	 à×ÑœŸ™Ð&9¸:ÓFÈÔMØ×ÑœŸ™Ð&9¸:ÓF×KÑKÈAØ
óØô	 ðOˆà×ÑœŸ™Ð&?ÀÓF×KÑKÈAØ
óØ$ô	&à×ÑœŸ™Ð&@À$ÓG×LÑLÈQØ
óØ#ô	%à×ÑœŸ™Ð&;¸TÓB×GÑGÈÈ1ÓMØ
ô	!ð
 	×ÑœŸ™Ð'=Ø
 y§¡Ó'8ô:Ø<AÀ5¸>ô	Kà×ÑœŸ™Ð'=Ø
 y§¡Ó'8ô:Ø<BÀE¸?ô	Là×ÑœŸ™Ð'AØ
 y§¡Ó'8ô:Ø<AÀ5¸>ô	Kà×ÑœŸ™Ð'AØ
 y§¡Ó'8ô:Ø<BÀE¸?ô	Là×ÑœŸ™Ð'BØ
 y§¡Ó'8ô:Ø<AÀ5¸>ô	Kà×ÑœŸ™Ð'AØ
 y§¡Ó'8ô:Ø<AÀ5¸>ô	Kà×ÑœŸ™Ð'>Ø
 ¨
×(8Ñ(8Ó(:ô<Ø>DÀfÐ=Mô	Oà×ÑœŸ™Ð'>Ø
 ¨
×(8Ñ(8Ó(:ô<Ø>EÀvÐ=Nô	Pà×ÑœŸ™Ð'BØ
 ¨
×(8Ñ(8Ó(:ô<Ø>DÀfÐ=Mô	Oà×ÑœŸ™Ð'BØ
 ¨
×(8Ñ(8Ó(:ô<Ø>EÀvÐ=Nô	Pà×ÑœŸ™Ð'CØ
 ¨
×(8Ñ(8Ó(:ô<Ø>DÀfÐ=Mô	Oà×ÑœŸ™Ð'BØ
 ¨
×(8Ñ(8Ó(:ô<Ø>DÀfÐ=Mô	Oð 	×ÑœŸ™Ð&9¸9ÓE×LÑLÓNØ
ô	à×ÑœŸ™Ð&=Ø
óß‘V“X˜~ô	/à×ÑœŸ™Ð&:Ø
óß‘f“hÐ 0ô	2ð 	×ÑœŸ™Ð'8¸'ÓBÀWØ
ðEô 	à×ÑœŸ™ |°UÓ;¸eÀR¸[ÔIð 	×ÑœŸ™Ð%DØ
óß"™d›f gô	/à×ÑœŸ™Ð%DØ
óß ™D›F Gô	-à×ÑœŸ™Ð%DØ
óß!™T›V Wô	.à×ÑœŸ™Ð%DØ
óØ $ô	&à×ÑœŸ™Ð%DØ
 ó"ß"&¡$£&¨'ô	3ð 	×ÑœŸ™Ð)>Ø
óß‘˜yô	*à×ÑœŸ™Ð)BØ
óß‘˜yô	*ð 	×ÑœŸ™Ð)>Ø
óß‘, 	ô	+à×ÑœŸ™Ð)BØ
óß‘, 	ô	+ð 	×ÑœŸ™Ð)GØ
óß!‘\ 9ô	.ð 	×ÑœŸ™Ð&XØ
óß,™}ª~À¸sÀBÐ.Gô	Ið 	×ÑœœeŸk™kÐ*EÀtÓLÓMØ
õ	r   c                 ó²
  — | j                  t        j                  dd«      d d  d«       | j                  t        j                  dd«      d d  d«       | j                  t        j                  dd«      d d  d«       | j                  t        j                  dd«      d d  d	«       | j                  t        j                  dd
«      d d  d«       | j                  t        j                  dd«      d «       | j                  t        j                  dd«      d d  d«       | j                  t        j                  dd«      d d  d«       | j                  t        j                  dd«      d d  d«       | j                  t        j                  dd«      d d  d«       | j                  t        j                  dd
«      d d  d«       | j                  t        j                  dd«      d «       | j                  t        j                  dd«      d d  d«       | j                  t        j                  dd«      j                  d«      g d¢«       | j                  t        j                  dd«      d d  d«       | j                  t        j                  dd«      j                  d«      g d¢«       | j                  t        j                  dd«      d d  d«       | j                  t        j                  dd«      d d  d«       | j                  t        j                  d d!«      d d  d"«       | j                  t        j                  d#d!«      d d  d"«       t        j                  d$«      }| j                  t        |j                  d%«      «      d&«       | j                  t        |j                  d'«      «      d(«       | j                  t        |j                  d)«      «      d&«       | j                  t        |j                  d*«      «      d(«       | j                  t        |j                  d+«      «      d(«       | j                  t        |j                  d,«      «      d(«       | j                  t        |j                  d-«      «      d&«       | j                  t        |j                  d.«      «      d&«       | j                  t        |j                  d/«      «      d(«       | j                  t        |j                  d0«      «      d&«       | j                  t        |j                  d1«      «      d&«       | j                  t        |j                  d2«      «      d&«       y )3Nz(\w)(?:(?R)|(\w?))\1rY   )rY   r%   rÉ   rû   )rû   r\   rª   Úabba)r  r\   NÚkayak)r  rñ  NÚpaper)Úpapr  r\   Údontmatchmez(?r)\2(?:(\w?)|(?R))(\w))rY   rÉ   r%   )rû   rª   r\   )r  Nr\   )r  Nrñ  )r  r\   r  z\(((?>[^()]+)|(?R))*\)ú
(ab(cd)ef))r  r€  r:   )r  r  ú(cd)r€  z(?r)\(((?R)|(?>[^()]+))*\))r  r  )r€  r  r  r  z\(([^()]+|(?R))*\)zsome text (a(b(c)d)e) more text)ú(a(b(c)d)e)rO  z(?r)\(((?R)|[^()]+)*\))r  r\   z!(foo(\(((?:(?>[^()]+)|(?2))*)\)))úfoo(bar(baz)+baz(bop)))r  r  z(bar(baz)+baz(bop))zbar(baz)+baz(bop)z%(?r)(foo(\(((?:(?2)|(?>[^()]+))*)\)))zv^\s*(<\s*([a-zA-Z:]+)(?:\s*[a-zA-Z:]*\s*=\s*(?:'[^']*'|"[^"]*"))*\s*(/\s*)?>(?:[^<>]*|(?1))*(?(3)|<\s*/\s*\2\s*>))\s*$z<foo><bar></bar></foo>Tz<foo><bar></foo></bar>Fz<foo><bar/></foo>z<foo><bar></foo>z<foo bar=baz/>z<foo bar="baz">z<foo bar="baz"/>z<    fooo   /  >z	foo<foo/>z<foo>foo</foo>z<foo><bar/>foo</foo>z<a><b><c></c></b></a>)r)   r-   r@   r�  r.   r(  )r   Úrgxs     r   Útest_recursivezRegexTests.test_recursiveõ
  s¢  € Ø×ÑœŸ™Ð&=¸tÓDÁaÐIØ
ô	à×ÑœŸ™Ð&=¸uÓEÁqÐJØ
ô	à×ÑœŸ™Ð&=¸vÓFÉÐKØ
ô	à×ÑœŸ™Ð&=¸wÓGÉÐLØ
ô	 à×ÑœŸ™Ð&=¸wÓGÉÐLØ
ô	à×ÑœŸ™Ð&=¸}ÓMØ
ô	ð 	×ÑœŸ™Ð&AÀ4ÓHÉ!ÐMØ
ô	à×ÑœŸ™Ð&AÀ5ÓIÉ1ÐNØ
ô	à×ÑœŸ™Ð&AÀ6ÓJÉAð Ø ô	"à×ÑœŸ™Ð&AÀ7ÓKÉQð Ø!ô	#à×ÑœŸ™Ð&AÀ7ÓKÉQð Øô	 à×ÑœŸ™Ð&AØ
óØô	 ð 	×ÑœŸ™Ð&?ÀÓNÙ
ðØ#ô	%à×ÑœŸ™Ð&?Ø
óß ™ ›Ò%?ô	Að 	×ÑœŸ™Ð&CØ
óÙðØ2ô	4à×ÑœŸ™Ð&CØ
óß ™ ›Ò%?ô	Að 	×ÑœŸ™Ð&;Ø
+ó-Ù./ð2Ø3Gô	Ið 	×ÑœŸ™Ð&?Ø
+ó-Ù./ð2Ø3Gô	Ið 	×ÑœŸ™Ð&JØ
"ó$Ù%&ð)ð+ô	 ð
 	×ÑœŸ™Ð&NØ
"ó$Ù%&ð)ð+ô	 ô
 �m‰mð  Zó  [ˆØ×Ñœ˜cŸj™jÐ)AÓBÓCÀTÔJØ×Ñœ˜cŸj™jÐ)AÓBÓCÀUÔKØ×Ñœ˜cŸj™jÐ)<Ó=Ó>ÀÔEØ×Ñœ˜cŸj™jÐ);Ó<Ó=¸uÔEØ×Ñœ˜cŸj™jÐ)9Ó:Ó;¸UÔCà×Ñœ˜cŸj™jÐ):Ó;Ó<¸eÔDØ×Ñœ˜cŸj™jÐ);Ó<Ó=¸tÔDØ×Ñœ˜cŸj™jÐ);Ó<Ó=¸tÔDð 	×Ñœ˜cŸj™j¨Ó5Ó6¸Ô>à×Ñœ˜cŸj™jÐ)9Ó:Ó;¸TÔBØ×Ñœ˜cŸj™jÐ)?Ó@ÓAÀ4ÔHØ×Ñœ˜cŸj™jÐ)@ÓAÓBÀDÕIr   c                 óð  — t        j                  d«      }| j                  t        j                  |«      |u «       | j                  t        j                  |«      |u «       |j                  d«      }| j                  t        j                  |«      |u«       | j                  t        j                  |«      |u«       | j                  |j                  d u«       t        j                  |«      }|j                  «        | j                  |j                  d u«       | j                  |j                  d u «       t        j                  dd«      }t        j                  |«      }| j                  t        |«      j                  «       d«       | j                  t        |«      j                  «       d«       t        j                  dd«      }t        j                  |«      }| j                  t        |«      j                  «       d«       | j                  t        |«      j                  «       d«       t        j                  dd«      }t        j                  |«      }| j                  t        |«      d«       | j                  t        |«      d«       t        j                  dd«      }t        j                  |«      }| j                  t        |«      d«       | j                  t        |«      d«       y )Nr\   rP   r  rª   rç   rP  )r-   r.   Ú
assertTrueÚcopyÚdeepcopyrB   r9  Údetach_stringrà  r)   rï  r¼   rë   )r   ÚrrU   Úm2rá  Úit2s         r   Ú	test_copyzRegexTests.test_copy<  s  € ä�M‰M˜#ÓˆØ�‰œŸ	™	 !›¨Ð)Ô*Ø�‰œŸ™ aÓ(¨AÐ-Ô.ð
 �G‰G�C‹LˆØ�‰œŸ	™	 !›¨AÐ-Ô.Ø�‰œŸ™ aÓ(°Ð1Ô2à�‰˜Ÿ™¨Ð,Ô-Ü�Y‰Y�q‹\ˆØ
×ÑÔØ�‰˜Ÿ™¨Ð,Ô-Ø�‰˜Ÿ	™	 TÐ)Ô*ô �^‰^˜C Ó&ˆÜ�i‰i˜‹mˆØ×Ñœ˜b›Ÿ™Ó)¨3Ô/Ø×Ñœ˜c›Ÿ™Ó*¨CÔ0ô �^‰^˜C Ó&ˆÜ�m‰m˜BÓˆØ×Ñœ˜b›Ÿ™Ó)¨3Ô/Ø×Ñœ˜c›Ÿ™Ó*¨CÔ0ô �_‰_˜S %Ó(ˆÜ�i‰i˜‹mˆØ×Ñœ˜b› 3Ô'Ø×Ñœ˜c› CÔ(ô �_‰_˜S %Ó(ˆÜ�m‰m˜BÓˆØ×Ñœ˜b› 3Ô'Ø×Ñœ˜c› CÕ(r   c                 ó¦  — | j                  t        j                  ddd«      d«       | j                  t        j                  ddd«      d«       | j                  t        j                  ddd«      d«       | j                  t        j                  ddd«      d	«       | j                  t        j                  dd«      j                  d«      d«       y )
Nr†  z{0} => {2} {1}rz  úfoo bar => bar fooz(?<word1>\w+) (?<word2>\w+)z{word2} {word1}úbar foo)r!  r:   )r"  r:   )r)   r-   ÚsubfÚsubfnrB   ÚexpandfrC   s    r   Útest_formatzRegexTests.test_formatg  sÃ   € Ø×ÑœŸ™ NÐ4DØ
óØ*ô	,à×ÑœŸ™Ð$BØ
˜Yó(Ø)2ô	4ð 	×ÑœŸ™ ^Ð5EØ
óØ/ô	1à×ÑœŸ™Ð%CØ
˜Yó(Ø)7ô	9ð 	×ÑœŸ™ ^Ø
óß‘WÐ-Ó.Ð0Dõ	Fr   c           
      ó�  — | j                  t        t        j                  dd«      «      d«       | j                  t        t        j                  dd«      «      d«       | j                  t        t        j                  ddd¬«      «      d«       | j                  t        t        j                  ddd¬	«      «      d«       | j                  t        t        j                  dd
d¬	«      «      d«       | j                  t        t        j                  dd
dd¬«      «      d«       | j                  t        t        j                  dd«      «      d«       | j                  t        t        j                  dd«      «      d«       | j                  t        t        j                  ddd¬«      «      d«       | j                  t        t        j                  ddd¬	«      «      d«       | j                  t        t        j                  dd
d¬	«      «      d«       | j                  t        t        j                  dd
dd¬«      «      d«       y )Nr»   Tr'  Fr;   )r8  Úxabcr:   )r7  rø  rÕ   rƒ  z(?r)abc©r)   r(  r-   r  rC   s    r   Útest_fullmatchzRegexTests.test_fullmatchu  s³  € Ø×ÑœœeŸo™o¨f°eÓ<Ó=¸tÔDØ×ÑœœeŸo™o¨f°fÓ=Ó>ÀÔFØ×ÑœœeŸo™o¨f°fÀQÔGÓHÈ$ÔOà×ÑœœeŸo™o¨f°fÀ!ÔDÓEÀtÔLØ×ÑœœeŸo™o¨f°gÀ1ÔEÓFÈÔNØ×ÑœœeŸo™o¨f°gÀ1Øôó Øô	ð 	×ÑœœeŸo™o¨j¸%Ó@ÓAÀ4ÔHØ×ÑœœeŸo™o¨j¸&ÓAÓBÀEÔJØ×ÑœœeŸo™o¨j¸&ÈÔKÓLØ
ô	ð 	×ÑœœeŸo™o¨j¸&ÀaÔHÓIØ
ô	à×ÑœœeŸo™o¨j¸'ÀqÔIÓJØ
ô	à×ÑœœeŸo™o¨j¸'ÀqØôó Øõ	r   c           	      ó0  — | j                  t        j                  ddd«      d«       | j                  t        j                  dt        d«      t        d«      «      d«       | j                  t        j                  ddd«      d«       | j                  t        j                  dt	        d«      t	        d«      «      d«       | j                  t        j                  dt        d«      t        d«      «      d«       | j                  t        j                  dt        d«      t        d«      «      d«       d	t        d	«      fD ]Þ  }| j                  t        j                  d
|«      g d¢«       t        j                  dk\  rQ| j                  t        j                  d|«      g d¢«       | j                  t        j                  d|«      g d¢«       Œ�| j                  t        j                  d|«      g d¢«       | j                  t        j                  d|«      g d¢«       Œà dt	        d«      t        d«      t        d«      fD ]Þ  }| j                  t        j                  d|«      g d¢«       t        j                  dk\  rQ| j                  t        j                  d|«      g d¢«       | j                  t        j                  d|«      g d¢«       Œ�| j                  t        j                  d|«      g d¢«       | j                  t        j                  d|«      g d¢«       Œà dt        d«      fD ]z  }| j                  t        j                  d|«      g d¢«       | j                  t        j                  d|«      g d¢«       | j                  t        j                  d |«      g d!¢«       Œ| d"t	        d"«      t        d"«      t        d"«      fD ]z  }| j                  t        j                  d#|«      g d$¢«       | j                  t        j                  d%|«      g d$¢«       | j                  t        j                  d&|«      g d'¢«       Œ| dt        d«      fD �]  }| j                  t        j                  d|«      j                  «       d(«       | j                  t        j                  d)|«      j                  «       d*«       | j                  t        j                  d)|«      j                  d+«      d«       | j                  t        j                  d)|«      j                  d,«      d«       | j                  t        j                  d)|«      j                  d,d,«      d-«       �Œ dt	        d«      t        d«      t        d«      fD �]  }| j                  t        j                  d|«      j                  «       d(«       | j                  t        j                  d.|«      j                  «       d/«       | j                  t        j                  d.|«      j                  d+«      d«       | j                  t        j                  d.|«      j                  d,«      d«       | j                  t        j                  d.|«      j                  d,d,«      d0«       �Œ y )1Nr&   r\   r£   Úxazó   yrF  s   xyzs   xazrÛ   rÚ   rÜ   r²   rÞ   rß   rà   rá   rã   rä   s   :a:b::có   :)r   rF  r  r   r  s   :*)r   r   rF  r   r  r   r  r   s   (:*))r   r.  r   r   rF  r.  r   r   r  ó   ::r   r   r  r   r   )r   rF  r  r  )r   r.  rF  r.  r  r/  r  ró   rò   rô   rõ   rö   r÷   s
   a:b::c:::ds   :+)r.  r/  s   :::s   (:+)s   (:)(:*)))r.  r   )r.  r.  )r.  r/  rS   r   rÿ   r   r:   r  s   (a))rF  )rF  rF  )r*   r-   rj   r   r   Ú	bytearrayÚ
memoryviewrê   r¶   r·   r/   r)   rB   r5  r¼   )r   r9  s     r   Útest_issue_18468zRegexTests.test_issue_18468‹  sY  € Ø×ÑœeŸi™i¨¨S°%Ó8¸%Ô@Ø×ÑœeŸi™i¨¬[¸Ó-=Ü
�eÓ
óØ$ô	&à×ÑœeŸi™i¨¨d°FÓ;¸VÔDØ×ÑœeŸi™i¨¬m¸DÓ.AÜ
˜Ó
ó!Ø"(ô	*à×ÑœeŸi™i¨¬i¸«oÜ
�FÓ
óØ$ô	&à×ÑœeŸi™i¨¬j¸Ó.>Ü
�VÓ
óØ%ô	'ð  ¤¨YÓ!7Ó7ˆFØ×!Ñ!¤%§+¡+¨c°6Ó":ò =ô ä×Ñ 9Ò,Ø×%Ñ%¤e§k¡k°$¸Ó&?ò B(ô )à×%Ñ%¤e§k¡k°&¸&Ó&Aò DLõ Mð ×%Ñ%¤e§k¡k°$¸Ó&?ò Bô à×%Ñ%¤e§k¡k°&¸&Ó&Aò D,õ -ð 8ð "¤=°Ó#<Ü
�JÓ
¤¨JÓ!7ó9ˆFà×!Ñ!¤%§+¡+¨d°FÓ";ò >ô ä×Ñ 9Ò,Ø×%Ñ%¤e§k¡k°%¸Ó&@ò C3ô 4à×%Ñ%¤e§k¡k°'¸6Ó&Bò Eõ ð ×%Ñ%¤e§k¡k°%¸Ó&@ò Cô à×%Ñ%¤e§k¡k°'¸6Ó&Bò E1õ 2ð9ð  #¤K°Ó$=Ó=ˆFØ×!Ñ!¤%§-¡-°°fÓ"=ò @ô à×!Ñ!¤%§-¡-°¸Ó"?ò Bô à×!Ñ!¤%§-¡-°	¸6Ó"Bò E'õ (ð >ð %¤m°MÓ&BÜ
�MÓ
"¤J¨}Ó$=ó?ˆFà×!Ñ!¤%§-¡-°°vÓ">ò Aô à×!Ñ!¤%§-¡-°¸Ó"@ò Cô à×!Ñ!¤%§-¡-°
¸FÓ"Cò F1õ 2ð?ð œ; sÓ+Ô+ˆFØ×ÑœUŸ[™[¨¨fÓ5×<Ñ<Ó>ÀÔCØ×ÑœUŸ[™[¨°Ó7×>Ñ>Ó@À&ÔIØ×ÑœUŸ[™[¨°Ó7×=Ñ=¸aÓ@À#ÔFØ×ÑœUŸ[™[¨°Ó7×=Ñ=¸aÓ@À#ÔFØ×ÑœUŸ[™[¨°Ó7×=Ñ=¸aÀÓCð Fö ð ,ð œ]¨4Ó0´)¸D³/Ü
�TÓ
ôˆFà×ÑœUŸ[™[¨¨vÓ6×=Ñ=Ó?ÀÔDØ×ÑœUŸ[™[¨°Ó8×?Ñ?ÓAÀ7ÔKØ×ÑœUŸ[™[¨°Ó8×>Ñ>¸qÓAÀ4ÔHØ×ÑœUŸ[™[¨°Ó8×>Ñ>¸qÓAÀ4ÔHØ×ÑœUŸ[™[¨°Ó8×>Ñ>¸qÀ!ÓDð Gö ñr   c                 óh
  — | j                  t        j                  ddd¬«      j                  d«       | j                  t        j                  ddd¬«      j	                  «       d«       | j                  t        j                  ddd¬«      j                  d«       | j                  t        j                  ddd¬«      j	                  «       d«       | j                  t        j                  dd	d¬«      d «       | j                  t        j                  d
dd¬«      j                  d«       | j                  t        j                  d
dd¬«      j	                  «       d«       | j                  t        j                  d
dd¬«      j                  d«       | j                  t        j                  d
dd¬«      j	                  «       d«       | j                  t        j                  ddd¬«      j                  d«       | j                  t        j                  ddddg¬«      j                  d«       | j                  t        j                  ddddg¬«      j	                  «       d«       | j                  t        j                  ddddg¬«      j                  d«       | j                  t        j                  ddddg¬«      j	                  «       d«       | j                  t        j                  ddddg¬«      j                  d«       | j                  t        j                  ddddg¬«      j	                  «       d«       | j                  t        j                  ddddg¬«      j                  d«       | j                  t        j                  ddddg¬«      j	                  «       d«       | j                  t        j                  ddddg¬«      d «       | j                  t        j                  ddd¬«      j	                  «       d«       | j                  t        j                  ddd¬«      j	                  «       d«       | j                  t        j                  ddd¬«      j	                  «       d«       | j                  t        j                  ddd¬«      j	                  «       d«       | j                  t        j                  ddd¬«      j	                  «       d«       | j                  t        j                  dd d¬«      d «       | j                  t        j                  dd!d¬«      d «       y )"Nr  r\   T©Úpartialr0  r  rþ  r>   Úcatchzabc\w{3}r,  Frh  rs  rß  z\d{4}$Ú1234z	\L<words>Úpost)r5  rÁ  rj  r7  r¿  ÚPOSTõ   poï¬†ÚPOSz	[a-z]*4R$r\  Úab4Úa4Úa4RÚ4aÚa44)r)   r-   rB   r5  rA   rC   s    r   Útest_partialzRegexTests.test_partial×  s  € Ø×ÑœŸ™ T¨3¸Ô=×EÑEÀtÔLØ×ÑœŸ™ T¨3¸Ô=×BÑBÓDÀfÔMØ×ÑœŸ™ W¨e¸TÔB×JÑJØ
ô	à×ÑœŸ™ W¨e¸TÔB×GÑGÓIð Lô 	à×ÑœŸ™ W¨g¸tÔDÀdÔKØ×ÑœŸ™ [°(Øôß™ ô	(à×ÑœŸ™ [°(Øôß™› ô	(à×ÑœŸ™ [°'Øôß™ ô	'à×ÑœŸ™ [°'Øôß™› ô	(ð 	×ÑœŸ™ Y°ÀÔE×MÑMØ
ô	ð 	×ÑœŸ™ \°6À4Ø�ôß!™' 5ô	*à×ÑœŸ™ \°6À4Ø�ôß™$›& &ô	*à×ÑœŸ™ \°5À$Ø�ôß!™' 4ô	)à×ÑœŸ™ \°5À$Ø�ôß™$›& &ô	*ð 	×ÑœŸ™Ð%6¸ÈØ�ôß%™g uô	.à×ÑœŸ™Ð%6¸ÈØ�ôß"™d›f fô	.à×ÑœŸ™Ð%6¸ÀtØ�ôß%™g tô	-à×ÑœŸ™Ð%6¸ÀtØ�ôß"™d›f fô	.à×ÑœŸ™Ð%6¸
Ø˜u˜gô'Ø(,ô	.ð 	×ÑœŸ™ \°3ÀÔE×JÑJÓLØ
ô	à×ÑœŸ™ \°4ÀÔF×KÑKÓMØ
ô	à×ÑœŸ™ \°5À$ÔG×LÑLÓNØ
ô	à×ÑœŸ™ \°4ÀÔF×KÑKÓMØ
ô	à×ÑœŸ™ \°5À$ÔG×LÑLÓNØ
ô	à×ÑœŸ™ \°4ÀÔFÈÔMØ×ÑœŸ™ \°5À$ÔGÈÕNr   c                 óDØ  — | j                  t        t        j                  dt        j                  ¬«      «      d«       | j                  t        t        j                  dt        j                  ¬«      «      d«       | j                  t        j
                  dd«      ddg«       | j                  t        j
                  d	d«      ddg«       | j                  t        j
                  dd
«      dg«       | j                  t        j
                  dd«      dg«       | j                  t        j
                  dd«      dg«       | j                  t        j                  dd«      D �cg c]  }|j                  «       ‘Œ c}dg«       | j                  t        j                  ddt        j                  t        j                  z  «      j                  d«      d«       | j                  t        j                  ddt        j                  t        j                  z  «      j                  d«      d«       | j                  t        j                  ddt        j                  t        j                  z  «      j                  d«      d«       | j                  t        j                  dd«      j                  «       d«       | j                  t        t        j                  ddt        j                  ¬«      «      d«       | j                  t        j                  dd«      j                  dd«      d «       | j                  t        j                  d!d"«      j                  dd«      d#«       | j                  t        j                  d$d%«      j                  d«      d%«       | j                  t        j                  d&d'«      d «       | j                  t        j                  d(d)«      j                  d«      d«       | j                  t        j                  d*d+«      j                  d«      d,«       | j                  t        j                  d*d-«      j                  d«      d.«       | j                  t        j                  d*d/«      j                  d«      d0«       | j                  t        j                  d1d/«      j                  «       d/«       | j                  t        j                  d2d3«      j                  «       d4«       | j                  t        j                  d5d+«      j                  «       d6«       | j                  t        j                  d5d-«      j                  «       d7«       | j                  t        j                  d8d«      j                  d«      d«       | j                  t        j                  d9d/t        j                  ¬«      j                  d«      d/«       | j                  t        j                  d:d;«      j                  dd«      d<«       | j                  t        j                  d=d;«      j                  dd«      d>«       | j                  t        j                  d?d;«      j                  dd«      d@«       | j                  t        j                  dAd;«      j                  dd«      dB«       | j                  t        j                  dCdD«      j                  d«      d+«       | j                  t        j
                  dEdFdGdHg¬I«      g dJ¢«       | j                  t        j
                  dKdF«      g dL¢«       | j                  t        j
                  dMdF«      g dJ¢«       | j                  t        j
                  dNdF«      g dJ¢«       | j                  t        j                  dOd+«      j                  dddP«      dQ«       | j                  t        j                  dRdS«      j                  dd«      dT«       | j                  t        j                  dUd+«      j                  dd«      dV«       | j                  t        j                  dWdX«      d «       | j                  t        j                  dYdZ«      d «       | j                  t        j                  | j                   d[„ «       | j                  t        j                  d\d]«      j                  d«      d^«       | j                  t        j                  d_d`«      j                  d«      d`«       | j                  t        j                  dadb«      d «       | j                  t        j                  dcdd«      d «       | j                  t        j                  dedf«      j                  dddP«      dg«       | j                  t        j
                  dhdi«      d"djg«       | j                  t        j
                  dkdi«      d"djg«       | j                  t        j
                  dldi«      d"djg«       | j                  t        j
                  dmdi«      d"djg«       | j                  t        j                  dndo«      j                  «       do«       | j                  t        j                  dpdq«      D �cg c]  }|j                  «       ‘Œ c}drdsg«       | j                  t        j                  dtdu«      j#                  dv«      g dw¢«       | j                  t        j                  | j$                  dx„ «       dy}dz}| j                  t        j                  ||t        j&                  «      d   d{«       | j                  t        j
                  d|d}«      d~g«       | j                  t)        t        j*                  dd€d�t        j,                  «      «      t)        d‚«      «       | j                  t        j                  dƒd„«      d «       | j                  t        j                  d…d†«      j/                  d‡«      dˆd7g«       | j                  t        j*                  d‰dŠ„ d‹«      dŒ«       t        j                  d�t        j                  ¬«      }| j                  |j                  dŽ«      d «       | j                  |j                  dŽ«      g «       | j                  t        j                  | j0                  d�„ «       | j                  t        j2                  d�d‘¬’«      d“«       | j                  t        j2                  d�d¬’«      d”«       | j                  t        j2                  d�«      d”«       | j                  t        j2                  d•d‘¬’«      d–«       | j                  t        j2                  d•d¬’«      d—«       | j                  t        j2                  d•«      d—«       | j                  t        j                  d˜d™«      j                  «       dš«       | j                  t        j                  d›d™«      j                  «       dš«       | j                  t        j                  dœd™«      j                  «       dš«       t        j                  d�t        j4                  t        j6                  z  ¬«      }| j                  |j                  dž«      D �cg c]  }|j                  «       ‘Œ c}d�g«       | j                  |j                  dž«      d�g«       dž}| j                  |j                  |«      D �cg c]  }|j                  «       ‘Œ c}d�g«       | j                  |j                  |«      d�g«       t        j                  d�t        j4                  t        j8                  z  t        j6                  z  ¬«      }| j                  |j                  dž«      D �cg c]  }|j                  «       ‘Œ c}d�g«       | j                  |j                  dž«      d�g«       dž}| j                  |j                  |«      D �cg c]  }|j                  «       ‘Œ c}d�g«       | j                  |j                  |«      d�g«       t:        j<                  dŸk\  r(| j                  t        j*                  d d‡d¡«      dS«       n'| j                  t        j*                  d d‡d¡«      d‡«       | j                  t        j*                  d¢d‡d¡«      dS«       t:        j<                  dŸk\  r(| j                  t        j*                  d£d¤d¡«      d¥«       n'| j                  t        j*                  d£d¤d¡«      d¦«       | j                  t        j*                  d§d¤d¡«      d¥«       | j                  t        j*                  d¨d©dªt        j>                  ¬«      d««       | j                  t        j                  d¬d­«      j@                  d®«       | j                  t        j                  d¯d­«      j@                  d®«       | j                  t        j                  d°d­«      j@                  d®«       | j                  t        j                  d±d­«      j@                  d®«       | j                  t        j                  d²d­«      j@                  d®«       | j                  t        j                  d³d­«      j@                  d®«       | j                  t        j                  d´dµ«      j@                  d¶«       | j                  t        j                  d·dµ«      j@                  d¸«       | j                  t        j                  d¹dµ«      j@                  d¸«       | j                  t        j                  d´dº«      j@                  d»«       | j                  t        j                  d·dº«      j@                  d»«       | j                  t        j                  d¹dº«      j@                  d»«       | j                  t        j                  d¼dµ«      j@                  d¸«       | j                  t        j                  d½dµ«      j@                  d¸«       | j                  t        j                  d¾dµ«      j@                  d¸«       | j                  t        j
                  d¿dÀ«      g «       | j                  t        j*                  d‡dÁd‡«      d‡«       | j                  t        t        j                  d+d+t        jB                  «      «      d«       | j                  t        j
                  dÂdÃ«      ddg«       | j                  t        j
                  dÄdÃ«      ddg«       | j                  t        j
                  dÅdÃ«      ddg«       | j                  t        j
                  dÆdÃ«      ddg«       | j                  t        j                  dÇdÈ„ «       | j                  t        j                  dÉd+«      j                  dddP«      dÊ«       | j                  t        j                  dËd+«      j                  dddP«      dÊ«       dÌjE                  dÍ„ tG        dÎ«      D «       «      }| j                  t)        dÌjE                  t        j
                  dÏ|«      «      «      t)        dÌjE                  t        j
                  dÐ|«      «      «      «       | j                  t)        dÌjE                  t        j
                  dÑ|«      «      «      t)        dÌjE                  t        j
                  dÒ|«      «      «      «       | j                  t)        dÌjE                  t        j
                  dÓ|«      «      «      t)        dÌjE                  t        j
                  dÔ|«      «      «      «       | j                  t)        dÌjE                  t        j
                  dÕ|«      «      «      t)        dÌjE                  t        j
                  dÖ|«      «      «      «       | j                  t)        dÌjE                  t        j
                  d×|«      «      «      t)        dÌjE                  t        j
                  dØ|«      «      «      «       | j                  t)        dÌjE                  t        j
                  dÙ|«      «      «      t)        dÌjE                  t        j
                  dÚ|«      «      «      «       | j                  t)        dÌjE                  t        j
                  dÛ|«      «      «      t)        dÌjE                  t        j
                  dÜ|«      «      «      «       | j                  t)        dÌjE                  t        j
                  dÝ|«      «      «      t)        dÌjE                  t        j
                  dÞ|«      «      «      «       | j                  t)        dÌjE                  t        j
                  dß|«      «      «      t)        dÌjE                  t        j
                  dà|«      «      «      «       | j                  t)        dÌjE                  t        j
                  dá|«      «      «      t)        dÌjE                  t        j
                  dâ|«      «      «      «       | j                  t)        dÌjE                  t        j
                  dã|«      «      «      t)        dÌjE                  t        j
                  dä|«      «      «      «       | j                  t)        dÌjE                  t        j
                  då|«      «      «      t)        dÌjE                  t        j
                  dæ|«      «      «      «       | j                  t)        dÌjE                  t        j
                  dç|«      «      «      t)        dÌjE                  t        j
                  dè|«      «      «      «       | j                  t)        dÌjE                  t        j
                  dé|«      «      «      t)        dÌjE                  t        j
                  dê|«      «      «      «       tI        tG        dë«      «      }| j                  t)        dìjE                  t        j
                  dí|«      «      «      t)        dìjE                  t        j
                  dî|«      «      «      «       | j                  t)        dìjE                  t        j
                  dï|«      «      «      t)        dìjE                  t        j
                  dð|«      «      «      «       | j                  t)        dìjE                  t        j
                  dñ|«      «      «      t)        dìjE                  t        j
                  dò|«      «      «      «       | j                  t)        dìjE                  t        j
                  dó|«      «      «      t)        dìjE                  t        j
                  dô|«      «      «      «       | j                  t)        dìjE                  t        j
                  dõ|«      «      «      t)        dìjE                  t        j
                  dö|«      «      «      «       | j                  t)        dìjE                  t        j
                  d÷|«      «      «      t)        dìjE                  t        j
                  dø|«      «      «      «       | j                  t)        dìjE                  t        j
                  dù|«      «      «      t)        dìjE                  t        j
                  dú|«      «      «      «       | j                  t)        dìjE                  t        j
                  dû|«      «      «      t)        dìjE                  t        j
                  dü|«      «      «      «       | j                  t)        dìjE                  t        j
                  dý|«      «      «      t)        dìjE                  t        j
                  dþ|«      «      «      «       | j                  t)        dìjE                  t        j
                  dÿ|«      «      «      t)        dìjE                  t        j
                  �d |«      «      «      «       | j                  t)        dìjE                  t        j
                  �d|«      «      «      t)        dìjE                  t        j
                  �d|«      «      «      «       | j                  t)        dìjE                  t        j
                  �d|«      «      «      t)        dìjE                  t        j
                  �d|«      «      «      «       | j                  t)        dìjE                  t        j
                  �d|«      «      «      t)        dìjE                  t        j
                  �d|«      «      «      «       | j                  t)        dìjE                  t        j
                  �d|«      «      «      t)        dìjE                  t        j
                  �d|«      «      «      «       | j                  t)        t        j                  �d	�d
«      j                  «       «      t)        �d«      «       | j                  t        j                  �d�d«      j                  «       �d«       | j                  t        j*                  �d�dd†«      �d«       | j                  t        j*                  �d�dd†«      �d«       | j                  t        jJ                  �d�dd†«      �d«       | j                  t        jJ                  �d�dd†«      �d«       | j                  t        jL                  �dd†d�¬«      j                  «       d7«       | j                  t        jL                  �dd†d�¬«      jN                  d«       | j                  t        j                  �d�dd�¬«      j                  «       �d«       | j                  t        j                  �d�dd�¬«      j                  «       �d«       | j                  t        j                  �d�dd�¬«      j                  «       �d«       | j                  t        j                  �d�d«      j                  «       d6«       | j                  t        j                  �d�d«      d «       | j                  t        j
                  �d �d!«      g �d"¢«       | j                  t        j
                  �d#�d!«      g �d"¢«       | j                  t        j                  �d$�d%«      D �cg c]  }|j                  «       ‘Œ c}g �d&¢«       | j                  t        j                  �d'�d%«      D �cg c]  }|j                  «       ‘Œ c}g �d&¢«       | j                  t        j                  �d(�d)«      d   �d)«       | j                  t        j                  �d(�d*«      d   �d*«       | j                  t        j                  �d+�d,«      d   �d,«       | j                  t        j                  �d-�d.«      d   �d.«       | j                  t        j                  �d/d«      j                  dd«      �d0«       | j                  t        j
                  �d1�d2«      �d3�d4g«       | j                  t        j
                  �d5�d2«      d�d6g«       | j                  t        j                  �d7d«      j                  dd«      �d8«       | j                  t        j
                  �d9�d2«      �d:d†g«       | j                  t        j
                  �d;�d2«      �d6dg«       | j                  t        j                  �d<�d=«      d   �d=«       | j                  t        j                  �d>d+«      j                  �d?«      d «       | j                  t        j                  �d>d+«      j#                  �d?«      d+g«       | j                  t        j                  �d@�dA«      d   �dB«       | j                  t        j                  �dC�dA«      d   �dB«       | j                  t        j                  �dD�dA«      d «       | j                  t        j                  �dE�dA«      d   �dA«       | j                  t        j                  �dF�dG«      d   �dG«       | j                  t        j                  �dF�dH«      d   �dI«       | j                  t        j                  �dJ�dG«      d   �dK«       | j                  t        j                  �dJ�dH«      d   �dI«       | j                  t        j                  �dL�dH«      d   �dH«       | j                  t        j                  �dL�dM«      d   �dI«       | j                  t        j                  �dN�dM«      d   �dI«       | j                  t        j                  �dO�dM«      d   �dI«       | j                  t        j                  �dP�dA«      d «       | j                  t        j                  �dQ�dA«      d   �dA«       | j                  t        j                  �dR�dG«      d   �dG«       | j                  t        j                  �dR�dH«      d   �dI«       | j                  t        j                  �dS�dH«      d   �dH«       | j                  t        j                  �dS�dM«      d   �dI«       | j                  t        j                  �dT�dM«      d   �dI«       | j                  t        j                  �dU�dM«      d   �dI«       | j                  t        j                  �dV�dG«      d   �dG«       | j                  t        j                  �dV�dH«      d   �dI«       | j                  t        j                  �dW�dG«      d   �dK«       | j                  t        j                  �dW�dH«      d   �dI«       | j                  t        j                  �dX�dH«      d   �dH«       | j                  t        j                  �dX�dM«      d   �dI«       | j                  t        j                  �dY�dM«      d   �dI«       | j                  t        j                  �dZ�dM«      d   �dI«       | j                  t        j                  �d[�dG«      d   �dG«       | j                  t        j                  �d[�dH«      d   �dI«       | j                  t        j                  �d\�dH«      d   �dH«       | j                  t        j                  �d\�dM«      d   �dI«       | j                  t        j                  �d]�dM«      d   �dI«       | j                  t        j                  �d^�dM«      d   �dI«       �d_}	| j                  tQ        t        j
                  �d`|	«      «      d«       | j                  t        j                  �da�db«      j                  «       d7«       | j                  t        j                  �dc�dd«      d   �dd«       t        j                  �de«      }
�df}| j                  |
j                  |«      D �cg c]  }|j                  ddP«      ‘Œ c}�dg�dhg«       | j                  t        j                  �di�djt        j&                  «      j                  «       �dk«       | j                  t        j                  �dl�djt        j&                  «      j                  «       �dm«       | j                  t        j                  �dn�do«      j                  «       �dp«       | j                  t        j                  �dq�do«      d «       | j                  t        j                  �dr�ds«      j                  «       �dt«       | j                  t        j
                  �dr�du«      �dv�dwg«       | j                  t        j                  �dx�dy«      j                  dd«      �dz«       | j                  t        j                  �d{�dy«      j                  dd«      �dz«       | j                  t        j*                  �dx�d|�dy«      �d}«       | j                  t        j*                  �d{�d|�dy«      �d}«       | j                  t        j                  �d~�d�d€g�¬�«      j                  «       dˆ«       | j                  t        j                  �d‚�d�d€g�¬�«      j                  «       dˆ«       | j                  t        j                  �dƒ�d„«      j                  «       �d…«       | j                  t        j                  �d†�d„«      j                  «       �d…«       | j                  t        j                  �d‡�dˆ«      j                  «       �d‰«       | j                  t        j                  �d‡�dŠ«      j                  «       �d‰«       | j                  t        j                  �d‹�dŠ«      j                  «       �d‰«       t        j                  �dŒ�d��dŽg�¬�«      }tS        jT                  |«      }tS        jV                  |«      }| j                  |j                  �d�«      j                  «       d4«       | j                  t        j                  �d��d‘t        j&                  ¬«      j                  «       �dp«       | j                  t        j                  �d��d’t        j&                  ¬«      j                  «       �d“«       | j                  t        j                  �d�d‡t        j&                  ¬«      d «       | j                  t        j                  �d”�d‘t        j&                  ¬«      j                  «       �dp«       | j                  t        j                  �d”�d’t        j&                  ¬«      j                  «       �d“«       | j                  t        j                  �d”d‡t        j&                  ¬«      d «       | jY                  t        j                  �d•„ «       | jY                  t        j                  �d–„ «       | j                  t        t        j                  �d—«      «      d«       | j                  t        t        j                  �d˜«      «      d«       | j                  t        j
                  �d™�dšt        jZ                  «      �d›�dœg«       | j                  t        j                  �d��džd�¬«      j                  «       �dŸ«       �d }�d¡}| j                  t        t        j                  �d¢|z   |«      «      d«       | j                  t        t        j                  �d¢|z   |«      «      d«       | j                  t        t        j                  �d£|z   |«      «      d‘«       | j                  t        t        j                  �d£|z   |«      «      d‘«       | j                  t        t        j                  �d¤|z   |«      «      d‘«       | j                  t        t        j                  �d¤|z   |«      «      d‘«       | j                  t        t        j                  �d¥�d¦�d§�d¦g�¬¨«      «      d«       | j                  t        t        j                  �d©�d¦�d§�d¦g�¬¨«      «      d«       | j                  t        t        j                  �dª�d¦�d§�d¦g�¬¨«      «      d«       | j                  t        t        j                  �d«�d¦�d§�d¦g�¬¨«      «      d«       | j                  t        j                  �d¬�d­�d®�d¯g�¬¨«      j                  «       �d°«       | j                  t        j                  �d±�d­�d®�d¯g�¬¨«      j                  «       �d°«       | j                  t        j                  �d²�d³«      j                  «       �d´«       | j                  t        j                  �dµ�d³«      j                  «       �d´«       | j                  t        j                  �d¶�d·«      j                  «       �d“«       | j                  t        j                  �d¶�d¸«      d «       | j                  t        j                  �d¹�dº«      j                  «       �d»«       | j                  t        j                  �d¼�d½«      j                  «       �d¾«       �d¿}�dÀ}| j                  t        t        j                  ||«      «      d‘«       | j                  t        t        j                  �dÁ�d�«      «      d«       | j                  t        t        j                  �dÂ�d�«      «      d‘«       | j                  t        t        j                  �dÃ�d�«      «      d«       | j                  t        t        j                  �dÄ�d�«      «      d‘«       | j                  t        t        j                  �dÅ�dÆ«      «      d‘«       | j                  t        j                  �dÇ�dÈ«      j                  «       �dÉ«       | j                  t        j                  �dÊ�dËt        j&                  «      j                  «       �d“«       | j                  t        j                  �dÊ�dËt        j&                  «      j@                  d¸«       | j                  t        j                  �dÌ�dËt        j&                  «      j                  «       �d“«       | j                  t        j                  �dÌ�dËt        j&                  «      j@                  d¸«       | j                  t        j                  �dÍ�dÎt        j&                  «      j                  «       �dÏ«       | j                  t        j                  �dÍ�dÎt        j&                  «      j@                  �dÐ«       | j                  t        j                  �dÑ�dÒt        j4                  t        j8                  z  ¬«      j                  «       �dÓ«       | j                  t        j
                  �dÔ�d2«      �d6g«       | j                  t        j
                  �dÕ�d2«      �d6g«       | j                  t        j
                  �dÖ�d×«      �dØ�dÙg«       | j                  t        j
                  �dÚ�d×«      g «       | j                  t        j
                  �dÛ�d×«      �dÙg«       | j                  t        j
                  �dÜ�d×«      g �dÝ¢«       | j                  t        j                  �dÞ�dß«      j                  «       �dà«       | j                  t        j                  �dá�dß«      j                  «       �dà«       | j                  t        j                  �dâ�dã«      j                  «       �dä«       | j                  t        j                  �då�dã«      j                  «       �dä«       | j                  t        j                  �dæ�dß«      j                  «       �dà«       | j                  t        j                  �dç�dß«      j                  «       �dà«       | j                  t        j                  �dè�dã«      j                  «       �dä«       | j                  t        j                  �dé�dã«      j                  «       �dä«       | j                  t        j                  �dê�dë«      j                  «       �dë«       | j                  t        j                  �dì�dë«      j                  «       �dë«       | j                  t        j                  �dí�dë«      j                  «       �dë«       | j                  t        j                  �dî�dë«      j                  «       �dë«       | j                  t        j2                  �dïd‘d‘�¬ð«      �dñ«       | j                  t        j2                  �dïd‘d�¬ð«      �dò«       | j                  t        j2                  �dïdd‘�¬ð«      �dó«       | j                  t        j2                  �dïdd�¬ð«      �dô«       | j                  t        j2                  �dï«      �dó«       | j                  t        j                  �dõdb«      j                  «       d6«       | j                  t        j                  �dõ�dö«      j                  «       d6«       | j                  t        j                  �d÷�dö«      j                  «       �dø«       | j                  t        j                  �dùdÌ«      j                  «       �dø«       | j                  t        j                  �dúdÌ«      j                  «       �dø«       | j                  t        j                  �dûd"«      j                  «       �dü«       | j                  t        j                  �dûd"«      j]                  «       �dýd i«       | j                  t        j                  �dûd"«      j_                  «       �dýd+gi«       | j                  t        j                  �dþd"«      j                  «       �dü«       | j                  t        j                  �dþd"«      j]                  «       �dýd i«       | j                  t        j                  �dþd"«      j_                  «       �dýd+gi«       | j                  t        j                  �dÿd"«      j                  «       �dü«       | j                  t        j                  �dÿd"«      j]                  «       �dýd i«       | j                  t        j                  �dÿd"«      j_                  «       �dýd+gi«       | j                  t        t        j                  �d d«      «      d«       | j                  t        j                  �d�dd�¬«      j                  «       �d°«       | j                  t        j                  �d�dd�¬«      j                  «       �d°«       | j                  t        t        j                  �d�d«      «      d«       | j                  t        t        j                  �d�d«      «      d«       | j                  t        t        j                  �d�d«      «      d«       | j                  t        t        j                  �d�d«      «      d«       | j                  t        t        j                  �d	�d«      «      d«       | j                  t        t        j                  �d
�d«      «      d«       | j                  t        t        j                  �d�d«      «      d«       | j                  t        t        j                  �d�d«      «      d‘«       | j                  t        t        j                  �d�d«      «      d«       | j                  t        t        j                  �d�d«      «      d‘«       | j                  t        t        j                  �d�d«      «      d«       | j                  t        t        j                  �d�d«      «      d‘«       | j                  t        t        j                  �d�d«      «      d«       | j                  t        t        j                  �d�d«      «      d‘«       | j                  t        jL                  �dd"«      j#                  d‡«      g �d¢«       | j                  t        jL                  �dd"«      j                  d‡«      d«       | j                  t        jL                  �dd"«      j#                  d‡«      g �d¢«       | j                  t        jL                  �dd"«      j                  d‡«      �d«       | j                  t        j                  �dd†d�¬«      jN                  d‘«       | j                  t        j                  �d�dd�¬«      jN                  d‘«       | j                  t        j                  �ddÌd�¬«      jN                  d‘«       | j                  t        j                  �dd†d�¬«      jN                  d‘«       | j                  t        j                  �d�dd�¬«      jN                  d‘«       | j                  t        j                  �dd†d�¬«      jN                  d‘«       | j                  t        j                  �d�dd�¬«      jN                  d‘«       | j                  t        j                  �d d†d�¬«      jN                  d‘«       | j                  t        j                  �d!d†d�¬«      jN                  d‘«       | j                  t        j                  �d!�dd�¬«      jN                  d‘«       | j                  t        j                  �d"d†d�¬«      jN                  d‘«       | j                  t        j                  �d"�dd�¬«      jN                  d‘«       | j                  t        j                  �d#dÌd�¬«      jN                  d‘«       | j                  t        j                  �d$d†d�¬«      jN                  d‘«       | j                  t        j                  �d$�dd�¬«      jN                  d‘«       | j                  t        j                  �d%d†d�¬«      jN                  d‘«       | j                  t        j                  �d%�dd�¬«      jN                  d‘«       | j                  t        j                  �d&d†d�¬«      jN                  d‘«       | j                  t        j                  �d'd†d�¬«      jN                  d‘«       | j                  t        j                  �d'�dd�¬«      jN                  d‘«       | j                  t        j                  �d(dÌd�¬«      jN                  d‘«       | j                  t        j                  �d)dÌd�¬«      jN                  d‘«       | j                  t        j                  �d*dÌd�¬«      jN                  d‘«       | j                  t        j                  �d+dÌd�¬«      jN                  d«       | j                  t        j                  �d,dÌd�¬«      jN                  d«       | j                  t        j                  �d-dÌd�¬«      jN                  d«       | j                  t        j                  �d+d+d�¬«      jN                  d‘«       | j                  t        j                  �d,d+d�¬«      jN                  d‘«       | j                  t        j                  �d-d+d�¬«      jN                  d‘«       | j                  t        j                  �d.dÌd�¬«      jN                  d‘«       | j                  t        j                  �d/dÌd�¬«      jN                  d‘«       | j                  t        j                  �d0dÌd�¬«      jN                  d‘«       | j                  t        j                  �d1dÌd�¬«      jN                  d«       | j                  t        j                  �d2dÌd�¬«      jN                  d«       | j                  t        j                  �d3dÌd�¬«      jN                  d«       | j                  t        j                  �d1d+d�¬«      jN                  d‘«       | j                  t        j                  �d2d+d�¬«      jN                  d‘«       | j                  t        j                  �d3d+d�¬«      jN                  d‘«       | j                  t        j                  �d4�d5d�¬«      jN                  d‘«       �d6}�d7}	t        j                  ||	t        j&                  ¬«      }| j                  |j@                  d¸«       | j                  |j`                  g �d8gg f«       | j                  t        j                  �d9�d:«      j@                  �d;«       | j                  t        j                  �d9�d<«      j@                  d®«       | j                  t        j
                  �d=�d>«      �d>g«       | j                  t        t        j                  �d?d+«      «      d«       | j                  t        t        j                  �d@d+«      «      d«       | j                  t        jL                  �dA�dA«      j                  «       d4«       | j                  t        j                  �dB�dC«      j_                  «       �dDgg �dDg�dEœ«       | j                  t        t        j                  �dF�dG«      «      d«       | j                  t        t        j                  �dH�dG«      «      d«       | j                  t        j                  �dI�dJ«      j`                  g g g �dK¢f«       | j                  t        j                  �dL�d«      j@                  �dM«       | j                  t        j                  �dL�d«      j`                  dgg dgf«       | j                  t        j                  �dN�d«      j@                  �dO«       | j                  t        j                  �dN�d«      j`                  g g dgf«       | j                  t        j                  �dP�d«      j@                  �dO«       | j                  t        j                  �dP�d«      j`                  g g dgf«       | j                  t        j                  �dQ�dR«      j@                  �dS«       | j                  t        j                  �dT�dR«      j@                  d®«       | j                  t        j                  �dU�dR«      j@                  d®«       | j                  t        j                  �dV�dW«      j@                  �dX«       | j                  t        j                  �dY�dW«      j@                  �dX«       | j                  t        jL                  �dZ�d[«      j@                  d®«       | j                  t        jL                  �d\�d[«      j@                  d®«       | j                  t        j                  �d]�d^«      d «       | j                  t        t        j                  �d_«      «      d«       | j                  t        t        j                  �d`«      «      d«       | j                  t        j
                  �da�db«      g �dc¢«       | j                  t        j
                  �dd�db«      g �dc¢«       | j                  t        j                  �de�dft        jb                  ¬«      j@                  �dg«       | j                  t        t        j                  �dh�d’«      «      d«       | j                  t        t        j                  �di�d’«      «      d«       | j                  t        j                  �dj�dk«      j                  «       �dk«       | j                  t        j                  �dj�dl«      d «       | j                  t        j                  �dm�dn«      j                  «       �dn«       | j                  t        j                  �dm�do«      d «       | j                  t        j                  �dm�dn«      j`                  g �dpgg f«       | j                  t        j                  �dq�dn«      j                  «       �dn«       | j                  t        j                  �dr�dn«      j`                  g �dpgg f«       | j                  t        j                  �ds«      je                  �dt«      g �du¢«       | j                  t        j                  �ds«      je                  �dv«      g �dw¢«       | j                  t        j                  �dx«      j                  �dy«      d «       | j                  t        j                  �dz«      j                  �d{«      d «       t        j                  �d|t        j                  t        jf                  z  ¬«      }| j                  |j                  �d}«      j                  «       �d}«       | j                  |j                  �d~«      j                  «       �d«       | j                  |j                  �d€«      j                  «       �d�«       | j                  |j                  �d‚«      j                  «       �dƒ«       �d„}�d…}t        j                  ||t        j&                  ¬«      }| j                  |j                  «       �d†«       | j                  |j]                  «       �d‡�dˆ�d‰�dŠ�d‹�dŒœ«       t        j                  ||t        jZ                  ¬«      }| j                  |j                  «       �d†«       | j                  |j]                  «       �d‡�dˆ�d‰�dŠ�d‹�dŒœ«       �d�}�dŽ}t        j                  ||t        j&                  ¬«      }| j                  |j@                  �d;«       | j                  |j`                  g g g f«       �d�}t        j                  ||t        j&                  ¬«      }| j                  |j@                  �dX«       | j                  |j`                  �d��d‘gg g f«       | j                  t        j*                  �d’�d“�d”«      �d•«       | j                  t        jJ                  �d’�d–�d”«      �d•«       | j                  t        j                  �d’�d•«      ji                  �d“«      �d•«      f | j                  t        j                  �d’�d•«      jk                  �d–«      �d•«       | j                  t        j                  �d—�d˜«      d «       | j                  t        j                  �d—�d˜t        j                  ¬«      d «       | j                  t        j                  �d™�dš«      j                  «       d7«       | j                  t        j                  �d›�dš«      j                  «       d7«       | j                  t        j                  �dœ�d�«      d «       | j                  t        j                  �dž�d�«      j                  «       d6«       | j                  t        j                  �dŸd"«      jm                  «       d"gg �d¢f«       | j                  t        j                  �dŸd"«      jo                  «       d4gg �d ¢f«       | j                  t        t        jL                  �d¡�d¢«      «      d«       | j                  t        t        jL                  �d£�d¤«      «      d«       | j                  t        j                  �d¥db«      d «       | j                  t        j                  �d¥db«      j                  «       d,«       | j                  t        j                  �d¦�d§«      j                  «       �d¨«       | j                  t        j                  �d©d†«      j                  «       d6«       | j                  t        j                  �dªd†«      j                  «       d7«       | j                  t        j                  �d«d†«      j                  «       d7«       | j                  t        j                  �d¬d†«      j                  «       d6«       | j                  t        j                  �d­�d®g �¬¯«      j                  «       �dø«       | j                  t        j                  �d°«      j                  d+«      j                  «       d6«       | j                  t        j                  �d°t        j                  ¬«      j                  d+«      j                  «       d6«       | j                  t        j                  �d±�d²d�¬«      j                  «       �d“«       | j                  t        j                  �d±�d³d�¬«      d «       | j                  t        j                  �d±�d´d�¬«      j                  «       �d¨«       | j                  t        j                  �dµ�d¶d�¬«      j                  «       �d¨«       | j                  t        j                  �dµ�d·d�¬«      d «       | j                  t        j                  �d¸�d²d�¬«      j                  «       �d“«       | j                  t        j                  �d¸�d³d�¬«      d «       | j                  t        j                  �d¸�d´d�¬«      j                  «       �d¨«       | j                  t        j                  �d¹�d¶d�¬«      j                  «       �d¨«       | j                  t        j                  �d¹�d·d�¬«      d «       | j                  t        t        j                  �dº�d»d�¬«      «      d«       | j                  t        t        j                  �dº�d¼d�¬«      «      d«       | j                  t        t        j                  �dº�d½d�¬«      «      d«       | j                  t        t        j                  �dº�d¾d�¬«      «      d«       | j                  t        t        j                  �dº�d¿d�¬«      «      d«       | j                  t        t        j                  �dº�dÀd�¬«      «      d«       | j                  t        t        j                  �dº�dÁd�¬«      «      d«       | j                  t        t        j                  �dº�dÂd�¬«      «      d«       | j                  t        t        j                  �dÃd+«      «      d«       | j                  t        t        j                  �dÄd+«      «      d«       | j                  t        t        j                  �dÅd+«      «      d‘«       | j                  t        t        j                  �dÆd+«      «      d«       | j                  t        t        j                  �dÇd+«      «      d«       | j                  t        t        j                  �dÈd+«      «      d«       | j                  t        t        j                  �dÉd+«      «      d‘«       | j                  t        j                  �dÊ�dË«      d «       | j                  t        t        j                  �dÌ�dÍ«      «      d«       | j                  t        t        j                  �dÎ�dÍ«      «      d‘«       | j                  t        j
                  �dÌ�dÏ«      �dÐ�dÍg«       | j                  t        j
                  �dÑ�dÏ«      �dÐ�dÍg«       | j                  t        j
                  �dÎ�dÏ«      �dÐg«       | j                  t        j
                  �dÌ�dÏt        jp                  ¬«      �dÐ�dÍg«       | j                  t        j
                  �dÑ�dÏt        jp                  ¬«      �dÐ�dÍg«       | j                  t        j
                  �dÎ�dÏt        jp                  ¬«      �dÐg«       | j                  t        j
                  �dÌ�dÏt        jr                  ¬«      �dÐg«       | j                  t        j
                  �dÑ�dÏt        jr                  ¬«      �dÐ�dÍg«       | j                  t        j
                  �dÎ�dÏt        jr                  ¬«      �dÐg«       | j                  tQ        t        j
                  �dÒdÌjE                  �dÓ„ tG        dë«      D «       «      d¬«      «      �dÔ«       | j                  tQ        t        j
                  �dÒdÌjE                  �dÕ„ tG        dë«      D «       «      t        jr                  ¬«      «      �dÖ«       | j                  tQ        t        j
                  �dÒdÌjE                  �d×„ tG        dë«      D «       «      t        jp                  ¬«      «      �dÔ«       | j                  tQ        t        j
                  �dØdÌjE                  �dÙ„ tG        dë«      D «       «      d¬«      «      �dÖ«       | j                  tQ        t        j
                  �dØdÌjE                  �dÚ„ tG        dë«      D «       «      t        jr                  ¬«      «      �dÖ«       | j                  tQ        t        j
                  �dØdÌjE                  �dÛ„ tG        dë«      D «       «      t        jp                  ¬«      «      �dÖ«       | j                  tQ        t        j
                  �dÜdÌjE                  �dÝ„ tG        dë«      D «       «      d¬«      «      �dÔ«       | j                  tQ        t        j
                  �dÜdÌjE                  �dÞ„ tG        dë«      D «       «      t        jr                  ¬«      «      �dÔ«       | j                  tQ        t        j
                  �dÜdÌjE                  �dß„ tG        dë«      D «       «      t        jp                  ¬«      «      �dÔ«       | j                  t        t        j                  �dà�dá«      «      d«       | j                  t        t        jL                  �dâ�dá«      «      d«       | j                  t        t        j                  �dã«      «      d«       | j                  t        t        j                  �dä«      «      d«       y c c}w c c}w c c}w c c}w c c}w c c}w c c}w c c}w c c}w (å  Nz(?>b)rF  Tz^((?>\w+)|(?>\s+))*$z\((?:(?>[^()]+)|(?R))*\)za(bcd(e)f)g(h)z	(bcd(e)f)z(h)z\((?:(?:[^()]+)|(?R))*\)za(b(cd)e)f)g)hz(b(cd)e)za(bc(d(e)f)ghz(d(e)f)z(?r)\((?:(?>[^()]+)|(?R))*\)z\((?:[^()]*+|(?0))*\)za(b(c(de)fg)hz	(c(de)fg)za(bc)drÔ  r   z([\da-f:]+)$rI  rO  z^(?=ab(de))(abd)(e)Úabde)r±  r  rO  z\ rç   z^(a|)\1{2}brª   r:   )rª   rÉ   z	^(a){0,0}r»   rF  z(?>.*/)bza/bz((?i)blah)\s+\1z	blah BLAHz(\()?[^()]+(?(1)\)|)z(abcdz(a*)*r\   ©r:   r:   r  ©rÓ   rÓ   r<   ©r;   r;   z	a(?#xxx)*z(?=abc){3}abcÚ	abcabcabcr>   z^(?:a(?:(?:))+)+r0  r\  za(?x: b c )dza#comment
*z(?V1)(a(?(1)\1)){1}Ú
aaaaaaaaaar/  z(?V1)(a(?(1)\1)){2})r>   r9   z(?V1)(a(?(1)\1)){3})rh  rî  z(?V1)(a(?(1)\1)){4})r§  )r-  r_   z(?V1)(a)(?<=b(?1))Úbazz(?fi)\L<keywords>u)   POST, Post, post, poÅ¿t, poï¬†, and poï¬…r8  r7  )Úkeywords)r9  ÚPostr8  u   poÅ¿tr:  õ   poï¬…z(?fi)pos|post)r;  ÚPosr7  u   poÅ¿r:  rL  z(?fi)post|posz(?fi)post|anotherz(?V1)((a)(?1)|(?2))rÓ   rØ  z(?V1)(\1xx|){6}rY   )r\  rE  z(a|)+rü   z(a|)*\dÚPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaz^(?:a?b?)*$r  c                  ó,   — t        j                  d«      S )Nz\N{1}r«  rS   r   r   rV   z)RegexTests.test_hg_bugs.<locals>.<lambda>¢  r¬  r   r­  za
a
r÷  z(q1|.)*(q2|.)*(x(a|bc)*y){2,}Úxayxayz(?i)[^a]rg   z(?i)[[:ascii:]]u   â„ªz((a|b(?1)c){3,5})Úbaaaaca)r  r  r\   z(?<=:\S+ )\w+z:9 abc :10 defr	  z(?<=:\S* )\w+z(?<=:\S+? )\w+z(?<=:\S*? )\w+z(?:fe)?maleÚfemalez!(fe)?male: h(?(1)(er)|(is)) (\w+)z(female: her dog; male: his cat. asdsasdazfemale: her dogzmale: his catz (?<rec>\((?:[^()]++|(?&rec))*\))zaaa(((1+0)+1)+1)bbbÚrec)z(1+0)z	((1+0)+1)z(((1+0)+1)+1)c                  ó0   — t        j                  ddd«      S )Nr%   Ú\r‘   rS   r   r   rV   z)RegexTests.test_hg_bugs.<locals>.<lambda>Ó  s   € Ü
�)‰)�C˜˜sÔ
#r   z%(CAGCCTCCCATTTCAGAATATACATCC){1<e<=2}Ú®tcagacgagtgcgttgtaaaacgacggccagtCAGCCTCCCATTCAGAATATACATCCcgacggccagttaaaaacaatgccaaggaggtcatagctgtttcctgccagttaaaaacaatgccaaggaggtcatagctgtttcctgacgcactcgtctgagcgggctggcaaggÚtCAGCCTCCCATTCAGAATATACATCCzc..+/cz
cA/c
cAb/czcAb/cz(\w+)rî  u#   à¤…à¤¨à¥�â€�à¤¨ à´¨àµ�â€� à¤•à¤¿à¤¨u)   [à¤…à¤¨à¥�â€�à¤¨] [à´¨àµ�â€�] [à¤•à¤¿à¤¨]z.*a.*ba.*aaÚababbaz(?<x>a(?<x>b))r  r%   rì  z(-)c                 ó$   — | j                  d«      S )Nr%   )r%  rT   s    r   rV   z)RegexTests.test_hg_bugs.<locals>.<lambda>î  s   € °Q·X±X¸d´^r   rv  Úaxbxcz\bt(est){i<2}z	Some textc                  ó,   — t        j                  d«      S )Nz.???r«  rS   r   r   rV   z)RegexTests.test_hg_bugs.<locals>.<lambda>ø  s   € Ü
�-‰-˜Ô
 r   zfoo!?F)Úspecial_onlyzfoo\!\?zfoo!\?s   foo!?s   foo\!\?s   foo!\?z^([^z]*(?:WWWi|W))?$ÚWWWi)r]  z^([^z]*(?:WWWi|w))?$z^([^z]*?(?:WWWi|W))?$r5   Úyxxxr²   z(?V0).*re   z(?V1).*z(?V0).*?r  z	|||||||||z	|t|e|s|t|z(?V1).*?z^(@)\n(?!.*?@)(.*)z\1\n==========\n\2z@
z@
==========
rý  Úcazr  r   z(?b)(?:cats|cat){e<=1}z(?:cat){e<=1}z(?e)(?:cat){e<=1}z(?b)(?:cat){e<=1}z(?:cats){e<=2}zc ats)r:   r:   r   z(?e)(?:cats){e<=2}r  z(?b)(?:cats){e<=2}zc a ts)r   rÓ   r   z(?:cats){e<=1}z(?e)(?:cats){e<=1}z(?b)(?:cats){e<=1}z\bof ([a-z]+) of \1\bz#To make use of one of these modulesz\g<0>z(?V1)[[b-e]--cd]r,  z(?V1)[b-e--cd]z(?V1)[[bcde]--cd]z(?V1)[bcde--cd]z ^unknown property at position 4$c                  ó,   — t        j                  d«      S )Nz\p{}r«  rS   r   r   rV   z)RegexTests.test_hg_bugs.<locals>.<lambda>n  s   € ”%—-‘- Ô(r   z(?:()|(?(1)()|z)){2}(?(2)a|z))r\   rÉ   rÉ   z(?:()|(?(1)()|z)){0,2}(?(2)a|z)rÉ   c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wr   rÞ  rß  s     r   rá  z*RegexTests.test_hg_bugs.<locals>.<genexpr>}  s   è ø€ Ð7© 1œ˜AŸ©ùrâ  i   z[[:alnum:]]+z[\p{Alpha}\p{PosixDigit}]+z[[:alpha:]]+z
\p{Alpha}+z[[:ascii:]]+z[\p{InBasicLatin}]+z[[:blank:]]+z[\p{gc=Space_Separator}\t]+z[[:cntrl:]]+z\p{gc=Control}+z[[:digit:]]+z[0-9]+z[[:graph:]]+z<[^\p{Space}\p{gc=Control}\p{gc=Surrogate}\p{gc=Unassigned}]+z[[:lower:]]+z
\p{Lower}+z[[:print:]]+z%(?V1)[\p{Graph}\p{Blank}--\p{Cntrl}]+z[[:punct:]]+z2(?V1)[\p{gc=Punctuation}\p{gc=Symbol}--\p{Alpha}]+z[[:space:]]+z\p{Whitespace}+z[[:upper:]]+z
\p{Upper}+z[[:word:]]+zL[\p{Alpha}\p{gc=Mark}\p{Digit}\p{gc=Connector_Punctuation}\p{Join_Control}]+z[[:xdigit:]]+z[0-9A-Fa-f]+rx  r   s   (?a)[[:alnum:]]+s   (?a)[\p{Alpha}\p{PosixDigit}]+s   (?a)[[:alpha:]]+s   (?a)\p{Alpha}+s   (?a)[[:ascii:]]+s   (?a)[\x00-\x7F]+s   (?a)[[:blank:]]+s   (?a)[\p{gc=Space_Separator}\t]+s   (?a)[[:cntrl:]]+s   (?a)\p{gc=Control}+s   (?a)[[:digit:]]+s
   (?a)[0-9]+s   (?a)[[:graph:]]+s@   (?a)[^\p{Space}\p{gc=Control}\p{gc=Surrogate}\p{gc=Unassigned}]+s   (?a)[[:lower:]]+s   (?a)\p{Lower}+s   (?a)[[:print:]]+s&   (?aV1)[\p{Graph}\p{Blank}--\p{Cntrl}]+s   (?a)[[:punct:]]+s3   (?aV1)[\p{gc=Punctuation}\p{gc=Symbol}--\p{Alpha}]+s   (?a)[[:space:]]+s   (?a)\p{Whitespace}+s   (?a)[[:upper:]]+s   (?a)\p{Upper}+s   (?a)[[:word:]]+sP   (?a)[\p{Alpha}\p{gc=Mark}\p{Digit}\p{gc=Connector_Punctuation}\p{Join_Control}]+s   (?a)[[:xdigit:]]+s   (?a)[0-9A-Fa-f]+z\X$u   abâ„ƒu   â„ƒz([^L]*)([^R]*R)ÚLtR)rÉ   rb  r‹  zx\1yÚxayxbyrŒ  zx{1}yz(a)*abcr4  ÚOXRGÚOOGOXrñ  z.XRGz	.{1,3}XRG)r:   r¦  zR|RÚRz(.)(?(1)(?!))r:  z(y)?(\d)(?(1)\b\B)Úax1y2z3b))rÉ   rí  )rÉ   Ú2)rÉ   r½  z(y)?+(\d)(?(1)\b\B)z(?i)(?:error){e}zregex failure)rß  )r¦  r_   )r_   ra   )ra   ra   z(?fi)(?:error){e}z(?p)\d+(\w(\d*)?|[eE]([+-]\d+))Ú10b12z10E+12z(?p)(\w|ae|oe|ue|ss)Úaez(?p)one(self)?(selfsufficient)?Úoneselfsufficientz(ab\Kcd))r  rÔ  z
\w\w\K\w\wÚabcdefghr  Úghz(\w\w\K\w\w)Úefghz(?r)(ab\Kcd))r  rÔ  z(?r)\w\w\K\w\wr€  z(?r)(\w\w\K\w\w)z6(?(DEFINE)(?<quant>\d+)(?<item>\w+))(?&quant) (?&item)z5 elephantsz#(?&routine)(?(DEFINE)(?<routine>.))Úroutinez12(*FAIL)|3Ú123r½  z(?r)12(*FAIL)|3z\d+(*PRUNE)\dz\d+(?=(*PRUNE))\dz\d+(*PRUNE)bcd|[3d]Ú123bcdÚ123zzdr  z\d+?(*PRUNE)bcd|[3d]Ú3bcdz\d++(?<=3(*PRUNE))zzd|[4d]$Ú124zzdz\d++(?<=(*PRUNE)3)zzd|[4d]$z\d++(?<=2(*PRUNE)3)zzd|[3d]$z(?r)\d(*PRUNE)\d+z(?r)\d(?<=(*PRUNE))\d+z(?r)\d+(*PRUNE)bcd|[3d]z(?r)\d++(?<=3(*PRUNE))zzd|[4d]$z(?r)\d++(?<=(*PRUNE)3)zzd|[4d]$z (?r)\d++(?<=2(*PRUNE)3)zzd|[3d]$z\d+(*SKIP)bcd|[3d]z\d+?(*SKIP)bcd|[3d]z\d++(?<=3(*SKIP))zzd|[4d]$z\d++(?<=(*SKIP)3)zzd|[4d]$z\d++(?<=2(*SKIP)3)zzd|[3d]$z(?r)\d+(*SKIP)bcd|[3d]z(?r)\d++(?<=3(*SKIP))zzd|[4d]$z(?r)\d++(?<=(*SKIP)3)zzd|[4d]$z(?r)\d++(?<=2(*SKIP)3)zzd|[3d]$zˆJune 30, December 31, 2013 2012
some words follow:
more words and numbers 1,234,567 9,876,542
more words and numbers 1,234,567 9,876,542z(?<!\d)(?>2014|2013 ?2012)z1(?>2)Ú12zn(?V1w)(?=(?=[^A-Z]*+[A-Z])(?=[^a-z]*+[a-z]))(?=\D*+\d)(?=\p{Alphanumeric}*+\P{Alphanumeric})\A(?s:.){8,255}+\ZzAAaa11!!z‡(?smx)
(?(DEFINE)
  (?<subcat>
   ^,[^,]+,
   )
)

# Group 2 is defined on this line
^,([^,]+),

(?:(?!(?&subcat)[\r\n]+(?&subcat)).)+
zP
,Cat 1,
,Brand 1,
some
thing
,Brand 2,
other
things
,Cat 2,
,Brand,
Some
thing
)r   )rÓ   rc   )r   )é6   é;   z(abcdefgh){e}z******abcdefghijklmnopqrtuvwxyz)r-  r¨  z(abcdefghi){e})r-  r¢  z(?:(?=\d)\d+\b|\w+)re  rh  z(?(?=\d)\d+\b|\w+)z (?(?<=love\s)you|(?<=hate\s)her)z
I love yourÌ  z&I love you but I don't hate her eitherÚyouÚherz(?p)a*(.*?)Úaaabbb)rz  Úbbbz
(?p)a*(.*)r�   r{  z(?irV0)\L<kw>Ú21rí  )Úkwz(?irV1)\L<kw>za|bÚ111a222)r;   rÕ   z(?r)a|bz(?if)<(CLI)><\1>z
<cli><cli>r§  z
<cli><clI>z(?ifr)<\1><(CLI)>z\L<options>rÇ  rÉ  rf  z(x{6}){e<=1}ÚxxxxxxÚxxxxxrß  z(?r)(x{6}){e<=1}c                  ó,   — t        j                  d«      S )Ns   00000\0\00\^(\00\U05000000r«  rS   r   r   rV   z)RegexTests.test_hg_bugs.<locals>.<lambda>Ò  s   € Ü
�-‰-Ð<Ô
=r   c                  ó,   — t        j                  d«      S )Ns   {e<lr«  rS   r   r   rV   z)RegexTests.test_hg_bugs.<locals>.<lambda>Ö  s   € ¬u¯}©}¸WÔ/Er   z	((?0)){e}z	 ?(?0){e}z0((brown)|(lazy)){1<=e<=3} ((dog)|(fox)){1<=e<=3}z+The quick borwn fax jumped over the lzy hog)Úborwnrƒ  rÉ   ÚfaxrÉ   r„  )ÚlzyrÉ   r…  Úhogr†  rÉ   z\d\d\d-\d\d-\d\d\d\dz$My SSN is 999-89-76, but don't tell.)é$   r‡  u   Ð™u   Ð¹z(?ui)z(?ai)z(?afi)z
(?i)\L<aa>Ú22Ú121)r  z(?ri)\L<aa>z(?fi)\L<aa>z(?fri)\L<aa>z(?r)\1dog..(?<=(\L<aa>))$ÚccdogccÚbcbÚccrÃ  z(?ir)\1dog..(?<=(\L<aa>))$z(2)(?:\1{5}){e<=1}Ú3222212)r:   rc   z(\d)(?:\1{5}){e<=1}z&\A(?P<whole>(?>\((?&whole)\)|[+\-]))\Zz((-))z((-)+)zx.*? (.).*\1(.*)\1z	x  |y| z|rí  z\.sr (.*?) (.)(.*)\2(.*)\2(.*)z#.sr  h |<nw>|<span class="locked">|)r   é#   z‘"\xF9\x80\xAEqdz\x95L\xA7\x89[\xFE \x91)\xF9]\xDB'\x99\x09=\x00\xFD\x98\x22\xDD\xF1\xB6\xC3 Z\xB6gv\xA5x\x93P\xE1r\x14\x8Cv\x0C\xC0w\x15r\xFFc%" zÖ(?P<http_referer>((?>(?<!\\)(?>"(?>\\.|[^\\"]+)+"|""|(?>'(?>\\.|[^\\']+)+')|''|(?>`(?>\\.|[^\\`]+)+`)|``)))) (?P<useragent>((?>(?<!\\)(?>"(?>\\.|[^\\"]+)+"|""|(?>'(?>\\.|[^\\']+)+')|''|(?>`(?>\\.|[^\\`]+)+`)|``))))zfoo(?<=foo)zfoo(?<!foo)zfoo(?<=foo|x)zfoo(?<!foo|x)z0(?(?=.*\!.*)(?P<true>.*\!\w*\:.*)|(?P<false>.*))rg  z\w*(ea)\w*|\w*e(?!a)\w*Úeasier)Úeaz(^1234$){i,d}Ú12234z(^1234$){s,i,d}z(^123$){s,i,d}Úxxxxxxxx123)r   r`   )r   rd  r   za?yzÚxxxxyz)rÕ   r-  z(?:(?![a-d]).)+z.(?(DEFINE)(?P<mydef>(?:(?![a-d]).)))(?&mydef)+z((\w{1,3})(\.{2,10})){1,3}z("Erm....yes. T..T...Thank you for that."©zErm....ÚErmz....©zT...ÚTrm  z((\w{1,3})(\.{2,10})){3}z((\w{1,3})(\.{2,10})){2}z((\w{1,3})(\.{2,10})){1})r”  )zT..r—  r­  r–  z(?:ESTONIA(?!\w)){e<=1}zESTONIAN WORKERSÚESTONIANz(?:ESTONIA(?=\W)){e<=1}z(?:(?<!\w)ESTONIA){e<=1}zBLUB NESTONIAÚNESTONIAz(?:(?<=\W)ESTONIA){e<=1}z(?r)(?:ESTONIA(?!\w)){e<=1}z(?r)(?:ESTONIA(?=\W)){e<=1}z(?r)(?:(?<!\w)ESTONIA){e<=1}z(?r)(?:(?<=\W)ESTONIA){e<=1}z(?:A.*B.*CDE){e<=2}zA B CYZz(?:A.*B.*?CDE){e<=2}z(?:A.*?B.*CDE){e<=2}z(?:A.*?B.*?CDE){e<=2}z ,0A[)r\  Úliteral_spacesz\ \,0A\[z \,0A\[z\ ,0A\[z ,0A\[z(?(?=A)A|B)r…  z
(?(?=A)A|)r6   z
(?(?=X)X|)z(?(?=X))z(?(DEFINE)(?<func>.))(?&func)r   Úfuncz!(?(DEFINE)(?<func>.))(?=(?&func))z#(?(DEFINE)(?<func>.)).(?<=(?&func))zab(?#comment\))cdz[a-z]+ [a-z]*?:rz  z(?r):[a-z]*? [a-z]+z(?u)\p{Script:Beng}u   à§¯z(?u)\p{Script:Bengali}z!(?u)\p{Script_Extensions:Bengali}z(?u)\p{Script_Extensions:Beng}z(?u)\p{Script_Extensions:Cakm}z(?u)\p{Script_Extensions:Sylo}z(?u)\p{scx:Latin}r+  z(?u)\p{scx:Ahom}z(?u)\p{scx:Common}Ú4z(?u)\p{scx:Caucasian_Albanian}z(?u)\p{scx:Arabic}u   Øªz(?u)\p{scx:Balinese}z(?u)\p{scx:Devanagari}u   à¤œz(?u)\p{scx:Batak}z(?P<x>.)*(?&x)rè  z(?P<x>.)(?P<x>.)(?P<x>.)rÝ   z(?:ab)*Úababz(?:ab)*?z(?:ab)*+z(?:ab)+z(?:ab)+?z(?:ab)++z(?r)(?:ab)*z(?r)(?:ab)*?z(?r)(?:ab)*+z(?r)(?:ab)+z(?r)(?:ab)+?z(?r)(?:ab)++r4   za*?za*+r?   za+?za++z(?r)a*z(?r)a*?z(?r)a*+z(?r)a+z(?r)a+?z(?r)a++z(?:\s*\w+'*)+Úwhateveraz  (?P<termini5>GGCGTCACACTTTGCTATGCCATAGCAT[AG]TTTATCCATAAGATTAGCGGATCCTACCTGACGCTTTTTATCGCAACTCTCTACTGTTTCTCCATAACAGAACATATTGACTATCCGGTATTACCCGGCATGACAGGAGTAAAA){e<=1}(?P<gene>[ACGT]{1059}){e<=2}(?P<spacer>TAATCGTCTTGTTTGATACACAAGGGTCGCATCTGCGGCCCTTTTGCTTTTTTAAGTTGTAAGGATATGCCATTCTAGA){e<=0}(?P<barcode>[ACGT]{18}){e<=0}(?P<termini3>AGATCGG[CT]AGAGCGTCGTGTAGGGAAAGAGTGTGG){e<=1}Á?  GCACGGCGTCACACTTTGCTATGCCATAGCATATTTATCCATAAGATTAGCGGATCCTACCTGACGCTTTTTATCGCAACTCTCTACTGTTTCTCCATAACAGAACATATTGACTATCCGGTATTACCCGGCATGACAGGAGTAAAAATGGCTATCGACGAAAACAAACAGAAAGCGTTGGCGGCAGCACTGGGCCAGATTGAGAAACAATTTGGTAAAGGCTCCATCATGCGCCTGGGTGAAGACCGTTCCATGGATGTGGAAACCATCTCTACCGGTTCGCTTTCACTGGATATCGCGCTTGGGGCAGGTGGTCTGCCGATGGGCCGTATCGTCGAAATCTACGGACCGGAATCTTCCGGTAAAACCACGCTGACGCTGCAGGTGATCGCCGCAGCGCAGCGTGAAGGTAAAACCTGTGCGTTTATCGATGCTGAACACGCGCTGGACCCAATCTACGCACGTAAACTGGGCGTCGATATCGACAACCTGCTGTGCTCCCAGCCGGACACCGGCGAGCAGGCACTGGAAATCTGTGACGCCCTGGCGCGTTCTGGCGCAGTAGACGTTATCGTCGTTGACTCCGTGGCGGCACTGACGCCGAAAGCGGAAATCGAAGGCGAAATCGGCGACTCTCATATGGGCCTTGCGGCACGTATGATGAGCCAGGCGATGCGTAAGCTGGCGGGTAACCTGAAGCAGTCCAACACGCTGCTGATCTTCATCAACCCCATCCGTATGAAAATTGGTGTGATGTTCGGCAACCCGGAAACCACTTACCGGTGGTAACGCGCTGAAATTCTACGCCTCTGTTCGTCTCGACATCCGTTAAATCGGCGCGGTGAAAGAGGGCGAAAACGTGGTGGGTAGCGAAACCCGCGTGAAAGTGGTGAAGAACAAAATCGCTGCGCCGTTTAAACAGGCTGAATTCCAGATCCTCTACGGCGAAGGTATCAACTTCTACCCCGAACTGGTTGACCTGGGCGTAAAAGAGAAGCTGATCGAGAAAGCAGGCGCGTGGTACAGCTACAAAGGTGAGAAGATCGGTCAGGGTAAAGCGAATGCGACTGCCTGGCTGAAATTTAACCCGGAAACCGCGAAAGAGATCGAGTGAAAAGTACGTGAGTTGCTGCTGAGCAACCCGAACTCAACGCCGGATTTCTCTGTAGATGATAGCGAAGGCGTAGCAGAAACTAACGAAGATTTTTAATCGTCTTGTTTGATACACAAGGGTCGCATCTGCGGCCCTTTTGCTTTTTTAAGTTGTAAGGATATGCCATTCTAGACAGTTAACACACCAACAAAGATCGGTAGAGCGTCGTGTAGGGAAAGAGTGTGGTACCi¶  z)(?e)(dogf(((oo){e<1})|((00){e<1}))d){e<2}Údogfoodr  ÚdogfootrK  u   ðŸ‘¨â€�ðŸ‘©â€�ðŸ‘§â€�ðŸ‘¦z(?=a)az(?!b)az
((\d)*?)*?zX(?(DEFINE)(?<mydef>(?<wrong>THIS_SHOULD_NOT_MATCHx?)|(?<right>right))).*(?<=(?&mydef).*)zx rightrÀ  )ÚmydefÚwrongrÀ  z(?:cat){e<=1:[u]}Úcutz(?:cat){e<=1:u}z?(?be)(AGTGTTCCCCGCGCCAGCGGGGATAAACCG){s<=5,i<=5,d<=5,s+i+d<=10}ÚTTCCCCGCGCCAGCGGGGATAAACCG)r   r:   r;   r¦  z	(?:bc){e})r:   r   r:   z(?e)(?:bc){e}rÿ  z(?b)(?:bc){e}z,(?e)(?:^(\$ )?\d{1,3}(,\d{3})*(\.\d{2})$){e}z$ 10,112.111.12)r-  r   r¦  z/(?e)(?:^(\$ )?\d{1,3}(,\d{3})*(\.\d{2})$){s<=1}z9(?e)(?:^(\$ )?\d{1,3}(,\d{3})*(\.\d{2})$){s<=1,i<=1,d<=1}z/(?e)(?:^(\$ )?\d{1,3}(,\d{3})*(\.\d{2})$){s<=3}z$ 10,1a2.111.12)rÓ   r   r   z/(?e)(?:^(\$ )?\d{1,3}(,\d{3})*(\.\d{2})$){s<=2}z(?e)(?:0?,0(?:,0)?){s<=1,d<=1}z,0;0z(?e)(?:0??,0(?:,0)?){s<=1,d<=1}z#\b(?e)(?:\d{6,20}){i<=5:[\-\\\/]}\bz-cat dog starting at 00:01132.000. hello worldz(?#)z(?x)(?#)z(\d+){i<=2:[ab]}Ú123X4Y5)rp  rœ  Ú5z(?i)(\d+){i<=2:[ab]}z^(test){e<=5}$Úterstin)r   r;   r   z(?:(x*)\1\1\1)*x$z(?:(x*)\1{3})*x$zt(?:es){s<=1:\d}tÚte5tÚteztzt(?:es){i<=1:\d}tÚtes5tÚtesztr;   zt(es){i<=1,0<e<=1}tzt(?:es){i<=1,0<e<=1:\d}tz(\d+ week|\d+ days)ú7 days)rÉ   r­  rÉ   ú10 days)rÉ   r®  rÉ   z[ ]* Name[ ]*\* z  Name *za|\.*pb\.pyz.geojsa?  (?<=(?:\A|\W|_))(\d+ decades? ago|\d+ minutes ago|\d+ seconds ago|in \d+ decades?|\d+ months ago|in \d+ minutes|\d+ minute ago|in \d+ seconds|\d+ second ago|\d+ years ago|in \d+ months|\d+ month ago|\d+ weeks ago|\d+ hours ago|in \d+ minute|in \d+ second|in \d+ years|\d+ year ago|in \d+ month|in \d+ weeks|\d+ week ago|\d+ days ago|in \d+ hours|\d+ hour ago|in \d+ year|in \d+ week|in \d+ days|\d+ day ago|in \d+ hour|\d+ min ago|\d+ sec ago|\d+ yr ago|\d+ mo ago|\d+ wk ago|in \d+ day|\d+ hr ago|in \d+ min|in \d+ sec|in \d+ yr|in \d+ mo|in \d+ wk|in \d+ hr)(?=(?:\Z|\W|_))z1 month agoz9 hours 1 minute agoz1 minute agoz10 months 1 hour agoz
1 hour agoz1 month 10 hours agoz10 hours agoÚ2TTCAGACGTGTGCTCTTCCGATCTCAATACCGACTCCTCACTGTGTGTCTzw(?P<insert>.*)(?P<anchor>CTTCC){e<=1}(?P<umi>([ACGT]){4,6})(?P<sid>CAATACCGACTCCTCACTGTGT){e<=2}(?P<end>([ACGT]){0,6}$))r   é2   ÚTTCAGACGTGTGCTÚCTTCCÚGATCTÚCAATACCGACTCCTCACTGTGTÚGTCT)ÚinsertÚanchorÚumiÚsidr¢  zt(?P<insert>.*)(?P<anchor>AACACTGG){e<=1}(?P<umi>([AT][CG]){5}){e<=2}(?P<sid>GTAACCGAAG){e<=2}(?P<end>([ACGT]){0,6}$)Ú&GGAAAACACTGGTCTCAGTCTCGTAACCGAAGTGGTCGÚ&GGAAAACACTGGTCTCAGTCTCGTCCCCGAAGTGGTCGr÷  é   z(test1)|(test2)zmatched: \1\2Útest1zmatched: test1zmatched: {1}{2}z(?:\bha\b){i:[ ]}Úhavingz	(?a:\w)\wu   dÐ¶z(?a:\w)(?u:\w)z	^\p{LC}+$u   ðŸ˜ºz	^\p{So}+$rœ  )r0  rì  r.  z\p{HorizSpace}+u4   	 Â áš€á Žâ€€â€�â€‚â€ƒâ€„â€…â€†â€‡â€ˆâ€‰â€Šâ€¯â�Ÿã€€z\p{VertSpace}+u   
Â…â€¨â€©z(?(?<=A)|(?(?![^B])C|D))z^a?(a?)b?c\1$Úabcarj  z(?(?=a).|..)z(?(?=b).|..)z(?(?!a).|..)z(?(?!b).|..)z(\L<foo>){e<=5}Úblah)rÇ  r*  z
[^/]*b/ccczb/ccczb/ccbzb/ccz
[^/]*b/xyzzb/xyzb/yzz(?i)[^/]*b/cccz(?i)[^/]*b/xyzz<thinking>.*?</thinking>r¥  z	<thinkingz
<thinking>z<thinking>xz<thinking>xyz abcz<thinking>xyz abc fooz<thinking>xyz abc foo z<thinking>xyz abc foo barz(?V1)[[\s\S]]z(?V1)[[\s\S]-a]z(?V1)[[\s\S]--a]z(?V1)[[a-z]--b]z(?V1)[[\s\S]--b]z(?V1)[a-[\s\S]]z(?V1)[a--[\s\S]]zB(?ifu)(H\N{LATIN SMALL LETTER O WITH DIAERESIS}gskolan?)[\\s\\S]*puw   YrkeshÃ¶gskola . StudieÃ¤mnen . StudieÃ¤mnen . StudieÃ¤mnen . StudieÃ¤mnen . StudieÃ¤mnen . StudieÃ¤mnen . StudieÃ¤mnenrH  u   ï¼™z(?a:\d)u   9ï¼™rï  z(?u:\d)rI  c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wr   rÞ  rß  s     r   rá  z*RegexTests.test_hg_bugs.<locals>.<genexpr>%  ó   è ø€ Ð<ZÉ\È¼SÀ¿VÉ\ùrâ  rã  c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wr   rÞ  rß  s     r   rá  z*RegexTests.test_hg_bugs.<locals>.<genexpr>&  rÂ  râ  rä  c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wr   rÞ  rß  s     r   rá  z*RegexTests.test_hg_bugs.<locals>.<genexpr>'  rÂ  râ  z
(?a:\p{L})c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wr   rÞ  rß  s     r   rá  z*RegexTests.test_hg_bugs.<locals>.<genexpr>)  ó   è ø€ ÐA_ÑR^ÈQÄ#ÀaÇ&ÑR^ùrâ  c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wr   rÞ  rß  s     r   rá  z*RegexTests.test_hg_bugs.<locals>.<genexpr>*  rÆ  râ  c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wr   rÞ  rß  s     r   rá  z*RegexTests.test_hg_bugs.<locals>.<genexpr>+  rÆ  râ  z
(?u:\p{L})c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wr   rÞ  rß  s     r   rá  z*RegexTests.test_hg_bugs.<locals>.<genexpr>-  rÆ  râ  c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wr   rÞ  rß  s     r   rá  z*RegexTests.test_hg_bugs.<locals>.<genexpr>.  rÆ  râ  c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wr   rÞ  rß  s     r   rá  z*RegexTests.test_hg_bugs.<locals>.<genexpr>/  rÆ  râ  z\A\P{L}?\p{L}zhello,z\A\P{L}*(?P<w>\p{L}+)\P{L}*\Zz(\s|\S)z(?:[\S\s]|[A-D][M-Z])):r)   r(  r-   r.   ÚV1r/   rà  r¼   r@   rv   r5  rB   rd   rA   r|   r¦   ÚUNDEF_CHAR_NAMEr�  rq  Ú	BESTMATCHr=  rj   ÚWORDÚspansrt  rz  ÚFULLCASErB  r‚  r¶   r·   rM  r  ÚDEBUGrG  r{  r  r#  r  r5  ré  ÚpickleÚdumpsÚloadsrò  ÚENHANCEMATCHr"  rÔ  r	  r…  rê   ÚV0r%  r%  ÚallcapturesÚallspansr3  rg   )r   rU   ÚfzÚseqÚrxr	  r%   Úrawrc  rÉ  Ú
TEST_REGEXÚ	TEST_DATAr  r  Úupper_iÚlower_ir\   Úpy_regex_patternrx   Úsequences                       r   Útest_hg_bugszRegexTests.test_hg_bugs  s¸S  € ð 	×ÑœœeŸm™m¨G¼5¿8¹8ÔDÓEÀtÔLð 	×ÑœœeŸm™mÐ,CÜ—‘ôó Ø ô	"ð 	×ÑœŸ™Ð'BØ
óØ)¨5Ð1ô	3à×ÑœŸ™Ð'BØ
óØ)¨5Ð1ô	3à×ÑœŸ™Ð'BØ
óØ(˜\ô	+à×ÑœŸ™Ð'BØ
óØ&˜Kô	)à×ÑœŸ™Ð'FØ
óØ&˜Kô	)à×ÑÜ
�.‰.Ð1°?Ô
CóEÙ
Cð )*˜!Ÿ'™'�)Ø
CñEàˆ-ô	ð 	×ÑœŸ™ h°¼¿¹Ü
�(‰(ñ9ó ß‘E˜!“H˜fô	&ð
 	×ÑœŸ™ o°s¼E¿G¹GÜ
�(‰(ñ=ó ß‘E˜!“H˜cô	#à×ÑœŸ™ o°s¼E¿G¹GÜ
�(‰(ñ=ó ß‘E˜!“H˜cô	#ð
 	×ÑœŸ™Ð&;¸VÓD×KÑKÓMØ
ô	ð
 	×ÑœœeŸk™k¨%°¼E¿G¹GÔDÓEÀtÔLð 	×ÑœŸ™ n°cÓ:×@Ñ@ÀÀAÓFð Iô 	ð
 	×ÑœŸ™ k°5Ó9×?Ñ?ÀÀ1ÓEð Hô 	ð 	×ÑœŸ™ j°%Ó8×>Ñ>¸qÓAÀ5ÔIð
 	×ÑœŸ™Ð&8¸+ÓFÈÔMð 	×ÑœŸ™Ð&=Ø
óß‘5˜“8˜Vô	%ð
 	×ÑœŸ™ g¨sÓ3×8Ñ8¸Ó;¸VÔDØ×ÑœŸ™ g¨tÓ4×9Ñ9¸!Ó<¸fÔEØ×ÑœŸ™ g¨uÓ5×:Ñ:¸1Ó=¸vÔFð 	×ÑœŸ™ k°5Ó9×?Ñ?ÓAÀ5ÔIð 	×ÑœŸ™ o°{ÓC×HÑHÓJð Mô 	ð
 	×ÑœŸ™Ð&8¸#Ó>×CÑCÓEÀvÔNØ×ÑœŸ™Ð&8¸$Ó?×DÑDÓFÈÔOð 	×ÑœŸ™ n°fÓ=×CÑCÀAÓFÈÔOð 	×ÑœŸ™ n°eÜ—‘ôß™˜q› 5ô	*ð
 	×ÑœŸ™Ð&<Ø
óß™˜Q ›
Ð$4ô	6à×ÑœŸ™Ð&<Ø
óß™˜Q ›
Ð$4ô	6à×ÑœŸ™Ð&<Ø
óß™˜Q ›
Ð$4ô	6à×ÑœŸ™Ð&<Ø
óß™˜Q ›
Ð$6ô	8ð
 	×ÑœŸ™Ð&:¸EÓB×HÑHÈÓKØ
ô	ð
 	×ÑœŸ™Ð';Ø
?Ø˜5�>ô#ò%"ô	#ð 	×ÑœŸ™Ð'7Ø
?óAòC<ô	=ð 	×ÑœŸ™Ð'7Ø
?óAòC?ô	@ð 	×ÑœŸ™Ð';Ø
?óAòC?ô	@ð 	×ÑœŸ™Ð&;¸SÓA×GÑGÈÈ1Ø
óØô	 ð
 	×ÑœŸ™Ð&8¸$Ó?×DÑDÀQÈÓJØ
ô	ð 	×ÑœŸ™ g¨sÓ3×9Ñ9¸!¸QÓ?ÀÔKð 	×ÑœŸ™ j°(Ó;¸TÔBð 	×ÑœŸ™ m°TÓ:¸DÔAð 	×ÑœuŸ{™{¨D×,@Ñ,@ñ C"ô 	#ð 	×ÑœŸ™ e¨XÓ6×;Ñ;¸AÓ>ÀÔGð 	×ÑœŸ™Ð&EØ
óß‘E˜!“H˜hô	(ð
 	×ÑœŸ™ j°#Ó6¸Ô=ð 	×ÑœŸ™Ð&7Ð9JÓKØ
ô	ð
 	×ÑœŸ™Ð&9¸9ÓE×KÑKÈAØ
ˆQóØ&ô	(ð 	×ÑœŸ™Ð'7Ð9IÓJØ�%ˆ.ô	à×ÑœŸ™Ð'7Ð9IÓJØ�%ˆ.ô	à×ÑœŸ™Ð'8Ð:JÓKØ�%ˆ.ô	à×ÑœŸ™Ð'8Ð:JÓKØ�%ˆ.ô	ð 	×ÑœŸ™ n°hÓ?×EÑEÓGØ
ô	à×ÑÜ
�.‰.Ð=Ø
4ô6ó7ñ6ð )*˜!Ÿ'™'�)ð6ñ7à9JØ
ð9ô	ð 	×ÑœŸ™Ð&IØ
ó!ß!)¡¨%£ò 3ô	ð
 	×ÑœuŸ{™{¨D¯O©Oñ >$ô 	'ð 5ˆð ˆØ×ÑœŸ™ b¨#¬u¯©Ó?ÀÑBØ
'ô	)ð 	×ÑœŸ™ y°-Ó@À7À)ÔLð 	×ÑœœuŸy™y¨°7Ø
PÜ
�*‰*ó ó ô Ð\Ó
]ô	_ð 	×ÑœŸ™ ^°XÓ>ÀÔEð 	×ÑœŸ™Ð%6¸Ó=×CÑCÀCÓHð LØðKô 	ð
 	×ÑœŸ™ 6Ñ+CÀWÓMØ
ô	ô
 �]‰]Ð+´5·8±8Ô<ˆØ×Ñ˜Ÿ™ ;Ó/°Ô6Ø×Ñ˜Ÿ™ KÓ0°"Ô5ð 	×ÑœuŸ{™{¨D×,@Ñ,@ñ C!ô 	"ð 	×ÑœŸ™ g¸EÔBÀKÔPØ×ÑœŸ™ g¸DÔAÀ9ÔMØ×ÑœŸ™ gÓ.°	Ô:à×ÑœŸ™ h¸UÔCÀ\ÔRØ×ÑœŸ™ h¸TÔBØ
ô	à×ÑœŸ™ hÓ/°Ô<ð 	×ÑœŸ™Ð&<Ø
óß‘&“(˜Jô	(à×ÑœŸ™Ð&<Ø
óß‘&“(˜Jô	(à×ÑœŸ™Ð&=Ø
óß‘&“(˜Jô	(ô �m‰m˜F¬%¯.©.¼5¿=¹=Ñ*HÔIˆØ×Ñ¨S¯\©\¸&Ô-AÓBÑ-A¨˜!Ÿ'™'�)Ð-AÑBÀUÀGÔLØ×Ñ˜Ÿ™ VÓ,¨u¨gÔ6àˆØ×Ñ¨S¯\©\¸#Ô->Ó?Ñ->¨˜!Ÿ'™'�)Ð->Ñ?À%ÀÔIØ×Ñ˜Ÿ™ SÓ)¨E¨7Ô3ä�m‰m˜F¬%¯.©.¼5×;KÑ;KÑ*KÜ
�-‰-ñ+ô ˆà×Ñ¨S¯\©\¸&Ô-AÓBÑ-A¨˜!Ÿ'™'�)Ð-AÑBÀUÀGÔLØ×Ñ˜Ÿ™ VÓ,¨u¨gÔ6àˆØ×Ñ¨S¯\©\¸#Ô->Ó?Ñ->¨˜!Ÿ'™'�)Ð->Ñ?À%ÀÔIØ×Ñ˜Ÿ™ SÓ)¨E¨7Ô3ô ×Ñ˜yÒ(Ø×ÑœUŸY™Y y°#°vÓ>ÀÕEà×ÑœUŸY™Y y°#°vÓ>ÀÔDØ×ÑœŸ™ 9¨c°6Ó:¸DÔAä×Ñ˜yÒ(Ø×ÑœUŸY™Y z°3¸Ó?ÀÕMà×ÑœUŸY™Y z°3¸Ó?ÀÔMØ×ÑœŸ™ :¨s°FÓ;¸[ÔIð 	×ÑœŸ™Ð#8Ø
 ¬e¯l©lô<Ø=Nô	Pð 	×ÑœŸ™Ð%:Ø	óß‘˜iô	)à×ÑœŸ™Ð%>Ø
óß‘˜yô	*à×ÑœŸ™Ð%>Ø
óß‘˜yô	*ð 	×ÑœŸ™Ð%5°uÓ=×JÑJØ
ô	à×ÑœŸ™Ð%9Ø
óß‘˜yô	*à×ÑœŸ™Ð%9Ø
óß‘˜yô	*ð 	×ÑœŸ™Ð%6¸Ó@×MÑMØ
ô	à×ÑœŸ™Ð%:Ø
óß‘< ô	,à×ÑœŸ™Ð%:Ø
óß‘< ô	,ð 	×ÑœŸ™Ð%6Ø
óß ‘L )ô	-à×ÑœŸ™Ð%:Ø
óß ‘L )ô	-à×ÑœŸ™Ð%:Ø
óß ‘L )ô	-ð 	×ÑœŸ™Ð%6¸Ó@×MÑMØ
ô	à×ÑœŸ™Ð%:Ø
óß‘< ô	,à×ÑœŸ™Ð%:Ø
óß‘< ô	,ð 	×ÑœŸ™Ð'?Ø
/ó1Ø24ô	6ð
 	×ÑœŸ™ 4¨°3Ó7¸Ô=ð 	×ÑœœeŸk™k¨$°´U·[±[ÓAÓBÀDÔIð 	×ÑœŸ™Ð':¸HÓEÈØ
ðHô 	à×ÑœŸ™Ð'8¸(ÓCÀcØ
ðFô 	à×ÑœŸ™Ð';¸XÓFÈØ
ðIô 	à×ÑœŸ™Ð'9¸8ÓDÀsØ
ðGô 	ð 	×ÑœuŸ{™{Ð,NÙ
(ô	*ð 	×ÑœŸ™Ð%DØ
óß‰u�Q˜˜1‹~˜}ô	.à×ÑœŸ™Ð%FØ
óß‰u�Q˜˜1‹~˜}ô	.ð —‘Ñ7¬¨g¬Ó7Ó7ˆà×Ñœ˜rŸw™w¤u§}¡}Ð5HØ
ó(ó  ó Ü˜"Ÿ'™'¤%§-¡-Ð0QØ
ó#ó ó ô	ð 	×Ñœ˜rŸw™w¤u§}¡}Ð5HØ
ó(ó  ó Ü˜"Ÿ'™'¤%§-¡-Ð0AØ
ó#ó ó ô	ð 	×Ñœ˜rŸw™w¤u§}¡}Ð5HØ
ó(ó  ó Ü˜"Ÿ'™'¤%§-¡-Ð0JØ
ó#ó ó ô	ð 	×Ñœ˜rŸw™w¤u§}¡}Ð5HØ
ó(ó  ó Ü˜"Ÿ'™'¤%§-¡-Ð0RØ
ó#ó ó ô	ð 	×Ñœ˜rŸw™w¤u§}¡}Ð5HØ
ó(ó  ó Ü˜"Ÿ'™'¤%§-¡-Ð0FÈÓ"NÓOÓPô	Rà×Ñœ˜rŸw™w¤u§}¡}Ð5HØ
ó(ó  ó Ü˜"Ÿ'™'¤%§-¡-°¸uÓ"EÓFÓGô	Ià×Ñœ˜rŸw™w¤u§}¡}Ð5HØ
ó(ó  ó Ü˜"Ÿ'™'¤%§-¡-Ð0sØ
ó#ó ó ô	ð 	×Ñœ˜rŸw™w¤u§}¡}Ð5HØ
ó(ó  ó Ü˜"Ÿ'™'¤%§-¡-Ð0AØ
ó#ó ó ô	ð 	×Ñœ˜rŸw™w¤u§}¡}Ð5HØ
ó(ó  ó Ü˜"Ÿ'™'¤%§-¡-Ð0\Ð^cÓ"dÓeÓfô	hà×Ñœ˜rŸw™w¤u§}¡}Ð5HØ
ó(ó  ó ä
�—‘œŸ™Ð&_Ø
óó ó ô	ð 	×Ñœ˜rŸw™w¤u§}¡}Ð5HØ
ó(ó  ó Ü˜"Ÿ'™'¤%§-¡-Ð0FØ
ó#ó ó ô	ð 	×Ñœ˜rŸw™w¤u§}¡}Ð5HØ
ó(ó  ó Ü˜"Ÿ'™'¤%§-¡-Ð0AØ
ó#ó ó ô	ð 	×Ñœ˜rŸw™w¤u§}¡}Ð5GØ
ó(ó  ó Ü˜"Ÿ'™'¤%§-¡-ð  1DØ
ó#ó ó ô	ð 	×Ñœ˜rŸw™w¤u§}¡}Ð5IØ
ó(ó  ó Ü˜"Ÿ'™'¤%§-¡-Ð0CØ
ó#ó ó ô	ô
 ”e˜E“lÓ#ˆà×Ñœ˜sŸx™x¬¯©Ð6NØ
ó)ó  ó Ü˜#Ÿ(™(¤5§=¡=Ð1WØ
ó$ó ó ô	ð 	×Ñœ˜sŸx™x¬¯©Ð6NØ
ó)ó  ó Ü˜#Ÿ(™(¤5§=¡=Ð1GÈÓ#OÓPÓQô	Sà×Ñœ˜sŸx™x¬¯©Ð6NØ
ó)ó  ó Ü˜#Ÿ(™(¤5§=¡=Ð1IÈ5Ó#QÓRÓSô	Uà×Ñœ˜sŸx™x¬¯©Ð6NØ
ó)ó  ó Ü˜#Ÿ(™(¤5§=¡=Ð1XØ
ó$ó ó ô	ð 	×Ñœ˜sŸx™x¬¯©Ð6NØ
ó)ó  ó Ü˜#Ÿ(™(¤5§=¡=Ð1LØ
ó$ó ó ô	ð 	×Ñœ˜sŸx™x¬¯©Ð6NØ
ó)ó  ó Ü˜#Ÿ(™(¤5§=¡=Ð1CÀUÓ#KÓLÓMô	Oà×Ñœ˜sŸx™x¬¯©Ð6NØ
ó)ó  ó Ü˜#Ÿ(™(¤5§=¡=Ð1yð  |Aó  $Bó  Có  Dô	Eà×Ñœ˜sŸx™x¬¯©Ð6NØ
ó)ó  ó Ü˜#Ÿ(™(¤5§=¡=Ð1GÈÓ#OÓPÓQô	Sà×Ñœ˜sŸx™x¬¯©Ð6NØ
ó)ó  ó Ü˜#Ÿ(™(¤5§=¡=Ð1_ÐafÓ#gÓhÓiô	kà×Ñœ˜sŸx™x¬¯©Ð6NØ
ó)ó  ó Ü˜#Ÿ(™(¤5§=¡=Ñ1lØ
ó$ó ó ô	ð 	×Ñœ˜sŸx™x¬¯©Ñ6NØ
ó)ó  ó Ü˜#Ÿ(™(¤5§=¡=Ñ1LÈeÓ#TÓUÓVô	Xà×Ñœ˜sŸx™x¬¯©Ñ6NØ
ó)ó  ó Ü˜#Ÿ(™(¤5§=¡=Ñ1GÈÓ#OÓPÓQô	Sà×Ñœ˜sŸx™x¬¯©Ñ6MØ
ó)ó  ó Ü˜#Ÿ(™(¤5§=¡=ñ  2Jð  LQó  $Ró  Só  Tô	Uà×Ñœ˜sŸx™x¬¯©Ñ6OØ
ó)ó  ó Ü˜#Ÿ(™(¤5§=¡=Ñ1IÈ5Ó#QÓRÓSô	Uð 	×ÑœœuŸ|™|©F±JÓ?×EÑEÓGÓHÜ
‘‹/ô	ð
 	×ÑœŸ™Ñ&7¹Ó?×FÑFÓHñ Kô 	ð
 	×ÑœŸ™¡6©7°DÓ9¹8ÔDØ×ÑœŸ™¡:©w¸Ó=¹xÔHØ×ÑœŸ™¡F©G°TÓ:¹HÔEØ×ÑœŸ™¡J±¸Ó>ÁÔIð 	×ÑœŸ™©°DØõß™› ô	(à×ÑœŸ™©°DØõß™ ô	'ð
 	×ÑœŸ™¡f©g¸tÕD×IÑIÓKÙ
ô	à×ÑœŸ™¡f©g¸tÕD×IÑIÓKÙ
ô	à×ÑœŸ™¡k±7Øõß™›¡ô	(ð 	×ÑœŸ™¡U©CÓ0×5Ñ5Ó7¸Ô@ð 	×ÑœŸ™Ñ%5±tÓ<¸dÔCð 	×ÑœŸ™Ñ'<¹jÓIÛ
+ô	-à×ÑœŸ™Ñ'=¹zÓJÛ
+ô	-ð 	×Ñ¬E¯N©NÑ;NÙ
ô-ó ñ - q˜!Ÿ&™&�(ð -ñ ÛBô	Dà×ÑÜ
�.‰.Ñ-©Ô
?óAÙ
?ð ()˜!Ÿ&™&�(Ø
?ñAóC#ô	$ð 	×ÑœŸ™Ñ&HÙ
óØñÙô	 à×ÑœŸ™Ñ&HÙ
óØñÙ ô	"ð 	×ÑœŸ™Ñ&=¹tÓDÀQÑGÉÔNØ×ÑœŸ™Ñ&HÙ
óØ ñ"Ù#6ô	8ð 	×ÑœŸ™¡k°6Ó:×@Ñ@ÀÀAÓFñ Iô 	à×ÑœŸ™¡}±jÓAÁDÙ
ðDô 	à×ÑœŸ™¡¹
ÓCÀfÙ
ðFô 	ð 	×ÑœŸ™¡o°vÓ>×DÑDÀQÈÓJÙ
ô	à×ÑœŸ™Ñ'8¹*ÓEÉØ
ðHô 	à×ÑœŸ™Ñ':¹JÓGÙ�6Ð
ô	ð 	×ÑœŸ™Ñ&_Ù
óØñÙ*ô	,ð 	×ÑœŸ™Ñ&LÈcÓR×XÑXÑYbÓcÐeiÔjØ×ÑœŸ™Ñ&LÈcÓR×[Ñ[Ñ\eÓfÐilÐhmÔnð 	×ÑœŸ™¡n±eÓ<¸QÑ?ÁÔEØ×ÑœŸ™Ñ&8¹%Ó@ÀÑCÁSÔIà×ÑœŸ™Ñ&6¹Ó>ÀÔEØ×ÑœŸ™Ñ&:¹EÓBÀ1ÑEÁuÔMØ×ÑœŸ™Ñ&<¹hÓGÈÑJÙ
ô	à×ÑœŸ™Ñ&<¹hÓGÈÑJÙ
ô	à×ÑœŸ™Ñ&=¹xÓHÈÑKÙ
ô	à×ÑœŸ™Ñ&=¹xÓHÈÑKÙ
ô	à×ÑœŸ™Ñ&DÙ
óØñÙ ô	"à×ÑœŸ™Ñ&DÙ
óØñÙô	à×ÑœŸ™Ñ&DÙ
óØñÙô	à×ÑœŸ™Ñ&EÙ
óØñÙô	ð 	×ÑœŸ™Ñ&:¹EÓBÀDÔIØ×ÑœŸ™Ñ&?ÁÓGÈÑJÙ
ô	à×ÑœŸ™Ñ&@Ù
óØñÙ ô	"à×ÑœŸ™Ñ&@Ù
óØñÙô	à×ÑœŸ™Ñ&HÙ
óØñÙ ô	"à×ÑœŸ™Ñ&HÙ
óØñÙô	à×ÑœŸ™Ñ&HÙ
óØñÙô	à×ÑœŸ™Ñ&IÙ
óØñÙô	ð 	×ÑœŸ™Ñ&;¹XÓFÀqÑIÙ
ô	à×ÑœŸ™Ñ&;¹XÓFÀqÑIÙ
ô	à×ÑœŸ™Ñ&<¹hÓGÈÑJÙ
ô	à×ÑœŸ™Ñ&<¹hÓGÈÑJÙ
ô	à×ÑœŸ™Ñ&CÙ
óØñÙ ô	"à×ÑœŸ™Ñ&CÙ
óØñÙô	à×ÑœŸ™Ñ&CÙ
óØñÙô	à×ÑœŸ™Ñ&DÙ
óØñÙô	ð 	×ÑœŸ™Ñ&?ÁÓJÈ1ÑMÙ
ô	à×ÑœŸ™Ñ&?ÁÓJÈ1ÑMÙ
ô	à×ÑœŸ™Ñ&GÙ
óØñÙ ô	"à×ÑœŸ™Ñ&GÙ
óØñÙô	à×ÑœŸ™Ñ&GÙ
óØñÙô	à×ÑœŸ™Ñ&HÙ
óØñÙô	ñ.ˆð 	×ÑœœUŸ]™]Ñ+HÈ$ÓOÓPÐRSÔTð 	×ÑœŸ™¡X©tÓ4×9Ñ9Ó;¸VÔDð 	×ÑœŸ™ñ  &WÙ
óØñÙ$ô	&ô —]‘]ñ $ó ˆ
ñˆ	ð 	×ÑØ
×
Ñ
˜iÔ
(ó*Ù
(ð ,-˜!Ÿ&™&  A�,Ø
(ñ*Ù,>ñ Að ,ô	ð
 	×ÑœŸ™¡oÙ
+¬U¯_©_ó>ß>B¹d»fÁgô	Oà×ÑœŸ™Ñ&6Ù
+¬U¯_©_ó>ß>B¹d»fÁgô	Oð 	×ÑœŸ™Ñ%;¹XÓF×KÑKÓMÙ
ô	à×ÑœŸ™Ñ%:¹HÓEÀtÔLØ×ÑœŸ™Ñ&IÙ
óß™›¡ô	)à×ÑœŸ™Ñ'JÙ
2ó4Ù6;¹U°^ô	Eð 	×ÑœŸ™¡n±hÓ?×EÑEÀaÈÓKÙ
ô	à×ÑœŸ™¡m±XÓ>×DÑDÀQÈÓJÙ
ô	à×ÑœŸ™¡>±5¹(ÓCÁUÔKØ×ÑœŸ™¡=±%¹ÓBÁEÔJð 	×ÑœŸ™Ñ%5±tÁÀÕF×KÑKÓMØ
ô	à×ÑœŸ™Ñ%5±tÁÀÕF×KÑKÓMØ
ô	ð 	×ÑœŸ™¡e©YÓ7×<Ñ<Ó>ÁÔGØ×ÑœŸ™¡i±Ó;×@Ñ@ÓBÁFÔKð 	×ÑœŸ™Ñ&9Ù
óß™›¡ô	)à×ÑœŸ™Ñ&9Ù
óß™›¡ô	)à×ÑœŸ™Ñ&:Ù
óß™›¡ô	)ô �M‰M™.±5¹%°.ÕAˆÜ�L‰L˜‹OˆÜ�L‰L˜‹OˆØ×Ñ˜Ÿ™¡›×,Ñ,Ó.°Ô7ð 	×ÑœŸ™¡^±XÜ—‘ô!ß!%¡£©ô	1à×ÑœŸ™¡^±WÜ—‘ô!ß!%¡£©ô	1à×ÑœŸ™¡^°SÜ—‘ô!Ø"&ô	(à×ÑœŸ™Ñ%7¹Ü—‘ô!ß!%¡£©ô	1à×ÑœŸ™Ñ%7¹Ü—‘ô!ß!%¡£©ô	1à×ÑœŸ™Ñ%7¸Ü—‘ô!Ø"&ô	(ð 	×Ñœ%Ÿ+™+ò (>ô 	?ð 	×Ñœ%Ÿ+™+Ò'EÔFð 	×ÑœœeŸm™m©KÓ8Ó9¸4Ô@ð 	×ÑœœeŸm™m©NÓ;Ó<¸dÔCð 	×ÑœŸ™Ñ'ZÙ
7¼×9KÑ9KóMá3ñ 6ð ô	ð 	×ÑœŸ™Ñ&=Ù
0¸$õ@ß@DÁÃñ Iô	ñ
 8ˆÙ5ˆà×ÑœœeŸk™k©(°WÑ*<Ø
óó Øô	à×ÑœœeŸk™k©(°WÑ*<Ø
óó Øô	ð 	×ÑœœeŸk™k©(°WÑ*<Ø
óó Øô	à×ÑœœeŸk™k©(°WÑ*<Ø
óó Øô	ð 	×ÑœœeŸk™k©)°gÑ*=Ø
óó Øô	à×ÑœœeŸk™k©)°gÑ*=Ø
óó Øô	ð 	×ÑœœeŸl™l©=¹$ÁEÙ
ðDõ ó Øô	à×ÑœœeŸl™l©>¹4ÁUÙ
ðEõ ó Øô	à×ÑœœeŸl™l©>¹4ÁUÙ
ðEõ ó Øô	à×ÑœœeŸl™l©?¹DÁeÙ
ðFõ ó Øô	ð 	×ÑœŸ™Ñ&BÁIÙ‘Tˆ]õß!™T›V¡Vô	-à×ÑœŸ™Ñ&CÙ
™¡˜õ'ß(,©«±ô	8ð 	×ÑœŸ™Ñ&;Ù
óß‘T“V™Vô	%à×ÑœŸ™Ñ&<Ù
óß‘T“V™Vô	%ð
 	×ÑœŸ™Ñ%RÙ
óß‘4“6™6ô	#à×ÑœŸ™Ñ%RÙ
óØô	ð
 	×ÑœŸ™Ñ%:Ù
óß‘t“v™vô	'à×ÑœŸ™Ñ%FÙ
0ó2ß26±$³&¹'ô	Cñ ˆñ yÐØ×ÑœœeŸl™lÐ+;¸QÓ?Ó@À%ÔHð 	×ÑœœeŸk™k©-¹Ó?Ó@À$ÔGØ×ÑœœeŸk™k©-¹Ó?Ó@À%ÔHØ×ÑœœeŸk™k©/¹5ÓAÓBÀDÔIØ×ÑœœeŸk™k©/¹5ÓAÓBÀEÔJð 	×ÑœœeŸk™kÑ*]Ù
óó Øô	ð 	×ÑœŸ™Ñ%?Ù
óß‘F“H™hô	(ð 	×ÑœŸ™¡o±wÜ
�/‰/óß™4›6¡6ô	+à×ÑœŸ™¡o±wÜ
�/‰/óß'™<¨ô	4ð 	×ÑœŸ™Ñ&7¹Ü
�/‰/óß™4›6¡6ô	+à×ÑœŸ™Ñ&7¹Ü
�/‰/óß'™<¨ô	4ð 	×ÑœŸ™Ñ&6¹Ü
�/‰/óß™4›6¡7ô	,à×ÑœŸ™Ñ&6¹Ü
�/‰/óß'™<©ô	4ð
 	×ÑœŸ™¡g©x¼u¿~¹~Ü
×
Ñ
ñ@ô ß ™D›F¡Fô	,ð 	×ÑœŸ™Ñ'9¹:ÓFÙˆ(ô	à×ÑœŸ™Ñ'\Ù
óÙ�xô	!ð 	×ÑœŸ™Ñ'DÙ
4ó6ñ9Ù'ð8)ô	*ð 	×ÑœŸ™Ñ'BÙ
4ó6Ø79ô	;à×ÑœŸ™Ñ'BÙ
4ó6Ù8LÐ7Mô	Oà×ÑœŸ™Ñ'BÙ
4ó6ó8=ô	>ð 	×ÑœŸ™Ñ&@Ù
óß#™e›g¡zô	3à×ÑœŸ™Ñ&@Ù
óß#™e›g¡zô	3ð 	×ÑœŸ™Ñ&AÙ
óß ™5›7¡Jô	0à×ÑœŸ™Ñ&AÙ
óß ™5›7¡Jô	0ð 	×ÑœŸ™Ñ&DÙ
óß#™e›g¡zô	3à×ÑœŸ™Ñ&DÙ
óß#™e›g¡zô	3ð 	×ÑœŸ™Ñ&EÙ
óß ™5›7¡Jô	0à×ÑœŸ™Ñ&EÙ
óß ™5›7¡Jô	0ð
 	×ÑœŸ™Ñ&<Ù
óß‘U“W™iô	)à×ÑœŸ™Ñ&=Ù
óß‘U“W™iô	)à×ÑœŸ™Ñ&=Ù
óß‘U“W™iô	)à×ÑœŸ™Ñ&>Ù
óß‘U“W™iô	)ð 	×ÑœŸ™¡g¸EÐRWÕXÑZgÔhØ×ÑœŸ™¡g¸EÐRVÕWÑYdÔeØ×ÑœŸ™¡g¸DÐQVÕWÑYdÔeØ×ÑœŸ™¡g¸DÐQUÕVÑXaÔbà×ÑœŸ™¡gÓ.±Ô<ð 	×ÑœŸ™¡n°cÓ:×?Ñ?ÓAÀ6ÔJØ×ÑœŸ™¡n±cÓ:×?Ñ?ÓAÀ6ÔJØ×ÑœŸ™¡m±SÓ9×>Ñ>Ó@Á&ÔIØ×ÑœŸ™¡m°RÓ8×=Ñ=Ó?ÁÔHØ×ÑœŸ™¡k°2Ó6×;Ñ;Ó=¹vÔFð 	×ÑœŸ™Ñ&FØ
óß‘“™8ô	%à×ÑœŸ™Ñ&FØ
óß‘“™v t˜nô	.à×ÑœŸ™Ñ&FØ
óß‘“¡&¨3¨% ô	2ð 	×ÑœŸ™Ñ&JØ
óß‘“™8ô	%à×ÑœŸ™Ñ&JØ
óß‘“™v t˜nô	.à×ÑœŸ™Ñ&JØ
óß‘“¡&¨3¨% ô	2ð 	×ÑœŸ™Ñ&LØ
óß‘“™8ô	%à×ÑœŸ™Ñ&LØ
óß‘“™v t˜nô	.à×ÑœŸ™Ñ&LØ
óß‘“¡&¨3¨% ô	2ð 	×ÑœœeŸk™kÑ*>ÀÓGÓHÈ$ÔOð 	×ÑœŸ™Ñ&8¹)Øõß™›¡ô	(à×ÑœŸ™Ñ&<¹iØõß™›¡ô	(ð 	×ÑœœeŸk™kÑ*@Ù
óó Øô	à×ÑœœeŸk™kÑ*CÙ
óó Øô	à×ÑœœeŸk™kÑ*NÙ
óó Øô	à×ÑœœeŸk™kÑ*KÙ
óó Øô	à×ÑœœeŸk™kÑ*KÙ
óó Øô	à×ÑœœeŸk™kÑ*KÙ
óó Øô	ð
 	×ÑœœeŸk™kÑ*>ÁÓDÓEÀtÔLØ×ÑœœeŸk™kÑ*=¹sÓCÓDÀeÔLØ×ÑœœeŸk™kÑ*?ÁÓEÓFÈÔMØ×ÑœœeŸk™kÑ*KÉSÓQÓRØ
ô	à×ÑœœeŸk™kÑ*?ÁÓJÓKÈTÔRØ×ÑœœeŸk™kÑ*AÁ8ÓLÓMØ
ô	à×ÑœœeŸk™kÑ*CÁXÓNÓOØ
ô	à×ÑœœeŸk™kÑ*>ÁÓIÓJÈEÔRð 	×ÑœŸ™Ñ)9¸5ÓA×JÑJÈ3ÓOÛ
ô	à×ÑœŸ™Ñ)9¸5ÓA×GÑGÈÓLØ
ô	ð 	×ÑœŸ™Ñ)CØ
óß‘˜#“£ô	1à×ÑœŸ™Ñ)CØ
óß‘�s“™Sô	"ð 	×ÑœŸ™¡Y°¸dÕC×KÑKØ
ô	à×ÑœŸ™¡Y±ÀÕE×MÑMØ
ô	à×ÑœŸ™¡Z°¸TÕB×JÑJØ
ô	à×ÑœŸ™¡Z°¸tÕD×LÑLØ
ô	à×ÑœŸ™¡Z±ÀÕF×NÑNØ
ô	à×ÑœŸ™¡Y°¸dÕC×KÑKØ
ô	à×ÑœŸ™¡Y±ÀÕE×MÑMØ
ô	à×ÑœŸ™¡Z°¸tÕD×LÑLØ
ô	à×ÑœŸ™¡Z°¸tÕD×LÑLØ
ô	à×ÑœŸ™¡Z±ÀÕF×NÑNØ
ô	ð 	×ÑœŸ™¡]°DÀ$ÕG×OÑOØ
ô	à×ÑœŸ™¡]±FÀDÕI×QÑQØ
ô	à×ÑœŸ™¡^°RÀÕF×NÑNØ
ô	à×ÑœŸ™¡^°TÀ4ÕH×PÑPØ
ô	à×ÑœŸ™¡^±VÀTÕJ×RÑRØ
ô	à×ÑœŸ™¡]°DÀ$ÕG×OÑOØ
ô	à×ÑœŸ™¡]±FÀDÕI×QÑQØ
ô	à×ÑœŸ™¡^°TÀ4ÕH×PÑPØ
ô	à×ÑœŸ™¡^°TÀ4ÕH×PÑPØ
ô	à×ÑœŸ™¡^±VÀTÕJ×RÑRØ
ô	ð 	×ÑœŸ™¡T¨2°tÕ<×DÑDÀeÔLØ×ÑœŸ™¡U¨B¸Õ=×EÑEÀuÔMØ×ÑœŸ™¡U¨B¸Õ=×EÑEÀuÔMØ×ÑœŸ™¡T¨2°tÕ<×DÑDÀdÔKØ×ÑœŸ™¡U¨B¸Õ=×EÑEÀtÔLØ×ÑœŸ™¡U¨B¸Õ=×EÑEÀtÔLØ×ÑœŸ™¡T¨3¸Õ=×EÑEÀuÔMØ×ÑœŸ™¡U¨C¸Õ>×FÑFÈÔNØ×ÑœŸ™¡U¨C¸Õ>×FÑFÈÔNà×ÑœŸ™¡X¨r¸4Õ@×HÑHÈ%ÔPØ×ÑœŸ™¡Y°¸DÕA×IÑIÈ5ÔQØ×ÑœŸ™¡Y°¸DÕA×IÑIÈ5ÔQØ×ÑœŸ™¡X¨r¸4Õ@×HÑHÈ$ÔOØ×ÑœŸ™¡Y°¸DÕA×IÑIÈ4ÔPØ×ÑœŸ™¡Y°¸DÕA×IÑIÈ4ÔPØ×ÑœŸ™¡X¨s¸DÕA×IÑIÈ5ÔQØ×ÑœŸ™¡Y°¸TÕB×JÑJÈEÔRØ×ÑœŸ™¡Y°¸TÕB×JÑJÈEÔRà×ÑœŸ™Ñ%5±zÈ4ÕP×XÑXØ
ô	ñGˆñˆô, �L‰L˜ $¬e¯o©oÔ>ˆØ×Ñ˜Ÿ™¨Ô3Ø×Ñ˜Ÿ™¨2±¨v°rÐ*:Ô;ð 	×ÑœŸ™Ñ&RÙ
óß!‘\¡9ô	.à×ÑœŸ™Ñ&RÙ
óß!‘\ 9ô	.ð 	×ÑœŸ™¡uÙ
FóHáGÐ
Hô	Jð
 	×ÑœœeŸl™l©9°cÓ:Ó;¸TÔBØ×ÑœœeŸl™l©9°cÓ:Ó;¸TÔBð 	×ÑœŸ™©¹Ó>×CÑCÓEÀvÔNð 	×ÑœŸ™ñ  'FÙ
óß!‘\“^±¨yÀ2Ùˆ)ò&ô	ð
 	×ÑœœeŸk™kÑ*>ÁÓFÓGÈÔNØ×ÑœœeŸk™kÑ*<¹eÓDÓEÀtÔLð 	×ÑœŸ™Ñ&hÙ
&ó(ß(5©¸¸BÃÐ7Mô	Oð 	×ÑœŸ™¡\±3Ó7×DÑDñ Gô 	à×ÑœŸ™¡\±3Ó7×EÑEÈÈØ
ˆqˆcðHô 	à×ÑœŸ™Ñ%5±sÓ;×HÑHñ Kô 	à×ÑœŸ™Ñ%5±sÓ;×IÑIØˆr�A�3ˆ-ô	à×ÑœŸ™Ñ%5±sÓ;×HÑHñ Kô 	à×ÑœŸ™Ñ%5±sÓ;×IÑIØˆr�A�3ˆ-ô	ð 	×ÑœŸ™Ñ%XÙ
óß)™\©9ô	6à×ÑœŸ™Ñ%[Ù
óß)™\¨9ô	6à×ÑœŸ™Ñ%eÙ
óß)™\¨9ô	6à×ÑœŸ™Ñ%[Ù
óß)™\©9ô	6à×ÑœŸ™Ñ%[Ù
óß)™\©9ô	6ð 	×ÑœŸ™Ñ)JÙ
óß‘, 	ô	+à×ÑœŸ™Ñ)KÙ
óß‘, 	ô	+ð 	×ÑœŸ™Ñ&LÙ
9ó;Ø<@ô	Bð 	×ÑœœeŸm™m©FÓ3Ó4°dÔ;Ø×ÑœœeŸm™m©JÓ7Ó8¸$Ô?ð 	×ÑœŸ™Ñ':¹IÓFÛ
ô	à×ÑœŸ™Ñ'>Á	ÓJÛ
ô	ð 	×ÑœŸ™Ñ%6¹	Ü—‘ôß%™¡yô	2ð 	×ÑœœeŸk™kÑ*>ÁÓHÓIÈ4ÔPØ×ÑœœeŸk™kÑ*=¹wÓGÓHÈ$ÔOð 	×ÑœŸ™Ñ%9¹6ÓB×HÑHÓJÙ
ô	à×ÑœŸ™Ñ%9¹6ÓBÀDÔIØ×ÑœŸ™Ñ%9¹7ÓC×IÑIÓKÙ
ô	à×ÑœŸ™Ñ%9¹7ÓCÀTÔJØ×ÑœŸ™Ñ%9Ù
óß ‘= 2© s¨B -ô	1à×ÑœŸ™Ñ%;¹WÓE×KÑKÓMÙ
ô	à×ÑœŸ™Ñ%@Ù
óß ‘= 2© s¨B -ô	1ð 	×ÑœŸ™Ñ'=Ó>×DÑDÁXÓNÓPbÔcØ×ÑœŸ™Ñ'=Ó>×DÑDÁYÓOÓQdÔeà×ÑœŸ™Ñ':Ó;×BÑBÁ:ÓNÐPTÔUà×ÑœŸ™¡Ó7×>Ñ>¹xÓHÈ$ÔOä�M‰Mñ  J
ô  R
W
÷  R
Y
ñ  R
Y
ô  \
a
÷  \
d
ñ  \
d
ñ  R
d
ô  e
ˆØ×Ñ˜Ÿ™¡-Ó0×6Ñ6Ó8¹-ÔHØ×Ñ˜Ÿ™Ñ"8Ó9×?Ñ?ÓAÁ>ÔRØ×Ñ˜Ÿ™Ñ"8Ó9×?Ñ?ÓAÁ<ÔPØ×Ñ˜Ÿ™Ñ"8Ó9×?Ñ?ÓAÁ>ÔRñ Hˆñ Mˆä�K‰K˜ ´·±ÔAˆØ×Ñ˜Ÿ™›¡7Ô+Ø×Ñ˜Ÿ™›Ñ3CÉwÑ_fñ  pHñ  QWò  )Xô  	Yä�K‰K˜ ´×1CÑ1CÔDˆØ×Ñ˜Ÿ™›¡7Ô+Ø×Ñ˜Ÿ™›Ñ3CÉwÑ_fñ  pHñ  QWò  )Xô  	Yñ Jˆá;ˆÜ�K‰K˜ ´·±ÔAˆØ×Ñ˜Ÿ™©Ô3Ø×Ñ˜Ÿ™¨2¨r°2¨,Ô7á;ˆÜ�K‰K˜ ´·±ÔAˆØ×Ñ˜Ÿ™©Ô3Ø×Ñ˜Ÿ™©B±¨8°R¸Ð*<Ô=ð 	×ÑœŸ™Ñ#5Ñ7GÉÓQÑScÔdØ×ÑœŸ™Ñ$6Ñ8JÉGÓTÑVfÔgØ×ÑœŸ™Ñ&8Ñ:JÓK×RÑRÑScÓdÑfvÓwÑxØ×ÑœŸ™Ñ&8Ñ:JÓK×SÑSÑTfÓgÑiyÔzð 	×ÑœŸ™Ñ&:¹HÓEÀtÔLØ×ÑœŸ™Ñ&:¹HÌEÏGÉGÔTÐVZÔ[ð 	×ÑœŸ™¡\Ñ3SÓT×YÑYÓ[Ð]cÔdØ×ÑœŸ™Ñ%6Ñ8XÓY×^Ñ^Ó`ÐbhÔið 	×ÑœŸ™¡\Ñ3YÓZÐ\`ÔaØ×ÑœŸ™¡\Ñ3YÓZ×_Ñ_ÓaÐciÔjð 	×ÑœŸ™¡W¨eÓ4×@Ñ@ÓBÀeÀWËoÐD^Ô_Ø×ÑœŸ™¡W¨eÓ4×=Ñ=Ó?À6À(ÓLdÐAeÔfð 	×ÑœœeŸo™oÑ.@ñ  Cló  mó  nð  ptô  	uØ×ÑœœeŸo™oÑ.?ÑA[Ó\Ó]Ð_cÔdð 	×ÑœŸ™Ñ%@À#ÓFÈÔMØ×ÑœŸ™Ñ&AÀ3ÓG×LÑLÓNÐPVÔWð 	×ÑœŸ™Ñ&6¹Ó?×DÑDÓFÉÔOð 	×ÑœŸ™¡_°dÓ;×@Ñ@ÓBÀFÔKØ×ÑœŸ™¡_°dÓ;×@Ñ@ÓBÀFÔKØ×ÑœŸ™¡_°dÓ;×@Ñ@ÓBÀFÔKØ×ÑœŸ™¡_°dÓ;×@Ñ@ÓBÀFÔKð 	×ÑœŸ™Ñ%7¹ÀRÕH×MÑMÓOÑQWÔXð 	×ÑœŸ™Ñ'BÓC×IÑIÈ#ÓN×SÑSÓUÐW]Ô^Ø×ÑœŸ™Ñ'BÌ%Ï'É'ÔR×XÑXÐY\Ó]×bÑbÓdÐflÔmð 	×ÑœŸ™¡]±GÀTÕJ×OÑOÓQÑSYÔZØ×ÑœŸ™¡]±GÀTÕJÈDÔQØ×ÑœŸ™¡]±FÀDÕI×NÑNÓPÑRXÔYØ×ÑœŸ™¡]±FÀDÕI×NÑNÓPÑRXÔYØ×ÑœŸ™¡]±FÀDÕIÈ4ÔPà×ÑœŸ™Ñ%6¹ÈÕN×SÑSÓUÑW]Ô^Ø×ÑœŸ™Ñ%6¹ÈÕNÐPTÔUØ×ÑœŸ™Ñ%6¹ÈÕM×RÑRÓTÑV\Ô]Ø×ÑœŸ™Ñ%6¹ÈÕM×RÑRÓTÑV\Ô]Ø×ÑœŸ™Ñ%6¹ÈÕMÈtÔTð 	×ÑœœeŸk™kÑ*EÁsÐTXÕYÓZÐ\`ÔaØ×ÑœœeŸk™kÑ*EÁ{Ð\`ÕaÓbÐdhÔiØ×ÑœœeŸk™kÑ*EÁ|Ð]aÕbÓcÐeiÔjØ×ÑœœeŸk™kÑ*EÁ}Ð^bÕcÓdÐfjÔkØ×ÑœœeŸk™kÑ*EÑGZÐdhÕiÓjÐlpÔqØ×ÑœœeŸk™kÑ*EÑG^ÐhlÕmÓnÐptÔuØ×ÑœœeŸk™kÑ*EÑG_ÐimÕnÓoÐquÔvØ×ÑœœeŸk™kÑ*EÑGbÐlpÕqÓrÐtxÔyð 	×ÑœœeŸk™kÑ*:¸CÓ@ÓAÀ4ÔHØ×ÑœœeŸk™kÑ*<¸cÓBÓCÀTÔJØ×ÑœœeŸk™kÑ*=¸sÓCÓDÀeÔLØ×ÑœœeŸk™kÑ*<¸cÓBÓCÀTÔJØ×ÑœœeŸk™kÑ*=¸sÓCÓDÀdÔKØ×ÑœœeŸk™kÑ*<¸cÓBÓCÀTÔJØ×ÑœœeŸk™kÑ*=¸sÓCÓDÀeÔLà×ÑœŸ™Ñ&kñ lómà
ô	ð
 	×ÑœœeŸk™k©%±Ó:Ó;¸TÔBØ×ÑœœeŸk™k©*±hÓ?Ó@À%ÔHð 	×ÑœŸ™¡u©iÓ8¹3Á¸/ÔJØ×ÑœŸ™¡z±9Ó=ÁÁX¸ÔOØ×ÑœŸ™¡z±9Ó=Á¸uÔEà×ÑœŸ™¡u©i¼u¿w¹wÔGÉ#ÉxÈÔYØ×ÑœŸ™¡z±9ÄEÇGÁGÔLÉsÑT\ÈoÔ^Ø×ÑœŸ™¡z±9ÄEÇGÁGÔLÉsÈeÔTà×ÑœŸ™¡u©i¼u¿w¹wÔGÉ#ÈÔOØ×ÑœŸ™¡z±9ÄEÇGÁGÔLÉsÑT\ÈoÔ^Ø×ÑœŸ™¡z±9ÄEÇGÁGÔLÉsÈeÔTà×ÑœœUŸ]™]©8°R·W±WÒ<ZÌUÐSXÌ\Ó<ZÓ5ZÐbcÔdÓeÑgjÔkØ×ÑœœUŸ]™]©8°R·W±WÒ<ZÌUÐSXÌ\Ó<ZÓ5ZÔbg×biÑbiÔjÓkÑmoÔpØ×ÑœœUŸ]™]©8°R·W±WÒ<ZÌUÐSXÌ\Ó<ZÓ5ZÔbg×biÑbiÔjÓkÑmpÔqà×ÑœœUŸ]™]©=¸"¿'¹'ÒA_ÔRWÐX]ÔR^ÓA_Ó:_ÐghÔiÓjÑlnÔoØ×ÑœœUŸ]™]©=¸"¿'¹'ÒA_ÔRWÐX]ÔR^ÓA_Ó:_Ôgl×gnÑgnÔoÓpÑrtÔuØ×ÑœœUŸ]™]©=¸"¿'¹'ÒA_ÔRWÐX]ÔR^ÓA_Ó:_Ôgl×gnÑgnÔoÓpÑrtÔuà×ÑœœUŸ]™]©=¸"¿'¹'ÒA_ÔRWÐX]ÔR^ÓA_Ó:_ÐghÔiÓjÑloÔpØ×ÑœœUŸ]™]©=¸"¿'¹'ÒA_ÔRWÐX]ÔR^ÓA_Ó:_Ôgl×gnÑgnÔoÓpÑruÔvØ×ÑœœUŸ]™]©=¸"¿'¹'ÒA_ÔRWÐX]ÔR^ÓA_Ó:_Ôgl×gnÑgnÔoÓpÑruÔvð 	×ÑœœeŸk™kÑ*:¹HÓEÓFÈÔMØ×ÑœœeŸo™oÑ.NÑPXÓYÓZÐ\`Ôað 	×ÑœœeŸm™m©KÓ8Ó9¸4Ô@ð 	×ÑœœeŸm™mÑ,EÓFÓGÈÕNùòq(EùòN7ùòT Cùò @ùò
 Cùò @ùòrùòAùòh*sC   Å%Fo5êFo:ú)Fo?üFpþ2Fp	Á@FpÂTFpÂU"FpÂzFpc                 ó´  — | j                  t        t        j                  dd«      «      d«       | j                  t        t        j                  dd«      «      d«       | j                  t        t        j                  dd«      «      d«       | j                  t        t        j                  dd«      «      d«       | j                  t        t        j                  dd«      «      d«       | j                  t        t        j                  dd«      «      d«       | j                  t        t        j                  dd«      «      d«       | j                  t        t        j                  dd«      «      d«       | j                  t        t        j                  d	d«      «      d«       | j                  t        t        j                  d
d«      «      d«       | j                  t        t        j                  d	d«      «      d«       | j                  t        t        j                  d
d«      «      d«       | j                  t        t        j                  dd«      «      d«       | j                  t        t        j                  dd«      «      d«       | j                  t        t        j                  dd«      «      d«       | j                  t        t        j                  dd«      «      d«       | j                  t        t        j                  dd«      «      d«       | j                  t        t        j                  dd«      «      d«       | j                  t        t        j                  dd«      «      d«       | j                  t        t        j                  dd«      «      d«       | j                  t        t        j                  dd«      «      d«       | j                  t        t        j                  dd«      «      d«       | j                  t        t        j                  dd«      «      d«       | j                  t        t        j                  dd«      «      d«       | j                  t        t        j                  dd«      «      d«       | j                  t        t        j                  dd«      «      d«       | j                  t        t        j                  dd«      «      d«       | j                  t        t        j                  dd«      «      d«       | j                  t        t        j                  dd«      «      d«       | j                  t        t        j                  dd«      «      d«       | j                  t        t        j                  dd«      «      d«       | j                  t        t        j                  dd«      «      d«       | j                  t        t        j                  dd«      «      d«       | j                  t        t        j                  dd «      «      d«       | j                  t        t        j                  d!d"«      «      d«       | j                  t        t        j                  d!d#«      «      d«       | j                  t        t        j                  dd$«      «      d«       | j                  t        t        j                  dd%«      «      d«       | j                  t        t        j                  d&d'«      «      d«       | j                  t        t        j                  d&d(«      «      d«       y ))Nz(?r)(?:a){e<=1:[a-z]}rO  Tz(?:a){e<=1:[a-z]}r³   Frj  r  z(?:ab){e<=1:[a-z]}z(?r)(?:ab){e<=1:[a-z]}z(a)\1{e<=1:[a-z]}z(?r)\1{e<=1:[a-z]}(a)r�  r  z4(?fiu)(?:\N{LATIN SMALL LETTER SHARP S}){e<=1:[a-z]}ÚtsÚstz5(?firu)(?:\N{LATIN SMALL LETTER SHARP S}){e<=1:[a-z]}z-szs-z4(?fiu)(\N{LATIN SMALL LETTER SHARP S})\1{e<=1:[a-z]}ÚssstÚsstsz5(?firu)\1{e<=1:[a-z]}(\N{LATIN SMALL LETTER SHARP S})ÚstssÚtssszss-szsss-z5(?firu)(\N{LATIN SMALL LETTER SHARP S})\1{e<=1:[a-z]}z(?fiu)(ss)\1{e<=1:[a-z]}u   ÃŸtsu   ÃŸstz(?firu)\1{e<=1:[a-z]}(ss)u   stÃŸu   tsÃŸu   ÃŸ-su   ÃŸs-z(?firu)(ss)\1{e<=1:[a-z]}u   s-ÃŸu   -sÃŸr)  rC   s    r   Útest_fuzzy_extzRegexTests.test_fuzzy_ext;  sD  € Ø×ÑœœeŸo™oÐ.FÈÓLÓMØ
ô	à×ÑœœeŸo™oÐ.BÀCÓHÓIØ
ô	à×ÑœœeŸo™oÐ.BÀCÓHÓIØ
ô	à×ÑœœeŸo™oÐ.FÈÓLÓMØ
ô	ð 	×ÑœœeŸo™oÐ.BÀDÓIÓJØ
ô	à×ÑœœeŸo™oÐ.FØ
óó Øô	à×ÑœœeŸo™oÐ.BÀDÓIÓJØ
ô	à×ÑœœeŸo™oÐ.FØ
óó Øô	ð 	×ÑœœeŸo™oÐ.CÀTÓJÓKØô	à×ÑœœeŸo™oÐ.GØóó Øô	à×ÑœœeŸo™oÐ.CÀTÓJÓKØô	à×ÑœœeŸo™oÐ.GØóó Øô	ð 	×ÑœœeŸo™oÐ.BÀDÓIÓJØô	à×ÑœœeŸo™oÐ.FØóó Øô	à×ÑœœeŸo™oÐ.BÀDÓIÓJØô	à×ÑœœeŸo™oÐ.FØóó Øô	ð 	×ÑœœeŸo™oÐ.eØ
óó Øô	à×ÑœœeŸo™oÐ.eØ
óó Øô	à×ÑœœeŸo™oÐ.fØ
óó Øô	à×ÑœœeŸo™oÐ.fØ
óó Øô	à×ÑœœeŸo™oÐ.eØ
óó Øô	à×ÑœœeŸo™oÐ.eØ
óó Øô	à×ÑœœeŸo™oÐ.fØ
óó Øô	à×ÑœœeŸo™oÐ.fØ
óó Øô	ð 	×ÑœœeŸo™oÐ.eØóó Øô	à×ÑœœeŸo™oÐ.eØóó Øô	à×ÑœœeŸo™oÐ.fØóó Øô	à×ÑœœeŸo™oÐ.fØóó Øô	à×ÑœœeŸo™oÐ.eØóó Øô	à×ÑœœeŸo™oÐ.eØóó Øô	à×ÑœœeŸo™oÐ.fØóó Øô	à×ÑœœeŸo™oÐ.fØóó Øô	ð 	×ÑœœeŸo™oÐ.IØ-ó/ó 0Ø15ô	7à×ÑœœeŸo™oÐ.IØ-ó/ó 0Ø15ô	7à×ÑœœeŸo™oÐ.JØ-ó/ó 0Ø15ô	7à×ÑœœeŸo™oÐ.JØ-ó/ó 0Ø15ô	7à×ÑœœeŸo™oÐ.IØ-ó/ó 0Ø16ô	8à×ÑœœeŸo™oÐ.IØ-ó/ó 0Ø16ô	8à×ÑœœeŸo™oÐ.JØ-ó/ó 0Ø16ô	8à×ÑœœeŸo™oÐ.JØ-ó/ó 0Ø16õ	8r   c                 ó,  — | j                  t        j                  dd«      j                  d«      d«       | j                  t        j                  dd«      j                  d«      d«       | j                  t        j                  dd«      j                  d«      d«       | j                  t        j                  ddd«      d«       | j                  t        j                  ddd«      d«       | j                  t        j                  ddd«      d«       y )Nz	(?P<x>.)+r»   z{0} {0[0]} {0[-1]}zabc abc abcz0{1} {1[0]} {1[1]} {1[2]} {1[-1]} {1[-2]} {1[-3]}zc a b c c b az0{x} {x[0]} {x[1]} {x[2]} {x[-1]} {x[-2]} {x[-3]})r)   r-   rB   r%  r#  rC   s    r   Útest_subscripted_capturesz$RegexTests.test_subscripted_captures“  s÷   € Ø×ÑœŸ™ \Ø
óß‘Ð-Ó.°ô	?à×ÑœŸ™ \Ø
óß‘ÐKÓLØ
ô	ð 	×ÑœŸ™ \Ø
óß‘ÐKÓLØ
ô	ð 	×ÑœŸ™ LÐ2GØ
óØô	!à×ÑœŸ™ LØ
<¸eóEà
ô	ð 	×ÑœŸ™ LØ
<¸eóEà
õ	r   c                 ó@  — t         j                  dk\  �r | j                  t        j                  dd«      g d¢«       | j                  t        j
                  ddd«      d«       | j                  t        j                  dd«      g d¢«       | j                  t        j                  dd«      D �cg c]  }|j                  «       ‘Œ c}g d¢«       | j                  t        j                  d	d
«      D �cg c]  }|j                  «       ‘Œ c}g d¢«       y y c c}w c c}w )Nr²   z\b|:+za::bc)rÉ   r\   rÉ   rÉ   r  rÉ   r³   z-a---bc-)rÉ   rÉ   râ   rÉ   rÉ   )r6   rD  r9   rF  ©r¦  r¦  z
(?m)^\s*?$z	foo


bar)r÷  )rÕ   r¦  rð  )	r¶   r·   r)   r-   rê   rj   r/   rà  rA   rì   s     r   Útest_more_zerowidthzRegexTests.test_more_zerowidth¦  sþ   € Ü×Ñ˜yÓ(Ø×ÑœUŸ[™[¨°7Ó;ò >ô à×ÑœUŸY™Y x°°gÓ>À
ÔKØ×ÑœUŸ]™]¨8°WÓ=ò @ô à×Ñ´·±¸xØô1ó ñ 1¨1˜aŸf™f�hð 1ñ ÚAôCà×Ñ´·±¸}Øô1ó ñ 1¨1˜aŸf™f�hð 1ñ Ú 8õ:ð )ùòùòs   Â/DÃ3Dc                 ó¤   — | j                  t        j                  dd«      g d¢«       | j                  t        j                  dd«      g d¢«       y )Nz\Ru   

Â…â€¨â€©)rq   rW   ÚÚrV  ô   Â…u   â€¨u   â€©s   \Rs   

…)s   
ri   ó   ó   ó   rø   rC   s    r   Útest_line_endingzRegexTests.test_line_ending²  sD   € Ø
×Ñ”u—}‘} UÐ,LÓMÚFôHà
×Ñ”u—}‘} VÐ-BÓCò F&õ 'r   r   )…r   r   r   rƒ   r~   r§   rË   rÎ   rÌ   rÍ   rÐ   ro  rq  rœ  r­  r*  r+  r,  r-  r.  r/  rn  rp  rr  rs  rt  ru  ÚDUPLICATE_GROUPÚCANT_TURN_OFFrÍ  r*   r2   rD   rJ   rl   ro   rr   r€   r„   r¨   r®   r°   r¸   r¾   rÑ   rØ   rí   rð   rù   rý   r
  r  r  r#  r&  r)  r<  rD  rH  rN  rT  rY  rn  rp  rt  rv  r}  r€  r‡  rŠ  r™  r�  r£  r¨  r®  r²  r¶  r¸  rÌ  rÒ  rÕ  rÙ  rÞ  rã  ræ  ré  rô  rù  rþ  r  r  r0  r7  r>  rB  re  rj  rn  r�  r�  r“  r•  r—  rš  rŸ  r¡  r«  r®  r°  r²  rÊ  rÐ  rÕ  rë  r|  r€  rˆ  rž  r©  r³  rÆ  r
  r  r  r&  r*  r2  rA  rä  rì  rî  rñ  rù  rS   r   r   r   r      sØ  „ Ø.€MØUÐØ1ÐØ€JØ2€NØ-ÐØ€JØ%€OØ#€MØ1€JØ'ÐØ*€GØKÐØKÐØ>ÐØCÐØGÐØM€KØ"€NØ-€NØ*€NØ+ÐØ'€OØ0€JØ'€OØ=€MØ0€Oó
 òò
9ò"òBò>ò
	ò
3òò
7òrCòò?ò)ò2ò.Hò1òfòEò2òNò6.ò."ò Oò'ò
#BòJ/ò<'òB1òò
JòFò4VNòp<òEò>ò8ò
8ò
ò"ò
$ò 
&òIò
Aò#òò6òKòDò òò$ò1òGòòò
1ò;òDò;ò6
9ò %òD%ò6	`ò òv2òpBòMò`EòD?òJò48-òtòLò.ò`Lò*ò"Jò0ò

/ò1ò0(IòT4=òlKLòZ]7ò~LòPòHò(,ò('ò44òlòBEJòN))òVFòò,JòX3OòjmOò^)V8òpò&
:ó'r   r   c                  ó0   — t        j                  d¬«       y )NrÓ   )Ú	verbosity)ÚunittestÚmainrS   r   r   Ú	test_mainr   ¸  s   € Ü‡M�M˜AÖr   Ú__main__)Úweakrefr   r  rÓ  r-   r9  r¶   rþ  rG   r   r  r   ÚTestCaser   r   r   rS   r   r   Ú<module>r     sc   ðÝ Û Û Û Û Û 
Û ô7�#ô 7ô9�Eô 9ôdF'�×"Ñ"ô dF'òLMð ˆzÒÙ…Kð r   