python (3.11.7)

(root)/
lib/
python3.11/
test/
__pycache__/
test_random.cpython-311.pyc

erddlZddlZddlZddlZddlZddlZddlZddlZddl	m
Z
ddlmZm
Z
mZmZmZmZddlmZddlmZddlmZmZGddZ	ejd	Zn
#e$rd
ZYnwxYwejedGdd
eejZGddejZGddeejZ dezdzfdZ!GddejZ"GddejZ#GddejZ$e%dkrej&dSdS)N)partial)logexppifsumsin	factorial)support)Fraction)abcCounterceZdZdZdZdZdZdZej	
ddZdZd	Z
d
ZdZdZd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!dS)TestBasicOpsc:fdt|DS)z0Helper function to make a list of random numberscBg|]}jSgenrandom.0iselfs  D/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/test/test_random.py
<listcomp>z+TestBasicOps.randomlist.<locals>.<listcomp>s%444a!!444range)rns` r
randomlistzTestBasicOps.randomlists#44445884444rc"|j|j}tjd|j|j}|||dS)N皙?)rseedgetstatetimesleepassertNotEqual)rstate1state2s   r
test_autoseedzTestBasicOps.test_autoseedso

""$$
3

""$$FF+++++rcd}|j|j}||}|j|||||dS)N)rr#r$r setstateassertEqual)rNstaterandseqs    rtest_saverestorezTestBasicOps.test_saverestore!sx

!!##//!$$%   $//!"4"455555rcGddt}dD]}|j|dtd|fD]N}|t
5|j|dddn#1swxYwYOt
tdtdfD](}|t
|jj|)|t
|jjdd	dd
|t
t|jgdS)NceZdZdZdS)*TestBasicOps.test_seedargs.<locals>.MySeedcdS)Ni?rrs r__hash__z3TestBasicOps.test_seedargs.<locals>.MySeed.__hash__,surN)__name__
__module____qualname__r8rrrMySeedr5+s#




rr<)
Nrl Fx:^V Fx:^VFTQ	@ay?@rr=)one)
objectrr#tupleassertRaises	TypeErrorlistrdicttype)rr<args   r
test_seedargszTestBasicOps.test_seedargs)s					V			,		CHMM#%,,1	#	#C""9--
#
#

c"""
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#qNNDQKKK0	=	=Ci<<<<)TX]Aq!Q???)T$(^^R88888s)BB	B	ctd}|j|||tddS)Ns1234)	bytearrayrr#r.)rrAs  rtest_seed_no_mutate_bug_44018z*TestBasicOps.test_seed_no_mutate_bug_44018;sGg

aIg../////rzrandom._urandomcFt|_|dSN)NotImplementedErrorside_effectrN)rurandom_mocks  r*test_seed_when_randomness_source_not_foundz7TestBasicOps.test_seed_when_randomness_source_not_found@s$$7 rcV|jj}g}||||gdg}||||dgdtdD}dtdD}|D]
}||t	||D]e\}}|t|t||t
|t
|fttd}ttd}|||||k|||||k|	t|ddS)N%cFg|]}tt|SrrJrrrs  rrz-TestBasicOps.test_shuffle.<locals>.<listcomp>Rs$2221U1XX222r
cFg|]}tt|Srr[r\s  rrz-TestBasicOps.test_shuffle.<locals>.<listcomp>Ss$;;;AeAhh;;;rr,r=rDrB)rshuffler.rziplensetrJ
assertTruerHrI)rr`lstseqs
shuffled_seqsshuffled_seqseqshuffled_lsts        rtest_shufflezTestBasicOps.test_shuffleJs("b!!!drd###22b		222;;r;;;
)	"	"LGL!!!!#&t]#;#;	:	:S,SXXs<'8'8999SXXs<'8'899995;;E$KK((|+,,,|+,,,)Wi88888rc|jj}|t5|gdddn#1swxYwY||dgd||ddgddgdS)N2K)rchoicerH
IndexErrorr.assertIn)rrps  rtest_choicezTestBasicOps.test_choiceks


z
*
*		F2JJJ															r***

ffb"X&&R11111s?AAcz|jj}Gddt}|t5||gdddn#1swxYwY|||dgd|||ddgddgdS)NceZdZdZdZdS)/TestBasicOps.test_choice_with_numpy.<locals>.NAzSimulate numpy.array() behaviorctrS)RuntimeErrorr7s r__bool__z8TestBasicOps.test_choice_with_numpy.<locals>.NA.__bool__ys""rN)r9r:r;__doc__ryrrrNArvws)--
#
#
#
#
#rr{rmrnro)rrprJrHrqr.rr)rrpr{s   rtest_choice_with_numpyz#TestBasicOps.test_choice_with_numpyrs	#	#	#	#	#	#	#	#


z
*
*		F22b66NNN															B4))2...

ffRRR\\**RH55555sAA"Ac~d}t|}t|dzD]}|j||}|t	||t|}|t	||||t|k||jgdg|t|jj||dz|t|jjgddS)Ndr=rr>)	rrsampler.rbrcrdrH
ValueError)rr/
populationksuniqs      rtest_samplezTestBasicOps.test_samples
1XX
qs	5	5A
A..ASVVQ'''q66DSYY***OODC
OO34444Q//444*dhoz1Q3GGG*dhor2>>>>>rc
dd}t|}d}t|D]}t|t||z
z}i}t|D]B}d|t|j||<t||krnC|dS)N')rr	rGrrrbfail)rrpoptrialsrexpectedpermsrs        rtest_sample_distributionz%TestBasicOps.test_sample_distributions
Ahhq		A ||y1~~5HE6]]

8<eDHOOC33445u::))E*				rcF|jtdd|jtdd|jtdd|jt	dddS)NrDabcdefghijklmnopqrst)rrrstrrGr7s rtest_sample_inputszTestBasicOps.test_sample_inputss~b		1%%%b		1%%%233Q777455q99999rc|t|jjtdddS)NabcdefrD)rHrIrrrKfromkeysr7s rtest_sample_on_dictsz!TestBasicOps.test_sample_on_dictss2)TX_dmmH6M6MqQQQQQrc|t5hd}|j|dddddS#1swxYwYdS)N>r]r(rm<Frr)rHrIrr)rrs  rtest_sample_on_setsz TestBasicOps.test_sample_on_setss


y
)
)	-	-555JHOOJ!O,,,	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-s!A		A
A
c*Gddtjtj}|gd}tj5tjdt|j|dddddS#1swxYwYdS)Nc eZdZdZdZdZdS)3TestBasicOps.test_sample_on_seqsets.<locals>.SeqSetc||_dSrS_items)ritemss  r__init__z<TestBasicOps.test_sample_on_seqsets.<locals>.SeqSet.__init__s
#rc*t|jSrS)rbrr7s r__len__z;TestBasicOps.test_sample_on_seqsets.<locals>.SeqSet.__len__s4;'''rc|j|SrSr)rindexs  r__getitem__z?TestBasicOps.test_sample_on_seqsets.<locals>.SeqSet.__getitem__s{5))rN)r9r:r;rrrrrrSeqSetrsA
$
$
$
(
(
(
*
*
*
*
*rr)rDrEr=rBerrorrDr)	rSequenceSetwarningscatch_warningssimplefilterDeprecationWarningrr)rrrs   rtest_sample_on_seqsetsz#TestBasicOps.test_sample_on_seqsetss	*	*	*	*	*S\37	*	*	*VLLL))


$
&
&	-	-!'+=>>>HOOJ!O,,,	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-s7BBBc|jj}gd}gd}d}t||||}|t	||t
||D]!\}}||||"|d|t	|}t||||}|t	||t
||D]!\}}||||"|d|t|dgdgd}||td	t|}t||dg|zd|z}||td|z|
t5|gd
dddddn#1swxYwY|
t5|gd
gdddddn#1swxYwY|
t5|gd
gd
ddddn#1swxYwY|
t5|ddgddgddddn#1swxYwY|
t5|gd
ddgddddn#1swxYwY|
t5|gd
gddddddS#1swxYwYdS)N)redgreenblueorangeblackbrownamber)rr]rrr=countsrrxr])r)rrr)iirD)rrrrrr=)r=rDrBrE)
rrr
r.sumvaluesraassertLessEqualassertNotInrbrHrIr)	rrcolorsrrsummarycolorweightncs	         rtest_sample_with_countsz$TestBasicOps.test_sample_with_countssONNNNN&&!<<<==W^^--..222 00	9	9ME6  8888'***
KK&&!<<<==W^^--..222 00	9	9ME6  8888'***&&#tq999::'A,,,///[[&&R2b5AAABB'"V)"4"4555

y
)
)	>	>F+++B"====	>	>	>	>	>	>	>	>	>	>	>	>	>	>	>


z
*
*	G	GF+++LLLAFFFF	G	G	G	G	G	G	G	G	G	G	G	G	G	G	G


z
*
*	D	DF+++IIICCCC	D	D	D	D	D	D	D	D	D	D	D	D	D	D	D


z
*
*	<	<FE7#RH;;;;	<	<	<	<	<	<	<	<	<	<	<	<	<	<	<


z
*
*	A	AF+++QFa@@@@	A	A	A	A	A	A	A	A	A	A	A	A	A	A	A


z
*
*	G	GF+++LLLAFFFF	G	G	G	G	G	G	G	G	G	G	G	G	G	G	G	G	G	GslH%%H),H)
I))I-0I-J--J14J1K11K58K5L55L9<L9M::M>M>c
|jj}gd}d}td}ttd}||d||tdd|d|td|d|tdfD]}|t|d|t
|t|t|t|k|	t5|ddddn#1swxYwY|||d	g|||d
g|	t5||ddddn#1swxYwY|t||dt|k|t||dt|k|	t5||ddddn#1swxYwY|t||ddt|k|t||ddt|k|	t5||d
dgddddn#1swxYwY|	t5||dddddn#1swxYwY|	t5||dgdzddddn#1swxYwYgdgdtd
dtddtddtddggdfD]A}|t|||dt|kB|	t5||d
dgddddn#1swxYwY|	t5||dddddn#1swxYwY|	t5||dgdzddddn#1swxYwY|	t5||tdtdddddn#1swxYwYgdgdtd
dtddtddtddgfD]A}|t|||dt|kB||dgddg||dgddg||dgddg||dgddg|	t5|gd
dddn#1swxYwY|	t5|ggd
dddn#1swxYwY|	t5|ggdddddS#1swxYwYdS)N)rrryellowabcdrErr)rrweights)rrcum_weightsrDrr>g@)rrr=r])r]rnr)g333333.@gffffff$@g3333339@gL>@rB)TFTFrr)r=rrrrA)rr=rrb)rrr=rc)rrrr=d)rchoicesrrcr.rbrLrJrdrHrIrrrq)rrdatastr_data
range_dataset_datarrs        rtest_choiceszTestBasicOps.test_choicess
("1111XX
uQxx==
GDAGD%((a(((GaD%((;;;GaDeAhh???	
	6	6F
S[[!,,,T&\\4000OOCKK3t9945555

y
)
)		GAJJJ																
+++R000,,,b111


y
)
)	!	!GDC    	!	!	!	!	!	!	!	!	!	!	!	!	!	!	!	
GGH22233s8}}DEEEGGJ!44455ZHIII


y
)
)	#	#GH""""	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	
GGD$!44455TBCCCGGD$!<<<==TJKKK


z
*
*	&	&GD1Q%1%%%%	&	&	&	&	&	&	&	&	&	&	&	&	&	&	&


y
)
)	#	#GD"""""	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#


y
)
)	)	)GD4&(a((((	)	)	)	)	)	)	)	)	)	)	)	)	)	)	)!  (((!Q!Q!Q!QP***	
	K	KG
OOCg ; ; ;<<D		IJJJJ


z
*
*	2	2GDqeq1111	2	2	2	2	2	2	2	2	2	2	2	2	2	2	2


y
)
)	/	/GDbA....	/	/	/	/	/	/	/	/	/	/	/	/	/	/	/


y
)
)	5	5GDtfQh!4444	5	5	5	5	5	5	5	5	5	5	5	5	5	5	5


y
)
)	?	?GD%((aA>>>>	?	?	?	?	?	?	?	?	?	?	?	?	?	?	?!  (((!Q!Q!Q!QP
	W	WG

OOC'Q G G GHHCPTIIUVVVV	
66>>>66>>>66>>>66>>>

z
*
*		GB!															


z
*
*	)	)GBa((((	)	)	)	)	)	)	)	)	)	)	)	)	)	)	)


z
*
*	-	-GBB!,,,,	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-s5E

EE4GGG/J		J
J
,M		M
M
.N		N
N
.O

OO<RR R>SS S>TT!$T!*U88U<?U<0[

[[/\

\\/]]]cB|jj}|ddgddgddS)Nr=rDg)rrr)rr)rrs  rtest_choices_subnormalz#TestBasicOps.test_choices_subnormal9s4
("Aq6FF+;tDDDDDDrc|t5|jdddgddddS#1swxYwYdS)NABrHrrrr7s r"test_choices_with_all_zero_weightsz/TestBasicOps.test_choices_with_all_zero_weightsAs


z
*
*	/	/HTC:...	/	/	/	/	/	/	/	/	/	/	/	/	/	/	/	/	/	/AA

A
c|t5|jdgdddddS#1swxYwYdS)NABC)rBr=rr7s rtest_choices_negative_totalz(TestBasicOps.test_choices_negative_totalFs


z
*
*	0	0HUJJJ///	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0rc|t5|jdt	dgdddn#1swxYwY|t5|jddt	dgdddn#1swxYwY|t5|jdt	ddgdddn#1swxYwY|t5|jddt	dgdddn#1swxYwY|t5|jdt	dt	dgddddS#1swxYwYdS)NAinfrr{nanz-inf)rHrrrfloatr7s rtest_choices_infinite_totalz(TestBasicOps.test_choices_infinite_totalJs


z
*
*	2	2HS5<<.111	2	2	2	2	2	2	2	2	2	2	2	2	2	2	2


z
*
*	8	8HTCu#6777	8	8	8	8	8	8	8	8	8	8	8	8	8	8	8


z
*
*	9	9HTU5\\M3#7888	9	9	9	9	9	9	9	9	9	9	9	9	9	9	9


z
*
*	8	8HTCu#6777	8	8	8	8	8	8	8	8	8	8	8	8	8	8	8


z
*
*	B	BHTE&MM5<<#@AAA	B	B	B	B	B	B	B	B	B	B	B	B	B	B	B	B	B	BsY*AAA6+B--B14B1,D

DD/+E&&E*-E*8GGGcdD]}|j||j}|jdd}|j||j}|jdd}||||||dS)N)r=rii90i@i	rr=)rr#rgaussr.)rr#x1y1x2y2s      r
test_gausszTestBasicOps.test_gaussVs
<
	%
	%DHMM$""B1%%BHMM$""B1%%BR$$$R$$$$
	%
	%rctddD]@}|d|j|cxkod|zkncA||jdd|jj}dD]d}d|zdz
}d}d}tdD]}||}||z}|||zz}||||||e|t|jj|t|jjdd|t|jjd|t|jjddS)	Nr=r,rrD)r=rDrBrE r456wr~r>g333333$@)rrdrgetrandbitsr.rHrIr)	rrgetbitsspanall_bitscumcpl_cumrvs	         rtest_getrandbitszTestBasicOps.test_getrandbitsgsq$	A	AAOOA!5!5a!8!8????1a4????@@@@--a00!444(&L		0		0D$wqyHCG3ZZ
(
(GDMMq8a<'S(+++Wh////	
)TX%9:::)TX%91a@@@*dh&:B???)TX%94@@@@@rc<ttjdzD]|}tjj|}fdtdD}tj|fdtdD}||}dS)Nr=cBg|]}jSrrrs  rrz.TestBasicOps.test_pickling.<locals>.<listcomp>s%<<<Qtx((<<<rr]c8g|]}Srr)rrnewgens  rrz.TestBasicOps.test_pickling.<locals>.<listcomp>s!>>>q6==??>>>r)rpickleHIGHEST_PROTOCOLdumpsrloadsr.)rprotor0origseqrestoredseqrs`    @r
test_picklingzTestBasicOps.test_picklings62Q677	3	3EL511E<<<<%))<<<G\%((F>>>>E"II>>>KWk2222	3	3rc*gd}|D]\}}ttj|d5}tj|}dddn#1swxYwY|t
|dz|dS)N))z
randv2_32.pcki)z
randv2_64.pckib)z
randv3.pckiWrbr,)openr
findfilerloadr.intr)rfilesfilevaluefrs      rtest_bug_1727780zTestBasicOps.test_bug_1727780s&&&!	:	:KD%g&t,,T22
#aKNN
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#SD1159999	:	:sAA	A	cd}|jjtfdt|D}|d||zcxkodknc||zdS)Nic3<K|]}ddzdkVdS)lrBrDNr)rr	randranges  r	<genexpr>z-TestBasicOps.test_bug_9025.<locals>.<genexpr>s8GG		*++a/14GGGGGGr333333?gGz?)rr*rrrd)rrrr*s   @r
test_bug_9025zTestBasicOps.test_bug_9025sz
H&	GGGGeAhhGGGGGqs((((S((((1Q300000rctddD]g}|j|}|t	|t
|t
||h||jdd|t|jj|t|jjdd|t|jjd|t|jjddS)Nr=r]rrrDr>?)
rr	randbytesr.rLbytesrbrHrIr)rrrs   rtest_randbyteszTestBasicOps.test_randbytessq"	+	+A8%%a((DT$ZZ///SYY****++A..444	
)TX%7888)TX%7A>>>*dh&8"===)TX%7=====rc||jt||jtdSrS)assertIsInstancer
normalvariaterrr7s rtest_mu_sigma_default_argsz'TestBasicOps.test_mu_sigma_default_argssNdh4466>>>dhnn..66666rN)"r9r:r;r r*r2rNrQunittestmockpatchrWrkrsr|rrrrrrrrrrrrrrrr'r-r2r6rrrrrs
555,,,666999$000
]*++,+999B222
6
6
6???  :::RRR---
--- *G*G*GXK-K-K-ZEEE///
000
B
B
B%%%"AAA2333
:
:
:111
>
>
>77777rrTFz!random.SystemRandom not availableceZdZejZdZdZdZdZ	dZ
dZdZdZ
d	Zd
ZdZdZd
ZeefdZdS)SystemRandom_TestBasicOpsc8|jdSrSrr#r7s rr*z'SystemRandom_TestBasicOps.test_autoseeds

rc|t|jj|t|jjddSrS)rHrTrr$r-r7s rr2z*SystemRandom_TestBasicOps.test_saverestoresB-tx/@AAA-tx/@$GGGGGrc:|jddSNr~r=r7s rrNz'SystemRandom_TestBasicOps.test_seedargss

crcd|j_|jd||jjddSr@)r
gauss_nextr#r.r7s rrz$SystemRandom_TestBasicOps.test_gausssA"

c,d33333rcttjdzD].}|ttj|j|/dS)Nr=)rrrrHrTrr)rrs  rrz'SystemRandom_TestBasicOps.test_picklingsQ62Q677	R	RE16<5QQQQ	R	Rrcd}d}tdD].}|t|j|zz}/|||dz
dSNlrr~r=rr!rrr.rr	rrs    rtest_53_bits_per_floatz0SystemRandom_TestBasicOps.test_53_bits_per_floatfs	1	1A3tx((4/000CCd1f%%%%%rcddz}d}tdD]D}|j|}|d|cxko|knc||z}E|||dz
dSNrDrrr~r=rrr*rdr.rr	rrr&s     rtest_bigrandz&SystemRandom_TestBasicOps.test_bigrandCxs		A""4((AOOAMMMMTMMMM***1HCCd1f%%%%%rcdD]}|jd|dz
z}|jd|z}||krF|||j||cxko|kncdSN)	rPriwii&rDrr*rdrrstartstops    rtest_bigrand_rangesz-SystemRandom_TestBasicOps.test_bigrand_ranges;	M	MAH&&qQqSz22E8%%a1f--Du}}OOETX%7%7t%D%DKKKKtKKKKLLLL	M	Mrc
dD]^\tttfdtdD_dS)N)r)ll)llcFg|]}jSrrr*rrrrXrYs  rrz>SystemRandom_TestBasicOps.test_rangelimits.<locals>.<listcomp>+HHHTX''d33HHHrr~r.rcrrrXrYs`@@rtest_rangelimitsz*SystemRandom_TestBasicOps.test_rangelimitsK	K	KKE4SuT!2!233HHHHHHU3ZZHHHII
K
K
K
K	K	Krc|jddd}||d|jddd}||ddS)Nrr]rD)rrDrErr)rr*rrr.)rrints  rtest_randrange_nonunit_stepz5SystemRandom_TestBasicOps.test_randrange_nonunit_stepsdx!!!R++

dO,,,x!!!Q**q!!!!!rc
:t|jt|jj}|dd|d|ddd|t|d|t|jjd|t|jjtdd|t|d	|t|dd
|t|jjdd|t|jjdtdd|t|dd
|ddd|t|ddd|t|ddd|t|ddd|t|jjddd|t|jjddtdd|t|ddd	|t|jjddd|t|ddddS)NrBi/rr~in!	@@r=3	@@rD2*rr/)rrHrrr*assertWarnsrr)rraisess  rtest_randrange_errorsz/SystemRandom_TestBasicOps.test_randrange_errorss[*J8JKKq!tq#s+VW===+TX-?EEE+TX-?!QPPP+VS999+VQ@@@+TX-?CHHH+TX-?HQPQNNSSS+VQ<<<q"a+VQC@@@+VQ3???+VQGDDD+TX-?BLLL+TX-?BQRTUWWW+VQC@@@+TX-?BLLL+VQ3?????rc|jj}|t5|ddddddn#1swxYwY|t5|ddddddn#1swxYwY|t5|ddddddn#1swxYwY|t5|ddddddn#1swxYwY|t5|t
5|ddddn#1swxYwYdddn#1swxYwY|t5|t
5|dd	dddn#1swxYwYdddn#1swxYwY|t5|t
5|ddd
dddn#1swxYwYddddS#1swxYwYdS)N$@rrDr]g4@r/rog%@g4@?)rr*rrrrHrrr*s  r test_randrange_argument_handlingz:SystemRandom_TestBasicOps.test_randrange_argument_handlingsH&	


0
1
1	#	#IdB"""	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#


0
1
1	#	#Ib$"""	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#


0
1
1	#	#Ib"c"""	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#


0
1
1	#	#Ib"c"""	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#


0
1
1	 	 "":..
 
 	$
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 

0
1
1	$	$"":..
$
$	"d###
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$	$	$	$	$	$	$	$	$	$	$	$	$	$	$	$

0
1
1	'	'"":..
'
'	"b#&&&
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'	'	'	'	'	'	'	'	'	'	'	'	'	'	'	'	'	'	'sAAA&BBB%B??CC$C>>DD#E->E
E-E	E-E	E--E14E1G-
G:GG
	
G
G
	GG!$G!IH7+I7H;	;I>H;	?IIIc|jj}|t5|dddddn#1swxYwY|t5|dddddddS#1swxYwYdS)Nr,r~)step)rr*rHrIrxs  rtest_randrange_stepz-SystemRandom_TestBasicOps.test_randrange_step$sH&	


y
)
)	&	&Id%%%%	&	&	&	&	&	&	&	&	&	&	&	&	&	&	&


y
)
)	,	,IdDs++++	,	,	,	,	,	,	,	,	,	,	,	,	,	,	,	,	,	,s#AAA&BB	BcjtddD] }d|z}|dz}|d||dz}|||||d|dz
z||dz
z
}|d||dz}||||dzg|d|z|cxkod|dz
zknc||dz	z}|d||dz}||||d|z|cxkod|dz
zknc"dSNr=r,grZ|
?rDrrr.rrrdr_logr!rrnumbitsrs       rtest_randbelow_logicz.SystemRandom_TestBasicOps.test_randbelow_logic,q$	1	1AQAcGGdd1ajj())AQ(((QAaC)))
QJAGdd1ajj())AMM!gwqy1222OOAqD1////q1Q3x////000
bLAGdd1ajj())AQ(((OOAqD1////q1Q3x////0000	1	1rN)r9r:r;rSystemRandomrr*r2rNrrrHrNrZrerirtryr|rr!rrrrr;r;s
&


CHHH444
RRR&&&	&	&	&MMMKKK
"""@@@4'''(,,,),111111rr;cbeZdZejjdZejjdZdS)TestRawMersenneTwistercddl}ttjdzD]=}|}|ttj||>dS)Nrr=)_randomrrrRandomrHrIr)rrrr&s    rtest_bug_41052z%TestRawMersenneTwister.test_bug_41052Csh	62Q677	A	AE  Aiq%@@@@	A	Arcddl}|}|d|d}|||dS)Nr_)rrr#r.r)rrr1r2s    rtest_bug_42008z%TestRawMersenneTwister.test_bug_42008Ksk	
^^



^^G
$
$biikk22222rN)r9r:r;testr
cpython_onlyrrrrrrrBsW	\AAA
\33333rrceZdZejZdZdZdZdZ	dZ
dZdZdZ
d	Zd
ZdZdZd
ZfdZdZeefdZdZdZdZfdZdZdZxZS)MersenneTwister_TestBasicOpsc<jddfdtdDgdjddfd	tdDgd
dS)Ni4r=versioncfg|]-}j.Srrrhexrs  rrzGMersenneTwister_TestBasicOps.test_guaranteed_stable.<locals>.<listcomp>[1DDDa$(//++//11DDDrrE)z0x1.ac362300d90d2p-1z0x1.9d16f74365005p-1z0x1.1ebb4352e4c4dp-1z0x1.1a7422abf9c11p-1zthe quick brown foxrDcfg|]-}j.Srrrs  rrzGMersenneTwister_TestBasicOps.test_guaranteed_stable.<locals>.<listcomp>_rr)z0x1.1239ddfb11b7cp-3z0x1.b3cbb5c51b120p-4z0x1.8c4f55116b60fp-1z0x1.63eb525174a27p-1rr#r.rr7s`rtest_guaranteed_stablez3MersenneTwister_TestBasicOps.test_guaranteed_stableXs

gq
)))DDDD588DDD
=
=
=	>	>	>	


+Q
777DDDD588DDD
=
=
=	>	>	>	>	>rcjddfdtdDgdjddfdtdDgd	jd
dfdtdDgddS)
Nnofarr=rcfg|]-}j.Srrrs  rrz?MersenneTwister_TestBasicOps.test_bug_27706.<locals>.<listcomp>grrrEz0x1.8645314505ad7p-1z0x1.afb1f82e40a40p-5z0x1.2a59d2285e971p-1z0x1.56977142a7880p-6rachelcfg|]-}j.Srrrs  rrz?MersenneTwister_TestBasicOps.test_bug_27706.<locals>.<listcomp>lrrz0x1.0b294cc856fcdp-1z0x1.2ad22d79e77b8p-3z0x1.3052b9c072678p-2z0x1.578f332106574p-3cfg|]-}j.Srrrs  rrz?MersenneTwister_TestBasicOps.test_bug_27706.<locals>.<listcomp>qrrz0x1.b0580f98a7dbep-1z0x1.84129978f9c1ap-1z0x1.aeaa51052e978p-2z0x1.092178fb945a6p-2rr7s`rtest_bug_27706z+MersenneTwister_TestBasicOps.test_bug_27706cs'	


gq
)))DDDD588DDD
=
=
=	>	>	>	


h
***DDDD588DDD
=
=
=	>	>	>	


b!
$$$DDDD588DDD
=
=
=	>	>	>	>	>rcGddt}	|j|dS#t$rYdSwxYw)NceZdZdZdS);MersenneTwister_TestBasicOps.test_bug_31478.<locals>.BadIntcdSrSrr7s r__abs__zCMersenneTwister_TestBasicOps.test_bug_31478.<locals>.BadInt.__abs__ystrN)r9r:r;rrrrBadIntrxs#




rr)r!rr#rI)rrs  rtest_bug_31478z+MersenneTwister_TestBasicOps.test_bug_31478uss					S				HMM&&((#####			DD	s"9
AActjddfdtdDgdjddfdtdDgd	jd
dfdtdDgdd
}j|dfdtdDgddS)Nsnofarr=rcfg|]-}j.Srrrs  rrz?MersenneTwister_TestBasicOps.test_bug_31482.<locals>.<listcomp>rrrErsrachelcfg|]-}j.Srrrs  rrz?MersenneTwister_TestBasicOps.test_bug_31482.<locals>.<listcomp>rrrrcfg|]-}j.Srrrs  rrz?MersenneTwister_TestBasicOps.test_bug_31482.<locals>.<listcomp>rrrs	 @`cfg|]-}j.Srrrs  rrz?MersenneTwister_TestBasicOps.test_bug_31482.<locals>.<listcomp>rr)z0x1.52c2fde444d23p-1z0x1.875174f0daea4p-2z0x1.9e9b2c50e5cd2p-1z0x1.fa57768bd321cp-2r)rrs` rtest_bug_31482z+MersenneTwister_TestBasicOps.test_bug_31482s	


h
***DDDD588DDD
=
=
=	>	>	>	


i
+++DDDD588DDD
=
=
=	>	>	>	


c1
%%%DDDD588DDD
=
=
=	>	>	>
4

a
###DDDD588DDD
=
=
=	>	>	>	>	>rcR|t|jjddS)N)r=NN)rHrrr-r7s rtest_setstate_first_argz4MersenneTwister_TestBasicOps.test_setstate_first_args%*dh&7IIIIIrc|j}|t|jjd|t
|jjd|t|jjdddzdf|t|jjdddzdzdf|t
tf5|jdddzd	zdfdddn#1swxYwY|t
tf5|jdddzd
zdfdddn#1swxYwY|jd}|j|||jd||jd}t|}td
|d<d|D}|t|jjd|dfdS)N)rDNN)rDr_NrD)rAq)rip)r=)r)r>r~r=rr>c34K|]}t|VdSrS)r!)rrs  rr+zHMersenneTwister_TestBasicOps.test_setstate_middle_arg.<locals>.<genexpr>s(..AQ......r)rr$rHrIr-r
OverflowErrorrr.rJr)rstart_statebits100state_valuesr0s     rtest_setstate_middle_argz5MersenneTwister_TestBasicOps.test_setstate_middle_argsh'')))TX%6HHH*dh&79KLLL)TX%6F3J8MNNN)TX%6DHVOT8RSSS



M:
;
;	:	:Hq$s(6/48999	:	:	:	:	:	:	:	:	:	:	:	:	:	:	:



M:
;
;	9	9Hq$s(5.$7888	9	9	9	9	9	9	9	9	9	9	9	9	9	9	9(&&s+++&&&--c22G<<<x((**1-L)) <<R.....)TX%6E48HIIIIIs$"$DDD>$E..E25E2cgd}|jd|ddd}t||D]\}}|||ddS)N)
g>FdV?gwR1ۉ?gQ"?g~5?gmb?gYKbX?gH,r̊?gV8?gOֶ?g4Ԗ?#q`&'R)places)rr#r raassertAlmostEqual)rractualrAes     rtest_referenceImplementationz9MersenneTwister_TestBasicOps.test_referenceImplementations	)	)	)	


CDDD&&stt,))	2	2DAq""1Qb"1111	2	2rc	ddlm}gd}|jd|ddd}t||D]2\}}|t||d|3dS)Nr)ldexp)
l#1,ulwbl'lJXluak~[l@"p1ylsV%bX$lE3EJlVblaoekl4)[vrrrr)mathrrr#r rar.r!)rrrrrArs      r$test_strong_reference_implementationzAMersenneTwister_TestBasicOps.test_strong_reference_implementations
		&	&	&	


CDDD&&stt,))	3	3DAqSq"..2222	3	3rcJddzdz
}|j|dS)Nr=i8r=)rr#s  rtest_long_seedz+MersenneTwister_TestBasicOps.test_long_seeds-i A%

drcd}d}tdD].}|t|j|zz}/|||dz
dSrErFrGs    rrHz3MersenneTwister_TestBasicOps.test_53_bits_per_floatrIrcddz}d}tdD]D}|j|}|d|cxko|knc||z}E|||dz
dSrKrLrMs     rrNz)MersenneTwister_TestBasicOps.test_bigrandrOrcdD]}|jd|dz
z}|jd|z}||krF|||j||cxko|kncdSrQrVrWs    rrZz0MersenneTwister_TestBasicOps.test_bigrand_ranges
r[rc
dD]^\tttfdtdD_dS)Nr]cFg|]}jSrr`ras  rrzAMersenneTwister_TestBasicOps.test_rangelimits.<locals>.<listcomp>rbrr~rcrds`@@rrez-MersenneTwister_TestBasicOps.test_rangelimitsrfrct|jd||jdddS)Nr~S!m.vFXO)superrrr#r.r)r	__class__s rrz-MersenneTwister_TestBasicOps.test_getrandbitssf
  """	


g--c226	8	8	8	8	8rc|jd||jddzddS)NrrDcr)rr#r.r*r7s rtest_randrange_uses_getrandbitsz<MersenneTwister_TestBasicOps.test_randrange_uses_getrandbits"sU	


g	
++ArE226	8	8	8	8	8rcjtddD] }d|z}|dz}|d||dz}|||||d|dz
z||dz
z
}|d||dz}||||dzg|d|z|cxkod|dz
zknc||dz	z}|d||dz}||||d|z|cxkod|dz
zknc"dSr~rrs       rrz1MersenneTwister_TestBasicOps.test_randbelow_logic,rrc^dtjz}tj5tjdt
|j|dz|dddn#1swxYwY|jd|d}d}|||zz
|z}tj	j
tjd5}||z||z
g|_
|j||||jdddddS#1swxYwYdS)	Nr=ignore)maxsizeirq{Gz?rrD)rBPFrrrUserWarningr_randbelow_without_getrandbitsr7r8r9rFrrUr.
call_count)rrrepsilonlimitrandom_mocks      r"test_randbelow_without_getrandbitsz?MersenneTwister_TestBasicOps.test_randbelow_without_getrandbitsAsVZ-

$
&
&		!(K888H33	7
4


																
//g/FFF 
GaK(G3
]
 
'
'
x
@
@	8K',w&HK#H33Aw3GGG[3Q777	8	8	8	8	8	8	8	8	8	8	8	8	8	8	8	8	8	8s$:A))A-0A-AD""D&)D&cd}d}d}|j|||}|||cxko|knc|||z|zddS)NlJ)r?i8r)rr*rdr.)rrXrYr{rs     rtest_randrange_bug_1590891z7MersenneTwister_TestBasicOps.test_randrange_bug_1590891cs|%HudD11q))))E))))***!D&$*****rc|jj}d}|jd|jt|d}|jd|jt|dg|zd}||||jd|jt|td|dzd}|||gd}gd}gd	}d
gdzdgdzzd
gdzz}	|jd|j|	d}|jd|j||d}||||jd|j||d}|||dS)Nirrrr=r)RedBlackGreen)rrD)r$&rrrrrDi߉)rrr#rr.)
rrrrArrrrrexpanded_populations
          rtest_choices_algorithmsz4MersenneTwister_TestBasicOps.test_choices_algorithmsks("

gHU1XX//

gHU1XXs1u66A

gHU1XX5AaC==EJJA/..
++"ll$glgY^;wi!mK

gH0E::

gHZE::A

gHZ[EJJArc	td}dj|jdj|jddjdj|dfdtdDj|ddd}dfd	tdD|j|dfd
tdtdD}dfdtdD|j|dfdtdtdD}dfd
tdD|dS)Nrs3f6oerrcDg|]}jdS)rErr0r_rs  rrz?MersenneTwister_TestBasicOps.test_randbytes.<locals>.<listcomp>s)"K"K"KQ48#5#5a#8#8"K"K"KrrErBc3LK|]}jdVdS)r=Nrrs  rr+z>MersenneTwister_TestBasicOps.test_randbytes.<locals>.<genexpr>3!J!JA$("4"4Q"7"7!J!J!J!J!J!Jrc38K|]}|dz|dzVdS)rDrENrrrrs  rr+z>MersenneTwister_TestBasicOps.test_randbytes.<locals>.<genexpr>PBB!"&a!eQUl3BBBBBBrc3LK|]}jdVdS)rDNrrs  rr+z>MersenneTwister_TestBasicOps.test_randbytes.<locals>.<genexpr>rrc38K|]}|dz|dzVdS)r=rENrrs  rr+z>MersenneTwister_TestBasicOps.test_randbytes.<locals>.<genexpr>rrc3LK|]}jdVdS)rBNrrs  rr+z>MersenneTwister_TestBasicOps.test_randbytes.<locals>.<genexpr>rr)	rr2rr#r.r0joinrrb)rr#	expected1	expected2	expected3rrs`    @rr2z+MersenneTwister_TestBasicOps.test_randbytess
   G

d++B//:::	


d++A..444++B//:::	


d"K"K"K"K%(("K"K"KLL!	#	#	#
	


dQTTN	!J!J!J!Jq!J!J!JJJ"	$	$	$	


dHHBBBB&+As8}}a&@&@BBBBB	!J!J!J!Jq!J!J!JJJ"	$	$	$	


dHHBBBB&+As8}}a&@&@BBBBB	!J!J!J!Jq!J!J!JJJ"	$	$	$	$	$rcbd}tj}|j|||t	dD]Z}||j|||dz|d[dS)NlOS	rlittle)	rrrr#rr.r0rto_bytes)rr#gen2rs    rtest_randbytes_getrandbitsz7MersenneTwister_TestBasicOps.test_randbytes_getrandbitss}

d		$q	L	LATX//22!--a!e44==aJJ
L
L
L
L	L	Lrc|jj}|jj}gd}gd}d}|d||||}|ddt||D}|t|t
||||}|||d}	gd	}|dd
||	|d}d
dt|	|D}|dd
||d}|||dS)
N)rrrrrr)rrrr]rr=rrrc<g|]\}}t|D]}|Srr)rrcountrs    rrzOMersenneTwister_TestBasicOps.test_sample_counts_equivalence.<locals>.<listcomp>s0ZZZnueUSX\\ZZEZZZZrr	abcdefghi)	r]r	rrrrErBrDrrc<g|]\}}t|D]}|Srr)rletterrrs    rrzOMersenneTwister_TestBasicOps.test_sample_counts_equivalence.<locals>.<listcomp>s3aaaTYZ_T`T`aaqFaaaar)rrr#rar.rbrr)
rrr#rrrs1expandeds2rs
          rtest_sample_counts_equivalencez;MersenneTwister_TestBasicOps.test_sample_counts_equivalences|x}FFFEEEW



VF6Q
/
/
/W


ZZFF0C0CZZZXF444
VH
"
"
"R   ---W



WWVVC"555
6
677aa#c6:J:JaaabbW



WWVVH+++
,
,R     r)r9r:r;rrrrrrrrrrrrrHrNrZrerrrr!rrrrr2r
r
__classcell__)rs@rrrUs
&-//C	>	>	>>>>$			>>>6JJJJJJ<222>333,&&&	&	&	&MMMKKK
88888888),1111* 8 8 8D+++B&$&$&$&$&$PLLL!!!!!!!rrro?c>|dkr2ttt|zztd|z
zS|dz}||dz
zt|z|zt	dd|zd|dzzd|dzzd	|d
zzd|dzzd
|dzzd|dzzd|dzzg	zS)Nrr/g@g
?g
ö)$@g&Ԏg
ta@rogQfrlg>@~)@g@gA~@g~\>g@giE>g@)rrgammarr)zsqrt2piazs   rrrs3wwC1II~c!e,,	
iB
!C%=3r77"W,tAae$QsU#ae$QsU#qu%!C%(!C%(
5
0
0

rceZdZdZdZdZdZdZdZe	j
ddZe	j
dd	Z
e	j
dd
Ze	j
ddZe	j
dd
ZdS)TestDistributionsctjfdtdDdgdzz}|ddj_dd|ddj_d|ddj_d|ddj_dd|ddj_dd|ddj_	dd|ddj_
dd|ddj_dd|ddj_dd|ddj_dd|ddj_dd|ddj_d	d|ddj_
d
d
|ddj_ddddS)Nc8g|]}Srr)rrgs  rrz5TestDistributions.test_zeroinputs.<locals>.<listcomp>s!+++AQXXZZ+++rrmrrr=r]r/rgi@rlUUUUUU?)rrrruniform
paretovariateexpovariateweibullvariatevonmisesvariater5rlognormvariategammavariatebetavariate
triangular)rrr%s  @rtest_zeroinputsz!TestDistributions.test_zeroinputss9MOO++++r+++seAg5QQQ48QYYq___QQQ48Q__S111QQQ48Q]]3///QQQ48Q--c3777QQQ48Q..sC888QQQ48Q__S#666QQQ48QWWS#...QQQ48Q--c3777QQQ48Q..sC888QQQ48Q^^D#666QQQ48Q^^C555QQQ48Q^^E3777QQQ48Q]]3444QQQ48Q\\#sG<<<<<rctj}dfdtdD}|jdddf|jddd	f|jd
ddf|jdttd
zdzf|jdddf|j	dtdtdtdd
zz
ffD]\}}}}|ddj|_g}tt|D]+}	|
||#t$rY(wxYwdx}	}
|D]}|	|z
}	|
||z
d
zz
}
t|||	z|d
|j|||
dz
z|d
|j|dS)Nrc4g|]}|tzSr)r)rrr/s  rrz2TestDistributions.test_avg_std.<locals>.<listcomp>s#,,,AQuQxxZ,,,rr=)r/rvg@g@)rr/r&gqq?g<ݚ?)rwgUUUUUU?)gGz?rrDrB)rg?g?)r/rlgUUUUUU?g?r)rmsg)rrrr'r/r)r+rr(r*rrrbappendrqrr9)
rr%rvariateargsmu	sigmasqrdyrrrrr/s
            @rtest_avg_stdzTestDistributions.test_avg_stds
MOO,,,,q,,,J6FG2G\Jx8"Ir2q57;&+":<!:uW~~"'..w1B"BD-F	J	J(GT2ytxAHA3q66]]

HHWWd^,,,,!DKB
$
$aq2v!m#AA""2a4A181A1A44'H
#
J
J
J""2qs8Yq181A1A44'H
#
J
J
J
J/	J	Js*D
DDctj}d}|jddf|jddf|jddf|jtdfdf|jdtdfdf|jddf|jd	d
f|jtddfdf|j	ddf|j
tdfd
f|jdtdfdf|jddffD]1\}}}t|D]}|
|||2dS)Nr~)rvrvrv)rvrvrvrrrl)rvr)rrr/)rrv)rrr'r/r)rr+rr,r5r(r*rr.)rr%r/r5r6rrs       r
test_constantzTestDistributions.test_constant s8MOOL$/|T2148u5"S%,,$7=+t,!:s3!U5\\M3#7=+t45<</37!D%,,#7>!;4
(	;	;#GT81XX
;
;  $::::
;	;	;rctj}d}dD]s}dD]n}t|D]\}|||}|d|cxkotjkncd|||]otdS)Nr~)rr"g@g@)rffffff@g@@rzCvonmisesvariate({}, {}) produced a result {} out of range [0, 2*pi])r3)rrrr+rdTWOPIformat)rr%r/r7kapparrs       rtest_von_mises_rangez&TestDistributions.test_von_mises_range4s
MOO$	O	OB(
O
OqOOA..r599FOOV3333v|333334:F2uf4M4M$OOOOO
O	O	OrcZtjddtjdddS)Nrg4&kCg}Ô%IT)rr+r7s rtest_von_mises_large_kappaz,TestDistributions.test_von_mises_large_kappaBs.q$'''q%(((((rc>|ttjdd|ttjdd|ttjdd|ttjdddS)Nr>rBrrDr=r)rHrrr-r7s rtest_gammavariate_errorsz*TestDistributions.test_gammavariate_errorsGs|*f&92qAAA*f&91a@@@*f&91a@@@*f&91bAAAAArzrandom.Random.randomcngd|_tjdd}||ddS)N):0yE>rr,g?r>g=
ףp=@rUrr-rrrreturned_values   r#test_gammavariate_alpha_greater_onez5TestDistributions.test_gammavariate_alpha_greater_oneRs@#3"2"2,S#66~t44444rcldg|_tjdd}||ddS)Ng?r/r@g/qr	?rIrJs   r!test_gammavariate_alpha_equal_onez3TestDistributions.test_gammavariate_alpha_equal_one]s=$(&,S$77~/@AAAAArcd}ddg|_tjd|}tjd|z}|||dS)Nr@rHr/)rUrr-r)r)rrbetagammavariate_returned_valueexpovariate_returned_values     r4test_gammavariate_alpha_equal_one_equals_expovariatezFTestDistributions.test_gammavariate_alpha_equal_one_equals_expovariatehs[
#',&,&9#t&D&D#%+%7d
%C%C":<VWWWWWrc^tj}tj}tj}d}d}||z|z}d}d}	d}
|	|
|z|	|
g|_tj||}||dd}	d}
|	|
|z|	|
g|_tj||}||d	dS)
Ngffffff?g333333?rgX Y?g=,6V?g.3333?gl%t?gK,	9?g7SvT?)r_e_exprrUr-r)rrrUrVralpharPrrrrrKs            r,test_gammavariate_alpha_between_zero_and_onez>TestDistributions.test_gammavariate_alpha_between_zero_and_onessFY{{
%ZO


$&rG|R"<,UD99~/ABBB

$&rG|R"<,UD99~/ABBBBBrzrandom.Random.gammavariatecfd|_|dtjdddS)Nrrnrk)return_valuer.rr.)rgammavariate_mocks  rtest_betavariate_return_zeroz.TestDistributions.test_betavariate_return_zeros6*-&f0'BBCCCCCrN)r9r:r;r0r:r<rBrDrFr7r8r9rLrNrSrXr\rrrr"r"sk===&JJJ@;;;(OOO)))
BBB]/0055105]/00BB10B]/00XX10X]/00CCCC10CCJ]566DD76DDDrr"ceZdZdZdZdS)TestRandomSubclassingcNGddtj}|ddS)NceZdZddZdS)HTestRandomSubclassing.test_random_subclass_with_kwargs.<locals>.SubclassNcDtj|dSrS)rrr)rnewargs  rrzQTestRandomSubclassing.test_random_subclass_with_kwargs.<locals>.Subclass.__init__s
&&t,,,,,rrS)r9r:r;rrrrSubclassras(
-
-
-
-
-
-rrdr=)rc)rr)rrds  r test_random_subclass_with_kwargsz6TestRandomSubclassing.test_random_subclass_with_kwargssI	-	-	-	-	-v}	-	-	-	rcGfddtj}t|d|dhGfddtj}t|d|dhGfdd	|}t|d|d
hGfdd|}t|d|d
hGfdd}Gfdd}Gdd|tj}t|d|dhGdd|tj}t|d|dhGdd||tj}	t|	d|dhGdd||tj}
t|
d|dhdS)Nc$eZdZfdZfdZdS)KTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass1cldtj|S)NzSubClass1.randomaddrrrcalleds rrzRTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass1.random,

-...}++D111rcndtj||S)NSubClass1.getrandbitsrkrrrrrrms  rrzWTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass1.getrandbits.

2333}00q999rN)r9r:r;rrrmsr	SubClass1rhsG
2
2
2
2
2
:
:
:
:
:
:
:rrurqrpceZdZfdZdS)KTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass2cldtj|S)NSubClass2.randomrjrls rrzRTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass2.randomrnrNr9r:r;rrtsr	SubClass2rw.
2
2
2
2
2
2
2rr{ryceZdZfdZdS)KTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass3cndtj||S)NSubClass3.getrandbitsrqrrs  rrzWTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass3.getrandbitsrsrNr9r:r;rrtsr	SubClass3r~.
:
:
:
:
:
:
:rrrceZdZfdZdS)KTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass4cldtj|S)NSubClass4.randomrjrls rrzRTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass4.randomrnrNrzrtsr	SubClass4rr|rrrceZdZfdZdS)HTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.Mixin1cldtj|S)N
Mixin1.randomrjrls rrzOTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.Mixin1.randoms+

?+++}++D111rNrzrtsrMixin1rr|rrceZdZfdZdS)HTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.Mixin2cndtj||S)NMixin2.getrandbitsrqrrs  rrzTTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.Mixin2.getrandbitss.

/000}00q999rNrrtsrMixin2rrrrceZdZdS)KTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass5Nr9r:r;rrr	SubClass5rDrrrceZdZdS)KTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass6Nrrrr	SubClass6rrrrrceZdZdS)KTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass7Nrrrr	SubClass7rrrrceZdZdS)KTestRandomSubclassing.test_subclasses_overriding_methods.<locals>.SubClass8Nrrrr	SubClass8rrrr)rrrcr*r.)rrur{rrrrrrrrrms           @r"test_subclasses_overriding_methodsz8TestRandomSubclassing.test_subclasses_overriding_methodss	:	:	:	:	:	:	:
	:	:	:	b!!!"9!:;;;	2	2	2	2	2	2	2
	2	2	2	b!!!"4!5666	:	:	:	:	:	:	:		:	:	:	b!!!"9!:;;;	2	2	2	2	2	2	2		2	2	2	b!!!"4!5666	2	2	2	2	2	2	2	2	2	2	:	:	:	:	:	:	:	:	:	:
					
				b!!!/!2333					
				b!!!"6!7888					
				b!!!/!2333					
				b!!!"6!788888rN)r9r:r;rerrrrr^r^s7R9R9R9R9R9rr^c^eZdZdZdZejdZdS)
TestModulec|tjd|tjd|tjd|tjddS)Ng3?r?g.DT!@g9B.?gtY@)rr
NV_MAGICCONSTr?LOG4
SG_MAGICCONSTr7s rtestMagicConstantszTestModule.testMagicConstantssmv35EFFFv|];;;v{,<===v35EFFFFFrc|ttjtt	tkdSrS)rdrcr__all__dirr7s rtest__all__zTestModule.test__all__%s7FN++s3v;;/?/??@@@@@rctj\}}tj}|dkr	tjd}t|d5}|t|dddn#1swxYwYtjddS#tjdwxYwtj	|tjd}t|d5}t|}dddn#1swxYwY|||tj|ddS)Nrrwr&)exitcode)ospipeforkrrrwriter_exitcloseevalreadr'r
wait_process)rr&rpidvalr%	child_vals       rtest_after_forkzTestModule.test_after_fork)swyy1gii!88
(--!S\\&QGGCHH%%%&&&&&&&&&&&&&&&
HQKKK$S))Ca
+ NN	
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Y/// q111111sA$B%#B8B%BB%BB%%B;6"D$$D(+D(N)	r9r:r;rrrr

requires_forkrrrrrrsbGGGAAA
\!!22"!222rr__main__)'r7
unittest.mockrrr%rrtest.supportr	functoolsrrrrrrrr	r
	fractionsrcollectionsrr
rrSystemRandom_availablerT
skipUnlessTestCaser;rrrr"r^rr9mainrrr<module>rs



				



3333333333333333$$$$$$$$]7]7]7]7]7]7]7]7@
"F  """"###"#
+-PQQG1G1G1G1G1h.?G1G1RQG1T33333X.333&B!B!B!B!B!<1BB!B!B!J"fs]$RDRDRDRDRD)RDRDRDjZ9Z9Z9Z9Z9H-Z9Z9Z9z 2 2 2 2 2" 2 2 2FzHMOOOOOs!A==BB