
    #j                     0    d Z ddlmZ  G d d          ZdS )zPython implementation of Arcfour encryption algorithm.
See https://en.wikipedia.org/wiki/RC4
This code is in the public domain.

    )Sequencec                   B    e Zd Zdee         ddfdZdedefdZexZZ	dS )ArcfourkeyreturnNc                    t          t          d                    }d}t          |          }t          d          D ]3}|||         z   |||z           z   dz  }||         ||         c||<   ||<   4|| _        d\  | _        | _        d S )N   r   )r   r   )listrangelensij)selfr   r   r   klenr   s         X/home/rurouni/.hermes/hermes-agent/venv/lib/python3.11/site-packages/pdfminer/arcfour.py__init__zArcfour.__init__   s    s3xxs 	( 	(AQqTCDM)S0AaD!A$LQqT1Q44!    datac                 0   | j         | j        }}| j        }d}t          |          D ]_}|dz   dz  }|||         z   dz  }||         ||         c||<   ||<   |||         ||         z   dz           }|t	          ||z  f          z  }`||c| _         | _        |S )Nr      r	   )r   r   r   iterbytes)r   r   r   r   r   rcks           r   processzArcfour.process   s    &$&AFd 	! 	!AQ#AQqTS AaD!A$LQqT1Q41Q4!A$;#%&AAx AAqr   )
__name__
__module____qualname__r   intr   r   r   encryptdecrypt r   r   r   r   
   sb        	"HSM 	"d 	" 	" 	" 	"E e      Ggggr   r   N)__doc__collections.abcr   r   r$   r   r   <module>r'      sU     % $ $ $ $ $                   r   