
    rOibJ                       d dl Z d dlmZmZmZ d dlmZ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mZmZmZ d d
lmZ d dlmZmZ d dlm Z  dede!de"fdZ#dedefdZ$dedefdZ%de&e!ef   de&e!ef   fdZ'de
e!ef   de&e!ef   fdZ(dejR                  dejT                  fdZ+dejT                  dejR                  fdZ, G d d      Z- G d d      Z.y# e$ r Y w xY w)    N)datedatetimetimezone)AnyMappingSequenceget_args)
MessageMap)MessageToDict)	Timestamp)MessageMapContainer)grpc)	ListValue	NullValueStructValue)models)	constructto_jsonable_python)get_args_subscribedmessagefieldreturnc           	          	 | j                  |      S # t        $ rD t        | j                         D cg c]  \  }}|j                   nc c}}w c}}      }||v cY S w xY w)a  
    Same as protobuf HasField, but also works for primitive values
    (https://stackoverflow.com/questions/51918871/check-if-a-field-has-been-set-in-protocol-buffer-3)

    Args:
        message (Any): protobuf message
        field (str): name of the field
    )HasField
ValueErrorset
ListFieldsname)r   r   
descriptor_value
all_fieldss        k/volume1/homes/robertsu/coba/app/.venv/lib/python3.12/site-packages/qdrant_client/conversions/conversion.py	has_fieldr$      s_    #&& #GDVDVDXYDX.@j&*//DXYZ

""#s    !A A
A A payloadc           
         | t        t        j                        S t        | t              rt        |       S t        | t
              rt        |       S t        | t              rt        |       S t        | t              rt        |       S t        | t        t        f      r-t        t        | D cg c]  }t        |       c}            S t        | t              r4t        t        t        d | j                         D              	      
      S t        | t              st        | t               rt        t#        |             S t%        d|        c c}w )N)
null_value)
bool_valueinteger_value)double_valuestring_value)values)
list_valuec              3   <   K   | ]  \  }}|t        |      f  y wNjson_to_value).0kvs      r#   	<genexpr>z json_to_value.<locals>.<genexpr>4   s     +^odaQa0@,Ao   fields)struct_valuezNot supported json value: )r   r   
NULL_VALUE
isinstanceboolintfloatstrlisttupler   r3   dictr   itemsr   r   r   r   )r%   r6   s     r#   r3   r3   %   s   	 4 455'4 (('37++'5!'**'3'**'D%=)	G1TGq-2BG1T UVV'4 t+^gmmo+^'^_
 	
 '8$
7D(A"4W"=>>
1';
<< 2Us   1Evaluec                 r   t        | t              rt        | d      }n| }d|v rt        |d         S d|v r|d   S d|v r|d   S d|v r|d   S d|v r/d|d   vri S t	        d	 |d   d   j                         D              S d
|v r!d|d
   v rt        d |d
   d   D              S g S d|v ry t        d|       )NF)preserving_proto_field_nameintegerValuedoubleValuestringValue	boolValuestructValuer:   c              3   <   K   | ]  \  }}|t        |      f  y wr1   value_to_jsonr4   keyvals      r#   r7   z value_to_json.<locals>.<genexpr>N   s#      
6](#sS-$%6]r8   	listValuer.   c              3   2   K   | ]  }t        |        y wr1   rO   )r4   rS   s     r#   r7   z value_to_json.<locals>.<genexpr>S   s     T6Ssc*6Ss   	nullValuezNot supported value: )r=   r   r   r?   rD   rE   rB   r   )rF   value_s     r#   rP   rP   ;   s   %u%H 6.)**m$$m$$fk""6-00I 
6<]6KH6U6[6[6]
 
 	
 fvk**Tf[6I(6STTTIf
,VH5
66    c                 B    t        d | j                         D              S )Nc              3   <   K   | ]  \  }}|t        |      f  y wr1   r2   rQ   s      r#   r7   z"payload_to_grpc.<locals>.<genexpr>\   s     J/hc3mC()/r8   rD   rE   )r%   s    r#   payload_to_grpcr\   [   s    J'--/JJJrX   grpc_c                 B    t        d | j                         D              S )Nc              3   <   K   | ]  \  }}|t        |      f  y wr1   rO   rQ   s      r#   r7   z"grpc_to_payload.<locals>.<genexpr>`   s     H-hc3mC()-r8   r[   )r]   s    r#   grpc_to_payloadr`   _   s    H%++-HHHrX   modelc                    | t         j                  j                  k(  rt         j                  j                  S | t         j                  j
                  k(  rt         j                  j                  S | t         j                  j                  k(  rt         j                  j                  S | t         j                  j                  k(  rt         j                  j                  S | t         j                  j                  k(  rt         j                  j                  S | t         j                  j                  k(  rt         j                  j                  S | t         j                  j                  k(  rt         j                  j                   S | t         j                  j"                  k(  rt         j                  j$                  S t'        d|        Nz!invalid PayloadSchemaType model: )r   PayloadSchemaTypeKeyword	FieldTypeFieldTypeKeywordIntegerFieldTypeIntegerFloatFieldTypeFloatBoolFieldTypeBoolGeoFieldTypeGeoTextFieldTypeTextDatetimeFieldTypeDatetimeUuidFieldTypeUuidr   ra   s    r#   !grpc_payload_schema_to_field_typerw   c   s5   &&...~~...&&...~~...&&,,,~~,,,&&+++~~+++&&***~~***&&+++~~+++&&///~~///&&+++~~+++
8@
AArX   c                    | t         j                  j                  k(  rt         j                  j                  S | t         j                  j
                  k(  rt         j                  j                  S | t         j                  j                  k(  rt         j                  j                  S | t         j                  j                  k(  rt         j                  j                  S | t         j                  j                  k(  rt         j                  j                  S | t         j                  j                  k(  rt         j                  j                  S | t         j                  j                  k(  rt         j                  j                   S | t         j                  j"                  k(  rt         j                  j$                  S t'        d|        )Nzinvalid FieldType model: )r   rf   rg   rd   re   ri   rh   rk   rj   rm   rl   ro   rn   rq   rp   rs   rr   ru   rt   r   rv   s    r#   !grpc_field_type_to_payload_schemary   x   s5   ///%%---///%%------%%+++,,,%%***+++%%))),,,%%***000%%...,,,%%***
08
99rX   c            
        3   e Zd Zedej
                  dej
                  fd       Zedej                  dej                  fd       Z	edej                  dej                  fd       Zededefd       Zedej                  dej                  fd       Zedej"                  dej"                  fd       Zedej&                  dej&                  fd	       Zedej*                  dej*                  fd
       Zedej.                  dej.                  fd       Zedej2                  dej2                  fd       Zedej6                  dej6                  fd       Zedej:                  dej<                  fd       Zedej@                  dej@                  fd       Z!edejD                  dejD                  fd       Z#edejD                  dejH                  fd       Z%edejL                  dejL                  fd       Z'edejP                  dejR                  fd       Z*edejV                  dejV                  fd       Z,edejZ                  dej\                  fd       Z/ede0e1ejd                  f   de0e1ejf                  f   fd       Z4edejd                  dejf                  fd       Z5edejl                  dejn                  fd       Z8edejr                  dejr                  fd       Z:edejv                  dejv                  fd       Z<edejz                  dejz                  fd       Z>edej~                  dej~                  fd       Z@edej                  dej                  fd       ZBedej                  dej                  fd       ZDedej                  dej                  fd       ZFedej                  dej                  fd        ZIedej                  dej                  fd!       ZKedej                  dej                  fd"       ZMedej                  dej                  fd#       ZOedej                  dej                  fd$       ZQedej                  dej                  fd%       ZSedej                  dej                  fd&       ZUedej                  dej                  fd'       ZWedej                  dej                  fd(       ZYedej                  dej                  fd)       Z[edej                  dej                  fd*       Z]edd+dej                  fd,       Z_edej                  dej                  fd-       Zaedej                  dej                  fd.       Zcedej                  dej                  fd/       Zeedej                  dej                  fd0       Zgedej                  dej                  fd1       ZiedejZ                  dejZ                  fd2       Zjedej                  dej                  fd3       ZledejP                  dejP                  fd4       Zmedej                  dej                  fd5       Zoedej                  dej                  fd6       Zqedej                  dej                  fd7       Zsedej                  dej                  fd8       Zue	 ddej                  d:ej                  d9z  dej                  fd;       Zxedej                  dej                  fd<       Z{edej                  dej                  fd=       Z|edej                  dej                  fd>       Zedej                  dej                  fd?       Zedej                  dej                  fd@       Zedej                  dej                  fdA       Zedej
                  dej
                  fdB       Zedej                  dej                  fdC       Zedej                  dej                  fdD       Zedej                  dej                  fdE       Zedej                  dej                  fdF       Zedej                  ej                   z  dee1d9z  ee   eee      z  ej(                  z  ej*                  z  ej,                  z  ej.                  z  f   fdG       Zedej                  dee   eee      z  ej(                  z  ej*                  z  ej,                  z  ej.                  z  fdH       Zedej                   dee   eee      z  ej(                  z  fdI       Zedej6                  de0e1ej                  f   fdJ       Zedej:                  de0e1ej                   f   fdK       Zedej>                  dej@                  fdL       ZedejD                  dejF                  fdM       ZedejJ                  dee   fdN       Zedej(                  dej(                  fdO       ZedejP                  deee      fdP       Zedej*                  dej*                  fdQ       Zedej,                  dej,                  fdR       Zedej.                  dej.                  fdS       ZedejZ                  dejZ                  fdT       Zedej^                  dej^                  fdU       Zedejb                  dejd                  fdV       Zedejh                  dejh                  fdW       Zedejl                  dejl                  fdX       Zedejp                  dejp                  fdY       Zedejt                  dejt                  fdZ       Zedejx                  dejz                  fd[       Zedej~                  dej~                  fd\       Zedej                  dej                  fd]       Zedej                  dej                  fd^       Zedej                  dej                  fd_       Zedej                  dej                  fd`       Zedej                  dej                  fda       Zedej                  dej                  fdb       Zedej                  dej                  fdc       Zedej                  dej                  fdd       Zedej                  dej                  fde       Zedej                  dej                  fdf       Zedej                  dej                  fdg       Zedej                  dej                  fdh       Zedej                  dej                  fdi       Zedej                  dee1   fdj       Zedej                  dej                  fdk       Zedej                  dej                  fdl       Zedej                  dej                  fdm       Zedej                  dej                  fdn       Zedej                  dej                  fdo       Zedej                  dej                  fdp       Zedej                  dej                  fdq       Zedej                  dej                  fdr       Zedej                  dej                  fds       Zedej                  dej                  fdt       Zedej                  dej                  fdu       Zedej                  dej                  fdv       Zedej                  dej                  fdw       Zedej                  dej                  fdx       Zedej                  dej                  fdy       Zedej                   dej                   fdz       Zedej                  dej                  fd{       Zedej                  dej                  fd|       Zedej                  dej                  fd}       Zedej                  dej                  fd~       Z
edej                  dej                  fd       Zedej                  dej                  fd       Zedej"                  dej"                  fd       Zedej&                  dej&                  fd       Zedej*                  dej*                  fd       Zedej.                  dej.                  fd       Zedej2                  dej2                  fd       Zedej6                  dej6                  fd       Zedej:                  dej:                  fd       Zedej>                  dej>                  fd       Z edejB                  dejB                  fd       Z"edejF                  dejF                  fd       Z$edejJ                  dejJ                  fd       Z&edejN                  dejN                  fd       Z(edejR                  dejR                  fd       Z*edejV                  dejX                  fd       Z-edej\                  dej\                  fd       Z/edej`                  dejb                  fd       Z2edejf                  dejf                  fd       Z4edejj                  dejj                  fd       Z6edejn                  de0e1ejj                  f   fd       Z8edejr                  dejr                  fd       Z:edejv                  dejv                  fd       Z<edej                  dej                  fd       Z=edej|                  dej|                  fd       Z?edej                  ej                  z  ej                  z  ej                  z  ej                  z  ej                  z  ej                  z  ej                  z  dej                  fd       ZIedej                  dej                  fd       ZJedej                  dej                  fd       ZKedej                  dej                  fd       ZLedej                  dej                  fd       ZMedej                  dej                  fd       ZOedej                  dej                  fd       ZQedej                  dej                  fd       ZRedej                  dej                  fd       ZSedej                  dej                  fd       ZUedej                  dej                  fd       ZWedej                  dej                  fd       ZYedej                  dej                  fd       Z[edej                  dej                  fd       Z]edej                  dej                  fd       Z`edej                  dej                  fd       Zcedej                  dej                  fd       Zeedej                  dej                  fd       Zhedej                  dej                  fd       Zkedej                  dej                  fd       Zmedej                  dej                  fd       Zoedej                  dej                  fd       Zqedej                  dej                  fd       Zsedej                  dej                  fd       Zuedej                  dej                  fd       Zwedej                  dej                  fd       Zyedej                  dej                  fd       Z{edej                  dej                  fd       Z}edej                  dej                  fd       Zedej                   dej                  fd       Zedej                  dej                  fd       Zedej
                  dej
                  fd       Zedej                  dej                  fd       Zedej                  dej                  fd       Zedej                  dej                  fd       Zy9)
GrpcToRestra   r   c                    |j                  d      }|t        d|       t        ||      }|dk(  r| j                  |      S |dk(  r| j	                  |      S |dk(  r| j                  |      S |dk(  r| j                  |      S |dk(  r| j                  |      S |dk(  r| j                  |      S |d	k(  r| j                  |      S t        d|       )
Ncondition_one_ofinvalid Condition model: r   filterhas_id
has_vectoris_emptyis_nullnested)

WhichOneofr   getattrconvert_field_conditionconvert_filterconvert_has_id_conditionconvert_has_vector_conditionconvert_is_empty_conditionconvert_is_null_conditionconvert_nested_conditionclsra   r   rS   s       r#   convert_conditionzGrpcToRest.convert_condition   s     23<8@AAeT"7?..s338%%c**8//44<33C88:11#66900558//444UG<==rX   c                 *   t        j                  |j                  D cg c]  }| j                  |       c}|j                  D cg c]  }| j                  |       c}|j
                  D cg c]  }| j                  |       c}|j                  d      rat        j                  |j                  j                  D cg c]  }| j                  |       c}|j                  j                              S d       S c c}w c c}w c c}w c c}w )N
min_should
conditions	min_count)mustshouldmust_notr   )restFilterr   r   r   r   r   	MinShouldr   r   r   )r   ra   	conditions      r#   r   zGrpcToRest.convert_filter   s    {{DIJJOJy#''	2JOFKllSlC)))4lSHMW9c++I6W >>,/  */)9)9)D)D )DI --i8)D  $..88
 	
 
 	
OSW s   DD
.D Dc                 &   t        j                  |j                  d      r|j                  nd |j                  d      r|j                  nd |j                  d      r|j
                  nd |j                  d      r|j                        S d       S Ngtgteltlte)r   r   r   r   )r   Ranger   r   r   r   r   r   ra   s     r#   convert_rangezGrpcToRest.convert_range   sp    zz >>$/uxxT"^^E2		 >>$/uxxT"^^E2			
 	
 9=	
 	
rX   c                 B    |j                  t        j                        S )N)tzinfo)
ToDatetimer   utcr   s     r#   convert_timestampzGrpcToRest.convert_timestamp   s    x||44rX   c                    t        j                  |j                  d      r| j                  |j                        nd |j                  d      r| j                  |j
                        nd |j                  d      r| j                  |j                        nd |j                  d      r | j                  |j                              S d       S r   )r   DatetimeRanger   r   r   r   r   r   r   s     r#   convert_datetime_rangez!GrpcToRest.convert_datetime_range   s    !!27..2Fs$$UXX.D49NN54I%%eii0t27..2Fs$$UXX.D49NN54I%%eii0	
 	
 PT	
 	
rX   c                 v    t        j                  | j                  |j                        |j                        S N)centerradius)r   	GeoRadiusconvert_geo_pointr   r   r   s     r#   convert_geo_radiuszGrpcToRest.convert_geo_radius   )    ~~S%:%:5<<%HQVQ]Q]^^rX   c                     t        j                  |j                  D cg c]  }| j                  |       c}      S c c}w Npoints)r   GeoLineStringr   r   r   ra   points      r#   convert_geo_line_stringz"GrpcToRest.convert_geo_line_string   9    !!TYT`T`)aT`5#*?*?*FT`)abb)a   >c           	          t        j                  | j                  |j                        |j                  r.|j                  D cg c]  }| j                  |       c}      S d       S c c}w N)exterior	interiors)r   
GeoPolygonr   r   r   r   ra   interiors      r#   convert_geo_polygonzGrpcToRest.convert_geo_polygon   sh    00@ ?? HMW8,,X6W
 	

 
 	
 X   A+
c                 B    t        j                  |j                        S N)r   )r   CollectionDescriptionr   r   s     r#   convert_collection_descriptionz)GrpcToRest.convert_collection_description        ))uzz::rX   c                    t        j                  | j                  |j                        | j	                  |j
                        | j                  |j                        |j                  | j                  |j                        |j                  |j                  xs d|j                  d      r | j                  |j                              S d       S )Nr   update_queue)configoptimizer_statuspayload_schemasegments_countstatuspoints_countindexed_vectors_countr   )r   CollectionInfoconvert_collection_configr   convert_optimizer_statusr   convert_payload_schemar   r   convert_collection_statusr   r   r   r   convert_update_queue_infor   r   s     r#   convert_collection_infoz"GrpcToRest.convert_collection_info   s    ""00> 99%:P:PQ55e6J6JK //00>++"'"="="B >>.1 --e.@.@A
 	
 
 	
rX   c                 B    t        j                  |j                        S N)length)r   UpdateQueueInfor   r   s     r#   r   z$GrpcToRest.convert_update_queue_info       ##<<
 	
rX   c                     |j                   rt        j                  j                  S t        j                  |j
                        S )N)error)okr   OptimizersStatusOneOfOKOptimizersStatusOneOf1r   r   s     r#   r   z#GrpcToRest.convert_optimizer_status   s0    88--000..U[[AArX   c                 
   t        j                  | j                  |j                        | j	                  |j
                        | j                  |j                        | j                  |j                        |j                  d      r| j                  |j                        nd |j                  d      r| j                  |j                        nd |j                   | j!                  |j                              S d       S )Nquantization_configstrict_mode_config)hnsw_configoptimizer_configparams
wal_configr   r   metadata)r   CollectionConfigconvert_hnsw_configr   convert_optimizer_configr   convert_collection_paramsr   convert_wal_configr   r   convert_quantization_configr   !convert_strict_mode_config_outputr   r   convert_payloadr   s     r#   r   z$GrpcToRest.convert_collection_config  s    $$//0A0AB 99%:P:PQ00>--e.>.>? >>"78 //0I0IJ >>"67 55e6N6NO<ANN<VS((8
 	
 ]a
 	
rX   c                    t        j                  |j                  d      r|j                  nd |j                  d      r|j                  nd |j                  d      r|j
                  nd |j                  d      r|j                  nd |j                  d      r|j                  nd |j                  d      r|j                  nd |j                  d      r|j                        S d       S 	Nef_constructmfull_scan_thresholdmax_indexing_threadson_disk	payload_minline_storage)r   r   r   r   r   r   r  )
r   HnswConfigDiffr   r   r   r   r   r   r   r  r   s     r#   convert_hnsw_config_diffz#GrpcToRest.convert_hnsw_config_diff  s    ""/4~~n/M++SW,egg$-2^^<Q-R))X\ /4nn=S.T**Z^%*^^I%>EMMD).)Deoo$38>>BR3S5//
 	
 Z^
 	
rX   c                    t        j                  |j                  d      r|j                  nd |j                  d      r|j                  nd |j                  d      r|j
                  nd |j                  d      r|j                  nd |j                  d      r|j                  nd |j                  d      r|j                  nd |j                  d      r|j                        S d       S r   )
r   
HnswConfigr   r   r   r   r   r   r   r  r   s     r#   r   zGrpcToRest.convert_hnsw_config*  s    /4~~n/M++SW,egg$-2^^<Q-R))X\ /4nn=S.T**Z^%*^^I%>EMMD).)Deoo$38>>BR3S5//
 	
 Z^
 	
rX   c                 >   |j                  d      }|t        d|       |dk(  rY|j                  t        j                  j
                  j                  k(  rt        j                  j                  S t        d|       |dk(  r|j                  S t        d|       )Nvariant&invalid MaxOptimizationThreads model: settingrF   )r   r   r	  r   MaxOptimizationThreadsSettingAutor   MaxOptimizationThreadsSettingAUTOrF   r   ra   r   s      r#    convert_max_optimization_threadsz+GrpcToRest.convert_max_optimization_threads:  s     	*<EeWMNN9}} ; ; C C H HH99>>> <UGD  W_;;EeWMNNrX   c                    d }|j                  d      r|j                  }nK|j                  d      r:| j                  |j                        }|t        j
                  j                  k(  rd }t	        j                  |j                  d      r|j                  nd |j                  d      r|j                  nd t        |j                        |j                  d      r|j                  nd ||j                  d      r|j                  nd |j                  d      r|j                  nd |j                  d      r|j                  nd |j                  d	      r|j                   
	      S d 
	      S )N#deprecated_max_optimization_threadsmax_optimization_threadsdefault_segment_numberdeleted_thresholdindexing_thresholdmax_segment_sizememmap_thresholdvacuum_min_vector_numberprevent_unoptimized	r  r  flush_interval_secr  r  r  r  r  r  )r   r  r  r  r   r  r  OptimizersConfigr  r  r?   r  r  r  r  r  r  r   ra   r  s      r#   r   z#GrpcToRest.convert_optimizer_configN  sI   #' >>?@','P'P$^^67'*'K'K..($ (4+M+M+R+RR+/($$05?W0X,,^b ,1>>:M+N''TX"5#;#;<,1NN;O,P((VZ%=*/..9K*L&&RV +0..9K*L&&RV >>"<= .. .3^^<Q-R))1
 	
0 Y]1
 	
rX   c                    |t         j                  j                  k(  rt        j                  j                  S |t         j                  j
                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S t        d|       Nzinvalid Distance model: )r   DistanceCosiner   COSINEEuclidEUCLID	Manhattan	MANHATTANDotDOTr   r   s     r#   convert_distancezGrpcToRest.convert_distancev  s    DMM(((=='''dmm***=='''dmm---==***dmm'''==$$$7w?@@rX   c                     t        j                  |j                  d      r|j                  nd |j                  d      r|j                        S d       S Nwal_capacity_mbwal_segments_aheadr-  r.  )r   	WalConfigr   r-  r.  r   s     r#   r   zGrpcToRest.convert_wal_config  sQ    ~~5:^^DU5VE11\`,1NN;O,P((
 	
 W[
 	
rX   c                 t    |j                         D ci c]  \  }}|| j                  |       c}}S c c}}w r1   )rE   convert_payload_schema_info)r   ra   rR   infos       r#   r   z!GrpcToRest.convert_payload_schema  s8     MRKKMZMysDS44T::MZZZs   4c                     t        j                  | j                  |j                        |j	                  d      r| j                  |j                        nd |j                        S )Nr   	data_typer   r   )r   PayloadIndexInfoconvert_payload_schema_typer6  r   convert_payload_schema_paramsr   r   r   s     r#   r2  z&GrpcToRest.convert_payload_schema_info  sS    $$55eooF >>(+ 11%,,?<<
 	
rX   c                    |j                  d      r|j                  }| j                  |      S |j                  d      r|j                  }| j	                  |      S |j                  d      r|j
                  }| j                  |      S |j                  d      r|j                  }| j                  |      S |j                  d      r|j                  }| j                  |      S |j                  d      r|j                  }| j                  |      S |j                  d      r|j                  }| j                  |      S |j                  d      r|j                  }	| j!                  |	      S t#        d	|       )
Ntext_index_paramsinteger_index_paramskeyword_index_paramsfloat_index_paramsgeo_index_paramsbool_index_paramsdatetime_index_paramsuuid_index_paramsz"invalid PayloadIndexParams model: )r   r;  convert_text_index_paramsr<  convert_integer_index_paramsr=  convert_keyword_index_paramsr>  convert_float_index_paramsr?  convert_geo_index_paramsr@  convert_bool_index_paramsrA  convert_datetime_index_paramsrB  convert_uuid_index_paramsr   )
r   ra   r;  r<  r=  r>  r?  r@  rA  rB  s
             r#   r9  z(GrpcToRest.convert_payload_schema_params  so    >>-. % 7 7001BCC>>01#(#=#= 334HII>>01#(#=#= 334HII>>./!&!9!9112DEE>>,-$55//0@AA>>-. % 7 7001BCC>>12$)$?$?!445JKK>>-. % 7 7001BCC=eWEFFrX   c                    |t         j                  j                  k(  rt        j                  j                  S |t         j                  j
                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                   S |t         j                  j"                  k(  rt        j                  j$                  S t'        d|       rc   )r   rd   rj   r   FLOATrn   GEOrh   INTEGERre   KEYWORDrl   BOOLrp   TEXTrr   DATETIMErt   UUIDr   r   s     r#   r8  z&GrpcToRest.convert_payload_schema_type  sE   D**000))///d,,000))---d,,444))111d,,444))111d,,111))...d,,111))...d,,555))222d,,111))...@HIIrX   c                    |t         j                  j                  k(  rt        j                  j                  S |t         j                  j
                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S t        d|       Nz invalid CollectionStatus model: )r   CollectionStatusGreenr   GREENYellowYELLOWRedREDGreyGREYr   r   s     r#   r   z$GrpcToRest.convert_collection_status  s    D))///((...d++222((///d++///((,,,d++000((---;E7CDDrX   c                 v    t        j                  |j                  | j                  |j                              S N)operation_idr   )r   UpdateResultra  convert_update_statusr   r   s     r#   convert_update_resultz GrpcToRest.convert_update_result  s0      ++,,U\\:
 	
rX   c                 h   |t         j                  j                  k(  rt        j                  j                  S |t         j                  j
                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S t        d|       Nzinvalid UpdateStatus model: )
r   UpdateStatusAcknowledgedr   ACKNOWLEDGED	Completed	COMPLETEDWaitTimeoutWAIT_TIMEOUTr   r   s     r#   rc  z GrpcToRest.convert_update_status  s    D%%222$$111d''111$$...d''333$$111;E7CDDrX   c                 ,   |t         j                  k(  rt        j                  j                  S |t         j
                  k(  rt        j                  j                  S |t         j                  k(  rt        j                  j                  S t        d|       Nzinvalid UpdateMode model: )
r   Upsertr   
UpdateModeUPSERT
InsertOnlyINSERT_ONLY
UpdateOnlyUPDATE_ONLYr   r   s     r#   convert_update_modezGrpcToRest.convert_update_mode  si    DKK??)))doo%??...doo%??...9%ABBrX   c                     t        j                  |j                  D cg c]  }| j                  |       c}      S c c}w Nr   )r   HasIdConditionr   convert_point_idr   ra   idxs      r#   r   z#GrpcToRest.convert_has_id_condition  s9    ""PUP\P\*]P\3+?+?+DP\*]^^*]r   c                 B    t        j                  |j                        S Nr   )r   HasVectorConditionr   r   s     r#   r   z'GrpcToRest.convert_has_vector_condition        &&%2B2BCCrX   c                     |j                  d      }|dk(  r|j                  S |dk(  r|j                  S t        d|       )Npoint_id_optionsnumuuidzinvalid PointId model: )r   r  r  r   r  s      r#   r|  zGrpcToRest.convert_point_id  sH     235=996>::25':;;rX   c                 B    t        j                  |j                        S N)
alias_name)r   DeleteAliasr  r   s     r#   convert_delete_aliaszGrpcToRest.convert_delete_alias      5+;+;<<rX   c                 X    t        j                  |j                  |j                        S N)old_alias_namenew_alias_name)r   RenameAliasr  r  r   s     r#   convert_rename_aliaszGrpcToRest.convert_rename_alias  &     //@T@T
 	
rX   c                 j    t        j                  t        j                  |j                              S )NrR   r   )r   IsEmptyConditionPayloadFieldrR   r   s     r#   r   z%GrpcToRest.convert_is_empty_condition  s"    $$d.?.?EII.NOOrX   c                 j    t        j                  t        j                  |j                              S )Nr  r   )r   IsNullConditionr  rR   r   s     r#   r   z$GrpcToRest.convert_is_null_condition  s"    ##D,=,=%)),LMMrX   c                     t        j                  t        j                  |j                  | j	                  |j
                                    S )NrR   r   r   )r   NestedConditionNestedrR   r   r   r   s     r#   r   z#GrpcToRest.convert_nested_condition"  s:    ##;;II))%,,7
 	
rX   c           	         t        j                  |j                  d      r|j                  nd |j                  d      r|j                  nd |j                  d      r| j                  |j                        nd |j                  d      r|j                  nd |j                  d      r | j                  |j                              S d       S )Nhnsw_efexactquantizationindexed_onlyacornr  r  r  r  r  )
r   SearchParamsr   r  r  "convert_quantization_search_paramsr  r  convert_acorn_search_paramsr  r   s     r#   convert_search_paramsz GrpcToRest.convert_search_params+  s      %*^^I%>EMMD!&!8%++d >>.1 66u7I7IJ/4~~n/M++SW~~g& 11%++>
 	
 
 	
rX   c                     t        j                  |j                  d      r|j                  nd |j                  d      r|j                        S d       S )Nenablemax_selectivityr  r  )r   AcornSearchParamsr   r  r  r   s     r#   r  z&GrpcToRest.convert_acorn_search_params;  sK    %%#(>>(#;5<<5:^^DU5VE11
 	
\`
 	
rX   c                 X    t        j                  |j                  |j                        S N)collection_namer  )r   CreateAliasr  r  r   s     r#   convert_create_aliaszGrpcToRest.convert_create_aliasB  "    0E0ERWRbRbccrX   c                     |j                  d      }|t        d|       t        ||      }|dk(  r|S |dk(  r|S t        d|       )Nr  invalid OrderValue model: r?   r@   r   r   r   r   s       r#   convert_order_valuezGrpcToRest.convert_order_valueF  sa    	*<9%ABBeT"5=J7?J5eW=>>rX   c                    t        t        j                  | j                  |j                        t        |d      r| j                  |j                        nd |j                  |j                  d      r| j                  |j                        nd |j                  |j                  d      r| j                  |j                        nd |j                  d      r | j                  |j                               S d       S )Nr%   vectors	shard_keyorder_value)idr%   scorevectorversionr  r  )r   r   ScoredPointr|  r  r$   r   r%   r  r   convert_vectors_outputr  r  convert_shard_keyr  r  r  r   s     r#   convert_scored_pointzGrpcToRest.convert_scored_pointU  s    ##EHH-:CE9:UC''6[_++=B^^I=V**5==9\`MM:?..:U%%eoo6[_ >>-0 ''(9(9:
 	
 
 	
rX   r   c                 ,    t        fdD              S )Nc              3   >   K   | ]  }|t        |         f  y wr1   rO   )r4   rR   ra   s     r#   r7   z-GrpcToRest.convert_payload.<locals>.<genexpr>l  s      FS-c
34s   )rD   r   s    `r#   r   zGrpcToRest.convert_payloadj  s    FFFFrX   c                 &   t        j                  |j                  d      r|j                  nd |j                  d      r|j                  nd |j                  d      r|j
                  nd |j                  d      r|j                        S d       S r   )r   ValuesCountr   r   r   r   r   r   s     r#   convert_values_countzGrpcToRest.convert_values_countn  sr     >>$/uxxT"^^E2		 >>$/uxxT"^^E2			
 	
 9=	
 	
rX   c                     t        j                  | j                  |j                        | j                  |j                              S )N)bottom_righttop_left)r   GeoBoundingBoxr   r  r  r   s     r#   convert_geo_bounding_boxz#GrpcToRest.convert_geo_bounding_boxw  s;    ""..u/A/AB**5>>:
 	
rX   c                     t        j                  | j                  |j                        | j	                  |j
                        |j                  d      r | j                  |j                              S d       S )Nr  )r  r%   r  )	r   PointStructr|  r  r   r%   r   convert_vectorsr  r   s     r#   convert_point_structzGrpcToRest.convert_point_struct~  sg    ##EHH-''69>	9R3&&u}}5
 	
 Y]
 	
rX   c                 P   |j                  d      r| j                  |j                        nd }|j                  d      r| j                  |j                        nd }|j                  d      r| j                  |j                        nd }|j                  d      r| j                  |j                        nd }d }|j                  d      r| j                  |j                        }n,|j                  d      r| j                  |j                        }|j                  d      r| j                  |j                        nd }|j                  d      r|j                  nd }|j                  d	      r|j                   nd }	t#        j$                  |j&                  ||||||||	
	      S )Ngeo_bounding_box
geo_radiusgeo_polygonmatchrangedatetime_rangevalues_countr   r   )	rR   r  r  r  r  r  r  r   r   )r   r  r  r   r  r   r  convert_matchr  r   r  r   r  r  r  r   r   r   FieldConditionrR   )
r   ra   r  r  r  r  range_r  r   r   s
             r#   r   z"GrpcToRest.convert_field_condition  sy    ~~01 (()?)?@ 	 9>|8TC""5#3#34Z^ 	
 ;@..:WC##E$5$56]a 	 38..2I!!%++.t-1>>'"&&u{{3F^^,-//0D0DEF ~~n- $$U%7%78 	 &+^^J%?5>>T#(>>)#<%--$""		-!#%

 
	
rX   c                 0   |j                  d      }|t        d|       t        ||      }|dk(  rt        j                  |      S |dk(  rt        j                  |      S |dk(  rt        j                  |      S |dk(  rt        j
                  |      S |d	k(  r)t        j                  t        |j                        
      S |dk(  r)t        j                  t        |j                        
      S |dk(  r*t        j                  di dt        |j                        iS |dk(  r*t        j                  di dt        |j                        iS |dk(  rt        j                  |      S |dk(  rt        j                  |      S t        d|       )Nmatch_valueinvalid Match model: integerrF   booleankeywordtextr  keywords)anyintegersexcept_keywordsexceptexcept_integersphraser  text_anyr   )r   r   r   r   
MatchValue	MatchTextMatchAnyrB   stringsr  MatchExceptMatchPhraseMatchTextAnyr   s       r#   r  zGrpcToRest.convert_match  sl   .<4UG<==eT"9??--9??--9??--6>>>s++:==T#++%677:==T#,,%788$$##Dxckk1B&CDD$$##Excll1C&DEE8##3//:$$c220899rX   c                     t        j                  |j                  d      r|j                  nd |j                  d      r|j                        S d       S r,  )r   WalConfigDiffr   r-  r.  r   s     r#   convert_wal_config_diffz"GrpcToRest.convert_wal_config_diff  sS    !!5:^^DU5VE11\`,1NN;O,P((
 	
 W[
 	
rX   c                 `   t        j                  |j                  d      r| j                  |j                        nd |j
                  |j                  |j                  d      r|j                  nd |j                  d      r|j                  nd |j                  d      r|j                  nd |j                  d      r|j                  nd |j                  d      r| j                  |j                        nd |j                  d      r | j                  |j                        	      S d 	      S )	Nvectors_configreplication_factorread_fan_out_factorread_fan_out_delay_mswrite_consistency_factorsparse_vectors_configsharding_method)	r  shard_numberon_disk_payloadr  r  r  r  sparse_vectorsr  )r   CollectionParamsr   convert_vectors_configr   r  r  r  r  r  r  convert_sparse_vector_configr  convert_sharding_methodr  r   s     r#   r   z$GrpcToRest.convert_collection_params  s   $$ >>"23 **5+?+?@++!11,1NN;O,P((VZ .3^^<Q-R))X\ 05~~>U/V++\` >>"<= .. >>"9: 001L1LM >>"34 ++E,A,AB9 
  	
< = 
  	
rX   c                    d }|j                  d      r|j                  }n,|j                  d      r| j                  |j                        }t	        j
                  |j                  d      r|j                  nd |j                  d      r|j                  nd |j                  d      rt        |j                        nd |j                  d      r|j                  nd ||j                  d      r|j                  nd |j                  d      r|j                  nd |j                  d	      r|j                  nd |j                  d
      r|j                  	      S d 	      S )Nr  r  r  r  r  r  r  r  r  r  r  )r   r  r  r  r   OptimizersConfigDiffr  r  r?   r  r  r  r  r  r  r  s      r#   convert_optimizers_config_diffz)GrpcToRest.convert_optimizers_config_diff  sD    $( >>?@','P'P$^^67'*'K'K..($ ((05?W0X,,^b ,1>>:M+N''TX 27@T1UE,,-[_ -2NN;O,P((VZ%=*/..9K*L&&RV +0..9K*L&&RV >>"<= .. .3^^<Q-R))5
 	
4 Y]5
 	
rX   c           
      H   t        j                  |j                  d      r| j                  |j                        nd |j                  d      r| j                  |j                        nd |j                  d      r| j                  |j                        nd |j                  d      r| j                  |j                        nd |j                  d      r| j                  |j                        nd |j                   | j                  |j                              S d       S )Nr   optimizers_configr   r   r   )r  r  r   r   r   r   )r   UpdateCollectionr   convert_vectors_config_diffr   r  r  convert_collection_params_diffr   r  r    convert_quantization_config_diffr   r   r   r   s     r#   convert_update_collectionz$GrpcToRest.convert_update_collection'  s   $$ >>"23 //0D0DE >>"56 2253J3JK >>(+ 225<<@ >>-0 ,,U->->? >>"78 44U5N5NO=B^^=Wc))%..95
 	
4 ^b5
 	
rX   c                 X    t        j                  |j                  |j                        S )N)latlon)r   GeoPointr  r  r   s     r#   r   zGrpcToRest.convert_geo_pointF  s!    }}				
 	
rX   c                 t   |j                  d      }|t        d|       t        ||      }|dk(  r%t        j                  | j                  |            S |dk(  r%t        j                  | j                  |            S |dk(  r%t        j                  | j                  |            S t        d|       )	Nactioninvalid AliasOperations model: rename_aliasr  create_aliasr!  delete_aliasr#  )
r   r   r   r   RenameAliasOperationr  CreateAliasOperationr  DeleteAliasOperationr  r   s       r#   convert_alias_operationsz#GrpcToRest.convert_alias_operationsM  s    )<>ugFGGeT">!,,#:R:RSV:WXX>!,,#:R:RSV:WXX>!,,#:R:RSV:WXX:5'BCCrX   c                 X    t        j                  |j                  |j                        S N)r  r  )r   AliasDescriptionr  r  r   s     r#   convert_alias_descriptionz$GrpcToRest.convert_alias_description]  '    $$''!11
 	
rX   Nshard_key_selectorc                 ^   |j                  d      }|t        d|       t        ||      }|dk(  r>t        j                  |j
                  D cg c]  }| j                  |       c}|      S |dk(  r&t        j                  | j                  |      |      S t        d|       c c}w )Npoints_selector_one_ofinvalid PointsSelector model: r   )r   r  r   )r   r  )	r   r   r   r   PointIdsListidsr|  FilterSelectorr   )r   ra   r.  r   rS   r   s         r#   convert_points_selectorz"GrpcToRest.convert_points_selectord  s      89<=eWEFFeT"8$$ADI,,U3I,  8&&))#.,  9%ABB Js   B*c                    |j                  d      }|t        d|       t        ||      }|dk(  r|S |dk(  rt        |j                        S |dk(  r)t        j                  t        |j                              S t        d|       )Nselector_optionsz#invalid WithPayloadSelector model: r  includeexcluder9  )r   r   r   rB   r:   r   PayloadSelectorExcluder   s       r#   convert_with_payload_selectorz(GrpcToRest.convert_with_payload_selector{  s      23<B5'JKKeT"8J9

##9..tCJJ7GHH>ugFGGrX   c                 $    | j                  |      S r1   )r<  r   s     r#   convert_with_payload_interfacez)GrpcToRest.convert_with_payload_interface  s     0077rX   c           	         t        j                  | j                  |j                        | j	                  |j
                        |j                  d      r| j                  |j                        nd |j                  d      r| j                  |j                        nd |j                  d      r | j                  |j                              S d       S )Nr  r  r  )r  r%   r  r  r  )r   Recordr|  r  r   r%   r   r  r  r  r  r  r  r   s     r#   convert_retrieved_pointz"GrpcToRest.convert_retrieved_point  s    {{##EHH-''6=B^^I=V**5==9\` ;@..:U%%eoo6[_ >>-0 ''(9(9:
 	
 
 	
rX   c                 $    | j                  |      S r1   )rA  r   s     r#   convert_recordzGrpcToRest.convert_record  s    **511rX   c                 B    t        j                  |j                        S N)count)r   CountResultrF  r   s     r#   convert_count_resultzGrpcToRest.convert_count_result      ekk22rX   c                     t        j                  |j                  |j                  d      r(|j                  j                         j                         nd |j                        S )Ncreation_timer   rK  size)r   SnapshotDescriptionr   r   rK  r   	isoformatrM  r   s     r#   convert_snapshot_descriptionz'GrpcToRest.convert_snapshot_description  sS     '' >>/2 ##..0::<
 	
rX   c                 h   |t         j                  j                  k(  rt        j                  j                  S |t         j                  j
                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S t        d|       Nzinvalid Datatype model: )
r   DatatypeFloat32r   FLOAT32Uint8UINT8Float16FLOAT16r   r   s     r#   convert_datatypezGrpcToRest.convert_datatype  s{    DMM)))==(((dmm)))==&&&dmm+++==(((7w?@@rX   c                 $   t        j                  |j                  | j                  |j                        |j                  d      r| j                  |j                        nd |j                  d      r| j                  |j                        nd |j                  d      r|j                  nd |j                  d      r| j                  |j                        nd |j                  d      r | j                  |j                              S d       S )Nr   r   r   datatypemultivector_configrM  distancer   r   r   r\  r]  )r   VectorParamsrM  r*  r_  r   r  r   r   r   r   rZ  r\  convert_multivector_configr]  r   s     r#   convert_vector_paramsz GrpcToRest.convert_vector_params  s      ))%..9 >>-0 ,,U->->? >>"78 //0I0IJ%*^^I%>EMMD=B^^J=WS))%..9]a >>"67 ..u/G/GH!
 	
$ %
 	
rX   c                 `    t        j                  | j                  |j                              S N)
comparator)r   MultiVectorConfigconvert_multivector_comparatorre  r   s     r#   ra  z%GrpcToRest.convert_multivector_config  )    %%99%:J:JK
 	
rX   c                     |t         j                  j                  k(  rt        j                  j                  S t        d|       Nz%invalid MultiVectorComparator model: )r   MultiVectorComparatorMaxSimr   MAX_SIMr   r   s     r#   rg  z)GrpcToRest.convert_multivector_comparator  s=     D..555--555@HIIrX   c                     |j                  d      }|t        d|       t        ||      }|dk(  r j                  |      S |dk(  r,t	         fd|j
                  j                         D              S t        d|       )Nr   invalid VectorsConfig model: r   
params_mapc              3   J   K   | ]  \  }}|j                  |      f  y wr1   rb  r4   rR   
vec_paramsr   s      r#   r7   z4GrpcToRest.convert_vectors_config.<locals>.<genexpr>  s*      Tcjc//
;<Tc    #)r   r   r   rb  rD   maprE   r   s   `   r#   r  z!GrpcToRest.convert_vectors_config  s    )<<UGDEEeT"8,,S11< TWT[T[TaTaTc   8@AArX   c                 f   |j                  d      }||j                  d      r=dt        j                  |j                  j
                  dd |j
                  dd       fS |j                  d      rR|j                  }|j
                  }t        |      |z  }dt        dt        |      |      D cg c]
  }||||z     c}fS d|j
                  dd fS t        ||      }|dk(  rd| j                  |      fS |dk(  rd| j                  |      fS |d	k(  rd| j                  |      fS ||fS c c}w )
a@  Parse common parts of vector structs

        Args:
            model: Vector or VectorOutput

        Returns:
            Tuple of name and value, name is None if the struct was parsed and returned with the converted value,
            otherwise it's propagated for further processing along with the raw value
        r  Nindicesrx  r.   vectors_countr   densesparsemulti_dense)r   r   r   SparseVectorrx  datarz  lenr  r   convert_dense_vectorconvert_sparse_vectorconvert_multi_dense_vector)r   ra   r   rz  r  stepirS   s           r#   _convert_vectorzGrpcToRest._convert_vector  sF   . )<~~i(T..u}}7I7I!7LUZU_U_`aUbccc~~o. % 3 3**7|}4U1c'lTX=YZ=Yga!d(3=YZZZA&& eT"7?11#6668223777= 77<<<Sy [s   2D.c                     | j                  |      \  }}||S |dk(  r| j                  |      S |dk(  r| j                  |      S |dk(  r| j                  |      S t	        d|       )Ndocumentimageobjectinvalid Vector model: )r  convert_documentconvert_imageconvert_inference_objectr   r   s       r#   convert_vectorzGrpcToRest.convert_vector-  s     ''.	c<J:'',,7?$$S))8//441%9::rX   c                 N    | j                  |      \  }}||S t        d|       )Nr  )r  r   r   s       r#   convert_vector_outputz GrpcToRest.convert_vector_outputH  s5     ''.	c<J1%9::rX   c                 v    i }|j                   j                         D ]  \  }}| j                  |      ||<    |S r1   )r  rE   r  r   ra   r  r   r  s        r#   convert_named_vectorsz GrpcToRest.convert_named_vectorsQ  s=    !MM//1LD&..v6GDM 2 rX   c                 v    i }|j                   j                         D ]  \  }}| j                  |      ||<    |S r1   )r  rE   r  r  s        r#   convert_named_vectors_outputz'GrpcToRest.convert_named_vectors_outputY  s?     !MM//1LD&55f=GDM 2 rX   c                     |j                  d      }|t        d|       t        ||      }|dk(  r| j                  |      S |dk(  r| j	                  |      S t        d|       )Nvectors_optionszinvalid Vectors model: r  r  )r   r   r   r  r  r   s       r#   r  zGrpcToRest.convert_vectorsc  s|     12<6ug>??eT"8%%c**9,,S1125':;;rX   c                     |j                  d      }|t        d|       t        ||      }|dk(  r| j                  |      S |dk(  r| j	                  |      S t        d|       )Nr  zinvalid VectorsOutput model: r  r  )r   r   r   r  r  r   s       r#   r  z!GrpcToRest.convert_vectors_outputp  s|     12<<UGDEEeT"8,,S11933C888@AArX   c                      |j                   d d  S r1   r  r   s     r#   r  zGrpcToRest.convert_dense_vector}  s    zz!}rX   c                 d    t        j                  |j                  d d  |j                  d d        S )Nry  )r   r~  rx  r.   r   s     r#   r  z GrpcToRest.convert_sparse_vector  s&      q)9%,,q/RRrX   c                 ^    |j                   D cg c]  }| j                  |       c}S c c}w r1   )r  r  r   ra   r  s      r#   r  z%GrpcToRest.convert_multi_dense_vector  s)    ?D}}M}V((0}MMM   *c                     t        j                  |j                  |j                  t	        |j
                              S N)r  ra   options)r   Documentr  ra   r`   r  r   s     r#   r  zGrpcToRest.convert_document  s-    }}++#EMM2
 	
rX   c                     t        j                  t        |j                        |j                  t        |j                              S N)r  ra   r  )r   ImagerP   r  ra   r`   r  r   s     r#   r  zGrpcToRest.convert_image  s2    zz,++#EMM2
 	
rX   c                     t        j                  t        |j                        |j                  t        |j                              S N)r  ra   r  )r   InferenceObjectrP   r  ra   r`   r  r   s     r#   r  z#GrpcToRest.convert_inference_object  s4    ## .++#EMM2
 	
rX   c                    |j                  d      }|t        d|       t        ||      }|dk(  r| j                  |      S |dk(  r| j	                  |      S |dk(  r| j                  |      S |dk(  r| j                  |      S |dk(  r| j                  |      S |dk(  r| j                  |      S |d	k(  r| j                  |      S t        d|       )
Nr  invalid VectorInput model: r  r{  r|  r}  r  r  r  )
r   r   r   r|  r  r  r  r  r  r  r   s       r#   convert_vector_inputzGrpcToRest.convert_vector_input  s    	*<:5'BCCeT"4<'',,7?++C008,,S11= 11#66:'',,7?$$S))8//446ug>??rX   c           	      D   t        j                  |j                  D cg c]  }| j                  |       c}|j                  D cg c]  }| j                  |       c}|j                  d      r | j                  |j                              S d       S c c}w c c}w )Nstrategypositivenegativer  )r   RecommendInputr  r  r  r   convert_recommend_strategyr  r  s      r#   convert_recommend_inputz"GrpcToRest.convert_recommend_input  s    ""EJ^^T^6c..v6^TEJ^^T^6c..v6^T >>*- ..u~~>	
 	
 
 	
TTs   BB
c                     t        j                  | j                  |j                        | j                  |j                              S N)r  r  )r   ContextPairr  r  r  r   s     r#   convert_context_input_pairz%GrpcToRest.convert_context_input_pair  s9    --enn=--enn=
 	
rX   c                 ^    |j                   D cg c]  }| j                  |       c}S c c}w r1   )pairsr  r   ra   pairs      r#   convert_context_inputz GrpcToRest.convert_context_input  s)    AFM..t4MMMr  c                     t        j                  | j                  |j                        | j	                  |j
                              S N)targetcontext)r   DiscoverInputr  r  r  r  r   s     r#   convert_discover_inputz!GrpcToRest.convert_discover_input  9    !!++ELL9--emm<
 	
rX   c                     |t         j                  j                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S t        d|       Nzinvalid Fusion model: )r   FusionRRFr   DBSFr   r   s     r#   convert_fusionzGrpcToRest.convert_fusion  U    DKKOO#;;??"DKK$$$;;###1%9::rX   c                     |t         j                  j                  k(  rt        j                  j                  S t        d|       Nzinvalid Sample model: )r   SampleRandomr   RANDOMr   r   s     r#   convert_samplezGrpcToRest.convert_sample  7    DKK&&&;;%%%1%9::rX   c                     t        |j                        }t        j                  | j	                  |j
                        |      S )N)formuladefaults)r`   r  r   FormulaQueryconvert_expression
expression)r   ra   r  s      r#   convert_formula_queryz GrpcToRest.convert_formula_query  s9    "5>>2  **5+;+;<x
 	
rX   c                 `   |j                  d      }|t        d|       |dk(  r|j                  S |dk(  r|j                  S |dk(  r| j	                  |j
                        S |dk(  r t        j                  |j                        S |dk(  r t        j                  |j                  	      S |d
k(  r| j                  |j                        S |dk(  r| j                  |j                        S |dk(  r| j                  |j                         S |dk(  r/t        j"                  | j%                  |j&                              S |dk(  r/t        j(                  | j%                  |j*                              S |dk(  r/t        j,                  | j%                  |j.                              S |dk(  r/t        j0                  | j%                  |j2                              S |dk(  r/t        j4                  | j%                  |j6                              S |dk(  r/t        j8                  | j%                  |j:                              S |dk(  r| j=                  |j>                        S |dk(  r| jA                  |jB                        S |dk(  r/t        jD                  | jG                  |jH                              S |dk(  r/t        jJ                  | jG                  |jL                              S |dk(  r/t        jN                  | jG                  |jP                               S t        d!|       )"Nr  invalid Query model: constantvariabler   r   r   datetime_keyr  summultdivabsr  negr  log10r  lnr  sqrtr  expr  powgeo_distance	lin_decayr  	exp_decayr  gauss_decayr  zUnknown function name: ))r   r   r  r  r   r   r   DatetimeExpressionr   DatetimeKeyExpressionr  convert_sum_expressionr  convert_mult_expressionr  convert_div_expressionr  AbsExpressionr  r  NegExpressionr  Log10Expressionr  LnExpressionr  SqrtExpressionr  ExpExpressionr  convert_pow_expressionr  convert_geo_distancer  LinDecayExpressionconvert_decay_params_expressionr  ExpDecayExpressionr  GaussDecayExpressionr  r  s      r#   r  zGrpcToRest.convert_expression  s   	*<4UG<==:>>!:>>!;((99:**ENNCC>!--5;M;MNN5=--eii886>..uzz::5=--eii885=%%#*@*@*KLL5=%%#*@*@*KLL7?''c.D.DU[[.QRR4<$$(>(>uxx(HII6>&&C,B,B5::,NOO5=%%#*@*@*KLL5=--eii88>!++E,>,>??;**==eooN  ;**==eooN  = ,,??@Q@QR  24&9::rX   c                     t        j                  |j                  D cg c]  }| j                  |       c}      S c c}w Nr  )r   SumExpressionr  r  r   ra   exprs      r#   r  z!GrpcToRest.convert_sum_expression#  9    !!PUPYPY&ZPYs'='=d'CPY&Z[[&Zr   c                     t        j                  |j                  D cg c]  }| j                  |       c}      S c c}w Nr  )r   MultExpressionr  r  r  s      r#   r  z"GrpcToRest.convert_mult_expression'  9    ""RWR\R\(]R\$)?)?)ER\(]^^(]r   c                    | j                  |j                        }| j                  |j                        }|j                  d      r|j                  nd }t        j                  |||      }t        j                  |      S )Nby_zero_defaultleftrightr  r  )r  r  r  r   r  r   	DivParamsDivExpression)r   ra   r  r  r  r   s         r#   r  z!GrpcToRest.convert_div_expression+  sg    %%ejj1&&u{{338>>BS3T%//Z^TX!!f--rX   c                     | j                  |j                        }| j                  |j                        }t        j                  ||      }t        j
                  |      S )Nbaseexponentr  )r  r  r   r   	PowParamsPowExpression)r   ra   r  r   r   s        r#   r  z!GrpcToRest.convert_pow_expression3  sK    %%ejj1))%..9TH=!!f--rX   c                     | j                  |j                        }t        j                  ||j                        }t        j
                  |      S )Norigintor  )r   r&  r   GeoDistanceParamsr'  GeoDistance)r   ra   r&  r   s       r#   r  zGrpcToRest.convert_geo_distance:  s=    &&u||4''v%((CV44rX   c                 <   t        j                  | j                  |j                        |j	                  d      r| j                  |j
                        nd |j	                  d      r|j                  nd |j	                  d      r|j                        S d       S )Nr  midpointscalexr  r,  r-  )r   DecayParamsExpressionr  r/  r   r  r,  r-  r   s     r#   r  z*GrpcToRest.convert_decay_params_expression@  s     ))$$UWW-;@>>(;S3))%,,7Y]',~~j'AU^^t!&!8%++	
 	
 ?C	
 	
rX   c                     t        j                  |j                  d      r|j                  nd |j                  d      r|j                        S d       S )N	diversitycandidates_limitr2  r3  )r   Mmrr   r2  r3  r   s     r#   convert_mmrzGrpcToRest.convert_mmrK  sN    xx).)Deoo$~~01 #33
 	
 	
 	
rX   c                    |j                  d      }|t        d|       t        ||      }|dk(  r%t        j                  | j                  |            S |dk(  r%t        j                  | j                  |            S |dk(  r%t        j                  | j                  |            S |d	k(  r%t        j                  | j                  |      
      S |dk(  r%t        j                  | j                  |            S |dk(  r%t        j                  | j                  |            S |dk(  r%t        j                   | j#                  |            S |dk(  r| j%                  |      S |dk(  rU|j&                  }t        j                  | j                  |j(                        | j+                  |j,                              S |dk(  r|j.                  }t        j0                  t        j2                  |j5                  d      r|j6                  nd t9        |j:                        dkD  rt=        |j:                        nd             S |dk(  r%t        j>                  | jA                  |            S t        d|       )Nr  r  nearestr8  	recommendr:  discoverr<  r  r  order_byr?  fusionrA  samplerC  r  nearest_with_mmrr8  mmrrrfr5   r   )r5   weightsrH  relevance_feedbackrK  )!r   r   r   r   NearestQueryr  RecommendQueryr  DiscoverQueryr  ContextQueryr  OrderByQueryconvert_order_byFusionQueryr  SampleQueryr  r  rE  r8  r6  rG  rH  RrfQueryRrfr   r5   r  rI  rB   RelevanceFeedbackQuery convert_relevance_feedback_input)r   ra   r   rS   rH  s        r#   convert_queryzGrpcToRest.convert_queryT  s8   	*<4UG<==eT"9$$S-E-Ec-JKK;&&1L1LS1QRR:%%s/I/I#/NOO9$$S-F-Fs-KLL:$$c.B.B3.GHH8##3+=+=c+BCC8##3+=+=c+BCC9,,S11%%((C$$00=3??SVSZSZC[  5=))C==HH"||C0ceed14S[[1AA1ED-4  ''..#&#G#G#L  0899rX   c           	          t        j                  | j                  |j                        |j                  D cg c]  }| j                  |       c}| j                  |j                              S c c}w N)r  feedbackr  )r   RelevanceFeedbackInputr  r  r\  convert_feedback_itemconvert_feedback_strategyr  r   ra   items      r#   rX  z+GrpcToRest.convert_relevance_feedback_input  _     **++ELL9BG..Q.$c//5.Q225>>B
 	
Q   A2
c                 v    t        j                  | j                  |j                        |j                        S N)exampler  )r   FeedbackItemr  rf  r  r   s     r#   r^  z GrpcToRest.convert_feedback_item  .      ,,U]];++
 	
rX   c                     |j                  d      }|t        d|       |dk(  r/t        j                  | j	                  |j
                              S t        d|       )Nr   invalid FeedbackStrategy model: naiverk  )r   r   r   NaiveFeedbackStrategy&convert_naive_feedback_strategy_paramsrk  r  s      r#   r_  z$GrpcToRest.convert_feedback_strategy  sk    	*<?wGHH7?--@@M  ;E7CDDrX   c                 n    t        j                  |j                  |j                  |j                        S N)abc)r   NaiveFeedbackStrategyParamsrq  rr  rs  r   s     r#   rn  z1GrpcToRest.convert_naive_feedback_strategy_params  s,     //gggggg
 	
rX   c                    t        j                  t        |j                        dk7  r)|j                  D cg c]  }| j	                  |       c}nd |j                  d      r| j                  |j                        nd |j                  d      r|j                  nd |j                  d      r| j                  |j                        nd |j                  d      r| j                  |j                        nd |j                  d      r|j                  nd |j                  d      r|j                  nd |j                  d      r | j                  |j                         	      S d 	      S c c}w )
Nr   queryusingr   r   score_thresholdlimitlookup_fromprefetchrv  rw  r   r   rx  ry  rz  )r   Prefetchr  r|  convert_prefetch_queryr   rY  rv  rw  r   r   r  r   rx  ry  convert_lookup_locationrz  r   ra   r|  s      r#   r~  z!GrpcToRest.convert_prefetch_query  s$   }} u~~&!+ GLnnUn(++H5nU49NN74K###EKK0QU!&!8%++d7<~~h7O3%%ell3UY>CnnX>V3,,U\\:\`5:^^DU5VE11\`!&!8%++d >>-0 ++E,=,=>
 	
 
 	
Us   E+c                      |j                   d d  S r1   namesr   s     r#   convert_vectors_selectorz#GrpcToRest.convert_vectors_selector  s    {{1~rX   c                     |j                  d      }|t        d|       t        ||      }|dk(  r|S |dk(  r| j                  |      S t        d|       )Nr7  z#invalid WithVectorsSelector model: r  r8  )r   r   r   r  r   s       r#   convert_with_vectors_selectorz(GrpcToRest.convert_with_vectors_selector  sp     23<B5'JKKeT"8J9//44>ugFGGrX   c                 *   t        j                  |j                  d      r| j                  |j                        nd t        |j                        dk7  r)|j                  D cg c]  }| j                  |       c}nd |j                  d      r| j                  |j                        nd |j                  d      r|j                  nd |j                  d      r| j                  |j                        nd |j                  d      r| j                  |j                        nd |j                  d      r|j                  nd |j                  d      r|j                   nd |j                  d	      r|j"                  nd |j                  d
      r| j%                  |j&                        nd |j                  d      r| j)                  |j*                        nd |j                  d      r | j-                  |j.                              S d       S c c}w )Nr.  r   rv  rw  r   r   rx  ry  offsetwith_vectorswith_payloadrz  )r  r|  rv  rw  r   r   rx  ry  r  with_vectorr  rz  )r   QueryRequestr   convert_shard_key_selectorr.  r  r|  r~  rY  rv  rw  r   r   r  r   rx  ry  r  r  r  r>  r  r  rz  r  s      r#   convert_query_pointszGrpcToRest.convert_query_points  s      >>"67 ..u/G/GH u~~&!+ GLnnUn(++H5nU49NN74K###EKK0QU!&!8%++d7<~~h7O3%%ell3UY>CnnX>V3,,U\\:\`5:^^DU5VE11\`!&!8%++d#(>>(#;5<< >>.1 11%2D2DE >>.1 2253E3EF >>-0 ++E,=,=>;!
 !	
> ?!
 !	
 Vs   #H
c                    |t         j                  k(  ry |t         j                  k(  rt        j                  j
                  S |t         j                  k(  rt        j                  j                  S |t         j                  k(  rt        j                  j                  S |t         j                  k(  rt        j                  j                  S t        d|       Nzinvalid TokenizerType model: )r   UnknownPrefixr   TokenizerTypePREFIX
Whitespace
WHITESPACEWordWORDMultilingualMULTILINGUALr   r   s     r#   convert_tokenizer_typez!GrpcToRest.convert_tokenizer_type  s    DLL DKK%%,,,DOO#%%000DII%%***D%%%%%2228@AArX   c                    t        j                  d| j                  |j                        |j	                  d      r|j
                  nd |j	                  d      r|j                  nd |j	                  d      r|j                  nd |j	                  d      r|j                  nd |j	                  d      r| j                  |j                        nd |j	                  d      r|j                  nd |j	                  d      r| j                  |j                        nd |j	                  d	      r|j                  nd |j	                  d
      r|j                        S d       S )Nr  min_token_lenmax_token_len	lowercasephrase_matching	stopwordsr   stemmerascii_foldingenable_hnsw)type	tokenizerr  r  r  r  r  r   r  r  r  )r   TextIndexParamsr  r  r   r  r  r  r  convert_stopwordsr  r   convert_stemmerr  r  r  r   s     r#   rC  z$GrpcToRest.convert_text_index_params  s   ##00A161P%--VZ161P%--VZ).)Deoo$5:^^DU5VE11\`~~k* ++EOO<%*^^I%>EMMD:?..:SC''6Y]161P%--VZ-2^^M-J))
 	
 QU
 	
rX   c                     |j                   d d  }|j                  d d  }t        |      dk(  r|st        j                  |d         S t        j
                  ||      S )N   r   	languagescustom)r  r  r  r   LanguageStopwordsSet)r   ra   r  r  s       r#   r  zGrpcToRest.convert_stopwords  sQ    OOA&	ay>Qv==1..  9VDDrX   c                     |j                  d      }|t        d|       t        ||      }|dk(  r| j                  |      S t        d|       )Nstemming_params!invalid StemmingAlgorithm model: snowball)r   r   r   convert_snowball_parametersr   s       r#   r  zGrpcToRest.convert_stemmer&  sc     12<@HIIeT":22377<UGDEErX   c                     t        j                  t         j                  j                  t        j                  |j
                              S )N)r  language)r   SnowballParamsSnowballSNOWBALLSnowballLanguager  r   s     r#   r  z&GrpcToRest.convert_snowball_parameters1  s3    ""''$2G2G2W
 	
rX   c           
      H   t        j                  t         j                  j                  |j                  |j
                  |j                  d      r|j                  nd |j                  d      r|j                  nd |j                  d      r|j                        S d       S )Nis_principalr   r  )r  r  lookupr  r   r  )
r   IntegerIndexParamsIntegerIndexTyperN  r  r  r   r  r   r  r   s     r#   rD  z'GrpcToRest.convert_integer_index_params7  s     &&&&..++<</4~~n/M++SW%*^^I%>EMMD-2^^M-J))
 	
 QU
 	
rX   c                    t        j                  t         j                  j                  |j	                  d      r|j
                  nd |j	                  d      r|j                  nd |j	                  d      r|j                        S d       S N	is_tenantr   r  )r  r  r   r  )r   KeywordIndexParamsKeywordIndexTyperO  r   r  r   r  r   s     r#   rE  z'GrpcToRest.convert_keyword_index_paramsD  ss     &&&&..).)Deoo$%*^^I%>EMMD-2^^M-J))	
 	
 QU	
 	
rX   c                    t        j                  t         j                  j                  |j	                  d      r|j
                  nd |j	                  d      r|j                  nd |j	                  d      r|j                        S d       S Nr  r   r  )r  r  r   r  )r   FloatIndexParamsFloatIndexTyperL  r   r  r   r  r   s     r#   rF  z%GrpcToRest.convert_float_index_paramsO  st    $$$$**/4~~n/M++SW%*^^I%>EMMD-2^^M-J))	
 	
 QU	
 	
rX   c                     t        j                  t         j                  j                  |j	                  d      r|j
                  nd |j	                  d      r|j                        S d       S Nr   r  )r  r   r  )r   GeoIndexParamsGeoIndexTyperM  r   r   r  r   s     r#   rG  z#GrpcToRest.convert_geo_index_paramsX  s]    """"&&%*^^I%>EMMD-2^^M-J))
 	
 QU
 	
rX   c                     t        j                  t         j                  j                  |j	                  d      r|j
                  nd |j	                  d      r|j                        S d       S r  )r   BoolIndexParamsBoolIndexTyperP  r   r   r  r   s     r#   rH  z$GrpcToRest.convert_bool_index_params`  s]    ####((%*^^I%>EMMD-2^^M-J))
 	
 QU
 	
rX   c                    t        j                  t         j                  j                  |j	                  d      r|j
                  nd |j	                  d      r|j                  nd |j	                  d      r|j                        S d       S r  )r   DatetimeIndexParamsDatetimeIndexTyperR  r   r  r   r  r   s     r#   rI  z(GrpcToRest.convert_datetime_index_paramsh  sv     ''''00/4~~n/M++SW%*^^I%>EMMD-2^^M-J))	
 	
 QU	
 	
rX   c                    t        j                  t         j                  j                  |j	                  d      r|j
                  nd |j	                  d      r|j                  nd |j	                  d      r|j                        S d       S r  )r   UuidIndexParamsUuidIndexTyperS  r   r  r   r  r   s     r#   rJ  z$GrpcToRest.convert_uuid_index_paramss  sq    ####(().)Deoo$%*^^I%>EMMD-2^^M-J))	
 	
 QU	
 	
rX   c           	      b   t        j                  |j                  d      r|j                  nd |j                  d      r|j                  nd |j                  d      r|j
                  nd |j                  d      r|j                  nd |j                  d      r|j                        S d       S )Nr  r  r  r  r  )r  r  r  r  r  )r   CollectionParamsDiffr   r  r  r  r  r  r   s     r#   r  z)GrpcToRest.convert_collection_params_diff|  s     ((,1NN;O,P((VZ >>"<= .. .3^^<Q-R))X\ 05~~>U/V++\`5:^^DU5VE11
 	
 ]a
 	
rX   c                     t        j                  |j                  |j                  d      r|j                        S d       S )Nvector_name)
collectionr  )r   LookupLocationr  r   r  r   s     r#   r  z"GrpcToRest.convert_lookup_location  s?    "",,(-}(E5$$
 	
KO
 	
rX   c                    |j                   t        j                  j                  k(  rt        j
                  j                  S |j                   t        j                  j                  k(  rt        j
                  j                  S |j                   t        j                  j                  k(  rt        j
                  j                  S t        d|       )Ninvalid WriteOrdering model: )r  r   WriteOrderingTypeWeakr   WriteOrderingWEAKMediumMEDIUMStrongSTRONGr   r   s     r#   convert_write_orderingz!GrpcToRest.convert_write_ordering  s    :://444%%***:://666%%,,,:://666%%,,,8@AArX   c                     |j                  d      }|t        d|       t        ||      }|dk(  r|S |dk(  r| j                  |      S t        d|       )NrF   invalid ReadConsistency model: factorr  )r   r   r   convert_read_consistency_typer   s       r#   convert_read_consistencyz#GrpcToRest.convert_read_consistency  sn    (<>ugFGGeT"8J6>44S99:5'BCCrX   c                 ,   |t         j                  k(  rt        j                  j                  S |t         j
                  k(  rt        j                  j                  S |t         j                  k(  rt        j                  j                  S t        d|       Nz#invalid ReadConsistencyType model: )
r   Allr   ReadConsistencyTypeALLMajorityMAJORITYQuorumQUORUMr   r   s     r#   r  z(GrpcToRest.convert_read_consistency_type  sq     DHH++///DMM!++444DKK++222>ugFGGrX   c                     t        j                  t         j                  j                  |j	                  d      r|j
                  nd |j	                  d      r|j                        S d       S )Nquantile
always_ramr  r  r  )r   ScalarQuantizationConfig
ScalarTypeINT8r   r  r  r   s     r#   "convert_scalar_quantization_configz-GrpcToRest.convert_scalar_quantization_config  s]     ,,%%',~~j'AU^^t+0>>,+Gu''
 	
 NR
 	
rX   c                     t        j                  | j                  |j                        |j	                  d      r|j
                        S d       S )Nr  compressionr  )r   ProductQuantizationConfigconvert_compression_ratior   r   r  r   s     r#   #convert_product_quantization_configz.GrpcToRest.convert_product_quantization_config  sL     --55e6G6GH+0>>,+Gu''
 	
MQ
 	
rX   c                 &   t        j                  |j                  d      r|j                  nd |j                  d      r| j	                  |j
                        nd |j                  d      r | j                  |j                              S d       S )Nr  encodingquery_encodingr  r  r  )r   BinaryQuantizationConfigr   r  $convert_binary_quantization_encodingr  *convert_binary_quantization_query_encodingr  r   s     r#   "convert_binary_quantization_configz-GrpcToRest.convert_binary_quantization_config  s     ,,+0>>,+Gu''T~~j) ==ennM~~./ II%J^J^_
 	
 
 	
rX   c                 h   |t         j                  j                  k(  rt        j                  j                  S |t         j                  j
                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S t        d|       Nz*invalid BinaryQuantizationEncoding model: )
r   BinaryQuantizationEncodingOneBitr   ONE_BITTwoBitsTWO_BITSOneAndHalfBitsONE_AND_HALF_BITSr   r   s     r#   r	  z/GrpcToRest.convert_binary_quantization_encoding  s     D33:::22:::D33;;;22;;;D33BBB22DDDEeWMNNrX   c                    |j                  d      }|t        d|       t        ||      }|dk(  r|t        j                  j
                  j                  k(  rt        j                  j                  S |t        j                  j
                  j                  k(  rt        j                  j                  S |t        j                  j
                  j                  k(  rt        j                  j                  S |t        j                  j
                  j                  k(  rt        j                  j                  S t        d|       t        d|       )Nr  /invalid BinaryQuantizationQueryEncoding model: r	  z1invalid BinaryQuantizationQueryEncoding setting: )r   r   r   r   BinaryQuantizationQueryEncodingr  Defaultr   DEFAULTBinaryBINARYScalar4BitsSCALAR4BITSScalar8BitsSCALAR8BITSr   s       r#   r
  z5GrpcToRest.convert_binary_quantization_query_encoding  s&    	*<A%I  eT"9d::BBJJJ;;CCCd::BBIII;;BBBd::BBNNN;;GGGd::BBNNN;;GGGCC5I  =eWE
 	
rX   c                    |t         j                  k(  rt        j                  j                  S |t         j
                  k(  rt        j                  j                  S |t         j                  k(  rt        j                  j                  S |t         j                  k(  rt        j                  j                  S |t         j                  k(  rt        j                  j                  S t        d|       Nz invalid CompressionRatio model: )r   x4r   CompressionRatioX4x8X8x16X16x32X32x64X64r   r   s     r#   r  z$GrpcToRest.convert_compression_ratio  s    DGG((+++DGG((+++DHH((,,,DHH((,,,DHH((,,,;E7CDDrX   c                 t   |j                  d      }|t        d|       t        ||      }|dk(  r%t        j                  | j                  |            S |dk(  r%t        j                  | j                  |            S |dk(  r%t        j                  | j                  |            S t        d|       )	Nr  "invalid QuantizationConfig model: scalarr/  productr1  binaryr3  )
r   r   r   r   ScalarQuantizationr  ProductQuantizationr  BinaryQuantizationr  r   s       r#   r   z&GrpcToRest.convert_quantization_config  s     /<A%IJJeT"8**#2X2XY\2]^^9++C4[4[\_4`aa8**#2X2XY\2]^^=eWEFFrX   c                     t        j                  |j                  d      r|j                  nd |j                  d      r|j                  nd |j                  d      r|j
                        S d       S )Nignorerescoreoversamplingr9  r:  r;  )r   QuantizationSearchParamsr   r9  r:  r;  r   s     r#   r  z-GrpcToRest.convert_quantization_search_params$  sd     ,,#(>>(#;5<<%*^^I%>EMMD/4~~n/M++
 	
 TX
 	
rX   c                     t        j                  | j                  |j                        | j	                  |j
                              S )N)r  r  )r   PointVectorsr|  r  r  r  r   s     r#   convert_point_vectorsz GrpcToRest.convert_point_vectors.  s9      ##EHH-&&u}}5
 	
rX   c                     t        j                  |j                  D cg c]  }| j                  |       c}      S c c}w N)groups)r   GroupsResultrC  convert_point_groupr   ra   groups      r#   convert_groups_resultz GrpcToRest.convert_groups_result5  9      @EMuC++E2M
 	
Mr   c           	         t        j                  | j                  |j                        |j                  D cg c]  }| j                  |       c}|j                  d      r | j                  |j                              S d       S c c}w )Nr  r  hitsr  )	r   
PointGroupconvert_group_idr  rL  r  r   rC  r  )r   ra   hits      r#   rE  zGrpcToRest.convert_point_group;  sw    ##EHH-;@::F:C#**3/:F7<~~h7O3%%ell3
 	
 VZ
 	
Fs   B

c                 `    |j                  d      }|t        d|       t        ||      }|S )Nkindinvalid GroupId model: r  r   s       r#   rN  zGrpcToRest.convert_group_idC  s;    '<6ug>??eT"
rX   c                     t        j                  |j                  |j                  d      r| j	                  |j
                        nd |j                  d      r | j                  |j                              S d       S )Nr  r  )r  r  r  )r   
WithLookupr  r   r<  r  r  r  r   s     r#   convert_with_lookupzGrpcToRest.convert_with_lookupK  sv    '' >>.1 11%2D2DE >>.1 11%2D2DE
 	
 
 	
rX   c                    |j                  d      }|t        d|       t        ||      }|dk(  r%t        j                  | j                  |            S |dk(  r%t        j                  | j                  |            S |dk(  r%t        j                  | j                  |            S |d	k(  rt        j                  j                  S t        d|       )
Nr  &invalid QuantizationConfigDiff model: r/  r0  r1  r2  r3  r4  disabled)r   r   r   r   r5  r  r6  r  r7  r  DisabledDISABLEDr   s       r#   r  z+GrpcToRest.convert_quantization_config_diff[  s     /<EeWMNNeT"8**#2X2XY\2]^^9++C4[4[\_4`aa8**#2X2XY\2]^^:==)))A%IJJrX   c                 &   t        j                  |j                  d      r| j                  |j                        nd |j                  d      r| j                  |j                        nd |j                  d      r|j                        S d       S )Nr   r   r   r   r   r   )r   VectorParamsDiffr   r  r   r  r   r   r   s     r#   convert_vector_params_diffz%GrpcToRest.convert_vector_params_diffm  s    $$ >>-0 ,,U->->? >>"78 44U5N5NO%*^^I%>EMM
 	
 EI
 	
rX   c                     |j                  d      }|t        d|       t        ||      }|dk(  rd j                  |      iS |dk(  r,t	         fd|j
                  j                         D              S t        d|       )Nr   !invalid VectorsConfigDiff model: r    rp  c              3   J   K   | ]  \  }}|j                  |      f  y wr1   r^  rs  s      r#   r7   z9GrpcToRest.convert_vectors_config_diff.<locals>.<genexpr>  s-      '6OC c44Z@A'6ru  )r   r   r   r^  rD   rv  rE   r   s   `   r#   r  z&GrpcToRest.convert_vectors_config_diff}  s    )<@HIIeT"866s;<<< '*ww}}   <UGDEErX   c           
         |j                  d      }|t        d|       t        ||      }|dk(  r|j                  d      r| j	                  |j
                        nd }|j                  d      r| j                  |j                        nd }|j                  d      r| j                  |j                        nd }t        j                  t        j                  |j                  D cg c]  }| j                  |       c}|||            S |d	k(  rR|j                  d      r|j
                  nd }| j                  |j                  |
      }t        j                   |      S |dk(  r|j                  d      r|j
                  nd }| j                  |j"                  |
      }d }	d }
t%        |t        j&                        r|j                  }	n5t%        |t        j(                        r|j*                  }
nt        d|       t        j,                  t        j.                  | j1                  |j2                        |	|
|j                  d      r|j4                  nd             S |dk(  r|j                  d      r|j
                  nd }| j                  |j"                  |
      }d }	d }
t%        |t        j&                        r|j                  }	n5t%        |t        j(                        r|j*                  }
nt        d|       t        j6                  t        j.                  | j1                  |j2                        |	|
|j                  d      r|j4                  nd             S |dk(  r|j                  d      r|j
                  nd }| j                  |j"                  |
      }d }	d }
t%        |t        j&                        r|j                  }	n5t%        |t        j(                        r|j*                  }
nt        d|       t        j8                  t        j:                  |j<                  D cg c]  }| c}|	|
            S |dk(  rR|j                  d      r|j
                  nd }| j                  |j                  |
      }t        j>                  |      S |dk(  r|j                  d      r| j	                  |j
                        nd }|j                  d      r| j                  |j                        nd }t        j@                  t        jB                  |j                  D cg c]  }| jE                  |       c}||            S |dk(  r|j                  d      r|j
                  nd }| j                  |j"                  |
      }d }	d }
t%        |t        j&                        r|j                  }	n5t%        |t        j(                        r|j*                  }
nt        d|       t        jF                  t        jH                  |jJ                  jL                  D cg c]  }| c}|	|
            S t        d|       c c}w c c}w c c}w c c}w )N	operationz%invalid PointsUpdateOperation model: upsertr.  update_filterupdate_mode)r   r  rg  rh  rf  delete_points)r.  )deleteset_payloadr1  rR   )r%   r   r   rR   rl  overwrite_payloadrn  delete_payload)keysr   r   rp  clear_payloadrs  update_vectors)r   r  rg  ru  delete_vectors)r  r   r   rw  invalid UpdateOperation model: )'r   r   r   r   r  r.  r   rg  rw  rh  r   UpsertOperation
PointsListr   r  r5  DeleteOperationpoints_selectorr=   r2  r4  r   SetPayloadOperation
SetPayloadr   r%   rR   OverwritePayloadOperationDeletePayloadOperationDeletePayloadrq  ClearPayloadOperationUpdateVectorsOperationUpdateVectorsr@  DeleteVectorsOperationDeleteVectorsr  r  )r   ra   r   rS   r.  rg  rh  r   r}  r   filter_rR   s               r#   convert_points_update_operationz*GrpcToRest.convert_points_update_operation  sG    ,<DUGLMMeT"8 << 45 %%c&<&<=  :=o9V""3#4#45\`  =@LL<W''8]a  ''ILTC44U;T0"/ +	  _$*-,,7K*L&&RV  "99

/A : O ''??]"*-,,7K*L&&RV  "99##8J : O FG/4+<+<=(//OT-@-@A)00 4_4EF  ++ OO//<!"#&<<#6D	  ((*-,,7K*L&&RV  "99##8J : O FG/4+<+<=(//OT-@-@A)00 4_4EF  11"&////<!"#&<<#6D	#  %%*-,,7K*L&&RV  "99##8J : O FG/4+<+<=(//OT-@-@A)00 4_4EF  ..#11),2##2!"   _$*-,,7K*L&&RV  "99

/A : O --OLL%% << 45 %%c&<&<=  :=o9V""3#4#45\`  ..#11JM**U*C55e<*U0"/   %%*-,,7K*L&&RV  "99##8J : O FG/4+<+<=(//OT-@-@A)00 4_4EF  ..#11-0[[->->?->TD->?!"   >ugFGG[ Ul 30 V2 @s   )Y=	Y"9Y'7	Y,c                 h   |t         j                  j                  k(  rt        j                  j                  S |t         j                  j
                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S t        d|       Nz!invalid RecommendStrategy model: )
r   RecommendStrategyAverageVectorr   AVERAGE_VECTOR	BestScore
BEST_SCORE	SumScores
SUM_SCORESr   r   s     r#   r  z%GrpcToRest.convert_recommend_strategy3  s    D**888))888D**444))444D**444))444<UGDEErX   c                    t        j                  |j                  d      r|j                  nd |j                  d      r|j                  nd |j                  d      r | j                  |j                              S d       S )Nr   r   r\  r   r   r\  )r   SparseIndexParamsr   r   r   rZ  r\  r   s     r#   convert_sparse_index_configz&GrpcToRest.convert_sparse_index_config=  so    %%-2^^<Q-R))X\%*^^I%>EMMD=B^^J=WS))%..9
 	

 ^b
 	
rX   c                     |t         j                  j                  k(  rt        j                  j                  S |t        t         j                  d      k(  rt        j                  j                  S t        d|       NNonezinvalid Modifier model: )r   ModifierIdfr   IDFr   NONEr   r   s     r#   convert_modifierzGrpcToRest.convert_modifierG  sZ    DMM%%%==$$$GDMM622==%%%3E7;<<rX   c                     t        j                  |j                  d      | j                  |j                        nd |j                  d      r | j                  |j                              S d       S )Nindexmodifierr  r  )r   SparseVectorParamsr   r  r  r  r  r   s     r#   convert_sparse_vector_paramsz'GrpcToRest.convert_sparse_vector_paramsO  so     && >>'*6 //< 9>z8R$$U^^4	
 		
 Y]	
 		
rX   c                 \     t         fd|j                  j                         D              S )Nc              3   J   K   | ]  \  }}|j                  |      f  y wr1   r  r4   rR   rS   r   s      r#   r7   z:GrpcToRest.convert_sparse_vector_config.<locals>.<genexpr>b  s(     cQbXS#S#::3?@Qbru  )rD   rv  rE   r   s   ` r#   r  z'GrpcToRest.convert_sparse_vector_config^  s&     cQVQZQZQ`Q`QbcccrX   c                 `    |j                  d      }|t        d|       t        ||      }|S )NrR   invalid ShardKey model: r  r   s       r#   r  zGrpcToRest.convert_shard_keyd  s;    &<7w?@@eT"
rX   c                    |t         j                  j                  k(  rt        j                  j                  S |t         j                  j
                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                   S |t         j                  j"                  k(  rt        j                  j$                  S |t         j                  j&                  k(  rt        j                  j(                  S |t         j                  j*                  k(  rt        j                  j,                  S |t         j                  j.                  k(  rt        j                  j0                  S t3        d|       Nzinvalid ReplicaState model: )r   ReplicaStateActiver   ACTIVEDeadDEADPartialPARTIALInitializingINITIALIZINGListenerLISTENERPartialSnapshotPARTIALSNAPSHOTRecoveryRECOVERY
Resharding
RESHARDINGReshardingScaleDownRESHARDINGSCALEDOWN
ActiveRead
ACTIVEREADManualRecoveryMANUALRECOVERYr   r   s     r#   convert_replica_statez GrpcToRest.convert_replica_statel     D%%,,,$$+++D%%***$$)))D%%---$$,,,D%%222$$111D%%...$$---D%%555$$444D%%...$$---D%%000$$///D%%999$$888D%%000$$///D%%444$$3337w?@@rX   c                    d }|j                  d      r|j                  }t        |j                        dk(  rl|| j	                  |j                  d         S t        j                  | j	                  |j                  d         | j	                  |j                              S |rt        d| d      |j                  D cg c]  }| j	                  |       c}S c c}w )Nfallbackr  r   )r  r  zFallback shard key z4 can only be set when a single shard key is provided)r   r  r  
shard_keysr  r   ShardKeyWithFallbackr   )r   ra   r  r  s       r#   r  z%GrpcToRest.convert_shard_key_selector  s    >>*%~~Hu A% # %%e&6&6q&9: ..001A1A!1DE 225>>B %hZ/cd  CHBRBRSBRY%%i0BRSSSs   Cc                     |t         j                  k(  rt        j                  j                  S |t         j
                  k(  rt        j                  j                  S t        d|       Nzinvalid ShardingMethod model: )r   r  r   ShardingMethodr  CustomCUSTOMr   r   s     r#   r  z"GrpcToRest.convert_sharding_method  sQ    DII&&+++DKK&&---9%ABBrX   c                     t        |t        j                        r%t        j                  | j                  |            S t        |t        j                        r%t        j                  | j                  |            S t        |t        j                        r%t        j                  | j                  |            S t        |t        j                        r%t        j                  | j                  |            S t        |t        j                        r%t        j                   | j#                  |            S t        |t        j$                        r%t        j&                  | j)                  |            S t        |t        j*                        r%t        j,                  | j/                  |            S t        |t        j0                        r%t        j2                  | j5                  |            S t7        d	t9        |             )
N)
move_shard)replicate_shard)abort_transfer)drop_replica)create_sharding_key)drop_sharding_key)restart_transfer)replicate_pointsz$unsupported cluster operation type: )r=   r   	MoveShardr   MoveShardOperationconvert_move_shardReplicateShardReplicateShardOperationconvert_replicate_shardAbortShardTransferAbortTransferOperationconvert_abort_shard_transferReplicaDropReplicaOperationconvert_replicaCreateShardKeyCreateShardingKeyOperationconvert_create_shard_keyDeleteShardKeyDropShardingKeyOperationconvert_delete_shard_keyRestartTransferRestartTransferOperationconvert_restart_transferReplicatePointsReplicatePointsOperationconvert_replicate_pointsr   r  r   s     r#   convert_cluster_operationsz%GrpcToRest.convert_cluster_operations  s    eT^^,**c6L6LU6STTeT001//@[@[\a@bcceT445.."??F  eT\\*,,#:M:Me:TUUeT00122$'$@$@$G  eT00100"%">">u"E  eT11200!$!=!=e!D  eT11200!$!=!=e!D  ?U}MNNrX   c                     t        j                  |j                  |j                  |j                  |j                  d      r | j                  |j                              S d       S )Nmethodshard_idfrom_peer_id
to_peer_idr  )r   r  r  r  r  r   convert_shard_transfer_methodr  r   s     r#   r  zGrpcToRest.convert_move_shard  s[    ~~^^++''~~h' 44U\\B	
 	
 
 	
rX   c                 X    t        j                  |j                  |j                        S N)r  peer_id)r   r  r  r  r   s     r#   r  zGrpcToRest.convert_replica      ||U^^U]]KKrX   c                 
   |j                  d      rt        d      t        j                  |j                  |j
                  |j                  |j                  d      r | j                  |j                              S d       S )Nto_shard_idHto_shard_id is a field for internal purposes, can't be converted to restr  r  )	r   r   r   r  r  r  r  r  r  r   s     r#   r  z"GrpcToRest.convert_replicate_shard  s{    >>-(Z  ""^^++''~~h' 44U\\B	
 	
 
 	
rX   c                     |j                  d      rt        d      t        j                  |j                  |j
                  |j                        S )Nr  r  )r  r  r  )r   r   r   r  r  r  r  r   s     r#   r  z'GrpcToRest.convert_abort_shard_transfer  sL     >>-(Z  &&^^0@0@uOaOa
 	
rX   c           	      R   t        j                  | j                  |j                        |j	                  d      r|j
                  nd |j	                  d      r|j                  nd |j                  |j	                  d      r | j                  |j                              S d       S )Nshards_numberr  initial_stater  r  r  	placementr  )
r   CreateShardingKeyr  r  r   r  r  r  r  r  r   s     r#   r  z#GrpcToRest.convert_create_shard_key		  s    %%++EOO<161P%--VZ~~23  %77oo~~o. 33E4G4GH

 
	
 

 
	
rX   c                 `    t        j                  | j                  |j                              S N)r  )r   DropShardingKeyr  r  r   s     r#   r  z#GrpcToRest.convert_delete_shard_key	  s"    ##c.C.CEOO.TUUrX   c                     |j                  d      rt        d      t        j                  |j                  |j
                  |j                  | j                  |j                              S )Nr  r  r  )	r   r   r   r  r  r  r  r  r  r   s     r#   r  z#GrpcToRest.convert_restart_transfer	  s^    >>-(Z  ##^^++''44U\\B	
 	
rX   c                     t        j                  |j                  d      r| j                  |j                        nd | j                  |j                        | j                  |j                              S )Nr   )r   from_shard_keyto_shard_key)r   r  r   r   r   r  r  r  r   s     r#   r  z#GrpcToRest.convert_replicate_points(	  s]    ##7<~~h7O3%%ell3UY001E1EF..u/A/AB
 	
rX   c                    |t         j                  j                  k(  rt        j                  j                  S |t         j                  j
                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S t        d|       Nz#invalid ShardTransferMethod model: )r   ShardTransferMethodStreamRecordsr   STREAM_RECORDSSnapshotSNAPSHOTWalDelta	WAL_DELTAReshardingStreamRecordsRESHARDING_STREAM_RECORDSr   r   s     r#   r  z(GrpcToRest.convert_shard_transfer_method0	  s     D,,:::++:::D,,555++444D,,555++555D,,DDD++EEE>ugFGGrX   c                     |t         j                  k(  rt        j                  j                  S |t         j
                  k(  rt        j                  j                  S t        d|       Nzinvalid Direction model: )r   Ascr   	DirectionASCDescDESCr   r   s     r#   convert_directionzGrpcToRest.convert_directionB	  sM    DHH>>%%%DII>>&&&4UG<==rX   c                    |j                  d      r|j                  S |j                  d      r|j                  S |j                  d      r| j                  |j                        }|S |j                  d      r|j
                  S y )Nr  r@   	timestampr   )r   r  r@   r   r!  r   )r   ra   dts      r#   convert_start_fromzGrpcToRest.convert_start_fromJ	  sn    >>)$== >>'";;>>+&&&u7BI>>*%>>! &rX   c                     t        j                  |j                  |j                  d      r| j	                  |j
                        nd |j                  d      r | j                  |j                              S d       S )N	direction
start_fromrR   r%  r&  )r   OrderByrR   r   r  r%  r#  r&  r   s     r#   rR  zGrpcToRest.convert_order_byV	  sm    ||		:?..:U%%eoo6[_ =BNN<<X&&u'7'78
 	
 _c
 	
rX   c                 `    |j                  d      }|t        d|       t        ||      }|S )Nr  invalid FacetValue model: r  r   s       r#   convert_facet_valuezGrpcToRest.convert_facet_valueb	  s;    	*<9%ABBeT"
rX   c                 v    t        j                  | j                  |j                        |j                        S N)rF   rF  )r   FacetValueHitr+  rF   rF  r   s     r#   convert_facet_value_hitz"GrpcToRest.convert_facet_value_hitk	  s.    !!))%++6++
 	
rX   c                     t        j                  |j                  |j                  |j	                  d      r|j
                        S d       S )Ncommittitler  r1  )r   VersionInfor3  r  r   r1  r   s     r#   convert_health_check_replyz%GrpcToRest.convert_health_check_replyr	  sF    ++MM#(>>(#;5<<
 	
 BF
 	
rX   c                     t        j                  | j                  |j                        | j                  |j                        |j
                        S N)rq  rr  r  )r   SearchMatrixPairr|  rq  rr  r  r   s     r#   convert_search_matrix_pairz%GrpcToRest.convert_search_matrix_pairz	  s@    $$""577+""577+++
 	
rX   c                     t        j                  |j                  D cg c]  }| j                  |       c}      S c c}w Nr  )r   SearchMatrixPairsResponser  r9  r  s      r#   convert_search_matrix_pairsz&GrpcToRest.convert_search_matrix_pairs	  s;     --DIKKPKD311$7KP
 	
Pr   c                     t        j                  t        |j                        t        |j                        t        |j
                        |j                  D cg c]  }| j                  |       c}      S c c}w N)offsets_rowoffsets_colscoresr3  )r   SearchMatrixOffsetsResponserB   rA  rB  rC  r3  r|  r   ra   p_ids      r#   convert_search_matrix_offsetsz(GrpcToRest.convert_search_matrix_offsets	  sf     //U../U../%8=		B	%%d+	B	
 	
 C   A:c                 r    t        j                  |j                  d      r|j                        S d       S Nmax_vectorsrK  )r   StrictModeMultivectorr   rK  r   s     r#   convert_strict_mode_multivectorz*GrpcToRest.convert_strict_mode_multivector	  s8     ))-2^^M-J))
 	
PT
 	
rX   c                 \     t         fd|j                  j                         D              S )Nc              3   J   K   | ]  \  }}|j                  |      f  y wr1   rN  r  s      r#   r7   zDGrpcToRest.convert_strict_mode_multivector_config.<locals>.<genexpr>	  s-      
<S #55c:;<ru  rD   r]  rE   r   s   ` r#   &convert_strict_mode_multivector_configz1GrpcToRest.convert_strict_mode_multivector_config	  .      
!44::<
 
 	
rX   c                 r    t        j                  |j                  d      r|j                        S d       S N
max_lengthrW  )r   StrictModeSparser   rW  r   s     r#   convert_strict_mode_sparsez%GrpcToRest.convert_strict_mode_sparse	  s6    $$+0>>,+Gu''
 	
MQ
 	
rX   c                 \     t         fd|j                  j                         D              S )Nc              3   J   K   | ]  \  }}|j                  |      f  y wr1   rZ  r  s      r#   r7   z?GrpcToRest.convert_strict_mode_sparse_config.<locals>.<genexpr>	  s*      
Gb83S#0056Gbru  rD   sparse_configrE   r   s   ` r#   !convert_strict_mode_sparse_configz,GrpcToRest.convert_strict_mode_sparse_config	  s.      
GLGZGZG`G`Gb
 
 	
rX   c                 (   t        j                  di d|j                  d      r|j                  nd d|j                  d      r|j                  nd d|j                  d      r|j
                  nd d|j                  d      r|j                  nd d|j                  d      r|j                  nd d|j                  d      r|j                  nd d|j                  d      r|j                  nd d|j                  d      r|j                  nd d	|j                  d	      r|j                  nd d
|j                  d
      r|j                  nd d|j                  d      r|j                  nd d|j                  d      r|j                  nd d|j                  d      r|j                  nd d|j                  d      r|j                   nd d|j                  d      r|j"                  nd d|j                  d      r|j$                  nd d|j                  d      r| j'                  |j(                        nd d|j                  d      r| j+                  |j,                        nd d|j                  d      r|j.                  S d S Nenabledmax_query_limitmax_timeoutunindexed_filtering_retrieveunindexed_filtering_updatesearch_max_hnsw_efsearch_allow_exactsearch_max_oversamplingupsert_max_batchsize max_collection_vector_size_bytesread_rate_limitwrite_rate_limit!max_collection_payload_size_bytesmax_points_countfilter_max_conditionscondition_max_sizer]  r_  max_payload_index_countr  )r   StrictModeConfigr   rc  rd  re  rf  rg  rh  ri  rj  rk  rl  rm  rn  ro  rp  rq  rr  rS  r]  r`  r_  rs  r   s     r#   convert_strict_mode_configz%GrpcToRest.convert_strict_mode_config	  s   $$ @
%*^^I%>EMMD@
5:^^DU5VE11\`@
 .3^^M-J))PT@
 >>"@A 22@
 >>">? 00@
 -2NN;O,P((VZ@
$ -2NN;O,P((VZ%@
, >>";< --/@
4 /4nn=S.T**Z^5@
< >>"DE 66?@
B 6;^^DU5VE11\`C@
F +0..9K*L&&RVG@
N >>"EF 77Q@
V +0..9K*L&&RVW@
\ 05~~>U/V++\`]@
b -2NN;O,P((VZc@
j >>"67 ::5;S;STm@
t >>/2 55e6I6IJw@
| ~~78 %*$A$A{@
 @	
~ @
 @	
rX   c                 (   t        j                  di d|j                  d      r|j                  nd d|j                  d      r|j                  nd d|j                  d      r|j
                  nd d|j                  d      r|j                  nd d|j                  d      r|j                  nd d|j                  d      r|j                  nd d|j                  d      r|j                  nd d|j                  d      r|j                  nd d	|j                  d	      r|j                  nd d
|j                  d
      r|j                  nd d|j                  d      r|j                  nd d|j                  d      r|j                  nd d|j                  d      r|j                  nd d|j                  d      r|j                   nd d|j                  d      r|j"                  nd d|j                  d      r|j$                  nd d|j                  d      r| j'                  |j(                        nd d|j                  d      r| j+                  |j,                        nd d|j                  d      r|j.                  S d S rb  )r   StrictModeConfigOutputr   rc  rd  re  rf  rg  rh  ri  rj  rk  rl  rm  rn  ro  rp  rq  rr  -convert_strict_mode_multivector_config_outputr]  (convert_strict_mode_sparse_config_outputr_  rs  r   s     r#   r   z,GrpcToRest.convert_strict_mode_config_output	  s    ** @
%*^^I%>EMMD@
5:^^DU5VE11\`@
 .3^^M-J))PT@
 >>"@A 22@
 >>">? 00@
 -2NN;O,P((VZ@
$ -2NN;O,P((VZ%@
, >>";< --/@
4 /4nn=S.T**Z^5@
< >>"DE 66?@
B 6;^^DU5VE11\`C@
F +0..9K*L&&RVG@
N >>"EF 77Q@
V +0..9K*L&&RVW@
\ 05~~>U/V++\`]@
b -2NN;O,P((VZc@
j >>"67 AA%BZBZ[m@
t >>/2 <<U=P=PQw@
| ~~78 %*$A$A{@
 @	
~ @
 @	
rX   c                 \     t         fd|j                  j                         D              S )Nc              3   J   K   | ]  \  }}|j                  |      f  y wr1   &convert_strict_mode_multivector_outputr  s      r#   r7   zKGrpcToRest.convert_strict_mode_multivector_config_output.<locals>.<genexpr>B
  s-      
<S #<<SAB<ru  rR  r   s   ` r#   rx  z8GrpcToRest.convert_strict_mode_multivector_config_output>
  rT  rX   c                 \     t         fd|j                  j                         D              S )Nc              3   J   K   | ]  \  }}|j                  |      f  y wr1   !convert_strict_mode_sparse_outputr  s      r#   r7   zFGrpcToRest.convert_strict_mode_sparse_config_output.<locals>.<genexpr>K
  s-      
7S #77<=7ru  r^  r   s   ` r#   ry  z3GrpcToRest.convert_strict_mode_sparse_config_outputG
  s.      
!//557
 
 	
rX   c                 r    t        j                  |j                  d      r|j                        S d       S rV  )r   StrictModeSparseOutputr   rW  r   s     r#   r  z,GrpcToRest.convert_strict_mode_sparse_outputP
  s8     **+0>>,+Gu''
 	
MQ
 	
rX   c                 r    t        j                  |j                  d      r|j                        S d       S rJ  )r   StrictModeMultivectorOutputr   rK  r   s     r#   r}  z1GrpcToRest.convert_strict_mode_multivector_outputX
  s8     //-2^^M-J))
 	
PT
 	
rX   c                    t        j                  |j                  |j                  |j                  D cg c]  }| j                  |       c}|j                  D cg c]  }| j                  |       c}|j                  D cg c]  }| j                  |       c}|j                  D cg c]  }| j                  |       c}      S c c}w c c}w c c}w c c}w N)r  shard_countlocal_shardsremote_shardsshard_transfersresharding_operations)r   CollectionClusterInfor  r  r  convert_local_shard_infor  convert_remote_shard_infor  convert_shard_transfer_infor  convert_resharding_infor   ra   local_shardremote_shardshard_transfer_inforesharding_operations         r#   convert_collection_cluster_infoz*GrpcToRest.convert_collection_cluster_info`
  s     ))MM))MRM_M_M_k,,[9M_ QVPcPcPc--l;Pc
 ,1+@+@+@' //0CD+@ -2,G,G#,G( ++,@A,G#
 	
#s   CCC,Cc                     t        j                  |j                  |j                  d      r| j	                  |j
                        nd |j                  | j                  |j                              S )Nr  r  r  r   state)	r   LocalShardInfor  r   r  r  r   r  r  r   s     r#   r  z#GrpcToRest.convert_local_shard_infow
  sZ    ""^^~~k* ++EOO<++++EKK8
 	
rX   c                     t        j                  |j                  |j                  d      r| j	                  |j
                        nd |j                  | j                  |j                              S )Nr  r  r  r  r  )	r   RemoteShardInfor  r   r  r  r  r  r  r   s     r#   r  z$GrpcToRest.convert_remote_shard_info
  sX    ##^^~~k* ++EOO<MM++EKK8
 	
rX   c           	          t        j                  d|j                  |j                  d      r|j                  nd |j
                  |j                  ddt        |d      iS )Nr  r  r  r'  syncfromr  )r   ShardTransferInfor  r   r  r'  r  r   r   s     r#   r  z&GrpcToRest.convert_shard_transfer_info
  s\    %% 

^^-2^^M-J))PTxx	


 wuf-.

 
	
rX   c                     t        j                  | j                  |j                        |j                  |j
                  |j                  d      r | j                  |j                              S d       S )Nr  r%  r  r  r  )	r   ReshardingInfoconvert_resharding_directionr%  r  r  r   r  r  r   s     r#   r  z"GrpcToRest.convert_resharding_info
  sd    ""66uG^^MM~~k* ++EOO<	
 	
 
 	
rX   c                     |t         j                  j                  k(  rt        j                  j                  S |t         j                  j
                  k(  rt        j                  j                  S t        d|       Nz"Unsupported resharding direction: )r   ReshardingDirectionUpr   UPDownDOWNr   r   s     r#   r  z'GrpcToRest.convert_resharding_direction
  c     D,,///++...D,,111++000=eWEFFrX   r1   (  __name__
__module____qualname__classmethodr   	Conditionr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   OptimizerStatusOptimizersStatusr   r   r   r  r  r  r   r
  r  r  r  r   r!  r*  r  r0  r   rD   rA   PayloadSchemaInfor7  r   r2  PayloadIndexParamsPayloadSchemaParamsr9  rd   r8  rV  r   rb  rd  rg  rc  rq  rw  r{  r   r  r   PointIdExtendedPointIdr|  r  r  r  r  r  r   r  r   r  r   r  r  r  r  r  r  
OrderValuer  r  r  Payloadr   r  r  r  r  r  r  r  r   Matchr  r  r
  r   r  r  r  r  r   AliasOperationsr(  r+  r,  PointsSelectorShardKeySelectorr5  WithPayloadSelectorWithPayloadInterfacer<  r>  RetrievedPointr@  rA  rC  rG  rH  rN  rP  rS  rZ  r`  rb  rf  ra  rk  rg  VectorsConfigr  VectorVectorOutputrC   rB   r@   r~  r  r  r  r  r  r  NamedVectorsr  NamedVectorsOutputr  VectorsVectorStructr  VectorsOutputVectorStructOutputr  DenseVectorr  r  MultiDenseVectorr  r  r  r  VectorInputr  r  r  ContextInputPairr  r  ContextInputr  r  r  r  r  r  r  Formular  r  
Expressionr  r  r  r  r  r  r  r#  r  r*  r  r0  r  r5  r6  QueryrY  r]  rX  rg  r^  FeedbackStrategyr_  rm  rt  rn  PrefetchQueryr}  r~  VectorsSelectorr  WithVectorsSelector
WithVectorr  QueryPointsr  r  r  r  r  rC  r  StopwordsInterfacer  StemmingAlgorithmr  r  r  r  rD  r  rE  r  rF  r  rG  r  rH  r  rI  r  rJ  r  r  r  r  r  r  ReadConsistencyr  r  r  r5  r  r  r6  r  r  r7  r  r  r  r	  r  r
  r#  r  QuantizationConfigr   r=  r  r?  r@  rD  rH  rM  rE  GroupIdrN  rT  rU  QuantizationConfigDiffr  r]  r^  VectorsConfigDiffr  PointsUpdateOperationUpdateOperationr  r  r  SparseIndexConfigr  r  r  r  r  r  SparseVectorConfigr  ShardKeyr  r  r  r  r  r  r  r  r  r  r  r  r  r  ClusterOperationsr  r  r  r  r  r  r  r  r  r  r  r  r  r  r  	StartFromr#  r(  rR  
FacetValuer+  FacetHitr.  r/  HealthCheckReplyr4  r5  r8  r9  SearchMatrixPairsr=  r>  SearchMatrixOffsetsrD  rG  rM  rN  StrictModeMultivectorConfigrS  rY  rZ  StrictModeSparseConfigr`  rt  ru  rw  r   !StrictModeMultivectorConfigOutputrx  StrictModeSparseConfigOutputry  r  r  r  r}  CollectionClusterInfoResponser  r  r  r  r  r  r  r  r  r  r  r  r  rX   r#   r{   r{      s"   >dnn > > >. 
4;; 
4;; 
 
$ 
$** 
 
 
 5i 5H 5 5 
4+=+= 
$BTBT 
 
 _t~~ _$.. _ _ cD,>,> c4CUCU c c 
 
DOO 
 
 ;..;		#	#; ;
 
D,?,? 
DDWDW 
 
  
d.B.B 
tG[G[ 
 

 BT-A-A BdF[F[ B B 
d.C.C 
H]H] 
 
& 
T-@-@ 
TEXEX 
 
 
(;(; 
 
 
 O//O		$	$O O& %
T-F-F %
4K`K` %
 %
N 
AT]] 
At}} 
A 
A 
t'9'9 
dnn 
 
 [d4445[	c4(((	)[ [
 	
0F0F 	
4K`K` 	
 	
 G++G		!	!G G< J0F0F J4KaKa J J( 
Ed.C.C 
EH]H] 
E 
E 
$*;*; 
@Q@Q 
 
 E$*;*; E@Q@Q E E C CDOO C C _T-@-@ _TEXEX _ _ D++D		 	 D D
 <T\\ <d6J6J < < =)9)9 =d>N>N = = 
)9)9 
d>N>N 
 

 Pt/D/D PI^I^ P P Nd.B.B NtG[G[ N N 
T-A-A 
dFZFZ 
 
 
$*;*; 
@Q@Q 
 
 
0F0F 
4KaKa 
 
 d)9)9 dd>N>N d d ? ?DOO ? ? 
)9)9 
d>N>N 
 
( G$9 Gdll G G 
)9)9 
d>N>N 
 
 
T-@-@ 
TEXEX 
 
 
)9)9 
d>N>N 
 
 +
D,?,? +
DDWDW +
 +
Z :$** : : :8 
D,>,> 
4CUCU 
 
 !
d.C.C !
H]H] !
 !
F &
--&
		"	"&
 &
P 
d.C.C 
H]H] 
 
< 
dmm 
 
 
 DT-A-A DdFZFZ D D 
d.C.C 
H]H] 
 
  <@C""C !11D8C 
			C C, H,,H		"	"H H" 8,,8		"	"8 8
 
D,?,? 
DKK 
 
" 24#6#6 24;; 2 2 3)9)9 3d>N>N 3 3 
,,
		!	!
 
 AT]] At}} A A 
$*;*; 
@Q@Q 
 
. 
t/E/E 
$J`J` 
 

 J..J		#	#J J B4+=+= B$BTBT B B .KK$"3"33.	d
K4;   mm jj	
 ""#	

. .` ;KK; 	U
tE{
	


	 --	 **		
 

	; ;4 ;%%;	etDK(	(4+<+<	<; ; $*;*; S$++EU@V   ++	c4$$$	%  
<DLL 
<T5F5F 
< 
< 
B4+=+= 
B$BYBY 
B 
B )9)9 d5k   S$*;*; S@Q@Q S S Nt/D/D NdSXkIZ N N 
T]] 
t}} 
 
 
$** 
 
 
 
T-A-A 
dFZFZ 
 
 @)9)9 @d>N>N @ @, 	
D,?,? 	
DDWDW 	
 	
 
t/D/D 
IYIY 
 
 N$*;*; N@Q@Q N N 
4+=+= 
$BTBT 
 
 ;4;; ;4;; ; ; ;4;; ;4;; ; ; 
$,, 
4;L;L 
 
 2;t 2;4?? 2; 2;h \4+=+= \$BTBT \ \ _D,?,? _DDWDW _ _ .4+=+= .$BTBT . . .4+=+= .$BTBT . . 5)9)9 5d>N>N 5 5
 
..
		#	#
 
 
 
TXX 
 
 2:$** 2: 2: 2:h 
//
		$	$
 
 
$*;*; 
@Q@Q 
 
 
Ed.C.C 
EH]H] 
E 
E 
..
		)	)
 
 
4+=+= 
$-- 
 
( T-A-A d3i   
H$2J2J 
Ht 
H 
H "
)9)9 "
d>O>O "
 "
H B4+=+= B$BTBT B B 
d.B.B 
tG[G[ 
 
" Ed&7&7 ED<S<S E E FD$:$: Ft?U?U F F 
0C0C 
H[H[ 
 

 

++

		 	 

 

 
++
		 	 
 
 
t/D/D 
I^I^ 
 
 
T-@-@ 
TEXEX 
 
 
d.B.B 
tG[G[ 
 
 
,,
		!	!
 
 
d.B.B 
tG[G[ 
 
 
--
		"	"
 
* 
D,?,? 
DDWDW 
 
 B4+=+= B$BTBT B B 	DT-A-A 	DdFZFZ 	D 	D 	H,,	H		!	!	H 	H 
++
		&	&
 
 
,,
		'	'
 
 
++
		&	&
 
 O33O		(	(O O 
88
		-	-
 
4 Ed.C.C EH]H] E E G++G		 	 G G 
11
		&	&
 
 
$*;*; 
@Q@Q 
 
 
$*;*; 
@Q@Q 
 

 
 
DOO 
 
 T\\ dll   
 
DOO 
 
 K//K		$	$K K" 
t/D/D 
I^I^ 
 
 F0F0F F4KaKa F F cH..cH			cH cHJ Ft/E/E F$J`J` F F 
0F0F 
4KaKa 
 
 =T]] =t}} = = 
++
		 	 
 
 d++d	c4***	+d d
 dmm    "A$*;*; "A@Q@Q "A "AH Tt/D/D TI^I^ T T* CD,?,? CDDWDW C C -O~~




!
!" ,, 

	
 

 

 

-O 
		-O -O^ 
t~~ 
$.. 
 
 LDLL LT\\ L L 
D,?,? 
DDWDW 
 
 	
++	
		 	 	
 	
 
T-@-@ 
TE[E[ 
 
 VT-@-@ VTEYEY V V 

T-A-A 

dFZFZ 

 

 
T-A-A 
dFZFZ 
 
 H,,H		!	!H H" >dnn > > > 	"t~~ 	"$.. 	" 	" 	
T\\ 	
dll 	
 	
  DOO   
DMM 
d>P>P 
 
 
t/D/D 
IYIY 
 
 
t/D/D 
I^I^ 
 
 
**
		'	'
 
 
,,
		)	)
 
 
..
		#	#
 
 
44
		)	)
 
 
t/D/D 
I^I^ 
 

 
//
		$	$
 
 A
t/D/D A
I^I^ A
 A
F C
))C
		$	$C
 C
J 
44
		/	/
 
 
//
		*	*
 
 
))
		$	$
 
 
..
		)	)
 
 
66
		#	#
 
, 
T-@-@ 
TEXEX 
 
 
d.B.B 
tG[G[ 
 
 
0F0F 
4KaKa 
 
 
D,?,? 
DDWDW 
 
 G,,G		!	!G GrX   r{   c            	       2   e Zd Zedej
                  dej
                  fd       Zedej                  dej                  fd       Z	ede
ez  defd       Zedej                  dej                  fd       Zedej                   dej                   fd       Zedej$                  dej$                  fd       Zedej(                  dej(                  fd	       Zedej,                  dej,                  fd
       Zedej0                  dej0                  fd       Zedej4                  dej4                  fd       Zedej8                  dej8                  fd       Zedej<                  dej>                  fd       Z ede!e"ejF                  f   de!e"ejH                  f   fd       Z%edejF                  dejH                  fd       Z&edejN                  dejP                  fd       Z)edejT                  dejT                  fd       Z+edejX                  dejX                  fd       Z-edej\                  dej\                  fd       Z/edej`                  dej`                  fd       Z1edejd                  dejd                  fd       Z3edejh                  dejh                  fd       Z5edejl                  dejl                  fd       Z7edejp                  dejp                  fd       Z9edejt                  dejt                  fd       Z;edejx                  dejx                  fd       Z=edej|                  dej|                  fd       Z?edej                  dej                  fd       ZAedej                  dej                  fd       ZCedej                  dej                  fd       ZEedej                  dej                  fd        ZGedej                  dej                  fd!       ZIedej                  dej                  fd"       ZKedej                  dej                  fd#       ZMedej                  dej                  fd$       ZOedej                  de!e"ej                  f   fd%       ZRedej                  dej                  fd&       ZTedej                  dej                  fd'       ZVedej                  dej                  fd(       ZXedej                  dej                  fd)       ZZedej                  dej                  fd*       Z\edej                  dej                  fd+       Z^edej                  dej                  fd,       Z`edej                  dej                  fd-       Zbedej                  dej                  fd.       Zdedej                  dej                  fd/       Zgedej                  dej                  fd0       Zhedej                  d1e"dej                  fd2       Zjedej                  dej                  fd3       Zledej                  dej                  fd4       Znedej                  dej                  fd5       Zpedej                  dej                  fd6       Zredej                  dej                  fd7       Zuedej                  dej                  fd8       Zwedej                  dej                  fd9       Zzedej                  dej                  fd:       Z|edej                  dej                  fd;       Z~edej                  dej                   fd<       Zedej                  dej                   fd=       Zedej                  dej                   fd>       Zedej
                  dej
                  fd?       Zedej                  dej                  fd@       Zedej                  dej                  fdA       Zedej                  dej                  fdB       Zedej                  dej                  fdC       Zedej                  dej                   fdD       Zedej$                  dej&                  fdE       Zedej$                  dej&                  fdF       Zedej,                  dej,                  fdG       Zedej0                  dej0                  fdH       Zedej4                  dej4                  fdI       Zedej8                  dej8                  fdJ       Zedej<                  dej<                  fdK       Zedej@                  dej@                  fdL       ZedejD                  dejD                  fdM       ZedejH                  dejJ                  fdN       ZedejN                  dejP                  fdO       ZedejT                  dejV                  fdP       ZedejZ                  dQedeejJ                     fdR       Zedejb                  deee   ejh                  dSz  e"dSz  f   fdT       Zedee   dejl                  fdU       Zedej                  dej                  fdV       Zedeee      dejr                  fdW       Zedejv                  dejv                  fdX       Zedejz                  dejz                  fdY       Zedej~                  dej~                  fdZ       Zedej                  dej                  fd[       Zedej                  dej                  fd\       Zedej                  dej                  fd]       Zedej                  dej                  fd^       Zedej                  dej                  fd_       Zedej                  dej                  fd`       Zedej                  dej                  fda       Zedej                  dej                  fdb       Zedej                  dej                  fdc       Zedej                  dej                  fdd       Zedej                  dej                  fde       Zedej                  dej                  fdf       Zedej                  dej                  fdg       Zedej                  dej                  fdh       Zedej                  dej                  fdi       Zedej                  dej                  fdj       Zedej                  dej                  fdk       Zedej                  dej                  fdl       Zedej                  dej                  fdm       Zedej                  dej                  fdn       Zedej                  dej                  fdo       Zedej                  dej                  fdp       Zedej                  dej                  fdq       Zedej                  d1e"dej                  fdr       Zedej                  d1e"dej                  fds       Zedej                  dej                  fdt       Zedej                  dej                  fdu       Zedej                  dej                  fdv       Zedej                  dej                  fdw       Zedej                   dej                   fdx       Zedej                  dej                  fdy       Zedej                  dej                  fdz       Zedej                  dej                  fd{       Zedej                  dej                  fd|       Z	edej                  dej                  fd}       Zedej                  dej                  fd~       Zedej                  dej                  fd       Zedej                   dej                   fd       Zedej$                  dej$                  fd       Zedej(                  dej(                  fd       Zedej,                  dej,                  fd       Zedej0                  dej2                  fd       Zedej6                  dej8                  fd       Zedej<                  dej>                  fd       Z edejB                  dejB                  fd       Z"edejF                  dejF                  fd       Z$edejJ                  dejJ                  fd       Z&edejN                  dejN                  fd       Z(edejR                  dejR                  fd       Z*edejV                  dejV                  fd       Z,edejZ                  dejZ                  fd       Z.edej^                  dej^                  fd       Z0edejb                  dejb                  fd       Z2edejf                  dejf                  fd       Z4edejj                  dejj                  fd       Z6edejn                  dejn                  fd       Z8edejr                  dejr                  fd       Z:edejv                  deej                     fd       Z<edejz                  dej|                  fd       Z?edejz                  dej|                  fd       Z@edej                  dej                  fd       ZBedej                  dej                  fd       ZEedej                  dej                  fd       ZGedej                  dej                  fd       ZIedeJe"ej                  f   dej                  fd       ZLedej                  dej                  fd       ZNedej                  dej                  fd       ZPedej                  dej                  fd       ZRedej                  dej                  fd       ZTedej                  dej                  ej                  z  ej                  z  ej                  z  ej                  z  ej                  z  ej                  z  ej                  z  fd       Z^edej                  dej                  fd       Z_edej                  dej                  fd       Z`edej                  dej                  fd       Zaedej                  dej                  fd       Zbedej                  dej                  fd       Zdedej                  dej                  fd       Zfedej                  dej                  fd       Zgedej                  dej                  fd       Zhedej                  dej                  fd       Zjedej                  dej                  fd       Zmedej                  dej                  fd       Zoedej                  dej                  fd       Zredej                  dej                  fd       Zuedej                  dej                  fd       Zwedej                  dej                  fd       Zyedej                  dej                  fd       Z{edej                  dej                  fd       Z}edej                  dej                  fd       Zedej                   dej                  fd       Zedej                  dej                  fd       Zedej                  dej                  fd       Zedej                  dej                  fd       Zedej                  dej                  fd       Zedej                  dej                  fd       Zedej                  dej                  fd       Zedej                  dej                  fd       Zedej"                  dej"                  fd       Zedej&                  dej&                  fd       Zedej*                  dej*                  fd       ZyS)
RestToGrpcra   r   c           
           dt         t        j                     t        j                  z  dt         t        j                     f fd}t        j                  |j
                   ||j
                        nd |j                   ||j                        nd |j                   ||j                        nd |j                  Jt        j                   ||j                  j                        |j                  j                              S d       S )Nr   r   c                 r    t        | t              s| g} | D cg c]  }j                  |       c}S c c}w r1   )r=   rB   r   )r   r   r   s     r#   convert_conditionsz5RestToGrpc.convert_filter.<locals>.convert_conditions
  s9     j$/(\
FPQjC)))4jQQQs   4r   )r   r   r   r   )rB   r   r  r   r   r   r   r   r   r   r   r   )r   ra   r  s   `  r#   r   zRestToGrpc.convert_filter
  s    	RT^^,t~~=	R$..!	R {{49JJ4J$UZZ0PT<ANN<V(8\`8=8P&u||4VZ ##/	 1%2B2B2M2MN#..88
 	
 
 	
rX   c                     t        j                  |j                  |j                  |j                  |j
                        S N)r   r   r   r   )r   r   r   r   r   r   r   s     r#   r   zRestToGrpc.convert_range
  s/    zzxxxx					
 	
rX   c                     t        |t              rBt        |t              s2t        j                  |t        j                  j                               }t               }|j                  |       |S r1   )r=   r   r   combinemintimer   FromDatetimer   ra   tss      r#   convert_datetimezRestToGrpc.convert_datetime
  sL    eT":eX+F$$UHLL,=,=,?@E[
	rX   c                 v   t        j                  |j                  | j                  |j                        nd |j                  | j                  |j                        nd |j
                  | j                  |j
                        nd |j                   | j                  |j                              S d       S r  )r   r   r   r  r   r   r   r   s     r#   r   z!RestToGrpc.convert_datetime_range
  s    !!161Es##EHH-4161Es##EHH-438993H$$UYY/d38993H$$UYY/	
 	
 OS	
 	
rX   c                 v    t        j                  | j                  |j                        |j                        S r   )r   r   r   r   r   r   s     r#   r   zRestToGrpc.convert_geo_radius
  r   rX   c                     t        j                  |j                  D cg c]  }| j                  |       c}      S c c}w r   )r   r   r   r   r   s      r#   r   z"RestToGrpc.convert_geo_line_string
  r   r   c           	          t        j                  | j                  |j                        |j                  r.|j                  D cg c]  }| j                  |       c}      S d       S c c}w r   )r   r   r   r   r   r   s      r#   r   zRestToGrpc.convert_geo_polygon
  sc    00@ NS__]_s228<_]
 	
 	
 	
]r   c                 B    t        j                  |j                        S r   )r   r   r   r   s     r#   r   z)RestToGrpc.convert_collection_description
  r   rX   c                    t        j                  |j                  r| j                  |j                        nd | j	                  |j
                        |j                  | j                  |j                        nd |j                  | j                  |j                        |j                  |j                   | j                  |j                              S d       S )N)r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s     r#   r   z"RestToGrpc.convert_collection_info  s    ""BG,,300>TX 99%:P:PQ ''3 **5+?+?@ //00>++ %%1 --e.@.@A
 	
 
 	
rX   c                 B    t        j                  |j                        S r   )r   r   r   r   s     r#   r   z$RestToGrpc.convert_update_queue_info  r   rX   c                    |t         j                  j                  k(  rt        j                  j                  S |t         j                  j
                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S t        d|       rU  )r   rV  r\  r   r[  rZ  rY  rX  rW  r^  r]  r   r   s     r#   r   z$RestToGrpc.convert_collection_status  s    D))---((,,,D))000((///D))///((...D))...((---;E7CDDrX   c                     t        |t        j                        rt        j                  d      S t        |t        j
                        r!t        j                  d|j                        S t        d|       )NT)r   F)r   r   z invalid OptimizersStatus model: )r=   r   r   r   r  r   r   r   r   s     r#   r   z#RestToGrpc.convert_optimizer_status)  sd    eT778''  eT889''5DD;E7CDDrX   c                 H     t         fd|j                         D              S )Nc              3   J   K   | ]  \  }}|j                  |      f  y wr1   )convert_payload_index_infor  s      r#   r7   z4RestToGrpc.convert_payload_schema.<locals>.<genexpr>7  s&     ]}83S#88=>}ru  r[   r   s   ` r#   r   z!RestToGrpc.convert_payload_schema3  s     ]u{{}]]]rX   c                     |j                   }t        j                  | j                  |j                        || j                  |      nd |j                        S )Nr5  )r   r   r  r8  r6  r9  r   )r   ra   r   s      r#   r  z%RestToGrpc.convert_payload_index_info9  sM    %%55eooF@F@R344V<X\<<
 	
rX   c                    t        |t        j                        r%t        j                  | j                  |            S t        |t        j                        r%t        j                  | j                  |            S t        |t        j                        r%t        j                  | j                  |            S t        |t        j                        r%t        j                  | j                  |            S t        |t        j                        r%t        j                  | j                  |            S t        |t        j                        r%t        j                  | j                  |            S t        |t        j                         r%t        j                  | j#                  |            S t        |t        j$                        r%t        j                  | j'                  |            S t)        d	|       )
N)r;  )r<  )r=  )r>  )r?  )r@  )rA  )rB  z#invalid PayloadSchemaParams model: )r=   r   r  r   r  rC  r  rD  r  rE  r  rF  r  rG  r  rH  r  rI  r  rJ  r   r   s     r#   r9  z(RestToGrpc.convert_payload_schema_paramsB  s    eT112**S=Z=Z[`=abbeT445**%(%E%Ee%L  eT445**%(%E%Ee%L  eT223**#&#A#A%#H  eT001**C<X<XY^<_``eT112**S=Z=Z[`=abbeT556**&)&G&G&N  eT112**S=Z=Z[`=abb>ugFGGrX   c                    |t         j                  j                  k(  rt        j                  j                  S |t         j                  j
                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                   S |t         j                  j"                  k(  rt        j                  j$                  S t'        d|       rc   )r   rd   rO  r   re   rN  rh   rL  rj   rP  rl   rM  rn   rQ  rp   rR  rr   rS  rt   r   r   s     r#   r8  z&RestToGrpc.convert_payload_schema_typeh  sE   D**222))111D**222))111D**000))///D**///))...D**...))---D**///))...D**333))222D**///))...<UGDEErX   c                 v    t        j                  |j                  | j                  |j                              S r`  )r   rb  ra  convert_update_statsr   r   s     r#   rd  z RestToGrpc.convert_update_result}  s0      ++++ELL9
 	
rX   c                 h   |t         j                  j                  k(  rt        j                  j                  S |t         j                  j
                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S t        d|       rf  )
r   rg  rk  r   rj  ri  rh  rm  rl  r   r   s     r#   r  zRestToGrpc.convert_update_stats  s    D%%///$$...D%%222$$111D%%222$$0007w?@@rX   c                 ,   |t         j                  j                  k(  rt        j                  S |t         j                  j
                  k(  rt        j                  S |t         j                  j                  k(  rt        j                  S t        d|       ro  )
r   rq  rr  r   rp  rt  rs  rv  ru  r   r   s     r#   rw  zRestToGrpc.convert_update_mode  si    DOO***;;doo111??"doo111??"9%ABBrX   c                     t        j                  |j                  D cg c]  }| j                  |       c}      S c c}w ry  )r   r{  r   convert_extended_point_idr}  s      r#   r   z#RestToGrpc.convert_has_id_condition  s9    ""BG,,O,3C11#6,O
 	
Or   c                 B    t        j                  |j                        S r  )r   r  r   r   s     r#   r   z'RestToGrpc.convert_has_vector_condition  r  rX   c                 B    t        j                  |j                        S r  )r   r  r  r   s     r#   r  zRestToGrpc.convert_delete_alias  r  rX   c                 X    t        j                  |j                  |j                        S r  )r   r  r  r  r   s     r#   r  zRestToGrpc.convert_rename_alias  r  rX   c                 V    t        j                  |j                  j                        S Nr  )r   r  r   rR   r   s     r#   r   z%RestToGrpc.convert_is_empty_condition  s    $$););<<rX   c                 V    t        j                  |j                  j                        S r  )r   r  r   rR   r   s     r#   r   z$RestToGrpc.convert_is_null_condition  s    ##(9(9::rX   c                     t        j                  |j                  j                  | j	                  |j                  j
                              S )Nr  )r   r  r   rR   r   r   r   s     r#   r   z#RestToGrpc.convert_nested_condition  s:    ##  %%ell&9&9:
 	
rX   c           	         t        j                  |j                  |j                  |j                  | j                  |j                        nd |j                  |j                   | j                  |j                              S d       S )Nr  )	r   r  r  r  r  r  r  r  r  r   s     r#   r  z RestToGrpc.convert_search_params  s      MM++ %%1 66u7I7IJ++@E@W//<
 	
 ^b
 	
rX   c                     t        j                  |j                  |j                  nd |j                  |j                        S d       S )Nr  )r   r  r  r  r   s     r#   r  z&RestToGrpc.convert_acorn_search_params  sH    %%#(<<#;5<<5:5J5J5VE11
 	
\`
 	
rX   c                 X    t        j                  |j                  |j                        S r  )r   r  r  r  r   s     r#   r  zRestToGrpc.convert_create_alias  r  rX   c                     t        |t              rt        j                  |      S t        |t              rt        j                  |      S t        d|       )N)r?   r@   r  )r=   r?   r   r  r@   r   r   s     r#   r  zRestToGrpc.convert_order_value  sG    eS!??u--eU#??//5eW=>>rX   c                    t        j                  | j                  |j                        |j                  | j                  |j                        nd |j                  |j                  | j                  |j                        nd |j                  |j                  r| j                  |j                        nd |j                  r | j                  |j                              S d       S )N)r  r%   r  r  r  r  r  )r   r  r  r  r%   r   r  r  convert_vector_struct_outputr  r  r  r  r  r   s     r#   r  zRestToGrpc.convert_scored_point  s    ,,UXX6:?--:SC''6Y]++ <<+ 00>MM@Ec++EOO<UYFKFWFW//0A0AB
 	
 ^b
 	
rX   c                     t        j                  |j                  |j                  |j                  |j
                        S r  )r   r  r   r   r   r   r   s     r#   r  zRestToGrpc.convert_values_count  s1    xxxx					
 	
rX   c                     t        j                  | j                  |j                        | j                  |j                              S )N)r  r  )r   r  r   r  r  r   s     r#   r  z#RestToGrpc.convert_geo_bounding_box  s;    ""**5>>:..u/A/AB
 	
rX   c                     t        j                  | j                  |j                        | j	                  |j
                        |j                   | j                  |j                              S d       S )Nr  r  r%   )r   r  r  r  convert_vector_structr  r%   r   r   s     r#   r  zRestToGrpc.convert_point_struct  se    ,,UXX6--ell;:?--:SC''6
 	
 Z^
 	
rX   c                 B    t        d |j                         D              S )Nc              3   <   K   | ]  \  }}|t        |      f  y wr1   r2   rQ   s      r#   r7   z-RestToGrpc.convert_payload.<locals>.<genexpr>  s     Lm(#sS-,-mr8   r[   r   s     r#   r   zRestToGrpc.convert_payload
  s    LekkmLLLrX   c           	          t        j                  |j                  |j                  |j                  |j
                  |j                  |j                  |j                        S N)r   r   r   r   r   r   r  	r   r  r   r   r   r   r   r   r  r   s     r#   r  z#RestToGrpc.convert_hnsw_config_diff  N    ""++ % 9 9gg!&!;!;MMoo //
 	
rX   c                 F   |j                   :t        j                  |j                  | j	                  |j                               S |j
                  t        |j
                  t        j                        r:t        j                  |j                  | j                  |j
                              S t        |j
                  t        j                        r:t        j                  |j                  | j                  |j
                              S |j                  :t        j                  |j                  | j                  |j                              S |j                  :t        j                  |j                  | j                  |j                              S |j                   :t        j                  |j                  | j#                  |j                               S |j$                  :t        j                  |j                  | j'                  |j$                              S |j(                  +t        j                  |j                  |j(                        S |j*                  +t        j                  |j                  |j*                  	      S t-        d
|       )N)rR   r  )rR   r  )rR   r  )rR   r  )rR   r  )rR   r  )rR   r  )rR   r   )rR   r   zinvalid FieldCondition model: )r  r   r  rR   r  r  r=   r   r   r   r   r   r  r  r  r   r  r   r  r  r   r   r   r   s     r#   r   z"RestToGrpc.convert_field_condition  s   ;;"&&599C<M<Mekk<Z[[;;"%++tzz2**uyy@Q@QRWR]R]@^__%++t'9'9:**		#&#=#=ekk#J  !!-&&II!$!=!=e>T>T!U  '&&II#*@*@AQAQ*R  (&&II3+B+B5CTCT+U  )&&IIC,D,DUEWEW,X  >>%&&599u~~NN==$&&599emmLL9%ABBrX   c                 X    t        j                  |j                  |j                        S Nr/  r   r  r-  r.  r   s     r#   r  z"RestToGrpc.convert_wal_config_diff>  '    !!!11$77
 	
rX   c                    t        j                  | j                  |j                        | j	                  |j
                        | j                  |j                        | j                  |j                        |j                  | j                  |j                        nd |j                  | j                  |j                        nd |j                   | j                  |j                              S d       S )N)r   r   r   r   r   r   r   )r   r   r   r   r   r   convert_optimizers_configr   r   r   r   r   r   r   r   r   r   s     r#   r   z$RestToGrpc.convert_collection_configE  s    $$00>//0A0AB ::5;Q;QR--e.>.>? ,,8 //0I0IJ ++7 55e6N6NO<ANN<VS((8
 	
 ]a
 	
rX   c           	          t        j                  |j                  |j                  |j                  |j
                  |j                  |j                  |j                        S r.  r/  r   s     r#   r   zRestToGrpc.convert_hnsw_configY  r0  rX   c                 X    t        j                  |j                  |j                        S r3  r4  r   s     r#   r   zRestToGrpc.convert_wal_confige  r5  rX   c                    |t         j                  j                  k(  rt        j                  j                  S |t         j                  j
                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S t        d|       r   )r   r!  r)  r   r(  r#  r"  r%  r$  r'  r&  r   r   s     r#   r*  zRestToGrpc.convert_distancel  s    DMM%%%==$$$DMM(((=='''DMM(((=='''DMM+++==***3E7;<<rX   c                    t        j                  |j                  | j                  |j                        nd |j                  |j
                  xs d|j                  |j                  |j                  |j                  |j                  | j                  |j                        nd |j                   | j                  |j                        	      S d 	      S )NF)	r   r  r  r  r  r  r  r  r  )r   r
  r  r  r  r  r  r  r  r  r	  r  r  r  r   s     r#   r   z$RestToGrpc.convert_collection_paramsy  s    $$=B]]=V**5==9\`++!11:U%*%C%C$77 % 9 9"'"="= ''3 001E1EF ((4 ++E,A,AB!
 	
$ %
 	
rX   c                    |t         j                  j                  k(  r8t        j                  t        j                  j
                  j                        S t        |t              rt        j                  |      S t        d|       )Nr	  r  r  )
r   r  r  r   r
  r  r  r=   r?   r   r   s     r#   r  z+RestToGrpc.convert_max_optimization_threads  si     D66;;;..t7R7R7Z7Z7_7_``s#..U;;A%IJJrX   c                 B   t        j                  |j                  |j                  |j                  |j
                  |j                  | j                  |j                        nd |j                  |j                  |j                  |j                  |j                  
      S N)
r  r  r  r  r  r  r  r  r  r  )r   r  r  r  r  r  r  r  r  r  r  r  r   s     r#   r7  z$RestToGrpc.convert_optimizers_config  s    ((#(#?#?#55$77$77 11= 44U5S5ST"33"33%*%C%C050N0N % 9 9
 	
rX   c                 ~   d }t        |j                  t              r|j                  }t        j                  |j
                  |j                  |j                  |j                  |j                  | j                  |j                        nd |j                  |j                  |j                  ||j                  
      S r?  )r=   r  r?   r   r  r  r  r  r  r  r  r  r  r  )r   ra   r  s      r#   r  z)RestToGrpc.convert_optimizers_config_diff  s     /3+e44c:272P2P/((#(#?#?#55$77$77 11= 44U5S5ST"33"33%*%C%C0S % 9 9
 	
rX   r  c                    t        j                  ||j                  | j                  |j                        nd |j                  | j                  |j                        nd |j                  | j                  |j                        nd |j                  | j                  |j                        nd |j                  | j                  |j                        nd |j                   | j                  |j                              S d       S )N)r  r  r   r   r   r   r   )r   r  r  r  r  r  r   r  r   r  r   r  r   r   r   ra   r  s      r#   r  z$RestToGrpc.convert_update_collection  s    $$+ **6 2253J3JK ==, //> <<+ 225<<@ $$0 ,,U->->? ,,8 44U5N5NO=B^^=Wc))%..97
 	
6 ^b7
 	
rX   c                 X    t        j                  |j                  |j                        S )N)r  r  )r   r  r  r  r   s     r#   r   zRestToGrpc.convert_geo_point  s    }}		::rX   c                 :   t        |t        j                        rt        |j                  t              r t        j                  |j                        S t        |j                  t              r t        j                  |j                        S t        |j                  t              r t        j                  |j                        S t        |t        j                        r t        j                  |j                        S t        |t        j                        rt        |j                        dk(  r*t        j                  t        j                  g             S t        |j                  d   t              r4t        j                  t        j                  |j                              S t        |j                  d   t              r4t        j                  t        j                  |j                              S t!        d	|       t        |t        j"                        rt        |j$                        dk(  r*t        j                  t        j                  g       
      S t        |j$                  d   t              r4t        j                  t        j                  |j$                        
      S t        |j$                  d   t              r4t        j                  t        j                  |j$                              S t!        d|       t        |t        j&                        r t        j                  |j(                        S t        |t        j*                        r t        j                  |j,                        S t!        d|       )N)r  r  r  r  r   )r  )r  )r  zinvalid MatchAny model: )r  )r  zinvalid MatchExcept model: r  r  r  )r=   r   r  rF   r>   r   r  r?   rA   r  r  r  r  r  RepeatedStringsRepeatedIntegersr   r  except_r  r  r  r  r   s     r#   r  zRestToGrpc.convert_match  sK   eT__-%++t,zz%++66%++s+zz%++66%++s+zz%++66eT^^,::5::..eT]]+599~"zz4+?+?+KLL%))A,,zz4+?+?		+RSS%))A,,zz4+@+@%))+TUU7w?@@eT--.5==!Q&zz$2F2Fr2RSS%--*C0zz$2F2Fu}}2]^^%--*C0zz$2G2GQVQ^Q^2_``:5'BCCeT--.::U\\22eT../::u~~660899rX   c                    t        |t        j                        r/t        j                  | j                  |j                              S t        |t        j                        r/t        j                  | j                  |j                              S t        |t        j                        r/t        j                  | j                  |j                              S t        d|       )Nr"  r$  r   r  )r=   r   r&  r   r  r  r!  r'  r  r#  r%  r  r  r   r   s     r#   r(  z#RestToGrpc.convert_alias_operations  s    eT667''S5M5MeN`N`5abbeT667''S5M5MeN`N`5abbeT667''S5M5MeN`N`5abb:5'BCCrX   c                 X    t        j                  |j                  |j                        S r*  )r   r+  r  r  r   s     r#   r,  z$RestToGrpc.convert_alias_description  r-  rX   c                     t        j                  t        j                  |j                  |j                              S Nr.   rx  r|  )r   r  r~  r.   rx  r   s     r#   convert_sparse_vector_to_vectorz*RestToGrpc.convert_sparse_vector_to_vector   s/    {{$$||
 	
rX   c                     t        j                  t        j                  |j                  |j                              S rM  )r   r  r~  r.   rx  r   s     r#   &convert_sparse_vector_to_vector_outputz1RestToGrpc.convert_sparse_vector_to_vector_output)  s1      $$||
 	
rX   c                     t        |t              rt        j                  |      S t        |t        j
                        rt        |      }t        |t              rt        j                  |      S t        d|       )N)r  )r  zinvalid ExtendedPointId model: )r=   r?   r   r  r  rS  rA   r   r   s     r#   r  z$RestToGrpc.convert_extended_point_id2  s^    eS!<<E**eTYY'JEeS!<<U++:5'BCCrX   c           
         t        |t        j                        rQt        j                  t        j
                  |j                  D cg c]  }| j                  |       c}            S t        |t        j                        r/t        j                  | j                  |j                              S t        d|       c c}w )N)r3  r   r   r1  )r=   r   r2  r   r  PointsIdsListr   r  r4  r   r   r   r   s      r#   r5  z"RestToGrpc.convert_points_selector<  s    eT../&&))KP<<X<%66u=<X 
 eT001&&c.@.@.NOO9%ABB Ys   Cc                    t        |t        j                        r%t        j                  | j                  |            S t        |t        j                        r%t        j                  | j                  |            S t        |t        j                        r%t        j                  | j                  |            S t        |t        j                        r%t        j                  | j                  |            S t        |t        j                        r%t        j                  | j                  |            S t        |t        j                        r%t        j                  | j                  |            S t        |t        j                         r%t        j                  | j#                  |            S t%        d|       )	N)r   r  r  rz  r  rU  r  r~   )r=   r   r  r   r  r   r  r   r  r   r{  r   r  r   r   r   r  r   r   r   s     r#   r   zRestToGrpc.convert_conditionH  s9   eT001>>(C(CE(JKKeT223>>3+I+I%+PQQeT112>>#*G*G*NOOeT001>>)E)Ee)LMMeT445>>S-M-Me-TUUeT[[)>>););E)BCCeT112>>)E)Ee)LMM4UG<==rX   c                 V   t        |t        j                        r4t        j                  t        j
                  |j                              S t        |t        j                        r4t        j                  t        j                  |j                              S t        d|       )Nr9   r8  r:  zinvalid PayloadSelector model: )r=   r   PayloadSelectorIncluder   r  PayloadIncludeSelectorr8  r;  PayloadExcludeSelectorr9  r   r   s     r#   convert_payload_selectorz#RestToGrpc.convert_payload_selector[  s    eT889++335==I  eT889++335==I  :5'BCCrX   c                 $    | j                  |      S r1   )r>  r   s     r#   r<  z(RestToGrpc.convert_with_payload_selectorg  s     11%88rX   c                 F   t        |t              rt        j                  |      S t        |t              r*t        j                  t        j
                  |            S t        |t        t        j                              r| j                  |      S t        d|       )Nr  r9   rY  z$invalid WithPayloadInterface model: )r=   r>   r   r  rB   r[  r	   r   PayloadSelectorr]  r   r   s     r#   r>  z)RestToGrpc.convert_with_payload_interfacem  s     eT"++599t$++D4O4OW\4]^^x(<(<=>//66?wGHHrX   c                 p   t        |t              rt        j                  |      S t        |t              rt        j                  |      S t        |t
              r'| j                  |      }t        j                  |      S t        |t              rt        j                  |      S t        d|       )NrE  r#  )r!  r  zinvalid StartFrom model: )	r=   r?   r   r  r@   r   r  rA   r   r   s      r#   r#  zRestToGrpc.convert_start_fromz  s    eS!>>%00eU#>>..eX&%%e,B>>B//eS!>>5114UG<==rX   c                     |t         j                  j                  k(  rt        j                  j                  S |t         j                  j
                  k(  rt        j                  j                  S t        d|       r  )r   r  r  r   r  r  r  r   r   s     r#   r  zRestToGrpc.convert_direction  sY    DNN&&&>>%%%DNN'''>>&&&4UG<==rX   c                     t        j                  |j                  |j                  | j	                  |j                        nd |j
                   | j                  |j
                              S d       S )Nr'  )r   r(  rR   r%  r  r&  r#  r   s     r#   rR  zRestToGrpc.convert_order_by  sk    ||		:?//:U%%eoo6[_ =B<L<L<X&&u'7'78
 	
 _c
 	
rX   c                     t        |t              rt        j                  |      S t        |t        j                        r| j                  |      S t        d|       )Nr  z invalid OrderByInterface model: )r=   rA   r   r(  r   rR  r   r   s     r#   convert_order_by_interfacez%RestToGrpc.convert_order_by_interface  sO     eS!<<E**eT\\*''..;E7CDDrX   c                     t        |t              rt        j                  |      S t        |t              rt        j                  |      S t        d|       )Nr,   r)   r*  )r=   rA   r   r  r?   r   r   s     r#   r+  zRestToGrpc.convert_facet_value  sG    eS!??66eS!??775eW=>>rX   c                 v    t        j                  | j                  |j                        |j                        S r-  )r   r  r+  rF   rF  r   s     r#   r/  z"RestToGrpc.convert_facet_value_hit  s,    }}))%++6++
 	
rX   c           	         t        j                  | j                  |j                        | j	                  |j
                        |j                  | j                  |j                        nd |j                  r| j                  |j                        nd |j                  r | j                  |j                              S d       S )N)r  r%   r  r  r  )r   r  r  r  r   r%   r  r%  r  r  r  r  r   s     r#   rC  zRestToGrpc.convert_record  s    "",,UXX6''6 <<+ 00>@Ec++EOO<UYFKFWFW//0A0AB

 
	
 ^b

 
	
rX   c                 $    | j                  |      S r1   )rC  r   s     r#   rA  z"RestToGrpc.convert_retrieved_point  s    !!%((rX   c                 B    t        j                  |j                        S rE  )r   rG  rF  r   s     r#   rH  zRestToGrpc.convert_count_result  rI  rX   c                     t               }|j                  t        j                  |j                               t        j                  |j                  ||j                        S )NrL  )	r   r  r   fromisoformatrK  r   rN  r   rM  )r   ra   r!  s      r#   rP  z'RestToGrpc.convert_snapshot_description  sN     K	x55e6I6IJK''#
 	
rX   c                 h   |t         j                  j                  k(  rt        j                  j                  S |t         j                  j
                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S t        d|       rR  )
r   rS  rU  r   rT  rW  rV  rY  rX  r   r   s     r#   rZ  zRestToGrpc.convert_datatype  s{    DMM)))==(((DMM'''==&&&DMM)))==(((3E7;<<rX   c                    t        j                  |j                  | j                  |j                        |j
                  | j                  |j
                        nd |j                  | j                  |j                        nd |j                  |j                  | j                  |j                        nd |j                   | j                  |j                              S d       S )Nr^  )r   r`  rM  r*  r_  r   r  r   r   r   r\  rZ  r]  ra  r   s     r#   rb  z RestToGrpc.convert_vector_params  s      ))%..9 $$0 ,,U->->? ,,8 //0I0IJMM=B^^=WS))%..9]a ++7 ..u/G/GH!
 	
$ %
 	
rX   c                 `    t        j                  | j                  |j                              S rd  )r   rf  rg  re  r   s     r#   ra  z%RestToGrpc.convert_multivector_config  rh  rX   c                     |t         j                  j                  k(  rt        j                  j                  S t        d|       rj  )r   rk  rm  r   rl  r   r   s     r#   rg  z)RestToGrpc.convert_multivector_comparator  s=     D..666--444@HIIrX   c           	      R    t        |t        j                        r%t        j                   j                  |            S t        |t              rJt        j                  t        j                  t         fd|j                         D                          S t        d|       )Nr   c              3   J   K   | ]  \  }}|j                  |      f  y wr1   rr  r  s      r#   r7   z4RestToGrpc.convert_vectors_config.<locals>.<genexpr>  s(     aS`xsCc3#<#<S#ABS`ru  rv  rp  ro  )
r=   r   r`  r   r  rb  rD   VectorParamsMaprE   r   r   s   ` r#   r  z!RestToGrpc.convert_vectors_config
  s    eT../%%S-F-Fu-MNNt$%%//aSXS^S^S`aa  <UGDEErX   c           	      :   dt         t           t         t         t              z  dt        j                  fd}t	        |t               rt        j
                   ||            S t	        |t              ri }|j                         D ]b  \  }}t	        |t               r|j                  | ||      i       1t	        |t        j                        r#|j                  || j                  |      i       nt	        |t        j                        r7|j                  |t        j                  | j                  |            i       t	        |t        j                        r8|j                  |t        j                  | j                  |            i       t	        |t        j                         s-|j                  |t        j                  | j#                  |            i       e t        j
                  t        j$                  |            S t	        |t        j                        r9t        j
                  t        j                  | j                  |                  S t	        |t        j                        r9t        j
                  t        j                  | j                  |                  S t	        |t        j                         r9t        j
                  t        j                  | j#                  |                  S t'        d	|       )
Nr  r   c           
      :   t        |       dk7  r_t        | d   t              rLt        j                  t        j
                  | D cg c]  }t        j                  |       c}            S t        j                  t        j                  |             S c c}w Nr   r  r  r}  r{  )r  r=   rB   r   r  r  r  r  inner_vectors     r#   r  z8RestToGrpc.convert_vector_struct.<locals>.convert_vector  s     6{aJq	4% {{ $ 5 5 17!06 !,,,?06!!  ;;T%5%56%BCC!   Br  r  r  r  r{  zinvalid VectorStruct model: )rB   r@   r   r  r=   r  rD   rE   updater   r~  rP  r  r  r  r  r  r  r  r   r   ra   r  r  rR   rS   s         r#   r*  z RestToGrpc.convert_vector_struct  s"   	DK$tE{"33	D[[	D  eT"<<~e'<==t$G!KKMSc4(NNC)<#=>T%6%67NNC)L)LS)Q#RST]]3NNCc>R>RSV>W)X#YZTZZ0NNC3;L;LS;Q)R#STT%9%9:NNCC<X<XY\<])^#_` * <<(9(9'(JKKt}}-<<t{{C<P<PQV<W'XYYtzz*<<t{{9J9J59Q'RSSt334<<t{{#:V:VW\:]'^__;E7CDDrX   c                 X   dt         t           t         t         t              z  dt        j                  fd}t	        |t               rt        j
                   ||            S t	        |t              ri }|j                         D ]l  \  }}t	        |t               r|j                  | ||      i       0t	        |t        j                        sK|j                  || j                  |      i       n t        j
                  t        j                  |            S t        d|       )Nr  r   c           
      :   t        |       dk7  r_t        | d   t              rLt        j                  t        j
                  | D cg c]  }t        j                  |       c}            S t        j                  t        j                  |             S c c}w rz  )r  r=   rB   r   r  r  r  r~  s     r#   r  z?RestToGrpc.convert_vector_struct_output.<locals>.convert_vectorD  s     6{aJq	4% (( $ 5 5 17!06 !,,,?06!!  $$4+;+;+HII!r  r  r{  z"invalid VectorStructOutput model: )rB   r@   r   r  r=   r  rD   rE   r  r   r~  rR  r  r   r  s         r#   r%  z'RestToGrpc.convert_vector_struct_outputB  s    	JK$tE{"33	J	J  eT"%%^E-BCCt$G!KKMSc4(NNC)<#=>T%6%67NNC)S)STW)X#YZ	 *
 %%d.E.Eg.VWWA%IJJrX   c                     t        |t              rt        j                  |      S t        |t              r*t        j                  t        j
                  |            S t        d|       )Nr`  r  rY  zinvalid WithVectors model: )r=   r>   r   r  rB   r  r   r   s     r#   convert_with_vectorszRestToGrpc.convert_with_vectorsa  sV    eT"++599t$++D4H4Hu4UVV:5'BCCrX   num_recordsc                    t        |t              r|D cg c]  }| j                  |       c}S t        |t              rjt	        |      D cg c]  }i  }}|j                         D ]   \  }}t        |      D ]  \  }}|||   |<    " |D cg c]  }| j                  |       c}S t        d|       c c}w c c}w c c}w )Nz!invalid BatchVectorStruct model: )r=   rB   r*  rD   r  rE   	enumerater   )	r   ra   r  ra  _resultrR   rS   r  s	            r#   convert_batch_vector_structz&RestToGrpc.convert_batch_vector_structj  s     eT"@EFC--d3FFt$.3K.@!A.@".@F!A!KKMS(~GAt%)F1IcN  . * AGGC--d3GG@HII G!A Hs   B8	B=CNc                 x   t        |t              r|d d fS t        |t        j                        r|j                  d |j
                  fS t        |t        j                        rK|j                  j                  t        j                  |j                  j                        |j
                  fS t        d|       )Nr  z!invalid NamedVectorStruct model: )r=   rB   r   NamedVectorr  r   NamedSparseVectorr.   r   SparseIndicesrx  r   r   s     r#   convert_named_vector_structz&RestToGrpc.convert_named_vector_structy  s     eT"$$$t//0<<uzz11t556##""(<(<=

  @HIIrX   c                 .    t        j                  |      S )Nr  )r   r  r   s     r#   r  zRestToGrpc.convert_dense_vector  s    U++rX   c                 X    t        j                  |j                  |j                        S )NrN  )r   r~  r.   rx  r   s     r#   r  z RestToGrpc.convert_sparse_vector  s      emmLLrX   c                 r    t        j                  |D cg c]  }| j                  |       c}      S c c}w )Nr{  )r   r  r  r  s      r#   r  z%RestToGrpc.convert_multi_dense_vector  s5    $$DIJE&S--f5EJ
 	
Js   4c                     t        j                  |j                  |j                  |j                  t        |j                              S d       S r  )r   r  r  ra   r  r\   r   s     r#   r  zRestToGrpc.convert_document  sG    }}++6;mm6OOEMM2
 	
 VZ
 	
rX   c                     t        j                  t        |j                        |j                  |j
                  t        |j
                              S d       S r  )r   r  r3   r  ra   r  r\   r   s     r#   r  zRestToGrpc.convert_image  sL    zz,++6;mm6OOEMM2
 	
 VZ
 	
rX   c                     t        j                  t        |j                        |j                  |j
                  t        |j
                              S d       S r  )r   r  r3   r  ra   r  r\   r   s     r#   r  z#RestToGrpc.convert_inference_object  sN    ## .++6;mm6OOEMM2
 	
 VZ
 	
rX   c                    t        |t              rkt        |      dk7  r8t        |d   t              r%t        j                  | j                  |            S t        j                  | j                  |            S t        |t        j                        r%t        j                  | j                  |            S t        |t        t        j                              r%t        j                  | j                  |            S t        |t        j                        r%t        j                  | j                  |            S t        |t        j                        r%t        j                  | j!                  |            S t        |t        j"                        r%t        j                  | j%                  |            S t'        d	|       )
Nr   r|  r}  rO  )r  r  r  r  r  )r=   rB   r  r   r  r  r  r   r~  r  r   r  r  r  r  r  r  r  r  r   r   s     r#   r  zRestToGrpc.convert_vector_input  sS   eT"5zQ:a$$ ''C4R4RSX4YZZ###*B*B5*IJJeT../##3+D+DU+KLLe01E1EFG##s'D'DU'KLLeT]]+##S-A-A%-HIIeTZZ(###*;*;E*BCCeT112##3+G+G+NOO6ug>??rX   c           	      r   t        j                  |j                  )|j                  D cg c]  }| j                  |       c}nd |j                  )|j                  D cg c]  }| j                  |       c}nd |j
                   | j                  |j
                              S d       S c c}w c c}w )Nr  )r   r  r  r  r  r  r  r  s      r#   r  z"RestToGrpc.convert_recommend_input  s    "" >>- AFOf))&1O >>- AFOf))&1O >>- ..u~~>
 	
 
 	
O
 Ps   B/ B4
c                     t        j                  | j                  |j                        | j                  |j                              S r  )r   r  r  r  r  r   s     r#   r  z%RestToGrpc.convert_context_input_pair  s9    $$--enn=--enn=
 	
rX   c                 .   t        |t              r3t        j                  |D cg c]  }| j	                  |       c}      S t        |t
        j                        r&t        j                  | j	                  |      g      S t        d|       c c}w )Nr<  zinvalid ContextInput model: )r=   rB   r   r  r  r   r  r   r  s      r#   r  z RestToGrpc.convert_context_input  s    eT"$$HMNs55d;N  eT--.$$C,J,J5,Q+RSS7w?@@ Os   Bc                     t        j                  | j                  |j                        | j	                  |j
                              S r  )r   r  r  r  r  r  r   s     r#   r  z!RestToGrpc.convert_discover_input  r  rX   c                     |t         j                  j                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S t        d|       r  )r   r  r  r   r  r   r   s     r#   r  zRestToGrpc.convert_fusion  r  rX   c                     |t         j                  j                  k(  rt        j                  j                  S t        d|       r  )r   r  r  r   r  r   r   s     r#   r  zRestToGrpc.convert_sample  r  rX   c                 X    t        j                  |j                  |j                        S )Nr4  )r   r5  r2  r3  r   s     r#   r6  zRestToGrpc.convert_mmr  s    xx%//EDZDZ[[rX   c                 v   t        |t        j                        r|j                  _t	        j
                  | j                  |j                        | j                  |j                              }t	        j                  |      S t	        j                  | j                  |j                              S t        |t        j                        r/t	        j                  | j                  |j                              S t        |t        j                        r/t	        j                  | j                  |j                              S t        |t        j                         r/t	        j                  | j#                  |j$                              S t        |t        j&                        r/t	        j                  | j)                  |j*                              S t        |t        j,                        r/t	        j                  | j/                  |j0                              S t        |t        j2                        r/t	        j                  | j5                  |j6                        	      S t        |t        j8                        r%t	        j                  | j;                  |      
      S t        |t        j<                        rt	        j>                         }|j@                  jB                  |j@                  jB                  |_!        |j@                  jD                  /|jD                  jG                  |j@                  jD                         t	        j                  |      S t        |t        jH                        r/t	        j                  | jK                  |jL                              S tO        d|       )NrF  )rE  r9  r;  r=  r>  r@  rB  rD  )r  rJ  rL  r  )(r=   r   rM  rG  r   NearestInputWithMmrr  r8  r6  r  rN  r  r:  rO  r  r<  rP  r  r  rQ  rf  r?  rS  r  rA  rT  r  rC  r  r  rU  rV  rH  r5   rI  extendrW  rX  rK  r   )r   ra   rE  rH  s       r#   rY  zRestToGrpc.convert_query  sz   eT../yy$#'#;#;44U]]CY^YbYbIc$  zz3CDD::c&>&>u}}&MNNeT001::(C(CEOO(TUUeT//0::s'A'A%..'QRReT../::c&?&?&NOOeT../::s'E'Eenn'UVVeT--.::S%7%7%EFFeT--.::S%7%7%EFFeT../::c&?&?&FGGeT]]+((*Cyy{{&		yy  ,""599#4#45::#&&eT889::#&#G#GH`H`#a  0899rX   c           	          t        j                  | j                  |j                        |j                  D cg c]  }| j                  |       c}| j                  |j                              S c c}w r[  )r   r]  r  r  r\  r^  r_  r  r`  s      r#   rX  z+RestToGrpc.convert_relevance_feedback_input6  rb  rc  c                 v    t        j                  | j                  |j                        |j                        S re  )r   rg  r  rf  r  r   s     r#   r^  z RestToGrpc.convert_feedback_item@  rh  rX   c                     t        |t        j                        r/t        j                  | j                  |j                              S t        d|       )Nrl  rj  )r=   r   rm  r   r  rn  rk  r   r   s     r#   r_  z$RestToGrpc.convert_feedback_strategyG  sL    eT778((@@M  ;E7CDDrX   c                 n    t        j                  |j                  |j                  |j                        S rp  )r   rm  rq  rr  rs  r   s     r#   rn  z1RestToGrpc.convert_naive_feedback_strategy_paramsP  s,     ))gggggg
 	
rX   c                     |j                   t        |j                         nd }| j                  |j                        }t	        j
                  ||      S )N)r  r  )r  r\   r  r  r   r  )r   ra   r  r  s       r#   r  z RestToGrpc.convert_formula_queryZ  sA    6;nn6P?5>>2VZ++EMM:
||X*EErX   c                 	   t        |t              rt        j                  |      S t        |t              rt        j                  |      S t        |t        t        j                              r%t        j                  | j                  |            S t        |t        j                        r t        j                  |j                        S t        |t        j                        r t        j                  |j                        S t        |t        j                        r/t        j                  | j                  |j                              S t        |t        j                         r%t        j                  | j#                  |            S t        |t        j$                        r%t        j                  | j'                  |            S t        |t        j(                        r%t        j                  | j+                  |      	      S t        |t        j,                        r%t        j                  | j/                  |      
      S t        |t        j0                        r/t        j                  | j                  |j2                              S t        |t        j4                        r/t        j                  | j                  |j6                              S t        |t        j8                        r/t        j                  | j                  |j:                              S t        |t        j<                        r/t        j                  | j                  |j>                              S t        |t        j@                        r/t        j                  | j                  |jB                              S t        |t        jD                        r%t        j                  | jG                  |            S t        |t        jH                        r/t        j                  | jK                  |jL                              S t        |t        jN                        r/t        j                  | jK                  |jP                              S t        |t        jR                        r/t        j                  | jK                  |jT                              S tW        d|       )N)r  )r  )r   r  r  r  r  r  r  r!  r  r  r  r  r  r(  r  r  r  zinvalid Expression model: ),r=   r@   r   r  rA   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  r  r  r  r  r  r   r   s     r#   r  zRestToGrpc.convert_expression`  s<   eU#??E22eS!??E22e0@A??S-B-B5-IJJeT445??ENN;;eT778??0B0BCCeT//0??s'='=eii'HIIeT//0??s'A'A%'HIIeT001??(C(CE(JKKeT//0??s'A'A%'HIIeT//0??s'A'A%'HIIeT112??)?)?)LMMeT../??c&<&<UXX&FGGeT//0??s'='=eii'HIIeT001??(>(>uzz(JKKeT//0??s'='=eii'HIIeT--.??0H0H0OPPeT445??S-P-PQVQ`Q`-abbeT445??S-P-PQVQ`Q`-abbeT667????@Q@QR  5eW=>>rX   c                     t        j                  |j                  D cg c]  }| j                  |       c}      S c c}w r
  )r   r  r  r  r  s      r#   r  z!RestToGrpc.convert_sum_expression  r  r   c                     t        j                  |j                  D cg c]  }| j                  |       c}      S c c}w r  )r   r  r  r  r  s      r#   r  z"RestToGrpc.convert_mult_expression  r  r   c                     t        j                  | j                  |j                  j                        | j                  |j                  j
                        |j                  j                        S )Nr  )r   r  r  r  r  r  r  r   s     r#   r  z!RestToGrpc.convert_div_expression  sN    !!''		7((9!II55
 	
rX   c                     t        j                  | j                  |j                  j                        | j                  |j                  j
                              S )Nr  )r   r#  r  r  r  r   r   s     r#   r  z!RestToGrpc.convert_pow_expression  sC    !!''		7++EII,>,>?
 	
rX   c                     t        j                  | j                  |j                  j                        |j                  j
                        S )Nr%  )r   r*  r   r  r&  r'  r   s     r#   r  zRestToGrpc.convert_geo_distance  s>    ((););)B)BC!!$$
 	
rX   c                     t        j                  | j                  |j                        |j                  | j                  |j                        nd |j
                  |j                        S )Nr.  )r   r0  r  r/  r  r,  r-  r   s     r#   r  z*RestToGrpc.convert_decay_params_expression  sU     ))$$UWW-;@<<;S3))%,,7Y]^^++	
 	
rX   c                    t        |t        t        j                              r%t	        j
                  | j                  |            S t        |t        t        j
                              r| j                  |      S t        d|       )Nr9  zinvalid QueryInterface: )
r=   r   r   r  r   r  r  r	   rY  r   r   s     r#   convert_query_interfacez"RestToGrpc.convert_query_interface  si    e01A1ABC::c&>&>u&EFFeXdjj12$$U++3E7;<<rX   c                    d }t        |j                  t        j                        r| j	                  |j                        g}nCt        |j                  t
              r)|j                  D cg c]  }| j	                  |       c}}t        j                  ||j                  | j                  |j                        nd |j                  |j                  nd |j                  | j                  |j                        nd |j                  | j                  |j                        nd |j                  |j                   |j                   nd |j"                   | j%                  |j"                              S d       S c c}w )Nr{  )r=   r|  r   r}  r~  rB   r   r  rv  r  rw  r   r   r   r  rx  ry  rz  r  r  s      r#   r~  z!RestToGrpc.convert_prefetch_query  s7   enndmm4225>>BCH-MR^^\^228<^\H!!>Ckk>U#--ekk:[_!&!8%++d7<||7O3%%ell3UY>Cll>V3,,U\\:\`!11!&!8%++d $$0 ++E,=,=>
 	
 
 	
 ]s   ,E?c                    t        |j                  t        j                        r|j                  gn|j                  }t	        j
                  ||j                  |D cg c]  }| j                  |       c}nd |j                  | j                  |j                        nd |j                  |j                  | j                  |j                        nd |j                  | j                  |j                        nd |j                  |j                  |j                   |j"                  | j%                  |j"                        nd |j&                  | j)                  |j&                        nd |j*                  | j-                  |j*                        nd |j.                   | j1                  |j.                              S d       S c c}w )N)r  r|  rv  rw  r   r   rx  ry  r  r  r  r.  rz  )r=   r|  r   r}  r   r  r~  rv  r  rw  r   r   r   r  rx  ry  r  r  r  r  r>  r  r  rz  r  )r   ra   r  r|  ps        r#   convert_query_requestz RestToGrpc.convert_query_request  s   
 !+5>>4== IU^^u~~ 	 + >>- 9AA1++A.A>Ckk>U#--ekk:[_++7<||7O3%%ell3UY>Cll>V3,,U\\:\`!11++<< $$0 (():):; %%1 2253E3EF ??. ..u? $$0 ++E,=,=>="
 "	
@ A"
 "	
 Bs   G	
c                 &    | j                  ||      S r1   )r  rB  s      r#   r  zRestToGrpc.convert_query_points  s     ((@@rX   c                    |t         j                  j                  k(  rt        j                  j                  S |t         j                  j
                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S t        d|       r  )r   r  r  r   r  r  r  r  r  r  r  r   r   s     r#   r  z!RestToGrpc.convert_tokenizer_type  s    D&&+++%%***d((333%%000d((///%%,,,d((555%%222<UGDEErX   c                    t        j                  |j                  | j                  |j                        nd |j                  |j
                  |j                  |j                  |j                  | j                  |j                        nd |j                  |j                  | j                  |j                        nd |j                  |j                  nd |j                  
      S )N)
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   s     r#   rC  z$RestToGrpc.convert_text_index_params  s    ## ??. **5??;oo----MM* ++EOO<!11:?--:SC''6Y]161D1D1P%--VZ))!
 	
rX   c                 `   t        |t        j                        r!t        j                  |j
                  g      S t        |t        j                        rGt        j                  |j                  r|j                  D cg c]  }| c}nd |j                        S t        d|       c c}w )N)r  r  z"invalid StopwordsInterface model: )	r=   r   r  r   r  rF   r  r  r   )r   ra   langs      r#   r  zRestToGrpc.convert_stopwords*  s    eT]]+$$}==eT../$$@EEOO<OD4O<UY|| 
 =eWEFF	 =s   ?	B+c                     t        |t        j                        r4t        j                  t        j                  |j
                              S t        d|       )N)r  )r  r  )r=   r   r  r   r  r  r   r   s     r#   r  zRestToGrpc.convert_stemmer7  sH    eT001))43F3FPUP^P^3_``<UGDEErX   c                     t        j                  |j                  |j                  |j                  |j
                  |j                        S )N)r  r  r  r   r  )r   r  r  r  r  r   r  r   s     r#   rD  z'RestToGrpc.convert_integer_index_params>  s>     &&<<++++MM))
 	
rX   c                 n    t        j                  |j                  |j                  |j                        S N)r  r   r  )r   r  r  r   r  r   s     r#   rE  z'RestToGrpc.convert_keyword_index_paramsJ  s,     &&oou}}%J[J[
 	
rX   c                 n    t        j                  |j                  |j                  |j                        S N)r  r   r  )r   r  r  r   r  r   s     r#   rF  z%RestToGrpc.convert_float_index_paramsR  s-    $$++U]]PUPaPa
 	
rX   c                 X    t        j                  |j                  |j                        S N)r   r  )r   r  r   r  r   s     r#   rG  z#RestToGrpc.convert_geo_index_paramsX  s    ""5==eFWFWXXrX   c                 X    t        j                  |j                  |j                        S r  )r   r  r   r  r   s     r#   rH  z$RestToGrpc.convert_bool_index_params\  s    ##EMMuGXGXYYrX   c                 n    t        j                  |j                  |j                  |j                        S r  )r   r  r  r   r  r   s     r#   rI  z(RestToGrpc.convert_datetime_index_params`  s/     ''++U]]PUPaPa
 	
rX   c                 n    t        j                  |j                  |j                  |j                        S r  )r   r  r  r   r  r   s     r#   rJ  z$RestToGrpc.convert_uuid_index_paramsh  s*    ##oou}}%J[J[
 	
rX   c                     t        j                  |j                  |j                  |j                  |j
                  |j                        S )N)r  r  r  r  r  )r   r  r  r  r  r  r  r   s     r#   r  z)RestToGrpc.convert_collection_params_diffn  sD     (($77%*%C%C!11 % 9 9"'"="=
 	
rX   c                 X    t        j                  |j                  |j                        S )N)r  r  )r   r  r  r  r   s     r#   r  z"RestToGrpc.convert_lookup_locationz  s%    ""!,,
 	
rX   c                     t        |t              rt        j                  |      S t        |t        j
                        r%t        j                  | j                  |            S t        d|       )N)r  r  r  )r=   r?   r   r  r   r  r  r   r   s     r#   r  z#RestToGrpc.convert_read_consistency  sj    eS!''  t778''66u=  >ugFGGrX   c                 h   |t         j                  j                  k(  rt        j                  j                  S |t         j                  j
                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S t        d|       r  )
r   r  r  r   r  r  r  r  r  r   r   s     r#   r  z(RestToGrpc.convert_read_consistency_type  s     D,,555++444d..222++///d..555++222B5'JKKrX   c                    |t         j                  j                  k(  r.t        j                  t        j                  j
                        S |t         j                  j                  k(  r.t        j                  t        j                  j                        S |t         j                  j                  k(  r.t        j                  t        j                  j                        S t        d|       )Nr  r  )r   r  r  r   r  r  r  r  r  r  r   r   s     r#   r  z!RestToGrpc.convert_write_ordering  s    D&&+++%%4+A+A+F+FGGd((///%%4+A+A+H+HIId((///%%4+A+A+H+HII<UGDEErX   c                     t        j                  t         j                  j                  |j                  |j
                        S )Nr  )r   r5  QuantizationTypeInt8r  r  r   s     r#   r  z-RestToGrpc.convert_scalar_quantization_config  s6     &&&&++^^''
 	
rX   c                 v    t        j                  | j                  |j                        |j                        S )Nr  )r   r6  r  r   r  r   s     r#   r  z.RestToGrpc.convert_product_quantization_config  s4     ''55e6G6GH''
 	
rX   c                     t        j                  |j                  |j                  | j	                  |j                        nd |j
                   | j                  |j
                              S d       S )Nr  )r   r7  r  r  r	  r  r
  r   s     r#   r  z-RestToGrpc.convert_binary_quantization_config  sr     &&''~~) ==ennM##/ II%J^J^_
 	
 
 	
rX   c                 h   |t         j                  j                  k(  rt        j                  j                  S |t         j                  j
                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S t        d|       r  )
r   r  r  r   r  r  r  r  r  r   r   s     r#   r	  z/RestToGrpc.convert_binary_quantization_encoding  s     D33;;;22999D33<<<22:::D33EEE22AAAEeWMNNrX   c                    |t         j                  j                  k(  r8t        j                  t        j                  j                  j
                        S |t         j                  j                  k(  r8t        j                  t        j                  j                  j                        S |t         j                  j                  k(  r8t        j                  t        j                  j                  j                        S |t         j                  j                  k(  r8t        j                  t        j                  j                  j                        S t        d|       )Nr=  r  )r   r  r  r   r  r  r  r  r  r  r  r  r   r   s     r#   r
  z5RestToGrpc.convert_binary_quantization_query_encoding  s    D88@@@77<<DDLL  D88???77<<DDKK  D88DDD77<<DDPP  D88DDD77<<DDPP  =eWE
 	
rX   c                 D   |t         j                  j                  k(  rt        j                  j                  S |t         j                  j
                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S t        d|       r!  )r   r#  r$  r   r"  r&  r%  r(  r'  r*  r)  r,  r+  r   r   s     r#   r  z$RestToGrpc.convert_compression_ratio  s    D)),,,((+++d++...((+++d++///((,,,d++///((,,,d++///((,,,?wGHHrX   c                    t        |t        j                        r/t        j                  | j                  |j                              S t        |t        j                        r/t        j                  | j                  |j                              S t        |t        j                        r/t        j                  | j                  |j                              S t        d|       )Nr0  r2  r4  r.  )r=   r   r5  r   r  r  r/  r6  r  r1  r7  r  r3  r   r   s     r#   r   z&RestToGrpc.convert_quantization_config  s     eT445**==ellK  eT556**??N  eT445**==ellK  A%IJJrX   c                 n    t        j                  |j                  |j                  |j                        S )Nr<  )r   r=  r9  r:  r;  r   s     r#   r  z-RestToGrpc.convert_quantization_search_params  s.     ,,<<MM++
 	
rX   c                     t        j                  | j                  |j                        | j	                  |j
                              S )N)r  r  )r   r?  r  r  r*  r  r   s     r#   r@  z RestToGrpc.convert_point_vectors  s9      ,,UXX6--ell;
 	
rX   c                     t        j                  |j                  D cg c]  }| j                  |       c}      S c c}w rB  )r   rD  rC  rE  rF  s      r#   rH  z RestToGrpc.convert_groups_result%  rI  r   c           	         t        j                  | j                  |j                        |j                  D cg c]  }| j                  |       c}|j                   | j                  |j                              S d       S c c}w )NrK  )r   rM  rN  r  rL  r  r  rC  r   s      r#   rE  zRestToGrpc.convert_point_group+  su    ##EHH-?DzzJze#**51zJ7<||7O3%%ell3
 	
 VZ
 	
Js   B
c                     t        |t              rt        j                  |      S t        |t              r1|dk\  rt        j                  |      S t        j                  |      S t        d|       )Nr,   r   )unsigned_valuer)   rR  )r=   rA   r   r  r?   r   r   s     r#   rN  zRestToGrpc.convert_group_id3  sr    eS!<<"  s#z||#(  ||"'  6ug>??rX   c                     t        j                  |j                  |j                  | j	                  |j                        nd |j
                   | j                  |j
                              S d       S )N)r  r  r  )r   rT  r  r  r  r  r>  r   s     r#   rU  zRestToGrpc.convert_with_lookupE  sv    '' %%1 ((););< %%1 2253E3EF
 	
 
 	
rX   c                 ^   t        |t        j                        r/t        j                  | j                  |j                              S t        |t        j                        r/t        j                  | j                  |j                              S t        |t        j                        r/t        j                  | j                  |j                              S |t        j                  j                  k(  r(t        j                  t        j                               S t        d|       )Nr0  r2  r4  )rX  rW  )r=   r   r5  r   r  r  r/  r6  r  r1  r7  r  r3  rY  rZ  r   r   s     r#   r  z+RestToGrpc.convert_quantization_config_diffU  s     eT445..==ellK  eT556..??N  eT445..==ellK  DMM***..  EeWMNNrX   c                     t        j                  |j                  | j                  |j                        nd |j                  | j                  |j                        nd |j                        S )Nr\  )r   r]  r   r  r   r  r   r   s     r#   r^  z%RestToGrpc.convert_vector_params_diffl  sj    $$ $$0 ,,U->->? ,,8 44U5N5NOMM
 	
rX   c           	      h    t        |t              r:t        |      dk(  r,d|v r(t        j                   j                  |d               S t        |t              rJt        j                  t        j                  t         fd|j                         D                          S t        d|       )Nr  ra  rs  c              3   J   K   | ]  \  }}|j                  |      f  y wr1   rc  r  s      r#   r7   z9RestToGrpc.convert_vectors_config_diff.<locals>.<genexpr>  s*      S`xsCc<<SABS`ru  ru  rv  r`  )	r=   rD   r  r   r  r^  VectorParamsDiffMaprE   r   r   s   ` r#   r  z&RestToGrpc.convert_vectors_config_diff|  s    eT"s5zQ2;))1O1OPUVXPY1Z[[t$))33 SXS^S^S`   @HIIrX   c                    t        |t        j                        r| j                  |j                  j
                  t        |j                  j                              }t        t        |j                  j                              D cg c]  }t        j                  t        j                  |j                  j                  |         ||   |j                  j                  ,t        j                  |j                  j                  |         nd        c}S t        |t        j                        r)|j                   D cg c]  }| j#                  |       c}S t%        d|       c c}w c c}w )Nr)  z%invalid PointInsertOperations model: )r=   r   PointsBatchr  batchr  r  r3  r  r   r  r  r  payloadsr   r{  r   r  r   )r   ra   vectors_batchr~  r   s        r#   convert_point_insert_operationz)RestToGrpc.convert_point_insert_operation  s,   
 eT--.030O0O##S%91M !U[[__!56 7C   !;;EKKOOC<PQ)#. !;;//; #225;;3G3G3LM! 7  t/AFNC,,U3NNDUGLMM Os   BE*E/c                 $    | j                  |      S r1   )r  r   s     r#   convert_update_operationz#RestToGrpc.convert_update_operation  s    22599rX   c           
         t        |t        j                        r|j                  j                  r%| j                  |j                  j                        nd }|j                  j                  r%| j                  |j                  j                        nd }|j                  j                  %| j                  |j                  j                        nd }t        j                  t        j                  j                  | j                  |j                        |||            S t        |t        j                        r|j                  j                  r%| j                  |j                  j                        nd }| j!                  |j                        }t        j                  j#                  ||      }t        j                  |      S t        |t        j$                        rJ|j&                  j(                  r+t        j*                  |j&                  j(                        }nO|j&                  j,                  r+t        j.                  |j&                  j,                        }nt1        d|       |j&                  j                  r%| j                  |j&                  j                        nd }t        j                  t        j                  j3                  | j5                  |j&                  j6                        | j!                  |      ||j&                  j8                        	      S t        |t        j:                        rJ|j<                  j(                  r+t        j*                  |j<                  j(                        }nO|j<                  j,                  r+t        j.                  |j<                  j,                        }nt1        d
|       |j<                  j                  r%| j                  |j<                  j                        nd }t        j                  t        j                  j?                  | j5                  |j<                  j6                        | j!                  |      ||j<                  j8                              S t        |t        j@                        r&|jB                  j(                  r+t        j*                  |jB                  j(                        }nO|jB                  j,                  r+t        j.                  |jB                  j,                        }nt1        d|       |jB                  j                  r%| j                  |jB                  j                        nd }t        j                  t        j                  jE                  |jB                  jF                  | j!                  |      |            S t        |t        jH                        r|jJ                  j                  r%| j                  |jJ                  j                        nd }| j!                  |jJ                        }t        j                  jM                  ||      }t        j                  |      S t        |t        jN                        r|jP                  j                  r%| j                  |jP                  j                        nd }|jP                  j                  r%| j                  |jP                  j                        nd }t        j                  t        j                  jS                  |jP                  j(                  D cg c]  }| jU                  |       c}||            S t        |t        jV                        r:|jX                  j(                  r+t        j*                  |jX                  j(                        }nO|jX                  j,                  r+t        j.                  |jX                  j,                        }nt1        d|       |jX                  j                  r%| j                  |jX                  j                        nd }t        j                  t        j                  j[                  | j!                  |      t        j\                  |jX                  j^                        |            S t1        d|       c c}w )N)r   r.  rg  rh  ri  )r   r.  )rj  r   rU  z#invalid SetPayloadOperation model: )r%   r}  r.  rR   rm  z)invalid OverwritePayloadOperation model: ro  z&invalid DeletePayloadOperation model: )rq  r}  r.  rr  rt  )r   r.  rg  rv  r  )r}  r  r.  rx  ry  )0r=   r   rz  rf  r  r  rg  r   rh  rw  r   r  PointStructListr  r|  rk  r5  DeletePointsr~  rl  r   r2  r   r4  r   r  r   r%   rR   r  rn  OverwritePayloadr  rp  r  rq  r  rs  ClearPayloadr  ru  r  r@  r  rw  r  r  r  )	r   ra   r.  rg  rh  r}  rj  rs  r   s	            r#   r  z*RestToGrpc.convert_points_update_operation  sc    eT112 <<)) ..u||/E/EF  <<-- ""5<<#=#=>  <<++7 ''(@(@A 
 --11AA==ellK'9"/ +	 B   t334 <<)) ..u||/E/EF 
 "99%,,GO 66CC&#5 D M --+  t778  ''"&"3"35;L;L;S;S"T""))"&"5"5U=N=N=U=U"V #Fug!NOO $$.. ..u/@/@/J/JK  -- 66AA//0A0A0I0IJ$'$?$?$P'9))--	 B   t==>&&--"&"3"35;R;R;Y;Y"Z((//"&"5"5U=T=T=[=["\ ?wG  **44 ..u/F/F/P/PQ  --"&"<"<"M"M//0G0G0O0OP$'$?$?$P'9//33	 #N #  t::;##**"&"3"35;O;O;V;V"W%%,,"&"5"5U=Q=Q=X=X"Y <UGD  ''11 ..u/C/C/M/MN  --#99GG--22$'$?$?$P'9  H    t99: &&00 ..u/B/B/L/LM 
 "99%:M:MNO 66CC&#5 D M --+  t::; ''11 ..u/C/C/M/MN  ''55 ""5#7#7#E#EF 
 --#99GGFKFZFZFaFaFaU11%8Fa (:"/  H    t::;##**"&"3"35;O;O;V;V"W%%,,"&"5"5U=Q=Q=X=X"Y <UGD  ''11 ..u/C/C/M/MN  --#99GG$'$?$?$P 00u7K7K7R7RS'9  H    >ugFGG?s   cc                 h   |t         j                  j                  k(  rt        j                  j                  S |t         j                  j
                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S t        d|       r  )
r   r  r  r   r  r  r  r  r  r   r   s     r#   r  z%RestToGrpc.convert_recommend_strategyT  s    D**999))777d,,777))333d,,777))333@HIIrX   c                     t        j                  |j                  |j                  nd |j                  |j                  nd |j                   | j                  |j                              S d       S )Nr  )r   r  r   r   r\  rZ  r   s     r#   convert_sparse_index_paramsz&RestToGrpc.convert_sparse_index_params_  sj    %%-2-F-F-R))X\%*]]%>EMMD=B^^=WS))%..9
 	

 ^b
 	
rX   c                     |t         j                  j                  k(  rt        j                  j                  S |t         j                  j
                  k(  rt        t        j                  d      S t        d|       r  )r   r  r  r   r  r  r   r   r   s     r#   r  zRestToGrpc.convert_modifieri  sZ    DMM%%%==$$$dmm(((4==&117w?@@rX   c                     t        j                  |j                  | j                  |j                        nd |j                   | j                  |j                              S d       S )Nr  )r   r  r  r  r  r  r   s     r#   r  z'RestToGrpc.convert_sparse_vector_paramsr  sc     &&@E@W//<]a 9>8R$$U^^4
 	

 Y]
 	
rX   c                 p     t        j                  t         fd|j                         D                    S )Nc              3   J   K   | ]  \  }}|j                  |      f  y wr1   r  r  s      r#   r7   z:RestToGrpc.convert_sparse_vector_config.<locals>.<genexpr>  s(     `R_hc3c3;;C@AR_ru  ru  )r   r  rD   rE   r   s   ` r#   r  z'RestToGrpc.convert_sparse_vector_config  s0     &&`RWR]R]R_``
 	
rX   c                     t        |t              rt        j                  |      S t        |t              rt        j                  |      S t        d|       )N)numberrF  r  )r=   r?   r   r  rA   r   r   s     r#   r  zRestToGrpc.convert_shard_key  sG    eS!==..eS!==//3E7;<<rX   c                    |t         j                  j                  k(  rt        j                  j                  S |t         j                  j
                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                   S |t         j                  j"                  k(  rt        j                  j$                  S |t         j                  j&                  k(  rt        j                  j(                  S |t         j                  j*                  k(  rt        j                  j,                  S |t         j                  j.                  k(  rt        j                  j0                  S t3        d|       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   s     r#   r  z RestToGrpc.convert_replica_state  r  rX   c                    t        |t        j                        rJt        j                  | j                  |j                        g| j                  |j                              S t        |t        t        j                              r&t        j                  | j                  |      g      S t        |t              r3t        j                  |D cg c]  }| j                  |       c}      S t        d|       c c}w )N)r  r  )r  z invalid ShardKeySelector model: )r=   r   r  r   r  r  r  r  r   r  rB   r   )r   ra   rR   s      r#   r  z%RestToGrpc.convert_shard_key_selector  s    4,,
 ((11%,,?@..u~~> 
 e0?@((S5J5J55Q4RSSeT"(([`4a[`TWS5J5J35O[`4abb;E7CDD 5bs   C?c                     |t         j                  j                  k(  rt        j                  S |t         j                  j
                  k(  rt        j                  S t        d|       r  )r   r  r  r   r  r  r  r   r   s     r#   r  z"RestToGrpc.convert_sharding_method  sQ    D'',,,99d))000;;=eWEFFrX   c                 "   t        |t        j                        r|j                  }| j	                  |      S t        |t        j
                        r|j                  }| j                  |      S t        |t        j                        r|j                  }| j                  |      S t        |t        j                        r|j                  }| j                  |      S t        |t        j                        r|j                  }| j!                  |      S t        |t        j"                        r|j$                  }| j'                  |      S t        |t        j(                        r|j*                  }| j-                  |      S t        |t        j.                        r|j0                  }| j3                  |      S t        |t        j4                        rt7        d      t        |t        j8                        rt7        d      t7        d|       )Nz0StartReshardingOperation has no grpc counterpartz1AbortReshardingOperation has not grpc counterpartz!invalid ClusterOperations model: )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  StartReshardingOperationr   AbortReshardingOperation)r   ra   re  s      r#   r  z%RestToGrpc.convert_cluster_operations  s    eT445((I)))44eT99:--I..y99eT889,,I33I>>eT667**I&&y11eT<<=11I//	::eT::;//I//	::eT::;..I//	::eT::;..I//	::eT::;OPPeT::;PQQ<UGDEErX   c           	          t        j                  |j                  d |j                  |j                  |j
                   | j                  |j
                              S d       S N)r  r  r  r  r  )r   r  r  r  r  r  r  r   s     r#   r  zRestToGrpc.convert_move_shard  s\    ~~^^++''||' 44U\\B
 	
 
 	
rX   c           	          t        j                  |j                  d |j                  |j                  |j
                   | j                  |j
                              S d       S r  )r   r  r  r  r  r  r  r   s     r#   r  z"RestToGrpc.convert_replicate_shard  s^    ""^^++''||' 44U\\B
 	
 
 	
rX   c                 p    t        j                  |j                  d |j                  |j                        S )N)r  r  r  r  )r   r  r  r  r  r   s     r#   r  z'RestToGrpc.convert_abort_shard_transfer  s3     &&^^++''	
 	
rX   c                 X    t        j                  |j                  |j                        S r  )r   r  r  r  r   s     r#   r  zRestToGrpc.convert_replica)  r  rX   c                 `    t        j                  | j                  |j                              S r  )r   r  r  r  r   s     r#   r  z#RestToGrpc.convert_delete_shard_key-  s"    ""S-B-B5??-STTrX   c           	      P   t        j                  | j                  |j                        |j                  |j                  nd |j
                  |j
                  nd |j                  |j                  nd |j                   | j                  |j                              S d       S )Nr  )	r   r  r  r  r  r  r  r  r  r   s     r#   r  z#RestToGrpc.convert_create_shard_key1  s    ""++EOO<161D1D1P%--VZ''3  %77).)Deoo$"". 33E4G4GH

 
	
 

 
	
rX   c           	          t        j                  |j                  d |j                  |j                  | j                  |j                              S r  )r   r  r  r  r  r  r  r   s     r#   r  z#RestToGrpc.convert_restart_transfer?  sC    ##^^++''44U\\B
 	
rX   c                     t        j                  | j                  |j                        | j                  |j                        |j
                   | j                  |j
                              S d       S )N)r  r  r   )r   r  r  r  r  r   r   r   s     r#   r  z#RestToGrpc.convert_replicate_pointsI  si    ##001E1EF..u/A/AB7<||7O3%%ell3
 	
 VZ
 	
rX   c                    |t         j                  j                  k(  rt        j                  j                  S |t         j                  j
                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S |t         j                  j                  k(  rt        j                  j                  S t        d|       r  )r   r  r  r   r  r  r  r  r  r  r  r   r   s     r#   r  z(RestToGrpc.convert_shard_transfer_methodQ  s     D,,;;;++999D,,555++444D,,666++444D,,FFF++CCC>ugFGGrX   c                 n    t        j                  |j                  |j                  |j                        S )Nr2  )r   r  r3  r  r1  r   s     r#   r5  z%RestToGrpc.convert_health_check_replyc  s*    $$++MM<<
 	
rX   c                     t        j                  | j                  |j                        | j                  |j                        |j
                        S r7  )r   r8  r  rq  rr  r  r   s     r#   r9  z%RestToGrpc.convert_search_matrix_pairk  s@    $$++EGG4++EGG4++
 	
rX   c                     t        j                  |j                  D cg c]  }| j                  |       c}      S c c}w r;  )r   r  r  r9  r  s      r#   r>  z&RestToGrpc.convert_search_matrix_pairss  s;     %%DIKKPKD311$7KP
 	
Pr   c                     t        j                  t        |j                        t        |j                        t        |j
                        |j                  D cg c]  }| j                  |       c}      S c c}w r@  )r   r  rB   rA  rB  rC  r3  r  rE  s      r#   rG  z(RestToGrpc.convert_search_matrix_offsets{  sf     ''U../U../%AFK..t4K	
 	
 LrH  c                 B    t        j                  |j                        S NrL  r   rM  rK  r   s     r#   rN  z*RestToGrpc.convert_strict_mode_multivector        ))))
 	
rX   c                 p     t        j                  t         fd|j                         D                    S )Nc              3   J   K   | ]  \  }}|j                  |      f  y wr1   rQ  r  s      r#   r7   zDRestToGrpc.convert_strict_mode_multivector_config.<locals>.<genexpr>  s*      $P]HCc99#>?P]ru  r]  r   r  rD   rE   r   s   ` r#   rS  z1RestToGrpc.convert_strict_mode_multivector_config  s6     //# $PUP[P[P]$  
 	
rX   c                 B    t        j                  |j                        S NrX  r   rY  rW  r   s     r#   rZ  z%RestToGrpc.convert_strict_mode_sparse  s    $$''
 	
rX   c                 p     t        j                  t         fd|j                         D                    S )Nc              3   J   K   | ]  \  }}|j                  |      f  y wr1   r]  r  s      r#   r7   z?RestToGrpc.convert_strict_mode_sparse_config.<locals>.<genexpr>  s)      KXxsCc44S9:=ru  r_  r   r  rD   rE   r   s   ` r#   r`  z,RestToGrpc.convert_strict_mode_sparse_config  s3     ** KP;;= 
 	
rX   c                    t        j                  di d|j                  d|j                  d|j                  d|j
                  d|j                  d|j                  d|j                  d|j                  d	|j                  d
|j                  d|j                  d|j                  d|j                  d|j                  d|j                   d|j"                  d|j$                  r| j'                  |j$                        nd d|j(                  r| j+                  |j(                        nd d|j,                  S rb  )r   rt  rc  rd  re  rf  rg  rh  ri  rj  rk  rl  rm  rn  ro  rp  rq  rr  r]  rS  r_  r`  rs  r   s     r#   ru  z%RestToGrpc.convert_strict_mode_config  ss   $$ 
MM
!11
 ))
 */)K)K	

 (-'G'G
  %77
  %77
 %*$A$A
 "'!;!;
 .3-S-S
 "11
 #33
 /4.U.U
 #33
 #("="=
   %77!
& ++ ::5;S;ST)
0 && 55e6I6IJ3
6 %*$A$A7
 	
rX   c                    t        j                  di d|j                  d|j                  d|j                  d|j
                  d|j                  d|j                  d|j                  d|j                  d	|j                  d
|j                  d|j                  d|j                  d|j                  d|j                  d|j                   d|j"                  d|j$                  r| j'                  |j$                        nd d|j(                  r| j+                  |j(                        nd d|j,                  S rb  )r   rt  rc  rd  re  rf  rg  rh  ri  rj  rk  rl  rm  rn  ro  rp  rq  rr  r]  rx  r_  ry  rs  r   s     r#   r   z,RestToGrpc.convert_strict_mode_config_output  su    $$ 
MM
!11
 ))
 */)K)K	

 (-'G'G
  %77
  %77
 %*$A$A
 "'!;!;
 .3-S-S
 "11
 #33
 /4.U.U
 #33
 #("="=
   %77!
& ++ AA%BZBZ[)
0 && <<U=P=PQ3
6 %*$A$A7
 	
rX   c                 p     t        j                  t         fd|j                         D                    S )Nc              3   J   K   | ]  \  }}|j                  |      f  y wr1   r|  r  s      r#   r7   zKRestToGrpc.convert_strict_mode_multivector_config_output.<locals>.<genexpr>  s-      $ -HC c@@EF -ru  r  r  r   s   ` r#   rx  z8RestToGrpc.convert_strict_mode_multivector_config_output  s3     //# $ %$  
 	
rX   c                 p     t        j                  t         fd|j                         D                    S )Nc              3   J   K   | ]  \  }}|j                  |      f  y wr1   r  r  s      r#   r7   zFRestToGrpc.convert_strict_mode_sparse_config_output.<locals>.<genexpr>  s*      R_hc3c;;C@AR_ru  r  r  r   s   ` r#   ry  z3RestToGrpc.convert_strict_mode_sparse_config_output  s6     ** RWR]R]R_ 
 	
rX   c                 B    t        j                  |j                        S r  r  r   s     r#   r}  z1RestToGrpc.convert_strict_mode_multivector_output  r  rX   c                 B    t        j                  |j                        S r  r  r   s     r#   r  z,RestToGrpc.convert_strict_mode_sparse_output  s      $$''
 	
rX   c                    t        j                  |j                  |j                  |j                  D cg c]  }| j                  |       c}|j                  D cg c]  }| j                  |       c}|j                  D cg c]  }| j                  |       c}|j                  xs g D cg c]  }| j                  |       c}      S c c}w c c}w c c}w c c}w r  )r   r  r  r  r  r  r  r  r  r  r  r  r  s         r#   r  z*RestToGrpc.convert_collection_cluster_info  s     11MM))MRM_M_M_k,,[9M_ QVPcPcPc--l;Pc
 ,1+@+@+@' //0CD+@ -2,G,G,M2,M#,M( ++,@A,M#
 	
#s   CCC0Cc                     t        j                  |j                  |j                  | j	                  |j                        nd |j
                  | j                  |j                              S )Nr  )r   r  r  r  r  r   r  r  r   s     r#   r  z#RestToGrpc.convert_local_shard_info&  sX    ""^^* ++EOO<++++EKK8
 	
rX   c                     t        j                  |j                  |j                  | j	                  |j                        nd |j
                  | j                  |j                              S )Nr  )r   r  r  r  r  r  r  r  r   s     r#   r  z$RestToGrpc.convert_remote_shard_info1  sV    ##^^* ++EOO<MM++EKK8
 	
rX   c                     d|j                   i}t        j                  d|j                  |j                  |j                  nd |j
                  |j                  d|S )Nr  r  r  )from_r   r  r  r  r'  r  )r   ra   
ugly_params      r#   r  z&RestToGrpc.convert_shard_transfer_info<  s^    ekk*
%% 

^^-2->->-J))PTxx	


 

 
	
rX   c                     t        j                  | j                  |j                        |j                  |j
                  |j                   | j                  |j                              S d       S )Nr  )r   r  r  r%  r  r  r  r  r   s     r#   r  z"RestToGrpc.convert_resharding_infoK  sb    ""66uG^^MM* ++EOO<	
 	
 
 	
rX   c                     |t         j                  j                  k(  rt        j                  j                  S |t         j                  j
                  k(  rt        j                  j                  S t        d|       r  )r   r  r  r   r  r  r  r   r   s     r#   r  z'RestToGrpc.convert_resharding_directionV  r  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   rV  r   r  r  r   rD   rA   r7  r  r   r  r  r  r9  rd   r8  rb  rd  rg  r  rq  rw  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   r  r  r  r   r  r  r   r   r  r   r0  r   r!  r*  r
  r   r
  r  r  r  r7  r  r  r  r  r   r  r  r  r(  r+  r,  r~  r  rP  r  rR  r  r  r  r  r5  r  r   ra  r  r]  r<  r  r>  r  r#  r  r  r(  rR  OrderByInterfacerf  r  r+  r.  r  r/  r@  r  rC  rA  rG  rH  rN  rP  rS  rZ  r`  rb  rf  ra  rk  rg  r  r  r  r  r*  r  r  r%  r  r  r  BatchVectorStructr?   rB   r  NamedVectorStructrC   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  r5  r6  r  rY  r]  rX  rg  r^  r  r_  rt  rm  rn  r  r  r  r  r  r  r  r  r  r  r  r#  r  r*  r  r0  r  QueryInterfacer  r}  r  r~  r  r  r  r  r  r  r  rC  r  r  r  r  r  r  rD  r  rE  r  rF  r  rG  r  rH  r  rI  r  rJ  r  r  r  r  r  r  r  r  r  r  r  r5  r  r  r6  r  r  r7  r  r  r	  r  r
  r#  r  r  r   r=  r  r?  r@  rD  rH  rM  rE  r  rN  rT  rU  r  r  r]  r^  r  r  PointInsertOperationsr  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  r  r  r  r  r  r  r  r  r  r  r  r  r  r4  r  r5  r8  r9  r=  r  r>  rD  r  rG  rM  rN  r  rS  rY  rZ  r  r`  rt  ru  rw  r   r  rx  r  ry  r  r}  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rX   r#   r  r  
  s"   
4;; 
4;; 
 
, 
$** 
 
 
 X_    
4+=+= 
$BTBT 
 
 _t~~ _$.. _ _ cD,>,> c4CUCU c c 
 
DOO 
 
 ;..;		#	#; ;
 
D,?,? 
DDWDW 
 
& 
d.B.B 
tG[G[ 
 

 
Ed.C.C 
EH]H] 
E 
E ET-B-B EtG[G[ E E ^d3334^	c4)))	*^ ^
 
t/D/D 
I_I_ 
 
 #H,,#H		 	 #H #HJ F0F0F F4KaKa F F( 
$*;*; 
@Q@Q 
 
 A):): At?P?P A A C CDOO C C 
T-@-@ 
TEXEX 
 

 D++D		 	 D D
 =)9)9 =d>N>N = = 
)9)9 
d>N>N 
 

 =t/D/D =I^I^ = = ;d.B.B ;tG[G[ ; ; 
T-A-A 
dFZFZ 
 
 
$*;*; 
@Q@Q 
 
 
0F0F 
4KaKa 
 
 d)9)9 dd>N>N d d ? ?DOO ? ? 
)9)9 
d>N>N 
 
 
)9)9 
d>N>N 
 
 
T-@-@ 
TEXEX 
 
 
)9)9 
d>N>N 
 
 MDLL MT#tzz/5J M M 	
T-@-@ 	
TEXEX 	
 	
 !CD,?,? !CDDWDW !C !CF 
D,>,> 
4CUCU 
 
 
d.C.C 
H]H] 
 
& 	
 	
D<O<O 	
 	
 
t~~ 
$:L:L 
 
 
=T]] 
=t}} 
= 
= 
d.C.C 
H]H] 
 
. K//K		$	$K K 
d.C.C 
HaHa 
 
$ 
--
		"	"
 
0 
))
<?
			
 
B ;dmm ; ; ; :$** : : :@ DT-A-A DdFZFZ D D 
d.C.C 
H]H] 
 
 
D4E4E 
$++ 
 
 
4;L;L 
QUQbQb 
 
 Dd.B.B Dt|| D D 	CD,?,? 	CDDWDW 	C 	C >dnn > > >$ 	DT-A-A 	DdF^F^ 	D 	D 9((9		!	!9 9
 
I--
I		!	!
I 
I >t~~ >$.. > > >dnn > > > 	
T\\ 	
dll 	
 	
 Et/D/D E E E ? ?DOO ? ? 
D,>,> 
4== 
 
 
4;; 
43F3F 
 
 )DKK )D<O<O ) ) 3)9)9 3d>N>N 3 3 	
,,	
		!	!	
 	
 =T]] =t}} = = 
$*;*; 
@Q@Q 
 
. 
t/E/E 
$J`J` 
 

 J..J		#	#J J 
F4+=+= 
F$BTBT 
F 
F (E$*;*; (E (E (ET K1H1H KTM_M_ K K< D DT=U=U D D J**J9<J	dll	J J J**J	tE{D..5sTzA	BJ J  ,e ,9I9I , , M$*;*; M@Q@Q M M 
tDK/@ 
TEZEZ 
 

 
T]] 
t}} 
 
 
$** 
 
 
 
T-A-A 
dFZFZ 
 
 @)9)9 @d>N>N @ @( 
D,?,? 
DDWDW 
 
& 
t/?/? 
DDYDY 
 
 A$*;*; A@Q@Q A A 
4+=+= 
$BTBT 
 
 ;4;; ;4;; ; ; ;4;; ;4;; ; ; \ \TXX \ \ ,:$** ,: ,: ,:\ 
//
		$	$
 
 
$*;*; 
@Q@Q 
 
 Ed.C.C EH]H] E E 
44
		#	#
 
 F$*;*; F F F
 *?t *?4?? *? *?X \4+=+= \$BTBT \ \ _D,?,? _DDWDW _ _ 
4+=+= 
$BTBT 
 
 
4+=+= 
$BTBT 
 
 
)9)9 
d>N>N 
 
 
..
		#	#
 
 =D,?,? =DJJ = = 
4== 
T=O=O 
 
, (
%%(
8;(
			(
 (
T A%%A8;A			A A
 
F4+=+= 
F$BTBT 
F 
F 
d.B.B 
tG[G[ 
 
( 
Gd&=&= 
G$BSBS 
G 
G FD$:$: Ft?U?U F F 	
++	
		 	 	
 	
 
++
		 	 
 
 
t/D/D 
I^I^ 
 

 YT-@-@ YTEXEX Y Y Zd.B.B ZtG[G[ Z Z 
,,
		!	!
 
 
d.B.B 
tG[G[ 
 

 	
--	
		"	"	
 	
 
D,?,? 
DDWDW 
 
 
HT-A-A 
HdFZFZ 
H 
H 
L,,
L		!	!
L 
L F4+=+= F$BTBT F F 
11
		 	 
 
 
22
		!	!
 
 
11
		 	 
 
 O33O		(	(O O 
88
		-	-
 
6 Id.C.C IH]H] I I K++K		 	 K K$ 
11
		&	&
 
 
$*;*; 
@Q@Q 
 
 
$*;*; 
@Q@Q 
 

 
 
DOO 
 
 @T\\ @dll @ @" 
 
DOO 
 
 O//O		$	$O O, 
t/D/D 
I^I^ 
 
 J0F0F J4KaKa J J N..N	d	N N2 :T-A-A :dF`F` : : hH((hH		#	#hH hHT Jt/E/E J$J`J` J J 
0F0F 
4KaKa 
 
 AT]] At}} A A 

++

		 	 

 

 
C!8!889
		 	 
 
 =dmm = = = "A$*;*; "A@Q@Q "A "AH Et/D/D EI^I^ E E$ GD,?,? GDDWDW G G 2F**2F 	


	

!
!	" ,,	 

		
 

	 

	 

	2F 2Fh 	
t~~ 	
$.. 	
 	
 	
D,?,? 	
DDWDW 	
 	
 
++
		 	 
 
 LDLL LT\\ L L UT-A-A UdFYFY U U 
T-C-C 
H[H[ 
 
 
T-A-A 
dFZFZ 
 
 
T-A-A 
dFZFZ 
 
 H,,H		!	!H H" 
t/?/? 
DDYDY 
 
 
t/D/D 
I^I^ 
 
 
22
			
 
 
44
		!	!
 
 
..
		#	#
 
 
44
		)	)
 
 
t/D/D 
I^I^ 
 

 
//
		$	$
 
 
t/D/D 
I^I^ 
 
> 
//
			
 
B 
::
		)	)
 
 
55
		$	$
 
 
44
		#	#
 
 
//
			
 
 
..
		+	+
 
, 
T-@-@ 
TEXEX 
 
 
d.B.B 
tG[G[ 
 
 
0F0F 
4KaKa 
 
 
D,?,? 
DDWDW 
 
 G,,G		!	!G GrX   r  )/r  r   r   r   typingr   r   r   r	   #google.protobuf.internal.containersr
   google.protobuf.json_formatr   google.protobuf.timestamp_pb2r   google.protobuf.pyext._messager   ImportErrorqdrant_clientr   qdrant_client.grpcr   r   r   r   qdrant_client.http.modelsr   r   qdrant_client._pydantic_compatr   r   &qdrant_client.conversions.common_typesr   rA   r>   r$   r3   rP   rD   r\   r`   rd   rf   rw   ry   r{   r  r  rX   r#   <module>r=     s9    - - 3 3 : 5 3	B  B B 4 H F#s #3 #4 # =3 =5 =,7 73 7@KT#s(^ KS%Z0@ KI:c5j1 Id38n IBT-C-C B B*:T^^ :@V@V :*b(G b(GXQf&G f&G]U  		s   C% %C-,C-