<!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>

Š¹¼]µ)  ã               @   sW  d  d l  Z  d  d l Z d  d l Z d d l m Z g  Z Gd d „  d e ƒ Z Gd d „  d e ƒ Z Gd d	 „  d	 e ƒ Z	 Gd
 d „  d e ƒ Z
 Gd d „  d e ƒ Z Gd d „  d e j ƒ Z Gd d „  d e ƒ Z e d d „  e e ƒ Dƒ ƒ e _ e j d k rÉGd d „  d e j ƒ Z Gd d „  d e j ƒ Z Gd d „  d e j ƒ Z Gd d „  d e ƒ Z Gd d „  d e ƒ Z Gd d  „  d  e ƒ Z d! e ƒ  d" e ƒ  d# e ƒ  i Z e e d! ƒ Z nN Gd$ d „  d e j ƒ Z Gd% d „  d e ƒ Z d" e ƒ  i Z e e d" ƒ Z d& d' „  Z e j ƒ  Z d( d) „  Z d* d+ „  Z d, d- „  Z  d S).é    Né   )Úprocessc               @   s   e  Z d  Z d S)ÚProcessErrorN)Ú__name__Ú
__module__Ú__qualname__© r   r   ú,/opt/alt/python35/lib64/python3.5/context.pyr      s   r   c               @   s   e  Z d  Z d S)ÚBufferTooShortN)r   r   r   r   r   r   r	   r
      s   r
   c               @   s   e  Z d  Z d S)ÚTimeoutErrorN)r   r   r   r   r   r   r	   r      s   r   c               @   s   e  Z d  Z d S)ÚAuthenticationErrorN)r   r   r   r   r   r   r	   r      s   r   c               @   sÒ  e  Z d  Z e Z e Z e Z e Z e e j	 ƒ Z	 e e j
 ƒ Z
 d d „  Z d d „  Z d d d „ Z d d	 „  Z d
 d „  Z d d d „ Z d d d „ Z d d d „ Z d d „  Z d d d d „ Z d d d „ Z d d d „ Z d d „  Z d d f  d d d  „ Z d! d" „  Z d# d$ „  Z d% d d& d' „ Z d% d d( d) „ Z d* d+ „  Z d, d- „  Z d d. d/ „ Z d0 d1 „  Z  d2 d3 „  Z! d4 d5 „  Z" d d6 d7 „ Z# d8 d9 d: „ Z$ d8 d; d< „ Z% d= d> „  Z& d S)?ÚBaseContextc             C   s/   t  j ƒ  } | d  k r' t d ƒ ‚ n | Sd  S)Nzcannot determine number of cpus)ÚosÚ	cpu_countÚNotImplementedError)ÚselfÚnumr   r   r	   r   '   s    zBaseContext.cpu_countc             C   s3   d d l  m } | d |  j ƒ  ƒ } | j ƒ  | S)Nr   )ÚSyncManagerÚctx)Úmanagersr   Úget_contextÚstart)r   r   Úmr   r   r	   ÚManager/   s    
zBaseContext.ManagerTc             C   s   d d l  m } | | ƒ S)Nr   )ÚPipe)Ú
connectionr   )r   Úduplexr   r   r   r	   r   :   s    zBaseContext.Pipec             C   s#   d d l  m } | d |  j ƒ  ƒ S)Nr   )ÚLockr   )Úsynchronizer   r   )r   r   r   r   r	   r   ?   s    zBaseContext.Lockc             C   s#   d d l  m } | d |  j ƒ  ƒ S)Nr   )ÚRLockr   )r   r   r   )r   r   r   r   r	   r   D   s    zBaseContext.RLockNc             C   s&   d d l  m } | | d |  j ƒ  ƒS)Nr   )Ú	Conditionr   )r   r    r   )r   Úlockr    r   r   r	   r    I   s    zBaseContext.Conditionr   c             C   s&   d d l  m } | | d |  j ƒ  ƒS)Nr   )Ú	Semaphorer   )r   r"   r   )r   Úvaluer"   r   r   r	   r"   N   s    zBaseContext.Semaphorec             C   s&   d d l  m } | | d |  j ƒ  ƒS)Nr   )ÚBoundedSemaphorer   )r   r$   r   )r   r#   r$   r   r   r	   r$   S   s    zBaseContext.BoundedSemaphorec             C   s#   d d l  m } | d |  j ƒ  ƒ S)Nr   )ÚEventr   )r   r%   r   )r   r%   r   r   r	   r%   X   s    zBaseContext.Eventc             C   s,   d d l  m } | | | | d |  j ƒ  ƒS)Nr   )ÚBarrierr   )r   r&   r   )r   ÚpartiesÚactionÚtimeoutr&   r   r   r	   r&   ]   s    zBaseContext.Barrierr   c             C   s&   d d l  m } | | d |  j ƒ  ƒS)Nr   )ÚQueuer   )Úqueuesr*   r   )r   Úmaxsizer*   r   r   r	   r*   b   s    zBaseContext.Queuec             C   s&   d d l  m } | | d |  j ƒ  ƒS)Nr   )ÚJoinableQueuer   )r+   r-   r   )r   r,   r-   r   r   r	   r-   g   s    zBaseContext.JoinableQueuec             C   s#   d d l  m } | d |  j ƒ  ƒ S)Nr   )ÚSimpleQueuer   )r+   r.   r   )r   r.   r   r   r	   r.   l   s    zBaseContext.SimpleQueuec             C   s/   d d l  m } | | | | | d |  j ƒ  ƒS)Nr   )ÚPoolÚcontext)Úpoolr/   r   )r   Ú	processesÚinitializerÚinitargsÚmaxtasksperchildr/   r   r   r	   r/   q   s    zBaseContext.Poolc             G   s   d d l  m } | | | Œ S)Nr   )ÚRawValue)Úsharedctypesr6   )r   Útypecode_or_typeÚargsr6   r   r   r	   r6   x   s    zBaseContext.RawValuec             C   s   d d l  m } | | | ƒ S)Nr   )ÚRawArray)r7   r:   )r   r8   Úsize_or_initializerr:   r   r   r	   r:   }   s    zBaseContext.RawArrayr!   c            G   s/   d d l  m } | | | d | d |  j ƒ  ŒS)Nr   )ÚValuer!   r   )r7   r<   r   )r   r8   r!   r9   r<   r   r   r	   r<   ‚   s    zBaseContext.Valuec            C   s/   d d l  m } | | | d | d |  j ƒ  ƒS)Nr   )ÚArrayr!   r   )r7   r=   r   )r   r8   r;   r!   r=   r   r   r	   r=   ˆ   s    zBaseContext.Arrayc             C   s<   t  j d k r8 t t  d d ƒ r8 d d l m } | ƒ  d  S)NÚwin32ÚfrozenFr   )Úfreeze_support)ÚsysÚplatformÚgetattrÚspawnr@   )r   r@   r   r   r	   r@   Ž   s    !zBaseContext.freeze_supportc             C   s   d d l  m } | ƒ  S)Nr   )Ú
get_logger)ÚutilrE   )r   rE   r   r   r	   rE   –   s    zBaseContext.get_loggerc             C   s   d d l  m } | | ƒ S)Nr   )Úlog_to_stderr)rF   rG   )r   ÚlevelrG   r   r   r	   rG      s    zBaseContext.log_to_stderrc             C   s   d d l  m } d  S)Nr   )r   )Ú r   )r   r   r   r   r	   Úallow_connection_pickling¢   s    z%BaseContext.allow_connection_picklingc             C   s   d d l  m } | | ƒ d  S)Nr   )Úset_executable)rD   rK   )r   Ú
executablerK   r   r   r	   rK   ª   s    zBaseContext.set_executablec             C   s   d d l  m } | | ƒ d  S)Nr   )Úset_forkserver_preload)Ú
forkserverrM   )r   Úmodule_namesrM   r   r   r	   rM   ²   s    z"BaseContext.set_forkserver_preloadc             C   sQ   | d  k r |  Sy t  | } Wn" t k
 rB t d | ƒ ‚ Yn X| j ƒ  | S)Nzcannot find context for %r)Ú_concrete_contextsÚKeyErrorÚ
ValueErrorÚ_check_available)r   Úmethodr   r   r   r	   r   ¹   s    
zBaseContext.get_contextFc             C   s   |  j  S)N)Ú_name)r   Ú
allow_noner   r   r	   Úget_start_methodÃ   s    zBaseContext.get_start_methodc             C   s   t  d ƒ ‚ d  S)Nz+cannot set start method of concrete context)rR   )r   rT   Úforcer   r   r	   Úset_start_methodÆ   s    zBaseContext.set_start_methodc             C   s   d  S)Nr   )r   r   r   r	   rS   É   s    zBaseContext._check_available)'r   r   r   r   r
   r   r   Ústaticmethodr   Úcurrent_processÚactive_childrenr   r   r   r   r   r    r"   r$   r%   r&   r*   r-   r.   r/   r6   r:   r<   r=   r@   rE   rG   rJ   rK   rM   r   rW   rY   rS   r   r   r   r	   r      sF   	
r   c               @   s(   e  Z d  Z d Z e d d „  ƒ Z d S)ÚProcessNc             C   s   t  j ƒ  j j |  ƒ S)N)Ú_default_contextr   r]   Ú_Popen)Úprocess_objr   r   r	   r_   Ò   s    zProcess._Popen)r   r   r   Ú_start_methodrZ   r_   r   r   r   r	   r]   Ð   s   r]   c                   sa   e  Z d  Z e Z d d „  Z d ‡  f d d † Z d d d „ Z d d	 d
 „ Z d d „  Z ‡  S)ÚDefaultContextc             C   s   | |  _  d  |  _ d  S)N)r^   Ú_actual_context)r   r0   r   r   r	   Ú__init__Ù   s    	zDefaultContext.__init__Nc                sB   | d  k r. |  j  d  k r' |  j |  _  |  j  St ƒ  j | ƒ Sd  S)N)rc   r^   Úsuperr   )r   rT   )Ú	__class__r   r	   r   Ý   s
    zDefaultContext.get_contextFc             C   sW   |  j  d  k	 r" | r" t d ƒ ‚ | d  k rA | rA d  |  _  d  S|  j | ƒ |  _  d  S)Nzcontext has already been set)rc   ÚRuntimeErrorr   )r   rT   rX   r   r   r	   rY   å   s    	zDefaultContext.set_start_methodc             C   s/   |  j  d  k r% | r d  S|  j |  _  |  j  j S)N)rc   r^   rU   )r   rV   r   r   r	   rW   í   s
    zDefaultContext.get_start_methodc             C   sJ   t  j d k r d g Sd d l m } | j r< d d d g Sd d g Sd  S)Nr>   rD   r   )Ú	reductionÚforkrN   )rA   rB   rI   rh   ÚHAVE_SEND_HANDLE)r   rh   r   r   r	   Úget_all_start_methodsô   s    	z$DefaultContext.get_all_start_methods)	r   r   r   r]   rd   r   rY   rW   rk   r   r   )rf   r	   rb   Ö   s   rb   c             c   s%   |  ] } | d  d k r | Vq d S)r   Ú_Nr   )Ú.0Úxr   r   r	   ú	<genexpr>þ   s    ro   r>   c               @   s(   e  Z d  Z d Z e d d „  ƒ Z d S)ÚForkProcessri   c             C   s   d d l  m } | |  ƒ S)Nr   )ÚPopen)Ú
popen_forkrq   )r`   rq   r   r   r	   r_     s    zForkProcess._PopenN)r   r   r   ra   rZ   r_   r   r   r   r	   rp     s   rp   c               @   s(   e  Z d  Z d Z e d d „  ƒ Z d S)ÚSpawnProcessrD   c             C   s   d d l  m } | |  ƒ S)Nr   )rq   )Úpopen_spawn_posixrq   )r`   rq   r   r   r	   r_     s    zSpawnProcess._PopenN)r   r   r   ra   rZ   r_   r   r   r   r	   rs     s   rs   c               @   s(   e  Z d  Z d Z e d d „  ƒ Z d S)ÚForkServerProcessrN   c             C   s   d d l  m } | |  ƒ S)Nr   )rq   )Úpopen_forkserverrq   )r`   rq   r   r   r	   r_     s    zForkServerProcess._PopenN)r   r   r   ra   rZ   r_   r   r   r   r	   ru     s   ru   c               @   s   e  Z d  Z d Z e Z d S)ÚForkContextri   N)r   r   r   rU   rp   r]   r   r   r   r	   rw     s   rw   c               @   s   e  Z d  Z d Z e Z d S)ÚSpawnContextrD   N)r   r   r   rU   rs   r]   r   r   r   r	   rx     s   rx   c               @   s(   e  Z d  Z d Z e Z d d „  Z d S)ÚForkServerContextrN   c             C   s)   d d l  m } | j s% t d ƒ ‚ d  S)Nr   )rh   z%forkserver start method not available)rI   rh   rj   rR   )r   rh   r   r   r	   rS   &  s    	z"ForkServerContext._check_availableN)r   r   r   rU   ru   r]   rS   r   r   r   r	   ry   #  s   ry   ri   rD   rN   c               @   s(   e  Z d  Z d Z e d d „  ƒ Z d S)rs   rD   c             C   s   d d l  m } | |  ƒ S)Nr   )rq   )Zpopen_spawn_win32rq   )r`   rq   r   r   r	   r_   6  s    zSpawnProcess._PopenN)r   r   r   ra   rZ   r_   r   r   r   r	   rs   4  s   c               @   s   e  Z d  Z d Z e Z d S)rx   rD   N)r   r   r   rU   rs   r]   r   r   r   r	   rx   ;  s   c             C   s   t  |  t _ d  S)N)rP   r^   rc   )rT   r   r   r	   Ú_force_start_methodH  s    rz   c               C   s   t  t d d  ƒ S)NÚspawning_popen)rC   Ú_tlsr   r   r   r	   Úget_spawning_popenQ  s    r}   c             C   s   |  t  _ d  S)N)r|   r{   )Úpopenr   r   r	   Úset_spawning_popenT  s    r   c             C   s,   t  ƒ  d  k r( t d t |  ƒ j ƒ ‚ d  S)NzF%s objects should only be shared between processes through inheritance)r}   rg   Útyper   )Úobjr   r   r	   Úassert_spawningW  s    r‚   )!r   rA   Ú	threadingrI   r   Ú__all__Ú	Exceptionr   r
   r   r   Úobjectr   ÚBaseProcessr]   rb   ÚlistÚdirrB   rp   rs   ru   rw   rx   ry   rP   r^   rz   Úlocalr|   r}   r   r‚   r   r   r   r	   Ú<module>   s@   ³("			