hyb
2025-12-30 399ffc4d9829f70529d3b096fe4228f7496cc566
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
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
Ë
ñúhX:ã
óÄ—ddlZddlZddlZddlZddlmZddlmZddlmZ    ddl
m Z m Z m Z ddlmZmZmZmZmZmZddlmZerdd    lmZGd
„d e«Zd eeefd eddfd„Zd edeeeffd„ZGd„de«ZGd„de«ZGd„de«Z        d!deedeedeeeefddfd„Z         d!deedeedeeeefddfd„Z!dededefd„Z"Gd„d «Z#y)"éN)Úcontextmanager)Úabspath)Újoin)ÚSTDOUTÚ
check_callÚ check_output)Ú TYPE_CHECKINGÚAnyÚIteratorÚMappingÚOptionalÚSequenceé)Ú_in_proc_script_path)ÚProtocolc
óJ—eZdZdZ        ddeedeedeeeefddfd„Zy)    ÚSubprocessRunnerz%A protocol for the subprocess runner.NÚcmdÚcwdÚ extra_environÚreturncó—y©N©)Úselfrrrs    úTH:\Change_password\venv_build\Lib\site-packages\pip/_vendor/pyproject_hooks/_impl.pyÚ__call__zSubprocessRunner.__call__s€ð ó©NN)    Ú__name__Ú
__module__Ú __qualname__Ú__doc__rÚstrr r rrrrrrsN„Ù3ð
"&Ø9=ñ        à˜#‘ð    ð˜#‘ð    ð$ G¨C°¨HÑ$5Ñ6ð        ð
ô     rrÚobjÚpathrc óx—t|dd¬«5}tj||fi|¤Žddd«y#1swYyxYw)NÚwúutf-8©Úencoding)ÚopenÚjsonÚdump)r%r&ÚkwargsÚfs    rÚ
write_jsonr1s8€Ü     ˆdC 'Ô    *ð$¨aÜ     ‰    #qÑ#˜FÒ#÷$÷$ñ$ús0°9cór—t|d¬«5}tj|«cddd«S#1swYyxYw)Nr)r*)r,r-Úload)r&r0s  rÚ    read_jsonr4!s.€Ü     ˆd˜WÔ    %ð¨Üy‰y˜‹|÷÷òúsŽ-­6c óX‡—eZdZdZ            d    dedeedeedeeeddf
ˆfd„ ZˆxZS)
ÚBackendUnavailablezEWill be raised if the backend cannot be imported in the hook process.NÚ    tracebackÚmessageÚ backend_nameÚ backend_pathrcóV•—||_||_||_t‰||xsd«y)NzError while importing backend)r9r:r7ÚsuperÚ__init__)rr7r8r9r:Ú    __class__s     €rr=zBackendUnavailable.__init__)s/ø€ð)ˆÔØ(ˆÔØ"ˆŒÜ ‰Ñ˜ÒCÐ$CÕDr©NNN)    r r!r"r#r$r rr=Ú __classcell__©r>s@rr6r6&scø„ÙOð
"&Ø&*Ø04ñ Eàð Eð˜#‘ð Eð˜s‘mð     Eð
˜x¨™}Ñ-ð Eð
÷ Eñ Err6có,‡—eZdZdZdeddfˆfd„ ZˆxZS)Ú HookMissingz>Will be raised on missing hooks (if a fallback can't be used).Ú    hook_namerNcó2•—t‰||«||_yr)r<r=rD)rrDr>s  €rr=zHookMissing.__init__:sø€Ü ‰Ñ˜Ô#Ø"ˆr)r r!r"r#r$r=r@rAs@rrCrC7sø„ÙHð# #ð#¨$÷#ñ#rrCcó —eZdZdZdeddfd„Zy)ÚUnsupportedOperationzDMay be raised by build_sdist if the backend indicates that it can't.r7rNcó—||_yr)r7)rr7s  rr=zUnsupportedOperation.__init__Bs    €Ø"ˆr)r r!r"r#r$r=rrrrGrG?s„ÙNð# #ð#¨$ô#rrGrrrcó‚—tjj«}|r|j|«t    |||¬«y)zwThe default method of calling the wrapper subprocess.
 
    This uses :func:`subprocess.check_call` under the hood.
    )rÚenvN)ÚosÚenvironÚcopyÚupdater©rrrrJs    rÚdefault_subprocess_runnerrPFs/€ô *‰*/‰/Ó
€CÙØ 
‰
=Ô!äˆs˜ Ö%rcóŒ—tjj«}|r|j|«t    |||t
¬«y)zqCall the subprocess while suppressing output.
 
    This uses :func:`subprocess.check_output` under the hood.
    )rrJÚstderrN)rKrLrMrNrrrOs    rÚquiet_subprocess_runnerrSVs1€ô *‰*/‰/Ó
€CÙØ 
‰
=Ô!䐘# 3¬vÖ6rÚ source_treeÚ    requestedcóì—tjj|«r td«‚tjj    |«}tjj tjj ||««}tjj|«}tjj|«}tjj||g«|k7r td«‚|S)zèNormalise and check a backend path.
 
    Ensure that the requested backend path is specified as a relative path,
    and resolves to a location under the given source tree.
 
    Return an absolute version of the requested path.
    zpaths must be relativez paths must be inside source tree)    rKr&ÚisabsÚ
ValueErrorrÚnormpathrÚnormcaseÚ commonprefix)rTrUÚ
abs_sourceÚ abs_requestedÚ norm_sourceÚnorm_requesteds      rÚnorm_and_checkr`fs­€ô
‡ww‡}}YÔÜÐ1Ó2Ð2ä—‘—‘ Ó-€JÜ—G‘G×$Ñ$¤R§W¡W§\¡\°*¸iÓ%HÓI€Mô—'‘'×"Ñ" :Ó.€KÜ—W‘W×%Ñ% mÓ4€NÜ    ‡ww×ј[¨.Ð9Ó:¸kÒIÜÐ;Ó<Ð<à Ðrc ó—eZdZdZ            ddededeeededdeed    df d
„Zeddd    e    dfd „«Z
d    eefd „Z     dd ee ee fd    eefd„Z        dded ee ee fded    efd„Z        d ded ee ee fdeed    efd„Z    dd ee ee fd    eefd„Z        dded ee ee fded    eefd„Z        d ded ee ee fdeed    efd„Z    dd ee ee fd    eefd„Z    dded ee ee fd    efd„Zdede ee fd    e fd„Zy)!ÚBuildBackendHookCallerzAA wrapper to call the build backend hooks for a source directory.NÚ
source_dirÚ build_backendr:ÚrunnerrÚpython_executablercóä—|€t}t|«|_||_|r#|Dcgc]}t    |j|«‘Œ}}||_||_|stj}||_    ycc}w)a“
        :param source_dir: The source directory to invoke the build backend for
        :param build_backend: The build backend spec
        :param backend_path: Additional path entries for the build backend spec
        :param runner: The :ref:`subprocess runner <Subprocess Runners>` to use
        :param python_executable:
            The Python executable used to invoke the build backend
        N)
rPrrcrdr`r:Ú_subprocess_runnerÚsysÚ
executablerf)rrcrdr:rerfÚps       rr=zBuildBackendHookCaller.__init__sn€ð  ˆ>Ü.ˆFä! *Ó-ˆŒØ*ˆÔÙ ØHTÖUÀ1œN¨4¯?©?¸AÕ>ÐUˆLÐUØ(ˆÔØ"(ˆÔÙ Ü #§¡Ð Ø!2ˆÕùò Vs¦A-c#óbK—|j}||_    d–—||_y#||_wxYw­w)ayA context manager for temporarily overriding the default
        :ref:`subprocess runner <Subprocess Runners>`.
 
        :param runner: The new subprocess runner to use within the context.
 
        .. code-block:: python
 
            hook_caller = BuildBackendHookCaller(...)
            with hook_caller.subprocess_runner(quiet_subprocess_runner):
                ...
        N)rh)rreÚprevs   rÚsubprocess_runnerz(BuildBackendHookCaller.subprocess_runneržs3èø€ð×&Ñ&ˆØ"(ˆÔð    +Û à&*ˆDÕ #ø dˆDÕ #üs‚/—#›/£    ,¬/có&—|jdi«S)z>Return the list of optional features supported by the backend.Ú_supported_features©Ú
_call_hook)rs rrpz*BuildBackendHookCaller._supported_features²s€à‰Ð4°bÓ9Ð9rÚconfig_settingscó*—|jdd|i«S)amGet additional dependencies required for building a wheel.
 
        :param config_settings: The configuration settings for the build backend
        :returns: A list of :pep:`dependency specifiers <508>`.
 
        .. admonition:: Fallback
 
            If the build backend does not defined a hook with this name, an
            empty list will be returned.
        Úget_requires_for_build_wheelrsrq©rrss  rruz3BuildBackendHookCaller.get_requires_for_build_wheel¶s €ð‰Ø *Ð->ÀÐ,Pó
ð    
rÚmetadata_directoryÚ_allow_fallbackcó@—|jdt|«||dœ«S)aSPrepare a ``*.dist-info`` folder with metadata for this project.
 
        :param metadata_directory: The directory to write the metadata to
        :param config_settings: The configuration settings for the build backend
        :param _allow_fallback:
            Whether to allow the fallback to building a wheel and extracting
            the metadata from it. Should be passed as a keyword argument only.
 
        :returns: Name of the newly created subfolder within
                  ``metadata_directory``, containing the metadata.
 
        .. admonition:: Fallback
 
            If the build backend does not define a hook with this name and
            ``_allow_fallback`` is truthy, the backend will be asked to build a
            wheel via the ``build_wheel`` hook and the dist-info extracted from
            that will be returned.
        Ú prepare_metadata_for_build_wheel©rwrsrx©rrr©rrwrsrxs    rrzz7BuildBackendHookCaller.prepare_metadata_for_build_wheelÈs,€ð0‰Ø .ä&-Ð.@Ó&AØ#2Ø#2ñ ó
ð    
rÚwheel_directorycóZ—| t|«}|jdt|«||dœ«S)aÕBuild a wheel from this project.
 
        :param wheel_directory: The directory to write the wheel to
        :param config_settings: The configuration settings for the build backend
        :param metadata_directory: The directory to reuse existing metadata from
        :returns:
            The name of the newly created wheel within ``wheel_directory``.
 
        .. admonition:: Interaction with fallback
 
            If the ``build_wheel`` hook was called in the fallback for
            :meth:`prepare_metadata_for_build_wheel`, the build backend would
            not be invoked. Instead, the previously built wheel will be copied
            to ``wheel_directory`` and the name of that file will be returned.
        Ú build_wheel©r~rsrw©rrr©rr~rsrws    rr€z"BuildBackendHookCaller.build_wheelés=€ð* Ð )Ü!(Ð);Ó!<Р؏‰Ø ä#*¨?Ó#;Ø#2Ø&8ñ ó
ð    
rcó*—|jdd|i«S)awGet additional dependencies required for building an editable wheel.
 
        :param config_settings: The configuration settings for the build backend
        :returns: A list of :pep:`dependency specifiers <508>`.
 
        .. admonition:: Fallback
 
            If the build backend does not defined a hook with this name, an
            empty list will be returned.
        Úget_requires_for_build_editablersrqrvs  rr…z6BuildBackendHookCaller.get_requires_for_build_editable    s €ð‰Ø -Ð0AÀ?Ð/Só
ð    
rcó@—|jdt|«||dœ«S)aUPrepare a ``*.dist-info`` folder with metadata for this project.
 
        :param metadata_directory: The directory to write the metadata to
        :param config_settings: The configuration settings for the build backend
        :param _allow_fallback:
            Whether to allow the fallback to building a wheel and extracting
            the metadata from it. Should be passed as a keyword argument only.
        :returns: Name of the newly created subfolder within
                  ``metadata_directory``, containing the metadata.
 
        .. admonition:: Fallback
 
            If the build backend does not define a hook with this name and
            ``_allow_fallback`` is truthy, the backend will be asked to build a
            wheel via the ``build_editable`` hook and the dist-info
            extracted from that will be returned.
        Ú#prepare_metadata_for_build_editabler{r|r}s    rr‡z:BuildBackendHookCaller.prepare_metadata_for_build_editables,€ð.‰Ø 1ä&-Ð.@Ó&AØ#2Ø#2ñ ó
ð    
rcóZ—| t|«}|jdt|«||dœ«S)añBuild an editable wheel from this project.
 
        :param wheel_directory: The directory to write the wheel to
        :param config_settings: The configuration settings for the build backend
        :param metadata_directory: The directory to reuse existing metadata from
        :returns:
            The name of the newly created wheel within ``wheel_directory``.
 
        .. admonition:: Interaction with fallback
 
            If the ``build_editable`` hook was called in the fallback for
            :meth:`prepare_metadata_for_build_editable`, the build backend
            would not be invoked. Instead, the previously built wheel will be
            copied to ``wheel_directory`` and the name of that file will be
            returned.
        Úbuild_editablerr‚rƒs    rr‰z%BuildBackendHookCaller.build_editable;s=€ð, Ð )Ü!(Ð);Ó!<Р؏‰Ø ä#*¨?Ó#;Ø#2Ø&8ñ ó
ð    
rcó*—|jdd|i«S)z…Get additional dependencies required for building an sdist.
 
        :returns: A list of :pep:`dependency specifiers <508>`.
        Úget_requires_for_build_sdistrsrqrvs  rr‹z3BuildBackendHookCaller.get_requires_for_build_sdist\s €ð‰Ø *Ð->ÀÐ,Pó
ð    
rÚsdist_directorycó>—|jdt|«|dœ«S)z‰Build an sdist from this project.
 
        :returns:
            The name of the newly created sdist within ``wheel_directory``.
        Ú build_sdist)rŒrsr|)rrŒrss   rrŽz"BuildBackendHookCaller.build_sdisths(€ð‰Ø ä#*¨?Ó#;Ø#2ñ ó
ð    
rrDr/c
ón—d|ji}|jr.tjj    |j«}||d<t j «5}d|i}t|t|d«d¬«t«5}|j}|j|tt|««||g|j|¬«ddd«tt|d««}    |    j!d    «rt#|    j!d
d ««‚|    j!d «rCt%|    j!d
d «|    j!d d «|j|j¬«‚|    j!d«rt'|    j!d«xs|«‚|    dcddd«S#1swYŒÛxYw#1swYyxYw)NÚ_PYPROJECT_HOOKS_BUILD_BACKENDÚ_PYPROJECT_HOOKS_BACKEND_PATHr/z
input.jsoné)Úindent)rrz output.jsonÚ unsupportedr7ÚÚ
no_backendÚ backend_error)r8r9r:Ú hook_missingÚmissing_hook_nameÚ
return_val)rdr:rKÚpathseprÚtempfileÚTemporaryDirectoryr1Úpjoinrrfrhrr$rcr4ÚgetrGr6rC)
rrDr/rr:ÚtdÚ
hook_inputÚscriptÚpythonÚdatas
          rrrz!BuildBackendHookCaller._call_hookzs‹€Ø9¸4×;MÑ;MÐNˆ à × Ò ÜŸ:™:Ÿ?™?¨4×+<Ñ+<Ó=ˆLØ=IˆMÐ9Ñ :ä × (Ñ (Ó *ð    &¨bØ" FÐ+ˆJÜ z¤5¨¨\Ó#:À1Õ Eô&Ó'ð ¨6Ø×/Ñ/Ø×'Ñ'ØœW¤S¨£[Ó1°9¸bÐAØŸ™Ø"/ð(ô÷ ôœU 2 }Ó5Ó6ˆD؏x‰x˜ Ô&Ü*¨4¯8©8°KÀÓ+DÓEÐE؏x‰x˜ Ô%Ü(Ø—H‘H˜[¨"Ó-Ø ŸH™H _°bÓ9Ø!%×!3Ñ!3Ø!%×!2Ñ!2ô    ðð x‰x˜Ô'Ü! $§(¡(Ð+>Ó"?Ò"LÀ9ÓMÐMؘ Ñ%÷3    &ñ    &÷
 ð ú÷     &ð    &ús&Á'F+ÂAFÃCF+ÆF(    Æ$F+Æ+F4r?r)NTr)r r!r"r#r$r rr=rr rnrpr r
ruÚboolrzr€r…r‡r‰r‹rŽrrrrrrbrb~sŽ„ÙKð 15Ø/3Ø+/ñ 3àð3ðð3ð˜x¨™}Ñ-ð    3ð
Ð+Ñ,ð 3ð $ C™=ð 3ð
ó3ð:ð+Ð(:ð+¸xȹ~ò+óð+ð&: X¨c¡]ó:ð 8<ñ
à! '¨#¨s¨(Ñ"3Ñ4ð
ð
#‰ó
ð*8<Ø $ñ    
àð
ð" '¨#¨s¨(Ñ"3Ñ4ð
ðð    
ð
 
ó 
ðH8<Ø,0ñ    
àð
ð" '¨#¨s¨(Ñ"3Ñ4ð
ð% S™Mð    
ð
 
ó 
ðD8<ñ
à! '¨#¨s¨(Ñ"3Ñ4ð
ð
#‰ó
ð*8<Ø $ñ    
àð
ð" '¨#¨s¨(Ñ"3Ñ4ð
ðð    
ð
 
#‰ó 
ðF8<Ø,0ñ    
àð
ð" '¨#¨s¨(Ñ"3Ñ4ð
ð% S™Mð    
ð
 
ó 
ðF8<ñ
 
à! '¨#¨s¨(Ñ"3Ñ4ð
 
ð
#‰ó
 
ð8<ñ
àð
ð" '¨#¨s¨(Ñ"3Ñ4ð
ð
ó    
ð$ & Cð &°¸¸c¸Ñ1Bð &Àsô &rrbr)$r-rKrirœÚ
contextlibrÚos.pathrrržÚ
subprocessrrrÚtypingr    r
r r r rÚ _in_processrrrr$r1r4Ú    Exceptionr6rCrGrPrSr`rbrrrú<module>r¬sTðÛ Û    Û
ÛÝ%ÝÝ!ß7Ñ7ßL×Lå-áÝô    ˜8ô    ð$G˜C ˜HÑ%ð$¨Sð$¸tó$ð
Cð˜G C¨ HÑ-óô
E˜ôEô"#)ô#ô#˜9ô#ðØ15ñ &Ø    #‰ð &à    #‰ð &ð˜G C¨ HÑ-Ñ.ð &ð
ó     &ð$Ø15ñ 7Ø    #‰ð 7à    #‰ð 7ð˜G C¨ HÑ-Ñ.ð 7ð
ó     7ð  ð°ð¸ó÷0\&ò\&r