
    MiT                        S r SSKrSSKrSSKrSSKJr  SSKJrJrJ	r	J
r
JrJrJr  SSKrSSKrSSKJr  SSKJr  SSKJr  SSKJrJr  SS	KJr  SS
KJr  SSKJr  SSK J!r!  SSK"J#r#J$r$J%r%J&r&  SSK'J(r(  SSK)J*r*J+r+  SSK,J-r-J.r.J/r/J0r0J1r1  \" 5       r2\" 5       r3\" SS9r4\" 5       r5 S6S\(S\	\6\4   S\6S\7S\74
S jjr8\.    S7S\
S   S\
S   S\6S\
S   S\\	\6\64      S \\	\6\64      S!\\	\6\64      S\*4S" jj5       r9\.    S7S\
S   S\
S   S\6S\
S   S\\	\6\64      S \\	\6\64      S!\\	\6\64      S\\*\\\\*4   4   4S# jj5       r:\.    S7S$\6S\
S   S\\	\6\64      S \\	\6\64      S!\\	\6\64      S\*4S% jj5       r; S8S$\6S\(S&\\7\Rx                  4   S'\=S(\&S)\>S\
S   4S* jjr?\.    S7S$\6S\
S   S\\	\6\64      S \\	\6\64      S!\\	\6\64      S\\*\\\\*4   4   4S+ jj5       r@\.      S9S,\\6   S-\\A   S\
S.   S\\	\6\64      S \\	\6\64      S!\\	\6\64      4S/ jj5       rB\.     S:S,\\6   S-\\A   S\
S.   S \\	\6\64      S!\\	\6\64      4
S0 jj5       rC    S7S$\6S\
S.   S\\	\6\64      S \\	\6\64      S!\\	\6\64      S\#4S1 jjrD    S7S$\6S\
S.   S\\	\6\64      S \\	\6\64      S!\\	\6\64      S\\#\\\\#4   4   4S2 jjrE S;S$\6S3\6SS44S5 jjrFg)<z
Main File for Batches API implementation

https://platform.openai.com/docs/api-reference/batch

- create_batch()
- retrieve_batch()
- cancel_batch()
- list_batch()

    N)partial)Any	CoroutineDictLiteralOptionalUnioncast)verbose_logger)Logging)AzureBatchesAPI)AsyncHTTPHandlerHTTPHandler)BaseLLMHTTPHandler)OpenAIBatchesAPI)VertexAIBatchPrediction)get_secret_str)BatchCancelBatchRequestCreateBatchRequestRetrieveBatchRequest)GenericLiteLLMParams)LiteLLMBatchLlmProviders)ProviderConfigManagerclientget_litellm_paramsget_llm_providersupports_httpx_timeout )gcs_bucket_nameoptional_paramskwargscustom_llm_providerdefault_timeoutreturnc                 f   U R                   =(       d    UR                  SU5      =(       d    Un[        U[        R                  5      (       aL  [        U5      SL a   UR                  =(       d    Un[        U5      $ [        UR                  =(       d    U5      $ Uc  [        U5      $ [        U5      $ )ay  
Resolve timeout value from various sources and handle httpx.Timeout objects.

Args:
    optional_params: GenericLiteLLMParams object containing timeout
    kwargs: Additional kwargs that may contain request_timeout
    custom_llm_provider: Provider name for httpx timeout support check
    default_timeout: Default timeout value to use

Returns:
    Resolved timeout as float
request_timeoutF)timeoutget
isinstancehttpxTimeoutr   readfloat)r"   r#   r$   r%   r)   read_timeouts         n/var/www/eduai.edurigo.com/storigo/production/storigo_env/lib/python3.13/site-packages/litellm/batches/main.py_resolve_timeoutr2   6   s    & 	 	::'9	  '5==))!"56%?"<<:?L&& 899 _%% >    completion_window24hendpoint)z/v1/chat/completionsz/v1/embeddingsz/v1/completionsinput_file_id)openaiazure	vertex_aibedrockmetadataextra_headers
extra_bodyc           
      ~  #     [         R                  " 5       nSUS'   [        [        U UUUUUU40 UD6n	[        R
                  " 5       n
[        U
R                  U	5      nUR                  SU5      I Sh  vN n[         R                  " U5      (       a  UI Sh  vN nU$ UnU$  N/ N! [         a  nUeSnAff = f7f)z
Async: Creates and executes a batch from an uploaded file of request

LiteLLM Equivalent of POST: https://api.openai.com/v1/batches
Tacreate_batchN)
asyncioget_event_loopr   create_batchcontextvarscopy_contextrunrun_in_executoriscoroutine	Exception)r4   r6   r7   r$   r<   r=   r>   r#   loopfuncctxfunc_with_contextinit_responseresponsees                  r1   r@   r@   a   s      %%'"& 

 

 &&(#CGGT2"2249JKK}--**H  %H L +
  sY   B=A1B) 5B%6$B) B'B)  B=!B) $B=%B) 'B) )
B:3B55B::B=c                 
    [        S10 UD6nUR                  SS5      n	UR                  SS5      n
UR                  SS5      nUR                  SS5      n Ub  [        USS9u  n    nUR                  SS	5      S
L n[        [        S10 UD65      n[        [        UR                  SS5      5      n[        XU5      nUR                  USUR                  5       U	U
UUS0 S.UR                  S
S9EUS9  [        U UUUUUS9nUb  [        R                   " U[#        U5      S9nOSnUbh  [$        R'                  UUUU=(       d    0 UR(                  UR*                  UU[,        b%  [/        [,        [0        [2        45      (       a  [,        OSUUS9nU$ SnUS:X  Ga,  UR(                  =(       dS    [4        R(                  =(       d<    [6        R8                  " S5      =(       d    [6        R8                  " S5      =(       d    SnUR:                  =(       d7    [4        R:                  =(       d     [6        R8                  " SS5      =(       d    SnUR*                  =(       dD    [4        R*                  =(       d-    [4        R<                  =(       d    [6        R8                  " S5      n[>        R'                  UUUUUUR@                  US9nU$ US:X  Ga!  UR(                  =(       d"    [4        R(                  =(       d    [C        S5      nURD                  =(       d"    [4        RD                  =(       d    [C        S5      nUR*                  =(       dK    [4        R*                  =(       d4    [4        RF                  =(       d    [C        S5      =(       d    [C        S5      nUR                  S0 5      nUb  UR                  SS5        O[C        S 5        [H        R'                  UUUUUUR@                  UUS!9nU$ US":X  a  UR(                  =(       d    S#nURJ                  =(       d"    [4        RJ                  =(       d    [C        S$5      nURL                  =(       d"    [4        RL                  =(       d    [C        S%5      nURN                  =(       d    [C        S&5      n[P        R'                  UUUUUUUR@                  US'9nU$ [4        RR                  RU                  S(RW                  U5      S)U[X        RZ                  " S*S+[X        R\                  " S,S-S.9S/9S09e! [         a-  n[        R
                  " S[        U5       35         SnAGNSnAff = f! [         a  nUeSnAff = f)2z~
Creates and executes a batch from an uploaded file of request

LiteLLM Equivalent of POST: https://api.openai.com/v1/batches
litellm_call_idNproxy_server_request
model_infomodel)rU   r$   zPlitellm.batches.main.py::create_batch() - Error inferring custom_llm_provider - r@   FTlitellm_logging_obj)rR   rS   rT   r<   preset_cache_keystream_response)exclude_unsetrU   userr"   litellm_paramsr$   )r4   r6   r7   r<   r=   r>   rU   provider)provider_configr\   create_batch_dataheadersapi_baseapi_keylogging_obj	_is_asyncr   r)   rU   r8   OPENAI_BASE_URLOPENAI_API_BASEhttps://api.openai.com/v1OPENAI_ORGANIZATIONOPENAI_API_KEY)rb   rc   organizationr`   r)   max_retriesre   r9   AZURE_API_BASEAZURE_API_VERSIONAZURE_OPENAI_API_KEYAZURE_API_KEYr>   azure_ad_tokenAZURE_AD_TOKEN)re   rb   rc   api_versionr)   rl   r`   r\   r:   r    VERTEXAI_PROJECTVERTEXAI_LOCATIONVERTEXAI_CREDENTIALS)re   rb   vertex_projectvertex_locationvertex_credentialsr)   rl   r`   zALiteLLM doesn't support custom_llm_provider={} for 'create_batch'n/a  Unsupported providerrC   "https://github.com/BerriAI/litellmmethodurlstatus_codecontentrequestmessagerU   llm_providerrO    )/r   r*   r   rI   r   	exceptionstrpopdictr
   LiteLLMLoggingObjr2   update_environment_variables
model_dumpr   r   get_provider_batches_configr   base_llm_http_handlerrC   rb   rc   r   r+   r   r   litellmosgetenvrk   
openai_keyopenai_batches_instancerl   r   rs   	azure_keyazure_batches_instancerw   rx   ry   vertex_ai_batches_instance
exceptionsBadRequestErrorformatr,   ResponseRequest)r4   r6   r7   r$   r<   r=   r>   r#   r"   rR   rS   rT   rU   _rP   re   r\   rV   r)   _create_batch_requestr_   rO   rb   rk   rc   rs   vertex_ai_projectvertex_ai_locationry   s                                r1   rC   rC      s    w.88 **%6=%zz*@$GZZd3
%zz'48		 !1(,"q!Q JJ6$>	2<V<=15vzz*?F2
 #?<OP88+668#2(<($$(#% ",,4,@ !4 	9 	
  !3/''!!
 3OO%&9:O
 #O&,99 /-"7%+(11'///#%v5E'FGG   : H  O"&(*  (( /##/99.// 99.// /   ,, ''992D9 	   '' /??/%%/ 99-.	  /;;!)"7+77# < Hh W !G+(( 4##4!"23   ++ 7&&7!"56   '' 3??3$$3 ""893 "/2  ),,\2>J%/6/0-::#!'+77"7- ; 	Hb O !K/&//52H.. 6))6!"45   // 7**7!"56 
 "1!C!C "~&H 2>>#!0 2#5+77"7 ? 	H.  $$44[bb' 0 #2!MMEij 5  {  	$$bcfghcibjk 	T  s_   AU T (D'U D4U D'U -CU 6AU 
U"T>8U >UU 
UUUbatch_idc                 z  #     [         R                  " 5       nSUS'   [        [        U UUUU40 UD6n[        R
                  " 5       n[        UR                  U5      n	UR                  SU	5      I Sh  vN n
[         R                  " U
5      (       a  U
I Sh  vN nU$ U
nU$  N/ N! [         a  nUeSnAff = f7f)zc
Async: Retrieves a batch.

LiteLLM Equivalent of GET https://api.openai.com/v1/batches/{batch_id}
Taretrieve_batchN)
rA   rB   r   retrieve_batchrD   rE   rF   rG   rH   rI   r   r$   r<   r=   r>   r#   rJ   rK   rL   rM   rN   rO   rP   s                r1   r   r   [  s     %%'$( ! 
 
 &&(#CGGT2"2249JKK}--**H  %H L*
  Y   B;A/B' 3B#4$B' B%B' B;B' "B;#B' %B' '
B81B33B88B;r)   r\   _retrieve_batch_requestre   c                    S nUS:X  Ga,  UR                   =(       dS    [        R                   =(       d<    [        R                  " S5      =(       d    [        R                  " S5      =(       d    SnUR                  =(       d7    [        R                  =(       d     [        R                  " SS 5      =(       d    S nUR
                  =(       dD    [        R
                  =(       d-    [        R                  =(       d    [        R                  " S5      n	[        R                  UUUU	UUUR                  S9n
U
$ US:X  Ga!  UR                   =(       d"    [        R                   =(       d    [        S	5      nUR                  =(       d"    [        R                  =(       d    [        S
5      nUR
                  =(       dK    [        R
                  =(       d4    [        R                  =(       d    [        S5      =(       d    [        S5      n	UR                  S0 5      nUb  UR                  SS 5        O[        S5        [        R                  UUU	UUUR                  UUS9n
U
$ US:X  a  UR                   =(       d    SnUR                   =(       d"    [        R                   =(       d    [        S5      nUR"                  =(       d"    [        R"                  =(       d    [        S5      nUR$                  =(       d    [        S5      n[&        R                  UU UUUUUUR                  S9n
U
$ [        R(                  R+                  SR-                  U5      SU[.        R0                  " SS[.        R2                  " SSS9S9S9e) Nr8   rf   rg   rh   ri   rj   )re   retrieve_batch_datarb   rc   rk   r)   rl   r9   rm   rn   ro   rp   r>   rq   rr   )re   rb   rc   rs   r)   rl   r   r\   r:   r    rt   ru   rv   )re   r   rb   rw   rx   ry   r)   rl   zJLiteLLM doesn't support {} for 'create_batch'. Only 'openai' is supported.rz   r{   r|   create_threadr}   r~   r   r   )rb   r   r   r   rk   rc   r   r   r   rl   r   rs   r   r*   r   r   rw   rx   ry   r   r   r   r   r,   r   r   )r   r"   r)   r\   r   re   r$   rb   rk   rc   rO   rs   r>   r   r   ry   s                   r1   8_handle_retrieve_batch_providers_without_provider_configr     sO    #Hh& $$ ++yy*++ yy*++ + 	 (( ##yy.5 	 	 ## ++!!+ yy)*	 	 +99 7%'33 : 
h OW 
	'$$ 00./ 	 '' 3""312 	 ## //  / 45/ o. 	 %((r:
!NN+T2+,)88#'33 7) 9 	
b OO 
	+"++1r** 2%%201 	 ++ 3&&312 	
 -?? 
>"D
 .<<,.1'33 = 	
. O   00`gg# ,^^._Bfg 1 
 	
r3   c                     [        S0 UD6nUR                  SS5      nUR                  =(       d    UR                  SS5      =(       d    Sn[        SSU0UD6n	Ub!  UR	                  SSUR                  5       U	US9  UbE  [        U[        R                  5      (       a&  [        U5      SL a  UR                  =(       d    Sn
U
nO3Ub+  [        U[        R                  5      (       d  [        U5      nOUc  Sn[        U UUS	9nUR                  S
S5      SL nUR                  SS5      nU R                  S5      (       aM  SU ;   aG  SU ;   aA  UR                  5       nUR                  SS5        [!        SU UR                  SS5      US.UD6$ UR                  SS5      nUb  ["        R$                  " U['        U5      S9nOSnUb~  [(        R+                  U UU	U=(       d    0 UR,                  UR.                  U=(       d    [1        U=(       d    S/ SSSSU -   SS9UUb  [        U[2        [4        45      (       a  UOSUUS9nU$ [7        U UUU	UUUS9$ ! [8         a  nUeSnAff = f)z\
Retrieves a batch.

LiteLLM Equivalent of GET https://api.openai.com/v1/batches/{batch_id}
rV   Nr(   X  r$   rZ   F     @r   r=   r>   r   Tr   zarn:awsz	:bedrock:z:async-invoke/aws_region_namez	us-east-1)r   r   rd   rU   r]   zbedrock/unknownbatch_retrievebatch_retrieve_)rU   messagesstream	call_type
start_timerR   function_id)r   r_   r\   ra   rb   rc   rd   re   r   r)   rU   )r   r$   r"   r\   r   re   r)   r   )r   r*   r)   r   r   r   r+   r,   r-   r   r.   r/   r   r   
startswithcopy_handle_async_invoke_statusr   r   r   r   r   rb   rc   r   r   r   r   rI   )r   r$   r<   r=   r>   r#   r"   rV   r)   r\   r0   r   re   r   async_kwargsrU   r_   rO   rP   s                      r1   r   r     s   p.88;A::!4<
 "))VVZZ8I3-OVSV+ 
 3

 *<< / : : <-$7 =  7EMM22&':;uD"<<.3L"G GU]])K)KGnG_G"6'!#
 JJ0%8D@	Hd+
 	**x' H, ";;=L.5. ! &

+<k J/ 	   &zz'483OO%&9:O
 #O&,;;! /-%+(11'/// 	$4#4 .#$5$@ 0 $%v5E'FGG  / < H2 O
 H 3+)$;
 	
  s%   F
I B6I I 
I$II$afterlimit)r8   r9   c                 z  #     [         R                  " 5       nSUS'   [        [        U UUUU40 UD6n[        R
                  " 5       n	[        U	R                  U5      n
UR                  SU
5      I Sh  vN n[         R                  " U5      (       a  UI Sh  vN nU$ UnU$  N/ N! [         a  nUeSnAff = f7f)z*
Async: List your organization's batches.
Talist_batchesN)
rA   rB   r   list_batchesrD   rE   rF   rG   rH   rI   )r   r   r$   r<   r=   r>   r#   rJ   rK   rL   rM   rN   rO   rP   s                 r1   r   r   ~  s     %%'"& 
 
 &&(#CGGT2"2249JKK}--**H  %H L*
  r   c                 6    [        S"0 UD6n[        S"SU0UD6nUR                  =(       dD    [        R                  =(       d-    [        R                  =(       d    [
        R                  " S5      nUR                  =(       d    UR                  SS5      =(       d    Sn	U	bE  [        U	[        R                  5      (       a&  [        U5      SL a  U	R                  =(       d    Sn
U
n	O3U	b+  [        U	[        R                  5      (       d  [        U	5      n	OU	c  Sn	UR                  SS5      S	L nUS
:X  a  UR                   =(       dS    [        R                   =(       d<    [
        R                  " S5      =(       d    [
        R                  " S5      =(       d    SnUR"                  =(       d7    [        R"                  =(       d     [
        R                  " SS5      =(       d    Sn[$        R'                  UU UUUUU	UR(                  S9nU$ US:X  Ga   UR                   =(       d"    [        R                   =(       d    [+        S5      nUR,                  =(       d"    [        R,                  =(       d    [+        S5      nUR                  =(       dK    [        R                  =(       d4    [        R.                  =(       d    [+        S5      =(       d    [+        S5      nUR                  S0 5      nUb  UR                  SS5        O[+        S5        [0        R'                  UUUUU	UR(                  US9nU$ [        R2                  R5                  SR7                  U5      SU[        R8                  " SS[        R:                  " SSS9S 9S!9e! [<         a  nUeSnAff = f)#z2
Lists batches

List your organization's batches.
r$   rj   r(   r   NFr   r   Tr8   rf   rg   rh   ri   )re   r   r   rb   rc   rk   r)   rl   r9   rm   rn   ro   rp   r>   rq   rr   )re   rb   rc   rs   r)   rl   r\   zHLiteLLM doesn't support {} for 'list_batch'. Only 'openai' is supported.rz   r{   r|   r   r}   r~   r   r   r   )r   r   rc   r   r   r   r   r)   r*   r+   r,   r-   r   r.   r/   r   rb   rk   r   r   rl   r   rs   r   r   r   r   r   r   r   rI   )r   r   r$   r=   r>   r#   r"   r\   rc   r)   r0   re   rb   rk   rO   rs   rP   s                    r1   r   r     sQ   f.88+ 
 3


 ## ++!!+ yy)*	 	 "))VVZZ8I3-OVSV 7EMM22&':;uD"<<.3L"G GU]])K)KGnG_GJJ6$>	(*  (( /##/99.// 99.// /   ,, ''992D9 	  /;;#!)+77 < 	Hl Y !G+&//g73C3Cg~VfGgH++ 7&&7!"56   '' 3??3$$3 ""893 "/2  ),,\2>J%/6/0-::#!'+77- ; H,  $$44bii' 0 #2!MMFjk 5    s&   HN 
D&N 1AN 
NNNc                 z  #     [         R                  " 5       nSUS'   [        [        U UUUU40 UD6n[        R
                  " 5       n[        UR                  U5      n	UR                  SU	5      I Sh  vN n
[         R                  " U
5      (       a  U
I Sh  vN nU$ U
nU$  N/ N! [         a  nUeSnAff = f7f)zi
Async: Cancels a batch.

LiteLLM Equivalent of POST https://api.openai.com/v1/batches/{batch_id}/cancel
Tacancel_batchN)
rA   rB   r   cancel_batchrD   rE   rF   rG   rH   rI   r   s                r1   r   r      s     %%'"& 
 
 &&(#CGGT2"2249JKK}--**H  %H L*
  r   c                 R    [        S#0 UD6n[        S#SU0UD6nUR                  =(       d    UR                  SS5      =(       d    SnUbE  [	        U[
        R                  5      (       a&  [        U5      SL a  UR                  =(       d    Sn	U	nO3Ub+  [	        U[
        R                  5      (       d  [        U5      nOUc  Sn[        U UUS9n
UR                  SS5      S	L nSnUS
:X  Ga,  UR                  =(       dS    [        R                  =(       d<    [        R                  " S5      =(       d    [        R                  " S5      =(       d    SnUR                   =(       d7    [        R                   =(       d     [        R                  " SS5      =(       d    SnUR"                  =(       dD    [        R"                  =(       d-    [        R$                  =(       d    [        R                  " S5      n[&        R)                  UU
UUUUUR*                  S9nU$ US:X  Ga!  UR                  =(       d"    [        R                  =(       d    [-        S5      nUR.                  =(       d"    [        R.                  =(       d    [-        S5      nUR"                  =(       dK    [        R"                  =(       d4    [        R0                  =(       d    [-        S5      =(       d    [-        S5      nUR                  S0 5      nUb  UR                  SS5        O[-        S5        [2        R)                  UUUUUUR*                  U
US9nU$ [        R4                  R7                  SR9                  U5      SU[
        R:                  " SS[
        R<                  " SSS 9S!9S"9e! [>         a  nUeSnAff = f)$zb
Cancels a batch.

LiteLLM Equivalent of POST https://api.openai.com/v1/batches/{batch_id}/cancel
r$   r(   r   NFr   r   r   Tr8   rf   rg   rh   ri   rj   )re   cancel_batch_datarb   rc   rk   r)   rl   r9   rm   rn   ro   rp   r>   rq   rr   )re   rb   rc   rs   r)   rl   r   r\   zWLiteLLM doesn't support {} for 'cancel_batch'. Only 'openai' and 'azure' are supported.rz   r{   r|   r   r}   r~   r   r   r   ) r   r   r)   r*   r+   r,   r-   r   r.   r/   r   r   rb   r   r   r   rk   rc   r   r   r   rl   r   rs   r   r   r   r   r   r   r   rI   )r   r$   r<   r=   r>   r#   r"   r\   r)   r0   _cancel_batch_requestre   rb   rk   rc   rO   rs   rP   s                     r1   r   r   I  su   o.88+ 
 3


 "))VVZZ8I3-OVSV 7EMM22&':;uD"<<.3L"G GU]])K)KGnG_G 2'!!
 JJ6$>	"&(*(( /##/99.// 99.// /   ,, ''992D9 	   '' /??/%%/ 99-.	  /;;#"7!)+77 < Ht c !G+(( 4##4!"23   ++ 7&&7!"56   '' 3??3$$3 ""893 "/2  ),,\2>J%/6/0-::#!'+77"7- ; 	H.  $$44qxx' 0 #2!MMEij 5    s&   HN D'N ?AN 
N&N!!N&r   r   c                    ^ ^^^^^	^
 SSK m
SSKJm  UUU UU4S jm	SSKnU	U
4S jnUR                  R                  5        nUR                  U5      nUR                  5       sSSS5        $ ! , (       d  f       g= f)z
Handle async invoke status check for AWS Bedrock.

Args:
    batch_id: The async invoke ARN
    aws_region_name: AWS region name
    **kwargs: Additional parameters

Returns:
    dict: Status information including status, output_file_id (S3 URL), etc.
r   N)BedrockEmbeddingc                  b  >#    T" 5       n U R                   " STTTS.TD6I S h  vN nSSKJn  U" US   SUS   US   US   UR                  S	5      US   S
:X  a  UR                  S	5      OS SUS   S:X  a  SOSUS   S
:X  a  SOSS.US   S   S   UR                  S5      US   S.S9	nU$  N7f)N)invocation_arnr   rd   r   )r   invocationArnbatchstatus
submitTimelastModifiedTimeendTimefailed   	completed)totalr   r   outputDataConfigs3OutputDataConfigs3UrifailureMessagemodelArn)output_file_idfailure_message	model_arn)	idobjectr   
created_atin_progress_atcompleted_at	failed_atrequest_countsr<   r   )_get_async_invoke_statuslitellm.types.utilsr   r*   )	embedding_handlerstatus_responser   resultr   r   r   r#   rd   s	       r1   _async_get_status6_handle_async_invoke_status.<locals>._async_get_status  s    ,. !2 J J !
#+#!
 	!
 
 	5/"8,&|4*+=>(,,Y7x(H4 &)))4"1(";{"JQPQ.x8HD!! #22D"E(## $3#6#67G#H,Z8
0 E
s   !B/B-B	B/c                     > TR                   " 5       n TR                  " U 5         U R                  T" 5       5      U R                  5         $ ! U R                  5         f = fN)new_event_loopset_event_looprun_until_completeclose)new_loopr   rA   s    r1   run_in_thread2_handle_async_invoke_status.<locals>.run_in_thread  sK    ))+x(	../@/BCNNHNNs   A A)rA   $litellm.llms.bedrock.embed.embeddingr   concurrent.futuresfuturesThreadPoolExecutorsubmitr   )r   r   rd   r#   
concurrentr   executorfuturer   r   rA   s   ````    @@@r1   r   r     sY     E' 'V  
			.	.	0H/}} 
1	0	0s   !A,,
A:)r   )r8   NNN)r8   )NNr8   NNN)NNr8   NNr   )G__doc__rA   rD   r   	functoolsr   typingr   r   r   r   r   r	   r
   r,   r   litellm._loggingr   *litellm.litellm_core_utils.litellm_loggingr   r   "litellm.llms.azure.batches.handlerr   &litellm.llms.custom_httpx.http_handlerr   r   *litellm.llms.custom_httpx.llm_http_handlerr   litellm.llms.openai.openair   &litellm.llms.vertex_ai.batches.handlerr   litellm.secret_managers.mainr   litellm.types.llms.openair   r   r   r   litellm.types.routerr   r   r   r   litellm.utilsr   r   r   r   r   r   r   r   r   r   r/   r2   r@   rC   r   r-   r   boolr   r   intr   r   r   r   r   r   r3   r1   <module>r     s  
   	  G G G   + S > P I 7 J 7  6 :  +, (* 4RH *,  #	()(cN( ( 	(
 (V 
 OW)-.2+/,u~,QR, , !!JK	,
 tCH~&, DcN+, c3h(, , ,^ 
 OW)-.2+/Fu~FQRF F !!JK	F
 tCH~&F DcN+F c3h(F <3\#9::;F FR  OW)-.2+/&& !JK& tCH~&& DcN+	&
 c3h(& & &` OWuu)u 5%--'(u 	u
 2u u !!JKup  OW)-.2+/}} !JK} tCH~&} DcN+	}
 c3h(} <3\#9::;} }@ 6>)-.2+/'C='C=' !!23' tCH~&	'
 DcN+' c3h(' 'T 6>.2+/sC=sC=s !!23s DcN+	s
 c3h(s sp 7?)-.2+/&& !23& tCH~&& DcN+	&
 c3h(& &V 7?)-.2+/|| !23| tCH~&| DcN+	|
 c3h(| 5)CeO,,-|@ 6:II$'IIr3   