§
    ŒŸjè  ã                   óì   — d dl Z d dlZd dlmZmZ ddlmZ ddlmZ er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
gZdez   dz   Zdddee         dddefd„Zdddeddddfd„Zdddededefd„Zd d„ZdS )!é    N)ÚTYPE_CHECKINGÚMatché   )ÚPREVENT_BACKSLASH©Úescape)ÚBlockParser)ÚBaseRendererÚ
BlockStateÚInlineState)ÚInlineParser)ÚMarkdownÚabbrz^ {0,3}\*\[(?P<abbr_key>[^\]]+)z<\]:(?P<abbr_text>(?:[ \t]*\n(?: {3,}|\t)[^\n]+)|(?:[^\n]*))$Úblockr	   ÚmÚstater   Úreturnc                 ó0  — |j                              d¦  «        }|si }|                     d¦  «        }|                     d¦  «        }|                     ¦   «         ||<   ||j         d<   |                     ddi¦  «         |                     ¦   «         dz   S )NÚ	ref_abbrsÚabbr_keyÚ	abbr_textÚtypeÚ
blank_lineé   )ÚenvÚgetÚgroupÚstripÚappend_tokenÚend)r   r   r   ÚrefÚkeyÚtexts         úa/var/www/finuniver-perm.ru/html/student/venv/lib/python3.11/site-packages/mistune/plugins/abbr.pyÚparse_ref_abbrr%      sŒ   € Ø
Œ)�-Š-˜Ñ
$Ô
$€CØð ØˆØ
�'Š'�*Ñ
Ô
€CØ�7Š7�;ÑÔ€DØ�zŠz‰|Œ|€Cˆ�HØ €E„IˆkÑà	×Ò˜ Ð-Ñ.Ô.Ð.Ø�5Š5‰7Œ7�Q‰;Ðó    Úinliner   r#   r   c                 ó  — |j                              d¦  «        }|s|                     d|dœ¦  «        S |j        r=|j        d         }|d         dk    r$|j                             ¦   «          |d         |z   }|j                              d¦  «        }|sMt          j        d                     d	„ |                     ¦   «         D ¦   «         ¦  «        ¦  «        }||j         d<   d
}|t          |¦  «        k     r¶| 
                    ||¦  «        }|sn�|                     ¦   «         }||k    r"|||…         }	|                     d|	dœ¦  «         |                     d
¦  «        }
|                     dd|
dœgd||
         idœ¦  «         |                     ¦   «         }|t          |¦  «        k     °¶|d
k    r|                     d|dœ¦  «         d S |t          |¦  «        k     r"|                     d||d …         dœ¦  «         d S d S )Nr   r#   )r   Úrawéÿÿÿÿr   r)   Úabbrs_reú|c              3   ó>   K  — | ]}t          j        |¦  «        V — Œd S )N)Úrer   )Ú.0Úks     r$   ú	<genexpr>zprocess_text.<locals>.<genexpr>1   s*   è è € Ð'IÐ'I¸­¬	°!©¬Ð'IÐ'IÐ'IÐ'IÐ'IÐ'Ir&   r   r   Útitle)r   ÚchildrenÚattrs)r   r   r   ÚtokensÚpopr.   ÚcompileÚjoinÚkeysÚlenÚsearchÚstartr   r    )r'   r#   r   r!   Úlastr+   Úposr   Úend_posÚholeÚlabels              r$   Úprocess_textrB   $   s%  € Ø
Œ)�-Š-˜Ñ
$Ô
$€CØð AØ×!Ò!¨6¸$Ð"?Ð"?Ñ@Ô@Ð@à„|ð &ØŒ|˜BÔˆØ�Œ<˜6Ò!Ð!ØŒL×ÒÑÔÐØ˜”; Ñ%ˆDàŒy�}Š}˜ZÑ(Ô(€HØð )Ý”:˜dŸišiÐ'IÐ'I¸c¿hºh¹j¼jÐ'IÑ'IÔ'IÑIÔIÑJÔJˆØ (ˆŒ	�*Ñà
€CØ
•�D‘	”	Š/ˆ/Ø�OŠO˜D #Ñ&Ô&ˆØð 	Øà—'’'‘)”)ˆØ�SŠ=ˆ=Ø˜˜G˜Ô$ˆDØ×Ò¨°tÐ<Ð<Ñ=Ô=Ð=à—’˜‘
”
ˆØ×ÒØ°6À%Ð*HÐ*HÐ)IÐU\Ð^aÐbgÔ^hÐTiÐjÐjñ	
ô 	
ð 	
ð �eŠe‰gŒgˆð •�D‘	”	Š/ˆ/ð  ˆa‚x€xà×Ò F°4Ð8Ð8Ñ9Ô9Ð9Ð9Ð9Ø	�s�4‰yŒyŠˆØ×Ò F°4¸¸¸´:Ð>Ð>Ñ?Ô?Ð?Ð?Ð?ð 
ˆr&   Úrendererr
   r2   c                 óL   — |sd|z   dz   S dt          |¦  «        z   dz   |z   dz   S )Nz<abbr>z</abbr>z<abbr title="z">r   )rC   r#   r2   s      r$   Úrender_abbrrE   L   s9   € Øð +Ø˜$‰ Ñ*Ð*Ø�V E™]œ]Ñ*¨TÑ1°DÑ8¸9ÑDÐDr&   Úmdr   c                 ó  — | j                              dt          t          d¬¦  «         t	          j        t          | j        ¦  «        | j        _        | j        r2| j        j	        dk    r$| j                             dt          ¦  «         dS dS dS )aG  A mistune plugin to support abbreviations, spec defined at
    https://michelf.ca/projects/php-markdown/extra/#abbr

    Here is an example:

    .. code-block:: text

        The HTML specification
        is maintained by the W3C.

        *[HTML]: Hyper Text Markup Language
        *[W3C]:  World Wide Web Consortium

    It will be converted into HTML:

    .. code-block:: html

        The <abbr title="Hyper Text Markup Language">HTML</abbr> specification
        is maintained by the <abbr title="World Wide Web Consortium">W3C</abbr>.

    :param md: Markdown instance
    Úref_abbrÚ	paragraph)ÚbeforeÚhtmlr   N)r   ÚregisterÚREF_ABBRr%   ÚtypesÚ
MethodTyperB   r'   rC   ÚNAMErE   )rF   s    r$   r   r   R   sƒ   € ð. „H×Ò�j¥(­NÀ;ÐÑOÔOÐOå"Ô-­l¸B¼IÑFÔF€B„IÔØ	„{ð 2�r”{Ô'¨6Ò1Ð1Ø
Œ×Ò˜V¥[Ñ1Ô1Ð1Ð1Ð1ð2ð 2Ð1Ð1r&   )rF   r   r   N)r.   rN   Útypingr   r   Úhelpersr   Úutilr   Úblock_parserr	   Úcorer
   r   r   Úinline_parserr   Úmarkdownr   Ú__all__rM   ÚstrÚintr%   rB   rE   r   © r&   r$   ú<module>r\      s–  ðØ 	€	€	€	Ø €€€Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'à 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø Ð Ð Ð Ð Ð àð $Ø*Ð*Ð*Ð*Ð*Ð*Ø<Ð<Ð<Ð<Ð<Ð<Ð<Ð<Ð<Ð<Ø,Ð,Ð,Ð,Ð,Ð,Ø#Ð#Ð#Ð#Ð#Ð#àˆ(€ð 'Ð):Ñ:ð >Añ Að 	ð
˜-ð 
¨E°#¬Jð 
¸|ð 
ÐPSð 
ð 
ð 
ð 
ð%@˜ð %@¨sð %@¸=ð %@ÈTð %@ð %@ð %@ð %@ðPE˜.ð E°ð E¸Cð EÀCð Eð Eð Eð Eð2ð 2ð 2ð 2ð 2ð 2r&   