
    =OOf                        d dl mZ d dlZd dlmZmZ d dlmZmZ d dl	m
Z
mZmZmZmZmZmZmZ d dlmZmZmZ 	 ddgZ G d	 de      Z G d
 d      Zy)    )annotationsN)MarkedYAMLErrorReusedAnchorWarning)nprintnprintf)StreamStartEventStreamEndEventMappingStartEventMappingEndEventSequenceStartEventSequenceEndEvent
AliasEventScalarEvent)MappingNode
ScalarNodeSequenceNodeComposerComposerErrorc                      e Zd Zy)r   N)__name__
__module____qualname__     U/var/www/premiumrankchecker/venv/lib/python3.12/site-packages/ruamel/yaml/composer.pyr   r      s    r   c                      e Zd ZdddZedd       Zedd       ZddZddZddZ	ddZ
dd	Zdd
ZddZddZddZddZy)r   Nc                    || _         | j                   (t        | j                   dd       | | j                   _        i | _        d| _        y )N	_composerT)loadergetattrr   anchorswarn_double_anchors)selfr   s     r   __init__zComposer.__init__    s@    ;;"wt{{K'N'V$(DKK!')#' r   c                    t        | j                  d      r| j                  j                   | j                  j                  S Ntyp)hasattrr   parser_parserr#   s    r   r)   zComposer.parser'   s-    4;;&KK{{"""r   c                    t        | j                  d      r| j                  j                   | j                  j                  S r&   )r(   r   resolver	_resolverr+   s    r   r-   zComposer.resolver-   s/     4;;&KK  {{$$$r   c                    | j                   j                  t              r| j                   j                          | j                   j                  t               S N)r)   check_eventr   	get_eventr	   r+   s    r   
check_nodezComposer.check_node4   s?    ;;""#34KK!!# ;;**>:::r   c                b    | j                   j                  t              s| j                         S y r0   )r)   r1   r	   compose_documentr+   s    r   get_nodezComposer.get_node<   s(    {{&&~6((** 7r   c                   | j                   j                          d }| j                   j                  t              s| j	                         }| j                   j                  t              s<| j                   j                         }t        d|j                  d|j                        | j                   j                          |S )Nz(expected a single document in the streamzbut found another document)r)   r2   r1   r	   r5   r   
start_mark)r#   documentevents      r   get_single_nodezComposer.get_single_nodeA   s     {{&&~6,,.H {{&&~6KK))+E:##,  	  	r   c                    | j                   j                          | j                  d d       }| j                   j                          i | _        |S r0   )r)   r2   compose_noder!   )r#   nodes     r   r5   zComposer.compose_documentY   sD       t, 	r   c                    |S r0   r   )r#   as     r   return_aliaszComposer.return_aliasf   s    r   c                   | j                   j                  t              rm| j                   j                         }|j                  }|| j
                  vrt        d d d||j                        | j                  | j
                  |         S | j                   j                         }|j                  }|b| j                  rV|| j
                  v rHd|d| j
                  |   j                   d|j                   }t        j                  |t        d       | j                  j                  ||       | j                   j                  t               r| j#                  |      }na| j                   j                  t$              r| j'                  |      }n0| j                   j                  t(              r| j+                  |      }| j                  j-                          S )Nzfound undefined alias z
found duplicate anchor z
first occurrence z
second occurrence    )
stacklevel)r)   r1   r   r2   anchorr!   r   r8   rA   
peek_eventr"   warningswarnr   r-   descend_resolverr   compose_scalar_noder   compose_sequence_noder
   compose_mapping_nodeascend_resolver)r#   parentindexr:   aliasrE   wsr>   s           r   r=   zComposer.compose_nodei   s   ;;"":.KK))+ELLEDLL(#$"8	 BEDTDT  $$T\\%%899&&(''Fdll,B/z :((,V(<(G(G'H I)).)9)9(:< 
 b"5!D&&vu5;;"";/++F3D[[$$%78--f5D[[$$%67,,V4D%%'r   c           	        | j                   j                         }|j                  }|t        |      dk(  rG| j                  j                  t        |j                  |j                        }t        |t              rJ t        ||j                  |j                  |j                  |j                  |j                  |      }||| j                  |<   |S )N!)stylecommentrE   )r)   r2   ctagstrr-   resolver   valueimplicit
isinstancer8   end_markrT   rU   r!   )r#   rE   r:   tagr>   s        r   rJ   zComposer.compose_scalar_node   s    %%'jj;#c(c/--''
EKKPC!#s+++KKNN++MM
 #'DLL r   c           	     l   | j                   j                         }|j                  }|t        |      dk(  r=| j                  j                  t        d |j                        }t        |t              rJ t        |g |j                  d |j                  |j                  |      }||| j                  |<   d}| j                   j                  t              sP|j                  j!                  | j#                  ||             |dz  }| j                   j                  t              sP| j                   j                         }|j                  du rC|j                  7|j                  |j                  }t%        d|        |j                  |_        |j&                  |_        | j)                  ||       |S )NrS   
flow_stylerU   rE   r      Tz8Warning: unexpected end_event commment in sequence node )r)   r2   rV   rW   r-   rX   r   rZ   r[   r8   r`   rU   r!   r1   r   rY   appendr=   r   r\   check_end_doc_comment)r#   rE   start_eventr]   r>   rO   	end_eventxs           r   rK   zComposer.compose_sequence_node   sy   kk++-;#c(c/--''dK<P<PQC!#s+++"""--''
 #'DLL ++))*:;JJd//e<=QJE ++))*:; KK))+	??d"y'8'8'D||'OONqcR %,,DL!**""9d3r   c           	     >   | j                   j                         }|j                  }|t        |      dk(  r=| j                  j                  t        d |j                        }t        |t              rJ t        |g |j                  d |j                  |j                  |      }||| j                  |<   | j                   j                  t              sa| j                  |d       }| j                  ||      }|j                   j#                  ||f       | j                   j                  t              sa| j                   j                         }|j                  du r|j                  |j                  |_        |j$                  |_        | j'                  ||       |S )NrS   r_   T)r)   r2   rV   rW   r-   rX   r   rZ   r[   r8   r`   rU   r!   r1   r   r=   rY   rb   r\   rc   )r#   rE   rd   r]   r>   item_key
item_valuere   s           r   rL   zComposer.compose_mapping_node   s`   kk++-;#c(c/--''T;;O;OPC!#s+++"""--''
 #'DLL ++))/:((t4H
 **4:JJJx45 ++))/: KK))+	??d"y'8'8'D$,,DL!**""9d3r   c                    |j                   ro|j                   d   r_|j                   	d d g|_         t        |t              rJ |j                   j                  |j                   d          d |j                   d<   y y y )Nra   )rU   r[   r   rb   )r#   re   r>   s      r   rc   zComposer.check_end_doc_comment   st    !2!21!5||# $d|!$444 LL	 1 1! 45#'Ia  "6r   r0   )r   AnyreturnNone)rl   rk   )r#   rk   rl   rk   )r@   rk   rl   rk   )rN   rk   rO   rk   rl   rk   )rE   rk   rl   rk   )re   rk   r>   rk   rl   rm   )r   r   r   r$   propertyr)   r-   r3   r6   r;   r5   rA   r=   rJ   rK   rL   rc   r   r   r   r   r      sc    ( # #
 % %;+
0:(B D	(r   )
__future__r   rG   ruamel.yaml.errorr   r   ruamel.yaml.compatr   r   ruamel.yaml.eventsr   r	   r
   r   r   r   r   r   ruamel.yaml.nodesr   r   r   typingrk   DictOptionalList__all__r   r   r   r   r   <module>ry      sP    "  B .	 	 	 D C 
'	O 	G( G(r   