403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.216.202
Web Server : Microsoft-IIS/10.0
System : Windows NT WEB-SERVER 10.0 build 20348 (Windows Server 2022) AMD64
User : IUSR ( 0)
PHP Version : 8.3.28
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /Python315/Lib/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /Python315/Lib/test/__pycache__/test_codecs.cpython-315.opt-1.pyc
R
>lqj�mc
��]PHs]PHs]PHs]PHs]PHs]PHs]PHs]PHs]PH s]PH$s	]QH G
s
]PH,s]QH0G
s
]QH8Gs]QH8Gs]PHFs]PHNsQsQsQsQQ	\2sQ
Q2sQQ
\2sQQ\\O62sQQ\\O62sQQ\\O62sQQ\\O62sQQ\\O62s QQ\\O62s!QQ\\O62s"QQ\\O62s#QQ\O62s$Q Q!\O62s%Q"Q#\"\O62s&Q$Q%\O62s',Q�Ns(\(FD s)\*\)2]6wfJ\+\,\)22J"	Q&Q'\O62s-,Q�MQ�MQ�MQ�MQ�MQ�MQ�MQ�MQ�MQ�MQ�MQ�MQ�MQ�MQ�MQ�MQ�MQ�MQ�MQ�MQ�MQ�MQ�MQ�MQ�MQ�MQ�MQ�MQ�MQ�MQ�MQ�MQ�MQ�MQ�MQ�MCQMCQMCQMCQMCQMCQMQ�MCQMCQMs.Q(Q)\O62s/Q*Q+\O62s0Q,Q-\O62s1Q.Q/\O62s2Q0Q1\O62s3Q2Q3\O62s4Q4Q5\O62s5,Q6MQ7MQ8MQ9MQ:MQ;MQ<MQ=MQ>MQ?MQ@MQAMQBMQCMQDMQEMQFMQGMQHMQIMQJMQKMQLMQMMQNMQOMQPMQQMQRMQSMQTMQUMQVMQWMQXMQYMQZMQ[MQ\MQ]MQ^MQ_MQ`MQaMQbMQcMQdMQeMQfMQgMQhMQiMQjMQkMQlMQmMQnMQoMQpMQqMQrMQsMQtMQuMQvMQwMQxMQyMQzMQ{MQ|MQ}MQ~MQMQ�MQ�MQ�MQ�MQ�MQ�MQ�MQ�MQ�MQ�MQ�MQ�MQ�MQ�MQ�MQ�MQ�MQ�MQ�MQ�MQ�MQ�MQ�MQ�MQ�MQ�MQ�Ms6\7\Q�2%c\6OqQ�2\7\Q�2%c\6OqQ�2Q�,s9Q�Q�\O6\2s:Q�Q�\O62s;Q�Q�\O62s<Q�Q�\O62s=Q�Q�\\O62s>Q�Q�\\O62s?Q�Q�\O62s@Q�Q�\O62sAQ�Q�\O62sB,CQNsCQ�Q�Q�,Q�Q�,Q�,CQ	NQ�Q�,Q�Q�,-sD]PCHsE\COqQ�2Q�Q�,\DQ�$]PCHsF\COqQ�2Q�,\DQ�$Q�Q�\O62sG-sHQ�sIQ�Q�\O62sJ\O�\O�Q�6HQ�2Q�Q�\O622sMQ�Q�\O62sNQ�Q�\O62sOQ�Q�\O62sP\O�\PIQ�2Q�Q�\O622sRQ�Q�\O62sSQ�Q�\O62sTQ�Q�\O62sUQ�Q�\O62sV\WQ�6Xc\O�2P!P!\cPsCK�h9h\cPsCK�h9h\cPsECK�h9h\cCK}h9h(
�)�mock)�support)�	os_helper)�warnings_helperc���[O29^tt^2[OQ2[OU-U@ttPPP2!)%fhP!9h)z>Call codecs.open(*args, **kwargs) ignoring DeprecationWarning.�ignore)�warnings�catch_warnings�simplefilter�codecs�open)�args�kwargss*,�%C:\Python315\\Lib\test\test_codecs.py�codecs_open_no_warnrs?��	�	 �	 �	"�	"����h�'��{�{�D�+�F�+�
#�	"�	"�	"�s�-A�A(	� A(	c�``�UU1QkoU!)c�P:�RORU2U[U212P!�N)�assertEqual�len)�input�expect�coder�selfs&&��r�check�coding_checker.<locals>.check#s �������u����E�
�';�<��)rrrsff r�coding_checkerr"s
���=��Lrc��```
```�]QHGoGoGoGo]QHGoGnGnG	nG
o]n
]nQnUUU
UUU1QkQU2oUURVaU22oUQUQ212o	U2o
U	U]U
2!)r)�POINTER�WINFUNCTYPE�WinDLL�	Structure)�BOOL�BYTE�WCHAR�UINT�DWORD�c�~:�\sQs]/sQY1QYY*1QYY*1QY1QY1QYY*1,sQsP!)�'is_code_page_present.<locals>.CPINFOEXW�MaxCharSize�DefaultChar�LeadByte�UnicodeDefaultChar�CodePage�CodePageNamer)�__name__�
__module__�__qualname__�__firstlineno__�_fields_�__static_attributes__)r%�MAX_DEFAULTCHAR�
MAX_LEADBYTES�MAX_PATHr'r&s������r�	CPINFOEXWr+/sH���"�D�)�"�D��$8�9���m�!3�4�)�5�1���&�#�U�8�^�4�6�rr;�GetCPInfoExW�kernel32)�ctypesr r!r"r#�ctypes.wintypesr$r%r&r'r()�cpr r!r"r#r$r(r;�	prototype�GetCPInfoEx�infor%r8r9r:r'r&s&          @@@@@@r�is_code_page_presentrD(sp���>�>�>�>��M��O��H�6�6�I�6��D�$��w�y�/A�B�I��^�V�J�-?�@�A�K��;�D��r�1�d�#�#rc�<`�\sQs]<snQsQsQsQQksQsUs	P!)�Queuez>
queue: write bytes at one end, read bytes from the other end
c��VmP!r��_buffer)r�buffers&&r�__init__�Queue.__init__@s���rc�:�U9OU*
tmP!rrH)r�charss&&r�write�Queue.writeCs�������rc��U]6c'UOoUOQ*UmU!UOPUoUOUPUmU!)r�NrNrH)r�size�ss&& r�read�
Queue.readFsN����6����A��<�<��+�D�L��H����U�d�#�A��<�<���.�D�L��HrrH)���)
r2r3r4r5�__doc__rKrOrUr7�__classdictcell__��
__classdict__s@rrFrF<s��������rrFc�.`�\sQs]QsnQsQsQsUsP!)�MixInCheckStateHandlingc��[[U2]*2FCD3o[OU22oUO	UPU2oUO2oUO
U]*[2U]*%fmUOU]*Q*]12UOUO	U]*2%(2UOVuO22[OU22oUOU2UO	V4PP	2oUOV&U*2CJ6	P!)�rR)�rangerr�getincrementaldecoder�decode�getstate�assertIsInstance�int�setstate�
assertTruer�	r�encoding�urT�i�d�part1�state�part2s	&&&&     r�check_state_handling_decode�3MixInCheckStateHandling.check_state_handling_decodeRs����s�1�v�a�x���A��,�,�X�6�8�A��H�H�Q�r��U�O�E��J�J�L�E��!�!�%��(�C�0���8�8��
�
�E�!�H�R�L�!�,�-����A�H�H�U�1�X�$6� 6�7�� � ��
�
��5��,�,�X�6�8�A�
�J�J�u���H�H�Q�r�U�D�)�E����Q�e��,�'!rc�|�[[U2]*2FD�o[OU22oUO	UPU2oUO2o[OU22oUO
U2UO	V$PP	2oUOV6U*2J�	P!)r_)r`rr�getincrementalencoder�encodercrfrrhs	&&&&     r�check_state_handling_encode�3MixInCheckStateHandling.check_state_handling_encodehs����s�1�v�a�x��A��,�,�X�6�8�A��H�H�Q�r��U�O�E��J�J�L�E��,�,�X�6�8�A�
�J�J�u���H�H�Q�r�U�D�)�E����Q�e��,�!rr)r2r3r4r5rprur7rYrZs@rr]r]Qs����-�,-�-rr]c�\`�\sQs]ssnQsQsQsQsQsQs	Qs
QsQ	sQ
s
QsUsP!)�ReadTestc��[Q2o[OUO2U2oPo[	UOUO2UP	Q5FDGvqgUO
[U,22VTO2*
oUOVW2JI	UOUO2P2UOUOQ2[OUO22oPo[	UOUO2UP	Q5FD7vqgVXO[U,22*
oUOVW2J9	UOUOQP	2P2UOUOQ2UO2Po[	UOUO2UP	Q5FD7vqgVXO[U,22*
oUOVW2J9	UOUOQP	2P2UOUOQ2UOUO2o	SOSPO[O S	Tt,tFDo[U,2MJ	toUO222P!ttoh)r��strict)rFr�	getreaderri�ziprtrO�bytesrUr�
bytebufferrarbrJ�reset�join�
iterdecode)
rr�partialresults�q�r�result�c�
partialresultrl�encodeds
&&&       r�
check_partial�ReadTest.check_partialts1��

�#�J�����T�]�]�+�A�.����"%�e�l�l�4�=�=�&A�>�Z^�"_�"_��Q�
�G�G�E�1�#�J���f�f�h��F����V�3�#`�
	
�������2�&�������s�+�
�(�(����7�9����"%�e�l�l�4�=�=�&A�>�Z^�"_�"_��Q��h�h�u�a�S�z�*�*�F����V�3�#`�	
������#�t�,�b�1�������3�'�	
���	���"%�e�l�l�4�=�=�&A�>�Z^�"_�"_��Q��h�h�u�a�S�z�*�*�F����V�3�#`�	
������#�t�,�b�1�������3�'��,�,�t�}�}�-�������G�G�F�%�%�7�&C�7�a�u�a�S�z�7�&C�T�]�]�S�T�	
��&Cs�$Kc��``�U1QknQU1QkkoQoQoQoROUUP	2U2ROUUP
2U2ROUUP	]
2U2ROUUP
]
2U2Qo,o,o[U2FDXvq�UOU]�*]�*Q*U	*2UOU]�*]�*Q*2JZ	ROUPOU2P	2QOU22ROUPOU2P
2QOU22[	]P2FD�o
SFD�o	]
U
Q*U	*Q**oRU2o[	]
2FDUoROUOP	Q	5U
Q*U	*2ROUOP	Q	5Q2JW	RU2o[	]
2FDNoROUOP
Q	5U
Q*2ROUOP
Q	5Q
2JP	J�	CJ	P!)
c�:�[OUORO22o[O
RO2U2!r��io�BytesIOrtrirr|)r�streamrs& �rr|�)ReadTest.test_readline.<locals>.getreader�s8����Z�Z����T�]�]� ;�<�F��#�#�D�M�M�2�6�:�:rc�:�RU2o,oUOV!Q5oU%fLUOU2J/QOU2!)T)rS�keepends�|)�readline�appendr�)rr�rS�reader�lines�liner|s&&&   �r�readalllines�,ReadTest.test_readline.<locals>.readalllines�sE����u�%�F��E�����D��D�������T�"��8�8�E�?�"rufoo
bar
baz
spam
eggsufoo
|bar
|baz
|spam
|eggszfoo|bar|baz|spam|eggsuあr��azxxx
�r��xxx)TN)�
�
�
u
)r�	enumerater�r�r`r�)
rr�rT�	sexpected�sexpectednoends�lineends�vw�vwork�lineendrSr�r|s
f           @r�
test_readline�ReadTest.test_readline�s���	;�	#�
.��9�	�1������a��.�	�:�����a��/��A�����a��r�2�I�>�����a���3�_�E�1��
����%�h�/�L�Q��I�I�q��u�S�y�(�*�W�4�5��J�J��#��c�	�8�+�,�0�	
����b�g�g�b�k�4�8�#�(�(�2�,�G�����b�g�g�b�k�5�9�3�8�8�C�=�I��"�I�D�#����S��7�*�W�4�5��"�1����r��A��$�$������6��S��7�*���$�$������6���#�#�1����r��A��$�$������7��S����$�$������7���#�$�rc�``�,QNoPOU2nUU1QkoU2oROUO2U]*2ROUO2POUQ*22ROUO2P2U2oROUO2U]*2ROUO]2U]*]*2ROUO]2P2ROUO]d2R[	U]*2]*PQ*2U2oROUO2U]*2ROUO2UQ*2ROUO2P2U2oROUO](]Q5RQ*2ROUO2RQ*2ROUO2P2U2oROUO](]Q5RQ*2ROUO]2R]*2ROUO]2P2ROUO]d2RQ*2U2oROUO](]Q5RQ*2ROUO2U]*Q*,UQ**2ROUO2P2P!)	�Humpty Dumpty sat on a wall,
c�:�[ORORO22o[O
RO2U2!rr�)r��datars ��rr|�8ReadTest.test_mixed_readline_and_read.<locals>.getreader�s8����Z�Z����D�M�M� :�;�F��#�#�D�M�M�2�6�:�:r:r_NN:N�dN)rSrN:N�N:r�NN:��jN)r�z!Humpty Dumpty had a great fall.
z-All the king's horses and all the king's men
z#Couldn't put Humpty together again.)r�rr�rUr�	readlines)rr�r|�fr�sf   @r�test_mixed_readline_and_read�%ReadTest.test_mixed_readline_and_read�s����8���w�w�u�~��	;�

�K���������u�Q�x�0��������2�7�7�5��9�#5�6��������2�&�
�K���������u�Q�x�0���������E�!�H�Q�K�0���������B�'���������d�3�u�Q�x�=�1�+<�+=�&>�t�&D�E�
�K���������u�Q�x�0���������b�	�2��������2�&�
�K��������R�q��1�4��8�<��������4��8�,��������2�&�
�K��������R�q��1�4��8�<���������D��G�,���������B�'���������d�5�k�2�
�K��������R�q��1�4��8�<���������q��"����r��(B�C��������2�&rc�"�,QMQMQMQMQMQMQMQMQMQ	MQ
MQMQMQ
MQ
MQ
MQMQ
MQ
MQMQMQMQMQMQMQMQMQMQMQ
MQMQ
MQMQMQMQMQMQMQ MQ!MQ"MQ#MQ$MQ%MQ&MQ'MQ(MQ)MQMQ*MQ+MQ,MQ-MQ.MQ/MQ0MQ1MQ2MQ3MQ4MQ5Mo[OPOU2OUO22o[
OUO2U2o[U2FDvqEUOVQU*2J	P!)6z:<%!--===================================================
z,    BLOG index page: show recent articles,
z7    today's articles, or articles of a specific date.
z>========================================================--%>
z!<%@inputencoding="ISO-8859-1"%>
z<%@pagetemplate=TEMPLATE.y%>
z$<%@import=import frog.util, frog%>
z!<%@import=import frog.objects%>
z9<%@import=from frog.storageerrors import StorageError%>
z<%
r�zimport logging
z+log=logging.getLogger("Snakelets.logger")
zuser=self.SessionCtx.user
z-storageEngine=self.SessionCtx.storageEngine
z-def readArticlesFromDate(date, count=None):
z2    entryids=storageEngine.listBlogEntries(date)
z%    entryids.reverse() # descending
z    if count:
z#        entryids=entryids[:count]
z
    try:
z\        return [ frog.objects.BlogEntry.load(storageEngine, date, Id) for Id in entryids ]
z    except StorageError,x:
z6        log.error("Error loading articles: "+str(x))
z,        self.abort("cannot load articles")
zshowdate=None
zarg=self.Request.getArg()
zif arg=="today":
z,    #-------------------- TODAY'S ARTICLES
z-    self.write("<h2>Today's articles</h2>")
z(    showdate = frog.util.isodatestr() 
z.    entries = readArticlesFromDate(showdate)
zelif arg=="active":
z4    #-------------------- ACTIVE ARTICLES redirect
z     self.Yredirect("active.y")
zelif arg=="login":
z/    #-------------------- LOGIN PAGE redirect
z    self.Yredirect("login.y")
zelif arg=="date":
z7    #-------------------- ARTICLES OF A SPECIFIC DATE
z2    showdate = self.Request.getParameter("date")
zV    self.write("<h2>Articles written on %s</h2>"% frog.util.mediumdatestr(showdate))
zelse:
z+    #-------------------- RECENT ARTICLES
z,    self.write("<h2>Recent articles</h2>")
z.    dates=storageEngine.listBlogEntryDates()
z    if dates:
z        entries=[]
z        SHOWAMOUNT=10
z         for showdate in dates:
zW            entries.extend( readArticlesFromDate(showdate, SHOWAMOUNT-len(entries)) )
z*            if len(entries)>=SHOWAMOUNT:
z                break
z                
)	r�r�r�rtrirr|r�r)rrTr�r�rkr�s&     r�test_bug1175396�ReadTest.test_bug1175396
s��>
�J�>
�<�>
�
I�>
�
O�	>
�

2�>
�
/�
>
�
5�>
�
2�>
�
J�>
�
�>
�
�>
�
!�>
�
<�>
�
�>
�
�>
� 
,�!>
�"
>�#>
�$
�%>
�&
�'>
�(
>�)>
�*
C�+>
�,
6�->
�.
 �/>
�0
4�1>
�2
�3>
�4
m�5>
�6
-�7>
�8
G�9>
�:
=�;>
�<
�=>
�>
 �?>
�@
�A>
�B
,�C>
�D
#�E>
�F
>�G>
�H
?�I>
�J
9�K>
�L
?�M>
�N
&�O>
�P
E�Q>
�R
1�S>
�T
%�U>
�V
@�W>
�X
0�Y>
�Z
$�[>
�\
H�]>
�^
C�_>
�`
g�a>
�b
?�c>
�d
�e>
�f
<�g>
�h
=�i>
�j
?�k>
�l
 �m>
�n
%�o>
�p
(�q>
�r
1�s>
�t
h�u>
�v
;�w>
�x
(�y>
�z
#�{>
��~���B�G�G�A�J�-�-�d�m�m�<�=���!�!�$�-�-�0��8��"�6�*�I�Q����T�Q�4�(�+rc��[Q2o[OUO2U2o[OUO2U2oUOQ2UO
UOP
Q5Q2UOQ2UO
UOP
Q5P2UO
UOP
Q5Q2UOQ2UO
UOP
Q5Q2UO
UOP
Q5P2UOQ2UO
UOP	Q5Q2UOQ2UO
UOP	Q5Q2UO
UOP	Q5Q2UOQ2UO
UOP	Q5Q2UO
UOP	Q5P2UOQ	2UO
UOP	Q5Q	2P!)
rzfoo
r��fooz
bar
�bar�bazr�zbar
zfoo
)rFr�	getwriterrir|rOrr�)rr��writerr�s&   r�test_readlinequeue�ReadTest.test_readlinequeueOs����#�J���!�!�$�-�-�0��3���!�!�$�-�-�0��3��	���W��������%��8�%�@����Y��������%��8�"�=�������%��8�%�@����U��������%��8�%�@�������%��8�"�=�	���W��������$��7��A����Y��������$��7��>�������$��7��A����U��������$��7��?�������$��7��<����Y��������$��7��Crc���QoQoQoV*U*OUO2o[OU2o[O
UO2U2oUO
UO2U2UO
UO2U2UO
UO2U2UO
UO2P2P!)zAxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
z`offending line: ladfj askldfj klasdj fskla dfzaskdj fasklfj laskd fjasklfzzzzaa%whereisthis!!!
znext line.
�rtrir�r�rr|rr�)r�s1�s2�s3rTr�r�s&      r�test_bug1098990_a�ReadTest.test_bug1098990_ajs���
R��
q��
��
�U�2�X���d�m�m�,�����A����!�!�$�-�-�0��8��������*�B�/�������*�B�/�������*�B�/�������*�B�/rc��QoQoQoQoQoV*U*U*U*OUO2o[OU2o[O
UO2U2oUO
UO2U2UO
UO2U2UO
UO2U2UO
UO2U2UO
UO2U2UO
UO2P2P!)zaaaaaaaaaaaaaaaaaaaaaaaa
zbbbbbbbbbbbbbbbbbbbbbbbb
zstillokay:bbbbxx
zbroken!!!!badbad
zagainokay.
r�)	rr�r�r��s4�s5rTr�r�s	&        r�test_bug1098990_b�ReadTest.test_bug1098990_bws���
+��
+��
#��
#��
��
�U�2�X�b�[��^�#�#�D�M�M�2�����A����!�!�$�-�-�0��8��������*�B�/�������*�B�/�������*�B�/�������*�B�/�������*�B�/�������*�B�/r��c��UO[QOUO2UO	QOUOQ2QOUO22UO	QOUOQ2QOUO22UO	QOUOQ2QOUO22UO	QOUOQ2QOUO22UO	QOUOQ	2Q
OUO22UO	QOUOQ2QOUO22UO	QOUOQ	2QOUO22POUO2oQFCD�vq#UOUO2[U2PoUOUO2[U2PoUQ
*U*oV*UO*U*oUO[UOUO2UO	UOUOQ2U2UO	UOUOQ2U2UO	UOUOQ2V#*2UO	UOUOQ	2V O*U*2POQUO22oUO	UOUOQ2V(*U*2CJ�	P!)u��[�]�backslashreplacez[\udc80]�namereplace�xmlcharrefreplacez
[&#56448;]r�[]�replacez[?]�[��]z[??]���
surrogatepassc3�@�SF �DoQU*w�	J	P!3h)�\x%02xr)�.0�bs& r�	<genexpr>�0ReadTest.test_lone_surrogates.<locals>.<genexpr>�s��0H���0H�1�(1�1�}�}�0H�s�))�𐿿�A)�[�])r�r�)�assertRaises�UnicodeEncodeErrorrtrirr�ill_formed_sequence�UnicodeDecodeErrorrb�ill_formed_sequence_replacer�)	r�bom�before�after�before_sequence�after_sequence�test_string�
test_sequencer�s	&        r�test_lone_surrogates�ReadTest.test_lone_surrogates�s*�����,�h�o�o�t�}�}�M�����*�*�4�=�=�:L�M�$�+�+�D�M�M�:�	<�����*�*�4�=�=�-�H�$�+�+�D�M�M�:�	<�����*�*�4�=�=�:M�N�%�,�,�T�]�]�;�	=�����*�*�4�=�=�(�C����T�]�]�3�	5�����*�*�4�=�=�)�D����d�m�m�4�	6�	
���)�0�0�����I����T�]�]�3�	5����)�0�0����	�J����t�}�}�5�	7��i�i��
�
�&��3�M�F�$�m�m�D�M�M�:�3�s�8�9�E�O�"�\�\�$�-�-�8��S���C�N� �8�+�e�3�K� �2�!�5�5�6�8F�G�M����0�-�2F�2F�"�m�m�
-����[�/�/��
�
�0?�A�*�
,�
���]�1�1�$�-�-�2A�C�(�
*�
���]�1�1�$�-�-��J�#�^�
-����]�1�1�$�-�-��K�#�&F�&F�F��N�
P�!�w�w�'J�04�0H�0H�'J� J�����]�1�1�$�-�-�AS�T�#�6��>�
@�+3rc	��QOUOQ2o[][U22FDqo[O
UO2Q2oUO
UOUPU2P2UO
UOVPP	2Q2Js	QOUOQ2o[][U22FDpo[O
UO2Q2oUO
UOUPU2P2UO
UOVP2Q2Jr	P!)u�r�u�)rtrir`rrrarrb)rr�rk�decs&   r�test_incremental_surrogatepass�'ReadTest.test_incremental_surrogatepass�s�����t�}�}�o�>���q�#�d�)�$�A��.�.�t�}�}�=�o�N�C����S�Z�Z��R�a��1�2�6����S�Z�Z��R��$�7��B�%�
���t�}�}�o�>���q�#�d�)�$�A��.�.�t�}�}�=�o�N�C����S�Z�Z��R�a��1�2�6����S�Z�Z��R��1�8�<�%rr)r2r3r4r5r�r�r�r�r�r�r�r�r�r�r7rYrZs@rrxrxssG����)
�V9�v.'�`C)�JD�60�0�"#+��*@�X=�=rrxc�`�\sQsQsnQs\OQ6XcQsLQsQsQs	Qs
Q	sQ
sQs
QsQ
sQsQsUsP!)�	UTF32Test���utf-32�little����܀s$��spamspams$��spamspamc���[OUO2vqo[O2oUU2oUOQ2UOQ2UO
2oSOV`O6H9%fV`O6H2[OU2oUU2oUOUO2Q2P!��spam�spamspam�r�lookuprir�r�rO�getvaluerg�spamle�spamberrU�r�_r�r�rTr�rls&      r�test_only_one_bom�UTF32Test.test_only_one_bom����"�M�M�$�-�-�8���!�6��J�J�L���1�I��	�����	�����
�J�J�L������[�[�(�<�<�A���,<�=��J�J�q�M���1�I���������:�.rc�x�[OQ2o[OUO2U2oUO[UO2[OQ2o[OUO2U2oUO[UO2P!)������s���������r�r�rr|rir�r�rU�rrTr�s&  r�test_badbom�UTF32Test.test_badbom�sz���J�J�y�!�����T�]�]�+�A�.�����,�a�f�f�5��J�J�y�!�����T�]�]�+�A�.�����,�a�f�f�5rc�0�UOQ,QN2P!)�ÿĀ￿𐀀)�rrrrrr�rrr�ÿrrr�ÿĀrrr�ÿĀ￿rrrr�r��rs&r�test_partial�UTF32Test.test_partial�s�����,�
�	
rc��UOQ[OQQP	22UOQ[OQQP	22P!�r��r�r)r�r_)rr_�rr�
utf_32_decoders&r�
test_handlers�UTF32Test.test_handlers�H�������-�-�g�y�$�G�	I������-�-�g�x��F�	Hrc�V�UO[[OQQP	2P!���r{)r�r�rr"rs&r�test_errors�UTF32Test.test_errors�"�����,�f�.B�.B�!�8�T�	3rc��UOUOQUO2UOUOQUO2P!�r�rprirrrs&r�test_decoder_state�UTF32Test.test_decoder_state�>���(�(����)3�T�[�[�	B��(�(����)3�T�[�[�	Brc���QoUOQ[OU2]*2QoUOQ[OU2]*2P!)s��s���𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀s��r!)r�
encoded_le�
encoded_bes&  r�test_issue8941�UTF32Test.test_issue8941sW��F�
����,��-�-�j�9�!�<�	>�E�
����,��-�-�j�9�!�<�	>rr)r2r3r4r5ri�sys�	byteorderr�rrr	rrr#r)r/r6r7rYrZs@rr�r��s\�����H�
�}�}�� �1��1��F�F�F�F�
/�6�
�>H�3�B�>�>rr�c�B`�\sQsQsnQsQsQsQsQsQs	Qs
UsP!)	�UTF32LETest�'�	utf-32-ler�c�0�UOQ,QN2P!�r)rrrrrrrrrrrrrrrrrrrrrrs&rr�UTF32LETest.test_partial+������,�
�	
rc�^�UOQOUO2Q2P!)�𐈃s�rrtrirs&r�test_simple�UTF32LETest.test_simpleF�"������,�,�T�]�]�;�=P�Qrc�V�UO[[OQQP	2P!r')r�r�r�utf_32_le_decoders&rr)�UTF32LETest.test_errorsI�"�����,�f�.E�.E�!�8�T�	3rc�f�QoUOQ[OU2]*2P!)ssr3)rrrI�rr�s& rr6�UTF32LETest.test_issue8941M�-��-�����,��0�0��9�!�<�	>rr�r2r3r4r5rir�rrEr)r6r7rYrZs@rr;r;'�*�����H�-��
�6R�3�>�>rr;c�B`�\sQsQsnQsQsQsQsQsQs	Qs
UsP!)	�UTF32BETest�U�	utf-32-ber�c�0�UOQ,QN2P!r?rrs&rr�UTF32BETest.test_partialYrArc�^�UOQOUO2Q2P!)rCsrDrs&rrE�UTF32BETest.test_simpletrGrc�V�UO[[OQQP	2P!r')r�r�r�utf_32_be_decoders&rr)�UTF32BETest.test_errorswrKrc�f�QoUOQ[OU2]*2P!)ssr3)rrr[rMs& rr6�UTF32BETest.test_issue8941{rOrrrPrZs@rrSrSUrQrrSc�`�\sQsQsnQs\OQ6XcQsLQsQsQs	Qs
Q	sQ
sQs
QsQ
sQsQsQsUsP!)�	UTF16Test��utf-16r�����܀s��spamspams��spamspamc���[OUO2vqo[O2oUU2oUOQ2UOQ2UO
2oSOV`O6H9%fV`O6H2[OU2oUU2oUOUO2Q2P!r�rrs&      rr	�UTF16Test.test_only_one_bom�rrc�x�[OQ2o[OUO2U2oUO[UO2[OQ2o[OUO2U2oUO[UO2P!)s��rrrs&  rr�UTF16Test.test_badbom�s{���J�J�{�#�����T�]�]�+�A�.�����,�a�f�f�5��J�J�*�+�����T�]�]�+�A�.�����,�a�f�f�5rc�0�UOQ,QN2P!)r)rrrrrrrrrrrrrrrrs&rr�UTF16Test.test_partial�s�����,�
�	
rc��UOQ[OQQP	22UOQ[OQQP	22P!r)rr�
utf_16_decoders&rr#�UTF16Test.test_handlers�r%rc�V�UO[[OQQP	2P!r')r�r�rrlrs&rr)�UTF16Test.test_errors�r+rc��UOUOQUO2UOUOQUO2P!r-r.rs&rr/�UTF16Test.test_decoder_state�r1rc��QoUOUO2oUO[O[O
2[
[O
Q29^tt^2oUOU2PPP2[[O
QUOQ59^tt^2oUOUO2U2PPP2P!)%fhKi9h)%fhP!9h)zHello
world
�wbr��ri)rtri�
addCleanupr�unlink�TESTFNrrOrrrU)rr�rT�fpr�s&    r�test_bug691291�UTF16Test.test_bug691291�s���
"���I�I�d�m�m�$�����	�(�(�)�*:�*:�;�
�)�"�"�D�
)�
)�R��H�H�Q�K�*�
 ��!1�!1�3�"&�-�-�1�1�4:����V�[�[�]�B�/�1�1�*�
)��1�1�1�s$�/C"�7!C5�"C2	�+C2	�5D	�>D	c
�<�QFDsoUO[29^tt^2o[[OVO
Q5PPP2UO
Q[WO22Ju	QFDsoUO[29^tt^2o[[OVO
Q5PPP2UO
Q[WO22Ju	P!)%fhK�9h)%fhKN9h)�Urtzinvalid modez'can't have text and binary mode at once)r|�rUzr+U)�rt�wt�atzr+t)	r��
ValueErrorrrrwri�assertIn�str�	exception)r�mode�cms&  r�test_invalid_modes�UTF16Test.test_invalid_modes�s���&�D��"�"�:�.�.�"�#�I�$4�$4�d�]�]�S�/��M�M�.�#�b�l�l�*;�<�'�
.�D��"�"�:�.�.�"�#�I�$4�$4�d�]�]�S�/��M�M�C��b�l�l�+�
-�.�	/�.��
/�.�s#�&C8	�&D	�8D
�D
�D
�D
r)r2r3r4r5rir8r9r�rrr	rrr#r)r/ryr�r7rYrZs@rr`r`�s[�����H�
�}�}�� �)��)��
@�F�
@�F�
/�6�
�*H�3�B�
0�
-�
-rr`c�<`�\sQsQsnQsQsQsQsQsQs	Us
P!)�UTF16LETest���	utf-16-lercc�0�UOQ,QN2P!�r)rrrrrrrrrrrrrrs&rr�UTF16LETest.test_partial�������,�

�	
rc	��,QNoSFDNvq#UO[[OUQP	2UO	UOQQ2U2JP	P!)r(r{zutf-16ler�)�r(r�)sAZ�A�)s	ABCDZ�ABCD�)s�r�)s�Ar�)s�A��A)s�Ar�)r�r�r�utf_16_le_decoderrb�r�tests�raw�expecteds&   rr)�UTF16LETest.test_errors��R��
��#�M�C����0�&�2I�2I�!�8�T�
3����S�Z�Z�
�I�>��I�#rc��UOQOUO2Q2UOQOUO2Q2P!)rCs�ީrrtrirbrs&r�test_nonbmp�UTF16LETest.test_nonbmp�G������,�,�T�]�]�;�,�	.����,�3�3�D�M�M�B�%�	'rr�r2r3r4r5rir�rr)r�r7rYrZs@rr�r���%�����H�%��
�&
J�'�'rr�c�<`�\sQsQsnQsQsQsQsQsQs	Us
P!)�UTF16BETest��	utf-16-berdc�0�UOQ,QN2P!r�rrs&rr�UTF16BETest.test_partialr�rc	��,QNoSFDNvq#UO[[OUQP	2UO	UOQQ2U2JP	P!)r(r{zutf-16ber�)r�)sA�r�)s	ABCDZr�)s�r�)s��r�)s�Ar�)s�Ar�)r�r�r�utf_16_be_decoderrbr�s&   rr)�UTF16BETest.test_errors)r�rc��UOQOUO2Q2UOQOUO2Q2P!)rCs��r�rs&rr��UTF16BETest.test_nonbmp8r�rrr�rZs@rr�r�r�rr�c�b``�\sQsQsnQsQsQsQsQsQs	Qs
U1QksQ	sQ
s
QsUsU9s!)
�UTF8Test�>�utf-8s�rc�0�UOQ,QN2P!)�ÿ߿ࠀ￿𐀀)rrrr�ÿ߿r�r��ÿ߿ࠀr�r��ÿ߿ࠀ￿r�r�r�r�rrs&rr�UTF8Test.test_partialDs�����2�
�	
rc�v�QoUOUOVOUO22P!)u€ÿĀ߿ࠀ￿􏿿)rprirt)rrjs& rr/�UTF8Test.test_decoder_stateZs,��@���(�(����)*�H�H�T�]�]�,C�	Erc
���QFDVvqoUOVUQ59^tt^2UOUOUOU2U2PPP2JX	P!)%fhJm9h)�[��]�r��
error_handlerr��)r�rr�)r�r�u[��])r��surrogateescape�[��])r�r�z
[\x80\xff])�subTestrrbri�rr�r�r�s&   r�test_decode_error�UTF8Test.test_decode_error_sl��.
�)�D�����4�'/��1�1�� � ����T�]�]�M�!J�!)�+�1�1�
.
�1�1�1�s�-A!	�!A2
�*A2
c��:�[RU_2UOQOUOQ2UO
Q*2UO
[29^tt^2oQOUOQ2PPP2WOoUOUOUOUOQ2P!)%fhKQ9h)r�r�s[�]u[���]u��)�superr�rrtri�BOMr�r�r��object�start�end)rr��exc�	__class__s&  �rr��UTF8Test.test_lone_surrogatesks����
��$�&�	
����*�*�4�=�=�:K�L����I�-�	/��
�
�1�
2�
2�b�"�)�)�$�-�-�9J�K�3��l�l��������C�I�I�c�g�g�6��G�3�
2�s�+C�C!	�C!	c���UOQOUOQ2UOQ*2UOQOUOQ2UOQ*2UOQOUOQ2UOQ*2UOQO	UOQ2Q2UOQO	UOQ2Q2UO[OQ22UO[29^tt^2QO	UOQ2PPP2UO[29^tt^2QO	UOQ2PPP2P!)%fhKT9h)%fhP!9h)	u	abc�defr�s	abc�defu𐿿�s𐿿�r�s[��]sabc�sabc�z)
rrtrir�rbrgr�lookup_errorr�r�rs&r�test_surrogatepass_handler�#UTF8Test.test_surrogatepass_handlerwsa������.�.�t�}�}�o�N����$9�9�	;����+�2�2�4�=�=�/�R����$C�C�	E����)�0�0�����P����$A�A�	C�	
���.�5�5�d�m�m�_�U�'�	)����8�?�?��
�
��_�+�	-�	
����+�+�O�<�=�
�
�
�1�
2�
2��!�!�$�-�-��A�3�
�
�
�1�
2�
2��"�"�4�=�=�/�B�3�
2�3�
2��
2�
2�
2�s$�F<�G�<G	�G	�G 	�G 	c	��,QNoQFD$oQFDoUOV#*2J	J&	UOQ2SFDloUOUQ59^tt^2[OUO
22oUO
[UOU2PPP2Jn	P!)%fhJ�9h)���r�)r�����������r()������s���s���s�s���s�s�)�r�)s�s�s�s�s�s�s�)	r��extendr�rrarir�r�rb)r�cases�prefix�suffixr�r�s&     r�test_incremental_errors� UTF8Test.test_incremental_errors�s���P��>�F�+�����V�_�-�+�>�
	���N�	O��D����4��(�(��2�2�4�=�=�A�C���!�!�"4�c�j�j�$�G�)�(��(�(�(�s�"AB7	�7C
�C
ru	���)r2r3r4r5rir�r�r�rr/r�r�r�r�r7rY�
__classcell__�r�r[s@@rr�r�>sC�����H�)��".��

�C�
�,E�

+�
H�C�&H�Hrr�c�D`�\sQsQsnQsQsQsQsQsQs	Qs
UsP!)	�UTF7Test��utf-7c��QoUOUOUO2UOQ22UOUOQ2OUO2U2QoUOUOUO2UOQ22UOUOQ2OUO2U2UOQOUO2Q2UOQOUO2Q2QoUOUOUO2UOQ22UOUOQ2OUO2U2PO	[[
[[]�22O22[
V*Q*U*2*
22oUOUOUO2Q2P!)zGABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'(),-./:?�asciiz !"#$%&*;<=>@[]^_`{|}za+bsa+-bz 	

�+sX+AAAAAQACAAMABAAFAAYABwAIAAsADAAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AHwBcAH4Afw-)	rrtrirbr��sorted�setr~r`)r�set_d�set_o�ws�other_asciis&    r�
test_ascii�UTF7Test.test_ascii�s�����	
������d�m�m�4�e�l�l�7�6K�L�������g�.�5�5�d�m�m�D�e�L�'��������d�m�m�4�e�l�l�7�6K�L�������g�.�5�5�d�m�m�D�e�L�������d�m�m�4�g�>��������
�
�6��>�
��������4�=�=�1�2�9�9�W�3E�F�������7�+�2�2�4�=�=�A�2�F��g�g�f�S��u�T�{�);�)B�)B�)D�%E�%(����)<�r�)A�%B�&C�D�E������+�+�D�M�M�:�D�	Erc��UOQ,QMQMQMQMQMQMQMQMQMQMQMQMQMQMQMQMQMQMQMQMQMQ	MQ
MQ
MQ
MQ
MQ
MQ
MQ
MQ
MQMQM2P!)ua+-bc€dĀe𐀀fr��a+za+-za+-bza+-bza+-bcua+-bc€u	a+-bc€dua+-bc€dĀua+-bc€dĀeua+-bc€dĀe𐀀rrs&rr�UTF7Test.test_partial�sV�����.�!
��!
��!
��!
��	!
�
�!
��
!
��!
��!
��!
��!
��!
��!
��!
��!
��!
�  �!!
�"!�#!
�$!�%!
�&!�'!
�(!�)!
�*!�+!
�,'�-!
�.(�/!
�0(�1!
�2(�3!
�4(�5!
�6(�7!
�8(�9!
�:(�;!
�<(�=!
�>2�?!
�@3�A!
�$	
rc�(�,QNoSFDqvq#UOUQ59^tt^2UO[[OUQP	2UOUO
QQ2U2PPP2Js	P!)%fhJ�9h)��b�r�r{r�r�))r�u�b)sa�b�a�b)sa��bua��b)sa+IK�a�)sa+IK-br�)sa+IK,br�)sa+IKx�a€�)sa+IKx-b�a€�b)sa+IKwgrr)s	a+IKwgr-br)sa+IKwgr,r)s
a+IKwgr,-bu	a€�-b)sa+IKwgrB�
a€€�)s
a+IKwgrB-b�a€€�b)s
a+/,+IKw-b�a�€b)sa+//,+IKw-br)sa+///,+IKw-b�a￿�€b)s
a+////,+IKw-br)sa+IKw-b�ua€b�)sa+IKw�br)sa+@br�)r�r�r�r�utf_7_decoderrbr�s&   rr)�UTF7Test.test_errors�su��
��.#�M�C����#��&�&��!�!�"4�f�6I�6I� #�X�t�5�� � ����G�Y�!?��J�'�&�#�&�&�&�s�A
B	�B
�	B
c�d�UOQOUO2Q2UOQOUO2Q2UOQOUO2Q2UOQOUO2Q2UOQOUO2Q2UOQOUO2Q2UOQOUO2Q2UOQOUO2Q2UOQOUO2Q2UOQ	OUO2Q2P!)
u𐒠s+2AHcoA-u��s+2AHcoAu€𐒠s
+IKzYAdyg-s	+IKzYAdygu
€€𐒠s
+IKwgrNgB3KA-s+IKwgrNgB3KAr�rs&rr��UTF7Test.test_nonbmp�sF������,�,�T�]�]�;�[�I�����.�.�t�}�}�=�{�K�����+�+�D�M�M�:�L�I�����*�*�4�=�=�9�<�H����+�2�2�4�=�=�A�=�Q�����-�-�d�m�m�<�>P�Q�����,�,�T�]�]�;�=O�P����1�8�8����G�)�	+����)�0�0����?�1�	3�����/�/��
�
�>�1�	3rc
���,QNoSFDJvq#UOUQ59^tt^2UOUOQQ2U2PPP2JL	P!)%fhJa9h)�a+2AE-br�r�r�)
)rua�b)sa+2AE�br�)sa+2AEr)sa+2AEA-br�)sa+2AH-br�)s
a+IKzYAQ-bua€�b)s
a+IKzYAQ�br)sa+IKzYAQA-br)s
a+IKzYAd-br)sa+IKwgrNgB-bua€€�b)sa+IKwgrNgB�br)s
a+IKwgrNgBr)s
a+IKwgrNgBA-br�r�rrbr�s&   rr��UTF7Test.test_lone_surrogates
sU��
��#�M�C����#��&�&�� � ����G�Y�!?��J�'�&�#�&�&�&�s�#A	�A*
�"A*
r)r2r3r4r5rir�rr)r�r�r7rYrZs@rr�r��s-�����H�E�4%
�NK�<
3�K�Krr�c�.`�\sQsQsnQsQsQsUsP!)�UTF16ExTesti"c�X�UO[[OQQ]P	2P!r')r�r�r�utf_16_ex_decoders&rr)�UTF16ExTest.test_errors$s$�����,�f�.E�.E�w�PX�Z[�]a�brc�P�UO[[O2P!r)r��	TypeErrorrrrs&r�
test_bad_args�UTF16ExTest.test_bad_args's�����)�V�%<�%<�=rr)r2r3r4r5r)rr7rYrZs@rrr"s����c�>�>rrc�4`�\sQsQsnQsQsQsQsUsP!)�ReadBufferTesti*c�|�]PHoUO[OUOQQ22Q2P!)rr��spam)rr
)�arrayrr�readbuffer_encode)rrs& r�
test_array�ReadBufferTest.test_array,s/�������$�$�U�[�[��g�%>�?��	
rc�T�UO[OP2Q2P!)r�rr)rrrrs&r�
test_empty�ReadBufferTest.test_empty3s������1�1�"�5�x�@rc��UO[[O2UO[[O]*2P!��*)r�rrrrs&rr�ReadBufferTest.test_bad_args6s0�����)�V�%=�%=�>����)�V�%=�%=�r�Brr)	r2r3r4r5rr"rr7rYrZs@rrr*s����
�A�C�Crrc�\`�\sQsQsnQs\OsQsQs	Qs
QsQsQs
UsP!)	�UTF8SigTesti:�	utf-8-sigc�0�UOQ,QN2P!)�ÿ߿ࠀ￿𐀀)rrrrru�r-�ÿr.�ÿ߿r/r/�ÿ߿ࠀr0r0�ÿ߿ࠀ￿r1r1r1r,rrs&rr�UTF8SigTest.test_partial>s�����8�
�	
rc�@�UO[QQ2P2P!)�r*�rr�rs&r�test_bug1601501�UTF8SigTest.test_bug1601501Zs������_�k�:�B�?rc��[OQ22oQoUOUOUO	Q22U2P!)r*r)rrarrbrt)rrlrTs&  r�test_bom�UTF8SigTest.test_bom^s<���(�(��5�7����������!�(�(�;�"7�8�!�<rc���Qo[OQ*o[OQ2oP,[[	]]22*,QN*FD�oU[
OU22o[
O2oUdUOU2oLUO2oU%fLUOU2JCUO2oUOV�2J�	P!�uABC¡∀XYZsABC¡∀XYZr*)�@����)r�BOM_UTF8r|�listr`r�r��StringIOrUrOrr�	r�	unistring�
bytestringr��sizehint�istream�ostreamr��gots	&        r�test_stream_bom�UTF8SigTest.test_stream_bomcs���(�	��_�_�'D�D�
��!�!�+�.�����e�A�r�l�!3�3�1�2�2�H��R�Z�Z�
�3�4�G��k�k�m�G���'�"�<�<��1�D�"�<�<�>�D����
�
�d�#��"�"�$�C����S�,�2rc���QoQo[OQ2oP,[[]]22*,QN*FD�oU[O
U22o[O2oUdUOU2oLUO2oU%fLUOU2JCUO2oUOV�2J�	P!r<)rr|rCr`r�r�rDrUrOrrrEs	&        r�test_stream_bare�UTF8SigTest.test_stream_bareys���(�	�2�
��!�!�+�.�����e�A�r�l�!3�3�1�2�2�H��R�Z�Z�
�3�4�G��k�k�m�G���'�"�<�<��1�D�"�<�<�>�D����
�
�d�#��"�"�$�C����S�,�2rr)r2r3r4r5rirrBr�rr6r9rLrOr7rYrZs@rr)r):s2�����H�
�/�/�C�
�8@�=�
-�,-�-rr)c�@`�\sQsQsnQsQsQsQsQsQs	Us
P!)�EscapeDecodeTesti�c��UO[OQ2Q2UO[O[22Q2P!�rr!)rr�
escape_decode�	bytearrayrs&rr"�EscapeDecodeTest.test_empty�s:������-�-�c�2�H�=�����-�-�i�k�:�H�Erc���[Oo[Q2FD@o[U,2oUQ6wfJUO	UUQ*2UQ*]12JB	P!)r?�\�0)rrUr`r~r�rrbr�s&  r�test_raw�EscapeDecodeTest.test_raw�sN���%�%���s��A��q�c�
�A��E�z�� � ���D��!1�A��H�a�=�A�rc��[Oo[V2oUQQ2UQQ2UQQ2UQQ2UQQ	2UQ
Q2UQQ
2UQQ2UQQ2UQQ2UQQ2UQQ	2UQQ2UQQ2UQQ2UQQ2UQQ 2UQ!Q2UQ"Q 2P!)#�[\
]�[]�[\"]s["]�[\']s[']�[\\]s[\]�[\a]s[]�[\b]s[]�[\t]s[	]�[\n]s[
]�[\v]s[]�[\f]s[]�[\r]s[
]�[\7]�[\78]s[8]�[\41]s[!]�[\418]s[!8]�[\101]s[A]�[\1010]s[A0]�[\x41]�[\x410])rrUr�rrbrs&  r�test_escape�EscapeDecodeTest.test_escape�s����%�%���t�,��
�i���
�h���
�h���
�h�� �
�h�	�"�
�h�	�"�
�h�	�"�
�h�	�"�
�h�	�"�
�h�	�"�
�h�	�"�
�h�	�"�
�i��$�
�i�� �
�j�'�"�
�j�&�!�
�k�7�#�
�j�&�!�
�k�7�#rc��[Oo[V2o[]a]{2FD�o[	U,2oUQ7cFUO[QU*29^tt^2UQU*QU*2PPP2UO[QU] *
*29^tt^2UQUO2*QUO2*2PPP2J�	UO[Q29^tt^2UQQ2PPP2UO[29^tt^2UQQ2PPP2UO[Q29^tt^2oUQQ2PPP2[Q	Q
2FDRoUO[QU*29^tt^2UQU*[	U]�*,22PPP2JT	UO[Q
29^tt^2UOUQQ2Q2PPP2UO[Q29^tt^2UOUQQ2Q2PPP2P!)%fhCK�9h)%fhCJa9h)%fhCK~9h)%fhCKc9h)%fhCKG9h)%fhCJO9h)%fhK�9h)%fhP!9h)�asabfnrtvx�$"\\%c" is an invalid escape sequencerY�#"\\8" is an invalid escape sequence�\8�\9�&"\\\xfa" is an invalid escape sequence�\�r?r@�*"\\%o" is an invalid octal escape sequence�\%o�#"\\z" is an invalid escape sequence�\x\zr�+"\\501" is an invalid octal escape sequence�\x\501)s\zr
)�Ar�)
rrUrr`r~�assertWarnsRegex�DeprecationWarning�upper�assertWarnsr�rrbrrkr�r�s&     r�
test_warnings�EscapeDecodeTest.test_warnings�s����%�%���t�,���r�3��A��q�c�
�A���#��*�*�+=�?�!�C�E�E��%�!�)�U�Q�Y�/�E��&�&�'9�;�q��t�D�F�F��e�a�g�g�i�'������):�;�F�F�
 ��
"�
"�#5�6�8�8��&�&�!�8��
�
�0�
1�
1��&�&�!�2�
�
"�
"�#5�9�;�;�>@��)�Y�'�;��u�f�%�A��&�&�'9�A�A�E�G�G��g��k�5�!�e�)��#5�6�G�G�&�
�
"�
"�#5�6�8�8����V�H�h�7��E�8��
"�
"�#5�>�@�@����V�J��9�9�E�@�@�-E�E�E��F�F�F��8�8�8��2�
1�
1��;�;�;��G�G�G��8�8��@�@�@�s��%I%	�14I9	�
J�>
J"�.
J6�5"K
	�K�K2�%I6
�.I6
�9J
�J
�J	�J	�"J3	�+J3	�6K	�?K	�
K
�K
�K/	�(K/	�2L	�;L	c��[OoUO[UQ2UO[UQ2UO	UQQ2Q2UO	UQQ2Q	2UO[UQ2UO[UQ2UO	UQQ2Q
2UO	UQQ2Q2P!)s\xs[\x]s[\x]\xrr�s\x0s[\x0]s[\x0]\x0)r`r�)�[?]?r�)r`�)r�r�)rrUr�r�r)rrbs& rr)�EscapeDecodeTest.test_errors�s����%�%�����*�f�f�5����*�f�h�7�����
�H�5�z�B�����
�I�6��E����*�f�g�6����*�f�i�8������h�7��D������i�8�,�Grr)r2r3r4r5r"r\rtr�r)r7rYrZs@rrRrR�s)����F�B�$�.F�@	H�	HrrRc�4`�\sQsQsnQsQsQsQsUsP!)�PunycodeTestiLc	���[FDVvqUO[UOQ2Q2O	2[UQ2O	22JX	P!��punycoder�)�punycode_testcasesrr�rt�lower�r�uni�punys&  r�test_encode�PunycodeTest.test_encodeMsP��+�+�I�C�
����C�J�J�z�*�G�4�:�:�<��D�'�"�(�(�*�
�
,rc���[FDevqUOVOQ22UOQ2OQ2oUOVOQ22Jg	P!r�)r�rrbrtr�s&  r�test_decode�PunycodeTest.test_decodeYsX��+�+�I�C����S�+�+�j�"9�:��;�;�w�'�.�.�w�7�D����S�+�+�j�"9�:�,rc�N�QQ[QQ]]P21QQ[QQ]]P21QQ[QQ]
]P21QQ[QQ]]P21QQ[QQ]]P21Q	Q[QQ]]P21Q
Q[QQ]]P21QQ[QQ]]P21QQ[QQ]]P21Q
Q[QQ]]P21QQ[QQ]]P21Q,oSFCD5vq#oUOV#Q59^tt^2[U[2%c�UO	[29^tt^2oUOQU2PPP2WOoUOUOUO2UOUOU2UOUOUO2UOUOUO2L"UOUOQU2U2PPP2CJ8	P!)%fhK�9h)%fhCJa9h)�xn--w&r{r�rs&egbpdaj6bu4bxfgehfvwxnsegbpdaj6bu&4bx&fgehfvwxnsegbpdaj6bu4bxfgehfvwxn&s�Proprostnemluvesky-uyb24dma41ar�sPro�prostnemluvesky-uyb24dma41as Proprost&nemluvesky-uyb24&dma41as Proprostnemluvesky&-&uyb24dma41asProprostnemluvesky-&uyb24dma41asProprostnemluvesky-uyb24d&ma41asProprostnemluvesky-uyb24dma41a&)r��errors)r�rzxn-)r�r��
isinstance�	Exceptionr�rbr�rrir�r�r�)r�	testcasesr�r�r�r�r�s&      r�test_decode_invalid� PunycodeTest.test_decode_invalid_s3��
��"4�Z��a��B�"O�P�
'��3E�j�RU�WX�Z[�]_�3`�a�
(�(�4F�z�SV�XZ�\^�`b�4c�d�
'��3E�j�RU�WY�[]�_a�3b�c�
2�H�>P�QX�Z]�_`�bc�eg�>h�i�
2�H�>P�QX�Z]�_`�bc�eg�>h�i�
0�(�<N�z�[^�`b�df�hj�<k�l�
0�(�<N�z�[^�`b�df�hj�<k�l�
/��;M�j�Z]�_a�ce�gi�;j�k�
/��;M�j�Z]�_a�ce�gi�;j�k�
/��;M�j�Z]�_a�ce�gi�;j�k�(�

�	�'0�"�D�(����4��7�7��h�	�2�2��*�*�+=�>�>�"����J��7�?��,�,�C��$�$�S�\�\�8�3D�3D�E��$�$�S�Z�Z��6��$�$�S�Y�Y����?��$�$�S�W�W�h�l�l�;��$�$�T�[�[��V�%D�h�O�8�7�'0�?�>��8�7�7�s7�$H	�;H	�G?
�+CH	�?H�H�
H	�H$
�H$
r)	r2r3r4r5r�r�r�r7rYrZs@rr�r�Ls����
�;�P�Prr�c�(`�\sQsQsnQsQsUsP!)�NameprepTestic
�z�]QHGo[[2FD]vovq4UeJ[	UQQ2oUeUO[V2J7[	UQQ2oUOUU2U2J_	P![c5o[OQS]*[	S21*2gPo=hh9h)r)�nameprepr�r�z
Test 3.%d: %s)�encodings.idnar�r��nameprep_testsr�r�r�rr�r�
TestFailed)rr��pos�orig�prepped�es&     r�
test_nameprep�NameprepTest.test_namepreps���+�$-�n�$=� �C��$��|���t�W�o�6�D����!�!�"4�h�E��g�w��@��P��$�$�X�d�^�W�=�%>��!�P�!�,�,�_��A��s�1�v��-N�O�O��P�s�A;�;	B:�B:�/B5�5B:r)r2r3r4r5r�r7rYrZs@rr�r�s����P�Prr�c�`�\sQsQsnQ\QQ]]P21Q\QQ]]P21Q\QQ]]P21Q\QQ]]P21Q\QQ]]	P21Q\QQ]
]P21Q	\QQ	]
]P21Q
\QQ
]]P21Q\QQ]
]P21,	sQQ0\QQQ0]]@P21Q
\QQ
]]P21,sQsQs	Qs
QsQsQs
QsQsQsQsQsQsUsP!)�
IDNACodecTesti*��python.org�idna�pyt�hon.org�python�.org�python.�org�python.o�rg�python.org��xn--pythn-&mua.org�xn--pythn-m&ua.org�xn--pythn-mua&.org�foo.�	あさ.͏c��UO[QQ2Q2UO[QQ2Q2UO[QQ2Q2UO[QQ2Q2UO[Q	Q2Q2UO[Q
Q2Q2UO[QQ2Q2UO[QQ2Q
2UO[QQ2Q
2P!)�
python.orgr��
python.org�python.org.�python.org.�xn--pythn-mua.org�pythön.org�xn--pythn-mua.org.�pythön.org.sXN--pythn-mua.org.sxN--pythn-mua.org.sXn--pythn-mua.org.sbugs.xn--pythn-mua.org.ubugs.pythön.org.sbugs.XN--pythn-mua.org.r5rs&r�test_builtin_decode�!IDNACodecTest.test_builtin_decode<s�������]�F�3�\�B�����^�V�4�m�D�����1�6�:�O�L�����2�F�;�=M�N�����2�F�;�=M�N�����2�F�;�=M�N�����2�F�;�=M�N�����7��@�.�	0�����7��@�.�	0rc��UOFCDvqUOVQ59^tt^2UO[29^tt^2oUO	Q2PPP2WO
oUO
UOUO2UO
UOUO2UO
UOUOQUO0Q5UO
UOUO2PPP2CJ	P!)%fhK�9h)%fhCJ?9h)��caser�r�zreason: )�msg)�invalid_decode_testcasesr�r�r�rbr�rrir�r��reasonr��rr�r�r�r�s&    r�test_builtin_decode_invalid�)IDNACodecTest.test_builtin_decode_invalidIs���"�;�;�N�D����4��;�;��&�&�'9�:�:�b��K�K��'�;��l�l��� � ����x�/@�/@�A�� � ����X�_�_�=�� � ����H�N�N�(�3�:�:�,�@W� �X�� � ����(�,�,�7�<�;�<�:�:��<�;�;�s0�D<	�
D)
�B;D<	�)D9�2D9�4D<	�<E
�E
c��UOQOQ2Q2UOQOQ2Q2UOQOQ2Q2UOQOQ2Q2P!)	r�r�r�r�r�r�r�r�r��rrtrs&r�test_builtin_encode�!IDNACodecTest.test_builtin_encodeTsq������,�,�V�4�m�D�����-�-�f�5�~�F�����/�/��7�9M�N����)�0�0��8�:O�Prc��UOFCDvqUOVQ59^tt^2UO[29^tt^2oUO	Q2PPP2WO
oUO
UOUO2UO
UOUO2UO
UOUO2UO
UOUO2PPP2CJ	P!)%fhK�9h)%fhCJ09h)r�r�)�invalid_encode_testcasesr�r�r�rtr�rrir�r�r�r�s&    r�test_builtin_encode_invalid�)IDNACodecTest.test_builtin_encode_invalidZs���"�;�;�N�D����4��;�;��&�&�'9�:�:�b��K�K��'�;��l�l��� � ����x�/@�/@�A�� � ����X�_�_�=�� � ����H�N�N�;�� � ����(�,�,�7�<�;�<�:�:��<�;�;�s0�D-	�
D
�B,D-	�D*�#D*�%D-	�-D?
�6D?
c�6�UO[Q29^tt^2QOQ2PPP2UO[Q29^tt^2QOQ2PPP2P!)%fhKJ9h)%fhP!9h)zway too longr�ztoo longsTxn--016caaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasNxn--016caaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)�assertRaisesRegexr�rbrs&r� test_builtin_decode_length_limit�.IDNACodecTest.test_builtin_decode_length_limitesi��
�
#�
#�$6��
G�
G�
"�*�*�6�2�H�
�
#�
#�$6�
�
C�
C�
 �(�(��0�D�
C�H�
G��
C�
C�
C�s#�A4�B�4B	�=B	�B	�B	c���[OQ2[OQ22oUO	]2UOUO	2P2P!)r��abc)rr|r�r�rUr)rr�s& r�test_stream�IDNACodecTest.test_streamksA�����V�$�R�Z�Z��%7�8��	���q�	��������2�&rc�R�UOPO[OQQ2Q22Q2UOPO[OQQ2Q22Q2UOPO[OQQ	2Q22Q
2UOPO[OQQ	2Q22Q
2[OQ22oUOUOQ2P2UOUOQ
2Q2UOUOQ2P2UOUOQP	2Q2UO
2UOUOQ2P2UOUOQ
2Q2UOUOQ2Q2UOUOQP	2P2P!)rc3�F�SF �Do[U,2w�	J	P!3hr�r~�r�r�s& rr��8IDNACodecTest.test_incremental_decode.<locals>.<genexpr>rs��=���=�a�u�a�S�z�z�=���!r�r�r�c3�F�SF �Do[U,2w�	J	P!3hrr�r�s& rr�r�vs��>���>�a�u�a�S�z�z�>�r�r�r�c3�F�SF �Do[U,2w�	J	P!3hrr�r�s& rr�r�z���;P���;P�a�u�a�S�z�z�;P�r�r�r�c3�F�SF �Do[U,2w�	J	P!3hrr�r�s& rr�r�~r�r�sxn--xams	ple-9ta.ou	äxample.srgr�orgsrg.zorg.)rr�rr�rarbr�)r�decoders& r�test_incremental_decode�%IDNACodecTest.test_incremental_decodeps�������G�G�F�%�%�&I�=�&I�6�R�S��	
�	
����G�G�F�%�%�&J�>�&J�F�S�T��	
�	
����G�G�F�%�%�&Q�;P�&Q�SY�Z�[��	
�	
����G�G�F�%�%�&Q�;P�&Q�SY�Z�[��	
�
�.�.�v�6�8��������
�5�r�:��������7��G��������.��3��������T�2�E�:��
�
��������
�5�r�:��������7��G��������/��8��������T�2�B�7rc�r�Q[QQ]]P21Q[QQ]]P21Q[QQ]]P21Q[QQ]]P21Q[QQ	]]P21Q
[QQ]]P21Q[QQ
]
]P21Q[QQ]]P21Q[QQ]
]P21,	oSFCDvq#UOV#Q59^tt^2UO[29^tt^2o[[O
QU2Q22PPP2WOoUOUOUO2UOUOUO2UOUOUO2UOUOUO2PPP2CJ	[OQ22oUOFCDvq#UOV#Q59^tt^2UO[29^tt^2oUOU2PPP2WOoUOUOUO2UOUOUO2UOUOUO2UOUOUO2PPP2CJ	P!)%fhCK�9h)%fhCJw9h)%fhK�9h)%fhCJY9h)r�r�r(r�spyt�r�spython�r�r�so�r�sorg�r�sxn--pythn-&mua.r�sxn--pythn-m&ua.r�sxn--pythn-mua&.r�c3�F�SF �Do[U,2w�	J	P!3hrr�r�s& rr��@IDNACodecTest.test_incremental_decode_invalid.<locals>.<genexpr>�s������1�E�1�#�J�J��r�)r�r�r�rCrr�r�rrir�r�r�rar�rb)r�iterdecode_testcasesr�r�r�r�r�s&      r�test_incremental_decode_invalid�-IDNACodecTest.test_incremental_decode_invalid�s���
� 2�6�7�A�q�"� M�N�
� 2�6�:�q�!�R� P�Q�
� 2�6�=�!�Q�PR� S�T�
� 2�6�7�A�q�"� M�N�
� 2�6�8�Q��2� N�O�
� 2�6�:�q�!�R� P�Q�
"�$6�v�?Q�SU�WY�[]�$^�_�
"�$6�v�?Q�SU�WY�[]�$^�_�
"�$6�v�?Q�SU�WY�[]�$^�_�
 
��3�N�D����4��;�;��&�&�'9�:�:�b���*�*�+E��+E�v�N�O�;��l�l��� � ����x�/@�/@�A�� � ����X�_�_�=�� � ����H�N�N�;�� � ����(�,�,�7�<�;�3��.�.�v�6�8��"�;�;�N�D����4��;�;��&�&�'9�:�:�b��N�N�4�(�;��l�l��� � ����x�/@�/@�A�� � ����X�_�_�=�� � ����H�N�N�;�� � ����(�,�,�7�<�;�<�;�:�:��<�;�;��;�:��<�;�;�sb�7K<	�'K(
�<B,K<	�=L$	�L
�-B,L$	�(K9�1K9�3	K<	�<L
�L
�L!�L!�L$	�$L6
�-L6
c��UOQO[OQQ22Q2UOQO[OQQ22Q2UOQO[OQQ22Q2UOQO[OQQ22Q2[OQ22oUOUOQ2Q2UOUOQ	2Q
2UOUOPP	2Q2UO
2UOUOQ2Q2UOUOQ2Q
2UOUOPP	2Q2P!)rr�r�r�r�r�r�r�uäxz	ample.orgsxn--xample-9ta.sorgz
ample.org.sxn--xample-9ta.org.)rr�r�
iterencodersrtr�)r�encoders& r�test_incremental_encode�%IDNACodecTest.test_incremental_encode�sl������H�H�V�&�&�|�V�<�=��	
�	
����H�H�V�&�&�}�f�=�>��	
�	
����H�H�V�&�&�'7��@�A�!�	
�	
����H�H�V�&�&�'7��@�A�!�	
�
�.�.�v�6�8���������0�#�6��������4�6H�I��������D�1�6�:��
�
���������0�#�6��������5�7M�N��������D�1�3�7rc���QQ0[QQ]]<P21Q[QQ]]P21,oSFCDvq#UOV#Q59^tt^2UO[29^tt^2o[[O
UQ22PPP2WOoUOUOUO2UOUOUO2UOUOUO2UOUOUO2PPP2CJ	P!)%fhK�9h)%fhCJ?9h)r�r�r�u͏r��xÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ)r�r�r�rCrr�r�rrir�r�r�)r�iterencode_testcasesr�r�r�r�s&     r�test_incremental_encode_invalid�-IDNACodecTest.test_incremental_encode_invalid�s���I�;�
�!3�F�y�k�A�r�SU�!V�W�
�0���1�a��L�M� 
��3�N�D����4��;�;��&�&�'9�:�:�b���*�*�4��8�9�;��l�l��� � ����x�/@�/@�A�� � ����X�_�_�=�� � ����H�N�N�;�� � ����(�,�,�7�<�;�3�:�:��<�;�;�s1�E	�)!E
�
B,E	�E�E�E	�E*
�!E*
c���QOQQ2QOQQ2QFDGoUO[QOQU2UO[QOQU2JI	P!)z$Only supports "strict" error handlerr�r�r{r�)rr�r�r�)rtrbr�r��rr�s& rr)�IDNACodecTest.test_errors�se�����F�H�-����V�X�.�#�F����i��)<�)<�f�f�M����i��$�$�f�f�
6�#rrr)r2r3r4r5r�r�r�r�r�r�r�r�r�r�r�r�r�rr)r7rYrZs@rr�r�*sp����
�.�v�7H�!�Q�PR�S�T�	�.�v�7H�!�Q�PR�S�T�	�.�v�7H�!�Q�PR�S�T�	�.�v�7H�!�Q�PR�S�T�	�.�v�7H�!�Q�PR�S�T�	�.�v�7H�"�b�RT�U�V�	� 2�6�;P�RT�VX�Z\� ]�^�	� 2�6�;P�RT�VX�Z\� ]�^�	� 2�6�;P�RT�VX�Z\� ]�^�
 ���	�{�	�/��$�y�k�8J�A�r�SU�V�W�	�,�V�_�a��B�O�P� ��
0�	8�Q�	8�1�'�
8�<8�B8�8
8�"6�6rr�c�`�\sQsQsnQsQsQsQsQsQs	Qs
Q	sQ
s\
OQQ2Q
2sQsQsQsQsQsQsQsQsUsP!)�CodecsModuleTesti�c���UO[OQQ2Q2UO[[O2UO[OQ2Q2UO[
[OQQ2UO[OQQQ5Q2UO[OQQQ	Q
5Q2P!)���latin-1�äöür��abcr(r���objri�[�]r�r�r�)rrrbr�rr�rs&rr��CodecsModuleTest.test_decode�s����������	�B�'�	)����)�V�]�]�3�������v�.��6����,�f�m�m�W�g�N�	
������?�Y�O�'�	)�������y�'�(�K��	rc�$�UO[OQQ2Q2UO[[O2UO[
[OQQ2UO[OQ2Q2UO[[OQQ2UO[OQQQ	5Q2UO[OQ
QQQ5Q
2P!)rrr
r��__spam__r
r�uÿffr�r�[ÿ]rrr`)rrrtr�r�LookupErrorr�rs&rr��CodecsModuleTest.test_encode�s���������~�y�A�(�	*����)�V�]�]�3����+�v�}�}�e�Z�H�������u�-�v�6����,�f�m�m�X�w�O�	
������>�I�N�(�	*�������x���J��	 rc��UO[[O2UO[[O]*2P!r%)r�rr�registerrs&r�
test_register�CodecsModuleTest.test_registers,�����)�V�_�_�5����)�V�_�_�b�9rc��Qo[O2o[OU2UO	[
[OU2UOU2UO2[OU2UO	[[OU2UO2P!)�nonexistent_codec_name)r�Mockrrr�rr�assert_called_with�
reset_mock�
unregisterr�assert_not_called)r�name�search_functions&  r�test_unregister� CodecsModuleTest.test_unregisters~��'���)�)�+������(����)�V�]�]�D�9��*�*�4�0��"�"�$����/�*����+�v�}�}�d�;��)�)�+rc���UO[[O2UO[[OQ2UO[[OQ2P!)r� )r�rrrrrs&r�test_lookup�CodecsModuleTest.test_lookupsB�����)�V�]�]�3����+�v�}�}�j�A����+�v�}�}�c�:rc��UO[[O2UO[[OQ2P!�r)r�rr�
getencoderrrs&r�test_getencoder� CodecsModuleTest.test_getencoder�0�����)�V�%6�%6�7����+�v�'8�'8�*�Erc��UO[[O2UO[[OQ2P!r,)r�rr�
getdecoderrrs&r�test_getdecoder� CodecsModuleTest.test_getdecoderr0rc��UO[[O2UO[[OQ2P!r,)r�rrr|rrs&r�test_getreader�CodecsModuleTest.test_getreader!�0�����)�V�%5�%5�6����+�v�'7�'7��Drc��UO[[O2UO[[OQ2P!r,)r�rrr�rrs&r�test_getwriter�CodecsModuleTest.test_getwriter%r8r�LC_CTYPE�tr_TRc�l�[OQ2oUOUOQ2P!)�ASCIIr�)rrrr#)rr�s& r�test_lookup_issue1813�&CodecsModuleTest.test_lookup_issue1813)s&��
�M�M�'�"���������)rc��QoUOU[O2[OFDo[[U2J	P!)rt),rtrbr�	CodecInfo�Codec�IncrementalEncoder�IncrementalDecoder�StreamReader�StreamWriterrr-r2rsrar|r��register_errorr��
strict_errors�replace_errors�
ignore_errors�xmlcharrefreplace_errors�backslashreplace_errors�namereplace_errorsr�EncodedFiler�r�r��BOM_BE�BOM_LErB�	BOM_UTF16�BOM_UTF16_BE�BOM_UTF16_LE�	BOM_UTF32�BOM_UTF32_BE�BOM_UTF32_LE�BOM32_BE�BOM32_LE�BOM64_BE�BOM64_LE�StreamReaderWriter�
StreamRecoder)�assertCountEqualr�__all__�getattr)r�apis& r�test_all�CodecsModuleTest.test_all0s7��
��$	
���c�6�>�>�2��>�>�C��F�C� �"rc
�*�UO[O[O2QFD�oUO	U29^tt^2UO[29^tt^2[O[OUQ29^tt^2oUOU[O2PPP2PPP2PPP2J�	P!)%fhK&9h)%fhK19h)%fhJ�9h)�wr�)rfr�zr+�w+r�r�)rurrvrwr�r�r�rrrdr])rr��files&  r�	test_open�CodecsModuleTest.test_openGs������	�(�(�)�*:�*:�;�5�D����d�#�#�T�%5�%5�6H�%I�%I��[�[��!1�!1�4��A�A�T��)�)�$��0I�0I�J�B�&J�#�#�6�A�A��&J�%I��#�#�#�sN�D	�-/C.
�!C�=C.
�D	�C+�$C+�&C.
�.C>�7C>�9D	�D
�
D
c	���UO[[OQQ2UO[[OQQ2UO[[OPQ2UO[[OQQ2QFDQoUO[[OQQU2UO[[OQQU2JS	P!)r
�	undefinedr�r)r{rr�r�)r��UnicodeErrorrrtrbrs& r�test_undefined�CodecsModuleTest.test_undefinedNs������,��
�
�u�k�J����,��
�
�v�{�K����,��
�
�r�;�G����,��
�
�s�K�H�I�F����l��
�
�u�k�6�
;����l��
�
�v�{�F�
<�Jrc	��[O2o[OQU29^tt^2oUO[29^tt^2[[OQQ2PPP2U2OO2PPP2P!)%fhK99h)%fhP!9h)z
builtins.openrzinvalid-encoding)
r�	mock_open�patchr�rrrrw�close�
assert_called)rrqrhs&  r�'test_file_closes_if_lookup_error_raised�8CodecsModuleTest.test_file_closes_if_lookup_error_raisedYsy���N�N�$�	�
�Z�Z���
3�
3�t��"�"�;�/�/�#�I�$4�$4�d�<N�O�0�
�F�L�L�&�&�(�	4�
3�/�/��4�
3�
3�s/�B4�B!	�0'B4�!B1
�*B1
�,B4�4C	�=C	c�t�[OQ2o[OU2oUOV!2UO	V!2UOUO2UO	UOUO2UO	UOUO2UO	UOUO2[OQ2o[OU2oUOV!2UO	V!2UOUO2UO	UOUO2UO	UOUO2UO	UOUO2P!�r��base64)rr�copy�assertIsNotrrg�_is_text_encodingrtr#�incrementalencoder�assertFalse�rr��dups&  r�	test_copy�CodecsModuleTest.test_copyas0���}�}�W�%���i�i��o������#�����#�����.�.�/�������T�[�[�1�������4�9�9�-�����/�/��1H�1H�I��}�}�X�&���i�i��o������#�����#�����/�/�0�������T�[�[�1�������4�9�9�-�����/�/��1H�1H�Irc�t�[OQ2o[OU2oUO	V!2UOV!2UO
UO2UOUOUO2UOUOUO2UOUOUO2[OQ2o[OU2oUO	V!2UOV!2UOUO2UOUOUO2UOUOUO2UOUOUO2P!rx)rrrz�deepcopyr{rrgr|rtr#r}r~rs&  r�
test_deepcopy�CodecsModuleTest.test_deepcopyus2���}�}�W�%���m�m�D�!������#�����#�����.�.�/�������T�[�[�1�������4�9�9�-�����/�/��1H�1H�I��}�}�X�&���m�m�D�!������#�����#�����/�/�0�������T�[�[�1�������4�9�9�-�����/�/��1H�1H�Irc	��[OQ2o[[O]*2FD�oUOUQ59^tt^2[OU2o[OU2oUOV2UOV2UOUOUO2UOUOUO2UOUO2PPP2J�	[OQ2o[[O]*2FD�oUOUQ59^tt^2[OU2o[OU2oUOV2UOV2UOUOUO2UOUOUO2UOUO2PPP2J�	P!)%fhCJ	9h)%fhCJ9h)r���protocolry)rrr`�pickle�HIGHEST_PROTOCOLr��dumps�loadsr{rr#r}rgr|r~)r�
codec_info�proto�pickled_codec_info�unpickled_codec_infos&    r�test_pickle�CodecsModuleTest.test_pickle�s����]�]�7�+�
��6�2�2�Q�6�7�E����u��-�-�%+�\�\�*�%=�"�'-�|�|�4F�'G�$�� � ��B�� � ��B�� � ����2F�2K�2K�L�� � ��2�2�)�<�<����� 4� F� F�G�.�-�8��]�]�8�,�
��6�2�2�Q�6�7�E����u��-�-�%+�\�\�*�%=�"�'-�|�|�4F�'G�$�� � ��B�� � ��B�� � ����2F�2K�2K�L�� � ��2�2�)�<�<��� � �!5�!G�!G�H�.�-�8�.�-�-��.�-�-�s&�B6H0	�,B6I	�0I
�9I
�I
�I
r)r2r3r4r5r�r�rr%r)r.r3r6r:r�run_with_localer@rcrirnrur�r�r�r7rYrZs@rrr�s������ �:�
,�;�
F�F�E�E�
���Z��1�*�2�*�!�.K�	<�)�J�(J�(I�Irrc�:`�\sQsQsnQsQsQsQsQsUs	P!)�StreamReaderTesti�c�t�[OQ2Um[OQ2UmP!)r��한
글)rr|r�r�r�r�rs&r�setUp�StreamReaderTest.setUp�s%���&�&�w�/����j�j�!>�?��rc��UOUO2oUOUO2QQ,2P!)u한
u글)r�r�rr��rr�s& r�test_readlines�StreamReaderTest.test_readlines�s/���K�K����$����������X�(>�?rc�~�UO[Q22oUO[Q29^tt^2[OU2PPP2UO[Q29^tt^2[O
U2PPP2P!)%fhKO9h)%fhP!9h)r�rG)r�rFr�rrzr�r�s& rr��StreamReaderTest.test_copy�ss���K�K��;�<�=��
�
#�
#�I�~�
>�
>��I�I�a�L�?�
�
#�
#�I�~�
>�
>��M�M�!��?�
>�?�
>��
>�
>�
>��#�B�7B+�B(	�!B(	�+B<	�4B<	c��[[O]*2FD}oUOUQ59^tt^2UO	[Q22oUO
[Q29^tt^2[OV!2PPP2PPP2J	P!)%fhK9h)%fhJ�9h)r_r�r�rG)	r`r�r�r�r�rFr�rr��rr�r�s&  rr��StreamReaderTest.test_pickle�s����6�2�2�Q�6�7�E����u��-�-��K�K��&C� D�E���+�+�I�~�F�F��L�L��*�G�.�-�8�G�F��.�-�-��0�9B9	�9B&
�B9	�&B6�/B6�1B9	�9C

�C

)r�r�)
r2r3r4r5r�r�r�r�r7rYrZs@rr�r��s ����@�@��+�+rr�c�4`�\sQsQsnQsQsQsQsUsP!)�StreamWriterTesti�c�>�[OQ2UmP!)r�)rr�r�rs&rr��StreamWriterTest.setUp�s���&�&�w�/��rc�~�UO[Q22oUO[Q29^tt^2[OU2PPP2UO[Q29^tt^2[O
U2PPP2P!)%fhKO9h)%fhP!9h)rrH)r�rFr�rrzr�r�s& rr��StreamWriterTest.test_copy�sq���K�K��c�
�#��
�
#�
#�I�~�
>�
>��I�I�a�L�?�
�
#�
#�I�~�
>�
>��M�M�!��?�
>�?�
>��
>�
>�
>�r�c��[[O]*2FD}oUOUQ59^tt^2UO	[Q22oUO
[Q29^tt^2[OV!2PPP2PPP2J	P!)%fhK9h)%fhJ�9h)r_r�rrH)	r`r�r�r�r�rFr�rr�r�s&  rr��StreamWriterTest.test_pickle�s����6�2�2�Q�6�7�E����u��-�-��K�K��c�
�+���+�+�I�~�F�F��L�L��*�G�.�-�8�G�F��.�-�-�r�)r��	r2r3r4r5r�r�r�r7rYrZs@rr�r��s����0��+�+rr�c�4`�\sQsQsnQsQsQsQsUsP!)�StreamReaderWriterTesti�c�t�[OQ2Um[OQ2UmP!)�latin1r�)rr|r�r�r�rs&rr��StreamReaderWriterTest.setUp�s&���&�&�x�0����&�&�w�/��rc��[O[Q2UOUO2oUO[Q29^tt^2[OU2PPP2UO[Q29^tt^2[OU2PPP2P!)%fhKO9h)%fhP!9h)rr])	rr]rFr�r�r�rrzr�r�s& rr�� StreamReaderWriterTest.test_copy�s����%�%�e�C�j�$�+�+�t�{�{�K��
�
#�
#�I�/C�
D�
D��I�I�a�L�E�
�
#�
#�I�/C�
D�
D��M�M�!��E�
D�E�
D��
D�
D�
D�s$�B3�C�3C	�<C	�C	�C	c���[[O]*2FD�oUOUQ59^tt^2[O
[
Q2UOUO2oUO[Q29^tt^2[OV!2PPP2PPP2J�	P!)%fhK9h)%fhJ�9h)r_r�rr])r`r�r�r�rr]rFr�r�r�rr�r�s&  rr��"StreamReaderWriterTest.test_pickle�s����6�2�2�Q�6�7�E����u��-�-��-�-�e�C�j�$�+�+�t�{�{�S���+�+�I�7K�L�L��L�L��*�M�.�-�8�M�L��.�-�-�s1�AC	�C
�+C	�C�
C�C	�C%
�C%
)r�r�r�rZs@rr�r��s����0��+�+rr�c�(`�\sQsQsnQsQsUsP!)�EncodedFileTesti�c�`�[OQ2o[OUQQ2oUO	UO2Q2[O2o[OUQQ2oUO
Q2UO	UO2Q2P!)r�r�r�s\�
�r�ü��)r�r�rrPrrUrOr�rr��efs&  r�
test_basic�EncodedFileTest.test_basic�s}���J�J�4�5��
�
�
��;��
8���������$;�<��J�J�L��
�
�
��7�I�
6��
������������w�/rr)r2r3r4r5r�r7rYrZs@rr�r��s����0�0rr�r��big5�	big5hkscs�charmap�cp037�cp1006�cp1026�cp1125�cp1140�cp1250�cp1251�cp1252�cp1253�cp1254�cp1255�cp1256�cp1257�cp1258�cp424�cp437�cp500�cp720�cp737�cp775�cp850�cp852�cp855�cp856�cp857�cp858�cp860�cp861�cp862�cp863�cp864�cp865�cp866�cp869�cp874�cp875�cp932�cp949�cp950�euc_jis_2004�euc_jisx0213�euc_jp�euc_kr�gb18030�gb2312�gbk�	hp_roman8�hzr��
iso2022_jp�iso2022_jp_1�iso2022_jp_2�iso2022_jp_2004�iso2022_jp_3�iso2022_jp_ext�
iso2022_kr�	iso8859_1�
iso8859_10�
iso8859_11�
iso8859_13�
iso8859_14�
iso8859_15�
iso8859_16�	iso8859_2�	iso8859_3�	iso8859_4�	iso8859_5�	iso8859_6�	iso8859_7�	iso8859_8�	iso8859_9�johab�koi8_r�koi8_t�koi8_u�kz1048�latin_1�mac_cyrillic�	mac_greek�mac_iceland�
mac_latin2�	mac_roman�mac_turkish�palmos�ptcp154r��raw_unicode_escape�	shift_jis�shift_jis_2004�shift_jisx0213�tis_620�unicode_escape�utf_16�	utf_16_be�	utf_16_le�utf_7�utf_8�mbcs_encode�mbcs�
oem_encode�oemc�`�\sQsQsnQs\O\O\	PIQ2Q22s
QsQsQs
QsQ	sQ
sUsP!)�BasicUnicodeTestimc
�``�Qo[FCD o[OU2OoUO	Q2%cUQ*
oL	UQ6XcQoUQ6wc3UOUO
QQ2UO
QQ22[OU2U2vqEUOU[U2QU*2[OU2U2vqeUOVaQU*2U[7Cc[Q2o[OU2U2oQo	SFDVo
UOU
2UO2oUO[!U2["I[!U22V�*
o	JX	[Q2o[O$U2U2oPo
S	FD4o
UO[#U
,22V�O2*
o
J6	UOV�QU*2U[7fCJ[O&U22nQo	SFDo
U	RO)U
2*
o	J	U	RO)PP	2*
o	[O*U22nPo
S	FD%o
U
RO-[#U
,22*
o
J'	U
RO-QP	2*
o
UOV�QU*2PO/[O0[O2V2U22oUOV�QU*2PO/[O0[O2PU2U22oUOUP2UQ7fCJ�[O&U2Q2nQO/U1Q	kU22o	[O*U2Q2nPO/U1Q
kU	22o
UOV�QU*2CJ#	P![4cK�h9h[4cCJGh9h)�abc123�_codecrr$r�-�encoding=%rrrc3�R:�SF �DoROU2w�	J	P!3hr�rt)r�r�r�s& �rr��/BasicUnicodeTest.test_basics.<locals>.<genexpr>�s��A���A�q�����1B�1B�A���'c3�f:�SF �D!oRO[U,22w�	J#	P!3hr�rbr~)r�r�r�s& �rr�r0�s(��9F���9F�A�18���u�a�S�z�0J�0J�9F���)1�r�r$)�all_unicode_encodingsrrr#�endswithrr�r-rr2�broken_unicode_with_statefulrFr�rOrUrg�typer~r|rsrtrarbr�r�r�r)rrTrir#r�rSrNr�r��
encodedresultr��chunkr��
decodedresultr�r�r�s&              @@r�test_basics�BasicUnicodeTest.test_basicsns������-�-�H��=�=��*�/�/�D�� � ��*�*��� ���Y�&� ���v�~�� � ��!1�!1�#�s�!;�!%���c�3�!7�9��)�)�(�3�A�6�I�Q����T�3�q�6�=�8�+C�D�"�-�-�h�7��:�M�U����U�}�x�'?�@��;�;��#�J���)�)�(�3�A�6�� #�
��A��L�L��O��F�F�H�E��O�O�D��K�5�$8�$�u�+�F�!�*�M�	�
�#�J���)�)�(�3�A�6�� "�
�&�A��G�G�E�1�#�J�'�!�[�[�]�2�M�'�� � ��=�8�3K�L��;�;�1�$�:�:�8�D�F�G�
%(�M���%�����):�:�
��!�W�^�^�B��%=�=�M�$�:�:�8�D�F�G�$&�M�*��%�����q�c�
�)C�C�
�+�!�W�^�^�C��%>�>�M��$�$�]�%2�X�%=�?� �W�W�V�%6�%6�"�-�-�a�:�H�&F�G�F��$�$�V�
��0H�I� �W�W�V�%6�%6�"�-�-�b�(�;�X�&G�H�F��$�$�V�R�0��#3�3�
C�"(�">�">�x�"H��"R��),���0N�A�0N�(N�
�"(�">�">�x�"H��"R��(*���0H�9F�0H�)H�
��(�(��)6��)A�C�W.��L#�����<'����s0�*P4�(Q�4	Q�>Q�Q�	Q�Q�Qzneed _testlimitedcapi modulec
�0``�Qo[FCD`oU[7fJ[OU2nQoSFDoURO	U2*
oJ	URO	PP	2*
o[O
U2nPoSFD%oURO
[U,22*
oJ'	URO
QP	2*
oUOVQQU*2UQ7fJ�[OUQ2nQOU1QkU22o[O
UQ2nPOU1QkU22oUOVQQU*2CJc	P![cK�h9h[cCJ�h9h)r*rr-rc3�R:�SF �DoROU2w�	J	P!3hrr/)r�r��cencoders& �rr��4BasicUnicodeTest.test_basics_capi.<locals>.<genexpr>�s��Q���Q������1C�1C�Q�r1c3�f:�SF �D!oRO[U,22w�	J#	P!3hrr3)r�r��cdecoders& �rr�rB�s(��9F���9F�A�19����q�c�
�0K�0K�9F�r4r5)r6r8�_testlimitedcapi�codec_incrementalencoderrt�codec_incrementaldecoderrbr~rrr�)rrTrir:r�r<rDrAs&     @@r�test_basics_capi�!BasicUnicodeTest.test_basics_capi�s���
��-�-�H��;�;�?�/�H�H��R�H�
%(�M���%�����);�;�
��!�X�_�_�R��%>�>�M�/�H�H��R�H�$&�M�*��%������s��)D�D�
�+�!�X�_�_�S�$�%?�?�M��$�$�]�%2�X�%=�?��#3�3�
C�#3�#L�#L�X�W_�#`��),���0O�Q�0O�(O�
�#3�#L�#L�X�W_�#`��(*���0H�9F�0H�)H�
��(�(��)6��)A�C�A.��
#�����('����s/�E4�2F�4	F�>F�F�	F�F�Fc	�n�Q8QQ8Q0o[FD�oUQ6XcJU[7cJ[OU2[O
UO
U222o[]2FD6oUO]]2UO2oUOV2J8	J�	P!)r�r�r��Xabc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123�Xdef456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456def456)r6r8rr|r�r�rtr`�seekrUr)rrTrir��tr�s&     r�	test_seek�BasicUnicodeTest.test_seek�s���&��5��-�-�H��6�!���7�7���%�%�h�/��
�
�1�8�8�H�;M�0N�O�F��1�X�����A�q�!��{�{�}��� � ��)�	�
.rc��[FDOo[OU2oUO[U2UQ7fJ8UO[U]*2JQ	P!)r�)r�r�)r6rr2r�r)rrir�s&  r�test_bad_decode_args�%BasicUnicodeTest.test_bad_decode_args�sJ��-�-�H��'�'��1�G����i��1��3�3��!�!�)�W�b�9�	.rc�|�[FD/o[OU2oUO[U2J1	P!r)r6rr-r�r)rrir�s&  r�test_bad_encode_args�%BasicUnicodeTest.test_bad_encode_args�s/��-�-�H��'�'��1�G����i��1�.rc�`�]QHGo[UO2oUO	V"2P!)r)r�)�	encodingsr�r9�encoding_tabler)rr��
table_types&  r�"test_encoding_map_type_initialized�3BasicUnicodeTest.test_encoding_map_type_initialized	s#��$��&�/�/�0�
�����0rc	���Qo[FDRoU[7fJUOV!UOU22UO	V!UOU22JT	P!)r*)r6r8rprtru)rrjris&  rr/�#BasicUnicodeTest.test_decoder_state	sO����-�-�H��;�;��0�0��a�h�h�x�>P�Q��0�0��a�h�h�x�>P�Q�.rr)r2r3r4r5r=r�cpython_only�unittest�skipIfrErHrOrRrUr[r/r7rYrZs@rr(r(mse����NC�`
���
�_�_�%��-�/M�N�#C�O��#C�J
*�:�2�
1�R�Rrr(c�4`�\sQsQsnQsQsQsQsUsP!)�CharmapTesti	c��UO[OQQQ2Q
2UO[OQQQ2Q2UO[[OQQQ2UO[[OQQQ2UO[OQQQ2Q2UO[OQQQ2Q2UO[OQQQ2Q
2UO[OQQQ2Q
2UO[OQQQ2Q2UO[OQQQ2Q2[[
Q	22oUO[OUQP2P[U212P!)�r{r
�􏿿bc�abuab￾r�r�rr?�r
��rfri�uab�ri�zab\x02ri�rgri)rr�charmap_decoder�r�r~r`r�r�allbytess& r�test_decode_with_string_map�'CharmapTest.test_decode_with_string_map	s�������!�!�/�8�U�C��	
�
	
����!�!�/�8�^�L��	
�
	
���,��!�!�?�H�d�	
�	
���,��!�!�?�H�j�	
�	
����!�!�/�9�d�C��	
�
	
����!�!�/�9�j�I��	
�
	
����!�!�/�3E�t�L��	
�
	
����!�!�/�3E�z�R��	
�
	
����!�!�/�8�T�B��	
�
	
����!�!�/�8�Z�H��	
�
��s��$������!�!�(�H�b�9�
��X���	
rc
��UO[OQQ]Q]Q]Q-2Q2UO[OQQ]Q]Q]Q-2Q2UO[OQQ]Q]Q]Q-2Q2UO[OQQ]Q]Q]P-2Q2UO[[OQQ]Q]Q-2UO[[OQQ]Q]Q]P-2UO[[OQQ]Q]Q]Q	-2UO[OQQ
]Q]Q-2Q2UO[OQQ
]Q]Q]P-2Q2UO[OQQ
]Q]Q]Q	-2Q2UO[OQQ]Q]Q-2Q2UO[OQQ]Q]Q]P-2Q2UO[OQQ]Q]Q]Q	-2Q2UO[OQQ]Q]Q-2Q2UO[OQQ]Q]Q]P-2Q2UO[OQQ]Q]Q]Q	-2Q2[[
Q
22oUO[OUQ-2P[U212UO[Q[OQQ]Q]Q]Q-2UO[Q[OQQ]Q]Q]Q-2P!)rer{r�r�r��Aa�Bb�Cc�􏿿u￾r�r�rr?z.character mapping must be in range\(0x110000\)r�i�ɚ;rh)�AaBbCcrirjrmrkrl���)
rrrnr�r�r~r`rr�rros& r�test_decode_with_int2str_map�(CharmapTest.test_decode_with_int2str_mapG	s�������!�!�/�8�#$�c�1�c�1�c�":�
<��	
�	
����!�!�/�8�#$�d�A�t�Q��"=�
?��	
�	
����!�!�/�8�#$�l�A�s�A�s�"C�
E��	
�	
����!�!�/�8�#$�c�1�c�1�b�"9�
;��	
�	
���,��!�!�?�H�$%�s�A�s�#3�	
�
	
���,��!�!�?�H�$%�s�A�s�A�t�#<�	
�	
���,��!�!�?�H�$%�s�A�s�A�x�#@�	
�
	
����!�!�/�9�#$�c�1�c�"2�
4��	
�	
����!�!�/�9�#$�c�1�c�1�d�";�
=��	
�	
����!�!�/�9�#$�c�1�c�1�h�"?�
A��	
�	
����!�!�/�3E�#$�c�1�c�"2�
4��	
�	
����!�!�/�3E�#$�c�1�c�1�d�";�
=��	
�	
����!�!�/�3E�#$�c�1�c�1�h�"?�
A��	
�	
����!�!�/�8�#$�c�1�c�"2�
4��	
�	
����!�!�/�8�#$�c�1�c�1�d�";�
=��	
�	
����!�!�/�8�#$�c�1�c�1�h�"?�
A��	
���s��$������!�!�(�H�b�9�
��X���	
�
	
���y�>��!�!��X��3��4��B�'?�	
�	
���y�>��!�!��X��3��4��I�'F�	
rc�
�[Q2o[Q2o[Q2oUO[OQQ]U]U]U-2Q2UO[OQQ]Q]U]U-2Q2UO[OQQ][O
]U]U-2[
[O
2Q*]12UO[[OQQ][O
]*]U]U-2UO[[OQQ]U]U-2UO[[OQQ]U]U]Q-2UO[OQQ]U]U-2Q
2UO[OQQ]U]U]Q-2Q
2UO[OQQ	]U]U-2Q2UO[OQQ	]U]U]Q-2Q2UO[OQQ
]U]U-2Q2UO[OQQ
]U]U]Q-2Q2P!)r�r�r�rer{i���bci��r�r�rrhrjrkrlrm)
�ordrrrnr8�
maxunicode�chrr�rr�)rr�r�r�s&   r�test_decode_with_int2int_map�(CharmapTest.test_decode_with_int2int_map�	s�����H����H����H������!�!�/�8�#$�a��A�q�!�"4�
6��	
�	
����!�!�/�8�#$�h��1�a��";�
=��	
�	
����!�!�/�8�#$�c�n�n�a��A�q�"A�
C�
����
 �4�
'��+�	
�	
���)��!�!�?�H�$%�s�~�~��'9�1�a��A�#F�	
�
	
���,��!�!�?�H�$%�q�!�Q�<�	
�
	
���,��!�!�?�H�$%�q�!�Q��6�#:�	
�
	
����!�!�/�9�#$�a��A�,�
0��	
�	
����!�!�/�9�#$�a��A�q�&�"9�
;��	
�	
����!�!�/�3E�#$�a��A�,�
0��	
�	
����!�!�/�3E�#$�a��A�q�&�"9�
;��	
�	
����!�!�/�8�#$�a��A�,�
0��	
�	
����!�!�/�8�#$�a��A�q�&�"9�
;��	
rr)	r2r3r4r5rqrzr�r7rYrZs@rrcrc	s����5
�nr
�hI
�I
rrcc�.`�\sQsQsnQsQsQsUsP!)�WithStmtTesti
c�"�[OQ2o[OUQQ29^tt^2oUO	UO2Q2PPP2UO
UO2P!)%fhK-9h)r�rr�r�)r�r�rrPrrUrg�closedr�s&  r�test_encodedfile�WithStmtTest.test_encodedfile
s[���J�J�{�#��
�
�
��9�g�
6�
6�"����R�W�W�Y��0�7�������!�7�
6�s�!A>�>B	�B	c�B�[OQ2o[OQ2o[OVO
UOQ29^tt^2oUOUO2Q2PPP2P!)%fhP!9h)r�r�r{�ü)	r�r�rrr]�streamreader�streamwriterrrU)rr�rC�srws&   r�test_streamreaderwriter�$WithStmtTest.test_streamreaderwriter
sx���J�J�{�#���}�}�W�%��
�
&�
&�q�*;�*;�'+�'8�'8�(�D�D�GJ����S�X�X�Z��0�D�D�D�D�s�"!B
�
B	�B	r)r2r3r4r5r�r�r7rYrZs@rr�r�
s����"�1�1rr�c�.`�\sQsQsnQsQsQsUsP!)�	TypesTesti
c� �[O[O[O[O[O
[O[O[O[O[O[O[O,o[2%c UO[O2SFDoUO!["UQ2J	P!)�mbcs_decoder�)rr�utf_8_decoder�r�rr"rIr[�utf_32_ex_decode�latin_1_decode�ascii_decodern�hasattrr�r�r�r)r�decodersr�s&  r�test_decode_unicode�TypesTest.test_decode_unicode
s���
�������#�#��#�#��#�#�� � ��#�#��#�#��#�#��!�!�����!�!�

���6�=�)�)��O�O�F�.�.�/��G����i��%�8� rc��UO[OQ2Q2UO[OQ2Q2UO[OQ2Q2UO[OQ2Q2UO	[
[OQ2UO[OQQ2Q2UO[OQQ2Q2UO	[
[OQ2UO[OQQ2Q2UO[OQQ2Q2P!)	z\u1234s\u1234�
\U00110000z
\U00110000r�r�)uሴr��r��
)z(\x5c\x55\x30\x30\x31\x31\x30\x30\x30\x30r�)rr�unicode_escape_decode�raw_unicode_escape_decoder�r�rs&r�test_unicode_escape�TypesTest.test_unicode_escape,
s%��	
����5�5�i�@�-�P�����5�5�j�A�=�Q�����9�9�)�D�m�T�����9�9�*�E�}�U����,�f�.J�.J�N�[�����5�5�m�Y�O�Q_�`�����5�5�m�EW�X�J�	L�	
���,�f�.N�.N�P^�_�����9�9�-��S�Uc�d�����9�9�-�I[�\�J�	Lrr)r2r3r4r5r�r�r7rYrZs@rr�r�
s����9�*L�Lrr�c�Z`�\sQsQsnQsPsQsQsQsQs	Qs
QsQ	sQ
s
QsUsP!)�UnicodeEscapeTesti?
zunicode-escapec��UO[OP2Q2UO[OQ2Q2P!�rrr!�rr)rr�unicode_escape_encoder�rs&rr"�UnicodeEscapeTest.test_emptyD
s8������5�5�b�9�8�D�����5�5�c�:�G�Drc	��[Oo[] ]2FD9oU]\6wfJUOU[	U22[U,2]12J;	P!)� )rr�r`rr�r~�rrtr�s&  r�test_raw_encode�!UnicodeEscapeTest.test_raw_encodeH
sF���-�-���r�3��A��H�}�� � ���A���%���*�a��A� rc	���[Oo[Q2FDGoU]\6wfJUOU[	U,2Q*2[U2Q*]12JI	P!�r?rZ�0)rr�r`rr~r�r[s&  r�test_raw_decode�!UnicodeEscapeTest.test_raw_decodeN
sO���-�-���s��A��H�}�� � ���q�c�
�T�(9�!:�S��V�c�\�1�<M�N�rc��[Oo[V2oUQQ2UQQ2UQQ2UQQ2[] 2FD<o[	U2Q7fJU[	U2Q	U*O22J>	[]Q
2FD*oU[	U2Q	U*O22J,	UQQ2UQ
Q2P!)�	s\tr�s\nr�s\r�\s\\z	

r�r?�€�\u20ac�𝄠�
\U0001d120)rr�rr`r�rt�rrtrr�s&   r�test_escape_encode�$UnicodeEscapeTest.test_escape_encodeT
s����-�-���t�,��
�d�F��
�d�F��
�d�F��
�d�F���r��A��1�v�X�%��c�!�f�y�1�}�4�4�6�7���s�C��A��#�a�&�9�q�=�0�0�2�3�!�
�h�
�#�
�l�N�+rc��[Oo[V2oUQQ2UQQ2UQQ2UQQ2UQQ	2UQ
Q2UQQ
2UQQ2UQQ2UQQ2UQQ2UQQ	2UQQ2UQQ2UQQ2UQQ2UQQ 2UQ!Q2UQ"Q 2UQ#Q$2UQ%Q&2P!)'r_r�raz["]rbz[']rcz[\]rdz[]rez[]rfz[	]rgz[
]rhz[]riz[]rjz[
]rkrlz[8]rmz[!]rnz[!8]roz[A]rpz[A0]rqrrr�r�r�r�)rr�rrss&  r�test_escape_decode�$UnicodeEscapeTest.test_escape_decodec
s����-�-���t�,��
�i���
�h���
�h���
�h���
�h��!�
�h��!�
�h��!�
�h��!�
�h��!�
�h��!�
�h��!�
�h��!�
�i��#�
�i���
�j�&�!�
�j�%� �
�k�6�"�
�j�%� �
�k�6�"�
�j�(�#�
�n�l�+rc�@�[Oo[V2o[]a]{2FD�o[	U,2oUQ7cOUO[QU*29^tt^2UQU*Q[U2*2PPP2UO2Q7fJ{UO[QU] *
*29^tt^2UQUO2*Q[U] *
2*2PPP2J�	UO[Q29^tt^2UQQ2PPP2UO[29^tt^2UQ	Q
2PPP2UO[Q29^tt^2oUQQ
2PPP2[QQ2FDJoUO[QU*29^tt^2UQU*[U22PPP2JL	UO[Q29^tt^2UOUQQ2Q2PPP2UO[Q29^tt^2UOUQQ2Q2PPP2P!)%fhCK9h)%fhCJ{9h)%fhCKv9h)%fhCK[9h)%fhCK?9h)%fhCJG9h)%fhK�9h)%fhP!9h)rws	abfnrtuvxrxrYr�sUNryrzz\8r{z\9r|r}u\úr?r@r~rr�r�rr�r�)z\zr
)�Łr�)rr�rr`r~r�r�r�r�r�rr�s&     r�test_decode_warnings�&UnicodeEscapeTest.test_decode_warnings|
s����-�-���t�,���r�3��A��q�c�
�A���$��*�*�+=�?�!�C�E�E��%�!�)�T�C��F�]�3�E��w�w�y��%��*�*�+=�?�1�R�4�H�J�J��%�!�'�'�)�+�T�C��"��I�-=�>�J�J� ��
"�
"�#5�6�8�8��&�%� �8��
�
�0�
1�
1��&�%� �2�
�
"�
"�#5�9�;�;�>@��)�X�&�;��u�f�%�A��&�&�'9�A�A�E�G�G��g��k�3�q�6�*�G�G�&�
�
"�
"�#5�6�8�8����V�H�h�7��D�8��
"�
"�#5�>�@�@����V�J��9�=�I�@�@�/E�E�E��J�J�J��8�8�8��2�
1�
1��;�;�;��G�G�G��8�8��@�@�@�s��%!I?	�6J	�1
J(� 
J<�
K�K$	�K9�L�?J
�J
�J%
�J%
�(J9	�1J9	�<K
	�K
	�K!	�K!	�$K6
�-K6
�9L		�L		�L	�L	c��[OoQFD�vq#[U2FD�oUO[UQU*QU**2UO[UQU*QU**Q*2QU*QU**Q*U*QU**oUOUUQ2Q[
U212UOUUQ2Q	[
U212J�	J�	UO[UQ
2UOUQ
Q2Q2UOUQ
Q2Q
2P!)�xrYrZ�[\�]�]\rr�r��[�]�r�))r����ur
��Ur
�rr�r�)rr�r`r�r�rr�rrbr�rlrkr�s&     r�test_decode_errors�$UnicodeEscapeTest.test_decode_errors�
s���-�-��3�D�A��1�X���!�!�"4�f�"'�!�)�d�1�f�"4�6��!�!�"4�f�"(�1�*�t�A�v�"5��"<�>���z�D��F�*�V�3�a�7�$�q�&�@��� � ���h�!7�$��D�	�9J�K�� � ���i�!8�"2�C��I�!>�@��4�	
���,�f�n�E�������9�8�D������	�:�N�Krc��UOQ,PMPMPMQMQMQMQMQMQMQMQMQMQMQMQMQMQMQMQMQMQMQMQMQMQMQMQMQMQMQMQMQM2P!)�	

\ÿ￿𐀀r�	�	
�	

z	

\�	

\ÿ�
	

\ÿ￿rrs&rr�UnicodeEscapeTest.test_partial�
sV�����.�!
��!
��!
��!
��	!
�
�!
��
!
��!
��!
��!
��!
��!
��!
��!
��!
��!
� #�!!
�"#�#!
�$#�%!
�&#�'!
�(#�)!
�*#�+!
�,)�-!
�.)�/!
�0)�1!
�2)�3!
�4)�5!
�6)�7!
�8)�9!
�:)�;!
�<)�=!
�>)�?!
�@3�A!
�$	
rr)r2r3r4r5rir�r"r�r�r�r�r�r�rr7rYrZs@rr�r�?
sC�����H���E�B�O�
,�,�2J�BL� %
�%
rr�c�T`�\sQsQsnQsPsQsQsQsQs	Qs
QsQ	sQ
s
UsP!)�RawUnicodeEscapeTesti�
zraw-unicode-escapec��UO[OP2Q2UO[OQ2Q2P!r�)rr�raw_unicode_escape_encoder�rs&rr"�RawUnicodeEscapeTest.test_empty�
s8������9�9�"�=�x�H�����9�9�#�>��Hrc	��[Oo[Q2FD0oUOU[	U22[U,2]12J2	P!)r?)rr�r`rr�r~r�s&  rr��$RawUnicodeEscapeTest.test_raw_encode�
s=���1�1���s��A����V�C��F�^�e�Q�C�j�!�_�=�rc	���[Oo[Q2FD>oUOU[	U,2Q*2[U2Q*]12J@	P!r�)rr�r`rr~r�r[s&  rr��$RawUnicodeEscapeTest.test_raw_decode�
sH���1�1���s��A����V�E�1�#�J��$5�6��Q��#��q�8I�J�rc	���[Oo[V2o[Q2FD6oUQ7fJUQ[	U2*Q[U,2*2J8	UQQ2UQQ2P!)r?�uUr�rYr�r�r�r�)rr�rr`r�r~r�s&   rr��'RawUnicodeEscapeTest.test_escape_encode�
s_���1�1���t�,���s��A���~��d�S��V�m�U�U�A�3�Z�%7�8��	�h�
�#�
�l�N�+rc	���[Oo[V2o[Q2FD6oUQ7fJUQ[	U,2*Q[U2*2J8	UQQ2UQQ2P!)r?r�rYr�r�r�r�r�)rr�rr`r~r�)rrbrr�s&   rr��'RawUnicodeEscapeTest.test_escape_decode�
s_���1�1���t�,���s��A���~��e�e�Q�C�j�(�$��Q��-�8��	�j�(�#�
�n�l�+rc��[OoQFD�vq#[U2FD�oUO[UQU*QU**2UO[UQU*QU**Q*2QU*QU**Q*U*QU**oUOUUQ2Q[
U212UOUUQ2Q	[
U212J�	J�	UO[UQ
2UOUQ
Q2Q2UOUQ
Q2Q
2P!)r�rYrZr�r�r�rr�r�r�r�)r�r�r�r�)rr�r`r�r�rrr�s&     rr��'RawUnicodeEscapeTest.test_decode_errors�
s���1�1��(�D�A��1�X���!�!�"4�f�"'�!�)�d�1�f�"4�6��!�!�"4�f�"(�1�*�t�A�v�"5��"<�>���z�D��F�*�V�3�a�7�$�q�&�@��� � ���h�!7�$��D�	�9J�K�� � ���i�!8�"2�C��I�!>�@��)�	
���,�f�n�E�������9�8�D������	�:�N�Krc�0�UOQ,QN2P!)r�)rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrs&rr�!RawUnicodeEscapeTest.test_partial	s�����.�
�	
rr)r2r3r4r5rir�r"r�r�r�r�r�rr7rYrZs@rr�r��
s;����#�H���I�>�
K�
,�,�L� 
�
rr�c�(`�\sQsQsnQsQsUsP!)�EscapeEncodeTesti'c	��,QNoSFDNvq#UOUQ59^tt^2UO[OU2U2PPP2JP	UO	[
[OQ2UO	[
[O[
Q22P!)%fhJ�9h)rr�rr)rT)�foobar)r�r�)s	spameggs)sspam\x00eggs�	)sa'b)sa\'bri)sb\c)sb\\cri)sc
d)sc\ndri)sd
e)sd\reri)sfg)sf\x7fgri)r�rr�
escape_encoder�rrV)rr�r��outputs&   rr��#EscapeEncodeTest.test_escape_encode)s���	
��"�L�D����4��(�(�� � ��!5�!5�d�!;�V�D�)�(�"�	
���)�V�%9�%9�6�B����)�V�%9�%9�9�W�;M�N�)�(�(�s�'B0	�0C
�9C
r)r2r3r4r5r�r7rYrZs@rr�r�'s����O�Orr�c�:`�\sQsQsnQsQsQsQsQsUs	P!)�SurrogateEscapeTesti;c��UOQOQQ2Q2UOQOQQ2Q2UOQOQQ2Q2UOQOQQ2Q2P!)�foo�barr�r��	foo�bars�u	����rrbrtrs&r�	test_utf8�SurrogateEscapeTest.test_utf8=s�������-�-�g�7H�I�'�	)�����.�.�w�8I�J�&�	(�	
����/�/��9J�K�-�	/����-�4�4�W�>O�P�(�	*rc��UOQOQQ2Q2UOQOQQ2Q2P!)r�r�r�r�r�rs&rr��SurrogateEscapeTest.test_asciiIsD������-�-�g�7H�I�'�	)�����.�.�w�8I�J�&�	(rc��UOQOQQ2Q2UOQOQQ2Q2P!)sfoo�barz
iso-8859-3r�u	foo�barr�rs&r�test_charmap� SurrogateEscapeTest.test_charmapPsD������-�-�l�<M�N�'�	)�����.�.�|�=N�O�&�	(rc�L�UOQOQQ2Q2P!)u�����rr�s���r�rs&r�test_latin1�SurrogateEscapeTest.test_latin1Ws$�����9�@�@��L]�^�0�	2rr)
r2r3r4r5r�r�rrr7rYrZs@rr�r�;s����
*�(�(�2�2rr�c�(`�\sQsQsnQsQsUsP!)�BomTesti]c	���QoQoUO[O[O2SFCD�o[	[OQUQ59^tt^2oUOU2UOU2UO
]2UOUO2U]*2UO
]2UOUO2U]*2PPP2[	[OQUQ59^tt^2oUOU]*2UOUO2]2UO
]2UOU2UO
]2UOUO2U2PPP2[	[OQUQ59^tt^2oUOOU]*2UOUOO2]2UOO
]2UOOU2UO
]2UOUO2U2PPP2[	[OQUQ59^tt^2oUOU2UO
UO22UOU2UO
]2UOUO2U]*2PPP2[	[OQUQ59^tt^2oUOOU2UOO
UOO22UOOU2UO
]2UOUO2U]*2PPP2CJ�	P!)%fhCK$9h)%fhCK�9h)%fhCK�9h)%fhCK"9h)%fhCJ89h)�
1234567890rgrt)rbr�r�r�r=rU)rurrvrwrrOrMrrU�assertNotEqual�tellr�)rr�r�rir�s&    r�
test_seek0�BomTest.test_seek0^s�������	
���	�(�(�)�*:�*:�;��H�$�Y�%5�%5�t�h�O�O�ST�����
�����
����q�	�� � �����4�!�8�4����q�	�� � �����4�!�8�4�
P�%�Y�%5�%5�t�h�O�O�ST�����Q�� ��#�#�A�F�F�H�a�0����q�	�����
����q�	�� � �����4�0�
P�%�Y�%5�%5�t�h�O�O�ST������t�A�w�'��#�#�A�H�H�M�M�O�Q�7����
�
�a� ������t�$����q�	�� � �����4�0�
P�%�Y�%5�%5�t�h�O�O�ST�����
����q�v�v�x� �����
����q�	�� � �����4�!�8�4�P�%�Y�%5�%5�t�h�O�O�ST������t�$����
�
�a�h�h�m�m�o�.������t�$����q�	�� � �����4�!�8�4�P�O�O�O�O�O��P�O�O��P�O�O��P�O�O��P�O�O�s_�BP
	�BP!	�B4P5	�6A:Q		�B"Q	�
P
�P
�!P2
�*P2
�5Q
�>Q
�	Q
�Q
�Q/
�&Q/
r)r2r3r4r5r
r7rYrZs@rrr]s����55�55rr�base64_codec�uu_codec�quopri_codec�	hex_codecry�base_64�uu�hex�rot_13�rot13�
zlib_codecr}�zlib�	bz2_codec�bz2c�`�\sQsQsnQsQsQsQsQsQs	Qs
Q	s\O\Q
2Q2sQsQ
sQsQsQsQsUsP!)�TransformCodecTesti�c
��[[Q22o[FD�oUOUQ59^tt^2[O
U2U2vq4UO
U[U22[OU2U2vqTUO
U[U22UO
VQ2PPP2J�	P!)%fhJ�9h)r?rt)	r~r`�bytes_transform_encodingsr�rr-rrr2)r�binputri�orSrks&     rr=�TransformCodecTest.test_basics�s����u�S�z�"��1�1�H����x��0�0�"�-�-�h�7��?�	��� � ��s�6�{�3�"�-�-�h�7��:�	��� � ��s�1�v�.�� � ��+�
1�0�2�0�0�0�s�BC	�C
�C
c	�d�[FD�oUOUQ59^tt^2[OQU2o[OU2[
OU22oUO2oUOUQ2PPP2J�	P!)%fhJ�9h�rtr�)	rr�rrtr|r�r�rUr�rri�sinr��souts&    r�	test_read�TransformCodecTest.test_read�sz��1�1�H����x��0�0��m�m�G�X�6���)�)�(�3�B�J�J�s�O�D���{�{�}��� � ��w�/�	1�0�2�0�0�0���A*B	�B/
�'B/
c	�d�[FD�oUOUQ59^tt^2[OQU2o[OU2[
OU22oUO2oUOUQ2PPP2J�	P!)%fhJ�9hr$)	rr�rrtr|r�r�r�rr%s&    rr�� TransformCodecTest.test_readline�s{��1�1�H����x��0�0��m�m�G�X�6���)�)�(�3�B�J�J�s�O�D�����(��� � ��w�/�	1�0�2�0�0�0�r*c	���Qo[FD�oUOUQ59^tt^2So[U2o[OV22o[OVB2oUOVS2[U2o[OV22oUOV12[OVB2oUOVc2PPP2J�	P!)%fhJ�9h)s12345�rt)rr��
memoryviewrrtrrb)r�originalrir��view�view_encoded�view_decodeds&      r�test_buffer_api_usage�(TransformCodecTest.test_buffer_api_usage�s��� ��1�1�H����x��0�0���!�$�'���}�}�T�4��%�}�}�T�<��� � ��4�!�$�'���}�}�T�4��� � ��0�%�}�}�T�<��� � ��4�1�0�2�0�0�0�s�B$C	�C+
�#C+
c��Qo[FD�oUOUQ59^tt^2QoUOU2oUO[U29^tt^2oUOU2PPP2UO
WOO2PPP2J�	P!)%fhKC9h)%fhJ�9h)zbad input typertzM{!r} is not a text encoding; use codecs.encode\(\) to handle arbitrary codecs)	rr��formatr�rrt�assertIsNoner��	__cause__)r�	bad_inputri�fmtr��failures&     r�/test_text_to_binary_denylists_binary_transforms�BTransformCodecTest.test_text_to_binary_denylists_binary_transforms�s���$�	�1�1�H����x��0�0�K���j�j��*���+�+�K��=�=���$�$�X�.�>��!�!�'�"3�"3�"=�"=�>�
1�0�2�
>�=��	1�0�0�s/�2B:	�B'
�,-B:	�'B7�0B7�2B:	�:C
�C
c��QoUO[U29^tt^2QOQ2PPP2P!)%fhP!9h)zR^'rot_13' is not a text encoding; use codecs.encode\(\) to handle arbitrary codecszjust an example messager)r�rrt�rr�s& r�-test_text_to_binary_denylists_text_transforms�@TransformCodecTest.test_text_to_binary_denylists_text_transforms�s:��C��
�
#�
#�K��
5�
5�%�,�,�X�6�6�
5�
5�
5�s�>�A	�A	c�(�Qo[FD�oUOUQ59^tt^2[OV2oQoUO	U2oUO[U29^tt^2UOU2PPP2UO[U29^tt^2[U2OU2PPP2PPP2J�	P!)%fhK_9h)%fhK19h)%fhCJ9h)s6encode first to ensure we meet any format restrictionsrtzM{!r} is not a text encoding; use codecs.decode\(\) to handle arbitrary codecs)	rr�rrtr6r�rrbrV)rr�ri�encoded_datar:r�s&     r�/test_binary_to_text_denylists_binary_transforms�BTransformCodecTest.test_binary_to_text_denylists_binary_transforms�s���I��1�1�H����x��0�0�%�}�}�T�<��K���j�j��*���+�+�K��=�=� �'�'��1�>��+�+�K��=�=��l�+�2�2�8�<�>�1�0�2�>�=��=�=��1�0�0�sN�AC?	�0C
�&C?	�(C,
�C?	�C)�"C)�$C?	�,C<�5C<�7C?	�?D
�D
c��Q[Q21FD�oUOUQ59^tt^2QoUO[U29^tt^2oUO	Q2PPP2UOWOO2PPP2J�	P!)%fhKC9h)%fhJ�9h)s	immutablesmutable)r9zR^'rot_13' is not a text encoding; use codecs.decode\(\) to handle arbitrary codecsr)rVr�r�rrbr7r�r8)rr9r�r;s&   r�-test_binary_to_text_denylists_text_transforms�@TransformCodecTest.test_binary_to_text_denylists_text_transformss���&�	�*�(=�>�I����	��2�2�K���+�+�K��=�=���$�$�X�.�>��!�!�'�"3�"3�"=�"=�>�3�2�?�>�=��3�2�2�s/�!B.	�B
� -B.	�B+�$B+�&B.	�.B?
�7B?
zRequires zlib supportc��QoUO[O29^tt^2o[OQQ2PPP2UOUWOO]*2P!)%fhK?9h)z'decoding with 'zlib_codec' codec failed�hellor)r�r�errorrrbrr��	__notes__)rr�r;s&  r�test_custom_zlib_error_is_noted�2TransformCodecTest.test_custom_zlib_error_is_noteds]��8��
�
�
�t�z�z�
*�
*�g��M�M�(�L�1�+�����g�/�/�9�9�!�<�=�+�
*���A:�:B
	�B
	c��]PHoQoUOUO29^tt^2o[OQQ2PPP2UOUWOO]*2P!)%fhK?9h)rz&decoding with 'hex_codec' codec failedrJr)�binasciir��Errorrrbrr�rL)rrQr�r;s&   r�test_custom_hex_error_is_noted�1TransformCodecTest.test_custom_hex_error_is_noteds^���6��
�
�
�x�~�~�
.�
.�'��M�M�(�K�0�/�����g�/�/�9�9�!�<�=�/�
.�rOc�j�[O2FD�vq[OU2OoSFDXoUOUQ59^tt^2[OU2oUO
UOU2PPP2JZ	J�	P!)%fhJs9h))�alias)�transform_aliases�itemsrrr#r�r)r�
codec_name�aliases�
expected_namerVrCs&     r�test_aliases�TransformCodecTest.test_aliases!s}��#4�#:�#:�#<��J�"�M�M�*�5�:�:�M� ���\�\��\�.�.�!�=�=��/�D��$�$�T�Y�Y�
�>�/�.�!�$=�/�.�.�s�3B!
�!B2�*B2c�0�[OO[O2o[O
O
O
2FD:oQU0oUO[OOU2QU02J<	P!)z
encodings.zCodec module not found: )�os�path�dirnamerX�__file__rZ�values�assertIsNotNone�	importlib�util�	find_spec)r�
encodings_dir�value�	codec_mods&   r�test_alias_modules_exist�+TransformCodecTest.test_alias_modules_exist)so�������	�(:�(:�;�
��&�&�.�.�5�5�7�E�$�U�G�,�I�� � ����!9�!9�)�!D�#;�I�;�!G�
I�8rc��[OQQ2oUOUQ2QoUO[OUQ2U2P!)sspace tab	eol 
zquopri-codecsspace=20tab=09eol=20
sspace tab eol
)rrtrrb)rr��	unescapeds&  r�test_quopri_stateless�(TransformCodecTest.test_quopri_stateless0sD���-�-� 4�n�E������";�<�&�	�������y�.�A�9�Mrc�T�UO[[OQQ2P!)rzuu-codec)r�r�rrbrs&r�test_uu_invalid�"TransformCodecTest.test_uu_invalid8s�����*�f�m�m�S�*�Err)r2r3r4r5r=r(r�r3r<r@rDrGr`�
skipUnlessrrMrSr\rkrorrr7rYrZs@rrr�sq����	,�0�0�5�$
?�7�
=�?�����6�7�>�8�>�>�?�I�N�F�Frrc�.�[OU2!r)�_TEST_CODECS�get)rYs&r�_get_test_codecrxDs�����J�'�'rc�`�\sQsQsnQsQsQs\OQ2s	Qs
\1QksQs
Q	sQ
sQsQsQ
sQsQsQsQsQsQsUsP!)�ExceptionNotesTestiHc��QUm[O[2UO	[O
[2[UmP!)�exception_notes_test)rYrrrxrur!�RuntimeError�obj_to_raisers&rr��ExceptionNotesTest.setUpJs3��0�������(�����)�)�?�;�)��rc��[OUOP2[OOUOP2P!r)rv�poprYrX�_cachers&r�tearDown�ExceptionNotesTest.tearDownXs0��������$�/������T�_�_�d�3rc�r�[OVUOQ5oU[UO$P!))r#)rrCrYrv)rrtrbr�s&&& r�	set_codec�ExceptionNotesTest.set_codec]s)���%�%�f�+/�?�?�<�
�(2��T�_�_�%rc#�\ �QOVO2oUOU29^tt^2oUw�PPP2UOUWOO
]*2UOO
O
2P!)%fhKc9h3h)z{} with {!r} codec failed)r6rYr�r�r�rL�clear)r�	operation�exc_typer��full_msg�caughts&&&&  r�assertNoted�ExceptionNotesTest.assertNotedbsx���/�6�6��_�_�.��
�
�
�x�
(�
(�F��L�)��
�
�h�� 0� 0� :� :�1� =�>����"�"�(�(�*�)�
(�s"�6B,�B�AB,�B)	�"B)	�$B,c��UOgr)r~)rr
�kwdss&*,r�	raise_obj�ExceptionNotesTest.raise_objks�����rc��VmUOUOUO2UOQV229^tt^2QO	UO
2PPP2UOQV229^tt^2[OQUO
2PPP2UOQV229^tt^2QOUO
2PPP2UOQV229^tt^2[OQUO
2PPP2P!)%fhK�9h)%fhK�9h)%fhK|9h)%fhP!9h)ri�	str_input�decoding�bytes input)r~r�r�r�rtrYrrb)rr~r�r�s&&&&r�
check_note�ExceptionNotesTest.check_noteos���(�����t�~�~�t�~�~�6�
�
�
�j�(�
8�
8����t���/�9�
�
�
�j�(�
8�
8��M�M�+�t���7�9�
�
�
�j�(�
8�
8��!�!�$�/�/�2�9�
�
�
�j�(�
8�
8��M�M�.�$�/�/�:�9�
8�
9�
8��
8�
8��
8�
8��
8�
8�
8�sH�D4�"E�
E�"E-�4E	�=E	�E	�E	�E*	�#E*	�-E>	�6E>	c�4�UO[P2P!)r�r�r}rs&r�test_raise_by_type�%ExceptionNotesTest.test_raise_by_type{s������b�)rc�B�QoUO[U2U2P!)�This should be notedr�r?s& r�test_raise_by_value�&ExceptionNotesTest.test_raise_by_value~s��$������S�)�3�/rc�Z�QoQQ[2oUOUU2V2P!)r�c��\sQsQsQsQsP!)�TExceptionNotesTest.test_raise_grandchild_subclass_exact_size.<locals>.MyRuntimeErrori�r)r2r3r4r5�	__slots__r7rrr�MyRuntimeErrorr��s���Irr��r}r��rr�r�s&  r�)test_raise_grandchild_subclass_exact_size�<ExceptionNotesTest.test_raise_grandchild_subclass_exact_size�s&��$��	�\�	�����s�+�S�Arc�Z�QoQQ[2oUOUU2V2P!)r�c��\sQsQsQsP!)�SExceptionNotesTest.test_raise_subclass_with_weakref_support.<locals>.MyRuntimeErrori�r)r2r3r4r5r7rrrr�r��s��rr�r�r�s&  r�(test_raise_subclass_with_weakref_support�;ExceptionNotesTest.test_raise_subclass_with_weakref_support�s&��$��	�\�	�����s�+�S�Arc�J�QQ[2oUOUP2P!)c�(`�\sQsQsnQsQsUsP!)�9ExceptionNotesTest.test_init_override.<locals>.CustomIniti�c��P!rrrs&rrK�BExceptionNotesTest.test_init_override.<locals>.CustomInit.__init__�s��rr)r2r3r4r5rKr7rYrZs@r�
CustomInitr��s����
�
rr�r�)rr�s& r�test_init_override�%ExceptionNotesTest.test_init_override�s��	��	�	
���
�B�'rc�J�QQ[2oUOUP2P!)c�4``�\sQsQsnU1QksQsUsU9s!)�7ExceptionNotesTest.test_new_override.<locals>.CustomNewi�c�$:�[RU_U2!r)r��__new__)�clsr�s&�rr��?ExceptionNotesTest.test_new_override.<locals>.CustomNew.__new__�s����w��s�+�+rr)r2r3r4r5r�r7rYr�r�s@@r�	CustomNewr��s����
,�
,rr�r�)rr�s& r�test_new_override�$ExceptionNotesTest.test_new_override�s��	,��	,�	
���	�2�&rc�r�Qo[U2o]UmUOUQOU22P!)r�z^{}$)r}�attrr�r6)rr�r�s&  r�test_instance_attribute�*ExceptionNotesTest.test_instance_attribute�s/��$���3����������V�]�]�3�/�0rc�>�UO[]2Q2P!)r_�1r�rs&r�test_non_str_arg�#ExceptionNotesTest.test_non_str_arg�s������Q���-rc�F�QoUO[QQQ2U2P!)z^\('a', 'b', 'c'\)$r�r�r�r�)r�msg_res& r�test_multiple_args�%ExceptionNotesTest.test_multiple_args�s��'������S�#�s�3�V�<rc��QOUO2oUO[U29^tt^2QO	UO2PPP2UO[U29^tt^2[
OQUO2PPP2UO[U29^tt^2QO
UO2PPP2UO[U29^tt^2[
OQUO2PPP2P!)%fhK�9h)%fhK�9h)%fhK�9h)%fhP!9h)z^unknown encoding: {}$z	str inputr�)r6rYr�rrtrrbr?s& r�test_codec_lookup_failure�,ExceptionNotesTest.test_codec_lookup_failure�s���&�-�-�d�o�o�>��
�
#�
#�K��
5�
5����t���/�6�
�
#�
#�K��
5�
5��M�M�+�t���7�6�
�
#�
#�K��
5�
5��!�!�$�/�/�2�6�
�
#�
#�K��
5�
5��M�M�.�$�/�/�:�6�
5�
6�
5��
5�
5��
5�
5��
5�
5�
5�sG�D3�="E�E�"E,�3E	�<E	�E	�E	�E)	�"E)	�,E=	�5E=	c���QoQoUOV2[OPUO2oUO	UQ2[O
PUO2oUO	UQ2QoUO
UO2oUO[U29^tt^2QOUO2PPP2QoUO
UO2oUO[U29^tt^2QOUO2PPP2P!)%fhKq9h)%fhP!9h)c��Q!)�
not bytes!)r�rr�r
r�s*,r�
encode_to_str�PExceptionNotesTest.test_unflagged_non_text_codec_handling.<locals>.encode_to_str�s��"�"rc��Q!)�not str!)r�rrr�s*,r�decode_to_bytes�RExceptionNotesTest.test_unflagged_non_text_codec_handling.<locals>.decode_to_bytes�s��!�!rr�r�zd^{!r} encoder returned 'str' instead of 'bytes'; use codecs.encode\(\) to encode to arbitrary types$r�zd^{!r} decoder returned 'bytes' instead of 'str'; use codecs.decode\(\) to decode to arbitrary types$r�)	r�rrtrYrrbr6r�r)rr�r�r��decodedr:r�s&      r�&test_unflagged_non_text_codec_handling�9ExceptionNotesTest.test_unflagged_non_text_codec_handling�s��	#�	"����}�6��-�-��d�o�o�6������,�/��-�-��d�o�o�6������+�.�F���j�j����)��
�
#�
#�I�s�
3�
3����t���/�4�F���j�j����)��
�
#�
#�I�s�
3�
3��!�!�$�/�/�2�4�
3�4�
3��
4�
3�
3�s$�:D?�E�?E	�E	�E#	�E#	)rYr~)r2r3r4r5r�r�r��
contextlib�contextmanagerr�r�r}r�r�r�r�r�r�r�r�r�r�r�r�r7rYrZs@rrzrzHs|����)�4�
3�
���+��+� �6B�
;�*�0�B�B�(�'�1�.�=�
	;�3�3rrz�win32z"code pages are specific to Windowsc��`�\sQsQsnQsQsQsQsQsQs	Qs
Q	sQ
sQs
QsQ
sQsQs\O&Q]P
Q5Q2s\O&Q]P
Q5Q2sQsUsP!)�CodePageTesti���c�8�UO[[OPQ2UO[[OPQ2UO[
[O]{Q2UO[
[O]{Q2P!)r_r��a)r�r�r�code_page_encode�code_page_decode�OSErrorrs&r�test_invalid_code_page�#CodePageTest.test_invalid_code_page�sj�����*�f�&=�&=�r�3�G����*�f�&=�&=�r�4�H����'�6�#:�#:�C��E����'�6�#:�#:�C��Frc	��UO[Q[OQQ2UO[Q[O
QQQP	2UO[Q[O
UOQQP	2P!)r���ÿs�r{�cp65001r()r�r�rr�r�r��CP_UTF8rs&r�test_code_page_name� CodePageTest.test_code_page_name�sp�����1�7��#�#�S�&�	2����1�7��#�#�S�+�x��	G����1�9��#�#�T�\�\�7�H�d�	Lrc���SFCD/uq4qVU%cUvoLSoUd�[OVUP	2oUO	W]*UU8QU8QU8QU]*8QU80	2UOU]*]2UO
U]*[U22L'UO[[OVUP	2Ud>UOQ	U0U2oUO	V�U8QU8QU8QU8QU80	2CJ
UO[UOQ	U0U2CJ2	P![c-o	SOQS8QS8QS8QS	802Po	=	CK6Po	=	hh9h)
NzUnable to decode z	 from "cp�" with errors=�: z.decode("cp�", �)=� != r@)
rr�r��failr�assertGreaterEqual�assertLessEqualrr�rb)
rr@r�r�r�r��rest�altexpectedr��errs
&&&       r�check_decode�CodePageTest.check_decode�sU��,1�(�C���#���&���#�H�$�5�5�b�v�t�L�G�� � ����X��B����
�
�H�>�?��'�'���
�A�6��$�$�W�Q�Z��S��:��!�!�"4��+�+�R�f�d�D��&��*�*�r�"��Y��7��� � ���B����>�?��!�!�"4��J�J�"�R�D�	�6�3�7-2��*�H��I�I�14�b�&�#�G�H�H��H�s�D;�;	E2�E2�!E-�-E2c��SFCDuq4qVU%cUvoLSoUd�[OVU2oUO	W]*UU8QU8QU8QU]*8QU80	2UO	U]*[U22UO
Q	U0U2oUO	V�U8QU8QU8QU8QU80	2J�UO[[OVU2UO[UOQ	U0U2CJ	P![c-o	SOQS8QS8QS8QS	802Po	=	CKPo	=	hh9h)
NzUnable to encode z to "cpr�r�z.encode("cpr�r�r�r@)rr�r�r�rrrtr�)
rr@r��textr�r�r�r�r�r�s
&&&       r�check_encode�CodePageTest.check_encode
s6��-2�)�D�(��#���&���#�I�$�5�5�b��G�G�� � ����X��R������X�?�@�� � ����S��Y�7��+�+��2�$�i��8��� � ���R���+�?�@��!�!�"4��+�+�R�v�?��!�!�"4��K�K�2�b�T��F�4�/.3��*�I��I�I�15�r�6�3�H�I�I��I�s�D�	E�$E�%!E�Ec�P�UOQQ2UOQQ2P!)r�)
�r
r{r�)�d騾r{����)ur{r()r�r{N)rrr`)rr�s[y]�[?])u[€]r�r)rr�s[\xff])rr�s)[\N{LATIN SMALL LETTER Y WITH DIAERESIS}])rr�s[&#255;])u�r{N)�[�]r�r)r	r�N)�r�r{r
)rr{r)rr{N�[])rrr�r)rr��[�]r)rr�z[\xff]r)rr�r	r)rr�Nr)��abcr{N)r
rzabc)r
r�u�abc)r
r�z\x81abc�rr�rs&r�
test_cp932�CodePageTest.test_cp932
s.�����#� 
�	�"	
���#� 
�	rc�P�UOQQ2UOQQ2P!)i�)r)�é€r{��)r�r{r()r�r{N)r�rr)r�r��L�?)��r���)rr�N)r
)rr{r)r(r{r�rrs&r�test_cp1252�CodePageTest.test_cp1252@
s.�����$�
!
�
	�	
���$�!
�	rc�P�UOQQ2UOQQ2P!)��)
)�abc2%r{�abc2%)�،ءيr{����)�╢ç r{����)�šŸr{���)�╫r{r�)�[٢]r{N)r%rr`)r%r�r)��r���)r&r�N))rr{r)rr{r)r!r{r )r#r{r")r�r{r$)r'r{N)�[�]rr�)r(r�r)r(r�z[\xa0])r(r�u[�])r(r�Nrrs&r�
test_cp708�CodePageTest.test_cp708R
s.�����#� 
�	�	
���#�
 
�
	rc�P�UOQQ2UOQQ2P!)i�N)r)�§Äßr{�@[~)�@r{N)r.rr)r.r�r)��r�r�)r/r�N)	r
)r-r{r,)s�r{uaß)�(�)r{N)r0rz())r0r�u(�))r0r�z(\xbf))r0r�u(�))r0r�Nrrs&r�test_cp20106�CodePageTest.test_cp20106o
s.�����%�	"
�		�	
���%�"
�	rc�T�QoUOUQ2UOUQ2P!)��)r)rr{�+AOkgrA-)rwr{�+2//f/w-)r�r{�+3IA-)r�r{�+//0-)r
)r5r{r)r6r{rw)r7r{r�)r8r{r�)s[+/]r{r�)rr{rr�rr@s& r�test_cp_utf7�CodePageTest.test_cp_utf7�
s3��
�����"�
�	�	
���"�	
�		rc��UOQQ2UOUOQ2UOUOQ2P!)r�))���r�騾)r=r�u�騾))��􏿿rrw)r?r�u�􏿿))�	[􏿿�]rs[􏿿])r@r�s[􏿿?])r�r�rrs&r�test_multibyte_encoding�$CodePageTest.test_multibyte_encoding�
sM�����#� 
�	�	
���$�,�,�)
�	�	
���$�,�,�)
�	rc��[O%c [OO	Q2,QN[QQ2NQMFDgo[
U2%c.UO[OUQ2QQU02JA[O%fJY[QU02Ji	UO[O]*Q2Q	2P!)
r�i��r4r�r@z  skipping cp=)i,�i-�i.�i1�i3�i5�i��rh)u	ri)r�verboser8�stdoutrOr`rDrrr��printr9s& r�test_code_page_decode_flags�(CodePageTest.test_code_page_decode_flags�
s����?�?�?��J�J���T�"�2��%��)�2�+0�2�B�$�B�'�'�� � ��!8�!8��V�!D�j�TV�WY�VZ�R[�\��?�?�?��N�2�$�/�0�2�	
����0�0��V�<�2�	4rc�`�[OQQQP
2oUOUQ2[OQQQP
2oUOUQ2[OQQQP
2oUOUQ2[OQQQP
2oUOUQ	2P!)
r���r{s��s��r�r�)r>r�)u騾騾r
rh)rr�r)rr�s& r�test_incremental�CodePageTest.test_incremental�
s����)�)�#�w��%�H������'�*��)�)�#�*9�8�*/�1��	
����-�0��)�)�#�*=�x�*/�1��	
����"5�6��)�)�#�*0�(�*/�1��	
����*�-rc��]QHGoW2o[O
QU02P![cSOQ2K@h9h)r)�GetACPzrequires _winapi.GetACPr@)�_winapirN�ImportError�skipTestrr)rrNr@s&  r�test_mbcs_code_page� CodePageTest.test_mbcs_code_page�
sC��	5�&��X���
�
��2�$�i� ���	5��M�M�3�4�	5�s�+�	A
�A
�	A
)rS�memuse�dry_runc���QU]*]*
*Q*oUO[U2U]*2[OQUQP	2oUOU]*[U22=UO[U]*2U]*2UOU]*Q*Q2UOU]*QPQ2P!)s01234567s
��������r�r��Nr�N�
0123456701u(6701234567����������i���rrrr��rrSr�r�s&&  r�test_large_input�CodePageTest.test_large_input�
s���
�4��7�A�+�.�>�?������W��t�A�v�.��)�)�#�w�8I�4�P��������S��\�2������W�Q�Z��'�!�*�5�������C��,�7�������C�D�)�:�	;rc��QU]**oUO[U2U]*]
*2[OQUQP	2oUOU]*[U22=UO[U]*2U2UOU]*Q*Q2UOU]*QPQ2P!)s
0123456턀r�rrWu0123456턀01u56턀0123456턀i����rYrZs&&  r�test_large_utf8_input�"CodePageTest.test_large_utf8_input�
s���
*�T�1�W�5������W��t�q�y�2�~�6��)�)�%��(�D�I��������S��\�2������W�Q�Z��$�/�������C��*;�<�������C�D�)�+B�Crrl)r2r3r4r5r�r�r�r�rrrr)r1r:rArGrKrRr�
bigmemtestr[r^r7rYrZs@rr�r��s������G�G�L�3�>4�6 �D�$�:�0�(�4�&.�&!�
���U�1�e�<�;�=�;�"
���U�1�e�<�D�=�Drr�c�@`�\sQsQsnQsQsQsQsQsQs	Us
P!)�	ASCIITesti�
c�J�UOQOQ2Q2P!)r*r�sabc123r�rs&rr��ASCIITest.test_encode�
s���������1�9�=rc
���QFDLvqoUOVUQ59^tt^2UOUOQU2U2PPP2JN	P!)%fhJc9h)�	[€ÿ€]r�r�))rfrr`)rfr�s[???])rfr�s[&#128;&#255;&#8364;])u
[€ÿ€򫳞]r�s[\x80\xff\u20ac\U000abcde]�r�r�r��r�rrtr�s&   r�test_encode_error�ASCIITest.test_encode_error�
sh��.
�)�D�����4�'/��1�1�� � ����W�m�!D�!)�+�1�1�.
�1�1�1���#A	�A(
� A(
c��UO[29^tt^2QOQQ2PPP2P!)%fhP!9h)u�ÿr�r��r�r�rtrs&r�!test_encode_surrogateescape_error�+ASCIITest.test_encode_surrogateescape_errors4��
�
�
�1�
2�
2�����):�;�3�
2�
2�
2���<�A
	�A
	c�J�UOQOQ2Q2P!)r�r�r
)rrbrs&rr��ASCIITest.test_decodes��������w�/��7rc
���QFDLvqoUOVUQ59^tt^2UOUOQU2U2PPP2JN	P!)%fhJc9h)r�r�r�r�r
r�s&   rr��ASCIITest.test_decode_errorsh��.
�)�D�����4�'/��1�1�� � ����W�m�!D�!)�+�1�1�
.
�1�1�1�rkr)r2r3r4r5r�rirnr�r�r7rYrZs@rrbrb�
s#����>�+�<�
8�
+�
+rrbc�:`�\sQsQsnQsQsQsQsQsUs	P!)�
Latin1Testi!c	���QFDIvqUOVQ59^tt^2UOUOQ2U2PPP2JK	P!)%fhJ`9h)r
�r�r�r�))r
r�)u€éÿs��rh�rr�r�s&  rr��Latin1Test.test_encode"�P��
�N�D����4��;�;�� � ����X�!6��A�<�;�	
�<�;�;���"A	�A%
�A%
c
���QFDLvqoUOVUQ59^tt^2UOUOQU2U2PPP2JN	P!)%fhJc9h)�[€�]r�r�))r~rr`)r~r�s[??])u	[€򫳞]r�s[\u20ac\U000abcde])r~r�s[&#8364;&#56448;]rgrhr�s&   r�test_encode_errors�Latin1Test.test_encode_errors*sh��.
�)�D�����4�'/��1�1�� � ����X�}�!E�!)�+�1�1�.
�1�1�1�rkc��UO[29^tt^2QOQQ2PPP2P!)%fhP!9h)u�€r�r�rmrs&rrn�,Latin1Test.test_encode_surrogateescape_error8s4��
�
�
�1�
2�
2��!�!�(�,=�>�3�
2�
2�
2�rpc	���QFDIvqUOVQ59^tt^2UOUOQ2U2PPP2JK	P!)%fhJ`9h)r�rxr�))r�r
)r�u[€ÿ]r
rys&  rr��Latin1Test.test_decode=r{r|r)
r2r3r4r5r�rrnr�r7rYrZs@rrvrv!s!����B�+�?�
B�Brrvc�F`�\sQsQsnQsQsQsQsQsQs	Qs
UsP!)	�StreamRecoderTestiFc�~�[O2o[OQ2o[OVO
UO[OO[OO2oUOQQ,2UOUO2Q2P!)r�r��bsab)r�r�rrr^rtrbrXr�rGrH�
writelinesrr�r�bio�codec�srs&   r�test_writelines�!StreamRecoderTest.test_writelinesGsw���j�j�l���
�
�g�&��
�
!�
!�#�|�|�U�\�\�"+�/�/�">�">�	���@\�@\�^��
�
�
�t�T�l�#���������/rc��[O2o[OQ2o[OVO
UO[OO[OO2oQoUOUOQ22UOUO2UOQ22P!)r�uàñér�)r�r�rrr^rtrbrXr"rGrHrOrr)rr�r�r�rs&    r�
test_write�StreamRecoderTest.test_writeOs����j�j�l���
�
�h�'��
�
!�
!�#�|�|�U�\�\�"+�/�/�">�">�	���@\�@\�^����
������X�&�'�����������W�)=�>rc���[OQOQ22o[OUQQ2oUOUO
2Q2UO]2UOUO
2Q2UOUO
2Q2UOUO
2Q2UOUO
2Q2P!)zline1
line2
line3
r�r�sline1
sline2
sline3
r)r�r�rtrrPrr�rM�rr�r�s&  r�test_seeking_read�#StreamRecoderTest.test_seeking_readZs����j�j�0�7�7��D�E��
�
�
��W�k�
:���������
�3�
����
��������
�3��������
�3��������
�3���������,rc���[OQOQ22o[OUQQ2oUO]2UO
Q2UOUO2Q2UO]2UOUO2Q2UOUO2Q2UOUO2Q2P!)z
123456789
r�r�s
abc
s789
s1
sabc
)	r�r�rtrrPrMrOrr�r�s&  r�test_seeking_write�$StreamRecoderTest.test_seeking_writees����j�j��-�-�k�:�;��
�
�
��W�k�
:��	����
�
�������������1�
����
���������/���������1���������1rc�Z�[O2o[OQ2o[OVO
UO[OO[OO2oUO[Q29^tt^2[OU2PPP2UO[Q29^tt^2[OU2PPP2P!)%fhKO9h)%fhP!9h)r�r^)r�r�rrr^rtrbrXr�rGrHr�rrzr�r�s&   rr��StreamRecoderTest.test_copyss����j�j�l���
�
�g�&��
�
!�
!�#�|�|�U�\�\�"+�/�/�">�">�	���@\�@\�^���
#�
#�I��
?�
?��I�I�b�M�@�
�
#�
#�I��
?�
?��M�M�"��@�
?�@�
?��
?�
?�
?�s$�(D�%D�D	�D	�D*	�"D*	c�b�[Q2o[OQ2o[OVOUO
[OO[OO2o[[O]*2FDcoUOUQ59^tt^2UO[Q29^tt^2[O V42PPP2PPP2Je	P!)%fhK9h)%fhJ�9h)rr�r�r^)rFrrr^rtrbrXr�rGrHr`r�r�r�r�rr�)rr�r�r�r�s&    rr��StreamRecoderTest.test_pickle~s����#�J���
�
�g�&��
�
!�
!�!�\�\�5�<�<�"+�/�/�">�">�	���@\�@\�^���6�2�2�Q�6�7�E����u��-�-��+�+�I��G�G��L�L��+�H�.�-�8�G�G��.�-�-�s0�>D	�D

�4D	�
D�D�D	�D.
�&D.
r)r2r3r4r5r�r�r�r�r�r�r7rYrZs@rr�r�Fs(����0�	?�	-�2�	�	,�	,rr�zneed _testinternalcapi modulec�`�\sQsQsnQs\O2sQsQs	Qs
QQksQsQs
QsQsQ	sQQ
ksQsQsQ
sQsQsQsUsP!)�LocaleCodecTesti�z<
Test indirectly _Py_DecodeUTF8Ex() and _Py_EncodeUTF8Ex().
u��c�4�[OU]U2!�r)�_testinternalcapi�EncodeLocaleEx)rrr�s&&&rrt�LocaleCodecTest.encode�s�� �/�/��a��@�@rc�"�UOFDeoUOUQ59^tt^2UOUOU2oUOV!2oUO	VC2PPP2Jg	P![
cvSO
[29^tt^2oSOX!2PPP2L)%fhL9h[WO2oSOSQ2K�h9h)%fhJ�9h))rz!encode error: pos=[0-9]+, reason=)�STRINGSr�rt�ENCODINGrr�r�r}r�r��assertRegex)rr�rr�r�r��errmsgs&&     r�check_encode_strings�$LocaleCodecTest.check_encode_strings�s����L�L�D����4��(�(�	8�#�{�{�4�=�=�&�A�H�#�k�k�$�7�G��$�$�W�7�)�(�!��*�S��*�*�<�8�8�B����D�1�9�8�8�8�� ����.�F��$�$�V�-Q�R�	S��)�(�(�sX�C=	�A:�
"C=	�:	C:�C:�"B=�4	C:�=C
�C
�/C:�7C=	�9C:�:C=	�=D
�D
c�*�UOQ2P!rz�r�rs&r�test_encode_strict�"LocaleCodecTest.test_encode_strict�����!�!�(�+rc�*�UOQ2P!�r�r�rs&r�test_encode_surrogateescape�+LocaleCodecTest.test_encode_surrogateescape�����!�!�"3�4rc���UOPQ2UOQ2P![c;o[S2Q6Xc%SOSO8Q02Po=KRgPo=hh9h)rr��unsupported error handlerz4 encoder doesn't support surrogatepass error handler)rtr�r�rQr�r��rr�s& r�test_encode_surrogatepass�)LocaleCodecTest.test_encode_surrogatepass�sm��	��K�K��O�,�	
�!�!�/�2���	��3�x�6�6��
�
���� 1�2<�=�>�>���	��%�(�	A-�A-�A(�A(�'A(�(A-c���UO[29^tt^2oUOPQ2PPP2UO[	WO
2Q2P!)%fhK79h)rr�r�)r�r�rtrr�r��rr�s& r�%test_encode_unsupported_error_handler�5LocaleCodecTest.test_encode_unsupported_error_handler�sL��
�
�
�z�
*�
*�b��K�K��.�/�+�����R�\�\�*�,G�H�+�
*���A!�!A1	�*A1	c�4�[OU]U2!r�)r��DecodeLocaleEx)rr�r�s&&&rrb�LocaleCodecTest.decode�s�� �/�/���F�C�Crc��UOQ6HoU%cQoLQo[UO2oUOFDvoUO	UOU2oVd7cUOU2U%fJAUO	UOQ2oVv6wfJeUOU2Jx	SFDeoUOUQ59^tt^2UOUOU2oUOVa2o	UOV�2PPP2Jg	P![cPoK�h9h[cvSO[29^tt^2o
SOXa2PPP2L)%fhL9h[W
O2oSOSQ2K�h9h)%fhCJ9h)r�r�r{r�)r�zdecode error: )r�rC�
BYTES_STRINGSr�rtr�r�r�rbrr�r�r}r�r��assertStartsWith)rr��is_utf8�
encode_errors�stringsrr��encoded2r�r�r�r�s&&          r�check_decode_strings�$LocaleCodecTest.check_decode_strings�sp���=�=�G�+���-�M�$�M��t�)�)�*���L�L�D�
��+�+�d�m�m�]�C���)��N�N�7�+��w��;�;�t�}�}�o�F���&��N�N�8�,�!��G����g��.�.�	8�&�~�~�d�m�m�V�D�H�#�k�k�'�:�G��$�$�W�7�/�.���&�
���
��*�D��*�*�<�8�8�B����G�4�9�8�8�8�� ����.�F��)�)�&�2B�C�	D��/�.�.�sx�!D(�&D(�F>	�D;�8"F>	�(	D8�2D8�7D8�;	F;�F;�#E>�5	F;�>F�F�	/F;�8F>	�:F;�;F>	�>G
�G
c�*�UOQ2P!rz�r�rs&r�test_decode_strict�"LocaleCodecTest.test_decode_strict�r�rc�*�UOQ2P!r�r�rs&r�test_decode_surrogateescape�+LocaleCodecTest.test_decode_surrogateescape�r�rc���UOQQ2UOQ2P![c;o[S2Q6Xc%SOSO8Q02Po=KRgPo=hh9h)rr�r�z4 decoder doesn't support surrogatepass error handler)rbr�r�rQr�r�r�s& r�test_decode_surrogatepass�)LocaleCodecTest.test_decode_surrogatepass�sm��	��K�K��_�-�	
�!�!�/�2���	��3�x�6�6��
�
���� 1�2<�=�>�>���	�r�c���UO[29^tt^2oUOQQ2PPP2UO[	WO
2Q2P!)%fhK79h)rr�r�)r�r�rbrr�r�r�s& r�%test_decode_unsupported_error_handler�5LocaleCodecTest.test_decode_unsupported_error_handler�sL��
�
�
�z�
*�
*�b��K�K��/�0�+�����R�\�\�*�,G�H�+�
*�r�r)r�uulatin1:§éuu255:ÿu
UCS:é€􏿿usurrogates:��)s
blatin1:��sb255:�rz)r2r3r4r5rXr8�getfilesystemencodingr�r�r��
SURROGATESrtr�r�r�r�r�rbr�r�r�r�r�r7rYrZs@rr�r��st������(�(�*�H�*�G�8�M��J�A�8�,�5�
3�I�
D� 8�D,�5�
3�I�Irr�c�>`�\sQsQsnQsQsQsQsQsQs	Us
P!)�	Rot13Testi�z"Test the educational ROT-13 codec.c�Z�[OQQ2oUOUQ2P!)zCaesar liked ciphers�rot-13zPnrfne yvxrq pvcuref)rrtr)r�
ciphertexts& rr��Rot13Test.test_encode�s$���]�]�#9�8�D�
�����%;�<rc�Z�[OQQ2oUOUQ2P!)z
Rg gh, Oehgr?r�z
Et tu, Brute?)rrbr)r�	plaintexts& rr��Rot13Test.test_decodes"���M�M�/�8�<�	�����O�4rc��[OQ22oUOQ2oUOUQ2P!)r�zABBA nag Cheryl BakerzNOON ant Purely Onxre)rrsrtr)rr�r�s&  rr��!Rot13Test.test_incremental_encodes5���.�.�x�8�:���^�^�$;�<�
�����%<�=rc��[OQ22oUOQ2oUOUQ2P!)r�zterra Ares envy thazgreen Nerf rail gun)rrarbr)rr�r�s&  rr��!Rot13Test.test_incremental_decodes5���.�.�x�8�:���N�N�#8�9�	�����$9�:rr)r2r3r4r5rXr�r�r�r�r7rYrZs@rr�r��s!����,�=�5�>�
;�;rr�c�,`�\sQsQsnQsQsQsUsP!)�
Rot13UtilTestiz�Test the ROT-13 codec via rot13 function,
i.e. the user has done something like:
$ echo "Hello World" | python -m encodings.rot_13
c���]QHGo[OQ2o[O2oUV#2UO	]2UO2oUO
UQ2P!)r)rz)Gb or, be abg gb or, gung vf gur dhrfgvbaz)To be, or not to be, that is the question)�encodings.rot_13rr�rDrMrUr)rr�infile�outfile�
plain_texts&    r�test_rot13_func�Rot13UtilTest.test_rot13_funcsQ��*����H�I���+�+�-��
�f�����Q���\�\�^�
�����7�	9rr)r2r3r4r5rXr�r7rYrZs@rr�r�s�����	9�	9rr�c�2`�\sQsQsnQsQsQsQsUsP!)�CodecNameNormalizationTesti"zTest codec name normalizationc�N�Qo[OU2UO[OU2UO	[O
Q2Q	2UO	[O
Q2Q
2UO	[O
Q2Q
2UO	[O
Q2Q2UO	[O
Q2Q2UO	[O
Q2Q2UO	[O
Q2Q
2UO
[29^tt^2UO	[O
Q2Q2PPP2P!)%fhP!9h)c�B�UOQ2%cU]]]1!P!)ztest.)�
startswithrts&rr$�FCodecNameNormalizationTest.test_codecs_lookup.<locals>.search_function%s%���"�"�7�+�+� �!�Q��*�*�r�
test.aaa_8z
TEST.AAA-8z
TEST.AAA 8zTEST.AAA---8zTEST.AAA   8z
TEST.AAA.8zTEST.AAA...8uTEST.AAAé€-8)r�r�rir
)z
test.aaa-8r�rir
)ztest.aaa---8r�rir
)z
test.aaa.8r�rir
)ztest.aaa...8r�rir
)utest.aaaé€-8r�rir
)rrrur!rrr�r�)rr$s& r�test_codecs_lookup�-CodecNameNormalizationTest.test_codecs_lookup$s��	�	����(�����)�)�?�;�������|�4�6M�N�������|�4�6M�N�������|�4�6M�N�������~�6�8Q�R�������~�6�8Q�R�������|�4�6M�N�������~�6�8Q�R�
�
�
�0�
1�
1����V�]�]�+A�B�De�f�2�
1�
1�
1�s�"'F�F$	�F$	c���[OoUOUQ2Q2UOUQ2Q2UOUQ2Q2UOUQ2Q2UOUQ2Q2Qo[OU[
129^tt^2UOUQ2Q2PPP2P!)%fhP!9h)r"zutf   8zUTF 8�UTF_8zutf.8zutf...8z<Support for non-ascii encoding names will be removed in 3.17uutfé€􏿿-8)rX�normalize_encodingrr�check_warningsr�)r�	normalizer�s&  r�!test_encodings_normalize_encoding�<CodecNameNormalizationTest.test_encodings_normalize_encoding7s����0�0�	�����7�+�W�5�����9�-�w�7�	
����7�+�W�5�����7�+�W�5�����9�-�y�9�M��
�
+�
+�S�2D�,E�
F�
F����Y�'B�C�W�M�G�
F�
F�
F�s�0C�C$	�C$	r)	r2r3r4r5rXr�rr7rYrZs@rr�r�"s����'�g�&
N�
Nrr�c�(`�\sQsQsnQsQsUsP!)�CodecCacheTestiGc��[[OQ*2FDoQOQU02J	UO[
[O2[O2P![cJch9h)��r��	nonexist_)r`rX�	_MAXCACHErbrr�rr�)rrks& r�test_cache_bounded�!CodecCacheTest.test_cache_boundedHsj���y�*�*�T�1�2�A�
����i��s�O�,�3�	
���S��!1�!1�2�I�4G�4G�H���
��
�s�A8�8	B�B�Br)r2r3r4r5rr7rYrZs@rrrGs����I�Irr�__main__))u"ليهمابتكلموشعربي؟segbpdaj6bu4bxfgehfvwxn)u他们为什么不说中文sihqwcrb4cv8a8dqg056pqjye)u他們爲什麽不說中文sihqwctvzc91f659drss3x8bo0yb)uPročprostěnemluvíčeskysProprostnemluvesky-uyb24dma41a)u,למההםפשוטלאמדבריםעבריתs4dbcagdahymbxekheh6e0a7fei0b)uZयहलोगहिन्दीक्योंनहींबोलसकतेहैंs,i1baa7eci9glrd9b2ae1bj0hfcgg6iyaf8o0a1dig0cd)u6なぜみんな日本語を話してくれないのかs&n8jok5ay5dzabd5bym9f0cm5685rrjetr6pdxa)uH세계의모든사람들이한국어를이해한다면얼마나좋을까sE989aomsvi5e83db1d2a355cv1e0vak1dwrv93d5xbh15a0dt30a5jpsd879ccm6fea98c)u8почемужеонинеговорятпорусскиs b1abfaaepdrnnbgefbaDotcwatmq2g4l)u*PorquénopuedensimplementehablarenEspañols-PorqunopuedensimplementehablarenEspaol-fmd56a)u-TạisaohọkhôngthểchỉnóitiếngViệts,TisaohkhngthchnitingVit-kjcr8268qyxafd2f1b9g)u3年B組金八先生s3B-ww4c5e180e575a65lsy2b)u"安室奈美恵-with-SUPER-MONKEYSs(-with-SUPER-MONKEYS-pc58ag80a8qai00g7n9n)u'Hello-Another-Way-それぞれの場所s(Hello-Another-Way--fc4qua05auwb3674vfr0b)uひとつ屋根の下2s2-u9tlzr9756bt3uc0v)uMajiでKoiする5秒前sMajiKoi5-783gue6qz075azm5e)uパフィーdeルンバsde-jg4avhby1noc0d)uそのスピードでsd9juau41awczczp)z-> $1.00 <-s-> $1.00 <--)s%foo­͏᠆᠋bar​⁠baz︀︈️s	foobarbaz)sCAFEscafe)sßsss)sİsi̇)sŃͺsń ι)NN)sǰ ªsǰ a)sᾷsᾶι)�ǰr)�ΐr)�ΰr
)�ẖr)�ὖr)� r)s r)s N)s r)s​r)s r)�r)s…N)s᠎N)r4r)s𝅵N)sN)s󱈴N)s􏈴N)s򏿾N)s􏿿N)s�N)s�N)s⿵N)śś)s‎N)s‪N)s󠀁N)s󠁂N)sfoo־barN)s	fooﵐbarN)s	fooﹶbars	foo َbar)sا1N)�ا1بr)sX­ßİ℡ǰ ªΰ sxssi̇telǰ aΰ )sXß㌖İ℡⒟㌀s*xssキロメートルi̇tel(d)アパート)rrrr)�quopri�quoted_printable�quotedprintable)Yrr�rzrer�r�r_r8r`rXrr�testr�test.supportrrrErPr�rrrDr�rFr]rx�TestCaser�r;rSr`r�r�r�r�rrr)rRr�rkrrF�reprr�r�r�r�rr�r�r�r�r6r�r�r8r(rcr�r�r�r�r�r�rrrWrrrrvrxrzrt�platformr�rbrvr�rar�r�r�r�rr2�mainrrr�<module>rs���
����	�
�	�
������"�(�����
,��$�(�F��*-�-�DQ=�&�Q=�h
]>��(�+�+�]>�@+>�(�H�-�-�+>�\+>�(�H�-�-�+>�\`-��(�+�+�`-�F*'�(�H�-�-�*'�X*'�(�H�-�-�*'�X[H�x��*�*�[H�|CK�x��*�*�CK�L>�(�#�#�>�C�X�&�&�C� S-�(�H�-�-�S-�lLH�x�(�(�LH�`e��N
�A�
�1�v�q�y�
�d�1�g��
�
-P�8�$�$�-P�bV��V��V��V��V�"�#V�.�/V�2�3V�8�9V�@�AV�F�GV�L�MV�R�SV�X�YV�^�_V�d�eV�j�kV�p�qV�v
�wV�|�}V�B�CV�H�IV�N�OV�T
�UV�Z�[V�`�aV�f�gV�l�mV�r�sV�x�yV�~�V�D�EV�J�KV�P�QV�V�WV�\�]V�b�cV�h�iV�n�oV�t�uV�z�{V�@�AV�F�GV�R�SV�X,�YV�b2�cV��rP�8�$�$�P�(z6�H�%�%�z6�z~I�x�(�(�~I�B+�x�(�(�+�2+�x�(�(�+�(+�X�.�.�+�*
0�h�'�'�
0�f��f�
�f��f��	f�
�f�
�
f�
�f�
�f�
�f�
�f�
�f�
�f�
�f�
�f�
�f� 
�!f�"
�#f�$
�%f�&�'f�(�)f�*�+f�,�-f�.�/f�0�1f�2�3f�4�5f�6�7f�8�9f�:�;f�<�=f�>�?f�@�Af�B�Cf�D�Ef�F�Gf�H�If�J�Kf�L�Mf�N�Of�P�Qf�R�Sf�T�Uf�V�Wf�X�Yf�Z�[f�\
�]f�^
�_f�`�af�b
�cf�d
�ef�f�gf�h	�if�j�kf�l�mf�n�of�p�qf�r�sf�t�uf�v�wf�x�yf�z�{f�|�}f�~�f�@�Af�B�Cf�D�Ef�F�Gf�H�If�J�Kf�L�Mf�N�Of�P�Qf�R�Sf�T�Uf�V�Wf�X�Yf�Z
�[f�\
�]f�^
�_f�`
�af�b�cf�d�ef�f�gf�h�if�j�kf�l�mf�n�of�p
�qf�r�sf�t�uf�v�wf�x�yf�z�{f�|�}f�~�f�@�Af�B
�Cf�D�Ef�F�Gf�H�If�J�Kf��P�6�=�!�!�� � ��(�
�6�<� � �� � ��'�� ��
_R�x�(�(�*A�_R�Du
�(�#�#�u
�p1�8�$�$�1�&L��!�!�&L�RS
��(�"3�"3�S
�jP
�8�X�%6�%6�P
�fO�x�(�(�O�(2�(�+�+�2�D65�h���65�r���X�y�)�����E��%���w�i���6���$�$�\�2�',�f�o��l�#�-���$�$�[�1�&+�W��k�"�EF��*�*�EF�Z��(�E3��*�*�E3�R
���S�\�\�W�,�9�;�dD�8�$�$�dD�;�dD�N	$+��!�!�$+�N"B��"�"�"B�JA,��)�)�A,�H
���"�d�*�,K�L�nI�h�'�'�nI�M�nI�b;��!�!�;�*9�H�%�%�9�""N��!2�!2�"N�JI�X�&�&�I��z���M�M�O���}y������������^\���D����	��	�s`�X�X+�X;�<Y�X(�!X(�'X(�+X8�1X8�7X8�;Y�Y�Y�Y�Y�Y

Youez - 2016 - github.com/yon3zu
LinuXploit