Ë
    dQêj�  ã                   óJ  — d dl Z d dlmZ d dlmZmZmZ  ed¬«       G d„ d«      «       Z edd	d
d¬«      Z edd	dd¬«      Z	 edddd¬«      Z
	 	 ddedee   defd„Zd dedefd„Zdedefd„Zdedefd„Zdedefd„Zdedee   fd„Zdedededeg ef   deeeef   f
d„Zy)!é    N)Ú	dataclass)ÚAnyÚCallableÚOptionalT)Úfrozenc                   óR   — e Zd ZU dZeed<   eed<   eed<   dZeed<   dZeed<   d„ Z	y	)
ÚBackoffaÜ  Retry backoff parameters.

    This maps 1:1 to ``k8s.io/apimachinery/pkg/util/wait.Backoff`` for the
    fields used by client-go retry helpers. ``steps`` is the maximum number of
    times the operation is called, including the first call. ``duration`` is
    the first delay in seconds, ``factor`` is multiplied into the next delay
    after every failed attempt, and ``jitter`` adds up to that fraction of the
    current delay. ``cap`` limits increased delay values.
    ÚstepsÚdurationÚfactorç        ÚjitterÚcapc                 ó  — | j                   dk  rt        d«      ‚| j                  dk  rt        d«      ‚| j                  dk  rt        d«      ‚| j                  dk  rt        d«      ‚| j
                  dk  rt        d«      ‚y )Né   zsteps must be at least 1r   zduration must be non-negativezfactor must be non-negativezjitter must be non-negativezcap must be non-negative)r
   Ú
ValueErrorr   r   r   r   )Úselfs    úe/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/kubernetes/aio/utils/_retry_base.pyÚ__post_init__zBackoff.__post_init__-   s{   € Ø�:‰:˜Š>ÜÐ7Ó8Ð8Ø�=‰=˜1ÒÜÐ<Ó=Ð=Ø�;‰;˜Š?ÜÐ:Ó;Ð;Ø�;‰;˜Š?ÜÐ:Ó;Ð;Ø�8‰8�aŠ<ÜÐ7Ó8Ð8ð ó    N)
Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚintÚ__annotations__Úfloatr   r   r   © r   r   r	   r	      s1   … ñð ƒJØƒOØƒMØ€FˆEÓØ€CˆÓó
9r   r	   é   g{®Gáz„?g      @gš™™™™™¹?)r
   r   r   r   é   g      ð?é   r   ÚretriesÚbackoffÚreturnc                 ó¢   — |€t         }| €|S t        t        | «      dz   |j                  |j                  |j
                  |j                  ¬«      S )a  Return the client-go REST Retry-After backoff for ``retries``.

    ``backoff`` supplies the retry delay parameters. If ``retries`` is not
    ``None``, it is interpreted as the retry ceiling and overrides
    ``backoff.steps``. ``False`` and ``0`` disable retries by returning a
    single-attempt backoff. Integer values and urllib3-style Retry objects with
    a ``total`` value are treated as retry ceilings. aiohttp-retry-style
    options with an ``attempts`` value are treated as request attempt ceilings.
    r   )r
   r   r   r   r   )ÚDEFAULT_RETRY_AFTER_BACKOFFr	   Úretry_after_max_retriesr   r   r   r   )r"   r#   s     r   Úretry_after_backoffr(   F   sP   € ð €Ü-ˆØ€ØˆäÜ% gÓ.°Ñ2Ø×!Ñ!Ø�~‰~Ø�~‰~Ø�K‰Kôð r   c                 óD  — | €y| du ry| du ryt        | t        «      rt        d| «      S t        | d«      r5t	        | dd«      }|du ry|du s|€yt        |t        «      rt        d|«      S t	        | dd«      }|du ry|du ryt        |t        «      rt        d|dz
  «      S y)	z4Return the client-go REST Retry-After retry ceiling.Né
   Fr   TÚtotalÚattemptsr   )Ú
isinstancer   ÚmaxÚhasattrÚgetattr)r"   r+   r,   s      r   r'   r'   b   s¿   € ð €ØØ�%ÑØØ�$�ØÜ�'œ3ÔÜ�1�g‹Ðäˆw˜Ô Ü˜ ¨$Ó/ˆØ�E‰>ØØ�D‰=˜E˜MØÜ�eœSÔ!Ü�q˜%“=Ð ä�w 
¨DÓ1€HØ�5ÑØØ�4ÑØÜ�(œCÔ Ü�1�h ‘lÓ#Ð#Ør   Úerrorc                 ó"   — t        | dd«      dk(  S )zBReturn True if ``error`` represents an HTTP 409 Conflict response.ÚstatusNi™  ©r0   ©r1   s    r   Úis_conflictr6   �   ó   € ô �5˜( DÓ)¨SÑ0Ð0r   c                 ó"   — t        | dd«      dk(  S )z?Return True if ``error`` represents HTTP 429 Too Many Requests.r3   Né­  r4   r5   s    r   Úis_too_many_requestsr:   ‡   r7   r   c                 óP   — t        | dd«      }|dk7  r|�|dk  ryt        | «      duS )z=Return True if ``error`` should be retried after Retry-After.r3   Nr9   iô  F)r0   Úretry_after_seconds)r1   r3   s     r   Úis_retry_after_responser=   �   s6   € ô �U˜H dÓ+€FØ�‚}˜&˜.¨F°SªLØÜ˜uÓ%¨TÐ1Ð1r   c                 ó  — t        | dd«      xs i }d}|j                  «       D ]  \  }}|j                  «       dk(  sŒ|} n |€yt        |«      j	                  «       }t        j                  d|«      syt        t        |«      «      S )zÛReturn the Retry-After delay in seconds, if ``error`` provides one.

    client-go accepts integer seconds. Invalid, missing, or negative values
    return ``None`` so callers can fall back to their normal backoff.
    ÚheadersNzretry-afterz^[0-9]+$)	r0   ÚitemsÚlowerÚstrÚstripÚreÚmatchr   r   )r1   r?   ÚvalueÚkeyÚheader_values        r   r<   r<   –   sˆ   € ô �e˜Y¨Ó-Ò3°€GØ€EØ$Ÿ]™]›_ò Ñˆˆ\Ø�9‰9‹;˜-Ó'Ø ˆEÙðð €}Øä�‹J×ÑÓ€EÜ�8‰8�K Ô'ØÜ”�U“ÓÐr   r
   r   Úrandom_funcc                 ó   — | dz  } |j                   dk(  r|}n;||j                   z  }|j                  dkD  r||j                  kD  r|j                  }d} |}|j                  r| |«       |j                  z  |z  z  }||| fS )Nr   r   )r   r   r   )r
   r   r#   rI   Únext_durationÚdelays         r   Ú_delayrM   ¬   sƒ   € ð 
ˆQ�J€EØ‡~�~˜ÒØ ‰à  7§>¡>Ñ1ˆØ�;‰;˜Š?˜}¨w¯{©{Ò:Ø#ŸK™KˆMØˆEØ€EØ‡~‚~Ø‘“ §¡Ñ/°%Ñ7Ñ7ˆØ�- Ð&Ð&r   )NN)N)rD   Údataclassesr   Útypingr   r   r   r	   ÚDEFAULT_BACKOFFÚDEFAULT_RETRYr&   r(   r   r'   Ú	ExceptionÚboolr6   r:   r=   r   r<   ÚtuplerM   r   r   r   ú<module>rU      sB  ðó 
Ý !ß *Ñ *ñ �$Ô÷9ð 9ó ð9ñ>  ¨D¸ÀSÔI€ñ ˜a¨$°sÀ3ÔG€ñ &Ø
�s 3¨sô4Ð ð
 Ø!%ñØðà�gÑðð óñ8 Sð °Có ð>1�yð 1 Tó 1ð1 	ð 1¨dó 1ð2 9ð 2°ó 2ð˜yð ¨X°e©_ó ð,'Øð'àð'ð ð'ð ˜"˜e˜)Ñ$ð	'ð
 ˆ5�%˜ÐÑô'r   