o
    ûÞhŠ  ã                   @   sL   d dgZ ddlmZmZ ddlZddlZG dd„ deƒZG dd „ d eƒZdS )ÚReaderÚReaderErroré   )Ú	YAMLErrorÚMarké    Nc                   @   s   e Zd Zdd„ Zdd„ ZdS )r   c                 C   s"   || _ || _|| _|| _|| _d S ©N)ÚnameÚ	characterÚpositionÚencodingÚreason)Úselfr   r
   r	   r   r   © r   úK/var/www/html/premium_crap/venv/lib/python3.10/site-packages/yaml/reader.pyÚ__init__   s
   
zReaderError.__init__c                 C   sD   t | jtƒrd| jt| jƒ| j| j| jf S d| j| j| j| jf S )Nz>'%s' codec can't decode byte #x%02x: %s
  in "%s", position %dz8unacceptable character #x%04x: %s
  in "%s", position %d)Ú
isinstancer	   Úbytesr   Úordr   r   r
   ©r   r   r   r   Ú__str__!   s   ÿþÿþzReaderError.__str__N)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r      s    c                   @   sf   e Zd Zdd„ Zddd„Zddd„Zdd	d
„Zdd„ Zdd„ Ze	 
d¡Zdd„ Zdd„ Zddd„ZdS )r   c                 C   s¾   d | _ d | _d| _d| _d| _d| _d | _d | _d | _d| _	d| _
d| _t|tƒr8d| _ |  |¡ |d | _d S t|tƒrId| _ || _|  ¡  d S || _t|ddƒ| _ d	| _d | _|  ¡  d S )
Nr   TÚ z<unicode string>ú z<byte string>r   z<file>F)r   ÚstreamÚstream_pointerÚeofÚbufferÚpointerÚ
raw_bufferÚ
raw_decoder   ÚindexÚlineÚcolumnr   ÚstrÚcheck_printabler   Údetermine_encodingÚgetattr)r   r   r   r   r   r   ;   s2   


zReader.__init__r   c                 C   sD   z	| j | j|  W S  ty!   |  |d ¡ | j | j|   Y S w )Nr   )r   r   Ú
IndexErrorÚupdate)r   r"   r   r   r   ÚpeekW   s   þzReader.peekr   c                 C   s4   | j | t| jƒkr|  |¡ | j| j | j | … S r   )r   Úlenr   r*   )r   Úlengthr   r   r   Úprefix^   s   
zReader.prefixc                 C   s²   | j | d t| jƒkr|  |d ¡ |rW| j| j  }|  j d7  _ |  jd7  _|dv s9|dkrD| j| j  dkrD|  jd7  _d| _n|dkrO|  jd7  _|d8 }|sd S d S )Nr   u	   
Â…â€¨â€©úÚ
r   u   ï»¿)r   r,   r   r*   r"   r#   r$   )r   r-   Úchr   r   r   Úforwardc   s   özReader.forwardc                 C   sB   | j d u rt| j| j| j| j| j| jƒS t| j| j| j| jd d ƒS r   )r   r   r   r"   r#   r$   r   r   r   r   r   r   Úget_markr   s   
ÿÿzReader.get_markc                 C   s¨   | j s"| jd u st| jƒdk r"|  ¡  | j s"| jd u st| jƒdk st| jtƒrM| j tj¡r7tj	| _
d| _n| j tj¡rFtj| _
d| _ntj| _
d| _|  d¡ d S )Né   z	utf-16-lez	utf-16-bezutf-8r   )r   r    r,   Ú
update_rawr   r   Ú
startswithÚcodecsÚBOM_UTF16_LEÚutf_16_le_decoder!   r   ÚBOM_UTF16_BEÚutf_16_be_decodeÚutf_8_decoder*   r   r   r   r   r'   z   s   ÿzReader.determine_encodingu!   [^	
 -~Â…Â -íŸ¿î€€-ï¿½ð�€€-ô�¿¿]c                 C   sP   | j  |¡}|r&| ¡ }| jt| jƒ| j  | ¡  }t| j	|t
|ƒddƒ‚d S )NÚunicodez"special characters are not allowed)ÚNON_PRINTABLEÚsearchÚgroupr"   r,   r   r   Ústartr   r   r   )r   ÚdataÚmatchr	   r
   r   r   r   r&   Š   s   ÿýzReader.check_printablec              
   C   s4  | j d u rd S | j| jd … | _d| _t| jƒ|k r˜| js!|  ¡  | jd urez|  | j d| j¡\}}W n8 tyd } z%| j |j }| j	d urR| j
t| j ƒ |j }n|j}t| j|||j|jƒ‚d }~ww | j }t|ƒ}|  |¡ |  j|7  _| j |d … | _ | jr�|  jd7  _d | _ d S t| jƒ|k sd S d S )Nr   Ústrictr   )r    r   r   r,   r   r5   r!   ÚUnicodeDecodeErrorrA   r   r   r   r   r   r   r&   )r   r-   rB   Ú	convertedÚexcr	   r
   r   r   r   r*   ’   s@   

ÿ

ÿ€ú	
èzReader.updateé   c                 C   sP   | j  |¡}| jd u r|| _n|  j|7  _|  jt|ƒ7  _|s&d| _d S d S )NT)r   Úreadr    r   r,   r   )r   ÚsizerB   r   r   r   r5   ±   s   

ÿzReader.update_rawN)r   )r   )rH   )r   r   r   r   r+   r.   r2   r3   r'   ÚreÚcompiler>   r&   r*   r5   r   r   r   r   r   -   s    



)	Ú__all__Úerrorr   r   r7   rK   r   Úobjectr   r   r   r   r   Ú<module>   s
   