ó
    …~i€G  ã                  ó®  • S r SSKJr  SSKrSSKJrJrJrJr  SSK	J
r
  SSKJrJrJr  SSKJr  \(       a  SS	KJr  \\\   S
4   r\\   r " S S\5      r\" SSS5      rSrSR5                  S \" SS5       5       5      \" S5      -   r " S S\5      r          S)S jr S*S jr!   S+           S,S jjr" " S S5      r#      S-S jr$            S.S jr%S/S jr&S0S jr'S1S jr( S2       S3S jjr)S4S  jr*          S5S! jr+      S6S" jr,          S7S# jr-S8S$ jr.        S9S% jr/ " S& S'5      r0 " S( S
5      r1g):z
Parse inline elements
é    )ÚannotationsN)ÚTYPE_CHECKINGÚMatchÚ
NamedTupleÚUnioné   )Úpatterns)Ú	find_nextÚ	is_pairedÚnormalize_label)ÚInlineElement)ÚSourceÚMatchObjc                  ó4   • \ rS rSr% S\S'   S\S'   S\S'   Srg)	ÚGroupé   ÚintÚstartÚendz
str | NoneÚtext© N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__annotations__Ú__static_attributes__r   ó    ÚP/home/mande/repo/quber/.venv/lib/python3.13/site-packages/marko/inline_parser.pyr   r      s   ‡ ØƒJØ	ƒHØ
Ör   r   éÿÿÿÿz 
	Ú c              #  ó8   #   • U  H  n[        U5      v •  M     g 7f©N)Úchr)Ú.0Úis     r   Ú	<genexpr>r'      s   é € Ð5ª 1œ˜AŸ˜ªùs   ‚é    é   c                  ó   • \ rS rSrSrSrg)Ú
ParseErroré!   zRaised when parsing fails.r   N)r   r   r   r   Ú__doc__r   r   r   r   r+   r+   !   s   † Ü$r   r+   c           
     óp  ^•  " U4S jS[         5      n/ n[        U TR                  R                  5       H  nUR	                  [        XFX5      5        M      U H5  nUR                  U TS9 H  nUR	                  [        XxX5      5        M      M7     UR                  5         [        U5      n[        XPUS9$ )záParse given text and produce a list of inline elements.

:param text: the text to be parsed.
:param elements: the element types to be included in parsing
:param fallback: fallback class when no other element type is matched.
c                  ó*   >• \ rS rSrSrSU 4S jjrSrg)Úparse.<locals>.LinkOrEmphé/   Tc                ó„   >• [        U[        5      (       d   eTR                  R                  UR                     " U5      $ r#   )Ú
isinstancer   ÚparserÚinline_elementsÚetype)ÚclsÚmatchÚsources     €r   Ú__new__Ú!parse.<locals>.LinkOrEmph.__new__2   s4   ø€ Ü˜e¤X×.Ñ.Ð.Ð.Ø—=‘=×0Ñ0°·±Ò=¸eÓDÐDr   r   N)r8   Ú_MatchÚreturnr   )r   r   r   r   Úparse_childrenr:   r   ©r9   s   €r   Ú
LinkOrEmphr0   /   s   ø† Øˆ÷	Eò 	Er   r@   r?   )Úfallback)
r   Úfind_links_or_emphsÚrootÚlink_ref_defsÚappendÚTokenÚfindÚsortÚ_resolve_overlapÚmake_elements)	r   ÚelementsrA   r9   r@   ÚtokensÚmr6   r8   s	      `     r   ÚparserN   %   sŸ   ø€ ÷E”]ô Eð €FÜ   v§{¡{×'@Ñ'@ÖAˆØ�‰”e˜J¨4Ó:Ö;ñ Bó ˆØ—Z‘Z ¨V�ZÓ4ˆEØ�M‰Mœ% ¨dÓ=Ö>ó 5ñ ð ‡K�K„MÜ˜fÓ%€FÜ˜°Ñ9Ð9r   c                ó²  • U (       d  U $ / nU S   nU SS   H¬  nUR                  U5      nU[        R                  :X  a  UR                  U5        UnM=  U[        R                  :X  a  UR                  U5        Md  U[        R                  :X  d  Mz  UR                  R                  UR                  R                  :  d  Mª  UnM®     UR                  U5        U$ ©Nr   r   )	ÚrelationrF   ÚPRECEDErE   ÚCONTAINÚappend_childÚ	INTERSECTr6   Úpriority)rL   ÚresultÚprevÚcurÚrs        r   rI   rI   C   s¬   € ÞØˆØ€FØ�!‰9€DØ�a�b‹zˆØ�M‰M˜#ÓˆØ”—‘ÓØ�M‰M˜$ÔØŠDØ”%—-‘-ÓØ×Ñ˜cÖ"Ø”%—/‘/Õ! d§j¡j×&9Ñ&9¸C¿I¹I×<NÑ<NÕ&NØŠDñ ð ‡M�M�$ÔØ€Mr   c                ó>  • / nU=(       d    [        U5      nUnU  H`  nXgR                  :  a#  UR                  U" XUR                   5      5        UR                  UR                  5       5        UR                  nMb     Xc:  a  UR                  U" XU 5      5        U$ )a•  Make elements from a list of parsed tokens.
It will turn all unmatched holes into fallback elements.

:param tokens: a list of parsed tokens.
:param text: the original tet.
:param start: the offset of where parsing starts. Defaults to the start of text.
:param end: the offset of where parsing ends. Defauls to the end of text.
:param fallback: fallback element type.
:returns: a list of inline elements.
)Úlenr   rE   Ú
as_elementr   )rL   r   r   r   rA   rW   Úprev_endÚtokens           r   rJ   rJ   U   sŠ   € ð" #%€FØ
×
”�T“€CØ€HÛˆØ—k‘kÓ!Ø�M‰M™( 4°5·;±;Ð#?Ó@ÔAØ�‰�e×&Ñ&Ó(Ô)Ø—9‘9Šñ	 ð
 ƒ~Ø�‰‘h˜t¨SÐ1Ó2Ô3Ø€Mr   c                  óx   • \ rS rSrSrSrSrSrSr          SS jr	SS jr
SS	 jrSS
 jrSS jrSS jrSrg)rF   és   zgAn intermediate class to wrap the match object.
It can be converted to element by :meth:`as_element()`
r   r   é   é   c                ó  • Xl         X l        UR                  5       U l        UR                  5       U l        UR                  UR                  5      U l        UR                  UR                  5      U l        X0l        X@l        / U l	        g r#   )
r6   r8   r   r   Úparse_groupÚinner_startÚ	inner_endr   rA   Úchildren)Úselfr6   r8   r   rA   s        r   Ú__init__ÚToken.__init__}   sf   € ð Œ
ØŒ
Ø—[‘[“]ˆŒ
Ø—9‘9“;ˆŒØ Ÿ;™; u×'8Ñ'8Ó9ˆÔØŸ™ 5×#4Ñ#4Ó5ˆŒØŒ	Ø ŒØ%'ˆ�r   c                óò  • U R                   UR                  ::  a  [        R                  $ U R                   UR                   :¼  a¤  U R                  R
                  (       aD  UR                  U R                  :¼  a*  UR                   U R                  ::  a  [        R                  $ U R                  R
                  (       a*  U R                  UR                  ::  a  [        R                  $ [        R                  $ r#   )r   r   rF   rR   r6   r>   rf   rg   rS   ÚSHADErU   ©ri   Úothers     r   rQ   ÚToken.relationŠ   s•   € Ø�8‰8�u—{‘{Ó"Ü—=‘=Ð Ø�8‰8�u—y‘yÓ à—
‘
×)×)Ø—K‘K 4×#3Ñ#3Ó3Ø—I‘I §¡Ó/ä—}‘}Ð$Ø�z‰z×(×(¨T¯^©^¸u¿{¹{Ó-JÜ—{‘{Ð"Ü�‰Ðr   c                ór   • U R                   R                  (       d  g U R                  R                  U5        g r#   )r6   r>   rh   rE   )ri   Úchilds     r   rT   ÚToken.append_child˜   s$   € Ø�z‰z×(×(ØØ�‰×Ñ˜UÕ#r   c                ó  • U R                  U R                  5      nUR                  (       a`  [        U R                  5      U l        [        U R                  U R                  U R                  U R                  U R                  5      Ul        U$ r#   )
r6   r8   r>   rI   rh   rJ   r   rf   rg   rA   )ri   Úes     r   r]   ÚToken.as_element�   se   € Ø�J‰J�t—z‘zÓ"ˆØ××Ü,¨T¯]©]Ó;ˆDŒMÜ&Ø—‘Ø—	‘	Ø× Ñ Ø—‘Ø—‘óˆAŒJð ˆr   c                ó¢   • SR                  U R                  R                  U R                  R                  U R                  U R
                  5      $ )Nz<{}: {} start={} end={}>)ÚformatÚ	__class__r   r6   r   r   ©ri   s    r   Ú__repr__ÚToken.__repr__ª   s:   € Ø)×0Ñ0Ø�N‰N×#Ñ# T§Z¡Z×%8Ñ%8¸$¿*¹*ÀdÇhÁhó
ð 	
r   c                ó4   • U R                   UR                   :  $ r#   )r   )ri   Úos     r   Ú__lt__ÚToken.__lt__¯   s   € Ø�z‰z˜AŸG™GÑ#Ð#r   )	rh   r   r6   rA   rg   rf   r8   r   r   N)
r6   ÚElementTyper8   r<   r   ÚstrrA   r�   r=   ÚNone)ro   rF   r=   r   )rr   rF   r=   rƒ   )r=   r   ©r=   r‚   )r~   rF   r=   Úbool)r   r   r   r   r-   rR   rU   rS   rm   rj   rQ   rT   r]   r{   r   r   r   r   r   rF   rF   s   sc   † ñð €GØ€IØ€GØ€Eð(Ø ð(Ø)/ð(Ø7:ð(ØFQð(à	ô(ôô$ô
ô
÷
$r   rF   c                óŠ  • [         R                  " S5      nSn/ nSn/ n[         R                  " S5      nU[        U 5      :  aò  U(       a  SnUS-  nOÒX   S:X  a  SnUS-  nOÂUR                  X5      (       a   UR                  X5      R	                  5       nOŒX   S:X  a<  [        XX1U5      nU(       a"  UR	                  5       nUR                  U5        ONUS-  nOHUR                  X5      n	U	(       a+  UR                  [        X�5      5        U	R	                  5       nOUS-  nU[        U 5      :  a  Mò  [        XS	U5        U$ )
zªFink links/images or emphasis from text.

:param text: the original text.
:param link_ref_defs: a mapping of link ref definitions.
:returns: an iterable of match object.
z(?:!?\[|\*+|_+)r   Fz&(?<!`)(`+)(?!`)([\s\S]+?)(?<!`)\1(?!`)r   Ú\TÚ]N)	ÚreÚcompiler\   r8   r   Úlook_for_image_or_linkrE   Ú	DelimiterÚprocess_emphasis)
r   rD   Údelimiters_rer&   Ú
delimitersÚescapeÚmatchesÚcode_patternÚnoderM   s
             r   rB   rB   ³   s'  € ô —J’JÐ1Ó2€MØ	€AØ"$€JØ€FØ €GÜ—:’:ÐGÓH€Là
Œc�$‹i‹-ÞØˆFØ�‰F‰AØ‰W˜‹_ØˆFØ�‰F‰AØ×Ñ ×(Ñ(Ø×"Ñ" 4Ó+×/Ñ/Ó1‰AØ‰W˜‹^Ü)¨$¸AÈgÓVˆDÞØ—H‘H“J�Ø—‘˜tÕ$à�Q‘‘à×#Ñ# DÓ,ˆAÞØ×!Ñ!¤)¨AÓ"4Ô5Ø—E‘E“G‘à�Q‘�ð- Œc�$‹i�-ô. �T t¨WÔ5Ø€Nr   c                óŽ  • [        [        U5      5      S S S2    GH#  u  pVUR                  S;  a  M  UR                  (       d    Oþ[	        XR
                  U 5      (       d    Oà[        UR
                  X UR
                  U 5      nUR                  c   eUR                  S:X  a  SOSn[        XS-   5      =(       d    [        XS-   UR                  U5      n	U	(       d    Ob[        X€UR                  U	S   XyS   U	S   5      n
[        XXT5        US:X  a%  US U  H  nUR                  S	:X  d  M  S
Ul        M     X	 U
s  $    g X	 g )Nr    )Ú[ú![r–   ÚImageÚLinkr   rb   r   r•   F)ÚlistÚ	enumerateÚcontentÚactiveÚ_is_legal_link_textr   r   r   Ú_expect_inline_linkÚ_expect_reference_linkr   r   r�   )r   r�   ÚcloserD   r‘   r&   ÚdÚ	link_textr6   r8   Úrvs              r   r‹   r‹   Þ   s2  € ô ”Y˜zÓ*Ó+©D¨b¨DÕ1‰ˆØ�9‰9˜KÓ'ÙØ�x�xÙÜ" 4¯©°Ð#6×7Ñ7ÙÜ˜!Ÿ%™% ¨Q¯U©U°UÐ(;Ó<ˆ	Ø�~‰~Ñ)Ð)Ð)ØŸ9™9¨Ó,‘°&ˆÜ# D°!©)Ó4÷ 
Ô8NØ˜!‘)˜YŸ^™^¨]ó9
ˆö ÙÜ�e 1§7¡7¨E°!©H°iÀqÁÈ5ÐQRÉ8ÓTˆÜ˜¨1Ô6Ø�F‹?Ø  “^�Ø—9‘9 Õ#Ø$�A–Hñ $ð ˆMØŠ	ñ- 2ð4 àˆØr   c                ó   • [        U SS5      $ )Nr•   rˆ   )r   )r   s    r   r�   r�     s   € Ü�T˜3 Ó$Ð$r   c                ó    • UnSnU[        U 5      :  a:  X   S:X  a  U(       a   U$ SnOX   [        ;  a   U$ US-  nU[        U 5      :  a  M:  U$ )NFÚ
Tr   )r\   Ú
WHITESPACE)r   r   r&   Úhas_newlines       r   Ú_parse_link_separatorr©   	  se   € Ø€AØ€KØ
Œc�$‹i‹-Ø‰7�d‹?ÞØð
 €Hð	 ‰KØ‰WœJÓ&Øà€Hð 	
ˆQ‰ˆð Œc�$‹i�-ð €Hr   c                óÆ   • XUS-    S:w  a  g [        U SUS-   SS9nUS:  a  g XS-   U nUR                  5       (       a  [        U5      S:”  a  g [        XS-   XUS-    5      $ )Nr   r•   rˆ   ©Ú
disallowedr   iç  )r
   Ústripr\   r   )r   r   r&   Úlabels       r   Ú_parse_link_labelr¯     su   € Ø�E˜A‘IÐ #Ó%ØÜ�$˜˜U Q™Y°3Ñ7€AØˆ1ƒuØØ˜‘˜QÐ€EØ�;‰;�=‰=œC ›J¨Ó,ØÜ�˜A™˜t¨A°©EÐ2Ó3Ð3r   c                ó†  • U[        U 5      :¼  a
  [        5       eX   S:X  a3  [        U SUS-   SS9nUS:  a
  [        5       eUS-   n[        XXU 5      nOäSnSnUnU[        U 5      :  a“  X   nU(       a  SnOoUS:X  a  S	nOfU[        ;   a  OƒU[
        ;   a  [        S
5      eUS:X  a  US-  nO:US:X  a4  US:”  a  US-  nO(U(       a  [        XXU 5      nU[        4$ [        S5      eUS-  nU[        U 5      :  a  M“  U(       a  [        S5      e[        XXU 5      nUR                  (       d  [        S5      eUn	[        X5      nU[        U 5      :¼  d  X   S:X  d  X   S:X  a  U(       a  U[        4$ X   S:X  a  [        U SUS-   5      n
OKX   S:X  a  [        U SUS-   5      n
O2X   S:X  a  [        U SUS-   SS9n
OSX	U ;   a  U[        4$ [        5       eSUs=:  a  [        U 5      :  a  O  OXS-
     [        ;  a
  [        5       eU
S:  a
  [        5       eSXU
 ;   a
  [        5       e[        XJS-   XU
S-    5      nX[4$ )NÚ<Ú>r   z<
r«   r   Fr‡   Tz%Invalid character in link destinationÚ(Ú)zunmatched parenthesiszNo right parenthesis is foundzEmpty link destinationr¦   Ú"Ú'z

)	r\   r+   r
   r   r§   ÚASCII_CONTROLÚ_EMPTY_GROUPr   r©   )r¢   r   Ú	is_inlineÚright_bracketr&   Ú	link_destÚescapedÚpairsÚcrX   r   Ú
link_titles               r   Ú_parse_link_dest_titlerÀ   #  sq  € ð ”�I“ÓÜ‹lÐØÑ˜3ÓÜ! )¨S°%¸!±)ÈÑNˆØ˜1ÓÜ“,ÐØ˜AÑˆÜ˜% I°AÐ$6Ó7‰	àˆØˆØˆØ”#�i“.Ó Ø‘ˆAÞØ‘Ø�d“Ø‘Ø”j“ØØ”mÓ#Ü Ð!HÓIÐIØ�c“Ø˜‘
‘Ø�c“Ø˜1“9Ø˜Q‘J‘EÞÜ % e°	ÀÐ0BÓ C�IØ$¤lÐ2Ð2ä$Ð%<Ó=Ð=Ø�‰FˆAð) ”#�i“.Õ ö, Ü Ð!@ÓAÐAÜ˜% I°AÐ$6Ó7ˆ	Ø�~�~ÜÐ5Ó6Ð6Ø€DÜ˜iÓ+€AØŒC�	‹NÓ˜i™l¨dÓ2°i±lÀcÓ6IÎiØœ,Ð&Ð&Ø�|�sÓÜ˜	 3¨¨A©Ó.‰Ø	‰˜Ó	Ü˜	 3¨¨A©Ó.‰Ø	‰˜Ó	Ü˜	 3¨¨A©¸#Ñ>‰Ø	� Ð"Ó	"Øœ,Ð&Ð&ä‹lÐØˆ1ÕŒs�9‹~Ö )°©EÑ"2¼*Ó"DÜ‹lÐØ
ˆQƒwÜ‹lÐØ�˜SÐ!Ó!Ü‹lÐÜ�q ™' 9°°q±Ð#9Ó:€JØÐ Ð r   c                ó"  • U[        U 5      S-
  :¼  d  X   S:w  a  g[        XS-   5      n [        XSS9u  p4[	        UR
                  UR
                  5      n[        X5      nU[        U 5      :¼  d  X   S:w  a  gX4US-   4$ ! [         a     gf = f)z(link_dest "link_title")r   r³   NT)r¹   r´   )r\   r©   rÀ   r+   Úmaxr   )r   r   r&   r»   r¿   r   s         r   rž   rž   e  s›   € à”�D“	˜A‘Ó ¡°Ó!3ØÜ˜d¨A¡IÓ.€AðÜ 6°tÈ$Ñ OÑˆ	ô ˆi�m‰m˜ZŸ^™^Ó
,€CÜ
 Ó
*€CØ
Œc�$‹iÓ˜4™9¨Ó+ØØ #¨¡'Ð)Ð)øô ó Ùðús   «B Â
BÂBc                ó8  • [        X5      nUnUb(  UR                  c   eUR                  SS =(       d    UnOXUS-    S:X  a  [        XS-   S5      n[        XS5      nU(       d  g [        XUS   5      n[        XUS   5      nXxU(       a  UR                  4$ U4$ )Nr   r    rb   z[]r   )r¯   r   r   Ú_get_reference_linkr   )	r   r   r¢   rD   Ú
link_labelr®   rW   r»   r¿   s	            r   rŸ   rŸ   v  s¨   € ô # 4Ó/€JØ€EØÑØ�‰Ñ*Ð*Ð*Ø—‘  "Ð%×2¨‰Ø	�e˜a‘iÐ	  DÓ	(Ü˜5¨!¡)¨TÓ2ˆ
Ü  Ó6€FÞØÜ�e F¨1¡IÓ.€IÜ�u V¨A¡YÓ/€JØ¶Z :§>¡>ÐKÐKÀUÐKÐKr   c                ó:   • [        U 5      nUR                  U5      $ r#   )r   Úget)rÅ   rD   Únormalized_labels      r   rÄ   rÄ   ˆ  s!   € ô ' zÓ2ÐØ×ÑÐ-Ó.Ð.r   c                ó¬  • U=pE[        X5      nUGb´  X   nUR                  S   S:X  a  UOUn[        XU5      n	U	Gb$  X   n
[        U
R                  5      S:¼  a  [        UR                  5      S:¼  a  SOSn[	        US:X  a  SOSU U
R
                  U-
  UR                  U-   [        U
R
                  UR                  X
R
                  UR                   5      5      nUR                  U5        XS-   U2	 XfU	-
  S-
  -  nU
R                  U5      (       a  UR                  U
5        US-  nUR                  US5      (       a  UR                  U5        US:”  a  US-
  OS nOTUS:”  a  US-
  OS nUR                  S   S:X  a  UnOUnUR                  (       d  UR                  U5        US:”  a  US-
  OS n[        X5      nUb  GM´  Ub  US-   OSnXS 2	 g )Nr   Ú*rb   r   ÚStrongEmphasisÚEmphasisT)Ú_next_closerr›   Ú_nearest_openerr\   r   r   r   r   rE   ÚremoveÚcan_open)r   r�   Ústack_bottomr‘   Ústar_bottomÚunderscore_bottomrY   Úd_closerÚbottomÚopenerÚd_openerÚnr8   Úlowers                 r   r�   r�   �  sà  € ð '3Ð2€KÜ
�zÓ
0€CØ
Š/Ø‘?ˆØ (× 0Ñ 0°Ñ 3°sÓ :‘Ð@QˆÜ  °&Ó9ˆØÒØ!Ñ)ˆHÜ˜×)Ñ)Ó*¨aÓ/´C¸×8HÑ8HÓ4IÈQÓ4N‘ÐTUˆAÜØ$%¨£FÑ °
ØØ—‘˜qÑ Ø—‘ Ñ"ÜØ—L‘L (§.¡.°$·|±|ÀhÇnÁnÐ2UóóˆEð �N‰N˜5Ô!Ø A™:¨Ð+Ð,Ø˜‘< !Ñ#Ñ#ˆCØ�‰˜q×!Ñ!Ø×!Ñ! (Ô+Ø�q‘�Ø�‰˜q $×'Ñ'Ø×!Ñ! (Ô+Ø  1›W�#˜’'¨$‰Cà # a£�S˜1’W¨TˆFØ×Ñ Ñ" cÓ)Ø$‘à$*Ð!Ø×$×$Ø×!Ñ! (Ô+Ø!$ q£�c˜A’g¨d�Ü˜:Ó+ˆðE Œ/ðF !-Ñ 8ˆL˜1Ò¸a€EØ‘6Ñr   c                ó’   • Ub  US-   OSnU[        U 5      :  a.  X   n[        USS5      (       a  U$ US-  nU[        U 5      :  a  M.  g )Nr   r   Ú	can_closeF)r\   Úgetattr)r�   Úboundr&   r¡   s       r   rÍ   rÍ   ¾  sU   € ØÑ&ˆ�Š	¨A€AØ
Œc�*‹oÓ
Ø‰MˆÜ�1�k 5×)Ñ)ØˆHØ	ˆQ‰ˆð	 Œc�*‹oÕ
ð
 r   c                óž   • US-
  nUb  UOSnX2:”  a<  X   n[        USS5      (       a  UR                  X   5      (       a  U$ US-  nX2:”  a  M<  g )Nr   r    rÐ   F)rÜ   Ú	closed_by)r�   ÚhigherrÙ   r&   r¡   s        r   rÎ   rÎ   È  s_   € ð 	�‰
€AØÑ&‰E¨B€EØ
‹)Ø‰MˆÜ�1�j %×(Ñ(¨Q¯[©[¸Ñ9K×-LÑ-LØˆHØ	ˆQ‰ˆð	 �)ð
 r   c                  ó²   • \ rS rSr\R
                  " S\R                  S9rSS jrSS jr	SS jr
SS jrSS jrSS	 jrSS
 jrSS jrSSS jjrSS jrSrg)rŒ   iÕ  z\s)Úflagsc                ó  • UR                  5       U l         UR                  5       U l        UR                  5       U l        X l        SU l        U R                  S   S;   a+  U R                  5       U l        U R                  5       U l	        g g )NTr   )rÊ   Ú_)
r   r   Úgroupr›   r   rœ   Ú	_can_openrÐ   Ú
_can_closerÛ   )ri   r8   r   s      r   rj   ÚDelimiter.__init__Ø  sf   € Ø—[‘[“]ˆŒ
Ø—9‘9“;ˆŒØ—{‘{“}ˆŒØŒ	ØˆŒØ�<‰<˜‰?˜jÓ(Ø ŸN™NÓ,ˆDŒMØ!Ÿ_™_Ó.ˆD�Nð )r   c                óÎ   • U R                   S   S:X  a  U R                  5       $ U R                  5       =(       a,    U R                  5       (       + =(       d    U R                  5       $ ©Nr   rÊ   )r›   Úis_left_flankingÚis_right_flankingÚpreceded_by_puncrz   s    r   ræ   ÚDelimiter._can_openâ  sT   € Ø�<‰<˜‰?˜cÓ!Ø×(Ñ(Ó*Ð*Ø×$Ñ$Ó&÷ 
Ø×&Ñ&Ó(Ô(×C¨D×,AÑ,AÓ,Cð	
r   c                óÎ   • U R                   S   S:X  a  U R                  5       $ U R                  5       =(       a,    U R                  5       (       + =(       d    U R                  5       $ rê   )r›   rì   rë   Úfollowed_by_puncrz   s    r   rç   ÚDelimiter._can_closeé  sT   € Ø�<‰<˜‰?˜cÓ!Ø×)Ñ)Ó+Ð+Ø×%Ñ%Ó'÷ 
Ø×%Ñ%Ó'Ô'×B¨4×+@Ñ+@Ó+Bð	
r   c                óÂ  • U R                   [        U R                  5      :  =(       a2    U R                  R	                  U R                  U R                   5      S L =(       a~    U R                  5       (       + =(       db    U R                  S:H  =(       dL    U R                  5       =(       d5    U R                  R	                  U R                  U R                  S-
  5      S L$ rP   )r   r\   r   Úwhitespace_rer8   rð   r   rí   rz   s    r   rë   ÚDelimiter.is_left_flankingð  s¬   € à�H‰H”s˜4Ÿ9™9“~Ñ%÷ FØ×"Ñ"×(Ñ(¨¯©°D·H±HÓ=ÀÐE÷
ð ×%Ñ%Ó'Ô'÷ OØ�z‰z˜Q‰÷Oà×$Ñ$Ó&÷Oð ×!Ñ!×'Ñ'¨¯	©	°4·:±:À±>ÓBÈ$ÐNð	
r   c                óÂ  • U R                   S:„  =(       a5    U R                  R                  U R                  U R                   S-
  5      S L =(       aŽ    U R	                  5       (       + =(       dr    U R
                  [        U R                  5      :H  =(       dI    U R                  5       =(       d2    U R                  R                  U R                  U R
                  5      S L$ rP   )r   ró   r8   r   rí   r   r\   rð   rz   s    r   rì   ÚDelimiter.is_right_flankingû  s¬   € à�J‰J˜‰N÷ LØ×"Ñ"×(Ñ(¨¯©°D·J±JÀ±NÓCÀtÐK÷
ð ×%Ñ%Ó'Ô'÷ IØ�x‰xœ3˜tŸy™y›>Ñ)÷Ià×$Ñ$Ó&÷Ið ×!Ñ!×'Ñ'¨¯	©	°4·8±8Ó<ÀDÐHð	
r   c                ó®   • U R                   [        U R                  5      :  =(       a-    [        R                  " U R                  U R                      5      $ r#   )r   r\   r   r	   Úis_punctuationrz   s    r   rð   ÚDelimiter.followed_by_punc  s=   € Ø�x‰xœ#˜dŸi™i›.Ñ(÷ 
¬X×-DÒ-DØ�I‰I�d—h‘hÑó.
ð 	
r   c                óŽ   • U R                   S:„  =(       a0    [        R                  " U R                  U R                   S-
     5      $ rP   )r   r	   rø   r   rz   s    r   rí   ÚDelimiter.preceded_by_punc  s2   € Ø�z‰z˜A‰~×T¤(×"9Ò"9¸$¿)¹)ÀDÇJÁJÐQRÁNÑ:SÓ"TÐTr   c                ó~  • U R                   S   UR                   S   :g  =(       d“    U R                  =(       a    U R                  =(       d    UR                  =(       a    UR                  =(       aG    [        U R                   UR                   -   5      S-  S:H  =(       a    [	        S X4 5       5      (       + (       + $ )Nr   rc   c              3  óX   #   • U  H   n[        UR                  5      S -  S:H  v •  M"     g7f)rc   r   N)r\   r›   )r%   r¡   s     r   r'   Ú&Delimiter.closed_by.<locals>.<genexpr>  s"   é € ÐGº°Aœ˜AŸI™I›¨Ñ*¨aÖ/ºùs   ‚(*)r›   rÐ   rÛ   r\   Úallrn   s     r   rß   ÚDelimiter.closed_by  s‹   € à�L‰L˜‰O˜uŸ}™}¨QÑ/Ñ/÷ HØ—‘×0 $§.¡.×V°E·N±N×4VÀuÇÁ÷ HÜ�D—L‘L 5§=¡=Ñ0Ó1°AÑ5¸Ñ:÷HäÑG¸$¹ÓGÓGÔGô	
ð 	
r   c                óÄ   • [        U R                  5      U::  a  gU(       a  U =R                  U-  sl        OU =R                  U-  sl        U R                  US  U l        g)NTF)r\   r›   r   r   )ri   rØ   Úlefts      r   rÏ   ÚDelimiter.remove  sH   € Üˆt�|‰|Ó Ó!ØÞØ�JŠJ˜!‰OŽJà�HŠH˜‰M�HØ—|‘| A BÐ'ˆŒØr   c                ód   • SR                  U R                  U R                  U R                  5      $ )Nz <Delimiter {!r} start={} end={}>)rx   r›   r   r   rz   s    r   r{   ÚDelimiter.__repr__   s(   € Ø1×8Ñ8Ø�L‰L˜$Ÿ*™* d§h¡hó
ð 	
r   )rœ   rÛ   rÐ   r›   r   r   r   N)r8   r<   r   r‚   r=   rƒ   )r=   r…   )ro   rŒ   r=   r…   )F)rØ   r   r  r…   r=   r…   r„   )r   r   r   r   r‰   rŠ   ÚUNICODEró   rj   ræ   rç   rë   rì   rð   rí   rß   rÏ   r{   r   r   r   r   rŒ   rŒ   Õ  sI   † Ø—J’J˜u¨B¯J©JÑ7€Mô/ô
ô
ô	
ô	
ô
ô
Uô
ö÷
r   rŒ   c                  ór   • \ rS rSrSr            S
S jrSSS jjrSSS jjrSSS jjrSSS jjr	Sr
g	)r   i&  z/A fake match object that memes re.match methodsc                ó@   • X l         X0l        X@l        XPl        Xl        g r#   )Ú_textÚ_startÚ_endÚ_groupsr6   )ri   r6   r   r   r   Úgroupss         r   rj   ÚMatchObj.__init__)  s   € ð Œ
ØŒØŒ	ØŒØ�
r   c                ó~   • US:X  a#  U R                   U R                  U R                   $ U R                  US-
     S   $ )Nr   r   rb   )r	  r
  r  r  ©ri   rØ   s     r   rå   ÚMatchObj.group2  s:   € Ø�‹6Ø—:‘:˜dŸk™k¨D¯I©IÐ6Ð6Ø�|‰|˜A ™EÑ" 1Ñ%Ð%r   c                óP   • US:X  a  U R                   $ U R                  US-
     S   $ rP   )r
  r  r  s     r   r   ÚMatchObj.start7  s+   € Ø�‹6Ø—;‘;ÐØ�|‰|˜A ™EÑ" 1Ñ%Ð%r   c                óP   • US:X  a  U R                   $ U R                  US-
     S   $ rP   )r  r  r  s     r   r   ÚMatchObj.end<  s+   € Ø�‹6Ø—9‘9ÐØ�|‰|˜A ™EÑ" 1Ñ%Ð%r   c                óF   • U R                  U5      U R                  U5      4$ r#   )r   r   r  s     r   ÚspanÚMatchObj.spanA  s   € Ø—
‘
˜1“˜tŸx™x¨›{Ð+Ð+r   )r  r  r
  r	  r6   N)r6   r‚   r   r‚   r   r   r   r   r  r   r=   rƒ   )r   )rØ   r   r=   r‚   )rØ   r   r=   r   )rØ   r   r=   ztuple[int, int])r   r   r   r   r-   rj   rå   r   r   r  r   r   r   r   r   r   &  sS   † Ù9ðØðØ #ðØ,/ðØ69ðØDIðà	ôö&ö
&ö
&÷
,ñ ,r   )
r   r‚   rK   zlist[ElementType]rA   r�   r9   r   r=   úlist[InlineElement])rL   úlist[Token]r=   r  )r   NN)rL   r  r   r‚   r   r   r   ú
int | NonerA   zElementType | Noner=   r  )r   r‚   rD   údict[str, tuple[str, str]]r=   úlist[MatchObj])r   r‚   r�   úlist[Delimiter]r    r   rD   r  r‘   r  r=   zMatchObj | None)r   r‚   r=   r…   )r   r‚   r   r   r=   r   )r   r‚   r   r   r=   zGroup | None)r   F)r¢   r‚   r   r   r¹   r…   r=   ztuple[Group, Group])r   r‚   r   r   r=   útuple[Group, Group, int] | None)
r   r‚   r   r   r¢   r‚   rD   r  r=   r  )rÅ   r‚   rD   r  r=   ztuple[str, str] | None)
r   r‚   r�   r  rÑ   r  r‘   r  r=   rƒ   )r�   r  rÝ   r  r=   r  )r�   r  rà   r   rÙ   r  r=   r  )2r-   Ú
__future__r   r‰   Útypingr   r   r   r   r!   r	   Úhelpersr
   r   r   Úinliner   r9   r   r‚   r<   Útyper�   r   r¸   r§   ÚjoinÚranger$   r·   Ú
ValueErrorr+   rN   rI   rJ   rF   rB   r‹   r�   r©   r¯   rÀ   rž   rŸ   rÄ   r�   rÍ   rÎ   rŒ   r   r   r   r   Ú<module>r(     s|  ðñõ #ã 	ß :Ó :å ß :Ñ :Ý !æÝà�5˜‘:˜zÐ)Ñ*€Fà�}Ñ%€KôˆJô ñ �R˜˜TÓ"€Ø€
Ø—‘Ñ5©¨a°¬Ó5Ó5¹¸C»Ñ@€ô%�ô %ð:Ø
ð:Ø*ð:Ø6Að:ØKQð:àô:ô<ð* ØØ#'ðØðà
ðð ðð 
ð	ð
 !ðð õ÷<=$ñ =$ð@(Ø
ð(Ø8ð(àô(ðV$Ø
ð$àð$ð ð$ð .ð	$ð
 ð$ð ô$ôN%ôô	4ð 7<ð?!Øð?!Øð?!Ø/3ð?!àõ?!ôD*ð"LØ
ðLØðLØ&)ðLØ:TðLà$ôLð$/Øð/Ø$>ð/àô/ð,Ø
ð,àð,ð ð,ð ð	,ð
 
ô,ô^ð
Øð
Ø),ð
Ø5?ð
àô
÷N
ñ N
÷b,ò ,r   