<!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>

Re0                 @   s   d  d l  m Z d  d l Z 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 d d l m Z d d l m Z m Z m Z m Z m Z e j e  Z d j   Z e j d  Z d	 Z Gd
 d   d e  Z d S)    )BytesION   )	sysconfigfsencodedetect_encodingZipFile)finder)FileOperatorget_export_entryconvert_pathget_executablein_venva  
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
 <assemblyIdentity version="1.0.0.0"
 processorArchitecture="X86"
 name="%s"
 type="win32"/>

 <!-- Identify the application security requirements. -->
 <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
 <security>
 <requestedPrivileges>
 <requestedExecutionLevel level="asInvoker" uiAccess="false"/>
 </requestedPrivileges>
 </security>
 </trustInfo>
</assembly>s   ^#!.*pythonw?[0-9.]*([ 	].*)?$a{  # -*- coding: utf-8 -*-
if __name__ == '__main__':
    import sys, re

    def _resolve(module, func):
        __import__(module)
        mod = sys.modules[module]
        parts = func.split('.')
        result = getattr(mod, parts.pop(0))
        for p in parts:
            result = getattr(result, p)
        return result

    try:
        sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])

        func = _resolve('%(module)s', '%(func)s')
        rc = func() # None interpreted as 0
    except Exception as e:  # only supporting Python >= 2.6
        sys.stderr.write('%%s\n' %% e)
        rc = 1
    sys.exit(rc)
c               @   s   e  Z d  Z d Z e Z d Z d d d d d  Z d d   Z d	 d d
 d  Z	 d d   Z
 e Z d d   Z d d   Z d d d  Z d d   Z e d d    Z e j d d    Z e j d k r d d   Z n  d d d  Z d d d  Z d S) ScriptMakerz_
    A class to copy or create scripts from source scripts or callable
    specifications.
    NTFc             C   sg   | |  _  | |  _ | |  _ d |  _ d |  _ t j d k |  _ t d  |  _	 | p] t
 |  |  _ d  S)NFposix X.Y)r   r   )
source_dir
target_diradd_launchersforceclobberosnameset_modesetvariantsr	   _fileop)selfr   r   r   dry_runfileop r    6/tmp/pip-ztkk0jow-build/pip/_vendor/distlib/scripts.py__init__K   s    					zScriptMaker.__init__c             C   sg   | j  d d  rc t j d k rc t j j |  \ } } | j d d  } t j j | |  } n  | S)NguiFntpythonpythonw)getr   r   pathsplitreplacejoin)r   
executableoptionsdnfnr    r    r!   _get_alternate_executableW   s
    !z%ScriptMaker._get_alternate_executable    c             C   s  d } |  j  r! |  j  } d } n t j   s9 t   } nq t   rp t j j t j d  d t j	 d   } n: t j j t j	 d  d t j	 d  t j	 d  f  } | r |  j
 | |  } n  | r d	 | k r d
 | } n  t |  } d | | d } y | j d  Wn" t k
 r7t d |   Yn X| d k ry | j |  Wqt k
 rt d | | f   YqXn  | S)NTFscriptszpython%sEXEBINDIRz
python%s%sVERSION z"%s"s   #!s   
zutf-8z,The shebang (%r) is not decodable from utf-8z?The shebang (%r) is not decodable from the script encoding (%r))r,   r   is_python_buildr   r   r   r(   r+   get_pathget_config_varr0   r   decodeUnicodeDecodeError
ValueError)r   encodingpost_interpr-   enquoter,   shebangr    r    r!   _get_shebang^   s@    					zScriptMaker._get_shebangc             C   s    |  j  t d | j d | j  S)Nmodulefunc)script_templatedictprefixsuffix)r   entryr    r    r!   _get_script_text   s    zScriptMaker._get_script_textc             C   s   t  j j |  } |  j | S)N)r   r(   basenamemanifest)r   exenamebaser    r    r!   get_manifest   s    zScriptMaker.get_manifestc             C   s  |  j  o t j d k } t j j d  } | sA | | | } n| | d k r_ |  j d  } n |  j d  } t   }	 t |	 d   }
 |
 j d |  Wd  QX|	 j	   } | | | | } x| D]} t j
 j |  j |  } | rt j
 j |  \ } } | j d  r| } n  d | } y |  j j | |  Wqzt k
 rt j d	  d
 | } t j
 j |  rt j |  n  t j | |  |  j j | |  t j d  y t j |  Wn t k
 rYn XYqzXn t j d k r| j d |  rd | | f } n  t j
 j |  rH|  j rHt j d |  q n  |  j j | |  |  j rz|  j j | g  n  | j |  q Wd  S)Nr$   zutf-8pytwz__main__.pyz.pyz%s.exez:Failed to write executable - trying to use .deleteme logicz%s.deletemez0Able to replace executable using .deleteme logic.z%s.%szSkipping existing file %s)r   r   r   linesepencode_get_launcherr   r   writestrgetvaluer(   r+   r   splitext
startswithr   write_binary_file	Exceptionloggerwarningexistsremoverenamedebugendswithr   r   set_executable_modeappend)r   namesr@   script_bytes	filenamesextuse_launcherrS   launcherstreamzfzip_datar   outnamenedfnamer    r    r!   _write_script   sT    		

#	zScriptMaker._write_scriptc       	      C   s  |  j  d d | } |  j |  j d  } | j } t   } d |  j k r^ | j |  n  d |  j k r | j d | t j d f  n  d |  j k r | j d | t j d  d	  f  n  | r | j	 d
 d  r d } n d } |  j
 | | | | |  d  S)Nzutf-8r-   r   Xz%s%sr   zX.Yz%s-%s   r#   FpywrO   )rA   rI   rT   r   r   r   addsysversionr'   rr   )	r   rH   rg   r-   r@   scriptr   scriptnamesrh   r    r    r!   _make_script   s    		!'	zScriptMaker._make_scriptc             C   sA  d } t  j j |  j t |   } t  j j |  j t  j j |   } |  j r| |  j j	 | |  r| t
 j d |  d  Sy t | d  } Wn' t k
 r |  j s   n  d  } Yn Xt | j  \ } } | j d  | j   } | s
t
 j d |  j   |  d  St j | j d d   }	 |	 rId } |	 j d	  pCd
 }
 n  | s| rb| j   n  |  j j | |  |  j r|  j j | g  n  | j |  n t
 j d | |  j  |  j j s*|  j | |
  } d | k rd } n d } t  j j |  } |  j | g | | j    | |  n  | r=| j   n  d  S)NFznot copying %s (up-to-date)rbr   z"%s: %s is an empty file (skipping)s   
s   
Tr   r1   zcopying and adjusting %s -> %ss   pythonwru   rO   )!r   r(   r+   r   r   r   rJ   r   r   newerr\   ra   openIOErrorr   r   readlineseekr]   get_command_nameFIRST_LINE_REmatchr*   groupclose	copy_filer   rc   rd   inforA   rr   read)r   ry   rg   adjustrn   fr=   lines
first_liner   r>   r@   rh   ro   r    r    r!   _copy_script   sR    $ 			
	%zScriptMaker._copy_scriptc             C   s
   |  j  j S)N)r   r   )r   r    r    r!   r     s    zScriptMaker.dry_runc             C   s   | |  j  _ d  S)N)r   r   )r   valuer    r    r!   r     s    r$   c             C   sf   t  j d  d k r d } n d } d | | f } t j d d  d } t |  j |  j } | S)	NP   Z64Z32z%s%s.exerR   r   r   )structcalcsize__name__rsplitr   findbytes)r   kindbitsr   Zdistlib_packageresultr    r    r!   rU     s    	zScriptMaker._get_launcherc             C   sK   g  } t  |  } | d k r1 |  j | |  n |  j | | d | | S)a  
        Make a script.

        :param specification: The specification, which is either a valid export
                              entry specification (to make a script from a
                              callable) or a filename (to make a script by
                              copying from a source location).
        :param options: A dictionary of options controlling script generation.
        :return: A list of all absolute pathnames written to.
        Nr-   )r
   r   r{   )r   specificationr-   rg   rH   r    r    r!   make'  s    zScriptMaker.makec             C   s4   g  } x' | D] } | j  |  j | |   q W| S)z
        Take a list of specifications and make scripts from them,
        :param specifications: A list of specifications.
        :return: A list of all absolute pathnames written to,
        )extendr   )r   specificationsr-   rg   r   r    r    r!   make_multiple:  s    zScriptMaker.make_multiple)r   
__module____qualname____doc__SCRIPT_TEMPLATErD   r,   r"   r0   rA   rI   _DEFAULT_MANIFESTrK   rN   rr   r{   r   propertyr   setterr   r   rU   r   r   r    r    r    r!   r   B   s&   .24r   )ior   loggingr   rer   rw   compatr   r   r   r   	resourcesr   utilr	   r
   r   r   r   	getLoggerr   r\   stripr   compiler   r   objectr   r    r    r    r!   <module>   s   "(