§
    é ph–  ã                   óŠ   — d dl Z d dlZd dlmZmZ dee         fd„Zdee         fd„Zdee         fd„Zdeeef         fd„Z	dS )é    N)ÚOptionalÚTupleÚreturnc                  ó:   — t          ¦   «         pt          ¦   «         S )z9Returns glibc version string, or None if not using glibc.)Úglibc_version_string_confstrÚglibc_version_string_ctypes© ó    úfC:\Users\Daniel\PycharmProjects\Portfolio_Website\.venv\Lib\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à%×+Ò+Ñ-Ô-‰
ˆˆ7ˆ7øÝ�G¥ZÐ0ð ð ð àˆtˆtðøøøð €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ë   € ðØˆˆˆˆøÝð ð ð Øˆtˆtðøøøð Ø"ŸKšK¨Ñ-Ô-ÐÐøÝð ð ð ØˆtˆtðøøøðØ0ÔEÐÐøÝð ð ð ð ˆtˆtðøøøð $*¤?ÐÔ Ø+Ð+Ñ-Ô-€Kå�k¥3Ñ'Ô'ð 2Ø!×(Ò(¨Ñ1Ô1ˆàÐs*   ‚ ‡
”™/ ¯
=¼=ÁA	 Á	
AÁAc                  ó.   — t          ¦   «         } | €dS d| fS )z“Try 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   Útypingr   r   r$   r   r   r   r,   r	   r
   r   ú<module>r.      s¿   ðØ 	€	€	€	Ø 
€
€
€
Ø "Ð "Ð "Ð "Ð "Ð "Ð "Ð "ðK˜h sœmð Kð Kð Kð Kð
 h¨s¤mð ð ð ð ð(( X¨c¤]ð (ð (ð (ð (ðx
(�%˜˜S˜”/ð 
(ð 
(ð 
(ð 
(ð 
(ð 
(r
   