Add delete api into proto (#7304)

Signed-off-by: yhmo <yihua.mo@zilliz.com>
pull/7314/head
groot 2021-08-26 12:15:52 +08:00 committed by GitHub
parent 9fbe65f3b1
commit 8701c477e2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 1693 additions and 437 deletions

File diff suppressed because it is too large Load Diff

View File

@ -53,7 +53,7 @@ struct TableStruct_milvus_2eproto {
PROTOBUF_SECTION_VARIABLE(protodesc_cold);
static const ::PROTOBUF_NAMESPACE_ID::internal::AuxillaryParseTableField aux[]
PROTOBUF_SECTION_VARIABLE(protodesc_cold);
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[63]
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[64]
PROTOBUF_SECTION_VARIABLE(protodesc_cold);
static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
@ -81,6 +81,9 @@ extern CreateIndexRequestDefaultTypeInternal _CreateIndexRequest_default_instanc
class CreatePartitionRequest;
class CreatePartitionRequestDefaultTypeInternal;
extern CreatePartitionRequestDefaultTypeInternal _CreatePartitionRequest_default_instance_;
class DeleteRequest;
class DeleteRequestDefaultTypeInternal;
extern DeleteRequestDefaultTypeInternal _DeleteRequest_default_instance_;
class DescribeCollectionRequest;
class DescribeCollectionRequestDefaultTypeInternal;
extern DescribeCollectionRequestDefaultTypeInternal _DescribeCollectionRequest_default_instance_;
@ -262,6 +265,7 @@ template<> ::milvus::proto::milvus::CalcDistanceResults* Arena::CreateMaybeMessa
template<> ::milvus::proto::milvus::CreateCollectionRequest* Arena::CreateMaybeMessage<::milvus::proto::milvus::CreateCollectionRequest>(Arena*);
template<> ::milvus::proto::milvus::CreateIndexRequest* Arena::CreateMaybeMessage<::milvus::proto::milvus::CreateIndexRequest>(Arena*);
template<> ::milvus::proto::milvus::CreatePartitionRequest* Arena::CreateMaybeMessage<::milvus::proto::milvus::CreatePartitionRequest>(Arena*);
template<> ::milvus::proto::milvus::DeleteRequest* Arena::CreateMaybeMessage<::milvus::proto::milvus::DeleteRequest>(Arena*);
template<> ::milvus::proto::milvus::DescribeCollectionRequest* Arena::CreateMaybeMessage<::milvus::proto::milvus::DescribeCollectionRequest>(Arena*);
template<> ::milvus::proto::milvus::DescribeCollectionResponse* Arena::CreateMaybeMessage<::milvus::proto::milvus::DescribeCollectionResponse>(Arena*);
template<> ::milvus::proto::milvus::DescribeIndexRequest* Arena::CreateMaybeMessage<::milvus::proto::milvus::DescribeIndexRequest>(Arena*);
@ -6726,6 +6730,192 @@ class MutationResult :
};
// -------------------------------------------------------------------
class DeleteRequest :
public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:milvus.proto.milvus.DeleteRequest) */ {
public:
DeleteRequest();
virtual ~DeleteRequest();
DeleteRequest(const DeleteRequest& from);
DeleteRequest(DeleteRequest&& from) noexcept
: DeleteRequest() {
*this = ::std::move(from);
}
inline DeleteRequest& operator=(const DeleteRequest& from) {
CopyFrom(from);
return *this;
}
inline DeleteRequest& operator=(DeleteRequest&& from) noexcept {
if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
if (this != &from) InternalSwap(&from);
} else {
CopyFrom(from);
}
return *this;
}
static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
return GetDescriptor();
}
static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
return GetMetadataStatic().descriptor;
}
static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
return GetMetadataStatic().reflection;
}
static const DeleteRequest& default_instance();
static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
static inline const DeleteRequest* internal_default_instance() {
return reinterpret_cast<const DeleteRequest*>(
&_DeleteRequest_default_instance_);
}
static constexpr int kIndexInFileMessages =
37;
friend void swap(DeleteRequest& a, DeleteRequest& b) {
a.Swap(&b);
}
inline void Swap(DeleteRequest* other) {
if (other == this) return;
InternalSwap(other);
}
// implements Message ----------------------------------------------
inline DeleteRequest* New() const final {
return CreateMaybeMessage<DeleteRequest>(nullptr);
}
DeleteRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
return CreateMaybeMessage<DeleteRequest>(arena);
}
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
void CopyFrom(const DeleteRequest& from);
void MergeFrom(const DeleteRequest& from);
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
bool IsInitialized() const final;
size_t ByteSizeLong() const final;
#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
#else
bool MergePartialFromCodedStream(
::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
#endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
void SerializeWithCachedSizes(
::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
int GetCachedSize() const final { return _cached_size_.Get(); }
private:
inline void SharedCtor();
inline void SharedDtor();
void SetCachedSize(int size) const final;
void InternalSwap(DeleteRequest* other);
friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
return "milvus.proto.milvus.DeleteRequest";
}
private:
inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
return nullptr;
}
inline void* MaybeArenaPtr() const {
return nullptr;
}
public:
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
private:
static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_milvus_2eproto);
return ::descriptor_table_milvus_2eproto.file_level_metadata[kIndexInFileMessages];
}
public:
// nested types ----------------------------------------------------
// accessors -------------------------------------------------------
enum : int {
kDbNameFieldNumber = 2,
kCollectionNameFieldNumber = 3,
kPartitionNameFieldNumber = 4,
kExprFieldNumber = 5,
kBaseFieldNumber = 1,
};
// string db_name = 2;
void clear_db_name();
const std::string& db_name() const;
void set_db_name(const std::string& value);
void set_db_name(std::string&& value);
void set_db_name(const char* value);
void set_db_name(const char* value, size_t size);
std::string* mutable_db_name();
std::string* release_db_name();
void set_allocated_db_name(std::string* db_name);
// string collection_name = 3;
void clear_collection_name();
const std::string& collection_name() const;
void set_collection_name(const std::string& value);
void set_collection_name(std::string&& value);
void set_collection_name(const char* value);
void set_collection_name(const char* value, size_t size);
std::string* mutable_collection_name();
std::string* release_collection_name();
void set_allocated_collection_name(std::string* collection_name);
// string partition_name = 4;
void clear_partition_name();
const std::string& partition_name() const;
void set_partition_name(const std::string& value);
void set_partition_name(std::string&& value);
void set_partition_name(const char* value);
void set_partition_name(const char* value, size_t size);
std::string* mutable_partition_name();
std::string* release_partition_name();
void set_allocated_partition_name(std::string* partition_name);
// string expr = 5;
void clear_expr();
const std::string& expr() const;
void set_expr(const std::string& value);
void set_expr(std::string&& value);
void set_expr(const char* value);
void set_expr(const char* value, size_t size);
std::string* mutable_expr();
std::string* release_expr();
void set_allocated_expr(std::string* expr);
// .milvus.proto.common.MsgBase base = 1;
bool has_base() const;
void clear_base();
const ::milvus::proto::common::MsgBase& base() const;
::milvus::proto::common::MsgBase* release_base();
::milvus::proto::common::MsgBase* mutable_base();
void set_allocated_base(::milvus::proto::common::MsgBase* base);
// @@protoc_insertion_point(class_scope:milvus.proto.milvus.DeleteRequest)
private:
class _Internal;
::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr db_name_;
::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr collection_name_;
::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr partition_name_;
::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr expr_;
::milvus::proto::common::MsgBase* base_;
mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
friend struct ::TableStruct_milvus_2eproto;
};
// -------------------------------------------------------------------
class PlaceholderValue :
public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:milvus.proto.milvus.PlaceholderValue) */ {
public:
@ -6768,7 +6958,7 @@ class PlaceholderValue :
&_PlaceholderValue_default_instance_);
}
static constexpr int kIndexInFileMessages =
37;
38;
friend void swap(PlaceholderValue& a, PlaceholderValue& b) {
a.Swap(&b);
@ -6931,7 +7121,7 @@ class PlaceholderGroup :
&_PlaceholderGroup_default_instance_);
}
static constexpr int kIndexInFileMessages =
38;
39;
friend void swap(PlaceholderGroup& a, PlaceholderGroup& b) {
a.Swap(&b);
@ -7068,7 +7258,7 @@ class SearchRequest :
&_SearchRequest_default_instance_);
}
static constexpr int kIndexInFileMessages =
39;
40;
friend void swap(SearchRequest& a, SearchRequest& b) {
a.Swap(&b);
@ -7326,7 +7516,7 @@ class Hits :
&_Hits_default_instance_);
}
static constexpr int kIndexInFileMessages =
40;
41;
friend void swap(Hits& a, Hits& b) {
a.Swap(&b);
@ -7497,7 +7687,7 @@ class SearchResults :
&_SearchResults_default_instance_);
}
static constexpr int kIndexInFileMessages =
41;
42;
friend void swap(SearchResults& a, SearchResults& b) {
a.Swap(&b);
@ -7641,7 +7831,7 @@ class FlushRequest :
&_FlushRequest_default_instance_);
}
static constexpr int kIndexInFileMessages =
42;
43;
friend void swap(FlushRequest& a, FlushRequest& b) {
a.Swap(&b);
@ -7789,7 +7979,7 @@ public:
private:
static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_milvus_2eproto);
return ::descriptor_table_milvus_2eproto.file_level_metadata[43];
return ::descriptor_table_milvus_2eproto.file_level_metadata[44];
}
public:
@ -7839,7 +8029,7 @@ class FlushResponse :
&_FlushResponse_default_instance_);
}
static constexpr int kIndexInFileMessages =
44;
45;
friend void swap(FlushResponse& a, FlushResponse& b) {
a.Swap(&b);
@ -8002,7 +8192,7 @@ class QueryRequest :
&_QueryRequest_default_instance_);
}
static constexpr int kIndexInFileMessages =
45;
46;
friend void swap(QueryRequest& a, QueryRequest& b) {
a.Swap(&b);
@ -8227,7 +8417,7 @@ class QueryResults :
&_QueryResults_default_instance_);
}
static constexpr int kIndexInFileMessages =
46;
47;
friend void swap(QueryResults& a, QueryResults& b) {
a.Swap(&b);
@ -8374,7 +8564,7 @@ class VectorIDs :
&_VectorIDs_default_instance_);
}
static constexpr int kIndexInFileMessages =
47;
48;
friend void swap(VectorIDs& a, VectorIDs& b) {
a.Swap(&b);
@ -8559,7 +8749,7 @@ class VectorsArray :
&_VectorsArray_default_instance_);
}
static constexpr int kIndexInFileMessages =
48;
49;
friend void swap(VectorsArray& a, VectorsArray& b) {
a.Swap(&b);
@ -8715,7 +8905,7 @@ class CalcDistanceRequest :
&_CalcDistanceRequest_default_instance_);
}
static constexpr int kIndexInFileMessages =
49;
50;
friend void swap(CalcDistanceRequest& a, CalcDistanceRequest& b) {
a.Swap(&b);
@ -8888,7 +9078,7 @@ class CalcDistanceResults :
&_CalcDistanceResults_default_instance_);
}
static constexpr int kIndexInFileMessages =
50;
51;
friend void swap(CalcDistanceResults& a, CalcDistanceResults& b) {
a.Swap(&b);
@ -9054,7 +9244,7 @@ class PersistentSegmentInfo :
&_PersistentSegmentInfo_default_instance_);
}
static constexpr int kIndexInFileMessages =
51;
52;
friend void swap(PersistentSegmentInfo& a, PersistentSegmentInfo& b) {
a.Swap(&b);
@ -9213,7 +9403,7 @@ class GetPersistentSegmentInfoRequest :
&_GetPersistentSegmentInfoRequest_default_instance_);
}
static constexpr int kIndexInFileMessages =
52;
53;
friend void swap(GetPersistentSegmentInfoRequest& a, GetPersistentSegmentInfoRequest& b) {
a.Swap(&b);
@ -9373,7 +9563,7 @@ class GetPersistentSegmentInfoResponse :
&_GetPersistentSegmentInfoResponse_default_instance_);
}
static constexpr int kIndexInFileMessages =
53;
54;
friend void swap(GetPersistentSegmentInfoResponse& a, GetPersistentSegmentInfoResponse& b) {
a.Swap(&b);
@ -9520,7 +9710,7 @@ class QuerySegmentInfo :
&_QuerySegmentInfo_default_instance_);
}
static constexpr int kIndexInFileMessages =
54;
55;
friend void swap(QuerySegmentInfo& a, QuerySegmentInfo& b) {
a.Swap(&b);
@ -9699,7 +9889,7 @@ class GetQuerySegmentInfoRequest :
&_GetQuerySegmentInfoRequest_default_instance_);
}
static constexpr int kIndexInFileMessages =
55;
56;
friend void swap(GetQuerySegmentInfoRequest& a, GetQuerySegmentInfoRequest& b) {
a.Swap(&b);
@ -9859,7 +10049,7 @@ class GetQuerySegmentInfoResponse :
&_GetQuerySegmentInfoResponse_default_instance_);
}
static constexpr int kIndexInFileMessages =
56;
57;
friend void swap(GetQuerySegmentInfoResponse& a, GetQuerySegmentInfoResponse& b) {
a.Swap(&b);
@ -10006,7 +10196,7 @@ class DummyRequest :
&_DummyRequest_default_instance_);
}
static constexpr int kIndexInFileMessages =
57;
58;
friend void swap(DummyRequest& a, DummyRequest& b) {
a.Swap(&b);
@ -10143,7 +10333,7 @@ class DummyResponse :
&_DummyResponse_default_instance_);
}
static constexpr int kIndexInFileMessages =
58;
59;
friend void swap(DummyResponse& a, DummyResponse& b) {
a.Swap(&b);
@ -10280,7 +10470,7 @@ class RegisterLinkRequest :
&_RegisterLinkRequest_default_instance_);
}
static constexpr int kIndexInFileMessages =
59;
60;
friend void swap(RegisterLinkRequest& a, RegisterLinkRequest& b) {
a.Swap(&b);
@ -10402,7 +10592,7 @@ class RegisterLinkResponse :
&_RegisterLinkResponse_default_instance_);
}
static constexpr int kIndexInFileMessages =
60;
61;
friend void swap(RegisterLinkResponse& a, RegisterLinkResponse& b) {
a.Swap(&b);
@ -10546,7 +10736,7 @@ class GetMetricsRequest :
&_GetMetricsRequest_default_instance_);
}
static constexpr int kIndexInFileMessages =
61;
62;
friend void swap(GetMetricsRequest& a, GetMetricsRequest& b) {
a.Swap(&b);
@ -10693,7 +10883,7 @@ class GetMetricsResponse :
&_GetMetricsResponse_default_instance_);
}
static constexpr int kIndexInFileMessages =
62;
63;
friend void swap(GetMetricsResponse& a, GetMetricsResponse& b) {
a.Swap(&b);
@ -17187,6 +17377,259 @@ inline void MutationResult::set_timestamp(::PROTOBUF_NAMESPACE_ID::uint64 value)
// -------------------------------------------------------------------
// DeleteRequest
// .milvus.proto.common.MsgBase base = 1;
inline bool DeleteRequest::has_base() const {
return this != internal_default_instance() && base_ != nullptr;
}
inline const ::milvus::proto::common::MsgBase& DeleteRequest::base() const {
const ::milvus::proto::common::MsgBase* p = base_;
// @@protoc_insertion_point(field_get:milvus.proto.milvus.DeleteRequest.base)
return p != nullptr ? *p : *reinterpret_cast<const ::milvus::proto::common::MsgBase*>(
&::milvus::proto::common::_MsgBase_default_instance_);
}
inline ::milvus::proto::common::MsgBase* DeleteRequest::release_base() {
// @@protoc_insertion_point(field_release:milvus.proto.milvus.DeleteRequest.base)
::milvus::proto::common::MsgBase* temp = base_;
base_ = nullptr;
return temp;
}
inline ::milvus::proto::common::MsgBase* DeleteRequest::mutable_base() {
if (base_ == nullptr) {
auto* p = CreateMaybeMessage<::milvus::proto::common::MsgBase>(GetArenaNoVirtual());
base_ = p;
}
// @@protoc_insertion_point(field_mutable:milvus.proto.milvus.DeleteRequest.base)
return base_;
}
inline void DeleteRequest::set_allocated_base(::milvus::proto::common::MsgBase* base) {
::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaNoVirtual();
if (message_arena == nullptr) {
delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(base_);
}
if (base) {
::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = nullptr;
if (message_arena != submessage_arena) {
base = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
message_arena, base, submessage_arena);
}
} else {
}
base_ = base;
// @@protoc_insertion_point(field_set_allocated:milvus.proto.milvus.DeleteRequest.base)
}
// string db_name = 2;
inline void DeleteRequest::clear_db_name() {
db_name_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline const std::string& DeleteRequest::db_name() const {
// @@protoc_insertion_point(field_get:milvus.proto.milvus.DeleteRequest.db_name)
return db_name_.GetNoArena();
}
inline void DeleteRequest::set_db_name(const std::string& value) {
db_name_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
// @@protoc_insertion_point(field_set:milvus.proto.milvus.DeleteRequest.db_name)
}
inline void DeleteRequest::set_db_name(std::string&& value) {
db_name_.SetNoArena(
&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
// @@protoc_insertion_point(field_set_rvalue:milvus.proto.milvus.DeleteRequest.db_name)
}
inline void DeleteRequest::set_db_name(const char* value) {
GOOGLE_DCHECK(value != nullptr);
db_name_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
// @@protoc_insertion_point(field_set_char:milvus.proto.milvus.DeleteRequest.db_name)
}
inline void DeleteRequest::set_db_name(const char* value, size_t size) {
db_name_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
::std::string(reinterpret_cast<const char*>(value), size));
// @@protoc_insertion_point(field_set_pointer:milvus.proto.milvus.DeleteRequest.db_name)
}
inline std::string* DeleteRequest::mutable_db_name() {
// @@protoc_insertion_point(field_mutable:milvus.proto.milvus.DeleteRequest.db_name)
return db_name_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline std::string* DeleteRequest::release_db_name() {
// @@protoc_insertion_point(field_release:milvus.proto.milvus.DeleteRequest.db_name)
return db_name_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline void DeleteRequest::set_allocated_db_name(std::string* db_name) {
if (db_name != nullptr) {
} else {
}
db_name_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), db_name);
// @@protoc_insertion_point(field_set_allocated:milvus.proto.milvus.DeleteRequest.db_name)
}
// string collection_name = 3;
inline void DeleteRequest::clear_collection_name() {
collection_name_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline const std::string& DeleteRequest::collection_name() const {
// @@protoc_insertion_point(field_get:milvus.proto.milvus.DeleteRequest.collection_name)
return collection_name_.GetNoArena();
}
inline void DeleteRequest::set_collection_name(const std::string& value) {
collection_name_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
// @@protoc_insertion_point(field_set:milvus.proto.milvus.DeleteRequest.collection_name)
}
inline void DeleteRequest::set_collection_name(std::string&& value) {
collection_name_.SetNoArena(
&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
// @@protoc_insertion_point(field_set_rvalue:milvus.proto.milvus.DeleteRequest.collection_name)
}
inline void DeleteRequest::set_collection_name(const char* value) {
GOOGLE_DCHECK(value != nullptr);
collection_name_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
// @@protoc_insertion_point(field_set_char:milvus.proto.milvus.DeleteRequest.collection_name)
}
inline void DeleteRequest::set_collection_name(const char* value, size_t size) {
collection_name_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
::std::string(reinterpret_cast<const char*>(value), size));
// @@protoc_insertion_point(field_set_pointer:milvus.proto.milvus.DeleteRequest.collection_name)
}
inline std::string* DeleteRequest::mutable_collection_name() {
// @@protoc_insertion_point(field_mutable:milvus.proto.milvus.DeleteRequest.collection_name)
return collection_name_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline std::string* DeleteRequest::release_collection_name() {
// @@protoc_insertion_point(field_release:milvus.proto.milvus.DeleteRequest.collection_name)
return collection_name_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline void DeleteRequest::set_allocated_collection_name(std::string* collection_name) {
if (collection_name != nullptr) {
} else {
}
collection_name_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), collection_name);
// @@protoc_insertion_point(field_set_allocated:milvus.proto.milvus.DeleteRequest.collection_name)
}
// string partition_name = 4;
inline void DeleteRequest::clear_partition_name() {
partition_name_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline const std::string& DeleteRequest::partition_name() const {
// @@protoc_insertion_point(field_get:milvus.proto.milvus.DeleteRequest.partition_name)
return partition_name_.GetNoArena();
}
inline void DeleteRequest::set_partition_name(const std::string& value) {
partition_name_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
// @@protoc_insertion_point(field_set:milvus.proto.milvus.DeleteRequest.partition_name)
}
inline void DeleteRequest::set_partition_name(std::string&& value) {
partition_name_.SetNoArena(
&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
// @@protoc_insertion_point(field_set_rvalue:milvus.proto.milvus.DeleteRequest.partition_name)
}
inline void DeleteRequest::set_partition_name(const char* value) {
GOOGLE_DCHECK(value != nullptr);
partition_name_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
// @@protoc_insertion_point(field_set_char:milvus.proto.milvus.DeleteRequest.partition_name)
}
inline void DeleteRequest::set_partition_name(const char* value, size_t size) {
partition_name_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
::std::string(reinterpret_cast<const char*>(value), size));
// @@protoc_insertion_point(field_set_pointer:milvus.proto.milvus.DeleteRequest.partition_name)
}
inline std::string* DeleteRequest::mutable_partition_name() {
// @@protoc_insertion_point(field_mutable:milvus.proto.milvus.DeleteRequest.partition_name)
return partition_name_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline std::string* DeleteRequest::release_partition_name() {
// @@protoc_insertion_point(field_release:milvus.proto.milvus.DeleteRequest.partition_name)
return partition_name_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline void DeleteRequest::set_allocated_partition_name(std::string* partition_name) {
if (partition_name != nullptr) {
} else {
}
partition_name_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), partition_name);
// @@protoc_insertion_point(field_set_allocated:milvus.proto.milvus.DeleteRequest.partition_name)
}
// string expr = 5;
inline void DeleteRequest::clear_expr() {
expr_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline const std::string& DeleteRequest::expr() const {
// @@protoc_insertion_point(field_get:milvus.proto.milvus.DeleteRequest.expr)
return expr_.GetNoArena();
}
inline void DeleteRequest::set_expr(const std::string& value) {
expr_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
// @@protoc_insertion_point(field_set:milvus.proto.milvus.DeleteRequest.expr)
}
inline void DeleteRequest::set_expr(std::string&& value) {
expr_.SetNoArena(
&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
// @@protoc_insertion_point(field_set_rvalue:milvus.proto.milvus.DeleteRequest.expr)
}
inline void DeleteRequest::set_expr(const char* value) {
GOOGLE_DCHECK(value != nullptr);
expr_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
// @@protoc_insertion_point(field_set_char:milvus.proto.milvus.DeleteRequest.expr)
}
inline void DeleteRequest::set_expr(const char* value, size_t size) {
expr_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
::std::string(reinterpret_cast<const char*>(value), size));
// @@protoc_insertion_point(field_set_pointer:milvus.proto.milvus.DeleteRequest.expr)
}
inline std::string* DeleteRequest::mutable_expr() {
// @@protoc_insertion_point(field_mutable:milvus.proto.milvus.DeleteRequest.expr)
return expr_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline std::string* DeleteRequest::release_expr() {
// @@protoc_insertion_point(field_release:milvus.proto.milvus.DeleteRequest.expr)
return expr_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline void DeleteRequest::set_allocated_expr(std::string* expr) {
if (expr != nullptr) {
} else {
}
expr_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), expr);
// @@protoc_insertion_point(field_set_allocated:milvus.proto.milvus.DeleteRequest.expr)
}
// -------------------------------------------------------------------
// PlaceholderValue
// string tag = 1;
@ -20616,6 +21059,8 @@ inline void GetMetricsResponse::set_allocated_component_name(std::string* compon
// -------------------------------------------------------------------
// -------------------------------------------------------------------
// @@protoc_insertion_point(namespace_scope)

View File

@ -370,6 +370,10 @@ func (s *Server) Insert(ctx context.Context, request *milvuspb.InsertRequest) (*
return s.proxy.Insert(ctx, request)
}
func (s *Server) Delete(ctx context.Context, request *milvuspb.DeleteRequest) (*milvuspb.MutationResult, error) {
return s.proxy.Delete(ctx, request)
}
func (s *Server) Search(ctx context.Context, request *milvuspb.SearchRequest) (*milvuspb.SearchResults, error) {
return s.proxy.Search(ctx, request)
}

View File

@ -31,6 +31,7 @@ service MilvusService {
rpc DropIndex(DropIndexRequest) returns (common.Status) {}
rpc Insert(InsertRequest) returns (MutationResult) {}
rpc Delete(DeleteRequest) returns (MutationResult) {}
rpc Search(SearchRequest) returns (SearchResults) {}
rpc Flush(FlushRequest) returns (FlushResponse) {}
rpc Query(QueryRequest) returns (QueryResults) {}
@ -318,6 +319,14 @@ message MutationResult {
uint64 timestamp = 9;
}
message DeleteRequest {
common.MsgBase base = 1;
string db_name = 2;
string collection_name = 3;
string partition_name = 4;
string expr = 5;
}
enum PlaceholderType {
None = 0;
BinaryVector = 100;

View File

@ -2451,6 +2451,77 @@ func (m *MutationResult) GetTimestamp() uint64 {
return 0
}
type DeleteRequest struct {
Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"`
DbName string `protobuf:"bytes,2,opt,name=db_name,json=dbName,proto3" json:"db_name,omitempty"`
CollectionName string `protobuf:"bytes,3,opt,name=collection_name,json=collectionName,proto3" json:"collection_name,omitempty"`
PartitionName string `protobuf:"bytes,4,opt,name=partition_name,json=partitionName,proto3" json:"partition_name,omitempty"`
Expr string `protobuf:"bytes,5,opt,name=expr,proto3" json:"expr,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *DeleteRequest) Reset() { *m = DeleteRequest{} }
func (m *DeleteRequest) String() string { return proto.CompactTextString(m) }
func (*DeleteRequest) ProtoMessage() {}
func (*DeleteRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_02345ba45cc0e303, []int{37}
}
func (m *DeleteRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DeleteRequest.Unmarshal(m, b)
}
func (m *DeleteRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_DeleteRequest.Marshal(b, m, deterministic)
}
func (m *DeleteRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_DeleteRequest.Merge(m, src)
}
func (m *DeleteRequest) XXX_Size() int {
return xxx_messageInfo_DeleteRequest.Size(m)
}
func (m *DeleteRequest) XXX_DiscardUnknown() {
xxx_messageInfo_DeleteRequest.DiscardUnknown(m)
}
var xxx_messageInfo_DeleteRequest proto.InternalMessageInfo
func (m *DeleteRequest) GetBase() *commonpb.MsgBase {
if m != nil {
return m.Base
}
return nil
}
func (m *DeleteRequest) GetDbName() string {
if m != nil {
return m.DbName
}
return ""
}
func (m *DeleteRequest) GetCollectionName() string {
if m != nil {
return m.CollectionName
}
return ""
}
func (m *DeleteRequest) GetPartitionName() string {
if m != nil {
return m.PartitionName
}
return ""
}
func (m *DeleteRequest) GetExpr() string {
if m != nil {
return m.Expr
}
return ""
}
type PlaceholderValue struct {
Tag string `protobuf:"bytes,1,opt,name=tag,proto3" json:"tag,omitempty"`
Type PlaceholderType `protobuf:"varint,2,opt,name=type,proto3,enum=milvus.proto.milvus.PlaceholderType" json:"type,omitempty"`
@ -2465,7 +2536,7 @@ func (m *PlaceholderValue) Reset() { *m = PlaceholderValue{} }
func (m *PlaceholderValue) String() string { return proto.CompactTextString(m) }
func (*PlaceholderValue) ProtoMessage() {}
func (*PlaceholderValue) Descriptor() ([]byte, []int) {
return fileDescriptor_02345ba45cc0e303, []int{37}
return fileDescriptor_02345ba45cc0e303, []int{38}
}
func (m *PlaceholderValue) XXX_Unmarshal(b []byte) error {
@ -2518,7 +2589,7 @@ func (m *PlaceholderGroup) Reset() { *m = PlaceholderGroup{} }
func (m *PlaceholderGroup) String() string { return proto.CompactTextString(m) }
func (*PlaceholderGroup) ProtoMessage() {}
func (*PlaceholderGroup) Descriptor() ([]byte, []int) {
return fileDescriptor_02345ba45cc0e303, []int{38}
return fileDescriptor_02345ba45cc0e303, []int{39}
}
func (m *PlaceholderGroup) XXX_Unmarshal(b []byte) error {
@ -2568,7 +2639,7 @@ func (m *SearchRequest) Reset() { *m = SearchRequest{} }
func (m *SearchRequest) String() string { return proto.CompactTextString(m) }
func (*SearchRequest) ProtoMessage() {}
func (*SearchRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_02345ba45cc0e303, []int{39}
return fileDescriptor_02345ba45cc0e303, []int{40}
}
func (m *SearchRequest) XXX_Unmarshal(b []byte) error {
@ -2679,7 +2750,7 @@ func (m *Hits) Reset() { *m = Hits{} }
func (m *Hits) String() string { return proto.CompactTextString(m) }
func (*Hits) ProtoMessage() {}
func (*Hits) Descriptor() ([]byte, []int) {
return fileDescriptor_02345ba45cc0e303, []int{40}
return fileDescriptor_02345ba45cc0e303, []int{41}
}
func (m *Hits) XXX_Unmarshal(b []byte) error {
@ -2733,7 +2804,7 @@ func (m *SearchResults) Reset() { *m = SearchResults{} }
func (m *SearchResults) String() string { return proto.CompactTextString(m) }
func (*SearchResults) ProtoMessage() {}
func (*SearchResults) Descriptor() ([]byte, []int) {
return fileDescriptor_02345ba45cc0e303, []int{41}
return fileDescriptor_02345ba45cc0e303, []int{42}
}
func (m *SearchResults) XXX_Unmarshal(b []byte) error {
@ -2781,7 +2852,7 @@ func (m *FlushRequest) Reset() { *m = FlushRequest{} }
func (m *FlushRequest) String() string { return proto.CompactTextString(m) }
func (*FlushRequest) ProtoMessage() {}
func (*FlushRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_02345ba45cc0e303, []int{42}
return fileDescriptor_02345ba45cc0e303, []int{43}
}
func (m *FlushRequest) XXX_Unmarshal(b []byte) error {
@ -2836,7 +2907,7 @@ func (m *FlushResponse) Reset() { *m = FlushResponse{} }
func (m *FlushResponse) String() string { return proto.CompactTextString(m) }
func (*FlushResponse) ProtoMessage() {}
func (*FlushResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_02345ba45cc0e303, []int{43}
return fileDescriptor_02345ba45cc0e303, []int{44}
}
func (m *FlushResponse) XXX_Unmarshal(b []byte) error {
@ -2896,7 +2967,7 @@ func (m *QueryRequest) Reset() { *m = QueryRequest{} }
func (m *QueryRequest) String() string { return proto.CompactTextString(m) }
func (*QueryRequest) ProtoMessage() {}
func (*QueryRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_02345ba45cc0e303, []int{44}
return fileDescriptor_02345ba45cc0e303, []int{45}
}
func (m *QueryRequest) XXX_Unmarshal(b []byte) error {
@ -2985,7 +3056,7 @@ func (m *QueryResults) Reset() { *m = QueryResults{} }
func (m *QueryResults) String() string { return proto.CompactTextString(m) }
func (*QueryResults) ProtoMessage() {}
func (*QueryResults) Descriptor() ([]byte, []int) {
return fileDescriptor_02345ba45cc0e303, []int{45}
return fileDescriptor_02345ba45cc0e303, []int{46}
}
func (m *QueryResults) XXX_Unmarshal(b []byte) error {
@ -3034,7 +3105,7 @@ func (m *VectorIDs) Reset() { *m = VectorIDs{} }
func (m *VectorIDs) String() string { return proto.CompactTextString(m) }
func (*VectorIDs) ProtoMessage() {}
func (*VectorIDs) Descriptor() ([]byte, []int) {
return fileDescriptor_02345ba45cc0e303, []int{46}
return fileDescriptor_02345ba45cc0e303, []int{47}
}
func (m *VectorIDs) XXX_Unmarshal(b []byte) error {
@ -3097,7 +3168,7 @@ func (m *VectorsArray) Reset() { *m = VectorsArray{} }
func (m *VectorsArray) String() string { return proto.CompactTextString(m) }
func (*VectorsArray) ProtoMessage() {}
func (*VectorsArray) Descriptor() ([]byte, []int) {
return fileDescriptor_02345ba45cc0e303, []int{47}
return fileDescriptor_02345ba45cc0e303, []int{48}
}
func (m *VectorsArray) XXX_Unmarshal(b []byte) error {
@ -3177,7 +3248,7 @@ func (m *CalcDistanceRequest) Reset() { *m = CalcDistanceRequest{} }
func (m *CalcDistanceRequest) String() string { return proto.CompactTextString(m) }
func (*CalcDistanceRequest) ProtoMessage() {}
func (*CalcDistanceRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_02345ba45cc0e303, []int{48}
return fileDescriptor_02345ba45cc0e303, []int{49}
}
func (m *CalcDistanceRequest) XXX_Unmarshal(b []byte) error {
@ -3243,7 +3314,7 @@ func (m *CalcDistanceResults) Reset() { *m = CalcDistanceResults{} }
func (m *CalcDistanceResults) String() string { return proto.CompactTextString(m) }
func (*CalcDistanceResults) ProtoMessage() {}
func (*CalcDistanceResults) Descriptor() ([]byte, []int) {
return fileDescriptor_02345ba45cc0e303, []int{49}
return fileDescriptor_02345ba45cc0e303, []int{50}
}
func (m *CalcDistanceResults) XXX_Unmarshal(b []byte) error {
@ -3331,7 +3402,7 @@ func (m *PersistentSegmentInfo) Reset() { *m = PersistentSegmentInfo{} }
func (m *PersistentSegmentInfo) String() string { return proto.CompactTextString(m) }
func (*PersistentSegmentInfo) ProtoMessage() {}
func (*PersistentSegmentInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_02345ba45cc0e303, []int{50}
return fileDescriptor_02345ba45cc0e303, []int{51}
}
func (m *PersistentSegmentInfo) XXX_Unmarshal(b []byte) error {
@ -3400,7 +3471,7 @@ func (m *GetPersistentSegmentInfoRequest) Reset() { *m = GetPersistentSe
func (m *GetPersistentSegmentInfoRequest) String() string { return proto.CompactTextString(m) }
func (*GetPersistentSegmentInfoRequest) ProtoMessage() {}
func (*GetPersistentSegmentInfoRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_02345ba45cc0e303, []int{51}
return fileDescriptor_02345ba45cc0e303, []int{52}
}
func (m *GetPersistentSegmentInfoRequest) XXX_Unmarshal(b []byte) error {
@ -3454,7 +3525,7 @@ func (m *GetPersistentSegmentInfoResponse) Reset() { *m = GetPersistentS
func (m *GetPersistentSegmentInfoResponse) String() string { return proto.CompactTextString(m) }
func (*GetPersistentSegmentInfoResponse) ProtoMessage() {}
func (*GetPersistentSegmentInfoResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_02345ba45cc0e303, []int{52}
return fileDescriptor_02345ba45cc0e303, []int{53}
}
func (m *GetPersistentSegmentInfoResponse) XXX_Unmarshal(b []byte) error {
@ -3506,7 +3577,7 @@ func (m *QuerySegmentInfo) Reset() { *m = QuerySegmentInfo{} }
func (m *QuerySegmentInfo) String() string { return proto.CompactTextString(m) }
func (*QuerySegmentInfo) ProtoMessage() {}
func (*QuerySegmentInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_02345ba45cc0e303, []int{53}
return fileDescriptor_02345ba45cc0e303, []int{54}
}
func (m *QuerySegmentInfo) XXX_Unmarshal(b []byte) error {
@ -3589,7 +3660,7 @@ func (m *GetQuerySegmentInfoRequest) Reset() { *m = GetQuerySegmentInfoR
func (m *GetQuerySegmentInfoRequest) String() string { return proto.CompactTextString(m) }
func (*GetQuerySegmentInfoRequest) ProtoMessage() {}
func (*GetQuerySegmentInfoRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_02345ba45cc0e303, []int{54}
return fileDescriptor_02345ba45cc0e303, []int{55}
}
func (m *GetQuerySegmentInfoRequest) XXX_Unmarshal(b []byte) error {
@ -3643,7 +3714,7 @@ func (m *GetQuerySegmentInfoResponse) Reset() { *m = GetQuerySegmentInfo
func (m *GetQuerySegmentInfoResponse) String() string { return proto.CompactTextString(m) }
func (*GetQuerySegmentInfoResponse) ProtoMessage() {}
func (*GetQuerySegmentInfoResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_02345ba45cc0e303, []int{55}
return fileDescriptor_02345ba45cc0e303, []int{56}
}
func (m *GetQuerySegmentInfoResponse) XXX_Unmarshal(b []byte) error {
@ -3689,7 +3760,7 @@ func (m *DummyRequest) Reset() { *m = DummyRequest{} }
func (m *DummyRequest) String() string { return proto.CompactTextString(m) }
func (*DummyRequest) ProtoMessage() {}
func (*DummyRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_02345ba45cc0e303, []int{56}
return fileDescriptor_02345ba45cc0e303, []int{57}
}
func (m *DummyRequest) XXX_Unmarshal(b []byte) error {
@ -3728,7 +3799,7 @@ func (m *DummyResponse) Reset() { *m = DummyResponse{} }
func (m *DummyResponse) String() string { return proto.CompactTextString(m) }
func (*DummyResponse) ProtoMessage() {}
func (*DummyResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_02345ba45cc0e303, []int{57}
return fileDescriptor_02345ba45cc0e303, []int{58}
}
func (m *DummyResponse) XXX_Unmarshal(b []byte) error {
@ -3766,7 +3837,7 @@ func (m *RegisterLinkRequest) Reset() { *m = RegisterLinkRequest{} }
func (m *RegisterLinkRequest) String() string { return proto.CompactTextString(m) }
func (*RegisterLinkRequest) ProtoMessage() {}
func (*RegisterLinkRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_02345ba45cc0e303, []int{58}
return fileDescriptor_02345ba45cc0e303, []int{59}
}
func (m *RegisterLinkRequest) XXX_Unmarshal(b []byte) error {
@ -3799,7 +3870,7 @@ func (m *RegisterLinkResponse) Reset() { *m = RegisterLinkResponse{} }
func (m *RegisterLinkResponse) String() string { return proto.CompactTextString(m) }
func (*RegisterLinkResponse) ProtoMessage() {}
func (*RegisterLinkResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_02345ba45cc0e303, []int{59}
return fileDescriptor_02345ba45cc0e303, []int{60}
}
func (m *RegisterLinkResponse) XXX_Unmarshal(b []byte) error {
@ -3846,7 +3917,7 @@ func (m *GetMetricsRequest) Reset() { *m = GetMetricsRequest{} }
func (m *GetMetricsRequest) String() string { return proto.CompactTextString(m) }
func (*GetMetricsRequest) ProtoMessage() {}
func (*GetMetricsRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_02345ba45cc0e303, []int{60}
return fileDescriptor_02345ba45cc0e303, []int{61}
}
func (m *GetMetricsRequest) XXX_Unmarshal(b []byte) error {
@ -3894,7 +3965,7 @@ func (m *GetMetricsResponse) Reset() { *m = GetMetricsResponse{} }
func (m *GetMetricsResponse) String() string { return proto.CompactTextString(m) }
func (*GetMetricsResponse) ProtoMessage() {}
func (*GetMetricsResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_02345ba45cc0e303, []int{61}
return fileDescriptor_02345ba45cc0e303, []int{62}
}
func (m *GetMetricsResponse) XXX_Unmarshal(b []byte) error {
@ -3976,6 +4047,7 @@ func init() {
proto.RegisterType((*DropIndexRequest)(nil), "milvus.proto.milvus.DropIndexRequest")
proto.RegisterType((*InsertRequest)(nil), "milvus.proto.milvus.InsertRequest")
proto.RegisterType((*MutationResult)(nil), "milvus.proto.milvus.MutationResult")
proto.RegisterType((*DeleteRequest)(nil), "milvus.proto.milvus.DeleteRequest")
proto.RegisterType((*PlaceholderValue)(nil), "milvus.proto.milvus.PlaceholderValue")
proto.RegisterType((*PlaceholderGroup)(nil), "milvus.proto.milvus.PlaceholderGroup")
proto.RegisterType((*SearchRequest)(nil), "milvus.proto.milvus.SearchRequest")
@ -4007,195 +4079,196 @@ func init() {
func init() { proto.RegisterFile("milvus.proto", fileDescriptor_02345ba45cc0e303) }
var fileDescriptor_02345ba45cc0e303 = []byte{
// 2993 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x3a, 0xcd, 0x73, 0x1c, 0x47,
0xf5, 0x9a, 0x5d, 0xed, 0xd7, 0xdb, 0x59, 0x69, 0xdd, 0xfa, 0xf0, 0x66, 0x63, 0xc7, 0xd2, 0xe4,
0xe7, 0x44, 0xb6, 0x13, 0x3b, 0x96, 0x93, 0x5f, 0x42, 0x02, 0x24, 0xb6, 0x45, 0x6c, 0x55, 0xec,
0xa0, 0x8c, 0x92, 0x54, 0x85, 0x54, 0x6a, 0x6a, 0xb4, 0xd3, 0x5a, 0x4d, 0x69, 0x76, 0x66, 0x99,
0xee, 0xb5, 0xbc, 0x39, 0x41, 0x05, 0xa8, 0xa2, 0x12, 0x92, 0xa2, 0xa0, 0xa0, 0xb8, 0x02, 0x39,
0x70, 0x23, 0x40, 0x15, 0x14, 0x27, 0x0e, 0x39, 0x70, 0xa0, 0x8a, 0x8f, 0xbf, 0x80, 0x0b, 0xc7,
0xfc, 0x07, 0x54, 0x41, 0xf5, 0xc7, 0xcc, 0xce, 0xac, 0x7a, 0x56, 0x2b, 0x6f, 0x82, 0xa4, 0xdb,
0xcc, 0xeb, 0xf7, 0xba, 0x5f, 0xbf, 0x7e, 0xfd, 0x5e, 0xbf, 0x0f, 0xd0, 0x3b, 0xae, 0x77, 0xaf,
0x47, 0x2e, 0x77, 0xc3, 0x80, 0x06, 0x68, 0x2e, 0xf9, 0x77, 0x59, 0xfc, 0x34, 0xf5, 0x56, 0xd0,
0xe9, 0x04, 0xbe, 0x00, 0x36, 0x75, 0xd2, 0xda, 0xc1, 0x1d, 0x5b, 0xfc, 0x19, 0x9f, 0x6a, 0x70,
0xfa, 0x66, 0x88, 0x6d, 0x8a, 0x6f, 0x06, 0x9e, 0x87, 0x5b, 0xd4, 0x0d, 0x7c, 0x13, 0x7f, 0xb3,
0x87, 0x09, 0x45, 0x4f, 0xc1, 0xf4, 0x96, 0x4d, 0x70, 0x43, 0x5b, 0xd2, 0x56, 0xaa, 0xab, 0x67,
0x2e, 0xa7, 0xe6, 0x96, 0x73, 0xde, 0x25, 0xed, 0x1b, 0x36, 0xc1, 0x26, 0xc7, 0x44, 0xa7, 0xa1,
0xe4, 0x6c, 0x59, 0xbe, 0xdd, 0xc1, 0x8d, 0xdc, 0x92, 0xb6, 0x52, 0x31, 0x8b, 0xce, 0xd6, 0xab,
0x76, 0x07, 0xa3, 0xc7, 0x61, 0xb6, 0x15, 0xcf, 0x2f, 0x10, 0xf2, 0x1c, 0x61, 0x66, 0x00, 0xe6,
0x88, 0x8b, 0x50, 0x14, 0xfc, 0x35, 0xa6, 0x97, 0xb4, 0x15, 0xdd, 0x94, 0x7f, 0xe8, 0x2c, 0x00,
0xd9, 0xb1, 0x43, 0x87, 0x58, 0x7e, 0xaf, 0xd3, 0x28, 0x2c, 0x69, 0x2b, 0x05, 0xb3, 0x22, 0x20,
0xaf, 0xf6, 0x3a, 0xc6, 0xfb, 0x1a, 0x2c, 0xac, 0x85, 0x41, 0xf7, 0x58, 0x6c, 0xc2, 0xf8, 0x95,
0x06, 0xf3, 0xb7, 0x6d, 0x72, 0x3c, 0x24, 0x7a, 0x16, 0x80, 0xba, 0x1d, 0x6c, 0x11, 0x6a, 0x77,
0xba, 0x5c, 0xaa, 0xd3, 0x66, 0x85, 0x41, 0x36, 0x19, 0xc0, 0x78, 0x0b, 0xf4, 0x1b, 0x41, 0xe0,
0x99, 0x98, 0x74, 0x03, 0x9f, 0x60, 0x74, 0x0d, 0x8a, 0x84, 0xda, 0xb4, 0x47, 0x24, 0x93, 0x0f,
0x2b, 0x99, 0xdc, 0xe4, 0x28, 0xa6, 0x44, 0x45, 0xf3, 0x50, 0xb8, 0x67, 0x7b, 0x3d, 0xc1, 0x63,
0xd9, 0x14, 0x3f, 0xc6, 0xdb, 0x30, 0xb3, 0x49, 0x43, 0xd7, 0x6f, 0x7f, 0x8e, 0x93, 0x57, 0xa2,
0xc9, 0xff, 0xa1, 0xc1, 0x43, 0x6b, 0x98, 0xb4, 0x42, 0x77, 0xeb, 0x98, 0xa8, 0xae, 0x01, 0xfa,
0x00, 0xb2, 0xbe, 0xc6, 0x45, 0x9d, 0x37, 0x53, 0xb0, 0xa1, 0xc3, 0x28, 0x0c, 0x1f, 0xc6, 0x7f,
0x72, 0xd0, 0x54, 0x6d, 0x6a, 0x12, 0xf1, 0x7d, 0x25, 0xbe, 0x51, 0x39, 0x4e, 0x74, 0x3e, 0x4d,
0x24, 0xad, 0xc1, 0x60, 0xb5, 0x4d, 0x0e, 0x88, 0x2f, 0xde, 0xf0, 0xae, 0xf2, 0x8a, 0x5d, 0xad,
0xc2, 0xc2, 0x3d, 0x37, 0xa4, 0x3d, 0xdb, 0xb3, 0x5a, 0x3b, 0xb6, 0xef, 0x63, 0x8f, 0xcb, 0x89,
0x34, 0xa6, 0x97, 0xf2, 0x2b, 0x15, 0x73, 0x4e, 0x0e, 0xde, 0x14, 0x63, 0x4c, 0x58, 0x04, 0x3d,
0x0d, 0x8b, 0xdd, 0x9d, 0x3e, 0x71, 0x5b, 0xfb, 0x88, 0x0a, 0x9c, 0x68, 0x3e, 0x1a, 0x4d, 0x51,
0x5d, 0x82, 0x53, 0x2d, 0x6e, 0xad, 0x1c, 0x8b, 0x49, 0x4d, 0x88, 0xb1, 0xc8, 0xc5, 0x58, 0x97,
0x03, 0xaf, 0x47, 0x70, 0xc6, 0x56, 0x84, 0xdc, 0xa3, 0xad, 0x04, 0x41, 0x89, 0x13, 0xcc, 0xc9,
0xc1, 0x37, 0x68, 0x2b, 0xa6, 0xe1, 0x86, 0xe4, 0x4e, 0x60, 0x3b, 0xc7, 0xc3, 0x90, 0x7c, 0xa8,
0x41, 0xc3, 0xc4, 0x1e, 0xb6, 0xc9, 0xf1, 0xd0, 0x71, 0xe3, 0xc7, 0x1a, 0x3c, 0x72, 0x0b, 0xd3,
0x84, 0xb6, 0x50, 0x9b, 0xba, 0x84, 0xba, 0x2d, 0x72, 0x94, 0x6c, 0x7d, 0xa4, 0xc1, 0xb9, 0x4c,
0xb6, 0x26, 0xb9, 0x3c, 0xcf, 0x42, 0x81, 0x7d, 0x91, 0x46, 0x6e, 0x29, 0xbf, 0x52, 0x5d, 0x5d,
0x56, 0xd2, 0xbc, 0x82, 0xfb, 0x6f, 0x32, 0x9b, 0xb4, 0x61, 0xbb, 0xa1, 0x29, 0xf0, 0x8d, 0x7f,
0x6a, 0xb0, 0xb8, 0xb9, 0x13, 0xec, 0x0d, 0x58, 0xfa, 0x22, 0x04, 0x94, 0x36, 0x27, 0xf9, 0x21,
0x73, 0x82, 0xae, 0xc2, 0x34, 0xed, 0x77, 0x31, 0xb7, 0x44, 0x33, 0xab, 0x67, 0x2f, 0x2b, 0x1e,
0x07, 0x97, 0x19, 0x93, 0xaf, 0xf7, 0xbb, 0xd8, 0xe4, 0xa8, 0xe8, 0x02, 0xd4, 0x87, 0x44, 0x1e,
0x5d, 0xc8, 0xd9, 0xb4, 0xcc, 0x89, 0xf1, 0x87, 0x1c, 0x9c, 0xde, 0xb7, 0xc5, 0x49, 0x84, 0xad,
0x5a, 0x3b, 0xa7, 0x5c, 0x1b, 0x9d, 0x87, 0x84, 0x0a, 0x58, 0xae, 0x43, 0x1a, 0xf9, 0xa5, 0xfc,
0x4a, 0xde, 0xac, 0x25, 0xec, 0x92, 0x43, 0xd0, 0x93, 0x80, 0xf6, 0x99, 0x0b, 0x61, 0x95, 0xa6,
0xcd, 0x53, 0xc3, 0xf6, 0x82, 0xdb, 0x24, 0xa5, 0xc1, 0x10, 0x22, 0x98, 0x36, 0xe7, 0x15, 0x16,
0x83, 0xa0, 0xab, 0x30, 0xef, 0xfa, 0x77, 0x71, 0x27, 0x08, 0xfb, 0x56, 0x17, 0x87, 0x2d, 0xec,
0x53, 0xbb, 0x8d, 0x49, 0xa3, 0xc8, 0x39, 0x9a, 0x8b, 0xc6, 0x36, 0x06, 0x43, 0xc6, 0x6f, 0x35,
0x58, 0x14, 0xaf, 0xae, 0x0d, 0x3b, 0xa4, 0xee, 0x51, 0x7b, 0xae, 0xf3, 0x30, 0xd3, 0x8d, 0xf8,
0x10, 0x78, 0xd3, 0x1c, 0xaf, 0x16, 0x43, 0xf9, 0x2d, 0xfb, 0x44, 0x83, 0x79, 0xf6, 0xc8, 0x3a,
0x49, 0x3c, 0xff, 0x5a, 0x83, 0xb9, 0xdb, 0x36, 0x39, 0x49, 0x2c, 0xff, 0x4e, 0xba, 0xa0, 0x98,
0xe7, 0xa3, 0x34, 0xad, 0x0c, 0x31, 0xcd, 0x74, 0xe4, 0xd5, 0x67, 0x52, 0x5c, 0x13, 0xe3, 0xf7,
0x03, 0x5f, 0x75, 0xc2, 0x38, 0xff, 0xa3, 0x06, 0x67, 0x6f, 0x61, 0x1a, 0x73, 0x7d, 0x2c, 0x7c,
0xda, 0xb8, 0xda, 0xf2, 0xa1, 0xf0, 0xc8, 0x4a, 0xe6, 0x8f, 0xc4, 0xf3, 0xbd, 0x9f, 0x83, 0x05,
0xe6, 0x16, 0x8e, 0x87, 0x12, 0x8c, 0xf3, 0x28, 0x57, 0x28, 0x4a, 0x41, 0xa5, 0x28, 0xb1, 0x3f,
0x2d, 0x8e, 0xed, 0x4f, 0x8d, 0xdf, 0xe4, 0xc4, 0x3b, 0x20, 0x29, 0x8d, 0x49, 0x8e, 0x45, 0xc1,
0x6b, 0x4e, 0xc9, 0xab, 0x01, 0x7a, 0x0c, 0x59, 0x5f, 0x8b, 0xfc, 0x63, 0x0a, 0x76, 0x6c, 0xdd,
0xe3, 0x07, 0x1a, 0x2c, 0x46, 0x61, 0xd0, 0x26, 0x6e, 0x77, 0xb0, 0x4f, 0x1f, 0x5c, 0x87, 0x86,
0x35, 0x20, 0xa7, 0xd0, 0x80, 0x33, 0x50, 0x21, 0x62, 0x9d, 0x38, 0xc2, 0x19, 0x00, 0x8c, 0x8f,
0x35, 0x38, 0xbd, 0x8f, 0x9d, 0x49, 0x0e, 0xb1, 0x01, 0x25, 0xd7, 0x77, 0xf0, 0xfd, 0x98, 0x9b,
0xe8, 0x97, 0x8d, 0x6c, 0xf5, 0x5c, 0xcf, 0x89, 0xd9, 0x88, 0x7e, 0xd1, 0x32, 0xe8, 0xd8, 0xb7,
0xb7, 0x3c, 0x6c, 0x71, 0x5c, 0xae, 0xc8, 0x65, 0xb3, 0x2a, 0x60, 0xeb, 0x0c, 0x64, 0xfc, 0x40,
0x83, 0x39, 0xa6, 0x6b, 0x92, 0x47, 0xf2, 0xc5, 0xca, 0x6c, 0x09, 0xaa, 0x09, 0x65, 0x92, 0xec,
0x26, 0x41, 0xc6, 0x2e, 0xcc, 0xa7, 0xd9, 0x99, 0x44, 0x66, 0x8f, 0x00, 0xc4, 0x27, 0x22, 0x74,
0x3e, 0x6f, 0x26, 0x20, 0xc6, 0x67, 0x1a, 0x20, 0xf1, 0xa4, 0xe2, 0xc2, 0x38, 0xe2, 0x8c, 0xcb,
0xb6, 0x8b, 0x3d, 0x27, 0x69, 0xb5, 0x2b, 0x1c, 0xc2, 0x87, 0xd7, 0x40, 0xc7, 0xf7, 0x69, 0x68,
0x5b, 0x5d, 0x3b, 0xb4, 0x3b, 0xe2, 0xf2, 0x8c, 0x65, 0x60, 0xab, 0x9c, 0x6c, 0x83, 0x53, 0x19,
0x7f, 0x66, 0x8f, 0x31, 0xa9, 0x94, 0xc7, 0x7d, 0xc7, 0x67, 0x01, 0xb8, 0xd2, 0x8a, 0xe1, 0x82,
0x18, 0xe6, 0x10, 0xee, 0xc2, 0x3e, 0xd6, 0xa0, 0xce, 0xb7, 0x20, 0xf6, 0xd3, 0x65, 0xd3, 0x0e,
0xd1, 0x68, 0x43, 0x34, 0x23, 0xae, 0xd0, 0x97, 0xa0, 0x28, 0x05, 0x9b, 0x1f, 0x57, 0xb0, 0x92,
0xe0, 0x80, 0x6d, 0x18, 0x3f, 0xd7, 0x60, 0x61, 0x48, 0xe4, 0x93, 0x68, 0xf4, 0xeb, 0x80, 0xc4,
0x0e, 0x9d, 0xc1, 0xb6, 0x23, 0x77, 0x7b, 0x5e, 0xe9, 0x5b, 0x86, 0x85, 0x64, 0x9e, 0x72, 0x87,
0x20, 0xc4, 0xf8, 0x9b, 0x06, 0x67, 0x6e, 0x61, 0xca, 0x51, 0x6f, 0x30, 0xdb, 0xb1, 0x11, 0x06,
0xed, 0x10, 0x13, 0x72, 0x72, 0xf5, 0xe3, 0x27, 0xe2, 0x7d, 0xa6, 0xda, 0xd2, 0x24, 0xf2, 0x5f,
0x06, 0x9d, 0xaf, 0x81, 0x1d, 0x2b, 0x0c, 0xf6, 0x88, 0xd4, 0xa3, 0xaa, 0x84, 0x99, 0xc1, 0x1e,
0x57, 0x08, 0x1a, 0x50, 0xdb, 0x13, 0x08, 0xd2, 0x31, 0x70, 0x08, 0x1b, 0xe6, 0x77, 0x30, 0x62,
0x8c, 0x4d, 0x8e, 0x4f, 0xae, 0x8c, 0x7f, 0xa9, 0xc1, 0xc2, 0xd0, 0x56, 0x26, 0x91, 0xed, 0x33,
0xe2, 0xf5, 0x28, 0x36, 0x33, 0xb3, 0x7a, 0x4e, 0x49, 0x93, 0x58, 0x4c, 0x60, 0xa3, 0x73, 0x50,
0xdd, 0xb6, 0x5d, 0xcf, 0x0a, 0xb1, 0x4d, 0x02, 0x5f, 0x6e, 0x14, 0x18, 0xc8, 0xe4, 0x10, 0xe3,
0x53, 0x0d, 0xea, 0x2c, 0x04, 0x3d, 0xe1, 0x16, 0xef, 0x17, 0x39, 0xa8, 0xad, 0xfb, 0x04, 0x87,
0xf4, 0xf8, 0x47, 0x18, 0xe8, 0x45, 0xa8, 0xf2, 0x8d, 0x11, 0xcb, 0xb1, 0xa9, 0x2d, 0xdd, 0xd5,
0x23, 0xca, 0x2c, 0xf2, 0xcb, 0x0c, 0x6f, 0xcd, 0xa6, 0xb6, 0x29, 0xa4, 0x43, 0xd8, 0x37, 0x7a,
0x18, 0x2a, 0x3b, 0x36, 0xd9, 0xb1, 0x76, 0x71, 0x5f, 0x3c, 0xfb, 0x6a, 0x66, 0x99, 0x01, 0x5e,
0xc1, 0x7d, 0x82, 0x1e, 0x82, 0xb2, 0xdf, 0xeb, 0x88, 0x0b, 0x56, 0x5a, 0xd2, 0x56, 0x6a, 0x66,
0xc9, 0xef, 0x75, 0xf8, 0xf5, 0xfa, 0x4b, 0x0e, 0x66, 0xee, 0xf6, 0x58, 0x3c, 0xc3, 0x73, 0xe0,
0x3d, 0x8f, 0x3e, 0x98, 0x32, 0x5e, 0x84, 0xbc, 0x78, 0x33, 0x30, 0x8a, 0x86, 0x92, 0xf1, 0xf5,
0x35, 0x62, 0x32, 0x24, 0x5e, 0x67, 0xea, 0xb5, 0x5a, 0xf2, 0x91, 0x95, 0xe7, 0xcc, 0x56, 0x18,
0x84, 0x6b, 0x1c, 0xdb, 0x0a, 0x0e, 0xc3, 0xf8, 0x09, 0xc6, 0xb7, 0x82, 0xc3, 0x50, 0x0c, 0x1a,
0xa0, 0xdb, 0xad, 0x5d, 0x3f, 0xd8, 0xf3, 0xb0, 0xd3, 0xc6, 0x0e, 0x3f, 0xf6, 0xb2, 0x99, 0x82,
0x09, 0xc5, 0x60, 0x07, 0x6f, 0xb5, 0x7c, 0xca, 0x03, 0x89, 0x3c, 0x53, 0x0c, 0x06, 0xb9, 0xe9,
0x53, 0x36, 0xec, 0x60, 0x0f, 0x53, 0xcc, 0x87, 0x4b, 0x62, 0x58, 0x40, 0xe4, 0x70, 0xaf, 0x1b,
0x53, 0x97, 0xc5, 0xb0, 0x80, 0xb0, 0xe1, 0x33, 0x50, 0x19, 0x24, 0xb9, 0x2b, 0x83, 0x6c, 0xa0,
0x48, 0x6d, 0xdf, 0x83, 0xfa, 0x86, 0x67, 0xb7, 0xf0, 0x4e, 0xe0, 0x39, 0x38, 0xe4, 0xde, 0x0f,
0xd5, 0x21, 0x4f, 0xed, 0xb6, 0x74, 0xaf, 0xec, 0x13, 0x3d, 0x27, 0x63, 0x1c, 0x71, 0x71, 0xff,
0x4f, 0xe9, 0x87, 0x12, 0xd3, 0x24, 0x52, 0x87, 0x8b, 0x50, 0xe4, 0xa5, 0x19, 0xe1, 0x78, 0x75,
0x53, 0xfe, 0x19, 0xef, 0xa4, 0xd6, 0xbd, 0x15, 0x06, 0xbd, 0x2e, 0x5a, 0x07, 0xbd, 0x3b, 0x80,
0xb1, 0xd3, 0xcc, 0xf6, 0x7a, 0xc3, 0x4c, 0x9b, 0x29, 0x52, 0xe3, 0xb3, 0x3c, 0xd4, 0x36, 0xb1,
0x1d, 0xb6, 0x76, 0x4e, 0x42, 0xb2, 0x81, 0x49, 0xdc, 0x21, 0x9e, 0x34, 0x09, 0xec, 0x13, 0x5d,
0x82, 0x53, 0x89, 0x0d, 0x59, 0x6d, 0x26, 0x20, 0xae, 0x19, 0xba, 0x59, 0xef, 0x0e, 0x0b, 0xee,
0x59, 0x28, 0x3b, 0xc4, 0xb3, 0xf8, 0x11, 0x95, 0xf8, 0x11, 0xa9, 0xf7, 0xb7, 0x46, 0x3c, 0x7e,
0x34, 0x25, 0x47, 0x7c, 0xa0, 0x47, 0xa1, 0x16, 0xf4, 0x68, 0xb7, 0x47, 0x2d, 0x71, 0x33, 0x1b,
0x65, 0xce, 0x9e, 0x2e, 0x80, 0xfc, 0xe2, 0x12, 0xf4, 0x32, 0xd4, 0x08, 0x17, 0x65, 0xf4, 0x36,
0xad, 0x8c, 0xfb, 0x84, 0xd2, 0x05, 0x9d, 0x78, 0x9c, 0xa2, 0x0b, 0x50, 0xa7, 0xa1, 0x7d, 0x0f,
0x7b, 0x89, 0xa2, 0x0b, 0x70, 0x7d, 0x9c, 0x15, 0xf0, 0x41, 0x91, 0xe6, 0x0a, 0xcc, 0xb5, 0x7b,
0x76, 0x68, 0xfb, 0x14, 0xe3, 0x04, 0x76, 0x95, 0x63, 0xa3, 0x78, 0x68, 0x50, 0xa1, 0x79, 0x05,
0xa6, 0x6f, 0xbb, 0x94, 0x0b, 0x92, 0xdd, 0x6a, 0x8d, 0x47, 0x02, 0xfc, 0xee, 0x3e, 0x04, 0xe5,
0x30, 0xd8, 0x13, 0x56, 0x2a, 0xc7, 0x55, 0xb0, 0x14, 0x06, 0x7b, 0xdc, 0x04, 0xf1, 0xb2, 0x72,
0x10, 0x4a, 0xdd, 0xcc, 0x99, 0xf2, 0xcf, 0xf8, 0xae, 0x36, 0x50, 0x1e, 0x66, 0x60, 0xc8, 0x83,
0x59, 0x98, 0x17, 0xa1, 0x14, 0x0a, 0xfa, 0x91, 0x45, 0xb6, 0xe4, 0x4a, 0xdc, 0x4a, 0x46, 0x54,
0xc6, 0x77, 0x34, 0xd0, 0x5f, 0xf6, 0x7a, 0xe4, 0x8b, 0xd0, 0x61, 0x55, 0x5a, 0x3d, 0xaf, 0x4e,
0xe9, 0xff, 0x30, 0x07, 0x35, 0xc9, 0xc6, 0x24, 0xde, 0x3f, 0x93, 0x95, 0x4d, 0xa8, 0xb2, 0x25,
0x2d, 0x82, 0xdb, 0x51, 0x4e, 0xa2, 0xba, 0xba, 0xaa, 0xbc, 0xf5, 0x29, 0x36, 0x78, 0x79, 0x72,
0x93, 0x13, 0x7d, 0xcd, 0xa7, 0x61, 0xdf, 0x84, 0x56, 0x0c, 0x68, 0xbe, 0x03, 0xb3, 0x43, 0xc3,
0x4c, 0x37, 0x76, 0x71, 0x3f, 0x32, 0x6b, 0xbb, 0xb8, 0x8f, 0x9e, 0x4e, 0x16, 0x91, 0xb3, 0xdc,
0xd7, 0x9d, 0xc0, 0x6f, 0x5f, 0x0f, 0x43, 0xbb, 0x2f, 0x8b, 0xcc, 0xcf, 0xe7, 0x9e, 0xd3, 0x8c,
0x3f, 0xe5, 0x40, 0x7f, 0xad, 0x87, 0xc3, 0xfe, 0x51, 0x9a, 0x17, 0x04, 0xd3, 0xf8, 0x7e, 0x37,
0x94, 0x0e, 0x9a, 0x7f, 0xef, 0xbf, 0xd1, 0x05, 0xc5, 0x8d, 0x56, 0xd8, 0xa5, 0xa2, 0xd2, 0x2e,
0xa9, 0xae, 0x6c, 0xe9, 0x50, 0x57, 0xb6, 0x9c, 0x79, 0x65, 0x99, 0x76, 0x4b, 0x11, 0x4e, 0x74,
0xc9, 0x52, 0xef, 0x90, 0xdc, 0x61, 0xdf, 0x21, 0xc6, 0x27, 0x1a, 0x54, 0xde, 0xc4, 0x2d, 0x1a,
0x84, 0xcc, 0x5a, 0x28, 0x64, 0xaf, 0x8d, 0xf1, 0xd4, 0xcb, 0x0d, 0x3f, 0xf5, 0xae, 0x41, 0xd9,
0x75, 0x2c, 0x9b, 0xa9, 0x0d, 0x3f, 0xbc, 0x51, 0x4f, 0x8c, 0x92, 0xeb, 0x70, 0xfd, 0x1a, 0x3f,
0x37, 0xfd, 0x53, 0x0d, 0x74, 0xc1, 0x33, 0x11, 0x94, 0x2f, 0x24, 0x96, 0xd3, 0x54, 0xba, 0x2c,
0x7f, 0xe2, 0x8d, 0xde, 0x9e, 0x1a, 0x2c, 0x7b, 0x1d, 0x80, 0xc9, 0x4e, 0x92, 0x8b, 0xab, 0xb0,
0xa4, 0xe4, 0x56, 0x90, 0x73, 0x39, 0xde, 0x9e, 0x32, 0x2b, 0x8c, 0x8a, 0x4f, 0x71, 0xa3, 0x04,
0x05, 0x4e, 0x6d, 0xfc, 0x5b, 0x83, 0xb9, 0x9b, 0xb6, 0xd7, 0x5a, 0x73, 0x09, 0xb5, 0xfd, 0xd6,
0x04, 0xb1, 0xcf, 0xf3, 0x50, 0x0a, 0xba, 0x96, 0x87, 0xb7, 0xa9, 0x64, 0x69, 0x79, 0xc4, 0x8e,
0x84, 0x18, 0xcc, 0x62, 0xd0, 0xbd, 0x83, 0xb7, 0x29, 0xfa, 0x32, 0x94, 0x83, 0xae, 0x15, 0xba,
0xed, 0x1d, 0x2a, 0xa5, 0x3f, 0x06, 0x71, 0x29, 0xe8, 0x9a, 0x8c, 0x22, 0x91, 0x2b, 0x98, 0x3e,
0x64, 0xae, 0xc0, 0xf8, 0xfb, 0xbe, 0xed, 0x4f, 0xa0, 0xda, 0xcf, 0x43, 0xd9, 0xf5, 0xa9, 0xe5,
0xb8, 0x24, 0x12, 0xc1, 0x59, 0xb5, 0x0e, 0xf9, 0x94, 0xef, 0x80, 0x9f, 0xa9, 0x4f, 0xd9, 0xda,
0xe8, 0x25, 0x80, 0x6d, 0x2f, 0xb0, 0x25, 0xb5, 0x90, 0xc1, 0x39, 0xf5, 0xad, 0x60, 0x68, 0x11,
0x7d, 0x85, 0x13, 0xb1, 0x19, 0x06, 0x47, 0xfa, 0x57, 0x0d, 0x16, 0x36, 0x70, 0x48, 0x5c, 0x42,
0xb1, 0x4f, 0x65, 0xde, 0x6e, 0xdd, 0xdf, 0x0e, 0xd2, 0x09, 0x52, 0x6d, 0x28, 0x41, 0xfa, 0xf9,
0xa4, 0x0b, 0x53, 0x91, 0x80, 0x48, 0xd3, 0x47, 0x91, 0x40, 0x54, 0x8c, 0x10, 0x91, 0xd4, 0x4c,
0xc6, 0x31, 0x49, 0x7e, 0x93, 0x01, 0xa5, 0xf1, 0x23, 0xd1, 0x18, 0xa0, 0xdc, 0xd4, 0x83, 0x2b,
0xec, 0x22, 0x48, 0x03, 0x3e, 0x64, 0xce, 0x1f, 0x83, 0x21, 0xdb, 0x91, 0xd1, 0xae, 0xf0, 0x33,
0x0d, 0x96, 0xb2, 0xb9, 0x9a, 0xc4, 0xf3, 0xbe, 0x04, 0x05, 0xd7, 0xdf, 0x0e, 0xa2, 0x34, 0xd2,
0x45, 0xf5, 0x83, 0x5a, 0xb9, 0xae, 0x20, 0x34, 0xfe, 0xa5, 0x41, 0x9d, 0xdb, 0xea, 0x23, 0x38,
0xfe, 0x0e, 0xee, 0x58, 0xc4, 0x7d, 0x17, 0x47, 0xc7, 0xdf, 0xc1, 0x9d, 0x4d, 0xf7, 0x5d, 0x9c,
0xd2, 0x8c, 0x42, 0x5a, 0x33, 0xd2, 0x81, 0x76, 0x71, 0x44, 0x9a, 0xb0, 0x94, 0x4a, 0x13, 0x1a,
0x1f, 0x6a, 0xd0, 0xbc, 0x85, 0xe9, 0xf0, 0x56, 0x8f, 0x4e, 0x29, 0x3e, 0xd2, 0xe0, 0x61, 0x25,
0x43, 0x93, 0xe8, 0xc3, 0x0b, 0x69, 0x7d, 0x50, 0x07, 0x58, 0xfb, 0x96, 0x94, 0xaa, 0x70, 0x15,
0xf4, 0xb5, 0x5e, 0xa7, 0x13, 0x3f, 0x7c, 0x96, 0x41, 0x0f, 0xc5, 0xa7, 0x88, 0x3f, 0x84, 0xbb,
0xac, 0x4a, 0x18, 0x8b, 0x32, 0x8c, 0x4b, 0x50, 0x93, 0x24, 0x92, 0xeb, 0x26, 0x94, 0x43, 0xf9,
0x2d, 0xf1, 0xe3, 0x7f, 0x63, 0x01, 0xe6, 0x4c, 0xdc, 0x66, 0x9a, 0x18, 0xde, 0x71, 0xfd, 0x5d,
0xb9, 0x8c, 0xf1, 0x9e, 0x06, 0xf3, 0x69, 0xb8, 0x9c, 0xeb, 0xff, 0xa1, 0x64, 0x3b, 0x4e, 0x88,
0x09, 0x19, 0x79, 0x2c, 0xd7, 0x05, 0x8e, 0x19, 0x21, 0x27, 0x24, 0x97, 0x1b, 0x5b, 0x72, 0x86,
0x05, 0xa7, 0x6e, 0x61, 0x7a, 0x17, 0xd3, 0x70, 0xa2, 0x3a, 0x70, 0x83, 0x45, 0x06, 0x9c, 0x58,
0xaa, 0x45, 0xf4, 0x6b, 0x7c, 0xa0, 0x01, 0x4a, 0xae, 0x30, 0xc9, 0x31, 0x27, 0xa5, 0x9c, 0x4b,
0x4b, 0x59, 0xb4, 0xca, 0x74, 0xba, 0x81, 0x8f, 0x7d, 0x9a, 0x7c, 0x62, 0xd6, 0x62, 0x28, 0x53,
0xbf, 0x8b, 0xcb, 0x50, 0x8e, 0x4a, 0x97, 0xa8, 0x04, 0xf9, 0xeb, 0x9e, 0x57, 0x9f, 0x42, 0x3a,
0x94, 0xd7, 0x65, 0x7d, 0xae, 0xae, 0x5d, 0xfc, 0x2a, 0xcc, 0x0e, 0x45, 0xfe, 0xa8, 0x0c, 0xd3,
0xaf, 0x06, 0x3e, 0xae, 0x4f, 0xa1, 0x3a, 0xe8, 0x37, 0x5c, 0xdf, 0x0e, 0xfb, 0xc2, 0xd3, 0xd6,
0x1d, 0x34, 0x0b, 0x55, 0xee, 0x71, 0x24, 0x00, 0xaf, 0x7e, 0xbb, 0x01, 0xb5, 0xbb, 0x7c, 0x33,
0x9b, 0x38, 0xbc, 0xe7, 0xb6, 0x30, 0xb2, 0xa0, 0x3e, 0xdc, 0x7c, 0x8c, 0x9e, 0x50, 0xea, 0x68,
0x46, 0x8f, 0x72, 0x73, 0x94, 0x78, 0x8c, 0x29, 0xf4, 0x36, 0xcc, 0xa4, 0xdb, 0x82, 0x91, 0xda,
0x24, 0x2a, 0x7b, 0x87, 0x0f, 0x9a, 0xdc, 0x82, 0x5a, 0xaa, 0xcb, 0x17, 0x5d, 0x50, 0xce, 0xad,
0xea, 0x04, 0x6e, 0xaa, 0x5f, 0x29, 0xc9, 0x4e, 0x5c, 0xc1, 0x7d, 0xba, 0x17, 0x31, 0x83, 0x7b,
0x65, 0xc3, 0xe2, 0x41, 0xdc, 0xdb, 0x70, 0x6a, 0x5f, 0x6b, 0x21, 0x7a, 0x52, 0x39, 0x7f, 0x56,
0x0b, 0xe2, 0x41, 0x4b, 0xec, 0x01, 0xda, 0xdf, 0xcd, 0x8a, 0x2e, 0xab, 0x4f, 0x20, 0xab, 0x97,
0xb7, 0x79, 0x65, 0x6c, 0xfc, 0x58, 0x70, 0xdf, 0xd3, 0xe0, 0x74, 0x46, 0x3f, 0x20, 0xba, 0xa6,
0x9c, 0x6e, 0x74, 0x53, 0x63, 0xf3, 0xe9, 0xc3, 0x11, 0xc5, 0x8c, 0xf8, 0x30, 0x3b, 0xd4, 0x22,
0x87, 0x2e, 0x65, 0xb6, 0x0d, 0xec, 0xef, 0x15, 0x6c, 0x3e, 0x31, 0x1e, 0x72, 0xbc, 0x1e, 0x8b,
0x85, 0xd3, 0x7d, 0x65, 0x19, 0xeb, 0xa9, 0xbb, 0xcf, 0x0e, 0x3a, 0xd0, 0xb7, 0xa0, 0x96, 0x6a,
0x00, 0xcb, 0xd0, 0x78, 0x55, 0x93, 0xd8, 0x41, 0x53, 0xbf, 0x03, 0x7a, 0xb2, 0x4f, 0x0b, 0xad,
0x64, 0xdd, 0xa5, 0x7d, 0x13, 0x1f, 0xe6, 0x2a, 0x0d, 0xda, 0x30, 0x46, 0x5c, 0xa5, 0x7d, 0x9d,
0x2b, 0xe3, 0x5f, 0xa5, 0xc4, 0xfc, 0x23, 0xaf, 0xd2, 0xa1, 0x97, 0x78, 0x4f, 0x83, 0x45, 0x75,
0x9b, 0x0f, 0x5a, 0xcd, 0xd2, 0xcd, 0xec, 0x86, 0xa6, 0xe6, 0xb5, 0x43, 0xd1, 0xc4, 0x52, 0xdc,
0x85, 0x99, 0x74, 0x33, 0x4b, 0x86, 0x14, 0x95, 0xfd, 0x3f, 0xcd, 0x4b, 0x63, 0xe1, 0xc6, 0x8b,
0xbd, 0x01, 0xd5, 0x44, 0x41, 0x1f, 0x3d, 0x3e, 0x42, 0x8f, 0x93, 0xe5, 0xa0, 0x83, 0x24, 0xb9,
0x03, 0xb5, 0x54, 0x11, 0x37, 0x4b, 0x87, 0x15, 0xb5, 0xf5, 0xe6, 0xc5, 0x71, 0x50, 0xe3, 0x0d,
0xec, 0x40, 0x2d, 0x55, 0x52, 0xcb, 0x58, 0x49, 0x55, 0x41, 0xcc, 0x58, 0x49, 0x59, 0xa1, 0x33,
0xa6, 0xd0, 0xb7, 0x12, 0xd5, 0xbb, 0x54, 0x85, 0x14, 0x5d, 0x1d, 0x39, 0x8f, 0xaa, 0x40, 0xdc,
0x5c, 0x3d, 0x0c, 0x49, 0xcc, 0xc2, 0x6b, 0x50, 0x89, 0x0b, 0x73, 0xe8, 0x7c, 0xa6, 0x59, 0x38,
0xcc, 0x49, 0x6d, 0x42, 0x51, 0x14, 0xc9, 0x90, 0x91, 0x51, 0x0e, 0x4f, 0x54, 0xd0, 0x9a, 0x8f,
0x2a, 0x71, 0xd2, 0xf5, 0x23, 0x63, 0x0a, 0x99, 0x50, 0x14, 0x69, 0xd8, 0x8c, 0x49, 0x53, 0xa5,
0x84, 0xe6, 0x68, 0x1c, 0x91, 0xbb, 0x9d, 0x42, 0x1b, 0x50, 0xe0, 0xe9, 0x4a, 0xb4, 0x3c, 0x2a,
0x95, 0x39, 0x6a, 0xc6, 0x54, 0xb6, 0xd3, 0x98, 0x42, 0x5f, 0x87, 0x02, 0x7f, 0x95, 0x67, 0xcc,
0x98, 0xcc, 0x47, 0x36, 0x47, 0xa2, 0x44, 0x2c, 0x3a, 0xa0, 0x27, 0xb3, 0x15, 0x19, 0xe6, 0x55,
0x91, 0xcf, 0x69, 0x8e, 0x83, 0x19, 0xad, 0xf2, 0x7d, 0x0d, 0x1a, 0x59, 0x81, 0x2d, 0xca, 0xf4,
0xa1, 0xa3, 0xa2, 0xf3, 0xe6, 0x33, 0x87, 0xa4, 0x8a, 0x45, 0xf8, 0x2e, 0xcc, 0x29, 0xc2, 0x29,
0x74, 0x25, 0x6b, 0xbe, 0x8c, 0x48, 0xb0, 0xf9, 0xd4, 0xf8, 0x04, 0xf1, 0xda, 0x1b, 0x50, 0xe0,
0x61, 0x50, 0xc6, 0xf1, 0x25, 0xa3, 0xaa, 0x0c, 0x85, 0x48, 0x45, 0x51, 0xc6, 0x14, 0xc2, 0xa0,
0x27, 0x63, 0xa2, 0x8c, 0xf3, 0x53, 0x84, 0x53, 0xcd, 0x0b, 0x63, 0x60, 0xc6, 0xcb, 0x58, 0x00,
0x83, 0x98, 0x04, 0x3d, 0x96, 0xb5, 0xf5, 0x74, 0x58, 0xd4, 0x7c, 0xfc, 0x40, 0xbc, 0x68, 0x81,
0xd5, 0x1e, 0xe8, 0x1b, 0x61, 0x70, 0xbf, 0x1f, 0x45, 0x00, 0xff, 0x9b, 0x7d, 0xdd, 0x78, 0xe6,
0x1b, 0xd7, 0xda, 0x2e, 0xdd, 0xe9, 0x6d, 0x31, 0x23, 0x73, 0x45, 0xe0, 0x3e, 0xe9, 0x06, 0xf2,
0xeb, 0x8a, 0xeb, 0x53, 0x1c, 0xfa, 0xb6, 0x77, 0x85, 0xcf, 0x25, 0xa1, 0xdd, 0xad, 0xad, 0x22,
0xff, 0xbf, 0xf6, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x6a, 0x17, 0x33, 0xc5, 0x65, 0x39, 0x00,
0x00,
// 3022 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x3a, 0x4b, 0x6f, 0x1c, 0xc7,
0xd1, 0x9c, 0x5d, 0xee, 0xab, 0x76, 0x96, 0x5c, 0x35, 0x1f, 0x5a, 0xaf, 0x25, 0x8b, 0x1c, 0x7f,
0xb2, 0x29, 0xc9, 0x96, 0x2c, 0xca, 0xfe, 0xec, 0xcf, 0xfe, 0x12, 0x5b, 0x12, 0x63, 0x89, 0xb0,
0xe4, 0xd0, 0x43, 0xdb, 0x80, 0x63, 0x18, 0x83, 0xe1, 0x4e, 0x73, 0x39, 0xe0, 0xec, 0xcc, 0x66,
0xba, 0x57, 0xd4, 0xfa, 0x14, 0xc0, 0x49, 0x80, 0xc0, 0x8e, 0x8d, 0x20, 0x41, 0x82, 0x5c, 0x93,
0xf8, 0x90, 0x5b, 0x9c, 0x04, 0x48, 0x90, 0x43, 0x90, 0x83, 0x0f, 0x39, 0x04, 0xc8, 0xe3, 0x90,
0x73, 0x2e, 0x39, 0xfa, 0x1f, 0x04, 0x48, 0xd0, 0x8f, 0x99, 0x9d, 0x59, 0xf6, 0x2c, 0x97, 0x5a,
0x3b, 0x24, 0x6f, 0x33, 0xd5, 0x55, 0xdd, 0x55, 0xd5, 0xd5, 0xd5, 0x55, 0x5d, 0x05, 0x7a, 0xc7,
0xf5, 0xee, 0xf5, 0xc8, 0xe5, 0x6e, 0x18, 0xd0, 0x00, 0xcd, 0x25, 0xff, 0x2e, 0x8b, 0x9f, 0xa6,
0xde, 0x0a, 0x3a, 0x9d, 0xc0, 0x17, 0xc0, 0xa6, 0x4e, 0x5a, 0x3b, 0xb8, 0x63, 0x8b, 0x3f, 0xe3,
0x53, 0x0d, 0x4e, 0xdf, 0x0c, 0xb1, 0x4d, 0xf1, 0xcd, 0xc0, 0xf3, 0x70, 0x8b, 0xba, 0x81, 0x6f,
0xe2, 0xaf, 0xf7, 0x30, 0xa1, 0xe8, 0x29, 0x98, 0xde, 0xb2, 0x09, 0x6e, 0x68, 0x4b, 0xda, 0x4a,
0x75, 0xf5, 0xcc, 0xe5, 0xd4, 0xdc, 0x72, 0xce, 0xbb, 0xa4, 0x7d, 0xc3, 0x26, 0xd8, 0xe4, 0x98,
0xe8, 0x34, 0x94, 0x9c, 0x2d, 0xcb, 0xb7, 0x3b, 0xb8, 0x91, 0x5b, 0xd2, 0x56, 0x2a, 0x66, 0xd1,
0xd9, 0x7a, 0xd5, 0xee, 0x60, 0xf4, 0x38, 0xcc, 0xb6, 0xe2, 0xf9, 0x05, 0x42, 0x9e, 0x23, 0xcc,
0x0c, 0xc0, 0x1c, 0x71, 0x11, 0x8a, 0x82, 0xbf, 0xc6, 0xf4, 0x92, 0xb6, 0xa2, 0x9b, 0xf2, 0x0f,
0x9d, 0x05, 0x20, 0x3b, 0x76, 0xe8, 0x10, 0xcb, 0xef, 0x75, 0x1a, 0x85, 0x25, 0x6d, 0xa5, 0x60,
0x56, 0x04, 0xe4, 0xd5, 0x5e, 0xc7, 0x78, 0x5f, 0x83, 0x85, 0xb5, 0x30, 0xe8, 0x1e, 0x0b, 0x21,
0x8c, 0x9f, 0x6b, 0x30, 0x7f, 0xdb, 0x26, 0xc7, 0x43, 0xa3, 0x67, 0x01, 0xa8, 0xdb, 0xc1, 0x16,
0xa1, 0x76, 0xa7, 0xcb, 0xb5, 0x3a, 0x6d, 0x56, 0x18, 0x64, 0x93, 0x01, 0x8c, 0xb7, 0x40, 0xbf,
0x11, 0x04, 0x9e, 0x89, 0x49, 0x37, 0xf0, 0x09, 0x46, 0xd7, 0xa0, 0x48, 0xa8, 0x4d, 0x7b, 0x44,
0x32, 0xf9, 0xb0, 0x92, 0xc9, 0x4d, 0x8e, 0x62, 0x4a, 0x54, 0x34, 0x0f, 0x85, 0x7b, 0xb6, 0xd7,
0x13, 0x3c, 0x96, 0x4d, 0xf1, 0x63, 0xbc, 0x0d, 0x33, 0x9b, 0x34, 0x74, 0xfd, 0xf6, 0xe7, 0x38,
0x79, 0x25, 0x9a, 0xfc, 0x6f, 0x1a, 0x3c, 0xb4, 0x86, 0x49, 0x2b, 0x74, 0xb7, 0x8e, 0x89, 0xe9,
0x1a, 0xa0, 0x0f, 0x20, 0xeb, 0x6b, 0x5c, 0xd5, 0x79, 0x33, 0x05, 0x1b, 0xda, 0x8c, 0xc2, 0xf0,
0x66, 0xfc, 0x3b, 0x07, 0x4d, 0x95, 0x50, 0x93, 0xa8, 0xef, 0x4b, 0xf1, 0x89, 0xca, 0x71, 0xa2,
0xf3, 0x69, 0x22, 0xe9, 0x0d, 0x06, 0xab, 0x6d, 0x72, 0x40, 0x7c, 0xf0, 0x86, 0xa5, 0xca, 0x2b,
0xa4, 0x5a, 0x85, 0x85, 0x7b, 0x6e, 0x48, 0x7b, 0xb6, 0x67, 0xb5, 0x76, 0x6c, 0xdf, 0xc7, 0x1e,
0xd7, 0x13, 0x69, 0x4c, 0x2f, 0xe5, 0x57, 0x2a, 0xe6, 0x9c, 0x1c, 0xbc, 0x29, 0xc6, 0x98, 0xb2,
0x08, 0x7a, 0x1a, 0x16, 0xbb, 0x3b, 0x7d, 0xe2, 0xb6, 0xf6, 0x11, 0x15, 0x38, 0xd1, 0x7c, 0x34,
0x9a, 0xa2, 0xba, 0x04, 0xa7, 0x5a, 0xdc, 0x5b, 0x39, 0x16, 0xd3, 0x9a, 0x50, 0x63, 0x91, 0xab,
0xb1, 0x2e, 0x07, 0x5e, 0x8f, 0xe0, 0x8c, 0xad, 0x08, 0xb9, 0x47, 0x5b, 0x09, 0x82, 0x12, 0x27,
0x98, 0x93, 0x83, 0x6f, 0xd0, 0x56, 0x4c, 0xc3, 0x1d, 0xc9, 0x9d, 0xc0, 0x76, 0x8e, 0x87, 0x23,
0xf9, 0x50, 0x83, 0x86, 0x89, 0x3d, 0x6c, 0x93, 0xe3, 0x61, 0xe3, 0xc6, 0x0f, 0x34, 0x78, 0xe4,
0x16, 0xa6, 0x09, 0x6b, 0xa1, 0x36, 0x75, 0x09, 0x75, 0x5b, 0xe4, 0x28, 0xd9, 0xfa, 0x48, 0x83,
0x73, 0x99, 0x6c, 0x4d, 0x72, 0x78, 0x9e, 0x85, 0x02, 0xfb, 0x22, 0x8d, 0xdc, 0x52, 0x7e, 0xa5,
0xba, 0xba, 0xac, 0xa4, 0x79, 0x05, 0xf7, 0xdf, 0x64, 0x3e, 0x69, 0xc3, 0x76, 0x43, 0x53, 0xe0,
0x1b, 0xff, 0xd0, 0x60, 0x71, 0x73, 0x27, 0xd8, 0x1b, 0xb0, 0xf4, 0x45, 0x28, 0x28, 0xed, 0x4e,
0xf2, 0x43, 0xee, 0x04, 0x5d, 0x85, 0x69, 0xda, 0xef, 0x62, 0xee, 0x89, 0x66, 0x56, 0xcf, 0x5e,
0x56, 0x04, 0x07, 0x97, 0x19, 0x93, 0xaf, 0xf7, 0xbb, 0xd8, 0xe4, 0xa8, 0xe8, 0x02, 0xd4, 0x87,
0x54, 0x1e, 0x1d, 0xc8, 0xd9, 0xb4, 0xce, 0x89, 0xf1, 0xdb, 0x1c, 0x9c, 0xde, 0x27, 0xe2, 0x24,
0xca, 0x56, 0xad, 0x9d, 0x53, 0xae, 0x8d, 0xce, 0x43, 0xc2, 0x04, 0x2c, 0xd7, 0x21, 0x8d, 0xfc,
0x52, 0x7e, 0x25, 0x6f, 0xd6, 0x12, 0x7e, 0xc9, 0x21, 0xe8, 0x49, 0x40, 0xfb, 0xdc, 0x85, 0xf0,
0x4a, 0xd3, 0xe6, 0xa9, 0x61, 0x7f, 0xc1, 0x7d, 0x92, 0xd2, 0x61, 0x08, 0x15, 0x4c, 0x9b, 0xf3,
0x0a, 0x8f, 0x41, 0xd0, 0x55, 0x98, 0x77, 0xfd, 0xbb, 0xb8, 0x13, 0x84, 0x7d, 0xab, 0x8b, 0xc3,
0x16, 0xf6, 0xa9, 0xdd, 0xc6, 0xa4, 0x51, 0xe4, 0x1c, 0xcd, 0x45, 0x63, 0x1b, 0x83, 0x21, 0xe3,
0x57, 0x1a, 0x2c, 0x8a, 0xa8, 0x6b, 0xc3, 0x0e, 0xa9, 0x7b, 0xd4, 0x37, 0xd7, 0x79, 0x98, 0xe9,
0x46, 0x7c, 0x08, 0xbc, 0x69, 0x8e, 0x57, 0x8b, 0xa1, 0xfc, 0x94, 0x7d, 0xa2, 0xc1, 0x3c, 0x0b,
0xb2, 0x4e, 0x12, 0xcf, 0xbf, 0xd0, 0x60, 0xee, 0xb6, 0x4d, 0x4e, 0x12, 0xcb, 0xbf, 0x96, 0x57,
0x50, 0xcc, 0xf3, 0x51, 0xba, 0x56, 0x86, 0x98, 0x66, 0x3a, 0xba, 0xd5, 0x67, 0x52, 0x5c, 0x13,
0xe3, 0x37, 0x83, 0xbb, 0xea, 0x84, 0x71, 0xfe, 0x3b, 0x0d, 0xce, 0xde, 0xc2, 0x34, 0xe6, 0xfa,
0x58, 0xdc, 0x69, 0xe3, 0x5a, 0xcb, 0x87, 0xe2, 0x46, 0x56, 0x32, 0x7f, 0x24, 0x37, 0xdf, 0xfb,
0x39, 0x58, 0x60, 0xd7, 0xc2, 0xf1, 0x30, 0x82, 0x71, 0x82, 0x72, 0x85, 0xa1, 0x14, 0x54, 0x86,
0x12, 0xdf, 0xa7, 0xc5, 0xb1, 0xef, 0x53, 0xe3, 0x97, 0x39, 0x11, 0x07, 0x24, 0xb5, 0x31, 0xc9,
0xb6, 0x28, 0x78, 0xcd, 0x29, 0x79, 0x35, 0x40, 0x8f, 0x21, 0xeb, 0x6b, 0xd1, 0xfd, 0x98, 0x82,
0x1d, 0xdb, 0xeb, 0xf1, 0x03, 0x0d, 0x16, 0xa3, 0x34, 0x68, 0x13, 0xb7, 0x3b, 0xd8, 0xa7, 0x0f,
0x6e, 0x43, 0xc3, 0x16, 0x90, 0x53, 0x58, 0xc0, 0x19, 0xa8, 0x10, 0xb1, 0x4e, 0x9c, 0xe1, 0x0c,
0x00, 0xc6, 0xc7, 0x1a, 0x9c, 0xde, 0xc7, 0xce, 0x24, 0x9b, 0xd8, 0x80, 0x92, 0xeb, 0x3b, 0xf8,
0x7e, 0xcc, 0x4d, 0xf4, 0xcb, 0x46, 0xb6, 0x7a, 0xae, 0xe7, 0xc4, 0x6c, 0x44, 0xbf, 0x68, 0x19,
0x74, 0xec, 0xdb, 0x5b, 0x1e, 0xb6, 0x38, 0x2e, 0x37, 0xe4, 0xb2, 0x59, 0x15, 0xb0, 0x75, 0x06,
0x32, 0xbe, 0xab, 0xc1, 0x1c, 0xb3, 0x35, 0xc9, 0x23, 0xf9, 0x62, 0x75, 0xb6, 0x04, 0xd5, 0x84,
0x31, 0x49, 0x76, 0x93, 0x20, 0x63, 0x17, 0xe6, 0xd3, 0xec, 0x4c, 0xa2, 0xb3, 0x47, 0x00, 0xe2,
0x1d, 0x11, 0x36, 0x9f, 0x37, 0x13, 0x10, 0xe3, 0x33, 0x0d, 0x90, 0x08, 0xa9, 0xb8, 0x32, 0x8e,
0xf8, 0xc5, 0x65, 0xdb, 0xc5, 0x9e, 0x93, 0xf4, 0xda, 0x15, 0x0e, 0xe1, 0xc3, 0x6b, 0xa0, 0xe3,
0xfb, 0x34, 0xb4, 0xad, 0xae, 0x1d, 0xda, 0x1d, 0x71, 0x78, 0xc6, 0x72, 0xb0, 0x55, 0x4e, 0xb6,
0xc1, 0xa9, 0x8c, 0x3f, 0xb2, 0x60, 0x4c, 0x1a, 0xe5, 0x71, 0x97, 0xf8, 0x2c, 0x00, 0x37, 0x5a,
0x31, 0x5c, 0x10, 0xc3, 0x1c, 0xc2, 0xaf, 0xb0, 0x8f, 0x35, 0xa8, 0x73, 0x11, 0x84, 0x3c, 0x5d,
0x36, 0xed, 0x10, 0x8d, 0x36, 0x44, 0x33, 0xe2, 0x08, 0xfd, 0x1f, 0x14, 0xa5, 0x62, 0xf3, 0xe3,
0x2a, 0x56, 0x12, 0x1c, 0x20, 0x86, 0xf1, 0x13, 0x0d, 0x16, 0x86, 0x54, 0x3e, 0x89, 0x45, 0xbf,
0x0e, 0x48, 0x48, 0xe8, 0x0c, 0xc4, 0x8e, 0xae, 0xdb, 0xf3, 0xca, 0xbb, 0x65, 0x58, 0x49, 0xe6,
0x29, 0x77, 0x08, 0x42, 0x8c, 0xbf, 0x68, 0x70, 0xe6, 0x16, 0xa6, 0x1c, 0xf5, 0x06, 0xf3, 0x1d,
0x1b, 0x61, 0xd0, 0x0e, 0x31, 0x21, 0x27, 0xd7, 0x3e, 0x7e, 0x28, 0xe2, 0x33, 0x95, 0x48, 0x93,
0xe8, 0x7f, 0x19, 0x74, 0xbe, 0x06, 0x76, 0xac, 0x30, 0xd8, 0x23, 0xd2, 0x8e, 0xaa, 0x12, 0x66,
0x06, 0x7b, 0xdc, 0x20, 0x68, 0x40, 0x6d, 0x4f, 0x20, 0xc8, 0x8b, 0x81, 0x43, 0xd8, 0x30, 0x3f,
0x83, 0x11, 0x63, 0x6c, 0x72, 0x7c, 0x72, 0x75, 0xfc, 0x33, 0x0d, 0x16, 0x86, 0x44, 0x99, 0x44,
0xb7, 0xcf, 0x88, 0xe8, 0x51, 0x08, 0x33, 0xb3, 0x7a, 0x4e, 0x49, 0x93, 0x58, 0x4c, 0x60, 0xa3,
0x73, 0x50, 0xdd, 0xb6, 0x5d, 0xcf, 0x0a, 0xb1, 0x4d, 0x02, 0x5f, 0x0a, 0x0a, 0x0c, 0x64, 0x72,
0x88, 0xf1, 0xa9, 0x06, 0x75, 0x96, 0x82, 0x9e, 0x70, 0x8f, 0xf7, 0xd3, 0x1c, 0xd4, 0xd6, 0x7d,
0x82, 0x43, 0x7a, 0xfc, 0x33, 0x0c, 0xf4, 0x22, 0x54, 0xb9, 0x60, 0xc4, 0x72, 0x6c, 0x6a, 0xcb,
0xeb, 0xea, 0x11, 0xe5, 0x2b, 0xf2, 0xcb, 0x0c, 0x6f, 0xcd, 0xa6, 0xb6, 0x29, 0xb4, 0x43, 0xd8,
0x37, 0x7a, 0x18, 0x2a, 0x3b, 0x36, 0xd9, 0xb1, 0x76, 0x71, 0x5f, 0x84, 0x7d, 0x35, 0xb3, 0xcc,
0x00, 0xaf, 0xe0, 0x3e, 0x41, 0x0f, 0x41, 0xd9, 0xef, 0x75, 0xc4, 0x01, 0x2b, 0x2d, 0x69, 0x2b,
0x35, 0xb3, 0xe4, 0xf7, 0x3a, 0xfc, 0x78, 0xfd, 0x29, 0x07, 0x33, 0x77, 0x7b, 0x2c, 0x9f, 0xe1,
0x6f, 0xe0, 0x3d, 0x8f, 0x3e, 0x98, 0x31, 0x5e, 0x84, 0xbc, 0x88, 0x19, 0x18, 0x45, 0x43, 0xc9,
0xf8, 0xfa, 0x1a, 0x31, 0x19, 0x12, 0xaf, 0x33, 0xf5, 0x5a, 0x2d, 0x19, 0x64, 0xe5, 0x39, 0xb3,
0x15, 0x06, 0xe1, 0x16, 0xc7, 0x44, 0xc1, 0x61, 0x18, 0x87, 0x60, 0x5c, 0x14, 0x1c, 0x86, 0x62,
0xd0, 0x00, 0xdd, 0x6e, 0xed, 0xfa, 0xc1, 0x9e, 0x87, 0x9d, 0x36, 0x76, 0xf8, 0xb6, 0x97, 0xcd,
0x14, 0x4c, 0x18, 0x06, 0xdb, 0x78, 0xab, 0xe5, 0x53, 0x9e, 0x48, 0xe4, 0x99, 0x61, 0x30, 0xc8,
0x4d, 0x9f, 0xb2, 0x61, 0x07, 0x7b, 0x98, 0x62, 0x3e, 0x5c, 0x12, 0xc3, 0x02, 0x22, 0x87, 0x7b,
0xdd, 0x98, 0xba, 0x2c, 0x86, 0x05, 0x84, 0x0d, 0x9f, 0x81, 0xca, 0xe0, 0x91, 0xbb, 0x32, 0x78,
0x0d, 0x14, 0x4f, 0xdb, 0xbf, 0xd7, 0xa0, 0xb6, 0xc6, 0xa7, 0x3a, 0x01, 0x46, 0x87, 0x60, 0x1a,
0xdf, 0xef, 0x86, 0xf2, 0xe8, 0xf0, 0x6f, 0xe3, 0x1e, 0xd4, 0x37, 0x3c, 0xbb, 0x85, 0x77, 0x02,
0xcf, 0xc1, 0x21, 0xbf, 0xbe, 0x51, 0x1d, 0xf2, 0xd4, 0x6e, 0xcb, 0xf8, 0x80, 0x7d, 0xa2, 0xe7,
0x64, 0x92, 0x26, 0x3c, 0xcf, 0xff, 0x28, 0x2f, 0xd2, 0xc4, 0x34, 0x89, 0xb7, 0xcf, 0x45, 0x28,
0xf2, 0xda, 0x92, 0x88, 0x1c, 0x74, 0x53, 0xfe, 0x19, 0xef, 0xa4, 0xd6, 0xbd, 0x15, 0x06, 0xbd,
0x2e, 0x5a, 0x07, 0xbd, 0x3b, 0x80, 0x31, 0x73, 0xcc, 0xbe, 0xb6, 0x87, 0x99, 0x36, 0x53, 0xa4,
0xc6, 0x67, 0x79, 0xa8, 0x6d, 0x62, 0x3b, 0x6c, 0xed, 0x9c, 0x84, 0xd7, 0x12, 0xa6, 0x71, 0x87,
0x78, 0x72, 0x63, 0xd8, 0x27, 0xba, 0x04, 0xa7, 0x12, 0x02, 0x59, 0x6d, 0xa6, 0x20, 0x6e, 0xda,
0xba, 0x59, 0xef, 0x0e, 0x2b, 0xee, 0x59, 0x28, 0x3b, 0xc4, 0xb3, 0xf8, 0x16, 0x95, 0xf8, 0x16,
0xa9, 0xe5, 0x5b, 0x23, 0x1e, 0xdf, 0x9a, 0x92, 0x23, 0x3e, 0xd0, 0xa3, 0x50, 0x0b, 0x7a, 0xb4,
0xdb, 0xa3, 0x96, 0x70, 0x2d, 0x8d, 0x32, 0x67, 0x4f, 0x17, 0x40, 0xee, 0x79, 0x08, 0x7a, 0x19,
0x6a, 0x84, 0xab, 0x32, 0x0a, 0xae, 0x2b, 0xe3, 0xc6, 0x80, 0xba, 0xa0, 0x13, 0xd1, 0x35, 0xba,
0x00, 0x75, 0x1a, 0xda, 0xf7, 0xb0, 0x97, 0xa8, 0x1a, 0x01, 0x3f, 0x50, 0xb3, 0x02, 0x3e, 0xa8,
0x32, 0x5d, 0x81, 0xb9, 0x76, 0xcf, 0x0e, 0x6d, 0x9f, 0x62, 0x9c, 0xc0, 0xae, 0x72, 0x6c, 0x14,
0x0f, 0x0d, 0x4a, 0x4c, 0xaf, 0xc0, 0xf4, 0x6d, 0x97, 0x72, 0x45, 0x32, 0xb7, 0xa4, 0xf1, 0x54,
0x86, 0x3b, 0x9f, 0x87, 0xa0, 0x1c, 0x06, 0x7b, 0xc2, 0xcd, 0xe6, 0xb8, 0x09, 0x96, 0xc2, 0x60,
0x8f, 0xfb, 0x50, 0x5e, 0x17, 0x0f, 0x42, 0x69, 0x9b, 0x39, 0x53, 0xfe, 0x19, 0xdf, 0xd2, 0x06,
0xc6, 0xc3, 0x3c, 0x24, 0x79, 0x30, 0x17, 0xf9, 0x22, 0x94, 0x42, 0x41, 0x3f, 0xb2, 0x4a, 0x98,
0x5c, 0x89, 0xbb, 0xf9, 0x88, 0xca, 0xf8, 0xa6, 0x06, 0xfa, 0xcb, 0x5e, 0x8f, 0x7c, 0x11, 0x36,
0xac, 0xaa, 0x0b, 0xe4, 0xd5, 0x35, 0x89, 0xef, 0xe5, 0xa0, 0x26, 0xd9, 0x98, 0x24, 0x7c, 0xc9,
0x64, 0x65, 0x13, 0xaa, 0x6c, 0x49, 0x8b, 0xe0, 0x76, 0xf4, 0xa8, 0x52, 0x5d, 0x5d, 0x55, 0x9e,
0xfa, 0x14, 0x1b, 0xbc, 0xbe, 0xba, 0xc9, 0x89, 0xbe, 0xe2, 0xd3, 0xb0, 0x6f, 0x42, 0x2b, 0x06,
0x34, 0xdf, 0x81, 0xd9, 0xa1, 0x61, 0x66, 0x1b, 0xbb, 0xb8, 0x1f, 0xb9, 0xb5, 0x5d, 0xdc, 0x47,
0x4f, 0x27, 0xab, 0xe0, 0x59, 0xf7, 0xef, 0x9d, 0xc0, 0x6f, 0x5f, 0x0f, 0x43, 0xbb, 0x2f, 0xab,
0xe4, 0xcf, 0xe7, 0x9e, 0xd3, 0x8c, 0x3f, 0xe4, 0x40, 0x7f, 0xad, 0x87, 0xc3, 0xfe, 0x51, 0xba,
0x97, 0xc8, 0x9f, 0x4f, 0x0f, 0xfc, 0xf9, 0xfe, 0x13, 0x5d, 0x50, 0x9c, 0x68, 0x85, 0x5f, 0x2a,
0x2a, 0xfd, 0x92, 0xea, 0xc8, 0x96, 0x0e, 0x75, 0x64, 0xcb, 0x99, 0x47, 0x96, 0x59, 0xb7, 0x54,
0xe1, 0x44, 0x87, 0x2c, 0x15, 0x48, 0xe5, 0x0e, 0x1b, 0x48, 0x19, 0x9f, 0x68, 0x50, 0x79, 0x13,
0xb7, 0x68, 0x10, 0x32, 0x6f, 0xa1, 0xd0, 0xbd, 0x36, 0x46, 0xac, 0x9a, 0x1b, 0x8e, 0x55, 0xaf,
0x41, 0xd9, 0x75, 0x2c, 0x9b, 0x99, 0x0d, 0xdf, 0xbc, 0x51, 0x31, 0x52, 0xc9, 0x75, 0xb8, 0x7d,
0x8d, 0xff, 0xb8, 0xfe, 0x23, 0x0d, 0x74, 0xc1, 0x33, 0x11, 0x94, 0x2f, 0x24, 0x96, 0xd3, 0x54,
0xb6, 0x2c, 0x7f, 0x62, 0x41, 0x6f, 0x4f, 0x0d, 0x96, 0xbd, 0x0e, 0xc0, 0x74, 0x27, 0xc9, 0xc5,
0x51, 0x58, 0x52, 0x72, 0x2b, 0xc8, 0xb9, 0x1e, 0x6f, 0x4f, 0x99, 0x15, 0x46, 0xc5, 0xa7, 0xb8,
0x51, 0x82, 0x02, 0xa7, 0x36, 0xfe, 0xa5, 0xc1, 0xdc, 0x4d, 0xdb, 0x6b, 0xad, 0xb9, 0x84, 0xda,
0x7e, 0x6b, 0x82, 0xa8, 0xe8, 0x79, 0x28, 0x05, 0x5d, 0xcb, 0xc3, 0xdb, 0x54, 0xb2, 0xb4, 0x3c,
0x42, 0x22, 0xa1, 0x06, 0xb3, 0x18, 0x74, 0xef, 0xe0, 0x6d, 0x8a, 0xfe, 0x1f, 0xca, 0x41, 0xd7,
0x0a, 0xdd, 0xf6, 0x0e, 0x95, 0xda, 0x1f, 0x83, 0xb8, 0x14, 0x74, 0x4d, 0x46, 0x91, 0x78, 0xec,
0x98, 0x3e, 0xe4, 0x63, 0x87, 0xf1, 0xd7, 0x7d, 0xe2, 0x4f, 0x60, 0xda, 0xcf, 0x43, 0xd9, 0xf5,
0xa9, 0xe5, 0xb8, 0x24, 0x52, 0xc1, 0x59, 0xb5, 0x0d, 0xf9, 0x94, 0x4b, 0xc0, 0xf7, 0xd4, 0xa7,
0x6c, 0x6d, 0xf4, 0x12, 0xc0, 0xb6, 0x17, 0xd8, 0x92, 0x5a, 0xe8, 0xe0, 0x9c, 0xfa, 0x54, 0x30,
0xb4, 0x88, 0xbe, 0xc2, 0x89, 0xd8, 0x0c, 0x83, 0x2d, 0xfd, 0xb3, 0x06, 0x0b, 0x1b, 0x38, 0x24,
0x2e, 0xa1, 0xd8, 0xa7, 0xf2, 0xe1, 0x71, 0xdd, 0xdf, 0x0e, 0xd2, 0x2f, 0xbc, 0xda, 0xd0, 0x0b,
0xef, 0xe7, 0xf3, 0xde, 0x99, 0x4a, 0x65, 0x44, 0x9d, 0x21, 0x4a, 0x65, 0xa2, 0x6a, 0x8a, 0x48,
0x05, 0x67, 0x32, 0xb6, 0x49, 0xf2, 0x9b, 0xcc, 0x88, 0x8d, 0xef, 0x8b, 0xce, 0x06, 0xa5, 0x50,
0x0f, 0x6e, 0xb0, 0x8b, 0x20, 0x1d, 0xf8, 0x90, 0x3b, 0x7f, 0x0c, 0x86, 0x7c, 0x47, 0x46, 0xbf,
0xc5, 0x8f, 0x35, 0x58, 0xca, 0xe6, 0x6a, 0x92, 0x9b, 0xf7, 0x25, 0x28, 0xb8, 0xfe, 0x76, 0x10,
0xbd, 0x83, 0x5d, 0x54, 0x07, 0xd4, 0xca, 0x75, 0x05, 0xa1, 0xf1, 0x4f, 0x0d, 0xea, 0xdc, 0x57,
0x1f, 0xc1, 0xf6, 0x77, 0x70, 0xc7, 0x22, 0xee, 0xbb, 0x38, 0xda, 0xfe, 0x0e, 0xee, 0x6c, 0xba,
0xef, 0xe2, 0x94, 0x65, 0x14, 0xd2, 0x96, 0x91, 0x7e, 0x29, 0x28, 0x8e, 0x78, 0xe7, 0x2c, 0xa5,
0xde, 0x39, 0x8d, 0x0f, 0x35, 0x68, 0xde, 0xc2, 0x74, 0x58, 0xd4, 0xa3, 0x33, 0x8a, 0x8f, 0x34,
0x78, 0x58, 0xc9, 0xd0, 0x24, 0xf6, 0xf0, 0x42, 0xda, 0x1e, 0xd4, 0x09, 0xd6, 0xbe, 0x25, 0xa5,
0x29, 0x5c, 0x05, 0x7d, 0xad, 0xd7, 0xe9, 0xc4, 0x81, 0xcf, 0x32, 0xe8, 0xa1, 0xf8, 0x14, 0xf9,
0x87, 0xb8, 0x2e, 0xab, 0x12, 0xc6, 0xb2, 0x0c, 0xe3, 0x12, 0xd4, 0x24, 0x89, 0xe4, 0xba, 0x09,
0xe5, 0x50, 0x7e, 0x4b, 0xfc, 0xf8, 0xdf, 0x58, 0x80, 0x39, 0x13, 0xb7, 0x99, 0x25, 0x86, 0x77,
0x5c, 0x7f, 0x57, 0x2e, 0x63, 0xbc, 0xa7, 0xc1, 0x7c, 0x1a, 0x2e, 0xe7, 0xfa, 0x5f, 0x28, 0xd9,
0x8e, 0x13, 0x62, 0x42, 0x46, 0x6e, 0xcb, 0x75, 0x81, 0x63, 0x46, 0xc8, 0x09, 0xcd, 0xe5, 0xc6,
0xd6, 0x9c, 0x61, 0xc1, 0xa9, 0x5b, 0x98, 0xde, 0xc5, 0x34, 0x9c, 0xa8, 0x90, 0xdd, 0x60, 0x99,
0x01, 0x27, 0x96, 0x66, 0x11, 0xfd, 0x1a, 0x1f, 0x68, 0x80, 0x92, 0x2b, 0x4c, 0xb2, 0xcd, 0x49,
0x2d, 0xe7, 0xd2, 0x5a, 0x16, 0xbd, 0x3e, 0x9d, 0x6e, 0xe0, 0x63, 0x9f, 0x26, 0x43, 0xcc, 0x5a,
0x0c, 0x65, 0xe6, 0x77, 0x71, 0x19, 0xca, 0x51, 0xed, 0x15, 0x95, 0x20, 0x7f, 0xdd, 0xf3, 0xea,
0x53, 0x48, 0x87, 0xf2, 0xba, 0x2c, 0x30, 0xd6, 0xb5, 0x8b, 0x5f, 0x86, 0xd9, 0xa1, 0xcc, 0x1f,
0x95, 0x61, 0xfa, 0xd5, 0xc0, 0xc7, 0xf5, 0x29, 0x54, 0x07, 0xfd, 0x86, 0xeb, 0xdb, 0x61, 0x5f,
0xdc, 0xb4, 0x75, 0x07, 0xcd, 0x42, 0x95, 0xdf, 0x38, 0x12, 0x80, 0x57, 0xff, 0xde, 0x80, 0xda,
0x5d, 0x2e, 0xcc, 0x26, 0x0e, 0xef, 0xb9, 0x2d, 0x8c, 0x2c, 0xa8, 0x0f, 0x77, 0x4f, 0xa3, 0x27,
0x94, 0x36, 0x9a, 0xd1, 0x64, 0xdd, 0x1c, 0xa5, 0x1e, 0x63, 0x0a, 0xbd, 0x0d, 0x33, 0xe9, 0xbe,
0x66, 0xa4, 0x76, 0x89, 0xca, 0xe6, 0xe7, 0x83, 0x26, 0xb7, 0xa0, 0x96, 0x6a, 0x53, 0x46, 0x17,
0x94, 0x73, 0xab, 0x5a, 0x99, 0x9b, 0xea, 0x28, 0x25, 0xd9, 0x4a, 0x2c, 0xb8, 0x4f, 0x37, 0x53,
0x66, 0x70, 0xaf, 0xec, 0xb8, 0x3c, 0x88, 0x7b, 0x1b, 0x4e, 0xed, 0xeb, 0x8d, 0x44, 0x4f, 0x2a,
0xe7, 0xcf, 0xea, 0xa1, 0x3c, 0x68, 0x89, 0x3d, 0x40, 0xfb, 0xdb, 0x71, 0xd1, 0x65, 0xf5, 0x0e,
0x64, 0x35, 0x23, 0x37, 0xaf, 0x8c, 0x8d, 0x1f, 0x2b, 0xee, 0xdb, 0x1a, 0x9c, 0xce, 0x68, 0x68,
0x44, 0xd7, 0x94, 0xd3, 0x8d, 0xee, 0xca, 0x6c, 0x3e, 0x7d, 0x38, 0xa2, 0x98, 0x11, 0x1f, 0x66,
0x87, 0x7a, 0xfc, 0xd0, 0xa5, 0xcc, 0xbe, 0x87, 0xfd, 0xcd, 0x8e, 0xcd, 0x27, 0xc6, 0x43, 0x8e,
0xd7, 0x63, 0xb9, 0x70, 0xba, 0x31, 0x2e, 0x63, 0x3d, 0x75, 0xfb, 0xdc, 0x41, 0x1b, 0xfa, 0x16,
0xd4, 0x52, 0x1d, 0x6c, 0x19, 0x16, 0xaf, 0xea, 0x72, 0x3b, 0x68, 0xea, 0x77, 0x40, 0x4f, 0x36,
0x9a, 0xa1, 0x95, 0xac, 0xb3, 0xb4, 0x6f, 0xe2, 0xc3, 0x1c, 0xa5, 0x41, 0x1f, 0xc9, 0x88, 0xa3,
0xb4, 0xaf, 0xf5, 0x66, 0xfc, 0xa3, 0x94, 0x98, 0x7f, 0xe4, 0x51, 0x3a, 0xf4, 0x12, 0xef, 0x69,
0xb0, 0xa8, 0xee, 0x53, 0x42, 0xab, 0x59, 0xb6, 0x99, 0xdd, 0x91, 0xd5, 0xbc, 0x76, 0x28, 0x9a,
0x58, 0x8b, 0xbb, 0x30, 0x93, 0xee, 0xc6, 0xc9, 0xd0, 0xa2, 0xb2, 0x81, 0xa9, 0x79, 0x69, 0x2c,
0xdc, 0x78, 0xb1, 0x37, 0xa0, 0x9a, 0xe8, 0x48, 0x40, 0x8f, 0x8f, 0xb0, 0xe3, 0x64, 0x3d, 0xeb,
0x20, 0x4d, 0xee, 0x40, 0x2d, 0x55, 0x85, 0xce, 0xb2, 0x61, 0x45, 0x73, 0x40, 0xf3, 0xe2, 0x38,
0xa8, 0xb1, 0x00, 0x3b, 0x50, 0x4b, 0xd5, 0x04, 0x33, 0x56, 0x52, 0x95, 0x40, 0x33, 0x56, 0x52,
0x96, 0x18, 0x8d, 0x29, 0xf4, 0x8d, 0x44, 0xf9, 0x31, 0x55, 0xe2, 0x45, 0x57, 0x47, 0xce, 0xa3,
0xaa, 0x70, 0x37, 0x57, 0x0f, 0x43, 0x12, 0xb3, 0xf0, 0x1a, 0x54, 0xe2, 0xca, 0x22, 0x3a, 0x9f,
0xe9, 0x16, 0x0e, 0xb3, 0x53, 0x9b, 0x50, 0x14, 0x55, 0x3e, 0x64, 0x64, 0xd4, 0xf3, 0x13, 0x25,
0xc0, 0xe6, 0xa3, 0x4a, 0x9c, 0x74, 0x01, 0x4c, 0x4c, 0x2a, 0xaa, 0x38, 0x19, 0x93, 0xa6, 0x4a,
0x3c, 0xe3, 0x4e, 0x6a, 0x42, 0x51, 0xbc, 0xed, 0x66, 0x4c, 0x9a, 0xaa, 0x4f, 0x34, 0x47, 0xe3,
0x88, 0x07, 0xe1, 0x29, 0xb4, 0x01, 0x05, 0xfe, 0x06, 0x8a, 0x96, 0x47, 0xbd, 0x8f, 0x8e, 0x9a,
0x31, 0xf5, 0x84, 0x6a, 0x4c, 0xa1, 0xaf, 0x42, 0x81, 0x87, 0xfa, 0x19, 0x33, 0x26, 0x1f, 0x39,
0x9b, 0x23, 0x51, 0x22, 0x16, 0x1d, 0xd0, 0x93, 0x4f, 0x20, 0x19, 0x3e, 0x5b, 0xf1, 0x48, 0xd4,
0x1c, 0x07, 0x33, 0x5a, 0xe5, 0x3b, 0x1a, 0x34, 0xb2, 0xb2, 0x65, 0x94, 0x79, 0x31, 0x8f, 0x4a,
0xf9, 0x9b, 0xcf, 0x1c, 0x92, 0x2a, 0x56, 0xe1, 0xbb, 0x30, 0xa7, 0xc8, 0xd1, 0xd0, 0x95, 0xac,
0xf9, 0x32, 0xd2, 0xcb, 0xe6, 0x53, 0xe3, 0x13, 0xc4, 0x6b, 0x6f, 0x40, 0x81, 0xe7, 0x56, 0x19,
0xdb, 0x97, 0x4c, 0xd5, 0x32, 0x0c, 0x22, 0x95, 0x9a, 0x19, 0x53, 0x08, 0x83, 0x9e, 0x4c, 0xb4,
0x32, 0xf6, 0x4f, 0x91, 0xa3, 0x35, 0x2f, 0x8c, 0x81, 0x19, 0x2f, 0x63, 0x01, 0x0c, 0x12, 0x1d,
0xf4, 0x58, 0x96, 0xe8, 0xe9, 0x5c, 0xab, 0xf9, 0xf8, 0x81, 0x78, 0xd1, 0x02, 0xab, 0x3d, 0xd0,
0x37, 0xc2, 0xe0, 0x7e, 0x3f, 0x4a, 0x2b, 0xfe, 0x3b, 0x72, 0xdd, 0x78, 0xe6, 0x6b, 0xd7, 0xda,
0x2e, 0xdd, 0xe9, 0x6d, 0x31, 0xcf, 0x75, 0x45, 0xe0, 0x3e, 0xe9, 0x06, 0xf2, 0xeb, 0x8a, 0xeb,
0x53, 0x1c, 0xfa, 0xb6, 0x77, 0x85, 0xcf, 0x25, 0xa1, 0xdd, 0xad, 0xad, 0x22, 0xff, 0xbf, 0xf6,
0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x88, 0x7a, 0xa8, 0xfc, 0x7b, 0x3a, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.
@ -4231,6 +4304,7 @@ type MilvusServiceClient interface {
GetIndexBuildProgress(ctx context.Context, in *GetIndexBuildProgressRequest, opts ...grpc.CallOption) (*GetIndexBuildProgressResponse, error)
DropIndex(ctx context.Context, in *DropIndexRequest, opts ...grpc.CallOption) (*commonpb.Status, error)
Insert(ctx context.Context, in *InsertRequest, opts ...grpc.CallOption) (*MutationResult, error)
Delete(ctx context.Context, in *DeleteRequest, opts ...grpc.CallOption) (*MutationResult, error)
Search(ctx context.Context, in *SearchRequest, opts ...grpc.CallOption) (*SearchResults, error)
Flush(ctx context.Context, in *FlushRequest, opts ...grpc.CallOption) (*FlushResponse, error)
Query(ctx context.Context, in *QueryRequest, opts ...grpc.CallOption) (*QueryResults, error)
@ -4441,6 +4515,15 @@ func (c *milvusServiceClient) Insert(ctx context.Context, in *InsertRequest, opt
return out, nil
}
func (c *milvusServiceClient) Delete(ctx context.Context, in *DeleteRequest, opts ...grpc.CallOption) (*MutationResult, error) {
out := new(MutationResult)
err := c.cc.Invoke(ctx, "/milvus.proto.milvus.MilvusService/Delete", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *milvusServiceClient) Search(ctx context.Context, in *SearchRequest, opts ...grpc.CallOption) (*SearchResults, error) {
out := new(SearchResults)
err := c.cc.Invoke(ctx, "/milvus.proto.milvus.MilvusService/Search", in, out, opts...)
@ -4545,6 +4628,7 @@ type MilvusServiceServer interface {
GetIndexBuildProgress(context.Context, *GetIndexBuildProgressRequest) (*GetIndexBuildProgressResponse, error)
DropIndex(context.Context, *DropIndexRequest) (*commonpb.Status, error)
Insert(context.Context, *InsertRequest) (*MutationResult, error)
Delete(context.Context, *DeleteRequest) (*MutationResult, error)
Search(context.Context, *SearchRequest) (*SearchResults, error)
Flush(context.Context, *FlushRequest) (*FlushResponse, error)
Query(context.Context, *QueryRequest) (*QueryResults, error)
@ -4625,6 +4709,9 @@ func (*UnimplementedMilvusServiceServer) DropIndex(ctx context.Context, req *Dro
func (*UnimplementedMilvusServiceServer) Insert(ctx context.Context, req *InsertRequest) (*MutationResult, error) {
return nil, status.Errorf(codes.Unimplemented, "method Insert not implemented")
}
func (*UnimplementedMilvusServiceServer) Delete(ctx context.Context, req *DeleteRequest) (*MutationResult, error) {
return nil, status.Errorf(codes.Unimplemented, "method Delete not implemented")
}
func (*UnimplementedMilvusServiceServer) Search(ctx context.Context, req *SearchRequest) (*SearchResults, error) {
return nil, status.Errorf(codes.Unimplemented, "method Search not implemented")
}
@ -5035,6 +5122,24 @@ func _MilvusService_Insert_Handler(srv interface{}, ctx context.Context, dec fun
return interceptor(ctx, in, info, handler)
}
func _MilvusService_Delete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(DeleteRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(MilvusServiceServer).Delete(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/milvus.proto.milvus.MilvusService/Delete",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(MilvusServiceServer).Delete(ctx, req.(*DeleteRequest))
}
return interceptor(ctx, in, info, handler)
}
func _MilvusService_Search_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(SearchRequest)
if err := dec(in); err != nil {
@ -5285,6 +5390,10 @@ var _MilvusService_serviceDesc = grpc.ServiceDesc{
MethodName: "Insert",
Handler: _MilvusService_Insert_Handler,
},
{
MethodName: "Delete",
Handler: _MilvusService_Delete_Handler,
},
{
MethodName: "Search",
Handler: _MilvusService_Search_Handler,

View File

@ -1240,6 +1240,62 @@ func (node *Proxy) Insert(ctx context.Context, request *milvuspb.InsertRequest)
return it.result, nil
}
func (node *Proxy) Delete(ctx context.Context, request *milvuspb.DeleteRequest) (*milvuspb.MutationResult, error) {
if !node.checkHealthy() {
return &milvuspb.MutationResult{
Status: unhealthyStatus(),
}, nil
}
dt := &DeleteTask{
ctx: ctx,
Condition: NewTaskCondition(ctx),
DeleteRequest: request,
}
err := node.sched.DmQueue.Enqueue(dt)
if err != nil {
return &milvuspb.MutationResult{
Status: &commonpb.Status{
ErrorCode: commonpb.ErrorCode_UnexpectedError,
Reason: err.Error(),
},
}, nil
}
log.Debug("Delete",
zap.String("role", Params.RoleName),
zap.Int64("msgID", dt.Base.MsgID),
zap.Uint64("timestamp", dt.Base.Timestamp),
zap.String("db", request.DbName),
zap.String("collection", request.CollectionName),
zap.String("partition", request.PartitionName),
zap.String("expr", request.Expr))
defer func() {
log.Debug("Delete Done",
zap.Error(err),
zap.String("role", Params.RoleName),
zap.Int64("msgID", dt.Base.MsgID),
zap.Uint64("timestamp", dt.Base.Timestamp),
zap.String("db", request.DbName),
zap.String("collection", request.CollectionName),
zap.String("partition", request.PartitionName),
zap.String("expr", request.Expr))
}()
err = dt.WaitToFinish()
if err != nil {
return &milvuspb.MutationResult{
Status: &commonpb.Status{
ErrorCode: commonpb.ErrorCode_UnexpectedError,
Reason: err.Error(),
},
}, nil
}
return dt.result, nil
}
func (node *Proxy) Search(ctx context.Context, request *milvuspb.SearchRequest) (*milvuspb.SearchResults, error) {
if !node.checkHealthy() {
return &milvuspb.SearchResults{

View File

@ -4537,3 +4537,72 @@ func (rpt *ReleasePartitionTask) Execute(ctx context.Context) (err error) {
func (rpt *ReleasePartitionTask) PostExecute(ctx context.Context) error {
return nil
}
type DeleteTask struct {
Condition
*milvuspb.DeleteRequest
ctx context.Context
result *milvuspb.MutationResult
}
func (dt *DeleteTask) TraceCtx() context.Context {
return dt.ctx
}
func (dt *DeleteTask) ID() UniqueID {
return dt.Base.MsgID
}
func (dt *DeleteTask) SetID(uid UniqueID) {
dt.Base.MsgID = uid
}
func (dt *DeleteTask) Type() commonpb.MsgType {
return dt.Base.MsgType
}
func (dt *DeleteTask) Name() string {
return ReleasePartitionTaskName
}
func (dt *DeleteTask) BeginTs() Timestamp {
return dt.Base.Timestamp
}
func (dt *DeleteTask) EndTs() Timestamp {
return dt.Base.Timestamp
}
func (dt *DeleteTask) SetTs(ts Timestamp) {
dt.Base.Timestamp = ts
}
func (dt *DeleteTask) OnEnqueue() error {
dt.Base = &commonpb.MsgBase{}
return nil
}
func (dt *DeleteTask) PreExecute(ctx context.Context) error {
dt.Base.MsgType = commonpb.MsgType_ReleasePartitions
dt.Base.SourceID = Params.ProxyID
collName := dt.CollectionName
if err := ValidateCollectionName(collName); err != nil {
return err
}
partitionTag := dt.PartitionName
if err := ValidatePartitionTag(partitionTag, true); err != nil {
return err
}
return nil
}
func (dt *DeleteTask) Execute(ctx context.Context) (err error) {
return nil
}
func (dt *DeleteTask) PostExecute(ctx context.Context) error {
return nil
}