o
    ûÞhE  ã                   @   sF   d dgZ ddlmZ ddlT ddlT G dd„ deƒZG dd „ d ƒZdS )Ú
SerializerÚSerializerErroré   )Ú	YAMLError)Ú*c                   @   s   e Zd ZdS )r   N)Ú__name__Ú
__module__Ú__qualname__© r	   r	   úO/var/www/html/premium_crap/venv/lib/python3.10/site-packages/yaml/serializer.pyr      s    c                   @   sN   e Zd ZdZ		ddd„Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Z	dd„ Z
dS )r   zid%03dNc                 C   s:   || _ || _|| _|| _|| _i | _i | _d| _d | _d S )Né    )	Úuse_encodingÚuse_explicit_startÚuse_explicit_endÚuse_versionÚuse_tagsÚserialized_nodesÚanchorsÚlast_anchor_idÚclosed)ÚselfÚencodingÚexplicit_startÚexplicit_endÚversionÚtagsr	   r	   r
   Ú__init__   s   
zSerializer.__init__c                 C   s<   | j d u r|  t| jd�¡ d| _ d S | j rtdƒ‚tdƒ‚)N)r   Fúserializer is closedzserializer is already opened)r   ÚemitÚStreamStartEventr   r   ©r   r	   r	   r
   Úopen   s   

zSerializer.openc                 C   s2   | j d u r	tdƒ‚| j s|  tƒ ¡ d| _ d S d S )Núserializer is not openedT)r   r   r   ÚStreamEndEventr   r	   r	   r
   Úclose$   s   

þzSerializer.closec                 C   sz   | j d u r	tdƒ‚| j rtdƒ‚|  t| j| j| jd�¡ |  |¡ |  |d d ¡ |  t	| j
d�¡ i | _i | _d| _d S )Nr!   r   )Úexplicitr   r   )r$   r   )r   r   r   ÚDocumentStartEventr   r   r   Úanchor_nodeÚserialize_nodeÚDocumentEndEventr   r   r   r   ©r   Únoder	   r	   r
   Ú	serialize.   s   

ÿ

zSerializer.serializec                 C   s”   || j v r| j | d u r|  |¡| j |< d S d S d | j |< t|tƒr/|jD ]}|  |¡ q%d S t|tƒrF|jD ]\}}|  |¡ |  |¡ q7d S d S )N)r   Úgenerate_anchorÚ
isinstanceÚSequenceNodeÚvaluer&   ÚMappingNode)r   r*   ÚitemÚkeyr/   r	   r	   r
   r&   <   s   
ÿ


ÿ

ýzSerializer.anchor_nodec                 C   s   |  j d7  _ | j| j  S )Nr   )r   ÚANCHOR_TEMPLATEr)   r	   r	   r
   r,   J   s   zSerializer.generate_anchorc              	   C   s†  | j | }|| jv r|  t|ƒ¡ d S d| j|< |  ||¡ t|tƒrM|  t|jd¡}|  t|jd¡}|j	|k|j	|kf}|  t
||j	||j|jd�¡ npt|tƒr„|j	|  t|jd¡k}|  t||j	||jd�¡ d}|jD ]}|  |||¡ |d7 }qo|  tƒ ¡ n9t|tƒr½|j	|  t|jd¡k}|  t||j	||jd�¡ |jD ]\}	}
|  |	|d ¡ |  |
||	¡ q¤|  tƒ ¡ |  ¡  d S )NT)TF)FT)Ústyle)Ú
flow_styler   r   )r   r   r   Ú
AliasEventÚdescend_resolverr-   Ú
ScalarNodeÚresolver/   ÚtagÚScalarEventr4   r.   ÚSequenceStartEventr5   r'   ÚSequenceEndEventr0   ÚMappingStartEventÚMappingEndEventÚascend_resolver)r   r*   ÚparentÚindexÚaliasÚdetected_tagÚdefault_tagÚimplicitr1   r2   r/   r	   r	   r
   r'   N   sH   




ÿ
ÿÿ


ÿÿzSerializer.serialize_node)NNNNN)r   r   r   r3   r   r    r#   r+   r&   r,   r'   r	   r	   r	   r
   r      s    
ÿ	
N)Ú__all__Úerrorr   ÚeventsÚnodesr   r   r	   r	   r	   r
   Ú<module>   s   