§
    dŠtj¼  ã                   óú   — d Z ddlZdZdZdad„ Zd„ Zd„ Z ej        e¦  «          ej        e¦  «        Z ej        e¦  «        Ze 	                    d¦  «          e
d¦  «         e 	                    d	¦  «         dS )
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                  ó~   — t          dg| ¢R Ž  t          rdat                               ¦   «          t          dg| ¢R Ž  d S )NÚTRACEFz	LEAVE TRACE)ÚprintÚswitch_to_g2Úg2Úswitch)Úargss    úh/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/greenlet/tests/fail_switch_three_greenlets.pyÚ	tracefuncr      sN   € Ý	ˆ'Ð�DÐÐÐÐåð ØˆÝ
�	Š	‰ŒˆÝ	ˆ/Ð!˜DÐ!Ð!Ð!Ð!Ð!Ð!ó    c                  óº   — t          d¦  «         dat          j        ¦   «         j                             ¦   «         } t          d¦  «         t          d| ¦  «         d S )Nz	In g1_runTzReturn to g1_runzFrom parent)r   r   ÚgreenletÚ
getcurrentÚparentr   )Úfrom_parents    r
   Úg1_runr      sW   € Ý	ˆ+ÑÔÐà€LÝÔ%Ñ'Ô'Ô.×5Ò5Ñ7Ô7€KÝ	Ð
ÑÔÐÝ	ˆ-˜Ñ%Ô%Ð%Ð%Ð%r   c                  óZ   — t          j        ¦   «         j                             ¦   «          d S )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Ã   ððð ð €€€à	€Ø	€à€ð"ð "ð "ð&ð &ð &ð*ð *ð *ð €Ô �)Ñ Ô Ð à€XÔ�vÑÔ€Ø€XÔ�vÑÔ€ð
 ‡	‚	ˆ!�„€Ø €€nÑ Ô Ð Ø ‡	‚	ˆ!�„€€€r   