
    [Ah                         S r  SSKr\R                  " S5      R                  S5        S rg! \\4 a     SSKJrJ	r	  S r
S	 rS
 rS rS rS rS r gf = f)z5
Implementation of the SHAKE-256 algorithm for Ed448
    Nshake256@   c                 N    [         R                  " SU 5      R                  U5      $ )Nr   )hashlibnewdigestmsgoutlens     RC:\Users\julio\Documents\inmobiliaria_backend\env\Lib\site-packages\ecdsa/_sha3.py	shake_256r   
   s    {{:s+226::       )bytes_to_intint_to_bytesc                     [        U SS9$ )Nlittle	byteorder)r   )ss    r   _from_ler      s    A22r   c                 "    X-  U SU-
  -	  -  S-  $ )Nr   l     )xbs     r   _rolr      s    A"q&M*y99r   c                    / SQn/ SQn/ SQn[        SS5       GHc  nS/S-  nS/S-  n[        SS5       H  nXWS-  ==   X   -  ss'   M     [        SS5       H$  nXWS-   S-     [        XWS	-   S-     S	5      -  Xg'   M&     [        SS5       H  nX==   XgS-     -  ss'   M     [        SS5       H  n[        X   X   5      X'   M     XS      n[        S[        U5      S	-
  5       H  nXUS	-         XU   '   M     XUS
   '   [        SSS5       HV  nX   XS	-      XS-      XS-      XS-      X   XS	-      /n[        SS5       H  n	X   XS	-      ) XS-      -  -  XU	-   '   M     MX     U S==   X4   -  ss'   GMf     g )N)r   r   >         $   ,      7         
   +      '   )   -                  =   8      )r   r#   	      r4   r%   r1               r-         r.   r/         r&   r0            r'   )r   i  l          l          i                  l   	             l   	   l   
    l      l           l          l          l          l           i
  l   
       rC   l          rB   l         r   r<   r>   r)   r;   r   r1   r&   )ranger   len)
r   	ROTATIONSPERMUTATIONRCrndcditjs
             r   _sha3_transformrR      s   
	6
4
6 B<CaAaA1b\a%AD  "1a[a%1~QA{^Q(?? !1b\a%  " 1b\AD),/ " a.!A1c+.23$%!a%&8$9a.! 4!"k"o1b!_D!eH!eH!eH!eHD!eH q!A tq5	aAh'?@A!eH % % aDBGODA  r   c           
          [        S[        U5      S-  5       H$  nX==   [        USU-  SU-  S-    5      -  ss'   M&     g )Nr   r/   )rG   rH   r   )r   r   rQ   s      r   _reinterpret_to_words_and_xorrT      s?    q#a&A+&ADHQq1uq1uqy122D 'r   c                 r    [        5       n[        S[        U 5      5       H  nU[        X   SSS9-  nM     U$ )Nr   r/   r   r   )	bytearrayrG   rH   r   )wmprQ   s      r   _reinterpret_to_octetsrY      s8    [q#a&!A,qtQ(;;B "	r   c                 .   SU-  nS/S-  nSn[        U 5      U-  n[        SU5       H"  n[        XPXfU-    5        Xd-  n[        U5        M$     [	        XS 5      n	U	R                  U5        [        U	5      U:  a"  U	R                  S5        [        U	5      U:  a  M"  U	[        U	5      S-
  ==   S-  ss'   [        XY5        [        U5        [	        5       n
[        U
5      U:  a-  U
[        USU 5      -  n
[        U5        [        U
5      U:  a  M-  U
SU $ )z!Semi-generic SHA-3 implementationr/   r   r)   Nr      )rH   rG   rT   rR   rV   appendrY   )r
   r_wo_pe_br_br   idxblocksrO   mouts              r   	_sha3_rawre      s   #gC"HSSq&!A)!Sy-ABJCA "
 c$i 	!fslHHQK !fsl	#a&1*%a+k#hn)!DS'22CA #hn 4Cyr   c                     [        U SSU5      $ )Nr?      )re   r	   s     r   r   r      s    b"f--r   )__doc__r   r   r   r   	TypeError
ValueError_compatr   r   r   r   rR   rT   rY   re   r   r   r   <module>rl      sp   p.KK
""2&; 	: h.33:qh3
6.Oh.s   (- %AA