+
    it  c                  sf    ^ RI Ht ^ RIt^ RIHt ^ RIHt ^ RIHtH	t	H
t
 ^ RIHt  ! R R4      tR# )	i    )annotationsN)constant_time)InvalidToken)HOTPHOTPHashTypes_generate_uri)Bufferc                  sJ    ] tR t^tRR R lltR R ltR R ltR R	 ltR
tR# )TOTPNc               s0    V ^8  d   QhRRRRRRRRRR	R
R/# )   keyr   lengthint	algorithmr   	time_stepbackendz
typing.Anyenforce_key_lengthZbool Zformat   "T/usr/lib64/python3.14/site-packages/cryptography/hazmat/primitives/twofactor/totp.py__annotate__TOTP.__annotate__   sF     
 

 
 !	

 
 
 !
    c                	s6    W@n         \        WW6R 7      V n        R# ))r   N)
_time_stepr   _hotp)selfr	   r
   r   r   r   r   s   &&&&&&&r   __init__ZTOTP.__init__   s     $

r   c               s     V ^8  d   QhRRRR/# )r   timezint | floatreturnbytesr   r   r   r   r   r   "   s     , ,[ ,U ,r   c                	s    \        V\        \        34      '       g   \        R 4      h\        WP                  ,          4      pV P
                  P                  V4      # )z5Time parameter must be an integer type or float type.)Z
isinstancer   ZfloatZ	TypeErrorr   r   generate)r   r   Zcounters   && r   r   ZTOTP.generate"   sK    $e--G  d__,-zz""7++r   c               s$    V ^8  d   QhRRRRRR/# )r   totpr   r   r   r   ZNoner   r   r   r   r   r   +   s&     F F5 F F Fr   c                	st    \         P                  ! V P                  V4      V4      '       g   \        R 4      hR# )z#Supplied TOTP value does not match.N)r   Zbytes_eqr   r   )r   r   r      &&&r   verifyZTOTP.verify+   s0    %%dmmD&94@@DEE Ar   c               s$    V ^8  d   QhRRRRRR/# )r   account_nameZstrissuerz
str | Noner   r   r   r   r   r   r   /   s$     	
 	
	
)3	
		
r   c           
     	s`    \        V P                  R VVR\        V P                  4      3.4      # )r   Zperiod)r   r   r   r   )r   r"   r#   r    r   get_provisioning_uriZTOTP.get_provisioning_uri/   s5     JJDOO,-.
 	
r   )r   r   )NT)	Z__name__Z
__module__Z__qualname__Z__firstlineno__r   r   r!   r$   Z__static_attributes__r   r   r   r   r      s    
,F	
 	
r   r   )Z
__future__r    ZtypingZcryptography.hazmat.primitivesr   Z(cryptography.hazmat.primitives.twofactorr   Z-cryptography.hazmat.primitives.twofactor.hotpr   r   r   Zcryptography.utilsr   r   r   r   r   <module>r%      s,   
 #  8 A 
 &%
 %
r   