r4i5@ddlZddlmZmZddlmZGddeZy)N)ABCMetaabstractmethod) timedeltac*eZdZdZdZedZdZy) BaseTriggerzQAbstract base class that defines the interface that every trigger must implement.cy)a  Returns the next datetime to fire on, If no such datetime can be calculated, returns ``None``. :param datetime.datetime previous_fire_time: the previous time the trigger was fired :param datetime.datetime now: current datetime Nr)selfprevious_fire_timenows e/mnt/ssd/data/python-lab/DaemonControl/venv/lib/python3.12/site-packages/apscheduler/triggers/base.pyget_next_fire_timezBaseTrigger.get_next_fire_time scT||s|S|ttjd|zS)a Randomize ``next_fire_time`` by adding a random value (the jitter). :param datetime.datetime|None next_fire_time: next fire time without jitter applied. If ``None``, returns ``None``. :param int|None jitter: maximum number of seconds to add to ``next_fire_time`` (if ``None`` or ``0``, returns ``next_fire_time``) :param datetime.datetime now: current datetime :return datetime.datetime|None: next fire time with a jitter. r)seconds)rrandomuniform)r next_fire_timejitterr s r _apply_jitterzBaseTrigger._apply_jitters-  !! ! &..F2K LLLrN)__name__ __module__ __qualname____doc__ __slots__rrrrrr rrs"[I  Mrr) metaclass)rabcrrdatetimerrrrr rs 'MGMr