File: //usr/lib64/python3.6/__pycache__/pkgutil.cpython-36.opt-2.pyc
3
  \CS  �               @   st  d dl mZ d dlmZ d dlZd dlZd dlZd dlZd dl	Zd dl
Z
d dlmZ d dl
Z
ddddd	d
ddd
dddgZedd�Zde_dd� Zdd� Zd*dd	�Zd+dd
�Zed,dd��Zd-dd�Zejejje� dd� ZG dd� d�ZG d d
� d
�Zy.d dlZd d!lmZ d.d"d#�Zejee� W n e k
�r<   Y nX d$d� Z!d/d%d�Z"d&d� Z#d'd� Z$d(d� Z%d)d� Z&dS )0�    )�
namedtuple)�singledispatchN)�
ModuleType�get_importer�iter_importers�
get_loader�find_loader�
walk_packages�iter_modules�get_data�ImpImporter�	ImpLoader�	read_code�extend_path�
ModuleInfozmodule_finder name ispkgz.A namedtuple with minimal info about a module.c             C   sL   y
| j }W n4 tk
r>   | j|�}|d kr0d S tjj||�S X ||�S d S )N)�	find_spec�AttributeError�find_module�	importlib�util�spec_from_loader)�finder�namer   �loader� r   �/usr/lib64/python3.6/pkgutil.py�	_get_spec   s    
r   c             C   s6   dd l }| jd�}|tjjkr"d S | jd� |j| �S )Nr   �   �   )�marshal�readr   r   �MAGIC_NUMBER�load)�streamr   �magicr   r   r   r   (   s    
� c          
   #   s�   i fdd�� x�t | |�D ]�}|V  |jryt|j� W nN tk
r\   |d k	rX||j� Y q tk
r�   |d k	r~||j� n� Y qX ttj|j dd �p�g } � fdd�| D �} t	| |jd |�E d H  qW d S )Nc             S   s   | |krdS d|| <