+
    ™h©j˜I  ã                   ór	  a € R t€0 t ^ RIt^ RIHt ^ RIHt ^ RIHtH	t	 ^ RIH
t
 ]! ]	P                  4      tRt^ t^ t^ t^ t^ t^ t^ t^ t^ t^ t^ t^ t^ t^ t]'       Ed(   ]P:                  ! ]P<                  ! R]	P>                  ! 4       4      4      R,          t]	P@                  ! 4       t]	PB                  ! 4       t]	PD                  ! 4       t]	PF                  ! 4       t]	PH                  ! 4       t]	PJ                  ! 4       t]	PL                  ! 4       t]	PN                  ! 4       t]	PP                  ! 4       t]	PR                  ! 4       t]	PT                  ! 4       t]	PV                  ! 4       t]	PX                  ! 4       t]	PZ                  ! 4       t]	P\                  ! 4       t/] ^ k ]	P`                  ! 4       t1] ^k ]	Pd                  ! 4       t3] ^k ]	Ph                  ! 4       t5] ^k ]	Pl                  ! 4       t7] ^k ]	Pp                  ! 4       t9] ^k ]	Pt                  ! 4       t;] ^k ]	Px                  ! 4       t=] ^k ]	P|                  ! 4       t?] ^k ]P:                  ! ]P<                  ! R]	P€                  ! 4       4      4      R,          tA] ^	k ]	P„                  ! 4       tC] ^
k ]	Pˆ                  ! 4       tE] ^k ]	PŒ                  ! 4       tG] ^k ]	P�                  ! 4       tI] ^k ]	P”                  ! 4       tK] ^k ]	P˜                  ! 4       tM] ^k ]	Pœ                  ! 4       tO] ^k ]	P                   ! 4       tQ] ^k ]	P¤                  ! 4       tS] ^k ]	P¨                  ! 4       tU] ^k ]P:                  ! ]P<                  ! R]	P¬                  ! 4       4      4      R,          tW] ^k ]	P°                  ! 4       tY] ^k ]	P´                  ! 4       t[] ^k ]	P¸                  ! 4       t]] ^k ]	P¼                  ! 4       t_] ^k ]	PÀ                  ! 4       ta] ^k ]	PÄ                  ! 4       tc] ^k ]	PÈ                  ! 4       te] ^k ]	PÌ                  ! 4       tg] ^k ]	PÐ                  ! 4       ti] ^k ]	PÔ                  ! 4       tk] ^k ]tl]tm]tn]to]tp]tqRtr^?tsRttRtu]u3R R	 lltvR
 R ltw^@]u3R R lltx]l]m3R R lltyR R ltzR R lt{R R lt|R R lt}R R lt~]~tR# )é    N)ÚTuple)ÚffiÚlib)Úensureó    úchar *ºNNNc          
      óL   € V ^8„  d   QhR\         R\         R\         R\         RR/# )é   ÚnÚrÚpÚmaxmemÚreturnN©Úint)Úformats   "ÚV/var/www/html/bestweb/venv/lib/python3.14/site-packages/nacl/bindings/crypto_pwhash.pyÚ__annotate__r   ¿   s4   € ÷ 'ñ 'Ü
ð'Üð'Üð'Ü$'ð'à	ñ'r   c                 ó¸  € \        V^ 8g  R\        P                  R7       \        V^ 8g  R\        P                  R7       \        W ^,
          ,          ^ 8H  R\        P                  R7       \        V ^8„  R\        P                  R7       \        V\        V,          8*  RP	                  \        4      \        P                  R7       \        V ^^V,          ,          8  \        P                  R7       V^€,          V,          p\
        ^€,          p\        V ^,           WQ,          8*  \        P                  R7       ^ V,          V ^,           ,          ^,          p\        V\
        V,
          8*  \        P                  R7       \        V\        P                  V,
          8*  \        P                  R7       \        WF,           V8*  R\        P                  R7       R# )	r   zInvalid block size©ÚraisingzInvalid parallelization factorz Cost factor must be a power of 2zCost factor must be at least 2zp*r is greater than {}z6Memory limit would be exceeded with the chosen n, r, pN)r   ÚexcÚ
ValueErrorÚSCRYPT_PR_MAXr   Ú
UINT64_MAXÚsysÚmaxsize)r   r   r   r   ÚBlenÚiÚVlens   &&&&   r   Ú_check_memory_occupationr"   ¿   sB  € ô ˆ1�‰6Ð'´·±Õ@ä
ˆ1�‰6Ð3¼S¿^¹^ÕLä
Ø	
�!�e�˜ÑØ*Ü—‘õô ˆ1ˆq‰5Ð2¼C¿N¹NÕKä
Ø	Œ]˜QÕÑØ ×'Ñ'¬Ó6Ü—‘õô ˆ1��b˜1•f•Ñ¬¯©Õ7àˆs�7�Q�;€Dä�SÕ€Aä
ˆ1ˆq�5�A•E‰>¤3§>¡>Õ2à��6�Q˜•UÕ˜aÕ€Dä
ˆ4”: Õ$Ñ$¬c¯n©nÕ=ä
ˆ4”3—;‘; Õ%Ñ%¬s¯~©~Õ>ä
Ø��vÑØ@Ü—‘÷r   c          	      óh   € V ^8„  d   QhR\         R\         R\        \         \         \         3,          /# )r   ÚopslimitÚmemlimitr   )r   r   )r   s   "r   r   r   é   s/   € ÷ ñ ÜðÜ ðä
Œ3””Sˆ=Õñr   c                óv  € V R8  d   Rp ^pW^ ,          8  d>   ^pV ^V,          ,          p\        ^^?4       F  p^V,          V^,          8”  g   K   Md	  MaW^€,          ,          p\        ^^?4       F  p^V,          V^,          8”  g   K   M	  V ^,          ^X,          ,          pVR8”  d   RpWb,          pXW#3# )z/Python implementation of libsodium's pickparamsi €  éÿÿÿ?)Úrange)r$   r%   r   r   ÚmaxnÚn_log2Úmaxrps   &&     r   Ú nacl_bindings_pick_scrypt_paramsr,   é   s¹   € ð
 �%ÔØˆà	€Aà˜r•>Ô"ØˆØ˜A �EÕ"ˆÜ˜A˜r–lˆFØ�6•	˜d a�iÖ(Ùò #ð  �GÕ$ˆÜ˜A˜r–lˆFØ�6•	˜T Q�YÖ&Ùñ #ð ˜Q• A v¥IÕ.ˆà�:ÔØˆEà�Jˆà�1ˆ<Ðr   c                óx   € V ^8„  d   QhR\         R\         R\        R\        R\        R\        R\        R\         /# )	r   ÚpasswdÚsaltr   r   r   Údklenr   r   ©Úbytesr   )r   s   "r   r   r   	  sX   € ÷ 99ñ 99Üð99ä
ð99ô ð99ô ð	99ô
 ð99ô ð99ô ð99ô ñ99r   c                ó¾  € \        \        R\        P                  R7       \        \	        V\
        4      \        R7       \        \	        V\
        4      \        R7       \        \	        V\
        4      \        R7       \        \	        V \        4      \        R7       \        \	        V\        4      \        R7       \        W#WF4       \        P                  ! RV4      p\        P                  ! V \        V 4      V\        V4      W#WGV4	      p\        V^ 8H  R\        P                  R7       \        P                  ! \        P                   ! RV4      V4      R,          # )aR  
Derive a cryptographic key using the ``passwd`` and ``salt``
given as input.

The work factor can be tuned by by picking different
values for the parameters

:param bytes passwd:
:param bytes salt:
:param bytes salt: *must* be *exactly* :py:const:`.SALTBYTES` long
:param int dklen:
:param int opslimit:
:param int n:
:param int r: block size,
:param int p: the parallelism factor
:param int maxmem: the maximum available memory available for scrypt's
                   operations
:rtype: bytes
:raises nacl.exceptions.UnavailableError: If called when using a
    minimal build of libsodium.
úNot available in minimal buildr   z	uint8_t[]ú$Unexpected failure in key derivationr   r	   )r   Ú&has_crypto_pwhash_scryptsalsa208sha256r   ÚUnavailableErrorÚ
isinstancer   Ú	TypeErrorr2   r"   r   Únewr   Ú%crypto_pwhash_scryptsalsa208sha256_llÚlenÚRuntimeErrorÚbufferÚcast)	r.   r/   r   r   r   r0   r   ÚbufÚrets	   &&&&&&&  r   r;   r;   	  só   € ô< Ü.Ø(Ü×$Ñ$õô Œ:�aœÓ¤yÕ1Ü
Œ:�aœÓ¤yÕ1Ü
Œ:�aœÓ¤yÕ1ä
Œ:�fœeÓ$¬iÕ8Ü
Œ:�dœEÓ"¬IÕ6ä˜Q 1Ô-ä
�'Š'�+˜uÓ
%€Cä
×
3Ò
3Ø”�F“˜T¤3 t£9¨a°A¸Eó€Cô Øˆq‰Ø.Ü× Ñ õô �:Š:”c—h’h˜x¨Ó-¨uÓ5°aÕ8Ð8r   c                óH   € V ^8„  d   QhR\         R\        R\        R\         /# )r   r.   r$   r%   r   r1   )r   s   "r   r   r   E  s0   € ÷ )ñ )Üð)äð)ô ð)ô ñ	)r   c                ó$  € \        \        R\        P                  R7       \        P
                  ! R\        4      p\        P                  ! W0\        V 4      W4      p\        V^ 8H  R\        P                  R7       \        P                  ! V4      # )aL  
Derive a cryptographic key using the ``passwd`` and ``salt``
given as input, returning a string representation which includes
the salt and the tuning parameters.

The returned string can be directly stored as a password hash.

See :py:func:`.crypto_pwhash_scryptsalsa208sha256` for a short
discussion about ``opslimit`` and ``memlimit`` values.

:param bytes passwd:
:param int opslimit:
:param int memlimit:
:return: serialized key hash, including salt and tuning parameters
:rtype: bytes
:raises nacl.exceptions.UnavailableError: If called when using a
    minimal build of libsodium.
r4   r   úchar[]z&Unexpected failure in password hashing)r   r6   r   r7   r   r:   ÚSCRYPT_STRBYTESr   Ú&crypto_pwhash_scryptsalsa208sha256_strr<   r=   Ústring)r.   r$   r%   r@   rA   s   &&&  r   rF   rF   E  su   € ô. Ü.Ø(Ü×$Ñ$õô �'Š'�(œOÓ
,€Cä
×
4Ò
4Ø”S˜“[ (ó€Cô Øˆq‰Ø0Ü× Ñ õô �:Š:�c‹?Ðr   c                ó<   € V ^8„  d   QhR\         R\         R\        /# ©r   Úpasswd_hashr.   r   ©r2   Úbool)r   s   "r   r   r   q  s$   € ÷ ñ ÜðÜ %ðä	ñr   c                ó*  € \        \        R\        P                  R7       \        \	        V 4      \
        ^,
          8H  R\        P                  R7       \        P                  ! W\	        V4      4      p\        V^ 8H  R\        P                  R7       R# )a  
Verifies the ``passwd`` against the ``passwd_hash`` that was generated.
Returns True or False depending on the success

:param passwd_hash: bytes
:param passwd: bytes
:rtype: boolean
:raises nacl.exceptions.UnavailableError: If called when using a
    minimal build of libsodium.
r4   r   zInvalid password hashúWrong passwordT)
r   r6   r   r7   r<   rE   r   r   Ú-crypto_pwhash_scryptsalsa208sha256_str_verifyÚInvalidkeyError©rJ   r.   rA   s   && r   rO   rO   q  sx   € ô Ü.Ø(Ü×$Ñ$õô ÜˆKÓœO¨aÕ/Ñ/ØÜ—‘õô ×
;Ò
;ØœS ›[ó€Cô ˆ3�!‰8Ð%¬s×/BÑ/BÕCár   c                ó@   € V ^8„  d   QhR\         R\         R\         RR/# )r   r$   r%   Úalgr   Nr   )r   s   "r   r   r   ’  s(   € ÷ 55ñ 55¤sð 55´cð 55Äð 55Èñ 55r   c                 ó¢  € V\         8X  dÓ   V\        8  d*   \        P                  ! R P	                  \        4      4      hV\
        8”  d*   \        P                  ! RP	                  \
        4      4      hV \        8  d*   \        P                  ! RP	                  \        4      4      hV \        8”  d*   \        P                  ! RP	                  \        4      4      hR# V\        8X  dÓ   V\        8  d*   \        P                  ! R P	                  \        4      4      hV\        8”  d*   \        P                  ! RP	                  \        4      4      hV \        8  d*   \        P                  ! RP	                  \        4      4      hV \        8”  d*   \        P                  ! RP	                  \        4      4      hR# \        P                  ! R4      h)z"memlimit must be at least {} bytesz!memlimit must be at most {} byteszopslimit must be at least {}zopslimit must be at most {}zUnsupported algorithmN)Úcrypto_pwhash_ALG_ARGON2I13Ú"crypto_pwhash_argon2i_MEMLIMIT_MINr   r   r   Ú"crypto_pwhash_argon2i_MEMLIMIT_MAXÚ"crypto_pwhash_argon2i_OPSLIMIT_MINÚ"crypto_pwhash_argon2i_OPSLIMIT_MAXÚcrypto_pwhash_ALG_ARGON2ID13Ú#crypto_pwhash_argon2id_MEMLIMIT_MINÚ#crypto_pwhash_argon2id_MEMLIMIT_MAXÚ#crypto_pwhash_argon2id_OPSLIMIT_MINÚ#crypto_pwhash_argon2id_OPSLIMIT_MAXr9   )r$   r%   rS   s   &&&r   Ú_check_argon2_limits_algr_   ’  s–  € Ø
Ô)Ô)ØÔ8Ô8Ü—.’.Ø4×;Ñ;Ü6óóð ð
 Ô:Ô:Ü—.’.Ø3×:Ñ:Ü6óóð ð
 Ô8Ô8Ü—.’.Ø.×5Ñ5Ü6óóð ð
 Ô:Ô:Ü—.’.Ø-×4Ñ4Ü6óóð ñ ;ð 
Ô,Ô	,ØÔ9Ô9Ü—.’.Ø4×;Ñ;Ü7óóð ð
 Ô;Ô;Ü—.’.Ø3×:Ñ:Ü7óóð ð
 Ô9Ô9Ü—.’.Ø.×5Ñ5Ü7óóð ð
 Ô;Ô;Ü—.’.Ø-×4Ñ4Ü7óóð ñ <ô �mŠmÐ3Ó4Ð4r   c                ól   € V ^8„  d   QhR\         R\        R\        R\         R\         R\         R\        /# )r   Úoutlenr.   r/   r$   r%   rS   r   )r   r2   )r   s   "r   r   r   Ê  sW   € ÷ D)ñ D)ÜðD)äðD)ô ðD)ô ð	D)ô
 ðD)ô 
ðD)ô ñD)r   c           
     óê  € \        \        V \        4      \        P                  R7       \        \        V\        4      \        P                  R7       \        \        V\        4      \        P                  R7       \        \        V\        4      \        P                  R7       \        \        V\
        4      \        P                  R7       \        V4      \        8w  d*   \        P                  ! RP                  \        4      4      hV \        8  d*   \        P                  ! RP                  \        4      4      hV \        8”  d*   \        P                  ! RP                  \        4      4      h\        W4V4       \        P                  ! RV 4      p\        P                   ! W`V\        V4      W#WE4      p\        V^ 8H  R\        P"                  R7       \        P$                  ! W`4      R,          # )aÀ  
Derive a raw cryptographic key using the ``passwd`` and the ``salt``
given as input to the ``alg`` algorithm.

:param outlen: the length of the derived key
:type outlen: int
:param passwd: The input password
:type passwd: bytes
:param salt:
:type salt: bytes
:param opslimit: computational cost
:type opslimit: int
:param memlimit: memory cost
:type memlimit: int
:param alg: algorithm identifier
:type alg: int
:return: derived key
:rtype: bytes
r   z"salt must be exactly {} bytes longz*derived key must be at least {} bytes longz)derived key must be at most {} bytes longzunsigned char[]r5   r	   )r   r8   r   r   r9   r2   r<   Úcrypto_pwhash_SALTBYTESr   r   Úcrypto_pwhash_BYTES_MINÚcrypto_pwhash_BYTES_MAXr_   r   r:   r   Úcrypto_pwhashr=   r>   )ra   r.   r/   r$   r%   rS   ÚoutbufrA   s   &&&&&&  r   Úcrypto_pwhash_algrh   Ê  se  € ô6 Œ:�fœcÓ"¬C¯M©MÕ:Ü
Œ:�h¤Ó$¬c¯m©mÕ<Ü
Œ:�h¤Ó$¬c¯m©mÕ<Ü
Œ:�cœ3Ó¬¯©Õ7Ü
Œ:�fœeÓ$¬c¯m©mÕ<ä
ˆ4ƒyÔ+Ô+Ü�nŠnØ0×7Ñ7Ü'óó
ð 	
ð Ô'Ô'Ü�nŠnØ8×?Ñ?Ü'óó
ð 	
ð 
Ô)Ô	)Ü�nŠnØ7×>Ñ>Ü'óó
ð 	
ô ˜X°Ô5ä�WŠWÐ&¨Ó/€Fä
×
Ò
Ø˜¤ F£¨T¸Xó€Cô Øˆq‰Ø.Ü× Ñ õô �:Š:�fÓ% aÕ(Ð(r   c          
      óT   € V ^8„  d   QhR\         R\        R\        R\        R\         /# )r   r.   r$   r%   rS   r   r1   )r   s   "r   r   r     s:   € ÷ (ñ (Üð(äð(ô ð(ô 
ð	(ô
 ñ(r   c                ó°  € \        \        V\        4      \        R7       \        \        V\        4      \        R7       \        \        V \        4      \        R7       \        WV4       \        P                  ! R^€4      p\        P                  ! W@\        V 4      WV4      p\        V^ 8H  R\        P                  R7       \        P                  ! V4      # )aÉ  
Derive a cryptographic key using the ``passwd`` given as input
and a random salt, returning a string representation which
includes the salt, the tuning parameters and the used algorithm.

:param passwd: The input password
:type passwd: bytes
:param opslimit: computational cost
:type opslimit: int
:param memlimit: memory cost
:type memlimit: int
:param alg: The algorithm to use
:type alg: int
:return: serialized derived key and parameters
:rtype: bytes
r   rD   r5   )r   r8   r   r9   r2   r_   r   r:   r   Úcrypto_pwhash_str_algr<   r   r=   rG   )r.   r$   r%   rS   rg   rA   s   &&&&  r   rk   rk     sœ   € ô, Œ:�h¤Ó$¬iÕ8Ü
Œ:�h¤Ó$¬iÕ8Ü
Œ:�fœeÓ$¬iÕ8ä˜X°Ô5ä�WŠW�X˜sÓ#€Fä
×
#Ò
#Øœ˜F› X¸ó€Cô Øˆq‰Ø.Ü× Ñ õô �:Š:�fÓÐr   c                ó<   € V ^8„  d   QhR\         R\         R\        /# rI   rK   )r   s   "r   r   r   <  s!   € ÷ ñ ¬%ð ¼ð Ä4ñ r   c                óP  € \        \        V \        4      \        R7       \        \        V\        4      \        R7       \        \	        V 4      ^8*  R\
        P                  R7       \        P                  ! W\	        V4      4      p\        V^ 8H  R\
        P                  R7       R# )a  
Verifies the ``passwd`` against a given password hash.

Returns True on success, raises InvalidkeyError on failure
:param passwd_hash: saved password hash
:type passwd_hash: bytes
:param passwd: password to be checked
:type passwd: bytes
:return: success
:rtype: boolean
r   z#Hash must be at most 127 bytes longrN   T)
r   r8   r2   r9   r<   r   r   r   Úcrypto_pwhash_str_verifyrP   rQ   s   && r   rn   rn   <  sw   € ô Œ:�k¤5Ó)´9Õ=Ü
Œ:�fœeÓ$¬iÕ8Ü
ÜˆKÓ˜CÑØ-Ü—‘õô ×
&Ò
& {¼CÀ»KÓ
H€Cä
ˆ3�!‰8Ð%¬s×/BÑ/BÕCár   c                óð  € V ^8„  d   Qh/ ^ \         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R	&   ^	\         9   d
   \        ;R
&   ^
\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   # ) r   rU   rZ   Úcrypto_pwhash_ALG_DEFAULTrc   Úcrypto_pwhash_STRBYTESÚcrypto_pwhash_PASSWD_MINÚcrypto_pwhash_PASSWD_MAXrd   re   Úcrypto_pwhash_argon2i_STRPREFIXrV   rW   rX   rY   Ú*crypto_pwhash_argon2i_OPSLIMIT_INTERACTIVEÚ*crypto_pwhash_argon2i_MEMLIMIT_INTERACTIVEÚ'crypto_pwhash_argon2i_OPSLIMIT_MODERATEÚ'crypto_pwhash_argon2i_MEMLIMIT_MODERATEÚ(crypto_pwhash_argon2i_OPSLIMIT_SENSITIVEÚ(crypto_pwhash_argon2i_MEMLIMIT_SENSITIVEÚ crypto_pwhash_argon2id_STRPREFIXr[   r\   r]   r^   Ú+crypto_pwhash_argon2id_OPSLIMIT_INTERACTIVEÚ+crypto_pwhash_argon2id_MEMLIMIT_INTERACTIVEÚ(crypto_pwhash_argon2id_OPSLIMIT_MODERATEÚ(crypto_pwhash_argon2id_MEMLIMIT_MODERATEÚ)crypto_pwhash_argon2id_OPSLIMIT_SENSITIVEÚ)crypto_pwhash_argon2id_MEMLIMIT_SENSITIVE)Ú__conditional_annotations__r   r2   )r   s   "r   r   r      sÍ  € ‡
�
÷V EÒ DœSÑ DñW ÷X GÒ FœcÑ FñY ÷Z AÒ @œ3Ñ @ñ[ ÷^ =Ò <œÑ <ñ_ ÷` ;Ò :œÑ :ña ÷d ?Ò >œ#Ñ >ñe ÷f ?Ò >œ#Ñ >ñg ÷h =Ò <œÑ <ñi ÷j =Ò <œÑ <ñk ÷nò ¤ñ ño ÷tò ¤Cñ ñu ÷zò ¤Cñ ñ{ ÷@ò ¤Cñ ñA ÷Fò ¤Cñ ñG ÷Lò ¬Cñ ñM ÷Rò ¬Cñ ñS ÷Xò ¬ñ ñY ÷^ò ¬ñ ñ_ ÷dò ¬#ñ ñe ÷jò ¬#ñ ñk ÷rò ¤%ñ ñs ÷xò ¤Sñ ñy ÷~ò ¤Sñ ñ ÷Dò ¤Sñ ñE ÷Jò ¤Sñ ñK ÷Pò ¬Sñ ñQ ÷Vò ¬Sñ ñW ÷\ò ¬#ñ ñ] ÷bò ¬#ñ ñc ÷hò ¬3ñ ñi ÷nò ¬3ñ òo r   r'   l   ÿÿÿÿ i   )�r‚   r   Útypingr   Únacl.exceptionsÚ
exceptionsr   Únacl._sodiumr   r   r   rL   Ú-PYNACL_HAS_CRYPTO_PWHASH_SCRYPTSALSA208SHA256r6   Ú,crypto_pwhash_scryptsalsa208sha256_STRPREFIXÚ,crypto_pwhash_scryptsalsa208sha256_SALTBYTESÚ+crypto_pwhash_scryptsalsa208sha256_STRBYTESÚ-crypto_pwhash_scryptsalsa208sha256_PASSWD_MINÚ-crypto_pwhash_scryptsalsa208sha256_PASSWD_MAXÚ,crypto_pwhash_scryptsalsa208sha256_BYTES_MINÚ,crypto_pwhash_scryptsalsa208sha256_BYTES_MAXÚ/crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_MINÚ/crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_MAXÚ/crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_MINÚ/crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_MAXÚ7crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_INTERACTIVEÚ7crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_INTERACTIVEÚ5crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_SENSITIVEÚ5crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_SENSITIVErG   r?   Ú,crypto_pwhash_scryptsalsa208sha256_strprefixÚ,crypto_pwhash_scryptsalsa208sha256_saltbytesÚ+crypto_pwhash_scryptsalsa208sha256_strbytesÚ-crypto_pwhash_scryptsalsa208sha256_passwd_minÚ-crypto_pwhash_scryptsalsa208sha256_passwd_maxÚ,crypto_pwhash_scryptsalsa208sha256_bytes_minÚ,crypto_pwhash_scryptsalsa208sha256_bytes_maxÚ/crypto_pwhash_scryptsalsa208sha256_memlimit_minÚ/crypto_pwhash_scryptsalsa208sha256_memlimit_maxÚ/crypto_pwhash_scryptsalsa208sha256_opslimit_minÚ/crypto_pwhash_scryptsalsa208sha256_opslimit_maxÚ7crypto_pwhash_scryptsalsa208sha256_opslimit_interactiveÚ7crypto_pwhash_scryptsalsa208sha256_memlimit_interactiveÚ5crypto_pwhash_scryptsalsa208sha256_opslimit_sensitiveÚ5crypto_pwhash_scryptsalsa208sha256_memlimit_sensitiveÚcrypto_pwhash_alg_argon2i13rU   Úcrypto_pwhash_alg_argon2id13rZ   Úcrypto_pwhash_alg_defaultrp   Úcrypto_pwhash_saltbytesrc   Úcrypto_pwhash_strbytesrq   Úcrypto_pwhash_passwd_minrr   Úcrypto_pwhash_passwd_maxrs   Úcrypto_pwhash_bytes_minrd   Úcrypto_pwhash_bytes_maxre   Úcrypto_pwhash_argon2i_strprefixrt   Ú"crypto_pwhash_argon2i_memlimit_minrV   Ú"crypto_pwhash_argon2i_memlimit_maxrW   Ú"crypto_pwhash_argon2i_opslimit_minrX   Ú"crypto_pwhash_argon2i_opslimit_maxrY   Ú*crypto_pwhash_argon2i_opslimit_interactiveru   Ú*crypto_pwhash_argon2i_memlimit_interactiverv   Ú'crypto_pwhash_argon2i_opslimit_moderaterw   Ú'crypto_pwhash_argon2i_memlimit_moderaterx   Ú(crypto_pwhash_argon2i_opslimit_sensitivery   Ú(crypto_pwhash_argon2i_memlimit_sensitiverz   Ú crypto_pwhash_argon2id_strprefixr{   Ú#crypto_pwhash_argon2id_memlimit_minr[   Ú#crypto_pwhash_argon2id_memlimit_maxr\   Ú#crypto_pwhash_argon2id_opslimit_minr]   Ú#crypto_pwhash_argon2id_opslimit_maxr^   Ú+crypto_pwhash_argon2id_opslimit_interactiver|   Ú+crypto_pwhash_argon2id_memlimit_interactiver}   Ú(crypto_pwhash_argon2id_opslimit_moderater~   Ú(crypto_pwhash_argon2id_memlimit_moderater   Ú)crypto_pwhash_argon2id_opslimit_sensitiver€   Ú)crypto_pwhash_argon2id_memlimit_sensitiver�   ÚSCRYPT_OPSLIMIT_INTERACTIVEÚSCRYPT_MEMLIMIT_INTERACTIVEÚSCRYPT_OPSLIMIT_SENSITIVEÚSCRYPT_MEMLIMIT_SENSITIVEÚSCRYPT_SALTBYTESrE   r   ÚLOG2_UINT64_MAXr   ÚSCRYPT_MAX_MEMr"   r,   r;   rF   rO   r_   rh   rk   rn   Ú crypto_pwhash_argon2i_str_verifyr   )r‚   s   @r   Ú<module>rÍ      sR  øð÷ €
Ý å ß !Ý "ñ *.Ø×5Ñ5ó*Ð &ð 03Ð ,Ø/0Ð ,Ø./Ð +Ø01Ð -Ø01Ð -Ø/0Ð ,Ø/0Ð ,Ø23Ð /Ø23Ð /Ø23Ð /Ø23Ð /Ø:;Ð 7Ø:;Ð 7Ø89Ð 5Ø89Ð 5ç)Ð)Ø36·:²:Ø�Š�˜3×KÒKÓMÓNó4àõ4	Ð0ð 	×8Ò8Ó:ð 1ð 	×7Ò7Ó9ð 0ð 	×9Ò9Ó;ð 2ð 	×9Ò9Ó;ð 2ð 	×8Ò8Ó:ð 1ð 	×8Ò8Ó:ð 1ð 	×;Ò;Ó=ð 4ð 	×;Ò;Ó=ð 4ð 	×;Ò;Ó=ð 4ð 	×;Ò;Ó=ð 4ð 	×CÒCÓEð <ð 	×CÒCÓEð <ð 	×AÒAÓCð :ð 	×AÒAÓCð :ð $'×#BÒ#BÓ#DÐ Ó DØ$'×$DÒ$DÓ$FÐ Ó FØ!$×!>Ò!>Ó!@Ð Ó @à"×:Ò:Ó<Ð Ó <Ø!×8Ò8Ó:Ð Ó :à #× <Ò <Ó >Ð Ó >Ø #× <Ò <Ó >Ð Ó >Ø"×:Ò:Ó<Ð Ó <Ø"×:Ò:Ó<Ð Ó <à),¯ªØ‡H‚HˆX�s×:Ò:Ó<Ó=ó*àõ*Ð ó ð ×*Ò*Ó,ð #ó ð ×*Ò*Ó,ð #ó ð ×*Ò*Ó,ð #ó ð ×*Ò*Ó,ð #ó ð ×2Ò2Ó4ð +ó ð ×2Ò2Ó4ð +ó ð ×/Ò/Ó1ð (ó ð ×/Ò/Ó1ð (ó ð ×0Ò0Ó2ð )ó ð ×0Ò0Ó2ð )ó ð +.¯*ª*Ø‡H‚HˆX�s×;Ò;Ó=Ó>ó+àõ+Ð  ó ð ×+Ò+Ó-ð $ó ð ×+Ò+Ó-ð $ó ð ×+Ò+Ó-ð $ó ð ×+Ò+Ó-ð $ó ð ×3Ò3Ó5ð ,ó ð ×3Ò3Ó5ð ,ó ð ×0Ò0Ó2ð )ó ð ×0Ò0Ó2ð )ó ð ×1Ò1Ó3ð *ó ð ×1Ò1Ó3ð *ó ð
 <ð ð <ð ð :ð ð :ð ð @Ð Ø=€à€Ø€Ø€
Ø#€ð +9÷'õTðL Ø ÷99ð| 0Ø/÷)õXõB55õpD)õN(õVð6 $<Ò  r   