Edit File: msvc.pyo
� 3�abc�����������@���sy��d��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�d�d�l �m �Z �d�d�l�m�Z�e�j ����d�k�r��d�d�l �m�Z�e�j�Z�n�d �f��d �������YZ�e����Z�e�e�j�j�f�Z�y�d�d�l�m�Z�Wn�e�k �r��n�Xd����Z�d �d���Z�d����Z�d����Z�d�d���Z�d�f��d�������YZ�d�f��d�������YZ�d�f��d�������YZ�d�f��d�������YZ �d�S(���s@�� 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) i����N(���t ���LegacyVersion(���t���filterfalsei���(���t ���get_unpatchedt���Windows(���t���winregR���c�����������B���s ���e��Z�d��Z�d��Z�d��Z�d��Z�RS(���N(���t���__name__t ���__module__t���Nonet ���HKEY_USERSt���HKEY_CURRENT_USERt���HKEY_LOCAL_MACHINEt���HKEY_CLASSES_ROOT(����(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyR���(���s���(���t���Regc���������C���s����d�}�|�d�|��f�}�y�t��j�|�d���}�WnQ�t�k �r�y&�|�d�|��f�}�t��j�|�d���}�Wq��t�k �r{�d�}�q��Xn�X|�r��t�j�j�j�j�|�d���}�t�j�j�|���r��|�Sn��t�t ���|����S(���s+�� 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 s-���Software\%sMicrosoft\DevDiv\VCForPython\%0.1ft����t ���installdirs���Wow6432Node\s ���vcvarsall.batN( ���R���t ���get_valuet���KeyErrorR���t���ost���patht���joint���isfileR���t���msvc9_find_vcvarsall(���t���versiont���VC_BASEt���keyt ���productdirt ���vcvarsall(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyR���?���s���� t���x86c���������O���s����y#�t��t���}�|�|��|�|�|���SWn'�t�j�j�k �r<�n�t�k �rL�n�Xy�t�|�|����j����SWn,�t�j�j�k �r��}�t�|�|��|������n�Xd�S(���s��� 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���t���msvc9_query_vcvarsallt ���distutilst���errorst���DistutilsPlatformErrort ���ValueErrort���EnvironmentInfot ���return_envt���_augment_exception(���t���vert���archt���argst���kwargst���origt���exc(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyR���j���s���� c���������C���sx���y�t��t���|����SWn�t�j�j�k �r-�n�Xy�t�|��d�d��j����SWn)�t�j�j�k �rs�}�t�|�d������n�Xd�S(���s'�� 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 t ���vc_min_verg������,@N(���R���t���msvc14_get_vc_envR���R���R���R!���R"���R#���(���t ���plat_specR)���(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyR+�������s���� c����������O���sb���d�t��j�k�rO�d�d�l�}�t�|�j���t�d���k��rO�|�j�j�j�|��|����Sn��t�t ���|��|����S(���s���� Patched "distutils._msvccompiler.gen_lib_options" for fix compatibility between "numpy.distutils" and "distutils._msvccompiler" (for Numpy < 1.11.2) s���numpy.distutilsi����Ns���1.11.2( ���t���syst���modulest���numpyR����t���__version__R���t ���ccompilert���gen_lib_optionsR���t���msvc14_gen_lib_options(���R&���R'���t���np(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyR3�������s ����R ���c���������C���s����|��j��d�}�d�|�j����k�s1�d�|�j����k�r��d�}�|�j�t�������}�d�}�|�d�k�r��|�j����j�d���d�k�r��|�d �7}�|�|�d �7}�q��|�d�7}�q��|�d�k�r��|�d �7}�|�|�d�7}�q��|�d�k�r��|�d�7}�q��n��|�f�|��_��d�S(���sl��� Add details to the exception message to help guide the user as to what action will resolve it. i����R���s���visual cs0���Microsoft Visual C++ {version:0.1f} is required.s-���www.microsoft.com/download/details.aspx?id=%dg������"@t���ia64i����s*��� Get it with "Microsoft Windows SDK 7.0": iB��s%��� Get it from http://aka.ms/vcpython27g������$@s*��� Get it with "Microsoft Windows SDK 7.1": iW ��g������,@sj��� Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-toolsN(���R&���t���lowert���formatt���localst���find(���R)���R���R%���t���messaget���tmplt ���msdownload(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyR#�������s ���� $ t���PlatformInfoc�����������B���sz���e��Z�d��Z�e�j�d�d���j����Z�d����Z�e�d������Z �d����Z �d����Z�e�e�d���Z �e�e�d���Z�e�d ���Z�RS( ���s���� Current and Target Architectures informations. Parameters ---------- arch: str Target architecture. t���processor_architectureR ���c���������C���s���|�j�����j�d�d���|��_�d��S(���Nt���x64t���amd64(���R6���t���replaceR%���(���t���selfR%���(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyt���__init__����s����c���������C���s���|��j��|��j��j�d���d�S(���Nt���_i���(���R%���R9���(���RB���(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyt ���target_cpu����s����c���������C���s ���|��j��d�k�S(���NR���(���RE���(���RB���(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyt ���target_is_x86��s����c���������C���s ���|��j��d�k�S(���NR���(���t���current_cpu(���RB���(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyt���current_is_x86��s����c���������C���s=���|��j��d�k�r�|�r�d�S|��j��d�k�r2�|�r2�d�Sd�|��j��S(���sj�� 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) R���R ���R@���s���\x64s���\%s(���RG���(���RB���t���hidex86R?���(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyt���current_dir ��s����c���������C���s=���|��j��d�k�r�|�r�d�S|��j��d�k�r2�|�r2�d�Sd�|��j��S(���sr�� 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) R���R ���R@���s���\x64s���\%s(���RE���(���RB���RI���R?���(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyt ���target_dir��s����c���������C���sB���|�r�d�n�|��j��}�|��j�|�k�r(�d�S|��j����j�d�d�|���S(���so�� 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. R���R ���s���\s���\%s_(���RG���RE���RK���RA���(���RB���t���forcex86t���current(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyt ���cross_dir5��s����(���R���R���t���__doc__t���safe_envt���getR6���RG���RC���t���propertyRE���RF���RH���t���FalseRJ���RK���RN���(����(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyR=�������s��� t���RegistryInfoc�����������B���s����e��Z�d��Z�e�j�e�j�e�j�e�j�f�Z�d����Z �e �d������Z�e �d������Z�e �d������Z �e �d������Z�e �d������Z�e �d������Z�e �d������Z�e �d ������Z�e �d ������Z�e�d���Z�d����Z�RS( ���s���� Microsoft Visual Studio related registry informations. Parameters ---------- platform_info: PlatformInfo "PlatformInfo" instance. c���������C���s ���|�|��_��d��S(���N(���t���pi(���RB���t ���platform_info(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyRC���Z��s����c���������C���s���d�S(���s<��� Microsoft Visual Studio root registry key. t���VisualStudio(����(���RB���(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyt���visualstudio]��s����c���������C���s���t��j�j�|��j�d���S(���s;��� Microsoft Visual Studio SxS registry key. t���SxS(���R���R���R���RX���(���RB���(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyt���sxsd��s����c���������C���s���t��j�j�|��j�d���S(���s8��� Microsoft Visual C++ VC7 registry key. t���VC7(���R���R���R���RZ���(���RB���(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyt���vck��s����c���������C���s���t��j�j�|��j�d���S(���s;��� Microsoft Visual Studio VS7 registry key. t���VS7(���R���R���R���RZ���(���RB���(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyt���vsr��s����c���������C���s���d�S(���s?��� Microsoft Visual C++ for Python registry key. s���DevDiv\VCForPython(����(���RB���(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyt ���vc_for_pythony��s����c���������C���s���d�S(���s-��� Microsoft SDK registry key. s���Microsoft SDKs(����(���RB���(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyt ���microsoft_sdk���s����c���������C���s���t��j�j�|��j�d���S(���s>��� Microsoft Windows/Platform SDK registry key. R���(���R���R���R���R`���(���RB���(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyt���windows_sdk���s����c���������C���s���t��j�j�|��j�d���S(���s<��� Microsoft .NET Framework SDK registry key. t���NETFXSDK(���R���R���R���R`���(���RB���(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyt ���netfx_sdk���s����c���������C���s���d�S(���s<��� Microsoft Windows Kits Roots registry key. s���Windows Kits\Installed Roots(����(���RB���(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyt���windows_kits_roots���s����c���������C���s:���|��j��j����s�|�r�d�n�d�}�t�j�j�d�|�d�|���S(���s �� Return key in Microsoft software registry. Parameters ---------- key: str Registry key path where look. x86: str Force x86 software registry. Return ------ str: value R ���t���Wow6432Nodet���Softwaret ���Microsoft(���RU���RH���R���R���R���(���RB���R���R���t���node64(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyt ���microsoft���s����!c���������C���s����t��j�}�t��j�}�|��j�}�x��|��j�D]��}�y�|�|�|�|���d�|���}�Wnk�t�t�f�k �r��|��j�j����s%�y"�|�|�|�|�t ���d�|���}�Wq��t�t�f�k �r��q%�q��Xq��q%�n�Xy�t��j �|�|���d�SWq%�t�t�f�k �r��q%�Xq%�Wd�S(���s�� 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 i����N(���R���t���KEY_READt���OpenKeyRi���t���HKEYSt���OSErrort���IOErrorRU���RH���t���Truet���QueryValueEx(���RB���R���t���nameRj���t���openkeyt���mst���hkeyt���bkey(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyt���lookup���s"���� " (���R���R���RO���R���R���R ���R ���R���Rl���RC���RR���RX���RZ���R\���R^���R_���R`���Ra���Rc���Rd���RS���Ri���Rv���(����(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyRT���L��s"��� t ���SystemInfoc�����������B���sj��e��Z�d��Z�e�j�d�d���Z�e�j�d�d���Z�e�j�d�e���Z�d�d���Z �d����Z �d����Z�e�d������Z �e�d ������Z�d ����Z�d����Z�e�d������Z�e�d ������Z�e�d������Z�e�d������Z�e�d������Z�e�d������Z�e�d������Z�e�d������Z�e�d������Z�e�d������Z�e�d������Z�e�d������Z�e�d������Z�d����Z�d�d���Z�RS(���s���� Microsoft Windows and Visual Studio related system inormations. Parameters ---------- registry_info: RegistryInfo "RegistryInfo" instance. vc_ver: float Required Microsoft Visual C++ version. t���WinDirR ���t���ProgramFiless���ProgramFiles(x86)c���������C���s1���|�|��_��|��j��j�|��_�|�p'�|��j����|��_�d��S(���N(���t���riRU���t���_find_latest_available_vc_vert���vc_ver(���RB���t ���registry_infoR|���(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyRC������s���� c���������C���sB���y�|��j�����d�SWn)�t�k �r=�d�}�t�j�j�|�����n�Xd��S(���Ni����s%���No Microsoft Visual C++ version found(���t���find_available_vc_verst ���IndexErrorR���R���R���(���RB���t���err(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyR{������s ���� c���������C���s���|��j��j�}�|��j��j�|��j��j�|��j��j�f�}�g��}�xI|��j��j�D];}�x2|�D]*}�y%�t�j�|�|�|���d�t�j���}�Wn�t �t �f�k �r��qM�n�Xt�j�|���\�}�}�} �xd�t�|���D]V�} �y<�t �t�j�|�| ���d���}�|�|�k�r��|�j�|���n��Wq��t�k �rq��Xq��Wx`�t�|���D]R�} �y8�t �t�j�|�| �����}�|�|�k�r^|�j�|���n��Wq!t�k �rrq!Xq!WqM�Wq@�Wt�|���S(���sC��� Find all available Microsoft Visual C++ versions. i����(���Rz���Ri���R\���R_���R^���Rl���R���Rk���Rj���Rm���Rn���t���QueryInfoKeyt���ranget���floatt ���EnumValuet���appendR ���t���EnumKeyt���sorted(���RB���Rs���t���vckeyst���vc_versRt���R���Ru���t���subkeyst���valuesRD���t���iR$���(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyR~������s2����! % c���������C���sK���d�|��j��}�t�j�j�|��j�|���}�|��j�j�|��j�j�d�|��j����pJ�|�S(���s4��� Microsoft Visual Studio directory. s���Microsoft Visual Studio %0.1fs���%0.1f(���R|���R���R���R���t���ProgramFilesx86Rz���Rv���R^���(���RB���Rq���t���default(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyt���VSInstallDir ��s���� c���������C���s����|��j��|��j����p�|��j����}�t�j�j�|��j�j�d�|��j���}�|��j�j �|�d���}�|�rq�t�j�j�|�d���n�|�}�|��j�j �|��j�j �d�|��j���p��|�}�t�j�j�|���s��d�}�t�j �j�|�����n��|�S(���s1��� Microsoft Visual C++ directory. s���%0.1fR���t���VCs(���Microsoft Visual C++ directory not found(���R����t ���_guess_vct���_guess_vc_legacyR���R���R���Rz���R_���R|���Rv���R\���t���isdirR���R���R���(���RB���t���guess_vct���reg_patht ���python_vct ���default_vcR���t���msg(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyt���VCInstallDir��s����"!(c���������C���s|���|��j��d�k�r�d�Sd�}�t�j�j�|��j�|���}�y*�t�j�|���d�}�t�j�j�|�|���SWn�t�t�t�f�k �rw�n�Xd�S(���s*��� Locate Visual C for 2017 g������,@Ns ���VC\Tools\MSVCi����( ���R|���R���R���R���R����t���listdirRm���Rn���R���(���RB���R����R����t���vc_exact_ver(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyR����0��s����c���������C���s#���d�|��j��}�t�j�j�|��j�|���S(���s<��� Locate Visual C for versions prior to 2017 s ���Microsoft Visual Studio %0.1f\VC(���R|���R���R���R���R����(���RB���R����(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyR����@��s���� c���������C���sc���|��j��d�k�r�d�S|��j��d�k�r&�d�S|��j��d�k�r9�d�S|��j��d�k�rL�d�S|��j��d�k�r_�d�Sd�S(���sN��� Microsoft Windows SDK versions for specified MSVC++ version. g������"@s���7.0s���6.1s���6.0ag������$@s���7.1s���7.0ag������&@s���8.0s���8.0ag������(@s���8.1s���8.1ag������,@s���10.0N(���s���7.0s���6.1s���6.0a(���s���7.1s���7.0a(���s���8.0s���8.0a(���s���8.1s���8.1a(���s���10.0s���8.1(���R|���(���RB���(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyt���WindowsSdkVersionG��s����c���������C���s���|��j��t�j�j�|��j�d�����S(���s4��� Microsoft Windows SDK last version t���lib(���t���_use_last_dir_nameR���R���R���t ���WindowsSdkDir(���RB���(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyt���WindowsSdkLastVersionW��s����c���������C���s���d�}�xO�|��j��D]D�}�t�j�j�|��j�j�d�|���}�|��j�j�|�d���}�|�r�Pq�q�W|�sr�t�j�j�|���r��t�j�j�|��j�j�d�|��j ���}�|��j�j�|�d���}�|�r��t�j�j�|�d���}�q��n��|�s��t�j�j�|���rKxd�|��j��D]V�}�|�|�j �d��� }�d�|�}�t�j�j�|��j�|���}�t�j�j�|���r��|�}�q��q��Wn��|�set�j�j�|���r�xQ�|��j��D]C�}�d �|�}�t�j�j�|��j�|���}�t�j�j�|���ro|�}�qoqoWn��|�s�t�j�j�|��j�d ���}�n��|�S(���s2��� Microsoft Windows SDK directory. R ���s���v%st���installationfolders���%0.1fR���t���WinSDKt���.s���Microsoft SDKs\Windows Kits\%ss���Microsoft SDKs\Windows\v%st���PlatformSDK( ���R����R���R���R���Rz���Ra���Rv���R����R_���R|���t���rfindRy���R����(���RB���t���sdkdirR$���t���locR���t���install_baset���intvert���d(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyR����_��s6����" c��� ������C���s8��|��j��d�k�r�d�}�d�}�n<�d�}�|��j��d�k�r9�t�n�t�}�|��j�j�d�t�d�|���}�d�|�|�j�d �d ���f�}�g��}�|��j��d�k�r��x9�|��j�D]+�}�|�t�j�j �|��j �j�|�|���g�7}�q��Wn��x:�|��j�D]/�}�|�t�j�j �|��j �j �d�|�|���g�7}�q��Wx-�|�D]%�}�|��j �j�|�d ���}�|�rPqqW|�S(���s=��� Microsoft Windows SDK executable directory. g������&@i#���R ���i(���g������(@R?���RI���s���WinSDK-NetFx%dTools%ss���\t���-g������,@s���v%sAR����(���R|���Ro���RS���RU���RJ���RA���t���NetFxSdkVersionR���R���R���Rz���Rc���R����Ra���Rv���( ���RB���t���netfxverR%���RI���t���fxt���regpathsR$���R���t���execpath(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyt���WindowsSDKExecutablePath���s$���� ,- c���������C���sA���d�|��j��}�t�j�j�|��j�j�|���}�|��j�j�|�d���p@�d�S(���s0��� Microsoft Visual F# directory. s���%0.1f\Setup\F#R���R ���(���R|���R���R���R���Rz���RX���Rv���(���RB���R���(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyt���FSharpInstallDir���s���� c���������C���sb���|��j��d�k�r�d�}�n�d�}�x7�|�D]/�}�|��j�j�|��j�j�d�|���}�|�r%�Pq%�q%�W|�pa�d�S(���s8��� Microsoft Universal CRT SDK directory. g������,@t���10t���81s ���kitsroot%sR ���(���R����R����(����(���R|���Rz���Rv���Rd���(���RB���t���versR$���R����(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyt���UniversalCRTSdkDir���s���� c���������C���s���|��j��t�j�j�|��j�d�����S(���s@��� Microsoft Universal C Runtime SDK last version R����(���R����R���R���R���R����(���RB���(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyt���UniversalCRTSdkLastVersion���s����c���������C���s���|��j��d�k�r�d�Sd�Sd�S(���s8��� Microsoft .NET Framework SDK versions. g������,@s���4.6.1s���4.6N(���s���4.6.1s���4.6(����(���R|���(���RB���(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyR�������s����c���������C���sX���xK�|��j��D]@�}�t�j�j�|��j�j�|���}�|��j�j�|�d���}�|�r �Pq �q �W|�pW�d�S(���s9��� Microsoft .NET Framework SDK directory. t���kitsinstallationfolderR ���(���R����R���R���R���Rz���Rc���Rv���(���RB���R$���R����R����(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyt���NetFxSdkDir���s����c���������C���s7���t��j�j�|��j�d���}�|��j�j�|��j�j�d���p6�|�S(���s;��� Microsoft .NET Framework 32bit directory. s���Microsoft.NET\Frameworkt���frameworkdir32(���R���R���R���Rx���Rz���Rv���R\���(���RB���t���guess_fw(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyt���FrameworkDir32���s����c���������C���s7���t��j�j�|��j�d���}�|��j�j�|��j�j�d���p6�|�S(���s;��� Microsoft .NET Framework 64bit directory. s���Microsoft.NET\Framework64t���frameworkdir64(���R���R���R���Rx���Rz���Rv���R\���(���RB���R����(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyt���FrameworkDir64���s����c���������C���s ���|��j��d���S(���s:��� Microsoft .NET Framework 32bit versions. i ���(���t���_find_dot_net_versions(���RB���(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyt���FrameworkVersion32���s����c���������C���s ���|��j��d���S(���s:��� Microsoft .NET Framework 64bit versions. i@���(���R����(���RB���(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyt���FrameworkVersion64���s����c���������C���s����|��j��j�|��j��j�d�|���}�t�|��d�|���}�|�pM�|��j�|�d���pM�d�}�|��j�d�k�rn�|�d�f�}�nR�|��j�d�k�r��|�j����d� d �k�r��d �n�|�d�f�}�n�|��j�d�k�r��d�}�n��|��j�d�k�r��d�}�n��|�S(���s���� Find Microsoft .NET Framework versions. Parameters ---------- bits: int Platform number of bits: 32 or 64. s���frameworkver%ds���FrameworkDir%dt���vR ���g������(@s���v4.0g������$@i���t���v4s ���v4.0.30319s���v3.5g������"@s ���v2.0.50727g������ @s���v3.0(���s���v3.5s ���v2.0.50727(���s���v3.0s ���v2.0.50727(���Rz���Rv���R\���t���getattrR����R|���R6���(���RB���t���bitst���reg_vert���dot_net_dirR$���t���frameworkver(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyR������s���� c������������s;��������f�d����t��t�j��������D��}�t�|�d���p:�d�S(���s���� 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 c���������3���sE���|��];�}�t��j�j�t��j�j����|�����r�|�j�����r�|�Vq�d��S(���N(���R���R���R����R���t ���startswith(���t���.0t���dir_name(���R���t���prefix(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pys ���<genexpr>)��s���!R ���N(���t���reversedR���R����t���nextR���(���RB���R���R����t ���matching_dirs(����(���R���R����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyR������s����N( ���R���R���RO���RP���RQ���Rx���Ry���R����R���RC���R{���R~���RR���R����R����R����R����R����R����R����R����R����R����R����R����R����R����R����R����R����R����R����(����(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyRw������s4��� & R!���c�����������B���s���e��Z�d��Z�d�d�d���Z�e�d������Z�e�d������Z�e�d������Z�e�d������Z �e�d������Z �e�d������Z�e�d ������Z�e�d ������Z �e�d������Z�e�d������Z�d ����Z�e�d������Z�e�d������Z�e�d������Z�e�d������Z�e�d������Z�e�d������Z�e�d������Z�e�d������Z�e�d������Z�e�d������Z�e�d������Z�e�d������Z�e�d������Z�e�d���Z�d����Z �d�d���Z!�RS(���sY�� 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. i����c���������C���sd���t��|���|��_�t�|��j���|��_�t�|��j�|���|��_�|��j�|�k��r`�d�}�t�j�j �|�����n��d��S(���Ns.���No suitable Microsoft Visual C++ version found( ���R=���RU���RT���Rz���Rw���t���siR|���R���R���R���(���RB���R%���R|���R*���R����(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyRC���I��s����c���������C���s ���|��j��j�S(���s/��� Microsoft Visual C++ version. (���R����R|���(���RB���(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyR|���R��s����c���������C���s����d�d�g�}�|��j��d�k�rd�|��j�j�d�t�d�t���}�|�d�g�7}�|�d�g�7}�|�d�|�g�7}�n��g��|�D]!�}�t�j�j�|��j�j�|���^�qk�S( ���s/��� Microsoft Visual Studio Tools s���Common7\IDEs ���Common7\Toolsg������,@RI���R?���s1���Common7\IDE\CommonExtensions\Microsoft\TestWindows���Team Tools\Performance Toolss���Team Tools\Performance Tools%s( ���R|���RU���RJ���Ro���R���R���R���R����R����(���RB���t���pathst���arch_subdirR���(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyt���VSToolsY��s���� c���������C���s4���t��j�j�|��j�j�d���t��j�j�|��j�j�d���g�S(���sL��� Microsoft Visual C++ & Microsoft Foundation Class Includes t���Includes���ATLMFC\Include(���R���R���R���R����R����(���RB���(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyt ���VCIncludesh��s����c���������C���s����|��j��d�k�r'�|��j�j�d�t���}�n�|��j�j�d�t���}�d�|�d�|�g�}�|��j��d�k�rs�|�d�|�g�7}�n��g��|�D]!�}�t�j�j�|��j�j�|���^�qz�S(���sM��� Microsoft Visual C++ & Microsoft Foundation Class Libraries g������.@R?���RI���s���Lib%ss���ATLMFC\Lib%sg������,@s���Lib\store%s( ���R|���RU���RK���Ro���R���R���R���R����R����(���RB���R����R����R���(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyt���VCLibrariesp��s����c���������C���s/���|��j��d�k��r�g��St�j�j�|��j�j�d���g�S(���sA��� Microsoft Visual C++ store references Libraries g������,@s���Lib\store\references(���R|���R���R���R���R����R����(���RB���(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyt���VCStoreRefs���s����c���������C���s���|��j��}�t�j�j�|�j�d���g�}�|��j�d�k�r9�t�n�t�}�|��j�j �|���}�|�r}�|�t�j�j�|�j�d�|���g�7}�n��|��j�d�k�r��d�|��j�j �d�t���}�|�t�j�j�|�j�|���g�7}�n��|��j�d�k�rs|��j�j����r��d�n�d�}�|�t�j�j�|�j�|�|��j�j�d �t�����g�7}�|��j�j �|��j�j�k�r�|�t�j�j�|�j�|�|��j�j �d �t�����g�7}�q�n�|�t�j�j�|�j�d ���g�7}�|�S(���s,��� Microsoft Visual C++ Tools t ���VCPackagesg������$@s���Bin%sg������,@RI���g������.@s ���bin\HostX86%ss ���bin\HostX64%sR?���t���Bin(���R����R���R���R���R����R|���Ro���RS���RU���RN���RJ���RH���RK���RG���RE���(���RB���R����t���toolsRL���R����R���t���host_dir(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyt���VCTools���s&���� &"&,c���������C���s����|��j��d�k�rJ�|��j�j�d�t�d�t���}�t�j�j�|��j�j�d�|���g�S|��j�j�d�t���}�t�j�j�|��j�j�d���}�|��j �}�t�j�j�|�d�|�|�f���g�Sd�S(���s1��� Microsoft Windows SDK Libraries g������$@RI���R?���s���Lib%sR����s���%sum%sN( ���R|���RU���RK���Ro���R���R���R���R����R����t���_sdk_subdir(���RB���R����R����t���libver(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyt���OSLibraries���s���� c���������C���s����t��j�j�|��j�j�d���}�|��j�d�k�rC�|�t��j�j�|�d���g�S|��j�d�k�r^�|��j�}�n�d�}�t��j�j�|�d�|���t��j�j�|�d�|���t��j�j�|�d�|���g�Sd �S( ���s/��� Microsoft Windows SDK Include t���includeg������$@t���glg������,@R ���s���%sshareds���%sums���%swinrtN(���R���R���R���R����R����R|���R����(���RB���R����t���sdkver(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyt ���OSIncludes���s����c���������C���s��t��j�j�|��j�j�d���}�g��}�|��j�d�k�r@�|�|��j�7}�n��|��j�d�k�rn�|�t��j�j�|�d���g�7}�n��|��j�d�k�r|�|�t��j�j�|��j�j�d���t��j�j�|�d�d���t��j�j�|�d �d���t��j�j�|�d �d���t��j�j�|��j�j�d�d�d �|��j�d�d�d���g�7}�n��|�S(���s7��� Microsoft Windows SDK Libraries Paths t ���Referencesg������"@g������&@s���CommonConfiguration\Neutralg������,@t ���UnionMetadatas'���Windows.Foundation.UniversalApiContracts���1.0.0.0s%���Windows.Foundation.FoundationContracts,���Windows.Networking.Connectivity.WwanContractt ���ExtensionSDKss���Microsoft.VCLibss���%0.1ft���CommonConfigurationt���neutral(���R���R���R���R����R����R|���R����(���RB���t���reft���libpath(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyt ���OSLibpath���s>���� c���������C���s���t��|��j������S(���s-��� Microsoft Windows SDK Tools (���t���listt ���_sdk_tools(���RB���(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyt���SdkTools���s����c���������c���s���|��j��d�k��rG�|��j��d�k�r$�d�n�d�}�t�j�j�|��j�j�|���Vn��|��j�j����s��|��j�j�d�t ���}�d�|�}�t�j�j�|��j�j�|���Vn��|��j��d�k�s��|��j��d�k�r |��j�j ����r��d�}�n�|��j�j�d �t �d�t ���}�d �|�}�t�j�j�|��j�j�|���Vnl�|��j��d�k�rvt�j�j�|��j�j�d���}�|��j�j�d�t ���}�|��j�j�}�t�j�j�|�d�|�|�f���Vn��|��j�j�r�|��j�j�Vn��d�S( ���s=��� Microsoft Windows SDK Tools paths generator g������.@g������&@R����s���Bin\x86R?���s���Bin%sg������$@R ���RI���s���Bin\NETFX 4.0 Tools%ss���%s%sN( ���R|���R���R���R���R����R����RU���RH���RJ���Ro���RF���R����R����(���RB���t���bin_dirR����R���R����(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyR�������s(���� !c���������C���s���|��j��j�}�|�r�d�|�Sd�S(���s6��� Microsoft Windows SDK version subdir s���%s\R ���(���R����R����(���RB���t���ucrtver(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyR������s����c���������C���s/���|��j��d�k�r�g��St�j�j�|��j�j�d���g�S(���s-��� Microsoft Windows SDK Setup g������"@t���Setup(���R|���R���R���R���R����R����(���RB���(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyt���SdkSetup%��s����c���������C���s����|��j��}�|��j�}�|��j�d�k�rD�t�}�|�j����o>�|�j����}�n6�|�j����pY�|�j����}�|�j�d�k�pw�|�j�d�k�}�g��}�|�r��|�g��|�j�D]�}�t �j �j�|�j�|���^�q��7}�n��|�r��|�g��|�j �D]�}�t �j �j�|�j�|���^�q��7}�n��|�S(���s0��� Microsoft .NET Framework Tools g������$@R@���(���RU���R����R|���Ro���RF���RH���RG���RE���R����R���R���R���R����R����R����(���RB���RU���R����t ���include32t ���include64R����R$���(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyt���FxTools/��s���� //c���������C���sU���|��j��d�k��s�|��j�j�r �g��S|��j�j�d�t���}�t�j�j�|��j�j�d�|���g�S(���s8��� Microsoft .Net Framework SDK Libraries g������,@R?���s���lib\um%s( ���R|���R����R����RU���RK���Ro���R���R���R���(���RB���R����(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyt���NetFxSDKLibrariesG��s����c���������C���s<���|��j��d�k��s�|��j�j�r �g��St�j�j�|��j�j�d���g�S(���s7��� Microsoft .Net Framework SDK Includes g������,@s ���include\um(���R|���R����R����R���R���R���(���RB���(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyt���NetFxSDKIncludesR��s����c���������C���s���t��j�j�|��j�j�d���g�S(���s>��� Microsoft Visual Studio Team System Database s ���VSTSDB\Deploy(���R���R���R���R����R����(���RB���(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyt���VsTDb\��s����c���������C���s����|��j��d�k��r�g��S|��j��d�k��rF�|��j�j�}�|��j�j�d�t���}�n�|��j�j�}�d�}�d�|��j��|�f�}�t�j�j �|�|���g�}�|��j��d�k�r��|�t�j�j �|�|�d���g�7}�n��|�S(���s(��� Microsoft Build Engine g������(@g������.@RI���R ���s���MSBuild\%0.1f\bin%st���Roslyn( ���R|���R����R����RU���RJ���Ro���R����R���R���R���(���RB���t ���base_pathR����R���t���build(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyt���MSBuildc��s����"c���������C���s/���|��j��d�k��r�g��St�j�j�|��j�j�d���g�S(���s.��� Microsoft HTML Help Workshop g������&@s���HTML Help Workshop(���R|���R���R���R���R����R����(���RB���(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyt���HTMLHelpWorkshopz��s����c���������C���sl���|��j��d�k��r�g��S|��j�j�d�t���}�t�j�j�|��j�j�d���}�|��j �}�t�j�j�|�d�|�|�f���g�S(���s=��� Microsoft Universal C Runtime SDK Libraries g������,@R?���R����s���%sucrt%s( ���R|���RU���RK���Ro���R���R���R���R����R����t���_ucrt_subdir(���RB���R����R����R����(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyt ���UCRTLibraries���s���� c���������C���sK���|��j��d�k��r�g��St�j�j�|��j�j�d���}�t�j�j�|�d�|��j���g�S(���s;��� Microsoft Universal C Runtime SDK Include g������,@R����s���%sucrt(���R|���R���R���R���R����R����R����(���RB���R����(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyt���UCRTIncludes���s����c���������C���s���|��j��j�}�|�r�d�|�Sd�S(���sB��� Microsoft Universal C Runtime SDK version subdir s���%s\R ���(���R����R����(���RB���R����(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyR�������s����c���������C���s,���|��j��d�k��r"�|��j��d�k�r"�g��S|��j�j�S(���s%��� Microsoft Visual F# g������&@g������(@(���R|���R����R����(���RB���(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyt���FSharp���s����c���������C���s����|��j��j�d�t���}�|��j�d�k��r9�|��j�j�}�d�}�n�|��j�j�j�d�d���}�d�}�|��j�d�k�rl�d�n�|��j�}�|�|�|��j�|�f�}�t�j�j �|�|���S(���sA��� Microsoft Visual C++ runtime redistribuable dll R?���i���s-���redist%s\Microsoft.VC%d0.CRT\vcruntime%d0.dlls���\Toolss���\Redists.���onecore%s\Microsoft.VC%d0.CRT\vcruntime%d0.dllg������,@( ���RU���RK���Ro���R|���R����R����RA���R���R���R���(���RB���R����t���redist_patht ���vcruntimet���dll_ver(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyt���VCRuntimeRedist���s���� c���������C���s��t��d�|��j�d�|��j�|��j�|��j�|��j�g�|���d�|��j�d�|��j�|��j�|��j�|��j �|��j �g�|���d�|��j�d�|��j�|��j�|��j�|��j�g�|���d�|��j�d�|��j �|��j�|��j�|��j�|��j�|��j�|��j�|��j�|��j�g �|�����}�|��j�d�k�rt�j�j�|��j���r|��j�|�d�<n��|�S(���s���� Return environment dict. Parameters ---------- exists: bool It True, only return existing paths. R����R����R����R���i���t���py_vcruntime_redist(���t���dictt���_build_pathsR����R����R���R����R����R����R����R����R����R����R����R����R����R����R����R����R����R����R��R|���R���R���R���R��(���RB���t���existst���env(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyR"������sD���� $c��� ������C���s����t��j�j�|���}�t�j�|�d���j�t�j���}�t��j�|�|���}�|�rc�t�t �t�j �j�|�����n�|�}�|�s��d�|�j����}�t �j�j�|�����n��|��j�|���} �t�j�j�| ���S(���s�� 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. R ���s ���%s environment variable is empty(���t ���itertoolst���chaint ���from_iterableRP���RQ���t���splitR���t���pathsepR����t���filterR���R����t���upperR���R���R���t���_unique_everseenR���( ���RB���Rq���t���spec_path_listsR ��t ���spec_pathst ���env_pathsR����t���extant_pathsR����t���unique_paths(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyR�����s���� 'c���������c���s����t�����}�|�j�}�|�d�k�rM�xg�t�|�j�|���D]�}�|�|���|�Vq1�Wn;�x8�|�D]0�}�|�|���}�|�|�k�rT�|�|���|�VqT�qT�Wd�S(���s���� 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(���t���sett���addR���R���t���__contains__(���RB���t���iterableR���t���seent���seen_addt���elementt���k(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyR����s���� N("���R���R���RO���R���RC���RR���R|���R����R����R����R����R����R����R����R����R����R����R����R����R����R����R����R����R����R����R����R���R����R��R��Ro���R"���R��R��(����(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyR!���1��s:��� - - (!���RO���R���R-���t���platformR��t���distutils.errorsR���t#���setuptools.extern.packaging.versionR����t���setuptools.extern.six.movesR���t���monkeyR���t���systemR���t���environRP���R��t���ImportErrorR���R���t���_msvc9_suppress_errorst���distutils.msvc9compilerR���R���R���R+���R3���R#���R=���RT���Rw���R!���(����(����(����s3���/usr/lib/python2.7/site-packages/setuptools/msvc.pyt���<module>���s:��� +/ & %[���a