Files
old-nlp/venv/lib/python3.7/site-packages/setuptools/__pycache__/msvc.cpython-37.pyc

520 lines
34 KiB
Plaintext
Raw Normal View History

2019-10-20 13:16:49 +02:00
B
<00>$<24>]<5D><><00>@sdZddlZddlZddlZddlZddlZddlmZddl m
Z
ddl m Z e<03> <0A>dkrpddl mZejZnGd d
<EFBFBD>d
<EFBFBD>Ze<11>ZeejjfZydd lmZWnek
r<EFBFBD>YnXd d <0A>Zd dd<10>Zdd<12>Zdd<14>Zd!dd<17>ZGdd<19>d<19>ZGdd<1B>d<1B>ZGdd<1D>d<1D>ZGdd<1F>d<1F>Z dS)"a@
Improved support for Microsoft Visual C++ compilers.
Known supported compilers:
--------------------------
Microsoft Visual C++ 9.0:
Microsoft Visual C++ Compiler for Python 2.7 (x86, amd64)
Microsoft Windows SDK 6.1 (x86, x64, ia64)
Microsoft Windows SDK 7.0 (x86, x64, ia64)
Microsoft Visual C++ 10.0:
Microsoft Windows SDK 7.1 (x86, x64, ia64)
Microsoft Visual C++ 14.0:
Microsoft Visual C++ Build Tools 2015 (x86, x64, arm)
Microsoft Visual Studio 2017 (x86, x64, arm, arm64)
Microsoft Visual Studio Build Tools 2017 (x86, x64, arm, arm64)
<EFBFBD>N)<01> LegacyVersion)<01> filterfalse<73>)<01> get_unpatched<65>Windows)<01>winregc@seZdZdZdZdZdZdS)rN)<07>__name__<5F>
__module__<EFBFBD> __qualname__<5F>
HKEY_USERS<EFBFBD>HKEY_CURRENT_USER<45>HKEY_LOCAL_MACHINE<4E>HKEY_CLASSES_ROOT<4F>rr<00>7/tmp/pip-install-zytfk_me/setuptools/setuptools/msvc.pyr(sr)<01>Regc Cs<>d}|d|f}yt<00>|d<03>}WnJtk
rjy|d|f}t<00>|d<03>}Wntk
rdd}YnXYnX|r<>tjjj<04>|d<06>}tj<04>|<04>r<>|Stt<08>|<00>S)a+
Patched "distutils.msvc9compiler.find_vcvarsall" to use the standalone
compiler build for Python (VCForPython). Fall back to original behavior
when the standalone compiler is not available.
Redirect the path of "vcvarsall.bat".
Known supported compilers
-------------------------
Microsoft Visual C++ 9.0:
Microsoft Visual C++ Compiler for Python 2.7 (x86, amd64)
Parameters
----------
version: float
Required Microsoft Visual C++ version.
Return
------
vcvarsall.bat path: str
z-Software\%sMicrosoft\DevDiv\VCForPython\%0.1f<EFBFBD><00>
installdirz Wow6432Node\Nz vcvarsall.bat) r<00> get_value<75>KeyError<6F>os<6F>path<74>join<69>isfiler<00>msvc9_find_vcvarsall)<05>versionZVC_BASE<53>key<65>
productdir<EFBFBD> vcvarsallrrrr?s   r<00>x86c
Os<>ytt<01>}|||f|<02>|<03>Stjjk
r2Yntk
rDYnXyt||<00><02><07>Stjjk
r<EFBFBD>}zt|||<01><00>Wdd}~XYnXdS)a<>
Patched "distutils.msvc9compiler.query_vcvarsall" for support extra
compilers.
Set environment without use of "vcvarsall.bat".
Known supported compilers
-------------------------
Microsoft Visual C++ 9.0:
Microsoft Visual C++ Compiler for Python 2.7 (x86, amd64)
Microsoft Windows SDK 6.1 (x86, x64, ia64)
Microsoft Windows SDK 7.0 (x86, x64, ia64)
Microsoft Visual C++ 10.0:
Microsoft Windows SDK 7.1 (x86, x64, ia64)
Parameters
----------
ver: float
Required Microsoft Visual C++ version.
arch: str
Target architecture.
Return
------
environment: dict
N) r<00>msvc9_query_vcvarsall<6C> distutils<6C>errors<72>DistutilsPlatformError<6F>
ValueError<EFBFBD>EnvironmentInfo<66>
return_env<EFBFBD>_augment_exception)<06>ver<65>arch<63>args<67>kwargs<67>orig<69>excrrrr js r c
Csny tt<01>|<00>Stjjk
r$YnXyt|dd<02><02><06>Stjjk
rh}zt|d<01><00>Wdd}~XYnXdS)a'
Patched "distutils._msvccompiler._get_vc_env" for support extra
compilers.
Set environment without use of "vcvarsall.bat".
Known supported compilers
-------------------------
Microsoft Visual C++ 14.0:
Microsoft Visual C++ Build Tools 2015 (x86, x64, arm)
Microsoft Visual Studio 2017 (x86, x64, arm, arm64)
Microsoft Visual Studio Build Tools 2017 (x86, x64, arm, arm64)
Parameters
----------
plat_spec: str
Target architecture.
Return
------
environment: dict
g,@)<01>
vc_min_verN)r<00>msvc14_get_vc_envr!r"r#r%r&r')Z plat_specr-rrrr/<00>s 
r/cOsBdtjkr4ddl}t|j<04>td<04>kr4|jjj||<01>Stt <09>||<01>S)z<>
Patched "distutils._msvccompiler.gen_lib_options" for fix
compatibility between "numpy.distutils" and "distutils._msvccompiler"
(for Numpy < 1.11.2)
znumpy.distutilsrNz1.11.2)
<EFBFBD>sys<79>modulesZnumpyr<00> __version__r!Z ccompilerZgen_lib_optionsr<00>msvc14_gen_lib_options)r*r+<00>nprrrr3<00>s

r3rcCs<>|jd}d|<03><01>ks"d|<03><01>kr<>d}|jft<03><00>}d}|dkrr|<02><01><00>d<07>dkrh|d 7}||d
7}q<>|d 7}n.|d kr<>|d 7}||d7}n|dkr<>|d7}|f|_dS)zl
Add details to the exception message to help guide the user
as to what action will resolve it.
rrzvisual cz0Microsoft Visual C++ {version:0.1f} is required.z-www.microsoft.com/download/details.aspx?id=%dg"@Zia64<36><34><EFBFBD><EFBFBD><EFBFBD>z* Get it with "Microsoft Windows SDK 7.0": iB z% Get it from http://aka.ms/vcpython27g$@z* Get it with "Microsoft Windows SDK 7.1": iW g,@z^ Get it with "Microsoft Visual C++ Build Tools": https://visualstudio.microsoft.com/downloads/N)r*<00>lower<65>format<61>locals<6C>find)r-rr)<00>message<67>tmplZ
msdownloadrrrr'<00>s 

r'c@sbeZdZdZe<04>dd<03><02><06>Zdd<05>Ze dd<07><00>Z
dd <09>Z d
d <0B>Z dd d<0E>Z ddd<10>Zddd<12>ZdS)<17> PlatformInfoz<6F>
Current and Target Architectures informations.
Parameters
----------
arch: str
Target architecture.
Zprocessor_architecturercCs|<01><00><00>dd<02>|_dS)N<>x64<36>amd64)r6<00>replacer))<02>selfr)rrr<00>__init__<5F>szPlatformInfo.__init__cCs|j|j<00>d<01>dd<00>S)N<>_r)r)r9)r@rrr<00>
target_cpu<EFBFBD>szPlatformInfo.target_cpucCs
|jdkS)Nr)rC)r@rrr<00> target_is_x86szPlatformInfo.target_is_x86cCs
|jdkS)Nr)<01> current_cpu)r@rrr<00>current_is_x86szPlatformInfo.current_is_x86FcCs.|jdkr|rdS|jdkr$|r$dSd|jS)uk
Current platform specific subfolder.
Parameters
----------
hidex86: bool
return '' and not '†' if architecture is x86.
x64: bool
return 'd' and not 'md64' if architecture is amd64.
Return
------
subfolder: str
' arget', or '' (see hidex86 parameter)
rrr>z\x64z\%s)rE)r@<00>hidex86r=rrr<00> current_dirszPlatformInfo.current_dircCs.|jdkr|rdS|jdkr$|r$dSd|jS)ar
Target platform specific subfolder.
Parameters
----------
hidex86: bool
return '' and not '\x86' if architecture is x86.
x64: bool
return '\x64' and not '\amd64' if architecture is amd64.
Return
------
subfolder: str
'\current', or '' (see hidex86 parameter)
rrr>z\x64z\%s)rC)r@rGr=rrr<00>
target_dirszPlatformInfo.target_dircCs0|rdn|j}|j|krdS|<00><02><00>dd|<00>S)ao
Cross platform specific subfolder.
Parameters
----------
forcex86: bool
Use 'x86' as current architecture even if current acritecture is
not x86.
Return
------
subfolder: str
'' if target architecture is current architecture,
'\current_target' if not.
rr<00>\z\%s_)rErCrIr?)r@<00>forcex86<38>currentrrr<00> cross_dir4szPlatformInfo.cross_dirN)FF)FF)F)rr r
<00>__doc__<5F>safe_env<6E>getr6rErA<00>propertyrCrDrFrHrIrMrrrrr<<00>s 

r<c@s<>eZdZdZejejejejfZ dd<03>Z
e dd<05><00>Z e dd<07><00>Z e dd <09><00>Ze d
d <0B><00>Ze d d <0A><00>Ze dd<0F><00>Ze dd<11><00>Ze dd<13><00>Ze dd<15><00>Zddd<18>Zdd<1A>ZdS)<1D> RegistryInfoz<6F>
Microsoft Visual Studio related registry informations.
Parameters
----------
platform_info: PlatformInfo
"PlatformInfo" instance.
cCs
||_dS)N)<01>pi)r@Z platform_inforrrrAYszRegistryInfo.__init__cCsdS)z<
Microsoft Visual Studio root registry key.
Z VisualStudior)r@rrr<00> visualstudio\szRegistryInfo.visualstudiocCstj<01>|jd<01>S)z;
Microsoft Visual Studio SxS registry key.
ZSxS)rrrrT)r@rrr<00>sxscszRegistryInfo.sxscCstj<01>|jd<01>S)z8
Microsoft Visual C++ VC7 registry key.
ZVC7)rrrrU)r@rrr<00>vcjszRegistryInfo.vccCstj<01>|jd<01>S)z;
Microsoft Visual Studio VS7 registry key.
ZVS7)rrrrU)r@rrr<00>vsqszRegistryInfo.vscCsdS)z?
Microsoft Visual C++ for Python registry key.
zDevDiv\VCForPythonr)r@rrr<00> vc_for_pythonxszRegistryInfo.vc_for_pythoncCsdS)z-
Microsoft SDK registry key.
zMicrosoft SDKsr)r@rrr<00> microsoft_sdkszRegistryInfo.microsoft_sdkcCstj<01>|jd<01>S)z>
Microsoft Windows/Platform SDK registry key.
r)rrrrY)r@rrr<00> windows_sdk<64>szRegistryInfo.windows_sdkcCstj<01>|jd<01>S)z<
Microsoft .NET Framework SDK registry key.
ZNETFXSDK)rrrrY)r@rrr<00> netfx_sdk<64>szRegistryInfo.netfx_sdkcCsdS)z<
Microsoft Windows Kits Roots registry key.
zWindows Kits\Installed Rootsr)r@rrr<00>windows_kits_roots<74>szRegistryInfo.windows_kits_rootsFcCs(|j<00><01>s|rdnd}tj<03>d|d|<01>S)a

Return key in Microsoft software registry.
Parameters
----------
key: str
Registry key path where look.
x86: str
Force x86 software registry.
Return
------
str: value
rZ Wow6432NodeZSoftware<72> Microsoft)rSrFrrr)r@rrZnode64rrr<00> microsoft<66>szRegistryInfo.microsoftc Cs<>tj}tj}|j}x<>|jD]<5D>}y||||<01>d|<03>}WnZttfk
r<EFBFBD>|j<07><08>s<>y||||d<02>d|<03>}Wq<>ttfk
r<EFBFBD>wYq<>XnwYnXyt<00> ||<02>dSttfk
r<EFBFBD>YqXqWdS)a
Look for values in registry in Microsoft software registry.
Parameters
----------
key: str
Registry key path where look.
name: str
Value name to find.
Return
------
str: value
rTN)
r<00>KEY_READ<41>OpenKeyr^<00>HKEYS<59>OSError<6F>IOErrorrSrF<00> QueryValueEx)r@r<00>namer_Zopenkey<65>ms<6D>hkey<65>bkeyrrr<00>lookup<75>s" 

zRegistryInfo.lookupN)F)rr r
rNrr r r rrarArQrTrUrVrWrXrYrZr[r\r^rirrrrrRKs"         
rRc@s$eZdZdZe<04>dd<03>Ze<04>dd<03>Ze<04>de<07>Zd3dd<08>Z d d
<EFBFBD>Z
d d <0C>Z e d d<0E><00>Z e dd<10><00>Zdd<12>Zdd<14>Ze dd<16><00>Ze dd<18><00>Ze dd<1A><00>Ze dd<1C><00>Ze dd<1E><00>Ze dd <20><00>Ze d!d"<22><00>Ze d#d$<24><00>Ze d%d&<26><00>Ze d'd(<28><00>Ze d)d*<2A><00>Ze d+d,<2C><00>Ze d-d.<2E><00>Zd/d0<64>Zd4d1d2<64>ZdS)5<>
SystemInfoz<EFBFBD>
Microsoft Windows and Visual Studio related system inormations.
Parameters
----------
registry_info: RegistryInfo
"RegistryInfo" instance.
vc_ver: float
Required Microsoft Visual C++ version.
<20>WinDirr<00> ProgramFileszProgramFiles(x86)NcCs"||_|jj|_|p|<00><02>|_dS)N)<04>rirS<00>_find_latest_available_vc_ver<65>vc_ver)r@Z registry_infororrrrA<00>s
zSystemInfo.__init__cCs6y |<00><00>dStk
r0d}tj<03>|<01><01>YnXdS)Nr5z%No Microsoft Visual C++ version found)<05>find_available_vc_vers<72>
IndexErrorr!r"r#)r@<00>errrrrrn<00>s
 z(SystemInfo._find_latest_available_vc_verc Cs6|jj}|jj|jj|jjf}g}<03>x|jjD]<5D>}x<>|D]<5D>}yt<06>|||<05>dtj<08>}Wnt t
fk
rpw8YnXt<06> |<06>\}}} xPt |<08>D]D}
y*t t<06>||
<EFBFBD>d<00>} | |kr<>|<03>| <0B>Wq<>tk
r<EFBFBD>Yq<>Xq<>WxPt |<07>D]D}
y(t t<06>||
<EFBFBD><02>} | |k<07>r|<03>| <0B>Wq<>tk
<EFBFBD>r Yq<>Xq<>Wq8Wq.Wt|<03>S)zC
Find all available Microsoft Visual C++ versions.
r)rmr^rVrXrWrarr`r_rbrcZ QueryInfoKey<65>range<67>floatZ EnumValue<75>appendr$<00>EnumKey<65>sorted) r@rfZvckeysZvc_versrgrrhZsubkeys<79>valuesrB<00>ir(rrrrp<00>s2


z!SystemInfo.find_available_vc_verscCs6d|j}tj<02>|j|<01>}|j<05>|jjd|j<00>p4|S)z4
Microsoft Visual Studio directory.
zMicrosoft Visual Studio %0.1fz%0.1f)rorrr<00>ProgramFilesx86rmrirW)r@re<00>defaultrrr<00> VSInstallDir s
zSystemInfo.VSInstallDircCs<>|j|<00><01>p|<00><02>}tj<04>|jjd|j<00>}|j<06> |d<02>}|rNtj<04>|d<03>n|}|j<06> |jj
d|j<00>pl|}tj<04> |<05>s<>d}t j <0A>|<06><01>|S)z1
Microsoft Visual C++ directory.
z%0.1frZVCz(Microsoft Visual C++ directory not found)r|<00> _guess_vc<76>_guess_vc_legacyrrrrmrXrorirV<00>isdirr!r"r#)r@<00>guess_vcZreg_pathZ python_vcZ
default_vcr<00>msgrrr<00> VCInstallDirs  zSystemInfo.VCInstallDirc
Cs^|jdkrdSd}tj<02>|j|<01>}yt<01>|<02>d}tj<02>||<03>Stttfk
rXYnXdS)z*
Locate Visual C for 2017
g,@Nz VC\Tools\MSVCr5) rorrrr|<00>listdirrbrcrq)r@r{r<>Z vc_exact_verrrrr}/s
zSystemInfo._guess_vccCsd|j}tj<02>|j|<01>S)z<
Locate Visual C for versions prior to 2017
z Microsoft Visual Studio %0.1f\VC)rorrrrz)r@r{rrrr~?s
zSystemInfo._guess_vc_legacycCsJ|jdkrdS|jdkrdS|jdkr*dS|jdkr8dS|jd krFd
Sd S) zN
Microsoft Windows SDK versions for specified MSVC++ version.
g"@)z7.0z6.1z6.0ag$@)z7.1z7.0ag&@)z8.0z8.0ag(@)z8.1z8.1ag,@)z10.0z8.1N)ro)r@rrr<00>WindowsSdkVersionFs




zSystemInfo.WindowsSdkVersioncCs|<00>tj<02>|jd<01><02>S)z4
Microsoft Windows SDK last version
<20>lib)<05>_use_last_dir_namerrr<00> WindowsSdkDir)r@rrr<00>WindowsSdkLastVersionVs
z SystemInfo.WindowsSdkLastVersioncCsDd}x8|jD].}tj<02>|jjd|<00>}|j<04>|d<03>}|r Pq W|rNtj<02>|<01>s<>tj<02>|jjd|j <00>}|j<04>|d<05>}|r<>tj<02>|d<06>}|r<>tj<02>|<01>s<>xH|jD]>}|d|<02>
d<08><01>}d |}tj<02>|j |<04>}tj<02>|<07>r<>|}q<>W|r<>tj<02>|<01><01>s*x6|jD],}d
|}tj<02>|j |<04>}tj<02>|<07>r<>|}q<>W|<01>s@tj<02>|j d <0B>}|S) z2
Microsoft Windows SDK directory.
rzv%s<>installationfolderz%0.1frZWinSDKN<4B>.zMicrosoft SDKs\Windows Kits\%szMicrosoft SDKs\Windows\v%sZ PlatformSDK) r<>rrrrmrZrirrXro<00>rfindrlr<>)r@<00>sdkdirr(<00>locr<00> install_baseZintver<65>drrrr<>^s6     zSystemInfo.WindowsSdkDirc Cs<>|jdkrd}d}n&d}|jdkr&dnd}|jjd|d<08>}d ||<02>d
d <0B>f}g}|jd kr<>x(|jD]}|tj<06>|jj ||<04>g7}qdWx,|j
D]"}|tj<06>|jj d ||<04>g7}q<>Wx |D]}|j<08> |d<0E>}|r<>Pq<>W|S)z=
Microsoft Windows SDK executable directory.
g&@<40>#r<00>(g(@TF)r=rGzWinSDK-NetFx%dTools%srJ<00>-g,@zv%sAr<41>) rorSrHr?<00>NetFxSdkVersionrrrrmr[r<>rZri) r@Znetfxverr)rGZfxZregpathsr(rZexecpathrrr<00>WindowsSDKExecutablePath<74>s$

  "
z#SystemInfo.WindowsSDKExecutablePathcCs.d|j}tj<02>|jj|<01>}|j<04>|d<02>p,dS)z0
Microsoft Visual F# directory.
z%0.1f\Setup\F#rr)rorrrrmrTri)r@rrrr<00>FSharpInstallDir<69>s
zSystemInfo.FSharpInstallDircCsF|jdkrd}nd}x(|D] }|j<01>|jjd|<00>}|rPqW|pDdS)z8
Microsoft Universal CRT SDK directory.
g,@)<02>10Z81rz
kitsroot%sr)rormrir\)r@<00>versr(r<>rrr<00>UniversalCRTSdkDir<69>s

 
zSystemInfo.UniversalCRTSdkDircCs|<00>tj<02>|jd<01><02>S)z@
Microsoft Universal C Runtime SDK last version
r<>)r<>rrrr<>)r@rrr<00>UniversalCRTSdkLastVersion<6F>s
z%SystemInfo.UniversalCRTSdkLastVersioncCs|jdkrdSdSdS)z8
Microsoft .NET Framework SDK versions.
g,@)z4.6.1z4.6rN)ro)r@rrrr<><00>s
zSystemInfo.NetFxSdkVersioncCs>x4|jD]*}tj<02>|jj|<01>}|j<04>|d<01>}|rPqW|p<dS)z9
Microsoft .NET Framework SDK directory.
Zkitsinstallationfolderr)r<>rrrrmr[ri)r@r(r<>r<>rrr<00> NetFxSdkDir<69>s  zSystemInfo.NetFxSdkDircCs&tj<01>|jd<01>}|j<04>|jjd<02>p$|S)z;
Microsoft .NET Framework 32bit directory.
zMicrosoft.NET\FrameworkZframeworkdir32)rrrrkrmrirV)r@<00>guess_fwrrr<00>FrameworkDir32<33>szSystemInfo.FrameworkDir32cCs&tj<01>|jd<01>}|j<04>|jjd<02>p$|S)z;
Microsoft .NET Framework 64bit directory.
zMicrosoft.NET\Framework64Zframeworkdir64)rrrrkrmrirV)r@r<>rrr<00>FrameworkDir64<36>szSystemInfo.FrameworkDir64cCs
|<00>d<01>S)z:
Microsoft .NET Framework 32bit versions.
<20> )<01>_find_dot_net_versions)r@rrr<00>FrameworkVersion32<33>szSystemInfo.FrameworkVersion32cCs
|<00>d<01>S)z:
Microsoft .NET Framework 64bit versions.
<20>@)r<>)r@rrr<00>FrameworkVersion64<36>szSystemInfo.FrameworkVersion64cCs<>|j<00>|jjd|<00>}t|d|<00>}|p6|<00>|d<03>p6d}|jdkrL|df}n:|jdkrx|<04><06>dd <09>d
krnd n|d f}n|jd kr<>d}|jdkr<>d}|S)z<>
Find Microsoft .NET Framework versions.
Parameters
----------
bits: int
Platform number of bits: 32 or 64.
zframeworkver%dzFrameworkDir%d<>vrg(@zv4.0g$@N<>Zv4z
v4.0.30319zv3.5g"@)zv3.5z
v2.0.50727g @)zv3.0z
v2.0.50727)rmrirV<00>getattrr<72>ror6)r@<00>bitsZreg_verZ dot_net_dirr(Z frameworkverrrrr<>s





z!SystemInfo._find_dot_net_versionscs,<00><00>fdd<02>tt<01><02><00><01>D<00>}t|d<03>p*dS)z<>
Return name of the last dir in path or '' if no dir found.
Parameters
----------
path: str
Use dirs in this path
prefix: str
Use only dirs startings by this prefix
c3s2|]*}tj<01>tj<01><03>|<01><02>r|<01><04><01>r|VqdS)N)rrrr<00>
startswith)<02>.0Zdir_name)r<00>prefixrr<00> <genexpr>(sz0SystemInfo._use_last_dir_name.<locals>.<genexpr>Nr)<04>reversedrr<><00>next)r@rr<>Z matching_dirsr)rr<>rr<>s zSystemInfo._use_last_dir_name)N)r) rr r
rNrOrPrkrlrzrArnrprQr|r<>r}r~r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>rrrrrj<00>s4
   
    &     rjc@sReZdZdZd=dd<05>Zedd<07><00>Zedd <09><00>Zed
d <0B><00>Zed d <0A><00>Z edd<0F><00>Z
edd<11><00>Z edd<13><00>Z edd<15><00>Z edd<17><00>Zedd<19><00>Zdd<1B>Zedd<1D><00>Zedd<1F><00>Zed d!<21><00>Zed"d#<23><00>Zed$d%<25><00>Zed&d'<27><00>Zed(d)<29><00>Zed*d+<2B><00>Zed,d-<2D><00>Zed.d/<2F><00>Zed0d1<64><00>Zed2d3<64><00>Zed4d5<64><00>Zd>d7d8<64>Zd9d:<3A>Zd?d;d<<3C>Z dS)@r%aY
Return environment variables for specified Microsoft Visual C++ version
and platform : Lib, Include, Path and libpath.
This function is compatible with Microsoft Visual C++ 9.0 to 14.0.
Script created by analysing Microsoft environment configuration files like
"vcvars[...].bat", "SetEnv.Cmd", "vcbuildtools.bat", ...
Parameters
----------
arch: str
Target architecture.
vc_ver: float
Required Microsoft Visual C++ version. If not set, autodetect the last
version.
vc_min_ver: float
Minimum Microsoft Visual C++ version.
NrcCsBt|<01>|_t|j<01>|_t|j|<02>|_|j|kr>d}tj<08> |<04><01>dS)Nz.No suitable Microsoft Visual C++ version found)
r<rSrRrmrj<00>siror!r"r#)r@r)ror.rrrrrrAHs 
 
zEnvironmentInfo.__init__cCs|jjS)z/
Microsoft Visual C++ version.
)r<>ro)r@rrrroQszEnvironmentInfo.vc_vercsVddg}<01>jdkrD<72>jjddd<05>}|dg7}|dg7}|d|g7}<01>fd d
<EFBFBD>|D<00>S) z/
Microsoft Visual Studio Tools
z Common7\IDEz Common7\Toolsg,@T)rGr=z1Common7\IDE\CommonExtensions\Microsoft\TestWindowzTeam Tools\Performance ToolszTeam Tools\Performance Tools%scsg|]}tj<01><02>jj|<01><02>qSr)rrrr<>r|)r<>r)r@rr<00>
<listcomp>esz+EnvironmentInfo.VSTools.<locals>.<listcomp>)rorSrH)r@<00>paths<68> arch_subdirr)r@r<00>VSToolsXs


zEnvironmentInfo.VSToolscCs$tj<01>|jjd<01>tj<01>|jjd<02>gS)zL
Microsoft Visual C++ & Microsoft Foundation Class Includes
<20>IncludezATLMFC\Include)rrrr<>r<>)r@rrr<00>
VCIncludesgszEnvironmentInfo.VCIncludescsb<00>jdkr<1A>jjdd<03>}n<0E>jjdd<04>}d|d|g}<02>jdkrP|d|g7}<02>fd d
<EFBFBD>|D<00>S) zM
Microsoft Visual C++ & Microsoft Foundation Class Libraries
g.@T)r=)rGzLib%sz ATLMFC\Lib%sg,@z Lib\store%scsg|]}tj<01><02>jj|<01><02>qSr)rrrr<>r<>)r<>r)r@rrr<>}sz/EnvironmentInfo.VCLibraries.<locals>.<listcomp>)rorSrI)r@r<>r<>r)r@r<00> VCLibrariesos

zEnvironmentInfo.VCLibrariescCs"|jdkrgStj<02>|jjd<02>gS)zA
Microsoft Visual C++ store references Libraries
g,@zLib\store\references)rorrrr<>r<>)r@rrr<00> VCStoreRefss
zEnvironmentInfo.VCStoreRefscCs|j}tj<02>|jd<01>g}|jdkr&dnd}|j<06>|<03>}|rT|tj<02>|jd|<00>g7}|jdkr<>d|jjdd<07>}|tj<02>|j|<05>g7}n<>|jdkr<>|j<06> <09>r<>d nd
}|tj<02>|j||jj
dd <0B><00>g7}|jj |jj kr<>|tj<02>|j||jjdd <0B><00>g7}n|tj<02>|jd <0C>g7}|S) z,
Microsoft Visual C++ Tools
Z
VCPackagesg$@TFzBin%sg,@)rGg.@z bin\HostX86%sz bin\HostX64%s)r=<00>Bin) r<>rrrr<>rorSrMrHrFrIrErC)r@r<><00>toolsrKr<>rZhost_dirrrr<00>VCTools<6C>s& 

zEnvironmentInfo.VCToolscCst|jdkr2|jjddd<03>}tj<04>|jjd|<00>gS|jjdd<05>}tj<04>|jjd<06>}|j}tj<04>|d||f<00>gSdS) z1
Microsoft Windows SDK Libraries
g$@T)rGr=zLib%s)r=r<>z%sum%sN) rorSrIrrrr<>r<><00> _sdk_subdir)r@r<>r<>Zlibverrrr<00> OSLibraries<65>s
zEnvironmentInfo.OSLibrariescCs|tj<01>|jjd<01>}|jdkr.|tj<01>|d<03>gS|jdkr@|j}nd}tj<01>|d|<00>tj<01>|d|<00>tj<01>|d|<00>gSd S)
z/
Microsoft Windows SDK Include
<20>includeg$@<40>glg,@rz%ssharedz%sumz%swinrtN)rrrr<>r<>ror<>)r@r<><00>sdkverrrr<00>
OSIncludes<EFBFBD>s

zEnvironmentInfo.OSIncludescCs<>tj<01>|jjd<01>}g}|jdkr*||j7}|jdkrH|tj<01>|d<04>g7}|jdkr<>||tj<01>|jjd<06>tj<01>|dd<08>tj<01>|d d<08>tj<01>|d
d<08>tj<01>|jjd d d |jddd<0F>g7}|S)z7
Microsoft Windows SDK Libraries Paths
Z
Referencesg"@g&@zCommonConfiguration\Neutralg,@Z UnionMetadataz'Windows.Foundation.UniversalApiContractz1.0.0.0z%Windows.Foundation.FoundationContractz,Windows.Networking.Connectivity.WwanContractZ ExtensionSDKszMicrosoft.VCLibsz%0.1fZCommonConfigurationZneutral)rrrr<>r<>ror<>)r@<00>ref<65>libpathrrr<00> OSLibpath<74>s>




zEnvironmentInfo.OSLibpathcCs t|<00><01><00>S)z-
Microsoft Windows SDK Tools
)<02>list<73>
_sdk_tools)r@rrr<00>SdkTools<6C>szEnvironmentInfo.SdkToolsccs|jdkr0|jdkrdnd}tj<02>|jj|<01>V|j<06><07>sd|jjdd<06>}d|}tj<02>|jj|<03>V|jdksx|jdkr<>|j<06> <09>r<>d }n|jjddd
<EFBFBD>}d |}tj<02>|jj|<03>VnL|jdk<05>rtj<02>|jjd<03>}|jjdd<06>}|jj
}tj<02>|d ||f<00>V|jj <0B>r|jj Vd S)z=
Microsoft Windows SDK Tools paths generator
g.@g&@r<>zBin\x86T)r=zBin%sg$@r)rGr=zBin\NETFX 4.0 Tools%sz%s%sN) rorrrr<>r<>rSrFrHrDr<>r<>)r@<00>bin_dirr<72>rr<>rrrr<><00>s(


 
zEnvironmentInfo._sdk_toolscCs|jj}|rd|SdS)z6
Microsoft Windows SDK version subdir
z%s\r)r<>r<>)r@<00>ucrtverrrrr<>szEnvironmentInfo._sdk_subdircCs"|jdkrgStj<02>|jjd<02>gS)z-
Microsoft Windows SDK Setup
g"@ZSetup)rorrrr<>r<>)r@rrr<00>SdkSetup$s
zEnvironmentInfo.SdkSetupcs<>|j}|j<01>|jdkr0d}|<01><03> o,|<01><04> }n$|<01><03>p>|<01><04>}|jdkpR|jdk}g}|rt|<04>fdd<05><08>jD<00>7}|r<>|<04>fdd<05><08>jD<00>7}|S)z0
Microsoft .NET Framework Tools
g$@Tr>csg|]}tj<01><02>j|<01><02>qSr)rrrr<>)r<>r()r<>rrr<>?sz+EnvironmentInfo.FxTools.<locals>.<listcomp>csg|]}tj<01><02>j|<01><02>qSr)rrrr<>)r<>r()r<>rrr<>Bs) rSr<>rorDrFrErCr<>r<>)r@rSZ include32Z include64r<34>r)r<>r<00>FxTools.s
    zEnvironmentInfo.FxToolscCs<|jdks|jjsgS|jjdd<03>}tj<06>|jjd|<00>gS)z8
Microsoft .Net Framework SDK Libraries
g,@T)r=zlib\um%s)ror<>r<>rSrIrrr)r@r<>rrr<00>NetFxSDKLibrariesFsz!EnvironmentInfo.NetFxSDKLibrariescCs*|jdks|jjsgStj<04>|jjd<02>gS)z7
Microsoft .Net Framework SDK Includes
g,@z
include\um)ror<>r<>rrr)r@rrr<00>NetFxSDKIncludesQsz EnvironmentInfo.NetFxSDKIncludescCstj<01>|jjd<01>gS)z>
Microsoft Visual Studio Team System Database
z VSTSDB\Deploy)rrrr<>r|)r@rrr<00>VsTDb[szEnvironmentInfo.VsTDbcCs~|jdkrgS|jdkr0|jj}|jjdd<04>}n |jj}d}d|j|f}tj<07>||<03>g}|jdkrz|tj<07>||d<07>g7}|S)z(
Microsoft Build Engine
g(@g.@T)rGrzMSBuild\%0.1f\bin%sZRoslyn) ror<>rzrSrHr|rrr)r@<00> base_pathr<68>r<00>buildrrr<00>MSBuildbs


zEnvironmentInfo.MSBuildcCs"|jdkrgStj<02>|jjd<02>gS)z.
Microsoft HTML Help Workshop
g&@zHTML Help Workshop)rorrrr<>rz)r@rrr<00>HTMLHelpWorkshopys
z EnvironmentInfo.HTMLHelpWorkshopcCsL|jdkrgS|jjdd<03>}tj<04>|jjd<04>}|j}tj<04>|d||f<00>gS)z=
Microsoft Universal C Runtime SDK Libraries
g,@T)r=r<>z%sucrt%s) rorSrIrrrr<>r<><00> _ucrt_subdir)r@r<>r<>r<>rrr<00> UCRTLibraries<65>s 
zEnvironmentInfo.UCRTLibrariescCs6|jdkrgStj<02>|jjd<02>}tj<02>|d|j<00>gS)z;
Microsoft Universal C Runtime SDK Include
g,@r<>z%sucrt)rorrrr<>r<>r<>)r@r<>rrr<00> UCRTIncludes<65>s
zEnvironmentInfo.UCRTIncludescCs|jj}|rd|SdS)zB
Microsoft Universal C Runtime SDK version subdir
z%s\r)r<>r<>)r@r<>rrrr<><00>szEnvironmentInfo._ucrt_subdircCs |jdkr|jdkrgS|jjS)z%
Microsoft Visual F#
g&@g(@)ror<>r<>)r@rrr<00>FSharp<72>szEnvironmentInfo.FSharpcCsl|jjdd<02>}|jdkr&|jj}d}n|jj<04>dd<06>}d}|jdkrHdn|j}|||j|f}tj<07>||<03>S) zA
Microsoft Visual C++ runtime redistribuable dll
T)r=<00>z-redist%s\Microsoft.VC%d0.CRT\vcruntime%d0.dllz\Toolsz\Redistz.onecore%s\Microsoft.VC%d0.CRT\vcruntime%d0.dllg,@) rSrIror<>r<>r?rrr)r@r<>Z redist_pathZ vcruntimeZdll_verrrr<00>VCRuntimeRedist<73>s
zEnvironmentInfo.VCRuntimeRedistTcCs<>t|<00>d|j|j|j|jg|<01>|<00>d|j|j|j|j |j
g|<01>|<00>d|j|j|j |j g|<01>|<00>d|j |j|j|j|j|j|j|j|jg |<01>d<05>}|jdkr<>tj<17>|j<19>r<>|j|d<|S)z<>
Return environment dict.
Parameters
----------
exists: bool
It True, only return existing paths.
r<>r<>r<>r)r<>r<>r<>r<00>Zpy_vcruntime_redist)<1A>dict<63> _build_pathsr<73>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>rorrrr<>)r@<00>exists<74>envrrrr&<00>sD 

zEnvironmentInfo.return_envc
Csxtj<01>|<02>}t<03>|d<01><02>tj<07>}t<00>||<05>}|rBtt tj
j |<06><02>n|}|sbd|<01> <0C>}t j<0E>|<08><01>|<00>|<07>} tj<07>| <09>S)a
Given an environment variable name and specified paths,
return a pathsep-separated string of paths containing
unique, extant, directories from those paths and from
the environment variable. Raise an error if no paths
are resolved.
rz %s environment variable is empty)<12> itertools<6C>chain<69> from_iterablerOrP<00>splitr<00>pathsepr<70><00>filterrr<00>upperr!r"r#<00>_unique_everseenr)
r@reZspec_path_listsr<73>Z
spec_pathsZ env_pathsr<73>Z extant_pathsr<73>Z unique_pathsrrrr<><00>s    
zEnvironmentInfo._build_pathsccsjt<00>}|j}|dkr:xPt|j|<01>D]}||<05>|Vq"Wn,x*|D]"}||<05>}||kr@||<06>|Vq@WdS)z<>
List unique elements, preserving order.
Remember all elements ever seen.
_unique_everseen('AAAABBBCCDAABBB') --> A B C D
_unique_everseen('ABBCcAD', str.lower) --> A B C D
N)<04>set<65>addr<00> __contains__)r@<00>iterabler<00>seenZseen_add<64>element<6E>krrrr<>s  
z EnvironmentInfo._unique_everseen)Nr)T)N)!rr r
rNrArQror<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r&r<>r<>rrrrr%0s:
      -  

 


-r%)r)r)!rNrr0<00>platformr<6D><00>distutils.errorsr!Z#setuptools.extern.packaging.versionrZsetuptools.extern.six.movesrZmonkeyr<00>systemr<00>environrOr<><00> ImportErrorr"r#Z_msvc9_suppress_errorsZdistutils.msvc9compilerrrr r/r3r'r<rRrjr%rrrr<00><module>s>     
+
/&
$[b