f ddlZejdkr edddlZddlZddlZddlZddlZddlZddl Z ddl Z ddl Z ddl m Z ddl mZddl mZddl mZdd l mZdd l mZdd l mZdd l mZdd lmZdZejZejZdZdZdZdZGddejZGddejZ Gdde Z!Gdde Z"Gdde#Z$Gddej%Z&Gdd ej'Z(Gd!d"Z)Gd#d$ej*Z+e&Z,Gd%d&e j-Z.Gd'd(e j-Z/e/Z0dS))Nwin32z win32 only)events)base_subprocess)futures) exceptions)proactor_events)selector_events)tasks) windows_utils)logger)SelectorEventLoopProactorEventLoop IocpProactorDefaultEventLoopPolicyWindowsSelectorEventLoopPolicyWindowsProactorEventLoopPolicyiigMbP?g?cVeZdZ ddfd ZfdZdZd fd ZfdZfdZxZ S) _OverlappedFutureNloopcxt||jr|jd=||_dSNr)super__init___source_traceback_ov)selfovr __class__s =/opt/alt/python311/lib64/python3.11/asyncio/windows_events.pyrz_OverlappedFuture.__init__6s? d###  ! +&r*ct}|j8|jjrdnd}|dd|d|jjdd|S)Npending completedrz overlapped=)r _repr_inforr%insertaddressrinfostater!s r"r)z_OverlappedFuture._repr_info<shww!!## 8 !%!1BII{E KKI%II483CIIII J J J r#c|jdS |jnH#t$r;}d||d}|jr |j|d<|j|Yd}~nd}~wwxYwd|_dS)Nz&Cancelling an overlapped future failedmessage exceptionfuturesource_traceback)rcancelOSErrorr_loopcall_exception_handler)rexccontexts r"_cancel_overlappedz$_OverlappedFuture._cancel_overlappedCs 8  F 7 HOO     7 7 7C G % E.2.D*+ J - -g 6 6 6 6 6 6 6 6 7s% A*1A%%A*cp|t|SN)msg)r;rr5rr>r!s r"r5z_OverlappedFuture.cancelSs- !!!ww~~#~&&&r#crt||dSN)r set_exceptionr;rr2r!s r"rBz_OverlappedFuture.set_exceptionWs3 i((( !!!!!r#cXt|d|_dSrA)r set_resultrrresultr!s r"rEz_OverlappedFuture.set_result[s& 6"""r#rA) __name__ __module__ __qualname__rr)r;r5rBrE __classcell__r!s@r"rr0s $(  ''''''"""""r#rcbeZdZ ddfd ZdZfdZdZdZd fd Zfd Z fd Z xZ S) _BaseWaitHandleFutureNrct||jr|jd=||_||_||_d|_dS)NrrT)rrrr_handle _wait_handle _registered)rr handle wait_handlerr!s r"rz_BaseWaitHandleFuture.__init__cs\ d###  ! +&r* ' r#cRtj|jdtjkSNr)_winapiWaitForSingleObjectrP WAIT_OBJECT_0rs r"_pollz_BaseWaitHandleFuture._pollqs$+DL!<<%& 'r#c6t}|d|jd|j-|rdnd}|||j|d|jd|S)Nzhandle=r'signaledwaitingz wait_handle=)rr)appendrPr[rQr,s r"r)z _BaseWaitHandleFuture._repr_infovsww!!## /dl///000 < #"&**,,=JJIE KK      ( KK=t'8=== > > > r#cd|_dSrA)r)rfuts r"_unregister_wait_cbz)_BaseWaitHandleFuture._unregister_wait_cbsr#c^|jsdSd|_|j}d|_ tj|nc#t$rV}|jtjkr7d||d}|jr |j|d<|j |Yd}~dSYd}~nd}~wwxYw| ddSNFz$Failed to unregister the wait handler0r4) rRrQ _overlappedUnregisterWaitr6winerrorERROR_IO_PENDINGrr7r8rbrrTr9r:s r"_unregister_waitz&_BaseWaitHandleFuture._unregister_waits  F '     &{ 3 3 3 3   |{;;;E!$" )I262HG./ 11':::<;;;;    &&&&&s5 BABBcp|t|Sr=)rjrr5r?s r"r5z_BaseWaitHandleFuture.cancels- ww~~#~&&&r#cr|t|dSrA)rjrrBrCs r"rBz#_BaseWaitHandleFuture.set_exceptions3  i(((((r#cr|t|dSrA)rjrrErFs r"rEz _BaseWaitHandleFuture.set_results3  6"""""r#rA) rHrIrJrr[r)rbrjr5rBrErKrLs@r"rNrN`s<8<        '''  '''0'''''')))))#########r#rNc@eZdZ ddfd ZdZfdZfdZxZS)_WaitCancelFutureNrc`t||||d|_dS)Nr)rr_done_callback)rr eventrTrr!s r"rz_WaitCancelFuture.__init__s2 UKd;;;"r#c td)Nz'_WaitCancelFuture must not be cancelled) RuntimeErrorrZs r"r5z_WaitCancelFuture.cancelsDEEEr#ct||j||dSdSrA)rrErqrFs r"rEz_WaitCancelFuture.set_resultsF 6"""   *    % % % % % + *r#ct||j||dSdSrA)rrBrqrCs r"rBz_WaitCancelFuture.set_exceptionsF i(((   *    % % % % % + *r#)rHrIrJrr5rErBrKrLs@r"roros8<####### FFF&&&&& &&&&&&&&&r#roc4eZdZddfd ZfdZdZxZS)_WaitHandleFutureNrct||||||_d|_t jdddd|_d|_dS)NrTF)rr _proactor_unregister_proactorre CreateEvent_event _event_fut)rr rSrTproactorrr!s r"rz_WaitHandleFuture.__init__sV V[t<<<!$(!!-dD%FF r#c|j'tj|jd|_d|_|j|jd|_t|dSrA) r}rW CloseHandler~rz _unregisterrrrb)rrar!s r"rbz%_WaitHandleFuture._unregister_wait_cbsk ; "   , , ,DK"DO ""48,,, ##C(((((r#c|jsdSd|_|j}d|_ tj||jnc#t $rV}|jtjkr7d||d}|jr |j|d<|j |Yd}~dSYd}~nd}~wwxYw|j |j|j |_dSrd)rRrQreUnregisterWaitExr}r6rgrhrr7r8rz _wait_cancelrbr~ris r"rjz"_WaitHandleFuture._unregister_waits  F '     (dk B B B B   |{;;;E!$" )I262HG./ 11':::<;;;; .55dk6:6NPPs; BABB)rHrIrJrrbrjrKrLs@r"rxrxstBF)))))$PPPPPPPr#rxc2eZdZ dZdZdZdZdZeZdS) PipeServerc||_tj|_d|_d|_|d|_dSNT)_addressweakrefWeakSet_free_instances_pipe_accept_pipe_future_server_pipe_handle)rr+s r"rzPipeServer.__init__sC &00 #' --d33 r#cJ|j|dc}|_|SNF)rr)rtmps r"_get_unconnected_pipez PipeServer._get_unconnected_pipes& *d&>&>u&E&ETZ r#c |rdStjtjz}|r|tjz}tj|j|tjtjztj ztj tj tj tj tj}tj|}|j||SrA)closedrWPIPE_ACCESS_DUPLEXFILE_FLAG_OVERLAPPEDFILE_FLAG_FIRST_PIPE_INSTANCECreateNamedPiperPIPE_TYPE_MESSAGEPIPE_READMODE_MESSAGE PIPE_WAITPIPE_UNLIMITED_INSTANCESr BUFSIZENMPWAIT_WAIT_FOREVERNULL PipeHandleradd)rfirstflagshpipes r"rzPipeServer._server_pipe_handle s ;;== 4*W-II  ; W: :E  # M5  %(E E     ,  !=#8  (',  8 8'**   &&& r#c|jduSrA)rrZs r"rzPipeServer.closeds %&r#c|j |jd|_|jG|jD]}|d|_d|_|jdSdSrA)rr5rrcloserclear)rrs r"rzPipeServer.close"s  # /  $ + + - - -'+D $ = $,   DJ DM  & & ( ( ( ( ( % $r#N) rHrIrJrrrrr__del__r#r"rrse444$''' ) ) )GGGr#rceZdZdS)_WindowsSelectorEventLoopN)rHrIrJrr#r"rr1s11r#rcBeZdZ dfd ZfdZdZdZ ddZxZS)rNcj|t}t|dSrA)rrr)rrr!s r"rzProactorEventLoop.__init__8s0  #~~H """""r#c ||jt|jQ|jj}|j|!|js|j |d|_dSdS#|jO|jj}|j|!|js|j |d|_wxYwrA) call_soon_loop_self_readingr run_forever_self_reading_futurerr5r%rzr)rr r!s r"rzProactorEventLoop.run_forever=s 1 NN42 3 3 3 GG   ! ! !(4.2)00222>"*>N..r222,0)))54t(4.2)00222>"*>N..r222,0)0000s :BAC/cK|j|}|d{V}|}|||d|i}||fS)Naddrextra)rz connect_pipe_make_duplex_pipe_transport)rprotocol_factoryr+frprotocoltranss r"create_pipe_connectionz(ProactorEventLoop.create_pipe_connectionPsl N ' ' 0 0wwwwww##%%00x8>7H1JJhr#crKtdfd gS)Ncd} |r||}j|r|dS}||di}|dSj|}|_ | dS#t$rG|r,| dkr| YdSt$r}|rF| dkr.d||d|njrt#jd|d Yd}~dSd}~wt&j$r|r|YdSYdSwxYw) NrrrzPipe accept failed)r1r2rzAccept pipe failed on pipe %rT)exc_info)rGrdiscardrrrrrz accept_piperadd_done_callbackBrokenPipeErrorfilenorr6r8_debugr warningrCancelledError) rrrr9r+loop_accept_piperrservers r"rz>ProactorEventLoop.start_serving_pipe..loop_accept_pipe[sJD) 6 A88::D*224888}} //11H44hvw.?5AAA3355<FN..t44*./*##$455555+# 1 1 1!DKKMMR//JJLLL/000000 1 1 1 8DKKMMR////#7%( $11 JJLLLL[8N#B#'$8888/000000000, ! ! !!JJLLLLLL!!! !s2AC:CCA G# G,A;F--(GGrA)rr)rrr+rrs```@@r"start_serving_pipez$ProactorEventLoop.start_serving_pipeXsgG$$+ 6+ 6+ 6+ 6+ 6+ 6+ 6+ 6+ 6+ 6Z '(((xr#c K|} t||||||||f| |d| } | d{VnN#ttf$rt$r0| | d{VwxYw| S)N)waiterr) create_future_WindowsSubprocessTransport SystemExitKeyboardInterrupt BaseExceptionr_wait) rrargsshellstdinstdoutstderrbufsizerkwargsrtransps r"_make_subprocess_transportz,ProactorEventLoop._make_subprocess_transports##%%,T8T5-2FFG74:%770677 LLLLLLLL-.        LLNNN,,..    s 8A BrA) rHrIrJrrrrrrKrLs@r"rr5s<###### 11111&111j04r#rceZdZ efdZdZdZdZddZdZ d d Z d d Z d d Z d d Z d!d Zd dZdZdZdZdZdZddZdZdZdZdZdZdZddZdZdZdZdS)"rcd|_g|_tjtjt d||_i|_tj |_ g|_ tj |_ dSrV) r7_resultsreCreateIoCompletionPortINVALID_HANDLE_VALUEr_iocp_cacherrrR _unregistered_stopped_serving)r concurrencys r"rzIocpProactor.__init__sg   7  ,dA{DD  "?,, ' 1 1r#c2|jtddS)NzIocpProactor is closed)rrtrZs r" _check_closedzIocpProactor._check_closeds! : 788 8  r#cdt|jzdt|jzg}|j|dd|jjdd|dS)Nzoverlapped#=%sz result#=%sr< r()lenrrrr_r!rHjoin)rr-s r"__repr__zIocpProactor.__repr__sl 3t{#3#33s4=1113 :  KK ! ! ! N333SXXd^^^^DDr#c||_dSrA)r7)rrs r"set_loopzIocpProactor.set_loops  r#Ncn|js|||j}g|_ |d}S#d}wxYwrA)rr[)rtimeoutrs r"selectzIocpProactor.selectsJ} JJw   m  CC$CJJJJs04cb|j}|||SrA)r7rrE)rvalueras r"_resultzIocpProactor._results,j&&(( u r#rc||tjt} t |t jr*||||n(|||n%#t$r| dcYSwxYwd}| |||S)Nr#c |S#t$r3}|jtjtjfvrt |jd}~wwxYwrA getresultr6rgreERROR_NETNAME_DELETEDERROR_OPERATION_ABORTEDConnectionResetErrorrrkeyr r9s r" finish_recvz&IocpProactor.recv..finish_recvf ||~~%   B?c||tjt} t |t jr*||||n(|||n%#t$r| dcYSwxYwd}| |||S)Nrc |S#t$r3}|jtjtjfvrt |jd}~wwxYwrArrs r"rz+IocpProactor.recv_into..finish_recvrr) rrerrr r  WSARecvIntor ReadFileIntorrr rrbufrr rs r" recv_intozIocpProactor.recv_intos   &&&  #D ) ) #$ .. 4t{{}}c59999 s333 # # #<<?? " " " #   ~~b$ 444rc2||tjt} ||||n%#t $r|dcYSwxYwd}||||S)Nr#Nc |S#t$rN}|jtjkrYd}~dS|jtjtjfvrt|jd}~wwxYw)Nr rr6rgreERROR_PORT_UNREACHABLErrrrrs r"rz*IocpProactor.recvfrom..finish_recvs ||~~%   <;#EEE$99999.finish_recvs ||~~%   <;#EEE"77777.finish_send.rr)rrerr WSASendTorr )rrrrrr r*s r"sendtozIocpProactor.sendto(sm   &&&  #D ) ) T[[]]C555   ~~b$ 444r#cj||tjt}t |t jr*||||n(|||d}| |||S)Nc |S#t$r3}|jtjtjfvrt |jd}~wwxYwrArrs r"r*z&IocpProactor.send..finish_sendBrr) rrerrr r WSASendr WriteFiler )rrrrr r*s r"sendzIocpProactor.send:s   &&&  #D ) ) dFM * * - JJt{{}}c5 1 1 1 1 LL , , ,   ~~b$ 444r#c||jtjt }|fd}d}|||}||}tj ||j |S)NcJ|tjd}t jtj|   fS)Nz@P) rstructpackr setsockoptr  SOL_SOCKETreSO_UPDATE_ACCEPT_CONTEXT settimeout gettimeout getpeername)rrr rrlisteners r" finish_acceptz*IocpProactor.accept..finish_acceptTs LLNNN+dHOO$5$566C OOF-'@# G G G OOH//11 2 2 2))+++ +r#clK |d{VdS#tj$r|wxYwrA)rrr)r3rs r" accept_coroz(IocpProactor.accept..accept_coro]sN  ,     s%3r) r_get_accept_socketfamilyrerrAcceptExrr r ensure_futurer7)rr<r r=r?r3corors ` @r"acceptzIocpProactor.acceptNs   ***&&x77  #D ) ) HOO%%t{{}}555 , , , , , ,   Hm<<{64(( Dtz2222 r#cjtjkrWtj||j}|d|S|  tj j nL#t$r?}|j tjkrddkrYd}~nd}~wwxYwtjt$}||fd}|||S)Nrrc|tjtjdSrV)rr6r r7reSO_UPDATE_CONNECT_CONTEXT)rrr rs r"finish_connectz,IocpProactor.connect..finish_connects; LLNNN OOF-'A1 F F FKr#)typer  SOCK_DGRAMre WSAConnectrr7rrEr BindLocalrAr6rgerrno WSAEINVAL getsocknamerr ConnectExr )rrr+raer rIs ` r"connectzIocpProactor.connectjsS 9) ) )  "4;;==' : : :***,,C NN4 J   &&&   !$++-- = = = =   zU_,,!!!$))*))))    #D ) ) T[[]]G,,,     ~~b$777s,B11 C:;5C55C:c N||tjt}|dz}|dz dz}||t j||||ddd}||||S)Nl rc |S#t$r3}|jtjtjfvrt |jd}~wwxYwrArrs r"finish_sendfilez.IocpProactor.sendfile..finish_sendfilerr) rrerr TransmitFilermsvcrt get_osfhandler ) rsockfileoffsetcountr offset_low offset_highrWs r"sendfilezIocpProactor.sendfiles   &&&  #D ) )k) |{2   ,T[[]];;"Kq! % % %    ~~b$888r#c|tjt}|}|r|Sfd}|||S)Nc0|SrA)r)rrr rs r"finish_accept_pipez4IocpProactor.accept_pipe..finish_accept_pipes LLNNNKr#)rrerrConnectNamedPiperrr )rrr connectedrds ` r"rzIocpProactor.accept_pipes   &&&  #D ) )'' 66  &<<%% %     ~~b$(:;;;r#c*Kt} tj|}n`#t$r }|jtjkrYd}~nd}~wwxYwt |dzt}tj |d{Vvtj |S)NT) CONNECT_PIPE_INIT_DELAYre ConnectPiper6rgERROR_PIPE_BUSYminCONNECT_PIPE_MAX_DELAYr sleepr r)rr+delayrSr9s r"rzIocpProactor.connect_pipes' % $099   <;#>>>?>>>>   #9::E+e$$ $ $ $ $ $ $ $ %'///s! A AA c2 |||dSr)_wait_for_handle)rrSrs r"wait_for_handlezIocpProactor.wait_for_handles! $$VWe<<.finish_wait_for_handles7799 r#r)rrWINFINITEmathceilrerrRegisterWaitWithQueuerr+ror7rxrr) rrSr _is_cancelmsr rTrxrs @r"rqzIocpProactor._wait_for_handles  ?!BB7S=))B #D ) )!7 DJ B00  3!"fk KKKAA!"fk4'+z333A  (#B'     $%b!-C"D BJr#c||jvrJ|j|tj||jdddSdSrV)rRrrerrrrobjs r"rz IocpProactor._register_with_iocpsX d& & &    % % %  .szz||TZA N N N N N ' &r#cL|t||j}|jr|jd=|jsP |dd|}||n,#t $r}||Yd}~nd}~wwxYw||||f|j|j <|Sr) rrr7rr%rEr6rBrr+)rr rcallbackrrrRs r"r zIocpProactor._registers  btz 2 2 2  (#B'z $  $ tR00 U#### # # #"""""""" #$%b#x"8 BJs A%% B/B  Bcd ||j|dSrA)rrr_)rr s r"rzIocpProactor._unregisters8  !!"%%%%%r#cXtj|}|d|SrV)r r9)rrAss r"r@zIocpProactor._get_accept_socket's% M& ! ! Qr#c $|t}nF|dkrtdtj|dz}|tkrtd t j|j|}|n]d}|\}}}} |j|\}} } } nq#t$rd|j r$|j dd||||fzd|dtj fvrtj|YwxYw| |jvr|n|s | ||| } || |j|nF#t,$r9} || |j|Yd} ~ nd} ~ wwxYwd}n#d}wxYw{|jD]"} |j| jd#|jdS) Nrznegative timeoutrvztimeout too bigTz8GetQueuedCompletionStatus() returned an unexpected eventz)err=%s transferred=%s key=%#x address=%#x)r1status)ry ValueErrorrzr{reGetQueuedCompletionStatusrrpopKeyErrorr7 get_debugr8rrWrrr5donerErr_r6rBrr+r)rrr~rerr transferredrr+rr rrrrRs r"r[zIocpProactor._poll,sy ?BB q[[/00 07S=))BX~~ !2333&  :4:rJJF~B-3 *Cc7 '+{w'?'?$2sHH   :''))J55%7#N&);W%E$F77q+"BCCC',,, d+++ VVXX  $H[#r::E LL'''M((++++ ,,,OOA&&&M((++++++++,AAAHHHHM& R$ . .B KOOBJ - - - -   """""sC:BA+DD> E; 0G; F>/F94G9F>>GGc:|j|dSrA)rrrs r" _stop_servingzIocpProactor._stop_servinges! !!#&&&&&r#c|jdSt|jD]\}}}}|rt |t r2 |H#t$rB}|j 1d||d}|j r |j |d<|j |Yd}~d}~wwxYwd}tj }||z} |jrs| tj kr@tjd|tj |z tj |z} |||jsg|_t%j|jd|_dS)NzCancelling a future failedr0r4g?z,%r is running after closing for %.1f seconds)rlistrvalues cancelledr ror5r6r7rr8time monotonicr debugr[rrWr) rrar rrr9r: msg_update start_timenext_msgs r"rzIocpProactor.closeks :  F'+4;+=+=+?+?&@&@ C C "CS(}} CC!233 C CJJLLLL C C Cz-'C),&)## 0P:=:OG$67 99'BBB C ^%%  *k #4>++++ K!4>#3#3j#@BBB>++j8 JJz " " "k # DJ''' s#A88 C8B??Cc.|dSrA)rrZs r"rzIocpProactor.__del__s r#rA)rr$) rHrIrJryrrrrrrrrr!r'r,r1rErSrarrrrrrqrr rr@r[rrrrr#r"rrs-#+2222999EEE     5555.5555.55550555505555$5555(8888>999*<<<"000&====   DOOO@&&& 7#7#7#7#r''' ---^r#rceZdZdZdS)rc tj|f|||||d|_fd}jjt jj} | |dS)N)rrrrrcdj}|dSrA)_procpoll_process_exited)r returncoders r"rz4_WindowsSubprocessTransport._start..callbacks.**J   , , , , ,r#) r Popenrr7rzrrintrPr) rrrrrrrrrrs ` r"_startz"_WindowsSubprocessTransport._starts"( 'U6&''%''  - - - - - J 0 0TZ5G1H1H I I H%%%%%r#N)rHrIrJrrr#r"rrs# & & & & &r#rceZdZeZdS)rN)rHrIrJr _loop_factoryrr#r"rr%MMMr#rceZdZeZdS)rN)rHrIrJrrrr#r"rrrr#r)1sysplatform ImportErrorrerWrNrzrYr r4rrrrrrr r r r logr __all__rryERROR_CONNECTION_REFUSEDERROR_CONNECTION_ABORTEDrirmFuturerrNrorxobjectrBaseSelectorEventLooprBaseProactorEventLooprrBaseSubprocessTransportrrBaseDefaultEventLoopPolicyrrrrr#r"rsu4 <7 +l # ##  |   --------`G#G#G#G#G#GNG#G#G#T&&&&&-&&&01P1P1P1P1P-1P1P1Ph88888888v22222 E222ggggg=gggT||||||||~ & & & & &/"I & & &.&&&&&V%F&&&&&&&&V%F&&&8r#