Edit File: quopri.cpython-311.pyc
� �����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�����������������������t����������|�t����������������������sJ��|�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. ���� ����_���� ����~)� isinstance�bytes�ESCAPE)�c� quotetabs�headers��� �-/opt/alt/python311/lib64/python3.11/quopri.py�needsquotingr������se��������a��������F�{�{����D�y�y�� ���;�1�t�q�0�0�0�0�D�0�0�0�0�1�1r���c������������������������t����������|�t����������������������rt����������|�������������dk����sJ��t����������|�������������}�t����������t����������t ����������|�dz�����������t ����������|�dz�����������f������������z���S�)zQuote a single character.��������)r���r����len�ordr����HEX�r���s��� r����quoter ���$���sX�������a����-�C��F�F�A�I�I�I�-��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���r%���r���r���s���= )r*���)r����readr'����readliner���r���r ����append�EMPTYSTRING�joinr����MAXLINESIZE) �inputr)���r���r����data�odatar'����prevline�line�outline�strippedr����thislines ��� r���r���r���,���s����������z�z�|�|���t�y��@�@�@�����U���������&��&��&��&���H���~�~������ ����������9��������9�D��H��� "�� "�A��q�d���A��A�y�&�1�1�� ��!�H�H���� "�!�t�)�)����t�$�$�$�$����q�!�!�!�!����E�(�O�O�O���#�#�G�,�,���(�m�m�k�)�)�� �E�(�>�K��M�>�*�F�;�;�;�;���A� ���/�H� ��(�m�m�k�)�)����?�B��� ��h��)�)�)�)�)�)���r���c�����������������������t������������t����������|�||�������������S�ddlm}��||�������������}�|��������������}t����������||||�������������|�����������������������������������S�)Nr"���r �����BytesIO)r����ior;���r����getvalue)r(���r���r���r;����infp�outfps��� r���r���r���j���sk������ ���a�9�V�<�<�<�<��������7�1�:�:�D��G�I�I�E� �4�� �6�*�*�*��>�>���r���c����������� �����������t������������<|������������������������������������}t����������||�������������}|���������������������|�������������dS�d} �|������������������������������������}|s�n�dt ����������|������������}}|dk����rH||dz ��|����������dk����r7d} |dz ��}|dk����r)||dz ��|����������dv�r|dz ��}|dk����r||dz ��|����������dv��nd} ||k�����r�|||dz�������������} | dk����r |r|d z���}|dz���}n�| t ����������k����r|| z���}|dz���}n�|dz���|k����r| sd} n�|dz���|k�����r)||dz���|d z�������������t ����������k����r|t ����������z���}|d z���}n�|d z���|k�����rnt ����������||dz���|d z�������������������������rQt ����������||d z���|dz�������������������������r4|t����������t����������||dz���|dz�������������������������f������������z���}|dz���}n || z���}|dz���}||k�������| s|���������������������|dz����������������d}���|r|���������������������|�������������dS�dS�)z�Read 'input', apply quoted-printable decoding, and write to 'output'. 'input' and 'output' are binary file objects. If 'header' is true, decode underscore as space (per RFC 1522).N�r���r���r���r ���r#���s��� r���r�����������) r ���r+���r'���r,���r���r����ishexr����unhex)r1���r)���r���r2���r3����newr5����i�n�partialr���s��� r���r���r���u���s������ ����z�z�|�|���t�F�+�+�+�����U������ �C���~�~������U��#�d�)�)�1���q�5�5�T�!�A�#�a�%�[�E�)�)��G�Q�q�S���a�%�%�D��1��Q��K�8�3�3��a�C����a�%�%�D��1��Q��K�8�3�3����G��!�e�e��Q�q��s�U��A��D�y�y�V�y��D�j��a��c�!�!��f����A�g��1�Q�3�q�q��1�����'����U��1��q���T�!�A�#�a��c�'�]�f�4�4��F�l���!��A�A��1��q���U�4��!��A�a�C��=�1�1��e�D��1��Q�q�S��M�6J�6J���E�5��a��c�!�A�#�g��#7�#7�"9�:�:�:���!��A�A��A�g��1�Q�3�q���!�e�e���� ��L�L��u��%�%�%��C�7�8�������S��������r���c�����������������������t������������t����������|�|�������������S�ddlm}��||�������������}�|��������������}t����������|||��������������|�����������������������������������S�)NrA���r ���r:���)r ���r<���r;���r���r=���)r(���r���r;���r>���r?���s��� r���r���r�������sj������ ���a��'�'�'�'��������7�1�:�:�D��G�I�I�E� �4��v�&�&�&�&��>�>���r���c�����������������������t����������|�t����������������������sJ��d|�cxk����odk����nc�pd|�cxk����odk����nc�pd|�cxk����odk����nc�S�)zDReturn true if the byte ordinal 'c' is a hexadecimal digit in ASCII.����0����9����a����f����A����F)r���r���r���s��� r���rD���rD�������s|�������a��������1����������F��� 1� 1� 1� 1�T� 1� 1� 1� 1�F�T�Q�5F�5F�5F�5F�$�5F�5F�5F�5F�Fr���c������������������d����d}|�D�]�}t����������|f������������}d|cxk����rdk����rn�nt����������d������������}n`d|cxk����rdk����rn�nt����������d������������dz ��}n=d |cxk����rd k����rn�nt����������d ������������dz ��}nJ�dt����������|������������z������������������|d z��t����������|������������|z ��z���}��|S�)z.Get the integer value of a hexadecimal number.r ���rL���rM����0rN���rO����a� ���rP���rQ���Fznon-hex digit r���)r���r����repr)r(����bitsr���rG���s��� r���rE���rE�������s��������D� �� &�� &���1�$�K�K���1������������C���A�A� �Q� � � � �$� � � � � ��C�����A�A� �Q� � � � �$� � � � � ��D� � �"��A�A�2�*�4��7�7�2�2�2�5��B�w�#�a�&�&�1�*�%����Kr���c������������������������dd�l�}�dd�l} �|���������������������|�j��������dd�����������d������������\��}}nt#�|j��������$�rg}|�j��������|�_��������t ����������|�������������t ����������d�������������t ����������d�������������t ����������d�������������|����������������������d�������������Y�d�}~nd�}~ww�xY�wd}d}|D�]\��}}|d k����rd }|dk����rd }�|r2|r0|�j��������|�_��������t ����������d�������������|����������������������d�������������|sd g}d} |D�]�} | d k����r |�j��������j ��������}nK �t����������| d������������}n9#�t����������$�r,}|�j�����������������������������| �d|�d��������������d} Y�d�}~�Xd�}~ww�xY�w �|rt����������||�j��������j ���������������������nt����������||�j��������j ��������|�������������| d k����r|��������������������������������������#�| d k����r|������������������������������������w�w�xY�w| r|����������������������| �������������d�S�d�S�)Nr ���r����tdz"usage: quopri [-t | -d] [file] ...z-t: quote tabsz-d: decode; default encoderB���Fz-tTz-dz -t and -d are mutually exclusive�-�rbz: can't open (z) )�sys�getopt�argv�error�stderr�stdout�print�exit�stdin�buffer�open�OSErrorr'���r���r����close)r\���r]����opts�args�msg�deco�tabs�orT����sts�file�fps��� r����mainrr�������s_������J�J�J��M�M�M���]�]�3�8�A�B�B�<��6�6� ��d�d���<��������Z�� � �c� � � � �2�3�3�3� ����� �*�+�+�+����������������� ������D��D���"��"���1���9�9�T�d���9�9�T�d���������Z�� � �0�1�1�1������������� �C��������3�;�;���!�B�B� ��$��%�%������ �� �� �� � � �D�D�D�#�#�#�!F�G�G�G������������ ���� ��� 4��r�3�:�,�-�-�-�-��r�3�:�,�d�3�3�3��s�{�{���� � � �����s�{�{���� � � � ������ ������� � � � � ���s9����&1�� B"�AB�B"�D%�% E�/"E�E�8F2�2G�__main__)F)FF)�__doc__�__all__r���r0���r���r.����binasciir ���r����ImportErrorr���r ���r���r���r���r���rD���rE���rr����__name__��r���r����<module>rz������s=�����O��N��?� >� >�� ���������'�'�'�'�'�'�'�'�'��������� �F� �F�F�F����� 2�� 2�� 2�3��3��3�<*��<*��<*��<*�|�������)��)��)��)�V�������G��G��G� �����$*��*��*�\��z����D�F�F�F�F�F���s������ %�%