ó
    F\h¡  ã                   ó>  • S r SSK7  SrSr\" S5      r\" S5      r\" S5      r\" S5      r\" S	5      r	\" \
\\15      r\" \\\\\\15      r\\" S
5      4\\" S5      4\\" S5      4\\" S5      4\\" S5      4\\" S5      4\\" S5      4\\" S5      4S.r\\4\\4\\4\\\4/4\\\4/4\\\4/4\\\4/4\\\4/4\\\ 4/4\\!4S.
r"\#\$\%\&\'\(\)S.r*\(\$-  \)-  r+\,r-Sr. " S S5      r/ " S S5      r0 " S S5      r1S r2S r3S r4S r5S&S  jr6S! r7S" r8S'S$ jr9S% r:g#)(zInternal support module for sreé   )Ú*z.\[{()*+?^$|z*+?{Ú
0123456789Ú01234567Ú0123456789abcdefABCDEFÚ4abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZz 	
ÚÚÚÚ
ÚÚ	ÚÚ\)z\aú\bz\fz\nz\rz\tz\vz\\)
z\Ar   z\Bz\dz\Dz\sz\Sz\wz\Wz\Z)ÚiÚLÚmÚsÚxÚaÚul            c                   óF   • \ rS rSrS r\S 5       rS
S jrS rS r	S r
S	rg)ÚStateéJ   c                 óL   • SU l         0 U l        S /U l        S U l        0 U l        g )Né    )ÚflagsÚ	groupdictÚgroupwidthsÚlookbehindgroupsÚgrouprefpos©Úselfs    Ú!/usr/lib/python3.13/re/_parser.pyÚ__init__ÚState.__init__L   s*   € ØˆŒ
ØˆŒØ ˜6ˆÔØ $ˆÔØˆÕó    c                 ó,   • [        U R                  5      $ ©N)Úlenr   r"   s    r$   ÚgroupsÚState.groupsR   s   € ä�4×#Ñ#Ó$Ð$r'   Nc                 ó  • U R                   nU R                  R                  S 5        U R                   [        :”  a  [	        S5      eUb=  U R
                  R                  US 5      nUb  [	        SXU4-  5      eX R
                  U'   U$ )Nztoo many groupsz7redefinition of group name %r as group %d; was group %d)r+   r   ÚappendÚ	MAXGROUPSÚerrorr   Úget)r#   ÚnameÚgidÚogids       r$   Ú	opengroupÚState.opengroupU   sŒ   € Ø�k‰kˆØ×Ñ×Ñ Ô%Ø�;‰;œÓ"ÜÐ)Ó*Ð*ØÑØ—>‘>×%Ñ% d¨DÓ1ˆDØÑÜð +Ø.2¸$Ð-?ñ@ó Að Aà#&�N‰N˜4Ñ Øˆ
r'   c                 ó>   • UR                  5       U R                  U'   g r)   )Úgetwidthr   )r#   r3   Úps      r$   Ú
closegroupÚState.closegroupa   s   € Ø !§
¡
£ˆ×Ñ˜Òr'   c                 óN   • XR                   :  =(       a    U R                  U   S L$ r)   )r+   r   )r#   r3   s     r$   Ú
checkgroupÚState.checkgroupc   s$   € Ø—[‘[Ñ ×F T×%5Ñ%5°cÑ%:À$Ð%FÐFr'   c                 ó®   • U R                   bH  U R                  U5      (       d  UR                  S5      eXR                   :¼  a  UR                  S5      eg g )Núcannot refer to an open groupz?cannot refer to group defined in the same lookbehind subpattern)r    r=   r0   )r#   r3   Úsources      r$   ÚchecklookbehindgroupÚState.checklookbehindgroupf   sY   € Ø× Ñ Ñ,Ø—?‘? 3×'Ñ'Ø—l‘lÐ#BÓCÐCØ×+Ñ+Ó+Ø—l‘lð $;ó <ð <ð ,ð -r'   )r   r   r!   r   r    r)   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r%   Úpropertyr+   r5   r:   r=   rB   Ú__static_attributes__© r'   r$   r   r   J   s0   † òð ñ%ó ð%ôò-òGõ<r'   r   c                   óX   • \ rS rSrSS jrSS jrS rS rS rS r	S	 r
S
 rS rS rSrg)Ú
SubPatternén   Nc                 ó4   • Xl         Uc  / nX l        S U l        g r)   )ÚstateÚdataÚwidth)r#   rO   rP   s      r$   r%   ÚSubPattern.__init__p   s   € ØŒ
Ø‰<ØˆDØŒ	Øˆ�
r'   c                 ó  • [         [        4nU R                   GHä  u  p4[        US-  [	        U5      -   SS9  U[
        L a5  [        5         U H#  u  p5[        US-   S-  [	        U5      -   U5        M%     M]  U[        L aO  [        5         [        US   5       H1  u  peU(       a  [        US-  S-   5        UR                  US-   5        M3     Mµ  U[        L aW  Uu  pxn	[        SU5        UR                  US-   5        U	(       a(  [        US-  S-   5        U	R                  US-   5        GM  GM  [        U[        5      (       a!  [        5         UR                  US-   5        GMK  [        XB5      (       a}  Sn
U H^  n[        U[        5      (       a)  U
(       d
  [        5         UR                  US-   5        Sn
MA  U
(       d
  [        S	SS9  [        USS9  Sn
M`     U
(       d  [        5         GMÕ  GMØ  [        SU5        GMç     g )
Nz  Ú )Úendr   ÚORÚELSEFTÚ )ÚtupleÚlistrP   ÚprintÚstrÚINÚBRANCHÚ	enumerateÚdumpÚGROUPREF_EXISTSÚ
isinstancerL   )r#   ÚlevelÚseqtypesÚopÚavr   r   Ú	condgroupÚitem_yesÚitem_noÚnls              r$   r`   ÚSubPattern.dumpw   sž  € Üœ4�=ˆØ—i•i‰FˆBÜ�%˜‘*œs 2›wÑ&¨BÒ/Ø”RŠxä”Û‘E�BÜ˜5 ™7 D™.¬3¨r«7Ñ2°AÖ6ó  à”v’Ü”Ü% b¨¡eÖ,‘D�AÞÜ˜e D™j¨4Ñ/Ô0Ø—F‘F˜5 ™7–Oó -ð ”Ò&Ø/1Ñ,�	 WÜ�b˜)Ô$Ø—‘˜e A™gÔ&ÞÜ˜% ™* vÑ-Ô.Ø—L‘L  q¡×)ò ô ˜B¤
×+Ñ+Ü”Ø—‘˜˜a™× Ü˜B×)Ñ)Ø�Û�AÜ! !¤Z×0Ñ0Þ!Ü!œGØŸ™˜u Q™wœØ!šæ!Ü! #¨2Ò.Ü˜a RÒ(Ø"šñ ö Ü—Gò ô �b˜"—òO  r'   c                 ó,   • [        U R                  5      $ r)   )ÚreprrP   r"   s    r$   Ú__repr__ÚSubPattern.__repr__¡   s   € Ü�D—I‘I‹Ðr'   c                 ó,   • [        U R                  5      $ r)   )r*   rP   r"   s    r$   Ú__len__ÚSubPattern.__len__£   s   € Ü�4—9‘9‹~Ðr'   c                 ó   • U R                   U	 g r)   ©rP   ©r#   Úindexs     r$   Ú__delitem__ÚSubPattern.__delitem__¥   s   € Ø�I‰I�eÑr'   c                 ó�   • [        U[        5      (       a#  [        U R                  U R                  U   5      $ U R                  U   $ r)   )rb   ÚslicerL   rO   rP   ru   s     r$   Ú__getitem__ÚSubPattern.__getitem__§   s8   € Ü�eœU×#Ñ#Ü˜dŸj™j¨$¯)©)°EÑ*:Ó;Ð;Ø�y‰y˜ÑÐr'   c                 ó    • X R                   U'   g r)   rt   ©r#   rv   Úcodes      r$   Ú__setitem__ÚSubPattern.__setitem__«   s   € Ø�	‰	�%Òr'   c                 ó:   • U R                   R                  X5        g r)   )rP   Úinsertr~   s      r$   rƒ   ÚSubPattern.insert­   s   € Ø�	‰	×Ñ˜Õ%r'   c                 ó:   • U R                   R                  U5        g r)   )rP   r.   )r#   r   s     r$   r.   ÚSubPattern.append¯   s   € Ø�	‰	×Ñ˜Õr'   c                 ó   • U R                   b  U R                   $ S=pU R                   GH¡  u  p4U[        L aF  [        nSnUS    H+  nUR	                  5       u  px[        XW5      n[        Xh5      nM-     X-   nX&-   nMU  U[        L a  UR	                  5       u  pVX-   nX&-   nMz  U[        L a  US   R	                  5       u  pVX-   nX&-   nM¢  U[        ;   aG  US   R	                  5       u  pVXUS   -  -   nUS   [        :X  a  U(       a  [        nMç  X&US   -  -   nMó  U[        ;   a  US-   nUS-   nGM
  U[        L a&  U R                  R                  U   u  pVX-   nX&-   nGM9  U[        L aT  US   R	                  5       u  pVUS   b,  US   R	                  5       u  px[        XW5      n[        Xh5      nOSnX-   nX&-   nGM–  U[         L d  GM¢    O   [        U[        5      [        U[        5      4U l         U R                   $ )Nr   r   éÿÿÿÿé   )rQ   rP   r^   ÚMAXWIDTHr8   ÚminÚmaxÚATOMIC_GROUPÚ
SUBPATTERNÚ_REPEATCODESÚ	MAXREPEATÚ
_UNITCODESÚGROUPREFrO   r   ra   ÚSUCCESS)	r#   ÚloÚhire   rf   r   ÚjÚlÚhs	            r$   r8   ÚSubPattern.getwidth±   sã  € à�:‰:Ñ!Ø—:‘:ÐØˆˆØ—i•i‰FˆBØ”VŠ|Ü�Ø�Ø˜Qœ%�BØŸ;™;›=‘D�AÜ˜A›	�AÜ˜A›	’Añ  ð ‘V�Ø‘V’Ø”|Ò#Ø—{‘{“}‘�Ø‘V�Ø‘V’Ø”zÒ!Ø˜"‘v—‘Ó(‘�Ø‘V�Ø‘V’Ø”|Ó#Ø˜!‘u—~‘~Ó'‘�Ø˜b ™e™)‘^�Ø�a‘5œIÓ%®!Ü!’Bà " Q¡%™i™’BØ”zÓ!Ø˜!‘V�Ø˜!‘V“Ø”x’Ø—z‘z×-Ñ-¨bÑ1‘�Ø‘V�Ø‘V“Ø”Ò&Ø˜!‘u—~‘~Ó'‘�Ø�a‘5Ñ$Ø˜a™5Ÿ>™>Ó+‘D�AÜ˜A›	�AÜ˜A›	‘Aà�AØ‘V�Ø‘V“Ø”w•ÙñW  ôX ˜œXÓ&¬¨B´Ó(9Ð9ˆŒ
Ø�z‰zÐr'   )rP   rO   rQ   r)   ©r   )rD   rE   rF   rG   r%   r`   rn   rq   rw   r{   r€   rƒ   r.   r8   rI   rJ   r'   r$   rL   rL   n   s5   † ôô)òTòòò ò ò&òõ2r'   rL   c                   ód   • \ rS rSrS rS rS rS rS rS r	\
S 5       rS	 rS
 rSS jrS rSrg)Ú	Tokenizeréå   c                 ó¼   • [        U[        5      U l        Xl        U R                  (       d  [        US5      nXl        SU l        S U l        U R                  5         g )NÚlatin1r   )rb   r\   ÚistextÚstringÚdecoded_stringrv   ÚnextÚ_Tokenizer__next)r#   r¡   s     r$   r%   ÚTokenizer.__init__æ   sE   € Ü  ¬Ó-ˆŒØŒØ�{�{Ü˜ Ó*ˆFØ$ÔØˆŒ
ØˆŒ	Ø�‰�r'   c                 ó<  • U R                   n U R                  U   nUS:X  a  US-  n X R                  U   -  nUS-   U l         X l        g ! [         a
    S U l         g f = f! [         a/    [	        SU R
                  [        U R
                  5      S-
  5      S ef = f)Nr   r   zbad escape (end of pattern))rv   r¢   Ú
IndexErrorr£   r0   r¡   r*   )r#   rv   Úchars      r$   Ú__nextÚTokenizer.__nextï   sµ   € Ø—
‘
ˆð	Ø×&Ñ& uÑ-ˆDð �4‹<Ø�Q‰JˆEðIØ×+Ñ+¨EÑ2Ñ2�ð ˜Q‘YˆŒ
Ø�	øô ó 	ØˆDŒIÙð	ûô ó IÜÐ9Ø ŸK™K¬¨T¯[©[Ó)9¸AÑ)=ó?ØDHðIðIús   ŽA ©A" ÁAÁAÁ"9Bc                 óD   • XR                   :X  a  U R                  5         gg)NTF©r£   r¤   )r#   r¨   s     r$   ÚmatchÚTokenizer.matchÿ   s   € Ø—9‘9ÓØ�K‰KŒMØØr'   c                 ó>   • U R                   nU R                  5         U$ r)   r¬   )r#   Úthiss     r$   r1   ÚTokenizer.get  s   € Ø�y‰yˆØ�‰ŒØˆr'   c                 ó~   • Sn[        U5       H+  nU R                  nXR;  a    U$ X5-  nU R                  5         M-     U$ ©NrT   )Úranger£   r¤   )r#   ÚnÚcharsetÚresultÚ_Úcs         r$   ÚgetwhileÚTokenizer.getwhile  sG   € ØˆÜ�q–ˆAØ—	‘	ˆAØÓØð ˆð ‰KˆFØ�K‰KŽMñ ð ˆr'   c                 ó  • Sn U R                   nU R                  5         Uc9  U(       d  U R                  SU-   5      eU R                  SU-  [        U5      5      eXA:X  a  U(       d  U R                  SU-   S5      e U$ X4-  nM‚  )NrT   zmissing zmissing %s, unterminated namer   )r£   r¤   r0   r*   )r#   Ú
terminatorr2   r·   r¹   s        r$   ÚgetuntilÚTokenizer.getuntil  sŒ   € ØˆØØ—	‘	ˆAØ�K‰KŒMØ‰yÞØŸ*™* Z°$Ñ%6Ó7Ð7Ø—j‘jÐ!@À:Ñ!MÜ!$ V£ó.ð .à‹ÞØŸ*™* Z°$Ñ%6¸Ó:Ð:Øàˆð ‰KˆFñ r'   c                 óX   • U R                   [        U R                  =(       d    S5      -
  $ r³   ©rv   r*   r£   r"   s    r$   ÚposÚTokenizer.pos!  s   € à�z‰zœC §	¡	§¨RÓ0Ñ0Ð0r'   c                 óX   • U R                   [        U R                  =(       d    S5      -
  $ r³   rÁ   r"   s    r$   ÚtellÚTokenizer.tell$  s   € Ø�z‰zœC §	¡	§¨RÓ0Ñ0Ð0r'   c                 ó0   • Xl         U R                  5         g r)   )rv   r¤   ru   s     r$   ÚseekÚTokenizer.seek&  s   € ØŒ
Ø�‰�r'   c                 ó´   • U R                   (       d!  UR                  SS5      R                  S5      n[        XR                  U R                  5       U-
  5      $ )NÚasciiÚbackslashreplace)r    ÚencodeÚdecoder0   r¡   rÅ   )r#   ÚmsgÚoffsets      r$   r0   ÚTokenizer.error*  sA   € Ø�{�{Ø—*‘*˜WÐ&8Ó9×@Ñ@ÀÓIˆCÜ�SŸ+™+ t§y¡y£{°VÑ';Ó<Ð<r'   c                 ó  • U R                   (       d8  UR                  5       (       d#  SU-  nU R                  U[        U5      U-   5      eUR	                  5       (       d#  SU-  nU R                  U[        U5      U-   5      eg )Nzbad character in group name %azbad character in group name %r)r    Úisasciir0   r*   Úisidentifier)r#   r2   rÐ   rÏ   s       r$   ÚcheckgroupnameÚTokenizer.checkgroupname/  so   € Ø——˜tŸ|™|Ÿ~™~Ø2°TÑ9ˆCØ—*‘*˜S¤# d£)¨fÑ"4Ó5Ð5Ø× Ñ ×"Ñ"Ø2°TÑ9ˆCØ—*‘*˜S¤# d£)¨fÑ"4Ó5Ð5ð #r'   )r¢   rv   r    r£   r¡   Nrš   )rD   rE   rF   rG   r%   r¤   r­   r1   rº   r¾   rH   rÂ   rÅ   rÈ   r0   rÕ   rI   rJ   r'   r$   rœ   rœ   å   sH   † òòò ò
òòð  ñ1ó ð1ò1òô=õ
6r'   rœ   c                 óv  • [         R                  U5      nU(       a  U$ [        R                  U5      nU(       a  US   [        L a  U$  USS nUS:X  aZ  XR	                  S[
        5      -  n[        U5      S:w  a  U R                  SU-  [        U5      5      e[        [        USS  S5      4$ US:X  ak  U R                  (       aZ  XR	                  S[
        5      -  n[        U5      S	:w  a  U R                  SU-  [        U5      5      e[        [        USS  S5      4$ US
:X  ax  U R                  (       ag  XR	                  S[
        5      -  n[        U5      S:w  a  U R                  SU-  [        U5      5      e[        USS  S5      n[        U5        [        U4$ US:X  aq  U R                  (       a`  SS KnU R                  S5      (       d  U R                  S5      eU R                  SS5      n [        UR!                  U5      5      n[        U4$ U[&        ;   aS  XR	                  S[&        5      -  n[        USS  S5      nUS:”  a  U R                  SU-  [        U5      5      e[        U4$ U[(        ;   a  [*        e[        U5      S:X  a<  U[,        ;   a  U R                  SU-  [        U5      5      e[        [        US   5      4$  U R                  SU-  [        U5      5      e! ["        [$        4 a,    U R                  SU-  [        U5      [        S5      -   5      S ef = f! [*         a     Nif = f)Nr   r   r‰   r   é   úincomplete escape %sé   r   é   ÚUé   é
   ÚNÚ{ú	missing {Ú}úcharacter nameúundefined character name %rú\N{}éÿ   ú.octal escape value %s outside of range 0-0o377úbad escape %s)ÚESCAPESr1   Ú
CATEGORIESr]   rº   Ú	HEXDIGITSr*   r0   ÚLITERALÚintr    ÚchrÚunicodedatar­   r¾   ÚordÚlookupÚKeyErrorÚ	TypeErrorÚ	OCTDIGITSÚDIGITSÚ
ValueErrorÚASCIILETTERS)rA   Úescaper   r¹   rï   Úcharnames         r$   Ú_class_escaperú   7  sü  € ä�;‰;�vÓ€DÞØˆÜ�>‰>˜&Ó!€DÞ��Q‘œ2’Øˆð1Ø�1�QˆKˆØ�‹8à—o‘o a¬Ó3Ñ3ˆFÜ�6‹{˜aÓØ—l‘lÐ#9¸FÑ#BÄCÈÃKÓPÐPÜœC  q r 
¨BÓ/Ð/Ð/Ø�#‹X˜&Ÿ-Ÿ-à—o‘o a¬Ó3Ñ3ˆFÜ�6‹{˜aÓØ—l‘lÐ#9¸FÑ#BÄCÈÃKÓPÐPÜœC  q r 
¨BÓ/Ð/Ð/Ø�#‹X˜&Ÿ-Ÿ-à—o‘o a¬Ó3Ñ3ˆFÜ�6‹{˜bÓ Ø—l‘lÐ#9¸FÑ#BÄCÈÃKÓPÐPÜ�F˜1˜2�J Ó#ˆAÜ�ŒFÜ˜A�:ÐØ�#‹X˜&Ÿ-Ÿ-Ûà—<‘< ×$Ñ$Ø—l‘l ;Ó/Ð/Ø—‘ sÐ,<Ó=ˆHðKÜ˜×*Ñ*¨8Ó4Ó5�ô ˜A�:ÐØ”)‹^à—o‘o a¬Ó3Ñ3ˆFÜ�F˜1˜2�J Ó"ˆAØ�5‹yØ—l‘lð $3Ø5;ñ$<Ü=@À»[óJð Jä˜A�:ÐØ”&‹[ÜÐÜˆv‹;˜!ÓØ”LÓ Ø—l‘l ?°VÑ#;¼SÀ»[ÓIÐIÜœC  q¡	›NÐ*Ð*ð ð �,‰,�¨Ñ/´°V³Ó
=Ð=øô) œiÐ(ó KØ—l‘lÐ#@À8Ñ#KÜ#& x£=´3°w³<Ñ#?óAØFJðKðKûô$ ó ÙðúsN   Á
A$L+ Â/A0L+ Ä A=L+ ÆAL+ Ç3K, ÈL+ ÈAL+ É2AL+ Ë,<L(Ì(L+ Ì+
L8Ì7L8c                 óR  • [         R                  U5      nU(       a  U$ [        R                  U5      nU(       a  U$  USS nUS:X  aZ  XR                  S[        5      -  n[        U5      S:w  a  U R                  SU-  [        U5      5      e[        [        USS  S5      4$ US:X  ak  U R                  (       aZ  XR                  S[        5      -  n[        U5      S:w  a  U R                  SU-  [        U5      5      e[        [        USS  S5      4$ US	:X  ax  U R                  (       ag  XR                  S
[        5      -  n[        U5      S:w  a  U R                  SU-  [        U5      5      e[        USS  S5      n[        U5        [        U4$ US:X  aq  U R                  (       a`  SS KnU R                  S5      (       d  U R                  S5      eU R                  SS5      n [        UR                  U5      5      n[        U4$ US:X  a-  XR                  S[$        5      -  n[        [        USS  S
5      4$ U[&        ;   Ga)  U R(                  [&        ;   a�  XR                  5       -  nUS   [$        ;   an  US   [$        ;   aa  U R(                  [$        ;   aM  XR                  5       -  n[        USS  S
5      nUS:”  a  U R                  SU-  [        U5      5      e[        U4$ [        USS  5      nXrR*                  :  aJ  UR-                  U5      (       d  U R                  S[        U5      5      eUR/                  Xp5        [0        U4$ U R                  SU-  [        U5      S-
  5      e[        U5      S:X  a<  U[2        ;   a  U R                  SU-  [        U5      5      e[        [        US   5      4$  U R                  SU-  [        U5      5      e! [         ["        4 a,    U R                  SU-  [        U5      [        S5      -   5      S ef = f! [4         a     Nif = f)Nr   r‰   r   rØ   rÙ   rÚ   r   rÛ   rÜ   rÝ   rÞ   rß   r   rà   rá   râ   rã   rä   rå   Ú0ræ   rç   r@   úinvalid group reference %drè   )rê   r1   ré   rº   rë   r*   r0   rì   rí   r    rî   rï   r­   r¾   rð   rñ   rò   ró   rô   rõ   r£   r+   r=   rB   r’   r÷   rö   )rA   rø   rO   r   r¹   rï   rù   Úgroups           r$   Ú_escaperÿ   s  sÐ  € ä�>‰>˜&Ó!€DÞØˆÜ�;‰;�vÓ€DÞØˆðBØ�1�QˆKˆØ�‹8à—o‘o a¬Ó3Ñ3ˆFÜ�6‹{˜aÓØ—l‘lÐ#9¸FÑ#BÄCÈÃKÓPÐPÜœC  q r 
¨BÓ/Ð/Ð/Ø�#‹X˜&Ÿ-Ÿ-à—o‘o a¬Ó3Ñ3ˆFÜ�6‹{˜aÓØ—l‘lÐ#9¸FÑ#BÄCÈÃKÓPÐPÜœC  q r 
¨BÓ/Ð/Ð/Ø�#‹X˜&Ÿ-Ÿ-à—o‘o a¬Ó3Ñ3ˆFÜ�6‹{˜bÓ Ø—l‘lÐ#9¸FÑ#BÄCÈÃKÓPÐPÜ�F˜1˜2�J Ó#ˆAÜ�ŒFÜ˜A�:ÐØ�#‹X˜&Ÿ-Ÿ-Ûà—<‘< ×$Ñ$Ø—l‘l ;Ó/Ð/Ø—‘ sÐ,<Ó=ˆHðKÜ˜×*Ñ*¨8Ó4Ó5�ô ˜A�:ÐØ�#‹Xà—o‘o a¬Ó3Ñ3ˆFÜœC  q r 
¨AÓ.Ð.Ð.Ø”&Œ[à�{‰{œfÓ$ØŸ*™*›,Ñ&�Ø˜1‘I¤Ó*¨v°a©y¼IÓ/EØ—K‘K¤9Ó,àŸj™j›lÑ*�FÜ˜F 1 2˜J¨Ó*�AØ˜5“yØ$Ÿl™lð ,;Ø=Cñ,Dä+.¨v«;ó8ð 8ô # A˜:Ð%ä˜˜q˜r˜
“OˆEØ—|‘|Ó#Ø×'Ñ'¨×.Ñ.Ø Ÿ,™,Ð'FÜ'*¨6£{ó4ð 4à×*Ñ*¨5Ô9Ü �Ð&Ø—,‘,Ð;¸eÑCÄSÈÃ[ÐSTÁ_ÓUÐUÜˆv‹;˜!ÓØ”LÓ Ø—l‘l ?°VÑ#;¼SÀ»[ÓIÐIÜœC  q¡	›NÐ*Ð*ð ð �,‰,�¨Ñ/´°V³Ó
=Ð=øôK œiÐ(ó KØ—l‘lÐ#@À8Ñ#KÜ#& x£=´3°w³<Ñ#?óAØFJðKðKûôF ó ÙðúsZ   ¾A$P Â#A0P ÄA=P ÆAP Ç'O ÈP È	2P È<B+P Ë(A&P ÍA+P Ï<PÐP Ð
P&Ð%P&c                 ó>   • [        [        R                  U 5      5      $ r)   )rZ   ÚdictÚfromkeys)Úitemss    r$   Ú_uniqr  À  s   € Ü”—‘˜eÓ$Ó%Ð%r'   c           
      ó   • / nUR                   nU R                  nU R                  5       n U" [        XX#S-   U(       + =(       a    U(       + 5      5        U" S5      (       d  OU(       d  UR                  [
        -  nMS  [        U5      S:X  a  US   $ [        U5      n S n	U H!  n
U
(       d    O8U	c  U
S   n	M  U
S   U	:w  d  M!    O!   U H  n
U
S	 M     UR                  U	5        MI   / nU Hc  n
[        U
5      S:w  a    OuU
S   u  pÍU[        L a  UR                  XÍ45        M8  U[        L a"  US   S   [        La  UR                  U5        Mc    O$   UR                  [        [        U5      45        U$ UR                  [        S U445        U$ )Nr   Ú|r   )r.   r­   rÅ   Ú_parser   ÚSRE_FLAG_VERBOSEr*   rL   rì   r]   ÚNEGATEÚextendr  r^   )rA   rO   ÚverboseÚnestedr  ÚitemsappendÚsourcematchÚstartÚ
subpatternÚprefixÚitemÚsetre   rf   s                 r$   Ú
_parse_subr  Ã  sŽ  € ð €EØ—,‘,€KØ—,‘,€KØ�K‰K‹M€EØ
Ù”F˜6¨'¸A±:Ø%œ:×3¨e¬)ó5ô 	6á˜3×ÑØÞØ—k‘kÔ$4Ñ4ˆGñ ô ˆ5ƒz�QƒØ�Q‰xˆä˜EÓ"€Jð ØˆÛˆDÞÙØ‰~Ø˜a™’Ø�a‘˜FÕ"Ùñ ó �Ø˜’Gñ à×Ñ˜fÔ%ÙØð €CÛˆÜˆt‹9˜‹>ÙØ�a‘‰ˆØ”Š=Ø�J‰J˜�xÖ Ø”2ŠX˜"˜Q™% ™(¬&Ò0Ø�J‰J�rŽNáñ ð 	×Ñœ2œu S›zÐ*Ô+ØÐà×Ñ”v  e˜}Ð-Ô.ØÐr'   c                 óú  • [        U5      nUR                  nU R                  nU R                  n[        n	[
        n
 U R                  nUc  GO˜US;   a  GO�U" 5         U(       a(  U[        ;   a  M4  US:X  a   U" 5       nUb  US:X  a  OM  MP  US   S:X  a  [        XU5      nU" U5        GO8U[        ;  a  U" [        U
" U5      45        GOUS:X  Ga;  U R                  5       S-
  n/ nUR                  nU R                  S:X  a-  SS KnUR                  S	U R                  5       -  [        US
-   S9  U" S5      n U" 5       nUc#  U R                  SU R                  5       U-
  5      eUS:X  a	  U(       a  GOUS   S:X  a  [!        X5      nOuU(       a`  US;   aZ  U R                  U:X  aJ  SS KnUR                  SUS:X  a  SOUS:X  a  SO	US:X  a  SOSU R                  5       S-
  4-  [        US
-   S9  [        U
" U5      4nU" S5      (       Gab  U" 5       nUc#  U R                  SU R                  5       U-
  5      eUS:X  a2  US   ["        L a  US   S   nU" U5        U" [        U
" S5      45        GOUS   S:X  a  [!        U U5      nODUS:X  a0  SS KnUR                  SU R                  5       S-
  -  [        US
-   S9  [        U
" U5      4nUS   [        :w  d  US   [        :w  a4  SU< SU< 3nU R                  U[	        U5      S-   [	        U5      -   5      eUS   nUS   nUU:  a4  SU< SU< 3nU R                  U[	        U5      S-   [	        U5      -   5      eU" [$        UU445        OUS   ["        L a  US   S   nU" U5        GMU  ['        U5      nU	" U5      S:X  a9  US   S   [        L a*  U(       a  U" [(        US   S   45        G
OU" US   5        G
OU(       a  UR+                  S[,        S 45        U" ["        U45        G	OÖU[.        ;   Ga·  U R                  5       nUS:X  a  Su  nnGOŽUS:X  a
  S[0        nnGO~US:X  a
  S[0        nnGOnUS:X  GaX  U R                  S :X  a  U" [        U
" U5      45        GMG  S[0        nnS!=nnU R                  [2        ;   a   UU" 5       -  nU R                  [2        ;   a  M   U" S"5      (       a5  U R                  [2        ;   a   UU" 5       -  nU R                  [2        ;   a  M   OUnU" S 5      (       d(  U" [        U
" U5      45        U R5                  U5        GM   U(       a   [7        U5      nU[0        :¼  a  [9        S#5      eU(       aI  [7        U5      nU[0        :¼  a  [9        S#5      eUU:  a#  U R                  S$U R                  5       U-
  5      eO[;        S%W< 35      eU(       a  US&S  nOS nU(       a  US   S   [<        L a/  U R                  S'U R                  5       U-
  [	        U5      -   5      eUS   S   [>        ;   a/  U R                  S(U R                  5       U-
  [	        U5      -   5      eUS   S   [@        L a   US   S   u  nnnnUc  U(       d	  U(       d  UnU" S5      (       a  [B        UUU44US&'   GOAU" S5      (       a  [D        UUU44US&'   GO$[F        UUU44US&'   GOUS):X  a  U" [H        S 45        GOþUS*:X  Ga¶  U R                  5       S-
  n Sn!S+n"S n#SnSnU" S5      (       Ga¼  U" 5       nUc  U R                  S,5      eUS-:X  Ga8  U" S.5      (       a&  U RK                  S/S05      n#U RM                  U#S5        GOgU" S15      (       a¼  U RK                  S2S05      n#U RM                  U#S5        URN                  R                  U#5      n$U$c#  S3U#-  nU R                  U[	        U#5      S-   5      eURQ                  U$5      (       d  U R                  S4[	        U#5      S-   5      eURS                  U$U 5        U" [T        U$45        GMù  U" 5       nUc  U R                  S,5      eU R                  S5U-   [	        U5      S-   5      eUS6:X  a  S+n!GOXUS:X  aB   U R                  c#  U R                  S7U R                  5       U -
  5      eU" 5       S2:X  a  OM>  GM‡  US8;   aû  Sn%US.:X  ad  U" 5       nUc  U R                  S,5      eUS9;  a!  U R                  S:U-   [	        U5      S-   5      eS&n%URV                  n&U&c  URX                  Ul+        [[        XX#S-   5      nU%S:  a
  W&c  S Ul+        U" S25      (       d#  U R                  S;U R                  5       U -
  5      eUS1:X  a  U" [\        U%U445        O&U(       a  U" [^        U%U445        OU" [`        S<45        G	Mˆ  US*:X  Gan  U RK                  S2S05      n'U'Rc                  5       (       a  U'Re                  5       (       dU  U RM                  U'S5        URN                  R                  U'5      n(U(c#  S3U'-  nU R                  U[	        U'5      S-   5      eGO&[7        U'5      n(U((       d  U R                  S=[	        U'5      S-   5      eU([f        :¼  a#  S>U(-  nU R                  U[	        U'5      S-   5      eU(URh                  ;  a,  U R                  5       [	        U'5      -
  S-
  URh                  U('   U'Rc                  5       (       a  U'Re                  5       (       dc  SS KnUR                  S?U Rj                  (       a  [m        U'5      O
[o        U'5      U R                  5       [	        U'5      -
  S-
  4-  [p        US
-   S9  URS                  U(U 5        [s        XX#S-   5      n)U R                  S@5      (       a1  [s        XX#S-   5      n*U R                  S@:X  a  U R                  SA5      eOS n*U R                  S25      (       d#  U R                  S;U R                  5       U -
  5      eU" [t        U(U)U*445        GMý  US/:X  a  S+n!Sn"O�U[v        ;   d  US:X  a^  [y        XU5      n+U+cG  U(       a  U(       a#  U R                  SBU R                  5       U -
  5      eURz                  [|        -  nGMn  U+u  nnS+n!O!U R                  SCU-   [	        U5      S-   5      eU!(       a   UR                  U#5      nOS nU=(       d	    U[|        -  =(       a    U[|        -  (       + n-[[        XU-US-   5      nU R                  S25      (       d#  U R                  S;U R                  5       U -
  5      eUb  URƒ                  UU5        U"(       a  Ub   eU" [„        U45        OTU" [@        UUUU445        OAUS:X  a  U" [<        [†        45        O(USD:X  a  U" [<        [ˆ        45        O[;        SEW< 35      eGM©  [‹        [	        U5      5      S S S&2    H<  n.UU.   u  n/n0U/[@        L d  M  U0u  nnnnUb  M"  U(       a  M+  U(       a  M4  UUU.U.S-   & M>     U$ ! [         a.  n,U R                  U,R€                  [	        U#5      S-   5      S eS n,A,ff = f)FNTz|)Ú#r   r   r   Ú[r   z"Possible nested set at position %drÛ   ©Ú
stacklevelÚ^zunterminated character setÚ]z-&~|zPossible set %s at position %dÚ-Ú
differenceÚ&ÚintersectionÚ~zsymmetric differenceÚunionz&Possible set difference at position %dr‰   zbad character range Ú?)r   r   r   Ú+rà   râ   rT   Ú,z"the repetition number is too largez"min repeat greater than max repeatzunsupported quantifier rˆ   znothing to repeatzmultiple repeatÚ.Ú(Fzunexpected end of patternÚPÚ<Ú>ú
group nameÚ=Ú)úunknown group name %rr@   zunknown extension ?PÚ:zmissing ), unterminated commentz=!<z=!zunknown extension ?<z"missing ), unterminated subpatternrJ   zbad group numberrý   ú-bad character in group name %s at position %dr  z/conditional backref with more than two branchesz/global flags not at the start of the expressionzunknown extension ?Ú$zunsupported special character )FrL   r.   r1   r­   r*   rð   r£   Ú
WHITESPACErÿ   ÚSPECIAL_CHARSrì   rÅ   ÚwarningsÚwarnÚFutureWarningr0   rú   r]   ÚRANGEr  ÚNOT_LITERALrƒ   r	  ÚREPEAT_CHARSr�   rõ   rÈ   rí   ÚOverflowErrorÚAssertionErrorÚATr�   rŽ   Ú
MIN_REPEATÚPOSSESSIVE_REPEATÚ
MAX_REPEATÚANYr¾   rÕ   r   r=   rB   r’   r    r+   r  ÚASSERTÚ
ASSERT_NOTÚFAILUREÚ	isdecimalrÓ   r/   r!   r    rm   rË   ÚDeprecationWarningr  ra   ÚFLAGSÚ_parse_flagsr   r  r5   rÏ   r:   r�   ÚAT_BEGINNINGÚAT_ENDr´   )1rA   rO   r  r  Úfirstr  ÚsubpatternappendÚ	sourcegetr  Ú_lenÚ_ordr°   r   Úherer  Ú	setappendr3  ÚnegateÚcode1ÚthatÚcode2rÏ   r”   r•   r‹   rŒ   r¨   r  rþ   Ú	add_flagsÚ	del_flagsr9   r  ÚcaptureÚatomicr2   r3   Údirr    Úcondnamerg   rh   ri   r   ÚerrÚsub_verboser   re   rf   s1                                                    r$   r  r  ÿ  s+  € ä˜EÓ"€Jð "×(Ñ(ÐØ—
‘
€IØ—,‘,€KÜ€DÜ€Dà
à�{‰{ˆØ‰<ÙØ�4‹<ÙÙŒæà”zÓ!ÙØ�s‹{ØÙ$›;�DØ‘| t¨t£|Øñ ñ à�‰7�d‹?Ü˜6¨Ó/ˆDÙ˜TÖ"àœÓ&Ùœg¡t¨D£zÐ2Ö3à�SŒ[Ø—;‘;“= 1Ñ$ˆDàˆCØŸ
™
ˆIð �{‰{˜cÓ!ÛØ—‘Ø8¸6¿;¹;»=ÑHÜ!¨f°q©jð ñ ñ ! Ó%ˆFàÙ “{�Ø‘<Ø Ÿ,™,Ð'CØ'-§{¡{£}°tÑ';ó=ð =à˜3“;¦3ÙØ˜!‘W “_Ü)¨&Ó7‘Eæ˜t v›~°&·+±+ÀÓ2EÛ'Ø Ÿ™Ø<Ø04¸³¡Ø26¸#³+¡Ø:>À#»+Ñ 6Ø 'Ø &§¡£°Ñ 1ð@3ñ 3ô *°f¸q±jð &ñ ô $¡T¨$£ZÐ/�EÙ˜s×#Ò#á$›;�DØ‘|Ø$Ÿl™lÐ+GØ+1¯;©;«=¸4Ñ+?óAð Aà˜s“{Ø  ™8¤rš>Ø$)¨!¡H¨Q¡K˜EÙ! %Ô(Ù!¤7©D°«IÐ"6Ô7ÙØ˜A‘w $“Ü -¨f°dÓ ;™à 3›;Û+Ø$ŸM™MØ HØ$*§K¡K£M°AÑ$5ñ!7ä -¸&À1¹*ð *ñ ô
 !(©¨d«Ð 3˜Ø˜Q‘x¤7Ó*¨e°A©h¼'Ó.AøÛ=AÂ4ÐH˜Ø$Ÿl™l¨3´°D³	¸A±ÄÀDÃ	Ñ0IÓJÐJØ˜q™�BØ˜q™�BØ˜B”wÛ=AÂ4ÐH˜Ø$Ÿl™l¨3´°D³	¸A±ÄÀDÃ	Ñ0IÓJÐJÙœu r¨2 hÐ/Õ0à˜Q‘x¤2’~Ø % a¡¨¡˜Ù˜eÔ$òs ôv ˜“*ˆCá�C‹y˜A‹~ # a¡&¨¡)¬wÒ"6æÙ$¤k°3°q±6¸!±9Ð%=Ö>á$ S¨¡VÖ,æØ—J‘J˜q¤6¨4 .Ô1ñ !¤" c Ö+à”\Ô!à—;‘;“=ˆDØ�s‹{Ø‘�’SØ˜“Øœi�S�‘Sà˜“Øœi�S�‘SØ˜”Ø—;‘; #Ó%Ù$¤g©t°D«zÐ%:Ô;Úàœi�S�Ø���RØ—k‘k¤VÓ+Ø™)›+Ñ%�Bð —k‘k¤VÕ+á˜s×#Ñ#Ø Ÿ+™+¬Ó/Ø™i›kÑ)˜ð !Ÿ+™+¬Õ/øð �BÙ" 3×'Ñ'Ù$¤g©t°D«zÐ%:Ô;Ø—K‘K Ô%ÚæÜ˜b›'�CØœiÓ'Ü+Ð,PÓQÐQÞÜ˜b›'�CØœiÓ'Ü+Ð,PÓQÐQØ˜S“yØ$Ÿl™lÐ+OØ+1¯;©;«=¸4Ñ+?óAð Aøõ %ÂDÐ%JÓKÐKæØ! " #�‘à�Þ˜4 ™7 1™:¬Ò+Ø—l‘lÐ#6Ø#)§;¡;£=°4Ñ#7¼#¸d»)Ñ#CóEð Eà�A‰w�q‰zœ\Ó)Ø—l‘lÐ#4Ø#)§;¡;£=°4Ñ#7¼#¸d»)Ñ#CóEð Eà�A‰w�q‰zœZÒ'Ø15°a±¸±Ñ.��y )¨QØ‘=®¾9Ø�DÙ˜3×Ñä",¨s°C¸Ð.>Ð!?�
˜2“Ù˜S×!Ñ!ä"3°c¸3ÀÐ5EÐ!F�
˜2“ô #-¨s°C¸Ð.>Ð!?�
˜2“à�S‹[Ùœc 4˜[Ö)à�SŒ[Ø—K‘K“M AÑ%ˆEØˆGØˆFØˆDØˆIØˆIÙ˜3×Òá “{�Ø‘<Ø Ÿ,™,Ð'BÓCÐCØ˜3”;á" 3×'Ñ'à%Ÿ™¨s°LÓA˜Ø×-Ñ-¨d°AÖ6Ù$ S×)Ñ)à%Ÿ™¨s°LÓA˜Ø×-Ñ-¨d°AÔ6Ø#Ÿo™o×1Ñ1°$Ó7˜Ø™;Ø"9¸DÑ"@˜CØ"(§,¡,¨s´C¸³IÀ±MÓ"BÐBØ$×/Ñ/°×4Ñ4Ø"(§,¡,Ð/NÜ/2°4«y¸1©}ó#>ð >à×2Ñ2°3¸Ô?Ù(¬(°C¨Ô9Ú ñ  )›{˜Ø™<Ø"(§,¡,Ð/JÓ"KÐKØ$Ÿl™lÐ+AÀDÑ+HÜ+.¨t«9°q©=ó:ð :à˜S“[à#’GØ˜S“[àØ!Ÿ;™;Ñ.Ø"(§,¡,Ð/PØ/5¯{©{«}¸uÑ/Dó#Fð Fá$›;¨#Ó-Ø!ñ ò à˜U“]à�CØ˜s“{Ù(›{˜Ø™<Ø"(§,¡,Ð/JÓ"KÐKØ tÓ+Ø"(§,¡,Ð/EÈÑ/LÜ/2°4«y¸1©}ó#>ð >à ˜Ø+0×+AÑ+AÐ(Ø+Ñ3Ø5:·\±\˜EÔ2Ü" 6°'ÀA¹:ÓF�AØ˜Q“wØ+Ñ3Ø59˜EÔ2Ù& s×+Ñ+Ø$Ÿl™lÐ+OØ+1¯;©;«=¸5Ñ+@óBð Bà˜s“{Ù(¬&°3¸°(Ð);Õ<ÞÙ(¬*°s¸A°hÐ)?Õ@á(¬'°2¨Ô7Úà˜S”[à%Ÿ™¨s°LÓA�HØ$×.Ñ.×0Ñ0°X×5EÑ5E×5GÑ5GØ×-Ñ-¨h¸Ô:Ø$)§O¡O×$7Ñ$7¸Ó$A˜	Ø$Ñ,Ø"9¸HÑ"D˜CØ"(§,¡,¨s´C¸³MÀAÑ4EÓ"FÐFñ -ô %(¨£M˜	Þ(Ø"(§,¡,Ð/AÜ/2°8«}¸qÑ/@ó#Bð Bà$¬	Ó1Ø">ÀÑ"J˜CØ"(§,¡,¨s´C¸³MÀAÑ4EÓ"FÐFØ$¨E×,=Ñ,=Ó=à &§¡£´°H³Ñ =ÀÑ Að "×-Ñ-¨iÑ8ð !)× 2Ñ 2× 4Ñ 4¸×9IÑ9I×9KÑ9KÛ+Ø$ŸM™MØ OØ39·=·=¤ h¤ÄeÈHÃoØ!'§¡£´°X³Ñ!>ÀÑ!Bð!Dñ!Dô !3¸vÈ¹zð	 *ñ ð ×.Ñ.¨y¸&ÔAÜ% f°WÀq¹jÓI�HØ—|‘| C×(Ñ(Ü"(¨¸È!ÁÓ"L˜Ø!Ÿ;™;¨#Ó-Ø"(§,¡,Ð/`Ó"aÐað .ð #'˜Ø!Ÿ<™<¨×,Ñ,Ø$Ÿl™lÐ+OØ+1¯;©;«=¸5Ñ+@óBð Bá$¤o¸	À8ÈWÐ7UÐ%VÔWÚà˜S“[à#�GØ!‘FØœU“] d¨c£kä(¨¸Ó=�EØ‘}Þ$®
Ø"(§,¡,ð 0Cà/5¯{©{«}¸uÑ/Dó#Fð Fð #(§+¡+Ô0@Ñ"@˜Ú à+0Ñ(�I˜yØ#‘Gà Ÿ,™,Ð'<¸tÑ'CÜ'*¨4£y°1¡}ó6ð 6ö ðIØ!ŸO™O¨DÓ1‘Eð �Ø#×E¨	Ô4DÑ(D÷ >Ø )Ô,<Ñ <Ô=ð ä˜6¨+°vÀ±zÓBˆAØ—<‘< ×$Ñ$Ø—l‘lÐ#GØ#)§;¡;£=°5Ñ#8ó:ð :àÑ Ø× Ñ  ¨Ô*ÞØ‘}Ð$�}Ù ¤,°Ð!2Õ3á ¤*¨u°iÀÈAÐ.NÐ!OÕPà�S‹[Ùœb¤,Ð/Õ0à�S‹[Ùœb¤&˜\Õ*õ !ÂtÐ!MÓNÐNòQ ôV ”3�z“?Ó#¡D b DÔ)ˆØ˜A‘‰ˆˆBØ”ÔØ-/Ñ*ˆE�9˜i¨Ø‹}§Y Y·y°yØ%&�
˜1˜a ™cÒ"ñ *ð ÐøôG ó IØ Ÿ,™, s§w¡w´°D³	¸A±Ó>ÀDÐHûðIús   óy ù
y:ù)y5ù5y:c                 óÖ  • U R                   nSnSnUS:w  aâ   [        U   nU R                  (       a  US:X  a  SnU R                  U5      eOUS:X  a  SnU R                  U5      eXF-  nU[        -  (       a   U[        -  U:w  a  SnU R                  U5      eU" 5       nUc  U R                  S5      eUS	;   a  O@U[        ;  a4  UR                  5       (       a  S
OSnU R                  U[        U5      5      eMá  US:X  a  U=R                  U-  sl        g U[        -  (       a  U R                  SS5      eUS:X  aê  U" 5       nUc  U R                  S5      eU[        ;  a4  UR                  5       (       a  S
OSnU R                  U[        U5      5      e [        U   nU[        -  (       a  SnU R                  U5      eXV-  nU" 5       nUc  U R                  S5      eUS:X  a  O@U[        ;  a4  UR                  5       (       a  S
OSnU R                  U[        U5      5      eM�  US:X  d   eU[        -  (       a  U R                  SS5      eXE-  (       a  U R                  SS5      eXE4$ )Nr   r  r   z8bad inline flags: cannot use 'L' flag with a str patternr   z:bad inline flags: cannot use 'u' flag with a bytes patternz9bad inline flags: flags 'a', 'u' and 'L' are incompatiblezmissing -, : or )z)-:zunknown flagr,  z,bad inline flags: cannot turn on global flagr   zmissing flagz8bad inline flags: cannot turn off flags 'a', 'u' and 'L'z	missing :r.  z-bad inline flags: cannot turn off global flagz(bad inline flags: flag turned on and off)	r1   rE  r    r0   Ú
TYPE_FLAGSÚisalphar*   r   ÚGLOBAL_FLAGS)rA   rO   r¨   rK  rT  rU  ÚflagrÏ   s           r$   rF  rF  ~  sK  € Ø—
‘
€IØ€IØ€IØˆsƒ{ØÜ˜‘;ˆDØ�}�}Ø˜3“;ØT�CØ Ÿ,™, sÓ+Ð+ð ð ˜3“;ØV�CØ Ÿ,™, sÓ+Ð+ØÑˆIØ”z×!¨	´JÑ(>À4Ó'GØQ�Ø—l‘l 3Ó'Ð'Ù“;ˆDØ‰|Ø—l‘lÐ#6Ó7Ð7Ø�u‹}ØØœ5Ó Ø(,¯©¯©‘nÐ<O�Ø—l‘l 3¬¨D«	Ó2Ð2ñ+ ð, ˆsƒ{Ø�Š�yÑ �ØØ”<×Ø�l‰lÐIÈ1ÓMÐMØˆsƒ{Ù‹{ˆØ‰<Ø—,‘,˜~Ó.Ð.Ø”uÓØ$(§L¡L§N¡N‘.¸ˆCØ—,‘,˜s¤C¨£IÓ.Ð.ØÜ˜‘;ˆDØ”j× ØP�Ø—l‘l 3Ó'Ð'ØÑˆIÙ“;ˆDØ‰|Ø—l‘l ;Ó/Ð/Ø�s‹{ØØœ5Ó Ø(,¯©¯©‘n¸K�Ø—l‘l 3¬¨D«	Ó2Ð2ñ ð �3‹;Ðˆ;Ø”<×Ø�l‰lÐJÈAÓNÐNØ×Ø�l‰lÐEÀqÓIÐIØÐÐr'   c                 óL  • [        U [        5      (       aN  U[        -  (       a  [        S5      eU[        -  (       d  U[
        -  nU$ U[
        -  (       a  [        S5      e U$ U[
        -  (       a  [        S5      eU[        -  (       a  U[        -  (       a  [        S5      eU$ )Nz)cannot use LOCALE flag with a str patternz(ASCII and UNICODE flags are incompatiblez,cannot use UNICODE flag with a bytes patternz'ASCII and LOCALE flags are incompatible)rb   r\   ÚSRE_FLAG_LOCALErö   ÚSRE_FLAG_ASCIIÚSRE_FLAG_UNICODE)Úsrcr   s     r$   Ú	fix_flagsrf  º  s—   € ä�#”s×ÑØ”?×"ÜÐHÓIÐIØ”~×%ØÔ%Ñ%ˆEð €Lð Ô%×%ÜÐGÓHÐHð &ð €Lð	 Ô#×#ÜÐKÓLÐLØ”?×" u¬~×'=ÜÐFÓGÐGØ€Lr'   Nc                 ó*  • [        U 5      nUc
  [        5       nXl        Xl        [	        X2U[
        -  S5      n[        XR                  R                  5      UR                  l        UR                  b#  UR                  S:X  d   eUR                  S5      eUR                  R                   HD  nXTR                  R                  :¼  d  M  SU-  n[        X`UR                  R                  U   5      e   U[        -  (       a  UR                  5         U$ )Nr   r,  zunbalanced parenthesisrý   )rœ   r   r   r\   r  r  rf  rO   r£   r0   r!   r+   ÚSRE_FLAG_DEBUGr`   )r\   r   rO   rA   r9   ÚgrÏ   s          r$   Úparserj  Ê  sÛ   € ô �s‹^€Fà�}Ü“ˆØ„KØ„Iä�6 %Ô*:Ñ":¸AÓ>€AÜ˜c§7¡7§=¡=Ó1€A‡G�G„Mà‡{�{ÑØ�{‰{˜cÓ!Ð!Ð!Ø�l‰lÐ3Ó4Ð4à�W‰W× Ô ˆØ—‘—‘ÕØ.°Ñ2ˆCÜ˜ !§'¡'×"5Ñ"5°aÑ"8Ó9Ð9ñ !ð
 Œ~×Ø	�‰Œà€Hr'   c           	      óì  ^^^^^• [        U 5      mTR                  n/ m/ mTR                  nUUU4S jmUUUU4S jnTR                  n U" 5       nUc  GOÀUS   S:X  Ga«  US   nUS:X  GaR  TR	                  S5      (       d  TR                  S	5      eTR                  S
S5      nUR                  5       (       a  UR                  5       (       d  TR                  US5         XX   n	OÀ[        U5      n	U	[        :¼  a!  TR                  SU	-  [        U5      S-   5      eUR                  5       (       a  UR                  5       (       d`  SS Kn
U
R!                  STR"                  (       a  [%        U5      O
['        U5      TR)                  5       [        U5      -
  S-
  4-  [*        SS9  U" U	[        U5      S-   5        GOUUS:X  a\  TR,                  [.        ;   a&  Xb" 5       -  nTR,                  [.        ;   a	  Xb" 5       -  nU" [1        [        USS  S5      S-  5      5        OóU[2        ;   aÂ  SnTR,                  [2        ;   aƒ  Xb" 5       -  nU[.        ;   ap  US   [.        ;   ac  TR,                  [.        ;   aO  Xb" 5       -  nSn[        USS  S5      nUS:”  a  TR                  SU-  [        U5      5      eU" [1        U5      5        U(       d!  U" [        USS  5      [        U5      S-
  5        O' [1        [4        U   S   5      nU" U5        OU" U5        GMÌ  T" 5         T$ ! [         a    [        SU-  5      S ef = f! [         a,    U[6        ;   a  TR                  SU-  [        U5      5      S e Nof = f)Nc                  óÒ   >• TR                   (       a!  TR                  SR                  T 5      5        O/TR                  SR                  T 5      R                  S5      5        T S S 2	 g )NrT   zlatin-1)r    r.   ÚjoinrÍ   )Úliteralr·   r   s   €€€r$   Ú
addliteralÚ"parse_template.<locals>.addliteralí  sH   ø€ Ø�8�8Ø�M‰M˜"Ÿ'™' 'Ó*Õ+ð �M‰M˜"Ÿ'™' 'Ó*×1Ñ1°)Ó<Ô=Ø’A‰Jr'   c                 ó€   >• U TR                   :”  a  TR                  SU -  U5      eT" 5         TR                  U 5        g )Nrý   )r+   r0   r.   )rv   rÂ   ro  Úpatternr·   r   s     €€€€r$   ÚaddgroupÚ parse_template.<locals>.addgroupõ  s7   ø€ Ø�7—>‘>Ó!Ø—'‘'Ð6¸Ñ>ÀÓDÐDÙŒØ�‰�eÕr'   Tr   r   r   ri  r(  z	missing <r)  r*  r-  rý   r/  é   r  rü   rÝ   ræ   Fr‰   rç   rè   )rœ   r1   r.   Ú
groupindexr­   r0   r¾   rC  rÓ   rÕ   rò   r§   rí   r/   r*   r3  r4  r    rm   rË   rÅ   rD  r£   rô   rî   rõ   ré   r÷   )rA   rr  ÚsgetÚlappendrs  rv  r°   r¹   r2   rv   r3  Úisoctalro  rn  r·   r   s    `          @@@@r$   Úparse_templaterz  å  s9  ü€ ô 	�&Ó€AØ�5‰5€DØ€FØ€GØ�n‰n€G÷÷ð ð
 ×#Ñ#€JØ
Ù‹vˆØ‰<ÙØ�‰7�dŒ?à�Q‘ˆAØ�CŒxØ—w‘w˜s—|‘|ØŸ'™' +Ó.Ð.Ø—z‘z # |Ó4�ØŸ™×(Ñ(¨T¯\©\¯^©^Ø×$Ñ$ T¨1Ô-ðSØ *Ñ 0™ô   ›I�EØ¤	Ó)ØŸg™gÐ&BÀUÑ&JÜ&)¨$£i°!¡mó5ð 5à ŸN™N×,Ñ,°·±·±Û'Ø Ÿ™ØKØ+,¯8¯8œT $œZ¼¸t»ØŸV™V›X¬¨D«	Ñ1°AÑ5ð7ñ7ô /¸1ð	 &ñ ñ ˜¤ D£	¨A¡Ö.Ø�c“Ø—6‘6œYÓ&Ø˜D›F‘N�DØ—v‘v¤Ó*Ø £™˜ÙœœC  Q R ¨!Ó,¨tÑ3Ó4Õ5Ø”f“Ø�Ø—6‘6œVÓ#Ø˜D›F‘N�DØœY›¨4°©7´iÓ+?ØŸ™¤)Ó+Ø £™˜Ø"&˜Ü  Q R ¨!Ó,˜Ø˜u›9Ø"#§'¡'ð +:Ø<@ñ+AÜBEÀdÃ)ó#Mð Má¤ A£œÞÙœS  a b ›]¬C°«I¸©MÔ:øðSÜœw t™}¨QÑ/Ó0�Dñ ˜•á�DŒMòy ñz „LØ€Møô_ $ó SÜ(Ð)@À4Ñ)GÓHÈdÐRðSûôP  ó SØœLÓ(ØŸg™g o¸Ñ&<¼cÀ$»iÓHÈdÐRñ )ðSús   Ã#L  Ë.L= Ì L:Ì=3M3Í2M3)F)r   N);Ú__doc__Ú
_constantsr2  r8  Ú	frozensetrõ   rô   rë   r÷   r1  r<  r>  r=  r�   r?  r6  r]   rì   r7  ÚCATEGORYr‘   rð   ré   r;  ÚAT_BEGINNING_STRINGÚAT_BOUNDARYÚAT_NON_BOUNDARYÚCATEGORY_DIGITÚCATEGORY_NOT_DIGITÚCATEGORY_SPACEÚCATEGORY_NOT_SPACEÚCATEGORY_WORDÚCATEGORY_NOT_WORDÚAT_END_STRINGrê   ÚSRE_FLAG_IGNORECASErb  ÚSRE_FLAG_MULTILINEÚSRE_FLAG_DOTALLr  rc  rd  rE  r]  rh  r_  rŠ   r   rL   rœ   rú   rÿ   r  r  r  rF  rf  rj  rz  rJ   r'   r$   Ú<module>rŒ     s  ðñ &ô à€Ø€á	�<Ó	 €á�jÓ!€	ÙÐ.Ó/€	ÙÐOÓP€á�}Ó%€
á˜* jÐ2CÐDÓE€Ù˜˜U B¨°¸hÐGÓH€
ð ‘S˜“YÐØ‘S˜“YÐØ‘S˜“YÐØ‘S˜“YÐØ‘S˜“YÐØ‘S˜“YÐØ‘S˜“YÐØ‘S˜“YÐñ	€ð Ð#Ð$Ø�ÐØ�Ð Ø�(˜NÐ+Ð,Ð-Ø�(Ð.Ð/Ð0Ð1Ø�(˜NÐ+Ð,Ð-Ø�(Ð.Ð/Ð0Ð1Ø�(˜MÐ*Ð+Ð,Ø�(Ð-Ð.Ð/Ð0Ø�Ðñ€
ð 
Ø	Ø	Ø	Ø	à	Ø	ñ
	€ð ˜oÑ-Ð0@Ñ@€
Ø€ð €÷"<ñ "<÷Huñ u÷nP6ñ P6òd:>òxK>òZ&ò:ôx}ò~: òxô ó6Tr'   