
    ,hN                         d Z ddlZddlZddlmZ  G d dej
                        Zi fdZedk(  rd Z	 ej                  d	
       yy)z'Self-test suite for Crypto.Random.new()    N)bc                       e Zd Zd Zy)
SimpleTestc           	         ddl m} |j                         }|j                  d      }|j                  d      }| j	                  ||       |j                  d      }| j	                  ||       | j	                  ||       ddlm} |j                  d      }|j                  d      }| j	                  ||       ||kD  r|}|}n|}|}t        dd      D ]  }	|j                  |||	      }|j                  |||	      }| j	                  ||       | j                  ||cxk  xr |k  nc d       | j                  ||cxk  xr |k  nc d       | j                  ||z
  |	z  d       | j                  ||z
  |	z  d        t        d      D ]$  }
| j                  |j                  dd	      d       & | j                  t        |j                  ||       | j                  t        |j                  ||	       | j                  t        |j                  |||	|	       | j                  t        |j                  ||d
       | j                  t        |j                  d
||	       | j                  t        |j                  dd|	       | j                  t        |j                  ||d       |j                  ||      }|j                  ||      }| j	                  ||       | j                  ||cxk  xr |k  nc d       | j                  ||cxk  xr |k  nc d       t        d      D ]$  }
| j                  |j                  dd      d       & | j                  t        |j                  ||       | j                  t        |j                  |||	       | j                  t        |j                  d
|       | j                  t        |j                  dd       t        d      }|j!                  |      }|j!                  |      }| j	                  ||       | j                  ||v d       | j                  ||v d       t        d      D ]%  }
| j                  |j!                  d      dv d       ' | j                  |j!                  g d      dv d       t"        j$                  d   dk(  rG| j                  |j!                  t'        t)        d                  t'        t)        d            v d       | j                  d|j!                  dg             | j                  t*        |j                   g        | j                  t        |j                   d       t        d      }t-        |      }t-        |      }|j/                  |       |j/                  |       | j	                  ||       | j                  t1        |      t1        |             | j                  t1        |      t1        |             t        t1        |            D ]^  }
| j                  ||
   |v d       | j                  ||
   |v d       | j                  ||
   |v d       | j                  ||
   |v d       ` dg}|j/                  |       | j                  |dg       t"        j$                  d   dk(  rlt'        t)        d            }|j/                  |       | j                  t)        d
      |v d       | j                  t        |j.                  t)        d             | j                  t        |j.                  d       | j                  t        |j.                  d       | j                  t        |j.                  d       |j3                  |d      }|j3                  |d      }| j	                  ||       t        d      D ]0  }
| j                  ||
   |v d       | j                  ||
   |v d       2 |j3                  dgd      }| j                  |dg       |j3                  dd      }| j                  |d   dv d       |j3                  dd      }| j                  |d   dv d       |j3                  t        d      d      }| j                  |d   t        d      v d       t"        j$                  d   dk(  r|j3                  t)        d      d      }| j                  |d   t)        d      v d       |j3                  t'        t)        d            d      }| j                  |d   t'        t)        d            v d       | j                  t        |j2                  d       y)zCrypto.Random.new()r   )Random   )random      
   T   12i'  )r   r      r   123i  1211)r   r      N)Cryptor   newreadassertNotEqualget_random_bytesCrypto.Randomr	   getrandbitsrange	randrangeassertEqualassertRaises
ValueError	TypeErrorrandintchoicesysversion_info	bytearrayr   
IndexErrorlistshufflelensample)selfr   randobjxyzr	   startstopstepiseqs               d/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/Crypto/SelfTest/Random/test_random.pyrunTestzSimpleTest.runTest    s    	"**,LLLLAq!##B'Aq!Aq! 	)t$t$Aq!Q3EDED!BK 	4D  tD1A  tD1A1%Ua.$.5Ua.$.5a%i4/3a%i4/3	4 r 	7AV--a2A6	7*f&6&6uE*f&6&6eTJ)V%5%5udD$O)V%5%5udCH)V%5%5sD$G)V%5%5q#tD*f&6&6tQGNN5&NN5&Aq!!+t+T2!+t+T2r 	5AV^^Aa0!4	5*fnndEB)V^^UD$G)V^^S$?)V^^Q<ElMM#MM#Aq!c4(c4(r 	FAV]]73w>E	Fw/7:DAA!#V]]9QuX+>?9QuXCVVX\]FMM1#./*fmmR8)V]]A6 CjIIqqAq!S3q6*S3q6*s3x 	/AAaDCK.AaDCK.CFaK.CFaK.		/
 CqQC A!#!D'"ANN1QsVq[$/i4A)V^^Q7)V^^T:)V^^U; MM#r"MM#r"Aq!r 	/AAaDCK.AaDCK.	/ MM1#q!QC MM'1%1$/MM%#1-MM%(A&1q)40A!#MM!E(A.  15!148MM)AeH"5q9  11U8)<!<dC)V]]A6    N)__name__
__module____qualname__r7    r8   r6   r   r      s    ~7r8   r   c                     t               gS N)r   )configs    r6   	get_testsr@      s    L>r8   __main__c                  <    t        j                  t                     S r>   )unittest	TestSuiter@   r<   r8   r6   <lambda>rE      s    H&&y{3 r8   suite)defaultTest)__doc__r$   rC   Crypto.Util.py3compatr   TestCaser   r@   r9   rF   mainr<   r8   r6   <module>rL      sT   2 . 
  #7"" 7B   z3EHMMg& r8   