
    PhK                     z    d Z ddlZddlZddlZdai Zi Zd Z G d de      Z	 G d de      Z
 G d d	e      Zd
 Zy)zn
Support for using stackless python.  Broken and riddled with print statements
at the moment.  Please fix it!
    Nc                  8    t         t        j                            S N)tasklet_to_greenlet	stackless
getcurrent     fC:\Users\daisl\Desktop\realtime-object-detection\venv\Lib\site-packages\eventlet/support/stacklesss.pyr   r      s    y33566r	   c                       e Zd Zd Zd Zy)FirstSwitchc                     || _         y r   )gr)selfr   s     r
   __init__zFirstSwitch.__init__   s	    r	   c                     | j                   }|`|j                  d c}|_        t        j                  |      }||_        |t        |<    |j                  |i | |j                          y r   )r   switchrunr   tasklettr   setup)r   argskwr   r   r   s         r
   __call__zFirstSwitch.__call__   s_    WWIffdRVc"!#A	r	   N)__name__
__module____qualname__r   r   r   r	   r
   r   r      s    	r	   r   c                   &    e Zd ZddZd Zd Zd Zy)greenletNc                 j    d| _         |
t               }|| _        ||| _        t	        |       | _        y )NF)deadr   parentr   r   r   )r   r   r!   s      r
   r   zgreenlet.__init__%   s4    	>\F?DH!$'r	   c                     t        j                         a|t        | <   | j                  j                          t        j                          t        | j                  urt        j                          t        |    }|S r   )r   r   caller	coro_argsr   insertscheduleremove)r   r   rvals      r
   r   zgreenlet.switch0   sW     %%'	$MMOr	   c                      y r   r   r   s    r
   r   zgreenlet.run<   s    r	   c                 <    | j                   d u xr | j                   S r   )r   r    r*   s    r
   __bool__zgreenlet.__bool__?   s    xx41		M1r	   )NN)r   r   r   r   r   r   r,   r   r	   r
   r   r   $   s    	(
2r	   r   c                       e Zd Zy)GreenletExitN)r   r   r   r   r	   r
   r.   r.   C   s    r	   r.   c                     t        j                  d      } | t        j                  d<   t        | _        t
        | _        t        | _        t        j
                         }d t        |<   t	               }|t        |<   ||_	        |`
d t        |<   y )Nr   )types
ModuleTypesysmodulesr   r   r.   r   r   r   r   r$   )moduler#   	main_coros      r
   emulater6   G   sy    j)F$CKK
FO"F&F!!#F"&
I"+IKIir	   )__doc__r2   r0   r   r#   r$   r   r   objectr   r   	Exceptionr.   r6   r   r	   r
   <module>r:      sS   
   		 7&  2v 2>	9 	 r	   