+
    +O|jÐ  ã                   óÚ   € ^ RI Ht ^ RIHt ^ RIHtHt ^ RIHtH	t	 ^ RI
Ht ^ RIHt  ! R R]	4      t ! R	 R
]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      tR# )é    )ÚType)Úserialization)Úed448Úed25519)ÚCryptographyPrivateKeyÚCryptographyPublicKey)Ú	Algorithm©ÚDNSKEYc                   ó`   a € ] tR t^t o V 3R lR ltV 3R lR lt]V 3R lR l4       tRtV t	R# )	ÚPublicEDDSAc                ó*   <€ V ^8„  d   QhRS[ RS[ RR/# )é   Ú	signatureÚdataÚreturnN©Úbytes)ÚformatÚ__classdict__s   "€ÚMC:\Users\alokc\chatbot\backend\venv\Lib\site-packages\dns/dnssecalgs/eddsa.pyÚ__annotate__ÚPublicEDDSA.__annotate__   s"   ø€ ÷ )ñ )¡ð )©Uð )°tñ )ó    c                ó<   € V P                   P                  W4       R # )N)ÚkeyÚverify)Úselfr   r   s   &&&r   r   ÚPublicEDDSA.verify   s   € Ø�‰�‰˜	Ö(r   c                ó    <€ V ^8„  d   QhRS[ /# )r   r   r   )r   r   s   "€r   r   r      s   ø€ ÷ 
ñ 
¡%ñ 
r   c                óœ   € V P                   P                  \        P                  P                  \        P
                  P                  R7      # )z,Encode a public key per RFC 8080, section 3.)Úencodingr   )r   Úpublic_bytesr   ÚEncodingÚRawÚPublicFormat)r   s   &r   Úencode_key_bytesÚPublicEDDSA.encode_key_bytes   s;   € à�x‰x×$Ñ$Ü"×+Ñ+×/Ñ/¼×8RÑ8R×8VÑ8Vð %ó 
ð 	
r   c                ó$   <€ V ^8„  d   QhRS[ RR/# )r   r   r   r   r
   )r   r   s   "€r   r   r      s   ø€ ÷ 
ñ 
™fð 
¨ñ 
r   c                ó|   € V P                  V4       V ! V P                  P                  VP                  4      R 7      # ©)r   )Ú!_ensure_algorithm_key_combinationÚkey_clsÚfrom_public_bytesr   )Úclsr   s   &&r   Úfrom_dnskeyÚPublicEDDSA.from_dnskey   s3   € à×-Ñ-¨cÔ2ÙØ—‘×-Ñ-¨c¯g©gÓ6ô
ð 	
r   © N)
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r'   Úclassmethodr0   Ú__static_attributes__Ú__classdictcell__©r   s   @r   r   r      s-   ø‡ € ÷)ð )÷
ð 
ð ÷
ó ö
r   r   c                   ó^   a € ] tR t^t o RV 3R lR llt]V 3R lR l4       tV 3R ltRtV t	R# )	ÚPrivateEDDSAc                ó2   <€ V ^8„  d   QhRS[ RS[RS[RS[ /# )r   r   r   Údeterministicr   )r   Úbool)r   r   s   "€r   r   ÚPrivateEDDSA.__annotate__    s3   ø€ ÷ 
ñ 
áð
ñ ð
ñ ð	
ñ
 
ñ
r   c                óŠ   € V P                   P                  V4      pV'       d    V P                  4       P                  WA4       V# )z1Sign using a private key per RFC 8080, section 4.)r   ÚsignÚ
public_keyr   )r   r   r   r>   r   s   &&&& r   rB   ÚPrivateEDDSA.sign    s4   € ð —H‘H—M‘M $Ó'ˆ	ßØ�O‰OÓ×$Ñ$ YÔ5ØÐr   c                ó   <€ V ^8„  d   QhRR/# )r   r   r<   r2   )r   r   s   "€r   r   r@   -   s   ø€ ÷ /ñ /˜ñ /r   c                óD   € V ! V P                   P                  4       R 7      # r+   )r-   Úgenerate)r/   s   &r   rG   ÚPrivateEDDSA.generate,   s   € á�s—{‘{×+Ñ+Ó-Ô.Ð.r   c                ó6   <€ V ^8„  d   Qh/ S[ S[,          ;R&   # )r   Ú
public_cls)r   r   )r   r   s   "€r   r   r@      s   ø‡ ‚ Ù‘[Õ!Ñ!ò r   r2   N)FT)
r3   r4   r5   r6   rB   r7   rG   Ú__annotate_func__r8   r9   r:   s   @r   r<   r<      s*   ø‡ € ÷
ò 
ð ÷/ó ð/÷! ƒ r   r<   c                   ó\   a € ] tR t^1t o ]P
                  t]P                  t	V 3R lt
RtV tR# )ÚPublicED25519c                ó:   <€ V ^8„  d   Qh/ S[ P                  ;R&   # ©r   r   )r   ÚEd25519PublicKey)r   r   s   "€r   r   ÚPublicED25519.__annotate__1   s   ø‡ ‚ Ù	×	!Ñ	!Ñ!ò r   r2   N)r3   r4   r5   r6   r   rP   r-   r	   ÚED25519Ú	algorithmrK   r8   r9   r:   s   @r   rM   rM   1   s"   ø‡ € à×&Ñ&€GØ×!Ñ!€I÷ ƒ r   rM   c                   óH   a € ] tR t^7t o ]P
                  t]tV 3R lt	Rt
V tR# )ÚPrivateED25519c                ó:   <€ V ^8„  d   Qh/ S[ P                  ;R&   # rO   )r   ÚEd25519PrivateKey)r   r   s   "€r   r   ÚPrivateED25519.__annotate__7   s   ø‡ ‚ Ù	×	"Ñ	"Ñ"ò r   r2   N)r3   r4   r5   r6   r   rW   r-   rM   rJ   rK   r8   r9   r:   s   @r   rU   rU   7   s   ø‡ € à×'Ñ'€GØ€J÷ ƒ r   rU   c                   ó\   a € ] tR t^=t o ]P
                  t]P                  t	V 3R lt
RtV tR# )ÚPublicED448c                ó:   <€ V ^8„  d   Qh/ S[ P                  ;R&   # rO   )r   ÚEd448PublicKey)r   r   s   "€r   r   ÚPublicED448.__annotate__=   s   ø‡ ‚ Ù	×	Ñ	Ñò r   r2   N)r3   r4   r5   r6   r   r\   r-   r	   ÚED448rS   rK   r8   r9   r:   s   @r   rZ   rZ   =   s    ø‡ € à×"Ñ"€GØ—‘€I÷ ƒ r   rZ   c                   óH   a € ] tR t^Ct o ]P
                  t]tV 3R lt	Rt
V tR# )ÚPrivateED448c                ó:   <€ V ^8„  d   Qh/ S[ P                  ;R&   # rO   )r   ÚEd448PrivateKey)r   r   s   "€r   r   ÚPrivateED448.__annotate__C   s   ø‡ ‚ Ù	×	Ñ	Ñò r   r2   N)r3   r4   r5   r6   r   rb   r-   rZ   rJ   rK   r8   r9   r:   s   @r   r`   r`   C   s   ø‡ € à×#Ñ#€GØ€J÷ ƒ r   r`   N)Útypingr   Úcryptography.hazmat.primitivesr   Ú)cryptography.hazmat.primitives.asymmetricr   r   Údns.dnssecalgs.cryptographyr   r   Údns.dnssectypesr	   Údns.rdtypes.ANY.DNSKEYr   r   r<   rM   rU   rZ   r`   r2   r   r   Ú<module>rj      sa   ðÝ å 8ß Dç UÝ %Ý )ô
Ð'ô 
ô$/Ð)ô /ô("�Kô "ô�\ô ô �+ô  ô�<ö r   