Your IP : 18.221.248.140


Current Path : /opt/alt/python36/lib64/python3.6/encodings/__pycache__/
Upload File :
Current File : //opt/alt/python36/lib64/python3.6/encodings/__pycache__/idna.cpython-36.opt-2.pyc

3

��2a�#�@s�ddlZddlZddlZddlmZejd�ZdZdZdd�Z	dd	�Z
d
d�ZGdd
�d
ej�ZGdd�dej
�ZGdd�dej�ZGdd�deej�ZGdd�deej�Zdd�ZdS)�N)�	ucd_3_2_0u[.。.。]sxn--zxn--cCsg}x(|D] }tj|�rq
|jtj|��q
Wdj|�}tjd|�}xr|D]j}tj|�s�tj|�s�tj	|�s�tj
|�s�tj|�s�tj|�s�tj
|�s�tj|�s�tj|�rJtd|��qJWdd�|D�}xH|D]@}|r�tdd�|D��r�td��|d	�s|dr�td��q�W|S)
N�ZNFKCzInvalid character %rcSsg|]}tj|��qS�)�
stringprepZin_table_d1)�.0�xrr�)/opt/alt/python36/lib64/python3.6/idna.py�
<listcomp>)sznameprep.<locals>.<listcomp>css|]}tj|�VqdS)N)rZin_table_d2)rrrrr�	<genexpr>2sznameprep.<locals>.<genexpr>zViolation of BIDI requirement 2r�zViolation of BIDI requirement 3���)rZin_table_b1�appendZmap_table_b2�join�unicodedata�	normalizeZin_table_c12Zin_table_c22Zin_table_c3Zin_table_c4Zin_table_c5Zin_table_c6Zin_table_c7Zin_table_c8Zin_table_c9�UnicodeError�any)�labelZnewlabel�cZRandALrrr�namepreps4













rcCs�y|jd�}Wntk
r"Yn*Xdt|�ko:dknrD|Std��t|�}y|jd�}Wntk
rvYn*Xdt|�ko�dknr�|Std��|jt�r�td��|jd�}t|}dt|�ko�dknr�|Std��dS)N�asciir�@zlabel empty or too longzLabel starts with ACE prefix�punycode)�encoder�lenr�
startswith�sace_prefix�
ace_prefix)rrrr�ToASCII>s,

rcCs�t|t�rd}n,y|jd�}d}Wntk
r:d}YnX|stt|�}y|jd�}Wntk
rrtd��YnX|jt�s�t|d�S|tt�d�}|j	d�}t
|�}t|d�j�t|d�kr�td||��|S)NTrFzInvalid character in IDN labelrzIDNA does not round-trip)�
isinstance�bytesrrrrr�strr�decoder�lower)rZ
pure_asciiZlabel1�resultZlabel2rrr�	ToUnicodeis*





r%c@s eZdZddd�Zddd�ZdS)	�Codec�strictcCs|dkrtd|��|sdSy|jd�}Wntk
r>YnjX|jd�}x8|dd�D](}dt|�kordknsXtd	��qXWt|d
�dkr�td
��|t|�fSt�}tj|�}|r�|dr�d}|d=nd}x(|D] }|r�|jd�|jt|��q�Wt	||�t|�fS)Nr'zunsupported error handling �rr�.rrzlabel empty or too longzlabel too long)r(rrrrr)
rr�UnicodeEncodeError�splitr�	bytearray�dots�extendrr )�self�input�errorsr$�labelsr�trailing_dotrrrr�s4



zCodec.encodecCs�|dkrtd|��|sd	St|t�s.t|�}t|kr^y|jd�t|�fStk
r\YnX|jd�}|r�t|d
�dkr�d}|d=nd}g}x|D]}|jt	|��q�Wdj
|�|t|�fS)Nr'zUnsupported error handling rrrr)r�.)rrrr)rrr rr"r�UnicodeDecodeErrorr+r
r%r)r/r0r1r2r3r$rrrrr"�s(


zCodec.decodeN)r')r')�__name__�
__module__�__qualname__rr"rrrrr&�s
%r&c@seZdZdd�ZdS)�IncrementalEncoderc	Cs�|dkrtd|��|sdStj|�}d}|rT|dsBd}|d	=n|sT|d
=|rTd}t�}d}x<|D]4}|r~|jd�|d7}|jt|��|t|�7}qdW||7}|t|�7}t|�|fS)Nr'zunsupported error handling r(rrr))r(rrrr)rr-r+r,r.rrr )	r/r0r1�finalr2r3r$�sizerrrr�_buffer_encode�s2


z!IncrementalEncoder._buffer_encodeN)r6r7r8r<rrrrr9�sr9c@seZdZdd�ZdS)�IncrementalDecoderc	Cs�|dkrtd|��|sdSt|t�r2tj|�}nt|d�}|jd�}d}|rt|d	sbd}|d
=n|st|d=|rtd}g}d}x2|D]*}|jt|��|r�|d7}|t|�7}q�Wdj|�|}|t|�7}||fS)Nr'zUnsupported error handling rrrr4r)rrrrr)	rrr!r-r+r
r%rr)	r/r0r1r:r2r3r$r;rrrr�_buffer_decode�s6



z!IncrementalDecoder._buffer_decodeN)r6r7r8r>rrrrr=�sr=c@seZdZdS)�StreamWriterN)r6r7r8rrrrr?$sr?c@seZdZdS)�StreamReaderN)r6r7r8rrrrr@'sr@c	Cs tjdt�jt�jttttd�S)NZidna)�namerr"�incrementalencoder�incrementaldecoder�streamwriter�streamreader)	�codecs�	CodecInfor&rr"r9r=r?r@rrrr�getregentry,srH)r�rerFrr�compiler-rrrrr%r&�BufferedIncrementalEncoderr9�BufferedIncrementalDecoderr=r?r@rHrrrr�<module>s
0+)H#'

?>