
    HAi                         S SK Jr  S SKJr  SrSr " S S\5      r " S S\5      rS	\S
\S\4S jr	S	\S
\S\4S jr
S	\S
\S\4S jrS	\S
\S\4S jrS	\S\S
\S\4S jrS	\S\S
\S\4S jrg)    )	CryptBase)DependencyErrorz/cryptography>=3.1 is required for AES algorithm)local_crypt_fallbackz0.0.0c                   J    \ rS rSrS\SS4S jrS\S\4S jrS\S\4S jrS	rg)
CryptRC4%   keyreturnNc                    [        [        S5      5      U l        Sn[        S5       Ha  nX R                  U   -   X[        U5      -     -   S-  nU R                  U   U R                  U   sU R                  U'   U R                  U'   Mc     g )N   r   )	bytearrayrangeslen)selfr	   jis       \/var/www/html/land-ocr/venv/lib/python3.13/site-packages/pypdf/_crypt_providers/_fallback.py__init__CryptRC4.__init__&   su    5:&sAVVAYS\!22c9A#'66!9dffQi DFF1Itvvay     datac                 @   [        U R                  5      n[        [        U5      5       Vs/ s H  nSPM     nnSu  pV[        [        U5      5       H:  nUS-   S-  nXbU   -   S-  nX&   X%   sX%'   X&'   X"U   X&   -   S-     nX   U-  XG'   M<     [	        U5      $ s  snf )Nr   )r   r      r   )r   r   r   r   bytes)	r   r   r   _outr   r   kxs	            r   encryptCryptRC4.encrypt-   s    dffD	*+*Qq*+s4y!AQ#AqTS AqtJAD!$Q4!$;#%&AWq[CF " Sz ,s   Bc                 $    U R                  U5      $ N)r    r   r   s     r   decryptCryptRC4.decrypt9   s    ||D!!r   )r   	__name__
__module____qualname____firstlineno__r   r   r    r%   __static_attributes__ r   r   r   r   %   s;    8E 8d 8
E 
e 
"E "e "r   r   c                   J    \ rS rSrS\SS4S jrS\S\4S jrS\S\4S jrS	rg)
CryptAES=   r	   r
   Nc                     g r#   r-   )r   r	   s     r   r   CryptAES.__init__>   s    r   r   c                      [        [        5      er#   r   _DEPENDENCY_ERROR_STRr$   s     r   r    CryptAES.encryptA       344r   c                      [        [        5      er#   r4   r$   s     r   r%   CryptAES.decryptD   r7   r   r-   r'   r-   r   r   r/   r/   =   s;    E d 5E 5e 55E 5e 5r   r/   r	   r   r
   c                 6    [        U 5      R                  U5      $ r#   )r   r    r	   r   s     r   rc4_encryptr<   H       C=  &&r   c                 6    [        U 5      R                  U5      $ r#   )r   r%   r;   s     r   rc4_decryptr?   L   r=   r   c                      [        [        5      er#   r4   r;   s     r   aes_ecb_encryptrA   P       
/
00r   c                      [        [        5      er#   r4   r;   s     r   aes_ecb_decryptrD   T   rB   r   ivc                      [        [        5      er#   r4   r	   rE   r   s      r   aes_cbc_encryptrH   X   rB   r   c                      [        [        5      er#   r4   rG   s      r   aes_cbc_decryptrJ   \   rB   r   N)pypdf._crypt_providers._baser   pypdf.errorsr   r5   crypt_providerr   r/   r   r<   r?   rA   rD   rH   rJ   r-   r   r   <module>rN      s   8 3 (I  3"y "05y 5'U '% 'E ''U '% 'E '1 1e 1 11 1e 1 11 1E 1 15 11 1E 1 15 1r   