
    Wh                    B    d dl mZ d dlZd dlZd
dZd
dZd
dZdd	ZdS )    )annotationsNreturn
str | Nonec                 :    t                      pt                      S )z9Returns glibc version string, or None if not using glibc.)glibc_version_string_confstrglibc_version_string_ctypes     k/var/www/tools.fuzzalab.pt/emblema-extractor/venv/lib/python3.11/site-packages/pip/_internal/utils/glibc.pyglibc_version_stringr      s    '))J-H-J-JJr
   c                     t           j        dk    rdS 	 t          j        d          } | dS |                                 \  }}n# t
          t          t          f$ r Y dS w xY w|S )z@Primary implementation of glibc_version_string using os.confstr.win32NCS_GNU_LIBC_VERSION)sysplatformosconfstrsplitAttributeErrorOSError
ValueError)gnu_libc_version_versions      r   r   r      s~     |wt:&;<<#4%++--
77GZ0   tt Ns   A A AAc                 8   	 ddl } n# t          $ r Y dS w xY w	 |                     d          }n# t          $ r Y dS w xY w	 |j        }n# t
          $ r Y dS w xY w| j        |_         |            }t          |t                    s|
                    d          }|S )z=Fallback implementation of glibc_version_string using ctypes.r   Nascii)ctypesImportErrorCDLLr   gnu_get_libc_versionr   c_char_prestype
isinstancestrdecode)r   process_namespacer    version_strs       r   r   r       s       tt "KK--   tt0E    tt $*? ++--Kk3'' 2!((11s*    
/ 
==A	 	
AAtuple[str, str]c                 .    t                      } | dS d| fS )zTry to determine the glibc version

    Returns a tuple of strings (lib, version) which default to empty strings
    in case the lookup fails.
    N) r*   glibc)r   )glibc_versions    r   libc_verr-   \   s%     )**Mx''r
   )r   r   )r   r(   )
__future__r   r   r   r   r   r   r-   r	   r
   r   <module>r/      s    " " " " " " 				 



K K K K
   (( ( ( (x
( 
( 
( 
( 
( 
(r
   