File: //opt/alt/python38/lib64/python3.8/site-packages/psutil/__pycache__/_compat.cpython-38.opt-1.pyc
U
xe�_�8 � @ s� d Z ddlZddlZddlZddlZddlZddlZddddddd d
ddd
ddddddgZejd dkZ e
� Ze r�eZ
eZeZeZeZdd � Zdd
� Zn e
Z
eZeZeZdd � Zdd
� Ze r�eZneZeedfdd�Ze r�eZeZeZeZeZeZn�ddlZefdd�Zee �dd� �Zee �dd� �Zee �dd� �Zee �d d� �Zee �d!d� �Zee �d"d� �Ze�!� d#k�r�ze"ej#d$��W n2 ek
�r� Y n e"k
�r� e$d%��Y nX zdd&lm%Z% W n� e&k
�rl zdd'l'm(Z( W n" e&k
�r dd'l)m(Z( Y nX e�*d(d)d*d+d,g�Z+G d-d.� d.e,�Z-e
� fe.eee/e0d�f�e1e2e0e3fd/d0�Z4d9d3d�Z%Y nX zdd4l5m6Z6 W n, e&k
�r� ej7ej8B dfd5d�Z6Y nX zdd6l5m9Z9 W n e&k
�r� d:d8d
�Z9Y nX dS );z�Module which provides compatibility with older Python versions.
This is more future-compatible rather than the opposite (prefer latest
Python 3 way of doing things).
� N�PY3�long�range�super�unicode�
basestring�u�b� lru_cache�which�get_terminal_size�FileNotFoundError�PermissionError�ProcessLookupError�InterruptedError�ChildProcessError�FileExistsError� c C s | S �N� ��sr r �A/opt/alt/python38/lib64/python3.8/site-packages/psutil/_compat.pyr + s c C s
| � d�S )Nzlatin-1)�encoder r r r r . s c C s
t | d�S )NZunicode_escape)r r r r r r 6 s c C s | S r r r r r r r 9 s � c C sb | t k�rFt�|�}z|j|jjd }W n ttfk
rJ td��Y nX z
|j }W nB t
tfk
r� z|jj }W n t
k
r� td��Y nX Y nX |D ]�} | j�
� D ]�}zPt|tj�s�t|t�r�|j}q�z
|j}W q� t
k
r� |�|| �}Y q�X q�W n t
tfk
�r Y q�Y nX |j|jkr� �q6q�q� �qFq�td��|t k �rZt| |�S t| �S )zuLike Python 3 builtin super(). If called without any arguments
it attempts to infer them at runtime.
r z'super() used in a function with no argsz$super() used in a non-newstyle classzsuper() called outside a method)� _SENTINEL�sys� _getframe�f_locals�f_code�co_varnames�
IndexError�KeyError�RuntimeError�__mro__�AttributeError� __class__�__dict__�values�
isinstance�types�FunctionType�property�fget�__func__�__get__� TypeErrorZ func_code�_builtin_super)Ztype_Ztype_or_objZ
framedepth�f�mroZmethr r r r H sB
c s � fdd�}|S )Nc s* G � �fdd�d��� �j � _ �j� _� S )Nc s2 e Zd Z�� fdd�ZG �fdd�de�Z� ZS )zE_instance_checking_exception.<locals>.wrapped.<locals>.TemporaryClassc sd t |�dkrNt|d � �rN|d }t|�D ] }|�d�s*t| |t||�� q*nt� | �j||� d S )Nr r �__)�lenr) �dir�
startswith�setattr�getattrr �__init__)�self�args�kwargsZ unwrap_me�attr)�TemporaryClassr&