
    N[i                        d dl Z  e j                  e      Z	 d dlZej                  d       dedededefdZdedededefdZddedede	d	e	def
d
Z
ddedede	d	e	def
dZdededefdZy# e$ rt d dlZej                  d       dedededefdZdedededefdZddedede	d	e	def
dZ
ddedede	d	e	def
dZdededefdZdededededef
dZdedede	d	e	def
dZY yw xY w)    NzUsing TgCryptodatakeyivreturnc                 0    t        j                  | ||      S N)tgcryptoige256_encryptr   r   r   s      F/var/www/files/kim/lib/python3.12/site-packages/pyrogram/crypto/aes.pyr
   r
          &&tS"55    c                 0    t        j                  | ||      S r   )r	   ige256_decryptr   s      r   r   r   !   r   r   statec                 L    t        j                  | |||xs t        d            S N   )r	   ctr256_encrypt	bytearrayr   r   r   r   s       r   r   r   %   "    &&tS"e6Ky|LLr   c                 L    t        j                  | |||xs t        d            S r   )r	   ctr256_decryptr   r   s       r   r   r   )   r   r   abc                     t         j                  t         j                  | d      t         j                  |d      z  t        |       d      S Nbigintto_bytes
from_byteslenr   r   s     r   xorr&   -   ;    ||NN1e$s~~a'??F
 	
r   zTgCrypto is missing! Pyrogram will work the same, but at a much slower speed. More info: https://docs.pyrogram.org/topics/speedupsc                     t        | ||d      S )NTiger   s      r   r
   r
   =   s    4b$''r   c                     t        | ||d      S )NFr)   r   s      r   r   r   A   s    4b%((r   c                 8    t        | |||xs t        d            S r   ctrr   r   s       r   r   r   E       4b%"79Q<88r   c                 8    t        | |||xs t        d            S r   r-   r   s       r   r   r   I   r/   r   c                     t         j                  t         j                  | d      t         j                  |d      z  t        |       d      S r   r    r%   s     r   r&   r&   M   r'   r   encryptc           	         t        j                  |      }|d d }|dd  }t        dt        |       d      D cg c]
  }| ||dz     } }|r@t	        |       D ]1  \  }}t        |j                  t        ||            |      x}| |<   |}3 n?t	        |       D ]1  \  }}t        |j                  t        ||            |      x}| |<   |}3 dj                  |       S c c}w )N   r   r   )	pyaesAESranger$   	enumerater&   r2   decryptjoin)	r   r   r   r2   cipheriv_1iv_2ichunks	            r   r*   r*   U   s    3#2w"#w).q#d)R)@AAQBAA%dO 5!$V^^Ct4D%Et!LLtAw &dO 5!$V^^Ct4D%Et!LLtAw xx~ Bs   Cc           	         t        j                  |      }t        |       }|j                  |      }t	        dt        |       d      D ]  }t	        dt        t        |       |z
  d            D ]m  }|||z   xx   ||d      z  cc<   |dxx   dz  cc<   |d   dk\  rd|d<   |d   dk(  s<t	        ddd      D ]  }		 ||	xx   dz  cc<    n |j                  |      }o  |S # t        $ r d||	<   Y ;w xY w)Nr   r4   r      )r5   r6   r   r2   r7   r$   min
ValueError)
r   r   r   r   r;   outr?   r>   jks
             r   r.   r.   i   s   3or"q#d)R( 	/A1c#d)a-45 /AE
eE!Ho-
aA8r> E!H8q="2r2. &&qEQJE!& #NN2.E!/	/& 
  * &$%BqE&s   :C!!C2	1C2	r   )logging	getLogger__name__logr	   infobytesr
   r   r   r   r   r&   ImportErrorr5   warningboolr*   r.    r   r   <module>rR      s  & g!kHH6U 6 6E 6e 66U 6 6E 6e 6MU M MI Mi M[` MMU M MI Mi M[` M
u 
 
5 
  OKK	?(U ( (E (e ()U ) )E )e )9U 9 9I 9i 9[` 99U 9 9I 9i 9[` 9
u 
 
5 
% e   % (% e  9  mOs   AA. .A6C'&C'