
    fJ                         d dl Z d dlmZmZ d dlmZ ddlmZ ddlm	Z	m
Z
 ddlmZ  e j                  d	e j                        Z G d
 de	      Zd Zy)    N)DictAny)indent   render_list   )BaseRenderer
BlockState)	strip_endz^[`~]+c                   r   e Zd ZdZdZdefdZdefdZ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statec                     | j                  ||      }|dj                  | j                  |            dz   z  }t        |      S )N


)render_tokensjoinrender_referrencesr   )selftokensr   outs       U/var/www/cvtools/html/venv/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c                 0    |d   }| j                  ||      S )Nchildren)r   )r   tokenr   r+   s       r   render_childrenz MarkdownRenderer.render_children   s    $!!(E22r   r,   returnc                     |d   S Nraw r   r,   r   s      r   r)   zMarkdownRenderer.text#       U|r   c                 2    d| j                  ||      z   dz   S )N*r-   r3   s      r   emphasiszMarkdownRenderer.emphasis&   s    T))%77#==r   c                 2    d| j                  ||      z   dz   S )Nz**r7   r3   s      r   strongzMarkdownRenderer.strong)   s    d**5%884??r   c                 J   |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&   r-   )	r   r,   r   r    r)   r   r(   r!   r"   s	            r   linkzMarkdownRenderer.link,   s    		'"##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!)rA   r3   s      r   imagezMarkdownRenderer.imageD   s    TYYue,,,r   c                     d|d   z   dz   S )N`r1   r2   r3   s      r   codespanzMarkdownRenderer.codespanG   s    U5\!C''r   c                      y)Nz  
r2   r3   s      r   	linebreakzMarkdownRenderer.linebreakJ   s    r   c                      yNr   r2   r3   s      r   	softbreakzMarkdownRenderer.softbreakM   s    r   c                      yN r2   r3   s      r   
blank_linezMarkdownRenderer.blank_lineP       r   c                     |d   S r0   r2   r3   s      r   inline_htmlzMarkdownRenderer.inline_htmlS   r4   r   c                 0    | j                  ||      }|dz   S )Nr   r7   r   r,   r   r)   s       r   	paragraphzMarkdownRenderer.paragraphV   s    ##E51f}r   c                 V    |d   d   }d|z  }| j                  ||      }|dz   |z   dz   S )Nr(   level# r   r7   )r   r,   r   rX   markerr)   s         r   headingzMarkdownRenderer.headingZ   s?    gw'u##E51|d"V++r   c                      y)Nz***

r2   r3   s      r   thematic_breakzMarkdownRenderer.thematic_break`   s    r   c                 ,    | j                  ||      dz   S rK   r7   r3   s      r   
block_textzMarkdownRenderer.block_textc   s    ##E51D88r   c                     |j                  di       }|j                  dd      }|d   }|r|d   dk7  r|dz  }|j                  d      }|st        |      }||z   dz   |z   |z   dz   S )	Nr(   inforO   r1   r   r[   r   )r&   _get_fenced_marker)r   r,   r   r(   rb   coder[   s          r   
block_codezMarkdownRenderer.block_codef   s{    		'2&yy$U|DH$DLD8$'-F}t#d*V3f<<r   c                 D    t        | j                  ||      d      }|dz   S )Nz> r   )r   r-   rU   s       r   block_quotezMarkdownRenderer.block_quoter   s%    d**5%8$?f}r   c                     |d   dz   S )Nr1   r   r2   r3   s      r   
block_htmlzMarkdownRenderer.block_htmlv   s    U|f$$r   c                      yrN   r2   r3   s      r   block_errorzMarkdownRenderer.block_errory   rQ   r   c                     t        | ||      S )Nr   r3   s      r   listzMarkdownRenderer.list|   s    4..r   N)__name__
__module____qualname____doc__NAMEr   r   r   r-   r   strr   r)   r8   r:   rA   rD   rG   rI   rL   rP   rS   rV   r\   r^   r`   rf   rh   rj   rl   rn   r2   r   r   r   r      s   0Dj 
 3J 3$sCx.   >d38n >Z >C >@DcN @: @# @$sCx.   0-4S> -* - -(d38n (Z (C (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 %S#X %z %c %c3h 
 s /$sCx. / / /r   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   rF   z~~~r   )	fenced_refindallappendlenmax)re   foundtickswavesss        r   rd   rd      s}    d#EEE !Q43;LLQ LLQ 	! #e*q.!!r   )retypingr   r   textwrapr   _listr   corer
   r   utilr   compileMrv   r   rd   r2   r   r   <module>r      sA    	    + BJJy"$$'	r/| r/j"r   