o
    ¾©ZhÕ  ã                   @   s"   d dl mZ deddfdd„ZdS )é   )ÚStateInlineÚstateÚreturnNc                 C   s   d}t | jƒ}d }}||k rr| j| jdk r|d8 }|| j| _| j| jdkr-|d7 }| j| jdkrZ|d |k rZ| j|d  jdkrZ| j| j| j|d  j | j|d  _n||krf| j| | j|< |d7 }|d7 }||k s||kr~| j|d…= dS dS )a¼  
    Clean up tokens after emphasis and strikethrough postprocessing:
    merge adjacent text nodes into one and re-calculate all token levels

    This is necessary because initially emphasis delimiter markers (``*, _, ~``)
    are treated as their own separate text tokens. Then emphasis rule either
    leaves them as text (needed to merge with adjacent text) or turns them
    into opening/closing tags (which messes up levels inside).
    é    r   ÚtextN)ÚlenÚtokensZnestingÚlevelÚtypeÚcontent)r   r	   ÚmaximumÚcurrÚlast© r   ú^/var/www/html/lang_env/lib/python3.10/site-packages/markdown_it/rules_inline/fragments_join.pyÚfragments_join   s,   

ÿêÿr   )Zstate_inliner   r   r   r   r   r   Ú<module>   s    