Qg̋ddlZddlZddlZddlZddlZddlZddlZddlmZddl m Z ddl m Z m Z mZmZmZmZmZmZddlmZddlmZddlmZddlmZdd lmZdd lmZdd l m!Z!dd l"m#Z#m$Z$dd l%m&Z&m'Z'ddl(m)Z)ddl*m+Z+m,Z,m-Z-m.Z.ddl/m0Z0ddl1m2Z2ddl3m4Z4ddl5m6Z6ddl7m8Z8ddl9m6Z:ddl;mm?Z?ddl@mAZAmBZBddlCmDZDddlEmFZFddlGmHZHddlImJZJmKZKmLZLmMZMmNZNmOZOmPZPmQZQddlRmSZSddlTmUZUddlVmWZWmXZXddlYmZZZdd l[m\Z\dd!l]m^Z^ej_e`ZaGd"d#Zbd$ebd%ecfd&Zdd'ed(eebd)ecd%eefd*Zfd'ed(eebd%dfd+ZgdS),N)Values)Path)Any CollectionDictIterableListOptionalSequenceUnion)Marker) Requirement) SpecifierSet)canonicalize_name)Version)parse)BuildBackendHookCaller)BuildEnvironmentNoOpBuildEnvironment)InstallationErrorPreviousBuildDirError) get_scheme)BaseDistributionget_default_environmentget_directory_distributionget_wheel_distribution)FilesystemWheel) DirectUrl)Link)generate_metadata)generate_editable_metadata)install_editable) install_wheel)load_pyproject_tomlmake_pyproject_path)UninstallPathSet) deprecated)Hashes) ConfiguredBuildBackendHookCallerask_path_exists backup_dir display_pathhide_urlis_installable_dirredact_auth_from_requirementredact_auth_from_url)get_requirement)runner_with_spinner_message) TempDirectory tempdir_kinds) unpack_file)running_under_virtualenv)vcsc eZdZdZ dMdddddddddeedeeedfded ee d ee d eed ed ee edee ee efdee eeee effdede edededdfdZdefdZdefdZdefdZedeefdZejdefdZedefdZedefdZedefdZdNdeeedefdZedefd ZdOd"edefd#Zdeefd$Z d%ed&ed'edefd(Z!dPd)Z"dPd*Z#d+eddfd,Z$edefd-Z%edefd.Z&edefd/Z'edefd0Z(edefd1Z)edefd2Z*dPd3Z+dPd4Z,dPd5Z-ede.fd6Z/de0fd7Z1dPd8Z2 dQd9ed&ed'eddfd:Z3d;e4ddfd<Z5dPd=Z6dPd>Z7 dQd?ed@edee8fdAZ9dBedCedDedefdEZ:d%eeddfdFZ; dRd eer?r@rAreturnc|t|ts J|||_||_| |_||_||_d|_|jrQ|sJ|jrFtj tj |j |_||r|jrt|j}|x|_|_d|_d|_d|_|jr|jjr|jj |_| r| |_n"|r |j|_nt-|_| |r|j}||_d|_d|_d|_d|_|r|ng|_| r| ni|_| |_d|_ | |_!||_"tG|_$d|_%d|_&g|_'d|_(||_)|jr+|j)durtT+d|d|_)d|_,d|_-dS)NFzG--no-use-pep517 ignored for %s because --config-settings are specified.T). isinstancerrBrCr>rDrA source_diris_fileospathnormpathabspath file_pathurlrrE original_linkcached_wheel_source_link download_infolocal_file_pathr?setmarkerrF satisfied_byshould_reinstall_temp_build_dirinstall_succeededr;r<r=preparedr@rHr build_envmetadata_directorypyproject_requiresrequirements_to_checkpep517_backendrGloggerwarningneeds_more_preparation_archive_source)selfrBrCrDrErFrGrHr;r<r=r>r?r@rAs }/builddir/build/BUILD/imunify360-venv-2.5.0/opt/imunify360/venv/lib/python3.11/site-packages/pip/_internal/req/req_install.py__init__zInstallRequirement.__init__HsJ${jk::{{C{{:$$  &<#*. = TKK4| T"$'"2"227??4>3R3R"S"S FnnB,8@LLb. +  +?+A+A 268<13"AE%   #%''? #DO',#04c|jr;t|j}|jr|dt|jjz }n#|jrt|jj}nd}|j0|jjt|jj}nd}|d|z }|jrFt|jtr|j}n|j }|r |d|dz }|S)Nz from zz in z (from )) rBr/rEr0rSrZlocationr,rCrKstr from_path)rhsrorCs ri__str__zInstallRequirement.__str__s 8 ',TX66Ay DC249=AACCC Y '$TY]33AA&A   ( )5'(9(BCC% """ "A ? -$/3// 9,0O !_6688  -,z,,,,rkcRd|jjdt|d|jdS)N) __class____name__rprDrhs ri__repr__zInstallRequirement.__repr__sD 7' 7 74yy 7 7$(M 7 7 7 rkct|t}fdt|D}d|jjd|S)z5An un-tested helper for getting state, for debugging.c32K|]}|d|VdS)=Nr:).0attr attributess ri z2InstallRequirement.format_debug..s6JJDD//:d+//JJJJJJrkz<{name} object: {{{state}}}>z, )namestate)varssortedformatrwrxjoin)rhnamesrrs @ri format_debugzInstallRequirement.format_debugsn$ZZ z""JJJJF5MMJJJ-44())E""5   rkc,|jdS|jjSN)rBrrys rirzInstallRequirement.names 8 4x}rkc<|jsdS|jsJ|j5td}|j|5d|jvcdddcdddS#1swxYwY ddddS#1swxYwYdS)NFz1Checking if build backend supports build_editablebuild_editable)rGrcr_r2subprocess_runner_supported_features)rhrunners risupports_pyproject_editablez.InstallRequirement.supports_pyproject_editables~ 5"""" ^ U U0CF$66v>> U U'4+>+R+R+T+TT U U U U U U U  U U U U U U U U U U U U U U U U U  U U U U U U U U U U U U U U U U U Us5*BA8 B8A< <B?A< BBBc,|jJ|jjSr)rB specifierrys rirzInstallRequirement.specifiersx###x!!rkc|jduS)z7Whether this requirement was specified as a direct URL.N)rTrys ri is_directzInstallRequirement.is_direct s!--rkc|jJ|jj}t|dko"tt |jdvS)zReturn whether I am pinned to an exact version. For example, some-package==1.2 is pinned; some-package>1.2 is not. N>=====)rBrlennextiteroperator)rh specifierss ri is_pinnedzInstallRequirement.is_pinnedsJ x###X' :!#XT*-=-=(>(>(G=(XXrkextras_requestedcT|sd}jtfd|DSdS)N)c3PK|] }jd|iV!dS)extraN)rFevaluate)r~rrhs rirz3InstallRequirement.match_markers..sI---  " "4>2 6 6 = =di H H Hk"""rkc|jdSt|j}|jrEt|jtr|j}n|j}|r|d|zz }|S)z8Format a nice indicator to show where this "comes from" Nz->)rBrprCrKrq)rhrrrCs rirqzInstallRequirement.from_pathIsr 8 4 MM ? '$/3// 9!_ !_6688  'TJ&&rk build_dir autodeleteparallel_buildscN|J|j|jjsJ|jjS|j,ttjd|_|jjSt |jj}|r|dtj j }tj |s/td|tj|tj||}|rdnd}t||tjdjS)NT)kindglobally_managed_zCreating directory %sF)rOdeleterr)r\rOrBr3r4 REQ_BUILDrruuiduuid4hexrNexistsrddebugmakedirsr)rhrrrdir_nameactual_build_dir delete_args riensure_build_locationz(InstallRequirement.ensure_build_locationXs3$$$   +', , ,,', , 8 $1",t$$$D ', ,*$(-88  8"77TZ\\%577Hw~~i(( # LL0) < < < K " " "7<< 8<<(2TTU !(!      rkc |jJ|jJ|jJtt |jdt rd}nd}t d|jd||jdg|_dS)z*Set requirement after generating metadata.NrrrrName)rBmetadatarLrK parse_versionrr1r)rhops ri_set_requirementz#InstallRequirement._set_requirementsx}(((*** mDM)$<==w G G BBB" GGM&)M),    rkc|jJt|jd}t|jj|krdStd|j||jt ||_dS)NrzeGenerating metadata for package %s produced metadata for project name %s. Fix your #egg=%s fragments.)rBrrrrdrer1)rh metadata_names riwarn_on_mismatching_namez+InstallRequirement.warn_on_mismatching_namesx###)$-*?@@ TX] + +} < < F  ! I  I    #=11rk use_user_sitec|jdSt|jj}|sdS|jj|jd}|sZd|_|rH|jr d|_ dStr&|j r!td|j d|jdSdSd|_ dS|jrd|_ d|_dS||_dS)zFind an installed distribution that satisfies or conflicts with this requirement, and set self.satisfied_by or self.should_reinstall appropriately. NT) prereleaseszNWill not install to the user site because it will lack sys.path precedence to rm)rBrget_distributionrrcontainsversionrZ in_usersiter[r6in_site_packagesrraw_namerorD)rhr existing_distversion_compatibles richeck_if_existsz"InstallRequirement.check_if_existss: 8  F/11BB48=QQ   F!X/88  !9  " 2 $D  - ,,0D)))-//M4R+77D7M77+477)-%%%} 2(,%%)!!!$1!!!rkc,|jsdS|jjS)NF)rEis_wheelrys rirzInstallRequirement.is_wheelsy 5y!!rkc|jduSr)rUrys riis_wheel_from_cachez&InstallRequirement.is_wheel_from_caches,D88rkc|js Jd|tj|j|jr |jjpdS)NNo source dir for r)rLrNrOrrEsubdirectory_fragmentrys riunpacked_source_directoryz,InstallRequirement.unpacked_source_directorysP;; ;T ; ;;;w|| OTYJ49+JPb   rkcx|js Jd|tj|jd}|S)Nrzsetup.pyrLrNrOrr)rhsetup_pys ri setup_py_pathz InstallRequirement.setup_py_paths=;; ;T ; ;;;7<< > KKrkcx|js Jd|tj|jd}|S)Nrz setup.cfgr)rh setup_cfgs risetup_cfg_pathz!InstallRequirement.setup_cfg_paths>;; ;T ; ;;;GLL!?MM rkcR|js Jd|t|jS)Nr)rLr%rrys ripyproject_toml_pathz&InstallRequirement.pyproject_toml_paths1;; ;T ; ;;;"4#ABBBrkct|j|j|jt |}||jrJd|_dSd|_|\}}}}||_||_t||j |||_ dS)aALoad the pyproject.toml file. After calling this routine, all of the attributes related to PEP 517 processing for this requirement have been set. In particular, the use_pep517 attribute can be used to determine whether we should follow the PEP 517 or legacy (setup.py) code path. NFT) backend_path) r$rGrrrpr=rbrar)rrc)rhpyproject_toml_datarequiresbackendcheckrs rir$z&InstallRequirement.load_pyproject_tomls2 OT5t7I3t99    &+ + ++#DO F1D.'5,%*""*>   * %    rkc|jri|jrd|js_tj|js=tj|jstd|ddSdSdSdSdS)zCheck that an editable requirement if valid for use with PEP 517/518. This verifies that an editable that has a pyproject.toml either supports PEP 660 or as a setup.py or a setup.cfg zProject z has a 'pyproject.toml' and its build backend is missing the 'build_editable' hook. Since it does not have a 'setup.py' nor a 'setup.cfg', it cannot be installed in editable mode. Consider using a build backend that supports PEP 660.N) rDrGrrNrOisfilerrrrys riisolated_editable_sanity_checkz1InstallRequirement.isolated_editable_sanity_checks M  4 GNN4#566  GNN4#677 $I4III           rkc|js Jd||jp d|j}|jrb|jJ|jr0|jr)|jr"t|j |j||_ nOt|j |j||_ n-t|j |j |j|j||_ |js|n||dS)zEnsure that project metadata is available. Under PEP 517 and PEP 660, call the backend hook to prepare the metadata. Under legacy processing, call setup.py egg-info. rzfrom N)r_rdetails)r_rrLrHr)rLrrErGrcrDrArr!r_r`r generate_metadata_legacyrrrHrrassert_source_matches_version)rhrs riprepare_metadataz#InstallRequirement.prepare_metadata)sF ;; ;T ; ;;;)22ty22 ? &222  / 4  +E"n /#+++'' +<"n /#+++'' '?."09 '''D #y ,  ! ! # # # #  ) ) + + + **,,,,,rkclt|ds|j|_|jS)N _metadata)hasattrget_distrrrys rirzInstallRequirement.metadataUs.t[)) 6!]]__5DN~rkc|jrt|jS|jrI|jrB|jJt t |jt|jjStd|d)NzInstallRequirement zC has no metadata directory and no wheel: can't make a distribution.) r`rrWrrBrrrrAssertionErrorrys rirzInstallRequirement.get_dist\s  " -d.EFF F  ! dm 8''') 455!$(-00  *$ * * *   rkc$|js Jd||jd}|jr8|jjr,||jjvrtd||dStdt|j||dS)Nrrz'Requested %s, but installing version %sz;Source in %s has version %s, which satisfies requirement %s)rLrrBrrdrerr,)rhrs rirz0InstallRequirement.assert_source_matches_versionjs;; ;T ; ;;;- * 8 * wdh>P/P/P NN9      LLMT_--      rk parent_dircR|j|||||_dSdS)aAEnsure that a source_dir is set. This will create a temporary build dir if the name of the requirement isn't known yet. :param parent_dir: The ideal pip parent_dir for the source_dir. Generally src_dir for editables and build_dir for sdists. :return: self.source_dir N)rr)rLr)rhrrrs riensure_has_source_dirz(InstallRequirement.ensure_has_source_dir|s= ? ""88% /9DOOO # "rkarchive_sourcec&|jJ||_dSr)rg)rhrs rineeds_unpacked_archivez)InstallRequirement.needs_unpacked_archives#+++-rkc|jJ|j)tt|j|jdSt |jrt d|d|jddS)z6Ensure the source directory has not yet been built in.Nz%pip can't proceed with requirements 'z)' due to a pre-existing build directory (z). This is likely due to a previous installation that failed . pip is being responsible and not assuming it can delete this. Please delete it and try again.)rLrgr5rpr.rrys riensure_pristine_source_checkoutz2InstallRequirement.ensure_pristine_source_checkouts***   + D0114? C C C C C  0 0 (22215222   rkcz|js"td|jdS|jsJ|jsJ|jjdkrdSt j|jj}|sJd|jjt|jj}| |j|ddS)Nz>Cannot update repository at %s; repository location is unknownfilezUnsupported VCS URL r)rS verbosity) rErdrrLrDschemer7get_backend_for_schemerSr-obtain)rh vcs_backend hidden_urls riupdate_editablez"InstallRequirement.update_editablesy  LLP    F}} 9 v % % F01ABB BBB49=BBBB{dim,, 4? aHHHHHrk auto_confirmverbosec@|jsJt|jj}|s"td|jdStd|tj|}| |||S)a Uninstall the distribution currently satisfying this requirement. Prompts before removing or modifying files unless ``auto_confirm`` is True. Refuses to delete or modify files outside of ``sys.prefix`` - thus uninstallation within a virtual environment can only modify that virtual environment, even if the virtualenv is linked to global site-packages. z#Skipping %s as it is not installed.NzFound existing installation: %s) rBrrrrdreinfor& from_distremove)rhrrdistuninstalled_pathsets ri uninstallzInstallRequirement.uninstallsxx&((99$(-HH  NN@$) L L L4 5t<<<.8>>""<999""rkrO parentdirrootdircdtdtdtfd}|jJtj||}|||}|jjdz|zS)NrprefixrIc||tjjzsJd|d||t |dzd}|tjjd}|S)Nzname z doesn't start with prefix r/) startswithrNrOseprreplace)rr s ri_clean_zip_namez=InstallRequirement._get_archive_name.._clean_zip_names??$ E EDtDD&DD E EF a))*D<< S11DKrkr")rprBrNrOrr)rhrOrrr&rs ri_get_archive_namez$InstallRequirement._get_archive_namesu # s s    x###w||It,,tW--x}s"T))rkc|jsJ|dSd}d|j|jd}tj||}tj|rtdt|dd}|dkrd }n|d kr=t d t|t j |n{|d kr[t|}t d t|t|tj||n|dkrt!jd|sdSt%j|d t$jd}|5tjtj|j}t j|D]\} } } | D]N} || | |} t%j| dz}d|_||dO| D]P}||| |}tj| |}|||Q dddn #1swxYwYtdt|dS)z}Saves archive to provided build_dir. Used for saving downloaded VCS requirements as part of `pip download`. NTz {}-{}.ziprz The file z- exists. (i)gnore, (w)ipe, (b)ackup, (a)bort )iwbar)Fr*z Deleting %sr+zBacking up %s to %sr,) allowZip64)rrr"irzSaved %s)rLrrrrNrOrrr*r,rdrerr+shutilmovesysexitzipfileZipFile ZIP_DEFLATEDnormcaserQrwalkr'ZipInfo external_attrwritestrwriter)rhrcreate_archive archive_name archive_pathresponse dest_file zip_outputdirdirpathdirnames filenamesdirname dir_arcnamezipdirfilename file_arcnames riarchivezInstallRequirement.archives"    F"))$)T]95MNN w||I|<< 7>>, ' ' &%L66%%%$H 3!&S}l<.H.HIII ,''''S&|44 ) .. ++  L)4444S   F_         = ='""27??43Q#R#RSSC02  = =,9'44G"&"8"8") ##9##K %_[3->??F+6F(''3333 )==H#'#9#9 ") #$:$$L "w||GX>>H$$X|<<<<= = = = = = = = = = = = = = = = =*  J \ : :;;;;;sDJJJroothomer warn_script_location pycompilec <|jJt|jj||||j|}|jr|js|t d|dddd|jrt d|t||ng||||jj|j |j|j |j d |_dS|jsJ|jsJt!|jj|j|t#|j|||jr|jnd|j d |_dS) N)userrMrLrHr zLegacy editable install of z" (setup.py develop) is deprecated.zto add a pyproject.toml or enable --use-pep517, and use setuptools >= 64. If the resulting installation is not behaving as expected, try using --config-settings editable_mode=compat. Please consult the setuptools documentation for more information25.0i,reason replacementgone_inissuez--config-settings ignored for legacy editable install of %s. Consider upgrading to a version of setuptools that supports PEP 660 (>= 64).) r;r rMrrrrHr_rT)rreq_descriptionrOrN direct_url requested)rBrrrHrDrr'r=rdreinstall_editable_legacyrr_rr]rWr#rprrVr@) rhr;rLrMr rNrrOrs riinstallzInstallRequirement.install'sx### HM]     =# #  %$%%%W     # 5  $1?1K~~QS+X]"0.*.*H    &*D " F}}#### HM  MM!5-1^Et))( "&rk)FNNNFr)T)rIN)FF)NNNNTFT)>rx __module__ __qualname____doc__r rr rprrr r rrrjrsrzrpropertyr functoolscached_propertyrrrrrrrrr(rrqrrrrrrrrrrr$rrrrrrrrrrr rr&rr'rKr r\r:rkrir9r9As #$(%)~4/37;FJ "$#',!~4~4~4 k "~4U3(<#<=>~4 ~4 tn ~4 &! ~4TN~4~4!c+~4tCcN34~4"$sE#tCy.,A'A"BC~4~43~4~4 !%!~4" #~4~4~4~4@0 #     c     hsmX  UT U U U U"<"""X".4...X.Y4YYYXY  hx}.E QU    '$'''X'##T#V####6 8C=    ))*.)AE) ))))V    ,2222$#2T#2d#2#2#2#2L"$"""X" 9T999X9  3   X sX X CSCCCXC    8**-*-*-*-X#X  *     *! %    ,.T.d....$IIII*;@## #37# " #####4 *c *c *C *C * * * *A<#A<4A<A<A<ArsQ SSSSSSSSSSSSSSSSSSSS000000::::::999999999999111111@@@@@@>>>>>>JJJJJJJJMMMMMMMM...... 877777555555******EEEEEEWWWWWWA@@@@@LLLLLLLL<<<<<<666666------                    :99999FFFFFFEEEEEEEE555555CCCCCC!!!!!!  8 $ $l &l &l &l &l &l &l &l &^'9c8t,>'?QU3 3 ! "3 333333rk