
    fH                     F   d dl Z d dlmZ d dlmZ  e j
                  de j                        ZddefdZ	ddedefd	Z
dd
edefdZdefdZd
efdZd
efdZ e j
                  d      Zd
efdZ e j
                  d      Zd
efdZ e j
                  d      ZdefdZy)    N)quote)_replace_charrefz^( {0,3})\t)flagstextc                 :    fd}t         j                  ||       S )Nc                 N    | j                  d      }|dt        |      z
  z  z   S )N    )grouplen)mswidths     G/var/www/cvtools/html/venv/lib/python3.12/site-packages/mistune/util.pyreplz expand_leading_tab.<locals>.repl
   s(    GGAJ3%#a&.)))    _expand_tab_resub)r   r   r   s    ` r   expand_leading_tabr   	   s    * dD))r   spacec                 8    d|z   }t         j                  ||       S )Nz\1r   )r   r   r   s      r   
expand_tabr      s    5=DdD))r   r   r   c                     | j                  dd      } | j                  dd      } | j                  dd      } |r| j                  dd      } | S )	zXEscape characters of ``&<>``. If quote=True, ``"`` will be
    converted to ``&quote;``.&z&amp;<z&lt;>z&gt;"z&quot;)replace)r   r   s     r   escaper       sL     	
		#wA			#vA			#vAIIc8$Hr   linkc                 D    d}t        t        t        |       |            S )zEscape URL for safety.z:/?#@!$&()*+,;=%)safe)r    r   unescape)r!   r#   s     r   
escape_urlr%       s$    	 	
 %T233r   c                 *    t        t        |             S )zEscape characters for safety.)r    r$   r   s    r   safe_entityr(   *   s    (1+r   c                     dj                  | j                               j                         }|j                         j	                         S )z.Generate a unique key for links and footnotes.r
   )joinsplitstriplowerupper)r   keys     r   unikeyr0   /   s4    
((1779

#
#
%C99;r   z8&(#[0-9]{1,7};|#[xX][0-9a-fA-F]+;|[^\t\n\f <&#;]{1,32};)c                 B    d| vr| S t         j                  t        |       S )z
    Copy from `html.unescape`, but `_charref` is different. CommonMark
    does not accept entity references without a trailing semicolon
    r   )_charref_rer   r   r'   s    r   r$   r$   <   s"    
 !|??+Q//r   z(<!--.*?-->|<[^>]*>)c                 .    t         j                  d|       S )N )_striptags_rer   r'   s    r   	striptagsr6   I   s    R##r   z\n\s+$srcc                 .    t         j                  d|       S )N
)_strip_end_rer   )r7   s    r   	strip_endr;   P   s    T3''r   )   )z    )T)reurllib.parser   htmlr   compileMr   strr   r   boolr    r%   r(   r0   r2   r$   r5   r6   r:   r;    r   r   <module>rE      s    	  ! N"$$7*S **S * *
c $ 4S 43 
c  bjj0 0 

23$ $ 

9%(3 (r   