U
    žV_ã  ã                   @   s    d dl mZmZmZmZmZ ddlZddlZe d¡Z	G dd„ dej
ƒZ
G dd„ dejƒZG d	d
„ d
ejƒZG dd„ de
ejƒZG dd„ de
ejƒZdd„ ZdS )é   )ÚencodeÚdecodeÚalabelÚulabelÚ	IDNAErroré    Nu   [.ã€‚ï¼Žï½¡]c                   @   s    e Zd Zddd„Zddd„ZdS )	ÚCodecÚstrictc                 C   s.   |dkrt d |¡ƒ‚|sdS t|ƒt|ƒfS ©Nr	   ú Unsupported error handling "{0}"©Ú r   )r   Úformatr   Úlen©ÚselfÚdataÚerrors© r   ú./tmp/pip-unpacked-wheel-i1rno93r/idna/codec.pyr   	   s
    zCodec.encodec                 C   s.   |dkrt d |¡ƒ‚|sdS t|ƒt|ƒfS r
   )r   r   r   r   r   r   r   r   r      s
    zCodec.decodeN)r	   )r	   )Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r      s   

r   c                   @   s   e Zd Zdd„ ZdS )ÚIncrementalEncoderc           	      C   s°   |dkrt d |¡ƒ‚|sdS t |¡}d}|rV|d sDd}|d= n|sV|d= |rVd}g }d}|D ]*}| t|ƒ¡ |r€|d7 }|t|ƒ7 }qbd |¡| }|t|ƒ7 }||fS )	Nr	   r   r   r   éÿÿÿÿÚ.r   r   )r   r   Ú_unicode_dots_reÚsplitÚappendr   r   Újoin©	r   r   r   ÚfinalÚlabelsÚtrailing_dotÚresultÚsizeÚlabelr   r   r   Ú_buffer_encode   s0    
z!IncrementalEncoder._buffer_encodeN)r   r   r   r'   r   r   r   r   r      s   r   c                   @   s   e Zd Zdd„ ZdS )ÚIncrementalDecoderc           	      C   sØ   |dkrt d |¡ƒ‚|sdS t|tƒr4t |¡}nt|ƒ}t|dƒ | d¡}d}|r~|d sld}|d= n|s~|d= |r~d}g }d}|D ]*}| t|ƒ¡ |r¨|d	7 }|t	|ƒ7 }qŠd 
|¡| }|t	|ƒ7 }||fS )
Nr	   r   r   Úasciir   r   r   r   r   )r   r   Ú
isinstanceÚunicoder   r   Ústrr   r   r   r   r    r   r   r   Ú_buffer_decode?   s8    


z!IncrementalDecoder._buffer_decodeN)r   r   r   r-   r   r   r   r   r(   >   s   r(   c                   @   s   e Zd ZdS )ÚStreamWriterN©r   r   r   r   r   r   r   r.   g   s   r.   c                   @   s   e Zd ZdS )ÚStreamReaderNr/   r   r   r   r   r0   j   s   r0   c                	   C   s    t jdtƒ jtƒ jttttd�S )NÚidna)Únamer   r   ÚincrementalencoderÚincrementaldecoderÚstreamwriterÚstreamreader)	ÚcodecsÚ	CodecInfor   r   r   r   r(   r.   r0   r   r   r   r   Úgetregentrym   s    ùr9   )Úcorer   r   r   r   r   r7   ÚreÚcompiler   r   ÚBufferedIncrementalEncoderr   ÚBufferedIncrementalDecoderr(   r.   r0   r9   r   r   r   r   Ú<module>   s   
!)