
    [h                        d Z ddlZdZdZdZ ej                    Zg Zd Zd Z	 G d dej                  Z
 G d dej                  Z G d	 d
ej                  Z e
e          Z ee          Z ee	e          Ze                                Ze                    def           e                                 e                    dej        dej        dej        f           ej        sJ ej        sJ ej        rJ e                                Ze                    def           ej        sJ  ede           dS )z<
Testing initialstub throwing an already started exception.
    Nc                  >    t                               d| f           d S )NzBegin A)resultsappend)argss    ~/var/www/api.easyaligner.net/htdocs/venv_linux/lib/python3.11/site-packages/greenlet/tests/fail_initialstub_already_started.pya_runr      s    NNIt$%%%%%    c                      t                               d           t                              d           t                               d           d S )NzBegin CzFrom CzC done)r   r   bswitch r	   r   c_runr      s>    NN9HHXNN8r	   c                       e Zd ZdS )AN__name__
__module____qualname__r   r	   r   r   r      s          r	   r   c                       e Zd ZdZd Zd ZdS )BFc                    |dk    r| j         st          j                    t          u sJ d| _         t                              dt          t          j                              j        z              t          	                                 t                              dt          t          j                              j        z              |dk    rd}t                              | |          S )NrunTz'Switch to b from B.__getattribute__ in z%B.__getattribute__ back from main in _B_run)doing_itgreenlet
getcurrentcr   r   typer   r   r   object__getattribute__)selfnames     r   r    zB.__getattribute__    s    5===&((A---- DMNND!("5"7"788AB C C CHHJJJNNB!("5"7"788AB C C C5==D&&tT222r	   c                     t                               d|f           t                               d           t                              d           d S )NzBegin Bz_B_run switching to mainzFrom B)r   r   mainr   )r!   args     r   r   zB._B_run-   sD    	3'(((1222Hr	   N)r   r   r   r   r    r   r   r	   r   r   r      s7        H3 3 3    r	   r   c                       e Zd ZdS )CNr   r   r	   r   r'   r'   2   s        Dr	   r'   )parentzmain from czA dead?zB dead?zC dead?zmain from c.2zRESULTS:)__doc__r   ar   r   r   r$   r   r   r   r   r   r'   r   resultr   deadprintr   r	   r   <module>r.      s    x & & &
  
 !                     (	 	 	 	 	 	 	 	AeHHAQKKKAeQKK 
 v& ' ' '
 


 	169afiH I I I 	vv6   	
 ( ) ) )v j'     r	   