
    `i              	       @   d dl Z d dlmZmZmZ d dlmZ ddlmZ ddlm	Z	 ddlm
Z ddlmZ dd	lmZ dd
l	mZ ddl	mZ ddlmZmZ  e j,                  d      Z	 d@dedeeef   dee   defdZ	 d@dedeeef   dee   defdZ	 d@dedeeef   dee   defdZ	 d@dedeeef   dee   defdZ	 d@dedeeef   dee   defdZ	 d@dedeeef   dee   defdZ	 d@dedeeef   dee   defdZ 	 d@dedeeef   dee   defdZ!	 d@dedeeef   dee   defdZ"	 d@dedeeef   dee   defdZ#	 d@dedeeef   dee   defdZ$	 d@dedeeef   dee   defdZ%	 d@dedeeef   dee   defdZ&	 d@dedeeef   dee   defdZ'	 d@dedeeef   dee   defd Z(	 d@dedeeef   dee   defd!Z)	 d@dedeeef   dee   defd"Z*	 d@dedeeef   dee   defd#Z+	 d@dedeeef   dee   defd$Z,	 d@dedeeef   dee   defd%Z-	 d@dedeeef   dee   defd&Z.	 d@dedeeef   dee   defd'Z/	 d@dedeeef   dee   defd(Z0	 d@dedeeef   dee   defd)Z1	 d@dedeeef   dee   defd*Z2	 d@dedeeef   dee   defd+Z3	 d@dedeeef   dee   defd,Z4	 d@dedeeef   dee   defd-Z5	 d@dedeeef   dee   defd.Z6	 d@dedeeef   dee   defd/Z7	 d@dedeeef   dee   defd0Z8	 d@dedeeef   dee   defd1Z9	 d@dedeeef   dee   defd2Z:	 d@dedeeef   dee   defd3Z;	 d@dedeeef   dee   defd4Z<	 d@dedeeef   dee   defd5Z=	 d@dedeeef   dee   defd6Z>	 d@dedeeef   dee   defd7Z?	 d@dedeeef   dee   defd8Z@	 d@dedeeef   dee   defd9ZA	 d@dedeeef   dee   defd:ZB	 d@dedeeef   dee   defd;ZC G d< d=ej                        ZE G d> d?ej                        ZFy)A    N)AnyOptionalUnion)	urlencode   )_api_module)_common)_transformers)types)BaseApiClient)get_value_by_path)set_value_by_path)
AsyncPagerPagerzgoogle_genai.caches
api_clientfrom_objectparent_objectreturnc                    i }t        |dg      t        d      t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             t        |dg      t        |d	gt        |dg             t        |d
g      t        |dgt        |d
g             t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             |S )Nvideo_metadataz8video_metadata parameter is not supported in Gemini API.thoughtcode_execution_resultcodeExecutionResultexecutable_codeexecutableCode	file_datafileDatafunction_callfunctionCallfunction_responsefunctionResponseinline_data
inlineDatatextgetv
ValueErrorsetvr   r   r   	to_objects       X/var/www/html/ts-aiml.yecor.com/venv/lib/python3.12/site-packages/google/genai/caches.py_Part_to_mldevr,   !   s}   
 !)	+()*6
O
PP	+	{#/YKkI;!?@	+/01=	[234 
+)*+7%&[;L:M(NO	+}%1ZL${[M"BC	+()5^$d;8I&JK	++,-9	[./0 
+'3\ND}o$FG	+x ,VHd;9:	    c                     i }t        |dg      2t        |dgt        |dg      D cg c]  }t        | ||       c}       t        |dg      t        |dgt        |dg             |S c c}w Npartsrole)r&   r(   r,   r   r   r   r*   items        r+   _Content_to_mldevr4   M   s    
 !)	+y!-		 [7)4	
 :tY7	
 
+x ,VHd;9:		
   A*c                    i }t        |dg      t        d      t        |dg      t        d      t        |dg      t        d      t        |dg      t        d      t        |d	g      t        d
      t        |dg      t        d      t        |dg      t        d      t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             t        |d g      t        |d gt        |d g             t        |d!g      t        |d!gt        |d!g             |S )"Nexamplez1example parameter is not supported in Gemini API.patternz1pattern parameter is not supported in Gemini API.defaultz1default parameter is not supported in Gemini API.
max_lengthz4max_length parameter is not supported in Gemini API.
min_lengthz4min_length parameter is not supported in Gemini API.min_propertiesz8min_properties parameter is not supported in Gemini API.max_propertiesz8max_properties parameter is not supported in Gemini API.any_ofanyOfdescriptionenumformatitems	max_itemsmaxItemsmaximum	min_itemsminItemsminimumnullable
propertiesproperty_orderingpropertyOrderingrequiredtitletyper%   r)   s       r+   _Schema_to_mldevrQ   c   s   
 !)	+	{#/
H
II	+	{#/
H
II	+	{#/
H
II	+~&2
K
LL	+~&2
K
LL	+()*6
O
PP	+()*6
O
PP	+z".WItK(<=	+'3]OT+%GH	+x ,VHd;9:	+z".XJ[8* =>	+y!-WItK';<	+}%1ZL${[M"BC	+	{#/YKkI;!?@	+}%1ZL${[M"BC	+	{#/YKkI;!?@	+
|$0ZL${ZL"AB	+~&2\ND|n$EF	++,-9	[./0 
+
|$0ZL${ZL"AB	+y!-WItK';<	+x ,VHd;9:	r-   c                    i }t        |dg      t        d      t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             |S )Nresponsez2response parameter is not supported in Gemini API.r@   name
parametersr%   r)   s       r+   _FunctionDeclaration_to_mldevrV      s    
 !)	+
|$0
I
JJ	+'3]OT+%GH	+x ,VHd;9:	+~&2\ND|n$EF	r-   c                 
    i }|S N r)   s       r+   _GoogleSearch_to_mldevrZ          
 !)	r-   c                     i }t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             |S Nmodedynamic_thresholddynamicThresholdr&   r(   r)   s       r+    _DynamicRetrievalConfig_to_mldevrb      g    
 !)	+x ,VHd;9:	++,-9	[./0 
r-   c                 l    i }t        |dg      $t        |dgt        | t        |dg      |             |S Ndynamic_retrieval_configdynamicRetrievalConfig)r&   r(   rb   r)   s       r+   _GoogleSearchRetrieval_to_mldevrh      sO    
 !)	+234@	!"(9:;	
 
r-   c                    i }t        |dg      2t        |dgt        |dg      D cg c]  }t        | ||       c}       t        |dg      t        d      t        |dg      $t        |dgt	        | t        |dg      |             t        |dg      $t        |dgt        | t        |dg      |             t        |d	g      t        |d
gt        |d	g             |S c c}w )Nfunction_declarationsfunctionDeclarations	retrievalz3retrieval parameter is not supported in Gemini API.google_searchgoogleSearchgoogle_search_retrievalgoogleSearchRetrievalcode_executioncodeExecution)r&   r(   rV   r'   rZ   rh   r2   s        r+   _Tool_to_mldevrs      s'   
 !)	+/01=	  [+B*CD	
 **dIF	
 
+}%1
J
KK	+()5	[?*;<i	
 
+123?	 !'89:	
 
+()*6_%tK:J9K'LM	A	
s   C$c                     i }t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             |S Nr^   allowed_function_namesallowedFunctionNamesra   r)   s       r+   _FunctionCallingConfig_to_mldevrx   %  g    
 !)	+x ,VHd;9:	+012>	 [345 
r-   c                 l    i }t        |dg      $t        |dgt        | t        |dg      |             |S Nfunction_calling_configfunctionCallingConfig)r&   r(   rx   r)   s       r+   _ToolConfig_to_mldevr~   8  sO    
 !)	+123?	 !'89:	
 
r-   c                    i }t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             t        |dg      Ft        |dgt        j                  | t        |dg            D cg c]  }t	        | ||       c}       t        |dg      8t        |dgt	        | t        j
                  | t        |dg            |             t        |d	g      2t        |d	gt        |d	g      D cg c]  }t        | ||       c}       t        |d
g      $t        |dgt        | t        |d
g      |             |S c c}w c c}w Nttlexpire_time
expireTimedisplay_namedisplayNamecontentssystem_instructionsystemInstructiontoolstool_config
toolConfig)r&   r(   t
t_contentsr4   	t_contentrs   r~   r2   s        r+   #_CreateCachedContentConfig_to_mldevr   L  s   
 !)	+w+kE7!;<	+'3[=/(JK	+'(4kN;K)LM	+
|$0	 Dzl;	
 j$	:	
	 
+,-.:	KK
D7K6L$MN	
 
+y!-		 [7)4	
 :tY7	
 
+'3	[=/:I	
 
M	
.	
   -E?1Fc                     i }t        |dg      -t        |dgt        j                  | t        |dg                   t        |dg      $t        |dgt	        | t        |dg      |             |S Nmodelconfig)r&   r(   r   t_caches_modelr   r)   s       r+   '_CreateCachedContentParameters_to_mldevr     s    
 !)	+y!-			T+y%AB 
+z".	
+[8*5y	
 
r-   c                     i }t        |dg      .t        |ddgt        j                  | t        |dg                   t        |dg      t        |dgt        |dg             |S NrT   _urlr   r&   r(   r   t_cached_content_namer)   s       r+   $_GetCachedContentParameters_to_mldevr     r    
 !)	+x ,		
Dvh,GH 
+z".XJ[8* =>	r-   c                     i }t        |dg      .t        |ddgt        j                  | t        |dg                   t        |dg      t        |dgt        |dg             |S r   r   r)   s       r+   '_DeleteCachedContentParameters_to_mldevr     r   r-   c                     i }t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             |S Nr   r   r   ra   r)   s       r+   #_UpdateCachedContentConfig_to_mldevr     [    
 !)	+w+kE7!;<	+'3[=/(JK	r-   c                     i }t        |dg      .t        |ddgt        j                  | t        |dg                   t        |dg      $t        |dgt	        | t        |dg      |             |S r   )r&   r(   r   r   r   r)   s       r+   '_UpdateCachedContentParameters_to_mldevr     s    
 !)	+x ,		
Dvh,GH 
+z".	
+[8*5y	
 
r-   c                     i }t        |dg      t        |ddgt        |dg             t        |dg      t        |ddgt        |dg             |S N	page_size_querypageSize
page_token	pageTokenra   r)   s       r+   "_ListCachedContentsConfig_to_mldevr     m    
 !)	+}%1*-tK+/O 
+~&2	;[<.) 
r-   c                 l    i }t        |dg      $t        |dgt        | t        |dg      |             |S Nr   )r&   r(   r   r)   s       r+   &_ListCachedContentsParameters_to_mldevr     sH    
 !)	+z".	
*[8*5y	
 
r-   c                    i }t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             t        |dg      t        |d	gt        |dg             t        |d
g      t        |dgt        |d
g             t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             |S )Nr   videoMetadatar   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   ra   r)   s       r+   _Part_to_vertexr     s   
 !)	+()*6_%tK:J9K'LM	+	{#/YKkI;!?@	+/01=	[234 
+)*+7%&[;L:M(NO	+}%1ZL${[M"BC	+()5^$d;8I&JK	++,-9	[./0 
+'3\ND}o$FG	+x ,VHd;9:	r-   c                     i }t        |dg      2t        |dgt        |dg      D cg c]  }t        | ||       c}       t        |dg      t        |dgt        |dg             |S c c}w r/   )r&   r(   r   r2   s        r+   _Content_to_vertexr   E  s    
 !)	+y!-		 [7)4	
 Ji8	
 
+x ,VHd;9:		
r5   c                    i }t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             t        |dg      t        |d	gt        |dg             t        |d
g      t        |dgt        |d
g             t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             |S )Nr7   r8   r9   r:   	maxLengthr;   	minLengthr<   minPropertiesr=   maxPropertiesr>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   ra   r)   s       r+   _Schema_to_vertexr   [  si   
 !)	+	{#/YKkI;!?@	+	{#/YKkI;!?@	+	{#/YKkI;!?@	+~&2[M4l^#DE	+~&2[M4l^#DE	+()*6_%tK:J9K'LM	+()*6_%tK:J9K'LM	+z".WItK(<=	+'3]OT+%GH	+x ,VHd;9:	+z".XJ[8* =>	+y!-WItK';<	+}%1ZL${[M"BC	+	{#/YKkI;!?@	+}%1ZL${[M"BC	+	{#/YKkI;!?@	+
|$0ZL${ZL"AB	+~&2\ND|n$EF	++,-9	[./0 
+
|$0ZL${ZL"AB	+y!-WItK';<	+x ,VHd;9:	r-   c                 P   i }t        |dg      $t        |dgt        | t        |dg      |             t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             |S )NrS   r@   rT   rU   )r&   r(   r   r)   s       r+   _FunctionDeclaration_to_vertexr     s    
 !)	+
|$0	[:,7	
 
+'3]OT+%GH	+x ,VHd;9:	+~&2\ND|n$EF	r-   c                 
    i }|S rX   rY   r)   s       r+   _GoogleSearch_to_vertexr     r[   r-   c                     i }t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             |S r]   ra   r)   s       r+   !_DynamicRetrievalConfig_to_vertexr     rc   r-   c                 l    i }t        |dg      $t        |dgt        | t        |dg      |             |S re   )r&   r(   r   r)   s       r+    _GoogleSearchRetrieval_to_vertexr     sO    
 !)	+234@	!")9:;	
 
r-   c                    i }t        |dg      2t        |dgt        |dg      D cg c]  }t        | ||       c}       t        |dg      t        |dgt        |dg             t        |dg      $t        |dgt        | t        |dg      |             t        |dg      $t        |dgt	        | t        |dg      |             t        |dg      t        |d	gt        |dg             |S c c}w )
Nrj   rk   rl   rm   rn   ro   rp   rq   rr   )r&   r(   r   r   r   r2   s        r+   _Tool_to_vertexr     s2   
 !)	+/01=	  [+B*CD	
 +:tYG	
 
+}%1[M4k]#CD	+()5	[?*;<i	
 
+123?	 !(89:	
 
+()*6_%tK:J9K'LM	A	
s   C2c                     i }t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             |S ru   ra   r)   s       r+    _FunctionCallingConfig_to_vertexr   #  ry   r-   c                 l    i }t        |dg      $t        |dgt        | t        |dg      |             |S r{   )r&   r(   r   r)   s       r+   _ToolConfig_to_vertexr   6  sO    
 !)	+123?	 !(89:	
 
r-   c                    i }t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             t        |dg      Ft        |dgt        j                  | t        |dg            D cg c]  }t	        | ||       c}       t        |dg      8t        |dgt	        | t        j
                  | t        |dg            |             t        |d	g      2t        |d	gt        |d	g      D cg c]  }t        | ||       c}       t        |d
g      $t        |dgt        | t        |d
g      |             |S c c}w c c}w r   )r&   r(   r   r   r   r   r   r   r2   s        r+   $_CreateCachedContentConfig_to_vertexr   J  s   
 !)	+w+kE7!;<	+'3[=/(JK	+'(4kN;K)LM	+
|$0	 Dzl;	
 z4;	
	 
+,-.:	KK
D7K6L$MN	
 
+y!-		 [7)4	
 Ji8	
 
+'3	[=/:I	
 
M	
.	
r   c                     i }t        |dg      -t        |dgt        j                  | t        |dg                   t        |dg      $t        |dgt	        | t        |dg      |             |S r   )r&   r(   r   r   r   r)   s       r+   (_CreateCachedContentParameters_to_vertexr     s    
 !)	+y!-			T+y%AB 
+z".	
,[8*5y	
 
r-   c                     i }t        |dg      .t        |ddgt        j                  | t        |dg                   t        |dg      t        |dgt        |dg             |S r   r   r)   s       r+   %_GetCachedContentParameters_to_vertexr     r   r-   c                     i }t        |dg      .t        |ddgt        j                  | t        |dg                   t        |dg      t        |dgt        |dg             |S r   r   r)   s       r+   (_DeleteCachedContentParameters_to_vertexr     r   r-   c                     i }t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             |S r   ra   r)   s       r+   $_UpdateCachedContentConfig_to_vertexr     r   r-   c                     i }t        |dg      .t        |ddgt        j                  | t        |dg                   t        |dg      $t        |dgt	        | t        |dg      |             |S r   )r&   r(   r   r   r   r)   s       r+   (_UpdateCachedContentParameters_to_vertexr     s    
 !)	+x ,		
Dvh,GH 
+z".	
,[8*5y	
 
r-   c                     i }t        |dg      t        |ddgt        |dg             t        |dg      t        |ddgt        |dg             |S r   ra   r)   s       r+   #_ListCachedContentsConfig_to_vertexr     r   r-   c                 l    i }t        |dg      $t        |dgt        | t        |dg      |             |S r   )r&   r(   r   r)   s       r+   '_ListCachedContentsParameters_to_vertexr     sH    
 !)	+z".	
+[8*5y	
 
r-   c                    i }t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             t        |d	g      t        |d
gt        |d	g             t        |dg      t        |dgt        |dg             |S NrT   r   r   r   
createTimecreate_time
updateTimeupdate_timer   r   usageMetadatausage_metadatara   r)   s       r+   _CachedContent_from_mldevr        
 !)	+x ,VHd;9:	+'3^$d;&HI	+y!-WItK';<	+~&2]OT+~%FG	+~&2]OT+~%FG	+~&2]OT+~%FG	+()5%&[?:K(LM	r-   c                 
    i }|S rX   rY   r)   s       r+   '_DeleteCachedContentResponse_from_mldevr   5  r[   r-   c                     i }t        |dg      t        |dgt        |dg             t        |dg      2t        |dgt        |dg      D cg c]  }t        | ||       c}       |S c c}w NnextPageTokennext_page_tokencachedContentscached_contents)r&   r(   r   r2   s        r+   &_ListCachedContentsResponse_from_mldevr   ?  s    
 !)	+()5&'kO;L)MN	+()*6	 [+;*<=	
 &j$	B	
 
	
   A*c                    i }t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             t        |dg      t        |dgt        |dg             t        |d	g      t        |d
gt        |d	g             t        |dg      t        |dgt        |dg             |S r   ra   r)   s       r+   _CachedContent_from_vertexr   U  r   r-   c                 
    i }|S rX   rY   r)   s       r+   (_DeleteCachedContentResponse_from_vertexr   s  r[   r-   c                     i }t        |dg      t        |dgt        |dg             t        |dg      2t        |dgt        |dg      D cg c]  }t        | ||       c}       |S c c}w r   )r&   r(   r   r2   s        r+   '_ListCachedContentsResponse_from_vertexr   }  s    
 !)	+()5&'kO;L)MN	+()*6	 [+;*<=	
 'z4C	
 
	
r   c                      e Zd Zdddedeej                     dej                  fdZdddedeej                     dej                  fdZ
dddedeej                     dej                  fd	Zdddedeej                     dej                  fd
Zdddeej                      dej"                  fdZdddeej                      deej                     fdZy)CachesNr   r   r   r   c                   t        j                  ||      }| j                  j                  r>t	        | j                  |      }|j                  d      }|rdj                  |      }n@d}n=t        | j                  |      }|j                  d      }|rdj                  |      }nd}|j                  d      }|r| dt        |       }|j                  dd       d}|j                  ,|j                  j                  |j                  j                  }t        j                  |      }t        j                  |      }| j                  j                  d|||      }	| j                  j                  rt!        | j                  |	      }	nt#        | j                  |	      }	t         j$                  j'                  |	|j)                         	      }
| j                  j+                  |
       |
S )
a  Creates a cached contents resource.

    Usage:

    .. code-block:: python

      contents = ... // Initialize the content to cache.
      response = client.caches.create(
          model= ... // The publisher model id
          contents=contents,
          config={
              'display_name': 'test cache',
              'system_instruction': 'What is the sum of the two pdfs?',
              'ttl': '86400s',
          },
      )
    r   r   r   r   r   ?r   NpostrS   kwargs)r   _CreateCachedContentParameters_api_clientvertexair   get
format_mapr   r   popr   http_optionsr	   convert_to_dictencode_unserializable_typesrequestr   r   CachedContent_from_response
model_dump_verify_responseselfr   r   parameter_modelrequest_dictrequest_url_dictpathquery_paramsr  response_dictreturn_values              r+   createzCaches.create  s   0 ::O   =


Ol &))&1	**+;<<


Ol &))&1	**+;<##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL$$,,lLM   0


Mm
 00@0@-Pm&&55'A'A'C 6 L 	%%l3r-   rT   c                   t        j                  ||      }| j                  j                  r>t	        | j                  |      }|j                  d      }|rdj                  |      }n@d}n=t        | j                  |      }|j                  d      }|rdj                  |      }nd}|j                  d      }|r| dt        |       }|j                  dd       d}|j                  ,|j                  j                  |j                  j                  }t        j                  |      }t        j                  |      }| j                  j                  d|||      }	| j                  j                  rt!        | j                  |	      }	nt#        | j                  |	      }	t         j$                  j'                  |	|j)                         	      }
| j                  j+                  |
       |
S )
zGets cached content configurations.

    .. code-block:: python

      client.caches.get(name= ... ) // The server-generated resource name.
    rT   r   r   {name}r   r   r   Nr  r   )r   _GetCachedContentParametersr   r   r   r  r  r   r   r  r   r  r	   r  r  r  r   r   r  r	  r
  r  r  rT   r   r  r  r  r  r  r  r  r  s              r+   r  z
Caches.get  s    77O   :


Ol &))&1	""#349


Ol &))&1	""#34##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL$$,,t\<M   0


Mm
 00@0@-Pm&&55'A'A'C 6 L 	%%l3r-   c                   t        j                  ||      }| j                  j                  r>t	        | j                  |      }|j                  d      }|rdj                  |      }n@d}n=t        | j                  |      }|j                  d      }|rdj                  |      }nd}|j                  d      }|r| dt        |       }|j                  dd       d}|j                  ,|j                  j                  |j                  j                  }t        j                  |      }t        j                  |      }| j                  j                  d|||      }	| j                  j                  rt!        | j                  |	      }	nt#        | j                  |	      }	t         j$                  j'                  |	|j)                         	      }
| j                  j+                  |
       |
S )
zDeletes cached content.

    Usage:

    .. code-block:: python

      client.caches.delete(name= ... ) // The server-generated resource name.
    r  r   r  r   r   r   Ndeleter   )r   _DeleteCachedContentParametersr   r   r   r  r  r   r   r  r   r  r	   r  r  r  r   r   DeleteCachedContentResponser	  r
  r  r  s              r+   r  zCaches.delete0  s    ::O   =


Ol &))&1	""#34<


Ol &))&1	""#34##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL$$,,$lM   >


Mm
 >


Mm 44CC'A'A'C D L 	%%l3r-   c                   t        j                  ||      }| j                  j                  r>t	        | j                  |      }|j                  d      }|rdj                  |      }n@d}n=t        | j                  |      }|j                  d      }|rdj                  |      }nd}|j                  d      }|r| dt        |       }|j                  dd       d}|j                  ,|j                  j                  |j                  j                  }t        j                  |      }t        j                  |      }| j                  j                  d|||      }	| j                  j                  rt!        | j                  |	      }	nt#        | j                  |	      }	t         j$                  j'                  |	|j)                         	      }
| j                  j+                  |
       |
S )
zUpdates cached content configurations.

    .. code-block:: python

      response = client.caches.update(
          name= ... // The server-generated resource name.
          config={
              'ttl': '7600s',
          },
      )
    r  r   r  r   r   r   Npatchr   )r   _UpdateCachedContentParametersr   r   r   r  r  r   r   r  r   r  r	   r  r  r  r   r   r  r	  r
  r  r  s              r+   updatezCaches.update|  s   $ ::O   =


Ol &))&1	""#34<


Ol &))&1	""#34##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL$$,,|\M   0


Mm
 00@0@-Pm&&55'A'A'C 6 L 	%%l3r-   c                   t        j                  |      }| j                  j                  r>t	        | j                  |      }|j                  d      }|rdj                  |      }n@d}n=t        | j                  |      }|j                  d      }|rdj                  |      }nd}|j                  d      }|r| dt        |       }|j                  dd       d}|j                  ,|j                  j                  |j                  j                  }t        j                  |      }t        j                  |      }| j                  j                  d|||      }| j                  j                  rt!        | j                  |      }nt#        | j                  |      }t         j$                  j'                  ||j)                         	      }	| j                  j+                  |	       |	S )
zLists cached content configurations.

    .. code-block:: python

      cached_contents = client.caches.list(config={'page_size': 2})
      for cached_content in cached_contents:
        print(cached_content)
    r   r   r   r   r   r   Nr  r   )r   _ListCachedContentsParametersr   r   r   r  r  r   r   r  r   r  r	   r  r  r  r   r   ListCachedContentsResponser	  r
  r  
r  r   r  r  r  r  r  r  r  r  s
             r+   _listzCaches._list  s    99O   <


Ol &))&1	**+;<;


Ol &))&1	**+;<##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL$$,,t\<M   =


Mm
 =


Mm 33BB'A'A'C C L 	%%l3r-   c                R    t        d| j                  | j                  |      |      S Nr   r   )r   r'  r  r   s     r+   listzCaches.list  s,     



&
!	 r-   )__name__
__module____qualname__strr   r   CreateCachedContentConfigOrDictr  r  GetCachedContentConfigOrDictr  DeleteCachedContentConfigOrDictr  r  UpdateCachedContentConfigOrDictr"  ListCachedContentsConfigOrDictr%  r'  r   r+  rY   r-   r+   r   r     sd    AE	Q Q u<<=	Q
 Qn >B	F F u99:	F
 FX AE	J J u<<=	J
 ((J` AE	K K u<<=	K
 K\ IMF D DEF''FR IM D DEU  !r-   r   c                      e Zd Zdddedeej                     dej                  fdZdddedeej                     dej                  fdZ
dddedeej                     dej                  fd	Zdddedeej                     dej                  fd
Zdddeej                      dej"                  fdZdddeej                      deej                     fdZy)AsyncCachesNr   r   r   r   c                  K   t        j                  ||      }| j                  j                  r>t	        | j                  |      }|j                  d      }|rdj                  |      }n@d}n=t        | j                  |      }|j                  d      }|rdj                  |      }nd}|j                  d      }|r| dt        |       }|j                  dd       d}|j                  ,|j                  j                  |j                  j                  }t        j                  |      }t        j                  |      }| j                  j                  d|||       d{   }	| j                  j                  rt!        | j                  |	      }	nt#        | j                  |	      }	t         j$                  j'                  |	|j)                         	      }
| j                  j+                  |
       |
S 7 w)
a  Creates a cached contents resource.

    Usage:

    .. code-block:: python

      contents = ... // Initialize the content to cache.
      response = await client.aio.caches.create(
          model= ... // The publisher model id
          contents=contents,
          config={
              'display_name': 'test cache',
              'system_instruction': 'What is the sum of the two pdfs?',
              'ttl': '86400s',
          },
      )
    r   r   r   r   r   r   Nr   r   )r   r   r   r   r   r  r  r   r   r  r   r  r	   r  r  async_requestr   r   r  r	  r
  r  r  s              r+   r  zAsyncCaches.create  s    0 ::O   =


Ol &))&1	**+;<<


Ol &))&1	**+;<##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL**88lL M   0


Mm
 00@0@-Pm&&55'A'A'C 6 L 	%%l3!   E#G;%G9&BG;rT   c                  K   t        j                  ||      }| j                  j                  r>t	        | j                  |      }|j                  d      }|rdj                  |      }n@d}n=t        | j                  |      }|j                  d      }|rdj                  |      }nd}|j                  d      }|r| dt        |       }|j                  dd       d}|j                  ,|j                  j                  |j                  j                  }t        j                  |      }t        j                  |      }| j                  j                  d|||       d{   }	| j                  j                  rt!        | j                  |	      }	nt#        | j                  |	      }	t         j$                  j'                  |	|j)                         	      }
| j                  j+                  |
       |
S 7 w)
zGets cached content configurations.

    .. code-block:: python

      await client.aio.caches.get(name= ... ) // The server-generated resource
      name.
    r  r   r  r   r   r   Nr  r   )r   r  r   r   r   r  r  r   r   r  r   r  r	   r  r  r8  r   r   r  r	  r
  r  r  s              r+   r  zAsyncCaches.getq  s     77O   :


Ol &))&1	""#349


Ol &))&1	""#34##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL**88t\< M   0


Mm
 00@0@-Pm&&55'A'A'C 6 L 	%%l3!r9  c                  K   t        j                  ||      }| j                  j                  r>t	        | j                  |      }|j                  d      }|rdj                  |      }n@d}n=t        | j                  |      }|j                  d      }|rdj                  |      }nd}|j                  d      }|r| dt        |       }|j                  dd       d}|j                  ,|j                  j                  |j                  j                  }t        j                  |      }t        j                  |      }| j                  j                  d|||       d{   }	| j                  j                  rt!        | j                  |	      }	nt#        | j                  |	      }	t         j$                  j'                  |	|j)                         	      }
| j                  j+                  |
       |
S 7 w)
zDeletes cached content.

    Usage:

    .. code-block:: python

      await client.aio.caches.delete(name= ... ) // The server-generated
      resource name.
    r  r   r  r   r   r   Nr  r   )r   r  r   r   r   r  r  r   r   r  r   r  r	   r  r  r8  r   r   r  r	  r
  r  r  s              r+   r  zAsyncCaches.delete  s      ::O   =


Ol &))&1	""#34<


Ol &))&1	""#34##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL**88$l M   >


Mm
 >


Mm 44CC'A'A'C D L 	%%l3%r9  c                  K   t        j                  ||      }| j                  j                  r>t	        | j                  |      }|j                  d      }|rdj                  |      }n@d}n=t        | j                  |      }|j                  d      }|rdj                  |      }nd}|j                  d      }|r| dt        |       }|j                  dd       d}|j                  ,|j                  j                  |j                  j                  }t        j                  |      }t        j                  |      }| j                  j                  d|||       d{   }	| j                  j                  rt!        | j                  |	      }	nt#        | j                  |	      }	t         j$                  j'                  |	|j)                         	      }
| j                  j+                  |
       |
S 7 w)
zUpdates cached content configurations.

    .. code-block:: python

      response = await client.aio.caches.update(
          name= ... // The server-generated resource name.
          config={
              'ttl': '7600s',
          },
      )
    r  r   r  r   r   r   Nr   r   )r   r!  r   r   r   r  r  r   r   r  r   r  r	   r  r  r8  r   r   r  r	  r
  r  r  s              r+   r"  zAsyncCaches.update  s    $ ::O   =


Ol &))&1	""#34<


Ol &))&1	""#34##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL**88|\ M   0


Mm
 00@0@-Pm&&55'A'A'C 6 L 	%%l3!r9  c                  K   t        j                  |      }| j                  j                  r>t	        | j                  |      }|j                  d      }|rdj                  |      }n@d}n=t        | j                  |      }|j                  d      }|rdj                  |      }nd}|j                  d      }|r| dt        |       }|j                  dd       d}|j                  ,|j                  j                  |j                  j                  }t        j                  |      }t        j                  |      }| j                  j                  d|||       d{   }| j                  j                  rt!        | j                  |      }nt#        | j                  |      }t         j$                  j'                  ||j)                         	      }	| j                  j+                  |	       |	S 7 w)
zLists cached content configurations.

    .. code-block:: python

      cached_contents = await client.aio.caches.list(config={'page_size': 2})
      async for cached_content in cached_contents:
        print(cached_content)
    r   r   r   r   r   r   Nr  r   )r   r$  r   r   r   r  r  r   r   r  r   r  r	   r  r  r8  r   r   r%  r	  r
  r  r&  s
             r+   r'  zAsyncCaches._listT  s     99O   <


Ol &))&1	**+;<;


Ol &))&1	**+;<##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL**88t\< M   =


Mm
 =


Mm 33BB'A'A'C C L 	%%l3%s   E"G:$G8%BG:c                n   K   t        d| j                  | j                  |       d {   |      S 7 	wr)  )r   r'  r*  s     r+   r+  zAsyncCaches.list  s8      

jjj''	  	(s   '53
5)r,  r-  r.  r/  r   r   r0  r  r  r1  r  r2  r  r  r3  r"  r4  r%  r'  r   r+  rY   r-   r+   r6  r6    sd    AE	Q Q u<<=	Q
 Qn >B	G G u99:	G
 GZ AE	K K u<<=	K
 ((Kb AE	K K u<<=	K
 K\ IMF D DEF''FR IM D DE%%%&r-   r6  rX   )Gloggingtypingr   r   r   urllib.parser    r   r	   r
   r   r   r   r   r   r&   r   r(   pagersr   r   	getLoggerloggerdictobjectr,   r4   rQ   rV   rZ   rb   rh   rs   rx   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   
BaseModuler   r6  rY   r-   r+   <module>rI     s)
  $  ' ' "      & . . %			0	1 %)))tV|$) D>) 
	)^ %)tV|$ D> 
	2 %)LLtV|$L D>L 
	Ld %)tV|$ D> 
	0 %)tV|$ D> 
	 %)tV|$ D> 
	, %)tV|$ D> 
	. %)**tV|$* D>* 
	*` %)tV|$ D> 
	, %)tV|$ D> 
	. %)::tV|$: D>: 
	:@ %)tV|$ D> 
	8 %)tV|$ D> 
	, %)tV|$ D> 
	, %)tV|$ D> 
	& %)tV|$ D> 
	8 %)tV|$ D> 
	2 %)tV|$ D> 
	* %)))tV|$) D>) 
	)^ %)tV|$ D> 
	2 %)LLtV|$L D>L 
	Ld %)tV|$ D> 
	< %)tV|$ D> 
	 %)tV|$ D> 
	, %)tV|$ D> 
	. %)**tV|$* D>* 
	*` %)tV|$ D> 
	, %)tV|$ D> 
	. %)::tV|$: D>: 
	:@ %)tV|$ D> 
	8 %)tV|$ D> 
	, %)tV|$ D> 
	, %)tV|$ D> 
	& %)tV|$ D> 
	8 %)tV|$ D> 
	2 %)tV|$ D> 
	* %)tV|$ D> 
	B %)tV|$ D> 
	 %)tV|$ D> 
	2 %)tV|$ D> 
	B %)tV|$ D> 
	 %)tV|$ D> 
	,F[## FRH+(( Hr-   