
    $Sh                        d dl Z  e j        e          Z	 d dlZe                    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S # e$ ry d dlZe                    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 dS w xY w)    NzUsing TgCryptodatakeyivreturnc                 .    t          j        | ||          S N)tgcryptoige256_encryptr   r   r   s      Y/var/www/html/movieo_spanner_bot/venv/lib/python3.11/site-packages/pyrogram/crypto/aes.pyr
   r
          &tS"555    c                 .    t          j        | ||          S r   )r	   ige256_decryptr   s      r   r   r   !   r   r   statec                 N    t          j        | |||pt          d                    S N   )r	   ctr256_encrypt	bytearrayr   r   r   r   s       r   r   r   %   $    &tS"e6Ky||LLLr   c                 N    t          j        | |||pt          d                    S r   )r	   ctr256_decryptr   r   s       r   r   r   )   r   r   abc                     t                               t                               | d          t                               |d          z  t          |           d          S Nbigintto_bytes
from_byteslenr   r   s     r   xorr&   -   H    ||NN1e$$s~~a'?'??FF
 
 	
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                 D    t          | |||pt          d                    S r   ctrr   r   s       r   r   r   E   !    4b%"79Q<<888r   c                 D    t          | |||pt          d                    S r   r-   r   s       r   r   r   I   r/   r   c                     t                               t                               | d          t                               |d          z  t          |           d          S r   r    r%   s     r   r&   r&   M   r'   r   encryptc           	          t          j        |          }|d d         }|dd          } fdt          dt                     d          D              |rNt	                     D ]=\  }}t          |                    t          ||                    |          x} |<   |}>nMt	                     D ]=\  }}t          |                    t          ||                    |          x} |<   |}>d                               S )N   c                 *    g | ]}||d z            S )r4    ).0ir   s     r   
<listcomp>zige.<locals>.<listcomp>[   s%    AAAAQBYAAAr   r   r   )	pyaesAESranger$   	enumerater&   r2   decryptjoin)	r   r   r   r2   cipheriv_1iv_2r8   chunks	   `        r   r*   r*   U   s   3#2#w"##wAAAAq#d))R)@)@AAA 	%dOO  5!$V^^Ct4D4D%E%Et!L!LLtAw &dOO  5!$V^^Ct4D4D%E%Et!L!LLtAwxx~~r   c           	      R   t          j        |          }t          |           }|                    |          }t	          dt          |           d          D ]}t	          dt          t          |           |z
  d                    D ]}|||z   xx         ||d                  z  cc<   |dxx         dz  cc<   |d         dk    rd|d<   |d         dk    rPt	          ddd          D ])}		 ||	xx         dz  cc<    n# t          $ r d||	<   Y &w xY w|                    |          }|S )Nr   r4   r      )r:   r;   r   r2   r<   r$   min
ValueError)
r   r   r   r   r@   outrC   r8   jks
             r   r.   r.   i   sU   3oor""q#d))R(( 	/ 	/A1c#d))a-4455 / /AE


eE!Ho-


aA8r>> E!H8q=="2r2.. & &&qEEEQJEEE!E) & & &$%BqEEE& #NN2..E!/$ 
s   )C;;D	D	r   )logging	getLogger__name__logr	   infobytesr
   r   r   r   r   r&   ImportErrorr:   warningboolr*   r.   r6   r   r   <module>rU      s+  & g!!kOOOHH6U 6 6E 6e 6 6 6 66U 6 6E 6e 6 6 6 6M MU M MI Mi M[` M M M MM MU M MI Mi M[` M M M M
u 
 
5 
 
 
 
 
 
  O O OLLLKK	?  (U ( (E (e ( ( ( ()U ) )E )e ) ) ) )9 9U 9 9I 9i 9[` 9 9 9 99 9U 9 9I 9i 9[` 9 9 9 9
u 
 
5 
 
 
 
% e   %    (% e  9        mOs   AA1 1A:C/.C/