U
    ËZjð
  ã                   @   sª   d Z ddlmZ ddlmZ ddlmZ ddlmZ dddd	gZzdd
lm	Z
 W n  ek
rp   ddlmZ
 Y nX ddlmZ dd„ Zdd„ Zdd	„ Zdd„ Zdd„ ZdS )z Encodings and related functions.é    )Úunicode_literals)Údivision)Úabsolute_import)ÚstrÚencode_7or8bitÚencode_base64Úencode_noopÚencode_quopri)Úencodebytes)Úencodestringc                 C   s   t | dd�}| dd¡S )NT)Ú	quotetabsú z=20)Ú_encodestringÚreplace)ÚsÚenc© r   úb/var/www/html/TRUCKING_PROJECT/venv/lib/python3.8/site-packages/future/backports/email/encoders.pyÚ_qencode   s    r   c                 C   s,   |   ¡ }tt|ƒdƒ}|  |¡ d| d< dS )zlEncode the message's payload in Base64.

    Also, add an appropriate Content-Transfer-Encoding header.
    ÚasciiÚbase64úContent-Transfer-EncodingN)Úget_payloadr   Ú_bencodeÚset_payload©ÚmsgÚorigÚencdatar   r   r   r   !   s    
c                 C   s&   |   ¡ }t|ƒ}|  |¡ d| d< dS )zvEncode the message's payload in quoted-printable.

    Also, add an appropriate Content-Transfer-Encoding header.
    zquoted-printabler   N)r   r   r   r   r   r   r   r	   ,   s    
c                 C   s´   |   ¡ }|dkrd| d< dS z$t|tƒr4| d¡ n
| d¡ W nJ tk
rŠ   |  ¡ }|o`|j}|r~| ¡  	d¡r~d| d< nd| d< Y n
X d| d< t|tƒs°|  
| dd¡¡ dS )z9Set the Content-Transfer-Encoding header to 7bit or 8bit.NÚ7bitr   r   z	iso-2022-Ú8bitÚsurrogateescape)r   Ú
isinstancer   ÚencodeÚdecodeÚUnicodeErrorÚget_charsetÚoutput_charsetÚlowerÚ
startswithr   )r   r   ÚcharsetZoutput_csetr   r   r   r   7   s"    



c                 C   s(   |   ¡ }t|tƒs$|  | dd¡¡ dS )zDo nothing.r   r!   N)r   r"   r   r   r$   )r   r   r   r   r   r   S   s    
N)Ú__doc__Ú
__future__r   r   r   Zfuture.builtinsr   Ú__all__r   r
   r   ÚImportErrorr   Úquoprir   r   r   r	   r   r   r   r   r   r   Ú<module>   s&   ü