U
    Shs                     @   sb   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eeed	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   sj  | j }| j}| j| dkrdS |d |kr.dS | j|d  dkrt| j|d   }r|s|d}|d  dkrt|dd  dnt|d}| d	d
d}t	|rt
|nt
d|_|d|_d|_|  j t|d7  _ dS n|t| j|d   }rf|dtkrf|sJ| d	d
d}t|d |_|d|_d|_|  j t|d7  _ dS dS )N&Fr   #r   x   
   Ztext_special i  entityT)posZposMaxsrc
DIGITAL_REsearchgrouplowerintpushr   r   contentmarkupinfolenNAMED_REr   )r   r	   r   maximummatchZmatch1codetoken r#   R/root/rtd-docs/venv/lib/python3.8/site-packages/markdown_it/rules_inline/entity.pyr      s<    
*
*r   )reZcommon.entitiesr   Zcommon.utilsr   r   Zstate_inliner   compile
IGNORECASEr   r   boolr   r#   r#   r#   r$   <module>   s   