a „oeë ã@s6ddlZddlZGdd„dƒZdZeeedƒ ¡dS)éNc@sXeZdZdZddd„Zedd„ƒZdd „Zd d „Zd d „Z dd„Z ddd„Z dd„Z dS)ÚVendorImporterz„ A PEP 302 meta path importer for finding optionally-vendored or otherwise naturally-installed packages from root_name. ©NcCs&||_t|ƒ|_|p| dd¡|_dS)NZexternZ_vendor)Ú root_nameÚsetÚvendored_namesÚreplaceÚ vendor_pkg)Úselfrrrrrú;C:\Program Files\Certbot\pkgs\setuptools\extern\__init__.pyÚ__init__ s zVendorImporter.__init__ccs|jdVdVdS)zL Search first the vendor package then as a natural package. Ú.ÚN)r©r rrr Ú search_paths zVendorImporter.search_pathcCs.| |jd¡\}}}| o,tt|j|jƒƒS)z,Figure out if the target module is vendored.r )Ú partitionrÚanyÚmapÚ startswithr)r ÚfullnameÚrootÚbaseÚtargetrrr Ú_module_matches_namespacesz(VendorImporter._module_matches_namespacec Cs~| |jd¡\}}}|jD]F}z.||}t|ƒtj|}|tj|<|WSty`Yq0qtdjfitƒ¤Žƒ‚dS)zK Iterate over the search path to locate and load fullname. r z•The '{target}' package is required; normally this is bundled with this package so if you get this warning, consult the packager of your distribution.N) rrrÚ __import__ÚsysÚmodulesÚ ImportErrorÚformatÚlocals)r rrrrÚprefixZextantÚmodrrr Ú load_modules     ýÿzVendorImporter.load_modulecCs | |j¡S©N)r!Úname)r Úspecrrr Ú create_module3szVendorImporter.create_modulecCsdSr"r)r Úmodulerrr Ú exec_module6szVendorImporter.exec_modulecCs| |¡rtj ||¡SdS)z(Return a module spec for vendored names.N)rÚ importlibÚutilÚspec_from_loader)r rÚpathrrrr Ú find_spec9sÿýzVendorImporter.find_speccCs|tjvrtj |¡dS)zR Install this importer into sys.meta_path if not already present. N)rÚ meta_pathÚappendrrrr ÚinstallAs zVendorImporter.install)rN)NN) Ú__name__Ú __module__Ú __qualname__Ú__doc__r Úpropertyrrr!r%r'r,r/rrrr rs   r) Z packagingZ ordered_setZmore_itertoolsZimportlib_metadataZzippZimportlib_resourcesZjaracoZtyping_extensionsZtomlizsetuptools._vendor)Úimportlib.utilr(rrÚnamesr0r/rrrr ÚsD