
    Xhb                         d dl Z d dlmZ d dlmZmZmZmZ ddlm	Z	m
Z
 ddlmZ ddlmZ  e j                  d	e j                         Z G d
 de	      ZdedefdZy)    N)indent)AnyDictIterablecast   )BaseRenderer
BlockState)	strip_end   render_listz^[`~]+c                      e Zd ZdZdZdeeeef      de	defdZ
de	dee   fdZdeeef   de	defd	Zdeeef   de	defd
Zdeeef   de	defdZdeeef   de	defdZdeeef   de	defdZdeeef   de	defdZdeeef   de	defdZdeeef   de	defdZdeeef   de	defdZdeeef   de	defdZdeeef   de	defdZdeeef   de	defdZdeeef   de	defdZdeeef   de	defdZdeeef   de	defdZdeeef   de	defdZdeeef   de	defdZdeeef   de	defdZdeeef   de	defdZdeeef   de	defdZy)MarkdownRendererz&A renderer to re-format Markdown text.markdowntokensstatereturnc                     | j                  ||      }|dj                  | j                  |            dz   z  }t        |      S )N


)render_tokensjoinrender_referrencesr   )selfr   r   outs       N/var/www/html/myenv/lib/python3.12/site-packages/mistune/renderers/markdown.py__call__zMarkdownRenderer.__call__   sA      /v{{42259:TAA~    c              #      K   |j                   d   }|D ]:  }||   }d|d   z   dz   |d   z   }|j                  d      }|r|d|z   dz   z  }| < y w)	N	ref_links[labelz]: urltitle "")envget)r   r   r!   keyattrstextr%   s          r   r   z#MarkdownRenderer.render_referrences   sq     IIk*	 	CcNEw'%/%,>DIIg&Eus**J	s   AAtokenc                 0    |d   }| j                  ||      S )Nchildren)r   )r   r-   r   r/   s       r   render_childrenz MarkdownRenderer.render_children!   s    $!!(E22r   c                 (    t        t        |d         S Nrawr   strr   r-   r   s      r   r,   zMarkdownRenderer.text%       Cu&&r   c                 2    d| j                  ||      z   dz   S )N*r0   r6   s      r   emphasiszMarkdownRenderer.emphasis(   s    T))%77#==r   c                 2    d| j                  ||      z   dz   S )Nz**r:   r6   s      r   strongzMarkdownRenderer.strong+   s    d**5%884??r   c                 f   t        t        |j                  d            }| j                  ||      }d|z   dz   }|r|dz   |z   dz   S |d   }|d   }|j                  d      }||k(  r
|sd|z   dz   S d	|z   |k(  r
|sd|z   dz   S |d
z  }d
|v sd|v r|d|z   dz   z  }n||z  }|r|d|z   dz   z  }|dz   S )Nr#   r"   ]r+   r$   r%   <>zmailto:()r&   r'   )r   r5   r)   r0   )	r   r-   r   r#   r,   r   r+   r$   r%   s	            r   linkzMarkdownRenderer.link.   s    S%))G,-##E51Dj39u$s**gEl		'"3;u:##$U:##s
#:39s?"C3JC4%<#%%CSyr   c                 ,    d| j                  ||      z   S )N!)rD   r6   s      r   imagezMarkdownRenderer.imageF   s    TYYue,,,r   c                 4    dt        t        |d         z   dz   S )N`r3   r4   r6   s      r   codespanzMarkdownRenderer.codespanI   s    T#uU|,,s22r   c                      y)Nz  
 r6   s      r   	linebreakzMarkdownRenderer.linebreakL   s    r   c                      yNr   rL   r6   s      r   	softbreakzMarkdownRenderer.softbreakO   s    r   c                      yN rL   r6   s      r   
blank_linezMarkdownRenderer.blank_lineR       r   c                 (    t        t        |d         S r2   r4   r6   s      r   inline_htmlzMarkdownRenderer.inline_htmlU   r7   r   c                 0    | j                  ||      }|dz   S )Nr   r:   r   r-   r   r,   s       r   	paragraphzMarkdownRenderer.paragraphX   s    ##E51f}r   c                 r    t        t        |d   d         }d|z  }| j                  ||      }|dz   |z   dz   S )Nr+   level# r   )r   intr0   )r   r-   r   r\   markerr,   s         r   headingzMarkdownRenderer.heading\   sF    S%.12u##E51|d"V++r   c                      y)Nz***

rL   r6   s      r   thematic_breakzMarkdownRenderer.thematic_breakb   s    r   c                 ,    | j                  ||      dz   S rO   r:   r6   s      r   
block_textzMarkdownRenderer.block_texte   s    ##E51D88r   c                 (   |j                  di       }t        t        |j                  dd            }t        t        |d         }|r|d   dk7  r|dz  }|j                  d      }|st        |      }t        t        |      }||z   dz   |z   |z   dz   S )	Nr+   inforS   r3   r   r`   r   )r)   r   r5   _get_fenced_marker)r   r-   r   r+   rg   coder`   marker2s           r   
block_codezMarkdownRenderer.block_codeh   s    		'2&C62./Cu&DH$DLD8$'-FsF#~$t+g5>>r   c                 j    t        | j                  ||      dd       }|j                  d      }|dz   S )Nz> c                      y)NTrL   )_s    r   <lambda>z.MarkdownRenderer.block_quote.<locals>.<lambda>v   s    r   z> 
r   )r   r0   rstriprY   s       r   block_quotezMarkdownRenderer.block_quoteu   s5    d**5%8$O{{6"f}r   c                 .    t        t        |d         dz   S )Nr3   r   r4   r6   s      r   
block_htmlzMarkdownRenderer.block_htmlz   s    Cu&//r   c                      yrR   rL   r6   s      r   block_errorzMarkdownRenderer.block_error}   rU   r   c                     t        | ||      S )Nr   r6   s      r   listzMarkdownRenderer.list   s    4..r   N) __name__
__module____qualname____doc__NAMEr   r   r5   r   r
   r   r   r0   r,   r;   r=   rD   rG   rJ   rM   rP   rT   rW   rZ   ra   rc   re   rl   rr   rt   rv   rx   rL   r   r   r   r      s   0DxS#X7 
 s 
 x} 3T#s(^ 3J 33 3'$sCx. ' ' '>d38n >Z >C >@DcN @: @# @$sCx.   0-4S> -* - -3d38n 3Z 3C 3tCH~ j S tCH~ j S S#X z c 'c3h '
 's 'tCH~ j S ,T#s(^ ,J ,3 ,DcN : # 9S#X 9z 9c 9?S#X ?z ?c ?c3h 
 s 
0S#X 0z 0c 0c3h 
 s /$sCx. / / /r   r   rj   r   c                     t         j                  |       }|syg }g }|D ]?  }|d   dk(  r|j                  t        |             &|j                  t        |             A |sy|sydt	        |      dz   z  S )Nz```r   rI   z~~~r   )	fenced_refindallappendlenmax)rj   foundtickswavesss        r   ri   ri      s}    d#EEE !Q43;LLQ LLQ 	! #e*q.!!r   )retextwrapr   typingr   r   r   r   corer	   r
   utilr   _listr   compileMr   r   r5   ri   rL   r   r   <module>r      sR    	  , , +  BJJy"$$'	u/| u/p"S "S "r   