+
    ™h©j“   ã                   óÀ   € ^ RI Ht ^ RIt^ RIHt ^ RIHt ^ RIHt	H
t ^ RIHtHt  ! R R]4      t ! R	 R
]P"                  ]4      t ! R R]P"                  ]4      tR# )é    )ÚOptionalN)Úencoding)Ú
exceptions)Ú
PrivateKeyÚ	PublicKey)ÚStringFixerÚrandomc                   ó„   a € ] tR t^t o Rt]V 3R lR l4       t]V 3R lR l4       t]V 3R lR l4       t	V 3R lt
R	tV tR
# )ÚSignedMessagezV
A bytes subclass that holds a message that has been signed by a
:class:`SigningKey`.
c                ó0   <€ V ^8„  d   QhRS[ RS[ RS[ RR/# )é   Ú	signatureÚmessageÚcombinedÚreturnr   ©Úbytes)ÚformatÚ__classdict__s   "€ÚG/var/www/html/bestweb/venv/lib/python3.14/site-packages/nacl/signing.pyÚ__annotate__ÚSignedMessage.__annotate__$   s-   ø€ ÷ ñ ÙðÙ(-ðÙ9>ðà	ñó    c                ó.   € V ! V4      pWn         W$n        V# ©N)Ú
_signatureÚ_message)Úclsr   r   r   Úobjs   &&&& r   Ú_from_partsÚSignedMessage._from_parts#   s   € ñ �(‹mˆØ"ŒØŒØˆ
r   c                ó    <€ V ^8„  d   QhRS[ /# ©r   r   r   )r   r   s   "€r   r   r   -   s   ø€ ÷ ñ ™5ñ r   c                ó   € V P                   # )z<
The signature contained within the :class:`SignedMessage`.
)r   ©Úselfs   &r   r   ÚSignedMessage.signature,   s   € ð
 �‰Ðr   c                ó    <€ V ^8„  d   QhRS[ /# r#   r   )r   r   s   "€r   r   r   4   s   ø€ ÷ ñ ™ñ r   c                ó   € V P                   # )z:
The message contained within the :class:`SignedMessage`.
)r   r%   s   &r   r   ÚSignedMessage.message3   s   € ð
 �}‰}Ðr   c                ó2   <€ V ^8„  d   Qh/ S[ ;R&   S[ ;R&   # )r   r   r   r   )r   r   s   "€r   r   r      s   ø‡ ‚ ñ Ññ ñ �Oò r   © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Úclassmethodr    Úpropertyr   r   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__©r   s   @r   r   r      sM   ø‡ € ñð ÷ó ðð ÷ó ðð ÷ó ð÷5 ƒ r   r   c                   óØ   a € ] tR t^;t o Rt]P                  3V 3R lR lltV 3R lR ltV 3R lR lt	V 3R lR	 lt
V 3R
 lR ltR]P                  3V 3R lR lltV 3R lR ltRtV tR# )Ú	VerifyKeyzÌ
The public key counterpart to an Ed25519 SigningKey for producing digital
signatures.

:param key: [:class:`bytes`] Serialized Ed25519 public key
:param encoder: A class that is able to decode the `key`
c                ó:   <€ V ^8„  d   QhRS[ RS[P                  /# )r   ÚkeyÚencoder©r   r   ÚEncoder)r   r   s   "€r   r   ÚVerifyKey.__annotate__D   s#   ø€ ÷ ñ ÙðÙ#+×#3Ñ#3ñr   c                óF  € VP                  V4      p\        V\        4      '       g   \        P                  ! R 4      h\        V4      \        P                  P                  8w  d6   \        P                  ! R\        P                  P                  ,          4      hWn
        R# )z'VerifyKey must be created from 32 bytesz%The key must be exactly %s bytes longN)ÚdecodeÚ
isinstancer   ÚexcÚ	TypeErrorÚlenÚnaclÚbindingsÚcrypto_sign_PUBLICKEYBYTESÚ
ValueErrorÚ_key)r&   r;   r<   s   &&&r   Ú__init__ÚVerifyKey.__init__D   sr   € ð �n‰n˜SÓ!ˆÜ˜#œu×%Ò%Ü—-’-Ð IÓJÐJäˆs‹8”t—}‘}×?Ñ?Ô?Ü—.’.Ø7Ü—-‘-×:Ñ:õ;óð ð
 Ž	r   c                ó    <€ V ^8„  d   QhRS[ /# r#   r   )r   r   s   "€r   r   r?   T   s   ø€ ÷ ñ ™5ñ r   c                ó   € V P                   # r   ©rJ   r%   s   &r   Ú	__bytes__ÚVerifyKey.__bytes__T   s   € Ø�y‰yÐr   c                ó    <€ V ^8„  d   QhRS[ /# r#   ©Úint)r   r   s   "€r   r   r?   W   ó   ø€ ÷ !ñ !™#ñ !r   c                ó*   € \        \        V 4      4      # r   ©Úhashr   r%   s   &r   Ú__hash__ÚVerifyKey.__hash__W   ó   € Ü”E˜$“KÓ Ð r   c                ó&   <€ V ^8„  d   QhRS[ RS[/# ©r   Úotherr   ©ÚobjectÚbool)r   r   s   "€r   r   r?   Z   ó   ø€ ÷ Fñ F™Fð F¡tñ Fr   c                ó    € \        WP                  4      '       g   R # \        P                  P	                  \        V 4      \        V4      4      # ©F©rB   Ú	__class__rF   rG   Úsodium_memcmpr   ©r&   r^   s   &&r   Ú__eq__ÚVerifyKey.__eq__Z   ó3   € Ü˜%§¡×0Ò0ÙÜ�}‰}×*Ñ*¬5°«;¼¸e»ÓEÐEr   c                ó&   <€ V ^8„  d   QhRS[ RS[/# r]   r_   )r   r   s   "€r   r   r?   _   ó   ø€ ÷ #ñ #™Fð #¡tñ #r   c                ó   € W8X  * # r   r,   rh   s   &&r   Ú__ne__ÚVerifyKey.__ne___   ó   € ØÒ"Ð"r   Nc                óV   <€ V ^8„  d   QhRS[ RS[S[ ,          RS[P                  RS[ /# )r   Úsmessager   r<   r   )r   r   r   r>   )r   r   s   "€r   r   r?   b   sC   ø€ ÷ 'Cñ 'Cáð'Cñ ™E•?ð'Cñ ×!Ñ!ð	'Cñ
 
ñ'Cr   c                óþ  € VeÁ   \        V\        4      '       g6   \        P                  ! R\        P
                  P                  ,          4      h\        V4      \        P
                  P                  8w  d6   \        P                  ! R\        P
                  P                  ,          4      hW#P                  V4      ,           pMVP                  V4      p\        P
                  P                  WP                  4      # )aþ  
Verifies the signature of a signed message, returning the message
if it has not been tampered with else raising
:class:`~nacl.exceptions.BadSignatureError`.

:param smessage: [:class:`bytes`] Either the original messaged or a
    signature and message concated together.
:param signature: [:class:`bytes`] If an unsigned message is given for
    smessage then the detached signature must be provided.
:param encoder: A class that is able to decode the secret message and
    signature.
:rtype: :class:`bytes`
z4Verification signature must be created from %d bytesz+The signature must be exactly %d bytes long)rB   r   rC   rD   rF   rG   Úcrypto_sign_BYTESrE   rI   rA   Úcrypto_sign_openrJ   )r&   rs   r   r<   s   &&&&r   ÚverifyÚVerifyKey.verifyb   s¹   € ð& Ò ô ˜i¬×/Ò/Ü—m’mØJÜ—m‘m×5Ñ5õ6óð ô
 �9‹~¤§¡×!@Ñ!@Ô@Ü—n’nØAÜ—m‘m×5Ñ5õ6óð ð
 !§>¡>°(Ó#;Õ;‰Hð —~‘~ hÓ/ˆHä�}‰}×-Ñ-¨h¿	¹	ÓBÐBr   c                ó    <€ V ^8„  d   QhRS[ /# r#   )Ú_Curve25519_PublicKey)r   r   s   "€r   r   r?   ‹   s   ø€ ÷ -ñ -Ñ*?ñ -r   c                ój   € \         P                  P                  V P                  4      p\	        V4      # )z{
Converts a :class:`~nacl.signing.VerifyKey` to a
:class:`~nacl.public.PublicKey`

:rtype: :class:`~nacl.public.PublicKey`
)rF   rG   Ú$crypto_sign_ed25519_pk_to_curve25519rJ   rz   )r&   Úraw_pks   & r   Úto_curve25519_public_keyÚ"VerifyKey.to_curve25519_public_key‹   s'   € ô —‘×CÑCÀDÇIÁIÓNˆÜ$ VÓ,Ð,r   rO   )r-   r.   r/   r0   r1   r   Ú
RawEncoderrK   rP   rY   ri   ro   rw   r~   r5   r6   r7   s   @r   r9   r9   ;   sn   ø‡ € ñð 7?×6IÑ6I÷ò ÷ ð ÷!ð !÷Fð F÷
#ð #ð &*Ø$,×$7Ñ$7÷	'Cò 'C÷R-ö -r   r9   c                   óò   a € ] tR t^–t o Rt]P                  3V 3R lR lltV 3R lR ltV 3R lR lt	V 3R lR	 lt
V 3R
 lR lt]V 3R lR l4       t]P                  3V 3R lR lltV 3R lR ltRtV tR# )Ú
SigningKeya©  
Private key for producing digital signatures using the Ed25519 algorithm.

Signing keys are produced from a 32-byte (256-bit) random seed value. This
value can be passed into the :class:`~nacl.signing.SigningKey` as a
:func:`bytes` whose length is 32.

.. warning:: This **must** be protected and remain secret. Anyone who knows
    the value of your :class:`~nacl.signing.SigningKey` or it's seed can
    masquerade as you.

:param seed: [:class:`bytes`] Random 32-byte value (i.e. private key)
:param encoder: A class that is able to decode the seed

:ivar: verify_key: [:class:`~nacl.signing.VerifyKey`] The verify
    (i.e. public) key that corresponds with this signing key.
c                ó:   <€ V ^8„  d   QhRS[ RS[P                  /# )r   Úseedr<   r=   )r   r   s   "€r   r   ÚSigningKey.__annotate__©   s%   ø€ ÷ 0ñ 0áð0ñ ×!Ñ!ñ0r   c                ó´  € VP                  V4      p\        V\        4      '       g   \        P                  ! R 4      h\        V4      \        P                  P                  8w  d6   \        P                  ! R\        P                  P                  ,          4      h\        P                  P                  V4      w  r4Wn        W@n        \        V4      V n        R# )z.SigningKey must be created from a 32 byte seedz&The seed must be exactly %d bytes longN)rA   rB   r   rC   rD   rE   rF   rG   Úcrypto_sign_SEEDBYTESrI   Úcrypto_sign_seed_keypairÚ_seedÚ_signing_keyr9   Ú
verify_key)r&   r„   r<   Ú
public_keyÚ
secret_keys   &&&  r   rK   ÚSigningKey.__init__©   s¡   € ð �~‰~˜dÓ#ˆÜ˜$¤×&Ò&Ü—-’-Ø@óð ô
 ˆt‹9œŸ™×;Ñ;Ô;Ü—.’.Ø8Ü—-‘-×5Ñ5õ6óð ô
 "&§¡×!GÑ!GÈÓ!MÑˆ
àŒ
Ø&ÔÜ# JÓ/ˆŽr   c                ó    <€ V ^8„  d   QhRS[ /# r#   r   )r   r   s   "€r   r   r…   Â   s   ø€ ÷ ñ ™5ñ r   c                ó   € V P                   # r   )r‰   r%   s   &r   rP   ÚSigningKey.__bytes__Â   s   € Ø�z‰zÐr   c                ó    <€ V ^8„  d   QhRS[ /# r#   rS   )r   r   s   "€r   r   r…   Å   rU   r   c                ó*   € \        \        V 4      4      # r   rW   r%   s   &r   rY   ÚSigningKey.__hash__Å   r[   r   c                ó&   <€ V ^8„  d   QhRS[ RS[/# r]   r_   )r   r   s   "€r   r   r…   È   rb   r   c                ó    € \        WP                  4      '       g   R # \        P                  P	                  \        V 4      \        V4      4      # rd   re   rh   s   &&r   ri   ÚSigningKey.__eq__È   rk   r   c                ó&   <€ V ^8„  d   QhRS[ RS[/# r]   r_   )r   r   s   "€r   r   r…   Í   rm   r   c                ó   € W8X  * # r   r,   rh   s   &&r   ro   ÚSigningKey.__ne__Í   rq   r   c                ó   <€ V ^8„  d   QhRR/# )r   r   r‚   r,   )r   r   s   "€r   r   r…   Ñ   s   ø€ ÷ 	
ñ 	
˜ñ 	
r   c                ót   € V ! \        \        P                  P                  4      \        P
                  R7      # )zi
Generates a random :class:`~nacl.signing.SigningKey` object.

:rtype: :class:`~nacl.signing.SigningKey`
)r<   )r	   rF   rG   r‡   r   r€   )r   s   &r   ÚgenerateÚSigningKey.generateÐ   s,   € ñ Ü”4—=‘=×6Ñ6Ó7Ü×'Ñ'ô
ð 	
r   c                ó@   <€ V ^8„  d   QhRS[ RS[P                  RS[/# )r   r   r<   r   )r   r   r>   r   )r   r   s   "€r   r   r…   Ü   s4   ø€ ÷ Eñ EáðEñ ×!Ñ!ðEñ 
ñ	Er   c                ó$  € \         P                  P                  WP                  4      p\         P                  P                  pVP                  VRV 4      pVP                  W4R 4      pVP                  V4      p\        P                  WQV4      # )zÉ
Sign a message using this key.

:param message: [:class:`bytes`] The data to be signed.
:param encoder: A class that is used to encode the signed message.
:rtype: :class:`~nacl.signing.SignedMessage`
N)rF   rG   Úcrypto_signrŠ   ru   Úencoder   r    )r&   r   r<   Ú
raw_signedru   r   Úsigneds   &&&    r   ÚsignÚSigningKey.signÜ   sz   € ô —]‘]×.Ñ.¨w×8IÑ8IÓJˆ
ä ŸM™M×;Ñ;ÐØ—N‘N :Ð.@Ð/@Ð#AÓBˆ	Ø—.‘. Ð,>Ð!?Ó@ˆØ—‘ 
Ó+ˆä×(Ñ(¨¸VÓDÐDr   c                ó    <€ V ^8„  d   QhRS[ /# r#   )Ú_Curve25519_PrivateKey)r   r   s   "€r   r   r…   ñ   s   ø€ ÷ 	3ñ 	3Ñ+Añ 	3r   c                ón   € V P                   p\        P                  P                  V4      p\	        V4      # )z~
Converts a :class:`~nacl.signing.SigningKey` to a
:class:`~nacl.public.PrivateKey`

:rtype: :class:`~nacl.public.PrivateKey`
)rŠ   rF   rG   Ú$crypto_sign_ed25519_sk_to_curve25519r¨   )r&   ÚskÚraw_privates   &  r   Úto_curve25519_private_keyÚ$SigningKey.to_curve25519_private_keyñ   s.   € ð ×ÑˆÜ—m‘m×HÑHÈÓLˆÜ% kÓ2Ð2r   )r‰   rŠ   r‹   N)r-   r.   r/   r0   r1   r   r€   rK   rP   rY   ri   ro   r2   r�   r¥   r­   r5   r6   r7   s   @r   r‚   r‚   –   s~   ø‡ € ñð* %-×$7Ñ$7÷0ò 0÷2ð ÷!ð !÷Fð F÷
#ð #ð ÷	
ó ð	
ð %-×$7Ñ$7÷Eò E÷*	3ö 	3r   r‚   )Útypingr   Únacl.bindingsrF   r   r   rC   Únacl.publicr   r¨   r   rz   Ú
nacl.utilsr   r	   r   r   Ú	Encodabler9   r‚   r,   r   r   Ú<module>r´      sW   ðõ ã Ý Ý "÷÷ +ô�Eô ôBX-�×"Ñ" Kô X-ôvd3�×#Ñ# [ö d3r   