+
    Bi                        ^ RI t ^ RIHt ^ RIHt ]! R. RcO4      t]! RRR.4      t]! R. RO4      t]! R
RR	.4      t]! ^]! ^R. . R7      ]! ^R. ]! ]! RR^4      ]! RR^x4      ]! RR^n4      .^R7      ]! ]! RR^4      ]! RR^4      ]! RR^4      .^R7      ]! ]! RR^4      ]! RR^4      ]! RR^4      .^R7      ]! ]! RR^4      ]! RR^x4      ]! RR^n4      .^R7      .R7      ]! ^R. ]! ]! RR^ 4      ]! RR^ 4      ]! RR^ 4      .^R7      .R7      ]! ^	R. ]! ]! RR^ 4      ]! RR^ 4      ]! RR^ 4      .^R7      .R7      ]! ^R. ]! ]! RR^ 4      ]! RR^ 4      ]! RR^ 4      ]! RR^ 4      .^R7      .R7      ]! ^R . ]! ]! RR^ 4      ]! RR^ 4      ]! RR^ 4      ]! RR^ 4      .^R7      .R7      ]! ^R!. ]! ]! RR^ 4      ]! RR^ 4      ]! RR^ 4      ]! RR^ 4      .^	R7      .R7      ]! ^R". ]! ]! RR^ 4      ]! RR^ 4      ]! RR^ 4      ]! RR^ 4      .^	R7      .R7      .R#7      ]! ^ . R#7      3. R$NR%NR&NR'NR(NR)NR*NR+NR,NR-NR.NR/NR0NR1NR2NR3NR4NR5NR6NR7NR8NR9NR:NR;NR<NR=NR>NR?NR@NRANRBNRCNRDNREN..]! ^	]! ^RF. . R7      ]! ^RG. ]! ]! RHR^ 4      .^R7      .R7      ]! ^RI. ]! ]! RHR^ 4      .^R7      .R7      ]! ^RJ. ]! ]! RHR^ 4      .^R7      .R7      .R#7      ]! ^
]! ^R. . R7      ]! ^RK. ]! ]! RR^ 4      .^R7      .R7      ]! ^RL. ]! ]! RR^ 4      .^R7      .R7      ]! ^RM. ]! ]! RR^ 4      .^R7      .R7      .R#7      ]! ^. R#7      ]! ^ . R#7      3. RdO. ReO..]! ^]! ^RF. . R7      .R#7      ]! ^]! ^R. . R7      ]! ^RK. ]! ]! RR^ 4      .^R7      .R7      ]! ^RL. ]! ]! RR^ 4      .^R7      .R7      ]! ^RM. ]! ]! RR^ 4      .^R7      .R7      .R#7      ]! ^. R#7      ]! ^ . R#7      .RN.. ReO...t	]! ^]! ^R. . R7      ]! ^RO. ]! ]! RR^ 4      .^R7      ]! ]! RR^ 4      .^R7      .R7      ]! ^RP. ]! ]! RR^ 4      .^R7      .R7      .R#7      ]! ^ . R#7      .. RfO..]! ^]! ^R. . R7      ]! ^RQ. ]! ]! RRR^ 4      ]! RRR^ 4      ]! RSR^ 4      .^R7      .R7      ]! ^RT. ]! ]! RRR^ 4      ]! RRR^ 4      ]! RUR^ 4      .^R7      ]! ]! RRR^ 4      ]! RRR^ 4      ]! RVR^ 4      .^R7      .R7      ]! ^RW. ]! ]! RRR^ 4      ]! RRR^ 4      .^R7      .R7      ]! ^RK. ]! ]! RRR^ 4      ]! RRR^ 4      ]! RSR^ 4      .^R7      .R7      .R#7      ]! ^ . R#7      .. RfO. RgO...t
]! ^]! ^R. . R7      ]! ^R. ]! ]! RR^ 4      ]! RR^ 4      ]! RR^ 4      .^R7      ]! ]! RXR^ 4      ]! RYR^ 4      ]! RZR^ 4      .^R7      ]! ]! RXR^ 4      ]! RYR^ 4      ]! RZR^ 4      .^R7      ]! ]! RR^ 4      ]! RR^ 4      ]! RR^ 4      .^R7      .R7      ]! ^R. ]! ]! RR^ 4      ]! RR^ 4      ]! RR^ 4      .^R7      .R7      ]! ^	R. ]! ]! RR^ 4      ]! RR^ 4      ]! RR^ 4      .^R7      .R7      ]! ^R. ]! ]! RR^ 4      ]! RR^ 4      ]! RR^ 4      ]! RR^ 4      .^R7      .R7      ]! ^R . ]! ]! RR^ 4      ]! RR^ 4      ]! RR^ 4      ]! RR^ 4      .^R7      .R7      ]! ^R!. ]! ]! RR^ 4      ]! RR^ 4      ]! RR^ 4      ]! RR^ 4      .^	R7      .R7      ]! ^R". ]! ]! RR^ 4      ]! RR^ 4      ]! RR^ 4      ]! RR^ 4      .^	R7      .R7      .R#7      ]! ^ . R#7      3. RhO. RiO. RjO. RkO. RlO. RmO. RnO. RoO. RpO. RqO. RrO..]! ^	]! ^RF. . R7      ]! ^RG. ]! ]! RHR^ 4      .^R7      .R7      ]! ^RI. ]! ]! RHR^ 4      .^R7      .R7      ]! ^RJ. ]! ]! RHR^ 4      .^R7      .R7      .R#7      ]! ^
]! ^R. . R7      ]! ^RK. ]! ]! RR^ 4      .^R7      .R7      ]! ^RL. ]! ]! RR^ 4      .^R7      .R7      ]! ^RM. ]! ]! RR^ 4      .^R7      .R7      .R#7      ]! ^. R#7      ]! ^ . R#7      3. RsO. RtO. RuO. RvO. RwO. RxO. RyO. RzO..]! ^]! ^RF. . R7      .R#7      ]! ^]! ^R. . R7      ]! ^RK. ]! ]! RR^ 4      .^R7      .R7      ]! ^RL. ]! ]! RR^ 4      .^R7      .R7      ]! ^RM. ]! ]! RR^ 4      .^R7      .R7      .R#7      ]! ^. R#7      ]! ^ . R#7      .. R{O. R|O. R}O. R~O. RO..]! ^]! ^R. . R7      ]! ^RO. ]! ]! RR^ 4      .^R7      ]! ]! RR^ 4      .^R7      .R7      ]! ^RP. ]! ]! RR^ 4      .^R7      .R7      .R#7      ]! ^ . R#7      .. RhO. RO. RO. RO..]! ^]! ^R. . R7      ]! ^RQ. ]! ]! RRR^ 4      ]! RRR^ 4      ]! RSR^ 4      .^R7      .R7      ]! ^RT. ]! ]! RRR^ 4      ]! RRR^ 4      ]! RUR^ 4      .^R7      ]! ]! RRR^ 4      ]! RRR^ 4      ]! RVR^ 4      .^R7      .R7      ]! ^RW. ]! ]! RRR^ 4      ]! RRR^ 4      .^R7      .R7      ]! ^RK. ]! ]! RRR^ 4      ]! RRR^ 4      ]! RSR^ 4      .^R7      .R7      .R#7      ]! ^ . R#7      .. RhO. RO. RO. RO. RO. RO...t ! R[ R\] P                  4      t ! R] R^] P                  4      t ! R_ R`] P                  4      t ! Ra Rb] P                  4      tR# )    N)tools)
namedtuple	FrameInfoCoroInfo
call_stack	task_nameTaskInfo
awaited_byAwaitedInfo	thread_idTask-1task_idr   coroutine_stackr
   timerawaiter3z/path/to/app.pyawaiter2awaiterr   r   	awaiterB3	awaiterB2awaiterBroot1_aexit 	__aexit__mainroot2child1_1blocho_callerblochchild2_1child1_2child2_2r   r
      └── (T) Task-1       └──  mainu           └──  __aexit__u               └──  _aexitu#                   ├── (T) root1u&                   │   └──  blochu2                   │       └──  blocho_calleru2                   │           └──  __aexit__u3                   │               └──  _aexitu<                   │                   ├── (T) child1_1uR                   │                   │   └──  awaiter /path/to/app.py:110uW                   │                   │       └──  awaiter2 /path/to/app.py:120u[                   │                   │           └──  awaiter3 /path/to/app.py:130uK                   │                   │               └── (T) timeru<                   │                   └── (T) child2_1uQ                   │                       └──  awaiterB /path/to/app.py:170uV                   │                           └──  awaiterB2 /path/to/app.py:180uZ                   │                               └──  awaiterB3 /path/to/app.py:190uI                   │                                   └── (T) timeru#                   └── (T) root2u$                       └──  blochu0                           └──  blocho_calleru0                               └──  __aexit__u1                                   └──  _aexitu:                                       ├── (T) child1_2uP                                       │   └──  awaiter /path/to/app.py:110uU                                       │       └──  awaiter2 /path/to/app.py:120uY                                       │           └──  awaiter3 /path/to/app.py:130uI                                       │               └── (T) timeru:                                       └── (T) child2_2uO                                           └──  awaiterB /path/to/app.py:170uT                                               └──  awaiterB2 /path/to/app.py:180uX                                                   └──  awaiterB3 /path/to/app.py:190uG                                                       └── (T) timerTask-5Task-6main2Task-7Task-8Task-2Task-3Task-4   └── (T) Task-5abAnestedtask_bBtask_ctask_aC
awaiter1_3
awaiter1_2awaiter1c                   ,   a  ] tR tRt o R tR tRtV tR# )TestAsyncioToolsTreei  c                    \          FN  w  rV P                  V4      ;_uu_ 4        \        P                  ! V4      pV P	                  W24       R R R 4       KP  	  R #   + '       g   i     Ke  ; iN)TEST_INPUTS_TREEsubTestr   build_async_treeassertEqual)selfinput_treeresults   &   3/usr/lib/python3.14/test/test_asyncio/test_tools.pytest_asyncio_utils'TestAsyncioToolsTree.test_asyncio_utils  sM    ,LFf%%//7  . &% -%%%   (AA,c                :   \          F>  w  rV P                  V4      ;_uu_ 4         \        P                  ! V4       R R R 4       K@  	  R #   \        P                   d'   pT P                  TP                  T4        R p?LDR p?ii ; i  + '       g   i     K  ; ir@   )TEST_INPUTS_CYCLES_TREErB   r   rC   CycleFoundExceptionrD   cycles)rE   rF   rP   es   &   rI   test_asyncio_utils_cycles.TestAsyncioToolsTree.test_asyncio_utils_cycles  ss    5NFf%%7**62 &% 6 00 7$$QXXv667 &%%s.   B	AB	 B	<B	B	B		B N)__name__
__module____qualname____firstlineno__rJ   rR   __static_attributes____classdictcell____classdict__s   @rI   r>   r>     s     /7 7    r>   c                   &   a  ] tR tRt o R tRtV tR# )TestAsyncioToolsTablei  c                    \          FN  w  rV P                  V4      ;_uu_ 4        \        P                  ! V4      pV P	                  W24       R R R 4       KP  	  R #   + '       g   i     Ke  ; ir@   )TEST_INPUTS_TABLErB   r   build_task_tablerD   )rE   rF   tablerH   s   &   rI   rJ   (TestAsyncioToolsTable.test_asyncio_utils  sM    .MFf%%//7  / &% /%%%rL   rT   N)rU   rV   rW   rX   rJ   rY   rZ   r[   s   @rI   r_   r_     s     0 0r]   r_   c                   h   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR tRtV tR# )TestAsyncioToolsBasici  c                Z    . p. pV P                  \        P                  ! V4      V4       R# )z'Test build_async_tree with empty input.N)rD   r   rC   rE   rH   expected_outputs   &  rI   test_empty_input_tree+TestAsyncioToolsBasic.test_empty_input_tree  '    //7Ir]   c                Z    . p. pV P                  \        P                  ! V4      V4       R# )z'Test build_task_table with empty input.N)rD   r   rb   rh   s   &  rI   test_empty_input_table,TestAsyncioToolsBasic.test_empty_input_table  rl   r]   c                    \        ^\        ^
R. . R7      \        ^R. . R7      .R7      .pR.R..p\        P                  ! V4      pV P	                  \        V4      \        V4      4       R# )   taskAr   taskBr%   u   └── (T) taskAu   └── (T) taskBN)r   r	   r   rC   rD   sortedrE   rF   expectedrH   s   &   rI    test_only_independent_tasks_tree6TestAsyncioToolsBasic.test_only_independent_tasks_tree  s     "")(*#%	  "")(*#%	
& ++.C-DE''/)9:r]   c                    \        ^\        ^
R. . R7      \        ^R. . R7      .R7      .pV P                  \        P                  ! V4      . RO. RO.4       R# )rq   rr   r   rs   r%   N)rq   0xarr   r   r   r   0x0)rq   0xbrs   r   r   r   r{   r   r	   rD   r   rb   )rE   rF   s   & rI   !test_only_independent_tasks_table7TestAsyncioToolsBasic.test_only_independent_tasks_table  sj     "")(*#%	  "")(*#%	
& 	""6*35[\	
r]   c           
         \        ^\        ^R. . R7      .R7      .pR..pV P                  \        P                  ! V4      V4       R# )z7Test build_async_tree with a single task and no awaits.r   r   r%   r&   N)r   r	   rD   r   rC   rh   s   &  rI   test_single_task_tree+TestAsyncioToolsBasic.test_single_task_tree  s]      !"*(*#%	

 '

 	//7Ir]   c           
         \        ^\        ^R. . R7      .R7      .p. RO.pV P                  \        P                  ! V4      V4       R# )z7Test build_task_table with a single task and no awaits.r   r   r%   Nrq   0x2r   r   r   r   r{   r}   rh   s   &  rI   test_single_task_table,TestAsyncioToolsBasic.test_single_task_table  sU      !"*(*#%	

 CC//7Ir]   c                   \        ^\        ^R. \        \        RR^ 4      .^R7      .R7      \        ^R. \        \        RR^ 4      .^R7      .R7      .R7      .pV P	                  \
        P                  4      ;_uu_ 4       p\
        P                  ! V4       RRR4       V P                  XP                  P                  . R	O.4       R#   + '       g   i     L;; i)
zBTest build_async_tree raises CycleFoundException for cyclic input.r   r   r   r   r   r-   r%   N)      r   )r   r	   r   r   assertRaisesr   rO   rC   rD   	exceptionrP   )rE   rH   contexts   &  rI   test_cycle_detection*TestAsyncioToolsBasic.test_cycle_detection  s      !"*(*$,5fb!,D+E*+$	
  !"*(*$,5fb!,D+E*+$	

: u8899W""6* :**11I;? :9s   CC	c                ,   \        ^\        ^R. . R7      \        ^R. \        \        RR^ 4      .^R7      .R7      \        ^R. \        \        RR^ 4      .^R7      .R7      .R7      .p. R
O.pV P	                  \
        P                  ! V4      V4       R	# )z9Test build_async_tree with a more complex tree structure.r   r   r-   r   r   r   r.   r%   N)r&   r'   u           └── (T) Task-2u               └──  mainu$                   └── (T) Task-3)r   r	   r   r   rD   r   rC   rh   s   &  rI   test_complex_tree'TestAsyncioToolsBasic.test_complex_tree$  s      !"*(*#%	  !"*(*$,5fb!,D+E*+$	
  !"*(*$,5fb!,D+E*+$	
% "
H
 	//7Ir]   c                8   \        ^\        ^R. . R7      \        ^R. \        \        RR^ 4      .^R7      .R7      \        ^R. \        \        RR^ 4      .^R7      .R7      .R7      .p. R
O. RO. RO.pV P	                  \
        P                  ! V4      V4       R	# )z9Test build_task_table with a more complex tree structure.r   r   r-   r   r   r   r.   r%   Nr   )rq   0x3r-   r   r   r   r   )rq   0x4r.   r   r   r-   r   )r   r	   r   r   rD   r   rb   rh   s   &  rI   test_complex_table(TestAsyncioToolsBasic.test_complex_tableT  s      !"*(*#%	  !"*(*$,5fb!,D+E*+$	
  !"*(*$,5fb!,D+E*+$	
% "
H 4==

 	//7Ir]   c                B   \        ^\        ^
R. \        \        RR^ 4      \        RR^ 4      \        RR^ 4      \        RR^ 4      \        RR^ 4      .^R7      .R	7      \        ^R
. . R	7      .R7      .p. RO.p\        P
                  ! V4      pV P                  W24       R# )rq   leafc1r   c2c3c4c5r   r   rootr%   N)u   └── (T) rootu       └──  c5u           └──  c4u               └──  c3u                   └──  c2u!                       └──  c1u*                           └── (T) leaf)r   r	   r   r   r   rC   rD   ru   s   &   rI   test_deep_coroutine_chain/TestAsyncioToolsBasic.test_deep_coroutine_chain  s     ""((*$$-dB$:$-dB$:$-dB$:$-dB$:$-dB$:," +-	$	"  ""((*#%	%
>

 ''/*r]   c                   \        ^\        ^R. \        \        RR^ 4      .^R7      .R7      \        ^R. \        \        RR^ 4      .^R7      .R7      \        ^R. \        \        R	R^ 4      .^R7      \        \        R
R^ 4      .^R7      .R7      .R7      .pV P	                  \
        P                  4      ;_uu_ 4       p\
        P                  ! V4       RRR4       XP                  P                  pT P                  \        ;QJ d(    R V 4       F  '       g   K   R4       R# 	  R4       R# ! R V 4       4      4       R#   + '       g   i     Lw; i)rq   Task-Acall1r   r   r   Task-Bcall2zTask-Ccall3call4r%   Nc              3   B   "   T F  p\        V4      0 Rm8H  x  K  	  R# 5i)rq   N>   rq   r   r   )set).0cs   & rI   	<genexpr>GTestAsyncioToolsBasic.test_multiple_cycles_same_node.<locals>.<genexpr>  s     @ACFi/s   TF)r   r	   r   r   r   r   rO   rC   r   rP   
assertTrueany)rE   rF   ctxrP   s   &   rI   test_multiple_cycles_same_node4TestAsyncioToolsBasic.test_multiple_cycles_same_node  s?    !"*(*$,5gr1,E+F*+$	
  !"*(*$,5gr1,E+F*+$	
  !"*(*$,5gr1,E+F*+ %,5gr1,E+F*+	$	/&)+
X u8899S""6* :%%@@AA@@@A :9s    EE	c                <   \        ^\        ^R. \        \        RR^ 4      .^R7      .R7      \        ^R. . R7      .R7      .p\        P
                  ! V4      pV EF<  pV P                  \        V4      ^4       V P                  V^ ,          \        4       T P                  \        V^,          \        4      ;'       d    V^,          P                  R4      4       V P                  V^,          \        4       V P                  V^,          \        4       V P                  V^,          \        4       V P                  V^,          \        4       T P                  \        V^,          \        4      ;'       d    V^,          P                  R4      4       EK?  	  R	# )
rq   r   foor   r   r   r   r%   0xN)r   r	   r   r   r   rb   rD   lenassertIsInstanceintr   
isinstancestr
startswith)rE   rF   rc   rows   &   rI   test_table_output_format.TestAsyncioToolsBasic.test_table_output_format  sW    !"*(*$,5eR,C+D*+$	
  !"*(*#%	
0 &&v.CSXq)!!#a&#.OO3q63'CCCF,=,=d,C !!#a&#.!!#a&#.!!#a&#.!!#a&#.OO3q63'CCCF,=,=d,C r]   rT   N)rU   rV   rW   rX   rj   rn   rw   r~   r   r   r   r   r   r   r   r   rY   rZ   r[   s   @rI   rf   rf     sS     JJ;0
2J,J$!@F.J`*JX++Z0Bd& &r]   rf   c                   >   a  ] tR tRt o R tR tR tR tR tRt	V t
R# )	TestAsyncioToolsEdgeCasesi  c                p   \        ^\        ^R. \        \        RR^ 4      .^R7      .R7      .R7      .pV P	                  \
        P                  4      ;_uu_ 4       p\
        P                  ! V4       RRR4       V P                  ^^.XP                  P                  4       R#   + '       g   i     L:; i)z5A task directly awaits itself - should raise a cycle.zSelf-Awaiterloopbackr   r   r   r%   N)r   r	   r   r   r   r   rO   rC   assertInr   rP   )rE   rF   r   s   &  rI   test_task_awaits_self/TestAsyncioToolsEdgeCases.test_task_awaits_self
  s      !"0(*$,5j"a,H+I*+$	

$ u8899S""6* :q!fcmm223 :9s   B%%B5	c                   \        ^\        ^R. \        \        RR^ 4      .RR7      .R7      .R7      .p\        P
                  ! V4      pV P                  \        V4      ^4       V P                  V^ ,          ^,          R4       R	# )
zDAwaiter ID not in task list - should not crash, just show 'Unknown'.r   coror   i  r   r   r%   UnknownN)r   r	   r   r   r   rb   rD   r   )rE   rF   rc   s   &  rI   !test_task_with_missing_awaiter_id;TestAsyncioToolsEdgeCases.test_task_with_missing_awaiter_id"  s      !"*(*$,5fb!,D+E*-$	

$ &&v.UQ'q!i0r]   c                :   \        ^\        ^R. \        \        RR^ 4      .^R7      \        \        RR^ 4      .^R7      .R7      \        ^R. . R7      \        ^R. . R7      .R7      .p\        P
                  ! V4      pR	P                  V^ ,          4      pV P                  RV4       V P                  RV4       V P                  RV4       R	P                  V^,          4      pV P                  RV4       V P                  RV4       V P                  RV4       R
# )zBSame coroutine frame repeated under a parent - should deduplicate.r   frameAr   r   r   r-   r.   r%   
Nr   r	   r   r   r   rC   joinr   rE   rF   rG   flats   &   rI   test_duplicate_coroutine_frames9TestAsyncioToolsEdgeCases.test_duplicate_coroutine_frames:  s     !"*(*$,5hA,F+G*+ %,5hA,F+G*+	$	  !"*(*#%	  !"*(*#%	-!
D %%f-yya!h%h%h%yya!h%h%h%r]   c                   \        ^\        ^R. \        \        RR^ 4      .^R7      .R7      \        ^R. . R7      .R7      .p\        P
                  ! V4      pV P                  RR	P                  V^ ,          4      4       R# )
zATask with no name in id2name - should still render with fallback.r   f1r   r   r   Nr%   z(T) Noner   )r   r	   r   r   r   rC   r   r   )rE   rF   rG   s   &  rI   test_task_with_no_name0TestAsyncioToolsEdgeCases.test_task_with_no_namej  s      !"((*$,5dB,B+C*+$	
  !"&(*#%	
2 %%f-j$))DG"45r]   c                   \        ^\        ^R. \        \        RR^ 4      \        RR^ 4      .^R7      .R7      \        ^R. . R7      .R7      .p\        P
                  ! VR	R
R7      pRP                  V^ ,          4      pV P                  RV4       V P                  RV4       V P                  RV4       V P                  RV4       R# )z(Pass custom emojis to the tree renderer.MainTaskr   r   f2r   r   SubTaskr%   u   🧵u   🔁)
task_emoji	cor_emojir   u   🧵 MainTasku   🔁 f1u   🔁 f2u   🧵 SubTaskNr   r   s   &   rI   &test_tree_rendering_with_custom_emojis@TestAsyncioToolsEdgeCases.test_tree_rendering_with_custom_emojis  s      !",(*$$-dB$:$-dB$:," +,$	  !"+(*#%	
6 %%f6Ryya!ot,i&i&nd+r]   rT   N)rU   rV   rW   rX   r   r   r   r   r   rY   rZ   r[   s   @rI   r   r     s$     4010.&`6<", ",r]   r   )funcnamefilenamelineno)r0   u       └──  main2u           ├── (T) Task-6u           ├── (T) Task-7u           └── (T) Task-8)r&   r'   u           ├── (T) Task-2u           ├── (T) Task-3u           └── (T) Task-4)   r   r   )r         r   r   )rq   r   r   r   awaiter3 -> awaiter2 -> awaiterr   r   )rq   r   r   r   $awaiter1_3 -> awaiter1_2 -> awaiter1r$   0x5)rq   r   r   r   r   r"   0x6)rq   r   r   r   r   r#   0x7)rq   0x8r   r   _aexit -> __aexit__ -> mainr   r   )rq   0x9r   r   r   r   r   )rq   r   r   r   -_aexit -> __aexit__ -> blocho_caller -> blochr   r   )rq   r   r"   r   r   r   r   )rq   r   r#   r   r   r   r   )rq   r   r$   r   r   r   r   )	   r   r(   r   r   r   r{   )r   r   r)   r   r*   r(   r   )r   r   r+   r   r*   r(   r   )r   r   r,   r   r*   r(   r   )
   0x1r   r   r   r   r{   )r   r   r-   r   r   r   r   )r   r   r.   r   r   r   r   )r   r   r/   r   r   r   r   )rq   r   r(   r   r   r   r{   )r   r   r   r   r   r   r{   )r   r   r-   r   r   r   r   )r   r   r.   r   r   r   r   )r   r   r/   r   r   r   r   )rq   r   r1   r   r   r2   r   )rq   r   r1   r   r   r   r   )rq   r   r2   r   r   r1   r   )rq   r   r3   r   nested -> nested -> task_br6   r   )rq   r   r6   r   znested -> nested -> task_cr9   r   )rq   r   r6   r   znested -> nested -> task_ar3   r   )rq   r   r9   r   znested -> nestedr-   r   )rq   r   r-   r   r   r6   r   )unittestasyncior   collectionsr   r   r   r	   r   rA   rN   ra   TestCaser>   r_   rf   r   rT   r]   rI   <module>r      s     "{$FG	j<"=>j"[\l(CD  !"*(*#%	  !")(*$$-j:KS$Q$-j:KS$Q$-i9JC$P,"
 +, %$-k;Lc$R$-k;Lc$R$-j:KS$Q,"
 +, %$-k;Lc$R$-k;Lc$R$-j:KS$Q,"
 +, %$-j:KS$Q$-j:KS$Q$-i9JC$P,"
 +,3!$	&N  !")(*$$-hA$>$-k2q$A$-fb!$<,"
 +,	$	  !")(*$$-hA$>$-k2q$A$-fb!$<,"
 +,	$	  !",(*$$-hA$>$-k2q$A$-or1$E$-gr1$=	," +,
$	   !",(*$$-hA$>$-k2q$A$-or1$E$-gr1$=	," +,
$	   !",(*$$-hA$>$-k2q$A$-or1$E$-gr1$=	," +,
$	   !",(*$$-hA$>$-k2q$A$-or1$E$-gr1$=	," +,
$	yLO` !3cR	
j#*#)# 3# 4	#
 :# =# I# I# J# S# i# n# r# b# S#  h!#" m##$ q%#& `'#( :)#* ;+#, G-#. G/#0 H1#2 Q3#4 g5#6 l7#8 p9#: `;#< Q=#> f?#@ kA#B oC#D ^E#%qF  !"*(*#%	  !"*(*$,5gr1,E+F*+$	
  !"*(*$,5gr1,E+F*+$	
  !"*(*$,5gr1,E+F*+$	
;(+X  !"*(*#%	  !"*(*$,5fb!,D+E*+$	
  !"*(*$,5fb!,D+E*+$	
  !"*(*$,5fb!,D+E*+$	
;(+X "4!3u[	
|pj  $%&.,.')	 
  $%&.,.')	 !$%&.,. (09&"a0H/I./!"(	
 !$%&.,. (09&"a0H/I./!"(	
 !$%&.,. (09&"a0H/I./!"(	
;( +X aB7aB7s:| ((	AKe	~ J  $%&.,.')	 !$%&),. (09*b!0L/M./!" !)09&"a0H/I./!"	(	 !$%&),. (09)R0K/L./!"(	
-! $J aB7M'R Y-d  $%&.,.')	 !$%&),. ((1(B(B(1(B(B(1(B(B0&
 /0!"	(	 !$%&),. ((1(B(B(1(B(B(1(B(B0&
 /0!" !)(1(B(B(1(B(B(1(B(B0&
 /0!"(	. !$%&),. ((1(B(B(1(B(B0& /0!"(	 !$%&.,. ((1(B(B(1(B(B(1(B(B0&
 /0!"	(	wJ M\ aB7_Pd \	"kV_F \  !"*(*#%	  !")(*$$-j"a$@$-j"a$@$-iQ$?,"
 +, %$-lB$B$-lB$B$-j"a$@,"
 +, %$-lB$B$-lB$B$-j"a$@,"
 +, %$-j"a$@$-j"a$@$-iQ$?,"
 +,3!$	&N  !")(*$$-hA$>$-k2q$A$-fb!$<,"
 +,	$	  !")(*$$-hA$>$-k2q$A$-fb!$<,"
 +,	$	  !",(*$$-hA$>$-k2q$A$-or1$E$-gr1$=	," +,
$	   !",(*$$-hA$>$-k2q$A$-or1$E$-gr1$=	," +,
$	   !",(*$$-hA$>$-k2q$A$-or1$E$-gr1$=	," +,
$	   !",(*$$-hA$>$-k2q$A$-or1$E$-gr1$=	," +,
$	yLO` !3cR	
j 8g\qvt  !"*(*#%	  !"*(*$,5gr1,E+F*+$	
  !"*(*$,5gr1,E+F*+$	
  !"*(*$,5gr1,E+F*+$	
;(+X  !"*(*#%	  !"*(*$,5fb!,D+E*+$	
  !"*(*$,5fb!,D+E*+$	
  !"*(*$,5fb!,D+E*+$	
;(+X "4!3u[	
| 8BBB8BBB	j^  $%&.,.')	 
  $%&.,.')	 !$%&.,. (09&"a0H/I./!"(	
 !$%&.,. (09&"a0H/I./!"(	
 !$%&.,. (09&"a0H/I./!"(	
;( +X aB7aB7s:| 87AAAAH\  $%&.,.')	 !$%&),. (09*b!0L/M./!" !)09&"a0H/I./!"	(	 !$%&),. (09)R0K/L./!"(	
-! $J aB7M'V 8;<:	[4r  $%&.,.')	 !$%&),. ((1(B(B(1(B(B(1(B(B0&
 /0!"	(	 !$%&),. ((1(B(B(1(B(B(1(B(B0&
 /0!" !)(1(B(B(1(B(B(1(B(B0&
 /0!"(	. !$%&),. ((1(B(B(1(B(B0& /0!"(	 !$%&.,. ((1(B(B(1(B(B(1(B(B0&
 /0!"	(	wJ M\ aB7_Ph 8M/mGEj	 Z78,, 7 0H-- 0jH-- jZb, 1 1 b,r]   