online $ˆl–Ým_J*n-jm@†ãN\ ªbѿ „q–ÚoÁÀ¿?÷a ˆåÏhRMã@sÌdZddlmZddlmZddlmZmZddlmZmZm 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&Z&dd l'm(Z(m)Z)dd l*m+Z+dd l*m,Z,ddl-m.Z.ddl/m0Z0ddl1m2Z2ddl3m4Z4m5Z5m6Z6ddl/m7Z7m8Z8ddl9m:Z:ddl;mZ>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJdd l;Z;ejKde;jLd�gd¢ZMdd„ZNdd„ZOdd„ZPdd„ZQd d!„ZRGd"d#„d#e,ƒZSd$d%„ZTd&d'„ZUd(d)„ZVd*d+„ZWd,d-„ZXGd.d/„d/eBƒZYGd0d1„d1eYƒZZej[ \d2d3¡d4k�r„eZZYd5d6„Z]d7d8„Z^d9d:„Z_d;d<„Z`did=d>„Zad?d@„ZbdAdB„ZcdCejdv�rÐecZendDdE„ZedjdGdH„ZfdIdJ„ZgdKdL„ZhdMdN„ZizddOlmjZkWnel�y&dPdQ„ZkYn0dRdS„ZjGdTdU„dUemƒZnen o¡ZpGdVdW„dWenƒZqGdXdY„dYƒZrGdZd[„d[erƒZsGd\d]„d]esƒZterjuZuerjvZvd^d_„Zwd`da„Zxdbe^fdcdd„Zydedf„ZzGdgdh„dhe+ƒZ{d S)ka% 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 é)Úglob)Ú get_platform)Ú convert_pathÚ subst_vars)ÚDistutilsArgErrorÚDistutilsOptionErrorÚDistutilsErrorÚDistutilsPlatformError)ÚINSTALL_SCHEMESÚ SCHEME_KEYS)ÚlogÚdir_util)Ú first_line_re)Úfind_executableN)Úget_config_varsÚget_path)ÚSetuptoolsDeprecationWarning)ÚCommand)Ú run_setup)Úsetopt)Úunpack_archive)Ú PackageIndexÚparse_requirement_argÚ URL_SCHEME)Ú bdist_eggÚegg_info)ÚWheel)Ú yield_linesÚnormalize_pathÚresource_stringÚensure_directoryÚget_distributionÚfind_distributionsÚ EnvironmentÚ RequirementÚ DistributionÚ PathMetadataÚ EggMetadataÚ WorkingSetÚDistributionNotFoundÚVersionConflictÚ DEVELOP_DISTÚdefault)Úcategory)ÚsamefileÚ easy_installÚPthDistributionsÚextract_wininst_cfgÚget_exe_prefixescCst d¡dkS)NÚPé)ÚstructÚcalcsize©r7r7úC/usr/lib/python3.9/site-packages/setuptools/command/easy_install.pyÚis_64bitJsr9cCsjtj |¡otj |¡}ttjdƒo&|}|r:tj ||¡Stj tj |¡¡}tj tj |¡¡}||kS)z  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.)ÚosÚpathÚexistsÚhasattrr.ÚnormpathÚnormcase)Zp1Zp2Z both_existZ use_samefileZnorm_p1Znorm_p2r7r7r8r.Nsr.cCs | d¡S)NÚutf8)Úencode©Úsr7r7r8Ú _to_bytes^srDcCs*z| d¡WdSty$YdS0dS)NÚasciiTF)rAÚ UnicodeErrorrBr7r7r8Úisasciibs   rGcCst |¡ ¡ dd¡S)NÚ z; )ÚtextwrapÚdedentÚstripÚreplace)Útextr7r7r8Ú _one_linerjsrNc@sxeZdZdZdZdZdddddd d d d d ddddddddddddddejfgZgd¢Z ddiZ e Z dd „Z d!d"„Zd#d$„Zed%d&„ƒZd'd(„Zd)d*„Zd+d,„Zd-d.„Zd/d0„ZdŽd1d2„Zd3d4„Zd5d6„Zd7d8„Ze d9¡ ¡Ze d:¡ ¡Ze d;¡ ¡Z dd?„Z"d@dA„Z#dBdC„Z$dDdE„Z%dFdG„Z&e'j(dHdI„ƒZ)d�dKdL„Z*d�dMdN„Z+dOdP„Z,d‘dQdR„Z-dSdT„Z.dUdV„Z/dWdX„Z0d’dYdZ„Z1ed[d\„ƒZ2d“d_d`„Z3dadb„Z4dcdd„Z5dedf„Z6dgdh„Z7didj„Z8dkdl„Z9e dm¡ ¡Z:e dn¡Z;d”dpdq„Zdudv„Z?dwdx„Z@dydz„ZAd{d|„ZBd}d~„ZCdd€„ZDd�d‚„ZEe dƒ¡ F¡ZGd„d…„ZHeIeId†d‡dˆ�d‰�ZJeIdŠd‹dˆ�ZKdŒd�„ZLdS)•r/z'Manage a download/build/install processz Find/get/install Python packagesT)zprefix=Nzinstallation prefix)úzip-okÚzzinstall package as a zipfile)ú multi-versionÚmz%make apps have to require() a version)ÚupgradeÚUz1for