Current File : //usr/local/apps/python3/lib/python3.11/test/__pycache__/test_base64.cpython-311.opt-2.pyc
�

�Ke������ddlZddlZddlZddlZddlmZddlmZddlmZGd�dej��Z	Gd�dej��Z
Gd	�d
ej��Zedkrej
��dSdS)�N)�array)�	os_helper)�
script_helperc�,�eZdZd�Zd�Zd�Zd�Zd�ZdS)�LegacyBase64TestCasec�p�|�t|d��|�t|g��td���dd��}|�t||��td���d��}|�t||��dS)N�s1234�B)�r�I)�assertRaises�	TypeError�
memoryview�cast)�self�f�multidimensional�int_datas    �:/usr/local/apps/python3/lib/python3.11/test/test_base64.py�check_type_errorsz&LegacyBase64TestCase.check_type_errors
s������)�Q��+�+�+����)�Q��+�+�+�%�g�.�.�3�3�C��@�@�����)�Q�(8�9�9�9��g�&�&�+�+�C�0�0�����)�Q��1�1�1�1�1�c��|j}|tjd��d��|tjd��d��|tjd��d��|tjd��d��|tjd	��d	��|tjd
��d��|tjtd����d��|tjt	d����d��|tjtdd����d��|�tj��dS)
N�www.python.org�d3d3LnB5dGhvbi5vcmc=
�a�YQ==
�ab�YWI=
�abc�YWJj
r�RabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#0^&*();:<>,. []{}�rYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0
NTY3ODkhQCMwXiYqKCk7Ojw+LC4gW117fQ==
r
)�assertEqual�base64�encodebytes�	bytearrayrrr�r�eqs  r�test_encodebytesz%LegacyBase64TestCase.test_encodebytess]��
�
��
��6��/�0�0�2K�L�L�L�
��6��d�#�#�Y�/�/�/�
��6��e�$�$�i�0�0�0�
��6��f�%�%�y�1�1�1�
��6��c�"�"�C�(�(�(�
��6��A�B�B�3�	4�	4�	4�	��6��i��/�/�0�0�)�<�<�<�
��6��j��0�0�1�1�9�=�=�=�
��6��e�C��0�0�1�1�9�=�=�=����v�1�2�2�2�2�2rc��|j}|tjd��d��|tjd��d��|tjd��d��|tjd��d��|tjd	��d
��|tjd��d��|tjtd����d��|tjt	d����d��|tjtdd����d��|�tj��dS)
Nrrrrrrr rr"r!rr
)r#r$�decodebytesr&rrrr's  r�test_decodebytesz%LegacyBase64TestCase.test_decodebytes(s]��
�
��
��6��7�8�8�:K�L�L�L�
��6��i�(�(�$�/�/�/�
��6��i�(�(�%�0�0�0�
��6��i�(�(�&�1�1�1�
��6��G�H�H�-�	.�	.�	.�	��6��c�"�"�C�(�(�(�
��6��i�	�2�2�3�3�V�<�<�<�
��6��j��3�3�4�4�f�=�=�=�
��6��e�C��3�3�4�4�f�=�=�=����v�1�2�2�2�2�2rc��|j}ddlm}m}|d��}|��}t	j||��||���d��|�ttj|d��|����|�ttj|d��|����|�ttj|d��|����dS)Nr��BytesIO�StringIOr!r"�abcr)	r#�ior/r0r$�encode�getvaluer
r)rr(r/r0�infp�outfps      r�test_encodez LegacyBase64TestCase.test_encode;s��
�
��(�(�(�(�(�(�(�(��w�9�:�:����	�	���
�d�E�"�"�"�
��5�>�>���3�	4�	4�	4�
	
���)�V�]�H�H�U�O�O�W�W�Y�Y�O�O�O����)�V�]�G�G�F�O�O�X�X�Z�Z�P�P�P����)�V�]�H�H�U�O�O�X�X�Z�Z�P�P�P�P�Prc�
�ddlm}m}|d��}|��}tj||��|�|���d��|�ttj	|d��|����|�ttj	|d��|����|�ttj	|d��|����dS)Nrr.�d3d3LnB5dGhvbi5vcmc=rzYWJj
r )
r2r/r0r$�decoder#r4r
rr3)rr/r0r5r6s     r�test_decodez LegacyBase64TestCase.test_decodeLs���(�(�(�(�(�(�(�(��w�.�/�/����	�	���
�d�E�"�"�"�������)�)�+<�=�=�=����)�V�]�H�H�X�4F�4F���	�	�R�R�R����)�V�]�G�G�I�4F�4F���
�
�S�S�S����)�V�]�H�H�X�4F�4F���
�
�S�S�S�S�SrN)�__name__�
__module__�__qualname__rr)r,r7r;�rrrr
sg������2�2�2�3�3�3�&3�3�3�&Q�Q�Q�"	T�	T�	T�	T�	Trrc���eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d S)!�BaseXYTestCasec�v�|�t|d��|�t|g��dS)Nr	�r
r�rrs  r�check_encode_type_errorsz'BaseXYTestCase.check_encode_type_errors\s8�����)�Q��+�+�+����)�Q��+�+�+�+�+rc�>�|�t|g��dS�NrCrDs  r�check_decode_type_errorsz'BaseXYTestCase.check_decode_type_errors`s �����)�Q��+�+�+�+�+rc�~�|j}t|��}|||��|��|||��||t|����|��||td|����|��|�t
j|��|�t
j|��dS)Nr
)r#r&rr�check_nonbyte_element_formatr$�	b64encode�check_multidimensional)rr�
bytes_data�expectedr(�bs      r�check_other_typesz BaseXYTestCase.check_other_typescs���
�
���j�!�!��
��1�1�Q�4�4�����
��1�j����
��1�1�Z�
�
#�
#�$�$�h�/�/�/�
��1�1�U�3�
�
#�
#�$�$�h�/�/�/��)�)�&�*:�J�G�G�G��#�#�F�$4�j�A�A�A�A�Arc��t|��dzrdnd}||z}t|��dzdf}t|���d|��}|�||��||����dS)Nr�rr
��lenrrr#)rr�data�paddingrM�shapers       rrLz%BaseXYTestCase.check_multidimensionalos��� ��Y�Y��]�3�'�'����G�^�
��Z���A�%�q�)��%�j�1�1�6�6�s�E�B�B�������+�,�,�a�a�
�m�m�<�<�<�<�<rc���ddt|��z
dzz}||z}t|���d��}|�||��||����dS)NrR�rrS)rrrUrVrMrs      rrJz+BaseXYTestCase.check_nonbyte_element_formatvsk���a�#�d�)�)�m�q�0�1���G�^�
��j�)�)�.�.�s�3�3�������8���a�a�
�m�m�4�4�4�4�4rc	�|�|j}|tjd��d��|tjd��d��|tjd��d��|tjd��d��|tjd	��d
��|tjd��d��|tjd��d
��|tjdd���d��|tjdtd�����d��|tjdt	d�����d��|tjdtdd�����d��|�tjdd��|�tj��|�ttjdd���|tj
d��d��|tj
d��d��|tj
d��d��|tj
d	��d
��|tj
d��d��|tj
d��d
��|�tj
dd��|�tj
��|tjd��d��|�tjdd��|�tj��dS)Nrr9rR�AA==r�YQ==r�YWI=r�YWJjrr!spYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0NTY3ODkhQCMwXiYqKCk7Ojw+LC4gW117fQ==��V�o��*$��altchars�01a*b$cdr
�abcdsYWJjZA==z*$�01a-b_cd)r#r$rKr&rrrPrEr
r�standard_b64encode�urlsafe_b64encoder's  r�test_b64encodezBaseXYTestCase.test_b64encode}sV��
�
��
��6��-�.�.�0G�H�H�H�
��6��G�$�$�g�.�.�.�
��6��D�!�!�7�+�+�+�
��6��E�"�"�G�,�,�,�
��6��F�#�#�W�-�-�-�
��6��C� � �#�&�&�&�
��6��>�?�?�1�	2�	2�	2�	��6��1�E�B�B�B�K�P�P�P�
��6��1�I�e�<L�<L�M�M�M��	�	�	�
��6��1�J�u�<M�<M�N�N�N��	�	�	�
��6��1�E�#�u�<M�<M�N�N�N��	�	�	�	
���v�/��+�F�F�F��%�%�f�&6�7�7�7����)�V�%5�s�T��J�J�J�
��6�$�%6�7�7�9P�Q�Q�Q�
��6�$�T�*�*�G�4�4�4�
��6�$�U�+�+�W�5�5�5�
��6�$�V�,�,�g�6�6�6�
��6�$�S�)�)�3�/�/�/�
��6�$�&G�H�H�1�	2�	2�	2�	
���v�8�&��	5�	5�	5��%�%�f�&?�@�@�@�
��6�#�$9�:�:�K�H�H�H����v�7�4�k�	C�	C�	C��%�%�f�&>�?�?�?�?�?rc��|j}dddddddd�}|���D]T\}}|tj|��|��|tj|�d	����|���U|�tjd
d��|�tj��ddi}|���D]�\\}}}|�d	��}|�d	��}|tj||�
��|��|tj||�
��|��|tj||�
��|��|tj||�
��|����|���D]T\}}|tj|��|��|tj|�d	����|���U|�tjd
d��|�tj��ddd�}	|	���D]T\}}|tj|��|��|tj|�d	����|���U|�tjdd��|�tj��dS)NrrRrrrr!r)r9r[r\r]r^sqYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0
NTY3ODkhQCMwXiYqKCk7Ojw+LC4gW117fQ==r�asciir^)rcr`r_ra)rerre)	r#�itemsr$�	b64decoder:rPrH�standard_b64decode�urlsafe_b64decode)
rr(�testsrU�res�tests_altcharsrb�data_str�altchars_str�
tests_urlsafes
          r�test_b64decodezBaseXYTestCase.test_b64decode�s��
�
��*;�!��� �
3��
�
�������	<�	<�I�D�#��B�v���%�%�s�+�+�+��B�v�����G� 4� 4�5�5�s�;�;�;�;����v�/��&�A�A�A��%�%�f�&6�7�7�7�/�0E���%3�%9�%9�%;�%;�	G�	G�!��T�8�c��{�{�7�+�+�H�#�?�?�7�3�3�L��B�v���x�8�8�8�#�>�>�>��B�v���8�<�<�<�c�B�B�B��B�v���|�<�<�<�c�B�B�B��B�v���<�@�@�@�#�F�F�F�F������	E�	E�I�D�#��B�v�(��.�.��4�4�4��B�v�(����W�)=�)=�>�>��D�D�D�D����v�8�'�6�J�J�J��%�%�f�&?�@�@�@�'<�!���
�'�,�,�.�.�	D�	D�I�D�#��B�v�'��-�-�s�3�3�3��B�v�'����G�(<�(<�=�=�s�C�C�C�C����v�7��4�	6�	6�	6��%�%�f�&>�?�?�?�?�?rc��|�tjtjd��|�tjtjd��dS)Nrr1)r
�binascii�Errorr$rl�rs r�test_b64decode_padding_errorz+BaseXYTestCase.test_b64decode_padding_error�sB�����(�.�&�*:�F�C�C�C����(�.�&�*:�E�B�B�B�B�Brc
�n�d}tjtjtjf}|D�]8\}}|D]�}|�||���5|�||��|��|�||�d����|��ddd��n#1swxYwY��|�tj	��5tj|d���ddd��n#1swxYwY|�tj	��5tj|�d��d���ddd��n#1swxYwY��:d}|�tjdd��|��|�tjd	��|��dS)
N)
)s%3d==��)s$3d==r|)s[==r)sYW]3=sam)s3{d==r|)s3d}==r|)s@@r)�!r)r r)s	YWJj
YWI=sabcab)�bstr�funcrjT)�validates����s++[[//]]s[]s++--//__)
r$rlrmrn�subTestr#r:r
rwrx)rro�funcsr~rprs      r�test_b64decode_invalid_charsz+BaseXYTestCase.test_b64decode_invalid_chars�s���	,��
���%��$�
��
�	F�	F�I�D�#��
F�
F���\�\�t�$�\�7�7�F�F��$�$�T�T�$�Z�Z��5�5�5��$�$�T�T�$�+�+�g�*>�*>�%?�%?��E�E�E�F�F�F�F�F�F�F�F�F�F�F����F�F�F�F���"�"�8�>�2�2�
6�
6�� ���5�5�5�5�
6�
6�
6�
6�
6�
6�
6�
6�
6�
6�
6����
6�
6�
6�
6��"�"�8�>�2�2�
F�
F�� ����W�!5�!5��E�E�E�E�
F�
F�
F�
F�
F�
F�
F�
F�
F�
F�
F����
F�
F�
F�
F��*������)�+�u�=�=�s�C�C�C�����1�+�>�>��D�D�D�D�Ds7�	AB'�'B+�.B+�C5�5C9	�<C9	�*E�E	�E	c�8�|j}|tjd��d��|tjd��d��|tjd��d��|tjd��d��|tjd��d	��|tjd
��d��|tjd��d
��|�tjd
d��|�tj��dS)NrrR�AA======r�ME======r�MFRA====r�MFRGG===rd�MFRGGZA=�abcde�MFRGGZDF)r#r$�	b32encoderPrEr's  r�test_b32encodezBaseXYTestCase.test_b32encodes
��
�
��
��6��C� � �#�&�&�&�
��6��G�$�$�k�2�2�2�
��6��D�!�!�;�/�/�/�
��6��E�"�"�K�0�0�0�
��6��F�#�#�[�1�1�1�
��6��G�$�$�k�2�2�2�
��6��H�%�%�{�3�3�3����v�/��+�F�F�F��%�%�f�&6�7�7�7�7�7rc�z�|j}dddddddd�}|���D]T\}}|tj|��|��|tj|�d	����|���U|�tjd
d��|�tj��dS)NrrRrrrrdr�)rr�r�r�r�r�r�rjr�)r#rkr$�	b32decoder:rPrH�rr(rorUrps     r�test_b32decodezBaseXYTestCase.test_b32decodes���
�
���%�"�#�$�%�&�
��������	<�	<�I�D�#��B�v���%�%�s�+�+�+��B�v�����G� 4� 4�5�5�s�;�;�;�;����v�/��f�E�E�E��%�%�f�&6�7�7�7�7�7rc�r�|j}dddddddddddd�}|���D]V\}}|tj|d��|��|tj|�d	��d��|���W|�tjtjd
��|�tjtjd��|tjd��d
��|tjd��d
��d
dd�}|���D�]	\\}}}|�d	��}|�d	��}|tj||���|��|tj||���|��|tj||���|��|tj||���|��|�tjtj|��|�tjtj|����dS)Nrrrrrdr�)rr�r�r�r�r��me======smfra====smfrgg===smfrggza=smfrggzdfTrjr�zme======sMLO23456sbݭ��MLO23456sb��))�M1023456�L)r��I)�map01)r#rkr$r�r:r
rwrx)	rr(rorUrp�	map_testsr�rr�	map01_strs	         r�test_b32decode_casefoldz&BaseXYTestCase.test_b32decode_casefold)sF��
�
���"�#�$�%�&�"�#�$�%�&���������	B�	B�I�D�#��B�v���d�+�+�S�1�1�1��B�v�����G� 4� 4�d�;�;�S�A�A�A�A����(�.�&�*:�K�H�H�H����(�.�&�*:�J�G�G�G�	��6��K�(�(�*>�?�?�?�
��6��J�'�'�)=�>�>�>�*>�*>���	�#,�/�/�"3�"3�		J�		J��M�T�5�3��{�{�7�+�+�H����W�-�-�I��B�v���E�2�2�2�C�8�8�8��B�v����6�6�6��<�<�<��B�v���I�6�6�6��<�<�<��B�v���	�:�:�:�C�@�@�@����h�n�f�.>��E�E�E����h�n�f�.>��I�I�I�I�		J�		Jrc��gd�}gd�}tdd��D]R}|r|�d|z��|D]3}t|��|zdkr|�|d|zz���4�S|D]�}|�|���5|�t
j��5tj|��ddd��n#1swxYwY|�t
j��5tj|�	d����ddd��n#1swxYwYddd��n#1swxYwY��dS)	N)r�ABCDEF==�==ABCDEF��MsMEsMFRAsMFRGGsMFRGGZAr�r��=�)rUrj)
�range�appendrTr�r
rwrxr$r�r:�rro�prefixes�i�prefixrUs      r�test_b32decode_errorz#BaseXYTestCase.test_b32decode_errorRs��2�2�2��L�L�L���q�"���	2�	2�A��
%����T�!�V�$�$�$�"�
2�
2���v�;�;��?�a�'�'��L�L��$�q�&��1�1�1��
2��	;�	;�D����4��(�(�
;�
;��&�&�x�~�6�6�+�+��$�T�*�*�*�+�+�+�+�+�+�+�+�+�+�+����+�+�+�+��&�&�x�~�6�6�;�;��$�T�[�[��%9�%9�:�:�:�;�;�;�;�;�;�;�;�;�;�;����;�;�;�;�
;�
;�
;�
;�
;�
;�
;�
;�
;�
;�
;����
;�
;�
;�
;��	;�	;�Z� D<�&C�;D<�C�D<�C�"D<�1(D%�D<�%D)�)D<�,D)�-D<�<E	�E	c���gd�}|D][\}}|�|���5|�tj|��|��ddd��n#1swxYwY�\dS)N))rr)rR�00======)r�C4======)r�C5H0====)r�C5H66===)rd�C5H66P0=)r��C5H66P35��	to_decode)r�r#r$�b32hexencode)r�
test_cases�	to_encoderNs    r�test_b32hexencodez BaseXYTestCase.test_b32hexencodebs���	
�	
�	
�
�$.�	K�	K��I�x����	��2�2�
K�
K�� � ��!4�Y�!?�!?��J�J�J�
K�
K�
K�
K�
K�
K�
K�
K�
K�
K�
K����
K�
K�
K�
K��	K�	Ks�)A�A	�A	c��|�tjdd��|�tj��dS)Nrdr�)rPr$r�rErys r�test_b32hexencode_other_typesz,BaseXYTestCase.test_b32hexencode_other_typesqs:�����v�2�G�[�I�I�I��%�%�f�&9�:�:�:�:�:rc	�H�gd�}|D]�\}}}|�||���5|�tj||��|��|�tj|�d��|��|��ddd��n#1swxYwY��dS)N))rrF)r�rRF)r�rF)r�rF)r�rF)r�rdF)r�r�F)rrT)r�rRT)r�rT)r�rT)r�rT)r�rdT)r�r�T)�c4======rT)sc5h0====rT)sc5h66===rT)sc5h66p0=rdT)sc5h66p35r�T)r��casefoldrj)r�r#r$�b32hexdecoder:)rr�r�rNr�s     r�test_b32hexdecodez BaseXYTestCase.test_b32hexdecodeus��
�
�
�
�,.8�	6�	6�)�I�x�����	�H��E�E�
6�
6�� � ��!4�Y��!I�!I�!)�+�+�+�� � ��!4�Y�5E�5E�g�5N�5N�!)�"+�"+�,4�6�6�6�
6�
6�
6�
6�
6�
6�
6�
6�
6�
6�
6����
6�
6�
6�
6��	6�	6s�A&B�B	�B	c��|�tjdd��|�tj��dS)Nr�r)rPr$r�rHrys r�test_b32hexdecode_other_typesz,BaseXYTestCase.test_b32hexdecode_other_types�s:�����v�2�K��H�H�H��%�%�f�&9�:�:�:�:�:rc��gd�}gd�}tdd��D]R}|r|�d|z��|D]3}t|��|zdkr|�|d|zz���4�S|D]�}|�|���5|�t
j��5tj|��ddd��n#1swxYwY|�t
j��5tj|�	d����ddd��n#1swxYwYddd��n#1swxYwY��dS)	N)rr�r�r�r�rr�r�r�r�rj)
r�r�rTr�r
rwrxr$r�r:r�s      r�test_b32hexdecode_errorz&BaseXYTestCase.test_b32hexdecode_error�s��?�?�?��L�L�L���q�"���	2�	2�A��
%����T�!�V�$�$�$�"�
2�
2���v�;�;��?�a�'�'��L�L��$�q�&��1�1�1��
2��	>�	>�D������-�-�
>�
>��&�&�x�~�6�6�.�.��'��-�-�-�.�.�.�.�.�.�.�.�.�.�.����.�.�.�.��&�&�x�~�6�6�>�>��'����G�(<�(<�=�=�=�>�>�>�>�>�>�>�>�>�>�>����>�>�>�>�
>�
>�
>�
>�
>�
>�
>�
>�
>�
>�
>����
>�
>�
>�
>��	>�	>r�c��|j}|tjd��d��|tjd��d��|�tjdd��|�tj��dS)N�����
0102ABCDEFrR�00)r#r$�	b16encoderPrEr's  r�test_b16encodezBaseXYTestCase.test_b16encode�s���
�
��
��6��3�4�4�m�D�D�D�
��6��G�$�$�e�,�,�,����v�/�1H�,�	.�	.�	.��%�%�f�&6�7�7�7�7�7rc�b�|j}|tjd��d��|tjd��d��|tjd��d��|tjd��d��|�tjtjd��|�tjtjd��|tjdd	��d��|tjdd	��d��|�tjdd��|�tj��|tjtd��d	��d��|tjtd��d	��d��|tjtd
d��d	��d��|�tjtjd��|�tjtjd��dS)
Nr�r��
0102ABCDEFr�rR�00s
0102abcdef�
0102abcdefTr
�0102AG�010)r#r$�	b16decoder
rwrxrPrHr&rrr's  r�test_b16decodezBaseXYTestCase.test_b16decode�s��
�
��
��6��M�*�*�,C�D�D�D�
��6��L�)�)�+B�C�C�C�
��6��E�"�"�G�,�,�,�
��6��D�!�!�7�+�+�+����(�.�&�*:�M�J�J�J����(�.�&�*:�L�I�I�I�
��6��M�4�0�0�2I�J�J�J�
��6��L�$�/�/�1H�I�I�I����v�/��6�	8�	8�	8��%�%�f�&6�7�7�7�
��6��I�m�4�4�d�;�;�"�	$�	$�	$�
��6��J�}�5�5�t�<�<�"�	$�	$�	$�
��6��E�#�}�5�5�t�<�<�"�	$�	$�	$�	
���(�.�&�*:�H�E�E�E����(�.�&�*:�E�B�B�B�B�Brc���|j}ddddttd����ddddd	d
ddd
ddddddddddddi
}|���D]l\}}|t	j|��||��|t	j|d���||��|t	j|d���d|zdz|���m|�tjdd��|�ttjd��|t	jdd d�!��d"��|t	jd#d d�!��d$��|t	jdd d�!��d%��|t	jd&dd�'��d(��|t	jd)dd�'��d*��|t	jd+dd�'��d,��|t	jd-dd�'��d.��dS)/Nrr�GB\6`E-ZP=Df.1GEb>�s?!!*-'"9eu7#RLhG$k3[W&.oNg'GVB"(`=52*$$(B+<_pR,UFcb-n-Vr/1iJ-0JP==1c70M3&s#]4?Ykm5X@_(6q'R884cEH9MJ8X:f1+h<)lt#=BSg3>[:ZC?t!MSA7]@cBPD3sCi+'.E,fo>FEMbNG^4U^I!pHnJ:W<)KS>/9Ll%"IN/`jYOHG]iPa.Q$R$jD4S=Q7DTV8*TUnsrdW2ZetXKAY/Yd(L?['d?O\@K2_]Y2%o^qmn*`5Ta:aN;TJbg"GZd*^:jeCE.%f\,!5gtgiEi8N\UjQ5OekiqBum-X60nF?)@o_%qPq"ad`r;HTr!�g@:E_WAS,RgBkhF"D/O92EH6,BF`qtRH$VbC6UX@47n?3D92&&T:Jand;cHat='/U/0JP==1c70M3&r-I,;<FN.OZ`-3]oSW/g+A(H[P�no padding..�DJpY:@:Wn_DJ(RS�zero compression�H=_,8+Cf>,E,oN2F(oQ1z�zero compression�H=_,8+Cf>,E,oN2F(oQ1!!!!�
Boundary:�6>q!aA79M(3WK-[!!�Space compr:    �;fH/TAKYK$D/aMV+<VdL���rr����s8N�����s8W*������s8W-!F��adobeT�<~�~>r	�)�wrapcolr�sGB\6`E-
ZP=Df.1
GEb>swww.python.orgszGB\6`E
-ZP=Df.
1GEb>s<~GB\6`
E-ZP=Df
.1GEb>
~>�        ��
foldspacesr��yy�       �y+<Vd�      �y+<U�     �y+9)	r#�bytesr�rkr$�	a85encoderPr
rr�s     r�test_a85encodezBaseXYTestCase.test_a85encode�s_��
�
��
���5��%��*�*��� �
2�I��/�'�)A�%�'B� �"6��!8��U��v��w��x�-��2�����	N�	N�I�D�#��B�v���%�%�s�D�1�1�1��B�v���E�2�2�2�C��>�>�>��B�v���D�1�1�1�5�3�;��3F��M�M�M�M����v�/�1B�5�	7�	7�	7�	
���)�V�%5�r�:�:�:�
��6��-�q��F�F�F�%�	'�	'�	'�
��6��5�q��N�N�N�&�	(�	(�	(�
��6��-�q��E�E�E�+�	-�	-�	-�	��6��F�t�5�A�A�A�5�I�I�I�
��6��F�t�5�A�A�A�8�L�L�L�
��6��F�t�5�A�A�A�7�K�K�K�
��6��F�t�5�A�A�A�6�J�J�J�J�Jrc�2�|j}ddddttd����ddddd	d
ddd
ddddddddddddi
}|���D]#\}}|t	j|��|���$|�tjdd��dS)Nrr�cXxL#aCvlSZ*DGca%Tr��?009C61O)~M2nh-c3=Iws5D^j+6crX17#SKH9337XAR!_nBqb&%C@Cr{EG;fCFflSSG&MFiI5|2yJUu=?KtV!7L`6nNNJ&adOifNtP*GA-R8>}2SXo+ITwPvYU}0ioWMyV&XlZI|Y;A6DaB*^Tbai%jczJqze0_d@fPsR8goTEOh>41ejE#<ukdcy;l$Dm3n3<ZJoSmMZprN9pq@|{(sHv)}tgWuEu(7hUw6(UkxVgH!yuH4^z`?@9#Kp$P$jQpf%+1cv(9zP<)YaD4*xB0K+}+;a;Njxq<mKk)=;`X~?CtLF@bU8V^!4`l`1$(#{Qdpr!�gVPa!sWoBn+X=-b1ZEkOHadLBXb#`}nd3r%YLqtVJM@UIZOH55pPf$@(Q&d$}S6EqEFflSSG&MFiI5{CeBQRbjDkv#CIy^osE+AW7dwlr��Zf_uPVPs@!Zf7nor��dS!BNAY*TBaB^jHb7^mG00000r��dS!BNAY*TBaB^jHb7^mG0000r��LT`0$WMOi7IsgCw00r��Q*dEpWgug3ZE$irARr(hr��{{r��|Njr��|Ns9r��|NsC0)r#r�r�rkr$�	b85encoderPr�s     r�test_b85encodezBaseXYTestCase.test_b85encode�s���
�
��
���4��%��*�*��� �
6�H��/�/�1M�+�-H�,�.F��!8��U��v��w��x�-
��2�����	,�	,�I�D�#��B�v���%�%�s�+�+�+�+����v�/�1B�4�	6�	6�	6�	6�	6rc���|j}ddttd����dddddd	d
ddd
d�
}|���D]�\}}|t	j|��||��|t	j|d���||��|t	j|�d��d���||��|t	jd|zdzd���||��|t	j|dzd���||��|t	jd|�d��zd���||����|t	jddd���d��|t	jddd���d��|t	jddd���d��|t	jddd���d��|�tjdd��dS) Nrrr�r!r�r�r�r�r�r�r�r�r�)
rr�sJ! ! * -'"
		9eu
7#  RLhG$k3[W&.oNg'GVB"(`=52*$$(B+<_pR,UFcb-n-Vr/1iJ-0JP==1c70M3&s#]4?Ykm5X@_(6q'R884cEH9MJ8X:f1+h<)lt#=BSg3>[:ZC?t!MSA7]@cBPD3sCi+'.E,fo>FEMbNG^4U^I!pHnJ:W<)KS>/9Ll%"IN/`jYOHG]iPa.Q$R$jD4S=Q7DTV8*TUnsrdW2ZetXKAY/Yd(L?['d?O\@K2_]Y2%o^qmn*`5Ta:aN;TJbg"GZd*^:jeCE.%f\,!5gtgiEi8N\UjQ5OekiqBum-X60nF?)@o_%qPq"ad`r;HTr�r�r�r�r�r�r�r�r�r�Fr�rjr�r�Tz<~%s~>r�r�r�r�r�r�r�r�r�r�)r#r�r�rkr$�	a85decoder:rPr�s     r�test_a85decodezBaseXYTestCase.test_a85decode s6��
�
���$5�"�%��*�*�-�-�-� /�&I�)H�">�%8�����-���2�����	�	�I�D�#��B�v���%�%�s�D�1�1�1��B�v���E�2�2�2�C��>�>�>��B�v�����G� 4� 4�E�B�B�B�C��N�N�N��B�v�����u� 4�D�A�A�A�3��M�M�M��B�v���u��D�9�9�9�3��E�E�E��B�v���4�;�;�w�+?�+?� ?�t�L�L�L��D�
�
�
�
�	��6��E�d�%�@�@�@�&�I�I�I�
��6��H��U�C�C�C�V�L�L�L�
��6��G��E�B�B�B�F�K�K�K�
��6��F�t�5�A�A�A�6�J�J�J����v�/�1G�0�	2�	2�	2�	2�	2rc�|�|j}ddttd����dddddd	d
ddd
d�
}|���D]T\}}|t	j|��|��|t	j|�d����|���U|�tjdd��dS)Nrrr�r!r�r�r�r�r�r�r�r�r�)
rr�r�r�r�rrrrrrrrrjr�)r#r�r�rkr$�	b85decoder:rPr�s     r�test_b85decodezBaseXYTestCase.test_b85decodeMs���
�
���#4�#�5��:�:�.�.�6� /�*M�)H�&F�%8�����-
�
��2�����	<�	<�I�D�#��B�v���%�%�s�+�+�+��B�v�����G� 4� 4�5�5�s�;�;�;�;����v�/�1F�0�	2�	2�	2�	2�	2rc��|j}|tjdd���d��|tjdd���d��|tjdd���d��|tjd	d���d
��|tjdd���d��|tjd��d
��|tjd��d��|tjd��d��|tjd
��d	��|tjd��d��dS)N�xT��padsGQ7^D�xxsG^'2g�xxxsG^+H5�xxxxsG^+IX�xxxxxs
G^+IXGQ7^D�x�xx�xxx�xxxxx)r#r$r�rr's  r�test_a85_paddingzBaseXYTestCase.test_a85_paddingp�M��
�
��
��6��D�d�+�+�+�X�6�6�6�
��6��E�t�,�,�,�h�7�7�7�
��6��F��-�-�-�x�8�8�8�
��6��G��.�.�.��9�9�9�
��6��H�$�/�/�/��?�?�?�
��6��H�%�%�'7�8�8�8�
��6��H�%�%�}�5�5�5�
��6��H�%�%�z�2�2�2�
��6��H�%�%�w�/�/�/�
��6��M�*�*�,@�A�A�A�A�Arc��|j}|tjdd���d��|tjdd���d��|tjdd���d��|tjd	d���d
��|tjdd���d��|tjd��d
��|tjd��d��|tjd��d��|tjd
��d	��|tjd��d��dS)NrTrscmMzZrscz6H+rsczAdKrsczAetrs
czAetcmMzZrrrr)r#r$rrr's  r�test_b85_paddingzBaseXYTestCase.test_b85_paddingrrc�
�ttd����ttdd����ztd��z
}|D�]?}|�tt	|g�����5tjdt	|g��z��ddd��n#1swxYwY|�tt	|g�����5tjdt	|g��zd���ddd��n#1swxYwY|�tt	|g�����5tjd	t	|g��zd
zd���ddd��n#1swxYwY��A|�tt
jdd���|�tt
jd
d���|�tt
jd��|�tt
jdd���tjdd���|�tt
jdd���|�tt
jdd���|�tt
jddd���|�tt
jdd���|�tt
jdd���|�tt
jdd���|�tt
jdd���|�tt
jdd���dS)N� �v�s 	

��msgs!!!!Fr�s<~!!!!r�Ts	malformeds<~still malformeds<~~>sabcxsabcdeysa b
cr)r��ignorechars�sss8ss8Wss8W-ss8W-")�setr�r
�
ValueErrorr�r$r�r�illegal�cs   r�test_a85decode_errorsz$BaseXYTestCase.test_a85decode_errors�s���u�R�y�y�>�>�C��c�3���$8�$8�8�C��<M�<M�M���	M�	M�A��"�"�:�5�!��:�:�"�>�>�
7�
7�� ��5�!��:�:�!5�6�6�6�
7�
7�
7�
7�
7�
7�
7�
7�
7�
7�
7����
7�
7�
7�
7��"�"�:�5�!��:�:�"�>�>�
D�
D�� ��5�!��:�:�!5�U�C�C�C�C�
D�
D�
D�
D�
D�
D�
D�
D�
D�
D�
D����
D�
D�
D�
D��"�"�:�5�!��:�:�"�>�>�
M�
M�� ��U�A�3�Z�Z�!7�%�!?�t�L�L�L�L�
M�
M�
M�
M�
M�
M�
M�
M�
M�
M�
M����
M�
M�
M�
M��	
���*�f�&6�&2�$�	�	@�	@�	@����*�f�&6�&:�$�	�	H�	H�	H�	
���*�f�&6�&-�	/�	/�	/����*�f�&6�&-�U�	�	<�	<�	<�����-�-�-�-����*�f�&6�&-�U�	�	<�	<�	<����*�f�&6�&/�u�	�	>�	>�	>����*�f�&6�&/�u�#�	�	O�	O�	O�	
���*�f�&6��E��J�J�J����*�f�&6��U��K�K�K����*�f�&6��e��L�L�L����*�f�&6��u��M�M�M����*�f�&6����N�N�N�N�Ns6�:&B,�,B0	�3B0	�!(D�D	�D	�
+F�F	�F	c���ttd����td��zttdd����z}|D]i}|�tt	|g�����5tjdt	|g��z��ddd��n#1swxYwY�j|�tt
jd��|�tt
jd��|�tt
jd	��|�tt
jd
��|�tt
jd��dS)N�!s	"',./:[\]�r#r$s0000�|s|Ns|Nss|NsCs|NsC1)�listr�r
r)r�r$rr*s   r�test_b85decode_errorsz$BaseXYTestCase.test_b85decode_errors�sp���u�R�y�y�/�/��~�&�&�'��u�S�#���'�'�(���	7�	7�A��"�"�:�5�!��:�:�"�>�>�
7�
7�� ��5�!��:�:�!5�6�6�6�
7�
7�
7�
7�
7�
7�
7�
7�
7�
7�
7����
7�
7�
7�
7��	
���*�f�&6��=�=�=����*�f�&6��>�>�>����*�f�&6��?�?�?����*�f�&6��@�@�@����*�f�&6��A�A�A�A�As�9&B+�+B/	�2B/	c���tjtjtjtjtjtjtjf}|D]}|�t|d���dS)Nuwith non-ascii Ë)
r$rlrmrnr�r�rrr
r))r�decode_funcsrs   r�test_decode_nonascii_strz'BaseXYTestCase.test_decode_nonascii_str�sn���(��1��0��(��(��(��(�
*���	D�	D�A����j�!�-B�C�C�C�C�	D�	Drc�j�|�ttjt����dSrG)�
assertTrue�
issubclassrwrxr)rys r�test_ErrorHeritagez!BaseXYTestCase.test_ErrorHeritage�s&�����
�8�>�:�>�>�?�?�?�?�?rc�.�tj}tj}tj}tj}|�|d��d��|�|d��d��|�|d��d��|�|d��d��|�|d��d	��|�|d
��d��|�|d��d
��|�|d��d��|�|d��d��|�|d��d��|�|d��d��|�|d��d��|�|d
��d��|�|d��d��|�|d��d��|�|d��d��|�|d��d��|�|d��d��|�|d��d��|�|d
��d��|�|d��d��|�|d��d��|�|d��d��|�|d��d��|�|d��d��|�|d��d��|�|d
��d��|�|d��d��dS) Nr�fsZg==sfosZm8=sfoosZm9vsfoobsZm9vYg==sfoobasZm9vYmE=sfoobarsZm9vYmFysMY======sMZXQ====sMZXW6===sMZXW6YQ=sMZXW6YTBsMZXW6YTBOI======sCO======sCPNG====sCPNMU===sCPNMUOG=sCPNMUOJ1sCPNMUOJ1E8======s66s666Fs666F6Fs666F6F62s
666F6F6261s666F6F626172)r$rKr�r�r�r#)rrKr�r�r�s     r�test_RFC4648_test_casesz&BaseXYTestCase.test_RFC4648_test_cases�s����$�	��*���$�	��$�	������3����-�-�-������4���'�2�2�2������5�)�)�7�3�3�3������6�*�*�G�4�4�4������7�+�+�[�9�9�9������8�,�,�k�:�:�:������9�-�-�{�;�;�;������3����-�-�-������4���+�6�6�6������5�)�)�;�7�7�7������6�*�*�K�8�8�8������7�+�+�[�9�9�9������8�,�,�k�:�:�:������9�-�-�/B�C�C�C������c�*�*�C�0�0�0������d�+�+�[�9�9�9������e�,�,�k�:�:�:������f�-�-�{�;�;�;������g�.�.��<�<�<������h�/�/��=�=�=������i�0�0�2E�F�F�F������3����-�-�-������4���%�0�0�0������5�)�)�7�3�3�3������6�*�*�I�6�6�6������7�+�+�[�9�9�9������8�,�,�m�<�<�<������9�-�-��?�?�?�?�?rN)"r<r=r>rErHrPrLrJrhrurzr�r�r�r�r�r�r�r�r�r�r�r�r�r	rrrrr-r3r6r:r=r?rrrArAXs ������,�,�,�,�,�,�
B�
B�
B�=�=�=�5�5�5�0@�0@�0@�d6@�6@�6@�pC�C�C�E�E�E�@8�8�8�8�8�8�"'J�'J�'J�R;�;�;� 
K�
K�
K�;�;�;�6�6�6�<;�;�;�>�>�>�"8�8�8�C�C�C�60K�0K�0K�d 6� 6� 6�D+2�+2�+2�Z!2�!2�!2�F
B�
B�
B�
B�
B�
B�!O�!O�!O�FB�B�B�	D�	D�	D�@�@�@�%@�%@�%@�%@�%@rrAc�>�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	S)
�TestMainc��tj�tj��r tjtj��dSdSrG)�os�path�existsr�TESTFN�unlinkrys r�tearDownzTestMain.tearDown�s>��
�7�>�>�)�*�+�+�	(��I�i�&�'�'�'�'�'�	(�	(rc�2�tjddg|�R�jS)N�-mr$)r�assert_python_ok�out)r�argss  r�
get_outputzTestMain.get_output�s ���-�d�H�D�t�D�D�D�H�Hrc��|�d��}|�|���d��dS)Nz-t)�b'Aladdin:open sesame's!b'QWxhZGRpbjpvcGVuIHNlc2FtZQ==\n'rN)rL�assertSequenceEqual�
splitlines�r�outputs  r�test_encode_decodezTestMain.test_encode_decode�sH������&�&��� � ��!2�!2�!4�!4�7
�	�	�	�	�	rc�$�ttjd��5}|�d��ddd��n#1swxYwY|�dtj��}|�|���d��dS)N�wb�a�b
�-e�Yf9iCg==��openrrD�writerLr#�rstrip�r�fprRs   r�test_encode_filezTestMain.test_encode_files���
�)�"�D�
)�
)�	"�R��H�H�[�!�!�!�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"�����y�'7�8�8����������+�6�6�6�6�6��=�A�Ac��tjddd��5}|�d��\}}ddd��n#1swxYwY|�|���d��|�|��dS)NrHr$rWrVrX)r�spawn_python�communicater#r\�assertIsNone)r�procrJ�errs    r�test_encode_from_stdinzTestMain.test_encode_from_stdins���
�
'��h��
=�
=�	5���'�'��4�4�H�C��	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5����	5�	5�	5�	5���������{�3�3�3����#�����s�<�A�Ac�$�ttjd��5}|�d��ddd��n#1swxYwY|�dtj��}|�|���d��dS)NrUrXz-dsa�brYr]s   rr;zTestMain.test_decodes���
�)�"�D�
)�
)�	"�R��H�H�[�!�!�!�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"�����y�'7�8�8����������)�4�4�4�4�4r`c��|�d��}|�d|��|�d|��dS)Nz-h�usage: �-d, -u: decode)rL�assertInrQs  r� test_prints_usage_with_help_flagz)TestMain.test_prints_usage_with_help_flagsB������&�&���
�
�j�&�)�)�)��
�
�'��0�0�0�0�0rc��tjddd��j}|�d|��|�d|��dS)NrHr$z-xrjrk)r�assert_python_failurerfrlrQs  r�#test_prints_usage_with_invalid_flagz,TestMain.test_prints_usage_with_invalid_flagsH���4�T�8�T�J�J�N���
�
�j�&�)�)�)��
�
�'��0�0�0�0�0rN)r<r=r>rFrLrSr_rgr;rmrpr?rrr?r?�s�������(�(�(�I�I�I����7�7�7����5�5�5�1�1�1�
1�1�1�1�1rr?�__main__)�unittestr$rwrAr�test.supportrr�TestCaserrAr?r<�mainr?rr�<module>rvs/������
�
�
�
�����	�	�	�	�������"�"�"�"�"�"�&�&�&�&�&�&�KT�KT�KT�KT�KT�8�,�KT�KT�KT�\Z
@�Z
@�Z
@�Z
@�Z
@�X�&�Z
@�Z
@�Z
@�z*1�*1�*1�*1�*1�x� �*1�*1�*1�X�z����H�M�O�O�O�O�O��r