
    z%i                        d Z ddlZddlZddZddZ G d dej
                        Z G d dej                        Z G d	 d
ej                        Z G d deej                        Z G d deej                        Z	d Z
y)zPython 'zlib_codec' Codec - zlib compression encoding.

This codec de/encodes from bytes to bytes.

Written by Marc-Andre Lemburg (mal@lemburg.com).
    Nc                 B    t        j                  |       t        |       fS N)zlibcompressleninputerrorss     H/home/uftp/.pyenv/versions/3.12.0/lib/python3.12/encodings/zlib_codec.pyzlib_encoder      s    MM% #e*--    c                 B    t        j                  |       t        |       fS r   )r   
decompressr   r   s     r   zlib_decoder      s    OOE"CJ//r   c                       e Zd ZddZddZy)Codecc                     t        ||      S r   )r   selfr	   r
   s      r   encodezCodec.encode       5&))r   c                     t        ||      S r   )r   r   s      r   decodezCodec.decode   r   r   Nstrict)__name__
__module____qualname__r   r    r   r   r   r      s    **r   r   c                   "    e Zd ZddZddZd Zy)IncrementalEncoderc                 D    || _         t        j                         | _        y r   )r
   r   compressobjr   r
   s     r   __init__zIncrementalEncoder.__init__   s    ++-r   c                     |r8| j                   j                  |      }|| j                   j                         z   S | j                   j                  |      S r   )r#   r   flushr   r	   finalcs       r   r   zIncrementalEncoder.encode!   sL      ))%0At''--///##,,U33r   c                 6    t        j                         | _        y r   )r   r#   r   s    r   resetzIncrementalEncoder.reset(   s    ++-r   Nr   F)r   r   r   r%   r   r-   r   r   r   r!   r!      s    .
4.r   r!   c                   "    e Zd ZddZddZd Zy)IncrementalDecoderc                 D    || _         t        j                         | _        y r   )r
   r   decompressobjr$   s     r   r%   zIncrementalDecoder.__init__,   s    !//1r   c                     |r8| j                   j                  |      }|| j                   j                         z   S | j                   j                  |      S r   )r2   r   r'   r(   s       r   r   zIncrementalDecoder.decode1   sL    ""--e4At))//111%%0077r   c                 6    t        j                         | _        y r   )r   r2   r,   s    r   r-   zIncrementalDecoder.reset8   s    !//1r   Nr   r.   )r   r   r   r%   r   r-   r   r   r   r0   r0   +   s    2
82r   r0   c                       e Zd ZeZy)StreamWriterNr   r   r   bytescharbuffertyper   r   r   r6   r6   ;       Nr   r6   c                       e Zd ZeZy)StreamReaderNr7   r   r   r   r<   r<   >   r:   r   r<   c            
      l    t        j                  dt        t        t        t
        t        t        d      S )Nr   F)namer   r   incrementalencoderincrementaldecoderstreamreaderstreamwriter_is_text_encoding)codecs	CodecInfor   r   r!   r0   r<   r6   r   r   r   getregentryrF   C   s-    --!!	 	r   r   )__doc__rD   r   r   r   r   r!   r0   r6   r<   rF   r   r   r   <module>rH      s}     .0*FLL *.22 . 222 2 5&-- 5&-- 

r   