o
    is                     @   sf   d dl Z ddlmZ ddlmZmZ ddlmZ e de j	Z
e de j	Zd	ed
edefddZdS )    N   )entities)fromCodePointisValidEntityCode   )StateInlinez#^&#((?:x[a-f0-9]{1,6}|[0-9]{1,7}));z^&([a-z][a-z0-9]{1,31});statesilentreturnc                 C   sf  | j }| j}| j| dkrdS |d |krdS | j|d  dkrvt| j|d   }rt|sf|d}|d  dkrDt|dd  dnt|d}| d	d
d}t	|rXt
|nt
d|_|d|_d|_|  j t|d7  _ dS dS t| j|d   }r|dtv r|s| d	d
d}t|d |_|d|_d|_|  j t|d7  _ dS dS )N&Fr   #r   x   
   text_special i  entityT)posposMaxsrc
DIGITAL_REsearchgrouplowerintpushr   r   contentmarkupinfolenNAMED_REr   )r   r	   r   maximummatchmatch1codetoken r&   \/home/ubuntu/veenaModal/venv/lib/python3.10/site-packages/markdown_it/rules_inline/entity.pyr      s>   
*
&r   )recommon.entitiesr   common.utilsr   r   state_inliner   compile
IGNORECASEr   r    boolr   r&   r&   r&   r'   <module>   s   