<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
U
    iÛfc  ã                   @   sP   d Z ddlZddddddd	d
dddœ
Zdd„ Zdd„ Zdd„ ZedkrLeƒ  dS )z<Safely evaluate Python string literals without using eval().é    NúúúÚ
úú	úú'ú"ú\)
ÚaÚbÚfÚnÚrÚtÚvr	   r
   r   c                 C   sÐ   |   dd¡\}}| d¡st‚t |¡}|d k	r4|S | d¡r–|dd … }t|ƒdk rbtd| ƒ‚zt|dƒ}W qÈ tk
r’   td| ƒd ‚Y qÈX n2zt|dƒ}W n" tk
rÆ   td	| ƒd ‚Y nX t|ƒS )
Nr   é   r   Úxé   z!invalid hex string escape ('\%s')é   é   z#invalid octal string escape ('\%s'))	ÚgroupÚ
startswithÚAssertionErrorÚsimple_escapesÚgetÚlenÚ
ValueErrorÚintÚchr)ÚmÚallÚtailZescZhexesÚi© r%   ú;/opt/alt/python38/lib64/python3.8/lib2to3/pgen2/literals.pyÚescape   s$    

r'   c                 C   s¬   |   d¡s(|   d¡s(tt| d d… ƒƒ‚| d }| d d… |d krL|d }|  |¡sptt| t|ƒ d … ƒƒ‚t| ƒdt|ƒ ksˆt‚| t|ƒt|ƒ … } t dt| ¡S )Nr	   r
   r   r   é   r   z)\\(\'|\"|\\|[abfnrtv]|x.{0,2}|[0-7]{1,3}))r   r   ÚreprÚendswithr   ÚreÚsubr'   )ÚsÚqr%   r%   r&   Ú
evalString(   s    ($r/   c                  C   s@   t dƒD ]2} t| ƒ}t|ƒ}t|ƒ}||krt| |||ƒ qd S )Né   )Úranger    r)   r/   Úprint)r$   Úcr-   Úer%   r%   r&   Útest2   s    r5   Ú__main__)Ú__doc__r+   r   r'   r/   r5   Ú__name__r%   r%   r%   r&   Ú<module>   s"   ÷
	