
    ho                         S SK JrJrJrJr  SSKJr  SSKJr   / SQr " S S\5      r " S S	\5      r\r " S
 S\5      r " S S\5      r " S S\5      r " S S\5      rS rSS jrg)    )print_functionabsolute_importdivisionunicode_literals   )	text_type)Anchor)ScalarStringLiteralScalarStringFoldedScalarStringSingleQuotedScalarStringDoubleQuotedScalarStringPlainScalarStringPreservedScalarStringc                   `    \ rS rSr\R
                  rS rS	S jr\	S 5       r
S
S jrS
S jrSrg)r
      c                     UR                  SS 5      n[        R                  " U /UQ70 UD6nUb  UR                  USS9  U$ )NanchorT)always_dump)popr   __new__yaml_set_anchor)clsargskwr   ret_vals        X/home/james-whalen/.local/lib/python3.13/site-packages/srsly/ruamel_yaml/scalarstring.pyr   ScalarString.__new__   sJ    $'##C5$5"5##F#=    c                 N    [        U 5      " [        R                  " XX#5      5      $ N)typer   replace)selfoldnew
maxreplaces       r   r#   ScalarString.replace#   s    Dz9,,THJJr   c                     [        U [        R                  5      (       d#  [        U [        R                  [        5       5        [	        U [        R                  5      $ r!   )hasattrr	   attribsetattrgetattr)r$   s    r   r   ScalarString.anchor'   s8     tV]]++D&--2tV]]++r   c                     [        U [        R                  5      (       d  g U(       d  U R                  R                  (       a  U R                  $ g r!   )r*   r	   r+   r   r   )r$   anys     r   yaml_anchorScalarString.yaml_anchor.   s2    tV]]++$++));;r   c                 D    XR                   l        X R                   l        g r!   )r   valuer   )r$   r4   r   s      r   r   ScalarString.yaml_set_anchor6   s    !"-r    N))F)__name__
__module____qualname____firstlineno__r	   r+   	__slots__r   r#   propertyr   r1   r   __static_attributes__r6   r   r   r
   r
      s4    IK , ,.r   r
   c                   &    \ rS rSrSrSrSS jrSrg)r   <   comment|Nc                 *    [         R                  XUS9$ N)r   r
   r   r   r4   r   s      r   r   LiteralScalarString.__new__A       ##Cv#>>r   r6   r!   r8   r9   r:   r;   r<   styler   r>   r6   r   r   r   r   <   s    IE?r   r   c                   &    \ rS rSrSrSrSS jrSrg)r   I   )fold_posrA   >Nc                 *    [         R                  XUS9$ rD   rE   rF   s      r   r   FoldedScalarString.__new__N   rH   r   r6   r!   rI   r6   r   r   r   r   I   s    'IE?r   r   c                   &    \ rS rSrSrSrSS jrSrg)r   S   r6   'Nc                 *    [         R                  XUS9$ rD   rE   rF   s      r   r    SingleQuotedScalarString.__new__X   rH   r   r!   rI   r6   r   r   r   r   S       IE?r   r   c                   &    \ rS rSrSrSrSS jrSrg)r   ]   r6   "Nc                 *    [         R                  XUS9$ rD   rE   rF   s      r   r    DoubleQuotedScalarString.__new__b   rH   r   r!   rI   r6   r   r   r   r   ]   rV   r   r   c                   &    \ rS rSrSrSrSS jrSrg)r   g   r6    Nc                 *    [         R                  XUS9$ rD   rE   rF   s      r   r   PlainScalarString.__new__l   rH   r   r!   rI   r6   r   r   r   r   g   s    IE?r   r   c                 X    [        U R                  SS5      R                  SS5      5      $ )Nz

)r   r#   )ss    r   preserve_literalre   q   s%    qyy6>>tTJKKr   Nc                    SSK Jn  SSK JnJn  Uc  S[        0n[        X5      (       aH  U  HA  nX   n[        Xb5      (       a  U H  nXv;   d  M
  X   " U5      X'     M2     M6  [        U5        MC     g[        X5      (       aO  [        U 5       H?  u  p[        X5      (       a  U H  nXy;   d  M
  X   " U	5      X'     M0     M4  [        U	5        MA     gg)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 = .compat.ordereddict
        map['
'] = preserve_literal
        map[':'] = SingleQuotedScalarString
        walk_tree(data, map=map)
    r   )string_types)MutableMappingMutableSequenceNrb   )compatrg   rh   ri   re   
isinstance	walk_tree	enumerate)
basemaprg   rh   ri   kvchidxelems
             r   rl   rl   v   s     %7
{%&$''AA!**Bw"%'!* 
 !  
D	*	*"4IC$--Bz$'GDM	 
 $ ) 
+r   r!   )
__future__r   r   r   r   rj   r   r   r	   typingTextAnyDictList__all__r
   r   r   r   r   r   r   re   rl   r6   r   r   <module>r|      sz    S R  
!.9 !.H?, ? , ? ??| ??| ?? ?L
& r   