+
    -jIM                        R t ^ RIHt ^ RIt^ RIHt ^ RIt^ RIt^ RIt^ RI	t	^ RI
Ht ^ RI
Ht ^ RI
Ht ^ RI
Ht ^ RI
Ht ^ R	I
Ht ^R
IHt ^RIHt ^RIHt ^RIHt ^RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RI H!t! ^ RI"H#t# ^ RI"H$t$ ^ RI"H%t% ^ RI"H&t& ^ RI'H(t( ^ RI'H)t) ^ RI'H*t* ^ RI'H+t+ ]PX                  RK8  d   ^ RI-H.t. ]'       d   ^ RI/H0t0 ^ RI1H2t2 R  R! lt3R" R# lt4R$ R% lt5R& R' lt6R( R) lt7RLR+ R, llt8R- R. lt9R/ R0 lt:R1 R2 lt;R3 R4 lt<R5 R6 lt=R7 R8 lt>RMR9 R: llt?R; R< lt@R= R> ltA]! R?R*R@7      tB]]P                   ! RA RB]]B,          4      4       4       tDRC RD ltERE RF ltF ! RG RH4      tGRI RJ ltHR# )Nz3Basic collect and runtest protocol implementations.)annotationsN)Callable)cast)final)Generic)Literal)TYPE_CHECKING)TypeVar)Config)
BaseReport)CollectErrorRepr)CollectReport)
TestReport)timing)ExceptionChainRepr)ExceptionInfo)TerminalRepr)Parser)check_ispytest)	Collector)	Directory)Item)Node)Exit)OutcomeException)Skipped)TEST_OUTCOME)BaseExceptionGroup)Session)TerminalReporterc                    V ^8  d   QhRRRR/# )   parserr   returnNone )formats   "c/Users/mitch_tango/dev/rabbit-r1-livekit/agent/.venv/lib/python3.14/site-packages/_pytest/runner.py__annotate__r(   3   s      V      c           	         V P                  R RRR7      pVP                  RR\        RRRR	7       VP                  R
R\        RRRR	7       R# )zterminal reporting	Reportinggeneral)afterz--durationsstoreNNz1Show N slowest setup/test durations (N=0 for all))actiontypedefaultmetavarhelpz--durations-minzcMinimal duration in seconds for inclusion in slowest list. Default: 0.005 (or 0.0 if -vv is given).)getgroup	addoptionintfloat)r"   groups   & r'   pytest_addoptionr:   3   sa    OO0+YOOE	OO@   
OO3  r)   c                    V ^8  d   QhRRRR/# )r!   terminalreporterr   r#   r$   r%   )r&   s   "r'   r(   r(   H   s      K  K.>  K4  Kr)   c                   V P                   P                  P                  pV P                   P                  P                  pV P                   P	                  4       pVf   R # Vf   V^8  d   RMRpT p. pVP
                  P                  4        F1  pV F(  p\        VR4      '       g   K  VP                  V4       K*  	  K3  	  V'       g   R # VP                  R RR7       V'       g   VP                  RR4       MVP                  RR	V R
24       VR V p\        V4       F  w  rVP                  V8  dt   VP                  R4       R\        V4      V,
           RVR R2p	V P                   P                  P                  f
   V	R,          p	V	R,          p	VP                  V	4        R # VP                  VP                  R RVP                  R RVP                    24       K  	  R # )Ng{Gzt?g        durationc                    V P                   # N)r>   )xs   &r'   <lambda>)pytest_terminal_summary.<locals>.<lambda>X   s    QZZr)   T)keyreverse=zslowest durationszslowest z
 durations (z durations < gz	s hidden.z"  Use -vv to show these durations.)z02.2fzs z<8 )configoption	durationsdurations_minget_verbositystatsvalueshasattrappendsort	write_sep	enumerater>   
write_linelenwhennodeid)
r<   rN   rO   verbosetrdlistreplistrepimessages
   &         r'   pytest_terminal_summaryrc   H   s    ''..88I$++22@@M%%335G!(1#	BE88??$CsJ''S!  % 	JJ'J6
S-.
SHYKz:;jy!E"<<-'MM"#e*q.)}Q6GyQG&&--;;C??sNGMM'"
e,Bsxxm1SZZLIJ #r)   c                    V ^8  d   QhRRRR/# r!   sessionr   r#   r$   r%   )r&   s   "r'   r(   r(   k   s     ' ' 'T 'r)   c                $    \        4       V n        R # r@   )
SetupState_setupstaterf   s   &r'   pytest_sessionstartrk   k   s    $,Gr)   c                    V ^8  d   QhRRRR/# re   r%   )r&   s   "r'   r(   r(   o   s     - -' -d -r)   c                <    V P                   P                  R 4       R # r@   )ri   teardown_exactrj   s   &r'   pytest_sessionfinishro   o   s    &&t,r)   c               $    V ^8  d   QhRRRRRR/# )r!   itemr   nextitemItem | Noner#   boolr%   )r&   s   "r'   r(   r(   s   s!      $ + $ r)   c                    V P                   pVP                  V P                  V P                  R 7       \	        WR7       VP                  V P                  V P                  R 7       R# ))r[   locationrr   T)ihookpytest_runtest_logstartr[   rv   runtestprotocolpytest_runtest_logfinish)rq   rr   rx   s   && r'   pytest_runtest_protocolr|   s   sL    JJE	!!t}}!MD,	""$++"Nr)   Tc               (    V ^8  d   QhRRRRRRRR/# )	r!   rq   r   logrt   rr   rs   r#   zlist[TestReport]r%   )r&   s   "r'   r(   r(   {   s,      
,7r)   c           	     f   \        V R 4      pV'       d#   V P                  '       g   V P                  4        \        V RV4      pV.pVP                  '       dl   V P
                  P                  RR4      '       d   \        V 4       V P
                  P                  RR4      '       g   VP                  \        V RV4      4       V P                  P                  '       g   V P                  P                  '       d   RpVP                  \        V RWR7      4       V'       d   RV n        RV n        V# )	_requestsetup	setupshowF	setuponlycallNteardownrw   )rS   r   _initrequestcall_and_reportpassedrL   	getoptionshow_test_itemrT   rf   
shouldfail
shouldstopfuncargs)rq   r~   rr   
hasrequestr`   reportss   &&&   r'   rz   rz   {   s     z*J$--- 	
$
-CeG
zzz;;  e444 {{$$[%88NN?4=> ||$,,"9"9"9NN?4SLM Nr)   c                    V ^8  d   QhRRRR/# r!   rq   r   r#   r$   r%   )r&   s   "r'   r(   r(      s     	 	 	$ 	r)   c                l   V P                   P                  4       pVP                  4        VP                  R4       VP                  V P                  4       \        \        V R. 4      4      pV'       d0   VP                  RP                  RP                  V4      4      4       VP                  4        R# )zAShow test function, parameters and the fixtures of the test item.fixturenamesz (fixtures used: {})z, Nz        )
rL   get_terminal_writerlinewriter[   sortedgetattrr&   joinflush)rq   twused_fixturess   &  r'   r   r      sy    		(	(	*BGGIHHWHHT[[74<=M
'..tyy/GHIHHJr)   c                    V ^8  d   QhRRRR/# r   r%   )r&   s   "r'   r(   r(      s     ) )t ) )r)   c                h    \        V R 4       V P                  P                  P                  V 4       R# )r   N)_update_current_test_varrf   ri   r   )rq   s   &r'   pytest_runtest_setupr      s$    T7+LL""4(r)   c                    V ^8  d   QhRRRR/# r   r%   )r&   s   "r'   r(   r(      s      d t r)   c                   \        V R 4        \        =\        =\        =\        P
                  R8  d   \        = T P                  4        R#   \         d     L i ; i  \         du   p\        T4      \        n        T\        n        \        P
                  R8  d   T\        n        TP                  f   Q hTP                  P                  \        n        h Rp?ii ; i)r   N)          )r   sys	last_type
last_valuelast_tracebackversion_infolast_excAttributeErrorruntest	Exceptionr1   __traceback__tb_next)rq   es   & r'   pytest_runtest_callr      s    T6*MNz)    	Qz)CL***__44	s)   -A A AAC*A/CCc               $    V ^8  d   QhRRRRRR/# )r!   rq   r   rr   rs   r#   r$   r%   )r&   s   "r'   r(   r(      s!     ) )$ )+ )$ )r)   c                    \        V R 4       V P                  P                  P                  V4       \        V R4       R# )r   N)r   rf   ri   rn   )rq   rr   s   &&r'   pytest_runtest_teardownr      s.    T:.LL++H5T4(r)   c               $    V ^8  d   QhRRRRRR/# )r!   rq   r   rZ   z+Literal['setup', 'call', 'teardown'] | Noner#   r$   r%   )r&   s   "r'   r(   r(      s$     ! !
!A!	!r)   c                    RpV'       d:   V P                    RV R2pVP                  RR4      pV\        P                  V&   R# \        P                  P	                  V4       R# )zUpdate :envvar:`PYTEST_CURRENT_TEST` to reflect the current item and stage.

If ``when`` is None, delete ``PYTEST_CURRENT_TEST`` from the environment.
PYTEST_CURRENT_TESTz (rJ    z(null)N)r[   replaceosenvironpop)rq   rZ   var_namevalues   &&  r'   r   r      sP     %H;;-r$q)fh/$

8


x r)   c                    V ^8  d   QhRRRR/# )r!   reportr   r#   ztuple[str, str, str] | Noner%   )r&   s   "r'   r(   r(      s     	 	Z 	4O 	r)   c                |    V P                   R9   d+   V P                  '       d   R# V P                  '       d   R# R# R# )r   N)r   r   )errorEERROR)skippedsSKIPPED)rG   rG   rG   )rZ   failedr   r   s   &r'   pytest_report_teststatusr      s6    {{++===((^^^,,r)   c               (    V ^8  d   QhRRRRRRRR/# )	r!   rq   r   rZ   z$Literal['setup', 'call', 'teardown']r~   rt   r#   r   r%   )r&   s   "r'   r(   r(      s,      
:AEr)   c                  a aa S P                   pVR 8X  d   VP                  oM2VR8X  d   VP                  oMVR8X  d   VP                  oM
Q RT 24       h\        P                  V VV3R lV\        S P                  4      R7      pVP                  S VR7      pV'       d   VP                  VR7       \        WV4      '       d   VP                  S WVR7       V# )	r   r   r   zUnhandled runtest hook case: c                    < S! RR S /SB # )rq   r%   r%   )rq   kwdsruntest_hooks   r'   rB   !call_and_report.<locals>.<lambda>   s    /$/$/r)   )rZ   reraiserq   r   r   noder   r   )rx   r   r   r   CallInfo	from_callget_reraise_exceptionsrL   pytest_runtest_makereportpytest_runtest_logreportcheck_interactive_exceptionpytest_exception_interact)rq   rZ   r~   r   rx   r   r   r   s   f&&l   @r'   r   r      s     JJEw,1,F,F	00		44<5dV<<u/&t{{3  D
 88d8NF
&&f&5"400''T'LMr)   c                    V ^8  d   QhRRRR/# )r!   rL   r
   r#   ztuple[type[BaseException], ...]r%   )r&   s   "r'   r(   r(     s      6 .M r)   c                `    \         3pV P                  RR4      '       g   V\        3,          pV# )z@Return exception types that should not be suppressed in general.usepdbF)r   r   KeyboardInterrupt)rL   r   s   & r'   r   r     s/    04wGHe,,%''Nr)   c               $    V ^8  d   QhRRRRRR/# )r!   r   zCallInfo[object]r   r   r#   rt   r%   )r&   s   "r'   r(   r(   	  s"      &6 
 t r)   c                    V P                   f   R# \        VR4      '       d   R# \        V P                   P                  \        \
        P                  ,          4      '       d   R# R# )zRCheck whether the call raised an exception that should be reported as
interactive.FwasxfailT)excinforS   
isinstancer   r   bdbBdbQuit)r   r   s   &&r'   r   r   	  sG     ||vz""$,,$$g&;<<r)   TResult)	covariantc                      ] tR tRt$ RtR]R&   R]R&   R]R&   R]R	&   R]R
&   R]R&   RR/R R llt]R R l4       t]	RR R ll4       t
R R ltRtR# )r   i  z/Result/Exception info of a function invocation.TResult | None_result#ExceptionInfo[BaseException] | Noner   r8   startstopr>   /Literal['collect', 'setup', 'call', 'teardown']rZ   	_ispytestFc               8    V ^8  d   QhRRRRRRRRRRR	R
RRRR/# )r!   resultr   r   r   r   r8   r   r>   rZ   r   r   rt   r#   r$   r%   )r&   s   "r'   r(   CallInfo.__annotate__,  sZ       5 	
   >  
r)   c               	d    \        V4       Wn        W n        W0n        W@n        WPn        W`n        R # r@   )r   r   r   r   r   r>   rZ   )selfr   r   r   r   r>   rZ   r   s   &&&&&&&$r'   __init__CallInfo.__init__,  s*     	y!
	 	r)   c                   V ^8  d   QhRR/# )r!   r#   r   r%   )r&   s   "r'   r(   r   @  s     
+ 
+ 
+r)   c                p    V P                   e   \        V : R24      h\        \        V P                  4      # )z\The return value of the call, if it didn't raise.

Can only be accessed if excinfo is None.
z has no valid result)r   r   r   r   r   r   s   &r'   r   CallInfo.result?  s4     <<# D8+?!@AA GT\\**r)   Nc               (    V ^8  d   QhRRRRRRRR/# )	r!   funczCallable[[], TResult]rZ   r   r   z<type[BaseException] | tuple[type[BaseException], ...] | Noner#   zCallInfo[TResult]r%   )r&   s   "r'   r(   r   M  s3     #
 #
##
 >#
 N	#

 
#
r)   c           
     t   Rp\         P                  ! 4       p V! 4       pVP                  4       pV ! VP                  P                  VP                  P                  VP                  VVVRR7      #   \         d<    \        P                  ! 4       pTe   \        TP                  T4      '       d   h Rp Li ; i)ag  Call func, wrapping the result in a CallInfo.

:param func:
    The function to call. Called without arguments.
:type func: Callable[[], _pytest.runner.TResult]
:param when:
    The phase in which the function is called.
:param reraise:
    Exception or exceptions that shall propagate if raised by the
    function, instead of being wrapped in the CallInfo.
NT)r   r   r>   rZ   r   r   r   )r   InstantBaseExceptionr   from_currentr   r   elapsedr   timer   seconds)clsr   rZ   r   r   instantr   r>   s   &&&&    r'   r   CallInfo.from_callL  s    $ .."	%)VF ??$..%%##%%
 	
  	#002G"z'--'I'IF		s   A1 1AB76B7c                   V ^8  d   QhRR/# )r!   r#   strr%   )r&   s   "r'   r(   r   r  s     I I# Ir)   c                	    V P                   f    RV P                  : RV P                  : R2# RV P                  : RV P                   : R2# )Nz<CallInfo when=z	 result: >z	 excinfo=)r   rZ   r   r   s   &r'   __repr__CallInfo.__repr__r  sH    <<$TYYM4<<:J!LL Yt||6FaHHr)   )r   r>   r   r   r   rZ   r@   )__name__
__module____qualname____firstlineno____doc____annotations__r   propertyr   classmethodr   r  __static_attributes__r%   r)   r'   r   r     sl     :00L
KO
99  & 
+ 
+ #
 #
JI Ir)   r   c               $    V ^8  d   QhRRRRRR/# )r!   rq   r   r   zCallInfo[None]r#   r   r%   )r&   s   "r'   r(   r(   x  s!     5 5D 5 5: 5r)   c                .    \         P                  ! W4      # r@   )r   from_item_and_callr   s   &&r'   r   r   x  s    ((44r)   c                    V ^8  d   QhRRRR/# r!   	collectorr   r#   r   r%   )r&   s   "r'   r(   r(   |  s     0 0) 0 0r)   c                  a  R  V 3R llp\         P                  VR\        \        3R7      pRpVP                  '       g   RpEMO\
        .p\        P                  P                  R4      pVe   VP                  VP                  4       \        VP                  P                  \        V4      4      '       d   RpS P                  VP                  R4      p\        V\        4      '       g   Q \!        V4      4       hVP"                  pV'       g   Q h\%        VP&                  4      VP(                  VP*                  3pMTR	pS P-                  VP                  4      p	\/        V	R
4      '       g$   \        V	\$        4      '       g   Q h\1        V	4      p	T	pVP                  '       g   VP2                  MRp
\5        S P6                  WCV
4      pW+n        V# )c                   V ^8  d   QhRR/# )r!   r#   zlist[Item | Collector]r%   )r&   s   "r'   r(   0pytest_make_collect_report.<locals>.__annotate__}  s     ) )+ )r)   c                 T  < \        S \        4      '       dz   S P                  P                  P	                  S P
                  S P                  P                  R 4      S P                  P                  S P                  P                  R4      R7       \        S P                  4       4      # )
importmodeconsider_namespace_packages)rootpathr#  )r   r   rL   pluginmanager_loadconftestmodulespathr   r$  getinilistcollectr  s   r'   r*  +pytest_make_collect_report.<locals>.collect}  s     i++**??  **<8"))22,5,<,<,C,C1-	 @  I%%'((r)   r*  )r   Nr   unittestr   r   r   
toterminal)r   r   r   
SystemExitr   r   r   modulesgetrT   SkipTestr   r   tuple_repr_failure_pyr   repr	reprcrashr
  r'  linenorb   repr_failurerS   r   r   r   r[   r   )r  r*  r   longreproutcomeskip_exceptionsr-  r_r	errorinfor   r`   s   f           r'   pytest_make_collect_reportr?  |  st   ) )& %6
$C  D BFH<<<:B");;??:.""8#4#45dll((%*@AAG++DLL&ABb"455?tBx?5AH1AFFQXXqyy9HG!..t||<I9l33!)S1111,Y7	 H $T[[$F
	(('V
DCHJr)   c                  J    ] tR tRtRtR R ltR R ltR R ltR	 R
 ltRt	R# )rh   i  a  Shared state for setting up/tearing down test items or collectors
in a session.

Suppose we have a collection tree as follows:

<Session session>
    <Module mod1>
        <Function item1>
    <Module mod2>
        <Function item2>

The SetupState maintains a stack. The stack starts out empty:

    []

During the setup phase of item1, setup(item1) is called. What it does
is:

    push session to stack, run session.setup()
    push mod1 to stack, run mod1.setup()
    push item1 to stack, run item1.setup()

The stack is:

    [session, mod1, item1]

While the stack is in this shape, it is allowed to add finalizers to
each of session, mod1, item1 using addfinalizer().

During the teardown phase of item1, teardown_exact(item2) is called,
where item2 is the next item to item1. What it does is:

    pop item1 from stack, run its teardowns
    pop mod1 from stack, run its teardowns

mod1 was popped because it ended its purpose with item1. The stack is:

    [session]

During the setup phase of item2, setup(item2) is called. What it does
is:

    push mod2 to stack, run mod2.setup()
    push item2 to stack, run item2.setup()

Stack:

    [session, mod2, item2]

During the teardown phase of item2, teardown_exact(None) is called,
because item2 is the last item. What it does is:

    pop item2 from stack, run its teardowns
    pop mod2 from stack, run its teardowns
    pop session from stack, run its teardowns

Stack:

    []

The end!
c                   V ^8  d   QhRR/# )r!   r#   r$   r%   )r&   s   "r'   r(   SetupState.__annotate__  s     
 
$ 
r)   c                	    / V n         R # r@   stackr   s   &r'   r   SetupState.__init__  s      	
r)   c                    V ^8  d   QhRRRR/# r   r%   )r&   s   "r'   r(   rB    s      $ 4 r)   c                &   VP                  4       pV P                  P                  4        F<  w  pw  rEW29   g   Q R4       hV'       g   K  V^ ,          P                  V^,          4      h	  V\	        V P                  4      R  FB  pW0P                  9  g   Q hVP
                  .R3V P                  V&    VP                  4        KD  	  R#   \         d;   pT P                  T,          ^ ,          YUP                  33T P                  T&   h Rp?ii ; i)z4Setup objects along the collector chain to the item.z(previous item was not torn down properlyN)		listchainrE  itemswith_tracebackrY   r   r   r   r   )r   rq   needed_collectorscol
finalizersexcs   &&    r'   r   SetupState.setup  s     NN, '+jj&6&6&8"C"*+W-WW+s!f++CF33 '9
 %S_%67Cjj((( #~t4DJJsO		 8   #'::c?1#5=N=N7O"P

3s   5CD5DDc               $    V ^8  d   QhRRRRRR/# )r!   	finalizerzCallable[[], object]r   r   r#   r$   r%   )r&   s   "r'   r(   rB    s"     . .&: .$ .4 .r)   c                   V'       d   \        V\        4      '       d   Q h\        V4      '       g   Q hW P                  9   g   Q W P                  34       hV P                  V,          ^ ,          P	                  V4       R# )zWAttach a finalizer to the given node.

The node must be currently active in the stack.
N)r   r3  callablerE  rT   )r   rR  r   s   &&&r'   addfinalizerSetupState.addfinalizer  sb    
 JtU3333	""""zz!5D**#55!

4""9-r)   c                    V ^8  d   QhRRRR/# )r!   rr   rs   r#   r$   r%   )r&   s   "r'   r(   rB    s      "  "{  "t  "r)   c           	     "   T;'       d    VP                  4       ;'       g    . p. pV P                  '       d   \        V P                  P                  4       4      VR\	        V P                  4       8X  d   MV P                  P                  4       w  pw  rV. pV'       d   VP                  4       p V! 4        K"  \	        V4      ^8X  d   VP                  V4       K  V'       g   K  RV: 2p
VP                  \        WRRR1,          4      4       K  \	        V4      ^8X  d
   V^ ,          hV'       d   \        RVRRR1,          4      hVf   V P                  '       d   Q hR# R#   \         d   p	TP                  T	4        Rp	?	K  Rp	?	ii ; i)zTeardown the current stack up until reaching nodes that nextitem
also descends from.

When nextitem is None (meaning we're at the last item), the entire
stack is torn down.
Nzerrors while tearing down zerrors during test teardown)rI  rE  r)  keysrY   popitemr   r   rT   extendr   )r   rr   rL  
exceptionsr   rN  _these_exceptionsfinr   msgs   &&         r'   rn   SetupState.teardown_exact  sR    &>>(*<*<*>EE2*,
jjjDJJOO%&*;<Mc$**o*NN$(JJ$6$6$8!D/:! nn&/E #$)!!"23!!24(;!!"4S4R4:P"QRz?aQ-$%BJtQStDTUUzzz!>z  $ /$++A../s   2E' 'F2F		FrD  N)
r  r  r  r  r  r   r   rU  rn   r  r%   r)   r'   rh   rh     s!    =~
*. "  "r)   rh   c                    V ^8  d   QhRRRR/# r  r%   )r&   s   "r'   r(   r(   =  s      	 m r)   c                    V P                   pVP                  V R 7       VP                  V R 7      pVP                  P	                  RR4      pV'       d%   \        W24      '       d   VP                  WVR7       V# )r+  r   Nr   )rx   pytest_collectstartr?  __dict__r   r   r   )r  rx   r`   r   s   &   r'   collect_one_noderg  =  sk    OOE		299I9NC<<FD)D+D66''Y#'NJr)   )r      )TN)T)Ir  
__future__r   r   collections.abcr   dataclassesr   r   typestypingr   r   r   r   r   r	   rL   r
   r   r   r   r   r   _pytestr   _pytest._code.coder   r   r   _pytest.config.argparsingr   _pytest.deprecatedr   _pytest.nodesr   r   r   r   _pytest.outcomesr   r   r   r   r   exceptiongroupr   _pytest.mainr   _pytest.terminalr   r:   rc   rk   ro   r|   rz   r   r   r   r   r   r   r   r   r   r   	dataclassr   r   r?  rh   rg  r%   r)   r'   <module>rx     s1   9 " 
 $  	 
           % "   1 , + , - # #   ! - $ ) g1$1* KF'-8	)
0)!"	 4 )t
, XIww XI  XIv50fK" K"\r)   