+
    ×åºiS  ã                  ó4   € ^ RI Ht ^ RItR.t ! R R4      tR# )é    )ÚannotationsNÚDeadlinec                  ó:   € ] tR t^	tRtR R ltRR/R R lltRtR	# )
r   z|
Manage timeouts across multiple steps.

Args:
    timeout: Time available in seconds or :obj:`None` if there is no limit.

c               ó    € V ^8„  d   QhRRRR/# )é   Útimeoutúfloat | NoneÚreturnÚNone© )Úformats   "Úh/Users/igloo/.openclaw/workspace/scratch/fb_ad_env/lib/python3.14/site-packages/websockets/sync/utils.pyÚ__annotate__ÚDeadline.__annotate__   s   € ÷ 7ñ 7 ð 7°ñ 7ó    c                	óf   € V  Vf
   R V n         R # \        P                  ! 4       V,           V n         R # )N)ÚdeadlineÚtimeÚ	monotonic)Úselfr   s   &&r   Ú__init__ÚDeadline.__init__   s$   € ÙØŠ?Ø ˆDŽMä ŸNšNÓ,¨wÕ6ˆDŽMr   Úraise_if_elapsedTc               ó    € V ^8„  d   QhRRRR/# )r   r   Úboolr
   r	   r   )r   s   "r   r   r      s   € ÷ ñ ¨4ð ¸<ñ r   c               ó¦   € V P                   f   R# V P                   \        P                  ! 4       ,
          pV'       d   V^ 8:  d   \        R4      hV# )a  
Calculate a timeout from a deadline.

Args:
    raise_if_elapsed: Whether to raise :exc:`TimeoutError`
        if the deadline lapsed.

Raises:
    TimeoutError: If the deadline lapsed.

Returns:
    Time left in seconds or :obj:`None` if there is no limit.

Nz	timed out)r   r   r   ÚTimeoutError)r   r   r   s   &$ r   r   ÚDeadline.timeout   s?   € ð =‰=Ò ÙØ—-‘-¤$§.¢.Ó"2Õ2ˆß ¨1¤Ü˜{Ó+Ð+Øˆr   )r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   Ú__static_attributes__r   r   r   r   r   	   s   † ñõ7ð°$÷ ó r   )Ú
__future__r   r   Ú__all__r   r   r   r   Ú<module>r'      s   ðÝ "ã ð ˆ,€÷$ó $r   