Your IP : 18.119.115.40
�
��bgS+ � �� � d Z ddlZddlmZmZmZmZmZ ddlm Z m
Z
mZmZm
Z
ddlmZ g d�Zdd �Zd
� Zdd�Zd
� Zdd�Zd� Zdd�Zdd�Zdd�Zd� Zdd�Zdd�Zdd�Zdd�ZdS )z=
Methods for detecting objects leading to pickling failures.
� N)�ismethod�
isfunction�istraceback�isframe�iscode� )�parent� reference�at�parents�children)�trace)�baditems�
badobjects�badtypes�code�errors�freevars� getmodule�
globalvars�
nestedcode�
nestedglobals� outermost�referredglobals�referrednestedr �varnamesFc � � ddl m} || |� � }|s|s|S ddl}ddlm} || d�� � }|t |� � � � � v r|ndS )zget the module of the objectr )r Nr )�getnameT)�force)�inspectr �builtins�sourcer �vars�keys)�object� _filenamer �getmod�moduler! r �names �\/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/dill/detect.pyr r s� � �+�+�+�+�+�+�
�V�F�I�
&�
&�F�
�)�U�)�6�M��O�O�O��������7�6��&�&�&�D��t�H�~�~�2�2�4�4�4�4�8�8�$�>� c � �� t | � � r| j j pi }nt | � � r
| j pi }ndS |� � � }ddlm} || d�� � \ }}n# t $ r g d}}Y nw xY wd� |� � ��fd�|D � � }|D ]+\ }} ||� � ||fk r|c S �# t $ r Y �(w xY wdS )z�get outermost enclosing object (i.e. the outer function in a closure)
NOTE: this is the object-equivalent of getsource(func, enclosing=True)
Nr )�getsourcelinesT)� enclosing� c 3 �. �K � | ]\ }}|�v � ||fV � �d S �N� )�.0r) �objr s �r* � <genexpr>zoutermost.<locals>.<genexpr>3 s/ �� � � �E�E�j�t�C������S�z�����E�Er+ ) r �__func__�__globals__r �itemsr"