<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
B
    aA              
   @   s(  d dl Z d dlZd dlZd dlZd dl mZmZmZmZmZm	Z	m
Z
mZmZ d dlmZmZmZmZmZmZmZmZ d dlZdZeZe
ZeZe eZG dd deZe eZG dd deZe eZ G d	d
 d
e jZ!ej"j#Z#eeeeeeeeee g
e#_$ee#_%dd Z&G dd dej'Z'e&e_&dS )    N)		StructureWinErrorbyrefc_char_pc_void_pc_wchar	c_wchar_psizeofwindll)BOOLBYTEDWORDHANDLELPCWSTRLPVOIDLPWSTRWORDi   c               @   s|   e Zd Zdefdefdefdefdefdefdefdefd	efd
efdefdefdefdefdefdefdefdefgZdS )STARTUPINFOWcbZ
lpReservedZ	lpDesktopZlpTitleZdwXZdwYZdwXSizeZdwYSizeZdwXCountCharsZdwYCountCharsZdwFillAtrributedwFlagswShowWindowZcbReserved2ZlpReserved2	hStdInput
hStdOutput	hStdErrorN)	__name__
__module____qualname__r   r   r   LPBYTEr   _fields_ r   r   [/opt/alt/python37/lib/python3.7/site-packages/virtualenv/util/subprocess/_win_subprocess.pyr      s   r   c               @   s(   e Zd ZdefdefdefdefgZdS )PROCESS_INFORMATIONhProcesshThreaddwProcessId
dwThreadIdN)r   r   r   r   r   r   r   r   r   r    r!   (   s   r!   c                   s,   e Zd Z fddZdd Zdd Z  ZS )DUMMY_HANDLEc                s   t t| j|| d| _d S )NF)superr&   __init__closed)selfakw)	__class__r   r    r(   3   s    zDUMMY_HANDLE.__init__c             C   s   | j stj|  d| _ d S )NT)r)   r
   kernel32ZCloseHandle)r*   r   r   r    Close7   s    zDUMMY_HANDLE.Closec             C   s   | j S )N)value)r*   r   r   r    __int__<   s    zDUMMY_HANDLE.__int__)r   r   r   r(   r/   r1   __classcell__r   r   )r-   r    r&   1   s   r&   c	             C   s  t |j|jtt |jdkr |jnt|j|jdkr8|jnt|j|jdkrP|jnt|jd}	d}
|dk	rtd	dd |
 D td }tt|  }
||
_d}|dk	rt|}t }|tO }t| |dd|||
|t|	t|
rt|jt|j|j|jfS t dS )zCreate a process supporting unicode executable and args for win32

    Python implementation of CreateProcess using CreateProcessW for Win32

    N)r   r   r   r   r   r    c             S   s    g | ]\}}t d ||f qS )z%s=%s )unicode).0kvr   r   r    
<listcomp>g   s   z!CreateProcess.<locals>.<listcomp> )r   r   r   r	   r   intr   r   r4   joinitemsr   lenr0   r!   CREATE_UNICODE_ENVIRONMENTCreateProcessWr   r&   r"   r#   r$   r%   r   )
executableargsZ_p_attrZ_t_attrZinherit_handlesZcreation_flagsenvcwdZstartup_infosiZwenvZwcwdpir   r   r    CreateProcessM   s6    
rF   c                   s    e Zd ZdZ fddZ  ZS )Popenz>This superseeds Popen and corrects a bug in cPython 2.7 implemc                s   |dkrt  }t|t jjsLdd |D }t |}t dkrL|d}| j	t
jO  _	t
j|_|dkrrtjn|}|dtd}t
 dkstj| d	kr|  }td
||f }|	t
jO }	tt| |||||||||	d||||||| dS )a  Code from part of _execute_child from Python 2.7 (9fbb65e)

        There are only 2 little changes concerning the construction of
        the the final string in shell mode: we preempt the creation of
        the command string when shell is True, because original function
        will try to encode unicode args which we want to avoid to be able to
        sending it as-is to ``CreateProcess``.

        Nc             S   s$   g | ]}t |tr|n|d qS )zutf-8)
isinstancebytesencode)r5   ir   r   r    r8      s    z(Popen._execute_child.<locals>.<listcomp>CPythonzutf-8ZCOMSPECzcmd.exel        zcommand.comz"%s" %sF)
subprocessZSTARTUPINFOrH   typesZStringTypeslist2cmdlineplatformpython_implementationdecoder   _subprocessZSTARTF_USESHOWWINDOWZSW_HIDEr   osenvirongetr4   Z
GetVersionpathbasenamelowerZ_find_w9xpopenZCREATE_NEW_CONSOLEr'   rG   _execute_child)r*   rA   r@   
preexec_fn	close_fdsrC   rB   universal_newlinesstartupinfocreationflagsshellto_closep2creadp2cwritec2preadc2pwriteerrreaderrwriteZcomspecZw9xpopen)r-   r   r    rZ      s*    





zPopen._execute_child)r   r   r   __doc__rZ   r2   r   r   )r-   r    rG      s   rG   )(ctypesrT   rP   rM   r   r   r   r   r   r   r   r	   r
   Zctypes.wintypesr   r   r   r   r   r   r   r   rS   r>   ZLPCTSTRZLPTSTRZLPSECURITY_ATTRIBUTESPOINTERr   r   ZLPSTARTUPINFOWr!   ZLPPROCESS_INFORMATIONr&   r.   r?   argtypesrestyperF   rG   r   r   r   r    <module>   s0   ,(




4.