
    \j                        d dl mZ d dlmZmZmZ d dlmZ d dlmZ d dl	m
Z
mZmZmZ e
rd dlmZ eeef   Z	  G d de      Z G d	 d
e      Z G d de      ZddZy)    )annotations)CallableIterableMutableMapping)r   )Path)TYPE_CHECKINGAny	TypedDictcast)NotRequiredc                      e Zd ZU dZded<   	 ded<   	 ded<   	 ded<   	 ded	<   	 ded
<   	 ded<   	 ded<   	 ded<   	 ded<   	 ded<   	 ded<   	 ded<   	 ded<   y)OptionsTypezOptions for parsing.int
maxNestingboolhtmllinkifytypographerstrquotesxhtmlOutbreaks
langPrefix%Callable[[str, str, str], str] | None	highlightzNotRequired[bool]store_labels	tasklistsalertstasklists_editablestrikethrough_single_tildeN__name__
__module____qualname____doc____annotations__     ;/root/env/lib/python3.12/site-packages/markdown_it/utils.pyr   r      s    O/
J%M;.KN0L3O044>## ! @=))[ 11Pr(   r   c                  (    e Zd ZU dZded<   	 ded<   y)
PresetTypez%Preset configuration for markdown-it.r   optionsz3MutableMapping[str, MutableMapping[str, list[str]]]
componentsNr!   r'   r(   r)   r+   r+   6   s    /CC/r(   r+   c                  H   e Zd ZdZddZddZddZd dZd!dZd"dZ	d#dZ
d#d	Zed"d
       Zej                  d$d       Zed%d       Zej                  d&d       Zed%d       Zej                  d&d       Zed%d       Zej                  d&d       Zed#d       Zej                  d'd       Zed%d       Zej                  d&d       Zed%d       Zej                  d&d       Zed#d       Zej                  d'd       Zed(d       Zej                  d)d       Zy)*OptionsDictzMA dictionary, with attribute access to core markdownit configuration options.c                @    t        t        t        |            | _        y N)r   r   dict_options)selfr,   s     r)   __init__zOptionsDict.__init__E   s    [$w-8r(   c                     | j                   |   S r1   r3   r4   keys     r)   __getitem__zOptionsDict.__getitem__H   s    }}S!!r(   c                "    || j                   |<   y r1   r7   )r4   r9   values      r)   __setitem__zOptionsDict.__setitem__K   s    "cr(   c                    | j                   |= y r1   r7   r8   s     r)   __delitem__zOptionsDict.__delitem__N   s    MM#r(   c                ,    t        | j                        S r1   )iterr3   r4   s    r)   __iter__zOptionsDict.__iter__Q       DMM""r(   c                ,    t        | j                        S r1   )lenr3   rB   s    r)   __len__zOptionsDict.__len__T       4==!!r(   c                ,    t        | j                        S r1   )reprr3   rB   s    r)   __repr__zOptionsDict.__repr__W   rD   r(   c                ,    t        | j                        S r1   )r   r3   rB   s    r)   __str__zOptionsDict.__str__Z   rH   r(   c                     | j                   d   S )z%Internal protection, recursion limit.r   r7   rB   s    r)   r   zOptionsDict.maxNesting]        }}\**r(   c                "    || j                   d<   y )Nr   r7   r4   r<   s     r)   r   zOptionsDict.maxNestingb       &+l#r(   c                     | j                   d   S )zEnable HTML tags in source.r   r7   rB   s    r)   r   zOptionsDict.htmlf   s     }}V$$r(   c                "    || j                   d<   y )Nr   r7   rQ   s     r)   r   zOptionsDict.htmlk   s     %fr(   c                     | j                   d   S )z1Enable autoconversion of URL-like texts to links.r   r7   rB   s    r)   r   zOptionsDict.linkifyo   s     }}Y''r(   c                "    || j                   d<   y )Nr   r7   rQ   s     r)   r   zOptionsDict.linkifyt   s    #(i r(   c                     | j                   d   S )z$Enable smartquotes and replacements.r   r7   rB   s    r)   r   zOptionsDict.typographerx   s     }}]++r(   c                "    || j                   d<   y )Nr   r7   rQ   s     r)   r   zOptionsDict.typographer}   s    ',m$r(   c                     | j                   d   S )zQuote characters.r   r7   rB   s    r)   r   zOptionsDict.quotes        }}X&&r(   c                "    || j                   d<   y )Nr   r7   rQ   s     r)   r   zOptionsDict.quotes       "'hr(   c                     | j                   d   S )z&Use '/' to close single tags (<br />).r   r7   rB   s    r)   r   zOptionsDict.xhtmlOut   s     }}Z((r(   c                "    || j                   d<   y )Nr   r7   rQ   s     r)   r   zOptionsDict.xhtmlOut   s    $)j!r(   c                     | j                   d   S )z)Convert newlines in paragraphs into <br>.r   r7   rB   s    r)   r   zOptionsDict.breaks   rZ   r(   c                "    || j                   d<   y )Nr   r7   rQ   s     r)   r   zOptionsDict.breaks   r\   r(   c                     | j                   d   S )z&CSS language prefix for fenced blocks.r   r7   rB   s    r)   r   zOptionsDict.langPrefix   rO   r(   c                "    || j                   d<   y )Nr   r7   rQ   s     r)   r   zOptionsDict.langPrefix   rR   r(   c                     | j                   d   S )zEHighlighter function: (content, langName, langAttrs) -> escaped HTML.r   r7   rB   s    r)   r   zOptionsDict.highlight   s     }}[))r(   c                "    || j                   d<   y )Nr   r7   rQ   s     r)   r   zOptionsDict.highlight   s    %*k"r(   N)r,   r   returnNone)r9   r   re   r	   )r9   r   r<   r	   re   rf   )r9   r   re   rf   )re   zIterable[str])re   r   )re   r   )r<   r   re   rf   )re   r   )r<   r   re   rf   )r<   r   re   rf   )re   r   )r<   r   re   rf   )r"   r#   r$   r%   r5   r:   r=   r?   rC   rG   rK   rM   propertyr   setterr   r   r   r   r   r   r   r   r'   r(   r)   r/   r/   ?   s   W
9"##"#" + + , , % % 
[[& & ( ( ^^) ) , , - - ' ' ]]( ( ) ) __* * ' ' ]]( ( + + , , * * + +r(   r/   c                   t        |       j                  d      }g }d}d}|j                  d      }t        t	        |            D ]  }||   j                         dk(  s|dk(  r*|j                  |||dz
     j                         g       d}na|dk(  r,|d   j                  d	j                  ||dz   |              d
}n0|d
k(  r+|d   j                  d	j                  ||dz   |              d}|} |S )Nzutf-8)encodingr   T)keepends.       )	r   	read_text
splitlinesrangerF   rstripappendstripjoin)pathtexttestssectionlast_poslinesis          r)   read_fixture_filer      s   :1DEGHOOTO*E3u: 8??#!|aq1u!3!3!567Ab	  x!|a)@!ABAb	  x!|a)@!ABH Lr(   N)rx   z
str | Pathre   zlist[list[Any]])
__future__r   collections.abcr   r   r   MutableMappingABCpathlibr   typingr   r	   r
   r   typing_extensionsr   r   EnvTyper   r+   r/   r   r'   r(   r)   <module>r      se    " > > ?  6 6- c
"
!Q) !QH0 0m+# m+`r(   