<!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>
B
    'X~,                 @   s>  d dl mZ ddlZddlZddlZddlZd dlmZ dZdZ	e
dZejd dkr`eZeZG d	d
 d
eZG dd deZG dd deZG dd deZdd Zdd Zdd Zdd Zdd Zdd Zd7ddZd d! Zd"d# Zd$d% Zd&d' Z d8d(d)Z!d*d+ Z"d,d- Z#d.d/ Z$d9d1d2Z%d:d3d4Z&d;d5d6Z'dS )<   )idnadata    N)intranges_contain	   s   xn--u   [.。．｡]   c               @   s   e Zd ZdZdS )	IDNAErrorz7 Base exception for all IDNA-encoding related problems N)__name__
__module____qualname____doc__ r   r   :/opt/alt/python37/lib/python3.7/site-packages/idna/core.pyr      s   r   c               @   s   e Zd ZdZdS )IDNABidiErrorz= Exception when bidirectional requirements are not satisfied N)r   r	   r
   r   r   r   r   r   r      s   r   c               @   s   e Zd ZdZdS )InvalidCodepointz> Exception when a disallowed or unallocated codepoint is used N)r   r	   r
   r   r   r   r   r   r      s   r   c               @   s   e Zd ZdZdS )InvalidCodepointContextzE Exception when the codepoint is not valid in the context it is used N)r   r	   r
   r   r   r   r   r   r      s   r   c             C   s   t t| S )N)unicodedataZ	combiningunichr)cpr   r   r   _combining_class$   s    r   c             C   s   t t| tj| S )N)r   ordr   scripts)r   scriptr   r   r   
_is_script'   s    r   c             C   s
   |  dS )Npunycode)encode)sr   r   r   	_punycode*   s    r   c             C   s
   d | S )Nz	U+{0:04X})format)r   r   r   r   _unot-   s    r   c             C   s   t | dkrdS dS )N?   FT)len)labelr   r   r   valid_label_length1   s    r"   c             C   s   t | |rdndkrdS dS )N      FT)r    )r!   trailing_dotr   r   r   valid_string_length8   s    r&   Fc       	      C   sh  d}xJt | dD ]<\}}t|}|dkr>tdt| ||dkrd}P qW |s\|s\dS t| d }|dkrxd}n |d	krd}ntd
t| d}d}xt | dD ]\}}t|}|r|dkrtd||dkrd}n|dkrd}|dkrR|s
|}n||krRtdq|dkr6td||dkrFd}q|dkrd}qW |sdtddS )NFr    z3Unknown directionality in label {0} at position {1})RALANTr   )r(   r)   Lz>First codepoint in label {0} must be directionality L, R or AL)
r(   r)   r*   ENESCSETONBNNSMzHInvalid direction for codepoint at position {0} in a right-to-left label)r(   r)   r,   r*   r2   )r*   r,   z2Can not mix numeral types in a right-to-left label)r+   r,   r-   r.   r/   r0   r1   r2   zHInvalid direction for codepoint at position {0} in a left-to-right label)r+   r,   z0Label ends with illegal codepoint directionality)	enumerater   Zbidirectionalr   r   repr)	r!   Z	check_ltrZ
bidi_labelidxr   	directionZrtlZvalid_endingZnumber_typer   r   r   
check_bidi?   sR    






r7   c             C   s"   t | d d dkrtddS )Nr   Mz0Label begins with an illegal combining characterT)r   categoryr   )r!   r   r   r   check_initial_combiner|   s    r:   c             C   s<   | dd dkrt d| d dks0| d dkr8t dd	S )
N      z--z4Label has disallowed hyphens in 3rd and 4th positionr   -z)Label must not start or end with a hyphenT)r   )r!   r   r   r   check_hyphen_ok   s
    r?   c             C   s   t d| | krtdd S )NNFCz%Label must be in Normalization Form C)r   	normalizer   )r!   r   r   r   	check_nfc   s    rB   c             C   s8  t | | }|dkr|dkr8tt | |d  tkr8dS d}xTt|d ddD ]@}tjt | | }|t dkrtqN|t dt d	gkrNd}P qNW |sdS d}xVt|d t| D ]@}tjt | | }|t dkrq|t d
t d	gkrd}P qW |S |dkr0|dkr,tt | |d  tkr,dS dS dS d S )Ni   r   r   TFr>   Tr+   Dr(   i   )r   r   _virama_combining_classranger   Zjoining_typesgetr    )r!   poscp_valueokiZjoining_typer   r   r   valid_contextj   s<    

rL   c             C   s  t | | }|dkrdd|  k r0t| d k r`n n,t | |d  dkr`t | |d  dkr`dS dS |dkr|t| d k rt| dkrt| |d  dS dS |d	ks|d
kr|dkrt| |d  dS dS |dkrx<| D ]4}|dkrqt|dst|dst|drdS qW dS d|  kr0dkrln n8x2| D ]*}dt |  krZdkr:n ndS q:W dS d|  krdkrn n8x2| D ]*}dt |  krdkrn ndS qW dS d S )N   r   r   l   TFiu  ZGreeki  i  ZHebrewi0  u   ・ZHiraganaZKatakanaZHani`  ii  i  i  )r   r    r   )r!   rH   	exceptionrI   r   r   r   r   valid_contexto   s>     (

"
 

 
rP   c             C   s  t | ttfr| d} t| dkr,tdt|  t|  t|  xt	| D ]\}}t
|}t|tjd rrqNqNt|tjd rt| |stdt||d t| qNt|tjd rt| |std	t||d t| qNtd
t||d t| qNW t|  d S )Nzutf-8r   zEmpty LabelZPVALIDZCONTEXTJz-Joiner {0} not allowed at position {1} in {2}r   ZCONTEXTOz0Codepoint {0} not allowed at position {1} in {2}z0Codepoint {0} at position {1} of {2} not allowed)
isinstancebytes	bytearraydecoder    r   rB   r?   r:   r3   r   r   r   Zcodepoint_classesrL   r   r   r   r4   rP   r   r7   )r!   rH   r   rI   r   r   r   check_label   s&    

 
 "rU   c             C   s   yN|  d} yt|  W n" tk
r:   td| Y nX t| sLtd| S  tk
rb   Y nX | sptdt| } t|  t| } t	|  } t| std| S )Nasciiz$The label {0} is not a valid A-labelzLabel too longzNo Input)
r   ulabelr   r   r"   UnicodeEncodeErrorunicoderU   r   _alabel_prefix)r!   r   r   r   alabel  s(    
r[   c             C   s   t | ttfs:y| d} W n tk
r8   t|  | S X |  } | tr^| t	td  } nt|  | 
dS | 
d} t|  | S )NrV   r   )rQ   rR   rS   r   rX   rU   lower
startswithrZ   r    rT   )r!   r   r   r   rW     s    


rW   Tc          
   C   s*  ddl m } d}yxt| D ]\}}t|}||dk r:|nt||dfd  }|d }	t|dkrl|d nd}
|	d	ks|	d
kr|r|	dkr|r|
dkr||7 }q|
dk	r|	dks|	dkr|s|	d
kr|r||
7 }q|	dkrt qW td|S  tk
r$   t	d
t||d t| Y nX dS )zBRe-map the characters in the string according to UTS46 processing.r   )	uts46datar'      Zr   r;   NVrD   3r8   Ir@   z0Codepoint {0} not allowed at position {1} in {2})r^   r3   r   bisectbisect_leftr    
IndexErrorr   rA   r   r   r   r4   )domain
std3_rulestransitionalr^   outputrH   charZ
code_pointZuts46rowstatusreplacementr   r   r   uts46_remap3  s0    


rn   c       	      C   s   t | ttfr| d} |r(t| ||} d}g }|r@| d}n
t| }x|r`|d s`|d= qLW |sntd|d dkr|d= d}x|D ]}|t	| qW |r|d	 d

|} t| |std| S )NrV   F.r   zEmpty domainr>   r'   T       .zDomain too long)rQ   rR   rS   rT   rn   split_unicode_dots_rer   appendr[   joinr&   )	r   strictuts46rh   ri   r%   resultlabelsr!   r   r   r   r   O  s0    






r   c             C   s   t | ttfr| d} |r(t| |d} d}g }|s@t| }n
| d}x|r`|d s`|d= qLW |sntd|d s|d= d}x|D ]}|t	| qW |r|d d
|S )	NrV   Fro   r   zEmpty domainr>   Tr'   )rQ   rR   rS   rT   rn   rs   rr   r   rt   rW   ru   )r   rv   rw   rh   r%   rx   ry   r!   r   r   r   rT   l  s*    




rT   )F)F)TF)FFFF)FFF)(r'   r   rd   r   resysZ	intrangesr   rE   rZ   compilers   version_infostrrY   chrr   UnicodeErrorr   r   r   r   r   r   r   r   r"   r&   r7   r:   r?   rB   rL   rP   rU   r[   rW   rn   r   rT   r   r   r   r   <module>   sB   

=	,
)

