
    si                    l    S SK Jr  S SKrS SKJr  S SKJr  S SKJr  SSK	J
r
  \" \5      r\S	S j5       rg)
    )annotationsN)cache)	getLogger)exists   )on_linuxc                 N   [         (       d  gS HD  n  [        R                  " U 5      =n(       a#  UR                  5       R	                  S5      u  p#  OMF     Su  p#[        R                  SUU5        US:X  a  S [        R                  " S5       5        H`  n[        R                  " U5      n[        U5      (       d  M+  UR                  S	5      (       d  MC  UR                  S
5      (       a  SnOSn  X#4$    Sn[        R                  SUU5        X#4$ ! [
         a     GM  f = f)zDIf on linux, returns (libc_family, version), otherwise (None, None).)NN)CS_GNU_LIBC_VERSIONCS_GNU_LIBPTHREAD_VERSION )glibcz2.5z8Failed to detect libc family and version, assuming %s/%sNPTLc              3  b   #    U  H%  oR                   S S S:X  d  M  UR                  v   M'     g 7f)N   zlibc.so)namepath).0entrys     6lib/python3.13/site-packages/conda/common/_os/linux.py	<genexpr>)linux_get_libc_version.<locals>.<genexpr>+   s)      
$65**Ra.I:UJEJJ$6s   //z/lib	libuClibcz0.uClibcz	uClibc-ngz1Failed to detect non-glibc family, assuming %s/%s)r   osconfstrstripsplit
ValueErrorlogwarningscandirreadlinkr   
startswith)r   valuefamilyversionclibs        r   linux_get_libc_versionr(      s"    8D	

4((u("'++-"5"5c": ) E )F	
 
$&JJv$6
D ;;t$Dd||??;//))$//!)!, ?)
 FKKC ?I  	 	s   >D
D$#D$)returnz#tuple[str, str] | tuple[None, None])
__future__r   r   	functoolsr   loggingr   os.pathr   compatr   __name__r   r(        r   <module>r2      s7    # 	     / /r1   