+
    Žvj¸  ã                  óº   € ^ RI Ht ^ RIt^ RIt^ RIHtHt ^ RIHtH	t	 ^ RI
HtHtHt ^ RIHt ^ RIHt ]P$                  ]]]3,          tR R	 lt ! R
 R4      tR# )é    )ÚannotationsN)ÚquoteÚ	urlencode)Úconstant_timeÚhmac)ÚSHA1ÚSHA256ÚSHA512)ÚInvalidToken)ÚBufferc               ó0   € V ^8„  d   QhRRRRRRRRRR	R
R/# )é   ÚhotpÚHOTPÚ	type_nameÚstrÚaccount_nameÚissuerú
str | NoneÚextra_parameterszlist[tuple[str, int]]Úreturn© )Úformats   "Úq/var/www/html/daimler-pipeline/venv/lib/python3.14/site-packages/cryptography/hazmat/primitives/twofactor/hotp.pyÚ__annotate__r      sL   € ÷ Dñ DØ
ðDàðDð ðDð ð	Dð
 ,ðDð 	ñDó    c                ó|  € R V P                   3R\        P                  ! V P                  4      3RV P                  P
                  P                  4       3.pVe   VP                  RV34       VP                  V4       V'       d   \        V4       R\        V4       2M
\        V4      pRV RV R\        V4       2# )ÚdigitsÚsecretÚ	algorithmr   Ú:z
otpauth://Ú/Ú?)Ú_lengthÚbase64Ú	b32encodeÚ_keyÚ
_algorithmÚnameÚupperÚappendÚextendr   r   )r   r   r   r   r   Ú
parametersÚlabels   &&&&&  r   Ú_generate_urir/      sÀ   € ð 
�4—<‘<Ð Ø	”6×#Ò# D§I¡IÓ.Ð/Ø	�d—o‘o×*Ñ*×0Ñ0Ó2Ð3ð€Jð ÒØ×Ñ˜8 VÐ,Ô-à×ÑÐ&Ô'÷ ô �‹=ˆ/˜œ5 Ó.Ð/Ñ0ä�<Ó ð 
ð
 ˜	�{ ! E 7¨!¬I°jÓ,AÐ+BÐCÐCr   c                  óV   € ] tR t^-tRR R lltR R ltR R ltR R	 ltR
 R ltRt	R# )r   Nc               ó0   € V ^8„  d   QhRRRRRRRRR	R
RR/# )r   Úkeyr   ÚlengthÚintr    ÚHOTPHashTypesÚbackendz
typing.AnyÚenforce_key_lengthÚboolr   ÚNoner   )r   s   "r   r   ÚHOTP.__annotate__.   sF   € ÷ $ñ $àð$ð ð$ð !ð	$ð
 ð$ð !ð$ð 
ñ$r   c                	ó8  € \        V4      ^8  d   VRJ d   \        R4      h\        V\        4      '       g   \	        R4      hV^8  g   V^8”  d   \        R4      h\        V\
        \        \        34      '       g   \	        R4      hWn        W n	        W0n
        R# )é   Tz'Key length has to be at least 128 bits.z)Length parameter must be an integer type.z)Length of HOTP has to be between 6 and 8.z)Algorithm must be SHA1, SHA256 or SHA512.N)ÚlenÚ
ValueErrorÚ
isinstancer4   Ú	TypeErrorr   r	   r
   r'   r$   r(   )Úselfr2   r3   r    r6   r7   s   &&&&&&r   Ú__init__ÚHOTP.__init__.   s„   € ô ˆs‹8�bŒ=Ð/°4Ó7ÜÐFÓGÐGä˜&¤#×&Ò&ÜÐGÓHÐHà�AŒ:˜ !œÜÐHÓIÐIä˜)¤d¬F´FÐ%;×<Ò<ÜÐGÓHÐHàŒ	ØŒØ#Žr   c               ó    € V ^8„  d   QhRRRR/# )r   Úcounterr4   r   Úbytesr   )r   s   "r   r   r:   F   s   € ÷ >ñ > ð >¨ñ >r   c                	óì   € \        V\        4      '       g   \        R 4      hV P                  V4      pV^
V P                  ,          ,          pRP                  W0P                  4      P                  4       # )z*Counter parameter must be an integer type.z{0:0{1}})r?   r4   r@   Ú_dynamic_truncater$   r   Úencode)rA   rE   Útruncated_valuer   s   &&  r   ÚgenerateÚHOTP.generateF   s\   € Ü˜'¤3×'Ò'ÜÐHÓIÐIà×0Ñ0°Ó9ˆØ " d§l¡lÕ"2Õ3ˆØ× Ñ  §|¡|Ó4×;Ñ;Ó=Ð=r   c               ó$   € V ^8„  d   QhRRRRRR/# )r   r   rF   rE   r4   r   r9   r   )r   s   "r   r   r:   N   s&   € ÷ Fñ F˜5ð F¨3ð F°4ñ Fr   c                	ót   € \         P                  ! V P                  V4      V4      '       g   \        R 4      hR# )z#Supplied HOTP value does not match.N)r   Úbytes_eqrK   r   )rA   r   rE   s   &&&r   ÚverifyÚHOTP.verifyN   s0   € Ü×%Ò% d§m¡m°GÓ&<¸d×CÒCÜÐDÓEÐEñ Dr   c               ó    € V ^8„  d   QhRRRR/# )r   rE   r4   r   r   )r   s   "r   r   r:   R   s   € ÷ ?ñ ?¨ð ?°ñ ?r   c                	óŒ  € \         P                  ! V P                  V P                  4      p VP	                  VP                  ^RR7      4       TP                  4       pT\        T4      ^,
          ,          ^,          pY4T^,            p\        P                  TRR7      R,          #   \         d    \        RR R24      hi ; i)é   Úbig)r3   Ú	byteorderzCounter must be between 0 and Ú.)rV   iÿÿÿl   ÿÿÿÿ )r   ÚHMACr'   r(   ÚupdateÚto_bytesÚOverflowErrorr>   Úfinalizer=   r4   Ú
from_bytes)rA   rE   ÚctxÚ
hmac_valueÚoffsetÚps   &&    r   rH   ÚHOTP._dynamic_truncateR   s¯   € Ü�iŠi˜Ÿ	™	 4§?¡?Ó3ˆð	LØ�J‰J�w×'Ñ'¨q¸EÐ'ÓBÔCð —\‘\“^ˆ
àœC 
›O¨aÕ/Õ0°6Õ9ˆØ ¨¥
Ð+ˆÜ�~‰~˜a¨5ˆ~Ó1°JÕ>Ð>øô ô 	LÜÐ=¸i¸[ÈÐJÓKÐKð	Lús   ­"B( Â(Cc               ó(   € V ^8„  d   QhRRRRRRRR/# )r   r   r   rE   r4   r   r   r   r   )r   s   "r   r   r:   `   s,   € ÷ 
ñ 
Øð
Ø*-ð
Ø7Að
à	ñ
r   c           
     	ó6   € \        V R WR\        V4      3.4      # )r   rE   )r/   r4   )rA   r   rE   r   s   &&&&r   Úget_provisioning_uriÚHOTP.get_provisioning_uri`   s&   € ô Ø�&˜,°)¼SÀ»\Ð1JÐ0Kó
ð 	
r   )r(   r'   r$   )NT)
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__rB   rK   rP   rH   re   Ú__static_attributes__r   r   r   r   r   -   s!   † ÷$õ0>õFõ?÷
ñ 
r   r   )Ú
__future__r   r%   ÚtypingÚurllib.parser   r   Úcryptography.hazmat.primitivesr   r   Ú%cryptography.hazmat.primitives.hashesr   r	   r
   Ú(cryptography.hazmat.primitives.twofactorr   Úcryptography.utilsr   ÚUnionr5   r/   r   r   r   r   Ú<module>rt      sG   ðõ
 #ã Û ß )ç >ß FÑ FÝ AÝ %à—‘˜T 6¨6Ð1Õ2€õD÷48
ó 8
r   