HEX
Server: LiteSpeed
System: Linux br-asc-web1845.main-hosting.eu 5.14.0-611.42.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Mar 24 05:30:20 EDT 2026 x86_64
User: u790421558 (790421558)
PHP: 8.2.30
Disabled: system, exec, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail
Upload Files
File: //opt/alt/python311/lib/python3.11/site-packages/packaging/__pycache__/_elffile.cpython-311.pyc
�

]�Zg�����dZddlmZddlZddlZddlZddlmZGd�de��Z	Gd�dej
��ZGd	�d
ej
��ZGd�dej
��Z
Gd
�d��ZdS)a;
ELF file parser.

This provides a class ``ELFFile`` that parses an ELF executable in a similar
interface to ``ZipFile``. Only the read interface is implemented.

Based on: https://gist.github.com/lyssdod/f51579ae8d93c8657a5564aefc2ffbca
ELF header: https://refspecs.linuxfoundation.org/elf/gabi4+/ch4.eheader.html
�)�annotationsN)�IOc��eZdZdS)�
ELFInvalidN)�__name__�
__module__�__qualname__���E/opt/alt/python311/lib/python3.11/site-packages/packaging/_elffile.pyrrs�������Drrc��eZdZdZdZdS)�EIClass��N)rrr	�C32�C64r
rrrr�������
�C�
�C�C�Crrc��eZdZdZdZdS)�EIDatarrN)rrr	�Lsb�Msbr
rrrrrrrc�"�eZdZdZdZdZdZdZdS)�EMachine���(�>�N)rrr	�I386�S390�Arm�X8664�AArc64r
rrrr!s'�������D�
�D�
�C��E�
�F�F�Frrc�:�eZdZdZdd�Zdd
�Zedd���Zd
S)�ELFFilez.
    Representation of an ELF executable.
    �f�	IO[bytes]�return�Nonec
��||_	|�d��}n'#tj$r}t	d��|�d}~wwxYwt|dd���}|dkrt	d|�����|d|_|d|_	ddd	d
d�|j|jf\}|_|_	n3#t$r&}t	d|j�d
|j�d���|�d}~wwxYw	|�|��\
}|_}}|_}|_
}|_|_dS#tj$r}t	d��|�d}~wwxYw)N�16Bzunable to parse identification�sELFzinvalid magic: �)z<HHIIIIIHHHz	<IIIIIIII�rrr,)z>HHIIIIIHHHz	>IIIIIIIIr.)z<HHIQQQIHHHz	<IIQQQQQQ�rrr-)z>HHIQQQIHHHz	>IIQQQQQQr/))rr)rr)rr)rrzunrecognized capacity (z) or encoding (�)z/unable to parse machine and section information)�_f�_read�struct�errorr�bytes�capacity�encoding�_p_fmt�_p_idx�KeyError�machine�_e_phoff�flags�_e_phentsize�_e_phnum)�selfr&�ident�e�magic�e_fmt�_s       r�__init__zELFFile.__init__.s������	F��J�J�u�%�%�E�E���|�	F�	F�	F��=�>�>�A�E�����	F�����e�B�Q�B�i� � ���J����8�u�8�8�9�9�9��a���
��a���
�	�
@�?�?�?�	/�/�
�}�d�m�,�/.�+�E�4�;������	�	�	��.�$�-�.�.�!�]�.�.�.����
�����	����	W��
�
�5�!�!�
�������
���
���!��
�
�
���|�	W�	W�	W��N�O�O�UV�V�����	W���sB��A�>�A�'B8�8
C(�!C#�#C(�,9D'�'E�6E�E�fmt�str�tuple[int, ...]c��tj||j�tj|������S)N)r3�unpackr1�read�calcsize)r@rGs  rr2z
ELFFile._read\s,���}�S�$�'�,�,�v��s�/C�/C�"D�"D�E�E�Er�
str | Nonec��t|j��D]�}|j�|j|j|zz��	|�|j��}n#tj	$rY�YwxYw||j
ddkr�u|j�||j
d��tj|j�
||j
d�����d��cSdS)zH
        The path recorded in the ``PT_INTERP`` section header.
        rrrr�N)�ranger?r1�seekr<r>r2r8r3r4r9�os�fsdecoderL�strip)r@�index�datas   r�interpreterzELFFile.interpreter_s���
�4�=�)�)�		O�		O�E��G�L�L����):�U�)B�B�C�C�C�
��z�z�$�+�.�.�����<�
�
�
���
�����D�K��N�#�q�(�(���G�L�L��d�k�!�n�-�.�.�.��;�t�w�|�|�D���Q��,@�A�A�B�B�H�H��N�N�N�N�N��ts�A�A/�.A/N)r&r'r(r))rGrHr(rI)r(rN)rrr	�__doc__rFr2�propertyrXr
rrr%r%)so��������,W�,W�,W�,W�\F�F�F�F������X���rr%)rY�
__future__r�enumrSr3�typingr�
ValueErrorr�IntEnumrrrr%r
rr�<module>r`s:����#�"�"�"�"�"�����	�	�	�	�
�
�
�
�������	�	�	�	�	��	�	�	������d�l����
�����T�\����
�����t�|����E�E�E�E�E�E�E�E�E�Er