Ë
    _§1h<Q  ã                  óN  — d dl mZ d dlZd dlmZ d dlZd dlmZ ddlm	Z	m
Z
mZ ddlmZ ddlmZmZ dd	lmZ dd
l­ ddlmZ ddlmZ erd dlmZ d dlmZmZ d"d„Zd#d„Zd"d„Z d$d„Z!d$d„Z"d"d„Z#d"d„Z$d"d„Z%d"d„Z&d"d„Z'd"d„Z(d"d„Z)d"d„Z*d"d„Z+d"d„Z,d"d„Z-d"d„Z.d"d „Z/d"d!„Z0y)%é    )ÚannotationsN)ÚTYPE_CHECKING)ÚRaisesGroupé   )Ú_coreÚsleepÚsocket)Úcan_bind_ipv6)ÚStapledStreamÚaclose_forcefully)ÚSocketListener)Ú*)Ú_assert_raises)Ú_UnboundedByteQueue)ÚNursery)ÚReceiveStreamÚ
SendStreamc               ƒ  ó  ‡K  — g Šdˆfd„} dˆfd„}t        j                  «       4 ƒd {  –—† }|j                  | «       |j                  |«       |j                  |«       d d d «      ƒd {  –—†  g Šdˆfd„}t        j                  «       4 ƒd {  –—† }|j                  |«       |j                  j	                  «        d d d «      ƒd {  –—†  ‰dgk(  sJ ‚y 7 Œ°7 Œo# 1 ƒd {  –—†7  sw Y   ŒxY w7 Œa7 Œ(# 1 ƒd {  –—†7  sw Y   Œ8xY w­w)Nc               “  óŒ   •K  — t        d«      D ]  } t        j                  «       ƒ d {  –—†  Œ  ‰j                  d«       y 7 Œ­w)Né
   zbusy bee exhausted)Úranger   Ú
checkpointÚappend)Ú_Úrecords    €úV/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/trio/_tests/test_testing.pyÚbusy_beez-test_wait_all_tasks_blocked.<locals>.busy_bee   s>   øè ø€ Ü�r“ò 	%ˆAÜ×"Ñ"Ó$×$Ñ$ð	%à�‰Ð*Õ+ð %ús   ƒ&A©AªAc               “  óX   •K  — t        «       ƒ d {  –—†  ‰ j                  d«       y 7 Œ­w)Nzquiet at last!©Úwait_all_tasks_blockedr   ©r   s   €r   Úwaiting_for_bee_to_leavez=test_wait_all_tasks_blocked.<locals>.waiting_for_bee_to_leave    s%   øè ø€ Ü$Ó&×&Ð&Ø�‰Ð&Õ'ð 	'úó   ƒ*‘(’*c               “  óŒ   •K  — 	 t        «       ƒ d {  –—†  y 7 Œ# t        j                  $ r ‰ j                  d«       Y y w xY w­w)NÚok)r    r   Ú	Cancelledr   r!   s   €r   Úcancelled_while_waitingz<test_wait_all_tasks_blocked.<locals>.cancelled_while_waiting,   s6   øè ø€ ð	 Ü(Ó*×*Ò*ùÜ�‰ò 	 Ø�M‰M˜$Öð	 üs0   ƒA… ’“ —A˜ š$A¾AÁ AÁAr%   ©ÚreturnÚNone)r   Úopen_nurseryÚ
start_soonÚcancel_scopeÚcancel)r   r"   Únurseryr'   r   s       @r   Útest_wait_all_tasks_blockedr0      s   øè ø€ Ø€Fõ,õ
(ô ×!Ñ!Ó#÷ 5ð 5 wØ×Ñ˜8Ô$Ø×ÑÐ3Ô4Ø×ÑÐ3Ô4÷5÷ 5ð €Fõ ô ×!Ñ!Ó#÷ &ð & wØ×ÑÐ2Ô3Ø×Ñ×#Ñ#Ô%÷&÷ &ð �d�VÒÐÑð#5øð 5ø÷ 5÷ 5ñ 5úð&øð &ø÷ &÷ &ñ &üs†   ƒ'DªC«D®4CÁ"DÁ-CÁ.$DÂC4ÂDÂ,C8ÃDÃC6ÃDÃDÃC1Ã%C(Ã&C1Ã-DÃ6DÃ8D
Ã>DÃ?D
ÄDc              ƒ  ó`  ‡K  — g Šdˆfd„}t        j                  «       4 ƒd {  –—† }|j                  |«       t        «       ƒ d {  –—†  ‰dgk(  sJ ‚| j	                  d«       t        «       ƒ d {  –—†  ‰ddgk(  sJ ‚d d d «      ƒd {  –—†  y 7 Œl7 ŒK7 Œ"7 Œ# 1 ƒd {  –—†7  sw Y   y xY w­w)Nc               “  ó|   •K  — ‰ j                  d«       t        d«      ƒ d {  –—†  ‰ j                  d«       y 7 Œ­w)Nútt starté   útt finished©r   r   r!   s   €r   Útimeout_taskz?test_wait_all_tasks_blocked_with_timeouts.<locals>.timeout_task;   s/   øè ø€ Ø�‰�jÔ!Ü�A‹h�ˆØ�‰�mÕ$ð 	ús   ƒ <£:¤<r3   r   r5   r(   )r   r+   r,   r    Újump)Ú
mock_clockr7   r/   r   s      @r   Ú)test_wait_all_tasks_blocked_with_timeoutsr:   8   s¯   øè ø€ Ø€Fõ%ô
 ×!Ñ!Ó#÷ 5ð 5 wØ×Ñ˜<Ô(Ü$Ó&×&Ð&Ø˜*˜Ò%Ð%Ð%Ø�‰˜ÔÜ$Ó&×&Ð&Ø˜* mÐ4Ò4Ð4Ð4÷5÷ 5ñ 5øà&øð 	'øð5ø÷ 5÷ 5ñ 5üsh   ƒ!B.¤B¥B.¨BÁBÁ*BÁ2BÁ3BÂ B.ÂBÂB.ÂBÂBÂB.ÂB+ÂB"Â B+Â'B.c               ƒ  óŠ  ‡K  — g Šdˆfd„} dˆfd„}dˆfd„}dˆfd„}t        j                  «       4 ƒd {  –—† }|j                  | «       |j                  |«       |j                  |«       |j                  |«       |j                  |«       d d d «      ƒd {  –—†  ‰g d¢k(  sJ ‚y 7 Œs7 Œ# 1 ƒd {  –—†7  sw Y   Œ xY w­w)Nc               “  óÐ   •K  — ‰ j                  d«       t        d«      ƒ d {  –—†  t        d«      ƒ d {  –—†  t        d«      ƒ d {  –—†  ‰ j                  d«       y 7 Œ<7 Œ+7 Œ­w)Núblink startg{®Gáz„?ú	blink endr6   r!   s   €r   Úblinkz7test_wait_all_tasks_blocked_with_cushion.<locals>.blinkL   sS   øè ø€ Ø�‰�mÔ$Ü�D‹k×ÐÜ�D‹k×ÐÜ�D‹k×ÐØ�‰�kÕ"ð 	øØøØús1   ƒ A&£A ¤A&¶A"·A&Á	A$Á
A&Á"A&Á$A&c               “  óX   •K  — t        «       ƒ d {  –—†  ‰ j                  d«       y 7 Œ­w)Núwait_no_cushion endr   r!   s   €r   Úwait_no_cushionzAtest_wait_all_tasks_blocked_with_cushion.<locals>.wait_no_cushionS   s%   øè ø€ Ü$Ó&×&Ð&Ø�‰Ð+Õ,ð 	'úr#   c               “  óZ   •K  — t        d«      ƒ d {  –—†  ‰ j                  d«       y 7 Œ­w)Ng{®Gáz”?úwait_small_cushion endr   r!   s   €r   Úwait_small_cushionzDtest_wait_all_tasks_blocked_with_cushion.<locals>.wait_small_cushionW   s'   øè ø€ Ü$ TÓ*×*Ð*Ø�‰Ð.Õ/ð 	+úó   ƒ+’)“+c               “  óZ   •K  — t        d«      ƒ d {  –—†  ‰ j                  d«       y 7 Œ­w)Ng¸…ëQ¸ž?úwait_big_cushion endr   r!   s   €r   Úwait_big_cushionzBtest_wait_all_tasks_blocked_with_cushion.<locals>.wait_big_cushion[   s'   øè ø€ Ü$ TÓ*×*Ð*Ø�‰Ð,Õ-ð 	+úrF   )r=   rA   r>   rD   rD   rH   r(   )r   r+   r,   )r?   rB   rE   rI   r/   r   s        @r   Ú(test_wait_all_tasks_blocked_with_cushionrJ   I   sÁ   øè ø€ Ø€Fõ#õ-õ0õ.ô ×!Ñ!Ó#÷ -ð - wØ×Ñ˜5Ô!Ø×Ñ˜?Ô+Ø×ÑÐ-Ô.Ø×ÑÐ-Ô.Ø×ÑÐ+Ô,÷-÷ -ð ò ò ð ñ ð-øð -ø÷ -÷ -ñ -üsE   ƒ3C¶B*·CºAB.ÂCÂB,ÂCÂ,CÂ.C Â4B7Â5C Â<Cc              ƒ  óø  K  — t        «       5  t        j                  «       ƒ d {  –—†  d d d «       t        j                  t
        «      5  t        «       5  	 d d d «       d d d «       t        j                  t        j                  fD ]Q  }t        |«       t        j                  t
        «      5  t        «       5   |«       ƒ d {  –—†  d d d «       d d d «       ŒS t        «       5  t        j                  «       ƒ d {  –—†  t        j                  «       ƒ d {  –—†  d d d «       y 7 �Œ# 1 sw Y   �ŒxY w# 1 sw Y   ŒáxY w# 1 sw Y   ŒåxY w7 ŒŠ# 1 sw Y   Œ‰xY w# 1 sw Y   ŒßxY w7 Œk7 ŒQ# 1 sw Y   y xY w­w©N)	Úassert_checkpointsr   r   ÚpytestÚraisesÚAssertionErrorÚcheckpoint_if_cancelledÚcancel_shielded_checkpointÚprint©ÚrecwarnÚpartial_yields     r   Útest_assert_checkpointsrW   s   sJ  è ø€ Ü	Ó	ñ !Ü×ÑÓ × Ð ÷!ô 
�‰”~Ó	&ñ ÜÓ!ñ 	Ø÷	÷ô 	×%Ñ%Ü×(Ñ(ðò &ˆô 	ˆmÔÜ�]‰]œ>Ó*ñ 	&Ü#Ó%ñ &Ù#“o×%Ð%÷&÷	&ð 	&ð&ô 
Ó	ñ 1Ü×+Ñ+Ó-×-Ð-Ü×.Ñ.Ó0×0Ð0÷1ð 1ð' 	!ù÷!ñ !ú÷	ð 	ú÷ð úð &ø÷&ð &ú÷	&ð 	&úð 	.øØ0ø÷1ð 1üsÚ   ‚E:�D+¥D(¦D+ª!E:ÁEÁD8ÁEÁ AE:Â/EÂ:EÃE
ÃEÃ
EÃE:Ã&E.Ã>E*Ã?E.ÄE,ÄE.Ä	E:Ä(D+Ä+D5Ä0E:Ä8E	Ä=EÅEÅ	E:ÅEÅEÅEÅE'	Å#E:Å*E.Å,E.Å.E7Å3E:c              ƒ  óZ  K  — t        «       5  	 d d d «       t        j                  t        «      5  t        «       5  t	        j
                  «       ƒ d {  –—†  d d d «       d d d «       t        j                  t        j                  fD ]Q  }t        |«       t        j                  t        «      5  t        «       5   |«       ƒ d {  –—†  d d d «       d d d «       ŒS t        j                  t        «      5  t        «       5  t	        j                  «       ƒ d {  –—†  t	        j                  «       ƒ d {  –—†  d d d «       d d d «       y # 1 sw Y   �Œ=xY w7 �Œ# 1 sw Y   �ŒxY w# 1 sw Y   �Œ	xY w7 Œ®# 1 sw Y   Œ­xY w# 1 sw Y   �ŒxY w7 Œv7 Œ\# 1 sw Y   Œ[xY w# 1 sw Y   y xY w­wrL   )	Úassert_no_checkpointsrN   rO   rP   r   r   rQ   rR   rS   rT   s     r   Útest_assert_no_checkpointsrZ   �   sk  è ø€ Ü	Ó	 ñ Ø÷ô 
�‰”~Ó	&ñ %Ü"Ó$ñ 	%Ü×"Ñ"Ó$×$Ð$÷	%÷%ô 	×%Ñ%Ü×(Ñ(ðò &ˆô 	ˆmÔÜ�]‰]œ>Ó*ñ 	&Ü&Ó(ñ &Ù#“o×%Ð%÷&÷	&ð 	&ð&ô 
�‰”~Ó	&ñ 5Ü"Ó$ñ 	5Ü×/Ñ/Ó1×1Ð1Ü×2Ñ2Ó4×4Ð4÷	5÷5ð 5÷)ñ úð
 %ù÷	%ñ 	%ú÷%ñ %úð &ø÷&ð &ú÷	&ñ 	&úð 2øØ4ø÷	5ð 	5ú÷5ð 5üsò   ‚F+�E
�!F+°E'»EÁEÁEÁE'Á AF+Â/FÂ:E6ÃE4
ÃE6Ã
FÃ#F+Ã5FÄ FÄFÄFÄ4FÄ5FÄ9FÅ	F+Å
EÅF+ÅEÅE$	ÅE'Å'E1Å,F+Å4E6Å6E?Å;FÆF	ÆF+ÆFÆFÆF	ÆFÆF(Æ$F+c               ƒ  ó*  ‡‡K  — g Šdˆfd„Šdˆfd„} dˆfd„}t        «       }t        j                  «       4 ƒd {  –—† }|j                  | |«       |j                  ||«        |d«      4 ƒd {  –—†  t	        «       ƒ d {  –—†  d d d «      ƒd {  –—†  ‰g d¢k(  sJ ‚d d d «      ƒd {  –—†  t        «       } |d«      4 ƒd {  –—†  	 d d d «      ƒd {  –—†  t        j                  t        «      5   |d«      4 ƒd {  –—†  	 d d d «      ƒd {  –—†  d d d «       y 7 Œå7 Œ²7 Œ¢7 Œ”# 1 ƒd {  –—†7  sw Y   Œ¤xY w7 Œ’# 1 ƒd {  –—†7  sw Y   Œ¢xY w7 ŒŽ7 Œ# 1 ƒd {  –—†7  sw Y   Œ�xY w7 Œk7 Œ\# 1 ƒd {  –—†7  sw Y   ŒlxY w# 1 sw Y   y xY w­w)	Nc                ó>   •— t        | «       ‰j                  | «       y rL   )rS   r   )Úvalr   s    €r   Útztest_Sequencer.<locals>.t®   s   ø€ ÜˆcŒ
Ø�‰�cÕó    c              “  óš  •K  —  | d«      4 ƒd {  –—†   ‰d«       d d d «      ƒd {  –—†   | d«      4 ƒd {  –—†   ‰d«       d d d «      ƒd {  –—†   | d«      4 ƒd {  –—†   ‰d«       d d d «      ƒd {  –—†  y 7 Œo7 ŒY# 1 ƒd {  –—†7  sw Y   ŒixY w7 Œ_7 ŒI# 1 ƒd {  –—†7  sw Y   ŒYxY w7 ŒO7 Œ9# 1 ƒd {  –—†7  sw Y   y xY w­w)Né   ©Úf1ra   é   ©rc   rd   é   ©rc   rf   © ©Úseqr^   s    €r   rc   ztest_Sequencer.<locals>.f1²   sÅ   øè ø€ Ù�q“6÷ 	ñ 	ÙˆiŒL÷	÷ 	á�q“6÷ 	ñ 	ÙˆiŒL÷	÷ 	á�q“6÷ 	ñ 	ÙˆiŒL÷	÷ 	ð 	ð		øð 	ø÷ 	÷ 	ñ 	úð	øð 	ø÷ 	÷ 	ñ 	úð	øð 	ø÷ 	÷ 	ñ 	üsÂ   ƒC�B ‘C”	B�C¨B©C¹BºC½	BÁCÁBÁCÁ"B2Á#CÁ&	B6Á/CÁ:B4Á;CÂCÂBÂ
BÂBÂCÂCÂB/Â#B&Â$B/Â+CÂ4CÂ6CÂ<B?Â=CÃCc              “  ó  •K  —  | d«      4 ƒd {  –—†   ‰d«       d d d «      ƒd {  –—†   | d«      4 ƒd {  –—†   ‰d«       d d d «      ƒd {  –—†  y 7 ŒF7 Œ0# 1 ƒd {  –—†7  sw Y   Œ@xY w7 Œ67 Œ # 1 ƒd {  –—†7  sw Y   y xY w­w)Nr   ©Úf2r   r   ©rm   r   rh   ri   s    €r   rm   ztest_Sequencer.<locals>.f2º   s‡   øè ø€ Ù�q“6÷ 	ñ 	ÙˆiŒL÷	÷ 	á�q“6÷ 	ñ 	ÙˆiŒL÷	÷ 	ð 	ð	øð 	ø÷ 	÷ 	ñ 	úð	øð 	ø÷ 	÷ 	ñ 	üs€   ƒB	�A‘B	”	A�B	¨A©B	¹A0ºB	½	A4ÁB	ÁA2ÁB	ÁB	ÁA-Á!A$Á"A-Á)B	Á2B	Á4BÁ:A=Á;BÂB	r4   )rl   rb   rn   re   rg   r   )r]   Úobjectr)   r*   )rj   Ú	Sequencerr)   r*   )rp   r   r+   r,   r    rN   rO   ÚRuntimeError)rc   rm   rj   r/   r   r^   s       @@r   Útest_Sequencerrr   «   sƒ  ùè ø€ Ø€Fõõõô ‹+€CÜ×!Ñ!Ó#÷ Qð Q wØ×Ñ˜2˜sÔ#Ø×Ñ˜2˜sÔ#Ù�q“6÷ 	+ñ 	+Ü(Ó*×*Ð*÷	+÷ 	+àÒPÒPÐPÐP÷Q÷ Qô ‹+€Cá�1‹v÷ ñ Ø÷÷ ä	�‰”|Ó	$ñ Ù�q“6÷ 	ñ 	Ø÷	÷ 	÷ð ðQøð	+øØ*øð	+ø÷ 	+÷ 	+ñ 	+úðQø÷ Q÷ Qñ Qúðøð ø÷ ÷ ñ úð	øð 	ø÷ 	÷ 	ñ 	ú÷ð üs@  „7F»D!¼F¿1E Á0D#Á1E Á4D)ÂD%ÂD)ÂE ÂD'ÂE Â FÂ+D>Â,FÃEÃFÃ
EÃFÃEÃFÃ5FÄE.ÄFÄE2ÄFÄE0ÄFÄ
FÄ#E Ä%D)Ä'E Ä)D;	Ä/D2Ä0D;	Ä7E Ä>FÅ EÅE	ÅEÅFÅFÅE+ÅE"Å E+Å'FÅ.FÅ0FÅ2F	Å8E;Å9F	Æ FÆFÆFc               ƒ  ód  ‡‡K  — g Št        «       Šdˆˆfd„} t        j                  «       4 ƒd {  –—† }|j                  | d«       |j                  | d«        ‰d«      4 ƒd {  –—†  	 d d d «      ƒd {  –—†  d d d «      ƒd {  –—†  ‰ddgk(  sJ ‚t	        j
                  t        «      5   ‰d«      4 ƒd {  –—†  	 d d d «      ƒd {  –—†  d d d «       y 7 Œ¨7 Œu7 Œf# 1 ƒd {  –—†7  sw Y   ŒvxY w7 Œm# 1 ƒd {  –—†7  sw Y   Œ}xY w7 ŒP7 ŒA# 1 ƒd {  –—†7  sw Y   ŒQxY w# 1 sw Y   y xY w­w)	Nc              “  óJ  •K  — t        j                  «       5 }| dk(  r|j                  «        	  ‰| «      4 ƒd {  –—†  	 d d d «      ƒd {  –—†  d d d «       y 7 Œ7 Œ# 1 ƒd {  –—†7  sw Y   ŒxY w# t        $ r ‰j	                  d| › d�«       Y ŒBw xY w# 1 sw Y   y xY w­w)Nra   zseq(z) RuntimeError)r   ÚCancelScoper.   rq   r   )ÚiÚscoper   rj   s     €€r   Úchildz$test_Sequencer_cancel.<locals>.childÖ   s    øè ø€ Ü×ÑÓ ð 	8 EØ�AŠvØ—‘”ð8Ù˜q›6÷ ñ Ø÷÷ ÷		8ð 	8ðøð ø÷ ÷ ñ ûäò 8Ø—‘  Q C ~Ð6Ö7ð8ú÷	8ð 	8üs~   ƒB#˜B¯A3»A¼A3¿AÁA3ÁAÁA3Á	B#ÁA3ÁA3ÁA0	Á$A'Á%A0	Á,A3Á3BÂBÂBÂBÂB ÂB#ra   r   r   zseq(1) RuntimeErrorzseq(2) RuntimeErrorrd   )rv   Úintr)   r*   )rp   r   r+   r,   rN   rO   rq   )rx   r/   r   rj   s     @@r   Útest_Sequencer_cancelrz   Ñ   s*  ùè ø€ à€FÜ
‹+€Cö8ô ×!Ñ!Ó#÷ ð  wØ×Ñ˜5 !Ô$Ø×Ñ˜5 !Ô$Ù�q“6÷ 	ñ 	Ø÷	÷ 	÷÷ ð Ð+Ð-BÐCÒCÐCÐCô 
�‰”|Ó	$ñ Ù�q“6÷ 	ñ 	Ø÷	÷ 	÷ð ðøð	øð 	ø÷ 	÷ 	ñ 	úðø÷ ÷ ñ úð	øð 	ø÷ 	÷ 	ñ 	ú÷ð üsì   „,D0°C±D0´1C6Á%CÁ&C6Á)CÁ+C6Á6CÁ7C6Á;D0ÂC4Â&D0Â-D$Â:DÂ;D$Â>DÃ D$ÃDÃD$Ã
D0ÃC6ÃC6ÃC1	Ã%C(Ã&C1	Ã-C6Ã4D0Ã6DÃ<C?Ã=DÄD0ÄD$ÄD$ÄD!	ÄDÄD!	ÄD$Ä$D-Ä)D0c                 óš  — t        j                  t        «      5  t        t        «      5  	 d d d «       d d d «       t        j                  t
        «      5  t        t        «      5  ddz    d d d «       d d d «       t        t        «      5  t        ‚# 1 sw Y   ŒfxY w# 1 sw Y   ŒjxY w# 1 sw Y   Œ?xY w# 1 sw Y   ŒCxY w# 1 sw Y   y xY w)NÚfoora   )rN   rO   rP   r   rq   Ú	TypeErrorrh   r_   r   Útest__assert_raisesr~   ï   sª   € Ü	�‰”~Ó	&ñ ÜœLÓ)ñ 	Ø÷	÷ô 
�‰”yÓ	!ñ ÜœLÓ)ñ 	Ø�AŠI÷	÷ô 
œÓ	%ñ ÜÐ÷	ð 	ú÷ð ú÷
	ð 	ú÷ð ú÷ð úsQ   šBªB¬BÁB5Á%B)Á+B5Â
CÂB	ÂBÂB&Â)B2	Â.B5Â5B>ÃC
c               ƒ  ój	  ‡‡K  — t        «       Š‰j                  d«       ‰j                  d«       ‰j                  d«      dk(  sJ ‚‰j                  d«      dk(  sJ ‚‰j                  d«       ‰j                  «       dk(  sJ ‚t        j                  t
        j                  «      5  ‰j                  d«       d d d «       t        j                  t
        j                  «      5  ‰j                  «        d d d «       t        j                  t        «      5  ‰j                  d«       d d d «       ‰j                  d	«       t        «       5  ‰j                  d«      ƒ d {  –—† d	k(  sJ ‚	 d d d «       ‰j                  d
«       ‰j                  d«       t        «       5  ‰j                  d«      ƒ d {  –—† dk(  sJ ‚	 d d d «       t        «       5  ‰j                  «       ƒ d {  –—† dk(  sJ ‚	 d d d «       dˆfd„} dˆfd„}t        j                  «       4 ƒd {  –—† }|j                  |d«       |j                  | d«       d d d «      ƒd {  –—†  t        t
        j                  «      5  t        j                  «       4 ƒd {  –—† }|j                  |d«       |j                  |d«       d d d «      ƒd {  –—†  d d d «       ‰j                  «        t        j                  t
        j                  «      5  ‰j                  d«       d d d «       ‰j                  d«      dk(  sJ ‚‰j                  «       dk(  sJ ‚‰j                  d«      ƒ d {  –—† dk(  sJ ‚‰j                  «       ƒ d {  –—† dk(  sJ ‚‰j                  «        t        «       Šdˆfd„}t        j                  «       4 ƒd {  –—† }|j                  |d«       |j                  |«       d d d «      ƒd {  –—†  y # 1 sw Y   �Œ5xY w# 1 sw Y   �ŒxY w# 1 sw Y   �ŒàxY w7 �Œ³# 1 sw Y   �Œ­xY w7 �Œo# 1 sw Y   �ŒixY w7 �ŒN# 1 sw Y   �ŒHxY w7 �Œ'7 �Œö# 1 ƒd {  –—†7  sw Y   �ŒxY w7 �ŒØ7 �Œ§# 1 ƒd {  –—†7  sw Y   �Œ¸xY w# 1 sw Y   �Œ½xY w# 1 sw Y   �Œ}xY w7 �ŒA7 �Œ'7 Œç7 Œ¶# 1 ƒd {  –—†7  sw Y   y xY w­w)Nó   123ó   456ra   ó   1r   s   23456ó   789Ústringó   abcó   defs   ghió   ds   efghic              “  óX   •K  — t        «       ƒ d {  –—†  ‰j                  | «       y 7 Œ­wrL   )r    Úput)ÚdataÚubqs    €r   Úputterz'test__UnboundeByteQueue.<locals>.putter  s#   øè ø€ Ü$Ó&×&Ð&Ø�‰��ð 	'úr#   c              “  óŒ   •K  — t        «       5  ‰j                  «       ƒ d {  –—† | k(  sJ ‚	 d d d «       y 7 Œ# 1 sw Y   y xY w­wrL   )rM   Úget)Úexpectr‹   s    €r   Úgetterz'test__UnboundeByteQueue.<locals>.getter  s@   øè ø€ ÜÓ!ñ 	-ØŸ™›—? fÒ,Ð,Ñ,÷	-ð 	-Ø"ø÷	-ð 	-üs$   ƒAŽ8¢6£	8­	A¶8¸A½Aó   xyzs   asdfó   ---r_   c               “  óV   •K  — t        «       ƒ d {  –—†  ‰ j                  «        y 7 Œ­wrL   )r    Úclose)Úubq2s   €r   Úcloserz'test__UnboundeByteQueue.<locals>.closer=  s!   øè ø€ Ü$Ó&×&Ð&Ø�
‰
�ð 	'ús   ƒ)‘'’)©rŠ   Úbytesr)   r*   )r�   r˜   r)   r*   r(   )r   r‰   Ú
get_nowaitrN   rO   r   Ú
WouldBlockr}   rM   rŽ   r+   r,   r   ÚBusyResourceErrorr”   ÚClosedResourceError)rŒ   r�   r/   r–   r‹   r•   s       @@r   Útest__UnboundeByteQueuer�   þ   sâ  ùè ø€ Ü
Ó
€Cà‡G�GˆF„OØ‡G�GˆF„OØ�>‰>˜!Ó Ò$Ð$Ð$Ø�>‰>˜"Ó Ò)Ð)Ð)Ø‡G�GˆF„OØ�>‰>Ó˜vÒ%Ð%Ð%ä	�‰”u×'Ñ'Ó	(ñ Ø�‰�rÔ÷ä	�‰”u×'Ñ'Ó	(ñ Ø�‰Ô÷ô 
�‰”yÓ	!ñ Ø�‰�Ô÷ð ‡G�GˆF„OÜ	Ó	ñ +Ø—W‘W˜R“[×  FÒ*Ð*Ñ*÷+à‡G�GˆF„OØ‡G�GˆF„OÜ	Ó	ñ (Ø—W‘W˜Q“Z× 4Ò'Ð'Ñ'÷(ä	Ó	ñ +Ø—W‘W“Y� (Ò*Ð*Ñ*÷+õõ-ô ×!Ñ!Ó#÷ +ð + wØ×Ñ˜6 6Ô*Ø×Ñ˜6 6Ô*÷+÷ +ô
 
”U×,Ñ,Ó	-ñ 0Ü×%Ñ%Ó'÷ 	0ð 	0¨7Ø×Ñ˜v wÔ/Ø×Ñ˜v wÔ/÷	0÷ 	0÷0ð ‡I�I„KÜ	�‰”u×0Ñ0Ó	1ñ Ø�‰�Œ÷ð �>‰>˜"Ó Ò$Ð$Ð$Ø�>‰>Ó˜sÒ"Ð"Ð"Ø—‘˜“× Ò#Ð#Ð#Ø—‘“�?˜cÒ!Ð!Ð!ð ‡I�I„Kô Ó €Dõô ×!Ñ!Ó#÷ #ð # wØ×Ñ˜6 3Ô'Ø×Ñ˜6Ô"÷#÷ #ð #÷sñ ú÷ñ ú÷ñ úð
 !ù÷+ñ +úð
  ù÷(ñ (úð ù÷+ñ +úð+ùð +ù÷ +÷ +ò +úð	0ùð 	0ù÷ 	0÷ 	0ò 	0ú÷0ñ 0ú÷ñ úð
 ùØùð#øð #ø÷ #÷ #ñ #üsî  „B"R3Â&O+Â8+R3Ã#O8Ã4!R3ÄPÄ'#R3Å
PÅPÅ 	PÅ*4R3ÆP%Æ3P"Æ4	P%Æ>R3ÇP5Ç$P2Ç%	P5Ç/,R3ÈQÈR3È%QÉR3ÉQÉR3É-Q:ÊQÊQ:Ê
%Q$Ê/Q:Ê:Q!Ê;Q:Ê?;R3Ë:RÌAR3ÍRÍR3Í0RÍ1AR3Î2RÎ3R3Î6$RÏR3Ï%RÏ&R3Ï+O5Ï0R3Ï8PÏ=R3ÐPÐ
R3ÐPÐPÐR3Ð"P%Ð%P/Ð*R3Ð2P5Ð5P?Ð:	R3ÑR3ÑQÑQÑQÑR3ÑQ:Ñ!Q:Ñ$Q7	Ñ*Q-Ñ+Q7	Ñ2Q:Ñ:RÑ?R3ÒRÒ	R3ÒR3ÒR3ÒR3ÒR0Ò$R'Ò%R0Ò,R3c               ƒ  ó8  ‡‡‡‡‡	K  — t        «       Šdˆfd„Š ‰d«      ƒ d {  –—†  ‰j                  d«      dk(  sJ ‚‰j                  «       dk(  sJ ‚t        «       5  ‰j                  «       ƒ d {  –—†  d d d «       t	        j
                  t        j                  «      5  ‰j                  «        d d d «       t	        j
                  t        j                  «      5  ‰j                  d«       d d d «        ‰d«      ƒ d {  –—†  t        «       5  ‰j                  «       ƒ d {  –—† dk(  sJ ‚	 d d d «       dŠ	dˆˆ	fd	„} t        j                  «       4 ƒd {  –—† }|j                  | «       |j                  | «       d d d «      ƒd {  –—†  ‰	dk(  sJ ‚t        «       5  ‰j                  «       ƒ d {  –—†  d d d «       ‰j                  «       ƒ d {  –—† d
k(  sJ ‚‰j                  «       ƒ d {  –—† dk(  sJ ‚t	        j
                  t        j                  «      5   ‰d«      ƒ d {  –—†  d d d «       ‰j                  �J ‚‰j                  �J ‚‰j                  �J ‚g Šdˆˆfd„}dˆfd„}dˆfd„}t        |||«      Š‰j                  |u sJ ‚‰j                  |u sJ ‚‰j                  |u sJ ‚‰j!                  d«      ƒ d {  –—†  ‰j                  «       ƒ d {  –—†  t#        ‰«      ƒ d {  –—†  ‰j%                  «        ‰g d¢k(  sJ ‚y 7 �Œï7 �Œ¤# 1 sw Y   �Œ¤xY w# 1 sw Y   �ŒuxY w# 1 sw Y   �ŒExY w7 �Œ=7 �Œ# 1 sw Y   �ŒxY w7 �Œù7 �ŒÊ# 1 ƒd {  –—†7  sw Y   �ŒÛxY w7 �Œ¹# 1 sw Y   �Œ¹xY w7 �Œ©7 �Œ�7 �ŒY# 1 sw Y   �ŒYxY w7 ŒË7 Œµ7 Œ¤­w)Nc              “  ó‚   •K  — t        «       5  ‰j                  | «      ƒ d {  –—†  d d d «       y 7 Œ# 1 sw Y   y xY w­wrL   )rM   Úsend_all)rŠ   Úmsss    €r   Údo_send_allz*test_MemorySendStream.<locals>.do_send_allI  s<   øè ø€ ÜÓ!ñ 	%Ø—,‘,˜tÓ$×$Ð$÷	%ð 	%Ø$ø÷	%ð 	%üs    ƒ?Ž3£1¤3¨	?±3³<¸?r€   ra   r‚   s   23r   r�   r   c               “  óp   •K  — 	  ‰ d«      ƒ d {  –—†  y 7 Œ# t         j                  $ r ‰dz  ŠY y w xY w­w)Nó   xxxra   )r   r›   )r¢   Úresource_busy_counts   €€r   Údo_send_all_count_resourcebusyz=test_MemorySendStream.<locals>.do_send_all_count_resourcebusyc  s9   øè ø€ ð	%Ù˜fÓ%×%Ò%ùÜ×&Ñ&ò 	%Ø 1Ñ$Òð	%üs(   ƒ6… �‘ •6– ˜3°6²3³6r¤   r_   r’   c               “  óZ   •K  — ‰ j                  «       dk(  sJ ‚‰j                  d«       y ­w)Nr…   Úsend_all_hook)Úget_data_nowaitr   )Úmss2r   s   €€r   r¨   z,test_MemorySendStream.<locals>.send_all_hook€  s*   øè ø€ à×#Ñ#Ó%¨Ò/Ð/Ð/Ø�‰�oÕ&ùs   ƒ(+c               “  ó0   •K  — ‰ j                  d«       y ­w)NÚ"wait_send_all_might_not_block_hook©r   r!   s   €r   r¬   zAtest_MemorySendStream.<locals>.wait_send_all_might_not_block_hook…  s   øè ø€ Ø�‰Ð:Õ;ùó   ƒc                 ó(   •— ‰ j                  d«       y )NÚ
close_hookr­   r!   s   €r   r°   z)test_MemorySendStream.<locals>.close_hookˆ  s   ø€ Ø�‰�lÕ#r_   r…   )r¨   r¬   r°   r°   r—   r(   )ÚMemorySendStreamr©   rM   Úwait_send_all_might_not_blockrN   rO   r   rš   Úget_datar+   r,   Úacloserœ   r¨   r¬   r°   r    r   r”   )
r¦   r/   r¨   r¬   r°   r¢   r¡   rª   r   r¥   s
        @@@@@r   Útest_MemorySendStreamrµ   F  s^  üè ø€ Ü
Ó
€Cõ%ñ �fÓ
×ÐØ×Ñ˜qÓ! TÒ)Ð)Ð)Ø×ÑÓ  EÒ)Ð)Ð)ä	Ó	ñ 2Ø×/Ñ/Ó1×1Ð1÷2ô 
�‰”u×'Ñ'Ó	(ñ Ø×ÑÔ÷ä	�‰”u×'Ñ'Ó	(ñ  Ø×Ñ˜BÔ÷ ñ �fÓ
×ÐÜ	Ó	ñ .Ø—\‘\“^×# vÒ-Ð-Ñ-÷.ð Ðö%ô ×!Ñ!Ó#÷ ;ð ; wØ×ÑÐ9Ô:Ø×ÑÐ9Ô:÷;÷ ;ð  !Ò#Ð#Ð#ä	Ó	ñ Ø�j‰j‹l×Ð÷ð —‘“× 6Ò)Ð)Ð)Ø—‘“× 3Ò&Ð&Ð&Ü	�‰”u×0Ñ0Ó	1ñ "Ù˜&Ó!×!Ð!÷"ð
 ×ÑÐ$Ð$Ð$Ø×1Ñ1Ð9Ð9Ð9Ø�>‰>Ð!Ð!Ð!à€Fö'õ
<õ$ô ØØ*Øó€Dð ×Ñ Ñ.Ð.Ð.Ø×2Ñ2Ð6XÑXÐXÐXØ�?‰?˜jÑ(Ð(Ð(à
�-‰-˜Ó
×ÐØ
×
,Ñ
,Ó
.×.Ð.Ü
˜DÓ
!×!Ð!Ø‡J�J„Làò ò ð ñ ð[ ùð
 	2ù÷2ñ 2ú÷ñ ú÷ ñ  úð ùà#ù÷.ñ .úð ;ùð ;ù÷ ;÷ ;ò ;úð 	ù÷ñ úð  ùØùà!ù÷"ñ "úð@  øØ.øØ!ús„  ‡N£L¤9NÁLÁ1LÁ2LÁ6+NÂ!L%Â2+NÃL2Ã/NÄL?ÄNÄMÄ%MÄ&	MÄ0)NÅMÅNÅ#MÆ NÆMÆNÆ!M1Æ5M.Æ6M1Æ:NÇM>ÇNÇ2NÇ3,NÈNÈ+NÈ,NÈ0BNËNË	NË NË!NË3NË4NÌLÌL"ÌNÌ%L/Ì*NÌ2L<Ì7	NÍMÍMÍ
	NÍNÍM+ÍM!ÍM+Í&NÍ.M1Í1M;Í6	NÎNÎNÎNÎ	NÎNÎNc               ƒ  óö  ‡‡‡K  — t        «       Šdˆfd„} ‰j                  d«        | d«      ƒ d {  –—† dk(  sJ ‚ | d«      ƒ d {  –—† dk(  sJ ‚‰j                  d«        | d «      ƒ d {  –—† dk(  sJ ‚t        t        j                  «      5  t        j
                  «       4 ƒd {  –—† }|j                  | d«       |j                  | d«       d d d «      ƒd {  –—†  d d d «       ‰j                  �J ‚‰j                  d«       ‰j                  «        ‰j                  «         | d«      ƒ d {  –—† dk(  sJ ‚ | d«      ƒ d {  –—† dk(  sJ ‚ | d«      ƒ d {  –—† dk(  sJ ‚t        j                  t        j                  «      5  ‰j                  d	«       d d d «       dˆfd
„}g Šdˆfd„}t        ||«      Š‰j                  |u sJ ‚‰j                  |u sJ ‚‰j                  d«       ‰j                  d«      ƒ d {  –—† dk(  sJ ‚‰j                  d«      ƒ d {  –—† dk(  sJ ‚‰j                  d«      ƒ d {  –—† dk(  sJ ‚‰j                  d«       d ‰_        ‰j                  d«      ƒ d {  –—† dk(  sJ ‚‰j                  d«       t        «       5  ‰j                  «       ƒ d {  –—†  d d d «       ‰dgk(  sJ ‚t        j                  t        j                  «      5  ‰j                  d«      ƒ d {  –—†  d d d «       y 7 �ŒØ7 �ŒÆ7 �Œ£7 �Œj7 �Œ9# 1 ƒd {  –—†7  sw Y   �ŒJxY w# 1 sw Y   �ŒOxY w7 �Œ7 �Œö7 �Œä# 1 sw Y   �ŒªxY w7 �ŒN7 �Œ37 �Œ7 Œä7 Œ­# 1 sw Y   Œ¬xY w7 Œn# 1 sw Y   y xY w­w)Nc              “  ó‚   •K  — t        «       5  ‰j                  | «      ƒ d {  –—† cd d d «       S 7 Œ# 1 sw Y   y xY w­wrL   )rM   Úreceive_some)Ú	max_bytesÚmrss    €r   Údo_receive_somez1test_MemoryReceiveStream.<locals>.do_receive_some¥  s;   øè ø€ ÜÓ!ñ 	5Ø×)Ñ)¨)Ó4×4÷	5ñ 	5Ø4ø÷	5ð 	5üs    ƒ?Ž3£1¤3§
?±3³<¸?r…   ra   ó   ar   s   bcr†   r_   r’   c               “  ó0   •K  — ‰ j                  d«       y ­w)Nr¤   )Úput_data)Úmrs2s   €r   Úreceive_some_hookz3test_MemoryReceiveStream.<locals>.receive_some_hookÁ  s   øè ø€ Ø�‰�fÕùr®   c                 ó(   •— ‰ j                  d«       y )NÚclosedr­   r!   s   €r   r°   z,test_MemoryReceiveStream.<locals>.close_hookÆ  s   ø€ Ø�‰�hÕr_   s   yyys   yyyxxxr¤   s   zzzs   lost on closerÂ   )r¹   z
int | Noner)   r˜   r(   )ÚMemoryReceiveStreamr¾   r   r   r›   r+   r,   rÀ   Úput_eofrN   rO   rœ   r°   r¸   rM   r´   )r»   r/   rÀ   r°   rº   r¿   r   s       @@@r   Útest_MemoryReceiveStreamrÅ   ¢  s2  úè ø€ Ü
Ó
€Cõ5ð ‡L�L�ÔÙ  Ó#×# tÒ+Ð+Ð+Ù  Ó$×$¨Ò-Ð-Ð-Ø‡L�L�ÔÙ  Ó&×&¨&Ò0Ð0Ð0ä	”U×,Ñ,Ó	-ñ 4Ü×%Ñ%Ó'÷ 	4ð 	4¨7Ø×Ñ˜°Ô3Ø×Ñ˜°Ô3÷	4÷ 	4÷4ð
 × Ñ Ð(Ð(Ð(à‡L�L�ÔØ‡K�K„MØ‡K�K„Má  Ó$×$¨Ò.Ð.Ð.Ù  Ó$×$¨Ò+Ð+Ð+Ù  Ó$×$¨Ò+Ð+Ð+ä	�‰”u×0Ñ0Ó	1ñ Ø�‰�VÔ÷õð €Fõ ô Ð0°*Ó=€DØ×!Ñ!Ð%6Ñ6Ð6Ð6Ø�?‰?˜jÑ(Ð(Ð(à‡M�M�&ÔØ×"Ñ" 2Ó&×&¨)Ò3Ð3Ð3Ø×"Ñ" 2Ó&×&¨&Ò0Ð0Ð0Ø×"Ñ" 2Ó&×&¨&Ò0Ð0Ð0à‡M�M�&ÔØ!€DÔØ×"Ñ" 2Ó&×&¨&Ò0Ð0Ð0à‡M�MÐ"Ô#Ü	Ó	ñ Ø�k‰k‹m×Ð÷à�h�ZÒÐÐä	�‰”u×0Ñ0Ó	1ñ $Ø×Ñ Ó#×#Ð#÷$ð $ðc $ùØ$ùà&ùð	4ùð 	4ù÷ 	4÷ 	4ò 	4ú÷4ñ 4úð %ùØ$ùØ$ù÷ñ úð  'ùØ&ùØ&ùð 'øð 	ø÷ð úð
 	$ø÷$ð $üss  …-M9²L
³M9ÁLÁ%M9Á-LÁ."M9ÂL/Â)LÂ*L/Â-%LÃL/ÃLÃL/Ã"AM9Ä4L<Ä5M9Å	L?Å
M9ÅMÅ,M9ÆMÆA'M9ÈMÈM9È"MÈ#M9É MÉ5M9É6MÉ7$M9ÊMÊ/MÊ0MÊ43M9Ë'M-Ë<M+Ë=M-Ì
M9ÌM9ÌM9ÌL/ÌL/ÌL,	ÌL"Ì L,	Ì'L/Ì/L9Ì4	M9Ì?M9ÍM9ÍMÍ
	M9ÍM9ÍM9ÍM9ÍMÍM(Í$M9Í+M-Í-M6Í2M9c               ƒ  ó   K  — t        «       } | j                  «        t        j                  t        j
                  «      5  | j                  d«      ƒ d {  –—† dk(  sJ ‚	 d d d «       | j                  «        t        j                  t        j
                  «      5  | j                  d«       d d d «       t        «       }|j                  d«       |j                  «        t        j                  t        j
                  «      5  |j                  d«      ƒ d {  –—†  d d d «       y 7 ŒÐ# 1 sw Y   ŒÉxY w# 1 sw Y   ŒˆxY w7 Œ'# 1 sw Y   y xY w­w)Nr   r_   r€   r‘   )rÃ   r”   rN   rO   r   rœ   r¸   r¾   )rº   r¿   s     r   Útest_MemoryRecvStream_closingrÇ   ß  s  è ø€ Ü
Ó
€Cà‡I�I„KÜ	�‰”u×0Ñ0Ó	1ñ 1Ø×%Ñ% bÓ)×)¨SÒ0Ð0Ñ0÷1ð ‡I�I„Kä	�‰”u×0Ñ0Ó	1ñ Ø�‰�VÔ÷ô Ó €Dà‡M�M�&ÔØ‡J�J„LÜ	�‰”u×0Ñ0Ó	1ñ $Ø×Ñ Ó#×#Ð#÷$ð $ð *ø÷1ð 1ú÷
ð úð 	$ø÷$ð $üsr   ‚>EÁ D(ÁD&Á	D(Á ;EÂD4Â-AEÄEÄE ÄEÄ	EÄ&D(Ä(D1Ä-EÄ4D=Ä9EÅ EÅEÅEc               ƒ  óˆ  K  — t        «       } t        «       }t        | |«       | j                  d«      ƒ d {  –—†  t        | |«       |j	                  d«      ƒ d {  –—† dk(  sJ ‚| j                  d«      ƒ d {  –—†  t        | |d¬«      sJ ‚|j	                  d«      ƒ d {  –—† dk(  sJ ‚t        | |d¬«      sJ ‚t        | |d¬«      sJ ‚t        | |d¬«      rJ ‚|j	                  d«      ƒ d {  –—† dk(  sJ ‚| j                  «        t        | |«       |j	                  d«      ƒ d {  –—† dk(  sJ ‚y 7 Œþ7 ŒÛ7 Œ¿7 Œ˜7 ŒL7 Œ­w)	Nr€   r   r�   ra   )r¹   ó   4s   56r_   )r±   rÃ   Úmemory_stream_pumpr    r¸   r”   )r¡   rº   s     r   Útest_memory_stream_pumprË   ó  s8  è ø€ Ü
Ó
€CÜ
Ó
€Cô �s˜CÔ à
�,‰,�vÓ
×ÐÜ�s˜CÔ Ø×!Ñ! "Ó%×%¨Ò/Ð/Ð/à
�,‰,�vÓ
×ÐÜ˜c 3°!Õ4Ð4Ð4Ø×!Ñ! "Ó%×%¨Ò-Ð-Ð-Ü˜c 3°!Õ4Ð4Ð4Ü˜c 3°!Õ4Ð4Ð4Ü! # s°aÕ8Ð8Ð8Ø×!Ñ! "Ó%×%¨Ò.Ð.Ð.à‡I�I„KÜ�s˜CÔ Ø×!Ñ! "Ó%×%¨Ò,Ð,Ñ,ð øà%øàøà%øð &øð &úsj   ‚5E·D6¸$EÁD8ÁEÁ:D:Á;(EÂ#D<Â$AEÃ1D>Ã29EÄ+E Ä,EÄ8EÄ:EÄ<EÄ>EÅ Ec               ƒ  óH  ‡K  — t        «       \  } Š| j                  €J ‚| j                  �J ‚| j                  €J ‚‰j                  �J ‚| j                  d«      ƒ d {  –—†  ‰j                  d«      ƒ d {  –—† dk(  sJ ‚dˆfd„}t        j                  «       4 ƒd {  –—† }|j                  |d«       t        «       ƒ d {  –—†  | j                  d«      ƒ d {  –—†  d d d «      ƒd {  –—†  t        j                  «       4 ƒd {  –—† }|j                  |d«       t        «       ƒ d {  –—†  | j                  «       ƒ d {  –—†  d d d «      ƒd {  –—†  t        «       \  } Št        j                  «       4 ƒd {  –—† }|j                  |d«       t        «       ƒ d {  –—†  | j                  «        d d d «      ƒd {  –—†  t        «       \  } Š| j                  }d | _        | j                  d«      ƒ d {  –—†  dd„}dˆfd„}t        j                  «       4 ƒd {  –—† }|j                  ||«       |j                  |«       d d d «      ƒd {  –—†  || _        | j                  d	«      ƒ d {  –—†  ‰j                  d«      ƒ d {  –—† d
k(  sJ ‚y 7 �Œ<7 �Œ&7 �Œ7 �Œà7 �ŒÊ7 �Œ½# 1 ƒd {  –—†7  sw Y   �ŒÎxY w7 �Œ¹7 �Œ˜7 �Œƒ7 �Œv# 1 ƒd {  –—†7  sw Y   �Œ‡xY w7 �Œe7 �ŒD7 �Œ'# 1 ƒd {  –—†7  sw Y   �Œ8xY w7 �Œ7 Œâ7 Œ±# 1 ƒd {  –—†7  sw Y   ŒÁxY w7 Œ¨7 Œ‘­w)Nr€   r   c              “  óN   •K  — ‰j                  d«      ƒ d {  –—† | k(  sJ ‚y 7 Œ
­w©Nr   ©r¸   )ÚexpectedÚrs    €r   Úreceiverz1test_memory_stream_one_way_pair.<locals>.receiver  s$   øè ø€ Ø—^‘^ BÓ'×'¨8Ò3Ð3Ñ3Ð'úó   ƒ%˜#™%r…   r_   r�   c              “  óh   K  — t        «       ƒ d {  –—†  | j                  j                  «        y 7 Œ­wrL   )r    r-   r.   )r/   s    r   Úcancel_after_idlez:test_memory_stream_one_way_pair.<locals>.cancel_after_idle0  s)   è ø€ Ü$Ó&×&Ð&Ø×Ñ×#Ñ#Õ%ð 	'ús   ‚2�0‘ 2c               “  ó´   •K  — t        j                  t        j                  «      5  ‰ j	                  d«      ƒ d {  –—†  d d d «       y 7 Œ# 1 sw Y   y xY w­wrÎ   )rN   rO   r   r&   r¸   )rÑ   s   €r   Úcheck_for_cancelz9test_memory_stream_one_way_pair.<locals>.check_for_cancel4  sJ   øè ø€ Ü�]‰]œ5Ÿ?™?Ó+ñ 	%ð —.‘. Ó$×$Ð$÷	%ð 	%ð %ø÷	%ð 	%üs,   ƒ$A§A¼A
½AÁ	AÁ
AÁAÁArƒ   s   456789)rÐ   r˜   r)   r*   )r/   r   r)   r*   r(   )Úmemory_stream_one_way_pairr¨   r¬   r°   rÀ   r    r¸   r   r+   r,   r    r´   r”   )ÚsrÒ   r/   ÚoldrÕ   r×   rÑ   s         @r   Útest_memory_stream_one_way_pairrÛ     sÏ  øè ø€ Ü%Ó'�D€A€qØ�?‰?Ð&Ð&Ð&Ø×/Ñ/Ð7Ð7Ð7Ø�<‰<Ð#Ð#Ð#Ø×ÑÐ&Ð&Ð&Ø
�*‰*�VÓ
×ÐØ—‘ Ó#×# vÒ-Ð-Ð-õ4ô ×!Ñ!Ó#÷ !ð ! wØ×Ñ˜8 VÔ,Ü$Ó&×&Ð&Ø�j‰j˜Ó × Ð ÷!÷ !ô ×!Ñ!Ó#÷ ð  wØ×Ñ˜8 SÔ)Ü$Ó&×&Ð&Ø�h‰h‹j×Ð÷÷ ô
 &Ó'�D€A€qä×!Ñ!Ó#÷ ð  wØ×Ñ˜8 SÔ)Ü$Ó&×&Ð&Ø	�‰Œ	÷÷ ô
 &Ó'�D€A€qà
�/‰/€CØ€A„OØ
�*‰*�VÓ
×Ðó&õ%ô ×!Ñ!Ó#÷ -ð - wØ×ÑÐ,¨gÔ6Ø×ÑÐ+Ô,÷-÷ -ð €A„OØ
�*‰*�VÓ
×ÐØ—‘ Ó#×# yÒ0Ð0Ñ0ð_ ùØ#ùð!ùà&ùØ ùð!ù÷ !÷ !ò !úðùà&ùØùðù÷ ÷ ò úðùà&ùðù÷ ÷ ò úð ùð-øð -ø÷ -÷ -ñ -úð
 øØ#ús¼  ƒAL"ÁJÁL"Á6JÁ7'L"ÂJÂL"Â" J+ÃJ"ÃJ+ÃJ%ÃJ+Ã L"Ã+J(Ã,L"ÄKÄ	L"Ä KÄ,KÄ-KÅKÅKÅ	L"ÅK
Å)L"Å>K#Å?L"Æ K,Æ"K&Æ#K,Æ7L"ÇK)Ç8L"Ç;LÇ<&L"È"LÈ#L"È&$L	É
L"ÉLÉL"É5LÉ6L"ÊL ÊL"ÊL"ÊL"Ê"J+Ê%J+Ê(L"Ê+J>Ê1J4Ê2J>Ê9	L"ËKËKË
L"ËK ËKËK Ë	L"Ë&K,Ë)L"Ë,K?Ë2K5Ë3K?Ë:	L"ÌL"ÌL"Ì	LÌLÌLÌL"Ì L"c               ƒ  ór  ‡‡K  — t        «       \  ŠŠ‰j                  d«      ƒ d {  –—†  ‰j                  d«      ƒ d {  –—†  ‰j                  d«      ƒ d {  –—† dk(  sJ ‚‰j                  d«      ƒ d {  –—† dk(  sJ ‚‰j                  «       ƒ d {  –—†  ‰j                  d«      ƒ d {  –—† dk(  sJ ‚dˆfd„} dˆfd„}t	        j
                  «       4 ƒd {  –—† }|j                  |«       |j                  | «       d d d «      ƒd {  –—†  y 7 Œë7 ŒÔ7 Œ½7 Œ¡7 Œ†7 Œo7 ŒC7 Œ# 1 ƒd {  –—†7  sw Y   y xY w­w)Nr€   r…   r   r_   c               “  ól   •K  — t        «       ƒ d {  –—†  ‰ j                  d«      ƒ d {  –—†  y 7 Œ7 Œ­w)Nr‘   )r    r    )Úbs   €r   Úsenderz'test_memory_stream_pair.<locals>.senderM  s.   øè ø€ Ü$Ó&×&Ð&Ø�j‰j˜Ó × Ñ ð 	'øØ ús   ƒ4‘0’4ª2«4²4c               “  óN   •K  — ‰ j                  d«      ƒ d {  –—† dk(  sJ ‚y 7 Œ
­w)Nr   r‘   rÏ   )Úas   €r   rÒ   z)test_memory_stream_pair.<locals>.receiverQ  s$   øè ø€ Ø—^‘^ BÓ'×'¨6Ò1Ð1Ñ1Ð'úrÓ   r(   )Úmemory_stream_pairr    r¸   Úsend_eofr   r+   r,   )rß   rÒ   r/   rá   rÞ   s      @@r   Útest_memory_stream_pairrä   C  s  ùè ø€ ÜÓ�D€A€qØ
�*‰*�VÓ
×ÐØ
�*‰*�VÓ
×ÐØ—‘ Ó#×# vÒ-Ð-Ð-Ø—‘ Ó#×# vÒ-Ð-Ð-à
�*‰*‹,×ÐØ—‘ Ó#×# sÒ*Ð*Ð*õ!õ2ô ×!Ñ!Ó#÷ #ð # wØ×Ñ˜8Ô$Ø×Ñ˜6Ô"÷#÷ #ð #ð øØøØ#øØ#øàøØ#øð#øð #ø÷ #÷ #ñ #üs°   „"D7¦D§D7¿DÁ D7ÁDÁD7Á6DÁ7D7ÂDÂD7Â,DÂ--D7ÃDÃD7Ã#D"ÄD7ÄD ÄD7ÄD7ÄD7ÄD7ÄD7ÄD7ÄD7Ä D7Ä"D4Ä(D+Ä)D4Ä0D7c               ƒ  ót   K  — dd„} t        | d «      ƒ d {  –—†  dd„}t        |d «      ƒ d {  –—†  y 7 Œ7 Œ­w)Nc               “  ó   K  — t        «       S ­wrL   )rØ   rh   r_   r   Úone_way_stream_makerzDtest_memory_streams_with_generic_tests.<locals>.one_way_stream_makerZ  s   è ø€ Ü)Ó+Ð+ùó   ‚c               “  ó   K  — t        «       S ­wrL   )râ   rh   r_   r   Úhalf_closeable_stream_makerzKtest_memory_streams_with_generic_tests.<locals>.half_closeable_stream_maker_  s   è ø€ ô "Ó#Ð#ùrè   )r)   z,tuple[MemorySendStream, MemoryReceiveStream])r)   zqtuple[StapledStream[MemorySendStream, MemoryReceiveStream], StapledStream[MemorySendStream, MemoryReceiveStream]])Úcheck_one_way_streamÚcheck_half_closeable_stream)rç   rê   s     r   Ú&test_memory_streams_with_generic_testsrí   Y  sB   è ø€ ó,ô Ð3°TÓ
:×:Ð:ó$ô &Ð&AÀ4Ó
H×HÑHð ;øð Iúó   ‚8–4—8®6¯8¶8c               ƒ  ót   K  — dd„} t        | | «      ƒ d {  –—†  dd„}t        ||«      ƒ d {  –—†  y 7 Œ7 Œ­w)Nc               “  ó   K  — t        «       S ­wrL   )Úlockstep_stream_one_way_pairrh   r_   r   rç   zFtest_lockstep_streams_with_generic_tests.<locals>.one_way_stream_makeri  s   è ø€ Ü+Ó-Ð-ùrè   c               “  ó   K  — t        «       S ­wrL   )Úlockstep_stream_pairrh   r_   r   Útwo_way_stream_makerzFtest_lockstep_streams_with_generic_tests.<locals>.two_way_stream_makern  s   è ø€ ô $Ó%Ð%ùrè   )r)   z tuple[SendStream, ReceiveStream])r)   zYtuple[StapledStream[SendStream, ReceiveStream], StapledStream[SendStream, ReceiveStream]])rë   Úcheck_two_way_stream)rç   rô   s     r   Ú(test_lockstep_streams_with_generic_testsrö   h  sE   è ø€ ó.ô Ð3Ð5IÓ
J×JÐJó&ô Ð3Ð5IÓ
J×JÑJð Køð Kúrî   c               ƒ  ó¾  K  — d	d„} t        j                  «       }|j                  d«      ƒ d {  –—†  |j                  d«        | t	        |«      «      ƒ d {  –—†  t        j                  «       }|j                  d«      ƒ d {  –—†  |j                  d«        | t	        |«      «      ƒ d {  –—†  t
        rgt        j                  t         j                  ¬«      }|j                  d«      ƒ d {  –—†  |j                  d«        | t	        |«      «      ƒ d {  –—†  t        t         d«      rŠt        j                  t         j                  ¬«      }t        j                  «       5 }|› d�}|j                  |«      ƒ d {  –—†  |j                  d«        | t	        |«      «      ƒ d {  –—†  d d d «       y y 7 �ŒŽ7 �Œg7 �Œ=7 �Œ7 ŒÕ7 Œ­7 ŒH7 Œ # 1 sw Y   y xY w­w)
Nc           	   “  ó  K  — | 4 ƒd {  –—†  t        | «      ƒ d {  –—† }|4 ƒd {  –—†  | j                  «       ƒ d {  –—† }|4 ƒd {  –—†  |j                  d«      ƒ d {  –—†  |j                  d«      ƒ d {  –—† dk(  sJ ‚d d d «      ƒd {  –—†  d d d «      ƒd {  –—†  d d d «      ƒd {  –—†  y 7 Œ­7 Œœ7 Œ“7 Œ}7 Œt7 Œ]7 ŒF7 Œ3# 1 ƒd {  –—†7  sw Y   ŒCxY w7 Œ:# 1 ƒd {  –—†7  sw Y   ŒJxY w7 ŒA# 1 ƒd {  –—†7  sw Y   y xY w­w)Nó   xra   )Úopen_stream_to_socket_listenerÚacceptr    r¸   )ÚlistenerÚclient_streamÚserver_streams      r   Úcheckz2test_open_stream_to_socket_listener.<locals>.checkx  s  è ø€ Ø÷ 	Gñ 	GÜ"@ÀÓ"J×JˆMØ$÷ Gñ GØ&.§o¡oÓ&7× 7�Ø(÷ Gñ GØ'×0Ñ0°Ó6×6Ð6Ø!.×!;Ñ!;¸AÓ!>×>À$ÒFÐFÐF÷G÷ G÷G÷ G÷	G÷ 	Gñ 	GøØJøðGøØ 7øðGøØ6øØ>øðGø÷ G÷ Gñ GúðGø÷ G÷ Gñ Gúð	Gø÷ 	G÷ 	Gñ 	Güs  ‚D
‰B7ŠD
�C5œB9�
C5§B;¨C5«C¿B=Á 
CÁ
B?
ÁCÁCÁ#C
Á$CÁ<C
Á=	CÂCÂCÂCÂC5Â!CÂ"C5Â&D
Â1C3Â2D
Â9C5Â;C5Â=CÂ?CÃCÃCÃCÃCÃCÃCÃCÃC5ÃC0	Ã$C'Ã%C0	Ã,C5Ã3D
Ã5DÃ;C>Ã<DÄD
)z	127.0.0.1r   r   )z0.0.0.0r   )Úfamily)z::r   ÚAF_UNIXz/sock)rü   r   r)   r*   )Útsocketr	   ÚbindÚlistenr   r
   ÚAF_INET6Úhasattrr  ÚtempfileÚTemporaryDirectory)rÿ   ÚsockÚtmpdirÚpaths       r   Ú#test_open_stream_to_socket_listenerr  w  s  è ø€ óGô �>‰>Ó€DØ
�)‰)Ð$Ó
%×%Ð%Ø‡K�K�„OÙ
”˜tÓ$Ó
%×%Ð%ô �>‰>Ó€DØ
�)‰)�NÓ
#×#Ð#Ø‡K�K�„OÙ
”˜tÓ$Ó
%×%Ð%õ ä�~‰~¤W×%5Ñ%5Ô6ˆØ�i‰i˜	Ó"×"Ð"Ø�‰�BŒÙ”N 4Ó(Ó)×)Ð)äŒw˜	Ô"ä�~‰~¤W§_¡_Ô5ˆô ×(Ñ(Ó*ð 	.¨fØ�X˜UÐ#ˆDØ—)‘)˜D“/×!Ð!Ø�K‰K˜ŒOÙœ tÓ,Ó-×-Ð-÷		.ð 	.ð #ð% &ùà%ùð $ùà%ùð 	#øà)øð "øà-ø÷		.ð 	.üs§   ‚-G¯F=°)GÁG Á,GÂGÂ)GÂ0GÂ1AGÃ3G	Ã4)GÄGÄAGÅ*GÆGÆ)GÆ.GÆ/GÆ3GÇ GÇGÇGÇ	GÇGÇGÇGÇGÇGc                 óÂ   — 	 	 	 	 	 	 dd„} t        j                  t        d¬«      5   t        | «      t	        «       t	        d¬«      ¬«       d d d «       y # 1 sw Y   y xY w)Nc              “  ó   K  — y ­wrL   rh   ©r9   Úautojump_clocks     r   Úbusy_kitchenz$test_trio_test.<locals>.busy_kitchen¢  s   è ø€ ð ùs   ‚z"^too many clocks spoil the broth!$)Úmatchr   )Úautojump_thresholdr  )r9   ro   r  ro   r)   r*   )rN   rO   Ú
ValueErrorÚ	trio_testÚ	MockClock)r  s    r   Útest_trio_testr  ¡  se   € ðàðð ðð 
ó	ô 
�‰”zÐ)NÔ	Oñ 
ØŒ	�,ÓÜ “{Ü$¸Ô:õ	
÷
÷ 
ñ 
ús   ¦&AÁAr(   )r9   r  r)   r*   )rU   zpytest.WarningsRecorderr)   r*   )1Ú
__future__r   r  Útypingr   rN   Útrio.testingr   Ú r   r   r	   r  Ú_core._tests.tutilr
   Ú_highlevel_genericr   r   Ú_highlevel_socketr   ÚtestingÚtesting._check_streamsr   Útesting._memory_streamsr   Útrior   Útrio.abcr   r   r0   r:   rJ   rW   rZ   rr   rz   r~   r�   rµ   rÅ   rÇ   rË   rÛ   rä   rí   rö   r  r  rh   r_   r   ú<module>r$     s¢   ðÝ "ó Ý  ã å $ç .Ñ .Ý .ß AÝ .Ü Ý 3Ý 9áÝß2óó@5ó"$óT1ó45ó<#óLó<
óE#óPYóx:$óz$ó(-ó051óp#ó,IóKó'.ôT
r_   