a i9, @ s( d dl mZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlm Z d dlm Z d d lmZ d d lmZ d dlm Z dd lmZ ddlZddlZddlZddlZddlZdd Zdd Zd#ddZd$ddZedd Zdd Zdd Zdd ZG dd d ejZG d!d" d"ejZ dS )% )abc)module_from_spec) _resolve_name)spec_from_loader) _find_spec)MAGIC_NUMBER)_RAW_MAGIC_NUMBER)cache_from_source) decode_source)source_from_cache)spec_from_file_location )contextmanagerNc C s t t| S N)_impsource_hashr )source_bytes r &/usr/lib64/python3.9/importlib/util.pyr s r c C s\ | ds| S |s&tdt| dd}| D ]}|dkr> qH|d7 }q.t| |d ||S )N.zno package specified for z% (required for relative module names)r r ) startswithImportErrorreprr )namepackagelevel characterr r r resolve_name s r c C sv | t jvrt| |S t j| }|d u r*d S z |j}W n" tyV td| d Y n0 |d u rntd| |S d S )N{}.__spec__ is not set{}.__spec__ is None)sysmodulesr __spec__AttributeError ValueErrorformat)r pathmodulespecr r r _find_spec_from_path* s r) c C s | drt| |n| }|tjvr|dd }|rt|dgd}z |j}W q ty } z&td|d||d|W Y d }~qd }~0 0 nd }t ||S tj| }|d u rd S z |j }W n" ty td| d Y n0 |d u rtd | |S d S ) Nr r __path__)fromlistz __path__ attribute not found on z while trying to find )r r r ) r r r r! rpartition __import__r* r# ModuleNotFoundErrorr r" r$ r% ) r r fullnameparent_nameparentparent_pather' r( r r r find_specI s8 r4 c c s | t jv }t j| }|s6tt | }d|_|t j| <