Your IP : 18.188.131.48


Current Path : /opt/alt/python313/lib64/python3.13/asyncio/__pycache__/
Upload File :
Current File : //opt/alt/python313/lib64/python3.13/asyncio/__pycache__/windows_events.cpython-313.pyc

�

1}gv����SrSSKr\RS:wa\"S5eSSKrSSKrSSKrSSKJr SSK	r	SSK
r
SSKrSSKrSSK
r
SSKrSSKJr SSKJr SS	KJr SS
KJr SSKJr SSKJr SS
KJr SSKJr SSKJr Sr\R6r\R8rSrSrSrSr "SS\RB5r""SS\RB5r#"SS\#5r$"SS\#5r%"SS\&5r'"SS \RP5r)"S!S"\RT5r+"S#S$5r,"S%S&\RZ5r.\)r/"S'S(\R`5r1"S)S*\R`5r2\2r3\+r4g)+z.Selector and proactor event loops for Windows.�N�win32z
win32 only)�partial�)�events)�base_subprocess)�futures)�
exceptions)�proactor_events)�selector_events)�tasks)�
windows_utils)�logger)�SelectorEventLoop�ProactorEventLoop�IocpProactor�DefaultEventLoopPolicy�WindowsSelectorEventLoopPolicy�WindowsProactorEventLoopPolicy�	EventLoopi�i�g����MbP?g�������?c�n^�\rSrSrSrSS.U4SjjrU4SjrSrSU4SjjrU4S	jr	U4S
jr
SrU=r$)
�_OverlappedFuture�1z~Subclass of Future which represents an overlapped operation.

Cancelling it will immediately cancel the overlapped operation.
N��loopc�h>�[TU]US9 UR(a
URS	Xlg�Nr���)�super�__init__�_source_traceback�_ov)�self�ovr�	__class__s   ��=/opt/alt/python313/lib64/python3.13/asyncio/windows_events.pyr�_OverlappedFuture.__init__7s/���
���d��#��!�!��&�&�r�*���c��>�[TU]5nURbMURR(aSOSnUR	SSUSURR
SS35 U$)N�pending�	completedrzoverlapped=<z, �#x�>)r�
_repr_infor!r)�insert�address�r"�info�stater$s   �r%r-�_OverlappedFuture._repr_info=s\����w�!�#���8�8��!%���!1�!1�I�{�E��K�K��\�%���4�8�8�3C�3C�B�2G�q�I�J��r'c��URcgURR5 SUlg![aKnSUUS.nUR(aURUS'URRU5 SnANXSnAff=f)Nz&Cancelling an overlapped future failed��message�	exception�future�source_traceback)r!�cancel�OSErrorr �_loop�call_exception_handler)r"�exc�contexts   r%�_cancel_overlapped�$_OverlappedFuture._cancel_overlappedDs~���8�8���
	7��H�H�O�O�������	7�C� ���G�
�%�%�.2�.D�.D��*�+��J�J�-�-�g�6�6��	7�s�2�
B�AB�Bc�>>�UR5 [TU]	US9$�N)�msg)r@rr:�r"rDr$s  �r%r:�_OverlappedFuture.cancelTs ������!��w�~�#�~�&�&r'c�D>�[TU]U5 UR5 g�N)r�
set_exceptionr@�r"r7r$s  �r%rI�_OverlappedFuture.set_exceptionXs���
���i�(����!r'c�2>�[TU]U5 SUlgrH)r�
set_resultr!�r"�resultr$s  �r%rM�_OverlappedFuture.set_result\s���
���6�"���r'�r!rH)
�__name__�
__module__�__qualname__�__firstlineno__�__doc__rr-r@r:rIrM�__static_attributes__�
__classcell__�r$s@r%rr1s5����
$(����� '�"��r'rc�z^�\rSrSrSrSS.U4SjjrSrU4SjrSrS	r	SU4S
jjr
U4SjrU4SjrS
r
U=r$)�_BaseWaitHandleFuture�az2Subclass of Future which represents a wait handle.Nrc�>�[TU]US9 UR(a
URS	XlX lX0lSUlg)NrrT)rrr r!�_handle�_wait_handle�_registered)r"r#�handle�wait_handlerr$s     �r%r�_BaseWaitHandleFuture.__init__dsF���
���d��#��!�!��&�&�r�*�����'�� ��r'c�f�[R"URS5[R:H$�Nr)�_winapi�WaitForSingleObjectr^�
WAIT_OBJECT_0�r"s r%�_poll�_BaseWaitHandleFuture._pollrs)���+�+�D�L�L�!�<��%�%�&�	'r'c�(>�[TU]5nURSURS35 URb*UR	5(aSOSnURU5 UR
bURSUR
S35 U$)Nzhandle=r+�signaled�waitingzwait_handle=)rr-�appendr^rjr_r0s   �r%r-� _BaseWaitHandleFuture._repr_infows~����w�!�#�����g�d�l�l�2�.�/�0��<�<�#�"&�*�*�,�,�J�I�E��K�K������(��K�K�,�t�'8�'8��&<�=�>��r'c��SUlgrHrQ)r"�futs  r%�_unregister_wait_cb�)_BaseWaitHandleFuture._unregister_wait_cb�s����r'c��UR(dgSUlURnSUl[R"U5 URS5 g![annUR
[R:waFSUUS.nUR(aURUS'URRU5 SnAgSnAN�SnAff=f�NFz$Failed to unregister the wait handler5r9)r`r_�_overlapped�UnregisterWaitr;�winerror�ERROR_IO_PENDINGr r<r=rs�r"rbr>r?s    r%�_unregister_wait�&_BaseWaitHandleFuture._unregister_wait�s������� ����'�'�� ���	��&�&�{�3�	
� � ��&���
	��|�|�{�;�;�;�E�!$�"���
�)�)�26�2H�2H�G�.�/��
�
�1�1�'�:��<��
	�s�A�
C� AC	�	Cc�>>�UR5 [TU]	US9$rC)r|rr:rEs  �r%r:�_BaseWaitHandleFuture.cancel�s ��������w�~�#�~�&�&r'c�D>�UR5 [TU]	U5 grH)r|rrIrJs  �r%rI�#_BaseWaitHandleFuture.set_exception�s�������
���i�(r'c�D>�UR5 [TU]	U5 grH)r|rrMrNs  �r%rM� _BaseWaitHandleFuture.set_result�s�������
���6�"r')r^r!r`r_rH)rRrSrTrUrVrrjr-rsr|r:rIrMrWrXrYs@r%r[r[as;���<�8<� � �'�
��
'�0'�)�#�#r'r[c�R^�\rSrSrSrSS.U4SjjrSrU4SjrU4SjrS	r	U=r
$)
�_WaitCancelFuture�zgSubclass of Future which represents a wait for the cancellation of a
_WaitHandleFuture using an event.
Nrc�0>�[TU]XX4S9 SUlg)Nr)rr�_done_callback)r"r#�eventrbrr$s     �r%r�_WaitCancelFuture.__init__�s���
����K��;�"��r'c��[S5e)Nz'_WaitCancelFuture must not be cancelled)�RuntimeErrorris r%r:�_WaitCancelFuture.cancel�s���D�E�Er'c�b>�[TU]U5 URbURU5 ggrH)rrMr�rNs  �r%rM�_WaitCancelFuture.set_result�s/���
���6�"����*�����%�+r'c�b>�[TU]U5 URbURU5 ggrH)rrIr�rJs  �r%rI�_WaitCancelFuture.set_exception�s/���
���i�(����*�����%�+r')r�)rRrSrTrUrVrr:rMrIrWrXrYs@r%r�r��s,����8<�#�#�
F�&�
&�&r'r�c�B^�\rSrSrSS.U4SjjrU4SjrSrSrU=r$)�_WaitHandleFuture��Nrc�>�[TU]XX5S9 X@lSUl[R
"SSSS5UlSUlg)NrTF)rr�	_proactor�_unregister_proactorrw�CreateEvent�_event�
_event_fut)r"r#rarb�proactorrr$s      �r%r�_WaitHandleFuture.__init__�sA���
����[��<�!��$(��!�!�-�-�d�D�%��F�����r'c��>�URb.[R"UR5 SUlSUlURRUR5 SUl[TU]!U5 grH)	r�rf�CloseHandler�r��_unregisterr!rrs)r"rrr$s  �r%rs�%_WaitHandleFuture._unregister_wait_cb�sY����;�;�"�������,��D�K�"�D�O�	
���"�"�4�8�8�,����
��#�C�(r'c��UR(dgSUlURnSUl[R"XR5 URRURUR5Ulg![
annUR[R:waFSUUS.nUR(aURUS'URRU5 SnAgSnAN�SnAff=frv)r`r_rw�UnregisterWaitExr�r;ryrzr r<r=r��_wait_cancelrsr�r{s    r%r|�"_WaitHandleFuture._unregister_wait�s������� ����'�'�� ���	��(�(��k�k�B��.�.�5�5�d�k�k�6:�6N�6N�P�����
	��|�|�{�;�;�;�E�!$�"���
�)�)�26�2H�2H�G�.�/��
�
�1�1�'�:��<��
	�s� B�
C<�AC7�7C<)r�r�r�r`r�r_)	rRrSrTrUrrsr|rWrXrYs@r%r�r��s!���BF���)�$P�Pr'r�c�:�\rSrSrSrSrSrSrSrSr	\	r
Srg	)
�
PipeServer�zPClass representing a pipe server.

This is much like a bound, listening socket.
c��Xl[R"5UlSUlSUlUR
S5Ulg�NT)�_address�weakref�WeakSet�_free_instances�_pipe�_accept_pipe_future�_server_pipe_handle)r"r/s  r%r�PipeServer.__init__�s9���
�&���0�����
�#'�� ��-�-�d�3��
r'c�J�URURS5solU$)NF)r�r�)r"�tmps  r%�_get_unconnected_pipe� PipeServer._get_unconnected_pipes#��
�*�*�d�&>�&>�u�&E���Z��
r'c
�D�UR5(ag[R[R-nU(aU[R-n[R
"URU[R[R-[R-[R[R[R[R[R5n[R"U5nUR R#U5 U$rH)�closedrf�PIPE_ACCESS_DUPLEX�FILE_FLAG_OVERLAPPED�FILE_FLAG_FIRST_PIPE_INSTANCE�CreateNamedPiper��PIPE_TYPE_MESSAGE�PIPE_READMODE_MESSAGE�	PIPE_WAIT�PIPE_UNLIMITED_INSTANCESr
�BUFSIZE�NMPWAIT_WAIT_FOREVER�NULL�
PipeHandler��add)r"�first�flags�h�pipes     r%r��PipeServer._server_pipe_handles����;�;�=�=���*�*�W�-I�-I�I����W�:�:�:�E��#�#��M�M�5��%�%��(E�(E�E����
��,�,��!�!�=�#8�#8��(�(�'�,�,�

8���'�'��*����� � ��&��r'c��URSL$rH)r�ris r%r��PipeServer.closed s���
�
��%�&r'c��URb!URR5 SUlURbLURHnUR	5 M SUlSUlURR
5 ggrH)r�r:r�r��closer��clear)r"r�s  r%r��PipeServer.close#sp���#�#�/��$�$�+�+�-�'+�D�$��=�=�$��,�,���
�
��-��D�J� �D�M�� � �&�&�(�%r')r�r�r�r�N)rRrSrTrUrVrr�r�r�r��__del__rW�r'r%r�r��s'���4���$'�
)��Gr'r�c��\rSrSrSrSrg)�_WindowsSelectorEventLoopi2z'Windows version of selector event loop.r�N)rRrSrTrUrVrWr�r'r%r�r�2s��1r'r�c�`^�\rSrSrSrS
U4SjjrU4SjrU4SjrSrSr	S
Sjr
S	rU=r$)ri6z2Windows version of proactor event loop using IOCP.c�>>�Uc
[5n[TU]	U5 grH)rrr)r"r�r$s  �r%r�ProactorEventLoop.__init__9s�����#�~�H�
����"r'c�v>�URbeURUR5 [TU]5 grH)�_self_reading_future�	call_soon�_loop_self_readingr�_run_forever_setup)r"r$s �r%r��$ProactorEventLoop._run_forever_setup>s2����(�(�0�0�0����t�.�.�/�
��"�$r'c�
>�[TU]5 URbgURRnURR	5 Ub,UR
(dURRU5 SUlggrH)r�_run_forever_cleanupr�r!r:r)r�r�)r"r#r$s  �r%r��&ProactorEventLoop._run_forever_cleanupCsi���
��$�&��$�$�0��*�*�.�.�B��%�%�,�,�.��~�b�j�j����*�*�2�.�(,�D�%�1r'c��# �URRU5nUIShv�NnU"5nURXESU0S9nXe4$N 7f)N�addr��extra)r��connect_pipe�_make_duplex_pipe_transport)r"�protocol_factoryr/�fr��protocol�transs       r%�create_pipe_connection�(ProactorEventLoop.create_pipe_connectionRsU����N�N�'�'��0���w��#�%���0�0��8>��7H�1�J�����	�s�!A�A�!Ac��j^^^^^# �[T5mSUUUUU4SjjmTRT5 T/$7f)Nc�>�SnU(ajUR5nTRRU5 TR5(aUR	5 gT"5nTRXST0S9 TR
5nUcgTRRU5nUTl	URT5 g![a? U(a$UR5S:waUR	5 TRT5 g[a�nU(a:UR5S:wa&TRSUUS.5 UR	5 O'TR (a["R$"SUSS9 TRT5 SnAgSnAf[&R(a U(aUR	5 ggf=f)	Nr�r�rzPipe accept failed)r6r7r�zAccept pipe failed on pipe %rT)�exc_info)rOr��discardr�r�r�r�r��accept_piper��add_done_callback�BrokenPipeError�filenor�r;r=�_debugr�warningr	�CancelledError)	r�r�r�r>r/�loop_accept_piper�r"�servers	    �����r%r��>ProactorEventLoop.start_serving_pipe.<locals>.loop_accept_pipe]st����D�)
6���8�8�:�D��*�*�2�2�4�8��}�}����
�
���/�1�H��4�4��v�w�.?�5�A��3�3�5���<���N�N�.�.�t�4��*./��*��#�#�$4�5��+#�
1��D�K�K�M�R�/��J�J�L����/�0��
1��D�K�K�M�R�/��/�/�#7�%(� $�1��
�J�J�L��[�[��N�N�#B�#'�$�8����/�0�0���,�,�
!���J�J�L��
!�s2�AB>�,B>�
B>�>AG�	G�A9F
�
.G�?GrH)r�r�)r"r�r/r�r�s```@@r%�start_serving_pipe�$ProactorEventLoop.start_serving_pipeZs1�����G�$��+	6�+	6�Z	
���'�(��x��s�,3c	
��# �UR5n
[XX#XEXg4X�S.U	D6nU
IShv�N U$N![[4a e[a+ UR5 UR
5IShv�N ef=f7f)N)�waiterr�)�
create_future�_WindowsSubprocessTransport�
SystemExit�KeyboardInterrupt�
BaseExceptionr��_wait)r"r��args�shell�stdin�stdout�stderr�bufsizer��kwargsr��transps            r%�_make_subprocess_transport�,ProactorEventLoop._make_subprocess_transport�s�����#�#�%��,�T�T�-2�F�7�4:�7�06�7��	��L�L��
�
���-�.�	���	��L�L�N��,�,�.� � ��	�s1�"A;�3�1�3�A;�3�=A8�0A3�1A8�8A;)r�rH)
rRrSrTrUrVrr�r�r�r�rrWrXrYs@r%rr6s/���<�#�
%�

-��1�j04��r'rc�
�\rSrSrSr\4SjrSrSrSr	S#Sjr
S	r\S
5r
\S5rS$SjrS$S
jrS$SjrS$SjrS%SjrS$SjrSrSrSrSrSrS#SjrSrSrSrSrSr Sr!S#Sjr"Sr#S r$S!r%S"r&g)&ri�z#Proactor implementation using IOCP.c��SUl/Ul[R"[R[
SU5Ul0Ul[R"5Ul
/Ul[R"5Ulgre)
r<�_resultsrw�CreateIoCompletionPort�INVALID_HANDLE_VALUEr��_iocp�_cacher�r�r`�
_unregistered�_stopped_serving)r"�concurrencys  r%r�IocpProactor.__init__�s_����
���
� �7�7��,�,�d�A�{�D��
����"�?�?�,������ '��� 1��r'c�4�URc[S5eg)NzIocpProactor is closed)rr�ris r%�
_check_closed�IocpProactor._check_closed�s���:�:���7�8�8�r'c��S[UR5-S[UR5-/nURcUR	S5 SUR
R<SSRU5<S3$)Nzoverlapped#=%sz
result#=%sr��<� r,)�lenrrrror$rR�join)r"r1s  r%�__repr__�IocpProactor.__repr__�s_�� �3�t�{�{�#3�3��s�4�=�=�1�1�3���:�:���K�K��!�� �N�N�3�3�S�X�X�d�^�D�Dr'c��XlgrH)r<)r"rs  r%�set_loop�IocpProactor.set_loop�s���
r'Nc��UR(dURU5 URn/UlUSn$!Snf=frH)rrj)r"�timeoutr�s   r%�select�IocpProactor.select�s:���}�}��J�J�w���m�m����
�	���C��$�C�s�;�?c�\�URR5nURU5 U$rH)r<r�rM)r"�valuerrs   r%�_result�IocpProactor._result�s%���j�j�&�&�(�����u���
r'c���UR5$![aFnUR[R[R
4;a[
UR6eeSnAff=frH)�	getresultr;ryrw�ERROR_NETNAME_DELETED�ERROR_OPERATION_ABORTED�ConnectionResetErrorr)r��keyr#r>s    r%�finish_socket_func�IocpProactor.finish_socket_func�sY��	��<�<�>�!���	��|�|�� A� A� +� C� C� E�E�*�C�H�H�5�5���	�s��
A"�AA�A"c��URXU5$![a-nUR[R:Xa	US4sSnA$eSnAff=frH)r4r;ryrw�ERROR_PORT_UNREACHABLE)�clsr�r3r#�empty_resultr>s      r%�_finish_recvfrom�IocpProactor._finish_recvfrom�sL��	��)�)�%�b�9�9���	��|�|�{�A�A�A�#�T�)�)���
	�s��
A�!A�A�A�Ac��URU5 [R"[5n[	U[
R
5(a!UR
UR5X#5 O!URUR5U5 URXAUR5$![a URS5s$f=f)Nr')
�_register_with_iocprw�
Overlappedr��
isinstance�socket�WSARecvr��ReadFiler�r,�	_registerr4�r"�conn�nbytesr�r#s     r%�recv�IocpProactor.recv�s���� � ��&�
�
#�
#�D�
)��	%��$��
�
�.�.��
�
�4�;�;�=�&�8����D�K�K�M�6�2��~�~�b��(?�(?�@�@���	%��<�<��$�$�	%���?B*�- B*�*C�Cc��URU5 [R"[5n[	U[
R
5(a!UR
UR5X#5 O!URUR5U5 URXAUR5$![a URS5s$f=fre)
r=rwr>r�r?r@�WSARecvIntor��ReadFileIntor�r,rCr4�r"rE�bufr�r#s     r%�	recv_into�IocpProactor.recv_into�s���� � ��&�
�
#�
#�D�
)��	#��$��
�
�.�.����t�{�{�}�c�9�������
�s�3��~�~�b��(?�(?�@�@���	#��<�<��?�"�	#�rIc	�$�URU5 [R"[5nUR	UR5X#5 URXA[URSS95$![a URS5s$f=f)N)r'Nr'�r9)r=rwr>r��WSARecvFromr�r�r,rCrr:rDs     r%�recvfrom�IocpProactor.recvfrom�s���� � ��&�
�
#�
#�D�
)��	-��N�N�4�;�;�=�&�8��~�~�b���0E�0E�=@�)B�C�	C���	-��<�<��,�,�	-��� A1�1B�Bc	�$�URU5 [R"[5nUR	UR5X#5 URXA[URSS95$![a URS5s$f=f)N�rNrrR)r=rwr>r��WSARecvFromIntor�r�r,rCrr:rMs     r%�
recvfrom_into�IocpProactor.recvfrom_intos���� � ��&�
�
#�
#�D�
)��	+����t�{�{�}�c�9��~�~�b���0E�0E�=>�)@�A�	A���	+��<�<�	�*�*�	+�rVc���URU5 [R"[5nUR	UR5X#U5 UR
XQUR5$rH)r=rwr>r��	WSASendTor�rCr4)r"rErNr�r�r#s      r%�sendto�IocpProactor.sendtosM��� � ��&�
�
#�
#�D�
)��
���T�[�[�]�C��5��~�~�b��(?�(?�@�@r'c�P�URU5 [R"[5n[	U[
R
5(a!UR
UR5X#5 O URUR5U5 URXAUR5$rH)r=rwr>r�r?r@�WSASendr��	WriteFilerCr4rMs     r%�send�IocpProactor.sendsp��� � ��&�
�
#�
#�D�
)���d�F�M�M�*�*��J�J�t�{�{�}�c�1��L�L������,��~�~�b��(?�(?�@�@r'c�z^^�URT5 URTR5m[R"[
5nUR
TR5TR55 UU4SjnSnURUTU5nU"UT5n[R"X`RS9 U$)Nc�.>�UR5 [R"STR55nTR	[
R[RU5 TRTR55 TTR54$)Nz@P)r/�struct�packr��
setsockoptr@�
SOL_SOCKETrw�SO_UPDATE_ACCEPT_CONTEXT�
settimeout�
gettimeout�getpeername)r�r3r#rNrE�listeners    ��r%�
finish_accept�*IocpProactor.accept.<locals>.finish_accept+sl����L�L�N��+�+�d�H�O�O�$5�6�C��O�O�F�-�-�'�@�@�#�
G��O�O�H�/�/�1�2���)�)�+�+�+r'c��x# �UIShv�N gN![Ra UR5 ef=f7frH)r	r�r�)r8rEs  r%�accept_coro�(IocpProactor.accept.<locals>.accept_coro4s1���
������,�,�
��
�
���
�s �:����:��&7�:r)r=�_get_accept_socket�familyrwr>r��AcceptExr�rCr�
ensure_futurer<)r"ror#rprsr8�cororEs `     @r%�accept�IocpProactor.accept%s����� � ��*��&�&�x���7��
�
#�
#�D�
)��
���H�O�O�%�t�{�{�}�5�	,�	�����H�m�<���6�4�(��
���D�z�z�2��
r'c�^�TR[R:XaR[R"TR5U5 URR5nURS5 U$URT5 [R"TR5TR5 [R""[$5nUR'TR5U5 U4SjnUR)UTU5$![aAnUR[R:waeTR!5SS:XaeSnAN�SnAff=f)Nrrc�>�UR5 TR[R[R
S5 T$re)r/rir@rjrw�SO_UPDATE_CONNECT_CONTEXT)r�r3r#rEs   �r%�finish_connect�,IocpProactor.connect.<locals>.finish_connectWs1����L�L�N��O�O�F�-�-�'�A�A�1�
F��Kr')�typer@�
SOCK_DGRAMrw�
WSAConnectr�r<r�rMr=�	BindLocalrvr;ry�errno�	WSAEINVAL�getsocknamer>r��	ConnectExrC)r"rEr/rr�er#rs `     r%�connect�IocpProactor.connectAs����9�9��)�)�)�
�"�"�4�;�;�=�'�:��*�*�*�*�,�C��N�N�4� ��J�� � ��&�	��!�!�$�+�+�-����=��
#�
#�D�
)��
���T�[�[�]�G�,�	��~�~�b�$��7�7��!�	��z�z�U�_�_�,�����!�!�$��)��*��		�s�/D�
E�7E�Ec	�6�URU5 [R"[5nUS-nUS-	S-nUR	UR5[R"UR55XgUSS5 URXQUR5$)Nl��� r)
r=rwr>r��TransmitFiler��msvcrt�
get_osfhandlerCr4)r"�sock�file�offset�countr#�
offset_low�offset_highs        r%�sendfile�IocpProactor.sendfile`s���� � ��&�
�
#�
#�D�
)���k�)�
���|�{�2��
������
��,�,�T�[�[�]�;�"��q�!�	%�
�~�~�b��(?�(?�@�@r'c�^�URT5 [R"[5nUR	TR55nU(aUR
T5$U4SjnURUTU5$)Nc�(>�UR5 T$rH)r/)r�r3r#r�s   �r%�finish_accept_pipe�4IocpProactor.accept_pipe.<locals>.finish_accept_pipews����L�L�N��Kr')r=rwr>r��ConnectNamedPiper�r,rC)r"r�r#�	connectedr�s `   r%r��IocpProactor.accept_pipelsf���� � ��&�
�
#�
#�D�
)���'�'����
�6�	���<�<��%�%�	��~�~�b�$�(:�;�;r'c��H# �[n[R"U5n[R"U5$![a)nUR[R
:waeSnAOSnAff=f[
US-[5n[R"U5IShv�N M�7f)N�)�CONNECT_PIPE_INIT_DELAYrw�ConnectPiper;ry�ERROR_PIPE_BUSY�min�CONNECT_PIPE_MAX_DELAYr�sleepr
r�)r"r/�delayrar>s     r%r��IocpProactor.connect_pipe}s����'���
�$�0�0��9����'�'��/�/���
��<�<�;�#>�#>�>��?��
��
���	�#9�:�E��+�+�e�$�$�$��s7�B"�8�B"�
A+�A&�!B"�&A+�+/B"�B�B"c�&�URXS5$)z�Wait for a handle.

Return a Future object. The result of the future is True if the wait
completed, or False if the wait did not complete (on timeout).
F)�_wait_for_handle)r"rar's   r%�wait_for_handle�IocpProactor.wait_for_handle�s���$�$�V�e�<�<r'c�8�URUSS5nX#lU$r�)r�r�)r"r��
done_callbackrrs    r%r��IocpProactor._wait_cancel�s#���#�#�E�4��6��+���
r'c��^�UR5 Uc[RnO[R"US-5n[
R"[5n[
R"XRURU5nU(a[XQX`RS9mO[XQX`URS9mTR(a
TRS	U4SjnTUSU4URUR'T$)N�@�@rrc�$>�TR5$rH)rj)r�r3r#r�s   �r%�finish_wait_for_handle�=IocpProactor._wait_for_handle.<locals>.finish_wait_for_handle�s����7�7�9�r'r)rrf�INFINITE�math�ceilrwr>r��RegisterWaitWithQueuerr/r�r<r�r r)	r"rar'�
_is_cancel�msr#rbr�r�s	        @r%r��IocpProactor._wait_for_handle�s���������?��!�!�B����7�S�=�)�B��
#�
#�D�
)��!�7�7��J�J��
�
�B�0���!�"�k�
�
�K�A�!�"�k�'+�z�z�3�A�����#�#�B�'�	�$%�b�!�-C�"D����B�J�J���r'c��XR;aMURRU5 [R"UR	5UR
SS5 ggre)r`r�rwrr�r�r"�objs  r%r=� IocpProactor._register_with_iocp�sG���&�&�&���� � ��%��.�.�s�z�z�|�T�Z�Z��A�N�'r'c�h�UR5 [XRS9nUR(a
URS	UR(dU"SSU5nURU5 XAX#4URUR'U$![anURU5 SnAN=SnAff=fr)
rrr<r r)rMr;rIrr/)r"r#r��callbackr�r+r�s       r%rC�IocpProactor._register�s�������

�b�z�z�2������#�#�B�'��z�z�

$� ��t�R�0�����U�#�$%�#�"8����B�J�J������
#�����"�"��
#�s�
B�
B1�B,�,B1c�Z�UR5 URRU5 g)z�Unregister an overlapped object.

Call this method when its future has been cancelled. The event can
already be signalled (pending in the proactor event queue). It is also
safe if the event is never signalled (because it was cancelled).
N)rrro)r"r#s  r%r��IocpProactor._unregister�s$��	
�������!�!�"�%r'c�T�[R"U5nURS5 U$re)r@rl)r"rv�ss   r%ru�IocpProactor._get_accept_socket�s ���M�M�&�!��	���Q���r'c	�H�Uc[nO?US:a[S5e[R"US-5nU[:�a[S5e[R
"URU5nUcO�SnUupEpgURRU5up�p�X�R ;aUR#5 OMUR%5(d8U"XVU	5nUR'U5 UR(R+U5 SnM�UR0H)n	URRU	R2S5 M+ UR0R55 g![as URR5(a#URRSSXEXg4-S.5 US[R4;a[R"U5 GM�f=f![,a7n
UR/U
5 UR(R+U5 Sn
A
GNSn
A
ff=f!Snf=f)Nrznegative timeoutr�ztimeout too bigz8GetQueuedCompletionStatus() returned an unexpected eventz)err=%s transferred=%s key=%#x address=%#x)r6�status)r��
ValueErrorr�r�rw�GetQueuedCompletionStatusrr�pop�KeyErrorr<�	get_debugr=rrfr�rr:�donerMrror;rIrr/r�)r"r'r�r��err�transferredr3r/r�r#r�r�r+r�s              r%rj�IocpProactor._poll�s����?��B�
�q�[��/�0�0����7�S�=�)�B��X�~� �!2�3�3�� �:�:�4�:�:�r�J�F��~���B�-3�*�C�c�
�'+�{�{���w�'?�$��s� �+�+�+����
��V�V�X�X�	�$�[�r�:�E�
�L�L��'��M�M�(�(��+��A�M�R�$�$�B��K�K�O�O�B�J�J��-�%���� � �"��E�

��:�:�'�'�)�)��J�J�5�5�%7�#N�&)��%E�$F�7���q�+�"B�"B�C�C��'�'��,��

��,�,��O�O�A�&��M�M�(�(��+�+��,���A�sC�8E�	G�,H�A8G�G�
H�#,H�H�H�H�H!c�:�URRU5 grH)rr�r�s  r%�
_stop_serving�IocpProactor._stop_serving3s��	
���!�!�#�&r'c��URcg[URR55HEupp4UR	5(aM[U[5(aM4UR5 MG Sn[R"5nX�-n	UR(a�U	[R"5::aF[R"SU[R"5U-
5 [R"5U-n	UR!U5 UR(aM�/Ul[$R&"UR5 SUlg![aanURbHSUUS.nUR(aURUS'URRU5 SnAGM�SnAGM�SnAff=f)NzCancelling a future failedr5r9g�?z,%r is running after closing for %.1f seconds)r�listr�values�	cancelledr?r�r:r;r<r r=�time�	monotonicr�debugrjrrfr�)
r"rrr#r�r�r>r?�
msg_update�
start_time�next_msgs
          r%r��IocpProactor.close9sc���:�:���'+�4�;�;�+=�+=�+?�&@�"�C�S��}�}�����C�!2�3�3��C��J�J�L�'A�0�
��^�^�%�
��*���k�k��4�>�>�+�+����K�!�4�>�>�#3�j�#@�B��>�>�+�j�8��
�J�J�z�"��k�k�k���
����D�J�J�'���
��;�	C��z�z�-�'C�),�&)�#��
�0�0�:=�:O�:O�G�$6�7��
�
�9�9�'�B�B�.��	C�s�'E�
G�#AF?�?Gc�$�UR5 grH)r�ris r%r��IocpProactor.__del__hs���
�
�r')rrr<r`rrrrH)rrX)'rRrSrTrUrVr�rrr!r$r(r,�staticmethodr4�classmethodr:rGrOrTrZr^rcrzr�r�r�r�r�r�r�r=rCr�rurjr�r�r�rWr�r'r%rr�s���-�#+�2�9�E��	��
�����	��	�A�A�	C�	A�A�A��88�>
A�<�"0�&=�� �DO��@&��
7#�r'�-�^r'rc��\rSrSrSrSrg)r�ilc	�^�[R"U4X#XEUS.UD6TlU4SjnTRRR[
TRR55n	U	RU5 g)N)rrrrr	c�\>�TRR5nTRU5 grH)�_proc�poll�_process_exited)r��
returncoder"s  �r%r��4_WindowsSubprocessTransport._start.<locals>.callbackss!��������*�J�� � ��,r')	r
�Popenr�r<r�r��intr^r�)
r"rrrrrr	r
r�r�s
`         r%�_start�"_WindowsSubprocessTransport._startnsk���"�(�(��'��6��'�%�'��
�	-�
�J�J� � �0�0��T�Z�Z�5G�5G�1H�I��	���H�%r')r�N)rRrSrTrUr�rWr�r'r%r�r�ls��
&r'r�c��\rSrSr\rSrg)ri~r�N)rRrSrTrUr�
_loop_factoryrWr�r'r%rr~���%�Mr'rc��\rSrSr\rSrg)ri�r�N)rRrSrTrUrr�rWr�r'r%rr�r�r'r)5rV�sys�platform�ImportErrorrwrfr��	functoolsrr�r�r@rgr�r��rrrr	r
rrr
�logr�__all__r�r��ERROR_CONNECTION_REFUSED�ERROR_CONNECTION_ABORTEDr�r��Futurerr[r�r��objectr��BaseSelectorEventLoopr��BaseProactorEventLooprr�BaseSubprocessTransportr�r�BaseDefaultEventLoopPolicyrrrrr�r'r%�<module>rsa��4�
��<�<�7��
�l�
#�#������
�
�
���������������|�|���������� ����-����-�`G#�G�N�N�G#�T&�-�&�01P�-�1P�h8��8�v2�� E� E�2�h��=�=�h�VH�H�V&�/�"I�"I�&�.��&�V�%F�%F�&�&�V�%F�%F�&�8���	r'

?>