§
    qŠtjí  ã                  ó’   — d dl mZ d dlmZmZ d dlZd dlmZm	Z	 d dl
Z
dd„Z ej        d	¬
¦  «         G d„ d¦  «        ¦   «         ZdS )é    )Úannotations)ÚCallableÚMutableMappingN)ÚAnyÚLiteralÚvaluer   Úreturnc                óV   — | si S t          | t          ¦  «        rt          | ¦  «        S | S )zŠConvert Token.attrs set as ``None`` or ``[[key, value], ...]`` to a dict.

    This improves compatibility with upstream markdown-it.
    )Ú
isinstanceÚlistÚdict)r   s    úO/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/markdown_it/token.pyÚconvert_attrsr   	   s4   € ð
 ð Øˆ	Ý�%�ÑÔð Ý�E‰{Œ{ÐØ€Ló    T)Úslotsc                  ó~  — e Zd ZU ded<   	 ded<   	 ded<   	  ej        e¬¦  «        Zded<   	 d	Zd
ed<   	 dZ	ded<   	 d	Z
ded<   	 dZded<   	 dZded<   	 dZded<   	  ej        e¬¦  «        Zded<   	 dZded<   	 dZded<   	 d;d„Zd<d„Zd=d!„Zd>d$„Zd?d'„Zd@d)„ZdAd*„ZdBd-„Zd.d.d	d	ed/œdCd8„ZedDd:„¦   «         Zd	S )EÚTokenÚstrÚtypeÚtagzLiteral[-1, 0, 1]Únesting)Údefault_factoryzdict[str, str | int | float]ÚattrsNzlist[int] | NoneÚmapr   ÚintÚlevelzlist[Token] | NoneÚchildrenÚ ÚcontentÚmarkupÚinfozdict[Any, Any]ÚmetaFÚboolÚblockÚhiddenr	   ÚNonec                ó8   — t          | j        ¦  «        | _        d S ©N)r   r   ©Úselfs    r   Ú__post_init__zToken.__post_init__M   s   € Ý" 4¤:Ñ.Ô.ˆŒ
ˆ
ˆ
r   Únamec                ó¾   — t          j        dt          ¦  «         || j        vrdS t	          | j                             ¦   «         ¦  «                             |¦  «        S )NzEToken.attrIndex should not be used, since Token.attrs is a dictionaryéÿÿÿÿ)ÚwarningsÚwarnÚUserWarningr   r   ÚkeysÚindex©r*   r,   s     r   Ú	attrIndexzToken.attrIndexP   sX   € ÝŒØSÝñ	
ô 	
ð 	
ð �t”zÐ!Ð!Ø�2Ý�D”J—O’OÑ%Ô%Ñ&Ô&×,Ò,¨TÑ2Ô2Ð2r   ú#list[tuple[str, str | int | float]]c                óN   — t          | j                             ¦   «         ¦  «        S )zGet (key, value) list of attrs.)r   r   Úitemsr)   s    r   Ú	attrItemszToken.attrItemsY   s   € å�D”J×$Ò$Ñ&Ô&Ñ'Ô'Ð'r   ÚattrDataútuple[str, str | int | float]c                ó<   — |\  }}|                       ||¦  «         dS )zAAdd `[ name, value ]` attribute to list. Init attrs if necessary.N)ÚattrSet)r*   r:   r,   r   s       r   ÚattrPushzToken.attrPush]   s%   € à‰ˆˆeØ�Š�T˜5Ñ!Ô!Ð!Ð!Ð!r   r   ústr | int | floatc                ó   — || j         |<   dS )z>Set `name` attribute to `value`. Override old value if exists.N)r   )r*   r,   r   s      r   r=   zToken.attrSetb   s   € à ˆŒ
�4ÑÐÐr   úNone | str | int | floatc                ó8   — | j                              |d¦  «        S )z@Get the value of attribute `name`, or null if it does not exist.N)r   Úgetr4   s     r   ÚattrGetzToken.attrGetf   s   € àŒz�~Š~˜d DÑ)Ô)Ð)r   c                óÌ   — || j         v rP| j         |         }t          |t          ¦  «        st          d| j         |         › �¦  «        ‚|› d|› �| j         |<   dS || j         |<   dS )z‘Join value to existing attribute via space.
        Or create new attribute if not exists.
        Useful to operate with token classes.
        z#existing attr 'name' is not a str: ú N)r   r   r   Ú	TypeError)r*   r,   r   Úcurrents       r   ÚattrJoinzToken.attrJoinj   s‡   € ð
 �4”:ÐÐØ”j Ô&ˆGÝ˜g¥sÑ+Ô+ð ÝØL¸$¼*ÀTÔ:JÐLÐLñô ð ð #*Ð3Ð3¨EÐ3Ð3ˆDŒJ�tÑÐÐà$ˆDŒJ�tÑÐÐr   Úchangesr   c                ó&   — t          j        | fi |¤ŽS )z&Return a shallow copy of the instance.)ÚdcÚreplace)r*   rJ   s     r   Úcopyz
Token.copyy   s   € åŒz˜$Ð*Ð* 'Ð*Ð*Ð*r   T)r   Úas_upstreamÚmeta_serializerÚfilterÚdict_factoryrO   rP   ú&Callable[[dict[Any, Any]], Any] | NonerQ   ú!Callable[[str, Any], bool] | NonerR   ú'Callable[..., MutableMapping[str, Any]]úMutableMapping[str, Any]c               óÂ  ‡ ‡‡‡‡‡—  ‰ˆ fd„t          j        ‰ ¦  «        D ¦   «         ¦  «        }‰r) ‰ˆfd„|                     ¦   «         D ¦   «         ¦  «        }‰r5d|v r1|d         sdn#d„ |d                              ¦   «         D ¦   «         |d<   ‰rd|v r ‰|d         ¦  «        |d<   ‰r1|                     dd¦  «        rˆˆˆˆˆfd„|d         D ¦   «         |d<   |S )	aê  Return the token as a dictionary.

        :param children: Also convert children to dicts
        :param as_upstream: Ensure the output dictionary is equal to that created by markdown-it
            For example, attrs are converted to null or lists
        :param meta_serializer: hook for serializing ``Token.meta``
        :param filter: A callable whose return code determines whether an
            attribute or element is included (``True``) or dropped (``False``).
            Is called with the (key, value) pair.
        :param dict_factory: A callable to produce dictionaries from.
            For example, to produce ordered dictionaries instead of normal Python
            dictionaries, pass in ``collections.OrderedDict``.

        c              3  óP   •K  — | ] }|j         t          ‰|j         ¦  «        fV — Œ!d S r(   )r,   Úgetattr)Ú.0Úfr*   s     €r   ú	<genexpr>z Token.as_dict.<locals>.<genexpr>”   s6   øè è € ÐXÐXÀ1 ¤­°°a´fÑ(=Ô(=Ð>ÐXÐXÐXÐXÐXÐXr   c              3  ó>   •K  — | ]\  }} ‰||¦  «        ¯||fV — Œd S r(   © )rZ   ÚkÚvrQ   s      €r   r\   z Token.as_dict.<locals>.<genexpr>–   s<   øè è € Ð"VÐ"V©d¨a°ÈÈÐPQÐSTÉÌÐ"V A q 6Ð"VÐ"VÐ"VÐ"VÐ"VÐ"Vr   r   Nc                ó   — g | ]	\  }}||g‘Œ
S r^   r^   )rZ   r_   r`   s      r   ú
<listcomp>z!Token.as_dict.<locals>.<listcomp>›   s    € ÐBÐBÐB¡  A�q˜!�fÐBÐBÐBr   r"   r   c           	     óD   •— g | ]}|                      ‰‰‰‰‰¬ ¦  «        ‘ŒS ))r   rQ   rR   rO   rP   )Úas_dict)rZ   ÚchildrO   r   rR   rQ   rP   s     €€€€€r   rb   z!Token.as_dict.<locals>.<listcomp>    sM   ø€ ð 	#ð 	#ð 	#ð ð —’Ø%Ø!Ø!-Ø +Ø$3ð ñ ô ð	#ð 	#ð 	#r   )rL   Úfieldsr8   rC   )r*   r   rO   rP   rQ   rR   Úmappings   `````` r   rd   zToken.as_dict}   sU  øøøøøø€ ð. �,ÐXÐXÐXÐXÍÌ	ÐRVÉÌÐXÑXÔXÑXÔXˆØð 	WØ"�lÐ"VÐ"VÐ"VÐ"V°g·m²m±o´oÐ"VÑ"VÔ"VÑVÔVˆGØð 	˜7 gÐ-Ð-ð ˜wÔ'ðC��àBÐB¨°Ô)9×)?Ò)?Ñ)AÔ)AÐBÑBÔBð �GÑð
 ð 	?˜v¨Ð0Ð0Ø-˜o¨g°f¬oÑ>Ô>ˆG�F‰OØð 
	˜Ÿš J°Ñ5Ô5ð 
	ð	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð % ZÔ0ð	#ñ 	#ô 	#ˆG�JÑð ˆr   Údctc                óV   ‡ —  ‰ di |¤Ž}|j         rˆ fd„|j         D ¦   «         |_         |S )zConvert a dict to a Token.c                ó:   •— g | ]}‰                      |¦  «        ‘ŒS r^   )Ú	from_dict)rZ   ÚcÚclss     €r   rb   z#Token.from_dict.<locals>.<listcomp>±   s%   ø€ ÐGÐGÐG°1˜cŸmšm¨AÑ.Ô.ÐGÐGÐGr   r^   )r   )rm   rh   Útokens   `  r   rk   zToken.from_dict¬   sC   ø€ ð ��
�
�c�
�
ˆØŒ>ð 	HØGÐGÐGÐG¸¼ÐGÑGÔGˆEŒNØˆr   )r	   r&   )r,   r   r	   r   )r	   r6   )r:   r;   r	   r&   )r,   r   r   r?   r	   r&   )r,   r   r	   rA   )r,   r   r   r   r	   r&   )rJ   r   r	   r   )r   r#   rO   r#   rP   rS   rQ   rT   rR   rU   r	   rV   )rh   rV   r	   r   )Ú__name__Ú
__module__Ú__qualname__Ú__annotations__rL   Úfieldr   r   r   r   r   r   r    r!   r"   r$   r%   r+   r5   r9   r>   r=   rD   rI   rN   rd   Úclassmethodrk   r^   r   r   r   r      s  € € € € € € à€I€I�IØ;à€H€H�HØ!àÐÐÑðð +3¨"¬(À4Ð*HÑ*HÔ*H€EÐHÐHÐHÑHðð
 !€CÐ Ð Ð Ñ Ø=à€E€N€N€N�NØ2à#'€HÐ'Ð'Ð'Ñ'Ø7à€GÐÐÐÑØUà€FÐÐÐÑØ?à€D€N€N€N�Nðð $˜2œ8°DÐ9Ñ9Ô9€DÐ9Ð9Ð9Ñ9Ø9à€EÐÐÐÑðð €FÐÐÐÑðð/ð /ð /ð /ð3ð 3ð 3ð 3ð(ð (ð (ð (ð"ð "ð "ð "ð
!ð !ð !ð !ð*ð *ð *ð *ð%ð %ð %ð %ð+ð +ð +ð +ð Ø ØBFØ48Ø@Dð-ð -ð -ð -ð -ð -ð^ ðð ð ñ „[ðð ð r   r   )r   r   r	   r   )Ú
__future__r   Úcollections.abcr   r   ÚdataclassesrL   Útypingr   r   r/   r   Ú	dataclassr   r^   r   r   ú<module>rz      sÈ   ðØ "Ð "Ð "Ð "Ð "Ð "à 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø Ð Ð Ð Ø Ð Ð Ð Ð Ð Ð Ð Ø €€€ð	ð 	ð 	ð 	ð €„�DÐÑÔð\ð \ð \ð \ð \ñ \ô \ñ Ôð\ð \ð \r   