fc@sdZdZddZddZdd Zd d Zd d ZddZddZddZ dddZ ddZ e e j ZddZiZiZGdddeZGdddZGdd d Zd!d"Zd#d$Zd%d&Zd'ed(d)>Bed*d+>BZed,d-ed.d/d0DZd1Zd2gZd3gZ d4gZ!dd5d6Z#d7d8Z$d9d:Z%d;d<d=d>Z&d?d@Z'dAdBZ(dCdDZ)dEdFZ*dGdHZ+dIdJZ,dKdLZ-GdMdNdNZ.GdOdPdPZ/GdQdRdRZ0GdSdTdTZ1GdUdVdVe1Z2GdWdXdXZ3GdYdZdZe3e2Z4Gd[d\d\e3e1Z5gZ6Gd]d^d^Z7Gd_d`d`Z8GdadbdbZ9GdcddddZ:GdedfdfZ;GdgdhdhZ<didjZ=dkdlZ>dmdnZ?doZ@dpdqZAdrdsZBdd.dtduZCdvdwZDdxdyZEdzd{ZFddfd.d|d}ZGd~dZHddZIdS(uSCore implementation of import. This module is NOT meant to be directly imported! It has been designed such that it can be bootstrapped into Python as the implementation of import. As such it requires the injection of specific modules and attributes in order to work. One should use importlib as the public-facing version of this module. uwinucygwinudarwincCs1tjjtr!dd}n dd}|S(NcSs dtjkS(u5True if filenames must be checked case-insensitively.s PYTHONCASEOK(u_osuenviron(((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu _relax_case"su%_make_relax_case.._relax_casecSsdS(u5True if filenames must be checked case-insensitively.F(uFalse(((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu _relax_case&s(usysuplatformu startswithu_CASE_INSENSITIVE_PLATFORMS(u _relax_case((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu_make_relax_case s u_make_relax_casecCslt|}g}|j|d@|j|d?d@|j|d?d@|j|d?d@t|S(uoConvert a 32-bit integer to little-endian. XXX Temporary until marshal's long functions are exposed. iiii(uintuappendu bytearray(uxu int_bytes((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu_w_long-s u_w_longcCsD|d}||dd>O}||dd>O}||dd>O}|S(usConvert 4 bytes in little-endian to an integer. XXX Temporary until marshal's long function are exposed. iiiiiii((u int_bytesux((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu_r_long=s  u_r_longcGsgg}xG|D]?}|sq n|j||dtkr |jtq q Wdj|ddS(uReplacement for os.path.join().iuNii(uappendupath_separatorsupath_sepujoin(u path_partsu new_partsupart((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu _path_joinJs  u _path_joincCsUx0t|D]}|tkr |}Pq q Wt}|j|\}}}||fS(u Replacement for os.path.split().(ureversedupath_separatorsupath_sepu rpartition(upathuxusepufrontu_utail((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu _path_splitVs u _path_splitc Cs=ytj|}Wntk r+dSYnX|jd@|kS(u1Test whether the path is the specified mode type.iF(u_osustatuOSErroruFalseust_mode(upathumodeu stat_info((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu_path_is_mode_typebs   u_path_is_mode_typecCs t|dS(uReplacement for os.path.isfile.i(u_path_is_mode_type(upath((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu _path_isfilelsu _path_isfilecCs"|stj}nt|dS(uReplacement for os.path.isdir.i@(u_osugetcwdu_path_is_mode_type(upath((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu _path_isdirrsu _path_isdiricCsdj|t|}tj|tjtjBtjB|d@}y<tj|d}|j |WdQXtj ||Wn;t k rytj |Wnt k rYnXYnXdS(uBest-effort function to write data to a path atomically. Be prepared to handle a FileExistsError if concurrent writing of the temporary file is attempted.u{}.{}iuwbN( uformatuidu_osuopenuO_EXCLuO_CREATuO_WRONLYu_iouFileIOuwriteureplaceuOSErroruunlink(upathudataumodeupath_tmpufdufile((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu _write_atomicys !  u _write_atomiccCs_xEddddgD]1}t||rt||t||qqW|jj|jdS(u/Simple substitute for functools.update_wrapper.u __module__u__name__u __qualname__u__doc__N(uhasattrusetattrugetattru__dict__uupdate(unewuoldureplace((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu_wraps u_wrapcCstt|S(uKCreate a new module. The module is not entered into sys.modules. (utypeu_io(uname((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu new_modulesu new_modulecBs|EeZdZdS(u_DeadlockErrorN(u__name__u __module__u __qualname__(u __locals__((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu_DeadlockErrorsu_DeadlockErrorcBsV|EeZdZdZddZddZddZdd Zd d Zd S( u _ModuleLockuA recursive lock implementation which is able to detect deadlocks (e.g. thread 1 trying to take locks A then B, and thread 2 trying to take locks B then A). cCsFtj|_tj|_||_d|_d|_d|_dS(Ni( u_threadu allocate_lockulockuwakeupunameuNoneuownerucountuwaiters(uselfuname((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu__init__s    u_ModuleLock.__init__cCsWtj}|j}x;tj|}|dkr7dS|j}||krdSqdS(NFT(u_threadu get_identuowneru _blocking_onugetuNoneuFalseuTrue(uselfumeutidulock((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu has_deadlocks     u_ModuleLock.has_deadlockcCstj}|t|.cbN(uNoneu _module_locksuKeyErroru_threadu_DummyModuleLocku _ModuleLocku_weakrefuref(unameulockucb((unameu9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu_get_module_lock s    u_get_module_lockc CsGt|}tjy|jWntk r8Yn X|jdS(uRelease the global import lock, and acquires then release the module lock for a given module name. This is used to ensure a module is completely initialized, in the event it is being imported by another thread. Should only be called with the import lock taken.N(u_get_module_locku_impu release_lockuacquireu_DeadlockErrorurelease(unameulock((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu_lock_unlock_modules   u_lock_unlock_modulecOs |||S(u.remove_importlib_frames in import.c will always remove sequences of importlib frames that end with a call to this function Use it instead of a normal call in places where including the importlib frames introduces unwanted noise into the traceback (e.g. when executing module code) ((ufuargsukwds((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu_call_with_frames_removed1su_call_with_frames_removedi u iu iccs|]}t|?d@VqdS(iN(u_RAW_MAGIC_NUMBER(u.0un((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu su iiiu __pycache__u.pyu.pycu.pyoc Cs|dkrtjj n|}|r.t}nt}t|\}}|jd\}}}tjj } | dkrt dndj ||| |dg} t |t | S(uGiven 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. u.u$sys.implementation.cache_tag is NoneuiN(uNoneusysuflagsuoptimizeuDEBUG_BYTECODE_SUFFIXESuOPTIMIZED_BYTECODE_SUFFIXESu _path_splitu partitionuimplementationu cache_taguNotImplementedErrorujoinu _path_joinu_PYCACHE( upathudebug_overrideudebugusuffixesuheadutailu base_filenameusepu_utagufilename((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyucache_from_sources    ucache_from_sourcecCstjjdkr!tdnt|\}}t|\}}|tkrltdjt|n|j ddkrtdj|n|j dd}t ||t dS(uyGiven 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. u$sys.implementation.cache_tag is Noneu%{} not bottom-level directory in {!r}u.iuexpected only 2 dots in {!r}iN( usysuimplementationu cache_taguNoneuNotImplementedErroru _path_splitu_PYCACHEu ValueErroruformatucountu partitionu _path_joinuSOURCE_SUFFIXES(upathuheadupycache_filenameupycacheu base_filename((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyusource_from_caches    usource_from_cachec Cst|dkrdS|jd\}}}| sQ|jdddkrU|Syt|}Wn(ttfk r|dd }YnXt|r|S|S( uConvert a bytecode file path to a source path (if possible). This function exists purely for backwards-compatibility for PyImport_ExecCodeModuleWithFilenames() in the C API. iu.iiupyNiii(ulenuNoneu rpartitionulowerusource_from_cacheuNotImplementedErroru ValueErroru _path_isfile(u bytecode_pathurestu_u extensionu source_path((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu_get_sourcefiles#u_get_sourcefileu verbosityicGsQtjj|krM|jds.d|}nt|j|dtjndS(u=Print the message to stderr if -v/PYTHONVERBOSE is turned on.u#uimport u# ufileN(u#uimport (usysuflagsuverboseu startswithuprintuformatustderr(umessageu verbosityuargs((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu_verbose_messages u_verbose_messagecs#fdd}t||S(u'Set __package__ on the returned module.cse||}t|dddkra|j|_t|dsa|jjdd|_qan|S(Nu __package__u__path__u.i(ugetattruNoneu__name__u __package__uhasattru rpartition(uargsukwargsumodule(ufxn(u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyuset_package_wrappers  u(set_package..set_package_wrapper(u_wrap(ufxnuset_package_wrapper((ufxnu9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu set_packages u set_packagecs#fdd}t||S(u&Set __loader__ on the returned module.cs1|||}t|ds-||_n|S(Nu __loader__(uhasattru __loader__(uselfuargsukwargsumodule(ufxn(u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyuset_loader_wrappers u&set_loader..set_loader_wrapper(u_wrap(ufxnuset_loader_wrapper((ufxnu9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu set_loaders u set_loadercs#fdd}t||S(u*Decorator to handle selecting the proper module for loaders. The decorated function is passed the module to use instead of the module name. The module passed in to the function is either from sys.modules if it already exists or is a new module. If the module is new, then __name__ is set the first argument to the method, __loader__ is set to self, and __package__ is set accordingly (if self.is_package() is defined) will be set before it is passed to the decorated function (if self.is_package() does not work for the module it will be set post-load). If an exception is raised and the decorator created the module it is subsequently removed from sys.modules. The decorator assumes that the decorated function takes the module name as the second argument. cstjj|}|dk }|st|}d|_|tj|<||_y|j|}Wnt t fk r|YqX|r||_ q|j dd|_ n d|_z<y||||SWn|stj|=nYnXWdd|_XdS(Nu.iTF(usysumodulesugetuNoneu new_moduleuTrueu__initializing__u __loader__u is_packageu ImportErroruAttributeErroru __package__u rpartitionuFalse(uselfufullnameuargsukwargsumoduleu is_reloadu is_package(ufxn(u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyumodule_for_loader_wrappers,         u4module_for_loader..module_for_loader_wrapper(u_wrap(ufxnumodule_for_loader_wrapper((ufxnu9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyumodule_for_loaders! umodule_for_loadercs&dfdd}t||S(uDecorator to verify that the module being requested matches the one the loader can handle. The first argument (self) must define _name which the second argument is compared against. If the comparison fails then ImportError is raised. csS|dkr|j}n(|j|kr@td|d|n||||S(Nuloader cannot handle %suname(uNoneunameu ImportError(uselfunameuargsukwargs(umethod(u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu_check_name_wrapperCs   u(_check_name.._check_name_wrapperN(uNoneu_wrap(umethodu_check_name_wrapper((umethodu9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu _check_name;s u _check_namecs#fdd}t||S(u1Decorator to verify the named module is built-in.cs:|tjkr-tdj|d|n||S(Nu{} is not a built-in moduleuname(usysubuiltin_module_namesu ImportErroruformat(uselfufullname(ufxn(u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu_requires_builtin_wrapperOs u4_requires_builtin.._requires_builtin_wrapper(u_wrap(ufxnu_requires_builtin_wrapper((ufxnu9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu_requires_builtinMs u_requires_builtincs#fdd}t||S(u/Decorator to verify the named module is frozen.cs:tj|s-tdj|d|n||S(Nu{} is not a frozen moduleuname(u_impu is_frozenu ImportErroruformat(uselfufullname(ufxn(u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu_requires_frozen_wrapperZs u2_requires_frozen.._requires_frozen_wrapper(u_wrap(ufxnu_requires_frozen_wrapper((ufxnu9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu_requires_frozenXs u_requires_frozencCsW|j|\}}|dkrSt|rSd}tj|j|dtn|S(uVTry to find a loader for the specified module by delegating to self.find_loader().u,Not importing directory {}: missing __init__iN(u find_loaderuNoneulenu _warningsuwarnuformatu ImportWarning(uselfufullnameuloaderuportionsumsg((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu_find_module_shimcs  u_find_module_shimcBs|EeZdZdZeddZedddZeee e ddZ ee dd Z ee d d Z ee d d ZdS(uBuiltinImporteruMeta path import for built-in modules. All methods are either class or static methods to avoid the need to instantiate the class. cCsdj|jS(Nu(uformatu__name__(uclsumodule((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu module_repr}suBuiltinImporter.module_reprcCs'|dk rdStj|r#|SdS(uqFind the built-in module. If 'path' is ever specified then the search is considered a failure. N(uNoneu_impu is_builtin(uclsufullnameupath((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu find_modules uBuiltinImporter.find_modulec CsX|tjk}yttj|SWn.| rL|tjkrLtj|=nYnXdS(uLoad a built-in module.N(usysumodulesu_call_with_frames_removedu_impu init_builtin(uclsufullnameu is_reload((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu load_modules uBuiltinImporter.load_modulecCsdS(u9Return None as built-in modules do not have code objects.N(uNone(uclsufullname((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyuget_codesuBuiltinImporter.get_codecCsdS(u8Return None as built-in modules do not have source code.N(uNone(uclsufullname((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu get_sourcesuBuiltinImporter.get_sourcecCsdS(u4Return False as built-in modules are never packages.F(uFalse(uclsufullname((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu is_packagesuBuiltinImporter.is_packageN(u__name__u __module__u __qualname__u__doc__u classmethodu module_repruNoneu find_moduleu set_packageu set_loaderu_requires_builtinu load_moduleuget_codeu get_sourceu is_package(u __locals__((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyuBuiltinImporterts  uBuiltinImportercBs|EeZdZdZeddZedddZeee e ddZ ee dd Z ee d d Z ee d d ZdS(uFrozenImporteruMeta path import for frozen modules. All methods are either class or static methods to avoid the need to instantiate the class. cCsdj|jS(Nu(uformatu__name__(uclsum((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu module_reprsuFrozenImporter.module_reprcCstj|r|SdS(uFind a frozen module.N(u_impu is_frozenuNone(uclsufullnameupath((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu find_modulesuFrozenImporter.find_modulec Csd|tjk}y ttj|}|`|SWn.| rX|tjkrXtj|=nYnXdS(uLoad a frozen module.N(usysumodulesu_call_with_frames_removedu_impu init_frozenu__file__(uclsufullnameu is_reloadum((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu load_modules uFrozenImporter.load_modulecCs tj|S(u-Return the code object for the frozen module.(u_impuget_frozen_object(uclsufullname((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyuget_codesuFrozenImporter.get_codecCsdS(u6Return None as frozen modules do not have source code.N(uNone(uclsufullname((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu get_sourcesuFrozenImporter.get_sourcecCs tj|S(u.Return True if the frozen module is a package.(u_impuis_frozen_package(uclsufullname((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu is_packagesuFrozenImporter.is_packageN(u__name__u __module__u __qualname__u__doc__u classmethodu module_repruNoneu find_moduleu set_packageu set_loaderu_requires_frozenu load_moduleuget_codeu get_sourceu is_package(u __locals__((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyuFrozenImportersuFrozenImportercBse|EeZdZdZdZdZd ZeddZ eddZ ed dd Z d S( uWindowsRegistryFinderuCMeta path finder for modules declared in the Windows registry. u;Software\Python\PythonCore\{sys_version}\Modules\{fullname}uASoftware\Python\PythonCore\{sys_version}\Modules\{fullname}\Debugc CsCytjtj|SWn%tk r>tjtj|SYnXdS(N(u_winreguOpenKeyuHKEY_CURRENT_USERu WindowsErroruHKEY_LOCAL_MACHINE(uclsukey((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu_open_registrys u$WindowsRegistryFinder._open_registrycCs|jr|j}n |j}|jd|dtjdd}y.|j|}tj|d}WdQXWnt k rdSYnX|S(Nufullnameu sys_versioniu( u DEBUG_BUILDuREGISTRY_KEY_DEBUGu REGISTRY_KEYuformatusysuversionu_open_registryu_winregu QueryValueu WindowsErroruNone(uclsufullnameu registry_keyukeyuhkeyufilepath((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu_search_registrys     u&WindowsRegistryFinder._search_registryc Cs|j|}|dkrdSytj|Wntk rHdSYnXx9tD].\}}|jt|rS|||SqSWdS(u"Find module named in the registry.N(u_search_registryuNoneu_osustatuOSErroru_get_supported_file_loadersuendswithutuple(uclsufullnameupathufilepathuloaderusuffixes((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu find_modules   u!WindowsRegistryFinder.find_moduleNF( u__name__u __module__u __qualname__u__doc__u REGISTRY_KEYuREGISTRY_KEY_DEBUGuFalseu DEBUG_BUILDu classmethodu_open_registryu_search_registryuNoneu find_module(u __locals__((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyuWindowsRegistryFindersuWindowsRegistryFindercBsJ|EeZdZdZddZddZedd ddZd S( u _LoaderBasicsuSBase class of common code needed by both SourceLoader and SourcelessFileLoader.cCsXt|j|d}|jddd}|jdd}|dkoW|dkS(uConcrete implementation of InspectLoader.is_package by checking if the path returned by get_filename has a filename of '__init__.py'.iu.iiu__init__(u _path_splitu get_filenameursplitu rpartition(uselfufullnameufilenameu filename_baseu tail_name((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu is_packagesu_LoaderBasics.is_packagec Cs|dd}|dd}|dd}|tkrsdj||}t|t|d|d|ntt|dkrdj|} t| t| n:t|dkrd j|} t| t| n|dk ryt|d } Wntk rYnGXt || krbd j|} t| t| d|d|ny|d d @} Wntk rYqXt || krtd j|d|d|qn|ddS(uReturn the marshalled bytes from bytecode, verifying the magic number, timestamp and source size along the way. If source_stats is None then skip the timestamp check. Niii ubad magic number in {!r}: {!r}unameupathubad timestamp in {}ubad size in {}umtimeubytecode is stale for {}usizel( u _MAGIC_BYTESuformatu_verbose_messageu ImportErrorulenuEOFErroruNoneuintuKeyErroru_r_long( uselfufullnameudatau bytecode_pathu source_statsumagicu raw_timestampuraw_sizeumsgumessageu source_mtimeu source_size((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu_bytes_from_bytecode"sD         u"_LoaderBasics._bytes_from_bytecodeu sourcelessc Cs|j}|j|}|j||_|sjyt|j|_Wqvtk rf|j|_YqvXn |j|_||_|j|rt |jdg|_ n|jj dd|_||_ t t||j|S(uRHelper for load_module able to handle either source or sourceless loading.iu.(u__name__uget_codeu get_filenameu__file__ucache_from_sourceu __cached__uNotImplementedErroru __package__u is_packageu _path_splitu__path__u rpartitionu __loader__u_call_with_frames_removeduexecu__dict__(uselfumoduleu sourcelessunameu code_object((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu _load_modulePs      u_LoaderBasics._load_moduleNF( u__name__u __module__u __qualname__u__doc__u is_packageu_bytes_from_bytecodeumodule_for_loaderuFalseu _load_module(u __locals__((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu _LoaderBasicss   .u _LoaderBasicscBsh|EeZdZddZddZddZddZd d Zd d Zd dZ dS(u SourceLoadercCs tdS(uyOptional method that returns the modification time (an int) for the specified path, where path is a str. N(uNotImplementedError(uselfupath((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu path_mtimejsuSourceLoader.path_mtimecCsi|j|d6S(urOptional method returning a metadata dict for the specified path to by the path (str). Possible keys: - 'mtime' (mandatory) is the numeric timestamp of last source code modification; - 'size' (optional) is the size in bytes of the source code. Implementing this method allows the loader to read bytecode files. umtime(u path_mtime(uselfupath((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu path_statsps uSourceLoader.path_statscCs|j||S(uOptional method which writes data (bytes) to a file path (a str). Implementing this method allows for the writing of bytecode files. The source path is needed in order to correctly transfer permissions (uset_data(uselfu source_pathu cache_pathudata((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu_cache_bytecode|suSourceLoader._cache_bytecodecCs tdS(uOptional method which writes data (bytes) to a file path (a str). Implementing this method allows for the writing of bytecode files. N(uNotImplementedError(uselfupathudata((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyuset_datasuSourceLoader.set_datac ,Cs>ddl}|j|}y|j|}Wn:tk rj}ztdd||WYdd}~XnXtj|j}y|j|}Wn:t k r}ztdd||WYdd}~XnXtj dd}y|j |j |dSWn:tk r9}ztdd||WYdd}~XnXdS(u4Concrete implementation of InspectLoader.get_source.iNu'source not available through get_data()unameuFailed to detect encodinguFailed to decode source fileT(utokenizeu get_filenameuget_datauIOErroru ImportErroru_iouBytesIOureadlineudetect_encodingu SyntaxErroruIncrementalNewlineDecoderuNoneuTrueudecodeuUnicodeDecodeError( uselfufullnameutokenizeupathu source_bytesuexcu readsourceuencodingunewline_decoder((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu get_sources&    uSourceLoader.get_sourcec -Cs4|j|}d }yt|}Wntk r?d }YnXy|j|}Wntk rgYnXt|d}y|j|}Wntk rYnXy|j||||}Wnt t fk rYnwXt d||t j |}t|tr&tj||t d||Sd} t | j|d|d||j|} tt| |ddd } t d|tj r0|d k r0|d k r0tt}|jt||jtt| |jt j| y$|j|||t d |Wq0tk r,Yq0Xn| S( uConcrete implementation of InspectLoader.get_code. Reading of bytecode requires path_stats to be implemented. To write bytecode, set_data must also be implemented. umtimeu {} matches {}ucode object from {}uNon-code object in {}unameupathuexecu dont_inheritu wrote {!r}NT(u get_filenameuNoneucache_from_sourceuNotImplementedErroru path_statsuintuget_datauIOErroru_bytes_from_bytecodeu ImportErroruEOFErroru_verbose_messageumarshaluloadsu isinstanceu _code_typeu_impu_fix_co_filenameuformatu_call_with_frames_removeducompileuTrueusysudont_write_bytecodeu bytearrayu _MAGIC_BYTESuextendu_w_longulenudumpsu_cache_bytecode( uselfufullnameu source_pathu source_mtimeu bytecode_pathustudatau bytes_dataufoundumsgu source_bytesu code_object((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyuget_codesb             uSourceLoader.get_codecCs |j|S(uConcrete implementation of Loader.load_module. Requires ExecutionLoader.get_filename and ResourceLoader.get_data to be implemented to load source code. Use of bytecode is dictated by whether get_code uses/writes bytecode. (u _load_module(uselfufullname((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu load_modulesuSourceLoader.load_moduleN( u__name__u __module__u __qualname__u path_mtimeu path_statsu_cache_bytecodeuset_datau get_sourceuget_codeu load_module(u __locals__((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu SourceLoaderhs   >u SourceLoadercs\|EeZdZdZddZefddZeddZdd ZS( u FileLoaderugBase file loader class which implements the loader protocol methods that require file system usage.cCs||_||_dS(uKCache the module name and the path to the file found by the finder.N(unameupath(uselfufullnameupath((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu__init__s uFileLoader.__init__cstt|j|S(uLoad a module from a file.(usuperu FileLoaderu load_module(uselfufullname(u __class__(u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu load_modulesuFileLoader.load_modulecCs|jS(u:Return the path to the source file as found by the finder.(upath(uselfufullname((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu get_filenamesuFileLoader.get_filenamecCs)tj|d}|jSWdQXdS(u'Return the data from path as raw bytes.urN(u_iouFileIOuread(uselfupathufile((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyuget_datasuFileLoader.get_data( u__name__u __module__u __qualname__u__doc__u__init__u _check_nameu load_moduleu get_filenameuget_data(u __locals__((u __class__u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu FileLoaders  u FileLoadercBsD|EeZdZdZddZddZdddd Zd S( uSourceFileLoaderu>Concrete implementation of SourceLoader using the file system.cCs'tj|}i|jd6|jd6S(u!Return the metadata for the path.umtimeusize(u_osustatust_mtimeust_size(uselfupathust((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu path_statssuSourceFileLoader.path_statsc CsQytj|j}Wntk r0d}YnX|dO}|j||d|S(Niiu_mode(u_osustatust_modeuOSErroruset_data(uselfu source_pathu bytecode_pathudataumode((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu_cache_bytecodes    u SourceFileLoader._cache_bytecodeu_modeic Cs5t|\}}g}x6|rPt| rPt|\}}|j|qWxt|D]v}t||}ytj|Wq^tk rw^Yq^tk r}zt d||dSWYdd}~Xq^Xq^Wy!t |||t d|Wn5tk r0}zt d||WYdd}~XnXdS(uWrite bytes data to a file.ucould not create {!r}: {!r}Nu created {!r}( u _path_splitu _path_isdiruappendureversedu _path_joinu_osumkdiruFileExistsErroruOSErroru_verbose_messageu _write_atomic( uselfupathudatau_modeuparentufilenameu path_partsupartuexc((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyuset_datas& uSourceFileLoader.set_dataN(u__name__u __module__u __qualname__u__doc__u path_statsu_cache_bytecodeuset_data(u __locals__((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyuSourceFileLoader s  uSourceFileLoadercBs>|EeZdZdZddZddZddZdS( uSourcelessFileLoaderu-Loader which handles sourceless file imports.cCs|j|ddS(Nu sourcelessT(u _load_moduleuTrue(uselfufullname((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu load_module@su SourcelessFileLoader.load_modulecCs|j|}|j|}|j|||d}tj|}t|tretd||St dj |d|d|dS(Nucode object from {!r}uNon-code object in {}unameupath( u get_filenameuget_datau_bytes_from_bytecodeuNoneumarshaluloadsu isinstanceu _code_typeu_verbose_messageu ImportErroruformat(uselfufullnameupathudatau bytes_dataufound((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyuget_codeCs uSourcelessFileLoader.get_codecCsdS(u'Return None as there is no source code.N(uNone(uselfufullname((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu get_sourceOsuSourcelessFileLoader.get_sourceN(u__name__u __module__u __qualname__u__doc__u load_moduleuget_codeu get_source(u __locals__((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyuSourcelessFileLoader<s  uSourcelessFileLoadercBsh|EeZdZdZddZeeeddZddZ dd Z d d Z d S( uExtensionFileLoaderu]Loader for extension modules. The constructor is designed to work with FileFinder. cCs||_||_dS(N(unameupath(uselfunameupath((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu__init__`s uExtensionFileLoader.__init__c Cs|tjk}ykttj||j}td|j|j|rut|d rut |jdg|_ n|SWn.| r|tjkrtj|=nYnXdS(uLoad an extension module.u!extension module loaded from {!r}u__path__iN( usysumodulesu_call_with_frames_removedu_impu load_dynamicupathu_verbose_messageu is_packageuhasattru _path_splitu__path__(uselfufullnameu is_reloadumodule((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu load_moduleds  uExtensionFileLoader.load_modulecs0t|jdtfddtDS(u1Return True if the extension module is a package.ic3s|]}d|kVqdS(u__init__N((u.0usuffix(u file_name(u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu ysu1ExtensionFileLoader.is_package..(u _path_splitupathuanyuEXTENSION_SUFFIXES(uselfufullname((u file_nameu9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu is_packagevsuExtensionFileLoader.is_packagecCsdS(u?Return None as an extension module cannot create a code object.N(uNone(uselfufullname((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyuget_code|suExtensionFileLoader.get_codecCsdS(u5Return None as extension modules have no source code.N(uNone(uselfufullname((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu get_sourcesuExtensionFileLoader.get_sourceN( u__name__u __module__u __qualname__u__doc__u__init__u _check_nameu set_packageu set_loaderu load_moduleu is_packageuget_codeu get_source(u __locals__((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyuExtensionFileLoaderXs   uExtensionFileLoadercBs|EeZdZdZddZddZddZdd Zd d Zd d Z ddZ ddZ ddZ dS(u_NamespacePathu&Represents a namespace package's path. It uses the module name to find its parent module, and from there it looks up the parent's __path__. When this changes, the module's own path is recomputed, using path_finder. For top-level modules, the parent module's path is sys.path.cCs4||_||_t|j|_||_dS(N(u_nameu_pathutupleu_get_parent_pathu_last_parent_pathu _path_finder(uselfunameupathu path_finder((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu__init__s  u_NamespacePath.__init__cCs5|jjd\}}}|dkr+dS|dfS(u>Returns a tuple of (parent-module-name, parent-path-attr-name)u.uusysupathu__path__(usysupath(u_nameu rpartition(uselfuparentudotume((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu_find_parent_path_namess u&_NamespacePath._find_parent_path_namescCs&|j\}}ttj||S(N(u_find_parent_path_namesugetattrusysumodules(uselfuparent_module_nameupath_attr_name((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu_get_parent_pathsu_NamespacePath._get_parent_pathcCsgt|j}||jkr`|j|j|\}}|dkrT||_n||_n|jS(N(utupleu_get_parent_pathu_last_parent_pathu _path_finderu_nameuNoneu_path(uselfu parent_pathuloaderunew_path((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu _recalculates   u_NamespacePath._recalculatecCst|jS(N(uiteru _recalculate(uself((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu__iter__su_NamespacePath.__iter__cCst|jS(N(ulenu _recalculate(uself((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu__len__su_NamespacePath.__len__cCsdj|jS(Nu_NamespacePath({!r})(uformatu_path(uself((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu__repr__su_NamespacePath.__repr__cCs||jkS(N(u _recalculate(uselfuitem((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu __contains__su_NamespacePath.__contains__cCs|jj|dS(N(u_pathuappend(uselfuitem((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyuappendsu_NamespacePath.appendN( u__name__u __module__u __qualname__u__doc__u__init__u_find_parent_path_namesu_get_parent_pathu _recalculateu__iter__u__len__u__repr__u __contains__uappend(u __locals__((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu_NamespacePaths      u_NamespacePathcBsD|EeZdZddZeddZeddZdS(uNamespaceLoadercCst||||_dS(N(u_NamespacePathu_path(uselfunameupathu path_finder((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu__init__suNamespaceLoader.__init__cCsdj|jS(Nu(uformatu__name__(uclsumodule((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu module_reprsuNamespaceLoader.module_reprcCs td|j|j|_|S(uLoad a namespace module.u&namespace module loaded with path {!r}(u_verbose_messageu_pathu__path__(uselfumodule((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu load_modules uNamespaceLoader.load_moduleN(u__name__u __module__u __qualname__u__init__u classmethodu module_reprumodule_for_loaderu load_module(u __locals__((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyuNamespaceLoaders uNamespaceLoadercBsw|EeZdZdZeddZeddZeddZedd Zed d d Z d S( u PathFinderu>Meta path finder for sys.path and package __path__ attributes.cCs:x3tjjD]"}t|dr|jqqWdS(u}Call the invalidate_caches() method on all path entry finders stored in sys.path_importer_caches (where implemented).uinvalidate_cachesN(usysupath_importer_cacheuvaluesuhasattruinvalidate_caches(uclsufinder((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyuinvalidate_cachessuPathFinder.invalidate_cachesc Cs^tjstjdtnx;tjD],}y||SWq&tk rQw&Yq&Xq&WdSdS(uqSearch sequence of hooks for a finder for 'path'. If 'hooks' is false then use sys.path_hooks. usys.path_hooks is emptyN(usysu path_hooksu _warningsuwarnu ImportWarningu ImportErroruNone(uclsupathuhook((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu _path_hookss   uPathFinder._path_hooksc Cs[|dkrd}nytj|}Wn.tk rV|j|}|tj|8su&FileFinder.__init__..u.iNi(uextendu_loadersupathu _path_mtimeusetu _path_cacheu_relaxed_path_cache(uselfupathuloader_detailsuloadersusuffixes((uloaderu9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu__init__2s$   uFileFinder.__init__cCs d|_dS(uInvalidate the directory mtime.iNi(u _path_mtime(uself((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyuinvalidate_caches@suFileFinder.invalidate_cachesc Csd}|jdd}ytj|jj}Wntk rLd }YnX||jkrr|j||_nt r|j }|j }n|j }|}||kr-t |j|}t|r-x[|jD]G\}} d|} t || } t| r| || |gfSqWd }q-nxx|jD]m\}} t |j||} tdj| dd|||kr7t| r| || gfSq7q7W|rtdj|d |gfSd gfS( u}Try to find a loader for the specified module, or the namespace package portions. Returns (loader, list-of-portions).u.iiu__init__u trying {}u verbosityupossible namespace for {}FiTN(uFalseu rpartitionu_osustatupathust_mtimeuOSErroru _path_mtimeu _fill_cacheu _relax_caseu_relaxed_path_cacheuloweru _path_cacheu _path_joinu _path_isdiru_loadersu _path_isfileuTrueu_verbose_messageuformatuNone( uselfufullnameu is_namespaceu tail_moduleumtimeucacheu cache_moduleu base_pathusuffixuloaderu init_filenameu full_path((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu find_loaderFsB              uFileFinder.find_loaderc Cs|j}ytj|}Wn!tttfk r?g}YnXtjjdsdt ||_ not }xZ|D]R}|j d\}}}|rdj ||j }n|}|j|qtW||_ tjjtrt dd|D|_ndS(uDFill the cache of potential modules and packages for this directory.uwinu.u{}.{}css|]}|jVqdS(N(ulower(u.0ufn((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu su)FileFinder._fill_cache..N(upathu_osulistdiruFileNotFoundErroruPermissionErroruNotADirectoryErrorusysuplatformu startswithusetu _path_cacheu partitionuformatuloweruaddu_CASE_INSENSITIVE_PLATFORMSu_relaxed_path_cache( uselfupathucontentsulower_suffix_contentsuitemunameudotusuffixunew_name((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu _fill_cachers"     uFileFinder._fill_cachecsfdd}|S(uA class method which returns a closure to use on sys.path_hook which will return an instance using the specified loaders and the path called on the closure. If the path called on the closure is not a directory, ImportError is raised. cs.t|s!tdd|n|S(u-Path hook for importlib.machinery.FileFinder.uonly directories are supportedupath(u _path_isdiru ImportError(upath(uclsuloader_details(u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyupath_hook_for_FileFinders u6FileFinder.path_hook..path_hook_for_FileFinder((uclsuloader_detailsupath_hook_for_FileFinder((uclsuloader_detailsu9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu path_hooks uFileFinder.path_hookcCsd|jfS(NuFileFinder(%r)(upath(uself((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu__repr__suFileFinder.__repr__N( u__name__u __module__u __qualname__u__doc__u__init__uinvalidate_cachesu_find_module_shimu find_moduleu find_loaderu _fill_cacheu classmethodu path_hooku__repr__(u __locals__((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu FileFinder)s   , u FileFindercBs2|EeZdZdZddZddZdS(u_ImportLockContextu$Context manager for the import lock.cCstjdS(uAcquire the import lock.N(u_impu acquire_lock(uself((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu __enter__su_ImportLockContext.__enter__cCstjdS(u<Release the import lock regardless of any raised exceptions.N(u_impu release_lock(uselfuexc_typeu exc_valueu exc_traceback((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu__exit__su_ImportLockContext.__exit__N(u__name__u __module__u __qualname__u__doc__u __enter__u__exit__(u __locals__((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu_ImportLockContexts u_ImportLockContextcCs[|jd|d}t||kr7tdn|d}|rWdj||S|S(u2Resolve a relative module name to an absolute one.u.iu2attempted relative import beyond top-level packageiu{}.{}(ursplitulenu ValueErroruformat(unameupackageulevelubitsubase((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu _resolve_names  u _resolve_namec CstjstjdtnxgtjD]X}t|j||}WdQX|dk r&|tjkrm|Stj|j Sq&q&WdSdS(uFind a module's loader.usys.meta_path is emptyN( usysu meta_pathu _warningsuwarnu ImportWarningu_ImportLockContextu find_moduleuNoneumodulesu __loader__(unameupathufinderuloader((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu _find_modules   u _find_modulecCst|ts-tdjt|n|dkrHtdn|rt|tsltdq|tjkrd}t|j|qn| r|dkrtdndS(uVerify arguments are "sane".umodule name must be str, not {}iulevel must be >= 0u__package__ not set to a stringu=Parent module {!r} not loaded, cannot perform relative importuEmpty module nameN( u isinstanceustru TypeErroruformatutypeu ValueErrorusysumodulesu SystemError(unameupackageulevelumsg((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu _sanity_checks u _sanity_checkuNo module named {!r}c Cs d}|jdd}|r|tjkr>t||n|tjkrXtj|Stj|}y |j}Wqtk rtdj||}t |d|YqXnt ||}|dkrt tj|d|}d |_ |n/|tjkr)|j |td||ntj|}|ritj|}t||jdd|nt|dddkry;|j|_t|ds|jjdd|_nWqtk rYqXnt|d sy ||_Wqtk rYqXn|S( Nu.iu; {} is not a packageunameuimport {!r} # {!r}iu __package__u__path__u __loader__T(uNoneu rpartitionusysumodulesu_call_with_frames_removedu__path__uAttributeErroru_ERR_MSGuformatu ImportErroru _find_moduleuTrueu _not_foundu load_moduleu_verbose_messageusetattrugetattru__name__u __package__uhasattru __loader__( unameuimport_upathuparentu parent_moduleumsguloaderuexcumodule((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu_find_and_load_unlockedsL                u_find_and_load_unlockedcCsKzt|}WdtjX|jzt||SWd|jXdS(u6Find and load the module, and release the import lock.N(u_get_module_locku_impu release_lockuacquireu_find_and_load_unlockedurelease(unameuimport_ulock((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu_find_and_loads  u_find_and_loadcCst||||dkr1t|||}ntj|tjkrWt|tStj|}|dkrtj dj |}t |d|nt ||S(u2Import and return the module based on its name, the package the call is being made from, and the level adjustment. This function represents the greatest common denominator of functionality between import_module and __import__. This includes setting __package__ if the loader did not. iu(import of {} halted; None in sys.modulesunameN( u _sanity_checku _resolve_nameu_impu acquire_lockusysumodulesu_find_and_loadu _gcd_importuNoneu release_lockuformatu ImportErroru_lock_unlock_module(unameupackageulevelumoduleumessage((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu _gcd_import"s         u _gcd_importcCst|drd|krYt|}|jdt|drY|j|jqYnx|D]}t||s`dj|j|}yt||Wqtk r}z2t |ddr|j |krw`qnWYdd}~XqXq`q`Wn|S(uFigure out what __import__ should return. The import_ parameter is a callable which takes the name of module to import. It is required to decouple the function from assuming importlib's import implementation is desired. u__path__u*u__all__u{}.{}u _not_foundNF( uhasattrulisturemoveuextendu__all__uformatu__name__u_call_with_frames_removedu ImportErrorugetattruFalseuname(umoduleufromlistuimport_uxu from_nameuexc((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu_handle_fromlist:s"       u_handle_fromlistcCsN|jd}|dkrJ|d}d|krJ|jdd}qJn|S(uCalculate what __package__ should be. __package__ is not guaranteed to be defined or could be set to None to represent that its proper value is unknown. u __package__u__name__u__path__u.iN(ugetuNoneu rpartition(uglobalsupackage((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu_calc___package__\s    u_calc___package__cCs7ttjf}ttf}ttf}|||gS(u_Returns a list of file-based module loaders. Each item is a tuple (loader, suffixes). (uExtensionFileLoaderu_impuextension_suffixesuSourceFileLoaderuSOURCE_SUFFIXESuSourcelessFileLoaderuBYTECODE_SUFFIXES(u extensionsusourceubytecode((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu_get_supported_file_loadersks  u_get_supported_file_loadersc Cs|dkrt|}n6|dk r-|ni}t|}t|||}|s|dkrzt|jddS|s|St|t|jdd}tj|jdt|j|Snt||tSdS(uImport a module. The 'globals' argument is used to infer where the import is occuring from to handle relative imports. The 'locals' argument is ignored. The 'fromlist' argument specifies what should exist as attributes on the module being imported (e.g. ``from module import ``). The 'level' argument represents the package location to import from in a relative import (e.g. ``from ..pkg import mod`` would have a 'level' of 2). iu.N( u _gcd_importuNoneu_calc___package__u partitionulenusysumodulesu__name__u_handle_fromlist( unameuglobalsulocalsufromlistulevelumoduleuglobals_upackageucut_off((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu __import__vs   #(u __import__c Cs|a|atjjr!tantatt}xwtjj D]f\}}t ||rCt |ds|tj krt |_qtj|rt|_qqqCqCWtjt}xLdD]D}|tjkrt j|}n tj|}t|||qWddgfdd dgfd d dgff}x|D]\} } td d | Dskt| d } | tjkrtj| } Pq@y<t j| } | d krdtjkr| d} nPWq@tk rw@Yq@Xq@Wtdyt jd} Wntk r&d} YnXt jd}| dkrdt jd}t|d|nt|d| t|d| t|d|t|d| t|dt| t|dttjtj| dkrtjddtkrdt!_"qndS(uSetup importlib by importing needed built-in modules and injecting them into the global namespace. As sys is needed for sys.modules access and _imp is needed to load built-in modules, those two modules must be explicitly passed in. u __loader__u_iou _warningsubuiltinsumarshaluposixu/untu\uos2css!|]}t|dkVqdS(iN(ulen(u.0usep((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu su_setup..iuEMX GCCiuimportlib requires posix or ntu_threadu_weakrefuwinregu_winregu_osupath_sepupath_separatorsu _relax_caseu.pywu_d.pydN(u_iou _warningsubuiltinsumarshalT(#u_impusysuflagsuoptimizeuOPTIMIZED_BYTECODE_SUFFIXESuBYTECODE_SUFFIXESuDEBUG_BYTECODE_SUFFIXESutypeumodulesuitemsu isinstanceuhasattrubuiltin_module_namesuBuiltinImporteru __loader__u is_frozenuFrozenImporteru__name__u load_moduleusetattrualluAssertionErroruversionu ImportErroruNoneusetu_make_relax_caseuEXTENSION_SUFFIXESuextenduextension_suffixesuSOURCE_SUFFIXESuappenduTrueuWindowsRegistryFinderu DEBUG_BUILD(u sys_moduleu _imp_moduleu module_typeunameumoduleu self_moduleu builtin_nameubuiltin_moduleu os_detailsu builtin_osupath_separatorsupath_sepu os_moduleu thread_moduleuweakref_moduleu winreg_module((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu_setupsj        0            u_setupcCst||t}tjjtj|gtjjt tjjt t j dkrttjjt ntjjtdS(u2Install importlib as the implementation of import.untN(u_setupu_get_supported_file_loadersusysu path_hooksuextendu FileFinderu path_hooku meta_pathuappenduBuiltinImporteruFrozenImporteru_osu__name__uWindowsRegistryFinderu PathFinder(u sys_moduleu _imp_moduleusupported_loaders((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyu_installs  u_installN(uwinucygwinudarwin(Ju__doc__u_CASE_INSENSITIVE_PLATFORMSu_make_relax_caseu_w_longu_r_longu _path_joinu _path_splitu_path_is_mode_typeu _path_isfileu _path_isdiru _write_atomicu_wraputypeu__code__u _code_typeu new_moduleu _module_locksu _blocking_onu RuntimeErroru_DeadlockErroru _ModuleLocku_DummyModuleLocku_get_module_locku_lock_unlock_moduleu_call_with_frames_removeduordu_RAW_MAGIC_NUMBERubytesurangeu _MAGIC_BYTESu_PYCACHEuSOURCE_SUFFIXESuDEBUG_BYTECODE_SUFFIXESuOPTIMIZED_BYTECODE_SUFFIXESuNoneucache_from_sourceusource_from_cacheu_get_sourcefileu_verbose_messageu set_packageu set_loaderumodule_for_loaderu _check_nameu_requires_builtinu_requires_frozenu_find_module_shimuBuiltinImporteruFrozenImporteruWindowsRegistryFinderu _LoaderBasicsu SourceLoaderu FileLoaderuSourceFileLoaderuSourcelessFileLoaderuEXTENSION_SUFFIXESuExtensionFileLoaderu_NamespacePathuNamespaceLoaderu PathFinderu FileFinderu_ImportLockContextu _resolve_nameu _find_moduleu _sanity_checku_ERR_MSGu_find_and_load_unlockedu_find_and_loadu _gcd_importu_handle_fromlistu_calc___package__u_get_supported_file_loadersu __import__u_setupu_install(((u9/opt/alt/python33/lib64/python3.3/importlib/_bootstrap.pyus     D   d"%      7  962S1-7[   2  "  $ O