a
    åzeæ  ã                   @   sh   g d ¢Z ddlmZ ddlmZmZ dZdZdZdZ	dd	„ Z
ddd„Zdefdd„Zdd„ ZeZeZdS ))Úbody_decodeÚbody_encodeÚdecodeÚdecodestringÚheader_encodeÚheader_lengthé    )Ú	b64encode)Ú
b2a_base64Ú
a2b_base64z
Ú
Ú é   c                 C   s*   t t| ƒdƒ\}}|d }|r&|d7 }|S )Né   é   )ÚdivmodÚlen)Ú	bytearrayZgroups_of_3ZleftoverÚn© r   ú&/usr/lib/python3.9/email/base64mime.pyr   2   s
    r   ú
iso-8859-1c                 C   s6   | sdS t | tƒr|  |¡} t| ƒ d¡}d||f S )Nr   Úasciiz=?%s?b?%s?=)Ú
isinstanceÚstrÚencoder   r   )Zheader_bytesÚcharsetÚencodedr   r   r   r   =   s    

r   éL   c                 C   s~   | s| S g }|d d }t dt| ƒ|ƒD ]J}t| ||| … ƒ d¡}| t¡rh|tkrh|d d… | }| |¡ q(t |¡S )Nr   r   r   r   éÿÿÿÿ)	Úranger   r	   r   ÚendswithÚNLÚappendÚEMPTYSTRINGÚjoin)ÚsZ
maxlinelenZeolZencvecZmax_unencodedÚiÚencr   r   r   r   L   s    
r   c                 C   s.   | s
t ƒ S t| tƒr"t|  d¡ƒS t| ƒS d S )Nzraw-unicode-escape)Úbytesr   r   r
   r   )Ústringr   r   r   r   f   s
    
r   N)r   )Ú__all__Úbase64r   Zbinasciir	   r
   ZCRLFr!   r#   ZMISC_LENr   r   r   r   r   r   r   r   r   r   Ú<module>   s   

