hyb
2025-11-07 cadac0a99d87c53805a07f3b4ca7fd11e524fe4a
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
Ë
@ñúh…ãóô—UdZddlmZddlZddlZddlZddlZddlmZm    Z    m
Z
ddl Z ed«Z edeej«ZgZded<    d    „Ze
dd
„«Ze
dd „«Z                dd „Zdd „Zd„Zd„Zd„Zd„Zy)z
Monkey patching of distutils.
é)Ú annotationsN)ÚTypeVarÚcastÚoverloadÚ_TÚ    _UnpatchTz    list[str]Ú__all__cóz—tj«dk(r|f|jzStj|«S)am
    Returns the bases classes for cls sorted by the MRO.
 
    Works around an issue on Jython where inspect.getmro will not return all
    base classes if multiple classes share the same name. Instead, this
    function will return a tuple containing the class itself, and the contents
    of cls.__bases__. See https://github.com/pypa/setuptools/issues/1024.
    ÚJython)ÚplatformÚpython_implementationÚ    __bases__ÚinspectÚgetmro)Úclss úDH:\Change_password\venv_build\Lib\site-packages\setuptools/monkey.pyÚ_get_mrors5€ô×%Ñ%Ó'¨8Ò3؈v˜Ÿ ™ Ñ%Ð%Ü >‰>˜#Ó Ðócó—y©N©©Úitems rÚ get_unpatchedr(s€Ø14rcó—yrrrs rrr*s€Ø),rcó„—t|t«r t|«St|tj«r t |«Syr)Ú
isinstanceÚtypeÚget_unpatched_classÚtypesÚ FunctionTypeÚget_unpatched_functionrs rrr,s7€ô$œÔÜ" 4Ó(Ð(ܐ$œ×*Ñ*Ô+Ü% dÓ+Ð+Ø rcó–—d„t|«D«}t|«}|jjd«sd|›}t    |«‚|S)z•Protect against re-patching the distutils if reloaded
 
    Also ensures that no other distutils extension monkeypatched the distutils
    first.
    c3ó€K—|]6}|jjd«sttt|«–—Œ8y­w)Ú
setuptoolsN)Ú
__module__Ú
startswithrrr)Ú.0rs  rú    <genexpr>z&get_unpatched_class.<locals>.<genexpr><s5èø€òà Ø~‰~×(Ñ(¨Ô6ô     ŒT”"‰Xs×ñùs‚<>Ú    distutilsz&distutils has already been patched by )rÚnextr&r'ÚAssertionError)rÚexternal_basesÚbaseÚmsgs    rrr6sO€ñ ä˜C“=ô€Nô
Ó €DØ ?‰?× %Ñ % kÔ 2Ø6°s°gÐ>ˆÜ˜SÓ!Ð!Ø €Krcó—ddl}|jtj_t    «tj
tjtj fD]}|j
j|_Œ|jjtj_    |jjtj_    dtjvr-|jjtjd_    yy)Nrzdistutils.command.build_ext) r%ÚCommandr*ÚcoreÚ_patch_distribution_metadataÚdistÚcmdÚ DistributionÚ    extensionÚ    ExtensionÚsysÚmodules)r%Úmodules  rÚ    patch_allr<Hs¿€Ûð(×/Ñ/„I‡NNÔä Ô"ô—.‘.¤)§.¡.´)·-±-Ð?ò;ˆØ(Ÿo™o×:Ñ:ˆÕð;ð *×3Ñ3×=Ñ=„I‡NNÔØ$.×$8Ñ$8×$BÑ$B„I×ÑÔ!Ø$¬¯ © Ñ3ð!×*Ñ*×4Ñ4ô      ‰ Ø )ñ    
å
ð4rcó‚—ddlm}    dD]3}t||«}ttj
j ||«Œ5y)Né)Ú_core_metadata)Úwrite_pkg_infoÚwrite_pkg_fileÚ read_pkg_fileÚget_metadata_versionÚ get_fullname)Úr?ÚgetattrÚsetattrr*r4ÚDistributionMetadata)r?ÚattrÚnew_vals   rr3r3]s?€Ý àNðòDˆô˜.¨$Ó/ˆÜ”    —‘×3Ñ3°T¸7ÕCñDrcól—t||«}t|«jd|«t|||«y)zž
    Patch func_name in target_mod with replacement
 
    Important - original must be resolved by name to avoid
    patching an already patched function.
    Ú    unpatchedN)rFÚvarsÚ
setdefaultrG)Ú replacementÚ
target_modÚ    func_nameÚoriginals    rÚ
patch_funcrSls5€ôz 9Ó-€Hô    ˆÓ× Ñ  ¨hÔ7ô ˆJ˜     ;Õ/rcó—|jSr)rL)Ú    candidates rr"r"}s€Ø × Ñ Ðr)rrÚreturnr)rÚobjectrVÚNone)rz"type | types.FunctionType | objectrVz type | types.FunctionType | None)rútype[_T]rVrY)Ú__doc__Ú
__future__rrr r9r ÚtypingrrrÚdistutils.filelistr*rrr!rr    Ú__annotations__rrrr<r3rSr"rrrú<module>r_s¤ðòõ#ãÛÛ
Û ß*Ñ*ãá ˆTƒ]€Ù K  u×'9Ñ'9Ó :€    ð€ˆÓðò ð
Ú4ó
Ø4Ø    Ú,ó
Ø,ðØ
,ðà%óóò$5ò* Dò0ó"r