ó
    Sjgqe  ã            	      óð  • S SK Jr  S SKrS SKJrJr  S SKJr  S SKJ	r	  \R                  S:¼  a  S SKJr  O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#  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      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 " S. S/\,5      r8 " S0 S1\,5      r9 " S2 S3\.5      r: " 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rB\BR‡                  S?S@SASB9  \BR‡                  SCSDSESFSSGSH9  \BR‡                  SISJSKSLSMSN9  \BR‡                  SOSPSQSSQSN9  \BR‡                  SRSSSTSFSUSV9  \BR‡                  SWSX\DSYSSZS[9  \BR‡                  S\S]S^SFS_SV9  \BR‡                  S`SaSbSFScSV9  \BR‹                  5       rFS SdKGJr  \FR�                  Se:X  a  \R’                  R•                  5       rKO*\L" \FR�                  SfSg9 rM\MR•                  5       rKSSS5        \>" \K\FRœ                  (       a  ShOSi\FRž                  \FR                   \FR¢                  Sj9rR\FR¦                  (       ag  S SKTrTS SKUrU\TR¬                  " 5       rW\" \W\FR°                  \FR²                  Sk9r\Rµ                  \R5        \UR¶                  " \WR¹                  5       5        g\" \FR°                  \FR²                  SlSm9r\Rµ                  \R5        gg! , (       d  f       Nð= f)né    )ÚannotationsN)ÚClassVarÚIterable)Ú
MarkdownIt)ÚToken)é   é   )Úget_args)ÚTableé   ©Úbox)Ú
loop_first)ÚStack)ÚConsoleÚConsoleOptionsÚJustifyMethodÚRenderResult)ÚRenderables)ÚJupyterMixin)ÚPanel)Ú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      Ú//usr/lib/python3/dist-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/   r0   Útexts      r)   Úon_textÚMarkdownElement.on_text5   r3   r,   c                ó   • g)z_Called when the parser leaves the element.

Args:
    context (MarkdownContext): [description]
Nr$   r.   s     r)   Úon_leaveÚMarkdownElement.on_leave<   r3   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/   r0   Úchilds      r)   Úon_child_closeÚMarkdownElement.on_child_closeC   s   € ð r,   c                ó   • g)Nr$   r$   ©r/   ÚconsoleÚoptionss      r)   Ú__rich_console__Ú MarkdownElement.__rich_console__Q   s   € ð r,   r$   N©r'   ÚMarkdownr(   r   Úreturnr    ©r0   ÚMarkdownContextrI   ÚNone©r0   rK   r6   r   rI   rL   ©r0   rK   r>   r    rI   Úbool©rC   r   rD   r   rI   r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r"   Ú__annotations__Úclassmethodr*   r1   r7   r:   r?   rE   Ú__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éW   z†An unknown element.

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

r$   N)rQ   rR   rS   rT   Ú__doc__rW   r$   r,   r)   rY   rY   W   s   † ôr,   rY   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   r6   r.   s     r)   r1   ÚTextElement.on_entere   s$   € Ø×(Ñ(¨¯©Ó9ˆŒ
Ü Ñ(ˆ�	r,   c                óˆ   • U R                   R                  U[        U[        5      (       a  UR                  5        g S 5        g ©N)r6   ÚappendÚ
isinstanceÚstrÚcurrent_styler5   s      r)   r7   ÚTextElement.on_texti   s.   € Ø�	‰	×Ñ˜¼
À4Ì×8MÑ8M˜w×4Ñ4ÕXÐSWÕXr,   c                ó$   • UR                  5         g rj   )Úleave_styler.   s     r)   r:   ÚTextElement.on_leavel   s   € Ø×ÑÕr,   )rg   r6   NrJ   rM   )
rQ   rR   rS   rT   r[   rf   r1   r7   r:   rW   r$   r,   r)   r]   r]   `   s   † Ù3à€Jô)ôY÷r,   r]   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ép   zA Paragraph.zmarkdown.paragraphr   rd   c                ó4   • U " UR                   =(       d    SS9$ ra   rc   r%   s      r)   r*   ÚParagraph.createv   s   € á˜8×+Ñ+×5¨vÑ6Ð6r,   c                ó   • Xl         g rj   rc   ©r/   rd   s     r)   Ú__init__ÚParagraph.__init__z   s   € Ø�r,   c              #  ó^   #   • U R                   U R                  l         U R                  v •  g 7frj   )rd   r6   rB   s      r)   rE   ÚParagraph.__rich_console__}   s    é € ð !ŸL™Lˆ�	‰	ÔØ�i‰i‹ùs   ‚+-rc   N)r'   rH   r(   r   rI   rt   ©rd   r   rI   rL   rP   )rQ   rR   rS   rT   r[   rf   rU   rV   r*   rz   rE   rW   r$   r,   r)   rt   rt   p   sD   ‡ Ùà%€JØÓàó7ó ð7ôðØðØ)7ðà	÷r,   rt   c                  ód   ^ • \ rS rSrSr\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.c                ó&   • U " UR                   5      $ rj   )Útagr%   s      r)   r*   ÚHeading.create‡   s   € á�5—9‘9‹~Ðr,   c                óX   • [        5       U l        UR                  U R                  5        g rj   )r   r6   re   rf   r.   s     r)   r1   Ú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ƒ   rf   Úsuperrz   )r/   rƒ   Ú	__class__s     €r)   rz   ÚHeading.__init__�   s!   ø€ ØŒØ% c UÐ+ˆŒÜ‰ÑÕr,   c              #  óÌ   #   • U R                   nSUl        U R                  S:X  a  [        U[        R
                  SS9v •  g U R                  S:X  a  [        S5      v •  Uv •  g 7f)NÚcenterÚh1zmarkdown.h1.border)r   rg   Úh2Ú )r6   rd   rƒ   r   r   ÚHEAVYr   )r/   rC   rD   r6   s       r)   rE   ÚHeading.__rich_console__”   sY   é € ð �y‰yˆØˆŒØ�8‰8�tÓäØÜ—I‘IØ*ñó ð �x‰x˜4ÓÜ˜2“h’Ø‹Jùs   ‚A"A$)rf   rƒ   r6   )r'   rH   r(   r   rI   r€   rJ   )rƒ   rm   rI   rL   rP   )rQ   rR   rS   rT   r[   rV   r*   r1   rz   rE   rW   Ú__classcell__©rŠ   s   @r)   r€   r€   „   sD   ø† Ùàóó ðô-÷ð
ØðØ)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   r6   )Ú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 rj   ©rž   Útheme)r/   rž   r¢   s      r)   rz   Ú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)rm   r6   Úrstripr   rž   r¢   )r/   rC   rD   ÚcodeÚsyntaxs        r)   rE   ÚCodeBlock.__rich_console__¶   s?   é € ô �4—9‘9‹~×$Ñ$Ó&ˆÜØ—/‘/¨¯©¸tÈQñ
ˆð ‹ùs   ‚A	Ar¡   N)r'   rH   r(   r   rI   r–   )rž   rm   r¢   rm   rI   rL   rP   )rQ   rR   rS   rT   r[   rf   rV   r*   rz   rE   rW   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 rj   ©r   Úelements©r/   s    r)   rz   ÚBlockQuote.__init__Å   ó   € Ü%0£]ˆ�r,   c                ó:   • U R                   R                  U5        g©NF©r°   rk   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©rg   Ú
u   â–Œ )ÚupdateÚ	max_widthÚrender_linesr°   rg   r   )	r/   rC   rD   Úrender_optionsÚlinesrg   r"   r¦   Úlines	            r)   rE   ÚBlockQuote.__rich_console__Ì   s{   é € ð !Ÿ™¨g×.?Ñ.?À!Ñ.C˜ÐDˆØ×$Ñ$ T§]¡]°NÏ*É*Ð$ÐUˆØ—
‘
ˆÜ˜4“=ˆÜ˜& %Ó(ˆÛˆDØŠMØ�OˆOØŒNò áùs   ‚A2BÁ4BÁ5B©r°   N©rI   rL   rN   rP   )
rQ   rR   rS   rT   r[   rf   rz   r?   rE   rW   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              #  óB   #   • UR                  SSS9n[        US9v •  g 7f)Nzmarkdown.hrr_   ©Údefaultr½   )Ú	get_styler   )r/   rC   rD   rg   s       r)   rE   ÚHorizontalRule.__rich_console__ß   s'   é € ð ×!Ñ! -¸Ð!Ð@ˆÜ˜ÑÓùs   ‚r$   NrP   )rQ   rR   rS   rT   r[   r"   rE   rW   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 rj   )ÚheaderÚbodyr±   s    r)   rz   Ú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)rl   ÚTableHeaderElementrÔ   ÚTableBodyElementrÕ   ÚRuntimeErrorr=   s      r)   r?   ÚTableElement.on_child_closeí   sB   € Ü�eÔ/×0Ñ0ØŒKð
 ô	 ˜Ô/×0Ñ0ØŒIð ô ÐAÓBÐBr,   c              #  óÔ  #   • [        [        R                  S9nU R                  bY  U R                  R                  bB  U R                  R                  R
                   H  nUR                  UR                  5        M      U R                  bQ  U R                  R                   H7  nUR
                   Vs/ s H  ofR                  PM     nnUR                  " U6   M9     Uv •  g s  snf 7f)Nr   )r   r   ÚSIMPLE_HEAVYrÔ   ÚrowÚcellsÚ
add_columnÚcontentrÕ   ÚrowsÚadd_row)r/   rC   rD   ÚtableÚcolumnrÞ   ÚelementÚrow_contents           r)   rE   ÚTableElement.__rich_console__ö   s©   é € ô œ#×*Ñ*Ñ+ˆà�;‰;Ñ" t§{¡{§¡Ñ'BØŸ+™+Ÿ/™/×/Ô/�Ø× Ñ  §¡Ö0ñ 0ð �9‰9Ñ Ø—y‘y—~”~�Ø>A¿iºiÓHºi°7Ÿœ¹i�ÐHØ—’˜{Ó+ñ &ð ‹ùò Iùs   ‚B2C(Â4C#Ã	C()rÕ   rÔ   NrÇ   rN   rP   )	rQ   rR   rS   rT   r[   rz   r?   rE   rW   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 rj   ©rÞ   r±   s    r)   rz   ÚTableHeaderElement.__init__
  s	   € Ø+/ˆ�r,   c                ó>   • [        U[        5      (       d   eX l        grµ   )rl   ÚTableRowElementrÞ   r=   s      r)   r?   Ú!TableHeaderElement.on_child_close  s   € Ü˜%¤×1Ñ1Ð1Ð1ØŒØr,   rë   NrÇ   rN   ©rQ   rR   rS   rT   r[   rz   r?   rW   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 rj   ©râ   r±   s    r)   rz   ÚTableBodyElement.__init__  s	   € Ø+-ˆ�	r,   c                óh   • [        U[        5      (       d   eU R                  R                  U5        grµ   )rl   rî   râ   rk   r=   s      r)   r?   ÚTableBodyElement.on_child_close  s*   € Ü˜%¤×1Ñ1Ð1Ð1Ø�	‰	×Ñ˜ÔØr,   ró   NrÇ   rN   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 rj   ©rß   r±   s    r)   rz   ÚTableRowElement.__init__"  s	   € Ø-/ˆ�
r,   c                óh   • [        U[        5      (       d   eU R                  R                  U5        grµ   )rl   ÚTableDataElementrß   rk   r=   s      r)   r?   ÚTableRowElement.on_child_close%  s+   € Ü˜%Ô!1×2Ñ2Ð2Ð2Ø�
‰
×Ñ˜%Ô Ør,   rù   NrÇ   rN   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ü   i+  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$ )Nrg   r�   ztext-align:rightÚrightztext-align:centerr�   ztext-align:leftrb   rÍ   rc   )rm   ÚattrsÚgetr
   r   )r&   r'   r(   rg   rd   s        r)   r*   ÚTableDataElement.create/  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�   rc   )r   rá   rd   ry   s     r)   rz   ÚTableDataElement.__init__@  s   € Ü! "¨gÑ6ˆŒØ�r,   c                ó´   • [        U[        5      (       a  [        U5      OUnUR                  UR                  5        U R
                  R                  U5        g rj   )rl   rm   r   Ústylizern   rá   Úappend_textr5   s      r)   r7   ÚTableDataElement.on_textD  s=   € Ü'¨¬c×2Ñ2Œt�DŒz¸ˆØ�‰�W×*Ñ*Ô+Ø�‰× Ñ  Õ&r,   )rá   rd   NrG   r~   rM   )
rQ   rR   rS   rT   r[   rV   r*   rz   r7   rW   r$   r,   r)   rü   rü   +  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)ÚListElementiJ  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.createM  s'   € á�5—:‘:œs 5§;¡;§?¡?°7¸AÓ#>Ó?Ó@Ð@r,   c                ó*   • / U l         Xl        X l        g rj   )ÚitemsÚ	list_typeÚ
list_start)r/   r  r  s      r)   rz   ÚListElement.__init__Q  s   € Ø%'ˆŒ
Ø"ŒØ$�r,   c                óh   • [        U[        5      (       d   eU R                  R                  U5        grµ   )rl   ÚListItemr  rk   r=   s      r)   r?   ÚListElement.on_child_closeV  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/   rC   rD   ÚitemÚnumberÚlast_numberÚindexs          r)   rE   ÚListElement.__rich_console__[  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'   rH   r(   r   rI   r  )r  rm   r  z
int | NonerI   rL   rN   rP   )rQ   rR   rS   rT   r[   rV   r*   rz   r?   rE   rW   r$   r,   r)   r  r  J  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  ij  zAn item in a list.zmarkdown.itemc                ó"   • [        5       U l        g rj   r¯   r±   s    r)   rz   ÚListItem.__init__o  r³   r,   c                ó:   • U R                   R                  U5        grµ   r¶   r=   s      r)   r?   ÚListItem.on_child_closer  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)
Nr   r»   r½   zmarkdown.item.bulletr_   rÌ   u    â€¢ z   r¾   )r¿   rÀ   rÁ   r°   rg   rÎ   r   r   )r/   rC   rD   rÂ   rÃ   Úbullet_styleÚbulletr¦   r"   ÚfirstrÄ   s              r)   r  ÚListItem.render_bulletv  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  rm   r¿   rÀ   rÁ   r°   rg   rÎ   r   Úrjustr   )r/   rC   rD   r   r!  Únumber_widthrÂ   rÃ   Únumber_styler"   r¦   Únumeralr,  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Ç   rN   rP   )
rC   r   rD   r   r   r  r!  r  rI   r   )rQ   rR   rS   rT   r[   rf   rz   r?   r  r  rW   r$   r,   r)   r  r  j  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á   rm   )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 rj   )r   r6   r8  )r/   r6   r8  s      r)   rz   ÚLink.__init__š  s   € Ü˜“JˆŒ	Ø�	r,   )r8  r6   NrG   )r6   rm   r8  rm   )rQ   rR   rS   rT   rV   r*   rz   rW   r$   r,   r)   r6  r6  ”  s   † Øó,ó ð,÷r,   r6  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�   )rm   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 rj   )ÚdestinationrB  Úlinkr‰   rz   )r/   rE  rB  rŠ   s      €r)   rz   ÚImageItem.__init__±  s    ø€ Ø&ÔØ$ŒØ $ˆŒ	Ü‰ÑÕr,   c                óv   >• UR                   R                  U l        [        SS9U l        [        TU ]  U5        g ra   )rn   rF  r   r6   r‰   r1   )r/   r0   rŠ   s     €r)   r1   Ú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©rF  Ú/r   éÿÿÿÿu   ðŸŒ† r™   r�   )Úend)
r   rF  rE  r6   r   ÚstripÚrsplitrB  r  Úassemble)r/   rC   rD   Ú
link_styleÚtitler6   s         r)   rE   Ú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:)rE  rB  rF  r6   rG   )rE  rm   rB  rO   rI   rL   rJ   rP   )rQ   rR   rS   rT   r[   r"   rV   r*   rz   r1   rE   rW   r“   r”   s   @r)   r?  r?  Ÿ  sK   ø† Ù-à€Hàó
Ió ð
I÷÷"ð
ØðØ)7ðà	÷ò r,   r?  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)rK   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¢   )rC   rD   r   Ústyle_stackr   ÚstackÚ_syntaxr   )r/   rC   rD   rg   Úinline_code_lexerÚinline_code_themes         r)   rz   Ú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.)rW  Úcurrentr±   s    r)   rn   Ú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½   )
rY  Ú	highlightr§   rX  Útopr7   r   rQ  rW  r^  )r/   r6   Ú	node_typeÚhighlight_texts       r)   r7   Ú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Ì   )rC   rÎ   rW  Úpushrn   )r/   rf   rg   s      r)   re   ÚMarkdownContext.enter_styleë  s;   € à—‘×&Ñ& z¸6Ð&ÐBˆØ×Ñ×Ñ˜eÔ$Ø×!Ñ!Ð!r,   c                ó:   • U R                   R                  5       nU$ )zLeave a style context.)rW  Úpop)r/   rg   s     r)   rq   ÚMarkdownContext.leave_styleñ  s   € à× Ñ ×$Ñ$Ó&ˆØˆr,   )rY  rC   rD   rX  rW  )NÚmonokai)rC   r   rD   r   rg   r   rZ  ú
str | Noner[  rm   rI   rL   )rI   r   )r6   rm   re  rm   rI   rL   )rf   ústr | StylerI   r   )rQ   rR   rS   rT   r[   rz   Úpropertyrn   r7   re   rq   rW   r$   r,   r)   rK   rK   Ç  sv   † Ù+ð )-Ø!*ðRàðRð  ðRð ð	Rð
 &ðRð ðRð 
õRð" ó(ó ð(ô	/ô"÷r,   rK   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)rH   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_openra  Ú
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œ   rd   rg   rB  rZ  r[  )	r/   r‡  rœ   rd   rg   rB  rZ  r[  Úparsers	            r)   rz   Ú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.ra  ÚimgN)r  rƒ   ÚchildrenÚ_flatten_tokens)r/   Útokensr(   Úis_fenceÚis_images        r)   r�  ÚMarkdown._flatten_tokens/  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  Ga   U R&                  (       a  UR5                  5         GMi  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Me  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M  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M  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)rZ  r[  Fr   rM  r   r6   Ú	hardbreakr¾   Ú	softbreakr™   Ú	link_openr8  r�   zmarkdown.link_urlrK  Ú
link_closezmarkdown.linkz (Ú)ra  ru  rˆ   Úinline))rÎ   rg   r¿   rK   rZ  r[  r‰  Úinlinesr   rÄ   r�  r  rƒ   Únestingr7   rá   rm   r  r  rB  r   re   rX  ri  r6  r*   rq   rl  rl   r6   Úplainr8  r°   rY   r1   rd  r?   ÚrenderrD   r:   r"   )r/   rC   rD   rg   r0   r�  Úinline_style_tagsr"   Ú_new_line_segmentr(   re  rƒ   ÚenteringÚexitingÚself_closingr8  rR  ræ   Úlink_url_styleÚelement_classÚshould_renderr6   s                         r)   rE   ÚMarkdown.__rich_console__9  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Ó'?×@Ø˜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òG 2ò` Lñ Lùs+   ‚R-V=Ò/V8Ò0CV=Õ?V;Ö V=Ö$V=Ö;V=)rœ   rB  rZ  r[  rd   r‡  r‰  rg   )rn  Nr_   TNN)r‡  rm   rœ   rm   rd   zJustifyMethod | Nonerg   rp  rB  rO   rZ  ro  r[  ro  rI   rL   )r�  úIterable[Token]rI   r©  rP   )rQ   rR   rS   rT   r[   rt   r€   r–   r¬   rÉ   r  r  r?  rÑ   rÙ   rØ   rî   rü   r°   rU   rœ  rz   r�  rE   rW   r$   r,   r)   rH   rH   ÷  ss  ‡ ñð<Ø˜)ð<à˜ð<ð 	�ð<ð 	�ið	<ð
 	˜:ð<ð 	ˆnð<ð 	˜Kð<ð 	˜[ð<ð 	˜(ð<ð 	�ð<ð 	�lð<ð 	Ð&ð<ð 	Ð(ð<ð 	�?ð<ð 	Ð#ð<ð  	Ð#ð!<€HÐ8ó ò& ,€Gð
 $Ø(,Ø#ØØ(,Ø(,ðAàðAð ðAð &ð	Að
 ðAð ðAð &ðAð &ðAð 
õAô(ðu0Øðu0Ø)7ðu0à	÷u0r,   rH   Ú__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œ   rn  zpygments code theme)r²  rÍ   r¯  z-iz--inline-code-lexerrZ  z-yz--hyperlinksrB  zenable hyperlinks)r²  r³  r¯  z-wz--widthr¼   z*width of output (default will auto-detect))r  r²  rÍ   r¯  z-jz	--justifyrd   zenable full text justifyz-pz--pageÚpagezuse pager to scroll output)r   Ú-zutf-8)ÚencodingÚfullrb   )rd   rœ   rB  rZ  )ÚfileÚforce_terminalr¼   T)r¹  r¼   Úrecord)]Ú
__future__r   ÚsysÚtypingr   r   Úmarkdown_itr   Úmarkdown_it.tokenr   Úversion_infor
   Útyping_extensionsÚ
rich.tabler   r�   r   Ú_loopr   Ú_stackr   rC   r   r   r   r   Ú
containersr   Újupyterr   Úpanelr   Úruler   Úsegmentr   rg   r   r   r©   r   r6   r   r   r    rY   r]   rt   r€   r–   r¬   rÉ   rÑ   rØ   rÙ   rî   rü   r  r  r6  r?  rK   rH   rQ   ÚargparseÚArgumentParserrŠ  Úadd_argumentr  Ú
parse_argsÚargsÚrich.consoler¬  ÚstdinÚreadÚmarkdown_bodyÚopenÚmarkdown_filerd   rœ   rB  rZ  r'   r´  ÚioÚpydocÚStringIOÚfileior°  r¼   ÚprintÚpagerÚgetvaluer$   r,   r)   Ú<module>rÜ     s“  ðÝ "ã 
ß %å "Ý #à×Ñ�vÓÞå*å å Ý Ý ß IÓ IÝ #Ý !Ý Ý Ý ß $Ý ß  ÷6ñ 6ôr�_ô ô�/ô ô �ô ô( ˆkô  ôF�ô ô2�ô ô4	 �_ô 	 ô�?ô ôB	˜ô 	ô	�ô 	ô	�oô 	ô'�ô 'ô>�/ô ô@'ˆ{ô 'ôTˆ;ô ô%�ô %÷P-ñ -ô`w0ˆ|ô w0ðt ˆ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'Í'
M5