o
    5‘ðife  ã                
   @  sÌ  U d dl mZ d dlZd dlmZ ddlmZmZmZm	Z	m
Z
mZ dZer?d dlmZ d dlmZmZmZ dd	lmZmZmZ e ¡ Zd
ed< edd„ edƒD ƒƒeedƒƒB Zd
ed< eedƒ Zd
ed< eedƒ Zd
ed< eZ d
ed< eZ!d
ed< eZ"d
ed< edƒZ#d
ed< e#edƒB Z$d
ed< edƒZ%d
ed< e%edƒB Z&d
ed< ed ƒZ'd
ed!< ed"ddd#d$d%d&d'd(œƒZ(d
ed)< G d*d+„ d+ƒZ)G d,d-„ d-e*ƒZ+e,d.œd‡d5d6„Z-e,d.œdˆd9d:„Z.G d;d<„ d<ƒZ/G d=d>„ d>ƒZ0G d?d@„ d@ƒZ1d‰dFdG„Z2dŠdMdN„Z3d‹dOdP„Z4d‹dQdR„Z5dŒdUdV„Z6dŒdWdX„Z7d�d[d\„Z8dŽd`da„Z9d�dbdc„Z:d�dedf„Z;d�dgdh„Z<d‘djdk„Z=d’dmdn„Z>ddoœd“dqdr„Z?d�dsdt„Z@d”dvdw„ZAd�dxdy„ZBd•d{d|„ZCd“d}d~„ZDd–d€d�„ZEd—dƒd„„ZFd˜d…d†„ZGdS )™é    )ÚannotationsN)ÚMappingProxyTypeé   )ÚRE_DATETIMEÚRE_LOCALTIMEÚ	RE_NUMBERÚmatch_to_datetimeÚmatch_to_localtimeÚmatch_to_numberF)ÚIterable)ÚIOÚAnyÚFinal)ÚKeyÚ
ParseFloatÚPosr   ÚMAX_INLINE_NESTINGc                 c  s   � | ]}t |ƒV  qd S ©N)Úchr©Ú.0Úi© r   ú_/root/parts/websockify/install/lib/python3.10/site-packages/setuptools/_vendor/tomli/_parser.pyÚ	<genexpr>%   s   € r   é    é   Ú
ASCII_CTRLú	ÚILLEGAL_BASIC_STR_CHARSz	
Ú!ILLEGAL_MULTILINE_BASIC_STR_CHARSÚILLEGAL_LITERAL_STR_CHARSÚ#ILLEGAL_MULTILINE_LITERAL_STR_CHARSÚILLEGAL_COMMENT_CHARSz 	ÚTOML_WSÚ
ÚTOML_WS_AND_NEWLINEz@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_ÚBARE_KEY_CHARSz"'ÚKEY_INITIAL_CHARSÚabcdefABCDEF0123456789ÚHEXDIGIT_CHARSúúúúú"ú\)z\bz\tz\nz\fz\rz\ez\"z\\ÚBASIC_STR_ESCAPE_REPLACEMENTSc                   @  s   e Zd ZdZdS )ÚDEPRECATED_DEFAULTzjSentinel to be used as default arg during deprecation
    period of TOMLDecodeError's free-form arguments.N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r2   G   s    r2   c                   @  s"   e Zd ZdZeeefdd	d
„ZdS )ÚTOMLDecodeErrora:  An error raised if a document is not valid TOML.

    Adds the following attributes to ValueError:
    msg: The unformatted error message
    doc: The TOML document being parsed
    pos: The index of doc where parsing failed
    lineno: The line corresponding to pos
    colno: The column corresponding to pos
    Úmsgústr | type[DEPRECATED_DEFAULT]ÚdocÚposúPos | type[DEPRECATED_DEFAULT]Úargsr   c           
      G  s"  |st |tƒrt |tƒrt |tƒsFdd l}|jdtdd� |tur'|g|¢R }|tur1|g|¢R }|tur;|g|¢R }tj| g|¢R Ž  d S | 	dd|¡d }|dkrX|d }n	|| 
dd|¡ }|t|ƒkrjd}nd|› d	|› �}|› d
|› d�}	t | |	¡ || _|| _|| _|| _|| _d S )Nr   z{Free-form arguments for TOMLDecodeError are deprecated. Please set 'msg' (str), 'doc' (str) and 'pos' (int) arguments only.é   )Ú
stacklevelr%   r   zend of documentzline z	, column z (at ú))Ú
isinstanceÚstrÚintÚwarningsÚwarnÚDeprecationWarningr2   Ú
ValueErrorÚ__init__ÚcountÚrindexÚlenr8   r:   r;   ÚlinenoÚcolno)
Úselfr8   r:   r;   r=   rD   rL   rM   Ú
coord_reprÚerrmsgr   r   r   rH   W   sH   ÿþýüü

zTOMLDecodeError.__init__N)r8   r9   r:   r9   r;   r<   r=   r   )r3   r4   r5   r6   r2   rH   r   r   r   r   r7   L   s    ür7   ©Úparse_floatÚ__fpú	IO[bytes]rR   r   Úreturnúdict[str, Any]c                C  s:   |   ¡ }z| ¡ }W n ty   tdƒd‚w t||d�S )z%Parse TOML from a binary file object.zEFile must be opened in binary mode, e.g. use `open('foo.toml', 'rb')`NrQ   )ÚreadÚdecodeÚAttributeErrorÚ	TypeErrorÚloads)rS   rR   ÚbÚsr   r   r   Úload‰   s   ÿþÿr^   Ú__srB   c             	   C  s’  z|   dd¡}W n ttfy   tdt| ƒj› d�ƒd‚w d}tƒ }d}t|ƒ}	 t||tƒ}z|| }W n t	yB   Y |jjS w |dkrL|d	7 }q)|t
v r_t|||||ƒ}t||tƒ}nC|d
kr˜z||d	  }W n t	yv   d}Y nw |j ¡  |d
kr‰t|||ƒ\}}nt|||ƒ\}}t||tƒ}n
|dkr¢td||ƒ‚t||ƒ}z|| }W n t	y¹   Y |jjS w |dkrÄtd||ƒ‚|d	7 }q*)zParse TOML from a string.z
r%   zExpected str object, not 'ú'Nr   r   Tr   ú[ú#zInvalid statementz5Expected newline or end of document after a statement)ÚreplacerY   rZ   Útyper5   ÚOutputÚmake_safe_parse_floatÚ
skip_charsr$   Ú
IndexErrorr(   Úkey_value_ruleÚflagsÚfinalize_pendingÚcreate_list_ruleÚcreate_dict_ruler7   Úskip_commentÚdataÚdict)r_   rR   Úsrcr;   ÚoutÚheaderÚcharÚsecond_charr   r   r   r[   •   sj   ÿþÿ
#Üÿ

øÿÐr[   c                   @  sf   e Zd ZU dZdZded< dZded< 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 )!ÚFlagsz)Flags that map to parsed keys/namespaces.r   r   ÚFROZENr   ÚEXPLICIT_NESTrU   ÚNonec                 C  s   i | _ tƒ | _d S r   )Ú_flagsÚsetÚ_pending_flags©rN   r   r   r   rH   å   s   zFlags.__init__Úkeyr   ÚflagrC   c                 C  s   | j  ||f¡ d S r   )r|   Úadd©rN   r~   r   r   r   r   Úadd_pendingé   s   zFlags.add_pendingc                 C  s.   | j D ]\}}| j||dd� q| j  ¡  d S )NF©Ú	recursive)r|   r{   Úclearr�   r   r   r   rk   ì   s   zFlags.finalize_pendingc                 C  sF   | j }|d d… D ]}||vr d S || d }q	| |d d ¡ d S )NéÿÿÿÿÚnested)rz   Úpop)rN   r~   ÚcontÚkr   r   r   Ú	unset_allñ   s   zFlags.unset_allr„   Úboolc                C  sˆ   | j }|d d… |d }}|D ]}||vr tƒ tƒ i dœ||< || d }q||vr5tƒ tƒ i dœ||< || |r<dnd  |¡ d S )Nr†   )rj   Úrecursive_flagsr‡   r‡   r�   rj   )rz   r{   r€   )rN   r~   r   r„   r‰   Ú
key_parentÚkey_stemrŠ   r   r   r   r{   ù   s   z	Flags.setc                 C  s„   |sdS | j }|d d… D ]}||vr dS || }||d v r# dS |d }q|d }||v r@|| }||d v p?||d v S dS )NFr†   r�   Tr‡   rj   )rz   )rN   r~   r   r‰   rŠ   Ú
inner_contr�   r   r   r   Úis_  s   
z	Flags.is_N©rU   ry   )r~   r   r   rC   rU   ry   ©r~   r   rU   ry   )r~   r   r   rC   r„   rŒ   rU   ry   )r~   r   r   rC   rU   rŒ   )r3   r4   r5   r6   rw   Ú__annotations__rx   rH   r‚   rk   r‹   r{   r‘   r   r   r   r   rv   Ü   s   
 




rv   c                   @  s0   e Zd Zddd„Zddœddd„Zddd„ZdS )Ú
NestedDictrU   ry   c                 C  s
   i | _ d S r   )rp   r}   r   r   r   rH     s   
zNestedDict.__init__T©Úaccess_listsr~   r   r—   rŒ   rV   c                C  sT   | j }|D ]"}||vri ||< || }|rt|tƒr|d }t|t ƒs'tdƒ‚q|S )Nr†   z There is no nest behind this key)rp   rA   ÚlistÚKeyError)rN   r~   r—   r‰   rŠ   r   r   r   Úget_or_create_nest  s   
ÿzNestedDict.get_or_create_nestc                 C  sX   |   |d d… ¡}|d }||v r%|| }t|tƒstdƒ‚| i ¡ d S i g||< d S )Nr†   z/An object other than list found behind this key)rš   rA   r˜   r™   Úappend)rN   r~   r‰   Úlast_keyÚlist_r   r   r   Úappend_nest_to_list,  s   
zNestedDict.append_nest_to_listNr’   )r~   r   r—   rŒ   rU   rV   r“   )r3   r4   r5   rH   rš   rž   r   r   r   r   r•     s
    
ür•   c                   @  s   e Zd Zddd„ZdS )re   rU   ry   c                 C  s   t ƒ | _tƒ | _d S r   )r•   ro   rv   rj   r}   r   r   r   rH   9  s   zOutput.__init__Nr’   )r3   r4   r5   rH   r   r   r   r   re   8  s    re   rq   r;   r   ÚcharsúIterable[str]c                 C  sB   z| | |v r|d7 }| | |v sW |S W |S  t y    Y |S w )Nr   )rh   )rq   r;   rŸ   r   r   r   rg   >  s   ÿüþþrg   ÚexpectÚerror_onúfrozenset[str]Úerror_on_eofrŒ   c                C  s�   z|   ||¡}W n ty!   t| ƒ}|rtd|›�| |ƒd ‚Y nw | | ||… ¡sF| | |vr;|d7 }| | |vs1td| | ›�| |ƒ‚|S )Nz	Expected r   zFound invalid character )ÚindexrG   rK   r7   Ú
isdisjoint)rq   r;   r¡   r¢   r¤   Únew_posr   r   r   Ú
skip_untilG  s   ÿþÿr¨   c                 C  sF   z| | }W n t y   d }Y nw |dkr!t| |d dtdd�S |S )Nrb   r   r%   F©r¢   r¤   )rh   r¨   r#   )rq   r;   rt   r   r   r   rn   ]  s   ÿÿrn   c                 C  s*   	 |}t | |tƒ}t| |ƒ}||kr|S qr   )rg   r&   rn   )rq   r;   Úpos_before_skipr   r   r   Úskip_comments_and_array_wsi  s   
ûr«   rr   útuple[Pos, Key]c                 C  s¼   |d7 }t | |tƒ}t| |ƒ\}}|j |tj¡s!|j |tj¡r+td|› d�| |ƒ‚|jj	|tjdd� z|j
 |¡ W n tyK   td| |ƒd ‚w |  d|¡sXtd| |ƒ‚|d |fS )	Nr   zCannot declare z twiceFrƒ   úCannot overwrite a valueú]z.Expected ']' at the end of a table declaration)rg   r$   Ú	parse_keyrj   r‘   rv   rx   rw   r7   r{   ro   rš   r™   Ú
startswith©rq   r;   rr   r~   r   r   r   rm   r  s     ÿÿrm   c                 C  s¶   |d7 }t | |tƒ}t| |ƒ\}}|j |tj¡r"td|› �| |ƒ‚|j |¡ |jj	|tj
dd� z|j |¡ W n tyH   td| |ƒd ‚w |  d|¡sUtd| |ƒ‚|d |fS )Nr>   ú"Cannot mutate immutable namespace Frƒ   r­   z]]z0Expected ']]' at the end of an array declaration)rg   r$   r¯   rj   r‘   rv   rw   r7   r‹   r{   rx   ro   rž   r™   r°   r±   r   r   r   rl   †  s"   ÿÿrl   rs   r   c                   s$  t | ||dd�\}‰}ˆd d… ˆd }}ˆ | }‡ ‡fdd„tdtˆƒƒD ƒ}	|	D ]}
|j |
tj¡r>td|
› �| |ƒ‚|j |
tj¡ q+|j |tj	¡rXtd|› �| |ƒ‚z|j
 |¡}W n tyn   td	| |ƒd ‚w ||v rytd	| |ƒ‚t|ttfƒrŒ|jjˆ ˆ tj	d
d� |||< |S )Nr   )Únest_lvlr†   c                 3  s    � | ]}ˆ ˆd |…  V  qd S r   r   r   ©rs   r~   r   r   r   ¤  s   € z!key_value_rule.<locals>.<genexpr>r   zCannot redefine namespace r²   r­   Trƒ   )Úparse_key_value_pairÚrangerK   rj   r‘   rv   rx   r7   r‚   rw   ro   rš   r™   rA   rp   r˜   r{   )rq   r;   rr   rs   rR   ÚvaluerŽ   r�   Úabs_key_parentÚrelative_path_cont_keysÚcont_keyÚnestr   r´   r   ri   �  s.   ÿÿri   r³   rC   útuple[Pos, Key, Any]c                 C  sv   t | |ƒ\}}z| | }W n ty   d }Y nw |dkr#td| |ƒ‚|d7 }t| |tƒ}t| |||ƒ\}}|||fS )Nú=z,Expected '=' after a key in a key/value pairr   )r¯   rh   r7   rg   r$   Úparse_value)rq   r;   rR   r³   r~   rt   r·   r   r   r   rµ   ¿  s   ÿ
rµ   c                 C  s�   t | |ƒ\}}|f}t| |tƒ}	 z| | }W n ty"   d }Y nw |dkr+||fS |d7 }t| |tƒ}t | |ƒ\}}||f7 }t| |tƒ}q)NTÚ.r   )Úparse_key_partrg   r$   rh   )rq   r;   Úkey_partr~   rt   r   r   r   r¯   Ï  s"   ÿ
õr¯   útuple[Pos, str]c                 C  s|   z| | }W n t y   d }Y nw |tv r&|}t| |tƒ}|| ||… fS |dkr/t| |ƒS |dkr8t| |ƒS td| |ƒ‚)Nr`   r/   z(Invalid initial character for a key part)rh   r'   rg   Úparse_literal_strÚparse_one_line_basic_strr7   )rq   r;   rt   Ú	start_posr   r   r   rÀ   á  s   ÿ

rÀ   c                 C  s   |d7 }t | |dd�S )Nr   F©Ú	multiline)Úparse_basic_str©rq   r;   r   r   r   rÄ   ñ  s   rÄ   útuple[Pos, list[Any]]c                 C  sº   |d7 }g }t | |ƒ}|  d|¡r|d |fS 	 t| |||ƒ\}}| |¡ t | |ƒ}| ||d … }|dkr=|d |fS |dkrGtd| |ƒ‚|d7 }t | |ƒ}|  d|¡r\|d |fS q)Nr   r®   Tú,zUnclosed array)r«   r°   r¾   r›   r7   )rq   r;   rR   r³   ÚarrayÚvalÚcr   r   r   Úparse_arrayö  s&   



òrÏ   útuple[Pos, dict[str, Any]]c                 C  sh  |d7 }t ƒ }tƒ }t| |ƒ}|  d|¡r|d |jfS 	 t| |||ƒ\}}}|d d… |d }}	| |tj¡rBtd|› �| |ƒ‚z	|j	|dd�}
W n t
yY   td| |ƒd ‚w |	|
v rgtd	|	›�| |ƒ‚||
|	< t| |ƒ}| ||d … }|dkrƒ|d |jfS |d
kr�td| |ƒ‚|d7 }t| |ƒ}|  d|¡r£|d |jfS t|ttfƒr³|j|tjdd� q)Nr   Ú}Tr†   r²   Fr–   r­   zDuplicate inline table key rË   zUnclosed inline tablerƒ   )r•   rv   r«   r°   rp   rµ   r‘   rw   r7   rš   r™   rA   r˜   r{   )rq   r;   rR   r³   Únested_dictrj   r~   r·   rŽ   r�   r»   rÎ   r   r   r   Úparse_inline_table  s@   
ÿ

érÓ   rÆ   rÇ   c                C  sø   | ||d … }|d7 }|rH|dv rH|dkr>t | |tƒ}z| | }W n ty/   |df Y S w |dkr:td| |ƒ‚|d7 }t | |tƒ}|dfS |dkrRt| |dƒS |d	kr\t| |d
ƒS |dkrft| |dƒS z|t| fW S  ty{   td| |ƒd ‚w )Nr>   >   ú\	ú\ ú\
rÖ   Ú r%   zUnescaped '\' in a stringr   z\xz\ué   z\Ué   )rg   r$   rh   r7   r&   Úparse_hex_charr1   r™   )rq   r;   rÇ   Ú	escape_idrt   r   r   r   Úparse_basic_str_escape4  s4   ÿÿrÜ   c                 C  s   t | |dd�S )NTrÆ   )rÜ   rÉ   r   r   r   Ú parse_basic_str_escape_multilineS  s   rÝ   Úhex_lenc                 C  sd   | ||| … }t |ƒ|kst |¡std| |ƒ‚||7 }t|dƒ}t|ƒs,td| |ƒ‚|t|ƒfS )NzInvalid hex valueé   z/Escaped character is not a Unicode scalar value)rK   r*   Ú
issupersetr7   rC   Úis_unicode_scalar_valuer   )rq   r;   rÞ   Úhex_strÚhex_intr   r   r   rÚ   W  s   
ÿrÚ   c                 C  s2   |d7 }|}t | |dtdd�}|d | ||… fS )Nr   r`   Tr©   )r¨   r!   )rq   r;   rÅ   r   r   r   rÃ   d  s   
ÿrÃ   Úliteralc                C  s®   |d7 }|   d|¡r|d7 }|r&d}t| |dtdd�}| ||… }|d }nd}t| |dd	�\}}|   ||¡s;||fS |d7 }|   ||¡sK||| fS |d7 }|||d
  fS )Né   r%   r   r`   ú'''Tr©   r/   rÆ   r>   )r°   r¨   r"   rÈ   )rq   r;   rä   ÚdelimÚend_posÚresultr   r   r   Úparse_multiline_strm  s.   û
rê   c          	      C  sô   |rt }t}nt}t}d}|}	 z| | }W n ty$   td| |ƒd ‚w |dkrN|s7|d || ||…  fS |  d|¡rI|d || ||…  fS |d7 }q|dkrh|| ||… 7 }|| |ƒ\}}||7 }|}q||v rutd	|›�| |ƒ‚|d7 }q)
Nr×   TzUnterminated stringr/   r   ú"""rå   r0   zIllegal character )r    rÝ   r   rÜ   rh   r7   r°   )	rq   r;   rÇ   r¢   Úparse_escapesré   rÅ   rt   Úparsed_escaper   r   r   rÈ   Œ  s<   ÿìrÈ   útuple[Pos, Any]c              
   C  sö  |t krtdt › d�ƒ‚z| | }W n ty   d }Y nw |dkr4|  d|¡r/t| |dd�S t| |ƒS |dkrJ|  d|¡rEt| |d	d�S t| |ƒS |d
krZ|  d|¡rZ|d d	fS |dkrj|  d|¡rj|d dfS |dkrwt| |||d ƒS |dkr„t| |||d ƒS t	 
| |¡}|r¬zt|ƒ}W n ty¥ } ztd| |ƒ|‚d }~ww | ¡ |fS t 
| |¡}|r¼| ¡ t|ƒfS t 
| |¡}	|	rÍ|	 ¡ t|	|ƒfS | ||d … }
|
dv rá|d ||
ƒfS | ||d … }|dv rõ|d ||ƒfS td| |ƒ‚)Nz;TOML inline arrays/tables are nested more than the allowed z levelsr/   rë   F)rä   r`   ræ   TÚtÚtruerØ   ÚfÚfalseé   ra   r   Ú{zInvalid date or datetimerå   >   ÚinfÚnan>   ú+infú+nanú-infú-nanzInvalid value)r   ÚRecursionErrorrh   r°   rê   rÄ   rÃ   rÏ   rÓ   r   Úmatchr   rG   r7   Úendr   r	   r   r
   )rq   r;   rR   r³   rt   Údatetime_matchÚdatetime_objÚeÚlocaltime_matchÚnumber_matchÚfirst_threeÚ
first_fourr   r   r   r¾   ¬  sf   ÿÿÿ

€ÿr¾   Ú	codepointc                 C  s0   d|   ko	dkn  pd|   kodkS   S )Nr   iÿ×  i à  iÿÿ r   )r  r   r   r   rá   ø  s   0rá   c                   s   ˆ t u rt S d‡ fdd„}|S )	a%  A decorator to make `parse_float` safe.

    `parse_float` must not return dicts or lists, because these types
    would be mixed with parsed TOML tables and arrays, thus confusing
    the parser. The returned decorated callable raises `ValueError`
    instead of returning illegal types.
    Ú	float_strrB   rU   r   c                   s"   ˆ | ƒ}t |ttfƒrtdƒ‚|S )Nz*parse_float must not return dicts or lists)rA   rp   r˜   rG   )r  Úfloat_valuerQ   r   r   Úsafe_parse_float  s   z/make_safe_parse_float.<locals>.safe_parse_floatN)r  rB   rU   r   )Úfloat)rR   r  r   rQ   r   rf   ü  s   	rf   )rS   rT   rR   r   rU   rV   )r_   rB   rR   r   rU   rV   )rq   rB   r;   r   rŸ   r    rU   r   )rq   rB   r;   r   r¡   rB   r¢   r£   r¤   rŒ   rU   r   )rq   rB   r;   r   rU   r   )rq   rB   r;   r   rr   re   rU   r¬   )rq   rB   r;   r   rr   re   rs   r   rR   r   rU   r   )
rq   rB   r;   r   rR   r   r³   rC   rU   r¼   )rq   rB   r;   r   rU   r¬   )rq   rB   r;   r   rU   rÂ   )
rq   rB   r;   r   rR   r   r³   rC   rU   rÊ   )
rq   rB   r;   r   rR   r   r³   rC   rU   rÐ   )rq   rB   r;   r   rÇ   rŒ   rU   rÂ   )rq   rB   r;   r   rÞ   rC   rU   rÂ   )rq   rB   r;   r   rä   rŒ   rU   rÂ   )
rq   rB   r;   r   rR   r   r³   rC   rU   rî   )r  rC   rU   rŒ   )rR   r   rU   r   )HÚ
__future__r   ÚsysÚtypesr   Ú_rer   r   r   r   r	   r
   ÚTYPE_CHECKINGÚcollections.abcr   Útypingr   r   r   Ú_typesr   r   r   Úgetrecursionlimitr   r”   Ú	frozensetr¶   r   r   r   r    r!   r"   r#   r$   r&   r'   r(   r*   r1   r2   rG   r7   r	  r^   r[   rv   r•   re   rg   r¨   rn   r«   rm   rl   ri   rµ   r¯   rÀ   rÄ   rÏ   rÓ   rÜ   rÝ   rÚ   rÃ   rê   rÈ   r¾   rá   rf   r   r   r   r   Ú<module>   s€    	*ÿøÿ=G:"

	


	


"




%ÿ



	

 
L