
    )id              	         S SK Jr  S SK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!  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      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 S75      r; " S8 S9\5      r<\=S::X  Ga  S SK>r>S SKr\>R~                  " S;S<9r@\@R                  S=S>S?S@9  \@R                  SASBSCSDSSESF9  \@R                  SGSHSISJSKSL9  \@R                  SMSNSOSSOSL9  \@R                  SPSQSRSDSSST9  \@R                  SUSV\BSWSSXSY9  \@R                  SZS[S\SDS]ST9  \@R                  S^S_S`SDSaST9  \@R                  5       rDS SbKEJr  \DR                  Sc:X  a  \R                  R                  5       rIO*\J" \DR                  SdSe9 rK\KR                  5       rISSS5        \<" \I\DR                  (       a  SfOSg\DR                  \DR                  \DR                  Sh9rP\DR                  (       ag  S SKRrRS SKSrS\RR                  " 5       rU\" \U\DR                  \DR                  Si9r\R                  \P5        \SR                  " \UR                  5       5        g\" \DR                  \DR                  SjSk9r\R                  \P5        gg! , (       d  f       N= f)l    )annotationsN)ClassVarIterableget_args)
MarkdownIt)Token)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       $ )zFactory 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      M/var/www/html/land-doc-ocr/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   r1   r*   c                    g)z_Called when the parser leaves the element.

Args:
    context (MarkdownContext): [description]
Nr"   r,   s     r'   on_leaveMarkdownElement.on_leave7   r1   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.   MarkdownContextrG   Noner.   rI   r4   r   rG   rJ   r.   rI   r<   r   rG   boolrA   r   rB   r   rG   r   )__name__
__module____qualname____firstlineno__r    __annotations__classmethodr(   r/   r5   r8   r=   rC   __static_attributes__r"   r*   r'   r   r      sO    #Hn#
 
)7	r*   r   c                      \ rS rSrSrSrg)UnknownElementR   zAn unknown element.

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

r"   N)rO   rP   rQ   rR   __doc__rU   r"   r*   r'   rW   rW   R   s    r*   rW   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   r4   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)r4   append
isinstancestrcurrent_styler3   s      r'   r5   TextElement.on_textd   s.    		
48M8Mw44XSWXr*   c                $    UR                  5         g rh   )leave_styler,   s     r'   r8   TextElement.on_leaveg   s    r*   )re   r4   NrH   rK   )
rO   rP   rQ   rR   rY   rd   r/   r5   r8   rU   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
)	Paragraphk   zA Paragraph.zmarkdown.paragraphr   rb   c                4    U " UR                   =(       d    SS9$ r_   ra   r#   s      r'   r(   Paragraph.createq   s    8++5v66r*   c                    Xl         g rh   ra   r-   rb   s     r'   __init__Paragraph.__init__u   s    r*   c              #  ^   #    U R                   U R                  l         U R                  v   g 7frh   )rb   r4   r@   s      r'   rC   Paragraph.__rich_console__x   s       !LL		iis   +-ra   N)r%   rF   r&   r   rG   rr   rb   r   rG   rJ   rN   )rO   rP   rQ   rR   rY   rd   rS   rT   r(   rx   rC   rU   r"   r*   r'   rr   rr   k   sD    %J7 7)7	r*   rr   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      $ rh   )tagr#   s      r'   r(   Heading.create   s    599~r*   c                X    [        5       U l        UR                  U R                  5        g rh   )r   r4   rc   rd   r,   s     r'   r/   Heading.on_enter   s    F	DOO,r*   c                B   > Xl         SU 3U l        [        TU ]  5         g )N	markdown.)r   rd   superrx   )r-   r   	__class__s     r'   rx   Heading.__init__   s!    %cU+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   re   h2 )r4   rb   r   r   r   HEAVYr   )r-   rA   rB   r4   s       r'   rC   Heading.__rich_console__   sY      yy88tII*  xx42hJs   A"A$)rd   r   r4   )r%   rF   r&   r   rG   r~   rH   )r   rk   rG   rJ   rN   )rO   rP   rQ   rR   rY   rT   r(   r/   rx   rC   rU   __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   r4   )info	partition
code_theme)r$   r%   r&   	node_info
lexer_names        r'   r(   CodeBlock.create   s=    JJ$"	((-a0
:')<)<==r*   c                    Xl         X l        g rh   r   theme)r-   r   r   s      r'   rx   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)rk   r4   rstripr   r   r   )r-   rA   rB   codesyntaxs        r'   rC   CodeBlock.__rich_console__   s?      499~$$&//tQ
 s   A	Ar   N)r%   rF   r&   r   rG   r   )r   rk   r   rk   rG   rJ   rN   )rO   rP   rQ   rR   rY   rd   rT   r(   rx   rC   rU   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 rh   r   elementsr-   s    r'   rx   BlockQuote.__init__       %0]r*   c                :    U R                   R                  U5        gNFr   ri   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re   
u   ▌ )update	max_widthrender_linesr   re   r   )	r-   rA   rB   render_optionslinesre   r    r   lines	            r'   rC   BlockQuote.__rich_console__   s{      !g.?.?!.CD$$T]]N**$U

4=&%(DMOON s   A2B4B5Br   NrG   rJ   rL   rN   )
rO   rP   rQ   rR   rY   rd   rx   r=   rC   rU   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-   rA   rB   re   s       r'   rC   HorizontalRule.__rich_console__   s'      !!-!@s   r"   NrN   )rO   rP   rQ   rR   rY   r    rC   rU   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 rh   )headerbodyr   s    r'   rx   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)rj   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-   rA   rB   tablecolumnr   elementrow_contents           r'   rC   TableElement.__rich_console__   s      #**+;;"t{{'B++////  0 0 99 yy~~>AiiHi7iH{+ &  Is   B2C(4C#	C()r   r   Nr   rL   rN   )	rO   rP   rQ   rR   rY   rx   r=   rC   rU   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 rh   r   r   s    r'   rx   TableHeaderElement.__init__  s	    +/r*   c                >    [        U[        5      (       d   eX l        gr   )rj   TableRowElementr   r;   s      r'   r=   !TableHeaderElement.on_child_close  s    %1111r*   r   Nr   rL   rO   rP   rQ   rR   rY   rx   r=   rU   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 rh   r   r   s    r'   rx   TableBodyElement.__init__  s	    +-	r*   c                h    [        U[        5      (       d   eU R                  R                  U5        gr   )rj   r   r   ri   r;   s      r'   r=   TableBodyElement.on_child_close  s*    %1111		r*   r   Nr   rL   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 rh   r   r   s    r'   rx   TableRowElement.__init__  s	    -/
r*   c                h    [        U[        5      (       d   eU R                  R                  U5        gr   )rj   TableDataElementr   ri   r;   s      r'   r=   TableRowElement.on_child_close   s+    %!12222

% r*   r   Nr   rL   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$ )Nre   r   ztext-align:rightrightztext-align:centerr   ztext-align:leftr`   r   ra   )rk   attrsgetr   r   )r$   r%   r&   re   rb   s        r'   r(   TableDataElement.create*  sj    EKKOOG,-3 &G E)G%'GG(=11117##r*   c                .    [        SUS9U l        Xl        g )Nr   ra   )r   r   rb   rw   s     r'   rx   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 rh   )rj   rk   r   stylizerl   r   append_textr3   s      r'   r5   TableDataElement.on_text?  s=    'c22tDzW**+  &r*   )r   rb   NrE   r|   rK   )
rO   rP   rQ   rR   rY   rT   r(   rx   r5   rU   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)ListElementiE  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.createH  s'    5::s5;;??7A#>?@@r*   c                *    / U l         Xl        X l        g rh   )items	list_type
list_start)r-   r  r  s      r'   rx   ListElement.__init__L  s    %'
"$r*   c                h    [        U[        5      (       d   eU R                  R                  U5        gr   )rj   ListItemr  ri   r;   s      r'   r=   ListElement.on_child_closeQ  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-   rA   rB   itemnumberlast_numberindexs          r'   rC   ListElement.__rich_console__V  s      >>//

--g??? # //1QtF 3tzz?2K(4--fnk    5	 @
s"   4B3B/A.B3%B1&
B31B3)r  r  r  N)r%   rF   r&   r   rG   r	  )r  rk   r  z
int | NonerG   rJ   rL   rN   )rO   rP   rQ   rR   rY   rT   r(   rx   r=   rC   rU   r"   r*   r'   r	  r	  E  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  ie  zAn item in a list.zmarkdown.itemc                "    [        5       U l        g rh   r   r   s    r'   rx   ListItem.__init__j  r   r*   c                :    U R                   R                  U5        gr   r   r;   s      r'   r=   ListItem.on_child_closem  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  pU	(       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   re   r   r   r   )r-   rA   rB   r   r   bullet_stylebulletr   r    firstr   s              r'   r  ListItem.render_bulletq  s      g.?.?!.CD$$T]]N**$U(()?(P,/'<04=%e,KE!&w.OO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  pU(       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  rk   r   r   r   r   re   r   r   rjustr   )r-   rA   rB   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;VH++L1,<=C\R%e,KE"'/OON -s   CCC	Cr   Nr   rL   rN   )
rA   r   rB   r   r  r  r  r  rG   r   )rO   rP   rQ   rR   rY   rd   rx   r=   r  r  rU   r"   r*   r'   r  r  e  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   rk   )r$   r%   r&   urls       r'   r(   Link.create  s+    kkoofc*5==#c(++r*   c                0    [        U5      U l        X l        g rh   )r   r4   r7  )r-   r4   r7  s      r'   rx   Link.__init__  s    J		r*   )r7  r4   NrE   )r4   rk   r7  rk   )rO   rP   rQ   rR   rT   r(   rx   rU   r"   r*   r'   r5  r5    s    , ,r*   r5  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      $ )zFactory 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   )rk   r   r   
hyperlinksr#   s      r'   r(   ImageItem.create  s+     3u{{ub12H4G4GHHr*   c                H   > Xl         X l        S U l        [        TU ]  5         g rh   )destinationrA  linkr   rx   )r-   rD  rA  r   s      r'   rx   ImageItem.__init__  s     &$ $	r*   c                v   > UR                   R                  U l        [        SS9U l        [        TU ]  U5        g r_   )rl   rE  r   r4   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rE  /r
   u   🌆 r   r   )end)
r   rE  rD  r4   r   striprsplitrA  r  assemble)r-   rA   rB   
link_styletitler4   s         r'   rC   ImageItem.__rich_console__  s      		 ET-=-= EF
		QT$"2"2"8"8"="D"DS!"LR"PQ??MM*%}}WeSb9
s   B8B:)rD  rA  rE  r4   rE   )rD  rk   rA  rM   rG   rJ   rH   rN   )rO   rP   rQ   rR   rY   r    rT   r(   rx   r/   rC   rU   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)rI   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   )rA   rB   r   style_stackr   stack_syntaxr   )r-   rA   rB   re   inline_code_lexerinline_code_themes         r'   rx   MarkdownContext.__init__  sE     '1%'8-2W
&*(!"&7QDL )r*   c                .    U R                   R                  $ )z>Current style which is the product of all styles on the stack.)rV  currentr   s    r'   rl   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   )
rX  	highlightr   rW  topr5   r   rP  rV  r]  )r-   r4   	node_typehighlight_texts       r'   r5   MarkdownContext.on_text  s|    00T\\5M!\\33D9N!!#JJNN""dmmN:J:J:R:RS JJNN""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   )rA   r   rV  pushrl   )r-   rd   re   s      r'   rc   MarkdownContext.enter_style  s;    &&z6&Be$!!!r*   c                :    U R                   R                  5       nU$ )zLeave a style context.)rV  pop)r-   re   s     r'   ro   MarkdownContext.leave_style  s      $$&r*   )rX  rA   rB   rW  rV  )Nmonokai)rA   r   rB   r   re   r   rY  
str | NonerZ  rk   rG   rJ   )rG   r   )r4   rk   rd  rk   rG   rJ   )rd   str | StylerG   r   )rO   rP   rQ   rR   rY   rx   propertyrl   r5   rc   ro   rU   r"   r*   r'   rI   rI     sv    + )-!*RR  R 	R
 &R R 
R" ( (	/"r*   rI   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)rF   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_openr`  
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   rb   re   rA  rY  rZ  )	r-   r  r   rb   re   rA  rY  rZ  parsers	            r'   rx   Markdown.__init__  s]     $$_5<<WEll6*$-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.r`  imgN)r  r   children_flatten_tokens)r-   tokensr&   is_fenceis_images        r'   r  Markdown._flatten_tokens*  sY     EzzW,HyyE)H~~x8//???  @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   OU(       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)rY  rZ  Fr
   rL  r   r4   	hardbreakr   	softbreakr   	link_openr7  r   zmarkdown.link_urlrJ  
link_closezmarkdown.linkz ()r`  rt  r   inline))r   re   r   rI   rY  rZ  r  inlinesr   r   r  r  r   nestingr5   r   rk   r   r   rA  r   rc   rW  rh  r5  r(   ro   rk  rj   r4   plainr7  r   rW   r/   rc  r=   renderrB   r8   r    )r-   rA   rB   re   r.   r  inline_style_tagsr    _new_line_segmentr&   rd  r   enteringexitingself_closingr7  rQ  r   link_url_styleelement_classshould_renderr4   s                         r'   rC   Markdown.__rich_console__4  s     !!$**f!=...-!"44"44
  LL#LLN))&1E

I))C}})Hmmr)G ==A-LF"y9k)i0k)Y/k)5;;??6267??!(!2!23FPV!2!WJ%T"22J''
3MM&&t{{4'?@l*??'')%mm//1G%gt4444!(!2!2?F!2!SJ''
3OOGLL$6$6	B'')OOD)4%,%6%6+V &7 &N ''7OOGLL)<'')OOC3((- '')C5(9: '') '')C5(9:}}yA'') !% 1 1%** = O'..t;|MM&&w/$$W-%mm//1G(/$5 % O#MM--<<WgN "
 %#"33#*>>'7??#KKK!MM%%' ==D'6 $MM) O"== O#MM--<<WgN "
 %#	X(="33#*>>'7??#KKKll$$W-&//HG 2` L Ls+   R-V=/V80CV=?V; V=$V=;V=)r   rA  rY  rZ  rb   r  r  re   )rm  Nr]   TNN)r  rk   r   rk   rb   zJustifyMethod | Nonere   ro  rA  rM   rY  rn  rZ  rn  rG   rJ   )r  Iterable[Token]rG   r  rN   )rO   rP   rQ   rR   rY   rr   r~   r   r   r   r	  r  r>  r   r   r   r   r   r   rS   r  rx   r  rC   rU   r"   r*   r'   rF   rF     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*   rF   __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   rm  zpygments code theme)r  r   r  z-iz--inline-code-lexerrY  z-yz--hyperlinksrA  zenable hyperlinks)r  r  r  z-wz--widthr   z*width of output (default will auto-detect))r  r  r   r  z-jz	--justifyrb   zenable full text justifyz-pz--pagepagezuse pager to scroll output)r   -zutf-8)encodingfullr`   )rb   r   rA  rY  )fileforce_terminalr   T)r  r   record)[
__future__r   systypingr   r   r   markdown_itr   markdown_it.tokenr   
rich.tabler	   r   r   _loopr   _stackr   rA   r   r   r   r   
containersr   jupyterr   panelr   ruler   segmentr   re   r   r   r   r   r4   r   r   r   rW   r[   rr   r~   r   r   r   r   r   r   r   r   r	  r  r5  r>  rI   rF   rO   argparseArgumentParserr  add_argumentr  
parse_argsargsrich.consoler  stdinreadmarkdown_bodyopenmarkdown_filerb   r   rA  rY  r%   r  iopydocStringIOfileior  r   printpagergetvaluer"   r*   r'   <module>r     s   " 
 / / " #     I I # !    $   6 6r_ /   ( k  F 2 4	 _ 	 ? B	 		 		o 	' '>/ @'{ 'T; % %P- -`w0| w0t z$$>F 4  
 ,   "            9   '   )   D$yyC		($))g.-)..0M / ,,F????00H yy(8(8


 	hFOO%& ++4::d
 	h L /.s   M
M