§
    ÷„tj)  ã                   óŠ   — 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© ó    úW/var/www/html/CA-Chatbot/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à%×+Ò+Ñ-Ô-‰
ˆˆ7ˆ7øÝ�G¥ZÐ0ð ð ð àˆtˆtðøøøð €Ns   ”A ¬A ÁAÁAc                  ó  — 	 ddl } n# t          $ r Y dS w xY w|                      d¦  «        }	 |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ÚCDLLÚgnu_get_libc_versionr   Úc_char_pÚrestypeÚ
isinstanceÚstrÚdecode)r   Úprocess_namespacer    Úversion_strs       r   r   r      sÃ   € ðØˆˆˆˆøÝð ð ð Øˆtˆtðøøøð Ÿš DÑ)Ô)ÐðØ0ÔEÐÐøÝð ð ð ð ˆtˆtðøøøð $*¤?ÐÔ Ø&Ð&Ñ(Ô(€Kå�k¥3Ñ'Ô'ð 2Ø!×(Ò(¨Ñ1Ô1ˆàÐs   ‚ ‡
”®6 ¶
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,   N   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¤]ð ð ð ð ð^
(�%˜˜S˜”/ð 
(ð 
(ð 
(ð 
(ð 
(ð 
(r
   