HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //home/arjun/projects/env/lib/python3.10/site-packages/qrcode/__pycache__/util.cpython-310.pyc
o

$we�B�@s�ddlZddlZddlmZddlmZmZmZddlm	Z	dZ
dZdZdZ
e
d	ed
ede
diZe
deded
e
d	iZe
deded
e
diZdZe�de�e�d�Zd	ddd�Zgg�ddg�ddg�ddg�ddg�ddg�gd��gd��gd��gd��gd��gd ��gd!��gd"��gd#��gd$��gd%��gd&��gd'��gd(��gd)��gd*��gd+��gd,��gd-��gd.��gd/��gd0��gd1��gd2��gd3��gd4��gd5��gd6��gd7��gd8��gd9��gd:��gd;��gd<��Zd=Zd>Zd?Zd@ZdAZdBdC�ZdDdE�ed�D�ZdFdG�ZdHdI�Z dJdK�Z!dLdM�Z"dNdO�Z#dPdQ�Z$dRdS�Z%dTdU�Z&dVdW�Z'dXdY�Z(dZd[�Z)d\d]�Z*d^d_�Z+drd`da�Z,dbdc�Z-ddde�Z.dfdg�Z/Gdhdi�di�Z0Gdjdk�dk�Z1dle1dmee	fdndo�Z2dpdq�Z3dS)s�N)�List)�LUT�base�
exceptions)�RSBlock�����
�	�����
s-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:s^[s]*\Z�)�rr������")rr�&)r��*)rr�.)r��2)rr�6)r� �:)rr�>)rrr�B)rr�0�F)rrr�J)rrr �N)rr�8�R)rrr"�V)rrr#�Z)rrr�H�^)rrrr'�b)rrr r(�f)rrr �P�j)rr!r"�T�n)rrr"r+�r)rrr#r,�v)rrrr'r/�z)rrr r(r0�~)rr�4r(�h�)rrr)r*�l�)rr�<r+�p�)rrr"r+r5�)rrr#r,r6�)rrr r(r0r8�)rrr�Lr0��)rrr r1r2��)rr!r"r3r4��)rrr r*r4r@�)rrr"r+r5rA�i7i%iT���cC�|jS�N��
data_count)�block�rT�D/home/arjun/projects/env/lib/python3.10/site-packages/qrcode/util.py�_data_counte�rVcs*g|]�dg�fdd�tdd�D��qS)rc
s&g|]}dtttt�|�����qS)r
)�sum�maprVr�	rs_blocks)�.0�version��error_correctionrTrU�
<listcomp>ks��z<listcomp>.<listcomp>r�))�range)r[rTr]rUr_is�
���r_cCsX|d>}t|�tt�dkr$|tt|�tt�>N}t|�tt�dks|d>|BtAS)Nrr)�	BCH_digit�G15�G15_MASK��data�drTrTrU�
BCH_type_infoss
�rhcCsT|d>}t|�tt�dkr$|tt|�tt�>N}t|�tt�dks|d>|BS)Nr
r)rb�G18rerTrTrU�BCH_type_number{s
�rjcCs(d}|dkr|d7}|dL}|dks|S)NrrrT)rf�digitrTrTrUrb�s�rbcCst|dS�Nr)�PATTERN_POSITION_TABLE�r\rTrTrU�pattern_position�srocCs�|dkrdd�S|dkrdd�S|dkrdd�S|dkr d	d�S|d
kr(dd�S|dkr0d
d�S|dkr8dd�S|dkr@dd�Std|��)z>
    Return the mask function for the given mask pattern.
    rcS�||ddkS�NrrrT��i�jrTrTrU�<lambda>��zmask_func.<locals>.<lambda>rcSs|ddkSrqrTrrrTrTrUru��rcSs|ddkS�NrrrTrrrTrTrUru�rwrcSrprxrTrrrTrTrUru�rvr	cSs$t�|d�t�|d�ddkS�Nrrr)�math�floorrrrTrTrUru�s$�cSs||d||ddkSryrTrrrTrTrUru�srcSs ||d||dddkSryrTrrrTrTrUru�� rcSs ||d||dddkS)NrrrrTrrrTrTrUru�r}zBad mask pattern: )�	TypeError)�patternrTrTrU�	mask_func�s"r�cCs|dkrtS|dkrtStS)Nr�)�MODE_SIZE_SMALL�MODE_SIZE_MEDIUM�MODE_SIZE_LARGErnrTrTrU�mode_sizes_for_version�s
r�cCs4|ttttfvrtd|�d���t|�t|�|S)N�Invalid mode (�))�MODE_NUMBER�MODE_ALPHA_NUM�MODE_8BIT_BYTE�
MODE_KANJIr~�
check_versionr�)�moder\rTrTrU�length_in_bits�sr�cCs$|dks|dkrtd|�d���dS)Nr�(zInvalid version (was z, expected 1 to 40))�
ValueErrorrnrTrTrUr��s�r�cCsDt|�}d}t||�}|t||�7}|t||�7}|t||�7}|S�Nr)�len�_lost_point_level1�_lost_point_level2�_lost_point_level3�_lost_point_level4)�modules�
modules_count�
lost_pointrTrTrUr��s
r�c	s:d}t|�}dg|d�|D]:}||}|d}d}|D]}|||kr*|d7}q|dkr6�|d7<d}||}q|dkrI�|d7<q|D]<}|d|}d}|D]#}||||krg|d7}qX|dkrs�|d7<d}|||}qX|dkr��|d7<qL|t�fdd�td|d�D��7}|S)Nrrr|c3s �|]}�||dVqdS)rNrT)r[�each_length��	containerrTrU�	<genexpr>�s
��
�z%_lost_point_level1.<locals>.<genexpr>)rarX)	r�r�r��
modules_range�row�this_row�previous_color�length�colrTr�rUr��sD

�
�
�r�c
Cs�d}t|d�}|D];}||}||d}t|�}|D](}||d}	|	||dkr2t|d�q|	||kr9q|	||kr@q|d7}qq
|S)Nrrr�ra�iter�next)
r�r�r�r�r�r��next_row�modules_range_iterr��	top_rightrTrTrUr��s"
�
r�c	Cs�t|�}t|d�}d}|D]�}||}t|�}d}|D]w}||ds�||dr�||ds�||dr�||ds�||dr`||dr`||d	r`||d
s`||ds`||dr�||ds�||ds�||d	s�||d
r�||dr�||dr�|d7}||dr�t|d�qq|D]�}t|�}d}|D]�}||d|�s@||d|�r@||d|�s@||d|�r@||d|�s@||d|�r||d|�r||d	|�r||d
|�s||d|�s||d|�r<||d|�s@||d|�s@||d	|�s@||d
|�r@||d|�r@||d|�r@|d7}||d|�rNt|d�q�q�|S)
Nrrrr	r|rrrrrr
r�r�)	r�r�r��modules_range_shortr�r�r��modules_range_short_iterr�rTrTrUr�s�
�
�
�
�
�
�
�
	�

�
�
�

�
�
�
�
�
�
���������	�
���
������
��r�cCs>ttt|��}t|�|d}tt|dd�d�}|dS)Nr�drr|r)rXrY�float�int�abs)r�r��
dark_count�percent�ratingrTrTrUr�[sr�ccs��t|�}d}dt�t�d}t|�|kr)t�d|d�}t�d|d�}ndt|��d�d}t�||�}t�||�}t||�}|D]'\}}|rXt	|t
d	d
�VqIt||�D]\}}	|retnt}
t	|	|
d	d
�Vq]qIdS)z�
    An iterator returning QRData chunks optimized to the data content.

    :param minimum: The minimum number of bytes in a row to split as a chunk.
    s\d�[�]�^s+$�{�asciis,}F)r��
check_dataN)
�
to_bytestring�re�escape�	ALPHA_NUMr��compile�str�encode�_optimal_split�QRDatar�r�r�)rf�minimum�num_pattern�
alpha_pattern�	re_repeat�num_bits�is_num�chunk�is_alpha�	sub_chunkr�rTrTrU�optimal_data_chunkscs&�
��r�ccsx�|r1t�||�}|sn%|��|��}}|r d|d|�fVd|||�fV||d�}|s|r:d|fVdSdS)NFT)r��search�start�end)rfr�matchr�r�rTrTrUr�}s��	�r�cCst|t�st|��d�}|S)z^
    Convert data to a (utf-8 encoded) byte-string if it isn't a byte-string
    already.
    zutf-8)�
isinstance�bytesr�r��rfrTrTrUr��s
r�cCs|��rtSt�|�r
tStS)z<
    Calculate the optimal mode for this chunk of data.
    )�isdigitr��RE_ALPHA_NUMr�r�r�r�rTrTrU�optimal_mode�s

r�c@s2eZdZdZddd�Zdd�Zdd	�Zd
d�ZdS)
r�zS
    Data held in a QR compatible format.

    Doesn't currently handle KANJI.
    NTcCsl|rt|�}|durt|�|_n!||_|tttfvr"td|�d���|r1|t|�kr1td|����||_dS)zg
        If ``mode`` isn't provided, the most compact QR data type possible is
        chosen.
        Nr�r�z-Provided data can not be represented in mode )	r�r�r�r�r�r�r~r�rf)�selfrfr�r�rTrTrU�__init__�s
zQRData.__init__cC�
t|j�SrP)r�rf�r�rTrTrU�__len__��
zQRData.__len__cCs�|jtkr*tdt|j�d�D]}|j||d�}tt|�}|�t|�|�qdS|jtkrjtdt|j�d�D]/}|j||d�}t|�dkr^|�t	�
|d�dt	�
|d�d�q8|�t	�
|�d�q8dS|j}|D]}|�|d�qodS)	Nrrrr�-rrr
)r�r�rar�rf�
NUMBER_LENGTH�putr�r�r��find)r��bufferrs�chars�
bit_lengthrf�crTrTrU�write�s&
�
 ���zQRData.writecCr�rP)�reprrfr�rTrTrU�__repr__�r�zQRData.__repr__)NT)�__name__�
__module__�__qualname__�__doc__r�r�r�r�rTrTrTrUr��s
r�c@s<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�	BitBuffercCsg|_d|_dSr�)r�r�r�rTrTrUr��s
zBitBuffer.__init__cCsd�dd�|jD��S)N�.cSsg|]}t|��qSrT)r�)r[�nrTrTrUr_�sz&BitBuffer.__repr__.<locals>.<listcomp>)�joinr�r�rTrTrUr��szBitBuffer.__repr__cCs,t�|d�}|j|d|d?d@dkS)Nr
rr)rzr{r�)r��index�	buf_indexrTrTrU�get�sz
BitBuffer.getcCs0t|�D]}|�|||d?d@dk�qdSrl)ra�put_bit)r��numr�rsrTrTrUr��s �z
BitBuffer.putcCrOrP)r�r�rTrTrUr��rWzBitBuffer.__len__cCsV|jd}t|j�|kr|j�d�|r"|j|d|jd?O<|jd7_dS)Nr
rrEr)r�r�r��append)r��bitr�rTrTrUr��s
zBitBuffer.put_bitN)	r�r�r�r�r�r�r�r�r�rTrTrTrUr��sr�r�rZc	s�d�d}d}g}g}|D]�}|j}|j|}t||�}t||�}��fdd�t|�D�}	�|7�|tjvr?t�tj|d�}
nt�dgd�}
t|�D]}|
t�dt�|�gd�}
qJt�|	t	|
�d�}||
}
g}t	|
�|}t|�D]}||}|�
|dkr�|
|nd�qt|�
|	�|�
|�qg}t|�D]}|D]}|t	|�kr�|�
||�q�q�t|�D]}|D]}|t	|�kr�|�
||�q�q�|S)Nrcsg|]}d�j|�@�qS)�)r�)r[rs�r��offsetrTrUr_sz create_bytes.<locals>.<listcomp>r)rR�total_count�maxrar�
rsPoly_LUTr�
Polynomial�gexpr�r�)r�rZ�
maxDcCount�
maxEcCount�dcdata�ecdata�rs_block�dcCount�ecCount�
current_dc�rsPolyrs�rawPoly�modPoly�
current_ec�
mod_offset�modIndexrf�dc�ecrTr�rU�create_bytes�sP




����rcCs t�}|D]}|�|jd�|�t|�t|j|��|�|�qt�||�}tdd�|D��}t|�|kr@t	�
dt|�|f��tt|t|�d��D]}|�
d�qKt|�d}|ritd|�D]}|�
d�qa|t|�d}	t|	�D]}
|
ddkr�|�td�qu|�td�qut||�S)	Nr	css�|]}|jdVqdS)r
NrQ)r[rSrTrTrUr�1s�zcreate_data.<locals>.<genexpr>z:Code length overflow. Data size (%s) > size available (%s)Fr
rr)r�r�r�r�r�r�rrZrXr�DataOverflowErrorra�minr��PAD0�PAD1r)r\r^�	data_listr�rfrZ�	bit_limit�_�delimit�
bytes_to_fillrsrTrTrU�create_data's2
��
r)r	)4rzr��typingr�qrcoderrr�qrcode.baserr�r�r�r�r�r�r�r�r�r�r�r�rmrcrirdrrrVra�BIT_LIMIT_TABLErhrjrbror�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrTrTrTrU�<module>s�����������	�
���
������������������� �!�"�#�$�%�&�'�(�+�
�
		
+L

74