ó
    ÷Þ jï  ã                   ó   • S r SSKrSr\R                  " 5       r/ r " S S5      r " S S\R                  5      rS r\" \" 5       5      r\R                  5       r
\R                  S\
45        \" S	\
S
S9  \R                  5         \" S\5        g)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                   ó   • \ rS rSrS rSrg)ÚRunCallableé   c                 óX   • [         R                  S5        [        R                  S5        g )N)r   Ú__del__zfrom RunCallable)ÚresultsÚappendÚmainÚswitch)Úselfs    Úc/var/www/html/gaurav/venv/lib/python3.13/site-packages/greenlet/tests/fail_clearing_run_switches.pyr   ÚRunCallable.__del__   s   € Ü�‰Ð1Ô2Ü�‰Ð&Õ'ó    © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   Ú__static_attributes__r   r   r   r   r      s   † õ(r   r   c                   ó   • \ rS rSrS rSrg)ÚGé   c                 ón   • US:X  a  [         R                  S5        [        $ [        R	                  X5      $ )NÚrun)zG.__getattribute__r   )r   r	   Úrun_funcÚobjectÚ__getattribute__)r   Únames     r   r   ÚG.__getattribute__   s,   € Ø�5‹=Ü�N‰NÐ8Ô9ÜˆOÜ×&Ñ& tÓ2Ð2r   r   N)r   r   r   r   r   r   r   r   r   r   r      s   † õ3r   r   c                  ó.   • [         R                  S5        g )N)r   Úenter)r   r	   r   r   r   r   r       s   € Ü‡N�NÐ(Õ)r   zmain: g.switch()zIn main withT)ÚflushÚRESULTS)Ú__doc__ÚgreenletÚgÚ
getcurrentr
   r   r   r   r   r   Úxr	   Úprintr   r   r   Ú<module>r*      s–   ðñó à€Ø×ÒÓ€à
€÷(ñ (ô3ˆ×Ñô 3ò*ñ �kƒmÓ€ð
 ‡H�HƒJ€Ø ‡�Ð" AÐ&Ô 'ñ €n�a˜tÒ $Ø ‡�„
Ù €i�Õ r   