
    .Ph-                       d dl mZ d dlmZ 	 ddl
mZ dZ G d d	          Z G d
 de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d  d!e          Z G d" d#e          Z G d$ d%e          Z G d& d'e          Z G d( d)e          Z G d* d+e          Z G d, d-e          Z G d. d/e          Z  G d0 d1e          Z! G d2 d3e          Z"d4S )5    )annotations)nprintfF)TextAnyDictOptionalList   )
StreamMarkTc                      e Zd ZdZddZd d	Zed!d            Zej        d"d            Zd#dZ	d$dZ
d#dZd%dZd#dZed d            Zd&d'dZd dZd&d'dZdS )(Token)
start_markend_mark_commentr   r   r   returnNonec                "    || _         || _        d S N)r   r   )selfr   r   s      R/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/ruamel/yaml/tokens.py__init__zToken.__init__   s    $     r   c                    d  j         D             }|                                  fd|D             }t          r8	 |                    dt	           j        j                  z              n#  Y nxY w	 |                    dt	           j                  z              n#  Y nxY w j        j	         dd
                    |           dS )Nc                <    g | ]}|                     d           |S )_mark)endswith).0keys     r   
<listcomp>z"Token.__repr__.<locals>.<listcomp>   s)    QQQc3<<;P;PQcQQQr   c                :    g | ]}|d t          |          S )=getattr)r   r   r   s     r   r   z"Token.__repr__.<locals>.<listcomp>   s1    MMM366c 2 266MMMr   zline: z	comment: (z, ))	__slots__sort
SHOW_LINESappendstrr   liner   	__class____name__join)r   
attributes	argumentss   `  r   __repr__zToken.__repr__   s     RQT^QQQ
 NMMM*MMM	 	  C0D,E,E!EFFFF	[3t}+=+==>>>>	D.)CCDIIi,@,@CCCCs   /A- -A15*B   B$intc                    | j         j        S r   r   columnr   s    r   r5   zToken.column(   s    %%r   posc                    || j         _        d S r   r4   )r   r7   s     r   r5   zToken.column,   s    !$r   commentc                ~    t          | d          s
d d g| _        nt          | j                  dv sJ || j        d<   d S )Nr   )      r   hasattrr   lenr   r9   s     r   add_post_commentzToken.add_post_comment;   sP    tZ(( 	0!4LDMMt}%%//// #ar   commentsc                    t          | d          s
d d g| _        nt          | j                  dk    sJ | j        d         J || j        d<   d S )Nr   r;   r
   r=   )r   rB   s     r   add_pre_commentszToken.add_pre_commentsF   s`    tZ(( 	+!4LDMMt}%%****}Q'''#ar   c                    t          | d          sg d d g| _        n1t          | j                  dk    sJ | j        d         
g | j        d<   | j        d                             |           d S )Nr      r   r>   r   r?   r)   r@   s     r   add_comment_prezToken.add_comment_preP   sy    tZ(( 	&t,DMMt}%%****}Q'#%a a(((((r   comment_typec                ^   t          | d          s
g d| _        n)t          | j                  dk    sJ | j        d         J | j        d         
g | j        d<   | j        d                             d g|dz   t          | j        d                   z
  z             || j        d         |<   d S )Nr   NNNrF   r
   )r>   r   r?   r9   extend)r   r9   rI   s      r   add_comment_eolzToken.add_comment_eolY   s    tZ(( 	,...DMMt}%%****=#+++<?"!DM!a,*:Sa=Q=Q*Q RSSS)0a&&&r   c                    t          | d          sd d g g| _        n1t          | j                  dk    sJ | j        d         
g | j        d<   | j        d                             |           d S )Nr   rF   r;   rG   r@   s     r   add_comment_postzToken.add_comment_poste   sy    tZ(( 	&!4,DMMt}%%****}Q'#%a a(((((r   c                $    t          | dd           S )Nr   r"   r6   s    r   r9   zToken.commentq   s    tZ...r   Ftargetemptyboolc                8   | j         }|dS t          |t          t          f          rdS t	          | d           |j         }|s$|r|d         |d         dd|d         g}||_        | S |d         r|d         s|d         ru|d         rmt          |d         t                    r=t          |d         t                    r"|d                             |d                    nt          d|d|          |d         r|d         |d<   |d         r|d         |d<   | S )move a comment from this token to target (normally next token)
        used to combine e.g. comments before a BlockEntryToken to the
        ScalarToken that follows it
        empty is a special for empty values -> comment after key
        Nr   r   r
   overlap in comment  )	r9   
isinstanceStreamEndTokenDocumentStartTokendelattrr   listrL   NotImplementedError)r   rQ   rR   ctcs        r   move_old_commentzToken.move_old_commentu   sR    L9Ff~/ABCC 	Fj!!!^ 	 3qT1Q4tQqT2FOKQ4 	NBqE 	NQqT 	Nbe 	N!A$%% N*RUD*A*A N!BqE"""")*L*L*Lb*L*LMMMQ4 	aDBqEQ4 	aDBqEr   c                p    | j         }||d         dS |d         dg}|d         t          | d           |S )z split the post part of a comment, and return it
        as comment to be added. Delete second part if [None, None]
         abc:  # this goes to sequence
           # this goes to first element
           - first element
        Nr   r
   r   )r9   r[   )r   r9   ret_vals      r   split_old_commentzToken.split_old_comment   sK     ,?gaj041:t$1:D*%%%r   c                   | j         }|dS t          |t          t          f          rdS t	          | d           |j         }|s"|r|d         |d         |d         g}||_        | S t          d          D ]'}||         ||         t          d|d|          (t          d          D ]}||         r||         ||<   | S )	rU   Nr   r   r
   r;   rF   rV   rW   )r9   rX   rY   rZ   r[   r   ranger]   )r   rQ   rR   r^   r_   idxs         r   move_new_commentzToken.move_new_comment   s     L9Ff~/ABCC 	Fj!!!^ 	 'qT1Q41&FOK88 	N 	NCv!bg&9)*L*L*Lb*L*LMMM88 	! 	!Cv !C&3r   N)r   r   r   r   r   r   r   r   )r   r2   )r7   r   r   r   )r9   r   r   r   )rB   r   r   r   )r9   r   rI   r   r   r   )F)rQ   r   rR   rS   r   r   )r-   
__module____qualname__r&   r   r1   propertyr5   setterrA   rD   rH   rM   rO   r9   r`   rc   rg    r   r   r   r      sR       4I! ! ! !D D D D( & & & X& ]% % % ]%# # # #   ) ) ) )
1 
1 
1 
1) ) ) ) / / / X/    @         r   r   c                      e Zd ZdZdZdd
ZdS )DirectiveToken)namevaluez<directive>rp   r   rq   r   r   r   r   c                Z    t                               | ||           || _        || _        d S r   )r   r   rp   rq   )r   rp   rq   r   r   s        r   r   zDirectiveToken.__init__   s*    tZ222	


r   N)
rp   r   rq   r   r   r   r   r   r   r   r-   ri   rj   r&   idr   rm   r   r   ro   ro      s2        I	B     r   ro   c                      e Zd ZdZdZdS )rZ   rm   z<document start>Nr-   ri   rj   r&   rt   rm   r   r   rZ   rZ      s        I	BBBr   rZ   c                      e Zd ZdZdZdS )DocumentEndTokenrm   z<document end>Nrv   rm   r   r   rx   rx      s        I	BBBr   rx   c                  "    e Zd ZdZdZ	 ddd
ZdS )StreamStartToken)encodingz<stream start>Nr   r   r   r{   r   r   c                L    t                               | ||           || _        d S r   )r   r   r{   )r   r   r   r{   s       r   r   zStreamStartToken.__init__   s%     	tZ222 r   rK   )r   r   r   r   r{   r   r   r   rs   rm   r   r   rz   rz      s>        I	B MQ! ! ! ! ! ! !r   rz   c                      e Zd ZdZdZdS )rY   rm   z<stream end>Nrv   rm   r   r   rY   rY      s        I	BBBr   rY   c                      e Zd ZdZdZdS )BlockSequenceStartTokenrm   z<block sequence start>Nrv   rm   r   r   r   r      s        I	!BBBr   r   c                      e Zd ZdZdZdS )BlockMappingStartTokenrm   z<block mapping start>Nrv   rm   r   r   r   r      s        I	 BBBr   r   c                      e Zd ZdZdZdS )BlockEndTokenrm   z<block end>Nrv   rm   r   r   r   r      s        I	BBBr   r   c                      e Zd ZdZdZdS )FlowSequenceStartTokenrm   [Nrv   rm   r   r   r   r              I	BBBr   r   c                      e Zd ZdZdZdS )FlowMappingStartTokenrm   {Nrv   rm   r   r   r   r      r   r   r   c                      e Zd ZdZdZdS )FlowSequenceEndTokenrm   ]Nrv   rm   r   r   r   r     r   r   r   c                      e Zd ZdZdZdS )FlowMappingEndTokenrm   }Nrv   rm   r   r   r   r   
  r   r   r   c                      e Zd ZdZdZdS )KeyTokenrm   ?Nrv   rm   r   r   r   r     r   r   r   c                      e Zd ZdZdZdS )
ValueTokenrm   :Nrv   rm   r   r   r   r     r   r   r   c                      e Zd ZdZdZdS )BlockEntryTokenrm   -Nrv   rm   r   r   r   r     r   r   r   c                      e Zd ZdZdZdS )FlowEntryTokenrm   ,Nrv   rm   r   r   r   r   !  r   r   r   c                      e Zd ZdZdZdd	Zd
S )
AliasTokenrq   z<alias>rq   r   r   r   r   r   c                L    t                               | ||           || _        d S r   r   r   rq   r   rq   r   r   s       r   r   zAliasToken.__init__*  #    tZ222


r   Nrq   r   r   r   r   r   r   r   rs   rm   r   r   r   r   &  s2        I	B     r   r   c                      e Zd ZdZdZdd	Zd
S )AnchorTokenr   z<anchor>rq   r   r   r   r   r   c                L    t                               | ||           || _        d S r   r   r   s       r   r   zAnchorToken.__init__3  r   r   Nr   rs   rm   r   r   r   r   /  s2        I	B     r   r   c                      e Zd ZdZdZdd	Zd
S )TagTokenr   z<tag>rq   r   r   r   r   r   c                L    t                               | ||           || _        d S r   r   r   s       r   r   zTagToken.__init__<  r   r   Nr   rs   rm   r   r   r   r   8  s2        I	B     r   r   c                  "    e Zd ZdZdZ	 dddZdS )ScalarToken)rq   plainstylez<scalar>Nrq   r   r   r   r   r   r   r   c                h    t                               | ||           || _        || _        || _        d S r   )r   r   rq   r   r   )r   rq   r   r   r   r   s         r   r   zScalarToken.__init__E  s3     	tZ222




r   r   )rq   r   r   r   r   r   r   r   r   r   r   r   rs   rm   r   r   r   r   A  s>        )I	B TX      r   r   c                  |    e Zd ZdZdZ	 dddZedd            Zej        dd            ZddZ	ddZ
ddZddZdS )CommentToken)_value_columnpre_donez	<comment>Nrq   r   r   r   r5   r   r   c                f    ||J || _         t                              | |d            || _        d S r   )r   r   r   r   )r   rq   r   r   r5   s        r   r   zCommentToken.__init__R  s>     %%%!DLtZ...r   r*   c                x    t          | j        t                    r| j        S d                    | j                  S )N )rX   r   r*   r.   r6   s    r   rq   zCommentToken.value[  s2    dk3'' 	;wwt{###r   valc                    || _         d S r   )r   )r   r   s     r   rq   zCommentToken.valuea  s    r   c                J    t          | d          rt          | d           d S d S )Nr   )r>   r[   r6   s    r   resetzCommentToken.resete  s4    4$$ 	&D*%%%%%	& 	&r   c                    | j         }t          rP	 |dt          | j        j                  z   z  }n#  Y nxY w	 |dt          | j        j                  z   z  }n#  Y nxY wd| dS )Nz, line: z, col: zCommentToken(r%   )rq   r(   r*   r   r+   r5   )r   vs     r   r1   zCommentToken.__repr__i  s    z 	Z#do&:";";;;YT_%;!<!<<<#q####s   1 5A AotherrS   c                r    | j         |j         k    rdS | j        |j        k    rdS | j        |j        k    rdS dS )NFT)r   r   rq   r   r   s     r   __eq__zCommentToken.__eq__v  sD    ?e...5=EN**5:$$5tr   c                .    |                      |           S r   )r   r   s     r   __ne__zCommentToken.__ne__  s    ;;u%%%%r   rK   )
rq   r   r   r   r   r   r5   r   r   r   )r   r*   )r   r   r   r   )r   r   rh   )r   r   r   rS   )r-   ri   rj   r&   rt   r   rk   rq   rl   r   r1   r   r   rm   r   r   r   r   N  s        /I	B W[     $ $ $ X$
 \   \& & & &$ $ $ $   & & & & & &r   r   N)#
__future__r   ruamel.yaml.compatr   typingr   r   r   r   r	   errorr   r(   r   ro   rZ   rx   rz   rY   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rm   r   r   <module>r      s   " " " " " " & & & & & &7      
t t t t t t t tv    U          
    u   
! ! ! ! !u ! ! !    U   
" " " " "e " " "
! ! ! ! !U ! ! !
    E   
    U   
    E   
    5   
    %   
    u          
    e   
    U   
           %       u   
 
 
 
 
% 
 
 
2& 2& 2& 2& 2&5 2& 2& 2& 2& 2&r   