Sindbad~EG File Manager
�
(Μg�����ddlZddlZddlmZddlmZ ddlZddlmZmZdZ
Gd�de�ZGd�dej�Zed k(rej �yy#e $rdZY�CwxYw)
�N)�support)�
import_helper)�PY_SSIZE_T_MIN�PY_SSIZE_T_MAXc��eZdZy)�StrN)�__name__�
__module__�__qualname__���8/usr/local/lib/python3.12/test/test_capi/test_unicode.pyrrs��r
rc�*�eZdZejejedud�d���Zejejedud�d���Z ejejedud�d���Z
ejejedud�d���Zejejedud�d���Zejejedud�d���Z
ejejedud�d ���Zejejedud�d
���Zejejedud�d���Zejejedud�d���Zejejedud�d
���Zejejedud�d���Zejejedud�d���Zd�Zejejedud�d���Zejejedud�d���Zejejedud�d���Zejejedud�d���Zejejedud�d���Zejejedud�d���Zejejedud�d���Zejejedud�d���Zejejedud�d���Zejejedud�d���Zejejedud�d���Z ejejedud�d���Z!ejejedud�d���Z"ejejedud�d���Z#ejejedud�d���Z$ejejedud�d ���Z%ejejedud�d!���Z&ejejedud�d"���Z'ejejedud�d#���Z(ejejedud�d$���Z)ejejedud�d%���Z*ejejedud�d&���Z+ejejedud�d'���Z,ejejedud�d(���Z-ejejedud�d)���Z.ejejedud�d*���Z/ejejedud�d+���Z0ejejedud�d,���Z1ejejedud�d-���Z2ejejedud�d.���Z3ejejedud�d/���Z4ejejedud�d0���Z5ejejedud�d1���Z6y)2�CAPITestNzneed _testcapi modulec�$� ddlm}dD]\}|j|d|�d�|j|d|�t|�dz�|j t
|t|��^|j|dd�d�|j t
|tdzd�|j t
|tdzd zd�|j t
|tdzd
�|j t
|tdzd zd
�|j t
|tdzd
�|j t
|tdzd zd
�|j t|dd�|j t|dd�|j t|td�y)
Nr)�unicode_new)r�a��`O�������r�r����) � _testcapir�assertEqual�chr�assertRaises�MemoryErrorr�SystemErrorr)�self�new�maxchars r�test_newzCAPITest.test_newsW�� #�0�?�G����S��G�_�b�1����S��G�_�c�'�l�1�n�=����k�3���H�@�
����Q��)�2�.����+�s�N�A�,=�v�F����+�s�N�A�,=�a�,?��H����+�s�N�A�,=�w�G����+�s�N�A�,=�a�,?��I����+�s�N�A�,=�w�G����+�s�N�A�,=�a�,?��I����+�s�A�x�8����+�s�B��2����+�s�N�A�>r
c��� ddlm}gd�}gd�}t|�D]�\}}|d|D]}|jt||dd|��||dD]�}gtd��t�D]�}gtdd|z
��t�t�D]c}tt|d|z
�d�} | dk(r |||k7r�*|d|t|�| zz||| zdz}
|j|||||�|
| f��e������|d}|jt||ddd�|jt||tdd�|jt||ddd �|jt|d
ddd�|jt|gddd�y)Nr)�unicode_fill��abcdeu
¡¢£¤¥u你好世界!u😀😁😂😃😄)�x�� �8��rrr-r�abc)rr*� enumerater"�
ValueError�rangerr�max�minr!r �
IndexErrorr$)r%�fill�strings�chars�idx� fill_char�to�start�length�filled�expected�ss r� test_fillzCAPITest.test_fill*s��� $�2�
��.��'��.�N�C���d�s�m���!�!�*�d�B��1�i�H�$��c�d�m��8�u�Q�x�8��8�E�"Y�E�"�a�%�i�$8�"Y�.�"Y�.�"Y��!$�S���U��%;�Q�!?��!�Q�;�2����+=�%�#%�f�u�:��I���0G�#G�"�U�U[�^�_�J]�#]���(�(��b�%���)K�)1�6�(:�<�#Z�9�$� /�
�A�J�����*�d�A�r�1�d�;����*�d�A�~�q�$�G����*�d�A�q�!�X�>����+�t�V�Q��4�@����+�t�R��A�t�<r
c �J� ddlm}gd�}gd�}t|�D]h\}}t|�D]U\}}||kr2|j||d|�|ddt |�z|ddzdf��=|jt||d|��W�j|jt|ddd �|jt|dd
d �|jt|dtd �|jt|dtd �|jt|ddd �|jt|gdd �y)Nr)�unicode_writechar��abcu¡¢£u 你好世u😀😁😂)r-r.r/r0rrrrH�r-rr2)rrFr3r r!r"r4r8rr� TypeError)r%� writecharr:r;�irC�j�cs r�test_writecharzCAPITest.test_writecharRs�� )�<�
��8���g�&�D�A�q�!�%�(���1���6��$�$�Y�q�!�Q�%7�&'���e�c�!�f�n�q���u�&<�a�%@�B��%�%�j�)�Q��1�E�)�'�
���*�i���4�@����*�i���D�A����*�i����M����*�i����M����)�Y���4�@����)�Y��A�t�<r
c�|� ddlm}gd�}|D]�}|j||d�|df�|j||d�|dddf�|j||d�|dzdf�|j||d�|d zdf�|j||d�d
�|jt||t
�|jt||d�|jt||t���|jt|dd�|jt|gd�|jt|td�y)
Nr)�unicode_resizerGrIrr��
z)rrrr2) rrQr r"r#rr$r�NULL)r%�resizer:rCs r�test_resizezCAPITest.test_resizeqs#�� &�6�
��
�A����V�A�q�\�A�q�6�2����V�A�q�\�A�b�q�E�1�:�6����V�A�q�\�A��H�a�=�9����V�A�r�]�Q��Z��O�<����V�A�q�\�7�3����k�6�1�n�E����k�6�1�b�9����k�6�1�n�E��
���+�v�v�q�9����+�v�r�1�5����+�v�t�Q�7r
c�� ddlm}gd�}|D]/}|ddd�}|D] }||z}|j|||�|��"�1|jt|dd�|jt|dd�|jt|dd�|jt|dg�|jt|gd�|jt|gg�|jt|t
d�|jt|dt
�y)Nr)�unicode_appendrGrrHr2)rrXr r"r$rT)r%�appendr:�left�rightrBs r�test_appendzCAPITest.test_append�s��� &�6�
���D���"��:�D� ���%�<��� � ���e�!4�h�?�!��
���+�v�u�f�=����+�v�v�u�=����+�v�v�v�>����+�v�u�b�9����+�v�r�5�9����+�v�r�2�6����+�v�t�U�;����+�v�u�d�;r
c�� ddlm}gd�}|D]-}|ddd�}|D]}|j|||�||z�� �/|jt|dd�|jt|dd�|jt|dd�|jt|dg�|jt|gd�|jt|gg�|jt|t
d�|jt|dt
�y)Nr)�unicode_appendanddelrGrrHr2)rr^r r"r$rT)r%�appendanddelr:rZr[s r�test_appendanddelzCAPITest.test_appendanddel�s��� ,�B�
���D���"��:�D� ��� � ��d�E�!:�D�5�L�I�!��
���+�|�U�F�C����+�|�V�U�C����+�|�V�V�D����+�|�U�B�?����+�|�R��?����+�|�R��<����+�|�T�5�A����+�|�U�D�Ar
c�� ddlm}|j|d�d�|j|dd�d�|j|d�d�|j|d �d
�|j|d�d�|j|d
�d�|jt|dd�|jt|dd�|j|dd�d�|j|t
d�d�|jt|dt�|jt|dd�|jt|dt�|jt|t
d�|jt|t
t�|jt|t
d�|jt|t
t�y)Nr)�unicode_fromstringandsizer2rHr�ab�abcdef�abcdef�¡¢�¡¢�你�你�😀�😀s¡r��r
rrrI)
rrbr r"�UnicodeDecodeErrorrTr#rr$r)r%�fromstringandsizes r�test_fromstringandsizezCAPITest.test_fromstringandsize�s��� 1�L����*�6�2�E�:����*�6�1�5�t�<����*�;�7��D����*�+>�?��L����*�?�;�X�F����*�+>�?��N����,�.?��a�P����,�.?��!�L����*�3��2�B�7����*�4��3�R�8����+�'8�&�.�Q����+�'8�&�"�E����+�'8�&�.�Q����+�'8�$��C����+�'8�$��O����+�'8�$��B����+�'8�$��Or
c�^� ddlm}|j|d�d�|j|d�d�|j|d�d�|j|d �d
�|jt|d�|jt|d�|j|d
�d�y)Nr)�unicode_fromstringr2rHrfrgrhrirjrk��rlr
r)rrqr r"rm)r%�
fromstrings r�test_fromstringzCAPITest.test_fromstring�s��� *�>�����F�+�U�3�����$7�8�*�E�����O�4�h�?�����$7�8�,�G����,�j�'�B����,�j�'�B�����C��"�-r
c ��� ddlm}gd�}d}|ddD]*}|j|d|j|��|��,tj
dk(rdnd }|dd
D]*}|j|d|j|��|��,tj
dk(rdnd}|D]*}|j|d
|j|��|��,|j|ddj|��d�dD]U}|j||d�d�|j||d|z�d�|j||td�d��WdD]}|jt||d��|jt|ddd�|jt|ddt�|jt|dtd�|jt|dtt�y)Nr)�unicode_fromkindanddatar+�latin1rr�little�utf-16le�utf-16berI�utf-32le�utf-32berrku��)rrrr
r�rR)rrrIr�r2r)rrvr �encode�sys� byteorderrTr"r$r4r)r%�fromkindanddatar:�enc1rC�enc2�enc4�kinds r�test_fromkindanddatazCAPITest.test_fromkindanddata�s��� /�H�
��
����!��A����_�Q������?��C�� �]�]�h�6�z�J����!��A����_�Q������?��C�� �]�]�h�6�z�J���A����_�Q������?��C�������L�,?�,?��,E�F�'� )��D����_�T�3�7��<����_�T�5��:�>��E����_�T�4��;�R�@��
#�D����k�?�D�#�F�#����*�o�q�&�"�E����*�o�q�&�.�Q����*�o�q�$��C����*�o�q�$��Or
c
��� ddlm}gd�}|D]v}gtdt|�dz��t�D]Q}gtt|dz
d�t|�dz��t�D]}|j
||||�|||��!�S�x|jt|ddd�|jt|dtd�|jt|ddd�|jt|ddt�y)Nr)�unicode_substring)rcuab¡¢uab¡¢你好uab¡¢你好😀😁rrrHr)
rr�r5�lenrr6r r"r8r)r%� substringr:rCr?�ends r�test_substringzCAPITest.test_substrings��� )�<�
��
�A�@�5��C��F�Q�J�/�@��@��P�U�3�u�Q�w��?�C��F�Q�J�?�P��P�C��$�$�Y�q�%��%=�q��s�|�L�Q�A��
���*�i���A�>����*�i����J����*�i���2�>����*�i���>�Jr
c�� ddlm}dD]#}|j||�t|���%|j t
|d�|j t
|g�y)Nr)�unicode_getlength�rHrgu你好�a😀u a�b�cu��r2)rr�r r�r"rJ)r%� getlengthrCs r�test_getlengthzCAPITest.test_getlength'sT�� )�<�5�A����Y�q�\�3�q�6�2�5�
���)�Y��7����)�Y��3r
c ��� ddlm}dD]�}t|�D]'\}}|j|||�t |���)|jt||t|��|jt||t�|jt||d�|jt||t���|jt|dd�|jt|gd�y)Nr)�unicode_readcharr�rr2)rr�r3r �ordr"r8r�rrrJ)r%�readcharrCrLrNs r�
test_readcharzCAPITest.test_readchar5s��� (�:�5�A�!�!����1�� � ��!�Q���Q��8�%����j�(�A�s�1�v�>����j�(�A�~�F����j�(�A�r�:����j�(�A�~�F�5�
���)�X�v�q�9����)�X�r�1�5r
c�X� ddlm}dD]p}|j||�|�t|�}||�}|j||�|j t|�t�|j||��r|jt|d�|jt|g�y)Nr)�unicode_fromobjectr�r2)
rr�r r�assertIs�type�str�assertIsNotr"rJ)r%�
fromobjectrC�o�s2s r�test_fromobjectzCAPITest.test_fromobjectHs��� *�>�5�A����Z��]�A�.��A��A��A��B����R��#��M�M�$�r�(�C�(����R��#�5�
���)�Z��8����)�Z��4r
c
���� �!� tjd�ddlm}m}m�!m}m}m}m }m
}m}m} m
}
m}m}m}m}
m}d}t%||�� |f� _�!� _� �!fd����fd�}|ddd ��j+t,d
�dd�|d
d|d��|dd|d���j/t0�5�d|d��ddd�|dd|d�|d��|dd�|dd�|dd�|ddd�|d d!d"�|d#d$d%j3d&��|d'd(d)�|d*d+d,�|d-d.d)�|d/d0d,�|d1d2d,�|d1d3d,�|d1d4d,d�|d#d5dd%j3d&��|d6d7d �|d8d9d �|d:d;d �|d<d=d �|d>d?d �|d@dAd �|d<dBd �|d>dCd �|d@dDd �|d6dEd�|d8dFd�|d:dGd�|d6dHd �|d8dId �|d:dJd �|d6dKd dL�|d8dMd dL�|d:dNd dL�|dOdKddL�|dPdMddL�|dQdNddL�|dRdS|dT��|dUdV|dT��dWD]d\}}}}dX|r|n|fdY|r|n| fdZ|r|n|
fd[|r|n|ffD]<\}}�j5d\|z|z�]�5||d\|z|z||��ddd��>�fd^d_||�zd`z
z}|d`z
}|t7|�da||��|t7|�da||��d^d_||
�zzd`z
}|t7|�db|
|���dc|dd��|dedf|dg��|dhdi|dg��|djdk|dg��|dldm|dg��|dldn|dg��|dedo|dg��|dpdq|dg��|dhdr|dg��|dsdt|dg��|djdu|dg��|dvdw|dg��|dvdx|dg��|dydf|dz��|d{di|dz��|d|dk|dz��|d}dm|dz��|d}dn|dz��|dydo|dz��|d~dq|dz��|d{dr|dz��|ddt|dz��|d|du|dz��|d�dw|dz��|d�dx|dz��|ded�|dg��|dhd�|dg��|djd�|dg��|dld�|dg��|dld�|dg��|ded�|dg��|dpd�|dg��|dhd�|dg��|dsd�|dg��|djd�|dg��|dvd�|dg��|dvd�|dg��|ded�|d���|dhd�|d���|djd�|d���|dld�|d���|dld�|d���|ded�|d���|dpd�|d���|dhd�|d���|dsd�|d���|djd�|d���|dvd�|d���|dvd�|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�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�ddī|d d�|d ��|d�d�|dǫ�|d�d�|dȫ�|d�d�|d ��|d�d�|dǫ�|d�d�|dȫ�|d�d�|dǫ�|||
�d^kDrd�nd�d�|dȫ�|||
�d^kDrd�nd�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^kDrd�nd�d�d|dȫ�|||
�d^kDrd�nd�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^�dd�|d�d�|d۫|d^�d|d ��|d�d�|d_�|dg��|d�d�|d۫|dg��|d�d�|d_�|d۫|dg��d�}�dcd �}�j9|t6��j;||��d�d�dī}�j9|t6��j;|d��dcd�ddī}�j9|t6��j;||�|d�d�dd�|d�d�dd�|d�dX�|d�d�dX�d�D]6}�j5|���5�j+t<d��|d�ddd��8�j+t<d��d�|dT��y#1swY�
��xYw#1swY���xYw#1swY�|xYw)�N�ctypesr)�c_char_p� pythonapi� py_object�sizeof�c_int�c_long�
c_longlong� c_ssize_t�c_uint�c_ulong�c_ulonglong�c_size_t�c_void_pr��c_wchar� c_wchar_p�PyUnicode_FromFormatc�>��t�fd�|D��}�|g|���S)Nc3�R�K�|]}t|t�r�|�n|��� y�w�N)�
isinstancer�)�.0�argr�s �r� <genexpr>zJCAPITest.test_from_format.<locals>.PyUnicode_FromFormat.<locals>.<genexpr>ns+�����!��C�#-�S�#�"6� �#��C�?��s�$')�tuple)�format�args�cargs�_PyUnicode_FromFormatr�s ��rr�z7CAPITest.test_from_format.<locals>.PyUnicode_FromFormatms,����!��!�!�E�)��8�%�8�8r
c�<���|g|���}�j||�yr�)r )rBr�r��textr�r%s ��r�check_formatz/CAPITest.test_from_format.<locals>.check_formatss"���'��6��6�D����X�t�,r
uascii=unicodeés ascii=%Uu unicodeéz^^PyUnicode_FromFormatV\(\) expects an ASCII-encoded format string, got a non-ASCII byte: 0xe9$sunicode�=%s�asciiuꯍs%ciͫurru𐀀s%c%cii�%s%%z%ss%%sz[%]s[%%]z%abcs%%%sr2rHs%.3ssabcdefuabc[�s%.5suabc[€]�utf8z'\u20acABC's%Au€ABCz'\u20s%.5Au €ABCDEFu'€ABC's%Ru'€As%.3Ru€ABs%.3Ss%.3Us%.3Vs%.5Vz
repr= abcsrepr=%5Szrepr=abs repr=%.2Sz
repr= abs
repr=%5.2Sz
repr= 'abc'srepr=%8Rzrepr='abs repr=%.3Rz
repr= 'abs
repr=%5.3Rsrepr=%8As repr=%.3As
repr=%5.3Asrepr=%5ss repr=%.2ss
repr=%5.2ssrepr=%5Us repr=%.2Us
repr=%5.2Usrepr=%5V�123s repr=%.2Vs
repr=%5.2Vz
repr= 123zrepr=12z
repr= 12�010s%03irS�0010s%0.4i))�iT����-123)�dTr�r�)�uF�{�123)�oF�Sr�)�xF�
rH)�XFr��ABCr
�lsll�z�%)r�rr~rs%llds%llus%prr�s%2ir�z
123s%10i�
0000000123s%010iz
123 s%-10is%-010is%.2i�0000123s%.7is%10.2iz
0000123s%10.7is%010.7iz
0000123 s%-10.7is%-010.7ir�r�z
-123z
-000000123z
-123 z-0000123z
-0000123z
-0000123 s%2us%10us%010us%-10us%-010us%.2us%.7us%10.2us%10.7us%010.7us%-10.7us%-010.7us%2or�s%10os%010os%-10os%-010os%.2os%.7os%10.2os%10.7os%010.7os%-10.7os%-010.7os%2xr�z
abcs%10x�
0000000abcs%010xz
abc s%-10xs%-010xs%.2x�0000abcs%.7xs%10.2xz
0000abcs%10.7xs%010.7xz
0000abc s%-10.7xs%-010.7xr�s%2Xz
ABCs%10X�
0000000ABCs%010Xz
ABC s%-10Xs%-010Xs%.2X�0000ABCs%.7Xs%10.2Xz
0000ABCs%10.7Xs%010.7Xz
0000ABC s%-10.7Xs%-010.7Xz%A:'abc\xe9\uabcd\U0010ffff's%%A:%Auabcéꯍs%Vsxyz�xyzs%lsu人民u 💻+🐍z abs%5.2lsu 人民s%5lsu 💻+🐍u人s%.1lsu💻��u💻+s%.2lss%lVs%5.2lVs%5lVs%.1lVs%.2lVz abcs%*srrcs%.*ss%*.*ss%*Us%.*Us%*.*Us%*.*Vs%*.*lVz 123s%*i�00123s%.*iz 00123s%*.*iz^0x[a-zA-Z0-9]{3,}$s%p %p�123456z#0x[a-zA-Z0-9]{3,} 0x[a-zA-Z0-9]{3,}urepr=人民srepr=%Vs人民urepr=abc�sabc�rs%s)r�s%0s%01s%.s%.1s%0%ss%1%ss%.%ss%.1%ss%1abcs%ls%lls%zs%llss%zs)�fmtzinvalid format strings%+i)r�
import_moduler�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r��getattr�argtypes�restype�assertRaisesRegexr4r"�
OverflowErrorr�subTestr��assertIsInstance�assertRegexr$)"r%r�r�r�r�r�r�r�r�r�r�r�r�r�r��namer��conv�signed�valuerB�mod�ctype�min_longlong�max_longlong�
max_ulonglong�p_format_regex� p_format1� p_format2� p_format3r�r�r�r�s"` @@@r�test_from_formatzCAPITest.test_from_format[sp
���)�
�#�#�H�-� (� (� (� (� (�&�� '� �4� 8��*2���&�(1��%� 9� -�
�,�$�m� 5�
���z�
2� �"3�W� >� �X��E�&�M� +��\��E�(�O� -�
�
�
�}�
-� ���h��8�.� �+��e�G�n�e�H�o� ?� �S�� ��T�� ��U�� ��V��f� &� �U��i� )��\��m�2�2�6�:� <��^��K� )��X��n� .��]��K� )��Z��n� .��Z��n� .��Z��n� .��Z��n�d� 4��\��d�M�$8�$8��$@� B�
�\� �%� )��Y�!�5� *��\�"�E� +� �_� �%� )��Z�!�5� *��\�"�E� +� �_� �%� )��Z�!�5� *��\�"�E� +� �\� �&� *��Y�!�6� +��\�"�F� ,� �\� �%� )��Y�!�5� *��\�"�E� +� �\� �%�� 1��Y�!�5�&� 2��\�"�E�6� 3��\� �$�� 0��Y�!�4�� 1��\�"�D�&� 2� �U��e�B�i� )��V��u�R�y� *�.
�)�D�&�%���v�e�6�2���v�W�5��f�
�+�>��F�y��9� �
��U��\�\����d�):�\�;� ��!%���d�!2�E�%�L�B�<�;�
�.
�&�q�6�*�#5�5��9�:�;��$�}�q�(���S��&��j��6� 8��S��&��j��6� 8��a�&��"5�5�6��:�
��S��'��k�-�8� :��U�H�R�L�1� �U�6�5��:�6��\�7�E�#�J�7��\�8�U�3�Z�8��\�8�U�3�Z�8��\�9�e�C�j�9��U�7�E�#�J�7��Y�7�E�#�J�7��\�9�e�C�j�9��\�9�e�C�j�9��\�:�u�S�z�:��\�:�u�S�z�:��\�;��c�
�;��V�6�5��;�7��\�7�E�$�K�8��\�8�U�4�[�9��\�8�U�4�[�9��\�9�e�D�k�:��V�7�E�$�K�8��Z�7�E�$�K�8��\�9�e�D�k�:��\�9�e�D�k�:��\�:�u�T�{�;��\�:�u�T�{�;��\�;��d��<��U�6�6�#�;�7��\�7�F�3�K�8��\�8�V�C�[�9��\�8�V�C�[�9��\�9�f�S�k�:��U�7�F�3�K�8��Y�7�F�3�K�8��\�9�f�S�k�:��\�9�f�S�k�:��\�:�v�c�{�;��\�:�v�c�{�;��\�;��s��<��U�6�6�%�=�9��\�7�F�5�M�:��\�8�V�E�]�;��\�8�V�E�]�;��\�9�f�U�m�<��U�7�F�5�M�:��Y�7�F�5�M�:��\�9�f�U�m�<��\�9�f�U�m�<��\�:�v�e�}�=��\�:�v�e�}�=��\�;��u�
�>��U�6�6�%�=�9��\�7�F�5�M�:��\�8�V�E�]�;��\�8�V�E�]�;��\�9�f�U�m�<��U�7�F�5�M�:��Y�7�F�5�M�:��\�9�f�U�m�<��\�9�f�U�m�<��\�:�v�e�}�=��\�:�v�e�}�=��\�;��u�
�>��U�6�6�%�=�9��\�7�F�5�M�:��\�8�V�E�]�;��\�8�V�E�]�;��\�9�f�U�m�<��U�7�F�5�M�:��Y�7�F�5�M�:��\�9�f�U�m�<��\�9�f�U�m�<��\�:�v�e�}�=��\�:�v�e�}�=��\�;��u�
�>� �4�� 9� ;� �U��E�6� +��U��D�&� *� �U�F�I�e�$4�5��^�V�Y�~�-F�G��,��Y�'>�?� A��W�i��5�)9�:��&���>�1J�K��.��i�(?�@� B��X�x��>�)B�C��V�G�_�q�%8�\�h��y�)@�A� C��f�W�o��&9�]�|��y�)@�A� C� �U��U�I�e�$4� 6��U��T�9�U�#3� 5��^��T�9�^�#<� >��,��T�9�-D�#E� G��W���i��&6� 8��&��d�I�n�$=� ?��.��d�I�.E�$F� H��X��t�Y�~�%>� @��V�G�_�q�%8�\�h��t�Y�/F�%G� I��f�W�o��&9�]�|��t�Y�/F�%G� I� �W�f�e�A�h��7��T�7�E�!�H�f�5��W�h��a��%��(�F�C��W�f�e�A�h��6��T�7�E�!�H�e�4��W�h��a��%��(�E�B��W�h��a��%��(�D�&�I��W�i��q��5��8��9�U�+� -��Z���q��5��:�>��W�g�u�Q�x��s��<��Z��5��8�U�1�X�u�S�z�J�0��(���6� ����i��-�����N�3�(��8�V�D� ����i��-�����?� A�)���$��G� ����i��-�����N�3�
�(���'B� D� �%���z� 3� �R�� ��R��C� !�
;�C����#��&��&�&�{�4K�(�#�v�7�'�&�;�
���{�,C� �&�%��)� 5�o .�
-��`<�;��H'�&�s$�n�n+�n8�n(�+n5�8o c�f� ddlm}dj�}||�}|j|d�y)Nr)�unicode_interninplacer2rH)rr��decoder )r%�
interninplacerC�rs r�test_interninplacezCAPITest.test_interninplace�s/�� -�D��M�M�O���!�������E�"r
c�� ddlm}|j|d�d�|j|d�d�|jt|d�|jt|d�|j|d �d
�y)Nr)�unicode_internfromstringr2rHrjrkrrrlr
r)rrr r"rm)r%�internfromstrings r�test_internfromstringzCAPITest.test_internfromstring�su�� 0�J����)�&�1�5�9����)�*=�>��M����,�.>��H����,�.>��H����)�#�.��3r
c�� ddlm}ddlm}|dk(rtjdk(rdnd}n|dk(rtjdk(rd nd
}dD]J}|j�}|j
||�|�|j
||d|zzd
�|��LdD]K}|jd�}|j
||�|�|j
||d|zzd
�|��M|j
|dj�d�d�|dk(r(|j
|dj|�d�d�|jt|dt�|jt|d|zd�|jt|d|zt�|j
|td�d�|jt|td�|jt|tt�|jt|td
�|jt|td�|jt|tt�y)Nr)�unicode_fromwidechar��SIZEOF_WCHAR_Trrxryrzrr{r|)rrHrgrirkr}r)r�u��
surrogatepassrHrcr�ua�r
���rr)
rrr r�r�rr r"r#rr$rrT)r%�fromwidecharr �encodingrC�bs r�test_fromwidecharzCAPITest.test_fromwidechar�s��� ,�B�,��Q��%(�]�]�h�%>�z�J�H�
�q�
�%(�]�]�h�%>�z�J�H�>�A�����"�A����\�!�_�a�0����\�!�e�N�.B�*B�B�G��K�?�$�A�����?�3�A����\�!�_�a�0����\�!�e�N�.B�*B�B�G��K�$�
����e�l�l�8�&<�a�@�$�G��Q�����\�-�*>�*>�x�*H�!�L�i�X����+�|�S�.�I����+�|�U�>�5I�2�N����+�|�U�>�5I�>�Z�����d�A�.��3����+�|�T�1�=����+�|�T�>�J����+�|�T�2�>����+�|�T�2�>����+�|�T�>�Jr
c�� ddlm}ddlm}ddlm}|dd�\}}|j |d�|j |d�|dd �\}}|j |d �|j |d�|j |dd
�d�|j |dd�d�|dd�\}}|j |d �|j |d�|dd
�\}}|j |d �|j |d�|d
d�\}}|j |d�|j |d�|j |d
d�d�td�}|dk(rd}nd}||d
�\}}|j ||�|j ||dz�|j ||d
�|dz�|j
t|dd
�|j
t|gd
�|j
t|td
�|j
t|dd
�|j
t|gd
�|j
t|td
�y)Nr)�unicode_aswidechar)�unicode_aswidechar_nullr�abcdefrrcrHrIrSr�abcre�r1�abcdefr~rrrRr2)
rrrr r r!r"rJr$rT)r%rrr �wchar�size�nonbmp�nchars r�test_aswidecharzCAPITest.test_aswidechar�s1�� *�0�5�,�(��1�5���t�����q�!������%�(���2���t�����q�!������&����0���;�Q�?����0���:�A�>�(���2���t�����q�!������(�(���3���t�����q�!������(�(��R�8���t�����q�!������-����0��R�@�!�D��X����Q���E��E�(���4���t�����u�%�������
�.����0���<�e�a�i�H����)�%7���D����)�%7��R�@����+�'9�4��D����)�%<�f�b�I����)�%<�b�"�E����+�'>��b�Ir
c�&� ddlm}ddlm}ddlm}|d�\}}|j |d�|j |d�|j |d�d�|d�\}}|j |d �|j |d
�|jt|d�td�}|dk(rd}nd
}||�\}}|j ||�|j ||dz�|j ||�|�|jt|d�|jt|g�|jt|t�|jt|d�|jt|g�|jt|t�y)Nr)�unicode_aswidecharstring)�unicode_aswidecharstring_nullrrHrIrrer1rrrrrRr2)rrrr r r"r4r!rJr$rT)r%rrr rrrrs r�test_aswidecharstringzCAPITest.test_aswidecharstring/sj�� 0�6�;�,�.�u�5���t�����q�!������(����6�u�=�u�E�.�z�:���t�����q�!������-����*�&C�Z�P��X����Q���E��E�.�v�6���t�����u�%�������
�.����6�v�>��G����)�%=�v�F����)�%=�r�B����+�'?��F����)�%B�F�K����)�%B�B�G����+�'D�d�Kr
c �\� ddlm}dD�]}t|�}|j|||d�|dz�|j|||d�|dz�|j|||dzd�|dz�|j|||dzd�|dz�|j t
|||dz
d�|j t
|||dz
d�dj
||g�}|j||t|�d�|dz�|j||t|�d�|dz���"y) Nr)�unicode_asucs4r�rrRuur)rr!r�r r"r$�join)r%r!rC�ls r�test_asucs4zCAPITest.test_asucs4Rs#�� &�,�5�A��A��A����^�A�q�!�4�a��f�=����^�A�q�!�4�a��j�A����^�A�q��s�A�6��*��E����^�A�q��s�A�6��*��E����k�>�1�a��c�1�E����k�>�1�a��c�1�E�� � �1�a�&�!�A����^�A�s�1�v�q�9�1�T�6�B����^�A�s�1�v�q�9�1�X�:�F�5r
c�� ddlm}dD]K}|j||�|dz�dj||g�}|j||�|dz��My)Nr)�unicode_asucs4copyr�rR)rr&r r")r%�
asucs4copyrCs r�test_asucs4copyzCAPITest.test_asucs4copyksX�� *�>�5�A����Z��]�A�d�F�3�� � �1�a�&�!�A����Z��]�A�d�F�3� 5r
c�� ddlm}|j|d�d�|j|d�d�|j|d�d�|jt|d �|jt|d
�y)Nr)�unicode_fromordinalr�ar/�€rrkrr)rr*r r"r4)r%�fromordinals r�test_fromordinalzCAPITest.test_fromordinal{sm�� +�@�����T�*�C�0�����V�,�h�7�����W�-�|�<����*�k�8�<����*�k�2�6r
c�j� ddlm}|j|dd�d�|j|dd�d�|j|d d
�d�|j|dd
�d�|jt|dd�|jt
|dd�|jt
|gd�y)Nr)�unicode_asutf8rHr�abc�абвr1�абвrkr�😀rer~�abcdef��r2)rr0r r"�UnicodeEncodeErrorrJ)r%r0s r�test_asutf8zCAPITest.test_asutf8�s��� &�,������q�1�8�<������!�4�6S�T������a�8�:O�P�����
�A�6�
�F����,�n�h��J����)�^�V�Q�?����)�^�R��;r
c�j� ddlm}ddlm}|j|dd�d�|j|dd�d �|j|d
d�d�|j|d
d�d�|j|dd�d�|j|d
d�d�|j t
|dd�|j t|dd�|j t|gd�|j t
|dd�|j t|dd�|j t|gd�y)Nr)�unicode_asutf8andsize)�unicode_asutf8andsize_nullrHr)r1rIr2r1)r3�rkr)r4rrer~)r5r1r1r5r6r2)rr:r;r r"r7rJ)r%r:r;s r�test_asutf8andsizezCAPITest.test_asutf8andsize�s!�� -�3�8����.�u�a�8�-�H����.�x��;�=_�`����.�|�Q�?�A[�\����.�z�1�=�?Q�R����3�E�1�=�x�H����3�J��B�M�R����,�.C�X�q�Q����)�%:�F�A�F����)�%:�B��B����,�.H�(�TU�V����)�%?���K����)�%?��Q�Gr
c�@� ddlm}|j|�d�y)Nr)�unicode_getdefaultencodingsutf-8)rr?r )r%�getdefaultencodings r�test_getdefaultencodingz CAPITest.test_getdefaultencoding�s�� 2�N����+�-�x�8r
c�^� ddlm}|j|d�d�|j|d�d�|j|d�d�|j|d�d �|j|d
�d
�|jt|d�|jt|g�y)Nr)�'unicode_transformdecimalandspacetoasciir�u٣.١٤z3.14u
3.14 z 3.14 u12€3z12?rr�)rrCr r"r$)r%�transform_decimals r� test_transform_decimal_and_spacez)CAPITest.test_transform_decimal_and_space�s��� @�Z����*�5�1�� ����*�+@�A�� !����*�+I�J�!� #����*�;�7�� ����*�2�.��3����+�'8�&�A����+�'8�"�=r
c�,� ddlm}|j|dd�d�|j|dd�d�|j|dd�d �|j|dd�d
�|j|dd�d
�|jt|dd�|jt|dd�|jt|dd�|jt|gd�|jt|dg�|jt|gg�y)Nr)�unicode_concatrH�defruгдеu abcгдеr2u абвdefuабвгдеzabzcdzabcdr2�def)rrGr r"rJ)r%�concats r�test_concatzCAPITest.test_concat�s��� &�6������u�-�x�8������x�0�+�>������%�0�+�>������(�3�^�D�������/��<����)�V�V�U�;����)�V�U�F�;����)�V�V�V�<����)�V�R��7����)�V�U�B�7����)�V�R��4r
c�,� ddlm}|j|dd�gd��|j|ddd�gd��|j|ddt�gd��|j|ddd�gd��|j|ddt�gd��|j|dd �dg�|j|d
d�gd��|j|d
d�gd��|j|dd�gd��|j|dt
�gd��|j|dt
�gd��|j
t|dd�|j
t|dtd��|j
t|gd�y)Nr)�
unicode_split�a|b|c|d�|�r+rrN�dr)r+rzc|drr,� a||b|c||d�||�r+�b|crQ�а|б|в|г��а�б�в�г�абабагаламагаrX�rrYrYr[uлuмr[r� a b
c
de�r+rrNrQ�e�a
b c d er)
rrMr rrrTr"r4rJr�)r%�splits r�
test_splitzCAPITest.test_split�sk�� %�4�����y�#�.�0D�E�����y�#�q�1�3D�E�����y�#�~�>�-� /�����y�#�r�2�4H�I�����y�#�~�>�-� /�����y�(�3�i�[�A�����{�D�1�3D�E�����}�c�2�4L�M�����;�T�B�E� G�����1�4�8�2� 4�����:�D�A�2� 4�
���*�e�Y��;����)�U�I�s�3�x�@����)�U�B��4r
c�b� ddlm}|j|dd�gd��|j|ddd�gd��|j|ddt�gd��|j|ddd�gd��|j|ddt�gd��|j|dd �dg�|j|d
d�gd��|j|d
d�gd��|j|dd�gd��|j|dd�gd��|j|dt
�gd��|j|dt
�gd��|j
t|dd�|j
t|dtd��|j
t|gd�y)Nr)�unicode_rsplitrNrOrPr)�a|brNrQrr,rRrSrTrVrWr\rXr]u
aжbжcжd�жr^r_rar)
rrer rrrTr"r4rJr�)r%�rsplits r�test_rsplitzCAPITest.test_rsplit�s��� &�6����� �3�/�1E�F����� �3��2�4E�F����� �3��?�-� /����� �3��3�5I�J����� �3��?�-� /����� �8�4�y�k�B������T�2�4E�F�����
�s�3�5M�N����� <�d�C�E� G������d�3�5I�J����� 2�D�9�2� 4����� ;�T�B�2� 4�
���*�f�i��<����)�V�Y��C��A����)�V�R��5r
c�� ddlm}|j|dd�d�|j|dd�d�|j|d d�d
�|j|dd�d
�|j|dd�d�|jt|dd�|jt
|dd�|jt
|dd�|jt
|dt
d��|jt
|gd�y)Nr)�unicode_partition�a|b|crO)r+rOrU�a||b||crS)r+rSzb||c�а|б|в)rXrOuб|в�
кабанrX)uкrXuбан�aжbжcrg)r+rgubжcr�a|b|c�|)rrkr r"r4rJr�)r%� partitions r�test_partitionzCAPITest.test_partitions��� )�<�����7�C�0�2C�D�����9�d�3�5H�I�����:�s�3�5I�J�����<��6�8N�O�����9�d�3�5H�I����*�i��"�=����)�Y��#�>����)�Y���>����)�Y���S��B����)�Y��C�8r
c�� ddlm}|j|dd�d�|j|dd�d�|j|d d�d
�|j|dd�d
�|j|dd�d�|jt|dd�|jt
|dd�|jt
|dd�|jt
|dt
d��|jt
|gd�y)Nr)�unicode_rpartitionrlrO)rfrOrNrmrS)za||brSrNrn)uа|бrOrZrorX)uкабrXuнrprg)uaжbrgrNrrqrr)rrvr r"r4rJr�)r%�
rpartitions r�test_rpartitionzCAPITest.test_rpartition-s��� *�>�����G�S�1�3D�E�����I�t�4�6I�J�����J��4�6J�K�����L�$�7�9O�P�����I�t�4�6I�J����*�j�'�2�>����)�Z��3�?����)�Z��$�?����)�Z��#�c�(�C����)�Z��S�9r
c�H� ddlm}|j|d�gd��|j|dd�gd��|j|d�gd��|j|dd�gd��|j|d �gd
��|jt|d�y)Nr)�unicode_splitlinesza
b
c
drPT)za
zb
zc
rQua
b
c
d)ua
ub
uc
rQuа
б
в
гrWsa
b
c
d)rrzr r"rJ)r%�
splitliness r�test_splitlineszCAPITest.test_splitlinesAs��� *�>�����N�3�5I�J�����N�D�9�5� 7�����$:�;�-� /�����$:�D�A�=� ?�����$6�7�9Q�R����)�Z��Ar
c�� ddlm}|j|dtd�dtd�td�td�d i�d
�|j|dtd�d
td�td�td�d i�d�|j|di�d�|j|dg�d�|j t
|dtd�di�|j t
|dtd�did�|j t|dtd�did�|j|dtd�did�d�|j|dtd�did�d�|j|dtd�did�d�|j t|dg�|j t|dg�|j t|dtd�di�|j t|dd�|j t|dt�|j t|dtd�did�y)Nr)�unicode_translate�abcdr+�Ar�BrN�<>zAB<>duабвгrXuАrYuБrZuАБ<>гrH�strict�foo�ignore�ac�replaceua�c�backslashreplaceza\x62cr2r��A) rr~r r�r"�UnicodeTranslateError�LookupErrorrJrT)r%� translates r�test_translatezCAPITest.test_translateSs��� )�<�����6�C��H�c�3�s�8�S��X�s�SV�x�Y]�+^�_�ah�i�����:��D� �4��T��C�PT�I�WZ�[_�W`�bf�/g�h�jt�u�����5�"�-�u�5�����5�"�-�u�5����/��E�C��H�d�CS�T����/��E�C��H�d�CS�U]�^����+�y�%�#�c�(�D�9I�5�Q�����5�3�s�8�T�*:�H�E�t�L�����5�3�s�8�T�*:�I�F�
�S�����5�3�s�8�T�*:�<N�O�QZ�[����)�Y���;����)�Y��R�8����)�Y���C��$�7G�H����)�Y��s�;����)�Y��t�<����+�y�%�#�c�(�D�9I�5�Qr
c�� ddlm}|j|dgd��d�|j|dgd��d�|j|dgd��d �|j|tgd��d
�|j|dgd��d�|j|d
gd��d�|j t
|dgd��|j t
|dgd��|j t
|tgd��|j t
|dd�|j t
|dd�|j t|dt�y)Nr)�unicode_joinrO)r+rrNrl)r+rrNza||crrHza b c)rXrYrZrnrgu
ажбжвrr)�a�b�cr�r�)rr�r rTr"rJr$)r%r"s r� test_joinzCAPITest.test_joinls�� $�2�����c�?�3�W�=�����c�>�2�F�;�����b�/�2�E�:�����d�O�4�g�>�����c�#5�6�
�C�����d�$6�7��F����)�T�4��A����)�T�3�0B�C����)�T�4�1C�D����)�T�3��7����)�T�3��4����+�t�S�$�7r
c�H� ddlm}dD]9}t|�D])\}}|j|||dt |��d��+�;d}|j||ddt |��d�|j||ddt |��t |�dz�|j||ddt |�dz�d�|j||ddt
�d�|j||ddd�d�|j||dt |�d�d�|j||dt |�d �d�|j||dt |�dz
d �d�|j||dtd �d�|jt||d
dt |��|jt|dddt |��|jt||td�dt |��|jt|gddt |�d�y)Nr)�
unicode_count��¡u耀肀u��u🄀🇱r�!>_<!�zr�!r�!�!>_<!)
rr�r3r r�rrr"rJr�)r%r�r�rL�chs r�
test_countzCAPITest.test_count~s��� %�+�Q�C�"�3����2�� � ��s�B��3�s�8�!D�a�H�(�R�������s�C��C��H�=�q�A�����s�B��3�s�8�<�c�#�h�q�j�I�����s�C��C��H�Q�J�?��C�����s�C��N�C�Q�G�����s�C��A�6��:�����s�C��S��1�=�q�A�����s�C�#�c�(��B�?��C�����s�C�#�c�(��1��b�A�1�E�����s�C���D�a�H����)�]�C��q�#�c�(�K����)�]�H�c�1�c�#�h�O����)�]�C��S��1�c�#�h�O����)�]�B��Q��C��!�Lr
c
�� ddlm}d}|j||ddt|�d�d�|j||ddt|�d�d�|j||ddtd�d�|j||dt|�td�d�|j||dt
t|�d�d�|j||ddtd�d�|j||dt
t|�d�d�|j||ddt|�d�d�|j||ddt|�d�d�|j||d dt|�d�d�|j||d dt|�d�d�|j||d
dt|�dz
d�d�|j||d
dt|�dz
d�d�|j||ddt|�dz
d�d�|j||d
t|�dzdd�d�|j||ddt|�d�d�|j||ddt|�dz
d�d�|j||dt|�dd�d�|j
t||ddt|�d�|j
t||ddt|�d�y)
Nr)�unicode_tailmatch�
ababahalamaha�abarr�ahar�r�ba�ah)r�r�)rr�r r�rrr"rJ)r%� tailmatchr�s r�test_tailmatchzCAPITest.test_tailmatch�s��� )�<�������3��q�#�c�(�B�?��C�����3��q�#�c�(�A�>��B�����3��q�.�"�E�q�I�����3���C��y�.�"�M�q�Q�����3��~�s�3�x��L�a�P�����3��q�.�!�D�a�H�����3��~�s�3�x��K�Q�O�����3��Q��C��!�<�a�@�����3��Q��C��"�=�q�A�����3��A�s�3�x��;�Q�?�����3��A�s�3�x��<�a�@�����3��a��S��!��R�@�!�D�����3��a��S��!��R�@�!�D�����3��q�#�c�(�1�*�b�A�1�E�����3��s�3�x�i��k�2�r�B�A�F�����3��a��S��1�=�q�A�����3��a��S��!��Q�?��C�����3��s�3�x�i��Q�?��C�
���)�Y��^�Q��C��RT�U����)�Y��^�Q��C��RS�Tr
c�� ddlm}dD]_}t|�D]O\}}|j|||dt |�d�|�|j|||dt |�d�|��Q�ad}|j||ddt |�d�d�|j||ddt |�d�d�|j||ddt |�d�d�|j||ddt |�d�t |��|j||d dt |�dzd�d
�|j||d dt
d�d
�|j||d dt |�dzd�d
�|j||d dt
d�d
�|j||d ddd�d�|j||d ddd�d�|j||d t |�dd�d�|j||d t |�dd�d�|j||d t |�dd�d�|j||d t |�dd�d�|j||d tdd�d�|j||d tdd�d�|j||d tt
d�d�|j||d tt
d�d
�|jt||ddt |�d�|jt|dd dt |�d�|jt||td �dt |�d�|jt|gd dt |�d�y)
Nr)�unicode_findr�rrr�r�rr�rr�r�)
rr�r3r r�rrr"rJr�)r%�findr�rLr�s r� test_findzCAPITest.test_find�s.�� $�2�Q�C�"�3����2�� � ��c�2�q�#�c�(�A�!>��B�� � ��c�2�q�#�c�(�B�!?��C�(�R�
������c�3��3�s�8�Q�7��<�����c�3��3�s�8�R�8�"�=�����c�2�q�#�c�(�A�6��:�����c�2�q�#�c�(�B�7��S��B�����c�3��3�s�8�A�:�q�9�1�=�����c�3��>�1�=�q�A�����c�3��3�s�8�A�:�r�:�A�>�����c�3��>�2�>��B�����c�3��1�a�0�"�5�����c�3��1�b�1�2�6�����c�3��C��!�Q�7��<�����c�3��C��!�R�8�"�=�����c�3��S�� �2�q�9�1�=�����c�3��S�� �2�r�:�A�>�����c�3���A�>��B�����c�3���B�?��C�����c�3����J�A�N�����c�3����K�Q�O����)�T�3��a��S��1�E����)�T�8�S�!�S��X�q�I����)�T�3��C��!�S��X�q�I����)�T�2�s�A�s�3�x��Cr
c�^� ddlm}dD]q}t|�D]a\}}|j||t |�dt|�d�|�|j||t |�dt|�d�|��c�sd}|j||ddt|�d�d�|j||ddt|�d�d�|j||t d�dt|�dzd�d �|j||t d�dtd�d �|j||t d�dt|�dzd�d �|j||t d�dtd�d �|j||t d�ddd�d�|j||t d�ddd�d�|j||t d�t|�dd�d�|j||t d�t|�dd�d�|j||t d�t|�dd�d�|j||t d�t|�dd�d�|j||t d�tdd�d�|j||t d�tdd�d�|j||t d�ttd�d�|j||t d�ttd�d �y)
Nr)�unicode_findcharr�rrr�rr�r)rr�r3r r�r�rr)r%r�r�rLr�s r�
test_findcharzCAPITest.test_findchar�s��� (�.�Q�C�"�3����2�� � �!1�#�s�2�w��3�s�8�Q�!O�QR�S�� � �!1�#�s�2�w��3�s�8�R�!P�RS�T�(�R�
�����)�#�x��C��H�a�H�"�M����)�#�x��C��H�b�I�2�N����)�#�s�3�x��C��H�Q�J��J�A�N����)�#�s�3�x��N�A�N�PQ�R����)�#�s�3�x��C��H�Q�J��K�Q�O����)�#�s�3�x��N�B�O�QR�S����)�#�s�3�x��A�q�A�2�F����)�#�s�3�x��A�r�B�B�G����)�#�s�3�x��S��1�a�H�"�M����)�#�s�3�x��S��1�b�I�2�N����)�#�s�3�x�#�c�(��B��J�A�N����)�#�s�3�x�#�c�(��B��K�Q�O����)�#�s�3�x���Q�O�QR�S����)�#�s�3�x���R�P�RS�T����)�#�s�3�x���YZ�[�]^�_����)�#�s�3�x���Y[�\�^_�`r
c �$� ddlm}d}|j||dd�d�|j||dd�d�|j||d d�d
�|j||ddd�d�|j||ddd�|�|j||ddt�d�|j||ddd
�d�|j||ddt�d�|j||dd�|�|j||dd�d�|j||dd�d�|j|ddd�d�|j|ddd�d�|jt|ddd�|jt|ddd�|jt|ddd�|jt|ddtd��|jt|dtd�d�|jt|gdd�y)Nr)�unicode_replace�abracadabrar+�=z=br=c=d=br=r�z<>br<>c<>d<>br<>�abraz=cad=rz=br=cadabrarr�rz=a=b=r=a=c=a=d=a=b=r=a=rguжbrжcжdжbrжr\rXu=б=б=г=л=м=г=uБаден-Баденu
Баден�BadenzBaden-Baden�=r�)rr�r rrr"rJr�)r%r�r�s r�test_replacezCAPITest.test_replace
s��� '�8��������c�3�/��?������c�4�0�2D�E������f�c�2�G�<������c�3��2�M�B������c�3��2�C�8������c�3��?��O������c�3��3�]�C������c�3��?��O������c�3�/��5������b�#�.�0I�J������c�4�0�2D�E�����!=�t�S�I�K`�a�����!8�,��P�R_�`����)�W�c�3��=����)�W�c�4��=����)�W�d�C��=����)�W�c�3��C��A����)�W�c�3�s�8�S�A����)�W�b�#�s�;r
c�^� ddlm}|j|dd�d�|j|dd�d�|j|dd�d�|j|dd�d�|j|dd�d�|j|dd�d�|jt|d d�|jt|dd �|jt|d d �|jt|gd�|jt|dg�|jt|gg�y)
Nr)�unicode_comparerHrHrrrer2r2)rr�r r"rJ)r%�compares r�test_comparezCAPITest.test_compare,s�� '�8�������.��2�������.��3�������.��2������
�3�R�8������Z�8�!�<������5�1�1�5����)�W�f�e�<����)�W�e�V�<����)�W�f�f�=����)�W�b�%�8����)�W�e�R�8����)�W�b�"�5r
c�>� ddlm}|j|dd�d�|j|dd�d�|j|dd�d�|j|dd �d�|j|d
d �d�|j|dd�d�y)Nr)�unicode_comparewithasciistringrHr2rIrrHrrdrer2)rr�r )r%�comparewithasciistrings r�test_comparewithasciistringz$CAPITest.test_comparewithasciistringBs��� 6�V����/��v�>��B����/��v�>��C����/��v�>��B����/��{�C�Q�G����/�
�K�H�!�L����/��&�A�1�Er
c �4� ddlm}td�\}}}}}}d}|D]�} |D]�}
|j|| |
|�| |
k�|j|| |
|�| |
k�|j|| |
|�| |
k(�|j|| |
|�| |
k7�|j|| |
|�| |
kD�|j|| |
|�| |
k\�����||||||fD]�}|j|dd|�t�|j|dd|�t�|j|dd|�t�|j|gd|�t�|j|dg|�t�|j|gg|�t���y)Nr)�unicode_richcomparer<)rHr2rkrr2rH)rr�r5r��NotImplemented)r%�richcompare�LT�LE�EQ�NE�GT�GEr:�s1r��ops r�test_richcomparezCAPITest.test_richcompareSs~�� +�@�!&�q����B��B��B�:���B����
�
�k�"�b�"�5�r�B�w�?��
�
�k�"�b�"�5�r�R�x�@��
�
�k�"�b�"�5�r�R�x�@��
�
�k�"�b�"�5�r�R�x�@��
�
�k�"�b�"�5�r�B�w�?��
�
�k�"�b�"�5�r�R�x�@�
���b�"�b�"�b�(�B��M�M�+�f�e�R�8�.�I��M�M�+�e�V�R�8�.�I��M�M�+�f�f�b�9�>�J��M�M�+�b�%��4�n�E��M�M�+�e�R��4�n�E��M�M�+�b�"�b�1�>�B�
)r
c�� ddlm}|j|dd�d�|j|dd�d�|j|ddgf�d�|jt|dt
�|jt|t
d�y) Nr)�unicode_formatzx=%d!�*zx=42!)r�z
x=%d y=%s!z
x=42 y=[]!)rr�r r"r$rT)r%r�s r�test_formatzCAPITest.test_formatos{�� &�6�������,�g�6�������/��9������r�2�h�7��F����+�v�w��=����+�v�t�R�8r
c�r� ddlm}|j|dd�d�|j|dd�d�|j|dd�d�|j|dd�d�|j|dd �d�|j|d
d �d�|j|dd�d�|jt|dd�|jt|dd
�|jt|dd
�|jt|gd�|jt|dtd��y)Nr)�unicode_containsrrrr�xrgrRre�bcsabcdr�)rr�r r"rJr�)r%�containss r�
test_containszCAPITest.test_contains|s�� (�:�����&�"�-�q�1�����&�#�.��2�����&�#�.��2�����&�$�/��3�����&�$�/��3�����*�d�3�Q�7�����&�$�/��3����)�X�w��<����)�X�v�t�<����)�X�w��=����)�X�r�3�7����)�X�v�s�3�x�@r
c��� ddlm}|j|d�d�|j|d�d�|j|d�d�|j|d�d�|j|d�d�|j|d �d�|j|d
�d�|j|d�d�|j|d�d�|j|d
�d�y)Nr)�unicode_isidentifierr+r�b0�µu𝔘𝔫𝔦𝔠𝔬𝔡𝔢r� �[�©�0�32M)rr�r )r%�isidentifiers r�test_isidentifierzCAPITest.test_isidentifier�s��� ,�B�����c�*�A�.�����d�+�Q�/�����d�+�Q�/�����&D�E�q�I�����b�)�1�-�����c�*�A�.�����c�*�A�.�����d�+�Q�/�����c�*�A�.�����e�,�a�0r
c��� ddlm}gd�}t|�D]�\}}|d|D]}|jt||d|dd��td�D]9}|j
||d||d�|||dzjdd�d|z
f��;td�D]9}|j
|||||d�|||dzjdd�d|z
f��;��|d}|jt||d|dd�|jt||t|dd�|jt||d|dd�|jt||t|dd�|jt||d|dd�|jt||d|td�|jt||d|dd�|jt||d|td�|jt||d|dd�|jt||d|dt�|jt||d|dd�|jt||d|dt�|jt||dd dd�|jt||dgdd�y)
Nr)�unicode_copycharactersr+rrRr<rrr
)rr�r3r"r$r5r �ljust�rjustr8rr) r%r�r:r<�from_r>�
from_start�to_startrCs r�test_copycharacterszCAPITest.test_copycharacters�s��� .�4�
��$�G�,�J�C���d�s�m���!�!��*�B��5�!�Q��$�$�A�h�
�� � �*�5�!�U�J��J��:�j��l�3�9�9�!�T�B��z�\�#��'�"�!�H��� � �*�5�(�E�8�Q�O��8�H�Q�J�/�5�5�a��>��x�Z�!��%�-�.
�A�J�����*�&<�a��A�q�!�L����*�&<�a��QR�TU�WX�Y����*�&<�a��Q��1�M����*�&<�a��QR�TU�WX�Y����*�&<�a��A�q�!�L����*�&<�a��A�~�WX�Y����*�&<�a��A�r�1�M����*�&<�a��A�~�WX�Y����+�'=�q�!�Q��1�M����+�'=�q�!�Q��>�Z����+�'=�q�!�Q��2�N����+�'=�q�!�Q��>�Z����+�'=�q�!�S�!�Q�O����+�'=�q�!�R��A�Nr
c�2�ddlm}dD]�}d}td�D]z}|t|�z
}|j ||�t|�j�|dzz�|j ||�t|�j�|dzz��|��y)Nr)�getargs_s_hash)�$�r/i
�rrr)rr�r5r!r r)r%r��krCrLs r�test_pep393_utf8_caching_bugz%CAPITest.test_pep393_utf8_caching_bug�s��� -�,�A��A��1�X���S��V���� � ���!2�C��F�M�M�O�q�1�u�4M�N�� � ���!2�C��F�M�M�O�q�1�u�4M�N��-r
)7r r
rr�cpython_only�unittest�skipIfrr(rDrOrVr\r`rortr�r�r�r�r�r�rrrrrr$r(r.r8r=rArErKrcrirtrxr|r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr
rrrs� ������X�_�_�Y�$�&�(?�@�?�A��?�&
����X�_�_�Y�$�&�(?�@�!=�A��!=�L
����X�_�_�Y�$�&�(?�@�=�A��=�:
����X�_�_�Y�$�&�(?�@�8�A��8�0
����X�_�_�Y�$�&�(?�@�<�A��<�4
����X�_�_�Y�$�&�(?�@�B�A��B�2
����X�_�_�Y�$�&�(?�@�P�A��P�.
����X�_�_�Y�$�&�(?�@�
.�A��
.�
����X�_�_�Y�$�&�(?�@�P�A��P�D
����X�_�_�Y�$�&�(?�@�K�A��K�,
����X�_�_�Y�$�&�(?�@� 4�A�� 4�
����X�_�_�Y�$�&�(?�@�6�A��6�"
����X�_�_�Y�$�&�(?�@�5�A��5�"d5�L
����X�_�_�Y�$�&�(?�@�#�A��#�
����X�_�_�Y�$�&�(?�@�4�A��4�
����X�_�_�Y�$�&�(?�@�K�A��K�B
����X�_�_�Y�$�&�(?�@�,J�A��,J�\
����X�_�_�Y�$�&�(?�@�L�A��L�B
����X�_�_�Y�$�&�(?�@�G�A��G�.
����X�_�_�Y�$�&�(?�@�4�A��4�
����X�_�_�Y�$�&�(?�@� 7�A�� 7�
����X�_�_�Y�$�&�(?�@�<�A��<�
����X�_�_�Y�$�&�(?�@�H�A��H�*
����X�_�_�Y�$�&�(?�@�9�A��9�
����X�_�_�Y�$�&�(?�@�>�A��>�$
����X�_�_�Y�$�&�(?�@�5�A��5�&
����X�_�_�Y�$�&�(?�@�5�A��5�4
����X�_�_�Y�$�&�(?�@�6�A��6�6
����X�_�_�Y�$�&�(?�@�9�A��9�$
����X�_�_�Y�$�&�(?�@�:�A��:�$
����X�_�_�Y�$�&�(?�@�
B�A��
B�
����X�_�_�Y�$�&�(?�@�R�A��R�.
����X�_�_�Y�$�&�(?�@�8�A��8�
����X�_�_�Y�$�&�(?�@�M�A��M�:
����X�_�_�Y�$�&�(?�@�U�A��U�B
����X�_�_�Y�$�&�(?�@�#D�A��#D�N
����X�_�_�Y�$�&�(?�@�a�A��a�D
����X�_�_�Y�$�&�(?�@�<�A��<�:
����X�_�_�Y�$�&�(?�@�6�A��6�(
����X�_�_�Y�$�&�(?�@� F�A�� F�
����X�_�_�Y�$�&�(?�@�C�A��C�4
����X�_�_�Y�$�&�(?�@� 9�A�� 9�
����X�_�_�Y�$�&�(?�@�A�A��A�(
����X�_�_�Y�$�&�(?�@�1�A��1�(
����X�_�_�Y�$�&�(?�@�0O�A��0O�j
����X�_�_�Y�$�&�(?�@�O�A��Or
r�__main__)r�r��testr�test.supportrrrr�ImportErrorrTr�r�TestCaserr �mainrr
r�<module>r�sw���
��&���8�
�� �#� �\O�x� � �\O�~.�z���H�M�M�O���S/���I��s�A�A&�%A&
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists