o
    wÖiº  ã                   @  sL   d dl mZ 	 	 G dd„ dƒZ	dddd„ZG dd„ dƒZG dd„ dƒZ	dS )é    )ÚannotationsF)ÚOptionalÚTupleÚAnyc                   @  sd   e Zd Zddd„Zeddd	„ƒZedd
d„ƒZddd„Zddd„Zddd„Z	ddd„Z
ddd„ZdS )ÚVersionÚmajorÚintÚminorÚreturnÚNonec                 C  ó   || _ || _d S ©N©Ú_majorÚ_minor)Úselfr   r	   © r   úP/home/ubuntu/sommelier/.venv/lib/python3.10/site-packages/ruamel/yaml/docinfo.pyÚ__init__   ó   
zVersion.__init__c                 C  ó   | j S r   )r   ©r   r   r   r   r       ó   zVersion.majorc                 C  r   r   )r   r   r   r   r   r	   $   r   zVersion.minorÚvr   Úboolc                 C  s&   t |tƒsdS | j|jko| j|jkS )NF)Ú
isinstancer   r   r   ©r   r   r   r   r   Ú__eq__(   s   
zVersion.__eq__c                 C  s,   | j |j k rdS | j |j krdS | j|jk S ©NTFr   r   r   r   r   Ú__lt__-   ó
   zVersion.__lt__c                 C  s,   | j |j k rdS | j |j krdS | j|jkS r   r   r   r   r   r   Ú__le__4   r    zVersion.__le__c                 C  s,   | j |j krdS | j |j k rdS | j|jkS r   r   r   r   r   r   Ú__gt__;   r    zVersion.__gt__c                 C  s,   | j |j krdS | j |j k rdS | j|jkS r   r   r   r   r   r   Ú__ge__B   r    zVersion.__ge__N)r   r   r	   r   r
   r   )r
   r   )r   r   r
   r   )r   r   r
   r   )Ú__name__Ú
__module__Ú__qualname__r   Úpropertyr   r	   r   r   r!   r"   r#   r   r   r   r   r      s    




r   Nr   ú"int | str | Tuple[int, int] | Noner	   úOptional[int]r
   úOptional[Version]c                 C  s¦   | d u r|d u s
J ‚d S t | tƒr1|d u sJ ‚|  d¡}t|ƒdks$J ‚tt|d ƒt|d ƒƒS t | tƒrH|d u s<J ‚t| ƒdksDJ ‚| \} }|d usNJ ‚t| |ƒS )NÚ.é   r   é   )r   ÚstrÚsplitÚlenr   r   Útuple)r   r	   Úpartsr   r   r   ÚversionJ   s   



r3   c                   @  s2   e Zd Zddd„Zeddd	„ƒZedd
d„ƒZdS )ÚTagÚhandler.   Úprefixr
   r   c                 C  r   r   )Ú_handleÚ_prefix)r   r5   r6   r   r   r   r   b   r   zTag.__init__c                 C  r   r   )r7   r   r   r   r   r5   f   r   z
Tag.handlec                 C  r   r   )r8   r   r   r   r   r6   j   r   z
Tag.prefixN)r5   r.   r6   r.   r
   r   )r
   r.   )r$   r%   r&   r   r'   r5   r6   r   r   r   r   r4   _   s    
r4   c                   @  s"   e Zd ZdZ			d
ddd	„ZdS )ÚDocInfozã
    Store document information, can be used for analysis of a loaded YAML document
    requested_version: if explicitly set before load
    doc_version: from %YAML directive
    tags: from %TAG directives in scanned order
    NÚrequested_versionr*   Údoc_versionÚtagsúOptional[list[Tag]]c                 C  s(   || _ || _|d u rg | _d S || _d S r   )r:   r;   r<   )r   r:   r;   r<   r   r   r   r   z   s   zDocInfo.__init__)NNN)r:   r*   r;   r*   r<   r=   )r$   r%   r&   Ú__doc__r   r   r   r   r   r9   p   s    ür9   r   )r   r(   r	   r)   r
   r*   )
Ú
__future__r   Útypingr   r   r   r   r3   r4   r9   r   r   r   r   Ú<module>   s   3þ