ó
    LƒwjÀ
  ã                  óœ   • S r SSKJr  SSK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  SSKJr  \R                  S 5       rSS	 jrSSS
 jjrg)z–distutils.spawn

Provides the 'spawn()' function, a front-end to various platform-
specific functions for launching another program in a sub-process.
é    )ÚannotationsN)ÚMutableSequenceé   )Úlog)ÚDistutilsExecErrorc              #  óî   #   •  Sv •  g! [          a(  n[        SU S   < SUR                  S    35      UeSnAf[        R                   a%  n[        SU S   < SUR
                   35      UeSnAff = f7f)zCReraise a subprocess failure running 'cmd' as a DistutilsExecError.Nzcommand r   z	 failed: éÿÿÿÿz failed with exit code )ÚOSErrorr   ÚargsÚ
subprocessÚCalledProcessErrorÚ
returncode)ÚcmdÚexcÚerrs      Ú©C:\Users\johnn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\LocalCache\local-packages\Python313\site-packages\setuptools/_distutils/spawn.pyÚ_translate_errorsr      s}   é € ðÜøÜó XÜ  8¨C°©F©:°Y¸s¿x¹xÈ¹|¸nÐ!MÓNÐTWÐWûÜ×(Ñ(ó Ü Ø�s˜1‘v‘jÐ 7¸¿¹Ð7GÐHó
àð	ûðüs.   ‚A5„	 ˆA5‰
A2“#6¶A2Á A-Á-A2Á2A5c                óÐ   • [         R                  " [        R                  " U 5      5        [	        U 5         [        R
                  " U 40 UD6  SSS5        g! , (       d  f       g= f)an  Run another program, specified as a command list 'cmd', in a new process.

'cmd' is just the argument list for the new process, ie.
cmd[0] is the program to run and cmd[1:] are the rest of its arguments.
Any keyword arguments are passed through to ``subprocess.check_call``.

Raise DistutilsExecError if running the program fails in any way; just
return on success.
N)r   Úinfor   Úlist2cmdliner   Ú
check_call)r   Úkwargss     r   Úspawnr   !   sB   € ô ‡H‚HŒZ×$Ò$ SÓ)Ô*Ü	˜3Õ	Ü×Ò˜cÑ, VÒ,÷ 
 ×	Ö	ús   ¶AÁ
A%c                ó¸  • [         R                  " S[        SS9  [        R                  R                  U 5      u  p#[        R                  S:X  a  US:w  a  U S-   n [        R                  R                  U 5      (       a  U $ Uc:  [        R                  R                  SS5      nUc   [        R                  " S5      nU(       d  gUR                  [        R                   5      nU HJ  n[        R                  R#                  XP5      n[        R                  R                  U5      (       d  MH  Us  $    g! [        [        4 a    [        R                  n Nšf = f)	zÎTries to find 'executable' in the directories listed in 'path'.

A string listing directories separated by 'os.pathsep'; defaults to
os.environ['PATH'].  Returns the complete filename or None if not found.
z+Use shutil.which instead of find_executableé   )Ú
stacklevelÚwin32z.exeNÚPATHÚCS_PATH)ÚwarningsÚwarnÚDeprecationWarningÚosÚpathÚsplitextÚsysÚplatformÚisfileÚenvironÚgetÚconfstrÚAttributeErrorÚ
ValueErrorÚdefpathÚsplitÚpathsepÚjoin)Ú
executabler$   Ú_ÚextÚpathsÚpÚfs          r   Úfind_executabler8   0   s	  € ô ‡M‚MØ5Ô7IÐVWòô �W‰W×Ñ˜jÓ)�F€AÜ�‰˜Ó c¨V£mØ &Ñ(ˆ
ä	‡w�w‡~�~�j×!Ñ!ØÐà�|Ü�z‰z�~‰~˜f dÓ+ˆà‰<ð"Ü—z’z )Ó,�ö Øà�J‰J”r—z‘zÓ"€EÛˆÜ�G‰G�L‰L˜Ó'ˆÜ�7‰7�>‰>˜!×ÓàŠHñ	 ð
 øô #¤JÐ/ó "ä—z‘z’ð"ús   Â(D6 Ä6 EÅE)r   z/MutableSequence[bytes | str | os.PathLike[str]]ÚreturnÚNone)N)r2   Ústrr$   ú
str | Noner9   r<   )Ú__doc__Ú
__future__r   Ú
contextlibr#   r   r&   r    Úcollections.abcr   Ú_logr   Úerrorsr   Úcontextmanagerr   r   r8   © ó    r   Ú<module>rF      sK   ðñõ #ã Û 	Û Û 
Û Ý +å Ý &ð ×Ññ	ó ð	ô-÷$rE   