§
    Hºi—  ã                   óÖ   — U d dl Z d dlZd dlZd dlZd dlZd dlmZ  G d„ d¦  «        Z e¦   «         Zedz  e	d<   	  ej
        ¦   «         Zn# e$ r dZY nw xY wdefd„Zded	edefd
„ZdS )é    N)ÚAnyc                   óŽ   — e Zd Zddedz  fd„Zdeez  ddfd„Zdeez  ddfd„Zdd„Zde	fd	„Z
de	fd
„Zde	fd„Zde	de	de	fd„ZdS )ÚEntropyPoolNÚseedc                 ób  — d| _         d | _        d| _        t          j        ¦   «         | _        t          j        ¦   «         | _        d| _	        t          d| j	        z  ¦  «        | _        |�6|                      |¦  «         d| _        t          j        ¦   «         | _        d S d| _        d| _        d S )Nr   é   ó    TF)Ú
pool_indexÚdigestÚ	next_byteÚ	threadingÚLockÚlockÚhashlibÚsha1ÚhashÚhash_lenÚ	bytearrayÚpoolÚ_stirÚseededÚosÚgetpidÚseed_pid)Úselfr   s     úP/home/mmwave/public_html/mmwave/venv/lib/python3.11/site-packages/dns/entropy.pyÚ__init__zEntropyPool.__init__    s’   € ØˆŒØ(,ˆŒØˆŒÝ”NÑ$Ô$ˆŒ	Ý”L‘N”NˆŒ	ØˆŒÝ˜e d¤mÑ3Ñ4Ô4ˆŒ	ØÐØ�JŠJ�tÑÔÐØˆDŒKÝœI™KœKˆDŒMˆMˆMàˆDŒKØˆDŒMˆMˆMó    ÚentropyÚreturnc                 óœ   — |D ]H}| j         | j        k    rd| _         |dz  }| j        | j         xx         |z  cc<   | xj         dz  c_         ŒId S )Nr   éÿ   é   )r
   r   r   )r   r   ÚcÚbs       r   r   zEntropyPool._stir0   sl   € Øð 	!ð 	!ˆAØŒ $¤-Ò/Ð/Ø"#�”Ø�D‘ˆAØŒI�d”oÐ&Ð&Ô&¨!Ñ+Ð&Ð&Ñ&ØˆOŒO˜qÑ ˆOŒOˆOð	!ð 	!r   c                 óp   — | j         5  |                      |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S ©N)r   r   )r   r   s     r   ÚstirzEntropyPool.stir8   s€   € ØŒYð 	 ð 	 Ø�JŠJ�wÑÔÐð	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 øøøð 	 ð 	 ð 	 ð 	 ð 	 ð 	 s   ˆ+«/²/c                 ó4  — | j         r| j        t          j        ¦   «         k    rô	 t          j        d¦  «        }n’# t
          $ r… 	 t          ddd¦  «        5 }|                     d¦  «        }d d d ¦  «         n# 1 swxY w Y   nB# t
          $ r5 t          t          j	        ¦   «         ¦  «         
                    ¦   «         }Y nw xY wY nw xY wd| _         t          j        ¦   «         | _        d | _        t          |¦  «        }|                      |¦  «         d S d S )Né   z/dev/urandomÚrbr   T)r   r   r   r   ÚurandomÚ	ExceptionÚopenÚreadÚstrÚtimeÚencoder   r   r   )r   r   Úrs      r   Ú_maybe_seedzEntropyPool._maybe_seed<   sN  € ØŒ{ð 	˜dœm­r¬y©{¬{Ò:Ð:ð5Ý”z "‘~”~��øÝð 5ð 5ð 5ð5Ý˜n¨d°AÑ6Ô6ð *¸!Ø Ÿvšv b™zœz˜ð*ð *ð *ñ *ô *ð *ð *ð *ð *ð *ð *øøøð *ð *ð *ð *øøå ð 5ð 5ð 5Ý�tœy™{œ{Ñ+Ô+×2Ò2Ñ4Ô4�D�D�Dð5øøøøøð	5øøøð ˆDŒKÝœI™KœKˆDŒMØˆDŒKÝ˜T‘?”?ˆDØ�JŠJ�tÑÔÐÐÐð ;Ð:sW   ¥: º
C	ÁBÁA8Á,BÁ8A<	Á<BÁ?A<	Â BÂC	Â<CÃ C	ÃCÃC	ÃC	c                 óÎ  — | j         5  |                      ¦   «          | j        �| j        | j        k    rx| j                             t          | j        ¦  «        ¦  «         t          | j                             ¦   «         ¦  «        | _        |  
                    | j        ¦  «         d| _        | j        | j                 }| xj        dz  c_        d d d ¦  «         n# 1 swxY w Y   |S )Nr   r#   )r   r4   r   r   r   r   ÚupdateÚbytesr   r   r   )r   Úvalues     r   Úrandom_8zEntropyPool.random_8L   s  € ØŒYð 	 ð 	 Ø×ÒÑÔÐØŒ{Ð" d¤n¸¼Ò&EÐ&EØ”	× Ò ¥ t¤yÑ!1Ô!1Ñ2Ô2Ð2Ý'¨¬	×(8Ò(8Ñ(:Ô(:Ñ;Ô;�”Ø—
’
˜4œ;Ñ'Ô'Ð'Ø!"�”Ø”K ¤Ô/ˆEØˆNŒN˜aÑˆNŒNð	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 øøøð 	 ð 	 ð 	 ð 	 ð ˆs   ˆCCÃCÃ!Cc                 óZ   — |                       ¦   «         dz  |                       ¦   «         z   S )Né   )r9   ©r   s    r   Ú	random_16zEntropyPool.random_16X   s"   € Ø�}Š}‰Œ Ñ$ t§}¢}¡¤Ñ6Ð6r   c                 óZ   — |                       ¦   «         dz  |                       ¦   «         z   S )Né   )r=   r<   s    r   Ú	random_32zEntropyPool.random_32[   s&   € Ø�~Š~ÑÔ %Ñ'¨$¯.ª.Ñ*:Ô*:Ñ:Ð:r   ÚfirstÚlastc                 óº   — ||z
  dz   }|dk    rt          d¦  «        ‚|dk    r
| j        }d}n|dk    r
| j        }d}n	| j        }d}|| |¦   «         z  |dz   z  z   S )	Nr#   l        ztoo bigr?   l   ÿÿ r;   iÿÿ  r"   )Ú
ValueErrorr@   r=   r9   )r   rA   rB   ÚsizeÚrandÚmaxs         r   Úrandom_betweenzEntropyPool.random_between^   s�   € Ø�e‰|˜aÑˆØ�*ÒÐÝ˜YÑ'Ô'Ð'Ø�%Š<ˆ<Ø”>ˆDØˆCˆCØ�CŠZˆZØ”>ˆDØˆCˆCà”=ˆDØˆCØ�t˜d˜d™fœf‘}¨¨q©Ñ1Ñ1Ð1r   r'   )r    N)Ú__name__Ú
__module__Ú__qualname__r7   r   r   r   r(   r4   Úintr9   r=   r@   rH   © r   r   r   r      s  € € € € € ðð ˜U T™\ð ð ð ð ð !˜U YÑ.ð !°4ð !ð !ð !ð !ð ˜E IÑ-ð  °$ð  ð  ð  ð  ðð ð ð ð 
˜#ð 
ð 
ð 
ð 
ð7˜3ð 7ð 7ð 7ð 7ð;˜3ð ;ð ;ð ;ð ;ð2 Cð 2¨sð 2°sð 2ð 2ð 2ð 2ð 2ð 2r   r   Úsystem_randomr    c                  óx   — t           �t                                dd¦  «        S t                               ¦   «         S )Nr   r?   )rN   Ú	randranger   r=   rM   r   r   r=   r=   w   s.   € ÝÐ Ý×&Ò& q¨%Ñ0Ô0Ð0å�~Š~ÑÔÐr   rA   rB   c                 ó‚   — t           �t                                | |dz   ¦  «        S t                               | |¦  «        S )Nr#   )rN   rP   r   rH   )rA   rB   s     r   ÚbetweenrR   ~   s8   € ÝÐ Ý×&Ò& u¨d°Q©hÑ7Ô7Ð7å×"Ò" 5¨$Ñ/Ô/Ð/r   )r   r   Úrandomr   r1   Útypingr   r   r   Ú__annotations__ÚSystemRandomrN   r-   rL   r=   rR   rM   r   r   ú<module>rW      s"  ðð$ €€€€Ø 	€	€	€	Ø €€€Ø Ð Ð Ð Ø €€€Ø Ð Ð Ð Ð Ð ðQ2ð Q2ð Q2ð Q2ð Q2ñ Q2ô Q2ð Q2ðh €{�}„}€à�T‰zÐ Ð Ñ ðØ'�FÔ'Ñ)Ô)€M€MøØð ð ð Ø€M€M€Mðøøøð �3ð  ð  ð  ð  ð0�3ð 0˜cð 0 cð 0ð 0ð 0ð 0ð 0ð 0s   ¼A ÁAÁA