U
    `                     @   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   

