o
    gc                     @   s   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 dedZee Z	G dd deZ
G d	d
 d
eZG dd deZG dd deZG dd deZG dd deZG dd dZdS )    N)ABCMetaabstractmethod)SupportsBytesTypec                   @   s@   e Zd ZeededefddZeededefddZdS )_Encoderdatareturnc                 C      dS )z#Transform raw data to encoded data.N r   r
   r
   G/var/www/html/api-tag/env/lib/python3.10/site-packages/nacl/encoding.pyencode       z_Encoder.encodec                 C   r	   )zTransform encoded data back to raw data.

        Decoding after encoding should be a no-op, i.e. `decode(encode(x)) == x`.
        Nr
   r   r
   r
   r   decode   r   z_Encoder.decodeN)__name__
__module____qualname__staticmethodr   bytesr   r   r
   r
   r
   r   r      s    r   )	metaclassc                   @   8   e Zd ZededefddZededefddZdS )
RawEncoderr   r   c                 C      | S Nr
   r   r
   r
   r   r   ,      zRawEncoder.encodec                 C   r   r   r
   r   r
   r
   r   r   0   r   zRawEncoder.decodeNr   r   r   r   r   r   r   r
   r
   r
   r   r   +   
    r   c                   @   r   )
HexEncoderr   r   c                 C   
   t | S r   )binasciihexlifyr   r
   r
   r   r   6      
zHexEncoder.encodec                 C   r   r   )r   	unhexlifyr   r
   r
   r   r   :   r!   zHexEncoder.decodeNr   r
   r
   r
   r   r   5   r   r   c                   @   r   )Base16Encoderr   r   c                 C   r   r   )base64	b16encoder   r
   r
   r   r   @   r!   zBase16Encoder.encodec                 C   r   r   )r$   	b16decoder   r
   r
   r   r   D   r!   zBase16Encoder.decodeNr   r
   r
   r
   r   r#   ?   r   r#   c                   @   r   )Base32Encoderr   r   c                 C   r   r   )r$   	b32encoder   r
   r
   r   r   J   r!   zBase32Encoder.encodec                 C   r   r   )r$   	b32decoder   r
   r
   r   r   N   r!   zBase32Encoder.decodeNr   r
   r
   r
   r   r'   I   r   r'   c                   @   r   )Base64Encoderr   r   c                 C   r   r   )r$   	b64encoder   r
   r
   r   r   T   r!   zBase64Encoder.encodec                 C   r   r   )r$   	b64decoder   r
   r
   r   r   X   r!   zBase64Encoder.decodeNr   r
   r
   r
   r   r*   S   r   r*   c                   @   r   )URLSafeBase64Encoderr   r   c                 C   r   r   )r$   urlsafe_b64encoder   r
   r
   r   r   ^   r!   zURLSafeBase64Encoder.encodec                 C   r   r   )r$   urlsafe_b64decoder   r
   r
   r   r   b   r!   zURLSafeBase64Encoder.decodeNr   r
   r
   r
   r   r-   ]   r   r-   c                   @   s&   e Zd ZefdededefddZdS )	Encodableselfencoderr   c                 C   s   | t| S r   )r   r   )r1   r2   r
   r
   r   r   h   s   zEncodable.encodeN)r   r   r   r   r   Encoderr   r   r
   r
   r
   r   r0   g   s    r0   )r$   r   abcr   r   typingr   r   r   r3   r   r   r#   r'   r*   r-   r0   r
   r
   r
   r   <module>   s   





