Rec@sUdZddlmZddlmZddlmZmZddlmZmZm Z m Z ddl m Z m Z ddlmZmZddlmZdd lmZdd lZdd lZdd lZdd lZdd lZdd lZdd lZdd lZdd lZdd lZdd lZdd l Z dd l!Z!dd l"Z"dd l#Z#dd l$Z$dd l%Z%dd l&m'Z'dd l(m)Z)m*Z*dd l+m,Z,ddl-m.Z.ddl/m0Z0m1Z1ddl2m3Z3ddl4m5Z5ddl6m7Z7ddl8m9Z9m:Z:m;Z;ddl4m<Z<m=Z=ddl>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZLmMZMdd lNZ>ejOdde>jPddddddgZQdZRdZSe'jTrd ZUd!ZVnd"ZUd#ZVd$ZWde,fd%YZXd&ZYd'ZZd(Z[d)Z\d*Z]deEfd+YZ^d,e^fd-YZ_ej`jad.d/d0kre_Z^nd1Zbd2Zcd3Zdd4Zeefd5Zgd6Zhd7Zid8ejjkr eiZkn d9Zkd:d;Zld<Zmd=Znd>Zoydd?lmpZqWnerk rjd@ZqnXdAZpdBesfdCYZtetjuZvdDetfdEYZwdFexfdGYZydHeyfdIYZzdJezfdKYZ{eyj|Z|eyj}Z}dLZ~dMZeecdNZdOZdPZefdQZe"jdRZd S(Ss% Easy Install ------------ A tool for doing automatic download/extract/build of distutils-based Python packages. For detailed documentation, see the accompanying EasyInstall.txt file, or visit the `EasyInstall home page`__. __ https://setuptools.readthedocs.io/en/latest/easy_install.html i(tglob(t get_platform(t convert_patht subst_vars(tDistutilsArgErrortDistutilsOptionErrortDistutilsErrortDistutilsPlatformError(tINSTALL_SCHEMESt SCHEME_KEYS(tlogtdir_util(t first_line_re(tfind_executableN(tsix(t configparsertmap(tCommand(t run_setup(tget_pathtget_config_vars(t rmtree_safe(tsetopt(tunpack_archive(t PackageIndextparse_requirement_argt URL_SCHEME(t bdist_eggtegg_info(t yield_linestnormalize_pathtresource_stringtensure_directorytget_distributiontfind_distributionst Environmentt Requirementt Distributiont PathMetadatat EggMetadatat WorkingSettDistributionNotFoundtVersionConflictt DEVELOP_DISTtdefaulttcategorytsamefilet easy_installtPthDistributionstextract_wininst_cfgtmaintget_exe_prefixescCstjddkS(NtPi(tstructtcalcsize(((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pytis_64bitHscCstjj|o!tjj|}ttjdo9|}|rUtjj||Stjjtjj|}tjjtjj|}||kS(s Determine if two paths reference the same file. Augments os.path.samefile to work on Windows and suppresses errors if the path doesn't exist. R.(tostpathtexiststhasattrR.tnormpathtnormcase(tp1tp2t both_existt use_samefiletnorm_p1tnorm_p2((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyR.Ls$cCs|S(N((ts((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyt _to_ascii^scCs1ytj|dtSWntk r,tSXdS(Ntascii(Rt text_typetTruet UnicodeErrortFalse(RD((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pytisasciias  cCs |jdS(NRF(tencode(RD((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyREiscCs.y|jdtSWntk r)tSXdS(NRF(RLRHRIRJ(RD((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyRKls   cCstj|jjddS(Ns s; (ttextwraptdedenttstriptreplace(ttext((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pytttcBsieZdZdZeZdddddddddddddddddddddgZdddd dd-d0d6d9g Ze j rd=e j Z ej d>de fej d>nidd'6ZeZd?Zd@ZdAZedBZdCZdDZdEZdFZdGZdHZdIZdJZdKZej dLj!Z"ej dMj!Z#ej dNj!Z$dOZ%dPZ&dQZ'dRZ(dSZ)dTZ*e+j,dUZ-e.dVZ/e.dWZ0dXZ1edYZ2dZZ3d[Z4d\Z5dd]Z6ed^Z7d_dd`Z8daZ9dbZ:dcZ;ddZ<deZ=ej dfj!Z>ej dgZ?dhdiZ@ej djj!ZAdkZBdlZCdmZDdnZEdoZFdpZGdqZHdrZIej dsj!ZJdtZKduZLdvZMeNdweNdxdydzd{ZOeNdxd|dzd}ZPd~ZQRS(s'Manage a download/build/install processs Find/get/install Python packagessprefix=sinstallation prefixszip-oktzsinstall package as a zipfiles multi-versiontms%make apps have to require() a versiontupgradetUs1force upgrade (searches PyPI for latest versions)s install-dir=tdsinstall package to DIRs script-dir=RDsinstall scripts to DIRsexclude-scriptstxsDon't install scriptss always-copytas'Copy all needed packages to install dirs index-url=tis base URL of Python Package Indexs find-links=tfs(additional URL(s) to search for packagessbuild-directory=tbs/download/extract/build in DIR; keep the resultss optimize=tOslalso compile with optimization: -O1 for "python -O", -O2 for "python -OO", and -O0 to disable [default: -O0]srecord=s3filename in which to record list of installed filess always-unziptZs*don't install as a zipfile, no matter whats site-dirs=tSs)list of directories where .pth files workteditabletes+Install specified packages in editable formsno-depstNsdon't install dependenciess allow-hosts=tHs$pattern(s) that hostnames must matchslocal-snapshots-oktls(allow building eggs from local checkoutstversions"print version information and exits no-find-linkss9Don't load find-links defined in packages being installeds!install in user site-package '%s'tusercCsd|_d|_|_d|_|_|_d|_d|_d|_ d|_ d|_ |_ d|_ |_|_d|_|_|_d|_|_|_d|_d|_d|_d|_d|_d|_d|_d|_d|_tj rtj!|_"tj#|_$nd|_"d|_$d|_%d|_&d|_'|_(d|_)i|_*t+|_,d|_-|j.j/|_/|j.j0||j.j1ddS(NiR/(2RgtNonetzip_oktlocal_snapshots_okt install_dirt script_dirtexclude_scriptst index_urlt find_linkstbuild_directorytargstoptimizetrecordRVt always_copyt multi_versionRatno_depst allow_hoststroottprefixt no_reportRftinstall_purelibtinstall_platlibtinstall_headerst install_libtinstall_scriptst install_datat install_basetinstall_platbasetsitetENABLE_USER_SITEt USER_BASEtinstall_userbaset USER_SITEtinstall_usersitet no_find_linkst package_indextpth_filetalways_copy_fromt site_dirstinstalled_projectsRJtsitepy_installedt_dry_runt distributiontverboset_set_command_optionstget_option_dict(tself((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pytinitialize_optionssF                         cCs*d|D}tt|j|dS(Ncss9|]/}tjj|s-tjj|r|VqdS(N(R8R9R:tislink(t.0tfilename((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pys s(tlistRt _delete_path(Rtblockerstextant_blockers((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pytdelete_blockersscCsetjd||jrdStjj|o?tjj| }|rNtntj}||dS(Ns Deleting %s( R tinfotdry_runR8R9tisdirRtrmtreetunlink(RR9tis_treetremover((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyRs  %cCs=tjd }td}d}|jtGHtdS(sT Render the Setuptools version and installation details, then exit. it setuptoolss=setuptools {dist.version} from {dist.location} (Python {ver})N(tsysRfR!tformattlocalst SystemExit(tvertdistttmpl((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyt_render_versions   c Cs|jo|jtjjd}tdd\}}i |jjd6|jjd6|jjd6|d6|dd!d 6|d|d d 6|d 6|d6|d 6|d6t tddd6|_ t j r|j |j d<|j|j dt<|j;|_;d|j;kod knst=nWqt=k rt(d"qXn|j*r|j> rt?d#n|j@st?d$ng|_AdS()NiRyt exec_prefixt dist_namet dist_versiont dist_fullnamet py_versionitpy_version_shortitpy_version_nodott sys_prefixtsys_exec_prefixtabiflagsRStuserbasetusersiteRkRlRpRR~RtinstallRst,s"%s (in --site-dirs) does not exists$ (in --site-dirs) is not on sys.pathshttps://pypi.python.org/simplet*t search_paththostsRrs--optimize must be 0, 1, or 2s9Must specify a build directory (-b) when using --editables:No urls, filenames, or requirements specified (see --help)(RkRk(RkRl(RsRs(RrRr(BRfRRtsplitRRtget_namet get_versiont get_fullnametgetattrt config_varsRRRRt_fix_install_dir_for_user_sitetexpand_basedirst expand_dirst_expandRlRhRkRRJtset_undefined_optionsRgR{RRRR9t get_site_dirst all_site_dirsRR8t expanduserRORR twarnRtappendRatcheck_site_dirRnt shadow_pathtinsertRwRt create_indexR#t local_indexRot isinstanceRt string_typesRjtscan_egg_linkstadd_find_linksRrtintt ValueErrorRpRRqtoutputs( RRRyRR<RDRRXt path_itemR((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pytfinalize_optionss          4    . !        cCs|j stj rdS|j|jdkrFd}t|n|j|_|_t j j ddd}|j |dS(s; Fix the install_dir if "--user" was used. Ns$User base directory is not specifiedtposixtunixt_user( RgRRtcreate_home_pathRRhRRRR8tnameRPt select_scheme(Rtmsgt scheme_name((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyRls cCsx|D]y}t||}|dk rtjdksFtjdkr[tjj|}nt||j}t|||qqWdS(NRtnt( RRhR8RR9RRRtsetattr(Rtattrstattrtval((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyt _expand_attrs{s  cCs|jdddgdS(sNCalls `os.path.expanduser` on install_base, install_platbase and root.RRRxN(R(R((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyRscCs)ddddddg}|j|dS(s+Calls `os.path.expanduser` on install dirs.R{R|R~R}RRN(R(Rtdirs((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyRs cCs|j|jjkr(tj|jnzx%|jD]}|j||j q5W|jr|j}|j rt |j }x/t t |D]}|||||tegg_distribution(RRR:R6R@tinstall_neededRtdists((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyR;s.      cCsUt|}xDtD]<}d|}t||dkrt||||qqWdS(s=Sets the install directories by applying the install schemes.tinstall_N(RR RRhR(RRtschemeR0tattrname((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyRs    cGs*|j||jj|||j|jkrF|jj|n|jj||j|||j|jsB       cCsA|jdk r|j S|jdr*tS|jds=tStS(Ns not-zip-safeszip-safe(RiRhRORHRJ(RR((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyt should_unzipscCs tjj|j|j}tjj|rSd}tj||j|j||Stjj|rn|}ntjj ||krtj |ntj |}t |dkrtjj||d}tjj|r|}qnt |tj|||S(Ns<%r already exists in %s; build directory %s will not be keptii(R8R9RRpR0R:R RRRRtlistdirRR tshutiltmove(RRt dist_filenamet setup_basetdstRtcontents((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyt maybe_moves"   cCs>|jr dSx*tjj|D]}|j|q#WdS(N(Rmt ScriptWritertbesttget_argst write_script(RRRq((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyR(s cCspt|j}t||}|rS|j|t}tj||}n|j|t|ddS(s/Generate a legacy script wrapper and install itR]N( R5RQtis_python_scriptt_load_templateRR`t get_headerRcRE(RRR)t script_texttdev_pathRt is_scripttbody((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyR&s cCs=d}|r!|jdd}ntd|}|jdS(s There are a couple of template scripts in the package. This function loads one of them and prepares it for use. s script.tmpls.tmpls (dev).tmplRsutf-8(RPRtdecode(RhRt raw_bytes((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyRe%s ttc Cs|jg|D]}tjj|j|^q tjd||jtjj|j|}|j|t}|j st |tjj |rtj |nt |d|}|j|WdQXt|d|ndS(s1Write an executable file to the scripts directorysInstalling %s script to %sRNi(RR8R9RRlR RR.t current_umaskRR R:RRRtchmod( RR)R^tmodeRRYttargettmaskR\((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyRc4s,    cCs|jjdr(|j||gS|jjdrP|j||gS|}tjj|r|jd rt|||jn'tjj |rtjj |}n|j |r|j r|dk r|j|||}ntjj|d}tjj|sttjj|dd}|s[tdtjj |nt|dkrtdtjj |n|d }n|jrtj|j||gS|j||SdS( Ns.eggs.exes.pyssetup.pyRs"Couldn't find a setup script in %sisMultiple setup scripts in %si(RRBt install_eggt install_exeR8R9tisfileRtunpack_progressRtabspatht startswithRpRhR_RR:RRRRaR Rtreport_editabletbuild_and_install(RRR[R6R\t setup_scripttsetups((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyRDFs8"  cCs[tjj|r3t|tjj|d}nttj|}tj |d|S(NsEGG-INFOtmetadata( R8R9RR&RR't zipimportt zipimporterR%t from_filename(Rtegg_pathR}((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyREps cCs%tjj|jtjj|}tjj|}|jsLt|n|j|}t ||s tjj |rtjj | rt j |d|jn2tjj|r|jtj|fd|nyt}tjj |r*|j|rtjd}}qtjd}}ng|j|rY|j||jd}}n8t}|j|rtjd}}ntjd}}|j|||f|dtjj|tjj|ft|d|Wq tk rt|dtq Xn|j||j|S(NRs Removing tMovingtCopyingt Extractings %s to %stfix_zipimporter_caches(R8R9RRkR RwRR RER.RRR t remove_treeR:RRRJRxRYRZtcopytreeRWtmkpathtunpack_and_compileRHtcopy2Rtupdate_dist_cachesRR.(RRR6t destinationRtnew_dist_is_zippedR\RU((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyRsxsT   %      cCst|}|dkr+td|ntdd|jddd|jdddt}tjj||j d}||_ |d}tjj|d }tjj|d }t |t |||_ |j||tjj|st|d } | jd xU|jdD]D\} } | d kr*| jd| jddj| fq*q*W| jntjj|d} |jgtj|D]} tjj| | d^qtj||d|jd|j|j||S(Ns(%s is not a valid distutils Windows .exeRCR}RRftplatforms.eggs.tmpsEGG-INFOsPKG-INFORsMetadata-Version: 1.0 ttarget_versions%s: %s t_t-R#iRR(R1RhRR%tgetRR8R9Rtegg_nameR?R R&t _providert exe_to_eggR:RRtitemsRPttitleRRR`RbRt make_zipfileRRRs(RR[R6tcfgRRtegg_tmpt _egg_infotpkg_infR\tktvRlRq((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyRts<       0 3c st|ggifd}t||g}xD]}|jjdrV|jd}|d}tj|dd|d=%(version)s") # this version or higher s Note also that the installation directory must be on sys.path at runtime for this to work. (e.g. by being the application's script directory, by being on PYTHONPATH, or by being added to sys.path by your code.) t Installedc Csd}|jr\|j r\|d|j7}|jtttjkr\|d|j7}q\n|j }|j }|j }d}|t S(s9Helpful installation message for display to package userss %(what)s %(eggloc)s%(extras)ss RS( RuRzt_easy_install__mv_warningRkRRRR9t_easy_install__id_warningR?RCRfR( RtreqRtwhatRtegglocRRftextras((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyRN!s   sR Extracted editable version of %(spec)s to %(dirname)s If it uses setuptools in its setup script, you can activate it in "development" mode by going to that directory and running:: %(python)s setup.py develop See the setuptools documentation for the "develop" command for more info. cCs-tjj|}tj}d|jtS(Ns (R8R9RRRt_easy_install__editable_msgR(RRR{Rtpython((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyRy:s cCstjjdttjjdtt|}|jdkrid|jd}|jdd|n"|jdkr|jddn|jr|jdd nt j d |t |dd j |yt ||Wn-tk r}td |jdfnXdS( Nsdistutils.command.bdist_eggsdistutils.command.egg_infoiRiiRs-qs-ns Running %s %st sSetup script exited with %s(Rtmodulest setdefaultRRRRRRR RRRRRRRq(RR{R\RqR((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyR?s   $c Csddg}tjdddtjj|}z|jtjj||j||j|||t|g}g}x?|D]7}x.||D]"}|j|j |j |qWqW| r|j rt j d|n|SWdt|t j|jXdS(NRs --dist-dirRys egg-dist-tmp-tdirs+No eggs found in %s (setup script problem?)(R2R3R8R9Rt_set_fetcher_optionsRRR#RsR?RR RRRR( RR{R\Rqtdist_dirtall_eggsteggsR0R((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyRzSs$    $   c Cs|jjdj}d }i}xF|jD]8\}}||krOq1n|d||jdd RWR_R(R&ReRcRDRERsRtRRRRNRRyRRzRRKRvRRRRR9RRRRR(((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyR/ws     0   z     *  ;     $ $ '    *  6 - 5         %       cCs.tjjddjtj}td|S(NRRS(R8RRRtpathseptfilterRh(R((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyR Ds!cCs!g}|jttjg}tjtjkrG|jtjnx2|D]*}|rNtjdkr|jtjj |ddn|tj dkr|jtjj |ddtj d dtjj |dd gn%|j|tjj |ddgtjd krxd |krutj j d }|rrtjj |d dtj d d}|j|qrquqxqNqNWtdtdf}x*|D]"}||kr|j|qqWtjr|jtjny|jtjWntk rnXttt|}|S(s& Return a list of 'site' dirs tos2emxtriscostLibs site-packagesRtlibRis site-pythontdarwinsPython.frameworktHOMEtLibrarytPythontpurelibtplatlib(RR(textendR RRyRRRR8R9RtsepRfRRRRRRtgetsitepackagestAttributeErrorRRR(tsitedirsRRyRthome_spt lib_pathstsite_lib((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyRIsV  "         ccs^i}xQ|D]I}t|}||kr1q nd||egg path translations for a given .exe filesPURELIB/RSsPLATLIB/pywin32_system32sPLATLIB/sSCRIPTS/sEGG-INFO/scripts/sDATA/lib/site-packagesRiisPKG-INFOis .egg-infois EGG-INFO/s.pths -nspkg.pthtPURELIBtPLATLIBs\R s%s/%s/N(sPURELIB/RS(sPLATLIB/pywin32_system32RS(sPLATLIB/RS(sSCRIPTS/sEGG-INFO/scripts/(sDATA/lib/site-packagesRS(R&R'(RtZipFiletinfolistRRRRBRRtupperRRtPY3RkRRORPRxRRRtsorttreverse( t exe_filenameRRTRRRR^tpthRYty((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyR3s>  "#" 3 +  cBs\eZdZeZddZdZdZedZ dZ dZ dZ RS( s)A .pth file with Distribution paths in itcCs||_ttt||_ttjj|j|_|j t j |gddx6t |jD]%}tt|jt|tqoWdS(N(RRRRRR8R9Rtbasedirt_loadR#t__init__RhRRRLR"RH(RRRR9((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyR3s  cCsg|_t}tj|j}tjj|jr3t |jd}x|D]}|j drpt }qOn|j }|jj ||j sO|jj drqOnttjj|j|}|jds  Rd(RgR~Rj(R]Rm((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyRZ=s  scCs7yt||dWnttfk r.tSXtSdS(s%Is this string a valid Python script?texecN(RNt SyntaxErrort TypeErrorRJRH(RQR((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyt is_pythonPs cCsVy1tj|dd}|jd}WdQXWnttfk rK|SX|dkS(sCDetermine if the specified executable is a .sh (contains a #! line)Rslatin-1iNs#!(RRRRR(Rtfptmagic((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pytis_shZs cCstj|gS(s@Quote a command line argument according to Windows parsing rules(t subprocesst list2cmdline(RS((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyt nt_quote_argdscCsb|jds|jdr"tSt||r5tS|jdr^d|jdjkStS(sMIs this text, as a whole, a Python script? (as opposed to shell/bat/etc. s.pys.pyws#!Ri(RBRHRqRxt splitlinesRRJ(RgR((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyRdis(RocGsdS(N((Rq((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyt_chmod{scCsQtjd||yt||Wn&tjk rL}tjd|nXdS(Nschanging mode of %s to %oschmod failed: %s(R RRyR8terror(R9RpRb((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyRos t CommandSpeccBseZdZgZeZedZedZedZ edZ edZ dZ e dZdZe d Ze d ZRS( sm A command spec for a #! header, specified as a list of arguments akin to those passed to Popen. cCs|S(sV Choose the best CommandSpec class based on environmental conditions. ((RG((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyRascCs(tjjtj}tjjd|S(Nt__PYVENV_LAUNCHER__(R8R9R<RRRR(RGt_default((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyt_sys_executablescCsOt||r|St|tr,||S|dkrB|jS|j|S(sg Construct a CommandSpec from a parameter to build_scripts, which may be None. N(RRRhtfrom_environmentt from_string(RGtparam((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyt from_params   cCs||jgS(N(R~(RG((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyRscCstj||j}||S(s} Construct a command spec from a simple string representing a command line parseable by shlex.split. (tshlexRt split_args(RGtstringR((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyRscCsMtj|j||_tj|}t|sIdg|jd*ndS(Ns-xi(RRt_extract_optionstoptionsRuRvRK(RRgtcmdline((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pytinstall_optionss cCsQ|djd}tj|}|rA|jdpDdnd}|jS(sH Extract any options from the first line of the script. s iiRS(RxROtmatchtgroupRO(t orig_scripttfirstRR((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyRs!cCs|j|t|jS(N(t_renderRR(R((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyt as_headerscCsDd}x7|D]/}|j|r |j|r |dd!Sq W|S(Ns"'ii(RxRB(titemt_QUOTEStq((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyt _strip_quotess  cCs%tjd|D}d|dS(Ncss$|]}tj|jVqdS(N(R{RRO(RR((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pys ss#!s (RuRv(RR((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyRs(RRRRRRRHRaR~RRRRRRRRR(((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyR{s   tWindowsCommandSpeccBseZedeZRS(R(RRRRJR(((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyRsR`cBseZdZejdjZeZe d e dZ e d e dZ e d dZedZe dZe dZe dZe d d d ZRS( s` Encapsulates behavior around writing entry point scripts for console and gui apps. s # EASY-INSTALL-ENTRY-SCRIPT: %(spec)r,%(group)r,%(name)r __requires__ = %(spec)r import re import sys from pkg_resources import load_entry_point if __name__ == '__main__': sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) sys.exit( load_entry_point(%(spec)r, %(group)r, %(name)r)() ) cCsMtjdt|rtntj}|jd||}|j||S(Ns Use get_argsRS(twarningsRtDeprecationWarningtWindowsScriptWriterR`Ratget_script_headerRb(RGRRtwininsttwritertheader((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pytget_script_argsscCsNtjdt|rd}n|jjj|}|j||jS(NsUse get_headers python.exe(RRRtcommand_spec_classRaRRR(RGRgRRtcmd((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyRs   c cs|dkr|j}nt|j}xdD]}|d}xn|j|jD]W\}}|j||jt}|j ||||} x| D] } | VqWqZWq4WdS(s Yield write_script() argument tuples for a distribution's console_scripts and gui_scripts entry points. tconsoletguit_scriptsN(RR( RhRfR5RQt get_entry_mapRt_ensure_safe_nameRRt_get_script_args( RGRRRttype_RRtepRgRqR((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyRb s   "  cCs+tjd|}|r'tdndS(s? Prevent paths in *_scripts entry point names. s[\\/]s+Path separators not allowed in script namesN(RMtsearchR(Rt has_path_sep((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyRscCs*tjdt|r tjS|jS(NsUse best(RRRRRa(RGt force_windows((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyt get_writer%scCs?tjdks-tjdkr7tjdkr7tjS|SdS(sD Select the best ScriptWriter for this environment. twin32tjavaRN(RRR8Rt_nameRRa(RG((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyRa+s- ccs|||fVdS(N((RGRRRRg((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyR5sRScCs/|jjj|}|j||jS(s;Create a #! line, getting options (if any) from script_text(RRaRRR(RGRgRR((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyRf:s N(RRRRMRNRRR{RRHRhRJRRRbRRRRaRRf(((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyR`s     RcBsYeZeZedZedZedZedZe dZ RS(cCstjdt|jS(NsUse best(RRRRa(RG((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyREscCs2tdtd|}tjjdd}||S(sC Select the best ScriptWriter suitable for Windows RtnaturaltSETUPTOOLS_LAUNCHER(RtWindowsExecutableLauncherWriterR8RR(RGt writer_lookuptlauncher((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyRaKs  c cstdddd|}|tjdjjdkr`djt}tj|t nddd d d dd g}|j ||j ||}g|D]}||^q} ||||d | fVdS(s For Windows, add a .py extensionRs.pyaRs.pywtPATHEXTt;sK{ext} not listed in PATHEXT; scripts will not be recognized as executables.s.pys -script.pys.pycs.pyos.exeRmN( RR8RRRRRRRt UserWarningRMt_adjust_header( RGRRRRgtextRRRYR((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyRXs"  cCsud}d}|dkr(||}}ntjtj|tj}|jd|d|}|j|rq|S|S(s Make sure 'pythonw' is used for gui and and 'python' is used for console (regardless of what sys.executable is). s pythonw.exes python.exeRRtrepl(RMRNtescapet IGNORECASEtsubt _use_header(RGRt orig_headerRLRt pattern_obt new_header((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyRhs cCs/|dd!jd}tjdkp.t|S(s Should _adjust_header use the replaced header? On non-windows systems, always use. On Windows systems, only use the replaced header if it resolves to an executable on the system. iit"R(RORRR (Rt clean_header((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyRvs ( RRRRRHRRaRRRR(((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyRBs  RcBseZedZRS(c cs|dkr$d}d}dg}nd}d}dddg}|j||}g|D]} || ^qX} ||||d | fV|d t|d fVts|d } | t|d fVnd S(sG For Windows, add a .py extension and an .exe launcher Rs -script.pyws.pywtclis -script.pys.pys.pycs.pyoRms.exeR]s .exe.manifestN(Rtget_win_launcherR7tload_launcher_manifest( RGRRRRgt launcher_typeRRthdrRYRtm_name((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyRs    (RRRHR(((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyRscCsGd|}tr(|jdd}n|jdd}td|S(s Load the Windows launcher (executable) suitable for launching a script. `type` should be either 'cli' or 'gui' Returns the executable as a byte string. s%s.exet.s-64.s-32.R(R7RPR(ttypet launcher_fn((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyRs   cCs>tjtd}tjr&|tS|jdtSdS(Nslauncher manifest.xmlsutf-8(RRRRtPY2tvarsRk(Rtmanifest((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyRs  cCstj|||S(N(RYR(R9t ignore_errorstonerror((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyRscCs tjd}tj||S(Ni(R8tumask(ttmp((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/command/easy_install.pyRns cCsMddl}tjj|jd}|tjd s"                 d             A ) ) 'l   R          T `A