
    Lc                     H    d dl mZmZmZ d dlmZ  G d de          Zd ZdS )   )BlockParserexpand_leading_tabcleanup_lines)InlineParserc                   D    e Zd Zd
dZd Zd Zd Zd ZddZddZ	d	 Z
dS )MarkdownNc                     |t                      }|t          |          }|| _        || _        |j        | _        g | _        g | _        g | _        |r|D ]} ||            d S d S N)r   r   blockinlinerendererbefore_parse_hooksbefore_render_hooksafter_render_hooks)selfr   r   r   pluginsplugins         0lib/python3.11/site-packages/mistune/markdown.py__init__zMarkdown.__init__   s     	"MME 	,!(++F
"$#% "$ 	!  t	 	     c                      ||            d S r
    )r   r   s     r   usezMarkdown.use   s    tr   c                 d    t          ||          \  }}| j        D ]} || ||          \  }}||fS r
   )
preprocessr   )r   sstatehooks       r   before_parsezMarkdown.before_parse   sI    a''5+ 	, 	,DtD!U++HAuu%xr   c                 4    | j         D ]} || ||          }|S r
   )r   )r   tokensr   r   s       r   before_renderzMarkdown.before_render!   s.    , 	/ 	/DT$..FFr   c                 4    | j         D ]} || ||          }|S r
   )r   )r   resultr   r   s       r   after_renderzMarkdown.after_render&   s.    + 	/ 	/DT$..FFr   c                    |i }|                      ||          \  }}| j                            ||          }|                     ||          }| j                            || j        |          }|                     ||          }|S r
   )r   r   parser"   renderr   r%   )r   r   r   r!   r$   s        r   r'   zMarkdown.parse+   s     	E$$Q..5!!!U++##FE22""64;>>""6511r   c                     |i }||d<   t          |d          5 }|                                }d d d            n# 1 swxY w Y   |                     |                    d          |          S )N__file__rbzutf-8)openreadr'   decode)r   filepathr   fr   s        r   r-   zMarkdown.read6   s     	E$j(D!! 	QA	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 zz!((7++U333s   ;??c                 ,    |                      |          S r
   )r'   )r   r   s     r   __call__zMarkdown.__call__@   s    zz!}}r   )NNNr
   )__name__
__module____qualname__r   r   r   r"   r%   r'   r-   r2   r   r   r   r   r      s           $      
  
	 	 	 	4 4 4 4    r   r   c                     |                     i i g d           | d} nN|                     dd          } t          |           } t          |           } |                     d          s| dz  } | |fS )N)	def_linksdef_footnotes	footnotes
u   ␤)updatereplacer   r   endswith)r   r   s     r   r   r   D   s    	LL     	 IIh%%!q!!zz$ 	IAe8Or   N)	block_parserr   r   r   inline_parserr   objectr   r   r   r   r   <module>rA      sy    H H H H H H H H H H ' ' ' ' ' '< < < < <v < < <~    r   