Ë
    _§1h!  ã                  óT   — d dl mZ d dlZd dlZddlmZmZmZmZm	Z	m
Z
mZ dd„Zdd„Zy)	é    )ÚannotationsNé   )ÚCDataÚ
ErrorCodesÚ_handleÚffiÚhandle_arrayÚkernel32Úraise_winerrorc           	   ƒ  ót  K  — t        | «      }t        j                  |d«      }|t        j                  k(  rt        «        n|t        j                  k7  ryt        j                  t        j                  ddt        j                  «      }	 t        j                  j                  t        ||dt        j                  t        j                   «      ¬«      ƒ d{  –—†  t        j"                  |«       t        j$                  |«       y7 Œ/# t        j"                  |«       t        j$                  |«       w xY w­w)zÝAsync and cancellable variant of WaitForSingleObject. Windows only.

    Args:
      handle: A Win32 handle, as a Python integer.

    Raises:
      OSError: If the handle is invalid, e.g. when it is already closed.

    r   NTF)Úabandon_on_cancelÚlimiter)r   r
   ÚWaitForSingleObjectr   ÚWAIT_FAILEDr   ÚWAIT_TIMEOUTÚCreateEventAr   ÚNULLÚtrioÚ	to_threadÚrun_syncÚWaitForMultipleObjects_syncÚCapacityLimiterÚmathÚinfÚSetEventÚCloseHandle)ÚobjÚhandleÚretcodeÚcancel_handles       úS/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/trio/_wait_for_object.pyr   r      sð   è ø€ ô �S‹\€Fô
 ×*Ñ*¨6°1Ó5€GØ”*×(Ñ(Ò(ÜÕØ	”J×+Ñ+Ò	+Øô ×)Ñ)¬#¯(©(°D¸%ÄÇÁÓJ€Mð,Ü�n‰n×%Ñ%Ü'ØØØ"Ü×(Ñ(¬¯©Ó2ð &ó 
÷ 	
ð 	
ô 	×Ñ˜-Ô(Ü×Ñ˜]Õ+ð	
ùô 	×Ñ˜-Ô(Ü×Ñ˜]Õ+üs1   ‚BD8ÂAD	 ÃDÃD	 Ã+D8ÄD	 Ä	,D5Ä5D8c                 óÐ   — t        | «      }t        |«      }t        |«      D ]
  }| |   ||<   Œ d}t        j                  ||d|«      }|t
        j                  k(  rt        «        yy)z9Wait for any of the given Windows handles to be signaled.l   ÿÿ FN)Úlenr	   Úranger
   ÚWaitForMultipleObjectsr   r   r   )ÚhandlesÚnÚ
handle_arrÚiÚtimeoutr   s         r!   r   r   :   sh   € äˆG‹€AÜ˜a“€JÜ�1‹Xò #ˆØ ™
ˆ
�1Šð#à€GÜ×-Ñ-¨a°¸UÀGÓL€GØ”*×(Ñ(Ò(ÜÕð )ó    )r   úint | CDataÚreturnÚNone)r&   r,   r-   r.   )Ú
__future__r   r   r   Ú_core._windows_cffir   r   r   r   r	   r
   r   r   r   © r+   r!   ú<module>r2      s(   ðÝ "ã ã ÷÷ ñ ó%,ôP	r+   