File: //proc/self/root/usr/local/lib/python3.10/dist-packages/setuptools/__pycache__/_imp.cpython-310.pyc
o
��h� � @ sl d Z ddlZddlZddlZddlZddlmZ dZdZdZ dZ
dZd d
� Zddd�Z
dd
d�Zdd� ZdS )zX
Re-implementation of find_module and get_frozen_object
from the deprecated imp module.
� N)�module_from_spec� � � � � c C s( t |t�rtj�� jntjj}|| |�S �N)�
isinstance�list� importlib� machinery�
PathFinder� find_spec�util)�module�paths�finder� r �:/usr/local/lib/python3.10/dist-packages/setuptools/_imp.pyr s
��
r c C sJ t | |�}|du rtd| � ���|js t|d�r tj�d|j�}d}d}t|jt �}|j
dks9|rBt|jtjj
�rBt}d}d }}n[|j
dksQ|rZt|jtjj�rZt}d}d }}nC|jr�|j
}tj�|�d }|tjjv rpd
nd}|tjjv r�t}t�|�}n|tjjv r�t}t|d�}n|tjjv r�t}nd}d }}|||||ffS )z7Just like 'imp.find_module()', but with package supportN�Can't find �submodule_search_locationsz__init__.py����frozen� zbuilt-inr �r�rb)r �ImportError�has_location�hasattrr r �spec_from_loader�loaderr �type�origin�
issubclassr �FrozenImporter� PY_FROZEN�BuiltinImporter� C_BUILTIN�os�path�splitext�SOURCE_SUFFIXES� PY_SOURCE�tokenize�open�BYTECODE_SUFFIXES�PY_COMPILED�EXTENSION_SUFFIXES�C_EXTENSION) r r �spec�kind�file�staticr) �suffix�moder r r �find_module sP
��
��
�r9 c C s( t | |�}|std| � ���|j�| �S �Nr )r r r �get_code)r r r3 r r r �get_frozen_objectL s
r<