// Code generated by protoc-gen-go. DO NOT EDIT. package protocol import ( reflect "reflect" sync "sync" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" structpb "google.golang.org/protobuf/types/known/structpb" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type Hybrid_FusionType int32 const ( Hybrid_FUSION_TYPE_UNSPECIFIED Hybrid_FusionType = 0 Hybrid_FUSION_TYPE_RANKED Hybrid_FusionType = 1 Hybrid_FUSION_TYPE_RELATIVE_SCORE Hybrid_FusionType = 2 ) // Enum value maps for Hybrid_FusionType. var ( Hybrid_FusionType_name = map[int32]string{ 0: "FUSION_TYPE_UNSPECIFIED", 1: "FUSION_TYPE_RANKED", 2: "FUSION_TYPE_RELATIVE_SCORE", } Hybrid_FusionType_value = map[string]int32{ "FUSION_TYPE_UNSPECIFIED": 0, "FUSION_TYPE_RANKED": 1, "FUSION_TYPE_RELATIVE_SCORE": 2, } ) func (x Hybrid_FusionType) Enum() *Hybrid_FusionType { p := new(Hybrid_FusionType) *p = x return p } func (x Hybrid_FusionType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Hybrid_FusionType) Descriptor() protoreflect.EnumDescriptor { return file_v1_search_get_proto_enumTypes[0].Descriptor() } func (Hybrid_FusionType) Type() protoreflect.EnumType { return &file_v1_search_get_proto_enumTypes[0] } func (x Hybrid_FusionType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Hybrid_FusionType.Descriptor instead. func (Hybrid_FusionType) EnumDescriptor() ([]byte, []int) { return file_v1_search_get_proto_rawDescGZIP(), []int{7, 0} } type SearchRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // required Collection string `protobuf:"bytes,1,opt,name=collection,proto3" json:"collection,omitempty"` // parameters Tenant string `protobuf:"bytes,10,opt,name=tenant,proto3" json:"tenant,omitempty"` ConsistencyLevel *ConsistencyLevel `protobuf:"varint,11,opt,name=consistency_level,json=consistencyLevel,proto3,enum=weaviate.v1.ConsistencyLevel,oneof" json:"consistency_level,omitempty"` // what is returned Properties *PropertiesRequest `protobuf:"bytes,20,opt,name=properties,proto3,oneof" json:"properties,omitempty"` Metadata *MetadataRequest `protobuf:"bytes,21,opt,name=metadata,proto3,oneof" json:"metadata,omitempty"` GroupBy *GroupBy `protobuf:"bytes,22,opt,name=group_by,json=groupBy,proto3,oneof" json:"group_by,omitempty"` // affects order and length of results. 0/empty (default value) means disabled Limit uint32 `protobuf:"varint,30,opt,name=limit,proto3" json:"limit,omitempty"` Offset uint32 `protobuf:"varint,31,opt,name=offset,proto3" json:"offset,omitempty"` Autocut uint32 `protobuf:"varint,32,opt,name=autocut,proto3" json:"autocut,omitempty"` After string `protobuf:"bytes,33,opt,name=after,proto3" json:"after,omitempty"` // protolint:disable:next REPEATED_FIELD_NAMES_PLURALIZED SortBy []*SortBy `protobuf:"bytes,34,rep,name=sort_by,json=sortBy,proto3" json:"sort_by,omitempty"` // matches/searches for objects Filters *Filters `protobuf:"bytes,40,opt,name=filters,proto3,oneof" json:"filters,omitempty"` HybridSearch *Hybrid `protobuf:"bytes,41,opt,name=hybrid_search,json=hybridSearch,proto3,oneof" json:"hybrid_search,omitempty"` Bm25Search *BM25 `protobuf:"bytes,42,opt,name=bm25_search,json=bm25Search,proto3,oneof" json:"bm25_search,omitempty"` NearVector *NearVector `protobuf:"bytes,43,opt,name=near_vector,json=nearVector,proto3,oneof" json:"near_vector,omitempty"` NearObject *NearObject `protobuf:"bytes,44,opt,name=near_object,json=nearObject,proto3,oneof" json:"near_object,omitempty"` NearText *NearTextSearch `protobuf:"bytes,45,opt,name=near_text,json=nearText,proto3,oneof" json:"near_text,omitempty"` NearImage *NearImageSearch `protobuf:"bytes,46,opt,name=near_image,json=nearImage,proto3,oneof" json:"near_image,omitempty"` NearAudio *NearAudioSearch `protobuf:"bytes,47,opt,name=near_audio,json=nearAudio,proto3,oneof" json:"near_audio,omitempty"` NearVideo *NearVideoSearch `protobuf:"bytes,48,opt,name=near_video,json=nearVideo,proto3,oneof" json:"near_video,omitempty"` Generative *GenerativeSearch `protobuf:"bytes,60,opt,name=generative,proto3,oneof" json:"generative,omitempty"` Rerank *Rerank `protobuf:"bytes,61,opt,name=rerank,proto3,oneof" json:"rerank,omitempty"` // Deprecated: Marked as deprecated in v1/search_get.proto. Uses_123Api bool `protobuf:"varint,100,opt,name=uses_123_api,json=uses123Api,proto3" json:"uses_123_api,omitempty"` } func (x *SearchRequest) Reset() { *x = SearchRequest{} if protoimpl.UnsafeEnabled { mi := &file_v1_search_get_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SearchRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*SearchRequest) ProtoMessage() {} func (x *SearchRequest) ProtoReflect() protoreflect.Message { mi := &file_v1_search_get_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SearchRequest.ProtoReflect.Descriptor instead. func (*SearchRequest) Descriptor() ([]byte, []int) { return file_v1_search_get_proto_rawDescGZIP(), []int{0} } func (x *SearchRequest) GetCollection() string { if x != nil { return x.Collection } return "" } func (x *SearchRequest) GetTenant() string { if x != nil { return x.Tenant } return "" } func (x *SearchRequest) GetConsistencyLevel() ConsistencyLevel { if x != nil && x.ConsistencyLevel != nil { return *x.ConsistencyLevel } return ConsistencyLevel_CONSISTENCY_LEVEL_UNSPECIFIED } func (x *SearchRequest) GetProperties() *PropertiesRequest { if x != nil { return x.Properties } return nil } func (x *SearchRequest) GetMetadata() *MetadataRequest { if x != nil { return x.Metadata } return nil } func (x *SearchRequest) GetGroupBy() *GroupBy { if x != nil { return x.GroupBy } return nil } func (x *SearchRequest) GetLimit() uint32 { if x != nil { return x.Limit } return 0 } func (x *SearchRequest) GetOffset() uint32 { if x != nil { return x.Offset } return 0 } func (x *SearchRequest) GetAutocut() uint32 { if x != nil { return x.Autocut } return 0 } func (x *SearchRequest) GetAfter() string { if x != nil { return x.After } return "" } func (x *SearchRequest) GetSortBy() []*SortBy { if x != nil { return x.SortBy } return nil } func (x *SearchRequest) GetFilters() *Filters { if x != nil { return x.Filters } return nil } func (x *SearchRequest) GetHybridSearch() *Hybrid { if x != nil { return x.HybridSearch } return nil } func (x *SearchRequest) GetBm25Search() *BM25 { if x != nil { return x.Bm25Search } return nil } func (x *SearchRequest) GetNearVector() *NearVector { if x != nil { return x.NearVector } return nil } func (x *SearchRequest) GetNearObject() *NearObject { if x != nil { return x.NearObject } return nil } func (x *SearchRequest) GetNearText() *NearTextSearch { if x != nil { return x.NearText } return nil } func (x *SearchRequest) GetNearImage() *NearImageSearch { if x != nil { return x.NearImage } return nil } func (x *SearchRequest) GetNearAudio() *NearAudioSearch { if x != nil { return x.NearAudio } return nil } func (x *SearchRequest) GetNearVideo() *NearVideoSearch { if x != nil { return x.NearVideo } return nil } func (x *SearchRequest) GetGenerative() *GenerativeSearch { if x != nil { return x.Generative } return nil } func (x *SearchRequest) GetRerank() *Rerank { if x != nil { return x.Rerank } return nil } // Deprecated: Marked as deprecated in v1/search_get.proto. func (x *SearchRequest) GetUses_123Api() bool { if x != nil { return x.Uses_123Api } return false } type GroupBy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // currently only supports one entry (eg just properties, no refs). But might // be extended in the future. // protolint:disable:next REPEATED_FIELD_NAMES_PLURALIZED Path []string `protobuf:"bytes,1,rep,name=path,proto3" json:"path,omitempty"` NumberOfGroups int32 `protobuf:"varint,2,opt,name=number_of_groups,json=numberOfGroups,proto3" json:"number_of_groups,omitempty"` ObjectsPerGroup int32 `protobuf:"varint,3,opt,name=objects_per_group,json=objectsPerGroup,proto3" json:"objects_per_group,omitempty"` } func (x *GroupBy) Reset() { *x = GroupBy{} if protoimpl.UnsafeEnabled { mi := &file_v1_search_get_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GroupBy) String() string { return protoimpl.X.MessageStringOf(x) } func (*GroupBy) ProtoMessage() {} func (x *GroupBy) ProtoReflect() protoreflect.Message { mi := &file_v1_search_get_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GroupBy.ProtoReflect.Descriptor instead. func (*GroupBy) Descriptor() ([]byte, []int) { return file_v1_search_get_proto_rawDescGZIP(), []int{1} } func (x *GroupBy) GetPath() []string { if x != nil { return x.Path } return nil } func (x *GroupBy) GetNumberOfGroups() int32 { if x != nil { return x.NumberOfGroups } return 0 } func (x *GroupBy) GetObjectsPerGroup() int32 { if x != nil { return x.ObjectsPerGroup } return 0 } type SortBy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Ascending bool `protobuf:"varint,1,opt,name=ascending,proto3" json:"ascending,omitempty"` // currently only supports one entry (eg just properties, no refs). But the // weaviate datastructure already has paths in it and this makes it easily // extendable in the future // protolint:disable:next REPEATED_FIELD_NAMES_PLURALIZED Path []string `protobuf:"bytes,2,rep,name=path,proto3" json:"path,omitempty"` } func (x *SortBy) Reset() { *x = SortBy{} if protoimpl.UnsafeEnabled { mi := &file_v1_search_get_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SortBy) String() string { return protoimpl.X.MessageStringOf(x) } func (*SortBy) ProtoMessage() {} func (x *SortBy) ProtoReflect() protoreflect.Message { mi := &file_v1_search_get_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SortBy.ProtoReflect.Descriptor instead. func (*SortBy) Descriptor() ([]byte, []int) { return file_v1_search_get_proto_rawDescGZIP(), []int{2} } func (x *SortBy) GetAscending() bool { if x != nil { return x.Ascending } return false } func (x *SortBy) GetPath() []string { if x != nil { return x.Path } return nil } type GenerativeSearch struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields SingleResponsePrompt string `protobuf:"bytes,1,opt,name=single_response_prompt,json=singleResponsePrompt,proto3" json:"single_response_prompt,omitempty"` GroupedResponseTask string `protobuf:"bytes,2,opt,name=grouped_response_task,json=groupedResponseTask,proto3" json:"grouped_response_task,omitempty"` GroupedProperties []string `protobuf:"bytes,3,rep,name=grouped_properties,json=groupedProperties,proto3" json:"grouped_properties,omitempty"` } func (x *GenerativeSearch) Reset() { *x = GenerativeSearch{} if protoimpl.UnsafeEnabled { mi := &file_v1_search_get_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GenerativeSearch) String() string { return protoimpl.X.MessageStringOf(x) } func (*GenerativeSearch) ProtoMessage() {} func (x *GenerativeSearch) ProtoReflect() protoreflect.Message { mi := &file_v1_search_get_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GenerativeSearch.ProtoReflect.Descriptor instead. func (*GenerativeSearch) Descriptor() ([]byte, []int) { return file_v1_search_get_proto_rawDescGZIP(), []int{3} } func (x *GenerativeSearch) GetSingleResponsePrompt() string { if x != nil { return x.SingleResponsePrompt } return "" } func (x *GenerativeSearch) GetGroupedResponseTask() string { if x != nil { return x.GroupedResponseTask } return "" } func (x *GenerativeSearch) GetGroupedProperties() []string { if x != nil { return x.GroupedProperties } return nil } type MetadataRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Uuid bool `protobuf:"varint,1,opt,name=uuid,proto3" json:"uuid,omitempty"` Vector bool `protobuf:"varint,2,opt,name=vector,proto3" json:"vector,omitempty"` CreationTimeUnix bool `protobuf:"varint,3,opt,name=creation_time_unix,json=creationTimeUnix,proto3" json:"creation_time_unix,omitempty"` LastUpdateTimeUnix bool `protobuf:"varint,4,opt,name=last_update_time_unix,json=lastUpdateTimeUnix,proto3" json:"last_update_time_unix,omitempty"` Distance bool `protobuf:"varint,5,opt,name=distance,proto3" json:"distance,omitempty"` Certainty bool `protobuf:"varint,6,opt,name=certainty,proto3" json:"certainty,omitempty"` Score bool `protobuf:"varint,7,opt,name=score,proto3" json:"score,omitempty"` ExplainScore bool `protobuf:"varint,8,opt,name=explain_score,json=explainScore,proto3" json:"explain_score,omitempty"` IsConsistent bool `protobuf:"varint,9,opt,name=is_consistent,json=isConsistent,proto3" json:"is_consistent,omitempty"` } func (x *MetadataRequest) Reset() { *x = MetadataRequest{} if protoimpl.UnsafeEnabled { mi := &file_v1_search_get_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MetadataRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*MetadataRequest) ProtoMessage() {} func (x *MetadataRequest) ProtoReflect() protoreflect.Message { mi := &file_v1_search_get_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MetadataRequest.ProtoReflect.Descriptor instead. func (*MetadataRequest) Descriptor() ([]byte, []int) { return file_v1_search_get_proto_rawDescGZIP(), []int{4} } func (x *MetadataRequest) GetUuid() bool { if x != nil { return x.Uuid } return false } func (x *MetadataRequest) GetVector() bool { if x != nil { return x.Vector } return false } func (x *MetadataRequest) GetCreationTimeUnix() bool { if x != nil { return x.CreationTimeUnix } return false } func (x *MetadataRequest) GetLastUpdateTimeUnix() bool { if x != nil { return x.LastUpdateTimeUnix } return false } func (x *MetadataRequest) GetDistance() bool { if x != nil { return x.Distance } return false } func (x *MetadataRequest) GetCertainty() bool { if x != nil { return x.Certainty } return false } func (x *MetadataRequest) GetScore() bool { if x != nil { return x.Score } return false } func (x *MetadataRequest) GetExplainScore() bool { if x != nil { return x.ExplainScore } return false } func (x *MetadataRequest) GetIsConsistent() bool { if x != nil { return x.IsConsistent } return false } type PropertiesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NonRefProperties []string `protobuf:"bytes,1,rep,name=non_ref_properties,json=nonRefProperties,proto3" json:"non_ref_properties,omitempty"` RefProperties []*RefPropertiesRequest `protobuf:"bytes,2,rep,name=ref_properties,json=refProperties,proto3" json:"ref_properties,omitempty"` ObjectProperties []*ObjectPropertiesRequest `protobuf:"bytes,3,rep,name=object_properties,json=objectProperties,proto3" json:"object_properties,omitempty"` ReturnAllNonrefProperties bool `protobuf:"varint,11,opt,name=return_all_nonref_properties,json=returnAllNonrefProperties,proto3" json:"return_all_nonref_properties,omitempty"` } func (x *PropertiesRequest) Reset() { *x = PropertiesRequest{} if protoimpl.UnsafeEnabled { mi := &file_v1_search_get_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PropertiesRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*PropertiesRequest) ProtoMessage() {} func (x *PropertiesRequest) ProtoReflect() protoreflect.Message { mi := &file_v1_search_get_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PropertiesRequest.ProtoReflect.Descriptor instead. func (*PropertiesRequest) Descriptor() ([]byte, []int) { return file_v1_search_get_proto_rawDescGZIP(), []int{5} } func (x *PropertiesRequest) GetNonRefProperties() []string { if x != nil { return x.NonRefProperties } return nil } func (x *PropertiesRequest) GetRefProperties() []*RefPropertiesRequest { if x != nil { return x.RefProperties } return nil } func (x *PropertiesRequest) GetObjectProperties() []*ObjectPropertiesRequest { if x != nil { return x.ObjectProperties } return nil } func (x *PropertiesRequest) GetReturnAllNonrefProperties() bool { if x != nil { return x.ReturnAllNonrefProperties } return false } type ObjectPropertiesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PropName string `protobuf:"bytes,1,opt,name=prop_name,json=propName,proto3" json:"prop_name,omitempty"` PrimitiveProperties []string `protobuf:"bytes,2,rep,name=primitive_properties,json=primitiveProperties,proto3" json:"primitive_properties,omitempty"` ObjectProperties []*ObjectPropertiesRequest `protobuf:"bytes,3,rep,name=object_properties,json=objectProperties,proto3" json:"object_properties,omitempty"` } func (x *ObjectPropertiesRequest) Reset() { *x = ObjectPropertiesRequest{} if protoimpl.UnsafeEnabled { mi := &file_v1_search_get_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ObjectPropertiesRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ObjectPropertiesRequest) ProtoMessage() {} func (x *ObjectPropertiesRequest) ProtoReflect() protoreflect.Message { mi := &file_v1_search_get_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ObjectPropertiesRequest.ProtoReflect.Descriptor instead. func (*ObjectPropertiesRequest) Descriptor() ([]byte, []int) { return file_v1_search_get_proto_rawDescGZIP(), []int{6} } func (x *ObjectPropertiesRequest) GetPropName() string { if x != nil { return x.PropName } return "" } func (x *ObjectPropertiesRequest) GetPrimitiveProperties() []string { if x != nil { return x.PrimitiveProperties } return nil } func (x *ObjectPropertiesRequest) GetObjectProperties() []*ObjectPropertiesRequest { if x != nil { return x.ObjectProperties } return nil } type Hybrid struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Query string `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` Properties []string `protobuf:"bytes,2,rep,name=properties,proto3" json:"properties,omitempty"` // protolint:disable:next REPEATED_FIELD_NAMES_PLURALIZED // // Deprecated: Marked as deprecated in v1/search_get.proto. Vector []float32 `protobuf:"fixed32,3,rep,packed,name=vector,proto3" json:"vector,omitempty"` // will be removed in the future, use vector_bytes Alpha float32 `protobuf:"fixed32,4,opt,name=alpha,proto3" json:"alpha,omitempty"` FusionType Hybrid_FusionType `protobuf:"varint,5,opt,name=fusion_type,json=fusionType,proto3,enum=weaviate.v1.Hybrid_FusionType" json:"fusion_type,omitempty"` VectorBytes []byte `protobuf:"bytes,6,opt,name=vector_bytes,json=vectorBytes,proto3" json:"vector_bytes,omitempty"` } func (x *Hybrid) Reset() { *x = Hybrid{} if protoimpl.UnsafeEnabled { mi := &file_v1_search_get_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Hybrid) String() string { return protoimpl.X.MessageStringOf(x) } func (*Hybrid) ProtoMessage() {} func (x *Hybrid) ProtoReflect() protoreflect.Message { mi := &file_v1_search_get_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Hybrid.ProtoReflect.Descriptor instead. func (*Hybrid) Descriptor() ([]byte, []int) { return file_v1_search_get_proto_rawDescGZIP(), []int{7} } func (x *Hybrid) GetQuery() string { if x != nil { return x.Query } return "" } func (x *Hybrid) GetProperties() []string { if x != nil { return x.Properties } return nil } // Deprecated: Marked as deprecated in v1/search_get.proto. func (x *Hybrid) GetVector() []float32 { if x != nil { return x.Vector } return nil } func (x *Hybrid) GetAlpha() float32 { if x != nil { return x.Alpha } return 0 } func (x *Hybrid) GetFusionType() Hybrid_FusionType { if x != nil { return x.FusionType } return Hybrid_FUSION_TYPE_UNSPECIFIED } func (x *Hybrid) GetVectorBytes() []byte { if x != nil { return x.VectorBytes } return nil } type NearTextSearch struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // protolint:disable:next REPEATED_FIELD_NAMES_PLURALIZED Query []string `protobuf:"bytes,1,rep,name=query,proto3" json:"query,omitempty"` Certainty *float64 `protobuf:"fixed64,2,opt,name=certainty,proto3,oneof" json:"certainty,omitempty"` Distance *float64 `protobuf:"fixed64,3,opt,name=distance,proto3,oneof" json:"distance,omitempty"` MoveTo *NearTextSearch_Move `protobuf:"bytes,4,opt,name=move_to,json=moveTo,proto3,oneof" json:"move_to,omitempty"` MoveAway *NearTextSearch_Move `protobuf:"bytes,5,opt,name=move_away,json=moveAway,proto3,oneof" json:"move_away,omitempty"` } func (x *NearTextSearch) Reset() { *x = NearTextSearch{} if protoimpl.UnsafeEnabled { mi := &file_v1_search_get_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NearTextSearch) String() string { return protoimpl.X.MessageStringOf(x) } func (*NearTextSearch) ProtoMessage() {} func (x *NearTextSearch) ProtoReflect() protoreflect.Message { mi := &file_v1_search_get_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use NearTextSearch.ProtoReflect.Descriptor instead. func (*NearTextSearch) Descriptor() ([]byte, []int) { return file_v1_search_get_proto_rawDescGZIP(), []int{8} } func (x *NearTextSearch) GetQuery() []string { if x != nil { return x.Query } return nil } func (x *NearTextSearch) GetCertainty() float64 { if x != nil && x.Certainty != nil { return *x.Certainty } return 0 } func (x *NearTextSearch) GetDistance() float64 { if x != nil && x.Distance != nil { return *x.Distance } return 0 } func (x *NearTextSearch) GetMoveTo() *NearTextSearch_Move { if x != nil { return x.MoveTo } return nil } func (x *NearTextSearch) GetMoveAway() *NearTextSearch_Move { if x != nil { return x.MoveAway } return nil } type NearImageSearch struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Image string `protobuf:"bytes,1,opt,name=image,proto3" json:"image,omitempty"` Certainty *float64 `protobuf:"fixed64,2,opt,name=certainty,proto3,oneof" json:"certainty,omitempty"` Distance *float64 `protobuf:"fixed64,3,opt,name=distance,proto3,oneof" json:"distance,omitempty"` } func (x *NearImageSearch) Reset() { *x = NearImageSearch{} if protoimpl.UnsafeEnabled { mi := &file_v1_search_get_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NearImageSearch) String() string { return protoimpl.X.MessageStringOf(x) } func (*NearImageSearch) ProtoMessage() {} func (x *NearImageSearch) ProtoReflect() protoreflect.Message { mi := &file_v1_search_get_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use NearImageSearch.ProtoReflect.Descriptor instead. func (*NearImageSearch) Descriptor() ([]byte, []int) { return file_v1_search_get_proto_rawDescGZIP(), []int{9} } func (x *NearImageSearch) GetImage() string { if x != nil { return x.Image } return "" } func (x *NearImageSearch) GetCertainty() float64 { if x != nil && x.Certainty != nil { return *x.Certainty } return 0 } func (x *NearImageSearch) GetDistance() float64 { if x != nil && x.Distance != nil { return *x.Distance } return 0 } type NearAudioSearch struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Audio string `protobuf:"bytes,1,opt,name=audio,proto3" json:"audio,omitempty"` Certainty *float64 `protobuf:"fixed64,2,opt,name=certainty,proto3,oneof" json:"certainty,omitempty"` Distance *float64 `protobuf:"fixed64,3,opt,name=distance,proto3,oneof" json:"distance,omitempty"` } func (x *NearAudioSearch) Reset() { *x = NearAudioSearch{} if protoimpl.UnsafeEnabled { mi := &file_v1_search_get_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NearAudioSearch) String() string { return protoimpl.X.MessageStringOf(x) } func (*NearAudioSearch) ProtoMessage() {} func (x *NearAudioSearch) ProtoReflect() protoreflect.Message { mi := &file_v1_search_get_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use NearAudioSearch.ProtoReflect.Descriptor instead. func (*NearAudioSearch) Descriptor() ([]byte, []int) { return file_v1_search_get_proto_rawDescGZIP(), []int{10} } func (x *NearAudioSearch) GetAudio() string { if x != nil { return x.Audio } return "" } func (x *NearAudioSearch) GetCertainty() float64 { if x != nil && x.Certainty != nil { return *x.Certainty } return 0 } func (x *NearAudioSearch) GetDistance() float64 { if x != nil && x.Distance != nil { return *x.Distance } return 0 } type NearVideoSearch struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Video string `protobuf:"bytes,1,opt,name=video,proto3" json:"video,omitempty"` Certainty *float64 `protobuf:"fixed64,2,opt,name=certainty,proto3,oneof" json:"certainty,omitempty"` Distance *float64 `protobuf:"fixed64,3,opt,name=distance,proto3,oneof" json:"distance,omitempty"` } func (x *NearVideoSearch) Reset() { *x = NearVideoSearch{} if protoimpl.UnsafeEnabled { mi := &file_v1_search_get_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NearVideoSearch) String() string { return protoimpl.X.MessageStringOf(x) } func (*NearVideoSearch) ProtoMessage() {} func (x *NearVideoSearch) ProtoReflect() protoreflect.Message { mi := &file_v1_search_get_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use NearVideoSearch.ProtoReflect.Descriptor instead. func (*NearVideoSearch) Descriptor() ([]byte, []int) { return file_v1_search_get_proto_rawDescGZIP(), []int{11} } func (x *NearVideoSearch) GetVideo() string { if x != nil { return x.Video } return "" } func (x *NearVideoSearch) GetCertainty() float64 { if x != nil && x.Certainty != nil { return *x.Certainty } return 0 } func (x *NearVideoSearch) GetDistance() float64 { if x != nil && x.Distance != nil { return *x.Distance } return 0 } type BM25 struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Query string `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` Properties []string `protobuf:"bytes,2,rep,name=properties,proto3" json:"properties,omitempty"` } func (x *BM25) Reset() { *x = BM25{} if protoimpl.UnsafeEnabled { mi := &file_v1_search_get_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BM25) String() string { return protoimpl.X.MessageStringOf(x) } func (*BM25) ProtoMessage() {} func (x *BM25) ProtoReflect() protoreflect.Message { mi := &file_v1_search_get_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use BM25.ProtoReflect.Descriptor instead. func (*BM25) Descriptor() ([]byte, []int) { return file_v1_search_get_proto_rawDescGZIP(), []int{12} } func (x *BM25) GetQuery() string { if x != nil { return x.Query } return "" } func (x *BM25) GetProperties() []string { if x != nil { return x.Properties } return nil } type RefPropertiesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ReferenceProperty string `protobuf:"bytes,1,opt,name=reference_property,json=referenceProperty,proto3" json:"reference_property,omitempty"` Properties *PropertiesRequest `protobuf:"bytes,2,opt,name=properties,proto3" json:"properties,omitempty"` Metadata *MetadataRequest `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` TargetCollection string `protobuf:"bytes,4,opt,name=target_collection,json=targetCollection,proto3" json:"target_collection,omitempty"` } func (x *RefPropertiesRequest) Reset() { *x = RefPropertiesRequest{} if protoimpl.UnsafeEnabled { mi := &file_v1_search_get_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RefPropertiesRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*RefPropertiesRequest) ProtoMessage() {} func (x *RefPropertiesRequest) ProtoReflect() protoreflect.Message { mi := &file_v1_search_get_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RefPropertiesRequest.ProtoReflect.Descriptor instead. func (*RefPropertiesRequest) Descriptor() ([]byte, []int) { return file_v1_search_get_proto_rawDescGZIP(), []int{13} } func (x *RefPropertiesRequest) GetReferenceProperty() string { if x != nil { return x.ReferenceProperty } return "" } func (x *RefPropertiesRequest) GetProperties() *PropertiesRequest { if x != nil { return x.Properties } return nil } func (x *RefPropertiesRequest) GetMetadata() *MetadataRequest { if x != nil { return x.Metadata } return nil } func (x *RefPropertiesRequest) GetTargetCollection() string { if x != nil { return x.TargetCollection } return "" } type NearVector struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // protolint:disable:next REPEATED_FIELD_NAMES_PLURALIZED // // Deprecated: Marked as deprecated in v1/search_get.proto. Vector []float32 `protobuf:"fixed32,1,rep,packed,name=vector,proto3" json:"vector,omitempty"` // will be removed in the future, use vector_bytes Certainty *float64 `protobuf:"fixed64,2,opt,name=certainty,proto3,oneof" json:"certainty,omitempty"` Distance *float64 `protobuf:"fixed64,3,opt,name=distance,proto3,oneof" json:"distance,omitempty"` VectorBytes []byte `protobuf:"bytes,4,opt,name=vector_bytes,json=vectorBytes,proto3" json:"vector_bytes,omitempty"` } func (x *NearVector) Reset() { *x = NearVector{} if protoimpl.UnsafeEnabled { mi := &file_v1_search_get_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NearVector) String() string { return protoimpl.X.MessageStringOf(x) } func (*NearVector) ProtoMessage() {} func (x *NearVector) ProtoReflect() protoreflect.Message { mi := &file_v1_search_get_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use NearVector.ProtoReflect.Descriptor instead. func (*NearVector) Descriptor() ([]byte, []int) { return file_v1_search_get_proto_rawDescGZIP(), []int{14} } // Deprecated: Marked as deprecated in v1/search_get.proto. func (x *NearVector) GetVector() []float32 { if x != nil { return x.Vector } return nil } func (x *NearVector) GetCertainty() float64 { if x != nil && x.Certainty != nil { return *x.Certainty } return 0 } func (x *NearVector) GetDistance() float64 { if x != nil && x.Distance != nil { return *x.Distance } return 0 } func (x *NearVector) GetVectorBytes() []byte { if x != nil { return x.VectorBytes } return nil } type NearObject struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Certainty *float64 `protobuf:"fixed64,2,opt,name=certainty,proto3,oneof" json:"certainty,omitempty"` Distance *float64 `protobuf:"fixed64,3,opt,name=distance,proto3,oneof" json:"distance,omitempty"` } func (x *NearObject) Reset() { *x = NearObject{} if protoimpl.UnsafeEnabled { mi := &file_v1_search_get_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NearObject) String() string { return protoimpl.X.MessageStringOf(x) } func (*NearObject) ProtoMessage() {} func (x *NearObject) ProtoReflect() protoreflect.Message { mi := &file_v1_search_get_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use NearObject.ProtoReflect.Descriptor instead. func (*NearObject) Descriptor() ([]byte, []int) { return file_v1_search_get_proto_rawDescGZIP(), []int{15} } func (x *NearObject) GetId() string { if x != nil { return x.Id } return "" } func (x *NearObject) GetCertainty() float64 { if x != nil && x.Certainty != nil { return *x.Certainty } return 0 } func (x *NearObject) GetDistance() float64 { if x != nil && x.Distance != nil { return *x.Distance } return 0 } type Rerank struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Property string `protobuf:"bytes,1,opt,name=property,proto3" json:"property,omitempty"` Query *string `protobuf:"bytes,2,opt,name=query,proto3,oneof" json:"query,omitempty"` } func (x *Rerank) Reset() { *x = Rerank{} if protoimpl.UnsafeEnabled { mi := &file_v1_search_get_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Rerank) String() string { return protoimpl.X.MessageStringOf(x) } func (*Rerank) ProtoMessage() {} func (x *Rerank) ProtoReflect() protoreflect.Message { mi := &file_v1_search_get_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Rerank.ProtoReflect.Descriptor instead. func (*Rerank) Descriptor() ([]byte, []int) { return file_v1_search_get_proto_rawDescGZIP(), []int{16} } func (x *Rerank) GetProperty() string { if x != nil { return x.Property } return "" } func (x *Rerank) GetQuery() string { if x != nil && x.Query != nil { return *x.Query } return "" } type SearchReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Took float32 `protobuf:"fixed32,1,opt,name=took,proto3" json:"took,omitempty"` Results []*SearchResult `protobuf:"bytes,2,rep,name=results,proto3" json:"results,omitempty"` GenerativeGroupedResult *string `protobuf:"bytes,3,opt,name=generative_grouped_result,json=generativeGroupedResult,proto3,oneof" json:"generative_grouped_result,omitempty"` GroupByResults []*GroupByResult `protobuf:"bytes,4,rep,name=group_by_results,json=groupByResults,proto3" json:"group_by_results,omitempty"` } func (x *SearchReply) Reset() { *x = SearchReply{} if protoimpl.UnsafeEnabled { mi := &file_v1_search_get_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SearchReply) String() string { return protoimpl.X.MessageStringOf(x) } func (*SearchReply) ProtoMessage() {} func (x *SearchReply) ProtoReflect() protoreflect.Message { mi := &file_v1_search_get_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SearchReply.ProtoReflect.Descriptor instead. func (*SearchReply) Descriptor() ([]byte, []int) { return file_v1_search_get_proto_rawDescGZIP(), []int{17} } func (x *SearchReply) GetTook() float32 { if x != nil { return x.Took } return 0 } func (x *SearchReply) GetResults() []*SearchResult { if x != nil { return x.Results } return nil } func (x *SearchReply) GetGenerativeGroupedResult() string { if x != nil && x.GenerativeGroupedResult != nil { return *x.GenerativeGroupedResult } return "" } func (x *SearchReply) GetGroupByResults() []*GroupByResult { if x != nil { return x.GroupByResults } return nil } type RerankReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Score float64 `protobuf:"fixed64,1,opt,name=score,proto3" json:"score,omitempty"` } func (x *RerankReply) Reset() { *x = RerankReply{} if protoimpl.UnsafeEnabled { mi := &file_v1_search_get_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RerankReply) String() string { return protoimpl.X.MessageStringOf(x) } func (*RerankReply) ProtoMessage() {} func (x *RerankReply) ProtoReflect() protoreflect.Message { mi := &file_v1_search_get_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RerankReply.ProtoReflect.Descriptor instead. func (*RerankReply) Descriptor() ([]byte, []int) { return file_v1_search_get_proto_rawDescGZIP(), []int{18} } func (x *RerankReply) GetScore() float64 { if x != nil { return x.Score } return 0 } type GenerativeReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Result string `protobuf:"bytes,1,opt,name=result,proto3" json:"result,omitempty"` } func (x *GenerativeReply) Reset() { *x = GenerativeReply{} if protoimpl.UnsafeEnabled { mi := &file_v1_search_get_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GenerativeReply) String() string { return protoimpl.X.MessageStringOf(x) } func (*GenerativeReply) ProtoMessage() {} func (x *GenerativeReply) ProtoReflect() protoreflect.Message { mi := &file_v1_search_get_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GenerativeReply.ProtoReflect.Descriptor instead. func (*GenerativeReply) Descriptor() ([]byte, []int) { return file_v1_search_get_proto_rawDescGZIP(), []int{19} } func (x *GenerativeReply) GetResult() string { if x != nil { return x.Result } return "" } type GroupByResult struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` MinDistance float32 `protobuf:"fixed32,2,opt,name=min_distance,json=minDistance,proto3" json:"min_distance,omitempty"` MaxDistance float32 `protobuf:"fixed32,3,opt,name=max_distance,json=maxDistance,proto3" json:"max_distance,omitempty"` NumberOfObjects int64 `protobuf:"varint,4,opt,name=number_of_objects,json=numberOfObjects,proto3" json:"number_of_objects,omitempty"` Objects []*SearchResult `protobuf:"bytes,5,rep,name=objects,proto3" json:"objects,omitempty"` Rerank *RerankReply `protobuf:"bytes,6,opt,name=rerank,proto3,oneof" json:"rerank,omitempty"` Generative *GenerativeReply `protobuf:"bytes,7,opt,name=generative,proto3,oneof" json:"generative,omitempty"` } func (x *GroupByResult) Reset() { *x = GroupByResult{} if protoimpl.UnsafeEnabled { mi := &file_v1_search_get_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GroupByResult) String() string { return protoimpl.X.MessageStringOf(x) } func (*GroupByResult) ProtoMessage() {} func (x *GroupByResult) ProtoReflect() protoreflect.Message { mi := &file_v1_search_get_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GroupByResult.ProtoReflect.Descriptor instead. func (*GroupByResult) Descriptor() ([]byte, []int) { return file_v1_search_get_proto_rawDescGZIP(), []int{20} } func (x *GroupByResult) GetName() string { if x != nil { return x.Name } return "" } func (x *GroupByResult) GetMinDistance() float32 { if x != nil { return x.MinDistance } return 0 } func (x *GroupByResult) GetMaxDistance() float32 { if x != nil { return x.MaxDistance } return 0 } func (x *GroupByResult) GetNumberOfObjects() int64 { if x != nil { return x.NumberOfObjects } return 0 } func (x *GroupByResult) GetObjects() []*SearchResult { if x != nil { return x.Objects } return nil } func (x *GroupByResult) GetRerank() *RerankReply { if x != nil { return x.Rerank } return nil } func (x *GroupByResult) GetGenerative() *GenerativeReply { if x != nil { return x.Generative } return nil } type SearchResult struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Properties *PropertiesResult `protobuf:"bytes,1,opt,name=properties,proto3" json:"properties,omitempty"` Metadata *MetadataResult `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"` } func (x *SearchResult) Reset() { *x = SearchResult{} if protoimpl.UnsafeEnabled { mi := &file_v1_search_get_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SearchResult) String() string { return protoimpl.X.MessageStringOf(x) } func (*SearchResult) ProtoMessage() {} func (x *SearchResult) ProtoReflect() protoreflect.Message { mi := &file_v1_search_get_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SearchResult.ProtoReflect.Descriptor instead. func (*SearchResult) Descriptor() ([]byte, []int) { return file_v1_search_get_proto_rawDescGZIP(), []int{21} } func (x *SearchResult) GetProperties() *PropertiesResult { if x != nil { return x.Properties } return nil } func (x *SearchResult) GetMetadata() *MetadataResult { if x != nil { return x.Metadata } return nil } type MetadataResult struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // protolint:disable:next REPEATED_FIELD_NAMES_PLURALIZED // // Deprecated: Marked as deprecated in v1/search_get.proto. Vector []float32 `protobuf:"fixed32,2,rep,packed,name=vector,proto3" json:"vector,omitempty"` CreationTimeUnix int64 `protobuf:"varint,3,opt,name=creation_time_unix,json=creationTimeUnix,proto3" json:"creation_time_unix,omitempty"` CreationTimeUnixPresent bool `protobuf:"varint,4,opt,name=creation_time_unix_present,json=creationTimeUnixPresent,proto3" json:"creation_time_unix_present,omitempty"` LastUpdateTimeUnix int64 `protobuf:"varint,5,opt,name=last_update_time_unix,json=lastUpdateTimeUnix,proto3" json:"last_update_time_unix,omitempty"` LastUpdateTimeUnixPresent bool `protobuf:"varint,6,opt,name=last_update_time_unix_present,json=lastUpdateTimeUnixPresent,proto3" json:"last_update_time_unix_present,omitempty"` Distance float32 `protobuf:"fixed32,7,opt,name=distance,proto3" json:"distance,omitempty"` DistancePresent bool `protobuf:"varint,8,opt,name=distance_present,json=distancePresent,proto3" json:"distance_present,omitempty"` Certainty float32 `protobuf:"fixed32,9,opt,name=certainty,proto3" json:"certainty,omitempty"` CertaintyPresent bool `protobuf:"varint,10,opt,name=certainty_present,json=certaintyPresent,proto3" json:"certainty_present,omitempty"` Score float32 `protobuf:"fixed32,11,opt,name=score,proto3" json:"score,omitempty"` ScorePresent bool `protobuf:"varint,12,opt,name=score_present,json=scorePresent,proto3" json:"score_present,omitempty"` ExplainScore string `protobuf:"bytes,13,opt,name=explain_score,json=explainScore,proto3" json:"explain_score,omitempty"` ExplainScorePresent bool `protobuf:"varint,14,opt,name=explain_score_present,json=explainScorePresent,proto3" json:"explain_score_present,omitempty"` IsConsistent *bool `protobuf:"varint,15,opt,name=is_consistent,json=isConsistent,proto3,oneof" json:"is_consistent,omitempty"` Generative string `protobuf:"bytes,16,opt,name=generative,proto3" json:"generative,omitempty"` GenerativePresent bool `protobuf:"varint,17,opt,name=generative_present,json=generativePresent,proto3" json:"generative_present,omitempty"` IsConsistentPresent bool `protobuf:"varint,18,opt,name=is_consistent_present,json=isConsistentPresent,proto3" json:"is_consistent_present,omitempty"` VectorBytes []byte `protobuf:"bytes,19,opt,name=vector_bytes,json=vectorBytes,proto3" json:"vector_bytes,omitempty"` IdAsBytes []byte `protobuf:"bytes,20,opt,name=id_as_bytes,json=idAsBytes,proto3" json:"id_as_bytes,omitempty"` RerankScore float64 `protobuf:"fixed64,21,opt,name=rerank_score,json=rerankScore,proto3" json:"rerank_score,omitempty"` RerankScorePresent bool `protobuf:"varint,22,opt,name=rerank_score_present,json=rerankScorePresent,proto3" json:"rerank_score_present,omitempty"` } func (x *MetadataResult) Reset() { *x = MetadataResult{} if protoimpl.UnsafeEnabled { mi := &file_v1_search_get_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MetadataResult) String() string { return protoimpl.X.MessageStringOf(x) } func (*MetadataResult) ProtoMessage() {} func (x *MetadataResult) ProtoReflect() protoreflect.Message { mi := &file_v1_search_get_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MetadataResult.ProtoReflect.Descriptor instead. func (*MetadataResult) Descriptor() ([]byte, []int) { return file_v1_search_get_proto_rawDescGZIP(), []int{22} } func (x *MetadataResult) GetId() string { if x != nil { return x.Id } return "" } // Deprecated: Marked as deprecated in v1/search_get.proto. func (x *MetadataResult) GetVector() []float32 { if x != nil { return x.Vector } return nil } func (x *MetadataResult) GetCreationTimeUnix() int64 { if x != nil { return x.CreationTimeUnix } return 0 } func (x *MetadataResult) GetCreationTimeUnixPresent() bool { if x != nil { return x.CreationTimeUnixPresent } return false } func (x *MetadataResult) GetLastUpdateTimeUnix() int64 { if x != nil { return x.LastUpdateTimeUnix } return 0 } func (x *MetadataResult) GetLastUpdateTimeUnixPresent() bool { if x != nil { return x.LastUpdateTimeUnixPresent } return false } func (x *MetadataResult) GetDistance() float32 { if x != nil { return x.Distance } return 0 } func (x *MetadataResult) GetDistancePresent() bool { if x != nil { return x.DistancePresent } return false } func (x *MetadataResult) GetCertainty() float32 { if x != nil { return x.Certainty } return 0 } func (x *MetadataResult) GetCertaintyPresent() bool { if x != nil { return x.CertaintyPresent } return false } func (x *MetadataResult) GetScore() float32 { if x != nil { return x.Score } return 0 } func (x *MetadataResult) GetScorePresent() bool { if x != nil { return x.ScorePresent } return false } func (x *MetadataResult) GetExplainScore() string { if x != nil { return x.ExplainScore } return "" } func (x *MetadataResult) GetExplainScorePresent() bool { if x != nil { return x.ExplainScorePresent } return false } func (x *MetadataResult) GetIsConsistent() bool { if x != nil && x.IsConsistent != nil { return *x.IsConsistent } return false } func (x *MetadataResult) GetGenerative() string { if x != nil { return x.Generative } return "" } func (x *MetadataResult) GetGenerativePresent() bool { if x != nil { return x.GenerativePresent } return false } func (x *MetadataResult) GetIsConsistentPresent() bool { if x != nil { return x.IsConsistentPresent } return false } func (x *MetadataResult) GetVectorBytes() []byte { if x != nil { return x.VectorBytes } return nil } func (x *MetadataResult) GetIdAsBytes() []byte { if x != nil { return x.IdAsBytes } return nil } func (x *MetadataResult) GetRerankScore() float64 { if x != nil { return x.RerankScore } return 0 } func (x *MetadataResult) GetRerankScorePresent() bool { if x != nil { return x.RerankScorePresent } return false } type PropertiesResult struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Deprecated: Marked as deprecated in v1/search_get.proto. NonRefProperties *structpb.Struct `protobuf:"bytes,1,opt,name=non_ref_properties,json=nonRefProperties,proto3" json:"non_ref_properties,omitempty"` RefProps []*RefPropertiesResult `protobuf:"bytes,2,rep,name=ref_props,json=refProps,proto3" json:"ref_props,omitempty"` TargetCollection string `protobuf:"bytes,3,opt,name=target_collection,json=targetCollection,proto3" json:"target_collection,omitempty"` Metadata *MetadataResult `protobuf:"bytes,4,opt,name=metadata,proto3" json:"metadata,omitempty"` // Deprecated: Marked as deprecated in v1/search_get.proto. NumberArrayProperties []*NumberArrayProperties `protobuf:"bytes,5,rep,name=number_array_properties,json=numberArrayProperties,proto3" json:"number_array_properties,omitempty"` // Deprecated: Marked as deprecated in v1/search_get.proto. IntArrayProperties []*IntArrayProperties `protobuf:"bytes,6,rep,name=int_array_properties,json=intArrayProperties,proto3" json:"int_array_properties,omitempty"` // Deprecated: Marked as deprecated in v1/search_get.proto. TextArrayProperties []*TextArrayProperties `protobuf:"bytes,7,rep,name=text_array_properties,json=textArrayProperties,proto3" json:"text_array_properties,omitempty"` // Deprecated: Marked as deprecated in v1/search_get.proto. BooleanArrayProperties []*BooleanArrayProperties `protobuf:"bytes,8,rep,name=boolean_array_properties,json=booleanArrayProperties,proto3" json:"boolean_array_properties,omitempty"` // Deprecated: Marked as deprecated in v1/search_get.proto. ObjectProperties []*ObjectProperties `protobuf:"bytes,9,rep,name=object_properties,json=objectProperties,proto3" json:"object_properties,omitempty"` // Deprecated: Marked as deprecated in v1/search_get.proto. ObjectArrayProperties []*ObjectArrayProperties `protobuf:"bytes,10,rep,name=object_array_properties,json=objectArrayProperties,proto3" json:"object_array_properties,omitempty"` NonRefProps *Properties `protobuf:"bytes,11,opt,name=non_ref_props,json=nonRefProps,proto3" json:"non_ref_props,omitempty"` RefPropsRequested bool `protobuf:"varint,12,opt,name=ref_props_requested,json=refPropsRequested,proto3" json:"ref_props_requested,omitempty"` } func (x *PropertiesResult) Reset() { *x = PropertiesResult{} if protoimpl.UnsafeEnabled { mi := &file_v1_search_get_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PropertiesResult) String() string { return protoimpl.X.MessageStringOf(x) } func (*PropertiesResult) ProtoMessage() {} func (x *PropertiesResult) ProtoReflect() protoreflect.Message { mi := &file_v1_search_get_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PropertiesResult.ProtoReflect.Descriptor instead. func (*PropertiesResult) Descriptor() ([]byte, []int) { return file_v1_search_get_proto_rawDescGZIP(), []int{23} } // Deprecated: Marked as deprecated in v1/search_get.proto. func (x *PropertiesResult) GetNonRefProperties() *structpb.Struct { if x != nil { return x.NonRefProperties } return nil } func (x *PropertiesResult) GetRefProps() []*RefPropertiesResult { if x != nil { return x.RefProps } return nil } func (x *PropertiesResult) GetTargetCollection() string { if x != nil { return x.TargetCollection } return "" } func (x *PropertiesResult) GetMetadata() *MetadataResult { if x != nil { return x.Metadata } return nil } // Deprecated: Marked as deprecated in v1/search_get.proto. func (x *PropertiesResult) GetNumberArrayProperties() []*NumberArrayProperties { if x != nil { return x.NumberArrayProperties } return nil } // Deprecated: Marked as deprecated in v1/search_get.proto. func (x *PropertiesResult) GetIntArrayProperties() []*IntArrayProperties { if x != nil { return x.IntArrayProperties } return nil } // Deprecated: Marked as deprecated in v1/search_get.proto. func (x *PropertiesResult) GetTextArrayProperties() []*TextArrayProperties { if x != nil { return x.TextArrayProperties } return nil } // Deprecated: Marked as deprecated in v1/search_get.proto. func (x *PropertiesResult) GetBooleanArrayProperties() []*BooleanArrayProperties { if x != nil { return x.BooleanArrayProperties } return nil } // Deprecated: Marked as deprecated in v1/search_get.proto. func (x *PropertiesResult) GetObjectProperties() []*ObjectProperties { if x != nil { return x.ObjectProperties } return nil } // Deprecated: Marked as deprecated in v1/search_get.proto. func (x *PropertiesResult) GetObjectArrayProperties() []*ObjectArrayProperties { if x != nil { return x.ObjectArrayProperties } return nil } func (x *PropertiesResult) GetNonRefProps() *Properties { if x != nil { return x.NonRefProps } return nil } func (x *PropertiesResult) GetRefPropsRequested() bool { if x != nil { return x.RefPropsRequested } return false } type RefPropertiesResult struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Properties []*PropertiesResult `protobuf:"bytes,1,rep,name=properties,proto3" json:"properties,omitempty"` PropName string `protobuf:"bytes,2,opt,name=prop_name,json=propName,proto3" json:"prop_name,omitempty"` } func (x *RefPropertiesResult) Reset() { *x = RefPropertiesResult{} if protoimpl.UnsafeEnabled { mi := &file_v1_search_get_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RefPropertiesResult) String() string { return protoimpl.X.MessageStringOf(x) } func (*RefPropertiesResult) ProtoMessage() {} func (x *RefPropertiesResult) ProtoReflect() protoreflect.Message { mi := &file_v1_search_get_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RefPropertiesResult.ProtoReflect.Descriptor instead. func (*RefPropertiesResult) Descriptor() ([]byte, []int) { return file_v1_search_get_proto_rawDescGZIP(), []int{24} } func (x *RefPropertiesResult) GetProperties() []*PropertiesResult { if x != nil { return x.Properties } return nil } func (x *RefPropertiesResult) GetPropName() string { if x != nil { return x.PropName } return "" } type NearTextSearch_Move struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Force float32 `protobuf:"fixed32,1,opt,name=force,proto3" json:"force,omitempty"` Concepts []string `protobuf:"bytes,2,rep,name=concepts,proto3" json:"concepts,omitempty"` Uuids []string `protobuf:"bytes,3,rep,name=uuids,proto3" json:"uuids,omitempty"` } func (x *NearTextSearch_Move) Reset() { *x = NearTextSearch_Move{} if protoimpl.UnsafeEnabled { mi := &file_v1_search_get_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NearTextSearch_Move) String() string { return protoimpl.X.MessageStringOf(x) } func (*NearTextSearch_Move) ProtoMessage() {} func (x *NearTextSearch_Move) ProtoReflect() protoreflect.Message { mi := &file_v1_search_get_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use NearTextSearch_Move.ProtoReflect.Descriptor instead. func (*NearTextSearch_Move) Descriptor() ([]byte, []int) { return file_v1_search_get_proto_rawDescGZIP(), []int{8, 0} } func (x *NearTextSearch_Move) GetForce() float32 { if x != nil { return x.Force } return 0 } func (x *NearTextSearch_Move) GetConcepts() []string { if x != nil { return x.Concepts } return nil } func (x *NearTextSearch_Move) GetUuids() []string { if x != nil { return x.Uuids } return nil } var File_v1_search_get_proto protoreflect.FileDescriptor var file_v1_search_get_proto_rawDesc = []byte{ 0x0a, 0x13, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x67, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0b, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0d, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8c, 0x0b, 0x0a, 0x0d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x12, 0x4f, 0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x43, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x01, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x02, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x62, 0x79, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x79, 0x48, 0x03, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x75, 0x74, 0x6f, 0x63, 0x75, 0x74, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x61, 0x75, 0x74, 0x6f, 0x63, 0x75, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x66, 0x74, 0x65, 0x72, 0x18, 0x21, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x66, 0x74, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x07, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x62, 0x79, 0x18, 0x22, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x52, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x12, 0x33, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x48, 0x04, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x0d, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x18, 0x29, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x79, 0x62, 0x72, 0x69, 0x64, 0x48, 0x05, 0x52, 0x0c, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x37, 0x0a, 0x0b, 0x62, 0x6d, 0x32, 0x35, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x4d, 0x32, 0x35, 0x48, 0x06, 0x52, 0x0a, 0x62, 0x6d, 0x32, 0x35, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x0b, 0x6e, 0x65, 0x61, 0x72, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x61, 0x72, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x48, 0x07, 0x52, 0x0a, 0x6e, 0x65, 0x61, 0x72, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x0b, 0x6e, 0x65, 0x61, 0x72, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x61, 0x72, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x08, 0x52, 0x0a, 0x6e, 0x65, 0x61, 0x72, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x09, 0x6e, 0x65, 0x61, 0x72, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x61, 0x72, 0x54, 0x65, 0x78, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x48, 0x09, 0x52, 0x08, 0x6e, 0x65, 0x61, 0x72, 0x54, 0x65, 0x78, 0x74, 0x88, 0x01, 0x01, 0x12, 0x40, 0x0a, 0x0a, 0x6e, 0x65, 0x61, 0x72, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x61, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x48, 0x0a, 0x52, 0x09, 0x6e, 0x65, 0x61, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x40, 0x0a, 0x0a, 0x6e, 0x65, 0x61, 0x72, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x61, 0x72, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x48, 0x0b, 0x52, 0x09, 0x6e, 0x65, 0x61, 0x72, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x88, 0x01, 0x01, 0x12, 0x40, 0x0a, 0x0a, 0x6e, 0x65, 0x61, 0x72, 0x5f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x30, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x61, 0x72, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x48, 0x0c, 0x52, 0x09, 0x6e, 0x65, 0x61, 0x72, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x48, 0x0d, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x06, 0x72, 0x65, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x3d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x72, 0x61, 0x6e, 0x6b, 0x48, 0x0e, 0x52, 0x06, 0x72, 0x65, 0x72, 0x61, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x73, 0x5f, 0x31, 0x32, 0x33, 0x5f, 0x61, 0x70, 0x69, 0x18, 0x64, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x73, 0x31, 0x32, 0x33, 0x41, 0x70, 0x69, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x62, 0x79, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x62, 0x6d, 0x32, 0x35, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6e, 0x65, 0x61, 0x72, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6e, 0x65, 0x61, 0x72, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6e, 0x65, 0x61, 0x72, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6e, 0x65, 0x61, 0x72, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6e, 0x65, 0x61, 0x72, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6e, 0x65, 0x61, 0x72, 0x5f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x72, 0x61, 0x6e, 0x6b, 0x22, 0x73, 0x0a, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x28, 0x0a, 0x10, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x6f, 0x66, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4f, 0x66, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x50, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x3a, 0x0a, 0x06, 0x53, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0xab, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x2d, 0x0a, 0x12, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x22, 0xb8, 0x02, 0x0a, 0x0f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x78, 0x12, 0x31, 0x0a, 0x15, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x9f, 0x02, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x6e, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x66, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x6e, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x48, 0x0a, 0x0e, 0x72, 0x65, 0x66, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x66, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0d, 0x72, 0x65, 0x66, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x51, 0x0a, 0x11, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x10, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x3f, 0x0a, 0x1c, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x6e, 0x6f, 0x6e, 0x72, 0x65, 0x66, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x6e, 0x72, 0x65, 0x66, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x22, 0xbc, 0x01, 0x0a, 0x17, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x14, 0x70, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x70, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x51, 0x0a, 0x11, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x10, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x22, 0xb7, 0x02, 0x0a, 0x06, 0x48, 0x79, 0x62, 0x72, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x03, 0x28, 0x02, 0x42, 0x02, 0x18, 0x01, 0x52, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x12, 0x3f, 0x0a, 0x0b, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x46, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0x61, 0x0a, 0x0a, 0x46, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x46, 0x55, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x46, 0x55, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x45, 0x44, 0x10, 0x01, 0x12, 0x1e, 0x0a, 0x1a, 0x46, 0x55, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x53, 0x43, 0x4f, 0x52, 0x45, 0x10, 0x02, 0x22, 0xf3, 0x02, 0x0a, 0x0e, 0x4e, 0x65, 0x61, 0x72, 0x54, 0x65, 0x78, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x21, 0x0a, 0x09, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x09, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x48, 0x01, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x3e, 0x0a, 0x07, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x74, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x61, 0x72, 0x54, 0x65, 0x78, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2e, 0x4d, 0x6f, 0x76, 0x65, 0x48, 0x02, 0x52, 0x06, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x6f, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x09, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x61, 0x77, 0x61, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x61, 0x72, 0x54, 0x65, 0x78, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2e, 0x4d, 0x6f, 0x76, 0x65, 0x48, 0x03, 0x52, 0x08, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x77, 0x61, 0x79, 0x88, 0x01, 0x01, 0x1a, 0x4e, 0x0a, 0x04, 0x4d, 0x6f, 0x76, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x75, 0x75, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x75, 0x75, 0x69, 0x64, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x74, 0x6f, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x61, 0x77, 0x61, 0x79, 0x22, 0x86, 0x01, 0x0a, 0x0f, 0x4e, 0x65, 0x61, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x21, 0x0a, 0x09, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x09, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x48, 0x01, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x86, 0x01, 0x0a, 0x0f, 0x4e, 0x65, 0x61, 0x72, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x12, 0x21, 0x0a, 0x09, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x09, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x48, 0x01, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x86, 0x01, 0x0a, 0x0f, 0x4e, 0x65, 0x61, 0x72, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x21, 0x0a, 0x09, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x09, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x48, 0x01, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x3c, 0x0a, 0x04, 0x42, 0x4d, 0x32, 0x35, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x22, 0xec, 0x01, 0x0a, 0x14, 0x52, 0x65, 0x66, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x12, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x3e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2b, 0x0a, 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xaa, 0x01, 0x0a, 0x0a, 0x4e, 0x65, 0x61, 0x72, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x02, 0x42, 0x02, 0x18, 0x01, 0x52, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x21, 0x0a, 0x09, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x09, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x48, 0x01, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x42, 0x79, 0x74, 0x65, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x7b, 0x0a, 0x0a, 0x4e, 0x65, 0x61, 0x72, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x09, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x09, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x48, 0x01, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x49, 0x0a, 0x06, 0x52, 0x65, 0x72, 0x61, 0x6e, 0x6b, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x19, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0xfb, 0x01, 0x0a, 0x0b, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x6f, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x74, 0x6f, 0x6f, 0x6b, 0x12, 0x33, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x3f, 0x0a, 0x19, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x17, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x65, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x88, 0x01, 0x01, 0x12, 0x44, 0x0a, 0x10, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x62, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x23, 0x0a, 0x0b, 0x52, 0x65, 0x72, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x22, 0x29, 0x0a, 0x0f, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xde, 0x02, 0x0a, 0x0d, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x69, 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x6d, 0x69, 0x6e, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x6f, 0x66, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4f, 0x66, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x33, 0x0a, 0x07, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x35, 0x0a, 0x06, 0x72, 0x65, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x72, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x72, 0x61, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x41, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x48, 0x01, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x72, 0x61, 0x6e, 0x6b, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x22, 0x86, 0x01, 0x0a, 0x0c, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x99, 0x07, 0x0a, 0x0e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x03, 0x28, 0x02, 0x42, 0x02, 0x18, 0x01, 0x52, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x78, 0x12, 0x3b, 0x0a, 0x1a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x78, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x78, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x12, 0x31, 0x0a, 0x15, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x78, 0x12, 0x40, 0x0a, 0x1d, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x78, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x78, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0c, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0b, 0x69, 0x64, 0x5f, 0x61, 0x73, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x69, 0x64, 0x41, 0x73, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x72, 0x65, 0x72, 0x61, 0x6e, 0x6b, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x72, 0x65, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x72, 0x65, 0x72, 0x61, 0x6e, 0x6b, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x93, 0x07, 0x0a, 0x10, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x49, 0x0a, 0x12, 0x6e, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x66, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x02, 0x18, 0x01, 0x52, 0x10, 0x6e, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x3d, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x66, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x08, 0x72, 0x65, 0x66, 0x50, 0x72, 0x6f, 0x70, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x5e, 0x0a, 0x17, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x61, 0x72, 0x72, 0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x41, 0x72, 0x72, 0x61, 0x79, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x42, 0x02, 0x18, 0x01, 0x52, 0x15, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x41, 0x72, 0x72, 0x61, 0x79, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x55, 0x0a, 0x14, 0x69, 0x6e, 0x74, 0x5f, 0x61, 0x72, 0x72, 0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x41, 0x72, 0x72, 0x61, 0x79, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x42, 0x02, 0x18, 0x01, 0x52, 0x12, 0x69, 0x6e, 0x74, 0x41, 0x72, 0x72, 0x61, 0x79, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x58, 0x0a, 0x15, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x72, 0x72, 0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x41, 0x72, 0x72, 0x61, 0x79, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x42, 0x02, 0x18, 0x01, 0x52, 0x13, 0x74, 0x65, 0x78, 0x74, 0x41, 0x72, 0x72, 0x61, 0x79, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x61, 0x0a, 0x18, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x5f, 0x61, 0x72, 0x72, 0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x42, 0x02, 0x18, 0x01, 0x52, 0x16, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x4e, 0x0a, 0x11, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x42, 0x02, 0x18, 0x01, 0x52, 0x10, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x5e, 0x0a, 0x17, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x72, 0x72, 0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x72, 0x72, 0x61, 0x79, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x42, 0x02, 0x18, 0x01, 0x52, 0x15, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x72, 0x72, 0x61, 0x79, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x0d, 0x6e, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x66, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x0b, 0x6e, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x50, 0x72, 0x6f, 0x70, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x72, 0x65, 0x66, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x72, 0x65, 0x66, 0x50, 0x72, 0x6f, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x22, 0x71, 0x0a, 0x13, 0x52, 0x65, 0x66, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x42, 0x73, 0x0a, 0x23, 0x69, 0x6f, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x76, 0x31, 0x42, 0x16, 0x57, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x47, 0x65, 0x74, 0x5a, 0x34, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2f, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_v1_search_get_proto_rawDescOnce sync.Once file_v1_search_get_proto_rawDescData = file_v1_search_get_proto_rawDesc ) func file_v1_search_get_proto_rawDescGZIP() []byte { file_v1_search_get_proto_rawDescOnce.Do(func() { file_v1_search_get_proto_rawDescData = protoimpl.X.CompressGZIP(file_v1_search_get_proto_rawDescData) }) return file_v1_search_get_proto_rawDescData } var file_v1_search_get_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_v1_search_get_proto_msgTypes = make([]protoimpl.MessageInfo, 26) var file_v1_search_get_proto_goTypes = []interface{}{ (Hybrid_FusionType)(0), // 0: weaviate.v1.Hybrid.FusionType (*SearchRequest)(nil), // 1: weaviate.v1.SearchRequest (*GroupBy)(nil), // 2: weaviate.v1.GroupBy (*SortBy)(nil), // 3: weaviate.v1.SortBy (*GenerativeSearch)(nil), // 4: weaviate.v1.GenerativeSearch (*MetadataRequest)(nil), // 5: weaviate.v1.MetadataRequest (*PropertiesRequest)(nil), // 6: weaviate.v1.PropertiesRequest (*ObjectPropertiesRequest)(nil), // 7: weaviate.v1.ObjectPropertiesRequest (*Hybrid)(nil), // 8: weaviate.v1.Hybrid (*NearTextSearch)(nil), // 9: weaviate.v1.NearTextSearch (*NearImageSearch)(nil), // 10: weaviate.v1.NearImageSearch (*NearAudioSearch)(nil), // 11: weaviate.v1.NearAudioSearch (*NearVideoSearch)(nil), // 12: weaviate.v1.NearVideoSearch (*BM25)(nil), // 13: weaviate.v1.BM25 (*RefPropertiesRequest)(nil), // 14: weaviate.v1.RefPropertiesRequest (*NearVector)(nil), // 15: weaviate.v1.NearVector (*NearObject)(nil), // 16: weaviate.v1.NearObject (*Rerank)(nil), // 17: weaviate.v1.Rerank (*SearchReply)(nil), // 18: weaviate.v1.SearchReply (*RerankReply)(nil), // 19: weaviate.v1.RerankReply (*GenerativeReply)(nil), // 20: weaviate.v1.GenerativeReply (*GroupByResult)(nil), // 21: weaviate.v1.GroupByResult (*SearchResult)(nil), // 22: weaviate.v1.SearchResult (*MetadataResult)(nil), // 23: weaviate.v1.MetadataResult (*PropertiesResult)(nil), // 24: weaviate.v1.PropertiesResult (*RefPropertiesResult)(nil), // 25: weaviate.v1.RefPropertiesResult (*NearTextSearch_Move)(nil), // 26: weaviate.v1.NearTextSearch.Move (ConsistencyLevel)(0), // 27: weaviate.v1.ConsistencyLevel (*Filters)(nil), // 28: weaviate.v1.Filters (*structpb.Struct)(nil), // 29: google.protobuf.Struct (*NumberArrayProperties)(nil), // 30: weaviate.v1.NumberArrayProperties (*IntArrayProperties)(nil), // 31: weaviate.v1.IntArrayProperties (*TextArrayProperties)(nil), // 32: weaviate.v1.TextArrayProperties (*BooleanArrayProperties)(nil), // 33: weaviate.v1.BooleanArrayProperties (*ObjectProperties)(nil), // 34: weaviate.v1.ObjectProperties (*ObjectArrayProperties)(nil), // 35: weaviate.v1.ObjectArrayProperties (*Properties)(nil), // 36: weaviate.v1.Properties } var file_v1_search_get_proto_depIdxs = []int32{ 27, // 0: weaviate.v1.SearchRequest.consistency_level:type_name -> weaviate.v1.ConsistencyLevel 6, // 1: weaviate.v1.SearchRequest.properties:type_name -> weaviate.v1.PropertiesRequest 5, // 2: weaviate.v1.SearchRequest.metadata:type_name -> weaviate.v1.MetadataRequest 2, // 3: weaviate.v1.SearchRequest.group_by:type_name -> weaviate.v1.GroupBy 3, // 4: weaviate.v1.SearchRequest.sort_by:type_name -> weaviate.v1.SortBy 28, // 5: weaviate.v1.SearchRequest.filters:type_name -> weaviate.v1.Filters 8, // 6: weaviate.v1.SearchRequest.hybrid_search:type_name -> weaviate.v1.Hybrid 13, // 7: weaviate.v1.SearchRequest.bm25_search:type_name -> weaviate.v1.BM25 15, // 8: weaviate.v1.SearchRequest.near_vector:type_name -> weaviate.v1.NearVector 16, // 9: weaviate.v1.SearchRequest.near_object:type_name -> weaviate.v1.NearObject 9, // 10: weaviate.v1.SearchRequest.near_text:type_name -> weaviate.v1.NearTextSearch 10, // 11: weaviate.v1.SearchRequest.near_image:type_name -> weaviate.v1.NearImageSearch 11, // 12: weaviate.v1.SearchRequest.near_audio:type_name -> weaviate.v1.NearAudioSearch 12, // 13: weaviate.v1.SearchRequest.near_video:type_name -> weaviate.v1.NearVideoSearch 4, // 14: weaviate.v1.SearchRequest.generative:type_name -> weaviate.v1.GenerativeSearch 17, // 15: weaviate.v1.SearchRequest.rerank:type_name -> weaviate.v1.Rerank 14, // 16: weaviate.v1.PropertiesRequest.ref_properties:type_name -> weaviate.v1.RefPropertiesRequest 7, // 17: weaviate.v1.PropertiesRequest.object_properties:type_name -> weaviate.v1.ObjectPropertiesRequest 7, // 18: weaviate.v1.ObjectPropertiesRequest.object_properties:type_name -> weaviate.v1.ObjectPropertiesRequest 0, // 19: weaviate.v1.Hybrid.fusion_type:type_name -> weaviate.v1.Hybrid.FusionType 26, // 20: weaviate.v1.NearTextSearch.move_to:type_name -> weaviate.v1.NearTextSearch.Move 26, // 21: weaviate.v1.NearTextSearch.move_away:type_name -> weaviate.v1.NearTextSearch.Move 6, // 22: weaviate.v1.RefPropertiesRequest.properties:type_name -> weaviate.v1.PropertiesRequest 5, // 23: weaviate.v1.RefPropertiesRequest.metadata:type_name -> weaviate.v1.MetadataRequest 22, // 24: weaviate.v1.SearchReply.results:type_name -> weaviate.v1.SearchResult 21, // 25: weaviate.v1.SearchReply.group_by_results:type_name -> weaviate.v1.GroupByResult 22, // 26: weaviate.v1.GroupByResult.objects:type_name -> weaviate.v1.SearchResult 19, // 27: weaviate.v1.GroupByResult.rerank:type_name -> weaviate.v1.RerankReply 20, // 28: weaviate.v1.GroupByResult.generative:type_name -> weaviate.v1.GenerativeReply 24, // 29: weaviate.v1.SearchResult.properties:type_name -> weaviate.v1.PropertiesResult 23, // 30: weaviate.v1.SearchResult.metadata:type_name -> weaviate.v1.MetadataResult 29, // 31: weaviate.v1.PropertiesResult.non_ref_properties:type_name -> google.protobuf.Struct 25, // 32: weaviate.v1.PropertiesResult.ref_props:type_name -> weaviate.v1.RefPropertiesResult 23, // 33: weaviate.v1.PropertiesResult.metadata:type_name -> weaviate.v1.MetadataResult 30, // 34: weaviate.v1.PropertiesResult.number_array_properties:type_name -> weaviate.v1.NumberArrayProperties 31, // 35: weaviate.v1.PropertiesResult.int_array_properties:type_name -> weaviate.v1.IntArrayProperties 32, // 36: weaviate.v1.PropertiesResult.text_array_properties:type_name -> weaviate.v1.TextArrayProperties 33, // 37: weaviate.v1.PropertiesResult.boolean_array_properties:type_name -> weaviate.v1.BooleanArrayProperties 34, // 38: weaviate.v1.PropertiesResult.object_properties:type_name -> weaviate.v1.ObjectProperties 35, // 39: weaviate.v1.PropertiesResult.object_array_properties:type_name -> weaviate.v1.ObjectArrayProperties 36, // 40: weaviate.v1.PropertiesResult.non_ref_props:type_name -> weaviate.v1.Properties 24, // 41: weaviate.v1.RefPropertiesResult.properties:type_name -> weaviate.v1.PropertiesResult 42, // [42:42] is the sub-list for method output_type 42, // [42:42] is the sub-list for method input_type 42, // [42:42] is the sub-list for extension type_name 42, // [42:42] is the sub-list for extension extendee 0, // [0:42] is the sub-list for field type_name } func init() { file_v1_search_get_proto_init() } func file_v1_search_get_proto_init() { if File_v1_search_get_proto != nil { return } file_v1_base_proto_init() file_v1_properties_proto_init() if !protoimpl.UnsafeEnabled { file_v1_search_get_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SearchRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_v1_search_get_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GroupBy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_v1_search_get_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SortBy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_v1_search_get_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GenerativeSearch); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_v1_search_get_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MetadataRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_v1_search_get_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PropertiesRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_v1_search_get_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ObjectPropertiesRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_v1_search_get_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Hybrid); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_v1_search_get_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NearTextSearch); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_v1_search_get_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NearImageSearch); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_v1_search_get_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NearAudioSearch); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_v1_search_get_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NearVideoSearch); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_v1_search_get_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BM25); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_v1_search_get_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RefPropertiesRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_v1_search_get_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NearVector); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_v1_search_get_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NearObject); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_v1_search_get_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Rerank); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_v1_search_get_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SearchReply); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_v1_search_get_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RerankReply); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_v1_search_get_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GenerativeReply); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_v1_search_get_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GroupByResult); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_v1_search_get_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SearchResult); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_v1_search_get_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MetadataResult); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_v1_search_get_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PropertiesResult); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_v1_search_get_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RefPropertiesResult); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_v1_search_get_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NearTextSearch_Move); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_v1_search_get_proto_msgTypes[0].OneofWrappers = []interface{}{} file_v1_search_get_proto_msgTypes[8].OneofWrappers = []interface{}{} file_v1_search_get_proto_msgTypes[9].OneofWrappers = []interface{}{} file_v1_search_get_proto_msgTypes[10].OneofWrappers = []interface{}{} file_v1_search_get_proto_msgTypes[11].OneofWrappers = []interface{}{} file_v1_search_get_proto_msgTypes[14].OneofWrappers = []interface{}{} file_v1_search_get_proto_msgTypes[15].OneofWrappers = []interface{}{} file_v1_search_get_proto_msgTypes[16].OneofWrappers = []interface{}{} file_v1_search_get_proto_msgTypes[17].OneofWrappers = []interface{}{} file_v1_search_get_proto_msgTypes[20].OneofWrappers = []interface{}{} file_v1_search_get_proto_msgTypes[22].OneofWrappers = []interface{}{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_v1_search_get_proto_rawDesc, NumEnums: 1, NumMessages: 26, NumExtensions: 0, NumServices: 0, }, GoTypes: file_v1_search_get_proto_goTypes, DependencyIndexes: file_v1_search_get_proto_depIdxs, EnumInfos: file_v1_search_get_proto_enumTypes, MessageInfos: file_v1_search_get_proto_msgTypes, }.Build() File_v1_search_get_proto = out.File file_v1_search_get_proto_rawDesc = nil file_v1_search_get_proto_goTypes = nil file_v1_search_get_proto_depIdxs = nil }