+
    Ÿ1jo  ã                  óô  € ^ RI Ht ^ RIHt ^ RIHtHt ^ RIHt ^ RIH	t	 ^ RIH
t
 ^ RIHtHt ^ RIHt ^ R	IHt ^ R
IH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 R]4      t ! R R]4      t ! R R]4      t ! R R]]4      t]P<                  ! ]
]R]P@                  RR7       ]P<                  ! ]]R]P@                  RR7       ]P<                  ! ]	]R]P@                  RR7       R # )!é    )Úannotations)Úutils)ÚUnsupportedAlgorithmÚ_Reasons)ÚCFB)ÚCFB8)ÚOFB)ÚBlockCipherAlgorithmÚCipherAlgorithm)ÚMode)ÚModeWithAuthenticationTag)ÚModeWithInitializationVector)ÚModeWithNonce)ÚModeWithTweak)Ú_check_aes_key_lengthÚ_check_iv_and_key_lengthÚ_check_nonce_length)Ú
algorithmsc                  ó@   € ] tR t^'tR tR R lt]R R l4       t]t	Rt
R# )ÚCBCc               ó   € V ^8„  d   QhRR/# )é   Úinitialization_vectorúutils.Buffer© )Úformats   "ÚLlib/python3.14/site-packages/cryptography/hazmat/primitives/ciphers/modes.pyÚ__annotate__ÚCBC.__annotate__*   s   € ÷ <ñ <¨lñ <ó    c                	ó@   € \         P                  ! R V4       Wn        R# )r   N)r   Ú_check_byteslikeÚ_initialization_vector)Úselfr   s   &&r   Ú__init__ÚCBC.__init__*   s   € Ü×ÒÐ6Ð8MÔNØ&;Ö#r    c               ó   € V ^8„  d   QhRR/# ©r   Úreturnr   r   )r   s   "r   r   r   /   ó   € ÷ +ñ + |ñ +r    c                	ó   € V P                   # ©N©r#   ©r$   s   &r   r   ÚCBC.initialization_vector.   ó   € à×*Ñ*Ð*r    r-   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Únamer%   Úpropertyr   r   Úvalidate_for_algorithmÚ__static_attributes__r   r    r   r   r   '   s(   † Ø€Dõ<ð ô+ó ð+ð 6Ôr    r   c                  óH   € ] tR t^5tR tR R lt]R R l4       tR R ltRt	R# )	ÚXTSc               ó   € V ^8„  d   QhRR/# )r   Útweakr   r   )r   s   "r   r   ÚXTS.__annotate__8   s   € ÷ ñ ˜lñ r    c                	óv   € \         P                  ! R V4       \        V4      ^8w  d   \        R4      hWn        R# )r<   z!tweak must be 128-bits (16 bytes)N)r   r"   ÚlenÚ
ValueErrorÚ_tweak)r$   r<   s   &&r   r%   ÚXTS.__init__8   s/   € Ü×Ò˜w¨Ô.äˆu‹:˜ÔÜÐ@ÓAÐAàŽr    c               ó   € V ^8„  d   QhRR/# r(   r   )r   s   "r   r   r=   A   ó   € ÷ ñ |ñ r    c                	ó   € V P                   # r,   ©rA   r.   s   &r   r<   Ú	XTS.tweak@   ó   € à{‰{Ðr    c               ó    € V ^8„  d   QhRRRR/# ©r   Ú	algorithmr   r)   ÚNoner   )r   s   "r   r   r=   D   s   € ÷ ñ °ð ÀDñ r    c                	ó´   € \        V\        P                  \        P                  34      '       d   \	        R 4      hVP
                  R9  d   \        R4      hR# )z\The AES128 and AES256 classes do not support XTS, please use the standard AES class instead.z\The XTS specification requires a 256-bit key for AES-128-XTS and 512-bit key for AES-256-XTSN)é   i   )Ú
isinstancer   ÚAES128ÚAES256Ú	TypeErrorÚkey_sizer@   ©r$   rK   s   &&r   r7   ÚXTS.validate_for_algorithmD   sY   € Üi¤*×"3Ñ"3´Z×5FÑ5FÐ!G×HÒHÜð2óð ð
 ×Ñ ZÔ/Üð3óð ñ 0r    rF   N)
r1   r2   r3   r4   r5   r%   r6   r<   r7   r8   r   r    r   r:   r:   5   s*   † Ø€Dõð ôó ð÷ñ r    r:   c                  ó   € ] tR t^RtR t]tRtR# )ÚECBr   N)r1   r2   r3   r4   r5   r   r7   r8   r   r    r   rW   rW   R   s   † Ø€Dà2Ôr    rW   c                  óH   € ] tR t^XtR tR R lt]R R l4       tR R ltRt	R# )	ÚCTRc               ó   € V ^8„  d   QhRR/# )r   Únoncer   r   )r   s   "r   r   ÚCTR.__annotate__[   s   € ÷ ñ ˜lñ r    c                	ó@   € \         P                  ! R V4       Wn        R# )r[   N)r   r"   Ú_nonce)r$   r[   s   &&r   r%   ÚCTR.__init__[   s   € Ü×Ò˜w¨Ô.ØŽr    c               ó   € V ^8„  d   QhRR/# r(   r   )r   s   "r   r   r\   `   rD   r    c                	ó   € V P                   # r,   ©r^   r.   s   &r   r[   Ú	CTR.nonce_   rH   r    c               ó    € V ^8„  d   QhRRRR/# rJ   r   )r   s   "r   r   r\   c   s   € ÷ >ñ >°ð >ÀDñ >r    c                	ó^   € \        W4       \        V P                  V P                  V4       R # r,   )r   r   r[   r5   rT   s   &&r   r7   ÚCTR.validate_for_algorithmc   s   € Ü˜dÔ.Ü˜DŸJ™J¨¯	©	°9Ö=r    rb   N)
r1   r2   r3   r4   r5   r%   r6   r[   r7   r8   r   r    r   rY   rY   X   s*   † Ø€Dõð ôó ð÷>ñ >r    rY   c                  ój   € ] tR t^htR tRtRtRR R llt]R R l4       t	]R R l4       t
R R	 ltR
tR# )ÚGCMNc               ó$   € V ^8„  d   QhRRRRRR/# )r   r   r   Útagúbytes | NoneÚmin_tag_lengthÚintr   )r   s   "r   r   ÚGCM.__annotate__m   s(   € ÷ .ñ .à+ð.ð ð.ð ñ	.r    c                	óF  € \         P                  ! R V4       \        V4      ^8  g   \        V4      ^€8”  d   \        R4      hWn        V^8  d   \        R4      hVe7   \         P
                  ! RV4       \        V4      V8  d   \        RV R24      hW n        W0n        R# )r   zIinitialization_vector must be between 8 and 128 bytes (64 and 1024 bits).zmin_tag_length must be >= 4Nrj   zAuthentication tag must be z bytes or longer.)r   r"   r?   r@   r#   Ú_check_bytesÚ_tagÚ_min_tag_length)r$   r   rj   rl   s   &&&&r   r%   ÚGCM.__init__m   s­   € ô 	×ÒÐ6Ð8MÔNÜÐ$Ó%¨Ô)¬SÐ1FÓ-GÈ#Ô-MÜð"óð ð '<Ô#Ø˜AÔÜÐ:Ó;Ð;ØŠ?Ü×Ò˜u cÔ*Ü3‹x˜.Ô(Ü Ø1°.Ð1Að Bð óð ð Œ	Ø-Ör    c               ó   € V ^8„  d   QhRR/# )r   r)   rk   r   )r   s   "r   r   rn   ‰   s   € ÷ ñ \ñ r    c                	ó   € V P                   # r,   )rq   r.   s   &r   rj   ÚGCM.tagˆ   s   € ày‰yÐr    c               ó   € V ^8„  d   QhRR/# r(   r   )r   s   "r   r   rn      r*   r    c                	ó   € V P                   # r,   r-   r.   s   &r   r   ÚGCM.initialization_vectorŒ   r0   r    c               ó    € V ^8„  d   QhRRRR/# rJ   r   )r   s   "r   r   rn      s   € ÷ ñ °ð ÀDñ r    c                	ó  € \        W4       \        V\        4      '       g   \        R \        P
                  4      hVP                  ^,          pV P                  e,   \        V P                  4      V8”  d   \        RV R24      hR# R# )z%GCM requires a block cipher algorithmNz'Authentication tag cannot be more than z bytes.)
r   rO   r
   r   r   ÚUNSUPPORTED_CIPHERÚ
block_sizerq   r?   r@   )r$   rK   Úblock_size_bytess   && r   r7   ÚGCM.validate_for_algorithm   sˆ   € Ü˜dÔ.Ü˜)Ô%9×:Ò:Ü&Ø7Ü×+Ñ+óð ð %×/Ñ/°1Õ4ÐØ9‰9Ò ¤S¨¯©£^Ð6FÔ%FÜØ9Ð:JÐ9Kð Lð óð ñ &GÑ r    )r#   rr   rq   l   àÿ? l            )Né   )r1   r2   r3   r4   r5   Ú_MAX_ENCRYPTED_BYTESÚ_MAX_AAD_BYTESr%   r6   rj   r   r7   r8   r   r    r   rh   rh   h   sI   † Ø€DØ-ÐØ!€N÷.ð6 ôó ðð ô+ó ð+÷ñ r    rh   z•OFB has been moved to cryptography.hazmat.decrepit.ciphers.modes.OFB and will be removed from cryptography.hazmat.primitives.ciphers.modes in 49.0.0.r	   )r5   z•CFB has been moved to cryptography.hazmat.decrepit.ciphers.modes.CFB and will be removed from cryptography.hazmat.primitives.ciphers.modes in 49.0.0.r   z—CFB8 has been moved to cryptography.hazmat.decrepit.ciphers.modes.CFB8 and will be removed from cryptography.hazmat.primitives.ciphers.modes in 49.0.0.r   N)!Ú
__future__r   Úcryptographyr   Úcryptography.exceptionsr   r   Ú*cryptography.hazmat.decrepit.ciphers.modesr   r   r	   Ú/cryptography.hazmat.primitives._cipheralgorithmr
   r   Ú%cryptography.hazmat.primitives._modesr   r   r   r   r   r   r   r   Ú&cryptography.hazmat.primitives.ciphersr   r   r:   rW   rY   rh   Ú
deprecatedr1   ÚDeprecatedIn47r   r    r   Ú<module>rŒ      s  ðõ
 #å ß BÝ AÝ CÝ A÷õõõõõ÷ñ õ
 >ô6Ð
&ô 6ôˆ-ô ô:3ˆ$ô 3ô>ˆ-ô >ô 4Ð
&Ð(Aô 4ðn × Ò ØØð>ð 
×ÑØ	õ	ð × Ò ØØð>ð 
×ÑØ	õ	ð × Ò ØØð>ð 
×ÑØ	÷	r    