
    .Ph
                     @    d dl Z d Zd Z G d d          Zd Zd ZdS )    Nc                 r    ddl m}  |di | }|                                 |                                 dS )z3Initialize viztracer's profiler in worker processesr   )	VizTracerN )	viztracerr   register_exitstart)init_kwargsr   tracers      b/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/joblib/externals/loky/initializers.py_viztracer_initr      sL    ######Y%%%%F

LLNNNNN    c                      	 dd l } |                                 }| t          |dd          rt          |j        ffS n9# t
          $ r Y n-t          $ r!}t          j        d|            Y d }~nd }~ww xY wdS )Nr   enableFz&Unable to introspect viztracer state: Nr   )	r   
get_tracergetattrr   r	   ImportError	Exceptionwarningswarn)r   r
   es      r   (_make_viztracer_initializer_and_initargsr      s    D%%'''&(E"B"B #V%7$999    D D D 	BqBBCCCCCCCCD 8s   9= 
A3		A3A..A3c                       e Zd ZdZd Zd ZdS )_ChainedInitializerzCompound worker initializer

    This is meant to be used in conjunction with _chain_initializers to
    produce  the necessary chained_args list to be passed to __call__.
    c                     || _         d S N)_initializers)selfinitializerss     r   __init__z_ChainedInitializer.__init__'   s    )r   c                 F    t          | j        |          D ]
\  }} ||  d S r   )zipr   )r   chained_argsinitializerargss       r   __call__z_ChainedInitializer.__call__*   s=    !$T%7!F!F 	 	KK	 	r   N)__name__
__module____qualname____doc__r    r&   r   r   r   r   r       s<         * * *    r   r   c                     g }g }| D ]1\  }}|*|                     |           |                     |           2|sdS t          |          dk    r|d         |d         fS t          |          |fS )zyConvenience helper to combine a sequence of initializers.

    If some initializers are None, they are filtered out.
    Nr      r   )appendlenr   )initializer_and_argsfiltered_initializersfiltered_initargsr$   initargss        r   _chain_initializersr3   /   s    
 !5 / /X"!((555$$X...  Mx	"	#	#q	(	($Q'):1)==="#899;LLLr   c                     | !t          |           st          d|           t          | |ft                      g          S )Nz%initializer must be a callable, got: )callable	TypeErrorr3   r   )r$   r2   s     r   _prepare_initializerr7   C   s\    x'<'<CKCC
 
 	
 (#466	
  r   )r   r   r   r   r3   r7   r   r   r   <module>r8      s        &       M M M(    r   