o
    %eW                     @   sx  d dl 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 d dlmZmZmZmZmZmZmZmZmZ er>d dlmZ edd edD eed	B Zeed
 Zeed ZeZeed Z eZ!edZ"e"edB Z#ee j$e j% d Z&e&edB Z'edd
ddddddZ(ee)gef Z*ee)df Z+e,Z-G dd de.Z/e0ddede*dee)ef fddZ1e0dd e)de*dee)ef fd!d"Z2G d#d$ d$Z3G d%d& d&Z4G d'd( d(Z5d)e)d*e-d+e	e) de-fd,d-Z6d)e)d*e-d.e)d/ee) d0e7de-fd1d2Z8d)e)d*e-de-fd3d4Z9d)e)d*e-de-fd5d6Z:d)e)d*e-d7e3de-fd8d9Z;d)e)d*e-d7e3de-fd:d;Z<d)e)d*e-d7e3de*de-f
d<d=Z=d)e)d*e-de*dee-e+ef fd>d?Z>d)e)d*e-dee-e+f fd@dAZ?d)e)d*e-dee-e)f fdBdCZ@d)e)d*e-dee-e)f fdDdEZAd)e)d*e-de*dee-eBf fdFdGZCd)e)d*e-de*dee-eDf fdHdIZEdJdKd)e)d*e-dLe7dee-e)f fdMdNZFd)e)d*e-dee-e)f fdOdPZGd)e)d*e-dQe,dee-e)f fdRdSZHd)e)d*e-dee-e)f fdTdUZId)e)d*e-dVe7dee-e)f fdWdXZJd)e)d*e-dLe7dee-e)f fdYdZZKd)e)d*e-d[d\dee-e)f fd]d^ZLd)e)d*e-de*dee-ef fd_d`ZMd)e)d*e-dae)de/fdbdcZNdde,de7fdedfZOdS )g    N)MappingProxyType)	TYPE_CHECKINGAnyCallableDict	FrozenSetIterableOptionalTextIOTuple)	RE_BINRE_DATETIMERE_HEXRE_LOCALTIME	RE_NUMBERRE_OCTmatch_to_datetimematch_to_localtimematch_to_number)Patternc                 c   s    | ]}t |V  qd S N)chr).0i r   L/var/www/html/venv/lib/python3.10/site-packages/pip/_vendor/tomli/_parser.py	<genexpr>   s    r          	z	
z	
z 	
z-_z"'"\)z\bz\tz\nz\fz\rz\"z\\.c                   @   s   e Zd ZdZdS )TOMLDecodeErrorz0An error raised if a document is not valid TOML.N)__name__
__module____qualname____doc__r   r   r   r   r&   B   s    r&   parse_floatfpr,   returnc                C   s   |   }t||dS )zParse TOML from a file object.r+   )readloads)r-   r,   sr   r   r   loadF   s   r2   r1   c                C   sB  |  dd}d}t }	 t||t}z|| }W n ty$   Y |jjS w |dkr.|d7 }q|tv r@t||||}t||t}n:|dkrpz||d  }W n tyW   d}Y nw |dkrct|||}nt|||}t||t}n
|dkrzt	||d	t
||}z|| }W n ty   Y |jjS w |dkrt	||d
|d7 }q)zParse TOML from a string.z
r    r   T   [N#zInvalid statementz5Expected newline or end of document after a statement)replaceState
skip_charsTOML_WS
IndexErrorKEY_INITIAL_CHARSkey_value_rulecreate_list_rulecreate_dict_rulesuffixed_errskip_commentoutdict)r1   r,   srcposstatecharsecond_charr   r   r   r0   L   sT   
"
r0   c                   @   s   e Zd ZdddZdS )r7   r.   Nc                 C   s   t  | _t | _d| _d S )Nr   )
NestedDictrA   Flagsflagsheader_namespaceselfr   r   r   __init__   s   
zState.__init__r.   N)r'   r(   r)   rN   r   r   r   r   r7      s    r7   c                   @   s~   e Zd ZdZdZdZdddZdeddfd	d
Zdedede	ddfddZ
dede	deddfddZdede	defddZdS )rI   z)Flags that map to parsed keys/namespaces.r   r3   r.   Nc                 C   
   i | _ d S r   _flagsrL   r   r   r   rN      s   
zFlags.__init__keyc                 C   sF   | j }|d d D ]}||vr d S || d }q	||d d  d S )Nnested)rR   pop)rM   rS   contkr   r   r   	unset_all   s   zFlags.unset_allhead_keyrel_keyflagc                 C   s   | j }|D ]}||vrt t i d||< || d }q|D ] }||v r.|| d | n
|ht i d||< || d }qd S )NrJ   recursive_flagsrU   rU   rJ   rR   setadd)rM   rZ   r[   r\   rW   rX   r   r   r   set_for_relative_key   s   zFlags.set_for_relative_key	recursivec                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 )NrT   r]   rU   r^   rJ   r_   )rM   rS   r\   rc   rW   
key_parentkey_stemrX   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 )NFrT   r^   TrU   rJ   rQ   )rM   rS   r\   rW   rX   
inner_contre   r   r   r   is_   s   
z	Flags.is_rO   )r'   r(   r)   r*   FROZENEXPLICIT_NESTrN   KeyrY   intrb   boolr`   rg   r   r   r   r   rI      s    
rI   c                   @   sD   e Zd ZdddZdddededefd	d
ZdeddfddZdS )rH   r.   Nc                 C   rP   r   )rB   rL   r   r   r   rN      s   
zNestedDict.__init__Taccess_listsrS   rn   c                C   sT   | j }|D ]"}||vri ||< || }|rt|tr|d }t|t s'tdq|S )NrT   z There is no nest behind this key)rB   
isinstancelistKeyError)rM   rS   rn   rW   rX   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 )NrT   z/An object other than list found behind this key)rr   ro   rp   rq   append)rM   rS   rW   last_keylist_r   r   r   append_nest_to_list   s   
zNestedDict.append_nest_to_listrO   )	r'   r(   r)   rN   rj   rl   rB   rr   rv   r   r   r   r   rH      s    

rH   rC   rD   charsc                 C   sB   z| | |v r|d7 }| | |v sW |S W |S  t y    Y |S w )Nr3   )r:   )rC   rD   rw   r   r   r   r8      s   r8   expecterror_onerror_on_eofc          	   	   C   s   z|  ||}W n ty!   t| }|rt| |d|dY nw || || }|rCtt|}|  ||}t| |d|d|S )Nz
Expected "r$   zFound invalid character ")index
ValueErrorlenr?   intersectionnextiter)	rC   rD   rx   ry   rz   new_pos	bad_charsbad_charbad_posr   r   r   
skip_until   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 )Nr5   r3   r    Fry   rz   )r:   r   ILLEGAL_COMMENT_CHARS)rC   rD   rF   r   r   r   r@     s   r@   c                 C   s*   	 |}t | |t}t| |}||kr|S qr   )r8   TOML_WS_AND_NEWLINEr@   )rC   rD   pos_before_skipr   r   r   skip_comments_and_array_ws!  s   
r   rE   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yJ   t| |dw ||_| ||d  dkr^t| |d|d S )	Nr3   zCan not declare z twiceFrc   Can not overwrite a value]z.Expected "]" at the end of a table declaration)r8   r9   	parse_keyrJ   rg   rI   ri   rh   r?   r`   rA   rr   rq   rK   )rC   rD   rE   rS   r   r   r   r>   *  s    r>   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yG   t| |dw ||_| ||d  }|dkrat| |d|d|d S )	N   #Can not mutate immutable namespace Fr   r   z]]zFound "z3" at the end of an array declaration. Expected "]]")r8   r9   r   rJ   rg   rI   rh   r?   rY   r`   ri   rA   rv   rq   rK   )rC   rD   rE   rS   
end_markerr   r   r   r=   =  s*   
r=   c                 C   s   t | ||\}}}|d d |d }}|j| }|j|tjr*t| |d| |j|j|tj z|j	
|}	W n tyI   t| |dw ||	v rTt| |dt|ttfrj|j| }
|jj|
tjdd ||	|< |S )NrT   r   r   Tr   )parse_key_value_pairrK   rJ   rg   rI   rh   r?   rb   ri   rA   rr   rq   ro   rB   rp   r`   )rC   rD   rE   r,   rS   valuerd   re   abs_key_parentnestabs_keyr   r   r   r<   Y  s(   

r<   c                 C   st   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 pairr3   )r   r:   r?   r8   r9   parse_value)rC   rD   r,   rS   rF   r   r   r   r   r   r  s   
r   c                 C   s   t | |\}}|g}t| |t}	 z| | }W n ty"   d }Y nw |dkr-|t|fS |d7 }t| |t}t | |\}}|| t| |t}q)NT.r3   )parse_key_partr8   r9   r:   tuplers   )rC   rD   key_partrS   rF   r   r   r   r     s"   
r   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)N'r$   z(Invalid initial character for a key part)r:   BARE_KEY_CHARSr8   parse_literal_strparse_one_line_basic_strr?   )rC   rD   rF   	start_posr   r   r   r     s   

r   c                 C   s   |d7 }t | |ddS )Nr3   F	multiline)parse_basic_strrC   rD   r   r   r   r     s   r   c                 C   s   |d7 }g }t | |}| ||d  dkr|d |fS 	 t| ||\}}|| t | |}| ||d  }|dkr@|d |fS |dkrJt| |d|d7 }t | |}| ||d  dkrc|d |fS q)Nr3   r   T,zUnclosed array)r   r   rs   r?   )rC   rD   r,   arrayvalcr   r   r   parse_array  s&   



r   c                 C   sZ  |d7 }t  }t }t| |t}| ||d  dkr!|d |jfS 	 t| ||\}}}|d d |d }}||tjrFt| |d| z	|j	|dd}	W n t
y\   t| |dw ||	v rkt| |d	| d
||	|< t| |t}| ||d  }
|
dkr|d |jfS |
dkrt| |dt|ttfr|j|tjdd |d7 }t| |t}q")Nr3   }TrT   r   Frm   r   zDuplicate inline table key "r$   r   zUnclosed inline tabler   )rH   rI   r8   r9   rB   r   rg   rh   r?   rr   rq   ro   rp   r`   )rC   rD   r,   nested_dictrJ   rS   r   rd   re   r   r   r   r   r   parse_inline_table  s<   r   Fr   r   c                C   s   | ||d  }|d7 }|rB|dv rB|dkr8t | |t}| ||d  }|s*|dfS |dkr4t| |d|d7 }t | |t}|dfS |dkrLt| |d	S |d
krVt| |dS z|t| fW S  tyv   t|dkrpt| |dt| |dw )Nr   >   \	\ \
r   r3    r    zUnescaped "\" in a stringz\u   z\U   Unterminated string)r8   r9   r?   r   parse_hex_charBASIC_STR_ESCAPE_REPLACEMENTSrq   r}   )rC   rD   r   	escape_idrF   r   r   r   parse_basic_str_escape  s0   r   c                 C   s   t | |ddS )NTr   )r   r   r   r   r    parse_basic_str_escape_multiline  s   r   hex_lenc                 C   sl   | |||  }t ||kstdd |D rt| |d||7 }t|d}t|s0t| |d|t|fS )Nc                 s   s    | ]}|t jvV  qd S r   )string	hexdigits)r   r   r   r   r   r     s    z!parse_hex_char.<locals>.<genexpr>zInvalid hex value   z/Escaped character is not a Unicode scalar value)r}   anyr?   rk   is_unicode_scalar_valuer   )rC   rD   r   hex_strhex_intr   r   r   r     s   
r   c                 C   s2   |d7 }|}t | |dtdd}|d | || fS )Nr3   r   Tr   )r   ILLEGAL_LITERAL_STR_CHARS)rC   rD   r   r   r   r   r     s   
r   literalc                C   s   |d7 }| ||d  dkr|d7 }|r*d}t | |dtdd}| || }|d }nd}t| |dd	\}}| ||d  |krC||fS |d7 }| ||d  |krW||| fS |d7 }|||d
  fS )N   r3   r    r   z'''Tr   r$   r   r   )r   #ILLEGAL_MULTILINE_LITERAL_STR_CHARSr   )rC   rD   r   delimend_posresultr   r   r   parse_multiline_str  s.   
r   c          	      C   s   |rt }t}nt}t}d}|}	 z| | }W n ty#   t| |dw |dkrS|s6|d || ||  fS | |d |d  dkrN|d || ||  fS |d7 }q|dkrm|| || 7 }|| |\}}||7 }|}q||v r{t| |d	|d|d7 }q)
Nr   Tr   r$   r3   r   ""r%   zIllegal character ")!ILLEGAL_MULTILINE_BASIC_STR_CHARSr   ILLEGAL_BASIC_STR_CHARSr   r:   r?   )	rC   rD   r   ry   parse_escapesr   r   rF   parsed_escaper   r   r   r   6  s<   r   regexr   c                 C   s,   | | |}|st| |d| | fS )NzUnexpected sequence)matchr?   endgroup)rC   rD   r   r   r   r   r   parse_regexV  s   r   c                 C   s  z| | }W n t y   d }Y nw |dkr.| |d |d  dkr)t| |ddS t| |S |dkrJ| |d |d  dkrEt| |d	dS t| |S |d
kr`| |d |d  dkr`|d d	fS |dkrv| |d |d  dkrv|d dfS t| |}|rzt|}W n ty   t| |dw |	 |fS t
| |}|r|	 t|fS |dkr| |d |d  }|dkrt| |d t\}}|t|dfS |dkrt| |d t\}}	|t|	dfS |dkrt| |d t\}}
|t|
dfS t| |}|r|	 t||fS |dkrt| ||S |dkrt| ||S | ||d  }|dv r2|d ||fS | ||d  }|dv rG|d ||fS t| |d)Nr$   r3   r   r   F)r   r   z''Ttr   ruef   alsezInvalid date or datetime0r   xr   or   br4   {>   infnan>   +inf+nan-inf-nanzInvalid value)r:   r   r   r   r   r   r   r|   r?   r   r   r   r   r   rk   r   r   r   r   r   r   )rC   rD   r,   rF   datetime_matchdatetime_objlocaltime_matchrG   r   oct_strbin_strnumber_matchfirst_three
first_fourr   r   r   r   ]  sn   





r   msgc                 C   s0   dt dtdt fdd}t| d|| | dS )zZReturn a `TOMLDecodeError` where error message is suffixed with
    coordinates in source.rC   rD   r.   c                 S   sV   |t | krdS | dd|d }|dkr|d }n	|| dd| }d| d| S )Nzend of documentr    r   r3   zline z	, column )r}   countrindex)rC   rD   linecolumnr   r   r   
coord_repr  s   
z suffixed_err.<locals>.coord_reprz (at ))strPosr&   )rC   rD   r   r   r   r   r   r?     s   
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   )Pr   typesr   typingr   r   r   r   r   r   r	   r
   r   pip._vendor.tomli._rer   r   r   r   r   r   r   r   r   rer   	frozensetranger   
ASCII_CTRLr   r   r   r   r   r9   r   ascii_lettersdigitsr   r;   r   r   
ParseFloatrj   rk   r   r|   r&   floatr2   r0   r7   rI   rH   r8   rl   r   r@   r   r>   r=   r<   r   r   r   r   rp   r   rB   r   r   r   r   r   r   r   r   r   r?   r   r   r   r   r   <module>   s    ,,"$$?
>"	
	
""!

""	"" 

P