1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
Ë
ñúh†‹ãó|—ddlmZddlZddlZddlZddlZddlZddlZddlZddl    m
Z
m Z m Z ddl mZddlmZddlmZddlmZddlmZdd    lmZdd
lmZdd lmZdd lmZdd lm Z ddl!m"Z"m#Z#ddl$m%Z%m&Z&ddl'm(Z(ddl)m*Z*m+Z+m,Z,m-Z-ddl.m/Z/ddl0m1Z1ddl2m3Z3ddl4m5Z5ddl6m7Z7ddl8m5Z9ddl:m;Z<ddl=m>Z>ddl?m@Z@mAZAddlBmCZCddlDmEZEddlFmGZGddlHmIZImJZJmKZKmLZLmMZMmNZNmOZOmPZPddlQmRZRddlSmTZTdd lUmVZVmWZWdd!lXmYZYdd"lZm[Z[dd#l\m]Z]ej¼e_«Z`Gd$„d%«Zad)d&„Zbd*d'„Zc                        d+d(„Zdy),é)Ú annotationsN)Ú
CollectionÚIterableÚSequence)ÚValues)ÚPath)ÚAny)ÚMarker)Ú Requirement)Ú SpecifierSet)Úcanonicalize_name)ÚVersion)Úparse)ÚBuildBackendHookCaller)ÚBuildEnvironmentÚNoOpBuildEnvironment)ÚInstallationErrorÚPreviousBuildDirError)Ú
get_scheme)ÚBaseDistributionÚget_default_environmentÚget_directory_distributionÚget_wheel_distribution)ÚFilesystemWheel)Ú    DirectUrl)ÚLink)Úgenerate_metadata)Úgenerate_editable_metadata)Úinstall_editable)Ú install_wheel)Úload_pyproject_tomlÚmake_pyproject_path)ÚUninstallPathSet)Ú
deprecated)ÚHashes)Ú ConfiguredBuildBackendHookCallerÚask_path_existsÚ
backup_dirÚ display_pathÚhide_urlÚis_installable_dirÚredact_auth_from_requirementÚredact_auth_from_url)Úget_requirement)Úrunner_with_spinner_message)Ú TempDirectoryÚ tempdir_kinds)Ú unpack_file)Úrunning_under_virtualenv)Úvcsc    óŠ—eZdZdZ                    d+ddddddddœ                                                                                                                    d,d„Zd-d„Zd-d„Zd-d    „Zed.d
„«Z    e
jd/d „«Z ed0d „«Z ed/d „«Zed/d„«Zd1d2d„Zed/d„«Zd3d4d„Zd.d„Z                                d5d„Zd6d„Zd6d„Zd7d„Zed/d„«Zed/d„«Zed-d„«Zed-d„«Zed-d„«Zed-d„«Zd6d„Zd6d„Zd6d„Z ed8d „«Z!d9d!„Z"d6d"„Z#        d:                            d;d#„Z$d<d$„Z%d6d%„Z&d6d&„Z'    d:                    d=d'„Z(d>d(„Z)d?d)„Z*                            d@                                                            dAd*„Z+y)BÚInstallRequirementzÆ
    Represents something that may be installed later on, may have information
    about where to fetch the relevant requirement and also contains logic for
    installing the said requirement.
    FN©)Úglobal_optionsÚ hash_optionsÚconfig_settingsÚ
constraintÚextrasÚ user_suppliedÚpermit_editable_wheelscót—|t|t«sJ|«‚||_||_| |_||_||_d|_|j
r[|sJ‚|jrKtjjtjj|j««|_|€#|r!|jrt|j«}|x|_|_d|_d|_d|_|j r1|j jr|j j|_| r| |_n#|r|j*|_nt-«|_|€|r |j.}||_d|_d|_d|_d|_|r|ng|_|    r|    ni|_|
|_d|_ | |_!||_"tG«|_$d|_%d|_&g|_'d|_(||_)|j>r+|jRdurtTjWd|«d|_)d|_,d|_-y)NFzG--no-use-pep517 ignored for %s because --config-settings are specified.T).Ú
isinstancer ÚreqÚ
comes_fromr;Úeditabler>Ú
source_dirÚis_fileÚosÚpathÚnormpathÚabspathÚ    file_pathÚurlrÚlinkÚ original_linkÚcached_wheel_source_linkÚ download_infoÚlocal_file_pathr<ÚsetÚmarkerÚmarkersÚ satisfied_byÚshould_reinstallÚ_temp_build_dirÚinstall_succeededr8r9r:Úpreparedr=ÚisolatedrÚ    build_envÚmetadata_directoryÚpyproject_requiresÚrequirements_to_checkÚpep517_backendÚ
use_pep517ÚloggerÚwarningÚneeds_more_preparationÚ_archive_source)ÚselfrArBrCrLrSr_rYr8r9r:r;r<r=r>s               úPH:\Change_password\venv_build\Lib\site-packages\pip/_internal/req/req_install.pyÚ__init__zInstallRequirement.__init__Ks €ð$ˆ{œj¨¬kÔ:Ð?¸CÓ?Ð:؈ŒØ$ˆŒØ$ˆŒØ ˆŒ Ø&<ˆÔ#ð'+ˆŒØ =Š=ÙˆK4؏|Š|Ü"$§'¡'×"2Ñ"2´2·7±7·?±?À4Ç>Á>Ó3RÓ"S”ð ˆ<™C C§G¢G䘟™“=ˆDØ)-Ð-ˆŒ    DÔ&ð
6:ˆÔ%ð04ˆÔð,0ˆÔØ 9Š9˜Ÿ™×*Ò*Ø#'§9¡9×#6Ñ#6ˆDÔ  á Ø ˆDKÙ ØŸ*™*ˆDKä›%ˆDŒKØ ˆ?™sØ—j‘jˆG؈Œ ð6:ˆÔð!&ˆÔà59ˆÔà.2ˆÔá0>™nÀBˆÔÙ,8™L¸bˆÔØ.ˆÔàˆŒ ð+ˆÔà ˆŒ Ü+?Ó+AˆŒð /3ˆÔð59ˆÔð13ˆÔ"ð>BˆÔð%ˆŒð × Ò Ø‰ %Ñ'Ü—‘ð?àôð
#ˆDŒOð',ˆÔ#ð-1ˆÕócóP—|jrGt|j«}|jrT|dt|jj«›z }n.|jr t|jj«}nd}|j
@|j
j  t|j
j «}nd}|d|›z }|jrLt|jt«r |j}n|jj«}|r    |d|›dz }|S)Nz from z<InstallRequirement>z<memory>ú in z (from ú)) rAr,rLr-rKrTÚlocationr)rBr@ÚstrÚ    from_path)rdÚsrkrBs    reÚ__str__zInstallRequirement.__str__Ësñ€Ø 8Š8Ü,¨T¯X©XÓ6ˆA؏yŠyؐvÔ2°4·9±9·=±=ÓAÐBÐCÑC‘Ø YŠYÜ$ T§Y¡Y§]¡]Ó3‰Aà&ˆAØ × Ñ Ð (Ø× Ñ ×)Ñ)Ð5Ü'¨×(9Ñ(9×(BÑ(BÓC‘à%Ø 4˜zÐ"Ñ "ˆAØ ?Š?ܘ$Ÿ/™/¬3Ô/Ø)-¯©‘
à!Ÿ_™_×6Ñ6Ó8
ÙØw˜z˜l¨!Ð,Ñ,Øˆrgcóh—d|jj›dt|«›d|j›dS)Nú<z     object: z
 editable=ú>)Ú    __class__Ú__name__rlrC©rds reÚ__repr__zInstallRequirement.__repr__ãs6€à—‘×'Ñ'Ð(¨    Ü4‹yˆk˜ D§M¡MÐ#4°Að 7ð    
rgcóć—t|«Št‰«}ˆfd„t|«D«}dj|jjdj |«¬«S)z5An un-tested helper for getting state, for debugging.c3ó2•K—|]}|›d‰|›–—Œy­w)ú=Nr7)Ú.0ÚattrÚ
attributess  €reú    <genexpr>z2InstallRequirement.format_debug.<locals>.<genexpr>îs"øèø€ÒJ°DD6˜˜: dÑ+Ð.Ô/ÑJùsƒz<{name} object: {{{state}}}>z, )ÚnameÚstate)ÚvarsÚsortedÚformatrsrtÚjoin)rdÚnamesrr|s   @reÚ format_debugzInstallRequirement.format_debugésUø€ä˜$“Zˆ
ܐzÓ"ˆãJ¼FÀ5»MÔJˆØ-×4Ñ4Ø—‘×(Ñ(Ø—)‘)˜EÓ"ð5ó
ð    
rgcóH—|j€y|jjS©N)rAr~rus rer~zInstallRequirement.nameõs€à 8‰8Ð ØØx‰x}‰}Ðrgcó@—|jsy|jsJ‚|j5td«}|jj    |«5d|jj «vcddd«cddd«S#1swYnxYw    ddd«y#1swYyxYw)NFz1Checking if build backend supports build_editableÚbuild_editable)r_r^rZr/Úsubprocess_runnerÚ_supported_features)rdÚrunners  reÚsupports_pyproject_editablez.InstallRequirement.supports_pyproject_editableûs¦€àŠØØ×"Ò"Ð"Ð"Ø ^‰^ñ    UÜ0ØCóˆFð×$Ñ$×6Ñ6°vÓ>ñ UØ'¨4×+>Ñ+>×+RÑ+RÓ+TÐT÷ Uð U÷        Uñ    U÷ Uð Uúð U÷        U÷    Uñ    Uús#¨'BÁA>Á+    BÁ>B    ÂBÂBcóJ—|j€J‚|jjSr‡)rAÚ    specifierrus rerzInstallRequirement.specifiers"€àx‰xÐ#Ð#Ð#؏x‰x×!Ñ!Ð!rgcó—|jduS)z7Whether this requirement was specified as a direct URL.N)rMrus reÚ    is_directzInstallRequirement.is_direct s€ð×!Ñ!¨Ð-Ð-rgcóª—|j€J‚|jj}t|«dk(xr tt    |««j
dvS)z„Return whether I am pinned to an exact version.
 
        For example, some-package==1.2 is pinned; some-package>1.2 is not.
        é>ú==ú===)rArÚlenÚnextÚiterÚoperator)rdÚ
specifierss  reÚ    is_pinnedzInstallRequirement.is_pinnedsL€ð x‰xÐ#Ð#Ð#Ø—X‘X×'Ñ'ˆ
ܐ:‹ !Ñ#ÒX¬¬T°*Ó-=Ó(>×(GÑ(GÈ=Ð(XÐXrgcóN‡—|sd}‰jtˆfd„|D««Sy)N)Úc3óX•K—|]!}‰jjd|i«–—Œ#y­w)ÚextraN)rSÚevaluate)rzrŸrds  €rer}z3InstallRequirement.match_markers.<locals>.<genexpr>!s*øèø€òØ<A— ‘ ×%Ñ% w°Ð&6×7ñùsƒ'*T)rSÚany)rdÚextras_requesteds` reÚ match_markersz InstallRequirement.match_markerss7ø€Ùð %Ð Ø <‰<Ð #ÜóØEUôóð ðrgcó,—t|j«S)z©Return whether any known-good hashes are specified as options.
 
        These activate --require-hashes mode; hashes specified as part of a
        URL do not.
 
        )Úboolr9rus reÚhas_hash_optionsz#InstallRequirement.has_hash_options's€ôD×%Ñ%Ó&Ð&rgcóZ—|jj«}|r |j}n'|jr|jr |j
}nd}|rO|j rC|j€J‚|j|jg«j|j «t|«S)a§Return a hash-comparer that considers my option- and URL-based
        hashes to be known-good.
 
        Hashes in URLs--ones embedded in the requirements file, not ones
        downloaded from an index server--are almost peers with ones from
        flags. They satisfy --require-hashes (whether it was implicitly or
        explicitly activated) but do not activate it. md5 and sha224 are not
        allowed in flags, which should nudge people toward good algos. We
        always OR all hashes together, even ones from URLs.
 
        :param trust_internet: Whether to trust URL-based (#md5=...) hashes
            downloaded from the internet, as by populate_link()
 
        N) r9ÚcopyrLr‘r=rMÚhashÚ    hash_nameÚ
setdefaultÚappendr%)rdÚtrust_internetÚ good_hashesrLs    reÚhasheszInstallRequirement.hashes1sŠ€ð×'Ñ'×,Ñ,Ó.ˆ Ù Ø—9‘9‰DØ ^Š^ × 2Ò 2Ø×%Ñ%‰DàˆDÙ D—I’IØ—>‘>Ð-Ð -Ð-Ø × "Ñ " 4§>¡>°2Ó 6× =Ñ =¸d¿i¹iÔ HܐkÓ"Ð"rgcóø—|j€yt|j«}|jrKt|jt«r |j}n|jj    «}|r|d|zz }|S)z8Format a nice indicator to show where this "comes from" Nz->)rArlrBr@rm)rdrnrBs   rermzInstallRequirement.from_pathLsc€à 8‰8Ð ØÜ —‘‹MˆØ ?Š?ä˜$Ÿ/™/¬3Ô/Ø!Ÿ_™_‘
à!Ÿ_™_×6Ñ6Ó8
ÙØT˜JÑ&Ñ&Øˆrgcó¸—|€J‚|j.|jjsJ‚|jjS|j€6ttj
d¬«|_|jjSt |jj«}|r#|›dtj«j›}tjj|«s+tjd|«tj|«tjj!||«}|rdnd}t||tj
d¬«jS)NT)ÚkindÚglobally_managedÚ_zCreating directory %sF)rGÚdeleter²r³)rVrGrAr0r1Ú    REQ_BUILDr r~ÚuuidÚuuid4ÚhexrFÚexistsr`ÚdebugÚmakedirsrƒ)rdÚ    build_dirÚ
autodeleteÚparallel_buildsÚdir_nameÚactual_build_dirÚ
delete_args       reÚensure_build_locationz(InstallRequirement.ensure_build_location[s"€ðÐ$Ð$Ð$Ø × Ñ Ð +Ø×'Ñ'×,Ò,Ð ,Ð,Ø×'Ñ'×,Ñ,Ð ,Ø 8‰8Ð ô$1Ü"×,Ñ,¸tô$ˆDÔ  ð×'Ñ'×,Ñ,Ð ,ô*¨$¯(©(¯-©-Ó8ˆÙ Ø"˜ 1¤T§Z¡Z£\×%5Ñ%5Ð$6Ð7ˆHôw‰w~‰~˜iÔ(Ü L‰LÐ0°)Ô <Ü K‰K˜    Ô "ÜŸ7™7Ÿ<™<¨    °8Ó<Ðñ(‘T¨Uˆ
ÜØ!ØÜ×(Ñ(Ø!ô    
÷
‰$ð     rgcó&—|jJ‚|j€J‚|j€J‚tt    |jd«t
«rd}nd}t dj|jd||jdg««|_y)z*Set requirement after generating metadata.Nrr”r•rÚName)rAÚmetadatarDr@Ú parse_versionrr.rƒ)rdÚops  reÚ_set_requirementz#InstallRequirement._set_requirement†sŽ€àx‰xÐÐÐØ}‰}Ð(Ð(Ð(؏‰Ð*Ð*Ð*ô ”m D§M¡M°)Ñ$<Ó=¼wÔ G؉BàˆBä"Ø G‰Gà—M‘M &Ñ)ØØ—M‘M )Ñ,ðó ó
ˆrgcó—|j€J‚t|jd«}t|jj«|k(rytj d|j||j«t |«|_y)NrÅzeGenerating metadata for package %s produced metadata for project name %s. Fix your #egg=%s fragments.)rAr rÆr~r`rar.)rdÚ metadata_names  reÚwarn_on_mismatching_namez+InstallRequirement.warn_on_mismatching_nameœsq€Øx‰xÐ#Ð#Ð#Ü)¨$¯-©-¸Ñ*?Ó@ˆ Ü ˜TŸX™XŸ]™]Ó +¨}Ò <à ô    ‰ð !ð I‰IØ Ø I‰Iô     
ô# =Ó1ˆrgcóì—|j€yt«j|jj«}|sy|jjj |j d¬«}|sbd|_|rO|jrd|_    yt«r:|jr-td|j›d|j›«‚d|_    yyy|jrd|_    d|_y||_y)z¬Find 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 ri)rArÚget_distributionr~rÚcontainsÚversionrTÚ in_usersiterUr3Úin_site_packagesrÚraw_namerkrC)rdÚ use_user_siteÚ existing_distÚversion_compatibles    reÚcheck_if_existsz"InstallRequirement.check_if_exists®sø€ð
8‰8Ð Ø Ü/Ó1×BÑBÀ4Ç8Á8Ç=Á=ÓQˆ ÙØ à!ŸX™X×/Ñ/×8Ñ8Ø × !Ñ !Øð9ó
Ðñ"Ø $ˆDÔ ÙØ ×,Ò,Ø,0DÕ)Ü-Ô/°M×4RÒ4RÜ+ð7Ø7D×7MÑ7MÐ6NðOØ+×4Ñ4Ð5ð7óðð )-Õ%ð5SÐ/ð}Š}Ø(,Ô%ð%)Õ!à$1Õ!rgcóH—|jsy|jjS)NF)rLÚis_wheelrus rerÚzInstallRequirement.is_wheelÔs€àyŠyØØy‰y×!Ñ!Ð!rgcó—|jduSr‡)rNrus reÚis_wheel_from_cachez&InstallRequirement.is_wheel_from_cacheÚs€ð×,Ñ,°DÐ8Ð8rgcóΗ|js
Jd|›«‚tjj|j|jxr|jj
xsd«S)NúNo source dir for r)rDrFrGrƒrLÚsubdirectory_fragmentrus reÚunpacked_source_directoryz,InstallRequirement.unpacked_source_directoryásQ€àŠÐ;Ð"4°T°FР;Ó;ˆÜw‰w|‰|Ø O‰O˜TŸY™YÒJ¨4¯9©9×+JÑ+JÒPÈbó
ð    
rgcó†—|js
Jd|›«‚tjj|jd«}|S)NrÞzsetup.py©rDrFrGrƒrà)rdÚsetup_pys  reÚ setup_py_pathz InstallRequirement.setup_py_pathès:€àŠÐ;Ð"4°T°FР;Ó;ˆÜ—7‘7—<‘< × >Ñ >À
ÓKˆàˆrgcó†—|js
Jd|›«‚tjj|jd«}|S)NrÞz    setup.cfgrâ)rdÚ    setup_cfgs  reÚsetup_cfg_pathz!InstallRequirement.setup_cfg_pathïs;€àŠÐ;Ð"4°T°FР;Ó;ˆÜ—G‘G—L‘L ×!?Ñ!?ÀÓMˆ    àÐrgcóX—|js
Jd|›«‚t|j«S)NrÞ)rDr"ràrus reÚpyproject_toml_pathz&InstallRequirement.pyproject_toml_pathös,€àŠÐ;Ð"4°T°FР;Ó;ˆÜ" 4×#AÑ#AÓBÐBrgcó—t|j|j|jt    |««}|€|j
rJ‚d|_yd|_|\}}}}||_||_t||j||¬«|_
y)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!r_rérärlr:r]r\r&ràr^)rdÚpyproject_toml_dataÚrequiresÚbackendÚcheckrës      rer!z&InstallRequirement.load_pyproject_tomlûs‘€ô2Ø O‰O˜T×5Ñ5°t×7IÑ7IÌ3ÈtË9ó
Ðð Ð &Ø×+Ò+Ð +Ð+Ø#ˆDŒOØ àˆŒØ1DÑ.ˆ'˜5 ,Ø%*ˆÔ"Ø"*ˆÔÜ>Ø Ø × *Ñ *Ø Ø%ô    
ˆÕrgcó—|jr}|jrp|jsctjj |j «s9tjj |j«std|›d«‚yyyyy)zÐCheck 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)    rCr_rrFrGÚisfilerärçrrus reÚisolated_editable_sanity_checkz1InstallRequirement.isolated_editable_sanity_checks€€ð MŠMØ—’Ø×4Ò4Ü—G‘G—N‘N 4×#5Ñ#5Ô6Ü—G‘G—N‘N 4×#6Ñ#6Ô7ä#ؘ4˜&ð!HðIóð ð8ð7ð5ð ð rgcóz—|js
Jd|›«‚|jxsd|j›}|jr‚|j€J‚|j
r@|j r4|jr(t|j|j|¬«|_
net|j|j|¬«|_
n=t|j|j|j|j|¬«|_
|js|j!«n|j#«|j%«y)z¿Ensure 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.
        rÞzfrom N)rZrîÚdetails)rZrärDrYrô)rDr~rLr_r^rCr>rrrZr[rÚgenerate_metadata_legacyräràrYrÉrÌÚassert_source_matches_version)rdrôs  reÚprepare_metadataz#InstallRequirement.prepare_metadata,s    €ð ŠÐ;Ð"4°T°FР;Ó;ˆØ—)‘)Ò2  t§y¡y kÐ2ˆà ?Š?Ø×&Ñ&Ð2Ð 2Ð2à— ’ Ø×/Ò/Ø×4Ò4ä*DØ"Ÿn™nØ ×/Ñ/Ø#ô+Õ'ô +<Ø"Ÿn™nØ ×/Ñ/Ø#ô+Õ'ô '?ØŸ.™.Ø"×0Ñ0Ø×9Ñ9ØŸ™Øô 'ˆDÔ #ðyŠyØ × !Ñ !Õ #à × )Ñ )Ô +à ×*Ñ*Õ,rgcóp—t|d«s|j«j|_|jS)NÚ    _metadata)ÚhasattrÚget_distrÆrùrus rerÆzInstallRequirement.metadataXs)€ät˜[Ô)Ø!Ÿ]™]›_×5Ñ5ˆDŒNà~‰~Ðrgcó&—|jrt|j«S|jrV|jrJ|j€J‚t t |j«t|jj««Std|›d«‚)NzInstallRequirement zC has no metadata directory and no wheel: can't make a distribution.)
r[rrPrÚrArrr r~ÚAssertionErrorrus rerûzInstallRequirement.get_dist_s†€Ø × "Ò "Ü-¨d×.EÑ.EÓFÐ FØ × !Ò ! d§m¢mØ—8‘8Ð'Ð 'Ð'Ü)Ü × 4Ñ 4Ó5Ü! $§(¡(§-¡-Ó0óð ôØ! $ ð()ð *ó
ð    
rgcóH—|js
Jd|›«‚|jd}|jrF|jjr0||jjvrtj d||«ytj dt|j«||«y)NrÞrÑz'Requested %s, but installing version %sz;Source in %s has version %s, which satisfies requirement %s)rDrÆrArr`rar»r))rdrÑs  reröz0InstallRequirement.assert_source_matches_versionms…€ØŠÐ;Ð"4°T°FР;Ó;ˆØ—-‘-     Ñ*ˆØ 8Š8˜Ÿ™×*Ò*¨w¸d¿h¹h×>PÑ>PÑ/PÜ N‰NØ9ØØõ ô L‰LØMܘTŸ_™_Ó-ØØõ     rgcóP—|j€|j|||¬«|_yy)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)r¾r¿)rDrÃ)rdÚ
parent_dirr¾r¿s    reÚensure_has_source_dirz(InstallRequirement.ensure_has_source_dirs3€ð ?‰?Ð "Ø"×8Ñ8ØØ%Ø /ð9óˆDOð #rgcó.—|jJ‚||_yr‡)rc)rdÚarchive_sources  reÚneeds_unpacked_archivez)InstallRequirement.needs_unpacked_archive•s€Ø×#Ñ#Ð+Ð+Ð+Ø-ˆÕrgcóî—|j€J‚|j*tt|j«|j«yt    |j«rt d|›d|j›d«‚y)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.)rDrcr2rlr+rrus reÚensure_pristine_source_checkoutz2InstallRequirement.ensure_pristine_source_checkout™sx€à‰Ð*Ð*Ð*Ø × Ñ Ð +Ü œ˜D×0Ñ0Ó1°4·?±?Õ CÜ  §¡Ô 0ô(Ø7¸°vð>1Ø15·±Ð0AðB2ð2óð ð    1rgcóÖ—|js!tjd|j«y|jsJ‚|jsJ‚|jj
dk(ryt j|jj
«}|sJd|jj›«‚t|jj«}|j|j|d¬«y)Nz>Cannot update repository at %s; repository location is unknownÚfilezUnsupported VCS URL r)rKÚ    verbosity) rLr`r»rDrCÚschemer4Úget_backend_for_schemerKr*Úobtain)rdÚ vcs_backendÚ
hidden_urls   reÚupdate_editablez"InstallRequirement.update_editable«sµ€ØyŠyÜ L‰LØPØ—‘ô ð Ø}Š}Ј}؏ŠÐˆØ 9‰9× Ñ ˜vÒ %à Ü×0Ñ0°·±×1AÑ1AÓBˆ ñÐBÐ2°4·9±9·=±=°/ÐBÓBˆ{ܘdŸi™iŸm™mÓ,ˆ
Ø×ј4Ÿ?™?°
ÀaÐÕHrgcó<—|jsJ‚t«j|jj«}|s!tj d|j«ytj d|«tj|«}|j||«|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)
rArrÏr~r`raÚinfor#Ú    from_distÚremove)rdÚ auto_confirmÚverboseÚdistÚuninstalled_pathsets     reÚ    uninstallzInstallRequirement.uninstall¿sy€ðxŠxˆˆxÜ&Ó(×9Ñ9¸$¿(¹(¿-¹-ÓHˆÙÜ N‰NÐ@À$Ç)Á)Ô LØÜ ‰ Ð5°tÔ<ä.×8Ñ8¸Ó>ÐØ×"Ñ" <°Ô9Ø"Ð"rgcó°—dd„}|j€J‚tjj||«}|||«}|jjdz|zS)Ncóî—|j|tjjz«s Jd|›d|›«‚|t    |«dzd}|j tjjd«}|S)Nzname z doesn't start with prefix r“ú/)Ú
startswithrFrGÚsepr–Úreplace)r~Úprefixs  reÚ_clean_zip_namez=InstallRequirement._get_archive_name.<locals>._clean_zip_nameÚst€Ø—?‘?ØœŸ™Ÿ™Ñ$ôð EàthÐ9¸&¸ÐDó Eððœ˜F›  a™Ð)Ð*ˆDØ—<‘<¤§¡§ ¡ ¨SÓ1ˆD؈Krgr)r~rlrrlÚreturnrl)rArFrGrƒr~)rdrGÚ    parentdirÚrootdirr r~s      reÚ_get_archive_namez$InstallRequirement._get_archive_nameÙsQ€ó    ðx‰xÐ#Ð#Ð#܏w‰w|‰|˜I tÓ,ˆÙ˜t WÓ-ˆØx‰x}‰}˜sÑ" TÑ)Ð)rgcó@—|jsJ‚|€yd}dj|j|jd«}tj
j ||«}tj
j|«rÅtdt|«›dd«}|dk(rd    }n¤|d
k(r5tjd t|««t    j|«nj|d k(rKt|«}tjd t|«t|««tj||«n|dk(rt!j"d«|syt%j&|d
t$j(d¬«}|5tj
j+tj
j-|j.««}t    j0|«D]Ÿ\}    }
} |
D]G} |j3| |    |¬«} t%j4| dz«}d|_|j9|d«ŒI| D]H}|j3||    |¬«}tj
j |    |«}|j;||«ŒJŒ¡    ddd«tj=dt|««y#1swYŒ)xYw)z}Saves archive to provided build_dir.
 
        Used for saving downloaded VCS requirements as part of `pip download`.
        NTz    {}-{}.ziprÑz    The file z- exists. (i)gnore, (w)ipe, (b)ackup, (a)bort )ÚiÚwÚbÚar&Fr'z Deleting %sr(zBacking up %s to %sr)éÿÿÿÿ)Ú
allowZip64)r"r#riírzSaved %s)rDr‚r~rÆrFrGrƒrºr'r)r`rarr(ÚshutilÚmoveÚsysÚexitÚzipfileÚZipFileÚ ZIP_DEFLATEDÚnormcaserIràÚwalkr$ÚZipInfoÚ external_attrÚwritestrÚwriter)rdr½Úcreate_archiveÚ archive_nameÚ archive_pathÚresponseÚ    dest_fileÚ
zip_outputÚdirÚdirpathÚdirnamesÚ    filenamesÚdirnameÚ dir_arcnameÚzipdirÚfilenameÚ file_arcnames                 reÚarchivezInstallRequirement.archiveçsT€ð
ŠÐˆØ Ð Ø àˆØ"×)Ñ)¨$¯)©)°T·]±]À9Ñ5MÓNˆ Ü—w‘w—|‘| I¨|Ó<ˆ ä 7‰7>‰>˜,Ô 'Ü&ØœL¨Ó6Ð7ð8%ð%à$óˆHð
˜3ŠØ!&‘ؘS’Ü—‘˜}¬l¸<Ó.HÔIÜ—    ‘    ˜,Õ'ؘS’Ü& |Ó4    Ü—‘Ø)Ü  Ó.Ü  Ó+ôô
— ‘ ˜L¨)Õ4ؘS’Ü—‘˜” áØ ä—_‘_Ø Ø Ü ×  Ñ  Øô    
ˆ
ð ñ    =Ü—'‘'×"Ñ"¤2§7¡7§?¡?°4×3QÑ3QÓ#RÓSˆCÜ02·±¸³ ò =Ñ,˜ 9Ø'ò4GØ"&×"8Ñ"8ØØ")Ø #ð#9ó#Kô
%Ÿ_™_¨[¸3Ñ->Ó?FØ+6FÔ(Ø×'Ñ'¨°Õ3ð4ð!*ò=HØ#'×#9Ñ#9Ø Ø")Ø #ð$:ó$Lô
 "Ÿw™wŸ|™|¨G°XÓ>HØ×$Ñ$ X¨|Õ<ñ=ñ =÷    =ô*     ‰ J¤ ¨\Ó :Õ;÷+    =ð    =ús Å-C>JÊJc óâ—|j€J‚t|jj||||j|¬«}|jr|j
s‘t d|›dddd¬«|jrtjd|«t||ng||||jj|j|j|j|j¬    «    d
|_y|j
sJ‚|jsJ‚t!|jj|j|t#|j«|||j$r |j&nd|j(¬ «d
|_y) N)ÚuserÚhomeÚrootrYrzLegacy editable install of z" (setup.py develop) is deprecated.z÷to 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 informationú25.3iÁ,©ÚreasonÚ replacementÚgone_inÚissuez‰--config-settings ignored for legacy editable install of %s. Consider upgrading to a version of setuptools that supports PEP 660 (>= 64).)    r8rrKrÕr~rärYrZràT)r
Úreq_descriptionÚ    pycompileÚwarn_script_locationÚ
direct_urlÚ    requested)rArr~rYrCrÚr$r:r`raÚinstall_editable_legacyrärZràrWrPr rlr‘rOr=)    rdr8rLrKrrUrÕrTr
s             reÚinstallzInstallRequirement.install*sX€ðx‰xÐ#Ð#Ð#ÜØ H‰HM‰MØØØØ—]‘]Øô 
ˆð =Š= §¢Ü à1°$°ð8%ð%ðWð Øõ ð×#Ò#Ü—‘ð5ðô    ô $Ø1?Ð1K™~ÐQSØØØ+Ø—X‘X—]‘]Ø"×0Ñ0ØŸ™ØŸ.™.Ø*.×*HÑ*Hõ
ð&*ˆDÔ "Ø à}Š}Ј}Ø×#Ò#Ð#Ð#äØ H‰HM‰MØ ×  Ñ  ØÜ §¡›MØØ!5Ø-1¯^ª^t×)Ò)ÀØ×(Ñ(õ        
ð"&ˆÕrg)FNNNF)rAzRequirement | NonerBzstr | InstallRequirement | NonerCr¥rLz Link | NonerSz Marker | Noner_z bool | NonerYr¥r8zlist[str] | Noner9zdict[str, list[str]] | Noner:z!dict[str, str | list[str]] | Noner;r¥r<zCollection[str]r=r¥r>r¥r!ÚNone)r!rl)r!ú
str | None)r!r¥)r!r r‡)r¢zIterable[str] | Noner!r¥)T)r­r¥r!r%)r½rlr¾r¥r¿r¥r!rl)r!rZ)rÕr¥r!rZ)r!r    )r!r)FF)rrlr¾r¥r¿r¥r!rZ)rrr!rZ)rr¥rr¥r!zUninstallPathSet | None)rGrlr"rlr#rlr!rl)r½r[r!rZ)NNNNTFT)r8zSequence[str] | NonerLr[rKr[rr[rUr¥rÕr¥rTr¥r!rZ),rtÚ
__module__Ú __qualname__Ú__doc__rfrorvr…Úpropertyr~Ú    functoolsÚcached_propertyrrr‘r›r£r¦r¯rmrÃrÉrÌrØrÚrÜràrärçrér!ròr÷rÆrûrörrrrrr$rHrYr7rgrer6r6DsB„ñðØ Ø!%Ø"&Øð~1ð,0Ø48Ø=AØ Ø"$Ø#Ø',ñ!~1à ð~1ð4ð~1ðð    ~1ð
ð ~1ð ð ~1ð ð~1ðð~1ð)ð~1ð2ð~1ð;ð~1ðð~1ð ð~1ðð~1ð !%ð!~1ð"
ó#~1ó@ó0
ó     
ðòóðð
×Ñò    Uóð    Uðò"óð"ðò.óð.ðòYóðYô
ðò'óð'ô#ó6 ð)Øð)Ø*.ð)ØAEð)à     ó)óV
ó,2ó$#2ðLò"óð"ð
ò9óð9ð ò
óð
ð òóðð òóðð òCóðCó
ó8ó**-ðXòóðó 
óð*!Ø %ð    àððððð    ð
 
ó ó,.óó$Ið*;@ð#Ø ð#Ø37ð#à     ó#ó4 *óA<ðJ04ØØØ!Ø%)Ø#ØðF&à,ðF&ððF&ðð    F&ð
ð F&ð #ð F&ððF&ððF&ð
ôF&rgr6có„—d}|jsd}n|jrd}n|jrd}|rtdddd¬«|S)    Nrz3Unnamed requirements are not allowed as constraintsz4Editable requirements are not allowed as constraintszConstraints cannot have extrasaConstraints are only allowed to take the form of a package name and a version specifier. Other forms were originally permitted as an accident of the implementation, but were undocumented. The new implementation of the resolver no longer supports these forms.z+replacing the constraint with a requirementi rN)r~rCr<r$)rAÚproblems  reÚcheck_invalid_constraint_typerdssN€à€GØ 8Š8ØG‰Ø     ŠØH‰Ø     ŠØ2ˆáÜð/ð FàØõ     
ð €NrgcóL—t||d«ry|D]}t||d«sŒyy)NTF)Úgetattr)ÚoptionsÚreqsÚoptionrAs    reÚ _has_optionrjs4€Üˆw˜ Ô%ØØòˆÜ 3˜ Õ %Ùðð rgcó¾—t||d«}t||d«}|s|r?tdddd¬«tjd«|jj «yy)    NÚ build_optionsr8z2--build-option and --global-option are deprecated.iS.zto use --config-settingsrM)rOrRrPrQzTImplying --no-binary=:all: due to the presence of --build-option / --global-option. )rjr$r`raÚformat_controlÚdisallow_binaries)rgrhÚhas_build_optionsÚhas_global_optionss    reÚcheck_legacy_setup_py_optionsrq˜si€ô$ G¨T°?ÓCÐÜ$ W¨dÐ4DÓEÐÙÑ.ÜØGØØ2Øõ        
ô     ‰ð 1ô    
ð    ×Ñ×0Ñ0Õ2ð/rg)rAr6r!rl)rgrrhúlist[InstallRequirement]rirlr!r¥)rgrrhrrr!rZ)eÚ
__future__rr`ÚloggingrFr,r.r·r0Úcollections.abcrrrÚoptparserÚpathlibrÚtypingr    Úpip._vendor.packaging.markersr
Ú"pip._vendor.packaging.requirementsr Ú pip._vendor.packaging.specifiersr Úpip._vendor.packaging.utilsr Úpip._vendor.packaging.versionrrrÇÚpip._vendor.pyproject_hooksrÚpip._internal.build_envrrÚpip._internal.exceptionsrrÚpip._internal.locationsrÚpip._internal.metadatarrrrÚpip._internal.metadata.baserÚpip._internal.models.direct_urlrÚpip._internal.models.linkrÚ'pip._internal.operations.build.metadatarÚ0pip._internal.operations.build.metadata_editablerÚ.pip._internal.operations.build.metadata_legacyrõÚ0pip._internal.operations.install.editable_legacyrrXÚ&pip._internal.operations.install.wheelr Úpip._internal.pyprojectr!r"Úpip._internal.req.req_uninstallr#Úpip._internal.utils.deprecationr$Úpip._internal.utils.hashesr%Úpip._internal.utils.miscr&r'r(r)r*r+r,r-Úpip._internal.utils.packagingr.Úpip._internal.utils.subprocessr/Úpip._internal.utils.temp_dirr0r1Úpip._internal.utils.unpackingr2Úpip._internal.utils.virtualenvr3Úpip._internal.vcsr4Ú    getLoggerrtr`r6rdrjrqr7rgreú<module>r—sìðÝ"ãÛÛ    Û Û
Û Ûß:Ñ:ÝÝÝå0Ý:Ý9Ý9Ý1Ý@Ý>çJßMÝ.÷óõ 8Ý5Ý*ÝEÝWõõõAßLÝ<Ý6Ý-÷    ÷    ó    õ:ÝFßEÝ5ÝCÝ!à    ˆ×    Ñ    ˜8Ó    $€÷l &ñl &ó^ó8ð3Ø ð3à
"ð3ð
ô3rg