
    =OOf7                        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y)    )annotations)Anchor)ScalarStringLiteralScalarStringFoldedScalarStringSingleQuotedScalarStringDoubleQuotedScalarStringPlainScalarStringPreservedScalarStringc                  \    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y)r   c                    |j                  dd       }t        j                  | g|i |}||j                  |d       |S )NanchorT)always_dump)popstr__new__yaml_set_anchor)clsargskwr   ret_vals        Y/var/www/premiumrankchecker/venv/lib/python3.12/site-packages/ruamel/yaml/scalarstring.pyr   zScalarString.__new__   sH    $'++c/D/B/##F#=    c                P     t        |       t        j                  | |||            S N)typer   replace)selfoldnew
maxreplaces       r   r   zScalarString.replace!   s"    tDz3;;tS#zB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$   s3    tV]]+D&--2tV]]++r   c                    t        | t        j                        sy |s| j                  j                  r| j                  S y r   )r#   r   r$   r   r   )r   anys     r   yaml_anchorzScalarString.yaml_anchor*   s/    tV]]+$++));;r   c                H    || j                   _        || j                   _        y r   )r   valuer   )r   r+   r   s      r   r   zScalarString.yaml_set_anchor1   s    !"-r   N)r   Anyr   r,   returnr,   ))r   r,   r    r,   r!   SupportsIndexr-   r,   )r-   r,   )F)r(   boolr-   r,   )r+   r,   r   r0   r-   None)__name__
__module____qualname__r   r$   	__slots__r   r   propertyr   r)   r    r   r   r   r      s4    IE , ,
.r   r   c                      e Zd ZdZdZdddZy)r   comment|Nc                2    t         j                  | ||      S N)r   r   r   r   r+   r   s      r   r   zLiteralScalarString.__new__;       ##Cv#>>r   r   r+   Textr   r,   r-   r,   r2   r3   r4   r5   styler   r7   r   r   r   r   6   s    IE?r   r   c                      e Zd ZdZdZdddZy)r   )fold_posr9   >Nc                2    t         j                  | ||      S r<   r=   r>   s      r   r   zFoldedScalarString.__new__G   r?   r   r   r@   rB   r7   r   r   r   r   B   s    'IE?r   r   c                      e Zd ZdZdZdddZy)r   r7   'Nc                2    t         j                  | ||      S r<   r=   r>   s      r   r   z SingleQuotedScalarString.__new__P   r?   r   r   r@   rB   r7   r   r   r   r   K       IE?r   r   c                      e Zd ZdZdZdddZy)r	   r7   "Nc                2    t         j                  | ||      S r<   r=   r>   s      r   r   z DoubleQuotedScalarString.__new__Y   r?   r   r   r@   rB   r7   r   r   r	   r	   T   rK   r   r	   c                      e Zd ZdZdZdddZy)r
   r7    Nc                2    t         j                  | ||      S r<   r=   r>   s      r   r   zPlainScalarString.__new__b   r?   r   r   r@   rB   r7   r   r   r
   r
   ]   s    IE?r   r
   c                X    t        | j                  dd      j                  dd            S )Nz

)r   r   )ss    r   preserve_literalrV   f   s%    qyy6>>tTJKKr   Nc                ~   ddl m}m} |dt        i}t	        | |      rF| D ]@  }| |   }t	        |t
              r|D ]  }||v s ||   |      | |<    2 4t        ||       B yt	        | |      rMt        |       D ]>  \  }}t	        |t
              r|D ]  }||v s ||   |      | |<    0 2t        ||       @ yy)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MutableSequenceNrS   )map)collections.abcrX   rY   rV   
isinstancer   	walk_tree	enumerate)	baserZ   rX   rY   kvchidxelems	            r   r]   r]   j   s     @
{%&$' 	&A1gA!S! BQw")#b'!*Q
 !%	& 
D/	*"4 	)IC$$ BTz$+CGDMS	
 $C(	) 
+r   )rU   rA   r-   rA   r   )r_   r,   rZ   r,   r-   r1   )
__future__r   ruamel.yaml.anchorr   typingrA   r,   DictListruamel.yaml.compatr/   __all__r   r   r   r   r   r   r	   r
   rV   r]   r7   r   r   <module>rl      sp    " %
.3 .>?, ? , ? ??| ??| ?? ?L$)r   