<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>

Yfy-                 @   sT  d  d l  Z  d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l m Z d d l m	 Z	 d d d d d	 d
 d d d d d d d d d g Z
 d  Z d Z d Z d Z d Z d Z d Z d a d a d d   Z d d   Z d d   Z d d   Z d d	   Z d d  d
  Z d! d   Z e j   Z e j   Z d" d#   Z d$ d   Z  i  Z! e j   Z" Gd% d   d e#  Z$ d d& d'  Z% d( d   Z& d a' e e e% e	 j( e	 j) d) d*  Z* e j+ e*  Gd+ d   d e#  Z, Gd, d   d e j-  Z. y e  j/ d-  Z0 Wn e1 k
 r+d. Z0 Yn Xd/ d   Z2 d0 d1   Z3 d2 d3   Z4 d S)4    N)_args_from_interpreter_flags   )process	sub_debugdebuginfosub_warning
get_loggerlog_to_stderrget_temp_dirregister_after_fork
is_exitingFinalizeForkAwareThreadLockForkAwareLocalclose_all_fds_exceptSUBDEBUG
SUBWARNING   
         Zmultiprocessingz+[%(levelname)s/%(processName)s] %(message)sFc             G   s   t  r t  j t |  |  d  S)N)_loggerlogr   )msgargs r   9/opt/alt/python35/lib64/python3.5/multiprocessing/util.pyr   ,   s    c             G   s   t  r t  j t |  |  d  S)N)r   r   DEBUG)r   r   r   r   r   r   0   s    c             G   s   t  r t  j t |  |  d  S)N)r   r   INFO)r   r   r   r   r   r   4   s    c             G   s   t  r t  j t |  |  d  S)N)r   r   r   )r   r   r   r   r   r   8   s    c           
   C   s   d d l  }  |  j   z t s |  j t  a d t _ t t d  rc t j t	  t j
 t	  n2 t j j t	 f  i  f  t j j t	 f  i  f  Wd |  j   Xt S)z0
    Returns logger used by multiprocessing
    r   N
unregister)loggingZ_acquireLockr   Z	getLoggerLOGGER_NAMEZ	propagatehasattratexitr    _exit_functionregisterZ_exithandlersremoveappendZ_releaseLock)r!   r   r   r   r	   <   s    
	c             C   sg   d d l  } t   } | j t  } | j   } | j |  | j |  |  r] | j |   d a t	 S)zB
    Turn on logging and add a handler which prints to stderr
    r   NT)
r!   r	   Z	FormatterDEFAULT_LOGGING_FORMATZStreamHandlerZsetFormatterZ
addHandlerZsetLevel_log_to_stderrr   )levelr!   ZloggerZ	formatterZhandlerr   r   r   r
   W   s    	c              C   s   t  j   j j d  }  |  d  k r d d  l } d d  l } | j d d  }  t d |   t d  | j	 d |  g d d	 |  t  j   j d <|  S)
Ntempdirr   prefixzpymp-zcreated temp directory %sr   exitpriorityd   i)
r   current_processZ_configgetshutiltempfileZmkdtempr   r   Zrmtree)r,   r2   r3   r   r   r   r   m   s    c              C   s   t  t j    }  |  j   x` |  D]X \ \ } } } } y | |  Wq# t k
 rz } z t d |  WYd  d  } ~ Xq# Xq# Wd  S)Nz after forker raised exception %s)list_afterfork_registryitemssort	Exceptionr   )r6   indexZidentfuncobjer   r   r   _run_after_forkers   s    
r=   c             C   s#   |  t  t t  t |   | f <d  S)N)r5   next_afterfork_counterid)r;   r:   r   r   r   r      s    c               @   sj   e  Z d  Z d Z f  d d d d  Z d e e e j d d  Z	 d d   Z
 d	 d
   Z d d   Z d S)r   zA
    Class which supports object finalization using weakrefs
    Nc             C   sz   | d  k	 r$ t  j | |   |  _ n  | |  _ | |  _ | p? i  |  _ | t t  f |  _ t	 j
   |  _ |  t |  j <d  S)N)weakrefref_weakref	_callback_args_kwargsr>   _finalizer_counter_keyosgetpid_pid_finalizer_registry)selfr;   callbackr   kwargsr.   r   r   r   __init__   s    		zFinalize.__init__c             C   s   y | |  j  =Wn t k
 r, | d  Yn X|  j |   k rR | d  d } n4 | d |  j |  j |  j  |  j |  j |  j   } d |  _ |  _ |  _ |  _ |  _  | Sd S)zQ
        Run the callback unless it has already been called or cancelled
        zfinalizer no longer registeredz+finalizer ignored because different processNz/finalizer calling %s with args %s and kwargs %s)rH   KeyErrorrK   rD   rE   rF   rC   )rM   wrrL   r   rJ   resr   r   r   __call__   s    
	%zFinalize.__call__c             C   sL   y t  |  j =Wn t k
 r" Yn& Xd |  _ |  _ |  _ |  _ |  _ d S)z3
        Cancel finalization of the object
        N)rL   rH   rQ   rC   rD   rE   rF   )rM   r   r   r   cancel   s
    zFinalize.cancelc             C   s   |  j  t k S)zS
        Return whether this finalizer is still waiting to invoke callback
        )rH   rL   )rM   r   r   r   still_active   s    zFinalize.still_activec             C   s   y |  j    } Wn t t f k
 r0 d  } Yn X| d  k rK d |  j j Sd |  j j t |  j d |  j  f } |  j r | d t |  j  7} |  j	 r | d t |  j	  7} |  j
 d d  k	 r | d t |  j
 d  7} | d S)	Nz<%s object, dead>z<%s object, callback=%s__name__z, args=z	, kwargs=r   z, exitprority=>)rC   AttributeError	TypeError	__class__rW   getattrrD   rE   strrF   rH   )rM   r;   xr   r   r   __repr__   s     			zFinalize.__repr__)rW   
__module____qualname____doc__rP   rL   r   rI   rJ   rT   rU   rV   r_   r   r   r   r   r      s   c                s   t  d k r d S d k r+ d d     n  f d d       f d d   t t   D } | j d d  xl | D]d } t  j |  } | d k	 rs t d	 |  y |   Wqs t k
 r d
 d l } | j   Yqs Xqs W d k r t  j   d S)z
    Run all finalizers whose exit priority is not None and at least minpriority

    Finalizers with highest priority are called first; finalizers with
    the same priority will be called in reverse order of creation.
    Nc             S   s   |  d d  k	 S)Nr   r   )pr   r   r   <lambda>   s    z!_run_finalizers.<locals>.<lambda>c                s   |  d d  k	 o |  d   k S)Nr   r   )rc   )minpriorityr   r   rd      s    c                s"   g  |  ] }   |  r |  q Sr   r   ).0key)fr   r   
<listcomp>   s   	 z#_run_finalizers.<locals>.<listcomp>reverseTz
calling %sr   )	rL   r4   r7   r1   r   r8   	traceback	print_excclear)re   keysrg   Z	finalizerrk   r   )rh   re   r   _run_finalizers   s$    ro   c               C   s   t  p t  d k S)z6
    Returns true if the process is shutting down
    N)_exitingr   r   r   r   r     s    c             C   s   t  s d a  |  d  | d  | d  |   d  k	 r x7 |   D], } | j rC |  d | j  | j j   qC Wx+ |   D]  } |  d | j  | j   q} W| d  |   d  S)NTzprocess shutting downz2running all "atexit" finalizers with priority >= 0r   z!calling terminate() for daemon %szcalling join() for process %sz)running the remaining "atexit" finalizers)rp   ZdaemonnameZ_popenZ	terminatejoin)r   r   ro   active_childrenr0   rc   r   r   r   r%     s    	


	
r%   c               @   s@   e  Z d  Z d d   Z d d   Z d d   Z d d   Z d	 S)
r   c             C   s   |  j    t |  t j   d  S)N)_resetr   r   )rM   r   r   r   rP   K  s    
zForkAwareThreadLock.__init__c             C   s1   t  j   |  _ |  j j |  _ |  j j |  _ d  S)N)	threadingZLock_lockacquirerelease)rM   r   r   r   rt   O  s    zForkAwareThreadLock._resetc             C   s   |  j  j   S)N)rv   	__enter__)rM   r   r   r   ry   T  s    zForkAwareThreadLock.__enter__c             G   s   |  j  j |   S)N)rv   __exit__)rM   r   r   r   r   rz   W  s    zForkAwareThreadLock.__exit__N)rW   r`   ra   rP   rt   ry   rz   r   r   r   r   r   J  s   c               @   s(   e  Z d  Z d d   Z d d   Z d S)r   c             C   s   t  |  d d    d  S)Nc             S   s   |  j  j   S)N)__dict__rm   )r;   r   r   r   rd   ]  s    z)ForkAwareLocal.__init__.<locals>.<lambda>)r   )rM   r   r   r   rP   \  s    zForkAwareLocal.__init__c             C   s   t  |   f  f S)N)type)rM   r   r   r   
__reduce__^  s    zForkAwareLocal.__reduce__N)rW   r`   ra   rP   r}   r   r   r   r   r   [  s   SC_OPEN_MAX   c             C   se   t  |   d t g }  |  j   x> t t |   d  D]& } t j |  | d |  | d  q7 Wd  S)Nr   )r4   MAXFDr7   rangelenrI   
closerange)Zfdsir   r   r   r   j  s    
c              C   s   t  j d  k r d  Sy t  j j   Wn t t f k
 r> Yn XyP t j t j t j  }  y t |  d d t  _ Wn t j |     Yn XWn t t f k
 r Yn Xd  S)NclosefdF)	sysstdincloseOSError
ValueErrorrI   opendevnullO_RDONLY)fdr   r   r   _close_stdint  s    r   c             C   s   d d  l  } t t t t |    } t j   \ } } zM | j | t j |   g d | d  d  d d d d d	 d
 | | d d d   SWd  t j	 |  t j	 |  Xd  S)Nr   Tr   Fr   r   r   r   r   r   )
_posixsubprocesstuplesortedmapintrI   pipeZ	fork_execfsencoder   )pathr   Zpassfdsr   Zerrpipe_readZerrpipe_writer   r   r   spawnv_passfds  s    r   )5rI   	itertoolsr   rA   r$   ru   
subprocessr    r   __all__ZNOTSETr   r   r   r   r"   r)   r   r*   r   r   r   r   r	   r
   r   WeakValueDictionaryr5   countr?   r=   r   rL   rG   objectr   ro   r   rp   rs   r0   r%   r&   r   Zlocalr   sysconfr   r8   r   r   r   r   r   r   r   <module>
   sd   		S,	(

