From 1309abd85c435c5491db069ab2feeb12a1424b1d Mon Sep 17 00:00:00 2001 From: Tobias Schottdorf Date: Tue, 13 Aug 2019 00:33:38 +0200 Subject: [PATCH] storage: rework AdminChangeReplicas for atomic membership changes Following the plan laid out in #39485, this adds API support for general replication changes to `AdminChangeReplicasRequest`. `(*DB).AtomicChangeReplicas` will now accept an arbitrary set of additions/removals, though only on paper - the changes will be executed individually. The compatibility story is straightforward since this request is never persisted. We simply populate both the deprecated and the new field (and it isn't safe to emit "mixed" changes until all nodes run 19.2 and it's not worth plumbing a setting around), and in 20.1 we remove the old fields. A maybe-snag is that as a result, there are a few months left in this release in which folks may accidentally mix additions and removals in a replica change without proper version gating. This wasn't deemed very likely; to mitigate we could add in-memory state on the request that fires a panic whenever the changeType changes. Release note: None --- c-deps/libroach/protos/roachpb/api.pb.cc | 353 ++- c-deps/libroach/protos/roachpb/api.pb.h | 455 +++- pkg/internal/client/batch.go | 11 +- pkg/internal/client/db.go | 5 +- pkg/roachpb/api.go | 43 + pkg/roachpb/api.pb.go | 2254 +++++++++-------- pkg/roachpb/api.proto | 22 +- .../client_atomic_membership_change_test.go | 59 + pkg/storage/client_merge_test.go | 12 +- pkg/storage/client_replica_test.go | 9 +- pkg/storage/client_test.go | 12 +- pkg/storage/replica.go | 4 +- pkg/storage/replica_command.go | 16 +- pkg/testutils/testcluster/testcluster.go | 2 +- 14 files changed, 2089 insertions(+), 1168 deletions(-) create mode 100644 pkg/storage/client_atomic_membership_change_test.go diff --git a/c-deps/libroach/protos/roachpb/api.pb.cc b/c-deps/libroach/protos/roachpb/api.pb.cc index 1728b5ae37c5..9784f24a9f5e 100644 --- a/c-deps/libroach/protos/roachpb/api.pb.cc +++ b/c-deps/libroach/protos/roachpb/api.pb.cc @@ -72,6 +72,7 @@ extern PROTOBUF_INTERNAL_EXPORT_protobuf_roachpb_2fapi_2eproto ::google::protobu extern PROTOBUF_INTERNAL_EXPORT_protobuf_roachpb_2fapi_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_RefreshRangeResponse; extern PROTOBUF_INTERNAL_EXPORT_protobuf_roachpb_2fapi_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_RefreshRequest; extern PROTOBUF_INTERNAL_EXPORT_protobuf_roachpb_2fapi_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_RefreshResponse; +extern PROTOBUF_INTERNAL_EXPORT_protobuf_roachpb_2fapi_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_ReplicationChange; extern PROTOBUF_INTERNAL_EXPORT_protobuf_roachpb_2fapi_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_RequestLeaseResponse; extern PROTOBUF_INTERNAL_EXPORT_protobuf_roachpb_2fapi_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_ResolveIntentRangeResponse; extern PROTOBUF_INTERNAL_EXPORT_protobuf_roachpb_2fapi_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_ResolveIntentResponse; @@ -114,7 +115,6 @@ extern PROTOBUF_INTERNAL_EXPORT_protobuf_roachpb_2fapi_2eproto ::google::protobu extern PROTOBUF_INTERNAL_EXPORT_protobuf_roachpb_2fapi_2eproto ::google::protobuf::internal::SCCInfo<2> scc_info_SubsumeRequest; extern PROTOBUF_INTERNAL_EXPORT_protobuf_roachpb_2fapi_2eproto ::google::protobuf::internal::SCCInfo<2> scc_info_TransferLeaseRequest; extern PROTOBUF_INTERNAL_EXPORT_protobuf_roachpb_2fapi_2eproto ::google::protobuf::internal::SCCInfo<2> scc_info_WriteBatchRequest; -extern PROTOBUF_INTERNAL_EXPORT_protobuf_roachpb_2fapi_2eproto ::google::protobuf::internal::SCCInfo<3> scc_info_AdminChangeReplicasRequest; extern PROTOBUF_INTERNAL_EXPORT_protobuf_roachpb_2fapi_2eproto ::google::protobuf::internal::SCCInfo<3> scc_info_ExportResponse; extern PROTOBUF_INTERNAL_EXPORT_protobuf_roachpb_2fapi_2eproto ::google::protobuf::internal::SCCInfo<3> scc_info_GCRequest; extern PROTOBUF_INTERNAL_EXPORT_protobuf_roachpb_2fapi_2eproto ::google::protobuf::internal::SCCInfo<3> scc_info_RequestLeaseRequest; @@ -123,6 +123,7 @@ extern PROTOBUF_INTERNAL_EXPORT_protobuf_roachpb_2fapi_2eproto ::google::protobu extern PROTOBUF_INTERNAL_EXPORT_protobuf_roachpb_2fapi_2eproto ::google::protobuf::internal::SCCInfo<3> scc_info_SubsumeResponse; extern PROTOBUF_INTERNAL_EXPORT_protobuf_roachpb_2fapi_2eproto ::google::protobuf::internal::SCCInfo<43> scc_info_ResponseUnion; extern PROTOBUF_INTERNAL_EXPORT_protobuf_roachpb_2fapi_2eproto ::google::protobuf::internal::SCCInfo<44> scc_info_RequestUnion; +extern PROTOBUF_INTERNAL_EXPORT_protobuf_roachpb_2fapi_2eproto ::google::protobuf::internal::SCCInfo<4> scc_info_AdminChangeReplicasRequest; extern PROTOBUF_INTERNAL_EXPORT_protobuf_roachpb_2fapi_2eproto ::google::protobuf::internal::SCCInfo<4> scc_info_BatchResponse_Header; extern PROTOBUF_INTERNAL_EXPORT_protobuf_roachpb_2fapi_2eproto ::google::protobuf::internal::SCCInfo<4> scc_info_ExportRequest; extern PROTOBUF_INTERNAL_EXPORT_protobuf_roachpb_2fapi_2eproto ::google::protobuf::internal::SCCInfo<4> scc_info_Header; @@ -378,6 +379,11 @@ class AdminTransferLeaseResponseDefaultTypeInternal { ::google::protobuf::internal::ExplicitlyConstructed _instance; } _AdminTransferLeaseResponse_default_instance_; +class ReplicationChangeDefaultTypeInternal { + public: + ::google::protobuf::internal::ExplicitlyConstructed + _instance; +} _ReplicationChange_default_instance_; class AdminChangeReplicasRequestDefaultTypeInternal { public: ::google::protobuf::internal::ExplicitlyConstructed @@ -1498,6 +1504,21 @@ ::google::protobuf::internal::SCCInfo<1> scc_info_AdminTransferLeaseResponse = {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsAdminTransferLeaseResponse}, { &protobuf_roachpb_2fapi_2eproto::scc_info_ResponseHeader.base,}}; +static void InitDefaultsReplicationChange() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::cockroach::roachpb::_ReplicationChange_default_instance_; + new (ptr) ::cockroach::roachpb::ReplicationChange(); + ::google::protobuf::internal::OnShutdownDestroyMessage(ptr); + } + ::cockroach::roachpb::ReplicationChange::InitAsDefaultInstance(); +} + +::google::protobuf::internal::SCCInfo<1> scc_info_ReplicationChange = + {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsReplicationChange}, { + &protobuf_roachpb_2fmetadata_2eproto::scc_info_ReplicationTarget.base,}}; + static void InitDefaultsAdminChangeReplicasRequest() { GOOGLE_PROTOBUF_VERIFY_VERSION; @@ -1509,11 +1530,12 @@ static void InitDefaultsAdminChangeReplicasRequest() { ::cockroach::roachpb::AdminChangeReplicasRequest::InitAsDefaultInstance(); } -::google::protobuf::internal::SCCInfo<3> scc_info_AdminChangeReplicasRequest = - {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 3, InitDefaultsAdminChangeReplicasRequest}, { +::google::protobuf::internal::SCCInfo<4> scc_info_AdminChangeReplicasRequest = + {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 4, InitDefaultsAdminChangeReplicasRequest}, { &protobuf_roachpb_2fapi_2eproto::scc_info_RequestHeader.base, &protobuf_roachpb_2fmetadata_2eproto::scc_info_ReplicationTarget.base, - &protobuf_roachpb_2fmetadata_2eproto::scc_info_RangeDescriptor.base,}}; + &protobuf_roachpb_2fmetadata_2eproto::scc_info_RangeDescriptor.base, + &protobuf_roachpb_2fapi_2eproto::scc_info_ReplicationChange.base,}}; static void InitDefaultsAdminChangeReplicasResponse() { GOOGLE_PROTOBUF_VERIFY_VERSION; @@ -2787,6 +2809,7 @@ void InitDefaults() { ::google::protobuf::internal::InitSCC(&scc_info_AdminMergeResponse.base); ::google::protobuf::internal::InitSCC(&scc_info_AdminTransferLeaseRequest.base); ::google::protobuf::internal::InitSCC(&scc_info_AdminTransferLeaseResponse.base); + ::google::protobuf::internal::InitSCC(&scc_info_ReplicationChange.base); ::google::protobuf::internal::InitSCC(&scc_info_AdminChangeReplicasRequest.base); ::google::protobuf::internal::InitSCC(&scc_info_AdminChangeReplicasResponse.base); ::google::protobuf::internal::InitSCC(&scc_info_AdminRelocateRangeRequest.base); @@ -13108,6 +13131,235 @@ ::std::string AdminTransferLeaseResponse::GetTypeName() const { } +// =================================================================== + +void ReplicationChange::InitAsDefaultInstance() { + ::cockroach::roachpb::_ReplicationChange_default_instance_._instance.get_mutable()->target_ = const_cast< ::cockroach::roachpb::ReplicationTarget*>( + ::cockroach::roachpb::ReplicationTarget::internal_default_instance()); +} +void ReplicationChange::clear_target() { + if (GetArenaNoVirtual() == NULL && target_ != NULL) { + delete target_; + } + target_ = NULL; +} +#if !defined(_MSC_VER) || _MSC_VER >= 1900 +const int ReplicationChange::kChangeTypeFieldNumber; +const int ReplicationChange::kTargetFieldNumber; +#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 + +ReplicationChange::ReplicationChange() + : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) { + ::google::protobuf::internal::InitSCC( + &protobuf_roachpb_2fapi_2eproto::scc_info_ReplicationChange.base); + SharedCtor(); + // @@protoc_insertion_point(constructor:cockroach.roachpb.ReplicationChange) +} +ReplicationChange::ReplicationChange(const ReplicationChange& from) + : ::google::protobuf::MessageLite(), + _internal_metadata_(NULL) { + _internal_metadata_.MergeFrom(from._internal_metadata_); + if (from.has_target()) { + target_ = new ::cockroach::roachpb::ReplicationTarget(*from.target_); + } else { + target_ = NULL; + } + change_type_ = from.change_type_; + // @@protoc_insertion_point(copy_constructor:cockroach.roachpb.ReplicationChange) +} + +void ReplicationChange::SharedCtor() { + ::memset(&target_, 0, static_cast( + reinterpret_cast(&change_type_) - + reinterpret_cast(&target_)) + sizeof(change_type_)); +} + +ReplicationChange::~ReplicationChange() { + // @@protoc_insertion_point(destructor:cockroach.roachpb.ReplicationChange) + SharedDtor(); +} + +void ReplicationChange::SharedDtor() { + if (this != internal_default_instance()) delete target_; +} + +void ReplicationChange::SetCachedSize(int size) const { + _cached_size_.Set(size); +} +const ReplicationChange& ReplicationChange::default_instance() { + ::google::protobuf::internal::InitSCC(&protobuf_roachpb_2fapi_2eproto::scc_info_ReplicationChange.base); + return *internal_default_instance(); +} + + +void ReplicationChange::Clear() { +// @@protoc_insertion_point(message_clear_start:cockroach.roachpb.ReplicationChange) + ::google::protobuf::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + if (GetArenaNoVirtual() == NULL && target_ != NULL) { + delete target_; + } + target_ = NULL; + change_type_ = 0; + _internal_metadata_.Clear(); +} + +bool ReplicationChange::MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) { +#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure + ::google::protobuf::uint32 tag; + ::google::protobuf::internal::LiteUnknownFieldSetter unknown_fields_setter( + &_internal_metadata_); + ::google::protobuf::io::StringOutputStream unknown_fields_output( + unknown_fields_setter.buffer()); + ::google::protobuf::io::CodedOutputStream unknown_fields_stream( + &unknown_fields_output, false); + // @@protoc_insertion_point(parse_start:cockroach.roachpb.ReplicationChange) + for (;;) { + ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); + tag = p.first; + if (!p.second) goto handle_unusual; + switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { + // .cockroach.roachpb.ReplicaChangeType change_type = 1; + case 1: { + if (static_cast< ::google::protobuf::uint8>(tag) == + static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) { + int value; + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>( + input, &value))); + set_change_type(static_cast< ::cockroach::roachpb::ReplicaChangeType >(value)); + } else { + goto handle_unusual; + } + break; + } + + case 2: { + if (static_cast< ::google::protobuf::uint8>(tag) == + static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( + input, mutable_target())); + } else { + goto handle_unusual; + } + break; + } + + default: { + handle_unusual: + if (tag == 0) { + goto success; + } + DO_(::google::protobuf::internal::WireFormatLite::SkipField( + input, tag, &unknown_fields_stream)); + break; + } + } + } +success: + // @@protoc_insertion_point(parse_success:cockroach.roachpb.ReplicationChange) + return true; +failure: + // @@protoc_insertion_point(parse_failure:cockroach.roachpb.ReplicationChange) + return false; +#undef DO_ +} + +void ReplicationChange::SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const { + // @@protoc_insertion_point(serialize_start:cockroach.roachpb.ReplicationChange) + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // .cockroach.roachpb.ReplicaChangeType change_type = 1; + if (this->change_type() != 0) { + ::google::protobuf::internal::WireFormatLite::WriteEnum( + 1, this->change_type(), output); + } + + if (this->has_target()) { + ::google::protobuf::internal::WireFormatLite::WriteMessage( + 2, this->_internal_target(), output); + } + + output->WriteRaw((::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()).data(), + static_cast((::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()).size())); + // @@protoc_insertion_point(serialize_end:cockroach.roachpb.ReplicationChange) +} + +size_t ReplicationChange::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:cockroach.roachpb.ReplicationChange) + size_t total_size = 0; + + total_size += (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()).size(); + + if (this->has_target()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize( + *target_); + } + + // .cockroach.roachpb.ReplicaChangeType change_type = 1; + if (this->change_type() != 0) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::EnumSize(this->change_type()); + } + + int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); + SetCachedSize(cached_size); + return total_size; +} + +void ReplicationChange::CheckTypeAndMergeFrom( + const ::google::protobuf::MessageLite& from) { + MergeFrom(*::google::protobuf::down_cast(&from)); +} + +void ReplicationChange::MergeFrom(const ReplicationChange& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:cockroach.roachpb.ReplicationChange) + GOOGLE_DCHECK_NE(&from, this); + _internal_metadata_.MergeFrom(from._internal_metadata_); + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (from.has_target()) { + mutable_target()->::cockroach::roachpb::ReplicationTarget::MergeFrom(from.target()); + } + if (from.change_type() != 0) { + set_change_type(from.change_type()); + } +} + +void ReplicationChange::CopyFrom(const ReplicationChange& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:cockroach.roachpb.ReplicationChange) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool ReplicationChange::IsInitialized() const { + return true; +} + +void ReplicationChange::Swap(ReplicationChange* other) { + if (other == this) return; + InternalSwap(other); +} +void ReplicationChange::InternalSwap(ReplicationChange* other) { + using std::swap; + swap(target_, other->target_); + swap(change_type_, other->change_type_); + _internal_metadata_.Swap(&other->_internal_metadata_); +} + +::std::string ReplicationChange::GetTypeName() const { + return "cockroach.roachpb.ReplicationChange"; +} + + // =================================================================== void AdminChangeReplicasRequest::InitAsDefaultInstance() { @@ -13116,8 +13368,8 @@ void AdminChangeReplicasRequest::InitAsDefaultInstance() { ::cockroach::roachpb::_AdminChangeReplicasRequest_default_instance_._instance.get_mutable()->exp_desc_ = const_cast< ::cockroach::roachpb::RangeDescriptor*>( ::cockroach::roachpb::RangeDescriptor::internal_default_instance()); } -void AdminChangeReplicasRequest::clear_targets() { - targets_.Clear(); +void AdminChangeReplicasRequest::clear_deprecated_targets() { + deprecated_targets_.Clear(); } void AdminChangeReplicasRequest::clear_exp_desc() { if (GetArenaNoVirtual() == NULL && exp_desc_ != NULL) { @@ -13127,9 +13379,10 @@ void AdminChangeReplicasRequest::clear_exp_desc() { } #if !defined(_MSC_VER) || _MSC_VER >= 1900 const int AdminChangeReplicasRequest::kHeaderFieldNumber; -const int AdminChangeReplicasRequest::kChangeTypeFieldNumber; -const int AdminChangeReplicasRequest::kTargetsFieldNumber; +const int AdminChangeReplicasRequest::kDeprecatedChangeTypeFieldNumber; +const int AdminChangeReplicasRequest::kDeprecatedTargetsFieldNumber; const int AdminChangeReplicasRequest::kExpDescFieldNumber; +const int AdminChangeReplicasRequest::kInternalChangesFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 AdminChangeReplicasRequest::AdminChangeReplicasRequest() @@ -13142,7 +13395,8 @@ AdminChangeReplicasRequest::AdminChangeReplicasRequest() AdminChangeReplicasRequest::AdminChangeReplicasRequest(const AdminChangeReplicasRequest& from) : ::google::protobuf::MessageLite(), _internal_metadata_(NULL), - targets_(from.targets_) { + deprecated_targets_(from.deprecated_targets_), + internal_changes_(from.internal_changes_) { _internal_metadata_.MergeFrom(from._internal_metadata_); if (from.has_header()) { header_ = new ::cockroach::roachpb::RequestHeader(*from.header_); @@ -13154,14 +13408,14 @@ AdminChangeReplicasRequest::AdminChangeReplicasRequest(const AdminChangeReplicas } else { exp_desc_ = NULL; } - change_type_ = from.change_type_; + deprecated_change_type_ = from.deprecated_change_type_; // @@protoc_insertion_point(copy_constructor:cockroach.roachpb.AdminChangeReplicasRequest) } void AdminChangeReplicasRequest::SharedCtor() { ::memset(&header_, 0, static_cast( - reinterpret_cast(&change_type_) - - reinterpret_cast(&header_)) + sizeof(change_type_)); + reinterpret_cast(&deprecated_change_type_) - + reinterpret_cast(&header_)) + sizeof(deprecated_change_type_)); } AdminChangeReplicasRequest::~AdminChangeReplicasRequest() { @@ -13189,7 +13443,8 @@ void AdminChangeReplicasRequest::Clear() { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - targets_.Clear(); + deprecated_targets_.Clear(); + internal_changes_.Clear(); if (GetArenaNoVirtual() == NULL && header_ != NULL) { delete header_; } @@ -13198,7 +13453,7 @@ void AdminChangeReplicasRequest::Clear() { delete exp_desc_; } exp_desc_ = NULL; - change_type_ = 0; + deprecated_change_type_ = 0; _internal_metadata_.Clear(); } @@ -13229,7 +13484,7 @@ bool AdminChangeReplicasRequest::MergePartialFromCodedStream( break; } - // .cockroach.roachpb.ReplicaChangeType change_type = 2; + // .cockroach.roachpb.ReplicaChangeType deprecated_change_type = 2; case 2: { if (static_cast< ::google::protobuf::uint8>(tag) == static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) { @@ -13237,7 +13492,7 @@ bool AdminChangeReplicasRequest::MergePartialFromCodedStream( DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>( input, &value))); - set_change_type(static_cast< ::cockroach::roachpb::ReplicaChangeType >(value)); + set_deprecated_change_type(static_cast< ::cockroach::roachpb::ReplicaChangeType >(value)); } else { goto handle_unusual; } @@ -13248,7 +13503,7 @@ bool AdminChangeReplicasRequest::MergePartialFromCodedStream( if (static_cast< ::google::protobuf::uint8>(tag) == static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) { DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( - input, add_targets())); + input, add_deprecated_targets())); } else { goto handle_unusual; } @@ -13266,6 +13521,17 @@ bool AdminChangeReplicasRequest::MergePartialFromCodedStream( break; } + case 5: { + if (static_cast< ::google::protobuf::uint8>(tag) == + static_cast< ::google::protobuf::uint8>(42u /* 42 & 0xFF */)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( + input, add_internal_changes())); + } else { + goto handle_unusual; + } + break; + } + default: { handle_unusual: if (tag == 0) { @@ -13297,17 +13563,17 @@ void AdminChangeReplicasRequest::SerializeWithCachedSizes( 1, this->_internal_header(), output); } - // .cockroach.roachpb.ReplicaChangeType change_type = 2; - if (this->change_type() != 0) { + // .cockroach.roachpb.ReplicaChangeType deprecated_change_type = 2; + if (this->deprecated_change_type() != 0) { ::google::protobuf::internal::WireFormatLite::WriteEnum( - 2, this->change_type(), output); + 2, this->deprecated_change_type(), output); } for (unsigned int i = 0, - n = static_cast(this->targets_size()); i < n; i++) { + n = static_cast(this->deprecated_targets_size()); i < n; i++) { ::google::protobuf::internal::WireFormatLite::WriteMessage( 3, - this->targets(static_cast(i)), + this->deprecated_targets(static_cast(i)), output); } @@ -13316,6 +13582,14 @@ void AdminChangeReplicasRequest::SerializeWithCachedSizes( 4, this->_internal_exp_desc(), output); } + for (unsigned int i = 0, + n = static_cast(this->internal_changes_size()); i < n; i++) { + ::google::protobuf::internal::WireFormatLite::WriteMessage( + 5, + this->internal_changes(static_cast(i)), + output); + } + output->WriteRaw((::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()).data(), static_cast((::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()).size())); // @@protoc_insertion_point(serialize_end:cockroach.roachpb.AdminChangeReplicasRequest) @@ -13328,12 +13602,22 @@ size_t AdminChangeReplicasRequest::ByteSizeLong() const { total_size += (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()).size(); { - unsigned int count = static_cast(this->targets_size()); + unsigned int count = static_cast(this->deprecated_targets_size()); total_size += 1UL * count; for (unsigned int i = 0; i < count; i++) { total_size += ::google::protobuf::internal::WireFormatLite::MessageSize( - this->targets(static_cast(i))); + this->deprecated_targets(static_cast(i))); + } + } + + { + unsigned int count = static_cast(this->internal_changes_size()); + total_size += 1UL * count; + for (unsigned int i = 0; i < count; i++) { + total_size += + ::google::protobuf::internal::WireFormatLite::MessageSize( + this->internal_changes(static_cast(i))); } } @@ -13349,10 +13633,10 @@ size_t AdminChangeReplicasRequest::ByteSizeLong() const { *exp_desc_); } - // .cockroach.roachpb.ReplicaChangeType change_type = 2; - if (this->change_type() != 0) { + // .cockroach.roachpb.ReplicaChangeType deprecated_change_type = 2; + if (this->deprecated_change_type() != 0) { total_size += 1 + - ::google::protobuf::internal::WireFormatLite::EnumSize(this->change_type()); + ::google::protobuf::internal::WireFormatLite::EnumSize(this->deprecated_change_type()); } int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); @@ -13372,15 +13656,16 @@ void AdminChangeReplicasRequest::MergeFrom(const AdminChangeReplicasRequest& fro ::google::protobuf::uint32 cached_has_bits = 0; (void) cached_has_bits; - targets_.MergeFrom(from.targets_); + deprecated_targets_.MergeFrom(from.deprecated_targets_); + internal_changes_.MergeFrom(from.internal_changes_); if (from.has_header()) { mutable_header()->::cockroach::roachpb::RequestHeader::MergeFrom(from.header()); } if (from.has_exp_desc()) { mutable_exp_desc()->::cockroach::roachpb::RangeDescriptor::MergeFrom(from.exp_desc()); } - if (from.change_type() != 0) { - set_change_type(from.change_type()); + if (from.deprecated_change_type() != 0) { + set_deprecated_change_type(from.deprecated_change_type()); } } @@ -13401,10 +13686,11 @@ void AdminChangeReplicasRequest::Swap(AdminChangeReplicasRequest* other) { } void AdminChangeReplicasRequest::InternalSwap(AdminChangeReplicasRequest* other) { using std::swap; - CastToBase(&targets_)->InternalSwap(CastToBase(&other->targets_)); + CastToBase(&deprecated_targets_)->InternalSwap(CastToBase(&other->deprecated_targets_)); + CastToBase(&internal_changes_)->InternalSwap(CastToBase(&other->internal_changes_)); swap(header_, other->header_); swap(exp_desc_, other->exp_desc_); - swap(change_type_, other->change_type_); + swap(deprecated_change_type_, other->deprecated_change_type_); _internal_metadata_.Swap(&other->_internal_metadata_); } @@ -37027,6 +37313,9 @@ template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::cockroach::roachpb::AdminTransfe template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::cockroach::roachpb::AdminTransferLeaseResponse* Arena::CreateMaybeMessage< ::cockroach::roachpb::AdminTransferLeaseResponse >(Arena* arena) { return Arena::CreateInternal< ::cockroach::roachpb::AdminTransferLeaseResponse >(arena); } +template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::cockroach::roachpb::ReplicationChange* Arena::CreateMaybeMessage< ::cockroach::roachpb::ReplicationChange >(Arena* arena) { + return Arena::CreateInternal< ::cockroach::roachpb::ReplicationChange >(arena); +} template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::cockroach::roachpb::AdminChangeReplicasRequest* Arena::CreateMaybeMessage< ::cockroach::roachpb::AdminChangeReplicasRequest >(Arena* arena) { return Arena::CreateInternal< ::cockroach::roachpb::AdminChangeReplicasRequest >(arena); } diff --git a/c-deps/libroach/protos/roachpb/api.pb.h b/c-deps/libroach/protos/roachpb/api.pb.h index 888a24259704..294c03266cef 100644 --- a/c-deps/libroach/protos/roachpb/api.pb.h +++ b/c-deps/libroach/protos/roachpb/api.pb.h @@ -48,7 +48,7 @@ namespace protobuf_roachpb_2fapi_2eproto { struct TableStruct { static const ::google::protobuf::internal::ParseTableField entries[]; static const ::google::protobuf::internal::AuxillaryParseTableField aux[]; - static const ::google::protobuf::internal::ParseTable schema[117]; + static const ::google::protobuf::internal::ParseTable schema[118]; static const ::google::protobuf::internal::FieldMetadata field_metadata[]; static const ::google::protobuf::internal::SerializationTable serialization_table[]; static const ::google::protobuf::uint32 offsets[]; @@ -335,6 +335,9 @@ extern RefreshRequestDefaultTypeInternal _RefreshRequest_default_instance_; class RefreshResponse; class RefreshResponseDefaultTypeInternal; extern RefreshResponseDefaultTypeInternal _RefreshResponse_default_instance_; +class ReplicationChange; +class ReplicationChangeDefaultTypeInternal; +extern ReplicationChangeDefaultTypeInternal _ReplicationChange_default_instance_; class RequestHeader; class RequestHeaderDefaultTypeInternal; extern RequestHeaderDefaultTypeInternal _RequestHeader_default_instance_; @@ -504,6 +507,7 @@ template<> ::cockroach::roachpb::RefreshRangeRequest* Arena::CreateMaybeMessage< template<> ::cockroach::roachpb::RefreshRangeResponse* Arena::CreateMaybeMessage<::cockroach::roachpb::RefreshRangeResponse>(Arena*); template<> ::cockroach::roachpb::RefreshRequest* Arena::CreateMaybeMessage<::cockroach::roachpb::RefreshRequest>(Arena*); template<> ::cockroach::roachpb::RefreshResponse* Arena::CreateMaybeMessage<::cockroach::roachpb::RefreshResponse>(Arena*); +template<> ::cockroach::roachpb::ReplicationChange* Arena::CreateMaybeMessage<::cockroach::roachpb::ReplicationChange>(Arena*); template<> ::cockroach::roachpb::RequestHeader* Arena::CreateMaybeMessage<::cockroach::roachpb::RequestHeader>(Arena*); template<> ::cockroach::roachpb::RequestLeaseRequest* Arena::CreateMaybeMessage<::cockroach::roachpb::RequestLeaseRequest>(Arena*); template<> ::cockroach::roachpb::RequestLeaseResponse* Arena::CreateMaybeMessage<::cockroach::roachpb::RequestLeaseResponse>(Arena*); @@ -5807,6 +5811,119 @@ class AdminTransferLeaseResponse : public ::google::protobuf::MessageLite /* @@p }; // ------------------------------------------------------------------- +class ReplicationChange : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:cockroach.roachpb.ReplicationChange) */ { + public: + ReplicationChange(); + virtual ~ReplicationChange(); + + ReplicationChange(const ReplicationChange& from); + + inline ReplicationChange& operator=(const ReplicationChange& from) { + CopyFrom(from); + return *this; + } + #if LANG_CXX11 + ReplicationChange(ReplicationChange&& from) noexcept + : ReplicationChange() { + *this = ::std::move(from); + } + + inline ReplicationChange& operator=(ReplicationChange&& from) noexcept { + if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) { + if (this != &from) InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + #endif + static const ReplicationChange& default_instance(); + + static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY + static inline const ReplicationChange* internal_default_instance() { + return reinterpret_cast( + &_ReplicationChange_default_instance_); + } + static constexpr int kIndexInFileMessages = + 43; + + void Swap(ReplicationChange* other); + friend void swap(ReplicationChange& a, ReplicationChange& b) { + a.Swap(&b); + } + + // implements Message ---------------------------------------------- + + inline ReplicationChange* New() const final { + return CreateMaybeMessage(NULL); + } + + ReplicationChange* New(::google::protobuf::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from) + final; + void CopyFrom(const ReplicationChange& from); + void MergeFrom(const ReplicationChange& from); + void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) final; + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const final; + void DiscardUnknownFields(); + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + void InternalSwap(ReplicationChange* other); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return NULL; + } + inline void* MaybeArenaPtr() const { + return NULL; + } + public: + + ::std::string GetTypeName() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + bool has_target() const; + void clear_target(); + static const int kTargetFieldNumber = 2; + private: + const ::cockroach::roachpb::ReplicationTarget& _internal_target() const; + public: + const ::cockroach::roachpb::ReplicationTarget& target() const; + ::cockroach::roachpb::ReplicationTarget* release_target(); + ::cockroach::roachpb::ReplicationTarget* mutable_target(); + void set_allocated_target(::cockroach::roachpb::ReplicationTarget* target); + + // .cockroach.roachpb.ReplicaChangeType change_type = 1; + void clear_change_type(); + static const int kChangeTypeFieldNumber = 1; + ::cockroach::roachpb::ReplicaChangeType change_type() const; + void set_change_type(::cockroach::roachpb::ReplicaChangeType value); + + // @@protoc_insertion_point(class_scope:cockroach.roachpb.ReplicationChange) + private: + + ::google::protobuf::internal::InternalMetadataWithArenaLite _internal_metadata_; + ::cockroach::roachpb::ReplicationTarget* target_; + int change_type_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + friend struct ::protobuf_roachpb_2fapi_2eproto::TableStruct; +}; +// ------------------------------------------------------------------- + class AdminChangeReplicasRequest : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:cockroach.roachpb.AdminChangeReplicasRequest) */ { public: AdminChangeReplicasRequest(); @@ -5841,7 +5958,7 @@ class AdminChangeReplicasRequest : public ::google::protobuf::MessageLite /* @@p &_AdminChangeReplicasRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 43; + 44; void Swap(AdminChangeReplicasRequest* other); friend void swap(AdminChangeReplicasRequest& a, AdminChangeReplicasRequest& b) { @@ -5892,16 +6009,27 @@ class AdminChangeReplicasRequest : public ::google::protobuf::MessageLite /* @@p // accessors ------------------------------------------------------- - int targets_size() const; - void clear_targets(); - static const int kTargetsFieldNumber = 3; - ::cockroach::roachpb::ReplicationTarget* mutable_targets(int index); + int deprecated_targets_size() const; + void clear_deprecated_targets(); + static const int kDeprecatedTargetsFieldNumber = 3; + ::cockroach::roachpb::ReplicationTarget* mutable_deprecated_targets(int index); ::google::protobuf::RepeatedPtrField< ::cockroach::roachpb::ReplicationTarget >* - mutable_targets(); - const ::cockroach::roachpb::ReplicationTarget& targets(int index) const; - ::cockroach::roachpb::ReplicationTarget* add_targets(); + mutable_deprecated_targets(); + const ::cockroach::roachpb::ReplicationTarget& deprecated_targets(int index) const; + ::cockroach::roachpb::ReplicationTarget* add_deprecated_targets(); const ::google::protobuf::RepeatedPtrField< ::cockroach::roachpb::ReplicationTarget >& - targets() const; + deprecated_targets() const; + + int internal_changes_size() const; + void clear_internal_changes(); + static const int kInternalChangesFieldNumber = 5; + ::cockroach::roachpb::ReplicationChange* mutable_internal_changes(int index); + ::google::protobuf::RepeatedPtrField< ::cockroach::roachpb::ReplicationChange >* + mutable_internal_changes(); + const ::cockroach::roachpb::ReplicationChange& internal_changes(int index) const; + ::cockroach::roachpb::ReplicationChange* add_internal_changes(); + const ::google::protobuf::RepeatedPtrField< ::cockroach::roachpb::ReplicationChange >& + internal_changes() const; bool has_header() const; void clear_header(); @@ -5925,20 +6053,21 @@ class AdminChangeReplicasRequest : public ::google::protobuf::MessageLite /* @@p ::cockroach::roachpb::RangeDescriptor* mutable_exp_desc(); void set_allocated_exp_desc(::cockroach::roachpb::RangeDescriptor* exp_desc); - // .cockroach.roachpb.ReplicaChangeType change_type = 2; - void clear_change_type(); - static const int kChangeTypeFieldNumber = 2; - ::cockroach::roachpb::ReplicaChangeType change_type() const; - void set_change_type(::cockroach::roachpb::ReplicaChangeType value); + // .cockroach.roachpb.ReplicaChangeType deprecated_change_type = 2; + void clear_deprecated_change_type(); + static const int kDeprecatedChangeTypeFieldNumber = 2; + ::cockroach::roachpb::ReplicaChangeType deprecated_change_type() const; + void set_deprecated_change_type(::cockroach::roachpb::ReplicaChangeType value); // @@protoc_insertion_point(class_scope:cockroach.roachpb.AdminChangeReplicasRequest) private: ::google::protobuf::internal::InternalMetadataWithArenaLite _internal_metadata_; - ::google::protobuf::RepeatedPtrField< ::cockroach::roachpb::ReplicationTarget > targets_; + ::google::protobuf::RepeatedPtrField< ::cockroach::roachpb::ReplicationTarget > deprecated_targets_; + ::google::protobuf::RepeatedPtrField< ::cockroach::roachpb::ReplicationChange > internal_changes_; ::cockroach::roachpb::RequestHeader* header_; ::cockroach::roachpb::RangeDescriptor* exp_desc_; - int change_type_; + int deprecated_change_type_; mutable ::google::protobuf::internal::CachedSize _cached_size_; friend struct ::protobuf_roachpb_2fapi_2eproto::TableStruct; }; @@ -5978,7 +6107,7 @@ class AdminChangeReplicasResponse : public ::google::protobuf::MessageLite /* @@ &_AdminChangeReplicasResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 44; + 45; void Swap(AdminChangeReplicasResponse* other); friend void swap(AdminChangeReplicasResponse& a, AdminChangeReplicasResponse& b) { @@ -6096,7 +6225,7 @@ class AdminRelocateRangeRequest : public ::google::protobuf::MessageLite /* @@pr &_AdminRelocateRangeRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 45; + 46; void Swap(AdminRelocateRangeRequest* other); friend void swap(AdminRelocateRangeRequest& a, AdminRelocateRangeRequest& b) { @@ -6214,7 +6343,7 @@ class AdminRelocateRangeResponse : public ::google::protobuf::MessageLite /* @@p &_AdminRelocateRangeResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 46; + 47; void Swap(AdminRelocateRangeResponse* other); friend void swap(AdminRelocateRangeResponse& a, AdminRelocateRangeResponse& b) { @@ -6320,7 +6449,7 @@ class HeartbeatTxnRequest : public ::google::protobuf::MessageLite /* @@protoc_i &_HeartbeatTxnRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 47; + 48; void Swap(HeartbeatTxnRequest* other); friend void swap(HeartbeatTxnRequest& a, HeartbeatTxnRequest& b) { @@ -6438,7 +6567,7 @@ class HeartbeatTxnResponse : public ::google::protobuf::MessageLite /* @@protoc_ &_HeartbeatTxnResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 48; + 49; void Swap(HeartbeatTxnResponse* other); friend void swap(HeartbeatTxnResponse& a, HeartbeatTxnResponse& b) { @@ -6544,7 +6673,7 @@ class GCRequest_GCKey : public ::google::protobuf::MessageLite /* @@protoc_inser &_GCRequest_GCKey_default_instance_); } static constexpr int kIndexInFileMessages = - 49; + 50; void Swap(GCRequest_GCKey* other); friend void swap(GCRequest_GCKey& a, GCRequest_GCKey& b) { @@ -6664,7 +6793,7 @@ class GCRequest : public ::google::protobuf::MessageLite /* @@protoc_insertion_p &_GCRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 50; + 51; void Swap(GCRequest* other); friend void swap(GCRequest& a, GCRequest& b) { @@ -6796,7 +6925,7 @@ class GCResponse : public ::google::protobuf::MessageLite /* @@protoc_insertion_ &_GCResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 51; + 52; void Swap(GCResponse* other); friend void swap(GCResponse& a, GCResponse& b) { @@ -6902,7 +7031,7 @@ class PushTxnRequest : public ::google::protobuf::MessageLite /* @@protoc_insert &_PushTxnRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 52; + 53; void Swap(PushTxnRequest* other); friend void swap(PushTxnRequest& a, PushTxnRequest& b) { @@ -7065,7 +7194,7 @@ class PushTxnResponse : public ::google::protobuf::MessageLite /* @@protoc_inser &_PushTxnResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 53; + 54; void Swap(PushTxnResponse* other); friend void swap(PushTxnResponse& a, PushTxnResponse& b) { @@ -7183,7 +7312,7 @@ class RecoverTxnRequest : public ::google::protobuf::MessageLite /* @@protoc_ins &_RecoverTxnRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 54; + 55; void Swap(RecoverTxnRequest* other); friend void swap(RecoverTxnRequest& a, RecoverTxnRequest& b) { @@ -7308,7 +7437,7 @@ class RecoverTxnResponse : public ::google::protobuf::MessageLite /* @@protoc_in &_RecoverTxnResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 55; + 56; void Swap(RecoverTxnResponse* other); friend void swap(RecoverTxnResponse& a, RecoverTxnResponse& b) { @@ -7426,7 +7555,7 @@ class QueryTxnRequest : public ::google::protobuf::MessageLite /* @@protoc_inser &_QueryTxnRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 56; + 57; void Swap(QueryTxnRequest* other); friend void swap(QueryTxnRequest& a, QueryTxnRequest& b) { @@ -7573,7 +7702,7 @@ class QueryTxnResponse : public ::google::protobuf::MessageLite /* @@protoc_inse &_QueryTxnResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 57; + 58; void Swap(QueryTxnResponse* other); friend void swap(QueryTxnResponse& a, QueryTxnResponse& b) { @@ -7713,7 +7842,7 @@ class QueryIntentRequest : public ::google::protobuf::MessageLite /* @@protoc_in &_QueryIntentRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 58; + 59; void Swap(QueryIntentRequest* other); friend void swap(QueryIntentRequest& a, QueryIntentRequest& b) { @@ -7838,7 +7967,7 @@ class QueryIntentResponse : public ::google::protobuf::MessageLite /* @@protoc_i &_QueryIntentResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 59; + 60; void Swap(QueryIntentResponse* other); friend void swap(QueryIntentResponse& a, QueryIntentResponse& b) { @@ -7951,7 +8080,7 @@ class ResolveIntentRequest : public ::google::protobuf::MessageLite /* @@protoc_ &_ResolveIntentRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 60; + 61; void Swap(ResolveIntentRequest* other); friend void swap(ResolveIntentRequest& a, ResolveIntentRequest& b) { @@ -8083,7 +8212,7 @@ class ResolveIntentResponse : public ::google::protobuf::MessageLite /* @@protoc &_ResolveIntentResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 61; + 62; void Swap(ResolveIntentResponse* other); friend void swap(ResolveIntentResponse& a, ResolveIntentResponse& b) { @@ -8189,7 +8318,7 @@ class ResolveIntentRangeRequest : public ::google::protobuf::MessageLite /* @@pr &_ResolveIntentRangeRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 62; + 63; void Swap(ResolveIntentRangeRequest* other); friend void swap(ResolveIntentRangeRequest& a, ResolveIntentRangeRequest& b) { @@ -8333,7 +8462,7 @@ class ResolveIntentRangeResponse : public ::google::protobuf::MessageLite /* @@p &_ResolveIntentRangeResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 63; + 64; void Swap(ResolveIntentRangeResponse* other); friend void swap(ResolveIntentRangeResponse& a, ResolveIntentRangeResponse& b) { @@ -8439,7 +8568,7 @@ class MergeRequest : public ::google::protobuf::MessageLite /* @@protoc_insertio &_MergeRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 64; + 65; void Swap(MergeRequest* other); friend void swap(MergeRequest& a, MergeRequest& b) { @@ -8557,7 +8686,7 @@ class MergeResponse : public ::google::protobuf::MessageLite /* @@protoc_inserti &_MergeResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 65; + 66; void Swap(MergeResponse* other); friend void swap(MergeResponse& a, MergeResponse& b) { @@ -8663,7 +8792,7 @@ class TruncateLogRequest : public ::google::protobuf::MessageLite /* @@protoc_in &_TruncateLogRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 66; + 67; void Swap(TruncateLogRequest* other); friend void swap(TruncateLogRequest& a, TruncateLogRequest& b) { @@ -8782,7 +8911,7 @@ class TruncateLogResponse : public ::google::protobuf::MessageLite /* @@protoc_i &_TruncateLogResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 67; + 68; void Swap(TruncateLogResponse* other); friend void swap(TruncateLogResponse& a, TruncateLogResponse& b) { @@ -8888,7 +9017,7 @@ class RequestLeaseRequest : public ::google::protobuf::MessageLite /* @@protoc_i &_RequestLeaseRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 68; + 69; void Swap(RequestLeaseRequest* other); friend void swap(RequestLeaseRequest& a, RequestLeaseRequest& b) { @@ -9030,7 +9159,7 @@ class TransferLeaseRequest : public ::google::protobuf::MessageLite /* @@protoc_ &_TransferLeaseRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 69; + 70; void Swap(TransferLeaseRequest* other); friend void swap(TransferLeaseRequest& a, TransferLeaseRequest& b) { @@ -9160,7 +9289,7 @@ class LeaseInfoRequest : public ::google::protobuf::MessageLite /* @@protoc_inse &_LeaseInfoRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 70; + 71; void Swap(LeaseInfoRequest* other); friend void swap(LeaseInfoRequest& a, LeaseInfoRequest& b) { @@ -9266,7 +9395,7 @@ class LeaseInfoResponse : public ::google::protobuf::MessageLite /* @@protoc_ins &_LeaseInfoResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 71; + 72; void Swap(LeaseInfoResponse* other); friend void swap(LeaseInfoResponse& a, LeaseInfoResponse& b) { @@ -9384,7 +9513,7 @@ class RequestLeaseResponse : public ::google::protobuf::MessageLite /* @@protoc_ &_RequestLeaseResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 72; + 73; void Swap(RequestLeaseResponse* other); friend void swap(RequestLeaseResponse& a, RequestLeaseResponse& b) { @@ -9490,7 +9619,7 @@ class ComputeChecksumRequest : public ::google::protobuf::MessageLite /* @@proto &_ComputeChecksumRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 73; + 74; void Swap(ComputeChecksumRequest* other); friend void swap(ComputeChecksumRequest& a, ComputeChecksumRequest& b) { @@ -9624,7 +9753,7 @@ class ComputeChecksumResponse : public ::google::protobuf::MessageLite /* @@prot &_ComputeChecksumResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 74; + 75; void Swap(ComputeChecksumResponse* other); friend void swap(ComputeChecksumResponse& a, ComputeChecksumResponse& b) { @@ -9744,7 +9873,7 @@ class ExportStorage_LocalFilePath : public ::google::protobuf::MessageLite /* @@ &_ExportStorage_LocalFilePath_default_instance_); } static constexpr int kIndexInFileMessages = - 75; + 76; void Swap(ExportStorage_LocalFilePath* other); friend void swap(ExportStorage_LocalFilePath& a, ExportStorage_LocalFilePath& b) { @@ -9859,7 +9988,7 @@ class ExportStorage_Http : public ::google::protobuf::MessageLite /* @@protoc_in &_ExportStorage_Http_default_instance_); } static constexpr int kIndexInFileMessages = - 76; + 77; void Swap(ExportStorage_Http* other); friend void swap(ExportStorage_Http& a, ExportStorage_Http& b) { @@ -9968,7 +10097,7 @@ class ExportStorage_S3 : public ::google::protobuf::MessageLite /* @@protoc_inse &_ExportStorage_S3_default_instance_); } static constexpr int kIndexInFileMessages = - 77; + 78; void Swap(ExportStorage_S3* other); friend void swap(ExportStorage_S3& a, ExportStorage_S3& b) { @@ -10167,7 +10296,7 @@ class ExportStorage_GCS : public ::google::protobuf::MessageLite /* @@protoc_ins &_ExportStorage_GCS_default_instance_); } static constexpr int kIndexInFileMessages = - 78; + 79; void Swap(ExportStorage_GCS* other); friend void swap(ExportStorage_GCS& a, ExportStorage_GCS& b) { @@ -10336,7 +10465,7 @@ class ExportStorage_Azure : public ::google::protobuf::MessageLite /* @@protoc_i &_ExportStorage_Azure_default_instance_); } static constexpr int kIndexInFileMessages = - 79; + 80; void Swap(ExportStorage_Azure* other); friend void swap(ExportStorage_Azure& a, ExportStorage_Azure& b) { @@ -10490,7 +10619,7 @@ class ExportStorage_Workload : public ::google::protobuf::MessageLite /* @@proto &_ExportStorage_Workload_default_instance_); } static constexpr int kIndexInFileMessages = - 80; + 81; void Swap(ExportStorage_Workload* other); friend void swap(ExportStorage_Workload& a, ExportStorage_Workload& b) { @@ -10681,7 +10810,7 @@ class ExportStorage : public ::google::protobuf::MessageLite /* @@protoc_inserti &_ExportStorage_default_instance_); } static constexpr int kIndexInFileMessages = - 81; + 82; void Swap(ExportStorage* other); friend void swap(ExportStorage& a, ExportStorage& b) { @@ -10865,7 +10994,7 @@ class WriteBatchRequest : public ::google::protobuf::MessageLite /* @@protoc_ins &_WriteBatchRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 82; + 83; void Swap(WriteBatchRequest* other); friend void swap(WriteBatchRequest& a, WriteBatchRequest& b) { @@ -10998,7 +11127,7 @@ class WriteBatchResponse : public ::google::protobuf::MessageLite /* @@protoc_in &_WriteBatchResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 83; + 84; void Swap(WriteBatchResponse* other); friend void swap(WriteBatchResponse& a, WriteBatchResponse& b) { @@ -11123,7 +11252,7 @@ class ExportRequest : public ::google::protobuf::MessageLite /* @@protoc_inserti &_ExportRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 85; + 86; void Swap(ExportRequest* other); friend void swap(ExportRequest& a, ExportRequest& b) { @@ -11294,7 +11423,7 @@ class BulkOpSummary : public ::google::protobuf::MessageLite /* @@protoc_inserti &_BulkOpSummary_default_instance_); } static constexpr int kIndexInFileMessages = - 86; + 87; void Swap(BulkOpSummary* other); friend void swap(BulkOpSummary& a, BulkOpSummary& b) { @@ -11416,7 +11545,7 @@ class ExportResponse_File : public ::google::protobuf::MessageLite /* @@protoc_i &_ExportResponse_File_default_instance_); } static constexpr int kIndexInFileMessages = - 87; + 88; void Swap(ExportResponse_File* other); friend void swap(ExportResponse_File& a, ExportResponse_File& b) { @@ -11592,7 +11721,7 @@ class ExportResponse : public ::google::protobuf::MessageLite /* @@protoc_insert &_ExportResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 88; + 89; void Swap(ExportResponse* other); friend void swap(ExportResponse& a, ExportResponse& b) { @@ -11724,7 +11853,7 @@ class ImportRequest_File : public ::google::protobuf::MessageLite /* @@protoc_in &_ImportRequest_File_default_instance_); } static constexpr int kIndexInFileMessages = - 89; + 90; void Swap(ImportRequest_File* other); friend void swap(ImportRequest_File& a, ImportRequest_File& b) { @@ -11860,7 +11989,7 @@ class ImportRequest_TableRekey : public ::google::protobuf::MessageLite /* @@pro &_ImportRequest_TableRekey_default_instance_); } static constexpr int kIndexInFileMessages = - 90; + 91; void Swap(ImportRequest_TableRekey* other); friend void swap(ImportRequest_TableRekey& a, ImportRequest_TableRekey& b) { @@ -11975,7 +12104,7 @@ class ImportRequest : public ::google::protobuf::MessageLite /* @@protoc_inserti &_ImportRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 91; + 92; void Swap(ImportRequest* other); friend void swap(ImportRequest& a, ImportRequest& b) { @@ -12132,7 +12261,7 @@ class ImportResponse : public ::google::protobuf::MessageLite /* @@protoc_insert &_ImportResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 92; + 93; void Swap(ImportResponse* other); friend void swap(ImportResponse& a, ImportResponse& b) { @@ -12250,7 +12379,7 @@ class AdminScatterRequest : public ::google::protobuf::MessageLite /* @@protoc_i &_AdminScatterRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 93; + 94; void Swap(AdminScatterRequest* other); friend void swap(AdminScatterRequest& a, AdminScatterRequest& b) { @@ -12363,7 +12492,7 @@ class AdminScatterResponse_Range : public ::google::protobuf::MessageLite /* @@p &_AdminScatterResponse_Range_default_instance_); } static constexpr int kIndexInFileMessages = - 94; + 95; void Swap(AdminScatterResponse_Range* other); friend void swap(AdminScatterResponse_Range& a, AdminScatterResponse_Range& b) { @@ -12469,7 +12598,7 @@ class AdminScatterResponse : public ::google::protobuf::MessageLite /* @@protoc_ &_AdminScatterResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 95; + 96; void Swap(AdminScatterResponse* other); friend void swap(AdminScatterResponse& a, AdminScatterResponse& b) { @@ -12589,7 +12718,7 @@ class AddSSTableRequest : public ::google::protobuf::MessageLite /* @@protoc_ins &_AddSSTableRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 96; + 97; void Swap(AddSSTableRequest* other); friend void swap(AddSSTableRequest& a, AddSSTableRequest& b) { @@ -12729,7 +12858,7 @@ class AddSSTableResponse : public ::google::protobuf::MessageLite /* @@protoc_in &_AddSSTableResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 97; + 98; void Swap(AddSSTableResponse* other); friend void swap(AddSSTableResponse& a, AddSSTableResponse& b) { @@ -12835,7 +12964,7 @@ class RefreshRequest : public ::google::protobuf::MessageLite /* @@protoc_insert &_RefreshRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 98; + 99; void Swap(RefreshRequest* other); friend void swap(RefreshRequest& a, RefreshRequest& b) { @@ -12948,7 +13077,7 @@ class RefreshResponse : public ::google::protobuf::MessageLite /* @@protoc_inser &_RefreshResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 99; + 100; void Swap(RefreshResponse* other); friend void swap(RefreshResponse& a, RefreshResponse& b) { @@ -13054,7 +13183,7 @@ class RefreshRangeRequest : public ::google::protobuf::MessageLite /* @@protoc_i &_RefreshRangeRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 100; + 101; void Swap(RefreshRangeRequest* other); friend void swap(RefreshRangeRequest& a, RefreshRangeRequest& b) { @@ -13167,7 +13296,7 @@ class RefreshRangeResponse : public ::google::protobuf::MessageLite /* @@protoc_ &_RefreshRangeResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 101; + 102; void Swap(RefreshRangeResponse* other); friend void swap(RefreshRangeResponse& a, RefreshRangeResponse& b) { @@ -13273,7 +13402,7 @@ class SubsumeRequest : public ::google::protobuf::MessageLite /* @@protoc_insert &_SubsumeRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 102; + 103; void Swap(SubsumeRequest* other); friend void swap(SubsumeRequest& a, SubsumeRequest& b) { @@ -13404,7 +13533,7 @@ class SubsumeResponse : public ::google::protobuf::MessageLite /* @@protoc_inser &_SubsumeResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 103; + 104; void Swap(SubsumeResponse* other); friend void swap(SubsumeResponse& a, SubsumeResponse& b) { @@ -13541,7 +13670,7 @@ class RangeStatsRequest : public ::google::protobuf::MessageLite /* @@protoc_ins &_RangeStatsRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 104; + 105; void Swap(RangeStatsRequest* other); friend void swap(RangeStatsRequest& a, RangeStatsRequest& b) { @@ -13647,7 +13776,7 @@ class RangeStatsResponse : public ::google::protobuf::MessageLite /* @@protoc_in &_RangeStatsResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 105; + 106; void Swap(RangeStatsResponse* other); friend void swap(RangeStatsResponse& a, RangeStatsResponse& b) { @@ -13820,7 +13949,7 @@ class RequestUnion : public ::google::protobuf::MessageLite /* @@protoc_insertio &_RequestUnion_default_instance_); } static constexpr int kIndexInFileMessages = - 106; + 107; void Swap(RequestUnion* other); friend void swap(RequestUnion& a, RequestUnion& b) { @@ -14587,7 +14716,7 @@ class ResponseUnion : public ::google::protobuf::MessageLite /* @@protoc_inserti &_ResponseUnion_default_instance_); } static constexpr int kIndexInFileMessages = - 107; + 108; void Swap(ResponseUnion* other); friend void swap(ResponseUnion& a, ResponseUnion& b) { @@ -15293,7 +15422,7 @@ class Header : public ::google::protobuf::MessageLite /* @@protoc_insertion_poin &_Header_default_instance_); } static constexpr int kIndexInFileMessages = - 108; + 109; void Swap(Header* other); friend void swap(Header& a, Header& b) { @@ -15497,7 +15626,7 @@ class BatchRequest : public ::google::protobuf::MessageLite /* @@protoc_insertio &_BatchRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 109; + 110; void Swap(BatchRequest* other); friend void swap(BatchRequest& a, BatchRequest& b) { @@ -15615,7 +15744,7 @@ class BatchResponse_Header : public ::google::protobuf::MessageLite /* @@protoc_ &_BatchResponse_Header_default_instance_); } static constexpr int kIndexInFileMessages = - 110; + 111; void Swap(BatchResponse_Header* other); friend void swap(BatchResponse_Header& a, BatchResponse_Header& b) { @@ -15771,7 +15900,7 @@ class BatchResponse : public ::google::protobuf::MessageLite /* @@protoc_inserti &_BatchResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 111; + 112; void Swap(BatchResponse* other); friend void swap(BatchResponse& a, BatchResponse& b) { @@ -15891,7 +16020,7 @@ class RangeFeedRequest : public ::google::protobuf::MessageLite /* @@protoc_inse &_RangeFeedRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 112; + 113; void Swap(RangeFeedRequest* other); friend void swap(RangeFeedRequest& a, RangeFeedRequest& b) { @@ -16009,7 +16138,7 @@ class RangeFeedValue : public ::google::protobuf::MessageLite /* @@protoc_insert &_RangeFeedValue_default_instance_); } static constexpr int kIndexInFileMessages = - 113; + 114; void Swap(RangeFeedValue* other); friend void swap(RangeFeedValue& a, RangeFeedValue& b) { @@ -16129,7 +16258,7 @@ class RangeFeedCheckpoint : public ::google::protobuf::MessageLite /* @@protoc_i &_RangeFeedCheckpoint_default_instance_); } static constexpr int kIndexInFileMessages = - 114; + 115; void Swap(RangeFeedCheckpoint* other); friend void swap(RangeFeedCheckpoint& a, RangeFeedCheckpoint& b) { @@ -16247,7 +16376,7 @@ class RangeFeedError : public ::google::protobuf::MessageLite /* @@protoc_insert &_RangeFeedError_default_instance_); } static constexpr int kIndexInFileMessages = - 115; + 116; void Swap(RangeFeedError* other); friend void swap(RangeFeedError& a, RangeFeedError& b) { @@ -16353,7 +16482,7 @@ class RangeFeedEvent : public ::google::protobuf::MessageLite /* @@protoc_insert &_RangeFeedEvent_default_instance_); } static constexpr int kIndexInFileMessages = - 116; + 117; void Swap(RangeFeedEvent* other); friend void swap(RangeFeedEvent& a, RangeFeedEvent& b) { @@ -20488,6 +20617,71 @@ inline void AdminTransferLeaseResponse::set_allocated_header(::cockroach::roachp // ------------------------------------------------------------------- +// ReplicationChange + +// .cockroach.roachpb.ReplicaChangeType change_type = 1; +inline void ReplicationChange::clear_change_type() { + change_type_ = 0; +} +inline ::cockroach::roachpb::ReplicaChangeType ReplicationChange::change_type() const { + // @@protoc_insertion_point(field_get:cockroach.roachpb.ReplicationChange.change_type) + return static_cast< ::cockroach::roachpb::ReplicaChangeType >(change_type_); +} +inline void ReplicationChange::set_change_type(::cockroach::roachpb::ReplicaChangeType value) { + + change_type_ = value; + // @@protoc_insertion_point(field_set:cockroach.roachpb.ReplicationChange.change_type) +} + +inline bool ReplicationChange::has_target() const { + return this != internal_default_instance() && target_ != NULL; +} +inline const ::cockroach::roachpb::ReplicationTarget& ReplicationChange::_internal_target() const { + return *target_; +} +inline const ::cockroach::roachpb::ReplicationTarget& ReplicationChange::target() const { + const ::cockroach::roachpb::ReplicationTarget* p = target_; + // @@protoc_insertion_point(field_get:cockroach.roachpb.ReplicationChange.target) + return p != NULL ? *p : *reinterpret_cast( + &::cockroach::roachpb::_ReplicationTarget_default_instance_); +} +inline ::cockroach::roachpb::ReplicationTarget* ReplicationChange::release_target() { + // @@protoc_insertion_point(field_release:cockroach.roachpb.ReplicationChange.target) + + ::cockroach::roachpb::ReplicationTarget* temp = target_; + target_ = NULL; + return temp; +} +inline ::cockroach::roachpb::ReplicationTarget* ReplicationChange::mutable_target() { + + if (target_ == NULL) { + auto* p = CreateMaybeMessage<::cockroach::roachpb::ReplicationTarget>(GetArenaNoVirtual()); + target_ = p; + } + // @@protoc_insertion_point(field_mutable:cockroach.roachpb.ReplicationChange.target) + return target_; +} +inline void ReplicationChange::set_allocated_target(::cockroach::roachpb::ReplicationTarget* target) { + ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); + if (message_arena == NULL) { + delete reinterpret_cast< ::google::protobuf::MessageLite*>(target_); + } + if (target) { + ::google::protobuf::Arena* submessage_arena = NULL; + if (message_arena != submessage_arena) { + target = ::google::protobuf::internal::GetOwnedMessage( + message_arena, target, submessage_arena); + } + + } else { + + } + target_ = target; + // @@protoc_insertion_point(field_set_allocated:cockroach.roachpb.ReplicationChange.target) +} + +// ------------------------------------------------------------------- + // AdminChangeReplicasRequest inline bool AdminChangeReplicasRequest::has_header() const { @@ -20543,44 +20737,44 @@ inline void AdminChangeReplicasRequest::set_allocated_header(::cockroach::roachp // @@protoc_insertion_point(field_set_allocated:cockroach.roachpb.AdminChangeReplicasRequest.header) } -// .cockroach.roachpb.ReplicaChangeType change_type = 2; -inline void AdminChangeReplicasRequest::clear_change_type() { - change_type_ = 0; +// .cockroach.roachpb.ReplicaChangeType deprecated_change_type = 2; +inline void AdminChangeReplicasRequest::clear_deprecated_change_type() { + deprecated_change_type_ = 0; } -inline ::cockroach::roachpb::ReplicaChangeType AdminChangeReplicasRequest::change_type() const { - // @@protoc_insertion_point(field_get:cockroach.roachpb.AdminChangeReplicasRequest.change_type) - return static_cast< ::cockroach::roachpb::ReplicaChangeType >(change_type_); +inline ::cockroach::roachpb::ReplicaChangeType AdminChangeReplicasRequest::deprecated_change_type() const { + // @@protoc_insertion_point(field_get:cockroach.roachpb.AdminChangeReplicasRequest.deprecated_change_type) + return static_cast< ::cockroach::roachpb::ReplicaChangeType >(deprecated_change_type_); } -inline void AdminChangeReplicasRequest::set_change_type(::cockroach::roachpb::ReplicaChangeType value) { +inline void AdminChangeReplicasRequest::set_deprecated_change_type(::cockroach::roachpb::ReplicaChangeType value) { - change_type_ = value; - // @@protoc_insertion_point(field_set:cockroach.roachpb.AdminChangeReplicasRequest.change_type) + deprecated_change_type_ = value; + // @@protoc_insertion_point(field_set:cockroach.roachpb.AdminChangeReplicasRequest.deprecated_change_type) } -inline int AdminChangeReplicasRequest::targets_size() const { - return targets_.size(); +inline int AdminChangeReplicasRequest::deprecated_targets_size() const { + return deprecated_targets_.size(); } -inline ::cockroach::roachpb::ReplicationTarget* AdminChangeReplicasRequest::mutable_targets(int index) { - // @@protoc_insertion_point(field_mutable:cockroach.roachpb.AdminChangeReplicasRequest.targets) - return targets_.Mutable(index); +inline ::cockroach::roachpb::ReplicationTarget* AdminChangeReplicasRequest::mutable_deprecated_targets(int index) { + // @@protoc_insertion_point(field_mutable:cockroach.roachpb.AdminChangeReplicasRequest.deprecated_targets) + return deprecated_targets_.Mutable(index); } inline ::google::protobuf::RepeatedPtrField< ::cockroach::roachpb::ReplicationTarget >* -AdminChangeReplicasRequest::mutable_targets() { - // @@protoc_insertion_point(field_mutable_list:cockroach.roachpb.AdminChangeReplicasRequest.targets) - return &targets_; +AdminChangeReplicasRequest::mutable_deprecated_targets() { + // @@protoc_insertion_point(field_mutable_list:cockroach.roachpb.AdminChangeReplicasRequest.deprecated_targets) + return &deprecated_targets_; } -inline const ::cockroach::roachpb::ReplicationTarget& AdminChangeReplicasRequest::targets(int index) const { - // @@protoc_insertion_point(field_get:cockroach.roachpb.AdminChangeReplicasRequest.targets) - return targets_.Get(index); +inline const ::cockroach::roachpb::ReplicationTarget& AdminChangeReplicasRequest::deprecated_targets(int index) const { + // @@protoc_insertion_point(field_get:cockroach.roachpb.AdminChangeReplicasRequest.deprecated_targets) + return deprecated_targets_.Get(index); } -inline ::cockroach::roachpb::ReplicationTarget* AdminChangeReplicasRequest::add_targets() { - // @@protoc_insertion_point(field_add:cockroach.roachpb.AdminChangeReplicasRequest.targets) - return targets_.Add(); +inline ::cockroach::roachpb::ReplicationTarget* AdminChangeReplicasRequest::add_deprecated_targets() { + // @@protoc_insertion_point(field_add:cockroach.roachpb.AdminChangeReplicasRequest.deprecated_targets) + return deprecated_targets_.Add(); } inline const ::google::protobuf::RepeatedPtrField< ::cockroach::roachpb::ReplicationTarget >& -AdminChangeReplicasRequest::targets() const { - // @@protoc_insertion_point(field_list:cockroach.roachpb.AdminChangeReplicasRequest.targets) - return targets_; +AdminChangeReplicasRequest::deprecated_targets() const { + // @@protoc_insertion_point(field_list:cockroach.roachpb.AdminChangeReplicasRequest.deprecated_targets) + return deprecated_targets_; } inline bool AdminChangeReplicasRequest::has_exp_desc() const { @@ -20630,6 +20824,35 @@ inline void AdminChangeReplicasRequest::set_allocated_exp_desc(::cockroach::roac // @@protoc_insertion_point(field_set_allocated:cockroach.roachpb.AdminChangeReplicasRequest.exp_desc) } +inline int AdminChangeReplicasRequest::internal_changes_size() const { + return internal_changes_.size(); +} +inline void AdminChangeReplicasRequest::clear_internal_changes() { + internal_changes_.Clear(); +} +inline ::cockroach::roachpb::ReplicationChange* AdminChangeReplicasRequest::mutable_internal_changes(int index) { + // @@protoc_insertion_point(field_mutable:cockroach.roachpb.AdminChangeReplicasRequest.internal_changes) + return internal_changes_.Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField< ::cockroach::roachpb::ReplicationChange >* +AdminChangeReplicasRequest::mutable_internal_changes() { + // @@protoc_insertion_point(field_mutable_list:cockroach.roachpb.AdminChangeReplicasRequest.internal_changes) + return &internal_changes_; +} +inline const ::cockroach::roachpb::ReplicationChange& AdminChangeReplicasRequest::internal_changes(int index) const { + // @@protoc_insertion_point(field_get:cockroach.roachpb.AdminChangeReplicasRequest.internal_changes) + return internal_changes_.Get(index); +} +inline ::cockroach::roachpb::ReplicationChange* AdminChangeReplicasRequest::add_internal_changes() { + // @@protoc_insertion_point(field_add:cockroach.roachpb.AdminChangeReplicasRequest.internal_changes) + return internal_changes_.Add(); +} +inline const ::google::protobuf::RepeatedPtrField< ::cockroach::roachpb::ReplicationChange >& +AdminChangeReplicasRequest::internal_changes() const { + // @@protoc_insertion_point(field_list:cockroach.roachpb.AdminChangeReplicasRequest.internal_changes) + return internal_changes_; +} + // ------------------------------------------------------------------- // AdminChangeReplicasResponse @@ -33610,6 +33833,8 @@ inline void RangeFeedEvent::set_allocated_error(::cockroach::roachpb::RangeFeedE // ------------------------------------------------------------------- +// ------------------------------------------------------------------- + // @@protoc_insertion_point(namespace_scope) diff --git a/pkg/internal/client/batch.go b/pkg/internal/client/batch.go index f5e2b6bea45d..9adfc75e9051 100644 --- a/pkg/internal/client/batch.go +++ b/pkg/internal/client/batch.go @@ -643,10 +643,7 @@ func (b *Batch) adminTransferLease(key interface{}, target roachpb.StoreID) { // adminChangeReplicas is only exported on DB. It is here for symmetry with the // other operations. func (b *Batch) adminChangeReplicas( - key interface{}, - changeType roachpb.ReplicaChangeType, - targets []roachpb.ReplicationTarget, - expDesc roachpb.RangeDescriptor, + key interface{}, expDesc roachpb.RangeDescriptor, chgs []roachpb.ReplicationChange, ) { k, err := marshalKey(key) if err != nil { @@ -657,10 +654,10 @@ func (b *Batch) adminChangeReplicas( RequestHeader: roachpb.RequestHeader{ Key: k, }, - ChangeType: changeType, - Targets: targets, - ExpDesc: expDesc, + ExpDesc: expDesc, } + req.AddChanges(chgs...) + b.appendReqs(req) b.initResult(1, 0, notRaw, nil) } diff --git a/pkg/internal/client/db.go b/pkg/internal/client/db.go index 8a2394c4ddb3..9004db70788f 100644 --- a/pkg/internal/client/db.go +++ b/pkg/internal/client/db.go @@ -525,12 +525,11 @@ func (db *DB) AdminTransferLease( func (db *DB) AdminChangeReplicas( ctx context.Context, key interface{}, - changeType roachpb.ReplicaChangeType, - targets []roachpb.ReplicationTarget, expDesc roachpb.RangeDescriptor, + chgs []roachpb.ReplicationChange, ) (*roachpb.RangeDescriptor, error) { b := &Batch{} - b.adminChangeReplicas(key, changeType, targets, expDesc) + b.adminChangeReplicas(key, expDesc, chgs) if err := getOneErr(db.Run(ctx, b), b); err != nil { return nil, err } diff --git a/pkg/roachpb/api.go b/pkg/roachpb/api.go index cf5e115dc89b..c14c913a8fc9 100644 --- a/pkg/roachpb/api.go +++ b/pkg/roachpb/api.go @@ -1185,3 +1185,46 @@ func (e *RangeFeedEvent) MustSetValue(value interface{}) { panic(fmt.Sprintf("%T excludes %T", e, value)) } } + +// MakeReplicationChanges returns a slice of changes of the given type with an +// item for each target. +func MakeReplicationChanges( + changeType ReplicaChangeType, targets []ReplicationTarget, +) []ReplicationChange { + chgs := make([]ReplicationChange, 0, len(targets)) + for _, target := range targets { + chgs = append(chgs, ReplicationChange{ + ChangeType: changeType, + Target: target, + }) + } + return chgs +} + +// AddChanges adds a batch of changes to the request in a backwards-compatible +// way. +func (r *AdminChangeReplicasRequest) AddChanges(chgs ...ReplicationChange) { + r.InternalChanges = append(r.InternalChanges, chgs...) + + r.DeprecatedChangeType = chgs[0].ChangeType + for _, chg := range chgs { + r.DeprecatedTargets = append(r.DeprecatedTargets, chg.Target) + } +} + +// Changes returns the changes requested by this AdminChangeReplicasRequest, taking +// the deprecated method of doing so into account. +func (r *AdminChangeReplicasRequest) Changes() []ReplicationChange { + if len(r.InternalChanges) > 0 { + return r.InternalChanges + } + + sl := make([]ReplicationChange, len(r.DeprecatedTargets)) + for _, target := range r.DeprecatedTargets { + sl = append(sl, ReplicationChange{ + ChangeType: r.DeprecatedChangeType, + Target: target, + }) + } + return sl +} diff --git a/pkg/roachpb/api.pb.go b/pkg/roachpb/api.pb.go index caf9067bb4d2..d6c622af92fe 100644 --- a/pkg/roachpb/api.pb.go +++ b/pkg/roachpb/api.pb.go @@ -71,7 +71,7 @@ func (x ReadConsistencyType) String() string { return proto.EnumName(ReadConsistencyType_name, int32(x)) } func (ReadConsistencyType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{0} + return fileDescriptor_api_cb78027fb03b5f9a, []int{0} } // ScanFormat is an enumeration of the available response formats for MVCCScan @@ -99,7 +99,7 @@ func (x ScanFormat) String() string { return proto.EnumName(ScanFormat_name, int32(x)) } func (ScanFormat) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{1} + return fileDescriptor_api_cb78027fb03b5f9a, []int{1} } type ChecksumMode int32 @@ -146,7 +146,7 @@ func (x ChecksumMode) String() string { return proto.EnumName(ChecksumMode_name, int32(x)) } func (ChecksumMode) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{2} + return fileDescriptor_api_cb78027fb03b5f9a, []int{2} } // PushTxnType determines what action to take when pushing a transaction. @@ -177,7 +177,7 @@ func (x PushTxnType) String() string { return proto.EnumName(PushTxnType_name, int32(x)) } func (PushTxnType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{3} + return fileDescriptor_api_cb78027fb03b5f9a, []int{3} } type ExportStorageProvider int32 @@ -215,7 +215,7 @@ func (x ExportStorageProvider) String() string { return proto.EnumName(ExportStorageProvider_name, int32(x)) } func (ExportStorageProvider) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{4} + return fileDescriptor_api_cb78027fb03b5f9a, []int{4} } type MVCCFilter int32 @@ -238,7 +238,7 @@ func (x MVCCFilter) String() string { return proto.EnumName(MVCCFilter_name, int32(x)) } func (MVCCFilter) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{5} + return fileDescriptor_api_cb78027fb03b5f9a, []int{5} } type ResponseHeader_ResumeReason int32 @@ -270,7 +270,7 @@ func (x ResponseHeader_ResumeReason) String() string { return proto.EnumName(ResponseHeader_ResumeReason_name, int32(x)) } func (ResponseHeader_ResumeReason) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{2, 0} + return fileDescriptor_api_cb78027fb03b5f9a, []int{2, 0} } type CheckConsistencyResponse_Status int32 @@ -312,7 +312,7 @@ func (x CheckConsistencyResponse_Status) String() string { return proto.EnumName(CheckConsistencyResponse_Status_name, int32(x)) } func (CheckConsistencyResponse_Status) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{27, 0} + return fileDescriptor_api_cb78027fb03b5f9a, []int{27, 0} } // RangeInfo describes a range which executed a request. It contains @@ -326,7 +326,7 @@ func (m *RangeInfo) Reset() { *m = RangeInfo{} } func (m *RangeInfo) String() string { return proto.CompactTextString(m) } func (*RangeInfo) ProtoMessage() {} func (*RangeInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{0} + return fileDescriptor_api_cb78027fb03b5f9a, []int{0} } func (m *RangeInfo) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -369,7 +369,7 @@ func (m *RequestHeader) Reset() { *m = RequestHeader{} } func (m *RequestHeader) String() string { return proto.CompactTextString(m) } func (*RequestHeader) ProtoMessage() {} func (*RequestHeader) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{1} + return fileDescriptor_api_cb78027fb03b5f9a, []int{1} } func (m *RequestHeader) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -427,7 +427,7 @@ func (m *ResponseHeader) Reset() { *m = ResponseHeader{} } func (m *ResponseHeader) String() string { return proto.CompactTextString(m) } func (*ResponseHeader) ProtoMessage() {} func (*ResponseHeader) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{2} + return fileDescriptor_api_cb78027fb03b5f9a, []int{2} } func (m *ResponseHeader) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -461,7 +461,7 @@ func (m *GetRequest) Reset() { *m = GetRequest{} } func (m *GetRequest) String() string { return proto.CompactTextString(m) } func (*GetRequest) ProtoMessage() {} func (*GetRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{3} + return fileDescriptor_api_cb78027fb03b5f9a, []int{3} } func (m *GetRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -499,7 +499,7 @@ func (m *GetResponse) Reset() { *m = GetResponse{} } func (m *GetResponse) String() string { return proto.CompactTextString(m) } func (*GetResponse) ProtoMessage() {} func (*GetResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{4} + return fileDescriptor_api_cb78027fb03b5f9a, []int{4} } func (m *GetResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -542,7 +542,7 @@ func (m *PutRequest) Reset() { *m = PutRequest{} } func (m *PutRequest) String() string { return proto.CompactTextString(m) } func (*PutRequest) ProtoMessage() {} func (*PutRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{5} + return fileDescriptor_api_cb78027fb03b5f9a, []int{5} } func (m *PutRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -576,7 +576,7 @@ func (m *PutResponse) Reset() { *m = PutResponse{} } func (m *PutResponse) String() string { return proto.CompactTextString(m) } func (*PutResponse) ProtoMessage() {} func (*PutResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{6} + return fileDescriptor_api_cb78027fb03b5f9a, []int{6} } func (m *PutResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -630,7 +630,7 @@ func (m *ConditionalPutRequest) Reset() { *m = ConditionalPutRequest{} } func (m *ConditionalPutRequest) String() string { return proto.CompactTextString(m) } func (*ConditionalPutRequest) ProtoMessage() {} func (*ConditionalPutRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{7} + return fileDescriptor_api_cb78027fb03b5f9a, []int{7} } func (m *ConditionalPutRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -665,7 +665,7 @@ func (m *ConditionalPutResponse) Reset() { *m = ConditionalPutResponse{} func (m *ConditionalPutResponse) String() string { return proto.CompactTextString(m) } func (*ConditionalPutResponse) ProtoMessage() {} func (*ConditionalPutResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{8} + return fileDescriptor_api_cb78027fb03b5f9a, []int{8} } func (m *ConditionalPutResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -711,7 +711,7 @@ func (m *InitPutRequest) Reset() { *m = InitPutRequest{} } func (m *InitPutRequest) String() string { return proto.CompactTextString(m) } func (*InitPutRequest) ProtoMessage() {} func (*InitPutRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{9} + return fileDescriptor_api_cb78027fb03b5f9a, []int{9} } func (m *InitPutRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -745,7 +745,7 @@ func (m *InitPutResponse) Reset() { *m = InitPutResponse{} } func (m *InitPutResponse) String() string { return proto.CompactTextString(m) } func (*InitPutResponse) ProtoMessage() {} func (*InitPutResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{10} + return fileDescriptor_api_cb78027fb03b5f9a, []int{10} } func (m *InitPutResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -785,7 +785,7 @@ func (m *IncrementRequest) Reset() { *m = IncrementRequest{} } func (m *IncrementRequest) String() string { return proto.CompactTextString(m) } func (*IncrementRequest) ProtoMessage() {} func (*IncrementRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{11} + return fileDescriptor_api_cb78027fb03b5f9a, []int{11} } func (m *IncrementRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -822,7 +822,7 @@ func (m *IncrementResponse) Reset() { *m = IncrementResponse{} } func (m *IncrementResponse) String() string { return proto.CompactTextString(m) } func (*IncrementResponse) ProtoMessage() {} func (*IncrementResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{12} + return fileDescriptor_api_cb78027fb03b5f9a, []int{12} } func (m *IncrementResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -856,7 +856,7 @@ 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_api_a541de2cc425b8bd, []int{13} + return fileDescriptor_api_cb78027fb03b5f9a, []int{13} } func (m *DeleteRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -890,7 +890,7 @@ func (m *DeleteResponse) Reset() { *m = DeleteResponse{} } func (m *DeleteResponse) String() string { return proto.CompactTextString(m) } func (*DeleteResponse) ProtoMessage() {} func (*DeleteResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{14} + return fileDescriptor_api_cb78027fb03b5f9a, []int{14} } func (m *DeleteResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -939,7 +939,7 @@ func (m *DeleteRangeRequest) Reset() { *m = DeleteRangeRequest{} } func (m *DeleteRangeRequest) String() string { return proto.CompactTextString(m) } func (*DeleteRangeRequest) ProtoMessage() {} func (*DeleteRangeRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{15} + return fileDescriptor_api_cb78027fb03b5f9a, []int{15} } func (m *DeleteRangeRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -976,7 +976,7 @@ func (m *DeleteRangeResponse) Reset() { *m = DeleteRangeResponse{} } func (m *DeleteRangeResponse) String() string { return proto.CompactTextString(m) } func (*DeleteRangeResponse) ProtoMessage() {} func (*DeleteRangeResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{16} + return fileDescriptor_api_cb78027fb03b5f9a, []int{16} } func (m *DeleteRangeResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1023,7 +1023,7 @@ func (m *ClearRangeRequest) Reset() { *m = ClearRangeRequest{} } func (m *ClearRangeRequest) String() string { return proto.CompactTextString(m) } func (*ClearRangeRequest) ProtoMessage() {} func (*ClearRangeRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{17} + return fileDescriptor_api_cb78027fb03b5f9a, []int{17} } func (m *ClearRangeRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1057,7 +1057,7 @@ func (m *ClearRangeResponse) Reset() { *m = ClearRangeResponse{} } func (m *ClearRangeResponse) String() string { return proto.CompactTextString(m) } func (*ClearRangeResponse) ProtoMessage() {} func (*ClearRangeResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{18} + return fileDescriptor_api_cb78027fb03b5f9a, []int{18} } func (m *ClearRangeResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1098,7 +1098,7 @@ func (m *RevertRangeRequest) Reset() { *m = RevertRangeRequest{} } func (m *RevertRangeRequest) String() string { return proto.CompactTextString(m) } func (*RevertRangeRequest) ProtoMessage() {} func (*RevertRangeRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{19} + return fileDescriptor_api_cb78027fb03b5f9a, []int{19} } func (m *RevertRangeRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1132,7 +1132,7 @@ func (m *RevertRangeResponse) Reset() { *m = RevertRangeResponse{} } func (m *RevertRangeResponse) String() string { return proto.CompactTextString(m) } func (*RevertRangeResponse) ProtoMessage() {} func (*RevertRangeResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{20} + return fileDescriptor_api_cb78027fb03b5f9a, []int{20} } func (m *RevertRangeResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1201,7 +1201,7 @@ func (m *ScanOptions) Reset() { *m = ScanOptions{} } func (m *ScanOptions) String() string { return proto.CompactTextString(m) } func (*ScanOptions) ProtoMessage() {} func (*ScanOptions) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{21} + return fileDescriptor_api_cb78027fb03b5f9a, []int{21} } func (m *ScanOptions) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1241,7 +1241,7 @@ func (m *ScanRequest) Reset() { *m = ScanRequest{} } func (m *ScanRequest) String() string { return proto.CompactTextString(m) } func (*ScanRequest) ProtoMessage() {} func (*ScanRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{22} + return fileDescriptor_api_cb78027fb03b5f9a, []int{22} } func (m *ScanRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1288,7 +1288,7 @@ func (m *ScanResponse) Reset() { *m = ScanResponse{} } func (m *ScanResponse) String() string { return proto.CompactTextString(m) } func (*ScanResponse) ProtoMessage() {} func (*ScanResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{23} + return fileDescriptor_api_cb78027fb03b5f9a, []int{23} } func (m *ScanResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1328,7 +1328,7 @@ func (m *ReverseScanRequest) Reset() { *m = ReverseScanRequest{} } func (m *ReverseScanRequest) String() string { return proto.CompactTextString(m) } func (*ReverseScanRequest) ProtoMessage() {} func (*ReverseScanRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{24} + return fileDescriptor_api_cb78027fb03b5f9a, []int{24} } func (m *ReverseScanRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1375,7 +1375,7 @@ func (m *ReverseScanResponse) Reset() { *m = ReverseScanResponse{} } func (m *ReverseScanResponse) String() string { return proto.CompactTextString(m) } func (*ReverseScanResponse) ProtoMessage() {} func (*ReverseScanResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{25} + return fileDescriptor_api_cb78027fb03b5f9a, []int{25} } func (m *ReverseScanResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1421,7 +1421,7 @@ func (m *CheckConsistencyRequest) Reset() { *m = CheckConsistencyRequest func (m *CheckConsistencyRequest) String() string { return proto.CompactTextString(m) } func (*CheckConsistencyRequest) ProtoMessage() {} func (*CheckConsistencyRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{26} + return fileDescriptor_api_cb78027fb03b5f9a, []int{26} } func (m *CheckConsistencyRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1458,7 +1458,7 @@ func (m *CheckConsistencyResponse) Reset() { *m = CheckConsistencyRespon func (m *CheckConsistencyResponse) String() string { return proto.CompactTextString(m) } func (*CheckConsistencyResponse) ProtoMessage() {} func (*CheckConsistencyResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{27} + return fileDescriptor_api_cb78027fb03b5f9a, []int{27} } func (m *CheckConsistencyResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1502,7 +1502,7 @@ func (m *CheckConsistencyResponse_Result) Reset() { *m = CheckConsistenc func (m *CheckConsistencyResponse_Result) String() string { return proto.CompactTextString(m) } func (*CheckConsistencyResponse_Result) ProtoMessage() {} func (*CheckConsistencyResponse_Result) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{27, 0} + return fileDescriptor_api_cb78027fb03b5f9a, []int{27, 0} } func (m *CheckConsistencyResponse_Result) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1550,7 +1550,7 @@ func (m *RecomputeStatsRequest) Reset() { *m = RecomputeStatsRequest{} } func (m *RecomputeStatsRequest) String() string { return proto.CompactTextString(m) } func (*RecomputeStatsRequest) ProtoMessage() {} func (*RecomputeStatsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{28} + return fileDescriptor_api_cb78027fb03b5f9a, []int{28} } func (m *RecomputeStatsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1586,7 +1586,7 @@ func (m *RecomputeStatsResponse) Reset() { *m = RecomputeStatsResponse{} func (m *RecomputeStatsResponse) String() string { return proto.CompactTextString(m) } func (*RecomputeStatsResponse) ProtoMessage() {} func (*RecomputeStatsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{29} + return fileDescriptor_api_cb78027fb03b5f9a, []int{29} } func (m *RecomputeStatsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1620,7 +1620,7 @@ func (m *BeginTransactionRequest) Reset() { *m = BeginTransactionRequest func (m *BeginTransactionRequest) String() string { return proto.CompactTextString(m) } func (*BeginTransactionRequest) ProtoMessage() {} func (*BeginTransactionRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{30} + return fileDescriptor_api_cb78027fb03b5f9a, []int{30} } func (m *BeginTransactionRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1654,7 +1654,7 @@ func (m *BeginTransactionResponse) Reset() { *m = BeginTransactionRespon func (m *BeginTransactionResponse) String() string { return proto.CompactTextString(m) } func (*BeginTransactionResponse) ProtoMessage() {} func (*BeginTransactionResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{31} + return fileDescriptor_api_cb78027fb03b5f9a, []int{31} } func (m *BeginTransactionResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1742,7 +1742,7 @@ func (m *EndTransactionRequest) Reset() { *m = EndTransactionRequest{} } func (m *EndTransactionRequest) String() string { return proto.CompactTextString(m) } func (*EndTransactionRequest) ProtoMessage() {} func (*EndTransactionRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{32} + return fileDescriptor_api_cb78027fb03b5f9a, []int{32} } func (m *EndTransactionRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1789,7 +1789,7 @@ func (m *EndTransactionResponse) Reset() { *m = EndTransactionResponse{} func (m *EndTransactionResponse) String() string { return proto.CompactTextString(m) } func (*EndTransactionResponse) ProtoMessage() {} func (*EndTransactionResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{33} + return fileDescriptor_api_cb78027fb03b5f9a, []int{33} } func (m *EndTransactionResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1850,7 +1850,7 @@ func (m *AdminSplitRequest) Reset() { *m = AdminSplitRequest{} } func (m *AdminSplitRequest) String() string { return proto.CompactTextString(m) } func (*AdminSplitRequest) ProtoMessage() {} func (*AdminSplitRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{34} + return fileDescriptor_api_cb78027fb03b5f9a, []int{34} } func (m *AdminSplitRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1885,7 +1885,7 @@ func (m *AdminSplitResponse) Reset() { *m = AdminSplitResponse{} } func (m *AdminSplitResponse) String() string { return proto.CompactTextString(m) } func (*AdminSplitResponse) ProtoMessage() {} func (*AdminSplitResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{35} + return fileDescriptor_api_cb78027fb03b5f9a, []int{35} } func (m *AdminSplitResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1924,7 +1924,7 @@ func (m *AdminUnsplitRequest) Reset() { *m = AdminUnsplitRequest{} } func (m *AdminUnsplitRequest) String() string { return proto.CompactTextString(m) } func (*AdminUnsplitRequest) ProtoMessage() {} func (*AdminUnsplitRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{36} + return fileDescriptor_api_cb78027fb03b5f9a, []int{36} } func (m *AdminUnsplitRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1959,7 +1959,7 @@ func (m *AdminUnsplitResponse) Reset() { *m = AdminUnsplitResponse{} } func (m *AdminUnsplitResponse) String() string { return proto.CompactTextString(m) } func (*AdminUnsplitResponse) ProtoMessage() {} func (*AdminUnsplitResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{37} + return fileDescriptor_api_cb78027fb03b5f9a, []int{37} } func (m *AdminUnsplitResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2001,7 +2001,7 @@ func (m *AdminMergeRequest) Reset() { *m = AdminMergeRequest{} } func (m *AdminMergeRequest) String() string { return proto.CompactTextString(m) } func (*AdminMergeRequest) ProtoMessage() {} func (*AdminMergeRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{38} + return fileDescriptor_api_cb78027fb03b5f9a, []int{38} } func (m *AdminMergeRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2036,7 +2036,7 @@ func (m *AdminMergeResponse) Reset() { *m = AdminMergeResponse{} } func (m *AdminMergeResponse) String() string { return proto.CompactTextString(m) } func (*AdminMergeResponse) ProtoMessage() {} func (*AdminMergeResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{39} + return fileDescriptor_api_cb78027fb03b5f9a, []int{39} } func (m *AdminMergeResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2074,7 +2074,7 @@ func (m *AdminTransferLeaseRequest) Reset() { *m = AdminTransferLeaseReq func (m *AdminTransferLeaseRequest) String() string { return proto.CompactTextString(m) } func (*AdminTransferLeaseRequest) ProtoMessage() {} func (*AdminTransferLeaseRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{40} + return fileDescriptor_api_cb78027fb03b5f9a, []int{40} } func (m *AdminTransferLeaseRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2107,7 +2107,7 @@ func (m *AdminTransferLeaseResponse) Reset() { *m = AdminTransferLeaseRe func (m *AdminTransferLeaseResponse) String() string { return proto.CompactTextString(m) } func (*AdminTransferLeaseResponse) ProtoMessage() {} func (*AdminTransferLeaseResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{41} + return fileDescriptor_api_cb78027fb03b5f9a, []int{41} } func (m *AdminTransferLeaseResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2132,13 +2132,53 @@ func (m *AdminTransferLeaseResponse) XXX_DiscardUnknown() { var xxx_messageInfo_AdminTransferLeaseResponse proto.InternalMessageInfo +type ReplicationChange struct { + ChangeType ReplicaChangeType `protobuf:"varint,1,opt,name=change_type,json=changeType,proto3,enum=cockroach.roachpb.ReplicaChangeType" json:"change_type,omitempty"` + Target ReplicationTarget `protobuf:"bytes,2,opt,name=target,proto3" json:"target"` +} + +func (m *ReplicationChange) Reset() { *m = ReplicationChange{} } +func (m *ReplicationChange) String() string { return proto.CompactTextString(m) } +func (*ReplicationChange) ProtoMessage() {} +func (*ReplicationChange) Descriptor() ([]byte, []int) { + return fileDescriptor_api_cb78027fb03b5f9a, []int{42} +} +func (m *ReplicationChange) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ReplicationChange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + b = b[:cap(b)] + n, err := m.MarshalTo(b) + if err != nil { + return nil, err + } + return b[:n], nil +} +func (dst *ReplicationChange) XXX_Merge(src proto.Message) { + xxx_messageInfo_ReplicationChange.Merge(dst, src) +} +func (m *ReplicationChange) XXX_Size() int { + return m.Size() +} +func (m *ReplicationChange) XXX_DiscardUnknown() { + xxx_messageInfo_ReplicationChange.DiscardUnknown(m) +} + +var xxx_messageInfo_ReplicationChange proto.InternalMessageInfo + // An AdminChangeReplicasRequest is the argument to the AdminChangeReplicas() // method. A change replicas operation allows adding or removing a set of // replicas for a range. type AdminChangeReplicasRequest struct { RequestHeader `protobuf:"bytes,1,opt,name=header,proto3,embedded=header" json:"header"` - ChangeType ReplicaChangeType `protobuf:"varint,2,opt,name=change_type,json=changeType,proto3,enum=cockroach.roachpb.ReplicaChangeType" json:"change_type,omitempty"` - Targets []ReplicationTarget `protobuf:"bytes,3,rep,name=targets,proto3" json:"targets"` + // Never access directly: use .Changes() + // + // TODO(tbg): remove in 20.1 + DeprecatedChangeType ReplicaChangeType `protobuf:"varint,2,opt,name=deprecated_change_type,json=deprecatedChangeType,proto3,enum=cockroach.roachpb.ReplicaChangeType" json:"deprecated_change_type,omitempty"` + // Never access directly: use .Changes() + // + // TODO(tbg): remove in 20.1 + DeprecatedTargets []ReplicationTarget `protobuf:"bytes,3,rep,name=deprecated_targets,json=deprecatedTargets,proto3" json:"deprecated_targets"` // ExpDesc is the expected current range descriptor to modify. If the range // descriptor is not identical to ExpDesc for the request will fail. // @@ -2149,13 +2189,19 @@ type AdminChangeReplicasRequest struct { // it is possible that an error will occur after partial application of the // change. Changes are applied in the order they appear in the request. ExpDesc RangeDescriptor `protobuf:"bytes,4,opt,name=exp_desc,json=expDesc,proto3" json:"exp_desc"` + // The changes to apply to exp_desc. Must not be used when targets is. + // + // Never access directly: use .Changes() + // + // TODO(tbg): rename to 'changes' in 20.1 and remove Changes(). + InternalChanges []ReplicationChange `protobuf:"bytes,5,rep,name=internal_changes,json=internalChanges,proto3" json:"internal_changes"` } func (m *AdminChangeReplicasRequest) Reset() { *m = AdminChangeReplicasRequest{} } func (m *AdminChangeReplicasRequest) String() string { return proto.CompactTextString(m) } func (*AdminChangeReplicasRequest) ProtoMessage() {} func (*AdminChangeReplicasRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{42} + return fileDescriptor_api_cb78027fb03b5f9a, []int{43} } func (m *AdminChangeReplicasRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2190,7 +2236,7 @@ func (m *AdminChangeReplicasResponse) Reset() { *m = AdminChangeReplicas func (m *AdminChangeReplicasResponse) String() string { return proto.CompactTextString(m) } func (*AdminChangeReplicasResponse) ProtoMessage() {} func (*AdminChangeReplicasResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{43} + return fileDescriptor_api_cb78027fb03b5f9a, []int{44} } func (m *AdminChangeReplicasResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2227,7 +2273,7 @@ func (m *AdminRelocateRangeRequest) Reset() { *m = AdminRelocateRangeReq func (m *AdminRelocateRangeRequest) String() string { return proto.CompactTextString(m) } func (*AdminRelocateRangeRequest) ProtoMessage() {} func (*AdminRelocateRangeRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{44} + return fileDescriptor_api_cb78027fb03b5f9a, []int{45} } func (m *AdminRelocateRangeRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2260,7 +2306,7 @@ func (m *AdminRelocateRangeResponse) Reset() { *m = AdminRelocateRangeRe func (m *AdminRelocateRangeResponse) String() string { return proto.CompactTextString(m) } func (*AdminRelocateRangeResponse) ProtoMessage() {} func (*AdminRelocateRangeResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{45} + return fileDescriptor_api_cb78027fb03b5f9a, []int{46} } func (m *AdminRelocateRangeResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2299,7 +2345,7 @@ func (m *HeartbeatTxnRequest) Reset() { *m = HeartbeatTxnRequest{} } func (m *HeartbeatTxnRequest) String() string { return proto.CompactTextString(m) } func (*HeartbeatTxnRequest) ProtoMessage() {} func (*HeartbeatTxnRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{46} + return fileDescriptor_api_cb78027fb03b5f9a, []int{47} } func (m *HeartbeatTxnRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2336,7 +2382,7 @@ func (m *HeartbeatTxnResponse) Reset() { *m = HeartbeatTxnResponse{} } func (m *HeartbeatTxnResponse) String() string { return proto.CompactTextString(m) } func (*HeartbeatTxnResponse) ProtoMessage() {} func (*HeartbeatTxnResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{47} + return fileDescriptor_api_cb78027fb03b5f9a, []int{48} } func (m *HeartbeatTxnResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2374,7 +2420,7 @@ func (m *GCRequest) Reset() { *m = GCRequest{} } func (m *GCRequest) String() string { return proto.CompactTextString(m) } func (*GCRequest) ProtoMessage() {} func (*GCRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{48} + return fileDescriptor_api_cb78027fb03b5f9a, []int{49} } func (m *GCRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2408,7 +2454,7 @@ func (m *GCRequest_GCKey) Reset() { *m = GCRequest_GCKey{} } func (m *GCRequest_GCKey) String() string { return proto.CompactTextString(m) } func (*GCRequest_GCKey) ProtoMessage() {} func (*GCRequest_GCKey) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{48, 0} + return fileDescriptor_api_cb78027fb03b5f9a, []int{49, 0} } func (m *GCRequest_GCKey) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2442,7 +2488,7 @@ func (m *GCResponse) Reset() { *m = GCResponse{} } func (m *GCResponse) String() string { return proto.CompactTextString(m) } func (*GCResponse) ProtoMessage() {} func (*GCResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{49} + return fileDescriptor_api_cb78027fb03b5f9a, []int{50} } func (m *GCResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2517,7 +2563,7 @@ func (m *PushTxnRequest) Reset() { *m = PushTxnRequest{} } func (m *PushTxnRequest) String() string { return proto.CompactTextString(m) } func (*PushTxnRequest) ProtoMessage() {} func (*PushTxnRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{50} + return fileDescriptor_api_cb78027fb03b5f9a, []int{51} } func (m *PushTxnRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2560,7 +2606,7 @@ func (m *PushTxnResponse) Reset() { *m = PushTxnResponse{} } func (m *PushTxnResponse) String() string { return proto.CompactTextString(m) } func (*PushTxnResponse) ProtoMessage() {} func (*PushTxnResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{51} + return fileDescriptor_api_cb78027fb03b5f9a, []int{52} } func (m *PushTxnResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2607,7 +2653,7 @@ func (m *RecoverTxnRequest) Reset() { *m = RecoverTxnRequest{} } func (m *RecoverTxnRequest) String() string { return proto.CompactTextString(m) } func (*RecoverTxnRequest) ProtoMessage() {} func (*RecoverTxnRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{52} + return fileDescriptor_api_cb78027fb03b5f9a, []int{53} } func (m *RecoverTxnRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2643,7 +2689,7 @@ func (m *RecoverTxnResponse) Reset() { *m = RecoverTxnResponse{} } func (m *RecoverTxnResponse) String() string { return proto.CompactTextString(m) } func (*RecoverTxnResponse) ProtoMessage() {} func (*RecoverTxnResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{53} + return fileDescriptor_api_cb78027fb03b5f9a, []int{54} } func (m *RecoverTxnResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2687,7 +2733,7 @@ func (m *QueryTxnRequest) Reset() { *m = QueryTxnRequest{} } func (m *QueryTxnRequest) String() string { return proto.CompactTextString(m) } func (*QueryTxnRequest) ProtoMessage() {} func (*QueryTxnRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{54} + return fileDescriptor_api_cb78027fb03b5f9a, []int{55} } func (m *QueryTxnRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2726,7 +2772,7 @@ func (m *QueryTxnResponse) Reset() { *m = QueryTxnResponse{} } func (m *QueryTxnResponse) String() string { return proto.CompactTextString(m) } func (*QueryTxnResponse) ProtoMessage() {} func (*QueryTxnResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{55} + return fileDescriptor_api_cb78027fb03b5f9a, []int{56} } func (m *QueryTxnResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2786,7 +2832,7 @@ func (m *QueryIntentRequest) Reset() { *m = QueryIntentRequest{} } func (m *QueryIntentRequest) String() string { return proto.CompactTextString(m) } func (*QueryIntentRequest) ProtoMessage() {} func (*QueryIntentRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{56} + return fileDescriptor_api_cb78027fb03b5f9a, []int{57} } func (m *QueryIntentRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2822,7 +2868,7 @@ func (m *QueryIntentResponse) Reset() { *m = QueryIntentResponse{} } func (m *QueryIntentResponse) String() string { return proto.CompactTextString(m) } func (*QueryIntentResponse) ProtoMessage() {} func (*QueryIntentResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{57} + return fileDescriptor_api_cb78027fb03b5f9a, []int{58} } func (m *QueryIntentResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2866,7 +2912,7 @@ func (m *ResolveIntentRequest) Reset() { *m = ResolveIntentRequest{} } func (m *ResolveIntentRequest) String() string { return proto.CompactTextString(m) } func (*ResolveIntentRequest) ProtoMessage() {} func (*ResolveIntentRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{58} + return fileDescriptor_api_cb78027fb03b5f9a, []int{59} } func (m *ResolveIntentRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2901,7 +2947,7 @@ func (m *ResolveIntentResponse) Reset() { *m = ResolveIntentResponse{} } func (m *ResolveIntentResponse) String() string { return proto.CompactTextString(m) } func (*ResolveIntentResponse) ProtoMessage() {} func (*ResolveIntentResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{59} + return fileDescriptor_api_cb78027fb03b5f9a, []int{60} } func (m *ResolveIntentResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2949,7 +2995,7 @@ func (m *ResolveIntentRangeRequest) Reset() { *m = ResolveIntentRangeReq func (m *ResolveIntentRangeRequest) String() string { return proto.CompactTextString(m) } func (*ResolveIntentRangeRequest) ProtoMessage() {} func (*ResolveIntentRangeRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{60} + return fileDescriptor_api_cb78027fb03b5f9a, []int{61} } func (m *ResolveIntentRangeRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2984,7 +3030,7 @@ func (m *ResolveIntentRangeResponse) Reset() { *m = ResolveIntentRangeRe func (m *ResolveIntentRangeResponse) String() string { return proto.CompactTextString(m) } func (*ResolveIntentRangeResponse) ProtoMessage() {} func (*ResolveIntentRangeResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{61} + return fileDescriptor_api_cb78027fb03b5f9a, []int{62} } func (m *ResolveIntentRangeResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3021,7 +3067,7 @@ func (m *MergeRequest) Reset() { *m = MergeRequest{} } func (m *MergeRequest) String() string { return proto.CompactTextString(m) } func (*MergeRequest) ProtoMessage() {} func (*MergeRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{62} + return fileDescriptor_api_cb78027fb03b5f9a, []int{63} } func (m *MergeRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3055,7 +3101,7 @@ func (m *MergeResponse) Reset() { *m = MergeResponse{} } func (m *MergeResponse) String() string { return proto.CompactTextString(m) } func (*MergeResponse) ProtoMessage() {} func (*MergeResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{63} + return fileDescriptor_api_cb78027fb03b5f9a, []int{64} } func (m *MergeResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3100,7 +3146,7 @@ func (m *TruncateLogRequest) Reset() { *m = TruncateLogRequest{} } func (m *TruncateLogRequest) String() string { return proto.CompactTextString(m) } func (*TruncateLogRequest) ProtoMessage() {} func (*TruncateLogRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{64} + return fileDescriptor_api_cb78027fb03b5f9a, []int{65} } func (m *TruncateLogRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3134,7 +3180,7 @@ func (m *TruncateLogResponse) Reset() { *m = TruncateLogResponse{} } func (m *TruncateLogResponse) String() string { return proto.CompactTextString(m) } func (*TruncateLogResponse) ProtoMessage() {} func (*TruncateLogResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{65} + return fileDescriptor_api_cb78027fb03b5f9a, []int{66} } func (m *TruncateLogResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3178,7 +3224,7 @@ func (m *RequestLeaseRequest) Reset() { *m = RequestLeaseRequest{} } func (m *RequestLeaseRequest) String() string { return proto.CompactTextString(m) } func (*RequestLeaseRequest) ProtoMessage() {} func (*RequestLeaseRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{66} + return fileDescriptor_api_cb78027fb03b5f9a, []int{67} } func (m *RequestLeaseRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3227,7 +3273,7 @@ func (m *TransferLeaseRequest) Reset() { *m = TransferLeaseRequest{} } func (m *TransferLeaseRequest) String() string { return proto.CompactTextString(m) } func (*TransferLeaseRequest) ProtoMessage() {} func (*TransferLeaseRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{67} + return fileDescriptor_api_cb78027fb03b5f9a, []int{68} } func (m *TransferLeaseRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3264,7 +3310,7 @@ func (m *LeaseInfoRequest) Reset() { *m = LeaseInfoRequest{} } func (m *LeaseInfoRequest) String() string { return proto.CompactTextString(m) } func (*LeaseInfoRequest) ProtoMessage() {} func (*LeaseInfoRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{68} + return fileDescriptor_api_cb78027fb03b5f9a, []int{69} } func (m *LeaseInfoRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3301,7 +3347,7 @@ func (m *LeaseInfoResponse) Reset() { *m = LeaseInfoResponse{} } func (m *LeaseInfoResponse) String() string { return proto.CompactTextString(m) } func (*LeaseInfoResponse) ProtoMessage() {} func (*LeaseInfoResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{69} + return fileDescriptor_api_cb78027fb03b5f9a, []int{70} } func (m *LeaseInfoResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3336,7 +3382,7 @@ func (m *RequestLeaseResponse) Reset() { *m = RequestLeaseResponse{} } func (m *RequestLeaseResponse) String() string { return proto.CompactTextString(m) } func (*RequestLeaseResponse) ProtoMessage() {} func (*RequestLeaseResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{70} + return fileDescriptor_api_cb78027fb03b5f9a, []int{71} } func (m *RequestLeaseResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3386,7 +3432,7 @@ func (m *ComputeChecksumRequest) Reset() { *m = ComputeChecksumRequest{} func (m *ComputeChecksumRequest) String() string { return proto.CompactTextString(m) } func (*ComputeChecksumRequest) ProtoMessage() {} func (*ComputeChecksumRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{71} + return fileDescriptor_api_cb78027fb03b5f9a, []int{72} } func (m *ComputeChecksumRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3423,7 +3469,7 @@ func (m *ComputeChecksumResponse) Reset() { *m = ComputeChecksumResponse func (m *ComputeChecksumResponse) String() string { return proto.CompactTextString(m) } func (*ComputeChecksumResponse) ProtoMessage() {} func (*ComputeChecksumResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{72} + return fileDescriptor_api_cb78027fb03b5f9a, []int{73} } func (m *ComputeChecksumResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3462,7 +3508,7 @@ func (m *ExportStorage) Reset() { *m = ExportStorage{} } func (m *ExportStorage) String() string { return proto.CompactTextString(m) } func (*ExportStorage) ProtoMessage() {} func (*ExportStorage) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{73} + return fileDescriptor_api_cb78027fb03b5f9a, []int{74} } func (m *ExportStorage) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3496,7 +3542,7 @@ func (m *ExportStorage_LocalFilePath) Reset() { *m = ExportStorage_Local func (m *ExportStorage_LocalFilePath) String() string { return proto.CompactTextString(m) } func (*ExportStorage_LocalFilePath) ProtoMessage() {} func (*ExportStorage_LocalFilePath) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{73, 0} + return fileDescriptor_api_cb78027fb03b5f9a, []int{74, 0} } func (m *ExportStorage_LocalFilePath) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3529,7 +3575,7 @@ func (m *ExportStorage_Http) Reset() { *m = ExportStorage_Http{} } func (m *ExportStorage_Http) String() string { return proto.CompactTextString(m) } func (*ExportStorage_Http) ProtoMessage() {} func (*ExportStorage_Http) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{73, 1} + return fileDescriptor_api_cb78027fb03b5f9a, []int{74, 1} } func (m *ExportStorage_Http) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3568,7 +3614,7 @@ func (m *ExportStorage_S3) Reset() { *m = ExportStorage_S3{} } func (m *ExportStorage_S3) String() string { return proto.CompactTextString(m) } func (*ExportStorage_S3) ProtoMessage() {} func (*ExportStorage_S3) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{73, 2} + return fileDescriptor_api_cb78027fb03b5f9a, []int{74, 2} } func (m *ExportStorage_S3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3607,7 +3653,7 @@ func (m *ExportStorage_GCS) Reset() { *m = ExportStorage_GCS{} } func (m *ExportStorage_GCS) String() string { return proto.CompactTextString(m) } func (*ExportStorage_GCS) ProtoMessage() {} func (*ExportStorage_GCS) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{73, 3} + return fileDescriptor_api_cb78027fb03b5f9a, []int{74, 3} } func (m *ExportStorage_GCS) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3643,7 +3689,7 @@ func (m *ExportStorage_Azure) Reset() { *m = ExportStorage_Azure{} } func (m *ExportStorage_Azure) String() string { return proto.CompactTextString(m) } func (*ExportStorage_Azure) ProtoMessage() {} func (*ExportStorage_Azure) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{73, 4} + return fileDescriptor_api_cb78027fb03b5f9a, []int{74, 4} } func (m *ExportStorage_Azure) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3682,7 +3728,7 @@ func (m *ExportStorage_Workload) Reset() { *m = ExportStorage_Workload{} func (m *ExportStorage_Workload) String() string { return proto.CompactTextString(m) } func (*ExportStorage_Workload) ProtoMessage() {} func (*ExportStorage_Workload) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{73, 5} + return fileDescriptor_api_cb78027fb03b5f9a, []int{74, 5} } func (m *ExportStorage_Workload) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3722,7 +3768,7 @@ func (m *WriteBatchRequest) Reset() { *m = WriteBatchRequest{} } func (m *WriteBatchRequest) String() string { return proto.CompactTextString(m) } func (*WriteBatchRequest) ProtoMessage() {} func (*WriteBatchRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{74} + return fileDescriptor_api_cb78027fb03b5f9a, []int{75} } func (m *WriteBatchRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3756,7 +3802,7 @@ func (m *WriteBatchResponse) Reset() { *m = WriteBatchResponse{} } func (m *WriteBatchResponse) String() string { return proto.CompactTextString(m) } func (*WriteBatchResponse) ProtoMessage() {} func (*WriteBatchResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{75} + return fileDescriptor_api_cb78027fb03b5f9a, []int{76} } func (m *WriteBatchResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3818,7 +3864,7 @@ func (m *ExportRequest) Reset() { *m = ExportRequest{} } func (m *ExportRequest) String() string { return proto.CompactTextString(m) } func (*ExportRequest) ProtoMessage() {} func (*ExportRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{76} + return fileDescriptor_api_cb78027fb03b5f9a, []int{77} } func (m *ExportRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3854,7 +3900,7 @@ func (m *BulkOpSummary) Reset() { *m = BulkOpSummary{} } func (m *BulkOpSummary) String() string { return proto.CompactTextString(m) } func (*BulkOpSummary) ProtoMessage() {} func (*BulkOpSummary) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{77} + return fileDescriptor_api_cb78027fb03b5f9a, []int{78} } func (m *BulkOpSummary) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3890,7 +3936,7 @@ func (m *ExportResponse) Reset() { *m = ExportResponse{} } func (m *ExportResponse) String() string { return proto.CompactTextString(m) } func (*ExportResponse) ProtoMessage() {} func (*ExportResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{78} + return fileDescriptor_api_cb78027fb03b5f9a, []int{79} } func (m *ExportResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3930,7 +3976,7 @@ func (m *ExportResponse_File) Reset() { *m = ExportResponse_File{} } func (m *ExportResponse_File) String() string { return proto.CompactTextString(m) } func (*ExportResponse_File) ProtoMessage() {} func (*ExportResponse_File) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{78, 0} + return fileDescriptor_api_cb78027fb03b5f9a, []int{79, 0} } func (m *ExportResponse_File) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3980,7 +4026,7 @@ func (m *ImportRequest) Reset() { *m = ImportRequest{} } func (m *ImportRequest) String() string { return proto.CompactTextString(m) } func (*ImportRequest) ProtoMessage() {} func (*ImportRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{79} + return fileDescriptor_api_cb78027fb03b5f9a, []int{80} } func (m *ImportRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4015,7 +4061,7 @@ func (m *ImportRequest_File) Reset() { *m = ImportRequest_File{} } func (m *ImportRequest_File) String() string { return proto.CompactTextString(m) } func (*ImportRequest_File) ProtoMessage() {} func (*ImportRequest_File) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{79, 0} + return fileDescriptor_api_cb78027fb03b5f9a, []int{80, 0} } func (m *ImportRequest_File) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4051,7 +4097,7 @@ func (m *ImportRequest_TableRekey) Reset() { *m = ImportRequest_TableRek func (m *ImportRequest_TableRekey) String() string { return proto.CompactTextString(m) } func (*ImportRequest_TableRekey) ProtoMessage() {} func (*ImportRequest_TableRekey) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{79, 1} + return fileDescriptor_api_cb78027fb03b5f9a, []int{80, 1} } func (m *ImportRequest_TableRekey) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4086,7 +4132,7 @@ func (m *ImportResponse) Reset() { *m = ImportResponse{} } func (m *ImportResponse) String() string { return proto.CompactTextString(m) } func (*ImportResponse) ProtoMessage() {} func (*ImportResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{80} + return fileDescriptor_api_cb78027fb03b5f9a, []int{81} } func (m *ImportResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4124,7 +4170,7 @@ func (m *AdminScatterRequest) Reset() { *m = AdminScatterRequest{} } func (m *AdminScatterRequest) String() string { return proto.CompactTextString(m) } func (*AdminScatterRequest) ProtoMessage() {} func (*AdminScatterRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{81} + return fileDescriptor_api_cb78027fb03b5f9a, []int{82} } func (m *AdminScatterRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4159,7 +4205,7 @@ func (m *AdminScatterResponse) Reset() { *m = AdminScatterResponse{} } func (m *AdminScatterResponse) String() string { return proto.CompactTextString(m) } func (*AdminScatterResponse) ProtoMessage() {} func (*AdminScatterResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{82} + return fileDescriptor_api_cb78027fb03b5f9a, []int{83} } func (m *AdminScatterResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4192,7 +4238,7 @@ func (m *AdminScatterResponse_Range) Reset() { *m = AdminScatterResponse func (m *AdminScatterResponse_Range) String() string { return proto.CompactTextString(m) } func (*AdminScatterResponse_Range) ProtoMessage() {} func (*AdminScatterResponse_Range) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{82, 0} + return fileDescriptor_api_cb78027fb03b5f9a, []int{83, 0} } func (m *AdminScatterResponse_Range) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4237,7 +4283,7 @@ func (m *AddSSTableRequest) Reset() { *m = AddSSTableRequest{} } func (m *AddSSTableRequest) String() string { return proto.CompactTextString(m) } func (*AddSSTableRequest) ProtoMessage() {} func (*AddSSTableRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{83} + return fileDescriptor_api_cb78027fb03b5f9a, []int{84} } func (m *AddSSTableRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4271,7 +4317,7 @@ func (m *AddSSTableResponse) Reset() { *m = AddSSTableResponse{} } func (m *AddSSTableResponse) String() string { return proto.CompactTextString(m) } func (*AddSSTableResponse) ProtoMessage() {} func (*AddSSTableResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{84} + return fileDescriptor_api_cb78027fb03b5f9a, []int{85} } func (m *AddSSTableResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4315,7 +4361,7 @@ func (m *RefreshRequest) Reset() { *m = RefreshRequest{} } func (m *RefreshRequest) String() string { return proto.CompactTextString(m) } func (*RefreshRequest) ProtoMessage() {} func (*RefreshRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{85} + return fileDescriptor_api_cb78027fb03b5f9a, []int{86} } func (m *RefreshRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4349,7 +4395,7 @@ func (m *RefreshResponse) Reset() { *m = RefreshResponse{} } func (m *RefreshResponse) String() string { return proto.CompactTextString(m) } func (*RefreshResponse) ProtoMessage() {} func (*RefreshResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{86} + return fileDescriptor_api_cb78027fb03b5f9a, []int{87} } func (m *RefreshResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4389,7 +4435,7 @@ func (m *RefreshRangeRequest) Reset() { *m = RefreshRangeRequest{} } func (m *RefreshRangeRequest) String() string { return proto.CompactTextString(m) } func (*RefreshRangeRequest) ProtoMessage() {} func (*RefreshRangeRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{87} + return fileDescriptor_api_cb78027fb03b5f9a, []int{88} } func (m *RefreshRangeRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4423,7 +4469,7 @@ func (m *RefreshRangeResponse) Reset() { *m = RefreshRangeResponse{} } func (m *RefreshRangeResponse) String() string { return proto.CompactTextString(m) } func (*RefreshRangeResponse) ProtoMessage() {} func (*RefreshRangeResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{88} + return fileDescriptor_api_cb78027fb03b5f9a, []int{89} } func (m *RefreshRangeResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4475,7 +4521,7 @@ func (m *SubsumeRequest) Reset() { *m = SubsumeRequest{} } func (m *SubsumeRequest) String() string { return proto.CompactTextString(m) } func (*SubsumeRequest) ProtoMessage() {} func (*SubsumeRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{89} + return fileDescriptor_api_cb78027fb03b5f9a, []int{90} } func (m *SubsumeRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4520,7 +4566,7 @@ func (m *SubsumeResponse) Reset() { *m = SubsumeResponse{} } func (m *SubsumeResponse) String() string { return proto.CompactTextString(m) } func (*SubsumeResponse) ProtoMessage() {} func (*SubsumeResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{90} + return fileDescriptor_api_cb78027fb03b5f9a, []int{91} } func (m *SubsumeResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4555,7 +4601,7 @@ func (m *RangeStatsRequest) Reset() { *m = RangeStatsRequest{} } func (m *RangeStatsRequest) String() string { return proto.CompactTextString(m) } func (*RangeStatsRequest) ProtoMessage() {} func (*RangeStatsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{91} + return fileDescriptor_api_cb78027fb03b5f9a, []int{92} } func (m *RangeStatsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4594,7 +4640,7 @@ func (m *RangeStatsResponse) Reset() { *m = RangeStatsResponse{} } func (m *RangeStatsResponse) String() string { return proto.CompactTextString(m) } func (*RangeStatsResponse) ProtoMessage() {} func (*RangeStatsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{92} + return fileDescriptor_api_cb78027fb03b5f9a, []int{93} } func (m *RangeStatsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4677,7 +4723,7 @@ func (m *RequestUnion) Reset() { *m = RequestUnion{} } func (m *RequestUnion) String() string { return proto.CompactTextString(m) } func (*RequestUnion) ProtoMessage() {} func (*RequestUnion) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{93} + return fileDescriptor_api_cb78027fb03b5f9a, []int{94} } func (m *RequestUnion) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6127,7 +6173,7 @@ func (m *ResponseUnion) Reset() { *m = ResponseUnion{} } func (m *ResponseUnion) String() string { return proto.CompactTextString(m) } func (*ResponseUnion) ProtoMessage() {} func (*ResponseUnion) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{94} + return fileDescriptor_api_cb78027fb03b5f9a, []int{95} } func (m *ResponseUnion) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7571,7 +7617,7 @@ func (m *Header) Reset() { *m = Header{} } func (m *Header) String() string { return proto.CompactTextString(m) } func (*Header) ProtoMessage() {} func (*Header) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{95} + return fileDescriptor_api_cb78027fb03b5f9a, []int{96} } func (m *Header) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7607,7 +7653,7 @@ type BatchRequest struct { func (m *BatchRequest) Reset() { *m = BatchRequest{} } func (*BatchRequest) ProtoMessage() {} func (*BatchRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{96} + return fileDescriptor_api_cb78027fb03b5f9a, []int{97} } func (m *BatchRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7644,7 +7690,7 @@ type BatchResponse struct { func (m *BatchResponse) Reset() { *m = BatchResponse{} } func (*BatchResponse) ProtoMessage() {} func (*BatchResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{97} + return fileDescriptor_api_cb78027fb03b5f9a, []int{98} } func (m *BatchResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7703,7 +7749,7 @@ func (m *BatchResponse_Header) Reset() { *m = BatchResponse_Header{} } func (m *BatchResponse_Header) String() string { return proto.CompactTextString(m) } func (*BatchResponse_Header) ProtoMessage() {} func (*BatchResponse_Header) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{97, 0} + return fileDescriptor_api_cb78027fb03b5f9a, []int{98, 0} } func (m *BatchResponse_Header) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7739,7 +7785,7 @@ func (m *RangeFeedRequest) Reset() { *m = RangeFeedRequest{} } func (m *RangeFeedRequest) String() string { return proto.CompactTextString(m) } func (*RangeFeedRequest) ProtoMessage() {} func (*RangeFeedRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{98} + return fileDescriptor_api_cb78027fb03b5f9a, []int{99} } func (m *RangeFeedRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7775,7 +7821,7 @@ func (m *RangeFeedValue) Reset() { *m = RangeFeedValue{} } func (m *RangeFeedValue) String() string { return proto.CompactTextString(m) } func (*RangeFeedValue) ProtoMessage() {} func (*RangeFeedValue) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{99} + return fileDescriptor_api_cb78027fb03b5f9a, []int{100} } func (m *RangeFeedValue) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7816,7 +7862,7 @@ func (m *RangeFeedCheckpoint) Reset() { *m = RangeFeedCheckpoint{} } func (m *RangeFeedCheckpoint) String() string { return proto.CompactTextString(m) } func (*RangeFeedCheckpoint) ProtoMessage() {} func (*RangeFeedCheckpoint) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{100} + return fileDescriptor_api_cb78027fb03b5f9a, []int{101} } func (m *RangeFeedCheckpoint) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7853,7 +7899,7 @@ func (m *RangeFeedError) Reset() { *m = RangeFeedError{} } func (m *RangeFeedError) String() string { return proto.CompactTextString(m) } func (*RangeFeedError) ProtoMessage() {} func (*RangeFeedError) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{101} + return fileDescriptor_api_cb78027fb03b5f9a, []int{102} } func (m *RangeFeedError) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7890,7 +7936,7 @@ func (m *RangeFeedEvent) Reset() { *m = RangeFeedEvent{} } func (m *RangeFeedEvent) String() string { return proto.CompactTextString(m) } func (*RangeFeedEvent) ProtoMessage() {} func (*RangeFeedEvent) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a541de2cc425b8bd, []int{102} + return fileDescriptor_api_cb78027fb03b5f9a, []int{103} } func (m *RangeFeedEvent) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7959,6 +8005,7 @@ func init() { proto.RegisterType((*AdminMergeResponse)(nil), "cockroach.roachpb.AdminMergeResponse") proto.RegisterType((*AdminTransferLeaseRequest)(nil), "cockroach.roachpb.AdminTransferLeaseRequest") proto.RegisterType((*AdminTransferLeaseResponse)(nil), "cockroach.roachpb.AdminTransferLeaseResponse") + proto.RegisterType((*ReplicationChange)(nil), "cockroach.roachpb.ReplicationChange") proto.RegisterType((*AdminChangeReplicasRequest)(nil), "cockroach.roachpb.AdminChangeReplicasRequest") proto.RegisterType((*AdminChangeReplicasResponse)(nil), "cockroach.roachpb.AdminChangeReplicasResponse") proto.RegisterType((*AdminRelocateRangeRequest)(nil), "cockroach.roachpb.AdminRelocateRangeRequest") @@ -8658,6 +8705,33 @@ func (this *AdminTransferLeaseRequest) Equal(that interface{}) bool { } return true } +func (this *ReplicationChange) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + that1, ok := that.(*ReplicationChange) + if !ok { + that2, ok := that.(ReplicationChange) + if ok { + that1 = &that2 + } else { + return false + } + } + if that1 == nil { + return this == nil + } else if this == nil { + return false + } + if this.ChangeType != that1.ChangeType { + return false + } + if !this.Target.Equal(&that1.Target) { + return false + } + return true +} func (this *AdminChangeReplicasRequest) Equal(that interface{}) bool { if that == nil { return this == nil @@ -8680,20 +8754,28 @@ func (this *AdminChangeReplicasRequest) Equal(that interface{}) bool { if !this.RequestHeader.Equal(&that1.RequestHeader) { return false } - if this.ChangeType != that1.ChangeType { + if this.DeprecatedChangeType != that1.DeprecatedChangeType { return false } - if len(this.Targets) != len(that1.Targets) { + if len(this.DeprecatedTargets) != len(that1.DeprecatedTargets) { return false } - for i := range this.Targets { - if !this.Targets[i].Equal(&that1.Targets[i]) { + for i := range this.DeprecatedTargets { + if !this.DeprecatedTargets[i].Equal(&that1.DeprecatedTargets[i]) { return false } } if !this.ExpDesc.Equal(&that1.ExpDesc) { return false } + if len(this.InternalChanges) != len(that1.InternalChanges) { + return false + } + for i := range this.InternalChanges { + if !this.InternalChanges[i].Equal(&that1.InternalChanges[i]) { + return false + } + } return true } func (this *AdminRelocateRangeRequest) Equal(that interface{}) bool { @@ -11544,6 +11626,37 @@ func (m *AdminTransferLeaseResponse) MarshalTo(dAtA []byte) (int, error) { return i, nil } +func (m *ReplicationChange) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ReplicationChange) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if m.ChangeType != 0 { + dAtA[i] = 0x8 + i++ + i = encodeVarintApi(dAtA, i, uint64(m.ChangeType)) + } + dAtA[i] = 0x12 + i++ + i = encodeVarintApi(dAtA, i, uint64(m.Target.Size())) + n55, err := m.Target.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n55 + return i, nil +} + func (m *AdminChangeReplicasRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -11562,18 +11675,18 @@ func (m *AdminChangeReplicasRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n55, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n56, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n55 - if m.ChangeType != 0 { + i += n56 + if m.DeprecatedChangeType != 0 { dAtA[i] = 0x10 i++ - i = encodeVarintApi(dAtA, i, uint64(m.ChangeType)) + i = encodeVarintApi(dAtA, i, uint64(m.DeprecatedChangeType)) } - if len(m.Targets) > 0 { - for _, msg := range m.Targets { + if len(m.DeprecatedTargets) > 0 { + for _, msg := range m.DeprecatedTargets { dAtA[i] = 0x1a i++ i = encodeVarintApi(dAtA, i, uint64(msg.Size())) @@ -11587,11 +11700,23 @@ func (m *AdminChangeReplicasRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x22 i++ i = encodeVarintApi(dAtA, i, uint64(m.ExpDesc.Size())) - n56, err := m.ExpDesc.MarshalTo(dAtA[i:]) + n57, err := m.ExpDesc.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n56 + i += n57 + if len(m.InternalChanges) > 0 { + for _, msg := range m.InternalChanges { + dAtA[i] = 0x2a + i++ + i = encodeVarintApi(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } return i, nil } @@ -11613,19 +11738,19 @@ func (m *AdminChangeReplicasResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n57, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n58, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n57 + i += n58 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.Desc.Size())) - n58, err := m.Desc.MarshalTo(dAtA[i:]) + n59, err := m.Desc.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n58 + i += n59 return i, nil } @@ -11647,11 +11772,11 @@ func (m *AdminRelocateRangeRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n59, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n60, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n59 + i += n60 if len(m.Targets) > 0 { for _, msg := range m.Targets { dAtA[i] = 0x12 @@ -11685,11 +11810,11 @@ func (m *AdminRelocateRangeResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n60, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n61, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n60 + i += n61 return i, nil } @@ -11711,19 +11836,19 @@ func (m *HeartbeatTxnRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n61, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n62, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n61 + i += n62 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.Now.Size())) - n62, err := m.Now.MarshalTo(dAtA[i:]) + n63, err := m.Now.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n62 + i += n63 return i, nil } @@ -11745,11 +11870,11 @@ func (m *HeartbeatTxnResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n63, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n64, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n63 + i += n64 return i, nil } @@ -11771,11 +11896,11 @@ func (m *GCRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n64, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n65, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n64 + i += n65 if len(m.Keys) > 0 { for _, msg := range m.Keys { dAtA[i] = 0x1a @@ -11791,11 +11916,11 @@ func (m *GCRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x22 i++ i = encodeVarintApi(dAtA, i, uint64(m.Threshold.Size())) - n65, err := m.Threshold.MarshalTo(dAtA[i:]) + n66, err := m.Threshold.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n65 + i += n66 return i, nil } @@ -11823,11 +11948,11 @@ func (m *GCRequest_GCKey) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.Timestamp.Size())) - n66, err := m.Timestamp.MarshalTo(dAtA[i:]) + n67, err := m.Timestamp.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n66 + i += n67 return i, nil } @@ -11849,11 +11974,11 @@ func (m *GCResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n67, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n68, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n67 + i += n68 return i, nil } @@ -11875,35 +12000,35 @@ func (m *PushTxnRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n68, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n69, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n68 + i += n69 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.PusherTxn.Size())) - n69, err := m.PusherTxn.MarshalTo(dAtA[i:]) + n70, err := m.PusherTxn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n69 + i += n70 dAtA[i] = 0x1a i++ i = encodeVarintApi(dAtA, i, uint64(m.PusheeTxn.Size())) - n70, err := m.PusheeTxn.MarshalTo(dAtA[i:]) + n71, err := m.PusheeTxn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n70 + i += n71 dAtA[i] = 0x22 i++ i = encodeVarintApi(dAtA, i, uint64(m.PushTo.Size())) - n71, err := m.PushTo.MarshalTo(dAtA[i:]) + n72, err := m.PushTo.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n71 + i += n72 if m.PushType != 0 { dAtA[i] = 0x30 i++ @@ -11950,19 +12075,19 @@ func (m *PushTxnResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n72, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n73, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n72 + i += n73 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.PusheeTxn.Size())) - n73, err := m.PusheeTxn.MarshalTo(dAtA[i:]) + n74, err := m.PusheeTxn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n73 + i += n74 return i, nil } @@ -11984,19 +12109,19 @@ func (m *RecoverTxnRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n74, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n75, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n74 + i += n75 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.Txn.Size())) - n75, err := m.Txn.MarshalTo(dAtA[i:]) + n76, err := m.Txn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n75 + i += n76 if m.ImplicitlyCommitted { dAtA[i] = 0x18 i++ @@ -12028,19 +12153,19 @@ func (m *RecoverTxnResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n76, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n77, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n76 + i += n77 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.RecoveredTxn.Size())) - n77, err := m.RecoveredTxn.MarshalTo(dAtA[i:]) + n78, err := m.RecoveredTxn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n77 + i += n78 return i, nil } @@ -12062,19 +12187,19 @@ func (m *QueryTxnRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n78, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n79, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n78 + i += n79 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.Txn.Size())) - n79, err := m.Txn.MarshalTo(dAtA[i:]) + n80, err := m.Txn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n79 + i += n80 if m.WaitForUpdate { dAtA[i] = 0x18 i++ @@ -12118,19 +12243,19 @@ func (m *QueryTxnResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n80, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n81, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n80 + i += n81 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.QueriedTxn.Size())) - n81, err := m.QueriedTxn.MarshalTo(dAtA[i:]) + n82, err := m.QueriedTxn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n81 + i += n82 if len(m.WaitingTxns) > 0 { for _, msg := range m.WaitingTxns { dAtA[i] = 0x1a @@ -12164,19 +12289,19 @@ func (m *QueryIntentRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n82, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n83, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n82 + i += n83 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.Txn.Size())) - n83, err := m.Txn.MarshalTo(dAtA[i:]) + n84, err := m.Txn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n83 + i += n84 if m.ErrorIfMissing { dAtA[i] = 0x18 i++ @@ -12208,11 +12333,11 @@ func (m *QueryIntentResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n84, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n85, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n84 + i += n85 if m.FoundIntent { dAtA[i] = 0x10 i++ @@ -12244,19 +12369,19 @@ func (m *ResolveIntentRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n85, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n86, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n85 + i += n86 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.IntentTxn.Size())) - n86, err := m.IntentTxn.MarshalTo(dAtA[i:]) + n87, err := m.IntentTxn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n86 + i += n87 if m.Status != 0 { dAtA[i] = 0x18 i++ @@ -12293,11 +12418,11 @@ func (m *ResolveIntentResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n87, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n88, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n87 + i += n88 return i, nil } @@ -12319,19 +12444,19 @@ func (m *ResolveIntentRangeRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n88, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n89, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n88 + i += n89 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.IntentTxn.Size())) - n89, err := m.IntentTxn.MarshalTo(dAtA[i:]) + n90, err := m.IntentTxn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n89 + i += n90 if m.Status != 0 { dAtA[i] = 0x18 i++ @@ -12350,11 +12475,11 @@ func (m *ResolveIntentRangeRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2a i++ i = encodeVarintApi(dAtA, i, uint64(m.MinTimestamp.Size())) - n90, err := m.MinTimestamp.MarshalTo(dAtA[i:]) + n91, err := m.MinTimestamp.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n90 + i += n91 return i, nil } @@ -12376,11 +12501,11 @@ func (m *ResolveIntentRangeResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n91, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n92, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n91 + i += n92 return i, nil } @@ -12402,19 +12527,19 @@ func (m *MergeRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n92, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n93, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n92 + i += n93 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.Value.Size())) - n93, err := m.Value.MarshalTo(dAtA[i:]) + n94, err := m.Value.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n93 + i += n94 return i, nil } @@ -12436,11 +12561,11 @@ func (m *MergeResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n94, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n95, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n94 + i += n95 return i, nil } @@ -12462,11 +12587,11 @@ func (m *TruncateLogRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n95, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n96, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n95 + i += n96 if m.Index != 0 { dAtA[i] = 0x10 i++ @@ -12498,11 +12623,11 @@ func (m *TruncateLogResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n96, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n97, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n96 + i += n97 return i, nil } @@ -12524,36 +12649,36 @@ func (m *RequestLeaseRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n97, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n98, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n97 + i += n98 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.Lease.Size())) - n98, err := m.Lease.MarshalTo(dAtA[i:]) + n99, err := m.Lease.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n98 + i += n99 dAtA[i] = 0x1a i++ i = encodeVarintApi(dAtA, i, uint64(m.PrevLease.Size())) - n99, err := m.PrevLease.MarshalTo(dAtA[i:]) + n100, err := m.PrevLease.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n99 + i += n100 if m.MinProposedTS != nil { dAtA[i] = 0x22 i++ i = encodeVarintApi(dAtA, i, uint64(m.MinProposedTS.Size())) - n100, err := m.MinProposedTS.MarshalTo(dAtA[i:]) + n101, err := m.MinProposedTS.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n100 + i += n101 } return i, nil } @@ -12576,27 +12701,27 @@ func (m *TransferLeaseRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n101, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n102, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n101 + i += n102 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.Lease.Size())) - n102, err := m.Lease.MarshalTo(dAtA[i:]) + n103, err := m.Lease.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n102 + i += n103 dAtA[i] = 0x1a i++ i = encodeVarintApi(dAtA, i, uint64(m.PrevLease.Size())) - n103, err := m.PrevLease.MarshalTo(dAtA[i:]) + n104, err := m.PrevLease.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n103 + i += n104 return i, nil } @@ -12618,11 +12743,11 @@ func (m *LeaseInfoRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n104, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n105, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n104 + i += n105 return i, nil } @@ -12644,19 +12769,19 @@ func (m *LeaseInfoResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n105, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n106, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n105 + i += n106 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.Lease.Size())) - n106, err := m.Lease.MarshalTo(dAtA[i:]) + n107, err := m.Lease.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n106 + i += n107 return i, nil } @@ -12678,11 +12803,11 @@ func (m *RequestLeaseResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n107, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n108, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n107 + i += n108 return i, nil } @@ -12704,11 +12829,11 @@ func (m *ComputeChecksumRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n108, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n109, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n108 + i += n109 if m.Version != 0 { dAtA[i] = 0x10 i++ @@ -12760,19 +12885,19 @@ func (m *ComputeChecksumResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n109, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n110, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n109 + i += n110 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.ChecksumID.Size())) - n110, err := m.ChecksumID.MarshalTo(dAtA[i:]) + n111, err := m.ChecksumID.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n110 + i += n111 return i, nil } @@ -12799,58 +12924,58 @@ func (m *ExportStorage) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.LocalFile.Size())) - n111, err := m.LocalFile.MarshalTo(dAtA[i:]) + n112, err := m.LocalFile.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n111 + i += n112 dAtA[i] = 0x1a i++ i = encodeVarintApi(dAtA, i, uint64(m.HttpPath.Size())) - n112, err := m.HttpPath.MarshalTo(dAtA[i:]) + n113, err := m.HttpPath.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n112 + i += n113 if m.GoogleCloudConfig != nil { dAtA[i] = 0x22 i++ i = encodeVarintApi(dAtA, i, uint64(m.GoogleCloudConfig.Size())) - n113, err := m.GoogleCloudConfig.MarshalTo(dAtA[i:]) + n114, err := m.GoogleCloudConfig.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n113 + i += n114 } if m.S3Config != nil { dAtA[i] = 0x2a i++ i = encodeVarintApi(dAtA, i, uint64(m.S3Config.Size())) - n114, err := m.S3Config.MarshalTo(dAtA[i:]) + n115, err := m.S3Config.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n114 + i += n115 } if m.AzureConfig != nil { dAtA[i] = 0x32 i++ i = encodeVarintApi(dAtA, i, uint64(m.AzureConfig.Size())) - n115, err := m.AzureConfig.MarshalTo(dAtA[i:]) + n116, err := m.AzureConfig.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n115 + i += n116 } if m.WorkloadConfig != nil { dAtA[i] = 0x3a i++ i = encodeVarintApi(dAtA, i, uint64(m.WorkloadConfig.Size())) - n116, err := m.WorkloadConfig.MarshalTo(dAtA[i:]) + n117, err := m.WorkloadConfig.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n116 + i += n117 } return i, nil } @@ -13143,19 +13268,19 @@ func (m *WriteBatchRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n117, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n118, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n117 + i += n118 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.DataSpan.Size())) - n118, err := m.DataSpan.MarshalTo(dAtA[i:]) + n119, err := m.DataSpan.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n118 + i += n119 if len(m.Data) > 0 { dAtA[i] = 0x1a i++ @@ -13183,11 +13308,11 @@ func (m *WriteBatchResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n119, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n120, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n119 + i += n120 return i, nil } @@ -13209,27 +13334,27 @@ func (m *ExportRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n120, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n121, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n120 + i += n121 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.Storage.Size())) - n121, err := m.Storage.MarshalTo(dAtA[i:]) + n122, err := m.Storage.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n121 + i += n122 dAtA[i] = 0x1a i++ i = encodeVarintApi(dAtA, i, uint64(m.StartTime.Size())) - n122, err := m.StartTime.MarshalTo(dAtA[i:]) + n123, err := m.StartTime.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n122 + i += n123 if m.MVCCFilter != 0 { dAtA[i] = 0x20 i++ @@ -13290,11 +13415,11 @@ func (m *ExportRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(v.Size())) - n123, err := v.MarshalTo(dAtA[i:]) + n124, err := v.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n123 + i += n124 } } } @@ -13357,11 +13482,11 @@ func (m *ExportResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n124, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n125, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n124 + i += n125 if len(m.Files) > 0 { for _, msg := range m.Files { dAtA[i] = 0x12 @@ -13377,11 +13502,11 @@ func (m *ExportResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintApi(dAtA, i, uint64(m.StartTime.Size())) - n125, err := m.StartTime.MarshalTo(dAtA[i:]) + n126, err := m.StartTime.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n125 + i += n126 return i, nil } @@ -13403,11 +13528,11 @@ func (m *ExportResponse_File) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.Span.Size())) - n126, err := m.Span.MarshalTo(dAtA[i:]) + n127, err := m.Span.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n126 + i += n127 if len(m.Path) > 0 { dAtA[i] = 0x12 i++ @@ -13423,11 +13548,11 @@ func (m *ExportResponse_File) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x32 i++ i = encodeVarintApi(dAtA, i, uint64(m.Exported.Size())) - n127, err := m.Exported.MarshalTo(dAtA[i:]) + n128, err := m.Exported.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n127 + i += n128 if len(m.SST) > 0 { dAtA[i] = 0x3a i++ @@ -13461,11 +13586,11 @@ func (m *ImportRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n128, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n129, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n128 + i += n129 if len(m.Files) > 0 { for _, msg := range m.Files { dAtA[i] = 0x12 @@ -13481,11 +13606,11 @@ func (m *ImportRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintApi(dAtA, i, uint64(m.DataSpan.Size())) - n129, err := m.DataSpan.MarshalTo(dAtA[i:]) + n130, err := m.DataSpan.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n129 + i += n130 if len(m.Rekeys) > 0 { for _, msg := range m.Rekeys { dAtA[i] = 0x2a @@ -13501,11 +13626,11 @@ func (m *ImportRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x32 i++ i = encodeVarintApi(dAtA, i, uint64(m.EndTime.Size())) - n130, err := m.EndTime.MarshalTo(dAtA[i:]) + n131, err := m.EndTime.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n130 + i += n131 return i, nil } @@ -13527,11 +13652,11 @@ func (m *ImportRequest_File) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.Dir.Size())) - n131, err := m.Dir.MarshalTo(dAtA[i:]) + n132, err := m.Dir.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n131 + i += n132 if len(m.Path) > 0 { dAtA[i] = 0x12 i++ @@ -13594,19 +13719,19 @@ func (m *ImportResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n132, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n133, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n132 + i += n133 dAtA[i] = 0x1a i++ i = encodeVarintApi(dAtA, i, uint64(m.Imported.Size())) - n133, err := m.Imported.MarshalTo(dAtA[i:]) + n134, err := m.Imported.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n133 + i += n134 return i, nil } @@ -13628,11 +13753,11 @@ func (m *AdminScatterRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n134, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n135, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n134 + i += n135 if m.RandomizeLeases { dAtA[i] = 0x10 i++ @@ -13664,11 +13789,11 @@ func (m *AdminScatterResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n135, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n136, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n135 + i += n136 if len(m.Ranges) > 0 { for _, msg := range m.Ranges { dAtA[i] = 0x12 @@ -13702,11 +13827,11 @@ func (m *AdminScatterResponse_Range) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.Span.Size())) - n136, err := m.Span.MarshalTo(dAtA[i:]) + n137, err := m.Span.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n136 + i += n137 return i, nil } @@ -13728,11 +13853,11 @@ func (m *AddSSTableRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n137, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n138, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n137 + i += n138 if len(m.Data) > 0 { dAtA[i] = 0x12 i++ @@ -13753,11 +13878,11 @@ func (m *AddSSTableRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x22 i++ i = encodeVarintApi(dAtA, i, uint64(m.MVCCStats.Size())) - n138, err := m.MVCCStats.MarshalTo(dAtA[i:]) + n139, err := m.MVCCStats.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n138 + i += n139 } return i, nil } @@ -13780,11 +13905,11 @@ func (m *AddSSTableResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n139, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n140, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n139 + i += n140 return i, nil } @@ -13806,11 +13931,11 @@ func (m *RefreshRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n140, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n141, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n140 + i += n141 if m.Write { dAtA[i] = 0x10 i++ @@ -13842,11 +13967,11 @@ func (m *RefreshResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n141, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n142, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n141 + i += n142 return i, nil } @@ -13868,11 +13993,11 @@ func (m *RefreshRangeRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n142, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n143, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n142 + i += n143 if m.Write { dAtA[i] = 0x10 i++ @@ -13904,11 +14029,11 @@ func (m *RefreshRangeResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n143, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n144, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n143 + i += n144 return i, nil } @@ -13930,28 +14055,28 @@ func (m *SubsumeRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n144, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n145, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n144 + i += n145 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.LeftDesc.Size())) - n145, err := m.LeftDesc.MarshalTo(dAtA[i:]) + n146, err := m.LeftDesc.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n145 + i += n146 if m.RightDesc != nil { dAtA[i] = 0x1a i++ i = encodeVarintApi(dAtA, i, uint64(m.RightDesc.Size())) - n146, err := m.RightDesc.MarshalTo(dAtA[i:]) + n147, err := m.RightDesc.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n146 + i += n147 } return i, nil } @@ -13974,19 +14099,19 @@ func (m *SubsumeResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n147, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n148, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n147 + i += n148 dAtA[i] = 0x1a i++ i = encodeVarintApi(dAtA, i, uint64(m.MVCCStats.Size())) - n148, err := m.MVCCStats.MarshalTo(dAtA[i:]) + n149, err := m.MVCCStats.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n148 + i += n149 if m.LeaseAppliedIndex != 0 { dAtA[i] = 0x20 i++ @@ -13995,11 +14120,11 @@ func (m *SubsumeResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2a i++ i = encodeVarintApi(dAtA, i, uint64(m.FreezeStart.Size())) - n149, err := m.FreezeStart.MarshalTo(dAtA[i:]) + n150, err := m.FreezeStart.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n149 + i += n150 return i, nil } @@ -14021,11 +14146,11 @@ func (m *RangeStatsRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestHeader.Size())) - n150, err := m.RequestHeader.MarshalTo(dAtA[i:]) + n151, err := m.RequestHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n150 + i += n151 return i, nil } @@ -14047,19 +14172,19 @@ func (m *RangeStatsResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.ResponseHeader.Size())) - n151, err := m.ResponseHeader.MarshalTo(dAtA[i:]) + n152, err := m.ResponseHeader.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n151 + i += n152 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.MVCCStats.Size())) - n152, err := m.MVCCStats.MarshalTo(dAtA[i:]) + n153, err := m.MVCCStats.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n152 + i += n153 if m.QueriesPerSecond != 0 { dAtA[i] = 0x19 i++ @@ -14085,11 +14210,11 @@ func (m *RequestUnion) MarshalTo(dAtA []byte) (int, error) { var l int _ = l if m.Value != nil { - nn153, err := m.Value.MarshalTo(dAtA[i:]) + nn154, err := m.Value.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += nn153 + i += nn154 } return i, nil } @@ -14100,11 +14225,11 @@ func (m *RequestUnion_Get) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.Get.Size())) - n154, err := m.Get.MarshalTo(dAtA[i:]) + n155, err := m.Get.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n154 + i += n155 } return i, nil } @@ -14114,11 +14239,11 @@ func (m *RequestUnion_Put) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.Put.Size())) - n155, err := m.Put.MarshalTo(dAtA[i:]) + n156, err := m.Put.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n155 + i += n156 } return i, nil } @@ -14128,11 +14253,11 @@ func (m *RequestUnion_ConditionalPut) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintApi(dAtA, i, uint64(m.ConditionalPut.Size())) - n156, err := m.ConditionalPut.MarshalTo(dAtA[i:]) + n157, err := m.ConditionalPut.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n156 + i += n157 } return i, nil } @@ -14142,11 +14267,11 @@ func (m *RequestUnion_Increment) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x22 i++ i = encodeVarintApi(dAtA, i, uint64(m.Increment.Size())) - n157, err := m.Increment.MarshalTo(dAtA[i:]) + n158, err := m.Increment.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n157 + i += n158 } return i, nil } @@ -14156,11 +14281,11 @@ func (m *RequestUnion_Delete) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2a i++ i = encodeVarintApi(dAtA, i, uint64(m.Delete.Size())) - n158, err := m.Delete.MarshalTo(dAtA[i:]) + n159, err := m.Delete.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n158 + i += n159 } return i, nil } @@ -14170,11 +14295,11 @@ func (m *RequestUnion_DeleteRange) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x32 i++ i = encodeVarintApi(dAtA, i, uint64(m.DeleteRange.Size())) - n159, err := m.DeleteRange.MarshalTo(dAtA[i:]) + n160, err := m.DeleteRange.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n159 + i += n160 } return i, nil } @@ -14184,11 +14309,11 @@ func (m *RequestUnion_Scan) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x3a i++ i = encodeVarintApi(dAtA, i, uint64(m.Scan.Size())) - n160, err := m.Scan.MarshalTo(dAtA[i:]) + n161, err := m.Scan.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n160 + i += n161 } return i, nil } @@ -14198,11 +14323,11 @@ func (m *RequestUnion_BeginTransaction) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x42 i++ i = encodeVarintApi(dAtA, i, uint64(m.BeginTransaction.Size())) - n161, err := m.BeginTransaction.MarshalTo(dAtA[i:]) + n162, err := m.BeginTransaction.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n161 + i += n162 } return i, nil } @@ -14212,11 +14337,11 @@ func (m *RequestUnion_EndTransaction) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x4a i++ i = encodeVarintApi(dAtA, i, uint64(m.EndTransaction.Size())) - n162, err := m.EndTransaction.MarshalTo(dAtA[i:]) + n163, err := m.EndTransaction.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n162 + i += n163 } return i, nil } @@ -14226,11 +14351,11 @@ func (m *RequestUnion_AdminSplit) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x52 i++ i = encodeVarintApi(dAtA, i, uint64(m.AdminSplit.Size())) - n163, err := m.AdminSplit.MarshalTo(dAtA[i:]) + n164, err := m.AdminSplit.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n163 + i += n164 } return i, nil } @@ -14240,11 +14365,11 @@ func (m *RequestUnion_AdminMerge) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x5a i++ i = encodeVarintApi(dAtA, i, uint64(m.AdminMerge.Size())) - n164, err := m.AdminMerge.MarshalTo(dAtA[i:]) + n165, err := m.AdminMerge.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n164 + i += n165 } return i, nil } @@ -14254,11 +14379,11 @@ func (m *RequestUnion_HeartbeatTxn) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x62 i++ i = encodeVarintApi(dAtA, i, uint64(m.HeartbeatTxn.Size())) - n165, err := m.HeartbeatTxn.MarshalTo(dAtA[i:]) + n166, err := m.HeartbeatTxn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n165 + i += n166 } return i, nil } @@ -14268,11 +14393,11 @@ func (m *RequestUnion_Gc) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x6a i++ i = encodeVarintApi(dAtA, i, uint64(m.Gc.Size())) - n166, err := m.Gc.MarshalTo(dAtA[i:]) + n167, err := m.Gc.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n166 + i += n167 } return i, nil } @@ -14282,11 +14407,11 @@ func (m *RequestUnion_PushTxn) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x72 i++ i = encodeVarintApi(dAtA, i, uint64(m.PushTxn.Size())) - n167, err := m.PushTxn.MarshalTo(dAtA[i:]) + n168, err := m.PushTxn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n167 + i += n168 } return i, nil } @@ -14298,11 +14423,11 @@ func (m *RequestUnion_ResolveIntent) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.ResolveIntent.Size())) - n168, err := m.ResolveIntent.MarshalTo(dAtA[i:]) + n169, err := m.ResolveIntent.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n168 + i += n169 } return i, nil } @@ -14314,11 +14439,11 @@ func (m *RequestUnion_ResolveIntentRange) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.ResolveIntentRange.Size())) - n169, err := m.ResolveIntentRange.MarshalTo(dAtA[i:]) + n170, err := m.ResolveIntentRange.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n169 + i += n170 } return i, nil } @@ -14330,11 +14455,11 @@ func (m *RequestUnion_Merge) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.Merge.Size())) - n170, err := m.Merge.MarshalTo(dAtA[i:]) + n171, err := m.Merge.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n170 + i += n171 } return i, nil } @@ -14346,11 +14471,11 @@ func (m *RequestUnion_TruncateLog) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.TruncateLog.Size())) - n171, err := m.TruncateLog.MarshalTo(dAtA[i:]) + n172, err := m.TruncateLog.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n171 + i += n172 } return i, nil } @@ -14362,11 +14487,11 @@ func (m *RequestUnion_RequestLease) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestLease.Size())) - n172, err := m.RequestLease.MarshalTo(dAtA[i:]) + n173, err := m.RequestLease.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n172 + i += n173 } return i, nil } @@ -14378,11 +14503,11 @@ func (m *RequestUnion_ReverseScan) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.ReverseScan.Size())) - n173, err := m.ReverseScan.MarshalTo(dAtA[i:]) + n174, err := m.ReverseScan.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n173 + i += n174 } return i, nil } @@ -14394,11 +14519,11 @@ func (m *RequestUnion_ComputeChecksum) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.ComputeChecksum.Size())) - n174, err := m.ComputeChecksum.MarshalTo(dAtA[i:]) + n175, err := m.ComputeChecksum.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n174 + i += n175 } return i, nil } @@ -14410,11 +14535,11 @@ func (m *RequestUnion_CheckConsistency) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.CheckConsistency.Size())) - n175, err := m.CheckConsistency.MarshalTo(dAtA[i:]) + n176, err := m.CheckConsistency.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n175 + i += n176 } return i, nil } @@ -14426,11 +14551,11 @@ func (m *RequestUnion_InitPut) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.InitPut.Size())) - n176, err := m.InitPut.MarshalTo(dAtA[i:]) + n177, err := m.InitPut.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n176 + i += n177 } return i, nil } @@ -14442,11 +14567,11 @@ func (m *RequestUnion_TransferLease) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.TransferLease.Size())) - n177, err := m.TransferLease.MarshalTo(dAtA[i:]) + n178, err := m.TransferLease.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n177 + i += n178 } return i, nil } @@ -14458,11 +14583,11 @@ func (m *RequestUnion_AdminTransferLease) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.AdminTransferLease.Size())) - n178, err := m.AdminTransferLease.MarshalTo(dAtA[i:]) + n179, err := m.AdminTransferLease.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n178 + i += n179 } return i, nil } @@ -14474,11 +14599,11 @@ func (m *RequestUnion_LeaseInfo) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.LeaseInfo.Size())) - n179, err := m.LeaseInfo.MarshalTo(dAtA[i:]) + n180, err := m.LeaseInfo.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n179 + i += n180 } return i, nil } @@ -14490,11 +14615,11 @@ func (m *RequestUnion_WriteBatch) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.WriteBatch.Size())) - n180, err := m.WriteBatch.MarshalTo(dAtA[i:]) + n181, err := m.WriteBatch.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n180 + i += n181 } return i, nil } @@ -14506,11 +14631,11 @@ func (m *RequestUnion_Export) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.Export.Size())) - n181, err := m.Export.MarshalTo(dAtA[i:]) + n182, err := m.Export.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n181 + i += n182 } return i, nil } @@ -14522,11 +14647,11 @@ func (m *RequestUnion_QueryTxn) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.QueryTxn.Size())) - n182, err := m.QueryTxn.MarshalTo(dAtA[i:]) + n183, err := m.QueryTxn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n182 + i += n183 } return i, nil } @@ -14538,11 +14663,11 @@ func (m *RequestUnion_Import) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.Import.Size())) - n183, err := m.Import.MarshalTo(dAtA[i:]) + n184, err := m.Import.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n183 + i += n184 } return i, nil } @@ -14554,11 +14679,11 @@ func (m *RequestUnion_AdminChangeReplicas) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.AdminChangeReplicas.Size())) - n184, err := m.AdminChangeReplicas.MarshalTo(dAtA[i:]) + n185, err := m.AdminChangeReplicas.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n184 + i += n185 } return i, nil } @@ -14570,11 +14695,11 @@ func (m *RequestUnion_AdminScatter) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.AdminScatter.Size())) - n185, err := m.AdminScatter.MarshalTo(dAtA[i:]) + n186, err := m.AdminScatter.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n185 + i += n186 } return i, nil } @@ -14586,11 +14711,11 @@ func (m *RequestUnion_AddSstable) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.AddSstable.Size())) - n186, err := m.AddSstable.MarshalTo(dAtA[i:]) + n187, err := m.AddSstable.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n186 + i += n187 } return i, nil } @@ -14602,11 +14727,11 @@ func (m *RequestUnion_ClearRange) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.ClearRange.Size())) - n187, err := m.ClearRange.MarshalTo(dAtA[i:]) + n188, err := m.ClearRange.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n187 + i += n188 } return i, nil } @@ -14618,11 +14743,11 @@ func (m *RequestUnion_RecomputeStats) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.RecomputeStats.Size())) - n188, err := m.RecomputeStats.MarshalTo(dAtA[i:]) + n189, err := m.RecomputeStats.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n188 + i += n189 } return i, nil } @@ -14634,11 +14759,11 @@ func (m *RequestUnion_Refresh) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.Refresh.Size())) - n189, err := m.Refresh.MarshalTo(dAtA[i:]) + n190, err := m.Refresh.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n189 + i += n190 } return i, nil } @@ -14650,11 +14775,11 @@ func (m *RequestUnion_RefreshRange) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.RefreshRange.Size())) - n190, err := m.RefreshRange.MarshalTo(dAtA[i:]) + n191, err := m.RefreshRange.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n190 + i += n191 } return i, nil } @@ -14666,11 +14791,11 @@ func (m *RequestUnion_QueryIntent) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.QueryIntent.Size())) - n191, err := m.QueryIntent.MarshalTo(dAtA[i:]) + n192, err := m.QueryIntent.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n191 + i += n192 } return i, nil } @@ -14682,11 +14807,11 @@ func (m *RequestUnion_Subsume) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.Subsume.Size())) - n192, err := m.Subsume.MarshalTo(dAtA[i:]) + n193, err := m.Subsume.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n192 + i += n193 } return i, nil } @@ -14698,11 +14823,11 @@ func (m *RequestUnion_RangeStats) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.RangeStats.Size())) - n193, err := m.RangeStats.MarshalTo(dAtA[i:]) + n194, err := m.RangeStats.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n193 + i += n194 } return i, nil } @@ -14714,11 +14839,11 @@ func (m *RequestUnion_AdminRelocateRange) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.AdminRelocateRange.Size())) - n194, err := m.AdminRelocateRange.MarshalTo(dAtA[i:]) + n195, err := m.AdminRelocateRange.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n194 + i += n195 } return i, nil } @@ -14730,11 +14855,11 @@ func (m *RequestUnion_RecoverTxn) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.RecoverTxn.Size())) - n195, err := m.RecoverTxn.MarshalTo(dAtA[i:]) + n196, err := m.RecoverTxn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n195 + i += n196 } return i, nil } @@ -14746,11 +14871,11 @@ func (m *RequestUnion_AdminUnsplit) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.AdminUnsplit.Size())) - n196, err := m.AdminUnsplit.MarshalTo(dAtA[i:]) + n197, err := m.AdminUnsplit.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n196 + i += n197 } return i, nil } @@ -14762,11 +14887,11 @@ func (m *RequestUnion_RevertRange) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x3 i++ i = encodeVarintApi(dAtA, i, uint64(m.RevertRange.Size())) - n197, err := m.RevertRange.MarshalTo(dAtA[i:]) + n198, err := m.RevertRange.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n197 + i += n198 } return i, nil } @@ -14786,11 +14911,11 @@ func (m *ResponseUnion) MarshalTo(dAtA []byte) (int, error) { var l int _ = l if m.Value != nil { - nn198, err := m.Value.MarshalTo(dAtA[i:]) + nn199, err := m.Value.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += nn198 + i += nn199 } return i, nil } @@ -14801,11 +14926,11 @@ func (m *ResponseUnion_Get) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.Get.Size())) - n199, err := m.Get.MarshalTo(dAtA[i:]) + n200, err := m.Get.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n199 + i += n200 } return i, nil } @@ -14815,11 +14940,11 @@ func (m *ResponseUnion_Put) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.Put.Size())) - n200, err := m.Put.MarshalTo(dAtA[i:]) + n201, err := m.Put.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n200 + i += n201 } return i, nil } @@ -14829,11 +14954,11 @@ func (m *ResponseUnion_ConditionalPut) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintApi(dAtA, i, uint64(m.ConditionalPut.Size())) - n201, err := m.ConditionalPut.MarshalTo(dAtA[i:]) + n202, err := m.ConditionalPut.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n201 + i += n202 } return i, nil } @@ -14843,11 +14968,11 @@ func (m *ResponseUnion_Increment) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x22 i++ i = encodeVarintApi(dAtA, i, uint64(m.Increment.Size())) - n202, err := m.Increment.MarshalTo(dAtA[i:]) + n203, err := m.Increment.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n202 + i += n203 } return i, nil } @@ -14857,11 +14982,11 @@ func (m *ResponseUnion_Delete) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2a i++ i = encodeVarintApi(dAtA, i, uint64(m.Delete.Size())) - n203, err := m.Delete.MarshalTo(dAtA[i:]) + n204, err := m.Delete.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n203 + i += n204 } return i, nil } @@ -14871,11 +14996,11 @@ func (m *ResponseUnion_DeleteRange) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x32 i++ i = encodeVarintApi(dAtA, i, uint64(m.DeleteRange.Size())) - n204, err := m.DeleteRange.MarshalTo(dAtA[i:]) + n205, err := m.DeleteRange.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n204 + i += n205 } return i, nil } @@ -14885,11 +15010,11 @@ func (m *ResponseUnion_Scan) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x3a i++ i = encodeVarintApi(dAtA, i, uint64(m.Scan.Size())) - n205, err := m.Scan.MarshalTo(dAtA[i:]) + n206, err := m.Scan.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n205 + i += n206 } return i, nil } @@ -14899,11 +15024,11 @@ func (m *ResponseUnion_BeginTransaction) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x42 i++ i = encodeVarintApi(dAtA, i, uint64(m.BeginTransaction.Size())) - n206, err := m.BeginTransaction.MarshalTo(dAtA[i:]) + n207, err := m.BeginTransaction.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n206 + i += n207 } return i, nil } @@ -14913,11 +15038,11 @@ func (m *ResponseUnion_EndTransaction) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x4a i++ i = encodeVarintApi(dAtA, i, uint64(m.EndTransaction.Size())) - n207, err := m.EndTransaction.MarshalTo(dAtA[i:]) + n208, err := m.EndTransaction.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n207 + i += n208 } return i, nil } @@ -14927,11 +15052,11 @@ func (m *ResponseUnion_AdminSplit) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x52 i++ i = encodeVarintApi(dAtA, i, uint64(m.AdminSplit.Size())) - n208, err := m.AdminSplit.MarshalTo(dAtA[i:]) + n209, err := m.AdminSplit.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n208 + i += n209 } return i, nil } @@ -14941,11 +15066,11 @@ func (m *ResponseUnion_AdminMerge) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x5a i++ i = encodeVarintApi(dAtA, i, uint64(m.AdminMerge.Size())) - n209, err := m.AdminMerge.MarshalTo(dAtA[i:]) + n210, err := m.AdminMerge.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n209 + i += n210 } return i, nil } @@ -14955,11 +15080,11 @@ func (m *ResponseUnion_HeartbeatTxn) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x62 i++ i = encodeVarintApi(dAtA, i, uint64(m.HeartbeatTxn.Size())) - n210, err := m.HeartbeatTxn.MarshalTo(dAtA[i:]) + n211, err := m.HeartbeatTxn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n210 + i += n211 } return i, nil } @@ -14969,11 +15094,11 @@ func (m *ResponseUnion_Gc) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x6a i++ i = encodeVarintApi(dAtA, i, uint64(m.Gc.Size())) - n211, err := m.Gc.MarshalTo(dAtA[i:]) + n212, err := m.Gc.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n211 + i += n212 } return i, nil } @@ -14983,11 +15108,11 @@ func (m *ResponseUnion_PushTxn) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x72 i++ i = encodeVarintApi(dAtA, i, uint64(m.PushTxn.Size())) - n212, err := m.PushTxn.MarshalTo(dAtA[i:]) + n213, err := m.PushTxn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n212 + i += n213 } return i, nil } @@ -14999,11 +15124,11 @@ func (m *ResponseUnion_ResolveIntent) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.ResolveIntent.Size())) - n213, err := m.ResolveIntent.MarshalTo(dAtA[i:]) + n214, err := m.ResolveIntent.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n213 + i += n214 } return i, nil } @@ -15015,11 +15140,11 @@ func (m *ResponseUnion_ResolveIntentRange) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.ResolveIntentRange.Size())) - n214, err := m.ResolveIntentRange.MarshalTo(dAtA[i:]) + n215, err := m.ResolveIntentRange.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n214 + i += n215 } return i, nil } @@ -15031,11 +15156,11 @@ func (m *ResponseUnion_Merge) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.Merge.Size())) - n215, err := m.Merge.MarshalTo(dAtA[i:]) + n216, err := m.Merge.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n215 + i += n216 } return i, nil } @@ -15047,11 +15172,11 @@ func (m *ResponseUnion_TruncateLog) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.TruncateLog.Size())) - n216, err := m.TruncateLog.MarshalTo(dAtA[i:]) + n217, err := m.TruncateLog.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n216 + i += n217 } return i, nil } @@ -15063,11 +15188,11 @@ func (m *ResponseUnion_RequestLease) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.RequestLease.Size())) - n217, err := m.RequestLease.MarshalTo(dAtA[i:]) + n218, err := m.RequestLease.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n217 + i += n218 } return i, nil } @@ -15079,11 +15204,11 @@ func (m *ResponseUnion_ReverseScan) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.ReverseScan.Size())) - n218, err := m.ReverseScan.MarshalTo(dAtA[i:]) + n219, err := m.ReverseScan.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n218 + i += n219 } return i, nil } @@ -15095,11 +15220,11 @@ func (m *ResponseUnion_ComputeChecksum) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.ComputeChecksum.Size())) - n219, err := m.ComputeChecksum.MarshalTo(dAtA[i:]) + n220, err := m.ComputeChecksum.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n219 + i += n220 } return i, nil } @@ -15111,11 +15236,11 @@ func (m *ResponseUnion_CheckConsistency) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.CheckConsistency.Size())) - n220, err := m.CheckConsistency.MarshalTo(dAtA[i:]) + n221, err := m.CheckConsistency.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n220 + i += n221 } return i, nil } @@ -15127,11 +15252,11 @@ func (m *ResponseUnion_InitPut) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.InitPut.Size())) - n221, err := m.InitPut.MarshalTo(dAtA[i:]) + n222, err := m.InitPut.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n221 + i += n222 } return i, nil } @@ -15143,11 +15268,11 @@ func (m *ResponseUnion_AdminTransferLease) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.AdminTransferLease.Size())) - n222, err := m.AdminTransferLease.MarshalTo(dAtA[i:]) + n223, err := m.AdminTransferLease.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n222 + i += n223 } return i, nil } @@ -15159,11 +15284,11 @@ func (m *ResponseUnion_LeaseInfo) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.LeaseInfo.Size())) - n223, err := m.LeaseInfo.MarshalTo(dAtA[i:]) + n224, err := m.LeaseInfo.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n223 + i += n224 } return i, nil } @@ -15175,11 +15300,11 @@ func (m *ResponseUnion_WriteBatch) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintApi(dAtA, i, uint64(m.WriteBatch.Size())) - n224, err := m.WriteBatch.MarshalTo(dAtA[i:]) + n225, err := m.WriteBatch.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n224 + i += n225 } return i, nil } @@ -15191,11 +15316,11 @@ func (m *ResponseUnion_Export) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.Export.Size())) - n225, err := m.Export.MarshalTo(dAtA[i:]) + n226, err := m.Export.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n225 + i += n226 } return i, nil } @@ -15207,11 +15332,11 @@ func (m *ResponseUnion_QueryTxn) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.QueryTxn.Size())) - n226, err := m.QueryTxn.MarshalTo(dAtA[i:]) + n227, err := m.QueryTxn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n226 + i += n227 } return i, nil } @@ -15223,11 +15348,11 @@ func (m *ResponseUnion_Import) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.Import.Size())) - n227, err := m.Import.MarshalTo(dAtA[i:]) + n228, err := m.Import.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n227 + i += n228 } return i, nil } @@ -15239,11 +15364,11 @@ func (m *ResponseUnion_AdminChangeReplicas) MarshalTo(dAtA []byte) (int, error) dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.AdminChangeReplicas.Size())) - n228, err := m.AdminChangeReplicas.MarshalTo(dAtA[i:]) + n229, err := m.AdminChangeReplicas.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n228 + i += n229 } return i, nil } @@ -15255,11 +15380,11 @@ func (m *ResponseUnion_AdminScatter) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.AdminScatter.Size())) - n229, err := m.AdminScatter.MarshalTo(dAtA[i:]) + n230, err := m.AdminScatter.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n229 + i += n230 } return i, nil } @@ -15271,11 +15396,11 @@ func (m *ResponseUnion_AddSstable) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.AddSstable.Size())) - n230, err := m.AddSstable.MarshalTo(dAtA[i:]) + n231, err := m.AddSstable.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n230 + i += n231 } return i, nil } @@ -15287,11 +15412,11 @@ func (m *ResponseUnion_ClearRange) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.ClearRange.Size())) - n231, err := m.ClearRange.MarshalTo(dAtA[i:]) + n232, err := m.ClearRange.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n231 + i += n232 } return i, nil } @@ -15303,11 +15428,11 @@ func (m *ResponseUnion_RecomputeStats) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.RecomputeStats.Size())) - n232, err := m.RecomputeStats.MarshalTo(dAtA[i:]) + n233, err := m.RecomputeStats.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n232 + i += n233 } return i, nil } @@ -15319,11 +15444,11 @@ func (m *ResponseUnion_Refresh) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.Refresh.Size())) - n233, err := m.Refresh.MarshalTo(dAtA[i:]) + n234, err := m.Refresh.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n233 + i += n234 } return i, nil } @@ -15335,11 +15460,11 @@ func (m *ResponseUnion_RefreshRange) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.RefreshRange.Size())) - n234, err := m.RefreshRange.MarshalTo(dAtA[i:]) + n235, err := m.RefreshRange.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n234 + i += n235 } return i, nil } @@ -15351,11 +15476,11 @@ func (m *ResponseUnion_QueryIntent) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.QueryIntent.Size())) - n235, err := m.QueryIntent.MarshalTo(dAtA[i:]) + n236, err := m.QueryIntent.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n235 + i += n236 } return i, nil } @@ -15367,11 +15492,11 @@ func (m *ResponseUnion_Subsume) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.Subsume.Size())) - n236, err := m.Subsume.MarshalTo(dAtA[i:]) + n237, err := m.Subsume.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n236 + i += n237 } return i, nil } @@ -15383,11 +15508,11 @@ func (m *ResponseUnion_RangeStats) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.RangeStats.Size())) - n237, err := m.RangeStats.MarshalTo(dAtA[i:]) + n238, err := m.RangeStats.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n237 + i += n238 } return i, nil } @@ -15399,11 +15524,11 @@ func (m *ResponseUnion_AdminRelocateRange) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.AdminRelocateRange.Size())) - n238, err := m.AdminRelocateRange.MarshalTo(dAtA[i:]) + n239, err := m.AdminRelocateRange.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n238 + i += n239 } return i, nil } @@ -15415,11 +15540,11 @@ func (m *ResponseUnion_RecoverTxn) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.RecoverTxn.Size())) - n239, err := m.RecoverTxn.MarshalTo(dAtA[i:]) + n240, err := m.RecoverTxn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n239 + i += n240 } return i, nil } @@ -15431,11 +15556,11 @@ func (m *ResponseUnion_AdminUnsplit) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2 i++ i = encodeVarintApi(dAtA, i, uint64(m.AdminUnsplit.Size())) - n240, err := m.AdminUnsplit.MarshalTo(dAtA[i:]) + n241, err := m.AdminUnsplit.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n240 + i += n241 } return i, nil } @@ -15447,11 +15572,11 @@ func (m *ResponseUnion_RevertRange) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x3 i++ i = encodeVarintApi(dAtA, i, uint64(m.RevertRange.Size())) - n241, err := m.RevertRange.MarshalTo(dAtA[i:]) + n242, err := m.RevertRange.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n241 + i += n242 } return i, nil } @@ -15473,19 +15598,19 @@ func (m *Header) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.Timestamp.Size())) - n242, err := m.Timestamp.MarshalTo(dAtA[i:]) + n243, err := m.Timestamp.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n242 + i += n243 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.Replica.Size())) - n243, err := m.Replica.MarshalTo(dAtA[i:]) + n244, err := m.Replica.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n243 + i += n244 if m.RangeID != 0 { dAtA[i] = 0x18 i++ @@ -15501,11 +15626,11 @@ func (m *Header) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2a i++ i = encodeVarintApi(dAtA, i, uint64(m.Txn.Size())) - n244, err := m.Txn.MarshalTo(dAtA[i:]) + n245, err := m.Txn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n244 + i += n245 } if m.ReadConsistency != 0 { dAtA[i] = 0x30 @@ -15546,11 +15671,11 @@ func (m *Header) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x62 i++ i = encodeVarintApi(dAtA, i, uint64(m.ScanOptions.Size())) - n245, err := m.ScanOptions.MarshalTo(dAtA[i:]) + n246, err := m.ScanOptions.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n245 + i += n246 } if m.AsyncConsensus { dAtA[i] = 0x68 @@ -15593,11 +15718,11 @@ func (m *BatchRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.Header.Size())) - n246, err := m.Header.MarshalTo(dAtA[i:]) + n247, err := m.Header.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n246 + i += n247 if len(m.Requests) > 0 { for _, msg := range m.Requests { dAtA[i] = 0x12 @@ -15631,11 +15756,11 @@ func (m *BatchResponse) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.BatchResponse_Header.Size())) - n247, err := m.BatchResponse_Header.MarshalTo(dAtA[i:]) + n248, err := m.BatchResponse_Header.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n247 + i += n248 if len(m.Responses) > 0 { for _, msg := range m.Responses { dAtA[i] = 0x12 @@ -15670,38 +15795,38 @@ func (m *BatchResponse_Header) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.Error.Size())) - n248, err := m.Error.MarshalTo(dAtA[i:]) + n249, err := m.Error.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n248 + i += n249 } dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.Timestamp.Size())) - n249, err := m.Timestamp.MarshalTo(dAtA[i:]) + n250, err := m.Timestamp.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n249 + i += n250 if m.Txn != nil { dAtA[i] = 0x1a i++ i = encodeVarintApi(dAtA, i, uint64(m.Txn.Size())) - n250, err := m.Txn.MarshalTo(dAtA[i:]) + n251, err := m.Txn.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n250 + i += n251 } dAtA[i] = 0x2a i++ i = encodeVarintApi(dAtA, i, uint64(m.Now.Size())) - n251, err := m.Now.MarshalTo(dAtA[i:]) + n252, err := m.Now.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n251 + i += n252 if len(m.CollectedSpans) > 0 { for _, msg := range m.CollectedSpans { dAtA[i] = 0x32 @@ -15735,19 +15860,19 @@ func (m *RangeFeedRequest) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.Header.Size())) - n252, err := m.Header.MarshalTo(dAtA[i:]) + n253, err := m.Header.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n252 + i += n253 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.Span.Size())) - n253, err := m.Span.MarshalTo(dAtA[i:]) + n254, err := m.Span.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n253 + i += n254 return i, nil } @@ -15775,11 +15900,11 @@ func (m *RangeFeedValue) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.Value.Size())) - n254, err := m.Value.MarshalTo(dAtA[i:]) + n255, err := m.Value.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n254 + i += n255 return i, nil } @@ -15801,19 +15926,19 @@ func (m *RangeFeedCheckpoint) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.Span.Size())) - n255, err := m.Span.MarshalTo(dAtA[i:]) + n256, err := m.Span.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n255 + i += n256 dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.ResolvedTS.Size())) - n256, err := m.ResolvedTS.MarshalTo(dAtA[i:]) + n257, err := m.ResolvedTS.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n256 + i += n257 return i, nil } @@ -15835,11 +15960,11 @@ func (m *RangeFeedError) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.Error.Size())) - n257, err := m.Error.MarshalTo(dAtA[i:]) + n258, err := m.Error.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n257 + i += n258 return i, nil } @@ -15862,31 +15987,31 @@ func (m *RangeFeedEvent) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintApi(dAtA, i, uint64(m.Val.Size())) - n258, err := m.Val.MarshalTo(dAtA[i:]) + n259, err := m.Val.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n258 + i += n259 } if m.Checkpoint != nil { dAtA[i] = 0x12 i++ i = encodeVarintApi(dAtA, i, uint64(m.Checkpoint.Size())) - n259, err := m.Checkpoint.MarshalTo(dAtA[i:]) + n260, err := m.Checkpoint.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n259 + i += n260 } if m.Error != nil { dAtA[i] = 0x1a i++ i = encodeVarintApi(dAtA, i, uint64(m.Error.Size())) - n260, err := m.Error.MarshalTo(dAtA[i:]) + n261, err := m.Error.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n260 + i += n261 } return i, nil } @@ -16582,6 +16707,20 @@ func (m *AdminTransferLeaseResponse) Size() (n int) { return n } +func (m *ReplicationChange) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.ChangeType != 0 { + n += 1 + sovApi(uint64(m.ChangeType)) + } + l = m.Target.Size() + n += 1 + l + sovApi(uint64(l)) + return n +} + func (m *AdminChangeReplicasRequest) Size() (n int) { if m == nil { return 0 @@ -16590,17 +16729,23 @@ func (m *AdminChangeReplicasRequest) Size() (n int) { _ = l l = m.RequestHeader.Size() n += 1 + l + sovApi(uint64(l)) - if m.ChangeType != 0 { - n += 1 + sovApi(uint64(m.ChangeType)) + if m.DeprecatedChangeType != 0 { + n += 1 + sovApi(uint64(m.DeprecatedChangeType)) } - if len(m.Targets) > 0 { - for _, e := range m.Targets { + if len(m.DeprecatedTargets) > 0 { + for _, e := range m.DeprecatedTargets { l = e.Size() n += 1 + l + sovApi(uint64(l)) } } l = m.ExpDesc.Size() n += 1 + l + sovApi(uint64(l)) + if len(m.InternalChanges) > 0 { + for _, e := range m.InternalChanges { + l = e.Size() + n += 1 + l + sovApi(uint64(l)) + } + } return n } @@ -23796,6 +23941,105 @@ func (m *AdminTransferLeaseResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *ReplicationChange) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowApi + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ReplicationChange: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ReplicationChange: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ChangeType", wireType) + } + m.ChangeType = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowApi + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ChangeType |= (ReplicaChangeType(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Target", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowApi + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthApi + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Target.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipApi(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthApi + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *AdminChangeReplicasRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -23857,9 +24101,9 @@ func (m *AdminChangeReplicasRequest) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field ChangeType", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DeprecatedChangeType", wireType) } - m.ChangeType = 0 + m.DeprecatedChangeType = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowApi @@ -23869,14 +24113,14 @@ func (m *AdminChangeReplicasRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.ChangeType |= (ReplicaChangeType(b) & 0x7F) << shift + m.DeprecatedChangeType |= (ReplicaChangeType(b) & 0x7F) << shift if b < 0x80 { break } } case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Targets", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DeprecatedTargets", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -23900,8 +24144,8 @@ func (m *AdminChangeReplicasRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Targets = append(m.Targets, ReplicationTarget{}) - if err := m.Targets[len(m.Targets)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + m.DeprecatedTargets = append(m.DeprecatedTargets, ReplicationTarget{}) + if err := m.DeprecatedTargets[len(m.DeprecatedTargets)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -23935,6 +24179,37 @@ func (m *AdminChangeReplicasRequest) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field InternalChanges", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowApi + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthApi + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.InternalChanges = append(m.InternalChanges, ReplicationChange{}) + if err := m.InternalChanges[len(m.InternalChanges)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipApi(dAtA[iNdEx:]) @@ -36235,440 +36510,445 @@ var ( ErrIntOverflowApi = fmt.Errorf("proto: integer overflow") ) -func init() { proto.RegisterFile("roachpb/api.proto", fileDescriptor_api_a541de2cc425b8bd) } +func init() { proto.RegisterFile("roachpb/api.proto", fileDescriptor_api_cb78027fb03b5f9a) } -var fileDescriptor_api_a541de2cc425b8bd = []byte{ - // 6903 bytes of a gzipped FileDescriptorProto +var fileDescriptor_api_cb78027fb03b5f9a = []byte{ + // 6978 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x7d, 0x5b, 0x6c, 0x23, 0xc9, - 0x75, 0xb6, 0x9a, 0xa4, 0x24, 0xf2, 0xf0, 0xa2, 0x56, 0x69, 0x2e, 0x1c, 0xed, 0xae, 0xa4, 0xe1, + 0x75, 0x36, 0x9b, 0xa4, 0x28, 0xf2, 0xf0, 0xa2, 0x56, 0x69, 0x2e, 0x1c, 0xed, 0xae, 0xa4, 0xe1, 0x5c, 0x77, 0x76, 0x57, 0xe3, 0x99, 0xf1, 0xda, 0xeb, 0x5d, 0x7b, 0x6d, 0x89, 0xe2, 0x0c, 0x39, 0x1a, 0x5d, 0xb6, 0x49, 0xcd, 0x7a, 0xd6, 0xff, 0xfe, 0xed, 0x56, 0x77, 0x89, 0x6a, 0x0f, 0xd9, 0xcd, 0xed, 0x6e, 0x8e, 0xa4, 0x01, 0x7e, 0xfc, 0x48, 0x5e, 0x1c, 0x18, 0x86, 0x91, 0x87, 0x20, - 0x08, 0xec, 0x04, 0x59, 0xc0, 0x01, 0x02, 0x24, 0x88, 0x81, 0x00, 0x06, 0x72, 0x41, 0x00, 0x3f, - 0x24, 0x0f, 0x1b, 0xc3, 0x0f, 0x46, 0x10, 0x3b, 0x46, 0x1e, 0x84, 0x78, 0x9c, 0xc0, 0x46, 0x5e, - 0x03, 0xc4, 0xc0, 0x22, 0x08, 0x82, 0xba, 0xf4, 0x85, 0x64, 0x37, 0x49, 0xc9, 0xbd, 0xc8, 0x06, - 0x79, 0x62, 0xf7, 0xa9, 0x3a, 0xa7, 0xab, 0x4e, 0x9d, 0xaa, 0x3a, 0x5f, 0xd5, 0xa9, 0x22, 0xcc, - 0x5a, 0xa6, 0xa2, 0xee, 0x77, 0x76, 0x6f, 0x2a, 0x1d, 0x7d, 0xb9, 0x63, 0x99, 0x8e, 0x89, 0x66, - 0x55, 0x53, 0x7d, 0x4c, 0xc9, 0xcb, 0x3c, 0x71, 0x1e, 0xb9, 0xb9, 0x34, 0xc5, 0x51, 0x58, 0xb6, - 0xf9, 0x33, 0x2e, 0x0d, 0x5b, 0x96, 0x69, 0xd9, 0x9c, 0x7a, 0xce, 0xa5, 0xb6, 0xb1, 0xa3, 0x04, - 0x72, 0x97, 0x6c, 0xc7, 0xb4, 0x94, 0x26, 0xbe, 0x89, 0x8d, 0xa6, 0x6e, 0xb8, 0x3f, 0x24, 0xdf, - 0x13, 0x55, 0xe5, 0x79, 0x2e, 0x0d, 0xcb, 0x73, 0x87, 0x67, 0x2a, 0x76, 0x1d, 0xbd, 0x75, 0x73, - 0xbf, 0xa5, 0xde, 0x74, 0xf4, 0x36, 0xb6, 0x1d, 0xa5, 0xdd, 0xe1, 0x29, 0x4b, 0x34, 0xc5, 0xb1, - 0x14, 0x55, 0x37, 0x9a, 0x37, 0x2d, 0xac, 0x9a, 0x96, 0x86, 0x35, 0xd9, 0xee, 0x28, 0x86, 0x5b, - 0xe4, 0xa6, 0xd9, 0x34, 0xe9, 0xe3, 0x4d, 0xf2, 0xc4, 0xa8, 0xa5, 0xff, 0x0f, 0x19, 0x49, 0x31, - 0x9a, 0xb8, 0x66, 0xec, 0x99, 0xe8, 0xb3, 0x90, 0xd2, 0xb0, 0xad, 0x16, 0x85, 0x25, 0xe1, 0x7a, - 0xf6, 0x76, 0x69, 0x79, 0x40, 0x17, 0xcb, 0x34, 0xef, 0x1a, 0xb6, 0x55, 0x4b, 0xef, 0x38, 0xa6, - 0xb5, 0x9a, 0xfa, 0xe0, 0x78, 0x71, 0x42, 0xa2, 0x5c, 0xe8, 0x93, 0x30, 0xd9, 0xc2, 0x8a, 0x8d, - 0x8b, 0x09, 0xca, 0x5e, 0x0c, 0x61, 0x7f, 0x40, 0xd2, 0x39, 0x13, 0xcb, 0x5c, 0xfa, 0x6b, 0x01, - 0xf2, 0x12, 0x7e, 0xaf, 0x8b, 0x6d, 0xa7, 0x8a, 0x15, 0x0d, 0x5b, 0xe8, 0x02, 0x24, 0x1f, 0xe3, - 0xa3, 0x62, 0x72, 0x49, 0xb8, 0x9e, 0x5b, 0x9d, 0xfe, 0xf0, 0x78, 0x31, 0xb9, 0x8e, 0x8f, 0x24, - 0x42, 0x43, 0x4b, 0x30, 0x8d, 0x0d, 0x4d, 0x26, 0xc9, 0xa9, 0xde, 0xe4, 0x29, 0x6c, 0x68, 0xeb, - 0xf8, 0x08, 0xa9, 0x90, 0xb6, 0x89, 0x34, 0x43, 0xc5, 0xc5, 0xc9, 0x25, 0xe1, 0xfa, 0xe4, 0xea, - 0xbd, 0x0f, 0x8f, 0x17, 0xcb, 0x4d, 0xdd, 0xd9, 0xef, 0xee, 0x2e, 0xab, 0x66, 0xfb, 0xa6, 0x57, - 0x2a, 0x6d, 0xd7, 0x7f, 0xbe, 0xd9, 0x79, 0xdc, 0xbc, 0x19, 0xd1, 0x02, 0xcb, 0x8d, 0x43, 0xa3, - 0x8e, 0xdf, 0x93, 0x3c, 0xc1, 0xaf, 0xa7, 0x7e, 0xf1, 0xfe, 0xa2, 0x70, 0x3f, 0x95, 0x16, 0xc4, - 0xc4, 0xfd, 0x54, 0x3a, 0x21, 0x26, 0x4b, 0x5f, 0x4f, 0x42, 0x41, 0xc2, 0x76, 0xc7, 0x34, 0x6c, - 0xcc, 0xab, 0xf1, 0x09, 0x48, 0x3a, 0x87, 0x06, 0xad, 0x46, 0xf6, 0xf6, 0x42, 0x88, 0x32, 0x1a, - 0x96, 0x62, 0xd8, 0x8a, 0xea, 0xe8, 0xa6, 0x21, 0x91, 0xac, 0xe8, 0x35, 0xc8, 0x5a, 0xd8, 0xee, - 0xb6, 0x31, 0x6d, 0x36, 0x5a, 0xc3, 0xec, 0xed, 0xf3, 0x21, 0x9c, 0xf5, 0x8e, 0x62, 0x48, 0xc0, - 0xf2, 0x92, 0x67, 0x74, 0x01, 0xd2, 0x46, 0xb7, 0x4d, 0xf4, 0x62, 0xd3, 0x5a, 0x27, 0xa5, 0x69, - 0xa3, 0xdb, 0x5e, 0xc7, 0x47, 0x36, 0x2a, 0x43, 0xd6, 0x22, 0x8d, 0x26, 0xeb, 0xc6, 0x9e, 0x69, - 0x17, 0xa7, 0x96, 0x92, 0xd7, 0xb3, 0xb7, 0x9f, 0x8f, 0x6a, 0x5a, 0x62, 0x06, 0xbc, 0x7d, 0xc0, - 0x72, 0x09, 0x36, 0xaa, 0x43, 0x9e, 0x97, 0xcc, 0xc2, 0x8a, 0x6d, 0x1a, 0xc5, 0xe9, 0x25, 0xe1, - 0x7a, 0xe1, 0xf6, 0x72, 0x98, 0x98, 0x1e, 0x2d, 0x90, 0xd7, 0x6e, 0x1b, 0x4b, 0x94, 0x4b, 0xca, - 0x59, 0x81, 0xb7, 0xd2, 0x23, 0xc8, 0x05, 0x53, 0x11, 0x82, 0x82, 0x54, 0xa9, 0xef, 0x6c, 0x54, - 0xe4, 0x9d, 0xcd, 0xf5, 0xcd, 0xad, 0xb7, 0x37, 0xc5, 0x09, 0x74, 0x06, 0x44, 0x4e, 0x5b, 0xaf, - 0x3c, 0x92, 0x1f, 0xd4, 0x36, 0x6a, 0x0d, 0x51, 0x40, 0x17, 0xe0, 0x2c, 0xa7, 0x4a, 0x2b, 0x9b, - 0xf7, 0x2a, 0xf2, 0xea, 0xd6, 0xce, 0xe6, 0xda, 0x8a, 0xf4, 0x48, 0x4c, 0xcc, 0xa7, 0x7e, 0xe3, - 0xdb, 0x0b, 0x13, 0xa5, 0x87, 0x00, 0xf7, 0xb0, 0xc3, 0xcd, 0x0a, 0xad, 0xc2, 0xd4, 0x3e, 0x2d, - 0x0d, 0x37, 0xec, 0xa5, 0xd0, 0x62, 0x07, 0x4c, 0x70, 0x35, 0x4d, 0x34, 0xf0, 0xc3, 0xe3, 0x45, - 0x41, 0xe2, 0x9c, 0xac, 0xc9, 0x4b, 0xdf, 0x13, 0x20, 0x4b, 0x05, 0xb3, 0x3a, 0xa2, 0x72, 0x9f, - 0xe4, 0x8b, 0x23, 0x15, 0x32, 0x28, 0x1a, 0x2d, 0xc3, 0xe4, 0x13, 0xa5, 0xd5, 0x1d, 0xd6, 0x6f, - 0x1e, 0x92, 0x74, 0x89, 0x65, 0x43, 0x6f, 0x40, 0x4e, 0x37, 0x1c, 0x6c, 0x38, 0x32, 0x63, 0x4b, - 0x8e, 0x60, 0xcb, 0xb2, 0xdc, 0xf4, 0xa5, 0xf4, 0x97, 0x02, 0xc0, 0x76, 0x37, 0x4e, 0xd5, 0x90, - 0x7e, 0x3f, 0x56, 0xf9, 0xdd, 0x7e, 0xcf, 0x6a, 0x71, 0x0e, 0xa6, 0x74, 0xa3, 0xa5, 0x1b, 0xac, - 0xfc, 0x69, 0x89, 0xbf, 0xa1, 0x33, 0x30, 0xb9, 0xdb, 0xd2, 0x0d, 0x8d, 0x9a, 0x7f, 0x5a, 0x62, - 0x2f, 0x5c, 0xfd, 0x12, 0x64, 0x69, 0xd9, 0x63, 0xd4, 0x7e, 0xe9, 0x9b, 0x09, 0x38, 0x5b, 0x36, - 0x0d, 0x4d, 0x27, 0xfd, 0x50, 0x69, 0x7d, 0x2c, 0x74, 0xf3, 0x2a, 0x64, 0xf0, 0x61, 0x67, 0xcc, - 0xe6, 0x4d, 0xe3, 0xc3, 0x0e, 0x7d, 0x0a, 0x57, 0x1d, 0xfa, 0x24, 0x9c, 0x57, 0x5a, 0x2d, 0xf3, - 0x40, 0xd6, 0xf7, 0x64, 0xcd, 0xc4, 0xb6, 0x6c, 0x98, 0x8e, 0x8c, 0x0f, 0x75, 0xdb, 0xa1, 0x43, - 0x45, 0x5a, 0x9a, 0xa3, 0xc9, 0xb5, 0xbd, 0x35, 0x13, 0xdb, 0x9b, 0xa6, 0x53, 0x21, 0x49, 0x5c, - 0xe1, 0xef, 0xc2, 0xb9, 0x7e, 0xdd, 0xc4, 0xa9, 0xfb, 0xbf, 0x13, 0xa0, 0x50, 0x33, 0x74, 0xe7, - 0x63, 0xa1, 0x74, 0x4f, 0x7b, 0xc9, 0xa0, 0xf6, 0x6e, 0x80, 0xb8, 0xa7, 0xe8, 0xad, 0x2d, 0xa3, - 0x61, 0xb6, 0x77, 0x6d, 0xc7, 0x34, 0xb0, 0xcd, 0xd5, 0x3b, 0x40, 0xe7, 0x3a, 0x7b, 0x08, 0x33, - 0x5e, 0x9d, 0xe2, 0x54, 0xd6, 0x53, 0x10, 0x6b, 0x86, 0x6a, 0xe1, 0x36, 0x36, 0x62, 0xd5, 0xd6, - 0xf3, 0x90, 0xd1, 0x5d, 0xb9, 0x54, 0x63, 0x49, 0xc9, 0x27, 0xf0, 0x3a, 0x75, 0x61, 0x36, 0xf0, - 0xed, 0x38, 0x07, 0xbf, 0xe7, 0x20, 0x63, 0xe0, 0x03, 0xd9, 0x6f, 0xaf, 0xa4, 0x94, 0x36, 0xf0, - 0x01, 0x1b, 0xac, 0x1e, 0x41, 0x7e, 0x0d, 0xb7, 0xb0, 0x83, 0xe3, 0x1f, 0xc9, 0x77, 0xa0, 0xe0, - 0x8a, 0x8e, 0xb3, 0x91, 0x7e, 0x4f, 0x00, 0xc4, 0xe5, 0x92, 0xd9, 0x33, 0xce, 0x76, 0x5a, 0x24, - 0xde, 0x81, 0xd3, 0xb5, 0x0c, 0x36, 0xcd, 0x33, 0x2b, 0x05, 0x46, 0xa2, 0x33, 0xbd, 0x3f, 0xa2, - 0xa6, 0x82, 0x23, 0xaa, 0xe7, 0xad, 0x10, 0x3f, 0xe5, 0x00, 0xe6, 0x7a, 0x8a, 0x17, 0x6f, 0x53, - 0xa6, 0x68, 0xc9, 0x12, 0x4b, 0xc9, 0xa0, 0x67, 0x46, 0x89, 0xa5, 0x77, 0x61, 0xb6, 0xdc, 0xc2, - 0x8a, 0x15, 0xb7, 0x5a, 0x78, 0x73, 0x3e, 0x02, 0x14, 0x14, 0x1f, 0x67, 0x93, 0xfe, 0x81, 0x00, - 0x48, 0xc2, 0x4f, 0xb0, 0xe5, 0xc4, 0xde, 0xa4, 0x6b, 0x90, 0x75, 0x14, 0xab, 0x89, 0x1d, 0x99, - 0xb8, 0xf3, 0x7c, 0xb8, 0x7a, 0x21, 0x20, 0x88, 0x38, 0xf5, 0xcb, 0xfb, 0x2d, 0x75, 0xb9, 0xe1, - 0xba, 0xfb, 0xae, 0x73, 0xc6, 0xf8, 0x08, 0x99, 0x6b, 0xe0, 0x1d, 0x98, 0xeb, 0x29, 0x65, 0x9c, - 0x2a, 0xd0, 0x21, 0x5b, 0x57, 0x15, 0x63, 0xab, 0x43, 0xe6, 0x01, 0x1b, 0xdd, 0x81, 0x73, 0xb6, - 0x63, 0x76, 0x64, 0xc5, 0x91, 0x99, 0x6b, 0xb9, 0x6b, 0x76, 0x0d, 0x4d, 0xb1, 0x8e, 0xe8, 0x37, - 0xd2, 0xd2, 0x1c, 0x49, 0x5d, 0x61, 0x05, 0x59, 0xe5, 0x49, 0xc4, 0x7c, 0xdb, 0xba, 0x21, 0x13, - 0x0f, 0xb0, 0xe5, 0xd8, 0xbc, 0xab, 0x43, 0x5b, 0x37, 0x24, 0x46, 0xe1, 0xd5, 0xf8, 0xb6, 0xc0, - 0xbe, 0x15, 0xa7, 0x9a, 0xdf, 0x84, 0xac, 0xad, 0x2a, 0x86, 0xbc, 0x67, 0x5a, 0x6d, 0xc5, 0xa1, - 0xbd, 0xa3, 0xd0, 0xa3, 0x66, 0xcf, 0xaf, 0x56, 0x15, 0xe3, 0x2e, 0xcd, 0x24, 0x81, 0xed, 0x3d, - 0x07, 0x3b, 0xd0, 0xfd, 0x54, 0x3a, 0x29, 0xa6, 0x4a, 0xbf, 0x14, 0x20, 0xc7, 0x4a, 0x19, 0x67, - 0x07, 0x7a, 0x15, 0x52, 0x96, 0x79, 0xc0, 0x3a, 0x50, 0xf6, 0xf6, 0x73, 0x21, 0x22, 0xd6, 0xf1, - 0x51, 0x70, 0xe6, 0xa2, 0xd9, 0xd1, 0x2a, 0x70, 0x0f, 0x4f, 0xa6, 0xdc, 0xc9, 0x71, 0xb9, 0x81, - 0x71, 0x49, 0x44, 0xc6, 0x35, 0x98, 0xd9, 0x55, 0x1c, 0x75, 0x9f, 0xb4, 0x0f, 0x2d, 0x24, 0x99, - 0xe5, 0x92, 0xd7, 0x73, 0x52, 0x81, 0x92, 0xdd, 0xa2, 0xdb, 0xa5, 0x3f, 0x72, 0x7b, 0x83, 0x8d, - 0x3f, 0xfe, 0xcd, 0xf4, 0x9f, 0x02, 0xef, 0x14, 0x6e, 0x61, 0xff, 0xb7, 0xb5, 0xd6, 0x8f, 0x04, - 0x38, 0x5f, 0xde, 0xc7, 0xea, 0xe3, 0xb2, 0x69, 0xd8, 0xba, 0xed, 0x60, 0x43, 0x3d, 0x8a, 0xb3, - 0xc9, 0x9e, 0x83, 0xcc, 0x81, 0xee, 0xec, 0xcb, 0x9a, 0xbe, 0xb7, 0x47, 0xbb, 0x74, 0x5a, 0x4a, - 0x13, 0xc2, 0x9a, 0xbe, 0xb7, 0x87, 0xee, 0x40, 0xaa, 0x6d, 0x6a, 0xcc, 0x81, 0x2d, 0xdc, 0x5e, - 0x0c, 0x11, 0x4f, 0x8b, 0x66, 0x77, 0xdb, 0x1b, 0xa6, 0x86, 0x25, 0x9a, 0x19, 0x2d, 0x00, 0xa8, - 0x84, 0xda, 0x31, 0x75, 0xc3, 0xe1, 0x13, 0x59, 0x80, 0xc2, 0x47, 0x89, 0x6f, 0xa4, 0xa0, 0x38, - 0x58, 0xaf, 0x38, 0x5b, 0x77, 0x1b, 0xa6, 0xd8, 0x50, 0xc5, 0xdb, 0xf7, 0x76, 0x54, 0xf1, 0x43, - 0x4a, 0xb0, 0xcc, 0x86, 0x34, 0xde, 0x70, 0x5c, 0xce, 0xfc, 0x5f, 0x09, 0x30, 0xc5, 0x12, 0xd0, - 0x2d, 0x48, 0x73, 0x4c, 0xae, 0xd1, 0x32, 0x26, 0x57, 0xcf, 0x3d, 0x3b, 0x5e, 0x9c, 0x66, 0x08, - 0x7c, 0xed, 0x43, 0xff, 0x51, 0x9a, 0x66, 0x20, 0x5c, 0x23, 0x9a, 0xb6, 0x1d, 0xc5, 0x72, 0xe8, - 0xda, 0x07, 0xd1, 0x74, 0x4e, 0x4a, 0x53, 0xc2, 0x3a, 0x3e, 0x42, 0xf7, 0x61, 0xca, 0x76, 0x14, - 0xa7, 0x6b, 0x73, 0x5d, 0x9f, 0xa8, 0xb0, 0x75, 0xca, 0x29, 0x71, 0x09, 0xc4, 0x8b, 0xd0, 0xb0, - 0xa3, 0xe8, 0x2d, 0xaa, 0xfc, 0x8c, 0xc4, 0xdf, 0x4a, 0xdf, 0x12, 0x60, 0x8a, 0x65, 0x45, 0xe7, - 0x61, 0x8e, 0xe1, 0xee, 0xda, 0xe6, 0x5a, 0xa5, 0x51, 0x91, 0x36, 0x6a, 0x9b, 0x2b, 0x8d, 0x8a, - 0x38, 0x81, 0xce, 0x01, 0x72, 0x13, 0xca, 0x5b, 0x9b, 0xf5, 0x5a, 0xbd, 0x51, 0xd9, 0x24, 0x78, - 0x9d, 0xa0, 0x78, 0x4a, 0x0f, 0x50, 0x13, 0xe8, 0x32, 0x2c, 0xf5, 0x53, 0xe5, 0x7a, 0x63, 0xa5, - 0x51, 0x97, 0x2b, 0xf5, 0x46, 0x6d, 0x63, 0xa5, 0x51, 0x59, 0x13, 0x93, 0x43, 0x72, 0x91, 0x8f, - 0x48, 0x52, 0xa5, 0xdc, 0x10, 0x53, 0xa5, 0xa7, 0x70, 0x56, 0xc2, 0xaa, 0xd9, 0xee, 0x74, 0x1d, - 0x4c, 0x4a, 0x69, 0xc7, 0x69, 0xe5, 0xe7, 0x61, 0x5a, 0xb3, 0x8e, 0x64, 0xab, 0x6b, 0x70, 0x1b, - 0x9f, 0xd2, 0xac, 0x23, 0xa9, 0x6b, 0x70, 0x63, 0xfc, 0x33, 0x01, 0xce, 0xf5, 0x7f, 0x3c, 0x4e, - 0x53, 0xfc, 0x22, 0x64, 0x15, 0x4d, 0xc3, 0x9a, 0xac, 0xe1, 0x96, 0xa3, 0x70, 0x2f, 0xe1, 0x56, - 0x40, 0x12, 0x5f, 0xb7, 0x5a, 0x66, 0x0b, 0x56, 0xcb, 0xde, 0xba, 0xd5, 0xc6, 0xc3, 0x72, 0x99, - 0x96, 0x67, 0x8d, 0x30, 0xba, 0xe3, 0x08, 0x95, 0x45, 0x29, 0x25, 0x15, 0xce, 0xaf, 0xe2, 0xa6, - 0x6e, 0x04, 0x57, 0xa2, 0x62, 0x77, 0xcd, 0x64, 0x28, 0x0e, 0x7e, 0x24, 0x56, 0x07, 0x2d, 0x05, - 0x67, 0x2b, 0x86, 0xf6, 0xd1, 0x54, 0x82, 0xf4, 0x07, 0xd5, 0x6c, 0xb7, 0x75, 0xc7, 0x6d, 0x7b, - 0xf6, 0x86, 0x3e, 0x03, 0x69, 0x0d, 0x2b, 0x9a, 0xb7, 0x82, 0x31, 0xca, 0x71, 0x93, 0xbc, 0xec, - 0xe8, 0xcb, 0x70, 0x9e, 0x0c, 0xe6, 0x96, 0xa1, 0xb4, 0x64, 0x26, 0x4d, 0x76, 0x2c, 0xbd, 0xd9, - 0xc4, 0x16, 0x5f, 0xf3, 0xbb, 0x1e, 0x52, 0xce, 0x1a, 0xe7, 0x28, 0x53, 0x86, 0x06, 0xcb, 0x2f, - 0x9d, 0xd5, 0xc3, 0xc8, 0xe8, 0x0b, 0xde, 0x12, 0x91, 0xdd, 0x51, 0x0c, 0xbb, 0x38, 0x49, 0xc7, - 0xb0, 0xa8, 0xa5, 0x44, 0x6e, 0x19, 0x7c, 0x5e, 0x22, 0x14, 0x1b, 0xdd, 0x24, 0x68, 0xe3, 0xbd, - 0xae, 0x6e, 0x61, 0xf9, 0x56, 0x47, 0x2d, 0x4e, 0x91, 0xba, 0xaf, 0x16, 0x9e, 0x1d, 0x2f, 0x82, - 0xc4, 0xc8, 0xb7, 0xb6, 0xcb, 0x04, 0x7d, 0xb0, 0xe7, 0x8e, 0x8a, 0xae, 0x83, 0x68, 0x98, 0xb2, - 0x85, 0xf7, 0x2c, 0x6c, 0xef, 0xf3, 0xcf, 0xa6, 0xa9, 0xc6, 0x0a, 0x86, 0x29, 0x31, 0x32, 0x13, - 0x7d, 0x0e, 0xa6, 0x3a, 0xa6, 0x6e, 0x9b, 0x46, 0x31, 0xc3, 0x34, 0xca, 0xde, 0xd0, 0x5b, 0x20, - 0xea, 0x86, 0xbc, 0xd7, 0xd2, 0x9b, 0xfb, 0x8e, 0x7c, 0x60, 0xe9, 0x0e, 0xb6, 0x8b, 0xb3, 0xb4, - 0xe0, 0x61, 0x66, 0x51, 0xe7, 0x8b, 0xb1, 0xda, 0xdb, 0x24, 0x27, 0xaf, 0x42, 0x41, 0x37, 0xee, - 0x52, 0x7e, 0x4a, 0xb4, 0x3d, 0x97, 0x60, 0x5a, 0x4c, 0x97, 0xfe, 0x45, 0x80, 0x73, 0xfd, 0x66, - 0x12, 0x67, 0x37, 0xbd, 0x0e, 0xa2, 0x69, 0x60, 0xb9, 0xb3, 0xaf, 0xd8, 0x98, 0x37, 0x2b, 0x9f, - 0xbf, 0x0a, 0xa6, 0x81, 0xb7, 0x09, 0x99, 0x35, 0x12, 0xda, 0x86, 0x59, 0xdb, 0x51, 0x9a, 0xba, - 0xd1, 0x94, 0xbd, 0x65, 0x7c, 0xba, 0x16, 0x33, 0xa6, 0xf3, 0x2f, 0x72, 0x6e, 0x8f, 0xde, 0xe3, - 0xf4, 0xfc, 0x83, 0x00, 0xb3, 0x2b, 0x5a, 0x5b, 0x37, 0xea, 0x9d, 0x96, 0x1e, 0xeb, 0x4a, 0xc1, - 0x65, 0xc8, 0xd8, 0x44, 0xa6, 0x3f, 0x07, 0xf9, 0x28, 0x2f, 0x4d, 0x53, 0xc8, 0x64, 0xf4, 0x00, - 0x66, 0xf0, 0x61, 0x47, 0xb7, 0x14, 0xa2, 0x62, 0x06, 0x6c, 0x52, 0xe3, 0xd7, 0xad, 0xe0, 0xf3, - 0xfa, 0xe0, 0x86, 0xd7, 0xec, 0x11, 0xa0, 0x60, 0xc5, 0xe2, 0x1c, 0x43, 0x64, 0x98, 0xa3, 0xa2, - 0x77, 0x0c, 0x3b, 0x66, 0xad, 0xf1, 0x51, 0xf0, 0x4b, 0x70, 0xa6, 0xf7, 0x03, 0x71, 0x96, 0xfe, - 0x5d, 0xde, 0xe2, 0x1b, 0xd8, 0xfa, 0x88, 0xc0, 0x75, 0x50, 0x7c, 0x9c, 0x25, 0xff, 0x9a, 0x00, - 0x17, 0xa8, 0x6c, 0xda, 0x2d, 0xf7, 0xb0, 0x45, 0x77, 0x88, 0xe2, 0x34, 0xda, 0x4b, 0x30, 0xc5, - 0xb0, 0x32, 0xb5, 0xd8, 0xc9, 0xd5, 0x2c, 0x71, 0xaf, 0xea, 0x8e, 0x69, 0x11, 0xf7, 0x8a, 0x27, - 0xf1, 0x7a, 0x2a, 0x30, 0x1f, 0x56, 0x96, 0x38, 0xeb, 0xfb, 0xe7, 0x09, 0xfe, 0x8d, 0xf2, 0x3e, - 0x83, 0xe9, 0x9d, 0x96, 0xae, 0x2a, 0xb1, 0x7a, 0x2b, 0x15, 0xc8, 0xaa, 0x54, 0xb8, 0xec, 0x1c, - 0x75, 0xd8, 0xa2, 0x42, 0xe1, 0xf6, 0xe5, 0x50, 0x41, 0xf4, 0xe3, 0xac, 0x24, 0x8d, 0xa3, 0x0e, - 0x26, 0x8e, 0xb6, 0xfb, 0x8c, 0xd6, 0x60, 0x9a, 0x29, 0xc7, 0xc5, 0x28, 0x43, 0x44, 0xd0, 0xde, - 0x4a, 0x33, 0xf3, 0x5e, 0xec, 0xb2, 0xa2, 0x32, 0xa4, 0xf1, 0x61, 0x47, 0xa6, 0xbb, 0x8a, 0xa9, - 0x13, 0xee, 0x2a, 0x4e, 0xe3, 0xc3, 0x0e, 0x21, 0xf2, 0xd6, 0x79, 0x5f, 0x80, 0xe7, 0x42, 0x55, - 0x17, 0xe7, 0x20, 0xee, 0xee, 0x80, 0x26, 0x4e, 0xb3, 0x03, 0x5a, 0xfa, 0x63, 0xd7, 0x9a, 0x25, - 0xdc, 0x32, 0x55, 0xe5, 0x23, 0x58, 0x04, 0x0c, 0xb4, 0x4a, 0xe2, 0xd4, 0xad, 0xd2, 0x67, 0xee, - 0x7d, 0x85, 0x8d, 0xd3, 0xdc, 0x7f, 0x5b, 0x80, 0xb9, 0x2a, 0x56, 0x2c, 0x67, 0x17, 0x2b, 0x4e, - 0xe3, 0x30, 0x56, 0xc7, 0xec, 0x55, 0x48, 0x1a, 0xe6, 0xc1, 0x49, 0x16, 0xcd, 0x48, 0x7e, 0x7f, - 0x38, 0xee, 0x2d, 0x57, 0x9c, 0xb5, 0xfe, 0xdb, 0x04, 0x64, 0xee, 0x95, 0xe3, 0xac, 0xeb, 0x67, - 0xf9, 0xd2, 0x2a, 0xeb, 0x89, 0x61, 0x66, 0xe9, 0x7d, 0x6f, 0xf9, 0x5e, 0x79, 0x1d, 0x1f, 0xb9, - 0x66, 0x49, 0xb8, 0xd0, 0x0a, 0x64, 0x9c, 0x7d, 0xe2, 0x7f, 0x99, 0x2d, 0xed, 0x24, 0x73, 0xb1, - 0xcf, 0x35, 0xff, 0x18, 0x26, 0xa9, 0x5c, 0x77, 0x73, 0x5e, 0x08, 0xd9, 0x9c, 0x27, 0x9f, 0xf1, - 0xdc, 0x99, 0xc4, 0x49, 0x3e, 0xe3, 0x12, 0x58, 0xe3, 0x78, 0x73, 0xfe, 0xa4, 0x38, 0x55, 0x7a, - 0x0b, 0x80, 0x54, 0x2d, 0xce, 0xe6, 0xf9, 0x8b, 0x24, 0x14, 0xb6, 0xbb, 0xf6, 0x7e, 0xcc, 0xf6, - 0x58, 0x06, 0xe8, 0x74, 0xed, 0x7d, 0x6c, 0xc9, 0xce, 0xa1, 0xc1, 0xeb, 0x3f, 0x62, 0xdb, 0xdf, - 0x55, 0x00, 0xe3, 0x6b, 0x1c, 0x1a, 0x68, 0x8b, 0x0b, 0xc1, 0xb2, 0x1f, 0x3b, 0x70, 0x63, 0x0c, - 0xa8, 0xd7, 0x38, 0x34, 0x36, 0xb0, 0x87, 0xf1, 0x98, 0x40, 0x4c, 0x04, 0x7e, 0x16, 0xa6, 0xc9, - 0x8b, 0xec, 0x98, 0x27, 0x69, 0xf9, 0x29, 0xc2, 0xd3, 0x30, 0xd1, 0x1b, 0x90, 0x61, 0xdc, 0x64, - 0x26, 0x99, 0xa2, 0x33, 0x49, 0x58, 0x95, 0xb8, 0x36, 0xe9, 0x1c, 0x92, 0xa6, 0xac, 0x64, 0x06, - 0x39, 0x03, 0x93, 0x7b, 0xa6, 0xa5, 0x62, 0x1a, 0x2c, 0x90, 0x96, 0xd8, 0x0b, 0xba, 0x01, 0xb3, - 0xba, 0xa1, 0xb6, 0xba, 0xb6, 0xfe, 0x04, 0xcb, 0x6e, 0xd1, 0x18, 0x10, 0x98, 0xf1, 0x12, 0xa8, - 0x40, 0x33, 0x68, 0x08, 0xf7, 0x53, 0xe9, 0xb4, 0x98, 0x29, 0x7d, 0x4b, 0x80, 0x19, 0xaf, 0xed, - 0xe2, 0x1c, 0xf8, 0xcb, 0x3d, 0x8a, 0x3f, 0x79, 0xeb, 0x11, 0x65, 0x97, 0xfe, 0x5e, 0x80, 0x59, - 0x09, 0xab, 0xe6, 0x13, 0xda, 0x98, 0x71, 0x1a, 0xd7, 0x2a, 0x0b, 0x26, 0x49, 0x9c, 0xd2, 0x20, - 0x68, 0x78, 0xc9, 0x2d, 0x38, 0xa3, 0xb7, 0xc9, 0xcc, 0xa0, 0x3b, 0xad, 0x23, 0x8e, 0x50, 0x1c, - 0xec, 0xee, 0x77, 0xce, 0xf9, 0x69, 0x65, 0x37, 0x89, 0x0f, 0x96, 0x6c, 0x07, 0xc4, 0xaf, 0x56, - 0x9c, 0x7a, 0xaf, 0x41, 0xde, 0x62, 0xa2, 0xb1, 0x76, 0x62, 0xd5, 0xe7, 0x3c, 0x56, 0xa2, 0xfd, - 0xef, 0x24, 0x60, 0xe6, 0xad, 0x2e, 0xb6, 0x8e, 0x3e, 0x86, 0xba, 0xbf, 0x0a, 0x33, 0x07, 0x8a, - 0xee, 0xc8, 0x7b, 0xa6, 0x25, 0x77, 0x3b, 0x9a, 0xe2, 0xb8, 0x61, 0x0f, 0x79, 0x42, 0xbe, 0x6b, - 0x5a, 0x3b, 0x94, 0x88, 0x30, 0xa0, 0xc7, 0x86, 0x79, 0x60, 0xc8, 0x84, 0x4c, 0x01, 0xe2, 0xa1, - 0xc1, 0x17, 0x77, 0x57, 0x3f, 0xfd, 0x8f, 0xc7, 0x8b, 0x77, 0xc6, 0x0a, 0x64, 0xa2, 0xb1, 0x60, - 0xdd, 0xae, 0xae, 0x2d, 0xef, 0xec, 0xd4, 0xd6, 0x24, 0x91, 0x8a, 0x7c, 0x9b, 0x49, 0x6c, 0x1c, - 0x1a, 0xae, 0x03, 0xf0, 0xa1, 0x00, 0xa2, 0xaf, 0xb0, 0x38, 0x5b, 0xb5, 0x02, 0xd9, 0xf7, 0xba, - 0xd8, 0xd2, 0x4f, 0xd1, 0xa6, 0xc0, 0x19, 0xc9, 0xe0, 0xf5, 0x0e, 0xe4, 0x7a, 0xf4, 0x90, 0xfc, - 0xd5, 0xf4, 0x90, 0x3d, 0xf0, 0x55, 0x50, 0xfa, 0x81, 0x00, 0x88, 0x56, 0xbe, 0xc6, 0xd6, 0xd5, - 0x3f, 0x66, 0x06, 0x73, 0x1d, 0x44, 0x1a, 0x5a, 0x28, 0xeb, 0x7b, 0x72, 0x5b, 0xb7, 0x6d, 0xdd, - 0x68, 0x72, 0x8b, 0x29, 0x50, 0x7a, 0x6d, 0x6f, 0x83, 0x51, 0x79, 0x5b, 0xfe, 0x3f, 0x98, 0xeb, - 0xa9, 0x4d, 0x9c, 0xad, 0x79, 0x11, 0x72, 0x7b, 0x66, 0xd7, 0xd0, 0x64, 0xb6, 0x40, 0xc4, 0x17, - 0xc2, 0xb2, 0x94, 0xc6, 0xbe, 0x57, 0xfa, 0x6a, 0x02, 0xce, 0x48, 0xd8, 0x36, 0x5b, 0x4f, 0x70, - 0xfc, 0xfa, 0xdc, 0x02, 0xbe, 0xf9, 0x21, 0xff, 0x2a, 0x6a, 0xcd, 0x30, 0x19, 0x6c, 0x52, 0xec, - 0x5d, 0x2f, 0xbf, 0x3c, 0xdc, 0x32, 0x07, 0x57, 0xc8, 0xf9, 0xfa, 0x55, 0x2a, 0xb8, 0x7e, 0xc5, - 0x1b, 0xe2, 0xff, 0xc0, 0xd9, 0x3e, 0x45, 0xc4, 0xe9, 0xbb, 0xfc, 0x38, 0x01, 0x17, 0x7a, 0xc5, - 0xc7, 0x8d, 0x30, 0xfe, 0x67, 0x28, 0x1b, 0x55, 0x21, 0xdf, 0xd6, 0x8d, 0xd3, 0xad, 0x9f, 0xe5, - 0x08, 0xc6, 0xef, 0xf5, 0x39, 0x09, 0x18, 0x0a, 0xd3, 0x6b, 0x9c, 0x6d, 0xf7, 0x0d, 0x01, 0x72, - 0x71, 0xaf, 0xd0, 0x9c, 0x2e, 0xd6, 0x89, 0xd7, 0xb9, 0x01, 0xf9, 0x8f, 0x60, 0x49, 0xe7, 0x0f, - 0x05, 0x40, 0x0d, 0xab, 0x6b, 0x10, 0x48, 0xf9, 0xc0, 0x6c, 0xc6, 0x59, 0xd9, 0x33, 0x30, 0xa9, - 0x1b, 0x1a, 0x3e, 0xa4, 0x95, 0x4d, 0x49, 0xec, 0xa5, 0x67, 0x37, 0x2d, 0x39, 0xd6, 0x6e, 0x9a, - 0x1f, 0x32, 0xd1, 0x53, 0xd0, 0x38, 0xb5, 0xf0, 0x9d, 0x04, 0xcc, 0xf1, 0xea, 0xc4, 0xbe, 0xa4, - 0x75, 0xaa, 0x40, 0x6b, 0xf4, 0x39, 0x80, 0x8e, 0x85, 0x9f, 0xc8, 0x8c, 0x35, 0x39, 0x16, 0x6b, - 0x86, 0x70, 0x50, 0x02, 0xfa, 0x22, 0xcc, 0x90, 0x0e, 0xd7, 0xb1, 0xcc, 0x8e, 0x69, 0x93, 0x79, - 0xdd, 0x1e, 0x0f, 0x50, 0xcc, 0x3e, 0x3b, 0x5e, 0xcc, 0x6f, 0xe8, 0xc6, 0x36, 0x67, 0x6c, 0xd4, - 0x25, 0xd2, 0x73, 0xbd, 0x57, 0xd7, 0x19, 0xf9, 0x91, 0x00, 0x67, 0x3e, 0xb2, 0x45, 0xc0, 0xff, - 0x0e, 0x8d, 0x79, 0xf3, 0x81, 0x48, 0x5f, 0x6b, 0xc6, 0x9e, 0x19, 0xff, 0xd2, 0xec, 0x37, 0x04, - 0x98, 0x0d, 0x88, 0x8f, 0x73, 0xd6, 0x3f, 0x5d, 0x38, 0xff, 0x97, 0x88, 0x1f, 0x10, 0x34, 0xfb, - 0x38, 0x3b, 0xd5, 0xbf, 0x09, 0x70, 0xae, 0xcc, 0xf6, 0x59, 0xdd, 0xd0, 0x81, 0x38, 0xad, 0xa4, - 0x08, 0xd3, 0x4f, 0xb0, 0x65, 0xeb, 0x26, 0x9b, 0xf7, 0xf2, 0x92, 0xfb, 0x8a, 0xe6, 0x21, 0x6d, - 0x1b, 0x4a, 0xc7, 0xde, 0x37, 0xdd, 0x3d, 0x1d, 0xef, 0xdd, 0x0b, 0x73, 0x98, 0x3c, 0x7d, 0x98, - 0xc3, 0x54, 0x78, 0x98, 0x03, 0xdf, 0xf6, 0xf8, 0xbe, 0x00, 0xe7, 0x07, 0x6a, 0x1d, 0x67, 0x4b, - 0x7f, 0x05, 0xb2, 0x2a, 0x17, 0x4c, 0xc6, 0x50, 0xb6, 0xb3, 0x53, 0x23, 0xd9, 0x4e, 0xe9, 0x69, - 0x3f, 0x3b, 0x5e, 0x04, 0xb7, 0xa8, 0xb5, 0x35, 0x5e, 0x31, 0xf2, 0xac, 0x95, 0x7e, 0x0e, 0x90, - 0xaf, 0x1c, 0x76, 0x4c, 0xcb, 0xa9, 0x33, 0x47, 0x02, 0xad, 0x41, 0xba, 0x63, 0x99, 0x4f, 0x74, - 0xb7, 0x12, 0x85, 0xd0, 0xed, 0xcf, 0x1e, 0x9e, 0x6d, 0x9e, 0x5f, 0xf2, 0x38, 0x91, 0x04, 0x99, - 0x07, 0xa6, 0xaa, 0xb4, 0xee, 0xea, 0x2d, 0xd7, 0x62, 0x97, 0x47, 0x89, 0x59, 0xf6, 0x38, 0xb6, - 0x15, 0x67, 0xdf, 0xed, 0xc0, 0x1e, 0x11, 0xdd, 0x83, 0x74, 0xd5, 0x71, 0x3a, 0x24, 0x91, 0xf7, - 0xfe, 0x2b, 0x23, 0x45, 0x12, 0x06, 0x2e, 0xc9, 0x63, 0x46, 0x12, 0xcc, 0xde, 0x33, 0xcd, 0x66, - 0x0b, 0x97, 0x5b, 0x66, 0x57, 0x2b, 0x9b, 0xc6, 0x9e, 0xde, 0xe4, 0xa3, 0xe7, 0xe5, 0x91, 0x12, - 0xef, 0x95, 0xeb, 0xd2, 0x20, 0x3b, 0xfa, 0x3c, 0xa4, 0xeb, 0x77, 0xb8, 0x28, 0xe6, 0xfb, 0x5c, - 0x1a, 0x29, 0xaa, 0x7e, 0x47, 0xf2, 0x98, 0x50, 0x15, 0xb2, 0x2b, 0x4f, 0xbb, 0x16, 0xe6, 0x32, - 0xa6, 0xa8, 0x8c, 0xab, 0x23, 0x65, 0x50, 0x1e, 0x29, 0xc8, 0x8a, 0xde, 0x82, 0xc2, 0xdb, 0xa6, - 0xf5, 0xb8, 0x65, 0x2a, 0x6e, 0xdd, 0xa6, 0xa9, 0xb0, 0x17, 0x47, 0x0a, 0x73, 0xd9, 0xa4, 0x3e, - 0x01, 0xf3, 0x5f, 0x84, 0x7c, 0x4f, 0xe3, 0x20, 0x04, 0xa9, 0x0e, 0x69, 0x07, 0x81, 0x06, 0xa5, - 0xd0, 0x67, 0xf4, 0x0a, 0x4c, 0x1b, 0xa6, 0x86, 0x5d, 0x9b, 0xcd, 0xaf, 0x9e, 0x79, 0x76, 0xbc, - 0x38, 0xb5, 0x69, 0x6a, 0x6c, 0xda, 0xe7, 0x4f, 0xd2, 0x14, 0xc9, 0xe4, 0x4e, 0xfa, 0xf3, 0x57, - 0x21, 0x45, 0xda, 0x85, 0x74, 0xf6, 0x5d, 0xc5, 0xc6, 0x3b, 0x96, 0xce, 0x65, 0xba, 0xaf, 0x3c, - 0xdf, 0xdf, 0x08, 0x90, 0xa8, 0xdf, 0x21, 0xfe, 0xe7, 0x6e, 0x57, 0x7d, 0x8c, 0x1d, 0x9e, 0x8b, - 0xbf, 0x51, 0xbf, 0xd4, 0xc2, 0x7b, 0x3a, 0xf3, 0x45, 0x32, 0x12, 0x7f, 0x43, 0x2f, 0x00, 0x28, - 0xaa, 0x8a, 0x6d, 0x5b, 0x76, 0xcf, 0x30, 0x65, 0xa4, 0x0c, 0xa3, 0xac, 0xe3, 0x23, 0xc2, 0x66, - 0x63, 0xd5, 0xc2, 0x8e, 0x1b, 0x5d, 0xc3, 0xde, 0x08, 0x9b, 0x83, 0xdb, 0x1d, 0xd9, 0x31, 0x1f, - 0x63, 0x83, 0xb6, 0x67, 0x46, 0xca, 0x10, 0x4a, 0x83, 0x10, 0xc8, 0xf8, 0x83, 0x0d, 0xcd, 0x1f, - 0x2c, 0x32, 0x92, 0xf7, 0x4e, 0x44, 0x5a, 0xb8, 0xa9, 0xf3, 0x43, 0x39, 0x19, 0x89, 0xbf, 0xf1, - 0x6a, 0x7c, 0x53, 0x80, 0xe4, 0xbd, 0x72, 0xfd, 0xc4, 0xf5, 0x40, 0x90, 0x52, 0xba, 0xdc, 0xee, - 0x33, 0x12, 0x7d, 0xa6, 0x61, 0x67, 0x7a, 0xab, 0x45, 0xe0, 0x78, 0xc7, 0x32, 0xbf, 0x82, 0x55, - 0xb7, 0x16, 0x05, 0x4e, 0xde, 0x66, 0x54, 0xb4, 0x04, 0x59, 0xd5, 0xc2, 0x1a, 0x36, 0x1c, 0x5d, - 0x69, 0xd9, 0xbc, 0x3a, 0x41, 0x12, 0x2f, 0xdc, 0x57, 0x05, 0x98, 0xa4, 0x86, 0x84, 0x9e, 0x87, - 0x8c, 0x6a, 0x1a, 0x8e, 0xa2, 0x1b, 0x7c, 0x14, 0xc8, 0x48, 0x3e, 0x21, 0xb2, 0x90, 0x17, 0x21, - 0xa7, 0xa8, 0xaa, 0xd9, 0x35, 0x1c, 0xd9, 0x50, 0xda, 0x98, 0x17, 0x36, 0xcb, 0x69, 0x9b, 0x4a, - 0x1b, 0xa3, 0x45, 0x70, 0x5f, 0xbd, 0x53, 0x63, 0x19, 0x09, 0x38, 0x69, 0x1d, 0x1f, 0xf1, 0x92, - 0x7c, 0x5f, 0x80, 0xb4, 0x6b, 0x82, 0xa4, 0x30, 0x4d, 0x6c, 0x60, 0x4b, 0x71, 0x4c, 0xaf, 0x30, - 0x1e, 0xa1, 0x7f, 0x96, 0xc8, 0xf8, 0xb3, 0xc4, 0x19, 0x98, 0x74, 0x94, 0xdd, 0x96, 0x5b, 0x0e, - 0xf6, 0x42, 0x97, 0x41, 0x5b, 0x4a, 0x93, 0xad, 0xe2, 0x64, 0x24, 0xf6, 0x42, 0xaa, 0xc4, 0xe3, - 0x1c, 0x99, 0x76, 0xf8, 0x1b, 0x29, 0x2f, 0x0b, 0xed, 0xdb, 0xc5, 0x4d, 0xdd, 0xa0, 0x8d, 0x9d, - 0x94, 0x80, 0x92, 0x68, 0x14, 0x0d, 0x7a, 0x0e, 0x32, 0x2c, 0x03, 0x36, 0x34, 0xda, 0xe2, 0x49, - 0x29, 0x4d, 0x09, 0x15, 0xf7, 0x98, 0x0c, 0x77, 0x0d, 0xfe, 0x44, 0x80, 0x59, 0x16, 0x1b, 0xc1, - 0x62, 0x02, 0xe3, 0x9b, 0x27, 0x5f, 0x87, 0x8c, 0xa6, 0x38, 0x0a, 0x3b, 0xa5, 0x96, 0x18, 0x7a, - 0x4a, 0xcd, 0x1d, 0x0a, 0x49, 0x7e, 0x7a, 0x52, 0x0d, 0x41, 0x8a, 0x3c, 0xb3, 0xd3, 0x7d, 0x12, - 0x7d, 0xf6, 0x77, 0x99, 0x83, 0xc5, 0x8d, 0xd3, 0x6f, 0xf8, 0xc1, 0xa4, 0x3b, 0xe9, 0xc4, 0xa9, - 0x86, 0x2f, 0xc0, 0x34, 0x07, 0xc3, 0x5c, 0x09, 0x4b, 0xa3, 0xc6, 0x3b, 0x77, 0x1f, 0x8e, 0xb3, - 0xa1, 0x55, 0x00, 0x16, 0xd4, 0x47, 0xa3, 0x24, 0x92, 0x27, 0xd8, 0x32, 0xa1, 0x6c, 0x84, 0x8a, - 0x36, 0x21, 0xdb, 0x7e, 0xa2, 0xaa, 0xf2, 0x9e, 0xde, 0x72, 0x78, 0x00, 0x51, 0x78, 0xd4, 0xec, - 0xc6, 0xc3, 0x72, 0xf9, 0x2e, 0xcd, 0xc4, 0xe2, 0x78, 0xfc, 0x77, 0x09, 0x88, 0x04, 0xf6, 0x8c, - 0x5e, 0x06, 0x7e, 0xa6, 0x40, 0xb6, 0xdd, 0x13, 0x42, 0xab, 0xf9, 0x67, 0xc7, 0x8b, 0x19, 0x89, - 0x52, 0xeb, 0xf5, 0x86, 0x94, 0x61, 0x19, 0xea, 0xb6, 0x83, 0x2e, 0x41, 0xde, 0x6c, 0xeb, 0x8e, - 0xec, 0xce, 0xf0, 0xdc, 0x95, 0xc9, 0x11, 0xa2, 0xeb, 0x01, 0xa0, 0x06, 0x5c, 0xc3, 0x06, 0xe9, - 0x0b, 0xb4, 0x9e, 0x2c, 0x5a, 0x5c, 0xd6, 0x1d, 0xd6, 0x9f, 0x64, 0xb3, 0xe3, 0xe8, 0x6d, 0xfd, - 0x29, 0xdd, 0xae, 0xe4, 0x5b, 0x05, 0x97, 0x58, 0x76, 0x52, 0x3f, 0x1a, 0x3f, 0x5e, 0xe3, 0x79, - 0xb7, 0x02, 0x59, 0xd1, 0x57, 0x05, 0x1a, 0x86, 0x4e, 0x14, 0x29, 0xef, 0x1e, 0xc9, 0x2d, 0x32, - 0x5d, 0xe8, 0xce, 0x91, 0xfc, 0xf8, 0x49, 0x31, 0x4d, 0xb7, 0xc9, 0x3e, 0x13, 0xd9, 0x1c, 0xee, - 0x56, 0x99, 0xdb, 0x2c, 0x47, 0x0f, 0x38, 0xf3, 0xfa, 0x93, 0x8a, 0xe1, 0x58, 0x47, 0xab, 0xe7, - 0x9f, 0x1d, 0x2f, 0xce, 0x0d, 0xa6, 0x3e, 0xa4, 0xa1, 0xed, 0xfd, 0x2c, 0xf3, 0xfb, 0x50, 0x8c, - 0x92, 0x84, 0x44, 0x7f, 0xbf, 0x2c, 0xc3, 0xb6, 0xc9, 0x3e, 0xd5, 0x8b, 0xd8, 0x47, 0x1a, 0x8d, - 0x8b, 0xd9, 0x13, 0xaf, 0xb9, 0x3d, 0xfb, 0xeb, 0x02, 0xe4, 0x57, 0xbb, 0xad, 0xc7, 0x5b, 0x9d, - 0x7a, 0xb7, 0xdd, 0x56, 0xac, 0x23, 0x32, 0x28, 0xb0, 0x1e, 0xa9, 0x3f, 0xc5, 0x2c, 0xa2, 0x94, - 0x77, 0x39, 0xfd, 0x29, 0x26, 0x5d, 0x8e, 0x07, 0x2a, 0x13, 0x3a, 0x8b, 0x42, 0xbe, 0x04, 0x79, - 0x0a, 0x9e, 0x65, 0x6c, 0x38, 0x96, 0x8e, 0xd9, 0xda, 0x4c, 0x52, 0xca, 0x51, 0x62, 0x85, 0xd1, - 0xd0, 0x15, 0x28, 0xd8, 0x47, 0xb6, 0x83, 0xdb, 0x32, 0x3b, 0x4f, 0xcc, 0x10, 0x5f, 0x52, 0xca, - 0x33, 0xaa, 0xc4, 0x88, 0xa5, 0x9f, 0x26, 0xa1, 0xe0, 0xea, 0x35, 0x4e, 0xb7, 0x74, 0x15, 0x26, - 0xf7, 0xf4, 0x16, 0x76, 0x77, 0xba, 0xaf, 0x0e, 0x69, 0x4e, 0x1e, 0xca, 0x4a, 0xbc, 0x05, 0x17, - 0x8e, 0x50, 0xd6, 0x38, 0x7a, 0xd8, 0xfc, 0xaf, 0x25, 0x20, 0x45, 0xfd, 0xc1, 0x5b, 0x90, 0xa2, - 0x43, 0x9e, 0x30, 0xce, 0x90, 0x47, 0xb3, 0x7a, 0x6e, 0x4b, 0x22, 0xe0, 0xb6, 0x10, 0x1f, 0x60, - 0x5f, 0x79, 0xf5, 0xd6, 0x6d, 0xda, 0xbb, 0x72, 0x12, 0x7f, 0x43, 0xab, 0x34, 0x56, 0xc2, 0xb4, - 0x1c, 0xac, 0x71, 0x6f, 0x2c, 0xcc, 0x36, 0x7a, 0x1a, 0xde, 0x1d, 0x5e, 0x5d, 0x3e, 0x74, 0x01, - 0x92, 0xa4, 0xdb, 0x4e, 0xb3, 0xed, 0xd9, 0x67, 0xc7, 0x8b, 0x49, 0xd2, 0x61, 0x09, 0x0d, 0xdd, - 0x84, 0x6c, 0x6f, 0x1f, 0x11, 0xae, 0x67, 0xd8, 0x48, 0x10, 0xb0, 0x6f, 0x68, 0x79, 0xf6, 0xcb, - 0xd0, 0xc7, 0xfd, 0x54, 0x3a, 0x25, 0x4e, 0x96, 0xbe, 0x9b, 0x82, 0x7c, 0xad, 0x1d, 0xf7, 0x08, - 0xba, 0xd2, 0xdb, 0xc2, 0x61, 0xde, 0x75, 0xcf, 0x47, 0x43, 0x1a, 0xb8, 0x67, 0x2e, 0x4a, 0x9e, - 0x6c, 0x2e, 0xaa, 0x11, 0xcf, 0x89, 0x9f, 0x99, 0x26, 0xdf, 0x7f, 0x69, 0xe4, 0xf7, 0x1b, 0x64, - 0x58, 0x92, 0x08, 0x8f, 0x1f, 0xdc, 0x4d, 0xb7, 0xd8, 0xdf, 0xa4, 0x0e, 0x1a, 0xb3, 0xb2, 0xa9, - 0xf1, 0xad, 0x6c, 0x1a, 0x1b, 0x1a, 0xb5, 0xb1, 0x43, 0x6e, 0x62, 0xaf, 0x41, 0x52, 0xd3, 0x87, - 0xa9, 0x34, 0x6c, 0x3e, 0x21, 0x2c, 0x23, 0x2c, 0x2d, 0x15, 0xb4, 0xb4, 0x20, 0xba, 0x9c, 0xdf, - 0x02, 0xf0, 0x6b, 0x85, 0x96, 0x60, 0xca, 0x6c, 0x69, 0x6e, 0x5c, 0x7a, 0x7e, 0x35, 0xf3, 0xec, - 0x78, 0x71, 0x72, 0xab, 0xa5, 0xd5, 0xd6, 0xa4, 0x49, 0xb3, 0xa5, 0xd5, 0x34, 0x7a, 0xd4, 0x1c, - 0x1f, 0xc8, 0x5e, 0x94, 0x4c, 0x4e, 0x9a, 0x36, 0xf0, 0x81, 0x1f, 0xa7, 0xe3, 0x09, 0x27, 0x66, - 0xf3, 0xfb, 0x02, 0x14, 0x5c, 0x0d, 0xc6, 0x3b, 0x34, 0xa4, 0xf5, 0x36, 0xef, 0x2a, 0xc9, 0x93, - 0x75, 0x15, 0x97, 0x8f, 0x1f, 0x88, 0xfb, 0x9a, 0xc0, 0x23, 0xff, 0xea, 0xaa, 0xe2, 0x90, 0xb9, - 0x30, 0x46, 0xf3, 0x7e, 0x11, 0x44, 0x4b, 0x31, 0x34, 0xb3, 0xad, 0x3f, 0xc5, 0x6c, 0x11, 0xc9, - 0xe6, 0x7b, 0x27, 0x33, 0x1e, 0x9d, 0xae, 0x92, 0xb8, 0x6b, 0x60, 0xff, 0x2a, 0xf0, 0x28, 0x41, - 0xaf, 0x30, 0x71, 0x2a, 0x6d, 0x1d, 0xa6, 0xe8, 0xfa, 0xa7, 0xdb, 0xdd, 0x5e, 0x09, 0x11, 0x12, - 0xf6, 0x75, 0x16, 0xf2, 0xe4, 0x19, 0x3c, 0x15, 0x31, 0xff, 0x05, 0x98, 0xa4, 0xe4, 0x53, 0x0c, - 0x8a, 0x5c, 0xf3, 0xff, 0x41, 0xe3, 0x54, 0xb5, 0x7a, 0x9d, 0x9b, 0x5f, 0x7c, 0x7a, 0x77, 0x7d, - 0xcc, 0x84, 0xef, 0x63, 0xa2, 0x57, 0x00, 0x69, 0xba, 0xcd, 0x0e, 0x42, 0xdb, 0xfb, 0x8a, 0x66, - 0x1e, 0xf8, 0x3b, 0x6a, 0xb3, 0x6e, 0x4a, 0xdd, 0x4d, 0x40, 0xef, 0x00, 0xf5, 0x89, 0x64, 0xdb, - 0x51, 0xbc, 0x85, 0xce, 0x97, 0x4f, 0x12, 0x72, 0xcf, 0x7c, 0x26, 0xef, 0x55, 0xca, 0x10, 0x71, - 0xf4, 0x31, 0x18, 0x54, 0xe9, 0xd7, 0x3e, 0x4e, 0x77, 0xb7, 0x03, 0x05, 0x1e, 0x70, 0x1d, 0xf3, - 0xe2, 0x3b, 0x0d, 0xca, 0xe6, 0x26, 0xcc, 0x5e, 0xfc, 0x33, 0xcf, 0xde, 0x17, 0xe3, 0xac, 0x49, - 0x17, 0xe6, 0x5c, 0xb9, 0x71, 0xef, 0x73, 0x0d, 0xab, 0x0e, 0x5d, 0xc4, 0x0c, 0x7e, 0x36, 0xce, - 0x3a, 0xfd, 0xb3, 0x00, 0x85, 0x7a, 0x77, 0x97, 0x5d, 0x7c, 0x11, 0x67, 0xd8, 0x67, 0xa6, 0x85, - 0xf7, 0x1c, 0xf9, 0x54, 0xe1, 0x8b, 0x69, 0xc2, 0x4a, 0xa8, 0x68, 0x05, 0xc0, 0xa2, 0x01, 0xf8, - 0x54, 0x4e, 0x72, 0x5c, 0x39, 0x52, 0x86, 0x72, 0x05, 0xc2, 0x35, 0xbf, 0x9b, 0x80, 0x19, 0xaf, - 0x9a, 0x71, 0x0e, 0x63, 0xff, 0xb7, 0xa7, 0x6b, 0x26, 0x4f, 0xd1, 0x35, 0x67, 0x89, 0xcc, 0xa8, - 0xee, 0x89, 0x96, 0x61, 0x8e, 0x8e, 0xd5, 0xb2, 0xd2, 0xe9, 0xb4, 0x74, 0xac, 0xc9, 0x6c, 0xcb, - 0x29, 0x45, 0xb7, 0x9c, 0x66, 0x69, 0xd2, 0x0a, 0x4b, 0xa9, 0xd1, 0xed, 0xa7, 0xbb, 0x90, 0xdb, - 0xb3, 0x30, 0x7e, 0x8a, 0x65, 0xea, 0x32, 0x9e, 0x64, 0x23, 0x32, 0xcb, 0x18, 0xeb, 0x84, 0x8f, - 0x8f, 0x8a, 0xef, 0xc2, 0x2c, 0x55, 0x6d, 0xdc, 0x87, 0x98, 0x78, 0xab, 0xfc, 0x5c, 0x00, 0x14, - 0x94, 0xff, 0xd1, 0x35, 0x4c, 0x22, 0xf6, 0x86, 0x79, 0x19, 0x10, 0x8b, 0x0d, 0xb1, 0xe5, 0x0e, - 0xb6, 0x64, 0x1b, 0xab, 0x26, 0xbf, 0xad, 0x41, 0x90, 0x44, 0x9e, 0xb2, 0x8d, 0xad, 0x3a, 0xa5, - 0x97, 0xfe, 0xfd, 0x02, 0xe4, 0xb8, 0x4e, 0x76, 0x0c, 0x82, 0x17, 0x6f, 0x41, 0xb2, 0xc9, 0x97, - 0xbf, 0xb2, 0xa1, 0x00, 0xd9, 0xbf, 0x31, 0xa6, 0x3a, 0x21, 0x91, 0xbc, 0x84, 0xa5, 0xd3, 0x75, - 0x42, 0x62, 0x19, 0xfd, 0xc0, 0xb7, 0x20, 0x4b, 0xa7, 0xeb, 0xa0, 0x3a, 0xcc, 0xa8, 0xfe, 0x8d, - 0x19, 0x32, 0x61, 0x4f, 0x46, 0x9e, 0xe9, 0x09, 0xbd, 0x77, 0xa4, 0x3a, 0x21, 0x15, 0xd4, 0x9e, - 0x04, 0x54, 0x0e, 0x5e, 0xd1, 0x90, 0x8a, 0x5c, 0xec, 0xed, 0xbf, 0x1e, 0xa2, 0x3a, 0x11, 0xb8, - 0xc9, 0x01, 0xbd, 0x0e, 0x53, 0x1a, 0x3d, 0xfa, 0xcf, 0x2d, 0x34, 0xcc, 0x88, 0x7a, 0x6e, 0x5b, - 0xa8, 0x4e, 0x48, 0x9c, 0x03, 0xdd, 0x87, 0x1c, 0x7b, 0x62, 0x07, 0xbe, 0xb9, 0x8b, 0x7b, 0x25, - 0x5a, 0x42, 0x60, 0xb4, 0xae, 0x4e, 0x48, 0x59, 0xcd, 0xa7, 0xa2, 0x4f, 0x42, 0xca, 0x56, 0x15, - 0x83, 0xaf, 0x11, 0x2f, 0x44, 0x9c, 0xef, 0xf5, 0x99, 0x69, 0x6e, 0xf4, 0x08, 0x66, 0xe9, 0x8a, - 0x98, 0xec, 0xf8, 0xa1, 0x02, 0x14, 0xc3, 0xf4, 0x46, 0x27, 0x78, 0xae, 0x5f, 0xf8, 0xb1, 0xb6, - 0xea, 0x84, 0x24, 0xee, 0xf6, 0x25, 0x91, 0x26, 0xa3, 0xbe, 0x7b, 0x40, 0x70, 0x26, 0xb2, 0xc9, - 0x42, 0x0f, 0x9a, 0x91, 0x26, 0xc3, 0x3d, 0x09, 0xe8, 0x1e, 0x64, 0x15, 0xe2, 0x4b, 0xc9, 0xf4, - 0xb8, 0x47, 0x11, 0x22, 0x17, 0xfb, 0x07, 0x8e, 0xea, 0x54, 0xe9, 0x19, 0x3d, 0x97, 0xe8, 0x0b, - 0x6a, 0x63, 0xab, 0x89, 0x8b, 0xd9, 0xe1, 0x82, 0x82, 0xf1, 0x05, 0x9e, 0x20, 0x4a, 0x44, 0x1b, - 0x90, 0xdf, 0x77, 0x43, 0x9e, 0x69, 0x6c, 0x47, 0x2e, 0x72, 0xc5, 0x3f, 0x24, 0x64, 0xbb, 0x3a, - 0x21, 0xe5, 0xf6, 0x03, 0x64, 0xb4, 0x0c, 0x89, 0xa6, 0x5a, 0xcc, 0x53, 0x19, 0xcf, 0x0f, 0x0b, - 0x48, 0xae, 0x4e, 0x48, 0x89, 0xa6, 0x4a, 0x10, 0x12, 0x8b, 0xf6, 0x3c, 0x34, 0x8a, 0x85, 0xc8, - 0x41, 0xa6, 0x37, 0x2e, 0xb7, 0x3a, 0x21, 0xd1, 0xe8, 0x55, 0xf2, 0xbd, 0x6d, 0x28, 0x58, 0x2c, - 0x40, 0xc3, 0x0d, 0x43, 0x12, 0xa9, 0x94, 0x6b, 0xe1, 0x43, 0xd5, 0x40, 0x24, 0x52, 0x75, 0x42, - 0xca, 0x5b, 0x41, 0x3a, 0xfa, 0x32, 0x9c, 0xe9, 0x95, 0xc8, 0x8d, 0x7b, 0x76, 0x60, 0xe4, 0x0a, - 0x97, 0xdb, 0x6b, 0xe3, 0xc8, 0x1a, 0x48, 0x44, 0x9f, 0x86, 0x49, 0xd6, 0x6a, 0x88, 0x8a, 0x0c, - 0xdb, 0x1b, 0xec, 0x6b, 0x30, 0x96, 0x9f, 0xf4, 0x37, 0x87, 0x47, 0x26, 0xc8, 0x2d, 0xb3, 0x59, - 0x9c, 0x8b, 0xec, 0x6f, 0x83, 0x91, 0x16, 0xa4, 0xbf, 0x39, 0x3e, 0x95, 0xb4, 0xbb, 0xc5, 0x52, - 0xf8, 0x46, 0xf6, 0x99, 0xc8, 0x76, 0x0f, 0x09, 0x58, 0xa8, 0xd2, 0x28, 0x4b, 0x9f, 0x4c, 0x8a, - 0x66, 0xb1, 0x23, 0xf5, 0x32, 0xed, 0xc6, 0x67, 0x23, 0x8b, 0x36, 0x78, 0x4d, 0x00, 0x29, 0x9a, - 0xe5, 0x53, 0xd1, 0x43, 0x10, 0xf9, 0xb1, 0x59, 0x7f, 0x01, 0xf1, 0x5c, 0xe4, 0xd6, 0x51, 0xf8, - 0xce, 0x6f, 0x75, 0x42, 0x9a, 0x51, 0x7b, 0x53, 0xc8, 0x60, 0x41, 0xe5, 0xc9, 0xaa, 0x7f, 0xde, - 0xb9, 0x58, 0x8c, 0x1c, 0x2c, 0x22, 0x4e, 0xc8, 0x93, 0xc1, 0x42, 0xed, 0x4b, 0x22, 0x66, 0xac, - 0x1b, 0xba, 0x43, 0x07, 0xf6, 0xf9, 0x48, 0x33, 0xee, 0xbd, 0xd4, 0x88, 0x98, 0xb1, 0xce, 0x28, - 0xc4, 0x8c, 0x1d, 0x1e, 0xe5, 0xc0, 0x9b, 0xe3, 0xf9, 0x48, 0x33, 0x0e, 0x0b, 0x87, 0x20, 0x66, - 0xec, 0x04, 0xe9, 0xc4, 0x8c, 0xd9, 0x00, 0xd1, 0x27, 0xf7, 0x85, 0x48, 0x33, 0x8e, 0x3c, 0x70, - 0x45, 0xcc, 0x58, 0x19, 0x48, 0x44, 0x6b, 0x00, 0xcc, 0x23, 0xd2, 0x8d, 0x3d, 0xb3, 0xb8, 0x10, - 0x39, 0xff, 0xf4, 0xc7, 0x39, 0x90, 0xf9, 0xa7, 0xe5, 0xd2, 0xc8, 0x40, 0x46, 0x7d, 0x6c, 0x99, - 0xee, 0x56, 0x14, 0x17, 0x23, 0x07, 0xb2, 0x81, 0x4d, 0x0b, 0x32, 0x90, 0x1d, 0x78, 0x44, 0x32, - 0x91, 0xb1, 0xf5, 0xae, 0xe2, 0xd2, 0x88, 0x65, 0x92, 0xc0, 0x44, 0xc6, 0x38, 0xd0, 0x0a, 0x64, - 0x88, 0xa7, 0x70, 0x44, 0x87, 0xa1, 0x8b, 0x91, 0xde, 0x6d, 0x5f, 0x18, 0x71, 0x75, 0x42, 0x4a, - 0xbf, 0xc7, 0x49, 0xe4, 0xf3, 0x6c, 0x0d, 0xa1, 0x58, 0x8a, 0xfc, 0x7c, 0xcf, 0xaa, 0x11, 0xf9, - 0x3c, 0xe3, 0x40, 0x2a, 0x9c, 0x65, 0x6d, 0xc5, 0x4f, 0x68, 0x59, 0xfc, 0x10, 0x53, 0xf1, 0x12, - 0x15, 0x15, 0x89, 0xc8, 0x43, 0x4f, 0x8b, 0x55, 0x27, 0xa4, 0x39, 0x65, 0x30, 0x95, 0x74, 0x78, - 0x3e, 0xf5, 0x30, 0x1c, 0x5f, 0xbc, 0x1c, 0xd9, 0xe1, 0x43, 0x56, 0x3e, 0x48, 0x87, 0x57, 0x02, - 0x64, 0x36, 0x01, 0x69, 0xb2, 0x6d, 0xb3, 0xbd, 0xad, 0x2b, 0x43, 0x26, 0xa0, 0x3e, 0x30, 0xcf, - 0x26, 0x20, 0xad, 0xce, 0x38, 0x89, 0x20, 0xb5, 0x85, 0x15, 0x8b, 0x0f, 0xb3, 0x57, 0x23, 0x05, - 0x0d, 0x5c, 0x14, 0x44, 0x04, 0xa9, 0x1e, 0x91, 0x4c, 0xd8, 0x96, 0x7b, 0xde, 0x9e, 0x7b, 0x9b, - 0xd7, 0x22, 0x27, 0xec, 0xd0, 0x6b, 0x01, 0xc8, 0x84, 0x6d, 0xf5, 0x24, 0xa0, 0xcf, 0xc1, 0x34, - 0x3f, 0xbc, 0x5c, 0xbc, 0x3e, 0xc4, 0x07, 0x0e, 0xc2, 0x6a, 0xd2, 0xaf, 0x39, 0x0f, 0x1b, 0x65, - 0xd9, 0xd9, 0x67, 0x56, 0xbd, 0x17, 0x87, 0x8c, 0xb2, 0x03, 0x88, 0x96, 0x8d, 0xb2, 0x3e, 0x99, - 0x8c, 0xb2, 0xcc, 0x4e, 0xf9, 0x5c, 0x77, 0x23, 0x72, 0x94, 0x1d, 0x8c, 0x61, 0x26, 0xa3, 0xec, - 0x7b, 0x3e, 0x95, 0xd4, 0xcc, 0x66, 0x40, 0xac, 0xf8, 0x52, 0x64, 0xcd, 0x7a, 0x11, 0x29, 0xa9, - 0x19, 0xe7, 0x21, 0xcd, 0xc6, 0xc2, 0xeb, 0x98, 0xa6, 0x5f, 0x8e, 0x6c, 0xb6, 0x01, 0xdc, 0x52, - 0x75, 0x2f, 0x91, 0x64, 0x1a, 0xf6, 0x06, 0x2a, 0x8b, 0x1f, 0x38, 0xe3, 0x9a, 0x7a, 0x65, 0xf8, - 0x40, 0x15, 0x76, 0x96, 0xce, 0x1b, 0xa8, 0x7a, 0x12, 0x69, 0x51, 0xd9, 0x89, 0x00, 0xda, 0xbf, - 0x97, 0xa3, 0x8b, 0xda, 0x7f, 0x48, 0x83, 0x16, 0xd5, 0x23, 0xfa, 0x5d, 0xa8, 0xcb, 0x8e, 0xeb, - 0x16, 0x6f, 0x0e, 0xef, 0x42, 0xbd, 0xc7, 0x86, 0xbd, 0x2e, 0xc4, 0xc9, 0xde, 0x9c, 0xe9, 0x7a, - 0x18, 0x9f, 0x18, 0x3e, 0x67, 0xf6, 0xbb, 0x16, 0x6c, 0xce, 0xe4, 0xf7, 0x29, 0x4d, 0xf3, 0xed, - 0xa3, 0xfb, 0xa9, 0xf4, 0x8c, 0x28, 0xde, 0x4f, 0xa5, 0xcf, 0x8b, 0xc5, 0xfb, 0xa9, 0xf4, 0x05, - 0x71, 0xfe, 0x7e, 0x2a, 0xfd, 0x9c, 0xf8, 0x7c, 0xe9, 0xc7, 0x17, 0x20, 0xef, 0x62, 0x35, 0x86, - 0x7c, 0x6e, 0x07, 0x91, 0xcf, 0x42, 0x14, 0xf2, 0xe1, 0xe8, 0x8e, 0x43, 0x9f, 0xdb, 0x41, 0xe8, - 0xb3, 0x10, 0x05, 0x7d, 0x7c, 0x1e, 0x82, 0x7d, 0x1a, 0x51, 0xd8, 0xe7, 0xc5, 0x31, 0xb0, 0x8f, - 0x27, 0xaa, 0x1f, 0xfc, 0xac, 0x0d, 0x82, 0x9f, 0xcb, 0xc3, 0xc1, 0x8f, 0x27, 0x2a, 0x80, 0x7e, - 0xde, 0xe8, 0x43, 0x3f, 0x17, 0x87, 0xa0, 0x1f, 0x8f, 0xdf, 0x85, 0x3f, 0xeb, 0xa1, 0xf0, 0xe7, - 0xea, 0x28, 0xf8, 0xe3, 0xc9, 0xe9, 0xc1, 0x3f, 0xaf, 0xf6, 0xe0, 0x9f, 0xc5, 0x48, 0xfc, 0xe3, - 0x71, 0x33, 0x00, 0xf4, 0x4e, 0x34, 0x00, 0x7a, 0x69, 0x2c, 0x00, 0xe4, 0xc9, 0x1b, 0x44, 0x40, - 0x8d, 0x28, 0x04, 0xf4, 0xe2, 0x18, 0x08, 0xc8, 0x6f, 0xb8, 0x3e, 0x08, 0x54, 0x0d, 0x83, 0x40, - 0x57, 0x46, 0x40, 0x20, 0x4f, 0x5a, 0x10, 0x03, 0x55, 0xc3, 0x30, 0xd0, 0x95, 0x11, 0x18, 0xa8, - 0x4f, 0x12, 0x03, 0x41, 0x9b, 0xe1, 0x20, 0xe8, 0xda, 0x48, 0x10, 0xe4, 0x49, 0xeb, 0x45, 0x41, - 0x37, 0x03, 0x28, 0xe8, 0x85, 0x08, 0x14, 0xe4, 0xb1, 0x12, 0x18, 0xf4, 0xf9, 0x01, 0x18, 0x54, - 0x1a, 0x06, 0x83, 0x3c, 0x5e, 0x0f, 0x07, 0xbd, 0x15, 0x81, 0x83, 0xae, 0x8f, 0xc6, 0x41, 0x9e, - 0xb0, 0x3e, 0x20, 0xa4, 0x0c, 0x05, 0x42, 0xaf, 0x8c, 0x09, 0x84, 0x3c, 0xe9, 0x61, 0x48, 0xe8, - 0xb5, 0x5e, 0x24, 0xb4, 0x14, 0x8d, 0x84, 0x3c, 0x31, 0x1c, 0x0a, 0xad, 0x87, 0x42, 0xa1, 0xab, - 0xa3, 0xa0, 0x90, 0xdf, 0xf7, 0x82, 0x58, 0x68, 0x33, 0x1c, 0x0b, 0x5d, 0x1b, 0x89, 0x85, 0xfc, - 0xe6, 0xef, 0x01, 0x43, 0xeb, 0xa1, 0x60, 0xe8, 0xea, 0x28, 0x30, 0xe4, 0x17, 0x2e, 0x88, 0x86, - 0xde, 0x8e, 0x44, 0x43, 0x37, 0xc6, 0x41, 0x43, 0x9e, 0xd0, 0x01, 0x38, 0xf4, 0x4e, 0x34, 0x1c, - 0x7a, 0xe9, 0x04, 0x37, 0x45, 0x85, 0xe2, 0xa1, 0xcf, 0x0f, 0xe0, 0xa1, 0xd2, 0x30, 0x3c, 0xe4, - 0xdb, 0xb3, 0x0b, 0x88, 0x94, 0xa1, 0xf0, 0xe5, 0x95, 0x31, 0xe1, 0x8b, 0x6f, 0x7c, 0x21, 0xf8, - 0xa5, 0x12, 0x82, 0x5f, 0x2e, 0x0f, 0xc7, 0x2f, 0xfe, 0x14, 0xe2, 0x03, 0x98, 0x6a, 0x18, 0x80, - 0xb9, 0x32, 0x02, 0xc0, 0xf8, 0xa3, 0x50, 0x00, 0xc1, 0xbc, 0xd1, 0x87, 0x60, 0x2e, 0x8e, 0x0c, - 0x6d, 0x08, 0x40, 0x98, 0xd5, 0x41, 0x08, 0x73, 0x69, 0x28, 0x84, 0xf1, 0x24, 0xf8, 0x18, 0xe6, - 0x8d, 0x3e, 0x0c, 0x73, 0x71, 0x08, 0x86, 0xf1, 0x0b, 0xc0, 0x41, 0x8c, 0x36, 0x1c, 0xc4, 0x2c, - 0x8f, 0x0b, 0x62, 0x3c, 0xc1, 0xa1, 0x28, 0x66, 0x33, 0x1c, 0xc5, 0x5c, 0x1b, 0x73, 0xd3, 0x72, - 0x00, 0xc6, 0x54, 0xc3, 0x60, 0xcc, 0x95, 0x11, 0x30, 0x26, 0x38, 0x87, 0x78, 0x38, 0xa6, 0x1a, - 0x86, 0x63, 0xae, 0x8c, 0xc0, 0x31, 0xbe, 0xa4, 0x00, 0x90, 0x69, 0x44, 0x01, 0x99, 0x17, 0xc7, - 0x00, 0x32, 0xfe, 0xbc, 0xdb, 0x87, 0x64, 0xde, 0xec, 0x47, 0x32, 0xa5, 0x61, 0x48, 0xc6, 0xef, - 0x91, 0x2e, 0x94, 0xd9, 0x0c, 0x87, 0x32, 0xd7, 0x46, 0x42, 0x99, 0xe0, 0x20, 0x19, 0xc0, 0x32, - 0xeb, 0xa1, 0x58, 0xe6, 0xea, 0x28, 0x2c, 0xe3, 0x0f, 0x92, 0x41, 0x30, 0xf3, 0x66, 0x3f, 0x98, - 0x29, 0x0d, 0x03, 0x33, 0x7e, 0xe5, 0x5c, 0x34, 0x53, 0x0d, 0x43, 0x33, 0x57, 0x46, 0xa0, 0x19, - 0xbf, 0xf1, 0x02, 0x70, 0x46, 0x19, 0x0a, 0x67, 0x5e, 0x19, 0x13, 0xce, 0xf4, 0x0d, 0x5c, 0xbd, - 0x78, 0xa6, 0x1a, 0x86, 0x67, 0xae, 0x8c, 0xc0, 0x33, 0x81, 0xc2, 0xfa, 0x80, 0x66, 0x33, 0x1c, - 0xd0, 0x5c, 0x1b, 0x09, 0x68, 0xfa, 0x7a, 0x93, 0x8b, 0x68, 0xd6, 0x43, 0x11, 0xcd, 0xd5, 0x51, - 0x88, 0xa6, 0x6f, 0xe2, 0x1b, 0x13, 0xd2, 0xdc, 0x4f, 0xa5, 0x9f, 0x17, 0x5f, 0x28, 0xfd, 0x72, - 0x12, 0xa6, 0xaa, 0x6e, 0xe0, 0x50, 0xe0, 0xaa, 0x09, 0xe1, 0x34, 0x57, 0x4d, 0xa0, 0x35, 0xd2, - 0x4b, 0xe8, 0x58, 0xc3, 0x41, 0xce, 0x90, 0x9b, 0x54, 0x06, 0xaf, 0xa6, 0xe1, 0xac, 0xa7, 0x38, - 0x7b, 0x86, 0x5e, 0x85, 0x7c, 0xd7, 0xc6, 0x96, 0xdc, 0xb1, 0x74, 0xd3, 0xd2, 0x1d, 0x16, 0x93, - 0x2c, 0xac, 0x8a, 0x1f, 0x1e, 0x2f, 0xe6, 0x76, 0x6c, 0x6c, 0x6d, 0x73, 0xba, 0x94, 0xeb, 0x06, - 0xde, 0xdc, 0xbf, 0x93, 0x98, 0x1c, 0xff, 0xef, 0x24, 0xde, 0x02, 0xd1, 0xc2, 0x8a, 0xd6, 0x33, - 0xeb, 0xb3, 0x3b, 0x1c, 0xc2, 0xdb, 0x89, 0x06, 0xdf, 0xbb, 0x39, 0xe9, 0x5d, 0x0e, 0x33, 0x56, - 0x2f, 0x11, 0xdd, 0x82, 0xb3, 0x6d, 0xe5, 0x90, 0x06, 0x5b, 0xc9, 0xae, 0x23, 0x45, 0x03, 0xa8, - 0xd2, 0x34, 0x30, 0x10, 0xb5, 0x95, 0x43, 0xfa, 0xdf, 0x14, 0x2c, 0x89, 0xde, 0x4a, 0x7d, 0x05, - 0x0a, 0x9a, 0x6e, 0x3b, 0xba, 0xa1, 0xba, 0x97, 0xd1, 0xb1, 0xcb, 0x1e, 0xf2, 0x2e, 0x95, 0x5d, - 0x0a, 0x77, 0x03, 0x66, 0x79, 0xd8, 0xa9, 0xff, 0x6f, 0x15, 0x14, 0x32, 0xa4, 0x49, 0x29, 0x48, - 0x82, 0xff, 0x37, 0x25, 0x65, 0x98, 0x69, 0x2a, 0x0e, 0x3e, 0x50, 0x8e, 0x64, 0x37, 0xfe, 0x3f, - 0x4b, 0xef, 0x76, 0x7a, 0xee, 0xd9, 0xf1, 0x62, 0xfe, 0x1e, 0x4b, 0x1a, 0x38, 0x06, 0x90, 0x6f, - 0x06, 0x12, 0x34, 0xb4, 0x02, 0x39, 0x7a, 0xdb, 0xac, 0xc9, 0x2e, 0x35, 0xe6, 0x40, 0x20, 0x6a, - 0x3b, 0x8a, 0x5f, 0x7d, 0x2c, 0xd1, 0x1b, 0x6a, 0xdd, 0x7b, 0x90, 0xaf, 0xc1, 0x8c, 0x62, 0x1f, - 0x19, 0x2a, 0xd5, 0x30, 0x36, 0xec, 0xae, 0x4d, 0x91, 0x40, 0x5a, 0x2a, 0x50, 0x72, 0xd9, 0xa5, - 0xa2, 0xd7, 0xe0, 0x82, 0x86, 0x89, 0x6b, 0xc3, 0xfc, 0x07, 0xc7, 0x34, 0x65, 0xb3, 0xa5, 0xc9, - 0xf4, 0x20, 0x37, 0x45, 0x01, 0x69, 0xe9, 0x2c, 0xcd, 0x40, 0x3d, 0x87, 0x86, 0x69, 0x6e, 0xb5, - 0xb4, 0x0a, 0x49, 0xe4, 0x57, 0xd7, 0xfd, 0x96, 0x00, 0xb9, 0x9e, 0x28, 0xee, 0x37, 0xfa, 0xf6, - 0x6b, 0x2f, 0x84, 0xe3, 0x97, 0xa8, 0xa8, 0xbb, 0x34, 0x6f, 0x3b, 0x37, 0x12, 0x68, 0x31, 0xda, - 0xff, 0xa5, 0x2b, 0x08, 0x6e, 0x94, 0x80, 0xcb, 0xf6, 0x7a, 0xea, 0x77, 0xde, 0x5f, 0x9c, 0x28, - 0xfd, 0x22, 0x09, 0xf9, 0xde, 0x68, 0xed, 0x5a, 0x5f, 0xb9, 0xc2, 0xc6, 0x97, 0x1e, 0x8e, 0xe5, - 0x21, 0x37, 0x1d, 0x65, 0xfc, 0xdb, 0x6d, 0x59, 0x31, 0x97, 0x86, 0xec, 0x4a, 0x07, 0xcb, 0xe9, - 0x33, 0xce, 0x7f, 0x2f, 0xe1, 0x8d, 0x19, 0xcb, 0x30, 0xc9, 0x14, 0x2e, 0x44, 0x9e, 0x67, 0xa3, - 0x3a, 0x97, 0x58, 0x36, 0x32, 0xc6, 0x34, 0x4e, 0x75, 0x9d, 0x8d, 0x47, 0x38, 0xc5, 0x5f, 0xc0, - 0xf0, 0x4b, 0x8d, 0x26, 0x4f, 0x76, 0xa9, 0x11, 0xdb, 0x75, 0x6e, 0xb5, 0xb0, 0xea, 0xf0, 0xff, - 0xfc, 0x71, 0xff, 0xe8, 0xe5, 0x72, 0xbf, 0x08, 0xfe, 0x0f, 0x41, 0xcb, 0x12, 0xff, 0x87, 0xa0, - 0x40, 0x70, 0x56, 0xc1, 0x13, 0x41, 0xbb, 0x24, 0x0b, 0xe1, 0xe3, 0x4d, 0xfd, 0xeb, 0x02, 0x88, - 0xb4, 0x03, 0xde, 0xc5, 0x58, 0x8b, 0xc5, 0x0a, 0xdd, 0xb8, 0xb1, 0xc4, 0xd8, 0x71, 0x63, 0x25, - 0x05, 0x0a, 0x5e, 0x19, 0xd8, 0x3f, 0x5e, 0x0c, 0xb9, 0x8d, 0xe8, 0x54, 0x07, 0xa3, 0x4b, 0xbf, - 0x2b, 0xc0, 0x9c, 0xf7, 0x8d, 0xb2, 0x77, 0x1e, 0xef, 0x34, 0xa1, 0xbf, 0x12, 0xfd, 0x37, 0x1f, - 0x02, 0x84, 0xe9, 0x61, 0xd9, 0xb1, 0x2c, 0x08, 0xf1, 0x00, 0x08, 0xe0, 0x00, 0x5b, 0x6b, 0xd4, - 0xe9, 0xff, 0xfc, 0xb0, 0x67, 0xbb, 0x74, 0x37, 0xa0, 0x01, 0x6a, 0xac, 0xa4, 0x9a, 0x63, 0x59, - 0xb5, 0x5b, 0x4d, 0x9a, 0xb9, 0xf4, 0x03, 0x21, 0x28, 0xe8, 0x09, 0x71, 0xac, 0xee, 0x40, 0xf2, - 0x89, 0xd2, 0x1a, 0x16, 0xff, 0xd1, 0xa3, 0x7a, 0x89, 0xe4, 0x46, 0x77, 0x7b, 0x8e, 0x31, 0x26, - 0xa2, 0x9d, 0x80, 0x41, 0x95, 0x06, 0x8f, 0x3b, 0xa2, 0x4f, 0xbb, 0xb5, 0x48, 0x8e, 0xfe, 0x7c, - 0xb0, 0x93, 0xbe, 0x9e, 0xfa, 0xe0, 0xfd, 0x45, 0xe1, 0x46, 0x1d, 0xe6, 0x42, 0xa6, 0x2f, 0x54, - 0x00, 0x08, 0x5c, 0x38, 0xcc, 0xff, 0x4c, 0x68, 0x65, 0x4d, 0xde, 0xd9, 0x2c, 0x6f, 0x6d, 0x6c, - 0xd4, 0x1a, 0x8d, 0xca, 0x9a, 0x28, 0x20, 0x11, 0x72, 0x3d, 0xd7, 0x15, 0xf3, 0xff, 0x10, 0xba, - 0xf1, 0x29, 0x00, 0xff, 0xa2, 0x71, 0x22, 0x6b, 0xbd, 0xf2, 0x48, 0x7e, 0xb8, 0xf2, 0x60, 0xa7, - 0x52, 0x17, 0x27, 0x10, 0x82, 0xc2, 0xea, 0x4a, 0xa3, 0x5c, 0x95, 0xa5, 0x4a, 0x7d, 0x7b, 0x6b, - 0xb3, 0x5e, 0x11, 0x05, 0xce, 0xb7, 0x06, 0xb9, 0xe0, 0x81, 0x4f, 0x34, 0x07, 0x33, 0xe5, 0x6a, - 0xa5, 0xbc, 0x2e, 0x3f, 0xac, 0xad, 0xc8, 0x6f, 0xed, 0x54, 0x76, 0x2a, 0xe2, 0x04, 0x2d, 0x1a, - 0x25, 0xde, 0xdd, 0x79, 0xf0, 0x40, 0x14, 0xd0, 0x0c, 0x64, 0xd9, 0x3b, 0xbd, 0xda, 0x58, 0x4c, - 0xdc, 0xd8, 0x80, 0x6c, 0xe0, 0x56, 0x25, 0xf2, 0xb9, 0xed, 0x9d, 0x7a, 0x55, 0x6e, 0xd4, 0x36, - 0x2a, 0xf5, 0xc6, 0xca, 0xc6, 0x36, 0x93, 0x41, 0x69, 0x2b, 0xab, 0x5b, 0x52, 0x43, 0x14, 0xbc, - 0xf7, 0xc6, 0xd6, 0x4e, 0xb9, 0xea, 0xfd, 0x15, 0x52, 0x2a, 0x9d, 0x14, 0x93, 0x37, 0x4c, 0x38, - 0x1b, 0x7a, 0x82, 0x12, 0x65, 0x61, 0x7a, 0xc7, 0xa0, 0xf7, 0xc3, 0x88, 0x13, 0x28, 0x1f, 0x38, - 0x44, 0x29, 0x0a, 0x28, 0xcd, 0x8e, 0xca, 0x89, 0x09, 0x34, 0x05, 0x89, 0xfa, 0x1d, 0x31, 0x49, - 0x8a, 0x19, 0x38, 0x89, 0x28, 0xa6, 0x50, 0x86, 0x1f, 0xe0, 0x12, 0x27, 0x51, 0xce, 0x3f, 0x41, - 0x25, 0x4e, 0xdd, 0xb8, 0x08, 0x81, 0x03, 0x26, 0x08, 0x60, 0xea, 0x81, 0xe2, 0x60, 0xdb, 0x11, - 0x27, 0xd0, 0x34, 0x24, 0x57, 0x5a, 0x2d, 0x51, 0xb8, 0xfd, 0xa7, 0x02, 0xa4, 0xdd, 0x5b, 0x6d, - 0xd1, 0x03, 0x98, 0x64, 0xd8, 0x78, 0x31, 0x7a, 0xca, 0xa0, 0xa3, 0xce, 0xfc, 0xd2, 0xa8, 0x39, - 0xa5, 0x34, 0x81, 0xde, 0xe6, 0xff, 0x6a, 0x46, 0xec, 0x05, 0x5d, 0x1a, 0x66, 0x4d, 0xae, 0xd4, - 0xe1, 0x26, 0x47, 0x7a, 0x48, 0x69, 0xe2, 0x13, 0xc2, 0xea, 0x8b, 0x1f, 0xfc, 0x74, 0x61, 0xe2, - 0x83, 0x67, 0x0b, 0xc2, 0x0f, 0x9f, 0x2d, 0x08, 0x3f, 0x79, 0xb6, 0x20, 0xfc, 0xd3, 0xb3, 0x05, - 0xe1, 0x37, 0x7f, 0xb6, 0x30, 0xf1, 0xc3, 0x9f, 0x2d, 0x4c, 0xfc, 0xe4, 0x67, 0x0b, 0x13, 0xef, - 0x4c, 0x73, 0xee, 0xdd, 0x29, 0xfa, 0x07, 0x6b, 0x77, 0xfe, 0x2b, 0x00, 0x00, 0xff, 0xff, 0x41, - 0x64, 0x6f, 0xb4, 0x65, 0x6e, 0x00, 0x00, + 0x08, 0xec, 0x04, 0x59, 0xc0, 0x01, 0x02, 0x24, 0x88, 0x81, 0x00, 0x06, 0x02, 0x07, 0x01, 0xfc, + 0x90, 0x3c, 0x6c, 0x0c, 0x3f, 0x18, 0x41, 0xec, 0x18, 0x79, 0x10, 0xe2, 0x71, 0x02, 0x1b, 0x79, + 0x0d, 0x10, 0x03, 0x8b, 0x20, 0x08, 0xea, 0xd2, 0x17, 0x92, 0xcd, 0x8b, 0xe4, 0x5e, 0x64, 0x83, + 0x3c, 0xb1, 0xfb, 0x54, 0x9d, 0xd3, 0x55, 0xe7, 0xd4, 0xe5, 0x7c, 0x55, 0xa7, 0x8a, 0x30, 0x6b, + 0x99, 0x8a, 0xba, 0xdf, 0xd9, 0xbd, 0xa9, 0x74, 0xf4, 0xe5, 0x8e, 0x65, 0x3a, 0x26, 0x9a, 0x55, + 0x4d, 0xf5, 0x31, 0x25, 0x2f, 0xf3, 0xc4, 0x79, 0xe4, 0xe6, 0xd2, 0x14, 0x47, 0x61, 0xd9, 0xe6, + 0xcf, 0xb8, 0x34, 0x6c, 0x59, 0xa6, 0x65, 0x73, 0xea, 0x39, 0x97, 0xda, 0xc6, 0x8e, 0x12, 0xc8, + 0x5d, 0xb2, 0x1d, 0xd3, 0x52, 0x9a, 0xf8, 0x26, 0x36, 0x9a, 0xba, 0xe1, 0xfe, 0x90, 0x7c, 0x4f, + 0x54, 0x95, 0xe7, 0xb9, 0x34, 0x2a, 0xcf, 0x1d, 0x9e, 0xa9, 0xd8, 0x75, 0xf4, 0xd6, 0xcd, 0xfd, + 0x96, 0x7a, 0xd3, 0xd1, 0xdb, 0xd8, 0x76, 0x94, 0x76, 0x87, 0xa7, 0x2c, 0xd1, 0x14, 0xc7, 0x52, + 0x54, 0xdd, 0x68, 0xde, 0xb4, 0xb0, 0x6a, 0x5a, 0x1a, 0xd6, 0x64, 0xbb, 0xa3, 0x18, 0x6e, 0x91, + 0x9b, 0x66, 0xd3, 0xa4, 0x8f, 0x37, 0xc9, 0x13, 0xa3, 0x96, 0xfe, 0x3f, 0x64, 0x24, 0xc5, 0x68, + 0xe2, 0x9a, 0xb1, 0x67, 0xa2, 0xcf, 0x42, 0x52, 0xc3, 0xb6, 0x5a, 0x14, 0x96, 0x84, 0xeb, 0xd9, + 0xdb, 0xa5, 0xe5, 0x01, 0x5d, 0x2c, 0xd3, 0xbc, 0x6b, 0xd8, 0x56, 0x2d, 0xbd, 0xe3, 0x98, 0xd6, + 0x6a, 0xf2, 0x83, 0xe3, 0xc5, 0x98, 0x44, 0xb9, 0xd0, 0x27, 0x61, 0xaa, 0x85, 0x15, 0x1b, 0x17, + 0xe3, 0x94, 0xbd, 0x18, 0xc2, 0xfe, 0x80, 0xa4, 0x73, 0x26, 0x96, 0xb9, 0xf4, 0xd7, 0x02, 0xe4, + 0x25, 0xfc, 0x5e, 0x17, 0xdb, 0x4e, 0x15, 0x2b, 0x1a, 0xb6, 0xd0, 0x05, 0x48, 0x3c, 0xc6, 0x47, + 0xc5, 0xc4, 0x92, 0x70, 0x3d, 0xb7, 0x3a, 0xfd, 0xe1, 0xf1, 0x62, 0x62, 0x1d, 0x1f, 0x49, 0x84, + 0x86, 0x96, 0x60, 0x1a, 0x1b, 0x9a, 0x4c, 0x92, 0x93, 0xbd, 0xc9, 0x29, 0x6c, 0x68, 0xeb, 0xf8, + 0x08, 0xa9, 0x90, 0xb6, 0x89, 0x34, 0x43, 0xc5, 0xc5, 0xa9, 0x25, 0xe1, 0xfa, 0xd4, 0xea, 0xbd, + 0x0f, 0x8f, 0x17, 0xcb, 0x4d, 0xdd, 0xd9, 0xef, 0xee, 0x2e, 0xab, 0x66, 0xfb, 0xa6, 0x57, 0x2a, + 0x6d, 0xd7, 0x7f, 0xbe, 0xd9, 0x79, 0xdc, 0xbc, 0x39, 0xc4, 0x02, 0xcb, 0x8d, 0x43, 0xa3, 0x8e, + 0xdf, 0x93, 0x3c, 0xc1, 0xaf, 0x27, 0x7f, 0xf9, 0xfe, 0xa2, 0x70, 0x3f, 0x99, 0x16, 0xc4, 0xf8, + 0xfd, 0x64, 0x3a, 0x2e, 0x26, 0x4a, 0x5f, 0x4f, 0x40, 0x41, 0xc2, 0x76, 0xc7, 0x34, 0x6c, 0xcc, + 0xab, 0xf1, 0x09, 0x48, 0x38, 0x87, 0x06, 0xad, 0x46, 0xf6, 0xf6, 0x42, 0x88, 0x32, 0x1a, 0x96, + 0x62, 0xd8, 0x8a, 0xea, 0xe8, 0xa6, 0x21, 0x91, 0xac, 0xe8, 0x35, 0xc8, 0x5a, 0xd8, 0xee, 0xb6, + 0x31, 0x35, 0x1b, 0xad, 0x61, 0xf6, 0xf6, 0xf9, 0x10, 0xce, 0x7a, 0x47, 0x31, 0x24, 0x60, 0x79, + 0xc9, 0x33, 0xba, 0x00, 0x69, 0xa3, 0xdb, 0x26, 0x7a, 0xb1, 0x69, 0xad, 0x13, 0xd2, 0xb4, 0xd1, + 0x6d, 0xaf, 0xe3, 0x23, 0x1b, 0x95, 0x21, 0x6b, 0x11, 0xa3, 0xc9, 0xba, 0xb1, 0x67, 0xda, 0xc5, + 0xd4, 0x52, 0xe2, 0x7a, 0xf6, 0xf6, 0xf3, 0xc3, 0x4c, 0x4b, 0x9a, 0x01, 0xb7, 0x0f, 0x58, 0x2e, + 0xc1, 0x46, 0x75, 0xc8, 0xf3, 0x92, 0x59, 0x58, 0xb1, 0x4d, 0xa3, 0x38, 0xbd, 0x24, 0x5c, 0x2f, + 0xdc, 0x5e, 0x0e, 0x13, 0xd3, 0xa3, 0x05, 0xf2, 0xda, 0x6d, 0x63, 0x89, 0x72, 0x49, 0x39, 0x2b, + 0xf0, 0x56, 0x7a, 0x04, 0xb9, 0x60, 0x2a, 0x42, 0x50, 0x90, 0x2a, 0xf5, 0x9d, 0x8d, 0x8a, 0xbc, + 0xb3, 0xb9, 0xbe, 0xb9, 0xf5, 0xf6, 0xa6, 0x18, 0x43, 0x67, 0x40, 0xe4, 0xb4, 0xf5, 0xca, 0x23, + 0xf9, 0x41, 0x6d, 0xa3, 0xd6, 0x10, 0x05, 0x74, 0x01, 0xce, 0x72, 0xaa, 0xb4, 0xb2, 0x79, 0xaf, + 0x22, 0xaf, 0x6e, 0xed, 0x6c, 0xae, 0xad, 0x48, 0x8f, 0xc4, 0xf8, 0x7c, 0xf2, 0xb7, 0xbe, 0xbd, + 0x10, 0x2b, 0x3d, 0x04, 0xb8, 0x87, 0x1d, 0xde, 0xac, 0xd0, 0x2a, 0xa4, 0xf6, 0x69, 0x69, 0x78, + 0xc3, 0x5e, 0x0a, 0x2d, 0x76, 0xa0, 0x09, 0xae, 0xa6, 0x89, 0x06, 0x7e, 0x74, 0xbc, 0x28, 0x48, + 0x9c, 0x93, 0x99, 0xbc, 0xf4, 0x7d, 0x01, 0xb2, 0x54, 0x30, 0xab, 0x23, 0x2a, 0xf7, 0x49, 0xbe, + 0x38, 0x56, 0x21, 0x83, 0xa2, 0xd1, 0x32, 0x4c, 0x3d, 0x51, 0x5a, 0xdd, 0x51, 0xfd, 0xe6, 0x21, + 0x49, 0x97, 0x58, 0x36, 0xf4, 0x06, 0xe4, 0x74, 0xc3, 0xc1, 0x86, 0x23, 0x33, 0xb6, 0xc4, 0x18, + 0xb6, 0x2c, 0xcb, 0x4d, 0x5f, 0x4a, 0x7f, 0x29, 0x00, 0x6c, 0x77, 0xa3, 0x54, 0x0d, 0xe9, 0xf7, + 0x13, 0x95, 0xdf, 0xed, 0xf7, 0xac, 0x16, 0xe7, 0x20, 0xa5, 0x1b, 0x2d, 0xdd, 0x60, 0xe5, 0x4f, + 0x4b, 0xfc, 0x0d, 0x9d, 0x81, 0xa9, 0xdd, 0x96, 0x6e, 0x68, 0xb4, 0xf9, 0xa7, 0x25, 0xf6, 0xc2, + 0xd5, 0x2f, 0x41, 0x96, 0x96, 0x3d, 0x42, 0xed, 0x97, 0xbe, 0x19, 0x87, 0xb3, 0x65, 0xd3, 0xd0, + 0x74, 0xd2, 0x0f, 0x95, 0xd6, 0xc7, 0x42, 0x37, 0xaf, 0x42, 0x06, 0x1f, 0x76, 0x26, 0x34, 0x6f, + 0x1a, 0x1f, 0x76, 0xe8, 0x53, 0xb8, 0xea, 0xd0, 0x27, 0xe1, 0xbc, 0xd2, 0x6a, 0x99, 0x07, 0xb2, + 0xbe, 0x27, 0x6b, 0x26, 0xb6, 0x65, 0xc3, 0x74, 0x64, 0x7c, 0xa8, 0xdb, 0x0e, 0x1d, 0x2a, 0xd2, + 0xd2, 0x1c, 0x4d, 0xae, 0xed, 0xad, 0x99, 0xd8, 0xde, 0x34, 0x9d, 0x0a, 0x49, 0xe2, 0x0a, 0x7f, + 0x17, 0xce, 0xf5, 0xeb, 0x26, 0x4a, 0xdd, 0xff, 0x9d, 0x00, 0x85, 0x9a, 0xa1, 0x3b, 0x1f, 0x0b, + 0xa5, 0x7b, 0xda, 0x4b, 0x04, 0xb5, 0x77, 0x03, 0xc4, 0x3d, 0x45, 0x6f, 0x6d, 0x19, 0x0d, 0xb3, + 0xbd, 0x6b, 0x3b, 0xa6, 0x81, 0x6d, 0xae, 0xde, 0x01, 0x3a, 0xd7, 0xd9, 0x43, 0x98, 0xf1, 0xea, + 0x14, 0xa5, 0xb2, 0x9e, 0x82, 0x58, 0x33, 0x54, 0x0b, 0xb7, 0xb1, 0x11, 0xa9, 0xb6, 0x9e, 0x87, + 0x8c, 0xee, 0xca, 0xa5, 0x1a, 0x4b, 0x48, 0x3e, 0x81, 0xd7, 0xa9, 0x0b, 0xb3, 0x81, 0x6f, 0x47, + 0x39, 0xf8, 0x3d, 0x07, 0x19, 0x03, 0x1f, 0xc8, 0xbe, 0xbd, 0x12, 0x52, 0xda, 0xc0, 0x07, 0x6c, + 0xb0, 0x7a, 0x04, 0xf9, 0x35, 0xdc, 0xc2, 0x0e, 0x8e, 0x7e, 0x24, 0xdf, 0x81, 0x82, 0x2b, 0x3a, + 0x4a, 0x23, 0xfd, 0x81, 0x00, 0x88, 0xcb, 0x25, 0xb3, 0x67, 0x94, 0x76, 0x5a, 0x24, 0xde, 0x81, + 0xd3, 0xb5, 0x0c, 0x36, 0xcd, 0xb3, 0x56, 0x0a, 0x8c, 0x44, 0x67, 0x7a, 0x7f, 0x44, 0x4d, 0x06, + 0x47, 0x54, 0xcf, 0x5b, 0x21, 0x7e, 0xca, 0x01, 0xcc, 0xf5, 0x14, 0x2f, 0x5a, 0x53, 0x26, 0x69, + 0xc9, 0xe2, 0x4b, 0x89, 0xa0, 0x67, 0x46, 0x89, 0xa5, 0x77, 0x61, 0xb6, 0xdc, 0xc2, 0x8a, 0x15, + 0xb5, 0x5a, 0xb8, 0x39, 0x1f, 0x01, 0x0a, 0x8a, 0x8f, 0xd2, 0xa4, 0x7f, 0x24, 0x00, 0x92, 0xf0, + 0x13, 0x6c, 0x39, 0x91, 0x9b, 0x74, 0x0d, 0xb2, 0x8e, 0x62, 0x35, 0xb1, 0x23, 0x13, 0x77, 0x9e, + 0x0f, 0x57, 0x2f, 0x04, 0x04, 0x11, 0xa7, 0x7e, 0x79, 0xbf, 0xa5, 0x2e, 0x37, 0x5c, 0x77, 0xdf, + 0x75, 0xce, 0x18, 0x1f, 0x21, 0x73, 0x0d, 0xbc, 0x03, 0x73, 0x3d, 0xa5, 0x8c, 0x52, 0x05, 0x3a, + 0x64, 0xeb, 0xaa, 0x62, 0x6c, 0x75, 0xc8, 0x3c, 0x60, 0xa3, 0x3b, 0x70, 0xce, 0x76, 0xcc, 0x8e, + 0xac, 0x38, 0x32, 0x73, 0x2d, 0x77, 0xcd, 0xae, 0xa1, 0x29, 0xd6, 0x11, 0xfd, 0x46, 0x5a, 0x9a, + 0x23, 0xa9, 0x2b, 0xac, 0x20, 0xab, 0x3c, 0x89, 0x34, 0xdf, 0xb6, 0x6e, 0xc8, 0xc4, 0x03, 0x6c, + 0x39, 0x36, 0xef, 0xea, 0xd0, 0xd6, 0x0d, 0x89, 0x51, 0x78, 0x35, 0xbe, 0x2d, 0xb0, 0x6f, 0x45, + 0xa9, 0xe6, 0x37, 0x21, 0x6b, 0xab, 0x8a, 0x21, 0xef, 0x99, 0x56, 0x5b, 0x71, 0x68, 0xef, 0x28, + 0xf4, 0xa8, 0xd9, 0xf3, 0xab, 0x55, 0xc5, 0xb8, 0x4b, 0x33, 0x49, 0x60, 0x7b, 0xcf, 0xc1, 0x0e, + 0x74, 0x3f, 0x99, 0x4e, 0x88, 0xc9, 0xd2, 0xaf, 0x04, 0xc8, 0xb1, 0x52, 0x46, 0xd9, 0x81, 0x5e, + 0x85, 0xa4, 0x65, 0x1e, 0xb0, 0x0e, 0x94, 0xbd, 0xfd, 0x5c, 0x88, 0x88, 0x75, 0x7c, 0x14, 0x9c, + 0xb9, 0x68, 0x76, 0xb4, 0x0a, 0xdc, 0xc3, 0x93, 0x29, 0x77, 0x62, 0x52, 0x6e, 0x60, 0x5c, 0x12, + 0x91, 0x71, 0x0d, 0x66, 0x76, 0x15, 0x47, 0xdd, 0x27, 0xf6, 0xa1, 0x85, 0x24, 0xb3, 0x5c, 0xe2, + 0x7a, 0x4e, 0x2a, 0x50, 0xb2, 0x5b, 0x74, 0xbb, 0xf4, 0x27, 0x6e, 0x6f, 0xb0, 0xf1, 0xc7, 0xdf, + 0x4c, 0xff, 0x29, 0xf0, 0x4e, 0xe1, 0x16, 0xf6, 0x7f, 0x9b, 0xb5, 0x7e, 0x2c, 0xc0, 0xf9, 0xf2, + 0x3e, 0x56, 0x1f, 0x97, 0x4d, 0xc3, 0xd6, 0x6d, 0x07, 0x1b, 0xea, 0x51, 0x94, 0x26, 0x7b, 0x0e, + 0x32, 0x07, 0xba, 0xb3, 0x2f, 0x6b, 0xfa, 0xde, 0x1e, 0xed, 0xd2, 0x69, 0x29, 0x4d, 0x08, 0x6b, + 0xfa, 0xde, 0x1e, 0xba, 0x03, 0xc9, 0xb6, 0xa9, 0x31, 0x07, 0xb6, 0x70, 0x7b, 0x31, 0x44, 0x3c, + 0x2d, 0x9a, 0xdd, 0x6d, 0x6f, 0x98, 0x1a, 0x96, 0x68, 0x66, 0xb4, 0x00, 0xa0, 0x12, 0x6a, 0xc7, + 0xd4, 0x0d, 0x87, 0x4f, 0x64, 0x01, 0x0a, 0x1f, 0x25, 0xbe, 0x91, 0x84, 0xe2, 0x60, 0xbd, 0xa2, + 0xb4, 0xee, 0x36, 0xa4, 0xd8, 0x50, 0xc5, 0xed, 0x7b, 0x7b, 0x58, 0xf1, 0x43, 0x4a, 0xb0, 0xcc, + 0x86, 0x34, 0x6e, 0x38, 0x2e, 0x67, 0xfe, 0xaf, 0x04, 0x48, 0xb1, 0x04, 0x74, 0x0b, 0xd2, 0x1c, + 0x93, 0x6b, 0xb4, 0x8c, 0x89, 0xd5, 0x73, 0xcf, 0x8e, 0x17, 0xa7, 0x19, 0x02, 0x5f, 0xfb, 0xd0, + 0x7f, 0x94, 0xa6, 0x19, 0x08, 0xd7, 0x88, 0xa6, 0x6d, 0x47, 0xb1, 0x1c, 0xba, 0xf6, 0x41, 0x34, + 0x9d, 0x93, 0xd2, 0x94, 0xb0, 0x8e, 0x8f, 0xd0, 0x7d, 0x48, 0xd9, 0x8e, 0xe2, 0x74, 0x6d, 0xae, + 0xeb, 0x13, 0x15, 0xb6, 0x4e, 0x39, 0x25, 0x2e, 0x81, 0x78, 0x11, 0x1a, 0x76, 0x14, 0xbd, 0x45, + 0x95, 0x9f, 0x91, 0xf8, 0x5b, 0xe9, 0x5b, 0x02, 0xa4, 0x58, 0x56, 0x74, 0x1e, 0xe6, 0x18, 0xee, + 0xae, 0x6d, 0xae, 0x55, 0x1a, 0x15, 0x69, 0xa3, 0xb6, 0xb9, 0xd2, 0xa8, 0x88, 0x31, 0x74, 0x0e, + 0x90, 0x9b, 0x50, 0xde, 0xda, 0xac, 0xd7, 0xea, 0x8d, 0xca, 0x26, 0xc1, 0xeb, 0x04, 0xc5, 0x53, + 0x7a, 0x80, 0x1a, 0x47, 0x97, 0x61, 0xa9, 0x9f, 0x2a, 0xd7, 0x1b, 0x2b, 0x8d, 0xba, 0x5c, 0xa9, + 0x37, 0x6a, 0x1b, 0x2b, 0x8d, 0xca, 0x9a, 0x98, 0x18, 0x91, 0x8b, 0x7c, 0x44, 0x92, 0x2a, 0xe5, + 0x86, 0x98, 0x2c, 0x3d, 0x85, 0xb3, 0x12, 0x56, 0xcd, 0x76, 0xa7, 0xeb, 0x60, 0x52, 0x4a, 0x3b, + 0xca, 0x56, 0x7e, 0x1e, 0xa6, 0x35, 0xeb, 0x48, 0xb6, 0xba, 0x06, 0x6f, 0xe3, 0x29, 0xcd, 0x3a, + 0x92, 0xba, 0x06, 0x6f, 0x8c, 0x7f, 0x21, 0xc0, 0xb9, 0xfe, 0x8f, 0x47, 0xd9, 0x14, 0xbf, 0x08, + 0x59, 0x45, 0xd3, 0xb0, 0x26, 0x6b, 0xb8, 0xe5, 0x28, 0xdc, 0x4b, 0xb8, 0x15, 0x90, 0xc4, 0xd7, + 0xad, 0x96, 0xd9, 0x82, 0xd5, 0xb2, 0xb7, 0x6e, 0xb5, 0xf1, 0xb0, 0x5c, 0xa6, 0xe5, 0x59, 0x23, + 0x8c, 0xee, 0x38, 0x42, 0x65, 0x51, 0x4a, 0x49, 0x85, 0xf3, 0xab, 0xb8, 0xa9, 0x1b, 0xc1, 0x95, + 0xa8, 0xc8, 0x5d, 0x33, 0x19, 0x8a, 0x83, 0x1f, 0x89, 0xd4, 0x41, 0x4b, 0xc2, 0xd9, 0x8a, 0xa1, + 0x7d, 0x34, 0x95, 0x20, 0xfd, 0x41, 0x35, 0xdb, 0x6d, 0xdd, 0x71, 0x6d, 0xcf, 0xde, 0xd0, 0x67, + 0x20, 0xad, 0x61, 0x45, 0xf3, 0x56, 0x30, 0xc6, 0x39, 0x6e, 0x92, 0x97, 0x1d, 0x7d, 0x19, 0xce, + 0x93, 0xc1, 0xdc, 0x32, 0x94, 0x96, 0xcc, 0xa4, 0xc9, 0x8e, 0xa5, 0x37, 0x9b, 0xd8, 0xe2, 0x6b, + 0x7e, 0xd7, 0x43, 0xca, 0x59, 0xe3, 0x1c, 0x65, 0xca, 0xd0, 0x60, 0xf9, 0xa5, 0xb3, 0x7a, 0x18, + 0x19, 0x7d, 0xc1, 0x5b, 0x22, 0xb2, 0x3b, 0x8a, 0x61, 0x17, 0xa7, 0xe8, 0x18, 0x36, 0x6c, 0x29, + 0x91, 0xb7, 0x0c, 0x3e, 0x2f, 0x11, 0x8a, 0x8d, 0x6e, 0x12, 0xb4, 0xf1, 0x5e, 0x57, 0xb7, 0xb0, + 0x7c, 0xab, 0xa3, 0x16, 0x53, 0xa4, 0xee, 0xab, 0x85, 0x67, 0xc7, 0x8b, 0x20, 0x31, 0xf2, 0xad, + 0xed, 0x32, 0x41, 0x1f, 0xec, 0xb9, 0xa3, 0xa2, 0xeb, 0x20, 0x1a, 0xa6, 0x6c, 0xe1, 0x3d, 0x0b, + 0xdb, 0xfb, 0xfc, 0xb3, 0x69, 0xaa, 0xb1, 0x82, 0x61, 0x4a, 0x8c, 0xcc, 0x44, 0x9f, 0x83, 0x54, + 0xc7, 0xd4, 0x6d, 0xd3, 0x28, 0x66, 0x98, 0x46, 0xd9, 0x1b, 0x7a, 0x0b, 0x44, 0xdd, 0x90, 0xf7, + 0x5a, 0x7a, 0x73, 0xdf, 0x91, 0x0f, 0x2c, 0xdd, 0xc1, 0x76, 0x71, 0x96, 0x16, 0x3c, 0xac, 0x59, + 0xd4, 0xf9, 0x62, 0xac, 0xf6, 0x36, 0xc9, 0xc9, 0xab, 0x50, 0xd0, 0x8d, 0xbb, 0x94, 0x9f, 0x12, + 0x6d, 0xcf, 0x25, 0x98, 0x16, 0xd3, 0xa5, 0x7f, 0x11, 0xe0, 0x5c, 0x7f, 0x33, 0x89, 0xb2, 0x9b, + 0x5e, 0x07, 0xd1, 0x34, 0xb0, 0xdc, 0xd9, 0x57, 0x6c, 0xcc, 0xcd, 0xca, 0xe7, 0xaf, 0x82, 0x69, + 0xe0, 0x6d, 0x42, 0x66, 0x46, 0x42, 0xdb, 0x30, 0x6b, 0x3b, 0x4a, 0x53, 0x37, 0x9a, 0xb2, 0xb7, + 0x8c, 0x4f, 0xd7, 0x62, 0x26, 0x74, 0xfe, 0x45, 0xce, 0xed, 0xd1, 0x7b, 0x9c, 0x9e, 0x7f, 0x10, + 0x60, 0x76, 0x45, 0x6b, 0xeb, 0x46, 0xbd, 0xd3, 0xd2, 0x23, 0x5d, 0x29, 0xb8, 0x0c, 0x19, 0x9b, + 0xc8, 0xf4, 0xe7, 0x20, 0x1f, 0xe5, 0xa5, 0x69, 0x0a, 0x99, 0x8c, 0x1e, 0xc0, 0x0c, 0x3e, 0xec, + 0xe8, 0x96, 0x42, 0x54, 0xcc, 0x80, 0x4d, 0x72, 0xf2, 0xba, 0x15, 0x7c, 0x5e, 0x1f, 0xdc, 0xf0, + 0x9a, 0x3d, 0x02, 0x14, 0xac, 0x58, 0x94, 0x63, 0x88, 0x0c, 0x73, 0x54, 0xf4, 0x8e, 0x61, 0x47, + 0xac, 0x35, 0x3e, 0x0a, 0x7e, 0x09, 0xce, 0xf4, 0x7e, 0x20, 0xca, 0xd2, 0xbf, 0xcb, 0x2d, 0xbe, + 0x81, 0xad, 0x8f, 0x08, 0x5c, 0x07, 0xc5, 0x47, 0x59, 0xf2, 0xaf, 0x09, 0x70, 0x81, 0xca, 0xa6, + 0xdd, 0x72, 0x0f, 0x5b, 0x74, 0x87, 0x28, 0xca, 0x46, 0x7b, 0x09, 0x52, 0x0c, 0x2b, 0xd3, 0x16, + 0x3b, 0xb5, 0x9a, 0x25, 0xee, 0x55, 0xdd, 0x31, 0x2d, 0xe2, 0x5e, 0xf1, 0x24, 0x5e, 0x4f, 0x05, + 0xe6, 0xc3, 0xca, 0x12, 0xf1, 0x62, 0xc2, 0xac, 0x84, 0x3b, 0x2d, 0x5d, 0xa5, 0x4d, 0xbc, 0xbc, + 0x4f, 0xdc, 0x3b, 0x54, 0x81, 0xac, 0x4a, 0x9f, 0x64, 0xe7, 0xa8, 0x83, 0xa9, 0xfc, 0xc2, 0xed, + 0xcb, 0xa1, 0xf2, 0x29, 0x2b, 0x63, 0x6b, 0x1c, 0x75, 0x30, 0xf1, 0x8d, 0xdd, 0x67, 0xa2, 0xae, + 0x40, 0x55, 0xb3, 0xa3, 0x24, 0xd0, 0xfe, 0x45, 0xf3, 0xba, 0x5e, 0x6a, 0x8f, 0x26, 0xbe, 0x97, + 0xe0, 0xaa, 0x60, 0x5f, 0xe2, 0x4c, 0x91, 0x3a, 0x55, 0xef, 0xc0, 0x39, 0x0d, 0x77, 0x2c, 0xac, + 0x2a, 0x0e, 0xd6, 0xe4, 0x60, 0xf5, 0xe3, 0x27, 0xa8, 0xfe, 0x19, 0x5f, 0x86, 0x4f, 0x45, 0x8f, + 0x00, 0x05, 0x64, 0xb3, 0x9a, 0xb9, 0x50, 0xeb, 0x24, 0x4a, 0x99, 0xf5, 0xa5, 0x30, 0xba, 0x8d, + 0xca, 0x90, 0xc6, 0x87, 0x1d, 0x99, 0x6e, 0x93, 0x26, 0x4f, 0xb8, 0x4d, 0x3a, 0x8d, 0x0f, 0x3b, + 0x84, 0x88, 0x76, 0xc8, 0x4c, 0xe7, 0x3a, 0x00, 0xb4, 0xd8, 0xee, 0x14, 0x3d, 0xa6, 0x74, 0xac, + 0x8e, 0x5c, 0xdc, 0x8c, 0x37, 0xf7, 0x33, 0x11, 0xdc, 0x76, 0xef, 0x0b, 0xf0, 0x5c, 0xa8, 0xed, + 0xa2, 0x9c, 0xec, 0xdc, 0x9d, 0xe2, 0xf8, 0x69, 0x76, 0x8a, 0x4b, 0x7f, 0xea, 0xf6, 0x7a, 0x09, + 0xb7, 0x4c, 0xa2, 0xde, 0x8f, 0x60, 0x65, 0x6d, 0xda, 0x35, 0x7b, 0xfc, 0xc4, 0x66, 0x77, 0x59, + 0xfb, 0x86, 0x85, 0xbe, 0xc2, 0x46, 0x39, 0x2c, 0xfc, 0xae, 0x00, 0x73, 0x55, 0xac, 0x58, 0xce, + 0x2e, 0x56, 0x9c, 0xc6, 0x61, 0xa4, 0x0e, 0xec, 0xab, 0x90, 0x30, 0xcc, 0x83, 0x93, 0x2c, 0x2e, + 0x92, 0xfc, 0xfe, 0xb4, 0xd5, 0x5b, 0xae, 0x28, 0x6b, 0xfd, 0xb7, 0x71, 0xc8, 0xdc, 0x2b, 0x47, + 0x59, 0xd7, 0xcf, 0xf2, 0x25, 0x68, 0xd6, 0xd5, 0xc3, 0x9a, 0xa5, 0xf7, 0xbd, 0xe5, 0x7b, 0xe5, + 0x75, 0x7c, 0xe4, 0x36, 0x4b, 0xc2, 0x85, 0x56, 0x20, 0xe3, 0xec, 0x13, 0x3f, 0xd5, 0x6c, 0x69, + 0x27, 0xf1, 0x59, 0x7c, 0xae, 0xf9, 0xc7, 0x30, 0x45, 0xe5, 0xba, 0x41, 0x0c, 0x42, 0x48, 0x10, + 0x03, 0xf9, 0x8c, 0xe7, 0xf6, 0xc5, 0x4f, 0xf2, 0x19, 0x97, 0xc0, 0x8c, 0xe3, 0xf9, 0x46, 0x53, + 0x62, 0xaa, 0xf4, 0x16, 0x00, 0xa9, 0x5a, 0x94, 0xe6, 0xf9, 0x5e, 0x02, 0x0a, 0xdb, 0x5d, 0x7b, + 0x3f, 0xe2, 0xf6, 0x58, 0x06, 0xe8, 0x74, 0xed, 0x7d, 0x6c, 0xc9, 0xce, 0xa1, 0xc1, 0xeb, 0x3f, + 0x26, 0x3c, 0xc2, 0x55, 0x00, 0xe3, 0x6b, 0x1c, 0x1a, 0x68, 0x8b, 0x0b, 0xc1, 0xb2, 0x1f, 0x63, + 0x71, 0x63, 0x02, 0x48, 0xdc, 0x38, 0x34, 0x36, 0xb0, 0x87, 0x85, 0x99, 0x40, 0x4c, 0x04, 0x7e, + 0x16, 0xa6, 0xc9, 0x8b, 0xec, 0x98, 0x27, 0xb1, 0x7c, 0x8a, 0xf0, 0x34, 0x4c, 0xf4, 0x06, 0x64, + 0x18, 0x37, 0x99, 0xbf, 0x52, 0x74, 0xfe, 0x0a, 0xab, 0x12, 0xd7, 0x26, 0x9d, 0xb9, 0xd2, 0x94, + 0x95, 0xcc, 0x56, 0x67, 0x60, 0x6a, 0xcf, 0xb4, 0x54, 0x4c, 0x83, 0x2a, 0xd2, 0x12, 0x7b, 0x41, + 0x37, 0x60, 0x56, 0x37, 0xd4, 0x56, 0xd7, 0xd6, 0x9f, 0x60, 0xd9, 0x2d, 0x1a, 0x03, 0x4c, 0x33, + 0x5e, 0x02, 0x15, 0x68, 0x06, 0x1b, 0xc2, 0xfd, 0x64, 0x3a, 0x2d, 0x66, 0x4a, 0xdf, 0x12, 0x60, + 0xc6, 0xb3, 0x5d, 0x94, 0x03, 0x7f, 0xb9, 0x47, 0xf1, 0x27, 0xb7, 0x1e, 0x51, 0x76, 0xe9, 0xef, + 0xa9, 0x17, 0xa4, 0x9a, 0x4f, 0xa8, 0x31, 0xa3, 0x6c, 0x5c, 0xab, 0x2c, 0xe8, 0x26, 0x7e, 0xca, + 0x06, 0x41, 0xc3, 0x70, 0x6e, 0xc1, 0x19, 0xbd, 0x4d, 0x66, 0x06, 0xdd, 0x69, 0x1d, 0x71, 0x24, + 0xe7, 0x60, 0x77, 0x5f, 0x78, 0xce, 0x4f, 0x2b, 0xbb, 0x49, 0x7c, 0xb0, 0x64, 0x3b, 0x45, 0x7e, + 0xb5, 0xa2, 0xd4, 0x7b, 0x0d, 0xf2, 0x16, 0x13, 0x4d, 0x3c, 0x9a, 0x13, 0xaa, 0x3e, 0xe7, 0xb1, + 0x12, 0xed, 0x7f, 0x27, 0x0e, 0x33, 0x6f, 0x75, 0xb1, 0x75, 0xf4, 0x31, 0xd4, 0xfd, 0x55, 0x98, + 0x39, 0x50, 0x74, 0x47, 0xde, 0x33, 0x2d, 0xb9, 0xdb, 0xd1, 0x14, 0xc7, 0x0d, 0x0f, 0xc9, 0x13, + 0xf2, 0x5d, 0xd3, 0xda, 0xa1, 0x44, 0x84, 0x01, 0x3d, 0x36, 0xcc, 0x03, 0x43, 0x26, 0x64, 0x0a, + 0xa4, 0x0f, 0x0d, 0xbe, 0x08, 0xbe, 0xfa, 0xe9, 0x7f, 0x3c, 0x5e, 0xbc, 0x33, 0x51, 0xc0, 0x17, + 0x8d, 0x99, 0xeb, 0x76, 0x75, 0x6d, 0x79, 0x67, 0xa7, 0xb6, 0x26, 0x89, 0x54, 0xe4, 0xdb, 0x4c, + 0x62, 0xe3, 0xd0, 0x70, 0x1d, 0x80, 0x0f, 0x05, 0x10, 0x7d, 0x85, 0x45, 0x69, 0xd5, 0x0a, 0x64, + 0xdf, 0xeb, 0x62, 0x4b, 0x3f, 0x85, 0x4d, 0x81, 0x33, 0x92, 0xc1, 0xeb, 0x1d, 0xc8, 0xf5, 0xe8, + 0x21, 0xf1, 0xeb, 0xe9, 0x21, 0x7b, 0xe0, 0xab, 0xa0, 0xf4, 0x43, 0x01, 0x10, 0xad, 0x7c, 0x8d, + 0xed, 0x3f, 0x7c, 0xcc, 0x1a, 0xcc, 0x75, 0x10, 0x69, 0x08, 0xa6, 0xac, 0xef, 0xc9, 0x6d, 0xdd, + 0xb6, 0x75, 0xa3, 0xc9, 0x5b, 0x4c, 0x81, 0xd2, 0x6b, 0x7b, 0x1b, 0x8c, 0xca, 0x6d, 0xf9, 0xff, + 0x60, 0xae, 0xa7, 0x36, 0x51, 0x5a, 0xf3, 0x22, 0xe4, 0xf6, 0xcc, 0xae, 0xa1, 0xc9, 0x6c, 0x21, + 0x8d, 0x2f, 0x18, 0x66, 0x29, 0x8d, 0x7d, 0xaf, 0xf4, 0xd5, 0x38, 0x9c, 0x91, 0xb0, 0x6d, 0xb6, + 0x9e, 0xe0, 0xe8, 0xf5, 0xb9, 0x05, 0x7c, 0x93, 0x48, 0xfe, 0x75, 0xd4, 0x9a, 0x61, 0x32, 0xd8, + 0xa4, 0xd8, 0xbb, 0xaf, 0x70, 0x79, 0x74, 0xcb, 0x1c, 0xdc, 0x49, 0xe0, 0xeb, 0x7c, 0xc9, 0xe0, + 0x3a, 0x1f, 0x37, 0xc4, 0xff, 0x81, 0xb3, 0x7d, 0x8a, 0x88, 0xd2, 0x77, 0xf9, 0x49, 0x1c, 0x2e, + 0xf4, 0x8a, 0x8f, 0x1a, 0x61, 0xfc, 0xcf, 0x50, 0x36, 0xaa, 0x42, 0xbe, 0xad, 0x1b, 0xa7, 0x5b, + 0x67, 0xcc, 0xb5, 0x75, 0xa3, 0xd1, 0xeb, 0x73, 0x12, 0x30, 0x14, 0xa6, 0xd7, 0x28, 0x6d, 0xf7, + 0x0d, 0x01, 0x72, 0x51, 0xaf, 0x64, 0x9d, 0x2e, 0x26, 0x8c, 0xd7, 0xb9, 0x01, 0xf9, 0x8f, 0x60, + 0xe9, 0xeb, 0x8f, 0x05, 0x40, 0x0d, 0xab, 0x6b, 0x10, 0x48, 0xf9, 0xc0, 0x6c, 0x46, 0x59, 0xd9, + 0x33, 0x30, 0xa5, 0x1b, 0x1a, 0x3e, 0xa4, 0x95, 0x4d, 0x4a, 0xec, 0xa5, 0x67, 0xd7, 0x31, 0x31, + 0xd1, 0xae, 0xa3, 0x1f, 0x5a, 0xd2, 0x53, 0xd0, 0x28, 0xb5, 0xf0, 0x9d, 0x38, 0xcc, 0xf1, 0xea, + 0x44, 0xbe, 0xf4, 0x77, 0xaa, 0x80, 0x74, 0xf4, 0x39, 0x80, 0x8e, 0x85, 0x9f, 0xc8, 0x8c, 0x35, + 0x31, 0x11, 0x6b, 0x86, 0x70, 0x50, 0x02, 0xfa, 0x22, 0xcc, 0x90, 0x0e, 0xd7, 0xb1, 0xcc, 0x8e, + 0x69, 0x93, 0x79, 0xdd, 0x9e, 0x0c, 0x50, 0xcc, 0x3e, 0x3b, 0x5e, 0xcc, 0x6f, 0xe8, 0xc6, 0x36, + 0x67, 0x6c, 0xd4, 0x25, 0xd2, 0x73, 0xbd, 0x57, 0xd7, 0x19, 0xf9, 0xb1, 0x00, 0x67, 0x3e, 0xb2, + 0xc5, 0xd2, 0xff, 0x0e, 0x8d, 0x79, 0xf3, 0x81, 0x48, 0x5f, 0x6b, 0xc6, 0x9e, 0x19, 0xfd, 0x12, + 0xf6, 0x37, 0x04, 0x98, 0x0d, 0x88, 0x8f, 0x72, 0xd6, 0x3f, 0xdd, 0xb1, 0x87, 0x2f, 0x11, 0x3f, + 0x20, 0xd8, 0xec, 0xa3, 0xec, 0x54, 0xff, 0x26, 0xc0, 0xb9, 0x32, 0xdb, 0x8f, 0x76, 0x43, 0x2c, + 0xa2, 0x6c, 0x25, 0x45, 0x98, 0x7e, 0x82, 0x2d, 0x5b, 0x37, 0xd9, 0xbc, 0x97, 0x97, 0xdc, 0x57, + 0x34, 0x0f, 0x69, 0xdb, 0x50, 0x3a, 0xf6, 0xbe, 0xe9, 0xee, 0x7d, 0x79, 0xef, 0x5e, 0x38, 0xc8, + 0xd4, 0xe9, 0xc3, 0x41, 0x52, 0xe1, 0xe1, 0x20, 0x7c, 0x7b, 0xe8, 0x07, 0x02, 0x9c, 0x1f, 0xa8, + 0x75, 0x94, 0x96, 0xfe, 0x0a, 0x64, 0x55, 0x2e, 0x98, 0x8c, 0xa1, 0x6c, 0x07, 0xac, 0x46, 0xb2, + 0x9d, 0xd2, 0xd3, 0x7e, 0x76, 0xbc, 0x08, 0x6e, 0x51, 0x6b, 0x6b, 0xbc, 0x62, 0xe4, 0x59, 0x2b, + 0xfd, 0x02, 0x20, 0x5f, 0x39, 0xec, 0x98, 0x96, 0x53, 0x67, 0x8e, 0x04, 0x5a, 0x83, 0x74, 0xc7, + 0x32, 0x9f, 0xe8, 0x6e, 0x25, 0x0a, 0xa1, 0xdb, 0xc4, 0x3d, 0x3c, 0xdb, 0x3c, 0xbf, 0xe4, 0x71, + 0x22, 0x09, 0x32, 0x0f, 0x4c, 0x55, 0x69, 0xdd, 0xd5, 0x5b, 0x6e, 0x8b, 0x5d, 0x1e, 0x27, 0x66, + 0xd9, 0xe3, 0xd8, 0x56, 0x9c, 0x7d, 0xb7, 0x03, 0x7b, 0x44, 0x74, 0x0f, 0xd2, 0x55, 0xc7, 0xe9, + 0x90, 0x44, 0xde, 0xfb, 0xaf, 0x8c, 0x15, 0x49, 0x18, 0xb8, 0x24, 0x8f, 0x19, 0x49, 0x30, 0x7b, + 0xcf, 0x34, 0x9b, 0x2d, 0x5c, 0x6e, 0x99, 0x5d, 0xad, 0x6c, 0x1a, 0x7b, 0x7a, 0x93, 0x8f, 0x9e, + 0x97, 0xc7, 0x4a, 0xbc, 0x57, 0xae, 0x4b, 0x83, 0xec, 0xe8, 0xf3, 0x90, 0xae, 0xdf, 0xe1, 0xa2, + 0x98, 0xef, 0x73, 0x69, 0xac, 0xa8, 0xfa, 0x1d, 0xc9, 0x63, 0x42, 0x55, 0xc8, 0xae, 0x3c, 0xed, + 0x5a, 0x98, 0xcb, 0x48, 0x51, 0x19, 0x57, 0xc7, 0xca, 0xa0, 0x3c, 0x52, 0x90, 0x15, 0xbd, 0x05, + 0x85, 0xb7, 0x4d, 0xeb, 0x71, 0xcb, 0x54, 0xdc, 0xba, 0x4d, 0x53, 0x61, 0x2f, 0x8e, 0x15, 0xe6, + 0xb2, 0x49, 0x7d, 0x02, 0xe6, 0xbf, 0x08, 0xf9, 0x1e, 0xe3, 0x20, 0x04, 0xc9, 0x0e, 0xb1, 0x83, + 0x40, 0x83, 0x77, 0xe8, 0x33, 0x7a, 0x05, 0xa6, 0x0d, 0x53, 0xc3, 0x6e, 0x9b, 0xcd, 0xaf, 0x9e, + 0x79, 0x76, 0xbc, 0x98, 0xda, 0x34, 0x35, 0x36, 0xed, 0xf3, 0x27, 0x29, 0x45, 0x32, 0xb9, 0x93, + 0xfe, 0xfc, 0x55, 0x48, 0x12, 0xbb, 0x90, 0xce, 0xbe, 0xab, 0xd8, 0x78, 0xc7, 0xd2, 0xb9, 0x4c, + 0xf7, 0x95, 0xe7, 0xfb, 0x1b, 0x01, 0xe2, 0xf5, 0x3b, 0xc4, 0xff, 0xdc, 0xed, 0xaa, 0x8f, 0xb1, + 0xc3, 0x73, 0xf1, 0x37, 0xea, 0x97, 0x5a, 0x78, 0x4f, 0x67, 0xbe, 0x48, 0x46, 0xe2, 0x6f, 0xe8, + 0x05, 0x00, 0x45, 0x55, 0xb1, 0x6d, 0xcb, 0xee, 0x59, 0xaf, 0x8c, 0x94, 0x61, 0x94, 0x75, 0x7c, + 0x44, 0xd8, 0x6c, 0xac, 0x5a, 0xd8, 0x71, 0xa3, 0x90, 0xd8, 0x1b, 0x61, 0x73, 0x70, 0xbb, 0x23, + 0x3b, 0xe6, 0x63, 0x6c, 0x50, 0x7b, 0x66, 0xa4, 0x0c, 0xa1, 0x34, 0x08, 0x81, 0x8c, 0x3f, 0xd8, + 0xd0, 0xfc, 0xc1, 0x22, 0x23, 0x79, 0xef, 0x44, 0xa4, 0x85, 0x9b, 0x3a, 0x3f, 0xbc, 0x94, 0x91, + 0xf8, 0x1b, 0xaf, 0xc6, 0x37, 0x05, 0x48, 0xdc, 0x2b, 0xd7, 0x4f, 0x5c, 0x0f, 0x04, 0x49, 0xa5, + 0xcb, 0xdb, 0x7d, 0x46, 0xa2, 0xcf, 0x34, 0x3c, 0x4f, 0x6f, 0xb5, 0x08, 0x1c, 0xef, 0x58, 0xe6, + 0x57, 0xb0, 0xea, 0xd6, 0xa2, 0xc0, 0xc9, 0xdb, 0x8c, 0x8a, 0x96, 0x20, 0xab, 0x5a, 0x58, 0xc3, + 0x86, 0xa3, 0x2b, 0x2d, 0x9b, 0x57, 0x27, 0x48, 0xe2, 0x85, 0xfb, 0xaa, 0x00, 0x53, 0xb4, 0x21, + 0xa1, 0xe7, 0x21, 0xa3, 0x9a, 0x86, 0xa3, 0xe8, 0x06, 0x1f, 0x05, 0x32, 0x92, 0x4f, 0x18, 0x5a, + 0xc8, 0x8b, 0x90, 0x53, 0x54, 0xd5, 0xec, 0x1a, 0x8e, 0x6c, 0x28, 0x6d, 0xcc, 0x0b, 0x9b, 0xe5, + 0xb4, 0x4d, 0xa5, 0x8d, 0xd1, 0x22, 0xb8, 0xaf, 0xde, 0xe9, 0xba, 0x8c, 0x04, 0x9c, 0xb4, 0x8e, + 0x8f, 0x78, 0x49, 0x7e, 0x20, 0x40, 0xda, 0x6d, 0x82, 0xa4, 0x30, 0x4d, 0x6c, 0x60, 0x4b, 0x71, + 0x4c, 0xaf, 0x30, 0x1e, 0xa1, 0x7f, 0x96, 0xc8, 0xf8, 0xb3, 0xc4, 0x19, 0x98, 0x72, 0x94, 0xdd, + 0x96, 0x5b, 0x0e, 0xf6, 0x42, 0x97, 0x41, 0x5b, 0x4a, 0x93, 0xad, 0xe2, 0x64, 0x24, 0xf6, 0x42, + 0xaa, 0xc4, 0xe3, 0x41, 0x99, 0x76, 0xf8, 0x1b, 0x29, 0x2f, 0x0b, 0x81, 0xdc, 0xc5, 0x4d, 0xdd, + 0xa0, 0xc6, 0x4e, 0x48, 0x40, 0x49, 0x34, 0xda, 0x08, 0x3d, 0x07, 0x19, 0x96, 0x01, 0x1b, 0x1a, + 0xb5, 0x78, 0x42, 0x4a, 0x53, 0x42, 0xc5, 0x3d, 0x4e, 0xc4, 0x5d, 0x83, 0x3f, 0x13, 0x60, 0x96, + 0xc5, 0x90, 0xb0, 0xd8, 0xc9, 0xe8, 0xe6, 0xc9, 0xd7, 0x21, 0xa3, 0x29, 0x8e, 0xc2, 0x4e, 0xf3, + 0xc5, 0x47, 0x9e, 0xe6, 0x73, 0x87, 0x42, 0x92, 0x9f, 0x9e, 0xe8, 0x43, 0x90, 0x24, 0xcf, 0xec, + 0x14, 0xa4, 0x44, 0x9f, 0xfd, 0xdd, 0xf8, 0x60, 0x71, 0xa3, 0xf4, 0x1b, 0x7e, 0x38, 0xe5, 0x4e, + 0x3a, 0x51, 0xaa, 0xe1, 0x0b, 0x30, 0xcd, 0xc1, 0x30, 0x57, 0xc2, 0xd2, 0xb8, 0xf1, 0xce, 0xdd, + 0x87, 0xe3, 0x6c, 0x68, 0x15, 0x80, 0x05, 0x3f, 0xd2, 0x68, 0x92, 0xc4, 0x09, 0xb6, 0x4c, 0x28, + 0x1b, 0xa1, 0xa2, 0x4d, 0xc8, 0xb6, 0x9f, 0xa8, 0xaa, 0xbc, 0xa7, 0xb7, 0x1c, 0x1e, 0x68, 0x15, + 0x1e, 0x5d, 0xbc, 0xf1, 0xb0, 0x5c, 0xbe, 0x4b, 0x33, 0xb1, 0x78, 0x27, 0xff, 0x5d, 0x02, 0x22, + 0x81, 0x3d, 0xa3, 0x97, 0x81, 0x9f, 0xbd, 0x90, 0x6d, 0xf7, 0x24, 0xd5, 0x6a, 0xfe, 0xd9, 0xf1, + 0x62, 0x46, 0xa2, 0xd4, 0x7a, 0xbd, 0x21, 0x65, 0x58, 0x86, 0xba, 0xed, 0xa0, 0x4b, 0x90, 0x37, + 0xdb, 0xba, 0x23, 0xbb, 0x33, 0x3c, 0x77, 0x65, 0x72, 0x84, 0xe8, 0x7a, 0x00, 0xa8, 0x01, 0xd7, + 0xb0, 0x41, 0xfa, 0x02, 0xad, 0x27, 0x8b, 0xaa, 0x97, 0x75, 0x87, 0xf5, 0x27, 0xd9, 0xec, 0x38, + 0x7a, 0x5b, 0x7f, 0x4a, 0xb7, 0x2b, 0xf9, 0x56, 0xc1, 0x25, 0x96, 0x9d, 0xd4, 0x8f, 0xc6, 0xd9, + 0xd7, 0x78, 0xde, 0xad, 0x40, 0x56, 0xf4, 0x55, 0x81, 0x86, 0xeb, 0x13, 0x45, 0xca, 0xbb, 0x47, + 0x72, 0x8b, 0x4c, 0x17, 0xba, 0x73, 0x24, 0x3f, 0x7e, 0x52, 0x4c, 0xd3, 0x6d, 0xb2, 0xcf, 0x0c, + 0x35, 0x87, 0xbb, 0x55, 0xe6, 0x9a, 0xe5, 0xe8, 0x01, 0x67, 0x5e, 0x7f, 0x52, 0x31, 0x1c, 0xeb, + 0x68, 0xf5, 0xfc, 0xb3, 0xe3, 0xc5, 0xb9, 0xc1, 0xd4, 0x87, 0xf4, 0x08, 0x40, 0x3f, 0xcb, 0xfc, + 0x3e, 0x14, 0x87, 0x49, 0x42, 0xa2, 0xbf, 0x5f, 0x96, 0x61, 0xdb, 0x64, 0x9f, 0xea, 0x45, 0xec, + 0x63, 0x1b, 0x8d, 0x8b, 0xd9, 0xe3, 0xaf, 0xb9, 0x3d, 0xfb, 0xeb, 0x02, 0xe4, 0x57, 0xbb, 0xad, + 0xc7, 0x5b, 0x9d, 0x7a, 0xb7, 0xdd, 0x56, 0xac, 0x23, 0x32, 0x28, 0xb0, 0x1e, 0xa9, 0x3f, 0x65, + 0x61, 0x16, 0x09, 0xde, 0xe5, 0xf4, 0xa7, 0x98, 0x74, 0x39, 0x1e, 0xd0, 0x4d, 0xe8, 0x2c, 0x5a, + 0xfb, 0x12, 0xe4, 0x29, 0x78, 0x96, 0xb1, 0xe1, 0x58, 0x3a, 0x66, 0x6b, 0x33, 0x09, 0x29, 0x47, + 0x89, 0x15, 0x46, 0x43, 0x57, 0xa0, 0x60, 0x1f, 0xd9, 0x0e, 0x6e, 0xcb, 0xec, 0xdc, 0x35, 0x43, + 0x7c, 0x09, 0x29, 0xcf, 0xa8, 0x12, 0x23, 0x96, 0x7e, 0x96, 0x80, 0x82, 0xab, 0xd7, 0x28, 0xdd, + 0xd2, 0x55, 0x98, 0xda, 0xd3, 0x5b, 0xd8, 0xdd, 0xe9, 0xbe, 0x3a, 0xc2, 0x9c, 0x3c, 0xe4, 0x97, + 0x78, 0x0b, 0x2e, 0x1c, 0xa1, 0xac, 0x51, 0xf4, 0xb0, 0xf9, 0xdf, 0x88, 0x43, 0x92, 0xfa, 0x83, + 0xb7, 0x20, 0x49, 0x87, 0x3c, 0x61, 0x92, 0x21, 0x8f, 0x66, 0xf5, 0xdc, 0x96, 0x78, 0xc0, 0x6d, + 0x21, 0x3e, 0xc0, 0xbe, 0xf2, 0xea, 0xad, 0xdb, 0xb4, 0x77, 0xe5, 0x24, 0xfe, 0x86, 0x56, 0x69, + 0x08, 0x86, 0x69, 0x39, 0x58, 0xe3, 0xde, 0x58, 0x58, 0xdb, 0xe8, 0x31, 0xbc, 0x3b, 0xbc, 0xba, + 0x7c, 0xe8, 0x02, 0x24, 0x48, 0xb7, 0x9d, 0x66, 0xdb, 0xb3, 0xcf, 0x8e, 0x17, 0x13, 0xa4, 0xc3, + 0x12, 0x1a, 0xba, 0x09, 0xd9, 0xde, 0x3e, 0x22, 0x5c, 0xcf, 0xb0, 0x91, 0x20, 0xd0, 0xbe, 0xa1, + 0xe5, 0xb5, 0x5f, 0x86, 0x3e, 0xee, 0x27, 0xd3, 0x49, 0x71, 0xaa, 0xf4, 0xdd, 0x24, 0xe4, 0x6b, + 0xed, 0xa8, 0x47, 0xd0, 0x95, 0x5e, 0x0b, 0x87, 0x79, 0xd7, 0x3d, 0x1f, 0x0d, 0x31, 0x70, 0xcf, + 0x5c, 0x94, 0x38, 0xd9, 0x5c, 0x54, 0x23, 0x9e, 0x13, 0x3f, 0x5b, 0x4e, 0xbe, 0xff, 0xd2, 0xd8, + 0xef, 0x37, 0xc8, 0xb0, 0x24, 0x11, 0x1e, 0x3f, 0x08, 0x9e, 0x6e, 0xb1, 0xbf, 0x49, 0x1d, 0x34, + 0xd6, 0xca, 0x52, 0x93, 0xb7, 0xb2, 0x69, 0x6c, 0x68, 0xb4, 0x8d, 0x1d, 0xf2, 0x26, 0xf6, 0x1a, + 0x24, 0x34, 0x7d, 0x94, 0x4a, 0xc3, 0xe6, 0x13, 0xc2, 0x32, 0xa6, 0xa5, 0x25, 0x83, 0x2d, 0x2d, + 0x88, 0x2e, 0xe7, 0xb7, 0x00, 0xfc, 0x5a, 0xa1, 0x25, 0x48, 0x99, 0x2d, 0xcd, 0x8d, 0xdf, 0xcf, + 0xaf, 0x66, 0x9e, 0x1d, 0x2f, 0x4e, 0x6d, 0xb5, 0xb4, 0xda, 0x9a, 0x34, 0x65, 0xb6, 0xb4, 0x9a, + 0x46, 0x8f, 0xe4, 0xe3, 0x03, 0xd9, 0x8b, 0x92, 0xc9, 0x49, 0xd3, 0x06, 0x3e, 0x58, 0xc3, 0xb6, + 0xda, 0xb7, 0x7b, 0x4f, 0x9a, 0xcd, 0x1f, 0x0a, 0x50, 0x70, 0x35, 0x18, 0xed, 0xd0, 0x90, 0xd6, + 0xdb, 0xbc, 0xab, 0x24, 0x4e, 0xd6, 0x55, 0x5c, 0x3e, 0x7e, 0x70, 0xf0, 0x6b, 0x02, 0x8f, 0x90, + 0xac, 0xab, 0x8a, 0x43, 0xe6, 0xc2, 0x08, 0x9b, 0xf7, 0x8b, 0x20, 0x5a, 0x8a, 0xa1, 0x99, 0x6d, + 0xfd, 0x29, 0x66, 0x8b, 0x48, 0x36, 0xdf, 0x3b, 0x99, 0xf1, 0xe8, 0x74, 0x95, 0xc4, 0x5d, 0x03, + 0xfb, 0x57, 0x81, 0x47, 0x53, 0x7a, 0x85, 0x89, 0x52, 0x69, 0xeb, 0x90, 0xb2, 0x58, 0x4c, 0x16, + 0xeb, 0x6e, 0xaf, 0x84, 0x08, 0x09, 0xfb, 0x3a, 0x0b, 0x79, 0xf2, 0x1a, 0x3c, 0x15, 0x31, 0xff, + 0x05, 0x98, 0xa2, 0xe4, 0x53, 0x0c, 0x8a, 0x5c, 0xf3, 0xff, 0x41, 0xe3, 0x79, 0xb5, 0x7a, 0x9d, + 0x37, 0xbf, 0xe8, 0xf4, 0xee, 0xfa, 0x98, 0x71, 0xdf, 0xc7, 0x44, 0xaf, 0x00, 0xd2, 0x74, 0x9b, + 0x1d, 0x18, 0xb7, 0xf7, 0x15, 0xcd, 0x3c, 0xf0, 0x77, 0xd4, 0x66, 0xdd, 0x94, 0xba, 0x9b, 0x80, + 0xde, 0x01, 0xea, 0x13, 0xc9, 0xb6, 0xa3, 0x78, 0x0b, 0x9d, 0x2f, 0x9f, 0xe4, 0x68, 0x02, 0xf3, + 0x99, 0xbc, 0x57, 0x29, 0x43, 0xc4, 0xd1, 0xc7, 0x60, 0xf0, 0xa9, 0x5f, 0xfb, 0x28, 0xdd, 0xdd, + 0x0e, 0x14, 0x78, 0x60, 0x7a, 0xc4, 0x8b, 0xef, 0x34, 0x78, 0x9d, 0x37, 0x61, 0xf6, 0xe2, 0x9f, + 0x0d, 0xf7, 0xbe, 0x18, 0x65, 0x4d, 0xba, 0x30, 0xe7, 0xca, 0x8d, 0x7a, 0x9f, 0x6b, 0x54, 0x75, + 0xe8, 0x22, 0x66, 0xf0, 0xb3, 0x51, 0xd6, 0xe9, 0x9f, 0x05, 0x28, 0xd4, 0xbb, 0xbb, 0xec, 0x82, + 0x90, 0xe8, 0xea, 0x53, 0x81, 0x4c, 0x0b, 0xef, 0x39, 0xf2, 0xa9, 0xc2, 0x17, 0xd3, 0x84, 0x95, + 0x86, 0x70, 0xae, 0x00, 0x58, 0xf4, 0xa0, 0x02, 0x95, 0x93, 0x98, 0x54, 0x8e, 0x94, 0xa1, 0x5c, + 0xfe, 0x34, 0x50, 0xfa, 0x6e, 0x1c, 0x66, 0xbc, 0x6a, 0x46, 0x39, 0x8c, 0xfd, 0xdf, 0x9e, 0xae, + 0x99, 0x38, 0x45, 0xd7, 0x9c, 0x25, 0x32, 0x87, 0x75, 0x4f, 0xb4, 0x0c, 0x73, 0x74, 0xac, 0x96, + 0x95, 0x4e, 0xa7, 0xa5, 0x63, 0x4d, 0x66, 0x5b, 0x4e, 0x49, 0xba, 0xe5, 0x34, 0x4b, 0x93, 0x56, + 0x58, 0x4a, 0x8d, 0x6e, 0x3f, 0xdd, 0x85, 0xdc, 0x9e, 0x85, 0xf1, 0x53, 0x2c, 0x53, 0x97, 0xf1, + 0x24, 0x1b, 0x91, 0x59, 0xc6, 0x58, 0x27, 0x7c, 0x7c, 0x54, 0x7c, 0x17, 0x66, 0xa9, 0x6a, 0xa3, + 0x3e, 0xec, 0xc5, 0xad, 0xf2, 0x0b, 0x01, 0x50, 0x50, 0xfe, 0x47, 0x67, 0x98, 0x78, 0xe4, 0x86, + 0x79, 0x19, 0x10, 0x8b, 0x0d, 0xb1, 0xe5, 0x0e, 0xb6, 0x64, 0x1b, 0xab, 0x26, 0xbf, 0xd5, 0x42, + 0x90, 0x44, 0x9e, 0xb2, 0x8d, 0xad, 0x3a, 0xa5, 0x97, 0xfe, 0xfd, 0x02, 0xe4, 0xb8, 0x4e, 0x76, + 0x0c, 0x82, 0x17, 0x6f, 0x41, 0xa2, 0xc9, 0x97, 0xbf, 0xb2, 0xa1, 0x00, 0xd9, 0xbf, 0x59, 0xa7, + 0x1a, 0x93, 0x48, 0x5e, 0xc2, 0xd2, 0xe9, 0x3a, 0x21, 0xb1, 0x8c, 0x7e, 0xe0, 0x5b, 0x90, 0xa5, + 0xd3, 0x75, 0x50, 0x1d, 0x66, 0x54, 0xff, 0x66, 0x11, 0x99, 0xb0, 0x27, 0x86, 0x9e, 0x7d, 0x0a, + 0xbd, 0x9f, 0xa5, 0x1a, 0x93, 0x0a, 0x6a, 0x4f, 0x02, 0x2a, 0x07, 0xaf, 0xb2, 0x48, 0x0e, 0x5d, + 0xec, 0xed, 0xbf, 0x46, 0xa3, 0x1a, 0x0b, 0xdc, 0x78, 0x81, 0x5e, 0x87, 0x94, 0x46, 0xaf, 0x48, + 0xe0, 0x2d, 0x34, 0xac, 0x11, 0xf5, 0xdc, 0x4a, 0x51, 0x8d, 0x49, 0x9c, 0x03, 0xdd, 0x87, 0x1c, + 0x7b, 0x62, 0x07, 0xe3, 0xb9, 0x8b, 0x7b, 0x65, 0xb8, 0x84, 0xc0, 0x68, 0x5d, 0x8d, 0x49, 0x59, + 0xcd, 0xa7, 0xa2, 0x4f, 0x42, 0xd2, 0x56, 0x15, 0x83, 0xaf, 0x11, 0x2f, 0x0c, 0x39, 0x07, 0xed, + 0x33, 0xd3, 0xdc, 0xe8, 0x11, 0xcc, 0xd2, 0x15, 0x31, 0xd9, 0xf1, 0x43, 0x05, 0x28, 0x86, 0xe9, + 0x8d, 0x4e, 0xf0, 0x5c, 0xbf, 0xf0, 0xe3, 0x7f, 0xd5, 0x98, 0x24, 0xee, 0xf6, 0x25, 0x11, 0x93, + 0x51, 0xdf, 0x3d, 0x20, 0x38, 0x33, 0xd4, 0x64, 0xa1, 0x07, 0xf2, 0x88, 0xc9, 0x70, 0x4f, 0x02, + 0xba, 0x07, 0x59, 0x85, 0xf8, 0x52, 0x32, 0x3d, 0x16, 0x53, 0x84, 0xa1, 0x8b, 0xfd, 0x03, 0x47, + 0x9a, 0xaa, 0xf4, 0x2c, 0xa3, 0x4b, 0xf4, 0x05, 0xb5, 0xb1, 0xd5, 0xc4, 0xc5, 0xec, 0x68, 0x41, + 0xc1, 0xf8, 0x02, 0x4f, 0x10, 0x25, 0xa2, 0x0d, 0xc8, 0xef, 0xbb, 0x21, 0xcf, 0x34, 0xb6, 0x23, + 0x37, 0x74, 0xc5, 0x3f, 0x24, 0x64, 0xbb, 0x1a, 0x93, 0x72, 0xfb, 0x01, 0x32, 0x5a, 0x86, 0x78, + 0x53, 0x2d, 0xe6, 0xa9, 0x8c, 0xe7, 0x47, 0x05, 0x24, 0x57, 0x63, 0x52, 0xbc, 0xa9, 0x12, 0x84, + 0xc4, 0xa2, 0x3d, 0x0f, 0x8d, 0x62, 0x61, 0xe8, 0x20, 0xd3, 0x1b, 0x97, 0x5b, 0x8d, 0x49, 0x34, + 0x7a, 0x95, 0x7c, 0x6f, 0x1b, 0x0a, 0x16, 0x0b, 0xd0, 0x70, 0xc3, 0x90, 0x44, 0x2a, 0xe5, 0x5a, + 0xf8, 0x50, 0x35, 0x10, 0x89, 0x54, 0x8d, 0x49, 0x79, 0x2b, 0x48, 0x47, 0x5f, 0x86, 0x33, 0xbd, + 0x12, 0x79, 0xe3, 0x9e, 0x1d, 0x18, 0xb9, 0xc2, 0xe5, 0xf6, 0xb6, 0x71, 0x64, 0x0d, 0x24, 0xa2, + 0x4f, 0xc3, 0x14, 0xb3, 0x1a, 0xa2, 0x22, 0xc3, 0xf6, 0x06, 0xfb, 0x0c, 0xc6, 0xf2, 0x93, 0xfe, + 0xe6, 0xf0, 0xc8, 0x04, 0xb9, 0x65, 0x36, 0x8b, 0x73, 0x43, 0xfb, 0xdb, 0x60, 0xa4, 0x05, 0xe9, + 0x6f, 0x8e, 0x4f, 0x25, 0x76, 0xb7, 0x58, 0x0a, 0xdf, 0xc8, 0x3e, 0x33, 0xd4, 0xee, 0x21, 0x01, + 0x0b, 0x55, 0x1a, 0x65, 0xe9, 0x93, 0x49, 0xd1, 0x2c, 0x76, 0xf5, 0x80, 0x4c, 0xbb, 0xf1, 0xd9, + 0xa1, 0x45, 0x1b, 0xbc, 0x4e, 0x81, 0x14, 0xcd, 0xf2, 0xa9, 0xe8, 0x21, 0x88, 0xfc, 0x78, 0xb1, + 0xbf, 0x80, 0x78, 0x6e, 0xe8, 0xd6, 0x51, 0xf8, 0xce, 0x6f, 0x35, 0x26, 0xcd, 0xa8, 0xbd, 0x29, + 0x64, 0xb0, 0xa0, 0xf2, 0x64, 0xd5, 0x3f, 0x17, 0x5e, 0x2c, 0x0e, 0x1d, 0x2c, 0x86, 0xdc, 0x24, + 0x40, 0x06, 0x0b, 0xb5, 0x2f, 0x89, 0x34, 0x63, 0xdd, 0xd0, 0x1d, 0x3a, 0xb0, 0xcf, 0x0f, 0x6d, + 0xc6, 0xbd, 0x97, 0x3f, 0x91, 0x66, 0xac, 0x33, 0x0a, 0x69, 0xc6, 0x0e, 0x8f, 0x72, 0xe0, 0xe6, + 0x78, 0x7e, 0x68, 0x33, 0x0e, 0x0b, 0x87, 0x20, 0xcd, 0xd8, 0x09, 0xd2, 0x49, 0x33, 0x66, 0x03, + 0x44, 0x9f, 0xdc, 0x17, 0x86, 0x36, 0xe3, 0xa1, 0x07, 0xd3, 0x48, 0x33, 0x56, 0x06, 0x12, 0xd1, + 0x1a, 0x00, 0xf3, 0x88, 0x74, 0x63, 0xcf, 0x2c, 0x2e, 0x0c, 0x9d, 0x7f, 0xfa, 0xe3, 0x1c, 0xc8, + 0xfc, 0xd3, 0x72, 0x69, 0x64, 0x20, 0xa3, 0x3e, 0xb6, 0x4c, 0x77, 0x2b, 0x8a, 0x8b, 0x43, 0x07, + 0xb2, 0x81, 0x4d, 0x0b, 0x32, 0x90, 0x1d, 0x78, 0x44, 0x32, 0x91, 0xb1, 0xf5, 0xae, 0xe2, 0xd2, + 0x98, 0x65, 0x92, 0xc0, 0x44, 0xc6, 0x38, 0xd0, 0x0a, 0x64, 0x88, 0xa7, 0x70, 0x44, 0x87, 0xa1, + 0x8b, 0x43, 0xbd, 0xdb, 0xbe, 0x30, 0xe2, 0x6a, 0x4c, 0x4a, 0xbf, 0xc7, 0x49, 0xe4, 0xf3, 0x6c, + 0x0d, 0xa1, 0x58, 0x1a, 0xfa, 0xf9, 0x9e, 0x55, 0x23, 0xf2, 0x79, 0xc6, 0x81, 0x54, 0x38, 0xcb, + 0x6c, 0xc5, 0xcf, 0x85, 0x59, 0xfc, 0x10, 0x53, 0xf1, 0x12, 0x15, 0x35, 0x14, 0x91, 0x87, 0x1e, + 0x57, 0xab, 0xc6, 0xa4, 0x39, 0x65, 0x30, 0x95, 0x74, 0x78, 0x3e, 0xf5, 0x30, 0x1c, 0x5f, 0xbc, + 0x3c, 0xb4, 0xc3, 0x87, 0xac, 0x7c, 0x90, 0x0e, 0xaf, 0x04, 0xc8, 0x6c, 0x02, 0xd2, 0x64, 0xdb, + 0x66, 0x7b, 0x5b, 0x57, 0x46, 0x4c, 0x40, 0x7d, 0x60, 0x9e, 0x4d, 0x40, 0x5a, 0x9d, 0x71, 0x12, + 0x41, 0x6a, 0x0b, 0x2b, 0x16, 0x1f, 0x66, 0xaf, 0x0e, 0x15, 0x34, 0x70, 0xa1, 0x12, 0x11, 0xa4, + 0x7a, 0x44, 0x32, 0x61, 0x5b, 0xee, 0xbd, 0x04, 0xdc, 0xdb, 0xbc, 0x36, 0x74, 0xc2, 0x0e, 0xbd, + 0x3e, 0x81, 0x4c, 0xd8, 0x56, 0x4f, 0x02, 0xfa, 0x1c, 0x4c, 0xf3, 0x43, 0xde, 0xc5, 0xeb, 0x23, + 0x7c, 0xe0, 0x20, 0xac, 0x26, 0xfd, 0x9a, 0xf3, 0xb0, 0x51, 0x96, 0x9d, 0x11, 0x67, 0xd5, 0x7b, + 0x71, 0xc4, 0x28, 0x3b, 0x80, 0x68, 0xd9, 0x28, 0xeb, 0x93, 0xc9, 0x28, 0xcb, 0xda, 0x29, 0x9f, + 0xeb, 0x6e, 0x0c, 0x1d, 0x65, 0x07, 0x63, 0x98, 0xc9, 0x28, 0xfb, 0x9e, 0x4f, 0x25, 0x35, 0xb3, + 0x19, 0x10, 0x2b, 0xbe, 0x34, 0xb4, 0x66, 0xbd, 0x88, 0x94, 0xd4, 0x8c, 0xf3, 0x10, 0xb3, 0xb1, + 0xf0, 0x3a, 0xa6, 0xe9, 0x97, 0x87, 0x1f, 0xc1, 0xec, 0xc7, 0x2d, 0x55, 0xf7, 0xb2, 0x4d, 0xa6, + 0x61, 0x6f, 0xa0, 0xb2, 0xf8, 0x81, 0x33, 0xae, 0xa9, 0x57, 0x46, 0x0f, 0x54, 0x61, 0x67, 0xe9, + 0xbc, 0x81, 0xaa, 0x27, 0x91, 0x16, 0x95, 0x9d, 0x08, 0xa0, 0xfd, 0x7b, 0x79, 0xc4, 0x69, 0xd1, + 0xbe, 0x43, 0x1a, 0xb4, 0xa8, 0x1e, 0xd1, 0xef, 0x42, 0x5d, 0x76, 0xac, 0xb9, 0x78, 0x73, 0x74, + 0x17, 0xea, 0x3d, 0x5e, 0xed, 0x75, 0x21, 0x4e, 0xf6, 0xe6, 0x4c, 0xd7, 0xc3, 0xf8, 0xc4, 0xe8, + 0x39, 0xb3, 0xdf, 0xb5, 0x60, 0x73, 0x26, 0xbf, 0x77, 0x6a, 0x9a, 0x6f, 0x1f, 0xdd, 0x4f, 0xa6, + 0x67, 0x44, 0xf1, 0x7e, 0x32, 0x7d, 0x5e, 0x2c, 0xde, 0x4f, 0xa6, 0x2f, 0x88, 0xf3, 0xf7, 0x93, + 0xe9, 0xe7, 0xc4, 0xe7, 0x4b, 0x3f, 0xb9, 0x00, 0x79, 0x17, 0xab, 0x31, 0xe4, 0x73, 0x3b, 0x88, + 0x7c, 0x16, 0x86, 0x21, 0x1f, 0x8e, 0xee, 0x38, 0xf4, 0xb9, 0x1d, 0x84, 0x3e, 0x0b, 0xc3, 0xa0, + 0x8f, 0xcf, 0x43, 0xb0, 0x4f, 0x63, 0x18, 0xf6, 0x79, 0x71, 0x02, 0xec, 0xe3, 0x89, 0xea, 0x07, + 0x3f, 0x6b, 0x83, 0xe0, 0xe7, 0xf2, 0x68, 0xf0, 0xe3, 0x89, 0x0a, 0xa0, 0x9f, 0x37, 0xfa, 0xd0, + 0xcf, 0xc5, 0x11, 0xe8, 0xc7, 0xe3, 0x77, 0xe1, 0xcf, 0x7a, 0x28, 0xfc, 0xb9, 0x3a, 0x0e, 0xfe, + 0x78, 0x72, 0x7a, 0xf0, 0xcf, 0xab, 0x3d, 0xf8, 0x67, 0x71, 0x28, 0xfe, 0xf1, 0xb8, 0x19, 0x00, + 0x7a, 0x67, 0x38, 0x00, 0x7a, 0x69, 0x22, 0x00, 0xe4, 0xc9, 0x1b, 0x44, 0x40, 0x8d, 0x61, 0x08, + 0xe8, 0xc5, 0x09, 0x10, 0x90, 0x6f, 0xb8, 0x3e, 0x08, 0x54, 0x0d, 0x83, 0x40, 0x57, 0xc6, 0x40, + 0x20, 0x4f, 0x5a, 0x10, 0x03, 0x55, 0xc3, 0x30, 0xd0, 0x95, 0x31, 0x18, 0xa8, 0x4f, 0x12, 0x03, + 0x41, 0x9b, 0xe1, 0x20, 0xe8, 0xda, 0x58, 0x10, 0xe4, 0x49, 0xeb, 0x45, 0x41, 0x37, 0x03, 0x28, + 0xe8, 0x85, 0x21, 0x28, 0xc8, 0x63, 0x25, 0x30, 0xe8, 0xf3, 0x03, 0x30, 0xa8, 0x34, 0x0a, 0x06, + 0x79, 0xbc, 0x1e, 0x0e, 0x7a, 0x6b, 0x08, 0x0e, 0xba, 0x3e, 0x1e, 0x07, 0x79, 0xc2, 0xfa, 0x80, + 0x90, 0x32, 0x12, 0x08, 0xbd, 0x32, 0x21, 0x10, 0xf2, 0xa4, 0x87, 0x21, 0xa1, 0xd7, 0x7a, 0x91, + 0xd0, 0xd2, 0x70, 0x24, 0xe4, 0x89, 0xe1, 0x50, 0x68, 0x3d, 0x14, 0x0a, 0x5d, 0x1d, 0x07, 0x85, + 0xfc, 0xbe, 0x17, 0xc4, 0x42, 0x9b, 0xe1, 0x58, 0xe8, 0xda, 0x58, 0x2c, 0xe4, 0x9b, 0xbf, 0x07, + 0x0c, 0xad, 0x87, 0x82, 0xa1, 0xab, 0xe3, 0xc0, 0x90, 0x5f, 0xb8, 0x20, 0x1a, 0x7a, 0x7b, 0x28, + 0x1a, 0xba, 0x31, 0x09, 0x1a, 0xf2, 0x84, 0x0e, 0xc0, 0xa1, 0x77, 0x86, 0xc3, 0xa1, 0x97, 0x4e, + 0x70, 0xa3, 0x56, 0x28, 0x1e, 0xfa, 0xfc, 0x00, 0x1e, 0x2a, 0x8d, 0xc2, 0x43, 0x7e, 0x7b, 0x76, + 0x01, 0x91, 0x32, 0x12, 0xbe, 0xbc, 0x32, 0x21, 0x7c, 0xf1, 0x1b, 0x5f, 0x08, 0x7e, 0xa9, 0x84, + 0xe0, 0x97, 0xcb, 0xa3, 0xf1, 0x8b, 0x3f, 0x85, 0xf8, 0x00, 0xa6, 0x1a, 0x06, 0x60, 0xae, 0x8c, + 0x01, 0x30, 0xfe, 0x28, 0x14, 0x40, 0x30, 0x6f, 0xf4, 0x21, 0x98, 0x8b, 0x63, 0x43, 0x1b, 0x02, + 0x10, 0x66, 0x75, 0x10, 0xc2, 0x5c, 0x1a, 0x09, 0x61, 0x3c, 0x09, 0x3e, 0x86, 0x79, 0xa3, 0x0f, + 0xc3, 0x5c, 0x1c, 0x81, 0x61, 0xfc, 0x02, 0x70, 0x10, 0xa3, 0x8d, 0x06, 0x31, 0xcb, 0x93, 0x82, + 0x18, 0x4f, 0x70, 0x28, 0x8a, 0xd9, 0x0c, 0x47, 0x31, 0xd7, 0x26, 0xdc, 0xb4, 0x1c, 0x80, 0x31, + 0xd5, 0x30, 0x18, 0x73, 0x65, 0x0c, 0x8c, 0x09, 0xce, 0x21, 0x1e, 0x8e, 0xa9, 0x86, 0xe1, 0x98, + 0x2b, 0x63, 0x70, 0x8c, 0x2f, 0x29, 0x00, 0x64, 0x1a, 0xc3, 0x80, 0xcc, 0x8b, 0x13, 0x00, 0x19, + 0x7f, 0xde, 0xed, 0x43, 0x32, 0x6f, 0xf6, 0x23, 0x99, 0xd2, 0x28, 0x24, 0xe3, 0xf7, 0x48, 0x17, + 0xca, 0x6c, 0x86, 0x43, 0x99, 0x6b, 0x63, 0xa1, 0x4c, 0x70, 0x90, 0x0c, 0x60, 0x99, 0xf5, 0x50, + 0x2c, 0x73, 0x75, 0x1c, 0x96, 0xf1, 0x07, 0xc9, 0x20, 0x98, 0x79, 0xb3, 0x1f, 0xcc, 0x94, 0x46, + 0x81, 0x19, 0xbf, 0x72, 0x2e, 0x9a, 0xa9, 0x86, 0xa1, 0x99, 0x2b, 0x63, 0xd0, 0x8c, 0x6f, 0xbc, + 0x00, 0x9c, 0x51, 0x46, 0xc2, 0x99, 0x57, 0x26, 0x84, 0x33, 0x7d, 0x03, 0x57, 0x2f, 0x9e, 0xa9, + 0x86, 0xe1, 0x99, 0x2b, 0x63, 0xf0, 0x4c, 0xa0, 0xb0, 0x3e, 0xa0, 0xd9, 0x0c, 0x07, 0x34, 0xd7, + 0xc6, 0x02, 0x9a, 0xbe, 0xde, 0xe4, 0x22, 0x9a, 0xf5, 0x50, 0x44, 0x73, 0x75, 0x1c, 0xa2, 0xe9, + 0x9b, 0xf8, 0x26, 0x84, 0x34, 0xf7, 0x93, 0xe9, 0xe7, 0xc5, 0x17, 0x4a, 0xbf, 0x9a, 0x82, 0x54, + 0xd5, 0x0d, 0x1c, 0x0a, 0x5c, 0x35, 0x21, 0x9c, 0xe6, 0xaa, 0x09, 0xb4, 0x46, 0x7a, 0x09, 0x1d, + 0x6b, 0xc6, 0xdf, 0x2a, 0x34, 0x78, 0xe3, 0x0d, 0x67, 0x3d, 0xc5, 0xd9, 0x33, 0xf4, 0x2a, 0xe4, + 0xbb, 0x36, 0xb6, 0xe4, 0x8e, 0xa5, 0x9b, 0x96, 0xee, 0xb0, 0x98, 0x64, 0x61, 0x55, 0xfc, 0xf0, + 0x78, 0x31, 0xb7, 0x63, 0x63, 0x6b, 0x9b, 0xd3, 0xa5, 0x5c, 0x37, 0xf0, 0xe6, 0xfe, 0xed, 0xc6, + 0xd4, 0xe4, 0x7f, 0xbb, 0xf1, 0x16, 0x88, 0x16, 0x56, 0xb4, 0x9e, 0x59, 0x9f, 0xdd, 0xe1, 0x10, + 0x6e, 0x27, 0x1a, 0x7c, 0xef, 0xe6, 0xa4, 0x77, 0x39, 0xcc, 0x58, 0xbd, 0x44, 0x74, 0x0b, 0xce, + 0xb6, 0x95, 0x43, 0x1a, 0x6c, 0x25, 0xbb, 0x8e, 0x14, 0x0d, 0xa0, 0x4a, 0xd3, 0xc0, 0x40, 0xd4, + 0x56, 0x0e, 0xe9, 0x7f, 0x78, 0xb0, 0x24, 0x7a, 0x7b, 0xf7, 0x15, 0x28, 0x68, 0xba, 0xed, 0xe8, + 0x86, 0xea, 0x5e, 0xda, 0xc7, 0x2e, 0x7b, 0xc8, 0xbb, 0x54, 0x76, 0x79, 0xde, 0x0d, 0x98, 0xe5, + 0x61, 0xa7, 0xfe, 0xbf, 0x7a, 0x50, 0xc8, 0x90, 0x26, 0xa5, 0x20, 0x09, 0xfe, 0xdf, 0xb9, 0x94, + 0x61, 0xa6, 0xa9, 0x38, 0xf8, 0x40, 0x39, 0x92, 0xdd, 0xf8, 0xff, 0x2c, 0xbd, 0x03, 0xeb, 0xb9, + 0x67, 0xc7, 0x8b, 0xf9, 0x7b, 0x2c, 0x69, 0xe0, 0x18, 0x40, 0xbe, 0x19, 0x48, 0xd0, 0xd0, 0x0a, + 0xe4, 0xe8, 0xad, 0xbc, 0x26, 0xbb, 0xfc, 0x99, 0x03, 0x81, 0x61, 0xdb, 0x51, 0xfc, 0x8a, 0x68, + 0x89, 0xde, 0xe4, 0xeb, 0xde, 0x17, 0x7d, 0x0d, 0x66, 0x14, 0xfb, 0xc8, 0x50, 0xa9, 0x86, 0xb1, + 0x61, 0x77, 0x6d, 0x8a, 0x04, 0xd2, 0x52, 0x81, 0x92, 0xcb, 0x2e, 0x15, 0xbd, 0x06, 0x17, 0x34, + 0x4c, 0x5c, 0x1b, 0xe6, 0x3f, 0x38, 0xa6, 0x29, 0x9b, 0x2d, 0x4d, 0xa6, 0x07, 0xb9, 0x29, 0x0a, + 0x48, 0x4b, 0x67, 0x69, 0x06, 0xea, 0x39, 0x34, 0x4c, 0x73, 0xab, 0xa5, 0x55, 0x48, 0x22, 0xbf, + 0xe2, 0xef, 0x77, 0x04, 0xc8, 0xf5, 0x44, 0x71, 0xbf, 0xd1, 0xb7, 0x5f, 0x7b, 0x21, 0x1c, 0xbf, + 0x0c, 0x8b, 0xba, 0x4b, 0x73, 0xdb, 0xb9, 0x91, 0x40, 0x8b, 0xc3, 0xfd, 0x5f, 0xba, 0x82, 0xe0, + 0x46, 0x09, 0xb8, 0x6c, 0xaf, 0x27, 0x7f, 0xef, 0xfd, 0xc5, 0x58, 0xe9, 0x97, 0x09, 0xc8, 0xf7, + 0x46, 0x6b, 0xd7, 0xfa, 0xca, 0x15, 0x36, 0xbe, 0xf4, 0x70, 0x2c, 0x8f, 0xb8, 0xe9, 0x28, 0xe3, + 0xdf, 0x02, 0xcc, 0x8a, 0xb9, 0x34, 0x62, 0x57, 0x3a, 0x58, 0x4e, 0x9f, 0x71, 0xfe, 0xfb, 0x71, + 0x6f, 0xcc, 0x58, 0x86, 0x29, 0xa6, 0x70, 0x61, 0xe8, 0x79, 0x36, 0xaa, 0x73, 0x89, 0x65, 0x23, + 0x63, 0x4c, 0xe3, 0x54, 0xd7, 0xd9, 0x78, 0x84, 0x53, 0xfc, 0x55, 0x0e, 0xbf, 0xd4, 0x68, 0xea, + 0x64, 0x97, 0x1a, 0xb1, 0x5d, 0xe7, 0x56, 0x0b, 0xab, 0x0e, 0xff, 0x6f, 0x24, 0xf7, 0x0f, 0x71, + 0x2e, 0xf7, 0x8b, 0xe0, 0xff, 0xa4, 0xb4, 0x2c, 0xf1, 0x7f, 0x52, 0x0a, 0x04, 0x67, 0x15, 0x3c, + 0x11, 0xb4, 0x4b, 0xb2, 0x10, 0x3e, 0x6e, 0xea, 0xdf, 0x14, 0x40, 0xa4, 0x1d, 0xf0, 0x2e, 0xc6, + 0x5a, 0x24, 0xad, 0xd0, 0x8d, 0x1b, 0x8b, 0x4f, 0x1c, 0x37, 0x56, 0x52, 0xa0, 0xe0, 0x95, 0x81, + 0xfd, 0x33, 0xc8, 0x88, 0xdb, 0x88, 0x4e, 0x75, 0x30, 0xba, 0xf4, 0xfb, 0x02, 0xcc, 0x79, 0xdf, + 0x28, 0x7b, 0xe7, 0xf1, 0x4e, 0x13, 0xfa, 0x2b, 0xd1, 0x7f, 0x3d, 0x22, 0x40, 0x98, 0x1e, 0x96, + 0x9d, 0xa8, 0x05, 0x21, 0x1e, 0x00, 0x01, 0x1c, 0x60, 0x6b, 0x8d, 0x3a, 0xfd, 0x3f, 0x24, 0xf6, + 0x6c, 0x97, 0xee, 0x06, 0x34, 0x40, 0x1b, 0x2b, 0xa9, 0xe6, 0x44, 0xad, 0xda, 0xad, 0x26, 0xcd, + 0x5c, 0xfa, 0xa1, 0x10, 0x14, 0xf4, 0x84, 0x38, 0x56, 0x77, 0x20, 0xf1, 0x44, 0x69, 0x8d, 0x8a, + 0xff, 0xe8, 0x51, 0xbd, 0x44, 0x72, 0xa3, 0xbb, 0x3d, 0xc7, 0x18, 0xe3, 0xc3, 0x9d, 0x80, 0x41, + 0x95, 0x06, 0x8f, 0x3b, 0xa2, 0x4f, 0xbb, 0xb5, 0x48, 0x8c, 0xff, 0x7c, 0xb0, 0x93, 0xbe, 0x9e, + 0xfc, 0xe0, 0xfd, 0x45, 0xe1, 0x46, 0x1d, 0xe6, 0x42, 0xa6, 0x2f, 0x54, 0x00, 0x08, 0x5c, 0xcc, + 0xcc, 0xff, 0x74, 0x69, 0x65, 0x4d, 0xde, 0xd9, 0x2c, 0x6f, 0x6d, 0x6c, 0xd4, 0x1a, 0x8d, 0xca, + 0x9a, 0x28, 0x20, 0x11, 0x72, 0x3d, 0xd7, 0x3a, 0xf3, 0xff, 0x5a, 0xba, 0xf1, 0x29, 0x00, 0xff, + 0x42, 0x76, 0x22, 0x6b, 0xbd, 0xf2, 0x48, 0x7e, 0xb8, 0xf2, 0x60, 0xa7, 0x52, 0x17, 0x63, 0x08, + 0x41, 0x61, 0x75, 0xa5, 0x51, 0xae, 0xca, 0x52, 0xa5, 0xbe, 0xbd, 0xb5, 0x59, 0xaf, 0x88, 0x02, + 0xe7, 0x5b, 0x83, 0x5c, 0xf0, 0xc0, 0x27, 0x9a, 0x83, 0x99, 0x72, 0xb5, 0x52, 0x5e, 0x97, 0x1f, + 0xd6, 0x56, 0xe4, 0xb7, 0x76, 0x2a, 0x3b, 0x15, 0x31, 0x46, 0x8b, 0x46, 0x89, 0x77, 0x77, 0x1e, + 0x3c, 0x10, 0x05, 0x34, 0x03, 0x59, 0xf6, 0x4e, 0xaf, 0x80, 0x16, 0xe3, 0x37, 0x36, 0x20, 0x1b, + 0xb8, 0x55, 0x89, 0x7c, 0x6e, 0x7b, 0xa7, 0x5e, 0x95, 0x1b, 0xb5, 0x8d, 0x4a, 0xbd, 0xb1, 0xb2, + 0xb1, 0xcd, 0x64, 0x50, 0xda, 0xca, 0xea, 0x96, 0xd4, 0x10, 0x05, 0xef, 0xbd, 0xb1, 0xb5, 0x53, + 0xae, 0x7a, 0x7f, 0x19, 0x95, 0x4c, 0x27, 0xc4, 0xc4, 0x0d, 0x13, 0xce, 0x86, 0x9e, 0xa0, 0x44, + 0x59, 0x98, 0xde, 0x31, 0xe8, 0xfd, 0x30, 0x62, 0x0c, 0xe5, 0x03, 0x87, 0x28, 0x45, 0x01, 0xa5, + 0xd9, 0x51, 0x39, 0x31, 0x8e, 0x52, 0x10, 0xaf, 0xdf, 0x11, 0x13, 0xa4, 0x98, 0x81, 0x93, 0x88, + 0x62, 0x12, 0x65, 0xf8, 0x01, 0x2e, 0x71, 0x0a, 0xe5, 0xfc, 0x13, 0x54, 0x62, 0xea, 0xc6, 0x45, + 0x08, 0x1c, 0x30, 0x41, 0x00, 0xa9, 0x07, 0x8a, 0x83, 0x6d, 0x47, 0x8c, 0xa1, 0x69, 0x48, 0xac, + 0xb4, 0x5a, 0xa2, 0x70, 0xfb, 0xcf, 0x05, 0x48, 0xbb, 0xb7, 0xff, 0xa2, 0x07, 0x30, 0xc5, 0xb0, + 0xf1, 0xe2, 0xf0, 0x29, 0x83, 0x8e, 0x3a, 0xf3, 0x4b, 0xe3, 0xe6, 0x94, 0x52, 0x0c, 0xbd, 0xcd, + 0xff, 0xfd, 0x8d, 0xb4, 0x17, 0x74, 0x69, 0x54, 0x6b, 0x72, 0xa5, 0x8e, 0x6e, 0x72, 0xa4, 0x87, + 0x94, 0x62, 0x9f, 0x10, 0x56, 0x5f, 0xfc, 0xe0, 0x67, 0x0b, 0xb1, 0x0f, 0x9e, 0x2d, 0x08, 0x3f, + 0x7a, 0xb6, 0x20, 0xfc, 0xf4, 0xd9, 0x82, 0xf0, 0x4f, 0xcf, 0x16, 0x84, 0xdf, 0xfe, 0xf9, 0x42, + 0xec, 0x47, 0x3f, 0x5f, 0x88, 0xfd, 0xf4, 0xe7, 0x0b, 0xb1, 0x77, 0xa6, 0x39, 0xf7, 0x6e, 0x8a, + 0xfe, 0x11, 0xdd, 0x9d, 0xff, 0x0a, 0x00, 0x00, 0xff, 0xff, 0x9e, 0xe8, 0xac, 0x65, 0x8d, 0x6f, + 0x00, 0x00, } diff --git a/pkg/roachpb/api.proto b/pkg/roachpb/api.proto index 0705ed5ca888..3417e612c764 100644 --- a/pkg/roachpb/api.proto +++ b/pkg/roachpb/api.proto @@ -747,6 +747,13 @@ message AdminTransferLeaseResponse { ResponseHeader header = 1 [(gogoproto.nullable) = false, (gogoproto.embed) = true]; } +message ReplicationChange { + option (gogoproto.equal) = true; + + ReplicaChangeType change_type = 1; + ReplicationTarget target = 2 [(gogoproto.nullable) = false]; +} + // An AdminChangeReplicasRequest is the argument to the AdminChangeReplicas() // method. A change replicas operation allows adding or removing a set of // replicas for a range. @@ -754,8 +761,14 @@ message AdminChangeReplicasRequest { option (gogoproto.equal) = true; RequestHeader header = 1 [(gogoproto.nullable) = false, (gogoproto.embed) = true]; - ReplicaChangeType change_type = 2; - repeated ReplicationTarget targets = 3 [(gogoproto.nullable) = false]; + // Never access directly: use .Changes() + // + // TODO(tbg): remove in 20.1 + ReplicaChangeType deprecated_change_type = 2; + // Never access directly: use .Changes() + // + // TODO(tbg): remove in 20.1 + repeated ReplicationTarget deprecated_targets = 3 [(gogoproto.nullable) = false]; // ExpDesc is the expected current range descriptor to modify. If the range // descriptor is not identical to ExpDesc for the request will fail. // @@ -766,6 +779,11 @@ message AdminChangeReplicasRequest { // it is possible that an error will occur after partial application of the // change. Changes are applied in the order they appear in the request. RangeDescriptor exp_desc = 4 [(gogoproto.nullable) = false]; + + // The changes to apply to exp_desc. Never access directly: use .Changes(). + // + // TODO(tbg): rename to 'changes' in 20.1 and remove Changes(). + repeated ReplicationChange internal_changes = 5 [(gogoproto.nullable) = false]; } message AdminChangeReplicasResponse { diff --git a/pkg/storage/client_atomic_membership_change_test.go b/pkg/storage/client_atomic_membership_change_test.go new file mode 100644 index 000000000000..56929e94a760 --- /dev/null +++ b/pkg/storage/client_atomic_membership_change_test.go @@ -0,0 +1,59 @@ +// Copyright 2019 The Cockroach Authors. +// +// Use of this software is governed by the Business Source License +// included in the file licenses/BSL.txt. +// +// As of the Change Date specified in that file, in accordance with +// the Business Source License, use of this software will be governed +// by the Apache License, Version 2.0, included in the file +// licenses/APL.txt. + +package storage_test + +import ( + "context" + "testing" + + "github.com/cockroachdb/cockroach/pkg/base" + "github.com/cockroachdb/cockroach/pkg/roachpb" + "github.com/cockroachdb/cockroach/pkg/testutils/testcluster" + "github.com/cockroachdb/cockroach/pkg/util/leaktest" + "github.com/stretchr/testify/require" +) + +func TestAtomicMembershipChange(t *testing.T) { + defer leaktest.AfterTest(t)() + + // This is a simple smoke test to spot obvious issues with atomic replica changes. + // These aren't implemented at the time of writing. The compound change below is + // internally unwound and executed step by step (see executeAdminBatch()). + ctx := context.Background() + + args := base.TestClusterArgs{ + ReplicationMode: base.ReplicationManual, + } + tc := testcluster.StartTestCluster(t, 4, args) + defer tc.Stopper().Stop(ctx) + + k := tc.ScratchRange(t) + expDesc, err := tc.AddReplicas(k, tc.Target(1), tc.Target(2)) + require.NoError(t, err) + + // Range is now on s1,s2,s3. "Atomically" add it to s4 while removing from s3. + // This isn't really atomic yet. + + chgs := []roachpb.ReplicationChange{ + {ChangeType: roachpb.ADD_REPLICA, Target: tc.Target(3)}, + {ChangeType: roachpb.REMOVE_REPLICA, Target: tc.Target(2)}, + } + // TODO(tbg); refactor the tc API so we can use it directly. + desc, err := tc.Servers[0].DB().AdminChangeReplicas(ctx, k, expDesc, chgs) + require.NoError(t, err) + var stores []roachpb.StoreID + for _, rDesc := range desc.Replicas().All() { + stores = append(stores, rDesc.StoreID) + } + exp := []roachpb.StoreID{1, 2, 4} + // TODO(tbg): test more details and scenarios (learners etc). + require.Equal(t, exp, stores) +} diff --git a/pkg/storage/client_merge_test.go b/pkg/storage/client_merge_test.go index 98ddd75e011e..292ae54999f8 100644 --- a/pkg/storage/client_merge_test.go +++ b/pkg/storage/client_merge_test.go @@ -2489,12 +2489,14 @@ func TestStoreRangeReadoptedLHSFollower(t *testing.T) { // immediately because there are no overlapping replicas that would interfere // with the widening of the existing LHS replica. if _, err := mtc.dbs[0].AdminChangeReplicas( - ctx, lhsDesc.StartKey.AsRawKey(), roachpb.ADD_REPLICA, - []roachpb.ReplicationTarget{{ - NodeID: mtc.idents[2].NodeID, - StoreID: mtc.idents[2].StoreID, - }}, + ctx, lhsDesc.StartKey.AsRawKey(), *lhsDesc, + roachpb.MakeReplicationChanges( + roachpb.ADD_REPLICA, + []roachpb.ReplicationTarget{{ + NodeID: mtc.idents[2].NodeID, + StoreID: mtc.idents[2].StoreID, + }}), ); !testutils.IsError(err, "cannot apply snapshot: snapshot intersects existing range") { t.Fatal(err) } diff --git a/pkg/storage/client_replica_test.go b/pkg/storage/client_replica_test.go index 06b13e60a080..4cc12187c579 100644 --- a/pkg/storage/client_replica_test.go +++ b/pkg/storage/client_replica_test.go @@ -2038,12 +2038,12 @@ func TestConcurrentAdminChangeReplicasRequests(t *testing.T) { wg.Add(2) go func() { res1, err1 = db.AdminChangeReplicas( - ctx, key, roachpb.ADD_REPLICA, targets1, expects1) + ctx, key, expects1, roachpb.MakeReplicationChanges(roachpb.ADD_REPLICA, targets1)) wg.Done() }() go func() { res2, err2 = db.AdminChangeReplicas( - ctx, key, roachpb.ADD_REPLICA, targets2, expects2) + ctx, key, expects2, roachpb.MakeReplicationChanges(roachpb.ADD_REPLICA, targets2)) wg.Done() }() wg.Wait() @@ -2118,7 +2118,8 @@ func TestRandomConcurrentAdminChangeReplicasRequests(t *testing.T) { require.Nil(t, err) addReplicas := func() error { _, err := db.AdminChangeReplicas( - ctx, key, roachpb.ADD_REPLICA, pickTargets(), rangeInfo.Desc) + ctx, key, rangeInfo.Desc, roachpb.MakeReplicationChanges( + roachpb.ADD_REPLICA, pickTargets())) return err } wg.Add(actors) @@ -2160,7 +2161,7 @@ func TestAdminRelocateRangeSafety(t *testing.T) { responseFilter := func(ba roachpb.BatchRequest, _ *roachpb.BatchResponse) *roachpb.Error { if ba.IsSingleRequest() { changeReplicas, ok := ba.Requests[0].GetInner().(*roachpb.AdminChangeReplicasRequest) - if ok && changeReplicas.ChangeType == roachpb.ADD_REPLICA && useSeenAdd.Load().(bool) { + if ok && changeReplicas.Changes()[0].ChangeType == roachpb.ADD_REPLICA && useSeenAdd.Load().(bool) { seenAdd <- struct{}{} } } diff --git a/pkg/storage/client_test.go b/pkg/storage/client_test.go index ca6508aa1ddb..4a0c63ca255f 100644 --- a/pkg/storage/client_test.go +++ b/pkg/storage/client_test.go @@ -1132,12 +1132,14 @@ func (m *multiTestContext) changeReplicas( } _, err := m.dbs[0].AdminChangeReplicas( - ctx, startKey.AsRawKey(), changeType, - []roachpb.ReplicationTarget{{ - NodeID: m.idents[dest].NodeID, - StoreID: m.idents[dest].StoreID, - }}, + ctx, startKey.AsRawKey(), desc, + roachpb.MakeReplicationChanges( + changeType, + []roachpb.ReplicationTarget{{ + NodeID: m.idents[dest].NodeID, + StoreID: m.idents[dest].StoreID, + }}), ) if err == nil || testutils.IsError(err, alreadyDoneErr) { diff --git a/pkg/storage/replica.go b/pkg/storage/replica.go index 499b6afcdaf4..425b28269142 100644 --- a/pkg/storage/replica.go +++ b/pkg/storage/replica.go @@ -1316,11 +1316,11 @@ func (r *Replica) executeAdminBatch( case *roachpb.AdminChangeReplicasRequest: var err error expDesc := &tArgs.ExpDesc - for _, target := range tArgs.Targets { + for _, chg := range tArgs.Changes() { // Update expDesc to the outcome of the previous run to enable detection // of concurrent updates while applying a series of changes. expDesc, err = r.ChangeReplicas( - ctx, tArgs.ChangeType, target, expDesc, storagepb.ReasonAdminRequest, "") + ctx, chg.ChangeType, chg.Target, expDesc, storagepb.ReasonAdminRequest, "") if err != nil { break } diff --git a/pkg/storage/replica_command.go b/pkg/storage/replica_command.go index 5fe3ae59959a..070b2777ddfe 100644 --- a/pkg/storage/replica_command.go +++ b/pkg/storage/replica_command.go @@ -1748,8 +1748,10 @@ func (s *Store) AdminRelocateRange( NodeID: targetStore.Node.NodeID, StoreID: targetStore.StoreID, } - newDesc, err := s.DB().AdminChangeReplicas(ctx, startKey, roachpb.ADD_REPLICA, - []roachpb.ReplicationTarget{target}, rangeDesc) + newDesc, err := s.DB().AdminChangeReplicas( + ctx, startKey, rangeDesc, + roachpb.MakeReplicationChanges( + roachpb.ADD_REPLICA, []roachpb.ReplicationTarget{target})) if err != nil { returnErr := errors.Wrapf(err, "while adding target %v", target) if !canRetry(err) { @@ -1790,8 +1792,11 @@ func (s *Store) AdminRelocateRange( // the lease first in such scenarios. The first specified target should be // the leaseholder now, so we can always transfer the lease there. transferLease() - newDesc, err := s.DB().AdminChangeReplicas(ctx, startKey, roachpb.REMOVE_REPLICA, - []roachpb.ReplicationTarget{target}, rangeDesc) + newDesc, err := s.DB().AdminChangeReplicas(ctx, startKey, rangeDesc, + roachpb.MakeReplicationChanges( + roachpb.REMOVE_REPLICA, + []roachpb.ReplicationTarget{target}), + ) if err != nil { log.Warningf(ctx, "while removing target %v: %+v", target, err) if !canRetry(err) { @@ -1851,7 +1856,8 @@ func removeLearners( targets[i].StoreID = learners[i].StoreID } log.VEventf(ctx, 2, `removing learner replicas %v from %v`, targets, desc) - newDesc, err := db.AdminChangeReplicas(ctx, desc.StartKey, roachpb.REMOVE_REPLICA, targets, *desc) + newDesc, err := db.AdminChangeReplicas(ctx, desc.StartKey, *desc, + roachpb.MakeReplicationChanges(roachpb.REMOVE_REPLICA, targets)) if err != nil { return nil, errors.Wrapf(err, `removing learners from %s`, desc) } diff --git a/pkg/testutils/testcluster/testcluster.go b/pkg/testutils/testcluster/testcluster.go index e8636ea023f4..503794bd77db 100644 --- a/pkg/testutils/testcluster/testcluster.go +++ b/pkg/testutils/testcluster/testcluster.go @@ -389,7 +389,7 @@ func (tc *TestCluster) changeReplicas( return roachpb.RangeDescriptor{}, errors.Wrap(err, "range descriptor lookup error") } desc, err := tc.Servers[0].DB().AdminChangeReplicas( - ctx, startKey.AsRawKey(), changeType, targets, beforeDesc, + ctx, startKey.AsRawKey(), beforeDesc, roachpb.MakeReplicationChanges(changeType, targets), ) if err != nil { return roachpb.RangeDescriptor{}, errors.Wrap(err, "AdminChangeReplicas error")