U
    d                     @   s@   d dl Z d dlZdZdd Zdd Zdd Zd	d
 Zdd ZdS )    N))z/__init__.pyT)z.pyFc                 C   s   |  dd} |  dd} | S )Ns   
   
   )replace)source r   </tmp/pip-unpacked-wheel-ua33x9lu/torch/package/_importlib.py_normalize_line_endings   s    r   c                 C   s@   | d|d }t||k r$td|d }| r<d|| S |S )z2Resolve a relative module name to an absolute one..   z2attempted relative import beyond top-level packager   z{}.{})rsplitlen
ValueErrorformat)namepackagelevelbitsbaser   r   r   _resolve_name   s
    r   c                 C   sl   t | tstdt| |dk r,td|dkrTt |tsHtdn|sTtd| sh|dkrhtddS )zVerify arguments are "sane".zmodule name must be str, not {}r   zlevel must be >= 0z__package__ not set to a stringz6attempted relative import with no known parent packagezEmpty module nameN)
isinstancestr	TypeErrorr   typer   ImportError)r   r   r   r   r   r   _sanity_check$   s    


r   c                 C   s   |  d}|  d}|dk	rR|dk	rN||jkrNtjd|d|jdtdd |S |dk	r`|jS tjd	tdd | d
 }d| kr|dd }|S )zCalculate 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.

    __package____spec__Nz __package__ != __spec__.parent (z != )   )
stacklevelzYcan't resolve package from __spec__ or __package__, falling back on __name__ and __path____name____path__r	   r   )getparent	_warningswarnImportWarning
rpartition)globalsr   specr   r   r   _calc___package__5   s*    

r*   c                 C   s,   t j| \}}|r$td| n|S dS )zNormalize a path by ensuring it is a string.

    If the resulting string contains path separators, an exception is raised.
    z{!r} must be only a file nameN)ospathsplitr   r   )r,   r#   	file_namer   r   r   _normalize_pathU   s    r/   )	r$   os.pathr+   _zip_searchorderr   r   r   r*   r/   r   r   r   r   <module>   s   	 