
    7gc                     &   d dl Z d dlZd dlmZmZ d dlmZmZ  G d de          Zee         Z	 G d de          Z
 G d	 d
e          Z G d de          Z G d de          Z G d de          Z G d de          Z G d d          ZdS )    N)ABCMetaabstractmethod)SupportsBytesTypec                   n    e Zd Zeededefd                        Zeededefd                        ZdS )_Encoderdatareturnc                     dS )z#Transform raw data to encoded data.N r	   s    G/var/www/html/syslog/venv/lib/python3.11/site-packages/nacl/encoding.pyencodez_Encoder.encode             c                     dS )zTransform encoded data back to raw data.

        Decoding after encoding should be a no-op, i.e. `decode(encode(x)) == x`.
        Nr   r   s    r   decodez_Encoder.decode   r   r   N)__name__
__module____qualname__staticmethodr   bytesr   r   r   r   r   r   r      s        2U 2u 2 2 2 ^ \2 U u    ^ \  r   r   )	metaclassc                   N    e Zd Zededefd            Zededefd            ZdS )
RawEncoderr	   r
   c                     | S Nr   r   s    r   r   zRawEncoder.encode,       r   c                     | S r   r   r   s    r   r   zRawEncoder.decode0   r   r   Nr   r   r   r   r   r   r   r   r   r   r   r   +   sn        U u    \ U u    \  r   r   c                   N    e Zd Zededefd            Zededefd            ZdS )
HexEncoderr	   r
   c                 *    t          j        |           S r   )binasciihexlifyr   s    r   r   zHexEncoder.encode6   s    %%%r   c                 *    t          j        |           S r   )r$   	unhexlifyr   s    r   r   zHexEncoder.decode:   s    !$'''r   Nr    r   r   r   r"   r"   5   sn        &U &u & & & \& (U (u ( ( ( \( ( (r   r"   c                   N    e Zd Zededefd            Zededefd            ZdS )Base16Encoderr	   r
   c                 *    t          j        |           S r   )base64	b16encoder   s    r   r   zBase16Encoder.encode@       %%%r   c                 *    t          j        |           S r   )r+   	b16decoder   s    r   r   zBase16Encoder.decodeD   r-   r   Nr    r   r   r   r)   r)   ?   n        &U &u & & & \& &U &u & & & \& & &r   r)   c                   N    e Zd Zededefd            Zededefd            ZdS )Base32Encoderr	   r
   c                 *    t          j        |           S r   )r+   	b32encoder   s    r   r   zBase32Encoder.encodeJ   r-   r   c                 *    t          j        |           S r   )r+   	b32decoder   s    r   r   zBase32Encoder.decodeN   r-   r   Nr    r   r   r   r2   r2   I   r0   r   r2   c                   N    e Zd Zededefd            Zededefd            ZdS )Base64Encoderr	   r
   c                 *    t          j        |           S r   )r+   	b64encoder   s    r   r   zBase64Encoder.encodeT   r-   r   c                 *    t          j        |           S r   )r+   	b64decoder   s    r   r   zBase64Encoder.decodeX   r-   r   Nr    r   r   r   r8   r8   S   r0   r   r8   c                   N    e Zd Zededefd            Zededefd            ZdS )URLSafeBase64Encoderr	   r
   c                 *    t          j        |           S r   )r+   urlsafe_b64encoder   s    r   r   zURLSafeBase64Encoder.encode^       '---r   c                 *    t          j        |           S r   )r+   urlsafe_b64decoder   s    r   r   zURLSafeBase64Encoder.decodeb   rA   r   Nr    r   r   r   r>   r>   ]   sn        .U .u . . . \. .U .u . . . \. . .r   r>   c                   &    e Zd ZefdededefdZdS )	Encodableselfencoderr
   c                 F    |                     t          |                     S r   )r   r   )rF   rG   s     r   r   zEncodable.encodeh   s    ~~eDkk***r   N)r   r   r   r   r   Encoderr   r   r   r   r   rE   rE   g   sE        7A + +] +W +e + + + + + +r   rE   )r+   r$   abcr   r   typingr   r   r   rI   r   r"   r)   r2   r8   r>   rE   r   r   r   <module>rL      s     ' ' ' ' ' ' ' ' & & & & & & & &
        $ x.       ( ( ( ( ( ( ( (& & & & &H & & && & & & &H & & && & & & &H & & &. . . . .8 . . .+ + + + + + + + + +r   