Your IP : 216.73.216.52


Current Path : /snap/lxd/current/lib/python3/dist-packages/pyuefivars/__pycache__/
Upload File :
Current File : //snap/lxd/current/lib/python3/dist-packages/pyuefivars/__pycache__/aws.cpython-312.pyc

�

5B�i��j�ddlZddlZddlZddlZddlZddlmZmZddlm	Z	ddl
mZGd�de�Zy)�N�)�UEFIVar�UEFIVarStore)�UEFIVarStoreV0)�AWSVarStoreFilec�D��eZdZdZdZdef�fd�Zdefd�Zdefd�Z	�xZ
S)�AWSUEFIVarStore� lAM�U2J�b64datac����t�|��tj�}|j	tj|��|jdtj�t|�}|j�}||jk7rtd|z��|j�}|jj!�}t#j$|j'��}||k7rtd��|jj|tj�|j�}|dk7rtd|z��t)j*dt,j.��}|j1|j'��}	tj�}
|
j	|	�|
jdtj�t|
�}|j�}t3|�D]�}
|j5�}|j7�}|j9�}|j�}||j:zrl|j=�}||j>k(rd}|j7�}||j@k(rd}|jBjEtG||||||����|jBjEtG||||����y)Nrz,Invalid magic. Expected AMZNUEFI. Found 0x%xz2Invalid checksum, please check you copied all dataz'Invalid version. Expected 0. Found 0x%x��zdict)$�super�__init__�tempfile�SpooledTemporaryFile�write�base64�	b64decode�seek�os�SEEK_SETr�read64�AMZNUEFI�	Exception�read32�file�tell�crc32c�crc32�readall�zlib�
decompressobjr�dict�
decompress�range�readstr�readdata�readguid�2EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS�
readtimestamp�EMPTY_TIMESTAMP�EMPTY_DIGEST�vars�appendr)�selfrr�magicr �location�
comp_crc32�version�dec�raw_data�raw_file�raw�
nr_entries�i�name�data�guid�attr�	timestamp�digest�	__class__s                    ��P/build/lxd/parts/uefivars/install/lib/python3.12/site-packages/pyuefivars/aws.pyrzAWSUEFIVarStore.__init__s5���
�����,�,�.���
�
�6�#�#�G�,�-��	�	�!�R�[�[�!��t�$�����
���D�M�M�!��J�U�R�S�S����
���9�9�>�>�#���\�\�$�,�,�.�1�
��%���P�Q�Q��	�	���x����-��+�+�-���a�<��E��O�P�P�� � ��.�*=�*=�>���>�>�$�,�,�.�1���0�0�2�����x� ��
�
�a����%��h�'���Z�Z�\�
��z�"�	B�A��;�;�=�D��<�<�>�D��<�<�>�D��:�:�<�D��d�M�M�M��-�-�/�	��� 4� 4�4� $�I�������T�.�.�.�!�F��	�	� � ���t�T�4��F�!S�T��	�	� � ���t�T�4�!@�A�	B��returnc�X�ttj��}|jt	|j
��|j
D]�}|j
|j�|j|j�|j|j�|j|j�|j|jzs��|j}|�|j }|j"}|�|j$}|j'|�|j|���|j(j+dt,j.�t1j2dt4j6��}|j9|j(j;��|j=�z}tj�}t|�}|j|j>�|jtAjBtEd�jGdd��|z��|jd�|jI|�|j(j+dt,j.�tKjL|j(j;��S)Nr�	r
��little)�	byteorder)'rrr�write64�lenr.�writestrr;�	writedatar<�	writeguidr=�write32r>r*r?r,r@r-�writetimestamprrrrr"�compressobjrr$�compress�read�flushrrr �int�to_bytesrr�	b64encode)r0r8�varr?r@�enc�zdata�fs        rB�	__bytes__zAWSUEFIVarStore.__bytes__Es����h�;�;�=�>�����C��	�	�N�#��9�9�	&�C��L�L����"��M�M�#�(�(�#��M�M�#�(�(�#��K�K����!��x�x�$�Q�Q�Q��M�M�	��$� $� 4� 4�I������>�!�.�.�F��"�"�9�-��
�
�f�%�	&� 	���
�
�a����%����q��(;�(;�<�����S�X�X�]�]�_�-��	�	��;��
�)�)�+���A���	�	�	�$�-�-� �	�	�	�&�,�,�s�1�v���q�H��E��M�N�O�	�	�	�!��	�����	�����A�r�{�{�#���������
�.�.rCc�@�|j�jd�S)Nzutf-8)r\�decode)r0s rB�__str__zAWSUEFIVarStore.__str__js���~�~��&�&�w�/�/rC)�__name__�
__module__�__qualname__r*r�bytesrr\�strr_�
__classcell__)rAs@rBr	r	s6���9=�6�!�H�0B��0B�d#/�5�#/�J0��0rCr	)
rr"rrr�varstorerr�aws_v0r�aws_filerr	�rCrB�<module>rjs-��
��
��
�+�"�%�\0�l�\0rC