Hacked By AnonymousFox
�
c��fq � � � d Z g d�ZdZdZdZdZ ddlmZmZ n# e $ r dZdZY nw xY wd � Z
d
� Zdd�Zdd
�Z
dd�Zdd�Zd� Zd� Zd� Zedk r e� � dS dS )zHConversions to/from quoted-printable transport encoding as per RFC 1521.)�encode�decode�encodestring�decodestring� =�L s 0123456789ABCDEF� � )�a2b_qp�b2a_qpNc �V � | dv r|S | dk r|S | t k pd| cxk odk nc S )z�Decide whether a particular byte ordinal needs to be quoted.
The 'quotetabs' flag indicates whether embedded tabs and spaces should be
quoted. Note that line-ending tabs and spaces are always encoded, as per
RFC 1521.
� � _� � ~)�ESCAPE)�c� quotetabs�headers �-/opt/alt/python311/lib64/python3.11/quopri.py�needsquotingr sO � � �F�{�{����D�y�y��
���;�1�t�q�0�0�0�0�D�0�0�0�0�1�1r c � � t | � � } t t t | dz t | dz f� � z S )zQuote a single character.� )�ordr �bytes�HEX�r s r �quoter $ s7 � � �A���A��E�3�q�"�u�:�s�1�R�4�y�1�2�2�2�2r Fc � � t �=| � � � }t |||�� � }|� |� � dS |dfd�}d} | � � � }|s�ng } d}
|dd� dk r|dd� }d}
|D ]e}t |f� � }t |||� � rt
|� � }|r|dk r| � d � � �P| � |� � �f|� ||� � t � | � � }t |� � t k rG ||dt dz
� d
�� � |t dz
d� }t |� � t k �G|}��(|� |||
�� � dS dS )av Read 'input', apply quoted-printable encoding, and write to 'output'.
'input' and 'output' are binary file objects. The 'quotetabs' flag
indicates whether embedded tabs and spaces should be quoted. Note that
line-ending tabs and spaces are always encoded, as per RFC 1521.
The 'header' flag indicates whether we are encoding spaces as _ as per RFC
1522.N�r r �
c � � | rF| dd � dv r:|� | d d� t | dd � � � z |z � � d S | dk r'|� t | � � |z � � d S |� | |z � � d S )N���r
� .)�writer )�s�output�lineEnds r r$ zencode.<locals>.write; s� � �
� &��2�3�3��6�!�!��L�L��3�B�3��%��"�#�#��-�-�/�'�9�:�:�:�:�:�
�$�Y�Y��L�L��q���G�+�,�,�,�,�,��L�L��W��%�%�%�%�%r � r r"