o
    ÕÜgï  ã                   @   sˆ   d Z ddlZdZe ¡ Zg ZG dd„ dƒZG dd„ dejƒZdd„ Zeeƒ ƒZe 	¡ Z
e d	e
f¡ ed
e
dd e 	¡  edeƒ dS )a  
If we have a run callable passed to the constructor or set as an
attribute, but we don't actually use that (because ``__getattribute__``
or the like interferes), then when we clear callable before beginning
to run, there's an opportunity for Python code to run.

é    Nc                   @   ó   e Zd Zdd„ ZdS )ÚRunCallablec                 C   s   t  d¡ t d¡ d S )N)r   Ú__del__zfrom RunCallable)ÚresultsÚappendÚmainÚswitch)Úself© r
   úc/var/www/html/api-tag/env/lib/python3.10/site-packages/greenlet/tests/fail_clearing_run_switches.pyr      s   
zRunCallable.__del__N)Ú__name__Ú
__module__Ú__qualname__r   r
   r
   r
   r   r      ó    r   c                   @   r   )ÚGc                 C   s"   |dkrt  d¡ tS t | |¡S )NÚrun)úG.__getattribute__r   )r   r   Úrun_funcÚobjectÚ__getattribute__)r	   Únamer
   r
   r   r      s   
r   N)r   r   r   r   r
   r
   r
   r   r      r   r   c                   C   s   t  d¡ d S )N)r   Úenter)r   r   r
   r
   r
   r   r       s   r   zmain: g.switch()zIn main withT)ÚflushÚRESULTS)Ú__doc__ÚgreenletÚgÚ
getcurrentr   r   r   r   r   r   Úxr   Úprintr
   r
   r
   r   Ú<module>   s   	
