+
    öÙ†j»>  ã                   óŠ  € ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t	^RI
Ht ^RI
Ht ^RI
Ht ^RIHt ^RI
Ht ^RI
Ht ^RI
Ht . ROtR	t]P*                  ! R
4      t^ t ! R R]4      tRRRRR/R lltR tR tR t]! 4       t]P>                  t]P@                  t ]PB                  t!]PD                  t"R# )é    N)ÚAuthenticationError)Ú
connection)Úprocess)Ú	reduction)Úresource_tracker)Úspawn)Úutilé   Úqc                   óJ   a € ] tR t^#t o R tR tR tR tR tR t	R t
RtV tR	# )
Ú
ForkServerc                ó�   € R V n         R V n        R V n        R V n        R V n        \
        P                  ! 4       V n        R.V n        R # )NÚ__main__)	Ú_forkserver_authkeyÚ_forkserver_addressÚ_forkserver_alive_fdÚ_forkserver_pidÚ_inherited_fdsÚ	threadingÚLockÚ_lockÚ_preload_modules©Úselfs   &Ú1/usr/lib/python3.14/multiprocessing/forkserver.pyÚ__init__ÚForkServer.__init__%   sB   € Ø#'ˆÔ Ø#'ˆÔ Ø$(ˆÔ!Ø#ˆÔØ"ˆÔÜ—^’^Ó%ˆŒ
Ø!+ ˆÖó    c                óˆ   € V P                   ;_uu_ 4        V P                  4        R R R 4       R #   + '       g   i     R # ; i©N)r   Ú_stop_unlockedr   s   &r   Ú_stopÚForkServer._stop.   s#   € à�Z�Z‹ZØ×ÑÔ!÷ �Z�ZŠZús	   •0°A	c                ól  € V P                   f   R # \        P                  ! V P                  4       R V n        \        P                  ! V P                   ^ 4       R V n         \
        P                  ! V P                  4      '       g!   \        P                  ! V P                  4       R V n        R V n	        R # r    )
r   ÚosÚcloser   Úwaitpidr	   Úis_abstract_socket_namespacer   Úunlinkr   r   s   &r   r!   ÚForkServer._stop_unlocked3   s‚   € Ø×ÑÒ'Ùô 	�Š�×*Ñ*Ô+Ø$(ˆÔ!ä
�
Š
�4×'Ñ'¨Ô+Ø#ˆÔä×0Ò0°×1IÑ1I×JÒJÜ�IŠI�d×.Ñ.Ô/Ø#'ˆÔ Ø#'ˆÖ r   c                óœ   € \         ;QJ d    R V 4       F  '       d   K   RM	  RM! R V 4       4      '       g   \        R4      hWn        R# )z>Set list of module names to try to load in forkserver process.c              3   óD   "  € T F  p\        V4      \        J x € K  	  R # 5ir    )ÚtypeÚstr)Ú.0Úmods   & r   Ú	<genexpr>Ú4ForkServer.set_forkserver_preload.<locals>.<genexpr>E   s   é € Ð=©}¨”4˜“9¤Õ#«}ùs   ‚ FTz&module_names must be a list of stringsN)ÚallÚ	TypeErrorr   )r   Úmodules_namess   &&r   Úset_forkserver_preloadÚ!ForkServer.set_forkserver_preloadC   s5   € ç‹sÑ=©}Ó=�s�sŠsÑ=©}Ó=×=Ò=ÜÐDÓEÐEØ -Ör   c                ó   € V P                   # )z|Return list of fds inherited from parent process.

This returns None if the current process was not started by fork
server.
)r   r   s   &r   Úget_inherited_fdsÚForkServer.get_inherited_fdsI   s   € ð ×"Ñ"Ð"r   c                óž  € V P                  4        V P                  '       g   Q h\        V4      ^,           \        8¼  d   \	        R4      h\
        P
                  ! \
        P                  4      ;_uu_ 4       pVP                  V P                  4       \        P                  ! 4       w  r4\        P                  ! 4       w  rVWTV P                  \        P                  ! 4       .pWq,          p VP                  R4       \        P                   ! VP#                  4       4      p \        P$                  ! W€P                  4       \        P&                  ! W€P                  4       VP)                  4        ?\*        P,                  ! W'4       W63\        P.                  ! V4       \        P.                  ! V4       uuRRR4       #   TP)                  4        ?i ; i   \        P.                  ! T4       \        P.                  ! T4       h ; i  \        P.                  ! T4       \        P.                  ! T4       i ; i  + '       g   i     R# ; i)a  Request forkserver to create a child process.

Returns a pair of fds (status_r, data_w).  The calling process can read
the child process's pid and (eventually) its returncode from status_r.
The calling process should write to data_w the pickled preparation and
process data.
ztoo many fdsTN)Úensure_runningr   ÚlenÚMAXFDS_TO_SENDÚ
ValueErrorÚsocketÚAF_UNIXÚconnectr   r%   Úpiper   r   ÚgetfdÚsetblockingr   Ú
ConnectionÚfilenoÚanswer_challengeÚdeliver_challengeÚ_detachr   Úsendfdsr&   )	r   ÚfdsÚclientÚparent_rÚchild_wÚchild_rÚparent_wÚallfdsÚwrapped_clients	   &&       r   Úconnect_to_new_processÚ!ForkServer.connect_to_new_processQ   s£  € ð 	×ÑÔØ×'×'Ð'Ð'Ð'Üˆs‹8�a�<œ>Ô)Ü˜^Ó,Ð,Ü�]Š]œ6Ÿ>™>×*Ô*¨fØ�N‰N˜4×3Ñ3Ô4Ü "§¢£	ÑˆHÜ "§¢£	ÑˆGØ¨×(AÑ(AÜ&×,Ò,Ó.ð0ˆFà�MˆFð"Ø×"Ñ" 4Ô(Ü!+×!6Ò!6°v·}±}³Ó!G�ð'Ü×/Ò/Ø*×,DÑ,DôFä×0Ò0Ø*×,DÑ,DôFð #×*Ñ*Ô,Ø&Ü×!Ò! &Ô1ØÐ)ô —’˜Ô!Ü—’˜Ô!÷9 +Ò*øð$ #×*Ñ*Ô,Ù&ûðÜ—’˜Ô"Ü—’˜Ô"Øûä—’˜Ô!Ü—’˜Õ!ú÷9 +×*Ð*úsJ   Á7A4H;Ã,5GÄ"A GÅ")GÆ,H;ÇGÇGÇ/HÈH
È
.H8È8H;È;I	c           	     ó�  € V P                   ;_uu_ 4        \        P                  ! 4        V P                  e�   \        P
                  ! V P                  \        P                  4      w  rV'       g    RRR4       R# \        P                  ! V P                  4       RV n	        RV n
        RV n        RV n        Rp/ pRpV P                  '       dM   \        P                  ! R4      pRV9   d   VR,          VR&   RV9   d   VR,          VR&   RV9   d
   VR,          p\        P                  ! \        P                  4      ;_uu_ 4       p\         P"                  ! R4      pVP%                  V4       \&        P(                  ! V4      '       g   \        P*                  ! VR	4       VP-                  4        \        P.                  ! 4       w  rš\        P.                  ! 4       w  r¼ VP1                  4       W›.pW´R
&   W7P1                  4       W�P                  V3,          p\        P2                  ! 4       pV.\&        P4                  ! 4       ,           pVRV.,          pVe	   Wõ,          p\&        P6                  ! WïV4      p \        P                  ! T	4       \        P                  ! T4        \        P8                  ! \:        4      T n	        \        P<                  ! YÀP                  4       \        P                  ! T4       Y€n
        Y n        Yn        RRR4       RRR4       R#    \        P                  ! T
4       \        P                  ! T4       h ; i  \        P                  ! T	4       \        P                  ! T4       i ; i  \        P                  ! T4       i ; i  + '       g   i     L˜; i  + '       g   i     R# ; i)zÍMake sure that a fork server is running.

This can be called from any process.  Note that usually a child
process will just reuse the forkserver started by its parent, so
ensure_running() will do nothing.
Nzfimport sys; from multiprocessing.forkserver import main; main(%d, %d, %r, sys_argv=sys.argv[1:], **%r)ÚignoreÚsys_pathÚinit_main_from_pathÚ	main_pathÚsys_argvrA   i€  Ú	authkey_rz-c)r   r   r<   r   r%   r'   ÚWNOHANGr&   r   r   r   r   r   Úget_preparation_datar@   rA   r   Úarbitrary_addressÚbindr	   r(   ÚchmodÚlistenrC   rG   Úget_executableÚ_args_from_interpreter_flagsÚspawnv_passfdsÚurandomÚ_AUTHKEY_LENÚwrite)r   ÚpidÚstatusÚcmdÚmain_kwsr[   ÚdataÚlistenerÚaddressÚalive_rÚalive_wr\   Ú	authkey_wÚfds_to_passÚexeÚargss   &               r   r<   ÚForkServer.ensure_running{   sÉ  € ð �Z�Z‹ZÜ×+Ò+Ô-Ø×#Ñ#Ò/ä Ÿjšj¨×)=Ñ)=¼r¿z¹zÓJ‘�ßà÷ ‰Zô —’˜×2Ñ2Ô3Ø+/�Ô(Ø+/�Ô(Ø,0�Ô)Ø'+�Ô$ðCˆCð ˆHØˆHØ×$×$Ð$Ü×1Ò1°(Ó;�Ø Ô%Ø+/°
Õ+;�H˜ZÑ(Ø(¨DÔ0Ø,0Ð1FÕ,G�H˜[Ñ)Ø Ô%Ø# JÕ/�Hä—’œvŸ~™~×.Ô.°(Ü$×6Ò6°yÓA�Ø—‘˜gÔ&Ü×8Ò8¸×AÒAÜ—H’H˜W eÔ,Ø—‘Ô!ô $&§7¢7£9Ñ �ä')§w¢w£yÑ$�	ð(Ø#+§?¡?Ó#4°gÐ"I�KØ,5˜[Ñ)ØŸO™OÓ-¨w×8MÑ8MØ$ð&õ &�Cä×.Ò.Ó0�CØ˜5¤4×#DÒ#DÓ#FÕF�DØ˜T 3˜KÕ'�DØÒ+ØÕ(˜Ü×-Ò-¨c¸ÓE‘Cô —H’H˜WÔ%Ü—H’H˜YÔ'ð(Ü/1¯zªz¼,Ó/G�DÔ,Ü—H’H˜Y×(@Ñ(@ÔAä—H’H˜YÔ'Ø+2Ô(Ø,3Ô)Ø'*Ô$÷O /÷G ‰ZøðtÜ—H’H˜WÔ%Ü—H’H˜YÔ'Øûä—H’H˜WÔ%Ü—H’H˜YÕ'ûô —H’H˜YÕ'ú÷I /×.ú÷G �ZˆZúsp   •AN4Á=AN4ÃA8N4Å	BN!	Ç#BL#É=,N!	Ê*?NË)(N!	ÌN4Ì#/MÍMÍ.NÎN!	ÎNÎN!	Î!N1Î,N4Î4O	)r   r   r   r   r   r   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r"   r!   r6   r9   rT   r<   Ú__static_attributes__Ú__classdictcell__)Ú__classdict__s   @r   r   r   #   s0   ø‡ € ò-ò"ò
(ò .ò#ò("÷TQ+ð Q+r   r   r[   r\   c               óè  € Veb    \         P                  ! V\        4      p\        V4      \        8X  g   Q \        V4       R\         24       h \         P                  ! V4       MRpV'       dª   Ve   V\
        P                  R&   Ve   V\
        P                  R&   RV9   dK   VeG   R\        P                  ! 4       n
         \        P                  ! V4       \        P                  ! 4       =
V F  p \        V4       K  	  \        P                   ! 4        \        P"                  ! 4        \         P$                  ! 4       w  rš\         P&                  ! V	R4       \         P&                  ! V
R4       R p\(        P*                  V\(        P,                  \(        P.                  /pVP1                  4        UUu/ uF  w  rÞV\(        P(                  ! WÞ4      bK  	  ppp\(        P2                  ! V
4       / p\4        P4                  ! \4        P6                  V R	7      ;_uu_ 4       p\8        P:                  ! 4       ;_uu_ 4       pVP=                  4       \>        n         VPC                  V\8        PD                  4       VPC                  V\8        PD                  4       VPC                  V	\8        PD                  4          VPG                  4        UUu. uF  w  ppVPH                  NK  	  pppV'       g   K9   TT9   d*   \         P                  ! T^4      R8X  g   Q R
4       h\J        hT	T9   dº   \         P                  ! T	R4         \         PL                  ! R\         PN                  4      w  ppT^ 8X  d   MpTPS                  TR4      pTe<   \         PT                  ! T4      p \W        TT4       \         P                  ! T4       Kƒ  \Z        P\                  ! RT,          4       K¢  TT9   Ed$   TP_                  4       ^ ,          ;_uu_ 4       p T'       de   \`        Pb                  ! TPe                  4       4      p \`        Pf                  ! TT4       \`        Ph                  ! TT4       TPk                  4        ?\l        Pn                  ! T\p        ^,           4      p\        T4      \p        8”  d$   \w        RPy                  \        T4      4      4      hTvpppTP	                  4        \         Pz                  ! 4       pT^ 8X  d»   ^p TP	                  4        TP	                  4        TTYš.pTP}                  TP                  4       4       \€        P‚                  ! 4        \€        PB                  ! \        P„                  4       \‡        TTTT4      p\€        P’                  ! 4        \         P”                  ! T4       MG \W        TT4       TTT&   \         P                  ! T4       T F  p \         P                  ! T 4       K  	  RRR4       EKW  EKZ    \         P                  ! T4       i ; i  \        P                  ! 4       =
i ; i  \         d     EKi  i ; iu uppi u uppi   \P         d     EK‘  i ; i  \X         d     ELÚi ; i  TPk                  4        ?i ; i  \r        \X        \t        3 d    TP	                  4         RRR4       EK  i ; i  \ˆ         dJ    \
        PŠ                  ! \
        PŒ                  ! 4       !   \
        PŽ                  P‘                  4         EL™i ; i  \€        P’                  ! 4        \         P”                  ! T4       i ; i  \X         d     EL¢i ; i  + '       g   i     EKÊ  ; i  \–         d-   p!T!P˜                  \˜        Pš                  8w  d   h  Rp!?!EKÿ  Rp!?!ii ; i  + '       g   i     M; iRRR4       R#   + '       g   i     R# ; i)zRun forkserver.Nz < r   :NNNr   TFc                  ó   € R # r    © )Ú_unuseds   *r   Úsigchld_handlerÚmain.<locals>.sigchld_handlerù   s   € ár   )rG   zNot at EOF?i   z.forkserver: waitpid returned unexpected pid %dzToo many ({0:n}) fds to sendéÿÿÿÿ)Nr%   Úreadrg   r=   r&   ÚsysÚargvÚpathr   Úcurrent_processÚ_inheritingr   Úimport_main_pathÚ
__import__ÚImportErrorr	   Ú_flush_std_streamsÚ_close_stdinrC   Úset_blockingÚsignalÚSIGCHLDÚSIGINTÚSIG_IGNÚitemsÚset_wakeup_fdr@   rA   Ú	selectorsÚDefaultSelectorÚgetsocknameÚ_forkserverr   ÚregisterÚ
EVENT_READÚselectÚfileobjÚ
SystemExitr'   r]   ÚChildProcessErrorÚpopÚwaitstatus_to_exitcodeÚwrite_signedÚBrokenPipeErrorÚwarningsÚwarnÚacceptr   rF   rG   rI   rH   rJ   r   Úrecvfdsr>   ÚEOFErrorr   ÚRuntimeErrorÚformatÚforkÚextendÚvaluesÚatexitÚ_clearÚ_exit_functionÚ
_serve_oneÚ	ExceptionÚ
excepthookÚexc_infoÚstderrÚflushÚ_run_exitfuncsÚ_exitÚOSErrorÚerrnoÚECONNABORTED)"Úlistener_fdrp   ÚpreloadrZ   rX   r[   r\   ÚauthkeyÚmodnameÚsig_rÚsig_wr‚   ÚhandlersÚsigÚvalÚold_handlersÚ	pid_to_fdrn   ÚselectorÚkeyÚeventsÚrfdsri   ÚstsrO   Ú
returncodeÚsÚ	wrapped_srL   rP   ÚcodeÚ
unused_fdsÚfdÚes"   &&&&&$$                           r   ÚmainrÔ   Ò   s   € ð Òð	 Ü—g’g˜i¬Ó6ˆGÜ�w“<¤<Ô/ÐS´C¸³L°>ÀÄ\ÀNÐ1SÓSÑ/ä�HŠH�YÕàˆçØÒØ"ŒC�H‰H�Q‰KØÒØ"ŒC�H‰H�Q‰KØ˜Ô  YÒ%:Ø48ŒG×#Ò#Ó%Ô1ð:Ü×&Ò& yÔ1ä×+Ò+Ó-Ð9ÛˆGðÜ˜7Ö#ñ ô 	×ÒÔ!ä×ÒÔä—7’7“9�L€EÜ‡O‚O�E˜5Ô!Ü‡O‚O�E˜5Ô!òô 	�‰˜ä�‰”v—~‘~ð	
€Hð '/§n¡nÔ&6ô8Ù&6™
˜ð œŸš sÓ0Ò0Ù&6ð ñ 8ô ×Ò˜Ôð €Iä	�Š”v—~‘~¨k×	:Õ	:¸hÜ	×	"Ò	"×	$Ô	$¨Ø*2×*>Ñ*>Ó*@ŒÔ'à×Ñ˜(¤I×$8Ñ$8Ô9Ø×Ñ˜'¤9×#7Ñ#7Ô8Ø×Ñ˜%¤×!5Ñ!5Ô6àðcØØ=E¿_¹_Ô=NÔOÑ=N©M¨S°&˜CŸKœKÑ=N�DÑOß‘tØà˜d”?äŸ7š7 7¨AÓ.°#Ô5ÐD°}ÓDÐ5Ü$Ð$à˜D”=ä—G’G˜E 5Ô)Øð"Ü')§z¢z°"´b·j±jÓ'A™H˜C ð  !œ8Ø!Ø"+§-¡-°°TÓ":˜Ø"Ò.Ü)+×)BÒ)BÀ3Ó)G˜Jð%Ü ,¨W°jÔ Aô ŸHšH WÖ-ô %ŸMšMð +>Ø@Cõ+Dö Eð ˜tÕ#à!Ÿ™Ó*¨1×-Ö-°ð%ß&Ü,6×,AÒ,AÀ!Ç(Á(Ã*Ó,M 	ð!2Ü$.×$@Ò$@Ø,5°wô%@ä$.×$?Ò$?Ø,5°wô%@ð %.×$5Ñ$5Ô$7Ø(1ä"+×"3Ò"3°A´~ÈÕ7IÓ"J˜Cô ˜s›8¤nÔ4Ü".Ø >× EÑ EÜ$'¨£Hó!.ó#/ð /ð 25Ð.˜ ¨3ØŸ™œ	Ü Ÿgšg›i˜Ø !œ8à#$˜Dð/Ø (§¡Ô 0Ø (§¡Ô 0Ø.5°wÀÐ-M 
Ø *× 1Ñ 1°)×2BÑ2BÓ2DÔ EÜ &§¢¤Ü &§¢´×0CÑ0CÔ DÜ'1°'¸3Ø2<Ø2>ó(@ ô !'× 5Ò 5Ô 7Ü "§¢¨¥ð%Ü ,¨W°cÔ :ð .5˜I c™NÜŸHšH WÔ-Û&) Ü "§¢¨¦ñ '*÷m .Ò-ò $øôC �HŠH�YÕûô ×+Ò+Ó-Ñ9ûô ô Ûðüó.8ùó( Pøô   1ô "Û!ð"ûô $3ô %â $ð%ûð. %.×$5Ñ$5Ô$7Ù(1ûô !)¬/Ô;NÐOô %ØŸG™GœIØ$÷% .Ò-ð %ûô. $-ô 3Ü #§¢´·²³Ò ?Ü #§
¡
× 0Ñ 0× 2ð3ûô !'× 5Ò 5Ô 7Ü "§¢¨¥ûô
 $3ô %â $ð%ú÷c .×-Ñ-ûôr ô Ø—7‘7œe×0Ñ0Ô0Øö 1ûðú÷S 
%×	$ú÷ 
;×	:×	:Ò	:úsž  †AX ÃX1 Ã5YÆ9"YÈ$_ ÉA;_	Ê>^	ËY$Ë*^	Ë7A^	Í(Y*Í04^	Î%Y=Î1A^	Ð]4Ð,Z%Ð>.ZÑ,3Z%ÒA*]4Ô
B[Ö,]4×]"×:]4Ø^	Ø_	ØX.Ø1YÙYÙYÙ$^	Ù*Y:Ù5^	Ù9Y:Ù:^	Ù=ZÚ^	ÚZÚ^	ÚZ"Ú"Z%Ú%&[Û]4Û^	Û_	Û[Û]4ÛA\/Ü+\2Ü.\/Ü/\2Ü2-]Ý]4Ý"]1Ý-]4Ý0]1Ý1]4Ý4^Ý?^	Þ_	Þ^	Þ	_ Þ ^;Þ4_	Þ;_ ß _	ß_ß_ ß _1	c                 óz  € \         P                  ! R4       VP                  4        F  w  rE\         P                   ! WE4       K  	  V F  p\        P                  ! V4       K  	  Vv\
        n        \        P                  n	        \
        n
        \        P                  ! V 4      p\        P                  ! W4      pV# )é   r„   )r‘   r–   r•   r%   r&   rš   r   r   Ú_resource_trackerÚ_fdr   Údupr   Ú_main)	rP   rL   rÑ   rÃ   rÄ   rÅ   rÒ   Úparent_sentinelrÐ   s	   &&&&     r   r²   r²   {  s‡   € ä
×Ò˜ÔØ—N‘NÖ$‰ˆÜ�Š�cÖñ %ãˆÜ
�Š�Žñ ð
 %(ð"„[Ô%Ü×'Ñ'Ô+ÜÔ ô —f’f˜W“o€OÜ�;Š;�wÓ0€Dà€Kr   c                 óî   € \        \        P                  4      p\        V4      pV'       d/   \        P
                  ! W4      pV^ 8X  d   \        R4      hW#R pK6  \        P                  V4      ^ ,          # )r   zunexpected EOFN)Ú	bytearrayÚSIGNED_STRUCTÚsizeÚ
memoryviewr%   Úreadintor©   Úunpack)rÒ   rm   ÚunreadÚcounts   &   r   Úread_signedrå   ’  s_   € Ü”]×'Ñ'Ó(€DÜ˜Ó€Fß
Ü—’˜BÓ'ˆØ�AŒ:ÜÐ+Ó,Ð,Ø˜�Šä×Ñ Ó% aÕ(Ð(r   c                 óœ   € \         P                  V4      pV'       d/   \        P                  ! W4      pV^ 8X  d   \	        R4      hW#R pK6  R# )r   zshould not get hereN)rÞ   Úpackr%   rh   rª   )rÒ   ÚnÚmsgÚnbytess   &&  r   r£   r£   �  sD   € Ü
×
Ñ
˜QÓ
€Cß
Ü—’˜"Ó"ˆØ�QŒ;ÜÐ4Ó5Ð5Ø�'ˆlŠñ	 r   )r<   r9   rT   r6   )NN)#r¯   r»   r%   r—   r‘   r@   Ústructr†   r   r¥   Ú r   r   r   Úcontextr   r   r   r	   Ú__all__r>   ÚStructrÞ   rg   Úobjectr   rÔ   r²   rå   r£   rš   r<   r9   rT   r6   r€   r   r   Ú<module>rñ      sÈ   ðÛ Û Û 	Û Û Û Û Û 
Û Û å !Ý Ý Ý Ý Ý Ý ò%€ð €Ø—’˜cÓ"€Ø€ôi+�ô i+ñ^fØðfØ%)õfòRò.	)òñ ‹l€Ø×+Ñ+€Ø×1Ñ1Ð Ø$×;Ñ;Ð Ø$×;Ñ;Ò r   