grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026î   f'ã @sFdZddlmZmZmZmZmZmZmZm Z m Z m Z yddlm Z Wne k rzdZ YnXddlmZmZmZddlmZddlmZddlZddlZddlZddlZddlZddlZejdeƒdZd Zd Zd Zd Z d Z!dZ"dZ#dZ$dZ%dd„Z&dd„Z'dd„Z(ddd„Z)dd„Z*dd„Z+Gdd„dƒZ,Gd d!„d!ƒZ-Gd"d#„d#e-ej.ƒZ/dd$d%„Z0Gd&d'„d'e-eƒZ1dd(d)„Z2d*d+„Z3d,d-„Z4dd.d/„Z5d0d1„Z6dS)2zâThis module provides the components needed to build your own __import__ function. Undocumented functions are obsolete. In most cases it is preferred you consider using the importlib module's functionality over this module. é) Ú lock_heldÚ acquire_lockÚ release_lockÚget_frozen_objectÚis_frozen_packageÚ init_builtinÚ init_frozenÚ is_builtinÚ is_frozenÚ_fix_co_filename)Ú load_dynamicN)ÚSourcelessFileLoaderÚ_ERR_MSGÚ _SpecMethods)Ú machinery)Úutilzhthe imp module is deprecated in favour of importlib; see the module's documentation for alternative usesééééééééé cCs tj|ƒS)z_**DEPRECATED** Create a new module. The module is not entered into sys.modules. )ÚtypesÚ ModuleType)Úname©rú(/opt/alt/python34/lib64/python3.4/imp.pyÚ new_module/sr cCstjS)zH**DEPRECATED** Return the magic number for .pyc or .pyo files. )rÚ MAGIC_NUMBERrrrrÚ get_magic:sr"cCs tjjS)z,Return the magic tag for .pyc or .pyo files.)ÚsysÚimplementationÚ cache_tagrrrrÚget_tagBsr&cCstj||ƒS)a**DEPRECATED** Given the path to a .py file, return the path to its .pyc/.pyo file. The .py file does not need to exist; this simply returns the path to the .pyc/.pyo file calculated as if the .py file were imported. The extension will be .pyc unless sys.flags.optimize is non-zero, then it will be .pyo. If debug_override is not None, then it must be a boolean and is used in place of sys.flags.optimize. If sys.implementation.cache_tag is None then NotImplementedError is raised. )rÚcache_from_source)ÚpathÚdebug_overriderrrr'Gsr'cCs tj|ƒS)a�**DEPRECATED** Given the path to a .pyc./.pyo file, return the path to its .py file. The .pyc/.pyo file does not need to exist; this simply returns the path to the .py file calculated to correspond to the .pyc/.pyo file. If path does not conform to PEP 3147 format, ValueError will be raised. If sys.implementation.cache_tag is None then NotImplementedError is raised. )rÚsource_from_cache)r(rrrr*Ys r*cCsNdd„tjDƒ}dd„tjDƒ}dd„tjDƒ}|||S)z**DEPRECATED**cSsg|]}|dtf‘qS)Úrb)Ú C_EXTENSION)Ú.0Úsrrrú is z get_suffixes..cSsg|]}|dtf‘qS)Úr)Ú PY_SOURCE)r-r.rrrr/js cSsg|]}|dtf‘qS)r+)Ú PY_COMPILED)r-r.rrrr/ks )rÚEXTENSION_SUFFIXESÚSOURCE_SUFFIXESÚBYTECODE_SUFFIXES)Ú extensionsÚsourceÚbytecoderrrÚ get_suffixesgsr9c@s.eZdZdZdd„Zdd„ZdS)Ú NullImporterz-**DEPRECATED** Null import object. cCsL|dkr!tdddƒ‚n'tjj|ƒrHtdd|ƒ‚ndS)NÚzempty pathnamer(zexisting directory)Ú ImportErrorÚosr(Úisdir)Úselfr(rrrÚ__init__xs zNullImporter.__init__cCsdS)zAlways returns None.Nr)r?ÚfullnamerrrÚ find_module~szNullImporter.find_moduleN)Ú__name__Ú __module__Ú __qualname__Ú__doc__r@rBrrrrr:ps  r:cs=eZdZdZd‡fdd†Z‡fdd†Z‡S)Ú_HackedGetDatazMCompatibility support for 'file' arguments of various load_*() functions.Ncs tƒj||ƒ||_dS)N)Úsuperr@Úfile)r?rAr(rI)Ú __class__rrr@ˆsz_HackedGetData.__init__csw|jrc||jkrc|jjs0|j}nt|jdƒ|_}|�|jƒSWdQXntƒj|ƒSdS)z;Gross hack to contort loader to deal w/ load_*()'s bad API.r0N)rIr(ÚclosedÚopenÚreadrHÚget_data)r?r(rI)rJrrrNŒs  z_HackedGetData.get_data)rCrDrErFr@rNrr)rJrrGƒs rGc@seZdZdZdS)Ú_LoadSourceCompatibilityz5Compatibility support for implementing load_source().N)rCrDrErFrrrrrOŸs rOcCs’t|||ƒ}tj||d|ƒ}t|ƒ}|tjkr^|jtj|ƒ}n |jƒ}tj ||ƒ|_ |j |j _ |S)NÚloader) rOrÚspec_from_file_locationrr#ÚmodulesÚexecÚloadrÚSourceFileLoaderÚ __loader__Ú__spec__rP)rÚpathnamerIrPÚspecÚmethodsÚmodulerrrÚ load_source¤s  r\c@seZdZdZdS)Ú_LoadCompiledCompatibilityz7Compatibility support for implementing load_compiled().N)rCrDrErFrrrrr]³s r]cCs�t|||ƒ}tj||d|ƒ}t|ƒ}|tjkr^|jtj|ƒ}n |jƒ}t||ƒ|_ |j |j _ |S)z**DEPRECATED**rP) r]rrQrr#rRrSrTr rVrWrP)rrXrIrPrYrZr[rrrÚ load_compiled¸s  r^cCsãtjj|ƒrŽtjdd…tjdd…}xU|D]5}tjj|d|ƒ}tjj|ƒr=Pq=q=Wtdj |ƒƒ‚nt j ||dgƒ}t |ƒ}|t jkrÕ|jt j|ƒS|jƒSdS)z**DEPRECATED**Nr@z{!r} is not a packageÚsubmodule_search_locations)r=r(r>rr4r5ÚjoinÚexistsÚ ValueErrorÚformatrrQrr#rRrSrT)rr(r6Ú extensionrYrZrrrÚ load_packageÈs   rec CsŒ|\}}}|rI|jd ƒ s1d|krItdj|ƒƒ‚n?|dkr…|tthkr…dj|ƒ}t|ƒ‚n|tkr¡t|||ƒS|tkr½t|||ƒS|tkrtdk r|dkr t |dƒ�}t|||ƒSWdQXqˆt|||ƒSni|t kr8t ||ƒS|t krNt |ƒS|tkrdt|ƒSdj||ƒ}t|d |ƒ‚dS) z–**DEPRECATED** Load a module, given information returned by find_module(). The module name must include the full package name, if any. r0ÚUú+zinvalid file open mode {!r}Nz.file object required for import (type code {})r+z*Don't know how to import {} (type code {})r)r0rf)Ú startswithrbrcr1r2r\r^r,r rLÚ PKG_DIRECTORYreÚ C_BUILTINrÚ PY_FROZENrr<) rrIÚfilenameZdetailsÚsuffixÚmodeÚtype_ÚmsgZ opened_filerrrÚ load_moduleÜs."         rqc Cs,t|tƒs-tdjt|ƒƒƒ‚n9t|tdƒtfƒsftdjt|ƒƒƒ‚n|dkrÂt|ƒr”ddddtffSt |ƒr¶ddddt ffSt j }nxù|D]Ö}t j j||ƒ}xbdtjdgD]M}d|}t j j||ƒ}t j j|ƒrød|ddtffSqøWxRtƒD]D\}}}||} t j j|| ƒ}t j j|ƒrSPqSqSWqÉPqÉWttj|ƒd|ƒ‚d} d |krt|d ƒ�} tj| jƒd} WdQXnt||d | ƒ} | ||||ffS) a,**DEPRECATED** Search for a module. If path is omitted or None, search for a built-in, frozen or special module and continue search in sys.path. The module name cannot contain '.'; to search for a submodule of a package, pass the submodule name and the package's __path__. z'name' must be a str, not {}Nz%'list' must be None or a list, not {}r;z.pyrr@rÚbr+Úencoding)Ú isinstanceÚstrÚ TypeErrorrcÚtypeÚlistÚ RuntimeErrorr rjr rkr#r(r=r`rr5Úisfilerir9r<rrLÚtokenizeÚdetect_encodingÚreadline) rr(ÚentryZpackage_directoryrmZpackage_file_nameZ file_pathrnroÚ file_namersrIrrrrBÿs@          rBcCs tj|ƒS)zw**DEPRECATED** Reload the module and return it. The module must have been successfully imported before. )Ú importlibÚreload)r[rrrr�3sr�)7rFÚ_imprrrrrrrr r r r r<Zimportlib._bootstrapr rrr€rrr=r#r{rÚwarningsÚwarnÚPendingDeprecationWarningZ SEARCH_ERRORr1r2r,Z PY_RESOURCErirjrkZPY_CODERESOURCEZIMP_HOOKr r"r&r'r*r9r:rGrUrOr\r]r^rerqrBr�rrrrÚsTF               #4