ó
    Eñiµg  ã            	      óØ  • S SK Jr  S SKrS SKJr  S SKJrJrJr  S SK	J
r
  S SKJr  S SKJr  SS	KJr  SS
KJr  SSKJr  SSKJrJrJrJr  SSKJr  SSKJr  SSKJr  SSK J!r!  SSK"J#r#J$r$  SSK%J&r&  SSK'J(r(J)r)   " S S5      r* " S S\*5      r+ " S S\*5      r, " S S\,5      r-\ " S S5      5       r. " S S\,5      r/ " S  S!\,5      r0 " S" S#\,5      r1 " S$ S%\*5      r2 " S& S'\*5      r3 " S( S)\*5      r4 " S* S+\*5      r5 " S, S-\*5      r6 " S. S/\*5      r7 " S0 S1\*5      r8 " S2 S3\,5      r9 " S4 S5\,5      r: " S6 S7\,5      r; " S8 S95      r< " S: S;\5      r=\>S<:X  Gaü  S SK?r?S SKr\?R€                  " S=S>9rA\AR…                  S?S@SASB9  \AR…                  SCSDSESFSSGSH9  \AR…                  SISJSKSLSMSN9  \AR…                  SOSPSQSSQSN9  \AR…                  SRSSSTSFSUSV9  \AR…                  SWSX\CSYSSZS[9  \AR…                  S\S]S^SFS_SV9  \AR…                  S`SaSbSFScSV9  \AR‰                  5       rES SdKFJr  \ERŽ                  Se:X  a  \R�                  R“                  5       rJO*\K" \ERŽ                  SfSg9 rL\LR“                  5       rJSSS5        \=" \J\ERš                  (       a  ShOSi\ERœ                  \ERž                  \ER                   Sj9rQ\ER¤                  (       ag  S SKSrSS SKTrT\SRª                  " 5       rV\" \V\ER®                  \ER°                  Sk9r\R³                  \Q5        \TR´                  " \VR·                  5       5        g\" \ER®                  \ER°                  SlSm9r\R³                  \Q5        gg! , (       d  f       Nð= f)né    )ÚannotationsN)Ú	dataclass)ÚClassVarÚIterableÚget_args)Ú
MarkdownIt)ÚToken)ÚTableé   )Úbox)Ú
loop_first)ÚStack)ÚConsoleÚConsoleOptionsÚJustifyMethodÚRenderResult)ÚRenderables)ÚJupyterMixin)ÚRule)ÚSegment)ÚStyleÚ
StyleStack)ÚSyntax)ÚTextÚTextTypec                  óv   • \ rS rSr% SrS\S'   \SS j5       rSS jrSS jr	SS jr
SS	 jr      SS
 jrSrg)ÚMarkdownElementé   TzClassVar[bool]Únew_linec                ó   • U " 5       $ )zÂFactory to create markdown element,

Args:
    markdown (Markdown): The parent Markdown object.
    token (Token): A node from markdown-it.

Returns:
    MarkdownElement: A new markdown element
© ©ÚclsÚmarkdownÚtokens      ÚJ/home/mande/repo/quber/.venv/lib/python3.13/site-packages/rich/markdown.pyÚcreateÚMarkdownElement.create   s   € ñ ‹uˆó    c                ó   • g)z]Called when the node is entered.

Args:
    context (MarkdownContext): The markdown context.
Nr!   ©ÚselfÚcontexts     r&   Úon_enterÚMarkdownElement.on_enter)   ó   � r)   c                ó   • g)zXCalled when text is parsed.

Args:
    context (MarkdownContext): The markdown context.
Nr!   ©r,   r-   Útexts      r&   Úon_textÚMarkdownElement.on_text0   r0   r)   c                ó   • g)z_Called when the parser leaves the element.

Args:
    context (MarkdownContext): [description]
Nr!   r+   s     r&   Úon_leaveÚMarkdownElement.on_leave7   r0   r)   c                ó   • g)aD  Called when a child element is closed.

This method allows a parent element to take over rendering of its children.

Args:
    context (MarkdownContext): The markdown context.
    child (MarkdownElement): The child markdown element.

Returns:
    bool: Return True to render the element, or False to not render the element.
Tr!   ©r,   r-   Úchilds      r&   Úon_child_closeÚMarkdownElement.on_child_close>   s   € ð r)   c                ó   • g)Nr!   r!   ©r,   ÚconsoleÚoptionss      r&   Ú__rich_console__Ú MarkdownElement.__rich_console__L   s   € ð r)   r!   N©r$   ÚMarkdownr%   r	   Úreturnr   ©r-   ÚMarkdownContextrF   ÚNone©r-   rH   r3   r   rF   rI   ©r-   rH   r;   r   rF   Úbool©r@   r   rA   r   rF   r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   Ú__annotations__Úclassmethodr'   r.   r4   r7   r<   rB   Ú__static_attributes__r!   r)   r&   r   r      sO   ‡ Ø#€HˆnÓ#àó
ó ð
ôôôôðØðØ)7ðà	÷r)   r   c                  ó   • \ rS rSrSrSrg)ÚUnknownElementéR   z†An unknown element.

Hopefully there will be no unknown elements, and we will have a MarkdownElement for
everything in the document.

r!   N)rN   rO   rP   rQ   Ú__doc__rT   r!   r)   r&   rV   rV   R   s   † ôr)   rV   c                  ó:   • \ rS rSrSrSrS	S jrS
S jrS	S jrSr	g)ÚTextElementé[   z)Base class for elements that render text.Únonec                ó`   • UR                  U R                  5      U l        [        SS9U l        g ©NÚleft©Újustify)Úenter_styleÚ
style_nameÚstyler   r3   r+   s     r&   r.   ÚTextElement.on_enter`   s$   € Ø×(Ñ(¨¯©Ó9ˆŒ
Ü Ñ(ˆ�	r)   c                óˆ   • U R                   R                  U[        U[        5      (       a  UR                  5        g S 5        g ©N)r3   ÚappendÚ
isinstanceÚstrÚcurrent_styler2   s      r&   r4   ÚTextElement.on_textd   s.   € Ø�	‰	×Ñ˜¼
À4Ì×8MÑ8M˜w×4Ñ4ÕXÐSWÕXr)   c                ó$   • UR                  5         g rg   )Úleave_styler+   s     r&   r7   ÚTextElement.on_leaveg   s   € Ø×ÑÕr)   )rd   r3   NrG   rJ   )
rN   rO   rP   rQ   rX   rc   r.   r4   r7   rT   r!   r)   r&   rZ   rZ   [   s   † Ù3à€Jô)ôY÷r)   rZ   c                  ó\   • \ rS rSr% SrSrS\S'   \SS j5       rSS jr	      SS jr
S	rg
)Ú	Paragraphék   zA Paragraph.zmarkdown.paragraphr   ra   c                ó4   • U " UR                   =(       d    SS9$ r^   r`   r"   s      r&   r'   ÚParagraph.createq   s   € á˜8×+Ñ+×5¨vÑ6Ð6r)   c                ó   • Xl         g rg   r`   ©r,   ra   s     r&   Ú__init__ÚParagraph.__init__u   s   € Ø�r)   c              #  ó^   #   • U R                   U R                  l         U R                  v •  g 7frg   )ra   r3   r?   s      r&   rB   ÚParagraph.__rich_console__x   s    é € ð !ŸL™Lˆ�	‰	ÔØ�i‰i‹ùs   ‚+-r`   N)r$   rE   r%   r	   rF   rq   ©ra   r   rF   rI   rM   )rN   rO   rP   rQ   rX   rc   rR   rS   r'   rw   rB   rT   r!   r)   r&   rq   rq   k   sD   ‡ Ùà%€JØÓàó7ó ð7ôðØðØ)7ðà	÷r)   rq   c                  ó2   • \ rS rSr% SrS\S'   SrS\S'   Srg	)
ÚHeadingFormaté   r_   r   ra   Ú rj   rd   r!   N)rN   rO   rP   rQ   ra   rR   rd   rT   r!   r)   r&   r}   r}      s   ‡ à#€Gˆ]Ó#Ø€Eˆ3†Or)   r}   c                  ó‚   ^ • \ rS rSr% SrSSSSSSS.rS\S'   \SS j5       rSS	 jr	SU 4S
 jjr
      SS jrSrU =r$ )ÚHeadingé…   z
A heading.Úcenterr_   )Úh1Úh2Úh3Úh4Úh5Úh6z"ClassVar[dict[str, JustifyMethod]]ÚLEVEL_ALIGNc                ó&   • U " UR                   5      $ rg   )Útagr"   s      r&   r'   ÚHeading.create‘   s   € á�5—9‘9‹~Ðr)   c                óX   • [        5       U l        UR                  U R                  5        g rg   )r   r3   rb   rc   r+   s     r&   r.   ÚHeading.on_enter•   s   € Ü“FˆŒ	Ø×Ñ˜DŸO™OÕ,r)   c                óB   >• Xl         SU 3U l        [        TU ]  5         g )Nú	markdown.)rŒ   rc   Úsuperrw   )r,   rŒ   Ú	__class__s     €r&   rw   ÚHeading.__init__™   s!   ø€ ØŒØ% c UÐ+ˆŒÜ‰ÑÕr)   c              #  ó    #   • U R                   R                  5       nU R                  R                  U R                  S5      nXCl        Uv •  g 7f)Nr_   )r3   ÚcopyrŠ   ÚgetrŒ   ra   )r,   r@   rA   r3   Úheading_justifys        r&   rB   ÚHeading.__rich_console__ž   s=   é € ð �y‰y�~‰~ÓˆØ×*Ñ*×.Ñ.¨t¯x©x¸Ó@ˆØ&ŒØ‹
ùs   ‚AA)rc   rŒ   r3   )r$   rE   r%   r	   rF   r�   rG   )rŒ   rj   rF   rI   rM   )rN   rO   rP   rQ   rX   rŠ   rR   rS   r'   r.   rw   rB   rT   Ú__classcell__©r“   s   @r&   r�   r�   …   si   ø‡ Ùð ØØØØØñ7€KÐ3ó ð óó ðô-÷ð
ØðØ)7ðà	÷ò r)   r�   c                  óP   • \ rS rSrSrSr\S	S j5       rS
S jr      SS jr	Sr
g)Ú	CodeBlocké§   z&A code block with syntax highlighting.zmarkdown.code_blockc                óŒ   • UR                   =(       d    SnUR                  S5      S   nU " U=(       d    SUR                  5      $ )Nr   Ú r   r3   )ÚinfoÚ	partitionÚ
code_theme)r#   r$   r%   Ú	node_infoÚ
lexer_names        r&   r'   ÚCodeBlock.create¬   s=   € à—J‘J×$ "ˆ	Ø×(Ñ(¨Ó-¨aÑ0ˆ
Ù�:×' ¨×)<Ñ)<Ó=Ð=r)   c                ó   • Xl         X l        g rg   ©r¥   Útheme)r,   r¥   r©   s      r&   rw   ÚCodeBlock.__init__²   s   € Ø$ŒØ�
r)   c              #  óš   #   • [        U R                  5      R                  5       n[        X0R                  U R
                  SSS9nUv •  g 7f)NTr   )r©   Ú	word_wrapÚpadding)rj   r3   Úrstripr   r¥   r©   )r,   r@   rA   ÚcodeÚsyntaxs        r&   rB   ÚCodeBlock.__rich_console__¶   s?   é € ô �4—9‘9‹~×$Ñ$Ó&ˆÜØ—/‘/¨¯©¸tÈQñ
ˆð ‹ùs   ‚A	Ar¨   N)r$   rE   r%   r	   rF   r�   )r¥   rj   r©   rj   rF   rI   rM   )rN   rO   rP   rQ   rX   rc   rS   r'   rw   rB   rT   r!   r)   r&   r�   r�   §   s>   † Ù0à&€Jàó>ó ð>ô
ðØðØ)7ðà	÷r)   r�   c                  óF   • \ rS rSrSrSrS	S jrS
S jr      SS jrSr	g)Ú
BlockQuoteéÀ   zA block quote.zmarkdown.block_quotec                ó"   • [        5       U l        g rg   ©r   Úelements©r,   s    r&   rw   ÚBlockQuote.__init__Å   ó   € Ü%0£]ˆ�r)   c                ó:   • U R                   R                  U5        g©NF©r·   rh   r:   s      r&   r<   ÚBlockQuote.on_child_closeÈ   ó   € Ø�‰×Ñ˜UÔ#Ør)   c              #  ó  #   • UR                  UR                  S-
  S9nUR                  U R                  X0R                  S9nU R                  n[        S5      n[        SU5      nU H  nUv •  U S h  v•N   Uv •  M     g  N7f)Né   ©Úwidth©rd   Ú
u   â–Œ )ÚupdateÚ	max_widthÚrender_linesr·   rd   r   )	r,   r@   rA   Úrender_optionsÚlinesrd   r   r­   Úlines	            r&   rB   ÚBlockQuote.__rich_console__Ì   s{   é € ð !Ÿ™¨g×.?Ñ.?À!Ñ.C˜ÐDˆØ×$Ñ$ T§]¡]°NÏ*É*Ð$ÐUˆØ—
‘
ˆÜ˜4“=ˆÜ˜& %Ó(ˆÛˆDØŠMØ�OˆOØŒNò áùs   ‚A2BÁ4BÁ5B©r·   N©rF   rI   rK   rM   )
rN   rO   rP   rQ   rX   rc   rw   r<   rB   rT   r!   r)   r&   r³   r³   À   s1   † Ùà'€Jô3ôðØðØ)7ðà	÷r)   r³   c                  ó2   • \ rS rSrSrSr      SS jrSrg)ÚHorizontalRuleéÚ   z%A horizontal rule to divide sections.Fc              #  ó\   #   • UR                  SSS9n[        USS9v •  [        5       v •  g 7f)Nzmarkdown.hrr\   ©ÚdefaultÚ-)rd   Ú
characters)Ú	get_styler   r   )r,   r@   rA   rd   s       r&   rB   ÚHorizontalRule.__rich_console__ß   s0   é € ð ×!Ñ! -¸Ð!Ð@ˆÜ˜¨3Ñ/Ò/Ü‹f‹ùs   ‚*,r!   NrM   )rN   rO   rP   rQ   rX   r   rB   rT   r!   r)   r&   rÐ   rÐ   Ú   s'   † Ù/à€HðØðØ)7ðà	÷r)   rÐ   c                  óB   • \ rS rSrSrSS jrS	S jr      S
S jrSrg)ÚTableElementéç   z.MarkdownElement corresponding to `table_open`.c                ó    • S U l         S U l        g rg   )ÚheaderÚbodyr¸   s    r&   rw   ÚTableElement.__init__ê   s   € Ø15ˆŒØ-1ˆ�	r)   c                óˆ   • [        U[        5      (       a  X l        g[        U[        5      (       a  X l        g[        S5      e)Nz Couldn't process markdown table.F)ri   ÚTableHeaderElementrÝ   ÚTableBodyElementrÞ   ÚRuntimeErrorr:   s      r&   r<   ÚTableElement.on_child_closeî   sB   € Ü�eÔ/×0Ñ0ØŒKð
 ô	 ˜Ô/×0Ñ0ØŒIð ô ÐAÓBÐBr)   c              #  ó  #   • [        [        R                  SSSSS9nU R                  bz  U R                  R                  bc  U R                  R                  R
                   H?  nUR                  R                  5       nUR                  S5        UR                  U5        MA     U R                  bQ  U R                  R                   H7  nUR
                   Vs/ s H  owR                  PM     nnUR                  " U6   M9     Uv •  g s  snf 7f)NFzmarkdown.table.borderT)r   Úpad_edgerd   Ú	show_edgeÚcollapse_paddingzmarkdown.table.header)r
   r   ÚSIMPLErÝ   ÚrowÚcellsÚcontentr–   ÚstylizeÚ
add_columnrÞ   ÚrowsÚadd_row)	r,   r@   rA   ÚtableÚcolumnÚheadingrê   ÚelementÚrow_contents	            r&   rB   ÚTableElement.__rich_console__÷   sÓ   é € ô Ü—
‘
ØØ)ØØ!ñ
ˆð �;‰;Ñ" t§{¡{§¡Ñ'BØŸ+™+Ÿ/™/×/Ô/�Ø Ÿ.™.×-Ñ-Ó/�Ø—‘Ð 7Ô8Ø× Ñ  Ö)ñ 0ð
 �9‰9Ñ Ø—y‘y—~”~�Ø>A¿iºiÓHºi°7Ÿœ¹i�ÐHØ—’˜{Ó+ñ &ð ‹ùò Iùs   ‚CDÃDÃ.D)rÞ   rÝ   NrÎ   rK   rM   )	rN   rO   rP   rQ   rX   rw   r<   rB   rT   r!   r)   r&   rÚ   rÚ   ç   s,   † Ù8ô2ôðØðØ)7ðà	÷r)   rÚ   c                  ó,   • \ rS rSrSrSS jrSS jrSrg)	rá   i  z@MarkdownElement corresponding to `thead_open` and `thead_close`.c                ó   • S U l         g rg   ©rê   r¸   s    r&   rw   ÚTableHeaderElement.__init__  s	   € Ø+/ˆ�r)   c                ó>   • [        U[        5      (       d   eX l        gr¼   )ri   ÚTableRowElementrê   r:   s      r&   r<   Ú!TableHeaderElement.on_child_close  s   € Ü˜%¤×1Ñ1Ð1Ð1ØŒØr)   rù   NrÎ   rK   ©rN   rO   rP   rQ   rX   rw   r<   rT   r!   r)   r&   rá   rá     s   † ÙJô0÷r)   rá   c                  ó,   • \ rS rSrSrSS jrSS jrSrg)	râ   i  z@MarkdownElement corresponding to `tbody_open` and `tbody_close`.c                ó   • / U l         g rg   ©rï   r¸   s    r&   rw   ÚTableBodyElement.__init__  s	   € Ø+-ˆ�	r)   c                óh   • [        U[        5      (       d   eU R                  R                  U5        gr¼   )ri   rü   rï   rh   r:   s      r&   r<   ÚTableBodyElement.on_child_close"  s*   € Ü˜%¤×1Ñ1Ð1Ð1Ø�	‰	×Ñ˜ÔØr)   r  NrÎ   rK   rþ   r!   r)   r&   râ   râ     s   † ÙJô.÷r)   râ   c                  ó,   • \ rS rSrSrSS jrSS jrSrg)	rü   i(  z:MarkdownElement corresponding to `tr_open` and `tr_close`.c                ó   • / U l         g rg   ©rë   r¸   s    r&   rw   ÚTableRowElement.__init__+  s	   € Ø-/ˆ�
r)   c                óh   • [        U[        5      (       d   eU R                  R                  U5        gr¼   )ri   ÚTableDataElementrë   rh   r:   s      r&   r<   ÚTableRowElement.on_child_close.  s+   € Ü˜%Ô!1×2Ñ2Ð2Ð2Ø�
‰
×Ñ˜%Ô Ør)   r  NrÎ   rK   rþ   r!   r)   r&   rü   rü   (  s   † ÙDô0÷r)   rü   c                  ó@   • \ rS rSrSr\SS j5       rS	S jrS
S jrSr	g)r
  i4  zWMarkdownElement corresponding to `td_open` and `td_close`
and `th_open` and `th_close`.c                óÌ   • [        UR                  R                  S5      5      =(       d    SnSU;   a  SnOSU;   a  SnOSU;   a  SnOS	nU[        [        5      ;   d   eU " US
9$ )Nrd   r   ztext-align:rightÚrightztext-align:centerrƒ   ztext-align:leftr_   rÔ   r`   )rj   Úattrsr—   r   r   )r#   r$   r%   rd   ra   s        r&   r'   ÚTableDataElement.create8  sj   € ä�E—K‘K—O‘O GÓ,Ó-×3°ˆð  Ó&Ø‰GØ  EÓ)Ø‰GØ %Ó'Ø‰GàˆGàœ(¤=Ó1Ó1Ð1Ð1Ù˜7Ñ#Ð#r)   c                ó.   • [        SUS9U l        Xl        g )Nr   r`   )r   rì   ra   rv   s     r&   rw   ÚTableDataElement.__init__I  s   € Ü! "¨gÑ6ˆŒØ�r)   c                ó°   • [        U[        5      (       a&  U R                  R                  X!R                  5        g U R                  R                  U5        g rg   )ri   rj   rì   rh   rk   Úappend_textr2   s      r&   r4   ÚTableDataElement.on_textM  s9   € Ü�dœC× Ñ Ø�L‰L×Ñ ×&;Ñ&;Õ<à�L‰L×$Ñ$ TÕ*r)   )rì   ra   NrD   r{   rJ   )
rN   rO   rP   rQ   rX   rS   r'   rw   r4   rT   r!   r)   r&   r
  r
  4  s%   † ñ%ð ó$ó ð$ô ÷+r)   r
  c                  óV   • \ rS rSrSr\S	S j5       rS
S jrSS jr      SS jr	Sr
g)ÚListElementiT  zA list element.c           	     ón   • U " UR                   [        UR                  R                  SS5      5      5      $ )NÚstartr   )ÚtypeÚintr  r—   r"   s      r&   r'   ÚListElement.createW  s'   € á�5—:‘:œs 5§;¡;§?¡?°7¸AÓ#>Ó?Ó@Ð@r)   c                ó*   • / U l         Xl        X l        g rg   )ÚitemsÚ	list_typeÚ
list_start)r,   r  r   s      r&   rw   ÚListElement.__init__[  s   € Ø%'ˆŒ
Ø"ŒØ$�r)   c                óh   • [        U[        5      (       d   eU R                  R                  U5        gr¼   )ri   ÚListItemr  rh   r:   s      r&   r<   ÚListElement.on_child_close`  s*   € Ü˜%¤×*Ñ*Ð*Ð*Ø�
‰
×Ñ˜%Ô Ør)   c              #  ój  #   • U R                   S:X  a-  U R                   H  nUR                  X5       S h  v•N   M     g U R                  c  SOU R                  nU[	        U R                  5      -   n[        U R                  5       H"  u  pcUR                  XXF-   U5       S h  v•N   M$     g  Nx N7f)NÚbullet_list_openr   )r  r  Úrender_bulletr   ÚlenÚ	enumerateÚrender_number)r,   r@   rA   ÚitemÚnumberÚlast_numberÚindexs          r&   rB   ÚListElement.__rich_console__e  sŸ   é € ð �>‰>Ð/Ó/ØŸ
œ
�Ø×-Ñ-¨gÓ?×?Ò?ò #ð Ÿ/™/Ñ1‘Q°t·±ˆFØ ¤3 t§z¡z£?Ñ2ˆKÜ(¨¯©Ö4‘�Ø×-Ñ-Ø f¡n°kó÷ ò ò  5ñ	 @ñ
ùs"   ‚4B3¶B/·A.B3Â%B1Â&
B3Â1B3)r  r   r  N)r$   rE   r%   r	   rF   r  )r  rj   r   z
int | NonerF   rI   rK   rM   )rN   rO   rP   rQ   rX   rS   r'   rw   r<   rB   rT   r!   r)   r&   r  r  T  s@   † ÙàóAó ðAô%ô
ð
ØðØ)7ðà	÷r)   r  c                  óX   • \ 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r
g	)r#  it  zAn item in a list.zmarkdown.itemc                ó"   • [        5       U l        g rg   r¶   r¸   s    r&   rw   ÚListItem.__init__y  rº   r)   c                ó:   • U R                   R                  U5        gr¼   r½   r:   s      r&   r<   ÚListItem.on_child_close|  r¿   r)   c              #  óT  #   • UR                  UR                  S-
  S9nUR                  U R                  X0R                  S9nUR                  SSS9n[        SU5      n[        SU5      n[        S	5      n[        U5       H   u  pšU	(       a  UOUv •  U
 S h  v•N   Uv •  M"     g  N7f)
Né   rÂ   rÄ   zmarkdown.item.bulletr\   rÓ   u    â€¢ z   rÅ   )rÆ   rÇ   rÈ   r·   rd   r×   r   r   )r,   r@   rA   rÉ   rÊ   Úbullet_styleÚbulletr­   r   ÚfirstrË   s              r&   r'  ÚListItem.render_bullet€  sž   é € Ø Ÿ™¨g×.?Ñ.?À!Ñ.C˜ÐDˆØ×$Ñ$ T§]¡]°NÏ*É*Ð$ÐUˆØ×(Ñ(Ð)?ÈÐ(ÐPˆä˜ ,Ó/ˆÜ˜' <Ó0ˆÜ˜4“=ˆÜ% eÖ,‰KˆEÞ!‘& wÒ.Ø�OˆOØŒNò -áùs   ‚BB(ÂB&ÂB(c              #  ó´  #   • [        [        U5      5      S-   nUR                  UR                  U-
  S9nUR	                  U R
                  X`R                  S9nUR                  SSS9n[        S5      n	[        SU-  U5      n
[        U R                  US	-
  5      S-   U5      n[        U5       H   u  pÍU(       a  UOU
v •  U S h  v•N   U	v •  M"     g  N7f)
Né   rÂ   rÄ   zmarkdown.item.numberr\   rÓ   rÅ   r    r   )r(  rj   rÆ   rÇ   rÈ   r·   rd   r×   r   Úrjustr   )r,   r@   rA   r,  r-  Únumber_widthrÉ   rÊ   Únumber_styler   r­   Únumeralr9  rË   s                 r&   r*  ÚListItem.render_number�  sÐ   é € ô œ3˜{Ó+Ó,¨qÑ0ˆØ Ÿ™¨g×.?Ñ.?À,Ñ.N˜ÐOˆØ×$Ñ$ T§]¡]°NÏ*É*Ð$ÐUˆØ×(Ñ(Ð)?ÈÐ(ÐPˆä˜4“=ˆÜ˜# Ñ,¨lÓ;ˆÜ˜V˜H×+Ñ+¨L¸1Ñ,<Ó=ÀÑCÀ\ÓRˆÜ% eÖ,‰KˆEÞ"‘'¨Ò/Ø�OˆOØŒNò -áùs   ‚CCÃCÃ	CrÍ   NrÎ   rK   rM   )
r@   r   rA   r   r,  r  r-  r  rF   r   )rN   rO   rP   rQ   rX   rc   rw   r<   r'  r*  rT   r!   r)   r&   r#  r#  t  sF   † Ùà €Jô3ôôðØðØ)7ðØADðØSVðà	÷r)   r#  c                  ó2   • \ rS rSr\SS j5       rSS jrSrg)ÚLinkiž  c                ór   • UR                   R                  SS5      nU " UR                  [        U5      5      $ )NÚhrefÚ#)r  r—   rì   rj   )r#   r$   r%   Úurls       r&   r'   ÚLink.createŸ  s+   € à�k‰k�o‰o˜f cÓ*ˆÙ�5—=‘=¤# c£(Ó+Ð+r)   c                ó0   • [        U5      U l        X l        g rg   )r   r3   rE  )r,   r3   rE  s      r&   rw   ÚLink.__init__¤  s   € Ü˜“JˆŒ	Ø�	r)   )rE  r3   NrD   )r3   rj   rE  rj   )rN   rO   rP   rQ   rS   r'   rw   rT   r!   r)   r&   rC  rC  ž  s   † Øó,ó ð,÷r)   rC  c                  ón   ^ • \ rS rSrSrSr\S	S j5       rS
U 4S jjrSU 4S jjr	      SS jr
SrU =r$ )Ú	ImageItemi©  z#Renders a placeholder for an image.Fc                ón   • U " [        UR                  R                  SS5      5      UR                  5      $ )zÁFactory to create markdown element,

Args:
    markdown (Markdown): The parent Markdown object.
    token (Any): A token from markdown-it.

Returns:
    MarkdownElement: A new markdown element
Úsrcr   )rj   r  r—   Ú
hyperlinksr"   s      r&   r'   ÚImageItem.create®  s+   € ñ ”3�u—{‘{—‘ u¨bÓ1Ó2°H×4GÑ4GÓHÐHr)   c                óH   >• Xl         X l        S U l        [        TU ]  5         g rg   )ÚdestinationrO  Úlinkr’   rw   )r,   rR  rO  r“   s      €r&   rw   ÚImageItem.__init__»  s    ø€ Ø&ÔØ$ŒØ $ˆŒ	Ü‰ÑÕr)   c                óv   >• UR                   R                  U l        [        SS9U l        [        TU ]  U5        g r^   )rk   rS  r   r3   r’   r.   )r,   r-   r“   s     €r&   r.   ÚImageItem.on_enterÁ  s/   ø€ Ø×)Ñ)×.Ñ.ˆŒ	Ü Ñ(ˆŒ	Ü‰Ñ˜Õ!r)   c              #  óx  #   • [        U R                  =(       d    U R                  =(       d    S S9nU R                  =(       d7    [	        U R                  R                  S5      R                  SS5      S   5      nU R                  (       a  UR                  U5        [        R                  " SUSSS9nUv •  g 7f)	N©rS  Ú/r   éÿÿÿÿu   ðŸŒ† r    r   )Úend)
r   rS  rR  r3   r   ÚstripÚrsplitrO  rí   Úassemble)r,   r@   rA   Ú
link_styleÚtitler3   s         r&   rB   ÚImageItem.__rich_console__Æ  s‡   é € ô  §	¡	× E¨T×-=Ñ-=× EÀÑFˆ
Ø—	‘	×QœT $×"2Ñ"2×"8Ñ"8¸Ó"=×"DÑ"DÀSÈ!Ó"LÈRÑ"PÓQˆØ�?�?Ø�M‰M˜*Ô%Ü�}Š}˜W e¨S°bÑ9ˆØ‹
ùs   ‚B8B:)rR  rO  rS  r3   rD   )rR  rj   rO  rL   rF   rI   rG   rM   )rN   rO   rP   rQ   rX   r   rS   r'   rw   r.   rB   rT   rš   r›   s   @r&   rL  rL  ©  sK   ø† Ù-à€Hàó
Ió ð
I÷÷"ð
ØðØ)7ðà	÷ò r)   rL  c                  ór   • \ rS rSrSr  S
           SS jjr\SS j5       rSS jrSS jr	SS jr
S	rg)rH   iÑ  z!Manages the console render state.Nc                óŽ   • Xl         X l        [        U5      U l        [	        5       U l        S U l        Ub  [        SXES9U l        g g )Nr   )r©   )r@   rA   r   Ústyle_stackr   ÚstackÚ_syntaxr   )r,   r@   rA   rd   Úinline_code_lexerÚinline_code_themes         r&   rw   ÚMarkdownContext.__init__Ô  sE   € ð ŒØŒÜ'1°%Ó'8ˆÔÜ-2«WˆŒ
à&*ˆŒØÑ(Ü! "Ð&7ÑQˆD�Lð )r)   c                ó.   • U R                   R                  $ )z>Current style which is the product of all styles on the stack.)rd  Úcurrentr¸   s    r&   rk   ÚMarkdownContext.current_styleå  s   € ð ×Ñ×'Ñ'Ð'r)   c                ód  • US;   a…  U R                   bx  U R                   R                  U5      nUR                  5         U R                  R                  R                  U [        R                  " X0R                  R                  S95        gU R                  R                  R                  X5        g)z#Called when the parser visits text.>   ÚfenceÚcode_inlineNrÄ   )
rf  Ú	highlightr®   re  Útopr4   r   r^  rd  rk  )r,   r3   Ú	node_typeÚhighlight_texts       r&   r4   ÚMarkdownContext.on_textê  s|   € àÐ0Ó0°T·\±\Ñ5MØ!Ÿ\™\×3Ñ3°DÓ9ˆNØ×!Ñ!Ô#Ø�J‰J�N‰N×"Ñ"Ø”d—m’m N×:JÑ:J×:RÑ:RÑSõð �J‰J�N‰N×"Ñ" 4Õ.r)   c                ó„   • U R                   R                  USS9nU R                  R                  U5        U R                  $ )zEnter a style context.r\   rÓ   )r@   r×   rd  Úpushrk   )r,   rc   rd   s      r&   rb   ÚMarkdownContext.enter_styleõ  s;   € à—‘×&Ñ& z¸6Ð&ÐBˆØ×Ñ×Ñ˜eÔ$Ø×!Ñ!Ð!r)   c                ó:   • U R                   R                  5       nU$ )zLeave a style context.)rd  Úpop)r,   rd   s     r&   rn   ÚMarkdownContext.leave_styleû  s   € à× Ñ ×$Ñ$Ó&ˆØˆr)   )rf  r@   rA   re  rd  )NÚmonokai)r@   r   rA   r   rd   r   rg  ú
str | Nonerh  rj   rF   rI   )rF   r   )r3   rj   rr  rj   rF   rI   )rc   ústr | StylerF   r   )rN   rO   rP   rQ   rX   rw   Úpropertyrk   r4   rb   rn   rT   r!   r)   r&   rH   rH   Ñ  sv   † Ù+ð )-Ø!*ðRàðRð  ðRð ð	Rð
 &ðRð ðRð 
õRð" ó(ó ð(ô	/ô"÷r)   rH   c                  óè   • \ rS rSr% Sr0 S\_S\_S\_S\_S\_S\	_S	\
_S
\
_S\_S\_S\_S\_S\_S\_S\_S\_rS\S'   1 Skr      S               SS jjrSS jr      SS jrSrg)rE   i  aÓ  A Markdown renderable.

Args:
    markup (str): A string containing markdown.
    code_theme (str, optional): Pygments theme for code blocks. Defaults to "monokai". See https://pygments.org/styles/ for code themes.
    justify (JustifyMethod, optional): Justify value for paragraphs. Defaults to None.
    style (Union[str, Style], optional): Optional style to apply to markdown.
    hyperlinks (bool, optional): Enable hyperlinks. Defaults to ``True``.
    inline_code_lexer: (str, optional): Lexer to use if inline code highlighting is
        enabled. Defaults to None.
    inline_code_theme: (Optional[str], optional): Pygments theme for inline code
        highlighting, or None for no highlighting. Defaults to None.
Úparagraph_openÚheading_openrn  Ú
code_blockÚblockquote_openÚhrr&  Úordered_list_openÚlist_item_openÚimageÚ
table_openÚ
tbody_openÚ
thead_openÚtr_openÚtd_openÚth_openz*ClassVar[dict[str, type[MarkdownElement]]]r·   >   ÚsÚemr¯   ÚstrongNc                óè   • [        5       R                  S5      R                  S5      nXl        UR                  U5      U l        X l        X0l        X@l        XPl        X`l	        U=(       d    UU l
        g )NÚstrikethroughrñ   )r   ÚenableÚmarkupÚparseÚparsedr£   ra   rd   rO  rg  rh  )	r,   r”  r£   ra   rd   rO  rg  rh  Úparsers	            r&   rw   ÚMarkdown.__init__%  s]   € ô “×$Ñ$ _Ó5×<Ñ<¸WÓEˆØŒØ—l‘l 6Ó*ˆŒØ$ŒØ-4ŒØŒ
Ø$ŒØ!2ÔØ!2×!@°jˆÕr)   c              #  óî   #   • U Hi  nUR                   S:H  nUR                  S:H  nUR                  (       a3  U(       d,  U(       d%  U R                  UR                  5       Sh  v•N   Me  Uv •  Mk     g N7f)zFlattens the token stream.rn  ÚimgN)r  rŒ   ÚchildrenÚ_flatten_tokens)r,   Útokensr%   Úis_fenceÚis_images        r&   rœ  ÚMarkdown._flatten_tokens9  sY   é € ãˆEØ—z‘z WÑ,ˆHØ—y‘y EÑ)ˆHØ�~�~¦x¶8Ø×/Ñ/°·±Ó?×?Ò?à”ò ñ @ùs   ‚A!A5Á#A3Á$A5c              #  ó>  #   • UR                  U R                  SS9nUR                  SS9n[        UUUU R                  U R
                  S9nU R                  nU R                  nSn[        R                  " 5       nU R                  U5       GH…  n	U	R                  n
U	R                  nU	R                  S:H  nU	R                  S:H  nU	R                  S	:H  nU
S
:X  a  UR                  U	R                  U
5        Mm  U
S:X  a  UR                  SU
5        M‡  U
S:X  a  UR                  SU
5        M¡  U
S:X  a—  [!        U	R"                  R%                  SS5      5      nU R&                  (       a0  UR                  SSS9nU[)        US9-  nUR+                  U5        GM  UR,                  R/                  [0        R3                  X	5      5        GM>  U
S:X  aZ  U	R                  S:X  a$  UR                  SSS9nUR+                  U5        GMx  U	R                  S:X  a  UR5                  5         GM›  GMž  U
S:X  Ga   U R&                  (       a  UR5                  5         GMÉ  UR,                  R7                  5       n[9        U[0        5      (       d   eUR                  SSS9nUR+                  U5        UR                  UR:                  R<                  U
5        UR5                  5         UR                  SU
5        UR                  SSS9nUR+                  U5        UR                  UR>                  U
5        UR5                  5         UR                  SU
5        GMÅ  X¶;   a˜  U
S:w  a’  U
S:w  aŒ  U(       a  UR+                  SU 35        GMô  U(       a  UR5                  5         GM  UR+                  SU 35        U	R                  (       a  UR                  U	R                  U
5        UR5                  5         GMb  U R@                  R%                  U	R                  5      =(       d    [B        nUR3                  X	5      nU(       d  U(       a,  UR,                  R/                  U5        URE                  U5        U(       a¢  UR,                  R7                  5       nUR,                  (       + =(       d9    UR,                  =(       a&    UR,                  RF                  RI                  UU5      nU(       a/  U(       a  Uv •  URK                  UURL                  5       Sh  v•N   OÏU(       aÈ  UR,                  R7                  5         U	R                  nUb  UR                  UU5        UR,                  (       + =(       d9    UR,                  =(       a&    UR,                  RF                  RI                  UU5      nU(       a5  U(       a
  U
S :w  a  Uv •  URK                  UURL                  5       Sh  v•N   U(       d
  U(       d  GMh  URO                  U5        URP                  nGMˆ     g GN	 N;7f)!zRender markdown to the console.r\   rÓ   N)Úheight)rg  rh  Fr   rZ  r   r3   Ú	hardbreakrÅ   Ú	softbreakr    Ú	link_openrE  r   zmarkdown.link_urlrX  Úhtml_inlinez<kbd>zmarkdown.kbdÚboldz</kbd>Ú
link_closezmarkdown.linkz (Ú)rn  r‚  r‘   Úinline))r×   rd   rÆ   rH   rg  rh  r–  Úinlinesr   rË   rœ  r  rŒ   Únestingr4   rì   rj   r  r—   rO  r   rb   re  rv  rC  r'   rn   ry  ri   r3   ÚplainrE  r·   rV   r.   rq  r<   ÚrenderrA   r7   r   )r,   r@   rA   rd   r-   r�  Úinline_style_tagsr   Ú_new_line_segmentr%   rr  rŒ   ÚenteringÚexitingÚself_closingrE  r_  Ú	kbd_stylerô   Úlink_url_styleÚelement_classÚshould_renderr3   s                          r&   rB   ÚMarkdown.__rich_console__C  s×  é € ð ×!Ñ! $§*¡*°fÐ!Ð=ˆØ—.‘.¨�.Ð-ˆÜ!ØØØØ"×4Ñ4Ø"×4Ñ4ñ
ˆð —‘ˆØ ŸL™LÐØˆÜ#ŸLšL›NÐà×)Ñ)¨&×1ˆEØŸ
™
ˆIØ—)‘)ˆCà—}‘}¨Ñ)ˆHØ—m‘m rÑ)ˆGØ Ÿ=™=¨AÑ-ˆLà˜FÓ"Ø—‘ §¡¨yÖ9Ø˜kÓ)Ø—‘  iÖ0Ø˜kÓ)Ø—‘  YÖ/Ø˜kÓ)Ü˜5Ÿ;™;Ÿ?™?¨6°2Ó6Ó7�Ø—?—?Ø!(×!2Ñ!2Ð3FÐPVÐ!2Ð!W�JØ¤%¨TÑ"2Ñ2�JØ×'Ñ'¨
×3à—M‘M×&Ñ&¤t§{¡{°4Ó'?×@Ø˜mÓ+Ø—=‘= GÓ+Ø '× 1Ñ 1°.È&Ð 1Ð Q�IØ×'Ñ'¨	×2Ø—]‘] hÓ.Ø×'Ñ'×)âØ˜lÔ*Ø—?—?Ø×'Ñ'×)à%Ÿm™m×/Ñ/Ó1�GÜ% g¬t×4Ñ4Ð4Ð4Ø!(×!2Ñ!2°?ÈFÐ!2Ð!S�JØ×'Ñ'¨
Ô3Ø—O‘O G§L¡L×$6Ñ$6¸	ÔBØ×'Ñ'Ô)Ø—O‘O D¨)Ô4Ø%,×%6Ñ%6Ø+°Vð &7ð &�Nð ×'Ñ'¨Ô7Ø—O‘O G§L¡L°)Ô<Ø×'Ñ'Ô)Ø—O‘O C¨×3àÓ(Ø Ó(Ø Ó-æð ×'Ñ'¨)°C°5Ð(9×:Þð ×'Ñ'×)ð ×'Ñ'¨)°C°5Ð(9Ô:Ø—}—}ØŸ™¨¯©°yÔAØ×'Ñ'×)ð !%§¡× 1Ñ 1°%·*±*Ó =× OÄ�Ø'×.Ñ.¨tÓ;�æž|Ø—M‘M×&Ñ& wÔ/Ø×$Ñ$ WÔ-æØ%Ÿm™m×/Ñ/Ó1�Gà(/¯©Ô$5÷ %ØŸ™÷ OØ#ŸM™M×-Ñ-×<Ñ<¸WÀgÓNð "ö
 %Þ#Ø"3Ò3à#*§>¡>°'¸7¿?¹?Ó#K×KÐKøÞ!Ø—M‘M×%Ñ%Ô'Ø Ÿ=™=�DØÑ'ØŸ™¨°Ô6ð $ŸM™MÔ)÷ OØ"Ÿ=™=÷ OØ#ŸM™M×-Ñ-×<Ñ<¸WÀgÓNð "ö
 %Þ#¨	°XÓ(=Ø"3Ò3Ø#*§>¡>°'¸7¿?¹?Ó#K×KÐKæŸl™lØ×$Ñ$ WÔ-Ø&×/Ñ/“HòW 2òp Lñ Lùs+   ‚TXÔXÔCX×X× X×5$XØX)r£   rO  rg  rh  ra   r”  r–  rd   )r{  Nr\   TNN)r”  rj   r£   rj   ra   zJustifyMethod | Nonerd   r}  rO  rL   rg  r|  rh  r|  rF   rI   )r�  úIterable[Token]rF   r¹  rM   )rN   rO   rP   rQ   rX   rq   r�   r�   r³   rÐ   r  r#  rL  rÚ   râ   rá   rü   r
  r·   rR   r«  rw   rœ  rB   rT   r!   r)   r&   rE   rE     ss  ‡ ñð<Ø˜)ð<à˜ð<ð 	�ð<ð 	�ið	<ð
 	˜:ð<ð 	ˆnð<ð 	˜Kð<ð 	˜[ð<ð 	˜(ð<ð 	�ð<ð 	�lð<ð 	Ð&ð<ð 	Ð(ð<ð 	�?ð<ð 	Ð#ð<ð  	Ð#ð!<€HÐ8ó ò& ,€Gð
 $Ø(,Ø#ØØ(,Ø(,ðAàðAð ðAð &ð	Að
 ðAð ðAð &ðAð &ðAð 
õAô(ð}0Øð}0Ø)7ð}0à	÷}0r)   rE   Ú__main__z(Render Markdown to the console with Rich)ÚdescriptionÚpathÚPATHz%path to markdown file, or - for stdin)ÚmetavarÚhelpz-cz--force-colorÚforce_colorÚ
store_truezforce color for non-terminals)ÚdestÚactionrÔ   r¿  z-tz--code-themer£   r{  zpygments code theme)rÂ  rÔ   r¿  z-iz--inline-code-lexerrg  z-yz--hyperlinksrO  zenable hyperlinks)rÂ  rÃ  r¿  z-wz--widthrÃ   z*width of output (default will auto-detect))r  rÂ  rÔ   r¿  z-jz	--justifyra   zenable full text justifyz-pz--pageÚpagezuse pager to scroll output)r   rÕ   zutf-8)ÚencodingÚfullr_   )ra   r£   rO  rg  )ÚfileÚforce_terminalrÃ   T)rÈ  rÃ   Úrecord)\Ú
__future__r   ÚsysÚdataclassesr   Útypingr   r   r   Úmarkdown_itr   Úmarkdown_it.tokenr	   Ú
rich.tabler
   r   r   Ú_loopr   Ú_stackr   r@   r   r   r   r   Ú
containersr   Újupyterr   Úruler   Úsegmentr   rd   r   r   r°   r   r3   r   r   r   rV   rZ   rq   r}   r�   r�   r³   rÐ   rÚ   rá   râ   rü   r
  r  r#  rC  rL  rH   rE   rN   ÚargparseÚArgumentParserr—  Úadd_argumentr  Ú
parse_argsÚargsÚrich.consoler¼  ÚstdinÚreadÚmarkdown_bodyÚopenÚmarkdown_filera   r£   rO  rg  r$   rÄ  ÚioÚpydocÚStringIOÚfileiorÀ  rÃ   ÚprintÚpagerÚgetvaluer!   r)   r&   Ú<module>ré     sœ  ðÝ "ã 
Ý !ß /Ñ /å "Ý #å å Ý Ý ß IÓ IÝ #Ý !Ý Ý ß $Ý ß  ÷6ñ 6ôr�_ô ô�/ô ô �ô ð( ÷ð ó ðô
ˆkô ôD�ô ô2�ô ô4
�_ô 
ô&�?ô &ôR	˜ô 	ô	�ô 	ô	�oô 	ô+�ô +ô@�/ô ô@'ˆ{ô 'ôTˆ;ô ô%�ô %÷P-ñ -ô`0ˆ|ô 0ðD ˆzÔÛÛà×$Ò$Ø>ñ€Fð ×ÑØØØ4ð ñ ð
 ×ÑØØØØØØ,ð ñ ð ×ÑØØØØØ"ð ñ ð ×ÑØØØ ØØ ð ñ ð ×ÑØØØØØ ð ñ ð ×ÑØØØØØØ9ð ñ ð ×ÑØØØØØ'ð ñ ð ×ÑØØØØØ)ð ñ ð ×ÑÓ€Då$à‡y�y�CÓØŸ	™	Ÿ™Ó(‰á�$—)‘) gÒ.°-Ø)×.Ñ.Ó0ˆM÷ /ñ ØØŸ,Ÿ,‘¨FØ—?‘?Ø—?‘?Ø×0Ñ0ñ€Hð ‡y‡yÛÛà—’“ˆÙØ¨×(8Ñ(8ÀÇ
Á
ñ
ˆð 	�‰�hÔØ�Š�F—O‘OÓ%Õ&ñ Ø×+Ñ+°4·:±:Àdñ
ˆð 	�‰�hÕð ÷L /Õ.ús   É MÍ
M)