o
    f                     @   s   d Z ddlZddl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 )zPython 'base64_codec' Codec - base64 content transfer encoding.

This codec de/encodes from bytes to bytes.

Written by Marc-Andre Lemburg (mal@lemburg.com).
    Nstrictc                 C      |dksJ t | t| fS Nr   )base64encodebytesleninputerrors r   -/usr/lib/python3.10/encodings/base64_codec.pybase64_encode      r   c                 C   r   r   )r   decodebytesr   r   r   r   r   base64_decode   r   r   c                   @   s    e Zd ZdddZdddZdS )Codecr   c                 C   
   t ||S N)r   selfr	   r
   r   r   r   encode      
zCodec.encodec                 C   r   r   )r   r   r   r   r   decode   r   zCodec.decodeNr   )__name__
__module____qualname__r   r   r   r   r   r   r      s    
r   c                   @      e Zd ZdddZdS )IncrementalEncoderFc                 C      | j dksJ t|S r   )r
   r   r   r   r	   finalr   r   r   r         
zIncrementalEncoder.encodeNF)r   r   r   r   r   r   r   r   r          r   c                   @   r   )IncrementalDecoderFc                 C   r   r   )r
   r   r   r    r   r   r   r   !   r"   zIncrementalDecoder.decodeNr#   )r   r   r   r   r   r   r   r   r%       r$   r%   c                   @      e Zd ZeZdS )StreamWriterNr   r   r   bytescharbuffertyper   r   r   r   r'   %       r'   c                   @   r&   )StreamReaderNr(   r   r   r   r   r,   (   r+   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   r5   r   )__doc__r3   r   r   r   r   r   r%   r'   r,   r5   r   r   r   r   <module>   s    

