o
    Rh<	                     @   s   d dl Z d dlZd dlmZ edZedZdedefddZd	edefd
dZ	dedeegef defddZ
dedefddZdedefddZdS )    N)Callablez[\x2E\u3002\uFF0E\uFF61]z
[^\0-\x7E]unireturnc                 C   s   t j| dd S Npunycode)encoding)codecsencodedecode)r    r   W/home/air/sanwanet/backup_V2/venv/lib/python3.10/site-packages/markdown_it/_punycode.pyr	      s   r	   asciic                 C   s   t j| ddS r   )r   r
   )r   r   r   r   r
   #   s   r
   stringfnc                    sX   |  d}d}t|dkr|d d }|d } t | }d fdd|D }|| S )N@    r   .c                 3   s    | ]} |V  qd S )Nr   ).0labelr   r   r   	<genexpr>0   s    zmap_domain.<locals>.<genexpr>)splitlenREGEX_SEPARATORSjoin)r   r   partsresultlabelsencodedr   r   r   
map_domain'   s   

r    objc                 C      dt dt fdd}t| |S )Nr!   r   c                 S   s"   |  drt| dd   S | S )Nxn--   )
startswithr
   lowerr!   r   r   r   mapping5   s   
zto_unicode.<locals>.mappingstrr    r!   r(   r   r   r   
to_unicode4      
r,   c                 C   r"   )Nr!   r   c                 S   s   t | rdt|  S | S )Nr#   )REGEX_NON_ASCIIsearchr	   r'   r   r   r   r(   >   s   
zto_ascii.<locals>.mappingr)   r+   r   r   r   to_ascii=   r-   r0   )r   retypingr   compiler   r.   r*   r	   r
   r    r,   r0   r   r   r   r   <module>   s   

 	