ó
    &ÝNj(0  ã                  óÆ  • S SK Jr  S SKrS SKrS SKrS SKJr  S SKJr  S SK	J
r
JrJrJrJrJrJrJr  S SKJrJrJr  S SKJr  S SKJr  S	S
KJrJr  Sr\
(       a  S SKJ r   \RB                  S:¼  a  S SK	J"r"  OS SK#J"r"   " S S\"5      r$\\\4   r%\\%\\%   \\%S4   4   r&\\$\RN                  4   r(\S\\   4   r)\ " S S5      5       r* " S S5      r+SS jr, " S S5      r-g)é    )ÚannotationsN)Úabstractmethod)Ú	dataclass)ÚTYPE_CHECKINGÚAnyÚ	AwaitableÚCallableÚ	GeneratorÚListÚTupleÚUnion)ÚClientResponseÚClientSessionÚhdrs)ÚStrOrURL)ÚURLé   )ÚExponentialRetryÚRetryOptionsBaseiô  )ÚTracebackType)é   é   )ÚProtocolc                  óT   • \ rS rSrSr\SS j5       r\SS j5       r\SS j5       rSr	g)	Ú_Loggeré$   z8_Logger defines which methods logger object should have.c                ó   • g ©N© ©ÚselfÚmsgÚargsÚkwargss       ÚQ/home/mande/repo/quber/.venv/lib/python3.13/site-packages/aiohttp_retry/client.pyÚdebugÚ_Logger.debug'   ó   € àó    c                ó   • g r   r   r    s       r%   ÚwarningÚ_Logger.warning+   r(   r)   c                ó   • g r   r   r    s       r%   Ú	exceptionÚ_Logger.exception/   r(   r)   r   N)r"   Ústrr#   r   r$   r   ÚreturnÚNone)
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r&   r+   r.   Ú__static_attributes__r   r)   r%   r   r   $   s?   † ÙBàóó ðð óó ðð óó ór)   r   .c                  óT   • \ rS rSr% S\S'   S\S'   SrS\S'   SrS\S	'   SrS\S
'   Srg)ÚRequestParamsé<   r0   ÚmethodÚ_RAW_URL_TYPEÚurlNzdict[str, Any] | NoneÚheadersÚtrace_request_ctxr$   r   )	r3   r4   r5   r6   Ú__annotations__r?   r@   r$   r8   r   r)   r%   r:   r:   <   s/   ‡ àƒKØ	ÓØ%)€GÐ"Ó)Ø/3ÐÐ,Ó3Ø$(€FÐ!Ö(r)   r:   c                  ó|   • \ rS rSr S
           SS jjrSS jrSS jrSS jrSS jr        SS jr	Sr
g	)Ú_RequestContextéE   c                óp   • [        U5      S:”  d   eXl        X l        X0l        X@l        XPl        S U l        g )Nr   )ÚlenÚ_request_funcÚ_params_listÚ_loggerÚ_retry_optionsÚ_raise_for_statusÚ	_response)r!   Úrequest_funcÚparams_listÚloggerÚretry_optionsÚraise_for_statuss         r%   Ú__init__Ú_RequestContext.__init__F   s;   € ô �;Ó !Ó#Ð#Ð#à)ÔØ'ÔØŒØ+ÔØ!1Ôà04ˆ�r)   c              ƒ  óÈ  #   • XR                   R                  :X  a  gUR                  R                  5       U R                   R                  ;  a  gUR
                  [        :¼  a  U R                   R                  (       a  gUR
                  U R                   R                  ;   a  gU R                   R                  c  gU R                   R                  U5      I S h  v•N $  N7f)NTF)
rJ   Úattemptsr<   ÚupperÚmethodsÚstatusÚ_MIN_SERVER_ERROR_STATUSÚretry_all_server_errorsÚstatusesÚevaluate_response_callback)r!   Úcurrent_attemptÚresponses      r%   Ú_is_skip_retryÚ_RequestContext._is_skip_retryX   s©   é € Ø×1Ñ1×:Ñ:Ó:Øà�?‰?× Ñ Ó"¨$×*=Ñ*=×*EÑ*EÓEØà�?‰?Ô6Ó6¸4×;NÑ;N×;f×;fØà�?‰?˜d×1Ñ1×:Ñ:Ó:Øà×Ñ×9Ñ9ÑAØà×(Ñ(×CÑCÀHÓM×MÐMÑMùs   ‚CC"ÃC ÃC"c              ƒ  ó@  ^#   • Sn U R                   R                  SUS-    SU R                  R                   35        US-  n  U R                  US-
     nU R                  " UR                  UR                  4UR                  SU0UR                  =(       d    0 ES.UR                  =(       d    0 D6I S h  v•N nSUR                   3nU R                  X5      I S h  v•N nU(       a3  U R                  (       a  UR                  5         X0l        U R                   $ U R                  R#                  XS	9nU R                   R                  U5        [*        R,                  " U5      I S h  v•N   GMo  ! [
         a    U R                  S   n GN:f = f NÛ Nµ! [$         au  mXR                  R                  :¼  a  e ['        U4S
 jU R                  R(                   5       5      nU(       d  e ST< 3nU R                  R#                  US S	9n S m@NÚS m@ff = f N­7f)Nr   zAttempt r   z out of éÿÿÿÿr]   )r?   r@   zRetrying after response code: )Úattemptr^   c              3  ó<   >#   • U  H  n[        TU5      v •  M     g 7fr   )Ú
isinstance)Ú.0ÚexcÚes     €r%   Ú	<genexpr>Ú._RequestContext._do_request.<locals>.<genexpr>�   s   øé € Ð"`ÒA_¸#¤:¨a°×#5Ð#5ÒA_ùs   ƒzRetrying after exception: )rI   r&   rJ   rU   rH   Ú
IndexErrorrG   r<   r>   r?   r@   r$   rX   r_   rK   rQ   rL   Úget_timeoutÚ	ExceptionÚanyÚ
exceptionsÚasyncioÚsleep)	r!   r]   Úparamsr^   Údebug_messageÚ
skip_retryÚ
retry_waitÚis_exc_validrh   s	           @r%   Ú_do_requestÚ_RequestContext._do_requestj   s  øé € ØˆàØ�L‰L×Ñ ¨/¸!Ñ*;Ð)<¸HÀT×EXÑEX×EaÑEaÐDbÐcÔdà˜qÑ ˆOð$eð3Ø!×.Ñ.¨ÀÑ/BÑC�Fð 26×1CÒ1CØ—M‘MØ—J‘Jð	2ð #ŸN™Nà)¨?ð'à!×3Ñ3×9°rð'ñ		2ð —}‘}×*¨ñ	2÷ 	,�ð #AÀÇÁÐ@QÐ R�Ø#'×#6Ñ#6°Ó#Q×Q�
æØ×-×-Ø ×1Ñ1Ô3Ø%-”NØŸ>™>Ð)Ø!×0Ñ0×<Ñ<À_Ð<Ðh�
ð �L‰L×Ñ˜}Ô-Ü—-’- 
Ó+×+Ð+òW øô "ó 3Ø!×.Ñ.¨rÑ2“Fð3úñ	,ñ Røô ó 	eØ"×&9Ñ&9×&BÑ&BÓBØä"Ô"`À×ATÑAT×A_ÒA_Ó"`Ó`�Þ#Øà"<¸Q¹EÐ B�Ø!×0Ñ0×<Ñ<À_Ð_cÐ<Ðd•
ûð	eúñ ,ùs†   ƒAHÁE6 ÁA"F Â:FÂ;'F Ã"FÃ#=F Ä HÄ!F Ä:4HÅ.HÅ/HÅ6FÆF ÆFÆF ÆF Æ
HÆ$A+HÈHÈHÈHc                ó>   • U R                  5       R                  5       $ r   )Ú
__aenter__Ú	__await__©r!   s    r%   r{   Ú_RequestContext.__await__š   s   € Ø�‰Ó ×*Ñ*Ó,Ð,r)   c              ƒ  ó>   #   • U R                  5       I S h  v•N $  N7fr   )rw   r|   s    r%   rz   Ú_RequestContext.__aenter__�   s   é € Ø×%Ñ%Ó'×'Ð'Ñ'ùs   ‚–—c              ƒ  ó”   #   • U R                   b7  U R                   R                  (       d  U R                   R                  5         g g g 7fr   )rL   ÚclosedÚclose©r!   Úexc_typeÚexc_valÚexc_tbs       r%   Ú	__aexit__Ú_RequestContext.__aexit__    s6   é € ð �>‰>Ñ%¨d¯n©n×.C×.CØ�N‰N× Ñ Õ"ð /DÐ%ùs   ‚AA)rI   rH   rK   rG   rL   rJ   N)F)rM   ÚRequestFuncrN   úlist[RequestParams]rO   Ú_LoggerTyperP   r   rQ   Úboolr1   r2   )r]   Úintr^   r   r1   rŒ   )r1   r   )r1   z$Generator[Any, None, ClientResponse]©r„   ztype[BaseException] | Noner…   zBaseException | Noner†   zTracebackType | Noner1   r2   )r3   r4   r5   r6   rR   r_   rw   r{   rz   r‡   r8   r   r)   r%   rC   rC   E   s‡   † ð "'ð5à!ð5ð )ð5ð ð	5ð
 (ð5ð ð5ð 
õ5ô$Nô$.,ô`-ô(ð#à,ð#ð &ð#ð %ð	#ð
 
÷#r)   rC   c                ó  • [        U [        [        45      (       a  U 4$ [        U [        5      (       a  [	        U 5      nO%[        U [        5      (       a  U nOSn[        U5      e[        U5      S:X  a  Sn[        U5      eU$ )Nz*you can pass url only by str or list/tupler   z>you can pass url by str or list/tuple with attempts count size)re   r0   ÚYARL_URLÚlistÚtupleÚ
ValueErrorrF   )r>   Úurlsr"   s      r%   Ú_url_to_urlsr•   ª   sp   € Ü�#œœX�×'Ñ'Øˆvˆä�#”t×ÑÜ�S‹z‰Ü	�Cœ×	Ñ	Ø‰à:ˆÜ˜‹oÐä
ˆ4ƒy�Aƒ~ØNˆÜ˜‹oÐà€Kr)   c                  ó  • \ rS rSr    S             SS jjr\SS j5       r  S       SS jjr  S           SS jjr  S         SS jjr	  S         SS jjr
  S         SS	 jjr  S         SS
 jjr  S         SS jjr  S         SS jjr  S         SS jjrSS jr  S           SS jjr  S       SS jjrSS jr        SS jrSS jrSrg) ÚRetryClienté½   Nc                óÊ   • Ub  UnS nO[        U0 UD6nSnXpl        X€l        U=(       d    [        R                  " S5      U l        U=(       d
    [        5       U l        X@l        g )NFÚaiohttp_retry)	r   Ú_clientÚ_closedÚloggingÚ	getLoggerrI   r   rJ   rK   )	r!   Úclient_sessionrO   rP   rQ   r#   r$   Úclientr�   s	            r%   rR   ÚRetryClient.__init__¾   s`   € ð Ñ%Ø#ˆFØ‰Fä" DÐ3¨FÑ3ˆFØˆFàŒØŒà$*×$P¬g×.?Ò.?ÀÓ.PˆŒØ0=×0SÔAQÓASˆÔØ!1Õr)   c                ó   • U R                   $ r   )rJ   r|   s    r%   rP   ÚRetryClient.retry_optionsÕ   s   € à×"Ñ"Ð"r)   c                ó$   • U R                  UUUS9$ )N©rN   rP   rQ   )Ú_make_requests©r!   rN   rP   rQ   s       r%   ÚrequestsÚRetryClient.requestsÙ   s%   € ð ×"Ñ"Ø#Ø'Ø-ð #ð 
ð 	
r)   c                ó0   • U R                   " SUUUUS.UD6$ ©N)r<   r>   rP   rQ   r   )Ú_make_request)r!   r<   r>   rP   rQ   r$   s         r%   ÚrequestÚRetryClient.requestå   s2   € ð ×!Ò!ð 
ØØØ'Ø-ñ	
ð
 ñ
ð 	
r)   c                óL   • U R                   " S[        R                  UUUS.UD6$ r«   )r¬   r   ÚMETH_GET©r!   r>   rP   rQ   r$   s        r%   ÚgetÚRetryClient.getõ   ó6   € ð ×!Ò!ð 
Ü—=‘=ØØ'Ø-ñ	
ð
 ñ
ð 	
r)   c                óL   • U R                   " S[        R                  UUUS.UD6$ r«   )r¬   r   ÚMETH_OPTIONSr±   s        r%   ÚoptionsÚRetryClient.options  s8   € ð ×!Ò!ð 
Ü×$Ñ$ØØ'Ø-ñ	
ð
 ñ
ð 	
r)   c                óL   • U R                   " S[        R                  UUUS.UD6$ r«   )r¬   r   Ú	METH_HEADr±   s        r%   ÚheadÚRetryClient.head  ó6   € ð ×!Ò!ð 
Ü—>‘>ØØ'Ø-ñ	
ð
 ñ
ð 	
r)   c                óL   • U R                   " S[        R                  UUUS.UD6$ r«   )r¬   r   Ú	METH_POSTr±   s        r%   ÚpostÚRetryClient.post"  r½   r)   c                óL   • U R                   " S[        R                  UUUS.UD6$ r«   )r¬   r   ÚMETH_PUTr±   s        r%   ÚputÚRetryClient.put1  r´   r)   c                óL   • U R                   " S[        R                  UUUS.UD6$ r«   )r¬   r   Ú
METH_PATCHr±   s        r%   ÚpatchÚRetryClient.patch@  s6   € ð ×!Ò!ð 
Ü—?‘?ØØ'Ø-ñ	
ð
 ñ
ð 	
r)   c                óL   • U R                   " S[        R                  UUUS.UD6$ r«   )r¬   r   ÚMETH_DELETEr±   s        r%   ÚdeleteÚRetryClient.deleteO  s8   € ð ×!Ò!ð 
Ü×#Ñ#ØØ'Ø-ñ	
ð
 ñ
ð 	
r)   c              ƒ  ób   #   • U R                   R                  5       I S h  v•N   SU l        g  N7f)NT)r›   r‚   rœ   r|   s    r%   r‚   ÚRetryClient.close^  s'   é € Ø�l‰l× Ñ Ó"×"Ð"Øˆ�ñ 	#ùs   ‚/ -¡/c                ó¾   • [        U5      nU Vs/ s H0  n[        UUUR                  S0 5      UR                  SS 5      US9PM2     nnU R                  UUUS9$ s  snf )Nr?   r@   )r<   r>   r?   r@   r$   r¥   )r•   r:   Úpopr¦   )r!   r<   r>   rP   rQ   r$   Úurl_listrN   s           r%   r¬   ÚRetryClient._make_requestb  s‡   € ô   Ó$ˆñ  ó	
ò  �ô ØØØŸ
™
 9¨bÓ1Ø"(§*¡*Ð-@À$Ó"GØôñ  ð 	ð 	
ð ×"Ñ"Ø#Ø'Ø-ð #ð 
ð 	
ùò	
s   �7Ac                ó”   • Uc  U R                   nUc  U R                  n[        U R                  R                  UU R
                  UUS9$ )N)rM   rN   rO   rP   rQ   )rJ   rK   rC   r›   r­   rI   r§   s       r%   r¦   ÚRetryClient._make_requests|  sQ   € ð Ñ Ø ×/Ñ/ˆMØÑ#Ø#×5Ñ5ÐÜØŸ™×-Ñ-Ø#Ø—<‘<Ø'Ø-ñ
ð 	
r)   c              ƒ  ó   #   • U $ 7fr   r   r|   s    r%   rz   ÚRetryClient.__aenter__Ž  s
   é € Øˆùs   ‚c              ƒ  ó@   #   • U R                  5       I S h  v•N   g  N7fr   )r‚   rƒ   s       r%   r‡   ÚRetryClient.__aexit__‘  s   é € ð �j‰j‹l×Óùs   ‚–—c                ó|   • [        U SS 5      c  g U R                  (       d  U R                  R                  S5        g g )Nrœ   z#Aiohttp retry client was not closed)Úgetattrrœ   rI   r+   r|   s    r%   Ú__del__ÚRetryClient.__del__™  s3   € Ü�4˜ DÓ)Ñ1àà�|�|Ø�L‰L× Ñ Ð!FÕGð r)   )r›   rœ   rI   rK   rJ   )NNNF)rŸ   zClientSession | NonerO   z_LoggerType | NonerP   úRetryOptionsBase | NonerQ   rŒ   r#   r   r$   r   r1   r2   )r1   r   )NN)rN   rŠ   rP   rÞ   rQ   úbool | Noner1   rC   )r<   r0   r>   r   rP   rÞ   rQ   rß   r$   r   r1   rC   )
r>   Ú	_URL_TYPErP   rÞ   rQ   rß   r$   r   r1   rC   )r1   r2   )r<   r0   r>   rà   rP   rÞ   rQ   rß   r$   r   r1   rC   )r1   r—   rŽ   )r3   r4   r5   r6   rR   ÚpropertyrP   r¨   r­   r²   r·   r»   rÀ   rÄ   rÈ   rÌ   r‚   r¬   r¦   rz   r‡   rÜ   r8   r   r)   r%   r—   r—   ½   sG  † ð 04Ø%)Ø15Ø!&ð2à,ð2ð #ð2ð /ð	2ð
 ð2ð ð2ð ð2ð 
õ2ð. ó#ó ð#ð 26Ø(,ð	

à(ð

ð /ð

ð &ð	

ð
 
õ

ð  26Ø(,ð
àð
ð ð
ð /ð	
ð
 &ð
ð ð
ð 
õ
ð& 26Ø(,ð	
àð
ð /ð
ð &ð	
ð
 ð
ð 
õ
ð$ 26Ø(,ð	
àð
ð /ð
ð &ð	
ð
 ð
ð 
õ
ð$ 26Ø(,ð	
àð
ð /ð
ð &ð	
ð
 ð
ð 
õ
ð$ 26Ø(,ð	
àð
ð /ð
ð &ð	
ð
 ð
ð 
õ
ð$ 26Ø(,ð	
àð
ð /ð
ð &ð	
ð
 ð
ð 
õ
ð$ 26Ø(,ð	
àð
ð /ð
ð &ð	
ð
 ð
ð 
õ
ð$ 26Ø(,ð	
àð
ð /ð
ð &ð	
ð
 ð
ð 
õ
ôð 26Ø(,ð
àð
ð ð
ð /ð	
ð
 &ð
ð ð
ð 
õ
ð: 26Ø(,ð	
à(ð
ð /ð
ð &ð	
ð
 
õ
ô$ðà,ðð &ðð %ð	ð
 
ô÷Hr)   r—   )r>   rà   r1   ztuple[StrOrURL, ...]).Ú
__future__r   rp   r�   ÚsysÚabcr   Údataclassesr   Útypingr   r   r   r	   r
   r   r   r   Úaiohttpr   r   r   Úaiohttp.typedefsr   Úyarlr   r�   rP   r   r   rY   Útypesr   Úversion_infor   Útyping_extensionsr   r=   rà   ÚLoggerr‹   r‰   r:   rC   r•   r—   r   r)   r%   Ú<module>rî      sô   ðÝ "ã Û Û 
Ý Ý !÷	÷ 	ó 	÷ 8Ñ 7Ý %Ý  ç =àÐ æÝ#à×Ñ�vÓÞå*ôˆhô ð" �h Ð(Ñ)€Ø�-  mÑ!4°e¸MÈ3Ð<NÑ6OÐOÑP€	Ø�G˜WŸ^™^Ð+Ñ,€à�s˜I nÑ5Ð5Ñ6€ð ÷)ð )ó ð)÷b#ñ b#ôJ÷&bHò bHr)   