+
    TŎie2                     R   ^ RI t ^ RIt^ RIt^ RIt^ RIHtHtHtHtH	t	H
t
HtHtHt ^ RIt^RIHtHtHtHtHtHtHtHt ^RIHtHtHt ^RIHt  ^ RIt ! R R]4      t! ! R R	]4      t" ! R
 R]4      t#R t$R t%]PL                  R 4       t']PL                  R 4       t(]PR                  R 4       t*]PR                  R&R l4       t+R t,R t-R t.]PL                  R R l4       t/]PL                  R R l4       t0]PL                  R R l4       t]PL                  R R l4       t1]PL                  R R l4       t2]PL                  R 4       t3]PL                  R  R! l4       t4]PL                  R" 4       t5]PL                  R# R$ l4       t6]PL                  R% 4       t7R#   ]  d    Rt ELQi ; i)'    N)	Any	AwaitableCallableDictIteratorOptionalProtocolUnionoverload)BaseTestServerRawTestServer
TestClient
TestServerloop_contextsetup_test_loopteardown_test_loopunused_port)ApplicationBaseRequestRequest)_RequestHandlerc                   h   a  ] tR t^&t o ]RR/V 3R lR ll4       t]RR/V 3R lR ll4       tRtV tR# )AiohttpClientserver_kwargsNc          
      n   < V ^8  d   QhRS[ RS[S[S[S[3,          ,          RS[RS[S[S[ 3,          /# )   _AiohttpClient__paramr   kwargsreturnr   r   r   strr   r   r   )format__classdict__s   "d/Users/ahmad/.openclaw/workspace/scripts/.venv/lib/python3.14/site-packages/aiohttp/pytest_plugin.py__annotate__AiohttpClient.__annotate__(   sJ     / //  S#X/	/
 / 
G[(	)/    c                  "   R # 5iN selfr   r   r   s   &&$,r$   __call__AiohttpClient.__call__'   s
      ,/   c          
      l   < V ^8  d   QhRS[ RS[S[S[S[3,          ,          RS[RS[S[R3,          /# )r   r   r   r   r   Nr   r   r   r!   r   r   r   )r"   r#   s   "r$   r%   r&   0   sJ     , ,,  S#X/	,
 , 
K%	&,r'   c                  "   R # 5ir)   r*   r+   s   &&$,r$   r-   r.   /   s
      ),r/   r*   )__name__
__module____qualname____firstlineno__r   r-   __static_attributes____classdictcell__r#   s   @r$   r   r   &   sI     / 37	/ / / , 37	, , ,r'   r   c                   :   a  ] tR t^9t o RR/V 3R lR lltRtV tR# )AiohttpServerportNc          	      R   < V ^8  d   QhRS[ RS[S[,          RS[RS[S[,          /# )r   appr<   r   r   )r   r   intr   r   r   )r"   r#   s   "r$   r%   AiohttpServer.__annotate__:   s6     $ $$)1#$IL$	:	$r'   c                   R # r)   r*   )r,   r>   r<   r   s   &&$,r$   r-   AiohttpServer.__call__:   s     #r'   r*   r3   r4   r5   r6   r-   r7   r8   r9   s   @r$   r;   r;   9   s     $9=$ $ $r'   r;   c                   :   a  ] tR t^?t o RR/V 3R lR lltRtV tR# )AiohttpRawServerr<   Nc          	      R   < V ^8  d   QhRS[ RS[S[,          RS[RS[S[,          /# r   handlerr<   r   r   )r   r   r?   r   r   r   )r"   r#   s   "r$   r%   AiohttpRawServer.__annotate__@   s6     ' '&'19#'QT'	=	!'r'   c                   R # r)   r*   )r,   rH   r<   r   s   &&$,r$   r-   AiohttpRawServer.__call__@   s    #&r'   r*   rC   r9   s   @r$   rE   rE   ?   s     'AE' ' 'r'   rE   c                     V P                  R RRRR7       V P                  RRRRR7       V P                  R	RRR
R7       R# )--aiohttp-fast
store_trueFz*run tests faster by disabling extra checks)actiondefaulthelpz--aiohttp-loopstorepyloopz3run tests with specific loop: pyloop, uvloop or all--aiohttp-enable-loop-debugzenable event loop debug modeN)	addoption)parsers   &r$   pytest_addoptionrW   E   sc    
9	   B	   %+	  r'   c                  aaa V P                   o\        P                  ! S4      '       d   RoM!\        P                  ! S4      '       d   RoMR# RoRV P                  9  d   V ;P                  R,          un        RoVVV3R lpWn         R# )zbSet up pytest fixture.

Allow fixtures to be coroutines. Run coroutine fixtures in an event loop.
TFNrequestc                  F  <aa VR ,          pS'       d   VR  RVP                   9  d   \        R4      hVP                  R4      oS'       d@   S! V / VB oVV3R lpVP                  V4       SP	                  SP                  4       4      # SP	                  S! V / VB 4      # )rY   loopz^Asynchronous fixtures must depend on the 'loop' fixture or be used in tests depending from it.c                  h   <  S P                  SP                  4       4      #   \         d     R # i ; ir)   )run_until_complete	__anext__StopAsyncIteration)_loopgens   r$   	finalizer8pytest_fixture_setup.<locals>.wrapper.<locals>.finalizer   s1     33CMMODD) s   " 11)fixturenames	Exceptiongetfixturevalueaddfinalizerr]   r^   )	argsr   rY   rb   r`   ra   funcis_async_genstrip_requests	   *,  @@r$   wrapper%pytest_fixture_setup.<locals>.wrapperp   s    #y!
 ---6 
 ''/ ''C   +++CMMO<<++D$,A&,ABBr'   rY   )ri   inspectisasyncgenfunctioniscoroutinefunctionargnames)
fixturedefrl   ri   rj   rk   s   & @@@r$   pytest_fixture_setuprt   Z   sv    
 ??D!!$''		$	$T	*	* 	M
+++|+C@ Or'   c                8    V P                   P                  R4      # )z--fast config optionrM   config	getoptionrn   s   &r$   fastry      s     >>##$455r'   c                8    V P                   P                  R4      # )z!--enable-loop-debug config optionrT   rv   rn   s   &r$   
loop_debugr{      s     >>##$ABBr'   c               #    "   \         P                  ! RR7      ;_uu_ 4       p Rx  V  Uu. uF,  pVP                  \        8X  g   K  RP	                  VR7      NK.  	  ppV'       dG   \        RP	                  \        V4      \        V4      ^8X  d   RMRR	P                  V4      4      4      h RRR4       R# u upi   + '       g   i     R# ; i5i)
zContext manager which checks for RuntimeWarnings.

This exists specifically to
avoid "coroutine 'X' was never awaited" warnings being missed.

If RuntimeWarnings occur in the context a RuntimeError is raised.
T)recordNz#{w.filename}:{w.lineno}:{w.message})wz{} Runtime Warning{},
{} s
)warningscatch_warningscategoryRuntimeWarningr"   RuntimeErrorlenjoin)	_warningsr~   rws      r$   _runtime_warning_contextr      s      
	 	 	-	- 
zz^+ >18818= 	 

 +22G3r7a<RS$))B-   
.	-
 
.	-	-s4    C	B=B8B8AB=.
C8B==C		Cc              #  ^   "   V '       d   V x  R# \        4       p V x  \        WR7       R# 5i)zPassthrough loop context.

Sets up and tears down a loop unless one is passed in via the loop
argument when it's passed straight through.
ry   N)r   r   )r[   ry   s   &&r$   _passthrough_loop_contextr      s&      
  
4+s   +-c                    V P                  V4      '       d9   \        P                  ! V4      '       d   \        V P	                  W4      4      # R# R# )z%Fix pytest collecting for coroutines.N)funcnamefilterro   rq   list_genfunctions)	collectornameobjs   &&&r$   pytest_pycollect_makeitemr      sB    %%'*E*Ec*J*JI++D677 +K%r'   c                   V P                   P                  R4      p\        P                  ! V P                  4      '       Ed   V P
                  P                  R4      ;'       gc    V P
                  P                  R4      ;'       g@    V P
                  P                  R4      ;'       g    V P
                  P                  RR4      p\        4       ;_uu_ 4        \        W!R7      ;_uu_ 4       pV P                  P                   Uu/ uF  pW@P
                  V,          bK  	  ppVP                  V P                  ! R	/ VB 4       RRR4       RRR4       R# R# u upi   + '       g   i     L!; i  + '       g   i     R# ; i)
zBRun coroutines in an event loop instead of a normal function call.rM   proactor_loopselector_loopuvloop_loopr[   Nr   Tr*   )rw   rx   ro   rq   functionfuncargsgetr   r   _fixtureinforr   r]   r   )
pyfuncitemry   existing_loopr`   argtestargss   &     r$   pytest_pyfunc_callr      sI   &&'78D"":#6#677##O4 5 5""&&75 5""&&}55 5 ""&&vt4	 	 &''*=DD  *66??? ,,S11?   (()C()CD E ( ! 8 ED (' s6   E3/E 	E$#E 	E3E 	 E0+E33F	c           
      f   R V P                   9  d   R# V P                  P                  P                  pR\        P
                  /p\        e   \        P
                  VR&   VR8X  d   Rp/ pVP                  R4       Fn  pVP                  R4      '       * pVP                  R4      pWB9  d5   V'       d+   \        R	V: R
\        VP                  4       4      : 24      hKd  W$,          W4&   Kp  	  V P                  R \        VP                  4       4      \        VP                  4       4      R7       R# )loop_factoryNrS   uvloopallzpyloop,uvloop?,?z ?zUnknown loop 'z', available loops: )ids)rd   rw   optionaiohttp_loopasyncionew_event_loopr   splitendswithstrip
ValueErrorr   keysparametrizevalues)metafuncloopsavail_factories	factoriesr   requireds   &     r$   pytest_generate_testsr      s   X222OO""//E!7!78O$*$9$9!~ IC }}S))zz$& T).."235 
 )/	 ! Y--/0d9>>;K6L  r'   c          	          V ^8  d   QhR\         . \        P                  3,          R\        R\        R\        \        P                  ,          /# )r   r   ry   r{   r   )r   r   AbstractEventLoopboolr   )r"   s   "r$   r%   r%     sK     
 
2w8889


 
 g''(	
r'   c              #     "   \        WR7      ;_uu_ 4       pV'       d   VP                  R4       \        P                  ! V4       Vx  RRR4       R#   + '       g   i     R# ; i5i)z%Return an instance of the event loop.r   TN)r   	set_debugr   set_event_loop)r   ry   r{   r`   s   &&& r$   r[   r[     sD      
l	.	.%OOD!u%	 
/	.	.	.s   A)4A
A)A&	 	A)c                N    V ^8  d   QhR\         \        P                  ,          /# r   r   )r   r   r   )r"   s   "r$   r%   r%     s      x 9 9: r'   c               #      "   \         P                  p \        V 4      ;_uu_ 4       p\         P                  ! V4       Vx  R R R 4       R #   + '       g   i     R # ; i5ir)   )r   ProactorEventLoopr   r   )factoryr`   s     r$   r   r     s>     ''G	g		%u% 
			s   $AA
AA		Ac                d    V ^8  d   QhR\         . \        3,          R\         . \        3,          /# )r   aiohttp_unused_portr   r   r?   )r"   s   "r$   r%   r%     s,      Xb#g%6 8BG;L r'   c                 @    \         P                  ! R \        ^R7       V # )z3Deprecated, use aiohttp_unused_port fixture instead
stacklevelr   warnDeprecationWarning)r   s   &r$   r   r     s    MM=
 r'   c                >    V ^8  d   QhR\         . \        3,          /# r   r   )r"   s   "r$   r%   r%   &  s      Xb#g. r'   c                     \         # )z1Return a port that is unused on the current host.)_unused_portr*   r'   r$   r   r   %  s
     r'   c                Z    V ^8  d   QhR\         P                  R\        \        ,          /# r   r[   r   )r   r   r   r;   )r"   s   "r$   r%   r%   ,  s%     ( (22 (x7N (r'   c              #  |   a a"   . oRRRR/R V V3R lllpVx  R V3R llpS P                  V! 4       4       R# 5i)	zVFactory to create a TestServer instance, given an app.

aiohttp_server(app, **kwargs)
hostz	127.0.0.1r<   Nc          
      j    V ^8  d   QhR\         R\        R\        \        ,          R\        R\
        /# )r   r>   r   r<   r   r   )r   r!   r   r?   r   r   )r"   s   "r$   r%   $aiohttp_server.<locals>.__annotate__3  s@     
 

 
 sm	

 
 

r'   c                   <"   \        WVR 7      pVP                  ! RRS/VB G Rj  xL
  SP                  V4       V#  L5i))r   r<   r[   Nr*   )r   start_serverappend)r>   r   r<   r   serverr[   serverss   &$$, r$   goaiohttp_server.<locals>.go3  sF      C6!!6t6v666v 	7s   %AA Ac                    V ^8  d   QhRR/# r   r   Nr*   )r"   s   "r$   r%   r   A       ( (D (r'   c                  t   <"   S '       d)   S P                  4       P                  4       G R j  xL
  K0  R #  L5ir)   popcloser   s   r$   finalize aiohttp_server.<locals>.finalizeA  )     ++-%%''' '   8!86	8r]   r[   r   r   r   s   f  @r$   aiohttp_serverr   +  sN      G
  
 #	
 
 H( ( 	HJ's   8<c                 @    \         P                  ! R \        ^R7       V # )z.Deprecated, use aiohttp_server fixture insteadr   r   )r   s   &r$   test_serverr   H      MM8
 r'   c                Z    V ^8  d   QhR\         P                  R\        \        ,          /# r   )r   r   r   rE   )r"   s   "r$   r%   r%   S  s&     ( (W66 (8DT;U (r'   c              #  x   a a"   . oRR/R V V3R lllpVx  R V3R llpS P                  V! 4       4       R# 5i)zhFactory to create a RawTestServer instance, given a web handler.

aiohttp_raw_server(handler, **kwargs)
r<   Nc                ^    V ^8  d   QhR\         R\        \        ,          R\        R\        /# rG   )r   r   r?   r   r   )r"   s   "r$   r%   (aiohttp_raw_server.<locals>.__annotate__Z  s0       +3C=KN	r'   c                   <"   \        WR 7      pVP                  ! RRS/VB G Rj  xL
  SP                  V4       V#  L5i))r<   r[   Nr*   )r   r   r   )rH   r<   r   r   r[   r   s   &$, r$   r   aiohttp_raw_server.<locals>.goZ  sD      w2!!6t6v666v 	7s   $A?Ac                    V ^8  d   QhRR/# r   r*   )r"   s   "r$   r%   r   d  r   r'   c                  t   <"   S '       d)   S P                  4       P                  4       G R j  xL
  K0  R #  L5ir)   r   r   s   r$   r   $aiohttp_raw_server.<locals>.finalized  r   r   r   r   s   f  @r$   aiohttp_raw_serverr   R  sB      G;?  H( ( 	HJ's   6:c                 @    \         P                  ! R \        ^R7       V # )z2Deprecated, use aiohttp_raw_server fixture insteadr   r   )r   s   &r$   raw_test_serverr   k  s!     MM<
 r'   c                Z    V ^8  d   QhR\         P                  R\        \        ,          /# r   )r   r   r   r   )r"   s   "r$   r%   r%   x  s%     :( :(22 :(x7N :(r'   c              #     a a"   . o\         RR/R R ll4       p\         RR/R R ll4       pRR/R VV 3R lllpVx  R	 V3R
 llpS P                  V! 4       4       R# 5i)zFactory to create a TestClient instance.

aiohttp_client(app, **kwargs)
aiohttp_client(server, **kwargs)
aiohttp_client(raw_server, **kwargs)
r   Nc          
          V ^8  d   QhR\         R\        \        \        \        3,          ,          R\        R\
        \        \         3,          /# )r   __paramr   r   r   r    )r"   s   "r$   r%   $aiohttp_client.<locals>.__annotate__  sI     / //  S#X// 	/
 
G[(	)/r'   c                   "   R # 5ir)   r*   r  r   r   s   &$,r$   r   aiohttp_client.<locals>.go  s
      ,/r/   c          
          V ^8  d   QhR\         R\        \        \        \        3,          ,          R\        R\
        \        R3,          /# )r   r  r   r   r   Nr1   )r"   s   "r$   r%   r    sI     , ,,  S#X/, 	,
 
K%	&,r'   c                   "   R # 5ir)   r*   r  s   &$,r$   r   r    s
      ),r/   c                    V ^8  d   QhR\         \        \        3,          R\        R\        \
        \        \        3,          ,          R\        R\        \        \        3,          /# )r   r  rh   r   r   r   )r
   r   r   r   r   r   r!   r   )r"   s   "r$   r%   r    sZ      {N23  S#X/ 	
 
CH	r'   c                  <"   \        V \        4      '       d,   \        V \        \        34      '       g   V ! S.VO5/ VB p / pMV'       d   Q R 4       h\        V \        4      '       d*   T;'       g    / p\	        V 3RS/VB p\        V3RS/VB pM@\        V \        4      '       d   \        V 3RS/VB pM\        R\        V 4      ,          4      hVP                  4       G Rj  xL
  SP                  V4       V#  L5i)zargs should be emptyr[   zUnknown argument type: %rN)

isinstancer   r   r   r   r   r   typer   r   )r  r   rh   r   r   clientclientsr[   s   &$*,  r$   r   r    s      gx((k>22
 2
 d4T4V4GF3338g{++)//RMDdDmDF<T<V<F00=d=f=F84=HII!!###v 	$s   A	D %D 3A3D &C>'D c                    V ^8  d   QhRR/# r   r*   )r"   s   "r$   r%   r    r   r'   c                  t   <"   S '       d)   S P                  4       P                  4       G R j  xL
  K0  R #  L5ir)   r   )r  s   r$   r    aiohttp_client.<locals>.finalize  r   r   )r   r]   )r[   r   r   r  s   f  @r$   aiohttp_clientr  w  s~      G/ 37/ / , 37, , 37 6 H( ( 	HJ's   AA c                 @    \         P                  ! R \        ^R7       V # )z.Deprecated, use aiohttp_client fixture insteadr   r   )r  s   &r$   test_clientr    r   r'   )F)8r   
contextlibro   r   typingr   r   r   r   r   r   r	   r
   r   pytest
test_utilsr   r   r   r   r   r   r   r   r   webr   r   r   web_protocolr   r   ImportErrorr   r;   rE   rW   rt   fixturery   r{   contextmanagerr   r   r   r   r   r[   r   r   r   r   r   r   r  r  r*   r'   r$   <module>r     s      
 
 
 	 	 	 3 2 )
,H ,&$H $'x '*6r 6 6
 C C
  . , , 8,@ 
 
      
 ( (8   ( (0   :( :(z  i  Fs   F 	F&%F&