�PNG
IHDR��;���IDATx��ܻn�0���K��
�)(�pA������7�LeG{�� �§㻢|��ذaÆ
6lذaÆ
6lذaÆ
6lom��$^�y���ذag�5bÆ
6lذaÆ
6lذa{����
6lذaÆ
�`����}H�Fkm�,�m����Ӫ���ô�ô!��x�|'ܢ˟;�E:���9�&ᶒ�}�{�v]�n&�6�
�h��_��t�ڠ͵-ҫ���Z;��Z$�.�P���k�ž)�!��o���>}l�eQfJ�T��u і���چ��\��X=8��Rن4`Vw�l�>����n�G�^��i�s��"ms�$�u��i��?w�bs[m�6�K4���O���.�4��%����/����b�C%��t��M�ז� �-l�G6�mrz2���s�%�9��s@���-�k�9�=���)������k�B5����\��+͂�Zsٲ��Rn��~G���R���C������wIcI��n7jJ���hۛNCS|���j0��8y�iHKֶۛ�k�Ɉ+;Sz������L/��F�*\��Ԕ�#"5��m�2��[S��������=�g��n�a�P�e�ғ�L��
lذaÆ
6l�^k��̱aÆ
6lذaÆ
6lذa;����
�_��ذaÆ
6lذaÆ
6lذaÆ
���R���IEND�B`
3
�i�g�#�@s�ddlZddlZddlZddlmZejd�ZdZdZdd�Z dd �Z
d
d�ZGdd
�d
ej�ZGdd�dej
�ZGdd�dej�ZGdd�deej�ZGdd�deej�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�}t|��rtdd�|D��r�td��|d p�|d�rtd��|S)
N�ZNFKCzInvalid character %rcSsg|]}tj|��qS�)�
stringprepZin_table_d1)�.0�xrr�&/usr/lib64/python3.6/encodings/idna.py�
)sznameprep..css|]}tj|�VqdS)N)rZin_table_d2)rrrrr� 1sznameprep..zViolation of BIDI requirement 2r�zViolation of BIDI requirement 3�����)rZin_table_b1�appendZmap_table_b2�join�unicodedataZ normalizeZin_table_c12Zin_table_c22Zin_table_c3Zin_table_c4Zin_table_c5Zin_table_c6Zin_table_c7Zin_table_c8Zin_table_c9�UnicodeError�any)�labelZnewlabel�cZRandALrrr�namepreps2
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� ToUnicodegs*
r$c@s eZdZddd�Zddd�ZdS) �Codec�strictcCs|dkrtd|��|sdSy|jd�}Wntk
r>YnjX|jd�}x8|dd�D](}dt|�kordknsXtd ��qXWt|d
�dkr�td
��|t|�fSt�}tj|�}|r�|dr�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'rrrrr)
rr�UnicodeEncodeError�splitr� bytearray�dots�extendrr)�self�input�errorsr#�labelsr�trailing_dotrrrr�s4
zCodec.encodecCs�|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�.)rrrr)rrrrr!r�UnicodeDecodeErrorr*r
r$r)r.r/r0r1r2r#rrrrr!�s(
zCodec.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'rrrr)rr,r*r+r-rrr) r.r/r0�finalr1r2r#�sizerrrr�_buffer_encode�s2
z!IncrementalEncoder._buffer_encodeN)r5r6r7r;rrrrr8�sr8c@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 rrrr3r)rrrrr) rrr r,r*r
r$rr) r.r/r0r9r1r2r#r:rrrr�_buffer_decode�s6
z!IncrementalDecoder._buffer_decodeN)r5r6r7r=rrrrr<��sr<�c@seZdZdS)�StreamWriterN)r5r6r7rrrrr>"sr>c@seZdZdS)�StreamReaderN)r5r6r7rrrrr?%sr?c Cs tjdt�jt�jttttd�S)NZidna)�namerr!�incrementalencoder�incrementaldecoder�streamwriter�streamreader) �codecs� CodecInfor%rr!r8r<�r>r?rrrr�getregentry*srG)r�rerErr�compiler,rrrrr$r%�BufferedIncrementalEncoderr8�BufferedIncrementalDecoderr<�r>r?rGrrrr�s
.+)H#'