asda?‰PNG  IHDR ? f ??C1 sRGB ??é gAMA ±? üa pHYs ? ??o¨d GIDATx^íüL”÷e÷Y?a?("Bh?_ò???¢§?q5k?*:t0A-o??¥]VkJ¢M??f?±8\k2íll£1]q?ù???T connection.py000064400000003076151030272220007255 0ustar00# # Analogue of `multiprocessing.connection` which uses queues instead of sockets # # multiprocessing/dummy/connection.py # # Copyright (c) 2006-2008, R Oudkerk # Licensed to PSF under a Contributor Agreement. # __all__ = [ 'Client', 'Listener', 'Pipe' ] from queue import Queue families = [None] class Listener(object): def __init__(self, address=None, family=None, backlog=1): self._backlog_queue = Queue(backlog) def accept(self): return Connection(*self._backlog_queue.get()) def close(self): self._backlog_queue = None @property def address(self): return self._backlog_queue def __enter__(self): return self def __exit__(self, exc_type, exc_value, exc_tb): self.close() def Client(address): _in, _out = Queue(), Queue() address.put((_out, _in)) return Connection(_in, _out) def Pipe(duplex=True): a, b = Queue(), Queue() return Connection(a, b), Connection(b, a) class Connection(object): def __init__(self, _in, _out): self._out = _out self._in = _in self.send = self.send_bytes = _out.put self.recv = self.recv_bytes = _in.get def poll(self, timeout=0.0): if self._in.qsize() > 0: return True if timeout <= 0.0: return False with self._in.not_empty: self._in.not_empty.wait(timeout) return self._in.qsize() > 0 def close(self): pass def __enter__(self): return self def __exit__(self, exc_type, exc_value, exc_tb): self.close() __pycache__/connection.cpython-311.opt-2.pyc000064400000007607151030272220014561 0ustar00 !A?h>fgdZddlmZdgZGddeZdZd dZGd d eZdS) )ClientListenerPipe)QueueNcDeZdZd dZdZdZedZdZdZ dS) rNc.t||_dSN)r_backlog_queue)selfaddressfamilybacklogs 9/usr/lib64/python3.11/multiprocessing/dummy/connection.py__init__zListener.__init__s#GnncBt|jSr ) Connectionr getr s racceptzListener.accepts4.224455rcd|_dSr r rs rclosezListener.closes"rc|jSr rrs rr zListener.addresss ""rc|Sr rs r __enter__zListener.__enter__! rc.|dSr rr exc_type exc_valueexc_tbs r__exit__zListener.__exit__$ r)NNr) __name__ __module__ __qualname__rrrpropertyr rr&rrrrrs----666#####X#rrctt}}|||ft||Sr )rputr)r _in_outs rrr(s9C KKs  c4  rTcztt}}t||t||fSr )rr)duplexabs rrr.s2 77EGGqA a  Z1-- --rc.eZdZdZddZdZdZdZdS) rcn||_||_|jx|_|_|jx|_|_dSr )r/r.r-send send_bytesrrecv recv_bytes)r r.r/s rrzConnection.__init__5s4 &*h. DO&)g- DOOOrc|jdkrdS|dkrdS|jj5|jj|dddn #1swxYwY|jdkS)NrTr:F)r.qsize not_emptywait)r timeouts rpollzConnection.poll;s 8>>  a  4 c>>5 X  - - H  # #G , , , - - - - - - - - - - - - - - -x~~!##s A  A$'A$cdSr rrs rrzConnection.closeDs rc|Sr rrs rrzConnection.__enter__Grrc.|dSr r!r"s rr&zConnection.__exit__Jr'rN)r:)r(r)r*rr@rrr&rrrrr3sd... $$$$   rr)T) __all__queuerfamiliesobjectrrrrrrrrHs + * * 6v,!!! .... r__pycache__/__init__.cpython-311.pyc000064400000014140151030272220013207 0ustar00 !A?h NgdZddlZddlZddlZddlZddlmZddlmZmZm Z m Z ddlm Z m Z m Z ddlmZGdd ejZeZejZeje_d Zd ZGd d eZeZeZddZGddeZdZdZ ddZ!eZ"dS))Processcurrent_processactive_childrenfreeze_supportLockRLock SemaphoreBoundedSemaphore ConditionEventBarrierQueueManagerPipePool JoinableQueueN)r)rrrr )r r r )r c<eZdZddddifdZdZedZdS) DummyProcessNctj||||||d|_t j|_d|_t|_ dS)NF) threadingThread__init___pidweakrefWeakKeyDictionary _children _start_calledr_parent)selfgrouptargetnameargskwargss 7/usr/lib64/python3.11/multiprocessing/dummy/__init__.pyrzDummyProcess.__init__$sS!!$vtT6JJJ  244"&(( c,|jtur4td|jtd|_t |jdrd|jj|<tj |dS)Nz,Parent is {0!r} but current_process is {1!r}Tr) r r RuntimeErrorformatrhasattrrrrstartr!s r'r-zDummyProcess.start+s <00 0 0>EEL/"3"35566 6" 4< - - 0+/DL "4 (t$$$$$r(c@|jr|sdSdS)Nr)ris_aliver.s r'exitcodezDummyProcess.exitcode5s&   dmmoo 14r()__name__ __module__ __qualname__rr-propertyr1rr(r'rr"s]!$T2))))%%%Xr(rctj}t|D],}|s||d-t|SN)rrlistr0pop)childrenps r'rrDsV  *H (^^""zz|| " LLD ! ! ! >>r(cdSr7rrr(r'rrKDr(ceZdZdZdZdS) Namespacec :|j|dSr7)__dict__update)r!kwdss r'rzNamespace.__init__Ss T"""""r(c2t|j}g}|D]4\}}|ds||d|5||jjdd|dS)N_=(, )) r8rAitems startswithappendsort __class__r2join)r!rJtempr$values r'__repr__zNamespace.__repr__UsT]((**++  5 5KD%??3'' 5 tttUU3444 >222DIIdOOOODDr(N)r2r3r4rrRrr(r'r?r?Rs7###EEEEEr(r?Tc,tj||Sr7)array)typecodesequencelocks r'ArrayrXas ;x * **r(cReZdZddZedZejdZdZdS)ValueTc"||_||_dSr7) _typecode_value)r!rUrQrWs r'rzValue.__init__es! r(c|jSr7r]r.s r'rQz Value.valueis {r(c||_dSr7r_)r!rQs r'rQz Value.valuems  r(cRdt|jd|jd|jdS)N)typer2r\r]r.s r'rRzValue.__repr__qs,#Dzz2224>>>$+++NNr(NT)r2r3r4rr5rQsetterrRrr(r'rZrZdstX \\OOOOOr(rZc0tjtSr7)sysmodulesr2rr(r'rrts ;x  r(cdSr7rrr(r'shutdownrjwr=r(rc(ddlm}||||S)N) ThreadPool)poolrm) processes initializerinitargsrms r'rrzs(!!!!!! :ih 7 77r(rd)NNr)#__all__rrgrrT connectionrrrrr r r r queuer rrrcurrent_threadrrrrrobjectr?dictr8rXrZrrjrrrr(r'rxs     >>>>>>>>>>>>////////// 9#< *7g799    E E E E E E E E  ++++OOOOOFOOO !!!   8888 r(__pycache__/__init__.cpython-311.opt-1.pyc000064400000014140151030272220014146 0ustar00 !A?h NgdZddlZddlZddlZddlZddlmZddlmZmZm Z m Z ddlm Z m Z m Z ddlmZGdd ejZeZejZeje_d Zd ZGd d eZeZeZddZGddeZdZdZ ddZ!eZ"dS))Processcurrent_processactive_childrenfreeze_supportLockRLock SemaphoreBoundedSemaphore ConditionEventBarrierQueueManagerPipePool JoinableQueueN)r)rrrr )r r r )r c<eZdZddddifdZdZedZdS) DummyProcessNctj||||||d|_t j|_d|_t|_ dS)NF) threadingThread__init___pidweakrefWeakKeyDictionary _children _start_calledr_parent)selfgrouptargetnameargskwargss 7/usr/lib64/python3.11/multiprocessing/dummy/__init__.pyrzDummyProcess.__init__$sS!!$vtT6JJJ  244"&(( c,|jtur4td|jtd|_t |jdrd|jj|<tj |dS)Nz,Parent is {0!r} but current_process is {1!r}Tr) r r RuntimeErrorformatrhasattrrrrstartr!s r'r-zDummyProcess.start+s <00 0 0>EEL/"3"35566 6" 4< - - 0+/DL "4 (t$$$$$r(c@|jr|sdSdS)Nr)ris_aliver.s r'exitcodezDummyProcess.exitcode5s&   dmmoo 14r()__name__ __module__ __qualname__rr-propertyr1rr(r'rr"s]!$T2))))%%%Xr(rctj}t|D],}|s||d-t|SN)rrlistr0pop)childrenps r'rrDsV  *H (^^""zz|| " LLD ! ! ! >>r(cdSr7rrr(r'rrKDr(ceZdZdZdZdS) Namespacec :|j|dSr7)__dict__update)r!kwdss r'rzNamespace.__init__Ss T"""""r(c2t|j}g}|D]4\}}|ds||d|5||jjdd|dS)N_=(, )) r8rAitems startswithappendsort __class__r2join)r!rJtempr$values r'__repr__zNamespace.__repr__UsT]((**++  5 5KD%??3'' 5 tttUU3444 >222DIIdOOOODDr(N)r2r3r4rrRrr(r'r?r?Rs7###EEEEEr(r?Tc,tj||Sr7)array)typecodesequencelocks r'ArrayrXas ;x * **r(cReZdZddZedZejdZdZdS)ValueTc"||_||_dSr7) _typecode_value)r!rUrQrWs r'rzValue.__init__es! r(c|jSr7r]r.s r'rQz Value.valueis {r(c||_dSr7r_)r!rQs r'rQz Value.valuems  r(cRdt|jd|jd|jdS)N)typer2r\r]r.s r'rRzValue.__repr__qs,#Dzz2224>>>$+++NNr(NT)r2r3r4rr5rQsetterrRrr(r'rZrZdstX \\OOOOOr(rZc0tjtSr7)sysmodulesr2rr(r'rrts ;x  r(cdSr7rrr(r'shutdownrjwr=r(rc(ddlm}||||S)N) ThreadPool)poolrm) processes initializerinitargsrms r'rrzs(!!!!!! :ih 7 77r(rd)NNr)#__all__rrgrrT connectionrrrrr r r r queuer rrrcurrent_threadrrrrrobjectr?dictr8rXrZrrjrrrr(r'rxs     >>>>>>>>>>>>////////// 9#< *7g799    E E E E E E E E  ++++OOOOOFOOO !!!   8888 r(__pycache__/__init__.cpython-311.opt-2.pyc000064400000014140151030272220014147 0ustar00 !A?h NgdZddlZddlZddlZddlZddlmZddlmZmZm Z m Z ddlm Z m Z m Z ddlmZGdd ejZeZejZeje_d Zd ZGd d eZeZeZddZGddeZdZdZ ddZ!eZ"dS))Processcurrent_processactive_childrenfreeze_supportLockRLock SemaphoreBoundedSemaphore ConditionEventBarrierQueueManagerPipePool JoinableQueueN)r)rrrr )r r r )r c<eZdZddddifdZdZedZdS) DummyProcessNctj||||||d|_t j|_d|_t|_ dS)NF) threadingThread__init___pidweakrefWeakKeyDictionary _children _start_calledr_parent)selfgrouptargetnameargskwargss 7/usr/lib64/python3.11/multiprocessing/dummy/__init__.pyrzDummyProcess.__init__$sS!!$vtT6JJJ  244"&(( c,|jtur4td|jtd|_t |jdrd|jj|<tj |dS)Nz,Parent is {0!r} but current_process is {1!r}Tr) r r RuntimeErrorformatrhasattrrrrstartr!s r'r-zDummyProcess.start+s <00 0 0>EEL/"3"35566 6" 4< - - 0+/DL "4 (t$$$$$r(c@|jr|sdSdS)Nr)ris_aliver.s r'exitcodezDummyProcess.exitcode5s&   dmmoo 14r()__name__ __module__ __qualname__rr-propertyr1rr(r'rr"s]!$T2))))%%%Xr(rctj}t|D],}|s||d-t|SN)rrlistr0pop)childrenps r'rrDsV  *H (^^""zz|| " LLD ! ! ! >>r(cdSr7rrr(r'rrKDr(ceZdZdZdZdS) Namespacec :|j|dSr7)__dict__update)r!kwdss r'rzNamespace.__init__Ss T"""""r(c2t|j}g}|D]4\}}|ds||d|5||jjdd|dS)N_=(, )) r8rAitems startswithappendsort __class__r2join)r!rJtempr$values r'__repr__zNamespace.__repr__UsT]((**++  5 5KD%??3'' 5 tttUU3444 >222DIIdOOOODDr(N)r2r3r4rrRrr(r'r?r?Rs7###EEEEEr(r?Tc,tj||Sr7)array)typecodesequencelocks r'ArrayrXas ;x * **r(cReZdZddZedZejdZdZdS)ValueTc"||_||_dSr7) _typecode_value)r!rUrQrWs r'rzValue.__init__es! r(c|jSr7r]r.s r'rQz Value.valueis {r(c||_dSr7r_)r!rQs r'rQz Value.valuems  r(cRdt|jd|jd|jdS)N)typer2r\r]r.s r'rRzValue.__repr__qs,#Dzz2224>>>$+++NNr(NT)r2r3r4rr5rQsetterrRrr(r'rZrZdstX \\OOOOOr(rZc0tjtSr7)sysmodulesr2rr(r'rrts ;x  r(cdSr7rrr(r'shutdownrjwr=r(rc(ddlm}||||S)N) ThreadPool)poolrm) processes initializerinitargsrms r'rrzs(!!!!!! :ih 7 77r(rd)NNr)#__all__rrgrrT connectionrrrrr r r r queuer rrrcurrent_threadrrrrrobjectr?dictr8rXrZrrjrrrr(r'rxs     >>>>>>>>>>>>////////// 9#< *7g799    E E E E E E E E  ++++OOOOOFOOO !!!   8888 r(__pycache__/connection.cpython-311.opt-1.pyc000064400000007607151030272220014560 0ustar00 !A?h>fgdZddlmZdgZGddeZdZd dZGd d eZdS) )ClientListenerPipe)QueueNcDeZdZd dZdZdZedZdZdZ dS) rNc.t||_dSN)r_backlog_queue)selfaddressfamilybacklogs 9/usr/lib64/python3.11/multiprocessing/dummy/connection.py__init__zListener.__init__s#GnncBt|jSr ) Connectionr getr s racceptzListener.accepts4.224455rcd|_dSr r rs rclosezListener.closes"rc|jSr rrs rr zListener.addresss ""rc|Sr rs r __enter__zListener.__enter__! rc.|dSr rr exc_type exc_valueexc_tbs r__exit__zListener.__exit__$ r)NNr) __name__ __module__ __qualname__rrrpropertyr rr&rrrrrs----666#####X#rrctt}}|||ft||Sr )rputr)r _in_outs rrr(s9C KKs  c4  rTcztt}}t||t||fSr )rr)duplexabs rrr.s2 77EGGqA a  Z1-- --rc.eZdZdZddZdZdZdZdS) rcn||_||_|jx|_|_|jx|_|_dSr )r/r.r-send send_bytesrrecv recv_bytes)r r.r/s rrzConnection.__init__5s4 &*h. DO&)g- DOOOrc|jdkrdS|dkrdS|jj5|jj|dddn #1swxYwY|jdkS)NrTr:F)r.qsize not_emptywait)r timeouts rpollzConnection.poll;s 8>>  a  4 c>>5 X  - - H  # #G , , , - - - - - - - - - - - - - - -x~~!##s A  A$'A$cdSr rrs rrzConnection.closeDs rc|Sr rrs rrzConnection.__enter__Grrc.|dSr r!r"s rr&zConnection.__exit__Jr'rN)r:)r(r)r*rr@rrr&rrrrr3sd... $$$$   rr)T) __all__queuerfamiliesobjectrrrrrrrrHs + * * 6v,!!! .... r__pycache__/connection.cpython-311.pyc000064400000007607151030272220013621 0ustar00 !A?h>fgdZddlmZdgZGddeZdZd dZGd d eZdS) )ClientListenerPipe)QueueNcDeZdZd dZdZdZedZdZdZ dS) rNc.t||_dSN)r_backlog_queue)selfaddressfamilybacklogs 9/usr/lib64/python3.11/multiprocessing/dummy/connection.py__init__zListener.__init__s#GnncBt|jSr ) Connectionr getr s racceptzListener.accepts4.224455rcd|_dSr r rs rclosezListener.closes"rc|jSr rrs rr zListener.addresss ""rc|Sr rs r __enter__zListener.__enter__! rc.|dSr rr exc_type exc_valueexc_tbs r__exit__zListener.__exit__$ r)NNr) __name__ __module__ __qualname__rrrpropertyr rr&rrrrrs----666#####X#rrctt}}|||ft||Sr )rputr)r _in_outs rrr(s9C KKs  c4  rTcztt}}t||t||fSr )rr)duplexabs rrr.s2 77EGGqA a  Z1-- --rc.eZdZdZddZdZdZdZdS) rcn||_||_|jx|_|_|jx|_|_dSr )r/r.r-send send_bytesrrecv recv_bytes)r r.r/s rrzConnection.__init__5s4 &*h. DO&)g- DOOOrc|jdkrdS|dkrdS|jj5|jj|dddn #1swxYwY|jdkS)NrTr:F)r.qsize not_emptywait)r timeouts rpollzConnection.poll;s 8>>  a  4 c>>5 X  - - H  # #G , , , - - - - - - - - - - - - - - -x~~!##s A  A$'A$cdSr rrs rrzConnection.closeDs rc|Sr rrs rrzConnection.__enter__Grrc.|dSr r!r"s rr&zConnection.__exit__Jr'rN)r:)r(r)r*rr@rrr&rrrrr3sd... $$$$   rr)T) __all__queuerfamiliesobjectrrrrrrrrHs + * * 6v,!!! .... r__init__.py000064400000005765151030272220006664 0ustar00# # Support for the API of the multiprocessing package using threads # # multiprocessing/dummy/__init__.py # # Copyright (c) 2006-2008, R Oudkerk # Licensed to PSF under a Contributor Agreement. # __all__ = [ 'Process', 'current_process', 'active_children', 'freeze_support', 'Lock', 'RLock', 'Semaphore', 'BoundedSemaphore', 'Condition', 'Event', 'Barrier', 'Queue', 'Manager', 'Pipe', 'Pool', 'JoinableQueue' ] # # Imports # import threading import sys import weakref import array from .connection import Pipe from threading import Lock, RLock, Semaphore, BoundedSemaphore from threading import Event, Condition, Barrier from queue import Queue # # # class DummyProcess(threading.Thread): def __init__(self, group=None, target=None, name=None, args=(), kwargs={}): threading.Thread.__init__(self, group, target, name, args, kwargs) self._pid = None self._children = weakref.WeakKeyDictionary() self._start_called = False self._parent = current_process() def start(self): if self._parent is not current_process(): raise RuntimeError( "Parent is {0!r} but current_process is {1!r}".format( self._parent, current_process())) self._start_called = True if hasattr(self._parent, '_children'): self._parent._children[self] = None threading.Thread.start(self) @property def exitcode(self): if self._start_called and not self.is_alive(): return 0 else: return None # # # Process = DummyProcess current_process = threading.current_thread current_process()._children = weakref.WeakKeyDictionary() def active_children(): children = current_process()._children for p in list(children): if not p.is_alive(): children.pop(p, None) return list(children) def freeze_support(): pass # # # class Namespace(object): def __init__(self, /, **kwds): self.__dict__.update(kwds) def __repr__(self): items = list(self.__dict__.items()) temp = [] for name, value in items: if not name.startswith('_'): temp.append('%s=%r' % (name, value)) temp.sort() return '%s(%s)' % (self.__class__.__name__, ', '.join(temp)) dict = dict list = list def Array(typecode, sequence, lock=True): return array.array(typecode, sequence) class Value(object): def __init__(self, typecode, value, lock=True): self._typecode = typecode self._value = value @property def value(self): return self._value @value.setter def value(self, value): self._value = value def __repr__(self): return '<%s(%r, %r)>'%(type(self).__name__,self._typecode,self._value) def Manager(): return sys.modules[__name__] def shutdown(): pass def Pool(processes=None, initializer=None, initargs=()): from ..pool import ThreadPool return ThreadPool(processes, initializer, initargs) JoinableQueue = Queue