§ [Þì§�l½ãó&—gd¢ZddlZddlZddlZddlZddlZddlmZ ej  ej ¦«¦«Z n #e $rdZ YnwxYwd„Z d„Zd„Zd„ZGd„d e¦«ZGd „d e¦«ZGd „d e¦«ZGd„de¦«Zdae¦«aejd¦«ae¦«a[iZeej  ¦«¦«D] \Z!Z"e!dd…dkr de!vr de!›�ee" <Œ![!["e¦«Z#dS))Ú BaseProcessÚcurrent_processÚactive_childrenÚparent_processéN)ÚWeakSetcó—tS)z@ Return process object representing the current process )Ú_current_process©óúD/opt/alt/python-internal/lib64/python3.11/multiprocessing/process.pyrr%s €õ Ðr cóF—t¦«tt¦«S)zN Return list of process objects corresponding to live child processes )Ú_cleanupÚlistÚ _childrenr r r rr+s€õ �J„J€JÝ • ‰?Œ?Ðr có—tS)z? Return process object representing the parent process )Ú_parent_processr r r rr3s €õ Ðr có¢—tt¦«D]9}|jx}r.| ¦«�t |¦«Œ:dS©N)rrÚ_popenÚpollÚdiscard)ÚpÚ child_popens r rr=sV€å •)‰_Œ_ð!ð!ˆØœ8Ð #ˆKð !¨×)9Ò)9Ñ);Ô);Ð)GÝ × Ò ˜aÑ Ô Ð øð!ð!r cón—eZdZdZd„Zddddifddœd„Zd„Zd„Zd „Zd „Z d „Z dd „Z d „Z d„Z ed„¦«Zejd„¦«Zed„¦«Zejd„¦«Zed„¦«Zejd„¦«Zed„¦«Zed„¦«ZeZed„¦«Zd„Zdd„Zed„¦«ZdS)rz€ Process objects represent activity that is run in a separate process The class is analogous to `threading.Thread` có—t‚r)ÚNotImplementedError©Úselfs r Ú_PopenzBaseProcess._PopenMs€Ý!Ð!r Nr )Údaemoncó6—tt¦«}tj|fz|_tj ¦«|_t j¦«|_tj |_ d|_ d|_ ||_ t|¦«|_t!|¦«|_|p;t%|¦«jdzd d„|jD¦«¦«z|_|�||_t. |¦«dS)NFú-ú:c3ó4K—|]}t|¦«V—ŒdSr)Ústr)Ú.0Úis r ú z'BaseProcess.__init__..^s(èè€Ð=Ð=¨�c !™fœfÐ=Ð=Ð=Ð=Ð=Ð=r )ÚnextÚ_process_counterr Ú _identityÚ_configÚcopyÚosÚgetpidÚ _parent_pidÚnameÚ _parent_namerÚ_closedÚ_targetÚtupleÚ_argsÚdictÚ_kwargsÚtypeÚ__name__ÚjoinÚ_namer Ú _danglingÚadd)rÚgroupÚtargetr1ÚargsÚkwargsr Úcounts r Ú__init__zBaseProcess.__init__Psç€õÕ%Ñ&Ô&ˆÝ)Ô3°u°hÑ>ˆŒÝ'Ô/×4Ò4Ñ6Ô6ˆŒ Ýœ9™;œ;ˆÔÝ,Ô1ˆÔ؈Œ ؈Œ ؈Œ ݘ4‘[”[ˆŒ ݘF‘|”|ˆŒ Øð>�T $™ZœZÔ0°3Ñ6Ø—X’XÐ=Ð=¨d¬nÐ=Ñ=Ô=Ñ=Ô=ñ>ˆŒ à Ð Ø ˆDŒKÝ� Š �dÑÔÐÐÐr có2—|jrtd¦«‚dS)Nzprocess object is closed)r3Ú ValueErrorrs r Ú _check_closedzBaseProcess._check_closedcs%€Ø Œ<ð 9ÝÐ7Ñ8Ô8Ð 8ð 9ð 9r cóF—|jr|j|ji|j¤ŽdSdS)zQ Method to be run in sub-process; can be overridden in sub-class N)r4r6r8rs r ÚrunzBaseProcess.rungs9€ð Œ<ð 6Ø ˆDŒL˜$œ*Ð 5¨¬ Ð 5Ð 5Ð 5Ð 5Ð 5ð 6ð 6r cóà—| ¦«t¦«| |¦«|_|jj|_|`|`|`t  |¦«dS)z% Start child process N) rGrrrÚsentinelÚ _sentinelr4r6r8rr>rs r ÚstartzBaseProcess.startnsg€ð ×ÒÑÔÐõ ‰ Œ ˆ Ø—k’k $Ñ'Ô'ˆŒ ØœÔ-ˆŒð ˆL˜$˜* d lÝ� Š �dÑÔÐÐÐr có`—| ¦«|j ¦«dS)zT Terminate process; sends SIGTERM signal or uses TerminateProcess() N)rGrÚ terminaters r rOzBaseProcess.terminate€s0€ð ×ÒÑÔÐØ Œ ×ÒÑÔÐÐÐr có`—| ¦«|j ¦«dS)zT Terminate process; sends SIGKILL signal or uses TerminateProcess() N)rGrÚkillrs r rQzBaseProcess.kill‡s0€ð ×ÒÑÔÐØ Œ ×ÒÑÔÐÐÐr cóž—| ¦«|j |¦«}|�t |¦«dSdS)z5 Wait until child process terminates N)rGrÚwaitrr)rÚtimeoutÚress r r;zBaseProcess.joinŽsS€ð ×ÒÑÔÐðŒk×Ò˜wÑ'Ô'ˆØ ˆ?Ý × Ò ˜dÑ #Ô #Ð #Ð #Ð #ð ˆ?r cóÄ—| ¦«|turdS|j€dS|j ¦«}|€dSt |¦«dS)z1 Return whether process is alive TNF)rGr rrrr)rÚ returncodes r Úis_alivezBaseProcess.is_alive™sm€ð ×ÒÑÔÐØ Õ#Ð #Ð #Ø�4ð Œ;Ð Ø�5à”[×%Ò%Ñ'Ô'ˆ Ø Ð Ø�4å × Ò ˜dÑ #Ô #Ð #Ø�5r cóê—|j�d|j ¦«€td¦«‚|j ¦«d|_|`t  |¦«d|_dS)z Close the Process object. This method releases resources held by the Process object. It is an error to call this method if the child process is still running. Nz^Cannot close a process while it is still running. You should first call join() or terminate().T)rrrFÚcloserLrrr3rs r rZzBaseProcess.close¬sz€ð Œ;Ð "ØŒ{×ÒÑ!Ô!Ð)Ý ð"PñQôQðQà ŒK× Ò Ñ Ô Ð ØˆDŒKØ�Ý × Ò ˜dÑ #Ô #Ð #؈Œ ˆ ˆ r có—|jSr©r<rs r r1zBaseProcess.name½s €àŒzÐr có—||_dSrr\)rr1s r r1zBaseProcess.nameÁs€ðˆŒ ˆ ˆ r có8—|j dd¦«S)z4 Return whether process is a daemon r F)r,Úgetrs r r zBaseProcess.daemonÆs€ð Œ|×Ò ¨%Ñ0Ô0Ð0r có—||jd<dS)z1 Set whether process is a daemon r N©r,)rÚdaemonics r r zBaseProcess.daemonÍs€ð "*ˆŒ �XÑÐÐr có—|jdS)NÚauthkeyrars r rdzBaseProcess.authkeyÕs€àŒ|˜IÔ&Ð&r có4—t|¦«|jd<dS)z2 Set authorization key of process rdN)ÚAuthenticationStringr,)rrds r rdzBaseProcess.authkeyÙs€õ #7°wÑ"?Ô"?ˆŒ �YÑÐÐr cóx—| ¦«|j€|jS|j ¦«S)zM Return exit code of process or `None` if it has yet to stop )rGrrrs r ÚexitcodezBaseProcess.exitcodeàs:€ð ×ÒÑÔÐØ Œ;Ð Ø”;Ð ØŒ{×ÒÑ!Ô!Ð!r cóˆ—| ¦«|turtj¦«S|jo |jjS)zU Return identifier (PID) of process or `None` if it has yet to start )rGr r.r/rÚpidrs r ÚidentzBaseProcess.identês?€ð ×ÒÑÔÐØ Õ#Ð #Ð #Ý”9‘;”;Ð à”;Ð2 4¤;¤?Ð 2r cóv—| ¦« |jS#t$rtd¦«d‚wxYw)z{ Return a file descriptor (Unix) or handle (Windows) suitable for waiting for process termination. zprocess not startedN)rGrLÚAttributeErrorrFrs r rKzBaseProcess.sentinel÷sO€ð ×ÒÑÔÐð >Ø”>Ð !øÝð >ð >ð >ÝÐ2Ñ3Ô3¸Ð =ð >øøøs–�8cóˆ—d}|turd}nS|jrd}nI|jtj¦«krd}n*|j€d}n |j ¦«}|�d}nd}t|¦«jd|j zg}|j�"|  d|jj z¦«|  d|jz¦«|  |¦«|�3t  ||¦«}|  d |z¦«|jr|  d ¦«d d  |¦«zS) NÚstartedÚclosedÚunknownÚinitialÚstoppedzname=%rzpid=%sz parent=%sz exitcode=%sr z<%s>ú )r r3r0r.r/rrr9r:r<ÚappendrjÚ_exitcode_to_namer_r r;)rrhÚstatusÚinfos r Ú__repr__zBaseProcess.__repr__sF€ØˆØ Õ#Ð #Ð #؈FˆFØ Œ\ð #؈FˆFØ Ô ¥¤¡¤Ò ,Ð ,؈FˆFØ Œ[Р؈FˆFà”{×'Ò'Ñ)Ô)ˆHØÐ#Ø"��à"�å�T‘ ” Ô# Y°´Ñ%;Ð<ˆØ Œ;Ð "Ø �KŠK˜ 4¤;¤?Ñ2Ñ 3Ô 3Ð 3Ø � Š �K $Ô"2Ñ2Ñ3Ô3Ð3Ø � Š �FÑÔÐØ Ð Ý(×,Ò,¨X°xÑ@Ô@ˆHØ �KŠK˜ ¨Ñ0Ñ 1Ô 1Ð 1Ø Œ;ð "Ø �KŠK˜Ñ !Ô !Ð !ؘŸš ™œÑ&Ð&r cóà—ddlm}m} |j�| |j¦«t jd¦«at¦«a |  ¦«t}|a t|j |j|¦«at jr%t!j¦« ¦« | ¦«~n#~wxYw| d¦« | ¦«d}| ¦«n#| ¦«wxYwn¼#t0$rl}|j€d}nXt5|jt6¦«r|j}n6t8j t?|j¦«dz¦«d}Yd}~nKd}~wd}ddl }t8j d|j!z¦«| "¦«YnxYwt!j#¦«| d|z¦«| $¦«nD#t!j#¦«| d|z¦«| $¦«wxYw|S)Né)ÚutilÚcontextz child process calling self.run()rú z Process %s: z process exiting with exitcode %d)%Úr|r}Ú _start_methodÚ_force_start_methodÚ itertoolsrCr*ÚsetrÚ _close_stdinr Ú_ParentProcessr2r0rÚ threadingÚ_HAVE_THREAD_NATIVE_IDÚ main_threadÚ_set_native_idÚ _after_forkrxrIÚ_exit_functionÚ SystemExitÚcodeÚ isinstanceÚintÚsysÚstderrÚwriter%Ú tracebackr1Ú print_excÚ _shutdownÚ_flush_std_streams)rÚparent_sentinelr|r}Ú old_processrhÚer“s r Ú _bootstrapzBaseProcess._bootstrap"s|€Ø#Ð#Ð#Ð#Ð#Ð#Ð#Ð#ð( &ØÔ!Ð-Ø×+Ò+¨DÔ,>Ñ?Ô?Ð?Ý(œ¨qÑ1Ô1Ð Ý™œˆIØ × Ò Ñ Ô Ð Ý*ˆKØ#Ð Ý,ØÔ! 4Ô#3°_ñFôFˆOåÔ/ð 9ÝÔ%Ñ'Ô'×6Ò6Ñ8Ô8Ð8ð Ø× Ò Ñ"Ô"Ð"ð �Kø�K����Ø �IŠIÐ8Ñ 9Ô 9Ð 9ð &Ø—’‘ ” � Ø�à×#Ò#Ñ%Ô%Ð%Ð%ø�×#Ò#Ñ%Ô%Ð%Ð%øøøÐ%øÝð ð ð ØŒvˆ~Ø��ݘAœF¥CÑ(Ô(ð Øœ6��å” × Ò ¥ Q¤V¡¤¨tÑ!3Ñ4Ô4Ð4Ø�øøøøøøøøøð "؈HØ Ð Ð Ð Ý ŒJ× Ò ˜_¨t¬yÑ8Ñ 9Ô 9Ð 9Ø × Ò Ñ !Ô !Ð !Ð !Ð !øøøå Ô Ñ !Ô !Ð !Ø �IŠIÐ8¸8ÑCÑ DÔ DÐ DØ × #Ò #Ñ %Ô %Ð %Ð %øõ Ô Ñ !Ô !Ð !Ø �IŠIÐ8¸8ÑCÑ DÔ DÐ DØ × #Ò #Ñ %Ô %Ð %Ð %øøøàˆscŠB,D.Â7C à D.à CÃD.Ã)DÃ?D.ÄD*Ä*D.Ä-H*Ä. G'Ä8A"FÆH*ÆAG'Ç%H*È*AI+cól—ddlm}|j ¦«| ¦«dS)Nr{©r|)rr|Ú_finalizer_registryÚclearÚ_run_after_forkersrœs r rŠzBaseProcess._after_forkRsA€àÐÐÐÐÐØ Ô ×&Ò&Ñ(Ô(Ð(Ø ×ÒÑ!Ô!Ð!Ð!Ð!r r)r:Ú __module__Ú __qualname__Ú__doc__rrDrGrIrMrOrQr;rXrZÚpropertyr1Úsetterr rdrhrkrjrKryršÚ staticmethodrŠr r r rrGs€€€€€ððð "ð"ð"ð"¨$°TÀÈ2ðØðððððð&9ð9ð9ð6ð6ð6ðððð$ ð ð ðððð $ð $ð $ð $ðððð&ððð"ððñ„Xðð „[ððñ„[ððð1ð1ñ„Xð1ð  „]ð*ð*ñ„]ð*ðð'ð'ñ„Xð'ð „^ð@ð@ñ„^ð@ð ð"ð"ñ„Xð"ðð3ð3ñ„Xð3ð €Cà ð >ð >ñ„Xð >ð'ð'ð'ð>.ð.ð.ð.ð`ð"ð"ñ„\ð"ð"ð"r rcó—eZdZd„ZdS)rfcón—ddlm}|¦«€td¦«‚tt |¦«ffS)Nr{)Úget_spawning_popenzJPickling an AuthenticationString object is disallowed for security reasons)r}r¨Ú TypeErrorrfÚbytes)rr¨s r Ú __reduce__zAuthenticationString.__reduce__^sO€Ø/Ð/Ð/Ð/Ð/Ð/Ø Ð Ñ Ô Ð 'Ýð2ñôð õ$¥e¨D¡k¤k ^Ð3Ð3r N)r:r r¡r«r r r rfrf]s#€€€€€ð4ð4ð4ð4ð4r rfcó<—eZdZd„Zd„Zed„¦«Zdd„ZeZdS)r…cóv—d|_||_||_d|_d|_d|_||_i|_dS)Nr F)r+r<Ú_pidr0rr3rLr,)rr1rjrKs r rDz_ParentProcess.__init__ns?€ØˆŒØˆŒ ؈Œ ØˆÔØˆŒ ؈Œ Ø!ˆŒØˆŒ ˆ ˆ r có6—ddlm}||jgd¬¦« S)Nr©rS©rT©Úmultiprocessing.connectionrSrL)rrSs r rXz_ParentProcess.is_alivexs1€Ø3Ð3Ð3Ð3Ð3Ð3Ø�4˜œÐ(°!Ð4Ñ4Ô4Ð4Ð4r có—|jSr)r®rs r rkz_ParentProcess.ident|s €àŒyÐr Ncó8—ddlm}||jg|¬¦«dS)z6 Wait until parent process terminates rr°r±Nr²)rrTrSs r r;z_ParentProcess.join€s6€ð 4Ð3Ð3Ð3Ð3Ð3Ø ˆˆdŒnÐ  wÐ/Ñ/Ô/Ð/Ð/Ð/r r) r:r r¡rDrXr£rkr;rjr r r r…r…lsb€€€€€ðððð5ð5ð5ðððñ„Xðð0ð0ð0ð0ð €C€C€Cr r…có—eZdZd„Zd„ZdS)Ú _MainProcesscóž—d|_d|_d|_d|_d|_t t jd¦«¦«ddœ|_dS)Nr Ú MainProcessFé z/mp)rdÚ semprefix) r+r<r0rr3rfr.Úurandomr,rs r rDz_MainProcess.__init__�sN€ØˆŒØ"ˆŒ ØˆÔØˆŒ ؈Œ Ý#7½¼ À2¹¼Ñ#GÔ#GØ%*ð,ð,ˆŒ ˆ ˆ r có—dSrr rs r rZz_MainProcess.close¡s€Ø ˆr N)r:r r¡rDrZr r r r·r·�s2€€€€€ð,ð,ð,ð$ ð ð ð ð r r·r{éÚSIGÚ_r")$Ú__all__r.r�Úsignalr‚r†Ú _weakrefsetrÚpathÚabspathÚgetcwdÚ ORIGINAL_DIRÚOSErrorrrrrÚobjectrrªrfr…r·rr rCr*rƒrrvrÚ__dict__Úitemsr1Úsignumr=r r r úrÍs:ðð ð ð €ð € € € Ø € € € Ø € € € ØÐÐÐØÐÐÐØÐÐÐÐÐð Ø”7—?’? 9 2¤9¡;¤;Ñ/Ô/€L€LøØðððØ€L€L€Lðøøøðððð ðððððð!ð!ð!ðO"ðO"ðO"ðO"ðO"�&ñO"ôO"ðO"ðl4ð4ð4ð4ð4˜5ñ4ô4ð4ððððð�[ñôððB ð ð ð ð �;ñ ô ð ð0€Ø�<‘>”>ÐØ"�9”? 1Ñ%Ô%ÐØ ˆC‰EŒE€ Øð Ðà�D˜œ×.Ò.Ñ0Ô0Ñ1Ô1ð0ð0�L€Dˆ&Ø ˆBˆQˆB„x�‚€˜3 d˜?˜?Ø%/¨ Z ZИ6˜'Ñ"øØˆ&ð ˆG‰IŒI€ € € s 'AÁAÁA