File: //lib/fm-agent/dependencies/linux/python3.9/psutil/__pycache__/_compat.cpython-39.pyc
a
��i�: � @ s$ d Z ddlZddlZddlZddlZddlZddlZddlZg d�Zej d dkZ
e� Ze
r�e
ZeZeZeZeZdd� Zdd� Zn eZeZeZeZd d� Zd
d� Ze
r�eZneZeedfdd
�Ze
r�eZeZeZeZeZeZn�ddlZefdd�Z e e!�dd� �Ze e!�dd� �Ze e!�dd� �Ze e!�dd� �Ze e!�dd� �Ze e!�dd� �Ze�"� dk�r�ze#ej$d��W n. e�y� Y n e#�y� e%d��Y n0 zddlm&Z& W n� e'�yJ zdd l(m)Z) W n e'�y� dd l*m)Z) Y n0 e�+d!g d"��Z,G d#d$� d$e-�Z.e� fe/e
ee0e1d�f�e2e3e1e4fd%d&�Z5d8d)d*�Z&Y n0 zdd+l6m7Z7 W n* e'�y� ej8ej9B dfd,d-�Z7Y n0 zdd.l6m:Z: W n e'�y� d9d0d1�Z:Y n0 zdd2l;m<Z= W n" e'�y� G d3d4� d4�Z=Y n0 zdd5lm>Z> W n" e'�y ej?d6d7� �Z>Y n0 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�redirect_stderr�FileNotFoundError�PermissionError�ProcessLookupError�InterruptedError�ChildProcessError�FileExistsError� c C s | S �N� ��sr r �@/usr/lib/fm-agent/dependencies/linux/python3.9/psutil/_compat.pyr / s r c C s
| � d�S )Nzlatin-1)�encoder r r r r 2 s r c C s
t | d�S )NZunicode_escape)r r r r r r : s c C s | S r r r r r r r = s � c C sX | t u �r<t�|�}z|j|jjd }W n ttfyH td��Y n0 z
|j }W n> t
tfy� z|jj }W n t
y� td��Y n0 Y n0 |D ]�} | j�
� D ]�}zNt|tj�s�t|t�r�|j}q�z
|j}W q� t
y� |�|| �}Y q�0 q�W n t
tf�y Y q�Y n0 |j|ju r� �q,q�q� �q<q�td��|t u�rPt| |�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)�type_Ztype_or_objZ
framedepth�f�mro�methr r r r L sB
r 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 sh t |�dkrNt|d � �rN|d }t|�D ] }|�d�s*t| |t||�� q*nt� | �j|i |�� d S )Nr r �__)�lenr* �dir�
startswith�setattr�getattrr �__init__)�self�args�kwargsZ unwrap_me�attr)�TemporaryClassr'