Ë
    _§1hög  ã                  ó�  — U d dl mZ 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	m
Z
 d dlmZmZ d dlmZ d dlmZ d dlmZ d dlmZmZmZ d d	lmZ d dlZd dlZd d
lmZmZ ddlm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z' ddl(m)Z)m*Z* ddl+m,Z, ddl-m.Z.m/Z/m0Z0 erd dl1m2Z2 d dl3m4Z4 ddl5m6Z6 ejn                  dk(  rdZ8de9d<   neZ8de9d<   de9d<   de9d<   de9d<   ejt                  dk(  Z;ese;sejn                  dk7  rd dlm<Z<m=Z=m>Z> nd\  Z<Z=Z>dHd„Z? e?d«      Z@ e?d«      ZA e?d«      ZBe;rdId „ZCndId!„ZCe	 	 	 	 	 	 dJd"„«       ZDe	 	 	 	 	 	 dJd#„«       ZEejŒ                  j�                  d$eDeEgd%d&g¬'«      ZHe
d(ee!   f   ZIde9d)<   eHdKd*„«       ZJeHdKd+„«       ZKeH	 	 	 	 dKd,„«       ZLeHdKd-„«       ZMeHdKd.„«       ZN e?d/«      ZOeHdKd0„«       ZPeHdKd1„«       ZQdLd2„ZRdLd3„ZSe)dLd4„«       ZTeHdKd5„«       ZUdLd6„ZVeHdKd7„«       ZWejŒ                  j±                  e; d8¬9«      eHdKd:„«       «       ZYejŒ                  j±                  e; d8¬9«      eH	 	 	 	 dKd;„«       «       ZZe*dLd<„«       Z[dLd=„Z\dLd>„Z]dMd?„Z^ejŒ                  j±                  e; d@¬9«      	 	 	 	 	 	 dNdA„«       Z_dLdB„Z`ejŒ                  j±                   edC«      jÃ                  «        dD¬9«      dLdE„«       ZbdMdF„ZcdLdG„Zdy)Oé    )ÚannotationsN)ÚAsyncIteratorÚCallable)ÚAbstractAsyncContextManagerÚasynccontextmanager)Úpartial)ÚPath)ÚSignals)ÚTYPE_CHECKINGÚAnyÚNoReturn)Úmock)ÚMatcherÚRaisesGroupé   )ÚEventÚProcessÚ_coreÚ
fail_afterÚmove_on_afterÚrun_processÚsleepÚsleep_forever)Úskip_if_fbsd_pipes_brokenÚslow)Úopen_process)Ú	MockClockÚassert_no_checkpointsÚwait_all_tasks_blocked)Ú	FrameType)Ú	TypeAlias)ÚReceiveStreamÚwin32r!   Ú
SignalTypeÚSIGKILLÚSIGTERMÚSIGUSR1Úposix)r%   r&   r'   )NNNc                ó0   — t         j                  ddd| z   gS )Nz-uú-czimport sys; )ÚsysÚ
executable)Úcodes    úY/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/trio/_tests/test_subprocess.pyÚpythonr/   B   s   € Ü�N‰N˜D $¨¸Ñ(=Ð>Ð>ó    zsys.exit(0)zsys.exit(1)z0sys.stdout.buffer.write(sys.stdin.buffer.read())c                ó   — dt        | «      gS )Nr   )Ústr©Úsecondss    r.   ÚSLEEPr5   L   s   € Øœ˜W›Ð&Ð&r0   c                ó    — t        d| › d�«      S )Nzimport time; time.sleep(ú))r/   r3   s    r.   r5   r5   Q   s   € ÜÐ0°°	¸Ð;Ó<Ð<r0   c                óò   K  — t        | i |¤Žƒ d {  –—† }	 |­–— |j                  «        |j                  «       ƒ d {  –—†  y 7 Œ37 Œ# |j                  «        |j                  «       ƒ d {  –—†7   w xY w­w©N)r   ÚkillÚwait)ÚargsÚkwargsÚprocs      r.   Úopen_process_then_killr?   U   sb   è ø€ ô
 ˜tÐ. vÑ.×.€DðØ‹
à�	‰	ŒØ�i‰i‹k×Ñð /øð
 	ùð 	�	‰	ŒØ�i‰i‹k×ÒüsB   ‚A7‘A’A7—A	 œ#A7¿AÁ A7ÁA7Á	$A4Á-A0Á.A4Á4A7c                óz  K  — t        j                  «       4 ƒd {  –—† }|j                  dd«       |j                  t	        t
        g| ¢­i |¤Ž«      ƒ d {  –—† }t        |t        «      sJ ‚|}|­–— |j                  j                  «        d d d «      ƒd {  –—†  y 7 Œ„7 ŒJ7 Œ	# 1 ƒd {  –—†7  sw Y   y xY w­w)NÚcheckF)
r   Úopen_nurseryÚ
setdefaultÚstartr   r   Ú
isinstancer   Úcancel_scopeÚcancel)r<   r=   ÚnurseryÚvaluer>   s        r.   Úrun_process_in_nurseryrJ   b   s¥   è ø€ ô
 ×!Ñ!Ó#÷ &ð & wØ×Ñ˜' 5Ô)Ø—m‘m¤G¬KÐ$I¸$Ò$IÀ&Ñ$IÓJ×JˆÜ˜%¤Ô)Ð)Ð)ØˆØ‹
Ø×Ñ×#Ñ#Ô%÷&÷ &ñ &øàJøð&ø÷ &÷ &ñ &üsV   ‚B;›B œB;Ÿ8B&ÁB"Á7B&ÂB;ÂB$ÂB;Â"B&Â$B;Â&B8Â,B/Â-B8Â4B;Úbackground_processr   zrun_process in nursery)Úids.ÚBackgroundProcessTypec              ƒ  óh  K  —  | t         «      4 ƒd {  –—† }|j                  «       ƒ d {  –—†  d d d «      ƒd {  –—†  t        t        «      sJ ‚|j                  �J ‚|j
                  dk(  sJ ‚t        |«      dt         › d�k(  sJ ‚ | t        «      4 ƒd {  –—† }|j                  «       ƒ d {  –—†  d d d «      ƒd {  –—†  |j
                  dk(  sJ ‚t        |«      dj                  t        d«      k(  sJ ‚y 7 Œè7 ŒÒ7 ŒÄ# 1 ƒd {  –—†7  sw Y   ŒÔxY w7 Œ}7 Œg7 ŒY# 1 ƒd {  –—†7  sw Y   ŒixY w­w)Nr   ú<trio.Process ú: exited with status 0>é   ú<trio.Process {!r}: {}>úexited with status 1)	Ú	EXIT_TRUEr;   rE   r   Ú_pidfdÚ
returncodeÚreprÚ
EXIT_FALSEÚformat©rK   r>   s     r.   Ú
test_basicr[   |   s)  è ø€ á!¤)Ó,÷ ð °Ø�i‰i‹k×Ð÷÷ ä�dœGÔ$Ð$Ð$Ø�;‰;ÐÐÐØ�?‰?˜aÒÐÐÜ�‹:˜>¬)¨Ð4KÐLÒLÐLÐLá!¤*Ó-÷ ð °Ø�i‰i‹k×Ð÷÷ à�?‰?˜aÒÐÐÜ�‹:Ð2×9Ñ9ÜØóò ð ñ ðøØøðø÷ ÷ ñ úðøØøðø÷ ÷ ñ üs¦   ‚D2“C<”D2—D«C>¬D°D2»D ¼AD2ÂDÂD2ÂDÂ1DÂ2DÂ6D2ÃDÃ;D2Ã>DÄ D2ÄDÄDÄ	DÄD2ÄDÄD2ÄD/Ä#D&Ä$D/Ä+D2c              ƒ  óÞ  K  — t        j                  dd¬«      5   | t        «      4 ƒd {  –—† }|j                  �J ‚|j	                  «       ƒ d {  –—†  d d d «      ƒd {  –—†  t        t        «      sJ ‚|j                  �J ‚|j                  dk(  sJ ‚t        |«      dt        › d�k(  sJ ‚ | t        «      4 ƒd {  –—† }|j	                  «       ƒ d {  –—†  d d d «      ƒd {  –—†  |j                  dk(  sJ ‚t        |«      dj                  t        d	«      k(  sJ ‚	 d d d «       y 7 Œÿ7 ŒÛ7 ŒÍ# 1 ƒd {  –—†7  sw Y   ŒÝxY w7 Œ†7 Œp7 Œb# 1 ƒd {  –—†7  sw Y   ŒrxY w# 1 sw Y   y xY w­w)
Nú#trio._subprocess.can_try_pidfd_openF©Únewr   rO   rP   rQ   rR   rS   )r   ÚpatchrT   rU   r;   rE   r   rV   rW   rX   rY   rZ   s     r.   Útest_basic_no_pidfdra   Ž   sd  è ø€ ä	�‰Ð9¸uÔ	Eñ 
Ù%¤iÓ0÷ 	ð 	°DØ—;‘;Ð&Ð&Ð&Ø—)‘)“+×Ð÷	÷ 	ô ˜$¤Ô(Ð(Ð(Ø�{‰{Ð"Ð"Ð"Ø�‰ !Ò#Ð#Ð#Ü�D‹z˜~¬i¨[Ð8OÐPÒPÐPÐPá%¤jÓ1÷ 	ð 	°TØ—)‘)“+×Ð÷	÷ 	à�‰ !Ò#Ð#Ð#Ü�D‹zÐ6×=Ñ=ÜØ"ó
ò 
ð 	
ñ 
÷
ð 
ð	øàøð	ø÷ 	÷ 	ñ 	úð	øØøð	ø÷ 	÷ 	ñ 	ú÷
ð 
üsÈ   ‚E-šE!«D+¬E!¯"D1ÁD-ÁD1ÁE!Á!D/Á"AE!Â?EÃ E!ÃEÃEÃEÃE!Ã'E
Ã(9E!Ä"	E-Ä+E!Ä-D1Ä/E!Ä1E	Ä7D:Ä8E	Ä?E!ÅEÅ
E!ÅE	ÅEÅE	ÅE!Å!E*Å&E-c              ƒ  ó’  K  —  | t        d«      «      4 ƒd {  –—† }|j                  �J ‚dt        |«      v sJ ‚|j                  «        |j                  j                  «        |j                  €J ‚dt        |«      v sJ ‚|j                  �J ‚|j                  €J ‚d d d «      ƒd {  –—†  y 7 Œ•7 Œ# 1 ƒd {  –—†7  sw Y   y xY w­w)Né'  ÚrunningÚexited)r5   rV   rW   r:   Ú_procr;   rU   )rK   Úps     r.   Útest_auto_update_returncoderh   ¢   s¿   è ø€ ñ "¤%¨£+Ó.÷ (ð (°!Ø�|‰|Ð#Ð#Ð#ØœD ›GÑ#Ð#Ð#Ø	�‰ŒØ	�‰�‰ŒØ�|‰|Ð'Ð'Ð'Øœ4 ›7Ñ"Ð"Ð"Ø�x‰xÐÐÐØ�|‰|Ð'Ð'Ð'÷(÷ (ñ (øð (ø÷ (÷ (ñ (üsE   ‚C˜B.™CœBB2ÂCÂ(B0Â)CÂ0CÂ2CÂ8B;Â9CÃ Cc              ƒ  ó–  K  —  | t        d«      «      4 ƒd {  –—† }t        j                  «       4 ƒd {  –—† }|j                  |j                  «       |j                  |j                  «       |j                  |j                  «       t        «       ƒ d {  –—†  |j                  j                  «        d d d «      ƒd {  –—†  t        j                  «       4 ƒd {  –—† }|j                  |j                  «       |j                  |j                  «       |j                  |j                  «       t        «       ƒ d {  –—†  |j                  «        d d d «      ƒd {  –—†  d d d «      ƒd {  –—†  y 7 �Œ`7 �ŒF7 Œå7 Œ½# 1 ƒd {  –—†7  sw Y   ŒÍxY w7 Œ·7 ŒV7 Œ8# 1 ƒd {  –—†7  sw Y   ŒHxY w7 Œ?# 1 ƒd {  –—†7  sw Y   y xY w­w)Né
   )	r5   r   rB   Ú
start_soonr;   r   rF   rG   r:   ©rK   r>   rH   s      r.   Útest_multi_waitrm   ±   sl  è ø€ á!¤%¨£)Ó,÷ ð °ä×%Ñ%Ó'÷ 	*ð 	*¨7Ø×Ñ˜tŸy™yÔ)Ø×Ñ˜tŸy™yÔ)Ø×Ñ˜tŸy™yÔ)Ü(Ó*×*Ð*Ø× Ñ ×'Ñ'Ô)÷	*÷ 	*ô ×%Ñ%Ó'÷ 	ð 	¨7Ø×Ñ˜tŸy™yÔ)Ø×Ñ˜tŸy™yÔ)Ø×Ñ˜tŸy™yÔ)Ü(Ó*×*Ð*Ø�I‰IŒK÷	÷ 	÷÷ ñ ùð	*ùð +øð		*ø÷ 	*÷ 	*ñ 	*úð	øð +øð		ø÷ 	÷ 	ñ 	úðø÷ ÷ ñ üsñ   ‚G	˜E8™G	œF4µE;¶F4¹AFÂE>ÂFÂ7F4ÃF ÃF4ÃFÃ F4Ã#AFÅFÅFÅF4Å"FÅ#F4Å'G	Å2F2Å3G	Å;F4Å>FÆ F4ÆF	ÆFÆ	F	ÆF4ÆFÆF4ÆF/	Æ#F&Æ$F/	Æ+F4Æ2G	Æ4GÆ:F=Æ;GÇG	c           	   ƒ  óî  K  — t        j                  dd¬«      5   | t        d«      «      4 ƒd {  –—† }t        j                  «       4 ƒd {  –—† }|j                  |j                  «       |j                  |j                  «       |j                  |j                  «       t        «       ƒ d {  –—†  |j                  j                  «        d d d «      ƒd {  –—†  t        j                  «       4 ƒd {  –—† }|j                  |j                  «       |j                  |j                  «       |j                  |j                  «       t        «       ƒ d {  –—†  |j                  «        d d d «      ƒd {  –—†  d d d «      ƒd {  –—†  d d d «       y 7 �Œh7 �ŒN7 Œí7 ŒÅ# 1 ƒd {  –—†7  sw Y   ŒÕxY w7 Œ¿7 Œ^7 Œ@# 1 ƒd {  –—†7  sw Y   ŒPxY w7 ŒG# 1 ƒd {  –—†7  sw Y   ŒWxY w# 1 sw Y   y xY w­w)Nr]   Fr^   rj   )r   r`   r5   r   rB   rk   r;   r   rF   rG   r:   rl   s      r.   Útest_multi_wait_no_pidfdro   Å   s•  è ø€ ä	�‰Ð9¸uÔ	Eñ Ù%¤e¨B£iÓ0÷ 	ð 	°Dä×)Ñ)Ó+÷ .ð .¨wØ×"Ñ" 4§9¡9Ô-Ø×"Ñ" 4§9¡9Ô-Ø×"Ñ" 4§9¡9Ô-Ü,Ó.×.Ð.Ø×$Ñ$×+Ñ+Ô-÷.÷ .ô ×)Ñ)Ó+÷ ð ¨wØ×"Ñ" 4§9¡9Ô-Ø×"Ñ" 4§9¡9Ô-Ø×"Ñ" 4§9¡9Ô-Ü,Ó.×.Ð.Ø—	‘	”÷÷ ÷	÷ 	÷ð ð	ùð.ùð /øð	.ø÷ .÷ .ñ .úðøð /øð	ø÷ ÷ ñ úð	ø÷ 	÷ 	ñ 	ú÷ð üs  ‚G5šG)°F±G)´GÁF
ÁGÁAF"Â0F
Â1F"ÃGÃF ÃGÃ7F7
Ã8GÃ;AF=ÅF9
ÅF=Å/GÅ:F;Å;GÅ?G)Æ
GÆG)Æ	G5ÆG)ÆGÆF"Æ GÆ"F4Æ(F+Æ)F4Æ0GÆ9F=Æ;GÆ=GÇGÇGÇGÇG)ÇG&	ÇGÇG&	Ç"G)Ç)G2Ç.G5zbdata = sys.stdin.buffer.read(); sys.stdout.buffer.write(data); sys.stderr.buffer.write(data[::-1])c           
   ƒ  ó$  ‡‡K  —  | t         t        j                  t        j                  t        j                  ¬«      4 ƒd {  –—† ŠdŠdˆˆfd„}d	d„}‰j                  €J ‚‰j                  €J ‚t        j                  «       4 ƒd {  –—† }t        j                  «       dz   |j                  _	        |j                  |«       |j                  |‰j                  ‰«       |j                  |‰j                  ‰d d d…   «       d d d «      ƒd {  –—†  j                  j                  rJ ‚‰j                  «       ƒ d {  –—† dk(  sJ ‚d d d «      ƒd {  –—†  y 7 �Œ7 ŒÔ7 ŒO# 1 ƒd {  –—†7  sw Y   Œ_xY w7 Œ67 Œ## 1 ƒd {  –—†7  sw Y   y xY w­w)
N©ÚstdinÚstdoutÚstderrs+   the quick brown fox jumps over the lazy dogc               “  ó¼   •K  — ‰j                   €J ‚‰j                   j                  ‰ «      ƒ d {  –—†  ‰j                   j                  «       ƒ d {  –—†  y 7 Œ'7 Œ­wr9   )rr   Úsend_allÚaclose)Úmsgr>   s   €€r.   Ú
feed_inputztest_pipes.<locals>.feed_inputë   sN   øè ø€ Ø—:‘:Ð)Ð)Ð)Ø—*‘*×%Ñ% cÓ*×*Ð*Ø—*‘*×#Ñ#Ó%×%Ñ%ð +øØ%ús!   ƒ-A°A±!AÁAÁAÁAc              “  óV   K  — t        «       }| 2 3 d {  –—† }||z  }Œ7 Œ
6 ||k(  sJ ‚y ­wr9   )Ú	bytearray)ÚstreamÚexpectedÚseenÚchunks       r.   Úcheck_outputz test_pipes.<locals>.check_outputð   s;   è ø€ Ü“;ˆDØ%÷ ð �eØ˜‘‘ðø˜và˜8Ò#Ð#Ñ#ùs   ‚)� “” —)ž  	)g      >@éÿÿÿÿr   ©ÚreturnÚNone)r|   r"   r}   Úbytesrƒ   r„   )Ú+COPY_STDIN_TO_STDOUT_AND_BACKWARD_TO_STDERRÚ
subprocessÚPIPErs   rt   r   rB   Úcurrent_timerF   Údeadlinerk   Úcancelled_caughtr;   )rK   ry   r€   rH   rx   r>   s       @@r.   Ú
test_pipesrŒ   á   se  ùè ø€ á!Ü3Ü�o‰oÜ�‰Ü�‰ô	÷ &ð &ð
 
Ø<ˆö	&ó
	$ð �{‰{Ð&Ð&Ð&Ø�{‰{Ð&Ð&Ð&ä×%Ñ%Ó'÷ 	Eð 	E¨7ä,1×,>Ñ,>Ó,@À4Ñ,GˆG× Ñ Ô)Ø×Ñ˜zÔ*Ø×Ñ˜|¨T¯[©[¸#Ô>Ø×Ñ˜|¨T¯[©[¸#¹dÀ¸d¹)ÔD÷	E÷ 	Eð ×'Ñ'×8Ò8Ð8Ð8Ø—Y‘Y“[×  AÒ%Ð%Ð%÷=&÷ &ñ &ùð,	Eøð 	Eø÷ 	E÷ 	Eñ 	Eúð !øð=&ø÷ &÷ &ñ &üs�   „?FÁEÁFÁAE;Â	EÂ
E;ÂA8E"ÄE;ÄE Ä/E;Å E7Å	E;Å
FÅE9ÅFÅE;Å E;Å"E4	Å(E+Å)E4	Å0E;Å9FÅ;FÆFÆFÆ	Fc              ƒ  óL  ‡‡K  —  | t        d«      t        j                  t        j                  t        j                  ¬«      4 ƒd {  –—† Št        rdndŠdˆˆfd„}‰j                  €J ‚‰j
                  €J ‚‰j                  €J ‚t        d«      5  ‰j                  j                  d«      ƒ d {  –—†  t        d«      ƒ d {  –—†  ‰j                  j                  d	‰z   «      ƒ d {  –—†   |d
d«      ƒ d {  –—†  ‰j                  j                  d‰z   dz   ‰z   «      ƒ d {  –—†   |dd«      ƒ d {  –—†   |dd«      ƒ d {  –—†  ‰j                  j                  d‰z   «      ƒ d {  –—†   |dd
«      ƒ d {  –—†  ‰j                  j                  d«      ƒ d {  –—†  t        d«      5 } |dd
«      ƒ d {  –—†  d d d «       j                  sJ ‚‰j                  j                  ‰«      ƒ d {  –—†   |dd«      ƒ d {  –—†  ‰j                  j                  «       ƒ d {  –—†  ‰j
                  j                  d«      ƒ d {  –—† dk(  sJ ‚‰j                  j                  d«      ƒ d {  –—† dk(  sJ ‚‰j                  «       ƒ d {  –—†  d d d «       d d d «      ƒd {  –—†  ‰j                  d
k(  sJ ‚y 7 �Œ|7 �Œ7 �Œ7 �Œâ7 �ŒÔ7 �Œ«7 �Œ�7 �Œ�7 �Œl7 �Œ^7 �Œ>7 �Œ$# 1 sw Y   �Œ$xY w7 Œú7 Œë7 ŒË7 Œª7 Œ„7 Œi# 1 sw Y   ŒhxY w7 Œ_# 1 ƒd {  –—†7  sw Y   ŒoxY w­w)Nz×idx = 0
while True:
    line = sys.stdin.readline()
    if line == '': break
    request = int(line.strip())
    print(str(idx * 2) * request)
    print(str(idx * 2 + 1) * request * 2, file=sys.stderr)
    idx += 1
rq   ó   
s   
c              “  ó~  •K  — t        j                  «       4 ƒd {  –—† }	 	 	 	 	 	 	 	 dˆfd„}‰j                  €J ‚‰j                  €J ‚|j	                  |‰j                  || dz  «       |j	                  |‰j                  |dz  | dz  dz   «       d d d «      ƒd {  –—†  y 7 Œ‡7 Œ# 1 ƒd {  –—†7  sw Y   y xY w­w)Nc              “  ó  •K  — |dkD  rO| j                  |«      ƒ d {  –—† }||› j                  «       t        |«      z  k(  sJ ‚|t        |«      z  }|dkD  rŒO|dk(  sJ ‚| j                  t        ‰«      «      ƒ d {  –—† ‰k(  sJ ‚y 7 Œi7 Œ­w)Nr   )Úreceive_someÚencodeÚlen)r|   ÚcountÚdigitÚresultÚnewlines       €r.   Ú	drain_onez3test_interactive.<locals>.expect.<locals>.drain_one%  s—   øè ø€ ð
   !š)Ø'-×':Ñ':¸5Ó'A×!A˜Ø%¨U¨G×*;Ñ*;Ó*=ÄÀFÃÑ*KÒLÐLÐLØ¤ V£Ñ,˜ð   !›)ð ! Aš:Ð%˜:Ø!'×!4Ñ!4´S¸³\Ó!B×BÀgÒMÐMÑMð	 "Bøð Cús'   ƒB�Bž9BÁ$BÁ<B	Á=BÂ	Br   rQ   )r|   r"   r”   Úintr•   r™   rƒ   r„   )r   rB   rs   rt   rk   )ÚidxÚrequestrH   r˜   r—   r>   s       €€r.   Úexpectz test_interactive.<locals>.expect"  sÞ   øè ø€ Ü×)Ñ)Ó+÷ Uð U¨wð
NØ)ð
Nàð
Nð ð
Nð õ	
Nð —{‘{Ð.Ð.Ð.Ø—{‘{Ð.Ð.Ð.Ø×"Ñ" 9¨d¯k©k¸7ÀCÈ!ÁGÔLØ×"Ñ" 9¨d¯k©k¸7ÀQ¹;ÈÈaÉÐRSÉÔT÷#U÷ Uñ Uøð Uø÷ U÷ Uñ UüsE   ƒB=œB$�B= A3B(ÂB=ÂB&ÂB=Â&B=Â(B:Â.B1Â/B:Â6B=é   s   12gš™™™™™¹?s   345r   i90  s   100s   200rQ   éd   r   éÈ   ó   0é   s   999999é   i?B r0   )rš   r™   r›   r™   rƒ   r„   )r/   r‡   rˆ   r(   rr   rs   rt   r   rv   r   r   r‹   rw   r‘   r;   rV   )rK   rœ   Úscoper—   r>   s      @@r.   Útest_interactiver¤     sË  ùè ø€ ñ "Üðó		
ô �o‰oÜ�‰Ü�‰ô÷ ;ð ;ð 
Ý ‘% gˆö	Uð( �z‰zÐ%Ð%Ð%Ø�{‰{Ð&Ð&Ð&Ø�{‰{Ð&Ð&Ð&Ü˜‹]ñ 	Ø—*‘*×%Ñ% eÓ,×,Ð,Ü˜“*×ÐØ—*‘*×%Ñ% f¨wÑ&6Ó7×7Ð7Ù˜˜EÓ"×"Ð"Ø—*‘*×%Ñ% f¨wÑ&6¸Ñ&?À'Ñ&IÓJ×JÐJÙ˜˜C“.× Ð Ù˜˜C“.× Ð Ø—*‘*×%Ñ% d¨W¡nÓ5×5Ð5Ù˜˜A“,×ÐØ—*‘*×%Ñ% iÓ0×0Ð0Ü˜sÓ#ð # uÙ˜Q “l×"Ð"÷#à×)Ò)Ð)Ð)Ø—*‘*×%Ñ% gÓ.×.Ð.Ù˜˜FÓ#×#Ð#Ø—*‘*×#Ñ#Ó%×%Ð%ØŸ™×1Ñ1°!Ó4×4¸Ò;Ð;Ð;ØŸ™×1Ñ1°!Ó4×4¸Ò;Ð;Ð;Ø—)‘)“+×Ð÷'	÷Q;÷ ;ðz �?‰?˜aÒÐÑð{;ùðR -ùØùØ7ùØ"ùØJùØ ùØ ùØ5ùØùØ0ùà"ù÷#ñ #úð /øØ#øØ%øØ4øØ4øØø÷'	ð 	úðQ;ø÷ ;÷ ;ñ ;üs¥  „AL$ÁKÁ	L$ÁALÂLÂ2KÂ3LÃK
Ã%LÃ+KÃ,LÃ<KÃ=+LÄ(KÄ)LÄ9KÄ:LÅ
KÅ%LÅ0KÅ1LÆKÆ"LÆ$K"Æ%LÆ4K(ÇK%
ÇK(Ç4LÇ:K5Ç;LÈK7È!LÈ-K9È."LÉK;É'LÉ8K=É9LÊK?ÊLÊLÊ"L$Ê-LÊ.L$ËLË
LËLËLËLËLËLËLËLË"LË%K(Ë(K2Ë-	LË7LË9LË;LË=LË?LÌL
	ÌLÌL$ÌL!ÌLÌL!ÌL$c               ƒ  óÎ  K  — t        d„ t        d«      D «       «      } t        t        | dd¬«      ƒ d {  –—† }|j                  t        k(  sJ ‚|j
                  dk(  sJ ‚|j                  | k(  sJ ‚|j                  dk(  sJ ‚t        t        d¬«      ƒ d {  –—† }|j                  t        k(  sJ ‚|j
                  dk(  sJ ‚|j                  dk(  sJ ‚|j                  �J ‚t        t        | dd¬«      ƒ d {  –—† }|j                  t        k(  sJ ‚|j
                  dk(  sJ ‚|j                  | k(  sJ ‚|j                  | d d d…   k(  sJ ‚t        j                  t        «      5  t        t        d	¬
«      ƒ d {  –—†  d d d «       d}t        j                  t        |¬«      5  t        t        t        j                  ¬
«      ƒ d {  –—†  d d d «       t        j                  t        |¬«      5  t        t        t        j                  ¬«      ƒ d {  –—†  d d d «       t        j                  t        |j                  ddd«      ¬«      5  t        t        t        j                  ¬«      ƒ d {  –—†  d d d «       t        j                  t        d¬«      5  t        t        dt        j                   ¬«      ƒ d {  –—†  d d d «       t        j                  t        d¬«      5  t        t        dd ¬«      ƒ d {  –—†  d d d «       y 7 �ŒÎ7 �Œp7 �Œ7 �Œ•# 1 sw Y   �Œ•xY w7 �ŒX# 1 sw Y   �ŒXxY w7 �Œ# 1 sw Y   �ŒxY w7 ŒÐ# 1 sw Y   ŒÏxY w7 Œ’# 1 sw Y   Œ‘xY w7 Œb# 1 sw Y   y xY w­w)Nc              3  óH   K  — | ]  }t        j                  d d«      –— Œ y­w)r   éÿ   N)ÚrandomÚrandint)Ú.0Ú_s     r.   ú	<genexpr>ztest_run.<locals>.<genexpr>R  s   è ø€ Ò>¨A”—‘  3×'Ñ>ùs   ‚ "i   T)rr   Úcapture_stdoutÚcapture_stderrr   r0   ©r­   r�   zoh no, it's text©rr   z¬^stdout=subprocess\.PIPE is only valid with nursery\.start, since that's the only way to access the pipe(; use nursery\.start or pass the data you want to write directly)*$©Úmatch)rs   rs   rt   rQ   )rt   z.^can't specify both stdout and capture_stdout$)r­   rs   z.^can't specify both stderr and capture_stderr$)r®   rt   )r…   Úranger   ÚCATr<   rV   rs   rt   r†   ÚpytestÚraisesÚUnicodeErrorÚ
ValueErrorr‡   rˆ   ÚreplaceÚDEVNULL)Údatar–   Úpipe_stdout_errors      r.   Útest_runr½   Q  s  è ø€ ÜÑ>´°u³Ô>Ó>€DäÜØØØô	÷ €Fð �;‰;œ#ÒÐÐØ×Ñ Ò!Ð!Ð!Ø�=‰=˜DÒ Ð Ð Ø�=‰=˜CÒÐÐäœs°4Ô8×8€FØ�;‰;œ#ÒÐÐØ×Ñ Ò!Ð!Ð!Ø�=‰=˜CÒÐÐØ�=‰=Ð Ð Ð äÜ3ØØØô	÷ €Fð �;‰;ÔEÒEÐEÐEØ×Ñ Ò!Ð!Ð!Ø�=‰=˜DÒ Ð Ð Ø�=‰=˜D¡ 2 ™JÒ&Ð&Ð&ô 
�‰”|Ó	$ñ 9Üœ#Ð%7Ô8×8Ð8÷9ð HÐÜ	�‰”zÐ):Ô	;ñ 6Üœ#¤Z§_¡_Ô5×5Ð5÷6ä	�‰”zÐ):Ô	;ñ 7Üœ#¤j§o¡oÔ6×6Ð6÷7ä	�‰ÜØ×'Ñ'¨°(¸AÓ>ô
ñ 7ô œ#¤j§o¡oÔ6×6Ð6÷	7ô
 
�‰ÜØ?ô
ñ Oô œ#¨d¼:×;MÑ;MÔN×NÐN÷	Oô
 
�‰ÜØ?ô
ñ Aô œ#¨d¸4Ô@×@Ð@÷	Að Að_ùð 9ùðùð 	9ù÷9ñ 9úð
 	6ù÷6ñ 6úð 	7ù÷7ñ 7úð 	7ø÷	7ð 7úð 	Oø÷	Oð Oúð 	Aø÷	Að Aüs2  ‚2M%´LµA M%ÂLÂAM%Ã5LÃ6A+M%Å!LÅ6LÅ7LÅ;%M%Æ #LÇLÇLÇ#M%Ç+#L.ÈL+ÈL.È4M%É#L=É*L;É+L=É/#M%Ê$MÊ6M	Ê7MÊ;#M%ËMË4MË5MË9
M%ÌM%ÌM%ÌLÌLÌM%ÌLÌL(Ì#M%Ì+L.Ì.L8Ì3M%Ì;L=Ì=MÍM%Í	MÍMÍM%ÍMÍM"ÍM%c               ƒ  ój  K  — t        d«      } t        j                  t        j                  «      5 }t        | t        j                  d¬«      ƒ d {  –—†  d d d «       j                  j                  | k(  sJ ‚|j                  j                  dk(  sJ ‚|j                  j                  dk(  sJ ‚|j                  j                  �J ‚t        | ddd¬«      ƒ d {  –—† }|j                  | k(  sJ ‚|j                  dk(  sJ ‚|j                  dk(  sJ ‚|j                  dk(  sJ ‚y 7 ŒÑ# 1 sw Y   ŒÐxY w7 ŒW­w)	Nz/sys.stderr.buffer.write(b'test\n'); sys.exit(1)T)rr   r®   rQ   s   test
F)r­   r®   rA   r0   )r/   rµ   r¶   r‡   ÚCalledProcessErrorr   rº   rI   ÚcmdrV   rt   rs   r<   )rÀ   Úexcinfor–   s      r.   Útest_run_checkrÂ   Š  s'  è ø€ Ü
ÐCÓ
D€CÜ	�‰”z×4Ñ4Ó	5ð N¸Ü˜#¤Z×%7Ñ%7ÈÔM×MÐM÷Nà�=‰=×Ñ Ò#Ð#Ð#Ø�=‰=×#Ñ# qÒ(Ð(Ð(Ø�=‰=×Ñ 9Ò,Ð,Ð,Ø�=‰=×ÑÐ'Ð'Ð'äØØØØô	÷ €Fð �;‰;˜#ÒÐÐØ�=‰=˜CÒÐÐØ�=‰=˜IÒ%Ð%Ð%Ø×Ñ Ò!Ð!Ñ!ð 	Nø÷Nð Núðús<   ‚/D3± D%ÁD#ÁD%ÁBD3ÃD1ÃA	D3Ä#D%Ä%D.Ä*D3c               ƒ  óÄ   K  — t        t        j                  ddgddz  ¬«      ƒ d {  –—† } | j                  dk(  sJ ‚| j                  | j
                  cxu r�J ‚ J ‚y 7 Œ6­w)Nr*   zimport sys; sys.stdin.close()ó   xi   r°   r   )r   r+   r,   rV   rs   rt   )r–   s    r.   Útest_run_with_broken_piperÅ   Ÿ  sb   è ø€ äÜ	�‰˜Ð>Ð?Ø�V‰mô÷ €Fð ×Ñ Ò!Ð!Ð!Ø�=‰=˜FŸM™MÔ1Ð1Ñ1Ð1Ñ1ðús   ‚%A §A¨7A c              ƒ  ó  K  —  | t         t        j                  t        j                  t        j                  ¬«      4 ƒd {  –—† }|j                  €J ‚|j
                  €J ‚|j                  �J ‚|j                  j                  d«      ƒ d {  –—†  |j                  j                  «       ƒ d {  –—†  g }	 |j                  j                  d«      ƒ d {  –—† }|dk(  rn|j                  |«       Œ;dj                  |«      dk(  sJ ‚d d d «      ƒd {  –—†  j                  dk(  sJ ‚t        t         ddt        j                  ¬«      ƒ d {  –—† }|j                  dk(  sJ ‚|j
                  dk(  sJ ‚|j                  �J ‚ | t        t        j                  t        j                  ¬	«      4 ƒd {  –—† }|j
                  �J ‚|j                  �J ‚|j                  j!                  «       ƒ d {  –—†  |j#                  «       ƒ d {  –—†  d d d «      ƒd {  –—†  |j                  dk(  sJ ‚t$        �rJ	 t'        j(                  «       \  }} | t         t        j                  |t        j                  ¬«      4 ƒd {  –—† }t'        j*                  |«       |j                  �J ‚|j
                  �J ‚|j                  �J ‚|j                  j                  d«      ƒ d {  –—†  |j                  j!                  «       ƒ d {  –—†  |j#                  «       ƒ d {  –—† dk(  sJ ‚t'        j,                  |d
«      dk(  sJ ‚t'        j,                  |d
«      dk(  sJ ‚d d d «      ƒd {  –—†  t'        j*                  |«       y y 7 �Œ?7 �Œõ7 �ŒÖ7 �Œ³7 �Œx# 1 ƒd {  –—†7  sw Y   �Œ‰xY w7 �ŒW7 �Œö7 �Œ»7 �Œ¦7 �Œ™# 1 ƒd {  –—†7  sw Y   �ŒªxY w7 �ŒM7 Œí7 ŒÍ7 Œ·7 Œn# 1 ƒd {  –—†7  sw Y   Œ~xY w# t'        j*                  «       w xY w­w)Nrq   s   1234Té   r0   s   12344321r   )rr   r­   rt   )rr   rt   i   )r†   r‡   rˆ   ÚSTDOUTÚstdiors   rt   rv   Úsend_eofr‘   ÚappendÚjoinrV   r   r´   rr   rw   r;   r(   ÚosÚpipeÚcloseÚread)rK   r>   Úoutputr   r–   ÚrÚws          r.   Útest_stderr_stdoutrÔ   ©  s’  è ø€ á!Ü3Ü�o‰oÜ�‰Ü× Ñ ô	÷ /ð /ð
 
Ø�z‰zÐ%Ð%Ð%Ø�{‰{Ð&Ð&Ð&Ø�{‰{Ð"Ð"Ð"Ø�j‰j×!Ñ! 'Ó*×*Ð*Ø�j‰j×!Ñ!Ó#×#Ð#àˆØØŸ*™*×1Ñ1°"Ó5×5ˆEØ˜Š|ØØ�M‰M˜%Ô ð	 ð
 �x‰x˜Ó ;Ò.Ð.Ð.÷%/÷ /ð& �?‰?˜aÒÐÐô Ü3ØØÜ× Ñ ô	÷ €Fð ×Ñ Ò!Ð!Ð!Ø�=‰=˜KÒ'Ð'Ð'Ø�=‰=Ð Ð Ð ñ "ÜÜ�o‰oÜ× Ñ ô÷ ð ð 
Ø�{‰{Ð"Ð"Ð"Ø�{‰{Ð"Ð"Ð"Ø�j‰j×ÑÓ!×!Ð!Ø�i‰i‹k×Ð÷÷ ð �?‰?˜aÒÐÐæð	Ü—7‘7“9‰DˆAˆqá)Ü;Ü —o‘oØÜ!×(Ñ(ô	÷ /ð /ð
 Ü—‘˜”Ø—z‘zÐ)Ð)Ð)Ø—{‘{Ð*Ð*Ð*Ø—{‘{Ð*Ð*Ð*Ø—j‘j×)Ñ)¨'Ó2×2Ð2Ø—j‘j×'Ñ'Ó)×)Ð)Ø!ŸY™Y›[×(¨AÒ-Ð-Ð-Ü—w‘w˜q $Ó'¨;Ò6Ð6Ð6Ü—w‘w˜q $Ó'¨3Ò.Ð.Ð.÷/÷ /ô  �H‰H�Q�Kð) ð[/ùð 	+ùØ#ùð 6ùð/ù÷ /÷ /ò /úð,ùðùð 	"ùØùðù÷ ÷ ò úð/ùð 3øØ)øØ(øð/ø÷ /÷ /ñ /ûô  �H‰H�Q�Küs�  ‚?PÁN ÁPÁA	NÂNÂ!NÂ0NÂ1%NÃN	Ã2NÄ	PÄNÄ9PÅN%ÅA#PÆ2N(Æ3PÆ6:N4Ç0N+Ç1N4ÈN.È	N4ÈPÈN1ÈPÈ6AO* É=O
É>O* ÊAOËOË !OÌOÌOÌOÌ?OÍO* Í$OÍ%O* Í)PÎNÎNÎ	NÎPÎN"ÎNÎN"Î	PÎ(PÎ+N4Î.N4Î1PÎ4OÎ:N=Î;OÏPÏ
O* ÏOÏOÏOÏO* ÏO'ÏOÏO'Ï#O* Ï*PÐPc               ƒ  ó   K  — t        j                  t        «      5 } t        dgd¬«      ƒ d {  –—†  d d d «       dt	         j
                  «      v sJ ‚dt	        | j
                  «      v sJ ‚t        rpt        j                  t        «      5 } t        dgd¬«      ƒ d {  –—†  d d d «       t        j                  t        «      5 } t        dd¬«      ƒ d {  –—†  d d d «       y y 7 Œµ# 1 sw Y   Œ´xY w7 ŒS# 1 sw Y   ŒRxY w7 Œ*# 1 sw Y   y xY w­w)	NÚlszutf-8)Úencodingzunbuffered byte streamsz&the 'encoding' option is not supportedT)ÚshellF)rµ   r¶   Ú	TypeErrorr   r2   rI   r(   )rÁ   s    r.   Útest_errorsrÚ   ï  sñ   è ø€ Ü	�‰”yÓ	!ð 5 Wä˜D˜6¨GÔ4×4Ð4÷5ð %¬¨G¯M©MÓ(:Ñ:Ð:Ð:Ø3´s¸7¿=¹=Ó7IÑIÐIÐIåÜ�]‰]œ9Ó%ð 	3¨Ü ˜v¨TÔ2×2Ð2÷	3ä�]‰]œ9Ó%ð 	2¨Ü˜t¨5Ô1×1Ð1÷	2ð 	2ð ð	 	5ø÷5ð 5úð 3ø÷	3ð 	3úð 2ø÷	2ð 	2üs€   ‚DœC&®C$¯C&³ADÂC4ÂC2ÂC4Â#!DÃDÃD ÃDÃ
DÃ$C&Ã&C/Ã+DÃ2C4Ã4C=Ã9DÄ DÄDÄDc              ƒ  ó*  ‡ K  — 	 	 	 	 	 	 dˆ fd„} |t         j                  t        «      ƒ d {  –—†   |t         j                  t        «      ƒ d {  –—†  t
        st        st        j                  dk7  r |d„ t        «      ƒ d {  –—†  y y 7 Œ^7 Œ=7 Œ
­w)Nc              “  ó�  •K  — t        d«      5 } ‰t        d«      «      4 ƒd {  –—† } | |«       |j                  «       ƒ d {  –—†  d d d «      ƒd {  –—†  d d d «       j                  rJ ‚t        r|€J ‚j
                  | k(  sJ ‚y j
                  dk7  sJ ‚y 7 Œy7 Œ[7 ŒM# 1 ƒd {  –—†7  sw Y   Œ]xY w# 1 sw Y   ŒaxY w­w)Nç      ð?é  r   )r   r5   r;   r‹   r(   rV   )Úsend_itÚsignumr£   r>   rK   s       €r.   Útest_one_signalz%test_signals.<locals>.test_one_signalÿ  sÅ   øè ø€ ô ˜3Óð 	" 5Ù)¬%°«+Ó6÷ "ð "¸$Ù˜”Ø—i‘i“k×!Ð!÷"÷ "÷	"ð ×)Ò)Ð)Ð)ÝØÐ%Ð%Ð%Ø—?‘? v gÒ-Ð-Ñ-à—?‘? aÒ'Ð'Ñ'ð"øà!øð"ø÷ "÷ "ñ "ú÷	"ð 	"üst   ƒC�B:¥B¦B:©B%ÁB!ÁB%Á
B:ÁB#ÁB:ÁACÂB:Â!B%Â#B:Â%B7	Â+B.Â,B7	Â3B:Â:CÂ?Cr#   c                ó,   — | j                  t        «      S r9   )Úsend_signalr'   ©r>   s    r.   ú<lambda>ztest_signals.<locals>.<lambda>  s   € ¨4×+;Ñ+;¼GÓ+D€ r0   )rß   zCallable[[Process], None]rà   zsignal.Signals | Nonerƒ   r„   )
r   r:   r%   Ú	terminater&   r   r(   r+   Úplatformr'   )rK   rá   s   ` r.   Útest_signalsrè   ý  s‹   øè ø€ ð(Ø*ð(à%ð(ð 
õ(ñ œ'Ÿ,™,¬Ó
0×0Ð0Ù
œ'×+Ñ+¬WÓ
5×5Ð5õ �e¬¯©¸Ò(?ÙÑDÄgÓN×NÑNð )@ð 1øØ5øð 	Oús3   ƒ+B®B¯"BÁBÁ4BÂBÂBÂBÂBzPOSIX specific)Úreasonc              ƒ  ón  K  — t         rt        j                  dk(  ry t        j                  t        j                  t        j
                  «      }	  | t        d«      «      4 ƒd {  –—† }t        j                  «       4 ƒd {  –—† }|j                  |j                  «       t        «       ƒ d {  –—†  |j                  «        t        j                  «       dz   |j                  _        d d d «      ƒd {  –—†  j                  j                   rJ ‚|j"                  dk(  sJ ‚d d d «      ƒd {  –—†  t        j                  t        j                  |«       y 7 Œò7 Œ×7 Œ¬7 Œh# 1 ƒd {  –—†7  sw Y   ŒxxY w7 ŒF# 1 ƒd {  –—†7  sw Y   ŒVxY w# t        j                  t        j                  |«       w xY w­w)Nr#   rÞ   rÝ   r   )r   r+   rç   ÚsignalÚSIGCHLDÚSIG_IGNr5   r   rB   rk   r;   r   r:   r‰   rF   rŠ   r‹   rV   ©rK   Úold_sigchldr>   rH   s       r.   Útest_wait_reapable_failsrð     sU  è ø€ õ œŸ™¨Ò0ØÜ—-‘-¤§¡´·±Ó?€Kð3ñ &¤e¨D£kÓ2÷ 	(ð 	(°dÜ×)Ñ)Ó+÷ Kð K¨wØ×"Ñ" 4§9¡9Ô-Ü,Ó.×.Ð.Ø—	‘	”Ü05×0BÑ0BÓ0DÀsÑ0J�×$Ñ$Ô-÷	K÷ Kð
 ×+Ñ+×<Ò<Ð<Ð<Ø—?‘? aÒ'Ð'Ð'÷	(÷ 	(ô 	�‰”f—n‘n kÕ2ð	(øðKøà.øðKø÷ K÷ Kñ Kúð	(ø÷ 	(÷ 	(ñ 	(ûô 	�‰”f—n‘n kÕ2üsÀ   ‚AF5ÁF Á%EÁ&F Á)E7ÂEÂE7Â)E Â/EÂ0:E Ã*E7Ã5EÃ6-E7Ä#F Ä.E5Ä/F Ä3%F5ÅF ÅE7ÅE ÅE7Å E2	Å&E)Å'E2	Å.E7Å5F Å7F	Å=F Å>F	ÆF Æ&F2Æ2F5c           	   ƒ  óÈ  K  — t         rt        j                  dk(  ry t        j                  dd¬«      5  t        j
                  t
        j                  t
        j                  «      }	  | t        d«      «      4 ƒd {  –—† }t        j                  «       4 ƒd {  –—† }|j                  |j                  «       t        «       ƒ d {  –—†  |j                  «        t        j                  «       dz   |j                   _        d d d «      ƒd {  –—†  j                   j$                  rJ ‚|j&                  dk(  sJ ‚d d d «      ƒd {  –—†  t        j
                  t
        j                  |«       	 d d d «       y 7 Œû7 Œà7 Œµ7 Œq# 1 ƒd {  –—†7  sw Y   Œ�xY w7 ŒO# 1 ƒd {  –—†7  sw Y   Œ_xY w# t        j
                  t
        j                  |«       w xY w# 1 sw Y   y xY w­w)Nr#   r]   Fr^   rÞ   rÝ   r   )r   r+   rç   r   r`   rë   rì   rí   r5   r   rB   rk   r;   r   r:   r‰   rF   rŠ   r‹   rV   rî   s       r.   Ú!test_wait_reapable_fails_no_pidfdrò   1  s~  è ø€ õ
 œŸ™¨Ò0ØÜ	�‰Ð9¸uÔ	Eñ 7Ü—m‘m¤F§N¡N´F·N±NÓCˆð	7ñ *¬%°«+Ó6÷ ,ð ,¸$Ü ×-Ñ-Ó/÷ Oð O°7Ø×&Ñ& t§y¡yÔ1Ü0Ó2×2Ð2Ø—I‘I”KÜ49×4FÑ4FÓ4HÈ3Ñ4N�G×(Ñ(Ô1÷	O÷ Oð
 #×/Ñ/×@Ò@Ð@Ð@Ø—‘¨!Ò+Ð+Ð+÷,÷ ,ô �M‰Mœ&Ÿ.™.¨+Õ6÷7ð 7ð,øðOøà2øðOø÷ O÷ Oñ Oúð,ø÷ ,÷ ,ñ ,ûô �M‰Mœ&Ÿ.™.¨+Õ6ú÷7ð 7üsÖ   ‚2G"´3GÁ(F-Á=E9Á>F-ÂFÂE;
ÂFÂ)FÃE=
Ã:FÄFÄE?Ä-FÄ;F-ÅFÅF-Å$GÅ0	G"Å9F-Å;FÅ=FÅ?FÆFÆF
ÆFÆFÆF-ÆF*	ÆF!ÆF*	Æ&F-Æ-&GÇGÇGÇG"c                 ó,  ‡‡— ddl m}  t        r't        j                  dk(  st        j                  dk(  ry | j
                  j                  d«      st        j                  d«       ddl	m
} dŠt        j                  d	d
g«      Šdˆˆfd„}t        j                  t        j                  |«      }	 t        j                  d«        |‰j                   «       ‰j#                  d¬«      dk(  sJ ‚	 ‰j$                  € ‰j'                  «        ‰j#                  «        t        j                  t        j                  |«       y # ‰j$                  € ‰j'                  «        ‰j#                  «        t        j                  t        j                  |«       w xY w)Nr   )Úwait_child_exitingr#   ÚdarwinÚwaitidzwaitid only)Úsync_wait_reapableFr   Ú3600c                ó*   •— dŠ‰j                  «        y ©NT)r:   )ÚsigÚframeÚ	got_alarmÚsleepers     €€r.   Úon_alarmz#test_waitid_eintr.<locals>.on_alarm`  s   ø€ àˆ	Ø�‰�r0   rQ   )Útimeouti÷ÿÿÿ)rû   r™   rü   zFrameType | Nonerƒ   r„   )Ú_subprocess_platformrô   r   r+   rç   Ú
__module__Úendswithrµ   ÚskipÚ_subprocess_platform.waitidr÷   r‡   ÚPopenrë   ÚSIGALRMÚalarmÚpidr;   rV   r:   )rô   r÷   rÿ   Úold_sigalrmrý   rþ   s       @@r.   Útest_waitid_eintrr  J  s  ù€ õ :åœ#Ÿ,™,¨'Ò1´S·\±\ÀXÒ5MØà×(Ñ(×1Ñ1°(Ô;Ü�‰�MÔ"õ
ð €IÜ×Ñ ¨Ð0Ó1€Göô
 —-‘-¤§¡°Ó9€Kð
3Ü�‰�QŒÙ˜7Ÿ;™;Ô'Ø�|‰| Aˆ|Ó&¨"Ò,Ð,Ñ,à×ÑÐ%ð �L‰LŒNØ�L‰LŒNÜ�‰”f—n‘n kÕ2øð ×ÑÐ%ð �L‰LŒNØ�L‰LŒNÜ�‰”f—n‘n kÕ2ús   Â1>E ÅAFc            	   ƒ  ób  ‡K  — dŠdˆfd„} t        j                  «       4 ƒd {  –—† }|j                  t        t        t        d«      | ¬«      «       t        «       ƒ d {  –—†  |j                  j                  «        d d d «      ƒd {  –—†  ‰sJ ‚y 7 Œo7 Œ57 Œ# 1 ƒd {  –—†7  sw Y   ŒxY w­w)NFc              “  óž   •K  — dŠ| j                  «        	 t        «       ƒ d {  –—†  | j                  €J ‚y 7 Œ# | j                  €J ‚w xY w­wrú   )ræ   r   rV   )r>   Úcustom_deliver_cancel_calleds    €r.   Úcustom_deliver_cancelz9test_custom_deliver_cancel.<locals>.custom_deliver_cancelv  sM   øè ø€ à'+Ð$Ø�‰Ôð	/Ü“/×!Ð!à—?‘?Ð.Ð.Ñ.ð "ùà—?‘?Ð.Ð.Ñ.üs%   ƒA—: ¤8¥: ©A¸: ºA
Á
Arc   ©Údeliver_cancel©r>   r   rƒ   r„   ©	r   rB   rk   r   r   r5   r   rF   rG   )r  rH   r  s     @r.   Útest_custom_deliver_cancelr  s  s¡   øè ø€ Ø#(Ð õ	/ô ×!Ñ!Ó#÷ &ð & wØ×ÑÜ”K¤ t£Ð=RÔSô	
ô %Ó&×&Ð&Ø×Ñ×#Ñ#Ô%÷&÷ &ñ (Ð'Ñ'ð&øð 	'øð	&ø÷ &÷ &ñ &üsV   ƒ!B/¤B¥B/¨8BÁ BÁ!BÁ?B/Â
BÂ
B/ÂBÂB/ÂB,Â B#Â!B,Â(B/c                 ó¶   ‡— dd„Šdˆfd„} t        t        t        t        d«      «      «      5  t        j                  | d¬«       d d d «       y # 1 sw Y   y xY w)Nc              “  ó@   K  — | j                  «        t        d«      ‚­w)NÚfoo)ræ   r¸   rä   s    r.   r  z6test_bad_deliver_cancel.<locals>.custom_deliver_cancelŒ  s   è ø€ Ø�‰ÔÜ˜ÓÐùs   ‚c            	   “  óJ  •K  — t        j                  «       4 ƒd {  –—† } | j                  t        t        t        d«      ‰¬«      «       t        «       ƒ d {  –—†  | j                  j                  «        d d d «      ƒd {  –—†  y 7 Œk7 Œ17 Œ	# 1 ƒd {  –—†7  sw Y   y xY w­w)Nrc   r  r  )rH   r  s    €r.   Údo_stuffz)test_bad_deliver_cancel.<locals>.do_stuff�  s‰   øè ø€ Ü×%Ñ%Ó'÷ 	*ð 	*¨7Ø×ÑÜœ¤U¨4£[ÐAVÔWôô )Ó*×*Ð*Ø× Ñ ×'Ñ'Ô)÷	*÷ 	*ñ 	*øð +øð		*ø÷ 	*÷ 	*ñ 	*üsV   ƒB#œB�B# 8BÁB
ÁBÁ7B#ÂBÂB#Â
BÂB#ÂB ÂBÂB ÂB#z^foo$T)Ústrict_exception_groupsr  r‚   )r   r   r¸   r   Úrun)r  r  s    @r.   Útest_bad_deliver_cancelr  ‹  sF   ø€ ó õ*ô 
”[¤¬°WÓ!=Ó>Ó	?ñ :Ü�	‰	�(°DÕ9÷:÷ :ñ :ús   ®AÁAc              ƒ  óî  ‡K  — t         j                  Šdˆfd„}| j                  t         d|«       t        j                  t
        d¬«      5  t        j                  «       4 ƒd {  –—† }|j                  t        t        d«      «       t        «       ƒ d {  –—†  |j                  j                  «        d d d «      ƒd {  –—†  d d d «       y 7 Œh7 Œ97 Œ# 1 ƒd {  –—†7  sw Y   Œ!xY w# 1 sw Y   y xY w­w)Nc                ó*   •—  ‰| «       t        d«      ‚)NÚwhoops)ÚOSError)ÚselfÚoriginal_terminates    €r.   Úbroken_terminatez>test_warn_on_failed_cancel_terminate.<locals>.broken_terminate   s   ø€ Ù˜4Ô Ü�hÓÐr0   ræ   z
.*whoops.*r±   rc   )r!  r   rƒ   r   )r   ræ   Úsetattrrµ   ÚwarnsÚRuntimeWarningr   rB   rk   r   r5   r   rF   rG   )Úmonkeypatchr#  rH   r"  s      @r.   Ú$test_warn_on_failed_cancel_terminater(  �  sÈ   øè ø€ Ü ×*Ñ*Ðõ ð ×Ñœ Ð.>Ô?ä	�‰”n¨LÔ	9ñ *Ü×%Ñ%Ó'÷ 	*ð 	*¨7Ø×Ñœ{¬E°$«KÔ8Ü(Ó*×*Ð*Ø× Ñ ×'Ñ'Ô)÷	*÷ 	*÷*ð *ð	*øà*øð	*ø÷ 	*÷ 	*ñ 	*ú÷*ð *üsx   ƒA	C5ÁC)Á%CÁ&C)Á)-CÂCÂCÂ5C)Ã CÃC)Ã	C5ÃC)ÃCÃC)ÃC&	ÃCÃC&	Ã"C)Ã)C2Ã.C5z
posix onlyc              ƒ  óÂ  K  — |j                  t        dd„ «       t        j                  t        d¬«      5  t        j                  «       4 ƒd {  –—† }|j                  t        t        d«      «       t        «       ƒ d {  –—†  |j                  j                  «        d d d «      ƒd {  –—†  d d d «       y 7 Œh7 Œ97 Œ# 1 ƒd {  –—†7  sw Y   Œ!xY w# 1 sw Y   y xY w­w)Nræ   c                  ó   — y r9   © )r<   s    r.   rå   z8test_warn_on_cancel_SIGKILL_escalation.<locals>.<lambda>²  s   � r0   z.*ignored SIGTERM.*r±   rc   )r$  r   rµ   r%  r&  r   rB   rk   r   r5   r   rF   rG   )Úautojump_clockr'  rH   s      r.   Ú&test_warn_on_cancel_SIGKILL_escalationr-  ­  s·   è ø€ ð
 ×Ñœ Ñ.@ÔAä	�‰”nÐ,AÔ	Bñ *Ü×%Ñ%Ó'÷ 	*ð 	*¨7Ø×Ñœ{¬E°$«KÔ8Ü(Ó*×*Ð*Ø× Ñ ×'Ñ'Ô)÷	*÷ 	*÷*ð *ð	*øà*øð	*ø÷ 	*÷ 	*ñ 	*ú÷*ð *üsv   ‚4C¶CÁB8ÁCÁ-B>Â B:ÂB>ÂCÂ*B<Â+CÂ/	CÂ8CÂ:B>Â<CÂ>C	ÃCÃC	ÃCÃCÃCc               ƒ  ó†  K  — t        t        j                  «      5  t        j                  «       4 ƒd {  –—† } | j                  t        t        «      ƒ d {  –—† }t        |t        «      sJ ‚|}d d d «      ƒd {  –—†  d d d «       j                  dk(  sJ ‚y 7 Œd7 ŒD7 Œ"# 1 ƒd {  –—†7  sw Y   Œ2xY w# 1 sw Y   Œ6xY w­w)NrQ   )r   r‡   r¿   r   rB   rD   r   rX   rE   r   rV   )rH   rI   r>   s      r.   Ú test_run_process_background_failr/  ½  s¦   è ø€ Ü	”Z×2Ñ2Ó	3ñ "Ü×%Ñ%Ó'÷ 	"ð 	"¨7Ø!Ÿ-™-¬´ZÓ@×@ˆEÜ˜e¤WÔ-Ð-Ð-Ø!ˆD÷	"÷ 	"÷"ð
 �?‰?˜aÒÐÑð		"øØ@øð	"ø÷ 	"÷ 	"ñ 	"ú÷"ð "üss   ‚CœB5µB¶B5¹B ÁBÁB Á0B5Á;BÁ<B5Â CÂB5ÂB ÂB5Â B2	Â&B)Â'B2	Â.B5Â5B>Â:Cú/dev/fdz,requires a way to iterate through open filesc               ƒ  ó¾  K  — t        j                  «        t        t        d«      j	                  «       «      } t        t        «      ƒ d {  –—†  t        t        d«      j	                  «       «      | k(  sJ ‚t        j                  t        j                  «      5  t        t        «      ƒ d {  –—†  d d d «       t        t        d«      j	                  «       «      | k(  sJ ‚t        j                  t        «      5  t        dg«      ƒ d {  –—†  d d d «       t        t        d«      j	                  «       «      | k(  sJ ‚y 7 Œó7 Œ“# 1 sw Y   Œ’xY w7 ŒD# 1 sw Y   ŒCxY w­w)Nr0  z	/dev/fd/0)ÚgcÚcollectÚsetÚSyncPathÚiterdirr   rT   rµ   r¶   r‡   r¿   rX   ÚPermissionError)Ústarting_fdss    r.   Útest_for_leaking_fdsr9  Æ  s  è ø€ ô
 ‡J�J„Lä”x 	Ó*×2Ñ2Ó4Ó5€LÜ
”iÓ
 × Ð ÜŒx˜	Ó"×*Ñ*Ó,Ó-°Ò=Ð=Ð=ä	�‰”z×4Ñ4Ó	5ñ &Üœ*Ó%×%Ð%÷&äŒx˜	Ó"×*Ñ*Ó,Ó-°Ò=Ð=Ð=ä	�‰”Ó	'ñ )Ü˜;˜-Ó(×(Ð(÷)äŒx˜	Ó"×*Ñ*Ó,Ó-°Ò=Ð=Ñ=ð !øð 	&ø÷&ð &úð
 	)ø÷)ð )üsh   ‚A	EÁD?ÁAEÂEÂ-EÂ.EÂ2AEÃ:EÄ
EÄEÄ1EÅEÅEÅEÅEÅEÅEc              ƒ  óÞ   K  — dd„}| j                  t        j                  d|«       t        t        t        «      5  t        t        d¬«      ƒ d {  –—†  d d d «       y 7 Œ# 1 sw Y   y xY w­w)Nc               Ÿ  ó   K  — y­w)NÚoopsr+  )r<   r=   s     r.   Úvery_broken_openz9test_run_process_internal_error.<locals>.very_broken_openÝ  s	   è ø€ Øùs   ‚r   Tr¯   )r<   Úobjectr=   r>  rƒ   r2   )r$  ÚtrioÚ_subprocessr   ÚAttributeErrorr   rT   )r'  r=  s     r.   Útest_run_process_internal_errorrB  Ú  s]   è ø€ óð ×Ñœ×(Ñ(¨.Ð:JÔKÜ	”^¤^Ó	4ñ :Üœ)°DÔ9×9Ð9÷:ð :Ø9ø÷:ð :üs.   ‚:A-¼A!ÁAÁA!Á	A-ÁA!Á!A*Á&A-c               ƒ  óª  ‡K  — d Šdˆfd„} t        t        d«      «      ƒ d {  –—† }t        j                  «       4 ƒd {  –—† }|j	                  | |«       t        «       ƒ d {  –—†  t        ‰t        «      sJ ‚|j                  «        t        «       5  |j                  j                  «        |j                  «        d d d «       t        d«      5  ‰j                  «       ƒ d {  –—†  d d d «       ‰j                  «       sJ d«       ‚d d d «      ƒd {  –—†  y 7 Œø7 ŒÝ7 Œ»# 1 sw Y   ŒcxY w7 ŒF# 1 sw Y   ŒExY w7 Œ%# 1 ƒd {  –—†7  sw Y   y xY w­w)Nc              “  óv   •K  — t        «       Š| j                  «       ƒ d {  –—†  ‰j                  «        y 7 Œ­wr9   )r   r;   r4  )r>   Únoticed_exits    €r.   Úwait_and_tellz7test_subprocess_pidfd_unnotified.<locals>.wait_and_tellé  s.   øè ø€ ä“wˆØ�i‰i‹k×ÐØ×ÑÕð 	ús   ƒ9¡7¢9rc   r�   z,child task wasn't woken after poll, DEADLOCKr  )r   r5   r   rB   rk   r   rE   r   ræ   r   rf   r;   Úpollr   Úis_set)rF  r>   rH   rE  s      @r.   Ú test_subprocess_pidfd_unnotifiedrI  æ  s5  øè ø€ Ø€Lõô œe D›kÓ*×*€DÜ×!Ñ!Ó#÷ Uð U wØ×Ñ˜=¨$Ô/Ü$Ó&×&Ð&Ü˜,¬Ô.Ð.Ð.Ø�‰Ôä"Ó$ñ 	à�J‰J�O‰OÔà�I‰IŒK÷		ô
 ˜1Óñ 	&ð ×#Ñ#Ó%×%Ð%÷	&ð ×"Ñ"Ô$ÐTÐ&TÓTÐ$÷U÷ Uð Uð +øðUøà&ø÷	ð 	úð &ø÷	&ð 	&úðUø÷ U÷ Uñ Uüs«   ƒ E£D¤EÁ DÁEÁ D>Á$D Á%0D>Â+D"Ã D>ÃD0Ã'D.Ã(D0Ã,D>ÄEÄD<ÄEÄEÄ D>Ä"D+	Ä'D>Ä.D0Ä0D9	Ä5D>Ä<EÄ>EÅEÅEÅE)r-   r2   rƒ   ú	list[str])r4   r™   rƒ   rJ  )r<   r   r=   r   rƒ   zAsyncIterator[Process])rK   rM   rƒ   r„   r‚   )r'  úpytest.MonkeyPatchrƒ   r„   )r,  r   r'  rK  rƒ   r„   )eÚ
__future__r   r2  rÍ   r¨   rë   r‡   r+   Úcollections.abcr   r   Ú
contextlibr   r   Ú	functoolsr   Úpathlibr	   r5  r
   Útypingr   r   r   Úunittestr   rµ   r?  Útrio.testingr   r   Ú r   r   r   r   r   r   r   r   Ú_core._tests.tutilr   r   Úlowlevelr   Útestingr   r   r   Útypesr    Útyping_extensionsr!   Ú_abcr"   rç   r$   Ú__annotations__Únamer(   r%   r&   r'   r/   rT   rX   r´   r5   r?   rJ   ÚmarkÚparametrizeÚbackground_process_paramrM   r[   ra   rh   rm   ro   r†   rŒ   r¤   r½   rÂ   rÅ   rÔ   rÚ   rè   Úskipifrð   rò   r  r  r  r(  r-  r/  Úexistsr9  rB  rI  r+  r0   r.   ú<module>rb     sâ  ðÞ "ã 	Û 	Û Û Û Û 
ß 3ß GÝ Ý $Ý ÷ñ õ
 ã ã ß -÷	÷ 	ó 	÷ AÝ #ß NÑ NáÝå+å$à‡<�<�7ÒØ €J�	Ô à#€J�	Ó#à	Ó Ø	Ó Ø	Ó à
�‰�7Ñ€Ù™% C§L¡L°GÒ$;ß0Ò0à 0Ñ€GˆW�gó?ñ �=Ó!€	Ù�MÓ"€
ÙÐ?Ó@€áô'ó
=ð ð	Øð	àð	ð ò	ó ð	ð ð
&Øð
&àð
&ð ò
&ó ð
&ð "Ÿ;™;×2Ñ2ØØÐ3Ð4Ø	Ð1Ð2ð 3ó Ð ð $,ØØ Ñ(ð*ñ$Ð �yó ð òó ðð" ò
ó ð
ð& ð(Ø-ð(à	ò(ó ð(ð òó ðð& òó ðñ( /5ð*ó/Ð +ð ò&ó ð&ðD òI ó ðI óX6Aór"ð* ò2ó ð2ð òBó ðBóJ2ð òOó ðOð: ‡�×Ñ˜�IÐ&6ÐÓ7Øò3ó ó 8ð3ð( ‡�×Ñ˜�IÐ&6ÐÓ7Øð7Ø-ð7à	ò7ó ó 8ð7ð. ò%3ó ð%3óP(ó0:ó$*ð  ‡�×Ñ˜�I lÐÓ3ð
*Øð
*à#ð
*ð 
ò
*ó 4ð
*ó ð ‡�×ÑÙ�Ó×"Ñ"Ó$Ð$Ø9ð ó ò>ó	ð>ó :ôUr0   