python (3.12.0)

(root)/
lib/
python3.12/
test/
__pycache__/
test_unicode.cpython-312.opt-2.pyc

Αe	ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlmZddl
mZmZddlmZ	ddlZdZdZGddeZGd	d
ej0ej2ej4e	j6ZGdde	j6Zed
k(re	j>yy#e$rdZY}wxYw)N)warnings_helper)supportstring_tests)assert_python_failurecPdd}dd}dd}dd}|dk(r||ddfS|dk(r||ddfSy)NcyN*inputerrorss  E/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/test/test_unicode.pydecode1z search_function.<locals>.decode1cyr	rrs  rencode1z search_function.<locals>.encode1 rrcyN)r
r
rrs  rencode2z search_function.<locals>.encode2"rcyrrrs  rdecode2z search_function.<locals>.decode2$rr
test.unicode1
test.unicode2)strictr)encodingrrrrs     rsearch_functionrsG $--	?	"$--rc@	|jjSN)encodedecode)texts rduplicate_stringr%-s;;=!!rceZdZy)StrSubclassN__name__
__module____qualname__rrrr'r'7srr'czeZdZeZdZdZdZdZdZ	dZ
dZdZd	Z
d
ZdZdZd
ZdZdZdZdZdZdZdZdZej6ej:dkDddZdZe jBdZ"dZ#dZ$dZ%fdZ&fdZ'fd Z(fd!Z)e jTd"d#Z+fd$Z,fd%Z-fd&Z.d'Z/fd(Z0d)Z1d*Z2e jBe jfej6e4d+ud,d-Z5d.Z6d/Z7d0Z8d1Z9d2Z:d3Z;fd4Z<d5Z=d6Z>ej~ej:d7k(d8e jBd9Z@d:ZAd;ZBd<ZCd=ZDd>ZEd?ZFd@ZGdAZHdBZIdCZJdDZKdEZLe jBej6e4d+ud,dFZMdGZNdHZOe jdIdJdKdLZQdMZRdNZSdOZTdPZUdQZVdRZWdSZXdTZYdUZZdVZ[dWZ\dXZ]dYZ^dZZ_d[Z`d\Zad]Zbd^Zcd_Zdd`ZedaZfdbZgdcZhej6ej:dkDxseijdddek7dfdgZke jBdhZldiZmdjZndkZodlZpe jBe jfej6e4d+ud,dmZqdnZrdoZsdpZtxZuS)qUnicodeTestc~tjt|jtjtyr!)codecsregisterr
addCleanup
unregisterselfs rsetUpzUnicodeTest.setUpAs"())?;rc8t||}||}|j|||jt|t|u||urNGddt}||}t||}||}|j|||j||uyy)NceZdZdZy))UnicodeTest.checkequalnofix.<locals>.usubc2dtj|zS)Nzusub(%r))str__repr__r3s rr;z2UnicodeTest.checkequalnofix.<locals>.usub.__repr__Os%T(:::rNr)r*r+r;rrrusubr8Ns;rr=)getattrassertEqual
assertTruetyper:)r4resultobject
methodnameargsmethod
realresultr=s        rcheckequalnofixzUnicodeTest.checkequalnofixEs,T]
V,Z(DL89
;s
;&\FVZ0FJZ0OOF*45 rc|jdd|jdd|jttd|jttd|jttddz|j	ddy)	Nÿ￿z'\Ufffffffe'z'\Uffffffff'z'\U%08x'z\u0020 )r?assertRaisesSyntaxErrorevalassertNotEqualr3s r
test_literalszUnicodeTest.test_literalsWso*<0+t->?+t->?+t]X-EFIs+rc
|jtdd|jtdd|jtdd|jtdd|jtd	d
|jtdd|jtd
d|jtdd|jtdd|jtdd|jtdd|jtdd|jtddd}tdjtttd}|j|||jtdtdGdd}|j
tt|y)Nabc'abc'ab\c'ab\\c'ab\'ab\\'\c'\\c'\'\\'
'\n'
'\r'	'\t''\x08''"'\'"''"'""'"'a'\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff'0𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿ceZdZdZy))UnicodeTest.test_ascii.<locals>.WrongReprcyNs	byte-reprrr3s rr;z2UnicodeTest.test_ascii.<locals>.WrongRepr.__repr__#rNr<rrr	WrongReprrp
$rrt)r?asciijoinmapchrrangerN	TypeErrorr4
latin1reprtestreprrts    r
test_asciizUnicodeTest.test_ascii`suw/w5v
3uy1th/tg.tg.tg.ti0u|4u|4sY/sY/

	S%*!567:.BC!"EF	H	$	$	
)UIK8rc
|jtdd|jtdd|jtdd|jtdd|jtd	d
|jtdd|jtd
d|jtdd|jtdd|jtdd|jtdd|jtdd|jtddd}tdjtttd}|j|||jtdtdGdd}|j
tt|y)NrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjrku%'\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0¡¢£¤¥¦§¨©ª«¬\xad®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ'rlrmrnceZdZdZy)(UnicodeTest.test_repr.<locals>.WrongReprcyrrrr3s rr;z1UnicodeTest.test_repr.<locals>.WrongRepr.__repr__rsrNr<rrrrtrrurrt)r?reprrwrxryrzrNr{r|s    r	test_reprzUnicodeTest.test_reprseg.g4fz2ei0dX.dW-dW-dW-dY/el3el3cI.cI.

	Cs 456:.AB !DE	G	$	$	
)T9;7rcdj}|jt|d|jt|d|jt|d|jtt|y)N	ᄑ∢㌳uᄑu∢u㌳)__iter__r?nextrN
StopIteration)r4its  rtest_iteratorszUnicodeTest.test_iteratorss^
!
*
*
,b8,b8,b8,-r2rcttdttdg}|D]3}|j|5|jt|ddd5y#1swY@xYw)NrTu🚀)cls)rAitersubTestrNr{)r4casesrs   rtest_iterators_invocationz%UnicodeTest.test_iterators_invocationsed5k"Df$67	2C#&
2!!)S1
2
2	2
2
2sA""A+	c
gd}|D]G}|j|5|j|djt|dddIy#1swYTxYw)NrTu🚀🚀🚀r)stringrl)rr?rwr)r4rcases   rtest_iterationzUnicodeTest.test_iterations[=	<DT*
<  rwwtDz':;
<
<	<
<
<s+AA	cgd}|D]N}|j|5t|}t||jtt
|dddPy#1swY[xYw)Nrr)rrtuplerNrr)r4rriterators    rtest_exhausted_iteratorz#UnicodeTest.test_exhausted_iteratorsg=	AD4(
A:h!!-x@
A
A	A
A
As2AA"	cgd}|D]}|j|5ttjdzD]r}t	|}|j|5djtjtj||}|j||dddt	dddy#1swYxYw#1swYxYw)Nrr)protorl)	rrzpickleHIGHEST_PROTOCOLrrwloadsdumpsr?)r4rrrrpickleds      rtest_pickle_iteratorz UnicodeTest.test_pickle_iterators=	8D4(
8"6#:#:Q#>?8EdBE28"$''&,,v||B7N*O"P((w7888
8
8	888
8
8s$=CAB:	$
C:C
?CC	ctjj||jdddd|jdddd|jdddd|jdddd|jdddd|jddddd|jddddd	|jd
ddddd|jdddddd	|j	dddd|j	dd
dd|j	dddd|j	dddd|j	dddd|j	dddd|j	dddd|j	dddd|j	dddd|j	dddd|j	dddd|j	ddddGddt
}|j	d|dddy)Naaacountarbri
uĂaaaaaaaaaau􀌄aaaaaaaaaau􀌄ĂĂĂĂĂĂĂĂĂĂĂ
aaaaaaaaaa􀌄uĂĂĂĂĂĂĂĂĂĂuĂa_a_a_a_a_a_a_a_a_a_a_u􀌄a_a_a_a_a_a_a_a_a_a_u"􀌄Ă_Ă_Ă_Ă_Ă_Ă_Ă_Ă_Ă_Ă_Ă_aĂa􀌄Ă􀌄ceZdZy)%UnicodeTest.test_count.<locals>.MyStrNr(rrrMyStrrrr)r
CommonTest
test_countrH
checkequalr:)r4rs  rrzUnicodeTest.test_counts**40Q5Q5Qw5Qw5Qw5Qwb9Qwc:Qwa<Qwa=/#>3WcB8'8L8Wh78Wl;='<@0'4@4gtD97IN8Wi88Wm<='3EF	C	5<#6rctjj||jdddd|jdddd|jdddd|jdddd|jdd	dd
|jdd	dd|jdd	dd|j	d
ddd|j	ddddd|j	ddddd|jd
ddd|jddddd|jdddddd|jdddd|jdddd|jddddd|jdddddd|jddddd|jdddddd|jddddd|jdddd|jtdj|jtdjd|jdd dd!|jdd"dd!|jdd#dd|jdd$dd|jdd$dd
|jdd%dd
|jdd&dd'|jdd(dd'|jdd)dd*|jdd$dd+|jdd$dd,|jdd%dd-y).NdufaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaĂfindrrȁĠȠuhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa􀌄r􀈄􂀄rabcdefghiabcrT	rdefтестuтreтест тестесrechellor
ĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂar􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄a􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄ĂdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂa_r􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄a_􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄Ă_rrrr)rr	test_findrrHrNr{rr3s rrzUnicodeTest.test_finds))$/168D0&(C0&(C0&(C5v|L4flK4flKQ?QBRB	
:vt4:vtQ7Ja;J4.?.B.1E.B/AF/C/>)W\\2)W\\26163?5vsC:FHMIvx8Iv|<NFLA2FDA6E;VYOIvy9Iv}=NF4FGrc|tjj||jdddd|jdddd|jdddd|jdddd|jdd	dd
|jdd	dd|jdd	dd|j	d
ddd|j	dddd|j	dddd|jdddd|jddddd|jddddd|jdddd|jdddd|jddddd|jdddddd|jddddd|jdddddd|jddddd|jdddd|jdddd|jdddd|jdd dd|jdd!dd|jdd!dd
|jdd"dd
|jdd#dd$|jdd%dd$|jdd&dd'|jdd!dd(|jdd!dd)|jdd"dd*y)+NrufĂaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfindrrrrruh􀌄aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarrrrrrTrlrruеrrrrrrrraĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂra􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄Ă􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄rr_aĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂ_a_a􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄_Ă􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄_ĂĂa􀌄a􀌄Ă)rr
test_rfindrrHr3s rrzUnicodeTest.test_rfind"s**40/'8D07HE07HE07HE3WlK4g|L4g|LQ.'5AR.'2>R2>:w5:wa8Jq9J5.@.C.AF.C/&!QG/&!D/$?/#>3WcB8'8LIw9Iw=NG\B0'4@4gtD97INIw	:Iw
>NG5GHrcntjj||jdddd|jdddd|jdddd|jddddd	|j	t
djd
|j	t
djdd	|j	t
djd
d|j	t
djd
d|jdddd|jdddd|jdddd|j	t
djd|j	t
djd|j	t
djd|jdddd|jdddd|jdddd|j	t
djd|j	t
djd|j	t
djd y)!NrrindexrlrrrTrrhibabcdefghiab	abcdefghighirrrrrrrrrrrrrrrrrr)rr
test_indexrHrN
ValueErrorrrr3s rrzUnicodeTest.test_indexKs**40Q"=Q%@Q%@Q%C*n&:&:EB*m&9&9E1E*k&7&7%C*k&7&7%D17C@5wD:GXN*y&7&7B*y&7&7F*~&<&<lK2GTB6F;WiP*y&7&7C*y&7&7G*~&<&<>PQrctjj||jdddd|jdddd|jdddd|jd	dddd	d
|j	t
djd|j	t
djdd
|j	t
djdd	d
|j	t
djdd	d|j	t
djdd	d
|jd	ddd|jd	ddd|jd	ddd|j	t
djd|j	t
djd|j	t
djd|jd	ddd|jd	ddd|jd	ddd|j	t
djd|j	t
djd|j	t
djd y)!NrrrindexrlrrrrTrrr	defghiabcrrrrrrrrrrrrrrrrrrrr)rrtest_rindexrHrNrrrr3s rrzUnicodeTest.test_rindexcs++D1RB?QEBQEBQE1bI*n&;&;eD*k&8&85!D*k&8&85!RH*k&8&85!QG*k&8&85!RH/3?3XsC8(HM*y&8&8(C*y&8&8,G*~&=&=|L0(DA4hE98YO*y&8&8)D*y&8&8-H*~&=&=?QRrc4|jdddtddi|jdddtddtdtdi|jdddtddtdtdtd	d
i|jd	ddtddtddi|jdd
dtddi|jdddddi|jjddd}|jddd||jjddd}|jddd||j	djtjddd|j	djtjddid|j	djtjddid|j	djtjddid|j	djtjddid|j	d jtjdd!dd"|j	d jtjdddd#|j	djtjdd$id%|j	djtjddid|j	djtjddid|j	djtjdd!id&|j	d'jtjdd(id)d*}d+D]?}tj||i}d,|z}|jt|j
|A|jt|jj|jt|jjdd-|jt|jjd.d/|jt|jjdd.|jt|jjdd/d.|jt|jjd0d.i|jt|jjd1d.i|jtd2j
|jtdj
ddy)3Nbbbcabababc	translateriiicriiiixcxrlxyyxxzxzyyz<i>rrz
<i><i><i>crTxyzdxyzzyabdcdcbddddz[a]Xz[X][]XXXz[XXX]éu[é]axb123x123uxéu<é>u[<é>]z[123]u[aé]u<€>u	[<€>é]rLu
aé€􏿿z[%s]defgrrxy)rr)
rHord	type2test	maketransr?rr:rNrr{)r4tblinvalid_charbeforemappingr$s      rtest_maketrans_translatez$UnicodeTest.test_maketrans_translate}sVY!#h-	/VY!#hc#hCA	CVY!#hc#hC#c(CP	RS)[!#hc#h;	=VUK!#h-	/	
Y	;!5\	+nn&&T'>?\9k3Gnn&&ueS9Wm[#F	
sC)@A	 Sz)BC	 T{)CD	U|)DE 	"V})EF!	#T7N)OP	!T7O)PQ 	"	
X)GH#	%++CMM63-,HI	 ++CMM64.,IJ	++CMM65/,JK 	",,S]]C;L-MN)	+"-	CFmmV\$:;GF?Dj$..'B	C	
)T^^%=%=>*dnn&>&>vN)T^^%=%=q%H)T^^%=%=uaH)T^^%=%=ueQO*dnn&>&>q	J)T^^%=%=ayI)W%6%67)Y%8%8%Grc	ftjj|dD]\}}|dz}|dz}dD]y}|j||zg||zd||j||g||z|zd||j||zg||zd|dz|j||g||dzz|zd|dz{y)NbaāĀ𐌁𐌀rrr𐌂splitr)rr
test_splitrr4leftrightdelims    rr"zUnicodeTest.test_splits**40J	MKD%AIDQJE6
M $ugu>u
 $uu 4guF $uguqyBu
 $uqy 05 8'5!8M
M	Mrc	tjj|dD]\}}|dz}|dz}dD]y}|j||zg||zd||j||g||z|zd||j||zg||zd|dz|j||g||dzz|zd|dz{|j||zg||zddy)N)ruюёrrr)ruыrr rsplitr)rrtest_rsplitrr#s    rr)zUnicodeTest.test_rsplits++D1Q	;KD%AIDQJE<
N $uh?u
 $uu 4hG $uh	Cu
 $uqy 05 8(E1HN
N
OOTE\N!E\8T
;	;rc	tjj||jdddddD]\}}|dz}|dz}dD]}|j||zddf||zd||j|||f||z|zd||j||zddf||zd|d	z|j||d	z|f||d	zz|zd|d	zy)
N)ABCDEFGHrlrlr+	partition䈀rrrrlr)rMixinStrUnicodeUserStringTesttest_partitionrr#s    rr/zUnicodeTest.test_partitions22AA$G,j+xPI	RKD%AIDQJE6
Rr2 6 $uk5Bue 4 $uu 4k5Jr2 6 $uk519Fuqy% 8 $uqy 05 8+uqyR
R	Rrc	tjj||jdddddD]\}}|dz}|dz}dD]}|jdd||zf||zd||j|||f||z|zd||jdd||zf||zd|d	z|j||d	z|f||d	zz|zd|d	zy)
N)rlrlr+r+
rpartitionr-rrrrlr)rr.test_rpartitionrr#s    rr2zUnicodeTest.test_rpartitions	22BB4H,j,QI	SKD%AIDQJE6
SR 6 $ulECue 4 $uu 4lEKR 6 $ulEAIGuqy% 8 $uqy 05 8,PQ	S
S	Src
tjj|Gdd}|jdddgd|jdddd|jd	ddtjd
|jdddgd|jdddgd|jdddd|jd	ddtjd
|jtdddd|d
g|jtdddddtg|jtddgd|jtddgdy)NceZdZdZdZy)(UnicodeTest.test_join.<locals>.MyWrapperc||_yr!sval)r4r8s  r__init__z1UnicodeTest.test_join.<locals>.MyWrapper.__init__s$dirc|jSr!r7r3s r__str__z0UnicodeTest.test_join.<locals>.MyWrapper.__str__sdii/rNr)r*r+r9r;rrr	MyWrapperr5
s6/rr=za b c drMrw)rrrrabcdrlzw x y zwxyz12foo3)rrr)r@rAr)rr.	test_joinrHSequencecheckraisesr{bytes)r4r=s  rrDzUnicodeTest.test_join
s022<<TB	0	0
	
YV5IJVR1EFYV\5J5J65RSYV5IJYV5IJVR1EFYV\5J5J65RSC#sIe<L1MNC#sC1IJC;C?rlz*needs too much memory on a 64-bit platformcttjdzdz}d|zf|z}|jtdj
|y)Ng?rArl)intsysmaxsizerN
OverflowErrorrw)r4sizeseqs   rtest_join_overflowzUnicodeTest.test_join_overflowsB3;;#$q(Tzmd"-#6rc
tjj||jdddddd|j	t
djddd	D]\}}|d
z}|d
z}dD]}dD]}|j||z||zd|||j||z|z||z|zd|||j||z||zd|d
z||j||z|z||d
zz|zd|d
z|y)Nzone@two!three!zone!two!three!replace!@rrr
rrr)ruău𐌃r)rrtest_replacerHrNr{rRr)r4r$r%r&repls     rrVzUnicodeTest.test_replace%s;,,T2	
-/?CQTVWX)Y%6%6R@I	@KD%AIDQJE6
@9
@DOOD5L$(5L)UDJOOD4K%$7$(5L5$8$-ud<OOD5L$(5L)UQYNOOD4K%$7$(519$4u$<$-uqy$@
@
@	@rcPd}d}|j|j|||y)NrTzabc def)assertIsrR)r4patternr$s   rtest_replace_idzUnicodeTest.test_replace_id<s%

dll7G4d;rcd}d}|jt|t||jt|t||jt|t|dz|jt|t|dz|jt|t|dz|jt|td|z|jt|t|dzGddt}|d	}|jt|t||jt|t|dz|jt|t|dz|jt|t|dz|jt|td|z|jt|t|dzy)
Nz123abc1@z456zyx-+rrrceZdZy)5UnicodeTest.test_repeat_id_preserving.<locals>.SubStrNr(rrrSubStrr_Mrrr`zqwerty())r?idrQr:)r4rrr`ss     rtest_repeat_id_preservingz%UnicodeTest.test_repeat_id_preservingBsA1&BqE2a5)BqE2a"f:.BqE2a!e9-A1q5	*A1q5	*BqE2a!e9-	S	
:A1&BqE2a"f:.BqE2a!e9-BqE2a!e9-BqE2a!e9-BqE2a!e9-rcVtj5tjdt|jddk(d|jddk7d|jdt
dk(d|jdt
dk7ddddy#1swYyxYw)NignorerTabcFT)rcheck_warningswarningssimplefilterBytesWarningr?	bytearrayr3s rtest_bytes_comparisonz!UnicodeTest.test_bytes_comparisonXs

+
+
-	?!!(L9Uf_e4Uf_d3Ui&77?Ui&77>	?	?	?sBBB(cjddjddkDjddk	jddky)NrTr>uu)r?r@)r4
test_fixup
test_lecmps`@@rtest_comparisonzUnicodeTest.test_comparison`sJ&''f	
78rc8t||jddd|jdj	|jdj	|jdj	|jdj	|jdj	|jd	j	|jd
j	|jdj	y)NFῼislowerⅧⅷ𐐁𐐧𐐩𐑎🐍👯)supertest_islowerrHassertFalsersr@r4	__class__s rr}zUnicodeTest.test_islowers
UHi8))+,((*+--/0--/0,,./,,./--/0--/0rc8t||jddd|jdj	|jdj	|jdj	|jdj	|jdj	|jd	j	|jd
j	|jdj	y)NFrrisupperrtrurvrwrxryrzr{)r|test_isupperrHr@rr~rs rrzUnicodeTest.test_isuppers
UHi8((*+))+,,,./,,./--/0--/0--/0--/0rcVt||jddd|jddd|jdj	|jdj	dD]1}|j|j	dj
|3y)	NTrristitleuGreek ῼitlecases ...u𐐁𐐩u𐐧𐑎)rxryrzr{z{!a} is not title)r|test_istitlerHr@rr~formatr4chrs  rrzUnicodeTest.test_istitles
T8Y7T#>	J	
.6689.6689J	KBRZZ\+>+E+Eb+IJ	Krct||jddd|jddd|jddddD]1}|j|j	dj|3y)	NTu isspaceu Fu—rvrwrxryrzr{z{!a} is not space.)r|test_isspacerHr~rrrs  rrzUnicodeTest.test_isspacesy
T8Y7T8Y7UHi8/	LBRZZ\+?+F+Fr+JK	LrcpucttjdzD]`}t|}t	j
|}t	j|}|j|j|dvxs|dk(by)Nr)WSBSZs)	rzrK
maxunicoderyunicodedata
bidirectionalcategoryr?r)r4	codepointcharrrs     rtest_isspace_invariantz"UnicodeTest.test_isspace_invariantsts~~12	4Iy>D'55d;M"++D1HT\\^+/??2!)T!1
4		4rct|dD]1}|j|jdj	|3y)N)rvrwrxry𝟶𑁦𐒠🄇z{!a} is alnum.)r|test_isalnumr@isalnumrrs  rrzUnicodeTest.test_isalnumsB
K	GBOOBJJL*:*A*A"*EF	Grct||jddd|jdj	|jdj	|jdj	|jdj	|jdj	|jd	j	y)
NTrrisalpharvrwrxryrzr{)r|test_isalpharHr@rr~rs rrzUnicodeTest.test_isalphas
T8Y7,,./,,./,,./,,./--/0--/0rct||jdj|jdjy)N€􏿿)r|test_isasciir~isasciirs rrzUnicodeTest.test_isasciis<
))+,--/0rc<|jddd|jddd|jddd|jddd|jddd|jdd	d|jdd
d|jddd|jtddd
dD]1}|j|j	dj|3dD]1}|j
|j	dj|3y)NFrl	isdecimalrT0①¼٠
01234567890123456789arTr
)rvrwrxryrzr{𑁥rz{!a} is not decimal.)rrrz{!a} is decimal.)rHrFr{r~rrr@r4rs  rtest_isdecimalzUnicodeTest.test_isdecimalsUB4UC5T34UHk:UFK8T8[9T<=UM;?E;;K	PBR\\^-C-J-J2-NO	P=	KBOOBLLN,>,E,Eb,IJ	Krclt||jddd|jddd|jddddD]1}|j|j	dj|3d	D]1}|j
|j	d
j|3y)NTrisdigitFrr)rvrwrxryrzr{rz{!a} is not a digit.)rrrrz{!a} is a digit.)r|test_isdigitrHr~rrr@rs  rrzUnicodeTest.test_isdigits
T8Y7UFI6T8Y7=	NBRZZ\+A+H+H+LM	NK	IBOOBJJL*<*C*CB*GH	IrcN|jddd|jddd|jddd|jddd|jddd|jdd	d|jdd
d|jddd|jtdjd
dD]1}|j	|jdj|3dD]1}|j
|jdj|3y)NFrl	isnumericrTrrrrrrrTr
rz{!a} is not numeric.)rrrrrz{!a} is numeric.)rHrNr{rr~rr@rs  rtest_isnumericzUnicodeTest.test_isnumericsUB4UC5T34T8[9T6;7T8[9T<=UM;?)U__b9/	PBR\\^-C-J-J2-NO	P/	KBOOBLLN,>,E,Eb,IJ	Krc|jdj|jdj|jdj|jdj|jdj|jdj|jdj|jdj|jd	j|jd
j|jdj|jdjy)
NrZ_b0bcb_µu𝔘𝔫𝔦𝔠𝔬𝔡𝔢rM[©r)r@isidentifierr~r3s rtest_isidentifierzUnicodeTest.test_isidentifier!s((*+((*+((*+))+,))+,))+,))+,6CCEF))+,))+,**,-))+,rNzneed _testcapi modulec0d}|j|jtj5t	j
dt|jtj|jdddy#1swYyxYw)Nu𝖀𝖓𝖎𝖈𝖔𝖉𝖊re)	r@rrrgrhriDeprecationWarning	_testcapiunicode_legacy_string)r4us  rtest_isidentifier_legacyz$UnicodeTest.test_isidentifier_legacy0sr
+()

+
+
-	O!!(,>?OOI;;A>KKMN	O	O	OsA
BBc2|jdj|jdj|jdj|jdj|jdj|jdj|jdj|jdj|jd	jy)
NrlrMabcdefgzabcdefg
ʹ͸r{u󠀠)r@isprintabler~r3s rtest_isprintablezUnicodeTest.test_isprintable:s())*	--/00023,,./--/0--/000231134rc	dD]_}|j|j|j|j|j|j	adD]_}|j|j|j|j|j|j	adD]7}tt|}dD] }|j|||d|d"9dD]7}tt|}dD] }|j|||d|d"9y)	N)abab	aba	aba)uABuABu	ABAu	ABA)rsrr)r.z() is False)rrrrrrrr)rrrrrrrr)r@rsr~rrr>r:)r4rb	meth_namemeths    rtest_surrogateszUnicodeTest.test_surrogatesIs.8	*AOOAIIK(QYY[)QYY[)		*
8	)AQYY[)OOAIIK(OOAIIK(		);	OI3	*DI
O  a9*MN
O	O
9	OI3	*D<
O  a9*MN
O		Orctjj||jdj	d|jdj	d|jdj	d|jdj	d|jdj	d|jd	j	d
|jdj	d|jd
j	d|jdj	d|jdj	d|jdj	d|jdj	d|jdj	d|jdj	d|jdj	dy)Nrw𐑏𐐧𐐧𐑏𐑏𐐧𐑏
X𐐧x𐑏u
x𐑏x𐑏fiİi̇ΣσͅΣuͅσAͅΣuaͅςAͅΣauaͅσaAΣͅuaςͅΣͅ uσͅ 򏿾ru)rr
test_lowerr?lowerr3s rrzUnicodeTest.test_lowerds**40++-|</557/	1/557/	117791	3.)>:)84--/@..0/B)//13CD..0/B..0/B..0/B++-|<)84rc|jdjd|jdjd|jdjd|jdjd|jdjd|jd	jd
|jdjdy)
NrhELloßssrfirrruaισruμ)r?casefoldr3s r
test_casefoldzUnicodeTest.test_casefoldzs))+W5))+W5$/)40**,h7113_E**,h7rctjj||jdj	d|jdj	d|jdj	d|jdj	d|jdj	d	|jd
j	d
|jdj	d|jdj	d
|jdj	d|jdj	d|jdj	dy)Nrrwrrrru
X𐐧X𐐧rFIrrrSSῒΪ̀rrurt)rr
test_upperr?upperr3s rrzUnicodeTest.test_uppers(**40++-|</557/	1/557/	117791	3-)84)84t,)+?@++-|<)84rctjj||jdj	d|jdj	d|jdj	d|jdj	d|jdj	d|jdj	d	d
}|jdj	||jdj	d
|jdj	dy)Nrrwrr𐑏𐐧ru
X𐑏x𐑏uhİuHi̇u	Ϊ̀i̇uῒİufinnishFinnishruAͅς)rrtest_capitalizer?
capitalize)r4exps  rrzUnicodeTest.test_capitalizes//5002LA/::</	1/::</	1/::</	11<<>1	3--/A.224c:..0)<335Grcbt||jdjd|jdjd|jdjd|jdjd|jdjd|jdjd	|jd
jd|jdjd
|jdjdy)Nrrwrru𐑏𐑏 𐑏𐑏u𐐧𐑏 𐐧𐑏u𐑏𐐧 𐑏𐐧uX𐐧x𐑏 X𐐧x𐑏uX𐑏x𐑏 X𐑏x𐑏ufiNNISHru	AΣ ᾡxyu	Aς ᾩxyuAΣAuAσa)r|
test_titler?titlers rrzUnicodeTest.test_titles	
++-|</557/	1DJJLD	FDJJLD	FDJJLD	FHNNPH	J))+Y7+1135GH))+Z8rctjj||jdj	d|jdj	d|jdj	d|jdj	d|jdj	d|jdj	d|jd	j	d
|jdj	d|jd
j	d|jdj	d|jdj	d|jdj	d|jdj	d|jdj	d|jdj	d|jd
j	d|jdj	d|jdj	dy)Nrrwrrrrru
x𐑏X𐐧rrrrrrruΙσruaΙςruaΙσAruaςΙruσΙ rrrr)rr
test_swapcaser?swapcaser3s rr
zUnicodeTest.test_swapcases--d3..0,?..0,?/88:/	1/88:/	1/88:/	11::<1	3)40**,n=**,h7002NC113_E)2246FG113_E113_E113_E**,h7$/**,.BCrctjj||jdj	ddd|jdj	ddd|jdj	dddy)	Nrrrux􏿿ru	􏿿x􏿿ru
􏿿x􏿿􏿿)rrtest_centerr?centerr3s rr
zUnicodeTest.test_centersp++D1A|4&	(A|40	2A|4:	<rizrequires 32-bit systemcd}	d|z}	|jtj~y#t$r|jd|dzzYEwxYw#~wxYw)NiVUUüz$no enough memory (%.0f MiB required)i)MemoryErrorskipTestrNrMr)r4rNrbs   rtest_case_operation_overflowz(UnicodeTest.test_case_operation_overflowsc	StA	mQWW5	SMM@D5LQR	S
s, A AAAc|jdd|jdd|jdd|jdd|jdd|jdd|jdd|jdd|jdd|jdd|jdd	|jdd
|jdd|jd
d|jd
d|jd
d|jdd|jdd|jdd|jdd|jdd|jdd|jdd|jdd|jdd|jdd|jtdjdD]e}|dz}dD]Y}|j|||j|||z|j|dz||j|dz||dzz[gy)Nrabdbbdabbdababdbabdb)rrN)rNr)rry)rrNr>abcxxxxabrT)rNrrlzabczabcasdfasd)rĀu𐌀rrr)assertInassertNotInrNr{__contains__)r4fillr&s   r
test_containszUnicodeTest.test_containss


c6"

c6"

c7#

c6"e$

c6"

c<(

c<(

c<(

c<(k*l++

dF#

dE"

dM*

b% 

b"

b% u%

dG$

dG$

c7#

ff%'$)U%7%781	;DAID6
;  -

eTE\2  D1

eai	)9:	
;	;rc0djdjdjdjdj	djdj
dddjdddjddy)Nu𐀀􀀀􀀀r𐀀)	rrrrrrrljustrjustr3s rtest_issue18183zUnicodeTest.test_issue18183sz$$&'')$$&))+$$&'')A|,1l+1l+rc5|jdjd|jdjd|jdjd|jdjd|jdjd|jdjd	|jd
jd|jdjd
ddl}|jdjdd|jdjtdd|jdjdd|j	ddd}|jdj|dGdd}Gdd}Gdd }Gd!d"}Gd#d$}Gd%d&|j}Gd'd(t
}	Gd)d*}
Gd+d,}|jdjd|jd-jd-|jd.jd-d-|jd/jd-d-|jd0jd-d1|jd2jd-d3|jd4jd-d5|jd6jd7d-d-|jd8jd7d-d1|jd9jd7d-d3|jd:jd7d-d5|jd.jd;d<|jd=jd;d-d>|jd?jd;d-d@|jdAjdB|jdCjdD|jdEjdF|jdGjdH|jdIjdJdK|jdLjdM|jdNjdO|jdPjdQ|jdRjdSdTidT|jdUjdVdTidT|jdWjdXdYidZ|jd[j|d\]d^|jd_j|d`|d\da|jdbj||d-d-|jdcjd-ddgd-|jdejd-ddgdd|jdfjd-ddggdd|jdgjd-|ddggdd|jdhjd-d-|jdhjdd|jdhjdid-|jdjjdid|jdkjd-d-|jdljd-d-|jdmjd-d|jdnjd-do|jdpjdqdq|jdrjdqdq|jdsjdqdq|jdtjdqdu|jdvjdqdw|jdxjdqdy|jdzjdqdy|jd{jdqd||jd}jdqd~|jdjdqd|jdjdqd|jdjdqd|jdjdqd|jdjdqdq|jdjdqd|jdjdqd|jdjdqd|jdjdqd|jdjdddXdzz|jdjddXdz|jdjddXdz|jdjdd|jdjdd|jdjdd|jdjdd|jdjdYd|jdjdYd|jdjdYd|jdjdYd|jdjdd|jdjdd|jdjdd|jdjdd|jdjdd|jdjdd|jdjdd|jdjdd|jdj|d-|jdjdd|jdjdd|jdjdd|jdjdd|jdjdd|jdjdd|jdj|dd|jdjdd|jdjdd«|jdj|ddë|jdjdd|jdjdd|jdjddū|jdjdd|jdj|dd|jdj|ddǫ|jd.jidF|jd.jgdȫ|jd.jd7gdɫ|jdj|d˫d̫|jdj|d˫dͫ|j
tdj|d˫|j
tdj|d˫|j
tdj|d˫|jdj|dddѬҫdӫ|jd.j|	d`d^|jd/jdd|jdjdd֫d׫|jdjdd֫d׫|jdjdd֬ګd׫|jdjdd`d֬ܫdݫ|jdjddd߬ܫdݫ|j
tdBj|j
tdDj|j
tdj|j
tdj|j
tdj|j
tdj|j
td.j|j
td6jd-|j
tdHj|j
tdOj|j
tdj|j
tdj|j
tdj|j
tdjd|j
tdj|j
tdjg|j
tdj|j
tdjd|j
tdjd|j
tdjd|j
tdjd|j
tdj|j
tdjd|j
tdjd|j
tdjdY|j
tdjdY|j
tdjd|j
tdjd|j
tdj|j
tdj|j
tdj|j
tdFjd}|j
tdB|zdDzj|j
td|zdzjdg|j
tdjd|j
tdjd|j
tdjd|j
tdjd|j
tdjd|j
tdjd|j
tdjd|j
tdjd|j
tdjd|j
tdjd|j
tdjd|j
tdjd|j
tdjdg|j
tdjdg|j
tdjdd|j
tdjd-dd|j
tdjdd7ddYdd֐d	d

d}
|jt|
djd|jt|
tdd
d}|jt|djd|j
tdjd|j
ttdd|j
ttdd|jdjddd|jdhjdd|jdjjdd|jdjdFdid߫|jdjdFdid|jdjdBdid|jdjdDdid|jdjddid|jdjddid|j
tdjd|j
td jd|j
td!jd|jd"jdd#d$|
d˫}|jd%j|d&|j
td'j||j
tdFj||d˫}|jd%j|d(|jd'j|d(|j
tdFj|y()Nrlrra{{a{a}}a}{{b{b}}b}ba{{ba{brzMy name is {0}FredzMy name is FredzMy name is {0[name]})namezMy name is {0} :-{{}}zMy name is Fred :-{}irzThe year is {0.year}zThe year is 2007ceZdZddZdZy)"UnicodeTest.test_format.<locals>.Cc||_yr!_xr4rs  rr9z+UnicodeTest.test_format.<locals>.C.__init__1	rc|Sr!rr4specs  r
__format__z-UnicodeTest.test_format.<locals>.C.__format__3rNrr)r*r+r9rDrrrCr;0

rrHceZdZdZdZy)"UnicodeTest.test_format.<locals>.Dc||_yr!rr?s  rr9z+UnicodeTest.test_format.<locals>.D.__init__7	rc,t|jSr!)r:rrBs  rrDz-UnicodeTest.test_format.<locals>.D.__format__9s466{"rNrGrrrDrK6s

#rrPceZdZdZdZy)"UnicodeTest.test_format.<locals>.Ec||_yr!rMr?s  rr9z+UnicodeTest.test_format.<locals>.E.__init__>rNrc&d|jzdzS)NzE()rMr3s rr;z*UnicodeTest.test_format.<locals>.E.__str__@dff}s**rNr<rrrErR=

+rrWceZdZdZdZy)"UnicodeTest.test_format.<locals>.Fc||_yr!rMr?s  rr9z+UnicodeTest.test_format.<locals>.F.__init__ErNrc&d|jzdzS)NzF(rUrMr3s rr;z+UnicodeTest.test_format.<locals>.F.__repr__GrVrN)r)r*r+r9r;rrrFrZDrXrr]ceZdZdZdZdZy)"UnicodeTest.test_format.<locals>.Gc||_yr!rMr?s  rr9z+UnicodeTest.test_format.<locals>.G.__init__LrNrc d|jzS)Nz
string is rMr3s rr;z*UnicodeTest.test_format.<locals>.G.__str__Ns#dff,,rc\|dk(rd|jzdzStj||S)NrzG(rU)rrCrDr4format_specs  rrDz-UnicodeTest.test_format.<locals>.G.__format__Ps0#%$&&=3..(({;;rN)r)r*r+r9r;rDrrrGr_Ks

-
<rreceZdZdZy)"UnicodeTest.test_format.<locals>.Ic$|j|Sr!)strftimercs  rrDz-UnicodeTest.test_format.<locals>.I.__format__Vs}}[11rNr)r*r+rDrrrIrgUs
2rrkceZdZdZy)"UnicodeTest.test_format.<locals>.Jc4tj|dz|SNr)rJrDrcs  rrDz-UnicodeTest.test_format.<locals>.J.__format__Zs~~dQh<<rNrjrrrJrmYs
=rrpceZdZdZdZdZy)"UnicodeTest.test_format.<locals>.Mc||_yr!rMr?s  rr9z+UnicodeTest.test_format.<locals>.M.__init__^rNrc&d|jzdzS)NzM(rUrMr3s rr;z+UnicodeTest.test_format.<locals>.M.__repr__`rVrN)r)r*r+r9r;r;rrrMrr]s

+GrruceZdZdZdZdZy)"UnicodeTest.test_format.<locals>.Nc||_yr!rMr?s  rr9z+UnicodeTest.test_format.<locals>.N.__init__erNrc&d|jzdzS)NzN(rUrMr3s rr;z+UnicodeTest.test_format.<locals>.N.__repr__grVrN)r)r*r+r9r;rDrrrNrwds

+JrrzrT{0}z{0:}zX{0}Xabcz{0}XabcXzX{0}YXabcYz{1}rzX{1}z{1}XzX{1}Yiz-15z{0}{1}z-15abcz{0}X{1}z-15Xabcz{{{z}}}z{{}}{}z{{x}}z{x}z{{{0}}}{z{123}z	{{{{0}}}}z{{0}}z}}{{z}{z}}x{{z}x{z{0[foo-bar]}zfoo-barbazz{0[foo bar]}zfoo barz{0[ ]}rMrrC{foo._x})rB20z{1}{0}r2010z{0._x.x}z{0[0]}rz{0[1]}z	{0[1][0]}z{0[1][0].x}z{0:.3s}abcdefz{0:.0s}z{0:3.3s}z{0:2.3s}z{0:2.2s}z{0:3.2s}zab z{0:x<0s}rBz{0:x<5s}z{0:x<6s}z{0:x<7s}resultxz{0:x<8s}resultxxz{0: <7s}zresult z{0:<7s}z{0:>7s}z resultz{0:>8s}z  resultz{0:^8s}z result z{0:^9s}z	 result  z{0:^10s}z
  result  z{0:8s}zresult  z{0:0s}z{0:08s}result00z{0:<08s}z{0:>08s}00resultz{0:^08s}0result0z	{0:10000}i'i'z{0:10000000}iz{0:<6s}rBzfooz{0:<6s}zfooz{0:^6s}zfooz{0:^6s}z foo  z{0:<6}z3z{0:<6}z3z{0:^6}z3z{0:<6}z3     Q	@z3.14z3.14z3.14z{0:^6}z 3.14 z{0:<12}y@@z(3+2j)z{0:<12}z(3+2j)z{0:^12}z(3+2j)z{0:^12}z   (3+2j)   z{0:abc}z{0!s}Helloz{0!s:}z{0!s:15}zHello          z	{0!s:15s}z{0!r}z'Hello'z{0!r:}zF(Hello)rz'\u0378'ru'ʹ'uF(ʹ)z{0!a}z'\u0374'z{0!a:}z	F(\u0374)r
z[1]z{0:d}datazG(data)zstring is dataz{0:^10}z{0:>15s}z{0:date: %Y-%m-%d})yearmonthdayzdate: 2007-08-27z{0:.{1}}hello worldrz	{0:.{1}s}z{0:.{precision}s})	precisionz{0:{width}.{precision}s})widthrz
hello     105{a}azabc{0:{}z{0z{0.}z{0[}z{0]}z{0.[]}z{0..foo}z{0[0}z	{0[0:foo}z{c]}z	{{ {{{0}}z{0}}z{foo})barz{0!x}z{0!}z{0!rs}z{!}z{:}z{:s},23098475029384702983476098230754973209482573z{[z]}z{0:x}??z{0:X}z{0:o}z{0:u}z{0:i}z{0[0]x}z
{0[0](10)}z{0[{1}]}rrz{0:{1:{2}}}rbz{0:{1:{2:{3:{4:{5:{6}}}}}}}rrrz+Sign not allowed in string format specifierz{0:-s}-z,Space not allowed in string format specifierz{: }z{0:=s}#z#20z
{0:s}{1:s}ABCuАБВu	ABCАБВz{[{}]}z{[{]}z{[}]}z{[[]}rz{[!]}rSz{a{}b}r
z{a{b}z{[}z0x{:0{:d}X}0x0000000000000000{!r}zM(data)z{!s}zN(data))r?rdatetimedictdaterJrNr{r
IndexErrorKeyErrorassertRaisesRegex)r4rrrHrPrWr]rerkrprurzbigsign_msg	space_msgmns                 rtest_formatzUnicodeTest.test_formatsb)s+-....%0	)008:KL/66t7HI*	,077?/	1
MM$2&/66q9+	-			#	#	+	+	+	+	<	<	2

	2	=	=					
b)/e,e4u-u5u-v6u-v6.8a/7q%0&9q%0&9517;c*E2e4h?))#u5yA,,$/)51))#.8++-w7$/)51	
..	%/@A5I..	%/@A5I#a137**qu*5t<2"6?**1QuX;7?%8%@%8%@++UUG,<=uE--uqxj.ABEJ	
))%0%8))$/6))(3U;))(3R8**5159**5159**5148**5159**84h?**84h?**84h?**84i@**84jA**84i@))(3Y?))(3Y?))(3Z@))(3Z@))(3[A**84lC2J?2H=))(3Z@**84jA**84jA**84jA++C0#d
2BC++B/u=..r2C(NC	
--e46GH--e46GH--e46GH))%0(;,,Q/1HI,,Q/1HI,,Q/1HI+X6,,T2NC,,T2NC,,T2NC.9--f57WX--f57WX--f57WX))&1>B	
))!#.6	
0':17;**735FG++G46GH0)<19='
3Z@1;?1:>(4kB0)<1;?1;?19='
3Z@(4lC	
b)40b)40qc*E2&	2I>&	24DE)Y%5%5qyA)Z%6%6&	B)Z%6%6&	B-44QD=>;=6?@,	-	
ae,d3	
s+S1	
**=!<gF++M1=wG,33MQ3OQXY3::=PR^_:`bno3::=PT`c:dfrs	
*cjj1*cjj1*dkk2*dkk2*dkk2*dkk2*ell3*ellE:(ell3*dkk2*j&7&78*dkk2*fmm4*fmmQ7*fmm4*fmmR8(fmm4*hooq9*j&7&7;*gnna8*k&8&8!<(fmm4*k&8&8!<*fmmQ7(gnn!<*gnna8*fmmQ7*hooq9*ell3*ell3*fmm4*dkk2<*sSy3&>&>?*tczD'8&@&@1#F	
*gnnb9*gnnc:*gnnb9*gnnc:*gnnb9*gnnc:*gnnb9*gnnc:*gnnb9*gnnc:*gnnb9*gnnc:	
*i&6&6?*l&9&9D6B	
)Z%6%6	1E	
*m&:&:E3K*&C&J&JQ1aAq	2Az8X__bIz8VREB	z9fmmRH*hoor:	
*fb#6*fb%8	
,,U4HI0	2))*AB	 ))*AB		
$3S9$6<s4c:s4c:s4c:s4c:*hoor:*gnnb9*ellB7--c"57KL
fIq)95)V]]A6)T[[!4
fIq)95q)95)T[[!4rcT|jdjid|jdjid|jdjid|jdjid|jdjid|jdjid	|jd
jid|jdjid
Gddt}|jdj|d|jdj|ddGdd}|jdj|dGdd}|jdjd|did|jtdj|jtdj|jt
dji|jt
dji|jt
dji|jt
dji|jt
d ji|jt
d!ji|jt
d"jdd#i|jt
d"jd|jt
d$jd#d%d&Gd'd(}|jtdji|jtdjg|jtdj|y))Nrlrrr-r.r/r0r1r2r3r4r5r6ceZdZdZy),UnicodeTest.test_format_map.<locals>.Mappingc|Sr!rr4keys  r__missing__z8UnicodeTest.test_format_map.<locals>.Mapping.__missing__ms
rN)r)r*r+rrrrMappingrl
rrz{hello}rz{a} {world})rrceZdZdZdZy)4UnicodeTest.test_format_map.<locals>.InternalMappingcddi|_y)Nrrrr3s rr9z=UnicodeTest.test_format_map.<locals>.InternalMapping.__init__ss
 #W~rc |j|Sr!rrs  r__getitem__z@UnicodeTest.test_format_map.<locals>.InternalMapping.__getitem__us||C((rN)r)r*r+r9rrrrInternalMappingrrs
.
)rrz{a}ceZdZddZdZy)&UnicodeTest.test_format_map.<locals>.Cc||_yr!r=r?s  rr9z/UnicodeTest.test_format_map.<locals>.C.__init__{r@rc|Sr!rrBs  rrDz1UnicodeTest.test_format_map.<locals>.C.__format__}rErNrFrGrrrrHrzrIrrHrrBrrrrrrrrz{a} {}rrceZdZdZy)/UnicodeTest.test_format_map.<locals>.BadMappingcddzS)Nrrrrs  rrz;UnicodeTest.test_format_map.<locals>.BadMapping.__getitem__ss
rN)r)r*r+rrrr
BadMappingrrrr)r?
format_maprrNr{rrZeroDivisionError)r4rrrHrs     rtest_format_mapzUnicodeTest.test_format_mapasr*B/+S1,d3))"-t4))"-t4))"-t4))"-t4**2.6	d		
--gi8'B11'G2DE}U	)	)
	
))/*;<gF		
	
..qu~>E	
)R]]3)S^^4*cnnb9*cnnb9*door:*door:*door:*door:	
*dooayA*doos;*h&9&9!1;MN			
(E$4$4b9)U%5%5r:+U-=-=z|Lrcdjtjdz}|jt5td|}dddy#1swYyxYw)Nz.{}frQ@rrKrLrNrr4
format_stringrBs   rtest_format_huge_precisionz&UnicodeTest.test_format_huge_precisionsG

ckkAo6



z
*	1D-0F	1	1	1
AAcdjtjdz}|jt5td|}dddy#1swYyxYw)Nz{}frrrrs   rtest_format_huge_widthz"UnicodeTest.test_format_huge_widthsGS[[1_5



z
*	1D-0F	1	1	1rcdjtjdz}|jt5|jd}dddy#1swYyxYw)Nz
{{{}:.6f}}rrrrs   rtest_format_huge_item_numberz(UnicodeTest.test_format_huge_item_numbersM$++CKK!O<



z
*	0"))$/F	0	0	0sAAcGdd}|jdjdd|jdjdd|jd	jdd
|jdj|dd|jdjd
dgd|jdjdddd|jdjdd
d|jdjddd|jdjddd|jtdjd
d|jtd jd
d|jtd!jd
d|jtd"jd
d|jd#jdd$%d&|jd'jdd$%d(|jd)jd
d*d+d,d-|jd.jddd
d+/d0y)1NceZdZddZdZy)1UnicodeTest.test_format_auto_numbering.<locals>.Cc||_yr!r=r?s  rr9z:UnicodeTest.test_format_auto_numbering.<locals>.C.__init__r@rc|Sr!rrBs  rrDz<UnicodeTest.test_format_auto_numbering.<locals>.C.__format__rErNrFrGrrrrHrrIrrHrrrz{:5}rbzs    rz's'z{._x}z{[1]}rrrAz{[a]}rr4za{}b{}cra0b1cza{:{}}brz^10za    x     bza{:{}x}brra0x14bz{}{1}z{1}{}z{:{1}}z{0:{}}z{f}{}test)ftest4z{}{f}4testz{:{f}}{g}{}rg)rrz 1g3z{f:{}}{}{g})rrz 14g)r?rrNr)r4rHs  rtest_format_auto_numberingz&UnicodeTest.test_format_auto_numberings			
R$/s+W5s+U3".5A/5QA7=))!Q/9))#u5~F**2s3X>	
*gnna;*gnna;*hooq!<*hooq!<	
V4g>V4g>--acQ-?H--aa3-?Hrctjj||jddzd|jddzd|jddzd|jdd	zd
|jddzd|jdd
zd|jddzd|jddzd|jddzd|jddddzd|jddddzd|jddzd |jdd!zd"|j	t
djd#|jdd"zd"|j	tdjd$|j	td%jd&|j	td'jd$|jd(d)dizd*|jd(d)dizd*|jd(d)dizd*|jd(d)dizd*|jd(dd+d,zd*|jd(dd+d,zd*|jd-d.zd/|jd0d.zd1|jd2dzd*|jd3d4zd5|jd3d6zd7|jd8d9zd:|jd8d;zd5|jd<d=zd>|jd?d@zdA|jddBzdBGdCdD}|jdE|zd tdF}tdG}|jdH|zdF|jdI|zdJ|jdH|zdG|jdI|zdK|jdLdMzdB|jdNdMzdOGdPdQ}GdRdS}|dT}|dU}|jdVdWzdX|jdYdZzd[|jd\d]zd^|jddUzd_|jdV|zd`|jdY|zda|jd\|zdb|jd|zd_|jtdctjdVdd|jtdetjdYdf|jtdgtjd\dh|jtditjdV||jtdjtjdVdk|jtdltjdYdm|jtdntjd\do|jtdptjdqdk|jtdrtjd'dm|jtdstjdtdo|jtdutjd|Gdvdw}|}	|jtdxtjdt|	|jtdxtjd'|	|jtdxtjdq|	|jtdytjdV|	|jtdytjdY|	|jtdytjd\|	y)zNz%s, %s)rTrTabc, abcz%s, %s, %i, %f, %5.2f)rTrTrrrzabc, abc, 1, 2.000000,  3.00)rTrTrrzabc, abc, 1, -2.000000,  3.00)rTrTrrg@zabc, abc, -1, -2.000000,  3.50)rTrTrrg(\@zabc, abc, -1, -2.000000,  3.57)rTrTrrg(\\@z abc, abc, -1, -2.000000, 1003.57z%r, %r)rfrTz
b'abc', 'abc'z%r)ሴu'ሴ'z%az'\u1234'z%(x)s, %(y)srTr)rrzabc, defu
%(x)s, %(ü)s)rrz%ci4riu𡒃)rLaau%.1ဲfgUUUUUU?z%i
...%(foo)s...rB	...abc...rrBrz...%s...%s...%s...%s...)rrrrTz...1...2...3...abc...z"...%%...%%s...%s...%s...%s...%s...z...%...%s...1...2...3...abc...z...%s...z%*s)rrTz  abc)rTzabc  z%*.*s)rrrTz   ab)rrrTz%i %*.*s)rrrrTz10   abcz
%i%s %*.*s)rrrrrTz	103   abcrceZdZdZy),UnicodeTest.test_formatting.<locals>.Wrappercy)Nrrr3s rr;z4UnicodeTest.test_formatting.<locals>.Wrapper.__str__srNr)r*r+r;rrrWrapperrs
 rr%snaninfz%fz%FNANINFz%.1suaé€z%.2suaéceZdZdZdZdZy).UnicodeTest.test_formatting.<locals>.PseudoIntc$t||_yr!rJvaluer4rs  rr9z7UnicodeTest.test_formatting.<locals>.PseudoInt.__init__s
 Z
rc|jSr!rr3s r__int__z6UnicodeTest.test_formatting.<locals>.PseudoInt.__int__zz!rc|jSr!rr3s r	__index__z8UnicodeTest.test_formatting.<locals>.PseudoInt.__index__rrN)r)r*r+r9rrrrr	PseudoIntrs
(
"
"rrceZdZdZdZy)0UnicodeTest.test_formatting.<locals>.PseudoFloatc$t||_yr!)floatrrs  rr9z9UnicodeTest.test_formatting.<locals>.PseudoFloat.__init__s
"5\
rc,t|jSr!rr3s rrz8UnicodeTest.test_formatting.<locals>.PseudoFloat.__int__	s4::&rN)r)r*r+r9rrrrPseudoFloatrs
*
'rrgo!	@mz%xr
2az%Xr]z%or11r6d6D155z,%x format: an integer is required, not floatrz,%X format: an integer is required, not floatgzG@z,%o format: an integer is required, not floatgp=
ף?z2%x format: an integer is required, not PseudoFloatz.%x format: an integer is required, not complexy@z.%X format: an integer is required, not complexy@z.%o format: an integer is required, not complexrz1%u format: a real number is required, not complexz%uz1%i format: a real number is required, not complexz1%d format: a real number is required, not complexz%dz%c requires int or charceZdZdZdZy)2UnicodeTest.test_formatting.<locals>.RaisingNumberctd)NrJRuntimeErrorr3s rrz:UnicodeTest.test_formatting.<locals>.RaisingNumber.__int__"s
"5))rctd)Nrrr3s rrz<UnicodeTest.test_formatting.<locals>.RaisingNumber.__index__$s
"7++rN)r)r*r+rrrrr
RaisingNumberr!s
*
,rrrJr)rr.test_formattingr?rNrM__mod__r{rr
roperatormodr)
r4rrrrrpiletter_mrrns
          rrzUnicodeTest.test_formattings22BB4HN2J?03JJLjk03KKMlm03NNPpq03OOQqr03RRTvwO3_E+Z8+[9u%*@@*M*%-FF
S16-{C,l;)T\\48*l&:&:UD)T\\48	
E%=8+FE%=8+FE%=8+FE%=8+F%c+BB[Q%c+BBKP2]BD[\=
MOope+[9+W5,g6</9</9&66
C(=={KS)	 	 	
	)84ElElU+U+U+U+	
-/5-/9	"	"	'	'

 S>D)C(4(S)$/$/%0#.y*XZbZfZfhlnrsy*XZbZfZfhlnrsy*XZbZfZfhlnrsy*^`h`l`lnrtvwy*Z\d\h\hjnprsy*Z\d\h\hjnprsy*Z\d\h\hjnprsy*]_g_k_kmqsuvy*]_g_k_kmqsuvy*]_g_k_kmqsuvy*CX\\SWY[\	,	,_|UHLL$K|UHLL$K|UHLL$K|WhllD"M|WhllD"M|WhllD"Mrc
ddl}Gddt|j}Gdd|j}Gdd|j}|j|jd|jd	|jd
|j|j|j|j|j|j|jfzd|jdd
|jizd|jdd
|jizd|jdd
|jizd|jdd
|jizd|jdd
|jizd|jd|j|jdzd|jd|jddzdy)NrceZdZdZy)4UnicodeTest.test_formatting_with_enum.<locals>.FloatgJM!	@N)r)r*r+PIrrrFloatr$2sBrr&ceZdZdZy)2UnicodeTest.test_formatting_with_enum.<locals>.IntrN)r)r*r+IDESrrrIntr(5sDrr*ceZdZdZy)2UnicodeTest.test_formatting_with_enum.<locals>.StrrTN)r)r*r+rrrrStrr,8sCrr-z, rz%s, %s, %d, %i, %u, %f, %5.2fz%abc, abc, 15, 15, 15, 3.141593,  3.14rrBrz
...%(foo)r...z...<Int.IDES: 15>...z...15...z
...%(foo)i...z
...%(foo)d...z
...%(foo)u...rz
...%(foo)f...rz...3.141593...)	enumr
EnumIntEnumStrEnumr?rr)r%)r4r.r&r*r-s     rtest_formatting_with_enumz%UnicodeTest.test_formatting_with_enum/s	E499		$,,		$,,		
SWWcgg6#	%8#''388SXX588--A		B	
E#''?:$	&E#((+;;/	1E#((+;;#	%E#((+;;#	%E#((+;;#	%#((%((+KK#	%%((+EE)	+rcdjtjdz}|jt5|dz}dddy#1swYyxYwNz%.{}frrrrs   rtest_formatting_huge_precisionz*UnicodeTest.test_formatting_huge_precisionTsEs{{Q7



z
*	*"T)F	*	*	*AAcXGddt}|jd|dzdy)NceZdZdZy)BUnicodeTest.test_issue28598_strsubclass_rhs.<locals>.SubclassedStrc$dj|S)Nz'Success, self.__rmod__({!r}) was calledr)r4others  r__rmod__zKUnicodeTest.test_issue28598_strsubclass_rhs.<locals>.SubclassedStr.__rmod__]s@GGNNrN)r)r*r+r=rrr
SubclassedStrr9\s
Orr>z	lhs %% %rrhsz.Success, self.__rmod__('lhs %% %r') was calledr:r?)r4r>s  rtest_issue28598_strsubclass_rhsz+UnicodeTest.test_issue28598_strsubclass_rhsYs0	OC	O	
}U';;I	Krcdjtjdz}|jt5|dz}dddy#1swYyxYwr4)rrINT_MAXrNrrs   r'test_formatting_huge_precision_c_limitsz3UnicodeTest.test_formatting_huge_precision_c_limitsbsJ y'8'81'<=



z
*	*"T)F	*	*	*r6cdjtjdz}|jt5|dz}dddy#1swYyxYw)Nz%{}frrrrs   rtest_formatting_huge_widthz&UnicodeTest.test_formatting_huge_widthisE

ckkAo6



z
*	*"T)F	*	*	*r6cdjdjfD]b}|jt5}|dgdddt	j
}|j
d||j
d|dy#1swYExYw)NrBrr:r)
startswithendswithrNr{r:	exceptionr!)r4rcmexcs    rtest_startswith_endswith_errorsz+UnicodeTest.test_startswith_endswith_errorsnsx%%u~~6	(D""9-
cU
bll#CMM%%MM'3'	(

s
A??B	LC_ALLde_DEfr_FRc.|jdddzy)Nz1.0z%.1frr?r3s rtest_format_floatzUnicodeTest.test_format_floatvs	
-rc	|jtdddD]}t|}|jt|||jt|t||dk(sS|j|j	dd|j|j	dd|jtddGdd}|jt|d	d	|d
}|jt|d
|jt|d
dD]/}|jt|tt|1|jttddd
|jtddd
d|jttddd
d|jttdddy)Nzunicode remains unicode)rvrrrrvsasciiutf-8z strings are converted to unicodeceZdZdZdZy)2UnicodeTest.test_constructor.<locals>.StringCompatc||_yr!rMr?s  rr9z;UnicodeTest.test_constructor.<locals>.StringCompat.__init__rNrc|jSr!rMr3s rr;z:UnicodeTest.test_constructor.<locals>.StringCompat.__str__svv
rNr<rrrStringCompatrWs

rrZz)__str__ compatible objects are recognizedz#unicode(obj) is compatible to str())rg^@rz!decoding unicode is not supportedrsstrings are decoded to unicodezstrings are decoded to unicodes(character buffers are decoded to unicodez(character buffers are decoded to unicoder
)r?r:r'lenr"rNr{
memoryview)r4r$subclassrZoobjs      rtest_constructorzUnicodeTest.test_constructor{s	
)*%	

>	ED"4(HS]D1S]CI6w  !98D  !98D
	E	
23.	

			
HIJ7	

>?Q!FGQ!FG%	6CSXs3s8}5	6	
/	
	
17HE,	

	
FG


7
	
	
)S"b"5rc	|jtdd|jtddd|jtddd|jtdddy)	NrB)rCsfoorU)rCrrr)rCr)r?r:r3s rtest_constructor_keyword_argsz)UnicodeTest.test_constructor_keyword_argss_LE*E2FW=uEVH5u=F8<eDrc	|jtd|jtdddjd}|jt|dd|jtt|dy)Nrlrrb¢rUrv)r)r?r:r"rNUnicodeDecodeError)r4	utf8_cents  rtest_constructor_defaultsz%UnicodeTest.test_constructor_defaultssi6#H-r2KK(	Yx8$?,c9wOrcgd}|D]&\}}|j|jd|(|jdjdd|jdjdd|jdjdd|jd	jdd
|jdjdd|jdjdd|jdjdd|jd
jdd	|jdjdd|jdjdd|jd
jdddd}d}|D]b}|j|jd|jd|j|jdjd|d|D]2}|j|jdjd|4|jtd5djddddy#1swYyxYw)N))uA≢Α.s	A+ImIDkQ.)u
Hi Mom -☺-!sHi Mom -+Jjo--!)u	日本語s
+ZeVnLIqe-)uItem 3 is £1.sItem 3 is +AKM-1.)+s+-)z+-s+--z+?s+-?)z\?s+AFw?rk)z\\?s+AFwAXA?)z\\\?s
+AFwAXABc?)z++--s+-+---)u򫳞s+2m/c3g-)//utf-7us+2AE-uxs+2AE-xus+3AE-uxs+3AE-xu򫳞s
+2AHab9ze-s+rerlzGABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'(),-./:?z!"#$%&*;<=>@[]^_`{|}utf7rvzill-formed sequences+@)r?r"r#rrf)r4utfTestsrrset_dset_ors       rtest_codecs_utf7zUnicodeTest.test_codecs_utf7s0
"	3FQQXXg.2	3	
18<))'2I>18<))'2I>18<))'2I>18<))'2I>+227;]K--g68JK	
(;R@Z&	BAQXXf-qxx/@AQXXg.55f=qA	B	BAQXXg.55f=qA	B
#
#$6$9;	"LL!	"	"	"sI//I8c|jdjdd|jdjdd|jdjdd|jdjdd	|jd
jddd|jd
jddd|jdjdd|jdjdd|jtd	dd|jtddd|jtdddy)NrlrUrrs€u𐀂s𐀂u𣑖s𣑖r
surrogatepasssusu(𐀂𐀂𐀂𐀂𐀂𐀂𐀂𐀂𐀂𐀂s(𐀂𐀂𐀂𐀂𐀂𐀂𐀂𐀂𐀂𐀂u正確に言うと翻訳はされていません。一部はドイツ語ですが、あとはでたらめです。実際には「Wenn ist das Nunstuck git unds正確に言うと翻訳はされていません。一部はドイツ語ですが、あとはでたらめです。実際には「Wenn ist das Nunstuck git und)r?r"r:r3s rtest_codecs_utf8zUnicodeTest.test_codecs_utf8s,7+S11?C,,W57JK,,W57JK/BOT/BOT/11':/	1
 
!'w	
9	
(	
0':LJ0':LJ_g6Brcbgd}|D]&\}}|j|jd|(y)N))r)ar))s€€)s߿u߿)sࠀuࠀ)s퟿u퟿)su)s￿rK)s𐀀r()s􏿿rrU)r?r#)r4	sequencesrOress    r test_utf8_decode_valid_sequencesz,UnicodeTest.test_utf8_decode_valid_sequences+s7
	"	7HCSZZ0#6	7rcvtddDcgc]}t|g}}tddDcgc]}t|g}}tddDcgc]}t|g}}||z|ztddDcgc]}t|gc}z}|D]#}|jt|jd%|D]-}|D]&}|jt||zjd(/|D]@}|dd	D]6}	|dd	D],}
|jt||	zd
z|
zjd.8BtddDcgc]}t|gc}D]P}|jtd|zd
zjd|jtd|zd
zjdRtddDcgc]}t|gc}D]P}|jtd|zd
zjd|jtd|zd
zjdRtddDcgc]}t|gc}D]P}|jtd|zdzjd|jtd|zdzjdRtddDcgc]}t|gc}D]P}|jtd|zdzjd|jtd|zdzjdRycc}wcc}wcc}wcc}wcc}wcc}wcc}wcc}w)NrmrUrs)rzrGrNrfr#)r4rcontinuation_bytesinvalid_2B_seq_start_bytesinvalid_4B_seq_start_bytesinvalid_start_bytesbytesbcbcb1cb3s           r"test_utf8_decode_invalid_sequencesz.UnicodeTest.test_utf8_decode_invalid_sequences<su27d2CDQeQCjDD:?d:K%LQeQCj%L"%L:?d:K%LQeQCj%L"%L!;;&
'>CD%>P)Q%*)Q
R	
(	HD0$++wG	H-	OB(
O!!"4r"unngN
O	O-	LB)"1-
L-bq1LC%%&8')#vg~c'9&A&A7LL
L	L(-T4'89!5!:9	DB0&rz'1997
D0&rz'1997
D	D(-T4'89!5!:9	DB0&rz'1997
D0&rz'1997
D	D
(-T4'89!5!:9	HB0&rz+5==w
H0&rz+5==w
H	H
(-T4'89!5!:9	HB0&rz+5==w
H0&rz+5==w
H	HOE%L%L*R ::
:
:s.LLL?L"L';L,2L1)L6cd}gd|fd|dzfd|fd|dzfd|fd|dzfd	|dzfd
|fd|dzfd|d
zfd|dzfd|fd|dzfd|d
zfd|dzfd|fd|dzfd|dz|zfd|dzfd|dzfd|dzdzfd|dz|zfd|fd|dzfd|d
zfd |dzfd!|d"zfd#|fd$|fd%|dzfd&|dzfd'|dzfd(|dz|zfd)|dz|dzzfd*|dz|zdzfd+|dz|zfd,|dz|zfd-|dz|dzzfd.|dzdzfd/|dz|dzzfd0|fd1|dzfd2|dzfd3|d
zfd4|dzfd5|dzdzfd6|dzdz|zfd7|dz|dzzdzfd8|fd9|dzfd:|dzfd;|dzdzfd<|d"zfd=|fd>|dzfd?|d
zfd@|dAzfdB|fdC|d
zfdDdEdFdG}t|D]\}\}}|jt|jdHdI|j	|jdHdJ||j	|dKzjdHdJ|dLz|j	|jdHdM|jddNy)ON�rrrsssssrsArIsssrssAsAsAAAAsAsAsAssssrsssAsAAsAsAsAsAAsAAsAsAsAsAsssssAsAsAAsssAssssrs)sABCu�ABC)sBCu��BC)sCu�C)s
abcdua���b�c��drUrrRbrrerl)	enumeraterNrfr#r?rR)r4FFFDr}rrOr~s      rtest_issue8271zUnicodeTest.test_issue8271ksJ

dOJ
$q&!J
dO	J

$q&!J
dO
J
$q&!J
$q&!J
dOJ
$q&!J
d1f%J
$s(#J
dOJ
 $q&!!J
"d1f%#J
$!$q&)%J
&$'J
($s(#)J
*d3htm,+J
,d4i(-J
.d3h'/J
0!$q&*-1J
2!$s(4-03J
6dO7J
8$q&!9J
:d1f%;J
<!$q&)=J
>%d1f-?J
@$AJ
Bd#CJ
Dd3h'EJ
F!$t),GJ
H!$s(+IJ
Jd3htm,KJ
L!$s(46/2MJ
N!$s(4-"34OJ
P!$t)D.1QJ
R!$s(4-0SJ
T!$s(46/2UJ
V!$q&*-WJ
X!$s(46/2YJ
\dO]J
^$q&!_J
`$q&!aJ
bd1f%cJ
d!$q&)eJ
fd1fSj)gJ
h!$q&*T/2iJ
j%d3htAvoc&9:kJ
ndOoJ
p$q&!qJ
r$q&!sJ
td1fsl+uJ
v%d1f-wJ
zdO{J
|$q&!}J
~d1f%J
@)$q&1AJ
DdOEJ
Fd1f%GJ
J
<KJ
L
>MJ
N
8OJ
P
EQJ
	V'y1	8MAzS0#**gxPSZZ;SAc$h..w	BCGLSZZ: [[26
8		8rc.	|jt5}|jddddj}|j	|t||j
|jdd||j
d|zdzjddd|zdz|jdd}|j
|jdd	||j
d|zdzjdd	d|zdzy#1swYxYw)
NrUrRsaaaasbbbbaaaabbbbrrlre)rNrfr#rJr!r:r?rR)r4rOr~errrKrLs      rassertCorrectUTF8Decodingz%UnicodeTest.assertCorrectUTF8Decodings	


1
2	 bJJw	 ll

c3s8$GY7='C-'199'9M#.	0kk(B'GX6<'C-'199'8L 3,/	1	 	 sDDcR	d}dD]}|jt|gdd!y)Nrszinvalid start byte)rrG)r4rrs   rtest_invalid_start_bytez#UnicodeTest.test_invalid_start_bytes;	7	AD**5$=(+?
A	Arcl	gd}d}|D](}|jtj|dd*y)N)&C2DFzE0 A0zE0 BFzE1 80zE1 BFzEC 80zEC BFzED 80zED 9FzEE 80zEE BFzEF 80zEF BFzF0 90zF0 BFzF0 90 80zF0 90 BFzF0 BF 80zF0 BF BFzF1 80zF1 BFzF1 80 80zF1 80 BFzF1 BF 80zF1 BF BFzF3 80zF3 BFzF3 80 80zF3 80 BFzF3 BF 80zF3 BF BFzF4 80zF4 8FzF4 80 80zF4 80 BFzF4 8F 80zF4 8F BFrzunexpected end of datarrGfromhex)r4r}rrOs    rtest_unexpected_end_of_dataz'UnicodeTest.test_unexpected_end_of_datasE
	
		EC**5==+=x+C
E	Erc		d}|dz}d|dzfd|dzfd|fd|fd	|dzfd
|dzfd|fd|fg}|D]+\}}|jtj||d
-y)NrrzC2 00rzC2 7Fr{zC2 C0zC2 FFzDF 00zDF 7FzDF C0zDF FFinvalid continuation byterr4rFFFDx2r}rOr~s      rtest_invalid_cb_for_2bytes_seqz*UnicodeTest.test_invalid_cb_for_2bytes_seqs	
d6k"Wd6k$:
f0
d6k"Wd6k$:
f0	
	"	HHC**5==+=s+F
H	Hrc	d}|dz}gd|dzfd|dzfd|fd|fd	|fd
|fd|dzfd|dzfd
|fd|fd|dzfd|dzfd|fd|fd|dzfd|dzfd|fd|fd|dzfd|dzfd|fd|fd|dzfd|dzfd|fd|fd|dzfd |dzfd!|fd"|fd#|dzfd$|dzfd%|fd&|fd'|dzfd(|dzfd)|fd*|fd+|dzfd,|dzfd-|fd.|fd/|fd0|fd1|dzfd2|dzfd3|fd4|fd5|dzfd6|dzfd7|fd8|fd9|dzfd:|dzfd;|fd<|fd=|dzfd>|dzfd?|fd@|fdA|dzfdB|dzfdC|fdD|fdE|dzfdF|dzfdG|fdH|fdI|dzfdJ|dzfdK|fdL|fdM|dzfdN|dzfdO|fdP|f}|D]+\}}|jtj||dQ-y)RNrrzE0 00rzE0 7Fr{zE0 80zE0 9FzE0 C0zE0 FFzE0 A0 00zE0 A0 7FzE0 A0 C0zE0 A0 FFzE0 BF 00zE0 BF 7FzE0 BF C0zE0 BF FFzE1 00zE1 7FzE1 C0zE1 FFzE1 80 00zE1 80 7FzE1 80 C0zE1 80 FFzE1 BF 00zE1 BF 7FzE1 BF C0zE1 BF FFzEC 00zEC 7FzEC C0zEC FFzEC 80 00zEC 80 7FzEC 80 C0zEC 80 FFzEC BF 00zEC BF 7FzEC BF C0zEC BF FFzED 00zED 7FzED A0zED BFzED C0zED FFzED 80 00zED 80 7FzED 80 C0zED 80 FFzED 9F 00zED 9F 7FzED 9F C0zED 9F FFzEE 00zEE 7FzEE C0zEE FFzEE 80 00zEE 80 7FzEE 80 C0zEE 80 FFzEE BF 00zEE BF 7FzEE BF C0zEE BF FFzEF 00zEF 7FzEF C0zEF FFzEF 80 00zEF 80 7FzEF 80 C0zEF 80 FFzEF BF 00zEF BF 7FzEF BF C0zEF BF FFrrrs      rtest_invalid_cb_for_3bytes_seqz*UnicodeTest.test_invalid_cb_for_3bytes_seqs]	 "

d6k""
%,d6k$:"
=Df<M"

f"
 '0"
3:F2C"
f%"
)3DK'@"
 	"
$.v"6	"

f%"

)3DK'@"
 
"
$.v"6
"
:A$v+8N
"
d6k""
&-f$5"
9@7H"
f%"
)3DK'@"
 "
$.v"6"
f%"
)3DK'@"
 "
$.v"6"
:A$v+8N"
d6k""
&-f$5"
9@7H"
f%"
)3DK'@"
 "
$.v"6"
f%"
)3DK'@"
  !"
 $.v"6!"
 :A$v+8N!"
"d6k"#"
$f%"
$!(0%"
&f'"
&!(0'"
&4>tF{2K'"
(f%)"
()3F';)"
* +"
*$.tF{";+"
,f%-"
,)3F';-"
. /"
.$+DK"8/"
0d6k"1"
0&-f$51"
09@7H1"
2f%3"
2)3DK'@3"
4 5"
4$.v"65"
6f%7"
6)3DK'@7"
8 9"
8$.v"69"
8:A$v+8N9"
:d6k";"
:&-f$5;"
:9@7H;"
<f%="
<)3DK'@="
> ?"
>$.v"6?"
@f%A"
@)3DK'@A"
B C"
B$.v"6C"
	F"	HHC**5==+=s+F
H	Hrch	d}|dz}gd|dzfd|dzfd|fd|fd	|fd
|fd|dzfd|dzfd
|fd|fd|dzfd|dzfd|fd|fd|dzfd|dzfd|fd|fd|dzfd|dzfd|fd|fd|dzfd|dzfd|fd|fd|dzfd |dzfd!|fd"|fd#|dzfd$|dzfd%|fd&|fd'|dzfd(|dzfd)|fd*|fd+|dzfd,|dzfd-|fd.|fd/|dzfd0|dzfd1|fd2|fd3|dzfd4|dzfd5|fd6|fd7|dzfd8|dzfd9|fd:|fd;|dzfd<|dzfd=|fd>|fd?|dzfd@|dzfdA|fdB|fdC|dzfdD|dzfdE|fdF|fdG|dzfdH|dzfdI|fdJ|fdK|dzfdL|dzfdM|fdN|fdO|dzfdP|dzfdQ|fdR|fdS|dzfdT|dzfdU|fdV|fdW|dzfdX|dzfdY|fdZ|fd[|dzfd\|dzfd]|fd^|fd_|fd`|fda|dzfdb|dzfdc|fdd|fde|dzfdf|dzfdg|fdh|fdi|dzfdj|dzfdk|fdl|fdm|dzfdn|dzfdo|fdp|fdq|dzfdr|dzfds|fdt|fdu|dzfdv|dzfdw|fdx|f}|D]+\}}|jtj||dy-y)zNrrzF0 00rzF0 7Fr{zF0 80zF0 8FzF0 C0zF0 FFzF0 90 00zF0 90 7FzF0 90 C0zF0 90 FFzF0 BF 00zF0 BF 7FzF0 BF C0zF0 BF FFzF0 90 80 00zF0 90 80 7FzF0 90 80 C0zF0 90 80 FFzF0 90 BF 00zF0 90 BF 7FzF0 90 BF C0zF0 90 BF FFzF0 BF 80 00zF0 BF 80 7FzF0 BF 80 C0zF0 BF 80 FFzF0 BF BF 00zF0 BF BF 7FzF0 BF BF C0zF0 BF BF FFzF1 00zF1 7FzF1 C0zF1 FFzF1 80 00zF1 80 7FzF1 80 C0zF1 80 FFzF1 BF 00zF1 BF 7FzF1 BF C0zF1 BF FFzF1 80 80 00zF1 80 80 7FzF1 80 80 C0zF1 80 80 FFzF1 80 BF 00zF1 80 BF 7FzF1 80 BF C0zF1 80 BF FFzF1 BF 80 00zF1 BF 80 7FzF1 BF 80 C0zF1 BF 80 FFzF1 BF BF 00zF1 BF BF 7FzF1 BF BF C0zF1 BF BF FFzF3 00zF3 7FzF3 C0zF3 FFzF3 80 00zF3 80 7FzF3 80 C0zF3 80 FFzF3 BF 00zF3 BF 7FzF3 BF C0zF3 BF FFzF3 80 80 00zF3 80 80 7FzF3 80 80 C0zF3 80 80 FFzF3 80 BF 00zF3 80 BF 7FzF3 80 BF C0zF3 80 BF FFzF3 BF 80 00zF3 BF 80 7FzF3 BF 80 C0zF3 BF 80 FFzF3 BF BF 00zF3 BF BF 7FzF3 BF BF C0zF3 BF BF FFzF4 00zF4 7FzF4 90zF4 BFzF4 C0zF4 FFzF4 80 00zF4 80 7FzF4 80 C0zF4 80 FFzF4 8F 00zF4 8F 7FzF4 8F C0zF4 8F FFzF4 80 80 00zF4 80 80 7FzF4 80 80 C0zF4 80 80 FFzF4 80 BF 00zF4 80 BF 7FzF4 80 BF C0zF4 80 BF FFzF4 8F 80 00zF4 8F 80 7FzF4 8F 80 C0zF4 8F 80 FFzF4 8F BF 00zF4 8F BF 7FzF4 8F BF C0zF4 8F BF FFrrrs      rtest_invalid_cb_for_4bytes_seqz*UnicodeTest.test_invalid_cb_for_4bytes_seqNs\	8

d6k"8
%,d6k$:8
=Df<M8

f8
 '08
3:F2C8
f%8
)3DK'@8
 	8
$.v"6	8

f%8

)3DK'@8
 
8
$.v"6
8
DK(8
,9$v+*F8
F#8
'4V%<8
DK(8
,9$v+*F8
F#8
'4V%<8
DK(8
,9$v+*F8
F#8
'4V%<8
DK(8
,9$v+*F8
F#8
'4V%<8
d6k"8
&-d6k$:8
>Ef<M8
 f!8
 !+DK8!8
"f%#8
")3F';#8
$ %8
$$.tF{";%8
&f%'8
&)3F';'8
( )8
($1$v+">)8
*DK(+8
*,9&*A+8
,F#-8
,'4T&[%A-8
.DK(/8
.,9&*A/8
0F#18
0'4T&[%A18
2DK(38
2,9&*A38
4F#58
4'4T&[%A58
6DK(78
6,9&*A78
8F#98
8'.tF{%;98
:d6k";8
:&-f$5;8
:9@7H;8
<f%=8
<)3DK'@=8
> ?8
>$.v"6?8
@f%A8
@)3DK'@A8
B C8
B$.v"6C8
DDK(E8
D,9$v+*FE8
FF#G8
F'4V%<G8
HDK(I8
H,9$v+*FI8
JF#K8
J'4V%<K8
LDK(M8
L,9$v+*FM8
NF#O8
N'4V%<O8
PDK(Q8
P,9$v+*FQ8
RF#S8
R'4V%<S8
Td6k"U8
T&-d6k$:U8
T>Ef<MU8
VfW8
V!(0W8
V4;F2CW8
Xf%Y8
X)3DK'@Y8
Z [8
Z$.v"6[8
\f%]8
\)3DK'@]8
^ _8
^$.v"6_8
`DK(a8
`,9$v+*Fa8
bF#c8
b'4V%<c8
dDK(e8
d,9$v+*Fe8
fF#g8
f'4V%<g8
hDK(i8
h,9$v+*Fi8
jF#k8
j'4V%<k8
lDK(m8
l,9$v+*Fm8
nF#o8
n'4V%<o8
	r"	HHC**5==+=s+F
H	HrcF|jdjddy)Nzwww.python.org.idnaswww.python.org.)r?r"r3s rtest_codecs_idnazUnicodeTest.test_codecs_idnas*11&9;MNrc|jtdjd|jtdjdd|jdjddd|jdjddd|jdjdddjdd|jdjdddjdd	|jttd
d|jttd
dd|jt	d
ddd|jt	d
ddd|jt	d
ddd|jdjddd|jtdj
d|jtdj
d|jttdd|jtdjd|jtdjd|jtdjddd|jttd|jttd|jttd|jttd|jttd|jttdy)NuAndr‚ xrvrresAndr xrRsAndr? xrb)rrsAndr xzAndr xu	Andr� xs xu� xs	\N{foo}xxzunicode-escapexx\hellorrrr
ru)rNUnicodeErrorr"r?r:r#r{rrJr
complexr3s rtest_codecs_errorszUnicodeTest.test_codecs_errorss`,(;(;WE,(;(;WXN,,WX>	J,,WY?L,,Wi@%,,WY,G	I,,Wh?%,,gh,O	Q	
,]GD,]GXN]GX>I]GY?PY;ZH	
--.>I4P	
,6FG)X__oF)S(OD)W^^_E)W^^_E	
)W^^RR@	
*c84*c84*eX6*eX6*gx8*gx8rc|jdjdd|jdjdd|jdjdd|jdjdd|jdjdd|jdjdd	|jdjd
d|jdjdtd
D]?}t|}dD]-}|jt	|j|||/AtdD]?}t|}dD]-}|jt	|j|||/AtdD]?}t|}dD]-}|jt	|j|||/Atj5d}dD]-}|jt	|j|||/	ddddjttttddttddz}dD]-}|jt	|j|||/y#1swYxYw)NrrvrrnrU	utf-16-les
hello	utf-16-bes
hellolatin-1u☃s☃i)rnrUutf-16rrraw_unicode_escapeunicode_escaperm)rr)rvu𐀁𠀂𰀃񀀄񐀅)rUrrrrrrlriirL)rU)
r?r"rzryr:rhcatch_warningsrwrxlist)r4rrrs    rtest_codecszUnicodeTest.test_codecss0(;0(;0(;0(;46RS46RS	2H=	
*O<t	FAAA/
F  QXXh%7!A1E
F	Fs	FAAA(
F  QXXh%7!A1E
F	Fs	FAAA&
F  QXXh%7!A1E
F	F
$
$
&	FDAE
F  QXXh%7!A1E
F	F
GGCT%6"23!%"9:;<
="	BHS(!3H=qA	B	F	Fs5J<<Kcttd}dD]-}|jt||j	||/ttdd}dD]-}|jt||j	||/y)Nr)9cp037cp1026cp273cp437cp500cp720cp737cp775cp850cp852cp855cp858cp860cp861cp862cp863cp865cp866cp1125
iso8859_10
iso8859_13
iso8859_14
iso8859_15	iso8859_2	iso8859_3	iso8859_4	iso8859_5	iso8859_6	iso8859_7	iso8859_9koi8_rkoi8_tkoi8_ukz1048latin_1mac_cyrillic
mac_latin2cp1250cp1251cp1252cp1253cp1254cp1255cp1256cp1257cp1258cp856cp857cp864cp869cp874	mac_greekmac_iceland	mac_romanmac_turkishcp1006	iso8859_8rm) rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr)rGrzr?r:r")r4rbrs   rtest_codecs_charmapzUnicodeTest.test_codecs_charmaps%*	CH2
SH-44X>B3	C8
%S/"	CH*
SH-44X>B+	Crc|jdd|jdd|jdd|jdd|jddy)NrrrRr3s rtest_concatenationzUnicodeTest.test_concatenation0	sT+1+1+1+k:+k:rcd}|jdjd}|j||d}|jdjd}|j||d}|jdjd}|j||	djd|jdy#t$rB}|j|j
d|j|jdYd}~yd}~wwxYw)	Nr'zraw-unicode-escapes
\U00100000s
\U00010000s
\U11111111z%Should have raised UnicodeDecodeErrorrr)r"r#r?failrfstartend)r4rrrs    r	test_ucs4zUnicodeTest.test_ucs47	s
HH)*112FGA
HH)*112FGA
HH)*112FGA	?!!"67

II=>	"	(QWWa(QUUB''	(sC	D
8DDcGdd}Gddt}Gddt}|jt|d|jt|ddt|d}|j|d	|jt||t	|d}|j|d	|jt|ty)
NceZdZdZy)0UnicodeTest.test_conversion.<locals>.ObjectToStrcyNrBrr3s rr;z8UnicodeTest.test_conversion.<locals>.ObjectToStr.__str__N	rNrrrrObjectToStrrM	
rrceZdZdZy)5UnicodeTest.test_conversion.<locals>.StrSubclassToStrcyrrr3s rr;z=UnicodeTest.test_conversion.<locals>.StrSubclassToStr.__str__R	rrNrrrrStrSubclassToStrrQ	rrr!ceZdZddZdZy)=UnicodeTest.test_conversion.<locals>.StrSubclassToStrSubclassc4tj|d|zSro)r:__new__)rcontents  rr%zEUnicodeTest.test_conversion.<locals>.StrSubclassToStrSubclass.__new__V	s{{3'	22rc|Sr!rr3s rr;zEUnicodeTest.test_conversion.<locals>.StrSubclassToStrSubclass.__str__X	rErN)rl)r)r*r+r%r;rrrStrSubclassToStrSubclassr#U	s
3
rr(rBrfoofoo)r:r?rYrAr')r4rr!r(rbs     rtest_conversionzUnicodeTest.test_conversionK	s			s		s		
[]+U3-e45u=(/0H%

d1g78078H%

d1g{+rcXGdd}|jt|dy)NceZdZdZy))UnicodeTest.test_unicode_repr.<locals>.s1cy)N\nrr3s rr;z2UnicodeTest.test_unicode_repr.<locals>.s1.__repr__f	rrNr<rrrs1r-e	rrr0r/r?r)r4r0s  rtest_unicode_reprzUnicodeTest.test_unicode_reprd	s$			
bdU+rcv|jtdddz|jtddy)Nr(z'%c')u𔀀z'\U00014000'r1r3s rtest_printable_reprzUnicodeTest.test_printable_reprk	s1l+Vj-@Al+_=rPrz only applies to 32-bit platformscb|jtdjtjy)Nzt	t	)rNrM
expandtabsrKrLr3s r$test_expandtabs_overflows_gracefullyz0UnicodeTest.test_expandtabs_overflows_gracefullyr	s 	
-)<)<ckkJrcHd}|j|j|y)NrT)rYr8)r4rbs  rtest_expandtabs_optimizationz(UnicodeTest.test_expandtabs_optimizationw	s

allna(rc	
d}|dz}tj|}tj|}dD]	t	}|dkrd}|}n|dkrd}|}n|dkrd}|}nd	}|}tj|z
|z
	
fd
}|j	||5|j
tj	dz||d
zz|jt||jt|dddy#1swYxYw)NnnbnP)rrrrrrrmr4rrczSr!r)rmaxlensr<lambda>z0UnicodeTest.test_raiseMemError.<locals>.<lambda>	sD6Mr)rstruct_size	char_sizer
+)
rcalcobjsizerrKrLrr?	getsizeofrNr)r4asciifields
compactfieldsascii_struct_sizecompact_struct_sizecoderCrBallocrr@s         @@rtest_raiseMemErrorzUnicodeTest.test_raiseMemError|	s&#d*
#//<%11-@9	6Dt9Dd{	/	1	1	1{{[0Y>F)E'#
6  MM$),9#78!!+u5!!+u5
6
6'	6&
6
6s
AC<<D	cGddt}|d}|jd|zd|jdj|dy)NceZdZdZy)+UnicodeTest.test_format_subclass.<locals>.Scy)N__str__ overriddenrr3s rr;z3UnicodeTest.test_format_subclass.<locals>.S.__str__	s+rNrrrrrrP	s
,rrxxxrrRr)r:r?rr4rrbs   rtest_format_subclassz UnicodeTest.test_format_subclass	sG	,	,
eH#78Q)=>rcGddt}|j|d|dzdGddt}|d}|dz
}|j|dy)NceZdZdZy)(UnicodeTest.test_subclass_add.<locals>.ScyNrCrr4r^s  r__add__z0UnicodeTest.test_subclass_add.<locals>.S.__add__	rN)r)r*r+r\rrrrrX	rrrrrrCceZdZdZy)rXcyrZrr[s  r__iadd__z1UnicodeTest.test_subclass_add.<locals>.S.__iadd__	r]rN)r)r*r+r`rrrrz(UnicodeTest.test_subclass_add.<locals>.S	rrr@r@rTs   rtest_subclass_addzUnicodeTest.test_subclass_add	s\			
3!C&#.		
cF	SC rcd}|j}|j|d||j|d||jt|dy)NrTrr)__getnewargs__assertIsNotr?r[)r4r$rEs   rtest_getnewargszUnicodeTest.test_getnewargs	sQ""$a$'a$'TA&rctdddD]}d|zdz}|jt5tj|}ddd|j||dz
}|jt5tj|}ddd|j
||j||y#1swYzxYw#1swY<xYw)Nrrrrrr)rzassertWarnsrr	getargs_ur?rQ)r4lengthr$rTrs     rtest_resizezUnicodeTest.test_resize	sAsA&	+F<#%D!!"45
0))$/
0S$'
CKD!!"45
3",,T2
3V,VT*	+

0
0
3
3sB=8C	=C		C	cLd}d|z}d|z}d|z}d|z}d|z}d|z}d|z}d	|z}	||||||||	f}
tj|
d
D]\}}||u}
|j||k(|
|j||k7|
|
s8|j||k|j||k\t	|}t	|}|j|||j||k(|j
||k7|j||k|j||k\|j||k|j||k|j||k|j||k|j
||k\|j
||k\|j
||k\|j
||k\|j
||k|j||k|j||k|j||k|j||k\|j
||k\|j
||k\|j
||k\|j
||k|j
||k|j||k|j||k|j||k\|j||k\|j
||k\|j
||k\|j
||k|j
||k|j
||k|j||	k|j||k\|j||k\|j||k\|j
||	k\y)Nrrrr|rJr rKr'rr)	itertoolscombinationsr?r@r%rdr~)r4rzrvascii2latinlatin2bmpbmp2astralastral2stringstext1text2equalcopy1copy2s                rtest_comparezUnicodeTest.test_compare	spaq
!l!|!"66G	
&227A>	0LE5e^EUe^U3Ue^Y7//
)/(/  ./  %0//)	0,	
'
&$'&)%(#&&)''$''&)#&&)u%u%d
#f%u%u%%'%(%($'()%(%($'7*+rctj|tttj|ttyr!)rcheck_free_after_iteratingrr:reversedr3s rtest_free_after_iteratingz%UnicodeTest.test_free_after_iterating
s&**4s;**43?rcd}d}tjd|d|d|d|d|d|d	|d
}tddd
|}|j|jd|y)N)rvutf8latin1zBoom, Shaka Laka, Boom!z0
            import sys
            encodings = zn

            for data in (b'', b'short string'):
                try:
                    str(data, encoding=z)
                except LookupError:
                    pass
                else:
                    sys.exit(21)

                try:
                    str(data, errors=z)
                except LookupError:
                    pass
                else:
                    sys.exit(22)

                for encoding in encodings:
                    try:
                        str(data, encoding, errors=z)
                    except LookupError:
                        pass
                    else:
                        sys.exit(22)

            for data in ('', 'short string'):
                try:
                    data.encode(encoding=z)
                except LookupError:
                    pass
                else:
                    sys.exit(23)

                try:
                    data.encode(errors=z)
                except LookupError:
                    pass
                else:
                    sys.exit(24)

                for encoding in encodings:
                    try:
                        data.encode(encoding, errors=z)
                    except LookupError:
                        pass
                    else:
                        sys.exit(24)

            sys.exit(10)
        z-Xdevz-cr)textwrapdedentrr?rc)r4	encodingsinvalidrKprocs     rtest_check_encoding_errorsz&UnicodeTest.test_check_encoding_errors
s0	+$"
&()0{3&'.[145<;?*+25()0{367>[A	Y3 3
h%T5$="d+r)vr)r*r+r:rr5rHrRrrrrrrrrrrrrrr"r)r/r2rDunittestskipIfrKrLrPrVrcpython_onlyr[rcrlrpr}rrrrequires_resourcerrrrrrrrrequires_legacy_unicode_capirrrrrrrrrr
r

skipUnlessrr%r+rrrrrrrr2r5rArDrFrMrun_with_localerSr`rcrhrsrvrrrrrrrrrrrrrrrr*r2r5structcalcsizer9r;rMrUrarerjr{rr
__classcell__)rs@rr-r-:s
I<6$,&9P'8R32<A87<+HZ'IRR0S4DHLM";(R"S"@(X__S[[5(46767
@.
<<
.,?99v
1
1
KLWu%4&4G
11
K$
IK&
-
)W))+X__Y$&(?@OA,O
5O65,85"H"9"D4<X	13KL
M
%;N	,F5P
5Mn1
1
0
I<hNT#+J*
K
X__Y$&(?@*A*
*
(WXw8.9.B6HE	P1"fCJ7"-H^W8r1&AE4H,8HtMH^O'9R-B^5Cn;?(,2,>X__S[[G,I0D0I79K9K
))$6L?
!'
)W))+X__Y$&(?@+A,+"H,T@:,rr-ceZdZdZdZdZy)StringModuleTestcdd}|d}|j|gd|d}|j|ddg|d}|j|dg|d	}|j|g|d
}|j|dg|jttjdy)
Nc>ttj|Sr!)r_stringformatter_parserr;s rparsez5StringModuleTest.test_formatter_parser.<locals>.parse^
s00899rz2prefix {2!s}xxx{0:^+10.3f}{obj.attr!s} {z[0]!s:10}))prefix rArlrb)rSrz^+10.3fN)rlzobj.attrrlrb)rMzz[0]rrbzprefix {} suffix)rrlrlN)z suffixNNNr:)r:NNNrlr{)rlrrlNr)r?rNr{rr)r4r	formatters   rtest_formatter_parserz&StringModuleTest.test_formatter_parser]
s	:NO	%
	,-	%)%
	
%L	%%
	"I	B'%L	%
		
)W%=%=qArc,d}|j|ddgg|j|dddgg|j|dddgg|j|ddgdg|jttjd	y)
Ncdttj|}t|d|d<|S)Nr)rrformatter_field_name_split)r8itemss  rr!z?StringModuleTest.test_formatter_field_name_split.<locals>.split
s-;;DABEE!H~E!HLrr_zobj.argTargzobj[key])Frzobj.arg[key1][key2])r)Fkey1)Fkey2r)r?rNr{rr)r4r!s  rtest_formatter_field_name_splitz0StringModuleTest.test_formatter_field_name_split~
s		
ur{3y)EM?+CDz*U^4D,EF45
8		
)W%G%GKrctd}td}Gdd}|}|jt5t||dddt	||d|j|jdd|_|jt|j|g|jt5t||ddd|jt5|`	dddt	||d|j|jdd|_	|jt|j||gy#1swYxYw#1swYxYw#1swYzxYw)	Nr8name2ceZdZy)4StringModuleTest.test_str_subclass_attr.<locals>.BagNr(rrrBagr
rrrrrrr)
r'rNAttributeErrordelattrsetattrr?r8r__dict__r)r4r8rrr^s     rtest_str_subclass_attrz'StringModuleTest.test_str_subclass_attr
s16"G$		
E


~
.	At	4#ajj)D62


~
.	Au	


~
.		5!!$ajj)D%=9						s#
E
=
E'E#
EE #E,N)r)r*r+rrrrrrrr\
sBBL :rr__main__) rr/rlrrrrKrrrrhtest.supportrrrrtest.support.script_helperrrImportErrorrr%r:r'rr.MixinStrUnicodeTestTestCaser-rr)mainrrr<module>rs



(&<
 "	#	_(,,))22((_(,DQH:x((H:VzHMMO]TIsB;;CC