ÿØÿàJFIFÿþ ÿÛC       ÿÛC ÿÀÿÄÿÄ"#QrÿÄÿÄ&1!A"2qQaáÿÚ ?Øy,æ/3JæÝ¹È߲؋5êXw²±ÉyˆR”¾I0ó2—PI¾IÌÚiMö¯–þrìN&"KgX:Šíµ•nTJnLK„…@!‰-ý ùúmë;ºgµŒ&ó±hw’¯Õ@”Ü— 9ñ-ë.²1<yà‚¹ïQÐU„ہ?.’¦èûbß±©Ö«Âw*VŒ) `$‰bØÔŸ’ëXÖ-ËTÜíGÚ3ð«g Ÿ§¯—Jx„–’U/ÂÅv_s(Hÿ@TñJÑãõçn­‚!ÈgfbÓc­:él[ðQe 9ÀPLbÃãCµm[5¿ç'ªjglå‡Ûí_§Úõl-;"PkÞÞÁQâ¼_Ñ^¢SŸx?"¸¦ùY騐ÒOÈ q’`~~ÚtËU¹CڒêV  I1Áß_ÿÙ /Oc@sdZdZddlZejddkrKejddkrKddlTnddlTddlZddlmZd ej fd YZ id Z e d krd Z ejddndS(s7Self-tests for Crypto.Random.Fortuna.FortunaAccumulators$Id$iNiii(t*(tb2a_hextFortunaAccumulatorTestscBs5eZdZdZdZdZdZRS(cCsddlmadS(Ni(tFortunaAccumulator(tCrypto.Random.FortunaR(tself((si/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/Random/Fortuna/test_FortunaAccumulator.pytsetUp&scCs&tj}|jd|j|jd|j|jtd|jd|j|jd|j|jtd|jd|j|jtdt|j|j |jd|j|jtd d|jd|j|jtd t|jd S(sFortunaAccumulator.FortunaPoolit@5df6e0e2761359d30a8275058e299fcc0381534545f55cf43e41983f5d4c9456tabcit@4f8b42c22dd3729b519ba6f68d2da7cc5b2d606d05daed5ad5128cc03e6c6358t5dbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopqi8t@0cffe17f68954dac3a84fb1458bd5ec99209449749b2b308b7cb55812f9563aftai it@80d1189477563e1b5206b2749f1afe4807e5705e8bd77887a60187a712156688Ni@Bi@B( Rt FortunaPoolt assertEqualtlengtht hexdigesttappendtbRtdigesttreset(Rtpool((si/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/Random/Fortuna/test_FortunaAccumulator.pyttest_FortunaPool*s " cCs|jttjd|jtjddg|jtjdddg|jtjddg|jtjddddg|jtjddg|jtjdddg|jtjddg|jtjd ddddgxtdd D]u}|jtjd |ddg|jtjd |t|d|jtjd |ddgqW|jtjdtd |jtjdtd |jtjdtd |jtjdtd |jtjdtd |jtjdtd |jtjdtd |jtjdtd dS(sFortunaAccumulator.which_poolsiiiiiiiiii lii!i"i#i$i@iNlllll l@ll (t assertRaisestAssertionErrorRt which_poolsRtrange(Rti((si/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/Random/Fortuna/test_FortunaAccumulator.pyttest_which_poolsCs*"%$'(cCstj}|jt|jdxKtdD]=}|jd|tdd|jd |j|j q/W|jt|jdxKtdD]=}|jd|tdd|jd|j|j qW|jd|jdj |jd |j j |jd|j jj|jd}|jtdt||jtd t|j j |jd |j jjd S(s%FortunaAccumulator.FortunaAccumulatorii i*tXit@aef42a5dcbddab67e8efa118e1b47fde5d697f89beb971b99e6e8e5e89fbf064it@b7b86bd9a27d96d7bb4add1b6b10d1572350b1c61253db2f8da233be726dc15ft@f23ad749f33066ff53d307914fbf5b21da9667c7e86ba247655c9490e9d94a7ciNi"i"iD(RRRt random_dataRtadd_random_eventRRtpoolsRRtNonet generatortkeytcountert next_valueR(Rtfatptresult((si/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/Random/Fortuna/test_FortunaAccumulator.pyttest_accumulator^s"  "cCstj}|j|jd|jt|jdxZtdD]L}xCtdD]5}|jd|td|jt|jdqUWqBW|jddtd|jddS( s9FortunaAccumulator.FortunaAccumulator minimum pool lengthi@iii itXXiN( RRt min_pool_sizeRRR"RR#R(RR*RR+((si/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/Random/Fortuna/test_FortunaAccumulator.pyttest_accumulator_pool_lengths (t__name__t __module__RRRR-R0(((si/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/Random/Fortuna/test_FortunaAccumulator.pyR%s     >cCsddlm}|tS(Ni(tlist_test_cases(tCrypto.SelfTest.st_commonR3R(tconfigR3((si/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/Random/Fortuna/test_FortunaAccumulator.pyt get_testsst__main__cCstjtS(N(tunittestt TestSuiteR6(((si/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/Random/Fortuna/test_FortunaAccumulator.pyttt defaultTesttsuite(t__doc__t __revision__tsyst version_infotCrypto.Util.py21compattCrypto.Util.py3compatR8tbinasciiRtTestCaseRR6R1R=tmain(((si/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/Random/Fortuna/test_FortunaAccumulator.pyts &