ó
    ÷Þ j¼  ã                   óî   • S r SSKrSrSrSqS rS rS r\R                  " \5        \R                  " \5      r\R                  " \5      r\R                  S5        \
" S5        \R                  S	5        g)
z 
Uses a trace function to switch greenlets at unexpected times.

In the trace function, we switch from the current greenlet to another
greenlet, which switches
é    NFc                  óv   • [        S/U Q76   [        (       a  Sq[        R                  5         [        S/U Q76   g )NÚTRACEFz	LEAVE TRACE)ÚprintÚswitch_to_g2Úg2Úswitch)Úargss    Úd/var/www/html/gaurav/venv/lib/python3.13/site-packages/greenlet/tests/fail_switch_three_greenlets.pyÚ	tracefuncr      s/   € Ü	ˆ'Ð�DÓç‚|ØˆÜ
�	‰	ŒÜ	ˆ/Ð!˜DÔ!ó    c                  ó¦   • [        S5        Sq[        R                  " 5       R                  R                  5       n [        S5        [        SU 5        g )Nz	In g1_runTzReturn to g1_runzFrom parent)r   r   ÚgreenletÚ
getcurrentÚparentr   )Úfrom_parents    r
   Úg1_runr      s?   € Ü	ˆ+Ôà€LÜ×%Ò%Ó'×.Ñ.×5Ñ5Ó7€KÜ	Ð
ÔÜ	ˆ-˜Õ%r   c                  ó^   • [         R                  " 5       R                  R                  5         g )N)r   r   r   r   © r   r
   Úg2_runr      s   € ä×ÒÓ× Ñ ×'Ñ'Õ)r   é   zBack in mainé   )Ú__doc__r   Úg1r   r   r   r   r   Úsettracer   r   r   r   r
   Ú<module>r      s}   ðñó à	€Ø	€à€ò"ò&ò*ð 	× Ò �)Ô à×Ò�vÓ€Ø×Ò�vÓ€ð
 ‡	�	ˆ!„Ù €nÔ Ø ‡	�	ˆ!…r   