403Webshell
Server IP : 88.99.149.37  /  Your IP : 216.73.216.141
Web Server : nginx/1.31.2
System : Linux server-88-99-149-37 6.12.0-124.56.5.el10_1.x86_64 #1 SMP PREEMPT_DYNAMIC Fri May 15 06:12:08 EDT 2026 x86_64
User : muralimurth ( 1015)
PHP Version : 8.4.23
Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /lib/python3.12/site-packages/packaging/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3.12/site-packages/packaging/__pycache__/_musllinux.cpython-312.pyc
�

��g�
�
���dZddlmZddlZddlZddlZddlZddlmZm	Z	m
Z
ddlmZGd�de	�Z
dd	�Zejdd
��Zdd�Zedk(r�ddlZej(�Zej-d
�sJd��ede�edeej0��edd��eej2ddej5dd�d��D]Zeed���yy)z�PEP 656 support.

This module implements logic to detect if the currently running Python is
linked against musl, and what musl version is used.
�)�annotationsN)�Iterator�
NamedTuple�Sequence�)�ELFFilec�"�eZdZUded<ded<y)�_MuslVersion�int�major�minorN)�__name__�
__module__�__qualname__�__annotations__���9/usr/lib/python3.12/site-packages/packaging/_musllinux.pyr
r
s���J��Jrr
c�@�d�|j�D�D�cgc]}|s�|��	}}t|�dks|ddddk7rytjd|d�}|syt	t|j
d��t|j
d����Scc}w)	Nc3�<K�|]}|j����y�w)N)�strip)�.0�ns  r�	<genexpr>z&_parse_musl_version.<locals>.<genexpr>s����@�,?�q�����,?�s��r��muslzVersion (\d+)\.(\d+)r)rr
)�
splitlines�len�re�matchr
r�group)�outputr�lines�ms    r�_parse_musl_versionr&s���@�F�,=�,=�,?�@�F�@�1�A�Q�@�E�F�
�5�z�A�~��q��"�1���/��
���(�%��(�3�A����c�!�'�'�!�*�o�S������_�E�E��

Gs
�B�Bc�*�	t|d�5}t|�j}ddd��d|vryt
j|gtjd��}t|j�S#1swY�LxYw#ttt
f$rYywxYw)a`Detect currently-running musl runtime version.

    This is done by checking the specified executable's dynamic linking
    information, and invoking the loader to parse its output for a version
    string. If the loader is musl, the output would be something like::

        musl libc (x86_64)
        Version 1.2.2
        Dynamic Program Loader
    �rbNrT)�stderr�text)�openr�interpreter�OSError�	TypeError�
ValueError�
subprocess�run�PIPEr&r))�
executable�f�ld�procs    r�_get_musl_versionr7!s����
�*�d�
#�q����'�'�B�$�
�z�V�2�%���>�>�2�$�z���T�B�D��t�{�{�+�+�$�
#���Y�
�+����s'�A;�A/�A;�/A8�4A;�;B�Bc#�K�ttj�}|�y|D]5}t|jdd�D]}d|j
�d|�d|������7y�w)a�Generate musllinux tags compatible to the current platform.

    :param archs: Sequence of compatible architectures.
        The first one shall be the closest to the actual architecture and be the part of
        platform tag after the ``linux_`` prefix, e.g. ``x86_64``.
        The ``linux_`` prefix is assumed as a prerequisite for the current platform to
        be musllinux-compatible.

    :returns: An iterator of compatible musllinux tags.
    N����
musllinux_�_)r7�sysr3�ranger
r)�archs�sys_musl�archr
s    r�
platform_tagsrA8s^����!����0�H�������8�>�>�2�r�2�E��x�~�~�.�a��w�a��v�>�>�3��s�AA�__main__zlinux-z	not linuxzplat:zmusl:ztags:� )�endz[.-]r;�-r9z
      )r#�str�return�_MuslVersion | None)r3rFrGrH)r>z
Sequence[str]rGz
Iterator[str])�__doc__�
__future__r�	functoolsr r0r<�typingrrr�_elffilerr
r&�	lru_cacher7rAr�	sysconfig�get_platform�plat�
startswith�printr3�sub�split�trrr�<module>rWs����#��	��
�1�1���:��
F����,��,�,?�&�z���!�9�!�!�#�D��?�?�8�$�1�k�1�$�	�'�4��	�'�$�S�^�^�4�5�	�'�s��
�6�2�6�6�'�3��
�
�3��0B�2�0F�G�
H��
�a�Z� �I�r

Youez - 2016 - github.com/yon3zu
LinuXploit