
    (^iw                    Z    d dl mZ d dlmZ d dlZd dlmZ  G d dej                        Zy)    )annotations)CallableN)Anyc                  2     e Zd ZddZddZdd fdZ xZS )_TestableThreadc                V    t         j                  j                  | ||       d | _        y )N)targetargs)	threadingThread__init__exc)selfr	   r
   s      Y/var/www/html/hubwallet-dev/venv/lib/python3.12/site-packages/optuna/testing/threading.pyr   z_TestableThread.__init__	   s$    !!$vD!A)-    c                ~    	 t         j                  j                  |        y # t        $ r}|| _        Y d }~y d }~ww xY wN)r   r   runBaseExceptionr   )r   es     r   r   z_TestableThread.run   s4    	  & 	DHH	s   " 	<7<c                \    t         t        |   |       | j                  r| j                  y r   )superr   joinr   )r   timeout	__class__s     r   r   z_TestableThread.join   s'    ot)'288((N r   )r	   zCallable[..., Any]r
   tuple)returnNoner   )r   zfloat | Noner   r   )__name__
__module____qualname__r   r   r   __classcell__)r   s   @r   r   r      s    . r   r   )	
__future__r   collections.abcr   r   typingr   r   r    r   r   <module>r'      s#    " $  i&& r   