
    .Ph7                        d dl mZ d dlmZ 	 g dZ G d de          Z G d	 d
e          ZeZ G d de          Z G d de          Z G d de          Z G d de          ZddZdddZdS )     )annotations)AnchorF)TextAnyDictList)SupportsIndex)ScalarStringLiteralScalarStringFoldedScalarStringSingleQuotedScalarStringDoubleQuotedScalarStringPlainScalarStringPreservedScalarStringc                  Z    e Zd Zej        ZddZdddZedd            Z	dddZ
dddZdS )r
   argsr   kwreturnc                    |                     dd           }t          j        | g|R i |}||                    |d           |S )NanchorT)always_dump)popstr__new__yaml_set_anchor)clsr   r   r   ret_vals        X/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/ruamel/yaml/scalarstring.pyr   zScalarString.__new__   sX    $''+c/D///B//##F#===    oldnew
maxreplacer	   c                h     t          |           t                              | |||                    S N)typer   replace)selfr!   r"   r#   s       r   r'   zScalarString.replace!   s*    tDzz3;;tS#zBBDDDr   c                    t          | t          j                  s't          | t          j        t                                 t	          | t          j                  S r%   )hasattrr   attribsetattrgetattr)r(   s    r   r   zScalarString.anchor$   s@    tV]++ 	3D&-222tV]+++r   Fanyboolc                h    t          | t          j                  sd S |s| j        j        r| j        S d S r%   )r*   r   r+   r   r   )r(   r.   s     r   yaml_anchorzScalarString.yaml_anchor*   s<    tV]++ 	4 	$+) 	;tr   valuer   Nonec                6    || j         _        || j         _        d S r%   )r   r2   r   )r(   r2   r   s      r   r   zScalarString.yaml_set_anchor1   s    !"-r   N)r   r   r   r   r   r   )r    )r!   r   r"   r   r#   r	   r   r   )r   r   )F)r.   r/   r   r   )r2   r   r   r/   r   r3   )__name__
__module____qualname__r   r+   	__slots__r   r'   propertyr   r1   r    r   r   r
   r
      s        I   E E E E E , , , X,
    . . . . . . .r   r
   c                       e Zd ZdZdZd
dd	ZdS )r   comment|Nr2   r   r   r   r   c                <    t                               | ||          S N)r   r
   r   r   r2   r   s      r   r   zLiteralScalarString.__new__;       ##Cv#>>>r   r%   r2   r   r   r   r   r   r5   r6   r7   r8   styler   r:   r   r   r   r   6   s7        IE? ? ? ? ? ? ?r   r   c                       e Zd ZdZdZd
dd	ZdS )r   )fold_posr<   >Nr2   r   r   r   r   c                <    t                               | ||          S r?   r@   rA   s      r   r   zFoldedScalarString.__new__G   rB   r   r%   rC   rD   r:   r   r   r   r   B   s7        'IE? ? ? ? ? ? ?r   r   c                       e Zd ZdZdZd
dd	ZdS )r   r:   'Nr2   r   r   r   r   c                <    t                               | ||          S r?   r@   rA   s      r   r   z SingleQuotedScalarString.__new__P   rB   r   r%   rC   rD   r:   r   r   r   r   K   7        IE? ? ? ? ? ? ?r   r   c                       e Zd ZdZdZd
dd	ZdS )r   r:   "Nr2   r   r   r   r   c                <    t                               | ||          S r?   r@   rA   s      r   r   z DoubleQuotedScalarString.__new__Y   rB   r   r%   rC   rD   r:   r   r   r   r   T   rM   r   r   c                       e Zd ZdZdZd
dd	ZdS )r   r:    Nr2   r   r   r   r   c                <    t                               | ||          S r?   r@   rA   s      r   r   zPlainScalarString.__new__b   rB   r   r%   rC   rD   r:   r   r   r   r   ]   s7        IE? ? ? ? ? ? ?r   r   sr   r   c                p    t          |                     dd                              dd                    S )Nz

)r   r'   )rT   s    r   preserve_literalrX   f   s.    qyy66>>tTJJKKKr   Nbaser   mapr3   c                   ddl m}m} |	dt          i}t	          | |          rU| D ]P}| |         }t	          |t
                    r |D ]}||v r ||         |          | |<    n?t          ||           QdS t	          | |          r[t          |           D ]M\  }}t	          |t
                    r |D ]}||v r ||         |          | |<    n:t          ||           LdS dS )a  
    the routine here walks over a simple yaml tree (recursing in
    dict values and list items) and converts strings that
    have multiple lines to literal scalars

    You can also provide an explicit (ordered) mapping for multiple transforms
    (first of which is executed):
        map = ruamel.yaml.compat.ordereddict
        map['
'] = preserve_literal
        map[':'] = SingleQuotedScalarString
        walk_tree(data, map=map)
    r   )MutableMappingMutableSequenceNrV   )rZ   )collections.abcr\   r]   rX   
isinstancer   	walk_tree	enumerate)	rY   rZ   r\   r]   kvchidxelems	            r   r`   r`   j   sf    @???????
{%&$'' ) 	& 	&A1gA!S!! &  BQww")#b'!**Q  !%%%%%	& 	& 
D/	*	* )"4 	) 	)IC$$$ )  BTzz$+CGDMMS	 " $C((((() )	) 	)r   )rT   r   r   r   r%   )rY   r   rZ   r   r   r3   )
__future__r   ruamel.yaml.anchorr   typingr   r   r   r   ruamel.yaml.compatr	   __all__r   r
   r   r   r   r   r   r   rX   r`   r:   r   r   <module>rl      s~   " " " " " " % % % % % %1
 
 
. . . . .3 . . .>? ? ? ? ?, ? ? ? , ? ? ? ? ? ? ? ?? ? ? ? ?| ? ? ?? ? ? ? ?| ? ? ?? ? ? ? ? ? ? ?L L L L$) $) $) $) $) $) $)r   