o
    4f                     @   s   d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlmZm	Z	m
Z
 ddlmZmZ ddlmZ eejef Zdd Zdd	 Zd
d Zdd Zdd Zdd ZejdddZejdd Zeejejdd ZdS )    N)UnionAnyOptional   )ResourceReaderTraversable)	wrap_specc                 C   s   	 t t| S N)from_packageget_package)package r   c/home/ych/rk3568/buildroot/output/rockchip_rk3568_recovery/host/lib/python3.10/importlib/_common.pyfiles   s   r   c                 C   s0   	 t | }tj|\}}|rt| d|S )Nz must be only a file name)strospathsplit
ValueError)r   Zstr_pathparent	file_namer   r   r   normalize_path   s   r   c                 C   s,   	 | j }t|jdd }|d u rd S ||jS )Nget_resource_reader)__spec__getattrloadernamer   specreaderr   r   r   r   &   s   
r   c                 C   s   t | tjr| S t| S r	   )
isinstancetypes
ModuleType	importlibimport_module)Zcandr   r   r   resolve7   s   r%   c                 C   s*   	 t | }t|jd u rt| d|S )Nz is not a package)r%   r   submodule_search_locations	TypeError)r   Zresolvedr   r   r   r   <   s
   r   c                 C   s    	 t | }|j|j}| S r	   )r   r   r   r   r   r   r   r   r   r
   H   s   r
    c                 c   s    t j|d\}}z't||   t| ~ t|V  W zt| W d S  ty0   Y d S w zt| W w  tyA   Y w w N)suffix)	tempfilemkstempr   writeclosepathlibPathremoveFileNotFoundError)r   r*   fdZraw_pathr   r   r   	_tempfileR   s"   
r4   c                 C   s   	 t | j| jdS r)   )r4   
read_bytesr   r   r   r   r   as_filed   s   r7   c                 c   s    	 | V  d S r	   r   r6   r   r   r   _m   s   
r8   )r(   ) r   r/   r+   	functools
contextlibr!   r#   typingr   r   r   abcr   r   Z	_adaptersr   r"   r   ZPackager   r   r   r%   r   r
   contextmanagerr4   singledispatchr7   registerr0   r8   r   r   r   r   <module>   s0    


