
    g                         d Z ddlZddlZddlZddlmZ ddlZ G d d      Z G d d      Z G d d	      Z	 G d
 de
      Z G d de
      Zde	fdZde	fdZ	 	 	 	 ddZ	 	 	 	 ddZy)zACode generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.    N)Listc                   N    e Zd ZU eed<   eed<   eed<   eed<   dedededefdZy)BackoffStrategyinitial_intervalmax_intervalexponentmax_elapsed_timec                 <    || _         || _        || _        || _        y N)r   r   r   r	   )selfr   r   r   r	   s        R/var/www/openai/venv/lib/python3.12/site-packages/mistralai_azure/utils/retries.py__init__zBackoffStrategy.__init__   s#     !1(  0    N)__name__
__module____qualname__int__annotations__floatr    r   r   r   r      sD    O
1
1 
1 	
1
 
1r   r   c                   @    e Zd ZU eed<   eed<   eed<   dededefdZy)RetryConfigstrategybackoffretry_connection_errorsc                 .    || _         || _        || _        y r   )r   r   r   )r   r   r   r   s       r   r   zRetryConfig.__init__#   s     !'>$r   N)r   r   r   strr   r   boolr   r   r   r   r   r      s0    M!!??&5?PT?r   r   c                   >    e Zd ZU eed<   ee   ed<   dedee   fdZy)Retriesconfigstatus_codesc                      || _         || _        y r   )r!   r"   )r   r!   r"   s      r   r   zRetries.__init__/   s    (r   N)r   r   r   r   r   r   r   r   r   r   r   r    r    +   s)    s)){ )$s) )r   r    c                   L    e Zd ZU ej                  ed<   dej                  fdZy)TemporaryErrorresponsec                     || _         y r   )r&   )r   r&   s     r   r   zTemporaryError.__init__7   s	     r   N)r   r   r   httpxResponser   r   r   r   r   r%   r%   4   s    nn! !r   r%   c                   $    e Zd ZU eed<   defdZy)PermanentErrorinnerc                     || _         y r   )r,   )r   r,   s     r   r   zPermanentError.__init__>   s	    
r   N)r   r   r   	Exceptionr   r   r   r   r   r+   r+   ;   s    i r   r+   retriesc                     j                   j                  dk(  rdt        j                  f fd}t	        |j                   j
                  j                  j                   j
                  j                  j                   j
                  j                  j                   j
                  j                        S          S )Nr   returnc                  L   	         } j                   D ]r  }d|j                         v r9t        |d         }| j                  dz  }||cxk  r|dz   k  sAt	        |        Nt        |      }| j                  |k(  sit	        |        	 | S # t
        j                  $ r(}j                  j                  r t        |      |d }~wt
        j                  $ r(}j                  j                  r t        |      |d }~wt        $ r  t        $ r}t        |      |d }~ww xY wNXr   d      r"   upperr   status_coder%   r(   ConnectErrorr!   r   r+   TimeoutExceptionr.   rescode
code_rangestatus_majorparsed_code	exceptionfuncr/   s         r   
do_requestzretry.<locals>.do_requestE   s   ?f#00Ddjjl*%(a\
'*'<%F
QF"0"55 G '*$i??k9"0"55 18 J %% ?>>99$Y/Y>)) ?>>99$Y/Y>!  ?$Y/Y>?s<   AB 'B ?B D#!#CD##C==D#DD#)
r!   r   r(   r)   retry_with_backoffr   r   r   r   r	   rC   r/   rD   s   `` r   retryrG   B   s    ~~)+!	ENN !	F "NN""33NN""//NN""++NN""33
 	
 6Mr   c                    K   j                   j                  dk(  rdt        j                  f fd}t	        |j                   j
                  j                  j                   j
                  j                  j                   j
                  j                  j                   j
                  j                         d {   S           d {   S 7 7 w)Nr   r1   c                  h  K   	          d {   } j                   D ]r  }d|j                         v r9t        |d         }| j                  dz  }||cxk  r|dz   k  sAt	        |        Nt        |      }| j                  |k(  sit	        |        	 | S 7 # t
        j                  $ r(}j                  j                  r t        |      |d }~wt
        j                  $ r(}j                  j                  r t        |      |d }~wt        $ r  t        $ r}t        |      |d }~ww xY wwr3   r7   r<   s         r   rD   zretry_async.<locals>.do_requestv   s    ? Fl#00Ddjjl*%(a\
'*'<%F
QF"0"55 G '*$i??k9"0"55 18 J= # %% ?>>99$Y/Y>)) ?>>99$Y/Y>!  ?$Y/Y>?s]   D2
B BAB !'B 	B D2B D/-#CD/&#D		D/D**D//D2)
r!   r   r(   r)   retry_with_backoff_asyncr   r   r   r   r	   rF   s   `` r   retry_asyncrK   s   s     ~~)+!	%.. !	F .NN""33NN""//NN""++NN""33
 
 	
 <
 s$   B;C?C CCCCc                    t        t        j                         dz        }d}	 	  |        S # t        $ r}|j                  d }~wt        $ r}t        t        j                         dz        }||z
  |kD  r"t        |t              r|j                  cY d }~S  |dz  ||z  z  t        j                  dd      z   }	t        |	|dz        }	t        j                  |	       |dz  }Y d }~nd }~ww xY w̩Ni  r   r6   )roundtimer+   r,   r.   
isinstancer%   r&   randomuniformminsleep
rC   r   r   r   r	   startr/   rB   nowrT   s
             r   rE   rE      s     $))+$%EG
	6M 	"//! 
			d*+CU{--i8$---%,'0AAFNNSTVWDXXE|d23EJJuqLG
	 s.   , 	C,AC,AC'C,AC''C,c                   K   t        t        j                         dz        }d}	 	  |         d {   S 7 # t        $ r}|j                  d }~wt        $ r}t        t        j                         dz        }||z
  |kD  r"t        |t              r|j                  cY d }~S  |dz  ||z  z  t        j                  dd      z   }	t        |	|dz        }	t        j                  |	       d {  7   |dz  }Y d }~nd }~ww xY w߭wrM   )rN   rO   r+   r,   r.   rP   r%   r&   rQ   rR   rS   asynciorT   rU   s
             r   rJ   rJ      s      $))+$%EG
	<< 	"//! 
			d*+CU{--i8$---%,'0AAFNNSTVWDXXE|d23E--&&&qLG
	 sc   $D
8 68 D8 	DADAC<DD"A
C<,C/-
C<7D<DD)i  i`  g      ?i6 )__doc__rY   rQ   rO   typingr   r(   r   r   r    r.   r%   r+   rG   rK   rE   rJ   r   r   r   <module>r\      s    G     1 1&
? 
?) )!Y !Y . .b.W .f < r   