
    \Zi
                         S r SSKrSSKrSSKrSSKrSSKJr  SSKJrJ	r	J
r
Jr  SSKJr  SSKJr  \R                   " SS	5        \" SS	5      SS
 j5       r\\" SS	5      SS j5       5       rg)z9Utilities for finding executables and `conda-*` commands.    N)cache)basename
expanduserisfilejoin   )on_win)
deprecatedz26.9z27.3c                    U(       a  SSK Jn  U" 5       /n[        R                  US   :w  a  UR	                  [        R                  5        U Vs/ s H,  n[        U[        [        R                  " S5      5      5      PM.     snq	[        (       a  [        R	                  S5        O/ q	[        R                  [        R                  R                  SS5      R                  [        R                   5      5        [         Hn  n[        (       a/  S H'  n[        XPU-   5      n[#        U5      (       d  M#  Us  s  $    M=  [        XP5      n[#        [%        U5      5      (       d  Mc  [%        U5      s  $    g s  snf )	Nr   sys_prefix_unfollowedr   scriptsC:\cygwin\binPATH )z.exez.batr   )utilsr   sysprefixappendr   r   	sysconfigget_path	dir_pathsr	   extendosenvirongetsplitpathsepr   r   )
executableinclude_othersr   prefixespdir_pathextpaths           7lib/python3.13/site-packages/conda/cli/find_commands.pyfind_executabler'      s   
 1)+,::!$OOCJJ'OWXx!T!Xi&8&8&CDExX	6./	RZZ^^FB/55bjjAB6+H3&67$<<K ,
 -Dj&''!$''  ' Ys   3E2c                    U (       a  SSK Jn  U" 5       /n[        R                  US   :w  a  UR	                  [        R                  5        U Vs/ s H,  n[        U[        [        R                  " S5      5      5      PM.     nn[        (       a  UR	                  S5        O/ nUR                  [        R                  R                  SS5      R                  [        R                  5      5        [        (       a  [         R"                  " S5      nO[         R"                  " S	5      n[%        5       nU H|  n [        R&                  " U5       H^  nUR)                  UR*                  5      n	U	(       d  M'  UR-                  5       (       d  M>  UR/                  U	R1                  S
5      5        M`     M~     [;        [=        U5      5      $ s  snf ! [2        [4        [6        [8        4 a     M  f = f)Nr   r   r   r   r   r   r   zconda-([\w\-]+)(\.(exe|bat))?$zconda-([\w\-]+)$   )r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r   recompilesetscandirmatchnameis_fileaddgroupFileNotFoundErrorNotADirectoryErrorPermissionErrorOSErrortuplesorted)
r    r   r!   r"   r   patresr#   entryms
             r&   find_commandsr=   3   s^    1)+,::!$OOCJJ'OWXx!T!Xi&8&8&CDEx	X6./	RZZ^^FB/55bjjABvjj:;jj,-
%C	H-IIejj)1GGAGGAJ' .  9 Y* "#5P 	 	s$   3G89G5G$GG+*G+)T)__doc__r   r*   r   r   	functoolsr   os.pathr   r   r   r   common.compatr	   deprecationsr
   moduler'   r=        r&   <module>rF      su    @ 	 	 
   6 6 " % 
  && ! FF @ FF#  #rE   