
    Oj                       % S SK Jr  S SKrS SKrS SKrS SKrS SKrS SKrS SKrS SK	J
r
JrJrJrJrJrJrJr  S SKJr  S SKJr  S SKJr  S SKJrJr  S SKJr  S S	KJr  S S
KJr  S SKJ r J!r!  S SKJ"r"  S SK#J$r$J%r%J&r&J'r'J(r(J)r)J*r*J+r+J,r,J-r-  S SK.r/S SK0r/S SK1J2r2J3r3J4r4  S SK0J5r5J6r6J7r7J8r8J9r9  S SK:J;r<  S SK=J>r>  SSK?J@r@JArAJBrBJCrCJDrDJErEJFrF  SSKGJHrH  SSKIJJrJJKrKJLrLJMrM  SSKNJOrO  SSKPJQrQ  SSKRJSrT  SSKRJUrV  SSKRJWrX  SSKRJYrYJZrZ  SSKRJ[r\  SSK]J^r_  SSK]J`r`  SSKFJaraJbrbJcrc  SS KdJereJfrf  SS!KgJhrhJiriJjrj  SS"KkJlrl  \%(       a  S S#KmJnrn  \R                  S$:  a	  S S%K#JprpJqrq  OS S&KrJsrs  S S%KtJprpJqrq  \+" S'5      ru\+" S(5      rv\+" S)S*S+9rw\+" S,\x\a5      ry\p" S-5      rz\*" S.5      r{    SfS/ jr|\/R                  R                  r~ " S0 S1\_5      r^\" 5       r " S2 S3\'\h   \FGR                  \h   5      r " S4 S5\FGR                  5      r\" S6S79 " S8 S9\FGR                  5      5       r\" S6S79 " S: S;\FGR                  5      5       r\" S6S79 " S< S=\FGR                  5      5       r " S> S?\/R                  GR                  5      r\~" S@5      rSA\S@'   SgSB jr " SC SD\'\y   5      r " SE SF\\FGR                  5      r " SG SH\\FGR                   5      r " SI SJ\\FGR"                  5      r " SK SL\\FGR"                  5      r " SM SN\\a   \FGR(                  5      r " SO SP\\a   \FGR*                  5      r " SQ SR\\x   \FGR,                  5      r " SS ST\\x   \FGR.                  5      r " SU SV\V5      rU " SW SX\X5      rW " SY SZ\\5      r[ " S[ S\\T5      rS\~" S]5      rSA\S]'    " S^ S_5      r " S` Sa\FGR4                  5      r " Sb Sc\D5      r " Sd Se\e5      r\rg)h    )annotationsN)AsyncGeneratorAsyncIterator	AwaitableCallable
Collection	CoroutineIterableSequence)AbstractContextManager)Context)	dataclass)partialwraps)IOBase)PathLike)Signals)AddressFamily
SocketKind)TracebackType)
IOTYPE_CHECKINGAnyGenericLiteralNoReturn	ParamSpecTypeVarcastoverload)ErrorOutcomeValue)current_root_taskcurrent_tasknotify_closingwait_readablewait_writable)
SocketType)run_sync   )CapacityLimiterStatisticsEventStatisticsLockStatisticsRunFinishedErrorTaskInfo
WouldBlockabc)claim_worker_thread)BrokenResourceErrorBusyResourceErrorClosedResourceErrorEndOfStream)convert_ipv6_sockaddr)create_memory_object_streamCapacityLimiterEventLock)ResourceGuardSemaphoreStatistics	SemaphoreCancelScope)
TaskHandle)IPSockAddrTypeUDPPacketTypeUNIXDatagramPacketType)AsyncBackendStrOrBytesPath)T_contracall_for_coroutineget_callable_name)MemoryObjectSendStream)FileDescriptorLike)      )TypeVarTupleUnpack)BaseExceptionGroupTT_RetvalT_coT)	covariant
T_SockAddrPosArgsTPc                4   ^  [        T 5      SU 4S jj5       nU$ )Nc                    >^ T" U 0 UD6m[        T[        5      (       a  T$ [        T[        5      (       d  T$ [        T5      SU4S jj5       nU" 5       $ )Nc                 $   >#    T I S h  vN $  N7fN )	awaitables   W/var/www/html/leaf-doctor-v1/venv/lib/python3.13/site-packages/anyio/_backends/_trio.pyinner_wrapper;ensure_returns_coro.<locals>.wrapper.<locals>.inner_wrapperz   s     &&s   returnrW   )
isinstancer	   r   r   )argskwargsrd   rb   funcs      @rc   wrapper$ensure_returns_coro.<locals>.wrappern   s\    $)&)	i++Iy11  4[' ' !?"    )ri   P.argsrj   P.kwargsrg   zCoroutine[Any, Any, T_Retval])r   )rk   rl   s   ` rc   ensure_returns_cororq   k   s"     4[# #" Nrn   c                     \ rS rSrSr S     SS jjrSSS jjrSS jr        SS jrSSS jjr	\
SS	 j5       r\R                  SS
 j5       r\
SS j5       r\
SS j5       r\
SS j5       r\R                  SS j5       rSrg)rE      
__originalNc                ,    [         R                  U 5      $ r`   object__new__)clsoriginalrj   s      rc   ry   CancelScope.__new__   s     ~~c""rn   c                L    U=(       d    [         R                  " S0 UD6U l        g Nra   )triorE   _CancelScope__original)selfr{   rj   s      rc   __init__CancelScope.__init__   s    "@d&6&6&@&@rn   c                :    U R                   R                  5         U $ r`   )r   	__enter__r   s    rc   r   CancelScope.__enter__   s    !!#rn   c                :    U R                   R                  XU5      $ r`   )r   __exit__r   exc_typeexc_valexc_tbs       rc   r   CancelScope.__exit__   s     ''6BBrn   c                :    U R                   R                  U5        g r`   )r   cancel)r   reasons     rc   r   CancelScope.cancel   s    v&rn   c                .    U R                   R                  $ r`   r   deadliner   s    rc   r   CancelScope.deadline   s    '''rn   c                $    XR                   l        g r`   r   r   values     rc   r   r      s    #( rn   c                .    U R                   R                  $ r`   )r   cancel_calledr   s    rc   r   CancelScope.cancel_called   s    ,,,rn   c                .    U R                   R                  $ r`   )r   cancelled_caughtr   s    rc   r   CancelScope.cancelled_caught       ///rn   c                .    U R                   R                  $ r`   r   shieldr   s    rc   r   CancelScope.shield   s    %%%rn   c                $    XR                   l        g r`   r   r   s     rc   r   r      s    !&rn   r`   )r{   trio.CancelScope | Nonerj   rx   rg   rE   )r{   r   rj   r   rg   None)rg   rE   r   type[BaseException] | Noner   BaseException | Noner   TracebackType | Nonerg   bool)r   z
str | Nonerg   r   rg   floatr   r   rg   r   rg   r   )r   r   rg   r   )__name__
__module____qualname____firstlineno__	__slots__ry   r   r   r   r   propertyr   setterr   r   r   __static_attributes__ra   rn   rc   rE   rE      s    I 26#.#AG#	#
AC,C &C %	C
 
C' ( ( __) ) - - 0 0 & & ]]' 'rn   rE   c                  @    \ rS rSr% \rS\S'   SrS\S'   S	S
S jjrSr	g)_TrioTaskStatus   zT_contra | objectearly_start_valueNz'trio.TaskStatus[T_contra | None] | Nonereal_task_statusc                    U R                   c%  U R                  [        La  [        S5      eXl        g U R                   R	                  U5        g )Nz.called 'started' twice on the same task status)r   r   empty_start_valueRuntimeErrorstartedr   s     rc   r   _TrioTaskStatus.started   sC      (%%->>"#STT%*"!!))%0rn   )r   r`   )r   zT_contra | Nonerg   r   )
r   r   r   r   r   r   __annotations__r   r   r   ra   rn   rc   r   r      s$    +<(<@D=D1 1rn   r   c                      \ rS rSrSS jrSS jr        SS jrSSS jjrSSS.       SS jjrSS	S
.         SS jjr	Sr
g)	TaskGroup   c                `    SU l         SU l        [        R                  " SS9U l        S U l        g )NFT)strict_exception_groups)_entered_activer   open_nursery_nursery_managercancel_scoper   s    rc   r   TaskGroup.__init__   s+     $ 1 1$ O rn   c                   #    U R                   (       a  [        S5      eSU l         SU l        U R                  R	                  5       I S h  vN U l        [        U R
                  R                  5      U l        U $  N/7f)Nz*TaskGroup cannot be entered more than onceT)r   r   r   r   
__aenter___nurseryrE   r   r   s    rc   r   TaskGroup.__aenter__   sa     ==KLL"33>>@@'(B(BC As   AA<
A:0A<c                8  #     U R                   R                  XU5      I S h  vN AASU l        $  N! [         aL  nUR	                  [
        R                  5      S   (       d  [
        R                  R                  5       Uee S nAff = f! AASU l        f = f7f)NF   )r   	__aexit__r   rU   splitr   	Cancelled_create)r   r   r   r   excs        rc   r   TaskGroup.__aexit__   s     
	!..88FSS  DL T! 	99T^^,Q/nn,,.C7		  DLs=   B3 13 
B3 
B	ABB		B BBNc                b    U R                   (       d  Ub  UR                  5         [        S5      eg )Nz;This task group is not active; no new tasks can be started.)r   closer   )r   coros     rc   _check_activeTaskGroup._check_active   s-    ||

M 	 rn   )namecontextc                  [        U[        5      (       d"  [        SUR                  R                   35      eU R                  U5        [        X5      nUbD  UR                  [        U R                  R                  UR                  UR                  S95        U$ U R                  R                  UR                  UR                  S9  U$ )Nzexpected a coroutine, got r   )rh   r	   	TypeError	__class__r   r   rF   runr   r   
start_soon	_run_coror   )r   r   r   r   handles        rc   create_taskTaskGroup.create_task  s     $	**89T9T8UVWW4 D'KK00&2B2BU  MM$$V%5%5FKK$Hrn   F)r   return_handlec                  ^^^^#        SUUUU4S jjnU R                  5         [        TT5      nU R                  R                  XVS9I S h  vN nU(       a	  UTl        T$ U$  N7f)Nc                   >#    [        5       n[        TTUS9nUR                  [        La  U R	                  UR                  5        OXl        [        UT5      mTR                  5       I S h  vN   g  N7f)N)task_status)r   rM   r   r   r   r   rF   r   )r   wrapper_task_statusr   ri   rk   r   r   s      rc   run_coro_with_task_status2TaskGroup.start.<locals>.run_coro_with_task_status!  sh      #2"3%dD>QRD"44<MM##$7$I$IJ7B4d+F""$$$s   A*A5-A3.A5r   )r   ztrio.TaskStatus[Any]rg   r   )r   rN   r   start_start_value)	r   rk   r   r   ri   r   
final_namestart_valuer   s	    `` `   @rc   r   TaskGroup.start  sx     	%0	%	% 	% 	&tT2
 MM//% 0 
 
 "-FM
s   AA'A%A')r   r   r   r   r   rg   r   )rg   r   r   r`   )r   zCoroutine | Nonerg   r   )r   zCoroutine[Any, Any, T_co]r   rx   r   zContext | Nonerg   zTaskHandle[T_co])
rk   7Callable[[Unpack[PosArgsT]], Coroutine[Any, Any, T_co]]ri   zUnpack[PosArgsT]r   rx   r   zLiteral[False] | Literal[True]rg   r   )r   r   r   r   r   r   r   r   r   r   r   ra   rn   rc   r   r      s    !!,! &! %	!
 
!$ "&' 	
   
2 8= E     	 
 6  
   rn   r   F)eqc                  8    \ rS rSr% S\S'   SS	S jjrS
S jrSrg)ReceiveStreamWrapperi@  ztrio.abc.ReceiveStream_streamNc                0  #     U R                   R                  U5      I S h  vN nU(       a  [        U5      $ [        e N! [        R                   a  n[        UR                  eS nAf[        R
                   a  n[
        UR                  eS nAff = f7fr`   )r   receive_somer   r6   	__cause__r4   bytesr7   r   	max_bytesdatar   s       rc   receiveReceiveStreamWrapper.receiveD  sw     	9229==D ; >'' 	9%3==8'' 	9%3==8	9sA   BA ?A BA BA&&B=BBBc                T   #    U R                   R                  5       I S h  vN   g  N7fr`   r   acloser   s    rc   r	  ReceiveStreamWrapper.acloseQ       ll!!###   (&(ra   r`   )r  
int | Nonerg   r  r   )r   r   r   r   r   r  r	  r   ra   rn   rc   r   r   @  s    ##$rn   r   c                  4    \ rS rSr% S\S'   SS jrS	S jrSrg)
SendStreamWrapperiU  ztrio.abc.SendStreamr   c                  #     U R                   R                  U5      I S h  vN   g  N! [        R                   a  n[        UR                  eS nAf[        R
                   a  n[
        UR                  eS nAff = f7fr`   )r   send_allr   r6   r   r4   r   itemr   s      rc   sendSendStreamWrapper.sendY  s^     	9,,''---'' 	9%3==8'' 	9%3==8	9s<   A?* (* A?* A<AA<&A77A<<A?c                T   #    U R                   R                  5       I S h  vN   g  N7fr`   r  r   s    rc   r	  SendStreamWrapper.aclosea  r  r  ra   Nr  r  rg   r   r   )r   r   r   r   r   r  r	  r   ra   rn   rc   r  r  U  s      9$rn   r  c                      \ rS rSr% S\S'   S\S'   S\S'   S\S'   SS	 jrSS
 jrSS jrSS jrSS jr	\
SS j5       r\
SS j5       r\
SS j5       r\
SS j5       r\
SS j5       rSrg)Processie  ztrio.Process_processabc.ByteSendStream | None_stdinabc.ByteReceiveStream | None_stdout_stderrc                |  #    [        SS9   U R                  (       a"  U R                  R                  5       I S h  vN   U R                  (       a"  U R                  R                  5       I S h  vN   U R                  (       a"  U R                  R                  5       I S h  vN   S S S 5         U R                  5       I S h  vN   g  N N[ N*! , (       d  f       N.= f N! [         aN    U R                  5         [        SS9   U R                  5       I S h  vN    S S S 5        e ! , (       d  f       e = ff = f7fNT)r   )rE   r  r	  r  r   waitBaseExceptionkillr   s    rc   r	  Process.aclosel  s     %{{kk((***||ll))+++||ll))+++ &	))+ +++ &%  	IIKD)iik!! * *)		s   
D</CC2C.C
/2C!C"C&D</C! CC! D<C
CC
CD<C! !#D9D'DD'	D9'
D5	1D99D<c                R   #    U R                   R                  5       I S h  vN $  N7fr`   )r  r#  r   s    rc   r#  Process.wait}  s     ]]''))))   '%'c                8    U R                   R                  5         g r`   )r  	terminater   s    rc   r+  Process.terminate  s    !rn   c                8    U R                   R                  5         g r`   )r  r%  r   s    rc   r%  Process.kill  s    rn   c                :    U R                   R                  U5        g r`   )r  send_signal)r   signals     rc   r0  Process.send_signal  s    !!&)rn   c                .    U R                   R                  $ r`   )r  pidr   s    rc   r4  Process.pid  s    }}   rn   c                .    U R                   R                  $ r`   )r  
returncoder   s    rc   r7  Process.returncode  s    }}'''rn   c                    U R                   $ r`   )r  r   s    rc   stdinProcess.stdin  s    {{rn   c                    U R                   $ r`   )r  r   s    rc   stdoutProcess.stdout      ||rn   c                    U R                   $ r`   )r   r   s    rc   stderrProcess.stderr  r?  rn   ra   Nr   rg   int)r1  r   rg   r   rg   r  )rg   r  )rg   r  )r   r   r   r   r   r	  r#  r+  r%  r0  r   r4  r7  r:  r=  rA  r   ra   rn   rc   r  r  e  s    %%))))"*"* ! ! ( (      rn   r  c                  ,   ^  \ rS rSrSU 4S jjrSrU =r$ )_ProcessPoolShutdownInstrumenti  c                "   > [         TU ]  5         g r`   )super	after_run)r   r   s    rc   rJ  (_ProcessPoolShutdownInstrument.after_run  s    rn   ra   r   )r   r   r   r   rJ  r   __classcell__r   s   @rc   rG  rG    s     rn   rG  &current_default_worker_process_limiterztrio.lowlevel.RunVarc                z  #     [         R                  " [        R                  5      I S h  vN   g  N! [         R                   aq    U  H"  nUR
                  b  M  UR                  5         M$     [        SS9   U  H  nUR                  5       I S h  vN    M     S S S 5         g ! , (       d  f        g = ff = f7fr"  )	r   sleepmathinfr   r7  r%  rE   r	  )workersprocesss     rc   _shutdown_process_poolrU    s     	'jj""">> 'G!!)  %"nn&&& # &%%%'sa   B;'3 13 B;3 $B8B88B%B
	B%B8#B;%
B4	/B82B;4B88B;c                  P    \ rS rSrS	S jrS
S jr\SS j5       rS
S jrSS jr	Sr
g)_TrioSocketMixini  c                    Xl         SU l        g NF)_trio_socket_closed)r   trio_sockets     rc   r   _TrioSocketMixin.__init__  s    'rn   c                z    U R                   (       a  [        eU R                  R                  5       S:  a  [        eg Nr   )r[  r6   rZ  filenor4   r   s    rc   _check_closed_TrioSocketMixin._check_closed  s1    <<%%##%)%% *rn   c                .    U R                   R                  $ r`   )rZ  _sockr   s    rc   _raw_socket_TrioSocketMixin._raw_socket  s      &&&rn   c                   #    U R                   R                  5       S:  a"  SU l        U R                   R                  5         g g 7f)Nr   T)rZ  r`  r[  r   r   s    rc   r	  _TrioSocketMixin.aclose  s:     ##%*DL##% +s   AAc                    [        U[        R                  5      (       a  [        UeU R                  R	                  5       S:  a  U R
                  (       a  [        S e[        U[        5      (       a  [        UeUer_  )rh   r   r6   rZ  r`  r[  OSErrorr4   r   r   s     rc   _convert_socket_error&_TrioSocketMixin._convert_socket_error  s\    c43344%3.%%'!+%4/W%%%3.Irn   )r[  rZ  Nr\  TrioSocketTyperg   r   r   )rg   socket.socket)r   r$  rg   r   )r   r   r   r   r   ra  r   re  r	  rl  r   ra   rn   rc   rW  rW    s*    & ' '&
rn   rW  c                  N   ^  \ rS rSrSU 4S jjrSS	S jjrS
S jrSS jrSrU =r	$ )SocketStreami  c                d   > [         TU ]  U5        [        S5      U l        [        S5      U l        g Nreading from
writing torI  r   r@   _receive_guard_send_guardr   r\  r   s     rc   r   SocketStream.__init__  *    %+N;(6rn   c                  #    U R                       U R                  R                  U5      I S h  vN nW(       a  UsS S S 5        $ [
        e N! [         a  nU R	                  U5         S nAN:S nAff = f! , (       d  f       g = f7fr`   )rx  rZ  recvr$  rl  r7   r  s       rc   r  SocketStream.receive  sr       0!..33I>>  !  "! ?  0**3//0 ! sY   BA6AAAA6
BA6A
A3A.)A6.A33A66
B Bc                4  #    U R                      [        U5      nU(       a2   U R                  R                  U5      I S h  vN nUWS  nU(       a  M2  S S S 5        g  N! [         a  nU R                  U5         S nAN9S nAff = f! , (       d  f       g = f7fr`   )ry  
memoryviewrZ  r  r$  rl  )r   r  view
bytes_sentr   s        rc   r  SocketStream.send  s     d#D4'+'8'8'='=d'C!CJ JK( $  "D$ 4..s334 sW   BBAAAB	BA
B)A?:B?BB
BBc                ^   #    U R                   R                  [        R                  5        g 7fr`   )rZ  shutdownsocketSHUT_WRr   s    rc   send_eofSocketStream.send_eof  s     ""6>>2   +-rx  ry  rn  )   )r  rD  rg   r  r  r   )
r   r   r   r   r   r  r  r  r   rL  rM  s   @rc   rr  rr    s    7

"	)3 3rn   rr  c                  (    \ rS rSrSS jrSS jrSrg)UNIXSocketStreami  c           	       #    [        U[        5      (       a  US:  a  [        S5      e[        U[        5      (       a  US:  a  [        S5      e[        R                  " S5      n[        R
                  R                  5       I S h  vN   U R                       U R                  R                  U[        R                  " X#R                  -  5      5      I S h  vN u  pEpgU(       d  U(       d  [        e S S S 5        W Hy  u  pnU	[        R                   :w  d  U
[        R"                  :w  a  [%        SW< SU	 SU
 35      eUR'                  US [)        U5      [)        U5      UR                  -  -
   5        M{     W[+        U5      4$  GN N! [         a  nU R                  U5         S nAOS nAff = fGM!  ! , (       d  f       N= f7f)	Nr   z%msglen must be a non-negative integerr   z!maxfds must be a positive integeriz.Received unexpected ancillary data; message = z, cmsg_level = z, cmsg_type = )rh   rD  
ValueErrorarrayr   lowlevel
checkpointrx  rZ  recvmsgr  CMSG_LENitemsizer7   r$  rl  
SOL_SOCKET
SCM_RIGHTSr   	frombyteslenlist)r   msglenmaxfdsfdsmessageancdataflagsaddrr   
cmsg_level	cmsg_type	cmsg_datas               rc   receive_fdsUNIXSocketStream.receive_fds  s    &#&&&1*DEE&#&&&1*@AAkk#mm&&(((  
:>:K:K:S:S0E F; 51Ge #7)) ! 18,J9V...)v?P?P2P"DWK P$$.<~i[J 
 MM)$Vc)nI8U&VWX 18 S	!!1 	)5 % 4..s334  ! sg   BGF
GF:?FFF!F:6BGF
F4F/*F:/F44F::
GGc                  #    U(       d  [        S5      eU(       d  [        S5      e/ nU Ha  n[        U[        5      (       a  UR                  U5        M+  [        U[        5      (       d  MB  UR                  UR                  5       5        Mc     [        R                  " SU5      n[        R                  R                  5       I S h  vN   U R                       U R                  R                  U/[        R                  [        R                  U4/5      I S h  vN    S S S 5        g  Nb N! [          a  nU R#                  U5         S nAOS nAff = fM~  ! , (       d  f       g = f7f)Nzmessage must not be emptyzfds must not be emptyr  )r  rh   rD  appendr   r`  r  r   r  r  ry  rZ  sendmsgr  r  r  r$  rl  )r   r  r  filenosfdfdarrayr   s          rc   send_fdsUNIXSocketStream.send_fds  s.    899455B"c""r"B''ryy{+	  ++c7+mm&&(((4++33 	 !' 1 1 & 1 1 '	 	 	   	)	 % 4..s334  sn   A'E*-AE*D+	E*EA D/D-D/!E"
E*-D//
E9E
EEE
E'#E*ra   N)r  rD  r  rD  rg   ztuple[bytes, list[int]])r  r  r  zCollection[int | IOBase]rg   r   )r   r   r   r   r  r  r   ra   rn   rc   r  r    s    "B4rn   r  c                  6   ^  \ rS rSrSU 4S jjrSS jrSrU =r$ )TCPSocketListeneri=  c                ~   > [         TU ]  [        R                  R	                  U5      5        [        S5      U l        g Nzaccepting connections fromrI  r   r   r  from_stdlib_socketr@   _accept_guardr   
raw_socketr   s     rc   r   TCPSocketListener.__init__>  -    77
CD*+GHrn   c                h  #    U R                       U R                  R                  5       I S h  vN u  pS S S 5        WR                  [        R                  [        R                  S5        [        U5      $  NH! [         a  nU R	                  U5         S nANdS nAff = f! , (       d  f       Nr= f7fNr   )
r  rZ  acceptr$  rl  
setsockoptr  IPPROTO_TCPTCP_NODELAYrr  r   r\  _addrr   s       rc   r  TCPSocketListener.acceptB  s     0+/+<+<+C+C+E%E"   	v1163E3EqIK(( &F  0**3//0  sO   B2B!A9A7A9AB27A99
BBB!BB!!
B/+B2r  r  rp  )rg   rr  r   r   r   r   r   r  r   rL  rM  s   @rc   r  r  =  s    I) )rn   r  c                  6   ^  \ rS rSrSU 4S jjrSS jrSrU =r$ )UNIXSocketListeneriM  c                ~   > [         TU ]  [        R                  R	                  U5      5        [        S5      U l        g r  r  r  s     rc   r   UNIXSocketListener.__init__N  r  rn   c                
  #    U R                       U R                  R                  5       I S h  vN u  pS S S 5        [        W5      $  N! [         a  nU R	                  U5         S nAN5S nAff = f! , (       d  f       NC= f7fr`   )r  rZ  r  r$  rl  r  r  s       rc   r  UNIXSocketListener.acceptR  sn     0+/+<+<+C+C+E%E"    ,,	 &F  0**3//0  sN   BA2A
AA
BA


A/A*%A2*A//A22
B <Br  r  )rg   r  r  rM  s   @rc   r  r  M  s    I- -rn   r  c                  @   ^  \ rS rSrSU 4S jjrSS jrSS jrSrU =r$ )		UDPSocketi\  c                d   > [         TU ]  U5        [        S5      U l        [        S5      U l        g rt  rw  rz  s     rc   r   UDPSocket.__init__]  r|  rn   c                &  #    U R                       U R                  R                  S5      I S h  vN u  pU[        U5      4sS S S 5        $  N! [         a  nU R                  U5         S nAOS nAff = f S S S 5        g ! , (       d  f       g = f7fNr  )rx  rZ  recvfromr8   r$  rl  r   r  r  r   s       rc   r  UDPSocket.receiveb  sv       0#'#4#4#=#=e#DD
2488 ! D  0**3//0/ !  sU   BB AAA
BA
A3A.)B .A33B 7	B 
B
Bc                   #    U R                       U R                  R                  " U6 I S h  vN   S S S 5        g  N! [         a  nU R	                  U5         S nAN+S nAff = f! , (       d  f       g = f7fr`   ry  rZ  sendtor$  rl  r  s      rc   r  UDPSocket.sendj  a     0''..555 5  0**3//0 H   A6A%=;=	A6=
A"AA%A""A%%
A3/A6r  rn  )rg   ztuple[bytes, IPSockAddrType])r  rH   rg   r   	r   r   r   r   r   r  r  r   rL  rM  s   @rc   r  r  \      7
00 0rn   r  c                  @   ^  \ rS rSrSU 4S jjrSS jrSS jrSrU =r$ )	ConnectedUDPSocketir  c                d   > [         TU ]  U5        [        S5      U l        [        S5      U l        g rt  rw  rz  s     rc   r   ConnectedUDPSocket.__init__s  r|  rn   c                  #    U R                       U R                  R                  S5      I S h  vN sS S S 5        $  N! [         a  nU R	                  U5         S nAOS nAff = f S S S 5        g ! , (       d  f       g = f7fr  rx  rZ  r~  r$  rl  rk  s     rc   r  ConnectedUDPSocket.receivex  d       0!..33E:: ! :  0**3//0/	 !  N   BA1?=?
B?
A$	AA1A$$A1(	B1
A?;Bc                   #    U R                       U R                  R                  U5      I S h  vN   S S S 5        g  N! [         a  nU R	                  U5         S nAN+S nAff = f! , (       d  f       g = f7fr`   ry  rZ  r  r$  rl  r  s      rc   r  ConnectedUDPSocket.send  a     0'',,T222 2  0**3//0 H   A8A'?=?	A8?
A$	AA'A$$A''
A51A8r  rn  rg   r  r  r  rM  s   @rc   r  r  r  s    7
00 0rn   r  c                  @   ^  \ rS rSrSU 4S jjrSS jrSS jrSrU =r$ )	UNIXDatagramSocketi  c                d   > [         TU ]  U5        [        S5      U l        [        S5      U l        g rt  rw  rz  s     rc   r   UNIXDatagramSocket.__init__  r|  rn   c                  #    U R                       U R                  R                  S5      I S h  vN u  pX4sS S S 5        $  N! [         a  nU R	                  U5         S nAOS nAff = f S S S 5        g ! , (       d  f       g = f7fr  )rx  rZ  r  r$  rl  r  s       rc   r  UNIXDatagramSocket.receive  sm       0#'#4#4#=#=e#DD
z ! D  0**3//0/ !  sT   BA6AAA
BA
A)A$A6$A))A6-	B6
B Bc                   #    U R                       U R                  R                  " U6 I S h  vN   S S S 5        g  N! [         a  nU R	                  U5         S nAN+S nAff = f! , (       d  f       g = f7fr`   r  r  s      rc   r  UNIXDatagramSocket.send  r  r  r  rn  )rg   rI   )r  rI   rg   r   r  rM  s   @rc   r  r    r  rn   r  c                  @   ^  \ rS rSrSU 4S jjrSS jrSS jrSrU =r$ )	ConnectedUNIXDatagramSocketi  c                d   > [         TU ]  U5        [        S5      U l        [        S5      U l        g rt  rw  rz  s     rc   r   $ConnectedUNIXDatagramSocket.__init__  r|  rn   c                  #    U R                       U R                  R                  S5      I S h  vN sS S S 5        $  N! [         a  nU R	                  U5         S nAOS nAff = f S S S 5        g ! , (       d  f       g = f7fr  r  rk  s     rc   r  #ConnectedUNIXDatagramSocket.receive  r  r  c                   #    U R                       U R                  R                  U5      I S h  vN   S S S 5        g  N! [         a  nU R	                  U5         S nAN+S nAff = f! , (       d  f       g = f7fr`   r  r  s      rc   r   ConnectedUNIXDatagramSocket.send  r  r  r  rn  r  r  r  rM  s   @rc   r  r    s    7
00 0rn   r  c                  T    \ rS rSrSrS
S jrSS jrSS jrSS jrSS jr	SS jr
Srg	)r=   i  rt   c                ,    [         R                  U 5      $ r`   rw   rz   s    rc   ry   Event.__new__      ~~c""rn   c                8    [         R                  " 5       U l        g r`   )r   r=   _Event__originalr   s    rc   r   Event.__init__  s    **,rn   c                6    U R                   R                  5       $ r`   )r  is_setr   s    rc   r  Event.is_set      %%''rn   c                R   #    U R                   R                  5       I S h  vN $  N7fr`   )r  r#  r   s    rc   r#  
Event.wait  s     __))++++r)  c                \    U R                   R                  5       n[        UR                  S9$ )N)tasks_waiting)r  
statisticsr-   r  r   orig_statisticss     rc   r  Event.statistics  s%    //446_-J-JKKrn   c                8    U R                   R                  5         g r`   )r  setr   s    rc   r  	Event.set  s    rn   N)rg   r=   r   r   )rg   r-   )r   r   r   r   r   ry   r   r  r#  r  r  r   ra   rn   rc   r=   r=     s&    I#'(,Lrn   r=   c                      \ rS rSrSrSS.SS jjrSS.SS jjr\SS j5       rSS jr	SS	 jr
SS
 jrSS jrSS jrSrg)r?   i  )_fast_acquireru   Ffast_acquirec               ,    [         R                  U 5      $ r`   rw   rz   r  s     rc   ry   Lock.__new__  r  rn   c               D    Xl         [        R                  " 5       U l        g r`   )r  r   r?   _Lock__original)r   r  s     rc   r   Lock.__init__  s    )))+rn   c                4    U R                   S:X  a  SU l         g g )N)z*attempt to re-acquire an already held Lock)z)Attempted to acquire an already held Lock)ri   )r   s    rc   _convert_runtime_error_msgLock._convert_runtime_error_msg  s    88FFECH Grn   c                  #    U R                   (       d$   U R                  R                  5       I S h  vN   g [
        R                  R                  5       I S h  vN    U R                  R                  5         g  NG! [         a  nU R	                  U5        e S nAff = f NF! [
        R                   a0    U R                  R                  R                  5       I S h  vN     g [         a  nU R	                  U5        e S nAff = f7fr`   )r  r  acquirer   r!  r   r  checkpoint_if_cancelledacquire_nowaitr1   _lotparkrk  s     rc   r$  Lock.acquire  s     !!oo--///
  mm33555	OO**, 0 //4 	6  	.//&&++--- 	++C0	s   DA< A:A< "DB DB" 9D:A< <
BBBD";DC D#D%	D.D  DDc                     U R                   R                  5         g ! [        R                   a    [        S e[         a  nU R                  U5        e S nAff = fr`   )r  r&  r   r1   r   r!  rk  s     rc   r&  Lock.acquire_nowait  sL    	OO**, 	'$& 	++C0	s    $AAAc                6    U R                   R                  5       $ r`   )r  lockedr   s    rc   r-  Lock.locked  r
  rn   c                8    U R                   R                  5         g r`   )r  releaser   s    rc   r0  Lock.release      !rn   c                    U R                   R                  5       nUR                  (       a  [        UR                  5      OS n[	        UR
                  X!R                  5      $ r`   )r  r  ownerTrioTaskInfor.   r-  r  )r   r  r4  s      rc   r  Lock.statistics  sM    //4467F7L7L_223RV""E+H+H
 	
rn   )ru   r  Nr  r   rg   r?   )r  r   rg   r   )r   r   rg   r   r   r   )rg   r.   )r   r   r   r   r   ry   r   staticmethodr!  r$  r&  r-  r0  r  r   ra   rn   rc   r?   r?     sH    -I-2 # 05 & F F(("
rn   r?   c                     ^  \ rS rSrSrSSS.       SS jjrSSS.       SU 4S jjjrSS jrSS	 jr\	SS
 j5       r
\	SS j5       rSS jrSS jrSrU =r$ )rC   i
  rt   NF	max_valuer  c               ,    [         R                  U 5      $ r`   rw   rz   initial_valuer;  r  s       rc   ry   Semaphore.__new__  s     ~~c""rn   c               T   > [         TU ]  XUS9  [        R                  " XS9U l        g )Nr:  )r;  )rI  r   r   rC   _Semaphore__original)r   r>  r;  r  r   s       rc   r   Semaphore.__init__  s'     	,W..Lrn   c                  #    U R                   (       d#  U R                  R                  5       I S h  vN   g [        R                  R                  5       I S h  vN    U R                  R                  5         g  NG N"! [        R                   a0    U R                  R                  R                  5       I S h  vN     g f = f7fr`   )
r  rA  r$  r   r  r%  r&  r1   r'  r(  r   s    rc   r$  Semaphore.acquire   s     !!//))+++ mm33555	.OO**, , 	6  	.//&&++---	.sQ   /CA9&CA;CA= 8C;C=;C8B;9C>C CCc                x     U R                   R                  5         g ! [        R                   a    [        S ef = fr`   )rA  r&  r   r1   r   s    rc   r&  Semaphore.acquire_nowait,  s2    	'OO**, 	'$&	's    9c                .    U R                   R                  $ r`   )rA  r;  r   s    rc   r;  Semaphore.max_value2  s    (((rn   c                .    U R                   R                  $ r`   )rA  r   r   s    rc   r   Semaphore.value6  s    $$$rn   c                8    U R                   R                  5         g r`   )rA  r0  r   s    rc   r0  Semaphore.release:  r2  rn   c                `    U R                   R                  5       n[        UR                  5      $ r`   )rA  r  rA   r  r  s     rc   r  Semaphore.statistics=  s%    //446"?#@#@AArn   )r>  rD  r;  r  r  r   rg   rC   )r>  rD  r;  r  r  r   rg   r   r   rE  rC  )rg   rA   )r   r   r   r   r   ry   r   r$  r&  r   r;  r   r0  r  r   rL  rM  s   @rc   rC   rC   
  s    I !%"## 	#
 # 
# !%"MM 	M
 M 
M M
.' ) ) % %"B Brn   rC   c                  *   \ rS rSrSr SSS.     SS jjjr SSS.     SS jjjrSS jr        SS jr\	SS	 j5       r
\
R                  SS
 j5       r
\	SS j5       r\	SS j5       rSS jrSS jrSS jrSS jrSS jrSS jrSS jrSrg)r;   iB  rt   Nr{   c               ,    [         R                  U 5      $ r`   rw   )rz   total_tokensr{   s      rc   ry   CapacityLimiter.__new__E  s     ~~c""rn   c               X    Ub  X l         g Uc   e[        R                  " U5      U l         g r`   )_CapacityLimiter__originalr   r;   )r   rR  r{   s      rc   r   CapacityLimiter.__init__M  s-     &O+++"22<@DOrn   c                R   #    U R                   R                  5       I S h  vN $  N7fr`   )rU  r   r   s    rc   r   CapacityLimiter.__aenter__Y  s     __//1111r)  c                X   #    U R                   R                  XU5      I S h  vN   g  N7fr`   )rU  r   r   s       rc   r   CapacityLimiter.__aexit__\  s!      oo''6BBBs    *(*c                .    U R                   R                  $ r`   rU  rR  r   s    rc   rR  CapacityLimiter.total_tokensd  s    +++rn   c                $    XR                   l        g r`   r\  r   s     rc   rR  r]  h  s    ',$rn   c                .    U R                   R                  $ r`   )rU  borrowed_tokensr   s    rc   r`  CapacityLimiter.borrowed_tokensl  s    ...rn   c                .    U R                   R                  $ r`   )rU  available_tokensr   s    rc   rc   CapacityLimiter.available_tokensp  r   rn   c                8    U R                   R                  5         g r`   )rU  r&  r   s    rc   r&  CapacityLimiter.acquire_nowaitt  s    &&(rn   c                :    U R                   R                  U5        g r`   )rU  acquire_on_behalf_of_nowaitr   borrowers     rc   rh  +CapacityLimiter.acquire_on_behalf_of_nowaitw  s    33H=rn   c                T   #    U R                   R                  5       I S h  vN   g  N7fr`   )rU  r$  r   s    rc   r$  CapacityLimiter.acquirez  s     oo%%'''r  c                V   #    U R                   R                  U5      I S h  vN   g  N7fr`   )rU  acquire_on_behalf_ofri  s     rc   ro  $CapacityLimiter.acquire_on_behalf_of}  s     oo228<<<s   )')c                6    U R                   R                  5       $ r`   )rU  r0  r   s    rc   r0  CapacityLimiter.release  s    &&((rn   c                8    U R                   R                  U5      $ r`   )rU  release_on_behalf_ofri  s     rc   rt  $CapacityLimiter.release_on_behalf_of  s    33H==rn   c                    U R                   R                  5       n[        UR                  UR                  [        UR                  5      UR                  S9$ )N)r`  rR  	borrowersr  )rU  r  r,   r`  rR  tuplerw  r  )r   origs     rc   r  CapacityLimiter.statistics  sH    ))+( 00**DNN+,,	
 	
rn   r`   )rR  float | Noner{   trio.CapacityLimiter | Nonerg   r;   )rR  r{  r{   r|  rg   r   r   )r   r   r   r   r   r   rg   r   r   r   rC  )rj  rx   rg   r   )rg   r,   )r   r   r   r   r   ry   r   r   r   r   rR  r   r`  rc  r&  rh  r$  ro  r0  rt  r  r   ra   rn   rc   r;   r;   B  s   I &*# 15	#"# .	#
 
# &*
A 15	
A"
A .	
A
 

A2C,C &C %	C
 
C , , - - / / 0 0)>(=)>
rn   r;   _capacity_limiter_wrapperc                  b    \ rS rSr% S\S'   SS jrSS jr        SS jrSS jrSS jr	S	r
g
)_SignalReceiveri  zAsyncIterator[int]	_iteratorc                    Xl         g r`   )_signals)r   signalss     rc   r   _SignalReceiver.__init__  s    rn   c                    [         R                  " U R                  6 U l        U R                  R	                  5       U l        U $ r`   )r   open_signal_receiverr  _cmr   r  r   s    rc   r   _SignalReceiver.__enter__  s1    ,,dmm<++-rn   c                :    U R                   R                  XU5      $ r`   )r  r   r   s       rc   r   _SignalReceiver.__exit__  s     xx  F;;rn   c                    U $ r`   ra   r   s    rc   	__aiter___SignalReceiver.__aiter__  s    rn   c                h   #    U R                   R                  5       I S h  vN n[        U5      $  N7fr`   )r  	__anext__r   )r   signums     rc   r  _SignalReceiver.__anext__  s)     ~~//11v 2s   202)r  r  r  N)r  ztuple[Signals, ...])rg   r  )r   r   r   r   r   r   rg   zbool | None)rg   r   )r   r   r   r   r   r   r   r   r  r  r   ra   rn   rc   r  r    sG    !! 
<,< &< %	<
 
<rn   r  c                      \ rS rSrSS jr        SS jrSS jrSS jrSS jr        SS jr	      SS jr
      SS	 jr      SS
 jrSrg)
TestRunneri  c                B    SSK Jn  U" 5       U l        S U l        Xl        g )Nr   )Queue)queuer  _call_queue_send_stream_options)r   optionsr  s      rc   r   TestRunner.__init__  s#    8=  	  rn   c                    U R                   (       aW  U R                   R                  5         U R                   b/  U R                  R                  5       " 5         U R                   b  M.  g g g r`   )r  r   r  getr   s       rc   r   TestRunner.__exit__  sS     ##%##/  $$&( ##/ rn   c                >    [         R                  R                  5       $ r`   )r   r  in_trio_taskr   s    rc   
is_runningTestRunner.is_running  s    }}))++rn   c                  #    [         [        [        [           [        [
           4      " S5      u  U l        nU   U  S h  vN u  p# UI S h  vN nUR                  [        U5      5        M2   N- N"! [         a%  nUR                  [        U5      5         S nAM`  S nAff = f
 S S S 5        g ! , (       d  f       g = f7fr  )r9   rx  r   r   r  r"   r  r  r#   r$  r!   )r   receive_streamrb   outcome_holderretvalr   s         rc   _run_tests_and_fixtures"TestRunner._run_tests_and_fixtures  s     ,G)C.$w-/0-

-)> 3A 9/i9#,_F #))%-89,$ 6"))%*556 4B ^^su   9CB0B&A0B&B0
A4A2A4B00B&2A44
B#>BB0B##B0'	C0
B>:Cc                    S U l         g r`   )r  )r   outcomes     rc   _main_task_finishedTestRunner._main_task_finished  s
     rn   c                  U R                   c  [        R                  R                  " U R                  4U R
                  R                  U R                  S.U R                  D6  U R                   c.  U R
                  R                  5       " 5         U R                   c  M.  / nU R                   R                  U" U0 UD6U45        U(       d(  U R
                  R                  5       " 5         U(       d  M(  US   R                  5       $ )N)run_sync_soon_threadsafedone_callbackr   )r  r   r  start_guest_runr  r  putr  r  r  send_nowaitunwrap)r   rk   ri   rj   r  s        rc   _call_in_runner_taskTestRunner._call_in_runner_task  s     $MM)),,)-)9)9)=)="66 --	 ##+  $$&( ##+ )+%%tT'<V'<n&MN   "$ !. a ''))rn   c              #     #    U" S0 UD6nU R                  UR                  S 5      nUv    U R                  UR                  S 5        U R                  UR                  5        [        S5      e! [         a     g f = f7f)Nz$Async generator fixture did not stopra   )r  asendr	  r   StopAsyncIteration)r   fixture_funcrj   asyncgenfixturevalues        rc   run_asyncgen_fixtureTestRunner.run_asyncgen_fixture  s}     
  )&)!%!:!:8>>4!P	G%%hnnd; %%hoo6EFF	 " 		s(   )A>A. &A>.
A;8A>:A;;A>c                (    U R                   " U40 UD6$ r`   r  )r   r  rj   s      rc   run_fixtureTestRunner.run_fixture
  s    
 ((@@@rn   c                *    U R                   " U40 UD6  g r`   r  )r   	test_funcrj   s      rc   run_testTestRunner.run_test  s     	!!)6v6rn   )r  r  r  N)r  r   rg   r   )r   r   r   r   r   ztypes.TracebackType | Nonerg   r   r   r   )r  rx   rg   r   )rk    Callable[P, Awaitable[T_Retval]]ri   ro   rj   rp   rg   rW   )r  z,Callable[..., AsyncGenerator[T_Retval, Any]]rj   dict[str, Any]rg   zIterable[T_Retval])r  z,Callable[..., Coroutine[Any, Any, T_Retval]]rj   r  rg   rW   )r  z'Callable[..., Coroutine[Any, Any, Any]]rj   r  rg   r   )r   r   r   r   r   r   r  r  r  r  r  r  r  r   ra   rn   rc   r  r    s     	),	) &	) +		)
 
	),9!*.* 	*
 * 
*0GBG G 
	G$ABA A 
	A7@7JX7	7rn   r  c                  6   ^  \ rS rSrSU 4S jjrSS jrSrU =r$ )r5  i  c                2  > S nUR                   (       a:  UR                   R                  (       a  [        UR                   R                  5      n[        TU ]  [        U5      X!R
                  UR                  5        [        R                  " U5      U l	        g r`   )
parent_nurseryparent_taskidrI  r   r   r   weakrefproxy_task)r   task	parent_idr   s      rc   r   TrioTaskInfo.__init__  sb    	4#6#6#B#B4..::;ID9iiC]]4(
rn   c                d     U R                   R                  R                  $ ! [         a     gf = frY  )r  _cancel_statuseffectively_cancelledReferenceErrorr   s    rc   has_pending_cancellation%TrioTaskInfo.has_pending_cancellation   s1    	::,,BBB 	 	s   " 
//)r  )r  ztrio.lowlevel.Taskr   )r   r   r   r   r   r  r   rL  rM  s   @rc   r5  r5    s    ) rn   r5  c                     \ rS rSr\          S8S j5       r\S9S j5       r\S:S j5       r\S;S j5       r\S<S j5       r	\S<S j5       r
\S<S j5       r\S=S	 j5       r\\R                  S
S.     S>S jj5       r\S:S j5       r\S?S j5       r\S@S j5       r\SAS j5       r\SS
S.       SBS jj5       r\SCS j5       r\  SD         SES jj5       r\S<S j5       r\        SFS j5       r\        SGS j5       r\            SHS j5       r\SIS j5       r\ SJ       SKS jj5       r\SLS j5       r\SMS j5       r\SMS j5       r\          SNS j5       r \\!      SOS  j5       5       r"\\!      SPS! j5       5       r"\      SQS" j5       r"\S#S#S#S#S$.             SRS% jj5       r#\ SS     STS& jj5       r$\SUS' j5       r%\SUS( j5       r&\SUS) j5       r'\SMS* j5       r(\SVS+ j5       r)\SWS, j5       r*\SXS- j5       r+\SYS. j5       r,\SZS/ j5       r-\    S[S0 j5       r.\S\S1 j5       r/\    S]S2 j5       r0\S^S3 j5       r1\S_S4 j5       r2\S<S5 j5       r3\S`S6 j5       r4S7r5g)aTrioBackendi)  c                d    U(       a   S5       e[         R                  " [        U5      /UQ70 UD6$ )Nz&unreachable, and not supported by Trio)r   r   rq   )rz   rk   ri   rj   r  s        rc   r   TrioBackend.run*  s1     CCCzxx+D1DDDGDDrn   c                >    [         R                  R                  5       $ r`   )r   r  current_trio_tokenr  s    rc   current_tokenTrioBackend.current_token5  s    }}//11rn   c                ,    [         R                  " 5       $ r`   )r   current_timer  s    rc   r  TrioBackend.current_time9  s      ""rn   c                "    [         R                  $ r`   )r   r   r  s    rc   cancelled_exception_class%TrioBackend.cancelled_exception_class=  s    ~~rn   c                \   #    [         R                  R                  5       I S h  vN   g  N7fr`   )r   r  r  r  s    rc   r  TrioBackend.checkpointA  s     mm&&(((   ",*,c                \   #    [         R                  R                  5       I S h  vN   g  N7fr`   )r   r  r%  r  s    rc   r%  #TrioBackend.checkpoint_if_cancelledE  s     mm33555r  c                \   #    [         R                  R                  5       I S h  vN   g  N7fr`   )r   r  cancel_shielded_checkpointr  s    rc   r  &TrioBackend.cancel_shielded_checkpointI  s     mm66888r  c                L   #    [         R                  " U5      I S h  vN   g  N7fr`   )r   rP  )rz   delays     rc   rP  TrioBackend.sleepM  s     jjs   $"$Fr   r   c                   [        XS9$ )Nr  rD   )rz   r   r   s      rc   create_cancel_scopeTrioBackend.create_cancel_scopeQ  s     H<<rn   c                ,    [         R                  " 5       $ r`   )r   current_effective_deadliner  s    rc   r  &TrioBackend.current_effective_deadlineW  s    ..00rn   c                    [        5       $ r`   )r   r  s    rc   create_task_groupTrioBackend.create_task_group[  s
    {rn   c                    [        5       $ r`   r<   r  s    rc   create_eventTrioBackend.create_event_  s	    wrn   c                   [        US9$ )Nr  r>   r  s     rc   create_lockTrioBackend.create_lockc  s    ..rn   Nr:  c                   [        XUS9$ )Nr:  rB   r=  s       rc   create_semaphoreTrioBackend.create_semaphoreg  s     ,WWrn   c                    [        U5      $ r`   r:   )rz   rR  s     rc   create_capacity_limiter#TrioBackend.create_capacity_limiterq  s    |,,rn   c                   ^^^#    SUUU4S jjn[         R                  5       m[        UU[        [        R
                  U5      S9I S h  vN $  N7f)Nc                 d   > [        [        T5         T" T 6 sS S S 5        $ ! , (       d  f       g = fr`   )r3   r  )ri   rk   tokens   rc   rl   6TrioBackend.run_sync_in_worker_thread.<locals>.wrapper}  s     $[%8T{ 988s   !
/)abandon_on_cancellimiterrf   )r  r  r*   r   r   r;   )rz   rk   ri   r  r  rl   r
  s    ``   @rc   run_sync_in_worker_thread%TrioBackend.run_sync_in_worker_threadu  sM     	# 	# ))+/--w7
 
 	
 
s   AA
AAc                @    [         R                  R                  5         g r`   )r   from_threadcheck_cancelledr  s    rc   r  TrioBackend.check_cancelled  s    ((*rn   c                    [        SU5      n [        R                  R                  " U/UQ7SU06$ ! [        R                   a    [        S ef = fNztrio.lowlevel.TrioToken | None
trio_token)r   r   r  r   r/   rz   rk   ri   r
  r  s        rc   run_async_from_thread!TrioBackend.run_async_from_thread  sT     :EB
	-##''KtK
KK$$ 	-",	-	   #2 Ac                    [        SU5      n [        R                  R                  " U/UQ7SU06$ ! [        R                   a    [        S ef = fr  )r   r   r  r*   r/   r  s        rc   run_sync_from_thread TrioBackend.run_sync_from_thread  sT     :EB
	-##,,TPDPZPP$$ 	-",	-r  c               `  #    SS jn[        U[        [        [        45      (       a5  [        R
                  R                  " U" U5      4UUUSS.UD6I S h  vN nOD[        R
                  R                  " U Vs/ s H
  o" U5      PM     sn4UUUSS.UD6I S h  vN nUR                  (       a  [        UR                  5      OS n	UR                  (       a  [        UR                  5      OS n
UR                  (       a  [        UR                  5      OS n[        XyX5      $  Ns  snf  N7f)Nc                    [         R                  " U 5      n[        U[        5      (       a  U$ [         R                  " U5      $ r`   )osfspathrh   strfsdecode)r  str_or_bytess     rc   convert_item.TrioBackend.open_process.<locals>.convert_item  s1    99T?L,,,##{{<00rn   T)r:  r=  rA  shellF)r  rK   rg   r"  )rh   r"  r  r   r   r  open_processr:  r  r=  r   rA  r  )rz   commandr:  r=  rA  rj   r%  rT  r  stdin_streamstdout_streamstderr_streams               rc   r(  TrioBackend.open_process  s    	1 gUH566 MM66W%  G !MM66078d#8  G <C==(7d@G,W^^<TX@G,W^^<TXwmKK+ 9s1   AD.D%#D.;D'D.D,B	D.'D.c                L    [         R                  R                  [        U5        g r`   )r   r  spawn_system_taskrU  )rz   rS  s     rc   #setup_process_pool_exit_at_shutdown/TrioBackend.setup_process_pool_exit_at_shutdown  s    ''(>Hrn   c                  #    SU;   a  [         R                  O[         R                  n[        R                   R                  U5      nUR	                  [         R
                  [         R                  S5        U(       a  UR                  U5      I S h  vN    UR                  X45      I S h  vN   [        U5      $  N* N! [         a    UR                  5         e f = f7f)N:r   )r  AF_INET6AF_INETr   r  r  r  bindconnectr$  r   rr  )rz   hostportlocal_addressfamilyr\  s         rc   connect_tcpTrioBackend.connect_tcp  s      %(4KV^^kk((0v1163E3EqI""=111	%%tl333
 K(( 2 4 		s<   BC B=C C -B?.C 2C ?C CC c                   #    [         R                  R                  [        R                  5      n UR                  U5      I S h  vN   [        U5      $  N! [         a    UR                  5         e f = f7fr`   )r   r  AF_UNIXr7  r$  r   r  )rz   pathr\  s      rc   connect_unixTrioBackend.connect_unix  se     kk((8	%%d+++
  ,, , 		s.   .A6A AA 
A6A A33A6c                    [        U5      $ r`   )r  rz   socks     rc   create_tcp_listenerTrioBackend.create_tcp_listener  s     &&rn   c                    [        U5      $ r`   )r  rD  s     rc   create_unix_listener TrioBackend.create_unix_listener  s    !$''rn   c                  #    [         R                  R                  U[        R                  S9nU(       a/  UR                  [        R                  [        R
                  S5        U(       a  UR                  U5      I S h  vN   U(       a$  UR                  U5      I S h  vN   [        U5      $ [        U5      $  N: N7f)N)r;  typer   )
r   r  
SOCK_DGRAMr  r  SO_REUSEPORTr6  r7  r  r  )rz   r;  r:  remote_address
reuse_portr\  s         rc   create_udp_socketTrioBackend.create_udp_socket  s      kk((V=N=N(O""6#4#4f6I6I1M""=111%%n555%k22[)) 2 6s$   A>B? B;B? B=!B?=B?c                   #    g 7fr`   ra   rz   r  remote_paths      rc   create_unix_datagram_socket'TrioBackend.create_unix_datagram_socket  s
      "%   c                   #    g 7fr`   ra   rT  s      rc   rV  rW    s
      +.rX  c                   #    [         R                  R                  U5      nU(       a$  UR                  U5      I S h  vN   [	        U5      $ [        U5      $  N7fr`   )r   r  r  r7  r  r  )rz   r  rU  r\  s       rc   rV  rW    sM      kk44Z@%%k222.{;;%k22 3s   ;AAAr   )r;  rL  protor  c               `   #    [         R                  R                  XX4XV5      I S h  vN $  N7fr`   )r   r  getaddrinfo)rz   r8  r9  r;  rL  r[  r  s          rc   r]  TrioBackend.getaddrinfo&  s&     & [[,,TuTTTTs   %.,.c                \   #    [         R                  R                  X5      I S h  vN $  N7fr`   )r   r  getnameinfo)rz   sockaddrr  s      rc   r`  TrioBackend.getnameinfo;  s"      [[,,X====s   #,*,c                   #     [        U5      I S h  vN   g  N! [        R                   a)  n[        5       R                  UR                  5      S eS nAf[        R
                   a    [        S5      S ef = f7f)Nru  )r'   r   r6   with_traceback__traceback__r5   rz   objr   s      rc   r'   TrioBackend.wait_readableA  se     	>$$$'' 	T%'66s7H7HItS%% 	>#N3=	>0   A9  A9 A6$A$A66A9c                   #     [        U5      I S h  vN   g  N! [        R                   a)  n[        5       R                  UR                  5      S eS nAf[        R
                   a    [        S5      S ef = f7f)Nrv  )r(   r   r6   rd  re  r5   rf  s      rc   r(   TrioBackend.wait_writableJ  se     	<$$$'' 	T%'66s7H7HItS%% 	<#L1t;	<ri  c                    [        U5        g r`   )r&   )rz   rg  s     rc   r&   TrioBackend.notify_closingS  s
    srn   c                   #    [        [        S5      (       a)  UR                  [        R                  :X  a  [	        U5      $ [        U5      $ 7f)Nr?  )hasattrr  r;  r?  r  r  rD  s     rc   wrap_listener_socket TrioBackend.wrap_listener_socketW  s7     69%%$++*G%d++ &&s   A
Ac                ^   #    [         R                  R                  U5      n[        U5      $ 7fr`   )r   r  r  rr  rz   rE  	trio_socks      rc   wrap_stream_socketTrioBackend.wrap_stream_socket^  s$     KK2248	I&&r  c                ^   #    [         R                  R                  U5      n[        U5      $ 7fr`   )r   r  r  r  rs  s      rc   wrap_unix_stream_socket#TrioBackend.wrap_unix_stream_socketc  s$     KK2248		**r  c                ^   #    [         R                  R                  U5      n[        U5      $ 7fr`   )r   r  r  r  rs  s      rc   wrap_udp_socketTrioBackend.wrap_udp_socketh  s$     KK2248	##r  c                ^   #    [         R                  R                  U5      n[        U5      $ 7fr`   )r   r  r  r  rs  s      rc   wrap_connected_udp_socket%TrioBackend.wrap_connected_udp_socketm  $     KK2248	!),,r  c                ^   #    [         R                  R                  U5      n[        U5      $ 7fr`   )r   r  r  r  rs  s      rc   wrap_unix_datagram_socket%TrioBackend.wrap_unix_datagram_socketr  r  r  c                ^   #    [         R                  R                  U5      n[        U5      $ 7fr`   )r   r  r  r  rs  s      rc   #wrap_connected_unix_datagram_socket/TrioBackend.wrap_connected_unix_datagram_socketw  s&      KK2248	*955r  c                     [         R                  5       $ ! [         a?    [        [        R
                  R                  5       S9n[         R                  U5        Us $ f = f)NrP  )r}  r  LookupErrorr;   r   	to_threadcurrent_default_thread_limiterr  )rz   r  s     rc   r  *TrioBackend.current_default_thread_limiter~  sT    	,0022 	%FFHG &))'2N	s    AAAc                    [        U5      $ r`   )r  )rz   r  s     rc   r   TrioBackend.open_signal_receiver  s     w''rn   c                ,    [        5       n[        U5      $ r`   )r%   r5  )rz   r  s     rc   get_current_taskTrioBackend.get_current_task  s    ~D!!rn   c                &   [        5       nU(       d   e[        U5      /nUR                  nU(       a^  / nU HK  nUR                   H8  nUR	                  [        U5      5        UR                  UR                  5        M:     MM     UnU(       a  M^  U$ r`   )r$   r5  child_nurserieschild_tasksr  extend)rz   	root_task
task_infos	nurseriesnew_nurseriesnurseryr  s          rc   get_running_tasksTrioBackend.get_running_tasks  s    %'	y"9-.
--	02M$#//D%%l4&89!(()=)=> 0 %
 &I i rn   c                :   #    SSK Jn  U" 5       I S h  vN   g  N7f)Nr   )wait_all_tasks_blocked)trio.testingr  )rz   r  s     rc   r  "TrioBackend.wait_all_tasks_blocked  s     7$&&&s   c                    [        S0 UD6$ r~   )r  )rz   r  s     rc   create_test_runnerTrioBackend.create_test_runner  s    $G$$rn   ra   )
rk   z1Callable[[Unpack[PosArgsT]], Awaitable[T_Retval]]ri   tuple[Unpack[PosArgsT]]rj   r  r  r  rg   rW   )rg   rx   r   )rg   ztype[BaseException]r   )r  r   rg   r   )r   r   r   r   rg   zabc.CancelScope)rg   zabc.TaskGroup)rg   z	abc.Eventr7  )r>  rD  r;  r  r  r   rg   zabc.Semaphore)rR  r   rg   r;   )FN)
rk   &Callable[[Unpack[PosArgsT]], T_Retval]ri   r  r  r   r  zabc.CapacityLimiter | Nonerg   rW   )rk   r   ri   r  r
  rx   rg   rX   )rk   r  ri   r  r
  rx   rg   rW   )r)  z)StrOrBytesPath | Sequence[StrOrBytesPath]r:  int | IO[Any] | Noner=  r  rA  r  rj   r   rg   r  rS  zset[abc.Process]rg   r   r`   )r8  r"  r9  rD  r:  IPSockAddrType | Nonerg   rr  )r@  str | bytesrg   zabc.UNIXSocketStream)rE  rp  rg   zabc.SocketListener)
r;  zsocket.AddressFamilyr:  r  rO  r  rP  r   rg   zUDPSocket | ConnectedUDPSocket)r  rp  rU  r   rg   zabc.UNIXDatagramSocket)r  rp  rU  r  rg   zabc.ConnectedUNIXDatagramSocket)r  rp  rU  zstr | bytes | Nonerg   z8abc.UNIXDatagramSocket | abc.ConnectedUNIXDatagramSocket)r8  zbytes | str | Noner9  zstr | int | Noner;  zint | AddressFamilyrL  zint | SocketKindr[  rD  r  rD  rg   zuSequence[tuple[AddressFamily, SocketKind, int, str, tuple[str, int] | tuple[str, int, int, int] | tuple[int, bytes]]])r   )ra  rG   r  rD  rg   ztuple[str, str])rg  rP   rg   r   )rE  rp  rg   rr  )rE  rp  rg   r  )rE  rp  rg   r  )rE  rp  rg   r  )rE  rp  rg   r  )rE  rp  rg   r  )rg   r;   )r  r   rg   z.AbstractContextManager[AsyncIterator[Signals]])rg   r0   )rg   zSequence[TaskInfo])r  r  rg   r  )6r   r   r   r   classmethodr   r  r  r  r  r%  r  rP  rQ  rR  r  r  r  r  r   r  r  r  r  r  r  r(  r0  r<  rA  rF  rI  rQ  r    rV  r]  r`  r'   r(   r&   rp  ru  rx  r{  r~  r  r  r  r  r  r  r  r  r   ra   rn   rc   r  r  )  sB   E?E &E 	E
  E 
E E 2 2 # #   ) ) 6 6 9 9     "&((5==48=	= =
 1 1     / / 
 !%"XX 	X
 X 
X X - - 
 #(.2
4
 &
  	

 ,
 

 
$ + + 
-E
- &
- 	
-
 

- 
- 
-4
- &
- 	
-
 

- 
- &L:&L $	&L
 %&L %&L &L 
&L &LP I I JN))!)2G)	) )" - - ' ' ( ( *$* -* .	*
 * 
(* ** %&%59%	%  % .&.5@.	(.  . 	3&	35G	3	A	3 	3  '(!"U U U
 $U U U U
U U( 45>%>.1>	> >
 > > < <   ' ' ' ' + + $ $ - - - - 6 6	$6 6   ((	7( (
 " "    ' '
 % %rn   r  )rk   r  rg   z*Callable[P, Coroutine[Any, Any, T_Retval]]r  )
__future__r   r  rQ  r   r  systypesr  collections.abcr   r   r   r   r   r	   r
   r   
contextlibr   contextvarsr   dataclassesr   	functoolsr   r   ior   r   r1  r   r   r   r   typingr   r   r   r   r   r   r   r   r   r    trio.from_threadr   trio.lowlevelr  r!   r"   r#   r$   r%   r&   r'   r(   trio.socketr)   ro  trio.to_threadr*    r,   r-   r.   r/   r0   r1   r2   _core._eventloopr3   _core._exceptionsr4   r5   r6   r7   _core._socketsr8   _core._streamsr9   _core._synchronizationr;   BaseCapacityLimiterr=   	BaseEventr?   BaseLockr@   rA   rC   BaseSemaphore_core._tasksrE   BaseCancelScoperF   rG   rH   rI   abc._eventlooprJ   rK   
abc._tasksrL   rM   rN   streams.memoryrO   	_typeshedrP   version_inforS   rT   exceptiongrouprU   typing_extensionsrV   rW   rX   r"  rZ   r[   r\   rq   r  RunVarrx   r   
TaskStatusr   r   ByteReceiveStreamr   ByteSendStreamr  r  
InstrumentrG  rN  r   rU  rW  rr  r  SocketListenerr  r  r  r  r  r  r}  r  r  r5  r  backend_classra   rn   rc   <module>r     s   "   	  
  	 	 	 .  ! $    ,      ) )  5 #   3  3 8 8 5 @ 9 % G G 9 H H 3,w++16CL:v&\37

#cN
*/8 
		0'/ 0'n H 1gh')A 1a aR e$300 $ $( e$** $ $ e5ckk 5 5pTXX%8%8 
 @F,@ &(< 

'$wz* >3#S%5%5 3B@4|S%9%9 @4F)(#*<*< ) -)3+=+= -0 0#-- 0,0).93;Q;Q 0*0)#.0F0F 0,0S3::08I .7
8 7
t5B 5BpK
) K
\ 399T2U / U @\7 \7~8 $D%, D%N rn   