o
    MEg                     @   s  d dl mZmZ d dlZd dlZzd dlmZ W n ey'   d dlmZ Y nw ej	dkrCej	dkr:d dl
Z
e
jZnddlmZ eZn	d dlmZ ejZd	Zd
ZdZdZdZdZde d e d e d Zde d Zde e d Zde e d d Zde d ZdZdZdZdZde d e d e d e d e d e d Ze de ej!Z"e dZ#d Z$e d!e$ d e ej!Z%d"Z&e e&Z'd#d$ Z(d%d& Z)d'd( Z*d)d*d+d,d-Z+d.d/ Z,d0d1 Z-dS )2    )absolute_importunicode_literalsN)quote)   r   )r         )	_unescape)entitytransz5&(?:#x[a-f0-9]{1,6}|#[0-9]{1,7}|[a-z][a-z0-9]{1,31});z[A-Za-z][A-Za-z0-9-]*z[a-zA-Z_:][a-zA-Z0-9:._-]*z[^"'=<>`\x00-\x20]+z'[^']*'z"[^"]*"z(?:|)z
(?:\s*=\s*z(?:\s+z?)<*z\s*/?>z</z\s*[>]z%<!---->|<!--(?:-?[^>-])(?:-?[^-])*-->z[<][?].*?[?][>]z<![A-Z]+\s+[^>]*>z<!\[CDATA\[[\s\S]*?\]\]>^z[\\&]z$[!"#$%&'()*+,./:;<=>?@[\\\]^_`{|}~-]z\\z[&<>"]c                 C   s   | d dkr
| d S t | S )Nr   \r   )HTMLunescapes r   k/var/www/eduai.edurigo.com/doc_train/edurigo_ai/Puru/venv/lib/python3.10/site-packages/commonmark/common.pyunescape_char2   s   r   c                 C   s"   t t| rt tdd | S | S )z?Replace entities and backslash escapes with literal characters.c                 S      t |  S N)r   groupmr   r   r   <lambda>>       z!unescape_string.<locals>.<lambda>)researchreBackslashOrAmpsubreEntityOrEscapedCharr   r   r   r   unescape_string9   s   r"   c                 C   s   zt | dtddW S  tyr   t | d}tdd|}tdd|}tdd	|}td
d|}tdd|}tdd|}tdd|}tdd|}tdd|}tdd|}tdd|}tdd|}| Y S w )Nzutf-8z/@:+?=&()%#*,)safez%40@z%3A:z%2B+z%3F?z%3D=z%26&z%28(z%29r   z%25%z%23#z%2Ar   z%2C,)r   encodestrUnicodeDecodeErrorr   r    )urir   r   r   r   normalize_uriD   s$   r2   z&amp;z&lt;z&gt;z&quot;)r)   r   >"c                 C   s   t | | S r   )
UNSAFE_MAPgetr   r   r   r   replace_unsafe_chard   s   r7   c                 C   s.   | d u rdS t t| rt tdd | S | S )N c                 S   r   r   )r7   r   r   r   r   r   r   n   r   zescape_xml.<locals>.<lambda>)r   r   reXmlSpecialr    r   r   r   r   
escape_xmlh   s   r:   ).
__future__r   r   r   sysurllib.parser   ImportErrorurllibversion_infohtmlunescaper   r	   r   
commonmarkENTITYTAGNAMEATTRIBUTENAMEUNQUOTEDVALUESINGLEQUOTEDVALUEDOUBLEQUOTEDVALUEATTRIBUTEVALUEATTRIBUTEVALUESPEC	ATTRIBUTEOPENTAGCLOSETAGHTMLCOMMENTPROCESSINGINSTRUCTIONDECLARATIONCDATAHTMLTAGcompile
IGNORECASE	reHtmlTagr   	ESCAPABLEr!   
XMLSPECIALr9   r   r"   r2   r5   r7   r:   r   r   r   r   <module>   s    



