+
    i}4              
      6  a  0 t $ ^ RIHt ^ RIt^ RIt^ RIHt ^ RIHtH	t	 ^ RI
Ht ^ RIHt ^ RIHtHt ^ RIHt  ! R R	4      t ! R
 R]P*                  R7      t ! R R]P*                  R7      t ! R R]P*                  R7      t]t]P5                  ]P6                  P8                  4        ! R R]P*                  R7      t]t]P5                  ]P6                  P>                  4       ]P6                  P@                  t ]P6                  PB                  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 R ]4      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- R.]4      t/ ! R/ R0]4      t0 ! R1 R2]4      t1 ! R3 R4]4      t2 ! R5 R6]4      t3 ! R7 R8]4      t4/ R9]1! 4       bR:].! 4       bR;]1! 4       bR<]0! 4       bR=].! 4       bR>]-! 4       bR?],! 4       bR@]/! 4       bRA]+! 4       bRB]*! 4       bRC])! 4       bRD](! 4       bRE]'! 4       bRF]&! 4       bRG]%! 4       bRH]$! 4       bRI]#! 4       bRJ]"! 4       RK]2! 4       RL]3! 4       RM]4! 4       /Ct5RN]6RO&    ! RP RQ]4      t7]P6                  Pp                  t8R\RR RS llt9 ! RT RU4      t:/ ]Pb                  ]1b]P`                  ]0b]P^                  ]/b]P\                  ].b]PZ                  ]-b]PX                  ],b]Pv                  ]2b]Px                  ]3b]Pz                  ]4b]PV                  ]+b]PL                  ]&b]PT                  ]*b]PJ                  ]%b]PR                  ])b]PH                  ]$b]PP                  ](b]PF                  ]#b]PN                  ]']PD                  ]"/Ct>RV RW lt?]+]&]*]%])]$](]#]']"3
t@RX]6RY&   ]@ F;  tA]P                  ! ]A]C]AP                   RZ2]P                  ]AP                  R[7       K=  	  R# )]    )annotationsN)utils)UnsupportedAlgorithm_Reasons)ObjectIdentifier)openssl)_serializationhashesc                  F   ] tR t^t]! R4      t]! R4      t]! R4      t]! R4      t]! R4      t	]! R4      t
]! R4      t]! R4      t]! R	4      t]! R
4      t]! R4      t]! R4      t]! R4      t]! R4      t]! R4      t]! R4      t]! R4      t]! R4      t]! R4      tRtR# )EllipticCurveOIDz1.2.840.10045.3.1.1z1.3.132.0.33z1.3.132.0.10z1.2.840.10045.3.1.7z1.3.132.0.34z1.3.132.0.35z1.3.36.3.3.2.8.1.1.7z1.3.36.3.3.2.8.1.1.11z1.3.36.3.3.2.8.1.1.13z1.3.132.0.1z1.3.132.0.15z1.3.132.0.26z1.3.132.0.27z1.3.132.0.16z1.3.132.0.17z1.3.132.0.36z1.3.132.0.37z1.3.132.0.38z1.3.132.0.39 N)__name__
__module____qualname____firstlineno__r   	SECP192R1	SECP224R1	SECP256K1	SECP256R1	SECP384R1	SECP521R1BRAINPOOLP256R1BRAINPOOLP384R1BRAINPOOLP512R1	SECT163K1	SECT163R2	SECT233K1	SECT233R1	SECT283K1	SECT283R1	SECT409K1	SECT409R1	SECT571K1	SECT571R1__static_attributes__r       s/home/wkmabra/.openclaw/workspace/venv/lib/python3.14/site-packages/cryptography/hazmat/primitives/asymmetric/ec.pyr   r      s     !67I 0I 0I !67I 0I 0I&'=>O&'>?O&'>?O /I 0I 0I 0I 0I 0I 0I 0I 0I 0Ir&   r   c                      ] tR t^(t]]P                  R R l4       4       t]]P                  R R l4       4       t]]P                  R R l4       4       t	Rt
R# )	EllipticCurvec                   V ^8  d   QhRR/# )   returnstrr   )formats   "r'   __annotate__EllipticCurve.__annotate__+   s      c r&   c                    R# )z(
The name of the curve. e.g. secp256r1.
Nr   selfs   &r'   nameEllipticCurve.name)       r&   c                   V ^8  d   QhRR/# r+   r,   intr   )r.   s   "r'   r/   r0   2         # r&   c                    R# z,
Bit size of a secret scalar for the curve.
Nr   r2   s   &r'   key_sizeEllipticCurve.key_size0   r6   r&   c                   V ^8  d   QhRR/# r8   r   )r.   s   "r'   r/   r0   9   s      S r&   c                    R# )z!
The order of the curve's group.
Nr   r2   s   &r'   group_orderEllipticCurve.group_order7   r6   r&   r   N)r   r   r   r   propertyabcabstractmethodr4   r=   rA   r%   r   r&   r'   r)   r)   (   sf      
   
   r&   r)   )	metaclassc                  J    ] tR t^?t]]P                  R R l4       4       tRtR# )EllipticCurveSignatureAlgorithmc                   V ^8  d   QhRR/# r+   r,   +asym_utils.Prehashed | hashes.HashAlgorithmr   )r.   s   "r'   r/   ,EllipticCurveSignatureAlgorithm.__annotate__B   s      	4r&   c                    R# )z0
The digest algorithm used with this signature.
Nr   r2   s   &r'   	algorithm)EllipticCurveSignatureAlgorithm.algorithm@   r6   r&   r   N)	r   r   r   r   rC   rD   rE   rN   r%   r   r&   r'   rH   rH   ?   s"      r&   rH   c                  z   ] tR t^Jt]P
                  R R l4       t]P
                  R R l4       t]]P
                  R R l4       4       t	]]P
                  R R l4       4       t
]P
                  R	 R
 l4       t]P
                  R R l4       t]P
                  R R l4       t]P
                  R R l4       tRtR# )EllipticCurvePrivateKeyc               $    V ^8  d   QhRRRRRR/# )r+   rN   ECDHpeer_public_keyEllipticCurvePublicKeyr,   bytesr   )r.   s   "r'   r/   $EllipticCurvePrivateKey.__annotate__L   s$      0F	r&   c                    R# )ze
Performs a key exchange operation using the provided algorithm with the
provided peer's public key.
Nr   )r3   rN   rT   s   &&&r'   exchange EllipticCurvePrivateKey.exchangeK   r6   r&   c                   V ^8  d   QhRR/# r+   r,   rU   r   )r.   s   "r'   r/   rW   U   s      2 r&   c                    R# )z2
The EllipticCurvePublicKey for this private key.
Nr   r2   s   &r'   
public_key"EllipticCurvePrivateKey.public_keyT   r6   r&   c                   V ^8  d   QhRR/# r+   r,   r)   r   )r.   s   "r'   r/   rW   \         } r&   c                    R# z(
The EllipticCurve that this key is on.
Nr   r2   s   &r'   curveEllipticCurvePrivateKey.curveZ   r6   r&   c                   V ^8  d   QhRR/# r8   r   )r.   s   "r'   r/   rW   c   r:   r&   c                    R# r<   r   r2   s   &r'   r=    EllipticCurvePrivateKey.key_sizea   r6   r&   c               $    V ^8  d   QhRRRRRR/# )r+   datautils.Buffersignature_algorithmrH   r,   rV   r   )r.   s   "r'   r/   rW   i   s(       = 
	r&   c                    R# )z
Signs the data
Nr   )r3   rk   rm   s   &&&r'   signEllipticCurvePrivateKey.signh   r6   r&   c                   V ^8  d   QhRR/# )r+   r,   EllipticCurvePrivateNumbersr   )r.   s   "r'   r/   rW   s   s      !< r&   c                    R# )z)
Returns an EllipticCurvePrivateNumbers.
Nr   r2   s   &r'   private_numbers'EllipticCurvePrivateKey.private_numbersr   r6   r&   c               (    V ^8  d   QhRRRRRRRR/# )	r+   encoding_serialization.Encodingr.   z_serialization.PrivateFormatencryption_algorithmz)_serialization.KeySerializationEncryptionr,   rV   r   )r.   s   "r'   r/   rW   y   s3      ) - H	
 
r&   c                    R# z&
Returns the key serialized as bytes.
Nr   )r3   rw   r.   ry   s   &&&&r'   private_bytes%EllipticCurvePrivateKey.private_bytesx   r6   r&   c                   V ^8  d   QhRR/# )r+   r,   rQ   r   )r.   s   "r'   r/   rW      s      1 r&   c                    R# z
Returns a copy.
Nr   r2   s   &r'   __copy__ EllipticCurvePrivateKey.__copy__   r6   r&   r   N)r   r   r   r   rD   rE   rY   r^   rC   re   r=   ro   rt   r|   r   r%   r   r&   r'   rQ   rQ   J   s      	 
   
   
 	  	 
 	  	 r&   rQ   c                  f   ] tR t^t]]P                  R R l4       4       t]]P                  R R l4       4       t]P                  R R l4       t	]P                  R R l4       t
]P                  R	 R
 l4       t]R R l4       t]P                  R R l4       t]P                  R R l4       tRtR# )rU   c                   V ^8  d   QhRR/# ra   r   )r.   s   "r'   r/   #EllipticCurvePublicKey.__annotate__   rb   r&   c                    R# rd   r   r2   s   &r'   re   EllipticCurvePublicKey.curve   r6   r&   c                   V ^8  d   QhRR/# r8   r   )r.   s   "r'   r/   r      r:   r&   c                    R# r<   r   r2   s   &r'   r=   EllipticCurvePublicKey.key_size   r6   r&   c                   V ^8  d   QhRR/# )r+   r,   EllipticCurvePublicNumbersr   )r.   s   "r'   r/   r      s       : r&   c                    R# )z(
Returns an EllipticCurvePublicNumbers.
Nr   r2   s   &r'   public_numbers%EllipticCurvePublicKey.public_numbers   r6   r&   c               $    V ^8  d   QhRRRRRR/# )r+   rw   rx   r.   z_serialization.PublicFormatr,   rV   r   )r.   s   "r'   r/   r      s(      ) , 
	r&   c                    R# r{   r   )r3   rw   r.   s   &&&r'   public_bytes#EllipticCurvePublicKey.public_bytes   r6   r&   c               (    V ^8  d   QhRRRRRRRR/# )r+   	signaturerl   rk   rm   rH   r,   Noner   )r.   s   "r'   r/   r      s2        =	
 
r&   c                    R# )z%
Verifies the signature of the data.
Nr   )r3   r   rk   rm   s   &&&&r'   verifyEllipticCurvePublicKey.verify   r6   r&   c               $    V ^8  d   QhRRRRRR/# )r+   re   r)   rk   rV   r,   rU   r   )r.   s   "r'   r/   r      s$     > >!>).>	>r&   c                	    \         P                  ! R V4       \        V4      ^ 8X  d   \        R4      hV^ ,          R9  d   \        R4      h\        P
                  P                  W4      # )rk   z%data must not be an empty byte stringz%Unsupported elliptic curve point type)r+         )r   _check_byteslen
ValueErrorrust_opensslecfrom_public_bytes)clsre   rk   s   &&&r'   from_encoded_point)EllipticCurvePublicKey.from_encoded_point   sY     	64(t9>DEE7,,DEE00==r&   c                    V ^8  d   QhRRRR/# )r+   otherobjectr,   boolr   )r.   s   "r'   r/   r      s      F t r&   c                    R# )z
Checks equality.
Nr   )r3   r   s   &&r'   __eq__EllipticCurvePublicKey.__eq__   r6   r&   c                   V ^8  d   QhRR/# r\   r   )r.   s   "r'   r/   r      s      0 r&   c                    R# r   r   r2   s   &r'   r   EllipticCurvePublicKey.__copy__   r6   r&   r   N)r   r   r   r   rC   rD   rE   re   r=   r   r   r   classmethodr   r   r   r%   r   r&   r'   rU   rU      s      
   
 	 
 	  	  > > 	 
 	 r&   rU   c                  "    ] tR t^tRtRtRtRtR# )r$   	sect571r1i:  l&   GN_&f.TO!9;{(c3B9LU1r   Nr   r   r   r   r4   r=   rA   r%   r   r&   r'   r$   r$          DH dKr&   r$   c                  "    ] tR t^tRtRtRtRtR# )r"   	sect409r1  l   sD34&8x@'>R_>fK05*<                            r   Nr   r   r&   r'   r"   r"      s    DH{Kr&   r"   c                  "    ] tR t^tRtRtRtRtR# )r    	sect283r1  l   3[_)!XeRq$?0K9r   Nr   r   r&   r'   r    r           DH[Kr&   r    c                  "    ] tR t^tRt^tRtRtR# )r   	sect233r1l   `t&e9]	               r   Nr   r   r&   r'   r   r      s    DHOKr&   r   c                  "    ] tR t^tRt^tRtRtR# )r   	sect163r2l   3LFHJ08?/R          r   Nr   r   r&   r'   r   r          DH=Kr&   r   c                  "    ] tR t^tRtRtRtRtR# )r#   	sect571k1i;  l&   F=^gEk;RNkKab	z95,1q!aL                                     @r   Nr   r   r&   r'   r#   r#      r   r&   r#   c                  "    ] tR t^tRtRtRtRtR# )r!   	sect409k1r   l   _<@Z%|4>UD (;x r   Nr   r   r&   r'   r!   r!      s    DHzKr&   r!   c                  "    ] tR tRtRtRtRtRtR# )r   i  	sect283k1r   l   a<,<x("wK]:h..r   Nr   r   r&   r'   r   r     r   r&   r   c                  "    ] tR tRtRt^tRtRtR# )r   i
  	sect233k1l   +bWkwFM"VN              @ r   Nr   r   r&   r'   r   r   
  s    DHNKr&   r   c                  "    ] tR tRtRt^tRtRtR# )r   i  	sect163k1l   %360@          r   Nr   r   r&   r'   r   r     r   r&   r   c                  "    ] tR tRtRtRtRtRtR# )r   i  	secp521r1i	  l#   	dp"z\}[z3"nZ;PK#
`7roCQr   Nr   r   r&   r'   r   r     s    DH XKr&   r   c                  "    ] tR tRtRtRtRtRtR# )r   i  	secp384r1  l   s)e`gwlX_[nlv|r   Nr   r   r&   r'   r   r     s    DHtKr&   r   c                  "    ] tR tRtRtRtRtRtR# )r   i"  	secp256r1   l   Q%x+Ohbi+}s   @ r   Nr   r   r&   r'   r   r   "      DHJ r&   r   c                  "    ] tR tRtRtRtRtRtR# )r   i*  	secp256k1r   l   AAl 3z~i9nW~ r   Nr   r   r&   r'   r   r   *  r   r&   r   c                  "    ] tR tRtRt^tRtRtR# )r   i2  	secp224r1l   =*8%(?r   Nr   r   r&   r'   r   r   2  s    DHLKr&   r   c                  "    ] tR tRtRt^tRtRtR# )r   i8  	secp192r1l   1(i&^#a;r   Nr   r   r&   r'   r   r   8  s    DHDKr&   r   c                  "    ] tR tRtRtRtRtRtR# )BrainpoolP256R1i>  brainpoolP256r1r   l   V.
: yo4,(qvBT0C7U{h+) r   Nr   r   r&   r'   r   r   >  s    DHJ r&   r   c                  "    ] tR tRtRtRtRtRtR# )BrainpoolP384R1iF  brainpoolP384r1r   l   eeRHA\1o+['K2s31
U{8/C{u%NQA9r   Nr   r   r&   r'   r   r   F  s    DHtKr&   r   c                  "    ] tR tRtRtRtRtRtR# )BrainpoolP512R1iL  brainpoolP512r1i   l#   i R9
Z<,-B`XG Xe3$*S .>U@Sf9fAtrY0'qjNg"qmU r   Nr   r   r&   r'   r   r   L  s    DH UKr&   r   
prime192v1
prime256v1r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   zdict[str, EllipticCurve]_CURVE_TYPESc                  R    ] tR tRtR
R R llt]R R l4       t]R R l4       tRtR	# )ECDSAik  c                    V ^8  d   QhRRRR/# )r+   rN   rK   deterministic_signingr   r   )r.   s   "r'   r/   ECDSA.__annotate__l  s     < <><  $<r&   c                	    ^ RI Hp V'       d1   VP                  4       '       g   \        R\        P
                  4      hWn        W n        R# )r   )backendzZECDSA with deterministic signature (RFC 6979) is not supported by this version of OpenSSL.N),cryptography.hazmat.backends.openssl.backendr   ecdsa_deterministic_supportedr   r    UNSUPPORTED_PUBLIC_KEY_ALGORITHM
_algorithm_deterministic_signing)r3   rN   r   r   s   &&& r'   __init__ECDSA.__init__l  sD    
 	I "99;;&899 
 $&;#r&   c                   V ^8  d   QhRR/# rJ   r   )r.   s   "r'   r/   r     s      	4r&   c                	    V P                   # N)r   r2   s   &r'   rN   ECDSA.algorithm  s     r&   c                   V ^8  d   QhRR/# )r+   r,   r   r   )r.   s   "r'   r/   r     s     + +	+r&   c                	    V P                   # r   )r   r2   s   &r'   r   ECDSA.deterministic_signing  s     ***r&   )r   r   N)F)	r   r   r   r   r   rC   rN   r   r%   r   r&   r'   r   r   k  s/    <&  
 + +r&   r   c               (    V ^8  d   QhRRRRRRRR/# )	r+   private_valuer9   re   r)   r   z
typing.Anyr,   rQ   r   )r.   s   "r'   r/   r/     s6     D DDD D 	Dr&   c                    \        V \        4      '       g   \        R 4      hV ^ 8:  d   \        R4      h\        P
                  P                  W4      # )z&private_value must be an integer type.z)private_value must be a positive integer.)
isinstancer9   	TypeErrorr   r   r   derive_private_key)r   re   r   s   &&&r'   r  r    sF    
 mS))@AADEE??--mCCr&   c                      ] tR tRtRtR# )rS   i  r   N)r   r   r   r   r%   r   r&   r'   rS   rS     s    r&   rS   c                    V ^8  d   QhRRRR/# )r+   oidr   r,   ztype[EllipticCurve]r   )r.   s   "r'   r/   r/     s     
 
+ 
0C 
r&   c                R     \         V ,          #   \         d    \        R 4      hi ; i)zCThe provided object identifier has no matching elliptic curve class)_OID_TO_CURVEKeyErrorLookupError)r  s   &r'   get_curve_for_oidr	    s3    
S!! 

 	

s    &ztuple[type[EllipticCurve], ...]_SECT_CURVESz% will be removed in the next release.)r4   r   )E__conditional_annotations__
__future__r   rD   typingcryptographyr   cryptography.exceptionsr   r   cryptography.hazmat._oidr   "cryptography.hazmat.bindings._rustr   r   cryptography.hazmat.primitivesr	   r
   )cryptography.hazmat.primitives.asymmetric
asym_utilsr   ABCMetar)   rH   rQ   (EllipticCurvePrivateKeyWithSerializationregisterr   ECPrivateKeyrU   'EllipticCurvePublicKeyWithSerializationECPublicKeyrr   r   r$   r"   r    r   r   r#   r!   r   r   r   r   r   r   r   r   r   r   r   r   r   __annotations__r   generate_private_keyr  rS   r   r   r   r  r	  r
  
_curve_cls
deprecatedr   DeprecatedIn46)r  s   @r'   <module>r      s  
 # " 
   B 5 F A I1 1,ckk . = =@ ,C (     !=!= >Bs{{ BJ +A '    ; ; <*ooII )__GG d d| |\ \P P> >d d{ {\ \O O> >X Xu u  M ME Em um uUm U*)+*)+* * 	*
 * * * * * * * * * * *  !*" #*$ (((+*& 2++ +B $;; D	 			 	 		
 	 	 $$o $$o $$o 	 	 	 	 	 	  	!" 	#$ 		'.
 1-  J	
DE   r&   