+
    ‡åºiü  ã                   ó|   € ^ RI t ^ RIt^ RIt^ RIHt ^tRtRtRt  ! R R4      t	 ! R R	]	4      t
 ! R
 R]	4      tR# )é    N)Ú
exceptionsg      ð?gš™™™™™¹?g       @c                   ób   a € ] tR t^*t o Rt]]]]3R lt	]
R 4       t]
R 4       tR tR tRtV tR# )	Ú_BaseExponentialBackoffa¨  An exponential backoff iterator base class.

Args:
    total_attempts Optional[int]:
        The maximum amount of retries that should happen.
        The default value is 3 attempts.
    initial_wait_seconds Optional[int]:
        The amount of time to sleep in the first backoff. This parameter
        should be in seconds.
        The default value is 1 second.
    randomization_factor Optional[float]:
        The amount of jitter that should be in each backoff. For example,
        a value of 0.1 will introduce a jitter range of 10% to the
        current backoff period.
        The default value is 0.1.
    multiplier Optional[float]:
        The backoff multipler. This adjusts how much each backoff will
        increase. For example a value of 2.0 leads to a 200% backoff
        on each attempt. If the initial_wait is 1.0 it would look like
        this sequence [1.0, 2.0, 4.0, 8.0].
        The default value is 2.0.
c                ó¦   € V^8  d   \         P                  ! RV 24      hWn        W n        V P                  V n        W0n        W@n        ^ V n        R# )é   z:total_attempts must be greater than or equal to 1 but was N)r   ÚInvalidValueÚ_total_attemptsÚ_initial_wait_secondsÚ_current_wait_in_secondsÚ_randomization_factorÚ_multiplierÚ_backoff_count)ÚselfÚtotal_attemptsÚinitial_wait_secondsÚrandomization_factorÚ
multipliers   &&&&&Ús/Users/igloo/.openclaw/workspace/scratch/fb_ad_env/lib/python3.14/site-packages/google/auth/_exponential_backoff.pyÚ__init__Ú _BaseExponentialBackoff.__init__B   sZ   € ð ˜AÔÜ×)Ò)ØLÈ^ÐL\Ð]óð ð  .ÔØ%9Ô"à(,×(BÑ(BˆÔ%à%9Ô"Ø%ÔØˆÖó    c                ó   € V P                   # )z7The total amount of backoff attempts that will be made.)r	   ©r   s   &r   r   Ú&_BaseExponentialBackoff.total_attemptsW   s   € ð ×#Ñ#Ð#r   c                ó   € V P                   # )z;The current amount of backoff attempts that have been made.)r   r   s   &r   Úbackoff_countÚ%_BaseExponentialBackoff.backoff_count\   s   € ð ×"Ñ"Ð"r   c                ó6   € ^ V n         V P                  V n        R# )r   N)r   r
   r   r   s   &r   Ú_resetÚ_BaseExponentialBackoff._reseta   s   € ØˆÔØ(,×(BÑ(BˆÖ%r   c                ó²   € V P                   V P                  ,          p\        P                  ! V P                   V,
          V P                   V,           4      pV# ©N)r   r   ÚrandomÚuniform)r   Újitter_varianceÚjitters   &  r   Ú_calculate_jitterÚ)_BaseExponentialBackoff._calculate_jittere   sI   € Ø×7Ñ7¸$×:TÑ:TÕTˆÜ—’Ø×)Ñ)¨OÕ;Ø×)Ñ)¨OÕ;ó
ˆð
 ˆr   )r   r   r
   r   r   r	   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú_DEFAULT_RETRY_TOTAL_ATTEMPTSÚ!_DEFAULT_INITIAL_INTERVAL_SECONDSÚ_DEFAULT_RANDOMIZATION_FACTORÚ_DEFAULT_MULTIPLIERr   Úpropertyr   r   r   r'   Ú__static_attributes__Ú__classdictcell__)Ú__classdict__s   @r   r   r   *   sU   ø‡ € ñð2 5Ø>Ø:Ø&ô ð* ñ$ó ð$ð ñ#ó ð#òC÷ð r   r   c                   óB   a a€ ] tR t^ot oRtV 3R ltR tR tRtVt	V ;t
# )ÚExponentialBackoffznAn exponential backoff iterator. This can be used in a for loop to
perform requests with exponential backoff.
c                ó0   <€ \         \        V `
  ! V/ VB  R # r"   )Úsuperr7   r   ©r   ÚargsÚkwargsÚ	__class__s   &*,€r   r   ÚExponentialBackoff.__init__t   s   ø€ ÜÔ  $Ò0°$ÐA¸&ÔAr   c                ó&   € V P                  4        V # r"   ©r   r   s   &r   Ú__iter__ÚExponentialBackoff.__iter__w   ó   € Ø‰ŒØˆr   c                óZ  € V P                   V P                  8¼  d   \        hV ;P                   ^,          un         V P                   ^8:  d   V P                   # V P                  4       p\        P
                  ! V4       V ;P                  V P                  ,          un        V P                   # )r   )r   r	   ÚStopIterationr'   ÚtimeÚsleepr   r   ©r   r&   s   & r   Ú__next__ÚExponentialBackoff.__next__{   s„   € Ø×Ñ $×"6Ñ"6Ô6ÜÐØ×Ò˜qÕ Õà×Ñ !Ô#Ø×&Ñ&Ð&à×'Ñ'Ó)ˆä
Š
6Ôà×%Ò%¨×)9Ñ)9Õ9Õ%Ø×"Ñ"Ð"r   © )r)   r*   r+   r,   r-   r   rA   rI   r3   r4   Ú__classcell__©r=   r5   s   @@r   r7   r7   o   s   ù‡ € ñõBò÷#ò #r   r7   c                   óB   a a€ ] tR t^‹t oRtV 3R ltR tR tRtVt	V ;t
# )ÚAsyncExponentialBackoffzzAn async exponential backoff iterator. This can be used in a for loop to
perform async requests with exponential backoff.
c                ó0   <€ \         \        V `
  ! V/ VB  R # r"   )r9   rO   r   r:   s   &*,€r   r   Ú AsyncExponentialBackoff.__init__   s   ø€ ÜÔ% tÒ5°tÐF¸vÔFr   c                ó&   € V P                  4        V # r"   r@   r   s   &r   Ú	__aiter__Ú!AsyncExponentialBackoff.__aiter__“   rC   r   c              ƒ  óv  "  € V P                   V P                  8¼  d   \        hV ;P                   ^,          un         V P                   ^8:  d   V P                   # V P                  4       p\        P
                  ! V4      G Rj  x€L
  V ;P                  V P                  ,          un        V P                   #  L35i)r   N)r   r	   ÚStopAsyncIterationr'   ÚasynciorG   r   r   rH   s   & r   Ú	__anext__Ú!AsyncExponentialBackoff.__anext__—   s’   é € Ø×Ñ $×"6Ñ"6Ô6Ü$Ð$Ø×Ò˜qÕ Õà×Ñ !Ô#Ø×&Ñ&Ð&à×'Ñ'Ó)ˆämŠm˜FÓ#×#Ð#à×%Ò%¨×)9Ñ)9Õ9Õ%Ø×"Ñ"Ð"ñ 	$ùs   ‚BB9ÂB7Â4B9rK   )r)   r*   r+   r,   r-   r   rS   rX   r3   r4   rL   rM   s   @@r   rO   rO   ‹   s   ù‡ € ñõGò÷#ò #r   rO   )rW   r#   rF   Úgoogle.authr   r.   r/   r0   r1   r   r7   rO   rK   r   r   Ú<module>r[      s_   ðó Û Û å "ð !"Ð ð %(Ð !ð !$Ð ð Ð ð÷Bñ BôJ#Ð0ô #ô8#Ð5ö #r   