Ë
    ì—0jñ   ã                   óB  — d Z ddl­ dZdZ ed«      Z ed«      Z ed«      Z ed«      Z ed	«      Z	 ee
eeh«      Z eeeeeeeh«      Ze ed
«      fe ed«      fe ed«      fe ed«      fe ed«      fe ed«      fe ed«      fe ed«      fdœZeefeefeefeeefgfeeefgfeeefgfeeefgfeeefgfeee fgfee!fdœ
Z"e#e$e%e&e'e(e)e*dœZ+e(e$z  e*z  Z,e-e)z  Z.dZ/ G d„ d«      Z0 G d„ d«      Z1 G d„ d«      Z2d„ Z3d„ Z4d„ Z5d„ Z6d&d „Z7d!„ Z8d"„ Z9d'd$„Z:d%„ Z;y#)(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ÚtÚul            c                   ó<   — e Zd Zd„ Zed„ «       Zdd„Zd„ Zd„ Zd„ Z	y)	ÚStatec                 óL   — d| _         i | _        d g| _        d | _        i | _        y )Né    )ÚflagsÚ	groupdictÚgroupwidthsÚlookbehindgroupsÚgrouprefpos©Úselfs    ú'/usr/local/lib/python3.12/re/_parser.pyÚ__init__zState.__init__M   s*   € ØˆŒ
ØˆŒØ ˜6ˆÔØ $ˆÔØˆÕó    c                 ó,   — t        | j                  «      S ©N)Úlenr   r"   s    r$   ÚgroupszState.groupsS   s   € ä�4×#Ñ#Ó$Ð$r&   Nc                 ó  — | j                   }| j                  j                  d «       | j                   t        kD  rt	        d«      ‚|�>| j
                  j                  |d «      }|�t	        d|||fz  «      ‚|| j
                  |<   |S )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$   Ú	opengroupzState.opengroupV   s�   € Ø�k‰kˆØ×Ñ×Ñ Ô%Ø�;‰;œÒ"ÜÐ)Ó*Ð*ØÐØ—>‘>×%Ñ% d¨DÓ1ˆDØÐÜð +Ø.2°C¸$Ð-?ñ@ó Að Aà#&ˆD�N‰N˜4Ñ Øˆ
r&   c                 ó>   — |j                  «       | j                  |<   y r(   )Úgetwidthr   )r#   r1   Úps      r$   Ú
closegroupzState.closegroupb   s   € Ø !§
¡
£ˆ×Ñ˜Òr&   c                 óF   — || j                   k  xr | j                  |   d uS r(   )r*   r   )r#   r1   s     r$   Ú
checkgroupzState.checkgroupd   s&   € Ø�T—[‘[Ñ ÒF T×%5Ñ%5°cÑ%:À$Ð%FÐFr&   c                 ó¢   — | j                   �C| j                  |«      s|j                  d«      ‚|| j                   k\  r|j                  d«      ‚y y )Núcannot refer to an open groupz?cannot refer to group defined in the same lookbehind subpattern)r    r9   r.   )r#   r1   Úsources      r$   ÚchecklookbehindgroupzState.checklookbehindgroupg   sX   € Ø× Ñ Ð,Ø—?‘? 3Ô'Ø—l‘lÐ#BÓCÐCØ�d×+Ñ+Ò+Ø—l‘lð $;ó <ð <ð ,ð -r&   r(   )
Ú__name__Ú
__module__Ú__qualname__r%   Úpropertyr*   r3   r7   r9   r=   © r&   r$   r   r   K   s0   „ òð ñ%ó ð%óò-òGó<r&   r   c                   óL   — e Zd Zdd„Zdd„Zd„ Zd„ Zd„ Zd„ Zd„ Z	d	„ Z
d
„ Zd„ Zy)Ú
SubPatternNc                 ó6   — || _         |€g }|| _        d | _        y r(   )ÚstateÚdataÚwidth)r#   rF   rG   s      r$   r%   zSubPattern.__init__q   s!   € ØˆŒ
Øˆ<ØˆDØˆŒ	Øˆ�
r&   c                 óª  — t         t        f}| j                  D �]·  \  }}t        |dz  t	        |«      z   d¬«       |t
        u r3t        «        |D ]#  \  }}t        |dz   dz  t	        |«      z   |«       Œ% Œ^|t        u rHt        «        t        |d   «      D ],  \  }}|rt        |dz  dz   «       |j                  |dz   «       Œ. Œ®|t        u rP|\  }}}	t        d|«       |j                  |dz   «       |	sŒßt        |dz  dz   «       |	j                  |dz   «       �Œt        |t        «      r t        «        |j                  |dz   «       �Œ6t        ||«      rjd}
|D ]S  }t        |t        «      r#|
s
t        «        |j                  |dz   «       d}
Œ6|
st        d	d¬«       t        |d¬«       d}
ŒU |
r�Œ t        «        �Œ¬t        d|«       �Œº y )
Nz  Ú )Úendr   ÚORÚELSEFTÚ )ÚtupleÚlistrG   ÚprintÚstrÚINÚBRANCHÚ	enumerateÚdumpÚGROUPREF_EXISTSÚ
isinstancerD   )r#   ÚlevelÚseqtypesÚopÚavr   r   Ú	condgroupÚitem_yesÚitem_noÚnls              r$   rV   zSubPattern.dumpx   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�qÙÜ˜e D™j¨4Ñ/Ô0Ø—F‘F˜5 ™7•Oñ -ð ”Ñ&Ø/1Ñ,�	˜8 WÜ�b˜)Ô$Ø—‘˜e A™gÔ&ÚÜ˜% ™* vÑ-Ô.Ø—L‘L  q¡Ö)Ü˜B¤
Ô+Ü”Ø—‘˜˜a™Ö Ü˜B Ô)Ø�Û�AÜ! !¤ZÔ0Ù!Ü!œGØŸ™˜u Q™wœØ!™á!Ü! #¨2Õ.Ü˜a RÕ(Ø"™ð ó Ü–Gä�b˜"–ñO  r&   c                 ó,   — t        | j                  «      S r(   )ÚreprrG   r"   s    r$   Ú__repr__zSubPattern.__repr__¢   s   € Ü�D—I‘I‹Ðr&   c                 ó,   — t        | j                  «      S r(   )r)   rG   r"   s    r$   Ú__len__zSubPattern.__len__¤   s   € Ü�4—9‘9‹~Ðr&   c                 ó   — | j                   |= y r(   ©rG   ©r#   Úindexs     r$   Ú__delitem__zSubPattern.__delitem__¦   s   € Ø�I‰I�eÑr&   c                 ó†   — t        |t        «      r#t        | j                  | j                  |   «      S | j                  |   S r(   )rX   ÚslicerD   rF   rG   rh   s     r$   Ú__getitem__zSubPattern.__getitem__¨   s5   € Ü�eœUÔ#Ü˜dŸj™j¨$¯)©)°EÑ*:Ó;Ð;Ø�y‰y˜ÑÐr&   c                 ó"   — || j                   |<   y r(   rg   ©r#   ri   Úcodes      r$   Ú__setitem__zSubPattern.__setitem__¬   s   € Øˆ�	‰	�%Òr&   c                 ó<   — | j                   j                  ||«       y r(   )rG   Úinsertro   s      r$   rs   zSubPattern.insert®   s   € Ø�	‰	×Ñ˜ Õ%r&   c                 ó:   — | j                   j                  |«       y r(   )rG   r,   )r#   rp   s     r$   r,   zSubPattern.append°   s   € Ø�	‰	×Ñ˜Õr&   c                 óö  — | j                   �| j                   S dx}}| j                  D �]�  \  }}|t        u rHt        }d}|d   D ]-  }|j	                  «       \  }}t        ||«      }t        ||«      }Œ/ ||z   }||z   }ŒW|t        u r|j	                  «       \  }}||z   }||z   }Œ}|t        u r!|d   j	                  «       \  }}||z   }||z   }Œ¦|t        v rB|d   j	                  «       \  }}|||d   z  z   }|d   t        k(  r	|rt        }Œä|||d   z  z   }Œð|t        v r|dz   }|dz   }�Œ|t        u r(| j                  j                  |   \  }}||z   }||z   }�Œ4|t        u rX|d   j	                  «       \  }}|d   �/|d   j	                  «       \  }}t        ||«      }t        ||«      }nd}||z   }||z   }�Œ”|t         u s�Œž n t        |t        «      t        |t        «      f| _         | j                   S )Nr   r   éÿÿÿÿé   )rH   rG   rT   ÚMAXWIDTHr5   ÚminÚmaxÚATOMIC_GROUPÚ
SUBPATTERNÚ_REPEATCODESÚ	MAXREPEATÚ
_UNITCODESÚGROUPREFrF   r   rW   ÚSUCCESS)	r#   ÚloÚhir[   r\   r   ÚjÚlÚhs	            r$   r5   zSubPattern.getwidth²   s  € à�:‰:Ð!Ø—:‘:ÐØˆˆˆRØ—i•i‰FˆB�Ø”V‰|Ü�Ø�Ø˜Qœ%�BØŸ;™;›=‘D�A�qÜ˜A˜q›	�AÜ˜A˜q›	‘Að  ð ˜!‘V�Ø˜!‘V‘Ø”|Ñ#Ø—{‘{“}‘��1Ø˜!‘V�Ø˜!‘V‘Ø”zÑ!Ø˜"‘v—‘Ó(‘��1Ø˜!‘V�Ø˜!‘V‘Ø”|Ñ#Ø˜!‘u—~‘~Ó'‘��1Ø˜!˜b ™e™)‘^�Ø�a‘5œIÒ%©!Ü!‘Bà˜a " Q¡%™i™‘BØ”zÑ!Ø˜!‘V�Ø˜!‘V’Ø”x‘Ø—z‘z×-Ñ-¨bÑ1‘��1Ø˜!‘V�Ø˜!‘V’Ø”Ñ&Ø˜!‘u—~‘~Ó'‘��1Ø�a‘5Ð$Ø˜a™5Ÿ>™>Ó+‘D�A�qÜ˜A˜q›	�AÜ˜A˜q›	‘Aà�AØ˜!‘V�Ø˜!‘V’Ø”w“ÙðW  ôX ˜œXÓ&¬¨B´Ó(9Ð9ˆŒ
Ø�z‰zÐr&   r(   ©r   )r>   r?   r@   r%   rV   rc   re   rj   rm   rq   rs   r,   r5   rB   r&   r$   rD   rD   o   s5   „ óó)òTòòò ò ò&òó2r&   rD   c                   óZ   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Ze	d„ «       Z
d„ Zd	„ Zdd
„Zd„ Zy)Ú	Tokenizerc                 ó¶   — t        |t        «      | _        || _        | j                  st        |d«      }|| _        d| _        d | _        | j                  «        y )NÚlatin1r   )rX   rR   ÚistextÚstringÚdecoded_stringri   ÚnextÚ_Tokenizer__next)r#   r�   s     r$   r%   zTokenizer.__init__ç   sI   € Ü  ¬Ó-ˆŒØˆŒØ�{Š{Ü˜ Ó*ˆFØ$ˆÔØˆŒ
ØˆŒ	Ø�‰�r&   c                 ó:  — | j                   }	 | j                  |   }|dk(  r|dz  }	 || j                  |   z  }|dz   | _         || _        y # t        $ r
 d | _        Y y w xY w# t        $ r/ t	        d| j
                  t        | j
                  «      dz
  «      d ‚w xY w)Nr   r   zbad escape (end of pattern))ri   rŽ   Ú
IndexErrorr�   r.   r�   r)   )r#   ri   Úchars      r$   Ú__nextz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Á"8Bc                 óD   — || j                   k(  r| j                  «        yy)NTF©r�   r�   )r#   r“   s     r$   ÚmatchzTokenizer.match   s   € Ø�4—9‘9ÒØ�K‰KŒMØØr&   c                 ó>   — | j                   }| j                  «        |S r(   r–   )r#   Úthiss     r$   r/   zTokenizer.get  s   € Ø�y‰yˆØ�‰ŒØˆr&   c                 óz   — d}t        |«      D ]*  }| j                  }||vr |S ||z  }| j                  «        Œ, |S ©NrJ   )Úranger�   r�   )r#   ÚnÚcharsetÚresultÚ_Úcs         r$   ÚgetwhilezTokenizer.getwhile	  sK   € ØˆÜ�q–ˆAØ—	‘	ˆAØ˜ÑØð ˆð �a‰KˆFØ�K‰K�Mð ð ˆr&   c                 óö   — d}	 | j                   }| j                  «        |€4|s| j                  d|z   «      ‚| j                  d|z  t        |«      «      ‚||k(  r|s| j                  d|z   d«      ‚	 |S ||z  }Œw)NrJ   zmissing zmissing %s, unterminated namer   )r�   r�   r.   r)   )r#   Ú
terminatorr0   rŸ   r¡   s        r$   ÚgetuntilzTokenizer.getuntil  s�   € ØˆØØ—	‘	ˆAØ�K‰KŒMØˆyÙØŸ*™* Z°$Ñ%6Ó7Ð7Ø—j‘jÐ!@À:Ñ!MÜ!$ V£ó.ð .à�JŠÙØŸ*™* Z°$Ñ%6¸Ó:Ð:Øàˆð �a‰KˆFð r&   c                 óN   — | j                   t        | j                  xs d«      z
  S r›   ©ri   r)   r�   r"   s    r$   ÚposzTokenizer.pos"  s   € à�z‰zœC §	¡	¢¨RÓ0Ñ0Ð0r&   c                 óN   — | j                   t        | j                  xs d«      z
  S r›   r§   r"   s    r$   ÚtellzTokenizer.tell%  s   € Ø�z‰zœC §	¡	¢¨RÓ0Ñ0Ð0r&   c                 ó2   — || _         | j                  «        y r(   )ri   r�   rh   s     r$   ÚseekzTokenizer.seek'  s   € ØˆŒ
Ø�‰�r&   c                 ó¬   — | j                   s!|j                  dd«      j                  d«      }t        || j                  | j                  «       |z
  «      S )NÚasciiÚbackslashreplace)rŒ   ÚencodeÚdecoder.   r�   rª   )r#   ÚmsgÚoffsets      r$   r.   zTokenizer.error+  sC   € Ø�{Š{Ø—*‘*˜WÐ&8Ó9×@Ñ@ÀÓIˆCÜ�S˜$Ÿ+™+ t§y¡y£{°VÑ';Ó<Ð<r&   c                 óè   — | j                   s3|j                  «       s#d|z  }| j                  |t        |«      |z   «      ‚|j	                  «       s#d|z  }| j                  |t        |«      |z   «      ‚y )Nzbad character in group name %azbad character in group name %r)rŒ   Úisasciir.   r)   Úisidentifier)r#   r0   r³   r²   s       r$   ÚcheckgroupnamezTokenizer.checkgroupname0  sj   € Ø—’˜tŸ|™|œ~Ø2°TÑ9ˆCØ—*‘*˜S¤# d£)¨fÑ"4Ó5Ð5Ø× Ñ Ô"Ø2°TÑ9ˆCØ—*‘*˜S¤# d£)¨fÑ"4Ó5Ð5ð #r&   Nr‡   )r>   r?   r@   r%   r�   r—   r/   r¢   r¥   rA   r¨   rª   r¬   r.   r·   rB   r&   r$   r‰   r‰   æ   sH   „ òòò ò
òòð  ñ1ó ð1ò1òó=ó
6r&   r‰   c                 ó  — t         j                  |«      }|r|S t        j                  |«      }|r|d   t        u r|S 	 |dd }|dk(  rZ|| j	                  dt
        «      z  }t        |«      dk7  r| j                  d|z  t        |«      «      ‚t        t        |dd  d«      fS |dk(  rf| j                  rZ|| j	                  dt
        «      z  }t        |«      d	k7  r| j                  d|z  t        |«      «      ‚t        t        |dd  d«      fS |d
k(  rs| j                  rg|| j	                  dt
        «      z  }t        |«      dk7  r| j                  d|z  t        |«      «      ‚t        |dd  d«      }t        |«       t        |fS |dk(  rg| j                  r[dd l}| j                  d«      s| j                  d«      ‚| j                  dd«      }	 t        |j!                  |«      «      }t        |fS |t&        v rS|| j	                  dt&        «      z  }t        |dd  d«      }|dkD  r| j                  d|z  t        |«      «      ‚t        |fS |t(        v rt*        ‚t        |«      dk(  r:|t,        v r| j                  d|z  t        |«      «      ‚t        t        |d   «      fS 	 | j                  d|z  t        |«      «      ‚# t"        t$        f$ r, | j                  d|z  t        |«      t        d«      z   «      d ‚w xY w# t*        $ r Y Œgw xY w)Nr   r   rw   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)ÚESCAPESr/   Ú
CATEGORIESrS   r¢   Ú	HEXDIGITSr)   r.   ÚLITERALÚintrŒ   ÚchrÚunicodedatar—   r¥   ÚordÚlookupÚKeyErrorÚ	TypeErrorÚ	OCTDIGITSÚDIGITSÚ
ValueErrorÚASCIILETTERS)r<   Úescaperp   r¡   rÐ   Úcharnames         r$   Ú_class_escaperÛ   8  s  € ä�;‰;�vÓ€DÙØˆÜ�>‰>˜&Ó!€DÙ��Q‘œ2‘Øˆð1Ø�1�QˆKˆØ�Š8à�f—o‘o a¬Ó3Ñ3ˆFÜ�6‹{˜aÒØ—l‘lÐ#9¸FÑ#BÄCÈÃKÓPÐPÜœC  q r 
¨BÓ/Ð/Ð/Ø�#ŠX˜&Ÿ-š-à�f—o‘o a¬Ó3Ñ3ˆFÜ�6‹{˜aÒØ—l‘lÐ#9¸FÑ#BÄCÈÃKÓPÐPÜœC  q r 
¨BÓ/Ð/Ð/Ø�#ŠX˜&Ÿ-š-à�f—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�:ÐØ”)‰^à�f—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ûô$ ò ÙðúsM   ¿A#L  Â#A*L  ÄA7L  ÆA	L  ÇK Ç*L  Ç2AL  ÉAL  Ë;K=Ë=L  Ì 	LÌLc                 óê  — t         j                  |«      }|r|S t        j                  |«      }|r|S 	 |dd }|dk(  rZ|| j                  dt        «      z  }t        |«      dk7  r| j                  d|z  t        |«      «      ‚t        t        |dd  d«      fS |dk(  rf| j                  rZ|| j                  dt        «      z  }t        |«      dk7  r| j                  d|z  t        |«      «      ‚t        t        |dd  d«      fS |d	k(  rs| j                  rg|| j                  d
t        «      z  }t        |«      dk7  r| j                  d|z  t        |«      «      ‚t        |dd  d«      }t        |«       t        |fS |dk(  rg| j                  r[dd l}| j                  d«      s| j                  d«      ‚| j                  dd«      }	 t        |j                  |«      «      }t        |fS |dk(  r.|| j                  dt$        «      z  }t        t        |dd  d
«      fS |t&        v �r| j(                  t&        v rˆ|| j                  «       z  }|d   t$        v rj|d   t$        v r_| j(                  t$        v rM|| j                  «       z  }t        |dd  d
«      }|dkD  r| j                  d|z  t        |«      «      ‚t        |fS t        |dd  «      }||j*                  k  rF|j-                  |«      s| j                  dt        |«      «      ‚|j/                  || «       t0        |fS | j                  d|z  t        |«      dz
  «      ‚t        |«      dk(  r:|t2        v r| j                  d|z  t        |«      «      ‚t        t        |d   «      fS 	 | j                  d|z  t        |«      «      ‚# t         t"        f$ r, | j                  d|z  t        |«      t        d«      z   «      d ‚w xY w# t4        $ r Y Œgw xY w)Nr   rw   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Ë   r/   rÊ   r¢   rÌ   r)   r.   rÍ   rÎ   rŒ   rÏ   rÐ   r—   r¥   rÑ   rÒ   rÓ   rÔ   rÕ   rÖ   r�   r*   r9   r=   r€   rØ   r×   )r<   rÙ   rF   rp   r¡   rÐ   rÚ   Úgroups           r$   Ú_escaperà   t  sÚ  € ä�>‰>˜&Ó!€DÙØˆÜ�;‰;�vÓ€DÙØˆðBØ�1�QˆKˆØ�Š8à�f—o‘o a¬Ó3Ñ3ˆFÜ�6‹{˜aÒØ—l‘lÐ#9¸FÑ#BÄCÈÃKÓPÐPÜœC  q r 
¨BÓ/Ð/Ð/Ø�#ŠX˜&Ÿ-š-à�f—o‘o a¬Ó3Ñ3ˆFÜ�6‹{˜aÒØ—l‘lÐ#9¸FÑ#BÄCÈÃKÓPÐPÜœC  q r 
¨BÓ/Ð/Ð/Ø�#ŠX˜&Ÿ-š-à�f—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à�f—o‘o a¬Ó3Ñ3ˆFÜœC  q r 
¨AÓ.Ð.Ð.Ø”&Š[à�{‰{œfÑ$Ø˜&Ÿ*™*›,Ñ&�Ø˜1‘I¤Ñ*¨v°a©y¼IÑ/EØ—K‘K¤9Ñ,à˜fŸj™j›lÑ*�FÜ˜F 1 2˜J¨Ó*�AØ˜5’yØ$Ÿl™lð ,;Ø=Cñ,Dä+.¨v«;ó8ð 8ô # A˜:Ð%ä˜˜q˜r˜
“OˆEØ�u—|‘|Ò#Ø×'Ñ'¨Ô.Ø Ÿ,™,Ð'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#O& ÂA*O& ÄA7O& Å;A	O& ÇN( ÇO& Ç'2O& ÈB"O& Ê=A"O& Ì A(O& Î(;O#Ï#O& Ï&	O2Ï1O2c                 ó>   — t        t        j                  | «      «      S r(   )rP   ÚdictÚfromkeys)Úitemss    r$   Ú_uniqrå   Á  s   € Ü”—‘˜eÓ$Ó%Ð%r&   c           
      óÎ  — g }|j                   }| j                  }| j                  «       }	  |t        | |||dz   | xr | «      «        |d«      sn|s|j                  t
        z  }Œ=t        |«      dk(  r|d   S t        |«      }	 d }	|D ]  }
|
s n0|	€|
d   }	Œ|
d   |	k7  sŒ n |D ]  }
|
d= Œ |j                  |	«       Œ<	 g }|D ]_  }
t        |
«      dk7  r nq|
d   \  }}|t        u r|j                  ||f«       Œ7|t        u r |d   d   t        ur|j                  |«       Œ_ n# |j                  t        t        |«      f«       |S |j                  t        d |ff«       |S )Nr   Ú|r   )r,   r—   rª   Ú_parser   ÚSRE_FLAG_VERBOSEr)   rD   rÍ   rS   ÚNEGATEÚextendrå   rT   )r<   rF   ÚverboseÚnestedrä   ÚitemsappendÚsourcematchÚstartÚ
subpatternÚprefixÚitemÚsetr[   r\   s                 r$   Ú
_parse_subrõ   Ä  s“  € ð €EØ—,‘,€KØ—,‘,€KØ�K‰K‹M€EØ
Ù”F˜6 5¨'°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‘‰ˆˆBØ”‰=Ø�J‰J˜˜B�xÕ Ø”2‰X˜"˜Q™% ™(¬&Ñ0Ø�J‰J�r�Náð ð 	×Ñœ2œu S›zÐ*Ô+ØÐà×Ñ”v  e˜}Ð-Ô.ØÐr&   c                 ó~  — t        |«      }|j                  }| j                  }| j                  }t        }	t
        }
	 | j                  }|€�nn|dv r�nh |«        |r |t        v rŒ)|dk(  r	  |«       }|�|dk(  rnŒŒ@|d   dk(  rt        | ||«      } ||«       �n|t        vr |t         |
|«      f«       �n |dk(  �r| j                  «       dz
  }g }|j                  }| j                  dk(  r0dd l}|j                  d	| j                  «       z  t        |d
z   ¬«        |d«      }	  |«       }|€#| j                  d| j                  «       |z
  «      ‚|dk(  r|r�n|d   dk(  rt!        | |«      }nm|r]|dv rY| j                  |k(  rJdd l}|j                  d|dk(  rdn|dk(  rdn|dk(  rdnd| j                  «       dz
  fz  t        |d
z   ¬«       t         |
|«      f} |d«      �rY |«       }|€#| j                  d| j                  «       |z
  «      ‚|dk(  r1|d   t"        u r|d   d   } ||«        |t         |
d«      f«       �n|d   dk(  rt!        | |«      }nF|dk(  r3dd l}|j                  d| j                  «       dz
  z  t        |d
z   ¬«       t         |
|«      f}|d   t        k7  s|d   t        k7  r2d|›d|›�}| j                  |t	        |«      dz   t	        |«      z   «      ‚|d   }|d   }||k  r2d|›d|›�}| j                  |t	        |«      dz   t	        |«      z   «      ‚ |t$        ||ff«       n|d   t"        u r|d   d   } ||«       �Œ6t'        |«      } |	|«      dk(  r3|d   d   t        u r%|r |t(        |d   d   f«       �	n ||d   «       �	n|r|j+                  dt,        d f«        |t"        |f«       �nè|t.        v �rj| j                  «       }|dk(  rd\  }}�ne|dk(  r
dt0        }}�nV|dk(  r
dt0        }}�nG|dk(  �r3| j                  d k(  r |t         |
|«      f«       �Œdt0        }}d!x}}| j                  t2        v r| |«       z  }| j                  t2        v rŒ |d"«      r0| j                  t2        v r | |«       z  }| j                  t2        v rŒn|} |d «      s' |t         |
|«      f«       | j5                  |«       �Œ§|rt7        |«      }|t0        k\  rt9        d#«      ‚|rUt7        |«      }|t0        k\  rt9        d#«      ‚||k  r1| j                  d$| j                  «       |z
  «      ‚t;        d%›�«      ‚|r|d&d  }nd }|r|d   d   t<        u r/| j                  d'| j                  «       |z
  t	        |«      z   «      ‚|d   d   t>        v r/| j                  d(| j                  «       |z
  t	        |«      z   «      ‚|d   d   t@        u r|d   d   \  }}}}|€|s|s|} |d«      rtB        |||ff|d&<   �n� |d«      rtD        |||ff|d&<   �n…tF        |||ff|d&<   �nu|d)k(  r |tH        d f«       �n`|d*k(  �r| j                  «       dz
  } d}!d+}"d }#d}d} |d«      �rE |«       }|€| j                  d,«      ‚|d-k(  �r& |d.«      r&| jK                  d/d0«      }#| jM                  |#d«       �n÷ |d1«      rµ| jK                  d2d0«      }#| jM                  |#d«       |jN                  j                  |#«      }$|$€#d3|#z  }| j                  |t	        |#«      dz   «      ‚|jQ                  |$«      s| j                  d4t	        |#«      dz   «      ‚|jS                  |$| «        |tT        |$f«       �ŒT |«       }|€| j                  d,«      ‚| j                  d5|z   t	        |«      dz   «      ‚|d6k(  rd+}!�nö|dk(  r>	 | j                  €#| j                  d7| j                  «       | z
  «      ‚ |«       d2k(  rnŒ;�ŒÛ|d8v rÙd}%|d.k(  r` |«       }|€| j                  d,«      ‚|d9vr!| j                  d:|z   t	        |«      dz   «      ‚d&}%|jV                  }&|&€|jX                  |_+        t[        | |||dz   «      }|%dk  r	&€d |_+         |d2«      s#| j                  d;| j                  «       | z
  «      ‚|d1k(  r |t\        |%|ff«       n |t^        |%|ff«       �Œ¸|d*k(  �rE| jK                  d2d0«      }'|'ja                  «       r|'jc                  «       sS| jM                  |'d«       |jN                  j                  |'«      }(|(�€5d3|'z  }| j                  |t	        |'«      dz   «      ‚t7        |'«      }(|(s| j                  d<t	        |'«      dz   «      ‚|(td        k\  r#d=|(z  }| j                  |t	        |'«      dz   «      ‚|(|jf                  vr,| j                  «       t	        |'«      z
  dz
  |jf                  |(<   |'ja                  «       r|'jc                  «       sadd l}|j                  d>| jh                  rtk        |'«      n
tm        |'«      | j                  «       t	        |'«      z
  dz
  fz  tn        |d
z   ¬«       |jS                  |(| «       tq        | |||dz   «      })| j                  d?«      r1tq        | |||dz   «      }*| j                  d?k(  r| j                  d@«      ‚d }*| j                  d2«      s#| j                  d;| j                  «       | z
  «      ‚ |tr        |(|)|*ff«       �Œ|d/k(  rd+}!d}"n�|tt        v s|dk(  rStw        | ||«      }+|+€<|r|r#| j                  dA| j                  «       | z
  «      ‚|jx                  tz        z  }�Œe|+\  }}d+}!n!| j                  dB|z   t	        |«      dz   «      ‚|!r	 |j}                  |#«      }nd }|xs	 |tz        z  xr
 |tz        z   }-t[        | ||-|dz   «      }| j                  d2«      s#| j                  d;| j                  «       | z
  «      ‚|�|j�                  ||«       |"r|�J ‚ |t‚        |f«       nQ |t@        ||||ff«       n>|dk(  r |t<        t„        f«       n&|dCk(  r |t<        t†        f«       nt;        dD›�«      ‚�Œ~t‰        t	        |«      «      d d d&…   D ]+  }.||.   \  }/}0|/t@        u sŒ|0\  }}}}|�Œ|rŒ!|rŒ$|||.|.dz    Œ- |S # t        $ r.},| j                  |,j~                  t	        |#«      dz   «      d ‚d },~,ww xY w)ENTz|)Ú#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 %drw   zbad character range Ú?)r   r   r   Ú+rÁ   rÃ   rJ   Ú,z"the repetition number is too largez"min repeat greater than max repeatzunsupported quantifier rv   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 subpatternz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 )ErD   r,   r/   r—   r)   rÑ   r�   Ú
WHITESPACErà   ÚSPECIAL_CHARSrÍ   rª   ÚwarningsÚwarnÚFutureWarningr.   rÛ   rS   ÚRANGErå   ÚNOT_LITERALrs   rê   ÚREPEAT_CHARSr~   rÖ   r¬   rÎ   ÚOverflowErrorÚAssertionErrorÚATr}   r|   Ú
MIN_REPEATÚPOSSESSIVE_REPEATÚ
MAX_REPEATÚANYr¥   r·   r   r9   r=   r€   r    r*   rõ   ÚASSERTÚ
ASSERT_NOTÚ	isdecimalrµ   r-   r!   rŒ   rb   r®   ÚDeprecationWarningrè   rW   ÚFLAGSÚ_parse_flagsr   ré   r3   r²   r7   r{   ÚAT_BEGINNINGÚAT_ENDrœ   )1r<   rF   rì   rí   Úfirstrñ   ÚsubpatternappendÚ	sourcegetrï   Ú_lenÚ_ordr™   rp   Úhererô   Ú	setappendr  ÚnegateÚcode1ÚthatÚcode2r²   r‚   rƒ   ry   rz   r“   ró   rß   Ú	add_flagsÚ	del_flagsr6   rð   ÚcaptureÚatomicr0   r1   Údirr    Úcondnamer]   r^   r_   r   ÚerrÚsub_verboser   r[   r\   s1                                                    r$   rè   rè      så  € ä˜EÓ"€Jð "×(Ñ(ÐØ—
‘
€IØ—,‘,€KÜ€DÜ€Dà
à�{‰{ˆØˆ<ÙØ�4‰<ÙÙŒáà”zÑ!ØØ�sŠ{ØÙ$›;�DØ�| t¨t¢|Øð ð à�‰7�dŠ?Ü˜6 4¨Ó/ˆ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’à˜’Øœi�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Ø"(§,¡,Ð/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¨5°'¸6ÀA¹:ÓF�AØ˜Q’wØ+Ð3Ø59˜EÔ2Ù& sÔ+Ø$Ÿl™lÐ+OØ+1¯;©;«=¸5Ñ+@óBð Bà˜s’{Ù(¬&°3¸°(Ð);Õ<á(¬*°s¸A°hÐ)?Ô@Ùà˜S“[à%Ÿ™¨s°LÓA�HØ$×.Ñ.Ô0°X×5EÑ5EÔ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¸×9IÑ9IÔ9KÛ+Ø$ŸM™MØ OØ39·=²=¤ h¤ÄeÈHÃoØ!'§¡£´°X³Ñ!>ÀÑ!Bð!Dñ!Dô !3¸vÈ¹zð	 *ô ð ×.Ñ.¨y¸&ÔAÜ% f¨e°W¸fÀ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 5¨+°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ñM ôR ”3�z“?Ó#¡D b DÔ)ˆØ˜A‘‰ˆˆBØ”ÒØ-/Ñ*ˆE�9˜i¨Ø‰}¢Y²yØ%&�
˜1˜a ™cÑ"ð *ð ÐøôG ò IØ Ÿ,™, s§w¡w´°D³	¸A±Ó>ÀDÐHûðIús   ït ô	t<ô)t7ô7t<c                 óX  — | j                   }d}d}|dk7  rÊ	 t        |   }| j                  r|dk(  r+d}| j                  |«      ‚|dk(  rd}| j                  |«      ‚||z  }|t        z  r|t        z  |k7  rd}| j                  |«      ‚ |«       }|€| j                  d«      ‚|d	v rn8|t        vr/|j                  «       rd
nd}| j                  |t        |«      «      ‚ŒÉ|dk(  r|xj                  |z  c_        y |t        z  r| j                  dd«      ‚|dk(  rÔ |«       }|€| j                  d«      ‚|t        vr/|j                  «       rd
nd}| j                  |t        |«      «      ‚	 t        |   }|t        z  rd}| j                  |«      ‚||z  } |«       }|€| j                  d«      ‚|dk(  rn8|t        vr/|j                  «       rd
nd}| j                  |t        |«      «      ‚Œ‚|dk(  sJ ‚|t        z  r| j                  dd«      ‚||z  r| j                  dd«      ‚||fS )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)	r/   r%  rŒ   r.   Ú
TYPE_FLAGSÚisalphar)   r   ÚGLOBAL_FLAGS)r<   rF   r“   r+  r4  r5  Úflagr²   s           r$   r&  r&  }  sF  € Ø—
‘
€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‘.¸ˆ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Ø�9ÒØ�l‰lÐEÀqÓIÐIØ�iÐÐr&   c                 ó  — t        | t        «      r>|t        z  rt        d«      ‚|t        z  s|t
        z  }|S |t
        z  rt        d«      ‚|S |t
        z  rt        d«      ‚|t        z  r|t        z  rt        d«      ‚|S )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)rX   rR   Ú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                 ó   — t        | «      }|€
t        «       }||_        | |_        t	        |||t
        z  d«      }t        | |j                  j                  «      |j                  _        |j                  �"|j                  dk(  sJ ‚|j                  d«      ‚|j                  j                  D ]D  }||j                  j                  k\  sŒd|z  }t        || |j                  j                  |   «      ‚ |t        z  r|j                  «        |S )Nr   r  zunbalanced parenthesisrÞ   )r‰   r   r   rR   rõ   ré   rF  rF   r�   r.   r!   r*   ÚSRE_FLAG_DEBUGrV   )rR   r   rF   r<   r6   Úgr²   s          r$   ÚparserJ  É  sç   € ô �s‹^€Fà€}Ü“ˆØ€E„KØ€E„Iä�6˜5 %Ô*:Ñ":¸AÓ>€AÜ˜c 1§7¡7§=¡=Ó1€A‡G�G„Mà‡{�{ÐØ�{‰{˜cÒ!Ð!Ð!Ø�l‰lÐ3Ó4Ð4à�W‰W× Ô ˆØ�—‘—‘ÓØ.°Ñ2ˆCÜ˜˜S !§'¡'×"5Ñ"5°aÑ"8Ó9Ð9ð !ð
 Œ~ÒØ	�‰Œà€Hr&   c           	      ó€  ‡‡‡‡‡— t        | «      Š‰j                  }g Šg Š‰j                  }ˆˆˆfd„Šˆˆˆˆfd„}‰j                  }	  |«       }|€�n‘|d   dk(  �r~|d   }|dk(  �r7‰j	                  d«      s‰j                  d	«      ‚‰j                  d
d«      }|j                  «       r|j                  «       s‰j                  |d«       	 ||   }	n³t        |«      }	|	t        k\  r!‰j                  d|	z  t        |«      dz   «      ‚|j                  «       r|j                  «       s^dd l}
|
j!                  d‰j"                  rt%        |«      n
t'        |«      ‰j)                  «       t        |«      z
  dz
  fz  t*        d¬«        ||	t        |«      dz   «       �nD|dk(  rZ‰j,                  t.        v r&| |«       z  }‰j,                  t.        v r
| |«       z  } |t1        t        |dd  d«      dz  «      «       nå|t2        v r¶d}‰j,                  t2        v r~| |«       z  }|t.        v rl|d   t.        v ra‰j,                  t.        v rO| |«       z  }d}t        |dd  d«      }|dkD  r‰j                  d|z  t        |«      «      ‚ |t1        |«      «       |sI |t        |dd  «      t        |«      dz
  «       n'	 t1        t4        |   d   «      } ||«       n ||«       �Œœ ‰«        ‰S # t        $ r t        d|z  «      d ‚w xY w# t        $ r* |t6        v r‰j                  d|z  t        |«      «      d ‚Y Œjw xY w)Nc                  óÈ   •— ‰j                   r!‰j                  dj                  ‰ «      «       n/‰j                  dj                  ‰ «      j                  d«      «       ‰ d d …= y )NrJ   zlatin-1)rŒ   r,   Újoinr°   )ÚliteralrŸ   r   s   €€€r$   Ú
addliteralz"parse_template.<locals>.addliteralì  sH   ø€ Ø�8Š8Ø�M‰M˜"Ÿ'™' 'Ó*Õ+ð �M‰M˜"Ÿ'™' 'Ó*×1Ñ1°)Ó<Ô=Ø’A‰Jr&   c                 ó~   •— | ‰j                   kD  r‰j                  d| z  |«      ‚ ‰«        ‰j                  | «       y )NrÞ   )r*   r.   r,   )ri   r¨   rO  ÚpatternrŸ   r   s     €€€€r$   Úaddgroupz 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Ç   Frw   rÈ   rÉ   )r‰   r/   r,   Ú
groupindexr—   r.   r¥   r#  rµ   r·   rÓ   r’   rÎ   r-   r)   r  r  rŒ   rb   r®   rª   r$  r�   rÕ   rÏ   rÖ   rÊ   rØ   )r<   rQ  ÚsgetÚlappendrR  rT  r™   r¡   r0   ri   r  ÚisoctalrO  rN  rŸ   r   s    `          @@@@r$   Úparse_templaterX  ä  s)  ü€ ô 	�&Ó€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Ø *¨4Ñ 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   ÃK. Ê=L
 Ë.LÌ
0L=Ì<L=)F)r   N)<Ú__doc__Ú
_constantsr  r  Ú	frozensetrÖ   rÕ   rÌ   rØ   r  r  r  r  r}   r   r  rS   rÍ   r  Ú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  ÚSRE_FLAG_TEMPLATErD  r%  r=  rH  r?  rx   r   rD   r‰   rÛ   rà   rå   rõ   rè   r&  rF  rJ  rX  rB   r&   r$   Ú<module>rk     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@Ñ@€
ØÐ 1Ñ1€ð €÷"<ñ "<÷Huñ u÷nP6ñ P6òd:>òxK>òZ&ò:óx{òz: òxó ó6Tr&   