U
    ¼Ê¦iõ  ã                   @   sž   d Z ddlZddlZddlmZ ddd„Zdd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 )zQCodec for quoted-printable encoding.

This codec de/encodes from bytes to bytes.
é    N)ÚBytesIOÚstrictc                 C   s:   |dkst ‚t| ƒ}tƒ }tj||dd� | ¡ t| ƒfS )Nr   T)Z	quotetabs)ÚAssertionErrorr   ÚquopriÚencodeÚgetvalueÚlen©ÚinputÚerrorsÚfÚg© r   ú,/usr/lib/python3.8/encodings/quopri_codec.pyÚquopri_encode
   s
    r   c                 C   s6   |dkst ‚t| ƒ}tƒ }t ||¡ | ¡ t| ƒfS )Nr   )r   r   r   Údecoder   r   r	   r   r   r   Úquopri_decode   s
    r   c                   @   s    e Zd Zddd„Zddd„ZdS )	ÚCodecr   c                 C   s
   t ||ƒS ©N)r   ©Úselfr
   r   r   r   r   r      s    zCodec.encodec                 C   s
   t ||ƒS 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d„ZdS )ÚIncrementalEncoderFc                 C   s   t || jƒd S ©Nr   )r   r   ©r   r
   Úfinalr   r   r   r      s    zIncrementalEncoder.encodeN)F)r   r   r   r   r   r   r   r   r      s   r   c                   @   s   e Zd Zddd„ZdS )ÚIncrementalDecoderFc                 C   s   t || jƒd S r   )r   r   r   r   r   r   r   #   s    zIncrementalDecoder.decodeN)F)r   r   r   r   r   r   r   r   r   "   s   r   c                   @   s   e Zd ZeZdS )ÚStreamWriterN©r   r   r   ÚbytesÚcharbuffertyper   r   r   r   r   &   s   r   c                   @   s   e Zd ZeZdS )ÚStreamReaderNr    r   r   r   r   r#   )   s   r#   c                
   C   s   t jdttttttdd�S )Nr   F)Únamer   r   ÚincrementalencoderÚincrementaldecoderÚstreamwriterÚstreamreaderÚ_is_text_encoding)ÚcodecsÚ	CodecInfor   r   r   r   r   r#   r   r   r   r   Úgetregentry.   s    ør,   )r   )r   )Ú__doc__r*   r   Úior   r   r   r   r   r   r   r#   r,   r   r   r   r   Ú<module>   s   

