python (3.11.7)

(root)/
lib/
python3.11/
test/
__pycache__/
test_gettext.cpython-311.opt-2.pyc

eddlZddlZddlZddlZddlmZddlmZddlm	Z	dZ
dZdZdZ
d	Zejd
dZejedZejed
ZejedZejedZejedZdZGddejZdZGddeZGddeZGddZGddeeZGddeeZGdd eeZ Gd!d"Z!Gd#d$eZ"Gd%d&eZ#Gd'd(eZ$Gd)d*eZ%Gd+d,ej&Z'Gd-d.eZ(Gd/d0ejZ)e*d1krej+			dS)2N)partial)support)	os_helpers=3hIElQAAAAAJAAAAHAAAAGQAAAAAAAAArAAAAAAAAACsAAAAFQAAAK0AAAAjAAAAwwAAAKEAAADn
AAAAMAAAAIkBAAAHAAAAugEAABYAAADCAQAAHAAAANkBAAALAAAA9gEAAEIBAAACAgAAFgAAAEUD
AAAeAAAAXAMAAKEAAAB7AwAAMgAAAB0EAAAFAAAAUAQAABsAAABWBAAAIQAAAHIEAAAJAAAAlAQA
AABSYXltb25kIEx1eHVyeSBZYWNoLXQAVGhlcmUgaXMgJXMgZmlsZQBUaGVyZSBhcmUgJXMgZmls
ZXMAVGhpcyBtb2R1bGUgcHJvdmlkZXMgaW50ZXJuYXRpb25hbGl6YXRpb24gYW5kIGxvY2FsaXph
dGlvbgpzdXBwb3J0IGZvciB5b3VyIFB5dGhvbiBwcm9ncmFtcyBieSBwcm92aWRpbmcgYW4gaW50
ZXJmYWNlIHRvIHRoZSBHTlUKZ2V0dGV4dCBtZXNzYWdlIGNhdGFsb2cgbGlicmFyeS4AV2l0aCBj
b250ZXh0BFRoZXJlIGlzICVzIGZpbGUAVGhlcmUgYXJlICVzIGZpbGVzAG11bGx1c2sAbXkgY29u
dGV4dARudWRnZSBudWRnZQBteSBvdGhlciBjb250ZXh0BG51ZGdlIG51ZGdlAG51ZGdlIG51ZGdl
AFByb2plY3QtSWQtVmVyc2lvbjogMi4wClBPLVJldmlzaW9uLURhdGU6IDIwMDMtMDQtMTEgMTQ6
MzItMDQwMApMYXN0LVRyYW5zbGF0b3I6IEouIERhdmlkIEliYW5leiA8ai1kYXZpZEBub29zLmZy
PgpMYW5ndWFnZS1UZWFtOiBYWCA8cHl0aG9uLWRldkBweXRob24ub3JnPgpNSU1FLVZlcnNpb246
IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9aXNvLTg4NTktMQpDb250ZW50
LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CkdlbmVyYXRlZC1CeTogcHlnZXR0ZXh0LnB5IDEuMQpQ
bHVyYWwtRm9ybXM6IG5wbHVyYWxzPTI7IHBsdXJhbD1uIT0xOwoAVGhyb2F0d29iYmxlciBNYW5n
cm92ZQBIYXkgJXMgZmljaGVybwBIYXkgJXMgZmljaGVyb3MAR3V2ZiB6YnFoeXIgY2ViaXZxcmYg
dmFncmVhbmd2YmFueXZtbmd2YmEgbmFxIHlicG55dm1uZ3ZiYQpmaGNjYmVnIHNiZSBsYmhlIENs
Z3ViYSBjZWJ0ZW56ZiBvbCBjZWJpdnF2YXQgbmEgdmFncmVzbnByIGdiIGd1ciBUQUgKdHJnZ3Jr
ZyB6cmZmbnRyIHBuZ255YnQgeXZvZW5lbC4ASGF5ICVzIGZpY2hlcm8gKGNvbnRleHQpAEhheSAl
cyBmaWNoZXJvcyAoY29udGV4dCkAYmFjb24Ad2luayB3aW5rIChpbiAibXkgY29udGV4dCIpAHdp
bmsgd2luayAoaW4gIm15IG90aGVyIGNvbnRleHQiKQB3aW5rIHdpbmsA
s3hIElQAABQAGAAAAHAAAAEwAAAALAAAAfAAAAAAAAACoAAAAFQAAAKkAAAAjAAAAvwAAAKEAAADj
AAAABwAAAIUBAAALAAAAjQEAAEUBAACZAQAAFgAAAN8CAAAeAAAA9gIAAKEAAAAVAwAABQAAALcD
AAAJAAAAvQMAAAEAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABQAAAAYAAAACAAAAAFJh
eW1vbmQgTHV4dXJ5IFlhY2gtdABUaGVyZSBpcyAlcyBmaWxlAFRoZXJlIGFyZSAlcyBmaWxlcwBU
aGlzIG1vZHVsZSBwcm92aWRlcyBpbnRlcm5hdGlvbmFsaXphdGlvbiBhbmQgbG9jYWxpemF0aW9u
CnN1cHBvcnQgZm9yIHlvdXIgUHl0aG9uIHByb2dyYW1zIGJ5IHByb3ZpZGluZyBhbiBpbnRlcmZh
Y2UgdG8gdGhlIEdOVQpnZXR0ZXh0IG1lc3NhZ2UgY2F0YWxvZyBsaWJyYXJ5LgBtdWxsdXNrAG51
ZGdlIG51ZGdlAFByb2plY3QtSWQtVmVyc2lvbjogMi4wClBPLVJldmlzaW9uLURhdGU6IDIwMDAt
MDgtMjkgMTI6MTktMDQ6MDAKTGFzdC1UcmFuc2xhdG9yOiBKLiBEYXZpZCBJYsOhw7FleiA8ai1k
YXZpZEBub29zLmZyPgpMYW5ndWFnZS1UZWFtOiBYWCA8cHl0aG9uLWRldkBweXRob24ub3JnPgpN
SU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9aXNvLTg4
NTktMQpDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiBub25lCkdlbmVyYXRlZC1CeTogcHlnZXR0
ZXh0LnB5IDEuMQpQbHVyYWwtRm9ybXM6IG5wbHVyYWxzPTI7IHBsdXJhbD1uIT0xOwoAVGhyb2F0
d29iYmxlciBNYW5ncm92ZQBIYXkgJXMgZmljaGVybwBIYXkgJXMgZmljaGVyb3MAR3V2ZiB6YnFo
eXIgY2ViaXZxcmYgdmFncmVhbmd2YmFueXZtbmd2YmEgbmFxIHlicG55dm1uZ3ZiYQpmaGNjYmVn
IHNiZSBsYmhlIENsZ3ViYSBjZWJ0ZW56ZiBvbCBjZWJpdnF2YXQgbmEgdmFncmVzbnByIGdiIGd1
ciBUQUgKdHJnZ3JrZyB6cmZmbnRyIHBuZ255YnQgeXZvZW5lbC4AYmFjb24Ad2luayB3aW5rAA==
s3hIElQcAAAAGAAAAHAAAAEwAAAALAAAAfAAAAAAAAACoAAAAFQAAAKkAAAAjAAAAvwAAAKEAAADj
AAAABwAAAIUBAAALAAAAjQEAAEUBAACZAQAAFgAAAN8CAAAeAAAA9gIAAKEAAAAVAwAABQAAALcD
AAAJAAAAvQMAAAEAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABQAAAAYAAAACAAAAAFJh
eW1vbmQgTHV4dXJ5IFlhY2gtdABUaGVyZSBpcyAlcyBmaWxlAFRoZXJlIGFyZSAlcyBmaWxlcwBU
aGlzIG1vZHVsZSBwcm92aWRlcyBpbnRlcm5hdGlvbmFsaXphdGlvbiBhbmQgbG9jYWxpemF0aW9u
CnN1cHBvcnQgZm9yIHlvdXIgUHl0aG9uIHByb2dyYW1zIGJ5IHByb3ZpZGluZyBhbiBpbnRlcmZh
Y2UgdG8gdGhlIEdOVQpnZXR0ZXh0IG1lc3NhZ2UgY2F0YWxvZyBsaWJyYXJ5LgBtdWxsdXNrAG51
ZGdlIG51ZGdlAFByb2plY3QtSWQtVmVyc2lvbjogMi4wClBPLVJldmlzaW9uLURhdGU6IDIwMDAt
MDgtMjkgMTI6MTktMDQ6MDAKTGFzdC1UcmFuc2xhdG9yOiBKLiBEYXZpZCBJYsOhw7FleiA8ai1k
YXZpZEBub29zLmZyPgpMYW5ndWFnZS1UZWFtOiBYWCA8cHl0aG9uLWRldkBweXRob24ub3JnPgpN
SU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9aXNvLTg4
NTktMQpDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiBub25lCkdlbmVyYXRlZC1CeTogcHlnZXR0
ZXh0LnB5IDEuMQpQbHVyYWwtRm9ybXM6IG5wbHVyYWxzPTI7IHBsdXJhbD1uIT0xOwoAVGhyb2F0
d29iYmxlciBNYW5ncm92ZQBIYXkgJXMgZmljaGVybwBIYXkgJXMgZmljaGVyb3MAR3V2ZiB6YnFo
eXIgY2ViaXZxcmYgdmFncmVhbmd2YmFueXZtbmd2YmEgbmFxIHlicG55dm1uZ3ZiYQpmaGNjYmVn
IHNiZSBsYmhlIENsZ3ViYSBjZWJ0ZW56ZiBvbCBjZWJpdnF2YXQgbmEgdmFncmVzbnByIGdiIGd1
ciBUQUgKdHJnZ3JrZyB6cmZmbnRyIHBuZ255YnQgeXZvZW5lbC4AYmFjb24Ad2luayB3aW5rAA==
s3hIElQAAAAADAAAAHAAAADQAAAAAAAAAAAAAAAAAAABMAAAABAAAAE0AAAAQAAAAUgAAAA8BAABj
AAAABAAAAHMBAAAWAAAAeAEAAABhYsOeAG15Y29udGV4dMOeBGFiw54AUHJvamVjdC1JZC1WZXJz
aW9uOiAyLjAKUE8tUmV2aXNpb24tRGF0ZTogMjAwMy0wNC0xMSAxMjo0Mi0wNDAwCkxhc3QtVHJh
bnNsYXRvcjogQmFycnkgQS4gV0Fyc2F3IDxiYXJyeUBweXRob24ub3JnPgpMYW5ndWFnZS1UZWFt
OiBYWCA8cHl0aG9uLWRldkBweXRob24ub3JnPgpNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5
cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9dXRmLTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzog
N2JpdApHZW5lcmF0ZWQtQnk6IG1hbnVhbGx5CgDCpHl6AMKkeXogKGNvbnRleHQgdmVyc2lvbikA
sL3hIElQAAAAABAAAAHAAAACQAAAADAAAALAAAAAAAAAA4AAAAeAEAADkAAAABAAAAAAAAAAAAAAAA
UHJvamVjdC1JZC1WZXJzaW9uOiBObyBQcm9qZWN0IDAuMApQT1QtQ3JlYXRpb24tRGF0ZTogV2Vk
IERlYyAxMSAwNzo0NDoxNSAyMDAyClBPLVJldmlzaW9uLURhdGU6IDIwMDItMDgtMTQgMDE6MTg6
NTgrMDA6MDAKTGFzdC1UcmFuc2xhdG9yOiBKb2huIERvZSA8amRvZUBleGFtcGxlLmNvbT4KSmFu
ZSBGb29iYXIgPGpmb29iYXJAZXhhbXBsZS5jb20+Ckxhbmd1YWdlLVRlYW06IHh4IDx4eEBleGFt
cGxlLmNvbT4KTUlNRS1WZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFy
c2V0PWlzby04ODU5LTE1CkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IHF1b3RlZC1wcmludGFi
bGUKR2VuZXJhdGVkLUJ5OiBweWdldHRleHQucHkgMS4zCgA=
xxLC_MESSAGESz
gettext.mozgettext_bad_major_version.mozgettext_bad_minor_version.mozugettext.mozmetadata.moctjdt_tjdS)Nmessages)gettext_localedirsclear_current_domain
_translationsE/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/test/test_gettext.py
reset_gettextrws:(G!!!!!rc*eZdZedZdZdS)GettextBaseTestc|tjtjtdtjtstjtttd5}|tj
tdddn#1swxYwYttd5}|tj
t dddn#1swxYwYtt"d5}|tj
t$dddn#1swxYwYtt&d5}|tj
t(dddn#1swxYwYtt*d5}|tj
t,ddddS#1swxYwYdS)Nrwb)addClassCleanuprrmtreeospathsplit	LOCALEDIRisdirmakedirsopenMOFILEwritebase64decodebytesGNU_MO_DATAMOFILE_BAD_MAJOR_VERSIONGNU_MO_DATA_BAD_MAJOR_VERSIONMOFILE_BAD_MINOR_VERSIONGNU_MO_DATA_BAD_MINOR_VERSIONUMOFILEUMO_DATAMMOFILEMMO_DATA)clsfps  r
setUpClasszGettextBaseTest.setUpClass~sI,bgmmI.F.Fq.IJJJw}}Y''	#K	"""
&$

	62HHV'44555	6	6	6	6	6	6	6	6	6	6	6	6	6	6	6
*D
1
1	HRHHV'(EFFGGG	H	H	H	H	H	H	H	H	H	H	H	H	H	H	H
*D
1
1	HRHHV'(EFFGGG	H	H	H	H	H	H	H	H	H	H	H	H	H	H	H
'4
 
 	3BHHV'11222	3	3	3	3	3	3	3	3	3	3	3	3	3	3	3
'4
 
 	3BHHV'11222	3	3	3	3	3	3	3	3	3	3	3	3	3	3	3	3	3	3sZ-CCC4-D--D14D1
-FF

F
&-GG#&G#?-H99H=H=c|tj|_d|jd<t	|tdS)NrLANGUAGE)enterContextrEnvironmentVarGuardenvr
addCleanupselfs rsetUpzGettextBaseTest.setUpsM$$Y%B%D%DEE#
&&&&&rN)__name__
__module____qualname__classmethodr/r8rrrrr}s<
3
3[
3'''''rrs3hIElQAAAAABAAAAHAAAACQAAAAAAAAAAAAAAAAAAAAsAAAAggAAAC0AAAAAUGx1cmFsLUZvcm1z
OiBucGx1cmFscz0yOyBwbHVyYWw9KG4gIT0gMSk7CiMtIy0jLSMtIyAgbWVzc2FnZXMucG8gKEVk
WCBTdHVkaW8pICAjLSMtIy0jLSMKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVU
Ri04CgA=
c>eZdZdZdZdZdZdZdZdZ	dZ
d	S)
GettextTestCase1ct|tj|_t
|_tjd|jdgdS)Nr
pgettextnames)	rr8rcurdir	localedirr mofiler
installr6s rr8zGettextTestCase1.setUpsGd###	4>*FFFFFFrc|j}|tdd|tdd|tdd|tdddSN	albatrossmulluskbaconzRaymond Luxury Yach-tzThroatwobbler Mangrovenudge nudge	wink winkassertEqual_r7eqs  rtest_some_translationsz'GettextTestCase1.test_some_translationsv


1[>>;'''
1Y<<!!!
1
%&&(@AAA
1^k*****rc||j}|tddd|tddddSN
my contextrLwink wink (in "my context")my other context!wink wink (in "my other context"))rOr@rQs  r#test_some_translations_with_contextz4GettextTestCase1.test_some_translations_with_contexts[


8L-00(	*	*	*
8&
66.	0	0	0	0	0rc|j}|tdd|tdd|tdd|tdddSrHrNrQs  rtest_double_quotesz#GettextTestCase1.test_double_quotesrTrc|j}|tdd|tdd|tdd|tdddSrHrNrQs  rtest_triple_single_quotesz*GettextTestCase1.test_triple_single_quotes{


1_{+++
1]W%%%
1
)**,DEEE
1
  +.....rc|j}|tdd|tdd|tdd|tdddSrHrNrQs  rtest_triple_double_quotesz*GettextTestCase1.test_triple_double_quotesr`rcF|j}|tdddSNzThis module provides internationalization and localization
support for your Python programs by providing an interface to the GNU
gettext message catalog library.zGuvf zbqhyr cebivqrf vagreangvbanyvmngvba naq ybpnyvmngvba
fhccbeg sbe lbhe Clguba cebtenzf ol cebivqvat na vagresnpr gb gur TAH
trggrkg zrffntr pngnybt yvoenel.rNrQs  rtest_multiline_stringsz'GettextTestCase1.test_multiline_stringss>


1$%%$	%	%	%	%	%rcH|j}|j}t|jd5}t	j|}dddn#1swxYwY||tdd||tddddl}|ddg	|t|j||j|j|t|j	|t|j
|`|`	dS)
NrbrLrMrJrKrr
ngettextrA)rOassertNotEqualrrEr
GNUTranslationsrFrPbuiltinsrhr@)r7rRneqr.trks      rtest_the_alternative_interfacez/GettextTestCase1.test_the_alternative_interfaces[

!
$+t
$
$	,'++A	,	,	,	,	,	,	,	,	,	,	,	,	,	,	,	
		
1][)))			
1Y<<!!!			J/	000
1ai
8QY'''
8QZ   Haj!!!sAA	A	N)r9r:r;r8rSr[r]r_rbrernrrrr>r>sGGG+++000+++//////%%%rr>cVeZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
S)GettextTestCase2ct|tj|_tjd|jtjdt
j|_dSNr
)	rr8rrCrDr
bindtextdomain
textdomainrPr6s rr8zGettextTestCase2.setUpsRd###y$.9999%%%rc`|tjd|jdSrr)rOr
rsrDr6s rtest_bindtextdomainz$GettextTestCase2.test_bindtextdomains+/	::DNKKKKKrcT|tjddSrr)rOr
rtr6s rtest_textdomainz GettextTestCase2.test_textdomains'+--y99999rcttd5}|t5}t	j|dddn#1swxYwY|j}||jd||j	d||j
tddddS#1swxYwYdS)NrgrzBad version number 5)rr%assertRaisesOSErrorr
rj	exceptionrOerrnostrerrorfilename)r7r.cmr|s    rtest_bad_major_versionz'GettextTestCase2.test_bad_major_versionsS
*D
1
1	KR""7++
,r'+++
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,IY_a000Y/1GHHHY/1IJJJ	K	K	K	K	K	K	K	K	K	K	K	K	K	K	K	K	K	Ks5CACA	CA	A CCCcttd5}tj|ddddS#1swxYwYdSNrg)rr'r
rjr7r.s  rtest_bad_minor_versionz'GettextTestCase2.test_bad_minor_versions
*D
1
1	(R#B'''	(	(	(	(	(	(	(	(	(	(	(	(	(	(	(	(	(	(s8<<c|j}||dd||dd||dd||dddSrHrNrQs  rrSz'GettextTestCase2.test_some_translations



466+,,,
466)g&&&
466*++-EFFF
466.!!;/////rc|j}|tjddd|tjddddSrV)rOr
r@rQs  rr[z4GettextTestCase2.test_some_translations_with_contextsa


7L-88(	*	*	*
7.
>>.	0	0	0	0	0rc|j}|tjdddd|tjdddddS)Nr
rWrLrXrYrZ)rOr
	dpgettextrQs  r.test_some_translations_with_context_and_domainz?GettextTestCase2.test_some_translations_with_context_and_domainse


7YmDD(	*	*	*
7Y(:MJJ.	0	0	0	0	0rc|j}||dd||dd||dd||dddSrHrNrQs  rr]z#GettextTestCase2.test_double_quotes rrc|j}||dd||dd||dd||dddSrHrNrQs  rr_z*GettextTestCase2.test_triple_single_quotes(


466/""K000
466-  '***
466.//1IJJJ
466$%%{33333rc|j}||dd||dd||dd||dddSrHrNrQs  rrbz*GettextTestCase2.test_triple_double_quotes0rrcR|j}||dddSrdrNrQs  rrez'GettextTestCase2.test_multiline_strings8sB


466$%%$	%	%	%	%	%rN)r9r:r;r8rvrxrrrSr[rr]r_rbrerrrrprps!!!LLL:::KKK(((
000000000000444444%%%%%rrpc*eZdZ	ddZdZdZdZdS)PluralFormsTestsTc|||d}||||||d}|||||}||||r||jjjdz}	|t
5}
|||d}dddn#1swxYwY||
jt||
j|	dz||||t
5}
|||d}dddn#1swxYwY||
jt||
j|	dz||||	t5|||dddddS#1swxYwYdS|||d}|||dS)N	?皙?)rO_test_plural_forms__code__co_firstlinenoassertWarnsDeprecationWarningr__file__linenorz	TypeError)r7rhr
singularplural	tsingulartpluralnumbers_onlyxrrs           rrz#PluralFormsTests._test_plural_formsEs
HXvq))I&&&HXvq))G$$$GHI&&&	),5DqHF!!"455
4HXvs33
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4R[(333RY
333Q	***!!"455
4HXvs33
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4R[(333RY
333Q(((""9--
1
164000
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
16400AQ(((((s6B33B7:B7,EE

E
?GG!Gc||j|jdddd||j|jdddddS)NThere is %s fileThere are %s filesHay %s ficheroHay %s ficheros%d file deleted%d files deleted)rrhr
r6s rtest_plural_formsz"PluralFormsTests.test_plural_formsashM4< 4/	1	1	1	
M4<11	3	3	3	3	3rct|jd}t|jd}|||dddd|||dddddS)NWith contextrrHay %s fichero (context)Hay %s ficheros (context)rr)r	npgettextr@r)r7rhr
s   rtest_plural_context_formsz*PluralFormsTests.test_plural_context_formsks4>>::$-88g 4&(C	E	E	E	
g11	3	3	3	3	3rc|t|jdt|jddddddS)NzUnknown contextrr)rrrr@r6s rtest_plural_wrong_context_formsz0PluralFormsTests.test_plural_wrong_context_formswsPDN$566DM#455 4 4		6	6	6	6	6rN)T)r9r:r;rrrrrrrrrCsZ)-))))8333
3
3
366666rrceZdZdZdS)"GNUTranslationsPluralFormsTestCasec(t|tjdtjtjdtj|_tj|_tj|_tj	|_	dSrr)
rr8r
rsrrCrtrhr@rr6s rr8z(GNUTranslationsPluralFormsTestCase.setUpsgd###y")4449%%%(
(
 *rN)r9r:r;r8rrrrrs#	+	+	+	+	+rrc eZdZdZdZdZdS),GNUTranslationsWithDomainPluralFormsTestCasecpt|tjdtjt
tjd|_t
tjd|_	t
tj
d|_t
tjd|_
dSrr)rr8r
rsrrCrdgettext	dngettextrhrr@
dnpgettextrr6s rr8z2GNUTranslationsWithDomainPluralFormsTestCase.setUpsd###y")444w/;; 19==
 19==
 !3Y??rc	|ttjdttjdddddddS)NunknownrrFr)rrr
rrr6s rtest_plural_forms_wrong_domainzKGNUTranslationsWithDomainPluralFormsTestCase.test_plural_forms_wrong_domainsXG%y11G$i00 4 4	 	 	 	 	 	 rc	|ttjddttjddddddddS)NrrrrFr)rrr
rrr6s r&test_plural_context_forms_wrong_domainzSGNUTranslationsWithDomainPluralFormsTestCase.test_plural_context_forms_wrong_domains\G&	>BBG%y.AA 4 4	 	 	 	 	 	 rN)r9r:r;r8rrrrrrrsD@@@        rrc eZdZdZdZdZdS)'GNUTranslationsClassPluralFormsTestCasect|ttd5}t	j|}dddn#1swxYwY|j|_|j|_|j|_|j|_dSr)	rr8rr r
rjrhr@rr7r.rms   rr8z-GNUTranslationsClassPluralFormsTestCase.setUpsd###
&$

	,2'++A	,	,	,	,	,	,	,	,	,	,	,	,	,	,	,y



sAAAc	xtj}||j|jddddddS)NrrFr)r
NullTranslationsrrhr7rms  r#test_plural_forms_null_translationszKGNUTranslationsClassPluralFormsTestCase.test_plural_forms_null_translationssO$&&
J	 4 4		 	 	 	 	 	 rc	tj}|t|jdt|jdddddddS)NrrrFr)r
rrrrr@rs  r+test_plural_context_forms_null_translationszSGNUTranslationsClassPluralFormsTestCase.test_plural_context_forms_null_translationssd$&&AK00AJ// 4 4	 	 	 	 	 	 rN)r9r:r;r8rrrrrrrsA%%%        rrceZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZdZdZdS)PluralFormsInternalTestCasec|j}tjddfdt	dD}||ddS)N0c@g|]}t|Srstr.0rfs  r
<listcomp>z7PluralFormsInternalTestCase.test_ja.<locals>.<listcomp>'555Ac!!A$$ii555r00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000rOr
c2pyjoinranger7rRsrs   @rtest_jaz#PluralFormsInternalTestCase.test_jasq

LGG5555s55566
1Y	Z	Z	Z	Z	Zrc|j}tjddfdt	dD}||ddS)Nn != 1rc@g|]}t|Srrrs  rrz7PluralFormsInternalTestCase.test_de.<locals>.<listcomp>rrr10111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111rrs   @rtest_dez#PluralFormsInternalTestCase.test_desq

L""GG5555s55566
1Y	Z	Z	Z	Z	Zrc|j}tjddfdt	dD}||ddS)Nzn>1rc@g|]}t|Srrrs  rrz7PluralFormsInternalTestCase.test_fr.<locals>.<listcomp>rrr00111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111rrs   @rtest_frz#PluralFormsInternalTestCase.test_frsq

LGG5555s55566
1Y	Z	Z	Z	Z	Zrc|j}tjddfdt	dD}||ddS)Nz)n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2rc@g|]}t|Srrrs  rrz7PluralFormsInternalTestCase.test_lv.<locals>.<listcomp>rrr20111111111111111111101111111110111111111011111111101111111110111111111011111111101111111110111111111011111111111111111110111111111011111111101111111110111111111011111111101111111110111111111011111111rrs   @rtest_lvz#PluralFormsInternalTestCase.test_lvsr

LDEEGG5555s55566
1Y	Z	Z	Z	Z	Zrc|j}tjddfdt	dD}||ddS)Nzn==1 ? 0 : n==2 ? 1 : 2rc@g|]}t|Srrrs  rrz7PluralFormsInternalTestCase.test_gd.<locals>.<listcomp>rrr20122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222rrs   @rtest_gdz#PluralFormsInternalTestCase.test_gdsr

L233GG5555s55566
1Y	Z	Z	Z	Z	Zrc|j}tjddfdt	dD}||ddS)Nzn==1 ? 0 : (n==2 ? 1 : 2)rc@g|]}t|Srrrs  rrz8PluralFormsInternalTestCase.test_gd2.<locals>.<listcomp>rrrrrrs   @rtest_gd2z$PluralFormsInternalTestCase.test_gd2sr

L455GG5555s55566
1Y	Z	Z	Z	Z	Zrc|j}tjddfdt	dD}||ddS)Nz6n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < 20)) ? 1 : 2rc@g|]}t|Srrrs  rrz7PluralFormsInternalTestCase.test_ro.<locals>.<listcomp>rrr10111111111111111111222222222222222222222222222222222222222222222222222222222222222222222222222222222111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222rrs   @rtest_roz#PluralFormsInternalTestCase.test_rosr

LQRRGG5555s55566
1Y	Z	Z	Z	Z	Zrc|j}tjddfdt	dD}||ddS)NzEn%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2rc@g|]}t|Srrrs  rrz7PluralFormsInternalTestCase.test_lt.<locals>.<listcomp>rrr20111111112222222222201111111120111111112011111111201111111120111111112011111111201111111120111111112011111111222222222220111111112011111111201111111120111111112011111111201111111120111111112011111111rrs   @rtest_ltz#PluralFormsInternalTestCase.test_ltsr

L`aaGG5555s55566
1Y	Z	Z	Z	Z	Zrc|j}tjddfdt	dD}||ddS)NzPn%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2rc@g|]}t|Srrrs  rrz7PluralFormsInternalTestCase.test_ru.<locals>.<listcomp>rrr20111222222222222222201112222220111222222011122222201112222220111222222011122222201112222220111222222011122222222222222220111222222011122222201112222220111222222011122222201112222220111222222011122222rrs   @rtest_ruz#PluralFormsInternalTestCase.test_rusr

LkllGG5555s55566
1Y	Z	Z	Z	Z	Zrc|j}tjddfdt	dD}||ddS)Nz#(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2rc@g|]}t|Srrrs  rrz7PluralFormsInternalTestCase.test_cs.<locals>.<listcomp>rrr20111222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222rrs   @rtest_csz#PluralFormsInternalTestCase.test_cssr

L>??GG5555s55566
1Y	Z	Z	Z	Z	Zrc|j}tjddfdt	dD}||ddS)Nz@n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2rc@g|]}t|Srrrs  rrz7PluralFormsInternalTestCase.test_pl.<locals>.<listcomp>rrr20111222222222222222221112222222111222222211122222221112222222111222222211122222221112222222111222222211122222222222222222111222222211122222221112222222111222222211122222221112222222111222222211122222rrs   @rtest_plz#PluralFormsInternalTestCase.test_plsr

L[\\GG5555s55566
1Y	Z	Z	Z	Z	Zrc|j}tjddfdt	dD}||ddS)Nz:n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3rc@g|]}t|Srrrs  rrz7PluralFormsInternalTestCase.test_sl.<locals>.<listcomp>rrr30122333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333012233333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333rrs   @rtest_slz#PluralFormsInternalTestCase.test_slsr

LUVVGG5555s55566
1Y	Z	Z	Z	Z	Zrc|j}tjddfdt	dD}||ddS)NzNn==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 ? 4 : 5rc@g|]}t|Srrrs  rrz7PluralFormsInternalTestCase.test_ar.<locals>.<listcomp>rrr01233333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444445553333333344444444444444444444444444444444444444444444444444444444444444444444444444444444444444444rrs   @rtest_arz#PluralFormsInternalTestCase.test_arsr

LijjGG5555s55566
1Y	Z	Z	Z	Z	ZrcL|j}|ttjd|ttjd|ttjd|ttjddzdz|tjddd	|ttjd
|ttjddzdzddzz|tjd
dddS)Nzos.chmod('/etc/passwd',0777)z"(eval(foo) && ""zf"{os.system('sh')}"zn+i'nzn+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+n+nrez((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((n))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))()z)((((((((((((((((((((n)))))))))))))))))))))rz
ValueErrorr
rrO)r7raisess  r
test_securityz)PluralFormsInternalTestCase.test_securitys	"z7<)GHHHz7<)<===z7<)ABBBz7<ec)9:::5n55a88#>>>z7<)@AAAz7<US3u9)DEEE<&;<<Q??CCCCCrctjd|dfdt	dDdtjd|dfdt	dDdtjd	|dfd
t	dDdtjd|dfdt	dDd
dS)Nzn == n == nrc3HK|]}t|VdSNrrs  r	<genexpr>zFPluralFormsInternalTestCase.test_chained_comparison.<locals>.<genexpr>*1 = =qQQqTT = = = = = =r010z
1 < n == nc3HK|]}t|VdSr!rrs  rr"zFPluralFormsInternalTestCase.test_chained_comparison.<locals>.<genexpr>,r#r100z
n == n < 2c3HK|]}t|VdSr!rrs  rr"zFPluralFormsInternalTestCase.test_chained_comparison.<locals>.<genexpr>.r#rz	0 < n < 2c3HK|]}t|VdSr!rrs  rr"zFPluralFormsInternalTestCase.test_chained_comparison.<locals>.<genexpr>0r#r111)r
rrOrrr7rs @rtest_chained_comparisonz3PluralFormsInternalTestCase.test_chained_comparison's9L'' = = = =E!HH = = ===uEEEL&& = = = =E!HH = = ===uEEEL&& = = = =E!HH = = ===uEEEL%% = = = =E!HH = = ===uEEEEErch|tjddddS)N0123r{rOr
rr6s rtest_decimal_numberz/PluralFormsInternalTestCase.test_decimal_number2s3-f--a00#66666rcgd}|D]H}|t5tj|dddn#1swxYwYIdS)N)zx>1z(n>1zn>1)z
42**42**420xaz1.01e2zn>0x1z+nz-nzn()zn(1)z1+nnzn n)rzrr
r)r7invalid_expressionsexprs   rtest_invalid_syntaxz/PluralFormsInternalTestCase.test_invalid_syntax5s


(	#	#D"":..
#
#T"""
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#	#	#sAA	A	c|tjddd|tjddd|tjddd|tjddddS)Nz	n?1?2:3:4rrrrz	n?1:3?4:5r0r6s rtest_nested_condition_operatorz:PluralFormsInternalTestCase.test_nested_condition_operator>s2k22155q9992k22155q9992k22155q9992k22155q99999rc^tjd}||dd||dd||dd||dd|t|ddS)	Nz2/n*3rrr$ri)r
rrOrzZeroDivisionErrorr+s  r
test_divisionz)PluralFormsInternalTestCase.test_divisionDsL!!1q!!!1q!!!1q!!!2###+Q22222rctjd}||dd||dd|t5||dddddn#1swxYwY|t5||dddddn#1swxYwY|t5||dddddn#1swxYwY|t|d|t|d	|t|g|t|tdS)
Nrrrrrg@r22)r
rrOrrrzrobjectr+s  rtest_plural_numberz.PluralFormsInternalTestCase.test_plural_numberLsOL""1q!!!1q!!!


0
1
1	(	(QQsVVQ'''	(	(	(	(	(	(	(	(	(	(	(	(	(	(	(


0
1
1	(	(QQsVVQ'''	(	(	(	(	(	(	(	(	(	(	(	(	(	(	(


0
1
1	(	(QQsVVQ'''	(	(	(	(	(	(	(	(	(	(	(	(	(	(	()Q,,,)Q---)Q+++)Q11111s6- BB B> C**C.1C. D;;D?D?N)r9r:r;rrrrrrrrrr
rrrrr,r1r8r:r?rDrrrrrsmZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZDDD 	F	F	F777###:::333
2
2
2
2
2rrceZdZdZdZdS)GNUTranslationParsingTestc<ttd5}|tjt
dddn#1swxYwYttd5}t
j|}ddddS#1swxYwYdS)Nrrg)rr r!r"r#GNU_MO_DATA_ISSUE_17898r
rjrs   r!test_plural_form_error_issue17898z;GNUTranslationParsingTest.test_plural_form_error_issue17898]s
&$

	B2HHV'(?@@AAA	B	B	B	B	B	B	B	B	B	B	B	B	B	B	B
&$

	,2'++A	,	,	,	,	,	,	,	,	,	,	,	,	,	,	,	,	,	,s#-AAA/BBBc	ttd5}|tjt
dddn#1swxYwYttd5}t
j|}||	ddddddS#1swxYwYdS)Nrrgzplural-formsznplurals=2; plural=(n != 1);)
rr r!r"r#rHr
rjrOinfors   r*test_ignore_comments_in_headers_issue36239zDGNUTranslationParsingTest.test_ignore_comments_in_headers_issue36239dsQ	&$

	B2HHV'(?@@AAA	B	B	B	B	B	B	B	B	B	B	B	B	B	B	B
&$

	W2'++AQVVXXn57UVVV	W	W	W	W	W	W	W	W	W	W	W	W	W	W	W	W	W	Ws$-AAA0ACCCN)r9r:r;rIrLrrrrFrF\s7,,,WWWWWrrFc&eZdZdZdZdZdZdS)UnicodeTranslationsTestc
t|ttd5}t	j||_dddn#1swxYwY|jj|_|jj|_dSr)	rr8rr)r
rjrmrPr@rs  rr8zUnicodeTranslationsTest.setUpssd###
'4
 
 	1B,R00DF	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1


AAAcb||dtdS)Nr)assertIsInstancerPrr6s rtest_unicode_msgidz*UnicodeTranslationsTest.test_unicode_msgidzs(dffRjj#.....rcX||dddS)NabÞu¤yzrNr6s rtest_unicode_msgstrz+UnicodeTranslationsTest.test_unicode_msgstr}s*))844444rc|dd}|t|t||ddS)NumycontextÞrUu¤yz (context version))r@
assertTrue
isinstancerrOrs  rtest_unicode_context_msgstrz3UnicodeTranslationsTest.test_unicode_context_msgstrsNMM/844
1c**+++677777rN)r9r:r;r8rSrVrZrrrrNrNrsP(((///55588888rrNc,eZdZdZdZdZdZdZdS)UnicodeTranslationsPluralTestc
t|ttd5}t	j||_dddn#1swxYwY|jj|_|jj|_dSr)	rr8rr r
rjrmrhrrs  rr8z#UnicodeTranslationsPluralTest.setUpsd###
&$

	12,R00DF	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1
)rPc	|j}|t|dddt|t|dddtdSNrrr)rXrYrhrr7unlesss  rrSz0UnicodeTranslationsPluralTest.test_unicode_msgidscz$--B22C88999z$--B22C8899999rc
|j}|t|ddddt|t|ddddtdSr_)rXrYrrr`s  rtest_unicode_context_msgidz8UnicodeTranslationsPluralTest.test_unicode_context_msgidsgz$..RQ77==>>>z$..RQ77==>>>>>rcb|j}|j}|ddd}|t|t||d|t|t|ddd}|t|t||ddS)Nrrrrr)rOrXrhrYrr7rRrarms    rrVz1UnicodeTranslationsPluralTest.test_unicode_msgstrs

MM,.BAFFz!S!!"""
1z!S!!"""MM,.BAFFz!S!!"""
1     rc*|j}|j}|dddd}|t|t||d|dddd}|t|t||ddS)Nrrrrrrer)rOrXrrYrrfs    r test_unicode_msgstr_with_contextz>UnicodeTranslationsPluralTest.test_unicode_msgstr_with_contexts

NN>-/CQ
H
Hz!S!!"""
1()))NN>-/CQ
H
Hz!S!!"""
1)*****rN)r9r:r;r8rSrcrVrhrrrr\r\s_***:::
???
	!	!	!
+
+
+
+
+rr\ceZdZdZdZdS)WeirdMetadataTestct|ttd5}	t	j||_n#|xYw	ddddS#1swxYwYdSr)rr8rr+r
rjrmtearDownrs  rr8zWeirdMetadataTest.setUpsd###
'4
 
 	B
 044


																		s(A4AA4A##A44A8;A8c|j}|t|d||dddS)Nrzlast-translatorz=John Doe <jdoe@example.com>
Jane Foobar <jfoobar@example.com>)rmrKrOlen)r7rKs  rtest_weird_metadataz%WeirdMetadataTest.test_weird_metadatas_v{{}}TA&&&/0K	M	M	M	M	MrN)r9r:r;r8rorrrrjrjs7MMMMMrrjceZdZdZdS)DummyGNUTranslationscdS)Nfoorr6s rrszDummyGNUTranslations.foosurN)r9r:r;rsrrrrqrqs#rrqceZdZdZdS)GettextCacheTestCasectj|_t|_|t
tjdtj	d|j}|t
tjdtj	d|jt}|t
tjd||jttj	d|jt}|t
tjd||jtdS)Nrr
r)class_r)rrCrDr rErOrnr
rtranslationrq	__class__rs  r
test_cachezGettextCacheTestCase.test_caches(W233Q777	4>::W233Q777	4>';
=
=
=	
W233Q777&:;;;
	4>';
=
=
=	
W233Q777&:;;;;;rN)r9r:r;rzrrrrurus#<<<<<rruceZdZdZdS)MiscTestCasecBtj|tddhdS)NrENOENT)not_exported)rcheck__all__r
r6s rtest__all__zMiscTestCase.test__all__s2T7+18*<	>	>	>	>	>	>rN)r9r:r;rrrrr|r|s#>>>>>rr|__main__),rr"r
unittest	functoolsrtestrtest.supportrr$r&r(r*r,rrrr r%r'r)r+rTestCaserrHr>rprrrrrrFrNr\rjrjrqrur|r9mainrrr<module>rs				



""""""8!0!*	
GLL}--		i	.	.7<<	3QRR7<<	3QRR
',,y-
0
0
',,y-
0
0"""'''''h''''0LLLLLLLL^U%U%U%U%U%U%U%U%p9696969696969696x
+
+
+
+
+)9?
+
+
+     3C_   8     .>   :T2T2T2T2T2T2T2T2nWWWWWWWW,88888o888('+'+'+'+'+O'+'+'+TMMMMMMMM"72
<<<<<?<<<4>>>>>8$>>>zHMOOOGX8
&r