
    =OOf                         d dl mZ d dlmZ d dlmZmZmZmZ d dl	m
Z
 d dlmZmZ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#ddZ$y)    )annotations)	YAMLError)nprintDBG_NODEdbgnprintf)RegExp)
StreamStartEventStreamEndEventMappingStartEventMappingEndEventSequenceStartEventSequenceEndEvent
AliasEventScalarEventDocumentStartEventDocumentEndEvent)MappingNode
ScalarNodeSequenceNode
SerializerSerializerErrorc                      e Zd Zy)r   N)__name__
__module____qualname__     W/var/www/premiumrankchecker/venv/lib/python3.12/site-packages/ruamel/yaml/serializer.pyr   r      s    r   c                      e Zd ZdZ e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y)r   zid{:03d}zid(?!000$)\d{3,}Nc                T   || _         | j                   | | j                   _        || _        || _        || _        t        |t              r.t        t        t        |j                  d                  | _        n|| _        || _        i | _        i | _        d| _        d | _        d | _        y )N.r   )dumper_serializeruse_encodinguse_explicit_startuse_explicit_end
isinstancestrtuplemapintsplituse_versionuse_tagsserialized_nodesanchorslast_anchor_idclosed_templated_id)selfencodingexplicit_startexplicit_endversiontagsr#   s          r   __init__zSerializer.__init__'   s     ;;"&*DKK#$"0 ,gs#$SgmmC.@%ABD&D02')&*!r   c                    t        | j                  d      r| j                  j                  S | j                  j                  S Ntyp)hasattrr#   emitter_emitterr5   s    r   r@   zSerializer.emitterB   s0    4;;&;;&&&{{###r   c                    t        | j                  d      r| j                  j                   | j                  j                  S r=   )r?   r#   resolver	_resolverrB   s    r   rD   zSerializer.resolverH   s-    4;;&KK  {{$$$r   c                    | j                   7| j                  j                  t        | j                               d| _         y | j                   rt        d      t        d      )N)r6   Fserializer is closedzserializer is already opened)r3   r@   emitr
   r%   r   rB   s    r   openzSerializer.openN   sP    ;;LL.8I8IJKDK[[!"899!"@AAr   c                    | j                   t        d      | j                   s+| j                  j                  t	                      d| _         y y )Nserializer is not openedT)r3   r   r@   rH   r   rB   s    r   closezSerializer.closeW   s@    ;;!"<==LLn./DK r   c                   t        t              rt        d       |j                          | j                  t        d      | j                  rt        d      | j                  j                  t        | j                  | j                  | j                               | j                  |       | j                  |d d        | j                  j                  t        | j                               i | _        i | _        d| _        y )NzSerializing nodesrK   rG   )explicitr9   r:   )rN   r   )r   r   r   dumpr3   r   r@   rH   r   r&   r.   r/   anchor_nodeserialize_noder   r'   r0   r1   r2   )r5   nodes     r   	serializezSerializer.serializea   s    x=&'IIK;;!"<==[[!"89900$:J:JQUQ^Q^	

 	D$-*D4I4IJK "r   c                   || j                   v r/| j                   |   | j                  |      | j                   |<   y y d }	 |j                  j                  r|j                  j                  }|| j                   |<   t        |t              r#|j                  D ]  }| j                  |        y t        |t              r7|j                  D ]'  \  }}| j                  |       | j                  |       ) y y #  Y xY wN)	r1   generate_anchoranchoralways_dumpvaluer(   r   rP   r   )r5   rR   rW   itemkeyrY   s         r   rP   zSerializer.anchor_nodeu   s    4<<||D!)%)%9%9$%?T" * F;;**![[..F "(DLL$- JJ +D$$T*+D+."&** ,JC$$S)$$U+, /s   ,C7 7C;c                    	 |j                   j                  }|:| xj                  dz  c_        | j                  j	                  | j                        S |S #  d }Y DxY w)N   )rW   rY   r2   ANCHOR_TEMPLATEformat)r5   rR   rW   s      r   rV   zSerializer.generate_anchor   s\    	[[&&F >1$''..t/B/BCC	Fs   A Ac                   | j                   |   }|| j                  v r;t        |dd       }|dk7  rd }| j                  j	                  t        ||             y d| j                  |<   | j                  j                  ||       t        |t              r| j                  j                  t        |j                  d      }| j                  j                  t        |j                  d      }|j                  |k(  |j                  |k(  |j                  j                  d      f}| j                  j	                  t        ||j                  ||j                  |j                   |j"                               n`t        |t$              r|j                  | j                  j                  t$        |j                  d      k(  }|j"                  }	d }
d }|j&                  du r|	r|	d	   }|	rt)        |	      d
kD  r|	d
   }
nd }
| j                  j	                  t+        ||j                  ||j&                  |j"                               d	}|j                  D ]  }| j-                  |||       |dz  } | j                  j	                  t/        ||
g             n?t        |t0              r.|j                  | j                  j                  t0        |j                  d      k(  }|j"                  }	d }
d }|j&                  du r|	r|	d	   }|	rt)        |	      d
kD  r|	d
   }
| j                  j	                  t3        ||j                  ||j&                  |j"                  t)        |j                                     |j                  D ]+  \  }}| j-                  ||d        | j-                  |||       - | j                  j	                  t5        ||
g             | j                  j7                          y )Nstyle?)ra   T)TF)FTztag:yaml.org,2002:)ra   commentr      )
flow_stylerc   r]   )rc   )re   rc   nr_items)r1   r0   getattrr@   rH   r   rD   descend_resolverr(   r   resolverY   ctagtag
startswithr   ra   rc   r   re   lenr   rQ   r   r   r   r   ascend_resolver)r5   rR   parentindexalias
node_styledetected_tagdefault_tagimplicitrc   end_commentseq_commentrZ   map_commentr[   rY   s                   r   rQ   zSerializer.serialize_node   sI   T"4((( w5JS !
LLjjAB*.D!!$'MM**659$
+  $}}44Z]["mm33J

MZYY,.YY+-HH''(<=
 !!		 

"jj $	 D,/99(=(=lDJJX\(]],,""??d*&-ajs7|a/")!*K"&K!!&		 #'?? $  JJ D''dE:QJE !!"2K;U"VWD+.99(=(=k4::W[(\\,,""??d*&-ajs7|a/")!*K!!%		 #'?? $!$TZZ	 #'** :JC''T48''tS9: !!/;:T"UVMM))+r   )NNNNNN)r6   Anyr7   Optional[bool]r8   rz   r9   zOptional[VersionType]r:   ry   r#   ry   returnNone)r{   ry   )r{   r|   )rR   ry   r{   r|   )rR   ry   r{   ry   )rR   ry   ro   ry   rp   ry   r{   r|   )r   r   r   r^   r	   	ANCHOR_REr;   propertyr@   rD   rI   rL   rS   rP   rV   rQ   r   r   r   r   r   !   s     !O*+I )-'+)-"" '" %	"
 '" " " 
"6 $ $
 % %
B (,(R,r   c                @    t         j                  j                  |       S rU   )r   r}   match)ss    r   templated_idr      s    %%a((r   N)r   Textr{   ry   )%
__future__r   ruamel.yaml.errorr   ruamel.yaml.compatr   r   r   r   ruamel.yaml.utilr	   ruamel.yaml.eventsr
   r   r   r   r   r   r   r   r   r   ruamel.yaml.nodesr   r   r   typingry   DictUnionr   OptionalVersionType__all__r   r   r   r   r   r   <module>r      sZ    " ' = = #   D C *
+	i 	D, D,N)r   