From c53a1019ecfd2d66468e48b21ea7b3af3cef8831 Mon Sep 17 00:00:00 2001 From: Alexandr Romanenya Date: Tue, 17 Jun 2025 19:57:12 +0300 Subject: [PATCH 01/13] =?UTF-8?q?feat:=20Integrate=20=E2=80=9Cx/liquidstak?= =?UTF-8?q?e=E2=80=9D=20module?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/cosmos/staking/v1beta1/tx.pulsar.go | 2481 ++++++++++++++++++++++- proto/cosmos/staking/v1beta1/tx.proto | 42 + types/math.go | 65 + x/staking/types/tx.pb.go | 1035 +++++++++- 4 files changed, 3439 insertions(+), 184 deletions(-) diff --git a/api/cosmos/staking/v1beta1/tx.pulsar.go b/api/cosmos/staking/v1beta1/tx.pulsar.go index 36214b35c38e..1fff0f692b8e 100644 --- a/api/cosmos/staking/v1beta1/tx.pulsar.go +++ b/api/cosmos/staking/v1beta1/tx.pulsar.go @@ -7102,6 +7102,2002 @@ func (x *fastReflection_MsgUpdateParamsResponse) ProtoMethods() *protoiface.Meth } } +var ( + md_MsgTokenizeShares protoreflect.MessageDescriptor + fd_MsgTokenizeShares_delegator_address protoreflect.FieldDescriptor + fd_MsgTokenizeShares_validator_address protoreflect.FieldDescriptor + fd_MsgTokenizeShares_amount protoreflect.FieldDescriptor + fd_MsgTokenizeShares_tokenized_share_owner protoreflect.FieldDescriptor +) + +func init() { + file_cosmos_staking_v1beta1_tx_proto_init() + md_MsgTokenizeShares = File_cosmos_staking_v1beta1_tx_proto.Messages().ByName("MsgTokenizeShares") + fd_MsgTokenizeShares_delegator_address = md_MsgTokenizeShares.Fields().ByName("delegator_address") + fd_MsgTokenizeShares_validator_address = md_MsgTokenizeShares.Fields().ByName("validator_address") + fd_MsgTokenizeShares_amount = md_MsgTokenizeShares.Fields().ByName("amount") + fd_MsgTokenizeShares_tokenized_share_owner = md_MsgTokenizeShares.Fields().ByName("tokenized_share_owner") +} + +var _ protoreflect.Message = (*fastReflection_MsgTokenizeShares)(nil) + +type fastReflection_MsgTokenizeShares MsgTokenizeShares + +func (x *MsgTokenizeShares) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgTokenizeShares)(x) +} + +func (x *MsgTokenizeShares) slowProtoReflect() protoreflect.Message { + mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgTokenizeShares_messageType fastReflection_MsgTokenizeShares_messageType +var _ protoreflect.MessageType = fastReflection_MsgTokenizeShares_messageType{} + +type fastReflection_MsgTokenizeShares_messageType struct{} + +func (x fastReflection_MsgTokenizeShares_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgTokenizeShares)(nil) +} +func (x fastReflection_MsgTokenizeShares_messageType) New() protoreflect.Message { + return new(fastReflection_MsgTokenizeShares) +} +func (x fastReflection_MsgTokenizeShares_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgTokenizeShares +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgTokenizeShares) Descriptor() protoreflect.MessageDescriptor { + return md_MsgTokenizeShares +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgTokenizeShares) Type() protoreflect.MessageType { + return _fastReflection_MsgTokenizeShares_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgTokenizeShares) New() protoreflect.Message { + return new(fastReflection_MsgTokenizeShares) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgTokenizeShares) Interface() protoreflect.ProtoMessage { + return (*MsgTokenizeShares)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgTokenizeShares) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.DelegatorAddress != "" { + value := protoreflect.ValueOfString(x.DelegatorAddress) + if !f(fd_MsgTokenizeShares_delegator_address, value) { + return + } + } + if x.ValidatorAddress != "" { + value := protoreflect.ValueOfString(x.ValidatorAddress) + if !f(fd_MsgTokenizeShares_validator_address, value) { + return + } + } + if x.Amount != nil { + value := protoreflect.ValueOfMessage(x.Amount.ProtoReflect()) + if !f(fd_MsgTokenizeShares_amount, value) { + return + } + } + if x.TokenizedShareOwner != "" { + value := protoreflect.ValueOfString(x.TokenizedShareOwner) + if !f(fd_MsgTokenizeShares_tokenized_share_owner, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgTokenizeShares) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgTokenizeShares.delegator_address": + return x.DelegatorAddress != "" + case "cosmos.staking.v1beta1.MsgTokenizeShares.validator_address": + return x.ValidatorAddress != "" + case "cosmos.staking.v1beta1.MsgTokenizeShares.amount": + return x.Amount != nil + case "cosmos.staking.v1beta1.MsgTokenizeShares.tokenized_share_owner": + return x.TokenizedShareOwner != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgTokenizeShares")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgTokenizeShares does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgTokenizeShares) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgTokenizeShares.delegator_address": + x.DelegatorAddress = "" + case "cosmos.staking.v1beta1.MsgTokenizeShares.validator_address": + x.ValidatorAddress = "" + case "cosmos.staking.v1beta1.MsgTokenizeShares.amount": + x.Amount = nil + case "cosmos.staking.v1beta1.MsgTokenizeShares.tokenized_share_owner": + x.TokenizedShareOwner = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgTokenizeShares")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgTokenizeShares does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgTokenizeShares) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cosmos.staking.v1beta1.MsgTokenizeShares.delegator_address": + value := x.DelegatorAddress + return protoreflect.ValueOfString(value) + case "cosmos.staking.v1beta1.MsgTokenizeShares.validator_address": + value := x.ValidatorAddress + return protoreflect.ValueOfString(value) + case "cosmos.staking.v1beta1.MsgTokenizeShares.amount": + value := x.Amount + return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "cosmos.staking.v1beta1.MsgTokenizeShares.tokenized_share_owner": + value := x.TokenizedShareOwner + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgTokenizeShares")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgTokenizeShares does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgTokenizeShares) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgTokenizeShares.delegator_address": + x.DelegatorAddress = value.Interface().(string) + case "cosmos.staking.v1beta1.MsgTokenizeShares.validator_address": + x.ValidatorAddress = value.Interface().(string) + case "cosmos.staking.v1beta1.MsgTokenizeShares.amount": + x.Amount = value.Message().Interface().(*v1beta1.Coin) + case "cosmos.staking.v1beta1.MsgTokenizeShares.tokenized_share_owner": + x.TokenizedShareOwner = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgTokenizeShares")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgTokenizeShares does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgTokenizeShares) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgTokenizeShares.amount": + if x.Amount == nil { + x.Amount = new(v1beta1.Coin) + } + return protoreflect.ValueOfMessage(x.Amount.ProtoReflect()) + case "cosmos.staking.v1beta1.MsgTokenizeShares.delegator_address": + panic(fmt.Errorf("field delegator_address of message cosmos.staking.v1beta1.MsgTokenizeShares is not mutable")) + case "cosmos.staking.v1beta1.MsgTokenizeShares.validator_address": + panic(fmt.Errorf("field validator_address of message cosmos.staking.v1beta1.MsgTokenizeShares is not mutable")) + case "cosmos.staking.v1beta1.MsgTokenizeShares.tokenized_share_owner": + panic(fmt.Errorf("field tokenized_share_owner of message cosmos.staking.v1beta1.MsgTokenizeShares is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgTokenizeShares")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgTokenizeShares does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgTokenizeShares) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgTokenizeShares.delegator_address": + return protoreflect.ValueOfString("") + case "cosmos.staking.v1beta1.MsgTokenizeShares.validator_address": + return protoreflect.ValueOfString("") + case "cosmos.staking.v1beta1.MsgTokenizeShares.amount": + m := new(v1beta1.Coin) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "cosmos.staking.v1beta1.MsgTokenizeShares.tokenized_share_owner": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgTokenizeShares")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgTokenizeShares does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgTokenizeShares) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cosmos.staking.v1beta1.MsgTokenizeShares", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgTokenizeShares) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgTokenizeShares) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgTokenizeShares) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgTokenizeShares) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgTokenizeShares) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.DelegatorAddress) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.ValidatorAddress) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.Amount != nil { + l = options.Size(x.Amount) + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.TokenizedShareOwner) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgTokenizeShares) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.TokenizedShareOwner) > 0 { + i -= len(x.TokenizedShareOwner) + copy(dAtA[i:], x.TokenizedShareOwner) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.TokenizedShareOwner))) + i-- + dAtA[i] = 0x22 + } + if x.Amount != nil { + encoded, err := options.Marshal(x.Amount) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x1a + } + if len(x.ValidatorAddress) > 0 { + i -= len(x.ValidatorAddress) + copy(dAtA[i:], x.ValidatorAddress) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ValidatorAddress))) + i-- + dAtA[i] = 0x12 + } + if len(x.DelegatorAddress) > 0 { + i -= len(x.DelegatorAddress) + copy(dAtA[i:], x.DelegatorAddress) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.DelegatorAddress))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgTokenizeShares) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, 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 protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgTokenizeShares: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgTokenizeShares: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field DelegatorAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.DelegatorAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ValidatorAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.ValidatorAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Amount == nil { + x.Amount = &v1beta1.Coin{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Amount); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field TokenizedShareOwner", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.TokenizedShareOwner = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgTokenizeSharesResponse protoreflect.MessageDescriptor + fd_MsgTokenizeSharesResponse_amount protoreflect.FieldDescriptor +) + +func init() { + file_cosmos_staking_v1beta1_tx_proto_init() + md_MsgTokenizeSharesResponse = File_cosmos_staking_v1beta1_tx_proto.Messages().ByName("MsgTokenizeSharesResponse") + fd_MsgTokenizeSharesResponse_amount = md_MsgTokenizeSharesResponse.Fields().ByName("amount") +} + +var _ protoreflect.Message = (*fastReflection_MsgTokenizeSharesResponse)(nil) + +type fastReflection_MsgTokenizeSharesResponse MsgTokenizeSharesResponse + +func (x *MsgTokenizeSharesResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgTokenizeSharesResponse)(x) +} + +func (x *MsgTokenizeSharesResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgTokenizeSharesResponse_messageType fastReflection_MsgTokenizeSharesResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgTokenizeSharesResponse_messageType{} + +type fastReflection_MsgTokenizeSharesResponse_messageType struct{} + +func (x fastReflection_MsgTokenizeSharesResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgTokenizeSharesResponse)(nil) +} +func (x fastReflection_MsgTokenizeSharesResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgTokenizeSharesResponse) +} +func (x fastReflection_MsgTokenizeSharesResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgTokenizeSharesResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgTokenizeSharesResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgTokenizeSharesResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgTokenizeSharesResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgTokenizeSharesResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgTokenizeSharesResponse) New() protoreflect.Message { + return new(fastReflection_MsgTokenizeSharesResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgTokenizeSharesResponse) Interface() protoreflect.ProtoMessage { + return (*MsgTokenizeSharesResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgTokenizeSharesResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Amount != nil { + value := protoreflect.ValueOfMessage(x.Amount.ProtoReflect()) + if !f(fd_MsgTokenizeSharesResponse_amount, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgTokenizeSharesResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgTokenizeSharesResponse.amount": + return x.Amount != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgTokenizeSharesResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgTokenizeSharesResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgTokenizeSharesResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgTokenizeSharesResponse.amount": + x.Amount = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgTokenizeSharesResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgTokenizeSharesResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgTokenizeSharesResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cosmos.staking.v1beta1.MsgTokenizeSharesResponse.amount": + value := x.Amount + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgTokenizeSharesResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgTokenizeSharesResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgTokenizeSharesResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgTokenizeSharesResponse.amount": + x.Amount = value.Message().Interface().(*v1beta1.Coin) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgTokenizeSharesResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgTokenizeSharesResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgTokenizeSharesResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgTokenizeSharesResponse.amount": + if x.Amount == nil { + x.Amount = new(v1beta1.Coin) + } + return protoreflect.ValueOfMessage(x.Amount.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgTokenizeSharesResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgTokenizeSharesResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgTokenizeSharesResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgTokenizeSharesResponse.amount": + m := new(v1beta1.Coin) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgTokenizeSharesResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgTokenizeSharesResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgTokenizeSharesResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cosmos.staking.v1beta1.MsgTokenizeSharesResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgTokenizeSharesResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgTokenizeSharesResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgTokenizeSharesResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgTokenizeSharesResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgTokenizeSharesResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.Amount != nil { + l = options.Size(x.Amount) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgTokenizeSharesResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Amount != nil { + encoded, err := options.Marshal(x.Amount) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgTokenizeSharesResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, 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 protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgTokenizeSharesResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgTokenizeSharesResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Amount == nil { + x.Amount = &v1beta1.Coin{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Amount); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgRedeemTokensForShares protoreflect.MessageDescriptor + fd_MsgRedeemTokensForShares_delegator_address protoreflect.FieldDescriptor + fd_MsgRedeemTokensForShares_amount protoreflect.FieldDescriptor +) + +func init() { + file_cosmos_staking_v1beta1_tx_proto_init() + md_MsgRedeemTokensForShares = File_cosmos_staking_v1beta1_tx_proto.Messages().ByName("MsgRedeemTokensForShares") + fd_MsgRedeemTokensForShares_delegator_address = md_MsgRedeemTokensForShares.Fields().ByName("delegator_address") + fd_MsgRedeemTokensForShares_amount = md_MsgRedeemTokensForShares.Fields().ByName("amount") +} + +var _ protoreflect.Message = (*fastReflection_MsgRedeemTokensForShares)(nil) + +type fastReflection_MsgRedeemTokensForShares MsgRedeemTokensForShares + +func (x *MsgRedeemTokensForShares) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgRedeemTokensForShares)(x) +} + +func (x *MsgRedeemTokensForShares) slowProtoReflect() protoreflect.Message { + mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgRedeemTokensForShares_messageType fastReflection_MsgRedeemTokensForShares_messageType +var _ protoreflect.MessageType = fastReflection_MsgRedeemTokensForShares_messageType{} + +type fastReflection_MsgRedeemTokensForShares_messageType struct{} + +func (x fastReflection_MsgRedeemTokensForShares_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgRedeemTokensForShares)(nil) +} +func (x fastReflection_MsgRedeemTokensForShares_messageType) New() protoreflect.Message { + return new(fastReflection_MsgRedeemTokensForShares) +} +func (x fastReflection_MsgRedeemTokensForShares_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgRedeemTokensForShares +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgRedeemTokensForShares) Descriptor() protoreflect.MessageDescriptor { + return md_MsgRedeemTokensForShares +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgRedeemTokensForShares) Type() protoreflect.MessageType { + return _fastReflection_MsgRedeemTokensForShares_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgRedeemTokensForShares) New() protoreflect.Message { + return new(fastReflection_MsgRedeemTokensForShares) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgRedeemTokensForShares) Interface() protoreflect.ProtoMessage { + return (*MsgRedeemTokensForShares)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgRedeemTokensForShares) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.DelegatorAddress != "" { + value := protoreflect.ValueOfString(x.DelegatorAddress) + if !f(fd_MsgRedeemTokensForShares_delegator_address, value) { + return + } + } + if x.Amount != nil { + value := protoreflect.ValueOfMessage(x.Amount.ProtoReflect()) + if !f(fd_MsgRedeemTokensForShares_amount, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgRedeemTokensForShares) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgRedeemTokensForShares.delegator_address": + return x.DelegatorAddress != "" + case "cosmos.staking.v1beta1.MsgRedeemTokensForShares.amount": + return x.Amount != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgRedeemTokensForShares")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgRedeemTokensForShares does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgRedeemTokensForShares) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgRedeemTokensForShares.delegator_address": + x.DelegatorAddress = "" + case "cosmos.staking.v1beta1.MsgRedeemTokensForShares.amount": + x.Amount = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgRedeemTokensForShares")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgRedeemTokensForShares does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgRedeemTokensForShares) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cosmos.staking.v1beta1.MsgRedeemTokensForShares.delegator_address": + value := x.DelegatorAddress + return protoreflect.ValueOfString(value) + case "cosmos.staking.v1beta1.MsgRedeemTokensForShares.amount": + value := x.Amount + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgRedeemTokensForShares")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgRedeemTokensForShares does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgRedeemTokensForShares) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgRedeemTokensForShares.delegator_address": + x.DelegatorAddress = value.Interface().(string) + case "cosmos.staking.v1beta1.MsgRedeemTokensForShares.amount": + x.Amount = value.Message().Interface().(*v1beta1.Coin) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgRedeemTokensForShares")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgRedeemTokensForShares does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgRedeemTokensForShares) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgRedeemTokensForShares.amount": + if x.Amount == nil { + x.Amount = new(v1beta1.Coin) + } + return protoreflect.ValueOfMessage(x.Amount.ProtoReflect()) + case "cosmos.staking.v1beta1.MsgRedeemTokensForShares.delegator_address": + panic(fmt.Errorf("field delegator_address of message cosmos.staking.v1beta1.MsgRedeemTokensForShares is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgRedeemTokensForShares")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgRedeemTokensForShares does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgRedeemTokensForShares) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgRedeemTokensForShares.delegator_address": + return protoreflect.ValueOfString("") + case "cosmos.staking.v1beta1.MsgRedeemTokensForShares.amount": + m := new(v1beta1.Coin) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgRedeemTokensForShares")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgRedeemTokensForShares does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgRedeemTokensForShares) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cosmos.staking.v1beta1.MsgRedeemTokensForShares", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgRedeemTokensForShares) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgRedeemTokensForShares) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgRedeemTokensForShares) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgRedeemTokensForShares) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgRedeemTokensForShares) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.DelegatorAddress) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.Amount != nil { + l = options.Size(x.Amount) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgRedeemTokensForShares) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Amount != nil { + encoded, err := options.Marshal(x.Amount) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x12 + } + if len(x.DelegatorAddress) > 0 { + i -= len(x.DelegatorAddress) + copy(dAtA[i:], x.DelegatorAddress) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.DelegatorAddress))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgRedeemTokensForShares) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, 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 protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRedeemTokensForShares: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRedeemTokensForShares: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field DelegatorAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.DelegatorAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Amount == nil { + x.Amount = &v1beta1.Coin{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Amount); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgRedeemTokensForSharesResponse protoreflect.MessageDescriptor + fd_MsgRedeemTokensForSharesResponse_amount protoreflect.FieldDescriptor +) + +func init() { + file_cosmos_staking_v1beta1_tx_proto_init() + md_MsgRedeemTokensForSharesResponse = File_cosmos_staking_v1beta1_tx_proto.Messages().ByName("MsgRedeemTokensForSharesResponse") + fd_MsgRedeemTokensForSharesResponse_amount = md_MsgRedeemTokensForSharesResponse.Fields().ByName("amount") +} + +var _ protoreflect.Message = (*fastReflection_MsgRedeemTokensForSharesResponse)(nil) + +type fastReflection_MsgRedeemTokensForSharesResponse MsgRedeemTokensForSharesResponse + +func (x *MsgRedeemTokensForSharesResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgRedeemTokensForSharesResponse)(x) +} + +func (x *MsgRedeemTokensForSharesResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgRedeemTokensForSharesResponse_messageType fastReflection_MsgRedeemTokensForSharesResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgRedeemTokensForSharesResponse_messageType{} + +type fastReflection_MsgRedeemTokensForSharesResponse_messageType struct{} + +func (x fastReflection_MsgRedeemTokensForSharesResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgRedeemTokensForSharesResponse)(nil) +} +func (x fastReflection_MsgRedeemTokensForSharesResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgRedeemTokensForSharesResponse) +} +func (x fastReflection_MsgRedeemTokensForSharesResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgRedeemTokensForSharesResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgRedeemTokensForSharesResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgRedeemTokensForSharesResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgRedeemTokensForSharesResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgRedeemTokensForSharesResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgRedeemTokensForSharesResponse) New() protoreflect.Message { + return new(fastReflection_MsgRedeemTokensForSharesResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgRedeemTokensForSharesResponse) Interface() protoreflect.ProtoMessage { + return (*MsgRedeemTokensForSharesResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgRedeemTokensForSharesResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Amount != nil { + value := protoreflect.ValueOfMessage(x.Amount.ProtoReflect()) + if !f(fd_MsgRedeemTokensForSharesResponse_amount, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgRedeemTokensForSharesResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse.amount": + return x.Amount != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgRedeemTokensForSharesResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse.amount": + x.Amount = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgRedeemTokensForSharesResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse.amount": + value := x.Amount + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgRedeemTokensForSharesResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse.amount": + x.Amount = value.Message().Interface().(*v1beta1.Coin) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgRedeemTokensForSharesResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse.amount": + if x.Amount == nil { + x.Amount = new(v1beta1.Coin) + } + return protoreflect.ValueOfMessage(x.Amount.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgRedeemTokensForSharesResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse.amount": + m := new(v1beta1.Coin) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgRedeemTokensForSharesResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgRedeemTokensForSharesResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgRedeemTokensForSharesResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgRedeemTokensForSharesResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgRedeemTokensForSharesResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgRedeemTokensForSharesResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.Amount != nil { + l = options.Size(x.Amount) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgRedeemTokensForSharesResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Amount != nil { + encoded, err := options.Marshal(x.Amount) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgRedeemTokensForSharesResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, 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 protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRedeemTokensForSharesResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRedeemTokensForSharesResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Amount == nil { + x.Amount = &v1beta1.Coin{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Amount); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.27.0 @@ -7773,6 +9769,190 @@ func (*MsgUpdateParamsResponse) Descriptor() ([]byte, []int) { return file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP(), []int{13} } +// MsgTokenizeShares tokenizes a delegation. +// +// Since: cosmos-sdk 0.47-lsm +type MsgTokenizeShares struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DelegatorAddress string `protobuf:"bytes,1,opt,name=delegator_address,json=delegatorAddress,proto3" json:"delegator_address,omitempty"` + ValidatorAddress string `protobuf:"bytes,2,opt,name=validator_address,json=validatorAddress,proto3" json:"validator_address,omitempty"` + Amount *v1beta1.Coin `protobuf:"bytes,3,opt,name=amount,proto3" json:"amount,omitempty"` + TokenizedShareOwner string `protobuf:"bytes,4,opt,name=tokenized_share_owner,json=tokenizedShareOwner,proto3" json:"tokenized_share_owner,omitempty"` +} + +func (x *MsgTokenizeShares) Reset() { + *x = MsgTokenizeShares{} + if protoimpl.UnsafeEnabled { + mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgTokenizeShares) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgTokenizeShares) ProtoMessage() {} + +// Deprecated: Use MsgTokenizeShares.ProtoReflect.Descriptor instead. +func (*MsgTokenizeShares) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP(), []int{14} +} + +func (x *MsgTokenizeShares) GetDelegatorAddress() string { + if x != nil { + return x.DelegatorAddress + } + return "" +} + +func (x *MsgTokenizeShares) GetValidatorAddress() string { + if x != nil { + return x.ValidatorAddress + } + return "" +} + +func (x *MsgTokenizeShares) GetAmount() *v1beta1.Coin { + if x != nil { + return x.Amount + } + return nil +} + +func (x *MsgTokenizeShares) GetTokenizedShareOwner() string { + if x != nil { + return x.TokenizedShareOwner + } + return "" +} + +// MsgTokenizeSharesResponse defines the MsgTokenizeShares response type. +// +// Since: cosmos-sdk 0.47-lsm +type MsgTokenizeSharesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Amount *v1beta1.Coin `protobuf:"bytes,1,opt,name=amount,proto3" json:"amount,omitempty"` +} + +func (x *MsgTokenizeSharesResponse) Reset() { + *x = MsgTokenizeSharesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgTokenizeSharesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgTokenizeSharesResponse) ProtoMessage() {} + +// Deprecated: Use MsgTokenizeSharesResponse.ProtoReflect.Descriptor instead. +func (*MsgTokenizeSharesResponse) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP(), []int{15} +} + +func (x *MsgTokenizeSharesResponse) GetAmount() *v1beta1.Coin { + if x != nil { + return x.Amount + } + return nil +} + +// MsgRedeemTokensForShares redeems a tokenized share back into a native delegation. +// +// Since: cosmos-sdk 0.47-lsm +type MsgRedeemTokensForShares struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DelegatorAddress string `protobuf:"bytes,1,opt,name=delegator_address,json=delegatorAddress,proto3" json:"delegator_address,omitempty"` + Amount *v1beta1.Coin `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount,omitempty"` +} + +func (x *MsgRedeemTokensForShares) Reset() { + *x = MsgRedeemTokensForShares{} + if protoimpl.UnsafeEnabled { + mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgRedeemTokensForShares) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgRedeemTokensForShares) ProtoMessage() {} + +// Deprecated: Use MsgRedeemTokensForShares.ProtoReflect.Descriptor instead. +func (*MsgRedeemTokensForShares) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP(), []int{16} +} + +func (x *MsgRedeemTokensForShares) GetDelegatorAddress() string { + if x != nil { + return x.DelegatorAddress + } + return "" +} + +func (x *MsgRedeemTokensForShares) GetAmount() *v1beta1.Coin { + if x != nil { + return x.Amount + } + return nil +} + +// MsgRedeemTokensForSharesResponse defines the MsgRedeemTokensForShares response type. +// +// Since: cosmos-sdk 0.47-lsm +type MsgRedeemTokensForSharesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Amount *v1beta1.Coin `protobuf:"bytes,1,opt,name=amount,proto3" json:"amount,omitempty"` +} + +func (x *MsgRedeemTokensForSharesResponse) Reset() { + *x = MsgRedeemTokensForSharesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgRedeemTokensForSharesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgRedeemTokensForSharesResponse) ProtoMessage() {} + +// Deprecated: Use MsgRedeemTokensForSharesResponse.ProtoReflect.Descriptor instead. +func (*MsgRedeemTokensForSharesResponse) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP(), []int{17} +} + +func (x *MsgRedeemTokensForSharesResponse) GetAmount() *v1beta1.Coin { + if x != nil { + return x.Amount + } + return nil +} + var File_cosmos_staking_v1beta1_tx_proto protoreflect.FileDescriptor var file_cosmos_staking_v1beta1_tx_proto_rawDesc = []byte{ @@ -7983,71 +10163,114 @@ var file_cosmos_staking_v1beta1_tx_proto_rawDesc = []byte{ 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x32, 0x9d, 0x06, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x71, 0x0a, 0x0f, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x2a, - 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x1a, 0x32, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, - 0x0a, 0x0d, 0x45, 0x64, 0x69, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, - 0x28, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x64, 0x69, 0x74, - 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x1a, 0x30, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6e, 0x73, 0x65, 0x22, 0xc8, 0x02, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x12, 0x45, 0x0a, 0x11, 0x64, 0x65, 0x6c, + 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x10, + 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x12, 0x45, 0x0a, 0x11, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, + 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x10, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x37, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, + 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x4c, 0x0a, 0x15, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x73, 0x68, + 0x61, 0x72, 0x65, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x13, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x69, 0x7a, 0x65, 0x64, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x3a, 0x1e, + 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x82, 0xe7, 0xb0, 0x2a, 0x11, 0x64, 0x65, 0x6c, + 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x54, + 0x0a, 0x19, 0x4d, 0x73, 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, + 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x06, 0x61, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x06, 0x61, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xba, 0x01, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x64, 0x65, + 0x65, 0x6d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x46, 0x6f, 0x72, 0x53, 0x68, 0x61, 0x72, 0x65, + 0x73, 0x12, 0x45, 0x0a, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, + 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x10, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, + 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x37, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, + 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x3a, 0x1e, 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x82, 0xe7, 0xb0, 0x2a, 0x11, + 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x22, 0x5b, 0x0a, 0x20, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x73, 0x46, 0x6f, 0x72, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, + 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, + 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x32, 0x9d, + 0x06, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x71, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x64, 0x69, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x08, 0x44, - 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x23, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x1a, 0x2b, 0x2e, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x0f, 0x42, 0x65, 0x67, - 0x69, 0x6e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x2e, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x52, 0x65, - 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x1a, 0x32, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, - 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0a, - 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x25, 0x2e, 0x63, 0x6f, 0x73, + 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x6f, 0x72, 0x1a, 0x32, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, + 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, + 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, + 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0d, 0x45, 0x64, 0x69, + 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x28, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, - 0x65, 0x1a, 0x2d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, - 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x6e, - 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x8f, 0x01, 0x0a, 0x19, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x55, 0x6e, 0x62, 0x6f, 0x6e, - 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, - 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, - 0x6c, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x3c, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, + 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x64, 0x69, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x6f, 0x72, 0x1a, 0x30, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, - 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, - 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x12, 0x27, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, - 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x2f, 0x2e, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, - 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, 0x80, 0xe7, - 0xb0, 0x2a, 0x01, 0x42, 0xd7, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x67, 0x45, 0x64, 0x69, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x08, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, + 0x74, 0x65, 0x12, 0x23, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, + 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x44, + 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x1a, 0x2b, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x0f, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x64, + 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, + 0x61, 0x74, 0x65, 0x1a, 0x32, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, + 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, + 0x42, 0x65, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0a, 0x55, 0x6e, 0x64, 0x65, 0x6c, + 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x25, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, + 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, + 0x73, 0x67, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x1a, 0x2d, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x67, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8f, 0x01, 0x0a, 0x19, + 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, + 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x53, 0x58, 0xaa, 0x02, 0x16, 0x43, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, - 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x22, - 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0xea, 0x02, 0x18, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x53, 0x74, 0x61, - 0x6b, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x55, 0x6e, 0x62, 0x6f, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, + 0x3c, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, + 0x65, 0x6c, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, + 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x27, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x2f, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, + 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, 0xd7, + 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, + 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x07, 0x54, + 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x3b, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0xa2, 0x02, 0x03, 0x43, 0x53, 0x58, 0xaa, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, + 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, + 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, + 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x22, 0x43, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x18, + 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x3a, + 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -8062,7 +10285,7 @@ func file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP() []byte { return file_cosmos_staking_v1beta1_tx_proto_rawDescData } -var file_cosmos_staking_v1beta1_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 14) +var file_cosmos_staking_v1beta1_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 18) var file_cosmos_staking_v1beta1_tx_proto_goTypes = []interface{}{ (*MsgCreateValidator)(nil), // 0: cosmos.staking.v1beta1.MsgCreateValidator (*MsgCreateValidatorResponse)(nil), // 1: cosmos.staking.v1beta1.MsgCreateValidatorResponse @@ -8078,46 +10301,54 @@ var file_cosmos_staking_v1beta1_tx_proto_goTypes = []interface{}{ (*MsgCancelUnbondingDelegationResponse)(nil), // 11: cosmos.staking.v1beta1.MsgCancelUnbondingDelegationResponse (*MsgUpdateParams)(nil), // 12: cosmos.staking.v1beta1.MsgUpdateParams (*MsgUpdateParamsResponse)(nil), // 13: cosmos.staking.v1beta1.MsgUpdateParamsResponse - (*Description)(nil), // 14: cosmos.staking.v1beta1.Description - (*CommissionRates)(nil), // 15: cosmos.staking.v1beta1.CommissionRates - (*anypb.Any)(nil), // 16: google.protobuf.Any - (*v1beta1.Coin)(nil), // 17: cosmos.base.v1beta1.Coin - (*timestamppb.Timestamp)(nil), // 18: google.protobuf.Timestamp - (*Params)(nil), // 19: cosmos.staking.v1beta1.Params + (*MsgTokenizeShares)(nil), // 14: cosmos.staking.v1beta1.MsgTokenizeShares + (*MsgTokenizeSharesResponse)(nil), // 15: cosmos.staking.v1beta1.MsgTokenizeSharesResponse + (*MsgRedeemTokensForShares)(nil), // 16: cosmos.staking.v1beta1.MsgRedeemTokensForShares + (*MsgRedeemTokensForSharesResponse)(nil), // 17: cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse + (*Description)(nil), // 18: cosmos.staking.v1beta1.Description + (*CommissionRates)(nil), // 19: cosmos.staking.v1beta1.CommissionRates + (*anypb.Any)(nil), // 20: google.protobuf.Any + (*v1beta1.Coin)(nil), // 21: cosmos.base.v1beta1.Coin + (*timestamppb.Timestamp)(nil), // 22: google.protobuf.Timestamp + (*Params)(nil), // 23: cosmos.staking.v1beta1.Params } var file_cosmos_staking_v1beta1_tx_proto_depIdxs = []int32{ - 14, // 0: cosmos.staking.v1beta1.MsgCreateValidator.description:type_name -> cosmos.staking.v1beta1.Description - 15, // 1: cosmos.staking.v1beta1.MsgCreateValidator.commission:type_name -> cosmos.staking.v1beta1.CommissionRates - 16, // 2: cosmos.staking.v1beta1.MsgCreateValidator.pubkey:type_name -> google.protobuf.Any - 17, // 3: cosmos.staking.v1beta1.MsgCreateValidator.value:type_name -> cosmos.base.v1beta1.Coin - 14, // 4: cosmos.staking.v1beta1.MsgEditValidator.description:type_name -> cosmos.staking.v1beta1.Description - 17, // 5: cosmos.staking.v1beta1.MsgDelegate.amount:type_name -> cosmos.base.v1beta1.Coin - 17, // 6: cosmos.staking.v1beta1.MsgBeginRedelegate.amount:type_name -> cosmos.base.v1beta1.Coin - 18, // 7: cosmos.staking.v1beta1.MsgBeginRedelegateResponse.completion_time:type_name -> google.protobuf.Timestamp - 17, // 8: cosmos.staking.v1beta1.MsgUndelegate.amount:type_name -> cosmos.base.v1beta1.Coin - 18, // 9: cosmos.staking.v1beta1.MsgUndelegateResponse.completion_time:type_name -> google.protobuf.Timestamp - 17, // 10: cosmos.staking.v1beta1.MsgUndelegateResponse.amount:type_name -> cosmos.base.v1beta1.Coin - 17, // 11: cosmos.staking.v1beta1.MsgCancelUnbondingDelegation.amount:type_name -> cosmos.base.v1beta1.Coin - 19, // 12: cosmos.staking.v1beta1.MsgUpdateParams.params:type_name -> cosmos.staking.v1beta1.Params - 0, // 13: cosmos.staking.v1beta1.Msg.CreateValidator:input_type -> cosmos.staking.v1beta1.MsgCreateValidator - 2, // 14: cosmos.staking.v1beta1.Msg.EditValidator:input_type -> cosmos.staking.v1beta1.MsgEditValidator - 4, // 15: cosmos.staking.v1beta1.Msg.Delegate:input_type -> cosmos.staking.v1beta1.MsgDelegate - 6, // 16: cosmos.staking.v1beta1.Msg.BeginRedelegate:input_type -> cosmos.staking.v1beta1.MsgBeginRedelegate - 8, // 17: cosmos.staking.v1beta1.Msg.Undelegate:input_type -> cosmos.staking.v1beta1.MsgUndelegate - 10, // 18: cosmos.staking.v1beta1.Msg.CancelUnbondingDelegation:input_type -> cosmos.staking.v1beta1.MsgCancelUnbondingDelegation - 12, // 19: cosmos.staking.v1beta1.Msg.UpdateParams:input_type -> cosmos.staking.v1beta1.MsgUpdateParams - 1, // 20: cosmos.staking.v1beta1.Msg.CreateValidator:output_type -> cosmos.staking.v1beta1.MsgCreateValidatorResponse - 3, // 21: cosmos.staking.v1beta1.Msg.EditValidator:output_type -> cosmos.staking.v1beta1.MsgEditValidatorResponse - 5, // 22: cosmos.staking.v1beta1.Msg.Delegate:output_type -> cosmos.staking.v1beta1.MsgDelegateResponse - 7, // 23: cosmos.staking.v1beta1.Msg.BeginRedelegate:output_type -> cosmos.staking.v1beta1.MsgBeginRedelegateResponse - 9, // 24: cosmos.staking.v1beta1.Msg.Undelegate:output_type -> cosmos.staking.v1beta1.MsgUndelegateResponse - 11, // 25: cosmos.staking.v1beta1.Msg.CancelUnbondingDelegation:output_type -> cosmos.staking.v1beta1.MsgCancelUnbondingDelegationResponse - 13, // 26: cosmos.staking.v1beta1.Msg.UpdateParams:output_type -> cosmos.staking.v1beta1.MsgUpdateParamsResponse - 20, // [20:27] is the sub-list for method output_type - 13, // [13:20] is the sub-list for method input_type - 13, // [13:13] is the sub-list for extension type_name - 13, // [13:13] is the sub-list for extension extendee - 0, // [0:13] is the sub-list for field type_name + 18, // 0: cosmos.staking.v1beta1.MsgCreateValidator.description:type_name -> cosmos.staking.v1beta1.Description + 19, // 1: cosmos.staking.v1beta1.MsgCreateValidator.commission:type_name -> cosmos.staking.v1beta1.CommissionRates + 20, // 2: cosmos.staking.v1beta1.MsgCreateValidator.pubkey:type_name -> google.protobuf.Any + 21, // 3: cosmos.staking.v1beta1.MsgCreateValidator.value:type_name -> cosmos.base.v1beta1.Coin + 18, // 4: cosmos.staking.v1beta1.MsgEditValidator.description:type_name -> cosmos.staking.v1beta1.Description + 21, // 5: cosmos.staking.v1beta1.MsgDelegate.amount:type_name -> cosmos.base.v1beta1.Coin + 21, // 6: cosmos.staking.v1beta1.MsgBeginRedelegate.amount:type_name -> cosmos.base.v1beta1.Coin + 22, // 7: cosmos.staking.v1beta1.MsgBeginRedelegateResponse.completion_time:type_name -> google.protobuf.Timestamp + 21, // 8: cosmos.staking.v1beta1.MsgUndelegate.amount:type_name -> cosmos.base.v1beta1.Coin + 22, // 9: cosmos.staking.v1beta1.MsgUndelegateResponse.completion_time:type_name -> google.protobuf.Timestamp + 21, // 10: cosmos.staking.v1beta1.MsgUndelegateResponse.amount:type_name -> cosmos.base.v1beta1.Coin + 21, // 11: cosmos.staking.v1beta1.MsgCancelUnbondingDelegation.amount:type_name -> cosmos.base.v1beta1.Coin + 23, // 12: cosmos.staking.v1beta1.MsgUpdateParams.params:type_name -> cosmos.staking.v1beta1.Params + 21, // 13: cosmos.staking.v1beta1.MsgTokenizeShares.amount:type_name -> cosmos.base.v1beta1.Coin + 21, // 14: cosmos.staking.v1beta1.MsgTokenizeSharesResponse.amount:type_name -> cosmos.base.v1beta1.Coin + 21, // 15: cosmos.staking.v1beta1.MsgRedeemTokensForShares.amount:type_name -> cosmos.base.v1beta1.Coin + 21, // 16: cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse.amount:type_name -> cosmos.base.v1beta1.Coin + 0, // 17: cosmos.staking.v1beta1.Msg.CreateValidator:input_type -> cosmos.staking.v1beta1.MsgCreateValidator + 2, // 18: cosmos.staking.v1beta1.Msg.EditValidator:input_type -> cosmos.staking.v1beta1.MsgEditValidator + 4, // 19: cosmos.staking.v1beta1.Msg.Delegate:input_type -> cosmos.staking.v1beta1.MsgDelegate + 6, // 20: cosmos.staking.v1beta1.Msg.BeginRedelegate:input_type -> cosmos.staking.v1beta1.MsgBeginRedelegate + 8, // 21: cosmos.staking.v1beta1.Msg.Undelegate:input_type -> cosmos.staking.v1beta1.MsgUndelegate + 10, // 22: cosmos.staking.v1beta1.Msg.CancelUnbondingDelegation:input_type -> cosmos.staking.v1beta1.MsgCancelUnbondingDelegation + 12, // 23: cosmos.staking.v1beta1.Msg.UpdateParams:input_type -> cosmos.staking.v1beta1.MsgUpdateParams + 1, // 24: cosmos.staking.v1beta1.Msg.CreateValidator:output_type -> cosmos.staking.v1beta1.MsgCreateValidatorResponse + 3, // 25: cosmos.staking.v1beta1.Msg.EditValidator:output_type -> cosmos.staking.v1beta1.MsgEditValidatorResponse + 5, // 26: cosmos.staking.v1beta1.Msg.Delegate:output_type -> cosmos.staking.v1beta1.MsgDelegateResponse + 7, // 27: cosmos.staking.v1beta1.Msg.BeginRedelegate:output_type -> cosmos.staking.v1beta1.MsgBeginRedelegateResponse + 9, // 28: cosmos.staking.v1beta1.Msg.Undelegate:output_type -> cosmos.staking.v1beta1.MsgUndelegateResponse + 11, // 29: cosmos.staking.v1beta1.Msg.CancelUnbondingDelegation:output_type -> cosmos.staking.v1beta1.MsgCancelUnbondingDelegationResponse + 13, // 30: cosmos.staking.v1beta1.Msg.UpdateParams:output_type -> cosmos.staking.v1beta1.MsgUpdateParamsResponse + 24, // [24:31] is the sub-list for method output_type + 17, // [17:24] is the sub-list for method input_type + 17, // [17:17] is the sub-list for extension type_name + 17, // [17:17] is the sub-list for extension extendee + 0, // [0:17] is the sub-list for field type_name } func init() { file_cosmos_staking_v1beta1_tx_proto_init() } @@ -8295,6 +10526,54 @@ func file_cosmos_staking_v1beta1_tx_proto_init() { return nil } } + file_cosmos_staking_v1beta1_tx_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgTokenizeShares); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cosmos_staking_v1beta1_tx_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgTokenizeSharesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cosmos_staking_v1beta1_tx_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgRedeemTokensForShares); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cosmos_staking_v1beta1_tx_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgRedeemTokensForSharesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -8302,7 +10581,7 @@ func file_cosmos_staking_v1beta1_tx_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cosmos_staking_v1beta1_tx_proto_rawDesc, NumEnums: 0, - NumMessages: 14, + NumMessages: 18, NumExtensions: 0, NumServices: 1, }, diff --git a/proto/cosmos/staking/v1beta1/tx.proto b/proto/cosmos/staking/v1beta1/tx.proto index 238645ba9232..add4cbb615f0 100644 --- a/proto/cosmos/staking/v1beta1/tx.proto +++ b/proto/cosmos/staking/v1beta1/tx.proto @@ -204,3 +204,45 @@ message MsgUpdateParams { // // Since: cosmos-sdk 0.47 message MsgUpdateParamsResponse {}; + +// MsgTokenizeShares tokenizes a delegation. +// +// Since: cosmos-sdk 0.47-lsm +message MsgTokenizeShares { + option (cosmos.msg.v1.signer) = "delegator_address"; + + option (gogoproto.equal) = false; + option (gogoproto.goproto_getters) = false; + + string delegator_address = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; + string validator_address = 2 [(cosmos_proto.scalar) = "cosmos.AddressString"]; + cosmos.base.v1beta1.Coin amount = 3 [(gogoproto.nullable) = false]; + string tokenized_share_owner = 4 [(cosmos_proto.scalar) = "cosmos.AddressString"]; +} + +// MsgTokenizeSharesResponse defines the MsgTokenizeShares response type. +// +// Since: cosmos-sdk 0.47-lsm +message MsgTokenizeSharesResponse { + cosmos.base.v1beta1.Coin amount = 1 [(gogoproto.nullable) = false]; +} + +// MsgRedeemTokensForShares redeems a tokenized share back into a native delegation. +// +// Since: cosmos-sdk 0.47-lsm +message MsgRedeemTokensForShares { + option (cosmos.msg.v1.signer) = "delegator_address"; + + option (gogoproto.equal) = false; + option (gogoproto.goproto_getters) = false; + + string delegator_address = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; + cosmos.base.v1beta1.Coin amount = 2 [(gogoproto.nullable) = false]; +} + +// MsgRedeemTokensForSharesResponse defines the MsgRedeemTokensForShares response type. +// +// Since: cosmos-sdk 0.47-lsm +message MsgRedeemTokensForSharesResponse { + cosmos.base.v1beta1.Coin amount = 1 [(gogoproto.nullable) = false]; +} diff --git a/types/math.go b/types/math.go index b8c4d275c024..cc816d9fb0a5 100644 --- a/types/math.go +++ b/types/math.go @@ -1,9 +1,74 @@ package types +import ( + sdkmath "cosmossdk.io/math" +) + +// Type aliases to the SDK's math sub-module +// +// Deprecated: Functionality of this package has been moved to it's own module: +// cosmossdk.io/math +// +// Please use the above module instead of this package. +type ( + Int = sdkmath.Int + Uint = sdkmath.Uint +) + +var ( + NewIntFromBigInt = sdkmath.NewIntFromBigInt + OneInt = sdkmath.OneInt + NewInt = sdkmath.NewInt + ZeroInt = sdkmath.ZeroInt + IntEq = sdkmath.IntEq + NewIntFromString = sdkmath.NewIntFromString + NewUint = sdkmath.NewUint + NewIntFromUint64 = sdkmath.NewIntFromUint64 + MaxInt = sdkmath.MaxInt + MinInt = sdkmath.MinInt +) + +const ( + MaxBitLen = sdkmath.MaxBitLen +) + func (ip IntProto) String() string { return ip.Int.String() } +type ( + Dec = sdkmath.LegacyDec +) + +const ( + Precision = sdkmath.LegacyPrecision + DecimalPrecisionBits = sdkmath.LegacyDecimalPrecisionBits +) + +var ( + ZeroDec = sdkmath.LegacyZeroDec + OneDec = sdkmath.LegacyOneDec + SmallestDec = sdkmath.LegacySmallestDec + NewDec = sdkmath.LegacyNewDec + NewDecWithPrec = sdkmath.LegacyNewDecWithPrec + NewDecFromBigInt = sdkmath.LegacyNewDecFromBigInt + NewDecFromBigIntWithPrec = sdkmath.LegacyNewDecFromBigIntWithPrec + NewDecFromInt = sdkmath.LegacyNewDecFromInt + NewDecFromIntWithPrec = sdkmath.LegacyNewDecFromIntWithPrec + NewDecFromStr = sdkmath.LegacyNewDecFromStr + MustNewDecFromStr = sdkmath.LegacyMustNewDecFromStr + MaxSortableDec = sdkmath.LegacyMaxSortableDec + ValidSortableDec = sdkmath.LegacyValidSortableDec + SortableDecBytes = sdkmath.LegacySortableDecBytes + DecsEqual = sdkmath.LegacyDecsEqual + MinDec = sdkmath.LegacyMinDec + MaxDec = sdkmath.LegacyMaxDec + DecEq = sdkmath.LegacyDecEq + DecApproxEq = sdkmath.LegacyDecApproxEq +) + +var _ CustomProtobufType = (*Dec)(nil) + func (dp DecProto) String() string { return dp.Dec.String() } diff --git a/x/staking/types/tx.pb.go b/x/staking/types/tx.pb.go index 8e02e3e5b0fe..84303cde7f4f 100644 --- a/x/staking/types/tx.pb.go +++ b/x/staking/types/tx.pb.go @@ -649,6 +649,184 @@ func (m *MsgUpdateParamsResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgUpdateParamsResponse proto.InternalMessageInfo +// MsgTokenizeShares tokenizes a delegation. +// +// Since: cosmos-sdk 0.47-lsm +type MsgTokenizeShares struct { + DelegatorAddress string `protobuf:"bytes,1,opt,name=delegator_address,json=delegatorAddress,proto3" json:"delegator_address,omitempty"` + ValidatorAddress string `protobuf:"bytes,2,opt,name=validator_address,json=validatorAddress,proto3" json:"validator_address,omitempty"` + Amount types1.Coin `protobuf:"bytes,3,opt,name=amount,proto3" json:"amount"` + TokenizedShareOwner string `protobuf:"bytes,4,opt,name=tokenized_share_owner,json=tokenizedShareOwner,proto3" json:"tokenized_share_owner,omitempty"` +} + +func (m *MsgTokenizeShares) Reset() { *m = MsgTokenizeShares{} } +func (m *MsgTokenizeShares) String() string { return proto.CompactTextString(m) } +func (*MsgTokenizeShares) ProtoMessage() {} +func (*MsgTokenizeShares) Descriptor() ([]byte, []int) { + return fileDescriptor_0926ef28816b35ab, []int{14} +} +func (m *MsgTokenizeShares) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgTokenizeShares) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgTokenizeShares.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgTokenizeShares) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgTokenizeShares.Merge(m, src) +} +func (m *MsgTokenizeShares) XXX_Size() int { + return m.Size() +} +func (m *MsgTokenizeShares) XXX_DiscardUnknown() { + xxx_messageInfo_MsgTokenizeShares.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgTokenizeShares proto.InternalMessageInfo + +// MsgTokenizeSharesResponse defines the MsgTokenizeShares response type. +// +// Since: cosmos-sdk 0.47-lsm +type MsgTokenizeSharesResponse struct { + Amount types1.Coin `protobuf:"bytes,1,opt,name=amount,proto3" json:"amount"` +} + +func (m *MsgTokenizeSharesResponse) Reset() { *m = MsgTokenizeSharesResponse{} } +func (m *MsgTokenizeSharesResponse) String() string { return proto.CompactTextString(m) } +func (*MsgTokenizeSharesResponse) ProtoMessage() {} +func (*MsgTokenizeSharesResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_0926ef28816b35ab, []int{15} +} +func (m *MsgTokenizeSharesResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgTokenizeSharesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgTokenizeSharesResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgTokenizeSharesResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgTokenizeSharesResponse.Merge(m, src) +} +func (m *MsgTokenizeSharesResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgTokenizeSharesResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgTokenizeSharesResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgTokenizeSharesResponse proto.InternalMessageInfo + +func (m *MsgTokenizeSharesResponse) GetAmount() types1.Coin { + if m != nil { + return m.Amount + } + return types1.Coin{} +} + +// MsgRedeemTokensForShares redeems a tokenized share back into a native delegation. +// +// Since: cosmos-sdk 0.47-lsm +type MsgRedeemTokensForShares struct { + DelegatorAddress string `protobuf:"bytes,1,opt,name=delegator_address,json=delegatorAddress,proto3" json:"delegator_address,omitempty"` + Amount types1.Coin `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount"` +} + +func (m *MsgRedeemTokensForShares) Reset() { *m = MsgRedeemTokensForShares{} } +func (m *MsgRedeemTokensForShares) String() string { return proto.CompactTextString(m) } +func (*MsgRedeemTokensForShares) ProtoMessage() {} +func (*MsgRedeemTokensForShares) Descriptor() ([]byte, []int) { + return fileDescriptor_0926ef28816b35ab, []int{16} +} +func (m *MsgRedeemTokensForShares) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgRedeemTokensForShares) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgRedeemTokensForShares.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgRedeemTokensForShares) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgRedeemTokensForShares.Merge(m, src) +} +func (m *MsgRedeemTokensForShares) XXX_Size() int { + return m.Size() +} +func (m *MsgRedeemTokensForShares) XXX_DiscardUnknown() { + xxx_messageInfo_MsgRedeemTokensForShares.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgRedeemTokensForShares proto.InternalMessageInfo + +// MsgRedeemTokensForSharesResponse defines the MsgRedeemTokensForShares response type. +// +// Since: cosmos-sdk 0.47-lsm +type MsgRedeemTokensForSharesResponse struct { + Amount types1.Coin `protobuf:"bytes,1,opt,name=amount,proto3" json:"amount"` +} + +func (m *MsgRedeemTokensForSharesResponse) Reset() { *m = MsgRedeemTokensForSharesResponse{} } +func (m *MsgRedeemTokensForSharesResponse) String() string { return proto.CompactTextString(m) } +func (*MsgRedeemTokensForSharesResponse) ProtoMessage() {} +func (*MsgRedeemTokensForSharesResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_0926ef28816b35ab, []int{17} +} +func (m *MsgRedeemTokensForSharesResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgRedeemTokensForSharesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgRedeemTokensForSharesResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgRedeemTokensForSharesResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgRedeemTokensForSharesResponse.Merge(m, src) +} +func (m *MsgRedeemTokensForSharesResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgRedeemTokensForSharesResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgRedeemTokensForSharesResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgRedeemTokensForSharesResponse proto.InternalMessageInfo + +func (m *MsgRedeemTokensForSharesResponse) GetAmount() types1.Coin { + if m != nil { + return m.Amount + } + return types1.Coin{} +} + func init() { proto.RegisterType((*MsgCreateValidator)(nil), "cosmos.staking.v1beta1.MsgCreateValidator") proto.RegisterType((*MsgCreateValidatorResponse)(nil), "cosmos.staking.v1beta1.MsgCreateValidatorResponse") @@ -664,84 +842,95 @@ func init() { proto.RegisterType((*MsgCancelUnbondingDelegationResponse)(nil), "cosmos.staking.v1beta1.MsgCancelUnbondingDelegationResponse") proto.RegisterType((*MsgUpdateParams)(nil), "cosmos.staking.v1beta1.MsgUpdateParams") proto.RegisterType((*MsgUpdateParamsResponse)(nil), "cosmos.staking.v1beta1.MsgUpdateParamsResponse") + proto.RegisterType((*MsgTokenizeShares)(nil), "cosmos.staking.v1beta1.MsgTokenizeShares") + proto.RegisterType((*MsgTokenizeSharesResponse)(nil), "cosmos.staking.v1beta1.MsgTokenizeSharesResponse") + proto.RegisterType((*MsgRedeemTokensForShares)(nil), "cosmos.staking.v1beta1.MsgRedeemTokensForShares") + proto.RegisterType((*MsgRedeemTokensForSharesResponse)(nil), "cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse") } func init() { proto.RegisterFile("cosmos/staking/v1beta1/tx.proto", fileDescriptor_0926ef28816b35ab) } var fileDescriptor_0926ef28816b35ab = []byte{ - // 1142 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x57, 0x4f, 0x6f, 0xdc, 0x44, - 0x14, 0x5f, 0xef, 0x36, 0x0b, 0x99, 0x90, 0x7f, 0x4e, 0xd2, 0x6e, 0xdc, 0xb2, 0x5b, 0xdc, 0x40, - 0xa2, 0xc0, 0xda, 0x6d, 0x40, 0x20, 0x96, 0x0a, 0x35, 0xdb, 0xb4, 0x50, 0x60, 0x51, 0xe4, 0x90, - 0x22, 0x21, 0xa4, 0x65, 0xd6, 0x9e, 0x78, 0xad, 0x5d, 0x7b, 0x5c, 0xcf, 0x6c, 0xd4, 0xbd, 0x21, - 0x4e, 0xc0, 0x85, 0x7e, 0x81, 0x4a, 0xe5, 0x80, 0x04, 0xb7, 0x1c, 0xf2, 0x15, 0x90, 0x2a, 0x4e, - 0x55, 0x4e, 0xa8, 0x87, 0x80, 0x92, 0x43, 0xfa, 0x1d, 0xb8, 0x20, 0xdb, 0x63, 0xaf, 0xed, 0xfd, - 0x9b, 0x40, 0x2f, 0xbd, 0x24, 0xce, 0xcc, 0xef, 0xfd, 0xe6, 0xbd, 0xf7, 0x7b, 0x6f, 0xe6, 0x05, - 0x14, 0x54, 0x4c, 0x4c, 0x4c, 0x64, 0x42, 0x61, 0xc3, 0xb0, 0x74, 0x79, 0xf7, 0x5a, 0x0d, 0x51, - 0x78, 0x4d, 0xa6, 0xf7, 0x25, 0xdb, 0xc1, 0x14, 0xf3, 0xe7, 0x7d, 0x80, 0xc4, 0x00, 0x12, 0x03, - 0x08, 0x8b, 0x3a, 0xc6, 0x7a, 0x13, 0xc9, 0x1e, 0xaa, 0xd6, 0xda, 0x91, 0xa1, 0xd5, 0xf6, 0x4d, - 0x84, 0x42, 0x72, 0x8b, 0x1a, 0x26, 0x22, 0x14, 0x9a, 0x36, 0x03, 0xcc, 0xeb, 0x58, 0xc7, 0xde, - 0xa7, 0xec, 0x7e, 0xb1, 0xd5, 0x45, 0xff, 0xa4, 0xaa, 0xbf, 0xc1, 0x8e, 0xf5, 0xb7, 0xf2, 0xcc, - 0xcb, 0x1a, 0x24, 0x28, 0x74, 0x51, 0xc5, 0x86, 0xc5, 0xf6, 0x97, 0xfa, 0x44, 0x11, 0x38, 0xed, - 0xa3, 0x2e, 0x30, 0x94, 0x49, 0x5c, 0x84, 0xfb, 0x8b, 0x6d, 0xcc, 0x42, 0xd3, 0xb0, 0xb0, 0xec, - 0xfd, 0xf4, 0x97, 0xc4, 0x7f, 0xce, 0x01, 0xbe, 0x42, 0xf4, 0x9b, 0x0e, 0x82, 0x14, 0xdd, 0x85, - 0x4d, 0x43, 0x83, 0x14, 0x3b, 0xfc, 0x26, 0x98, 0xd0, 0x10, 0x51, 0x1d, 0xc3, 0xa6, 0x06, 0xb6, - 0x72, 0xdc, 0x65, 0x6e, 0x65, 0x62, 0xed, 0x8a, 0xd4, 0x3b, 0x47, 0xd2, 0x46, 0x07, 0x5a, 0x1e, - 0x7f, 0x7c, 0x58, 0x48, 0xfd, 0x7a, 0xb2, 0xb7, 0xca, 0x29, 0x51, 0x0a, 0x5e, 0x01, 0x40, 0xc5, - 0xa6, 0x69, 0x10, 0xe2, 0x12, 0xa6, 0x3d, 0xc2, 0xe5, 0x7e, 0x84, 0x37, 0x43, 0xa4, 0x02, 0x29, - 0x22, 0x51, 0xd2, 0x08, 0x0b, 0xff, 0x0d, 0x98, 0x33, 0x0d, 0xab, 0x4a, 0x50, 0x73, 0xa7, 0xaa, - 0xa1, 0x26, 0xd2, 0xa1, 0xe7, 0x6d, 0xe6, 0x32, 0xb7, 0x32, 0x5e, 0xbe, 0xea, 0xda, 0x3c, 0x3d, - 0x2c, 0x2c, 0xf8, 0x67, 0x10, 0xad, 0x21, 0x19, 0x58, 0x36, 0x21, 0xad, 0x4b, 0x77, 0x2c, 0x7a, - 0xb0, 0x5f, 0x04, 0xec, 0xf0, 0x3b, 0x16, 0xf5, 0xa9, 0x67, 0x4d, 0xc3, 0xda, 0x42, 0xcd, 0x9d, - 0x8d, 0x90, 0x8a, 0xff, 0x08, 0xcc, 0x32, 0x62, 0xec, 0x54, 0xa1, 0xa6, 0x39, 0x88, 0x90, 0xdc, - 0x39, 0x8f, 0x5f, 0x38, 0xd8, 0x2f, 0xce, 0x33, 0x8a, 0x75, 0x7f, 0x67, 0x8b, 0x3a, 0x86, 0xa5, - 0xe7, 0x38, 0x65, 0x26, 0x34, 0x62, 0x3b, 0xfc, 0xe7, 0x60, 0x76, 0x37, 0xc8, 0x6e, 0x48, 0x34, - 0xe6, 0x11, 0xbd, 0x76, 0xb0, 0x5f, 0x7c, 0x95, 0x11, 0x85, 0x0a, 0xc4, 0x18, 0x95, 0x99, 0xdd, - 0xc4, 0x3a, 0x7f, 0x1b, 0x64, 0xed, 0x56, 0xad, 0x81, 0xda, 0xb9, 0xac, 0x97, 0xca, 0x79, 0xc9, - 0x2f, 0x46, 0x29, 0x28, 0x46, 0x69, 0xdd, 0x6a, 0x97, 0x73, 0x7f, 0x74, 0x7c, 0x54, 0x9d, 0xb6, - 0x4d, 0xb1, 0xb4, 0xd9, 0xaa, 0x7d, 0x8a, 0xda, 0x0a, 0xb3, 0xe6, 0x4b, 0x60, 0x6c, 0x17, 0x36, - 0x5b, 0x28, 0xf7, 0x92, 0x47, 0xb3, 0x18, 0x28, 0xe2, 0x56, 0x60, 0x44, 0x0e, 0x23, 0x26, 0xac, - 0x6f, 0x52, 0xba, 0xf1, 0xfd, 0xa3, 0x42, 0xea, 0xd9, 0xa3, 0x42, 0xea, 0xbb, 0x93, 0xbd, 0xd5, - 0xee, 0xf0, 0x7e, 0x3c, 0xd9, 0x5b, 0x65, 0x71, 0x15, 0x89, 0xd6, 0x90, 0xbb, 0xcb, 0x4c, 0xbc, - 0x04, 0x84, 0xee, 0x55, 0x05, 0x11, 0x1b, 0x5b, 0x04, 0x89, 0xbf, 0x64, 0xc0, 0x4c, 0x85, 0xe8, - 0xb7, 0x34, 0x83, 0x3e, 0xcf, 0xca, 0xec, 0x29, 0x4d, 0xfa, 0xec, 0xd2, 0xdc, 0x05, 0xd3, 0x9d, - 0x1a, 0xad, 0x3a, 0x90, 0x22, 0x56, 0x91, 0xc5, 0xa7, 0x87, 0x85, 0x8b, 0xdd, 0xd5, 0xf8, 0x19, - 0xd2, 0xa1, 0xda, 0xde, 0x40, 0x6a, 0xa4, 0x26, 0x37, 0x90, 0xaa, 0x4c, 0xa9, 0xb1, 0x2e, 0xe0, - 0xbf, 0xec, 0x5d, 0xed, 0x7e, 0x35, 0x2e, 0x8f, 0x58, 0xe9, 0x3d, 0x8a, 0xbc, 0xf4, 0xe1, 0x70, - 0x1d, 0x2f, 0xc6, 0x75, 0x8c, 0x49, 0x22, 0x0a, 0x20, 0x97, 0x5c, 0x0b, 0x35, 0x7c, 0x98, 0x06, - 0x13, 0x15, 0xa2, 0xb3, 0xd3, 0x10, 0x7f, 0xab, 0x57, 0x43, 0x71, 0x5e, 0x08, 0xb9, 0x7e, 0x0d, - 0x35, 0x6a, 0x3b, 0xfd, 0x07, 0xcd, 0xae, 0x83, 0x2c, 0x34, 0x71, 0xcb, 0xa2, 0x9e, 0x54, 0xa3, - 0xf6, 0x01, 0xb3, 0x29, 0xbd, 0x1f, 0x4b, 0x60, 0x57, 0x7c, 0x6e, 0x02, 0xcf, 0xc7, 0x13, 0x18, - 0xe4, 0x43, 0x5c, 0x00, 0x73, 0x91, 0x3f, 0xc3, 0xb4, 0xfd, 0x90, 0xf1, 0xae, 0xe5, 0x32, 0xd2, - 0x0d, 0x4b, 0x41, 0xda, 0xff, 0x9c, 0xbd, 0x6d, 0xb0, 0xd0, 0xc9, 0x1e, 0x71, 0xd4, 0xd3, 0x67, - 0x70, 0x2e, 0xb4, 0xdf, 0x72, 0xd4, 0x9e, 0xb4, 0x1a, 0xa1, 0x21, 0x6d, 0xe6, 0xf4, 0xb4, 0x1b, - 0x84, 0x76, 0x6b, 0x73, 0xee, 0x0c, 0xda, 0xdc, 0x18, 0xae, 0x4d, 0xe2, 0x92, 0x4a, 0x24, 0x5d, - 0xb4, 0xbd, 0x4b, 0x2a, 0xb1, 0x1a, 0x28, 0xc5, 0x2b, 0x5e, 0xb7, 0xdb, 0x4d, 0xe4, 0xb6, 0x52, - 0xd5, 0x9d, 0x00, 0xd8, 0x9d, 0x24, 0x74, 0xdd, 0xc8, 0x5f, 0x04, 0xe3, 0x41, 0x79, 0xd2, 0xf5, - 0xf3, 0xc1, 0x5f, 0x05, 0xce, 0xf7, 0x75, 0xaa, 0xc3, 0xe0, 0x62, 0xc4, 0x9f, 0xd3, 0x60, 0xb2, - 0x42, 0xf4, 0x6d, 0x4b, 0x7b, 0xa1, 0xdb, 0xe6, 0x83, 0xe1, 0xd2, 0xe4, 0xe2, 0xd2, 0x74, 0x32, - 0x22, 0xfe, 0xc6, 0x81, 0x85, 0xd8, 0xca, 0xf3, 0x54, 0x24, 0x12, 0x68, 0xfa, 0xf4, 0x81, 0x8a, - 0xcf, 0xd2, 0xe0, 0x92, 0xfb, 0xce, 0x41, 0x4b, 0x45, 0xcd, 0x6d, 0xab, 0x86, 0x2d, 0xcd, 0xb0, - 0xf4, 0xc8, 0x98, 0xf1, 0x22, 0xca, 0xcb, 0x2f, 0x83, 0x69, 0xd5, 0x7d, 0xd9, 0x5d, 0x15, 0xea, - 0xc8, 0xd0, 0xeb, 0x7e, 0x03, 0x67, 0x94, 0xa9, 0x60, 0xf9, 0x63, 0x6f, 0xb5, 0xf4, 0xc9, 0xf0, - 0x3a, 0x58, 0x4e, 0xcc, 0x11, 0xfd, 0x32, 0x29, 0xbe, 0x01, 0x96, 0x06, 0xed, 0x87, 0x17, 0xec, - 0xef, 0x1c, 0x98, 0x76, 0xcb, 0xc7, 0xd6, 0x20, 0x45, 0x9b, 0xd0, 0x81, 0x26, 0xe1, 0xdf, 0x05, - 0xe3, 0xb0, 0x45, 0xeb, 0xd8, 0x31, 0x68, 0x7b, 0x68, 0xf6, 0x3b, 0x50, 0x7e, 0x1d, 0x64, 0x6d, - 0x8f, 0x81, 0x15, 0x47, 0xbe, 0xdf, 0x34, 0xe2, 0x9f, 0x13, 0xcb, 0x95, 0x6f, 0x58, 0x7a, 0xcf, - 0x0d, 0xbd, 0x43, 0xe9, 0x86, 0xbc, 0x14, 0x09, 0xf9, 0x7e, 0x38, 0xf1, 0x27, 0x7c, 0x16, 0x17, - 0xc1, 0x85, 0xc4, 0x52, 0x10, 0xe2, 0xda, 0xc3, 0x2c, 0xc8, 0x54, 0x88, 0xce, 0xdf, 0x03, 0xd3, - 0xc9, 0xf1, 0x7e, 0xb5, 0x9f, 0x87, 0xdd, 0xd3, 0x98, 0xb0, 0x36, 0x3a, 0x36, 0x6c, 0xc1, 0x06, - 0x98, 0x8c, 0x4f, 0x6d, 0x2b, 0x03, 0x48, 0x62, 0x48, 0xe1, 0xea, 0xa8, 0xc8, 0xf0, 0xb0, 0xaf, - 0xc1, 0xcb, 0xe1, 0x78, 0x71, 0x65, 0x80, 0x75, 0x00, 0x12, 0xde, 0x1c, 0x01, 0x14, 0xb2, 0xdf, - 0x03, 0xd3, 0xc9, 0x57, 0x78, 0x50, 0xf6, 0x12, 0xd8, 0x81, 0xd9, 0xeb, 0xf7, 0xa4, 0xd4, 0x00, - 0x88, 0x5c, 0xfd, 0xaf, 0x0f, 0x60, 0xe8, 0xc0, 0x84, 0xe2, 0x48, 0xb0, 0xf0, 0x8c, 0x9f, 0x38, - 0xb0, 0xd8, 0xff, 0x3e, 0x7a, 0x67, 0x90, 0xe6, 0xfd, 0xac, 0x84, 0xeb, 0x67, 0xb1, 0x0a, 0x3d, - 0xaa, 0x83, 0x57, 0x62, 0xdd, 0xb8, 0x3c, 0x28, 0xa0, 0x08, 0x50, 0x90, 0x47, 0x04, 0x06, 0x27, - 0x09, 0x63, 0xdf, 0xba, 0xbd, 0x57, 0xbe, 0xfd, 0xf8, 0x28, 0xcf, 0x3d, 0x39, 0xca, 0x73, 0x7f, - 0x1f, 0xe5, 0xb9, 0x07, 0xc7, 0xf9, 0xd4, 0x93, 0xe3, 0x7c, 0xea, 0xcf, 0xe3, 0x7c, 0xea, 0xab, - 0xb7, 0x74, 0x83, 0xd6, 0x5b, 0x35, 0x49, 0xc5, 0x26, 0xfb, 0xff, 0x5c, 0xee, 0xd9, 0x8c, 0xb4, - 0x6d, 0x23, 0x52, 0xcb, 0x7a, 0xcf, 0xc9, 0xdb, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0xd6, 0x91, - 0x57, 0x78, 0x63, 0x10, 0x00, 0x00, + // 1264 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x58, 0xcf, 0x6f, 0x1b, 0x45, + 0x14, 0xf6, 0xda, 0xa9, 0xa1, 0x53, 0xf2, 0x6b, 0x93, 0xb4, 0xf6, 0xb6, 0xd8, 0x61, 0x1b, 0x48, + 0x14, 0xf0, 0xba, 0x0d, 0x88, 0x08, 0x53, 0xa1, 0xc6, 0x4d, 0x02, 0x85, 0x1a, 0x22, 0x27, 0x29, + 0x12, 0x20, 0x99, 0xf1, 0xee, 0x64, 0xbd, 0xb2, 0x77, 0xc7, 0xdd, 0x19, 0x87, 0x9a, 0x13, 0xe2, + 0x04, 0x5c, 0xe8, 0x3f, 0x50, 0xa9, 0x1c, 0x90, 0xe0, 0x96, 0x43, 0x4e, 0xdc, 0x91, 0x22, 0x4e, + 0x55, 0x4e, 0xa8, 0x87, 0x80, 0x92, 0x43, 0xfa, 0x3f, 0x70, 0x41, 0xbb, 0x3b, 0x5e, 0xef, 0xae, + 0xbd, 0xb6, 0x93, 0xa6, 0x97, 0x5e, 0x12, 0x67, 0xe6, 0xbd, 0x6f, 0xde, 0xfb, 0xbe, 0xf7, 0x66, + 0x9e, 0x03, 0xd2, 0x32, 0x26, 0x3a, 0x26, 0x59, 0x42, 0x61, 0x55, 0x33, 0xd4, 0xec, 0xf6, 0xf5, + 0x32, 0xa2, 0xf0, 0x7a, 0x96, 0xde, 0x97, 0xea, 0x26, 0xa6, 0x98, 0xbf, 0xe8, 0x18, 0x48, 0xcc, + 0x40, 0x62, 0x06, 0x42, 0x52, 0xc5, 0x58, 0xad, 0xa1, 0xac, 0x6d, 0x55, 0x6e, 0x6c, 0x65, 0xa1, + 0xd1, 0x74, 0x5c, 0x84, 0x74, 0x70, 0x8b, 0x6a, 0x3a, 0x22, 0x14, 0xea, 0x75, 0x66, 0x30, 0xa9, + 0x62, 0x15, 0xdb, 0x1f, 0xb3, 0xd6, 0x27, 0xb6, 0x9a, 0x74, 0x4e, 0x2a, 0x39, 0x1b, 0xec, 0x58, + 0x67, 0x2b, 0xc5, 0xa2, 0x2c, 0x43, 0x82, 0xdc, 0x10, 0x65, 0xac, 0x19, 0x6c, 0x7f, 0x26, 0x24, + 0x8b, 0x56, 0xd0, 0x8e, 0xd5, 0x25, 0x66, 0xa5, 0x13, 0xcb, 0xc2, 0xfa, 0xc5, 0x36, 0xc6, 0xa1, + 0xae, 0x19, 0x38, 0x6b, 0xff, 0x74, 0x96, 0xc4, 0xff, 0x86, 0x00, 0x5f, 0x20, 0xea, 0x2d, 0x13, + 0x41, 0x8a, 0xee, 0xc2, 0x9a, 0xa6, 0x40, 0x8a, 0x4d, 0x7e, 0x0d, 0x5c, 0x50, 0x10, 0x91, 0x4d, + 0xad, 0x4e, 0x35, 0x6c, 0x24, 0xb8, 0x69, 0x6e, 0xee, 0xc2, 0xc2, 0x55, 0xa9, 0x3b, 0x47, 0xd2, + 0x72, 0xdb, 0x34, 0x7f, 0x7e, 0xef, 0x20, 0x1d, 0xf9, 0xed, 0x78, 0x67, 0x9e, 0x2b, 0x7a, 0x21, + 0xf8, 0x22, 0x00, 0x32, 0xd6, 0x75, 0x8d, 0x10, 0x0b, 0x30, 0x6a, 0x03, 0xce, 0x86, 0x01, 0xde, + 0x72, 0x2d, 0x8b, 0x90, 0x22, 0xe2, 0x05, 0xf5, 0xa0, 0xf0, 0x5f, 0x83, 0x09, 0x5d, 0x33, 0x4a, + 0x04, 0xd5, 0xb6, 0x4a, 0x0a, 0xaa, 0x21, 0x15, 0xda, 0xd1, 0xc6, 0xa6, 0xb9, 0xb9, 0xf3, 0xf9, + 0x6b, 0x96, 0xcf, 0x93, 0x83, 0xf4, 0x94, 0x73, 0x06, 0x51, 0xaa, 0x92, 0x86, 0xb3, 0x3a, 0xa4, + 0x15, 0xe9, 0xb6, 0x41, 0xf7, 0x77, 0x33, 0x80, 0x1d, 0x7e, 0xdb, 0xa0, 0x0e, 0xf4, 0xb8, 0xae, + 0x19, 0xeb, 0xa8, 0xb6, 0xb5, 0xec, 0x42, 0xf1, 0x1f, 0x82, 0x71, 0x06, 0x8c, 0xcd, 0x12, 0x54, + 0x14, 0x13, 0x11, 0x92, 0x18, 0xb2, 0xf1, 0x85, 0xfd, 0xdd, 0xcc, 0x24, 0x83, 0x58, 0x72, 0x76, + 0xd6, 0xa9, 0xa9, 0x19, 0x6a, 0x82, 0x2b, 0x8e, 0xb9, 0x4e, 0x6c, 0x87, 0xff, 0x14, 0x8c, 0x6f, + 0xb7, 0xd8, 0x75, 0x81, 0xce, 0xd9, 0x40, 0xaf, 0xed, 0xef, 0x66, 0x5e, 0x65, 0x40, 0xae, 0x02, + 0x3e, 0xc4, 0xe2, 0xd8, 0x76, 0x60, 0x9d, 0x5f, 0x05, 0xf1, 0x7a, 0xa3, 0x5c, 0x45, 0xcd, 0x44, + 0xdc, 0xa6, 0x72, 0x52, 0x72, 0x8a, 0x51, 0x6a, 0x15, 0xa3, 0xb4, 0x64, 0x34, 0xf3, 0x89, 0xbf, + 0xda, 0x31, 0xca, 0x66, 0xb3, 0x4e, 0xb1, 0xb4, 0xd6, 0x28, 0x7f, 0x82, 0x9a, 0x45, 0xe6, 0xcd, + 0xe7, 0xc0, 0xb9, 0x6d, 0x58, 0x6b, 0xa0, 0xc4, 0x4b, 0x36, 0x4c, 0xb2, 0xa5, 0x88, 0x55, 0x81, + 0x1e, 0x39, 0x34, 0x9f, 0xb0, 0x8e, 0x4b, 0xee, 0xe6, 0x0f, 0x8f, 0xd2, 0x91, 0xa7, 0x8f, 0xd2, + 0x91, 0xef, 0x8f, 0x77, 0xe6, 0x3b, 0xd3, 0xfb, 0xe9, 0x78, 0x67, 0x9e, 0xe5, 0x95, 0x21, 0x4a, + 0x35, 0xdb, 0x59, 0x66, 0xe2, 0x15, 0x20, 0x74, 0xae, 0x16, 0x11, 0xa9, 0x63, 0x83, 0x20, 0xf1, + 0xd7, 0x18, 0x18, 0x2b, 0x10, 0x75, 0x45, 0xd1, 0xe8, 0xf3, 0xac, 0xcc, 0xae, 0xd2, 0x44, 0x4f, + 0x2f, 0xcd, 0x5d, 0x30, 0xda, 0xae, 0xd1, 0x92, 0x09, 0x29, 0x62, 0x15, 0x99, 0x79, 0x72, 0x90, + 0xbe, 0xdc, 0x59, 0x8d, 0x77, 0x90, 0x0a, 0xe5, 0xe6, 0x32, 0x92, 0x3d, 0x35, 0xb9, 0x8c, 0xe4, + 0xe2, 0x88, 0xec, 0xeb, 0x02, 0xfe, 0xf3, 0xee, 0xd5, 0xee, 0x54, 0xe3, 0xec, 0x80, 0x95, 0xde, + 0xa5, 0xc8, 0x73, 0x1f, 0xf4, 0xd7, 0xf1, 0xb2, 0x5f, 0x47, 0x9f, 0x24, 0xa2, 0x00, 0x12, 0xc1, + 0x35, 0x57, 0xc3, 0x87, 0x51, 0x70, 0xa1, 0x40, 0x54, 0x76, 0x1a, 0xe2, 0x57, 0xba, 0x35, 0x14, + 0x67, 0xa7, 0x90, 0x08, 0x6b, 0xa8, 0x41, 0xdb, 0xe9, 0x19, 0x34, 0xbb, 0x01, 0xe2, 0x50, 0xc7, + 0x0d, 0x83, 0xda, 0x52, 0x0d, 0xda, 0x07, 0xcc, 0x27, 0xf7, 0x9e, 0x8f, 0xc0, 0x8e, 0xfc, 0x2c, + 0x02, 0x2f, 0xfa, 0x09, 0x6c, 0xf1, 0x21, 0x4e, 0x81, 0x09, 0xcf, 0x9f, 0x2e, 0x6d, 0x3f, 0xc6, + 0xec, 0x6b, 0x39, 0x8f, 0x54, 0xcd, 0x28, 0x22, 0xe5, 0x8c, 0xd9, 0xdb, 0x04, 0x53, 0x6d, 0xf6, + 0x88, 0x29, 0x9f, 0x9c, 0xc1, 0x09, 0xd7, 0x7f, 0xdd, 0x94, 0xbb, 0xc2, 0x2a, 0x84, 0xba, 0xb0, + 0xb1, 0x93, 0xc3, 0x2e, 0x13, 0xda, 0xa9, 0xcd, 0xd0, 0x29, 0xb4, 0xb9, 0xd9, 0x5f, 0x9b, 0xc0, + 0x25, 0x15, 0x20, 0x5d, 0xac, 0xdb, 0x97, 0x54, 0x60, 0xb5, 0xa5, 0x14, 0x5f, 0xb4, 0xbb, 0xbd, + 0x5e, 0x43, 0x56, 0x2b, 0x95, 0xac, 0x09, 0x80, 0xdd, 0x49, 0x42, 0xc7, 0x8d, 0xbc, 0xd1, 0x1a, + 0x0f, 0xf2, 0xc3, 0x56, 0x9c, 0x0f, 0xfe, 0x49, 0x73, 0x4e, 0xac, 0x23, 0x6d, 0x04, 0xcb, 0x46, + 0xfc, 0x25, 0x0a, 0x86, 0x0b, 0x44, 0xdd, 0x34, 0x94, 0x17, 0xba, 0x6d, 0xde, 0xef, 0x2f, 0x4d, + 0xc2, 0x2f, 0x4d, 0x9b, 0x11, 0xf1, 0x77, 0x0e, 0x4c, 0xf9, 0x56, 0x9e, 0xa7, 0x22, 0x9e, 0x44, + 0xa3, 0x27, 0x4f, 0x54, 0x7c, 0x1a, 0x05, 0x57, 0xac, 0x77, 0x0e, 0x1a, 0x32, 0xaa, 0x6d, 0x1a, + 0x65, 0x6c, 0x28, 0x9a, 0xa1, 0x7a, 0xc6, 0x8c, 0x17, 0x51, 0x5e, 0x7e, 0x16, 0x8c, 0xca, 0xd6, + 0xcb, 0x6e, 0xa9, 0x50, 0x41, 0x9a, 0x5a, 0x71, 0x1a, 0x38, 0x56, 0x1c, 0x69, 0x2d, 0x7f, 0x64, + 0xaf, 0xe6, 0x3e, 0xee, 0x5f, 0x07, 0xb3, 0x81, 0x39, 0x22, 0x8c, 0x49, 0xf1, 0x0d, 0x30, 0xd3, + 0x6b, 0xdf, 0xbd, 0x60, 0xff, 0xe4, 0xc0, 0xa8, 0x55, 0x3e, 0x75, 0x05, 0x52, 0xb4, 0x06, 0x4d, + 0xa8, 0x13, 0xfe, 0x5d, 0x70, 0x1e, 0x36, 0x68, 0x05, 0x9b, 0x1a, 0x6d, 0xf6, 0x65, 0xbf, 0x6d, + 0xca, 0x2f, 0x81, 0x78, 0xdd, 0x46, 0x60, 0xc5, 0x91, 0x0a, 0x9b, 0x46, 0x9c, 0x73, 0x7c, 0x5c, + 0x39, 0x8e, 0xb9, 0x45, 0x2b, 0xf5, 0x36, 0xa4, 0x95, 0xf2, 0x8c, 0x27, 0xe5, 0xfb, 0xee, 0xc4, + 0x1f, 0x88, 0x59, 0x4c, 0x82, 0x4b, 0x81, 0x25, 0x37, 0xc5, 0xbd, 0x28, 0x18, 0x2f, 0x10, 0x75, + 0x03, 0x57, 0x91, 0xa1, 0x7d, 0x8b, 0xd6, 0x2b, 0xd0, 0x44, 0xe4, 0xac, 0x4a, 0x6d, 0x25, 0xbc, + 0xd4, 0x7a, 0xc0, 0x74, 0x54, 0xd8, 0xe2, 0xe0, 0x15, 0x36, 0x64, 0xb1, 0xe6, 0x16, 0xd7, 0x1d, + 0x30, 0x45, 0x59, 0x62, 0x4a, 0x89, 0x58, 0xa9, 0x95, 0xf0, 0x37, 0x06, 0x32, 0xd9, 0x38, 0x14, + 0x1e, 0xc3, 0x84, 0xeb, 0x66, 0x13, 0xf2, 0x99, 0xe5, 0x94, 0x4b, 0xf5, 0xae, 0x40, 0x71, 0x03, + 0x24, 0x3b, 0x98, 0x74, 0xef, 0x9b, 0x76, 0x0e, 0xdc, 0x89, 0x72, 0x10, 0xff, 0xe0, 0xec, 0xc1, + 0xc9, 0x7a, 0x54, 0x90, 0x6e, 0x83, 0x93, 0x55, 0x6c, 0x9e, 0xad, 0x4e, 0x8b, 0x83, 0x5f, 0x5c, + 0xbe, 0xe0, 0xfa, 0x52, 0xf2, 0x25, 0x98, 0x0e, 0x8b, 0xfd, 0x99, 0x99, 0x59, 0x78, 0x18, 0x07, + 0xb1, 0x02, 0x51, 0xf9, 0x7b, 0x60, 0x34, 0xf8, 0xcd, 0x74, 0x3e, 0xac, 0xb9, 0x3a, 0xbf, 0x48, + 0x08, 0x0b, 0x83, 0xdb, 0xba, 0x31, 0x57, 0xc1, 0xb0, 0xff, 0x0b, 0xc7, 0x5c, 0x0f, 0x10, 0x9f, + 0xa5, 0x70, 0x6d, 0x50, 0x4b, 0xf7, 0xb0, 0xaf, 0xc0, 0xcb, 0xee, 0x64, 0x7c, 0xb5, 0x87, 0x77, + 0xcb, 0x48, 0x78, 0x73, 0x00, 0x23, 0x17, 0xfd, 0x1e, 0x18, 0x0d, 0x0e, 0x90, 0xbd, 0xd8, 0x0b, + 0xd8, 0xf6, 0x64, 0x2f, 0x6c, 0x1a, 0x2a, 0x03, 0xe0, 0x99, 0x5a, 0x5e, 0xef, 0x81, 0xd0, 0x36, + 0x13, 0x32, 0x03, 0x99, 0xb9, 0x67, 0xfc, 0xcc, 0x81, 0x64, 0xf8, 0x53, 0xfa, 0x4e, 0x2f, 0xcd, + 0xc3, 0xbc, 0x84, 0x1b, 0xa7, 0xf1, 0x72, 0x23, 0xaa, 0x80, 0x57, 0x7c, 0x0f, 0xc9, 0x6c, 0xaf, + 0x84, 0x3c, 0x86, 0x42, 0x76, 0x40, 0xc3, 0xd6, 0x49, 0xc2, 0xb9, 0xef, 0xac, 0x67, 0x23, 0xbf, + 0xba, 0x77, 0x98, 0xe2, 0x1e, 0x1f, 0xa6, 0xb8, 0x7f, 0x0f, 0x53, 0xdc, 0x83, 0xa3, 0x54, 0xe4, + 0xf1, 0x51, 0x2a, 0xf2, 0xf7, 0x51, 0x2a, 0xf2, 0xc5, 0x5b, 0xaa, 0x46, 0x2b, 0x8d, 0xb2, 0x24, + 0x63, 0x9d, 0xfd, 0x6b, 0x29, 0xdb, 0xf5, 0x1d, 0xa1, 0xcd, 0x3a, 0x22, 0xe5, 0xb8, 0x3d, 0x09, + 0xbd, 0xfd, 0x7f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xf3, 0xf1, 0xa4, 0xf6, 0x1e, 0x13, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -1650,6 +1839,166 @@ func (m *MsgUpdateParamsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) return len(dAtA) - i, nil } +func (m *MsgTokenizeShares) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgTokenizeShares) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgTokenizeShares) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.TokenizedShareOwner) > 0 { + i -= len(m.TokenizedShareOwner) + copy(dAtA[i:], m.TokenizedShareOwner) + i = encodeVarintTx(dAtA, i, uint64(len(m.TokenizedShareOwner))) + i-- + dAtA[i] = 0x22 + } + { + size, err := m.Amount.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + if len(m.ValidatorAddress) > 0 { + i -= len(m.ValidatorAddress) + copy(dAtA[i:], m.ValidatorAddress) + i = encodeVarintTx(dAtA, i, uint64(len(m.ValidatorAddress))) + i-- + dAtA[i] = 0x12 + } + if len(m.DelegatorAddress) > 0 { + i -= len(m.DelegatorAddress) + copy(dAtA[i:], m.DelegatorAddress) + i = encodeVarintTx(dAtA, i, uint64(len(m.DelegatorAddress))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgTokenizeSharesResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgTokenizeSharesResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgTokenizeSharesResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size, err := m.Amount.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + return len(dAtA) - i, nil +} + +func (m *MsgRedeemTokensForShares) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgRedeemTokensForShares) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgRedeemTokensForShares) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size, err := m.Amount.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + if len(m.DelegatorAddress) > 0 { + i -= len(m.DelegatorAddress) + copy(dAtA[i:], m.DelegatorAddress) + i = encodeVarintTx(dAtA, i, uint64(len(m.DelegatorAddress))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgRedeemTokensForSharesResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgRedeemTokensForSharesResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgRedeemTokensForSharesResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size, err := m.Amount.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + return len(dAtA) - i, nil +} + func encodeVarintTx(dAtA []byte, offset int, v uint64) int { offset -= sovTx(v) base := offset @@ -1880,16 +2229,76 @@ func (m *MsgUpdateParamsResponse) Size() (n int) { return n } -func sovTx(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozTx(x uint64) (n int) { - return sovTx(uint64((x << 1) ^ uint64((int64(x) >> 63)))) -} -func (m *MsgCreateValidator) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { +func (m *MsgTokenizeShares) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.DelegatorAddress) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.ValidatorAddress) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = m.Amount.Size() + n += 1 + l + sovTx(uint64(l)) + l = len(m.TokenizedShareOwner) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgTokenizeSharesResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = m.Amount.Size() + n += 1 + l + sovTx(uint64(l)) + return n +} + +func (m *MsgRedeemTokensForShares) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.DelegatorAddress) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = m.Amount.Size() + n += 1 + l + sovTx(uint64(l)) + return n +} + +func (m *MsgRedeemTokensForSharesResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = m.Amount.Size() + n += 1 + l + sovTx(uint64(l)) + return n +} + +func sovTx(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozTx(x uint64) (n int) { + return sovTx(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *MsgCreateValidator) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { preIndex := iNdEx var wire uint64 for shift := uint(0); ; shift += 7 { @@ -3559,6 +3968,466 @@ func (m *MsgUpdateParamsResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *MsgTokenizeShares) 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 ErrIntOverflowTx + } + 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: MsgTokenizeShares: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgTokenizeShares: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DelegatorAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DelegatorAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ValidatorAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ValidatorAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TokenizedShareOwner", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.TokenizedShareOwner = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgTokenizeSharesResponse) 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 ErrIntOverflowTx + } + 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: MsgTokenizeSharesResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgTokenizeSharesResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgRedeemTokensForShares) 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 ErrIntOverflowTx + } + 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: MsgRedeemTokensForShares: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgRedeemTokensForShares: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DelegatorAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DelegatorAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgRedeemTokensForSharesResponse) 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 ErrIntOverflowTx + } + 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: MsgRedeemTokensForSharesResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgRedeemTokensForSharesResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipTx(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 From 0fc06d0c2aa606a5c7a60acf0f5a41b4bd6798f3 Mon Sep 17 00:00:00 2001 From: Alexandr Romanenya Date: Mon, 21 Jul 2025 21:32:49 +0300 Subject: [PATCH 02/13] fix: added new messages and update logic --- api/cosmos/staking/v1beta1/genesis.pulsar.go | 1327 ++- api/cosmos/staking/v1beta1/query.pulsar.go | 9539 +++++++++++++++-- api/cosmos/staking/v1beta1/query_grpc.pb.go | 344 + api/cosmos/staking/v1beta1/staking.pulsar.go | 2436 ++++- api/cosmos/staking/v1beta1/tx.pulsar.go | 7032 ++++++++++-- api/cosmos/staking/v1beta1/tx_grpc.pb.go | 323 +- go.mod | 4 +- proto/cosmos/staking/v1beta1/genesis.proto | 39 + proto/cosmos/staking/v1beta1/query.proto | 197 + proto/cosmos/staking/v1beta1/staking.proto | 78 + proto/cosmos/staking/v1beta1/tx.proto | 128 + x/distribution/keeper/hooks.go | 8 + x/distribution/keeper/keeper.go | 171 + .../testutil/expected_keepers_mocks.go | 58 + x/distribution/types/errors.go | 25 +- x/distribution/types/events.go | 13 +- x/distribution/types/expected_keepers.go | 5 + x/slashing/keeper/hooks.go | 4 + x/staking/keeper/genesis.go | 20 +- x/staking/keeper/grpc_query.go | 168 + x/staking/keeper/liquid_stake.go | 474 + x/staking/keeper/msg_server.go | 467 + x/staking/keeper/params.go | 33 + x/staking/keeper/tokenize_share_record.go | 162 + x/staking/testutil/expected_keepers_mocks.go | 56 + x/staking/types/errors.go | 20 + x/staking/types/events.go | 10 + x/staking/types/expected_keepers.go | 6 + x/staking/types/genesis.pb.go | 583 +- x/staking/types/hooks.go | 9 + x/staking/types/keys.go | 43 + x/staking/types/params.go | 14 +- x/staking/types/query.pb.go | 7617 +++++++++---- x/staking/types/query.pb.gw.go | 766 +- x/staking/types/staking.pb.go | 2564 +++-- x/staking/types/tokenize_share_record.go | 51 + x/staking/types/tx.pb.go | 3357 ++++-- 37 files changed, 31862 insertions(+), 6289 deletions(-) create mode 100644 x/staking/keeper/liquid_stake.go create mode 100644 x/staking/keeper/tokenize_share_record.go create mode 100644 x/staking/types/tokenize_share_record.go diff --git a/api/cosmos/staking/v1beta1/genesis.pulsar.go b/api/cosmos/staking/v1beta1/genesis.pulsar.go index 09c705bdb2e7..545aa05c6b2a 100644 --- a/api/cosmos/staking/v1beta1/genesis.pulsar.go +++ b/api/cosmos/staking/v1beta1/genesis.pulsar.go @@ -10,6 +10,7 @@ import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" io "io" reflect "reflect" sync "sync" @@ -270,16 +271,122 @@ func (x *_GenesisState_7_list) IsValid() bool { return x.list != nil } +var _ protoreflect.List = (*_GenesisState_9_list)(nil) + +type _GenesisState_9_list struct { + list *[]*TokenizeShareRecord +} + +func (x *_GenesisState_9_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_GenesisState_9_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +} + +func (x *_GenesisState_9_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*TokenizeShareRecord) + (*x.list)[i] = concreteValue +} + +func (x *_GenesisState_9_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*TokenizeShareRecord) + *x.list = append(*x.list, concreteValue) +} + +func (x *_GenesisState_9_list) AppendMutable() protoreflect.Value { + v := new(TokenizeShareRecord) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_GenesisState_9_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] +} + +func (x *_GenesisState_9_list) NewElement() protoreflect.Value { + v := new(TokenizeShareRecord) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_GenesisState_9_list) IsValid() bool { + return x.list != nil +} + +var _ protoreflect.List = (*_GenesisState_12_list)(nil) + +type _GenesisState_12_list struct { + list *[]*TokenizeShareLock +} + +func (x *_GenesisState_12_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_GenesisState_12_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +} + +func (x *_GenesisState_12_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*TokenizeShareLock) + (*x.list)[i] = concreteValue +} + +func (x *_GenesisState_12_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*TokenizeShareLock) + *x.list = append(*x.list, concreteValue) +} + +func (x *_GenesisState_12_list) AppendMutable() protoreflect.Value { + v := new(TokenizeShareLock) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_GenesisState_12_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] +} + +func (x *_GenesisState_12_list) NewElement() protoreflect.Value { + v := new(TokenizeShareLock) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_GenesisState_12_list) IsValid() bool { + return x.list != nil +} + var ( - md_GenesisState protoreflect.MessageDescriptor - fd_GenesisState_params protoreflect.FieldDescriptor - fd_GenesisState_last_total_power protoreflect.FieldDescriptor - fd_GenesisState_last_validator_powers protoreflect.FieldDescriptor - fd_GenesisState_validators protoreflect.FieldDescriptor - fd_GenesisState_delegations protoreflect.FieldDescriptor - fd_GenesisState_unbonding_delegations protoreflect.FieldDescriptor - fd_GenesisState_redelegations protoreflect.FieldDescriptor - fd_GenesisState_exported protoreflect.FieldDescriptor + md_GenesisState protoreflect.MessageDescriptor + fd_GenesisState_params protoreflect.FieldDescriptor + fd_GenesisState_last_total_power protoreflect.FieldDescriptor + fd_GenesisState_last_validator_powers protoreflect.FieldDescriptor + fd_GenesisState_validators protoreflect.FieldDescriptor + fd_GenesisState_delegations protoreflect.FieldDescriptor + fd_GenesisState_unbonding_delegations protoreflect.FieldDescriptor + fd_GenesisState_redelegations protoreflect.FieldDescriptor + fd_GenesisState_exported protoreflect.FieldDescriptor + fd_GenesisState_tokenize_share_records protoreflect.FieldDescriptor + fd_GenesisState_last_tokenize_share_record_id protoreflect.FieldDescriptor + fd_GenesisState_total_liquid_staked_tokens protoreflect.FieldDescriptor + fd_GenesisState_tokenize_share_locks protoreflect.FieldDescriptor ) func init() { @@ -293,6 +400,10 @@ func init() { fd_GenesisState_unbonding_delegations = md_GenesisState.Fields().ByName("unbonding_delegations") fd_GenesisState_redelegations = md_GenesisState.Fields().ByName("redelegations") fd_GenesisState_exported = md_GenesisState.Fields().ByName("exported") + fd_GenesisState_tokenize_share_records = md_GenesisState.Fields().ByName("tokenize_share_records") + fd_GenesisState_last_tokenize_share_record_id = md_GenesisState.Fields().ByName("last_tokenize_share_record_id") + fd_GenesisState_total_liquid_staked_tokens = md_GenesisState.Fields().ByName("total_liquid_staked_tokens") + fd_GenesisState_tokenize_share_locks = md_GenesisState.Fields().ByName("tokenize_share_locks") } var _ protoreflect.Message = (*fastReflection_GenesisState)(nil) @@ -408,6 +519,30 @@ func (x *fastReflection_GenesisState) Range(f func(protoreflect.FieldDescriptor, return } } + if len(x.TokenizeShareRecords) != 0 { + value := protoreflect.ValueOfList(&_GenesisState_9_list{list: &x.TokenizeShareRecords}) + if !f(fd_GenesisState_tokenize_share_records, value) { + return + } + } + if x.LastTokenizeShareRecordId != uint64(0) { + value := protoreflect.ValueOfUint64(x.LastTokenizeShareRecordId) + if !f(fd_GenesisState_last_tokenize_share_record_id, value) { + return + } + } + if len(x.TotalLiquidStakedTokens) != 0 { + value := protoreflect.ValueOfBytes(x.TotalLiquidStakedTokens) + if !f(fd_GenesisState_total_liquid_staked_tokens, value) { + return + } + } + if len(x.TokenizeShareLocks) != 0 { + value := protoreflect.ValueOfList(&_GenesisState_12_list{list: &x.TokenizeShareLocks}) + if !f(fd_GenesisState_tokenize_share_locks, value) { + return + } + } } // Has reports whether a field is populated. @@ -439,6 +574,14 @@ func (x *fastReflection_GenesisState) Has(fd protoreflect.FieldDescriptor) bool return len(x.Redelegations) != 0 case "cosmos.staking.v1beta1.GenesisState.exported": return x.Exported != false + case "cosmos.staking.v1beta1.GenesisState.tokenize_share_records": + return len(x.TokenizeShareRecords) != 0 + case "cosmos.staking.v1beta1.GenesisState.last_tokenize_share_record_id": + return x.LastTokenizeShareRecordId != uint64(0) + case "cosmos.staking.v1beta1.GenesisState.total_liquid_staked_tokens": + return len(x.TotalLiquidStakedTokens) != 0 + case "cosmos.staking.v1beta1.GenesisState.tokenize_share_locks": + return len(x.TokenizeShareLocks) != 0 default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.GenesisState")) @@ -471,6 +614,14 @@ func (x *fastReflection_GenesisState) Clear(fd protoreflect.FieldDescriptor) { x.Redelegations = nil case "cosmos.staking.v1beta1.GenesisState.exported": x.Exported = false + case "cosmos.staking.v1beta1.GenesisState.tokenize_share_records": + x.TokenizeShareRecords = nil + case "cosmos.staking.v1beta1.GenesisState.last_tokenize_share_record_id": + x.LastTokenizeShareRecordId = uint64(0) + case "cosmos.staking.v1beta1.GenesisState.total_liquid_staked_tokens": + x.TotalLiquidStakedTokens = nil + case "cosmos.staking.v1beta1.GenesisState.tokenize_share_locks": + x.TokenizeShareLocks = nil default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.GenesisState")) @@ -526,6 +677,24 @@ func (x *fastReflection_GenesisState) Get(descriptor protoreflect.FieldDescripto case "cosmos.staking.v1beta1.GenesisState.exported": value := x.Exported return protoreflect.ValueOfBool(value) + case "cosmos.staking.v1beta1.GenesisState.tokenize_share_records": + if len(x.TokenizeShareRecords) == 0 { + return protoreflect.ValueOfList(&_GenesisState_9_list{}) + } + listValue := &_GenesisState_9_list{list: &x.TokenizeShareRecords} + return protoreflect.ValueOfList(listValue) + case "cosmos.staking.v1beta1.GenesisState.last_tokenize_share_record_id": + value := x.LastTokenizeShareRecordId + return protoreflect.ValueOfUint64(value) + case "cosmos.staking.v1beta1.GenesisState.total_liquid_staked_tokens": + value := x.TotalLiquidStakedTokens + return protoreflect.ValueOfBytes(value) + case "cosmos.staking.v1beta1.GenesisState.tokenize_share_locks": + if len(x.TokenizeShareLocks) == 0 { + return protoreflect.ValueOfList(&_GenesisState_12_list{}) + } + listValue := &_GenesisState_12_list{list: &x.TokenizeShareLocks} + return protoreflect.ValueOfList(listValue) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.GenesisState")) @@ -572,6 +741,18 @@ func (x *fastReflection_GenesisState) Set(fd protoreflect.FieldDescriptor, value x.Redelegations = *clv.list case "cosmos.staking.v1beta1.GenesisState.exported": x.Exported = value.Bool() + case "cosmos.staking.v1beta1.GenesisState.tokenize_share_records": + lv := value.List() + clv := lv.(*_GenesisState_9_list) + x.TokenizeShareRecords = *clv.list + case "cosmos.staking.v1beta1.GenesisState.last_tokenize_share_record_id": + x.LastTokenizeShareRecordId = value.Uint() + case "cosmos.staking.v1beta1.GenesisState.total_liquid_staked_tokens": + x.TotalLiquidStakedTokens = value.Bytes() + case "cosmos.staking.v1beta1.GenesisState.tokenize_share_locks": + lv := value.List() + clv := lv.(*_GenesisState_12_list) + x.TokenizeShareLocks = *clv.list default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.GenesisState")) @@ -627,10 +808,26 @@ func (x *fastReflection_GenesisState) Mutable(fd protoreflect.FieldDescriptor) p } value := &_GenesisState_7_list{list: &x.Redelegations} return protoreflect.ValueOfList(value) + case "cosmos.staking.v1beta1.GenesisState.tokenize_share_records": + if x.TokenizeShareRecords == nil { + x.TokenizeShareRecords = []*TokenizeShareRecord{} + } + value := &_GenesisState_9_list{list: &x.TokenizeShareRecords} + return protoreflect.ValueOfList(value) + case "cosmos.staking.v1beta1.GenesisState.tokenize_share_locks": + if x.TokenizeShareLocks == nil { + x.TokenizeShareLocks = []*TokenizeShareLock{} + } + value := &_GenesisState_12_list{list: &x.TokenizeShareLocks} + return protoreflect.ValueOfList(value) case "cosmos.staking.v1beta1.GenesisState.last_total_power": panic(fmt.Errorf("field last_total_power of message cosmos.staking.v1beta1.GenesisState is not mutable")) case "cosmos.staking.v1beta1.GenesisState.exported": panic(fmt.Errorf("field exported of message cosmos.staking.v1beta1.GenesisState is not mutable")) + case "cosmos.staking.v1beta1.GenesisState.last_tokenize_share_record_id": + panic(fmt.Errorf("field last_tokenize_share_record_id of message cosmos.staking.v1beta1.GenesisState is not mutable")) + case "cosmos.staking.v1beta1.GenesisState.total_liquid_staked_tokens": + panic(fmt.Errorf("field total_liquid_staked_tokens of message cosmos.staking.v1beta1.GenesisState is not mutable")) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.GenesisState")) @@ -666,6 +863,16 @@ func (x *fastReflection_GenesisState) NewField(fd protoreflect.FieldDescriptor) return protoreflect.ValueOfList(&_GenesisState_7_list{list: &list}) case "cosmos.staking.v1beta1.GenesisState.exported": return protoreflect.ValueOfBool(false) + case "cosmos.staking.v1beta1.GenesisState.tokenize_share_records": + list := []*TokenizeShareRecord{} + return protoreflect.ValueOfList(&_GenesisState_9_list{list: &list}) + case "cosmos.staking.v1beta1.GenesisState.last_tokenize_share_record_id": + return protoreflect.ValueOfUint64(uint64(0)) + case "cosmos.staking.v1beta1.GenesisState.total_liquid_staked_tokens": + return protoreflect.ValueOfBytes(nil) + case "cosmos.staking.v1beta1.GenesisState.tokenize_share_locks": + list := []*TokenizeShareLock{} + return protoreflect.ValueOfList(&_GenesisState_12_list{list: &list}) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.GenesisState")) @@ -776,6 +983,25 @@ func (x *fastReflection_GenesisState) ProtoMethods() *protoiface.Methods { if x.Exported { n += 2 } + if len(x.TokenizeShareRecords) > 0 { + for _, e := range x.TokenizeShareRecords { + l = options.Size(e) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + if x.LastTokenizeShareRecordId != 0 { + n += 1 + runtime.Sov(uint64(x.LastTokenizeShareRecordId)) + } + l = len(x.TotalLiquidStakedTokens) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if len(x.TokenizeShareLocks) > 0 { + for _, e := range x.TokenizeShareLocks { + l = options.Size(e) + n += 1 + l + runtime.Sov(uint64(l)) + } + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -805,6 +1031,50 @@ func (x *fastReflection_GenesisState) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } + if len(x.TokenizeShareLocks) > 0 { + for iNdEx := len(x.TokenizeShareLocks) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.TokenizeShareLocks[iNdEx]) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x62 + } + } + if len(x.TotalLiquidStakedTokens) > 0 { + i -= len(x.TotalLiquidStakedTokens) + copy(dAtA[i:], x.TotalLiquidStakedTokens) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.TotalLiquidStakedTokens))) + i-- + dAtA[i] = 0x5a + } + if x.LastTokenizeShareRecordId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.LastTokenizeShareRecordId)) + i-- + dAtA[i] = 0x50 + } + if len(x.TokenizeShareRecords) > 0 { + for iNdEx := len(x.TokenizeShareRecords) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.TokenizeShareRecords[iNdEx]) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x4a + } + } if x.Exported { i-- if x.Exported { @@ -1225,6 +1495,127 @@ func (x *fastReflection_GenesisState) ProtoMethods() *protoiface.Methods { } } x.Exported = bool(v != 0) + case 9: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field TokenizeShareRecords", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.TokenizeShareRecords = append(x.TokenizeShareRecords, &TokenizeShareRecord{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.TokenizeShareRecords[len(x.TokenizeShareRecords)-1]); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 10: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field LastTokenizeShareRecordId", wireType) + } + x.LastTokenizeShareRecordId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.LastTokenizeShareRecordId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 11: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field TotalLiquidStakedTokens", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.TotalLiquidStakedTokens = append(x.TotalLiquidStakedTokens[:0], dAtA[iNdEx:postIndex]...) + if x.TotalLiquidStakedTokens == nil { + x.TotalLiquidStakedTokens = []byte{} + } + iNdEx = postIndex + case 12: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field TokenizeShareLocks", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.TokenizeShareLocks = append(x.TokenizeShareLocks, &TokenizeShareLock{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.TokenizeShareLocks[len(x.TokenizeShareLocks)-1]); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -1261,27 +1652,29 @@ func (x *fastReflection_GenesisState) ProtoMethods() *protoiface.Methods { } var ( - md_LastValidatorPower protoreflect.MessageDescriptor - fd_LastValidatorPower_address protoreflect.FieldDescriptor - fd_LastValidatorPower_power protoreflect.FieldDescriptor + md_TokenizeShareLock protoreflect.MessageDescriptor + fd_TokenizeShareLock_address protoreflect.FieldDescriptor + fd_TokenizeShareLock_status protoreflect.FieldDescriptor + fd_TokenizeShareLock_completion_time protoreflect.FieldDescriptor ) func init() { file_cosmos_staking_v1beta1_genesis_proto_init() - md_LastValidatorPower = File_cosmos_staking_v1beta1_genesis_proto.Messages().ByName("LastValidatorPower") - fd_LastValidatorPower_address = md_LastValidatorPower.Fields().ByName("address") - fd_LastValidatorPower_power = md_LastValidatorPower.Fields().ByName("power") + md_TokenizeShareLock = File_cosmos_staking_v1beta1_genesis_proto.Messages().ByName("TokenizeShareLock") + fd_TokenizeShareLock_address = md_TokenizeShareLock.Fields().ByName("address") + fd_TokenizeShareLock_status = md_TokenizeShareLock.Fields().ByName("status") + fd_TokenizeShareLock_completion_time = md_TokenizeShareLock.Fields().ByName("completion_time") } -var _ protoreflect.Message = (*fastReflection_LastValidatorPower)(nil) +var _ protoreflect.Message = (*fastReflection_TokenizeShareLock)(nil) -type fastReflection_LastValidatorPower LastValidatorPower +type fastReflection_TokenizeShareLock TokenizeShareLock -func (x *LastValidatorPower) ProtoReflect() protoreflect.Message { - return (*fastReflection_LastValidatorPower)(x) +func (x *TokenizeShareLock) ProtoReflect() protoreflect.Message { + return (*fastReflection_TokenizeShareLock)(x) } -func (x *LastValidatorPower) slowProtoReflect() protoreflect.Message { +func (x *TokenizeShareLock) slowProtoReflect() protoreflect.Message { mi := &file_cosmos_staking_v1beta1_genesis_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1293,13 +1686,574 @@ func (x *LastValidatorPower) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_LastValidatorPower_messageType fastReflection_LastValidatorPower_messageType -var _ protoreflect.MessageType = fastReflection_LastValidatorPower_messageType{} +var _fastReflection_TokenizeShareLock_messageType fastReflection_TokenizeShareLock_messageType +var _ protoreflect.MessageType = fastReflection_TokenizeShareLock_messageType{} -type fastReflection_LastValidatorPower_messageType struct{} +type fastReflection_TokenizeShareLock_messageType struct{} -func (x fastReflection_LastValidatorPower_messageType) Zero() protoreflect.Message { - return (*fastReflection_LastValidatorPower)(nil) +func (x fastReflection_TokenizeShareLock_messageType) Zero() protoreflect.Message { + return (*fastReflection_TokenizeShareLock)(nil) +} +func (x fastReflection_TokenizeShareLock_messageType) New() protoreflect.Message { + return new(fastReflection_TokenizeShareLock) +} +func (x fastReflection_TokenizeShareLock_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_TokenizeShareLock +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_TokenizeShareLock) Descriptor() protoreflect.MessageDescriptor { + return md_TokenizeShareLock +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_TokenizeShareLock) Type() protoreflect.MessageType { + return _fastReflection_TokenizeShareLock_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_TokenizeShareLock) New() protoreflect.Message { + return new(fastReflection_TokenizeShareLock) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_TokenizeShareLock) Interface() protoreflect.ProtoMessage { + return (*TokenizeShareLock)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_TokenizeShareLock) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Address != "" { + value := protoreflect.ValueOfString(x.Address) + if !f(fd_TokenizeShareLock_address, value) { + return + } + } + if x.Status != "" { + value := protoreflect.ValueOfString(x.Status) + if !f(fd_TokenizeShareLock_status, value) { + return + } + } + if x.CompletionTime != nil { + value := protoreflect.ValueOfMessage(x.CompletionTime.ProtoReflect()) + if !f(fd_TokenizeShareLock_completion_time, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_TokenizeShareLock) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cosmos.staking.v1beta1.TokenizeShareLock.address": + return x.Address != "" + case "cosmos.staking.v1beta1.TokenizeShareLock.status": + return x.Status != "" + case "cosmos.staking.v1beta1.TokenizeShareLock.completion_time": + return x.CompletionTime != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.TokenizeShareLock")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.TokenizeShareLock does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_TokenizeShareLock) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.TokenizeShareLock.address": + x.Address = "" + case "cosmos.staking.v1beta1.TokenizeShareLock.status": + x.Status = "" + case "cosmos.staking.v1beta1.TokenizeShareLock.completion_time": + x.CompletionTime = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.TokenizeShareLock")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.TokenizeShareLock does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_TokenizeShareLock) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cosmos.staking.v1beta1.TokenizeShareLock.address": + value := x.Address + return protoreflect.ValueOfString(value) + case "cosmos.staking.v1beta1.TokenizeShareLock.status": + value := x.Status + return protoreflect.ValueOfString(value) + case "cosmos.staking.v1beta1.TokenizeShareLock.completion_time": + value := x.CompletionTime + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.TokenizeShareLock")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.TokenizeShareLock does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_TokenizeShareLock) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.TokenizeShareLock.address": + x.Address = value.Interface().(string) + case "cosmos.staking.v1beta1.TokenizeShareLock.status": + x.Status = value.Interface().(string) + case "cosmos.staking.v1beta1.TokenizeShareLock.completion_time": + x.CompletionTime = value.Message().Interface().(*timestamppb.Timestamp) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.TokenizeShareLock")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.TokenizeShareLock does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_TokenizeShareLock) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.TokenizeShareLock.completion_time": + if x.CompletionTime == nil { + x.CompletionTime = new(timestamppb.Timestamp) + } + return protoreflect.ValueOfMessage(x.CompletionTime.ProtoReflect()) + case "cosmos.staking.v1beta1.TokenizeShareLock.address": + panic(fmt.Errorf("field address of message cosmos.staking.v1beta1.TokenizeShareLock is not mutable")) + case "cosmos.staking.v1beta1.TokenizeShareLock.status": + panic(fmt.Errorf("field status of message cosmos.staking.v1beta1.TokenizeShareLock is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.TokenizeShareLock")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.TokenizeShareLock does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_TokenizeShareLock) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.TokenizeShareLock.address": + return protoreflect.ValueOfString("") + case "cosmos.staking.v1beta1.TokenizeShareLock.status": + return protoreflect.ValueOfString("") + case "cosmos.staking.v1beta1.TokenizeShareLock.completion_time": + m := new(timestamppb.Timestamp) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.TokenizeShareLock")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.TokenizeShareLock does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_TokenizeShareLock) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cosmos.staking.v1beta1.TokenizeShareLock", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_TokenizeShareLock) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_TokenizeShareLock) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_TokenizeShareLock) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_TokenizeShareLock) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*TokenizeShareLock) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Address) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Status) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.CompletionTime != nil { + l = options.Size(x.CompletionTime) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*TokenizeShareLock) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.CompletionTime != nil { + encoded, err := options.Marshal(x.CompletionTime) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x1a + } + if len(x.Status) > 0 { + i -= len(x.Status) + copy(dAtA[i:], x.Status) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Status))) + i-- + dAtA[i] = 0x12 + } + if len(x.Address) > 0 { + i -= len(x.Address) + copy(dAtA[i:], x.Address) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Address))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*TokenizeShareLock) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, 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 protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: TokenizeShareLock: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: TokenizeShareLock: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Address = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Status = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CompletionTime", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.CompletionTime == nil { + x.CompletionTime = ×tamppb.Timestamp{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.CompletionTime); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_LastValidatorPower protoreflect.MessageDescriptor + fd_LastValidatorPower_address protoreflect.FieldDescriptor + fd_LastValidatorPower_power protoreflect.FieldDescriptor +) + +func init() { + file_cosmos_staking_v1beta1_genesis_proto_init() + md_LastValidatorPower = File_cosmos_staking_v1beta1_genesis_proto.Messages().ByName("LastValidatorPower") + fd_LastValidatorPower_address = md_LastValidatorPower.Fields().ByName("address") + fd_LastValidatorPower_power = md_LastValidatorPower.Fields().ByName("power") +} + +var _ protoreflect.Message = (*fastReflection_LastValidatorPower)(nil) + +type fastReflection_LastValidatorPower LastValidatorPower + +func (x *LastValidatorPower) ProtoReflect() protoreflect.Message { + return (*fastReflection_LastValidatorPower)(x) +} + +func (x *LastValidatorPower) slowProtoReflect() protoreflect.Message { + mi := &file_cosmos_staking_v1beta1_genesis_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_LastValidatorPower_messageType fastReflection_LastValidatorPower_messageType +var _ protoreflect.MessageType = fastReflection_LastValidatorPower_messageType{} + +type fastReflection_LastValidatorPower_messageType struct{} + +func (x fastReflection_LastValidatorPower_messageType) Zero() protoreflect.Message { + return (*fastReflection_LastValidatorPower)(nil) } func (x fastReflection_LastValidatorPower_messageType) New() protoreflect.Message { return new(fastReflection_LastValidatorPower) @@ -1765,6 +2719,22 @@ type GenesisState struct { Redelegations []*Redelegation `protobuf:"bytes,7,rep,name=redelegations,proto3" json:"redelegations,omitempty"` // exported defines a bool to identify whether the chain dealing with exported or initialized genesis. Exported bool `protobuf:"varint,8,opt,name=exported,proto3" json:"exported,omitempty"` + // store tokenize share records to provide reward to record owners. + // + // Since: cosmos-sdk 0.47-lsm + TokenizeShareRecords []*TokenizeShareRecord `protobuf:"bytes,9,rep,name=tokenize_share_records,json=tokenizeShareRecords,proto3" json:"tokenize_share_records,omitempty"` + // last tokenize share record id, used for next share record id calculation. + // + // Since: cosmos-sdk 0.47-lsm + LastTokenizeShareRecordId uint64 `protobuf:"varint,10,opt,name=last_tokenize_share_record_id,json=lastTokenizeShareRecordId,proto3" json:"last_tokenize_share_record_id,omitempty"` + // total number of liquid staked tokens at genesis. + // + // Since: cosmos-sdk 0.47-lsm + TotalLiquidStakedTokens []byte `protobuf:"bytes,11,opt,name=total_liquid_staked_tokens,json=totalLiquidStakedTokens,proto3" json:"total_liquid_staked_tokens,omitempty"` + // tokenize shares locks at genesis. + // + // Since: cosmos-sdk 0.47-lsm + TokenizeShareLocks []*TokenizeShareLock `protobuf:"bytes,12,rep,name=tokenize_share_locks,json=tokenizeShareLocks,proto3" json:"tokenize_share_locks,omitempty"` } func (x *GenesisState) Reset() { @@ -1843,6 +2813,91 @@ func (x *GenesisState) GetExported() bool { return false } +func (x *GenesisState) GetTokenizeShareRecords() []*TokenizeShareRecord { + if x != nil { + return x.TokenizeShareRecords + } + return nil +} + +func (x *GenesisState) GetLastTokenizeShareRecordId() uint64 { + if x != nil { + return x.LastTokenizeShareRecordId + } + return 0 +} + +func (x *GenesisState) GetTotalLiquidStakedTokens() []byte { + if x != nil { + return x.TotalLiquidStakedTokens + } + return nil +} + +func (x *GenesisState) GetTokenizeShareLocks() []*TokenizeShareLock { + if x != nil { + return x.TokenizeShareLocks + } + return nil +} + +// TokenizeSharesLock required for specifying account locks at genesis. +// +// Since: cosmos-sdk 0.47-lsm +type TokenizeShareLock struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Address of the account that is locked. + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + // Status of the lock (LOCKED or LOCK_EXPIRING) + Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` + // Completion time if the lock is expiring. + CompletionTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=completion_time,json=completionTime,proto3" json:"completion_time,omitempty"` +} + +func (x *TokenizeShareLock) Reset() { + *x = TokenizeShareLock{} + if protoimpl.UnsafeEnabled { + mi := &file_cosmos_staking_v1beta1_genesis_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TokenizeShareLock) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TokenizeShareLock) ProtoMessage() {} + +// Deprecated: Use TokenizeShareLock.ProtoReflect.Descriptor instead. +func (*TokenizeShareLock) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_genesis_proto_rawDescGZIP(), []int{1} +} + +func (x *TokenizeShareLock) GetAddress() string { + if x != nil { + return x.Address + } + return "" +} + +func (x *TokenizeShareLock) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *TokenizeShareLock) GetCompletionTime() *timestamppb.Timestamp { + if x != nil { + return x.CompletionTime + } + return nil +} + // LastValidatorPower required for validator set update logic. type LastValidatorPower struct { state protoimpl.MessageState @@ -1858,7 +2913,7 @@ type LastValidatorPower struct { func (x *LastValidatorPower) Reset() { *x = LastValidatorPower{} if protoimpl.UnsafeEnabled { - mi := &file_cosmos_staking_v1beta1_genesis_proto_msgTypes[1] + mi := &file_cosmos_staking_v1beta1_genesis_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1872,7 +2927,7 @@ func (*LastValidatorPower) ProtoMessage() {} // Deprecated: Use LastValidatorPower.ProtoReflect.Descriptor instead. func (*LastValidatorPower) Descriptor() ([]byte, []int) { - return file_cosmos_staking_v1beta1_genesis_proto_rawDescGZIP(), []int{1} + return file_cosmos_staking_v1beta1_genesis_proto_rawDescGZIP(), []int{2} } func (x *LastValidatorPower) GetAddress() string { @@ -1902,70 +2957,106 @@ var file_cosmos_staking_v1beta1_genesis_proto_rawDesc = []byte{ 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x6d, 0x69, - 0x6e, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x97, 0x05, 0x0a, 0x0c, 0x47, 0x65, 0x6e, - 0x65, 0x73, 0x69, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, - 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, - 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x5a, 0x0a, 0x10, - 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x30, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, - 0x68, 0x2e, 0x49, 0x6e, 0x74, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, - 0x49, 0x6e, 0x74, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x6f, - 0x74, 0x61, 0x6c, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x12, 0x69, 0x0a, 0x15, 0x6c, 0x61, 0x73, 0x74, - 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, - 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x6e, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa1, 0x08, 0x0a, 0x0c, 0x47, 0x65, + 0x6e, 0x65, 0x73, 0x69, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, + 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x5a, 0x0a, + 0x10, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x77, 0x65, + 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x30, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, + 0x15, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, + 0x74, 0x68, 0x2e, 0x49, 0x6e, 0x74, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2e, 0x49, 0x6e, 0x74, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x54, + 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x12, 0x69, 0x0a, 0x15, 0x6c, 0x61, 0x73, + 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x70, 0x6f, 0x77, 0x65, + 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x4c, 0x61, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x50, + 0x6f, 0x77, 0x65, 0x72, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, + 0x13, 0x6c, 0x61, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x6f, + 0x77, 0x65, 0x72, 0x73, 0x12, 0x4c, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, + 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x42, 0x09, 0xc8, 0xde, 0x1f, + 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, + 0x72, 0x73, 0x12, 0x4f, 0x0a, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x4c, 0x61, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x6f, - 0x77, 0x65, 0x72, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x13, - 0x6c, 0x61, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x77, - 0x65, 0x72, 0x73, 0x12, 0x4c, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, - 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, + 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x6b, 0x0a, 0x15, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, + 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x6e, 0x62, 0x6f, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, + 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x14, 0x75, 0x6e, 0x62, 0x6f, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x55, 0x0a, 0x0d, 0x72, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, - 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, - 0x73, 0x12, 0x4f, 0x0a, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, - 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, - 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x6b, 0x0a, 0x15, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, - 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, - 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x6e, 0x62, 0x6f, 0x6e, - 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, - 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x14, 0x75, 0x6e, 0x62, 0x6f, 0x6e, - 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x55, 0x0a, 0x0d, 0x72, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, - 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0xc8, 0xde, - 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0d, 0x72, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, - 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, - 0x65, 0x64, 0x22, 0x68, 0x0a, 0x12, 0x4c, 0x61, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x12, 0x32, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, - 0x70, 0x6f, 0x77, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x70, 0x6f, 0x77, - 0x65, 0x72, 0x3a, 0x08, 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x42, 0xdc, 0x01, 0x0a, - 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, - 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0c, 0x47, 0x65, 0x6e, - 0x65, 0x73, 0x69, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x3b, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x53, 0x58, 0xaa, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0xca, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, - 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x22, 0x43, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0xea, 0x02, 0x18, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x53, 0x74, 0x61, 0x6b, 0x69, - 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0xc8, + 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0d, 0x72, 0x65, 0x64, 0x65, 0x6c, 0x65, + 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x70, 0x6f, 0x72, + 0x74, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x65, 0x78, 0x70, 0x6f, 0x72, + 0x74, 0x65, 0x64, 0x12, 0x6c, 0x0a, 0x16, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x5f, + 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x09, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, + 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x14, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x73, 0x12, 0x40, 0x0a, 0x1d, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x69, + 0x7a, 0x65, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, + 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x19, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, + 0x64, 0x49, 0x64, 0x12, 0x70, 0x0a, 0x1a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x71, + 0x75, 0x69, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x33, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, + 0x26, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x74, 0x79, + 0x70, 0x65, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x17, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x64, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x66, 0x0a, 0x14, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, + 0x65, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18, 0x0c, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, + 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x42, 0x09, + 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x12, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x73, 0x22, 0x94, 0x01, + 0x0a, 0x11, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, + 0x6f, 0x63, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x4d, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x08, 0xc8, 0xde, 0x1f, 0x00, + 0x90, 0xdf, 0x1f, 0x01, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, + 0x54, 0x69, 0x6d, 0x65, 0x22, 0x68, 0x0a, 0x12, 0x4c, 0x61, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x12, 0x32, 0x0a, 0x07, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, + 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, + 0x0a, 0x05, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x70, + 0x6f, 0x77, 0x65, 0x72, 0x3a, 0x08, 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x42, 0xdc, + 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, + 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0c, 0x47, + 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x53, 0x58, 0xaa, 0x02, 0x16, 0x43, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, + 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x22, + 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0xea, 0x02, 0x18, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x53, 0x74, 0x61, + 0x6b, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1980,28 +3071,34 @@ func file_cosmos_staking_v1beta1_genesis_proto_rawDescGZIP() []byte { return file_cosmos_staking_v1beta1_genesis_proto_rawDescData } -var file_cosmos_staking_v1beta1_genesis_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_cosmos_staking_v1beta1_genesis_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_cosmos_staking_v1beta1_genesis_proto_goTypes = []interface{}{ - (*GenesisState)(nil), // 0: cosmos.staking.v1beta1.GenesisState - (*LastValidatorPower)(nil), // 1: cosmos.staking.v1beta1.LastValidatorPower - (*Params)(nil), // 2: cosmos.staking.v1beta1.Params - (*Validator)(nil), // 3: cosmos.staking.v1beta1.Validator - (*Delegation)(nil), // 4: cosmos.staking.v1beta1.Delegation - (*UnbondingDelegation)(nil), // 5: cosmos.staking.v1beta1.UnbondingDelegation - (*Redelegation)(nil), // 6: cosmos.staking.v1beta1.Redelegation + (*GenesisState)(nil), // 0: cosmos.staking.v1beta1.GenesisState + (*TokenizeShareLock)(nil), // 1: cosmos.staking.v1beta1.TokenizeShareLock + (*LastValidatorPower)(nil), // 2: cosmos.staking.v1beta1.LastValidatorPower + (*Params)(nil), // 3: cosmos.staking.v1beta1.Params + (*Validator)(nil), // 4: cosmos.staking.v1beta1.Validator + (*Delegation)(nil), // 5: cosmos.staking.v1beta1.Delegation + (*UnbondingDelegation)(nil), // 6: cosmos.staking.v1beta1.UnbondingDelegation + (*Redelegation)(nil), // 7: cosmos.staking.v1beta1.Redelegation + (*TokenizeShareRecord)(nil), // 8: cosmos.staking.v1beta1.TokenizeShareRecord + (*timestamppb.Timestamp)(nil), // 9: google.protobuf.Timestamp } var file_cosmos_staking_v1beta1_genesis_proto_depIdxs = []int32{ - 2, // 0: cosmos.staking.v1beta1.GenesisState.params:type_name -> cosmos.staking.v1beta1.Params - 1, // 1: cosmos.staking.v1beta1.GenesisState.last_validator_powers:type_name -> cosmos.staking.v1beta1.LastValidatorPower - 3, // 2: cosmos.staking.v1beta1.GenesisState.validators:type_name -> cosmos.staking.v1beta1.Validator - 4, // 3: cosmos.staking.v1beta1.GenesisState.delegations:type_name -> cosmos.staking.v1beta1.Delegation - 5, // 4: cosmos.staking.v1beta1.GenesisState.unbonding_delegations:type_name -> cosmos.staking.v1beta1.UnbondingDelegation - 6, // 5: cosmos.staking.v1beta1.GenesisState.redelegations:type_name -> cosmos.staking.v1beta1.Redelegation - 6, // [6:6] is the sub-list for method output_type - 6, // [6:6] is the sub-list for method input_type - 6, // [6:6] is the sub-list for extension type_name - 6, // [6:6] is the sub-list for extension extendee - 0, // [0:6] is the sub-list for field type_name + 3, // 0: cosmos.staking.v1beta1.GenesisState.params:type_name -> cosmos.staking.v1beta1.Params + 2, // 1: cosmos.staking.v1beta1.GenesisState.last_validator_powers:type_name -> cosmos.staking.v1beta1.LastValidatorPower + 4, // 2: cosmos.staking.v1beta1.GenesisState.validators:type_name -> cosmos.staking.v1beta1.Validator + 5, // 3: cosmos.staking.v1beta1.GenesisState.delegations:type_name -> cosmos.staking.v1beta1.Delegation + 6, // 4: cosmos.staking.v1beta1.GenesisState.unbonding_delegations:type_name -> cosmos.staking.v1beta1.UnbondingDelegation + 7, // 5: cosmos.staking.v1beta1.GenesisState.redelegations:type_name -> cosmos.staking.v1beta1.Redelegation + 8, // 6: cosmos.staking.v1beta1.GenesisState.tokenize_share_records:type_name -> cosmos.staking.v1beta1.TokenizeShareRecord + 1, // 7: cosmos.staking.v1beta1.GenesisState.tokenize_share_locks:type_name -> cosmos.staking.v1beta1.TokenizeShareLock + 9, // 8: cosmos.staking.v1beta1.TokenizeShareLock.completion_time:type_name -> google.protobuf.Timestamp + 9, // [9:9] is the sub-list for method output_type + 9, // [9:9] is the sub-list for method input_type + 9, // [9:9] is the sub-list for extension type_name + 9, // [9:9] is the sub-list for extension extendee + 0, // [0:9] is the sub-list for field type_name } func init() { file_cosmos_staking_v1beta1_genesis_proto_init() } @@ -2024,6 +3121,18 @@ func file_cosmos_staking_v1beta1_genesis_proto_init() { } } file_cosmos_staking_v1beta1_genesis_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TokenizeShareLock); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cosmos_staking_v1beta1_genesis_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LastValidatorPower); i { case 0: return &v.state @@ -2042,7 +3151,7 @@ func file_cosmos_staking_v1beta1_genesis_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cosmos_staking_v1beta1_genesis_proto_rawDesc, NumEnums: 0, - NumMessages: 2, + NumMessages: 3, NumExtensions: 0, NumServices: 0, }, diff --git a/api/cosmos/staking/v1beta1/query.pulsar.go b/api/cosmos/staking/v1beta1/query.pulsar.go index f0538f036791..b28a11375d41 100644 --- a/api/cosmos/staking/v1beta1/query.pulsar.go +++ b/api/cosmos/staking/v1beta1/query.pulsar.go @@ -4,6 +4,7 @@ package stakingv1beta1 import ( _ "cosmossdk.io/api/amino" v1beta1 "cosmossdk.io/api/cosmos/base/query/v1beta1" + v1beta11 "cosmossdk.io/api/cosmos/base/v1beta1" _ "cosmossdk.io/api/cosmos/query/v1" fmt "fmt" _ "github.com/cosmos/cosmos-proto" @@ -13683,1218 +13684,8678 @@ func (x *fastReflection_QueryParamsResponse) ProtoMethods() *protoiface.Methods } } +var ( + md_QueryTokenizeShareRecordByIdRequest protoreflect.MessageDescriptor + fd_QueryTokenizeShareRecordByIdRequest_id protoreflect.FieldDescriptor +) + +func init() { + file_cosmos_staking_v1beta1_query_proto_init() + md_QueryTokenizeShareRecordByIdRequest = File_cosmos_staking_v1beta1_query_proto.Messages().ByName("QueryTokenizeShareRecordByIdRequest") + fd_QueryTokenizeShareRecordByIdRequest_id = md_QueryTokenizeShareRecordByIdRequest.Fields().ByName("id") +} + +var _ protoreflect.Message = (*fastReflection_QueryTokenizeShareRecordByIdRequest)(nil) + +type fastReflection_QueryTokenizeShareRecordByIdRequest QueryTokenizeShareRecordByIdRequest + +func (x *QueryTokenizeShareRecordByIdRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryTokenizeShareRecordByIdRequest)(x) +} + +func (x *QueryTokenizeShareRecordByIdRequest) slowProtoReflect() protoreflect.Message { + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[28] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryTokenizeShareRecordByIdRequest_messageType fastReflection_QueryTokenizeShareRecordByIdRequest_messageType +var _ protoreflect.MessageType = fastReflection_QueryTokenizeShareRecordByIdRequest_messageType{} + +type fastReflection_QueryTokenizeShareRecordByIdRequest_messageType struct{} + +func (x fastReflection_QueryTokenizeShareRecordByIdRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryTokenizeShareRecordByIdRequest)(nil) +} +func (x fastReflection_QueryTokenizeShareRecordByIdRequest_messageType) New() protoreflect.Message { + return new(fastReflection_QueryTokenizeShareRecordByIdRequest) +} +func (x fastReflection_QueryTokenizeShareRecordByIdRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryTokenizeShareRecordByIdRequest +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryTokenizeShareRecordByIdRequest) Descriptor() protoreflect.MessageDescriptor { + return md_QueryTokenizeShareRecordByIdRequest +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryTokenizeShareRecordByIdRequest) Type() protoreflect.MessageType { + return _fastReflection_QueryTokenizeShareRecordByIdRequest_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryTokenizeShareRecordByIdRequest) New() protoreflect.Message { + return new(fastReflection_QueryTokenizeShareRecordByIdRequest) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryTokenizeShareRecordByIdRequest) Interface() protoreflect.ProtoMessage { + return (*QueryTokenizeShareRecordByIdRequest)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryTokenizeShareRecordByIdRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Id != uint64(0) { + value := protoreflect.ValueOfUint64(x.Id) + if !f(fd_QueryTokenizeShareRecordByIdRequest_id, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryTokenizeShareRecordByIdRequest) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryTokenizeShareRecordByIdRequest.id": + return x.Id != uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTokenizeShareRecordByIdRequest")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTokenizeShareRecordByIdRequest does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryTokenizeShareRecordByIdRequest) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryTokenizeShareRecordByIdRequest.id": + x.Id = uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTokenizeShareRecordByIdRequest")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTokenizeShareRecordByIdRequest does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryTokenizeShareRecordByIdRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cosmos.staking.v1beta1.QueryTokenizeShareRecordByIdRequest.id": + value := x.Id + return protoreflect.ValueOfUint64(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTokenizeShareRecordByIdRequest")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTokenizeShareRecordByIdRequest does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryTokenizeShareRecordByIdRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryTokenizeShareRecordByIdRequest.id": + x.Id = value.Uint() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTokenizeShareRecordByIdRequest")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTokenizeShareRecordByIdRequest does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryTokenizeShareRecordByIdRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryTokenizeShareRecordByIdRequest.id": + panic(fmt.Errorf("field id of message cosmos.staking.v1beta1.QueryTokenizeShareRecordByIdRequest is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTokenizeShareRecordByIdRequest")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTokenizeShareRecordByIdRequest does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryTokenizeShareRecordByIdRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryTokenizeShareRecordByIdRequest.id": + return protoreflect.ValueOfUint64(uint64(0)) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTokenizeShareRecordByIdRequest")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTokenizeShareRecordByIdRequest does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryTokenizeShareRecordByIdRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cosmos.staking.v1beta1.QueryTokenizeShareRecordByIdRequest", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryTokenizeShareRecordByIdRequest) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryTokenizeShareRecordByIdRequest) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryTokenizeShareRecordByIdRequest) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryTokenizeShareRecordByIdRequest) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryTokenizeShareRecordByIdRequest) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.Id != 0 { + n += 1 + runtime.Sov(uint64(x.Id)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryTokenizeShareRecordByIdRequest) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Id != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.Id)) + i-- + dAtA[i] = 0x8 + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryTokenizeShareRecordByIdRequest) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, 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 protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryTokenizeShareRecordByIdRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryTokenizeShareRecordByIdRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) + } + x.Id = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.Id |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_QueryTokenizeShareRecordByIdResponse protoreflect.MessageDescriptor + fd_QueryTokenizeShareRecordByIdResponse_record protoreflect.FieldDescriptor +) + +func init() { + file_cosmos_staking_v1beta1_query_proto_init() + md_QueryTokenizeShareRecordByIdResponse = File_cosmos_staking_v1beta1_query_proto.Messages().ByName("QueryTokenizeShareRecordByIdResponse") + fd_QueryTokenizeShareRecordByIdResponse_record = md_QueryTokenizeShareRecordByIdResponse.Fields().ByName("record") +} + +var _ protoreflect.Message = (*fastReflection_QueryTokenizeShareRecordByIdResponse)(nil) + +type fastReflection_QueryTokenizeShareRecordByIdResponse QueryTokenizeShareRecordByIdResponse + +func (x *QueryTokenizeShareRecordByIdResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryTokenizeShareRecordByIdResponse)(x) +} + +func (x *QueryTokenizeShareRecordByIdResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[29] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryTokenizeShareRecordByIdResponse_messageType fastReflection_QueryTokenizeShareRecordByIdResponse_messageType +var _ protoreflect.MessageType = fastReflection_QueryTokenizeShareRecordByIdResponse_messageType{} + +type fastReflection_QueryTokenizeShareRecordByIdResponse_messageType struct{} + +func (x fastReflection_QueryTokenizeShareRecordByIdResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryTokenizeShareRecordByIdResponse)(nil) +} +func (x fastReflection_QueryTokenizeShareRecordByIdResponse_messageType) New() protoreflect.Message { + return new(fastReflection_QueryTokenizeShareRecordByIdResponse) +} +func (x fastReflection_QueryTokenizeShareRecordByIdResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryTokenizeShareRecordByIdResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryTokenizeShareRecordByIdResponse) Descriptor() protoreflect.MessageDescriptor { + return md_QueryTokenizeShareRecordByIdResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryTokenizeShareRecordByIdResponse) Type() protoreflect.MessageType { + return _fastReflection_QueryTokenizeShareRecordByIdResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryTokenizeShareRecordByIdResponse) New() protoreflect.Message { + return new(fastReflection_QueryTokenizeShareRecordByIdResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryTokenizeShareRecordByIdResponse) Interface() protoreflect.ProtoMessage { + return (*QueryTokenizeShareRecordByIdResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryTokenizeShareRecordByIdResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Record != nil { + value := protoreflect.ValueOfMessage(x.Record.ProtoReflect()) + if !f(fd_QueryTokenizeShareRecordByIdResponse_record, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryTokenizeShareRecordByIdResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryTokenizeShareRecordByIdResponse.record": + return x.Record != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTokenizeShareRecordByIdResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTokenizeShareRecordByIdResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryTokenizeShareRecordByIdResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryTokenizeShareRecordByIdResponse.record": + x.Record = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTokenizeShareRecordByIdResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTokenizeShareRecordByIdResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryTokenizeShareRecordByIdResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cosmos.staking.v1beta1.QueryTokenizeShareRecordByIdResponse.record": + value := x.Record + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTokenizeShareRecordByIdResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTokenizeShareRecordByIdResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryTokenizeShareRecordByIdResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryTokenizeShareRecordByIdResponse.record": + x.Record = value.Message().Interface().(*TokenizeShareRecord) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTokenizeShareRecordByIdResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTokenizeShareRecordByIdResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryTokenizeShareRecordByIdResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryTokenizeShareRecordByIdResponse.record": + if x.Record == nil { + x.Record = new(TokenizeShareRecord) + } + return protoreflect.ValueOfMessage(x.Record.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTokenizeShareRecordByIdResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTokenizeShareRecordByIdResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryTokenizeShareRecordByIdResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryTokenizeShareRecordByIdResponse.record": + m := new(TokenizeShareRecord) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTokenizeShareRecordByIdResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTokenizeShareRecordByIdResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryTokenizeShareRecordByIdResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cosmos.staking.v1beta1.QueryTokenizeShareRecordByIdResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryTokenizeShareRecordByIdResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryTokenizeShareRecordByIdResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryTokenizeShareRecordByIdResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryTokenizeShareRecordByIdResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryTokenizeShareRecordByIdResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.Record != nil { + l = options.Size(x.Record) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryTokenizeShareRecordByIdResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Record != nil { + encoded, err := options.Marshal(x.Record) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryTokenizeShareRecordByIdResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, 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 protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryTokenizeShareRecordByIdResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryTokenizeShareRecordByIdResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Record", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Record == nil { + x.Record = &TokenizeShareRecord{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Record); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_QueryTokenizeShareRecordByDenomRequest protoreflect.MessageDescriptor + fd_QueryTokenizeShareRecordByDenomRequest_denom protoreflect.FieldDescriptor +) + +func init() { + file_cosmos_staking_v1beta1_query_proto_init() + md_QueryTokenizeShareRecordByDenomRequest = File_cosmos_staking_v1beta1_query_proto.Messages().ByName("QueryTokenizeShareRecordByDenomRequest") + fd_QueryTokenizeShareRecordByDenomRequest_denom = md_QueryTokenizeShareRecordByDenomRequest.Fields().ByName("denom") +} + +var _ protoreflect.Message = (*fastReflection_QueryTokenizeShareRecordByDenomRequest)(nil) + +type fastReflection_QueryTokenizeShareRecordByDenomRequest QueryTokenizeShareRecordByDenomRequest + +func (x *QueryTokenizeShareRecordByDenomRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryTokenizeShareRecordByDenomRequest)(x) +} + +func (x *QueryTokenizeShareRecordByDenomRequest) slowProtoReflect() protoreflect.Message { + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[30] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryTokenizeShareRecordByDenomRequest_messageType fastReflection_QueryTokenizeShareRecordByDenomRequest_messageType +var _ protoreflect.MessageType = fastReflection_QueryTokenizeShareRecordByDenomRequest_messageType{} + +type fastReflection_QueryTokenizeShareRecordByDenomRequest_messageType struct{} + +func (x fastReflection_QueryTokenizeShareRecordByDenomRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryTokenizeShareRecordByDenomRequest)(nil) +} +func (x fastReflection_QueryTokenizeShareRecordByDenomRequest_messageType) New() protoreflect.Message { + return new(fastReflection_QueryTokenizeShareRecordByDenomRequest) +} +func (x fastReflection_QueryTokenizeShareRecordByDenomRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryTokenizeShareRecordByDenomRequest +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryTokenizeShareRecordByDenomRequest) Descriptor() protoreflect.MessageDescriptor { + return md_QueryTokenizeShareRecordByDenomRequest +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryTokenizeShareRecordByDenomRequest) Type() protoreflect.MessageType { + return _fastReflection_QueryTokenizeShareRecordByDenomRequest_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryTokenizeShareRecordByDenomRequest) New() protoreflect.Message { + return new(fastReflection_QueryTokenizeShareRecordByDenomRequest) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryTokenizeShareRecordByDenomRequest) Interface() protoreflect.ProtoMessage { + return (*QueryTokenizeShareRecordByDenomRequest)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryTokenizeShareRecordByDenomRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Denom != "" { + value := protoreflect.ValueOfString(x.Denom) + if !f(fd_QueryTokenizeShareRecordByDenomRequest_denom, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryTokenizeShareRecordByDenomRequest) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryTokenizeShareRecordByDenomRequest.denom": + return x.Denom != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTokenizeShareRecordByDenomRequest")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTokenizeShareRecordByDenomRequest does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryTokenizeShareRecordByDenomRequest) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryTokenizeShareRecordByDenomRequest.denom": + x.Denom = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTokenizeShareRecordByDenomRequest")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTokenizeShareRecordByDenomRequest does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryTokenizeShareRecordByDenomRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cosmos.staking.v1beta1.QueryTokenizeShareRecordByDenomRequest.denom": + value := x.Denom + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTokenizeShareRecordByDenomRequest")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTokenizeShareRecordByDenomRequest does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryTokenizeShareRecordByDenomRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryTokenizeShareRecordByDenomRequest.denom": + x.Denom = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTokenizeShareRecordByDenomRequest")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTokenizeShareRecordByDenomRequest does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryTokenizeShareRecordByDenomRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryTokenizeShareRecordByDenomRequest.denom": + panic(fmt.Errorf("field denom of message cosmos.staking.v1beta1.QueryTokenizeShareRecordByDenomRequest is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTokenizeShareRecordByDenomRequest")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTokenizeShareRecordByDenomRequest does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryTokenizeShareRecordByDenomRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryTokenizeShareRecordByDenomRequest.denom": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTokenizeShareRecordByDenomRequest")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTokenizeShareRecordByDenomRequest does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryTokenizeShareRecordByDenomRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cosmos.staking.v1beta1.QueryTokenizeShareRecordByDenomRequest", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryTokenizeShareRecordByDenomRequest) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryTokenizeShareRecordByDenomRequest) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryTokenizeShareRecordByDenomRequest) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryTokenizeShareRecordByDenomRequest) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryTokenizeShareRecordByDenomRequest) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Denom) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryTokenizeShareRecordByDenomRequest) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Denom) > 0 { + i -= len(x.Denom) + copy(dAtA[i:], x.Denom) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Denom))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryTokenizeShareRecordByDenomRequest) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, 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 protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryTokenizeShareRecordByDenomRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryTokenizeShareRecordByDenomRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Denom", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Denom = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_QueryTokenizeShareRecordByDenomResponse protoreflect.MessageDescriptor + fd_QueryTokenizeShareRecordByDenomResponse_record protoreflect.FieldDescriptor +) + +func init() { + file_cosmos_staking_v1beta1_query_proto_init() + md_QueryTokenizeShareRecordByDenomResponse = File_cosmos_staking_v1beta1_query_proto.Messages().ByName("QueryTokenizeShareRecordByDenomResponse") + fd_QueryTokenizeShareRecordByDenomResponse_record = md_QueryTokenizeShareRecordByDenomResponse.Fields().ByName("record") +} + +var _ protoreflect.Message = (*fastReflection_QueryTokenizeShareRecordByDenomResponse)(nil) + +type fastReflection_QueryTokenizeShareRecordByDenomResponse QueryTokenizeShareRecordByDenomResponse + +func (x *QueryTokenizeShareRecordByDenomResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryTokenizeShareRecordByDenomResponse)(x) +} + +func (x *QueryTokenizeShareRecordByDenomResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[31] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryTokenizeShareRecordByDenomResponse_messageType fastReflection_QueryTokenizeShareRecordByDenomResponse_messageType +var _ protoreflect.MessageType = fastReflection_QueryTokenizeShareRecordByDenomResponse_messageType{} + +type fastReflection_QueryTokenizeShareRecordByDenomResponse_messageType struct{} + +func (x fastReflection_QueryTokenizeShareRecordByDenomResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryTokenizeShareRecordByDenomResponse)(nil) +} +func (x fastReflection_QueryTokenizeShareRecordByDenomResponse_messageType) New() protoreflect.Message { + return new(fastReflection_QueryTokenizeShareRecordByDenomResponse) +} +func (x fastReflection_QueryTokenizeShareRecordByDenomResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryTokenizeShareRecordByDenomResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryTokenizeShareRecordByDenomResponse) Descriptor() protoreflect.MessageDescriptor { + return md_QueryTokenizeShareRecordByDenomResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryTokenizeShareRecordByDenomResponse) Type() protoreflect.MessageType { + return _fastReflection_QueryTokenizeShareRecordByDenomResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryTokenizeShareRecordByDenomResponse) New() protoreflect.Message { + return new(fastReflection_QueryTokenizeShareRecordByDenomResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryTokenizeShareRecordByDenomResponse) Interface() protoreflect.ProtoMessage { + return (*QueryTokenizeShareRecordByDenomResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryTokenizeShareRecordByDenomResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Record != nil { + value := protoreflect.ValueOfMessage(x.Record.ProtoReflect()) + if !f(fd_QueryTokenizeShareRecordByDenomResponse_record, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryTokenizeShareRecordByDenomResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryTokenizeShareRecordByDenomResponse.record": + return x.Record != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTokenizeShareRecordByDenomResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTokenizeShareRecordByDenomResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryTokenizeShareRecordByDenomResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryTokenizeShareRecordByDenomResponse.record": + x.Record = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTokenizeShareRecordByDenomResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTokenizeShareRecordByDenomResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryTokenizeShareRecordByDenomResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cosmos.staking.v1beta1.QueryTokenizeShareRecordByDenomResponse.record": + value := x.Record + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTokenizeShareRecordByDenomResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTokenizeShareRecordByDenomResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryTokenizeShareRecordByDenomResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryTokenizeShareRecordByDenomResponse.record": + x.Record = value.Message().Interface().(*TokenizeShareRecord) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTokenizeShareRecordByDenomResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTokenizeShareRecordByDenomResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryTokenizeShareRecordByDenomResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryTokenizeShareRecordByDenomResponse.record": + if x.Record == nil { + x.Record = new(TokenizeShareRecord) + } + return protoreflect.ValueOfMessage(x.Record.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTokenizeShareRecordByDenomResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTokenizeShareRecordByDenomResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryTokenizeShareRecordByDenomResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryTokenizeShareRecordByDenomResponse.record": + m := new(TokenizeShareRecord) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTokenizeShareRecordByDenomResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTokenizeShareRecordByDenomResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryTokenizeShareRecordByDenomResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cosmos.staking.v1beta1.QueryTokenizeShareRecordByDenomResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryTokenizeShareRecordByDenomResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryTokenizeShareRecordByDenomResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryTokenizeShareRecordByDenomResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryTokenizeShareRecordByDenomResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryTokenizeShareRecordByDenomResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.Record != nil { + l = options.Size(x.Record) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryTokenizeShareRecordByDenomResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Record != nil { + encoded, err := options.Marshal(x.Record) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryTokenizeShareRecordByDenomResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, 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 protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryTokenizeShareRecordByDenomResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryTokenizeShareRecordByDenomResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Record", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Record == nil { + x.Record = &TokenizeShareRecord{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Record); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_QueryTokenizeShareRecordsOwnedRequest protoreflect.MessageDescriptor + fd_QueryTokenizeShareRecordsOwnedRequest_owner protoreflect.FieldDescriptor +) + +func init() { + file_cosmos_staking_v1beta1_query_proto_init() + md_QueryTokenizeShareRecordsOwnedRequest = File_cosmos_staking_v1beta1_query_proto.Messages().ByName("QueryTokenizeShareRecordsOwnedRequest") + fd_QueryTokenizeShareRecordsOwnedRequest_owner = md_QueryTokenizeShareRecordsOwnedRequest.Fields().ByName("owner") +} + +var _ protoreflect.Message = (*fastReflection_QueryTokenizeShareRecordsOwnedRequest)(nil) + +type fastReflection_QueryTokenizeShareRecordsOwnedRequest QueryTokenizeShareRecordsOwnedRequest + +func (x *QueryTokenizeShareRecordsOwnedRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryTokenizeShareRecordsOwnedRequest)(x) +} + +func (x *QueryTokenizeShareRecordsOwnedRequest) slowProtoReflect() protoreflect.Message { + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[32] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryTokenizeShareRecordsOwnedRequest_messageType fastReflection_QueryTokenizeShareRecordsOwnedRequest_messageType +var _ protoreflect.MessageType = fastReflection_QueryTokenizeShareRecordsOwnedRequest_messageType{} + +type fastReflection_QueryTokenizeShareRecordsOwnedRequest_messageType struct{} + +func (x fastReflection_QueryTokenizeShareRecordsOwnedRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryTokenizeShareRecordsOwnedRequest)(nil) +} +func (x fastReflection_QueryTokenizeShareRecordsOwnedRequest_messageType) New() protoreflect.Message { + return new(fastReflection_QueryTokenizeShareRecordsOwnedRequest) +} +func (x fastReflection_QueryTokenizeShareRecordsOwnedRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryTokenizeShareRecordsOwnedRequest +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryTokenizeShareRecordsOwnedRequest) Descriptor() protoreflect.MessageDescriptor { + return md_QueryTokenizeShareRecordsOwnedRequest +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryTokenizeShareRecordsOwnedRequest) Type() protoreflect.MessageType { + return _fastReflection_QueryTokenizeShareRecordsOwnedRequest_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryTokenizeShareRecordsOwnedRequest) New() protoreflect.Message { + return new(fastReflection_QueryTokenizeShareRecordsOwnedRequest) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryTokenizeShareRecordsOwnedRequest) Interface() protoreflect.ProtoMessage { + return (*QueryTokenizeShareRecordsOwnedRequest)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryTokenizeShareRecordsOwnedRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Owner != "" { + value := protoreflect.ValueOfString(x.Owner) + if !f(fd_QueryTokenizeShareRecordsOwnedRequest_owner, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryTokenizeShareRecordsOwnedRequest) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryTokenizeShareRecordsOwnedRequest.owner": + return x.Owner != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTokenizeShareRecordsOwnedRequest")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTokenizeShareRecordsOwnedRequest does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryTokenizeShareRecordsOwnedRequest) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryTokenizeShareRecordsOwnedRequest.owner": + x.Owner = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTokenizeShareRecordsOwnedRequest")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTokenizeShareRecordsOwnedRequest does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryTokenizeShareRecordsOwnedRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cosmos.staking.v1beta1.QueryTokenizeShareRecordsOwnedRequest.owner": + value := x.Owner + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTokenizeShareRecordsOwnedRequest")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTokenizeShareRecordsOwnedRequest does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryTokenizeShareRecordsOwnedRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryTokenizeShareRecordsOwnedRequest.owner": + x.Owner = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTokenizeShareRecordsOwnedRequest")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTokenizeShareRecordsOwnedRequest does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryTokenizeShareRecordsOwnedRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryTokenizeShareRecordsOwnedRequest.owner": + panic(fmt.Errorf("field owner of message cosmos.staking.v1beta1.QueryTokenizeShareRecordsOwnedRequest is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTokenizeShareRecordsOwnedRequest")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTokenizeShareRecordsOwnedRequest does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryTokenizeShareRecordsOwnedRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryTokenizeShareRecordsOwnedRequest.owner": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTokenizeShareRecordsOwnedRequest")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTokenizeShareRecordsOwnedRequest does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryTokenizeShareRecordsOwnedRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cosmos.staking.v1beta1.QueryTokenizeShareRecordsOwnedRequest", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryTokenizeShareRecordsOwnedRequest) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryTokenizeShareRecordsOwnedRequest) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryTokenizeShareRecordsOwnedRequest) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryTokenizeShareRecordsOwnedRequest) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryTokenizeShareRecordsOwnedRequest) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Owner) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryTokenizeShareRecordsOwnedRequest) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Owner) > 0 { + i -= len(x.Owner) + copy(dAtA[i:], x.Owner) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Owner))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryTokenizeShareRecordsOwnedRequest) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, 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 protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryTokenizeShareRecordsOwnedRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryTokenizeShareRecordsOwnedRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Owner", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Owner = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var _ protoreflect.List = (*_QueryTokenizeShareRecordsOwnedResponse_1_list)(nil) + +type _QueryTokenizeShareRecordsOwnedResponse_1_list struct { + list *[]*TokenizeShareRecord +} + +func (x *_QueryTokenizeShareRecordsOwnedResponse_1_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_QueryTokenizeShareRecordsOwnedResponse_1_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +} + +func (x *_QueryTokenizeShareRecordsOwnedResponse_1_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*TokenizeShareRecord) + (*x.list)[i] = concreteValue +} + +func (x *_QueryTokenizeShareRecordsOwnedResponse_1_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*TokenizeShareRecord) + *x.list = append(*x.list, concreteValue) +} + +func (x *_QueryTokenizeShareRecordsOwnedResponse_1_list) AppendMutable() protoreflect.Value { + v := new(TokenizeShareRecord) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_QueryTokenizeShareRecordsOwnedResponse_1_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] +} + +func (x *_QueryTokenizeShareRecordsOwnedResponse_1_list) NewElement() protoreflect.Value { + v := new(TokenizeShareRecord) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_QueryTokenizeShareRecordsOwnedResponse_1_list) IsValid() bool { + return x.list != nil +} + +var ( + md_QueryTokenizeShareRecordsOwnedResponse protoreflect.MessageDescriptor + fd_QueryTokenizeShareRecordsOwnedResponse_records protoreflect.FieldDescriptor +) + +func init() { + file_cosmos_staking_v1beta1_query_proto_init() + md_QueryTokenizeShareRecordsOwnedResponse = File_cosmos_staking_v1beta1_query_proto.Messages().ByName("QueryTokenizeShareRecordsOwnedResponse") + fd_QueryTokenizeShareRecordsOwnedResponse_records = md_QueryTokenizeShareRecordsOwnedResponse.Fields().ByName("records") +} + +var _ protoreflect.Message = (*fastReflection_QueryTokenizeShareRecordsOwnedResponse)(nil) + +type fastReflection_QueryTokenizeShareRecordsOwnedResponse QueryTokenizeShareRecordsOwnedResponse + +func (x *QueryTokenizeShareRecordsOwnedResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryTokenizeShareRecordsOwnedResponse)(x) +} + +func (x *QueryTokenizeShareRecordsOwnedResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[33] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryTokenizeShareRecordsOwnedResponse_messageType fastReflection_QueryTokenizeShareRecordsOwnedResponse_messageType +var _ protoreflect.MessageType = fastReflection_QueryTokenizeShareRecordsOwnedResponse_messageType{} + +type fastReflection_QueryTokenizeShareRecordsOwnedResponse_messageType struct{} + +func (x fastReflection_QueryTokenizeShareRecordsOwnedResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryTokenizeShareRecordsOwnedResponse)(nil) +} +func (x fastReflection_QueryTokenizeShareRecordsOwnedResponse_messageType) New() protoreflect.Message { + return new(fastReflection_QueryTokenizeShareRecordsOwnedResponse) +} +func (x fastReflection_QueryTokenizeShareRecordsOwnedResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryTokenizeShareRecordsOwnedResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryTokenizeShareRecordsOwnedResponse) Descriptor() protoreflect.MessageDescriptor { + return md_QueryTokenizeShareRecordsOwnedResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryTokenizeShareRecordsOwnedResponse) Type() protoreflect.MessageType { + return _fastReflection_QueryTokenizeShareRecordsOwnedResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryTokenizeShareRecordsOwnedResponse) New() protoreflect.Message { + return new(fastReflection_QueryTokenizeShareRecordsOwnedResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryTokenizeShareRecordsOwnedResponse) Interface() protoreflect.ProtoMessage { + return (*QueryTokenizeShareRecordsOwnedResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryTokenizeShareRecordsOwnedResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if len(x.Records) != 0 { + value := protoreflect.ValueOfList(&_QueryTokenizeShareRecordsOwnedResponse_1_list{list: &x.Records}) + if !f(fd_QueryTokenizeShareRecordsOwnedResponse_records, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryTokenizeShareRecordsOwnedResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryTokenizeShareRecordsOwnedResponse.records": + return len(x.Records) != 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTokenizeShareRecordsOwnedResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTokenizeShareRecordsOwnedResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryTokenizeShareRecordsOwnedResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryTokenizeShareRecordsOwnedResponse.records": + x.Records = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTokenizeShareRecordsOwnedResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTokenizeShareRecordsOwnedResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryTokenizeShareRecordsOwnedResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cosmos.staking.v1beta1.QueryTokenizeShareRecordsOwnedResponse.records": + if len(x.Records) == 0 { + return protoreflect.ValueOfList(&_QueryTokenizeShareRecordsOwnedResponse_1_list{}) + } + listValue := &_QueryTokenizeShareRecordsOwnedResponse_1_list{list: &x.Records} + return protoreflect.ValueOfList(listValue) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTokenizeShareRecordsOwnedResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTokenizeShareRecordsOwnedResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryTokenizeShareRecordsOwnedResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryTokenizeShareRecordsOwnedResponse.records": + lv := value.List() + clv := lv.(*_QueryTokenizeShareRecordsOwnedResponse_1_list) + x.Records = *clv.list + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTokenizeShareRecordsOwnedResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTokenizeShareRecordsOwnedResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryTokenizeShareRecordsOwnedResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryTokenizeShareRecordsOwnedResponse.records": + if x.Records == nil { + x.Records = []*TokenizeShareRecord{} + } + value := &_QueryTokenizeShareRecordsOwnedResponse_1_list{list: &x.Records} + return protoreflect.ValueOfList(value) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTokenizeShareRecordsOwnedResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTokenizeShareRecordsOwnedResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryTokenizeShareRecordsOwnedResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryTokenizeShareRecordsOwnedResponse.records": + list := []*TokenizeShareRecord{} + return protoreflect.ValueOfList(&_QueryTokenizeShareRecordsOwnedResponse_1_list{list: &list}) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTokenizeShareRecordsOwnedResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTokenizeShareRecordsOwnedResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryTokenizeShareRecordsOwnedResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cosmos.staking.v1beta1.QueryTokenizeShareRecordsOwnedResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryTokenizeShareRecordsOwnedResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryTokenizeShareRecordsOwnedResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryTokenizeShareRecordsOwnedResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryTokenizeShareRecordsOwnedResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryTokenizeShareRecordsOwnedResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if len(x.Records) > 0 { + for _, e := range x.Records { + l = options.Size(e) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryTokenizeShareRecordsOwnedResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Records) > 0 { + for iNdEx := len(x.Records) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.Records[iNdEx]) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0xa + } + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryTokenizeShareRecordsOwnedResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, 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 protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryTokenizeShareRecordsOwnedResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryTokenizeShareRecordsOwnedResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Records", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Records = append(x.Records, &TokenizeShareRecord{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Records[len(x.Records)-1]); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_QueryAllTokenizeShareRecordsRequest protoreflect.MessageDescriptor + fd_QueryAllTokenizeShareRecordsRequest_pagination protoreflect.FieldDescriptor +) + +func init() { + file_cosmos_staking_v1beta1_query_proto_init() + md_QueryAllTokenizeShareRecordsRequest = File_cosmos_staking_v1beta1_query_proto.Messages().ByName("QueryAllTokenizeShareRecordsRequest") + fd_QueryAllTokenizeShareRecordsRequest_pagination = md_QueryAllTokenizeShareRecordsRequest.Fields().ByName("pagination") +} + +var _ protoreflect.Message = (*fastReflection_QueryAllTokenizeShareRecordsRequest)(nil) + +type fastReflection_QueryAllTokenizeShareRecordsRequest QueryAllTokenizeShareRecordsRequest + +func (x *QueryAllTokenizeShareRecordsRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryAllTokenizeShareRecordsRequest)(x) +} + +func (x *QueryAllTokenizeShareRecordsRequest) slowProtoReflect() protoreflect.Message { + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[34] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryAllTokenizeShareRecordsRequest_messageType fastReflection_QueryAllTokenizeShareRecordsRequest_messageType +var _ protoreflect.MessageType = fastReflection_QueryAllTokenizeShareRecordsRequest_messageType{} + +type fastReflection_QueryAllTokenizeShareRecordsRequest_messageType struct{} + +func (x fastReflection_QueryAllTokenizeShareRecordsRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryAllTokenizeShareRecordsRequest)(nil) +} +func (x fastReflection_QueryAllTokenizeShareRecordsRequest_messageType) New() protoreflect.Message { + return new(fastReflection_QueryAllTokenizeShareRecordsRequest) +} +func (x fastReflection_QueryAllTokenizeShareRecordsRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryAllTokenizeShareRecordsRequest +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryAllTokenizeShareRecordsRequest) Descriptor() protoreflect.MessageDescriptor { + return md_QueryAllTokenizeShareRecordsRequest +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryAllTokenizeShareRecordsRequest) Type() protoreflect.MessageType { + return _fastReflection_QueryAllTokenizeShareRecordsRequest_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryAllTokenizeShareRecordsRequest) New() protoreflect.Message { + return new(fastReflection_QueryAllTokenizeShareRecordsRequest) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryAllTokenizeShareRecordsRequest) Interface() protoreflect.ProtoMessage { + return (*QueryAllTokenizeShareRecordsRequest)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryAllTokenizeShareRecordsRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Pagination != nil { + value := protoreflect.ValueOfMessage(x.Pagination.ProtoReflect()) + if !f(fd_QueryAllTokenizeShareRecordsRequest_pagination, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryAllTokenizeShareRecordsRequest) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryAllTokenizeShareRecordsRequest.pagination": + return x.Pagination != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryAllTokenizeShareRecordsRequest")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryAllTokenizeShareRecordsRequest does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryAllTokenizeShareRecordsRequest) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryAllTokenizeShareRecordsRequest.pagination": + x.Pagination = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryAllTokenizeShareRecordsRequest")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryAllTokenizeShareRecordsRequest does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryAllTokenizeShareRecordsRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cosmos.staking.v1beta1.QueryAllTokenizeShareRecordsRequest.pagination": + value := x.Pagination + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryAllTokenizeShareRecordsRequest")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryAllTokenizeShareRecordsRequest does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryAllTokenizeShareRecordsRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryAllTokenizeShareRecordsRequest.pagination": + x.Pagination = value.Message().Interface().(*v1beta1.PageRequest) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryAllTokenizeShareRecordsRequest")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryAllTokenizeShareRecordsRequest does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryAllTokenizeShareRecordsRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryAllTokenizeShareRecordsRequest.pagination": + if x.Pagination == nil { + x.Pagination = new(v1beta1.PageRequest) + } + return protoreflect.ValueOfMessage(x.Pagination.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryAllTokenizeShareRecordsRequest")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryAllTokenizeShareRecordsRequest does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryAllTokenizeShareRecordsRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryAllTokenizeShareRecordsRequest.pagination": + m := new(v1beta1.PageRequest) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryAllTokenizeShareRecordsRequest")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryAllTokenizeShareRecordsRequest does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryAllTokenizeShareRecordsRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cosmos.staking.v1beta1.QueryAllTokenizeShareRecordsRequest", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryAllTokenizeShareRecordsRequest) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryAllTokenizeShareRecordsRequest) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryAllTokenizeShareRecordsRequest) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryAllTokenizeShareRecordsRequest) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryAllTokenizeShareRecordsRequest) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.Pagination != nil { + l = options.Size(x.Pagination) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryAllTokenizeShareRecordsRequest) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Pagination != nil { + encoded, err := options.Marshal(x.Pagination) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryAllTokenizeShareRecordsRequest) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, 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 protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryAllTokenizeShareRecordsRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryAllTokenizeShareRecordsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Pagination == nil { + x.Pagination = &v1beta1.PageRequest{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Pagination); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var _ protoreflect.List = (*_QueryAllTokenizeShareRecordsResponse_1_list)(nil) + +type _QueryAllTokenizeShareRecordsResponse_1_list struct { + list *[]*TokenizeShareRecord +} + +func (x *_QueryAllTokenizeShareRecordsResponse_1_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_QueryAllTokenizeShareRecordsResponse_1_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +} + +func (x *_QueryAllTokenizeShareRecordsResponse_1_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*TokenizeShareRecord) + (*x.list)[i] = concreteValue +} + +func (x *_QueryAllTokenizeShareRecordsResponse_1_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*TokenizeShareRecord) + *x.list = append(*x.list, concreteValue) +} + +func (x *_QueryAllTokenizeShareRecordsResponse_1_list) AppendMutable() protoreflect.Value { + v := new(TokenizeShareRecord) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_QueryAllTokenizeShareRecordsResponse_1_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] +} + +func (x *_QueryAllTokenizeShareRecordsResponse_1_list) NewElement() protoreflect.Value { + v := new(TokenizeShareRecord) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_QueryAllTokenizeShareRecordsResponse_1_list) IsValid() bool { + return x.list != nil +} + +var ( + md_QueryAllTokenizeShareRecordsResponse protoreflect.MessageDescriptor + fd_QueryAllTokenizeShareRecordsResponse_records protoreflect.FieldDescriptor + fd_QueryAllTokenizeShareRecordsResponse_pagination protoreflect.FieldDescriptor +) + +func init() { + file_cosmos_staking_v1beta1_query_proto_init() + md_QueryAllTokenizeShareRecordsResponse = File_cosmos_staking_v1beta1_query_proto.Messages().ByName("QueryAllTokenizeShareRecordsResponse") + fd_QueryAllTokenizeShareRecordsResponse_records = md_QueryAllTokenizeShareRecordsResponse.Fields().ByName("records") + fd_QueryAllTokenizeShareRecordsResponse_pagination = md_QueryAllTokenizeShareRecordsResponse.Fields().ByName("pagination") +} + +var _ protoreflect.Message = (*fastReflection_QueryAllTokenizeShareRecordsResponse)(nil) + +type fastReflection_QueryAllTokenizeShareRecordsResponse QueryAllTokenizeShareRecordsResponse + +func (x *QueryAllTokenizeShareRecordsResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryAllTokenizeShareRecordsResponse)(x) +} + +func (x *QueryAllTokenizeShareRecordsResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[35] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryAllTokenizeShareRecordsResponse_messageType fastReflection_QueryAllTokenizeShareRecordsResponse_messageType +var _ protoreflect.MessageType = fastReflection_QueryAllTokenizeShareRecordsResponse_messageType{} + +type fastReflection_QueryAllTokenizeShareRecordsResponse_messageType struct{} + +func (x fastReflection_QueryAllTokenizeShareRecordsResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryAllTokenizeShareRecordsResponse)(nil) +} +func (x fastReflection_QueryAllTokenizeShareRecordsResponse_messageType) New() protoreflect.Message { + return new(fastReflection_QueryAllTokenizeShareRecordsResponse) +} +func (x fastReflection_QueryAllTokenizeShareRecordsResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryAllTokenizeShareRecordsResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryAllTokenizeShareRecordsResponse) Descriptor() protoreflect.MessageDescriptor { + return md_QueryAllTokenizeShareRecordsResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryAllTokenizeShareRecordsResponse) Type() protoreflect.MessageType { + return _fastReflection_QueryAllTokenizeShareRecordsResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryAllTokenizeShareRecordsResponse) New() protoreflect.Message { + return new(fastReflection_QueryAllTokenizeShareRecordsResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryAllTokenizeShareRecordsResponse) Interface() protoreflect.ProtoMessage { + return (*QueryAllTokenizeShareRecordsResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryAllTokenizeShareRecordsResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if len(x.Records) != 0 { + value := protoreflect.ValueOfList(&_QueryAllTokenizeShareRecordsResponse_1_list{list: &x.Records}) + if !f(fd_QueryAllTokenizeShareRecordsResponse_records, value) { + return + } + } + if x.Pagination != nil { + value := protoreflect.ValueOfMessage(x.Pagination.ProtoReflect()) + if !f(fd_QueryAllTokenizeShareRecordsResponse_pagination, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryAllTokenizeShareRecordsResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryAllTokenizeShareRecordsResponse.records": + return len(x.Records) != 0 + case "cosmos.staking.v1beta1.QueryAllTokenizeShareRecordsResponse.pagination": + return x.Pagination != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryAllTokenizeShareRecordsResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryAllTokenizeShareRecordsResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryAllTokenizeShareRecordsResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryAllTokenizeShareRecordsResponse.records": + x.Records = nil + case "cosmos.staking.v1beta1.QueryAllTokenizeShareRecordsResponse.pagination": + x.Pagination = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryAllTokenizeShareRecordsResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryAllTokenizeShareRecordsResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryAllTokenizeShareRecordsResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cosmos.staking.v1beta1.QueryAllTokenizeShareRecordsResponse.records": + if len(x.Records) == 0 { + return protoreflect.ValueOfList(&_QueryAllTokenizeShareRecordsResponse_1_list{}) + } + listValue := &_QueryAllTokenizeShareRecordsResponse_1_list{list: &x.Records} + return protoreflect.ValueOfList(listValue) + case "cosmos.staking.v1beta1.QueryAllTokenizeShareRecordsResponse.pagination": + value := x.Pagination + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryAllTokenizeShareRecordsResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryAllTokenizeShareRecordsResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryAllTokenizeShareRecordsResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryAllTokenizeShareRecordsResponse.records": + lv := value.List() + clv := lv.(*_QueryAllTokenizeShareRecordsResponse_1_list) + x.Records = *clv.list + case "cosmos.staking.v1beta1.QueryAllTokenizeShareRecordsResponse.pagination": + x.Pagination = value.Message().Interface().(*v1beta1.PageResponse) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryAllTokenizeShareRecordsResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryAllTokenizeShareRecordsResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryAllTokenizeShareRecordsResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryAllTokenizeShareRecordsResponse.records": + if x.Records == nil { + x.Records = []*TokenizeShareRecord{} + } + value := &_QueryAllTokenizeShareRecordsResponse_1_list{list: &x.Records} + return protoreflect.ValueOfList(value) + case "cosmos.staking.v1beta1.QueryAllTokenizeShareRecordsResponse.pagination": + if x.Pagination == nil { + x.Pagination = new(v1beta1.PageResponse) + } + return protoreflect.ValueOfMessage(x.Pagination.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryAllTokenizeShareRecordsResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryAllTokenizeShareRecordsResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryAllTokenizeShareRecordsResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryAllTokenizeShareRecordsResponse.records": + list := []*TokenizeShareRecord{} + return protoreflect.ValueOfList(&_QueryAllTokenizeShareRecordsResponse_1_list{list: &list}) + case "cosmos.staking.v1beta1.QueryAllTokenizeShareRecordsResponse.pagination": + m := new(v1beta1.PageResponse) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryAllTokenizeShareRecordsResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryAllTokenizeShareRecordsResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryAllTokenizeShareRecordsResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cosmos.staking.v1beta1.QueryAllTokenizeShareRecordsResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryAllTokenizeShareRecordsResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryAllTokenizeShareRecordsResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryAllTokenizeShareRecordsResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryAllTokenizeShareRecordsResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryAllTokenizeShareRecordsResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if len(x.Records) > 0 { + for _, e := range x.Records { + l = options.Size(e) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + if x.Pagination != nil { + l = options.Size(x.Pagination) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryAllTokenizeShareRecordsResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Pagination != nil { + encoded, err := options.Marshal(x.Pagination) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x12 + } + if len(x.Records) > 0 { + for iNdEx := len(x.Records) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.Records[iNdEx]) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0xa + } + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryAllTokenizeShareRecordsResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, 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 protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryAllTokenizeShareRecordsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryAllTokenizeShareRecordsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Records", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Records = append(x.Records, &TokenizeShareRecord{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Records[len(x.Records)-1]); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Pagination == nil { + x.Pagination = &v1beta1.PageResponse{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Pagination); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_QueryLastTokenizeShareRecordIdRequest protoreflect.MessageDescriptor +) + +func init() { + file_cosmos_staking_v1beta1_query_proto_init() + md_QueryLastTokenizeShareRecordIdRequest = File_cosmos_staking_v1beta1_query_proto.Messages().ByName("QueryLastTokenizeShareRecordIdRequest") +} + +var _ protoreflect.Message = (*fastReflection_QueryLastTokenizeShareRecordIdRequest)(nil) + +type fastReflection_QueryLastTokenizeShareRecordIdRequest QueryLastTokenizeShareRecordIdRequest + +func (x *QueryLastTokenizeShareRecordIdRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryLastTokenizeShareRecordIdRequest)(x) +} + +func (x *QueryLastTokenizeShareRecordIdRequest) slowProtoReflect() protoreflect.Message { + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[36] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryLastTokenizeShareRecordIdRequest_messageType fastReflection_QueryLastTokenizeShareRecordIdRequest_messageType +var _ protoreflect.MessageType = fastReflection_QueryLastTokenizeShareRecordIdRequest_messageType{} + +type fastReflection_QueryLastTokenizeShareRecordIdRequest_messageType struct{} + +func (x fastReflection_QueryLastTokenizeShareRecordIdRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryLastTokenizeShareRecordIdRequest)(nil) +} +func (x fastReflection_QueryLastTokenizeShareRecordIdRequest_messageType) New() protoreflect.Message { + return new(fastReflection_QueryLastTokenizeShareRecordIdRequest) +} +func (x fastReflection_QueryLastTokenizeShareRecordIdRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryLastTokenizeShareRecordIdRequest +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryLastTokenizeShareRecordIdRequest) Descriptor() protoreflect.MessageDescriptor { + return md_QueryLastTokenizeShareRecordIdRequest +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryLastTokenizeShareRecordIdRequest) Type() protoreflect.MessageType { + return _fastReflection_QueryLastTokenizeShareRecordIdRequest_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryLastTokenizeShareRecordIdRequest) New() protoreflect.Message { + return new(fastReflection_QueryLastTokenizeShareRecordIdRequest) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryLastTokenizeShareRecordIdRequest) Interface() protoreflect.ProtoMessage { + return (*QueryLastTokenizeShareRecordIdRequest)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryLastTokenizeShareRecordIdRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryLastTokenizeShareRecordIdRequest) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryLastTokenizeShareRecordIdRequest")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryLastTokenizeShareRecordIdRequest does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryLastTokenizeShareRecordIdRequest) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryLastTokenizeShareRecordIdRequest")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryLastTokenizeShareRecordIdRequest does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryLastTokenizeShareRecordIdRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryLastTokenizeShareRecordIdRequest")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryLastTokenizeShareRecordIdRequest does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryLastTokenizeShareRecordIdRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryLastTokenizeShareRecordIdRequest")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryLastTokenizeShareRecordIdRequest does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryLastTokenizeShareRecordIdRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryLastTokenizeShareRecordIdRequest")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryLastTokenizeShareRecordIdRequest does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryLastTokenizeShareRecordIdRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryLastTokenizeShareRecordIdRequest")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryLastTokenizeShareRecordIdRequest does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryLastTokenizeShareRecordIdRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cosmos.staking.v1beta1.QueryLastTokenizeShareRecordIdRequest", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryLastTokenizeShareRecordIdRequest) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryLastTokenizeShareRecordIdRequest) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryLastTokenizeShareRecordIdRequest) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryLastTokenizeShareRecordIdRequest) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryLastTokenizeShareRecordIdRequest) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryLastTokenizeShareRecordIdRequest) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryLastTokenizeShareRecordIdRequest) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, 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 protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryLastTokenizeShareRecordIdRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryLastTokenizeShareRecordIdRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_QueryLastTokenizeShareRecordIdResponse protoreflect.MessageDescriptor + fd_QueryLastTokenizeShareRecordIdResponse_id protoreflect.FieldDescriptor +) + +func init() { + file_cosmos_staking_v1beta1_query_proto_init() + md_QueryLastTokenizeShareRecordIdResponse = File_cosmos_staking_v1beta1_query_proto.Messages().ByName("QueryLastTokenizeShareRecordIdResponse") + fd_QueryLastTokenizeShareRecordIdResponse_id = md_QueryLastTokenizeShareRecordIdResponse.Fields().ByName("id") +} + +var _ protoreflect.Message = (*fastReflection_QueryLastTokenizeShareRecordIdResponse)(nil) + +type fastReflection_QueryLastTokenizeShareRecordIdResponse QueryLastTokenizeShareRecordIdResponse + +func (x *QueryLastTokenizeShareRecordIdResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryLastTokenizeShareRecordIdResponse)(x) +} + +func (x *QueryLastTokenizeShareRecordIdResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[37] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryLastTokenizeShareRecordIdResponse_messageType fastReflection_QueryLastTokenizeShareRecordIdResponse_messageType +var _ protoreflect.MessageType = fastReflection_QueryLastTokenizeShareRecordIdResponse_messageType{} + +type fastReflection_QueryLastTokenizeShareRecordIdResponse_messageType struct{} + +func (x fastReflection_QueryLastTokenizeShareRecordIdResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryLastTokenizeShareRecordIdResponse)(nil) +} +func (x fastReflection_QueryLastTokenizeShareRecordIdResponse_messageType) New() protoreflect.Message { + return new(fastReflection_QueryLastTokenizeShareRecordIdResponse) +} +func (x fastReflection_QueryLastTokenizeShareRecordIdResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryLastTokenizeShareRecordIdResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryLastTokenizeShareRecordIdResponse) Descriptor() protoreflect.MessageDescriptor { + return md_QueryLastTokenizeShareRecordIdResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryLastTokenizeShareRecordIdResponse) Type() protoreflect.MessageType { + return _fastReflection_QueryLastTokenizeShareRecordIdResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryLastTokenizeShareRecordIdResponse) New() protoreflect.Message { + return new(fastReflection_QueryLastTokenizeShareRecordIdResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryLastTokenizeShareRecordIdResponse) Interface() protoreflect.ProtoMessage { + return (*QueryLastTokenizeShareRecordIdResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryLastTokenizeShareRecordIdResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Id != uint64(0) { + value := protoreflect.ValueOfUint64(x.Id) + if !f(fd_QueryLastTokenizeShareRecordIdResponse_id, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryLastTokenizeShareRecordIdResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryLastTokenizeShareRecordIdResponse.id": + return x.Id != uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryLastTokenizeShareRecordIdResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryLastTokenizeShareRecordIdResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryLastTokenizeShareRecordIdResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryLastTokenizeShareRecordIdResponse.id": + x.Id = uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryLastTokenizeShareRecordIdResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryLastTokenizeShareRecordIdResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryLastTokenizeShareRecordIdResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cosmos.staking.v1beta1.QueryLastTokenizeShareRecordIdResponse.id": + value := x.Id + return protoreflect.ValueOfUint64(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryLastTokenizeShareRecordIdResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryLastTokenizeShareRecordIdResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryLastTokenizeShareRecordIdResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryLastTokenizeShareRecordIdResponse.id": + x.Id = value.Uint() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryLastTokenizeShareRecordIdResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryLastTokenizeShareRecordIdResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryLastTokenizeShareRecordIdResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryLastTokenizeShareRecordIdResponse.id": + panic(fmt.Errorf("field id of message cosmos.staking.v1beta1.QueryLastTokenizeShareRecordIdResponse is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryLastTokenizeShareRecordIdResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryLastTokenizeShareRecordIdResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryLastTokenizeShareRecordIdResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryLastTokenizeShareRecordIdResponse.id": + return protoreflect.ValueOfUint64(uint64(0)) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryLastTokenizeShareRecordIdResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryLastTokenizeShareRecordIdResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryLastTokenizeShareRecordIdResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cosmos.staking.v1beta1.QueryLastTokenizeShareRecordIdResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryLastTokenizeShareRecordIdResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryLastTokenizeShareRecordIdResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryLastTokenizeShareRecordIdResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryLastTokenizeShareRecordIdResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryLastTokenizeShareRecordIdResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.Id != 0 { + n += 1 + runtime.Sov(uint64(x.Id)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryLastTokenizeShareRecordIdResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Id != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.Id)) + i-- + dAtA[i] = 0x8 + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryLastTokenizeShareRecordIdResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, 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 protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryLastTokenizeShareRecordIdResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryLastTokenizeShareRecordIdResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) + } + x.Id = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.Id |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_QueryTotalTokenizeSharedAssetsRequest protoreflect.MessageDescriptor +) + +func init() { + file_cosmos_staking_v1beta1_query_proto_init() + md_QueryTotalTokenizeSharedAssetsRequest = File_cosmos_staking_v1beta1_query_proto.Messages().ByName("QueryTotalTokenizeSharedAssetsRequest") +} + +var _ protoreflect.Message = (*fastReflection_QueryTotalTokenizeSharedAssetsRequest)(nil) + +type fastReflection_QueryTotalTokenizeSharedAssetsRequest QueryTotalTokenizeSharedAssetsRequest + +func (x *QueryTotalTokenizeSharedAssetsRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryTotalTokenizeSharedAssetsRequest)(x) +} + +func (x *QueryTotalTokenizeSharedAssetsRequest) slowProtoReflect() protoreflect.Message { + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[38] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryTotalTokenizeSharedAssetsRequest_messageType fastReflection_QueryTotalTokenizeSharedAssetsRequest_messageType +var _ protoreflect.MessageType = fastReflection_QueryTotalTokenizeSharedAssetsRequest_messageType{} + +type fastReflection_QueryTotalTokenizeSharedAssetsRequest_messageType struct{} + +func (x fastReflection_QueryTotalTokenizeSharedAssetsRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryTotalTokenizeSharedAssetsRequest)(nil) +} +func (x fastReflection_QueryTotalTokenizeSharedAssetsRequest_messageType) New() protoreflect.Message { + return new(fastReflection_QueryTotalTokenizeSharedAssetsRequest) +} +func (x fastReflection_QueryTotalTokenizeSharedAssetsRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryTotalTokenizeSharedAssetsRequest +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryTotalTokenizeSharedAssetsRequest) Descriptor() protoreflect.MessageDescriptor { + return md_QueryTotalTokenizeSharedAssetsRequest +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryTotalTokenizeSharedAssetsRequest) Type() protoreflect.MessageType { + return _fastReflection_QueryTotalTokenizeSharedAssetsRequest_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryTotalTokenizeSharedAssetsRequest) New() protoreflect.Message { + return new(fastReflection_QueryTotalTokenizeSharedAssetsRequest) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryTotalTokenizeSharedAssetsRequest) Interface() protoreflect.ProtoMessage { + return (*QueryTotalTokenizeSharedAssetsRequest)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryTotalTokenizeSharedAssetsRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryTotalTokenizeSharedAssetsRequest) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTotalTokenizeSharedAssetsRequest")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTotalTokenizeSharedAssetsRequest does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryTotalTokenizeSharedAssetsRequest) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTotalTokenizeSharedAssetsRequest")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTotalTokenizeSharedAssetsRequest does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryTotalTokenizeSharedAssetsRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTotalTokenizeSharedAssetsRequest")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTotalTokenizeSharedAssetsRequest does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryTotalTokenizeSharedAssetsRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTotalTokenizeSharedAssetsRequest")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTotalTokenizeSharedAssetsRequest does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryTotalTokenizeSharedAssetsRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTotalTokenizeSharedAssetsRequest")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTotalTokenizeSharedAssetsRequest does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryTotalTokenizeSharedAssetsRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTotalTokenizeSharedAssetsRequest")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTotalTokenizeSharedAssetsRequest does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryTotalTokenizeSharedAssetsRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cosmos.staking.v1beta1.QueryTotalTokenizeSharedAssetsRequest", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryTotalTokenizeSharedAssetsRequest) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryTotalTokenizeSharedAssetsRequest) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryTotalTokenizeSharedAssetsRequest) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryTotalTokenizeSharedAssetsRequest) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryTotalTokenizeSharedAssetsRequest) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryTotalTokenizeSharedAssetsRequest) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryTotalTokenizeSharedAssetsRequest) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, 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 protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryTotalTokenizeSharedAssetsRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryTotalTokenizeSharedAssetsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_QueryTotalTokenizeSharedAssetsResponse protoreflect.MessageDescriptor + fd_QueryTotalTokenizeSharedAssetsResponse_value protoreflect.FieldDescriptor +) + +func init() { + file_cosmos_staking_v1beta1_query_proto_init() + md_QueryTotalTokenizeSharedAssetsResponse = File_cosmos_staking_v1beta1_query_proto.Messages().ByName("QueryTotalTokenizeSharedAssetsResponse") + fd_QueryTotalTokenizeSharedAssetsResponse_value = md_QueryTotalTokenizeSharedAssetsResponse.Fields().ByName("value") +} + +var _ protoreflect.Message = (*fastReflection_QueryTotalTokenizeSharedAssetsResponse)(nil) + +type fastReflection_QueryTotalTokenizeSharedAssetsResponse QueryTotalTokenizeSharedAssetsResponse + +func (x *QueryTotalTokenizeSharedAssetsResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryTotalTokenizeSharedAssetsResponse)(x) +} + +func (x *QueryTotalTokenizeSharedAssetsResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[39] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryTotalTokenizeSharedAssetsResponse_messageType fastReflection_QueryTotalTokenizeSharedAssetsResponse_messageType +var _ protoreflect.MessageType = fastReflection_QueryTotalTokenizeSharedAssetsResponse_messageType{} + +type fastReflection_QueryTotalTokenizeSharedAssetsResponse_messageType struct{} + +func (x fastReflection_QueryTotalTokenizeSharedAssetsResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryTotalTokenizeSharedAssetsResponse)(nil) +} +func (x fastReflection_QueryTotalTokenizeSharedAssetsResponse_messageType) New() protoreflect.Message { + return new(fastReflection_QueryTotalTokenizeSharedAssetsResponse) +} +func (x fastReflection_QueryTotalTokenizeSharedAssetsResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryTotalTokenizeSharedAssetsResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryTotalTokenizeSharedAssetsResponse) Descriptor() protoreflect.MessageDescriptor { + return md_QueryTotalTokenizeSharedAssetsResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryTotalTokenizeSharedAssetsResponse) Type() protoreflect.MessageType { + return _fastReflection_QueryTotalTokenizeSharedAssetsResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryTotalTokenizeSharedAssetsResponse) New() protoreflect.Message { + return new(fastReflection_QueryTotalTokenizeSharedAssetsResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryTotalTokenizeSharedAssetsResponse) Interface() protoreflect.ProtoMessage { + return (*QueryTotalTokenizeSharedAssetsResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryTotalTokenizeSharedAssetsResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Value != nil { + value := protoreflect.ValueOfMessage(x.Value.ProtoReflect()) + if !f(fd_QueryTotalTokenizeSharedAssetsResponse_value, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryTotalTokenizeSharedAssetsResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryTotalTokenizeSharedAssetsResponse.value": + return x.Value != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTotalTokenizeSharedAssetsResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTotalTokenizeSharedAssetsResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryTotalTokenizeSharedAssetsResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryTotalTokenizeSharedAssetsResponse.value": + x.Value = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTotalTokenizeSharedAssetsResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTotalTokenizeSharedAssetsResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryTotalTokenizeSharedAssetsResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cosmos.staking.v1beta1.QueryTotalTokenizeSharedAssetsResponse.value": + value := x.Value + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTotalTokenizeSharedAssetsResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTotalTokenizeSharedAssetsResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryTotalTokenizeSharedAssetsResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryTotalTokenizeSharedAssetsResponse.value": + x.Value = value.Message().Interface().(*v1beta11.Coin) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTotalTokenizeSharedAssetsResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTotalTokenizeSharedAssetsResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryTotalTokenizeSharedAssetsResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryTotalTokenizeSharedAssetsResponse.value": + if x.Value == nil { + x.Value = new(v1beta11.Coin) + } + return protoreflect.ValueOfMessage(x.Value.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTotalTokenizeSharedAssetsResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTotalTokenizeSharedAssetsResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryTotalTokenizeSharedAssetsResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryTotalTokenizeSharedAssetsResponse.value": + m := new(v1beta11.Coin) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTotalTokenizeSharedAssetsResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTotalTokenizeSharedAssetsResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryTotalTokenizeSharedAssetsResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cosmos.staking.v1beta1.QueryTotalTokenizeSharedAssetsResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryTotalTokenizeSharedAssetsResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryTotalTokenizeSharedAssetsResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryTotalTokenizeSharedAssetsResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryTotalTokenizeSharedAssetsResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryTotalTokenizeSharedAssetsResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.Value != nil { + l = options.Size(x.Value) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryTotalTokenizeSharedAssetsResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Value != nil { + encoded, err := options.Marshal(x.Value) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryTotalTokenizeSharedAssetsResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, 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 protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryTotalTokenizeSharedAssetsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryTotalTokenizeSharedAssetsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Value", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Value == nil { + x.Value = &v1beta11.Coin{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Value); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_QueryTotalLiquidStaked protoreflect.MessageDescriptor +) + +func init() { + file_cosmos_staking_v1beta1_query_proto_init() + md_QueryTotalLiquidStaked = File_cosmos_staking_v1beta1_query_proto.Messages().ByName("QueryTotalLiquidStaked") +} + +var _ protoreflect.Message = (*fastReflection_QueryTotalLiquidStaked)(nil) + +type fastReflection_QueryTotalLiquidStaked QueryTotalLiquidStaked + +func (x *QueryTotalLiquidStaked) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryTotalLiquidStaked)(x) +} + +func (x *QueryTotalLiquidStaked) slowProtoReflect() protoreflect.Message { + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[40] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryTotalLiquidStaked_messageType fastReflection_QueryTotalLiquidStaked_messageType +var _ protoreflect.MessageType = fastReflection_QueryTotalLiquidStaked_messageType{} + +type fastReflection_QueryTotalLiquidStaked_messageType struct{} + +func (x fastReflection_QueryTotalLiquidStaked_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryTotalLiquidStaked)(nil) +} +func (x fastReflection_QueryTotalLiquidStaked_messageType) New() protoreflect.Message { + return new(fastReflection_QueryTotalLiquidStaked) +} +func (x fastReflection_QueryTotalLiquidStaked_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryTotalLiquidStaked +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryTotalLiquidStaked) Descriptor() protoreflect.MessageDescriptor { + return md_QueryTotalLiquidStaked +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryTotalLiquidStaked) Type() protoreflect.MessageType { + return _fastReflection_QueryTotalLiquidStaked_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryTotalLiquidStaked) New() protoreflect.Message { + return new(fastReflection_QueryTotalLiquidStaked) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryTotalLiquidStaked) Interface() protoreflect.ProtoMessage { + return (*QueryTotalLiquidStaked)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryTotalLiquidStaked) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryTotalLiquidStaked) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTotalLiquidStaked")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTotalLiquidStaked does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryTotalLiquidStaked) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTotalLiquidStaked")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTotalLiquidStaked does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryTotalLiquidStaked) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTotalLiquidStaked")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTotalLiquidStaked does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryTotalLiquidStaked) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTotalLiquidStaked")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTotalLiquidStaked does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryTotalLiquidStaked) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTotalLiquidStaked")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTotalLiquidStaked does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryTotalLiquidStaked) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTotalLiquidStaked")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTotalLiquidStaked does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryTotalLiquidStaked) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cosmos.staking.v1beta1.QueryTotalLiquidStaked", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryTotalLiquidStaked) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryTotalLiquidStaked) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryTotalLiquidStaked) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryTotalLiquidStaked) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryTotalLiquidStaked) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryTotalLiquidStaked) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryTotalLiquidStaked) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, 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 protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryTotalLiquidStaked: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryTotalLiquidStaked: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_QueryTotalLiquidStakedResponse protoreflect.MessageDescriptor + fd_QueryTotalLiquidStakedResponse_tokens protoreflect.FieldDescriptor +) + +func init() { + file_cosmos_staking_v1beta1_query_proto_init() + md_QueryTotalLiquidStakedResponse = File_cosmos_staking_v1beta1_query_proto.Messages().ByName("QueryTotalLiquidStakedResponse") + fd_QueryTotalLiquidStakedResponse_tokens = md_QueryTotalLiquidStakedResponse.Fields().ByName("tokens") +} + +var _ protoreflect.Message = (*fastReflection_QueryTotalLiquidStakedResponse)(nil) + +type fastReflection_QueryTotalLiquidStakedResponse QueryTotalLiquidStakedResponse + +func (x *QueryTotalLiquidStakedResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryTotalLiquidStakedResponse)(x) +} + +func (x *QueryTotalLiquidStakedResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[41] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryTotalLiquidStakedResponse_messageType fastReflection_QueryTotalLiquidStakedResponse_messageType +var _ protoreflect.MessageType = fastReflection_QueryTotalLiquidStakedResponse_messageType{} + +type fastReflection_QueryTotalLiquidStakedResponse_messageType struct{} + +func (x fastReflection_QueryTotalLiquidStakedResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryTotalLiquidStakedResponse)(nil) +} +func (x fastReflection_QueryTotalLiquidStakedResponse_messageType) New() protoreflect.Message { + return new(fastReflection_QueryTotalLiquidStakedResponse) +} +func (x fastReflection_QueryTotalLiquidStakedResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryTotalLiquidStakedResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryTotalLiquidStakedResponse) Descriptor() protoreflect.MessageDescriptor { + return md_QueryTotalLiquidStakedResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryTotalLiquidStakedResponse) Type() protoreflect.MessageType { + return _fastReflection_QueryTotalLiquidStakedResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryTotalLiquidStakedResponse) New() protoreflect.Message { + return new(fastReflection_QueryTotalLiquidStakedResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryTotalLiquidStakedResponse) Interface() protoreflect.ProtoMessage { + return (*QueryTotalLiquidStakedResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryTotalLiquidStakedResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Tokens != "" { + value := protoreflect.ValueOfString(x.Tokens) + if !f(fd_QueryTotalLiquidStakedResponse_tokens, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryTotalLiquidStakedResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryTotalLiquidStakedResponse.tokens": + return x.Tokens != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTotalLiquidStakedResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTotalLiquidStakedResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryTotalLiquidStakedResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryTotalLiquidStakedResponse.tokens": + x.Tokens = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTotalLiquidStakedResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTotalLiquidStakedResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryTotalLiquidStakedResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cosmos.staking.v1beta1.QueryTotalLiquidStakedResponse.tokens": + value := x.Tokens + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTotalLiquidStakedResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTotalLiquidStakedResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryTotalLiquidStakedResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryTotalLiquidStakedResponse.tokens": + x.Tokens = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTotalLiquidStakedResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTotalLiquidStakedResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryTotalLiquidStakedResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryTotalLiquidStakedResponse.tokens": + panic(fmt.Errorf("field tokens of message cosmos.staking.v1beta1.QueryTotalLiquidStakedResponse is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTotalLiquidStakedResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTotalLiquidStakedResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryTotalLiquidStakedResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryTotalLiquidStakedResponse.tokens": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTotalLiquidStakedResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTotalLiquidStakedResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryTotalLiquidStakedResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cosmos.staking.v1beta1.QueryTotalLiquidStakedResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryTotalLiquidStakedResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryTotalLiquidStakedResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryTotalLiquidStakedResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryTotalLiquidStakedResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryTotalLiquidStakedResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Tokens) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryTotalLiquidStakedResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Tokens) > 0 { + i -= len(x.Tokens) + copy(dAtA[i:], x.Tokens) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Tokens))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryTotalLiquidStakedResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, 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 protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryTotalLiquidStakedResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryTotalLiquidStakedResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Tokens", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Tokens = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_QueryTokenizeShareLockInfo protoreflect.MessageDescriptor + fd_QueryTokenizeShareLockInfo_address protoreflect.FieldDescriptor +) + +func init() { + file_cosmos_staking_v1beta1_query_proto_init() + md_QueryTokenizeShareLockInfo = File_cosmos_staking_v1beta1_query_proto.Messages().ByName("QueryTokenizeShareLockInfo") + fd_QueryTokenizeShareLockInfo_address = md_QueryTokenizeShareLockInfo.Fields().ByName("address") +} + +var _ protoreflect.Message = (*fastReflection_QueryTokenizeShareLockInfo)(nil) + +type fastReflection_QueryTokenizeShareLockInfo QueryTokenizeShareLockInfo + +func (x *QueryTokenizeShareLockInfo) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryTokenizeShareLockInfo)(x) +} + +func (x *QueryTokenizeShareLockInfo) slowProtoReflect() protoreflect.Message { + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[42] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryTokenizeShareLockInfo_messageType fastReflection_QueryTokenizeShareLockInfo_messageType +var _ protoreflect.MessageType = fastReflection_QueryTokenizeShareLockInfo_messageType{} + +type fastReflection_QueryTokenizeShareLockInfo_messageType struct{} + +func (x fastReflection_QueryTokenizeShareLockInfo_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryTokenizeShareLockInfo)(nil) +} +func (x fastReflection_QueryTokenizeShareLockInfo_messageType) New() protoreflect.Message { + return new(fastReflection_QueryTokenizeShareLockInfo) +} +func (x fastReflection_QueryTokenizeShareLockInfo_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryTokenizeShareLockInfo +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryTokenizeShareLockInfo) Descriptor() protoreflect.MessageDescriptor { + return md_QueryTokenizeShareLockInfo +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryTokenizeShareLockInfo) Type() protoreflect.MessageType { + return _fastReflection_QueryTokenizeShareLockInfo_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryTokenizeShareLockInfo) New() protoreflect.Message { + return new(fastReflection_QueryTokenizeShareLockInfo) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryTokenizeShareLockInfo) Interface() protoreflect.ProtoMessage { + return (*QueryTokenizeShareLockInfo)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryTokenizeShareLockInfo) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Address != "" { + value := protoreflect.ValueOfString(x.Address) + if !f(fd_QueryTokenizeShareLockInfo_address, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryTokenizeShareLockInfo) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryTokenizeShareLockInfo.address": + return x.Address != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTokenizeShareLockInfo")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTokenizeShareLockInfo does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryTokenizeShareLockInfo) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryTokenizeShareLockInfo.address": + x.Address = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTokenizeShareLockInfo")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTokenizeShareLockInfo does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryTokenizeShareLockInfo) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cosmos.staking.v1beta1.QueryTokenizeShareLockInfo.address": + value := x.Address + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTokenizeShareLockInfo")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTokenizeShareLockInfo does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryTokenizeShareLockInfo) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryTokenizeShareLockInfo.address": + x.Address = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTokenizeShareLockInfo")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTokenizeShareLockInfo does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryTokenizeShareLockInfo) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryTokenizeShareLockInfo.address": + panic(fmt.Errorf("field address of message cosmos.staking.v1beta1.QueryTokenizeShareLockInfo is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTokenizeShareLockInfo")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTokenizeShareLockInfo does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryTokenizeShareLockInfo) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryTokenizeShareLockInfo.address": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTokenizeShareLockInfo")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTokenizeShareLockInfo does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryTokenizeShareLockInfo) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cosmos.staking.v1beta1.QueryTokenizeShareLockInfo", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryTokenizeShareLockInfo) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryTokenizeShareLockInfo) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryTokenizeShareLockInfo) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryTokenizeShareLockInfo) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryTokenizeShareLockInfo) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Address) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryTokenizeShareLockInfo) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Address) > 0 { + i -= len(x.Address) + copy(dAtA[i:], x.Address) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Address))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryTokenizeShareLockInfo) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, 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 protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryTokenizeShareLockInfo: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryTokenizeShareLockInfo: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Address = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_QueryTokenizeShareLockInfoResponse protoreflect.MessageDescriptor + fd_QueryTokenizeShareLockInfoResponse_status protoreflect.FieldDescriptor + fd_QueryTokenizeShareLockInfoResponse_expiration_time protoreflect.FieldDescriptor +) + +func init() { + file_cosmos_staking_v1beta1_query_proto_init() + md_QueryTokenizeShareLockInfoResponse = File_cosmos_staking_v1beta1_query_proto.Messages().ByName("QueryTokenizeShareLockInfoResponse") + fd_QueryTokenizeShareLockInfoResponse_status = md_QueryTokenizeShareLockInfoResponse.Fields().ByName("status") + fd_QueryTokenizeShareLockInfoResponse_expiration_time = md_QueryTokenizeShareLockInfoResponse.Fields().ByName("expiration_time") +} + +var _ protoreflect.Message = (*fastReflection_QueryTokenizeShareLockInfoResponse)(nil) + +type fastReflection_QueryTokenizeShareLockInfoResponse QueryTokenizeShareLockInfoResponse + +func (x *QueryTokenizeShareLockInfoResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryTokenizeShareLockInfoResponse)(x) +} + +func (x *QueryTokenizeShareLockInfoResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[43] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryTokenizeShareLockInfoResponse_messageType fastReflection_QueryTokenizeShareLockInfoResponse_messageType +var _ protoreflect.MessageType = fastReflection_QueryTokenizeShareLockInfoResponse_messageType{} + +type fastReflection_QueryTokenizeShareLockInfoResponse_messageType struct{} + +func (x fastReflection_QueryTokenizeShareLockInfoResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryTokenizeShareLockInfoResponse)(nil) +} +func (x fastReflection_QueryTokenizeShareLockInfoResponse_messageType) New() protoreflect.Message { + return new(fastReflection_QueryTokenizeShareLockInfoResponse) +} +func (x fastReflection_QueryTokenizeShareLockInfoResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryTokenizeShareLockInfoResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryTokenizeShareLockInfoResponse) Descriptor() protoreflect.MessageDescriptor { + return md_QueryTokenizeShareLockInfoResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryTokenizeShareLockInfoResponse) Type() protoreflect.MessageType { + return _fastReflection_QueryTokenizeShareLockInfoResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryTokenizeShareLockInfoResponse) New() protoreflect.Message { + return new(fastReflection_QueryTokenizeShareLockInfoResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryTokenizeShareLockInfoResponse) Interface() protoreflect.ProtoMessage { + return (*QueryTokenizeShareLockInfoResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryTokenizeShareLockInfoResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Status != "" { + value := protoreflect.ValueOfString(x.Status) + if !f(fd_QueryTokenizeShareLockInfoResponse_status, value) { + return + } + } + if x.ExpirationTime != "" { + value := protoreflect.ValueOfString(x.ExpirationTime) + if !f(fd_QueryTokenizeShareLockInfoResponse_expiration_time, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryTokenizeShareLockInfoResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryTokenizeShareLockInfoResponse.status": + return x.Status != "" + case "cosmos.staking.v1beta1.QueryTokenizeShareLockInfoResponse.expiration_time": + return x.ExpirationTime != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTokenizeShareLockInfoResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTokenizeShareLockInfoResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryTokenizeShareLockInfoResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryTokenizeShareLockInfoResponse.status": + x.Status = "" + case "cosmos.staking.v1beta1.QueryTokenizeShareLockInfoResponse.expiration_time": + x.ExpirationTime = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTokenizeShareLockInfoResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTokenizeShareLockInfoResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryTokenizeShareLockInfoResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cosmos.staking.v1beta1.QueryTokenizeShareLockInfoResponse.status": + value := x.Status + return protoreflect.ValueOfString(value) + case "cosmos.staking.v1beta1.QueryTokenizeShareLockInfoResponse.expiration_time": + value := x.ExpirationTime + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTokenizeShareLockInfoResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTokenizeShareLockInfoResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryTokenizeShareLockInfoResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryTokenizeShareLockInfoResponse.status": + x.Status = value.Interface().(string) + case "cosmos.staking.v1beta1.QueryTokenizeShareLockInfoResponse.expiration_time": + x.ExpirationTime = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTokenizeShareLockInfoResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTokenizeShareLockInfoResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryTokenizeShareLockInfoResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryTokenizeShareLockInfoResponse.status": + panic(fmt.Errorf("field status of message cosmos.staking.v1beta1.QueryTokenizeShareLockInfoResponse is not mutable")) + case "cosmos.staking.v1beta1.QueryTokenizeShareLockInfoResponse.expiration_time": + panic(fmt.Errorf("field expiration_time of message cosmos.staking.v1beta1.QueryTokenizeShareLockInfoResponse is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTokenizeShareLockInfoResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTokenizeShareLockInfoResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryTokenizeShareLockInfoResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.QueryTokenizeShareLockInfoResponse.status": + return protoreflect.ValueOfString("") + case "cosmos.staking.v1beta1.QueryTokenizeShareLockInfoResponse.expiration_time": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.QueryTokenizeShareLockInfoResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.QueryTokenizeShareLockInfoResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryTokenizeShareLockInfoResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cosmos.staking.v1beta1.QueryTokenizeShareLockInfoResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryTokenizeShareLockInfoResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryTokenizeShareLockInfoResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryTokenizeShareLockInfoResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryTokenizeShareLockInfoResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryTokenizeShareLockInfoResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Status) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.ExpirationTime) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryTokenizeShareLockInfoResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.ExpirationTime) > 0 { + i -= len(x.ExpirationTime) + copy(dAtA[i:], x.ExpirationTime) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ExpirationTime))) + i-- + dAtA[i] = 0x12 + } + if len(x.Status) > 0 { + i -= len(x.Status) + copy(dAtA[i:], x.Status) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Status))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryTokenizeShareLockInfoResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, 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 protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryTokenizeShareLockInfoResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryTokenizeShareLockInfoResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Status = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ExpirationTime", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.ExpirationTime = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.27.0 // protoc (unknown) // source: cosmos/staking/v1beta1/query.proto -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// QueryValidatorsRequest is request type for Query/Validators RPC method. +type QueryValidatorsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // status enables to query for validators matching a given status. + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + // pagination defines an optional pagination for the request. + Pagination *v1beta1.PageRequest `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` +} + +func (x *QueryValidatorsRequest) Reset() { + *x = QueryValidatorsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryValidatorsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryValidatorsRequest) ProtoMessage() {} + +// Deprecated: Use QueryValidatorsRequest.ProtoReflect.Descriptor instead. +func (*QueryValidatorsRequest) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{0} +} + +func (x *QueryValidatorsRequest) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *QueryValidatorsRequest) GetPagination() *v1beta1.PageRequest { + if x != nil { + return x.Pagination + } + return nil +} + +// QueryValidatorsResponse is response type for the Query/Validators RPC method +type QueryValidatorsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // validators contains all the queried validators. + Validators []*Validator `protobuf:"bytes,1,rep,name=validators,proto3" json:"validators,omitempty"` + // pagination defines the pagination in the response. + Pagination *v1beta1.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` +} + +func (x *QueryValidatorsResponse) Reset() { + *x = QueryValidatorsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryValidatorsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryValidatorsResponse) ProtoMessage() {} + +// Deprecated: Use QueryValidatorsResponse.ProtoReflect.Descriptor instead. +func (*QueryValidatorsResponse) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{1} +} + +func (x *QueryValidatorsResponse) GetValidators() []*Validator { + if x != nil { + return x.Validators + } + return nil +} + +func (x *QueryValidatorsResponse) GetPagination() *v1beta1.PageResponse { + if x != nil { + return x.Pagination + } + return nil +} + +// QueryValidatorRequest is response type for the Query/Validator RPC method +type QueryValidatorRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // validator_addr defines the validator address to query for. + ValidatorAddr string `protobuf:"bytes,1,opt,name=validator_addr,json=validatorAddr,proto3" json:"validator_addr,omitempty"` +} + +func (x *QueryValidatorRequest) Reset() { + *x = QueryValidatorRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryValidatorRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryValidatorRequest) ProtoMessage() {} + +// Deprecated: Use QueryValidatorRequest.ProtoReflect.Descriptor instead. +func (*QueryValidatorRequest) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{2} +} + +func (x *QueryValidatorRequest) GetValidatorAddr() string { + if x != nil { + return x.ValidatorAddr + } + return "" +} + +// QueryValidatorResponse is response type for the Query/Validator RPC method +type QueryValidatorResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // validator defines the validator info. + Validator *Validator `protobuf:"bytes,1,opt,name=validator,proto3" json:"validator,omitempty"` +} + +func (x *QueryValidatorResponse) Reset() { + *x = QueryValidatorResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryValidatorResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryValidatorResponse) ProtoMessage() {} + +// Deprecated: Use QueryValidatorResponse.ProtoReflect.Descriptor instead. +func (*QueryValidatorResponse) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{3} +} + +func (x *QueryValidatorResponse) GetValidator() *Validator { + if x != nil { + return x.Validator + } + return nil +} + +// QueryValidatorDelegationsRequest is request type for the +// Query/ValidatorDelegations RPC method +type QueryValidatorDelegationsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // validator_addr defines the validator address to query for. + ValidatorAddr string `protobuf:"bytes,1,opt,name=validator_addr,json=validatorAddr,proto3" json:"validator_addr,omitempty"` + // pagination defines an optional pagination for the request. + Pagination *v1beta1.PageRequest `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` +} + +func (x *QueryValidatorDelegationsRequest) Reset() { + *x = QueryValidatorDelegationsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryValidatorDelegationsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryValidatorDelegationsRequest) ProtoMessage() {} + +// Deprecated: Use QueryValidatorDelegationsRequest.ProtoReflect.Descriptor instead. +func (*QueryValidatorDelegationsRequest) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{4} +} + +func (x *QueryValidatorDelegationsRequest) GetValidatorAddr() string { + if x != nil { + return x.ValidatorAddr + } + return "" +} + +func (x *QueryValidatorDelegationsRequest) GetPagination() *v1beta1.PageRequest { + if x != nil { + return x.Pagination + } + return nil +} + +// QueryValidatorDelegationsResponse is response type for the +// Query/ValidatorDelegations RPC method +type QueryValidatorDelegationsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DelegationResponses []*DelegationResponse `protobuf:"bytes,1,rep,name=delegation_responses,json=delegationResponses,proto3" json:"delegation_responses,omitempty"` + // pagination defines the pagination in the response. + Pagination *v1beta1.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` +} + +func (x *QueryValidatorDelegationsResponse) Reset() { + *x = QueryValidatorDelegationsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryValidatorDelegationsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryValidatorDelegationsResponse) ProtoMessage() {} + +// Deprecated: Use QueryValidatorDelegationsResponse.ProtoReflect.Descriptor instead. +func (*QueryValidatorDelegationsResponse) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{5} +} + +func (x *QueryValidatorDelegationsResponse) GetDelegationResponses() []*DelegationResponse { + if x != nil { + return x.DelegationResponses + } + return nil +} + +func (x *QueryValidatorDelegationsResponse) GetPagination() *v1beta1.PageResponse { + if x != nil { + return x.Pagination + } + return nil +} + +// QueryValidatorUnbondingDelegationsRequest is required type for the +// Query/ValidatorUnbondingDelegations RPC method +type QueryValidatorUnbondingDelegationsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // validator_addr defines the validator address to query for. + ValidatorAddr string `protobuf:"bytes,1,opt,name=validator_addr,json=validatorAddr,proto3" json:"validator_addr,omitempty"` + // pagination defines an optional pagination for the request. + Pagination *v1beta1.PageRequest `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` +} + +func (x *QueryValidatorUnbondingDelegationsRequest) Reset() { + *x = QueryValidatorUnbondingDelegationsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryValidatorUnbondingDelegationsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryValidatorUnbondingDelegationsRequest) ProtoMessage() {} + +// Deprecated: Use QueryValidatorUnbondingDelegationsRequest.ProtoReflect.Descriptor instead. +func (*QueryValidatorUnbondingDelegationsRequest) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{6} +} + +func (x *QueryValidatorUnbondingDelegationsRequest) GetValidatorAddr() string { + if x != nil { + return x.ValidatorAddr + } + return "" +} + +func (x *QueryValidatorUnbondingDelegationsRequest) GetPagination() *v1beta1.PageRequest { + if x != nil { + return x.Pagination + } + return nil +} + +// QueryValidatorUnbondingDelegationsResponse is response type for the +// Query/ValidatorUnbondingDelegations RPC method. +type QueryValidatorUnbondingDelegationsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + UnbondingResponses []*UnbondingDelegation `protobuf:"bytes,1,rep,name=unbonding_responses,json=unbondingResponses,proto3" json:"unbonding_responses,omitempty"` + // pagination defines the pagination in the response. + Pagination *v1beta1.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` +} + +func (x *QueryValidatorUnbondingDelegationsResponse) Reset() { + *x = QueryValidatorUnbondingDelegationsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryValidatorUnbondingDelegationsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryValidatorUnbondingDelegationsResponse) ProtoMessage() {} + +// Deprecated: Use QueryValidatorUnbondingDelegationsResponse.ProtoReflect.Descriptor instead. +func (*QueryValidatorUnbondingDelegationsResponse) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{7} +} + +func (x *QueryValidatorUnbondingDelegationsResponse) GetUnbondingResponses() []*UnbondingDelegation { + if x != nil { + return x.UnbondingResponses + } + return nil +} + +func (x *QueryValidatorUnbondingDelegationsResponse) GetPagination() *v1beta1.PageResponse { + if x != nil { + return x.Pagination + } + return nil +} + +// QueryDelegationRequest is request type for the Query/Delegation RPC method. +type QueryDelegationRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // delegator_addr defines the delegator address to query for. + DelegatorAddr string `protobuf:"bytes,1,opt,name=delegator_addr,json=delegatorAddr,proto3" json:"delegator_addr,omitempty"` + // validator_addr defines the validator address to query for. + ValidatorAddr string `protobuf:"bytes,2,opt,name=validator_addr,json=validatorAddr,proto3" json:"validator_addr,omitempty"` +} + +func (x *QueryDelegationRequest) Reset() { + *x = QueryDelegationRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryDelegationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryDelegationRequest) ProtoMessage() {} + +// Deprecated: Use QueryDelegationRequest.ProtoReflect.Descriptor instead. +func (*QueryDelegationRequest) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{8} +} + +func (x *QueryDelegationRequest) GetDelegatorAddr() string { + if x != nil { + return x.DelegatorAddr + } + return "" +} + +func (x *QueryDelegationRequest) GetValidatorAddr() string { + if x != nil { + return x.ValidatorAddr + } + return "" +} + +// QueryDelegationResponse is response type for the Query/Delegation RPC method. +type QueryDelegationResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // delegation_responses defines the delegation info of a delegation. + DelegationResponse *DelegationResponse `protobuf:"bytes,1,opt,name=delegation_response,json=delegationResponse,proto3" json:"delegation_response,omitempty"` +} + +func (x *QueryDelegationResponse) Reset() { + *x = QueryDelegationResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryDelegationResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryDelegationResponse) ProtoMessage() {} + +// Deprecated: Use QueryDelegationResponse.ProtoReflect.Descriptor instead. +func (*QueryDelegationResponse) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{9} +} + +func (x *QueryDelegationResponse) GetDelegationResponse() *DelegationResponse { + if x != nil { + return x.DelegationResponse + } + return nil +} + +// QueryUnbondingDelegationRequest is request type for the +// Query/UnbondingDelegation RPC method. +type QueryUnbondingDelegationRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // delegator_addr defines the delegator address to query for. + DelegatorAddr string `protobuf:"bytes,1,opt,name=delegator_addr,json=delegatorAddr,proto3" json:"delegator_addr,omitempty"` + // validator_addr defines the validator address to query for. + ValidatorAddr string `protobuf:"bytes,2,opt,name=validator_addr,json=validatorAddr,proto3" json:"validator_addr,omitempty"` +} + +func (x *QueryUnbondingDelegationRequest) Reset() { + *x = QueryUnbondingDelegationRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryUnbondingDelegationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryUnbondingDelegationRequest) ProtoMessage() {} + +// Deprecated: Use QueryUnbondingDelegationRequest.ProtoReflect.Descriptor instead. +func (*QueryUnbondingDelegationRequest) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{10} +} + +func (x *QueryUnbondingDelegationRequest) GetDelegatorAddr() string { + if x != nil { + return x.DelegatorAddr + } + return "" +} + +func (x *QueryUnbondingDelegationRequest) GetValidatorAddr() string { + if x != nil { + return x.ValidatorAddr + } + return "" +} -// QueryValidatorsRequest is request type for Query/Validators RPC method. -type QueryValidatorsRequest struct { +// QueryDelegationResponse is response type for the Query/UnbondingDelegation +// RPC method. +type QueryUnbondingDelegationResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // status enables to query for validators matching a given status. - Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + // unbond defines the unbonding information of a delegation. + Unbond *UnbondingDelegation `protobuf:"bytes,1,opt,name=unbond,proto3" json:"unbond,omitempty"` +} + +func (x *QueryUnbondingDelegationResponse) Reset() { + *x = QueryUnbondingDelegationResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryUnbondingDelegationResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryUnbondingDelegationResponse) ProtoMessage() {} + +// Deprecated: Use QueryUnbondingDelegationResponse.ProtoReflect.Descriptor instead. +func (*QueryUnbondingDelegationResponse) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{11} +} + +func (x *QueryUnbondingDelegationResponse) GetUnbond() *UnbondingDelegation { + if x != nil { + return x.Unbond + } + return nil +} + +// QueryDelegatorDelegationsRequest is request type for the +// Query/DelegatorDelegations RPC method. +type QueryDelegatorDelegationsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // delegator_addr defines the delegator address to query for. + DelegatorAddr string `protobuf:"bytes,1,opt,name=delegator_addr,json=delegatorAddr,proto3" json:"delegator_addr,omitempty"` // pagination defines an optional pagination for the request. Pagination *v1beta1.PageRequest `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` } -func (x *QueryValidatorsRequest) Reset() { - *x = QueryValidatorsRequest{} +func (x *QueryDelegatorDelegationsRequest) Reset() { + *x = QueryDelegatorDelegationsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryDelegatorDelegationsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryDelegatorDelegationsRequest) ProtoMessage() {} + +// Deprecated: Use QueryDelegatorDelegationsRequest.ProtoReflect.Descriptor instead. +func (*QueryDelegatorDelegationsRequest) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{12} +} + +func (x *QueryDelegatorDelegationsRequest) GetDelegatorAddr() string { + if x != nil { + return x.DelegatorAddr + } + return "" +} + +func (x *QueryDelegatorDelegationsRequest) GetPagination() *v1beta1.PageRequest { + if x != nil { + return x.Pagination + } + return nil +} + +// QueryDelegatorDelegationsResponse is response type for the +// Query/DelegatorDelegations RPC method. +type QueryDelegatorDelegationsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // delegation_responses defines all the delegations' info of a delegator. + DelegationResponses []*DelegationResponse `protobuf:"bytes,1,rep,name=delegation_responses,json=delegationResponses,proto3" json:"delegation_responses,omitempty"` + // pagination defines the pagination in the response. + Pagination *v1beta1.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` +} + +func (x *QueryDelegatorDelegationsResponse) Reset() { + *x = QueryDelegatorDelegationsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryDelegatorDelegationsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryDelegatorDelegationsResponse) ProtoMessage() {} + +// Deprecated: Use QueryDelegatorDelegationsResponse.ProtoReflect.Descriptor instead. +func (*QueryDelegatorDelegationsResponse) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{13} +} + +func (x *QueryDelegatorDelegationsResponse) GetDelegationResponses() []*DelegationResponse { + if x != nil { + return x.DelegationResponses + } + return nil +} + +func (x *QueryDelegatorDelegationsResponse) GetPagination() *v1beta1.PageResponse { + if x != nil { + return x.Pagination + } + return nil +} + +// QueryDelegatorUnbondingDelegationsRequest is request type for the +// Query/DelegatorUnbondingDelegations RPC method. +type QueryDelegatorUnbondingDelegationsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // delegator_addr defines the delegator address to query for. + DelegatorAddr string `protobuf:"bytes,1,opt,name=delegator_addr,json=delegatorAddr,proto3" json:"delegator_addr,omitempty"` + // pagination defines an optional pagination for the request. + Pagination *v1beta1.PageRequest `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` +} + +func (x *QueryDelegatorUnbondingDelegationsRequest) Reset() { + *x = QueryDelegatorUnbondingDelegationsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryDelegatorUnbondingDelegationsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryDelegatorUnbondingDelegationsRequest) ProtoMessage() {} + +// Deprecated: Use QueryDelegatorUnbondingDelegationsRequest.ProtoReflect.Descriptor instead. +func (*QueryDelegatorUnbondingDelegationsRequest) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{14} +} + +func (x *QueryDelegatorUnbondingDelegationsRequest) GetDelegatorAddr() string { + if x != nil { + return x.DelegatorAddr + } + return "" +} + +func (x *QueryDelegatorUnbondingDelegationsRequest) GetPagination() *v1beta1.PageRequest { + if x != nil { + return x.Pagination + } + return nil +} + +// QueryUnbondingDelegatorDelegationsResponse is response type for the +// Query/UnbondingDelegatorDelegations RPC method. +type QueryDelegatorUnbondingDelegationsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + UnbondingResponses []*UnbondingDelegation `protobuf:"bytes,1,rep,name=unbonding_responses,json=unbondingResponses,proto3" json:"unbonding_responses,omitempty"` + // pagination defines the pagination in the response. + Pagination *v1beta1.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` +} + +func (x *QueryDelegatorUnbondingDelegationsResponse) Reset() { + *x = QueryDelegatorUnbondingDelegationsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryDelegatorUnbondingDelegationsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryDelegatorUnbondingDelegationsResponse) ProtoMessage() {} + +// Deprecated: Use QueryDelegatorUnbondingDelegationsResponse.ProtoReflect.Descriptor instead. +func (*QueryDelegatorUnbondingDelegationsResponse) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{15} +} + +func (x *QueryDelegatorUnbondingDelegationsResponse) GetUnbondingResponses() []*UnbondingDelegation { + if x != nil { + return x.UnbondingResponses + } + return nil +} + +func (x *QueryDelegatorUnbondingDelegationsResponse) GetPagination() *v1beta1.PageResponse { + if x != nil { + return x.Pagination + } + return nil +} + +// QueryRedelegationsRequest is request type for the Query/Redelegations RPC +// method. +type QueryRedelegationsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // delegator_addr defines the delegator address to query for. + DelegatorAddr string `protobuf:"bytes,1,opt,name=delegator_addr,json=delegatorAddr,proto3" json:"delegator_addr,omitempty"` + // src_validator_addr defines the validator address to redelegate from. + SrcValidatorAddr string `protobuf:"bytes,2,opt,name=src_validator_addr,json=srcValidatorAddr,proto3" json:"src_validator_addr,omitempty"` + // dst_validator_addr defines the validator address to redelegate to. + DstValidatorAddr string `protobuf:"bytes,3,opt,name=dst_validator_addr,json=dstValidatorAddr,proto3" json:"dst_validator_addr,omitempty"` + // pagination defines an optional pagination for the request. + Pagination *v1beta1.PageRequest `protobuf:"bytes,4,opt,name=pagination,proto3" json:"pagination,omitempty"` +} + +func (x *QueryRedelegationsRequest) Reset() { + *x = QueryRedelegationsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[0] + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *QueryValidatorsRequest) String() string { +func (x *QueryRedelegationsRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*QueryValidatorsRequest) ProtoMessage() {} +func (*QueryRedelegationsRequest) ProtoMessage() {} -// Deprecated: Use QueryValidatorsRequest.ProtoReflect.Descriptor instead. -func (*QueryValidatorsRequest) Descriptor() ([]byte, []int) { - return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{0} +// Deprecated: Use QueryRedelegationsRequest.ProtoReflect.Descriptor instead. +func (*QueryRedelegationsRequest) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{16} } -func (x *QueryValidatorsRequest) GetStatus() string { +func (x *QueryRedelegationsRequest) GetDelegatorAddr() string { if x != nil { - return x.Status + return x.DelegatorAddr } return "" } -func (x *QueryValidatorsRequest) GetPagination() *v1beta1.PageRequest { +func (x *QueryRedelegationsRequest) GetSrcValidatorAddr() string { + if x != nil { + return x.SrcValidatorAddr + } + return "" +} + +func (x *QueryRedelegationsRequest) GetDstValidatorAddr() string { + if x != nil { + return x.DstValidatorAddr + } + return "" +} + +func (x *QueryRedelegationsRequest) GetPagination() *v1beta1.PageRequest { if x != nil { return x.Pagination } return nil } -// QueryValidatorsResponse is response type for the Query/Validators RPC method -type QueryValidatorsResponse struct { +// QueryRedelegationsResponse is response type for the Query/Redelegations RPC +// method. +type QueryRedelegationsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // validators contains all the queried validators. - Validators []*Validator `protobuf:"bytes,1,rep,name=validators,proto3" json:"validators,omitempty"` + RedelegationResponses []*RedelegationResponse `protobuf:"bytes,1,rep,name=redelegation_responses,json=redelegationResponses,proto3" json:"redelegation_responses,omitempty"` // pagination defines the pagination in the response. Pagination *v1beta1.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` } -func (x *QueryValidatorsResponse) Reset() { - *x = QueryValidatorsResponse{} +func (x *QueryRedelegationsResponse) Reset() { + *x = QueryRedelegationsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[1] + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *QueryValidatorsResponse) String() string { +func (x *QueryRedelegationsResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*QueryValidatorsResponse) ProtoMessage() {} +func (*QueryRedelegationsResponse) ProtoMessage() {} -// Deprecated: Use QueryValidatorsResponse.ProtoReflect.Descriptor instead. -func (*QueryValidatorsResponse) Descriptor() ([]byte, []int) { - return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{1} +// Deprecated: Use QueryRedelegationsResponse.ProtoReflect.Descriptor instead. +func (*QueryRedelegationsResponse) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{17} } -func (x *QueryValidatorsResponse) GetValidators() []*Validator { +func (x *QueryRedelegationsResponse) GetRedelegationResponses() []*RedelegationResponse { if x != nil { - return x.Validators + return x.RedelegationResponses } return nil } -func (x *QueryValidatorsResponse) GetPagination() *v1beta1.PageResponse { +func (x *QueryRedelegationsResponse) GetPagination() *v1beta1.PageResponse { if x != nil { return x.Pagination } return nil } -// QueryValidatorRequest is response type for the Query/Validator RPC method -type QueryValidatorRequest struct { +// QueryDelegatorValidatorsRequest is request type for the +// Query/DelegatorValidators RPC method. +type QueryDelegatorValidatorsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // validator_addr defines the validator address to query for. - ValidatorAddr string `protobuf:"bytes,1,opt,name=validator_addr,json=validatorAddr,proto3" json:"validator_addr,omitempty"` + // delegator_addr defines the delegator address to query for. + DelegatorAddr string `protobuf:"bytes,1,opt,name=delegator_addr,json=delegatorAddr,proto3" json:"delegator_addr,omitempty"` + // pagination defines an optional pagination for the request. + Pagination *v1beta1.PageRequest `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` } -func (x *QueryValidatorRequest) Reset() { - *x = QueryValidatorRequest{} +func (x *QueryDelegatorValidatorsRequest) Reset() { + *x = QueryDelegatorValidatorsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[2] + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *QueryValidatorRequest) String() string { +func (x *QueryDelegatorValidatorsRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*QueryValidatorRequest) ProtoMessage() {} +func (*QueryDelegatorValidatorsRequest) ProtoMessage() {} -// Deprecated: Use QueryValidatorRequest.ProtoReflect.Descriptor instead. -func (*QueryValidatorRequest) Descriptor() ([]byte, []int) { - return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{2} +// Deprecated: Use QueryDelegatorValidatorsRequest.ProtoReflect.Descriptor instead. +func (*QueryDelegatorValidatorsRequest) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{18} } -func (x *QueryValidatorRequest) GetValidatorAddr() string { +func (x *QueryDelegatorValidatorsRequest) GetDelegatorAddr() string { if x != nil { - return x.ValidatorAddr + return x.DelegatorAddr } return "" } -// QueryValidatorResponse is response type for the Query/Validator RPC method -type QueryValidatorResponse struct { +func (x *QueryDelegatorValidatorsRequest) GetPagination() *v1beta1.PageRequest { + if x != nil { + return x.Pagination + } + return nil +} + +// QueryDelegatorValidatorsResponse is response type for the +// Query/DelegatorValidators RPC method. +type QueryDelegatorValidatorsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // validator defines the validator info. - Validator *Validator `protobuf:"bytes,1,opt,name=validator,proto3" json:"validator,omitempty"` + // validators defines the validators' info of a delegator. + Validators []*Validator `protobuf:"bytes,1,rep,name=validators,proto3" json:"validators,omitempty"` + // pagination defines the pagination in the response. + Pagination *v1beta1.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` } -func (x *QueryValidatorResponse) Reset() { - *x = QueryValidatorResponse{} +func (x *QueryDelegatorValidatorsResponse) Reset() { + *x = QueryDelegatorValidatorsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[3] + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *QueryValidatorResponse) String() string { +func (x *QueryDelegatorValidatorsResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*QueryValidatorResponse) ProtoMessage() {} +func (*QueryDelegatorValidatorsResponse) ProtoMessage() {} -// Deprecated: Use QueryValidatorResponse.ProtoReflect.Descriptor instead. -func (*QueryValidatorResponse) Descriptor() ([]byte, []int) { - return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{3} +// Deprecated: Use QueryDelegatorValidatorsResponse.ProtoReflect.Descriptor instead. +func (*QueryDelegatorValidatorsResponse) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{19} } -func (x *QueryValidatorResponse) GetValidator() *Validator { +func (x *QueryDelegatorValidatorsResponse) GetValidators() []*Validator { if x != nil { - return x.Validator + return x.Validators } return nil } -// QueryValidatorDelegationsRequest is request type for the -// Query/ValidatorDelegations RPC method -type QueryValidatorDelegationsRequest struct { +func (x *QueryDelegatorValidatorsResponse) GetPagination() *v1beta1.PageResponse { + if x != nil { + return x.Pagination + } + return nil +} + +// QueryDelegatorValidatorRequest is request type for the +// Query/DelegatorValidator RPC method. +type QueryDelegatorValidatorRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // delegator_addr defines the delegator address to query for. + DelegatorAddr string `protobuf:"bytes,1,opt,name=delegator_addr,json=delegatorAddr,proto3" json:"delegator_addr,omitempty"` // validator_addr defines the validator address to query for. - ValidatorAddr string `protobuf:"bytes,1,opt,name=validator_addr,json=validatorAddr,proto3" json:"validator_addr,omitempty"` - // pagination defines an optional pagination for the request. - Pagination *v1beta1.PageRequest `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` + ValidatorAddr string `protobuf:"bytes,2,opt,name=validator_addr,json=validatorAddr,proto3" json:"validator_addr,omitempty"` } -func (x *QueryValidatorDelegationsRequest) Reset() { - *x = QueryValidatorDelegationsRequest{} +func (x *QueryDelegatorValidatorRequest) Reset() { + *x = QueryDelegatorValidatorRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[4] + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *QueryValidatorDelegationsRequest) String() string { +func (x *QueryDelegatorValidatorRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*QueryValidatorDelegationsRequest) ProtoMessage() {} +func (*QueryDelegatorValidatorRequest) ProtoMessage() {} -// Deprecated: Use QueryValidatorDelegationsRequest.ProtoReflect.Descriptor instead. -func (*QueryValidatorDelegationsRequest) Descriptor() ([]byte, []int) { - return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{4} +// Deprecated: Use QueryDelegatorValidatorRequest.ProtoReflect.Descriptor instead. +func (*QueryDelegatorValidatorRequest) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{20} } -func (x *QueryValidatorDelegationsRequest) GetValidatorAddr() string { +func (x *QueryDelegatorValidatorRequest) GetDelegatorAddr() string { if x != nil { - return x.ValidatorAddr + return x.DelegatorAddr } return "" } -func (x *QueryValidatorDelegationsRequest) GetPagination() *v1beta1.PageRequest { +func (x *QueryDelegatorValidatorRequest) GetValidatorAddr() string { if x != nil { - return x.Pagination + return x.ValidatorAddr } - return nil + return "" } -// QueryValidatorDelegationsResponse is response type for the -// Query/ValidatorDelegations RPC method -type QueryValidatorDelegationsResponse struct { +// QueryDelegatorValidatorResponse response type for the +// Query/DelegatorValidator RPC method. +type QueryDelegatorValidatorResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - DelegationResponses []*DelegationResponse `protobuf:"bytes,1,rep,name=delegation_responses,json=delegationResponses,proto3" json:"delegation_responses,omitempty"` - // pagination defines the pagination in the response. - Pagination *v1beta1.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` + // validator defines the validator info. + Validator *Validator `protobuf:"bytes,1,opt,name=validator,proto3" json:"validator,omitempty"` } -func (x *QueryValidatorDelegationsResponse) Reset() { - *x = QueryValidatorDelegationsResponse{} +func (x *QueryDelegatorValidatorResponse) Reset() { + *x = QueryDelegatorValidatorResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[5] + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *QueryValidatorDelegationsResponse) String() string { +func (x *QueryDelegatorValidatorResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*QueryValidatorDelegationsResponse) ProtoMessage() {} - -// Deprecated: Use QueryValidatorDelegationsResponse.ProtoReflect.Descriptor instead. -func (*QueryValidatorDelegationsResponse) Descriptor() ([]byte, []int) { - return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{5} -} +func (*QueryDelegatorValidatorResponse) ProtoMessage() {} -func (x *QueryValidatorDelegationsResponse) GetDelegationResponses() []*DelegationResponse { - if x != nil { - return x.DelegationResponses - } - return nil +// Deprecated: Use QueryDelegatorValidatorResponse.ProtoReflect.Descriptor instead. +func (*QueryDelegatorValidatorResponse) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{21} } -func (x *QueryValidatorDelegationsResponse) GetPagination() *v1beta1.PageResponse { +func (x *QueryDelegatorValidatorResponse) GetValidator() *Validator { if x != nil { - return x.Pagination + return x.Validator } return nil } -// QueryValidatorUnbondingDelegationsRequest is required type for the -// Query/ValidatorUnbondingDelegations RPC method -type QueryValidatorUnbondingDelegationsRequest struct { +// QueryHistoricalInfoRequest is request type for the Query/HistoricalInfo RPC +// method. +type QueryHistoricalInfoRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // validator_addr defines the validator address to query for. - ValidatorAddr string `protobuf:"bytes,1,opt,name=validator_addr,json=validatorAddr,proto3" json:"validator_addr,omitempty"` - // pagination defines an optional pagination for the request. - Pagination *v1beta1.PageRequest `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` + // height defines at which height to query the historical info. + Height int64 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"` } -func (x *QueryValidatorUnbondingDelegationsRequest) Reset() { - *x = QueryValidatorUnbondingDelegationsRequest{} +func (x *QueryHistoricalInfoRequest) Reset() { + *x = QueryHistoricalInfoRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[6] + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *QueryValidatorUnbondingDelegationsRequest) String() string { +func (x *QueryHistoricalInfoRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*QueryValidatorUnbondingDelegationsRequest) ProtoMessage() {} - -// Deprecated: Use QueryValidatorUnbondingDelegationsRequest.ProtoReflect.Descriptor instead. -func (*QueryValidatorUnbondingDelegationsRequest) Descriptor() ([]byte, []int) { - return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{6} -} +func (*QueryHistoricalInfoRequest) ProtoMessage() {} -func (x *QueryValidatorUnbondingDelegationsRequest) GetValidatorAddr() string { - if x != nil { - return x.ValidatorAddr - } - return "" +// Deprecated: Use QueryHistoricalInfoRequest.ProtoReflect.Descriptor instead. +func (*QueryHistoricalInfoRequest) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{22} } -func (x *QueryValidatorUnbondingDelegationsRequest) GetPagination() *v1beta1.PageRequest { +func (x *QueryHistoricalInfoRequest) GetHeight() int64 { if x != nil { - return x.Pagination + return x.Height } - return nil + return 0 } -// QueryValidatorUnbondingDelegationsResponse is response type for the -// Query/ValidatorUnbondingDelegations RPC method. -type QueryValidatorUnbondingDelegationsResponse struct { +// QueryHistoricalInfoResponse is response type for the Query/HistoricalInfo RPC +// method. +type QueryHistoricalInfoResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - UnbondingResponses []*UnbondingDelegation `protobuf:"bytes,1,rep,name=unbonding_responses,json=unbondingResponses,proto3" json:"unbonding_responses,omitempty"` - // pagination defines the pagination in the response. - Pagination *v1beta1.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` + // hist defines the historical info at the given height. + Hist *HistoricalInfo `protobuf:"bytes,1,opt,name=hist,proto3" json:"hist,omitempty"` } -func (x *QueryValidatorUnbondingDelegationsResponse) Reset() { - *x = QueryValidatorUnbondingDelegationsResponse{} +func (x *QueryHistoricalInfoResponse) Reset() { + *x = QueryHistoricalInfoResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[7] + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *QueryValidatorUnbondingDelegationsResponse) String() string { +func (x *QueryHistoricalInfoResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*QueryValidatorUnbondingDelegationsResponse) ProtoMessage() {} - -// Deprecated: Use QueryValidatorUnbondingDelegationsResponse.ProtoReflect.Descriptor instead. -func (*QueryValidatorUnbondingDelegationsResponse) Descriptor() ([]byte, []int) { - return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{7} -} +func (*QueryHistoricalInfoResponse) ProtoMessage() {} -func (x *QueryValidatorUnbondingDelegationsResponse) GetUnbondingResponses() []*UnbondingDelegation { - if x != nil { - return x.UnbondingResponses - } - return nil +// Deprecated: Use QueryHistoricalInfoResponse.ProtoReflect.Descriptor instead. +func (*QueryHistoricalInfoResponse) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{23} } -func (x *QueryValidatorUnbondingDelegationsResponse) GetPagination() *v1beta1.PageResponse { +func (x *QueryHistoricalInfoResponse) GetHist() *HistoricalInfo { if x != nil { - return x.Pagination + return x.Hist } return nil } -// QueryDelegationRequest is request type for the Query/Delegation RPC method. -type QueryDelegationRequest struct { +// QueryPoolRequest is request type for the Query/Pool RPC method. +type QueryPoolRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - // delegator_addr defines the delegator address to query for. - DelegatorAddr string `protobuf:"bytes,1,opt,name=delegator_addr,json=delegatorAddr,proto3" json:"delegator_addr,omitempty"` - // validator_addr defines the validator address to query for. - ValidatorAddr string `protobuf:"bytes,2,opt,name=validator_addr,json=validatorAddr,proto3" json:"validator_addr,omitempty"` } -func (x *QueryDelegationRequest) Reset() { - *x = QueryDelegationRequest{} +func (x *QueryPoolRequest) Reset() { + *x = QueryPoolRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[8] + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *QueryDelegationRequest) String() string { +func (x *QueryPoolRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*QueryDelegationRequest) ProtoMessage() {} - -// Deprecated: Use QueryDelegationRequest.ProtoReflect.Descriptor instead. -func (*QueryDelegationRequest) Descriptor() ([]byte, []int) { - return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{8} -} - -func (x *QueryDelegationRequest) GetDelegatorAddr() string { - if x != nil { - return x.DelegatorAddr - } - return "" -} +func (*QueryPoolRequest) ProtoMessage() {} -func (x *QueryDelegationRequest) GetValidatorAddr() string { - if x != nil { - return x.ValidatorAddr - } - return "" +// Deprecated: Use QueryPoolRequest.ProtoReflect.Descriptor instead. +func (*QueryPoolRequest) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{24} } -// QueryDelegationResponse is response type for the Query/Delegation RPC method. -type QueryDelegationResponse struct { +// QueryPoolResponse is response type for the Query/Pool RPC method. +type QueryPoolResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // delegation_responses defines the delegation info of a delegation. - DelegationResponse *DelegationResponse `protobuf:"bytes,1,opt,name=delegation_response,json=delegationResponse,proto3" json:"delegation_response,omitempty"` + // pool defines the pool info. + Pool *Pool `protobuf:"bytes,1,opt,name=pool,proto3" json:"pool,omitempty"` } -func (x *QueryDelegationResponse) Reset() { - *x = QueryDelegationResponse{} +func (x *QueryPoolResponse) Reset() { + *x = QueryPoolResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[9] + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *QueryDelegationResponse) String() string { +func (x *QueryPoolResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*QueryDelegationResponse) ProtoMessage() {} +func (*QueryPoolResponse) ProtoMessage() {} -// Deprecated: Use QueryDelegationResponse.ProtoReflect.Descriptor instead. -func (*QueryDelegationResponse) Descriptor() ([]byte, []int) { - return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{9} +// Deprecated: Use QueryPoolResponse.ProtoReflect.Descriptor instead. +func (*QueryPoolResponse) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{25} } -func (x *QueryDelegationResponse) GetDelegationResponse() *DelegationResponse { +func (x *QueryPoolResponse) GetPool() *Pool { if x != nil { - return x.DelegationResponse + return x.Pool } return nil } -// QueryUnbondingDelegationRequest is request type for the -// Query/UnbondingDelegation RPC method. -type QueryUnbondingDelegationRequest struct { +// QueryParamsRequest is request type for the Query/Params RPC method. +type QueryParamsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - // delegator_addr defines the delegator address to query for. - DelegatorAddr string `protobuf:"bytes,1,opt,name=delegator_addr,json=delegatorAddr,proto3" json:"delegator_addr,omitempty"` - // validator_addr defines the validator address to query for. - ValidatorAddr string `protobuf:"bytes,2,opt,name=validator_addr,json=validatorAddr,proto3" json:"validator_addr,omitempty"` } -func (x *QueryUnbondingDelegationRequest) Reset() { - *x = QueryUnbondingDelegationRequest{} +func (x *QueryParamsRequest) Reset() { + *x = QueryParamsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[10] + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *QueryUnbondingDelegationRequest) String() string { +func (x *QueryParamsRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*QueryUnbondingDelegationRequest) ProtoMessage() {} - -// Deprecated: Use QueryUnbondingDelegationRequest.ProtoReflect.Descriptor instead. -func (*QueryUnbondingDelegationRequest) Descriptor() ([]byte, []int) { - return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{10} -} - -func (x *QueryUnbondingDelegationRequest) GetDelegatorAddr() string { - if x != nil { - return x.DelegatorAddr - } - return "" -} +func (*QueryParamsRequest) ProtoMessage() {} -func (x *QueryUnbondingDelegationRequest) GetValidatorAddr() string { - if x != nil { - return x.ValidatorAddr - } - return "" +// Deprecated: Use QueryParamsRequest.ProtoReflect.Descriptor instead. +func (*QueryParamsRequest) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{26} } -// QueryDelegationResponse is response type for the Query/UnbondingDelegation -// RPC method. -type QueryUnbondingDelegationResponse struct { +// QueryParamsResponse is response type for the Query/Params RPC method. +type QueryParamsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // unbond defines the unbonding information of a delegation. - Unbond *UnbondingDelegation `protobuf:"bytes,1,opt,name=unbond,proto3" json:"unbond,omitempty"` + // params holds all the parameters of this module. + Params *Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params,omitempty"` } -func (x *QueryUnbondingDelegationResponse) Reset() { - *x = QueryUnbondingDelegationResponse{} +func (x *QueryParamsResponse) Reset() { + *x = QueryParamsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[11] + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *QueryUnbondingDelegationResponse) String() string { +func (x *QueryParamsResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*QueryUnbondingDelegationResponse) ProtoMessage() {} +func (*QueryParamsResponse) ProtoMessage() {} -// Deprecated: Use QueryUnbondingDelegationResponse.ProtoReflect.Descriptor instead. -func (*QueryUnbondingDelegationResponse) Descriptor() ([]byte, []int) { - return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{11} +// Deprecated: Use QueryParamsResponse.ProtoReflect.Descriptor instead. +func (*QueryParamsResponse) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{27} } -func (x *QueryUnbondingDelegationResponse) GetUnbond() *UnbondingDelegation { +func (x *QueryParamsResponse) GetParams() *Params { if x != nil { - return x.Unbond + return x.Params } return nil } -// QueryDelegatorDelegationsRequest is request type for the -// Query/DelegatorDelegations RPC method. -type QueryDelegatorDelegationsRequest struct { +// QueryTokenizeShareRecordByIdRequest is request type for the +// Query/QueryTokenizeShareRecordById RPC method. +// +// Since: cosmos-sdk 0.47-lsm +type QueryTokenizeShareRecordByIdRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // delegator_addr defines the delegator address to query for. - DelegatorAddr string `protobuf:"bytes,1,opt,name=delegator_addr,json=delegatorAddr,proto3" json:"delegator_addr,omitempty"` - // pagination defines an optional pagination for the request. - Pagination *v1beta1.PageRequest `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` } -func (x *QueryDelegatorDelegationsRequest) Reset() { - *x = QueryDelegatorDelegationsRequest{} +func (x *QueryTokenizeShareRecordByIdRequest) Reset() { + *x = QueryTokenizeShareRecordByIdRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[12] + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *QueryDelegatorDelegationsRequest) String() string { +func (x *QueryTokenizeShareRecordByIdRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*QueryDelegatorDelegationsRequest) ProtoMessage() {} - -// Deprecated: Use QueryDelegatorDelegationsRequest.ProtoReflect.Descriptor instead. -func (*QueryDelegatorDelegationsRequest) Descriptor() ([]byte, []int) { - return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{12} -} +func (*QueryTokenizeShareRecordByIdRequest) ProtoMessage() {} -func (x *QueryDelegatorDelegationsRequest) GetDelegatorAddr() string { - if x != nil { - return x.DelegatorAddr - } - return "" +// Deprecated: Use QueryTokenizeShareRecordByIdRequest.ProtoReflect.Descriptor instead. +func (*QueryTokenizeShareRecordByIdRequest) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{28} } -func (x *QueryDelegatorDelegationsRequest) GetPagination() *v1beta1.PageRequest { +func (x *QueryTokenizeShareRecordByIdRequest) GetId() uint64 { if x != nil { - return x.Pagination + return x.Id } - return nil + return 0 } -// QueryDelegatorDelegationsResponse is response type for the -// Query/DelegatorDelegations RPC method. -type QueryDelegatorDelegationsResponse struct { +// QueryTokenizeShareRecordByIdRequest is response type for the +// Query/QueryTokenizeShareRecordById RPC method. +// +// Since: cosmos-sdk 0.47-lsm +type QueryTokenizeShareRecordByIdResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // delegation_responses defines all the delegations' info of a delegator. - DelegationResponses []*DelegationResponse `protobuf:"bytes,1,rep,name=delegation_responses,json=delegationResponses,proto3" json:"delegation_responses,omitempty"` - // pagination defines the pagination in the response. - Pagination *v1beta1.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` + Record *TokenizeShareRecord `protobuf:"bytes,1,opt,name=record,proto3" json:"record,omitempty"` } -func (x *QueryDelegatorDelegationsResponse) Reset() { - *x = QueryDelegatorDelegationsResponse{} +func (x *QueryTokenizeShareRecordByIdResponse) Reset() { + *x = QueryTokenizeShareRecordByIdResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[13] + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *QueryDelegatorDelegationsResponse) String() string { +func (x *QueryTokenizeShareRecordByIdResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*QueryDelegatorDelegationsResponse) ProtoMessage() {} - -// Deprecated: Use QueryDelegatorDelegationsResponse.ProtoReflect.Descriptor instead. -func (*QueryDelegatorDelegationsResponse) Descriptor() ([]byte, []int) { - return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{13} -} +func (*QueryTokenizeShareRecordByIdResponse) ProtoMessage() {} -func (x *QueryDelegatorDelegationsResponse) GetDelegationResponses() []*DelegationResponse { - if x != nil { - return x.DelegationResponses - } - return nil +// Deprecated: Use QueryTokenizeShareRecordByIdResponse.ProtoReflect.Descriptor instead. +func (*QueryTokenizeShareRecordByIdResponse) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{29} } -func (x *QueryDelegatorDelegationsResponse) GetPagination() *v1beta1.PageResponse { +func (x *QueryTokenizeShareRecordByIdResponse) GetRecord() *TokenizeShareRecord { if x != nil { - return x.Pagination + return x.Record } return nil } -// QueryDelegatorUnbondingDelegationsRequest is request type for the -// Query/DelegatorUnbondingDelegations RPC method. -type QueryDelegatorUnbondingDelegationsRequest struct { +// QueryTokenizeShareRecordByDenomRequest is request type for the +// Query/QueryTokenizeShareRecordByDenom RPC method. +// +// Since: cosmos-sdk 0.47-lsm +type QueryTokenizeShareRecordByDenomRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // delegator_addr defines the delegator address to query for. - DelegatorAddr string `protobuf:"bytes,1,opt,name=delegator_addr,json=delegatorAddr,proto3" json:"delegator_addr,omitempty"` - // pagination defines an optional pagination for the request. - Pagination *v1beta1.PageRequest `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` + Denom string `protobuf:"bytes,1,opt,name=denom,proto3" json:"denom,omitempty"` } -func (x *QueryDelegatorUnbondingDelegationsRequest) Reset() { - *x = QueryDelegatorUnbondingDelegationsRequest{} +func (x *QueryTokenizeShareRecordByDenomRequest) Reset() { + *x = QueryTokenizeShareRecordByDenomRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[14] + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *QueryDelegatorUnbondingDelegationsRequest) String() string { +func (x *QueryTokenizeShareRecordByDenomRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*QueryDelegatorUnbondingDelegationsRequest) ProtoMessage() {} +func (*QueryTokenizeShareRecordByDenomRequest) ProtoMessage() {} -// Deprecated: Use QueryDelegatorUnbondingDelegationsRequest.ProtoReflect.Descriptor instead. -func (*QueryDelegatorUnbondingDelegationsRequest) Descriptor() ([]byte, []int) { - return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{14} +// Deprecated: Use QueryTokenizeShareRecordByDenomRequest.ProtoReflect.Descriptor instead. +func (*QueryTokenizeShareRecordByDenomRequest) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{30} } -func (x *QueryDelegatorUnbondingDelegationsRequest) GetDelegatorAddr() string { +func (x *QueryTokenizeShareRecordByDenomRequest) GetDenom() string { if x != nil { - return x.DelegatorAddr + return x.Denom } return "" } -func (x *QueryDelegatorUnbondingDelegationsRequest) GetPagination() *v1beta1.PageRequest { - if x != nil { - return x.Pagination - } - return nil -} - -// QueryUnbondingDelegatorDelegationsResponse is response type for the -// Query/UnbondingDelegatorDelegations RPC method. -type QueryDelegatorUnbondingDelegationsResponse struct { +// QueryTokenizeShareRecordByDenomResponse is response type for the +// Query/QueryTokenizeShareRecordByDenom RPC method. +// +// Since: cosmos-sdk 0.47-lsm +type QueryTokenizeShareRecordByDenomResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - UnbondingResponses []*UnbondingDelegation `protobuf:"bytes,1,rep,name=unbonding_responses,json=unbondingResponses,proto3" json:"unbonding_responses,omitempty"` - // pagination defines the pagination in the response. - Pagination *v1beta1.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` + Record *TokenizeShareRecord `protobuf:"bytes,1,opt,name=record,proto3" json:"record,omitempty"` } -func (x *QueryDelegatorUnbondingDelegationsResponse) Reset() { - *x = QueryDelegatorUnbondingDelegationsResponse{} +func (x *QueryTokenizeShareRecordByDenomResponse) Reset() { + *x = QueryTokenizeShareRecordByDenomResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[15] + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *QueryDelegatorUnbondingDelegationsResponse) String() string { +func (x *QueryTokenizeShareRecordByDenomResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*QueryDelegatorUnbondingDelegationsResponse) ProtoMessage() {} - -// Deprecated: Use QueryDelegatorUnbondingDelegationsResponse.ProtoReflect.Descriptor instead. -func (*QueryDelegatorUnbondingDelegationsResponse) Descriptor() ([]byte, []int) { - return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{15} -} +func (*QueryTokenizeShareRecordByDenomResponse) ProtoMessage() {} -func (x *QueryDelegatorUnbondingDelegationsResponse) GetUnbondingResponses() []*UnbondingDelegation { - if x != nil { - return x.UnbondingResponses - } - return nil +// Deprecated: Use QueryTokenizeShareRecordByDenomResponse.ProtoReflect.Descriptor instead. +func (*QueryTokenizeShareRecordByDenomResponse) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{31} } -func (x *QueryDelegatorUnbondingDelegationsResponse) GetPagination() *v1beta1.PageResponse { +func (x *QueryTokenizeShareRecordByDenomResponse) GetRecord() *TokenizeShareRecord { if x != nil { - return x.Pagination + return x.Record } return nil } -// QueryRedelegationsRequest is request type for the Query/Redelegations RPC -// method. -type QueryRedelegationsRequest struct { +// QueryTokenizeShareRecordsOwnedRequest is request type for the +// Query/QueryTokenizeShareRecordsOwned RPC method. +// +// Since: cosmos-sdk 0.47-lsm +type QueryTokenizeShareRecordsOwnedRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // delegator_addr defines the delegator address to query for. - DelegatorAddr string `protobuf:"bytes,1,opt,name=delegator_addr,json=delegatorAddr,proto3" json:"delegator_addr,omitempty"` - // src_validator_addr defines the validator address to redelegate from. - SrcValidatorAddr string `protobuf:"bytes,2,opt,name=src_validator_addr,json=srcValidatorAddr,proto3" json:"src_validator_addr,omitempty"` - // dst_validator_addr defines the validator address to redelegate to. - DstValidatorAddr string `protobuf:"bytes,3,opt,name=dst_validator_addr,json=dstValidatorAddr,proto3" json:"dst_validator_addr,omitempty"` - // pagination defines an optional pagination for the request. - Pagination *v1beta1.PageRequest `protobuf:"bytes,4,opt,name=pagination,proto3" json:"pagination,omitempty"` + Owner string `protobuf:"bytes,1,opt,name=owner,proto3" json:"owner,omitempty"` } -func (x *QueryRedelegationsRequest) Reset() { - *x = QueryRedelegationsRequest{} +func (x *QueryTokenizeShareRecordsOwnedRequest) Reset() { + *x = QueryTokenizeShareRecordsOwnedRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[16] + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *QueryRedelegationsRequest) String() string { +func (x *QueryTokenizeShareRecordsOwnedRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*QueryRedelegationsRequest) ProtoMessage() {} - -// Deprecated: Use QueryRedelegationsRequest.ProtoReflect.Descriptor instead. -func (*QueryRedelegationsRequest) Descriptor() ([]byte, []int) { - return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{16} -} - -func (x *QueryRedelegationsRequest) GetDelegatorAddr() string { - if x != nil { - return x.DelegatorAddr - } - return "" -} +func (*QueryTokenizeShareRecordsOwnedRequest) ProtoMessage() {} -func (x *QueryRedelegationsRequest) GetSrcValidatorAddr() string { - if x != nil { - return x.SrcValidatorAddr - } - return "" +// Deprecated: Use QueryTokenizeShareRecordsOwnedRequest.ProtoReflect.Descriptor instead. +func (*QueryTokenizeShareRecordsOwnedRequest) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{32} } -func (x *QueryRedelegationsRequest) GetDstValidatorAddr() string { +func (x *QueryTokenizeShareRecordsOwnedRequest) GetOwner() string { if x != nil { - return x.DstValidatorAddr + return x.Owner } return "" } -func (x *QueryRedelegationsRequest) GetPagination() *v1beta1.PageRequest { - if x != nil { - return x.Pagination - } - return nil -} - -// QueryRedelegationsResponse is response type for the Query/Redelegations RPC -// method. -type QueryRedelegationsResponse struct { +// QueryTokenizeShareRecordsOwnedResponse is response type for the +// Query/QueryTokenizeShareRecordsOwned RPC method. +// +// Since: cosmos-sdk 0.47-lsm +type QueryTokenizeShareRecordsOwnedResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - RedelegationResponses []*RedelegationResponse `protobuf:"bytes,1,rep,name=redelegation_responses,json=redelegationResponses,proto3" json:"redelegation_responses,omitempty"` - // pagination defines the pagination in the response. - Pagination *v1beta1.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` + Records []*TokenizeShareRecord `protobuf:"bytes,1,rep,name=records,proto3" json:"records,omitempty"` } -func (x *QueryRedelegationsResponse) Reset() { - *x = QueryRedelegationsResponse{} +func (x *QueryTokenizeShareRecordsOwnedResponse) Reset() { + *x = QueryTokenizeShareRecordsOwnedResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[17] + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *QueryRedelegationsResponse) String() string { +func (x *QueryTokenizeShareRecordsOwnedResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*QueryRedelegationsResponse) ProtoMessage() {} - -// Deprecated: Use QueryRedelegationsResponse.ProtoReflect.Descriptor instead. -func (*QueryRedelegationsResponse) Descriptor() ([]byte, []int) { - return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{17} -} +func (*QueryTokenizeShareRecordsOwnedResponse) ProtoMessage() {} -func (x *QueryRedelegationsResponse) GetRedelegationResponses() []*RedelegationResponse { - if x != nil { - return x.RedelegationResponses - } - return nil +// Deprecated: Use QueryTokenizeShareRecordsOwnedResponse.ProtoReflect.Descriptor instead. +func (*QueryTokenizeShareRecordsOwnedResponse) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{33} } -func (x *QueryRedelegationsResponse) GetPagination() *v1beta1.PageResponse { +func (x *QueryTokenizeShareRecordsOwnedResponse) GetRecords() []*TokenizeShareRecord { if x != nil { - return x.Pagination + return x.Records } return nil } -// QueryDelegatorValidatorsRequest is request type for the -// Query/DelegatorValidators RPC method. -type QueryDelegatorValidatorsRequest struct { +// QueryAllTokenizeShareRecordsRequest is request type for the +// Query/QueryAllTokenizeShareRecords RPC method. +// +// Since: cosmos-sdk 0.47-lsm +type QueryAllTokenizeShareRecordsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // delegator_addr defines the delegator address to query for. - DelegatorAddr string `protobuf:"bytes,1,opt,name=delegator_addr,json=delegatorAddr,proto3" json:"delegator_addr,omitempty"` // pagination defines an optional pagination for the request. - Pagination *v1beta1.PageRequest `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` + Pagination *v1beta1.PageRequest `protobuf:"bytes,1,opt,name=pagination,proto3" json:"pagination,omitempty"` } -func (x *QueryDelegatorValidatorsRequest) Reset() { - *x = QueryDelegatorValidatorsRequest{} +func (x *QueryAllTokenizeShareRecordsRequest) Reset() { + *x = QueryAllTokenizeShareRecordsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[18] + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *QueryDelegatorValidatorsRequest) String() string { +func (x *QueryAllTokenizeShareRecordsRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*QueryDelegatorValidatorsRequest) ProtoMessage() {} - -// Deprecated: Use QueryDelegatorValidatorsRequest.ProtoReflect.Descriptor instead. -func (*QueryDelegatorValidatorsRequest) Descriptor() ([]byte, []int) { - return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{18} -} +func (*QueryAllTokenizeShareRecordsRequest) ProtoMessage() {} -func (x *QueryDelegatorValidatorsRequest) GetDelegatorAddr() string { - if x != nil { - return x.DelegatorAddr - } - return "" +// Deprecated: Use QueryAllTokenizeShareRecordsRequest.ProtoReflect.Descriptor instead. +func (*QueryAllTokenizeShareRecordsRequest) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{34} } -func (x *QueryDelegatorValidatorsRequest) GetPagination() *v1beta1.PageRequest { +func (x *QueryAllTokenizeShareRecordsRequest) GetPagination() *v1beta1.PageRequest { if x != nil { return x.Pagination } return nil } -// QueryDelegatorValidatorsResponse is response type for the -// Query/DelegatorValidators RPC method. -type QueryDelegatorValidatorsResponse struct { +// QueryAllTokenizeShareRecordsResponse is response type for the +// Query/QueryAllTokenizeShareRecords RPC method. +// +// Since: cosmos-sdk 0.47-lsm +type QueryAllTokenizeShareRecordsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // validators defines the validators' info of a delegator. - Validators []*Validator `protobuf:"bytes,1,rep,name=validators,proto3" json:"validators,omitempty"` + Records []*TokenizeShareRecord `protobuf:"bytes,1,rep,name=records,proto3" json:"records,omitempty"` // pagination defines the pagination in the response. Pagination *v1beta1.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` } -func (x *QueryDelegatorValidatorsResponse) Reset() { - *x = QueryDelegatorValidatorsResponse{} +func (x *QueryAllTokenizeShareRecordsResponse) Reset() { + *x = QueryAllTokenizeShareRecordsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[19] + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *QueryDelegatorValidatorsResponse) String() string { +func (x *QueryAllTokenizeShareRecordsResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*QueryDelegatorValidatorsResponse) ProtoMessage() {} +func (*QueryAllTokenizeShareRecordsResponse) ProtoMessage() {} -// Deprecated: Use QueryDelegatorValidatorsResponse.ProtoReflect.Descriptor instead. -func (*QueryDelegatorValidatorsResponse) Descriptor() ([]byte, []int) { - return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{19} +// Deprecated: Use QueryAllTokenizeShareRecordsResponse.ProtoReflect.Descriptor instead. +func (*QueryAllTokenizeShareRecordsResponse) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{35} } -func (x *QueryDelegatorValidatorsResponse) GetValidators() []*Validator { +func (x *QueryAllTokenizeShareRecordsResponse) GetRecords() []*TokenizeShareRecord { if x != nil { - return x.Validators + return x.Records } return nil } -func (x *QueryDelegatorValidatorsResponse) GetPagination() *v1beta1.PageResponse { +func (x *QueryAllTokenizeShareRecordsResponse) GetPagination() *v1beta1.PageResponse { if x != nil { return x.Pagination } return nil } -// QueryDelegatorValidatorRequest is request type for the -// Query/DelegatorValidator RPC method. -type QueryDelegatorValidatorRequest struct { +// QueryLastTokenizeShareRecordIdRequest +// +// Since: cosmos-sdk 0.47-lsm +type QueryLastTokenizeShareRecordIdRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - // delegator_addr defines the delegator address to query for. - DelegatorAddr string `protobuf:"bytes,1,opt,name=delegator_addr,json=delegatorAddr,proto3" json:"delegator_addr,omitempty"` - // validator_addr defines the validator address to query for. - ValidatorAddr string `protobuf:"bytes,2,opt,name=validator_addr,json=validatorAddr,proto3" json:"validator_addr,omitempty"` } -func (x *QueryDelegatorValidatorRequest) Reset() { - *x = QueryDelegatorValidatorRequest{} +func (x *QueryLastTokenizeShareRecordIdRequest) Reset() { + *x = QueryLastTokenizeShareRecordIdRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[20] + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *QueryDelegatorValidatorRequest) String() string { +func (x *QueryLastTokenizeShareRecordIdRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*QueryDelegatorValidatorRequest) ProtoMessage() {} - -// Deprecated: Use QueryDelegatorValidatorRequest.ProtoReflect.Descriptor instead. -func (*QueryDelegatorValidatorRequest) Descriptor() ([]byte, []int) { - return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{20} -} - -func (x *QueryDelegatorValidatorRequest) GetDelegatorAddr() string { - if x != nil { - return x.DelegatorAddr - } - return "" -} +func (*QueryLastTokenizeShareRecordIdRequest) ProtoMessage() {} -func (x *QueryDelegatorValidatorRequest) GetValidatorAddr() string { - if x != nil { - return x.ValidatorAddr - } - return "" +// Deprecated: Use QueryLastTokenizeShareRecordIdRequest.ProtoReflect.Descriptor instead. +func (*QueryLastTokenizeShareRecordIdRequest) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{36} } -// QueryDelegatorValidatorResponse response type for the -// Query/DelegatorValidator RPC method. -type QueryDelegatorValidatorResponse struct { +// QueryLastTokenizeShareRecordIdResponse +// +// Since: cosmos-sdk 0.47-lsm +type QueryLastTokenizeShareRecordIdResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // validator defines the validator info. - Validator *Validator `protobuf:"bytes,1,opt,name=validator,proto3" json:"validator,omitempty"` + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` } -func (x *QueryDelegatorValidatorResponse) Reset() { - *x = QueryDelegatorValidatorResponse{} +func (x *QueryLastTokenizeShareRecordIdResponse) Reset() { + *x = QueryLastTokenizeShareRecordIdResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[21] + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *QueryDelegatorValidatorResponse) String() string { +func (x *QueryLastTokenizeShareRecordIdResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*QueryDelegatorValidatorResponse) ProtoMessage() {} +func (*QueryLastTokenizeShareRecordIdResponse) ProtoMessage() {} -// Deprecated: Use QueryDelegatorValidatorResponse.ProtoReflect.Descriptor instead. -func (*QueryDelegatorValidatorResponse) Descriptor() ([]byte, []int) { - return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{21} +// Deprecated: Use QueryLastTokenizeShareRecordIdResponse.ProtoReflect.Descriptor instead. +func (*QueryLastTokenizeShareRecordIdResponse) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{37} } -func (x *QueryDelegatorValidatorResponse) GetValidator() *Validator { +func (x *QueryLastTokenizeShareRecordIdResponse) GetId() uint64 { if x != nil { - return x.Validator + return x.Id } - return nil + return 0 } -// QueryHistoricalInfoRequest is request type for the Query/HistoricalInfo RPC -// method. -type QueryHistoricalInfoRequest struct { +// QueryTotalTokenizeSharedAssetsRequest is request type for the +// Query/QueryTotalTokenizeSharedAssets RPC method. +// +// Since: cosmos-sdk 0.47-lsm +type QueryTotalTokenizeSharedAssetsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - // height defines at which height to query the historical info. - Height int64 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"` } -func (x *QueryHistoricalInfoRequest) Reset() { - *x = QueryHistoricalInfoRequest{} +func (x *QueryTotalTokenizeSharedAssetsRequest) Reset() { + *x = QueryTotalTokenizeSharedAssetsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[22] + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *QueryHistoricalInfoRequest) String() string { +func (x *QueryTotalTokenizeSharedAssetsRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*QueryHistoricalInfoRequest) ProtoMessage() {} - -// Deprecated: Use QueryHistoricalInfoRequest.ProtoReflect.Descriptor instead. -func (*QueryHistoricalInfoRequest) Descriptor() ([]byte, []int) { - return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{22} -} +func (*QueryTotalTokenizeSharedAssetsRequest) ProtoMessage() {} -func (x *QueryHistoricalInfoRequest) GetHeight() int64 { - if x != nil { - return x.Height - } - return 0 +// Deprecated: Use QueryTotalTokenizeSharedAssetsRequest.ProtoReflect.Descriptor instead. +func (*QueryTotalTokenizeSharedAssetsRequest) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{38} } -// QueryHistoricalInfoResponse is response type for the Query/HistoricalInfo RPC -// method. -type QueryHistoricalInfoResponse struct { +// QueryTotalTokenizeSharedAssetsResponse is response type for the +// Query/QueryTotalTokenizeSharedAssets RPC method. +// +// Since: cosmos-sdk 0.47-lsm +type QueryTotalTokenizeSharedAssetsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // hist defines the historical info at the given height. - Hist *HistoricalInfo `protobuf:"bytes,1,opt,name=hist,proto3" json:"hist,omitempty"` + Value *v1beta11.Coin `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` } -func (x *QueryHistoricalInfoResponse) Reset() { - *x = QueryHistoricalInfoResponse{} +func (x *QueryTotalTokenizeSharedAssetsResponse) Reset() { + *x = QueryTotalTokenizeSharedAssetsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[23] + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *QueryHistoricalInfoResponse) String() string { +func (x *QueryTotalTokenizeSharedAssetsResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*QueryHistoricalInfoResponse) ProtoMessage() {} +func (*QueryTotalTokenizeSharedAssetsResponse) ProtoMessage() {} -// Deprecated: Use QueryHistoricalInfoResponse.ProtoReflect.Descriptor instead. -func (*QueryHistoricalInfoResponse) Descriptor() ([]byte, []int) { - return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{23} +// Deprecated: Use QueryTotalTokenizeSharedAssetsResponse.ProtoReflect.Descriptor instead. +func (*QueryTotalTokenizeSharedAssetsResponse) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{39} } -func (x *QueryHistoricalInfoResponse) GetHist() *HistoricalInfo { +func (x *QueryTotalTokenizeSharedAssetsResponse) GetValue() *v1beta11.Coin { if x != nil { - return x.Hist + return x.Value } return nil } -// QueryPoolRequest is request type for the Query/Pool RPC method. -type QueryPoolRequest struct { +// QueryQueryTotalLiquidStakedRequest is request type for the +// Query/QueryQueryTotalLiquidStaked RPC method. +// +// Since: cosmos-sdk 0.47-lsm +type QueryTotalLiquidStaked struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *QueryPoolRequest) Reset() { - *x = QueryPoolRequest{} +func (x *QueryTotalLiquidStaked) Reset() { + *x = QueryTotalLiquidStaked{} if protoimpl.UnsafeEnabled { - mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[24] + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *QueryPoolRequest) String() string { +func (x *QueryTotalLiquidStaked) String() string { return protoimpl.X.MessageStringOf(x) } -func (*QueryPoolRequest) ProtoMessage() {} +func (*QueryTotalLiquidStaked) ProtoMessage() {} -// Deprecated: Use QueryPoolRequest.ProtoReflect.Descriptor instead. -func (*QueryPoolRequest) Descriptor() ([]byte, []int) { - return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{24} +// Deprecated: Use QueryTotalLiquidStaked.ProtoReflect.Descriptor instead. +func (*QueryTotalLiquidStaked) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{40} } -// QueryPoolResponse is response type for the Query/Pool RPC method. -type QueryPoolResponse struct { +// QueryQueryTotalLiquidStakedResponse is response type for the +// Query/QueryQueryTotalLiquidStaked RPC method. +// +// Since: cosmos-sdk 0.47-lsm +type QueryTotalLiquidStakedResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // pool defines the pool info. - Pool *Pool `protobuf:"bytes,1,opt,name=pool,proto3" json:"pool,omitempty"` + Tokens string `protobuf:"bytes,1,opt,name=tokens,proto3" json:"tokens,omitempty"` } -func (x *QueryPoolResponse) Reset() { - *x = QueryPoolResponse{} +func (x *QueryTotalLiquidStakedResponse) Reset() { + *x = QueryTotalLiquidStakedResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[25] + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *QueryPoolResponse) String() string { +func (x *QueryTotalLiquidStakedResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*QueryPoolResponse) ProtoMessage() {} +func (*QueryTotalLiquidStakedResponse) ProtoMessage() {} -// Deprecated: Use QueryPoolResponse.ProtoReflect.Descriptor instead. -func (*QueryPoolResponse) Descriptor() ([]byte, []int) { - return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{25} +// Deprecated: Use QueryTotalLiquidStakedResponse.ProtoReflect.Descriptor instead. +func (*QueryTotalLiquidStakedResponse) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{41} } -func (x *QueryPoolResponse) GetPool() *Pool { +func (x *QueryTotalLiquidStakedResponse) GetTokens() string { if x != nil { - return x.Pool + return x.Tokens } - return nil + return "" } -// QueryParamsRequest is request type for the Query/Params RPC method. -type QueryParamsRequest struct { +// QueryTokenizeShareLockInfo queries the tokenize share lock information +// associated with given account. +// +// Since: cosmos-sdk 0.47-lsm +type QueryTokenizeShareLockInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` } -func (x *QueryParamsRequest) Reset() { - *x = QueryParamsRequest{} +func (x *QueryTokenizeShareLockInfo) Reset() { + *x = QueryTokenizeShareLockInfo{} if protoimpl.UnsafeEnabled { - mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[26] + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *QueryParamsRequest) String() string { +func (x *QueryTokenizeShareLockInfo) String() string { return protoimpl.X.MessageStringOf(x) } -func (*QueryParamsRequest) ProtoMessage() {} +func (*QueryTokenizeShareLockInfo) ProtoMessage() {} -// Deprecated: Use QueryParamsRequest.ProtoReflect.Descriptor instead. -func (*QueryParamsRequest) Descriptor() ([]byte, []int) { - return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{26} +// Deprecated: Use QueryTokenizeShareLockInfo.ProtoReflect.Descriptor instead. +func (*QueryTokenizeShareLockInfo) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{42} +} + +func (x *QueryTokenizeShareLockInfo) GetAddress() string { + if x != nil { + return x.Address + } + return "" } -// QueryParamsResponse is response type for the Query/Params RPC method. -type QueryParamsResponse struct { +// QueryTokenizeShareLockInfoResponse is the response from the +// QueryTokenizeShareLockInfo query. +// +// Since: cosmos-sdk 0.47-lsm +type QueryTokenizeShareLockInfoResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // params holds all the parameters of this module. - Params *Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params,omitempty"` + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + ExpirationTime string `protobuf:"bytes,2,opt,name=expiration_time,json=expirationTime,proto3" json:"expiration_time,omitempty"` } -func (x *QueryParamsResponse) Reset() { - *x = QueryParamsResponse{} +func (x *QueryTokenizeShareLockInfoResponse) Reset() { + *x = QueryTokenizeShareLockInfoResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[27] + mi := &file_cosmos_staking_v1beta1_query_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *QueryParamsResponse) String() string { +func (x *QueryTokenizeShareLockInfoResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*QueryParamsResponse) ProtoMessage() {} +func (*QueryTokenizeShareLockInfoResponse) ProtoMessage() {} -// Deprecated: Use QueryParamsResponse.ProtoReflect.Descriptor instead. -func (*QueryParamsResponse) Descriptor() ([]byte, []int) { - return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{27} +// Deprecated: Use QueryTokenizeShareLockInfoResponse.ProtoReflect.Descriptor instead. +func (*QueryTokenizeShareLockInfoResponse) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_query_proto_rawDescGZIP(), []int{43} } -func (x *QueryParamsResponse) GetParams() *Params { +func (x *QueryTokenizeShareLockInfoResponse) GetStatus() string { if x != nil { - return x.Params + return x.Status } - return nil + return "" +} + +func (x *QueryTokenizeShareLockInfoResponse) GetExpirationTime() string { + if x != nil { + return x.ExpirationTime + } + return "" } var File_cosmos_staking_v1beta1_query_proto protoreflect.FileDescriptor @@ -14903,7 +22364,9 @@ var file_cosmos_staking_v1beta1_query_proto_rawDesc = []byte{ 0x0a, 0x22, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, - 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x2a, 0x63, 0x6f, + 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x1e, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2f, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x67, 0x6f, 0x67, 0x6f, 0x70, 0x72, @@ -15187,201 +22650,396 @@ var file_cosmos_staking_v1beta1_query_proto_rawDesc = []byte{ 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x09, 0xc8, 0xde, - 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x32, - 0xb0, 0x16, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x9e, 0x01, 0x0a, 0x0a, 0x56, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x2e, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2f, 0x88, 0xe7, 0xb0, 0x2a, 0x01, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x12, 0x22, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, + 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, + 0x35, 0x0a, 0x23, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, + 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x42, 0x79, 0x49, 0x64, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x22, 0x71, 0x0a, 0x24, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x6f, + 0x72, 0x64, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, + 0x0a, 0x06, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, + 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x42, 0x04, 0xc8, 0xde, 0x1f, + 0x00, 0x52, 0x06, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x22, 0x3e, 0x0a, 0x26, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, + 0x65, 0x63, 0x6f, 0x72, 0x64, 0x42, 0x79, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x22, 0x74, 0x0a, 0x27, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, + 0x65, 0x63, 0x6f, 0x72, 0x64, 0x42, 0x79, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x06, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, + 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, + 0x64, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x06, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x22, + 0x3d, 0x0a, 0x25, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, + 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x4f, 0x77, 0x6e, 0x65, + 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x22, 0x75, + 0x0a, 0x26, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, + 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x4f, 0x77, 0x6e, 0x65, 0x64, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x6f, + 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, + 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x07, 0x72, 0x65, + 0x63, 0x6f, 0x72, 0x64, 0x73, 0x22, 0x6d, 0x0a, 0x23, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, + 0x6c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, + 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x0a, + 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbc, 0x01, 0x0a, 0x24, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, + 0x6c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, + 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, + 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, + 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x42, 0x04, 0xc8, 0xde, 0x1f, + 0x00, 0x52, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x47, 0x0a, 0x0a, 0x70, 0x61, + 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0x27, 0x0a, 0x25, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x61, 0x73, 0x74, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, + 0x6f, 0x72, 0x64, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x38, 0x0a, 0x26, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x61, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, + 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x22, 0x27, 0x0a, 0x25, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, + 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, + 0x65, 0x64, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, + 0x5f, 0x0a, 0x26, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x41, 0x73, 0x73, 0x65, 0x74, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, + 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x22, 0x18, 0x0a, 0x16, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4c, 0x69, + 0x71, 0x75, 0x69, 0x64, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x64, 0x22, 0x76, 0x0a, 0x1e, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x53, 0x74, + 0x61, 0x6b, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x06, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3c, 0xc8, 0xde, + 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x26, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, + 0x64, 0x6b, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xd2, 0xb4, 0x2d, 0x0a, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0x52, 0x06, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x73, 0x22, 0x36, 0x0a, 0x1a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x49, 0x6e, 0x66, 0x6f, + 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x65, 0x0a, 0x22, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, + 0x4c, 0x6f, 0x63, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x69, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, + 0x65, 0x32, 0x82, 0x24, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x9e, 0x01, 0x0a, 0x0a, + 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x2e, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2f, 0x88, 0xe7, 0xb0, + 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x12, 0x22, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0xac, 0x01, 0x0a, + 0x09, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x2d, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, + 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0x88, 0xe7, 0xb0, 0x2a, 0x01, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, 0x12, 0x33, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0xac, 0x01, 0x0a, 0x09, 0x56, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x2d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x35, 0x12, 0x33, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, - 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x2f, 0x7b, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x7d, 0x12, 0xd9, 0x01, 0x0a, 0x14, 0x56, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x38, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, - 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x63, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x2f, 0x7b, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x7d, 0x12, 0xd9, 0x01, 0x0a, 0x14, + 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x38, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, + 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x44, 0x65, 0x6c, 0x65, + 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4c, 0x88, 0xe7, 0xb0, 0x2a, 0x01, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x12, 0x3f, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, + 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x2f, 0x7b, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x7d, 0x2f, 0x64, 0x65, 0x6c, 0x65, + 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xfe, 0x01, 0x0a, 0x1d, 0x56, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, + 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x41, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, + 0x72, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x42, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x6f, 0x72, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4c, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x41, 0x12, 0x3f, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, - 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x2f, 0x7b, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x7d, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xfe, 0x01, 0x0a, 0x1d, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x6f, 0x72, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, - 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x41, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x55, - 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x42, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x6f, 0x72, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x56, - 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4b, 0x12, 0x49, 0x2f, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x2f, - 0x7b, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x7d, - 0x2f, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xcc, 0x01, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x67, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, - 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, - 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5d, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x52, 0x12, 0x50, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, - 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x2f, 0x7b, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x7d, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, - 0x61, 0x64, 0x64, 0x72, 0x7d, 0x12, 0xfc, 0x01, 0x0a, 0x13, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x2e, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x6e, 0x62, 0x6f, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, - 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, - 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x72, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x67, 0x12, 0x65, 0x2f, + 0x61, 0x74, 0x6f, 0x72, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, + 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x56, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4b, 0x12, 0x49, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x2f, 0x7b, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, - 0x72, 0x7d, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, - 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x7d, 0x2f, - 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0xce, 0x01, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, - 0x6f, 0x72, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x38, 0x2e, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x65, - 0x67, 0x61, 0x74, 0x6f, 0x72, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x72, 0x7d, 0x2f, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x6c, + 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xcc, 0x01, 0x0a, 0x0a, 0x44, 0x65, 0x6c, + 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x44, - 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x41, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, - 0x34, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, - 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, - 0x61, 0x64, 0x64, 0x72, 0x7d, 0x12, 0xfe, 0x01, 0x0a, 0x1d, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, - 0x74, 0x6f, 0x72, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, - 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x41, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x55, - 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x42, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, - 0x6f, 0x72, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x56, - 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4b, 0x12, 0x49, 0x2f, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x2f, - 0x7b, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x7d, - 0x2f, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xc6, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x64, 0x65, 0x6c, - 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x31, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5d, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x52, 0x12, 0x50, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, + 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x2f, 0x7b, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x7d, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x67, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, + 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x7d, 0x12, 0xfc, 0x01, 0x0a, 0x13, 0x55, 0x6e, 0x62, 0x6f, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x37, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x6e, + 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, - 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x4e, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x12, 0x41, 0x2f, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x73, + 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x72, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x67, 0x12, + 0x65, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, + 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x6f, 0x72, 0x73, 0x2f, 0x7b, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x7d, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, - 0x7d, 0x2f, 0x72, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0xd5, 0x01, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x56, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x37, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x56, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x38, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, + 0x7d, 0x2f, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x6c, 0x65, + 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0xce, 0x01, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x67, + 0x61, 0x74, 0x6f, 0x72, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x38, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, + 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, + 0x72, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x41, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x36, 0x12, 0x34, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, + 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x67, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, + 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x7d, 0x12, 0xfe, 0x01, 0x0a, 0x1d, 0x44, 0x65, 0x6c, 0x65, + 0x67, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, + 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x41, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, + 0x72, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x42, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, + 0x61, 0x74, 0x6f, 0x72, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, + 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x56, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4b, 0x12, 0x49, 0x2f, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, + 0x73, 0x2f, 0x7b, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, + 0x72, 0x7d, 0x2f, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x6c, + 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xc6, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x64, + 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x31, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x64, 0x65, + 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x4e, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x12, 0x41, + 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, + 0x72, 0x73, 0x2f, 0x7b, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, + 0x64, 0x72, 0x7d, 0x2f, 0x72, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0xd5, 0x01, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x56, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x37, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, + 0x72, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, + 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x88, 0xe7, + 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x12, 0x3e, 0x2f, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x2f, 0x7b, 0x64, + 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x7d, 0x2f, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0xe3, 0x01, 0x0a, 0x12, 0x44, 0x65, + 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, + 0x12, 0x36, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, - 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x88, 0xe7, 0xb0, 0x2a, - 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x12, 0x3e, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x2f, 0x7b, 0x64, 0x65, 0x6c, - 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x7d, 0x2f, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0xe3, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, - 0x67, 0x61, 0x74, 0x6f, 0x72, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x36, - 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x6c, - 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, + 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x5c, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x51, 0x12, 0x4f, + 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, + 0x72, 0x73, 0x2f, 0x7b, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, + 0x64, 0x72, 0x7d, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x2f, 0x7b, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x7d, 0x12, + 0xb8, 0x01, 0x0a, 0x0e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x32, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, + 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x56, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x5c, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x51, 0x12, 0x4f, 0x2f, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x73, - 0x2f, 0x7b, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, - 0x7d, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x2f, 0x7b, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x7d, 0x12, 0xb8, 0x01, - 0x0a, 0x0e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, - 0x12, 0x32, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, - 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, - 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, - 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x88, 0xe7, 0xb0, 0x2a, 0x01, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x12, 0x30, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, - 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, - 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x2f, - 0x7b, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x7d, 0x12, 0x86, 0x01, 0x0a, 0x04, 0x50, 0x6f, 0x6f, - 0x6c, 0x12, 0x28, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x49, + 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x88, 0xe7, 0xb0, + 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x12, 0x30, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x66, + 0x6f, 0x2f, 0x7b, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x7d, 0x12, 0x86, 0x01, 0x0a, 0x04, 0x50, + 0x6f, 0x6f, 0x6c, 0x12, 0x28, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, + 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x6f, 0x6f, 0x6c, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x29, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, + 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, + 0x6f, 0x6f, 0x6c, 0x12, 0x8e, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x2a, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2b, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x20, 0x12, 0x1e, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, + 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x12, 0xdb, 0x01, 0x0a, 0x17, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, + 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x42, 0x79, 0x49, 0x64, + 0x12, 0x3b, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, + 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x6f, + 0x72, 0x64, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x42, + 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x45, 0x88, 0xe7, 0xb0, + 0x2a, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x12, 0x38, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, + 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x69, 0x64, 0x2f, 0x7b, 0x69, + 0x64, 0x7d, 0x12, 0xea, 0x01, 0x0a, 0x1a, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, + 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x42, 0x79, 0x44, 0x65, 0x6e, 0x6f, + 0x6d, 0x12, 0x3e, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x29, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, - 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x6f, 0x6f, - 0x6c, 0x12, 0x8e, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x2a, 0x2e, 0x63, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, + 0x6f, 0x72, 0x64, 0x42, 0x79, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x3f, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, + 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, + 0x6f, 0x72, 0x64, 0x42, 0x79, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x4b, 0x88, 0xe7, 0xb0, 0x2a, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x12, + 0x3e, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, + 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, + 0x65, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x62, + 0x79, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x2f, 0x7b, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x12, + 0xe4, 0x01, 0x0a, 0x19, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, + 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x4f, 0x77, 0x6e, 0x65, 0x64, 0x12, 0x3d, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, + 0x4f, 0x77, 0x6e, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x4f, + 0x77, 0x6e, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x48, 0x88, 0xe7, + 0xb0, 0x2a, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x5f, 0x73, 0x68, 0x61, 0x72, + 0x65, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x64, 0x2f, 0x7b, + 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x7d, 0x12, 0xd1, 0x01, 0x0a, 0x17, 0x41, 0x6c, 0x6c, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, + 0x64, 0x73, 0x12, 0x3b, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, + 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x41, 0x6c, 0x6c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, + 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x3c, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, + 0x6c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, + 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3b, 0x88, + 0xe7, 0xb0, 0x2a, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30, 0x12, 0x2e, 0x2f, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x5f, 0x73, 0x68, 0x61, + 0x72, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0xde, 0x01, 0x0a, 0x19, 0x4c, + 0x61, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, + 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x12, 0x3d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2b, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x20, 0x12, 0x1e, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, - 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x42, 0xda, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x61, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x61, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, + 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x42, 0x88, 0xe7, 0xb0, 0x2a, 0x00, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, + 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6c, 0x61, + 0x73, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x5f, 0x73, 0x68, 0x61, 0x72, + 0x65, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x12, 0xdd, 0x01, 0x0a, 0x19, + 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, + 0x72, 0x65, 0x64, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, 0x3d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x41, 0x73, 0x73, 0x65, 0x74, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, - 0x36, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, - 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, - 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x53, 0x58, 0xaa, 0x02, 0x16, - 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x56, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, - 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, - 0x02, 0x22, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, - 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x18, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x53, - 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x41, 0x88, 0xe7, 0xb0, 0x2a, 0x00, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, + 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x5f, 0x73, 0x68, + 0x61, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, 0xb5, 0x01, 0x0a, 0x11, + 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x53, 0x74, 0x61, 0x6b, 0x65, + 0x64, 0x12, 0x2e, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, + 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x53, 0x74, 0x61, 0x6b, 0x65, + 0x64, 0x1a, 0x36, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, + 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x53, 0x74, 0x61, 0x6b, 0x65, + 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x38, 0x88, 0xe7, 0xb0, 0x2a, 0x00, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x12, 0x2b, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, + 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x5f, 0x73, 0x74, 0x61, + 0x6b, 0x65, 0x64, 0x12, 0xd0, 0x01, 0x0a, 0x15, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, + 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x32, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x49, 0x6e, 0x66, + 0x6f, 0x1a, 0x3a, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, + 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x63, + 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0x88, + 0xe7, 0xb0, 0x2a, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x12, 0x3a, 0x2f, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x5f, 0x73, 0x68, 0x61, + 0x72, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x2f, 0x7b, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x42, 0xda, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, + 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, + 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x73, 0x74, 0x61, + 0x6b, 0x69, 0x6e, 0x67, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x53, + 0x58, 0xaa, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x6b, 0x69, + 0x6e, 0x67, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x16, 0x43, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0xe2, 0x02, 0x22, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, + 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x18, 0x43, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x3a, 0x3a, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -15396,7 +23054,7 @@ func file_cosmos_staking_v1beta1_query_proto_rawDescGZIP() []byte { return file_cosmos_staking_v1beta1_query_proto_rawDescData } -var file_cosmos_staking_v1beta1_query_proto_msgTypes = make([]protoimpl.MessageInfo, 28) +var file_cosmos_staking_v1beta1_query_proto_msgTypes = make([]protoimpl.MessageInfo, 44) var file_cosmos_staking_v1beta1_query_proto_goTypes = []interface{}{ (*QueryValidatorsRequest)(nil), // 0: cosmos.staking.v1beta1.QueryValidatorsRequest (*QueryValidatorsResponse)(nil), // 1: cosmos.staking.v1beta1.QueryValidatorsResponse @@ -15426,78 +23084,119 @@ var file_cosmos_staking_v1beta1_query_proto_goTypes = []interface{}{ (*QueryPoolResponse)(nil), // 25: cosmos.staking.v1beta1.QueryPoolResponse (*QueryParamsRequest)(nil), // 26: cosmos.staking.v1beta1.QueryParamsRequest (*QueryParamsResponse)(nil), // 27: cosmos.staking.v1beta1.QueryParamsResponse - (*v1beta1.PageRequest)(nil), // 28: cosmos.base.query.v1beta1.PageRequest - (*Validator)(nil), // 29: cosmos.staking.v1beta1.Validator - (*v1beta1.PageResponse)(nil), // 30: cosmos.base.query.v1beta1.PageResponse - (*DelegationResponse)(nil), // 31: cosmos.staking.v1beta1.DelegationResponse - (*UnbondingDelegation)(nil), // 32: cosmos.staking.v1beta1.UnbondingDelegation - (*RedelegationResponse)(nil), // 33: cosmos.staking.v1beta1.RedelegationResponse - (*HistoricalInfo)(nil), // 34: cosmos.staking.v1beta1.HistoricalInfo - (*Pool)(nil), // 35: cosmos.staking.v1beta1.Pool - (*Params)(nil), // 36: cosmos.staking.v1beta1.Params + (*QueryTokenizeShareRecordByIdRequest)(nil), // 28: cosmos.staking.v1beta1.QueryTokenizeShareRecordByIdRequest + (*QueryTokenizeShareRecordByIdResponse)(nil), // 29: cosmos.staking.v1beta1.QueryTokenizeShareRecordByIdResponse + (*QueryTokenizeShareRecordByDenomRequest)(nil), // 30: cosmos.staking.v1beta1.QueryTokenizeShareRecordByDenomRequest + (*QueryTokenizeShareRecordByDenomResponse)(nil), // 31: cosmos.staking.v1beta1.QueryTokenizeShareRecordByDenomResponse + (*QueryTokenizeShareRecordsOwnedRequest)(nil), // 32: cosmos.staking.v1beta1.QueryTokenizeShareRecordsOwnedRequest + (*QueryTokenizeShareRecordsOwnedResponse)(nil), // 33: cosmos.staking.v1beta1.QueryTokenizeShareRecordsOwnedResponse + (*QueryAllTokenizeShareRecordsRequest)(nil), // 34: cosmos.staking.v1beta1.QueryAllTokenizeShareRecordsRequest + (*QueryAllTokenizeShareRecordsResponse)(nil), // 35: cosmos.staking.v1beta1.QueryAllTokenizeShareRecordsResponse + (*QueryLastTokenizeShareRecordIdRequest)(nil), // 36: cosmos.staking.v1beta1.QueryLastTokenizeShareRecordIdRequest + (*QueryLastTokenizeShareRecordIdResponse)(nil), // 37: cosmos.staking.v1beta1.QueryLastTokenizeShareRecordIdResponse + (*QueryTotalTokenizeSharedAssetsRequest)(nil), // 38: cosmos.staking.v1beta1.QueryTotalTokenizeSharedAssetsRequest + (*QueryTotalTokenizeSharedAssetsResponse)(nil), // 39: cosmos.staking.v1beta1.QueryTotalTokenizeSharedAssetsResponse + (*QueryTotalLiquidStaked)(nil), // 40: cosmos.staking.v1beta1.QueryTotalLiquidStaked + (*QueryTotalLiquidStakedResponse)(nil), // 41: cosmos.staking.v1beta1.QueryTotalLiquidStakedResponse + (*QueryTokenizeShareLockInfo)(nil), // 42: cosmos.staking.v1beta1.QueryTokenizeShareLockInfo + (*QueryTokenizeShareLockInfoResponse)(nil), // 43: cosmos.staking.v1beta1.QueryTokenizeShareLockInfoResponse + (*v1beta1.PageRequest)(nil), // 44: cosmos.base.query.v1beta1.PageRequest + (*Validator)(nil), // 45: cosmos.staking.v1beta1.Validator + (*v1beta1.PageResponse)(nil), // 46: cosmos.base.query.v1beta1.PageResponse + (*DelegationResponse)(nil), // 47: cosmos.staking.v1beta1.DelegationResponse + (*UnbondingDelegation)(nil), // 48: cosmos.staking.v1beta1.UnbondingDelegation + (*RedelegationResponse)(nil), // 49: cosmos.staking.v1beta1.RedelegationResponse + (*HistoricalInfo)(nil), // 50: cosmos.staking.v1beta1.HistoricalInfo + (*Pool)(nil), // 51: cosmos.staking.v1beta1.Pool + (*Params)(nil), // 52: cosmos.staking.v1beta1.Params + (*TokenizeShareRecord)(nil), // 53: cosmos.staking.v1beta1.TokenizeShareRecord + (*v1beta11.Coin)(nil), // 54: cosmos.base.v1beta1.Coin } var file_cosmos_staking_v1beta1_query_proto_depIdxs = []int32{ - 28, // 0: cosmos.staking.v1beta1.QueryValidatorsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest - 29, // 1: cosmos.staking.v1beta1.QueryValidatorsResponse.validators:type_name -> cosmos.staking.v1beta1.Validator - 30, // 2: cosmos.staking.v1beta1.QueryValidatorsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 29, // 3: cosmos.staking.v1beta1.QueryValidatorResponse.validator:type_name -> cosmos.staking.v1beta1.Validator - 28, // 4: cosmos.staking.v1beta1.QueryValidatorDelegationsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest - 31, // 5: cosmos.staking.v1beta1.QueryValidatorDelegationsResponse.delegation_responses:type_name -> cosmos.staking.v1beta1.DelegationResponse - 30, // 6: cosmos.staking.v1beta1.QueryValidatorDelegationsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 28, // 7: cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest - 32, // 8: cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse.unbonding_responses:type_name -> cosmos.staking.v1beta1.UnbondingDelegation - 30, // 9: cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 31, // 10: cosmos.staking.v1beta1.QueryDelegationResponse.delegation_response:type_name -> cosmos.staking.v1beta1.DelegationResponse - 32, // 11: cosmos.staking.v1beta1.QueryUnbondingDelegationResponse.unbond:type_name -> cosmos.staking.v1beta1.UnbondingDelegation - 28, // 12: cosmos.staking.v1beta1.QueryDelegatorDelegationsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest - 31, // 13: cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse.delegation_responses:type_name -> cosmos.staking.v1beta1.DelegationResponse - 30, // 14: cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 28, // 15: cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest - 32, // 16: cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse.unbonding_responses:type_name -> cosmos.staking.v1beta1.UnbondingDelegation - 30, // 17: cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 28, // 18: cosmos.staking.v1beta1.QueryRedelegationsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest - 33, // 19: cosmos.staking.v1beta1.QueryRedelegationsResponse.redelegation_responses:type_name -> cosmos.staking.v1beta1.RedelegationResponse - 30, // 20: cosmos.staking.v1beta1.QueryRedelegationsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 28, // 21: cosmos.staking.v1beta1.QueryDelegatorValidatorsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest - 29, // 22: cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse.validators:type_name -> cosmos.staking.v1beta1.Validator - 30, // 23: cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 29, // 24: cosmos.staking.v1beta1.QueryDelegatorValidatorResponse.validator:type_name -> cosmos.staking.v1beta1.Validator - 34, // 25: cosmos.staking.v1beta1.QueryHistoricalInfoResponse.hist:type_name -> cosmos.staking.v1beta1.HistoricalInfo - 35, // 26: cosmos.staking.v1beta1.QueryPoolResponse.pool:type_name -> cosmos.staking.v1beta1.Pool - 36, // 27: cosmos.staking.v1beta1.QueryParamsResponse.params:type_name -> cosmos.staking.v1beta1.Params - 0, // 28: cosmos.staking.v1beta1.Query.Validators:input_type -> cosmos.staking.v1beta1.QueryValidatorsRequest - 2, // 29: cosmos.staking.v1beta1.Query.Validator:input_type -> cosmos.staking.v1beta1.QueryValidatorRequest - 4, // 30: cosmos.staking.v1beta1.Query.ValidatorDelegations:input_type -> cosmos.staking.v1beta1.QueryValidatorDelegationsRequest - 6, // 31: cosmos.staking.v1beta1.Query.ValidatorUnbondingDelegations:input_type -> cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsRequest - 8, // 32: cosmos.staking.v1beta1.Query.Delegation:input_type -> cosmos.staking.v1beta1.QueryDelegationRequest - 10, // 33: cosmos.staking.v1beta1.Query.UnbondingDelegation:input_type -> cosmos.staking.v1beta1.QueryUnbondingDelegationRequest - 12, // 34: cosmos.staking.v1beta1.Query.DelegatorDelegations:input_type -> cosmos.staking.v1beta1.QueryDelegatorDelegationsRequest - 14, // 35: cosmos.staking.v1beta1.Query.DelegatorUnbondingDelegations:input_type -> cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsRequest - 16, // 36: cosmos.staking.v1beta1.Query.Redelegations:input_type -> cosmos.staking.v1beta1.QueryRedelegationsRequest - 18, // 37: cosmos.staking.v1beta1.Query.DelegatorValidators:input_type -> cosmos.staking.v1beta1.QueryDelegatorValidatorsRequest - 20, // 38: cosmos.staking.v1beta1.Query.DelegatorValidator:input_type -> cosmos.staking.v1beta1.QueryDelegatorValidatorRequest - 22, // 39: cosmos.staking.v1beta1.Query.HistoricalInfo:input_type -> cosmos.staking.v1beta1.QueryHistoricalInfoRequest - 24, // 40: cosmos.staking.v1beta1.Query.Pool:input_type -> cosmos.staking.v1beta1.QueryPoolRequest - 26, // 41: cosmos.staking.v1beta1.Query.Params:input_type -> cosmos.staking.v1beta1.QueryParamsRequest - 1, // 42: cosmos.staking.v1beta1.Query.Validators:output_type -> cosmos.staking.v1beta1.QueryValidatorsResponse - 3, // 43: cosmos.staking.v1beta1.Query.Validator:output_type -> cosmos.staking.v1beta1.QueryValidatorResponse - 5, // 44: cosmos.staking.v1beta1.Query.ValidatorDelegations:output_type -> cosmos.staking.v1beta1.QueryValidatorDelegationsResponse - 7, // 45: cosmos.staking.v1beta1.Query.ValidatorUnbondingDelegations:output_type -> cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse - 9, // 46: cosmos.staking.v1beta1.Query.Delegation:output_type -> cosmos.staking.v1beta1.QueryDelegationResponse - 11, // 47: cosmos.staking.v1beta1.Query.UnbondingDelegation:output_type -> cosmos.staking.v1beta1.QueryUnbondingDelegationResponse - 13, // 48: cosmos.staking.v1beta1.Query.DelegatorDelegations:output_type -> cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse - 15, // 49: cosmos.staking.v1beta1.Query.DelegatorUnbondingDelegations:output_type -> cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse - 17, // 50: cosmos.staking.v1beta1.Query.Redelegations:output_type -> cosmos.staking.v1beta1.QueryRedelegationsResponse - 19, // 51: cosmos.staking.v1beta1.Query.DelegatorValidators:output_type -> cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse - 21, // 52: cosmos.staking.v1beta1.Query.DelegatorValidator:output_type -> cosmos.staking.v1beta1.QueryDelegatorValidatorResponse - 23, // 53: cosmos.staking.v1beta1.Query.HistoricalInfo:output_type -> cosmos.staking.v1beta1.QueryHistoricalInfoResponse - 25, // 54: cosmos.staking.v1beta1.Query.Pool:output_type -> cosmos.staking.v1beta1.QueryPoolResponse - 27, // 55: cosmos.staking.v1beta1.Query.Params:output_type -> cosmos.staking.v1beta1.QueryParamsResponse - 42, // [42:56] is the sub-list for method output_type - 28, // [28:42] is the sub-list for method input_type - 28, // [28:28] is the sub-list for extension type_name - 28, // [28:28] is the sub-list for extension extendee - 0, // [0:28] is the sub-list for field type_name + 44, // 0: cosmos.staking.v1beta1.QueryValidatorsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 45, // 1: cosmos.staking.v1beta1.QueryValidatorsResponse.validators:type_name -> cosmos.staking.v1beta1.Validator + 46, // 2: cosmos.staking.v1beta1.QueryValidatorsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 45, // 3: cosmos.staking.v1beta1.QueryValidatorResponse.validator:type_name -> cosmos.staking.v1beta1.Validator + 44, // 4: cosmos.staking.v1beta1.QueryValidatorDelegationsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 47, // 5: cosmos.staking.v1beta1.QueryValidatorDelegationsResponse.delegation_responses:type_name -> cosmos.staking.v1beta1.DelegationResponse + 46, // 6: cosmos.staking.v1beta1.QueryValidatorDelegationsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 44, // 7: cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 48, // 8: cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse.unbonding_responses:type_name -> cosmos.staking.v1beta1.UnbondingDelegation + 46, // 9: cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 47, // 10: cosmos.staking.v1beta1.QueryDelegationResponse.delegation_response:type_name -> cosmos.staking.v1beta1.DelegationResponse + 48, // 11: cosmos.staking.v1beta1.QueryUnbondingDelegationResponse.unbond:type_name -> cosmos.staking.v1beta1.UnbondingDelegation + 44, // 12: cosmos.staking.v1beta1.QueryDelegatorDelegationsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 47, // 13: cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse.delegation_responses:type_name -> cosmos.staking.v1beta1.DelegationResponse + 46, // 14: cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 44, // 15: cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 48, // 16: cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse.unbonding_responses:type_name -> cosmos.staking.v1beta1.UnbondingDelegation + 46, // 17: cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 44, // 18: cosmos.staking.v1beta1.QueryRedelegationsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 49, // 19: cosmos.staking.v1beta1.QueryRedelegationsResponse.redelegation_responses:type_name -> cosmos.staking.v1beta1.RedelegationResponse + 46, // 20: cosmos.staking.v1beta1.QueryRedelegationsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 44, // 21: cosmos.staking.v1beta1.QueryDelegatorValidatorsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 45, // 22: cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse.validators:type_name -> cosmos.staking.v1beta1.Validator + 46, // 23: cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 45, // 24: cosmos.staking.v1beta1.QueryDelegatorValidatorResponse.validator:type_name -> cosmos.staking.v1beta1.Validator + 50, // 25: cosmos.staking.v1beta1.QueryHistoricalInfoResponse.hist:type_name -> cosmos.staking.v1beta1.HistoricalInfo + 51, // 26: cosmos.staking.v1beta1.QueryPoolResponse.pool:type_name -> cosmos.staking.v1beta1.Pool + 52, // 27: cosmos.staking.v1beta1.QueryParamsResponse.params:type_name -> cosmos.staking.v1beta1.Params + 53, // 28: cosmos.staking.v1beta1.QueryTokenizeShareRecordByIdResponse.record:type_name -> cosmos.staking.v1beta1.TokenizeShareRecord + 53, // 29: cosmos.staking.v1beta1.QueryTokenizeShareRecordByDenomResponse.record:type_name -> cosmos.staking.v1beta1.TokenizeShareRecord + 53, // 30: cosmos.staking.v1beta1.QueryTokenizeShareRecordsOwnedResponse.records:type_name -> cosmos.staking.v1beta1.TokenizeShareRecord + 44, // 31: cosmos.staking.v1beta1.QueryAllTokenizeShareRecordsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 53, // 32: cosmos.staking.v1beta1.QueryAllTokenizeShareRecordsResponse.records:type_name -> cosmos.staking.v1beta1.TokenizeShareRecord + 46, // 33: cosmos.staking.v1beta1.QueryAllTokenizeShareRecordsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 54, // 34: cosmos.staking.v1beta1.QueryTotalTokenizeSharedAssetsResponse.value:type_name -> cosmos.base.v1beta1.Coin + 0, // 35: cosmos.staking.v1beta1.Query.Validators:input_type -> cosmos.staking.v1beta1.QueryValidatorsRequest + 2, // 36: cosmos.staking.v1beta1.Query.Validator:input_type -> cosmos.staking.v1beta1.QueryValidatorRequest + 4, // 37: cosmos.staking.v1beta1.Query.ValidatorDelegations:input_type -> cosmos.staking.v1beta1.QueryValidatorDelegationsRequest + 6, // 38: cosmos.staking.v1beta1.Query.ValidatorUnbondingDelegations:input_type -> cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsRequest + 8, // 39: cosmos.staking.v1beta1.Query.Delegation:input_type -> cosmos.staking.v1beta1.QueryDelegationRequest + 10, // 40: cosmos.staking.v1beta1.Query.UnbondingDelegation:input_type -> cosmos.staking.v1beta1.QueryUnbondingDelegationRequest + 12, // 41: cosmos.staking.v1beta1.Query.DelegatorDelegations:input_type -> cosmos.staking.v1beta1.QueryDelegatorDelegationsRequest + 14, // 42: cosmos.staking.v1beta1.Query.DelegatorUnbondingDelegations:input_type -> cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsRequest + 16, // 43: cosmos.staking.v1beta1.Query.Redelegations:input_type -> cosmos.staking.v1beta1.QueryRedelegationsRequest + 18, // 44: cosmos.staking.v1beta1.Query.DelegatorValidators:input_type -> cosmos.staking.v1beta1.QueryDelegatorValidatorsRequest + 20, // 45: cosmos.staking.v1beta1.Query.DelegatorValidator:input_type -> cosmos.staking.v1beta1.QueryDelegatorValidatorRequest + 22, // 46: cosmos.staking.v1beta1.Query.HistoricalInfo:input_type -> cosmos.staking.v1beta1.QueryHistoricalInfoRequest + 24, // 47: cosmos.staking.v1beta1.Query.Pool:input_type -> cosmos.staking.v1beta1.QueryPoolRequest + 26, // 48: cosmos.staking.v1beta1.Query.Params:input_type -> cosmos.staking.v1beta1.QueryParamsRequest + 28, // 49: cosmos.staking.v1beta1.Query.TokenizeShareRecordById:input_type -> cosmos.staking.v1beta1.QueryTokenizeShareRecordByIdRequest + 30, // 50: cosmos.staking.v1beta1.Query.TokenizeShareRecordByDenom:input_type -> cosmos.staking.v1beta1.QueryTokenizeShareRecordByDenomRequest + 32, // 51: cosmos.staking.v1beta1.Query.TokenizeShareRecordsOwned:input_type -> cosmos.staking.v1beta1.QueryTokenizeShareRecordsOwnedRequest + 34, // 52: cosmos.staking.v1beta1.Query.AllTokenizeShareRecords:input_type -> cosmos.staking.v1beta1.QueryAllTokenizeShareRecordsRequest + 36, // 53: cosmos.staking.v1beta1.Query.LastTokenizeShareRecordId:input_type -> cosmos.staking.v1beta1.QueryLastTokenizeShareRecordIdRequest + 38, // 54: cosmos.staking.v1beta1.Query.TotalTokenizeSharedAssets:input_type -> cosmos.staking.v1beta1.QueryTotalTokenizeSharedAssetsRequest + 40, // 55: cosmos.staking.v1beta1.Query.TotalLiquidStaked:input_type -> cosmos.staking.v1beta1.QueryTotalLiquidStaked + 42, // 56: cosmos.staking.v1beta1.Query.TokenizeShareLockInfo:input_type -> cosmos.staking.v1beta1.QueryTokenizeShareLockInfo + 1, // 57: cosmos.staking.v1beta1.Query.Validators:output_type -> cosmos.staking.v1beta1.QueryValidatorsResponse + 3, // 58: cosmos.staking.v1beta1.Query.Validator:output_type -> cosmos.staking.v1beta1.QueryValidatorResponse + 5, // 59: cosmos.staking.v1beta1.Query.ValidatorDelegations:output_type -> cosmos.staking.v1beta1.QueryValidatorDelegationsResponse + 7, // 60: cosmos.staking.v1beta1.Query.ValidatorUnbondingDelegations:output_type -> cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse + 9, // 61: cosmos.staking.v1beta1.Query.Delegation:output_type -> cosmos.staking.v1beta1.QueryDelegationResponse + 11, // 62: cosmos.staking.v1beta1.Query.UnbondingDelegation:output_type -> cosmos.staking.v1beta1.QueryUnbondingDelegationResponse + 13, // 63: cosmos.staking.v1beta1.Query.DelegatorDelegations:output_type -> cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse + 15, // 64: cosmos.staking.v1beta1.Query.DelegatorUnbondingDelegations:output_type -> cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse + 17, // 65: cosmos.staking.v1beta1.Query.Redelegations:output_type -> cosmos.staking.v1beta1.QueryRedelegationsResponse + 19, // 66: cosmos.staking.v1beta1.Query.DelegatorValidators:output_type -> cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse + 21, // 67: cosmos.staking.v1beta1.Query.DelegatorValidator:output_type -> cosmos.staking.v1beta1.QueryDelegatorValidatorResponse + 23, // 68: cosmos.staking.v1beta1.Query.HistoricalInfo:output_type -> cosmos.staking.v1beta1.QueryHistoricalInfoResponse + 25, // 69: cosmos.staking.v1beta1.Query.Pool:output_type -> cosmos.staking.v1beta1.QueryPoolResponse + 27, // 70: cosmos.staking.v1beta1.Query.Params:output_type -> cosmos.staking.v1beta1.QueryParamsResponse + 29, // 71: cosmos.staking.v1beta1.Query.TokenizeShareRecordById:output_type -> cosmos.staking.v1beta1.QueryTokenizeShareRecordByIdResponse + 31, // 72: cosmos.staking.v1beta1.Query.TokenizeShareRecordByDenom:output_type -> cosmos.staking.v1beta1.QueryTokenizeShareRecordByDenomResponse + 33, // 73: cosmos.staking.v1beta1.Query.TokenizeShareRecordsOwned:output_type -> cosmos.staking.v1beta1.QueryTokenizeShareRecordsOwnedResponse + 35, // 74: cosmos.staking.v1beta1.Query.AllTokenizeShareRecords:output_type -> cosmos.staking.v1beta1.QueryAllTokenizeShareRecordsResponse + 37, // 75: cosmos.staking.v1beta1.Query.LastTokenizeShareRecordId:output_type -> cosmos.staking.v1beta1.QueryLastTokenizeShareRecordIdResponse + 39, // 76: cosmos.staking.v1beta1.Query.TotalTokenizeSharedAssets:output_type -> cosmos.staking.v1beta1.QueryTotalTokenizeSharedAssetsResponse + 41, // 77: cosmos.staking.v1beta1.Query.TotalLiquidStaked:output_type -> cosmos.staking.v1beta1.QueryTotalLiquidStakedResponse + 43, // 78: cosmos.staking.v1beta1.Query.TokenizeShareLockInfo:output_type -> cosmos.staking.v1beta1.QueryTokenizeShareLockInfoResponse + 57, // [57:79] is the sub-list for method output_type + 35, // [35:57] is the sub-list for method input_type + 35, // [35:35] is the sub-list for extension type_name + 35, // [35:35] is the sub-list for extension extendee + 0, // [0:35] is the sub-list for field type_name } func init() { file_cosmos_staking_v1beta1_query_proto_init() } @@ -15843,6 +23542,198 @@ func file_cosmos_staking_v1beta1_query_proto_init() { return nil } } + file_cosmos_staking_v1beta1_query_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryTokenizeShareRecordByIdRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cosmos_staking_v1beta1_query_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryTokenizeShareRecordByIdResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cosmos_staking_v1beta1_query_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryTokenizeShareRecordByDenomRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cosmos_staking_v1beta1_query_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryTokenizeShareRecordByDenomResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cosmos_staking_v1beta1_query_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryTokenizeShareRecordsOwnedRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cosmos_staking_v1beta1_query_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryTokenizeShareRecordsOwnedResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cosmos_staking_v1beta1_query_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryAllTokenizeShareRecordsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cosmos_staking_v1beta1_query_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryAllTokenizeShareRecordsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cosmos_staking_v1beta1_query_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryLastTokenizeShareRecordIdRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cosmos_staking_v1beta1_query_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryLastTokenizeShareRecordIdResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cosmos_staking_v1beta1_query_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryTotalTokenizeSharedAssetsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cosmos_staking_v1beta1_query_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryTotalTokenizeSharedAssetsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cosmos_staking_v1beta1_query_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryTotalLiquidStaked); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cosmos_staking_v1beta1_query_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryTotalLiquidStakedResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cosmos_staking_v1beta1_query_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryTokenizeShareLockInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cosmos_staking_v1beta1_query_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryTokenizeShareLockInfoResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -15850,7 +23741,7 @@ func file_cosmos_staking_v1beta1_query_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cosmos_staking_v1beta1_query_proto_rawDesc, NumEnums: 0, - NumMessages: 28, + NumMessages: 44, NumExtensions: 0, NumServices: 1, }, diff --git a/api/cosmos/staking/v1beta1/query_grpc.pb.go b/api/cosmos/staking/v1beta1/query_grpc.pb.go index a015a80c6eb2..2fc8ef8c7cd1 100644 --- a/api/cosmos/staking/v1beta1/query_grpc.pb.go +++ b/api/cosmos/staking/v1beta1/query_grpc.pb.go @@ -33,6 +33,14 @@ const ( Query_HistoricalInfo_FullMethodName = "/cosmos.staking.v1beta1.Query/HistoricalInfo" Query_Pool_FullMethodName = "/cosmos.staking.v1beta1.Query/Pool" Query_Params_FullMethodName = "/cosmos.staking.v1beta1.Query/Params" + Query_TokenizeShareRecordById_FullMethodName = "/cosmos.staking.v1beta1.Query/TokenizeShareRecordById" + Query_TokenizeShareRecordByDenom_FullMethodName = "/cosmos.staking.v1beta1.Query/TokenizeShareRecordByDenom" + Query_TokenizeShareRecordsOwned_FullMethodName = "/cosmos.staking.v1beta1.Query/TokenizeShareRecordsOwned" + Query_AllTokenizeShareRecords_FullMethodName = "/cosmos.staking.v1beta1.Query/AllTokenizeShareRecords" + Query_LastTokenizeShareRecordId_FullMethodName = "/cosmos.staking.v1beta1.Query/LastTokenizeShareRecordId" + Query_TotalTokenizeSharedAssets_FullMethodName = "/cosmos.staking.v1beta1.Query/TotalTokenizeSharedAssets" + Query_TotalLiquidStaked_FullMethodName = "/cosmos.staking.v1beta1.Query/TotalLiquidStaked" + Query_TokenizeShareLockInfo_FullMethodName = "/cosmos.staking.v1beta1.Query/TokenizeShareLockInfo" ) // QueryClient is the client API for Query service. @@ -92,6 +100,38 @@ type QueryClient interface { Pool(ctx context.Context, in *QueryPoolRequest, opts ...grpc.CallOption) (*QueryPoolResponse, error) // Parameters queries the staking parameters. Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) + // Query for individual tokenize share record information by share by id. + // + // Since: cosmos-sdk 0.47-lsm + TokenizeShareRecordById(ctx context.Context, in *QueryTokenizeShareRecordByIdRequest, opts ...grpc.CallOption) (*QueryTokenizeShareRecordByIdResponse, error) + // Query for individual tokenize share record information by share denom. + // + // Since: cosmos-sdk 0.47-lsm + TokenizeShareRecordByDenom(ctx context.Context, in *QueryTokenizeShareRecordByDenomRequest, opts ...grpc.CallOption) (*QueryTokenizeShareRecordByDenomResponse, error) + // Query tokenize share records by address. + // + // Since: cosmos-sdk 0.47-lsm + TokenizeShareRecordsOwned(ctx context.Context, in *QueryTokenizeShareRecordsOwnedRequest, opts ...grpc.CallOption) (*QueryTokenizeShareRecordsOwnedResponse, error) + // Query for all tokenize share records. + // + // Since: cosmos-sdk 0.47-lsm + AllTokenizeShareRecords(ctx context.Context, in *QueryAllTokenizeShareRecordsRequest, opts ...grpc.CallOption) (*QueryAllTokenizeShareRecordsResponse, error) + // Query for last tokenize share record id. + // + // Since: cosmos-sdk 0.47-lsm + LastTokenizeShareRecordId(ctx context.Context, in *QueryLastTokenizeShareRecordIdRequest, opts ...grpc.CallOption) (*QueryLastTokenizeShareRecordIdResponse, error) + // Query for total tokenized staked assets. + // + // Since: cosmos-sdk 0.47-lsm + TotalTokenizeSharedAssets(ctx context.Context, in *QueryTotalTokenizeSharedAssetsRequest, opts ...grpc.CallOption) (*QueryTotalTokenizeSharedAssetsResponse, error) + // Query for total liquid staked (including tokenized shares or owned by an liquid staking provider). + // + // Since: cosmos-sdk 0.47-lsm + TotalLiquidStaked(ctx context.Context, in *QueryTotalLiquidStaked, opts ...grpc.CallOption) (*QueryTotalLiquidStakedResponse, error) + // Query tokenize share locks. + // + // Since: cosmos-sdk 0.47-lsm + TokenizeShareLockInfo(ctx context.Context, in *QueryTokenizeShareLockInfo, opts ...grpc.CallOption) (*QueryTokenizeShareLockInfoResponse, error) } type queryClient struct { @@ -228,6 +268,78 @@ func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts . return out, nil } +func (c *queryClient) TokenizeShareRecordById(ctx context.Context, in *QueryTokenizeShareRecordByIdRequest, opts ...grpc.CallOption) (*QueryTokenizeShareRecordByIdResponse, error) { + out := new(QueryTokenizeShareRecordByIdResponse) + err := c.cc.Invoke(ctx, Query_TokenizeShareRecordById_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryClient) TokenizeShareRecordByDenom(ctx context.Context, in *QueryTokenizeShareRecordByDenomRequest, opts ...grpc.CallOption) (*QueryTokenizeShareRecordByDenomResponse, error) { + out := new(QueryTokenizeShareRecordByDenomResponse) + err := c.cc.Invoke(ctx, Query_TokenizeShareRecordByDenom_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryClient) TokenizeShareRecordsOwned(ctx context.Context, in *QueryTokenizeShareRecordsOwnedRequest, opts ...grpc.CallOption) (*QueryTokenizeShareRecordsOwnedResponse, error) { + out := new(QueryTokenizeShareRecordsOwnedResponse) + err := c.cc.Invoke(ctx, Query_TokenizeShareRecordsOwned_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryClient) AllTokenizeShareRecords(ctx context.Context, in *QueryAllTokenizeShareRecordsRequest, opts ...grpc.CallOption) (*QueryAllTokenizeShareRecordsResponse, error) { + out := new(QueryAllTokenizeShareRecordsResponse) + err := c.cc.Invoke(ctx, Query_AllTokenizeShareRecords_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryClient) LastTokenizeShareRecordId(ctx context.Context, in *QueryLastTokenizeShareRecordIdRequest, opts ...grpc.CallOption) (*QueryLastTokenizeShareRecordIdResponse, error) { + out := new(QueryLastTokenizeShareRecordIdResponse) + err := c.cc.Invoke(ctx, Query_LastTokenizeShareRecordId_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryClient) TotalTokenizeSharedAssets(ctx context.Context, in *QueryTotalTokenizeSharedAssetsRequest, opts ...grpc.CallOption) (*QueryTotalTokenizeSharedAssetsResponse, error) { + out := new(QueryTotalTokenizeSharedAssetsResponse) + err := c.cc.Invoke(ctx, Query_TotalTokenizeSharedAssets_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryClient) TotalLiquidStaked(ctx context.Context, in *QueryTotalLiquidStaked, opts ...grpc.CallOption) (*QueryTotalLiquidStakedResponse, error) { + out := new(QueryTotalLiquidStakedResponse) + err := c.cc.Invoke(ctx, Query_TotalLiquidStaked_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryClient) TokenizeShareLockInfo(ctx context.Context, in *QueryTokenizeShareLockInfo, opts ...grpc.CallOption) (*QueryTokenizeShareLockInfoResponse, error) { + out := new(QueryTokenizeShareLockInfoResponse) + err := c.cc.Invoke(ctx, Query_TokenizeShareLockInfo_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // QueryServer is the server API for Query service. // All implementations must embed UnimplementedQueryServer // for forward compatibility @@ -285,6 +397,38 @@ type QueryServer interface { Pool(context.Context, *QueryPoolRequest) (*QueryPoolResponse, error) // Parameters queries the staking parameters. Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error) + // Query for individual tokenize share record information by share by id. + // + // Since: cosmos-sdk 0.47-lsm + TokenizeShareRecordById(context.Context, *QueryTokenizeShareRecordByIdRequest) (*QueryTokenizeShareRecordByIdResponse, error) + // Query for individual tokenize share record information by share denom. + // + // Since: cosmos-sdk 0.47-lsm + TokenizeShareRecordByDenom(context.Context, *QueryTokenizeShareRecordByDenomRequest) (*QueryTokenizeShareRecordByDenomResponse, error) + // Query tokenize share records by address. + // + // Since: cosmos-sdk 0.47-lsm + TokenizeShareRecordsOwned(context.Context, *QueryTokenizeShareRecordsOwnedRequest) (*QueryTokenizeShareRecordsOwnedResponse, error) + // Query for all tokenize share records. + // + // Since: cosmos-sdk 0.47-lsm + AllTokenizeShareRecords(context.Context, *QueryAllTokenizeShareRecordsRequest) (*QueryAllTokenizeShareRecordsResponse, error) + // Query for last tokenize share record id. + // + // Since: cosmos-sdk 0.47-lsm + LastTokenizeShareRecordId(context.Context, *QueryLastTokenizeShareRecordIdRequest) (*QueryLastTokenizeShareRecordIdResponse, error) + // Query for total tokenized staked assets. + // + // Since: cosmos-sdk 0.47-lsm + TotalTokenizeSharedAssets(context.Context, *QueryTotalTokenizeSharedAssetsRequest) (*QueryTotalTokenizeSharedAssetsResponse, error) + // Query for total liquid staked (including tokenized shares or owned by an liquid staking provider). + // + // Since: cosmos-sdk 0.47-lsm + TotalLiquidStaked(context.Context, *QueryTotalLiquidStaked) (*QueryTotalLiquidStakedResponse, error) + // Query tokenize share locks. + // + // Since: cosmos-sdk 0.47-lsm + TokenizeShareLockInfo(context.Context, *QueryTokenizeShareLockInfo) (*QueryTokenizeShareLockInfoResponse, error) mustEmbedUnimplementedQueryServer() } @@ -334,6 +478,30 @@ func (UnimplementedQueryServer) Pool(context.Context, *QueryPoolRequest) (*Query func (UnimplementedQueryServer) Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Params not implemented") } +func (UnimplementedQueryServer) TokenizeShareRecordById(context.Context, *QueryTokenizeShareRecordByIdRequest) (*QueryTokenizeShareRecordByIdResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method TokenizeShareRecordById not implemented") +} +func (UnimplementedQueryServer) TokenizeShareRecordByDenom(context.Context, *QueryTokenizeShareRecordByDenomRequest) (*QueryTokenizeShareRecordByDenomResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method TokenizeShareRecordByDenom not implemented") +} +func (UnimplementedQueryServer) TokenizeShareRecordsOwned(context.Context, *QueryTokenizeShareRecordsOwnedRequest) (*QueryTokenizeShareRecordsOwnedResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method TokenizeShareRecordsOwned not implemented") +} +func (UnimplementedQueryServer) AllTokenizeShareRecords(context.Context, *QueryAllTokenizeShareRecordsRequest) (*QueryAllTokenizeShareRecordsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AllTokenizeShareRecords not implemented") +} +func (UnimplementedQueryServer) LastTokenizeShareRecordId(context.Context, *QueryLastTokenizeShareRecordIdRequest) (*QueryLastTokenizeShareRecordIdResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method LastTokenizeShareRecordId not implemented") +} +func (UnimplementedQueryServer) TotalTokenizeSharedAssets(context.Context, *QueryTotalTokenizeSharedAssetsRequest) (*QueryTotalTokenizeSharedAssetsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method TotalTokenizeSharedAssets not implemented") +} +func (UnimplementedQueryServer) TotalLiquidStaked(context.Context, *QueryTotalLiquidStaked) (*QueryTotalLiquidStakedResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method TotalLiquidStaked not implemented") +} +func (UnimplementedQueryServer) TokenizeShareLockInfo(context.Context, *QueryTokenizeShareLockInfo) (*QueryTokenizeShareLockInfoResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method TokenizeShareLockInfo not implemented") +} func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {} // UnsafeQueryServer may be embedded to opt out of forward compatibility for this service. @@ -599,6 +767,150 @@ func _Query_Params_Handler(srv interface{}, ctx context.Context, dec func(interf return interceptor(ctx, in, info, handler) } +func _Query_TokenizeShareRecordById_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryTokenizeShareRecordByIdRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).TokenizeShareRecordById(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Query_TokenizeShareRecordById_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).TokenizeShareRecordById(ctx, req.(*QueryTokenizeShareRecordByIdRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_TokenizeShareRecordByDenom_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryTokenizeShareRecordByDenomRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).TokenizeShareRecordByDenom(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Query_TokenizeShareRecordByDenom_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).TokenizeShareRecordByDenom(ctx, req.(*QueryTokenizeShareRecordByDenomRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_TokenizeShareRecordsOwned_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryTokenizeShareRecordsOwnedRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).TokenizeShareRecordsOwned(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Query_TokenizeShareRecordsOwned_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).TokenizeShareRecordsOwned(ctx, req.(*QueryTokenizeShareRecordsOwnedRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_AllTokenizeShareRecords_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryAllTokenizeShareRecordsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).AllTokenizeShareRecords(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Query_AllTokenizeShareRecords_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).AllTokenizeShareRecords(ctx, req.(*QueryAllTokenizeShareRecordsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_LastTokenizeShareRecordId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryLastTokenizeShareRecordIdRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).LastTokenizeShareRecordId(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Query_LastTokenizeShareRecordId_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).LastTokenizeShareRecordId(ctx, req.(*QueryLastTokenizeShareRecordIdRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_TotalTokenizeSharedAssets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryTotalTokenizeSharedAssetsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).TotalTokenizeSharedAssets(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Query_TotalTokenizeSharedAssets_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).TotalTokenizeSharedAssets(ctx, req.(*QueryTotalTokenizeSharedAssetsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_TotalLiquidStaked_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryTotalLiquidStaked) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).TotalLiquidStaked(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Query_TotalLiquidStaked_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).TotalLiquidStaked(ctx, req.(*QueryTotalLiquidStaked)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_TokenizeShareLockInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryTokenizeShareLockInfo) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).TokenizeShareLockInfo(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Query_TokenizeShareLockInfo_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).TokenizeShareLockInfo(ctx, req.(*QueryTokenizeShareLockInfo)) + } + return interceptor(ctx, in, info, handler) +} + // Query_ServiceDesc is the grpc.ServiceDesc for Query service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -662,6 +974,38 @@ var Query_ServiceDesc = grpc.ServiceDesc{ MethodName: "Params", Handler: _Query_Params_Handler, }, + { + MethodName: "TokenizeShareRecordById", + Handler: _Query_TokenizeShareRecordById_Handler, + }, + { + MethodName: "TokenizeShareRecordByDenom", + Handler: _Query_TokenizeShareRecordByDenom_Handler, + }, + { + MethodName: "TokenizeShareRecordsOwned", + Handler: _Query_TokenizeShareRecordsOwned_Handler, + }, + { + MethodName: "AllTokenizeShareRecords", + Handler: _Query_AllTokenizeShareRecords_Handler, + }, + { + MethodName: "LastTokenizeShareRecordId", + Handler: _Query_LastTokenizeShareRecordId_Handler, + }, + { + MethodName: "TotalTokenizeSharedAssets", + Handler: _Query_TotalTokenizeSharedAssets_Handler, + }, + { + MethodName: "TotalLiquidStaked", + Handler: _Query_TotalLiquidStaked_Handler, + }, + { + MethodName: "TokenizeShareLockInfo", + Handler: _Query_TokenizeShareLockInfo_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cosmos/staking/v1beta1/query.proto", diff --git a/api/cosmos/staking/v1beta1/staking.pulsar.go b/api/cosmos/staking/v1beta1/staking.pulsar.go index 9ec8314f45ca..4c02c636170b 100644 --- a/api/cosmos/staking/v1beta1/staking.pulsar.go +++ b/api/cosmos/staking/v1beta1/staking.pulsar.go @@ -2393,6 +2393,8 @@ var ( fd_Validator_min_self_delegation protoreflect.FieldDescriptor fd_Validator_unbonding_on_hold_ref_count protoreflect.FieldDescriptor fd_Validator_unbonding_ids protoreflect.FieldDescriptor + fd_Validator_validator_bond_shares protoreflect.FieldDescriptor + fd_Validator_liquid_shares protoreflect.FieldDescriptor ) func init() { @@ -2411,6 +2413,8 @@ func init() { fd_Validator_min_self_delegation = md_Validator.Fields().ByName("min_self_delegation") fd_Validator_unbonding_on_hold_ref_count = md_Validator.Fields().ByName("unbonding_on_hold_ref_count") fd_Validator_unbonding_ids = md_Validator.Fields().ByName("unbonding_ids") + fd_Validator_validator_bond_shares = md_Validator.Fields().ByName("validator_bond_shares") + fd_Validator_liquid_shares = md_Validator.Fields().ByName("liquid_shares") } var _ protoreflect.Message = (*fastReflection_Validator)(nil) @@ -2556,6 +2560,18 @@ func (x *fastReflection_Validator) Range(f func(protoreflect.FieldDescriptor, pr return } } + if x.ValidatorBondShares != "" { + value := protoreflect.ValueOfString(x.ValidatorBondShares) + if !f(fd_Validator_validator_bond_shares, value) { + return + } + } + if x.LiquidShares != "" { + value := protoreflect.ValueOfString(x.LiquidShares) + if !f(fd_Validator_liquid_shares, value) { + return + } + } } // Has reports whether a field is populated. @@ -2597,6 +2613,10 @@ func (x *fastReflection_Validator) Has(fd protoreflect.FieldDescriptor) bool { return x.UnbondingOnHoldRefCount != int64(0) case "cosmos.staking.v1beta1.Validator.unbonding_ids": return len(x.UnbondingIds) != 0 + case "cosmos.staking.v1beta1.Validator.validator_bond_shares": + return x.ValidatorBondShares != "" + case "cosmos.staking.v1beta1.Validator.liquid_shares": + return x.LiquidShares != "" default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.Validator")) @@ -2639,6 +2659,10 @@ func (x *fastReflection_Validator) Clear(fd protoreflect.FieldDescriptor) { x.UnbondingOnHoldRefCount = int64(0) case "cosmos.staking.v1beta1.Validator.unbonding_ids": x.UnbondingIds = nil + case "cosmos.staking.v1beta1.Validator.validator_bond_shares": + x.ValidatorBondShares = "" + case "cosmos.staking.v1beta1.Validator.liquid_shares": + x.LiquidShares = "" default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.Validator")) @@ -2697,6 +2721,12 @@ func (x *fastReflection_Validator) Get(descriptor protoreflect.FieldDescriptor) } listValue := &_Validator_13_list{list: &x.UnbondingIds} return protoreflect.ValueOfList(listValue) + case "cosmos.staking.v1beta1.Validator.validator_bond_shares": + value := x.ValidatorBondShares + return protoreflect.ValueOfString(value) + case "cosmos.staking.v1beta1.Validator.liquid_shares": + value := x.LiquidShares + return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.Validator")) @@ -2745,6 +2775,10 @@ func (x *fastReflection_Validator) Set(fd protoreflect.FieldDescriptor, value pr lv := value.List() clv := lv.(*_Validator_13_list) x.UnbondingIds = *clv.list + case "cosmos.staking.v1beta1.Validator.validator_bond_shares": + x.ValidatorBondShares = value.Interface().(string) + case "cosmos.staking.v1beta1.Validator.liquid_shares": + x.LiquidShares = value.Interface().(string) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.Validator")) @@ -2807,6 +2841,10 @@ func (x *fastReflection_Validator) Mutable(fd protoreflect.FieldDescriptor) prot panic(fmt.Errorf("field min_self_delegation of message cosmos.staking.v1beta1.Validator is not mutable")) case "cosmos.staking.v1beta1.Validator.unbonding_on_hold_ref_count": panic(fmt.Errorf("field unbonding_on_hold_ref_count of message cosmos.staking.v1beta1.Validator is not mutable")) + case "cosmos.staking.v1beta1.Validator.validator_bond_shares": + panic(fmt.Errorf("field validator_bond_shares of message cosmos.staking.v1beta1.Validator is not mutable")) + case "cosmos.staking.v1beta1.Validator.liquid_shares": + panic(fmt.Errorf("field liquid_shares of message cosmos.staking.v1beta1.Validator is not mutable")) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.Validator")) @@ -2851,6 +2889,10 @@ func (x *fastReflection_Validator) NewField(fd protoreflect.FieldDescriptor) pro case "cosmos.staking.v1beta1.Validator.unbonding_ids": list := []uint64{} return protoreflect.ValueOfList(&_Validator_13_list{list: &list}) + case "cosmos.staking.v1beta1.Validator.validator_bond_shares": + return protoreflect.ValueOfString("") + case "cosmos.staking.v1beta1.Validator.liquid_shares": + return protoreflect.ValueOfString("") default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.Validator")) @@ -2971,6 +3013,14 @@ func (x *fastReflection_Validator) ProtoMethods() *protoiface.Methods { } n += 1 + runtime.Sov(uint64(l)) + l } + l = len(x.ValidatorBondShares) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.LiquidShares) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -3000,6 +3050,20 @@ func (x *fastReflection_Validator) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } + if len(x.LiquidShares) > 0 { + i -= len(x.LiquidShares) + copy(dAtA[i:], x.LiquidShares) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.LiquidShares))) + i-- + dAtA[i] = 0x7a + } + if len(x.ValidatorBondShares) > 0 { + i -= len(x.ValidatorBondShares) + copy(dAtA[i:], x.ValidatorBondShares) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ValidatorBondShares))) + i-- + dAtA[i] = 0x72 + } if len(x.UnbondingIds) > 0 { var pksize2 int for _, num := range x.UnbondingIds { @@ -3603,6 +3667,70 @@ func (x *fastReflection_Validator) ProtoMethods() *protoiface.Methods { } else { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field UnbondingIds", wireType) } + case 14: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ValidatorBondShares", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.ValidatorBondShares = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 15: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field LiquidShares", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.LiquidShares = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -6143,6 +6271,7 @@ var ( fd_Delegation_delegator_address protoreflect.FieldDescriptor fd_Delegation_validator_address protoreflect.FieldDescriptor fd_Delegation_shares protoreflect.FieldDescriptor + fd_Delegation_validator_bond protoreflect.FieldDescriptor ) func init() { @@ -6151,6 +6280,7 @@ func init() { fd_Delegation_delegator_address = md_Delegation.Fields().ByName("delegator_address") fd_Delegation_validator_address = md_Delegation.Fields().ByName("validator_address") fd_Delegation_shares = md_Delegation.Fields().ByName("shares") + fd_Delegation_validator_bond = md_Delegation.Fields().ByName("validator_bond") } var _ protoreflect.Message = (*fastReflection_Delegation)(nil) @@ -6236,6 +6366,12 @@ func (x *fastReflection_Delegation) Range(f func(protoreflect.FieldDescriptor, p return } } + if x.ValidatorBond != false { + value := protoreflect.ValueOfBool(x.ValidatorBond) + if !f(fd_Delegation_validator_bond, value) { + return + } + } } // Has reports whether a field is populated. @@ -6257,6 +6393,8 @@ func (x *fastReflection_Delegation) Has(fd protoreflect.FieldDescriptor) bool { return x.ValidatorAddress != "" case "cosmos.staking.v1beta1.Delegation.shares": return x.Shares != "" + case "cosmos.staking.v1beta1.Delegation.validator_bond": + return x.ValidatorBond != false default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.Delegation")) @@ -6279,6 +6417,8 @@ func (x *fastReflection_Delegation) Clear(fd protoreflect.FieldDescriptor) { x.ValidatorAddress = "" case "cosmos.staking.v1beta1.Delegation.shares": x.Shares = "" + case "cosmos.staking.v1beta1.Delegation.validator_bond": + x.ValidatorBond = false default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.Delegation")) @@ -6304,6 +6444,9 @@ func (x *fastReflection_Delegation) Get(descriptor protoreflect.FieldDescriptor) case "cosmos.staking.v1beta1.Delegation.shares": value := x.Shares return protoreflect.ValueOfString(value) + case "cosmos.staking.v1beta1.Delegation.validator_bond": + value := x.ValidatorBond + return protoreflect.ValueOfBool(value) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.Delegation")) @@ -6330,6 +6473,8 @@ func (x *fastReflection_Delegation) Set(fd protoreflect.FieldDescriptor, value p x.ValidatorAddress = value.Interface().(string) case "cosmos.staking.v1beta1.Delegation.shares": x.Shares = value.Interface().(string) + case "cosmos.staking.v1beta1.Delegation.validator_bond": + x.ValidatorBond = value.Bool() default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.Delegation")) @@ -6356,6 +6501,8 @@ func (x *fastReflection_Delegation) Mutable(fd protoreflect.FieldDescriptor) pro panic(fmt.Errorf("field validator_address of message cosmos.staking.v1beta1.Delegation is not mutable")) case "cosmos.staking.v1beta1.Delegation.shares": panic(fmt.Errorf("field shares of message cosmos.staking.v1beta1.Delegation is not mutable")) + case "cosmos.staking.v1beta1.Delegation.validator_bond": + panic(fmt.Errorf("field validator_bond of message cosmos.staking.v1beta1.Delegation is not mutable")) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.Delegation")) @@ -6375,6 +6522,8 @@ func (x *fastReflection_Delegation) NewField(fd protoreflect.FieldDescriptor) pr return protoreflect.ValueOfString("") case "cosmos.staking.v1beta1.Delegation.shares": return protoreflect.ValueOfString("") + case "cosmos.staking.v1beta1.Delegation.validator_bond": + return protoreflect.ValueOfBool(false) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.Delegation")) @@ -6456,6 +6605,9 @@ func (x *fastReflection_Delegation) ProtoMethods() *protoiface.Methods { if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } + if x.ValidatorBond { + n += 2 + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -6485,6 +6637,16 @@ func (x *fastReflection_Delegation) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } + if x.ValidatorBond { + i-- + if x.ValidatorBond { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x20 + } if len(x.Shares) > 0 { i -= len(x.Shares) copy(dAtA[i:], x.Shares) @@ -6651,6 +6813,26 @@ func (x *fastReflection_Delegation) ProtoMethods() *protoiface.Methods { } x.Shares = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 4: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ValidatorBond", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.ValidatorBond = bool(v != 0) default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -9409,13 +9591,16 @@ func (x *fastReflection_Redelegation) ProtoMethods() *protoiface.Methods { } var ( - md_Params protoreflect.MessageDescriptor - fd_Params_unbonding_time protoreflect.FieldDescriptor - fd_Params_max_validators protoreflect.FieldDescriptor - fd_Params_max_entries protoreflect.FieldDescriptor - fd_Params_historical_entries protoreflect.FieldDescriptor - fd_Params_bond_denom protoreflect.FieldDescriptor - fd_Params_min_commission_rate protoreflect.FieldDescriptor + md_Params protoreflect.MessageDescriptor + fd_Params_unbonding_time protoreflect.FieldDescriptor + fd_Params_max_validators protoreflect.FieldDescriptor + fd_Params_max_entries protoreflect.FieldDescriptor + fd_Params_historical_entries protoreflect.FieldDescriptor + fd_Params_bond_denom protoreflect.FieldDescriptor + fd_Params_min_commission_rate protoreflect.FieldDescriptor + fd_Params_validator_bond_factor protoreflect.FieldDescriptor + fd_Params_global_liquid_staking_cap protoreflect.FieldDescriptor + fd_Params_validator_liquid_staking_cap protoreflect.FieldDescriptor ) func init() { @@ -9427,6 +9612,9 @@ func init() { fd_Params_historical_entries = md_Params.Fields().ByName("historical_entries") fd_Params_bond_denom = md_Params.Fields().ByName("bond_denom") fd_Params_min_commission_rate = md_Params.Fields().ByName("min_commission_rate") + fd_Params_validator_bond_factor = md_Params.Fields().ByName("validator_bond_factor") + fd_Params_global_liquid_staking_cap = md_Params.Fields().ByName("global_liquid_staking_cap") + fd_Params_validator_liquid_staking_cap = md_Params.Fields().ByName("validator_liquid_staking_cap") } var _ protoreflect.Message = (*fastReflection_Params)(nil) @@ -9530,6 +9718,24 @@ func (x *fastReflection_Params) Range(f func(protoreflect.FieldDescriptor, proto return } } + if x.ValidatorBondFactor != "" { + value := protoreflect.ValueOfString(x.ValidatorBondFactor) + if !f(fd_Params_validator_bond_factor, value) { + return + } + } + if x.GlobalLiquidStakingCap != "" { + value := protoreflect.ValueOfString(x.GlobalLiquidStakingCap) + if !f(fd_Params_global_liquid_staking_cap, value) { + return + } + } + if x.ValidatorLiquidStakingCap != "" { + value := protoreflect.ValueOfString(x.ValidatorLiquidStakingCap) + if !f(fd_Params_validator_liquid_staking_cap, value) { + return + } + } } // Has reports whether a field is populated. @@ -9557,6 +9763,12 @@ func (x *fastReflection_Params) Has(fd protoreflect.FieldDescriptor) bool { return x.BondDenom != "" case "cosmos.staking.v1beta1.Params.min_commission_rate": return x.MinCommissionRate != "" + case "cosmos.staking.v1beta1.Params.validator_bond_factor": + return x.ValidatorBondFactor != "" + case "cosmos.staking.v1beta1.Params.global_liquid_staking_cap": + return x.GlobalLiquidStakingCap != "" + case "cosmos.staking.v1beta1.Params.validator_liquid_staking_cap": + return x.ValidatorLiquidStakingCap != "" default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.Params")) @@ -9585,6 +9797,12 @@ func (x *fastReflection_Params) Clear(fd protoreflect.FieldDescriptor) { x.BondDenom = "" case "cosmos.staking.v1beta1.Params.min_commission_rate": x.MinCommissionRate = "" + case "cosmos.staking.v1beta1.Params.validator_bond_factor": + x.ValidatorBondFactor = "" + case "cosmos.staking.v1beta1.Params.global_liquid_staking_cap": + x.GlobalLiquidStakingCap = "" + case "cosmos.staking.v1beta1.Params.validator_liquid_staking_cap": + x.ValidatorLiquidStakingCap = "" default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.Params")) @@ -9619,6 +9837,15 @@ func (x *fastReflection_Params) Get(descriptor protoreflect.FieldDescriptor) pro case "cosmos.staking.v1beta1.Params.min_commission_rate": value := x.MinCommissionRate return protoreflect.ValueOfString(value) + case "cosmos.staking.v1beta1.Params.validator_bond_factor": + value := x.ValidatorBondFactor + return protoreflect.ValueOfString(value) + case "cosmos.staking.v1beta1.Params.global_liquid_staking_cap": + value := x.GlobalLiquidStakingCap + return protoreflect.ValueOfString(value) + case "cosmos.staking.v1beta1.Params.validator_liquid_staking_cap": + value := x.ValidatorLiquidStakingCap + return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.Params")) @@ -9651,6 +9878,12 @@ func (x *fastReflection_Params) Set(fd protoreflect.FieldDescriptor, value proto x.BondDenom = value.Interface().(string) case "cosmos.staking.v1beta1.Params.min_commission_rate": x.MinCommissionRate = value.Interface().(string) + case "cosmos.staking.v1beta1.Params.validator_bond_factor": + x.ValidatorBondFactor = value.Interface().(string) + case "cosmos.staking.v1beta1.Params.global_liquid_staking_cap": + x.GlobalLiquidStakingCap = value.Interface().(string) + case "cosmos.staking.v1beta1.Params.validator_liquid_staking_cap": + x.ValidatorLiquidStakingCap = value.Interface().(string) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.Params")) @@ -9686,6 +9919,12 @@ func (x *fastReflection_Params) Mutable(fd protoreflect.FieldDescriptor) protore panic(fmt.Errorf("field bond_denom of message cosmos.staking.v1beta1.Params is not mutable")) case "cosmos.staking.v1beta1.Params.min_commission_rate": panic(fmt.Errorf("field min_commission_rate of message cosmos.staking.v1beta1.Params is not mutable")) + case "cosmos.staking.v1beta1.Params.validator_bond_factor": + panic(fmt.Errorf("field validator_bond_factor of message cosmos.staking.v1beta1.Params is not mutable")) + case "cosmos.staking.v1beta1.Params.global_liquid_staking_cap": + panic(fmt.Errorf("field global_liquid_staking_cap of message cosmos.staking.v1beta1.Params is not mutable")) + case "cosmos.staking.v1beta1.Params.validator_liquid_staking_cap": + panic(fmt.Errorf("field validator_liquid_staking_cap of message cosmos.staking.v1beta1.Params is not mutable")) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.Params")) @@ -9712,6 +9951,12 @@ func (x *fastReflection_Params) NewField(fd protoreflect.FieldDescriptor) protor return protoreflect.ValueOfString("") case "cosmos.staking.v1beta1.Params.min_commission_rate": return protoreflect.ValueOfString("") + case "cosmos.staking.v1beta1.Params.validator_bond_factor": + return protoreflect.ValueOfString("") + case "cosmos.staking.v1beta1.Params.global_liquid_staking_cap": + return protoreflect.ValueOfString("") + case "cosmos.staking.v1beta1.Params.validator_liquid_staking_cap": + return protoreflect.ValueOfString("") default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.Params")) @@ -9802,6 +10047,18 @@ func (x *fastReflection_Params) ProtoMethods() *protoiface.Methods { if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } + l = len(x.ValidatorBondFactor) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.GlobalLiquidStakingCap) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.ValidatorLiquidStakingCap) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -9831,6 +10088,27 @@ func (x *fastReflection_Params) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } + if len(x.ValidatorLiquidStakingCap) > 0 { + i -= len(x.ValidatorLiquidStakingCap) + copy(dAtA[i:], x.ValidatorLiquidStakingCap) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ValidatorLiquidStakingCap))) + i-- + dAtA[i] = 0x4a + } + if len(x.GlobalLiquidStakingCap) > 0 { + i -= len(x.GlobalLiquidStakingCap) + copy(dAtA[i:], x.GlobalLiquidStakingCap) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.GlobalLiquidStakingCap))) + i-- + dAtA[i] = 0x42 + } + if len(x.ValidatorBondFactor) > 0 { + i -= len(x.ValidatorBondFactor) + copy(dAtA[i:], x.ValidatorBondFactor) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ValidatorBondFactor))) + i-- + dAtA[i] = 0x3a + } if len(x.MinCommissionRate) > 0 { i -= len(x.MinCommissionRate) copy(dAtA[i:], x.MinCommissionRate) @@ -10080,6 +10358,102 @@ func (x *fastReflection_Params) ProtoMethods() *protoiface.Methods { } x.MinCommissionRate = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 7: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ValidatorBondFactor", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.ValidatorBondFactor = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 8: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field GlobalLiquidStakingCap", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.GlobalLiquidStakingCap = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 9: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ValidatorLiquidStakingCap", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.ValidatorLiquidStakingCap = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -12679,28 +13053,1104 @@ func (x *fastReflection_ValidatorUpdates) ProtoMethods() *protoiface.Methods { } } -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.27.0 -// protoc (unknown) -// source: cosmos/staking/v1beta1/staking.proto - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +var ( + md_TokenizeShareRecord protoreflect.MessageDescriptor + fd_TokenizeShareRecord_id protoreflect.FieldDescriptor + fd_TokenizeShareRecord_owner protoreflect.FieldDescriptor + fd_TokenizeShareRecord_module_account protoreflect.FieldDescriptor + fd_TokenizeShareRecord_validator protoreflect.FieldDescriptor ) -// BondStatus is the status of a validator. -type BondStatus int32 +func init() { + file_cosmos_staking_v1beta1_staking_proto_init() + md_TokenizeShareRecord = File_cosmos_staking_v1beta1_staking_proto.Messages().ByName("TokenizeShareRecord") + fd_TokenizeShareRecord_id = md_TokenizeShareRecord.Fields().ByName("id") + fd_TokenizeShareRecord_owner = md_TokenizeShareRecord.Fields().ByName("owner") + fd_TokenizeShareRecord_module_account = md_TokenizeShareRecord.Fields().ByName("module_account") + fd_TokenizeShareRecord_validator = md_TokenizeShareRecord.Fields().ByName("validator") +} -const ( - // UNSPECIFIED defines an invalid validator status. - BondStatus_BOND_STATUS_UNSPECIFIED BondStatus = 0 - // UNBONDED defines a validator that is not bonded. - BondStatus_BOND_STATUS_UNBONDED BondStatus = 1 - // UNBONDING defines a validator that is unbonding. +var _ protoreflect.Message = (*fastReflection_TokenizeShareRecord)(nil) + +type fastReflection_TokenizeShareRecord TokenizeShareRecord + +func (x *TokenizeShareRecord) ProtoReflect() protoreflect.Message { + return (*fastReflection_TokenizeShareRecord)(x) +} + +func (x *TokenizeShareRecord) slowProtoReflect() protoreflect.Message { + mi := &file_cosmos_staking_v1beta1_staking_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_TokenizeShareRecord_messageType fastReflection_TokenizeShareRecord_messageType +var _ protoreflect.MessageType = fastReflection_TokenizeShareRecord_messageType{} + +type fastReflection_TokenizeShareRecord_messageType struct{} + +func (x fastReflection_TokenizeShareRecord_messageType) Zero() protoreflect.Message { + return (*fastReflection_TokenizeShareRecord)(nil) +} +func (x fastReflection_TokenizeShareRecord_messageType) New() protoreflect.Message { + return new(fastReflection_TokenizeShareRecord) +} +func (x fastReflection_TokenizeShareRecord_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_TokenizeShareRecord +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_TokenizeShareRecord) Descriptor() protoreflect.MessageDescriptor { + return md_TokenizeShareRecord +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_TokenizeShareRecord) Type() protoreflect.MessageType { + return _fastReflection_TokenizeShareRecord_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_TokenizeShareRecord) New() protoreflect.Message { + return new(fastReflection_TokenizeShareRecord) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_TokenizeShareRecord) Interface() protoreflect.ProtoMessage { + return (*TokenizeShareRecord)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_TokenizeShareRecord) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Id != uint64(0) { + value := protoreflect.ValueOfUint64(x.Id) + if !f(fd_TokenizeShareRecord_id, value) { + return + } + } + if x.Owner != "" { + value := protoreflect.ValueOfString(x.Owner) + if !f(fd_TokenizeShareRecord_owner, value) { + return + } + } + if x.ModuleAccount != "" { + value := protoreflect.ValueOfString(x.ModuleAccount) + if !f(fd_TokenizeShareRecord_module_account, value) { + return + } + } + if x.Validator != "" { + value := protoreflect.ValueOfString(x.Validator) + if !f(fd_TokenizeShareRecord_validator, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_TokenizeShareRecord) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cosmos.staking.v1beta1.TokenizeShareRecord.id": + return x.Id != uint64(0) + case "cosmos.staking.v1beta1.TokenizeShareRecord.owner": + return x.Owner != "" + case "cosmos.staking.v1beta1.TokenizeShareRecord.module_account": + return x.ModuleAccount != "" + case "cosmos.staking.v1beta1.TokenizeShareRecord.validator": + return x.Validator != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.TokenizeShareRecord")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.TokenizeShareRecord does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_TokenizeShareRecord) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.TokenizeShareRecord.id": + x.Id = uint64(0) + case "cosmos.staking.v1beta1.TokenizeShareRecord.owner": + x.Owner = "" + case "cosmos.staking.v1beta1.TokenizeShareRecord.module_account": + x.ModuleAccount = "" + case "cosmos.staking.v1beta1.TokenizeShareRecord.validator": + x.Validator = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.TokenizeShareRecord")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.TokenizeShareRecord does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_TokenizeShareRecord) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cosmos.staking.v1beta1.TokenizeShareRecord.id": + value := x.Id + return protoreflect.ValueOfUint64(value) + case "cosmos.staking.v1beta1.TokenizeShareRecord.owner": + value := x.Owner + return protoreflect.ValueOfString(value) + case "cosmos.staking.v1beta1.TokenizeShareRecord.module_account": + value := x.ModuleAccount + return protoreflect.ValueOfString(value) + case "cosmos.staking.v1beta1.TokenizeShareRecord.validator": + value := x.Validator + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.TokenizeShareRecord")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.TokenizeShareRecord does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_TokenizeShareRecord) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.TokenizeShareRecord.id": + x.Id = value.Uint() + case "cosmos.staking.v1beta1.TokenizeShareRecord.owner": + x.Owner = value.Interface().(string) + case "cosmos.staking.v1beta1.TokenizeShareRecord.module_account": + x.ModuleAccount = value.Interface().(string) + case "cosmos.staking.v1beta1.TokenizeShareRecord.validator": + x.Validator = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.TokenizeShareRecord")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.TokenizeShareRecord does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_TokenizeShareRecord) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.TokenizeShareRecord.id": + panic(fmt.Errorf("field id of message cosmos.staking.v1beta1.TokenizeShareRecord is not mutable")) + case "cosmos.staking.v1beta1.TokenizeShareRecord.owner": + panic(fmt.Errorf("field owner of message cosmos.staking.v1beta1.TokenizeShareRecord is not mutable")) + case "cosmos.staking.v1beta1.TokenizeShareRecord.module_account": + panic(fmt.Errorf("field module_account of message cosmos.staking.v1beta1.TokenizeShareRecord is not mutable")) + case "cosmos.staking.v1beta1.TokenizeShareRecord.validator": + panic(fmt.Errorf("field validator of message cosmos.staking.v1beta1.TokenizeShareRecord is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.TokenizeShareRecord")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.TokenizeShareRecord does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_TokenizeShareRecord) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.TokenizeShareRecord.id": + return protoreflect.ValueOfUint64(uint64(0)) + case "cosmos.staking.v1beta1.TokenizeShareRecord.owner": + return protoreflect.ValueOfString("") + case "cosmos.staking.v1beta1.TokenizeShareRecord.module_account": + return protoreflect.ValueOfString("") + case "cosmos.staking.v1beta1.TokenizeShareRecord.validator": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.TokenizeShareRecord")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.TokenizeShareRecord does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_TokenizeShareRecord) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cosmos.staking.v1beta1.TokenizeShareRecord", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_TokenizeShareRecord) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_TokenizeShareRecord) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_TokenizeShareRecord) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_TokenizeShareRecord) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*TokenizeShareRecord) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.Id != 0 { + n += 1 + runtime.Sov(uint64(x.Id)) + } + l = len(x.Owner) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.ModuleAccount) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Validator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*TokenizeShareRecord) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Validator) > 0 { + i -= len(x.Validator) + copy(dAtA[i:], x.Validator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Validator))) + i-- + dAtA[i] = 0x22 + } + if len(x.ModuleAccount) > 0 { + i -= len(x.ModuleAccount) + copy(dAtA[i:], x.ModuleAccount) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ModuleAccount))) + i-- + dAtA[i] = 0x1a + } + if len(x.Owner) > 0 { + i -= len(x.Owner) + copy(dAtA[i:], x.Owner) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Owner))) + i-- + dAtA[i] = 0x12 + } + if x.Id != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.Id)) + i-- + dAtA[i] = 0x8 + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*TokenizeShareRecord) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, 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 protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: TokenizeShareRecord: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: TokenizeShareRecord: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) + } + x.Id = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.Id |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Owner", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Owner = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ModuleAccount", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.ModuleAccount = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Validator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Validator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var _ protoreflect.List = (*_PendingTokenizeShareAuthorizations_1_list)(nil) + +type _PendingTokenizeShareAuthorizations_1_list struct { + list *[]string +} + +func (x *_PendingTokenizeShareAuthorizations_1_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_PendingTokenizeShareAuthorizations_1_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfString((*x.list)[i]) +} + +func (x *_PendingTokenizeShareAuthorizations_1_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.String() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue +} + +func (x *_PendingTokenizeShareAuthorizations_1_list) Append(value protoreflect.Value) { + valueUnwrapped := value.String() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) +} + +func (x *_PendingTokenizeShareAuthorizations_1_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message PendingTokenizeShareAuthorizations at list field Addresses as it is not of Message kind")) +} + +func (x *_PendingTokenizeShareAuthorizations_1_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_PendingTokenizeShareAuthorizations_1_list) NewElement() protoreflect.Value { + v := "" + return protoreflect.ValueOfString(v) +} + +func (x *_PendingTokenizeShareAuthorizations_1_list) IsValid() bool { + return x.list != nil +} + +var ( + md_PendingTokenizeShareAuthorizations protoreflect.MessageDescriptor + fd_PendingTokenizeShareAuthorizations_addresses protoreflect.FieldDescriptor +) + +func init() { + file_cosmos_staking_v1beta1_staking_proto_init() + md_PendingTokenizeShareAuthorizations = File_cosmos_staking_v1beta1_staking_proto.Messages().ByName("PendingTokenizeShareAuthorizations") + fd_PendingTokenizeShareAuthorizations_addresses = md_PendingTokenizeShareAuthorizations.Fields().ByName("addresses") +} + +var _ protoreflect.Message = (*fastReflection_PendingTokenizeShareAuthorizations)(nil) + +type fastReflection_PendingTokenizeShareAuthorizations PendingTokenizeShareAuthorizations + +func (x *PendingTokenizeShareAuthorizations) ProtoReflect() protoreflect.Message { + return (*fastReflection_PendingTokenizeShareAuthorizations)(x) +} + +func (x *PendingTokenizeShareAuthorizations) slowProtoReflect() protoreflect.Message { + mi := &file_cosmos_staking_v1beta1_staking_proto_msgTypes[22] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_PendingTokenizeShareAuthorizations_messageType fastReflection_PendingTokenizeShareAuthorizations_messageType +var _ protoreflect.MessageType = fastReflection_PendingTokenizeShareAuthorizations_messageType{} + +type fastReflection_PendingTokenizeShareAuthorizations_messageType struct{} + +func (x fastReflection_PendingTokenizeShareAuthorizations_messageType) Zero() protoreflect.Message { + return (*fastReflection_PendingTokenizeShareAuthorizations)(nil) +} +func (x fastReflection_PendingTokenizeShareAuthorizations_messageType) New() protoreflect.Message { + return new(fastReflection_PendingTokenizeShareAuthorizations) +} +func (x fastReflection_PendingTokenizeShareAuthorizations_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_PendingTokenizeShareAuthorizations +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_PendingTokenizeShareAuthorizations) Descriptor() protoreflect.MessageDescriptor { + return md_PendingTokenizeShareAuthorizations +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_PendingTokenizeShareAuthorizations) Type() protoreflect.MessageType { + return _fastReflection_PendingTokenizeShareAuthorizations_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_PendingTokenizeShareAuthorizations) New() protoreflect.Message { + return new(fastReflection_PendingTokenizeShareAuthorizations) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_PendingTokenizeShareAuthorizations) Interface() protoreflect.ProtoMessage { + return (*PendingTokenizeShareAuthorizations)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_PendingTokenizeShareAuthorizations) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if len(x.Addresses) != 0 { + value := protoreflect.ValueOfList(&_PendingTokenizeShareAuthorizations_1_list{list: &x.Addresses}) + if !f(fd_PendingTokenizeShareAuthorizations_addresses, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_PendingTokenizeShareAuthorizations) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cosmos.staking.v1beta1.PendingTokenizeShareAuthorizations.addresses": + return len(x.Addresses) != 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.PendingTokenizeShareAuthorizations")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.PendingTokenizeShareAuthorizations does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_PendingTokenizeShareAuthorizations) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.PendingTokenizeShareAuthorizations.addresses": + x.Addresses = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.PendingTokenizeShareAuthorizations")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.PendingTokenizeShareAuthorizations does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_PendingTokenizeShareAuthorizations) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cosmos.staking.v1beta1.PendingTokenizeShareAuthorizations.addresses": + if len(x.Addresses) == 0 { + return protoreflect.ValueOfList(&_PendingTokenizeShareAuthorizations_1_list{}) + } + listValue := &_PendingTokenizeShareAuthorizations_1_list{list: &x.Addresses} + return protoreflect.ValueOfList(listValue) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.PendingTokenizeShareAuthorizations")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.PendingTokenizeShareAuthorizations does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_PendingTokenizeShareAuthorizations) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.PendingTokenizeShareAuthorizations.addresses": + lv := value.List() + clv := lv.(*_PendingTokenizeShareAuthorizations_1_list) + x.Addresses = *clv.list + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.PendingTokenizeShareAuthorizations")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.PendingTokenizeShareAuthorizations does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_PendingTokenizeShareAuthorizations) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.PendingTokenizeShareAuthorizations.addresses": + if x.Addresses == nil { + x.Addresses = []string{} + } + value := &_PendingTokenizeShareAuthorizations_1_list{list: &x.Addresses} + return protoreflect.ValueOfList(value) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.PendingTokenizeShareAuthorizations")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.PendingTokenizeShareAuthorizations does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_PendingTokenizeShareAuthorizations) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.PendingTokenizeShareAuthorizations.addresses": + list := []string{} + return protoreflect.ValueOfList(&_PendingTokenizeShareAuthorizations_1_list{list: &list}) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.PendingTokenizeShareAuthorizations")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.PendingTokenizeShareAuthorizations does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_PendingTokenizeShareAuthorizations) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cosmos.staking.v1beta1.PendingTokenizeShareAuthorizations", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_PendingTokenizeShareAuthorizations) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_PendingTokenizeShareAuthorizations) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_PendingTokenizeShareAuthorizations) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_PendingTokenizeShareAuthorizations) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*PendingTokenizeShareAuthorizations) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if len(x.Addresses) > 0 { + for _, s := range x.Addresses { + l = len(s) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*PendingTokenizeShareAuthorizations) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Addresses) > 0 { + for iNdEx := len(x.Addresses) - 1; iNdEx >= 0; iNdEx-- { + i -= len(x.Addresses[iNdEx]) + copy(dAtA[i:], x.Addresses[iNdEx]) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Addresses[iNdEx]))) + i-- + dAtA[i] = 0xa + } + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*PendingTokenizeShareAuthorizations) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, 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 protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: PendingTokenizeShareAuthorizations: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: PendingTokenizeShareAuthorizations: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Addresses", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Addresses = append(x.Addresses, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.0 +// protoc (unknown) +// source: cosmos/staking/v1beta1/staking.proto + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// BondStatus is the status of a validator. +type BondStatus int32 + +const ( + // UNSPECIFIED defines an invalid validator status. + BondStatus_BOND_STATUS_UNSPECIFIED BondStatus = 0 + // UNBONDED defines a validator that is not bonded. + BondStatus_BOND_STATUS_UNBONDED BondStatus = 1 + // UNBONDING defines a validator that is unbonding. BondStatus_BOND_STATUS_UNBONDING BondStatus = 2 // BONDED defines a validator that is bonded. BondStatus_BOND_STATUS_BONDED BondStatus = 3 @@ -12802,6 +14252,65 @@ func (Infraction) EnumDescriptor() ([]byte, []int) { return file_cosmos_staking_v1beta1_staking_proto_rawDescGZIP(), []int{1} } +// TokenizeShareLockStatus represents status of an account's tokenize share lock. +// +// Since: cosmos-sdk 0.47-lsm +type TokenizeShareLockStatus int32 + +const ( + // An empty value is not allowed. + TokenizeShareLockStatus_TOKENIZE_SHARE_LOCK_STATUS_UNSPECIFIED TokenizeShareLockStatus = 0 + // Status means cannot tokenize shares. + TokenizeShareLockStatus_TOKENIZE_SHARE_LOCK_STATUS_LOCKED TokenizeShareLockStatus = 1 + // Status means cannot tokenize shares. + TokenizeShareLockStatus_TOKENIZE_SHARE_LOCK_STATUS_UNLOCKED TokenizeShareLockStatus = 2 + // Status when lock is queued for unlocking. + TokenizeShareLockStatus_TOKENIZE_SHARE_LOCK_STATUS_LOCK_EXPIRING TokenizeShareLockStatus = 3 +) + +// Enum value maps for TokenizeShareLockStatus. +var ( + TokenizeShareLockStatus_name = map[int32]string{ + 0: "TOKENIZE_SHARE_LOCK_STATUS_UNSPECIFIED", + 1: "TOKENIZE_SHARE_LOCK_STATUS_LOCKED", + 2: "TOKENIZE_SHARE_LOCK_STATUS_UNLOCKED", + 3: "TOKENIZE_SHARE_LOCK_STATUS_LOCK_EXPIRING", + } + TokenizeShareLockStatus_value = map[string]int32{ + "TOKENIZE_SHARE_LOCK_STATUS_UNSPECIFIED": 0, + "TOKENIZE_SHARE_LOCK_STATUS_LOCKED": 1, + "TOKENIZE_SHARE_LOCK_STATUS_UNLOCKED": 2, + "TOKENIZE_SHARE_LOCK_STATUS_LOCK_EXPIRING": 3, + } +) + +func (x TokenizeShareLockStatus) Enum() *TokenizeShareLockStatus { + p := new(TokenizeShareLockStatus) + *p = x + return p +} + +func (x TokenizeShareLockStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (TokenizeShareLockStatus) Descriptor() protoreflect.EnumDescriptor { + return file_cosmos_staking_v1beta1_staking_proto_enumTypes[2].Descriptor() +} + +func (TokenizeShareLockStatus) Type() protoreflect.EnumType { + return &file_cosmos_staking_v1beta1_staking_proto_enumTypes[2] +} + +func (x TokenizeShareLockStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use TokenizeShareLockStatus.Descriptor instead. +func (TokenizeShareLockStatus) EnumDescriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_staking_proto_rawDescGZIP(), []int{2} +} + // HistoricalInfo contains header and validator information for a given block. // It is stored as part of staking module's state, which persists the `n` most // recent HistoricalInfo @@ -13065,6 +14574,14 @@ type Validator struct { UnbondingOnHoldRefCount int64 `protobuf:"varint,12,opt,name=unbonding_on_hold_ref_count,json=unbondingOnHoldRefCount,proto3" json:"unbonding_on_hold_ref_count,omitempty"` // list of unbonding ids, each uniquely identifing an unbonding of this validator UnbondingIds []uint64 `protobuf:"varint,13,rep,packed,name=unbonding_ids,json=unbondingIds,proto3" json:"unbonding_ids,omitempty"` + // validator_bond_shares is the number of shares self bonded from the validator. + // + // Since: cosmos-sdk 0.47-lsm + ValidatorBondShares string `protobuf:"bytes,14,opt,name=validator_bond_shares,json=validatorBondShares,proto3" json:"validator_bond_shares,omitempty"` + // liquid_shares is the number of shares either tokenized or owned by a liquid staking provider. + // + // Since: cosmos-sdk 0.47-lsm + LiquidShares string `protobuf:"bytes,15,opt,name=liquid_shares,json=liquidShares,proto3" json:"liquid_shares,omitempty"` } func (x *Validator) Reset() { @@ -13178,6 +14695,20 @@ func (x *Validator) GetUnbondingIds() []uint64 { return nil } +func (x *Validator) GetValidatorBondShares() string { + if x != nil { + return x.ValidatorBondShares + } + return "" +} + +func (x *Validator) GetLiquidShares() string { + if x != nil { + return x.LiquidShares + } + return "" +} + // ValAddresses defines a repeated set of validator addresses. type ValAddresses struct { state protoimpl.MessageState @@ -13401,6 +14932,10 @@ type Delegation struct { ValidatorAddress string `protobuf:"bytes,2,opt,name=validator_address,json=validatorAddress,proto3" json:"validator_address,omitempty"` // shares define the delegation shares received. Shares string `protobuf:"bytes,3,opt,name=shares,proto3" json:"shares,omitempty"` + // has this delegation been marked as a validator self bond. + // + // Since: cosmos-sdk 0.47-lsm + ValidatorBond bool `protobuf:"varint,4,opt,name=validator_bond,json=validatorBond,proto3" json:"validator_bond,omitempty"` } func (x *Delegation) Reset() { @@ -13444,6 +14979,13 @@ func (x *Delegation) GetShares() string { return "" } +func (x *Delegation) GetValidatorBond() bool { + if x != nil { + return x.ValidatorBond + } + return false +} + // UnbondingDelegation stores all of a single delegator's unbonding bonds // for a single validator in an time-ordered list. type UnbondingDelegation struct { @@ -13747,6 +15289,15 @@ type Params struct { BondDenom string `protobuf:"bytes,5,opt,name=bond_denom,json=bondDenom,proto3" json:"bond_denom,omitempty"` // min_commission_rate is the chain-wide minimum commission rate that a validator can charge their delegators MinCommissionRate string `protobuf:"bytes,6,opt,name=min_commission_rate,json=minCommissionRate,proto3" json:"min_commission_rate,omitempty"` + // validator_bond_factor is required as a safety check for tokenizing shares and + // delegations from liquid staking providers + ValidatorBondFactor string `protobuf:"bytes,7,opt,name=validator_bond_factor,json=validatorBondFactor,proto3" json:"validator_bond_factor,omitempty"` + // global_liquid_staking_cap represents a cap on the portion of stake that + // comes from liquid staking providers + GlobalLiquidStakingCap string `protobuf:"bytes,8,opt,name=global_liquid_staking_cap,json=globalLiquidStakingCap,proto3" json:"global_liquid_staking_cap,omitempty"` + // validator_liquid_staking_cap represents a cap on the portion of stake that + // comes from liquid staking providers for a specific validator + ValidatorLiquidStakingCap string `protobuf:"bytes,9,opt,name=validator_liquid_staking_cap,json=validatorLiquidStakingCap,proto3" json:"validator_liquid_staking_cap,omitempty"` } func (x *Params) Reset() { @@ -13811,6 +15362,27 @@ func (x *Params) GetMinCommissionRate() string { return "" } +func (x *Params) GetValidatorBondFactor() string { + if x != nil { + return x.ValidatorBondFactor + } + return "" +} + +func (x *Params) GetGlobalLiquidStakingCap() string { + if x != nil { + return x.GlobalLiquidStakingCap + } + return "" +} + +func (x *Params) GetValidatorLiquidStakingCap() string { + if x != nil { + return x.ValidatorLiquidStakingCap + } + return "" +} + // DelegationResponse is equivalent to Delegation except that it contains a // balance in addition to shares which is more suitable for client responses. type DelegationResponse struct { @@ -14030,6 +15602,107 @@ func (x *ValidatorUpdates) GetUpdates() []*abci.ValidatorUpdate { return nil } +// TokenizeShareRecord represents a tokenized delegation. +// +// Since: cosmos-sdk 0.47-lsm +type TokenizeShareRecord struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Owner string `protobuf:"bytes,2,opt,name=owner,proto3" json:"owner,omitempty"` + ModuleAccount string `protobuf:"bytes,3,opt,name=module_account,json=moduleAccount,proto3" json:"module_account,omitempty"` // module account take the role of delegator + Validator string `protobuf:"bytes,4,opt,name=validator,proto3" json:"validator,omitempty"` // validator delegated to for tokenize share record creation +} + +func (x *TokenizeShareRecord) Reset() { + *x = TokenizeShareRecord{} + if protoimpl.UnsafeEnabled { + mi := &file_cosmos_staking_v1beta1_staking_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TokenizeShareRecord) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TokenizeShareRecord) ProtoMessage() {} + +// Deprecated: Use TokenizeShareRecord.ProtoReflect.Descriptor instead. +func (*TokenizeShareRecord) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_staking_proto_rawDescGZIP(), []int{21} +} + +func (x *TokenizeShareRecord) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *TokenizeShareRecord) GetOwner() string { + if x != nil { + return x.Owner + } + return "" +} + +func (x *TokenizeShareRecord) GetModuleAccount() string { + if x != nil { + return x.ModuleAccount + } + return "" +} + +func (x *TokenizeShareRecord) GetValidator() string { + if x != nil { + return x.Validator + } + return "" +} + +// PendingTokenizeShareAuthorizations stores a list of addresses that have their +// tokenize share enablement in progress. +// +// Since: cosmos-sdk 0.47-lsm +type PendingTokenizeShareAuthorizations struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Addresses []string `protobuf:"bytes,1,rep,name=addresses,proto3" json:"addresses,omitempty"` +} + +func (x *PendingTokenizeShareAuthorizations) Reset() { + *x = PendingTokenizeShareAuthorizations{} + if protoimpl.UnsafeEnabled { + mi := &file_cosmos_staking_v1beta1_staking_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PendingTokenizeShareAuthorizations) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PendingTokenizeShareAuthorizations) ProtoMessage() {} + +// Deprecated: Use PendingTokenizeShareAuthorizations.ProtoReflect.Descriptor instead. +func (*PendingTokenizeShareAuthorizations) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_staking_proto_rawDescGZIP(), []int{22} +} + +func (x *PendingTokenizeShareAuthorizations) GetAddresses() []string { + if x != nil { + return x.Addresses + } + return nil +} + var File_cosmos_staking_v1beta1_staking_proto protoreflect.FileDescriptor var file_cosmos_staking_v1beta1_staking_proto_rawDesc = []byte{ @@ -14102,7 +15775,7 @@ var file_cosmos_staking_v1beta1_staking_proto_rawDesc = []byte{ 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x73, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x01, 0x22, 0x8a, 0x07, 0x0a, 0x09, 0x56, 0x61, 0x6c, 0x69, + 0x73, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x01, 0x22, 0xdf, 0x08, 0x0a, 0x09, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x43, 0x0a, 0x10, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, @@ -14158,136 +15831,42 @@ var file_cosmos_staking_v1beta1_staking_proto_rawDesc = []byte{ 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x6e, 0x48, 0x6f, 0x6c, 0x64, 0x52, 0x65, 0x66, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0c, 0x75, 0x6e, - 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x73, 0x3a, 0x08, 0x88, 0xa0, 0x1f, 0x00, - 0xe8, 0xa0, 0x1f, 0x00, 0x22, 0x46, 0x0a, 0x0c, 0x56, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, + 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x73, 0x12, 0x70, 0x0a, 0x15, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x62, 0x6f, 0x6e, 0x64, 0x5f, 0x73, 0x68, 0x61, + 0x72, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3c, 0xc8, 0xde, 0x1f, 0x00, 0xda, + 0xde, 0x1f, 0x26, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, + 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x44, 0x65, 0x63, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x13, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x6f, 0x72, 0x42, 0x6f, 0x6e, 0x64, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x12, 0x61, 0x0a, 0x0d, + 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x18, 0x0f, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x3c, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x26, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, + 0x44, 0x65, 0x63, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, + 0x63, 0x52, 0x0c, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x3a, + 0x08, 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x22, 0x46, 0x0a, 0x0c, 0x56, 0x61, 0x6c, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x09, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, + 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, + 0x73, 0x22, 0xa9, 0x01, 0x0a, 0x06, 0x44, 0x56, 0x50, 0x61, 0x69, 0x72, 0x12, 0x45, 0x0a, 0x11, + 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x52, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x22, 0xa9, 0x01, 0x0a, - 0x06, 0x44, 0x56, 0x50, 0x61, 0x69, 0x72, 0x12, 0x45, 0x0a, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x67, - 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x10, 0x64, 0x65, - 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x4e, - 0x0a, 0x11, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x21, 0xd2, 0xb4, 0x2d, 0x1d, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x10, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x3a, 0x08, - 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x22, 0x4a, 0x0a, 0x07, 0x44, 0x56, 0x50, 0x61, - 0x69, 0x72, 0x73, 0x12, 0x3f, 0x0a, 0x05, 0x70, 0x61, 0x69, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, - 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x56, 0x50, 0x61, - 0x69, 0x72, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x05, 0x70, - 0x61, 0x69, 0x72, 0x73, 0x22, 0x8b, 0x02, 0x0a, 0x0a, 0x44, 0x56, 0x56, 0x54, 0x72, 0x69, 0x70, - 0x6c, 0x65, 0x74, 0x12, 0x45, 0x0a, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, - 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, - 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x10, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, - 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x55, 0x0a, 0x15, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x72, 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x21, 0xd2, 0xb4, 0x2d, 0x1d, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x13, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x72, 0x63, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x12, 0x55, 0x0a, 0x15, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x64, - 0x73, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x21, 0xd2, 0xb4, 0x2d, 0x1d, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x56, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x52, 0x13, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x44, 0x73, - 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x3a, 0x08, 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, - 0x1f, 0x00, 0x22, 0x58, 0x0a, 0x0b, 0x44, 0x56, 0x56, 0x54, 0x72, 0x69, 0x70, 0x6c, 0x65, 0x74, - 0x73, 0x12, 0x49, 0x0a, 0x08, 0x74, 0x72, 0x69, 0x70, 0x6c, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, - 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x56, 0x56, - 0x54, 0x72, 0x69, 0x70, 0x6c, 0x65, 0x74, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, - 0x2a, 0x01, 0x52, 0x08, 0x74, 0x72, 0x69, 0x70, 0x6c, 0x65, 0x74, 0x73, 0x22, 0xf8, 0x01, 0x0a, - 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x0a, 0x11, 0x64, - 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x52, 0x10, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x12, 0x4e, 0x0a, 0x11, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x21, 0xd2, - 0xb4, 0x2d, 0x1d, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x52, 0x10, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x12, 0x49, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x31, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x1b, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x4c, 0x65, - 0x67, 0x61, 0x63, 0x79, 0x44, 0x65, 0x63, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x3a, 0x08, 0x88, - 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x22, 0x8d, 0x02, 0x0a, 0x13, 0x55, 0x6e, 0x62, 0x6f, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x45, 0x0a, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x52, 0x10, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x4e, 0x0a, 0x11, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x21, 0xd2, 0xb4, 0x2d, 0x1d, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x56, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x52, 0x10, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x55, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, - 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x67, 0x52, 0x10, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x12, 0x4e, 0x0a, 0x11, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, + 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x21, + 0xd2, 0xb4, 0x2d, 0x1d, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x52, 0x10, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x3a, 0x08, 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x22, 0x4a, 0x0a, + 0x07, 0x44, 0x56, 0x50, 0x61, 0x69, 0x72, 0x73, 0x12, 0x3f, 0x0a, 0x05, 0x70, 0x61, 0x69, 0x72, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, - 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x3a, 0x08, 0x88, - 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x22, 0x9b, 0x03, 0x0a, 0x18, 0x55, 0x6e, 0x62, 0x6f, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x52, 0x0a, - 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x42, 0x0d, 0xc8, 0xde, 0x1f, 0x00, 0x90, 0xdf, 0x1f, 0x01, 0xa8, 0xe7, 0xb0, 0x2a, - 0x01, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, - 0x65, 0x12, 0x54, 0x0a, 0x0f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x62, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xc8, 0xde, 0x1f, 0x00, - 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, - 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x49, 0x6e, 0x74, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0x52, 0x0e, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, - 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x45, 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, - 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, - 0x1f, 0x15, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, - 0x61, 0x74, 0x68, 0x2e, 0x49, 0x6e, 0x74, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x2e, 0x49, 0x6e, 0x74, 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x21, - 0x0a, 0x0c, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x49, - 0x64, 0x12, 0x3c, 0x0a, 0x1b, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6f, - 0x6e, 0x5f, 0x68, 0x6f, 0x6c, 0x64, 0x5f, 0x72, 0x65, 0x66, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x17, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, - 0x67, 0x4f, 0x6e, 0x48, 0x6f, 0x6c, 0x64, 0x52, 0x65, 0x66, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x3a, - 0x04, 0xe8, 0xa0, 0x1f, 0x01, 0x22, 0x9f, 0x03, 0x0a, 0x11, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, - 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, - 0x69, 0x67, 0x68, 0x74, 0x12, 0x52, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0d, 0xc8, 0xde, 0x1f, 0x00, 0x90, - 0xdf, 0x1f, 0x01, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, - 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x54, 0x0a, 0x0f, 0x69, 0x6e, 0x69, 0x74, - 0x69, 0x61, 0x6c, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x2b, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x49, 0x6e, 0x74, - 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0x52, 0x0e, - 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x50, - 0x0a, 0x0a, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x5f, 0x64, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x31, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x1b, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x4c, 0x65, - 0x67, 0x61, 0x63, 0x79, 0x44, 0x65, 0x63, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x09, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x44, 0x73, 0x74, - 0x12, 0x21, 0x0a, 0x0c, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, - 0x67, 0x49, 0x64, 0x12, 0x3c, 0x0a, 0x1b, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, - 0x5f, 0x6f, 0x6e, 0x5f, 0x68, 0x6f, 0x6c, 0x64, 0x5f, 0x72, 0x65, 0x66, 0x5f, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x17, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x4f, 0x6e, 0x48, 0x6f, 0x6c, 0x64, 0x52, 0x65, 0x66, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x01, 0x22, 0xdd, 0x02, 0x0a, 0x0c, 0x52, 0x65, 0x64, 0x65, - 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x0a, 0x11, 0x64, 0x65, 0x6c, 0x65, + 0x2e, 0x44, 0x56, 0x50, 0x61, 0x69, 0x72, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, + 0x2a, 0x01, 0x52, 0x05, 0x70, 0x61, 0x69, 0x72, 0x73, 0x22, 0x8b, 0x02, 0x0a, 0x0a, 0x44, 0x56, + 0x56, 0x54, 0x72, 0x69, 0x70, 0x6c, 0x65, 0x74, 0x12, 0x45, 0x0a, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x10, 0x64, @@ -14302,128 +15881,302 @@ var file_cosmos_staking_v1beta1_staking_proto_rawDesc = []byte{ 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x21, 0xd2, 0xb4, 0x2d, 0x1d, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x13, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x6f, 0x72, 0x44, 0x73, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x4e, 0x0a, - 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, - 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, - 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x3a, 0x08, 0x88, - 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x22, 0x9c, 0x03, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x12, 0x4f, 0x0a, 0x0e, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0d, 0xc8, 0xde, 0x1f, 0x00, 0x98, 0xdf, 0x1f, 0x01, 0xa8, - 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0d, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, - 0x69, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6d, 0x61, 0x78, - 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, - 0x78, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0a, 0x6d, 0x61, 0x78, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x68, - 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, - 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, - 0x63, 0x61, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x6f, - 0x6e, 0x64, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x62, 0x6f, 0x6e, 0x64, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x84, 0x01, 0x0a, 0x13, 0x6d, 0x69, - 0x6e, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x61, 0x74, - 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x54, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, + 0x74, 0x6f, 0x72, 0x44, 0x73, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x3a, 0x08, 0x88, + 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x22, 0x58, 0x0a, 0x0b, 0x44, 0x56, 0x56, 0x54, 0x72, + 0x69, 0x70, 0x6c, 0x65, 0x74, 0x73, 0x12, 0x49, 0x0a, 0x08, 0x74, 0x72, 0x69, 0x70, 0x6c, 0x65, + 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x44, 0x56, 0x56, 0x54, 0x72, 0x69, 0x70, 0x6c, 0x65, 0x74, 0x42, 0x09, 0xc8, 0xde, + 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x08, 0x74, 0x72, 0x69, 0x70, 0x6c, 0x65, 0x74, + 0x73, 0x22, 0x9f, 0x02, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x45, 0x0a, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, + 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x10, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x4e, 0x0a, 0x11, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x21, 0xd2, 0xb4, 0x2d, 0x1d, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x56, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x10, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x49, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x65, + 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x1b, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, - 0x74, 0x68, 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x44, 0x65, 0x63, 0xf2, 0xde, 0x1f, 0x1a, - 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x22, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, 0x63, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x11, 0x6d, - 0x69, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x74, 0x65, - 0x3a, 0x24, 0xe8, 0xa0, 0x1f, 0x01, 0x8a, 0xe7, 0xb0, 0x2a, 0x1b, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x78, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, - 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0xa9, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x67, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, - 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, - 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, - 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x07, - 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, - 0xb0, 0x2a, 0x01, 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x04, 0xe8, 0xa0, - 0x1f, 0x00, 0x22, 0xcd, 0x01, 0x0a, 0x19, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x63, 0x0a, 0x12, 0x72, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, - 0x2a, 0x01, 0x52, 0x11, 0x72, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x45, 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, + 0x74, 0x68, 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x44, 0x65, 0x63, 0xd2, 0xb4, 0x2d, 0x0a, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, + 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, + 0x62, 0x6f, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x6f, 0x72, 0x42, 0x6f, 0x6e, 0x64, 0x3a, 0x08, 0x88, 0xa0, 0x1f, 0x00, 0xe8, + 0xa0, 0x1f, 0x00, 0x22, 0x8d, 0x02, 0x0a, 0x13, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x0a, 0x11, 0x64, + 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x52, 0x10, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x12, 0x4e, 0x0a, 0x11, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x21, 0xd2, + 0xb4, 0x2d, 0x1d, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x52, 0x10, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x12, 0x55, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, + 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x6e, 0x62, + 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, + 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x3a, 0x08, 0x88, 0xa0, 0x1f, 0x00, 0xe8, + 0xa0, 0x1f, 0x00, 0x22, 0x9b, 0x03, 0x0a, 0x18, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x65, 0x69, + 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x52, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, + 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0d, + 0xc8, 0xde, 0x1f, 0x00, 0x90, 0xdf, 0x1f, 0x01, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0e, 0x63, + 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x54, 0x0a, + 0x0f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x49, 0x6e, 0x74, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, - 0x49, 0x6e, 0x74, 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x04, 0xe8, 0xa0, - 0x1f, 0x01, 0x22, 0xc9, 0x01, 0x0a, 0x14, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x0c, 0x72, - 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, - 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6c, - 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, - 0x2a, 0x01, 0x52, 0x0c, 0x72, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x56, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x31, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, - 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6c, - 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, - 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x00, 0x22, 0xeb, - 0x01, 0x0a, 0x04, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x71, 0x0a, 0x11, 0x6e, 0x6f, 0x74, 0x5f, 0x62, - 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x45, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x49, 0x6e, - 0x74, 0xea, 0xde, 0x1f, 0x11, 0x6e, 0x6f, 0x74, 0x5f, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x5f, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x2e, 0x49, 0x6e, 0x74, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0f, 0x6e, 0x6f, 0x74, 0x42, 0x6f, - 0x6e, 0x64, 0x65, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x66, 0x0a, 0x0d, 0x62, 0x6f, - 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x41, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x49, 0x6e, 0x74, - 0xea, 0xde, 0x1f, 0x0d, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x73, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xa8, - 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0c, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x73, 0x3a, 0x08, 0xe8, 0xa0, 0x1f, 0x01, 0xf0, 0xa0, 0x1f, 0x01, 0x22, 0x59, 0x0a, 0x10, - 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, - 0x12, 0x45, 0x0a, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x20, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x61, - 0x62, 0x63, 0x69, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x07, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x2a, 0xb6, 0x01, 0x0a, 0x0a, 0x42, 0x6f, 0x6e, 0x64, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2c, 0x0a, 0x17, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, - 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x10, 0x00, 0x1a, 0x0f, 0x8a, 0x9d, 0x20, 0x0b, 0x55, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, - 0x66, 0x69, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x14, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x42, 0x4f, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x01, 0x1a, 0x0c, - 0x8a, 0x9d, 0x20, 0x08, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x15, - 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x42, 0x4f, - 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x1a, 0x0d, 0x8a, 0x9d, 0x20, 0x09, 0x55, 0x6e, 0x62, - 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x22, 0x0a, 0x12, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, - 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x42, 0x4f, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x03, 0x1a, 0x0a, - 0x8a, 0x9d, 0x20, 0x06, 0x42, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x1a, 0x04, 0x88, 0xa3, 0x1e, 0x00, - 0x2a, 0x5d, 0x0a, 0x0a, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, - 0x0a, 0x16, 0x49, 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x49, 0x4e, - 0x46, 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x4f, 0x55, 0x42, 0x4c, 0x45, 0x5f, - 0x53, 0x49, 0x47, 0x4e, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x49, 0x4e, 0x46, 0x52, 0x41, 0x43, - 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x02, 0x42, - 0xdc, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, - 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0c, - 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, - 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x53, 0x58, 0xaa, 0x02, 0x16, 0x43, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, - 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, - 0x22, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, - 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0xea, 0x02, 0x18, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x53, 0x74, - 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x49, 0x6e, 0x74, 0x52, 0x0e, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x42, 0x61, 0x6c, 0x61, + 0x6e, 0x63, 0x65, 0x12, 0x45, 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, + 0x49, 0x6e, 0x74, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, + 0x74, 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x75, 0x6e, + 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x0b, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x12, 0x3c, 0x0a, + 0x1b, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6e, 0x5f, 0x68, 0x6f, + 0x6c, 0x64, 0x5f, 0x72, 0x65, 0x66, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x17, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x6e, 0x48, + 0x6f, 0x6c, 0x64, 0x52, 0x65, 0x66, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, + 0x01, 0x22, 0x9f, 0x03, 0x0a, 0x11, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, + 0x12, 0x52, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0d, 0xc8, 0xde, 0x1f, 0x00, 0x90, 0xdf, 0x1f, 0x01, 0xa8, + 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x54, 0x0a, 0x0f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, + 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xc8, + 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, + 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x49, 0x6e, 0x74, 0xd2, 0xb4, 0x2d, 0x0a, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0x52, 0x0e, 0x69, 0x6e, 0x69, 0x74, + 0x69, 0x61, 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x50, 0x0a, 0x0a, 0x73, 0x68, + 0x61, 0x72, 0x65, 0x73, 0x5f, 0x64, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, + 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x1b, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, + 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, + 0x44, 0x65, 0x63, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, + 0x63, 0x52, 0x09, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x44, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, + 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x0b, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x12, + 0x3c, 0x0a, 0x1b, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6e, 0x5f, + 0x68, 0x6f, 0x6c, 0x64, 0x5f, 0x72, 0x65, 0x66, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x17, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4f, + 0x6e, 0x48, 0x6f, 0x6c, 0x64, 0x52, 0x65, 0x66, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x04, 0xe8, + 0xa0, 0x1f, 0x01, 0x22, 0xdd, 0x02, 0x0a, 0x0c, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x0a, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, + 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x10, 0x64, 0x65, 0x6c, 0x65, 0x67, + 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x55, 0x0a, 0x15, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x72, 0x63, 0x5f, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x21, 0xd2, 0xb4, 0x2d, 0x1d, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x13, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x72, 0x63, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x12, 0x55, 0x0a, 0x15, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, + 0x64, 0x73, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x21, 0xd2, 0xb4, 0x2d, 0x1d, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x56, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x52, 0x13, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x44, + 0x73, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x4e, 0x0a, 0x07, 0x65, 0x6e, 0x74, + 0x72, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, + 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x3a, 0x08, 0x88, 0xa0, 0x1f, 0x00, 0xe8, + 0xa0, 0x1f, 0x00, 0x22, 0xca, 0x06, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x4f, + 0x0a, 0x0e, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x42, 0x0d, 0xc8, 0xde, 0x1f, 0x00, 0x98, 0xdf, 0x1f, 0x01, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, + 0x52, 0x0d, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x25, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x56, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x65, 0x6e, + 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x61, 0x78, + 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x68, 0x69, 0x73, 0x74, 0x6f, + 0x72, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x11, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x45, + 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x6f, 0x6e, 0x64, 0x5f, 0x64, + 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x6f, 0x6e, 0x64, + 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x84, 0x01, 0x0a, 0x13, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6f, + 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x54, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x1b, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x4c, + 0x65, 0x67, 0x61, 0x63, 0x79, 0x44, 0x65, 0x63, 0xf2, 0xde, 0x1f, 0x1a, 0x79, 0x61, 0x6d, 0x6c, + 0x3a, 0x22, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x5f, 0x72, 0x61, 0x74, 0x65, 0x22, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2e, 0x44, 0x65, 0x63, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x11, 0x6d, 0x69, 0x6e, 0x43, 0x6f, + 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x12, 0x82, 0x01, 0x0a, + 0x15, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x62, 0x6f, 0x6e, 0x64, 0x5f, + 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x4e, 0xc8, 0xde, + 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x26, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, + 0x64, 0x6b, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x44, 0x65, 0x63, 0xf2, 0xde, 0x1f, 0x1c, + 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, + 0x62, 0x6f, 0x6e, 0x64, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x22, 0x52, 0x13, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x42, 0x6f, 0x6e, 0x64, 0x46, 0x61, 0x63, 0x74, 0x6f, + 0x72, 0x12, 0x8d, 0x01, 0x0a, 0x19, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x71, + 0x75, 0x69, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x61, 0x70, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x52, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x26, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x74, 0x79, 0x70, 0x65, + 0x73, 0x2e, 0x44, 0x65, 0x63, 0xf2, 0xde, 0x1f, 0x20, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x67, + 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x5f, 0x73, 0x74, 0x61, + 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x61, 0x70, 0x22, 0x52, 0x16, 0x67, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x61, + 0x70, 0x12, 0x96, 0x01, 0x0a, 0x1c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, + 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x63, + 0x61, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x55, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, + 0x1f, 0x26, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x74, + 0x79, 0x70, 0x65, 0x73, 0x2e, 0x44, 0x65, 0x63, 0xf2, 0xde, 0x1f, 0x23, 0x79, 0x61, 0x6d, 0x6c, + 0x3a, 0x22, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x6c, 0x69, 0x71, 0x75, + 0x69, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x61, 0x70, 0x22, 0x52, + 0x19, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, + 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x61, 0x70, 0x3a, 0x24, 0xe8, 0xa0, 0x1f, 0x01, + 0x8a, 0xe7, 0xb0, 0x2a, 0x1b, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, + 0x78, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x22, 0xa9, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x67, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, + 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x65, + 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, + 0x69, 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x07, 0x62, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x00, 0x22, 0xcd, 0x01, 0x0a, + 0x19, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x12, 0x72, 0x65, + 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, + 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x11, 0x72, 0x65, + 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x45, 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x2b, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x49, 0x6e, 0x74, 0xd2, + 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0x52, 0x07, 0x62, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x01, 0x22, 0xc9, 0x01, 0x0a, + 0x14, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x0c, 0x72, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0c, 0x72, 0x65, + 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x56, 0x0a, 0x07, 0x65, 0x6e, + 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x09, + 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, + 0x65, 0x73, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x00, 0x22, 0xeb, 0x01, 0x0a, 0x04, 0x50, 0x6f, 0x6f, + 0x6c, 0x12, 0x71, 0x0a, 0x11, 0x6e, 0x6f, 0x74, 0x5f, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x5f, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x45, 0xc8, 0xde, + 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, + 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x49, 0x6e, 0x74, 0xea, 0xde, 0x1f, 0x11, 0x6e, + 0x6f, 0x74, 0x5f, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, + 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xa8, 0xe7, + 0xb0, 0x2a, 0x01, 0x52, 0x0f, 0x6e, 0x6f, 0x74, 0x42, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x66, 0x0a, 0x0d, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x41, 0xc8, 0xde, 0x1f, + 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, + 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x49, 0x6e, 0x74, 0xea, 0xde, 0x1f, 0x0d, 0x62, 0x6f, + 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0c, + 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x3a, 0x08, 0xe8, 0xa0, + 0x1f, 0x01, 0xf0, 0xa0, 0x1f, 0x01, 0x22, 0x59, 0x0a, 0x10, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x6f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x45, 0x0a, 0x07, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x74, 0x65, + 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x61, 0x62, 0x63, 0x69, 0x2e, 0x56, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x09, 0xc8, + 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x73, 0x22, 0xba, 0x01, 0x0a, 0x13, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, + 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2e, 0x0a, 0x05, 0x6f, 0x77, 0x6e, + 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x6f, 0x64, + 0x75, 0x6c, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x36, 0x0a, 0x09, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x01, 0x22, 0x5c, + 0x0a, 0x22, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, + 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x36, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x52, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x2a, 0xb6, 0x01, 0x0a, + 0x0a, 0x42, 0x6f, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2c, 0x0a, 0x17, 0x42, + 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x1a, 0x0f, 0x8a, 0x9d, 0x20, 0x0b, 0x55, 0x6e, + 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x14, 0x42, 0x4f, 0x4e, + 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x42, 0x4f, 0x4e, 0x44, 0x45, + 0x44, 0x10, 0x01, 0x1a, 0x0c, 0x8a, 0x9d, 0x20, 0x08, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x65, + 0x64, 0x12, 0x28, 0x0a, 0x15, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, + 0x5f, 0x55, 0x4e, 0x42, 0x4f, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x1a, 0x0d, 0x8a, 0x9d, + 0x20, 0x09, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x22, 0x0a, 0x12, 0x42, + 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x42, 0x4f, 0x4e, 0x44, 0x45, + 0x44, 0x10, 0x03, 0x1a, 0x0a, 0x8a, 0x9d, 0x20, 0x06, 0x42, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x1a, + 0x04, 0x88, 0xa3, 0x1e, 0x00, 0x2a, 0x5d, 0x0a, 0x0a, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x16, 0x49, 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x1a, 0x0a, 0x16, 0x49, 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x4f, + 0x55, 0x42, 0x4c, 0x45, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x49, + 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x54, 0x49, + 0x4d, 0x45, 0x10, 0x02, 0x2a, 0xba, 0x02, 0x0a, 0x17, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, + 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x42, 0x0a, 0x26, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x49, 0x5a, 0x45, 0x5f, 0x53, 0x48, 0x41, + 0x52, 0x45, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x1a, 0x16, 0x8a, 0x9d, + 0x20, 0x12, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x4e, 0x69, 0x6c, 0x12, 0x40, 0x0a, 0x21, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x49, 0x5a, 0x45, + 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x53, 0x54, 0x41, 0x54, + 0x55, 0x53, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x10, 0x01, 0x1a, 0x19, 0x8a, 0x9d, 0x20, + 0x15, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x44, 0x0a, 0x23, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x49, + 0x5a, 0x45, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x53, 0x54, + 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x10, 0x02, 0x1a, + 0x1b, 0x8a, 0x9d, 0x20, 0x17, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x4d, 0x0a, 0x28, + 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x49, 0x5a, 0x45, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x4c, + 0x4f, 0x43, 0x4b, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, + 0x45, 0x58, 0x50, 0x49, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x1a, 0x1f, 0x8a, 0x9d, 0x20, 0x1b, + 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4c, + 0x6f, 0x63, 0x6b, 0x45, 0x78, 0x70, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x1a, 0x04, 0x88, 0xa3, 0x1e, + 0x00, 0x42, 0xdc, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x42, 0x0c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, + 0x5a, 0x36, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, + 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, + 0x67, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x53, 0x58, 0xaa, 0x02, + 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, + 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0xe2, 0x02, 0x22, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, + 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x18, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, + 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -14438,62 +16191,65 @@ func file_cosmos_staking_v1beta1_staking_proto_rawDescGZIP() []byte { return file_cosmos_staking_v1beta1_staking_proto_rawDescData } -var file_cosmos_staking_v1beta1_staking_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_cosmos_staking_v1beta1_staking_proto_msgTypes = make([]protoimpl.MessageInfo, 21) +var file_cosmos_staking_v1beta1_staking_proto_enumTypes = make([]protoimpl.EnumInfo, 3) +var file_cosmos_staking_v1beta1_staking_proto_msgTypes = make([]protoimpl.MessageInfo, 23) var file_cosmos_staking_v1beta1_staking_proto_goTypes = []interface{}{ - (BondStatus)(0), // 0: cosmos.staking.v1beta1.BondStatus - (Infraction)(0), // 1: cosmos.staking.v1beta1.Infraction - (*HistoricalInfo)(nil), // 2: cosmos.staking.v1beta1.HistoricalInfo - (*CommissionRates)(nil), // 3: cosmos.staking.v1beta1.CommissionRates - (*Commission)(nil), // 4: cosmos.staking.v1beta1.Commission - (*Description)(nil), // 5: cosmos.staking.v1beta1.Description - (*Validator)(nil), // 6: cosmos.staking.v1beta1.Validator - (*ValAddresses)(nil), // 7: cosmos.staking.v1beta1.ValAddresses - (*DVPair)(nil), // 8: cosmos.staking.v1beta1.DVPair - (*DVPairs)(nil), // 9: cosmos.staking.v1beta1.DVPairs - (*DVVTriplet)(nil), // 10: cosmos.staking.v1beta1.DVVTriplet - (*DVVTriplets)(nil), // 11: cosmos.staking.v1beta1.DVVTriplets - (*Delegation)(nil), // 12: cosmos.staking.v1beta1.Delegation - (*UnbondingDelegation)(nil), // 13: cosmos.staking.v1beta1.UnbondingDelegation - (*UnbondingDelegationEntry)(nil), // 14: cosmos.staking.v1beta1.UnbondingDelegationEntry - (*RedelegationEntry)(nil), // 15: cosmos.staking.v1beta1.RedelegationEntry - (*Redelegation)(nil), // 16: cosmos.staking.v1beta1.Redelegation - (*Params)(nil), // 17: cosmos.staking.v1beta1.Params - (*DelegationResponse)(nil), // 18: cosmos.staking.v1beta1.DelegationResponse - (*RedelegationEntryResponse)(nil), // 19: cosmos.staking.v1beta1.RedelegationEntryResponse - (*RedelegationResponse)(nil), // 20: cosmos.staking.v1beta1.RedelegationResponse - (*Pool)(nil), // 21: cosmos.staking.v1beta1.Pool - (*ValidatorUpdates)(nil), // 22: cosmos.staking.v1beta1.ValidatorUpdates - (*types.Header)(nil), // 23: tendermint.types.Header - (*timestamppb.Timestamp)(nil), // 24: google.protobuf.Timestamp - (*anypb.Any)(nil), // 25: google.protobuf.Any - (*durationpb.Duration)(nil), // 26: google.protobuf.Duration - (*v1beta1.Coin)(nil), // 27: cosmos.base.v1beta1.Coin - (*abci.ValidatorUpdate)(nil), // 28: tendermint.abci.ValidatorUpdate + (BondStatus)(0), // 0: cosmos.staking.v1beta1.BondStatus + (Infraction)(0), // 1: cosmos.staking.v1beta1.Infraction + (TokenizeShareLockStatus)(0), // 2: cosmos.staking.v1beta1.TokenizeShareLockStatus + (*HistoricalInfo)(nil), // 3: cosmos.staking.v1beta1.HistoricalInfo + (*CommissionRates)(nil), // 4: cosmos.staking.v1beta1.CommissionRates + (*Commission)(nil), // 5: cosmos.staking.v1beta1.Commission + (*Description)(nil), // 6: cosmos.staking.v1beta1.Description + (*Validator)(nil), // 7: cosmos.staking.v1beta1.Validator + (*ValAddresses)(nil), // 8: cosmos.staking.v1beta1.ValAddresses + (*DVPair)(nil), // 9: cosmos.staking.v1beta1.DVPair + (*DVPairs)(nil), // 10: cosmos.staking.v1beta1.DVPairs + (*DVVTriplet)(nil), // 11: cosmos.staking.v1beta1.DVVTriplet + (*DVVTriplets)(nil), // 12: cosmos.staking.v1beta1.DVVTriplets + (*Delegation)(nil), // 13: cosmos.staking.v1beta1.Delegation + (*UnbondingDelegation)(nil), // 14: cosmos.staking.v1beta1.UnbondingDelegation + (*UnbondingDelegationEntry)(nil), // 15: cosmos.staking.v1beta1.UnbondingDelegationEntry + (*RedelegationEntry)(nil), // 16: cosmos.staking.v1beta1.RedelegationEntry + (*Redelegation)(nil), // 17: cosmos.staking.v1beta1.Redelegation + (*Params)(nil), // 18: cosmos.staking.v1beta1.Params + (*DelegationResponse)(nil), // 19: cosmos.staking.v1beta1.DelegationResponse + (*RedelegationEntryResponse)(nil), // 20: cosmos.staking.v1beta1.RedelegationEntryResponse + (*RedelegationResponse)(nil), // 21: cosmos.staking.v1beta1.RedelegationResponse + (*Pool)(nil), // 22: cosmos.staking.v1beta1.Pool + (*ValidatorUpdates)(nil), // 23: cosmos.staking.v1beta1.ValidatorUpdates + (*TokenizeShareRecord)(nil), // 24: cosmos.staking.v1beta1.TokenizeShareRecord + (*PendingTokenizeShareAuthorizations)(nil), // 25: cosmos.staking.v1beta1.PendingTokenizeShareAuthorizations + (*types.Header)(nil), // 26: tendermint.types.Header + (*timestamppb.Timestamp)(nil), // 27: google.protobuf.Timestamp + (*anypb.Any)(nil), // 28: google.protobuf.Any + (*durationpb.Duration)(nil), // 29: google.protobuf.Duration + (*v1beta1.Coin)(nil), // 30: cosmos.base.v1beta1.Coin + (*abci.ValidatorUpdate)(nil), // 31: tendermint.abci.ValidatorUpdate } var file_cosmos_staking_v1beta1_staking_proto_depIdxs = []int32{ - 23, // 0: cosmos.staking.v1beta1.HistoricalInfo.header:type_name -> tendermint.types.Header - 6, // 1: cosmos.staking.v1beta1.HistoricalInfo.valset:type_name -> cosmos.staking.v1beta1.Validator - 3, // 2: cosmos.staking.v1beta1.Commission.commission_rates:type_name -> cosmos.staking.v1beta1.CommissionRates - 24, // 3: cosmos.staking.v1beta1.Commission.update_time:type_name -> google.protobuf.Timestamp - 25, // 4: cosmos.staking.v1beta1.Validator.consensus_pubkey:type_name -> google.protobuf.Any + 26, // 0: cosmos.staking.v1beta1.HistoricalInfo.header:type_name -> tendermint.types.Header + 7, // 1: cosmos.staking.v1beta1.HistoricalInfo.valset:type_name -> cosmos.staking.v1beta1.Validator + 4, // 2: cosmos.staking.v1beta1.Commission.commission_rates:type_name -> cosmos.staking.v1beta1.CommissionRates + 27, // 3: cosmos.staking.v1beta1.Commission.update_time:type_name -> google.protobuf.Timestamp + 28, // 4: cosmos.staking.v1beta1.Validator.consensus_pubkey:type_name -> google.protobuf.Any 0, // 5: cosmos.staking.v1beta1.Validator.status:type_name -> cosmos.staking.v1beta1.BondStatus - 5, // 6: cosmos.staking.v1beta1.Validator.description:type_name -> cosmos.staking.v1beta1.Description - 24, // 7: cosmos.staking.v1beta1.Validator.unbonding_time:type_name -> google.protobuf.Timestamp - 4, // 8: cosmos.staking.v1beta1.Validator.commission:type_name -> cosmos.staking.v1beta1.Commission - 8, // 9: cosmos.staking.v1beta1.DVPairs.pairs:type_name -> cosmos.staking.v1beta1.DVPair - 10, // 10: cosmos.staking.v1beta1.DVVTriplets.triplets:type_name -> cosmos.staking.v1beta1.DVVTriplet - 14, // 11: cosmos.staking.v1beta1.UnbondingDelegation.entries:type_name -> cosmos.staking.v1beta1.UnbondingDelegationEntry - 24, // 12: cosmos.staking.v1beta1.UnbondingDelegationEntry.completion_time:type_name -> google.protobuf.Timestamp - 24, // 13: cosmos.staking.v1beta1.RedelegationEntry.completion_time:type_name -> google.protobuf.Timestamp - 15, // 14: cosmos.staking.v1beta1.Redelegation.entries:type_name -> cosmos.staking.v1beta1.RedelegationEntry - 26, // 15: cosmos.staking.v1beta1.Params.unbonding_time:type_name -> google.protobuf.Duration - 12, // 16: cosmos.staking.v1beta1.DelegationResponse.delegation:type_name -> cosmos.staking.v1beta1.Delegation - 27, // 17: cosmos.staking.v1beta1.DelegationResponse.balance:type_name -> cosmos.base.v1beta1.Coin - 15, // 18: cosmos.staking.v1beta1.RedelegationEntryResponse.redelegation_entry:type_name -> cosmos.staking.v1beta1.RedelegationEntry - 16, // 19: cosmos.staking.v1beta1.RedelegationResponse.redelegation:type_name -> cosmos.staking.v1beta1.Redelegation - 19, // 20: cosmos.staking.v1beta1.RedelegationResponse.entries:type_name -> cosmos.staking.v1beta1.RedelegationEntryResponse - 28, // 21: cosmos.staking.v1beta1.ValidatorUpdates.updates:type_name -> tendermint.abci.ValidatorUpdate + 6, // 6: cosmos.staking.v1beta1.Validator.description:type_name -> cosmos.staking.v1beta1.Description + 27, // 7: cosmos.staking.v1beta1.Validator.unbonding_time:type_name -> google.protobuf.Timestamp + 5, // 8: cosmos.staking.v1beta1.Validator.commission:type_name -> cosmos.staking.v1beta1.Commission + 9, // 9: cosmos.staking.v1beta1.DVPairs.pairs:type_name -> cosmos.staking.v1beta1.DVPair + 11, // 10: cosmos.staking.v1beta1.DVVTriplets.triplets:type_name -> cosmos.staking.v1beta1.DVVTriplet + 15, // 11: cosmos.staking.v1beta1.UnbondingDelegation.entries:type_name -> cosmos.staking.v1beta1.UnbondingDelegationEntry + 27, // 12: cosmos.staking.v1beta1.UnbondingDelegationEntry.completion_time:type_name -> google.protobuf.Timestamp + 27, // 13: cosmos.staking.v1beta1.RedelegationEntry.completion_time:type_name -> google.protobuf.Timestamp + 16, // 14: cosmos.staking.v1beta1.Redelegation.entries:type_name -> cosmos.staking.v1beta1.RedelegationEntry + 29, // 15: cosmos.staking.v1beta1.Params.unbonding_time:type_name -> google.protobuf.Duration + 13, // 16: cosmos.staking.v1beta1.DelegationResponse.delegation:type_name -> cosmos.staking.v1beta1.Delegation + 30, // 17: cosmos.staking.v1beta1.DelegationResponse.balance:type_name -> cosmos.base.v1beta1.Coin + 16, // 18: cosmos.staking.v1beta1.RedelegationEntryResponse.redelegation_entry:type_name -> cosmos.staking.v1beta1.RedelegationEntry + 17, // 19: cosmos.staking.v1beta1.RedelegationResponse.redelegation:type_name -> cosmos.staking.v1beta1.Redelegation + 20, // 20: cosmos.staking.v1beta1.RedelegationResponse.entries:type_name -> cosmos.staking.v1beta1.RedelegationEntryResponse + 31, // 21: cosmos.staking.v1beta1.ValidatorUpdates.updates:type_name -> tendermint.abci.ValidatorUpdate 22, // [22:22] is the sub-list for method output_type 22, // [22:22] is the sub-list for method input_type 22, // [22:22] is the sub-list for extension type_name @@ -14759,14 +16515,38 @@ func file_cosmos_staking_v1beta1_staking_proto_init() { return nil } } + file_cosmos_staking_v1beta1_staking_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TokenizeShareRecord); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cosmos_staking_v1beta1_staking_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PendingTokenizeShareAuthorizations); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cosmos_staking_v1beta1_staking_proto_rawDesc, - NumEnums: 2, - NumMessages: 21, + NumEnums: 3, + NumMessages: 23, NumExtensions: 0, NumServices: 0, }, diff --git a/api/cosmos/staking/v1beta1/tx.pulsar.go b/api/cosmos/staking/v1beta1/tx.pulsar.go index 1fff0f692b8e..eabe598bf798 100644 --- a/api/cosmos/staking/v1beta1/tx.pulsar.go +++ b/api/cosmos/staking/v1beta1/tx.pulsar.go @@ -7103,31 +7103,25 @@ func (x *fastReflection_MsgUpdateParamsResponse) ProtoMethods() *protoiface.Meth } var ( - md_MsgTokenizeShares protoreflect.MessageDescriptor - fd_MsgTokenizeShares_delegator_address protoreflect.FieldDescriptor - fd_MsgTokenizeShares_validator_address protoreflect.FieldDescriptor - fd_MsgTokenizeShares_amount protoreflect.FieldDescriptor - fd_MsgTokenizeShares_tokenized_share_owner protoreflect.FieldDescriptor + md_MsgUnbondValidator protoreflect.MessageDescriptor + fd_MsgUnbondValidator_validator_address protoreflect.FieldDescriptor ) func init() { file_cosmos_staking_v1beta1_tx_proto_init() - md_MsgTokenizeShares = File_cosmos_staking_v1beta1_tx_proto.Messages().ByName("MsgTokenizeShares") - fd_MsgTokenizeShares_delegator_address = md_MsgTokenizeShares.Fields().ByName("delegator_address") - fd_MsgTokenizeShares_validator_address = md_MsgTokenizeShares.Fields().ByName("validator_address") - fd_MsgTokenizeShares_amount = md_MsgTokenizeShares.Fields().ByName("amount") - fd_MsgTokenizeShares_tokenized_share_owner = md_MsgTokenizeShares.Fields().ByName("tokenized_share_owner") + md_MsgUnbondValidator = File_cosmos_staking_v1beta1_tx_proto.Messages().ByName("MsgUnbondValidator") + fd_MsgUnbondValidator_validator_address = md_MsgUnbondValidator.Fields().ByName("validator_address") } -var _ protoreflect.Message = (*fastReflection_MsgTokenizeShares)(nil) +var _ protoreflect.Message = (*fastReflection_MsgUnbondValidator)(nil) -type fastReflection_MsgTokenizeShares MsgTokenizeShares +type fastReflection_MsgUnbondValidator MsgUnbondValidator -func (x *MsgTokenizeShares) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgTokenizeShares)(x) +func (x *MsgUnbondValidator) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgUnbondValidator)(x) } -func (x *MsgTokenizeShares) slowProtoReflect() protoreflect.Message { +func (x *MsgUnbondValidator) slowProtoReflect() protoreflect.Message { mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -7139,43 +7133,43 @@ func (x *MsgTokenizeShares) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_MsgTokenizeShares_messageType fastReflection_MsgTokenizeShares_messageType -var _ protoreflect.MessageType = fastReflection_MsgTokenizeShares_messageType{} +var _fastReflection_MsgUnbondValidator_messageType fastReflection_MsgUnbondValidator_messageType +var _ protoreflect.MessageType = fastReflection_MsgUnbondValidator_messageType{} -type fastReflection_MsgTokenizeShares_messageType struct{} +type fastReflection_MsgUnbondValidator_messageType struct{} -func (x fastReflection_MsgTokenizeShares_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgTokenizeShares)(nil) +func (x fastReflection_MsgUnbondValidator_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgUnbondValidator)(nil) } -func (x fastReflection_MsgTokenizeShares_messageType) New() protoreflect.Message { - return new(fastReflection_MsgTokenizeShares) +func (x fastReflection_MsgUnbondValidator_messageType) New() protoreflect.Message { + return new(fastReflection_MsgUnbondValidator) } -func (x fastReflection_MsgTokenizeShares_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgTokenizeShares +func (x fastReflection_MsgUnbondValidator_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUnbondValidator } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgTokenizeShares) Descriptor() protoreflect.MessageDescriptor { - return md_MsgTokenizeShares +func (x *fastReflection_MsgUnbondValidator) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUnbondValidator } // Type returns the message type, which encapsulates both Go and protobuf // type information. If the Go type information is not needed, // it is recommended that the message descriptor be used instead. -func (x *fastReflection_MsgTokenizeShares) Type() protoreflect.MessageType { - return _fastReflection_MsgTokenizeShares_messageType +func (x *fastReflection_MsgUnbondValidator) Type() protoreflect.MessageType { + return _fastReflection_MsgUnbondValidator_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgTokenizeShares) New() protoreflect.Message { - return new(fastReflection_MsgTokenizeShares) +func (x *fastReflection_MsgUnbondValidator) New() protoreflect.Message { + return new(fastReflection_MsgUnbondValidator) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgTokenizeShares) Interface() protoreflect.ProtoMessage { - return (*MsgTokenizeShares)(x) +func (x *fastReflection_MsgUnbondValidator) Interface() protoreflect.ProtoMessage { + return (*MsgUnbondValidator)(x) } // Range iterates over every populated field in an undefined order, @@ -7183,28 +7177,10 @@ func (x *fastReflection_MsgTokenizeShares) Interface() protoreflect.ProtoMessage // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgTokenizeShares) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.DelegatorAddress != "" { - value := protoreflect.ValueOfString(x.DelegatorAddress) - if !f(fd_MsgTokenizeShares_delegator_address, value) { - return - } - } +func (x *fastReflection_MsgUnbondValidator) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { if x.ValidatorAddress != "" { value := protoreflect.ValueOfString(x.ValidatorAddress) - if !f(fd_MsgTokenizeShares_validator_address, value) { - return - } - } - if x.Amount != nil { - value := protoreflect.ValueOfMessage(x.Amount.ProtoReflect()) - if !f(fd_MsgTokenizeShares_amount, value) { - return - } - } - if x.TokenizedShareOwner != "" { - value := protoreflect.ValueOfString(x.TokenizedShareOwner) - if !f(fd_MsgTokenizeShares_tokenized_share_owner, value) { + if !f(fd_MsgUnbondValidator_validator_address, value) { return } } @@ -7221,21 +7197,15 @@ func (x *fastReflection_MsgTokenizeShares) Range(f func(protoreflect.FieldDescri // In other cases (aside from the nullable cases above), // a proto3 scalar field is populated if it contains a non-zero value, and // a repeated field is populated if it is non-empty. -func (x *fastReflection_MsgTokenizeShares) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgUnbondValidator) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "cosmos.staking.v1beta1.MsgTokenizeShares.delegator_address": - return x.DelegatorAddress != "" - case "cosmos.staking.v1beta1.MsgTokenizeShares.validator_address": + case "cosmos.staking.v1beta1.MsgUnbondValidator.validator_address": return x.ValidatorAddress != "" - case "cosmos.staking.v1beta1.MsgTokenizeShares.amount": - return x.Amount != nil - case "cosmos.staking.v1beta1.MsgTokenizeShares.tokenized_share_owner": - return x.TokenizedShareOwner != "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgTokenizeShares")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgUnbondValidator")) } - panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgTokenizeShares does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgUnbondValidator does not contain field %s", fd.FullName())) } } @@ -7245,21 +7215,15 @@ func (x *fastReflection_MsgTokenizeShares) Has(fd protoreflect.FieldDescriptor) // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgTokenizeShares) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgUnbondValidator) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "cosmos.staking.v1beta1.MsgTokenizeShares.delegator_address": - x.DelegatorAddress = "" - case "cosmos.staking.v1beta1.MsgTokenizeShares.validator_address": + case "cosmos.staking.v1beta1.MsgUnbondValidator.validator_address": x.ValidatorAddress = "" - case "cosmos.staking.v1beta1.MsgTokenizeShares.amount": - x.Amount = nil - case "cosmos.staking.v1beta1.MsgTokenizeShares.tokenized_share_owner": - x.TokenizedShareOwner = "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgTokenizeShares")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgUnbondValidator")) } - panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgTokenizeShares does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgUnbondValidator does not contain field %s", fd.FullName())) } } @@ -7269,25 +7233,16 @@ func (x *fastReflection_MsgTokenizeShares) Clear(fd protoreflect.FieldDescriptor // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_MsgTokenizeShares) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUnbondValidator) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "cosmos.staking.v1beta1.MsgTokenizeShares.delegator_address": - value := x.DelegatorAddress - return protoreflect.ValueOfString(value) - case "cosmos.staking.v1beta1.MsgTokenizeShares.validator_address": + case "cosmos.staking.v1beta1.MsgUnbondValidator.validator_address": value := x.ValidatorAddress return protoreflect.ValueOfString(value) - case "cosmos.staking.v1beta1.MsgTokenizeShares.amount": - value := x.Amount - return protoreflect.ValueOfMessage(value.ProtoReflect()) - case "cosmos.staking.v1beta1.MsgTokenizeShares.tokenized_share_owner": - value := x.TokenizedShareOwner - return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgTokenizeShares")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgUnbondValidator")) } - panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgTokenizeShares does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgUnbondValidator does not contain field %s", descriptor.FullName())) } } @@ -7301,21 +7256,15 @@ func (x *fastReflection_MsgTokenizeShares) Get(descriptor protoreflect.FieldDesc // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgTokenizeShares) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgUnbondValidator) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "cosmos.staking.v1beta1.MsgTokenizeShares.delegator_address": - x.DelegatorAddress = value.Interface().(string) - case "cosmos.staking.v1beta1.MsgTokenizeShares.validator_address": + case "cosmos.staking.v1beta1.MsgUnbondValidator.validator_address": x.ValidatorAddress = value.Interface().(string) - case "cosmos.staking.v1beta1.MsgTokenizeShares.amount": - x.Amount = value.Message().Interface().(*v1beta1.Coin) - case "cosmos.staking.v1beta1.MsgTokenizeShares.tokenized_share_owner": - x.TokenizedShareOwner = value.Interface().(string) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgTokenizeShares")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgUnbondValidator")) } - panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgTokenizeShares does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgUnbondValidator does not contain field %s", fd.FullName())) } } @@ -7329,56 +7278,40 @@ func (x *fastReflection_MsgTokenizeShares) Set(fd protoreflect.FieldDescriptor, // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgTokenizeShares) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUnbondValidator) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "cosmos.staking.v1beta1.MsgTokenizeShares.amount": - if x.Amount == nil { - x.Amount = new(v1beta1.Coin) - } - return protoreflect.ValueOfMessage(x.Amount.ProtoReflect()) - case "cosmos.staking.v1beta1.MsgTokenizeShares.delegator_address": - panic(fmt.Errorf("field delegator_address of message cosmos.staking.v1beta1.MsgTokenizeShares is not mutable")) - case "cosmos.staking.v1beta1.MsgTokenizeShares.validator_address": - panic(fmt.Errorf("field validator_address of message cosmos.staking.v1beta1.MsgTokenizeShares is not mutable")) - case "cosmos.staking.v1beta1.MsgTokenizeShares.tokenized_share_owner": - panic(fmt.Errorf("field tokenized_share_owner of message cosmos.staking.v1beta1.MsgTokenizeShares is not mutable")) + case "cosmos.staking.v1beta1.MsgUnbondValidator.validator_address": + panic(fmt.Errorf("field validator_address of message cosmos.staking.v1beta1.MsgUnbondValidator is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgTokenizeShares")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgUnbondValidator")) } - panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgTokenizeShares does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgUnbondValidator does not contain field %s", fd.FullName())) } } // NewField returns a new value that is assignable to the field // for the given descriptor. For scalars, this returns the default value. // For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_MsgTokenizeShares) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUnbondValidator) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "cosmos.staking.v1beta1.MsgTokenizeShares.delegator_address": - return protoreflect.ValueOfString("") - case "cosmos.staking.v1beta1.MsgTokenizeShares.validator_address": - return protoreflect.ValueOfString("") - case "cosmos.staking.v1beta1.MsgTokenizeShares.amount": - m := new(v1beta1.Coin) - return protoreflect.ValueOfMessage(m.ProtoReflect()) - case "cosmos.staking.v1beta1.MsgTokenizeShares.tokenized_share_owner": + case "cosmos.staking.v1beta1.MsgUnbondValidator.validator_address": return protoreflect.ValueOfString("") default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgTokenizeShares")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgUnbondValidator")) } - panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgTokenizeShares does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgUnbondValidator does not contain field %s", fd.FullName())) } } // WhichOneof reports which field within the oneof is populated, // returning nil if none are populated. // It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_MsgTokenizeShares) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgUnbondValidator) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in cosmos.staking.v1beta1.MsgTokenizeShares", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in cosmos.staking.v1beta1.MsgUnbondValidator", d.FullName())) } panic("unreachable") } @@ -7386,7 +7319,7 @@ func (x *fastReflection_MsgTokenizeShares) WhichOneof(d protoreflect.OneofDescri // GetUnknown retrieves the entire list of unknown fields. // The caller may only mutate the contents of the RawFields // if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_MsgTokenizeShares) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgUnbondValidator) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -7397,7 +7330,7 @@ func (x *fastReflection_MsgTokenizeShares) GetUnknown() protoreflect.RawFields { // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgTokenizeShares) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgUnbondValidator) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -7409,7 +7342,7 @@ func (x *fastReflection_MsgTokenizeShares) SetUnknown(fields protoreflect.RawFie // message type, but the details are implementation dependent. // Validity is not part of the protobuf data model, and may not // be preserved in marshaling or other operations. -func (x *fastReflection_MsgTokenizeShares) IsValid() bool { +func (x *fastReflection_MsgUnbondValidator) IsValid() bool { return x != nil } @@ -7419,9 +7352,9 @@ func (x *fastReflection_MsgTokenizeShares) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgTokenizeShares) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgUnbondValidator) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgTokenizeShares) + x := input.Message.Interface().(*MsgUnbondValidator) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -7433,22 +7366,10 @@ func (x *fastReflection_MsgTokenizeShares) ProtoMethods() *protoiface.Methods { var n int var l int _ = l - l = len(x.DelegatorAddress) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } l = len(x.ValidatorAddress) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - if x.Amount != nil { - l = options.Size(x.Amount) - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.TokenizedShareOwner) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -7459,7 +7380,7 @@ func (x *fastReflection_MsgTokenizeShares) ProtoMethods() *protoiface.Methods { } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgTokenizeShares) + x := input.Message.Interface().(*MsgUnbondValidator) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -7478,39 +7399,11 @@ func (x *fastReflection_MsgTokenizeShares) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if len(x.TokenizedShareOwner) > 0 { - i -= len(x.TokenizedShareOwner) - copy(dAtA[i:], x.TokenizedShareOwner) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.TokenizedShareOwner))) - i-- - dAtA[i] = 0x22 - } - if x.Amount != nil { - encoded, err := options.Marshal(x.Amount) - if err != nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, err - } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) - i-- - dAtA[i] = 0x1a - } if len(x.ValidatorAddress) > 0 { i -= len(x.ValidatorAddress) copy(dAtA[i:], x.ValidatorAddress) i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ValidatorAddress))) i-- - dAtA[i] = 0x12 - } - if len(x.DelegatorAddress) > 0 { - i -= len(x.DelegatorAddress) - copy(dAtA[i:], x.DelegatorAddress) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.DelegatorAddress))) - i-- dAtA[i] = 0xa } if input.Buf != nil { @@ -7524,7 +7417,7 @@ func (x *fastReflection_MsgTokenizeShares) ProtoMethods() *protoiface.Methods { }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgTokenizeShares) + x := input.Message.Interface().(*MsgUnbondValidator) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -7556,45 +7449,13 @@ func (x *fastReflection_MsgTokenizeShares) ProtoMethods() *protoiface.Methods { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgTokenizeShares: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUnbondValidator: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgTokenizeShares: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUnbondValidator: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field DelegatorAddress", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.DelegatorAddress = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: if wireType != 2 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ValidatorAddress", wireType) } @@ -7626,88 +7487,20 @@ func (x *fastReflection_MsgTokenizeShares) ProtoMethods() *protoiface.Methods { } x.ValidatorAddress = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 3: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err } - postIndex := iNdEx + msglen - if postIndex < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength } - if postIndex > l { + if (iNdEx + skippy) > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - if x.Amount == nil { - x.Amount = &v1beta1.Coin{} - } - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Amount); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - iNdEx = postIndex - case 4: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field TokenizedShareOwner", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.TokenizedShareOwner = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) } iNdEx += skippy } @@ -7730,25 +7523,23 @@ func (x *fastReflection_MsgTokenizeShares) ProtoMethods() *protoiface.Methods { } var ( - md_MsgTokenizeSharesResponse protoreflect.MessageDescriptor - fd_MsgTokenizeSharesResponse_amount protoreflect.FieldDescriptor + md_MsgUnbondValidatorResponse protoreflect.MessageDescriptor ) func init() { file_cosmos_staking_v1beta1_tx_proto_init() - md_MsgTokenizeSharesResponse = File_cosmos_staking_v1beta1_tx_proto.Messages().ByName("MsgTokenizeSharesResponse") - fd_MsgTokenizeSharesResponse_amount = md_MsgTokenizeSharesResponse.Fields().ByName("amount") + md_MsgUnbondValidatorResponse = File_cosmos_staking_v1beta1_tx_proto.Messages().ByName("MsgUnbondValidatorResponse") } -var _ protoreflect.Message = (*fastReflection_MsgTokenizeSharesResponse)(nil) +var _ protoreflect.Message = (*fastReflection_MsgUnbondValidatorResponse)(nil) -type fastReflection_MsgTokenizeSharesResponse MsgTokenizeSharesResponse +type fastReflection_MsgUnbondValidatorResponse MsgUnbondValidatorResponse -func (x *MsgTokenizeSharesResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgTokenizeSharesResponse)(x) +func (x *MsgUnbondValidatorResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgUnbondValidatorResponse)(x) } -func (x *MsgTokenizeSharesResponse) slowProtoReflect() protoreflect.Message { +func (x *MsgUnbondValidatorResponse) slowProtoReflect() protoreflect.Message { mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -7760,43 +7551,43 @@ func (x *MsgTokenizeSharesResponse) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_MsgTokenizeSharesResponse_messageType fastReflection_MsgTokenizeSharesResponse_messageType -var _ protoreflect.MessageType = fastReflection_MsgTokenizeSharesResponse_messageType{} +var _fastReflection_MsgUnbondValidatorResponse_messageType fastReflection_MsgUnbondValidatorResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgUnbondValidatorResponse_messageType{} -type fastReflection_MsgTokenizeSharesResponse_messageType struct{} +type fastReflection_MsgUnbondValidatorResponse_messageType struct{} -func (x fastReflection_MsgTokenizeSharesResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgTokenizeSharesResponse)(nil) +func (x fastReflection_MsgUnbondValidatorResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgUnbondValidatorResponse)(nil) } -func (x fastReflection_MsgTokenizeSharesResponse_messageType) New() protoreflect.Message { - return new(fastReflection_MsgTokenizeSharesResponse) +func (x fastReflection_MsgUnbondValidatorResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgUnbondValidatorResponse) } -func (x fastReflection_MsgTokenizeSharesResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgTokenizeSharesResponse +func (x fastReflection_MsgUnbondValidatorResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUnbondValidatorResponse } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgTokenizeSharesResponse) Descriptor() protoreflect.MessageDescriptor { - return md_MsgTokenizeSharesResponse +func (x *fastReflection_MsgUnbondValidatorResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUnbondValidatorResponse } // Type returns the message type, which encapsulates both Go and protobuf // type information. If the Go type information is not needed, // it is recommended that the message descriptor be used instead. -func (x *fastReflection_MsgTokenizeSharesResponse) Type() protoreflect.MessageType { - return _fastReflection_MsgTokenizeSharesResponse_messageType +func (x *fastReflection_MsgUnbondValidatorResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgUnbondValidatorResponse_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgTokenizeSharesResponse) New() protoreflect.Message { - return new(fastReflection_MsgTokenizeSharesResponse) +func (x *fastReflection_MsgUnbondValidatorResponse) New() protoreflect.Message { + return new(fastReflection_MsgUnbondValidatorResponse) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgTokenizeSharesResponse) Interface() protoreflect.ProtoMessage { - return (*MsgTokenizeSharesResponse)(x) +func (x *fastReflection_MsgUnbondValidatorResponse) Interface() protoreflect.ProtoMessage { + return (*MsgUnbondValidatorResponse)(x) } // Range iterates over every populated field in an undefined order, @@ -7804,13 +7595,7 @@ func (x *fastReflection_MsgTokenizeSharesResponse) Interface() protoreflect.Prot // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgTokenizeSharesResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Amount != nil { - value := protoreflect.ValueOfMessage(x.Amount.ProtoReflect()) - if !f(fd_MsgTokenizeSharesResponse_amount, value) { - return - } - } +func (x *fastReflection_MsgUnbondValidatorResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { } // Has reports whether a field is populated. @@ -7824,15 +7609,13 @@ func (x *fastReflection_MsgTokenizeSharesResponse) Range(f func(protoreflect.Fie // In other cases (aside from the nullable cases above), // a proto3 scalar field is populated if it contains a non-zero value, and // a repeated field is populated if it is non-empty. -func (x *fastReflection_MsgTokenizeSharesResponse) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgUnbondValidatorResponse) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "cosmos.staking.v1beta1.MsgTokenizeSharesResponse.amount": - return x.Amount != nil default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgTokenizeSharesResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgUnbondValidatorResponse")) } - panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgTokenizeSharesResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgUnbondValidatorResponse does not contain field %s", fd.FullName())) } } @@ -7842,15 +7625,13 @@ func (x *fastReflection_MsgTokenizeSharesResponse) Has(fd protoreflect.FieldDesc // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgTokenizeSharesResponse) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgUnbondValidatorResponse) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "cosmos.staking.v1beta1.MsgTokenizeSharesResponse.amount": - x.Amount = nil default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgTokenizeSharesResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgUnbondValidatorResponse")) } - panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgTokenizeSharesResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgUnbondValidatorResponse does not contain field %s", fd.FullName())) } } @@ -7860,16 +7641,13 @@ func (x *fastReflection_MsgTokenizeSharesResponse) Clear(fd protoreflect.FieldDe // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_MsgTokenizeSharesResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUnbondValidatorResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "cosmos.staking.v1beta1.MsgTokenizeSharesResponse.amount": - value := x.Amount - return protoreflect.ValueOfMessage(value.ProtoReflect()) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgTokenizeSharesResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgUnbondValidatorResponse")) } - panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgTokenizeSharesResponse does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgUnbondValidatorResponse does not contain field %s", descriptor.FullName())) } } @@ -7883,15 +7661,13 @@ func (x *fastReflection_MsgTokenizeSharesResponse) Get(descriptor protoreflect.F // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgTokenizeSharesResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgUnbondValidatorResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "cosmos.staking.v1beta1.MsgTokenizeSharesResponse.amount": - x.Amount = value.Message().Interface().(*v1beta1.Coin) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgTokenizeSharesResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgUnbondValidatorResponse")) } - panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgTokenizeSharesResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgUnbondValidatorResponse does not contain field %s", fd.FullName())) } } @@ -7905,44 +7681,36 @@ func (x *fastReflection_MsgTokenizeSharesResponse) Set(fd protoreflect.FieldDesc // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgTokenizeSharesResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUnbondValidatorResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "cosmos.staking.v1beta1.MsgTokenizeSharesResponse.amount": - if x.Amount == nil { - x.Amount = new(v1beta1.Coin) - } - return protoreflect.ValueOfMessage(x.Amount.ProtoReflect()) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgTokenizeSharesResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgUnbondValidatorResponse")) } - panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgTokenizeSharesResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgUnbondValidatorResponse does not contain field %s", fd.FullName())) } } // NewField returns a new value that is assignable to the field // for the given descriptor. For scalars, this returns the default value. // For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_MsgTokenizeSharesResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUnbondValidatorResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "cosmos.staking.v1beta1.MsgTokenizeSharesResponse.amount": - m := new(v1beta1.Coin) - return protoreflect.ValueOfMessage(m.ProtoReflect()) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgTokenizeSharesResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgUnbondValidatorResponse")) } - panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgTokenizeSharesResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgUnbondValidatorResponse does not contain field %s", fd.FullName())) } } // WhichOneof reports which field within the oneof is populated, // returning nil if none are populated. // It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_MsgTokenizeSharesResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgUnbondValidatorResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in cosmos.staking.v1beta1.MsgTokenizeSharesResponse", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in cosmos.staking.v1beta1.MsgUnbondValidatorResponse", d.FullName())) } panic("unreachable") } @@ -7950,7 +7718,7 @@ func (x *fastReflection_MsgTokenizeSharesResponse) WhichOneof(d protoreflect.One // GetUnknown retrieves the entire list of unknown fields. // The caller may only mutate the contents of the RawFields // if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_MsgTokenizeSharesResponse) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgUnbondValidatorResponse) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -7961,7 +7729,7 @@ func (x *fastReflection_MsgTokenizeSharesResponse) GetUnknown() protoreflect.Raw // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgTokenizeSharesResponse) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgUnbondValidatorResponse) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -7973,7 +7741,7 @@ func (x *fastReflection_MsgTokenizeSharesResponse) SetUnknown(fields protoreflec // message type, but the details are implementation dependent. // Validity is not part of the protobuf data model, and may not // be preserved in marshaling or other operations. -func (x *fastReflection_MsgTokenizeSharesResponse) IsValid() bool { +func (x *fastReflection_MsgUnbondValidatorResponse) IsValid() bool { return x != nil } @@ -7983,9 +7751,9 @@ func (x *fastReflection_MsgTokenizeSharesResponse) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgTokenizeSharesResponse) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgUnbondValidatorResponse) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgTokenizeSharesResponse) + x := input.Message.Interface().(*MsgUnbondValidatorResponse) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -7997,10 +7765,6 @@ func (x *fastReflection_MsgTokenizeSharesResponse) ProtoMethods() *protoiface.Me var n int var l int _ = l - if x.Amount != nil { - l = options.Size(x.Amount) - n += 1 + l + runtime.Sov(uint64(l)) - } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -8011,7 +7775,7 @@ func (x *fastReflection_MsgTokenizeSharesResponse) ProtoMethods() *protoiface.Me } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgTokenizeSharesResponse) + x := input.Message.Interface().(*MsgUnbondValidatorResponse) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -8030,20 +7794,6 @@ func (x *fastReflection_MsgTokenizeSharesResponse) ProtoMethods() *protoiface.Me i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if x.Amount != nil { - encoded, err := options.Marshal(x.Amount) - if err != nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, err - } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) - i-- - dAtA[i] = 0xa - } if input.Buf != nil { input.Buf = append(input.Buf, dAtA...) } else { @@ -8055,7 +7805,7 @@ func (x *fastReflection_MsgTokenizeSharesResponse) ProtoMethods() *protoiface.Me }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgTokenizeSharesResponse) + x := input.Message.Interface().(*MsgUnbondValidatorResponse) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -8087,48 +7837,12 @@ func (x *fastReflection_MsgTokenizeSharesResponse) ProtoMethods() *protoiface.Me fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgTokenizeSharesResponse: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUnbondValidatorResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgTokenizeSharesResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUnbondValidatorResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { - case 1: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if x.Amount == nil { - x.Amount = &v1beta1.Coin{} - } - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Amount); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - iNdEx = postIndex default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -8165,27 +7879,31 @@ func (x *fastReflection_MsgTokenizeSharesResponse) ProtoMethods() *protoiface.Me } var ( - md_MsgRedeemTokensForShares protoreflect.MessageDescriptor - fd_MsgRedeemTokensForShares_delegator_address protoreflect.FieldDescriptor - fd_MsgRedeemTokensForShares_amount protoreflect.FieldDescriptor + md_MsgTokenizeShares protoreflect.MessageDescriptor + fd_MsgTokenizeShares_delegator_address protoreflect.FieldDescriptor + fd_MsgTokenizeShares_validator_address protoreflect.FieldDescriptor + fd_MsgTokenizeShares_amount protoreflect.FieldDescriptor + fd_MsgTokenizeShares_tokenized_share_owner protoreflect.FieldDescriptor ) func init() { file_cosmos_staking_v1beta1_tx_proto_init() - md_MsgRedeemTokensForShares = File_cosmos_staking_v1beta1_tx_proto.Messages().ByName("MsgRedeemTokensForShares") - fd_MsgRedeemTokensForShares_delegator_address = md_MsgRedeemTokensForShares.Fields().ByName("delegator_address") - fd_MsgRedeemTokensForShares_amount = md_MsgRedeemTokensForShares.Fields().ByName("amount") + md_MsgTokenizeShares = File_cosmos_staking_v1beta1_tx_proto.Messages().ByName("MsgTokenizeShares") + fd_MsgTokenizeShares_delegator_address = md_MsgTokenizeShares.Fields().ByName("delegator_address") + fd_MsgTokenizeShares_validator_address = md_MsgTokenizeShares.Fields().ByName("validator_address") + fd_MsgTokenizeShares_amount = md_MsgTokenizeShares.Fields().ByName("amount") + fd_MsgTokenizeShares_tokenized_share_owner = md_MsgTokenizeShares.Fields().ByName("tokenized_share_owner") } -var _ protoreflect.Message = (*fastReflection_MsgRedeemTokensForShares)(nil) +var _ protoreflect.Message = (*fastReflection_MsgTokenizeShares)(nil) -type fastReflection_MsgRedeemTokensForShares MsgRedeemTokensForShares +type fastReflection_MsgTokenizeShares MsgTokenizeShares -func (x *MsgRedeemTokensForShares) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgRedeemTokensForShares)(x) +func (x *MsgTokenizeShares) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgTokenizeShares)(x) } -func (x *MsgRedeemTokensForShares) slowProtoReflect() protoreflect.Message { +func (x *MsgTokenizeShares) slowProtoReflect() protoreflect.Message { mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -8197,43 +7915,43 @@ func (x *MsgRedeemTokensForShares) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_MsgRedeemTokensForShares_messageType fastReflection_MsgRedeemTokensForShares_messageType -var _ protoreflect.MessageType = fastReflection_MsgRedeemTokensForShares_messageType{} +var _fastReflection_MsgTokenizeShares_messageType fastReflection_MsgTokenizeShares_messageType +var _ protoreflect.MessageType = fastReflection_MsgTokenizeShares_messageType{} -type fastReflection_MsgRedeemTokensForShares_messageType struct{} +type fastReflection_MsgTokenizeShares_messageType struct{} -func (x fastReflection_MsgRedeemTokensForShares_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgRedeemTokensForShares)(nil) +func (x fastReflection_MsgTokenizeShares_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgTokenizeShares)(nil) } -func (x fastReflection_MsgRedeemTokensForShares_messageType) New() protoreflect.Message { - return new(fastReflection_MsgRedeemTokensForShares) +func (x fastReflection_MsgTokenizeShares_messageType) New() protoreflect.Message { + return new(fastReflection_MsgTokenizeShares) } -func (x fastReflection_MsgRedeemTokensForShares_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgRedeemTokensForShares +func (x fastReflection_MsgTokenizeShares_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgTokenizeShares } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgRedeemTokensForShares) Descriptor() protoreflect.MessageDescriptor { - return md_MsgRedeemTokensForShares +func (x *fastReflection_MsgTokenizeShares) Descriptor() protoreflect.MessageDescriptor { + return md_MsgTokenizeShares } // Type returns the message type, which encapsulates both Go and protobuf // type information. If the Go type information is not needed, // it is recommended that the message descriptor be used instead. -func (x *fastReflection_MsgRedeemTokensForShares) Type() protoreflect.MessageType { - return _fastReflection_MsgRedeemTokensForShares_messageType +func (x *fastReflection_MsgTokenizeShares) Type() protoreflect.MessageType { + return _fastReflection_MsgTokenizeShares_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgRedeemTokensForShares) New() protoreflect.Message { - return new(fastReflection_MsgRedeemTokensForShares) +func (x *fastReflection_MsgTokenizeShares) New() protoreflect.Message { + return new(fastReflection_MsgTokenizeShares) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgRedeemTokensForShares) Interface() protoreflect.ProtoMessage { - return (*MsgRedeemTokensForShares)(x) +func (x *fastReflection_MsgTokenizeShares) Interface() protoreflect.ProtoMessage { + return (*MsgTokenizeShares)(x) } // Range iterates over every populated field in an undefined order, @@ -8241,16 +7959,28 @@ func (x *fastReflection_MsgRedeemTokensForShares) Interface() protoreflect.Proto // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgRedeemTokensForShares) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_MsgTokenizeShares) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { if x.DelegatorAddress != "" { value := protoreflect.ValueOfString(x.DelegatorAddress) - if !f(fd_MsgRedeemTokensForShares_delegator_address, value) { + if !f(fd_MsgTokenizeShares_delegator_address, value) { + return + } + } + if x.ValidatorAddress != "" { + value := protoreflect.ValueOfString(x.ValidatorAddress) + if !f(fd_MsgTokenizeShares_validator_address, value) { return } } if x.Amount != nil { value := protoreflect.ValueOfMessage(x.Amount.ProtoReflect()) - if !f(fd_MsgRedeemTokensForShares_amount, value) { + if !f(fd_MsgTokenizeShares_amount, value) { + return + } + } + if x.TokenizedShareOwner != "" { + value := protoreflect.ValueOfString(x.TokenizedShareOwner) + if !f(fd_MsgTokenizeShares_tokenized_share_owner, value) { return } } @@ -8267,17 +7997,21 @@ func (x *fastReflection_MsgRedeemTokensForShares) Range(f func(protoreflect.Fiel // In other cases (aside from the nullable cases above), // a proto3 scalar field is populated if it contains a non-zero value, and // a repeated field is populated if it is non-empty. -func (x *fastReflection_MsgRedeemTokensForShares) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgTokenizeShares) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "cosmos.staking.v1beta1.MsgRedeemTokensForShares.delegator_address": + case "cosmos.staking.v1beta1.MsgTokenizeShares.delegator_address": return x.DelegatorAddress != "" - case "cosmos.staking.v1beta1.MsgRedeemTokensForShares.amount": + case "cosmos.staking.v1beta1.MsgTokenizeShares.validator_address": + return x.ValidatorAddress != "" + case "cosmos.staking.v1beta1.MsgTokenizeShares.amount": return x.Amount != nil + case "cosmos.staking.v1beta1.MsgTokenizeShares.tokenized_share_owner": + return x.TokenizedShareOwner != "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgRedeemTokensForShares")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgTokenizeShares")) } - panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgRedeemTokensForShares does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgTokenizeShares does not contain field %s", fd.FullName())) } } @@ -8287,17 +8021,21 @@ func (x *fastReflection_MsgRedeemTokensForShares) Has(fd protoreflect.FieldDescr // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgRedeemTokensForShares) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgTokenizeShares) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "cosmos.staking.v1beta1.MsgRedeemTokensForShares.delegator_address": + case "cosmos.staking.v1beta1.MsgTokenizeShares.delegator_address": x.DelegatorAddress = "" - case "cosmos.staking.v1beta1.MsgRedeemTokensForShares.amount": + case "cosmos.staking.v1beta1.MsgTokenizeShares.validator_address": + x.ValidatorAddress = "" + case "cosmos.staking.v1beta1.MsgTokenizeShares.amount": x.Amount = nil + case "cosmos.staking.v1beta1.MsgTokenizeShares.tokenized_share_owner": + x.TokenizedShareOwner = "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgRedeemTokensForShares")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgTokenizeShares")) } - panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgRedeemTokensForShares does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgTokenizeShares does not contain field %s", fd.FullName())) } } @@ -8307,19 +8045,25 @@ func (x *fastReflection_MsgRedeemTokensForShares) Clear(fd protoreflect.FieldDes // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_MsgRedeemTokensForShares) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgTokenizeShares) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "cosmos.staking.v1beta1.MsgRedeemTokensForShares.delegator_address": + case "cosmos.staking.v1beta1.MsgTokenizeShares.delegator_address": value := x.DelegatorAddress return protoreflect.ValueOfString(value) - case "cosmos.staking.v1beta1.MsgRedeemTokensForShares.amount": + case "cosmos.staking.v1beta1.MsgTokenizeShares.validator_address": + value := x.ValidatorAddress + return protoreflect.ValueOfString(value) + case "cosmos.staking.v1beta1.MsgTokenizeShares.amount": value := x.Amount return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "cosmos.staking.v1beta1.MsgTokenizeShares.tokenized_share_owner": + value := x.TokenizedShareOwner + return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgRedeemTokensForShares")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgTokenizeShares")) } - panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgRedeemTokensForShares does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgTokenizeShares does not contain field %s", descriptor.FullName())) } } @@ -8333,17 +8077,21 @@ func (x *fastReflection_MsgRedeemTokensForShares) Get(descriptor protoreflect.Fi // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgRedeemTokensForShares) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgTokenizeShares) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "cosmos.staking.v1beta1.MsgRedeemTokensForShares.delegator_address": + case "cosmos.staking.v1beta1.MsgTokenizeShares.delegator_address": x.DelegatorAddress = value.Interface().(string) - case "cosmos.staking.v1beta1.MsgRedeemTokensForShares.amount": + case "cosmos.staking.v1beta1.MsgTokenizeShares.validator_address": + x.ValidatorAddress = value.Interface().(string) + case "cosmos.staking.v1beta1.MsgTokenizeShares.amount": x.Amount = value.Message().Interface().(*v1beta1.Coin) + case "cosmos.staking.v1beta1.MsgTokenizeShares.tokenized_share_owner": + x.TokenizedShareOwner = value.Interface().(string) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgRedeemTokensForShares")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgTokenizeShares")) } - panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgRedeemTokensForShares does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgTokenizeShares does not contain field %s", fd.FullName())) } } @@ -8357,48 +8105,56 @@ func (x *fastReflection_MsgRedeemTokensForShares) Set(fd protoreflect.FieldDescr // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgRedeemTokensForShares) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgTokenizeShares) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "cosmos.staking.v1beta1.MsgRedeemTokensForShares.amount": + case "cosmos.staking.v1beta1.MsgTokenizeShares.amount": if x.Amount == nil { x.Amount = new(v1beta1.Coin) } return protoreflect.ValueOfMessage(x.Amount.ProtoReflect()) - case "cosmos.staking.v1beta1.MsgRedeemTokensForShares.delegator_address": - panic(fmt.Errorf("field delegator_address of message cosmos.staking.v1beta1.MsgRedeemTokensForShares is not mutable")) + case "cosmos.staking.v1beta1.MsgTokenizeShares.delegator_address": + panic(fmt.Errorf("field delegator_address of message cosmos.staking.v1beta1.MsgTokenizeShares is not mutable")) + case "cosmos.staking.v1beta1.MsgTokenizeShares.validator_address": + panic(fmt.Errorf("field validator_address of message cosmos.staking.v1beta1.MsgTokenizeShares is not mutable")) + case "cosmos.staking.v1beta1.MsgTokenizeShares.tokenized_share_owner": + panic(fmt.Errorf("field tokenized_share_owner of message cosmos.staking.v1beta1.MsgTokenizeShares is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgRedeemTokensForShares")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgTokenizeShares")) } - panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgRedeemTokensForShares does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgTokenizeShares does not contain field %s", fd.FullName())) } } // NewField returns a new value that is assignable to the field // for the given descriptor. For scalars, this returns the default value. // For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_MsgRedeemTokensForShares) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgTokenizeShares) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "cosmos.staking.v1beta1.MsgRedeemTokensForShares.delegator_address": + case "cosmos.staking.v1beta1.MsgTokenizeShares.delegator_address": return protoreflect.ValueOfString("") - case "cosmos.staking.v1beta1.MsgRedeemTokensForShares.amount": + case "cosmos.staking.v1beta1.MsgTokenizeShares.validator_address": + return protoreflect.ValueOfString("") + case "cosmos.staking.v1beta1.MsgTokenizeShares.amount": m := new(v1beta1.Coin) return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "cosmos.staking.v1beta1.MsgTokenizeShares.tokenized_share_owner": + return protoreflect.ValueOfString("") default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgRedeemTokensForShares")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgTokenizeShares")) } - panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgRedeemTokensForShares does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgTokenizeShares does not contain field %s", fd.FullName())) } } // WhichOneof reports which field within the oneof is populated, // returning nil if none are populated. // It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_MsgRedeemTokensForShares) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgTokenizeShares) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in cosmos.staking.v1beta1.MsgRedeemTokensForShares", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in cosmos.staking.v1beta1.MsgTokenizeShares", d.FullName())) } panic("unreachable") } @@ -8406,7 +8162,7 @@ func (x *fastReflection_MsgRedeemTokensForShares) WhichOneof(d protoreflect.Oneo // GetUnknown retrieves the entire list of unknown fields. // The caller may only mutate the contents of the RawFields // if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_MsgRedeemTokensForShares) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgTokenizeShares) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -8417,7 +8173,7 @@ func (x *fastReflection_MsgRedeemTokensForShares) GetUnknown() protoreflect.RawF // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgRedeemTokensForShares) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgTokenizeShares) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -8429,7 +8185,7 @@ func (x *fastReflection_MsgRedeemTokensForShares) SetUnknown(fields protoreflect // message type, but the details are implementation dependent. // Validity is not part of the protobuf data model, and may not // be preserved in marshaling or other operations. -func (x *fastReflection_MsgRedeemTokensForShares) IsValid() bool { +func (x *fastReflection_MsgTokenizeShares) IsValid() bool { return x != nil } @@ -8439,9 +8195,9 @@ func (x *fastReflection_MsgRedeemTokensForShares) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgRedeemTokensForShares) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgTokenizeShares) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgRedeemTokensForShares) + x := input.Message.Interface().(*MsgTokenizeShares) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -8457,10 +8213,18 @@ func (x *fastReflection_MsgRedeemTokensForShares) ProtoMethods() *protoiface.Met if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } + l = len(x.ValidatorAddress) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } if x.Amount != nil { l = options.Size(x.Amount) n += 1 + l + runtime.Sov(uint64(l)) } + l = len(x.TokenizedShareOwner) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -8471,7 +8235,7 @@ func (x *fastReflection_MsgRedeemTokensForShares) ProtoMethods() *protoiface.Met } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgRedeemTokensForShares) + x := input.Message.Interface().(*MsgTokenizeShares) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -8490,6 +8254,13 @@ func (x *fastReflection_MsgRedeemTokensForShares) ProtoMethods() *protoiface.Met i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } + if len(x.TokenizedShareOwner) > 0 { + i -= len(x.TokenizedShareOwner) + copy(dAtA[i:], x.TokenizedShareOwner) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.TokenizedShareOwner))) + i-- + dAtA[i] = 0x22 + } if x.Amount != nil { encoded, err := options.Marshal(x.Amount) if err != nil { @@ -8502,6 +8273,13 @@ func (x *fastReflection_MsgRedeemTokensForShares) ProtoMethods() *protoiface.Met copy(dAtA[i:], encoded) i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) i-- + dAtA[i] = 0x1a + } + if len(x.ValidatorAddress) > 0 { + i -= len(x.ValidatorAddress) + copy(dAtA[i:], x.ValidatorAddress) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ValidatorAddress))) + i-- dAtA[i] = 0x12 } if len(x.DelegatorAddress) > 0 { @@ -8522,7 +8300,7 @@ func (x *fastReflection_MsgRedeemTokensForShares) ProtoMethods() *protoiface.Met }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgRedeemTokensForShares) + x := input.Message.Interface().(*MsgTokenizeShares) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -8554,10 +8332,10 @@ func (x *fastReflection_MsgRedeemTokensForShares) ProtoMethods() *protoiface.Met fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRedeemTokensForShares: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgTokenizeShares: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRedeemTokensForShares: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgTokenizeShares: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -8593,6 +8371,38 @@ func (x *fastReflection_MsgRedeemTokensForShares) ProtoMethods() *protoiface.Met x.DelegatorAddress = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ValidatorAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.ValidatorAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: if wireType != 2 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) } @@ -8628,6 +8438,38 @@ func (x *fastReflection_MsgRedeemTokensForShares) ProtoMethods() *protoiface.Met return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err } iNdEx = postIndex + case 4: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field TokenizedShareOwner", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.TokenizedShareOwner = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -8664,25 +8506,25 @@ func (x *fastReflection_MsgRedeemTokensForShares) ProtoMethods() *protoiface.Met } var ( - md_MsgRedeemTokensForSharesResponse protoreflect.MessageDescriptor - fd_MsgRedeemTokensForSharesResponse_amount protoreflect.FieldDescriptor + md_MsgTokenizeSharesResponse protoreflect.MessageDescriptor + fd_MsgTokenizeSharesResponse_amount protoreflect.FieldDescriptor ) func init() { file_cosmos_staking_v1beta1_tx_proto_init() - md_MsgRedeemTokensForSharesResponse = File_cosmos_staking_v1beta1_tx_proto.Messages().ByName("MsgRedeemTokensForSharesResponse") - fd_MsgRedeemTokensForSharesResponse_amount = md_MsgRedeemTokensForSharesResponse.Fields().ByName("amount") + md_MsgTokenizeSharesResponse = File_cosmos_staking_v1beta1_tx_proto.Messages().ByName("MsgTokenizeSharesResponse") + fd_MsgTokenizeSharesResponse_amount = md_MsgTokenizeSharesResponse.Fields().ByName("amount") } -var _ protoreflect.Message = (*fastReflection_MsgRedeemTokensForSharesResponse)(nil) +var _ protoreflect.Message = (*fastReflection_MsgTokenizeSharesResponse)(nil) -type fastReflection_MsgRedeemTokensForSharesResponse MsgRedeemTokensForSharesResponse +type fastReflection_MsgTokenizeSharesResponse MsgTokenizeSharesResponse -func (x *MsgRedeemTokensForSharesResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgRedeemTokensForSharesResponse)(x) +func (x *MsgTokenizeSharesResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgTokenizeSharesResponse)(x) } -func (x *MsgRedeemTokensForSharesResponse) slowProtoReflect() protoreflect.Message { +func (x *MsgTokenizeSharesResponse) slowProtoReflect() protoreflect.Message { mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -8694,43 +8536,43 @@ func (x *MsgRedeemTokensForSharesResponse) slowProtoReflect() protoreflect.Messa return mi.MessageOf(x) } -var _fastReflection_MsgRedeemTokensForSharesResponse_messageType fastReflection_MsgRedeemTokensForSharesResponse_messageType -var _ protoreflect.MessageType = fastReflection_MsgRedeemTokensForSharesResponse_messageType{} +var _fastReflection_MsgTokenizeSharesResponse_messageType fastReflection_MsgTokenizeSharesResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgTokenizeSharesResponse_messageType{} -type fastReflection_MsgRedeemTokensForSharesResponse_messageType struct{} +type fastReflection_MsgTokenizeSharesResponse_messageType struct{} -func (x fastReflection_MsgRedeemTokensForSharesResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgRedeemTokensForSharesResponse)(nil) +func (x fastReflection_MsgTokenizeSharesResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgTokenizeSharesResponse)(nil) } -func (x fastReflection_MsgRedeemTokensForSharesResponse_messageType) New() protoreflect.Message { - return new(fastReflection_MsgRedeemTokensForSharesResponse) +func (x fastReflection_MsgTokenizeSharesResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgTokenizeSharesResponse) } -func (x fastReflection_MsgRedeemTokensForSharesResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgRedeemTokensForSharesResponse +func (x fastReflection_MsgTokenizeSharesResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgTokenizeSharesResponse } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgRedeemTokensForSharesResponse) Descriptor() protoreflect.MessageDescriptor { - return md_MsgRedeemTokensForSharesResponse +func (x *fastReflection_MsgTokenizeSharesResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgTokenizeSharesResponse } // Type returns the message type, which encapsulates both Go and protobuf // type information. If the Go type information is not needed, // it is recommended that the message descriptor be used instead. -func (x *fastReflection_MsgRedeemTokensForSharesResponse) Type() protoreflect.MessageType { - return _fastReflection_MsgRedeemTokensForSharesResponse_messageType +func (x *fastReflection_MsgTokenizeSharesResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgTokenizeSharesResponse_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgRedeemTokensForSharesResponse) New() protoreflect.Message { - return new(fastReflection_MsgRedeemTokensForSharesResponse) +func (x *fastReflection_MsgTokenizeSharesResponse) New() protoreflect.Message { + return new(fastReflection_MsgTokenizeSharesResponse) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgRedeemTokensForSharesResponse) Interface() protoreflect.ProtoMessage { - return (*MsgRedeemTokensForSharesResponse)(x) +func (x *fastReflection_MsgTokenizeSharesResponse) Interface() protoreflect.ProtoMessage { + return (*MsgTokenizeSharesResponse)(x) } // Range iterates over every populated field in an undefined order, @@ -8738,10 +8580,10 @@ func (x *fastReflection_MsgRedeemTokensForSharesResponse) Interface() protorefle // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgRedeemTokensForSharesResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_MsgTokenizeSharesResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { if x.Amount != nil { value := protoreflect.ValueOfMessage(x.Amount.ProtoReflect()) - if !f(fd_MsgRedeemTokensForSharesResponse_amount, value) { + if !f(fd_MsgTokenizeSharesResponse_amount, value) { return } } @@ -8758,15 +8600,15 @@ func (x *fastReflection_MsgRedeemTokensForSharesResponse) Range(f func(protorefl // In other cases (aside from the nullable cases above), // a proto3 scalar field is populated if it contains a non-zero value, and // a repeated field is populated if it is non-empty. -func (x *fastReflection_MsgRedeemTokensForSharesResponse) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgTokenizeSharesResponse) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse.amount": + case "cosmos.staking.v1beta1.MsgTokenizeSharesResponse.amount": return x.Amount != nil default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgTokenizeSharesResponse")) } - panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgTokenizeSharesResponse does not contain field %s", fd.FullName())) } } @@ -8776,15 +8618,15 @@ func (x *fastReflection_MsgRedeemTokensForSharesResponse) Has(fd protoreflect.Fi // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgRedeemTokensForSharesResponse) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgTokenizeSharesResponse) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse.amount": + case "cosmos.staking.v1beta1.MsgTokenizeSharesResponse.amount": x.Amount = nil default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgTokenizeSharesResponse")) } - panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgTokenizeSharesResponse does not contain field %s", fd.FullName())) } } @@ -8794,16 +8636,16 @@ func (x *fastReflection_MsgRedeemTokensForSharesResponse) Clear(fd protoreflect. // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_MsgRedeemTokensForSharesResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgTokenizeSharesResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse.amount": + case "cosmos.staking.v1beta1.MsgTokenizeSharesResponse.amount": value := x.Amount return protoreflect.ValueOfMessage(value.ProtoReflect()) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgTokenizeSharesResponse")) } - panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgTokenizeSharesResponse does not contain field %s", descriptor.FullName())) } } @@ -8817,15 +8659,15 @@ func (x *fastReflection_MsgRedeemTokensForSharesResponse) Get(descriptor protore // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgRedeemTokensForSharesResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgTokenizeSharesResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse.amount": + case "cosmos.staking.v1beta1.MsgTokenizeSharesResponse.amount": x.Amount = value.Message().Interface().(*v1beta1.Coin) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgTokenizeSharesResponse")) } - panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgTokenizeSharesResponse does not contain field %s", fd.FullName())) } } @@ -8839,44 +8681,44 @@ func (x *fastReflection_MsgRedeemTokensForSharesResponse) Set(fd protoreflect.Fi // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgRedeemTokensForSharesResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgTokenizeSharesResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse.amount": + case "cosmos.staking.v1beta1.MsgTokenizeSharesResponse.amount": if x.Amount == nil { x.Amount = new(v1beta1.Coin) } return protoreflect.ValueOfMessage(x.Amount.ProtoReflect()) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgTokenizeSharesResponse")) } - panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgTokenizeSharesResponse does not contain field %s", fd.FullName())) } } // NewField returns a new value that is assignable to the field // for the given descriptor. For scalars, this returns the default value. // For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_MsgRedeemTokensForSharesResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgTokenizeSharesResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse.amount": + case "cosmos.staking.v1beta1.MsgTokenizeSharesResponse.amount": m := new(v1beta1.Coin) return protoreflect.ValueOfMessage(m.ProtoReflect()) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgTokenizeSharesResponse")) } - panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgTokenizeSharesResponse does not contain field %s", fd.FullName())) } } // WhichOneof reports which field within the oneof is populated, // returning nil if none are populated. // It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_MsgRedeemTokensForSharesResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgTokenizeSharesResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in cosmos.staking.v1beta1.MsgTokenizeSharesResponse", d.FullName())) } panic("unreachable") } @@ -8884,7 +8726,7 @@ func (x *fastReflection_MsgRedeemTokensForSharesResponse) WhichOneof(d protorefl // GetUnknown retrieves the entire list of unknown fields. // The caller may only mutate the contents of the RawFields // if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_MsgRedeemTokensForSharesResponse) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgTokenizeSharesResponse) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -8895,7 +8737,7 @@ func (x *fastReflection_MsgRedeemTokensForSharesResponse) GetUnknown() protorefl // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgRedeemTokensForSharesResponse) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgTokenizeSharesResponse) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -8907,7 +8749,7 @@ func (x *fastReflection_MsgRedeemTokensForSharesResponse) SetUnknown(fields prot // message type, but the details are implementation dependent. // Validity is not part of the protobuf data model, and may not // be preserved in marshaling or other operations. -func (x *fastReflection_MsgRedeemTokensForSharesResponse) IsValid() bool { +func (x *fastReflection_MsgTokenizeSharesResponse) IsValid() bool { return x != nil } @@ -8917,9 +8759,9 @@ func (x *fastReflection_MsgRedeemTokensForSharesResponse) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgRedeemTokensForSharesResponse) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgTokenizeSharesResponse) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgRedeemTokensForSharesResponse) + x := input.Message.Interface().(*MsgTokenizeSharesResponse) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -8945,7 +8787,7 @@ func (x *fastReflection_MsgRedeemTokensForSharesResponse) ProtoMethods() *protoi } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgRedeemTokensForSharesResponse) + x := input.Message.Interface().(*MsgTokenizeSharesResponse) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -8989,7 +8831,7 @@ func (x *fastReflection_MsgRedeemTokensForSharesResponse) ProtoMethods() *protoi }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgRedeemTokensForSharesResponse) + x := input.Message.Interface().(*MsgTokenizeSharesResponse) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -9021,10 +8863,10 @@ func (x *fastReflection_MsgRedeemTokensForSharesResponse) ProtoMethods() *protoi fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRedeemTokensForSharesResponse: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgTokenizeSharesResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRedeemTokensForSharesResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgTokenizeSharesResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -9098,859 +8940,5522 @@ func (x *fastReflection_MsgRedeemTokensForSharesResponse) ProtoMethods() *protoi } } -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.27.0 -// protoc (unknown) -// source: cosmos/staking/v1beta1/tx.proto - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +var ( + md_MsgRedeemTokensForShares protoreflect.MessageDescriptor + fd_MsgRedeemTokensForShares_delegator_address protoreflect.FieldDescriptor + fd_MsgRedeemTokensForShares_amount protoreflect.FieldDescriptor ) -// MsgCreateValidator defines a SDK message for creating a new validator. -type MsgCreateValidator struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func init() { + file_cosmos_staking_v1beta1_tx_proto_init() + md_MsgRedeemTokensForShares = File_cosmos_staking_v1beta1_tx_proto.Messages().ByName("MsgRedeemTokensForShares") + fd_MsgRedeemTokensForShares_delegator_address = md_MsgRedeemTokensForShares.Fields().ByName("delegator_address") + fd_MsgRedeemTokensForShares_amount = md_MsgRedeemTokensForShares.Fields().ByName("amount") +} - Description *Description `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"` - Commission *CommissionRates `protobuf:"bytes,2,opt,name=commission,proto3" json:"commission,omitempty"` - MinSelfDelegation string `protobuf:"bytes,3,opt,name=min_self_delegation,json=minSelfDelegation,proto3" json:"min_self_delegation,omitempty"` - // Deprecated: Use of Delegator Address in MsgCreateValidator is deprecated. - // The validator address bytes and delegator address bytes refer to the same account while creating validator (defer - // only in bech32 notation). - // - // Deprecated: Do not use. - DelegatorAddress string `protobuf:"bytes,4,opt,name=delegator_address,json=delegatorAddress,proto3" json:"delegator_address,omitempty"` - ValidatorAddress string `protobuf:"bytes,5,opt,name=validator_address,json=validatorAddress,proto3" json:"validator_address,omitempty"` - Pubkey *anypb.Any `protobuf:"bytes,6,opt,name=pubkey,proto3" json:"pubkey,omitempty"` - Value *v1beta1.Coin `protobuf:"bytes,7,opt,name=value,proto3" json:"value,omitempty"` +var _ protoreflect.Message = (*fastReflection_MsgRedeemTokensForShares)(nil) + +type fastReflection_MsgRedeemTokensForShares MsgRedeemTokensForShares + +func (x *MsgRedeemTokensForShares) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgRedeemTokensForShares)(x) } -func (x *MsgCreateValidator) Reset() { - *x = MsgCreateValidator{} - if protoimpl.UnsafeEnabled { - mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[0] +func (x *MsgRedeemTokensForShares) slowProtoReflect() protoreflect.Message { + mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } + return mi.MessageOf(x) } -func (x *MsgCreateValidator) String() string { - return protoimpl.X.MessageStringOf(x) -} +var _fastReflection_MsgRedeemTokensForShares_messageType fastReflection_MsgRedeemTokensForShares_messageType +var _ protoreflect.MessageType = fastReflection_MsgRedeemTokensForShares_messageType{} -func (*MsgCreateValidator) ProtoMessage() {} +type fastReflection_MsgRedeemTokensForShares_messageType struct{} -// Deprecated: Use MsgCreateValidator.ProtoReflect.Descriptor instead. -func (*MsgCreateValidator) Descriptor() ([]byte, []int) { - return file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP(), []int{0} +func (x fastReflection_MsgRedeemTokensForShares_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgRedeemTokensForShares)(nil) } - -func (x *MsgCreateValidator) GetDescription() *Description { - if x != nil { - return x.Description - } - return nil +func (x fastReflection_MsgRedeemTokensForShares_messageType) New() protoreflect.Message { + return new(fastReflection_MsgRedeemTokensForShares) } - -func (x *MsgCreateValidator) GetCommission() *CommissionRates { - if x != nil { - return x.Commission - } - return nil +func (x fastReflection_MsgRedeemTokensForShares_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgRedeemTokensForShares } -func (x *MsgCreateValidator) GetMinSelfDelegation() string { - if x != nil { - return x.MinSelfDelegation - } - return "" +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgRedeemTokensForShares) Descriptor() protoreflect.MessageDescriptor { + return md_MsgRedeemTokensForShares } -// Deprecated: Do not use. -func (x *MsgCreateValidator) GetDelegatorAddress() string { - if x != nil { - return x.DelegatorAddress - } - return "" +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgRedeemTokensForShares) Type() protoreflect.MessageType { + return _fastReflection_MsgRedeemTokensForShares_messageType } -func (x *MsgCreateValidator) GetValidatorAddress() string { - if x != nil { - return x.ValidatorAddress - } - return "" +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgRedeemTokensForShares) New() protoreflect.Message { + return new(fastReflection_MsgRedeemTokensForShares) } -func (x *MsgCreateValidator) GetPubkey() *anypb.Any { - if x != nil { - return x.Pubkey - } - return nil +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgRedeemTokensForShares) Interface() protoreflect.ProtoMessage { + return (*MsgRedeemTokensForShares)(x) } -func (x *MsgCreateValidator) GetValue() *v1beta1.Coin { - if x != nil { - return x.Value +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgRedeemTokensForShares) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.DelegatorAddress != "" { + value := protoreflect.ValueOfString(x.DelegatorAddress) + if !f(fd_MsgRedeemTokensForShares_delegator_address, value) { + return + } + } + if x.Amount != nil { + value := protoreflect.ValueOfMessage(x.Amount.ProtoReflect()) + if !f(fd_MsgRedeemTokensForShares_amount, value) { + return + } } - return nil -} - -// MsgCreateValidatorResponse defines the Msg/CreateValidator response type. -type MsgCreateValidatorResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields } -func (x *MsgCreateValidatorResponse) Reset() { - *x = MsgCreateValidatorResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgRedeemTokensForShares) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgRedeemTokensForShares.delegator_address": + return x.DelegatorAddress != "" + case "cosmos.staking.v1beta1.MsgRedeemTokensForShares.amount": + return x.Amount != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgRedeemTokensForShares")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgRedeemTokensForShares does not contain field %s", fd.FullName())) } } -func (x *MsgCreateValidatorResponse) String() string { - return protoimpl.X.MessageStringOf(x) +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgRedeemTokensForShares) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgRedeemTokensForShares.delegator_address": + x.DelegatorAddress = "" + case "cosmos.staking.v1beta1.MsgRedeemTokensForShares.amount": + x.Amount = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgRedeemTokensForShares")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgRedeemTokensForShares does not contain field %s", fd.FullName())) + } } -func (*MsgCreateValidatorResponse) ProtoMessage() {} - -// Deprecated: Use MsgCreateValidatorResponse.ProtoReflect.Descriptor instead. -func (*MsgCreateValidatorResponse) Descriptor() ([]byte, []int) { - return file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP(), []int{1} +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgRedeemTokensForShares) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cosmos.staking.v1beta1.MsgRedeemTokensForShares.delegator_address": + value := x.DelegatorAddress + return protoreflect.ValueOfString(value) + case "cosmos.staking.v1beta1.MsgRedeemTokensForShares.amount": + value := x.Amount + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgRedeemTokensForShares")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgRedeemTokensForShares does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgRedeemTokensForShares) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgRedeemTokensForShares.delegator_address": + x.DelegatorAddress = value.Interface().(string) + case "cosmos.staking.v1beta1.MsgRedeemTokensForShares.amount": + x.Amount = value.Message().Interface().(*v1beta1.Coin) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgRedeemTokensForShares")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgRedeemTokensForShares does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgRedeemTokensForShares) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgRedeemTokensForShares.amount": + if x.Amount == nil { + x.Amount = new(v1beta1.Coin) + } + return protoreflect.ValueOfMessage(x.Amount.ProtoReflect()) + case "cosmos.staking.v1beta1.MsgRedeemTokensForShares.delegator_address": + panic(fmt.Errorf("field delegator_address of message cosmos.staking.v1beta1.MsgRedeemTokensForShares is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgRedeemTokensForShares")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgRedeemTokensForShares does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgRedeemTokensForShares) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgRedeemTokensForShares.delegator_address": + return protoreflect.ValueOfString("") + case "cosmos.staking.v1beta1.MsgRedeemTokensForShares.amount": + m := new(v1beta1.Coin) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgRedeemTokensForShares")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgRedeemTokensForShares does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgRedeemTokensForShares) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cosmos.staking.v1beta1.MsgRedeemTokensForShares", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgRedeemTokensForShares) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgRedeemTokensForShares) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgRedeemTokensForShares) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgRedeemTokensForShares) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgRedeemTokensForShares) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.DelegatorAddress) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.Amount != nil { + l = options.Size(x.Amount) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgRedeemTokensForShares) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Amount != nil { + encoded, err := options.Marshal(x.Amount) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x12 + } + if len(x.DelegatorAddress) > 0 { + i -= len(x.DelegatorAddress) + copy(dAtA[i:], x.DelegatorAddress) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.DelegatorAddress))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgRedeemTokensForShares) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, 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 protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRedeemTokensForShares: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRedeemTokensForShares: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field DelegatorAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.DelegatorAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Amount == nil { + x.Amount = &v1beta1.Coin{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Amount); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgRedeemTokensForSharesResponse protoreflect.MessageDescriptor + fd_MsgRedeemTokensForSharesResponse_amount protoreflect.FieldDescriptor +) + +func init() { + file_cosmos_staking_v1beta1_tx_proto_init() + md_MsgRedeemTokensForSharesResponse = File_cosmos_staking_v1beta1_tx_proto.Messages().ByName("MsgRedeemTokensForSharesResponse") + fd_MsgRedeemTokensForSharesResponse_amount = md_MsgRedeemTokensForSharesResponse.Fields().ByName("amount") +} + +var _ protoreflect.Message = (*fastReflection_MsgRedeemTokensForSharesResponse)(nil) + +type fastReflection_MsgRedeemTokensForSharesResponse MsgRedeemTokensForSharesResponse + +func (x *MsgRedeemTokensForSharesResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgRedeemTokensForSharesResponse)(x) +} + +func (x *MsgRedeemTokensForSharesResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgRedeemTokensForSharesResponse_messageType fastReflection_MsgRedeemTokensForSharesResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgRedeemTokensForSharesResponse_messageType{} + +type fastReflection_MsgRedeemTokensForSharesResponse_messageType struct{} + +func (x fastReflection_MsgRedeemTokensForSharesResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgRedeemTokensForSharesResponse)(nil) +} +func (x fastReflection_MsgRedeemTokensForSharesResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgRedeemTokensForSharesResponse) +} +func (x fastReflection_MsgRedeemTokensForSharesResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgRedeemTokensForSharesResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgRedeemTokensForSharesResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgRedeemTokensForSharesResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgRedeemTokensForSharesResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgRedeemTokensForSharesResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgRedeemTokensForSharesResponse) New() protoreflect.Message { + return new(fastReflection_MsgRedeemTokensForSharesResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgRedeemTokensForSharesResponse) Interface() protoreflect.ProtoMessage { + return (*MsgRedeemTokensForSharesResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgRedeemTokensForSharesResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Amount != nil { + value := protoreflect.ValueOfMessage(x.Amount.ProtoReflect()) + if !f(fd_MsgRedeemTokensForSharesResponse_amount, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgRedeemTokensForSharesResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse.amount": + return x.Amount != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgRedeemTokensForSharesResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse.amount": + x.Amount = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgRedeemTokensForSharesResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse.amount": + value := x.Amount + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgRedeemTokensForSharesResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse.amount": + x.Amount = value.Message().Interface().(*v1beta1.Coin) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgRedeemTokensForSharesResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse.amount": + if x.Amount == nil { + x.Amount = new(v1beta1.Coin) + } + return protoreflect.ValueOfMessage(x.Amount.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgRedeemTokensForSharesResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse.amount": + m := new(v1beta1.Coin) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgRedeemTokensForSharesResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgRedeemTokensForSharesResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgRedeemTokensForSharesResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgRedeemTokensForSharesResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgRedeemTokensForSharesResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgRedeemTokensForSharesResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.Amount != nil { + l = options.Size(x.Amount) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgRedeemTokensForSharesResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Amount != nil { + encoded, err := options.Marshal(x.Amount) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgRedeemTokensForSharesResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, 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 protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRedeemTokensForSharesResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRedeemTokensForSharesResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Amount == nil { + x.Amount = &v1beta1.Coin{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Amount); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgTransferTokenizeShareRecord protoreflect.MessageDescriptor + fd_MsgTransferTokenizeShareRecord_tokenize_share_record_id protoreflect.FieldDescriptor + fd_MsgTransferTokenizeShareRecord_sender protoreflect.FieldDescriptor + fd_MsgTransferTokenizeShareRecord_new_owner protoreflect.FieldDescriptor +) + +func init() { + file_cosmos_staking_v1beta1_tx_proto_init() + md_MsgTransferTokenizeShareRecord = File_cosmos_staking_v1beta1_tx_proto.Messages().ByName("MsgTransferTokenizeShareRecord") + fd_MsgTransferTokenizeShareRecord_tokenize_share_record_id = md_MsgTransferTokenizeShareRecord.Fields().ByName("tokenize_share_record_id") + fd_MsgTransferTokenizeShareRecord_sender = md_MsgTransferTokenizeShareRecord.Fields().ByName("sender") + fd_MsgTransferTokenizeShareRecord_new_owner = md_MsgTransferTokenizeShareRecord.Fields().ByName("new_owner") +} + +var _ protoreflect.Message = (*fastReflection_MsgTransferTokenizeShareRecord)(nil) + +type fastReflection_MsgTransferTokenizeShareRecord MsgTransferTokenizeShareRecord + +func (x *MsgTransferTokenizeShareRecord) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgTransferTokenizeShareRecord)(x) +} + +func (x *MsgTransferTokenizeShareRecord) slowProtoReflect() protoreflect.Message { + mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgTransferTokenizeShareRecord_messageType fastReflection_MsgTransferTokenizeShareRecord_messageType +var _ protoreflect.MessageType = fastReflection_MsgTransferTokenizeShareRecord_messageType{} + +type fastReflection_MsgTransferTokenizeShareRecord_messageType struct{} + +func (x fastReflection_MsgTransferTokenizeShareRecord_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgTransferTokenizeShareRecord)(nil) +} +func (x fastReflection_MsgTransferTokenizeShareRecord_messageType) New() protoreflect.Message { + return new(fastReflection_MsgTransferTokenizeShareRecord) +} +func (x fastReflection_MsgTransferTokenizeShareRecord_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgTransferTokenizeShareRecord +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgTransferTokenizeShareRecord) Descriptor() protoreflect.MessageDescriptor { + return md_MsgTransferTokenizeShareRecord +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgTransferTokenizeShareRecord) Type() protoreflect.MessageType { + return _fastReflection_MsgTransferTokenizeShareRecord_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgTransferTokenizeShareRecord) New() protoreflect.Message { + return new(fastReflection_MsgTransferTokenizeShareRecord) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgTransferTokenizeShareRecord) Interface() protoreflect.ProtoMessage { + return (*MsgTransferTokenizeShareRecord)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgTransferTokenizeShareRecord) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.TokenizeShareRecordId != uint64(0) { + value := protoreflect.ValueOfUint64(x.TokenizeShareRecordId) + if !f(fd_MsgTransferTokenizeShareRecord_tokenize_share_record_id, value) { + return + } + } + if x.Sender != "" { + value := protoreflect.ValueOfString(x.Sender) + if !f(fd_MsgTransferTokenizeShareRecord_sender, value) { + return + } + } + if x.NewOwner != "" { + value := protoreflect.ValueOfString(x.NewOwner) + if !f(fd_MsgTransferTokenizeShareRecord_new_owner, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgTransferTokenizeShareRecord) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgTransferTokenizeShareRecord.tokenize_share_record_id": + return x.TokenizeShareRecordId != uint64(0) + case "cosmos.staking.v1beta1.MsgTransferTokenizeShareRecord.sender": + return x.Sender != "" + case "cosmos.staking.v1beta1.MsgTransferTokenizeShareRecord.new_owner": + return x.NewOwner != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgTransferTokenizeShareRecord")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgTransferTokenizeShareRecord does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgTransferTokenizeShareRecord) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgTransferTokenizeShareRecord.tokenize_share_record_id": + x.TokenizeShareRecordId = uint64(0) + case "cosmos.staking.v1beta1.MsgTransferTokenizeShareRecord.sender": + x.Sender = "" + case "cosmos.staking.v1beta1.MsgTransferTokenizeShareRecord.new_owner": + x.NewOwner = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgTransferTokenizeShareRecord")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgTransferTokenizeShareRecord does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgTransferTokenizeShareRecord) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cosmos.staking.v1beta1.MsgTransferTokenizeShareRecord.tokenize_share_record_id": + value := x.TokenizeShareRecordId + return protoreflect.ValueOfUint64(value) + case "cosmos.staking.v1beta1.MsgTransferTokenizeShareRecord.sender": + value := x.Sender + return protoreflect.ValueOfString(value) + case "cosmos.staking.v1beta1.MsgTransferTokenizeShareRecord.new_owner": + value := x.NewOwner + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgTransferTokenizeShareRecord")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgTransferTokenizeShareRecord does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgTransferTokenizeShareRecord) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgTransferTokenizeShareRecord.tokenize_share_record_id": + x.TokenizeShareRecordId = value.Uint() + case "cosmos.staking.v1beta1.MsgTransferTokenizeShareRecord.sender": + x.Sender = value.Interface().(string) + case "cosmos.staking.v1beta1.MsgTransferTokenizeShareRecord.new_owner": + x.NewOwner = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgTransferTokenizeShareRecord")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgTransferTokenizeShareRecord does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgTransferTokenizeShareRecord) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgTransferTokenizeShareRecord.tokenize_share_record_id": + panic(fmt.Errorf("field tokenize_share_record_id of message cosmos.staking.v1beta1.MsgTransferTokenizeShareRecord is not mutable")) + case "cosmos.staking.v1beta1.MsgTransferTokenizeShareRecord.sender": + panic(fmt.Errorf("field sender of message cosmos.staking.v1beta1.MsgTransferTokenizeShareRecord is not mutable")) + case "cosmos.staking.v1beta1.MsgTransferTokenizeShareRecord.new_owner": + panic(fmt.Errorf("field new_owner of message cosmos.staking.v1beta1.MsgTransferTokenizeShareRecord is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgTransferTokenizeShareRecord")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgTransferTokenizeShareRecord does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgTransferTokenizeShareRecord) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgTransferTokenizeShareRecord.tokenize_share_record_id": + return protoreflect.ValueOfUint64(uint64(0)) + case "cosmos.staking.v1beta1.MsgTransferTokenizeShareRecord.sender": + return protoreflect.ValueOfString("") + case "cosmos.staking.v1beta1.MsgTransferTokenizeShareRecord.new_owner": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgTransferTokenizeShareRecord")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgTransferTokenizeShareRecord does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgTransferTokenizeShareRecord) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cosmos.staking.v1beta1.MsgTransferTokenizeShareRecord", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgTransferTokenizeShareRecord) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgTransferTokenizeShareRecord) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgTransferTokenizeShareRecord) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgTransferTokenizeShareRecord) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgTransferTokenizeShareRecord) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.TokenizeShareRecordId != 0 { + n += 1 + runtime.Sov(uint64(x.TokenizeShareRecordId)) + } + l = len(x.Sender) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.NewOwner) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgTransferTokenizeShareRecord) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.NewOwner) > 0 { + i -= len(x.NewOwner) + copy(dAtA[i:], x.NewOwner) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.NewOwner))) + i-- + dAtA[i] = 0x1a + } + if len(x.Sender) > 0 { + i -= len(x.Sender) + copy(dAtA[i:], x.Sender) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Sender))) + i-- + dAtA[i] = 0x12 + } + if x.TokenizeShareRecordId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.TokenizeShareRecordId)) + i-- + dAtA[i] = 0x8 + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgTransferTokenizeShareRecord) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, 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 protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgTransferTokenizeShareRecord: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgTransferTokenizeShareRecord: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field TokenizeShareRecordId", wireType) + } + x.TokenizeShareRecordId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.TokenizeShareRecordId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Sender", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Sender = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field NewOwner", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.NewOwner = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgTransferTokenizeShareRecordResponse protoreflect.MessageDescriptor +) + +func init() { + file_cosmos_staking_v1beta1_tx_proto_init() + md_MsgTransferTokenizeShareRecordResponse = File_cosmos_staking_v1beta1_tx_proto.Messages().ByName("MsgTransferTokenizeShareRecordResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgTransferTokenizeShareRecordResponse)(nil) + +type fastReflection_MsgTransferTokenizeShareRecordResponse MsgTransferTokenizeShareRecordResponse + +func (x *MsgTransferTokenizeShareRecordResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgTransferTokenizeShareRecordResponse)(x) +} + +func (x *MsgTransferTokenizeShareRecordResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgTransferTokenizeShareRecordResponse_messageType fastReflection_MsgTransferTokenizeShareRecordResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgTransferTokenizeShareRecordResponse_messageType{} + +type fastReflection_MsgTransferTokenizeShareRecordResponse_messageType struct{} + +func (x fastReflection_MsgTransferTokenizeShareRecordResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgTransferTokenizeShareRecordResponse)(nil) +} +func (x fastReflection_MsgTransferTokenizeShareRecordResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgTransferTokenizeShareRecordResponse) +} +func (x fastReflection_MsgTransferTokenizeShareRecordResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgTransferTokenizeShareRecordResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgTransferTokenizeShareRecordResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgTransferTokenizeShareRecordResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgTransferTokenizeShareRecordResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgTransferTokenizeShareRecordResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgTransferTokenizeShareRecordResponse) New() protoreflect.Message { + return new(fastReflection_MsgTransferTokenizeShareRecordResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgTransferTokenizeShareRecordResponse) Interface() protoreflect.ProtoMessage { + return (*MsgTransferTokenizeShareRecordResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgTransferTokenizeShareRecordResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgTransferTokenizeShareRecordResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgTransferTokenizeShareRecordResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgTransferTokenizeShareRecordResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgTransferTokenizeShareRecordResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgTransferTokenizeShareRecordResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgTransferTokenizeShareRecordResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgTransferTokenizeShareRecordResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgTransferTokenizeShareRecordResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgTransferTokenizeShareRecordResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgTransferTokenizeShareRecordResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgTransferTokenizeShareRecordResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgTransferTokenizeShareRecordResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgTransferTokenizeShareRecordResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgTransferTokenizeShareRecordResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgTransferTokenizeShareRecordResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgTransferTokenizeShareRecordResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgTransferTokenizeShareRecordResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgTransferTokenizeShareRecordResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgTransferTokenizeShareRecordResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cosmos.staking.v1beta1.MsgTransferTokenizeShareRecordResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgTransferTokenizeShareRecordResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgTransferTokenizeShareRecordResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgTransferTokenizeShareRecordResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgTransferTokenizeShareRecordResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgTransferTokenizeShareRecordResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgTransferTokenizeShareRecordResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgTransferTokenizeShareRecordResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, 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 protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgTransferTokenizeShareRecordResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgTransferTokenizeShareRecordResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgDisableTokenizeShares protoreflect.MessageDescriptor + fd_MsgDisableTokenizeShares_delegator_address protoreflect.FieldDescriptor +) + +func init() { + file_cosmos_staking_v1beta1_tx_proto_init() + md_MsgDisableTokenizeShares = File_cosmos_staking_v1beta1_tx_proto.Messages().ByName("MsgDisableTokenizeShares") + fd_MsgDisableTokenizeShares_delegator_address = md_MsgDisableTokenizeShares.Fields().ByName("delegator_address") +} + +var _ protoreflect.Message = (*fastReflection_MsgDisableTokenizeShares)(nil) + +type fastReflection_MsgDisableTokenizeShares MsgDisableTokenizeShares + +func (x *MsgDisableTokenizeShares) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgDisableTokenizeShares)(x) +} + +func (x *MsgDisableTokenizeShares) slowProtoReflect() protoreflect.Message { + mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[22] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgDisableTokenizeShares_messageType fastReflection_MsgDisableTokenizeShares_messageType +var _ protoreflect.MessageType = fastReflection_MsgDisableTokenizeShares_messageType{} + +type fastReflection_MsgDisableTokenizeShares_messageType struct{} + +func (x fastReflection_MsgDisableTokenizeShares_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgDisableTokenizeShares)(nil) +} +func (x fastReflection_MsgDisableTokenizeShares_messageType) New() protoreflect.Message { + return new(fastReflection_MsgDisableTokenizeShares) +} +func (x fastReflection_MsgDisableTokenizeShares_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgDisableTokenizeShares +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgDisableTokenizeShares) Descriptor() protoreflect.MessageDescriptor { + return md_MsgDisableTokenizeShares +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgDisableTokenizeShares) Type() protoreflect.MessageType { + return _fastReflection_MsgDisableTokenizeShares_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgDisableTokenizeShares) New() protoreflect.Message { + return new(fastReflection_MsgDisableTokenizeShares) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgDisableTokenizeShares) Interface() protoreflect.ProtoMessage { + return (*MsgDisableTokenizeShares)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgDisableTokenizeShares) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.DelegatorAddress != "" { + value := protoreflect.ValueOfString(x.DelegatorAddress) + if !f(fd_MsgDisableTokenizeShares_delegator_address, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgDisableTokenizeShares) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgDisableTokenizeShares.delegator_address": + return x.DelegatorAddress != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgDisableTokenizeShares")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgDisableTokenizeShares does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgDisableTokenizeShares) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgDisableTokenizeShares.delegator_address": + x.DelegatorAddress = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgDisableTokenizeShares")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgDisableTokenizeShares does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgDisableTokenizeShares) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cosmos.staking.v1beta1.MsgDisableTokenizeShares.delegator_address": + value := x.DelegatorAddress + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgDisableTokenizeShares")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgDisableTokenizeShares does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgDisableTokenizeShares) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgDisableTokenizeShares.delegator_address": + x.DelegatorAddress = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgDisableTokenizeShares")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgDisableTokenizeShares does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgDisableTokenizeShares) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgDisableTokenizeShares.delegator_address": + panic(fmt.Errorf("field delegator_address of message cosmos.staking.v1beta1.MsgDisableTokenizeShares is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgDisableTokenizeShares")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgDisableTokenizeShares does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgDisableTokenizeShares) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgDisableTokenizeShares.delegator_address": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgDisableTokenizeShares")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgDisableTokenizeShares does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgDisableTokenizeShares) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cosmos.staking.v1beta1.MsgDisableTokenizeShares", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgDisableTokenizeShares) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgDisableTokenizeShares) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgDisableTokenizeShares) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgDisableTokenizeShares) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgDisableTokenizeShares) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.DelegatorAddress) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgDisableTokenizeShares) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.DelegatorAddress) > 0 { + i -= len(x.DelegatorAddress) + copy(dAtA[i:], x.DelegatorAddress) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.DelegatorAddress))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgDisableTokenizeShares) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, 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 protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgDisableTokenizeShares: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgDisableTokenizeShares: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field DelegatorAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.DelegatorAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgDisableTokenizeSharesResponse protoreflect.MessageDescriptor +) + +func init() { + file_cosmos_staking_v1beta1_tx_proto_init() + md_MsgDisableTokenizeSharesResponse = File_cosmos_staking_v1beta1_tx_proto.Messages().ByName("MsgDisableTokenizeSharesResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgDisableTokenizeSharesResponse)(nil) + +type fastReflection_MsgDisableTokenizeSharesResponse MsgDisableTokenizeSharesResponse + +func (x *MsgDisableTokenizeSharesResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgDisableTokenizeSharesResponse)(x) +} + +func (x *MsgDisableTokenizeSharesResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[23] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgDisableTokenizeSharesResponse_messageType fastReflection_MsgDisableTokenizeSharesResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgDisableTokenizeSharesResponse_messageType{} + +type fastReflection_MsgDisableTokenizeSharesResponse_messageType struct{} + +func (x fastReflection_MsgDisableTokenizeSharesResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgDisableTokenizeSharesResponse)(nil) +} +func (x fastReflection_MsgDisableTokenizeSharesResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgDisableTokenizeSharesResponse) +} +func (x fastReflection_MsgDisableTokenizeSharesResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgDisableTokenizeSharesResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgDisableTokenizeSharesResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgDisableTokenizeSharesResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgDisableTokenizeSharesResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgDisableTokenizeSharesResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgDisableTokenizeSharesResponse) New() protoreflect.Message { + return new(fastReflection_MsgDisableTokenizeSharesResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgDisableTokenizeSharesResponse) Interface() protoreflect.ProtoMessage { + return (*MsgDisableTokenizeSharesResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgDisableTokenizeSharesResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgDisableTokenizeSharesResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgDisableTokenizeSharesResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgDisableTokenizeSharesResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgDisableTokenizeSharesResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgDisableTokenizeSharesResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgDisableTokenizeSharesResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgDisableTokenizeSharesResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgDisableTokenizeSharesResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgDisableTokenizeSharesResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgDisableTokenizeSharesResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgDisableTokenizeSharesResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgDisableTokenizeSharesResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgDisableTokenizeSharesResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgDisableTokenizeSharesResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgDisableTokenizeSharesResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgDisableTokenizeSharesResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgDisableTokenizeSharesResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgDisableTokenizeSharesResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgDisableTokenizeSharesResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cosmos.staking.v1beta1.MsgDisableTokenizeSharesResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgDisableTokenizeSharesResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgDisableTokenizeSharesResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgDisableTokenizeSharesResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgDisableTokenizeSharesResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgDisableTokenizeSharesResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgDisableTokenizeSharesResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgDisableTokenizeSharesResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, 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 protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgDisableTokenizeSharesResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgDisableTokenizeSharesResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgEnableTokenizeShares protoreflect.MessageDescriptor + fd_MsgEnableTokenizeShares_delegator_address protoreflect.FieldDescriptor +) + +func init() { + file_cosmos_staking_v1beta1_tx_proto_init() + md_MsgEnableTokenizeShares = File_cosmos_staking_v1beta1_tx_proto.Messages().ByName("MsgEnableTokenizeShares") + fd_MsgEnableTokenizeShares_delegator_address = md_MsgEnableTokenizeShares.Fields().ByName("delegator_address") +} + +var _ protoreflect.Message = (*fastReflection_MsgEnableTokenizeShares)(nil) + +type fastReflection_MsgEnableTokenizeShares MsgEnableTokenizeShares + +func (x *MsgEnableTokenizeShares) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgEnableTokenizeShares)(x) +} + +func (x *MsgEnableTokenizeShares) slowProtoReflect() protoreflect.Message { + mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[24] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgEnableTokenizeShares_messageType fastReflection_MsgEnableTokenizeShares_messageType +var _ protoreflect.MessageType = fastReflection_MsgEnableTokenizeShares_messageType{} + +type fastReflection_MsgEnableTokenizeShares_messageType struct{} + +func (x fastReflection_MsgEnableTokenizeShares_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgEnableTokenizeShares)(nil) +} +func (x fastReflection_MsgEnableTokenizeShares_messageType) New() protoreflect.Message { + return new(fastReflection_MsgEnableTokenizeShares) +} +func (x fastReflection_MsgEnableTokenizeShares_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgEnableTokenizeShares +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgEnableTokenizeShares) Descriptor() protoreflect.MessageDescriptor { + return md_MsgEnableTokenizeShares +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgEnableTokenizeShares) Type() protoreflect.MessageType { + return _fastReflection_MsgEnableTokenizeShares_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgEnableTokenizeShares) New() protoreflect.Message { + return new(fastReflection_MsgEnableTokenizeShares) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgEnableTokenizeShares) Interface() protoreflect.ProtoMessage { + return (*MsgEnableTokenizeShares)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgEnableTokenizeShares) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.DelegatorAddress != "" { + value := protoreflect.ValueOfString(x.DelegatorAddress) + if !f(fd_MsgEnableTokenizeShares_delegator_address, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgEnableTokenizeShares) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgEnableTokenizeShares.delegator_address": + return x.DelegatorAddress != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgEnableTokenizeShares")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgEnableTokenizeShares does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgEnableTokenizeShares) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgEnableTokenizeShares.delegator_address": + x.DelegatorAddress = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgEnableTokenizeShares")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgEnableTokenizeShares does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgEnableTokenizeShares) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cosmos.staking.v1beta1.MsgEnableTokenizeShares.delegator_address": + value := x.DelegatorAddress + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgEnableTokenizeShares")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgEnableTokenizeShares does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgEnableTokenizeShares) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgEnableTokenizeShares.delegator_address": + x.DelegatorAddress = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgEnableTokenizeShares")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgEnableTokenizeShares does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgEnableTokenizeShares) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgEnableTokenizeShares.delegator_address": + panic(fmt.Errorf("field delegator_address of message cosmos.staking.v1beta1.MsgEnableTokenizeShares is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgEnableTokenizeShares")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgEnableTokenizeShares does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgEnableTokenizeShares) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgEnableTokenizeShares.delegator_address": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgEnableTokenizeShares")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgEnableTokenizeShares does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgEnableTokenizeShares) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cosmos.staking.v1beta1.MsgEnableTokenizeShares", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgEnableTokenizeShares) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgEnableTokenizeShares) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgEnableTokenizeShares) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgEnableTokenizeShares) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgEnableTokenizeShares) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.DelegatorAddress) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgEnableTokenizeShares) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.DelegatorAddress) > 0 { + i -= len(x.DelegatorAddress) + copy(dAtA[i:], x.DelegatorAddress) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.DelegatorAddress))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgEnableTokenizeShares) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, 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 protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgEnableTokenizeShares: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgEnableTokenizeShares: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field DelegatorAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.DelegatorAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgEnableTokenizeSharesResponse protoreflect.MessageDescriptor + fd_MsgEnableTokenizeSharesResponse_completion_time protoreflect.FieldDescriptor +) + +func init() { + file_cosmos_staking_v1beta1_tx_proto_init() + md_MsgEnableTokenizeSharesResponse = File_cosmos_staking_v1beta1_tx_proto.Messages().ByName("MsgEnableTokenizeSharesResponse") + fd_MsgEnableTokenizeSharesResponse_completion_time = md_MsgEnableTokenizeSharesResponse.Fields().ByName("completion_time") +} + +var _ protoreflect.Message = (*fastReflection_MsgEnableTokenizeSharesResponse)(nil) + +type fastReflection_MsgEnableTokenizeSharesResponse MsgEnableTokenizeSharesResponse + +func (x *MsgEnableTokenizeSharesResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgEnableTokenizeSharesResponse)(x) +} + +func (x *MsgEnableTokenizeSharesResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[25] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgEnableTokenizeSharesResponse_messageType fastReflection_MsgEnableTokenizeSharesResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgEnableTokenizeSharesResponse_messageType{} + +type fastReflection_MsgEnableTokenizeSharesResponse_messageType struct{} + +func (x fastReflection_MsgEnableTokenizeSharesResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgEnableTokenizeSharesResponse)(nil) +} +func (x fastReflection_MsgEnableTokenizeSharesResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgEnableTokenizeSharesResponse) +} +func (x fastReflection_MsgEnableTokenizeSharesResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgEnableTokenizeSharesResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgEnableTokenizeSharesResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgEnableTokenizeSharesResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgEnableTokenizeSharesResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgEnableTokenizeSharesResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgEnableTokenizeSharesResponse) New() protoreflect.Message { + return new(fastReflection_MsgEnableTokenizeSharesResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgEnableTokenizeSharesResponse) Interface() protoreflect.ProtoMessage { + return (*MsgEnableTokenizeSharesResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgEnableTokenizeSharesResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.CompletionTime != nil { + value := protoreflect.ValueOfMessage(x.CompletionTime.ProtoReflect()) + if !f(fd_MsgEnableTokenizeSharesResponse_completion_time, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgEnableTokenizeSharesResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgEnableTokenizeSharesResponse.completion_time": + return x.CompletionTime != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgEnableTokenizeSharesResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgEnableTokenizeSharesResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgEnableTokenizeSharesResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgEnableTokenizeSharesResponse.completion_time": + x.CompletionTime = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgEnableTokenizeSharesResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgEnableTokenizeSharesResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgEnableTokenizeSharesResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cosmos.staking.v1beta1.MsgEnableTokenizeSharesResponse.completion_time": + value := x.CompletionTime + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgEnableTokenizeSharesResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgEnableTokenizeSharesResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgEnableTokenizeSharesResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgEnableTokenizeSharesResponse.completion_time": + x.CompletionTime = value.Message().Interface().(*timestamppb.Timestamp) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgEnableTokenizeSharesResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgEnableTokenizeSharesResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgEnableTokenizeSharesResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgEnableTokenizeSharesResponse.completion_time": + if x.CompletionTime == nil { + x.CompletionTime = new(timestamppb.Timestamp) + } + return protoreflect.ValueOfMessage(x.CompletionTime.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgEnableTokenizeSharesResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgEnableTokenizeSharesResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgEnableTokenizeSharesResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgEnableTokenizeSharesResponse.completion_time": + m := new(timestamppb.Timestamp) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgEnableTokenizeSharesResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgEnableTokenizeSharesResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgEnableTokenizeSharesResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cosmos.staking.v1beta1.MsgEnableTokenizeSharesResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgEnableTokenizeSharesResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgEnableTokenizeSharesResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgEnableTokenizeSharesResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgEnableTokenizeSharesResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgEnableTokenizeSharesResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.CompletionTime != nil { + l = options.Size(x.CompletionTime) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgEnableTokenizeSharesResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.CompletionTime != nil { + encoded, err := options.Marshal(x.CompletionTime) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgEnableTokenizeSharesResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, 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 protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgEnableTokenizeSharesResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgEnableTokenizeSharesResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CompletionTime", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.CompletionTime == nil { + x.CompletionTime = ×tamppb.Timestamp{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.CompletionTime); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgValidatorBond protoreflect.MessageDescriptor + fd_MsgValidatorBond_delegator_address protoreflect.FieldDescriptor + fd_MsgValidatorBond_validator_address protoreflect.FieldDescriptor +) + +func init() { + file_cosmos_staking_v1beta1_tx_proto_init() + md_MsgValidatorBond = File_cosmos_staking_v1beta1_tx_proto.Messages().ByName("MsgValidatorBond") + fd_MsgValidatorBond_delegator_address = md_MsgValidatorBond.Fields().ByName("delegator_address") + fd_MsgValidatorBond_validator_address = md_MsgValidatorBond.Fields().ByName("validator_address") +} + +var _ protoreflect.Message = (*fastReflection_MsgValidatorBond)(nil) + +type fastReflection_MsgValidatorBond MsgValidatorBond + +func (x *MsgValidatorBond) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgValidatorBond)(x) +} + +func (x *MsgValidatorBond) slowProtoReflect() protoreflect.Message { + mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[26] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgValidatorBond_messageType fastReflection_MsgValidatorBond_messageType +var _ protoreflect.MessageType = fastReflection_MsgValidatorBond_messageType{} + +type fastReflection_MsgValidatorBond_messageType struct{} + +func (x fastReflection_MsgValidatorBond_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgValidatorBond)(nil) +} +func (x fastReflection_MsgValidatorBond_messageType) New() protoreflect.Message { + return new(fastReflection_MsgValidatorBond) +} +func (x fastReflection_MsgValidatorBond_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgValidatorBond +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgValidatorBond) Descriptor() protoreflect.MessageDescriptor { + return md_MsgValidatorBond +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgValidatorBond) Type() protoreflect.MessageType { + return _fastReflection_MsgValidatorBond_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgValidatorBond) New() protoreflect.Message { + return new(fastReflection_MsgValidatorBond) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgValidatorBond) Interface() protoreflect.ProtoMessage { + return (*MsgValidatorBond)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgValidatorBond) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.DelegatorAddress != "" { + value := protoreflect.ValueOfString(x.DelegatorAddress) + if !f(fd_MsgValidatorBond_delegator_address, value) { + return + } + } + if x.ValidatorAddress != "" { + value := protoreflect.ValueOfString(x.ValidatorAddress) + if !f(fd_MsgValidatorBond_validator_address, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgValidatorBond) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgValidatorBond.delegator_address": + return x.DelegatorAddress != "" + case "cosmos.staking.v1beta1.MsgValidatorBond.validator_address": + return x.ValidatorAddress != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgValidatorBond")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgValidatorBond does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgValidatorBond) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgValidatorBond.delegator_address": + x.DelegatorAddress = "" + case "cosmos.staking.v1beta1.MsgValidatorBond.validator_address": + x.ValidatorAddress = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgValidatorBond")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgValidatorBond does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgValidatorBond) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cosmos.staking.v1beta1.MsgValidatorBond.delegator_address": + value := x.DelegatorAddress + return protoreflect.ValueOfString(value) + case "cosmos.staking.v1beta1.MsgValidatorBond.validator_address": + value := x.ValidatorAddress + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgValidatorBond")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgValidatorBond does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgValidatorBond) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgValidatorBond.delegator_address": + x.DelegatorAddress = value.Interface().(string) + case "cosmos.staking.v1beta1.MsgValidatorBond.validator_address": + x.ValidatorAddress = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgValidatorBond")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgValidatorBond does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgValidatorBond) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgValidatorBond.delegator_address": + panic(fmt.Errorf("field delegator_address of message cosmos.staking.v1beta1.MsgValidatorBond is not mutable")) + case "cosmos.staking.v1beta1.MsgValidatorBond.validator_address": + panic(fmt.Errorf("field validator_address of message cosmos.staking.v1beta1.MsgValidatorBond is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgValidatorBond")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgValidatorBond does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgValidatorBond) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgValidatorBond.delegator_address": + return protoreflect.ValueOfString("") + case "cosmos.staking.v1beta1.MsgValidatorBond.validator_address": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgValidatorBond")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgValidatorBond does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgValidatorBond) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cosmos.staking.v1beta1.MsgValidatorBond", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgValidatorBond) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgValidatorBond) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgValidatorBond) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgValidatorBond) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgValidatorBond) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.DelegatorAddress) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.ValidatorAddress) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgValidatorBond) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.ValidatorAddress) > 0 { + i -= len(x.ValidatorAddress) + copy(dAtA[i:], x.ValidatorAddress) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ValidatorAddress))) + i-- + dAtA[i] = 0x12 + } + if len(x.DelegatorAddress) > 0 { + i -= len(x.DelegatorAddress) + copy(dAtA[i:], x.DelegatorAddress) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.DelegatorAddress))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgValidatorBond) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, 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 protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgValidatorBond: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgValidatorBond: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field DelegatorAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.DelegatorAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ValidatorAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.ValidatorAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgValidatorBondResponse protoreflect.MessageDescriptor +) + +func init() { + file_cosmos_staking_v1beta1_tx_proto_init() + md_MsgValidatorBondResponse = File_cosmos_staking_v1beta1_tx_proto.Messages().ByName("MsgValidatorBondResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgValidatorBondResponse)(nil) + +type fastReflection_MsgValidatorBondResponse MsgValidatorBondResponse + +func (x *MsgValidatorBondResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgValidatorBondResponse)(x) +} + +func (x *MsgValidatorBondResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[27] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgValidatorBondResponse_messageType fastReflection_MsgValidatorBondResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgValidatorBondResponse_messageType{} + +type fastReflection_MsgValidatorBondResponse_messageType struct{} + +func (x fastReflection_MsgValidatorBondResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgValidatorBondResponse)(nil) +} +func (x fastReflection_MsgValidatorBondResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgValidatorBondResponse) +} +func (x fastReflection_MsgValidatorBondResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgValidatorBondResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgValidatorBondResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgValidatorBondResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgValidatorBondResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgValidatorBondResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgValidatorBondResponse) New() protoreflect.Message { + return new(fastReflection_MsgValidatorBondResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgValidatorBondResponse) Interface() protoreflect.ProtoMessage { + return (*MsgValidatorBondResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgValidatorBondResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgValidatorBondResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgValidatorBondResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgValidatorBondResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgValidatorBondResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgValidatorBondResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgValidatorBondResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgValidatorBondResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgValidatorBondResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgValidatorBondResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgValidatorBondResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgValidatorBondResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgValidatorBondResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgValidatorBondResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgValidatorBondResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgValidatorBondResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgValidatorBondResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgValidatorBondResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgValidatorBondResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgValidatorBondResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cosmos.staking.v1beta1.MsgValidatorBondResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgValidatorBondResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgValidatorBondResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgValidatorBondResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgValidatorBondResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgValidatorBondResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgValidatorBondResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgValidatorBondResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, 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 protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgValidatorBondResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgValidatorBondResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.0 +// protoc (unknown) +// source: cosmos/staking/v1beta1/tx.proto + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// MsgCreateValidator defines a SDK message for creating a new validator. +type MsgCreateValidator struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Description *Description `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"` + Commission *CommissionRates `protobuf:"bytes,2,opt,name=commission,proto3" json:"commission,omitempty"` + MinSelfDelegation string `protobuf:"bytes,3,opt,name=min_self_delegation,json=minSelfDelegation,proto3" json:"min_self_delegation,omitempty"` + // Deprecated: Use of Delegator Address in MsgCreateValidator is deprecated. + // The validator address bytes and delegator address bytes refer to the same account while creating validator (defer + // only in bech32 notation). + // + // Deprecated: Do not use. + DelegatorAddress string `protobuf:"bytes,4,opt,name=delegator_address,json=delegatorAddress,proto3" json:"delegator_address,omitempty"` + ValidatorAddress string `protobuf:"bytes,5,opt,name=validator_address,json=validatorAddress,proto3" json:"validator_address,omitempty"` + Pubkey *anypb.Any `protobuf:"bytes,6,opt,name=pubkey,proto3" json:"pubkey,omitempty"` + Value *v1beta1.Coin `protobuf:"bytes,7,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *MsgCreateValidator) Reset() { + *x = MsgCreateValidator{} + if protoimpl.UnsafeEnabled { + mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCreateValidator) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCreateValidator) ProtoMessage() {} + +// Deprecated: Use MsgCreateValidator.ProtoReflect.Descriptor instead. +func (*MsgCreateValidator) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP(), []int{0} +} + +func (x *MsgCreateValidator) GetDescription() *Description { + if x != nil { + return x.Description + } + return nil +} + +func (x *MsgCreateValidator) GetCommission() *CommissionRates { + if x != nil { + return x.Commission + } + return nil +} + +func (x *MsgCreateValidator) GetMinSelfDelegation() string { + if x != nil { + return x.MinSelfDelegation + } + return "" +} + +// Deprecated: Do not use. +func (x *MsgCreateValidator) GetDelegatorAddress() string { + if x != nil { + return x.DelegatorAddress + } + return "" +} + +func (x *MsgCreateValidator) GetValidatorAddress() string { + if x != nil { + return x.ValidatorAddress + } + return "" +} + +func (x *MsgCreateValidator) GetPubkey() *anypb.Any { + if x != nil { + return x.Pubkey + } + return nil +} + +func (x *MsgCreateValidator) GetValue() *v1beta1.Coin { + if x != nil { + return x.Value + } + return nil +} + +// MsgCreateValidatorResponse defines the Msg/CreateValidator response type. +type MsgCreateValidatorResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MsgCreateValidatorResponse) Reset() { + *x = MsgCreateValidatorResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCreateValidatorResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCreateValidatorResponse) ProtoMessage() {} + +// Deprecated: Use MsgCreateValidatorResponse.ProtoReflect.Descriptor instead. +func (*MsgCreateValidatorResponse) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP(), []int{1} +} + +// MsgEditValidator defines a SDK message for editing an existing validator. +type MsgEditValidator struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Description *Description `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"` + ValidatorAddress string `protobuf:"bytes,2,opt,name=validator_address,json=validatorAddress,proto3" json:"validator_address,omitempty"` + // We pass a reference to the new commission rate and min self delegation as + // it's not mandatory to update. If not updated, the deserialized rate will be + // zero with no way to distinguish if an update was intended. + // REF: #2373 + CommissionRate string `protobuf:"bytes,3,opt,name=commission_rate,json=commissionRate,proto3" json:"commission_rate,omitempty"` + MinSelfDelegation string `protobuf:"bytes,4,opt,name=min_self_delegation,json=minSelfDelegation,proto3" json:"min_self_delegation,omitempty"` +} + +func (x *MsgEditValidator) Reset() { + *x = MsgEditValidator{} + if protoimpl.UnsafeEnabled { + mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgEditValidator) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgEditValidator) ProtoMessage() {} + +// Deprecated: Use MsgEditValidator.ProtoReflect.Descriptor instead. +func (*MsgEditValidator) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP(), []int{2} +} + +func (x *MsgEditValidator) GetDescription() *Description { + if x != nil { + return x.Description + } + return nil +} + +func (x *MsgEditValidator) GetValidatorAddress() string { + if x != nil { + return x.ValidatorAddress + } + return "" +} + +func (x *MsgEditValidator) GetCommissionRate() string { + if x != nil { + return x.CommissionRate + } + return "" +} + +func (x *MsgEditValidator) GetMinSelfDelegation() string { + if x != nil { + return x.MinSelfDelegation + } + return "" +} + +// MsgEditValidatorResponse defines the Msg/EditValidator response type. +type MsgEditValidatorResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MsgEditValidatorResponse) Reset() { + *x = MsgEditValidatorResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgEditValidatorResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgEditValidatorResponse) ProtoMessage() {} + +// Deprecated: Use MsgEditValidatorResponse.ProtoReflect.Descriptor instead. +func (*MsgEditValidatorResponse) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP(), []int{3} +} + +// MsgDelegate defines a SDK message for performing a delegation of coins +// from a delegator to a validator. +type MsgDelegate struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DelegatorAddress string `protobuf:"bytes,1,opt,name=delegator_address,json=delegatorAddress,proto3" json:"delegator_address,omitempty"` + ValidatorAddress string `protobuf:"bytes,2,opt,name=validator_address,json=validatorAddress,proto3" json:"validator_address,omitempty"` + Amount *v1beta1.Coin `protobuf:"bytes,3,opt,name=amount,proto3" json:"amount,omitempty"` +} + +func (x *MsgDelegate) Reset() { + *x = MsgDelegate{} + if protoimpl.UnsafeEnabled { + mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgDelegate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgDelegate) ProtoMessage() {} + +// Deprecated: Use MsgDelegate.ProtoReflect.Descriptor instead. +func (*MsgDelegate) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP(), []int{4} +} + +func (x *MsgDelegate) GetDelegatorAddress() string { + if x != nil { + return x.DelegatorAddress + } + return "" +} + +func (x *MsgDelegate) GetValidatorAddress() string { + if x != nil { + return x.ValidatorAddress + } + return "" +} + +func (x *MsgDelegate) GetAmount() *v1beta1.Coin { + if x != nil { + return x.Amount + } + return nil +} + +// MsgDelegateResponse defines the Msg/Delegate response type. +type MsgDelegateResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MsgDelegateResponse) Reset() { + *x = MsgDelegateResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgDelegateResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgDelegateResponse) ProtoMessage() {} + +// Deprecated: Use MsgDelegateResponse.ProtoReflect.Descriptor instead. +func (*MsgDelegateResponse) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP(), []int{5} +} + +// MsgBeginRedelegate defines a SDK message for performing a redelegation +// of coins from a delegator and source validator to a destination validator. +type MsgBeginRedelegate struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DelegatorAddress string `protobuf:"bytes,1,opt,name=delegator_address,json=delegatorAddress,proto3" json:"delegator_address,omitempty"` + ValidatorSrcAddress string `protobuf:"bytes,2,opt,name=validator_src_address,json=validatorSrcAddress,proto3" json:"validator_src_address,omitempty"` + ValidatorDstAddress string `protobuf:"bytes,3,opt,name=validator_dst_address,json=validatorDstAddress,proto3" json:"validator_dst_address,omitempty"` + Amount *v1beta1.Coin `protobuf:"bytes,4,opt,name=amount,proto3" json:"amount,omitempty"` +} + +func (x *MsgBeginRedelegate) Reset() { + *x = MsgBeginRedelegate{} + if protoimpl.UnsafeEnabled { + mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgBeginRedelegate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgBeginRedelegate) ProtoMessage() {} + +// Deprecated: Use MsgBeginRedelegate.ProtoReflect.Descriptor instead. +func (*MsgBeginRedelegate) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP(), []int{6} +} + +func (x *MsgBeginRedelegate) GetDelegatorAddress() string { + if x != nil { + return x.DelegatorAddress + } + return "" +} + +func (x *MsgBeginRedelegate) GetValidatorSrcAddress() string { + if x != nil { + return x.ValidatorSrcAddress + } + return "" +} + +func (x *MsgBeginRedelegate) GetValidatorDstAddress() string { + if x != nil { + return x.ValidatorDstAddress + } + return "" +} + +func (x *MsgBeginRedelegate) GetAmount() *v1beta1.Coin { + if x != nil { + return x.Amount + } + return nil +} + +// MsgBeginRedelegateResponse defines the Msg/BeginRedelegate response type. +type MsgBeginRedelegateResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CompletionTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=completion_time,json=completionTime,proto3" json:"completion_time,omitempty"` +} + +func (x *MsgBeginRedelegateResponse) Reset() { + *x = MsgBeginRedelegateResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgBeginRedelegateResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgBeginRedelegateResponse) ProtoMessage() {} + +// Deprecated: Use MsgBeginRedelegateResponse.ProtoReflect.Descriptor instead. +func (*MsgBeginRedelegateResponse) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP(), []int{7} +} + +func (x *MsgBeginRedelegateResponse) GetCompletionTime() *timestamppb.Timestamp { + if x != nil { + return x.CompletionTime + } + return nil +} + +// MsgUndelegate defines a SDK message for performing an undelegation from a +// delegate and a validator. +type MsgUndelegate struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DelegatorAddress string `protobuf:"bytes,1,opt,name=delegator_address,json=delegatorAddress,proto3" json:"delegator_address,omitempty"` + ValidatorAddress string `protobuf:"bytes,2,opt,name=validator_address,json=validatorAddress,proto3" json:"validator_address,omitempty"` + Amount *v1beta1.Coin `protobuf:"bytes,3,opt,name=amount,proto3" json:"amount,omitempty"` } -// MsgEditValidator defines a SDK message for editing an existing validator. -type MsgEditValidator struct { +func (x *MsgUndelegate) Reset() { + *x = MsgUndelegate{} + if protoimpl.UnsafeEnabled { + mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgUndelegate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgUndelegate) ProtoMessage() {} + +// Deprecated: Use MsgUndelegate.ProtoReflect.Descriptor instead. +func (*MsgUndelegate) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP(), []int{8} +} + +func (x *MsgUndelegate) GetDelegatorAddress() string { + if x != nil { + return x.DelegatorAddress + } + return "" +} + +func (x *MsgUndelegate) GetValidatorAddress() string { + if x != nil { + return x.ValidatorAddress + } + return "" +} + +func (x *MsgUndelegate) GetAmount() *v1beta1.Coin { + if x != nil { + return x.Amount + } + return nil +} + +// MsgUndelegateResponse defines the Msg/Undelegate response type. +type MsgUndelegateResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Description *Description `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"` - ValidatorAddress string `protobuf:"bytes,2,opt,name=validator_address,json=validatorAddress,proto3" json:"validator_address,omitempty"` - // We pass a reference to the new commission rate and min self delegation as - // it's not mandatory to update. If not updated, the deserialized rate will be - // zero with no way to distinguish if an update was intended. - // REF: #2373 - CommissionRate string `protobuf:"bytes,3,opt,name=commission_rate,json=commissionRate,proto3" json:"commission_rate,omitempty"` - MinSelfDelegation string `protobuf:"bytes,4,opt,name=min_self_delegation,json=minSelfDelegation,proto3" json:"min_self_delegation,omitempty"` + CompletionTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=completion_time,json=completionTime,proto3" json:"completion_time,omitempty"` + // amount returns the amount of undelegated coins + // + // Since: cosmos-sdk 0.50 + Amount *v1beta1.Coin `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount,omitempty"` } -func (x *MsgEditValidator) Reset() { - *x = MsgEditValidator{} +func (x *MsgUndelegateResponse) Reset() { + *x = MsgUndelegateResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[2] + mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgEditValidator) String() string { +func (x *MsgUndelegateResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgEditValidator) ProtoMessage() {} +func (*MsgUndelegateResponse) ProtoMessage() {} -// Deprecated: Use MsgEditValidator.ProtoReflect.Descriptor instead. -func (*MsgEditValidator) Descriptor() ([]byte, []int) { - return file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP(), []int{2} +// Deprecated: Use MsgUndelegateResponse.ProtoReflect.Descriptor instead. +func (*MsgUndelegateResponse) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP(), []int{9} } -func (x *MsgEditValidator) GetDescription() *Description { +func (x *MsgUndelegateResponse) GetCompletionTime() *timestamppb.Timestamp { if x != nil { - return x.Description + return x.CompletionTime } return nil } -func (x *MsgEditValidator) GetValidatorAddress() string { +func (x *MsgUndelegateResponse) GetAmount() *v1beta1.Coin { if x != nil { - return x.ValidatorAddress + return x.Amount + } + return nil +} + +// MsgCancelUnbondingDelegation defines the SDK message for performing a cancel unbonding delegation for delegator +// +// Since: cosmos-sdk 0.46 +type MsgCancelUnbondingDelegation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DelegatorAddress string `protobuf:"bytes,1,opt,name=delegator_address,json=delegatorAddress,proto3" json:"delegator_address,omitempty"` + ValidatorAddress string `protobuf:"bytes,2,opt,name=validator_address,json=validatorAddress,proto3" json:"validator_address,omitempty"` + // amount is always less than or equal to unbonding delegation entry balance + Amount *v1beta1.Coin `protobuf:"bytes,3,opt,name=amount,proto3" json:"amount,omitempty"` + // creation_height is the height which the unbonding took place. + CreationHeight int64 `protobuf:"varint,4,opt,name=creation_height,json=creationHeight,proto3" json:"creation_height,omitempty"` +} + +func (x *MsgCancelUnbondingDelegation) Reset() { + *x = MsgCancelUnbondingDelegation{} + if protoimpl.UnsafeEnabled { + mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCancelUnbondingDelegation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCancelUnbondingDelegation) ProtoMessage() {} + +// Deprecated: Use MsgCancelUnbondingDelegation.ProtoReflect.Descriptor instead. +func (*MsgCancelUnbondingDelegation) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP(), []int{10} +} + +func (x *MsgCancelUnbondingDelegation) GetDelegatorAddress() string { + if x != nil { + return x.DelegatorAddress } return "" } -func (x *MsgEditValidator) GetCommissionRate() string { +func (x *MsgCancelUnbondingDelegation) GetValidatorAddress() string { if x != nil { - return x.CommissionRate + return x.ValidatorAddress } return "" } -func (x *MsgEditValidator) GetMinSelfDelegation() string { +func (x *MsgCancelUnbondingDelegation) GetAmount() *v1beta1.Coin { if x != nil { - return x.MinSelfDelegation + return x.Amount + } + return nil +} + +func (x *MsgCancelUnbondingDelegation) GetCreationHeight() int64 { + if x != nil { + return x.CreationHeight + } + return 0 +} + +// MsgCancelUnbondingDelegationResponse +// +// Since: cosmos-sdk 0.46 +type MsgCancelUnbondingDelegationResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MsgCancelUnbondingDelegationResponse) Reset() { + *x = MsgCancelUnbondingDelegationResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCancelUnbondingDelegationResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCancelUnbondingDelegationResponse) ProtoMessage() {} + +// Deprecated: Use MsgCancelUnbondingDelegationResponse.ProtoReflect.Descriptor instead. +func (*MsgCancelUnbondingDelegationResponse) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP(), []int{11} +} + +// MsgUpdateParams is the Msg/UpdateParams request type. +// +// Since: cosmos-sdk 0.47 +type MsgUpdateParams struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // authority is the address that controls the module (defaults to x/gov unless overwritten). + Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` + // params defines the x/staking parameters to update. + // + // NOTE: All parameters must be supplied. + Params *Params `protobuf:"bytes,2,opt,name=params,proto3" json:"params,omitempty"` +} + +func (x *MsgUpdateParams) Reset() { + *x = MsgUpdateParams{} + if protoimpl.UnsafeEnabled { + mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgUpdateParams) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgUpdateParams) ProtoMessage() {} + +// Deprecated: Use MsgUpdateParams.ProtoReflect.Descriptor instead. +func (*MsgUpdateParams) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP(), []int{12} +} + +func (x *MsgUpdateParams) GetAuthority() string { + if x != nil { + return x.Authority } return "" } -// MsgEditValidatorResponse defines the Msg/EditValidator response type. -type MsgEditValidatorResponse struct { +func (x *MsgUpdateParams) GetParams() *Params { + if x != nil { + return x.Params + } + return nil +} + +// MsgUpdateParamsResponse defines the response structure for executing a +// MsgUpdateParams message. +// +// Since: cosmos-sdk 0.47 +type MsgUpdateParamsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgEditValidatorResponse) Reset() { - *x = MsgEditValidatorResponse{} +func (x *MsgUpdateParamsResponse) Reset() { + *x = MsgUpdateParamsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[3] + mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgEditValidatorResponse) String() string { +func (x *MsgUpdateParamsResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgEditValidatorResponse) ProtoMessage() {} +func (*MsgUpdateParamsResponse) ProtoMessage() {} -// Deprecated: Use MsgEditValidatorResponse.ProtoReflect.Descriptor instead. -func (*MsgEditValidatorResponse) Descriptor() ([]byte, []int) { - return file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP(), []int{3} +// Deprecated: Use MsgUpdateParamsResponse.ProtoReflect.Descriptor instead. +func (*MsgUpdateParamsResponse) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP(), []int{13} } -// MsgDelegate defines a SDK message for performing a delegation of coins -// from a delegator to a validator. -type MsgDelegate struct { +// MsgUnbondValidator defines a method for performing the status transition for +// a validator from bonded to unbonding. +// +// Since: cosmos-sdk 0.47-lsm +type MsgUnbondValidator struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - DelegatorAddress string `protobuf:"bytes,1,opt,name=delegator_address,json=delegatorAddress,proto3" json:"delegator_address,omitempty"` - ValidatorAddress string `protobuf:"bytes,2,opt,name=validator_address,json=validatorAddress,proto3" json:"validator_address,omitempty"` - Amount *v1beta1.Coin `protobuf:"bytes,3,opt,name=amount,proto3" json:"amount,omitempty"` + ValidatorAddress string `protobuf:"bytes,1,opt,name=validator_address,json=validatorAddress,proto3" json:"validator_address,omitempty"` } -func (x *MsgDelegate) Reset() { - *x = MsgDelegate{} +func (x *MsgUnbondValidator) Reset() { + *x = MsgUnbondValidator{} if protoimpl.UnsafeEnabled { - mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[4] + mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgDelegate) String() string { +func (x *MsgUnbondValidator) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgDelegate) ProtoMessage() {} - -// Deprecated: Use MsgDelegate.ProtoReflect.Descriptor instead. -func (*MsgDelegate) Descriptor() ([]byte, []int) { - return file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP(), []int{4} -} +func (*MsgUnbondValidator) ProtoMessage() {} -func (x *MsgDelegate) GetDelegatorAddress() string { - if x != nil { - return x.DelegatorAddress - } - return "" +// Deprecated: Use MsgUnbondValidator.ProtoReflect.Descriptor instead. +func (*MsgUnbondValidator) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP(), []int{14} } -func (x *MsgDelegate) GetValidatorAddress() string { +func (x *MsgUnbondValidator) GetValidatorAddress() string { if x != nil { return x.ValidatorAddress } return "" } -func (x *MsgDelegate) GetAmount() *v1beta1.Coin { - if x != nil { - return x.Amount - } - return nil -} - -// MsgDelegateResponse defines the Msg/Delegate response type. -type MsgDelegateResponse struct { +// MsgUnbondValidatorResponse defines the MsgUnbondValidator response type. +// +// Since: cosmos-sdk 0.47-lsm +type MsgUnbondValidatorResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgDelegateResponse) Reset() { - *x = MsgDelegateResponse{} +func (x *MsgUnbondValidatorResponse) Reset() { + *x = MsgUnbondValidatorResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[5] + mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgDelegateResponse) String() string { +func (x *MsgUnbondValidatorResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgDelegateResponse) ProtoMessage() {} +func (*MsgUnbondValidatorResponse) ProtoMessage() {} -// Deprecated: Use MsgDelegateResponse.ProtoReflect.Descriptor instead. -func (*MsgDelegateResponse) Descriptor() ([]byte, []int) { - return file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP(), []int{5} +// Deprecated: Use MsgUnbondValidatorResponse.ProtoReflect.Descriptor instead. +func (*MsgUnbondValidatorResponse) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP(), []int{15} } -// MsgBeginRedelegate defines a SDK message for performing a redelegation -// of coins from a delegator and source validator to a destination validator. -type MsgBeginRedelegate struct { +// MsgTokenizeShares tokenizes a delegation. +// +// Since: cosmos-sdk 0.47-lsm +type MsgTokenizeShares struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields DelegatorAddress string `protobuf:"bytes,1,opt,name=delegator_address,json=delegatorAddress,proto3" json:"delegator_address,omitempty"` - ValidatorSrcAddress string `protobuf:"bytes,2,opt,name=validator_src_address,json=validatorSrcAddress,proto3" json:"validator_src_address,omitempty"` - ValidatorDstAddress string `protobuf:"bytes,3,opt,name=validator_dst_address,json=validatorDstAddress,proto3" json:"validator_dst_address,omitempty"` - Amount *v1beta1.Coin `protobuf:"bytes,4,opt,name=amount,proto3" json:"amount,omitempty"` + ValidatorAddress string `protobuf:"bytes,2,opt,name=validator_address,json=validatorAddress,proto3" json:"validator_address,omitempty"` + Amount *v1beta1.Coin `protobuf:"bytes,3,opt,name=amount,proto3" json:"amount,omitempty"` + TokenizedShareOwner string `protobuf:"bytes,4,opt,name=tokenized_share_owner,json=tokenizedShareOwner,proto3" json:"tokenized_share_owner,omitempty"` } -func (x *MsgBeginRedelegate) Reset() { - *x = MsgBeginRedelegate{} +func (x *MsgTokenizeShares) Reset() { + *x = MsgTokenizeShares{} if protoimpl.UnsafeEnabled { - mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[6] + mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgBeginRedelegate) String() string { +func (x *MsgTokenizeShares) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgBeginRedelegate) ProtoMessage() {} +func (*MsgTokenizeShares) ProtoMessage() {} -// Deprecated: Use MsgBeginRedelegate.ProtoReflect.Descriptor instead. -func (*MsgBeginRedelegate) Descriptor() ([]byte, []int) { - return file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP(), []int{6} +// Deprecated: Use MsgTokenizeShares.ProtoReflect.Descriptor instead. +func (*MsgTokenizeShares) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP(), []int{16} } -func (x *MsgBeginRedelegate) GetDelegatorAddress() string { +func (x *MsgTokenizeShares) GetDelegatorAddress() string { if x != nil { return x.DelegatorAddress } return "" } -func (x *MsgBeginRedelegate) GetValidatorSrcAddress() string { +func (x *MsgTokenizeShares) GetValidatorAddress() string { if x != nil { - return x.ValidatorSrcAddress + return x.ValidatorAddress } return "" } -func (x *MsgBeginRedelegate) GetValidatorDstAddress() string { +func (x *MsgTokenizeShares) GetAmount() *v1beta1.Coin { if x != nil { - return x.ValidatorDstAddress + return x.Amount } - return "" + return nil } -func (x *MsgBeginRedelegate) GetAmount() *v1beta1.Coin { +func (x *MsgTokenizeShares) GetTokenizedShareOwner() string { if x != nil { - return x.Amount + return x.TokenizedShareOwner } - return nil + return "" } -// MsgBeginRedelegateResponse defines the Msg/BeginRedelegate response type. -type MsgBeginRedelegateResponse struct { +// MsgTokenizeSharesResponse defines the MsgTokenizeShares response type. +// +// Since: cosmos-sdk 0.47-lsm +type MsgTokenizeSharesResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - CompletionTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=completion_time,json=completionTime,proto3" json:"completion_time,omitempty"` + Amount *v1beta1.Coin `protobuf:"bytes,1,opt,name=amount,proto3" json:"amount,omitempty"` } -func (x *MsgBeginRedelegateResponse) Reset() { - *x = MsgBeginRedelegateResponse{} +func (x *MsgTokenizeSharesResponse) Reset() { + *x = MsgTokenizeSharesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[7] + mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgBeginRedelegateResponse) String() string { +func (x *MsgTokenizeSharesResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgBeginRedelegateResponse) ProtoMessage() {} +func (*MsgTokenizeSharesResponse) ProtoMessage() {} -// Deprecated: Use MsgBeginRedelegateResponse.ProtoReflect.Descriptor instead. -func (*MsgBeginRedelegateResponse) Descriptor() ([]byte, []int) { - return file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP(), []int{7} +// Deprecated: Use MsgTokenizeSharesResponse.ProtoReflect.Descriptor instead. +func (*MsgTokenizeSharesResponse) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP(), []int{17} } -func (x *MsgBeginRedelegateResponse) GetCompletionTime() *timestamppb.Timestamp { +func (x *MsgTokenizeSharesResponse) GetAmount() *v1beta1.Coin { if x != nil { - return x.CompletionTime + return x.Amount } return nil } -// MsgUndelegate defines a SDK message for performing an undelegation from a -// delegate and a validator. -type MsgUndelegate struct { +// MsgRedeemTokensForShares redeems a tokenized share back into a native delegation. +// +// Since: cosmos-sdk 0.47-lsm +type MsgRedeemTokensForShares struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields DelegatorAddress string `protobuf:"bytes,1,opt,name=delegator_address,json=delegatorAddress,proto3" json:"delegator_address,omitempty"` - ValidatorAddress string `protobuf:"bytes,2,opt,name=validator_address,json=validatorAddress,proto3" json:"validator_address,omitempty"` - Amount *v1beta1.Coin `protobuf:"bytes,3,opt,name=amount,proto3" json:"amount,omitempty"` + Amount *v1beta1.Coin `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount,omitempty"` } -func (x *MsgUndelegate) Reset() { - *x = MsgUndelegate{} +func (x *MsgRedeemTokensForShares) Reset() { + *x = MsgRedeemTokensForShares{} if protoimpl.UnsafeEnabled { - mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[8] + mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgUndelegate) String() string { +func (x *MsgRedeemTokensForShares) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgUndelegate) ProtoMessage() {} +func (*MsgRedeemTokensForShares) ProtoMessage() {} -// Deprecated: Use MsgUndelegate.ProtoReflect.Descriptor instead. -func (*MsgUndelegate) Descriptor() ([]byte, []int) { - return file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP(), []int{8} +// Deprecated: Use MsgRedeemTokensForShares.ProtoReflect.Descriptor instead. +func (*MsgRedeemTokensForShares) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP(), []int{18} } -func (x *MsgUndelegate) GetDelegatorAddress() string { +func (x *MsgRedeemTokensForShares) GetDelegatorAddress() string { if x != nil { return x.DelegatorAddress } return "" } -func (x *MsgUndelegate) GetValidatorAddress() string { - if x != nil { - return x.ValidatorAddress - } - return "" -} - -func (x *MsgUndelegate) GetAmount() *v1beta1.Coin { +func (x *MsgRedeemTokensForShares) GetAmount() *v1beta1.Coin { if x != nil { return x.Amount } return nil } -// MsgUndelegateResponse defines the Msg/Undelegate response type. -type MsgUndelegateResponse struct { +// MsgRedeemTokensForSharesResponse defines the MsgRedeemTokensForShares response type. +// +// Since: cosmos-sdk 0.47-lsm +type MsgRedeemTokensForSharesResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - CompletionTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=completion_time,json=completionTime,proto3" json:"completion_time,omitempty"` - // amount returns the amount of undelegated coins - // - // Since: cosmos-sdk 0.50 - Amount *v1beta1.Coin `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount,omitempty"` + Amount *v1beta1.Coin `protobuf:"bytes,1,opt,name=amount,proto3" json:"amount,omitempty"` } -func (x *MsgUndelegateResponse) Reset() { - *x = MsgUndelegateResponse{} +func (x *MsgRedeemTokensForSharesResponse) Reset() { + *x = MsgRedeemTokensForSharesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[9] + mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgUndelegateResponse) String() string { +func (x *MsgRedeemTokensForSharesResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgUndelegateResponse) ProtoMessage() {} - -// Deprecated: Use MsgUndelegateResponse.ProtoReflect.Descriptor instead. -func (*MsgUndelegateResponse) Descriptor() ([]byte, []int) { - return file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP(), []int{9} -} +func (*MsgRedeemTokensForSharesResponse) ProtoMessage() {} -func (x *MsgUndelegateResponse) GetCompletionTime() *timestamppb.Timestamp { - if x != nil { - return x.CompletionTime - } - return nil +// Deprecated: Use MsgRedeemTokensForSharesResponse.ProtoReflect.Descriptor instead. +func (*MsgRedeemTokensForSharesResponse) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP(), []int{19} } -func (x *MsgUndelegateResponse) GetAmount() *v1beta1.Coin { +func (x *MsgRedeemTokensForSharesResponse) GetAmount() *v1beta1.Coin { if x != nil { return x.Amount } return nil } -// MsgCancelUnbondingDelegation defines the SDK message for performing a cancel unbonding delegation for delegator +// MsgTransferTokenizeShareRecord transfer a tokenize share record. // -// Since: cosmos-sdk 0.46 -type MsgCancelUnbondingDelegation struct { +// Since: cosmos-sdk 0.47-lsm +type MsgTransferTokenizeShareRecord struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - DelegatorAddress string `protobuf:"bytes,1,opt,name=delegator_address,json=delegatorAddress,proto3" json:"delegator_address,omitempty"` - ValidatorAddress string `protobuf:"bytes,2,opt,name=validator_address,json=validatorAddress,proto3" json:"validator_address,omitempty"` - // amount is always less than or equal to unbonding delegation entry balance - Amount *v1beta1.Coin `protobuf:"bytes,3,opt,name=amount,proto3" json:"amount,omitempty"` - // creation_height is the height which the unbonding took place. - CreationHeight int64 `protobuf:"varint,4,opt,name=creation_height,json=creationHeight,proto3" json:"creation_height,omitempty"` + TokenizeShareRecordId uint64 `protobuf:"varint,1,opt,name=tokenize_share_record_id,json=tokenizeShareRecordId,proto3" json:"tokenize_share_record_id,omitempty"` + Sender string `protobuf:"bytes,2,opt,name=sender,proto3" json:"sender,omitempty"` + NewOwner string `protobuf:"bytes,3,opt,name=new_owner,json=newOwner,proto3" json:"new_owner,omitempty"` } -func (x *MsgCancelUnbondingDelegation) Reset() { - *x = MsgCancelUnbondingDelegation{} +func (x *MsgTransferTokenizeShareRecord) Reset() { + *x = MsgTransferTokenizeShareRecord{} if protoimpl.UnsafeEnabled { - mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[10] + mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCancelUnbondingDelegation) String() string { +func (x *MsgTransferTokenizeShareRecord) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCancelUnbondingDelegation) ProtoMessage() {} +func (*MsgTransferTokenizeShareRecord) ProtoMessage() {} -// Deprecated: Use MsgCancelUnbondingDelegation.ProtoReflect.Descriptor instead. -func (*MsgCancelUnbondingDelegation) Descriptor() ([]byte, []int) { - return file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP(), []int{10} +// Deprecated: Use MsgTransferTokenizeShareRecord.ProtoReflect.Descriptor instead. +func (*MsgTransferTokenizeShareRecord) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP(), []int{20} } -func (x *MsgCancelUnbondingDelegation) GetDelegatorAddress() string { +func (x *MsgTransferTokenizeShareRecord) GetTokenizeShareRecordId() uint64 { if x != nil { - return x.DelegatorAddress + return x.TokenizeShareRecordId } - return "" + return 0 } -func (x *MsgCancelUnbondingDelegation) GetValidatorAddress() string { +func (x *MsgTransferTokenizeShareRecord) GetSender() string { if x != nil { - return x.ValidatorAddress + return x.Sender } return "" } -func (x *MsgCancelUnbondingDelegation) GetAmount() *v1beta1.Coin { - if x != nil { - return x.Amount - } - return nil -} - -func (x *MsgCancelUnbondingDelegation) GetCreationHeight() int64 { +func (x *MsgTransferTokenizeShareRecord) GetNewOwner() string { if x != nil { - return x.CreationHeight + return x.NewOwner } - return 0 + return "" } -// MsgCancelUnbondingDelegationResponse +// MsgTransferTokenizeShareRecordResponse defines the MsgTransferTokenizeShareRecord response type. // -// Since: cosmos-sdk 0.46 -type MsgCancelUnbondingDelegationResponse struct { +// Since: cosmos-sdk 0.47-lsm +type MsgTransferTokenizeShareRecordResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgCancelUnbondingDelegationResponse) Reset() { - *x = MsgCancelUnbondingDelegationResponse{} +func (x *MsgTransferTokenizeShareRecordResponse) Reset() { + *x = MsgTransferTokenizeShareRecordResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[11] + mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCancelUnbondingDelegationResponse) String() string { +func (x *MsgTransferTokenizeShareRecordResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCancelUnbondingDelegationResponse) ProtoMessage() {} +func (*MsgTransferTokenizeShareRecordResponse) ProtoMessage() {} -// Deprecated: Use MsgCancelUnbondingDelegationResponse.ProtoReflect.Descriptor instead. -func (*MsgCancelUnbondingDelegationResponse) Descriptor() ([]byte, []int) { - return file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP(), []int{11} +// Deprecated: Use MsgTransferTokenizeShareRecordResponse.ProtoReflect.Descriptor instead. +func (*MsgTransferTokenizeShareRecordResponse) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP(), []int{21} } -// MsgUpdateParams is the Msg/UpdateParams request type. +// MsgDisableTokenizeShares prevents the tokenization of shares for a given address. // -// Since: cosmos-sdk 0.47 -type MsgUpdateParams struct { +// Since: cosmos-sdk 0.47-lsm +type MsgDisableTokenizeShares struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // authority is the address that controls the module (defaults to x/gov unless overwritten). - Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` - // params defines the x/staking parameters to update. - // - // NOTE: All parameters must be supplied. - Params *Params `protobuf:"bytes,2,opt,name=params,proto3" json:"params,omitempty"` + DelegatorAddress string `protobuf:"bytes,1,opt,name=delegator_address,json=delegatorAddress,proto3" json:"delegator_address,omitempty"` } -func (x *MsgUpdateParams) Reset() { - *x = MsgUpdateParams{} +func (x *MsgDisableTokenizeShares) Reset() { + *x = MsgDisableTokenizeShares{} if protoimpl.UnsafeEnabled { - mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[12] + mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgUpdateParams) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MsgUpdateParams) ProtoMessage() {} - -// Deprecated: Use MsgUpdateParams.ProtoReflect.Descriptor instead. -func (*MsgUpdateParams) Descriptor() ([]byte, []int) { - return file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP(), []int{12} -} - -func (x *MsgUpdateParams) GetAuthority() string { - if x != nil { - return x.Authority - } - return "" +func (x *MsgDisableTokenizeShares) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *MsgUpdateParams) GetParams() *Params { +func (*MsgDisableTokenizeShares) ProtoMessage() {} + +// Deprecated: Use MsgDisableTokenizeShares.ProtoReflect.Descriptor instead. +func (*MsgDisableTokenizeShares) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP(), []int{22} +} + +func (x *MsgDisableTokenizeShares) GetDelegatorAddress() string { if x != nil { - return x.Params + return x.DelegatorAddress } - return nil + return "" } -// MsgUpdateParamsResponse defines the response structure for executing a -// MsgUpdateParams message. +// MsgDisableTokenizeSharesResponse defines the /DisableTokenizeShares response type. // -// Since: cosmos-sdk 0.47 -type MsgUpdateParamsResponse struct { +// Since: cosmos-sdk 0.47-lsm +type MsgDisableTokenizeSharesResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgUpdateParamsResponse) Reset() { - *x = MsgUpdateParamsResponse{} +func (x *MsgDisableTokenizeSharesResponse) Reset() { + *x = MsgDisableTokenizeSharesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[13] + mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgUpdateParamsResponse) String() string { +func (x *MsgDisableTokenizeSharesResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgUpdateParamsResponse) ProtoMessage() {} +func (*MsgDisableTokenizeSharesResponse) ProtoMessage() {} -// Deprecated: Use MsgUpdateParamsResponse.ProtoReflect.Descriptor instead. -func (*MsgUpdateParamsResponse) Descriptor() ([]byte, []int) { - return file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP(), []int{13} +// Deprecated: Use MsgDisableTokenizeSharesResponse.ProtoReflect.Descriptor instead. +func (*MsgDisableTokenizeSharesResponse) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP(), []int{23} } -// MsgTokenizeShares tokenizes a delegation. +// MsgEnableTokenizeShares re-enables tokenization of shares for a given address. // // Since: cosmos-sdk 0.47-lsm -type MsgTokenizeShares struct { +type MsgEnableTokenizeShares struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - DelegatorAddress string `protobuf:"bytes,1,opt,name=delegator_address,json=delegatorAddress,proto3" json:"delegator_address,omitempty"` - ValidatorAddress string `protobuf:"bytes,2,opt,name=validator_address,json=validatorAddress,proto3" json:"validator_address,omitempty"` - Amount *v1beta1.Coin `protobuf:"bytes,3,opt,name=amount,proto3" json:"amount,omitempty"` - TokenizedShareOwner string `protobuf:"bytes,4,opt,name=tokenized_share_owner,json=tokenizedShareOwner,proto3" json:"tokenized_share_owner,omitempty"` + DelegatorAddress string `protobuf:"bytes,1,opt,name=delegator_address,json=delegatorAddress,proto3" json:"delegator_address,omitempty"` } -func (x *MsgTokenizeShares) Reset() { - *x = MsgTokenizeShares{} +func (x *MsgEnableTokenizeShares) Reset() { + *x = MsgEnableTokenizeShares{} if protoimpl.UnsafeEnabled { - mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[14] + mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgTokenizeShares) String() string { +func (x *MsgEnableTokenizeShares) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgTokenizeShares) ProtoMessage() {} +func (*MsgEnableTokenizeShares) ProtoMessage() {} -// Deprecated: Use MsgTokenizeShares.ProtoReflect.Descriptor instead. -func (*MsgTokenizeShares) Descriptor() ([]byte, []int) { - return file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP(), []int{14} +// Deprecated: Use MsgEnableTokenizeShares.ProtoReflect.Descriptor instead. +func (*MsgEnableTokenizeShares) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP(), []int{24} } -func (x *MsgTokenizeShares) GetDelegatorAddress() string { +func (x *MsgEnableTokenizeShares) GetDelegatorAddress() string { if x != nil { return x.DelegatorAddress } return "" } -func (x *MsgTokenizeShares) GetValidatorAddress() string { - if x != nil { - return x.ValidatorAddress - } - return "" -} - -func (x *MsgTokenizeShares) GetAmount() *v1beta1.Coin { - if x != nil { - return x.Amount - } - return nil -} - -func (x *MsgTokenizeShares) GetTokenizedShareOwner() string { - if x != nil { - return x.TokenizedShareOwner - } - return "" -} - -// MsgTokenizeSharesResponse defines the MsgTokenizeShares response type. +// MsgEnableTokenizeSharesResponse defines the EnableTokenizeShares response type. // // Since: cosmos-sdk 0.47-lsm -type MsgTokenizeSharesResponse struct { +type MsgEnableTokenizeSharesResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Amount *v1beta1.Coin `protobuf:"bytes,1,opt,name=amount,proto3" json:"amount,omitempty"` + CompletionTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=completion_time,json=completionTime,proto3" json:"completion_time,omitempty"` } -func (x *MsgTokenizeSharesResponse) Reset() { - *x = MsgTokenizeSharesResponse{} +func (x *MsgEnableTokenizeSharesResponse) Reset() { + *x = MsgEnableTokenizeSharesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[15] + mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgTokenizeSharesResponse) String() string { +func (x *MsgEnableTokenizeSharesResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgTokenizeSharesResponse) ProtoMessage() {} +func (*MsgEnableTokenizeSharesResponse) ProtoMessage() {} -// Deprecated: Use MsgTokenizeSharesResponse.ProtoReflect.Descriptor instead. -func (*MsgTokenizeSharesResponse) Descriptor() ([]byte, []int) { - return file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP(), []int{15} +// Deprecated: Use MsgEnableTokenizeSharesResponse.ProtoReflect.Descriptor instead. +func (*MsgEnableTokenizeSharesResponse) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP(), []int{25} } -func (x *MsgTokenizeSharesResponse) GetAmount() *v1beta1.Coin { +func (x *MsgEnableTokenizeSharesResponse) GetCompletionTime() *timestamppb.Timestamp { if x != nil { - return x.Amount + return x.CompletionTime } return nil } -// MsgRedeemTokensForShares redeems a tokenized share back into a native delegation. +// MsgValidatorBond defines a SDK message for performing validator self-bond of delegated coins +// from a delegator to a validator. // // Since: cosmos-sdk 0.47-lsm -type MsgRedeemTokensForShares struct { +type MsgValidatorBond struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - DelegatorAddress string `protobuf:"bytes,1,opt,name=delegator_address,json=delegatorAddress,proto3" json:"delegator_address,omitempty"` - Amount *v1beta1.Coin `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount,omitempty"` + DelegatorAddress string `protobuf:"bytes,1,opt,name=delegator_address,json=delegatorAddress,proto3" json:"delegator_address,omitempty"` + ValidatorAddress string `protobuf:"bytes,2,opt,name=validator_address,json=validatorAddress,proto3" json:"validator_address,omitempty"` } -func (x *MsgRedeemTokensForShares) Reset() { - *x = MsgRedeemTokensForShares{} +func (x *MsgValidatorBond) Reset() { + *x = MsgValidatorBond{} if protoimpl.UnsafeEnabled { - mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[16] + mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgRedeemTokensForShares) String() string { +func (x *MsgValidatorBond) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgRedeemTokensForShares) ProtoMessage() {} +func (*MsgValidatorBond) ProtoMessage() {} -// Deprecated: Use MsgRedeemTokensForShares.ProtoReflect.Descriptor instead. -func (*MsgRedeemTokensForShares) Descriptor() ([]byte, []int) { - return file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP(), []int{16} +// Deprecated: Use MsgValidatorBond.ProtoReflect.Descriptor instead. +func (*MsgValidatorBond) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP(), []int{26} } -func (x *MsgRedeemTokensForShares) GetDelegatorAddress() string { +func (x *MsgValidatorBond) GetDelegatorAddress() string { if x != nil { return x.DelegatorAddress } return "" } -func (x *MsgRedeemTokensForShares) GetAmount() *v1beta1.Coin { +func (x *MsgValidatorBond) GetValidatorAddress() string { if x != nil { - return x.Amount + return x.ValidatorAddress } - return nil + return "" } -// MsgRedeemTokensForSharesResponse defines the MsgRedeemTokensForShares response type. +// MsgValidatorBondResponse defines the ValidatorBond response type. // // Since: cosmos-sdk 0.47-lsm -type MsgRedeemTokensForSharesResponse struct { +type MsgValidatorBondResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - Amount *v1beta1.Coin `protobuf:"bytes,1,opt,name=amount,proto3" json:"amount,omitempty"` } -func (x *MsgRedeemTokensForSharesResponse) Reset() { - *x = MsgRedeemTokensForSharesResponse{} +func (x *MsgValidatorBondResponse) Reset() { + *x = MsgValidatorBondResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[17] + mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgRedeemTokensForSharesResponse) String() string { +func (x *MsgValidatorBondResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgRedeemTokensForSharesResponse) ProtoMessage() {} - -// Deprecated: Use MsgRedeemTokensForSharesResponse.ProtoReflect.Descriptor instead. -func (*MsgRedeemTokensForSharesResponse) Descriptor() ([]byte, []int) { - return file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP(), []int{17} -} +func (*MsgValidatorBondResponse) ProtoMessage() {} -func (x *MsgRedeemTokensForSharesResponse) GetAmount() *v1beta1.Coin { - if x != nil { - return x.Amount - } - return nil +// Deprecated: Use MsgValidatorBondResponse.ProtoReflect.Descriptor instead. +func (*MsgValidatorBondResponse) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP(), []int{27} } var File_cosmos_staking_v1beta1_tx_proto protoreflect.FileDescriptor @@ -10163,114 +14668,232 @@ var file_cosmos_staking_v1beta1_tx_proto_rawDesc = []byte{ 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0xc8, 0x02, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x12, 0x45, 0x0a, 0x11, 0x64, 0x65, 0x6c, - 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, + 0x6e, 0x73, 0x65, 0x22, 0x73, 0x0a, 0x12, 0x4d, 0x73, 0x67, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, + 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x45, 0x0a, 0x11, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x10, - 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x12, 0x45, 0x0a, 0x11, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, - 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, - 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x10, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x37, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, - 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x4c, 0x0a, 0x15, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x73, 0x68, - 0x61, 0x72, 0x65, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x3a, 0x16, 0x82, 0xe7, 0xb0, 0x2a, 0x11, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, + 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x1c, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x55, + 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc8, 0x02, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x12, 0x45, 0x0a, 0x11, + 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x52, 0x10, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x12, 0x45, 0x0a, 0x11, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, + 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, + 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x10, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x37, 0x0a, 0x06, 0x61, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x06, 0x61, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x4c, 0x0a, 0x15, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x64, + 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x13, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x64, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4f, 0x77, 0x6e, 0x65, + 0x72, 0x3a, 0x1e, 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x82, 0xe7, 0xb0, 0x2a, 0x11, + 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x22, 0x54, 0x0a, 0x19, 0x4d, 0x73, 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, + 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, + 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, + 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xba, 0x01, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x52, + 0x65, 0x64, 0x65, 0x65, 0x6d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x46, 0x6f, 0x72, 0x53, 0x68, + 0x61, 0x72, 0x65, 0x73, 0x12, 0x45, 0x0a, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, + 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x13, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x69, 0x7a, 0x65, 0x64, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x3a, 0x1e, - 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x82, 0xe7, 0xb0, 0x2a, 0x11, 0x64, 0x65, 0x6c, - 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x54, - 0x0a, 0x19, 0x4d, 0x73, 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, - 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x06, 0x61, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, + 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x10, 0x64, 0x65, 0x6c, 0x65, 0x67, + 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x37, 0x0a, 0x06, 0x61, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x06, 0x61, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xba, 0x01, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x64, 0x65, - 0x65, 0x6d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x46, 0x6f, 0x72, 0x53, 0x68, 0x61, 0x72, 0x65, - 0x73, 0x12, 0x45, 0x0a, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, - 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x10, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, - 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x37, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x1e, 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x82, 0xe7, + 0xb0, 0x2a, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x22, 0x5b, 0x0a, 0x20, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x64, 0x65, 0x65, + 0x6d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x46, 0x6f, 0x72, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x3a, 0x1e, 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x82, 0xe7, 0xb0, 0x2a, 0x11, - 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x22, 0x5b, 0x0a, 0x20, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x73, 0x46, 0x6f, 0x72, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, - 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, - 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x32, 0x9d, - 0x06, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x71, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x74, 0x22, 0xa3, 0x01, 0x0a, 0x1e, 0x4d, 0x73, 0x67, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, + 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, + 0x63, 0x6f, 0x72, 0x64, 0x12, 0x37, 0x0a, 0x18, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, + 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x15, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, + 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x12, 0x16, 0x0a, + 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, + 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x65, 0x77, 0x5f, 0x6f, 0x77, 0x6e, + 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x65, 0x77, 0x4f, 0x77, 0x6e, + 0x65, 0x72, 0x3a, 0x13, 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x82, 0xe7, 0xb0, 0x2a, + 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x28, 0x0a, 0x26, 0x4d, 0x73, 0x67, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, + 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x81, 0x01, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x12, 0x45, + 0x0a, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x52, 0x10, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x3a, 0x1e, 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x82, + 0xe7, 0xb0, 0x2a, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x22, 0x0a, 0x20, 0x4d, 0x73, 0x67, 0x44, 0x69, 0x73, 0x61, + 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x80, 0x01, 0x0a, 0x17, 0x4d, 0x73, + 0x67, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, + 0x68, 0x61, 0x72, 0x65, 0x73, 0x12, 0x45, 0x0a, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, + 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x10, 0x64, 0x65, 0x6c, 0x65, + 0x67, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x3a, 0x1e, 0x88, 0xa0, + 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x82, 0xe7, 0xb0, 0x2a, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x67, + 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x70, 0x0a, 0x1f, + 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, + 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x4d, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x42, 0x08, 0xc8, 0xde, 0x1f, 0x00, 0x90, 0xdf, 0x1f, 0x01, 0x52, 0x0e, + 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xc8, + 0x01, 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x42, + 0x6f, 0x6e, 0x64, 0x12, 0x49, 0x0a, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, + 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1c, + 0xf2, 0xde, 0x1f, 0x18, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, + 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x52, 0x10, 0x64, 0x65, + 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x49, + 0x0a, 0x11, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1c, 0xf2, 0xde, 0x1f, 0x18, 0x79, + 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x52, 0x10, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x3a, 0x1e, 0x88, 0xa0, 0x1f, 0x00, 0xe8, + 0xa0, 0x1f, 0x00, 0x82, 0xe7, 0xb0, 0x2a, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, + 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x1a, 0x0a, 0x18, 0x4d, 0x73, 0x67, + 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x42, 0x6f, 0x6e, 0x64, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x94, 0x0d, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x71, 0x0a, + 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, + 0x12, 0x2a, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, + 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x1a, 0x32, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x6b, 0x0a, 0x0d, 0x45, 0x64, 0x69, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, + 0x72, 0x12, 0x28, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, + 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x64, + 0x69, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x1a, 0x30, 0x2e, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x64, 0x69, 0x74, 0x56, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, + 0x08, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x23, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x6f, 0x72, 0x1a, 0x32, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, - 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, - 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, - 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0d, 0x45, 0x64, 0x69, - 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x28, 0x2e, 0x63, 0x6f, 0x73, + 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x1a, 0x2b, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x0f, 0x42, + 0x65, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x2a, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x65, 0x67, 0x69, 0x6e, + 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x1a, 0x32, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x64, 0x69, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x6f, 0x72, 0x1a, 0x30, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, - 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, - 0x67, 0x45, 0x64, 0x69, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x08, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, - 0x74, 0x65, 0x12, 0x23, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, - 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x44, - 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x1a, 0x2b, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x0f, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x64, - 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, - 0x61, 0x74, 0x65, 0x1a, 0x32, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, - 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, - 0x42, 0x65, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0a, 0x55, 0x6e, 0x64, 0x65, 0x6c, - 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x25, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, - 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, - 0x73, 0x67, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x1a, 0x2d, 0x2e, 0x63, + 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x64, 0x65, + 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, + 0x0a, 0x0a, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x25, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x67, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8f, 0x01, 0x0a, 0x19, - 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, - 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x55, 0x6e, 0x62, 0x6f, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, - 0x3c, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, - 0x65, 0x6c, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, - 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x27, 0x2e, + 0x61, 0x74, 0x65, 0x1a, 0x2d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, + 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, + 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x8f, 0x01, 0x0a, 0x19, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x55, 0x6e, 0x62, + 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x34, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, + 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, + 0x63, 0x65, 0x6c, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, + 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x3c, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, + 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x12, 0x27, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, + 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, + 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x2f, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x2f, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, - 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, 0xd7, - 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, - 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x07, 0x54, - 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x3b, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0xa2, 0x02, 0x03, 0x43, 0x53, 0x58, 0xaa, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, - 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, - 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, - 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x22, 0x43, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x18, - 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x3a, - 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, + 0x0a, 0x0f, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, + 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, + 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x6e, + 0x62, 0x6f, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x1a, 0x32, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, + 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x6e, 0x0a, 0x0e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, + 0x72, 0x65, 0x73, 0x12, 0x29, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, + 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x1a, 0x31, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x83, 0x01, 0x0a, 0x15, 0x52, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x73, 0x46, 0x6f, 0x72, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x12, 0x30, 0x2e, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x73, 0x46, 0x6f, 0x72, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x1a, 0x38, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x64, 0x65, 0x65, 0x6d, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x46, 0x6f, 0x72, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x95, 0x01, 0x0a, 0x1b, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x66, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, + 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x36, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x4d, 0x73, 0x67, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x1a, + 0x3e, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x66, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, + 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x83, 0x01, 0x0a, 0x15, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x12, 0x30, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x1a, 0x38, 0x2e, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x80, 0x01, 0x0a, 0x14, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x12, 0x2f, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x1a, + 0x37, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0d, 0x56, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x6f, 0x72, 0x42, 0x6f, 0x6e, 0x64, 0x12, 0x28, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x42, + 0x6f, 0x6e, 0x64, 0x1a, 0x30, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, + 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, + 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x42, 0x6f, 0x6e, 0x64, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, 0xd7, 0x01, 0x0a, + 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, + 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x07, 0x54, 0x78, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, + 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, + 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, + 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, + 0x03, 0x43, 0x53, 0x58, 0xaa, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x53, 0x74, + 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x16, + 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x22, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, + 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, + 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x18, 0x43, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -10285,70 +14908,95 @@ func file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP() []byte { return file_cosmos_staking_v1beta1_tx_proto_rawDescData } -var file_cosmos_staking_v1beta1_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 18) +var file_cosmos_staking_v1beta1_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 28) var file_cosmos_staking_v1beta1_tx_proto_goTypes = []interface{}{ - (*MsgCreateValidator)(nil), // 0: cosmos.staking.v1beta1.MsgCreateValidator - (*MsgCreateValidatorResponse)(nil), // 1: cosmos.staking.v1beta1.MsgCreateValidatorResponse - (*MsgEditValidator)(nil), // 2: cosmos.staking.v1beta1.MsgEditValidator - (*MsgEditValidatorResponse)(nil), // 3: cosmos.staking.v1beta1.MsgEditValidatorResponse - (*MsgDelegate)(nil), // 4: cosmos.staking.v1beta1.MsgDelegate - (*MsgDelegateResponse)(nil), // 5: cosmos.staking.v1beta1.MsgDelegateResponse - (*MsgBeginRedelegate)(nil), // 6: cosmos.staking.v1beta1.MsgBeginRedelegate - (*MsgBeginRedelegateResponse)(nil), // 7: cosmos.staking.v1beta1.MsgBeginRedelegateResponse - (*MsgUndelegate)(nil), // 8: cosmos.staking.v1beta1.MsgUndelegate - (*MsgUndelegateResponse)(nil), // 9: cosmos.staking.v1beta1.MsgUndelegateResponse - (*MsgCancelUnbondingDelegation)(nil), // 10: cosmos.staking.v1beta1.MsgCancelUnbondingDelegation - (*MsgCancelUnbondingDelegationResponse)(nil), // 11: cosmos.staking.v1beta1.MsgCancelUnbondingDelegationResponse - (*MsgUpdateParams)(nil), // 12: cosmos.staking.v1beta1.MsgUpdateParams - (*MsgUpdateParamsResponse)(nil), // 13: cosmos.staking.v1beta1.MsgUpdateParamsResponse - (*MsgTokenizeShares)(nil), // 14: cosmos.staking.v1beta1.MsgTokenizeShares - (*MsgTokenizeSharesResponse)(nil), // 15: cosmos.staking.v1beta1.MsgTokenizeSharesResponse - (*MsgRedeemTokensForShares)(nil), // 16: cosmos.staking.v1beta1.MsgRedeemTokensForShares - (*MsgRedeemTokensForSharesResponse)(nil), // 17: cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse - (*Description)(nil), // 18: cosmos.staking.v1beta1.Description - (*CommissionRates)(nil), // 19: cosmos.staking.v1beta1.CommissionRates - (*anypb.Any)(nil), // 20: google.protobuf.Any - (*v1beta1.Coin)(nil), // 21: cosmos.base.v1beta1.Coin - (*timestamppb.Timestamp)(nil), // 22: google.protobuf.Timestamp - (*Params)(nil), // 23: cosmos.staking.v1beta1.Params + (*MsgCreateValidator)(nil), // 0: cosmos.staking.v1beta1.MsgCreateValidator + (*MsgCreateValidatorResponse)(nil), // 1: cosmos.staking.v1beta1.MsgCreateValidatorResponse + (*MsgEditValidator)(nil), // 2: cosmos.staking.v1beta1.MsgEditValidator + (*MsgEditValidatorResponse)(nil), // 3: cosmos.staking.v1beta1.MsgEditValidatorResponse + (*MsgDelegate)(nil), // 4: cosmos.staking.v1beta1.MsgDelegate + (*MsgDelegateResponse)(nil), // 5: cosmos.staking.v1beta1.MsgDelegateResponse + (*MsgBeginRedelegate)(nil), // 6: cosmos.staking.v1beta1.MsgBeginRedelegate + (*MsgBeginRedelegateResponse)(nil), // 7: cosmos.staking.v1beta1.MsgBeginRedelegateResponse + (*MsgUndelegate)(nil), // 8: cosmos.staking.v1beta1.MsgUndelegate + (*MsgUndelegateResponse)(nil), // 9: cosmos.staking.v1beta1.MsgUndelegateResponse + (*MsgCancelUnbondingDelegation)(nil), // 10: cosmos.staking.v1beta1.MsgCancelUnbondingDelegation + (*MsgCancelUnbondingDelegationResponse)(nil), // 11: cosmos.staking.v1beta1.MsgCancelUnbondingDelegationResponse + (*MsgUpdateParams)(nil), // 12: cosmos.staking.v1beta1.MsgUpdateParams + (*MsgUpdateParamsResponse)(nil), // 13: cosmos.staking.v1beta1.MsgUpdateParamsResponse + (*MsgUnbondValidator)(nil), // 14: cosmos.staking.v1beta1.MsgUnbondValidator + (*MsgUnbondValidatorResponse)(nil), // 15: cosmos.staking.v1beta1.MsgUnbondValidatorResponse + (*MsgTokenizeShares)(nil), // 16: cosmos.staking.v1beta1.MsgTokenizeShares + (*MsgTokenizeSharesResponse)(nil), // 17: cosmos.staking.v1beta1.MsgTokenizeSharesResponse + (*MsgRedeemTokensForShares)(nil), // 18: cosmos.staking.v1beta1.MsgRedeemTokensForShares + (*MsgRedeemTokensForSharesResponse)(nil), // 19: cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse + (*MsgTransferTokenizeShareRecord)(nil), // 20: cosmos.staking.v1beta1.MsgTransferTokenizeShareRecord + (*MsgTransferTokenizeShareRecordResponse)(nil), // 21: cosmos.staking.v1beta1.MsgTransferTokenizeShareRecordResponse + (*MsgDisableTokenizeShares)(nil), // 22: cosmos.staking.v1beta1.MsgDisableTokenizeShares + (*MsgDisableTokenizeSharesResponse)(nil), // 23: cosmos.staking.v1beta1.MsgDisableTokenizeSharesResponse + (*MsgEnableTokenizeShares)(nil), // 24: cosmos.staking.v1beta1.MsgEnableTokenizeShares + (*MsgEnableTokenizeSharesResponse)(nil), // 25: cosmos.staking.v1beta1.MsgEnableTokenizeSharesResponse + (*MsgValidatorBond)(nil), // 26: cosmos.staking.v1beta1.MsgValidatorBond + (*MsgValidatorBondResponse)(nil), // 27: cosmos.staking.v1beta1.MsgValidatorBondResponse + (*Description)(nil), // 28: cosmos.staking.v1beta1.Description + (*CommissionRates)(nil), // 29: cosmos.staking.v1beta1.CommissionRates + (*anypb.Any)(nil), // 30: google.protobuf.Any + (*v1beta1.Coin)(nil), // 31: cosmos.base.v1beta1.Coin + (*timestamppb.Timestamp)(nil), // 32: google.protobuf.Timestamp + (*Params)(nil), // 33: cosmos.staking.v1beta1.Params } var file_cosmos_staking_v1beta1_tx_proto_depIdxs = []int32{ - 18, // 0: cosmos.staking.v1beta1.MsgCreateValidator.description:type_name -> cosmos.staking.v1beta1.Description - 19, // 1: cosmos.staking.v1beta1.MsgCreateValidator.commission:type_name -> cosmos.staking.v1beta1.CommissionRates - 20, // 2: cosmos.staking.v1beta1.MsgCreateValidator.pubkey:type_name -> google.protobuf.Any - 21, // 3: cosmos.staking.v1beta1.MsgCreateValidator.value:type_name -> cosmos.base.v1beta1.Coin - 18, // 4: cosmos.staking.v1beta1.MsgEditValidator.description:type_name -> cosmos.staking.v1beta1.Description - 21, // 5: cosmos.staking.v1beta1.MsgDelegate.amount:type_name -> cosmos.base.v1beta1.Coin - 21, // 6: cosmos.staking.v1beta1.MsgBeginRedelegate.amount:type_name -> cosmos.base.v1beta1.Coin - 22, // 7: cosmos.staking.v1beta1.MsgBeginRedelegateResponse.completion_time:type_name -> google.protobuf.Timestamp - 21, // 8: cosmos.staking.v1beta1.MsgUndelegate.amount:type_name -> cosmos.base.v1beta1.Coin - 22, // 9: cosmos.staking.v1beta1.MsgUndelegateResponse.completion_time:type_name -> google.protobuf.Timestamp - 21, // 10: cosmos.staking.v1beta1.MsgUndelegateResponse.amount:type_name -> cosmos.base.v1beta1.Coin - 21, // 11: cosmos.staking.v1beta1.MsgCancelUnbondingDelegation.amount:type_name -> cosmos.base.v1beta1.Coin - 23, // 12: cosmos.staking.v1beta1.MsgUpdateParams.params:type_name -> cosmos.staking.v1beta1.Params - 21, // 13: cosmos.staking.v1beta1.MsgTokenizeShares.amount:type_name -> cosmos.base.v1beta1.Coin - 21, // 14: cosmos.staking.v1beta1.MsgTokenizeSharesResponse.amount:type_name -> cosmos.base.v1beta1.Coin - 21, // 15: cosmos.staking.v1beta1.MsgRedeemTokensForShares.amount:type_name -> cosmos.base.v1beta1.Coin - 21, // 16: cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse.amount:type_name -> cosmos.base.v1beta1.Coin - 0, // 17: cosmos.staking.v1beta1.Msg.CreateValidator:input_type -> cosmos.staking.v1beta1.MsgCreateValidator - 2, // 18: cosmos.staking.v1beta1.Msg.EditValidator:input_type -> cosmos.staking.v1beta1.MsgEditValidator - 4, // 19: cosmos.staking.v1beta1.Msg.Delegate:input_type -> cosmos.staking.v1beta1.MsgDelegate - 6, // 20: cosmos.staking.v1beta1.Msg.BeginRedelegate:input_type -> cosmos.staking.v1beta1.MsgBeginRedelegate - 8, // 21: cosmos.staking.v1beta1.Msg.Undelegate:input_type -> cosmos.staking.v1beta1.MsgUndelegate - 10, // 22: cosmos.staking.v1beta1.Msg.CancelUnbondingDelegation:input_type -> cosmos.staking.v1beta1.MsgCancelUnbondingDelegation - 12, // 23: cosmos.staking.v1beta1.Msg.UpdateParams:input_type -> cosmos.staking.v1beta1.MsgUpdateParams - 1, // 24: cosmos.staking.v1beta1.Msg.CreateValidator:output_type -> cosmos.staking.v1beta1.MsgCreateValidatorResponse - 3, // 25: cosmos.staking.v1beta1.Msg.EditValidator:output_type -> cosmos.staking.v1beta1.MsgEditValidatorResponse - 5, // 26: cosmos.staking.v1beta1.Msg.Delegate:output_type -> cosmos.staking.v1beta1.MsgDelegateResponse - 7, // 27: cosmos.staking.v1beta1.Msg.BeginRedelegate:output_type -> cosmos.staking.v1beta1.MsgBeginRedelegateResponse - 9, // 28: cosmos.staking.v1beta1.Msg.Undelegate:output_type -> cosmos.staking.v1beta1.MsgUndelegateResponse - 11, // 29: cosmos.staking.v1beta1.Msg.CancelUnbondingDelegation:output_type -> cosmos.staking.v1beta1.MsgCancelUnbondingDelegationResponse - 13, // 30: cosmos.staking.v1beta1.Msg.UpdateParams:output_type -> cosmos.staking.v1beta1.MsgUpdateParamsResponse - 24, // [24:31] is the sub-list for method output_type - 17, // [17:24] is the sub-list for method input_type - 17, // [17:17] is the sub-list for extension type_name - 17, // [17:17] is the sub-list for extension extendee - 0, // [0:17] is the sub-list for field type_name + 28, // 0: cosmos.staking.v1beta1.MsgCreateValidator.description:type_name -> cosmos.staking.v1beta1.Description + 29, // 1: cosmos.staking.v1beta1.MsgCreateValidator.commission:type_name -> cosmos.staking.v1beta1.CommissionRates + 30, // 2: cosmos.staking.v1beta1.MsgCreateValidator.pubkey:type_name -> google.protobuf.Any + 31, // 3: cosmos.staking.v1beta1.MsgCreateValidator.value:type_name -> cosmos.base.v1beta1.Coin + 28, // 4: cosmos.staking.v1beta1.MsgEditValidator.description:type_name -> cosmos.staking.v1beta1.Description + 31, // 5: cosmos.staking.v1beta1.MsgDelegate.amount:type_name -> cosmos.base.v1beta1.Coin + 31, // 6: cosmos.staking.v1beta1.MsgBeginRedelegate.amount:type_name -> cosmos.base.v1beta1.Coin + 32, // 7: cosmos.staking.v1beta1.MsgBeginRedelegateResponse.completion_time:type_name -> google.protobuf.Timestamp + 31, // 8: cosmos.staking.v1beta1.MsgUndelegate.amount:type_name -> cosmos.base.v1beta1.Coin + 32, // 9: cosmos.staking.v1beta1.MsgUndelegateResponse.completion_time:type_name -> google.protobuf.Timestamp + 31, // 10: cosmos.staking.v1beta1.MsgUndelegateResponse.amount:type_name -> cosmos.base.v1beta1.Coin + 31, // 11: cosmos.staking.v1beta1.MsgCancelUnbondingDelegation.amount:type_name -> cosmos.base.v1beta1.Coin + 33, // 12: cosmos.staking.v1beta1.MsgUpdateParams.params:type_name -> cosmos.staking.v1beta1.Params + 31, // 13: cosmos.staking.v1beta1.MsgTokenizeShares.amount:type_name -> cosmos.base.v1beta1.Coin + 31, // 14: cosmos.staking.v1beta1.MsgTokenizeSharesResponse.amount:type_name -> cosmos.base.v1beta1.Coin + 31, // 15: cosmos.staking.v1beta1.MsgRedeemTokensForShares.amount:type_name -> cosmos.base.v1beta1.Coin + 31, // 16: cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse.amount:type_name -> cosmos.base.v1beta1.Coin + 32, // 17: cosmos.staking.v1beta1.MsgEnableTokenizeSharesResponse.completion_time:type_name -> google.protobuf.Timestamp + 0, // 18: cosmos.staking.v1beta1.Msg.CreateValidator:input_type -> cosmos.staking.v1beta1.MsgCreateValidator + 2, // 19: cosmos.staking.v1beta1.Msg.EditValidator:input_type -> cosmos.staking.v1beta1.MsgEditValidator + 4, // 20: cosmos.staking.v1beta1.Msg.Delegate:input_type -> cosmos.staking.v1beta1.MsgDelegate + 6, // 21: cosmos.staking.v1beta1.Msg.BeginRedelegate:input_type -> cosmos.staking.v1beta1.MsgBeginRedelegate + 8, // 22: cosmos.staking.v1beta1.Msg.Undelegate:input_type -> cosmos.staking.v1beta1.MsgUndelegate + 10, // 23: cosmos.staking.v1beta1.Msg.CancelUnbondingDelegation:input_type -> cosmos.staking.v1beta1.MsgCancelUnbondingDelegation + 12, // 24: cosmos.staking.v1beta1.Msg.UpdateParams:input_type -> cosmos.staking.v1beta1.MsgUpdateParams + 14, // 25: cosmos.staking.v1beta1.Msg.UnbondValidator:input_type -> cosmos.staking.v1beta1.MsgUnbondValidator + 16, // 26: cosmos.staking.v1beta1.Msg.TokenizeShares:input_type -> cosmos.staking.v1beta1.MsgTokenizeShares + 18, // 27: cosmos.staking.v1beta1.Msg.RedeemTokensForShares:input_type -> cosmos.staking.v1beta1.MsgRedeemTokensForShares + 20, // 28: cosmos.staking.v1beta1.Msg.TransferTokenizeShareRecord:input_type -> cosmos.staking.v1beta1.MsgTransferTokenizeShareRecord + 22, // 29: cosmos.staking.v1beta1.Msg.DisableTokenizeShares:input_type -> cosmos.staking.v1beta1.MsgDisableTokenizeShares + 24, // 30: cosmos.staking.v1beta1.Msg.EnableTokenizeShares:input_type -> cosmos.staking.v1beta1.MsgEnableTokenizeShares + 26, // 31: cosmos.staking.v1beta1.Msg.ValidatorBond:input_type -> cosmos.staking.v1beta1.MsgValidatorBond + 1, // 32: cosmos.staking.v1beta1.Msg.CreateValidator:output_type -> cosmos.staking.v1beta1.MsgCreateValidatorResponse + 3, // 33: cosmos.staking.v1beta1.Msg.EditValidator:output_type -> cosmos.staking.v1beta1.MsgEditValidatorResponse + 5, // 34: cosmos.staking.v1beta1.Msg.Delegate:output_type -> cosmos.staking.v1beta1.MsgDelegateResponse + 7, // 35: cosmos.staking.v1beta1.Msg.BeginRedelegate:output_type -> cosmos.staking.v1beta1.MsgBeginRedelegateResponse + 9, // 36: cosmos.staking.v1beta1.Msg.Undelegate:output_type -> cosmos.staking.v1beta1.MsgUndelegateResponse + 11, // 37: cosmos.staking.v1beta1.Msg.CancelUnbondingDelegation:output_type -> cosmos.staking.v1beta1.MsgCancelUnbondingDelegationResponse + 13, // 38: cosmos.staking.v1beta1.Msg.UpdateParams:output_type -> cosmos.staking.v1beta1.MsgUpdateParamsResponse + 15, // 39: cosmos.staking.v1beta1.Msg.UnbondValidator:output_type -> cosmos.staking.v1beta1.MsgUnbondValidatorResponse + 17, // 40: cosmos.staking.v1beta1.Msg.TokenizeShares:output_type -> cosmos.staking.v1beta1.MsgTokenizeSharesResponse + 19, // 41: cosmos.staking.v1beta1.Msg.RedeemTokensForShares:output_type -> cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse + 21, // 42: cosmos.staking.v1beta1.Msg.TransferTokenizeShareRecord:output_type -> cosmos.staking.v1beta1.MsgTransferTokenizeShareRecordResponse + 23, // 43: cosmos.staking.v1beta1.Msg.DisableTokenizeShares:output_type -> cosmos.staking.v1beta1.MsgDisableTokenizeSharesResponse + 25, // 44: cosmos.staking.v1beta1.Msg.EnableTokenizeShares:output_type -> cosmos.staking.v1beta1.MsgEnableTokenizeSharesResponse + 27, // 45: cosmos.staking.v1beta1.Msg.ValidatorBond:output_type -> cosmos.staking.v1beta1.MsgValidatorBondResponse + 32, // [32:46] is the sub-list for method output_type + 18, // [18:32] is the sub-list for method input_type + 18, // [18:18] is the sub-list for extension type_name + 18, // [18:18] is the sub-list for extension extendee + 0, // [0:18] is the sub-list for field type_name } func init() { file_cosmos_staking_v1beta1_tx_proto_init() } @@ -10527,7 +15175,7 @@ func file_cosmos_staking_v1beta1_tx_proto_init() { } } file_cosmos_staking_v1beta1_tx_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgTokenizeShares); i { + switch v := v.(*MsgUnbondValidator); i { case 0: return &v.state case 1: @@ -10539,7 +15187,7 @@ func file_cosmos_staking_v1beta1_tx_proto_init() { } } file_cosmos_staking_v1beta1_tx_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgTokenizeSharesResponse); i { + switch v := v.(*MsgUnbondValidatorResponse); i { case 0: return &v.state case 1: @@ -10551,7 +15199,7 @@ func file_cosmos_staking_v1beta1_tx_proto_init() { } } file_cosmos_staking_v1beta1_tx_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgRedeemTokensForShares); i { + switch v := v.(*MsgTokenizeShares); i { case 0: return &v.state case 1: @@ -10563,6 +15211,30 @@ func file_cosmos_staking_v1beta1_tx_proto_init() { } } file_cosmos_staking_v1beta1_tx_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgTokenizeSharesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cosmos_staking_v1beta1_tx_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgRedeemTokensForShares); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cosmos_staking_v1beta1_tx_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgRedeemTokensForSharesResponse); i { case 0: return &v.state @@ -10574,6 +15246,102 @@ func file_cosmos_staking_v1beta1_tx_proto_init() { return nil } } + file_cosmos_staking_v1beta1_tx_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgTransferTokenizeShareRecord); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cosmos_staking_v1beta1_tx_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgTransferTokenizeShareRecordResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cosmos_staking_v1beta1_tx_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgDisableTokenizeShares); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cosmos_staking_v1beta1_tx_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgDisableTokenizeSharesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cosmos_staking_v1beta1_tx_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgEnableTokenizeShares); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cosmos_staking_v1beta1_tx_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgEnableTokenizeSharesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cosmos_staking_v1beta1_tx_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgValidatorBond); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cosmos_staking_v1beta1_tx_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgValidatorBondResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -10581,7 +15349,7 @@ func file_cosmos_staking_v1beta1_tx_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cosmos_staking_v1beta1_tx_proto_rawDesc, NumEnums: 0, - NumMessages: 18, + NumMessages: 28, NumExtensions: 0, NumServices: 1, }, diff --git a/api/cosmos/staking/v1beta1/tx_grpc.pb.go b/api/cosmos/staking/v1beta1/tx_grpc.pb.go index 84a8c06e8998..164001876ddf 100644 --- a/api/cosmos/staking/v1beta1/tx_grpc.pb.go +++ b/api/cosmos/staking/v1beta1/tx_grpc.pb.go @@ -19,13 +19,20 @@ import ( const _ = grpc.SupportPackageIsVersion7 const ( - Msg_CreateValidator_FullMethodName = "/cosmos.staking.v1beta1.Msg/CreateValidator" - Msg_EditValidator_FullMethodName = "/cosmos.staking.v1beta1.Msg/EditValidator" - Msg_Delegate_FullMethodName = "/cosmos.staking.v1beta1.Msg/Delegate" - Msg_BeginRedelegate_FullMethodName = "/cosmos.staking.v1beta1.Msg/BeginRedelegate" - Msg_Undelegate_FullMethodName = "/cosmos.staking.v1beta1.Msg/Undelegate" - Msg_CancelUnbondingDelegation_FullMethodName = "/cosmos.staking.v1beta1.Msg/CancelUnbondingDelegation" - Msg_UpdateParams_FullMethodName = "/cosmos.staking.v1beta1.Msg/UpdateParams" + Msg_CreateValidator_FullMethodName = "/cosmos.staking.v1beta1.Msg/CreateValidator" + Msg_EditValidator_FullMethodName = "/cosmos.staking.v1beta1.Msg/EditValidator" + Msg_Delegate_FullMethodName = "/cosmos.staking.v1beta1.Msg/Delegate" + Msg_BeginRedelegate_FullMethodName = "/cosmos.staking.v1beta1.Msg/BeginRedelegate" + Msg_Undelegate_FullMethodName = "/cosmos.staking.v1beta1.Msg/Undelegate" + Msg_CancelUnbondingDelegation_FullMethodName = "/cosmos.staking.v1beta1.Msg/CancelUnbondingDelegation" + Msg_UpdateParams_FullMethodName = "/cosmos.staking.v1beta1.Msg/UpdateParams" + Msg_UnbondValidator_FullMethodName = "/cosmos.staking.v1beta1.Msg/UnbondValidator" + Msg_TokenizeShares_FullMethodName = "/cosmos.staking.v1beta1.Msg/TokenizeShares" + Msg_RedeemTokensForShares_FullMethodName = "/cosmos.staking.v1beta1.Msg/RedeemTokensForShares" + Msg_TransferTokenizeShareRecord_FullMethodName = "/cosmos.staking.v1beta1.Msg/TransferTokenizeShareRecord" + Msg_DisableTokenizeShares_FullMethodName = "/cosmos.staking.v1beta1.Msg/DisableTokenizeShares" + Msg_EnableTokenizeShares_FullMethodName = "/cosmos.staking.v1beta1.Msg/EnableTokenizeShares" + Msg_ValidatorBond_FullMethodName = "/cosmos.staking.v1beta1.Msg/ValidatorBond" ) // MsgClient is the client API for Msg service. @@ -54,6 +61,38 @@ type MsgClient interface { // parameters. // Since: cosmos-sdk 0.47 UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) + // UnbondValidator defines a method for performing the status transition for a validator + // from bonded to unbonding. + // + // Since: cosmos-sdk 0.47-lsm + UnbondValidator(ctx context.Context, in *MsgUnbondValidator, opts ...grpc.CallOption) (*MsgUnbondValidatorResponse, error) + // TokenizeShares defines a method for tokenizing shares from a validator. + // + // Since: cosmos-sdk 0.47-lsm + TokenizeShares(ctx context.Context, in *MsgTokenizeShares, opts ...grpc.CallOption) (*MsgTokenizeSharesResponse, error) + // RedeemTokensForShares defines a method for redeeming tokens from a validator for + // shares. + // + // Since: cosmos-sdk 0.47-lsm + RedeemTokensForShares(ctx context.Context, in *MsgRedeemTokensForShares, opts ...grpc.CallOption) (*MsgRedeemTokensForSharesResponse, error) + // TransferTokenizeShareRecord defines a method to transfer ownership of + // TokenizeShareRecord. + // + // Since: cosmos-sdk 0.47-lsm + TransferTokenizeShareRecord(ctx context.Context, in *MsgTransferTokenizeShareRecord, opts ...grpc.CallOption) (*MsgTransferTokenizeShareRecordResponse, error) + // DisableTokenizeShares defines a method to prevent the tokenization of an addresses stake. + // + // Since: cosmos-sdk 0.47-lsm + DisableTokenizeShares(ctx context.Context, in *MsgDisableTokenizeShares, opts ...grpc.CallOption) (*MsgDisableTokenizeSharesResponse, error) + // EnableTokenizeShares defines a method to re-enable the tokenization of an addresseses stake + // after it has been disabled. + // + // Since: cosmos-sdk 0.47-lsm + EnableTokenizeShares(ctx context.Context, in *MsgEnableTokenizeShares, opts ...grpc.CallOption) (*MsgEnableTokenizeSharesResponse, error) + // ValidatorBond defines a method for performing a validator self-bond. + // + // Since: cosmos-sdk 0.47-lsm + ValidatorBond(ctx context.Context, in *MsgValidatorBond, opts ...grpc.CallOption) (*MsgValidatorBondResponse, error) } type msgClient struct { @@ -127,6 +166,69 @@ func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts return out, nil } +func (c *msgClient) UnbondValidator(ctx context.Context, in *MsgUnbondValidator, opts ...grpc.CallOption) (*MsgUnbondValidatorResponse, error) { + out := new(MsgUnbondValidatorResponse) + err := c.cc.Invoke(ctx, Msg_UnbondValidator_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) TokenizeShares(ctx context.Context, in *MsgTokenizeShares, opts ...grpc.CallOption) (*MsgTokenizeSharesResponse, error) { + out := new(MsgTokenizeSharesResponse) + err := c.cc.Invoke(ctx, Msg_TokenizeShares_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) RedeemTokensForShares(ctx context.Context, in *MsgRedeemTokensForShares, opts ...grpc.CallOption) (*MsgRedeemTokensForSharesResponse, error) { + out := new(MsgRedeemTokensForSharesResponse) + err := c.cc.Invoke(ctx, Msg_RedeemTokensForShares_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) TransferTokenizeShareRecord(ctx context.Context, in *MsgTransferTokenizeShareRecord, opts ...grpc.CallOption) (*MsgTransferTokenizeShareRecordResponse, error) { + out := new(MsgTransferTokenizeShareRecordResponse) + err := c.cc.Invoke(ctx, Msg_TransferTokenizeShareRecord_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) DisableTokenizeShares(ctx context.Context, in *MsgDisableTokenizeShares, opts ...grpc.CallOption) (*MsgDisableTokenizeSharesResponse, error) { + out := new(MsgDisableTokenizeSharesResponse) + err := c.cc.Invoke(ctx, Msg_DisableTokenizeShares_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) EnableTokenizeShares(ctx context.Context, in *MsgEnableTokenizeShares, opts ...grpc.CallOption) (*MsgEnableTokenizeSharesResponse, error) { + out := new(MsgEnableTokenizeSharesResponse) + err := c.cc.Invoke(ctx, Msg_EnableTokenizeShares_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) ValidatorBond(ctx context.Context, in *MsgValidatorBond, opts ...grpc.CallOption) (*MsgValidatorBondResponse, error) { + out := new(MsgValidatorBondResponse) + err := c.cc.Invoke(ctx, Msg_ValidatorBond_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // MsgServer is the server API for Msg service. // All implementations must embed UnimplementedMsgServer // for forward compatibility @@ -153,6 +255,38 @@ type MsgServer interface { // parameters. // Since: cosmos-sdk 0.47 UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) + // UnbondValidator defines a method for performing the status transition for a validator + // from bonded to unbonding. + // + // Since: cosmos-sdk 0.47-lsm + UnbondValidator(context.Context, *MsgUnbondValidator) (*MsgUnbondValidatorResponse, error) + // TokenizeShares defines a method for tokenizing shares from a validator. + // + // Since: cosmos-sdk 0.47-lsm + TokenizeShares(context.Context, *MsgTokenizeShares) (*MsgTokenizeSharesResponse, error) + // RedeemTokensForShares defines a method for redeeming tokens from a validator for + // shares. + // + // Since: cosmos-sdk 0.47-lsm + RedeemTokensForShares(context.Context, *MsgRedeemTokensForShares) (*MsgRedeemTokensForSharesResponse, error) + // TransferTokenizeShareRecord defines a method to transfer ownership of + // TokenizeShareRecord. + // + // Since: cosmos-sdk 0.47-lsm + TransferTokenizeShareRecord(context.Context, *MsgTransferTokenizeShareRecord) (*MsgTransferTokenizeShareRecordResponse, error) + // DisableTokenizeShares defines a method to prevent the tokenization of an addresses stake. + // + // Since: cosmos-sdk 0.47-lsm + DisableTokenizeShares(context.Context, *MsgDisableTokenizeShares) (*MsgDisableTokenizeSharesResponse, error) + // EnableTokenizeShares defines a method to re-enable the tokenization of an addresseses stake + // after it has been disabled. + // + // Since: cosmos-sdk 0.47-lsm + EnableTokenizeShares(context.Context, *MsgEnableTokenizeShares) (*MsgEnableTokenizeSharesResponse, error) + // ValidatorBond defines a method for performing a validator self-bond. + // + // Since: cosmos-sdk 0.47-lsm + ValidatorBond(context.Context, *MsgValidatorBond) (*MsgValidatorBondResponse, error) mustEmbedUnimplementedMsgServer() } @@ -181,6 +315,27 @@ func (UnimplementedMsgServer) CancelUnbondingDelegation(context.Context, *MsgCan func (UnimplementedMsgServer) UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateParams not implemented") } +func (UnimplementedMsgServer) UnbondValidator(context.Context, *MsgUnbondValidator) (*MsgUnbondValidatorResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UnbondValidator not implemented") +} +func (UnimplementedMsgServer) TokenizeShares(context.Context, *MsgTokenizeShares) (*MsgTokenizeSharesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method TokenizeShares not implemented") +} +func (UnimplementedMsgServer) RedeemTokensForShares(context.Context, *MsgRedeemTokensForShares) (*MsgRedeemTokensForSharesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RedeemTokensForShares not implemented") +} +func (UnimplementedMsgServer) TransferTokenizeShareRecord(context.Context, *MsgTransferTokenizeShareRecord) (*MsgTransferTokenizeShareRecordResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method TransferTokenizeShareRecord not implemented") +} +func (UnimplementedMsgServer) DisableTokenizeShares(context.Context, *MsgDisableTokenizeShares) (*MsgDisableTokenizeSharesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DisableTokenizeShares not implemented") +} +func (UnimplementedMsgServer) EnableTokenizeShares(context.Context, *MsgEnableTokenizeShares) (*MsgEnableTokenizeSharesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method EnableTokenizeShares not implemented") +} +func (UnimplementedMsgServer) ValidatorBond(context.Context, *MsgValidatorBond) (*MsgValidatorBondResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ValidatorBond not implemented") +} func (UnimplementedMsgServer) mustEmbedUnimplementedMsgServer() {} // UnsafeMsgServer may be embedded to opt out of forward compatibility for this service. @@ -320,6 +475,132 @@ func _Msg_UpdateParams_Handler(srv interface{}, ctx context.Context, dec func(in return interceptor(ctx, in, info, handler) } +func _Msg_UnbondValidator_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUnbondValidator) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).UnbondValidator(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_UnbondValidator_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).UnbondValidator(ctx, req.(*MsgUnbondValidator)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_TokenizeShares_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgTokenizeShares) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).TokenizeShares(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_TokenizeShares_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).TokenizeShares(ctx, req.(*MsgTokenizeShares)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_RedeemTokensForShares_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgRedeemTokensForShares) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).RedeemTokensForShares(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_RedeemTokensForShares_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).RedeemTokensForShares(ctx, req.(*MsgRedeemTokensForShares)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_TransferTokenizeShareRecord_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgTransferTokenizeShareRecord) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).TransferTokenizeShareRecord(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_TransferTokenizeShareRecord_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).TransferTokenizeShareRecord(ctx, req.(*MsgTransferTokenizeShareRecord)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_DisableTokenizeShares_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgDisableTokenizeShares) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).DisableTokenizeShares(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_DisableTokenizeShares_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).DisableTokenizeShares(ctx, req.(*MsgDisableTokenizeShares)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_EnableTokenizeShares_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgEnableTokenizeShares) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).EnableTokenizeShares(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_EnableTokenizeShares_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).EnableTokenizeShares(ctx, req.(*MsgEnableTokenizeShares)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_ValidatorBond_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgValidatorBond) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).ValidatorBond(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_ValidatorBond_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).ValidatorBond(ctx, req.(*MsgValidatorBond)) + } + return interceptor(ctx, in, info, handler) +} + // Msg_ServiceDesc is the grpc.ServiceDesc for Msg service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -355,6 +636,34 @@ var Msg_ServiceDesc = grpc.ServiceDesc{ MethodName: "UpdateParams", Handler: _Msg_UpdateParams_Handler, }, + { + MethodName: "UnbondValidator", + Handler: _Msg_UnbondValidator_Handler, + }, + { + MethodName: "TokenizeShares", + Handler: _Msg_TokenizeShares_Handler, + }, + { + MethodName: "RedeemTokensForShares", + Handler: _Msg_RedeemTokensForShares_Handler, + }, + { + MethodName: "TransferTokenizeShareRecord", + Handler: _Msg_TransferTokenizeShareRecord_Handler, + }, + { + MethodName: "DisableTokenizeShares", + Handler: _Msg_DisableTokenizeShares_Handler, + }, + { + MethodName: "EnableTokenizeShares", + Handler: _Msg_EnableTokenizeShares_Handler, + }, + { + MethodName: "ValidatorBond", + Handler: _Msg_ValidatorBond_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cosmos/staking/v1beta1/tx.proto", diff --git a/go.mod b/go.mod index 5f8e9322555a..07bb5cad82fd 100644 --- a/go.mod +++ b/go.mod @@ -27,6 +27,7 @@ require ( github.com/cosmos/gogoproto v1.7.0 github.com/cosmos/ledger-cosmos-go v0.14.0 github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 + github.com/gogo/protobuf v1.3.2 github.com/golang/mock v1.6.0 github.com/golang/protobuf v1.5.4 github.com/google/go-cmp v0.6.0 @@ -44,6 +45,7 @@ require ( github.com/magiconair/properties v1.8.7 github.com/manifoldco/promptui v0.9.0 github.com/mattn/go-isatty v0.0.20 + github.com/pkg/errors v0.9.1 github.com/prometheus/client_golang v1.20.1 github.com/prometheus/common v0.55.0 github.com/rs/zerolog v1.33.0 @@ -101,7 +103,6 @@ require ( github.com/go-logfmt/logfmt v0.6.0 // indirect github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect github.com/gogo/googleapis v1.4.1 // indirect - github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/glog v1.2.2 // indirect github.com/golang/snappy v0.0.4 // indirect github.com/google/btree v1.1.3 // indirect @@ -133,7 +134,6 @@ require ( github.com/oklog/run v1.1.0 // indirect github.com/pelletier/go-toml/v2 v2.2.2 // indirect github.com/petermattis/goid v0.0.0-20231207134359-e60b3f734c67 // indirect - github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_model v0.6.1 // indirect github.com/prometheus/procfs v0.15.1 // indirect diff --git a/proto/cosmos/staking/v1beta1/genesis.proto b/proto/cosmos/staking/v1beta1/genesis.proto index c3f1ce5dee91..60f088393fa8 100644 --- a/proto/cosmos/staking/v1beta1/genesis.proto +++ b/proto/cosmos/staking/v1beta1/genesis.proto @@ -7,6 +7,7 @@ import "gogoproto/gogo.proto"; import "cosmos/staking/v1beta1/staking.proto"; import "cosmos_proto/cosmos.proto"; import "amino/amino.proto"; +import "google/protobuf/timestamp.proto"; // GenesisState defines the staking module's genesis state. message GenesisState { @@ -40,6 +41,44 @@ message GenesisState { // exported defines a bool to identify whether the chain dealing with exported or initialized genesis. bool exported = 8; + + // store tokenize share records to provide reward to record owners. + // + // Since: cosmos-sdk 0.47-lsm + repeated TokenizeShareRecord tokenize_share_records = 9 [(gogoproto.nullable) = false, (amino.dont_omitempty) = true]; + + // last tokenize share record id, used for next share record id calculation. + // + // Since: cosmos-sdk 0.47-lsm + uint64 last_tokenize_share_record_id = 10; + + // total number of liquid staked tokens at genesis. + // + // Since: cosmos-sdk 0.47-lsm + bytes total_liquid_staked_tokens = 11 [ + (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", + (gogoproto.nullable) = false, + (amino.dont_omitempty) = true + ]; + + // tokenize shares locks at genesis. + // + // Since: cosmos-sdk 0.47-lsm + repeated TokenizeShareLock tokenize_share_locks = 12 [(gogoproto.nullable) = false, (amino.dont_omitempty) = true]; +} + +// TokenizeSharesLock required for specifying account locks at genesis. +// +// Since: cosmos-sdk 0.47-lsm +message TokenizeShareLock { + // Address of the account that is locked. + string address = 1; + + // Status of the lock (LOCKED or LOCK_EXPIRING) + string status = 2; + + // Completion time if the lock is expiring. + google.protobuf.Timestamp completion_time = 3 [(gogoproto.nullable) = false, (gogoproto.stdtime) = true]; } // LastValidatorPower required for validator set update logic. diff --git a/proto/cosmos/staking/v1beta1/query.proto b/proto/cosmos/staking/v1beta1/query.proto index 9b9812235274..31f7cc0bf8f3 100644 --- a/proto/cosmos/staking/v1beta1/query.proto +++ b/proto/cosmos/staking/v1beta1/query.proto @@ -1,6 +1,7 @@ syntax = "proto3"; package cosmos.staking.v1beta1; +import "cosmos/base/v1beta1/coin.proto"; import "cosmos/base/query/v1beta1/pagination.proto"; import "gogoproto/gogo.proto"; import "google/api/annotations.proto"; @@ -128,6 +129,74 @@ service Query { option (cosmos.query.v1.module_query_safe) = true; option (google.api.http).get = "/cosmos/staking/v1beta1/params"; } + + // Query for individual tokenize share record information by share by id. + // + // Since: cosmos-sdk 0.47-lsm + rpc TokenizeShareRecordById(QueryTokenizeShareRecordByIdRequest) returns (QueryTokenizeShareRecordByIdResponse) { + option (cosmos.query.v1.module_query_safe) = false; + option (google.api.http).get = "/cosmos/staking/v1beta1/tokenize_share_record_by_id/{id}"; + } + + // Query for individual tokenize share record information by share denom. + // + // Since: cosmos-sdk 0.47-lsm + rpc TokenizeShareRecordByDenom(QueryTokenizeShareRecordByDenomRequest) + returns (QueryTokenizeShareRecordByDenomResponse) { + option (cosmos.query.v1.module_query_safe) = false; + option (google.api.http).get = "/cosmos/staking/v1beta1/tokenize_share_record_by_denom/{denom}"; + } + + // Query tokenize share records by address. + // + // Since: cosmos-sdk 0.47-lsm + rpc TokenizeShareRecordsOwned(QueryTokenizeShareRecordsOwnedRequest) + returns (QueryTokenizeShareRecordsOwnedResponse) { + option (cosmos.query.v1.module_query_safe) = false; + option (google.api.http).get = "/cosmos/staking/v1beta1/tokenize_share_record_owned/{owner}"; + } + + // Query for all tokenize share records. + // + // Since: cosmos-sdk 0.47-lsm + rpc AllTokenizeShareRecords(QueryAllTokenizeShareRecordsRequest) returns (QueryAllTokenizeShareRecordsResponse) { + option (cosmos.query.v1.module_query_safe) = false; + option (google.api.http).get = "/cosmos/staking/v1beta1/tokenize_share_records"; + } + + // Query for last tokenize share record id. + // + // Since: cosmos-sdk 0.47-lsm + rpc LastTokenizeShareRecordId(QueryLastTokenizeShareRecordIdRequest) + returns (QueryLastTokenizeShareRecordIdResponse) { + option (cosmos.query.v1.module_query_safe) = false; + option (google.api.http).get = "/cosmos/staking/v1beta1/last_tokenize_share_record_id"; + } + + // Query for total tokenized staked assets. + // + // Since: cosmos-sdk 0.47-lsm + rpc TotalTokenizeSharedAssets(QueryTotalTokenizeSharedAssetsRequest) + returns (QueryTotalTokenizeSharedAssetsResponse) { + option (cosmos.query.v1.module_query_safe) = false; + option (google.api.http).get = "/cosmos/staking/v1beta1/total_tokenize_shared_assets"; + } + + // Query for total liquid staked (including tokenized shares or owned by an liquid staking provider). + // + // Since: cosmos-sdk 0.47-lsm + rpc TotalLiquidStaked(QueryTotalLiquidStaked) returns (QueryTotalLiquidStakedResponse) { + option (cosmos.query.v1.module_query_safe) = false; + option (google.api.http).get = "/cosmos/staking/v1beta1/total_liquid_staked"; + } + + // Query tokenize share locks. + // + // Since: cosmos-sdk 0.47-lsm + rpc TokenizeShareLockInfo(QueryTokenizeShareLockInfo) returns (QueryTokenizeShareLockInfoResponse) { + option (cosmos.query.v1.module_query_safe) = false; + option (google.api.http).get = "/cosmos/staking/v1beta1/tokenize_share_lock_info/{address}"; + } } // QueryValidatorsRequest is request type for Query/Validators RPC method. @@ -385,3 +454,131 @@ message QueryParamsResponse { // params holds all the parameters of this module. Params params = 1 [(gogoproto.nullable) = false, (amino.dont_omitempty) = true]; } + +// QueryTokenizeShareRecordByIdRequest is request type for the +// Query/QueryTokenizeShareRecordById RPC method. +// +// Since: cosmos-sdk 0.47-lsm +message QueryTokenizeShareRecordByIdRequest { + uint64 id = 1; +} + +// QueryTokenizeShareRecordByIdRequest is response type for the +// Query/QueryTokenizeShareRecordById RPC method. +// +// Since: cosmos-sdk 0.47-lsm +message QueryTokenizeShareRecordByIdResponse { + TokenizeShareRecord record = 1 [(gogoproto.nullable) = false]; +} + +// QueryTokenizeShareRecordByDenomRequest is request type for the +// Query/QueryTokenizeShareRecordByDenom RPC method. +// +// Since: cosmos-sdk 0.47-lsm +message QueryTokenizeShareRecordByDenomRequest { + string denom = 1; +} + +// QueryTokenizeShareRecordByDenomResponse is response type for the +// Query/QueryTokenizeShareRecordByDenom RPC method. +// +// Since: cosmos-sdk 0.47-lsm +message QueryTokenizeShareRecordByDenomResponse { + TokenizeShareRecord record = 1 [(gogoproto.nullable) = false]; +} + +// QueryTokenizeShareRecordsOwnedRequest is request type for the +// Query/QueryTokenizeShareRecordsOwned RPC method. +// +// Since: cosmos-sdk 0.47-lsm +message QueryTokenizeShareRecordsOwnedRequest { + string owner = 1; +} + +// QueryTokenizeShareRecordsOwnedResponse is response type for the +// Query/QueryTokenizeShareRecordsOwned RPC method. +// +// Since: cosmos-sdk 0.47-lsm +message QueryTokenizeShareRecordsOwnedResponse { + repeated TokenizeShareRecord records = 1 [(gogoproto.nullable) = false]; +} + +// QueryAllTokenizeShareRecordsRequest is request type for the +// Query/QueryAllTokenizeShareRecords RPC method. +// +// Since: cosmos-sdk 0.47-lsm +message QueryAllTokenizeShareRecordsRequest { + // pagination defines an optional pagination for the request. + cosmos.base.query.v1beta1.PageRequest pagination = 1; +} + +// QueryAllTokenizeShareRecordsResponse is response type for the +// Query/QueryAllTokenizeShareRecords RPC method. +// +// Since: cosmos-sdk 0.47-lsm +message QueryAllTokenizeShareRecordsResponse { + repeated TokenizeShareRecord records = 1 [(gogoproto.nullable) = false]; + // pagination defines the pagination in the response. + cosmos.base.query.v1beta1.PageResponse pagination = 2; +} + +// QueryLastTokenizeShareRecordIdRequest +// +// Since: cosmos-sdk 0.47-lsm +message QueryLastTokenizeShareRecordIdRequest {} + +// QueryLastTokenizeShareRecordIdResponse +// +// Since: cosmos-sdk 0.47-lsm +message QueryLastTokenizeShareRecordIdResponse { + uint64 id = 1; +} + +// QueryTotalTokenizeSharedAssetsRequest is request type for the +// Query/QueryTotalTokenizeSharedAssets RPC method. +// +// Since: cosmos-sdk 0.47-lsm +message QueryTotalTokenizeSharedAssetsRequest {} + +// QueryTotalTokenizeSharedAssetsResponse is response type for the +// Query/QueryTotalTokenizeSharedAssets RPC method. +// +// Since: cosmos-sdk 0.47-lsm +message QueryTotalTokenizeSharedAssetsResponse { + cosmos.base.v1beta1.Coin value = 1 [(gogoproto.nullable) = false]; +} + +// QueryQueryTotalLiquidStakedRequest is request type for the +// Query/QueryQueryTotalLiquidStaked RPC method. +// +// Since: cosmos-sdk 0.47-lsm +message QueryTotalLiquidStaked {} + +// QueryQueryTotalLiquidStakedResponse is response type for the +// Query/QueryQueryTotalLiquidStaked RPC method. +// +// Since: cosmos-sdk 0.47-lsm +message QueryTotalLiquidStakedResponse { + string tokens = 1 [ + (cosmos_proto.scalar) = "cosmos.Int", + (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", + (gogoproto.nullable) = false + ]; +} + +// QueryTokenizeShareLockInfo queries the tokenize share lock information +// associated with given account. +// +// Since: cosmos-sdk 0.47-lsm +message QueryTokenizeShareLockInfo { + string address = 1; +} + +// QueryTokenizeShareLockInfoResponse is the response from the +// QueryTokenizeShareLockInfo query. +// +// Since: cosmos-sdk 0.47-lsm +message QueryTokenizeShareLockInfoResponse { + string status = 1; + string expiration_time = 2; +} diff --git a/proto/cosmos/staking/v1beta1/staking.proto b/proto/cosmos/staking/v1beta1/staking.proto index 24ec65d10202..811bcf4cd4db 100644 --- a/proto/cosmos/staking/v1beta1/staking.proto +++ b/proto/cosmos/staking/v1beta1/staking.proto @@ -134,6 +134,23 @@ message Validator { // list of unbonding ids, each uniquely identifing an unbonding of this validator repeated uint64 unbonding_ids = 13; + + // validator_bond_shares is the number of shares self bonded from the validator. + // + // Since: cosmos-sdk 0.47-lsm + string validator_bond_shares = 14 [ + (cosmos_proto.scalar) = "cosmos.Dec", + (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.nullable) = false + ]; + // liquid_shares is the number of shares either tokenized or owned by a liquid staking provider. + // + // Since: cosmos-sdk 0.47-lsm + string liquid_shares = 15 [ + (cosmos_proto.scalar) = "cosmos.Dec", + (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.nullable) = false + ]; } // BondStatus is the status of a validator. @@ -206,6 +223,10 @@ message Delegation { (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; + // has this delegation been marked as a validator self bond. + // + // Since: cosmos-sdk 0.47-lsm + bool validator_bond = 4; } // UnbondingDelegation stores all of a single delegator's unbonding bonds @@ -320,6 +341,27 @@ message Params { (amino.dont_omitempty) = true, (cosmos_proto.scalar) = "cosmos.Dec" ]; + // validator_bond_factor is required as a safety check for tokenizing shares and + // delegations from liquid staking providers + string validator_bond_factor = 7 [ + (gogoproto.moretags) = "yaml:\"validator_bond_factor\"", + (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.nullable) = false + ]; + // global_liquid_staking_cap represents a cap on the portion of stake that + // comes from liquid staking providers + string global_liquid_staking_cap = 8 [ + (gogoproto.moretags) = "yaml:\"global_liquid_staking_cap\"", + (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.nullable) = false + ]; + // validator_liquid_staking_cap represents a cap on the portion of stake that + // comes from liquid staking providers for a specific validator + string validator_liquid_staking_cap = 9 [ + (gogoproto.moretags) = "yaml:\"validator_liquid_staking_cap\"", + (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.nullable) = false + ]; } // DelegationResponse is equivalent to Delegation except that it contains a @@ -392,3 +434,39 @@ enum Infraction { message ValidatorUpdates { repeated tendermint.abci.ValidatorUpdate updates = 1 [(gogoproto.nullable) = false, (amino.dont_omitempty) = true]; } + +// TokenizeShareRecord represents a tokenized delegation. +// +// Since: cosmos-sdk 0.47-lsm +message TokenizeShareRecord { + option (gogoproto.equal) = true; + + uint64 id = 1; + string owner = 2 [(cosmos_proto.scalar) = "cosmos.AddressString"]; + string module_account = 3; // module account take the role of delegator + string validator = 4 + [(cosmos_proto.scalar) = "cosmos.AddressString"]; // validator delegated to for tokenize share record creation +} + +// PendingTokenizeShareAuthorizations stores a list of addresses that have their +// tokenize share enablement in progress. +// +// Since: cosmos-sdk 0.47-lsm +message PendingTokenizeShareAuthorizations { + repeated string addresses = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; +} + +// TokenizeShareLockStatus represents status of an account's tokenize share lock. +// +// Since: cosmos-sdk 0.47-lsm +enum TokenizeShareLockStatus { + option (gogoproto.goproto_enum_prefix) = false; + // An empty value is not allowed. + TOKENIZE_SHARE_LOCK_STATUS_UNSPECIFIED = 0 [(gogoproto.enumvalue_customname) = "ShareLockStatusNil"]; + // Status means cannot tokenize shares. + TOKENIZE_SHARE_LOCK_STATUS_LOCKED = 1 [(gogoproto.enumvalue_customname) = "ShareLockStatusLocked"]; + // Status means cannot tokenize shares. + TOKENIZE_SHARE_LOCK_STATUS_UNLOCKED = 2 [(gogoproto.enumvalue_customname) = "ShareLockStatusUnlocked"]; + // Status when lock is queued for unlocking. + TOKENIZE_SHARE_LOCK_STATUS_LOCK_EXPIRING = 3 [(gogoproto.enumvalue_customname) = "ShareLockStatusLockExpiring"]; +} diff --git a/proto/cosmos/staking/v1beta1/tx.proto b/proto/cosmos/staking/v1beta1/tx.proto index add4cbb615f0..358115399248 100644 --- a/proto/cosmos/staking/v1beta1/tx.proto +++ b/proto/cosmos/staking/v1beta1/tx.proto @@ -45,6 +45,45 @@ service Msg { // parameters. // Since: cosmos-sdk 0.47 rpc UpdateParams(MsgUpdateParams) returns (MsgUpdateParamsResponse); + + // UnbondValidator defines a method for performing the status transition for a validator + // from bonded to unbonding. + // + // Since: cosmos-sdk 0.47-lsm + rpc UnbondValidator(MsgUnbondValidator) returns (MsgUnbondValidatorResponse); + + // TokenizeShares defines a method for tokenizing shares from a validator. + // + // Since: cosmos-sdk 0.47-lsm + rpc TokenizeShares(MsgTokenizeShares) returns (MsgTokenizeSharesResponse); + + // RedeemTokensForShares defines a method for redeeming tokens from a validator for + // shares. + // + // Since: cosmos-sdk 0.47-lsm + rpc RedeemTokensForShares(MsgRedeemTokensForShares) returns (MsgRedeemTokensForSharesResponse); + + // TransferTokenizeShareRecord defines a method to transfer ownership of + // TokenizeShareRecord. + // + // Since: cosmos-sdk 0.47-lsm + rpc TransferTokenizeShareRecord(MsgTransferTokenizeShareRecord) returns (MsgTransferTokenizeShareRecordResponse); + + // DisableTokenizeShares defines a method to prevent the tokenization of an addresses stake. + // + // Since: cosmos-sdk 0.47-lsm + rpc DisableTokenizeShares(MsgDisableTokenizeShares) returns (MsgDisableTokenizeSharesResponse); + + // EnableTokenizeShares defines a method to re-enable the tokenization of an addresseses stake + // after it has been disabled. + // + // Since: cosmos-sdk 0.47-lsm + rpc EnableTokenizeShares(MsgEnableTokenizeShares) returns (MsgEnableTokenizeSharesResponse); + + // ValidatorBond defines a method for performing a validator self-bond. + // + // Since: cosmos-sdk 0.47-lsm + rpc ValidatorBond(MsgValidatorBond) returns (MsgValidatorBondResponse); } // MsgCreateValidator defines a SDK message for creating a new validator. @@ -205,6 +244,21 @@ message MsgUpdateParams { // Since: cosmos-sdk 0.47 message MsgUpdateParamsResponse {}; +// MsgUnbondValidator defines a method for performing the status transition for +// a validator from bonded to unbonding. +// +// Since: cosmos-sdk 0.47-lsm +message MsgUnbondValidator { + option (cosmos.msg.v1.signer) = "validator_address"; + + string validator_address = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; +} + +// MsgUnbondValidatorResponse defines the MsgUnbondValidator response type. +// +// Since: cosmos-sdk 0.47-lsm +message MsgUnbondValidatorResponse {} + // MsgTokenizeShares tokenizes a delegation. // // Since: cosmos-sdk 0.47-lsm @@ -246,3 +300,77 @@ message MsgRedeemTokensForShares { message MsgRedeemTokensForSharesResponse { cosmos.base.v1beta1.Coin amount = 1 [(gogoproto.nullable) = false]; } + +// MsgTransferTokenizeShareRecord transfer a tokenize share record. +// +// Since: cosmos-sdk 0.47-lsm +message MsgTransferTokenizeShareRecord { + option (cosmos.msg.v1.signer) = "sender"; + + option (gogoproto.equal) = false; + option (gogoproto.goproto_getters) = false; + + uint64 tokenize_share_record_id = 1; + string sender = 2; + string new_owner = 3; +} + +// MsgTransferTokenizeShareRecordResponse defines the MsgTransferTokenizeShareRecord response type. +// +// Since: cosmos-sdk 0.47-lsm +message MsgTransferTokenizeShareRecordResponse {} + +// MsgDisableTokenizeShares prevents the tokenization of shares for a given address. +// +// Since: cosmos-sdk 0.47-lsm +message MsgDisableTokenizeShares { + option (cosmos.msg.v1.signer) = "delegator_address"; + + option (gogoproto.equal) = false; + option (gogoproto.goproto_getters) = false; + + string delegator_address = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; +} + +// MsgDisableTokenizeSharesResponse defines the /DisableTokenizeShares response type. +// +// Since: cosmos-sdk 0.47-lsm +message MsgDisableTokenizeSharesResponse {} + +// MsgEnableTokenizeShares re-enables tokenization of shares for a given address. +// +// Since: cosmos-sdk 0.47-lsm +message MsgEnableTokenizeShares { + option (cosmos.msg.v1.signer) = "delegator_address"; + + option (gogoproto.equal) = false; + option (gogoproto.goproto_getters) = false; + + string delegator_address = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; +} + +// MsgEnableTokenizeSharesResponse defines the EnableTokenizeShares response type. +// +// Since: cosmos-sdk 0.47-lsm +message MsgEnableTokenizeSharesResponse { + google.protobuf.Timestamp completion_time = 1 [(gogoproto.nullable) = false, (gogoproto.stdtime) = true]; +} + +// MsgValidatorBond defines a SDK message for performing validator self-bond of delegated coins +// from a delegator to a validator. +// +// Since: cosmos-sdk 0.47-lsm +message MsgValidatorBond { + option (cosmos.msg.v1.signer) = "delegator_address"; + + option (gogoproto.equal) = false; + option (gogoproto.goproto_getters) = false; + + string delegator_address = 1 [(gogoproto.moretags) = "yaml:\"delegator_address\""]; + string validator_address = 2 [(gogoproto.moretags) = "yaml:\"validator_address\""]; +} + +// MsgValidatorBondResponse defines the ValidatorBond response type. +// +// Since: cosmos-sdk 0.47-lsm +message MsgValidatorBondResponse {} diff --git a/x/distribution/keeper/hooks.go b/x/distribution/keeper/hooks.go index 006f35ed89a8..cf8cf296cf05 100644 --- a/x/distribution/keeper/hooks.go +++ b/x/distribution/keeper/hooks.go @@ -180,3 +180,11 @@ func (h Hooks) BeforeDelegationRemoved(_ context.Context, _ sdk.AccAddress, _ sd func (h Hooks) AfterUnbondingInitiated(_ context.Context, _ uint64) error { return nil } + +func (h Hooks) BeforeTokenizeShareRecordRemoved(ctx sdk.Context, recordId uint64) error { + err := h.k.WithdrawSingleShareRecordReward(ctx, recordId) + if err != nil { + h.k.Logger(ctx).Error(err.Error()) + } + return err +} diff --git a/x/distribution/keeper/keeper.go b/x/distribution/keeper/keeper.go index 7bea2017a1b9..8c84f292e972 100644 --- a/x/distribution/keeper/keeper.go +++ b/x/distribution/keeper/keeper.go @@ -216,3 +216,174 @@ func (k Keeper) FundCommunityPool(ctx context.Context, amount sdk.Coins, sender feePool.CommunityPool = feePool.CommunityPool.Add(sdk.NewDecCoinsFromCoins(amount...)...) return k.FeePool.Set(ctx, feePool) } + +func (k Keeper) WithdrawSingleShareRecordReward(ctx sdk.Context, recordID uint64) error { + record, err := k.stakingKeeper.GetTokenizeShareRecord(ctx, recordID) + if err != nil { + return err + } + + owner, err := sdk.AccAddressFromBech32(record.Owner) + if err != nil { + return err + } + + valAddr, err := sdk.ValAddressFromBech32(record.Validator) + if err != nil { + return err + } + + val, err := k.stakingKeeper.Validator(ctx, valAddr) + if err != nil { + return err + } + del, err := k.stakingKeeper.Delegation(ctx, record.GetModuleAddress(), valAddr) + if err != nil { + return err + } + if val != nil && del != nil { + // withdraw rewards into reward module account and send it to reward owner + cacheCtx, write := ctx.CacheContext() + _, err = k.WithdrawDelegationRewards(cacheCtx, record.GetModuleAddress(), valAddr) + if err != nil { + return err + } + write() + } + + // apply changes when the module account has positive balance + balances := k.bankKeeper.GetAllBalances(ctx, record.GetModuleAddress()) + if !balances.Empty() { + err = k.bankKeeper.SendCoins(ctx, record.GetModuleAddress(), owner, balances) + if err != nil { + return err + } + + ctx.EventManager().EmitEvent( + sdk.NewEvent( + types.EventTypeWithdrawTokenizeShareReward, + sdk.NewAttribute(types.AttributeKeyWithdrawAddress, owner.String()), + sdk.NewAttribute(sdk.AttributeKeyAmount, balances.String()), + ), + ) + } + return nil +} + +// withdraw reward for owning TokenizeShareRecord. +func (k Keeper) WithdrawTokenizeShareRecordReward(ctx sdk.Context, ownerAddr sdk.AccAddress, recordID uint64) (sdk.Coins, error) { + record, err := k.stakingKeeper.GetTokenizeShareRecord(ctx, recordID) + if err != nil { + return nil, err + } + + if record.Owner != ownerAddr.String() { + return nil, types.ErrNotTokenizeShareRecordOwner + } + + valAddr, err := sdk.ValAddressFromBech32(record.Validator) + if err != nil { + return nil, err + } + + val, err := k.stakingKeeper.Validator(ctx, valAddr) + if err != nil { + return nil, err + } + if val == nil { + return nil, err + } + + del, err := k.stakingKeeper.Delegation(ctx, record.GetModuleAddress(), valAddr) + if err != nil { + return nil, err + } + if del == nil { + return nil, err + } + + // withdraw rewards into reward module account and send it to reward owner + _, err = k.WithdrawDelegationRewards(ctx, record.GetModuleAddress(), valAddr) + if err != nil { + return nil, err + } + + // apply changes when the module account has positive balance + rewards := k.bankKeeper.GetAllBalances(ctx, record.GetModuleAddress()) + if !rewards.Empty() { + err = k.bankKeeper.SendCoins(ctx, record.GetModuleAddress(), ownerAddr, rewards) + if err != nil { + return nil, err + } + } + + ctx.EventManager().EmitEvent( + sdk.NewEvent( + types.EventTypeWithdrawTokenizeShareReward, + sdk.NewAttribute(types.AttributeKeyWithdrawAddress, ownerAddr.String()), + sdk.NewAttribute(sdk.AttributeKeyAmount, rewards.String()), + ), + ) + + return rewards, nil +} + +// withdraw reward for all owning TokenizeShareRecord +func (k Keeper) WithdrawAllTokenizeShareRecordReward(ctx sdk.Context, ownerAddr sdk.AccAddress) (sdk.Coins, error) { + totalRewards := sdk.Coins{} + + records := k.stakingKeeper.GetTokenizeShareRecordsByOwner(ctx, ownerAddr) + + for _, record := range records { + valAddr, err := sdk.ValAddressFromBech32(record.Validator) + if err != nil { + return nil, err + } + + val, err := k.stakingKeeper.Validator(ctx, valAddr) + if err != nil { + return nil, err + } + if val == nil { + continue + } + + del, err := k.stakingKeeper.Delegation(ctx, record.GetModuleAddress(), valAddr) + if err != nil { + return nil, err + } + if del == nil { + continue + } + + // withdraw rewards into reward module account and send it to reward owner + cacheCtx, write := ctx.CacheContext() + _, err = k.WithdrawDelegationRewards(cacheCtx, record.GetModuleAddress(), valAddr) + if err != nil { + k.Logger(ctx).Error(err.Error()) + continue + } + + // apply changes when the module account has positive balance + balances := k.bankKeeper.GetAllBalances(cacheCtx, record.GetModuleAddress()) + if !balances.Empty() { + err = k.bankKeeper.SendCoins(cacheCtx, record.GetModuleAddress(), ownerAddr, balances) + if err != nil { + k.Logger(ctx).Error(err.Error()) + continue + } + write() + totalRewards = totalRewards.Add(balances...) + } + } + + ctx.EventManager().EmitEvent( + sdk.NewEvent( + types.EventTypeWithdrawTokenizeShareReward, + sdk.NewAttribute(types.AttributeKeyWithdrawAddress, ownerAddr.String()), + sdk.NewAttribute(sdk.AttributeKeyAmount, totalRewards.String()), + ), + ) + + return totalRewards, nil +} diff --git a/x/distribution/testutil/expected_keepers_mocks.go b/x/distribution/testutil/expected_keepers_mocks.go index c8d22259d623..f86c22ecd728 100644 --- a/x/distribution/testutil/expected_keepers_mocks.go +++ b/x/distribution/testutil/expected_keepers_mocks.go @@ -11,6 +11,7 @@ import ( address "cosmossdk.io/core/address" types "github.com/cosmos/cosmos-sdk/types" types0 "github.com/cosmos/cosmos-sdk/x/staking/types" + types1 "github.com/cosmos/cosmos-sdk/x/staking/types" gomock "github.com/golang/mock/gomock" ) @@ -206,6 +207,20 @@ func (m *MockBankKeeper) SpendableCoins(ctx context.Context, addr types.AccAddre return ret0 } +// SendCoins mocks base method. +func (m *MockBankKeeper) SendCoins(ctx context.Context, fromAddr, toAddr types.AccAddress, amt types.Coins) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "SendCoins", ctx, fromAddr, toAddr, amt) + ret0, _ := ret[0].(error) + return ret0 +} + +// SendCoins indicates an expected call of SendCoins. +func (mr *MockBankKeeperMockRecorder) SendCoins(ctx, fromAddr, toAddr, amt interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendCoins", reflect.TypeOf((*MockBankKeeper)(nil).SendCoins), ctx, fromAddr, toAddr, amt) +} + // SpendableCoins indicates an expected call of SpendableCoins. func (mr *MockBankKeeperMockRecorder) SpendableCoins(ctx, addr interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() @@ -431,3 +446,46 @@ func (mr *MockStakingHooksMockRecorder) AfterValidatorCreated(ctx, valAddr inter mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AfterValidatorCreated", reflect.TypeOf((*MockStakingHooks)(nil).AfterValidatorCreated), ctx, valAddr) } + +// GetAllTokenizeShareRecords mocks base method. +func (m *MockStakingKeeper) GetAllTokenizeShareRecords(ctx context.Context) []types1.TokenizeShareRecord { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetAllTokenizeShareRecords", ctx) + ret0, _ := ret[0].([]types1.TokenizeShareRecord) + return ret0 +} + +// GetAllTokenizeShareRecords indicates an expected call of GetAllTokenizeShareRecords. +func (mr *MockStakingKeeperMockRecorder) GetAllTokenizeShareRecords(ctx interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAllTokenizeShareRecords", reflect.TypeOf((*MockStakingKeeper)(nil).GetAllTokenizeShareRecords), ctx) +} + +// GetTokenizeShareRecord mocks base method. +func (m *MockStakingKeeper) GetTokenizeShareRecord(ctx context.Context, id uint64) (types1.TokenizeShareRecord, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetTokenizeShareRecord", ctx, id) + ret0, _ := ret[0].(types1.TokenizeShareRecord) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetTokenizeShareRecord indicates an expected call of GetTokenizeShareRecord. +func (mr *MockStakingKeeperMockRecorder) GetTokenizeShareRecord(ctx, id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetTokenizeShareRecord", reflect.TypeOf((*MockStakingKeeper)(nil).GetTokenizeShareRecord), ctx, id) +} + +// GetTokenizeShareRecordsByOwner mocks base method. +func (m *MockStakingKeeper) GetTokenizeShareRecordsByOwner(ctx context.Context, owner types.AccAddress) []types1.TokenizeShareRecord { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetTokenizeShareRecordsByOwner", ctx, owner) + ret0, _ := ret[0].([]types1.TokenizeShareRecord) + return ret0 +} + +// GetTokenizeShareRecordsByOwner indicates an expected call of GetTokenizeShareRecordsByOwner. +func (mr *MockStakingKeeperMockRecorder) GetTokenizeShareRecordsByOwner(ctx, owner interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetTokenizeShareRecordsByOwner", reflect.TypeOf((*MockStakingKeeper)(nil).GetTokenizeShareRecordsByOwner), ctx, owner) +} diff --git a/x/distribution/types/errors.go b/x/distribution/types/errors.go index 808d3f86b735..c2104a5479aa 100644 --- a/x/distribution/types/errors.go +++ b/x/distribution/types/errors.go @@ -4,16 +4,17 @@ import "cosmossdk.io/errors" // x/distribution module sentinel errors var ( - ErrEmptyDelegatorAddr = errors.Register(ModuleName, 2, "delegator address is empty") - ErrEmptyWithdrawAddr = errors.Register(ModuleName, 3, "withdraw address is empty") - ErrEmptyValidatorAddr = errors.Register(ModuleName, 4, "validator address is empty") - ErrEmptyDelegationDistInfo = errors.Register(ModuleName, 5, "no delegation distribution info") - ErrNoValidatorDistInfo = errors.Register(ModuleName, 6, "no validator distribution info") - ErrNoValidatorCommission = errors.Register(ModuleName, 7, "no validator commission to withdraw") - ErrSetWithdrawAddrDisabled = errors.Register(ModuleName, 8, "set withdraw address disabled") - ErrBadDistribution = errors.Register(ModuleName, 9, "community pool does not have sufficient coins to distribute") - ErrInvalidProposalAmount = errors.Register(ModuleName, 10, "invalid community pool spend proposal amount") - ErrEmptyProposalRecipient = errors.Register(ModuleName, 11, "invalid community pool spend proposal recipient") - ErrNoValidatorExists = errors.Register(ModuleName, 12, "validator does not exist") - ErrNoDelegationExists = errors.Register(ModuleName, 13, "delegation does not exist") + ErrEmptyDelegatorAddr = errors.Register(ModuleName, 2, "delegator address is empty") + ErrEmptyWithdrawAddr = errors.Register(ModuleName, 3, "withdraw address is empty") + ErrEmptyValidatorAddr = errors.Register(ModuleName, 4, "validator address is empty") + ErrEmptyDelegationDistInfo = errors.Register(ModuleName, 5, "no delegation distribution info") + ErrNoValidatorDistInfo = errors.Register(ModuleName, 6, "no validator distribution info") + ErrNoValidatorCommission = errors.Register(ModuleName, 7, "no validator commission to withdraw") + ErrSetWithdrawAddrDisabled = errors.Register(ModuleName, 8, "set withdraw address disabled") + ErrBadDistribution = errors.Register(ModuleName, 9, "community pool does not have sufficient coins to distribute") + ErrInvalidProposalAmount = errors.Register(ModuleName, 10, "invalid community pool spend proposal amount") + ErrEmptyProposalRecipient = errors.Register(ModuleName, 11, "invalid community pool spend proposal recipient") + ErrNoValidatorExists = errors.Register(ModuleName, 12, "validator does not exist") + ErrNoDelegationExists = errors.Register(ModuleName, 13, "delegation does not exist") + ErrNotTokenizeShareRecordOwner = errors.Register(ModuleName, 14, "not tokenize share record owner") ) diff --git a/x/distribution/types/events.go b/x/distribution/types/events.go index e0ea7069106b..f1ab6b51e163 100644 --- a/x/distribution/types/events.go +++ b/x/distribution/types/events.go @@ -2,12 +2,13 @@ package types // distribution module event types const ( - EventTypeSetWithdrawAddress = "set_withdraw_address" - EventTypeRewards = "rewards" - EventTypeCommission = "commission" - EventTypeWithdrawRewards = "withdraw_rewards" - EventTypeWithdrawCommission = "withdraw_commission" - EventTypeProposerReward = "proposer_reward" + EventTypeSetWithdrawAddress = "set_withdraw_address" + EventTypeRewards = "rewards" + EventTypeCommission = "commission" + EventTypeWithdrawRewards = "withdraw_rewards" + EventTypeWithdrawCommission = "withdraw_commission" + EventTypeWithdrawTokenizeShareReward = "withdraw_tokenize_share_reward" + EventTypeProposerReward = "proposer_reward" AttributeKeyWithdrawAddress = "withdraw_address" AttributeKeyValidator = "validator" diff --git a/x/distribution/types/expected_keepers.go b/x/distribution/types/expected_keepers.go index 4237bb6691c9..4e1e4d5240d1 100644 --- a/x/distribution/types/expected_keepers.go +++ b/x/distribution/types/expected_keepers.go @@ -28,6 +28,7 @@ type BankKeeper interface { SendCoinsFromModuleToModule(ctx context.Context, senderModule, recipientModule string, amt sdk.Coins) error SendCoinsFromModuleToAccount(ctx context.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins) error SendCoinsFromAccountToModule(ctx context.Context, senderAddr sdk.AccAddress, recipientModule string, amt sdk.Coins) error + SendCoins(ctx context.Context, fromAddr sdk.AccAddress, toAddr sdk.AccAddress, amt sdk.Coins) error BlockedAddr(addr sdk.AccAddress) bool } @@ -53,6 +54,10 @@ type StakingKeeper interface { GetAllSDKDelegations(ctx context.Context) ([]stakingtypes.Delegation, error) GetAllValidators(ctx context.Context) ([]stakingtypes.Validator, error) GetAllDelegatorDelegations(ctx context.Context, delegator sdk.AccAddress) ([]stakingtypes.Delegation, error) + + GetTokenizeShareRecordsByOwner(ctx context.Context, owner sdk.AccAddress) (tokenizeShareRecords []stakingtypes.TokenizeShareRecord) + GetTokenizeShareRecord(ctx context.Context, id uint64) (tokenizeShareRecord stakingtypes.TokenizeShareRecord, err error) + GetAllTokenizeShareRecords(ctx context.Context) (tokenizeShareRecords []stakingtypes.TokenizeShareRecord) } // StakingHooks event hooks for staking validator object (noalias) diff --git a/x/slashing/keeper/hooks.go b/x/slashing/keeper/hooks.go index f90ba4da96d6..2a2e6f488db2 100644 --- a/x/slashing/keeper/hooks.go +++ b/x/slashing/keeper/hooks.go @@ -96,3 +96,7 @@ func (h Hooks) BeforeValidatorSlashed(_ context.Context, _ sdk.ValAddress, _ sdk func (h Hooks) AfterUnbondingInitiated(_ context.Context, _ uint64) error { return nil } + +func (h Hooks) BeforeTokenizeShareRecordRemoved(_ sdk.Context, _ uint64) error { + return nil +} diff --git a/x/staking/keeper/genesis.go b/x/staking/keeper/genesis.go index 738614ab8613..675053950e03 100644 --- a/x/staking/keeper/genesis.go +++ b/x/staking/keeper/genesis.go @@ -267,13 +267,17 @@ func (k Keeper) ExportGenesis(ctx sdk.Context) *types.GenesisState { } return &types.GenesisState{ - Params: params, - LastTotalPower: totalPower, - LastValidatorPowers: lastValidatorPowers, - Validators: allValidators, - Delegations: allDelegations, - UnbondingDelegations: unbondingDelegations, - Redelegations: redelegations, - Exported: true, + Params: params, + LastTotalPower: totalPower, + LastValidatorPowers: lastValidatorPowers, + Validators: allValidators, + Delegations: allDelegations, + UnbondingDelegations: unbondingDelegations, + Redelegations: redelegations, + Exported: true, + TokenizeShareRecords: k.GetAllTokenizeShareRecords(ctx), + LastTokenizeShareRecordId: k.GetLastTokenizeShareRecordID(ctx), + TotalLiquidStakedTokens: k.GetTotalLiquidStakedTokens(ctx), + TokenizeShareLocks: k.GetAllTokenizeShareLocks(ctx), } } diff --git a/x/staking/keeper/grpc_query.go b/x/staking/keeper/grpc_query.go index 890ca859c12b..dcb21523859a 100644 --- a/x/staking/keeper/grpc_query.go +++ b/x/staking/keeper/grpc_query.go @@ -658,3 +658,171 @@ func redelegationsToRedelegationResponses(ctx context.Context, k *Keeper, redels return resp, nil } + +// Query for individual tokenize share record information by share by id +func (k Querier) TokenizeShareRecordById(c context.Context, req *types.QueryTokenizeShareRecordByIdRequest) (*types.QueryTokenizeShareRecordByIdResponse, error) { //nolint:revive // fixing this would require changing the .proto files, so we might as well leave it alone + if req == nil { + return nil, status.Error(codes.InvalidArgument, "empty request") + } + + ctx := sdk.UnwrapSDKContext(c) + record, err := k.GetTokenizeShareRecord(ctx, req.Id) + if err != nil { + return nil, err + } + + return &types.QueryTokenizeShareRecordByIdResponse{ + Record: record, + }, nil +} + +// Query for individual tokenize share record information by share denom +func (k Querier) TokenizeShareRecordByDenom(c context.Context, req *types.QueryTokenizeShareRecordByDenomRequest) (*types.QueryTokenizeShareRecordByDenomResponse, error) { + if req == nil { + return nil, status.Error(codes.InvalidArgument, "empty request") + } + + ctx := sdk.UnwrapSDKContext(c) + record, err := k.GetTokenizeShareRecordByDenom(ctx, req.Denom) + if err != nil { + return nil, err + } + + return &types.QueryTokenizeShareRecordByDenomResponse{ + Record: record, + }, nil +} + +// Query tokenize share records by address +func (k Querier) TokenizeShareRecordsOwned(c context.Context, req *types.QueryTokenizeShareRecordsOwnedRequest) (*types.QueryTokenizeShareRecordsOwnedResponse, error) { + if req == nil { + return nil, status.Error(codes.InvalidArgument, "empty request") + } + + ctx := sdk.UnwrapSDKContext(c) + owner, err := sdk.AccAddressFromBech32(req.Owner) + if err != nil { + return nil, err + } + records := k.GetTokenizeShareRecordsByOwner(ctx, owner) + + return &types.QueryTokenizeShareRecordsOwnedResponse{ + Records: records, + }, nil +} + +// Query for all tokenize share records +func (k Querier) AllTokenizeShareRecords(c context.Context, req *types.QueryAllTokenizeShareRecordsRequest) (*types.QueryAllTokenizeShareRecordsResponse, error) { + if req == nil { + return nil, status.Error(codes.InvalidArgument, "empty request") + } + ctx := sdk.UnwrapSDKContext(c) + + var records []types.TokenizeShareRecord + + store := k.storeService.OpenKVStore(ctx) + valStore := prefix.NewStore(runtime.KVStoreAdapter(store), types.TokenizeShareRecordPrefix) + pageRes, err := query.FilteredPaginate(valStore, req.Pagination, func(key []byte, value []byte, accumulate bool) (bool, error) { + var tokenizeShareRecord types.TokenizeShareRecord + if err := k.cdc.Unmarshal(value, &tokenizeShareRecord); err != nil { + return false, err + } + + if accumulate { + records = append(records, tokenizeShareRecord) + } + return true, nil + }) + if err != nil { + return nil, status.Error(codes.Internal, err.Error()) + } + + return &types.QueryAllTokenizeShareRecordsResponse{ + Records: records, + Pagination: pageRes, + }, nil +} + +// Query for last tokenize share record id +func (k Querier) LastTokenizeShareRecordId(c context.Context, req *types.QueryLastTokenizeShareRecordIdRequest) (*types.QueryLastTokenizeShareRecordIdResponse, error) { //nolint:revive // fixing this would require changing the .proto files, so we might as well leave it alone + if req == nil { + return nil, status.Error(codes.InvalidArgument, "empty request") + } + + ctx := sdk.UnwrapSDKContext(c) + return &types.QueryLastTokenizeShareRecordIdResponse{ + Id: k.GetLastTokenizeShareRecordID(ctx), + }, nil +} + +// Query for total tokenized staked assets +func (k Querier) TotalTokenizeSharedAssets(c context.Context, req *types.QueryTotalTokenizeSharedAssetsRequest) (*types.QueryTotalTokenizeSharedAssetsResponse, error) { + if req == nil { + return nil, status.Error(codes.InvalidArgument, "empty request") + } + ctx := sdk.UnwrapSDKContext(c) + records := k.GetAllTokenizeShareRecords(ctx) + totalTokenizeShared := sdk.ZeroInt() + + for _, record := range records { + moduleAcc := record.GetModuleAddress() + valAddr, err := sdk.ValAddressFromBech32(record.Validator) + if err != nil { + return nil, err + } + + validator, err := k.GetValidator(ctx, valAddr) + if err != nil { + return nil, types.ErrNoValidatorFound.Wrapf("validator %s not found", valAddr) + } + + delegation, err := k.GetDelegation(ctx, moduleAcc, valAddr) + if err != nil { + return nil, types.ErrNoDelegation.Wrapf("delegation %s not found", moduleAcc.String()) + } + + tokens := validator.TokensFromShares(delegation.Shares) + totalTokenizeShared = totalTokenizeShared.Add(tokens.RoundInt()) + } + bondDenom, err := k.BondDenom(ctx) + if err != nil { + return nil, err + } + return &types.QueryTotalTokenizeSharedAssetsResponse{ + Value: sdk.NewCoin(bondDenom, totalTokenizeShared), + }, nil +} + +// Query for total tokenized staked tokens +// Liquid staked tokens are either tokenized delegations or delegations +// owned by a module account +func (k Querier) TotalLiquidStaked(c context.Context, req *types.QueryTotalLiquidStaked) (*types.QueryTotalLiquidStakedResponse, error) { + if req == nil { + return nil, status.Error(codes.InvalidArgument, "empty request") + } + ctx := sdk.UnwrapSDKContext(c) + return &types.QueryTotalLiquidStakedResponse{ + Tokens: k.GetTotalLiquidStakedTokens(ctx), + }, nil +} + +// Query status of an account's tokenize share lock +func (k Querier) TokenizeShareLockInfo(c context.Context, req *types.QueryTokenizeShareLockInfo) (*types.QueryTokenizeShareLockInfoResponse, error) { + if req == nil { + return nil, status.Error(codes.InvalidArgument, "empty request") + } + ctx := sdk.UnwrapSDKContext(c) + + address := sdk.MustAccAddressFromBech32(req.Address) + status, completionTime := k.GetTokenizeSharesLock(ctx, address) + + timeString := "" + if !completionTime.IsZero() { + timeString = completionTime.String() + } + + return &types.QueryTokenizeShareLockInfoResponse{ + Status: status.String(), + ExpirationTime: timeString, + }, nil +} diff --git a/x/staking/keeper/liquid_stake.go b/x/staking/keeper/liquid_stake.go new file mode 100644 index 000000000000..6c554b6bcc2c --- /dev/null +++ b/x/staking/keeper/liquid_stake.go @@ -0,0 +1,474 @@ +package keeper + +import ( + "time" + + "cosmossdk.io/math" + storetypes "cosmossdk.io/store/types" + "github.com/cosmos/cosmos-sdk/runtime" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/x/staking/types" +) + +// SetTotalLiquidStakedTokens stores the total outstanding tokens owned by a liquid staking provider +func (k Keeper) SetTotalLiquidStakedTokens(ctx sdk.Context, tokens math.Int) { + store := k.storeService.OpenKVStore(ctx) + + tokensBz, err := tokens.Marshal() + if err != nil { + panic(err) + } + + store.Set(types.TotalLiquidStakedTokensKey, tokensBz) +} + +// GetTotalLiquidStakedTokens returns the total outstanding tokens owned by a liquid staking provider +// Returns zero if the total liquid stake amount has not been initialized +func (k Keeper) GetTotalLiquidStakedTokens(ctx sdk.Context) math.Int { + store := k.storeService.OpenKVStore(ctx) + tokensBz, err := store.Get(types.TotalLiquidStakedTokensKey) + if err != nil { + panic(err) + } + + if tokensBz == nil { + return sdk.ZeroInt() + } + + var tokens math.Int + if err := tokens.Unmarshal(tokensBz); err != nil { + panic(err) + } + + return tokens +} + +// Checks if an account associated with a given delegation is related to liquid staking +// +// This is determined by checking if the account has a 32-length address +// which will identify the following scenarios: +// - An account has tokenized their shares, and thus the delegation is +// owned by the tokenize share record module account +// - A liquid staking provider is delegating through an ICA account +// +// Both ICA accounts and tokenize share record module accounts have 32-length addresses +// NOTE: This will have to be refactored before adapting it to chains beyond gaia +// as other chains may have 32-length addresses that are not related to the above scenarios +func (k Keeper) DelegatorIsLiquidStaker(delegatorAddress sdk.AccAddress) bool { + return len(delegatorAddress) == 32 +} + +// CheckExceedsGlobalLiquidStakingCap checks if a liquid delegation would cause the +// global liquid staking cap to be exceeded +// A liquid delegation is defined as either tokenized shares, or a delegation from an ICA Account +// The total stake is determined by the balance of the bonded pool +// If the delegation's shares are already bonded (e.g. in the event of a tokenized share) +// the tokens are already included in the bonded pool +// If the delegation's shares are not bonded (e.g. normal delegation), +// we need to add the tokens to the current bonded pool balance to get the total staked +func (k Keeper) CheckExceedsGlobalLiquidStakingCap(ctx sdk.Context, tokens math.Int, sharesAlreadyBonded bool) bool { + liquidStakingCap, err := k.GlobalLiquidStakingCap(ctx) + if err != nil { + return false + } + liquidStakedAmount := k.GetTotalLiquidStakedTokens(ctx) + + // Determine the total stake from the balance of the bonded pool + // If this is not a tokenized delegation, we need to add the tokens to the pool balance since + // they would not have been counted yet + // If this is for a tokenized delegation, the tokens are already included in the pool balance + totalStakedAmount, err := k.TotalBondedTokens(ctx) + if err != nil { + return false + } + if !sharesAlreadyBonded { + totalStakedAmount = totalStakedAmount.Add(tokens) + } + + // Calculate the percentage of stake that is liquid + updatedLiquidStaked := sdk.NewDecFromInt(liquidStakedAmount.Add(tokens)) + liquidStakePercent := updatedLiquidStaked.Quo(sdk.NewDecFromInt(totalStakedAmount)) + + return liquidStakePercent.GT(liquidStakingCap) +} + +// CheckExceedsValidatorBondCap checks if a liquid delegation to a validator would cause +// the liquid shares to exceed the validator bond factor +// A liquid delegation is defined as either tokenized shares, or a delegation from an ICA Account +// Returns true if the cap is exceeded +func (k Keeper) CheckExceedsValidatorBondCap(ctx sdk.Context, validator types.Validator, shares sdk.Dec) bool { + validatorBondFactor, err := k.ValidatorBondFactor(ctx) + if err != nil { + return false + } + if validatorBondFactor.Equal(types.ValidatorBondCapDisabled) { + return false + } + maxValLiquidShares := validator.ValidatorBondShares.Mul(validatorBondFactor) + return validator.LiquidShares.Add(shares).GT(maxValLiquidShares) +} + +// CheckExceedsValidatorLiquidStakingCap checks if a liquid delegation could cause the +// total liquid shares to exceed the liquid staking cap +// A liquid delegation is defined as either tokenized shares, or a delegation from an ICA Account +// If the liquid delegation's shares are already bonded (e.g. in the event of a tokenized share) +// the tokens are already included in the validator's delegator shares +// If the liquid delegation's shares are not bonded (e.g. normal delegation), +// we need to add the shares to the current validator's delegator shares to get the total shares +// Returns true if the cap is exceeded +func (k Keeper) CheckExceedsValidatorLiquidStakingCap(ctx sdk.Context, validator types.Validator, shares sdk.Dec, sharesAlreadyBonded bool) bool { + updatedLiquidShares := validator.LiquidShares.Add(shares) + + updatedTotalShares := validator.DelegatorShares + if !sharesAlreadyBonded { + updatedTotalShares = updatedTotalShares.Add(shares) + } + + liquidStakePercent := updatedLiquidShares.Quo(updatedTotalShares) + liquidStakingCap, err := k.ValidatorLiquidStakingCap(ctx) + if err != nil { + return false + } + + return liquidStakePercent.GT(liquidStakingCap) +} + +// SafelyIncreaseTotalLiquidStakedTokens increments the total liquid staked tokens +// if the global cap is not surpassed by this delegation +// +// The percentage of liquid staked tokens must be less than the GlobalLiquidStakingCap: +// (TotalLiquidStakedTokens / TotalStakedTokens) <= GlobalLiquidStakingCap +func (k Keeper) SafelyIncreaseTotalLiquidStakedTokens(ctx sdk.Context, amount math.Int, sharesAlreadyBonded bool) error { + if k.CheckExceedsGlobalLiquidStakingCap(ctx, amount, sharesAlreadyBonded) { + return types.ErrGlobalLiquidStakingCapExceeded + } + + k.SetTotalLiquidStakedTokens(ctx, k.GetTotalLiquidStakedTokens(ctx).Add(amount)) + return nil +} + +// DecreaseTotalLiquidStakedTokens decrements the total liquid staked tokens +func (k Keeper) DecreaseTotalLiquidStakedTokens(ctx sdk.Context, amount math.Int) error { + totalLiquidStake := k.GetTotalLiquidStakedTokens(ctx) + if amount.GT(totalLiquidStake) { + return types.ErrTotalLiquidStakedUnderflow + } + k.SetTotalLiquidStakedTokens(ctx, totalLiquidStake.Sub(amount)) + return nil +} + +// SafelyIncreaseValidatorLiquidShares increments the liquid shares on a validator, if: +// the validator bond factor and validator liquid staking cap will not be exceeded by this delegation +// +// The percentage of validator liquid shares must be less than the ValidatorLiquidStakingCap, +// and the total liquid staked shares cannot exceed the validator bond cap +// 1) (TotalLiquidStakedTokens / TotalStakedTokens) <= ValidatorLiquidStakingCap +// 2) LiquidShares <= (ValidatorBondShares * ValidatorBondFactor) +func (k Keeper) SafelyIncreaseValidatorLiquidShares(ctx sdk.Context, valAddress sdk.ValAddress, shares sdk.Dec, sharesAlreadyBonded bool) (types.Validator, error) { + validator, err := k.GetValidator(ctx, valAddress) + if err != nil { + return validator, types.ErrNoValidatorFound.Wrapf("validator %s not found", valAddress) + } + + // Confirm the validator bond factor and validator liquid staking cap will not be exceeded + if k.CheckExceedsValidatorBondCap(ctx, validator, shares) { + return validator, types.ErrInsufficientValidatorBondShares + } + if k.CheckExceedsValidatorLiquidStakingCap(ctx, validator, shares, sharesAlreadyBonded) { + return validator, types.ErrValidatorLiquidStakingCapExceeded + } + + // Increment the validator's liquid shares + validator.LiquidShares = validator.LiquidShares.Add(shares) + k.SetValidator(ctx, validator) + + return validator, nil +} + +// DecreaseValidatorLiquidShares decrements the liquid shares on a validator +func (k Keeper) DecreaseValidatorLiquidShares(ctx sdk.Context, valAddress sdk.ValAddress, shares sdk.Dec) (types.Validator, error) { + validator, err := k.GetValidator(ctx, valAddress) + if err != nil { + return validator, types.ErrNoValidatorFound.Wrapf("validator %s not found", valAddress) + } + + if shares.GT(validator.LiquidShares) { + return validator, types.ErrValidatorLiquidSharesUnderflow + } + validator.LiquidShares = validator.LiquidShares.Sub(shares) + k.SetValidator(ctx, validator) + return validator, nil +} + +// Increase validator bond shares increments the validator's self bond +// in the event that the delegation amount on a validator bond delegation is increased +func (k Keeper) IncreaseValidatorBondShares(ctx sdk.Context, valAddress sdk.ValAddress, shares sdk.Dec) error { + validator, err := k.GetValidator(ctx, valAddress) + if err != nil { + return types.ErrNoValidatorFound.Wrapf("validator %s not found", valAddress) + } + + validator.ValidatorBondShares = validator.ValidatorBondShares.Add(shares) + k.SetValidator(ctx, validator) + + return nil +} + +// SafelyDecreaseValidatorBond decrements the validator's self bond +// so long as it will not cause the current delegations to exceed the threshold +// set by validator bond factor +func (k Keeper) SafelyDecreaseValidatorBond(ctx sdk.Context, valAddress sdk.ValAddress, shares sdk.Dec) error { + validator, err := k.GetValidator(ctx, valAddress) + if err != nil { + return types.ErrNoValidatorFound.Wrapf("validator %s not found", valAddress) + } + + // Check if the decreased self bond will cause the validator bond threshold to be exceeded + validatorBondFactor, err := k.ValidatorBondFactor(ctx) + if err != nil { + return err + } + validatorBondEnabled := !validatorBondFactor.Equal(types.ValidatorBondCapDisabled) + maxValTotalShare := validator.ValidatorBondShares.Sub(shares).Mul(validatorBondFactor) + + if validatorBondEnabled && validator.LiquidShares.GT(maxValTotalShare) { + return types.ErrInsufficientValidatorBondShares + } + + // Decrement the validator's self bond + validator.ValidatorBondShares = validator.ValidatorBondShares.Sub(shares) + k.SetValidator(ctx, validator) + + return nil +} + +// Adds a lock that prevents tokenizing shares for an account +// The tokenize share lock store is implemented by keying on the account address +// and storing a timestamp as the value. The timestamp is empty when the lock is +// set and gets populated with the unlock completion time once the unlock has started +func (k Keeper) AddTokenizeSharesLock(ctx sdk.Context, address sdk.AccAddress) { + store := k.storeService.OpenKVStore(ctx) + key := types.GetTokenizeSharesLockKey(address) + store.Set(key, sdk.FormatTimeBytes(time.Time{})) +} + +// Removes the tokenize share lock for an account to enable tokenizing shares +func (k Keeper) RemoveTokenizeSharesLock(ctx sdk.Context, address sdk.AccAddress) { + store := k.storeService.OpenKVStore(ctx) + key := types.GetTokenizeSharesLockKey(address) + store.Delete(key) +} + +// Updates the timestamp associated with a lock to the time at which the lock expires +func (k Keeper) SetTokenizeSharesUnlockTime(ctx sdk.Context, address sdk.AccAddress, completionTime time.Time) { + store := k.storeService.OpenKVStore(ctx) + key := types.GetTokenizeSharesLockKey(address) + store.Set(key, sdk.FormatTimeBytes(completionTime)) +} + +// Checks if there is currently a tokenize share lock for a given account +// Returns the status indicating whether the account is locked, unlocked, +// or as a lock expiring. If the lock is expiring, the expiration time is returned +func (k Keeper) GetTokenizeSharesLock(ctx sdk.Context, address sdk.AccAddress) (status types.TokenizeShareLockStatus, unlockTime time.Time) { + store := k.storeService.OpenKVStore(ctx) + key := types.GetTokenizeSharesLockKey(address) + bz, err := store.Get(key) + if err != nil { + panic(err) + } + if len(bz) == 0 { + return types.ShareLockStatusUnlocked, time.Time{} + } + unlockTime, err = sdk.ParseTimeBytes(bz) + if err != nil { + panic(err) + } + if unlockTime.IsZero() { + return types.ShareLockStatusLocked, time.Time{} + } + return types.ShareLockStatusLockExpiring, unlockTime +} + +// Returns all tokenize share locks +func (k Keeper) GetAllTokenizeShareLocks(ctx sdk.Context) (tokenizeShareLocks []types.TokenizeShareLock) { + store := k.storeService.OpenKVStore(ctx) + + iterator := storetypes.KVStorePrefixIterator(runtime.KVStoreAdapter(store), types.TokenizeSharesLockPrefix) + defer iterator.Close() + + for ; iterator.Valid(); iterator.Next() { + addressBz := iterator.Key()[2:] // remove prefix bytes and address length + unlockTime, err := sdk.ParseTimeBytes(iterator.Value()) + if err != nil { + panic(err) + } + + var status types.TokenizeShareLockStatus + if unlockTime.IsZero() { + status = types.ShareLockStatusLocked + } else { + status = types.ShareLockStatusLockExpiring + } + + bechPrefix := sdk.GetConfig().GetBech32AccountAddrPrefix() + lock := types.TokenizeShareLock{ + Address: sdk.MustBech32ifyAddressBytes(bechPrefix, addressBz), + Status: status.String(), + CompletionTime: unlockTime, + } + + tokenizeShareLocks = append(tokenizeShareLocks, lock) + } + + return tokenizeShareLocks +} + +// Stores a list of addresses pending tokenize share unlocking at the same time +func (k Keeper) SetPendingTokenizeShareAuthorizations(ctx sdk.Context, completionTime time.Time, authorizations types.PendingTokenizeShareAuthorizations) { + store := k.storeService.OpenKVStore(ctx) + timeKey := types.GetTokenizeShareAuthorizationTimeKey(completionTime) + bz := k.cdc.MustMarshal(&authorizations) + store.Set(timeKey, bz) +} + +// Returns a list of addresses pending tokenize share unlocking at the same time +func (k Keeper) GetPendingTokenizeShareAuthorizations(ctx sdk.Context, completionTime time.Time) types.PendingTokenizeShareAuthorizations { + store := k.storeService.OpenKVStore(ctx) + + timeKey := types.GetTokenizeShareAuthorizationTimeKey(completionTime) + bz, err := store.Get(timeKey) + if err != nil { + panic(err) + } + + authorizations := types.PendingTokenizeShareAuthorizations{Addresses: []string{}} + if len(bz) == 0 { + return authorizations + } + k.cdc.MustUnmarshal(bz, &authorizations) + + return authorizations +} + +// Inserts the address into a queue where it will sit for 1 unbonding period +// before the tokenize share lock is removed +// Returns the completion time +func (k Keeper) QueueTokenizeSharesAuthorization(ctx sdk.Context, address sdk.AccAddress) time.Time { + params, err := k.GetParams(ctx) + if err != nil { + panic(err) + } + completionTime := ctx.BlockTime().Add(params.UnbondingTime) + + // Append the address to the list of addresses that also unlock at this time + authorizations := k.GetPendingTokenizeShareAuthorizations(ctx, completionTime) + authorizations.Addresses = append(authorizations.Addresses, address.String()) + + k.SetPendingTokenizeShareAuthorizations(ctx, completionTime, authorizations) + k.SetTokenizeSharesUnlockTime(ctx, address, completionTime) + + return completionTime +} + +// Cancels a pending tokenize share authorization by removing the lock from the queue +func (k Keeper) CancelTokenizeShareLockExpiration(ctx sdk.Context, address sdk.AccAddress, completionTime time.Time) { + authorizations := k.GetPendingTokenizeShareAuthorizations(ctx, completionTime) + + updatedAddresses := []string{} + for _, expiringAddress := range authorizations.Addresses { + if address.String() != expiringAddress { + updatedAddresses = append(updatedAddresses, expiringAddress) + } + } + + authorizations.Addresses = updatedAddresses + k.SetPendingTokenizeShareAuthorizations(ctx, completionTime, authorizations) +} + +// Unlocks all queued tokenize share authorizations that have matured +// (i.e. have waited the full unbonding period) +func (k Keeper) RemoveExpiredTokenizeShareLocks(ctx sdk.Context, blockTime time.Time) (unlockedAddresses []string) { + store := k.storeService.OpenKVStore(ctx) + + // iterators all time slices from time 0 until the current block time + prefixEnd := storetypes.InclusiveEndBytes(types.GetTokenizeShareAuthorizationTimeKey(blockTime)) + iterator := storetypes.KVStorePrefixIterator(runtime.KVStoreAdapter(store), prefixEnd) + defer iterator.Close() + + // collect all unlocked addresses + unlockedAddresses = []string{} + keys := [][]byte{} + for ; iterator.Valid(); iterator.Next() { + authorizations := types.PendingTokenizeShareAuthorizations{} + k.cdc.MustUnmarshal(iterator.Value(), &authorizations) + unlockedAddresses = append(unlockedAddresses, authorizations.Addresses...) + keys = append(keys, iterator.Key()) + } + + // delete unlocked addresses keys + for _, k := range keys { + store.Delete(k) + } + + // remove the lock from each unlocked address + for _, unlockedAddress := range unlockedAddresses { + k.RemoveTokenizeSharesLock(ctx, sdk.MustAccAddressFromBech32(unlockedAddress)) + } + + return unlockedAddresses +} + +// Calculates and sets the global liquid staked tokens and liquid shares by validator +// The totals are determined by looping each delegation record and summing the stake +// if the delegator has a 32-length address. Checking for a 32-length address will capture +// ICA accounts, as well as tokenized delegations which are owned by module accounts +// under the hood. +// This function must be called in the upgrade handler which onboards LSM. +func (k Keeper) RefreshTotalLiquidStaked(ctx sdk.Context) error { + // First reset each validator's liquid shares to 0 + allValidators, err := k.GetAllValidators(ctx) + if err != nil { + return err + } + for _, validator := range allValidators { + validator.LiquidShares = sdk.ZeroDec() + k.SetValidator(ctx, validator) + } + + // Sum up the total liquid tokens and increment each validator's liquid shares + totalLiquidStakedTokens := sdk.ZeroInt() + allDelegations, err := k.GetAllDelegations(ctx) + for _, delegation := range allDelegations { + delegatorAddress, err := sdk.AccAddressFromBech32(delegation.DelegatorAddress) + if err != nil { + return err + } + + // If the delegator is either an ICA account or a tokenize share module account, + // the delegation should be considered to be associated with liquid staking + // Consequently, the global number of liquid staked tokens, and the total + // liquid shares on the validator should be incremented + if k.DelegatorIsLiquidStaker(delegatorAddress) { + validatorAddress, err := sdk.ValAddressFromBech32(delegation.ValidatorAddress) + if err != nil { + return err + } + validator, err := k.GetValidator(ctx, validatorAddress) + if err != nil { + return types.ErrNoValidatorFound.Wrapf("validator %s not found", validatorAddress) + } + + liquidShares := delegation.Shares + liquidTokens := validator.TokensFromShares(liquidShares).TruncateInt() + + validator.LiquidShares = validator.LiquidShares.Add(liquidShares) + k.SetValidator(ctx, validator) + + totalLiquidStakedTokens = totalLiquidStakedTokens.Add(liquidTokens) + } + } + + k.SetTotalLiquidStakedTokens(ctx, totalLiquidStakedTokens) + + return nil +} diff --git a/x/staking/keeper/msg_server.go b/x/staking/keeper/msg_server.go index 19b7ba7a2593..6ad6d2515b86 100644 --- a/x/staking/keeper/msg_server.go +++ b/x/staking/keeper/msg_server.go @@ -2,6 +2,7 @@ package keeper import ( "context" + "fmt" "strconv" "time" @@ -16,7 +17,9 @@ import ( "github.com/cosmos/cosmos-sdk/telemetry" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + vesting "github.com/cosmos/cosmos-sdk/x/auth/vesting/exported" govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" + minttypes "github.com/cosmos/cosmos-sdk/x/mint/types" "github.com/cosmos/cosmos-sdk/x/staking/types" ) @@ -605,3 +608,467 @@ func (k msgServer) UpdateParams(ctx context.Context, msg *types.MsgUpdateParams) return &types.MsgUpdateParamsResponse{}, nil } + +// UnbondValidator defines a method for performing the status transition for +// a validator from bonded to unbonding +// This allows a validator to stop their services and jail themselves without +// experiencing a slash +func (k msgServer) UnbondValidator(goCtx context.Context, msg *types.MsgUnbondValidator) (*types.MsgUnbondValidatorResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + valAddr, err := sdk.ValAddressFromBech32(msg.ValidatorAddress) + if err != nil { + return nil, err + } + + // validator must already be registered + validator, err := k.GetValidator(ctx, valAddr) + if err != nil { + return nil, types.ErrNoValidatorFound.Wrapf("validator %s not found", valAddr) + } + + // jail the validator. + k.jailValidator(ctx, validator) + return &types.MsgUnbondValidatorResponse{}, nil +} + +// Tokenizes shares associated with a delegation by creating a tokenize share record +// and returning tokens with a denom of the format {validatorAddress}/{recordId} +func (k msgServer) TokenizeShares(goCtx context.Context, msg *types.MsgTokenizeShares) (*types.MsgTokenizeSharesResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + valAddr, valErr := sdk.ValAddressFromBech32(msg.ValidatorAddress) + if valErr != nil { + return nil, valErr + } + validator, err := k.GetValidator(ctx, valAddr) + if err != nil { + return nil, types.ErrNoValidatorFound.Wrapf("validator %s not found", valAddr) + } + + delegatorAddress, err := sdk.AccAddressFromBech32(msg.DelegatorAddress) + if err != nil { + return nil, err + } + + // Check if the delegator has disabled tokenization + lockStatus, unlockTime := k.GetTokenizeSharesLock(ctx, delegatorAddress) + if lockStatus == types.ShareLockStatusLocked { + return nil, types.ErrTokenizeSharesDisabledForAccount + } + if lockStatus == types.ShareLockStatusLockExpiring { + return nil, types.ErrTokenizeSharesDisabledForAccount.Wrapf("tokenization will be allowed at %s", unlockTime) + } + + delegation, err := k.GetDelegation(ctx, delegatorAddress, valAddr) + if err != nil { + return nil, types.ErrNoDelegatorForAddress.Wrapf("delegator %s not found", delegatorAddress) + } + + if delegation.ValidatorBond { + return nil, types.ErrValidatorBondNotAllowedForTokenizeShare + } + + bondDenom, err := k.BondDenom(ctx) + if err != nil { + return nil, err + } + if msg.Amount.Denom != bondDenom { + return nil, types.ErrOnlyBondDenomAllowdForTokenize + } + + acc := k.authKeeper.GetAccount(ctx, delegatorAddress) + if acc != nil { + acc, ok := acc.(vesting.VestingAccount) + if ok { + // if account is a vesting account, it checks if free delegation (non-vesting delegation) is not exceeding + // the tokenize share amount and execute further tokenize share process + // tokenize share is reducing unlocked tokens delegation from the vesting account and further process + // is not causing issues + delFree := acc.GetDelegatedFree().AmountOf(msg.Amount.Denom) + if delFree.LT(msg.Amount.Amount) { + return nil, types.ErrExceedingFreeVestingDelegations + } + } + } + + shares, err := k.ValidateUnbondAmount( + ctx, delegatorAddress, valAddr, msg.Amount.Amount, + ) + if err != nil { + return nil, err + } + + // If this tokenization is NOT from a liquid staking provider, + // confirm it does not exceed the global and validator liquid staking cap + // If the tokenization is from a liquid staking provider, + // the shares are already considered liquid and there's no need to increment the totals + if !k.DelegatorIsLiquidStaker(delegatorAddress) { + if err := k.SafelyIncreaseTotalLiquidStakedTokens(ctx, msg.Amount.Amount, true); err != nil { + return nil, err + } + validator, err = k.SafelyIncreaseValidatorLiquidShares(ctx, valAddr, shares, true) + if err != nil { + return nil, err + } + } + + recordID := k.GetLastTokenizeShareRecordID(ctx) + 1 + k.SetLastTokenizeShareRecordID(ctx, recordID) + + record := types.TokenizeShareRecord{ + Id: recordID, + Owner: msg.TokenizedShareOwner, + ModuleAccount: fmt.Sprintf("%s%d", types.TokenizeShareModuleAccountPrefix, recordID), + Validator: msg.ValidatorAddress, + } + + // note: this returnAmount can be slightly off from the original delegation amount if there + // is a decimal to int precision error + returnAmount, err := k.Unbond(ctx, delegatorAddress, valAddr, shares) + if err != nil { + return nil, err + } + + if validator.IsBonded() { + k.bondedTokensToNotBonded(ctx, returnAmount) + } + + // Note: UndelegateCoinsFromModuleToAccount is internally calling TrackUndelegation for vesting account + bondDenom, err = k.BondDenom(ctx) + if err != nil { + return nil, err + } + returnCoin := sdk.NewCoin(bondDenom, returnAmount) + err = k.bankKeeper.UndelegateCoinsFromModuleToAccount(ctx, types.NotBondedPoolName, delegatorAddress, sdk.Coins{returnCoin}) + if err != nil { + return nil, err + } + + // Re-calculate the shares in case there was rounding precision during the undelegation + newShares, err := validator.SharesFromTokens(returnAmount) + if err != nil { + return nil, err + } + + // The share tokens returned maps 1:1 with shares + shareToken := sdk.NewCoin(record.GetShareTokenDenom(), newShares.TruncateInt()) + + err = k.bankKeeper.MintCoins(ctx, minttypes.ModuleName, sdk.Coins{shareToken}) + if err != nil { + return nil, err + } + + err = k.bankKeeper.SendCoinsFromModuleToAccount(ctx, minttypes.ModuleName, delegatorAddress, sdk.Coins{shareToken}) + if err != nil { + return nil, err + } + + // create reward ownership record + err = k.AddTokenizeShareRecord(ctx, record) + if err != nil { + return nil, err + } + // send coins to module account + err = k.bankKeeper.SendCoins(ctx, delegatorAddress, record.GetModuleAddress(), sdk.Coins{returnCoin}) + if err != nil { + return nil, err + } + + // Note: it is needed to get latest validator object to get Keeper.Delegate function work properly + validator, err = k.GetValidator(ctx, valAddr) + if err != nil { + return nil, types.ErrNoValidatorFound.Wrapf("validator %s not found", valAddr) + } + + // delegate from module account + _, err = k.Keeper.Delegate(ctx, record.GetModuleAddress(), returnAmount, types.Unbonded, validator, true) + if err != nil { + return nil, err + } + + ctx.EventManager().EmitEvent( + sdk.NewEvent( + types.EventTypeTokenizeShares, + sdk.NewAttribute(types.AttributeKeyDelegator, msg.DelegatorAddress), + sdk.NewAttribute(types.AttributeKeyValidator, msg.ValidatorAddress), + sdk.NewAttribute(types.AttributeKeyShareOwner, msg.TokenizedShareOwner), + sdk.NewAttribute(types.AttributeKeyShareRecordId, fmt.Sprintf("%d", record.Id)), + sdk.NewAttribute(types.AttributeKeyAmount, msg.Amount.String()), + sdk.NewAttribute(types.AttributeKeyTokenizedShares, shareToken.String()), + ), + ) + + return &types.MsgTokenizeSharesResponse{ + Amount: shareToken, + }, nil +} + +// RedeemTokensForShares converts tokenized shares back into a native delegation. +func (k msgServer) RedeemTokensForShares(goCtx context.Context, msg *types.MsgRedeemTokensForShares) (*types.MsgRedeemTokensForSharesResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + delegatorAddress, err := sdk.AccAddressFromBech32(msg.DelegatorAddress) + if err != nil { + return nil, err + } + + shareToken := msg.Amount + balance := k.bankKeeper.GetBalance(ctx, delegatorAddress, shareToken.Denom) + if balance.Amount.LT(shareToken.Amount) { + return nil, types.ErrNotEnoughBalance + } + + record, err := k.GetTokenizeShareRecordByDenom(ctx, shareToken.Denom) + if err != nil { + return nil, err + } + + valAddr, valErr := sdk.ValAddressFromBech32(record.Validator) + if valErr != nil { + return nil, valErr + } + + validator, err := k.GetValidator(ctx, valAddr) + if err != nil { + return nil, types.ErrNoValidatorFound.Wrapf("validator %s not found", valAddr) + } + + delegation, err := k.GetDelegation(ctx, record.GetModuleAddress(), valAddr) + if err != nil { + return nil, types.ErrNoUnbondingDelegation.Wrapf("delegation %s not found", record.GetModuleAddress().String()) + } + + // Similar to undelegations, if the account is attempting to tokenize the full delegation, + // but there's a precision error due to the decimal to int conversion, round up to the + // full decimal amount before modifying the delegation + shares := sdk.NewDecFromInt(shareToken.Amount) + if shareToken.Amount.Equal(delegation.Shares.TruncateInt()) { + shares = delegation.Shares + } + tokens := validator.TokensFromShares(shares).TruncateInt() + + // prevent redemption that returns a 0 amount + if tokens.IsZero() { + return nil, types.ErrTinyRedemptionAmount + } + + // If this redemption is NOT from a liquid staking provider, decrement the total liquid staked + // If the redemption was from a liquid staking provider, the shares are still considered + // liquid, even in their non-tokenized form (since they are owned by a liquid staking provider) + if !k.DelegatorIsLiquidStaker(delegatorAddress) { + if err := k.DecreaseTotalLiquidStakedTokens(ctx, tokens); err != nil { + return nil, err + } + validator, err = k.DecreaseValidatorLiquidShares(ctx, valAddr, shares) + if err != nil { + return nil, err + } + } + + returnAmount, err := k.Unbond(ctx, record.GetModuleAddress(), valAddr, shares) + if err != nil { + return nil, err + } + + if validator.IsBonded() { + k.bondedTokensToNotBonded(ctx, returnAmount) + } + + // Note: since delegation object has been changed from unbond call, it gets latest delegation + _, err = k.GetDelegation(ctx, record.GetModuleAddress(), valAddr) + if err != nil { + if k.hooks != nil { + if err := k.hooks.BeforeTokenizeShareRecordRemoved(ctx, record.Id); err != nil { + return nil, err + } + } + err = k.DeleteTokenizeShareRecord(ctx, record.Id) + if err != nil { + return nil, err + } + } + + // send share tokens to NotBondedPool and burn + err = k.bankKeeper.SendCoinsFromAccountToModule(ctx, delegatorAddress, types.NotBondedPoolName, sdk.Coins{shareToken}) + if err != nil { + return nil, err + } + err = k.bankKeeper.BurnCoins(ctx, types.NotBondedPoolName, sdk.Coins{shareToken}) + if err != nil { + return nil, err + } + + // send equivalent amount of tokens to the delegator + bondDenom, err := k.BondDenom(ctx) + if err != nil { + return nil, err + } + returnCoin := sdk.NewCoin(bondDenom, returnAmount) + err = k.bankKeeper.SendCoinsFromModuleToAccount(ctx, types.NotBondedPoolName, delegatorAddress, sdk.Coins{returnCoin}) + if err != nil { + return nil, err + } + + // Note: it is needed to get latest validator object to get Keeper.Delegate function work properly + validator, err = k.GetValidator(ctx, valAddr) + if err != nil { + return nil, types.ErrNoValidatorFound.Wrapf("validator %s not found", valAddr) + } + + // convert the share tokens to delegated status + // Note: Delegate(substractAccount => true) -> DelegateCoinsFromAccountToModule -> TrackDelegation for vesting account + _, err = k.Keeper.Delegate(ctx, delegatorAddress, returnAmount, types.Unbonded, validator, true) + if err != nil { + return nil, err + } + + ctx.EventManager().EmitEvent( + sdk.NewEvent( + types.EventTypeRedeemShares, + sdk.NewAttribute(types.AttributeKeyDelegator, msg.DelegatorAddress), + sdk.NewAttribute(types.AttributeKeyValidator, validator.OperatorAddress), + sdk.NewAttribute(types.AttributeKeyAmount, shareToken.String()), + ), + ) + + return &types.MsgRedeemTokensForSharesResponse{ + Amount: returnCoin, + }, nil +} + +// Transfers the ownership of rewards associated with a tokenize share record +func (k msgServer) TransferTokenizeShareRecord(goCtx context.Context, msg *types.MsgTransferTokenizeShareRecord) (*types.MsgTransferTokenizeShareRecordResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + record, err := k.GetTokenizeShareRecord(ctx, msg.TokenizeShareRecordId) + if err != nil { + return nil, types.ErrTokenizeShareRecordNotExists + } + + if record.Owner != msg.Sender { + return nil, types.ErrNotTokenizeShareRecordOwner + } + + // Remove old account reference + oldOwner, err := sdk.AccAddressFromBech32(record.Owner) + if err != nil { + return nil, sdkerrors.ErrInvalidAddress + } + k.deleteTokenizeShareRecordWithOwner(ctx, oldOwner, record.Id) + + record.Owner = msg.NewOwner + k.setTokenizeShareRecord(ctx, record) + + // Set new account reference + newOwner, err := sdk.AccAddressFromBech32(record.Owner) + if err != nil { + return nil, sdkerrors.ErrInvalidAddress + } + k.setTokenizeShareRecordWithOwner(ctx, newOwner, record.Id) + + ctx.EventManager().EmitEvent( + sdk.NewEvent( + types.EventTypeTransferTokenizeShareRecord, + sdk.NewAttribute(types.AttributeKeyShareRecordId, fmt.Sprintf("%d", msg.TokenizeShareRecordId)), + sdk.NewAttribute(sdk.AttributeKeySender, msg.Sender), + sdk.NewAttribute(types.AttributeKeyShareOwner, msg.NewOwner), + ), + ) + + return &types.MsgTransferTokenizeShareRecordResponse{}, nil +} + +// DisableTokenizeShares prevents an address from tokenizing any of their delegations +func (k msgServer) DisableTokenizeShares(goCtx context.Context, msg *types.MsgDisableTokenizeShares) (*types.MsgDisableTokenizeSharesResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + delegator := sdk.MustAccAddressFromBech32(msg.DelegatorAddress) + + // If tokenized shares is already disabled, alert the user + lockStatus, completionTime := k.GetTokenizeSharesLock(ctx, delegator) + if lockStatus == types.ShareLockStatusLocked { + return nil, types.ErrTokenizeSharesAlreadyDisabledForAccount + } + + // If the tokenized shares lock is expiring, remove the pending unlock from the queue + if lockStatus == types.ShareLockStatusLockExpiring { + k.CancelTokenizeShareLockExpiration(ctx, delegator, completionTime) + } + + // Create a new tokenization lock for the user + // Note: if there is a lock expiration in progress, this will override the expiration + k.AddTokenizeSharesLock(ctx, delegator) + + return &types.MsgDisableTokenizeSharesResponse{}, nil +} + +// EnableTokenizeShares begins the countdown after which tokenizing shares by the +// sender address is re-allowed, which will complete after the unbonding period +func (k msgServer) EnableTokenizeShares(goCtx context.Context, msg *types.MsgEnableTokenizeShares) (*types.MsgEnableTokenizeSharesResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + delegator := sdk.MustAccAddressFromBech32(msg.DelegatorAddress) + + // If tokenized shares aren't current disabled, alert the user + lockStatus, unlockTime := k.GetTokenizeSharesLock(ctx, delegator) + if lockStatus == types.ShareLockStatusUnlocked { + return nil, types.ErrTokenizeSharesAlreadyEnabledForAccount + } + if lockStatus == types.ShareLockStatusLockExpiring { + return nil, types.ErrTokenizeSharesAlreadyEnabledForAccount.Wrapf( + "tokenize shares re-enablement already in progress, ending at %s", unlockTime) + } + + // Otherwise queue the unlock + completionTime := k.QueueTokenizeSharesAuthorization(ctx, delegator) + + return &types.MsgEnableTokenizeSharesResponse{CompletionTime: completionTime}, nil +} + +// Designates a delegation as a validator bond +// This enables the validator to receive more liquid staking delegations +func (k msgServer) ValidatorBond(goCtx context.Context, msg *types.MsgValidatorBond) (*types.MsgValidatorBondResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + delAddr, err := sdk.AccAddressFromBech32(msg.DelegatorAddress) + if err != nil { + return nil, err + } + + valAddr, valErr := sdk.ValAddressFromBech32(msg.ValidatorAddress) + if valErr != nil { + return nil, valErr + } + + validator, err := k.GetValidator(ctx, valAddr) + if err != nil { + return nil, types.ErrNoValidatorFound.Wrapf("validator %s not found", valAddr) + } + + delegation, err := k.GetDelegation(ctx, delAddr, valAddr) + if err != nil { + return nil, types.ErrNoDelegation.Wrapf("delegation not found") + } + + // liquid staking providers should not be able to validator bond + if k.DelegatorIsLiquidStaker(delAddr) { + return nil, types.ErrValidatorBondNotAllowedFromModuleAccount + } + + if !delegation.ValidatorBond { + delegation.ValidatorBond = true + k.SetDelegation(ctx, delegation) + validator.ValidatorBondShares = validator.ValidatorBondShares.Add(delegation.Shares) + k.SetValidator(ctx, validator) + + ctx.EventManager().EmitEvent( + sdk.NewEvent( + types.EventTypeValidatorBondDelegation, + sdk.NewAttribute(types.AttributeKeyDelegator, msg.DelegatorAddress), + sdk.NewAttribute(types.AttributeKeyValidator, msg.ValidatorAddress), + ), + ) + } + + return &types.MsgValidatorBondResponse{}, nil +} diff --git a/x/staking/keeper/params.go b/x/staking/keeper/params.go index 83e29708470c..40deec7e746c 100644 --- a/x/staking/keeper/params.go +++ b/x/staking/keeper/params.go @@ -82,3 +82,36 @@ func (k Keeper) GetParams(ctx context.Context) (params types.Params, err error) err = k.cdc.Unmarshal(bz, ¶ms) return params, err } + +// ValidatorBondFactor - validator bond factor for all validators +// +// Since: cosmos-sdk 0.47-lsm +func (k Keeper) ValidatorBondFactor(ctx context.Context) (res sdk.Dec, err error) { + if params, err := k.GetParams(ctx); err != nil { + return sdk.Dec{}, err + } else { + return params.ValidatorBondFactor, nil + } +} + +// Global liquid staking cap across all liquid staking providers +// +// Since: cosmos-sdk 0.47-lsm +func (k Keeper) GlobalLiquidStakingCap(ctx sdk.Context) (res sdk.Dec, err error) { + if params, err := k.GetParams(ctx); err != nil { + return sdk.Dec{}, err + } else { + return params.GlobalLiquidStakingCap, nil + } +} + +// Liquid staking cap for each validator +// +// Since: cosmos-sdk 0.47-lsm +func (k Keeper) ValidatorLiquidStakingCap(ctx sdk.Context) (res sdk.Dec, err error) { + if params, err := k.GetParams(ctx); err != nil { + return sdk.Dec{}, err + } else { + return params.ValidatorLiquidStakingCap, nil + } +} diff --git a/x/staking/keeper/tokenize_share_record.go b/x/staking/keeper/tokenize_share_record.go new file mode 100644 index 000000000000..a93c4aa48a8f --- /dev/null +++ b/x/staking/keeper/tokenize_share_record.go @@ -0,0 +1,162 @@ +package keeper + +import ( + "context" + "fmt" + + gogotypes "github.com/gogo/protobuf/types" + + storetypes "cosmossdk.io/store/types" + "github.com/cosmos/cosmos-sdk/runtime" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/x/staking/types" +) + +func (k Keeper) GetLastTokenizeShareRecordID(ctx sdk.Context) uint64 { + store := k.storeService.OpenKVStore(ctx) + bytes, err := store.Get(types.LastTokenizeShareRecordIDKey) + if err != nil { + return 0 + } + if bytes == nil { + return 0 + } + return sdk.BigEndianToUint64(bytes) +} + +func (k Keeper) SetLastTokenizeShareRecordID(ctx sdk.Context, id uint64) { + store := k.storeService.OpenKVStore(ctx) + store.Set(types.LastTokenizeShareRecordIDKey, sdk.Uint64ToBigEndian(id)) +} + +func (k Keeper) GetTokenizeShareRecord(ctx context.Context, id uint64) (tokenizeShareRecord types.TokenizeShareRecord, err error) { + store := k.storeService.OpenKVStore(ctx) + + bz, err := store.Get(types.GetTokenizeShareRecordByIndexKey(id)) + if bz == nil { + return tokenizeShareRecord, types.ErrTokenizeShareRecordNotExists.Wrapf("tokenizeShareRecord %d does not exist", id) + } + + k.cdc.MustUnmarshal(bz, &tokenizeShareRecord) + return tokenizeShareRecord, nil +} + +func (k Keeper) GetTokenizeShareRecordsByOwner(ctx context.Context, owner sdk.AccAddress) (tokenizeShareRecords []types.TokenizeShareRecord) { + store := k.storeService.OpenKVStore(ctx) + + it := storetypes.KVStorePrefixIterator(runtime.KVStoreAdapter(store), types.GetTokenizeShareRecordIdsByOwnerPrefix(owner)) + defer it.Close() + + for ; it.Valid(); it.Next() { + var id gogotypes.UInt64Value + k.cdc.MustUnmarshal(it.Value(), &id) + + tokenizeShareRecord, err := k.GetTokenizeShareRecord(ctx, id.Value) + if err != nil { + continue + } + tokenizeShareRecords = append(tokenizeShareRecords, tokenizeShareRecord) + } + return +} + +func (k Keeper) GetTokenizeShareRecordByDenom(ctx context.Context, denom string) (types.TokenizeShareRecord, error) { + store := k.storeService.OpenKVStore(ctx) + bz, err := store.Get(types.GetTokenizeShareRecordIDByDenomKey(denom)) + if err != nil { + return types.TokenizeShareRecord{}, err + } + if bz == nil { + return types.TokenizeShareRecord{}, fmt.Errorf("tokenize share record not found from denom: %s", denom) + } + + var id gogotypes.UInt64Value + k.cdc.MustUnmarshal(bz, &id) + + return k.GetTokenizeShareRecord(ctx, id.Value) +} + +func (k Keeper) GetAllTokenizeShareRecords(ctx context.Context) (tokenizeShareRecords []types.TokenizeShareRecord) { + store := k.storeService.OpenKVStore(ctx) + + it := storetypes.KVStorePrefixIterator(runtime.KVStoreAdapter(store), types.TokenizeShareRecordPrefix) + defer it.Close() + + for ; it.Valid(); it.Next() { + var tokenizeShareRecord types.TokenizeShareRecord + k.cdc.MustUnmarshal(it.Value(), &tokenizeShareRecord) + + tokenizeShareRecords = append(tokenizeShareRecords, tokenizeShareRecord) + } + return +} + +func (k Keeper) AddTokenizeShareRecord(ctx context.Context, tokenizeShareRecord types.TokenizeShareRecord) error { + if k.hasTokenizeShareRecord(ctx, tokenizeShareRecord.Id) { + return types.ErrTokenizeShareRecordAlreadyExists.Wrapf("TokenizeShareRecord already exists: %d", tokenizeShareRecord.Id) + } + + k.setTokenizeShareRecord(ctx, tokenizeShareRecord) + + owner, err := sdk.AccAddressFromBech32(tokenizeShareRecord.Owner) + if err != nil { + return err + } + + k.setTokenizeShareRecordWithOwner(ctx, owner, tokenizeShareRecord.Id) + k.setTokenizeShareRecordWithDenom(ctx, tokenizeShareRecord.GetShareTokenDenom(), tokenizeShareRecord.Id) + + return nil +} + +func (k Keeper) DeleteTokenizeShareRecord(ctx sdk.Context, recordID uint64) error { + record, err := k.GetTokenizeShareRecord(ctx, recordID) + if err != nil { + return err + } + owner, err := sdk.AccAddressFromBech32(record.Owner) + if err != nil { + return err + } + + store := k.storeService.OpenKVStore(ctx) + store.Delete(types.GetTokenizeShareRecordByIndexKey(recordID)) + store.Delete(types.GetTokenizeShareRecordIDByOwnerAndIDKey(owner, recordID)) + store.Delete(types.GetTokenizeShareRecordIDByDenomKey(record.GetShareTokenDenom())) + return nil +} + +func (k Keeper) hasTokenizeShareRecord(ctx context.Context, id uint64) bool { + store := k.storeService.OpenKVStore(ctx) + res, err := store.Has(types.GetTokenizeShareRecordByIndexKey(id)) + if err != nil { + return false + } + return res +} + +func (k Keeper) setTokenizeShareRecord(ctx context.Context, tokenizeShareRecord types.TokenizeShareRecord) { + store := k.storeService.OpenKVStore(ctx) + bz := k.cdc.MustMarshal(&tokenizeShareRecord) + + store.Set(types.GetTokenizeShareRecordByIndexKey(tokenizeShareRecord.Id), bz) +} + +func (k Keeper) setTokenizeShareRecordWithOwner(ctx context.Context, owner sdk.AccAddress, id uint64) { + store := k.storeService.OpenKVStore(ctx) + bz := k.cdc.MustMarshal(&gogotypes.UInt64Value{Value: id}) + + store.Set(types.GetTokenizeShareRecordIDByOwnerAndIDKey(owner, id), bz) +} + +func (k Keeper) deleteTokenizeShareRecordWithOwner(ctx context.Context, owner sdk.AccAddress, id uint64) { + store := k.storeService.OpenKVStore(ctx) + store.Delete(types.GetTokenizeShareRecordIDByOwnerAndIDKey(owner, id)) +} + +func (k Keeper) setTokenizeShareRecordWithDenom(ctx context.Context, denom string, id uint64) { + store := k.storeService.OpenKVStore(ctx) + bz := k.cdc.MustMarshal(&gogotypes.UInt64Value{Value: id}) + + store.Set(types.GetTokenizeShareRecordIDByDenomKey(denom), bz) +} diff --git a/x/staking/testutil/expected_keepers_mocks.go b/x/staking/testutil/expected_keepers_mocks.go index dbea937f07f5..4dc12824f1b8 100644 --- a/x/staking/testutil/expected_keepers_mocks.go +++ b/x/staking/testutil/expected_keepers_mocks.go @@ -723,3 +723,59 @@ func (mr *MockStakingHooksMockRecorder) BeforeValidatorSlashed(ctx, valAddr, fra mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "BeforeValidatorSlashed", reflect.TypeOf((*MockStakingHooks)(nil).BeforeValidatorSlashed), ctx, valAddr, fraction) } + +// MintCoins mocks base method. +func (m *MockBankKeeper) MintCoins(cts context.Context, name string, amt types.Coins) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "MintCoins", cts, name, amt) + ret0, _ := ret[0].(error) + return ret0 +} + +// MintCoins indicates an expected call of MintCoins. +func (mr *MockBankKeeperMockRecorder) MintCoins(cts, name, amt interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "MintCoins", reflect.TypeOf((*MockBankKeeper)(nil).MintCoins), cts, name, amt) +} + +// SendCoins mocks base method. +func (m *MockBankKeeper) SendCoins(ctx context.Context, fromAddr, toAddr types.AccAddress, amt types.Coins) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "SendCoins", ctx, fromAddr, toAddr, amt) + ret0, _ := ret[0].(error) + return ret0 +} + +// SendCoins indicates an expected call of SendCoins. +func (mr *MockBankKeeperMockRecorder) SendCoins(ctx, fromAddr, toAddr, amt interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendCoins", reflect.TypeOf((*MockBankKeeper)(nil).SendCoins), ctx, fromAddr, toAddr, amt) +} + +// SendCoinsFromAccountToModule mocks base method. +func (m *MockBankKeeper) SendCoinsFromAccountToModule(ctx context.Context, senderAddr types.AccAddress, recipientModule string, amt types.Coins) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "SendCoinsFromAccountToModule", ctx, senderAddr, recipientModule, amt) + ret0, _ := ret[0].(error) + return ret0 +} + +// SendCoinsFromAccountToModule indicates an expected call of SendCoinsFromAccountToModule. +func (mr *MockBankKeeperMockRecorder) SendCoinsFromAccountToModule(ctx, senderAddr, recipientModule, amt interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendCoinsFromAccountToModule", reflect.TypeOf((*MockBankKeeper)(nil).SendCoinsFromAccountToModule), ctx, senderAddr, recipientModule, amt) +} + +// SendCoinsFromModuleToAccount mocks base method. +func (m *MockBankKeeper) SendCoinsFromModuleToAccount(ctx context.Context, senderModule string, recipientAddr types.AccAddress, amt types.Coins) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "SendCoinsFromModuleToAccount", ctx, senderModule, recipientAddr, amt) + ret0, _ := ret[0].(error) + return ret0 +} + +// SendCoinsFromModuleToAccount indicates an expected call of SendCoinsFromModuleToAccount. +func (mr *MockBankKeeperMockRecorder) SendCoinsFromModuleToAccount(ctx, senderModule, recipientAddr, amt interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendCoinsFromModuleToAccount", reflect.TypeOf((*MockBankKeeper)(nil).SendCoinsFromModuleToAccount), ctx, senderModule, recipientAddr, amt) +} diff --git a/x/staking/types/errors.go b/x/staking/types/errors.go index 00441564352a..f7ee664979c6 100644 --- a/x/staking/types/errors.go +++ b/x/staking/types/errors.go @@ -48,4 +48,24 @@ var ( ErrInvalidSigner = errors.Register(ModuleName, 43, "expected authority account as only signer for proposal message") ErrBadRedelegationSrc = errors.Register(ModuleName, 44, "redelegation source validator not found") ErrNoUnbondingType = errors.Register(ModuleName, 45, "unbonding type not found") + + ErrNotEnoughBalance = errors.Register(ModuleName, 101, "not enough balance") + ErrTokenizeShareRecordNotExists = errors.Register(ModuleName, 102, "tokenize share record not exists") + ErrTokenizeShareRecordAlreadyExists = errors.Register(ModuleName, 103, "tokenize share record already exists") + ErrNotTokenizeShareRecordOwner = errors.Register(ModuleName, 104, "not tokenize share record owner") + ErrExceedingFreeVestingDelegations = errors.Register(ModuleName, 105, "trying to exceed vested free delegation for vesting account") + ErrOnlyBondDenomAllowdForTokenize = errors.Register(ModuleName, 106, "only bond denom is allowed for tokenize") + ErrInsufficientValidatorBondShares = errors.Register(ModuleName, 107, "insufficient validator bond shares") + ErrRedelegationNotAllowedForValidatorBond = errors.Register(ModuleName, 108, "redelegation is not allowed for validator bond delegation") + ErrValidatorBondNotAllowedForTokenizeShare = errors.Register(ModuleName, 109, "validator bond delegation is not allowed to tokenize share") + ErrValidatorBondNotAllowedFromModuleAccount = errors.Register(ModuleName, 110, "validator bond is not allowed from a module account") + ErrGlobalLiquidStakingCapExceeded = errors.Register(ModuleName, 111, "delegation or tokenization exceeds the global cap") + ErrValidatorLiquidStakingCapExceeded = errors.Register(ModuleName, 112, "delegation or tokenization exceeds the validator cap") + ErrTokenizeSharesDisabledForAccount = errors.Register(ModuleName, 113, "tokenize shares currently disabled for account") + ErrUnableToDisableTokenizeShares = errors.Register(ModuleName, 114, "unable to disable tokenize shares for account") + ErrTokenizeSharesAlreadyEnabledForAccount = errors.Register(ModuleName, 115, "tokenize shares is already enabled for this account") + ErrTokenizeSharesAlreadyDisabledForAccount = errors.Register(ModuleName, 116, "tokenize shares is already disabled for this account") + ErrValidatorLiquidSharesUnderflow = errors.Register(ModuleName, 117, "validator liquid shares underflow") + ErrTotalLiquidStakedUnderflow = errors.Register(ModuleName, 118, "total liquid staked underflow") + ErrTinyRedemptionAmount = errors.Register(ModuleName, 119, "too few tokens to redeem (truncates to zero tokens)") ) diff --git a/x/staking/types/events.go b/x/staking/types/events.go index 2004e0d4c1ff..153d373faaa7 100644 --- a/x/staking/types/events.go +++ b/x/staking/types/events.go @@ -11,6 +11,11 @@ const ( EventTypeCancelUnbondingDelegation = "cancel_unbonding_delegation" EventTypeRedelegate = "redelegate" + EventTypeTokenizeShares = "tokenize_shares" + EventTypeRedeemShares = "redeem_shares" + EventTypeTransferTokenizeShareRecord = "transfer_tokenize_share_record" + EventTypeValidatorBondDelegation = "validator_bond_delegation" + AttributeKeyValidator = "validator" AttributeKeyCommissionRate = "commission_rate" AttributeKeyMinSelfDelegation = "min_self_delegation" @@ -20,4 +25,9 @@ const ( AttributeKeyCreationHeight = "creation_height" AttributeKeyCompletionTime = "completion_time" AttributeKeyNewShares = "new_shares" + + AttributeKeyShareOwner = "share_owner" + AttributeKeyShareRecordId = "share_record_id" + AttributeKeyAmount = "amount" + AttributeKeyTokenizedShares = "tokenized_shares" ) diff --git a/x/staking/types/expected_keepers.go b/x/staking/types/expected_keepers.go index 96f816a5acb1..553a3264d22c 100644 --- a/x/staking/types/expected_keepers.go +++ b/x/staking/types/expected_keepers.go @@ -34,10 +34,14 @@ type BankKeeper interface { GetSupply(ctx context.Context, denom string) sdk.Coin + SendCoins(ctx context.Context, fromAddr sdk.AccAddress, toAddr sdk.AccAddress, amt sdk.Coins) error SendCoinsFromModuleToModule(ctx context.Context, senderPool, recipientPool string, amt sdk.Coins) error + SendCoinsFromAccountToModule(ctx context.Context, senderAddr sdk.AccAddress, recipientModule string, amt sdk.Coins) error + SendCoinsFromModuleToAccount(ctx context.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins) error UndelegateCoinsFromModuleToAccount(ctx context.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins) error DelegateCoinsFromAccountToModule(ctx context.Context, senderAddr sdk.AccAddress, recipientModule string, amt sdk.Coins) error + MintCoins(cts context.Context, name string, amt sdk.Coins) error BurnCoins(ctx context.Context, name string, amt sdk.Coins) error } @@ -109,6 +113,8 @@ type StakingHooks interface { AfterDelegationModified(ctx context.Context, delAddr sdk.AccAddress, valAddr sdk.ValAddress) error BeforeValidatorSlashed(ctx context.Context, valAddr sdk.ValAddress, fraction math.LegacyDec) error AfterUnbondingInitiated(ctx context.Context, id uint64) error + + BeforeTokenizeShareRecordRemoved(ctx sdk.Context, recordId uint64) error // Must be called when tokenize share record is deleted } // StakingHooksWrapper is a wrapper for modules to inject StakingHooks using depinject. diff --git a/x/staking/types/genesis.pb.go b/x/staking/types/genesis.pb.go index f11448eaa9f7..62eb4262118f 100644 --- a/x/staking/types/genesis.pb.go +++ b/x/staking/types/genesis.pb.go @@ -7,18 +7,23 @@ import ( cosmossdk_io_math "cosmossdk.io/math" fmt "fmt" _ "github.com/cosmos/cosmos-proto" + github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" + github_com_cosmos_gogoproto_types "github.com/cosmos/gogoproto/types" + _ "google.golang.org/protobuf/types/known/timestamppb" io "io" math "math" math_bits "math/bits" + time "time" ) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf +var _ = time.Kitchen // This is a compile-time assertion to ensure that this generated file // is compatible with the proto package it is being compiled against. @@ -46,6 +51,22 @@ type GenesisState struct { Redelegations []Redelegation `protobuf:"bytes,7,rep,name=redelegations,proto3" json:"redelegations"` // exported defines a bool to identify whether the chain dealing with exported or initialized genesis. Exported bool `protobuf:"varint,8,opt,name=exported,proto3" json:"exported,omitempty"` + // store tokenize share records to provide reward to record owners. + // + // Since: cosmos-sdk 0.47-lsm + TokenizeShareRecords []TokenizeShareRecord `protobuf:"bytes,9,rep,name=tokenize_share_records,json=tokenizeShareRecords,proto3" json:"tokenize_share_records"` + // last tokenize share record id, used for next share record id calculation. + // + // Since: cosmos-sdk 0.47-lsm + LastTokenizeShareRecordId uint64 `protobuf:"varint,10,opt,name=last_tokenize_share_record_id,json=lastTokenizeShareRecordId,proto3" json:"last_tokenize_share_record_id,omitempty"` + // total number of liquid staked tokens at genesis. + // + // Since: cosmos-sdk 0.47-lsm + TotalLiquidStakedTokens github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,11,opt,name=total_liquid_staked_tokens,json=totalLiquidStakedTokens,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"total_liquid_staked_tokens"` + // tokenize shares locks at genesis. + // + // Since: cosmos-sdk 0.47-lsm + TokenizeShareLocks []TokenizeShareLock `protobuf:"bytes,12,rep,name=tokenize_share_locks,json=tokenizeShareLocks,proto3" json:"tokenize_share_locks"` } func (m *GenesisState) Reset() { *m = GenesisState{} } @@ -130,6 +151,93 @@ func (m *GenesisState) GetExported() bool { return false } +func (m *GenesisState) GetTokenizeShareRecords() []TokenizeShareRecord { + if m != nil { + return m.TokenizeShareRecords + } + return nil +} + +func (m *GenesisState) GetLastTokenizeShareRecordId() uint64 { + if m != nil { + return m.LastTokenizeShareRecordId + } + return 0 +} + +func (m *GenesisState) GetTokenizeShareLocks() []TokenizeShareLock { + if m != nil { + return m.TokenizeShareLocks + } + return nil +} + +// TokenizeSharesLock required for specifying account locks at genesis. +// +// Since: cosmos-sdk 0.47-lsm +type TokenizeShareLock struct { + // Address of the account that is locked. + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + // Status of the lock (LOCKED or LOCK_EXPIRING) + Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` + // Completion time if the lock is expiring. + CompletionTime time.Time `protobuf:"bytes,3,opt,name=completion_time,json=completionTime,proto3,stdtime" json:"completion_time"` +} + +func (m *TokenizeShareLock) Reset() { *m = TokenizeShareLock{} } +func (m *TokenizeShareLock) String() string { return proto.CompactTextString(m) } +func (*TokenizeShareLock) ProtoMessage() {} +func (*TokenizeShareLock) Descriptor() ([]byte, []int) { + return fileDescriptor_9b3dec8894f2831b, []int{1} +} +func (m *TokenizeShareLock) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *TokenizeShareLock) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_TokenizeShareLock.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *TokenizeShareLock) XXX_Merge(src proto.Message) { + xxx_messageInfo_TokenizeShareLock.Merge(m, src) +} +func (m *TokenizeShareLock) XXX_Size() int { + return m.Size() +} +func (m *TokenizeShareLock) XXX_DiscardUnknown() { + xxx_messageInfo_TokenizeShareLock.DiscardUnknown(m) +} + +var xxx_messageInfo_TokenizeShareLock proto.InternalMessageInfo + +func (m *TokenizeShareLock) GetAddress() string { + if m != nil { + return m.Address + } + return "" +} + +func (m *TokenizeShareLock) GetStatus() string { + if m != nil { + return m.Status + } + return "" +} + +func (m *TokenizeShareLock) GetCompletionTime() time.Time { + if m != nil { + return m.CompletionTime + } + return time.Time{} +} + // LastValidatorPower required for validator set update logic. type LastValidatorPower struct { // address is the address of the validator. @@ -142,7 +250,7 @@ func (m *LastValidatorPower) Reset() { *m = LastValidatorPower{} } func (m *LastValidatorPower) String() string { return proto.CompactTextString(m) } func (*LastValidatorPower) ProtoMessage() {} func (*LastValidatorPower) Descriptor() ([]byte, []int) { - return fileDescriptor_9b3dec8894f2831b, []int{1} + return fileDescriptor_9b3dec8894f2831b, []int{2} } func (m *LastValidatorPower) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -173,6 +281,7 @@ var xxx_messageInfo_LastValidatorPower proto.InternalMessageInfo func init() { proto.RegisterType((*GenesisState)(nil), "cosmos.staking.v1beta1.GenesisState") + proto.RegisterType((*TokenizeShareLock)(nil), "cosmos.staking.v1beta1.TokenizeShareLock") proto.RegisterType((*LastValidatorPower)(nil), "cosmos.staking.v1beta1.LastValidatorPower") } @@ -181,40 +290,53 @@ func init() { } var fileDescriptor_9b3dec8894f2831b = []byte{ - // 513 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x93, 0x31, 0x6f, 0xd3, 0x40, - 0x18, 0x86, 0x6d, 0x4a, 0xd2, 0xf4, 0x52, 0x10, 0x1c, 0x09, 0x32, 0x19, 0x9c, 0x10, 0x75, 0x88, - 0x0a, 0xb1, 0x69, 0xd8, 0xd8, 0x1a, 0x21, 0x50, 0xa5, 0x4a, 0x54, 0x2e, 0x65, 0xe8, 0x12, 0x5d, - 0xea, 0x93, 0x73, 0x8a, 0x7d, 0x67, 0xf9, 0xbe, 0x94, 0xf2, 0x0f, 0x18, 0xd9, 0x58, 0x3b, 0x32, - 0x32, 0xf4, 0x47, 0x74, 0xac, 0x3a, 0x21, 0x86, 0x0a, 0x25, 0x03, 0xfc, 0x0c, 0xe4, 0x3b, 0xc7, - 0x18, 0xa5, 0x5e, 0x92, 0x38, 0xdf, 0xf3, 0x3e, 0xef, 0x27, 0xf9, 0x0e, 0x6d, 0x9d, 0x08, 0x19, - 0x09, 0xe9, 0x4a, 0x20, 0x53, 0xc6, 0x03, 0xf7, 0x74, 0x67, 0x4c, 0x81, 0xec, 0xb8, 0x01, 0xe5, - 0x54, 0x32, 0xe9, 0xc4, 0x89, 0x00, 0x81, 0x1f, 0x6b, 0xca, 0xc9, 0x28, 0x27, 0xa3, 0x5a, 0x8d, - 0x40, 0x04, 0x42, 0x21, 0x6e, 0xfa, 0x4b, 0xd3, 0xad, 0x32, 0xe7, 0x32, 0xad, 0xa9, 0x27, 0x9a, - 0x1a, 0xe9, 0x78, 0x56, 0xa0, 0x47, 0x0f, 0x49, 0xc4, 0xb8, 0x70, 0xd5, 0xa7, 0xfe, 0xab, 0xfb, - 0xb5, 0x82, 0x36, 0xdf, 0xea, 0x9d, 0x0e, 0x81, 0x00, 0xc5, 0xbb, 0xa8, 0x1a, 0x93, 0x84, 0x44, - 0xd2, 0x32, 0x3b, 0x66, 0xaf, 0x3e, 0xb0, 0x9d, 0xdb, 0x77, 0x74, 0x0e, 0x14, 0x35, 0xdc, 0xb8, - 0xbc, 0x69, 0x1b, 0xdf, 0x7e, 0x7f, 0xdf, 0x36, 0xbd, 0x2c, 0x88, 0x8f, 0xd1, 0x83, 0x90, 0x48, - 0x18, 0x81, 0x00, 0x12, 0x8e, 0x62, 0xf1, 0x91, 0x26, 0xd6, 0x9d, 0x8e, 0xd9, 0xdb, 0x1c, 0xbe, - 0x48, 0xe1, 0x9f, 0x37, 0xed, 0xa6, 0x76, 0x4a, 0x7f, 0xea, 0x30, 0xe1, 0x46, 0x04, 0x26, 0xce, - 0x1e, 0x87, 0xeb, 0x8b, 0x3e, 0xca, 0xca, 0xf6, 0x38, 0x68, 0xe7, 0xfd, 0xd4, 0xf4, 0x3e, 0x15, - 0x1d, 0xa4, 0x1e, 0xcc, 0x50, 0x53, 0xb9, 0x4f, 0x49, 0xc8, 0x7c, 0x02, 0x22, 0xd1, 0x7e, 0x69, - 0xad, 0x75, 0xd6, 0x7a, 0xf5, 0xc1, 0x76, 0xd9, 0xb6, 0xfb, 0x44, 0xc2, 0x87, 0x65, 0x46, 0xa9, - 0x8a, 0x9b, 0x3f, 0x0a, 0x57, 0xc6, 0x12, 0xef, 0x23, 0x94, 0xb7, 0x48, 0xeb, 0xae, 0xf2, 0x3f, - 0x2d, 0xf3, 0xe7, 0xe1, 0xa2, 0xb6, 0x90, 0xc7, 0xef, 0x50, 0xdd, 0xa7, 0x21, 0x0d, 0x08, 0x30, - 0xc1, 0xa5, 0x55, 0x51, 0xba, 0x6e, 0x99, 0xee, 0x75, 0x8e, 0x16, 0x7d, 0x45, 0x03, 0x9e, 0xa2, - 0xe6, 0x8c, 0x8f, 0x05, 0xf7, 0x19, 0x0f, 0x46, 0x45, 0x75, 0x55, 0xa9, 0x9f, 0x95, 0xa9, 0x8f, - 0x96, 0xa1, 0xdb, 0x3b, 0x1a, 0xb3, 0xd5, 0xb9, 0xc4, 0x47, 0xe8, 0x5e, 0x42, 0x8b, 0x25, 0xeb, - 0xaa, 0x64, 0xab, 0xac, 0xc4, 0x2b, 0xc0, 0x45, 0xfb, 0xff, 0x16, 0xdc, 0x42, 0x35, 0x7a, 0x16, - 0x8b, 0x04, 0xa8, 0x6f, 0xd5, 0x3a, 0x66, 0xaf, 0xe6, 0xe5, 0xcf, 0xdd, 0x09, 0xc2, 0xab, 0x2f, - 0x0d, 0x0f, 0xd0, 0x3a, 0xf1, 0xfd, 0x84, 0x4a, 0x7d, 0x3e, 0x37, 0x86, 0xd6, 0xf5, 0x45, 0xbf, - 0x91, 0x6d, 0xb1, 0xab, 0x27, 0x87, 0x90, 0x30, 0x1e, 0x78, 0x4b, 0x10, 0x37, 0x50, 0xe5, 0xdf, - 0x21, 0x5c, 0xf3, 0xf4, 0xc3, 0xab, 0xda, 0xe7, 0xf3, 0xb6, 0xf1, 0xe7, 0xbc, 0x6d, 0x0c, 0xdf, - 0x5c, 0xce, 0x6d, 0xf3, 0x6a, 0x6e, 0x9b, 0xbf, 0xe6, 0xb6, 0xf9, 0x65, 0x61, 0x1b, 0x57, 0x0b, - 0xdb, 0xf8, 0xb1, 0xb0, 0x8d, 0xe3, 0xe7, 0x01, 0x83, 0xc9, 0x6c, 0xec, 0x9c, 0x88, 0x28, 0xbb, - 0x49, 0xd9, 0x57, 0x5f, 0xfa, 0x53, 0xf7, 0x2c, 0xbf, 0x89, 0xf0, 0x29, 0xa6, 0x72, 0x5c, 0x55, - 0x57, 0xea, 0xe5, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x57, 0x29, 0x7a, 0x5e, 0xfc, 0x03, 0x00, - 0x00, + // 732 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x94, 0x4f, 0x4f, 0x13, 0x41, + 0x18, 0xc6, 0xbb, 0x16, 0x4a, 0x3b, 0x45, 0x94, 0xb1, 0xe0, 0xd2, 0xc4, 0x6d, 0x6d, 0x88, 0xa9, + 0x28, 0xbb, 0x02, 0x37, 0x4f, 0xd2, 0x18, 0x0d, 0x49, 0x8d, 0x64, 0x0b, 0x1e, 0xb8, 0x6c, 0xa6, + 0xdd, 0x61, 0x3b, 0xd9, 0x3f, 0xb3, 0xee, 0x4c, 0x11, 0xfd, 0x04, 0x1e, 0x39, 0xf8, 0x01, 0xf0, + 0xe6, 0xd1, 0x03, 0x1f, 0x82, 0x23, 0xe1, 0x64, 0x3c, 0xa0, 0x81, 0x83, 0x7e, 0x0c, 0xb3, 0x33, + 0xdb, 0xb2, 0xd0, 0x96, 0x78, 0x69, 0x3b, 0x7d, 0x9f, 0xe7, 0xf7, 0xbe, 0x33, 0xf3, 0xce, 0x0b, + 0x16, 0x3b, 0x94, 0xf9, 0x94, 0x19, 0x8c, 0x23, 0x97, 0x04, 0x8e, 0xb1, 0xb7, 0xd2, 0xc6, 0x1c, + 0xad, 0x18, 0x0e, 0x0e, 0x30, 0x23, 0x4c, 0x0f, 0x23, 0xca, 0x29, 0x9c, 0x97, 0x2a, 0x3d, 0x51, + 0xe9, 0x89, 0xaa, 0x5c, 0x72, 0xa8, 0x43, 0x85, 0xc4, 0x88, 0x7f, 0x49, 0x75, 0x79, 0x1c, 0xb3, + 0xef, 0x96, 0xaa, 0x05, 0xa9, 0xb2, 0xa4, 0x3d, 0x49, 0x20, 0x43, 0xb3, 0xc8, 0x27, 0x01, 0x35, + 0xc4, 0x67, 0xf2, 0x57, 0xc5, 0xa1, 0xd4, 0xf1, 0xb0, 0x21, 0x56, 0xed, 0xde, 0xae, 0xc1, 0x89, + 0x8f, 0x19, 0x47, 0x7e, 0x28, 0x05, 0xb5, 0xaf, 0x79, 0x30, 0xfd, 0x5a, 0x16, 0xdd, 0xe2, 0x88, + 0x63, 0xb8, 0x0e, 0x72, 0x21, 0x8a, 0x90, 0xcf, 0x54, 0xa5, 0xaa, 0xd4, 0x8b, 0xab, 0x9a, 0x3e, + 0x7a, 0x13, 0xfa, 0xa6, 0x50, 0x35, 0x0a, 0xc7, 0x67, 0x95, 0xcc, 0xb7, 0x3f, 0xdf, 0x97, 0x14, + 0x33, 0x31, 0xc2, 0x1d, 0x70, 0xd7, 0x43, 0x8c, 0x5b, 0x9c, 0x72, 0xe4, 0x59, 0x21, 0xfd, 0x80, + 0x23, 0xf5, 0x56, 0x55, 0xa9, 0x4f, 0x37, 0x9e, 0xc5, 0xe2, 0x9f, 0x67, 0x95, 0x39, 0xc9, 0x64, + 0xb6, 0xab, 0x13, 0x6a, 0xf8, 0x88, 0x77, 0xf5, 0x8d, 0x80, 0x9f, 0x1e, 0x2d, 0x83, 0x24, 0xd9, + 0x46, 0xc0, 0x25, 0x73, 0x26, 0x26, 0x6d, 0xc5, 0xa0, 0xcd, 0x98, 0x03, 0x09, 0x98, 0x13, 0xec, + 0x3d, 0xe4, 0x11, 0x1b, 0x71, 0x1a, 0x49, 0x3e, 0x53, 0xb3, 0xd5, 0x6c, 0xbd, 0xb8, 0xba, 0x34, + 0xae, 0xda, 0x26, 0x62, 0xfc, 0x5d, 0xdf, 0x23, 0x50, 0xe9, 0xca, 0xef, 0x79, 0x43, 0x61, 0x06, + 0x9b, 0x00, 0x0c, 0xb2, 0x30, 0x75, 0x42, 0xf0, 0x1f, 0x8e, 0xe3, 0x0f, 0xcc, 0x69, 0x6c, 0xca, + 0x0f, 0xdf, 0x82, 0xa2, 0x8d, 0x3d, 0xec, 0x20, 0x4e, 0x68, 0xc0, 0xd4, 0x49, 0x81, 0xab, 0x8d, + 0xc3, 0xbd, 0x1c, 0x48, 0xd3, 0xbc, 0x34, 0x01, 0xba, 0x60, 0xae, 0x17, 0xb4, 0x69, 0x60, 0x93, + 0xc0, 0xb1, 0xd2, 0xe8, 0x9c, 0x40, 0x3f, 0x19, 0x87, 0xde, 0xee, 0x9b, 0x46, 0xe7, 0x28, 0xf5, + 0x86, 0xe3, 0x0c, 0x6e, 0x83, 0xdb, 0x11, 0x4e, 0x27, 0x99, 0x12, 0x49, 0x16, 0xc7, 0x25, 0x31, + 0x53, 0xe2, 0x34, 0xfd, 0x2a, 0x05, 0x96, 0x41, 0x1e, 0xef, 0x87, 0x34, 0xe2, 0xd8, 0x56, 0xf3, + 0x55, 0xa5, 0x9e, 0x37, 0x07, 0x6b, 0xe8, 0x81, 0x79, 0x4e, 0x5d, 0x1c, 0x90, 0x4f, 0xd8, 0x62, + 0x5d, 0x14, 0x61, 0x2b, 0xc2, 0x1d, 0x1a, 0xd9, 0x4c, 0x2d, 0xdc, 0xbc, 0xc1, 0xad, 0xc4, 0xd5, + 0x8a, 0x4d, 0xa6, 0xf0, 0x5c, 0xd9, 0x20, 0x1f, 0x8e, 0x33, 0xf8, 0x02, 0x3c, 0x48, 0x7a, 0x76, + 0x44, 0x4a, 0x8b, 0xd8, 0x2a, 0xa8, 0x2a, 0xf5, 0x09, 0x73, 0x41, 0xb6, 0xe3, 0x10, 0x60, 0xc3, + 0x86, 0x21, 0x28, 0xcb, 0x86, 0xf7, 0xc8, 0xfb, 0x1e, 0xb1, 0xad, 0xb8, 0x2c, 0x6c, 0x4b, 0x20, + 0x53, 0x8b, 0xa2, 0xff, 0xd7, 0x92, 0xfe, 0x7f, 0xe4, 0x10, 0xde, 0xed, 0xb5, 0xf5, 0x0e, 0xf5, + 0x93, 0x27, 0x9c, 0x7c, 0x2d, 0x33, 0xdb, 0x35, 0xf8, 0xc7, 0x10, 0xa7, 0x9e, 0xc0, 0x7d, 0x81, + 0x6d, 0x0a, 0x6a, 0x4b, 0x40, 0x45, 0x01, 0x0c, 0xee, 0x82, 0xd2, 0xb5, 0x72, 0x3d, 0xda, 0x71, + 0x99, 0x3a, 0x2d, 0xce, 0xe7, 0xf1, 0x7f, 0x9d, 0x4f, 0x93, 0x76, 0xdc, 0xf4, 0xe9, 0x40, 0x7e, + 0x3d, 0xca, 0x6a, 0x5f, 0x14, 0x30, 0x3b, 0x64, 0x82, 0x2a, 0x98, 0x42, 0xb6, 0x1d, 0x61, 0x26, + 0x27, 0x45, 0xc1, 0xec, 0x2f, 0xe1, 0x3c, 0xc8, 0x31, 0x8e, 0x78, 0x8f, 0x89, 0x57, 0x5f, 0x30, + 0x93, 0x15, 0x7c, 0x03, 0xee, 0x74, 0xa8, 0x1f, 0x7a, 0x38, 0xbe, 0x7c, 0x2b, 0x9e, 0x44, 0x6a, + 0x56, 0xcc, 0x98, 0xb2, 0x2e, 0xc7, 0x94, 0xde, 0x1f, 0x53, 0xfa, 0x56, 0x7f, 0x4c, 0x35, 0xf2, + 0x71, 0x6d, 0x07, 0xbf, 0x2a, 0x8a, 0x39, 0x73, 0x69, 0x8e, 0xc3, 0xb5, 0x2e, 0x80, 0xc3, 0xaf, + 0x1a, 0xae, 0x5e, 0x2b, 0xab, 0xa1, 0x9e, 0x1e, 0x2d, 0x97, 0x92, 0xa3, 0x58, 0x97, 0x91, 0x16, + 0x8f, 0x48, 0xe0, 0x5c, 0x16, 0x5c, 0x02, 0x93, 0x97, 0x53, 0x2a, 0x6b, 0xca, 0xc5, 0xf3, 0xfc, + 0xe7, 0xc3, 0x4a, 0xe6, 0xef, 0x61, 0x25, 0xd3, 0x78, 0x75, 0x7c, 0xae, 0x29, 0x27, 0xe7, 0x9a, + 0xf2, 0xfb, 0x5c, 0x53, 0x0e, 0x2e, 0xb4, 0xcc, 0xc9, 0x85, 0x96, 0xf9, 0x71, 0xa1, 0x65, 0x76, + 0x9e, 0xde, 0x78, 0x91, 0xfb, 0x83, 0x59, 0x2e, 0xae, 0xb4, 0x9d, 0x13, 0xfb, 0x5b, 0xfb, 0x17, + 0x00, 0x00, 0xff, 0xff, 0x03, 0xd3, 0xe6, 0x6f, 0x3e, 0x06, 0x00, 0x00, } func (m *GenesisState) Marshal() (dAtA []byte, err error) { @@ -237,6 +359,49 @@ func (m *GenesisState) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.TokenizeShareLocks) > 0 { + for iNdEx := len(m.TokenizeShareLocks) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.TokenizeShareLocks[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x62 + } + } + { + size := m.TotalLiquidStakedTokens.Size() + i -= size + if _, err := m.TotalLiquidStakedTokens.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x5a + if m.LastTokenizeShareRecordId != 0 { + i = encodeVarintGenesis(dAtA, i, uint64(m.LastTokenizeShareRecordId)) + i-- + dAtA[i] = 0x50 + } + if len(m.TokenizeShareRecords) > 0 { + for iNdEx := len(m.TokenizeShareRecords) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.TokenizeShareRecords[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x4a + } + } if m.Exported { i-- if m.Exported { @@ -340,6 +505,51 @@ func (m *GenesisState) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *TokenizeShareLock) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *TokenizeShareLock) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *TokenizeShareLock) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + n2, err2 := github_com_cosmos_gogoproto_types.StdTimeMarshalTo(m.CompletionTime, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdTime(m.CompletionTime):]) + if err2 != nil { + return 0, err2 + } + i -= n2 + i = encodeVarintGenesis(dAtA, i, uint64(n2)) + i-- + dAtA[i] = 0x1a + if len(m.Status) > 0 { + i -= len(m.Status) + copy(dAtA[i:], m.Status) + i = encodeVarintGenesis(dAtA, i, uint64(len(m.Status))) + i-- + dAtA[i] = 0x12 + } + if len(m.Address) > 0 { + i -= len(m.Address) + copy(dAtA[i:], m.Address) + i = encodeVarintGenesis(dAtA, i, uint64(len(m.Address))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func (m *LastValidatorPower) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -429,6 +639,42 @@ func (m *GenesisState) Size() (n int) { if m.Exported { n += 2 } + if len(m.TokenizeShareRecords) > 0 { + for _, e := range m.TokenizeShareRecords { + l = e.Size() + n += 1 + l + sovGenesis(uint64(l)) + } + } + if m.LastTokenizeShareRecordId != 0 { + n += 1 + sovGenesis(uint64(m.LastTokenizeShareRecordId)) + } + l = m.TotalLiquidStakedTokens.Size() + n += 1 + l + sovGenesis(uint64(l)) + if len(m.TokenizeShareLocks) > 0 { + for _, e := range m.TokenizeShareLocks { + l = e.Size() + n += 1 + l + sovGenesis(uint64(l)) + } + } + return n +} + +func (m *TokenizeShareLock) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Address) + if l > 0 { + n += 1 + l + sovGenesis(uint64(l)) + } + l = len(m.Status) + if l > 0 { + n += 1 + l + sovGenesis(uint64(l)) + } + l = github_com_cosmos_gogoproto_types.SizeOfStdTime(m.CompletionTime) + n += 1 + l + sovGenesis(uint64(l)) return n } @@ -739,6 +985,273 @@ func (m *GenesisState) Unmarshal(dAtA []byte) error { } } m.Exported = bool(v != 0) + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TokenizeShareRecords", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenesis + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenesis + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.TokenizeShareRecords = append(m.TokenizeShareRecords, TokenizeShareRecord{}) + if err := m.TokenizeShareRecords[len(m.TokenizeShareRecords)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 10: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field LastTokenizeShareRecordId", wireType) + } + m.LastTokenizeShareRecordId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.LastTokenizeShareRecordId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 11: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TotalLiquidStakedTokens", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthGenesis + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthGenesis + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TotalLiquidStakedTokens.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 12: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TokenizeShareLocks", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenesis + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenesis + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.TokenizeShareLocks = append(m.TokenizeShareLocks, TokenizeShareLock{}) + if err := m.TokenizeShareLocks[len(m.TokenizeShareLocks)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenesis(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthGenesis + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *TokenizeShareLock) 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 ErrIntOverflowGenesis + } + 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: TokenizeShareLock: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: TokenizeShareLock: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenesis + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGenesis + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Address = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenesis + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGenesis + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Status = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CompletionTime", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenesis + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenesis + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := github_com_cosmos_gogoproto_types.StdTimeUnmarshal(&m.CompletionTime, dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenesis(dAtA[iNdEx:]) diff --git a/x/staking/types/hooks.go b/x/staking/types/hooks.go index 8a052d9514a1..1d04bb737b5a 100644 --- a/x/staking/types/hooks.go +++ b/x/staking/types/hooks.go @@ -116,3 +116,12 @@ func (h MultiStakingHooks) AfterUnbondingInitiated(ctx context.Context, id uint6 } return nil } + +func (h MultiStakingHooks) BeforeTokenizeShareRecordRemoved(ctx sdk.Context, recordId uint64) error { + for i := range h { + if err := h[i].BeforeTokenizeShareRecordRemoved(ctx, recordId); err != nil { + return err + } + } + return nil +} diff --git a/x/staking/types/keys.go b/x/staking/types/keys.go index 598aa332b312..6308c9228afa 100644 --- a/x/staking/types/keys.go +++ b/x/staking/types/keys.go @@ -23,6 +23,9 @@ const ( // RouterKey is the msg router key for the staking module RouterKey = ModuleName + + // Prefix for module accounts that custodian tokenized shares + TokenizeShareModuleAccountPrefix = "tokenizeshare_" ) var ( @@ -56,6 +59,15 @@ var ( ParamsKey = []byte{0x51} // prefix for parameters for module x/staking DelegationByValIndexKey = []byte{0x71} // key for delegations by a validator + + TokenizeShareRecordPrefix = []byte{0x81} // key for tokenizeshare record prefix + TokenizeShareRecordIDByOwnerPrefix = []byte{0x82} // key for tokenizeshare record id by owner prefix + TokenizeShareRecordIDByDenomPrefix = []byte{0x83} // key for tokenizeshare record id by denom prefix + LastTokenizeShareRecordIDKey = []byte{0x84} // key for last tokenize share record id + TotalLiquidStakedTokensKey = []byte{0x85} // key for total liquid staked tokens + TokenizeSharesLockPrefix = []byte{0x86} // key for locking tokenize shares + TokenizeSharesUnlockQueuePrefix = []byte{0x87} // key for the queue that unlocks tokenize shares + ) // UnbondingType defines the type of unbonding operation @@ -423,3 +435,34 @@ func GetHistoricalInfoKey(height int64) []byte { binary.BigEndian.PutUint64(heightBytes, uint64(height)) return append(HistoricalInfoKey, heightBytes...) } + +// GetTokenizeShareRecordByIndexKey returns the key of the specified id. Intended for querying the tokenizeShareRecord by the id. +func GetTokenizeShareRecordByIndexKey(id uint64) []byte { + return append(TokenizeShareRecordPrefix, sdk.Uint64ToBigEndian(id)...) +} + +// GetTokenizeShareRecordIdsByOwnerPrefix returns the key of the specified owner. Intended for querying all tokenizeShareRecords of an owner +func GetTokenizeShareRecordIdsByOwnerPrefix(owner sdk.AccAddress) []byte { + return append(TokenizeShareRecordIDByOwnerPrefix, address.MustLengthPrefix(owner)...) +} + +// GetTokenizeShareRecordIdByOwnerAndIdKey returns the key of the specified owner and id. Intended for setting tokenizeShareRecord of an owner +func GetTokenizeShareRecordIDByOwnerAndIDKey(owner sdk.AccAddress, id uint64) []byte { + return append(append(TokenizeShareRecordIDByOwnerPrefix, address.MustLengthPrefix(owner)...), sdk.Uint64ToBigEndian(id)...) +} + +func GetTokenizeShareRecordIDByDenomKey(denom string) []byte { + return append(TokenizeShareRecordIDByDenomPrefix, []byte(denom)...) +} + +// GetTokenizeSharesLockKey returns the key for storing a tokenize share lock for a specified account +func GetTokenizeSharesLockKey(owner sdk.AccAddress) []byte { + return append(TokenizeSharesLockPrefix, address.MustLengthPrefix(owner)...) +} + +// GetTokenizeShareAuthorizationTimeKey returns the prefix key used for getting a set of pending +// tokenize share unlocks that complete at the given time +func GetTokenizeShareAuthorizationTimeKey(timestamp time.Time) []byte { + bz := sdk.FormatTimeBytes(timestamp) + return append(TokenizeSharesUnlockQueuePrefix, bz...) +} diff --git a/x/staking/types/params.go b/x/staking/types/params.go index 9687b206485c..befd34a2d8d9 100644 --- a/x/staking/types/params.go +++ b/x/staking/types/params.go @@ -31,8 +31,18 @@ const ( DefaultHistoricalEntries uint32 = 10000 ) -// DefaultMinCommissionRate is set to 0% -var DefaultMinCommissionRate = math.LegacyZeroDec() +var ( + // ValidatorBondFactor of -1 indicates that it's disabled + ValidatorBondCapDisabled = sdk.NewDecFromInt(sdk.NewInt(-1)) + // DefaultMinCommissionRate is set to 0% + DefaultMinCommissionRate = math.LegacyZeroDec() + // DefaultValidatorBondFactor is set to -1 (disabled) + DefaultValidatorBondFactor = ValidatorBondCapDisabled + // DefaultGlobalLiquidStakingCap is set to 100% + DefaultGlobalLiquidStakingCap = sdk.OneDec() + // DefaultValidatorLiquidStakingCap is set to 100% + DefaultValidatorLiquidStakingCap = sdk.OneDec() +) // NewParams creates a new Params instance func NewParams(unbondingTime time.Duration, maxValidators, maxEntries, historicalEntries uint32, bondDenom string, minCommissionRate math.LegacyDec) Params { diff --git a/x/staking/types/query.pb.go b/x/staking/types/query.pb.go index d136f03e6b6b..83f9f8a273f6 100644 --- a/x/staking/types/query.pb.go +++ b/x/staking/types/query.pb.go @@ -7,6 +7,8 @@ import ( context "context" fmt "fmt" _ "github.com/cosmos/cosmos-proto" + github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" + types "github.com/cosmos/cosmos-sdk/types" query "github.com/cosmos/cosmos-sdk/types/query" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" @@ -1391,1615 +1393,1914 @@ func (m *QueryParamsResponse) GetParams() Params { return Params{} } -func init() { - proto.RegisterType((*QueryValidatorsRequest)(nil), "cosmos.staking.v1beta1.QueryValidatorsRequest") - proto.RegisterType((*QueryValidatorsResponse)(nil), "cosmos.staking.v1beta1.QueryValidatorsResponse") - proto.RegisterType((*QueryValidatorRequest)(nil), "cosmos.staking.v1beta1.QueryValidatorRequest") - proto.RegisterType((*QueryValidatorResponse)(nil), "cosmos.staking.v1beta1.QueryValidatorResponse") - proto.RegisterType((*QueryValidatorDelegationsRequest)(nil), "cosmos.staking.v1beta1.QueryValidatorDelegationsRequest") - proto.RegisterType((*QueryValidatorDelegationsResponse)(nil), "cosmos.staking.v1beta1.QueryValidatorDelegationsResponse") - proto.RegisterType((*QueryValidatorUnbondingDelegationsRequest)(nil), "cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsRequest") - proto.RegisterType((*QueryValidatorUnbondingDelegationsResponse)(nil), "cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse") - proto.RegisterType((*QueryDelegationRequest)(nil), "cosmos.staking.v1beta1.QueryDelegationRequest") - proto.RegisterType((*QueryDelegationResponse)(nil), "cosmos.staking.v1beta1.QueryDelegationResponse") - proto.RegisterType((*QueryUnbondingDelegationRequest)(nil), "cosmos.staking.v1beta1.QueryUnbondingDelegationRequest") - proto.RegisterType((*QueryUnbondingDelegationResponse)(nil), "cosmos.staking.v1beta1.QueryUnbondingDelegationResponse") - proto.RegisterType((*QueryDelegatorDelegationsRequest)(nil), "cosmos.staking.v1beta1.QueryDelegatorDelegationsRequest") - proto.RegisterType((*QueryDelegatorDelegationsResponse)(nil), "cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse") - proto.RegisterType((*QueryDelegatorUnbondingDelegationsRequest)(nil), "cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsRequest") - proto.RegisterType((*QueryDelegatorUnbondingDelegationsResponse)(nil), "cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse") - proto.RegisterType((*QueryRedelegationsRequest)(nil), "cosmos.staking.v1beta1.QueryRedelegationsRequest") - proto.RegisterType((*QueryRedelegationsResponse)(nil), "cosmos.staking.v1beta1.QueryRedelegationsResponse") - proto.RegisterType((*QueryDelegatorValidatorsRequest)(nil), "cosmos.staking.v1beta1.QueryDelegatorValidatorsRequest") - proto.RegisterType((*QueryDelegatorValidatorsResponse)(nil), "cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse") - proto.RegisterType((*QueryDelegatorValidatorRequest)(nil), "cosmos.staking.v1beta1.QueryDelegatorValidatorRequest") - proto.RegisterType((*QueryDelegatorValidatorResponse)(nil), "cosmos.staking.v1beta1.QueryDelegatorValidatorResponse") - proto.RegisterType((*QueryHistoricalInfoRequest)(nil), "cosmos.staking.v1beta1.QueryHistoricalInfoRequest") - proto.RegisterType((*QueryHistoricalInfoResponse)(nil), "cosmos.staking.v1beta1.QueryHistoricalInfoResponse") - proto.RegisterType((*QueryPoolRequest)(nil), "cosmos.staking.v1beta1.QueryPoolRequest") - proto.RegisterType((*QueryPoolResponse)(nil), "cosmos.staking.v1beta1.QueryPoolResponse") - proto.RegisterType((*QueryParamsRequest)(nil), "cosmos.staking.v1beta1.QueryParamsRequest") - proto.RegisterType((*QueryParamsResponse)(nil), "cosmos.staking.v1beta1.QueryParamsResponse") +// QueryTokenizeShareRecordByIdRequest is request type for the +// Query/QueryTokenizeShareRecordById RPC method. +// +// Since: cosmos-sdk 0.47-lsm +type QueryTokenizeShareRecordByIdRequest struct { + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` } -func init() { - proto.RegisterFile("cosmos/staking/v1beta1/query.proto", fileDescriptor_f270127f442bbcd8) +func (m *QueryTokenizeShareRecordByIdRequest) Reset() { *m = QueryTokenizeShareRecordByIdRequest{} } +func (m *QueryTokenizeShareRecordByIdRequest) String() string { return proto.CompactTextString(m) } +func (*QueryTokenizeShareRecordByIdRequest) ProtoMessage() {} +func (*QueryTokenizeShareRecordByIdRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_f270127f442bbcd8, []int{28} } - -var fileDescriptor_f270127f442bbcd8 = []byte{ - // 1389 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x59, 0xdb, 0x6b, 0x1c, 0x65, - 0x1b, 0xdf, 0x37, 0xcd, 0x17, 0xbe, 0x3c, 0xa5, 0xa5, 0x7d, 0x77, 0x1b, 0xd3, 0x69, 0xba, 0xd9, - 0x0c, 0xa5, 0xe6, 0xd0, 0xec, 0x98, 0xa4, 0xb6, 0xb1, 0xa2, 0xed, 0xc6, 0x52, 0x5b, 0x5b, 0xda, - 0x74, 0xc5, 0xe0, 0x91, 0x30, 0xc9, 0x4c, 0x67, 0x87, 0x6e, 0x66, 0xb6, 0xf3, 0x4e, 0x42, 0x4b, - 0x08, 0x82, 0x17, 0xd2, 0x2b, 0x11, 0xbc, 0x97, 0x5e, 0x8a, 0x28, 0xe4, 0x22, 0x15, 0xbd, 0xd0, - 0x4b, 0xe9, 0x85, 0x48, 0xa8, 0x54, 0xf4, 0xa6, 0x4a, 0x22, 0xe8, 0x8d, 0xff, 0x81, 0x88, 0xec, - 0xcc, 0x33, 0xa7, 0xcc, 0x61, 0x67, 0x37, 0x1b, 0x48, 0x6e, 0xda, 0xdd, 0x77, 0x9e, 0xc3, 0xef, - 0xf7, 0x1c, 0xde, 0x79, 0x9e, 0x0d, 0xf0, 0xf3, 0x3a, 0x5b, 0xd0, 0x99, 0xc0, 0x4c, 0xf1, 0xb6, - 0xaa, 0x29, 0xc2, 0xd2, 0xd8, 0x9c, 0x6c, 0x8a, 0x63, 0xc2, 0x9d, 0x45, 0xd9, 0xb8, 0x57, 0xac, - 0x19, 0xba, 0xa9, 0xd3, 0x1e, 0x5b, 0xa6, 0x88, 0x32, 0x45, 0x94, 0xe1, 0x86, 0x51, 0x77, 0x4e, - 0x64, 0xb2, 0xad, 0xe0, 0xaa, 0xd7, 0x44, 0x45, 0xd5, 0x44, 0x53, 0xd5, 0x35, 0xdb, 0x06, 0x97, - 0x53, 0x74, 0x45, 0xb7, 0x3e, 0x0a, 0xf5, 0x4f, 0x78, 0xda, 0xa7, 0xe8, 0xba, 0x52, 0x95, 0x05, - 0xb1, 0xa6, 0x0a, 0xa2, 0xa6, 0xe9, 0xa6, 0xa5, 0xc2, 0xf0, 0xe9, 0x89, 0x18, 0x6c, 0x0e, 0x0e, - 0x5b, 0xea, 0xa8, 0x2d, 0x35, 0x6b, 0x1b, 0x47, 0xa8, 0xf6, 0xa3, 0x63, 0x68, 0xc0, 0xc1, 0xe6, - 0x67, 0xc5, 0x1d, 0x16, 0x17, 0x54, 0x4d, 0x17, 0xac, 0x7f, 0xed, 0x23, 0xfe, 0x2e, 0xf4, 0xdc, - 0xac, 0x4b, 0xcc, 0x88, 0x55, 0x55, 0x12, 0x4d, 0xdd, 0x60, 0x65, 0xf9, 0xce, 0xa2, 0xcc, 0x4c, - 0xda, 0x03, 0x5d, 0xcc, 0x14, 0xcd, 0x45, 0xd6, 0x4b, 0x0a, 0x64, 0xb0, 0xbb, 0x8c, 0xdf, 0xe8, - 0x25, 0x00, 0x8f, 0x6a, 0x6f, 0x47, 0x81, 0x0c, 0xee, 0x1f, 0x3f, 0x59, 0x44, 0x10, 0xf5, 0xb8, - 0x14, 0x6d, 0x97, 0x08, 0xbd, 0x38, 0x2d, 0x2a, 0x32, 0xda, 0x2c, 0xfb, 0x34, 0xf9, 0x55, 0x02, - 0xcf, 0x84, 0x5c, 0xb3, 0x9a, 0xae, 0x31, 0x99, 0x5e, 0x03, 0x58, 0x72, 0x4f, 0x7b, 0x49, 0x61, - 0xdf, 0xe0, 0xfe, 0xf1, 0x81, 0x62, 0x74, 0x4e, 0x8a, 0xae, 0xfe, 0x54, 0xf7, 0xa3, 0xa7, 0xfd, - 0x99, 0xcf, 0xfe, 0x5c, 0x1d, 0x26, 0x65, 0x9f, 0x3e, 0x7d, 0x35, 0x02, 0xf1, 0xb3, 0x0d, 0x11, - 0xdb, 0x50, 0x02, 0x90, 0x45, 0x38, 0x12, 0x44, 0xec, 0xc4, 0xea, 0x32, 0x1c, 0x74, 0xfd, 0xcd, - 0x8a, 0x92, 0x64, 0xd8, 0x31, 0x9b, 0x1a, 0x78, 0xbc, 0x36, 0x7a, 0x1c, 0x1d, 0xb9, 0x4a, 0x25, - 0x49, 0x32, 0x64, 0xc6, 0x5e, 0x37, 0x0d, 0x55, 0x53, 0xca, 0x07, 0x96, 0xfc, 0xe7, 0xbc, 0xb4, - 0x35, 0x1f, 0x6e, 0x4c, 0x5e, 0x83, 0x6e, 0x57, 0xd4, 0x32, 0xdf, 0x6c, 0x48, 0x3c, 0x75, 0x7e, - 0x8d, 0x40, 0x21, 0xe8, 0xe6, 0xa2, 0x5c, 0x95, 0x15, 0xbb, 0x14, 0xdb, 0x4e, 0xaa, 0x6d, 0x25, - 0xf3, 0x37, 0x81, 0x81, 0x04, 0xd8, 0x18, 0xa8, 0xf7, 0x21, 0x27, 0xb9, 0xc7, 0xb3, 0x06, 0x1e, - 0x3b, 0x65, 0x34, 0x1c, 0x17, 0x33, 0xcf, 0x94, 0x63, 0x69, 0xaa, 0x50, 0x0f, 0xde, 0xe7, 0xbf, - 0xf5, 0x67, 0xc3, 0xcf, 0x98, 0x1d, 0xd3, 0xac, 0x14, 0x7e, 0xd2, 0xbe, 0x7a, 0xfb, 0x96, 0xc0, - 0x50, 0x90, 0xef, 0x1b, 0xda, 0x9c, 0xae, 0x49, 0xaa, 0xa6, 0xec, 0x89, 0x7c, 0x3d, 0x25, 0x30, - 0x9c, 0x06, 0x3f, 0x26, 0x4e, 0x81, 0xec, 0xa2, 0xf3, 0x3c, 0x94, 0xb7, 0x91, 0xb8, 0xbc, 0x45, - 0x98, 0xf4, 0x57, 0x3d, 0x75, 0x4d, 0xee, 0x40, 0x82, 0xbe, 0x24, 0xd8, 0xae, 0xfe, 0x02, 0xb1, - 0xb3, 0x71, 0x1e, 0x0e, 0x62, 0x6d, 0x04, 0xb3, 0xd1, 0xfb, 0x78, 0x6d, 0x34, 0x87, 0xae, 0xb6, - 0x24, 0xc1, 0x95, 0xb7, 0x92, 0x10, 0x4e, 0x67, 0x47, 0x6b, 0xe9, 0x3c, 0xf7, 0xff, 0xfb, 0x0f, - 0xfa, 0x33, 0x7f, 0x3d, 0xe8, 0xcf, 0xf0, 0x4b, 0x78, 0xe5, 0x86, 0xeb, 0x99, 0xbe, 0x03, 0xd9, - 0x88, 0xae, 0xc1, 0x8b, 0xa6, 0x89, 0xa6, 0x29, 0xd3, 0x70, 0x4b, 0xf0, 0x5f, 0x11, 0xe8, 0xb7, - 0x1c, 0x47, 0x24, 0x6b, 0x57, 0x07, 0xcc, 0xc0, 0x7b, 0x32, 0x12, 0x37, 0x46, 0xee, 0x3a, 0x74, - 0xd9, 0x35, 0x86, 0xc1, 0x6a, 0xb5, 0x52, 0xd1, 0x0a, 0xff, 0xd0, 0xb9, 0x9c, 0x2f, 0x3a, 0xf4, - 0x22, 0x9a, 0x7d, 0xdb, 0xd1, 0x6a, 0x53, 0x8f, 0xfb, 0x62, 0xf5, 0xb3, 0x73, 0x3b, 0x47, 0xe3, - 0xc6, 0x68, 0x55, 0xda, 0x76, 0x3b, 0xfb, 0x42, 0xb7, 0xb3, 0xd7, 0xf0, 0x77, 0xce, 0x35, 0xec, - 0x12, 0x4b, 0xba, 0x86, 0x77, 0x61, 0x66, 0xdc, 0x7b, 0xb8, 0x01, 0x81, 0x3d, 0x7b, 0x0f, 0xaf, - 0x77, 0xc0, 0x51, 0x8b, 0x60, 0x59, 0x96, 0x76, 0x20, 0x23, 0x37, 0x80, 0x32, 0x63, 0x7e, 0xb6, - 0xd5, 0xdb, 0xe5, 0x10, 0x33, 0xe6, 0x03, 0x8f, 0xea, 0x06, 0x25, 0x66, 0x6e, 0x35, 0xb8, 0x2f, - 0xb5, 0x41, 0x89, 0x99, 0x33, 0x09, 0x6f, 0xec, 0xce, 0x36, 0xd4, 0xcc, 0x13, 0x02, 0x5c, 0x54, - 0x48, 0xb1, 0x46, 0x34, 0xe8, 0x31, 0xe4, 0x84, 0x46, 0x3e, 0x15, 0x57, 0x26, 0x7e, 0x73, 0x51, - 0xad, 0x7c, 0xc4, 0x90, 0x77, 0xb4, 0x99, 0xd7, 0x9c, 0x57, 0x91, 0xdb, 0x0b, 0xe1, 0xd5, 0x67, - 0x17, 0xb6, 0xf0, 0x37, 0xa1, 0x97, 0xc2, 0xde, 0x59, 0x9b, 0x1e, 0x12, 0xc8, 0xc7, 0x60, 0xdf, - 0xd5, 0x2f, 0xff, 0x85, 0xd8, 0x4a, 0xd9, 0x91, 0xa5, 0xec, 0x34, 0x36, 0xdc, 0x65, 0x95, 0x99, - 0xba, 0xa1, 0xce, 0x8b, 0xd5, 0x2b, 0xda, 0x2d, 0xdd, 0xb7, 0x8e, 0x57, 0x64, 0x55, 0xa9, 0x98, - 0x96, 0x9b, 0x7d, 0x65, 0xfc, 0xc6, 0xbf, 0x05, 0xc7, 0x22, 0xb5, 0x10, 0xe0, 0x39, 0xe8, 0xac, - 0xa8, 0xcc, 0x44, 0x6c, 0x27, 0xe3, 0xb0, 0x6d, 0xd1, 0xb6, 0x74, 0x78, 0x0a, 0x87, 0x2c, 0xd3, - 0xd3, 0xba, 0x5e, 0x45, 0x18, 0xfc, 0x34, 0x1c, 0xf6, 0x9d, 0xa1, 0x93, 0x17, 0xa1, 0xb3, 0xa6, - 0xeb, 0x55, 0x74, 0xd2, 0x17, 0xe7, 0xa4, 0xae, 0xe3, 0xe7, 0x6e, 0x29, 0xf1, 0x39, 0xa0, 0xb6, - 0x45, 0xd1, 0x10, 0x17, 0x9c, 0x16, 0xe4, 0xdf, 0x84, 0x6c, 0xe0, 0x14, 0x3d, 0x95, 0xa0, 0xab, - 0x66, 0x9d, 0xa0, 0xaf, 0x7c, 0xac, 0x2f, 0x4b, 0x2a, 0x30, 0x5e, 0xd9, 0x8a, 0xe3, 0xab, 0x3d, - 0xf0, 0x3f, 0xcb, 0x34, 0xfd, 0x94, 0x00, 0x78, 0x5d, 0x44, 0x8b, 0x71, 0xb6, 0xa2, 0x7f, 0x20, - 0xe1, 0x84, 0xd4, 0xf2, 0x38, 0x05, 0x0b, 0xf7, 0xeb, 0x40, 0x3e, 0xf8, 0xe9, 0x8f, 0x4f, 0x3a, - 0x4e, 0x50, 0x5e, 0x88, 0xf9, 0xa9, 0xc7, 0xd7, 0x81, 0x5f, 0x10, 0xe8, 0x76, 0xed, 0xd0, 0xd1, - 0x74, 0xfe, 0x1c, 0x78, 0xc5, 0xb4, 0xe2, 0x88, 0xee, 0x82, 0x87, 0xee, 0x79, 0x3a, 0xd1, 0x18, - 0x9d, 0xb0, 0x1c, 0x6c, 0xb8, 0x15, 0xfa, 0x2b, 0x81, 0x5c, 0xd4, 0x66, 0x4e, 0x27, 0xd3, 0x41, - 0x09, 0x0f, 0x53, 0xdc, 0x0b, 0x2d, 0x68, 0x22, 0x9f, 0x6b, 0x1e, 0x9f, 0x12, 0x3d, 0xdf, 0x02, - 0x1f, 0xc1, 0xf7, 0xde, 0xa3, 0xff, 0x12, 0x38, 0x9e, 0xb8, 0xc5, 0xd2, 0x52, 0x3a, 0xa8, 0x09, - 0xa3, 0x23, 0x37, 0xb5, 0x1d, 0x13, 0x48, 0x7b, 0xc6, 0xa3, 0x7d, 0x95, 0x5e, 0x69, 0x85, 0xb6, - 0x37, 0xfb, 0xf9, 0x03, 0xf0, 0x03, 0x01, 0xf0, 0xfc, 0x35, 0x68, 0x96, 0xd0, 0x76, 0xd7, 0xa0, - 0x59, 0xc2, 0xd3, 0x3d, 0xff, 0x9e, 0xc7, 0xa3, 0x4c, 0xa7, 0xb7, 0x99, 0x3e, 0x61, 0x39, 0xf8, - 0x76, 0x59, 0xa1, 0xff, 0x10, 0xc8, 0x46, 0xc4, 0x91, 0x9e, 0x4d, 0xc4, 0x19, 0xbf, 0xbe, 0x72, - 0x93, 0xcd, 0x2b, 0x22, 0x53, 0xc3, 0x63, 0xaa, 0x50, 0xb9, 0xdd, 0x4c, 0x23, 0xd3, 0x49, 0x7f, - 0x24, 0x90, 0x8b, 0x5a, 0xd3, 0x1a, 0xb4, 0x6a, 0xc2, 0x46, 0xda, 0xa0, 0x55, 0x93, 0x76, 0x42, - 0xbe, 0xe4, 0x45, 0xe0, 0x0c, 0x3d, 0x1d, 0x17, 0x81, 0xc4, 0x7c, 0xd6, 0xfb, 0x33, 0x71, 0xbb, - 0x69, 0xd0, 0x9f, 0x69, 0x56, 0xbb, 0x06, 0xfd, 0x99, 0x6a, 0xb9, 0x4a, 0xd9, 0x9f, 0x2e, 0xbd, - 0x94, 0x09, 0x65, 0xf4, 0x7b, 0x02, 0x07, 0x02, 0xa3, 0x3a, 0x1d, 0x4b, 0x44, 0x1b, 0xb5, 0x29, - 0x71, 0xe3, 0xcd, 0xa8, 0x20, 0xa1, 0xeb, 0x1e, 0xa1, 0x57, 0x68, 0xa9, 0x15, 0x42, 0x46, 0x00, - 0xf6, 0x13, 0x02, 0xd9, 0x88, 0x21, 0xb7, 0x41, 0x67, 0xc6, 0x4f, 0xf3, 0xdc, 0x64, 0xf3, 0x8a, - 0x48, 0xed, 0xaa, 0x47, 0xed, 0x02, 0x7d, 0xb9, 0x15, 0x6a, 0xbe, 0x97, 0xf9, 0x26, 0x01, 0x1a, - 0x76, 0x46, 0xcf, 0x34, 0x89, 0xce, 0x61, 0x75, 0xb6, 0x69, 0x3d, 0x24, 0xf5, 0xae, 0x47, 0xea, - 0x26, 0xbd, 0xb1, 0x3d, 0x52, 0xe1, 0x19, 0xe0, 0x6b, 0x02, 0x07, 0x83, 0xc3, 0x24, 0x4d, 0x2e, - 0xaa, 0xc8, 0x69, 0x97, 0x9b, 0x68, 0x4a, 0x07, 0x99, 0xbd, 0xe4, 0x31, 0x1b, 0xa7, 0xcf, 0xc5, - 0x31, 0xab, 0xb8, 0xca, 0xb3, 0xaa, 0x76, 0x4b, 0x17, 0x96, 0xed, 0x41, 0x7a, 0x85, 0x7e, 0x48, - 0xa0, 0xb3, 0x3e, 0xa2, 0xd2, 0xc1, 0x44, 0xe7, 0xbe, 0x69, 0x98, 0x1b, 0x4a, 0x21, 0x89, 0xe0, - 0x86, 0x3c, 0x70, 0x79, 0xda, 0x17, 0x07, 0xae, 0x3e, 0x11, 0xd3, 0x8f, 0x08, 0x74, 0xd9, 0xf3, - 0x2b, 0x1d, 0x4e, 0x76, 0xe0, 0x1f, 0x99, 0xb9, 0x91, 0x54, 0xb2, 0x08, 0x67, 0xc4, 0x83, 0x53, - 0xa0, 0xf9, 0x58, 0x38, 0xf6, 0x14, 0x7d, 0xe9, 0xd1, 0x46, 0x9e, 0xac, 0x6f, 0xe4, 0xc9, 0xef, - 0x1b, 0x79, 0xf2, 0xf1, 0x66, 0x3e, 0xb3, 0xbe, 0x99, 0xcf, 0xfc, 0xb2, 0x99, 0xcf, 0xbc, 0x7d, - 0x4a, 0x51, 0xcd, 0xca, 0xe2, 0x5c, 0x71, 0x5e, 0x5f, 0x70, 0x6c, 0xd8, 0xff, 0x8d, 0x32, 0xe9, - 0xb6, 0x70, 0xd7, 0x35, 0x68, 0xde, 0xab, 0xc9, 0x6c, 0xae, 0xcb, 0xfa, 0x9b, 0xe3, 0xc4, 0x7f, - 0x01, 0x00, 0x00, 0xff, 0xff, 0x44, 0xdb, 0xeb, 0x04, 0x82, 0x1d, 0x00, 0x00, +func (m *QueryTokenizeShareRecordByIdRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryTokenizeShareRecordByIdRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryTokenizeShareRecordByIdRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryTokenizeShareRecordByIdRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryTokenizeShareRecordByIdRequest.Merge(m, src) +} +func (m *QueryTokenizeShareRecordByIdRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryTokenizeShareRecordByIdRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryTokenizeShareRecordByIdRequest.DiscardUnknown(m) } -// Reference imports to suppress errors if they are not otherwise used. -var _ context.Context -var _ grpc.ClientConn +var xxx_messageInfo_QueryTokenizeShareRecordByIdRequest proto.InternalMessageInfo -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion4 +func (m *QueryTokenizeShareRecordByIdRequest) GetId() uint64 { + if m != nil { + return m.Id + } + return 0 +} -// QueryClient is the client API for Query service. +// QueryTokenizeShareRecordByIdRequest is response type for the +// Query/QueryTokenizeShareRecordById RPC method. // -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. -type QueryClient interface { - // Validators queries all validators that match the given status. - // - // When called from another module, this query might consume a high amount of - // gas if the pagination field is incorrectly set. - Validators(ctx context.Context, in *QueryValidatorsRequest, opts ...grpc.CallOption) (*QueryValidatorsResponse, error) - // Validator queries validator info for given validator address. - Validator(ctx context.Context, in *QueryValidatorRequest, opts ...grpc.CallOption) (*QueryValidatorResponse, error) - // ValidatorDelegations queries delegate info for given validator. - // - // When called from another module, this query might consume a high amount of - // gas if the pagination field is incorrectly set. - ValidatorDelegations(ctx context.Context, in *QueryValidatorDelegationsRequest, opts ...grpc.CallOption) (*QueryValidatorDelegationsResponse, error) - // ValidatorUnbondingDelegations queries unbonding delegations of a validator. - // - // When called from another module, this query might consume a high amount of - // gas if the pagination field is incorrectly set. - ValidatorUnbondingDelegations(ctx context.Context, in *QueryValidatorUnbondingDelegationsRequest, opts ...grpc.CallOption) (*QueryValidatorUnbondingDelegationsResponse, error) - // Delegation queries delegate info for given validator delegator pair. - Delegation(ctx context.Context, in *QueryDelegationRequest, opts ...grpc.CallOption) (*QueryDelegationResponse, error) - // UnbondingDelegation queries unbonding info for given validator delegator - // pair. - UnbondingDelegation(ctx context.Context, in *QueryUnbondingDelegationRequest, opts ...grpc.CallOption) (*QueryUnbondingDelegationResponse, error) - // DelegatorDelegations queries all delegations of a given delegator address. - // - // When called from another module, this query might consume a high amount of - // gas if the pagination field is incorrectly set. - DelegatorDelegations(ctx context.Context, in *QueryDelegatorDelegationsRequest, opts ...grpc.CallOption) (*QueryDelegatorDelegationsResponse, error) - // DelegatorUnbondingDelegations queries all unbonding delegations of a given - // delegator address. - // - // When called from another module, this query might consume a high amount of - // gas if the pagination field is incorrectly set. - DelegatorUnbondingDelegations(ctx context.Context, in *QueryDelegatorUnbondingDelegationsRequest, opts ...grpc.CallOption) (*QueryDelegatorUnbondingDelegationsResponse, error) - // Redelegations queries redelegations of given address. - // - // When called from another module, this query might consume a high amount of - // gas if the pagination field is incorrectly set. - Redelegations(ctx context.Context, in *QueryRedelegationsRequest, opts ...grpc.CallOption) (*QueryRedelegationsResponse, error) - // DelegatorValidators queries all validators info for given delegator - // address. - // - // When called from another module, this query might consume a high amount of - // gas if the pagination field is incorrectly set. - DelegatorValidators(ctx context.Context, in *QueryDelegatorValidatorsRequest, opts ...grpc.CallOption) (*QueryDelegatorValidatorsResponse, error) - // DelegatorValidator queries validator info for given delegator validator - // pair. - DelegatorValidator(ctx context.Context, in *QueryDelegatorValidatorRequest, opts ...grpc.CallOption) (*QueryDelegatorValidatorResponse, error) - // HistoricalInfo queries the historical info for given height. - HistoricalInfo(ctx context.Context, in *QueryHistoricalInfoRequest, opts ...grpc.CallOption) (*QueryHistoricalInfoResponse, error) - // Pool queries the pool info. - Pool(ctx context.Context, in *QueryPoolRequest, opts ...grpc.CallOption) (*QueryPoolResponse, error) - // Parameters queries the staking parameters. - Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) +// Since: cosmos-sdk 0.47-lsm +type QueryTokenizeShareRecordByIdResponse struct { + Record TokenizeShareRecord `protobuf:"bytes,1,opt,name=record,proto3" json:"record"` } -type queryClient struct { - cc grpc1.ClientConn +func (m *QueryTokenizeShareRecordByIdResponse) Reset() { *m = QueryTokenizeShareRecordByIdResponse{} } +func (m *QueryTokenizeShareRecordByIdResponse) String() string { return proto.CompactTextString(m) } +func (*QueryTokenizeShareRecordByIdResponse) ProtoMessage() {} +func (*QueryTokenizeShareRecordByIdResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_f270127f442bbcd8, []int{29} } - -func NewQueryClient(cc grpc1.ClientConn) QueryClient { - return &queryClient{cc} +func (m *QueryTokenizeShareRecordByIdResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) } - -func (c *queryClient) Validators(ctx context.Context, in *QueryValidatorsRequest, opts ...grpc.CallOption) (*QueryValidatorsResponse, error) { - out := new(QueryValidatorsResponse) - err := c.cc.Invoke(ctx, "/cosmos.staking.v1beta1.Query/Validators", in, out, opts...) - if err != nil { - return nil, err +func (m *QueryTokenizeShareRecordByIdResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryTokenizeShareRecordByIdResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return out, nil } - -func (c *queryClient) Validator(ctx context.Context, in *QueryValidatorRequest, opts ...grpc.CallOption) (*QueryValidatorResponse, error) { - out := new(QueryValidatorResponse) - err := c.cc.Invoke(ctx, "/cosmos.staking.v1beta1.Query/Validator", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil +func (m *QueryTokenizeShareRecordByIdResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryTokenizeShareRecordByIdResponse.Merge(m, src) } - -func (c *queryClient) ValidatorDelegations(ctx context.Context, in *QueryValidatorDelegationsRequest, opts ...grpc.CallOption) (*QueryValidatorDelegationsResponse, error) { - out := new(QueryValidatorDelegationsResponse) - err := c.cc.Invoke(ctx, "/cosmos.staking.v1beta1.Query/ValidatorDelegations", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil +func (m *QueryTokenizeShareRecordByIdResponse) XXX_Size() int { + return m.Size() } - -func (c *queryClient) ValidatorUnbondingDelegations(ctx context.Context, in *QueryValidatorUnbondingDelegationsRequest, opts ...grpc.CallOption) (*QueryValidatorUnbondingDelegationsResponse, error) { - out := new(QueryValidatorUnbondingDelegationsResponse) - err := c.cc.Invoke(ctx, "/cosmos.staking.v1beta1.Query/ValidatorUnbondingDelegations", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil +func (m *QueryTokenizeShareRecordByIdResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryTokenizeShareRecordByIdResponse.DiscardUnknown(m) } -func (c *queryClient) Delegation(ctx context.Context, in *QueryDelegationRequest, opts ...grpc.CallOption) (*QueryDelegationResponse, error) { - out := new(QueryDelegationResponse) - err := c.cc.Invoke(ctx, "/cosmos.staking.v1beta1.Query/Delegation", in, out, opts...) - if err != nil { - return nil, err +var xxx_messageInfo_QueryTokenizeShareRecordByIdResponse proto.InternalMessageInfo + +func (m *QueryTokenizeShareRecordByIdResponse) GetRecord() TokenizeShareRecord { + if m != nil { + return m.Record } - return out, nil + return TokenizeShareRecord{} } -func (c *queryClient) UnbondingDelegation(ctx context.Context, in *QueryUnbondingDelegationRequest, opts ...grpc.CallOption) (*QueryUnbondingDelegationResponse, error) { - out := new(QueryUnbondingDelegationResponse) - err := c.cc.Invoke(ctx, "/cosmos.staking.v1beta1.Query/UnbondingDelegation", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil +// QueryTokenizeShareRecordByDenomRequest is request type for the +// Query/QueryTokenizeShareRecordByDenom RPC method. +// +// Since: cosmos-sdk 0.47-lsm +type QueryTokenizeShareRecordByDenomRequest struct { + Denom string `protobuf:"bytes,1,opt,name=denom,proto3" json:"denom,omitempty"` } -func (c *queryClient) DelegatorDelegations(ctx context.Context, in *QueryDelegatorDelegationsRequest, opts ...grpc.CallOption) (*QueryDelegatorDelegationsResponse, error) { - out := new(QueryDelegatorDelegationsResponse) - err := c.cc.Invoke(ctx, "/cosmos.staking.v1beta1.Query/DelegatorDelegations", in, out, opts...) - if err != nil { - return nil, err +func (m *QueryTokenizeShareRecordByDenomRequest) Reset() { + *m = QueryTokenizeShareRecordByDenomRequest{} +} +func (m *QueryTokenizeShareRecordByDenomRequest) String() string { return proto.CompactTextString(m) } +func (*QueryTokenizeShareRecordByDenomRequest) ProtoMessage() {} +func (*QueryTokenizeShareRecordByDenomRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_f270127f442bbcd8, []int{30} +} +func (m *QueryTokenizeShareRecordByDenomRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryTokenizeShareRecordByDenomRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryTokenizeShareRecordByDenomRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return out, nil +} +func (m *QueryTokenizeShareRecordByDenomRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryTokenizeShareRecordByDenomRequest.Merge(m, src) +} +func (m *QueryTokenizeShareRecordByDenomRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryTokenizeShareRecordByDenomRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryTokenizeShareRecordByDenomRequest.DiscardUnknown(m) } -func (c *queryClient) DelegatorUnbondingDelegations(ctx context.Context, in *QueryDelegatorUnbondingDelegationsRequest, opts ...grpc.CallOption) (*QueryDelegatorUnbondingDelegationsResponse, error) { - out := new(QueryDelegatorUnbondingDelegationsResponse) - err := c.cc.Invoke(ctx, "/cosmos.staking.v1beta1.Query/DelegatorUnbondingDelegations", in, out, opts...) - if err != nil { - return nil, err +var xxx_messageInfo_QueryTokenizeShareRecordByDenomRequest proto.InternalMessageInfo + +func (m *QueryTokenizeShareRecordByDenomRequest) GetDenom() string { + if m != nil { + return m.Denom } - return out, nil + return "" } -func (c *queryClient) Redelegations(ctx context.Context, in *QueryRedelegationsRequest, opts ...grpc.CallOption) (*QueryRedelegationsResponse, error) { - out := new(QueryRedelegationsResponse) - err := c.cc.Invoke(ctx, "/cosmos.staking.v1beta1.Query/Redelegations", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil +// QueryTokenizeShareRecordByDenomResponse is response type for the +// Query/QueryTokenizeShareRecordByDenom RPC method. +// +// Since: cosmos-sdk 0.47-lsm +type QueryTokenizeShareRecordByDenomResponse struct { + Record TokenizeShareRecord `protobuf:"bytes,1,opt,name=record,proto3" json:"record"` } -func (c *queryClient) DelegatorValidators(ctx context.Context, in *QueryDelegatorValidatorsRequest, opts ...grpc.CallOption) (*QueryDelegatorValidatorsResponse, error) { - out := new(QueryDelegatorValidatorsResponse) - err := c.cc.Invoke(ctx, "/cosmos.staking.v1beta1.Query/DelegatorValidators", in, out, opts...) - if err != nil { - return nil, err +func (m *QueryTokenizeShareRecordByDenomResponse) Reset() { + *m = QueryTokenizeShareRecordByDenomResponse{} +} +func (m *QueryTokenizeShareRecordByDenomResponse) String() string { return proto.CompactTextString(m) } +func (*QueryTokenizeShareRecordByDenomResponse) ProtoMessage() {} +func (*QueryTokenizeShareRecordByDenomResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_f270127f442bbcd8, []int{31} +} +func (m *QueryTokenizeShareRecordByDenomResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryTokenizeShareRecordByDenomResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryTokenizeShareRecordByDenomResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return out, nil +} +func (m *QueryTokenizeShareRecordByDenomResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryTokenizeShareRecordByDenomResponse.Merge(m, src) +} +func (m *QueryTokenizeShareRecordByDenomResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryTokenizeShareRecordByDenomResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryTokenizeShareRecordByDenomResponse.DiscardUnknown(m) } -func (c *queryClient) DelegatorValidator(ctx context.Context, in *QueryDelegatorValidatorRequest, opts ...grpc.CallOption) (*QueryDelegatorValidatorResponse, error) { - out := new(QueryDelegatorValidatorResponse) - err := c.cc.Invoke(ctx, "/cosmos.staking.v1beta1.Query/DelegatorValidator", in, out, opts...) - if err != nil { - return nil, err +var xxx_messageInfo_QueryTokenizeShareRecordByDenomResponse proto.InternalMessageInfo + +func (m *QueryTokenizeShareRecordByDenomResponse) GetRecord() TokenizeShareRecord { + if m != nil { + return m.Record } - return out, nil + return TokenizeShareRecord{} } -func (c *queryClient) HistoricalInfo(ctx context.Context, in *QueryHistoricalInfoRequest, opts ...grpc.CallOption) (*QueryHistoricalInfoResponse, error) { - out := new(QueryHistoricalInfoResponse) - err := c.cc.Invoke(ctx, "/cosmos.staking.v1beta1.Query/HistoricalInfo", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil +// QueryTokenizeShareRecordsOwnedRequest is request type for the +// Query/QueryTokenizeShareRecordsOwned RPC method. +// +// Since: cosmos-sdk 0.47-lsm +type QueryTokenizeShareRecordsOwnedRequest struct { + Owner string `protobuf:"bytes,1,opt,name=owner,proto3" json:"owner,omitempty"` } -func (c *queryClient) Pool(ctx context.Context, in *QueryPoolRequest, opts ...grpc.CallOption) (*QueryPoolResponse, error) { - out := new(QueryPoolResponse) - err := c.cc.Invoke(ctx, "/cosmos.staking.v1beta1.Query/Pool", in, out, opts...) - if err != nil { - return nil, err +func (m *QueryTokenizeShareRecordsOwnedRequest) Reset() { *m = QueryTokenizeShareRecordsOwnedRequest{} } +func (m *QueryTokenizeShareRecordsOwnedRequest) String() string { return proto.CompactTextString(m) } +func (*QueryTokenizeShareRecordsOwnedRequest) ProtoMessage() {} +func (*QueryTokenizeShareRecordsOwnedRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_f270127f442bbcd8, []int{32} +} +func (m *QueryTokenizeShareRecordsOwnedRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryTokenizeShareRecordsOwnedRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryTokenizeShareRecordsOwnedRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return out, nil +} +func (m *QueryTokenizeShareRecordsOwnedRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryTokenizeShareRecordsOwnedRequest.Merge(m, src) +} +func (m *QueryTokenizeShareRecordsOwnedRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryTokenizeShareRecordsOwnedRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryTokenizeShareRecordsOwnedRequest.DiscardUnknown(m) } -func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) { - out := new(QueryParamsResponse) - err := c.cc.Invoke(ctx, "/cosmos.staking.v1beta1.Query/Params", in, out, opts...) - if err != nil { - return nil, err +var xxx_messageInfo_QueryTokenizeShareRecordsOwnedRequest proto.InternalMessageInfo + +func (m *QueryTokenizeShareRecordsOwnedRequest) GetOwner() string { + if m != nil { + return m.Owner } - return out, nil + return "" } -// QueryServer is the server API for Query service. -type QueryServer interface { - // Validators queries all validators that match the given status. - // - // When called from another module, this query might consume a high amount of - // gas if the pagination field is incorrectly set. - Validators(context.Context, *QueryValidatorsRequest) (*QueryValidatorsResponse, error) - // Validator queries validator info for given validator address. - Validator(context.Context, *QueryValidatorRequest) (*QueryValidatorResponse, error) - // ValidatorDelegations queries delegate info for given validator. - // - // When called from another module, this query might consume a high amount of - // gas if the pagination field is incorrectly set. - ValidatorDelegations(context.Context, *QueryValidatorDelegationsRequest) (*QueryValidatorDelegationsResponse, error) - // ValidatorUnbondingDelegations queries unbonding delegations of a validator. - // - // When called from another module, this query might consume a high amount of - // gas if the pagination field is incorrectly set. - ValidatorUnbondingDelegations(context.Context, *QueryValidatorUnbondingDelegationsRequest) (*QueryValidatorUnbondingDelegationsResponse, error) - // Delegation queries delegate info for given validator delegator pair. - Delegation(context.Context, *QueryDelegationRequest) (*QueryDelegationResponse, error) - // UnbondingDelegation queries unbonding info for given validator delegator - // pair. - UnbondingDelegation(context.Context, *QueryUnbondingDelegationRequest) (*QueryUnbondingDelegationResponse, error) - // DelegatorDelegations queries all delegations of a given delegator address. - // - // When called from another module, this query might consume a high amount of - // gas if the pagination field is incorrectly set. - DelegatorDelegations(context.Context, *QueryDelegatorDelegationsRequest) (*QueryDelegatorDelegationsResponse, error) - // DelegatorUnbondingDelegations queries all unbonding delegations of a given - // delegator address. - // - // When called from another module, this query might consume a high amount of - // gas if the pagination field is incorrectly set. - DelegatorUnbondingDelegations(context.Context, *QueryDelegatorUnbondingDelegationsRequest) (*QueryDelegatorUnbondingDelegationsResponse, error) - // Redelegations queries redelegations of given address. - // - // When called from another module, this query might consume a high amount of - // gas if the pagination field is incorrectly set. - Redelegations(context.Context, *QueryRedelegationsRequest) (*QueryRedelegationsResponse, error) - // DelegatorValidators queries all validators info for given delegator - // address. - // - // When called from another module, this query might consume a high amount of - // gas if the pagination field is incorrectly set. - DelegatorValidators(context.Context, *QueryDelegatorValidatorsRequest) (*QueryDelegatorValidatorsResponse, error) - // DelegatorValidator queries validator info for given delegator validator - // pair. - DelegatorValidator(context.Context, *QueryDelegatorValidatorRequest) (*QueryDelegatorValidatorResponse, error) - // HistoricalInfo queries the historical info for given height. - HistoricalInfo(context.Context, *QueryHistoricalInfoRequest) (*QueryHistoricalInfoResponse, error) - // Pool queries the pool info. - Pool(context.Context, *QueryPoolRequest) (*QueryPoolResponse, error) - // Parameters queries the staking parameters. - Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error) +// QueryTokenizeShareRecordsOwnedResponse is response type for the +// Query/QueryTokenizeShareRecordsOwned RPC method. +// +// Since: cosmos-sdk 0.47-lsm +type QueryTokenizeShareRecordsOwnedResponse struct { + Records []TokenizeShareRecord `protobuf:"bytes,1,rep,name=records,proto3" json:"records"` } -// UnimplementedQueryServer can be embedded to have forward compatible implementations. -type UnimplementedQueryServer struct { +func (m *QueryTokenizeShareRecordsOwnedResponse) Reset() { + *m = QueryTokenizeShareRecordsOwnedResponse{} } - -func (*UnimplementedQueryServer) Validators(ctx context.Context, req *QueryValidatorsRequest) (*QueryValidatorsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Validators not implemented") +func (m *QueryTokenizeShareRecordsOwnedResponse) String() string { return proto.CompactTextString(m) } +func (*QueryTokenizeShareRecordsOwnedResponse) ProtoMessage() {} +func (*QueryTokenizeShareRecordsOwnedResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_f270127f442bbcd8, []int{33} } -func (*UnimplementedQueryServer) Validator(ctx context.Context, req *QueryValidatorRequest) (*QueryValidatorResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Validator not implemented") +func (m *QueryTokenizeShareRecordsOwnedResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) } -func (*UnimplementedQueryServer) ValidatorDelegations(ctx context.Context, req *QueryValidatorDelegationsRequest) (*QueryValidatorDelegationsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ValidatorDelegations not implemented") +func (m *QueryTokenizeShareRecordsOwnedResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryTokenizeShareRecordsOwnedResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } } -func (*UnimplementedQueryServer) ValidatorUnbondingDelegations(ctx context.Context, req *QueryValidatorUnbondingDelegationsRequest) (*QueryValidatorUnbondingDelegationsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ValidatorUnbondingDelegations not implemented") +func (m *QueryTokenizeShareRecordsOwnedResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryTokenizeShareRecordsOwnedResponse.Merge(m, src) } -func (*UnimplementedQueryServer) Delegation(ctx context.Context, req *QueryDelegationRequest) (*QueryDelegationResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Delegation not implemented") +func (m *QueryTokenizeShareRecordsOwnedResponse) XXX_Size() int { + return m.Size() } -func (*UnimplementedQueryServer) UnbondingDelegation(ctx context.Context, req *QueryUnbondingDelegationRequest) (*QueryUnbondingDelegationResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UnbondingDelegation not implemented") +func (m *QueryTokenizeShareRecordsOwnedResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryTokenizeShareRecordsOwnedResponse.DiscardUnknown(m) } -func (*UnimplementedQueryServer) DelegatorDelegations(ctx context.Context, req *QueryDelegatorDelegationsRequest) (*QueryDelegatorDelegationsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method DelegatorDelegations not implemented") + +var xxx_messageInfo_QueryTokenizeShareRecordsOwnedResponse proto.InternalMessageInfo + +func (m *QueryTokenizeShareRecordsOwnedResponse) GetRecords() []TokenizeShareRecord { + if m != nil { + return m.Records + } + return nil } -func (*UnimplementedQueryServer) DelegatorUnbondingDelegations(ctx context.Context, req *QueryDelegatorUnbondingDelegationsRequest) (*QueryDelegatorUnbondingDelegationsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method DelegatorUnbondingDelegations not implemented") + +// QueryAllTokenizeShareRecordsRequest is request type for the +// Query/QueryAllTokenizeShareRecords RPC method. +// +// Since: cosmos-sdk 0.47-lsm +type QueryAllTokenizeShareRecordsRequest struct { + // pagination defines an optional pagination for the request. + Pagination *query.PageRequest `protobuf:"bytes,1,opt,name=pagination,proto3" json:"pagination,omitempty"` } -func (*UnimplementedQueryServer) Redelegations(ctx context.Context, req *QueryRedelegationsRequest) (*QueryRedelegationsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Redelegations not implemented") + +func (m *QueryAllTokenizeShareRecordsRequest) Reset() { *m = QueryAllTokenizeShareRecordsRequest{} } +func (m *QueryAllTokenizeShareRecordsRequest) String() string { return proto.CompactTextString(m) } +func (*QueryAllTokenizeShareRecordsRequest) ProtoMessage() {} +func (*QueryAllTokenizeShareRecordsRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_f270127f442bbcd8, []int{34} } -func (*UnimplementedQueryServer) DelegatorValidators(ctx context.Context, req *QueryDelegatorValidatorsRequest) (*QueryDelegatorValidatorsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method DelegatorValidators not implemented") +func (m *QueryAllTokenizeShareRecordsRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) } -func (*UnimplementedQueryServer) DelegatorValidator(ctx context.Context, req *QueryDelegatorValidatorRequest) (*QueryDelegatorValidatorResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method DelegatorValidator not implemented") +func (m *QueryAllTokenizeShareRecordsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryAllTokenizeShareRecordsRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } } -func (*UnimplementedQueryServer) HistoricalInfo(ctx context.Context, req *QueryHistoricalInfoRequest) (*QueryHistoricalInfoResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method HistoricalInfo not implemented") +func (m *QueryAllTokenizeShareRecordsRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryAllTokenizeShareRecordsRequest.Merge(m, src) } -func (*UnimplementedQueryServer) Pool(ctx context.Context, req *QueryPoolRequest) (*QueryPoolResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Pool not implemented") +func (m *QueryAllTokenizeShareRecordsRequest) XXX_Size() int { + return m.Size() } -func (*UnimplementedQueryServer) Params(ctx context.Context, req *QueryParamsRequest) (*QueryParamsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Params not implemented") +func (m *QueryAllTokenizeShareRecordsRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryAllTokenizeShareRecordsRequest.DiscardUnknown(m) } -func RegisterQueryServer(s grpc1.Server, srv QueryServer) { - s.RegisterService(&_Query_serviceDesc, srv) -} +var xxx_messageInfo_QueryAllTokenizeShareRecordsRequest proto.InternalMessageInfo -func _Query_Validators_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryValidatorsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).Validators(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cosmos.staking.v1beta1.Query/Validators", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).Validators(ctx, req.(*QueryValidatorsRequest)) +func (m *QueryAllTokenizeShareRecordsRequest) GetPagination() *query.PageRequest { + if m != nil { + return m.Pagination } - return interceptor(ctx, in, info, handler) + return nil } -func _Query_Validator_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryValidatorRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).Validator(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cosmos.staking.v1beta1.Query/Validator", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).Validator(ctx, req.(*QueryValidatorRequest)) - } - return interceptor(ctx, in, info, handler) +// QueryAllTokenizeShareRecordsResponse is response type for the +// Query/QueryAllTokenizeShareRecords RPC method. +// +// Since: cosmos-sdk 0.47-lsm +type QueryAllTokenizeShareRecordsResponse struct { + Records []TokenizeShareRecord `protobuf:"bytes,1,rep,name=records,proto3" json:"records"` + // pagination defines the pagination in the response. + Pagination *query.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` } -func _Query_ValidatorDelegations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryValidatorDelegationsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).ValidatorDelegations(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cosmos.staking.v1beta1.Query/ValidatorDelegations", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).ValidatorDelegations(ctx, req.(*QueryValidatorDelegationsRequest)) +func (m *QueryAllTokenizeShareRecordsResponse) Reset() { *m = QueryAllTokenizeShareRecordsResponse{} } +func (m *QueryAllTokenizeShareRecordsResponse) String() string { return proto.CompactTextString(m) } +func (*QueryAllTokenizeShareRecordsResponse) ProtoMessage() {} +func (*QueryAllTokenizeShareRecordsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_f270127f442bbcd8, []int{35} +} +func (m *QueryAllTokenizeShareRecordsResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryAllTokenizeShareRecordsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryAllTokenizeShareRecordsResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return interceptor(ctx, in, info, handler) +} +func (m *QueryAllTokenizeShareRecordsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryAllTokenizeShareRecordsResponse.Merge(m, src) +} +func (m *QueryAllTokenizeShareRecordsResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryAllTokenizeShareRecordsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryAllTokenizeShareRecordsResponse.DiscardUnknown(m) } -func _Query_ValidatorUnbondingDelegations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryValidatorUnbondingDelegationsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).ValidatorUnbondingDelegations(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cosmos.staking.v1beta1.Query/ValidatorUnbondingDelegations", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).ValidatorUnbondingDelegations(ctx, req.(*QueryValidatorUnbondingDelegationsRequest)) +var xxx_messageInfo_QueryAllTokenizeShareRecordsResponse proto.InternalMessageInfo + +func (m *QueryAllTokenizeShareRecordsResponse) GetRecords() []TokenizeShareRecord { + if m != nil { + return m.Records } - return interceptor(ctx, in, info, handler) + return nil } -func _Query_Delegation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryDelegationRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).Delegation(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cosmos.staking.v1beta1.Query/Delegation", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).Delegation(ctx, req.(*QueryDelegationRequest)) +func (m *QueryAllTokenizeShareRecordsResponse) GetPagination() *query.PageResponse { + if m != nil { + return m.Pagination } - return interceptor(ctx, in, info, handler) + return nil } -func _Query_UnbondingDelegation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryUnbondingDelegationRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).UnbondingDelegation(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cosmos.staking.v1beta1.Query/UnbondingDelegation", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).UnbondingDelegation(ctx, req.(*QueryUnbondingDelegationRequest)) - } - return interceptor(ctx, in, info, handler) +// QueryLastTokenizeShareRecordIdRequest +// +// Since: cosmos-sdk 0.47-lsm +type QueryLastTokenizeShareRecordIdRequest struct { } -func _Query_DelegatorDelegations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryDelegatorDelegationsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).DelegatorDelegations(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cosmos.staking.v1beta1.Query/DelegatorDelegations", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).DelegatorDelegations(ctx, req.(*QueryDelegatorDelegationsRequest)) +func (m *QueryLastTokenizeShareRecordIdRequest) Reset() { *m = QueryLastTokenizeShareRecordIdRequest{} } +func (m *QueryLastTokenizeShareRecordIdRequest) String() string { return proto.CompactTextString(m) } +func (*QueryLastTokenizeShareRecordIdRequest) ProtoMessage() {} +func (*QueryLastTokenizeShareRecordIdRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_f270127f442bbcd8, []int{36} +} +func (m *QueryLastTokenizeShareRecordIdRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryLastTokenizeShareRecordIdRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryLastTokenizeShareRecordIdRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return interceptor(ctx, in, info, handler) +} +func (m *QueryLastTokenizeShareRecordIdRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryLastTokenizeShareRecordIdRequest.Merge(m, src) +} +func (m *QueryLastTokenizeShareRecordIdRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryLastTokenizeShareRecordIdRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryLastTokenizeShareRecordIdRequest.DiscardUnknown(m) } -func _Query_DelegatorUnbondingDelegations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryDelegatorUnbondingDelegationsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).DelegatorUnbondingDelegations(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cosmos.staking.v1beta1.Query/DelegatorUnbondingDelegations", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).DelegatorUnbondingDelegations(ctx, req.(*QueryDelegatorUnbondingDelegationsRequest)) - } - return interceptor(ctx, in, info, handler) +var xxx_messageInfo_QueryLastTokenizeShareRecordIdRequest proto.InternalMessageInfo + +// QueryLastTokenizeShareRecordIdResponse +// +// Since: cosmos-sdk 0.47-lsm +type QueryLastTokenizeShareRecordIdResponse struct { + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` } -func _Query_Redelegations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryRedelegationsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).Redelegations(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cosmos.staking.v1beta1.Query/Redelegations", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).Redelegations(ctx, req.(*QueryRedelegationsRequest)) +func (m *QueryLastTokenizeShareRecordIdResponse) Reset() { + *m = QueryLastTokenizeShareRecordIdResponse{} +} +func (m *QueryLastTokenizeShareRecordIdResponse) String() string { return proto.CompactTextString(m) } +func (*QueryLastTokenizeShareRecordIdResponse) ProtoMessage() {} +func (*QueryLastTokenizeShareRecordIdResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_f270127f442bbcd8, []int{37} +} +func (m *QueryLastTokenizeShareRecordIdResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryLastTokenizeShareRecordIdResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryLastTokenizeShareRecordIdResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return interceptor(ctx, in, info, handler) +} +func (m *QueryLastTokenizeShareRecordIdResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryLastTokenizeShareRecordIdResponse.Merge(m, src) +} +func (m *QueryLastTokenizeShareRecordIdResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryLastTokenizeShareRecordIdResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryLastTokenizeShareRecordIdResponse.DiscardUnknown(m) } -func _Query_DelegatorValidators_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryDelegatorValidatorsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).DelegatorValidators(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cosmos.staking.v1beta1.Query/DelegatorValidators", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).DelegatorValidators(ctx, req.(*QueryDelegatorValidatorsRequest)) +var xxx_messageInfo_QueryLastTokenizeShareRecordIdResponse proto.InternalMessageInfo + +func (m *QueryLastTokenizeShareRecordIdResponse) GetId() uint64 { + if m != nil { + return m.Id } - return interceptor(ctx, in, info, handler) + return 0 } -func _Query_DelegatorValidator_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryDelegatorValidatorRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).DelegatorValidator(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cosmos.staking.v1beta1.Query/DelegatorValidator", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).DelegatorValidator(ctx, req.(*QueryDelegatorValidatorRequest)) - } - return interceptor(ctx, in, info, handler) +// QueryTotalTokenizeSharedAssetsRequest is request type for the +// Query/QueryTotalTokenizeSharedAssets RPC method. +// +// Since: cosmos-sdk 0.47-lsm +type QueryTotalTokenizeSharedAssetsRequest struct { } -func _Query_HistoricalInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryHistoricalInfoRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).HistoricalInfo(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cosmos.staking.v1beta1.Query/HistoricalInfo", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).HistoricalInfo(ctx, req.(*QueryHistoricalInfoRequest)) +func (m *QueryTotalTokenizeSharedAssetsRequest) Reset() { *m = QueryTotalTokenizeSharedAssetsRequest{} } +func (m *QueryTotalTokenizeSharedAssetsRequest) String() string { return proto.CompactTextString(m) } +func (*QueryTotalTokenizeSharedAssetsRequest) ProtoMessage() {} +func (*QueryTotalTokenizeSharedAssetsRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_f270127f442bbcd8, []int{38} +} +func (m *QueryTotalTokenizeSharedAssetsRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryTotalTokenizeSharedAssetsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryTotalTokenizeSharedAssetsRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return interceptor(ctx, in, info, handler) +} +func (m *QueryTotalTokenizeSharedAssetsRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryTotalTokenizeSharedAssetsRequest.Merge(m, src) +} +func (m *QueryTotalTokenizeSharedAssetsRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryTotalTokenizeSharedAssetsRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryTotalTokenizeSharedAssetsRequest.DiscardUnknown(m) } -func _Query_Pool_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryPoolRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).Pool(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cosmos.staking.v1beta1.Query/Pool", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).Pool(ctx, req.(*QueryPoolRequest)) - } - return interceptor(ctx, in, info, handler) +var xxx_messageInfo_QueryTotalTokenizeSharedAssetsRequest proto.InternalMessageInfo + +// QueryTotalTokenizeSharedAssetsResponse is response type for the +// Query/QueryTotalTokenizeSharedAssets RPC method. +// +// Since: cosmos-sdk 0.47-lsm +type QueryTotalTokenizeSharedAssetsResponse struct { + Value types.Coin `protobuf:"bytes,1,opt,name=value,proto3" json:"value"` } -func _Query_Params_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryParamsRequest) - if err := dec(in); err != nil { - return nil, err +func (m *QueryTotalTokenizeSharedAssetsResponse) Reset() { + *m = QueryTotalTokenizeSharedAssetsResponse{} +} +func (m *QueryTotalTokenizeSharedAssetsResponse) String() string { return proto.CompactTextString(m) } +func (*QueryTotalTokenizeSharedAssetsResponse) ProtoMessage() {} +func (*QueryTotalTokenizeSharedAssetsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_f270127f442bbcd8, []int{39} +} +func (m *QueryTotalTokenizeSharedAssetsResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryTotalTokenizeSharedAssetsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryTotalTokenizeSharedAssetsResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - if interceptor == nil { - return srv.(QueryServer).Params(ctx, in) +} +func (m *QueryTotalTokenizeSharedAssetsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryTotalTokenizeSharedAssetsResponse.Merge(m, src) +} +func (m *QueryTotalTokenizeSharedAssetsResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryTotalTokenizeSharedAssetsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryTotalTokenizeSharedAssetsResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryTotalTokenizeSharedAssetsResponse proto.InternalMessageInfo + +func (m *QueryTotalTokenizeSharedAssetsResponse) GetValue() types.Coin { + if m != nil { + return m.Value } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/cosmos.staking.v1beta1.Query/Params", + return types.Coin{} +} + +// QueryQueryTotalLiquidStakedRequest is request type for the +// Query/QueryQueryTotalLiquidStaked RPC method. +// +// Since: cosmos-sdk 0.47-lsm +type QueryTotalLiquidStaked struct { +} + +func (m *QueryTotalLiquidStaked) Reset() { *m = QueryTotalLiquidStaked{} } +func (m *QueryTotalLiquidStaked) String() string { return proto.CompactTextString(m) } +func (*QueryTotalLiquidStaked) ProtoMessage() {} +func (*QueryTotalLiquidStaked) Descriptor() ([]byte, []int) { + return fileDescriptor_f270127f442bbcd8, []int{40} +} +func (m *QueryTotalLiquidStaked) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryTotalLiquidStaked) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryTotalLiquidStaked.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).Params(ctx, req.(*QueryParamsRequest)) +} +func (m *QueryTotalLiquidStaked) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryTotalLiquidStaked.Merge(m, src) +} +func (m *QueryTotalLiquidStaked) XXX_Size() int { + return m.Size() +} +func (m *QueryTotalLiquidStaked) XXX_DiscardUnknown() { + xxx_messageInfo_QueryTotalLiquidStaked.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryTotalLiquidStaked proto.InternalMessageInfo + +// QueryQueryTotalLiquidStakedResponse is response type for the +// Query/QueryQueryTotalLiquidStaked RPC method. +// +// Since: cosmos-sdk 0.47-lsm +type QueryTotalLiquidStakedResponse struct { + Tokens github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,1,opt,name=tokens,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"tokens"` +} + +func (m *QueryTotalLiquidStakedResponse) Reset() { *m = QueryTotalLiquidStakedResponse{} } +func (m *QueryTotalLiquidStakedResponse) String() string { return proto.CompactTextString(m) } +func (*QueryTotalLiquidStakedResponse) ProtoMessage() {} +func (*QueryTotalLiquidStakedResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_f270127f442bbcd8, []int{41} +} +func (m *QueryTotalLiquidStakedResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryTotalLiquidStakedResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryTotalLiquidStakedResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return interceptor(ctx, in, info, handler) +} +func (m *QueryTotalLiquidStakedResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryTotalLiquidStakedResponse.Merge(m, src) +} +func (m *QueryTotalLiquidStakedResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryTotalLiquidStakedResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryTotalLiquidStakedResponse.DiscardUnknown(m) } -var _Query_serviceDesc = grpc.ServiceDesc{ - ServiceName: "cosmos.staking.v1beta1.Query", - HandlerType: (*QueryServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "Validators", - Handler: _Query_Validators_Handler, - }, - { - MethodName: "Validator", - Handler: _Query_Validator_Handler, - }, - { - MethodName: "ValidatorDelegations", - Handler: _Query_ValidatorDelegations_Handler, - }, - { - MethodName: "ValidatorUnbondingDelegations", - Handler: _Query_ValidatorUnbondingDelegations_Handler, - }, - { - MethodName: "Delegation", - Handler: _Query_Delegation_Handler, - }, - { - MethodName: "UnbondingDelegation", - Handler: _Query_UnbondingDelegation_Handler, - }, - { - MethodName: "DelegatorDelegations", - Handler: _Query_DelegatorDelegations_Handler, - }, - { - MethodName: "DelegatorUnbondingDelegations", - Handler: _Query_DelegatorUnbondingDelegations_Handler, - }, - { - MethodName: "Redelegations", - Handler: _Query_Redelegations_Handler, - }, - { - MethodName: "DelegatorValidators", - Handler: _Query_DelegatorValidators_Handler, - }, - { - MethodName: "DelegatorValidator", - Handler: _Query_DelegatorValidator_Handler, - }, - { - MethodName: "HistoricalInfo", - Handler: _Query_HistoricalInfo_Handler, - }, - { - MethodName: "Pool", - Handler: _Query_Pool_Handler, - }, - { - MethodName: "Params", - Handler: _Query_Params_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "cosmos/staking/v1beta1/query.proto", -} +var xxx_messageInfo_QueryTotalLiquidStakedResponse proto.InternalMessageInfo -func (m *QueryValidatorsRequest) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil +// QueryTokenizeShareLockInfo queries the tokenize share lock information +// associated with given account. +// +// Since: cosmos-sdk 0.47-lsm +type QueryTokenizeShareLockInfo struct { + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` } -func (m *QueryValidatorsRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func (m *QueryTokenizeShareLockInfo) Reset() { *m = QueryTokenizeShareLockInfo{} } +func (m *QueryTokenizeShareLockInfo) String() string { return proto.CompactTextString(m) } +func (*QueryTokenizeShareLockInfo) ProtoMessage() {} +func (*QueryTokenizeShareLockInfo) Descriptor() ([]byte, []int) { + return fileDescriptor_f270127f442bbcd8, []int{42} } - -func (m *QueryValidatorsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Pagination != nil { - { - size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 - } - if len(m.Status) > 0 { - i -= len(m.Status) - copy(dAtA[i:], m.Status) - i = encodeVarintQuery(dAtA, i, uint64(len(m.Status))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil +func (m *QueryTokenizeShareLockInfo) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) } - -func (m *QueryValidatorsResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err +func (m *QueryTokenizeShareLockInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryTokenizeShareLockInfo.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return dAtA[:n], nil } - -func (m *QueryValidatorsResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func (m *QueryTokenizeShareLockInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryTokenizeShareLockInfo.Merge(m, src) } - -func (m *QueryValidatorsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Pagination != nil { - { - size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 - } - if len(m.Validators) > 0 { - for iNdEx := len(m.Validators) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.Validators[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil +func (m *QueryTokenizeShareLockInfo) XXX_Size() int { + return m.Size() } - -func (m *QueryValidatorRequest) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil +func (m *QueryTokenizeShareLockInfo) XXX_DiscardUnknown() { + xxx_messageInfo_QueryTokenizeShareLockInfo.DiscardUnknown(m) } -func (m *QueryValidatorRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} +var xxx_messageInfo_QueryTokenizeShareLockInfo proto.InternalMessageInfo -func (m *QueryValidatorRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.ValidatorAddr) > 0 { - i -= len(m.ValidatorAddr) - copy(dAtA[i:], m.ValidatorAddr) - i = encodeVarintQuery(dAtA, i, uint64(len(m.ValidatorAddr))) - i-- - dAtA[i] = 0xa +func (m *QueryTokenizeShareLockInfo) GetAddress() string { + if m != nil { + return m.Address } - return len(dAtA) - i, nil + return "" } -func (m *QueryValidatorResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil +// QueryTokenizeShareLockInfoResponse is the response from the +// QueryTokenizeShareLockInfo query. +// +// Since: cosmos-sdk 0.47-lsm +type QueryTokenizeShareLockInfoResponse struct { + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + ExpirationTime string `protobuf:"bytes,2,opt,name=expiration_time,json=expirationTime,proto3" json:"expiration_time,omitempty"` } -func (m *QueryValidatorResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func (m *QueryTokenizeShareLockInfoResponse) Reset() { *m = QueryTokenizeShareLockInfoResponse{} } +func (m *QueryTokenizeShareLockInfoResponse) String() string { return proto.CompactTextString(m) } +func (*QueryTokenizeShareLockInfoResponse) ProtoMessage() {} +func (*QueryTokenizeShareLockInfoResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_f270127f442bbcd8, []int{43} } - -func (m *QueryValidatorResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - { - size, err := m.Validator.MarshalToSizedBuffer(dAtA[:i]) +func (m *QueryTokenizeShareLockInfoResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryTokenizeShareLockInfoResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryTokenizeShareLockInfoResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) if err != nil { - return 0, err + return nil, err } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) + return b[:n], nil } - i-- - dAtA[i] = 0xa - return len(dAtA) - i, nil } - -func (m *QueryValidatorDelegationsRequest) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil +func (m *QueryTokenizeShareLockInfoResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryTokenizeShareLockInfoResponse.Merge(m, src) } - -func (m *QueryValidatorDelegationsRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func (m *QueryTokenizeShareLockInfoResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryTokenizeShareLockInfoResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryTokenizeShareLockInfoResponse.DiscardUnknown(m) } -func (m *QueryValidatorDelegationsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Pagination != nil { - { - size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 +var xxx_messageInfo_QueryTokenizeShareLockInfoResponse proto.InternalMessageInfo + +func (m *QueryTokenizeShareLockInfoResponse) GetStatus() string { + if m != nil { + return m.Status } - if len(m.ValidatorAddr) > 0 { - i -= len(m.ValidatorAddr) - copy(dAtA[i:], m.ValidatorAddr) - i = encodeVarintQuery(dAtA, i, uint64(len(m.ValidatorAddr))) - i-- - dAtA[i] = 0xa + return "" +} + +func (m *QueryTokenizeShareLockInfoResponse) GetExpirationTime() string { + if m != nil { + return m.ExpirationTime } - return len(dAtA) - i, nil + return "" } -func (m *QueryValidatorDelegationsResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) +func init() { + proto.RegisterType((*QueryValidatorsRequest)(nil), "cosmos.staking.v1beta1.QueryValidatorsRequest") + proto.RegisterType((*QueryValidatorsResponse)(nil), "cosmos.staking.v1beta1.QueryValidatorsResponse") + proto.RegisterType((*QueryValidatorRequest)(nil), "cosmos.staking.v1beta1.QueryValidatorRequest") + proto.RegisterType((*QueryValidatorResponse)(nil), "cosmos.staking.v1beta1.QueryValidatorResponse") + proto.RegisterType((*QueryValidatorDelegationsRequest)(nil), "cosmos.staking.v1beta1.QueryValidatorDelegationsRequest") + proto.RegisterType((*QueryValidatorDelegationsResponse)(nil), "cosmos.staking.v1beta1.QueryValidatorDelegationsResponse") + proto.RegisterType((*QueryValidatorUnbondingDelegationsRequest)(nil), "cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsRequest") + proto.RegisterType((*QueryValidatorUnbondingDelegationsResponse)(nil), "cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse") + proto.RegisterType((*QueryDelegationRequest)(nil), "cosmos.staking.v1beta1.QueryDelegationRequest") + proto.RegisterType((*QueryDelegationResponse)(nil), "cosmos.staking.v1beta1.QueryDelegationResponse") + proto.RegisterType((*QueryUnbondingDelegationRequest)(nil), "cosmos.staking.v1beta1.QueryUnbondingDelegationRequest") + proto.RegisterType((*QueryUnbondingDelegationResponse)(nil), "cosmos.staking.v1beta1.QueryUnbondingDelegationResponse") + proto.RegisterType((*QueryDelegatorDelegationsRequest)(nil), "cosmos.staking.v1beta1.QueryDelegatorDelegationsRequest") + proto.RegisterType((*QueryDelegatorDelegationsResponse)(nil), "cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse") + proto.RegisterType((*QueryDelegatorUnbondingDelegationsRequest)(nil), "cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsRequest") + proto.RegisterType((*QueryDelegatorUnbondingDelegationsResponse)(nil), "cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse") + proto.RegisterType((*QueryRedelegationsRequest)(nil), "cosmos.staking.v1beta1.QueryRedelegationsRequest") + proto.RegisterType((*QueryRedelegationsResponse)(nil), "cosmos.staking.v1beta1.QueryRedelegationsResponse") + proto.RegisterType((*QueryDelegatorValidatorsRequest)(nil), "cosmos.staking.v1beta1.QueryDelegatorValidatorsRequest") + proto.RegisterType((*QueryDelegatorValidatorsResponse)(nil), "cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse") + proto.RegisterType((*QueryDelegatorValidatorRequest)(nil), "cosmos.staking.v1beta1.QueryDelegatorValidatorRequest") + proto.RegisterType((*QueryDelegatorValidatorResponse)(nil), "cosmos.staking.v1beta1.QueryDelegatorValidatorResponse") + proto.RegisterType((*QueryHistoricalInfoRequest)(nil), "cosmos.staking.v1beta1.QueryHistoricalInfoRequest") + proto.RegisterType((*QueryHistoricalInfoResponse)(nil), "cosmos.staking.v1beta1.QueryHistoricalInfoResponse") + proto.RegisterType((*QueryPoolRequest)(nil), "cosmos.staking.v1beta1.QueryPoolRequest") + proto.RegisterType((*QueryPoolResponse)(nil), "cosmos.staking.v1beta1.QueryPoolResponse") + proto.RegisterType((*QueryParamsRequest)(nil), "cosmos.staking.v1beta1.QueryParamsRequest") + proto.RegisterType((*QueryParamsResponse)(nil), "cosmos.staking.v1beta1.QueryParamsResponse") + proto.RegisterType((*QueryTokenizeShareRecordByIdRequest)(nil), "cosmos.staking.v1beta1.QueryTokenizeShareRecordByIdRequest") + proto.RegisterType((*QueryTokenizeShareRecordByIdResponse)(nil), "cosmos.staking.v1beta1.QueryTokenizeShareRecordByIdResponse") + proto.RegisterType((*QueryTokenizeShareRecordByDenomRequest)(nil), "cosmos.staking.v1beta1.QueryTokenizeShareRecordByDenomRequest") + proto.RegisterType((*QueryTokenizeShareRecordByDenomResponse)(nil), "cosmos.staking.v1beta1.QueryTokenizeShareRecordByDenomResponse") + proto.RegisterType((*QueryTokenizeShareRecordsOwnedRequest)(nil), "cosmos.staking.v1beta1.QueryTokenizeShareRecordsOwnedRequest") + proto.RegisterType((*QueryTokenizeShareRecordsOwnedResponse)(nil), "cosmos.staking.v1beta1.QueryTokenizeShareRecordsOwnedResponse") + proto.RegisterType((*QueryAllTokenizeShareRecordsRequest)(nil), "cosmos.staking.v1beta1.QueryAllTokenizeShareRecordsRequest") + proto.RegisterType((*QueryAllTokenizeShareRecordsResponse)(nil), "cosmos.staking.v1beta1.QueryAllTokenizeShareRecordsResponse") + proto.RegisterType((*QueryLastTokenizeShareRecordIdRequest)(nil), "cosmos.staking.v1beta1.QueryLastTokenizeShareRecordIdRequest") + proto.RegisterType((*QueryLastTokenizeShareRecordIdResponse)(nil), "cosmos.staking.v1beta1.QueryLastTokenizeShareRecordIdResponse") + proto.RegisterType((*QueryTotalTokenizeSharedAssetsRequest)(nil), "cosmos.staking.v1beta1.QueryTotalTokenizeSharedAssetsRequest") + proto.RegisterType((*QueryTotalTokenizeSharedAssetsResponse)(nil), "cosmos.staking.v1beta1.QueryTotalTokenizeSharedAssetsResponse") + proto.RegisterType((*QueryTotalLiquidStaked)(nil), "cosmos.staking.v1beta1.QueryTotalLiquidStaked") + proto.RegisterType((*QueryTotalLiquidStakedResponse)(nil), "cosmos.staking.v1beta1.QueryTotalLiquidStakedResponse") + proto.RegisterType((*QueryTokenizeShareLockInfo)(nil), "cosmos.staking.v1beta1.QueryTokenizeShareLockInfo") + proto.RegisterType((*QueryTokenizeShareLockInfoResponse)(nil), "cosmos.staking.v1beta1.QueryTokenizeShareLockInfoResponse") +} + +func init() { + proto.RegisterFile("cosmos/staking/v1beta1/query.proto", fileDescriptor_f270127f442bbcd8) +} + +var fileDescriptor_f270127f442bbcd8 = []byte{ + // 2029 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x5a, 0xdd, 0x6f, 0x1c, 0x57, + 0x15, 0xdf, 0xeb, 0x38, 0x2e, 0x39, 0x55, 0x4d, 0x73, 0xed, 0x24, 0xf6, 0x34, 0x5d, 0x3b, 0x43, + 0x88, 0x13, 0xa7, 0xde, 0x69, 0x9c, 0x26, 0x31, 0x4e, 0xe2, 0x74, 0xb7, 0xa1, 0x8d, 0x89, 0xd5, + 0xb8, 0x9b, 0x10, 0xf1, 0xa9, 0xd5, 0x78, 0x67, 0xba, 0x1e, 0x79, 0x77, 0xee, 0x7a, 0x66, 0xd6, + 0x8d, 0xb1, 0x2c, 0xa4, 0x3e, 0xa0, 0x3e, 0x21, 0x24, 0xde, 0x51, 0x1f, 0x11, 0x02, 0xa9, 0x0f, + 0x0e, 0x02, 0x09, 0x78, 0x44, 0x7d, 0x40, 0xc8, 0x04, 0x15, 0xf1, 0x21, 0x0c, 0x8a, 0x2b, 0x81, + 0x90, 0xf8, 0x0f, 0x10, 0xaa, 0x66, 0xe6, 0xcc, 0x97, 0x67, 0xee, 0xcc, 0xee, 0x7a, 0x2d, 0x39, + 0x2f, 0xad, 0x77, 0xe6, 0x9e, 0x73, 0x7e, 0xbf, 0xf3, 0x71, 0xe7, 0xde, 0x9f, 0x02, 0x62, 0x95, + 0x99, 0x0d, 0x66, 0x4a, 0xa6, 0x25, 0xaf, 0x68, 0x7a, 0x4d, 0x5a, 0xbb, 0xb4, 0xa4, 0x5a, 0xf2, + 0x25, 0x69, 0xb5, 0xa5, 0x1a, 0xeb, 0x85, 0xa6, 0xc1, 0x2c, 0x46, 0x4f, 0xba, 0x6b, 0x0a, 0xb8, + 0xa6, 0x80, 0x6b, 0x84, 0x3c, 0xda, 0x2e, 0xc9, 0xa6, 0xea, 0x1b, 0x56, 0x99, 0xa6, 0xbb, 0x76, + 0xc2, 0x64, 0xf8, 0xbd, 0xe3, 0xd0, 0x5f, 0xd5, 0x94, 0x6b, 0x9a, 0x2e, 0x5b, 0x1a, 0xf3, 0xd6, + 0x0e, 0xd7, 0x58, 0x8d, 0x39, 0x7f, 0x4a, 0xf6, 0x5f, 0xf8, 0xf4, 0x74, 0x8d, 0xb1, 0x5a, 0x5d, + 0x95, 0xe4, 0xa6, 0x26, 0xc9, 0xba, 0xce, 0x2c, 0xc7, 0xc4, 0xc4, 0xb7, 0x67, 0x39, 0xd8, 0x3d, + 0x9c, 0xee, 0xaa, 0x51, 0x77, 0x55, 0xc5, 0x75, 0x8e, 0x54, 0xdc, 0x57, 0x2f, 0xa1, 0x03, 0x0f, + 0x5b, 0x98, 0xb5, 0x70, 0x5c, 0x6e, 0x68, 0x3a, 0x93, 0x9c, 0xff, 0xba, 0x8f, 0xc4, 0x47, 0x70, + 0xf2, 0x1d, 0x7b, 0xc5, 0x43, 0xb9, 0xae, 0x29, 0xb2, 0xc5, 0x0c, 0xb3, 0xac, 0xae, 0xb6, 0x54, + 0xd3, 0xa2, 0x27, 0x61, 0xc0, 0xb4, 0x64, 0xab, 0x65, 0x8e, 0x90, 0x71, 0x72, 0xfe, 0x58, 0x19, + 0x7f, 0xd1, 0x37, 0x01, 0x02, 0xaa, 0x23, 0x7d, 0xe3, 0xe4, 0xfc, 0xf3, 0xd3, 0xe7, 0x0a, 0x08, + 0xc2, 0xce, 0x4b, 0xc1, 0x0d, 0x89, 0xd0, 0x0b, 0x8b, 0x72, 0x4d, 0x45, 0x9f, 0xe5, 0x90, 0xa5, + 0xf8, 0x11, 0x81, 0x53, 0xb1, 0xd0, 0x66, 0x93, 0xe9, 0xa6, 0x4a, 0x17, 0x00, 0xd6, 0xfc, 0xa7, + 0x23, 0x64, 0xfc, 0xc8, 0xf9, 0xe7, 0xa7, 0xcf, 0x14, 0x92, 0x6b, 0x56, 0xf0, 0xed, 0x4b, 0xc7, + 0x3e, 0xde, 0x19, 0xcb, 0xfd, 0xf8, 0x5f, 0x1f, 0x4d, 0x92, 0x72, 0xc8, 0x9e, 0xbe, 0x95, 0x80, + 0x78, 0x22, 0x13, 0xb1, 0x0b, 0x25, 0x02, 0x59, 0x86, 0x13, 0x51, 0xc4, 0x5e, 0xae, 0xee, 0xc0, + 0xa0, 0x1f, 0xaf, 0x22, 0x2b, 0x8a, 0xe1, 0xe6, 0xac, 0x74, 0xe6, 0xc9, 0xd6, 0xd4, 0xcb, 0x18, + 0xc8, 0x37, 0x2a, 0x2a, 0x8a, 0xa1, 0x9a, 0xe6, 0x7d, 0xcb, 0xd0, 0xf4, 0x5a, 0xf9, 0x85, 0xb5, + 0xf0, 0x73, 0x51, 0xd9, 0x5b, 0x0f, 0x3f, 0x27, 0x5f, 0x81, 0x63, 0xfe, 0x52, 0xc7, 0x7d, 0xa7, + 0x29, 0x09, 0xcc, 0xc5, 0x2d, 0x02, 0xe3, 0xd1, 0x30, 0xb7, 0xd5, 0xba, 0x5a, 0x73, 0x5b, 0xb1, + 0xe7, 0xa4, 0x7a, 0xd6, 0x32, 0xff, 0x25, 0x70, 0x26, 0x05, 0x36, 0x26, 0xea, 0xbb, 0x30, 0xac, + 0xf8, 0x8f, 0x2b, 0x06, 0x3e, 0xf6, 0xda, 0x68, 0x92, 0x97, 0xb3, 0xc0, 0x95, 0xe7, 0xa9, 0x34, + 0x6e, 0x27, 0xef, 0x27, 0xff, 0x18, 0x1b, 0x8a, 0xbf, 0x33, 0xdd, 0x9c, 0x0e, 0x29, 0xf1, 0x37, + 0xbd, 0xeb, 0xb7, 0x5f, 0x13, 0xb8, 0x10, 0xe5, 0xfb, 0x55, 0x7d, 0x89, 0xe9, 0x8a, 0xa6, 0xd7, + 0x9e, 0x89, 0x7a, 0xed, 0x10, 0x98, 0x6c, 0x07, 0x3f, 0x16, 0xae, 0x06, 0x43, 0x2d, 0xef, 0x7d, + 0xac, 0x6e, 0x17, 0x79, 0x75, 0x4b, 0x70, 0x19, 0xee, 0x7a, 0xea, 0xbb, 0x3c, 0x80, 0x02, 0xfd, + 0x8c, 0xe0, 0xb8, 0x86, 0x1b, 0xc4, 0xad, 0xc6, 0x2d, 0x18, 0xc4, 0xde, 0x88, 0x56, 0x63, 0xe4, + 0xc9, 0xd6, 0xd4, 0x30, 0x86, 0xda, 0x53, 0x04, 0x7f, 0xbd, 0x53, 0x84, 0x78, 0x39, 0xfb, 0xba, + 0x2b, 0xe7, 0xec, 0xe7, 0x3e, 0xf8, 0x70, 0x2c, 0xf7, 0xef, 0x0f, 0xc7, 0x72, 0xe2, 0x1a, 0x6e, + 0xb9, 0xf1, 0x7e, 0xa6, 0xdf, 0x84, 0xa1, 0x84, 0xa9, 0xc1, 0x8d, 0xa6, 0x83, 0xa1, 0x29, 0xd3, + 0xf8, 0x48, 0x88, 0x3f, 0x27, 0x30, 0xe6, 0x04, 0x4e, 0x28, 0xd6, 0xa1, 0x4e, 0x98, 0x81, 0xfb, + 0x64, 0x22, 0x6e, 0xcc, 0xdc, 0xdb, 0x30, 0xe0, 0xf6, 0x18, 0x26, 0xab, 0xdb, 0x4e, 0x45, 0x2f, + 0xe2, 0x63, 0x6f, 0x73, 0xbe, 0xed, 0xd1, 0x4b, 0x18, 0xf6, 0x7d, 0x67, 0xab, 0x47, 0x33, 0x1e, + 0xca, 0xd5, 0x9f, 0xbc, 0xdd, 0x39, 0x19, 0x37, 0x66, 0x6b, 0xb9, 0x67, 0xbb, 0x73, 0x28, 0x75, + 0x07, 0xbb, 0x0d, 0xff, 0xc6, 0xdb, 0x86, 0x7d, 0x62, 0x69, 0xdb, 0xf0, 0x21, 0xac, 0x8c, 0xbf, + 0x0f, 0x67, 0x10, 0x78, 0x66, 0xf7, 0xe1, 0xed, 0x3e, 0x18, 0x75, 0x08, 0x96, 0x55, 0xe5, 0x00, + 0x2a, 0x72, 0x0f, 0xa8, 0x69, 0x54, 0x2b, 0xdd, 0xee, 0x2e, 0x2f, 0x9a, 0x46, 0x35, 0xf2, 0xca, + 0x76, 0xa8, 0x98, 0xd6, 0x5e, 0x87, 0x47, 0xda, 0x76, 0xa8, 0x98, 0xd6, 0xc3, 0x94, 0x2f, 0x76, + 0x7f, 0x0f, 0x7a, 0xe6, 0x13, 0x02, 0x42, 0x52, 0x4a, 0xb1, 0x47, 0x74, 0x38, 0x69, 0xa8, 0x29, + 0x83, 0xfc, 0x0a, 0xaf, 0x4d, 0xc2, 0xee, 0x92, 0x46, 0xf9, 0x84, 0xa1, 0x1e, 0xe8, 0x30, 0x6f, + 0x79, 0x9f, 0x22, 0x7f, 0x16, 0xe2, 0x57, 0x9f, 0x43, 0x38, 0xc2, 0xbf, 0x8c, 0x7d, 0x14, 0x9e, + 0x9d, 0x6b, 0xd3, 0x63, 0x02, 0x79, 0x0e, 0xf6, 0x43, 0xfd, 0xf1, 0x6f, 0x70, 0x3b, 0xe5, 0x40, + 0x2e, 0x65, 0xaf, 0xe1, 0xc0, 0xdd, 0xd1, 0x4c, 0x8b, 0x19, 0x5a, 0x55, 0xae, 0xcf, 0xeb, 0xef, + 0xb2, 0xd0, 0x75, 0x7c, 0x59, 0xd5, 0x6a, 0xcb, 0x96, 0x13, 0xe6, 0x48, 0x19, 0x7f, 0x89, 0x5f, + 0x87, 0x97, 0x12, 0xad, 0x10, 0xe0, 0x2c, 0xf4, 0x2f, 0x6b, 0xa6, 0x85, 0xd8, 0xce, 0xf1, 0xb0, + 0xed, 0xb1, 0x76, 0x6c, 0x44, 0x0a, 0x2f, 0x3a, 0xae, 0x17, 0x19, 0xab, 0x23, 0x0c, 0x71, 0x11, + 0x8e, 0x87, 0x9e, 0x61, 0x90, 0xeb, 0xd0, 0xdf, 0x64, 0xac, 0x8e, 0x41, 0x4e, 0xf3, 0x82, 0xd8, + 0x36, 0x61, 0xee, 0x8e, 0x91, 0x38, 0x0c, 0xd4, 0xf5, 0x28, 0x1b, 0x72, 0xc3, 0x1b, 0x41, 0xf1, + 0x6b, 0x30, 0x14, 0x79, 0x8a, 0x91, 0x8a, 0x30, 0xd0, 0x74, 0x9e, 0x60, 0xac, 0x3c, 0x37, 0x96, + 0xb3, 0x2a, 0x72, 0xbc, 0x72, 0x0d, 0xc5, 0x2b, 0xf0, 0x05, 0xc7, 0xf3, 0x03, 0xb6, 0xa2, 0xea, + 0xda, 0x77, 0xd4, 0xfb, 0xcb, 0xb2, 0xa1, 0x96, 0xd5, 0x2a, 0x33, 0x94, 0xd2, 0xfa, 0xbc, 0xe2, + 0xe5, 0x7b, 0x10, 0xfa, 0x34, 0xf7, 0x44, 0xd7, 0x5f, 0xee, 0xd3, 0x14, 0x71, 0x15, 0xce, 0xa6, + 0x9b, 0x21, 0xc2, 0x79, 0x18, 0x30, 0x9c, 0xa7, 0x59, 0xa7, 0xc1, 0x24, 0x47, 0xfd, 0x36, 0xdc, + 0x32, 0x3a, 0x10, 0xe7, 0xe0, 0x1c, 0x3f, 0xe4, 0x6d, 0x55, 0x67, 0x0d, 0x0f, 0xec, 0x30, 0x1c, + 0x55, 0xec, 0xdf, 0x28, 0xd5, 0xb8, 0x3f, 0x44, 0x0b, 0x26, 0x32, 0xed, 0x7b, 0x8f, 0xfa, 0x26, + 0x7c, 0x91, 0x17, 0xd5, 0xbc, 0xf7, 0x9e, 0xae, 0x2a, 0x21, 0xd0, 0xec, 0x3d, 0x5d, 0x35, 0x3c, + 0xd0, 0xce, 0x0f, 0xb1, 0xc5, 0x27, 0xed, 0x99, 0x23, 0xe6, 0xbb, 0xf0, 0x9c, 0x1b, 0x32, 0xf3, + 0x68, 0xc2, 0x07, 0xed, 0x79, 0x10, 0x1b, 0xd8, 0x15, 0xc5, 0x7a, 0x3d, 0x29, 0xb2, 0x87, 0x39, + 0xba, 0xb1, 0x93, 0xae, 0x6f, 0xc6, 0xbf, 0x22, 0xd8, 0x4e, 0xdc, 0x78, 0x07, 0x40, 0xb2, 0x77, + 0x3b, 0xfa, 0x04, 0xd6, 0x78, 0x41, 0x36, 0xad, 0x84, 0xb8, 0xfe, 0x14, 0x89, 0x33, 0x58, 0xcd, + 0x94, 0x85, 0x48, 0x74, 0xef, 0xbc, 0x4d, 0xf8, 0x6d, 0x64, 0xc9, 0xd1, 0x14, 0x29, 0x45, 0xd3, + 0x54, 0x2d, 0x7f, 0xa7, 0xa8, 0xf8, 0x0d, 0xc3, 0x5d, 0x88, 0x21, 0xae, 0xc0, 0xd1, 0x35, 0xb9, + 0xde, 0xf2, 0x2e, 0xb5, 0xa3, 0x11, 0xe6, 0x1e, 0xe7, 0x37, 0x98, 0xa6, 0x63, 0xde, 0xdc, 0xd5, + 0xe2, 0x08, 0xde, 0xf1, 0x9d, 0x00, 0x0b, 0xda, 0x6a, 0x4b, 0x53, 0xee, 0x5b, 0xf2, 0x8a, 0xaa, + 0x88, 0x6b, 0xf8, 0x5d, 0x8b, 0xbd, 0xf1, 0x43, 0x3e, 0x80, 0x01, 0xcb, 0x86, 0x84, 0x22, 0x6a, + 0xe9, 0x86, 0xed, 0xf8, 0xaf, 0x3b, 0x63, 0xe7, 0x6a, 0x9a, 0xb5, 0xdc, 0x5a, 0x2a, 0x54, 0x59, + 0x03, 0xf5, 0x5b, 0xfc, 0xdf, 0x94, 0xa9, 0xac, 0x48, 0xd6, 0x7a, 0x53, 0x35, 0x0b, 0xf3, 0xba, + 0xf5, 0x64, 0x6b, 0x0a, 0x10, 0xe4, 0xbc, 0x6e, 0x95, 0xd1, 0x97, 0x78, 0x15, 0xbf, 0x14, 0x11, + 0xb6, 0x0b, 0xac, 0xba, 0x62, 0x6f, 0xde, 0x74, 0x04, 0x9e, 0x93, 0xdd, 0x0f, 0x1c, 0x4e, 0x96, + 0xf7, 0x53, 0x54, 0x41, 0xe4, 0xdb, 0xf9, 0x98, 0x79, 0xc2, 0xef, 0x04, 0x7c, 0x5e, 0x7d, 0xd4, + 0xd4, 0x0c, 0xf7, 0xc0, 0x67, 0x69, 0x0d, 0xd5, 0xfd, 0xc6, 0x96, 0x07, 0x83, 0xc7, 0x0f, 0xb4, + 0x86, 0x3a, 0xfd, 0xfe, 0x59, 0x38, 0xea, 0xc4, 0xa1, 0x3f, 0x22, 0x00, 0xc1, 0x39, 0x85, 0x16, + 0x78, 0xbd, 0x9b, 0x2c, 0x41, 0x0b, 0x52, 0xdb, 0xeb, 0x51, 0x67, 0x90, 0x3e, 0xb0, 0xb7, 0xfa, + 0xf7, 0xff, 0xf8, 0xe9, 0x0f, 0xfb, 0xce, 0x52, 0x51, 0xe2, 0x88, 0xe9, 0xa1, 0x33, 0xce, 0x4f, + 0x09, 0x1c, 0xf3, 0xfd, 0xd0, 0xa9, 0xf6, 0xe2, 0x79, 0xf0, 0x0a, 0xed, 0x2e, 0x47, 0x74, 0xaf, + 0x07, 0xe8, 0xae, 0xd0, 0xcb, 0xd9, 0xe8, 0xa4, 0x8d, 0xe8, 0x91, 0x66, 0x93, 0xfe, 0x85, 0xc0, + 0x70, 0x92, 0xf6, 0x49, 0x67, 0xda, 0x83, 0x12, 0xbf, 0xae, 0x0a, 0x5f, 0xea, 0xc2, 0x12, 0xf9, + 0x2c, 0x04, 0x7c, 0x8a, 0xf4, 0x56, 0x17, 0x7c, 0xa4, 0xd0, 0xcd, 0x82, 0xfe, 0x9f, 0xc0, 0xcb, + 0xa9, 0x3a, 0x21, 0x2d, 0xb6, 0x07, 0x35, 0xe5, 0x72, 0x2e, 0x94, 0xf6, 0xe3, 0x02, 0x69, 0x3f, + 0x0c, 0x68, 0xdf, 0xa5, 0xf3, 0xdd, 0xd0, 0x0e, 0x6e, 0xd7, 0xe1, 0x04, 0xfc, 0x8e, 0x00, 0x04, + 0xf1, 0x32, 0x86, 0x25, 0xa6, 0x9f, 0x65, 0x0c, 0x4b, 0x5c, 0x3f, 0x11, 0xbf, 0x1d, 0xf0, 0x28, + 0xd3, 0xc5, 0x7d, 0x96, 0x4f, 0xda, 0x88, 0x9e, 0xdf, 0x37, 0xe9, 0xff, 0x08, 0x0c, 0x25, 0xe4, + 0x91, 0x5e, 0x4b, 0xc5, 0xc9, 0x17, 0x08, 0x85, 0x99, 0xce, 0x0d, 0x91, 0xa9, 0x11, 0x30, 0xad, + 0x51, 0xb5, 0xd7, 0x4c, 0x13, 0xcb, 0x49, 0x7f, 0x4f, 0x60, 0x38, 0x49, 0x08, 0xcb, 0x18, 0xd5, + 0x14, 0xcd, 0x2f, 0x63, 0x54, 0xd3, 0x54, 0x37, 0xb1, 0x18, 0x64, 0xe0, 0x2a, 0x7d, 0x8d, 0x97, + 0x81, 0xd4, 0x7a, 0xda, 0xf3, 0x99, 0xaa, 0x1f, 0x65, 0xcc, 0x67, 0x3b, 0xe2, 0x59, 0xc6, 0x7c, + 0xb6, 0x25, 0x5f, 0xb5, 0x39, 0x9f, 0x3e, 0xbd, 0x36, 0x0b, 0x6a, 0xd2, 0xdf, 0x12, 0x78, 0x21, + 0x22, 0x86, 0xd0, 0x4b, 0xa9, 0x68, 0x93, 0xb4, 0x28, 0x61, 0xba, 0x13, 0x13, 0x24, 0xf4, 0x76, + 0x40, 0xe8, 0x0d, 0x5a, 0xec, 0x86, 0x90, 0x11, 0x81, 0xfd, 0x09, 0x81, 0xa1, 0x04, 0x19, 0x21, + 0x63, 0x32, 0xf9, 0x7a, 0x89, 0x30, 0xd3, 0xb9, 0x21, 0x52, 0xbb, 0x1b, 0x50, 0x7b, 0x9d, 0xce, + 0x75, 0x43, 0x2d, 0xf4, 0x31, 0xdf, 0x25, 0x40, 0xe3, 0xc1, 0xe8, 0xd5, 0x0e, 0xd1, 0x79, 0xac, + 0xae, 0x75, 0x6c, 0x87, 0xa4, 0xbe, 0x15, 0x90, 0x7a, 0x87, 0xde, 0xdb, 0x1f, 0xa9, 0xf8, 0x19, + 0xe0, 0x17, 0x04, 0x06, 0xa3, 0xd7, 0x75, 0x9a, 0xde, 0x54, 0x89, 0x7a, 0x82, 0x70, 0xb9, 0x23, + 0x1b, 0x64, 0x76, 0x33, 0x60, 0x36, 0x4d, 0x5f, 0xe5, 0x31, 0x5b, 0xf6, 0x8d, 0x2b, 0x9a, 0xfe, + 0x2e, 0x93, 0x36, 0x5c, 0xa9, 0x62, 0x93, 0x7e, 0x8f, 0x40, 0xff, 0x22, 0x63, 0x75, 0x7a, 0x3e, + 0x35, 0x78, 0x48, 0x6f, 0x10, 0x2e, 0xb4, 0xb1, 0x12, 0xc1, 0x5d, 0x08, 0xc0, 0xe5, 0xe9, 0x69, + 0x1e, 0xb8, 0xa6, 0x1d, 0xff, 0xfb, 0x04, 0x06, 0x5c, 0x85, 0x80, 0x4e, 0xa6, 0x07, 0x08, 0x8b, + 0x12, 0xc2, 0xc5, 0xb6, 0xd6, 0x22, 0x9c, 0x8b, 0x01, 0x9c, 0x71, 0x9a, 0xe7, 0xc2, 0x71, 0x51, + 0xfc, 0x8d, 0xc0, 0x29, 0x8e, 0xb2, 0x40, 0xaf, 0xa7, 0x46, 0x4d, 0x97, 0x31, 0x84, 0x1b, 0xdd, + 0x19, 0x23, 0x87, 0x2f, 0xdb, 0x1c, 0x72, 0x0e, 0x87, 0x59, 0x3a, 0xc3, 0xe3, 0x60, 0xa1, 0x97, + 0x8a, 0x69, 0xbb, 0xa9, 0xb8, 0xb7, 0xcd, 0xca, 0xd2, 0x7a, 0x45, 0x53, 0xa4, 0x0d, 0x4d, 0xd9, + 0xa4, 0xff, 0x21, 0x20, 0xf0, 0x45, 0x08, 0x3a, 0xd7, 0x39, 0xc6, 0xb0, 0xfa, 0x21, 0xdc, 0xea, + 0xda, 0x3e, 0xbc, 0x0b, 0xe5, 0xb2, 0x76, 0x21, 0x2e, 0x4d, 0x47, 0x6d, 0xb1, 0x87, 0x58, 0x67, + 0x8d, 0x4d, 0xfa, 0x29, 0x81, 0x51, 0xae, 0x78, 0x41, 0x6f, 0x76, 0x8a, 0x35, 0xa2, 0x99, 0x08, + 0x73, 0xdd, 0x9a, 0x23, 0xd3, 0x3b, 0x01, 0xd3, 0x9b, 0xf4, 0x7a, 0x67, 0x4c, 0x99, 0xed, 0x49, + 0xda, 0x70, 0x64, 0x9a, 0x4d, 0xfa, 0x07, 0x02, 0xa7, 0x38, 0xe2, 0x45, 0x46, 0xc7, 0xa6, 0x4b, + 0x2c, 0x19, 0x1d, 0x9b, 0xa1, 0x97, 0x88, 0xd7, 0x03, 0x82, 0xaf, 0xd2, 0x42, 0x47, 0x04, 0x4d, + 0xba, 0x43, 0x60, 0x94, 0xab, 0x54, 0x64, 0x94, 0x2e, 0x4b, 0x0a, 0xc9, 0x28, 0x5d, 0xa6, 0x40, + 0x22, 0x96, 0x02, 0x66, 0xd7, 0xe8, 0x15, 0x1e, 0xb3, 0xba, 0x6c, 0x5a, 0x95, 0xe4, 0xfa, 0x69, + 0x0a, 0xfd, 0xbb, 0xd3, 0x9b, 0x1c, 0x9d, 0x24, 0xb3, 0x37, 0xd3, 0x85, 0x98, 0xcc, 0xde, 0xcc, + 0x90, 0x67, 0xdc, 0x33, 0x6a, 0x2e, 0xeb, 0x8c, 0x6a, 0xd9, 0x7e, 0xf6, 0x30, 0x54, 0x2a, 0xb2, + 0xcb, 0xe0, 0x31, 0x81, 0xe3, 0x31, 0x31, 0x26, 0xe3, 0x26, 0x15, 0x5b, 0x2f, 0x5c, 0xed, 0x6c, + 0xbd, 0x4f, 0x60, 0x26, 0x20, 0x30, 0x45, 0x2f, 0xa6, 0x13, 0xa8, 0x3b, 0x0e, 0x2a, 0xa6, 0x8b, + 0x70, 0x9b, 0xc0, 0x89, 0x64, 0x31, 0x67, 0xba, 0xfd, 0x81, 0xf7, 0x6c, 0x84, 0xd9, 0xce, 0x6d, + 0x7c, 0x0e, 0x6f, 0x05, 0x1c, 0x6e, 0xd0, 0xd9, 0x36, 0xe7, 0xa7, 0xce, 0xaa, 0x2b, 0xf8, 0xa9, + 0x47, 0xa9, 0x69, 0xb3, 0xf4, 0xe6, 0xc7, 0x4f, 0xf3, 0x64, 0xfb, 0x69, 0x9e, 0xfc, 0xf3, 0x69, + 0x9e, 0xfc, 0x60, 0x37, 0x9f, 0xdb, 0xde, 0xcd, 0xe7, 0xfe, 0xbc, 0x9b, 0xcf, 0x7d, 0xe3, 0x95, + 0x54, 0xed, 0xeb, 0x91, 0x1f, 0xcc, 0x51, 0xc1, 0x96, 0x06, 0x9c, 0x7f, 0xa7, 0x78, 0xf9, 0xb3, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x61, 0x38, 0x18, 0xee, 0xd6, 0x29, 0x00, 0x00, +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConn + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion4 + +// QueryClient is the client API for Query service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type QueryClient interface { + // Validators queries all validators that match the given status. + // + // When called from another module, this query might consume a high amount of + // gas if the pagination field is incorrectly set. + Validators(ctx context.Context, in *QueryValidatorsRequest, opts ...grpc.CallOption) (*QueryValidatorsResponse, error) + // Validator queries validator info for given validator address. + Validator(ctx context.Context, in *QueryValidatorRequest, opts ...grpc.CallOption) (*QueryValidatorResponse, error) + // ValidatorDelegations queries delegate info for given validator. + // + // When called from another module, this query might consume a high amount of + // gas if the pagination field is incorrectly set. + ValidatorDelegations(ctx context.Context, in *QueryValidatorDelegationsRequest, opts ...grpc.CallOption) (*QueryValidatorDelegationsResponse, error) + // ValidatorUnbondingDelegations queries unbonding delegations of a validator. + // + // When called from another module, this query might consume a high amount of + // gas if the pagination field is incorrectly set. + ValidatorUnbondingDelegations(ctx context.Context, in *QueryValidatorUnbondingDelegationsRequest, opts ...grpc.CallOption) (*QueryValidatorUnbondingDelegationsResponse, error) + // Delegation queries delegate info for given validator delegator pair. + Delegation(ctx context.Context, in *QueryDelegationRequest, opts ...grpc.CallOption) (*QueryDelegationResponse, error) + // UnbondingDelegation queries unbonding info for given validator delegator + // pair. + UnbondingDelegation(ctx context.Context, in *QueryUnbondingDelegationRequest, opts ...grpc.CallOption) (*QueryUnbondingDelegationResponse, error) + // DelegatorDelegations queries all delegations of a given delegator address. + // + // When called from another module, this query might consume a high amount of + // gas if the pagination field is incorrectly set. + DelegatorDelegations(ctx context.Context, in *QueryDelegatorDelegationsRequest, opts ...grpc.CallOption) (*QueryDelegatorDelegationsResponse, error) + // DelegatorUnbondingDelegations queries all unbonding delegations of a given + // delegator address. + // + // When called from another module, this query might consume a high amount of + // gas if the pagination field is incorrectly set. + DelegatorUnbondingDelegations(ctx context.Context, in *QueryDelegatorUnbondingDelegationsRequest, opts ...grpc.CallOption) (*QueryDelegatorUnbondingDelegationsResponse, error) + // Redelegations queries redelegations of given address. + // + // When called from another module, this query might consume a high amount of + // gas if the pagination field is incorrectly set. + Redelegations(ctx context.Context, in *QueryRedelegationsRequest, opts ...grpc.CallOption) (*QueryRedelegationsResponse, error) + // DelegatorValidators queries all validators info for given delegator + // address. + // + // When called from another module, this query might consume a high amount of + // gas if the pagination field is incorrectly set. + DelegatorValidators(ctx context.Context, in *QueryDelegatorValidatorsRequest, opts ...grpc.CallOption) (*QueryDelegatorValidatorsResponse, error) + // DelegatorValidator queries validator info for given delegator validator + // pair. + DelegatorValidator(ctx context.Context, in *QueryDelegatorValidatorRequest, opts ...grpc.CallOption) (*QueryDelegatorValidatorResponse, error) + // HistoricalInfo queries the historical info for given height. + HistoricalInfo(ctx context.Context, in *QueryHistoricalInfoRequest, opts ...grpc.CallOption) (*QueryHistoricalInfoResponse, error) + // Pool queries the pool info. + Pool(ctx context.Context, in *QueryPoolRequest, opts ...grpc.CallOption) (*QueryPoolResponse, error) + // Parameters queries the staking parameters. + Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) + // Query for individual tokenize share record information by share by id. + // + // Since: cosmos-sdk 0.47-lsm + TokenizeShareRecordById(ctx context.Context, in *QueryTokenizeShareRecordByIdRequest, opts ...grpc.CallOption) (*QueryTokenizeShareRecordByIdResponse, error) + // Query for individual tokenize share record information by share denom. + // + // Since: cosmos-sdk 0.47-lsm + TokenizeShareRecordByDenom(ctx context.Context, in *QueryTokenizeShareRecordByDenomRequest, opts ...grpc.CallOption) (*QueryTokenizeShareRecordByDenomResponse, error) + // Query tokenize share records by address. + // + // Since: cosmos-sdk 0.47-lsm + TokenizeShareRecordsOwned(ctx context.Context, in *QueryTokenizeShareRecordsOwnedRequest, opts ...grpc.CallOption) (*QueryTokenizeShareRecordsOwnedResponse, error) + // Query for all tokenize share records. + // + // Since: cosmos-sdk 0.47-lsm + AllTokenizeShareRecords(ctx context.Context, in *QueryAllTokenizeShareRecordsRequest, opts ...grpc.CallOption) (*QueryAllTokenizeShareRecordsResponse, error) + // Query for last tokenize share record id. + // + // Since: cosmos-sdk 0.47-lsm + LastTokenizeShareRecordId(ctx context.Context, in *QueryLastTokenizeShareRecordIdRequest, opts ...grpc.CallOption) (*QueryLastTokenizeShareRecordIdResponse, error) + // Query for total tokenized staked assets. + // + // Since: cosmos-sdk 0.47-lsm + TotalTokenizeSharedAssets(ctx context.Context, in *QueryTotalTokenizeSharedAssetsRequest, opts ...grpc.CallOption) (*QueryTotalTokenizeSharedAssetsResponse, error) + // Query for total liquid staked (including tokenized shares or owned by an liquid staking provider). + // + // Since: cosmos-sdk 0.47-lsm + TotalLiquidStaked(ctx context.Context, in *QueryTotalLiquidStaked, opts ...grpc.CallOption) (*QueryTotalLiquidStakedResponse, error) + // Query tokenize share locks. + // + // Since: cosmos-sdk 0.47-lsm + TokenizeShareLockInfo(ctx context.Context, in *QueryTokenizeShareLockInfo, opts ...grpc.CallOption) (*QueryTokenizeShareLockInfoResponse, error) +} + +type queryClient struct { + cc grpc1.ClientConn +} + +func NewQueryClient(cc grpc1.ClientConn) QueryClient { + return &queryClient{cc} +} + +func (c *queryClient) Validators(ctx context.Context, in *QueryValidatorsRequest, opts ...grpc.CallOption) (*QueryValidatorsResponse, error) { + out := new(QueryValidatorsResponse) + err := c.cc.Invoke(ctx, "/cosmos.staking.v1beta1.Query/Validators", in, out, opts...) if err != nil { return nil, err } - return dAtA[:n], nil + return out, nil } -func (m *QueryValidatorDelegationsResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func (c *queryClient) Validator(ctx context.Context, in *QueryValidatorRequest, opts ...grpc.CallOption) (*QueryValidatorResponse, error) { + out := new(QueryValidatorResponse) + err := c.cc.Invoke(ctx, "/cosmos.staking.v1beta1.Query/Validator", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil } -func (m *QueryValidatorDelegationsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Pagination != nil { - { - size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 - } - if len(m.DelegationResponses) > 0 { - for iNdEx := len(m.DelegationResponses) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.DelegationResponses[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa - } +func (c *queryClient) ValidatorDelegations(ctx context.Context, in *QueryValidatorDelegationsRequest, opts ...grpc.CallOption) (*QueryValidatorDelegationsResponse, error) { + out := new(QueryValidatorDelegationsResponse) + err := c.cc.Invoke(ctx, "/cosmos.staking.v1beta1.Query/ValidatorDelegations", in, out, opts...) + if err != nil { + return nil, err } - return len(dAtA) - i, nil + return out, nil } -func (m *QueryValidatorUnbondingDelegationsRequest) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) +func (c *queryClient) ValidatorUnbondingDelegations(ctx context.Context, in *QueryValidatorUnbondingDelegationsRequest, opts ...grpc.CallOption) (*QueryValidatorUnbondingDelegationsResponse, error) { + out := new(QueryValidatorUnbondingDelegationsResponse) + err := c.cc.Invoke(ctx, "/cosmos.staking.v1beta1.Query/ValidatorUnbondingDelegations", in, out, opts...) if err != nil { return nil, err } - return dAtA[:n], nil + return out, nil } -func (m *QueryValidatorUnbondingDelegationsRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func (c *queryClient) Delegation(ctx context.Context, in *QueryDelegationRequest, opts ...grpc.CallOption) (*QueryDelegationResponse, error) { + out := new(QueryDelegationResponse) + err := c.cc.Invoke(ctx, "/cosmos.staking.v1beta1.Query/Delegation", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil } -func (m *QueryValidatorUnbondingDelegationsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Pagination != nil { - { - size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 +func (c *queryClient) UnbondingDelegation(ctx context.Context, in *QueryUnbondingDelegationRequest, opts ...grpc.CallOption) (*QueryUnbondingDelegationResponse, error) { + out := new(QueryUnbondingDelegationResponse) + err := c.cc.Invoke(ctx, "/cosmos.staking.v1beta1.Query/UnbondingDelegation", in, out, opts...) + if err != nil { + return nil, err } - if len(m.ValidatorAddr) > 0 { - i -= len(m.ValidatorAddr) - copy(dAtA[i:], m.ValidatorAddr) - i = encodeVarintQuery(dAtA, i, uint64(len(m.ValidatorAddr))) - i-- - dAtA[i] = 0xa + return out, nil +} + +func (c *queryClient) DelegatorDelegations(ctx context.Context, in *QueryDelegatorDelegationsRequest, opts ...grpc.CallOption) (*QueryDelegatorDelegationsResponse, error) { + out := new(QueryDelegatorDelegationsResponse) + err := c.cc.Invoke(ctx, "/cosmos.staking.v1beta1.Query/DelegatorDelegations", in, out, opts...) + if err != nil { + return nil, err } - return len(dAtA) - i, nil + return out, nil } -func (m *QueryValidatorUnbondingDelegationsResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) +func (c *queryClient) DelegatorUnbondingDelegations(ctx context.Context, in *QueryDelegatorUnbondingDelegationsRequest, opts ...grpc.CallOption) (*QueryDelegatorUnbondingDelegationsResponse, error) { + out := new(QueryDelegatorUnbondingDelegationsResponse) + err := c.cc.Invoke(ctx, "/cosmos.staking.v1beta1.Query/DelegatorUnbondingDelegations", in, out, opts...) if err != nil { return nil, err } - return dAtA[:n], nil + return out, nil } -func (m *QueryValidatorUnbondingDelegationsResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func (c *queryClient) Redelegations(ctx context.Context, in *QueryRedelegationsRequest, opts ...grpc.CallOption) (*QueryRedelegationsResponse, error) { + out := new(QueryRedelegationsResponse) + err := c.cc.Invoke(ctx, "/cosmos.staking.v1beta1.Query/Redelegations", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil } -func (m *QueryValidatorUnbondingDelegationsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Pagination != nil { - { - size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 - } - if len(m.UnbondingResponses) > 0 { - for iNdEx := len(m.UnbondingResponses) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.UnbondingResponses[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa - } +func (c *queryClient) DelegatorValidators(ctx context.Context, in *QueryDelegatorValidatorsRequest, opts ...grpc.CallOption) (*QueryDelegatorValidatorsResponse, error) { + out := new(QueryDelegatorValidatorsResponse) + err := c.cc.Invoke(ctx, "/cosmos.staking.v1beta1.Query/DelegatorValidators", in, out, opts...) + if err != nil { + return nil, err } - return len(dAtA) - i, nil + return out, nil } -func (m *QueryDelegationRequest) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) +func (c *queryClient) DelegatorValidator(ctx context.Context, in *QueryDelegatorValidatorRequest, opts ...grpc.CallOption) (*QueryDelegatorValidatorResponse, error) { + out := new(QueryDelegatorValidatorResponse) + err := c.cc.Invoke(ctx, "/cosmos.staking.v1beta1.Query/DelegatorValidator", in, out, opts...) if err != nil { return nil, err } - return dAtA[:n], nil -} - -func (m *QueryDelegationRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) + return out, nil } -func (m *QueryDelegationRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.ValidatorAddr) > 0 { - i -= len(m.ValidatorAddr) - copy(dAtA[i:], m.ValidatorAddr) - i = encodeVarintQuery(dAtA, i, uint64(len(m.ValidatorAddr))) - i-- - dAtA[i] = 0x12 - } - if len(m.DelegatorAddr) > 0 { - i -= len(m.DelegatorAddr) - copy(dAtA[i:], m.DelegatorAddr) - i = encodeVarintQuery(dAtA, i, uint64(len(m.DelegatorAddr))) - i-- - dAtA[i] = 0xa +func (c *queryClient) HistoricalInfo(ctx context.Context, in *QueryHistoricalInfoRequest, opts ...grpc.CallOption) (*QueryHistoricalInfoResponse, error) { + out := new(QueryHistoricalInfoResponse) + err := c.cc.Invoke(ctx, "/cosmos.staking.v1beta1.Query/HistoricalInfo", in, out, opts...) + if err != nil { + return nil, err } - return len(dAtA) - i, nil + return out, nil } -func (m *QueryDelegationResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) +func (c *queryClient) Pool(ctx context.Context, in *QueryPoolRequest, opts ...grpc.CallOption) (*QueryPoolResponse, error) { + out := new(QueryPoolResponse) + err := c.cc.Invoke(ctx, "/cosmos.staking.v1beta1.Query/Pool", in, out, opts...) if err != nil { return nil, err } - return dAtA[:n], nil -} - -func (m *QueryDelegationResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) + return out, nil } -func (m *QueryDelegationResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.DelegationResponse != nil { - { - size, err := m.DelegationResponse.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa +func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) { + out := new(QueryParamsResponse) + err := c.cc.Invoke(ctx, "/cosmos.staking.v1beta1.Query/Params", in, out, opts...) + if err != nil { + return nil, err } - return len(dAtA) - i, nil + return out, nil } -func (m *QueryUnbondingDelegationRequest) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) +func (c *queryClient) TokenizeShareRecordById(ctx context.Context, in *QueryTokenizeShareRecordByIdRequest, opts ...grpc.CallOption) (*QueryTokenizeShareRecordByIdResponse, error) { + out := new(QueryTokenizeShareRecordByIdResponse) + err := c.cc.Invoke(ctx, "/cosmos.staking.v1beta1.Query/TokenizeShareRecordById", in, out, opts...) if err != nil { return nil, err } - return dAtA[:n], nil -} - -func (m *QueryUnbondingDelegationRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) + return out, nil } -func (m *QueryUnbondingDelegationRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.ValidatorAddr) > 0 { - i -= len(m.ValidatorAddr) - copy(dAtA[i:], m.ValidatorAddr) - i = encodeVarintQuery(dAtA, i, uint64(len(m.ValidatorAddr))) - i-- - dAtA[i] = 0x12 - } - if len(m.DelegatorAddr) > 0 { - i -= len(m.DelegatorAddr) - copy(dAtA[i:], m.DelegatorAddr) - i = encodeVarintQuery(dAtA, i, uint64(len(m.DelegatorAddr))) - i-- - dAtA[i] = 0xa +func (c *queryClient) TokenizeShareRecordByDenom(ctx context.Context, in *QueryTokenizeShareRecordByDenomRequest, opts ...grpc.CallOption) (*QueryTokenizeShareRecordByDenomResponse, error) { + out := new(QueryTokenizeShareRecordByDenomResponse) + err := c.cc.Invoke(ctx, "/cosmos.staking.v1beta1.Query/TokenizeShareRecordByDenom", in, out, opts...) + if err != nil { + return nil, err } - return len(dAtA) - i, nil + return out, nil } -func (m *QueryUnbondingDelegationResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) +func (c *queryClient) TokenizeShareRecordsOwned(ctx context.Context, in *QueryTokenizeShareRecordsOwnedRequest, opts ...grpc.CallOption) (*QueryTokenizeShareRecordsOwnedResponse, error) { + out := new(QueryTokenizeShareRecordsOwnedResponse) + err := c.cc.Invoke(ctx, "/cosmos.staking.v1beta1.Query/TokenizeShareRecordsOwned", in, out, opts...) if err != nil { return nil, err } - return dAtA[:n], nil -} - -func (m *QueryUnbondingDelegationResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) + return out, nil } -func (m *QueryUnbondingDelegationResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - { - size, err := m.Unbond.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) +func (c *queryClient) AllTokenizeShareRecords(ctx context.Context, in *QueryAllTokenizeShareRecordsRequest, opts ...grpc.CallOption) (*QueryAllTokenizeShareRecordsResponse, error) { + out := new(QueryAllTokenizeShareRecordsResponse) + err := c.cc.Invoke(ctx, "/cosmos.staking.v1beta1.Query/AllTokenizeShareRecords", in, out, opts...) + if err != nil { + return nil, err } - i-- - dAtA[i] = 0xa - return len(dAtA) - i, nil + return out, nil } -func (m *QueryDelegatorDelegationsRequest) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) +func (c *queryClient) LastTokenizeShareRecordId(ctx context.Context, in *QueryLastTokenizeShareRecordIdRequest, opts ...grpc.CallOption) (*QueryLastTokenizeShareRecordIdResponse, error) { + out := new(QueryLastTokenizeShareRecordIdResponse) + err := c.cc.Invoke(ctx, "/cosmos.staking.v1beta1.Query/LastTokenizeShareRecordId", in, out, opts...) if err != nil { return nil, err } - return dAtA[:n], nil -} - -func (m *QueryDelegatorDelegationsRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) + return out, nil } -func (m *QueryDelegatorDelegationsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Pagination != nil { - { - size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 - } - if len(m.DelegatorAddr) > 0 { - i -= len(m.DelegatorAddr) - copy(dAtA[i:], m.DelegatorAddr) - i = encodeVarintQuery(dAtA, i, uint64(len(m.DelegatorAddr))) - i-- - dAtA[i] = 0xa +func (c *queryClient) TotalTokenizeSharedAssets(ctx context.Context, in *QueryTotalTokenizeSharedAssetsRequest, opts ...grpc.CallOption) (*QueryTotalTokenizeSharedAssetsResponse, error) { + out := new(QueryTotalTokenizeSharedAssetsResponse) + err := c.cc.Invoke(ctx, "/cosmos.staking.v1beta1.Query/TotalTokenizeSharedAssets", in, out, opts...) + if err != nil { + return nil, err } - return len(dAtA) - i, nil + return out, nil } -func (m *QueryDelegatorDelegationsResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) +func (c *queryClient) TotalLiquidStaked(ctx context.Context, in *QueryTotalLiquidStaked, opts ...grpc.CallOption) (*QueryTotalLiquidStakedResponse, error) { + out := new(QueryTotalLiquidStakedResponse) + err := c.cc.Invoke(ctx, "/cosmos.staking.v1beta1.Query/TotalLiquidStaked", in, out, opts...) if err != nil { return nil, err } - return dAtA[:n], nil -} - -func (m *QueryDelegatorDelegationsResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) + return out, nil } -func (m *QueryDelegatorDelegationsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Pagination != nil { - { - size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 - } - if len(m.DelegationResponses) > 0 { - for iNdEx := len(m.DelegationResponses) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.DelegationResponses[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa - } +func (c *queryClient) TokenizeShareLockInfo(ctx context.Context, in *QueryTokenizeShareLockInfo, opts ...grpc.CallOption) (*QueryTokenizeShareLockInfoResponse, error) { + out := new(QueryTokenizeShareLockInfoResponse) + err := c.cc.Invoke(ctx, "/cosmos.staking.v1beta1.Query/TokenizeShareLockInfo", in, out, opts...) + if err != nil { + return nil, err } - return len(dAtA) - i, nil + return out, nil } -func (m *QueryDelegatorUnbondingDelegationsRequest) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil +// QueryServer is the server API for Query service. +type QueryServer interface { + // Validators queries all validators that match the given status. + // + // When called from another module, this query might consume a high amount of + // gas if the pagination field is incorrectly set. + Validators(context.Context, *QueryValidatorsRequest) (*QueryValidatorsResponse, error) + // Validator queries validator info for given validator address. + Validator(context.Context, *QueryValidatorRequest) (*QueryValidatorResponse, error) + // ValidatorDelegations queries delegate info for given validator. + // + // When called from another module, this query might consume a high amount of + // gas if the pagination field is incorrectly set. + ValidatorDelegations(context.Context, *QueryValidatorDelegationsRequest) (*QueryValidatorDelegationsResponse, error) + // ValidatorUnbondingDelegations queries unbonding delegations of a validator. + // + // When called from another module, this query might consume a high amount of + // gas if the pagination field is incorrectly set. + ValidatorUnbondingDelegations(context.Context, *QueryValidatorUnbondingDelegationsRequest) (*QueryValidatorUnbondingDelegationsResponse, error) + // Delegation queries delegate info for given validator delegator pair. + Delegation(context.Context, *QueryDelegationRequest) (*QueryDelegationResponse, error) + // UnbondingDelegation queries unbonding info for given validator delegator + // pair. + UnbondingDelegation(context.Context, *QueryUnbondingDelegationRequest) (*QueryUnbondingDelegationResponse, error) + // DelegatorDelegations queries all delegations of a given delegator address. + // + // When called from another module, this query might consume a high amount of + // gas if the pagination field is incorrectly set. + DelegatorDelegations(context.Context, *QueryDelegatorDelegationsRequest) (*QueryDelegatorDelegationsResponse, error) + // DelegatorUnbondingDelegations queries all unbonding delegations of a given + // delegator address. + // + // When called from another module, this query might consume a high amount of + // gas if the pagination field is incorrectly set. + DelegatorUnbondingDelegations(context.Context, *QueryDelegatorUnbondingDelegationsRequest) (*QueryDelegatorUnbondingDelegationsResponse, error) + // Redelegations queries redelegations of given address. + // + // When called from another module, this query might consume a high amount of + // gas if the pagination field is incorrectly set. + Redelegations(context.Context, *QueryRedelegationsRequest) (*QueryRedelegationsResponse, error) + // DelegatorValidators queries all validators info for given delegator + // address. + // + // When called from another module, this query might consume a high amount of + // gas if the pagination field is incorrectly set. + DelegatorValidators(context.Context, *QueryDelegatorValidatorsRequest) (*QueryDelegatorValidatorsResponse, error) + // DelegatorValidator queries validator info for given delegator validator + // pair. + DelegatorValidator(context.Context, *QueryDelegatorValidatorRequest) (*QueryDelegatorValidatorResponse, error) + // HistoricalInfo queries the historical info for given height. + HistoricalInfo(context.Context, *QueryHistoricalInfoRequest) (*QueryHistoricalInfoResponse, error) + // Pool queries the pool info. + Pool(context.Context, *QueryPoolRequest) (*QueryPoolResponse, error) + // Parameters queries the staking parameters. + Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error) + // Query for individual tokenize share record information by share by id. + // + // Since: cosmos-sdk 0.47-lsm + TokenizeShareRecordById(context.Context, *QueryTokenizeShareRecordByIdRequest) (*QueryTokenizeShareRecordByIdResponse, error) + // Query for individual tokenize share record information by share denom. + // + // Since: cosmos-sdk 0.47-lsm + TokenizeShareRecordByDenom(context.Context, *QueryTokenizeShareRecordByDenomRequest) (*QueryTokenizeShareRecordByDenomResponse, error) + // Query tokenize share records by address. + // + // Since: cosmos-sdk 0.47-lsm + TokenizeShareRecordsOwned(context.Context, *QueryTokenizeShareRecordsOwnedRequest) (*QueryTokenizeShareRecordsOwnedResponse, error) + // Query for all tokenize share records. + // + // Since: cosmos-sdk 0.47-lsm + AllTokenizeShareRecords(context.Context, *QueryAllTokenizeShareRecordsRequest) (*QueryAllTokenizeShareRecordsResponse, error) + // Query for last tokenize share record id. + // + // Since: cosmos-sdk 0.47-lsm + LastTokenizeShareRecordId(context.Context, *QueryLastTokenizeShareRecordIdRequest) (*QueryLastTokenizeShareRecordIdResponse, error) + // Query for total tokenized staked assets. + // + // Since: cosmos-sdk 0.47-lsm + TotalTokenizeSharedAssets(context.Context, *QueryTotalTokenizeSharedAssetsRequest) (*QueryTotalTokenizeSharedAssetsResponse, error) + // Query for total liquid staked (including tokenized shares or owned by an liquid staking provider). + // + // Since: cosmos-sdk 0.47-lsm + TotalLiquidStaked(context.Context, *QueryTotalLiquidStaked) (*QueryTotalLiquidStakedResponse, error) + // Query tokenize share locks. + // + // Since: cosmos-sdk 0.47-lsm + TokenizeShareLockInfo(context.Context, *QueryTokenizeShareLockInfo) (*QueryTokenizeShareLockInfoResponse, error) } -func (m *QueryDelegatorUnbondingDelegationsRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +// UnimplementedQueryServer can be embedded to have forward compatible implementations. +type UnimplementedQueryServer struct { } -func (m *QueryDelegatorUnbondingDelegationsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Pagination != nil { - { - size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 - } - if len(m.DelegatorAddr) > 0 { - i -= len(m.DelegatorAddr) - copy(dAtA[i:], m.DelegatorAddr) - i = encodeVarintQuery(dAtA, i, uint64(len(m.DelegatorAddr))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil +func (*UnimplementedQueryServer) Validators(ctx context.Context, req *QueryValidatorsRequest) (*QueryValidatorsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Validators not implemented") +} +func (*UnimplementedQueryServer) Validator(ctx context.Context, req *QueryValidatorRequest) (*QueryValidatorResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Validator not implemented") +} +func (*UnimplementedQueryServer) ValidatorDelegations(ctx context.Context, req *QueryValidatorDelegationsRequest) (*QueryValidatorDelegationsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ValidatorDelegations not implemented") +} +func (*UnimplementedQueryServer) ValidatorUnbondingDelegations(ctx context.Context, req *QueryValidatorUnbondingDelegationsRequest) (*QueryValidatorUnbondingDelegationsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ValidatorUnbondingDelegations not implemented") +} +func (*UnimplementedQueryServer) Delegation(ctx context.Context, req *QueryDelegationRequest) (*QueryDelegationResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Delegation not implemented") +} +func (*UnimplementedQueryServer) UnbondingDelegation(ctx context.Context, req *QueryUnbondingDelegationRequest) (*QueryUnbondingDelegationResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UnbondingDelegation not implemented") +} +func (*UnimplementedQueryServer) DelegatorDelegations(ctx context.Context, req *QueryDelegatorDelegationsRequest) (*QueryDelegatorDelegationsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DelegatorDelegations not implemented") +} +func (*UnimplementedQueryServer) DelegatorUnbondingDelegations(ctx context.Context, req *QueryDelegatorUnbondingDelegationsRequest) (*QueryDelegatorUnbondingDelegationsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DelegatorUnbondingDelegations not implemented") +} +func (*UnimplementedQueryServer) Redelegations(ctx context.Context, req *QueryRedelegationsRequest) (*QueryRedelegationsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Redelegations not implemented") +} +func (*UnimplementedQueryServer) DelegatorValidators(ctx context.Context, req *QueryDelegatorValidatorsRequest) (*QueryDelegatorValidatorsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DelegatorValidators not implemented") +} +func (*UnimplementedQueryServer) DelegatorValidator(ctx context.Context, req *QueryDelegatorValidatorRequest) (*QueryDelegatorValidatorResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DelegatorValidator not implemented") +} +func (*UnimplementedQueryServer) HistoricalInfo(ctx context.Context, req *QueryHistoricalInfoRequest) (*QueryHistoricalInfoResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method HistoricalInfo not implemented") +} +func (*UnimplementedQueryServer) Pool(ctx context.Context, req *QueryPoolRequest) (*QueryPoolResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Pool not implemented") +} +func (*UnimplementedQueryServer) Params(ctx context.Context, req *QueryParamsRequest) (*QueryParamsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Params not implemented") +} +func (*UnimplementedQueryServer) TokenizeShareRecordById(ctx context.Context, req *QueryTokenizeShareRecordByIdRequest) (*QueryTokenizeShareRecordByIdResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method TokenizeShareRecordById not implemented") +} +func (*UnimplementedQueryServer) TokenizeShareRecordByDenom(ctx context.Context, req *QueryTokenizeShareRecordByDenomRequest) (*QueryTokenizeShareRecordByDenomResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method TokenizeShareRecordByDenom not implemented") +} +func (*UnimplementedQueryServer) TokenizeShareRecordsOwned(ctx context.Context, req *QueryTokenizeShareRecordsOwnedRequest) (*QueryTokenizeShareRecordsOwnedResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method TokenizeShareRecordsOwned not implemented") +} +func (*UnimplementedQueryServer) AllTokenizeShareRecords(ctx context.Context, req *QueryAllTokenizeShareRecordsRequest) (*QueryAllTokenizeShareRecordsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AllTokenizeShareRecords not implemented") +} +func (*UnimplementedQueryServer) LastTokenizeShareRecordId(ctx context.Context, req *QueryLastTokenizeShareRecordIdRequest) (*QueryLastTokenizeShareRecordIdResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method LastTokenizeShareRecordId not implemented") +} +func (*UnimplementedQueryServer) TotalTokenizeSharedAssets(ctx context.Context, req *QueryTotalTokenizeSharedAssetsRequest) (*QueryTotalTokenizeSharedAssetsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method TotalTokenizeSharedAssets not implemented") +} +func (*UnimplementedQueryServer) TotalLiquidStaked(ctx context.Context, req *QueryTotalLiquidStaked) (*QueryTotalLiquidStakedResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method TotalLiquidStaked not implemented") +} +func (*UnimplementedQueryServer) TokenizeShareLockInfo(ctx context.Context, req *QueryTokenizeShareLockInfo) (*QueryTokenizeShareLockInfoResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method TokenizeShareLockInfo not implemented") } -func (m *QueryDelegatorUnbondingDelegationsResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func RegisterQueryServer(s grpc1.Server, srv QueryServer) { + s.RegisterService(&_Query_serviceDesc, srv) +} + +func _Query_Validators_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryValidatorsRequest) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil + if interceptor == nil { + return srv.(QueryServer).Validators(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cosmos.staking.v1beta1.Query/Validators", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).Validators(ctx, req.(*QueryValidatorsRequest)) + } + return interceptor(ctx, in, info, handler) } -func (m *QueryDelegatorUnbondingDelegationsResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func _Query_Validator_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryValidatorRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).Validator(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cosmos.staking.v1beta1.Query/Validator", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).Validator(ctx, req.(*QueryValidatorRequest)) + } + return interceptor(ctx, in, info, handler) } -func (m *QueryDelegatorUnbondingDelegationsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Pagination != nil { - { - size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 +func _Query_ValidatorDelegations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryValidatorDelegationsRequest) + if err := dec(in); err != nil { + return nil, err } - if len(m.UnbondingResponses) > 0 { - for iNdEx := len(m.UnbondingResponses) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.UnbondingResponses[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa - } + if interceptor == nil { + return srv.(QueryServer).ValidatorDelegations(ctx, in) } - return len(dAtA) - i, nil + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cosmos.staking.v1beta1.Query/ValidatorDelegations", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).ValidatorDelegations(ctx, req.(*QueryValidatorDelegationsRequest)) + } + return interceptor(ctx, in, info, handler) } -func (m *QueryRedelegationsRequest) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Query_ValidatorUnbondingDelegations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryValidatorUnbondingDelegationsRequest) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil + if interceptor == nil { + return srv.(QueryServer).ValidatorUnbondingDelegations(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cosmos.staking.v1beta1.Query/ValidatorUnbondingDelegations", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).ValidatorUnbondingDelegations(ctx, req.(*QueryValidatorUnbondingDelegationsRequest)) + } + return interceptor(ctx, in, info, handler) } -func (m *QueryRedelegationsRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryRedelegationsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Pagination != nil { - { - size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x22 +func _Query_Delegation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryDelegationRequest) + if err := dec(in); err != nil { + return nil, err } - if len(m.DstValidatorAddr) > 0 { - i -= len(m.DstValidatorAddr) - copy(dAtA[i:], m.DstValidatorAddr) - i = encodeVarintQuery(dAtA, i, uint64(len(m.DstValidatorAddr))) - i-- - dAtA[i] = 0x1a + if interceptor == nil { + return srv.(QueryServer).Delegation(ctx, in) } - if len(m.SrcValidatorAddr) > 0 { - i -= len(m.SrcValidatorAddr) - copy(dAtA[i:], m.SrcValidatorAddr) - i = encodeVarintQuery(dAtA, i, uint64(len(m.SrcValidatorAddr))) - i-- - dAtA[i] = 0x12 + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cosmos.staking.v1beta1.Query/Delegation", } - if len(m.DelegatorAddr) > 0 { - i -= len(m.DelegatorAddr) - copy(dAtA[i:], m.DelegatorAddr) - i = encodeVarintQuery(dAtA, i, uint64(len(m.DelegatorAddr))) - i-- - dAtA[i] = 0xa + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).Delegation(ctx, req.(*QueryDelegationRequest)) } - return len(dAtA) - i, nil + return interceptor(ctx, in, info, handler) } -func (m *QueryRedelegationsResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Query_UnbondingDelegation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryUnbondingDelegationRequest) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil + if interceptor == nil { + return srv.(QueryServer).UnbondingDelegation(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cosmos.staking.v1beta1.Query/UnbondingDelegation", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).UnbondingDelegation(ctx, req.(*QueryUnbondingDelegationRequest)) + } + return interceptor(ctx, in, info, handler) } -func (m *QueryRedelegationsResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func _Query_DelegatorDelegations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryDelegatorDelegationsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).DelegatorDelegations(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cosmos.staking.v1beta1.Query/DelegatorDelegations", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).DelegatorDelegations(ctx, req.(*QueryDelegatorDelegationsRequest)) + } + return interceptor(ctx, in, info, handler) } -func (m *QueryRedelegationsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Pagination != nil { - { - size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 +func _Query_DelegatorUnbondingDelegations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryDelegatorUnbondingDelegationsRequest) + if err := dec(in); err != nil { + return nil, err } - if len(m.RedelegationResponses) > 0 { - for iNdEx := len(m.RedelegationResponses) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.RedelegationResponses[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa - } + if interceptor == nil { + return srv.(QueryServer).DelegatorUnbondingDelegations(ctx, in) } - return len(dAtA) - i, nil + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cosmos.staking.v1beta1.Query/DelegatorUnbondingDelegations", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).DelegatorUnbondingDelegations(ctx, req.(*QueryDelegatorUnbondingDelegationsRequest)) + } + return interceptor(ctx, in, info, handler) } -func (m *QueryDelegatorValidatorsRequest) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Query_Redelegations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryRedelegationsRequest) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil + if interceptor == nil { + return srv.(QueryServer).Redelegations(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cosmos.staking.v1beta1.Query/Redelegations", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).Redelegations(ctx, req.(*QueryRedelegationsRequest)) + } + return interceptor(ctx, in, info, handler) } -func (m *QueryDelegatorValidatorsRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func _Query_DelegatorValidators_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryDelegatorValidatorsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).DelegatorValidators(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cosmos.staking.v1beta1.Query/DelegatorValidators", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).DelegatorValidators(ctx, req.(*QueryDelegatorValidatorsRequest)) + } + return interceptor(ctx, in, info, handler) } -func (m *QueryDelegatorValidatorsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Pagination != nil { - { - size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 +func _Query_DelegatorValidator_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryDelegatorValidatorRequest) + if err := dec(in); err != nil { + return nil, err } - if len(m.DelegatorAddr) > 0 { - i -= len(m.DelegatorAddr) - copy(dAtA[i:], m.DelegatorAddr) - i = encodeVarintQuery(dAtA, i, uint64(len(m.DelegatorAddr))) - i-- - dAtA[i] = 0xa + if interceptor == nil { + return srv.(QueryServer).DelegatorValidator(ctx, in) } - return len(dAtA) - i, nil + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cosmos.staking.v1beta1.Query/DelegatorValidator", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).DelegatorValidator(ctx, req.(*QueryDelegatorValidatorRequest)) + } + return interceptor(ctx, in, info, handler) } -func (m *QueryDelegatorValidatorsResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Query_HistoricalInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryHistoricalInfoRequest) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil + if interceptor == nil { + return srv.(QueryServer).HistoricalInfo(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cosmos.staking.v1beta1.Query/HistoricalInfo", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).HistoricalInfo(ctx, req.(*QueryHistoricalInfoRequest)) + } + return interceptor(ctx, in, info, handler) } -func (m *QueryDelegatorValidatorsResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func _Query_Pool_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryPoolRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).Pool(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cosmos.staking.v1beta1.Query/Pool", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).Pool(ctx, req.(*QueryPoolRequest)) + } + return interceptor(ctx, in, info, handler) } -func (m *QueryDelegatorValidatorsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Pagination != nil { - { - size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 +func _Query_Params_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryParamsRequest) + if err := dec(in); err != nil { + return nil, err } - if len(m.Validators) > 0 { - for iNdEx := len(m.Validators) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.Validators[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa - } + if interceptor == nil { + return srv.(QueryServer).Params(ctx, in) } - return len(dAtA) - i, nil + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cosmos.staking.v1beta1.Query/Params", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).Params(ctx, req.(*QueryParamsRequest)) + } + return interceptor(ctx, in, info, handler) } -func (m *QueryDelegatorValidatorRequest) Marshal() (dAtA []byte, err error) { +func _Query_TokenizeShareRecordById_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryTokenizeShareRecordByIdRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).TokenizeShareRecordById(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cosmos.staking.v1beta1.Query/TokenizeShareRecordById", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).TokenizeShareRecordById(ctx, req.(*QueryTokenizeShareRecordByIdRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_TokenizeShareRecordByDenom_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryTokenizeShareRecordByDenomRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).TokenizeShareRecordByDenom(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cosmos.staking.v1beta1.Query/TokenizeShareRecordByDenom", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).TokenizeShareRecordByDenom(ctx, req.(*QueryTokenizeShareRecordByDenomRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_TokenizeShareRecordsOwned_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryTokenizeShareRecordsOwnedRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).TokenizeShareRecordsOwned(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cosmos.staking.v1beta1.Query/TokenizeShareRecordsOwned", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).TokenizeShareRecordsOwned(ctx, req.(*QueryTokenizeShareRecordsOwnedRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_AllTokenizeShareRecords_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryAllTokenizeShareRecordsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).AllTokenizeShareRecords(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cosmos.staking.v1beta1.Query/AllTokenizeShareRecords", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).AllTokenizeShareRecords(ctx, req.(*QueryAllTokenizeShareRecordsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_LastTokenizeShareRecordId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryLastTokenizeShareRecordIdRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).LastTokenizeShareRecordId(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cosmos.staking.v1beta1.Query/LastTokenizeShareRecordId", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).LastTokenizeShareRecordId(ctx, req.(*QueryLastTokenizeShareRecordIdRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_TotalTokenizeSharedAssets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryTotalTokenizeSharedAssetsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).TotalTokenizeSharedAssets(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cosmos.staking.v1beta1.Query/TotalTokenizeSharedAssets", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).TotalTokenizeSharedAssets(ctx, req.(*QueryTotalTokenizeSharedAssetsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_TotalLiquidStaked_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryTotalLiquidStaked) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).TotalLiquidStaked(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cosmos.staking.v1beta1.Query/TotalLiquidStaked", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).TotalLiquidStaked(ctx, req.(*QueryTotalLiquidStaked)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_TokenizeShareLockInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryTokenizeShareLockInfo) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).TokenizeShareLockInfo(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cosmos.staking.v1beta1.Query/TokenizeShareLockInfo", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).TokenizeShareLockInfo(ctx, req.(*QueryTokenizeShareLockInfo)) + } + return interceptor(ctx, in, info, handler) +} + +var _Query_serviceDesc = grpc.ServiceDesc{ + ServiceName: "cosmos.staking.v1beta1.Query", + HandlerType: (*QueryServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "Validators", + Handler: _Query_Validators_Handler, + }, + { + MethodName: "Validator", + Handler: _Query_Validator_Handler, + }, + { + MethodName: "ValidatorDelegations", + Handler: _Query_ValidatorDelegations_Handler, + }, + { + MethodName: "ValidatorUnbondingDelegations", + Handler: _Query_ValidatorUnbondingDelegations_Handler, + }, + { + MethodName: "Delegation", + Handler: _Query_Delegation_Handler, + }, + { + MethodName: "UnbondingDelegation", + Handler: _Query_UnbondingDelegation_Handler, + }, + { + MethodName: "DelegatorDelegations", + Handler: _Query_DelegatorDelegations_Handler, + }, + { + MethodName: "DelegatorUnbondingDelegations", + Handler: _Query_DelegatorUnbondingDelegations_Handler, + }, + { + MethodName: "Redelegations", + Handler: _Query_Redelegations_Handler, + }, + { + MethodName: "DelegatorValidators", + Handler: _Query_DelegatorValidators_Handler, + }, + { + MethodName: "DelegatorValidator", + Handler: _Query_DelegatorValidator_Handler, + }, + { + MethodName: "HistoricalInfo", + Handler: _Query_HistoricalInfo_Handler, + }, + { + MethodName: "Pool", + Handler: _Query_Pool_Handler, + }, + { + MethodName: "Params", + Handler: _Query_Params_Handler, + }, + { + MethodName: "TokenizeShareRecordById", + Handler: _Query_TokenizeShareRecordById_Handler, + }, + { + MethodName: "TokenizeShareRecordByDenom", + Handler: _Query_TokenizeShareRecordByDenom_Handler, + }, + { + MethodName: "TokenizeShareRecordsOwned", + Handler: _Query_TokenizeShareRecordsOwned_Handler, + }, + { + MethodName: "AllTokenizeShareRecords", + Handler: _Query_AllTokenizeShareRecords_Handler, + }, + { + MethodName: "LastTokenizeShareRecordId", + Handler: _Query_LastTokenizeShareRecordId_Handler, + }, + { + MethodName: "TotalTokenizeSharedAssets", + Handler: _Query_TotalTokenizeSharedAssets_Handler, + }, + { + MethodName: "TotalLiquidStaked", + Handler: _Query_TotalLiquidStaked_Handler, + }, + { + MethodName: "TokenizeShareLockInfo", + Handler: _Query_TokenizeShareLockInfo_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "cosmos/staking/v1beta1/query.proto", +} + +func (m *QueryValidatorsRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -3009,34 +3310,39 @@ func (m *QueryDelegatorValidatorRequest) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *QueryDelegatorValidatorRequest) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryValidatorsRequest) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryDelegatorValidatorRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryValidatorsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.ValidatorAddr) > 0 { - i -= len(m.ValidatorAddr) - copy(dAtA[i:], m.ValidatorAddr) - i = encodeVarintQuery(dAtA, i, uint64(len(m.ValidatorAddr))) + if m.Pagination != nil { + { + size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } i-- dAtA[i] = 0x12 } - if len(m.DelegatorAddr) > 0 { - i -= len(m.DelegatorAddr) - copy(dAtA[i:], m.DelegatorAddr) - i = encodeVarintQuery(dAtA, i, uint64(len(m.DelegatorAddr))) + if len(m.Status) > 0 { + i -= len(m.Status) + copy(dAtA[i:], m.Status) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Status))) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *QueryDelegatorValidatorResponse) Marshal() (dAtA []byte, err error) { +func (m *QueryValidatorsResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -3046,17 +3352,96 @@ func (m *QueryDelegatorValidatorResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *QueryDelegatorValidatorResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryValidatorsResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryDelegatorValidatorResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryValidatorsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - { + if m.Pagination != nil { + { + size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + if len(m.Validators) > 0 { + for iNdEx := len(m.Validators) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Validators[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + +func (m *QueryValidatorRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryValidatorRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryValidatorRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.ValidatorAddr) > 0 { + i -= len(m.ValidatorAddr) + copy(dAtA[i:], m.ValidatorAddr) + i = encodeVarintQuery(dAtA, i, uint64(len(m.ValidatorAddr))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QueryValidatorResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryValidatorResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryValidatorResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { size, err := m.Validator.MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err @@ -3069,7 +3454,7 @@ func (m *QueryDelegatorValidatorResponse) MarshalToSizedBuffer(dAtA []byte) (int return len(dAtA) - i, nil } -func (m *QueryHistoricalInfoRequest) Marshal() (dAtA []byte, err error) { +func (m *QueryValidatorDelegationsRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -3079,25 +3464,39 @@ func (m *QueryHistoricalInfoRequest) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *QueryHistoricalInfoRequest) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryValidatorDelegationsRequest) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryHistoricalInfoRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryValidatorDelegationsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.Height != 0 { - i = encodeVarintQuery(dAtA, i, uint64(m.Height)) + if m.Pagination != nil { + { + size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } i-- - dAtA[i] = 0x8 + dAtA[i] = 0x12 + } + if len(m.ValidatorAddr) > 0 { + i -= len(m.ValidatorAddr) + copy(dAtA[i:], m.ValidatorAddr) + i = encodeVarintQuery(dAtA, i, uint64(len(m.ValidatorAddr))) + i-- + dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *QueryHistoricalInfoResponse) Marshal() (dAtA []byte, err error) { +func (m *QueryValidatorDelegationsResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -3107,19 +3506,19 @@ func (m *QueryHistoricalInfoResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *QueryHistoricalInfoResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryValidatorDelegationsResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryHistoricalInfoResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryValidatorDelegationsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.Hist != nil { + if m.Pagination != nil { { - size, err := m.Hist.MarshalToSizedBuffer(dAtA[:i]) + size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -3127,12 +3526,26 @@ func (m *QueryHistoricalInfoResponse) MarshalToSizedBuffer(dAtA []byte) (int, er i = encodeVarintQuery(dAtA, i, uint64(size)) } i-- - dAtA[i] = 0xa + dAtA[i] = 0x12 + } + if len(m.DelegationResponses) > 0 { + for iNdEx := len(m.DelegationResponses) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.DelegationResponses[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } } return len(dAtA) - i, nil } -func (m *QueryPoolRequest) Marshal() (dAtA []byte, err error) { +func (m *QueryValidatorUnbondingDelegationsRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -3142,20 +3555,39 @@ func (m *QueryPoolRequest) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *QueryPoolRequest) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryValidatorUnbondingDelegationsRequest) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryPoolRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryValidatorUnbondingDelegationsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l + if m.Pagination != nil { + { + size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + if len(m.ValidatorAddr) > 0 { + i -= len(m.ValidatorAddr) + copy(dAtA[i:], m.ValidatorAddr) + i = encodeVarintQuery(dAtA, i, uint64(len(m.ValidatorAddr))) + i-- + dAtA[i] = 0xa + } return len(dAtA) - i, nil } -func (m *QueryPoolResponse) Marshal() (dAtA []byte, err error) { +func (m *QueryValidatorUnbondingDelegationsResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -3165,30 +3597,46 @@ func (m *QueryPoolResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *QueryPoolResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryValidatorUnbondingDelegationsResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryPoolResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryValidatorUnbondingDelegationsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - { - size, err := m.Pool.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err + if m.Pagination != nil { + { + size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + if len(m.UnbondingResponses) > 0 { + for iNdEx := len(m.UnbondingResponses) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.UnbondingResponses[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) } - i-- - dAtA[i] = 0xa return len(dAtA) - i, nil } -func (m *QueryParamsRequest) Marshal() (dAtA []byte, err error) { +func (m *QueryDelegationRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -3198,20 +3646,34 @@ func (m *QueryParamsRequest) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *QueryParamsRequest) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryDelegationRequest) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryParamsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryDelegationRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l + if len(m.ValidatorAddr) > 0 { + i -= len(m.ValidatorAddr) + copy(dAtA[i:], m.ValidatorAddr) + i = encodeVarintQuery(dAtA, i, uint64(len(m.ValidatorAddr))) + i-- + dAtA[i] = 0x12 + } + if len(m.DelegatorAddr) > 0 { + i -= len(m.DelegatorAddr) + copy(dAtA[i:], m.DelegatorAddr) + i = encodeVarintQuery(dAtA, i, uint64(len(m.DelegatorAddr))) + i-- + dAtA[i] = 0xa + } return len(dAtA) - i, nil } -func (m *QueryParamsResponse) Marshal() (dAtA []byte, err error) { +func (m *QueryDelegationResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -3221,482 +3683,2959 @@ func (m *QueryParamsResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *QueryParamsResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryDelegationResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryParamsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryDelegationResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - { - size, err := m.Params.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err + if m.DelegationResponse != nil { + { + size, err := m.DelegationResponse.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa } - i-- - dAtA[i] = 0xa return len(dAtA) - i, nil } -func encodeVarintQuery(dAtA []byte, offset int, v uint64) int { - offset -= sovQuery(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ +func (m *QueryUnbondingDelegationRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - dAtA[offset] = uint8(v) - return base + return dAtA[:n], nil } -func (m *QueryValidatorsRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Status) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - if m.Pagination != nil { - l = m.Pagination.Size() - n += 1 + l + sovQuery(uint64(l)) - } - return n + +func (m *QueryUnbondingDelegationRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryValidatorsResponse) Size() (n int) { - if m == nil { - return 0 - } +func (m *QueryUnbondingDelegationRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - if len(m.Validators) > 0 { - for _, e := range m.Validators { - l = e.Size() - n += 1 + l + sovQuery(uint64(l)) - } + if len(m.ValidatorAddr) > 0 { + i -= len(m.ValidatorAddr) + copy(dAtA[i:], m.ValidatorAddr) + i = encodeVarintQuery(dAtA, i, uint64(len(m.ValidatorAddr))) + i-- + dAtA[i] = 0x12 } - if m.Pagination != nil { - l = m.Pagination.Size() - n += 1 + l + sovQuery(uint64(l)) + if len(m.DelegatorAddr) > 0 { + i -= len(m.DelegatorAddr) + copy(dAtA[i:], m.DelegatorAddr) + i = encodeVarintQuery(dAtA, i, uint64(len(m.DelegatorAddr))) + i-- + dAtA[i] = 0xa } - return n + return len(dAtA) - i, nil } -func (m *QueryValidatorRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.ValidatorAddr) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) +func (m *QueryUnbondingDelegationResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - return n + return dAtA[:n], nil } -func (m *QueryValidatorResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = m.Validator.Size() - n += 1 + l + sovQuery(uint64(l)) - return n +func (m *QueryUnbondingDelegationResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryValidatorDelegationsRequest) Size() (n int) { - if m == nil { - return 0 - } +func (m *QueryUnbondingDelegationResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.ValidatorAddr) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - if m.Pagination != nil { - l = m.Pagination.Size() - n += 1 + l + sovQuery(uint64(l)) + { + size, err := m.Unbond.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) } - return n + i-- + dAtA[i] = 0xa + return len(dAtA) - i, nil } -func (m *QueryValidatorDelegationsResponse) Size() (n int) { - if m == nil { - return 0 +func (m *QueryDelegatorDelegationsRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } + return dAtA[:n], nil +} + +func (m *QueryDelegatorDelegationsRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryDelegatorDelegationsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - if len(m.DelegationResponses) > 0 { - for _, e := range m.DelegationResponses { - l = e.Size() - n += 1 + l + sovQuery(uint64(l)) + if m.Pagination != nil { + { + size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) } + i-- + dAtA[i] = 0x12 } - if m.Pagination != nil { - l = m.Pagination.Size() - n += 1 + l + sovQuery(uint64(l)) + if len(m.DelegatorAddr) > 0 { + i -= len(m.DelegatorAddr) + copy(dAtA[i:], m.DelegatorAddr) + i = encodeVarintQuery(dAtA, i, uint64(len(m.DelegatorAddr))) + i-- + dAtA[i] = 0xa } - return n + return len(dAtA) - i, nil } -func (m *QueryValidatorUnbondingDelegationsRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.ValidatorAddr) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - if m.Pagination != nil { - l = m.Pagination.Size() - n += 1 + l + sovQuery(uint64(l)) +func (m *QueryDelegatorDelegationsResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - return n + return dAtA[:n], nil } -func (m *QueryValidatorUnbondingDelegationsResponse) Size() (n int) { - if m == nil { - return 0 - } +func (m *QueryDelegatorDelegationsResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryDelegatorDelegationsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - if len(m.UnbondingResponses) > 0 { - for _, e := range m.UnbondingResponses { - l = e.Size() - n += 1 + l + sovQuery(uint64(l)) + if m.Pagination != nil { + { + size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) } + i-- + dAtA[i] = 0x12 } - if m.Pagination != nil { - l = m.Pagination.Size() - n += 1 + l + sovQuery(uint64(l)) + if len(m.DelegationResponses) > 0 { + for iNdEx := len(m.DelegationResponses) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.DelegationResponses[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } } - return n + return len(dAtA) - i, nil } -func (m *QueryDelegationRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.DelegatorAddr) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - l = len(m.ValidatorAddr) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) +func (m *QueryDelegatorUnbondingDelegationsRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - return n + return dAtA[:n], nil } -func (m *QueryDelegationResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.DelegationResponse != nil { - l = m.DelegationResponse.Size() - n += 1 + l + sovQuery(uint64(l)) - } - return n +func (m *QueryDelegatorUnbondingDelegationsRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryUnbondingDelegationRequest) Size() (n int) { - if m == nil { - return 0 - } +func (m *QueryDelegatorUnbondingDelegationsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.DelegatorAddr) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) + if m.Pagination != nil { + { + size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 } - l = len(m.ValidatorAddr) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) + if len(m.DelegatorAddr) > 0 { + i -= len(m.DelegatorAddr) + copy(dAtA[i:], m.DelegatorAddr) + i = encodeVarintQuery(dAtA, i, uint64(len(m.DelegatorAddr))) + i-- + dAtA[i] = 0xa } - return n + return len(dAtA) - i, nil } -func (m *QueryUnbondingDelegationResponse) Size() (n int) { - if m == nil { - return 0 +func (m *QueryDelegatorUnbondingDelegationsResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - var l int - _ = l - l = m.Unbond.Size() - n += 1 + l + sovQuery(uint64(l)) - return n + return dAtA[:n], nil } -func (m *QueryDelegatorDelegationsRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.DelegatorAddr) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - if m.Pagination != nil { - l = m.Pagination.Size() - n += 1 + l + sovQuery(uint64(l)) - } - return n +func (m *QueryDelegatorUnbondingDelegationsResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryDelegatorDelegationsResponse) Size() (n int) { - if m == nil { - return 0 - } +func (m *QueryDelegatorUnbondingDelegationsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - if len(m.DelegationResponses) > 0 { - for _, e := range m.DelegationResponses { - l = e.Size() - n += 1 + l + sovQuery(uint64(l)) + if m.Pagination != nil { + { + size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) } + i-- + dAtA[i] = 0x12 } - if m.Pagination != nil { - l = m.Pagination.Size() - n += 1 + l + sovQuery(uint64(l)) + if len(m.UnbondingResponses) > 0 { + for iNdEx := len(m.UnbondingResponses) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.UnbondingResponses[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } } - return n + return len(dAtA) - i, nil } -func (m *QueryDelegatorUnbondingDelegationsRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.DelegatorAddr) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - if m.Pagination != nil { - l = m.Pagination.Size() - n += 1 + l + sovQuery(uint64(l)) +func (m *QueryRedelegationsRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - return n + return dAtA[:n], nil } -func (m *QueryDelegatorUnbondingDelegationsResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.UnbondingResponses) > 0 { - for _, e := range m.UnbondingResponses { - l = e.Size() - n += 1 + l + sovQuery(uint64(l)) - } - } - if m.Pagination != nil { - l = m.Pagination.Size() - n += 1 + l + sovQuery(uint64(l)) - } - return n +func (m *QueryRedelegationsRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryRedelegationsRequest) Size() (n int) { - if m == nil { - return 0 - } +func (m *QueryRedelegationsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.DelegatorAddr) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) + if m.Pagination != nil { + { + size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 } - l = len(m.SrcValidatorAddr) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) + if len(m.DstValidatorAddr) > 0 { + i -= len(m.DstValidatorAddr) + copy(dAtA[i:], m.DstValidatorAddr) + i = encodeVarintQuery(dAtA, i, uint64(len(m.DstValidatorAddr))) + i-- + dAtA[i] = 0x1a } - l = len(m.DstValidatorAddr) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) + if len(m.SrcValidatorAddr) > 0 { + i -= len(m.SrcValidatorAddr) + copy(dAtA[i:], m.SrcValidatorAddr) + i = encodeVarintQuery(dAtA, i, uint64(len(m.SrcValidatorAddr))) + i-- + dAtA[i] = 0x12 } - if m.Pagination != nil { - l = m.Pagination.Size() - n += 1 + l + sovQuery(uint64(l)) + if len(m.DelegatorAddr) > 0 { + i -= len(m.DelegatorAddr) + copy(dAtA[i:], m.DelegatorAddr) + i = encodeVarintQuery(dAtA, i, uint64(len(m.DelegatorAddr))) + i-- + dAtA[i] = 0xa } - return n + return len(dAtA) - i, nil } -func (m *QueryRedelegationsResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.RedelegationResponses) > 0 { - for _, e := range m.RedelegationResponses { - l = e.Size() - n += 1 + l + sovQuery(uint64(l)) - } - } - if m.Pagination != nil { - l = m.Pagination.Size() - n += 1 + l + sovQuery(uint64(l)) +func (m *QueryRedelegationsResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - return n + return dAtA[:n], nil } -func (m *QueryDelegatorValidatorsRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.DelegatorAddr) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) - } - if m.Pagination != nil { - l = m.Pagination.Size() - n += 1 + l + sovQuery(uint64(l)) - } - return n +func (m *QueryRedelegationsResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryDelegatorValidatorsResponse) Size() (n int) { - if m == nil { - return 0 - } +func (m *QueryRedelegationsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - if len(m.Validators) > 0 { - for _, e := range m.Validators { - l = e.Size() - n += 1 + l + sovQuery(uint64(l)) - } - } if m.Pagination != nil { - l = m.Pagination.Size() - n += 1 + l + sovQuery(uint64(l)) + { + size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 } - return n -} - -func (m *QueryDelegatorValidatorRequest) Size() (n int) { - if m == nil { - return 0 + if len(m.RedelegationResponses) > 0 { + for iNdEx := len(m.RedelegationResponses) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.RedelegationResponses[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + +func (m *QueryDelegatorValidatorsRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } + return dAtA[:n], nil +} + +func (m *QueryDelegatorValidatorsRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryDelegatorValidatorsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.DelegatorAddr) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) + if m.Pagination != nil { + { + size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 } - l = len(m.ValidatorAddr) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) + if len(m.DelegatorAddr) > 0 { + i -= len(m.DelegatorAddr) + copy(dAtA[i:], m.DelegatorAddr) + i = encodeVarintQuery(dAtA, i, uint64(len(m.DelegatorAddr))) + i-- + dAtA[i] = 0xa } - return n + return len(dAtA) - i, nil } -func (m *QueryDelegatorValidatorResponse) Size() (n int) { - if m == nil { - return 0 +func (m *QueryDelegatorValidatorsResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } + return dAtA[:n], nil +} + +func (m *QueryDelegatorValidatorsResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryDelegatorValidatorsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = m.Validator.Size() - n += 1 + l + sovQuery(uint64(l)) - return n + if m.Pagination != nil { + { + size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + if len(m.Validators) > 0 { + for iNdEx := len(m.Validators) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Validators[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil } -func (m *QueryHistoricalInfoRequest) Size() (n int) { - if m == nil { - return 0 +func (m *QueryDelegatorValidatorRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryDelegatorValidatorRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryDelegatorValidatorRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.ValidatorAddr) > 0 { + i -= len(m.ValidatorAddr) + copy(dAtA[i:], m.ValidatorAddr) + i = encodeVarintQuery(dAtA, i, uint64(len(m.ValidatorAddr))) + i-- + dAtA[i] = 0x12 + } + if len(m.DelegatorAddr) > 0 { + i -= len(m.DelegatorAddr) + copy(dAtA[i:], m.DelegatorAddr) + i = encodeVarintQuery(dAtA, i, uint64(len(m.DelegatorAddr))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QueryDelegatorValidatorResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryDelegatorValidatorResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryDelegatorValidatorResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size, err := m.Validator.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + return len(dAtA) - i, nil +} + +func (m *QueryHistoricalInfoRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } + return dAtA[:n], nil +} + +func (m *QueryHistoricalInfoRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryHistoricalInfoRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l if m.Height != 0 { - n += 1 + sovQuery(uint64(m.Height)) + i = encodeVarintQuery(dAtA, i, uint64(m.Height)) + i-- + dAtA[i] = 0x8 } - return n + return len(dAtA) - i, nil } -func (m *QueryHistoricalInfoResponse) Size() (n int) { - if m == nil { - return 0 +func (m *QueryHistoricalInfoResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } + return dAtA[:n], nil +} + +func (m *QueryHistoricalInfoResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryHistoricalInfoResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l if m.Hist != nil { - l = m.Hist.Size() - n += 1 + l + sovQuery(uint64(l)) + { + size, err := m.Hist.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa } - return n + return len(dAtA) - i, nil } -func (m *QueryPoolRequest) Size() (n int) { - if m == nil { - return 0 +func (m *QueryPoolRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryPoolRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryPoolRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *QueryPoolResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryPoolResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryPoolResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size, err := m.Pool.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + return len(dAtA) - i, nil +} + +func (m *QueryParamsRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryParamsRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryParamsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *QueryParamsResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryParamsResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryParamsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size, err := m.Params.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + return len(dAtA) - i, nil +} + +func (m *QueryTokenizeShareRecordByIdRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryTokenizeShareRecordByIdRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryTokenizeShareRecordByIdRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Id != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.Id)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *QueryTokenizeShareRecordByIdResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryTokenizeShareRecordByIdResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryTokenizeShareRecordByIdResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size, err := m.Record.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + return len(dAtA) - i, nil +} + +func (m *QueryTokenizeShareRecordByDenomRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryTokenizeShareRecordByDenomRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryTokenizeShareRecordByDenomRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Denom) > 0 { + i -= len(m.Denom) + copy(dAtA[i:], m.Denom) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Denom))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QueryTokenizeShareRecordByDenomResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryTokenizeShareRecordByDenomResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryTokenizeShareRecordByDenomResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size, err := m.Record.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + return len(dAtA) - i, nil +} + +func (m *QueryTokenizeShareRecordsOwnedRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryTokenizeShareRecordsOwnedRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryTokenizeShareRecordsOwnedRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Owner) > 0 { + i -= len(m.Owner) + copy(dAtA[i:], m.Owner) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Owner))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QueryTokenizeShareRecordsOwnedResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryTokenizeShareRecordsOwnedResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryTokenizeShareRecordsOwnedResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Records) > 0 { + for iNdEx := len(m.Records) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Records[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + +func (m *QueryAllTokenizeShareRecordsRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryAllTokenizeShareRecordsRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryAllTokenizeShareRecordsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Pagination != nil { + { + size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QueryAllTokenizeShareRecordsResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryAllTokenizeShareRecordsResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryAllTokenizeShareRecordsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Pagination != nil { + { + size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + if len(m.Records) > 0 { + for iNdEx := len(m.Records) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Records[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + +func (m *QueryLastTokenizeShareRecordIdRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryLastTokenizeShareRecordIdRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryLastTokenizeShareRecordIdRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *QueryLastTokenizeShareRecordIdResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryLastTokenizeShareRecordIdResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryLastTokenizeShareRecordIdResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Id != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.Id)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *QueryTotalTokenizeSharedAssetsRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryTotalTokenizeSharedAssetsRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryTotalTokenizeSharedAssetsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *QueryTotalTokenizeSharedAssetsResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryTotalTokenizeSharedAssetsResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryTotalTokenizeSharedAssetsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size, err := m.Value.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + return len(dAtA) - i, nil +} + +func (m *QueryTotalLiquidStaked) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryTotalLiquidStaked) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryTotalLiquidStaked) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *QueryTotalLiquidStakedResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryTotalLiquidStakedResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryTotalLiquidStakedResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size := m.Tokens.Size() + i -= size + if _, err := m.Tokens.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + return len(dAtA) - i, nil +} + +func (m *QueryTokenizeShareLockInfo) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryTokenizeShareLockInfo) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryTokenizeShareLockInfo) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Address) > 0 { + i -= len(m.Address) + copy(dAtA[i:], m.Address) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Address))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QueryTokenizeShareLockInfoResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryTokenizeShareLockInfoResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryTokenizeShareLockInfoResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.ExpirationTime) > 0 { + i -= len(m.ExpirationTime) + copy(dAtA[i:], m.ExpirationTime) + i = encodeVarintQuery(dAtA, i, uint64(len(m.ExpirationTime))) + i-- + dAtA[i] = 0x12 + } + if len(m.Status) > 0 { + i -= len(m.Status) + copy(dAtA[i:], m.Status) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Status))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func encodeVarintQuery(dAtA []byte, offset int, v uint64) int { + offset -= sovQuery(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *QueryValidatorsRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Status) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + if m.Pagination != nil { + l = m.Pagination.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryValidatorsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Validators) > 0 { + for _, e := range m.Validators { + l = e.Size() + n += 1 + l + sovQuery(uint64(l)) + } + } + if m.Pagination != nil { + l = m.Pagination.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryValidatorRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.ValidatorAddr) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryValidatorResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = m.Validator.Size() + n += 1 + l + sovQuery(uint64(l)) + return n +} + +func (m *QueryValidatorDelegationsRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.ValidatorAddr) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + if m.Pagination != nil { + l = m.Pagination.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryValidatorDelegationsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.DelegationResponses) > 0 { + for _, e := range m.DelegationResponses { + l = e.Size() + n += 1 + l + sovQuery(uint64(l)) + } + } + if m.Pagination != nil { + l = m.Pagination.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryValidatorUnbondingDelegationsRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.ValidatorAddr) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + if m.Pagination != nil { + l = m.Pagination.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryValidatorUnbondingDelegationsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.UnbondingResponses) > 0 { + for _, e := range m.UnbondingResponses { + l = e.Size() + n += 1 + l + sovQuery(uint64(l)) + } + } + if m.Pagination != nil { + l = m.Pagination.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryDelegationRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.DelegatorAddr) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + l = len(m.ValidatorAddr) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryDelegationResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.DelegationResponse != nil { + l = m.DelegationResponse.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryUnbondingDelegationRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.DelegatorAddr) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + l = len(m.ValidatorAddr) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryUnbondingDelegationResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = m.Unbond.Size() + n += 1 + l + sovQuery(uint64(l)) + return n +} + +func (m *QueryDelegatorDelegationsRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.DelegatorAddr) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + if m.Pagination != nil { + l = m.Pagination.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryDelegatorDelegationsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.DelegationResponses) > 0 { + for _, e := range m.DelegationResponses { + l = e.Size() + n += 1 + l + sovQuery(uint64(l)) + } + } + if m.Pagination != nil { + l = m.Pagination.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryDelegatorUnbondingDelegationsRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.DelegatorAddr) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + if m.Pagination != nil { + l = m.Pagination.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryDelegatorUnbondingDelegationsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.UnbondingResponses) > 0 { + for _, e := range m.UnbondingResponses { + l = e.Size() + n += 1 + l + sovQuery(uint64(l)) + } + } + if m.Pagination != nil { + l = m.Pagination.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryRedelegationsRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.DelegatorAddr) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + l = len(m.SrcValidatorAddr) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + l = len(m.DstValidatorAddr) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + if m.Pagination != nil { + l = m.Pagination.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryRedelegationsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.RedelegationResponses) > 0 { + for _, e := range m.RedelegationResponses { + l = e.Size() + n += 1 + l + sovQuery(uint64(l)) + } + } + if m.Pagination != nil { + l = m.Pagination.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryDelegatorValidatorsRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.DelegatorAddr) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + if m.Pagination != nil { + l = m.Pagination.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryDelegatorValidatorsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Validators) > 0 { + for _, e := range m.Validators { + l = e.Size() + n += 1 + l + sovQuery(uint64(l)) + } + } + if m.Pagination != nil { + l = m.Pagination.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryDelegatorValidatorRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.DelegatorAddr) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + l = len(m.ValidatorAddr) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryDelegatorValidatorResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = m.Validator.Size() + n += 1 + l + sovQuery(uint64(l)) + return n +} + +func (m *QueryHistoricalInfoRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Height != 0 { + n += 1 + sovQuery(uint64(m.Height)) + } + return n +} + +func (m *QueryHistoricalInfoResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Hist != nil { + l = m.Hist.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryPoolRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *QueryPoolResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = m.Pool.Size() + n += 1 + l + sovQuery(uint64(l)) + return n +} + +func (m *QueryParamsRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *QueryParamsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = m.Params.Size() + n += 1 + l + sovQuery(uint64(l)) + return n +} + +func (m *QueryTokenizeShareRecordByIdRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Id != 0 { + n += 1 + sovQuery(uint64(m.Id)) + } + return n +} + +func (m *QueryTokenizeShareRecordByIdResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = m.Record.Size() + n += 1 + l + sovQuery(uint64(l)) + return n +} + +func (m *QueryTokenizeShareRecordByDenomRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Denom) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryTokenizeShareRecordByDenomResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = m.Record.Size() + n += 1 + l + sovQuery(uint64(l)) + return n +} + +func (m *QueryTokenizeShareRecordsOwnedRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Owner) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryTokenizeShareRecordsOwnedResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Records) > 0 { + for _, e := range m.Records { + l = e.Size() + n += 1 + l + sovQuery(uint64(l)) + } + } + return n +} + +func (m *QueryAllTokenizeShareRecordsRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Pagination != nil { + l = m.Pagination.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryAllTokenizeShareRecordsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Records) > 0 { + for _, e := range m.Records { + l = e.Size() + n += 1 + l + sovQuery(uint64(l)) + } + } + if m.Pagination != nil { + l = m.Pagination.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryLastTokenizeShareRecordIdRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *QueryLastTokenizeShareRecordIdResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Id != 0 { + n += 1 + sovQuery(uint64(m.Id)) + } + return n +} + +func (m *QueryTotalTokenizeSharedAssetsRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *QueryTotalTokenizeSharedAssetsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = m.Value.Size() + n += 1 + l + sovQuery(uint64(l)) + return n +} + +func (m *QueryTotalLiquidStaked) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *QueryTotalLiquidStakedResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = m.Tokens.Size() + n += 1 + l + sovQuery(uint64(l)) + return n +} + +func (m *QueryTokenizeShareLockInfo) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Address) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryTokenizeShareLockInfoResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Status) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + l = len(m.ExpirationTime) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func sovQuery(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozQuery(x uint64) (n int) { + return sovQuery(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *QueryValidatorsRequest) 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 ErrIntOverflowQuery + } + 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: QueryValidatorsRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryValidatorsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Status = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Pagination == nil { + m.Pagination = &query.PageRequest{} + } + if err := m.Pagination.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryValidatorsResponse) 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 ErrIntOverflowQuery + } + 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: QueryValidatorsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryValidatorsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Validators", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Validators = append(m.Validators, Validator{}) + if err := m.Validators[len(m.Validators)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Pagination == nil { + m.Pagination = &query.PageResponse{} + } + if err := m.Pagination.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryValidatorRequest) 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 ErrIntOverflowQuery + } + 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: QueryValidatorRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryValidatorRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ValidatorAddr", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ValidatorAddr = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryValidatorResponse) 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 ErrIntOverflowQuery + } + 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: QueryValidatorResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryValidatorResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Validator", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Validator.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryValidatorDelegationsRequest) 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 ErrIntOverflowQuery + } + 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: QueryValidatorDelegationsRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryValidatorDelegationsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ValidatorAddr", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ValidatorAddr = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Pagination == nil { + m.Pagination = &query.PageRequest{} + } + if err := m.Pagination.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryValidatorDelegationsResponse) 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 ErrIntOverflowQuery + } + 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: QueryValidatorDelegationsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryValidatorDelegationsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DelegationResponses", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DelegationResponses = append(m.DelegationResponses, DelegationResponse{}) + if err := m.DelegationResponses[len(m.DelegationResponses)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Pagination == nil { + m.Pagination = &query.PageResponse{} + } + if err := m.Pagination.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryValidatorUnbondingDelegationsRequest) 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 ErrIntOverflowQuery + } + 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: QueryValidatorUnbondingDelegationsRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryValidatorUnbondingDelegationsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ValidatorAddr", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ValidatorAddr = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Pagination == nil { + m.Pagination = &query.PageRequest{} + } + if err := m.Pagination.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryValidatorUnbondingDelegationsResponse) 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 ErrIntOverflowQuery + } + 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: QueryValidatorUnbondingDelegationsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryValidatorUnbondingDelegationsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field UnbondingResponses", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.UnbondingResponses = append(m.UnbondingResponses, UnbondingDelegation{}) + if err := m.UnbondingResponses[len(m.UnbondingResponses)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Pagination == nil { + m.Pagination = &query.PageResponse{} + } + if err := m.Pagination.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryDelegationRequest) 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 ErrIntOverflowQuery + } + 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: QueryDelegationRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryDelegationRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DelegatorAddr", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DelegatorAddr = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ValidatorAddr", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ValidatorAddr = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } } - var l int - _ = l - return n -} -func (m *QueryPoolResponse) Size() (n int) { - if m == nil { - return 0 + if iNdEx > l { + return io.ErrUnexpectedEOF } - var l int - _ = l - l = m.Pool.Size() - n += 1 + l + sovQuery(uint64(l)) - return n + return nil } - -func (m *QueryParamsRequest) Size() (n int) { - if m == nil { - return 0 +func (m *QueryDelegationResponse) 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 ErrIntOverflowQuery + } + 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: QueryDelegationResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryDelegationResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DelegationResponse", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.DelegationResponse == nil { + m.DelegationResponse = &DelegationResponse{} + } + if err := m.DelegationResponse.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } } - var l int - _ = l - return n -} -func (m *QueryParamsResponse) Size() (n int) { - if m == nil { - return 0 + if iNdEx > l { + return io.ErrUnexpectedEOF } - var l int - _ = l - l = m.Params.Size() - n += 1 + l + sovQuery(uint64(l)) - return n -} - -func sovQuery(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozQuery(x uint64) (n int) { - return sovQuery(uint64((x << 1) ^ uint64((int64(x) >> 63)))) + return nil } -func (m *QueryValidatorsRequest) Unmarshal(dAtA []byte) error { +func (m *QueryUnbondingDelegationRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -3719,15 +6658,15 @@ func (m *QueryValidatorsRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryValidatorsRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryUnbondingDelegationRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryValidatorsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryUnbondingDelegationRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DelegatorAddr", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -3755,13 +6694,13 @@ func (m *QueryValidatorsRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Status = string(dAtA[iNdEx:postIndex]) + m.DelegatorAddr = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ValidatorAddr", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -3771,27 +6710,23 @@ func (m *QueryValidatorsRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthQuery } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthQuery } if postIndex > l { return io.ErrUnexpectedEOF } - if m.Pagination == nil { - m.Pagination = &query.PageRequest{} - } - if err := m.Pagination.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.ValidatorAddr = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -3814,7 +6749,7 @@ func (m *QueryValidatorsRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryValidatorsResponse) Unmarshal(dAtA []byte) error { +func (m *QueryUnbondingDelegationResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -3837,15 +6772,15 @@ func (m *QueryValidatorsResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryValidatorsResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryUnbondingDelegationResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryValidatorsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryUnbondingDelegationResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Validators", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Unbond", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -3872,10 +6807,91 @@ func (m *QueryValidatorsResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Validators = append(m.Validators, Validator{}) - if err := m.Validators[len(m.Validators)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Unbond.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { return err } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryDelegatorDelegationsRequest) 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 ErrIntOverflowQuery + } + 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: QueryDelegatorDelegationsRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryDelegatorDelegationsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DelegatorAddr", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DelegatorAddr = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: if wireType != 2 { @@ -3907,7 +6923,7 @@ func (m *QueryValidatorsResponse) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Pagination == nil { - m.Pagination = &query.PageResponse{} + m.Pagination = &query.PageRequest{} } if err := m.Pagination.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -3934,7 +6950,7 @@ func (m *QueryValidatorsResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryValidatorRequest) Unmarshal(dAtA []byte) error { +func (m *QueryDelegatorDelegationsResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -3957,17 +6973,17 @@ func (m *QueryValidatorRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryValidatorRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryDelegatorDelegationsResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryValidatorRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryDelegatorDelegationsResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ValidatorAddr", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DelegationResponses", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -3977,77 +6993,29 @@ func (m *QueryValidatorRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return ErrInvalidLengthQuery } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthQuery } if postIndex > l { return io.ErrUnexpectedEOF } - m.ValidatorAddr = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipQuery(dAtA[iNdEx:]) - if err != nil { + m.DelegationResponses = append(m.DelegationResponses, DelegationResponse{}) + if err := m.DelegationResponses[len(m.DelegationResponses)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *QueryValidatorResponse) 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 ErrIntOverflowQuery - } - 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: QueryValidatorResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryValidatorResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + iNdEx = postIndex + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Validator", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -4074,7 +7042,10 @@ func (m *QueryValidatorResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Validator.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if m.Pagination == nil { + m.Pagination = &query.PageResponse{} + } + if err := m.Pagination.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -4099,7 +7070,7 @@ func (m *QueryValidatorResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryValidatorDelegationsRequest) Unmarshal(dAtA []byte) error { +func (m *QueryDelegatorUnbondingDelegationsRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -4122,15 +7093,15 @@ func (m *QueryValidatorDelegationsRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryValidatorDelegationsRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryDelegatorUnbondingDelegationsRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryValidatorDelegationsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryDelegatorUnbondingDelegationsRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ValidatorAddr", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DelegatorAddr", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -4158,7 +7129,7 @@ func (m *QueryValidatorDelegationsRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.ValidatorAddr = string(dAtA[iNdEx:postIndex]) + m.DelegatorAddr = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: if wireType != 2 { @@ -4217,7 +7188,7 @@ func (m *QueryValidatorDelegationsRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryValidatorDelegationsResponse) Unmarshal(dAtA []byte) error { +func (m *QueryDelegatorUnbondingDelegationsResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -4240,15 +7211,15 @@ func (m *QueryValidatorDelegationsResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryValidatorDelegationsResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryDelegatorUnbondingDelegationsResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryValidatorDelegationsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryDelegatorUnbondingDelegationsResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DelegationResponses", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field UnbondingResponses", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -4275,8 +7246,8 @@ func (m *QueryValidatorDelegationsResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.DelegationResponses = append(m.DelegationResponses, DelegationResponse{}) - if err := m.DelegationResponses[len(m.DelegationResponses)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + m.UnbondingResponses = append(m.UnbondingResponses, UnbondingDelegation{}) + if err := m.UnbondingResponses[len(m.UnbondingResponses)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -4337,7 +7308,7 @@ func (m *QueryValidatorDelegationsResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryValidatorUnbondingDelegationsRequest) Unmarshal(dAtA []byte) error { +func (m *QueryRedelegationsRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -4360,15 +7331,15 @@ func (m *QueryValidatorUnbondingDelegationsRequest) Unmarshal(dAtA []byte) error fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryValidatorUnbondingDelegationsRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryRedelegationsRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryValidatorUnbondingDelegationsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryRedelegationsRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ValidatorAddr", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DelegatorAddr", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -4396,9 +7367,73 @@ func (m *QueryValidatorUnbondingDelegationsRequest) Unmarshal(dAtA []byte) error if postIndex > l { return io.ErrUnexpectedEOF } - m.ValidatorAddr = string(dAtA[iNdEx:postIndex]) + m.DelegatorAddr = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SrcValidatorAddr", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.SrcValidatorAddr = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DstValidatorAddr", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DstValidatorAddr = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType) } @@ -4455,7 +7490,7 @@ func (m *QueryValidatorUnbondingDelegationsRequest) Unmarshal(dAtA []byte) error } return nil } -func (m *QueryValidatorUnbondingDelegationsResponse) Unmarshal(dAtA []byte) error { +func (m *QueryRedelegationsResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -4478,15 +7513,15 @@ func (m *QueryValidatorUnbondingDelegationsResponse) Unmarshal(dAtA []byte) erro fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryValidatorUnbondingDelegationsResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryRedelegationsResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryValidatorUnbondingDelegationsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryRedelegationsResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UnbondingResponses", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field RedelegationResponses", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -4513,8 +7548,8 @@ func (m *QueryValidatorUnbondingDelegationsResponse) Unmarshal(dAtA []byte) erro if postIndex > l { return io.ErrUnexpectedEOF } - m.UnbondingResponses = append(m.UnbondingResponses, UnbondingDelegation{}) - if err := m.UnbondingResponses[len(m.UnbondingResponses)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + m.RedelegationResponses = append(m.RedelegationResponses, RedelegationResponse{}) + if err := m.RedelegationResponses[len(m.RedelegationResponses)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -4575,7 +7610,7 @@ func (m *QueryValidatorUnbondingDelegationsResponse) Unmarshal(dAtA []byte) erro } return nil } -func (m *QueryDelegationRequest) Unmarshal(dAtA []byte) error { +func (m *QueryDelegatorValidatorsRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -4598,10 +7633,10 @@ func (m *QueryDelegationRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryDelegationRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryDelegatorValidatorsRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryDelegationRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryDelegatorValidatorsRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -4638,9 +7673,9 @@ func (m *QueryDelegationRequest) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ValidatorAddr", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -4650,23 +7685,27 @@ func (m *QueryDelegationRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return ErrInvalidLengthQuery } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthQuery } if postIndex > l { return io.ErrUnexpectedEOF } - m.ValidatorAddr = string(dAtA[iNdEx:postIndex]) + if m.Pagination == nil { + m.Pagination = &query.PageRequest{} + } + if err := m.Pagination.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex default: iNdEx = preIndex @@ -4689,7 +7728,7 @@ func (m *QueryDelegationRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryDelegationResponse) Unmarshal(dAtA []byte) error { +func (m *QueryDelegatorValidatorsResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -4712,15 +7751,49 @@ func (m *QueryDelegationResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryDelegationResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryDelegatorValidatorsResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryDelegationResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryDelegatorValidatorsResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DelegationResponse", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Validators", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Validators = append(m.Validators, Validator{}) + if err := m.Validators[len(m.Validators)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -4747,10 +7820,10 @@ func (m *QueryDelegationResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.DelegationResponse == nil { - m.DelegationResponse = &DelegationResponse{} + if m.Pagination == nil { + m.Pagination = &query.PageResponse{} } - if err := m.DelegationResponse.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Pagination.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -4775,7 +7848,7 @@ func (m *QueryDelegationResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryUnbondingDelegationRequest) Unmarshal(dAtA []byte) error { +func (m *QueryDelegatorValidatorRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -4798,10 +7871,10 @@ func (m *QueryUnbondingDelegationRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryUnbondingDelegationRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryDelegatorValidatorRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryUnbondingDelegationRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryDelegatorValidatorRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -4889,7 +7962,7 @@ func (m *QueryUnbondingDelegationRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryUnbondingDelegationResponse) Unmarshal(dAtA []byte) error { +func (m *QueryDelegatorValidatorResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -4912,15 +7985,15 @@ func (m *QueryUnbondingDelegationResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryUnbondingDelegationResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryDelegatorValidatorResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryUnbondingDelegationResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryDelegatorValidatorResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Unbond", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Validator", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -4947,7 +8020,7 @@ func (m *QueryUnbondingDelegationResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Unbond.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Validator.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -4972,7 +8045,7 @@ func (m *QueryUnbondingDelegationResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryDelegatorDelegationsRequest) Unmarshal(dAtA []byte) error { +func (m *QueryHistoricalInfoRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -4995,17 +8068,17 @@ func (m *QueryDelegatorDelegationsRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryDelegatorDelegationsRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryHistoricalInfoRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryDelegatorDelegationsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryHistoricalInfoRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DelegatorAddr", wireType) + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Height", wireType) } - var stringLen uint64 + m.Height = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -5015,27 +8088,64 @@ func (m *QueryDelegatorDelegationsRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + m.Height |= int64(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err } - postIndex := iNdEx + intStringLen - if postIndex < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthQuery } - if postIndex > l { + if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.DelegatorAddr = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryHistoricalInfoResponse) 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 ErrIntOverflowQuery + } + 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: QueryHistoricalInfoResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryHistoricalInfoResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Hist", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -5062,10 +8172,10 @@ func (m *QueryDelegatorDelegationsRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Pagination == nil { - m.Pagination = &query.PageRequest{} + if m.Hist == nil { + m.Hist = &HistoricalInfo{} } - if err := m.Pagination.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Hist.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -5090,7 +8200,7 @@ func (m *QueryDelegatorDelegationsRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryDelegatorDelegationsResponse) Unmarshal(dAtA []byte) error { +func (m *QueryPoolRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -5113,49 +8223,65 @@ func (m *QueryDelegatorDelegationsResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryDelegatorDelegationsResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryPoolRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryDelegatorDelegationsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryPoolRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DelegationResponses", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err } - if msglen < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthQuery } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthQuery + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF } - if postIndex > l { + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryPoolResponse) 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 ErrIntOverflowQuery + } + if iNdEx >= l { return io.ErrUnexpectedEOF } - m.DelegationResponses = append(m.DelegationResponses, DelegationResponse{}) - if err := m.DelegationResponses[len(m.DelegationResponses)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break } - iNdEx = postIndex - case 2: + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryPoolResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryPoolResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Pool", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -5182,10 +8308,7 @@ func (m *QueryDelegatorDelegationsResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Pagination == nil { - m.Pagination = &query.PageResponse{} - } - if err := m.Pagination.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Pool.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -5210,7 +8333,7 @@ func (m *QueryDelegatorDelegationsResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryDelegatorUnbondingDelegationsRequest) Unmarshal(dAtA []byte) error { +func (m *QueryParamsRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -5233,47 +8356,65 @@ func (m *QueryDelegatorUnbondingDelegationsRequest) Unmarshal(dAtA []byte) error fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryDelegatorUnbondingDelegationsRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryParamsRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryDelegatorUnbondingDelegationsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryParamsRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DelegatorAddr", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err } - intStringLen := int(stringLen) - if intStringLen < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthQuery } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF } - if postIndex > l { + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryParamsResponse) 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 ErrIntOverflowQuery + } + if iNdEx >= l { return io.ErrUnexpectedEOF } - m.DelegatorAddr = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: + 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: QueryParamsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryParamsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -5300,10 +8441,7 @@ func (m *QueryDelegatorUnbondingDelegationsRequest) Unmarshal(dAtA []byte) error if postIndex > l { return io.ErrUnexpectedEOF } - if m.Pagination == nil { - m.Pagination = &query.PageRequest{} - } - if err := m.Pagination.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -5328,7 +8466,7 @@ func (m *QueryDelegatorUnbondingDelegationsRequest) Unmarshal(dAtA []byte) error } return nil } -func (m *QueryDelegatorUnbondingDelegationsResponse) Unmarshal(dAtA []byte) error { +func (m *QueryTokenizeShareRecordByIdRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -5351,17 +8489,17 @@ func (m *QueryDelegatorUnbondingDelegationsResponse) Unmarshal(dAtA []byte) erro fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryDelegatorUnbondingDelegationsResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryTokenizeShareRecordByIdRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryDelegatorUnbondingDelegationsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryTokenizeShareRecordByIdRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UnbondingResponses", wireType) + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) } - var msglen int + m.Id = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -5371,29 +8509,64 @@ func (m *QueryDelegatorUnbondingDelegationsResponse) Unmarshal(dAtA []byte) erro } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + m.Id |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { - return ErrInvalidLengthQuery + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err } - postIndex := iNdEx + msglen - if postIndex < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthQuery } - if postIndex > l { + if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.UnbondingResponses = append(m.UnbondingResponses, UnbondingDelegation{}) - if err := m.UnbondingResponses[len(m.UnbondingResponses)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryTokenizeShareRecordByIdResponse) 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 ErrIntOverflowQuery } - iNdEx = postIndex - case 2: + 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: QueryTokenizeShareRecordByIdResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryTokenizeShareRecordByIdResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Record", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -5420,10 +8593,7 @@ func (m *QueryDelegatorUnbondingDelegationsResponse) Unmarshal(dAtA []byte) erro if postIndex > l { return io.ErrUnexpectedEOF } - if m.Pagination == nil { - m.Pagination = &query.PageResponse{} - } - if err := m.Pagination.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Record.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -5448,7 +8618,7 @@ func (m *QueryDelegatorUnbondingDelegationsResponse) Unmarshal(dAtA []byte) erro } return nil } -func (m *QueryRedelegationsRequest) Unmarshal(dAtA []byte) error { +func (m *QueryTokenizeShareRecordByDenomRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -5471,15 +8641,15 @@ func (m *QueryRedelegationsRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryRedelegationsRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryTokenizeShareRecordByDenomRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryRedelegationsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryTokenizeShareRecordByDenomRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DelegatorAddr", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Denom", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -5507,75 +8677,61 @@ func (m *QueryRedelegationsRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.DelegatorAddr = string(dAtA[iNdEx:postIndex]) + m.Denom = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SrcValidatorAddr", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err } - postIndex := iNdEx + intStringLen - if postIndex < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthQuery } - if postIndex > l { + if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.SrcValidatorAddr = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DstValidatorAddr", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryTokenizeShareRecordByDenomResponse) 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 ErrIntOverflowQuery } - if postIndex > l { + if iNdEx >= l { return io.ErrUnexpectedEOF } - m.DstValidatorAddr = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: + 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: QueryTokenizeShareRecordByDenomResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryTokenizeShareRecordByDenomResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Record", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -5602,10 +8758,7 @@ func (m *QueryRedelegationsRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Pagination == nil { - m.Pagination = &query.PageRequest{} - } - if err := m.Pagination.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Record.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -5630,7 +8783,7 @@ func (m *QueryRedelegationsRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryRedelegationsResponse) Unmarshal(dAtA []byte) error { +func (m *QueryTokenizeShareRecordsOwnedRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -5653,17 +8806,17 @@ func (m *QueryRedelegationsResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryRedelegationsResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryTokenizeShareRecordsOwnedRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryRedelegationsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryTokenizeShareRecordsOwnedRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RedelegationResponses", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Owner", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -5673,29 +8826,77 @@ func (m *QueryRedelegationsResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthQuery } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthQuery } if postIndex > l { return io.ErrUnexpectedEOF } - m.RedelegationResponses = append(m.RedelegationResponses, RedelegationResponse{}) - if err := m.RedelegationResponses[len(m.RedelegationResponses)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + m.Owner = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { return err } - iNdEx = postIndex - case 2: + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryTokenizeShareRecordsOwnedResponse) 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 ErrIntOverflowQuery + } + 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: QueryTokenizeShareRecordsOwnedResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryTokenizeShareRecordsOwnedResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Records", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -5722,10 +8923,8 @@ func (m *QueryRedelegationsResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Pagination == nil { - m.Pagination = &query.PageResponse{} - } - if err := m.Pagination.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + m.Records = append(m.Records, TokenizeShareRecord{}) + if err := m.Records[len(m.Records)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -5750,7 +8949,7 @@ func (m *QueryRedelegationsResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryDelegatorValidatorsRequest) Unmarshal(dAtA []byte) error { +func (m *QueryAllTokenizeShareRecordsRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -5773,45 +8972,13 @@ func (m *QueryDelegatorValidatorsRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryDelegatorValidatorsRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryAllTokenizeShareRecordsRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryDelegatorValidatorsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryAllTokenizeShareRecordsRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DelegatorAddr", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.DelegatorAddr = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType) } @@ -5868,7 +9035,7 @@ func (m *QueryDelegatorValidatorsRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryDelegatorValidatorsResponse) Unmarshal(dAtA []byte) error { +func (m *QueryAllTokenizeShareRecordsResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -5891,15 +9058,15 @@ func (m *QueryDelegatorValidatorsResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryDelegatorValidatorsResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryAllTokenizeShareRecordsResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryDelegatorValidatorsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryAllTokenizeShareRecordsResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Validators", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Records", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -5926,8 +9093,8 @@ func (m *QueryDelegatorValidatorsResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Validators = append(m.Validators, Validator{}) - if err := m.Validators[len(m.Validators)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + m.Records = append(m.Records, TokenizeShareRecord{}) + if err := m.Records[len(m.Records)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -5988,7 +9155,7 @@ func (m *QueryDelegatorValidatorsResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryDelegatorValidatorRequest) Unmarshal(dAtA []byte) error { +func (m *QueryLastTokenizeShareRecordIdRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -6011,76 +9178,12 @@ func (m *QueryDelegatorValidatorRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryDelegatorValidatorRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryLastTokenizeShareRecordIdRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryDelegatorValidatorRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryLastTokenizeShareRecordIdRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DelegatorAddr", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.DelegatorAddr = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ValidatorAddr", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ValidatorAddr = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -6102,7 +9205,7 @@ func (m *QueryDelegatorValidatorRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryDelegatorValidatorResponse) Unmarshal(dAtA []byte) error { +func (m *QueryLastTokenizeShareRecordIdResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -6125,17 +9228,17 @@ func (m *QueryDelegatorValidatorResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryDelegatorValidatorResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryLastTokenizeShareRecordIdResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryDelegatorValidatorResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryLastTokenizeShareRecordIdResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Validator", wireType) + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) } - var msglen int + m.Id = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -6145,25 +9248,11 @@ func (m *QueryDelegatorValidatorResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + m.Id |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.Validator.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -6185,7 +9274,7 @@ func (m *QueryDelegatorValidatorResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryHistoricalInfoRequest) Unmarshal(dAtA []byte) error { +func (m *QueryTotalTokenizeSharedAssetsRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -6208,31 +9297,12 @@ func (m *QueryHistoricalInfoRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryHistoricalInfoRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryTotalTokenizeSharedAssetsRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryHistoricalInfoRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryTotalTokenizeSharedAssetsRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Height", wireType) - } - m.Height = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Height |= int64(b&0x7F) << shift - if b < 0x80 { - break - } - } default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -6254,7 +9324,7 @@ func (m *QueryHistoricalInfoRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryHistoricalInfoResponse) Unmarshal(dAtA []byte) error { +func (m *QueryTotalTokenizeSharedAssetsResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -6277,15 +9347,15 @@ func (m *QueryHistoricalInfoResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryHistoricalInfoResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryTotalTokenizeSharedAssetsResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryHistoricalInfoResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryTotalTokenizeSharedAssetsResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Hist", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -6312,10 +9382,7 @@ func (m *QueryHistoricalInfoResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Hist == nil { - m.Hist = &HistoricalInfo{} - } - if err := m.Hist.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Value.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -6340,7 +9407,7 @@ func (m *QueryHistoricalInfoResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryPoolRequest) Unmarshal(dAtA []byte) error { +func (m *QueryTotalLiquidStaked) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -6363,10 +9430,10 @@ func (m *QueryPoolRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryPoolRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryTotalLiquidStaked: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryPoolRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryTotalLiquidStaked: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -6390,7 +9457,7 @@ func (m *QueryPoolRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryPoolResponse) Unmarshal(dAtA []byte) error { +func (m *QueryTotalLiquidStakedResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -6413,17 +9480,17 @@ func (m *QueryPoolResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryPoolResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryTotalLiquidStakedResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryPoolResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryTotalLiquidStakedResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Pool", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Tokens", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -6433,22 +9500,23 @@ func (m *QueryPoolResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthQuery } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthQuery } if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Pool.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Tokens.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -6473,7 +9541,7 @@ func (m *QueryPoolResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryParamsRequest) Unmarshal(dAtA []byte) error { +func (m *QueryTokenizeShareLockInfo) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -6496,12 +9564,44 @@ func (m *QueryParamsRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryParamsRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryTokenizeShareLockInfo: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryParamsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryTokenizeShareLockInfo: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Address = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -6523,7 +9623,7 @@ func (m *QueryParamsRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryParamsResponse) Unmarshal(dAtA []byte) error { +func (m *QueryTokenizeShareLockInfoResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -6546,17 +9646,17 @@ func (m *QueryParamsResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryParamsResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryTokenizeShareLockInfoResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryParamsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryTokenizeShareLockInfoResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -6566,24 +9666,55 @@ func (m *QueryParamsResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthQuery } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthQuery } if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err + m.Status = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ExpirationTime", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF } + m.ExpirationTime = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex diff --git a/x/staking/types/query.pb.gw.go b/x/staking/types/query.pb.gw.go index 7ed30880ddff..64425249562d 100644 --- a/x/staking/types/query.pb.gw.go +++ b/x/staking/types/query.pb.gw.go @@ -873,13 +873,480 @@ func local_request_Query_Params_0(ctx context.Context, marshaler runtime.Marshal } +func request_Query_TokenizeShareRecordById_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryTokenizeShareRecordByIdRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.Uint64(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := client.TokenizeShareRecordById(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_TokenizeShareRecordById_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryTokenizeShareRecordByIdRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + + protoReq.Id, err = runtime.Uint64(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + + msg, err := server.TokenizeShareRecordById(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Query_TokenizeShareRecordByDenom_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryTokenizeShareRecordByDenomRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["denom"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "denom") + } + + protoReq.Denom, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "denom", err) + } + + msg, err := client.TokenizeShareRecordByDenom(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_TokenizeShareRecordByDenom_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryTokenizeShareRecordByDenomRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["denom"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "denom") + } + + protoReq.Denom, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "denom", err) + } + + msg, err := server.TokenizeShareRecordByDenom(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Query_TokenizeShareRecordsOwned_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryTokenizeShareRecordsOwnedRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["owner"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "owner") + } + + protoReq.Owner, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "owner", err) + } + + msg, err := client.TokenizeShareRecordsOwned(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_TokenizeShareRecordsOwned_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryTokenizeShareRecordsOwnedRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["owner"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "owner") + } + + protoReq.Owner, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "owner", err) + } + + msg, err := server.TokenizeShareRecordsOwned(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_Query_AllTokenizeShareRecords_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} +) + +func request_Query_AllTokenizeShareRecords_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryAllTokenizeShareRecordsRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_AllTokenizeShareRecords_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.AllTokenizeShareRecords(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_AllTokenizeShareRecords_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryAllTokenizeShareRecordsRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_AllTokenizeShareRecords_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.AllTokenizeShareRecords(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Query_LastTokenizeShareRecordId_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryLastTokenizeShareRecordIdRequest + var metadata runtime.ServerMetadata + + msg, err := client.LastTokenizeShareRecordId(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_LastTokenizeShareRecordId_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryLastTokenizeShareRecordIdRequest + var metadata runtime.ServerMetadata + + msg, err := server.LastTokenizeShareRecordId(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Query_TotalTokenizeSharedAssets_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryTotalTokenizeSharedAssetsRequest + var metadata runtime.ServerMetadata + + msg, err := client.TotalTokenizeSharedAssets(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_TotalTokenizeSharedAssets_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryTotalTokenizeSharedAssetsRequest + var metadata runtime.ServerMetadata + + msg, err := server.TotalTokenizeSharedAssets(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Query_TotalLiquidStaked_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryTotalLiquidStaked + var metadata runtime.ServerMetadata + + msg, err := client.TotalLiquidStaked(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_TotalLiquidStaked_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryTotalLiquidStaked + var metadata runtime.ServerMetadata + + msg, err := server.TotalLiquidStaked(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Query_TokenizeShareLockInfo_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryTokenizeShareLockInfo + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["address"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "address") + } + + protoReq.Address, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "address", err) + } + + msg, err := client.TokenizeShareLockInfo(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_TokenizeShareLockInfo_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryTokenizeShareLockInfo + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["address"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "address") + } + + protoReq.Address, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "address", err) + } + + msg, err := server.TokenizeShareLockInfo(ctx, &protoReq) + return msg, metadata, err + +} + // RegisterQueryHandlerServer registers the http handlers for service Query to "mux". // UnaryRPC :call QueryServer directly. // StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. // Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterQueryHandlerFromEndpoint instead. func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, server QueryServer) error { - mux.Handle("GET", pattern_Query_Validators_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Query_Validators_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Query_Validators_0(rctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_Validators_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Query_Validator_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Query_Validator_0(rctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_Validator_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Query_ValidatorDelegations_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Query_ValidatorDelegations_0(rctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_ValidatorDelegations_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Query_ValidatorUnbondingDelegations_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Query_ValidatorUnbondingDelegations_0(rctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_ValidatorUnbondingDelegations_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Query_Delegation_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Query_Delegation_0(rctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_Delegation_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Query_UnbondingDelegation_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Query_UnbondingDelegation_0(rctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_UnbondingDelegation_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Query_DelegatorDelegations_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Query_DelegatorDelegations_0(rctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_DelegatorDelegations_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Query_DelegatorUnbondingDelegations_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream @@ -890,7 +1357,7 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Query_Validators_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Query_DelegatorUnbondingDelegations_0(rctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -898,11 +1365,11 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv return } - forward_Query_Validators_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Query_DelegatorUnbondingDelegations_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Query_Validator_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Query_Redelegations_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream @@ -913,7 +1380,7 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Query_Validator_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Query_Redelegations_0(rctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -921,11 +1388,11 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv return } - forward_Query_Validator_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Query_Redelegations_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Query_ValidatorDelegations_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Query_DelegatorValidators_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream @@ -936,7 +1403,7 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Query_ValidatorDelegations_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Query_DelegatorValidators_0(rctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -944,11 +1411,11 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv return } - forward_Query_ValidatorDelegations_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Query_DelegatorValidators_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Query_ValidatorUnbondingDelegations_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Query_DelegatorValidator_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream @@ -959,7 +1426,7 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Query_ValidatorUnbondingDelegations_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Query_DelegatorValidator_0(rctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -967,11 +1434,11 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv return } - forward_Query_ValidatorUnbondingDelegations_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Query_DelegatorValidator_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Query_Delegation_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Query_HistoricalInfo_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream @@ -982,7 +1449,7 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Query_Delegation_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Query_HistoricalInfo_0(rctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -990,11 +1457,11 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv return } - forward_Query_Delegation_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Query_HistoricalInfo_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Query_UnbondingDelegation_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Query_Pool_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream @@ -1005,7 +1472,7 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Query_UnbondingDelegation_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Query_Pool_0(rctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -1013,11 +1480,11 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv return } - forward_Query_UnbondingDelegation_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Query_Pool_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Query_DelegatorDelegations_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Query_Params_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream @@ -1028,7 +1495,7 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Query_DelegatorDelegations_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Query_Params_0(rctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -1036,11 +1503,11 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv return } - forward_Query_DelegatorDelegations_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Query_Params_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Query_DelegatorUnbondingDelegations_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Query_TokenizeShareRecordById_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream @@ -1051,7 +1518,7 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Query_DelegatorUnbondingDelegations_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Query_TokenizeShareRecordById_0(rctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -1059,11 +1526,11 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv return } - forward_Query_DelegatorUnbondingDelegations_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Query_TokenizeShareRecordById_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Query_Redelegations_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Query_TokenizeShareRecordByDenom_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream @@ -1074,7 +1541,7 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Query_Redelegations_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Query_TokenizeShareRecordByDenom_0(rctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -1082,11 +1549,11 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv return } - forward_Query_Redelegations_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Query_TokenizeShareRecordByDenom_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Query_DelegatorValidators_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Query_TokenizeShareRecordsOwned_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream @@ -1097,7 +1564,7 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Query_DelegatorValidators_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Query_TokenizeShareRecordsOwned_0(rctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -1105,11 +1572,11 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv return } - forward_Query_DelegatorValidators_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Query_TokenizeShareRecordsOwned_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Query_DelegatorValidator_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Query_AllTokenizeShareRecords_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream @@ -1120,7 +1587,7 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Query_DelegatorValidator_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Query_AllTokenizeShareRecords_0(rctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -1128,11 +1595,11 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv return } - forward_Query_DelegatorValidator_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Query_AllTokenizeShareRecords_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Query_HistoricalInfo_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Query_LastTokenizeShareRecordId_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream @@ -1143,7 +1610,7 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Query_HistoricalInfo_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Query_LastTokenizeShareRecordId_0(rctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -1151,11 +1618,11 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv return } - forward_Query_HistoricalInfo_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Query_LastTokenizeShareRecordId_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Query_Pool_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Query_TotalTokenizeSharedAssets_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream @@ -1166,7 +1633,7 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Query_Pool_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Query_TotalTokenizeSharedAssets_0(rctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -1174,11 +1641,11 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv return } - forward_Query_Pool_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Query_TotalTokenizeSharedAssets_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Query_Params_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Query_TotalLiquidStaked_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream @@ -1189,7 +1656,7 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Query_Params_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Query_TotalLiquidStaked_0(rctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -1197,7 +1664,30 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv return } - forward_Query_Params_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Query_TotalLiquidStaked_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Query_TokenizeShareLockInfo_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Query_TokenizeShareLockInfo_0(rctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_TokenizeShareLockInfo_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1522,6 +2012,166 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie }) + mux.Handle("GET", pattern_Query_TokenizeShareRecordById_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Query_TokenizeShareRecordById_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_TokenizeShareRecordById_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Query_TokenizeShareRecordByDenom_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Query_TokenizeShareRecordByDenom_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_TokenizeShareRecordByDenom_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Query_TokenizeShareRecordsOwned_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Query_TokenizeShareRecordsOwned_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_TokenizeShareRecordsOwned_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Query_AllTokenizeShareRecords_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Query_AllTokenizeShareRecords_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_AllTokenizeShareRecords_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Query_LastTokenizeShareRecordId_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Query_LastTokenizeShareRecordId_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_LastTokenizeShareRecordId_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Query_TotalTokenizeSharedAssets_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Query_TotalTokenizeSharedAssets_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_TotalTokenizeSharedAssets_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Query_TotalLiquidStaked_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Query_TotalLiquidStaked_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_TotalLiquidStaked_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Query_TokenizeShareLockInfo_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Query_TokenizeShareLockInfo_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_TokenizeShareLockInfo_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -1553,6 +2203,22 @@ var ( pattern_Query_Pool_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"cosmos", "staking", "v1beta1", "pool"}, "", runtime.AssumeColonVerbOpt(false))) pattern_Query_Params_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"cosmos", "staking", "v1beta1", "params"}, "", runtime.AssumeColonVerbOpt(false))) + + pattern_Query_TokenizeShareRecordById_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"cosmos", "staking", "v1beta1", "tokenize_share_record_by_id", "id"}, "", runtime.AssumeColonVerbOpt(false))) + + pattern_Query_TokenizeShareRecordByDenom_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"cosmos", "staking", "v1beta1", "tokenize_share_record_by_denom", "denom"}, "", runtime.AssumeColonVerbOpt(false))) + + pattern_Query_TokenizeShareRecordsOwned_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"cosmos", "staking", "v1beta1", "tokenize_share_record_owned", "owner"}, "", runtime.AssumeColonVerbOpt(false))) + + pattern_Query_AllTokenizeShareRecords_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"cosmos", "staking", "v1beta1", "tokenize_share_records"}, "", runtime.AssumeColonVerbOpt(false))) + + pattern_Query_LastTokenizeShareRecordId_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"cosmos", "staking", "v1beta1", "last_tokenize_share_record_id"}, "", runtime.AssumeColonVerbOpt(false))) + + pattern_Query_TotalTokenizeSharedAssets_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"cosmos", "staking", "v1beta1", "total_tokenize_shared_assets"}, "", runtime.AssumeColonVerbOpt(false))) + + pattern_Query_TotalLiquidStaked_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"cosmos", "staking", "v1beta1", "total_liquid_staked"}, "", runtime.AssumeColonVerbOpt(false))) + + pattern_Query_TokenizeShareLockInfo_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"cosmos", "staking", "v1beta1", "tokenize_share_lock_info", "address"}, "", runtime.AssumeColonVerbOpt(false))) ) var ( @@ -1583,4 +2249,20 @@ var ( forward_Query_Pool_0 = runtime.ForwardResponseMessage forward_Query_Params_0 = runtime.ForwardResponseMessage + + forward_Query_TokenizeShareRecordById_0 = runtime.ForwardResponseMessage + + forward_Query_TokenizeShareRecordByDenom_0 = runtime.ForwardResponseMessage + + forward_Query_TokenizeShareRecordsOwned_0 = runtime.ForwardResponseMessage + + forward_Query_AllTokenizeShareRecords_0 = runtime.ForwardResponseMessage + + forward_Query_LastTokenizeShareRecordId_0 = runtime.ForwardResponseMessage + + forward_Query_TotalTokenizeSharedAssets_0 = runtime.ForwardResponseMessage + + forward_Query_TotalLiquidStaked_0 = runtime.ForwardResponseMessage + + forward_Query_TokenizeShareLockInfo_0 = runtime.ForwardResponseMessage ) diff --git a/x/staking/types/staking.pb.go b/x/staking/types/staking.pb.go index 0f8b583e7a9b..0a3816efc792 100644 --- a/x/staking/types/staking.pb.go +++ b/x/staking/types/staking.pb.go @@ -12,6 +12,7 @@ import ( types "github.com/cometbft/cometbft/proto/tendermint/types" _ "github.com/cosmos/cosmos-proto" types1 "github.com/cosmos/cosmos-sdk/codec/types" + github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" types2 "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" @@ -108,6 +109,44 @@ func (Infraction) EnumDescriptor() ([]byte, []int) { return fileDescriptor_64c30c6cf92913c9, []int{1} } +// TokenizeShareLockStatus represents status of an account's tokenize share lock. +// +// Since: cosmos-sdk 0.47-lsm +type TokenizeShareLockStatus int32 + +const ( + // An empty value is not allowed. + ShareLockStatusNil TokenizeShareLockStatus = 0 + // Status means cannot tokenize shares. + ShareLockStatusLocked TokenizeShareLockStatus = 1 + // Status means cannot tokenize shares. + ShareLockStatusUnlocked TokenizeShareLockStatus = 2 + // Status when lock is queued for unlocking. + ShareLockStatusLockExpiring TokenizeShareLockStatus = 3 +) + +var TokenizeShareLockStatus_name = map[int32]string{ + 0: "TOKENIZE_SHARE_LOCK_STATUS_UNSPECIFIED", + 1: "TOKENIZE_SHARE_LOCK_STATUS_LOCKED", + 2: "TOKENIZE_SHARE_LOCK_STATUS_UNLOCKED", + 3: "TOKENIZE_SHARE_LOCK_STATUS_LOCK_EXPIRING", +} + +var TokenizeShareLockStatus_value = map[string]int32{ + "TOKENIZE_SHARE_LOCK_STATUS_UNSPECIFIED": 0, + "TOKENIZE_SHARE_LOCK_STATUS_LOCKED": 1, + "TOKENIZE_SHARE_LOCK_STATUS_UNLOCKED": 2, + "TOKENIZE_SHARE_LOCK_STATUS_LOCK_EXPIRING": 3, +} + +func (x TokenizeShareLockStatus) String() string { + return proto.EnumName(TokenizeShareLockStatus_name, int32(x)) +} + +func (TokenizeShareLockStatus) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_64c30c6cf92913c9, []int{2} +} + // HistoricalInfo contains header and validator information for a given block. // It is stored as part of staking module's state, which persists the `n` most // recent HistoricalInfo @@ -375,6 +414,14 @@ type Validator struct { UnbondingOnHoldRefCount int64 `protobuf:"varint,12,opt,name=unbonding_on_hold_ref_count,json=unbondingOnHoldRefCount,proto3" json:"unbonding_on_hold_ref_count,omitempty"` // list of unbonding ids, each uniquely identifing an unbonding of this validator UnbondingIds []uint64 `protobuf:"varint,13,rep,packed,name=unbonding_ids,json=unbondingIds,proto3" json:"unbonding_ids,omitempty"` + // validator_bond_shares is the number of shares self bonded from the validator. + // + // Since: cosmos-sdk 0.47-lsm + ValidatorBondShares github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,14,opt,name=validator_bond_shares,json=validatorBondShares,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"validator_bond_shares"` + // liquid_shares is the number of shares either tokenized or owned by a liquid staking provider. + // + // Since: cosmos-sdk 0.47-lsm + LiquidShares github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,15,opt,name=liquid_shares,json=liquidShares,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"liquid_shares"` } func (m *Validator) Reset() { *m = Validator{} } @@ -639,6 +686,10 @@ type Delegation struct { ValidatorAddress string `protobuf:"bytes,2,opt,name=validator_address,json=validatorAddress,proto3" json:"validator_address,omitempty"` // shares define the delegation shares received. Shares cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=shares,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"shares"` + // has this delegation been marked as a validator self bond. + // + // Since: cosmos-sdk 0.47-lsm + ValidatorBond bool `protobuf:"varint,4,opt,name=validator_bond,json=validatorBond,proto3" json:"validator_bond,omitempty"` } func (m *Delegation) Reset() { *m = Delegation{} } @@ -932,6 +983,15 @@ type Params struct { BondDenom string `protobuf:"bytes,5,opt,name=bond_denom,json=bondDenom,proto3" json:"bond_denom,omitempty"` // min_commission_rate is the chain-wide minimum commission rate that a validator can charge their delegators MinCommissionRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,6,opt,name=min_commission_rate,json=minCommissionRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_commission_rate" yaml:"min_commission_rate"` + // validator_bond_factor is required as a safety check for tokenizing shares and + // delegations from liquid staking providers + ValidatorBondFactor github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,7,opt,name=validator_bond_factor,json=validatorBondFactor,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"validator_bond_factor" yaml:"validator_bond_factor"` + // global_liquid_staking_cap represents a cap on the portion of stake that + // comes from liquid staking providers + GlobalLiquidStakingCap github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,8,opt,name=global_liquid_staking_cap,json=globalLiquidStakingCap,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"global_liquid_staking_cap" yaml:"global_liquid_staking_cap"` + // validator_liquid_staking_cap represents a cap on the portion of stake that + // comes from liquid staking providers for a specific validator + ValidatorLiquidStakingCap github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,9,opt,name=validator_liquid_staking_cap,json=validatorLiquidStakingCap,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"validator_liquid_staking_cap" yaml:"validator_liquid_staking_cap"` } func (m *Params) Reset() { *m = Params{} } @@ -1245,9 +1305,129 @@ func (m *ValidatorUpdates) GetUpdates() []types3.ValidatorUpdate { return nil } +// TokenizeShareRecord represents a tokenized delegation. +// +// Since: cosmos-sdk 0.47-lsm +type TokenizeShareRecord struct { + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Owner string `protobuf:"bytes,2,opt,name=owner,proto3" json:"owner,omitempty"` + ModuleAccount string `protobuf:"bytes,3,opt,name=module_account,json=moduleAccount,proto3" json:"module_account,omitempty"` + Validator string `protobuf:"bytes,4,opt,name=validator,proto3" json:"validator,omitempty"` +} + +func (m *TokenizeShareRecord) Reset() { *m = TokenizeShareRecord{} } +func (m *TokenizeShareRecord) String() string { return proto.CompactTextString(m) } +func (*TokenizeShareRecord) ProtoMessage() {} +func (*TokenizeShareRecord) Descriptor() ([]byte, []int) { + return fileDescriptor_64c30c6cf92913c9, []int{21} +} +func (m *TokenizeShareRecord) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *TokenizeShareRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_TokenizeShareRecord.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *TokenizeShareRecord) XXX_Merge(src proto.Message) { + xxx_messageInfo_TokenizeShareRecord.Merge(m, src) +} +func (m *TokenizeShareRecord) XXX_Size() int { + return m.Size() +} +func (m *TokenizeShareRecord) XXX_DiscardUnknown() { + xxx_messageInfo_TokenizeShareRecord.DiscardUnknown(m) +} + +var xxx_messageInfo_TokenizeShareRecord proto.InternalMessageInfo + +func (m *TokenizeShareRecord) GetId() uint64 { + if m != nil { + return m.Id + } + return 0 +} + +func (m *TokenizeShareRecord) GetOwner() string { + if m != nil { + return m.Owner + } + return "" +} + +func (m *TokenizeShareRecord) GetModuleAccount() string { + if m != nil { + return m.ModuleAccount + } + return "" +} + +func (m *TokenizeShareRecord) GetValidator() string { + if m != nil { + return m.Validator + } + return "" +} + +// PendingTokenizeShareAuthorizations stores a list of addresses that have their +// tokenize share enablement in progress. +// +// Since: cosmos-sdk 0.47-lsm +type PendingTokenizeShareAuthorizations struct { + Addresses []string `protobuf:"bytes,1,rep,name=addresses,proto3" json:"addresses,omitempty"` +} + +func (m *PendingTokenizeShareAuthorizations) Reset() { *m = PendingTokenizeShareAuthorizations{} } +func (m *PendingTokenizeShareAuthorizations) String() string { return proto.CompactTextString(m) } +func (*PendingTokenizeShareAuthorizations) ProtoMessage() {} +func (*PendingTokenizeShareAuthorizations) Descriptor() ([]byte, []int) { + return fileDescriptor_64c30c6cf92913c9, []int{22} +} +func (m *PendingTokenizeShareAuthorizations) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *PendingTokenizeShareAuthorizations) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_PendingTokenizeShareAuthorizations.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *PendingTokenizeShareAuthorizations) XXX_Merge(src proto.Message) { + xxx_messageInfo_PendingTokenizeShareAuthorizations.Merge(m, src) +} +func (m *PendingTokenizeShareAuthorizations) XXX_Size() int { + return m.Size() +} +func (m *PendingTokenizeShareAuthorizations) XXX_DiscardUnknown() { + xxx_messageInfo_PendingTokenizeShareAuthorizations.DiscardUnknown(m) +} + +var xxx_messageInfo_PendingTokenizeShareAuthorizations proto.InternalMessageInfo + +func (m *PendingTokenizeShareAuthorizations) GetAddresses() []string { + if m != nil { + return m.Addresses + } + return nil +} + func init() { proto.RegisterEnum("cosmos.staking.v1beta1.BondStatus", BondStatus_name, BondStatus_value) proto.RegisterEnum("cosmos.staking.v1beta1.Infraction", Infraction_name, Infraction_value) + proto.RegisterEnum("cosmos.staking.v1beta1.TokenizeShareLockStatus", TokenizeShareLockStatus_name, TokenizeShareLockStatus_value) proto.RegisterType((*HistoricalInfo)(nil), "cosmos.staking.v1beta1.HistoricalInfo") proto.RegisterType((*CommissionRates)(nil), "cosmos.staking.v1beta1.CommissionRates") proto.RegisterType((*Commission)(nil), "cosmos.staking.v1beta1.Commission") @@ -1269,6 +1449,8 @@ func init() { proto.RegisterType((*RedelegationResponse)(nil), "cosmos.staking.v1beta1.RedelegationResponse") proto.RegisterType((*Pool)(nil), "cosmos.staking.v1beta1.Pool") proto.RegisterType((*ValidatorUpdates)(nil), "cosmos.staking.v1beta1.ValidatorUpdates") + proto.RegisterType((*TokenizeShareRecord)(nil), "cosmos.staking.v1beta1.TokenizeShareRecord") + proto.RegisterType((*PendingTokenizeShareAuthorizations)(nil), "cosmos.staking.v1beta1.PendingTokenizeShareAuthorizations") } func init() { @@ -1276,126 +1458,150 @@ func init() { } var fileDescriptor_64c30c6cf92913c9 = []byte{ - // 1901 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x58, 0x4d, 0x6c, 0x63, 0x47, - 0x1d, 0xcf, 0x8b, 0x53, 0x27, 0xf9, 0x3b, 0x89, 0x9d, 0xd9, 0x2f, 0xaf, 0x97, 0xc6, 0x5e, 0x77, - 0xa1, 0xe9, 0xd2, 0xd8, 0x6c, 0x90, 0x7a, 0x08, 0x08, 0x14, 0xc7, 0xde, 0xae, 0x4b, 0x9b, 0x04, - 0x3b, 0x09, 0x94, 0xaf, 0xa7, 0xf1, 0x7b, 0x13, 0x67, 0x88, 0x3d, 0xcf, 0xbc, 0x19, 0x2f, 0xf1, - 0x9d, 0x43, 0x15, 0x84, 0x54, 0x09, 0x09, 0x21, 0xc1, 0x8a, 0x95, 0xb8, 0x94, 0x5b, 0x0f, 0x2b, - 0xee, 0xdc, 0x0a, 0x12, 0xd2, 0x6a, 0x4f, 0x08, 0x89, 0x80, 0x76, 0x0f, 0xad, 0xe0, 0x82, 0x38, - 0x71, 0x44, 0xf3, 0xf1, 0x3e, 0x1c, 0x27, 0x9b, 0xcd, 0xb6, 0x42, 0x15, 0x5c, 0x9e, 0xde, 0xcc, - 0xfc, 0xff, 0xbf, 0x99, 0xff, 0xef, 0xff, 0x31, 0x1f, 0x70, 0xc3, 0xf1, 0x78, 0xd7, 0xe3, 0x65, - 0x2e, 0xf0, 0x3e, 0x65, 0xed, 0xf2, 0xdd, 0x5b, 0x2d, 0x22, 0xf0, 0xad, 0xa0, 0x5d, 0xea, 0xf9, - 0x9e, 0xf0, 0xd0, 0x65, 0x2d, 0x55, 0x0a, 0x7a, 0x8d, 0x54, 0xee, 0x62, 0xdb, 0x6b, 0x7b, 0x4a, - 0xa4, 0x2c, 0xff, 0xb4, 0x74, 0xee, 0x6a, 0xdb, 0xf3, 0xda, 0x1d, 0x52, 0x56, 0xad, 0x56, 0x7f, - 0xb7, 0x8c, 0xd9, 0xc0, 0x0c, 0x2d, 0x1c, 0x1f, 0x72, 0xfb, 0x3e, 0x16, 0xd4, 0x63, 0x66, 0x3c, - 0x7f, 0x7c, 0x5c, 0xd0, 0x2e, 0xe1, 0x02, 0x77, 0x7b, 0x01, 0xb6, 0x5e, 0x89, 0xad, 0x27, 0x35, - 0xcb, 0x32, 0xd8, 0xc6, 0x94, 0x16, 0xe6, 0x24, 0xb4, 0xc3, 0xf1, 0x68, 0x80, 0x3d, 0x8f, 0xbb, - 0x94, 0x79, 0x65, 0xf5, 0x35, 0x5d, 0x9f, 0x11, 0x84, 0xb9, 0xc4, 0xef, 0x52, 0x26, 0xca, 0x62, - 0xd0, 0x23, 0x5c, 0x7f, 0xcd, 0xe8, 0xb5, 0xd8, 0x28, 0x6e, 0x39, 0x34, 0x3e, 0x58, 0xfc, 0xa9, - 0x05, 0x73, 0x77, 0x28, 0x17, 0x9e, 0x4f, 0x1d, 0xdc, 0xa9, 0xb3, 0x5d, 0x0f, 0x7d, 0x09, 0x92, - 0x7b, 0x04, 0xbb, 0xc4, 0xcf, 0x5a, 0x05, 0x6b, 0x31, 0xb5, 0x9c, 0x2d, 0x45, 0x00, 0x25, 0xad, - 0x7b, 0x47, 0x8d, 0x57, 0xa6, 0x3f, 0x38, 0xca, 0x8f, 0xbd, 0xf7, 0xe1, 0xfb, 0x37, 0xad, 0x86, - 0x51, 0x41, 0x55, 0x48, 0xde, 0xc5, 0x1d, 0x4e, 0x44, 0x76, 0xbc, 0x90, 0x58, 0x4c, 0x2d, 0x5f, - 0x2f, 0x9d, 0xcc, 0x79, 0x69, 0x07, 0x77, 0xa8, 0x8b, 0x85, 0x37, 0x8c, 0xa2, 0x75, 0x8b, 0x3f, - 0x1b, 0x87, 0xf4, 0x9a, 0xd7, 0xed, 0x52, 0xce, 0xa9, 0xc7, 0x1a, 0x58, 0x10, 0x8e, 0xde, 0x80, - 0x09, 0x1f, 0x0b, 0xa2, 0x16, 0x35, 0x5d, 0x79, 0x4d, 0x2a, 0xfd, 0xf9, 0x28, 0x7f, 0x4d, 0xc3, - 0x73, 0x77, 0xbf, 0x44, 0xbd, 0x72, 0x17, 0x8b, 0xbd, 0xd2, 0x9b, 0xa4, 0x8d, 0x9d, 0x41, 0x95, - 0x38, 0x8f, 0x1e, 0x2c, 0x81, 0x99, 0xbd, 0x4a, 0x1c, 0x3d, 0x83, 0xc2, 0x40, 0x5f, 0x87, 0xa9, - 0x2e, 0x3e, 0xb0, 0x15, 0xde, 0xf8, 0xc7, 0xc2, 0x9b, 0xec, 0xe2, 0x03, 0xb9, 0x3e, 0xf4, 0x3d, - 0x48, 0x4b, 0x48, 0x67, 0x0f, 0xb3, 0x36, 0xd1, 0xc8, 0x89, 0x8f, 0x85, 0x3c, 0xdb, 0xc5, 0x07, - 0x6b, 0x0a, 0x4d, 0xe2, 0xaf, 0x4c, 0x7c, 0x74, 0x3f, 0x6f, 0x15, 0x7f, 0x67, 0x01, 0x44, 0xc4, - 0x20, 0x0c, 0x19, 0x27, 0x6c, 0xa9, 0x49, 0xb9, 0x71, 0xda, 0xcb, 0xa7, 0xf1, 0x7e, 0x8c, 0xd6, - 0xca, 0xac, 0x5c, 0xde, 0xc3, 0xa3, 0xbc, 0xa5, 0x67, 0x4d, 0x3b, 0x23, 0xb4, 0xa7, 0xfa, 0x3d, - 0x17, 0x0b, 0x62, 0xcb, 0x18, 0x56, 0x6c, 0xa5, 0x96, 0x73, 0x25, 0x1d, 0xe0, 0xa5, 0x20, 0xc0, - 0x4b, 0x5b, 0x41, 0x80, 0x6b, 0xc0, 0x77, 0xff, 0x1a, 0x00, 0x82, 0xd6, 0x96, 0xe3, 0xc6, 0x86, - 0xf7, 0x2c, 0x48, 0x55, 0x09, 0x77, 0x7c, 0xda, 0x93, 0x29, 0x83, 0xb2, 0x30, 0xd9, 0xf5, 0x18, - 0xdd, 0x37, 0x01, 0x37, 0xdd, 0x08, 0x9a, 0x28, 0x07, 0x53, 0xd4, 0x25, 0x4c, 0x50, 0x31, 0xd0, - 0x6e, 0x6a, 0x84, 0x6d, 0xa9, 0xf5, 0x43, 0xd2, 0xe2, 0x34, 0xe0, 0xb9, 0x11, 0x34, 0xd1, 0x2b, - 0x90, 0xe1, 0xc4, 0xe9, 0xfb, 0x54, 0x0c, 0x6c, 0xc7, 0x63, 0x02, 0x3b, 0x22, 0x3b, 0xa1, 0x44, - 0xd2, 0x41, 0xff, 0x9a, 0xee, 0x96, 0x20, 0x2e, 0x11, 0x98, 0x76, 0x78, 0xf6, 0x05, 0x0d, 0x62, - 0x9a, 0x66, 0xa9, 0x87, 0x93, 0x30, 0x1d, 0x06, 0x2a, 0x5a, 0x83, 0x8c, 0xd7, 0x23, 0xbe, 0xfc, - 0xb7, 0xb1, 0xeb, 0xfa, 0x84, 0x73, 0x13, 0x8d, 0xd9, 0x47, 0x0f, 0x96, 0x2e, 0x1a, 0xc2, 0x57, - 0xf5, 0x48, 0x53, 0xf8, 0x94, 0xb5, 0x1b, 0xe9, 0x40, 0xc3, 0x74, 0xa3, 0xb7, 0xa5, 0xcb, 0x18, - 0x27, 0x8c, 0xf7, 0xb9, 0xdd, 0xeb, 0xb7, 0xf6, 0xc9, 0xc0, 0x90, 0x7a, 0x71, 0x84, 0xd4, 0x55, - 0x36, 0xa8, 0x64, 0xff, 0x10, 0x41, 0x3b, 0xfe, 0xa0, 0x27, 0xbc, 0xd2, 0x66, 0xbf, 0xf5, 0x35, - 0x32, 0x90, 0xae, 0x32, 0x38, 0x9b, 0x0a, 0x06, 0x5d, 0x86, 0xe4, 0xf7, 0x31, 0xed, 0x10, 0x57, - 0x31, 0x32, 0xd5, 0x30, 0x2d, 0xb4, 0x02, 0x49, 0x2e, 0xb0, 0xe8, 0x73, 0x45, 0xc3, 0xdc, 0x72, - 0xf1, 0xb4, 0xd8, 0xa8, 0x78, 0xcc, 0x6d, 0x2a, 0xc9, 0x86, 0xd1, 0x40, 0x6b, 0x90, 0x14, 0xde, - 0x3e, 0x61, 0x86, 0xa0, 0xca, 0xe7, 0x4d, 0x34, 0x5f, 0x1a, 0x8d, 0xe6, 0x3a, 0x13, 0xb1, 0x38, - 0xae, 0x33, 0xd1, 0x30, 0xaa, 0xe8, 0x3b, 0x90, 0x71, 0x49, 0x87, 0xb4, 0x15, 0x73, 0x7c, 0x0f, - 0xfb, 0x84, 0x67, 0x93, 0x0a, 0xee, 0xd6, 0xb9, 0x93, 0xa3, 0x91, 0x0e, 0xa1, 0x9a, 0x0a, 0x09, - 0x6d, 0x42, 0xca, 0x8d, 0xc2, 0x29, 0x3b, 0xa9, 0xc8, 0x7c, 0xe9, 0x34, 0x1b, 0x63, 0x91, 0x17, - 0xaf, 0x3c, 0x71, 0x08, 0x19, 0x41, 0x7d, 0xd6, 0xf2, 0x98, 0x4b, 0x59, 0xdb, 0xde, 0x23, 0xb4, - 0xbd, 0x27, 0xb2, 0x53, 0x05, 0x6b, 0x31, 0xd1, 0x48, 0x87, 0xfd, 0x77, 0x54, 0x37, 0xda, 0x84, - 0xb9, 0x48, 0x54, 0x65, 0xc8, 0xf4, 0x79, 0x33, 0x64, 0x36, 0x04, 0x90, 0x22, 0xe8, 0x2d, 0x80, - 0x28, 0x07, 0xb3, 0xa0, 0xd0, 0x8a, 0x67, 0x67, 0x73, 0xdc, 0x98, 0x18, 0x00, 0xfa, 0x36, 0x5c, - 0xe8, 0x52, 0x66, 0x73, 0xd2, 0xd9, 0xb5, 0x0d, 0x73, 0x12, 0x37, 0x75, 0x7e, 0x6f, 0xce, 0x77, - 0x29, 0x6b, 0x92, 0xce, 0x6e, 0x35, 0x44, 0x41, 0x5f, 0x86, 0x6b, 0x91, 0xf5, 0x1e, 0xb3, 0xf7, - 0xbc, 0x8e, 0x6b, 0xfb, 0x64, 0xd7, 0x76, 0xbc, 0x3e, 0x13, 0xd9, 0x19, 0xc5, 0xd9, 0x95, 0x50, - 0x64, 0x83, 0xdd, 0xf1, 0x3a, 0x6e, 0x83, 0xec, 0xae, 0xc9, 0x61, 0xf4, 0x12, 0x44, 0xa6, 0xdb, - 0xd4, 0xe5, 0xd9, 0xd9, 0x42, 0x62, 0x71, 0xa2, 0x31, 0x13, 0x76, 0xd6, 0x5d, 0xbe, 0x32, 0xf5, - 0xce, 0xfd, 0xfc, 0xd8, 0x47, 0xf7, 0xf3, 0x63, 0xc5, 0xdb, 0x30, 0xb3, 0x83, 0x3b, 0x26, 0x8f, - 0x08, 0x47, 0xaf, 0xc1, 0x34, 0x0e, 0x1a, 0x59, 0xab, 0x90, 0x78, 0x6a, 0x1e, 0x46, 0xa2, 0xc5, - 0xdf, 0x58, 0x90, 0xac, 0xee, 0x6c, 0x62, 0xea, 0xa3, 0x1a, 0xcc, 0x47, 0x81, 0xf9, 0xac, 0x29, - 0x1d, 0xc5, 0x72, 0x90, 0xd3, 0xeb, 0x30, 0x7f, 0x37, 0xa8, 0x12, 0x21, 0x8c, 0xde, 0x57, 0xae, - 0x3f, 0x7a, 0xb0, 0xf4, 0xa2, 0x81, 0x09, 0x2b, 0xc9, 0x31, 0xbc, 0xbb, 0xc7, 0xfa, 0x63, 0x36, - 0xbf, 0x01, 0x93, 0x7a, 0xa9, 0x1c, 0x7d, 0x15, 0x5e, 0xe8, 0xc9, 0x1f, 0x65, 0x6a, 0x6a, 0x79, - 0xe1, 0xd4, 0x00, 0x57, 0xf2, 0xf1, 0x70, 0xd0, 0x7a, 0xc5, 0x1f, 0x8f, 0x03, 0x54, 0x77, 0x76, - 0xb6, 0x7c, 0xda, 0xeb, 0x10, 0xf1, 0x49, 0xd9, 0xbe, 0x0d, 0x97, 0x22, 0xdb, 0xb9, 0xef, 0x9c, - 0xdf, 0xfe, 0x0b, 0xa1, 0x7e, 0xd3, 0x77, 0x4e, 0x84, 0x75, 0xb9, 0x08, 0x61, 0x13, 0xe7, 0x87, - 0xad, 0x72, 0x31, 0xca, 0xec, 0x37, 0x21, 0x15, 0x91, 0xc1, 0x51, 0x1d, 0xa6, 0x84, 0xf9, 0x37, - 0x04, 0x17, 0x4f, 0x27, 0x38, 0x50, 0x8b, 0x93, 0x1c, 0xaa, 0x17, 0xff, 0x6d, 0x01, 0xc4, 0x72, - 0xe4, 0xd3, 0x19, 0x63, 0xa8, 0x0e, 0x49, 0x53, 0x89, 0x13, 0xcf, 0x5b, 0x89, 0x0d, 0x40, 0x8c, - 0xd4, 0x9f, 0x8c, 0xc3, 0x85, 0xed, 0x20, 0x7b, 0x3f, 0xfd, 0x1c, 0x6c, 0xc3, 0x24, 0x61, 0xc2, - 0xa7, 0x8a, 0x04, 0xe9, 0xf3, 0x2f, 0x9c, 0xe6, 0xf3, 0x13, 0x8c, 0xaa, 0x31, 0xe1, 0x0f, 0xe2, - 0x11, 0x10, 0x60, 0xc5, 0xf8, 0xf8, 0x45, 0x02, 0xb2, 0xa7, 0xa9, 0xa2, 0x97, 0x21, 0xed, 0xf8, - 0x44, 0x75, 0x04, 0x9b, 0x8c, 0xa5, 0x0a, 0xe6, 0x5c, 0xd0, 0x6d, 0xf6, 0x98, 0x06, 0xc8, 0x53, - 0x99, 0x0c, 0x2e, 0x29, 0xfa, 0x7c, 0xc7, 0xb0, 0xb9, 0x08, 0x41, 0xed, 0x32, 0x5b, 0x90, 0xa6, - 0x8c, 0x0a, 0x8a, 0x3b, 0x76, 0x0b, 0x77, 0x30, 0x73, 0x82, 0xe3, 0xea, 0xb9, 0xb6, 0x84, 0x39, - 0x83, 0x51, 0xd1, 0x10, 0xa8, 0x06, 0x93, 0x01, 0xda, 0xc4, 0xf9, 0xd1, 0x02, 0x5d, 0x74, 0x1d, - 0x66, 0xe2, 0x1b, 0x83, 0x3a, 0x7a, 0x4c, 0x34, 0x52, 0xb1, 0x7d, 0xe1, 0xac, 0x9d, 0x27, 0xf9, - 0xd4, 0x9d, 0xc7, 0x9c, 0xee, 0x7e, 0x95, 0x80, 0xf9, 0x06, 0x71, 0xff, 0xf7, 0xdd, 0xb2, 0x09, - 0xa0, 0x53, 0x55, 0x56, 0x52, 0xe3, 0x99, 0xe7, 0xc8, 0xf7, 0x69, 0x0d, 0x52, 0xe5, 0xe2, 0xbf, - 0xe5, 0xa1, 0xbf, 0x8c, 0xc3, 0x4c, 0xdc, 0x43, 0xff, 0x97, 0x9b, 0x16, 0x5a, 0x8f, 0xca, 0xd4, - 0x84, 0x2a, 0x53, 0xaf, 0x9c, 0x56, 0xa6, 0x46, 0xa2, 0xf9, 0x8c, 0xfa, 0xf4, 0xcb, 0x04, 0x24, - 0x37, 0xb1, 0x8f, 0xbb, 0x1c, 0x6d, 0x8c, 0x1c, 0x64, 0xf5, 0x45, 0xf2, 0xea, 0x48, 0x30, 0x57, - 0xcd, 0x5b, 0x87, 0x8e, 0xe5, 0x9f, 0x9f, 0x76, 0x8e, 0xfd, 0x2c, 0xcc, 0xc9, 0x0b, 0x71, 0x68, - 0x90, 0x26, 0x77, 0x56, 0xdd, 0x6b, 0x43, 0xeb, 0x39, 0xca, 0x43, 0x4a, 0x8a, 0x45, 0x75, 0x58, - 0xca, 0x40, 0x17, 0x1f, 0xd4, 0x74, 0x0f, 0x5a, 0x02, 0xb4, 0x17, 0x3e, 0x50, 0xd8, 0x11, 0x11, - 0x52, 0x6e, 0x3e, 0x1a, 0x09, 0xc4, 0x5f, 0x04, 0x90, 0xab, 0xb0, 0x5d, 0xc2, 0xbc, 0xae, 0xb9, - 0xd5, 0x4d, 0xcb, 0x9e, 0xaa, 0xec, 0x40, 0x3f, 0xb2, 0xf4, 0x79, 0xf8, 0xd8, 0xb5, 0xd9, 0x5c, - 0x47, 0xb6, 0x9e, 0x21, 0x29, 0xfe, 0x75, 0x94, 0xcf, 0x0d, 0x70, 0xb7, 0xb3, 0x52, 0x3c, 0x01, - 0xa7, 0x78, 0xd2, 0x4d, 0x5e, 0x1e, 0x9c, 0x87, 0xaf, 0xdd, 0x2b, 0x37, 0x64, 0x78, 0x1f, 0x7e, - 0xf8, 0xfe, 0x4d, 0x33, 0xd3, 0x12, 0x77, 0xf7, 0xcb, 0x07, 0xe1, 0xf3, 0x95, 0xf6, 0x89, 0x3c, - 0xa9, 0xa2, 0x68, 0xd7, 0x68, 0x10, 0xde, 0x93, 0x37, 0x3e, 0x79, 0x43, 0x88, 0x9d, 0xe4, 0xad, - 0xa7, 0xdf, 0x10, 0x22, 0xfd, 0xa1, 0x1b, 0x42, 0x2c, 0xa7, 0xbe, 0x12, 0x15, 0xed, 0x71, 0xe3, - 0x72, 0x83, 0xd5, 0xc2, 0x9c, 0xc4, 0xae, 0x1a, 0x74, 0x08, 0x22, 0x50, 0x52, 0xa9, 0x3a, 0x56, - 0xfc, 0xa3, 0x05, 0x57, 0x47, 0xc2, 0x2f, 0x5c, 0xb2, 0x03, 0xc8, 0x8f, 0x0d, 0x2a, 0x37, 0x0e, - 0xcc, 0xd2, 0x9f, 0x2f, 0x9a, 0xe7, 0xfd, 0x91, 0xca, 0xfd, 0xc9, 0xec, 0x3e, 0xa6, 0xf4, 0xfc, - 0xde, 0x82, 0x8b, 0xf1, 0x05, 0x84, 0xa6, 0x34, 0x61, 0x26, 0x3e, 0xb5, 0x31, 0xe2, 0xc6, 0xb3, - 0x18, 0x11, 0x5f, 0xff, 0x10, 0x08, 0xda, 0x89, 0x52, 0x5c, 0xbf, 0x9b, 0xdd, 0x7a, 0x66, 0x52, - 0x82, 0x85, 0x9d, 0x98, 0xea, 0xda, 0x37, 0xff, 0xb0, 0x60, 0x62, 0xd3, 0xf3, 0x3a, 0xe8, 0x07, - 0x30, 0xcf, 0x3c, 0x61, 0xcb, 0x74, 0x20, 0xae, 0x6d, 0x2e, 0xf6, 0xba, 0x7c, 0xd6, 0x9e, 0xca, - 0xd5, 0xdf, 0x8f, 0xf2, 0xa3, 0x9a, 0xc3, 0x04, 0x9a, 0xf7, 0x23, 0xe6, 0x89, 0x8a, 0x12, 0xda, - 0xd2, 0x77, 0xff, 0x5d, 0x98, 0x1d, 0x9e, 0x4e, 0x97, 0xd8, 0xd5, 0xb3, 0xa6, 0x9b, 0x3d, 0x73, - 0xaa, 0x99, 0x56, 0x6c, 0x9e, 0x95, 0x29, 0xe9, 0xb5, 0x7f, 0x4a, 0xcf, 0xbd, 0x0d, 0x99, 0xb0, - 0xbe, 0x6c, 0xab, 0xc7, 0x27, 0x2e, 0x43, 0x43, 0xbf, 0x43, 0x05, 0xa7, 0xfb, 0x42, 0xfc, 0x51, - 0x13, 0xb7, 0x1c, 0x5a, 0x3a, 0xa6, 0x33, 0x44, 0xa7, 0xd1, 0xbd, 0xf9, 0x5b, 0x0b, 0x20, 0x7a, - 0x24, 0x41, 0xaf, 0xc2, 0x95, 0xca, 0xc6, 0x7a, 0xd5, 0x6e, 0x6e, 0xad, 0x6e, 0x6d, 0x37, 0xed, - 0xed, 0xf5, 0xe6, 0x66, 0x6d, 0xad, 0x7e, 0xbb, 0x5e, 0xab, 0x66, 0xc6, 0x72, 0xe9, 0xc3, 0x7b, - 0x85, 0xd4, 0x36, 0xe3, 0x3d, 0xe2, 0xd0, 0x5d, 0x4a, 0x5c, 0xf4, 0x39, 0xb8, 0x38, 0x2c, 0x2d, - 0x5b, 0xb5, 0x6a, 0xc6, 0xca, 0xcd, 0x1c, 0xde, 0x2b, 0x4c, 0xe9, 0x73, 0x22, 0x71, 0xd1, 0x22, - 0x5c, 0x1a, 0x95, 0xab, 0xaf, 0xbf, 0x9e, 0x19, 0xcf, 0xcd, 0x1e, 0xde, 0x2b, 0x4c, 0x87, 0x07, - 0x4a, 0x54, 0x04, 0x14, 0x97, 0x34, 0x78, 0x89, 0x1c, 0x1c, 0xde, 0x2b, 0x24, 0xb5, 0x17, 0x72, - 0x13, 0xef, 0xfc, 0x7a, 0x61, 0xec, 0xe6, 0x77, 0x01, 0xea, 0x6c, 0xd7, 0xc7, 0x8e, 0x8a, 0xb6, - 0x1c, 0x5c, 0xae, 0xaf, 0xdf, 0x6e, 0xac, 0xae, 0x6d, 0xd5, 0x37, 0xd6, 0x87, 0x97, 0x7d, 0x6c, - 0xac, 0xba, 0xb1, 0x5d, 0x79, 0xb3, 0x66, 0x37, 0xeb, 0xaf, 0xaf, 0x67, 0x2c, 0x74, 0x05, 0x2e, - 0x0c, 0x8d, 0x7d, 0x63, 0x7d, 0xab, 0xfe, 0x56, 0x2d, 0x33, 0x5e, 0xb9, 0xfd, 0xc1, 0xe3, 0x05, - 0xeb, 0xe1, 0xe3, 0x05, 0xeb, 0x6f, 0x8f, 0x17, 0xac, 0x77, 0x9f, 0x2c, 0x8c, 0x3d, 0x7c, 0xb2, - 0x30, 0xf6, 0xa7, 0x27, 0x0b, 0x63, 0xdf, 0x7a, 0xb5, 0x4d, 0xc5, 0x5e, 0xbf, 0x55, 0x72, 0xbc, - 0xae, 0x79, 0xe6, 0x2e, 0x9f, 0x58, 0xf1, 0xd4, 0xbb, 0x72, 0x2b, 0xa9, 0x36, 0x99, 0x2f, 0xfe, - 0x27, 0x00, 0x00, 0xff, 0xff, 0x7a, 0x6b, 0x77, 0xd8, 0xcf, 0x17, 0x00, 0x00, + // 2282 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x58, 0xcb, 0x6f, 0x1b, 0xc7, + 0x19, 0xd7, 0x52, 0x0a, 0x25, 0x7e, 0xd4, 0x73, 0xfc, 0xa2, 0xa8, 0x44, 0xa4, 0xe9, 0xc4, 0x51, + 0xdc, 0x98, 0xaa, 0x5d, 0xc0, 0x07, 0x35, 0x68, 0x2b, 0x8a, 0x74, 0xcc, 0xd8, 0xa6, 0xd4, 0xd5, + 0xa3, 0x49, 0x9a, 0x76, 0x31, 0xdc, 0x1d, 0x51, 0x53, 0x2d, 0x77, 0x99, 0x9d, 0xa1, 0x23, 0xe6, + 0x58, 0xf4, 0x10, 0xa8, 0x08, 0x10, 0xa0, 0x40, 0x50, 0xa0, 0x10, 0x62, 0xa0, 0x97, 0xf4, 0x96, + 0x83, 0xd1, 0x43, 0x6e, 0xbd, 0xa5, 0x01, 0x0a, 0x18, 0x3e, 0x15, 0x05, 0xaa, 0x14, 0xf6, 0x21, + 0x41, 0x7b, 0x29, 0xf2, 0x17, 0x14, 0x3b, 0x33, 0xfb, 0x20, 0xa9, 0x87, 0xe5, 0x18, 0x45, 0xd0, + 0x5e, 0x24, 0xee, 0xcc, 0xf7, 0xfd, 0xe6, 0xfb, 0x7e, 0xf3, 0x3d, 0x66, 0x06, 0x9e, 0x37, 0x5d, + 0xd6, 0x74, 0xd9, 0x3c, 0xe3, 0x78, 0x9b, 0x3a, 0x8d, 0xf9, 0x3b, 0x57, 0xea, 0x84, 0xe3, 0x2b, + 0xc1, 0x77, 0xb1, 0xe5, 0xb9, 0xdc, 0x45, 0x67, 0xa5, 0x54, 0x31, 0x18, 0x55, 0x52, 0xd9, 0xd3, + 0x0d, 0xb7, 0xe1, 0x0a, 0x91, 0x79, 0xff, 0x97, 0x94, 0xce, 0x4e, 0x37, 0x5c, 0xb7, 0x61, 0x93, + 0x79, 0xf1, 0x55, 0x6f, 0x6f, 0xce, 0x63, 0xa7, 0xa3, 0xa6, 0x66, 0x7b, 0xa7, 0xac, 0xb6, 0x87, + 0x39, 0x75, 0x1d, 0x35, 0x9f, 0xeb, 0x9d, 0xe7, 0xb4, 0x49, 0x18, 0xc7, 0xcd, 0x56, 0x80, 0x2d, + 0x2d, 0x31, 0xe4, 0xa2, 0xca, 0x2c, 0x85, 0xad, 0x5c, 0xa9, 0x63, 0x46, 0x42, 0x3f, 0x4c, 0x97, + 0x06, 0xd8, 0x53, 0xb8, 0x49, 0x1d, 0x77, 0x5e, 0xfc, 0x55, 0x43, 0xcf, 0x72, 0xe2, 0x58, 0xc4, + 0x6b, 0x52, 0x87, 0xcf, 0xf3, 0x4e, 0x8b, 0x30, 0xf9, 0x57, 0xcd, 0xce, 0xc4, 0x66, 0x71, 0xdd, + 0xa4, 0xf1, 0xc9, 0xc2, 0x6f, 0x34, 0x18, 0xbf, 0x41, 0x19, 0x77, 0x3d, 0x6a, 0x62, 0xbb, 0xea, + 0x6c, 0xba, 0xe8, 0xfb, 0x90, 0xdc, 0x22, 0xd8, 0x22, 0x5e, 0x46, 0xcb, 0x6b, 0x73, 0xe9, 0xab, + 0x99, 0x62, 0x04, 0x50, 0x94, 0xba, 0x37, 0xc4, 0x7c, 0x29, 0xf5, 0xd9, 0x7e, 0x6e, 0xe0, 0xe3, + 0x2f, 0x3f, 0xb9, 0xa4, 0xe9, 0x4a, 0x05, 0x95, 0x21, 0x79, 0x07, 0xdb, 0x8c, 0xf0, 0x4c, 0x22, + 0x3f, 0x38, 0x97, 0xbe, 0x7a, 0xbe, 0x78, 0x30, 0xe7, 0xc5, 0x0d, 0x6c, 0x53, 0x0b, 0x73, 0xb7, + 0x1b, 0x45, 0xea, 0x16, 0x3e, 0x4c, 0xc0, 0xc4, 0x92, 0xdb, 0x6c, 0x52, 0xc6, 0xa8, 0xeb, 0xe8, + 0x98, 0x13, 0x86, 0x5e, 0x83, 0x21, 0x0f, 0x73, 0x22, 0x8c, 0x4a, 0x95, 0xae, 0xf9, 0x4a, 0x7f, + 0xdb, 0xcf, 0xcd, 0x48, 0x78, 0x66, 0x6d, 0x17, 0xa9, 0x3b, 0xdf, 0xc4, 0x7c, 0xab, 0x78, 0x8b, + 0x34, 0xb0, 0xd9, 0x29, 0x13, 0xf3, 0xc1, 0xbd, 0xcb, 0xa0, 0x56, 0x2f, 0x13, 0x53, 0xae, 0x20, + 0x30, 0xd0, 0x8f, 0x61, 0xa4, 0x89, 0x77, 0x0c, 0x81, 0x97, 0xf8, 0x46, 0x78, 0xc3, 0x4d, 0xbc, + 0xe3, 0xdb, 0x87, 0x7e, 0x0e, 0x13, 0x3e, 0xa4, 0xb9, 0x85, 0x9d, 0x06, 0x91, 0xc8, 0x83, 0xdf, + 0x08, 0x79, 0xac, 0x89, 0x77, 0x96, 0x04, 0x9a, 0x8f, 0xbf, 0x30, 0xf4, 0xd5, 0xdd, 0x9c, 0x56, + 0xf8, 0x93, 0x06, 0x10, 0x11, 0x83, 0x30, 0x4c, 0x9a, 0xe1, 0x97, 0x58, 0x94, 0xa9, 0x4d, 0x7b, + 0xf1, 0x30, 0xde, 0x7b, 0x68, 0x2d, 0x8d, 0xf9, 0xe6, 0xdd, 0xdf, 0xcf, 0x69, 0x72, 0xd5, 0x09, + 0xb3, 0x8f, 0xf6, 0x74, 0xbb, 0x65, 0x61, 0x4e, 0x0c, 0x3f, 0x86, 0x05, 0x5b, 0xe9, 0xab, 0xd9, + 0xa2, 0x0c, 0xf0, 0x62, 0x10, 0xe0, 0xc5, 0xb5, 0x20, 0xc0, 0x25, 0xe0, 0x07, 0x5f, 0x04, 0x80, + 0x20, 0xb5, 0xfd, 0x79, 0xe5, 0xc3, 0xc7, 0x1a, 0xa4, 0xcb, 0x84, 0x99, 0x1e, 0x6d, 0xf9, 0x29, + 0x83, 0x32, 0x30, 0xdc, 0x74, 0x1d, 0xba, 0xad, 0x02, 0x2e, 0xa5, 0x07, 0x9f, 0x28, 0x0b, 0x23, + 0xd4, 0x22, 0x0e, 0xa7, 0xbc, 0x23, 0xb7, 0x49, 0x0f, 0xbf, 0x7d, 0xad, 0x77, 0x48, 0x9d, 0xd1, + 0x80, 0x67, 0x3d, 0xf8, 0x44, 0x2f, 0xc1, 0x24, 0x23, 0x66, 0xdb, 0xa3, 0xbc, 0x63, 0x98, 0xae, + 0xc3, 0xb1, 0xc9, 0x33, 0x43, 0x42, 0x64, 0x22, 0x18, 0x5f, 0x92, 0xc3, 0x3e, 0x88, 0x45, 0x38, + 0xa6, 0x36, 0xcb, 0x3c, 0x23, 0x41, 0xd4, 0xa7, 0x32, 0xf5, 0x8b, 0x11, 0x48, 0x85, 0x81, 0x8a, + 0x96, 0x60, 0xd2, 0x6d, 0x11, 0xcf, 0xff, 0x6d, 0x60, 0xcb, 0xf2, 0x08, 0x63, 0x2a, 0x1a, 0x33, + 0x0f, 0xee, 0x5d, 0x3e, 0xad, 0x08, 0x5f, 0x94, 0x33, 0xab, 0xdc, 0xa3, 0x4e, 0x43, 0x9f, 0x08, + 0x34, 0xd4, 0x30, 0x7a, 0xc3, 0xdf, 0x32, 0x87, 0x11, 0x87, 0xb5, 0x99, 0xd1, 0x6a, 0xd7, 0xb7, + 0x49, 0x47, 0x91, 0x7a, 0xba, 0x8f, 0xd4, 0x45, 0xa7, 0x53, 0xca, 0x7c, 0x1e, 0x41, 0x9b, 0x5e, + 0xa7, 0xc5, 0xdd, 0xe2, 0x4a, 0xbb, 0x7e, 0x93, 0x74, 0xfc, 0xad, 0x52, 0x38, 0x2b, 0x02, 0x06, + 0x9d, 0x85, 0xe4, 0x2f, 0x30, 0xb5, 0x89, 0x25, 0x18, 0x19, 0xd1, 0xd5, 0x17, 0x5a, 0x80, 0x24, + 0xe3, 0x98, 0xb7, 0x99, 0xa0, 0x61, 0xfc, 0x6a, 0xe1, 0xb0, 0xd8, 0x28, 0xb9, 0x8e, 0xb5, 0x2a, + 0x24, 0x75, 0xa5, 0x81, 0x96, 0x20, 0xc9, 0xdd, 0x6d, 0xe2, 0x28, 0x82, 0x4a, 0xdf, 0x51, 0xd1, + 0x7c, 0xa6, 0x3f, 0x9a, 0xab, 0x0e, 0x8f, 0xc5, 0x71, 0xd5, 0xe1, 0xba, 0x52, 0x45, 0x6f, 0xc1, + 0xa4, 0x45, 0x6c, 0xd2, 0x10, 0xcc, 0xb1, 0x2d, 0xec, 0x11, 0x96, 0x49, 0x0a, 0xb8, 0x2b, 0x27, + 0x4e, 0x0e, 0x7d, 0x22, 0x84, 0x5a, 0x15, 0x48, 0x68, 0x05, 0xd2, 0x56, 0x14, 0x4e, 0x99, 0x61, + 0x41, 0xe6, 0x85, 0xc3, 0x7c, 0x8c, 0x45, 0x5e, 0xbc, 0xf2, 0xc4, 0x21, 0xfc, 0x08, 0x6a, 0x3b, + 0x75, 0xd7, 0xb1, 0xa8, 0xd3, 0x30, 0xb6, 0x08, 0x6d, 0x6c, 0xf1, 0xcc, 0x48, 0x5e, 0x9b, 0x1b, + 0xd4, 0x27, 0xc2, 0xf1, 0x1b, 0x62, 0x18, 0xad, 0xc0, 0x78, 0x24, 0x2a, 0x32, 0x24, 0x75, 0xd2, + 0x0c, 0x19, 0x0b, 0x01, 0x7c, 0x11, 0x74, 0x1b, 0x20, 0xca, 0xc1, 0x0c, 0x08, 0xb4, 0xc2, 0xf1, + 0xd9, 0x1c, 0x77, 0x26, 0x06, 0x80, 0x7e, 0x0a, 0xa7, 0x9a, 0xd4, 0x31, 0x18, 0xb1, 0x37, 0x0d, + 0xc5, 0x9c, 0x8f, 0x9b, 0x3e, 0xf9, 0x6e, 0x4e, 0x35, 0xa9, 0xb3, 0x4a, 0xec, 0xcd, 0x72, 0x88, + 0x82, 0x5e, 0x81, 0x99, 0xc8, 0x7b, 0xd7, 0x31, 0xb6, 0x5c, 0xdb, 0x32, 0x3c, 0xb2, 0x69, 0x98, + 0x6e, 0xdb, 0xe1, 0x99, 0x51, 0xc1, 0xd9, 0xb9, 0x50, 0x64, 0xd9, 0xb9, 0xe1, 0xda, 0x96, 0x4e, + 0x36, 0x97, 0xfc, 0x69, 0x74, 0x01, 0x22, 0xd7, 0x0d, 0x6a, 0xb1, 0xcc, 0x58, 0x7e, 0x70, 0x6e, + 0x48, 0x1f, 0x0d, 0x07, 0xab, 0x16, 0x43, 0x2d, 0x38, 0x73, 0x27, 0xc8, 0x40, 0xc3, 0x1f, 0x0f, + 0x02, 0x68, 0x5c, 0x78, 0xf0, 0x8a, 0xf2, 0xe0, 0x62, 0x83, 0xf2, 0xad, 0x76, 0xbd, 0x68, 0xba, + 0x4d, 0xd5, 0x4e, 0xd5, 0xbf, 0xcb, 0xcc, 0xda, 0x56, 0x1d, 0xaf, 0x3f, 0x96, 0x4e, 0x85, 0xd0, + 0x22, 0xf4, 0x65, 0x3c, 0x61, 0x18, 0xb3, 0xe9, 0xdb, 0x6d, 0x1a, 0xae, 0x34, 0xf1, 0x14, 0x56, + 0x1a, 0x95, 0x90, 0x72, 0x89, 0x85, 0x91, 0xf7, 0xee, 0xe6, 0x06, 0xbe, 0xba, 0x9b, 0x1b, 0x28, + 0x5c, 0x87, 0xd1, 0x0d, 0x6c, 0xab, 0xe2, 0x40, 0x18, 0xba, 0x06, 0x29, 0x1c, 0x7c, 0x64, 0xb4, + 0xfc, 0xe0, 0x91, 0xc5, 0x25, 0x12, 0x2d, 0xfc, 0x41, 0x83, 0x64, 0x79, 0x63, 0x05, 0x53, 0x0f, + 0x55, 0x60, 0x2a, 0xca, 0xb6, 0xc7, 0xad, 0x53, 0x51, 0x82, 0x06, 0x85, 0xaa, 0x06, 0x53, 0x11, + 0xf1, 0x01, 0x8c, 0x6c, 0x96, 0xe7, 0x1f, 0xdc, 0xbb, 0xfc, 0x9c, 0x82, 0x09, 0xcb, 0x63, 0x0f, + 0xde, 0x9d, 0x9e, 0xf1, 0x98, 0xcf, 0xaf, 0xc1, 0xb0, 0x34, 0x95, 0xa1, 0x1f, 0xc2, 0x33, 0x2d, + 0xff, 0x87, 0x70, 0x35, 0x7d, 0x75, 0xf6, 0xd0, 0xac, 0x15, 0xf2, 0xf1, 0x18, 0x97, 0x7a, 0x85, + 0x5f, 0x27, 0x00, 0xca, 0x1b, 0x1b, 0x6b, 0x1e, 0x6d, 0xd9, 0x84, 0x3f, 0x2d, 0xdf, 0xd7, 0xe3, + 0x41, 0xc7, 0x3c, 0xf3, 0xe4, 0xfe, 0x47, 0x91, 0xb5, 0xea, 0x99, 0x07, 0xc2, 0x5a, 0x8c, 0x87, + 0xb0, 0x83, 0x27, 0x87, 0x2d, 0x33, 0xde, 0xcf, 0xec, 0xeb, 0x90, 0x8e, 0xc8, 0x60, 0xa8, 0x0a, + 0x23, 0x5c, 0xfd, 0x56, 0x04, 0x17, 0x0e, 0x27, 0x38, 0x50, 0x8b, 0x93, 0x1c, 0xaa, 0x17, 0x3e, + 0xf2, 0x79, 0x8e, 0x12, 0xff, 0xdb, 0x19, 0x63, 0xa8, 0x0a, 0x49, 0x95, 0xb3, 0x83, 0x4f, 0xda, + 0x5e, 0x14, 0x00, 0x7a, 0x01, 0xc6, 0xbb, 0xeb, 0x8e, 0x68, 0x9e, 0x23, 0xfa, 0x58, 0x57, 0xc9, + 0x88, 0x71, 0xff, 0x7e, 0x02, 0x4e, 0xad, 0x07, 0x95, 0xeb, 0xdb, 0x4f, 0xd5, 0x3a, 0x0c, 0x13, + 0x87, 0x7b, 0x54, 0x70, 0xe5, 0x87, 0xc6, 0x77, 0x0f, 0x0b, 0x8d, 0x03, 0x9c, 0xaa, 0x38, 0xdc, + 0xeb, 0xc4, 0x03, 0x25, 0xc0, 0x8a, 0xf1, 0xf1, 0xbb, 0x41, 0xc8, 0x1c, 0xa6, 0x8a, 0x5e, 0x84, + 0x09, 0xd3, 0x23, 0x62, 0x20, 0x68, 0xb0, 0x9a, 0x68, 0x16, 0xe3, 0xc1, 0xb0, 0xea, 0xaf, 0x3a, + 0xf8, 0x27, 0x52, 0x3f, 0x06, 0x7d, 0xd1, 0x27, 0x3b, 0x82, 0x8e, 0x47, 0x08, 0xa2, 0xc3, 0xae, + 0xc1, 0x04, 0x75, 0x28, 0xa7, 0xd8, 0x36, 0xea, 0xd8, 0xc6, 0x8e, 0x19, 0x1c, 0xd5, 0x4f, 0xd4, + 0x0e, 0xc7, 0x15, 0x46, 0x49, 0x42, 0xa0, 0x0a, 0x0c, 0x07, 0x68, 0x43, 0x27, 0x47, 0x0b, 0x74, + 0xd1, 0x79, 0x18, 0x8d, 0x37, 0x45, 0x71, 0xec, 0x1a, 0xd2, 0xd3, 0xb1, 0x9e, 0x78, 0x5c, 0xd7, + 0x4d, 0x1e, 0xd9, 0x75, 0xd5, 0xc9, 0xf6, 0xa3, 0x41, 0x98, 0xd2, 0x89, 0xf5, 0xbf, 0xbf, 0x2d, + 0x2b, 0x00, 0x32, 0xa3, 0xfd, 0x82, 0xab, 0x76, 0xe6, 0x09, 0xca, 0x42, 0x4a, 0x82, 0x94, 0x19, + 0xff, 0x6f, 0xed, 0xd0, 0xdf, 0x13, 0x30, 0x1a, 0xdf, 0xa1, 0xff, 0xcb, 0xde, 0x86, 0x6a, 0x51, + 0x99, 0x1a, 0x12, 0x65, 0xea, 0xa5, 0xc3, 0xca, 0x54, 0x5f, 0x34, 0x1f, 0x53, 0x9f, 0x3e, 0x4f, + 0x42, 0x72, 0x05, 0x7b, 0xb8, 0xc9, 0xd0, 0x72, 0xdf, 0x21, 0x5e, 0x5e, 0xa2, 0xa7, 0xfb, 0x82, + 0xb9, 0xac, 0xde, 0x79, 0x64, 0x2c, 0xff, 0xf6, 0xb0, 0x33, 0xfc, 0x0b, 0x30, 0xde, 0xc4, 0x3b, + 0x46, 0xe8, 0x90, 0x24, 0x77, 0x4c, 0xdc, 0xe9, 0x43, 0xef, 0x19, 0xca, 0x41, 0xda, 0x17, 0x8b, + 0xea, 0xb0, 0x2f, 0x03, 0x4d, 0xbc, 0x53, 0x91, 0x23, 0xe8, 0x32, 0xa0, 0xad, 0xf0, 0x71, 0xc6, + 0x88, 0x88, 0xf0, 0xe5, 0xa6, 0xa2, 0x99, 0x40, 0xfc, 0x39, 0x00, 0x71, 0x42, 0xb6, 0x88, 0xe3, + 0x36, 0xd5, 0x8d, 0x36, 0xe5, 0x8f, 0x94, 0xfd, 0x01, 0xf4, 0x2b, 0x4d, 0xde, 0x05, 0x7a, 0x9e, + 0x0c, 0xd4, 0x55, 0x6c, 0xed, 0x31, 0x92, 0xe2, 0xeb, 0xfd, 0x5c, 0xb6, 0x83, 0x9b, 0xf6, 0x42, + 0xe1, 0x00, 0x9c, 0xc2, 0x41, 0xaf, 0x18, 0xfe, 0xa5, 0xa1, 0xfb, 0xc9, 0x01, 0xfd, 0x52, 0xeb, + 0x3b, 0xd2, 0x6f, 0x62, 0x93, 0xbb, 0x9e, 0xb8, 0xba, 0xa5, 0x4a, 0xb5, 0x93, 0x1d, 0xb4, 0xbf, + 0xde, 0xcf, 0x3d, 0x2b, 0x6d, 0x3a, 0x10, 0xb4, 0xd0, 0x73, 0xc8, 0xbf, 0x2e, 0x46, 0xd1, 0xfb, + 0x1a, 0x4c, 0x37, 0x6c, 0xb7, 0x8e, 0x6d, 0x23, 0x38, 0xec, 0xcb, 0x78, 0x32, 0x4c, 0xdc, 0x12, + 0x97, 0xbd, 0x54, 0x49, 0x3f, 0xb1, 0x21, 0x79, 0x69, 0xc8, 0xa1, 0xc0, 0x05, 0xfd, 0xac, 0x9c, + 0xbb, 0x25, 0x6f, 0x03, 0x72, 0x66, 0x09, 0xb7, 0xd0, 0x87, 0x1a, 0x3c, 0x1b, 0xd9, 0x7f, 0x80, + 0x49, 0x29, 0x61, 0xd2, 0xfa, 0x89, 0x4d, 0xba, 0xd0, 0xcb, 0xcd, 0x41, 0x56, 0x4d, 0x87, 0xd3, + 0xbd, 0x86, 0x2d, 0x3c, 0xef, 0x17, 0xa3, 0xdd, 0x2f, 0x3f, 0xb9, 0x34, 0x13, 0x5b, 0x60, 0x27, + 0x7c, 0x68, 0x95, 0x19, 0xe4, 0x5f, 0x3f, 0x50, 0xd4, 0xe3, 0x75, 0xc2, 0x5a, 0xae, 0xc3, 0xc4, + 0x5d, 0x36, 0x76, 0xe7, 0xd4, 0x8e, 0xbe, 0xcb, 0x46, 0xfa, 0x5d, 0x77, 0xd9, 0x58, 0x05, 0xfc, + 0x41, 0xd4, 0x62, 0x13, 0x2a, 0x41, 0x15, 0x56, 0x1d, 0x33, 0x12, 0xbb, 0x14, 0xd3, 0x2e, 0x88, + 0x40, 0x49, 0x14, 0xd6, 0x81, 0xc2, 0x5f, 0x34, 0x98, 0xee, 0x2b, 0x16, 0xa1, 0xc9, 0x26, 0x20, + 0x2f, 0x36, 0x29, 0x92, 0xae, 0xa3, 0x4c, 0x7f, 0xb2, 0xda, 0x33, 0xe5, 0xf5, 0xf5, 0xd9, 0xa7, + 0x73, 0x56, 0x50, 0x8d, 0xe2, 0xcf, 0x1a, 0x9c, 0x8e, 0x1b, 0x10, 0xba, 0xb2, 0x0a, 0xa3, 0xf1, + 0xa5, 0x95, 0x13, 0xcf, 0x3f, 0x8e, 0x13, 0x71, 0xfb, 0xbb, 0x40, 0xd0, 0x46, 0x54, 0x90, 0xe5, + 0x0b, 0xef, 0x95, 0xc7, 0x26, 0x25, 0x30, 0xec, 0xc0, 0xc2, 0x2c, 0xf7, 0xe6, 0x5f, 0x1a, 0x0c, + 0xad, 0xb8, 0xae, 0x8d, 0xde, 0x86, 0x29, 0xc7, 0xe5, 0x22, 0x91, 0x89, 0x65, 0xa8, 0x27, 0x28, + 0xd9, 0xec, 0x2a, 0x47, 0x72, 0xf5, 0xcf, 0xfd, 0x5c, 0xbf, 0x66, 0x37, 0x81, 0xea, 0xa5, 0xd3, + 0x71, 0x79, 0x49, 0x08, 0xad, 0xc9, 0x57, 0xaa, 0x4d, 0x18, 0xeb, 0x5e, 0x4e, 0x36, 0xc4, 0xc5, + 0xe3, 0x96, 0x1b, 0x3b, 0x76, 0xa9, 0xd1, 0x7a, 0x6c, 0x9d, 0x85, 0x11, 0x7f, 0xd7, 0xfe, 0xed, + 0xef, 0xdc, 0x1b, 0x30, 0x19, 0x76, 0x83, 0x75, 0xf1, 0x4c, 0xca, 0xfc, 0xd0, 0x90, 0x2f, 0xa6, + 0xc1, 0x95, 0x2d, 0x1f, 0x7f, 0x7e, 0xc7, 0x75, 0x93, 0x16, 0x7b, 0x74, 0xba, 0xe8, 0x54, 0xba, + 0x85, 0x4f, 0x35, 0x38, 0x25, 0xd6, 0xa3, 0xef, 0x12, 0xf1, 0xe8, 0xa0, 0x13, 0xd3, 0xf5, 0x2c, + 0x34, 0x0e, 0x09, 0x6a, 0x09, 0x22, 0x87, 0xf4, 0x04, 0xb5, 0x50, 0x11, 0x9e, 0x71, 0xdf, 0x71, + 0x88, 0xa7, 0x9c, 0x3d, 0xfc, 0x20, 0x21, 0xc5, 0x44, 0x67, 0x73, 0xad, 0xb6, 0x4d, 0x0c, 0x6c, + 0xca, 0xc3, 0x8c, 0x7c, 0x7d, 0x1d, 0x93, 0xa3, 0x8b, 0x72, 0x10, 0x5d, 0x83, 0x54, 0x58, 0x52, + 0x54, 0x88, 0x1f, 0xf1, 0x8c, 0x11, 0x8a, 0xaa, 0x88, 0x7e, 0x0b, 0x0a, 0x2b, 0x44, 0x76, 0xd3, + 0xb8, 0x0b, 0x8b, 0x6d, 0xbe, 0xe5, 0x7a, 0xf4, 0x5d, 0x11, 0x51, 0x4f, 0xfc, 0x54, 0x72, 0xe9, + 0x8f, 0x1a, 0x40, 0xf4, 0xd2, 0x89, 0x5e, 0x86, 0x73, 0xa5, 0xe5, 0x5a, 0xd9, 0x58, 0x5d, 0x5b, + 0x5c, 0x5b, 0x5f, 0x35, 0xd6, 0x6b, 0xab, 0x2b, 0x95, 0xa5, 0xea, 0xf5, 0x6a, 0xa5, 0x3c, 0x39, + 0x90, 0x9d, 0xd8, 0xdd, 0xcb, 0xa7, 0xd7, 0x1d, 0xd6, 0x22, 0x26, 0xdd, 0xa4, 0xc4, 0x42, 0x17, + 0xe1, 0x74, 0xb7, 0xb4, 0xff, 0x55, 0x29, 0x4f, 0x6a, 0xd9, 0xd1, 0xdd, 0xbd, 0xfc, 0x88, 0xbc, + 0xf0, 0x10, 0x0b, 0xcd, 0xc1, 0x99, 0x7e, 0xb9, 0x6a, 0xed, 0xd5, 0xc9, 0x44, 0x76, 0x6c, 0x77, + 0x2f, 0x9f, 0x0a, 0x6f, 0x46, 0xa8, 0x00, 0x28, 0x2e, 0xa9, 0xf0, 0x06, 0xb3, 0xb0, 0xbb, 0x97, + 0x4f, 0xca, 0x00, 0xcd, 0x0e, 0xbd, 0xf7, 0xfb, 0xd9, 0x81, 0x4b, 0x3f, 0x03, 0xa8, 0x3a, 0x9b, + 0x1e, 0x36, 0x45, 0x22, 0x66, 0xe1, 0x6c, 0xb5, 0x76, 0x5d, 0x5f, 0x5c, 0x5a, 0xab, 0x2e, 0xd7, + 0xba, 0xcd, 0xee, 0x99, 0x2b, 0x2f, 0xaf, 0x97, 0x6e, 0x55, 0x8c, 0xd5, 0xea, 0xab, 0xb5, 0x49, + 0x0d, 0x9d, 0x83, 0x53, 0x5d, 0x73, 0x3f, 0xa9, 0xad, 0x55, 0x6f, 0x57, 0x26, 0x13, 0x97, 0x3e, + 0x4d, 0xc0, 0xb9, 0x2e, 0xbe, 0x6f, 0xb9, 0xe6, 0xb6, 0x22, 0xa9, 0x04, 0x17, 0xd7, 0x96, 0x6f, + 0x56, 0x6a, 0xd5, 0x37, 0x2b, 0xc6, 0xea, 0x8d, 0x45, 0xbd, 0x62, 0xdc, 0x5a, 0x5e, 0xba, 0x79, + 0x30, 0x67, 0x67, 0x77, 0xf7, 0xf2, 0xa8, 0x07, 0xa0, 0x46, 0x6d, 0xf4, 0x23, 0x38, 0x7f, 0x04, + 0x86, 0xff, 0x5b, 0xf0, 0x38, 0xbd, 0xbb, 0x97, 0x3f, 0xd3, 0xa3, 0xee, 0xff, 0x22, 0x16, 0x2a, + 0xc3, 0x85, 0x23, 0xad, 0x50, 0x18, 0x89, 0xec, 0xcc, 0xee, 0x5e, 0xfe, 0x5c, 0x0f, 0xc6, 0xba, + 0x63, 0x4b, 0x94, 0xdb, 0x30, 0x77, 0x8c, 0x1d, 0x46, 0xe5, 0xf5, 0x95, 0xaa, 0xee, 0xef, 0xd6, + 0x60, 0x36, 0xb7, 0xbb, 0x97, 0x9f, 0x39, 0xc0, 0x9c, 0xca, 0x4e, 0x8b, 0xfa, 0x91, 0x25, 0xf7, + 0xa6, 0x74, 0xfd, 0xb3, 0x87, 0xb3, 0xda, 0xfd, 0x87, 0xb3, 0xda, 0x3f, 0x1e, 0xce, 0x6a, 0x1f, + 0x3c, 0x9a, 0x1d, 0xb8, 0xff, 0x68, 0x76, 0xe0, 0xaf, 0x8f, 0x66, 0x07, 0xde, 0x7c, 0xf9, 0xc8, + 0x56, 0x1d, 0x75, 0x52, 0xd1, 0xb4, 0xeb, 0x49, 0x71, 0xd4, 0xfc, 0xde, 0x7f, 0x02, 0x00, 0x00, + 0xff, 0xff, 0xec, 0x2d, 0x8c, 0x8b, 0xd1, 0x1c, 0x00, 0x00, } func (this *Pool) Description() (desc *github_com_cosmos_gogoproto_protoc_gen_gogo_descriptor.FileDescriptorSet) { @@ -1404,707 +1610,731 @@ func (this *Pool) Description() (desc *github_com_cosmos_gogoproto_protoc_gen_go func StakingDescription() (desc *github_com_cosmos_gogoproto_protoc_gen_gogo_descriptor.FileDescriptorSet) { d := &github_com_cosmos_gogoproto_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 11200 bytes of a gzipped FileDescriptorSet - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x7d, 0x69, 0x90, 0x1c, 0xd7, - 0x79, 0xd8, 0xce, 0x3d, 0xf3, 0xcd, 0xd5, 0xfb, 0x76, 0x01, 0x2c, 0x06, 0xe4, 0xee, 0xa2, 0x29, - 0x12, 0x20, 0x48, 0x2e, 0x48, 0x90, 0x00, 0xc9, 0x85, 0x28, 0x66, 0x66, 0x76, 0xb0, 0x18, 0x70, - 0x2f, 0xf6, 0xcc, 0x42, 0x24, 0x6d, 0xab, 0xdd, 0xdb, 0xf3, 0x76, 0xb7, 0x89, 0x99, 0xee, 0x51, - 0x77, 0x0f, 0xb0, 0xcb, 0x4a, 0xa5, 0xe4, 0xc8, 0x4e, 0x64, 0xf8, 0x88, 0x1c, 0xbb, 0x6c, 0xd9, - 0x12, 0x6c, 0xc9, 0x8e, 0x6d, 0xd9, 0xb9, 0x7c, 0x28, 0x3e, 0xe2, 0x8a, 0x63, 0xe7, 0xb4, 0x5d, - 0x39, 0x14, 0xff, 0x48, 0x9c, 0x54, 0x99, 0xb1, 0x29, 0x57, 0xac, 0xc8, 0x72, 0xe2, 0x83, 0x4e, - 0x9c, 0x52, 0x25, 0x95, 0x7a, 0x57, 0x1f, 0x73, 0xec, 0xcc, 0x42, 0xa4, 0xac, 0xd8, 0xf9, 0x03, - 0x4c, 0x7f, 0xef, 0xfb, 0xbe, 0xf7, 0xde, 0xf7, 0xbe, 0xf7, 0xbd, 0xef, 0xfb, 0xde, 0xb1, 0xf0, - 0xdb, 0x15, 0x58, 0xdc, 0xb3, 0xac, 0xbd, 0x36, 0xbe, 0xd8, 0xb5, 0x2d, 0xd7, 0xda, 0xe9, 0xed, - 0x5e, 0x6c, 0x61, 0x47, 0xb7, 0x8d, 0xae, 0x6b, 0xd9, 0x4b, 0x14, 0x86, 0x8a, 0x0c, 0x63, 0x49, - 0x60, 0xc8, 0xeb, 0x30, 0x7d, 0xcd, 0x68, 0xe3, 0x15, 0x0f, 0xb1, 0x81, 0x5d, 0xf4, 0x1c, 0xc4, - 0x77, 0x8d, 0x36, 0x9e, 0x8b, 0x2c, 0xc6, 0xce, 0x67, 0x2f, 0xbd, 0x67, 0xa9, 0x8f, 0x68, 0x29, - 0x4c, 0xb1, 0x45, 0xc0, 0x0a, 0xa5, 0x90, 0xff, 0x4f, 0x1c, 0x66, 0x86, 0x94, 0x22, 0x04, 0x71, - 0x53, 0xeb, 0x10, 0x8e, 0x91, 0xf3, 0x19, 0x85, 0xfe, 0x46, 0x73, 0x90, 0xea, 0x6a, 0xfa, 0x2d, - 0x6d, 0x0f, 0xcf, 0x45, 0x29, 0x58, 0x7c, 0xa2, 0x79, 0x80, 0x16, 0xee, 0x62, 0xb3, 0x85, 0x4d, - 0xfd, 0x70, 0x2e, 0xb6, 0x18, 0x3b, 0x9f, 0x51, 0x02, 0x10, 0xf4, 0x18, 0x4c, 0x77, 0x7b, 0x3b, - 0x6d, 0x43, 0x57, 0x03, 0x68, 0xb0, 0x18, 0x3b, 0x9f, 0x50, 0x24, 0x56, 0xb0, 0xe2, 0x23, 0x9f, - 0x83, 0xe2, 0x1d, 0xac, 0xdd, 0x0a, 0xa2, 0x66, 0x29, 0x6a, 0x81, 0x80, 0x03, 0x88, 0x55, 0xc8, - 0x75, 0xb0, 0xe3, 0x68, 0x7b, 0x58, 0x75, 0x0f, 0xbb, 0x78, 0x2e, 0x4e, 0x7b, 0xbf, 0x38, 0xd0, - 0xfb, 0xfe, 0x9e, 0x67, 0x39, 0x55, 0xf3, 0xb0, 0x8b, 0x51, 0x19, 0x32, 0xd8, 0xec, 0x75, 0x18, - 0x87, 0xc4, 0x08, 0xf9, 0xd5, 0xcc, 0x5e, 0xa7, 0x9f, 0x4b, 0x9a, 0x90, 0x71, 0x16, 0x29, 0x07, - 0xdb, 0xb7, 0x0d, 0x1d, 0xcf, 0x25, 0x29, 0x83, 0x73, 0x03, 0x0c, 0x1a, 0xac, 0xbc, 0x9f, 0x87, - 0xa0, 0x43, 0x55, 0xc8, 0xe0, 0x03, 0x17, 0x9b, 0x8e, 0x61, 0x99, 0x73, 0x29, 0xca, 0xe4, 0xe1, - 0x21, 0xa3, 0x88, 0xdb, 0xad, 0x7e, 0x16, 0x3e, 0x1d, 0xba, 0x02, 0x29, 0xab, 0xeb, 0x1a, 0x96, - 0xe9, 0xcc, 0xa5, 0x17, 0x23, 0xe7, 0xb3, 0x97, 0x1e, 0x18, 0xaa, 0x08, 0x9b, 0x0c, 0x47, 0x11, - 0xc8, 0xa8, 0x0e, 0x92, 0x63, 0xf5, 0x6c, 0x1d, 0xab, 0xba, 0xd5, 0xc2, 0xaa, 0x61, 0xee, 0x5a, - 0x73, 0x19, 0xca, 0x60, 0x61, 0xb0, 0x23, 0x14, 0xb1, 0x6a, 0xb5, 0x70, 0xdd, 0xdc, 0xb5, 0x94, - 0x82, 0x13, 0xfa, 0x46, 0x27, 0x21, 0xe9, 0x1c, 0x9a, 0xae, 0x76, 0x30, 0x97, 0xa3, 0x1a, 0xc2, - 0xbf, 0x88, 0xea, 0xe0, 0x96, 0x41, 0xaa, 0x9b, 0xcb, 0x33, 0xd5, 0xe1, 0x9f, 0xf2, 0xcf, 0x27, - 0xa1, 0x38, 0x89, 0xf2, 0x5d, 0x85, 0xc4, 0x2e, 0xe9, 0xff, 0x5c, 0xf4, 0x38, 0xd2, 0x61, 0x34, - 0x61, 0xf1, 0x26, 0xef, 0x53, 0xbc, 0x65, 0xc8, 0x9a, 0xd8, 0x71, 0x71, 0x8b, 0xe9, 0x4a, 0x6c, - 0x42, 0x6d, 0x03, 0x46, 0x34, 0xa8, 0x6c, 0xf1, 0xfb, 0x52, 0xb6, 0x57, 0xa0, 0xe8, 0x35, 0x49, - 0xb5, 0x35, 0x73, 0x4f, 0x68, 0xed, 0xc5, 0x71, 0x2d, 0x59, 0xaa, 0x09, 0x3a, 0x85, 0x90, 0x29, - 0x05, 0x1c, 0xfa, 0x46, 0x2b, 0x00, 0x96, 0x89, 0xad, 0x5d, 0xb5, 0x85, 0xf5, 0xf6, 0x5c, 0x7a, - 0x84, 0x94, 0x36, 0x09, 0xca, 0x80, 0x94, 0x2c, 0x06, 0xd5, 0xdb, 0xe8, 0x79, 0x5f, 0x09, 0x53, - 0x23, 0x74, 0x68, 0x9d, 0x4d, 0xbf, 0x01, 0x3d, 0xdc, 0x86, 0x82, 0x8d, 0xc9, 0x8c, 0xc0, 0x2d, - 0xde, 0xb3, 0x0c, 0x6d, 0xc4, 0xd2, 0xd8, 0x9e, 0x29, 0x9c, 0x8c, 0x75, 0x2c, 0x6f, 0x07, 0x3f, - 0xd1, 0x43, 0xe0, 0x01, 0x54, 0xaa, 0x56, 0x40, 0xed, 0x53, 0x4e, 0x00, 0x37, 0xb4, 0x0e, 0x2e, - 0xbd, 0x01, 0x85, 0xb0, 0x78, 0xd0, 0x2c, 0x24, 0x1c, 0x57, 0xb3, 0x5d, 0xaa, 0x85, 0x09, 0x85, - 0x7d, 0x20, 0x09, 0x62, 0xd8, 0x6c, 0x51, 0xfb, 0x97, 0x50, 0xc8, 0x4f, 0xf4, 0x97, 0xfc, 0x0e, - 0xc7, 0x68, 0x87, 0x1f, 0x19, 0x1c, 0xd1, 0x10, 0xe7, 0xfe, 0x7e, 0x97, 0x9e, 0x85, 0x7c, 0xa8, - 0x03, 0x93, 0x56, 0x2d, 0xff, 0x65, 0x38, 0x31, 0x94, 0x35, 0x7a, 0x05, 0x66, 0x7b, 0xa6, 0x61, - 0xba, 0xd8, 0xee, 0xda, 0x98, 0x68, 0x2c, 0xab, 0x6a, 0xee, 0x77, 0x53, 0x23, 0x74, 0x6e, 0x3b, - 0x88, 0xcd, 0xb8, 0x28, 0x33, 0xbd, 0x41, 0xe0, 0x85, 0x4c, 0xfa, 0xf3, 0x29, 0xe9, 0x43, 0x1f, - 0xfa, 0xd0, 0x87, 0xa2, 0xf2, 0x2f, 0x27, 0x61, 0x76, 0xd8, 0x9c, 0x19, 0x3a, 0x7d, 0x4f, 0x42, - 0xd2, 0xec, 0x75, 0x76, 0xb0, 0x4d, 0x85, 0x94, 0x50, 0xf8, 0x17, 0x2a, 0x43, 0xa2, 0xad, 0xed, - 0xe0, 0xf6, 0x5c, 0x7c, 0x31, 0x72, 0xbe, 0x70, 0xe9, 0xb1, 0x89, 0x66, 0xe5, 0xd2, 0x1a, 0x21, - 0x51, 0x18, 0x25, 0x7a, 0x1f, 0xc4, 0xb9, 0xf1, 0x26, 0x1c, 0x2e, 0x4c, 0xc6, 0x81, 0xcc, 0x25, - 0x85, 0xd2, 0xa1, 0x33, 0x90, 0x21, 0xff, 0x33, 0xdd, 0x48, 0xd2, 0x36, 0xa7, 0x09, 0x80, 0xe8, - 0x05, 0x2a, 0x41, 0x9a, 0x4e, 0x93, 0x16, 0x16, 0x8b, 0x9e, 0xf7, 0x4d, 0x14, 0xab, 0x85, 0x77, - 0xb5, 0x5e, 0xdb, 0x55, 0x6f, 0x6b, 0xed, 0x1e, 0xa6, 0x0a, 0x9f, 0x51, 0x72, 0x1c, 0x78, 0x93, - 0xc0, 0xd0, 0x02, 0x64, 0xd9, 0xac, 0x32, 0xcc, 0x16, 0x3e, 0xa0, 0x76, 0x35, 0xa1, 0xb0, 0x89, - 0x56, 0x27, 0x10, 0x52, 0xfd, 0xeb, 0x8e, 0x65, 0x0a, 0xd5, 0xa4, 0x55, 0x10, 0x00, 0xad, 0xfe, - 0xd9, 0x7e, 0x93, 0xfe, 0xe0, 0xf0, 0xee, 0x0d, 0xcc, 0xa5, 0x73, 0x50, 0xa4, 0x18, 0x4f, 0xf3, - 0xa1, 0xd7, 0xda, 0x73, 0xd3, 0x8b, 0x91, 0xf3, 0x69, 0xa5, 0xc0, 0xc0, 0x9b, 0x1c, 0x2a, 0xff, - 0x4c, 0x14, 0xe2, 0xd4, 0xb0, 0x14, 0x21, 0xdb, 0x7c, 0x75, 0xab, 0xa6, 0xae, 0x6c, 0x6e, 0x57, - 0xd6, 0x6a, 0x52, 0x04, 0x15, 0x00, 0x28, 0xe0, 0xda, 0xda, 0x66, 0xb9, 0x29, 0x45, 0xbd, 0xef, - 0xfa, 0x46, 0xf3, 0xca, 0x33, 0x52, 0xcc, 0x23, 0xd8, 0x66, 0x80, 0x78, 0x10, 0xe1, 0xe9, 0x4b, - 0x52, 0x02, 0x49, 0x90, 0x63, 0x0c, 0xea, 0xaf, 0xd4, 0x56, 0xae, 0x3c, 0x23, 0x25, 0xc3, 0x90, - 0xa7, 0x2f, 0x49, 0x29, 0x94, 0x87, 0x0c, 0x85, 0x54, 0x36, 0x37, 0xd7, 0xa4, 0xb4, 0xc7, 0xb3, - 0xd1, 0x54, 0xea, 0x1b, 0xab, 0x52, 0xc6, 0xe3, 0xb9, 0xaa, 0x6c, 0x6e, 0x6f, 0x49, 0xe0, 0x71, - 0x58, 0xaf, 0x35, 0x1a, 0xe5, 0xd5, 0x9a, 0x94, 0xf5, 0x30, 0x2a, 0xaf, 0x36, 0x6b, 0x0d, 0x29, - 0x17, 0x6a, 0xd6, 0xd3, 0x97, 0xa4, 0xbc, 0x57, 0x45, 0x6d, 0x63, 0x7b, 0x5d, 0x2a, 0xa0, 0x69, - 0xc8, 0xb3, 0x2a, 0x44, 0x23, 0x8a, 0x7d, 0xa0, 0x2b, 0xcf, 0x48, 0x92, 0xdf, 0x10, 0xc6, 0x65, - 0x3a, 0x04, 0xb8, 0xf2, 0x8c, 0x84, 0xe4, 0x2a, 0x24, 0xa8, 0x1a, 0x22, 0x04, 0x85, 0xb5, 0x72, - 0xa5, 0xb6, 0xa6, 0x6e, 0x6e, 0x35, 0xeb, 0x9b, 0x1b, 0xe5, 0x35, 0x29, 0xe2, 0xc3, 0x94, 0xda, - 0xcb, 0xdb, 0x75, 0xa5, 0xb6, 0x22, 0x45, 0x83, 0xb0, 0xad, 0x5a, 0xb9, 0x59, 0x5b, 0x91, 0x62, - 0xb2, 0x0e, 0xb3, 0xc3, 0x0c, 0xea, 0xd0, 0x29, 0x14, 0xd0, 0x85, 0xe8, 0x08, 0x5d, 0xa0, 0xbc, - 0xfa, 0x75, 0x41, 0xfe, 0x5c, 0x14, 0x66, 0x86, 0x2c, 0x2a, 0x43, 0x2b, 0x79, 0x11, 0x12, 0x4c, - 0x97, 0xd9, 0x32, 0xfb, 0xe8, 0xd0, 0xd5, 0x89, 0x6a, 0xf6, 0xc0, 0x52, 0x4b, 0xe9, 0x82, 0x4e, - 0x48, 0x6c, 0x84, 0x13, 0x42, 0x58, 0x0c, 0x28, 0xec, 0xd7, 0x0d, 0x18, 0x7f, 0xb6, 0x3e, 0x5e, - 0x99, 0x64, 0x7d, 0xa4, 0xb0, 0xe3, 0x2d, 0x02, 0x89, 0x21, 0x8b, 0xc0, 0x55, 0x98, 0x1e, 0x60, - 0x34, 0xb1, 0x31, 0xfe, 0x70, 0x04, 0xe6, 0x46, 0x09, 0x67, 0x8c, 0x49, 0x8c, 0x86, 0x4c, 0xe2, - 0xd5, 0x7e, 0x09, 0x9e, 0x1d, 0x3d, 0x08, 0x03, 0x63, 0xfd, 0xa3, 0x11, 0x38, 0x39, 0xdc, 0xd9, - 0x1c, 0xda, 0x86, 0xf7, 0x41, 0xb2, 0x83, 0xdd, 0x7d, 0x4b, 0xb8, 0x55, 0x8f, 0x0c, 0x59, 0xac, - 0x49, 0x71, 0xff, 0x60, 0x73, 0xaa, 0xe0, 0x6a, 0x1f, 0x1b, 0xe5, 0x31, 0xb2, 0xd6, 0x0c, 0xb4, - 0xf4, 0x9b, 0xa3, 0x70, 0x62, 0x28, 0xf3, 0xa1, 0x0d, 0x7d, 0x10, 0xc0, 0x30, 0xbb, 0x3d, 0x97, - 0xb9, 0x4e, 0xcc, 0x12, 0x67, 0x28, 0x84, 0x1a, 0x2f, 0x62, 0x65, 0x7b, 0xae, 0x57, 0x1e, 0xa3, - 0xe5, 0xc0, 0x40, 0x14, 0xe1, 0x39, 0xbf, 0xa1, 0x71, 0xda, 0xd0, 0xf9, 0x11, 0x3d, 0x1d, 0x50, - 0xcc, 0x27, 0x41, 0xd2, 0xdb, 0x06, 0x36, 0x5d, 0xd5, 0x71, 0x6d, 0xac, 0x75, 0x0c, 0x73, 0x8f, - 0x2e, 0x35, 0xe9, 0xe5, 0xc4, 0xae, 0xd6, 0x76, 0xb0, 0x52, 0x64, 0xc5, 0x0d, 0x51, 0x4a, 0x28, - 0xa8, 0x02, 0xd9, 0x01, 0x8a, 0x64, 0x88, 0x82, 0x15, 0x7b, 0x14, 0xf2, 0x77, 0x64, 0x20, 0x1b, - 0x70, 0xcd, 0xd1, 0x59, 0xc8, 0xbd, 0xae, 0xdd, 0xd6, 0x54, 0x11, 0x6e, 0x31, 0x49, 0x64, 0x09, - 0x6c, 0x8b, 0x87, 0x5c, 0x4f, 0xc2, 0x2c, 0x45, 0xb1, 0x7a, 0x2e, 0xb6, 0x55, 0xbd, 0xad, 0x39, - 0x0e, 0x15, 0x5a, 0x9a, 0xa2, 0x22, 0x52, 0xb6, 0x49, 0x8a, 0xaa, 0xa2, 0x04, 0x5d, 0x86, 0x19, - 0x4a, 0xd1, 0xe9, 0xb5, 0x5d, 0xa3, 0xdb, 0xc6, 0x2a, 0x09, 0x00, 0x1d, 0xba, 0xe4, 0x78, 0x2d, - 0x9b, 0x26, 0x18, 0xeb, 0x1c, 0x81, 0xb4, 0xc8, 0x41, 0x2b, 0xf0, 0x20, 0x25, 0xdb, 0xc3, 0x26, - 0xb6, 0x35, 0x17, 0xab, 0xf8, 0x83, 0x3d, 0xad, 0xed, 0xa8, 0x9a, 0xd9, 0x52, 0xf7, 0x35, 0x67, - 0x7f, 0x6e, 0x96, 0x30, 0xa8, 0x44, 0xe7, 0x22, 0xca, 0x69, 0x82, 0xb8, 0xca, 0xf1, 0x6a, 0x14, - 0xad, 0x6c, 0xb6, 0xae, 0x6b, 0xce, 0x3e, 0x5a, 0x86, 0x93, 0x94, 0x8b, 0xe3, 0xda, 0x86, 0xb9, - 0xa7, 0xea, 0xfb, 0x58, 0xbf, 0xa5, 0xf6, 0xdc, 0xdd, 0xe7, 0xe6, 0xce, 0x04, 0xeb, 0xa7, 0x2d, - 0x6c, 0x50, 0x9c, 0x2a, 0x41, 0xd9, 0x76, 0x77, 0x9f, 0x43, 0x0d, 0xc8, 0x91, 0xc1, 0xe8, 0x18, - 0x6f, 0x60, 0x75, 0xd7, 0xb2, 0xe9, 0x1a, 0x5a, 0x18, 0x62, 0x9a, 0x02, 0x12, 0x5c, 0xda, 0xe4, - 0x04, 0xeb, 0x56, 0x0b, 0x2f, 0x27, 0x1a, 0x5b, 0xb5, 0xda, 0x8a, 0x92, 0x15, 0x5c, 0xae, 0x59, - 0x36, 0x51, 0xa8, 0x3d, 0xcb, 0x13, 0x70, 0x96, 0x29, 0xd4, 0x9e, 0x25, 0xc4, 0x7b, 0x19, 0x66, - 0x74, 0x9d, 0xf5, 0xd9, 0xd0, 0x55, 0x1e, 0xa6, 0x39, 0x73, 0x52, 0x48, 0x58, 0xba, 0xbe, 0xca, - 0x10, 0xb8, 0x8e, 0x3b, 0xe8, 0x79, 0x38, 0xe1, 0x0b, 0x2b, 0x48, 0x38, 0x3d, 0xd0, 0xcb, 0x7e, - 0xd2, 0xcb, 0x30, 0xd3, 0x3d, 0x1c, 0x24, 0x44, 0xa1, 0x1a, 0xbb, 0x87, 0xfd, 0x64, 0xcf, 0xc2, - 0x6c, 0x77, 0xbf, 0x3b, 0x48, 0x77, 0x21, 0x48, 0x87, 0xba, 0xfb, 0xdd, 0x7e, 0xc2, 0x87, 0x69, - 0xcc, 0x6e, 0x63, 0x5d, 0x73, 0x71, 0x6b, 0xee, 0x54, 0x10, 0x3d, 0x50, 0x80, 0x96, 0x40, 0xd2, - 0x75, 0x15, 0x9b, 0xda, 0x4e, 0x1b, 0xab, 0x9a, 0x8d, 0x4d, 0xcd, 0x99, 0x5b, 0xa0, 0xc8, 0x71, - 0xd7, 0xee, 0x61, 0xa5, 0xa0, 0xeb, 0x35, 0x5a, 0x58, 0xa6, 0x65, 0xe8, 0x02, 0x4c, 0x5b, 0x3b, - 0xaf, 0xeb, 0x4c, 0x23, 0xd5, 0xae, 0x8d, 0x77, 0x8d, 0x83, 0xb9, 0xf7, 0x50, 0xf1, 0x16, 0x49, - 0x01, 0xd5, 0xc7, 0x2d, 0x0a, 0x46, 0x8f, 0x82, 0xa4, 0x3b, 0xfb, 0x9a, 0xdd, 0xa5, 0x26, 0xd9, - 0xe9, 0x6a, 0x3a, 0x9e, 0x7b, 0x98, 0xa1, 0x32, 0xf8, 0x86, 0x00, 0x93, 0x19, 0xe1, 0xdc, 0x31, - 0x76, 0x5d, 0xc1, 0xf1, 0x1c, 0x9b, 0x11, 0x14, 0xc6, 0xb9, 0x9d, 0x07, 0x89, 0x48, 0x22, 0x54, - 0xf1, 0x79, 0x8a, 0x56, 0xe8, 0xee, 0x77, 0x83, 0xf5, 0x3e, 0x04, 0x79, 0x82, 0xe9, 0x57, 0xfa, - 0x28, 0x73, 0xdc, 0xba, 0xfb, 0x81, 0x1a, 0x9f, 0x81, 0x93, 0x04, 0xa9, 0x83, 0x5d, 0xad, 0xa5, - 0xb9, 0x5a, 0x00, 0xfb, 0x71, 0x8a, 0x4d, 0xc4, 0xbe, 0xce, 0x0b, 0x43, 0xed, 0xb4, 0x7b, 0x3b, - 0x87, 0x9e, 0x62, 0x3d, 0xc1, 0xda, 0x49, 0x60, 0x42, 0xb5, 0xde, 0x35, 0xe7, 0x5c, 0x5e, 0x86, - 0x5c, 0x50, 0xef, 0x51, 0x06, 0x98, 0xe6, 0x4b, 0x11, 0xe2, 0x04, 0x55, 0x37, 0x57, 0x88, 0xfb, - 0xf2, 0x5a, 0x4d, 0x8a, 0x12, 0x37, 0x6a, 0xad, 0xde, 0xac, 0xa9, 0xca, 0xf6, 0x46, 0xb3, 0xbe, - 0x5e, 0x93, 0x62, 0x01, 0xc7, 0xfe, 0x46, 0x3c, 0xfd, 0x88, 0x74, 0x4e, 0xfe, 0x85, 0x18, 0x14, - 0xc2, 0x91, 0x1a, 0x7a, 0x2f, 0x9c, 0x12, 0x09, 0x17, 0x07, 0xbb, 0xea, 0x1d, 0xc3, 0xa6, 0x13, - 0xb2, 0xa3, 0xb1, 0xc5, 0xd1, 0xd3, 0x9f, 0x59, 0x8e, 0xd5, 0xc0, 0xee, 0xfb, 0x0d, 0x9b, 0x4c, - 0xb7, 0x8e, 0xe6, 0xa2, 0x35, 0x58, 0x30, 0x2d, 0xd5, 0x71, 0x35, 0xb3, 0xa5, 0xd9, 0x2d, 0xd5, - 0x4f, 0x75, 0xa9, 0x9a, 0xae, 0x63, 0xc7, 0xb1, 0xd8, 0x42, 0xe8, 0x71, 0x79, 0xc0, 0xb4, 0x1a, - 0x1c, 0xd9, 0x5f, 0x21, 0xca, 0x1c, 0xb5, 0x4f, 0x7d, 0x63, 0xa3, 0xd4, 0xf7, 0x0c, 0x64, 0x3a, - 0x5a, 0x57, 0xc5, 0xa6, 0x6b, 0x1f, 0x52, 0xff, 0x3c, 0xad, 0xa4, 0x3b, 0x5a, 0xb7, 0x46, 0xbe, - 0xd1, 0x4d, 0x78, 0xc4, 0x47, 0x55, 0xdb, 0x78, 0x4f, 0xd3, 0x0f, 0x55, 0xea, 0x8c, 0xd3, 0xb4, - 0x81, 0xaa, 0x5b, 0xe6, 0x6e, 0xdb, 0xd0, 0x5d, 0x87, 0xda, 0x07, 0x66, 0xe3, 0x64, 0x9f, 0x62, - 0x8d, 0x12, 0xdc, 0x70, 0x2c, 0x93, 0xfa, 0xe0, 0x55, 0x81, 0xfd, 0x15, 0x09, 0xbf, 0x6e, 0xc4, - 0xd3, 0x71, 0x29, 0x71, 0x23, 0x9e, 0x4e, 0x48, 0xc9, 0x1b, 0xf1, 0x74, 0x52, 0x4a, 0xdd, 0x88, - 0xa7, 0xd3, 0x52, 0xe6, 0x46, 0x3c, 0x9d, 0x91, 0x40, 0xfe, 0xd9, 0x34, 0xe4, 0x82, 0x91, 0x01, - 0x09, 0xb4, 0x74, 0xba, 0x36, 0x46, 0xa8, 0xf5, 0x7c, 0xe8, 0xc8, 0x38, 0x62, 0xa9, 0x4a, 0x16, - 0xcd, 0xe5, 0x24, 0x73, 0xc3, 0x15, 0x46, 0x49, 0x1c, 0x16, 0xa2, 0xd6, 0x98, 0xb9, 0x3d, 0x69, - 0x85, 0x7f, 0xa1, 0x55, 0x48, 0xbe, 0xee, 0x50, 0xde, 0x49, 0xca, 0xfb, 0x3d, 0x47, 0xf3, 0xbe, - 0xd1, 0xa0, 0xcc, 0x33, 0x37, 0x1a, 0xea, 0xc6, 0xa6, 0xb2, 0x5e, 0x5e, 0x53, 0x38, 0x39, 0x3a, - 0x0d, 0xf1, 0xb6, 0xf6, 0xc6, 0x61, 0x78, 0x79, 0xa5, 0x20, 0xb4, 0x04, 0xc5, 0x9e, 0x79, 0x1b, - 0xdb, 0xc6, 0xae, 0x41, 0x86, 0x8a, 0x60, 0x15, 0x83, 0x58, 0x05, 0xbf, 0x74, 0x8d, 0xe0, 0x4f, - 0xa8, 0x1e, 0xa7, 0x21, 0x7e, 0x07, 0x6b, 0xb7, 0xc2, 0x8b, 0x20, 0x05, 0xa1, 0xf3, 0x90, 0x6b, - 0xe1, 0x9d, 0xde, 0x9e, 0x6a, 0xe3, 0x96, 0xa6, 0xbb, 0x61, 0xd3, 0x9f, 0xa5, 0x45, 0x0a, 0x2d, - 0x41, 0x2f, 0x41, 0x86, 0x8c, 0x91, 0x49, 0xc7, 0x78, 0x9a, 0x8a, 0xe0, 0x89, 0xa3, 0x45, 0xc0, - 0x87, 0x58, 0x10, 0x29, 0x3e, 0x3d, 0xba, 0x06, 0x49, 0x57, 0xb3, 0xf7, 0xb0, 0x4b, 0x2d, 0x7f, - 0x61, 0x48, 0xf2, 0x63, 0x08, 0xa7, 0x26, 0xa5, 0xa0, 0x31, 0x2d, 0xa7, 0x7e, 0x17, 0xad, 0xcc, - 0x45, 0x48, 0x50, 0xf5, 0x40, 0x00, 0x5c, 0x41, 0xa4, 0x29, 0x94, 0x86, 0x78, 0x75, 0x53, 0x21, - 0x96, 0x46, 0x82, 0x1c, 0x83, 0xaa, 0x5b, 0xf5, 0x5a, 0xb5, 0x26, 0x45, 0xe5, 0xcb, 0x90, 0x64, - 0x63, 0x4e, 0xac, 0x90, 0x37, 0xea, 0xd2, 0x14, 0xff, 0xe4, 0x3c, 0x22, 0xa2, 0x74, 0x7b, 0xbd, - 0x52, 0x53, 0xa4, 0xa8, 0xbc, 0x0d, 0xc5, 0x3e, 0x39, 0xa1, 0x13, 0x30, 0xad, 0xd4, 0x9a, 0xb5, - 0x0d, 0x12, 0x67, 0xa9, 0xdb, 0x1b, 0x2f, 0x6d, 0x6c, 0xbe, 0x7f, 0x43, 0x9a, 0x0a, 0x83, 0x85, - 0x49, 0x8b, 0xa0, 0x59, 0x90, 0x7c, 0x70, 0x63, 0x73, 0x5b, 0xa1, 0xad, 0xf9, 0xd6, 0x28, 0x48, - 0xfd, 0x52, 0x43, 0xa7, 0x60, 0xa6, 0x59, 0x56, 0x56, 0x6b, 0x4d, 0x95, 0xc5, 0x8e, 0x1e, 0xeb, - 0x59, 0x90, 0x82, 0x05, 0xd7, 0xea, 0x34, 0x34, 0x5e, 0x80, 0x33, 0x41, 0x68, 0xed, 0x95, 0x66, - 0x6d, 0xa3, 0x41, 0x2b, 0x2f, 0x6f, 0xac, 0x12, 0xfb, 0xda, 0xc7, 0x4f, 0x44, 0xab, 0x31, 0xd2, - 0xd4, 0x30, 0xbf, 0xda, 0xda, 0x8a, 0x14, 0xef, 0x07, 0x6f, 0x6e, 0xd4, 0x36, 0xaf, 0x49, 0x89, - 0xfe, 0xda, 0x69, 0x04, 0x9b, 0x44, 0x25, 0x38, 0xd9, 0x0f, 0x55, 0x6b, 0x1b, 0x4d, 0xe5, 0x55, - 0x29, 0xd5, 0x5f, 0x71, 0xa3, 0xa6, 0xdc, 0xac, 0x57, 0x6b, 0x52, 0x1a, 0x9d, 0x04, 0x14, 0x6e, - 0x51, 0xf3, 0xfa, 0xe6, 0x8a, 0x94, 0x19, 0xb0, 0x28, 0xb2, 0x03, 0xb9, 0x60, 0x18, 0xf9, 0x95, - 0xc9, 0x25, 0x7d, 0x2c, 0x0a, 0xd9, 0x40, 0x58, 0x48, 0xfc, 0x79, 0xad, 0xdd, 0xb6, 0xee, 0xa8, - 0x5a, 0xdb, 0xd0, 0x1c, 0x6e, 0x6f, 0x80, 0x82, 0xca, 0x04, 0x32, 0xe9, 0xfc, 0x9e, 0xdc, 0xc2, - 0x27, 0xbf, 0x1a, 0x2d, 0x7c, 0x42, 0x4a, 0xca, 0xdf, 0x1f, 0x01, 0xa9, 0x3f, 0xde, 0xeb, 0xeb, - 0x7e, 0x64, 0x54, 0xf7, 0xbf, 0x22, 0x63, 0xf7, 0x89, 0x08, 0x14, 0xc2, 0x41, 0x5e, 0x5f, 0xf3, - 0xce, 0xfe, 0x99, 0x36, 0xef, 0xb7, 0xa2, 0x90, 0x0f, 0x85, 0x76, 0x93, 0xb6, 0xee, 0x83, 0x30, - 0x6d, 0xb4, 0x70, 0xa7, 0x6b, 0xb9, 0xd8, 0xd4, 0x0f, 0xd5, 0x36, 0xbe, 0x8d, 0xdb, 0x73, 0x32, - 0x35, 0xca, 0x17, 0x8f, 0x0e, 0x1e, 0x97, 0xea, 0x3e, 0xdd, 0x1a, 0x21, 0x5b, 0x9e, 0xa9, 0xaf, - 0xd4, 0xd6, 0xb7, 0x36, 0x9b, 0xb5, 0x8d, 0xea, 0xab, 0xc2, 0xba, 0x28, 0x92, 0xd1, 0x87, 0xf6, - 0x2e, 0x1a, 0xed, 0x2d, 0x90, 0xfa, 0x1b, 0x45, 0x6c, 0xc5, 0x90, 0x66, 0x49, 0x53, 0x68, 0x06, - 0x8a, 0x1b, 0x9b, 0x6a, 0xa3, 0xbe, 0x52, 0x53, 0x6b, 0xd7, 0xae, 0xd5, 0xaa, 0xcd, 0x06, 0x4b, - 0x07, 0x7a, 0xd8, 0x4d, 0x29, 0x1a, 0x14, 0xf1, 0xf7, 0xc5, 0x60, 0x66, 0x48, 0x4b, 0x50, 0x99, - 0x07, 0xf2, 0x2c, 0xb7, 0xf0, 0xc4, 0x24, 0xad, 0x5f, 0x22, 0xae, 0xf4, 0x96, 0x66, 0xbb, 0x3c, - 0xee, 0x7f, 0x14, 0x88, 0x94, 0x4c, 0x97, 0xac, 0xec, 0x36, 0x4f, 0xb3, 0xb2, 0xe8, 0xbe, 0xe8, - 0xc3, 0x59, 0xa6, 0xf5, 0x71, 0x40, 0x5d, 0xcb, 0x31, 0x5c, 0xe3, 0x36, 0x56, 0x0d, 0x53, 0xe4, - 0x64, 0x49, 0xb4, 0x1f, 0x57, 0x24, 0x51, 0x52, 0x37, 0x5d, 0x0f, 0xdb, 0xc4, 0x7b, 0x5a, 0x1f, - 0x36, 0xf1, 0x3c, 0x62, 0x8a, 0x24, 0x4a, 0x3c, 0xec, 0xb3, 0x90, 0x6b, 0x59, 0x3d, 0x12, 0x02, - 0x31, 0x3c, 0x62, 0x2d, 0x22, 0x4a, 0x96, 0xc1, 0x3c, 0x14, 0x1e, 0xdc, 0xfa, 0xc9, 0xe0, 0x9c, - 0x92, 0x65, 0x30, 0x86, 0x72, 0x0e, 0x8a, 0xda, 0xde, 0x9e, 0x4d, 0x98, 0x0b, 0x46, 0x2c, 0x5c, - 0x2f, 0x78, 0x60, 0x8a, 0x58, 0xba, 0x01, 0x69, 0x21, 0x07, 0xe2, 0xc1, 0x12, 0x49, 0xa8, 0x5d, - 0x96, 0x83, 0x8a, 0x9e, 0xcf, 0x28, 0x69, 0x53, 0x14, 0x9e, 0x85, 0x9c, 0xe1, 0xa8, 0xfe, 0xde, - 0x56, 0x74, 0x31, 0x7a, 0x3e, 0xad, 0x64, 0x0d, 0xc7, 0xdb, 0x17, 0x90, 0x7f, 0x34, 0x0a, 0x85, - 0xf0, 0xae, 0x1d, 0x5a, 0x81, 0x74, 0xdb, 0xd2, 0x35, 0xaa, 0x5a, 0x6c, 0xcb, 0xf8, 0xfc, 0x98, - 0x8d, 0xbe, 0xa5, 0x35, 0x8e, 0xaf, 0x78, 0x94, 0xa5, 0x7f, 0x13, 0x81, 0xb4, 0x00, 0xa3, 0x93, - 0x10, 0xef, 0x6a, 0xee, 0x3e, 0x65, 0x97, 0xa8, 0x44, 0xa5, 0x88, 0x42, 0xbf, 0x09, 0xdc, 0xe9, - 0x6a, 0x26, 0x55, 0x01, 0x0e, 0x27, 0xdf, 0x64, 0x5c, 0xdb, 0x58, 0x6b, 0xd1, 0x5c, 0x80, 0xd5, - 0xe9, 0x60, 0xd3, 0x75, 0xc4, 0xb8, 0x72, 0x78, 0x95, 0x83, 0xd1, 0x63, 0x30, 0xed, 0xda, 0x9a, - 0xd1, 0x0e, 0xe1, 0xc6, 0x29, 0xae, 0x24, 0x0a, 0x3c, 0xe4, 0x65, 0x38, 0x2d, 0xf8, 0xb6, 0xb0, - 0xab, 0xe9, 0xfb, 0xb8, 0xe5, 0x13, 0x25, 0x69, 0xce, 0xef, 0x14, 0x47, 0x58, 0xe1, 0xe5, 0x82, - 0x56, 0xfe, 0x6c, 0x14, 0xa6, 0x45, 0xf6, 0xa2, 0xe5, 0x09, 0x6b, 0x1d, 0x40, 0x33, 0x4d, 0xcb, - 0x0d, 0x8a, 0x6b, 0x50, 0x95, 0x07, 0xe8, 0x96, 0xca, 0x1e, 0x91, 0x12, 0x60, 0x50, 0xfa, 0xbd, - 0x08, 0x80, 0x5f, 0x34, 0x52, 0x6e, 0x0b, 0x90, 0xe5, 0x7b, 0xb2, 0x74, 0x63, 0x9f, 0x25, 0xbc, - 0x80, 0x81, 0xae, 0x19, 0x6d, 0x9a, 0x96, 0xdc, 0xc1, 0x7b, 0x86, 0xc9, 0xf7, 0x53, 0xd8, 0x87, - 0x48, 0x4b, 0xc6, 0xfd, 0xed, 0x29, 0x05, 0xd2, 0x0e, 0xee, 0x68, 0xa6, 0x6b, 0xe8, 0x7c, 0x87, - 0xe4, 0xca, 0xb1, 0x1a, 0xbf, 0xd4, 0xe0, 0xd4, 0x8a, 0xc7, 0x47, 0x3e, 0x0f, 0x69, 0x01, 0x25, - 0x8e, 0xdf, 0xc6, 0xe6, 0x46, 0x4d, 0x9a, 0x42, 0x29, 0x88, 0x35, 0x6a, 0x4d, 0x29, 0x42, 0xc2, - 0xce, 0xf2, 0x5a, 0xbd, 0xdc, 0x90, 0xa2, 0x95, 0xbf, 0x02, 0x33, 0xba, 0xd5, 0xe9, 0xaf, 0xb0, - 0x22, 0xf5, 0xa5, 0xfc, 0x9c, 0xeb, 0x91, 0xd7, 0x9e, 0xe0, 0x48, 0x7b, 0x56, 0x5b, 0x33, 0xf7, - 0x96, 0x2c, 0x7b, 0xcf, 0x3f, 0x16, 0x41, 0xa2, 0x03, 0x27, 0x70, 0x38, 0xa2, 0xbb, 0xf3, 0xa7, - 0x91, 0xc8, 0x0f, 0x46, 0x63, 0xab, 0x5b, 0x95, 0x1f, 0x8f, 0x96, 0x56, 0x19, 0xe1, 0x96, 0xe8, - 0x8e, 0x82, 0x77, 0xdb, 0x58, 0x27, 0x8d, 0x87, 0xdf, 0x7f, 0x0c, 0x66, 0xf7, 0xac, 0x3d, 0x8b, - 0x72, 0xba, 0x48, 0x7e, 0xf1, 0x73, 0x15, 0x19, 0x0f, 0x5a, 0x1a, 0x7b, 0x08, 0x63, 0x79, 0x03, - 0x66, 0x38, 0xb2, 0x4a, 0xb7, 0x6f, 0x59, 0x72, 0x01, 0x1d, 0x99, 0xd9, 0x9e, 0xfb, 0xc9, 0xdf, - 0xa1, 0x5e, 0x89, 0x32, 0xcd, 0x49, 0x49, 0x19, 0xcb, 0x3f, 0x2c, 0x2b, 0x70, 0x22, 0xc4, 0x8f, - 0xd9, 0x08, 0x6c, 0x8f, 0xe1, 0xf8, 0xcf, 0x39, 0xc7, 0x99, 0x00, 0xc7, 0x06, 0x27, 0x5d, 0xae, - 0x42, 0xfe, 0x38, 0xbc, 0xfe, 0x05, 0xe7, 0x95, 0xc3, 0x41, 0x26, 0xab, 0x50, 0xa4, 0x4c, 0xf4, - 0x9e, 0xe3, 0x5a, 0x1d, 0x6a, 0x80, 0x8f, 0x66, 0xf3, 0x2f, 0x7f, 0x87, 0x4d, 0xda, 0x02, 0x21, - 0xab, 0x7a, 0x54, 0xcb, 0xcb, 0x40, 0x77, 0xac, 0x5b, 0x58, 0x6f, 0x8f, 0xe1, 0xf0, 0x2b, 0xbc, - 0x21, 0x1e, 0xfe, 0xf2, 0x4d, 0x98, 0x25, 0xbf, 0xa9, 0x7d, 0x0c, 0xb6, 0x64, 0x7c, 0x1a, 0x7c, - 0xee, 0xdf, 0x7d, 0x98, 0xd9, 0x85, 0x19, 0x8f, 0x41, 0xa0, 0x4d, 0x81, 0x51, 0xdc, 0xc3, 0xae, - 0x8b, 0x6d, 0x47, 0xd5, 0xda, 0xc3, 0x9a, 0x17, 0xc8, 0x23, 0xce, 0x7d, 0xef, 0x17, 0xc3, 0xa3, - 0xb8, 0xca, 0x28, 0xcb, 0xed, 0xf6, 0xf2, 0x36, 0x9c, 0x1a, 0xa2, 0x15, 0x13, 0xf0, 0xfc, 0x3e, - 0xce, 0x73, 0x76, 0x40, 0x33, 0x08, 0xdb, 0x2d, 0x10, 0x70, 0x6f, 0x2c, 0x27, 0xe0, 0xf9, 0x71, - 0xce, 0x13, 0x71, 0x5a, 0x31, 0xa4, 0x84, 0xe3, 0x0d, 0x98, 0xbe, 0x8d, 0xed, 0x1d, 0xcb, 0xe1, - 0xb9, 0xdb, 0x09, 0xd8, 0x7d, 0x82, 0xb3, 0x2b, 0x72, 0x42, 0x9a, 0xcc, 0x25, 0xbc, 0x9e, 0x87, - 0xf4, 0xae, 0xa6, 0xe3, 0x09, 0x58, 0xdc, 0xe3, 0x2c, 0x52, 0x04, 0x9f, 0x90, 0x96, 0x21, 0xb7, - 0x67, 0xf1, 0x25, 0x72, 0x3c, 0xf9, 0xf7, 0x73, 0xf2, 0xac, 0xa0, 0xe1, 0x2c, 0xba, 0x56, 0xb7, - 0xd7, 0x26, 0xeb, 0xe7, 0x78, 0x16, 0x3f, 0x20, 0x58, 0x08, 0x1a, 0xce, 0xe2, 0x18, 0x62, 0xfd, - 0xa4, 0x60, 0xe1, 0x04, 0xe4, 0xf9, 0x22, 0x64, 0x2d, 0xb3, 0x7d, 0x68, 0x99, 0x93, 0x34, 0xe2, - 0x53, 0x9c, 0x03, 0x70, 0x12, 0xc2, 0xe0, 0x2a, 0x64, 0x26, 0x1d, 0x88, 0x1f, 0xfe, 0xa2, 0x98, - 0x1e, 0x62, 0x04, 0x56, 0xa1, 0x28, 0x0c, 0x94, 0x61, 0x99, 0x13, 0xb0, 0xf8, 0x11, 0xce, 0xa2, - 0x10, 0x20, 0xe3, 0xdd, 0x70, 0xb1, 0xe3, 0xee, 0xe1, 0x49, 0x98, 0xfc, 0xa8, 0xe8, 0x06, 0x27, - 0xe1, 0xa2, 0xdc, 0xc1, 0xa6, 0xbe, 0x3f, 0x19, 0x87, 0x4f, 0x0b, 0x51, 0x0a, 0x1a, 0xc2, 0xa2, - 0x0a, 0xf9, 0x8e, 0x66, 0x3b, 0xfb, 0x5a, 0x7b, 0xa2, 0xe1, 0xf8, 0x31, 0xce, 0x23, 0xe7, 0x11, - 0x71, 0x89, 0xf4, 0xcc, 0xe3, 0xb0, 0xf9, 0x71, 0x21, 0x91, 0x00, 0x19, 0x9f, 0x7a, 0x8e, 0x4b, - 0x13, 0xdd, 0xc7, 0xe1, 0xf6, 0xb7, 0xc5, 0xd4, 0x63, 0xb4, 0xeb, 0x41, 0x8e, 0x57, 0x21, 0xe3, - 0x18, 0x6f, 0x4c, 0xc4, 0xe6, 0xef, 0x88, 0x91, 0xa6, 0x04, 0x84, 0xf8, 0x55, 0x38, 0x3d, 0x74, - 0x99, 0x98, 0x80, 0xd9, 0xdf, 0xe5, 0xcc, 0x4e, 0x0e, 0x59, 0x2a, 0xb8, 0x49, 0x38, 0x2e, 0xcb, - 0xbf, 0x27, 0x4c, 0x02, 0xee, 0xe3, 0xb5, 0x45, 0x82, 0x16, 0x47, 0xdb, 0x3d, 0x9e, 0xd4, 0xfe, - 0xbe, 0x90, 0x1a, 0xa3, 0x0d, 0x49, 0xad, 0x09, 0x27, 0x39, 0xc7, 0xe3, 0x8d, 0xeb, 0x4f, 0x08, - 0xc3, 0xca, 0xa8, 0xb7, 0xc3, 0xa3, 0xfb, 0x35, 0x50, 0xf2, 0xc4, 0x29, 0xbc, 0x63, 0x47, 0xed, - 0x68, 0xdd, 0x09, 0x38, 0xff, 0x24, 0xe7, 0x2c, 0x2c, 0xbe, 0xe7, 0x5e, 0x3b, 0xeb, 0x5a, 0x97, - 0x30, 0x7f, 0x05, 0xe6, 0x04, 0xf3, 0x9e, 0x69, 0x63, 0xdd, 0xda, 0x33, 0x8d, 0x37, 0x70, 0x6b, - 0x02, 0xd6, 0x3f, 0xd5, 0x37, 0x54, 0xdb, 0x01, 0x72, 0xc2, 0xb9, 0x0e, 0x92, 0xe7, 0xab, 0xa8, - 0x46, 0xa7, 0x6b, 0xd9, 0xee, 0x18, 0x8e, 0x3f, 0x2d, 0x46, 0xca, 0xa3, 0xab, 0x53, 0xb2, 0xe5, - 0x1a, 0xb0, 0xd3, 0x1f, 0x93, 0xaa, 0xe4, 0x67, 0x38, 0xa3, 0xbc, 0x4f, 0xc5, 0x0d, 0x87, 0x6e, - 0x75, 0xba, 0x9a, 0x3d, 0x89, 0xfd, 0xfb, 0x07, 0xc2, 0x70, 0x70, 0x12, 0x6e, 0x38, 0x88, 0x47, - 0x47, 0x56, 0xfb, 0x09, 0x38, 0xfc, 0x8c, 0x30, 0x1c, 0x82, 0x86, 0xb3, 0x10, 0x0e, 0xc3, 0x04, - 0x2c, 0x7e, 0x56, 0xb0, 0x10, 0x34, 0x84, 0xc5, 0xcb, 0xfe, 0x42, 0x6b, 0xe3, 0x3d, 0xc3, 0x71, - 0x6d, 0xe6, 0x92, 0x1f, 0xcd, 0xea, 0xe7, 0xbe, 0x18, 0x76, 0xc2, 0x94, 0x00, 0x29, 0xb1, 0x44, - 0x7c, 0xeb, 0x83, 0x86, 0x6c, 0xe3, 0x1b, 0xf6, 0xf3, 0xc2, 0x12, 0x05, 0xc8, 0x48, 0xdb, 0x02, - 0x1e, 0x22, 0x11, 0xbb, 0x4e, 0x02, 0x95, 0x09, 0xd8, 0xfd, 0xc3, 0xbe, 0xc6, 0x35, 0x04, 0x2d, - 0xe1, 0x19, 0xf0, 0x7f, 0x7a, 0xe6, 0x2d, 0x7c, 0x38, 0x91, 0x76, 0xfe, 0x42, 0x9f, 0xff, 0xb3, - 0xcd, 0x28, 0x99, 0x0d, 0x29, 0xf6, 0xf9, 0x53, 0x68, 0xdc, 0x59, 0xbf, 0xb9, 0x6f, 0x78, 0x9b, - 0xf7, 0x37, 0xec, 0x4e, 0x2d, 0xaf, 0x11, 0x25, 0x0f, 0x3b, 0x3d, 0xe3, 0x99, 0x7d, 0xf8, 0x6d, - 0x4f, 0xcf, 0x43, 0x3e, 0xcf, 0xf2, 0x35, 0xc8, 0x87, 0x1c, 0x9e, 0xf1, 0xac, 0xbe, 0x91, 0xb3, - 0xca, 0x05, 0xfd, 0x9d, 0xe5, 0xcb, 0x10, 0x27, 0xce, 0xcb, 0x78, 0xf2, 0x6f, 0xe2, 0xe4, 0x14, - 0x7d, 0xf9, 0x05, 0x48, 0x0b, 0xa7, 0x65, 0x3c, 0xe9, 0x5f, 0xe3, 0xa4, 0x1e, 0x09, 0x21, 0x17, - 0x0e, 0xcb, 0x78, 0xf2, 0xbf, 0x2e, 0xc8, 0x05, 0x09, 0x21, 0x9f, 0x5c, 0x84, 0xbf, 0xf4, 0x2d, - 0x71, 0xbe, 0xe8, 0x08, 0xd9, 0x5d, 0x85, 0x14, 0xf7, 0x54, 0xc6, 0x53, 0x7f, 0x33, 0xaf, 0x5c, - 0x50, 0x2c, 0x3f, 0x0b, 0x89, 0x09, 0x05, 0xfe, 0x6d, 0x9c, 0x94, 0xe1, 0x2f, 0x57, 0x21, 0x1b, - 0xf0, 0x4e, 0xc6, 0x93, 0x7f, 0x3b, 0x27, 0x0f, 0x52, 0x91, 0xa6, 0x73, 0xef, 0x64, 0x3c, 0x83, - 0xbf, 0x21, 0x9a, 0xce, 0x29, 0x88, 0xd8, 0x84, 0x63, 0x32, 0x9e, 0xfa, 0xa3, 0x42, 0xea, 0x82, - 0x64, 0xf9, 0x45, 0xc8, 0x78, 0x8b, 0xcd, 0x78, 0xfa, 0xef, 0xe0, 0xf4, 0x3e, 0x0d, 0x91, 0x40, - 0x60, 0xb1, 0x1b, 0xcf, 0xe2, 0x6f, 0x0a, 0x09, 0x04, 0xa8, 0xc8, 0x34, 0xea, 0x77, 0x60, 0xc6, - 0x73, 0xfa, 0x4e, 0x31, 0x8d, 0xfa, 0xfc, 0x17, 0x32, 0x9a, 0xd4, 0xe6, 0x8f, 0x67, 0xf1, 0x5d, - 0x62, 0x34, 0x29, 0x3e, 0x69, 0x46, 0xbf, 0x47, 0x30, 0x9e, 0xc7, 0xf7, 0x88, 0x66, 0xf4, 0x39, - 0x04, 0xcb, 0x5b, 0x80, 0x06, 0xbd, 0x81, 0xf1, 0xfc, 0x3e, 0xc6, 0xf9, 0x4d, 0x0f, 0x38, 0x03, - 0xcb, 0xef, 0x87, 0x93, 0xc3, 0x3d, 0x81, 0xf1, 0x5c, 0xbf, 0xf7, 0xed, 0xbe, 0xd8, 0x2d, 0xe8, - 0x08, 0x2c, 0x37, 0xfd, 0x25, 0x25, 0xe8, 0x05, 0x8c, 0x67, 0xfb, 0x7d, 0x6f, 0x87, 0x0d, 0x77, - 0xd0, 0x09, 0x58, 0x2e, 0x03, 0xf8, 0x0b, 0xf0, 0x78, 0x5e, 0x9f, 0xe0, 0xbc, 0x02, 0x44, 0x64, - 0x6a, 0xf0, 0xf5, 0x77, 0x3c, 0xfd, 0x3d, 0x31, 0x35, 0x38, 0x05, 0x99, 0x1a, 0x62, 0xe9, 0x1d, - 0x4f, 0xfd, 0xfd, 0x62, 0x6a, 0x08, 0x12, 0xa2, 0xd9, 0x81, 0xd5, 0x6d, 0x3c, 0x87, 0x4f, 0x09, - 0xcd, 0x0e, 0x50, 0x2d, 0x6f, 0xc0, 0xf4, 0xc0, 0x82, 0x38, 0x9e, 0xd5, 0x0f, 0x72, 0x56, 0x52, - 0xff, 0x7a, 0x18, 0x5c, 0xbc, 0xf8, 0x62, 0x38, 0x9e, 0xdb, 0x0f, 0xf5, 0x2d, 0x5e, 0x7c, 0x2d, - 0x5c, 0xbe, 0x0a, 0x69, 0xb3, 0xd7, 0x6e, 0x93, 0xc9, 0x83, 0x8e, 0x3e, 0x9f, 0x3b, 0xf7, 0x5f, - 0xbf, 0xc4, 0xa5, 0x23, 0x08, 0x96, 0x2f, 0x43, 0x02, 0x77, 0x76, 0x70, 0x6b, 0x1c, 0xe5, 0x17, - 0xbe, 0x24, 0x0c, 0x26, 0xc1, 0x5e, 0x7e, 0x11, 0x80, 0xa5, 0x46, 0xe8, 0xc6, 0xf9, 0x18, 0xda, - 0xdf, 0xfb, 0x12, 0x3f, 0x10, 0xe7, 0x93, 0xf8, 0x0c, 0xd8, 0xf1, 0xba, 0xa3, 0x19, 0x7c, 0x31, - 0xcc, 0x80, 0x8e, 0xc8, 0xf3, 0x90, 0x7a, 0xdd, 0xb1, 0x4c, 0x57, 0xdb, 0x1b, 0x47, 0xfd, 0xfb, - 0x9c, 0x5a, 0xe0, 0x13, 0x81, 0x75, 0x2c, 0x1b, 0xbb, 0xda, 0x9e, 0x33, 0x8e, 0xf6, 0xbf, 0x71, - 0x5a, 0x8f, 0x80, 0x10, 0xeb, 0x9a, 0xe3, 0x4e, 0xd2, 0xef, 0xff, 0x2e, 0x88, 0x05, 0x01, 0x69, - 0x34, 0xf9, 0x7d, 0x0b, 0x1f, 0x8e, 0xa3, 0xfd, 0x03, 0xd1, 0x68, 0x8e, 0xbf, 0xfc, 0x02, 0x64, - 0xc8, 0x4f, 0x76, 0xca, 0x75, 0x0c, 0xf1, 0x1f, 0x72, 0x62, 0x9f, 0x82, 0xd4, 0xec, 0xb8, 0x2d, - 0xd7, 0x18, 0x2f, 0xec, 0x3f, 0xe2, 0x23, 0x2d, 0xf0, 0x97, 0xcb, 0x90, 0x75, 0xdc, 0x56, 0xab, - 0xc7, 0xfd, 0xd3, 0x31, 0xe4, 0x7f, 0xfc, 0x25, 0x2f, 0x65, 0xe1, 0xd1, 0x90, 0xd1, 0xbe, 0x73, - 0xcb, 0xed, 0x5a, 0x74, 0xbf, 0x65, 0x1c, 0x87, 0xb7, 0x39, 0x87, 0x00, 0xc9, 0x72, 0x15, 0x72, - 0xa4, 0x2f, 0x36, 0xee, 0x62, 0xba, 0x39, 0x36, 0x86, 0xc5, 0x9f, 0x70, 0x01, 0x84, 0x88, 0x2a, - 0x5f, 0xff, 0x2b, 0x6f, 0xcd, 0x47, 0x3e, 0xfb, 0xd6, 0x7c, 0xe4, 0xb7, 0xde, 0x9a, 0x8f, 0x7c, - 0xf4, 0x73, 0xf3, 0x53, 0x9f, 0xfd, 0xdc, 0xfc, 0xd4, 0x6f, 0x7c, 0x6e, 0x7e, 0x6a, 0x78, 0x96, - 0x18, 0x56, 0xad, 0x55, 0x8b, 0xe5, 0x87, 0x5f, 0x7b, 0x78, 0xcf, 0x70, 0xf7, 0x7b, 0x3b, 0x4b, - 0xba, 0xd5, 0xb9, 0xa8, 0x5b, 0x4e, 0xc7, 0x72, 0x2e, 0x86, 0xf3, 0xba, 0xf4, 0x17, 0xfc, 0xef, - 0x08, 0x89, 0x99, 0xc3, 0xe9, 0x5c, 0xcd, 0x3c, 0x1c, 0x75, 0x99, 0xee, 0x0a, 0xc4, 0xca, 0xe6, - 0x21, 0x3a, 0xcd, 0x0c, 0x9c, 0xda, 0xb3, 0xdb, 0xfc, 0xa8, 0x65, 0x8a, 0x7c, 0x6f, 0xdb, 0x6d, - 0x34, 0xeb, 0x9f, 0x87, 0x8e, 0x9c, 0xcf, 0xf1, 0x43, 0xce, 0x95, 0x6f, 0x8f, 0x1c, 0xaf, 0x27, - 0xe9, 0xb2, 0x79, 0x48, 0x3b, 0xb2, 0x15, 0x79, 0xed, 0xf1, 0xb1, 0x79, 0xee, 0x5b, 0xa6, 0x75, - 0xc7, 0x24, 0xcd, 0xee, 0xee, 0x88, 0x1c, 0xf7, 0x7c, 0x7f, 0x8e, 0xfb, 0xfd, 0xb8, 0xdd, 0x7e, - 0x89, 0xe0, 0x35, 0x09, 0xc9, 0x4e, 0x92, 0x9d, 0xea, 0x87, 0xef, 0x8c, 0xc2, 0xfc, 0x40, 0x3a, - 0x9b, 0x2b, 0xc1, 0x28, 0x21, 0x2c, 0x43, 0x7a, 0x45, 0xe8, 0xd6, 0x1c, 0xa4, 0x1c, 0xac, 0x5b, - 0x66, 0xcb, 0xa1, 0x82, 0x88, 0x29, 0xe2, 0x93, 0x08, 0xc2, 0xd4, 0x4c, 0xcb, 0xe1, 0x87, 0x95, - 0xd9, 0x47, 0xe5, 0xe3, 0xc7, 0x14, 0x44, 0x5e, 0xd4, 0x24, 0xa4, 0xf1, 0xd4, 0x84, 0xd2, 0x10, - 0x9d, 0x08, 0x65, 0xfe, 0x27, 0x95, 0xca, 0xf7, 0x44, 0x61, 0xa1, 0x5f, 0x2a, 0x64, 0x66, 0x39, - 0xae, 0xd6, 0xe9, 0x8e, 0x12, 0xcb, 0x55, 0xc8, 0x34, 0x05, 0xce, 0xb1, 0xe5, 0x72, 0xef, 0x98, - 0x72, 0x29, 0x78, 0x55, 0x09, 0xc1, 0x5c, 0x9a, 0x50, 0x30, 0x5e, 0x3f, 0xee, 0x4b, 0x32, 0xff, - 0x2b, 0x09, 0xa7, 0xd9, 0x74, 0x52, 0xd9, 0x54, 0x62, 0x1f, 0x5c, 0x26, 0xb9, 0x60, 0xd1, 0xf8, - 0x7d, 0x12, 0xf9, 0x25, 0x98, 0xa9, 0x13, 0x6b, 0x41, 0xa2, 0x20, 0x7f, 0x87, 0x67, 0xe8, 0x79, - 0xee, 0xc5, 0x90, 0xc3, 0xcf, 0xf7, 0xb7, 0x82, 0x20, 0xf9, 0x1b, 0x22, 0x20, 0x35, 0x74, 0xad, - 0xad, 0xd9, 0x5f, 0x2e, 0x2b, 0xf4, 0x2c, 0x00, 0x3b, 0xee, 0xe1, 0x5d, 0xdc, 0x2b, 0x5c, 0x9a, - 0x5b, 0x0a, 0x76, 0x6e, 0x89, 0xd5, 0x44, 0x4f, 0x50, 0x65, 0x28, 0x2e, 0xf9, 0x79, 0xe1, 0x15, - 0x00, 0xbf, 0x00, 0x9d, 0x81, 0x53, 0x8d, 0x6a, 0x79, 0xad, 0xac, 0x88, 0x43, 0x42, 0x8d, 0xad, - 0x5a, 0xb5, 0x7e, 0xad, 0x5e, 0x5b, 0x91, 0xa6, 0xd0, 0x49, 0x40, 0xc1, 0x42, 0xef, 0x50, 0xd3, - 0x09, 0x98, 0x0e, 0xc2, 0xd9, 0x2d, 0x95, 0x28, 0xf1, 0x14, 0x8d, 0x4e, 0xb7, 0x8d, 0xe9, 0xce, - 0xa3, 0x6a, 0x08, 0xa9, 0x8d, 0x77, 0x42, 0x7e, 0xf5, 0xdf, 0xb3, 0x9b, 0x0b, 0x33, 0x3e, 0xb9, - 0x27, 0xf3, 0xe5, 0x35, 0x98, 0xd6, 0x74, 0x1d, 0x77, 0x43, 0x2c, 0xc7, 0x98, 0x6a, 0xc2, 0x90, - 0xee, 0xa5, 0x72, 0x4a, 0x9f, 0xdb, 0xb3, 0x90, 0x74, 0x68, 0xef, 0xc7, 0xb1, 0xf8, 0x35, 0xce, - 0x82, 0xa3, 0x2f, 0x9b, 0x30, 0x4d, 0x3c, 0x3f, 0xcd, 0xc6, 0x81, 0x66, 0x1c, 0x9d, 0x67, 0xf8, - 0x47, 0x3f, 0xfd, 0x24, 0xdd, 0x59, 0x3d, 0x1b, 0x1e, 0x96, 0x21, 0xea, 0xa4, 0x48, 0x9c, 0xb7, - 0xdf, 0x50, 0x0c, 0x05, 0x51, 0x1f, 0x6f, 0xf0, 0xd1, 0x95, 0xfd, 0x22, 0xaf, 0x6c, 0x7e, 0x98, - 0x0e, 0x04, 0x6a, 0xca, 0x73, 0xae, 0xac, 0xa0, 0x52, 0x1b, 0x35, 0xa7, 0x5f, 0x7b, 0x6c, 0x70, - 0x75, 0x62, 0xff, 0x3d, 0x41, 0x39, 0x5f, 0x0d, 0x56, 0xe3, 0xcd, 0xbd, 0x8f, 0xc7, 0x61, 0x5a, - 0xeb, 0x18, 0xa6, 0x75, 0x91, 0xfe, 0xcb, 0xe7, 0x5c, 0x82, 0x7e, 0x4c, 0xb0, 0x29, 0x79, 0x85, - 0x4d, 0x85, 0xf1, 0x1a, 0xf3, 0x87, 0xdf, 0xfa, 0x23, 0x09, 0x7f, 0xba, 0x2c, 0xaf, 0x83, 0x24, - 0x0e, 0xf1, 0x62, 0x53, 0xb7, 0x5a, 0x13, 0x65, 0x29, 0xfe, 0x48, 0xf0, 0x10, 0xf9, 0xad, 0x1a, - 0x27, 0x5d, 0x7e, 0x2f, 0xa4, 0x3d, 0x36, 0xe3, 0x3c, 0x13, 0xc1, 0xc4, 0xa3, 0x20, 0x7e, 0x09, - 0x9b, 0x99, 0x93, 0x78, 0xa1, 0x6f, 0x0b, 0x7a, 0x36, 0x43, 0x37, 0x48, 0x6f, 0x56, 0xa1, 0xd0, - 0xb2, 0x4c, 0x57, 0xb5, 0x3a, 0x86, 0x8b, 0x3b, 0x5d, 0x77, 0xac, 0x5f, 0xf7, 0x27, 0x8c, 0x49, - 0x5a, 0xc9, 0x13, 0xba, 0x4d, 0x41, 0x46, 0x5a, 0xc2, 0xee, 0xe9, 0x4d, 0xd2, 0x92, 0xff, 0xe1, - 0xb5, 0x84, 0xd2, 0x90, 0x96, 0xdc, 0x97, 0x76, 0x38, 0xad, 0x5b, 0xdc, 0x98, 0xbb, 0x07, 0x4c, - 0x0b, 0x3c, 0xed, 0xf8, 0xa7, 0x71, 0x98, 0xe7, 0xc8, 0x3b, 0x9a, 0x83, 0x2f, 0xde, 0x7e, 0x6a, - 0x07, 0xbb, 0xda, 0x53, 0x17, 0x75, 0xcb, 0x10, 0x2b, 0xf9, 0x0c, 0x37, 0xd6, 0xa4, 0x7c, 0x89, - 0x97, 0x97, 0x86, 0x6e, 0x77, 0x97, 0x46, 0x1b, 0xf9, 0xd2, 0xa0, 0x0e, 0xca, 0x6d, 0x88, 0x57, - 0x2d, 0xc3, 0x24, 0x6b, 0x5b, 0x0b, 0x9b, 0x56, 0x87, 0x9b, 0x5b, 0xf6, 0x81, 0xae, 0x43, 0x52, - 0xeb, 0x58, 0x3d, 0xd3, 0x65, 0xa6, 0xb6, 0xf2, 0xe4, 0xaf, 0xbc, 0xb9, 0x30, 0xf5, 0x9f, 0xde, - 0x5c, 0x38, 0xc1, 0xd8, 0x3a, 0xad, 0x5b, 0x4b, 0x86, 0x75, 0xb1, 0xa3, 0xb9, 0xfb, 0x64, 0xfa, - 0xfe, 0xfa, 0x67, 0x9e, 0x00, 0x5e, 0x5f, 0xdd, 0x74, 0x3f, 0xfd, 0xbb, 0x3f, 0x71, 0x21, 0xa2, - 0x70, 0xfa, 0xe5, 0xf8, 0xe7, 0x3f, 0xb9, 0x10, 0x91, 0xbb, 0x90, 0x5a, 0xc1, 0xfa, 0x11, 0x15, - 0xd6, 0xfb, 0x2a, 0x7c, 0x8a, 0x57, 0x78, 0x66, 0xb0, 0x42, 0x76, 0x60, 0x6f, 0x05, 0xeb, 0x81, - 0x6a, 0x57, 0xb0, 0xde, 0x57, 0x63, 0x1d, 0xd2, 0x75, 0xd3, 0x65, 0x97, 0x8d, 0x5e, 0x80, 0x98, - 0x61, 0xb2, 0xf3, 0xeb, 0x99, 0xca, 0x63, 0xc7, 0xe8, 0x8a, 0x42, 0xe8, 0xe4, 0x4d, 0x48, 0xaf, - 0x60, 0x9d, 0xb1, 0xaa, 0x42, 0xac, 0x85, 0x75, 0xce, 0xea, 0x3e, 0x1a, 0x49, 0xa8, 0x2b, 0x2b, - 0xbf, 0xf1, 0xdb, 0xf3, 0x53, 0x1f, 0x7a, 0x6b, 0x7e, 0x6a, 0xa4, 0x3a, 0xc9, 0xe3, 0xd5, 0xc9, - 0xd3, 0xa2, 0x1f, 0x89, 0xc3, 0x83, 0xf4, 0xb6, 0xaa, 0xdd, 0x31, 0x4c, 0xf7, 0xa2, 0x6e, 0x1f, - 0x76, 0x5d, 0x8b, 0x18, 0x15, 0x6b, 0x97, 0x2b, 0xd1, 0xb4, 0x5f, 0xbc, 0xc4, 0x8a, 0x87, 0xab, - 0x90, 0xbc, 0x0b, 0x89, 0x2d, 0x42, 0x47, 0x06, 0xc9, 0xb5, 0x5c, 0xad, 0xcd, 0x3d, 0x21, 0xf6, - 0x41, 0xa0, 0xec, 0x86, 0x6b, 0x94, 0x41, 0x0d, 0x71, 0xb9, 0xb5, 0x8d, 0xb5, 0x5d, 0x76, 0x51, - 0x28, 0x46, 0x5d, 0xe8, 0x34, 0x01, 0xd0, 0x3b, 0x41, 0xb3, 0x90, 0xd0, 0x7a, 0xec, 0x30, 0x4f, - 0x8c, 0xf8, 0xd6, 0xf4, 0x43, 0x7e, 0x09, 0x52, 0x7c, 0x4f, 0x1f, 0x49, 0x10, 0xbb, 0x85, 0x0f, - 0x69, 0x3d, 0x39, 0x85, 0xfc, 0x44, 0x4b, 0x90, 0xa0, 0x8d, 0xe7, 0x37, 0x20, 0xe7, 0x96, 0x06, - 0x5a, 0xbf, 0x44, 0x1b, 0xa9, 0x30, 0x34, 0xf9, 0x06, 0xa4, 0x57, 0x2c, 0xa2, 0xd9, 0x61, 0x6e, - 0x19, 0xc6, 0x8d, 0xb6, 0xb9, 0xdb, 0xe3, 0x7a, 0xa5, 0xb0, 0x0f, 0x74, 0x12, 0x92, 0xec, 0xe2, - 0x18, 0x3f, 0x90, 0xc4, 0xbf, 0xe4, 0x2a, 0xa4, 0x28, 0xef, 0xcd, 0x2e, 0x71, 0x43, 0xbc, 0xb3, - 0xf4, 0x19, 0x7e, 0x8d, 0x98, 0xb3, 0x8f, 0xfa, 0x8d, 0x45, 0x10, 0x6f, 0x69, 0xae, 0xc6, 0xfb, - 0x4d, 0x7f, 0xcb, 0xef, 0x83, 0x34, 0x67, 0xe2, 0xa0, 0x4b, 0x10, 0xb3, 0xba, 0x0e, 0x3f, 0x52, - 0x54, 0x1a, 0xd5, 0x95, 0xcd, 0x6e, 0x25, 0x4e, 0x74, 0x49, 0x21, 0xc8, 0x95, 0x8d, 0x91, 0x6a, - 0xf1, 0x4c, 0x48, 0x2d, 0x3a, 0xd8, 0xdd, 0xd9, 0x75, 0xfd, 0x1f, 0x6c, 0x38, 0x07, 0x54, 0xc1, - 0x53, 0x94, 0x7b, 0x51, 0x98, 0x0f, 0x94, 0xde, 0xc6, 0xb6, 0x63, 0x58, 0x26, 0xd3, 0x26, 0xae, - 0x29, 0x28, 0xd0, 0x40, 0x5e, 0x3e, 0x42, 0x55, 0x5e, 0x80, 0x58, 0xb9, 0xdb, 0x45, 0x25, 0x48, - 0xd3, 0x6f, 0xdd, 0x62, 0xba, 0x12, 0x57, 0xbc, 0x6f, 0x52, 0xe6, 0x58, 0xbb, 0xee, 0x1d, 0xcd, - 0xf6, 0xee, 0x55, 0x8b, 0x6f, 0xf9, 0x79, 0xc8, 0x54, 0x2d, 0xd3, 0xc1, 0xa6, 0xd3, 0xa3, 0xfe, - 0xf5, 0x4e, 0xdb, 0xd2, 0x6f, 0x71, 0x0e, 0xec, 0x83, 0x08, 0x5b, 0xeb, 0x76, 0x29, 0x65, 0x5c, - 0x21, 0x3f, 0xd9, 0xcc, 0xae, 0x6c, 0x8e, 0x14, 0xcf, 0xe5, 0xe3, 0x89, 0x87, 0x77, 0xd0, 0x77, - 0x94, 0x23, 0xf0, 0xc0, 0xe0, 0x44, 0xba, 0x85, 0x0f, 0x9d, 0xe3, 0xce, 0xa3, 0x57, 0x20, 0xb3, - 0x45, 0x9f, 0x3c, 0x79, 0x09, 0x1f, 0xa2, 0x12, 0xa4, 0x70, 0xeb, 0xd2, 0xe5, 0xcb, 0x4f, 0x3d, - 0xcf, 0xb4, 0xfc, 0xfa, 0x94, 0x22, 0x00, 0x68, 0x1e, 0x32, 0x0e, 0xd6, 0xbb, 0x97, 0x2e, 0x5f, - 0xb9, 0xf5, 0x14, 0x53, 0xab, 0xeb, 0x53, 0x8a, 0x0f, 0x5a, 0x4e, 0x93, 0x1e, 0x7f, 0xfe, 0x53, - 0x0b, 0x91, 0x4a, 0x02, 0x62, 0x4e, 0xaf, 0xf3, 0xae, 0xe9, 0xc6, 0x1f, 0x24, 0x61, 0x31, 0x50, - 0xca, 0x16, 0xac, 0xdb, 0x5a, 0xdb, 0x68, 0x69, 0xfe, 0x43, 0x35, 0x52, 0xa0, 0xff, 0x14, 0x63, - 0xc4, 0x4a, 0x74, 0xa4, 0x14, 0xe5, 0x9f, 0x8a, 0x40, 0xee, 0xa6, 0xe0, 0xdc, 0xc0, 0x2e, 0xba, - 0x0a, 0xe0, 0xd5, 0x24, 0xa6, 0xca, 0x99, 0xa5, 0xfe, 0xba, 0x96, 0x3c, 0x1a, 0x25, 0x80, 0x8e, - 0x9e, 0xa5, 0x0a, 0xd8, 0xb5, 0x1c, 0x7e, 0xc7, 0x76, 0x0c, 0xa9, 0x87, 0x8c, 0x1e, 0x07, 0x44, - 0xad, 0x9a, 0x7a, 0xdb, 0x72, 0x0d, 0x73, 0x4f, 0xed, 0x5a, 0x77, 0xf8, 0xcb, 0x05, 0x31, 0x45, - 0xa2, 0x25, 0x37, 0x69, 0xc1, 0x16, 0x81, 0x93, 0x46, 0x67, 0x3c, 0x2e, 0x24, 0x54, 0xd4, 0x5a, - 0x2d, 0x1b, 0x3b, 0x0e, 0x37, 0x5c, 0xe2, 0x13, 0x5d, 0x85, 0x54, 0xb7, 0xb7, 0xa3, 0x0a, 0x2b, - 0x91, 0xbd, 0xf4, 0xc0, 0xb0, 0x39, 0x2f, 0x74, 0x83, 0xcf, 0xfa, 0x64, 0xb7, 0xb7, 0x43, 0x34, - 0xe5, 0x2c, 0xe4, 0x86, 0x34, 0x26, 0x7b, 0xdb, 0x6f, 0x07, 0x7d, 0x65, 0x87, 0xf7, 0x40, 0xed, - 0xda, 0x86, 0x65, 0x1b, 0xee, 0x21, 0x3d, 0x0a, 0x18, 0x53, 0x24, 0x51, 0xb0, 0xc5, 0xe1, 0xf2, - 0x2d, 0x28, 0x36, 0x68, 0x08, 0xe1, 0xb7, 0xfc, 0xb2, 0xdf, 0xbe, 0xc8, 0xf8, 0xf6, 0x8d, 0x6c, - 0x59, 0x74, 0xa0, 0x65, 0x17, 0xfe, 0x43, 0x04, 0xb2, 0x15, 0x32, 0x71, 0xeb, 0x2b, 0xd7, 0xda, - 0xda, 0x1e, 0x7a, 0x0a, 0x4e, 0x54, 0xd6, 0x36, 0xab, 0x2f, 0xa9, 0xf5, 0x15, 0xf5, 0xda, 0x5a, - 0x79, 0xd5, 0x3f, 0x7b, 0x5c, 0x3a, 0x79, 0xf7, 0xde, 0x22, 0x0a, 0xe0, 0x6e, 0x9b, 0x34, 0xce, - 0x45, 0x17, 0x61, 0x36, 0x4c, 0x52, 0xae, 0x34, 0x6a, 0x1b, 0x4d, 0x29, 0x52, 0x3a, 0x71, 0xf7, - 0xde, 0xe2, 0x74, 0x80, 0xa2, 0xbc, 0xe3, 0x60, 0xd3, 0x1d, 0x24, 0xa8, 0x6e, 0xae, 0xaf, 0xd7, - 0x9b, 0x52, 0x74, 0x80, 0xa0, 0x6a, 0x75, 0x3a, 0x86, 0x8b, 0x1e, 0x85, 0xe9, 0x30, 0xc1, 0x46, - 0x7d, 0x4d, 0x8a, 0x95, 0xd0, 0xdd, 0x7b, 0x8b, 0x85, 0x00, 0xf6, 0x86, 0xd1, 0x2e, 0xa5, 0x3f, - 0xf2, 0x43, 0xf3, 0x53, 0x9f, 0xfe, 0x5b, 0xf3, 0x91, 0xca, 0xfa, 0xc8, 0x39, 0xf7, 0xf4, 0xf1, - 0xe6, 0x5c, 0x78, 0xdd, 0xfe, 0xd2, 0x03, 0x21, 0x73, 0xc3, 0x7d, 0xc4, 0x80, 0x31, 0x9e, 0x74, - 0xba, 0x8d, 0xcb, 0x7b, 0x94, 0x8e, 0x76, 0x0f, 0x4a, 0x63, 0x16, 0x85, 0xd2, 0x58, 0xc3, 0x20, - 0x3f, 0x0f, 0xf9, 0x2d, 0xcd, 0x76, 0x1b, 0xd8, 0xbd, 0x8e, 0xb5, 0x16, 0xb6, 0xc3, 0xfe, 0x43, - 0x5e, 0xf8, 0x0f, 0x08, 0xe2, 0xd4, 0x49, 0x60, 0xeb, 0x27, 0xfd, 0x2d, 0xef, 0x43, 0x9c, 0x9e, - 0x72, 0xf6, 0x7c, 0x0b, 0x4e, 0xc1, 0x7c, 0x0b, 0xb2, 0x32, 0x1c, 0xba, 0xd8, 0x11, 0xa9, 0x39, - 0xfa, 0x81, 0x9e, 0x11, 0x1e, 0x42, 0xec, 0x68, 0x0f, 0x81, 0x4f, 0x2f, 0xee, 0x27, 0xb4, 0x21, - 0xc5, 0x87, 0xd8, 0x6b, 0x48, 0xc4, 0x6f, 0x08, 0x5a, 0x87, 0x62, 0x57, 0xb3, 0x5d, 0x7a, 0xeb, - 0x71, 0x9f, 0xf6, 0x82, 0xcf, 0xe0, 0x85, 0x41, 0x7b, 0x12, 0xea, 0x2c, 0xaf, 0x25, 0xdf, 0x0d, - 0x02, 0xe5, 0xff, 0x12, 0x87, 0x24, 0x17, 0xc6, 0x0b, 0x90, 0xe2, 0x62, 0xe5, 0x73, 0xee, 0xc1, - 0xa5, 0xc1, 0x65, 0x76, 0xc9, 0x5b, 0x0e, 0x39, 0x3f, 0x41, 0x83, 0x1e, 0x81, 0xb4, 0xbe, 0xaf, - 0x19, 0xa6, 0x6a, 0xb4, 0xb8, 0x73, 0x9c, 0x7d, 0xeb, 0xcd, 0x85, 0x54, 0x95, 0xc0, 0xea, 0x2b, - 0x4a, 0x8a, 0x16, 0xd6, 0x5b, 0xc4, 0xa7, 0xd9, 0xc7, 0xc6, 0xde, 0xbe, 0xcb, 0xed, 0x06, 0xff, - 0x42, 0xcf, 0x41, 0x9c, 0x28, 0x04, 0xbf, 0x13, 0x5f, 0x1a, 0x88, 0x7a, 0xbc, 0xb4, 0x54, 0x25, - 0x4d, 0x2a, 0xfe, 0xe8, 0x7f, 0x5e, 0x88, 0x28, 0x94, 0x02, 0x55, 0x21, 0xdf, 0xd6, 0x1c, 0x57, - 0xa5, 0xeb, 0x31, 0xa9, 0x3e, 0x41, 0x59, 0x9c, 0x1e, 0x14, 0x08, 0x17, 0x2c, 0x6f, 0x7a, 0x96, - 0x50, 0x31, 0x50, 0x0b, 0x9d, 0x07, 0x89, 0x32, 0xd1, 0xe9, 0x0c, 0x64, 0x5e, 0x62, 0x92, 0xca, - 0xbd, 0x40, 0xe0, 0x6c, 0x62, 0x52, 0x5f, 0xf1, 0x0c, 0x64, 0xe8, 0x2d, 0x5c, 0x8a, 0xc2, 0x8e, - 0xd6, 0xa7, 0x09, 0x80, 0x16, 0x9e, 0x83, 0xa2, 0x6f, 0xf5, 0x19, 0x4a, 0x9a, 0x71, 0xf1, 0xc1, - 0x14, 0xf1, 0x49, 0x98, 0x35, 0xf1, 0x01, 0x3d, 0xec, 0x1f, 0xc2, 0xce, 0x50, 0x6c, 0x44, 0xca, - 0x6e, 0x86, 0x29, 0x1e, 0x86, 0x82, 0x2e, 0x84, 0xcf, 0x70, 0x81, 0xe2, 0xe6, 0x3d, 0x28, 0x45, - 0x3b, 0x0d, 0x69, 0xad, 0xdb, 0x65, 0x08, 0x59, 0x6e, 0xf5, 0xbb, 0x5d, 0x5a, 0x74, 0x01, 0xa6, - 0x69, 0x1f, 0x6d, 0xec, 0xf4, 0xda, 0x2e, 0x67, 0x92, 0xa3, 0x38, 0x45, 0x52, 0xa0, 0x30, 0x38, - 0xc5, 0x7d, 0x08, 0xf2, 0xf8, 0xb6, 0xd1, 0xc2, 0xa6, 0x8e, 0x19, 0x5e, 0x9e, 0xe2, 0xe5, 0x04, - 0x90, 0x22, 0x3d, 0x0a, 0x9e, 0x35, 0x57, 0xc5, 0x4a, 0x53, 0x60, 0xfc, 0x04, 0xbc, 0xcc, 0xc0, - 0xf2, 0x1c, 0xc4, 0x57, 0x34, 0x57, 0x23, 0xee, 0x92, 0x7b, 0xc0, 0x96, 0xcf, 0x9c, 0x42, 0x7e, - 0xca, 0x3f, 0x1b, 0x83, 0xf8, 0x4d, 0xcb, 0xc5, 0xe8, 0xe9, 0x80, 0x2b, 0x5b, 0x18, 0xa6, 0xcf, - 0x0d, 0x63, 0xcf, 0xc4, 0xad, 0x75, 0x67, 0x2f, 0xf0, 0x64, 0x8e, 0xaf, 0x4e, 0xd1, 0x90, 0x3a, - 0xcd, 0x42, 0xc2, 0xb6, 0x7a, 0x66, 0x4b, 0x1c, 0x4a, 0xa7, 0x1f, 0xa8, 0x06, 0x69, 0x4f, 0x4b, - 0xe2, 0xe3, 0xb4, 0xa4, 0x48, 0xb4, 0x84, 0xe8, 0x30, 0x07, 0x28, 0xa9, 0x1d, 0xae, 0x2c, 0x15, - 0xc8, 0x78, 0xc6, 0x8b, 0x6b, 0xdb, 0x64, 0x0a, 0xeb, 0x93, 0x91, 0x25, 0xd2, 0x1b, 0x7b, 0x4f, - 0x78, 0x4c, 0xe3, 0x24, 0xaf, 0x80, 0x4b, 0x2f, 0xa4, 0x56, 0xfc, 0xf9, 0x9e, 0x14, 0xed, 0x97, - 0xaf, 0x56, 0xec, 0x09, 0x9f, 0x07, 0x20, 0xe3, 0x18, 0x7b, 0xa6, 0xe6, 0xf6, 0x6c, 0xcc, 0x35, - 0xcf, 0x07, 0x90, 0x52, 0xff, 0x82, 0x06, 0xd3, 0xb4, 0xc0, 0xab, 0x62, 0x17, 0x61, 0xc6, 0x7f, - 0xcf, 0xcb, 0xe7, 0xc2, 0xb4, 0x0c, 0x79, 0x45, 0x0d, 0x51, 0x22, 0xff, 0x52, 0x04, 0x92, 0x7c, - 0xc5, 0xf2, 0x87, 0x21, 0x32, 0x7c, 0x18, 0xa2, 0xa3, 0x86, 0x21, 0x76, 0xff, 0xc3, 0x50, 0x06, - 0xf0, 0x9a, 0xe9, 0xf0, 0x47, 0x5a, 0x86, 0xb8, 0x55, 0xac, 0x89, 0x0d, 0x63, 0x8f, 0xcf, 0xfb, - 0x00, 0x91, 0xfc, 0x9b, 0x11, 0xe2, 0xe1, 0xf3, 0x72, 0x54, 0x86, 0xbc, 0x68, 0x97, 0xba, 0xdb, - 0xd6, 0xf6, 0xb8, 0x2a, 0x3e, 0x38, 0xb2, 0x71, 0x64, 0x15, 0x56, 0xb2, 0xbc, 0x3d, 0xd4, 0x9f, - 0x18, 0x3a, 0xac, 0xd1, 0x11, 0xc3, 0x1a, 0xd2, 0xa3, 0xd8, 0xfd, 0xe9, 0x51, 0x68, 0xc4, 0xe3, - 0x7d, 0x23, 0x2e, 0xff, 0x76, 0x84, 0xbf, 0x26, 0xd6, 0x62, 0xb7, 0x4b, 0xfe, 0xac, 0x86, 0xea, - 0x35, 0xae, 0x5b, 0x2d, 0xdc, 0x52, 0x07, 0xc6, 0xec, 0xa1, 0x41, 0x8e, 0xe1, 0x36, 0xfb, 0x63, - 0x87, 0x04, 0x97, 0x86, 0x3f, 0x86, 0x9f, 0x89, 0xc2, 0xf4, 0x00, 0xfe, 0x9f, 0xbf, 0xb1, 0x0c, - 0xcf, 0xde, 0xc4, 0x84, 0xb3, 0x37, 0x39, 0x72, 0xf6, 0xfe, 0x74, 0x94, 0x26, 0x00, 0xba, 0x96, - 0xa3, 0xb5, 0xbf, 0x12, 0xb6, 0xf7, 0x0c, 0x64, 0xba, 0x56, 0x5b, 0x65, 0x25, 0xec, 0x5a, 0x50, - 0xba, 0x6b, 0xb5, 0x95, 0x01, 0x35, 0x4b, 0xbc, 0x43, 0x86, 0x39, 0xf9, 0x0e, 0x0c, 0x42, 0xaa, - 0x7f, 0x42, 0xd9, 0x90, 0x63, 0xa2, 0xe0, 0x5e, 0xd3, 0x93, 0x44, 0x06, 0xd4, 0x0d, 0x8b, 0x0c, - 0x7a, 0x79, 0xac, 0xd9, 0x0c, 0x53, 0xe1, 0x78, 0x84, 0x82, 0x39, 0x19, 0xc3, 0x32, 0x47, 0x41, - 0x8b, 0xa5, 0x70, 0x3c, 0xf9, 0xbb, 0x23, 0x00, 0x6b, 0x44, 0xb2, 0xb4, 0xbf, 0xc4, 0xdf, 0x71, - 0x68, 0x13, 0xd4, 0x50, 0xcd, 0xf3, 0xa3, 0x06, 0x8d, 0xd7, 0x9f, 0x73, 0x82, 0xed, 0xae, 0x42, - 0xde, 0xd7, 0x6d, 0x07, 0x8b, 0xc6, 0xcc, 0x1f, 0x11, 0x95, 0x36, 0xb0, 0xab, 0xe4, 0x6e, 0x07, - 0xbe, 0xe4, 0x7f, 0x12, 0x81, 0x0c, 0x6d, 0xd3, 0x3a, 0x76, 0xb5, 0xd0, 0x18, 0x46, 0xee, 0x7f, - 0x0c, 0x1f, 0x04, 0x60, 0x6c, 0x1c, 0xe3, 0x0d, 0xcc, 0x35, 0x2b, 0x43, 0x21, 0x0d, 0xe3, 0x0d, - 0x8c, 0xae, 0x78, 0x02, 0x8f, 0x1d, 0x2d, 0x70, 0x11, 0xb5, 0x72, 0xb1, 0x9f, 0x82, 0x14, 0x7d, - 0xef, 0xf2, 0xc0, 0xe1, 0x81, 0x68, 0xd2, 0xec, 0x75, 0x9a, 0x07, 0x8e, 0xfc, 0x3a, 0xa4, 0x9a, - 0x07, 0x2c, 0x9f, 0x78, 0x06, 0x32, 0xb6, 0x65, 0x71, 0xef, 0x8f, 0x79, 0xdd, 0x69, 0x02, 0xa0, - 0xce, 0x8e, 0xc8, 0xa1, 0x45, 0xfd, 0x1c, 0x9a, 0x9f, 0x04, 0x8c, 0x4d, 0x94, 0x04, 0x24, 0xd1, - 0x67, 0x3e, 0x34, 0x93, 0xd0, 0xe3, 0x70, 0xaa, 0x51, 0x5f, 0xdd, 0xa8, 0xad, 0xa8, 0xeb, 0x8d, - 0xd5, 0xbe, 0x2b, 0xff, 0xa5, 0xe2, 0xdd, 0x7b, 0x8b, 0x59, 0x1e, 0x76, 0x8e, 0xc2, 0xde, 0x52, - 0x6a, 0x37, 0x37, 0x9b, 0x35, 0x29, 0xc2, 0xb0, 0xb7, 0x6c, 0x7c, 0xdb, 0x72, 0xd9, 0x83, 0xb2, - 0x4f, 0xc2, 0xe9, 0x21, 0xd8, 0x5e, 0xf0, 0x39, 0x7d, 0xf7, 0xde, 0x62, 0x7e, 0xcb, 0xc6, 0x4c, - 0xcb, 0x28, 0xc5, 0x12, 0xcc, 0x0d, 0x52, 0x6c, 0x6e, 0x6d, 0x36, 0xca, 0x6b, 0xd2, 0x62, 0x49, - 0xba, 0x7b, 0x6f, 0x31, 0x27, 0x4c, 0x06, 0xc1, 0x7f, 0xf7, 0xa3, 0xcf, 0x6f, 0x4e, 0x87, 0xb2, - 0xc6, 0x2c, 0xae, 0xeb, 0x6a, 0xb6, 0xd6, 0x39, 0x6e, 0xf8, 0x39, 0xe6, 0x30, 0x82, 0xfc, 0x53, - 0x51, 0x28, 0x7a, 0xc1, 0xcd, 0x16, 0xad, 0x01, 0x3d, 0x1d, 0xcc, 0xf8, 0x65, 0x47, 0xae, 0x1d, - 0x0c, 0x5b, 0x24, 0x04, 0xdf, 0x0b, 0x69, 0xe1, 0x24, 0xf3, 0x49, 0xb5, 0x38, 0x64, 0x7d, 0xe3, - 0x18, 0x9c, 0xd4, 0xa3, 0x40, 0x2f, 0x42, 0xc6, 0x9b, 0x62, 0xde, 0xa3, 0x6b, 0xa3, 0xe7, 0x24, - 0xa7, 0xf7, 0x69, 0xd0, 0xf3, 0x7e, 0x18, 0x17, 0x1f, 0x15, 0x18, 0xde, 0x64, 0x08, 0x9c, 0xd8, - 0x0b, 0xe1, 0x9e, 0x84, 0xb8, 0xb6, 0xa3, 0x1b, 0xdc, 0x00, 0x3f, 0x30, 0x48, 0x57, 0xae, 0x54, - 0xeb, 0x9c, 0x88, 0x62, 0xca, 0x75, 0x9e, 0x4c, 0xe1, 0xf2, 0xa2, 0x4f, 0xdc, 0x1c, 0xa8, 0x2c, - 0x16, 0x66, 0xde, 0x45, 0xba, 0xa3, 0x1d, 0x54, 0x68, 0x38, 0x7c, 0x0a, 0x52, 0xa4, 0x70, 0x8f, - 0x3f, 0xa2, 0x10, 0x53, 0x92, 0x1d, 0xed, 0x60, 0x55, 0x73, 0x6e, 0xc4, 0xd3, 0x31, 0x29, 0x2e, - 0xff, 0x18, 0xf1, 0x54, 0x42, 0x52, 0x41, 0x8f, 0x01, 0x22, 0x14, 0xda, 0x1e, 0x56, 0xc9, 0xd4, - 0xa5, 0xe2, 0x15, 0x7c, 0x8b, 0x1d, 0xed, 0xa0, 0xbc, 0x87, 0x37, 0x7a, 0x1d, 0xda, 0x00, 0x07, - 0xad, 0x83, 0x24, 0x90, 0xc5, 0xc8, 0x72, 0xf1, 0x9f, 0x1e, 0x7c, 0xb4, 0x95, 0x23, 0xb0, 0x05, - 0xe0, 0x63, 0x64, 0x01, 0x28, 0x30, 0x7e, 0xde, 0xf1, 0x93, 0x50, 0x57, 0x62, 0xe1, 0xae, 0xc8, - 0x2f, 0x42, 0xb1, 0x6f, 0x04, 0x90, 0x0c, 0x79, 0x9e, 0xb1, 0xa2, 0x5b, 0xfb, 0x2c, 0xc2, 0xc9, - 0x28, 0x59, 0x96, 0x99, 0xa2, 0x47, 0x1d, 0x96, 0xd3, 0x3f, 0xf7, 0xc9, 0x85, 0x08, 0xdd, 0xf6, - 0x79, 0x0c, 0xf2, 0xa1, 0x31, 0x10, 0x59, 0xe4, 0x88, 0x9f, 0x45, 0xf6, 0x91, 0x5f, 0x83, 0x1c, - 0x31, 0x40, 0xb8, 0xc5, 0x71, 0x1f, 0x81, 0x22, 0x33, 0x90, 0xfd, 0xb2, 0x66, 0x0e, 0xcf, 0xba, - 0x10, 0xb8, 0x2c, 0x3c, 0xa0, 0xb0, 0xd8, 0xb3, 0x02, 0x6b, 0x55, 0x73, 0xe4, 0x4d, 0x00, 0x7f, - 0x50, 0x51, 0x19, 0x1e, 0x24, 0xc6, 0x23, 0x78, 0x14, 0x95, 0x3f, 0xb7, 0x15, 0xf2, 0x18, 0x4b, - 0x04, 0xc9, 0x3f, 0x6e, 0xca, 0x1e, 0xdd, 0xba, 0x4e, 0x31, 0x2a, 0x2f, 0x7f, 0xfa, 0xad, 0xf9, - 0xc8, 0xbb, 0x63, 0x0b, 0xfe, 0xe3, 0xab, 0x70, 0x26, 0x50, 0x48, 0x14, 0x30, 0x94, 0x88, 0x2a, - 0x06, 0xf4, 0x95, 0x14, 0x8e, 0x4b, 0x28, 0x1d, 0x99, 0xff, 0x2d, 0x1d, 0x6d, 0x76, 0xc6, 0x67, - 0x9b, 0xc6, 0xe7, 0xbb, 0x86, 0x27, 0xe5, 0xff, 0x71, 0x06, 0x52, 0x0a, 0xfe, 0x60, 0x0f, 0x3b, - 0x2e, 0xba, 0x04, 0x71, 0xac, 0xef, 0x5b, 0xc3, 0x72, 0xa0, 0xa4, 0x83, 0x4b, 0x1c, 0xaf, 0xa6, - 0xef, 0x5b, 0xd7, 0xa7, 0x14, 0x8a, 0x8b, 0x2e, 0x43, 0x62, 0xb7, 0xdd, 0xe3, 0xe9, 0xab, 0x3e, - 0x9b, 0x15, 0x24, 0xba, 0x46, 0x90, 0xae, 0x4f, 0x29, 0x0c, 0x9b, 0x54, 0x45, 0x5f, 0xdb, 0x8e, - 0x1d, 0x5d, 0x55, 0xdd, 0xdc, 0xa5, 0x55, 0x11, 0x5c, 0x54, 0x01, 0x30, 0x4c, 0xc3, 0x55, 0x69, - 0x6a, 0x87, 0x5b, 0x8d, 0xb3, 0xa3, 0x29, 0x0d, 0x97, 0x26, 0x83, 0xae, 0x4f, 0x29, 0x19, 0x43, - 0x7c, 0x90, 0xe6, 0x7e, 0xb0, 0x87, 0xed, 0x43, 0xee, 0xad, 0x8d, 0x6c, 0xee, 0xcb, 0x04, 0x89, - 0x34, 0x97, 0x62, 0x13, 0x23, 0xcb, 0x1e, 0xee, 0x73, 0x0f, 0xf8, 0x73, 0xb4, 0x0b, 0xa3, 0x28, - 0xe9, 0xeb, 0x7d, 0xcd, 0x83, 0xeb, 0x53, 0x4a, 0x4a, 0x67, 0x3f, 0xd1, 0x73, 0x9e, 0x0b, 0x96, - 0x1d, 0xf4, 0x7a, 0x42, 0xb4, 0x2c, 0xed, 0x33, 0x25, 0x5c, 0x31, 0xb4, 0x01, 0x85, 0xb6, 0xe1, - 0xb8, 0xaa, 0x63, 0x6a, 0x5d, 0x67, 0xdf, 0x72, 0x1d, 0x9a, 0x3f, 0xc9, 0x5e, 0x7a, 0x78, 0x14, - 0x87, 0x35, 0xc3, 0x71, 0x1b, 0x02, 0xf9, 0xfa, 0x94, 0x92, 0x6f, 0x07, 0x01, 0x84, 0x9f, 0xb5, - 0xbb, 0x8b, 0x6d, 0x8f, 0x21, 0xcd, 0xb3, 0x1c, 0xc1, 0x6f, 0x93, 0x60, 0x0b, 0x7a, 0xc2, 0xcf, - 0x0a, 0x02, 0xd0, 0xd7, 0xc0, 0x4c, 0xdb, 0xd2, 0x5a, 0x1e, 0x3b, 0x55, 0xdf, 0xef, 0x99, 0xb7, - 0x68, 0x52, 0x26, 0x7b, 0xe9, 0xd1, 0x91, 0x8d, 0xb4, 0xb4, 0x96, 0x60, 0x51, 0x25, 0x04, 0xd7, - 0xa7, 0x94, 0xe9, 0x76, 0x3f, 0x10, 0x7d, 0x00, 0x66, 0xb5, 0x6e, 0xb7, 0x7d, 0xd8, 0xcf, 0xbd, - 0x48, 0xb9, 0x5f, 0x18, 0xc5, 0xbd, 0x4c, 0x68, 0xfa, 0xd9, 0x23, 0x6d, 0x00, 0x8a, 0x9a, 0x20, - 0x75, 0x6d, 0x4c, 0x6f, 0x73, 0x75, 0xb9, 0x97, 0x41, 0xdf, 0xba, 0xca, 0x5e, 0x3a, 0x37, 0x8a, - 0xf7, 0x16, 0xc3, 0x17, 0x4e, 0xc9, 0xf5, 0x29, 0xa5, 0xd8, 0x0d, 0x83, 0x18, 0x57, 0x4b, 0xc7, - 0xf4, 0x29, 0x3e, 0xce, 0x75, 0x7a, 0x1c, 0x57, 0x8a, 0x1f, 0xe6, 0x1a, 0x02, 0xa1, 0x1a, 0x64, - 0x59, 0x28, 0xaa, 0x12, 0x63, 0x48, 0x5f, 0xc8, 0xca, 0x5e, 0x92, 0x47, 0xce, 0x50, 0x8a, 0x7a, - 0xd3, 0x72, 0xf1, 0xf5, 0x29, 0x05, 0xb0, 0xf7, 0x85, 0x34, 0x38, 0x41, 0x1f, 0x0b, 0x3b, 0x54, - 0xc3, 0x86, 0x77, 0x6e, 0x86, 0x32, 0x7c, 0x6c, 0x14, 0xc3, 0x9b, 0x94, 0xe8, 0x66, 0xd0, 0x0e, - 0x5f, 0x9f, 0x52, 0x66, 0x6e, 0x0f, 0x82, 0x89, 0x8a, 0xed, 0x1a, 0xa6, 0xd6, 0x36, 0xde, 0xc0, - 0x6c, 0x09, 0xa5, 0xcf, 0x64, 0x1e, 0xa1, 0x62, 0xd7, 0x38, 0x36, 0x5d, 0x58, 0x89, 0x8a, 0xed, - 0x06, 0x01, 0x95, 0x14, 0x3f, 0x87, 0xea, 0x3d, 0xfb, 0x96, 0x92, 0xd2, 0xec, 0xa9, 0xb7, 0x1b, - 0xf1, 0x34, 0x48, 0x59, 0xf9, 0x1c, 0x64, 0x03, 0x86, 0x09, 0xcd, 0x41, 0x8a, 0x9f, 0xd4, 0x11, - 0x27, 0x5a, 0xf9, 0xa7, 0x5c, 0x80, 0x5c, 0xd0, 0x18, 0xc9, 0x1f, 0x8d, 0x78, 0x94, 0xf4, 0xbd, - 0x8b, 0xb9, 0x70, 0x46, 0x3a, 0xe3, 0x7b, 0x2a, 0x0f, 0x89, 0xa5, 0x4d, 0x94, 0xb3, 0xed, 0xd7, - 0x1c, 0x05, 0xf2, 0x95, 0x15, 0x2d, 0x40, 0xb6, 0x7b, 0xa9, 0xeb, 0xa1, 0xc4, 0x28, 0x0a, 0x74, - 0x2f, 0x75, 0x05, 0xc2, 0x59, 0xc8, 0x91, 0x7e, 0xab, 0x41, 0x7f, 0x29, 0xa3, 0x64, 0x09, 0x8c, - 0xa3, 0xc8, 0xff, 0x2a, 0x0a, 0x52, 0xbf, 0x01, 0xf3, 0x52, 0xd5, 0x91, 0x63, 0xa7, 0xaa, 0x4f, - 0xf7, 0x27, 0xc9, 0xfd, 0xbc, 0xf8, 0x1a, 0x48, 0x7e, 0x7a, 0x97, 0x2d, 0x35, 0xa3, 0xfd, 0xbf, - 0x3e, 0x47, 0x55, 0x29, 0xea, 0x7d, 0x9e, 0xeb, 0xb5, 0xd0, 0x66, 0xa5, 0xf8, 0x73, 0x14, 0xfd, - 0x03, 0xee, 0x39, 0x31, 0xdb, 0xdd, 0x96, 0xe6, 0x62, 0x91, 0x1f, 0x0b, 0xec, 0x5b, 0x3e, 0x02, - 0x45, 0xad, 0xdb, 0x55, 0x1d, 0x57, 0x73, 0x31, 0xf7, 0x35, 0x58, 0xe6, 0x21, 0xaf, 0x75, 0xbb, - 0x0d, 0x02, 0x65, 0xbe, 0xc6, 0xc3, 0x50, 0x20, 0x36, 0xdd, 0xd0, 0xda, 0xc2, 0x55, 0x48, 0x32, - 0x97, 0x84, 0x43, 0x99, 0x77, 0x20, 0xb7, 0xbc, 0x11, 0xa7, 0xf6, 0xdc, 0x8b, 0xa9, 0x22, 0x81, - 0x98, 0x0a, 0xf1, 0x77, 0x48, 0x98, 0x7c, 0xc4, 0xdb, 0x2d, 0xc3, 0x37, 0x0d, 0x66, 0x69, 0xfc, - 0x75, 0x9b, 0x25, 0x4b, 0xd2, 0x0a, 0xfb, 0x90, 0x15, 0x28, 0x84, 0x6d, 0x3f, 0x2a, 0x40, 0xd4, - 0x3d, 0xe0, 0xb5, 0x44, 0xdd, 0x03, 0xe2, 0xe9, 0x7a, 0xaf, 0xf7, 0x16, 0x86, 0xac, 0x76, 0x9c, - 0xce, 0xcf, 0x75, 0xc8, 0x45, 0xc8, 0x87, 0xd6, 0x04, 0xf9, 0x24, 0xcc, 0x0e, 0x33, 0xf1, 0xf2, - 0xbe, 0x07, 0x0f, 0x99, 0x6a, 0x74, 0x19, 0xd2, 0x9e, 0x8d, 0x1f, 0x12, 0x1d, 0xd3, 0x6a, 0x05, - 0xb2, 0xe2, 0xa1, 0x86, 0xd2, 0xf9, 0xd1, 0x50, 0x3a, 0x5f, 0xfe, 0x7a, 0x98, 0x1b, 0x65, 0xbf, - 0xfb, 0x92, 0x7c, 0x71, 0x4f, 0x60, 0x27, 0x21, 0xc9, 0x9f, 0xc9, 0x8c, 0xd2, 0x0d, 0x2c, 0xfe, - 0x45, 0x04, 0xc9, 0x6c, 0x79, 0x8c, 0xed, 0x6b, 0xd1, 0x0f, 0x59, 0x85, 0xd3, 0x23, 0x6d, 0xf8, - 0xe8, 0xad, 0x30, 0xc6, 0x88, 0x6f, 0x85, 0xe9, 0xa2, 0x39, 0x0e, 0xed, 0xab, 0x38, 0xc8, 0xc2, - 0xbe, 0xe4, 0x8f, 0xc5, 0xe0, 0xe4, 0x70, 0x4b, 0x8e, 0x16, 0x21, 0x47, 0xfc, 0x56, 0x37, 0xec, - 0xe2, 0x42, 0x47, 0x3b, 0x68, 0x72, 0xff, 0x96, 0x6f, 0x25, 0x44, 0xbd, 0xad, 0x04, 0xb4, 0x0d, - 0xd3, 0x6d, 0x4b, 0xd7, 0xda, 0x6a, 0x60, 0x2b, 0x87, 0x4f, 0xa2, 0x87, 0x06, 0x84, 0x1d, 0x4e, - 0x19, 0x12, 0x83, 0xc3, 0xf5, 0xbf, 0x48, 0x79, 0xac, 0x79, 0xbb, 0x3e, 0x68, 0x05, 0xb2, 0x1d, - 0xc3, 0xd9, 0xc1, 0xfb, 0xda, 0x6d, 0xc3, 0xb2, 0xf9, 0x6c, 0x1a, 0x54, 0x9a, 0x75, 0x1f, 0x47, - 0xec, 0x30, 0x05, 0xc8, 0x02, 0x43, 0x92, 0x18, 0xba, 0xf1, 0x95, 0x3c, 0xb6, 0x35, 0x19, 0xb5, - 0x87, 0x94, 0x1a, 0xb9, 0x87, 0x34, 0x6c, 0xc3, 0x26, 0x3d, 0x7c, 0xc3, 0xe6, 0x23, 0xc1, 0xa1, - 0x09, 0xaf, 0x7d, 0x03, 0x7b, 0x38, 0xa8, 0x01, 0xb3, 0x9c, 0xbe, 0x15, 0x92, 0xfd, 0x90, 0xa3, - 0x0e, 0x6c, 0x7e, 0xf5, 0xcb, 0x1c, 0x09, 0xf2, 0xd1, 0x62, 0x8f, 0xdd, 0x9f, 0xd8, 0xc5, 0x26, - 0x6a, 0x3c, 0xb0, 0x89, 0xfa, 0xff, 0xd8, 0x50, 0x7c, 0x38, 0x06, 0xd3, 0x03, 0x8e, 0xc4, 0xd0, - 0xdd, 0xe1, 0x51, 0x19, 0x59, 0xd1, 0xb1, 0xd8, 0xb1, 0x3b, 0xc6, 0xc7, 0x3a, 0x3e, 0x7e, 0xac, - 0x13, 0xef, 0xe0, 0x58, 0x27, 0xef, 0x6f, 0xac, 0xdf, 0xd5, 0x51, 0xf8, 0x44, 0x04, 0x4a, 0xa3, - 0xbd, 0xaf, 0xa1, 0xc3, 0x71, 0xac, 0x0d, 0x84, 0x51, 0x6b, 0xdc, 0xc3, 0x50, 0xe8, 0xf3, 0x0d, - 0x99, 0x2a, 0xe7, 0x43, 0x51, 0xb8, 0xfc, 0x8d, 0x31, 0x6f, 0xe1, 0x09, 0x39, 0x70, 0x43, 0x66, - 0xeb, 0xcb, 0x30, 0xd3, 0xc2, 0xba, 0xd1, 0xba, 0xdf, 0xc9, 0x3a, 0xcd, 0xa9, 0xff, 0xff, 0x5c, - 0x1d, 0xd4, 0x92, 0xef, 0x02, 0x48, 0x2b, 0xd8, 0xe9, 0x12, 0x7f, 0x0c, 0x55, 0x20, 0x83, 0x0f, - 0x74, 0xdc, 0x75, 0xfd, 0x43, 0x15, 0xc3, 0x42, 0x04, 0x86, 0x5d, 0x13, 0x98, 0x24, 0x40, 0xf6, - 0xc8, 0xd0, 0xd3, 0x3c, 0x07, 0x30, 0x3a, 0x9c, 0xe7, 0xe4, 0xc1, 0x24, 0xc0, 0x15, 0x91, 0x04, - 0x88, 0x8d, 0x8c, 0x6f, 0x19, 0x55, 0x5f, 0x16, 0xe0, 0x69, 0x9e, 0x05, 0x88, 0x8f, 0xa9, 0x2c, - 0x94, 0x06, 0xa8, 0x86, 0xd2, 0x00, 0xc9, 0x31, 0xdd, 0x1c, 0x91, 0x07, 0xb8, 0x22, 0xf2, 0x00, - 0xa9, 0x31, 0x2d, 0xee, 0x4b, 0x04, 0xbc, 0x10, 0x48, 0x04, 0x64, 0x06, 0xb3, 0xad, 0x21, 0xd2, - 0x21, 0x99, 0x80, 0xe7, 0xbd, 0x4c, 0x40, 0x6e, 0x64, 0x16, 0x81, 0x13, 0xf7, 0xa7, 0x02, 0x36, - 0x07, 0x52, 0x01, 0x79, 0xfe, 0x47, 0x97, 0x46, 0xb1, 0x18, 0x93, 0x0b, 0xd8, 0x1c, 0xc8, 0x05, - 0x14, 0xc6, 0x30, 0x1c, 0x93, 0x0c, 0xf8, 0xda, 0xe1, 0xc9, 0x80, 0xd1, 0xe1, 0x3a, 0x6f, 0xe6, - 0x64, 0xd9, 0x00, 0x75, 0x44, 0x36, 0x40, 0x1a, 0x19, 0xb9, 0x32, 0xf6, 0x13, 0xa7, 0x03, 0xb6, - 0x87, 0xa4, 0x03, 0x58, 0xe0, 0x7e, 0x7e, 0x24, 0xf3, 0x09, 0xf2, 0x01, 0xdb, 0x43, 0xf2, 0x01, - 0x68, 0x2c, 0xdb, 0xb1, 0x09, 0x81, 0x6b, 0xe1, 0x84, 0xc0, 0xcc, 0x08, 0xaf, 0xd3, 0x9f, 0xed, - 0x23, 0x32, 0x02, 0x3b, 0xa3, 0x32, 0x02, 0x2c, 0x6a, 0x7f, 0x7c, 0x24, 0xc7, 0x63, 0xa4, 0x04, - 0x36, 0x07, 0x52, 0x02, 0x27, 0xc6, 0x68, 0xda, 0xe4, 0x39, 0x01, 0xf6, 0x08, 0x3c, 0x7b, 0xfe, - 0x1d, 0xa4, 0xec, 0x8d, 0x78, 0x3a, 0x2b, 0xe5, 0xe4, 0x47, 0x89, 0x07, 0xd3, 0x67, 0xe7, 0x48, - 0xac, 0x80, 0x6d, 0xdb, 0xb2, 0xc5, 0x1d, 0x0b, 0xfa, 0x21, 0x9f, 0x27, 0x31, 0xa2, 0x6f, 0xd3, - 0x8e, 0xc8, 0x1f, 0xd0, 0x98, 0x2c, 0x60, 0xc7, 0xe4, 0x9f, 0x8b, 0xf8, 0xb4, 0x34, 0x83, 0x10, - 0x8c, 0x2f, 0x33, 0x3c, 0xbe, 0x0c, 0x64, 0x15, 0xa2, 0xe1, 0xac, 0xc2, 0x02, 0x64, 0x49, 0xac, - 0xd5, 0x97, 0x30, 0xd0, 0xba, 0x5e, 0xc2, 0x40, 0x1c, 0xa0, 0x62, 0xb9, 0x07, 0xbe, 0x2c, 0xb1, - 0xdd, 0xc4, 0xa2, 0x77, 0x98, 0x8c, 0x85, 0xba, 0xe8, 0x09, 0x98, 0x09, 0xe0, 0x7a, 0x31, 0x1c, - 0x8b, 0x9e, 0x25, 0x0f, 0xbb, 0xcc, 0x83, 0xb9, 0x7f, 0x16, 0xf1, 0x25, 0xe4, 0x67, 0x1a, 0x86, - 0x25, 0x05, 0x22, 0xef, 0x50, 0x52, 0x20, 0x7a, 0xdf, 0x49, 0x81, 0x60, 0x4c, 0x1a, 0x0b, 0xc7, - 0xa4, 0xff, 0x33, 0xe2, 0x8f, 0x89, 0x17, 0xe2, 0xeb, 0x56, 0x0b, 0xf3, 0x28, 0x91, 0xfe, 0x26, - 0x2e, 0x49, 0xdb, 0xda, 0xe3, 0xb1, 0x20, 0xf9, 0x49, 0xb0, 0xbc, 0x85, 0x27, 0xc3, 0xd7, 0x15, - 0x2f, 0xc0, 0x4c, 0x04, 0xef, 0x71, 0xf0, 0xcb, 0x0d, 0x49, 0xff, 0x72, 0x83, 0x77, 0x31, 0x3a, - 0x15, 0xb8, 0x18, 0x8d, 0x9e, 0x83, 0x0c, 0x4d, 0xf6, 0xab, 0x56, 0x57, 0xfc, 0xc5, 0xb2, 0x33, - 0xa3, 0x2f, 0x36, 0x38, 0xf4, 0xc8, 0x35, 0xbb, 0x0c, 0xe1, 0x7b, 0x1c, 0x99, 0x90, 0xc7, 0xf1, - 0x00, 0x64, 0x48, 0xeb, 0xd9, 0x5f, 0xde, 0x00, 0x7e, 0xab, 0x5e, 0x00, 0xe4, 0x1f, 0x8f, 0x42, - 0xb1, 0x6f, 0xa1, 0x19, 0xda, 0xf7, 0x61, 0xdb, 0xc8, 0x93, 0xc9, 0x63, 0x1e, 0x60, 0x4f, 0x73, - 0xd4, 0x3b, 0x9a, 0xe9, 0xe2, 0x16, 0x17, 0x4a, 0x00, 0x82, 0x4a, 0x90, 0x26, 0x5f, 0x3d, 0x07, - 0xb7, 0x78, 0xf6, 0xc5, 0xfb, 0x46, 0xd7, 0x21, 0x89, 0x6f, 0xd3, 0x97, 0x67, 0xd9, 0xfb, 0xcd, - 0x27, 0x07, 0xc3, 0x61, 0x52, 0x5c, 0x99, 0x23, 0x83, 0xfd, 0x85, 0x37, 0x17, 0x24, 0x86, 0xfd, - 0xb8, 0x77, 0x99, 0x4d, 0xe1, 0xf4, 0x61, 0x29, 0xa4, 0xfb, 0xa4, 0x40, 0xf3, 0x80, 0x39, 0x11, - 0xde, 0x13, 0x99, 0xb2, 0x33, 0xde, 0x4a, 0xbe, 0x83, 0x3b, 0x5d, 0xcb, 0x6a, 0xab, 0x6c, 0x8e, - 0x97, 0xa1, 0x10, 0x5e, 0x57, 0xd9, 0x5f, 0xc5, 0x72, 0x35, 0xc3, 0x54, 0x43, 0x4e, 0x70, 0x8e, - 0x01, 0xd9, 0x9c, 0xba, 0x11, 0x4f, 0x47, 0xa4, 0xe8, 0x8d, 0x78, 0x3a, 0x2a, 0xc5, 0xe4, 0x2d, - 0x38, 0x31, 0x74, 0x5d, 0x45, 0xcf, 0x42, 0xc6, 0x5f, 0x92, 0xd9, 0x31, 0xfd, 0x23, 0x32, 0x2d, - 0x3e, 0xae, 0xfc, 0x8b, 0x11, 0x9f, 0x65, 0x38, 0x77, 0x53, 0x83, 0x24, 0x3b, 0x33, 0xc9, 0xcf, - 0xc7, 0x3c, 0x31, 0xd9, 0x8a, 0xbc, 0xc4, 0x0e, 0x54, 0x2a, 0x9c, 0x58, 0xfe, 0x00, 0x24, 0x19, - 0x04, 0x65, 0x21, 0xe5, 0xbf, 0x71, 0x0d, 0x90, 0x2c, 0x57, 0xab, 0xb5, 0x2d, 0xf1, 0x60, 0x6d, - 0x65, 0x53, 0x69, 0x4a, 0x51, 0x02, 0x56, 0x6a, 0x37, 0x6a, 0xd5, 0xa6, 0x14, 0x43, 0xd3, 0x90, - 0x67, 0xbf, 0xd5, 0x6b, 0x9b, 0xca, 0x7a, 0xb9, 0x29, 0xc5, 0x03, 0xa0, 0x46, 0x6d, 0x63, 0xa5, - 0xa6, 0x48, 0x09, 0xf9, 0x29, 0x38, 0x3d, 0x72, 0x0d, 0xf7, 0x13, 0x33, 0x91, 0x40, 0x62, 0x46, - 0xfe, 0x58, 0x94, 0x04, 0x35, 0xa3, 0x16, 0x66, 0x74, 0xa3, 0xaf, 0xe3, 0x97, 0x8e, 0xb1, 0xaa, - 0xf7, 0xf5, 0x9e, 0xc4, 0x31, 0x36, 0xde, 0xc5, 0xae, 0xbe, 0xcf, 0x1c, 0x05, 0x66, 0x81, 0xf2, - 0x4a, 0x9e, 0x43, 0x29, 0x91, 0xc3, 0xd0, 0x5e, 0xc7, 0xba, 0xab, 0x32, 0x25, 0x72, 0xf8, 0x1f, - 0xf1, 0xcd, 0x33, 0x68, 0x83, 0x01, 0xe5, 0xaf, 0x3f, 0x96, 0x2c, 0x33, 0x90, 0x50, 0x6a, 0x4d, - 0xe5, 0x55, 0x29, 0x86, 0x10, 0x14, 0xe8, 0x4f, 0xb5, 0xb1, 0x51, 0xde, 0x6a, 0x5c, 0xdf, 0x24, - 0xb2, 0x9c, 0x81, 0xa2, 0x90, 0xa5, 0x00, 0x26, 0xe4, 0xc7, 0xe0, 0xd4, 0x08, 0xaf, 0x62, 0xc8, - 0x21, 0xd6, 0x4f, 0x45, 0x82, 0xd8, 0x61, 0xcf, 0x60, 0x13, 0x92, 0x8e, 0xab, 0xb9, 0x3d, 0x87, - 0x0b, 0xf1, 0xd9, 0x49, 0xdd, 0x8c, 0x25, 0xf1, 0xa3, 0x41, 0xc9, 0x15, 0xce, 0x46, 0xbe, 0x0c, - 0x85, 0x70, 0xc9, 0x68, 0x19, 0xf8, 0x4a, 0x14, 0x95, 0xaf, 0x02, 0x1a, 0xf4, 0x3e, 0x86, 0x84, - 0x97, 0x91, 0x61, 0xe1, 0xe5, 0x0f, 0x47, 0xe0, 0xcc, 0x11, 0x9e, 0x06, 0x7a, 0xb9, 0xaf, 0x93, - 0xcf, 0x1f, 0xc7, 0x4f, 0x59, 0x62, 0xb0, 0xbe, 0x6e, 0x3e, 0x0d, 0xb9, 0x20, 0x7c, 0xb2, 0x4e, - 0x7e, 0x21, 0xea, 0x4f, 0xe2, 0x70, 0x1c, 0xec, 0x9b, 0xc0, 0xc8, 0x97, 0x69, 0x02, 0xdf, 0x0b, - 0xe0, 0x1e, 0x88, 0x53, 0xd4, 0x7c, 0x1d, 0x7d, 0x70, 0x48, 0x7e, 0x11, 0xeb, 0xcd, 0x03, 0x3e, - 0x09, 0x32, 0x2e, 0xff, 0xe5, 0xa0, 0x46, 0x30, 0x29, 0xd0, 0xa3, 0x6b, 0xac, 0xe3, 0xfd, 0x09, - 0xdf, 0xc9, 0x16, 0x63, 0x3f, 0x79, 0xc0, 0xc0, 0x0e, 0x7a, 0x15, 0x4e, 0xf5, 0x39, 0x0a, 0x1e, - 0xeb, 0xf8, 0xa4, 0xfe, 0xc2, 0x89, 0xb0, 0xbf, 0x20, 0x58, 0x07, 0x57, 0xfb, 0x44, 0x78, 0xb5, - 0x7f, 0x15, 0xc0, 0x4f, 0x0e, 0xf8, 0xc7, 0xfe, 0x22, 0xc1, 0x63, 0x7f, 0x97, 0x21, 0x41, 0x34, - 0x49, 0xc8, 0x69, 0xd0, 0x14, 0x13, 0x4d, 0x08, 0x24, 0x17, 0x18, 0xb6, 0x6c, 0x00, 0x1a, 0x4c, - 0xd0, 0x8e, 0xa8, 0xe2, 0x85, 0x70, 0x15, 0x67, 0x47, 0xa6, 0x7a, 0x87, 0x57, 0xf5, 0x06, 0x24, - 0xe8, 0xc8, 0x0f, 0xbd, 0x4b, 0xf9, 0x75, 0x00, 0x9a, 0xeb, 0xda, 0xc6, 0x4e, 0xcf, 0xaf, 0x60, - 0x61, 0xb8, 0xe6, 0x94, 0x05, 0x5e, 0xe5, 0x01, 0xae, 0x42, 0xb3, 0x3e, 0x69, 0x40, 0x8d, 0x02, - 0x0c, 0xe5, 0x0d, 0x28, 0x84, 0x69, 0x87, 0xdf, 0x0d, 0xf5, 0x1f, 0x7e, 0xc9, 0x08, 0xff, 0xc6, - 0xf3, 0x8e, 0xf8, 0x63, 0x4c, 0xf4, 0x43, 0xfe, 0x50, 0x14, 0x72, 0x41, 0xc5, 0xfb, 0x8b, 0xe7, - 0x82, 0xc8, 0xdf, 0x14, 0x81, 0xb4, 0xd7, 0xfd, 0x23, 0x0e, 0x3b, 0xfb, 0x77, 0x84, 0xbd, 0xcd, - 0x0b, 0xb6, 0x4d, 0x14, 0xf3, 0xb6, 0x89, 0xae, 0x7a, 0xcb, 0xdf, 0xa8, 0x84, 0x48, 0x50, 0xd6, - 0xe2, 0xc0, 0x21, 0x5f, 0xed, 0xaf, 0x4e, 0x76, 0x15, 0x6f, 0x16, 0x12, 0xc1, 0x6b, 0x74, 0xec, - 0x43, 0x6e, 0x05, 0x4e, 0x18, 0xb1, 0x89, 0x18, 0xbc, 0xb3, 0x17, 0x39, 0xf6, 0x9d, 0x3d, 0xaf, - 0x96, 0x68, 0xb0, 0x96, 0xef, 0x8c, 0x40, 0x5a, 0xcc, 0x09, 0xf4, 0xbe, 0xe0, 0xc9, 0x33, 0xb1, - 0xb5, 0x39, 0xd2, 0x1e, 0x71, 0xfe, 0x81, 0x83, 0x67, 0x03, 0x07, 0xae, 0x63, 0xc7, 0x3d, 0x70, - 0xcd, 0x3d, 0xbb, 0x3f, 0x8e, 0x80, 0xd4, 0x3f, 0x63, 0xbf, 0xec, 0xd6, 0x0d, 0x2e, 0x73, 0xb1, - 0x21, 0xcb, 0xdc, 0xa8, 0x53, 0xd4, 0xf1, 0x51, 0xa7, 0xa8, 0x07, 0x7b, 0x9d, 0xb8, 0xcf, 0x5e, - 0x7f, 0x38, 0x0a, 0xd9, 0x40, 0x7a, 0x14, 0x3d, 0x13, 0x3a, 0x91, 0xbd, 0x78, 0x54, 0x2a, 0x35, - 0x70, 0x24, 0x3b, 0x24, 0xa6, 0xe8, 0xf1, 0xc5, 0xf4, 0xce, 0xdf, 0xce, 0x1a, 0x7e, 0x81, 0x35, - 0x31, 0xe2, 0x02, 0xeb, 0x5f, 0x8d, 0x40, 0xda, 0x73, 0xbb, 0x8f, 0xbb, 0x89, 0x79, 0x12, 0x92, - 0xdc, 0xb3, 0x64, 0xbb, 0x98, 0xfc, 0x6b, 0x68, 0x5a, 0xb9, 0x04, 0x69, 0xf1, 0xf7, 0x14, 0xf9, - 0xaa, 0xe6, 0x7d, 0x5f, 0x78, 0x1e, 0xb2, 0x81, 0x0d, 0x60, 0x62, 0x1a, 0x37, 0x6a, 0xef, 0x97, - 0xa6, 0x4a, 0xa9, 0xbb, 0xf7, 0x16, 0x63, 0x1b, 0xf8, 0x0e, 0x99, 0xcd, 0x4a, 0xad, 0x7a, 0xbd, - 0x56, 0x7d, 0x49, 0x8a, 0x94, 0xb2, 0x77, 0xef, 0x2d, 0xa6, 0x14, 0x4c, 0x33, 0x8a, 0x17, 0x5e, - 0x82, 0x62, 0xdf, 0xc0, 0x84, 0xdd, 0x16, 0x04, 0x85, 0x95, 0xed, 0xad, 0xb5, 0x7a, 0xb5, 0xdc, - 0xac, 0xa9, 0xec, 0xdc, 0x2e, 0x3a, 0x05, 0x33, 0x6b, 0xf5, 0xd5, 0xeb, 0x4d, 0xb5, 0xba, 0x56, - 0xaf, 0x6d, 0x34, 0xd5, 0x72, 0xb3, 0x59, 0xae, 0xbe, 0x24, 0x45, 0x2f, 0xdd, 0xcb, 0x42, 0xbc, - 0x5c, 0xa9, 0xd6, 0x51, 0x15, 0xe2, 0x34, 0x15, 0x72, 0xe4, 0x09, 0xb0, 0xd2, 0xd1, 0xb9, 0x61, - 0x74, 0x0d, 0x12, 0x34, 0x4b, 0x82, 0x8e, 0x3e, 0x12, 0x56, 0x1a, 0x93, 0x2c, 0x26, 0x8d, 0xa1, - 0x33, 0xf2, 0xc8, 0x33, 0x62, 0xa5, 0xa3, 0x73, 0xc7, 0x68, 0x0d, 0x52, 0x22, 0x48, 0x1e, 0x77, - 0x70, 0xab, 0x34, 0x36, 0xa1, 0x4b, 0xba, 0xc6, 0x92, 0x0d, 0x47, 0x1f, 0x1f, 0x2b, 0x8d, 0xc9, - 0x2a, 0xa3, 0xba, 0x77, 0x9f, 0x69, 0xcc, 0x89, 0xb0, 0xd2, 0xb8, 0x3c, 0x31, 0x52, 0x20, 0xe3, - 0xa7, 0x71, 0xc6, 0x1f, 0x8a, 0x2b, 0x4d, 0x90, 0x30, 0x47, 0x1f, 0x80, 0x7c, 0x38, 0xd4, 0x9d, - 0xec, 0xd4, 0x59, 0x69, 0xc2, 0x8c, 0x34, 0xe1, 0x1f, 0x8e, 0x7b, 0x27, 0x3b, 0x85, 0x56, 0x9a, - 0x30, 0x41, 0x8d, 0x5e, 0x87, 0xe9, 0xc1, 0xb8, 0x74, 0xf2, 0x43, 0x69, 0xa5, 0x63, 0xa4, 0xac, - 0x51, 0x07, 0xd0, 0x90, 0x78, 0xf6, 0x18, 0x67, 0xd4, 0x4a, 0xc7, 0xc9, 0x60, 0xa3, 0x16, 0x14, - 0xfb, 0x83, 0xc4, 0x49, 0xcf, 0xac, 0x95, 0x26, 0xce, 0x66, 0xb3, 0x5a, 0xc2, 0xc1, 0xe5, 0xa4, - 0x67, 0xd8, 0x4a, 0x13, 0x27, 0xb7, 0xd1, 0x36, 0x40, 0x20, 0x3e, 0x9c, 0xe0, 0x4c, 0x5b, 0x69, - 0x92, 0x34, 0x37, 0xea, 0xc2, 0xcc, 0xb0, 0xc0, 0xf1, 0x38, 0x47, 0xdc, 0x4a, 0xc7, 0xca, 0x7e, - 0x13, 0x7d, 0x0e, 0x87, 0x80, 0x93, 0x1d, 0x79, 0x2b, 0x4d, 0x98, 0x06, 0xaf, 0x94, 0x47, 0x9e, - 0x73, 0x3e, 0x77, 0xe4, 0x39, 0x67, 0xff, 0xe4, 0xb2, 0x77, 0xb6, 0xf9, 0xdf, 0x5e, 0x84, 0xf7, - 0xf0, 0x17, 0x74, 0x1c, 0x57, 0xbb, 0x65, 0x98, 0x7b, 0xde, 0x33, 0x4b, 0xfc, 0x9b, 0x1f, 0x72, - 0x3e, 0xc9, 0x5f, 0xe9, 0x11, 0xd0, 0x31, 0x8f, 0x2d, 0x8d, 0x7c, 0x81, 0x72, 0xdc, 0x7d, 0x88, - 0xf1, 0xc7, 0x97, 0x8f, 0x78, 0xc8, 0x69, 0xcc, 0x73, 0x51, 0x43, 0x1e, 0x7a, 0x2a, 0x1d, 0xf9, - 0xc6, 0x40, 0xe9, 0xa8, 0x73, 0xdf, 0xc4, 0x8b, 0x2d, 0x5c, 0x37, 0x1c, 0xd7, 0xb2, 0x0d, 0x5d, - 0x6b, 0xd3, 0xe5, 0xe5, 0xea, 0xa4, 0xb7, 0xb2, 0x2a, 0x19, 0xe2, 0xae, 0xf0, 0xb7, 0xa0, 0xf8, - 0x4d, 0xa1, 0x15, 0x48, 0xde, 0xd6, 0xda, 0xec, 0x4e, 0x54, 0xf0, 0x21, 0xb8, 0x7e, 0x99, 0x07, - 0xfc, 0xa8, 0x20, 0x17, 0x46, 0x2b, 0x7f, 0x37, 0xbd, 0x4f, 0xd2, 0xe9, 0x18, 0x0e, 0xd1, 0x45, - 0x85, 0x86, 0xd2, 0x37, 0x20, 0x6e, 0x6b, 0x2e, 0x0f, 0x30, 0x2b, 0x57, 0x8e, 0xfd, 0x2e, 0x13, - 0xab, 0x81, 0xf2, 0x40, 0x2f, 0x43, 0xba, 0xa3, 0x1d, 0xa8, 0x94, 0x5f, 0xf4, 0xcb, 0xe2, 0x97, - 0xea, 0x68, 0x07, 0xa4, 0x7d, 0xe8, 0x03, 0x50, 0x24, 0x2c, 0xf5, 0x7d, 0xcd, 0xdc, 0xc3, 0x8c, - 0x73, 0xec, 0xcb, 0xe2, 0x9c, 0xef, 0x68, 0x07, 0x55, 0xca, 0x8d, 0xf0, 0xe7, 0x4f, 0x5e, 0xfd, - 0x72, 0x84, 0x67, 0x0d, 0xa8, 0x60, 0x90, 0x06, 0x92, 0xee, 0x7d, 0xd1, 0x4a, 0xc5, 0x16, 0xc7, - 0xb9, 0x51, 0x72, 0xef, 0x13, 0x6b, 0x25, 0x4f, 0x9a, 0xf7, 0xd9, 0x37, 0x17, 0x22, 0xac, 0xd6, - 0xa2, 0x3e, 0x20, 0xf6, 0x2c, 0x4b, 0x86, 0xa8, 0xd4, 0x87, 0x8d, 0x8e, 0xf5, 0x61, 0xf3, 0xc2, - 0x87, 0x65, 0x0c, 0x81, 0x51, 0x93, 0x72, 0xde, 0x87, 0x4f, 0x47, 0x20, 0xbb, 0x12, 0x78, 0xd6, - 0x71, 0x0e, 0x52, 0x1d, 0xcb, 0x34, 0x6e, 0x61, 0xdb, 0xdb, 0xa3, 0x62, 0x9f, 0xc4, 0xcf, 0x64, - 0x7f, 0x1d, 0xd0, 0x3d, 0x14, 0xaf, 0x0b, 0x89, 0x6f, 0x42, 0x75, 0x07, 0xef, 0x38, 0x86, 0x90, - 0xb3, 0x22, 0x3e, 0xd1, 0xa3, 0x20, 0x39, 0x58, 0xef, 0xd9, 0x86, 0x7b, 0xa8, 0xea, 0x96, 0xe9, - 0x6a, 0xba, 0xcb, 0xe3, 0xf0, 0xa2, 0x80, 0x57, 0x19, 0x98, 0x30, 0x69, 0x61, 0x57, 0x33, 0xda, - 0xec, 0x64, 0x66, 0x46, 0x11, 0x9f, 0xbc, 0xa9, 0x77, 0x53, 0xc1, 0x38, 0xb4, 0x0a, 0x92, 0xd5, - 0xc5, 0x76, 0xe8, 0x40, 0x0a, 0xd3, 0xc6, 0xb9, 0x5f, 0xff, 0xcc, 0x13, 0xb3, 0x5c, 0xe0, 0xfc, - 0x30, 0x03, 0xfb, 0x2b, 0x06, 0x4a, 0x51, 0x50, 0x88, 0x93, 0x2a, 0xaf, 0x86, 0x76, 0xa5, 0x7a, - 0x3b, 0xfe, 0x33, 0x32, 0xb3, 0x03, 0x42, 0x2d, 0x9b, 0x87, 0x95, 0xb9, 0x5f, 0xf3, 0x59, 0xfb, - 0x71, 0xea, 0x4b, 0xf8, 0x30, 0xb8, 0x45, 0x45, 0xd9, 0x10, 0x17, 0xfe, 0x75, 0xcd, 0x68, 0x8b, - 0x3f, 0xa4, 0xaa, 0xf0, 0x2f, 0xb4, 0xec, 0xa5, 0x17, 0xe3, 0x34, 0x1e, 0x92, 0x47, 0xe9, 0x46, - 0xc5, 0x32, 0x5b, 0xe1, 0x3c, 0x22, 0xaa, 0x42, 0xd2, 0xb5, 0x6e, 0x61, 0x93, 0x0b, 0xe8, 0x78, - 0x4f, 0xab, 0x71, 0x52, 0xf4, 0xb5, 0x20, 0xb5, 0x70, 0x1b, 0xef, 0xb1, 0xfb, 0x92, 0xfb, 0x9a, - 0x8d, 0xd9, 0x6d, 0xfd, 0xfb, 0x7a, 0x5e, 0xad, 0xe8, 0xb1, 0x6a, 0x50, 0x4e, 0x68, 0x2b, 0xfc, - 0x70, 0x68, 0x8a, 0x6f, 0x1e, 0x8f, 0xe8, 0x63, 0x40, 0xf3, 0x82, 0x96, 0x27, 0xf4, 0xd0, 0xe8, - 0xa3, 0x20, 0xf5, 0xcc, 0x1d, 0xcb, 0xa4, 0x7f, 0x7f, 0x90, 0x47, 0x51, 0x69, 0xb6, 0x53, 0xe9, - 0xc1, 0xf9, 0x4e, 0xe5, 0x16, 0x14, 0x7c, 0x54, 0x3a, 0x43, 0x32, 0xc7, 0x9d, 0x21, 0x79, 0x8f, - 0x01, 0x41, 0x41, 0xeb, 0x00, 0xfe, 0x1c, 0xa4, 0x5b, 0x65, 0xd9, 0xd1, 0x23, 0xe6, 0xcf, 0xe6, - 0x60, 0x67, 0x02, 0x0c, 0xd0, 0xd7, 0xc0, 0x4c, 0xc7, 0x30, 0x55, 0x07, 0xb7, 0x77, 0x55, 0x2e, - 0x39, 0xc2, 0x37, 0x7b, 0xfc, 0xd1, 0x9c, 0xee, 0x18, 0x66, 0x03, 0xb7, 0x77, 0x57, 0x3c, 0x2e, - 0xe8, 0xbd, 0x70, 0xc6, 0xef, 0xbd, 0x65, 0xaa, 0xfb, 0x56, 0xbb, 0xa5, 0xda, 0x78, 0x57, 0xd5, - 0xe9, 0x3b, 0x7f, 0x39, 0x2a, 0xb3, 0x53, 0x1e, 0xca, 0xa6, 0x79, 0xdd, 0x6a, 0xb7, 0x14, 0xbc, - 0x5b, 0x25, 0xc5, 0xe8, 0x21, 0xf0, 0xbb, 0xae, 0x1a, 0x2d, 0x67, 0x2e, 0xbf, 0x18, 0x3b, 0x1f, - 0x57, 0x72, 0x1e, 0xb0, 0xde, 0x72, 0x96, 0xd3, 0x1f, 0xf9, 0xe4, 0xc2, 0xd4, 0xe7, 0x3f, 0xb9, - 0x30, 0x25, 0x5f, 0xa3, 0x6f, 0x4a, 0xf1, 0x79, 0x84, 0x1d, 0x74, 0x05, 0x32, 0x9a, 0xf8, 0x60, - 0x37, 0xc6, 0x8e, 0x98, 0x87, 0x3e, 0xaa, 0xfc, 0x63, 0x11, 0x48, 0xae, 0xdc, 0xdc, 0xd2, 0x0c, - 0x1b, 0xd5, 0x60, 0xda, 0x57, 0xcc, 0x49, 0xa7, 0xb4, 0xaf, 0xcb, 0x62, 0x4e, 0x6f, 0x8c, 0x3a, - 0xaa, 0x96, 0xa9, 0x9c, 0xfd, 0xf5, 0xcf, 0x3c, 0xf1, 0x20, 0x67, 0x73, 0xb3, 0xef, 0xd4, 0x9a, - 0xe0, 0xd7, 0x7f, 0x9a, 0x2d, 0xd0, 0xe7, 0x1b, 0x90, 0x62, 0x4d, 0x75, 0xd0, 0x8b, 0x90, 0xe8, - 0x92, 0x1f, 0x3c, 0x03, 0x3f, 0x3f, 0x52, 0xc1, 0x29, 0x7e, 0x50, 0x1d, 0x18, 0x9d, 0xfc, 0x2d, - 0x51, 0x80, 0x95, 0x9b, 0x37, 0x9b, 0xb6, 0xd1, 0x6d, 0x63, 0xf7, 0x9d, 0xea, 0xfb, 0x36, 0x9c, - 0x08, 0xdc, 0x85, 0xb6, 0xf5, 0xe3, 0xf7, 0x7f, 0xc6, 0xbf, 0x16, 0x6d, 0xeb, 0x43, 0xd9, 0xb6, - 0x1c, 0xd7, 0x63, 0x1b, 0x3b, 0x3e, 0xdb, 0x15, 0xc7, 0x1d, 0x94, 0xec, 0x2b, 0x90, 0xf5, 0x85, - 0xe1, 0xa0, 0x3a, 0xa4, 0x5d, 0xfe, 0x9b, 0x0b, 0x58, 0x1e, 0x2d, 0x60, 0x41, 0x16, 0x14, 0xb2, - 0x47, 0x2e, 0xff, 0x69, 0x04, 0x20, 0x30, 0x47, 0xbe, 0x3a, 0x75, 0x8c, 0x84, 0xeb, 0xdc, 0x12, - 0xc7, 0xee, 0xfb, 0x35, 0x4e, 0xc6, 0x20, 0x20, 0xd4, 0x6f, 0x8b, 0xc2, 0xcc, 0xb6, 0x98, 0xbd, - 0x5f, 0xfd, 0x32, 0xd8, 0x86, 0x14, 0x36, 0x5d, 0xdb, 0xf0, 0xf6, 0x90, 0x9e, 0x1c, 0x35, 0xe6, - 0x43, 0x3a, 0x55, 0x33, 0x5d, 0xfb, 0x30, 0xa8, 0x01, 0x82, 0x57, 0x40, 0x1e, 0x1f, 0x8f, 0xc1, - 0xdc, 0x28, 0x52, 0x74, 0x0e, 0x8a, 0xba, 0x8d, 0x29, 0x20, 0x7c, 0x45, 0xb4, 0x20, 0xc0, 0x7c, - 0x8d, 0x51, 0x80, 0x78, 0x65, 0x44, 0xb9, 0x08, 0xea, 0xfd, 0xb9, 0x61, 0x05, 0x9f, 0x03, 0x5d, - 0x65, 0x9a, 0x50, 0x14, 0x77, 0x4e, 0x76, 0xb4, 0xb6, 0x66, 0xea, 0xc2, 0x5d, 0x3d, 0xd6, 0x92, - 0x20, 0xee, 0xad, 0x54, 0x18, 0x0b, 0x54, 0x83, 0x94, 0xe0, 0x16, 0x3f, 0x3e, 0x37, 0x41, 0x8b, - 0xce, 0x42, 0x2e, 0xb8, 0x30, 0x50, 0xd7, 0x23, 0xae, 0x64, 0x03, 0xeb, 0xc2, 0xb8, 0x95, 0x27, - 0x79, 0xe4, 0xca, 0xc3, 0xbd, 0xbb, 0x1f, 0xa0, 0x47, 0xc3, 0x5b, 0x7f, 0xfe, 0x87, 0x65, 0x0b, - 0x80, 0x4d, 0x55, 0x62, 0x49, 0xf9, 0xc8, 0xdc, 0xc7, 0x7c, 0xcf, 0x30, 0x26, 0x2b, 0x8e, 0xfb, - 0x95, 0x1a, 0xa1, 0xdf, 0x8c, 0x42, 0x2e, 0x38, 0x42, 0x7f, 0x21, 0x17, 0x2d, 0xb4, 0xe1, 0x9b, - 0x29, 0x76, 0x7d, 0xe6, 0xd1, 0x51, 0x66, 0x6a, 0x40, 0x9b, 0xc7, 0xd8, 0xa7, 0x4f, 0xc4, 0x20, - 0xc9, 0xcf, 0xb7, 0x6d, 0x0e, 0x38, 0xb2, 0x91, 0x71, 0x0f, 0x00, 0xe4, 0xc5, 0x03, 0x00, 0x43, - 0xfd, 0xd8, 0x87, 0xa1, 0x40, 0x02, 0xe2, 0xd0, 0xa1, 0xb9, 0xc8, 0xf9, 0x3c, 0x8d, 0x6b, 0xfd, - 0x23, 0xe2, 0x68, 0x01, 0xb2, 0x04, 0xcd, 0xb7, 0xc3, 0x04, 0x07, 0x3a, 0xda, 0x41, 0x8d, 0x41, - 0xd0, 0x13, 0x80, 0xf6, 0xbd, 0x04, 0x85, 0xea, 0x0b, 0x82, 0xe0, 0x4d, 0xfb, 0x25, 0x02, 0xfd, - 0x41, 0x00, 0xd2, 0x0a, 0x95, 0x3d, 0x40, 0xcd, 0x9f, 0xf7, 0x26, 0x90, 0x15, 0xfa, 0x08, 0xf5, - 0x37, 0x46, 0x98, 0x3f, 0xdc, 0x17, 0x36, 0xf3, 0x70, 0xa4, 0x39, 0xc1, 0xa4, 0xf8, 0xa3, 0x37, - 0x17, 0x4a, 0x87, 0x5a, 0xa7, 0xbd, 0x2c, 0x0f, 0xe1, 0x23, 0x0f, 0x8b, 0xe4, 0x89, 0xe3, 0x1c, - 0x0e, 0xbb, 0x97, 0xdf, 0x43, 0xd4, 0xfb, 0xee, 0xef, 0xfe, 0xc4, 0x85, 0x33, 0x81, 0x37, 0x9f, - 0x0f, 0xbc, 0xf4, 0x15, 0x1b, 0x13, 0xe2, 0xa9, 0x22, 0x7f, 0xd5, 0xf0, 0x4e, 0xc6, 0xaf, 0x03, - 0x04, 0x3c, 0xf9, 0xc8, 0xd1, 0x11, 0x82, 0x4f, 0x1f, 0x8a, 0x10, 0x02, 0x73, 0xea, 0x7d, 0xbe, - 0xd1, 0x16, 0x6f, 0x3e, 0x0c, 0x79, 0x91, 0x7c, 0xa9, 0x6a, 0x19, 0x21, 0x16, 0x82, 0x88, 0x4e, - 0xd5, 0x29, 0xf9, 0x5f, 0x47, 0xe0, 0xf4, 0x80, 0xfa, 0x79, 0x4d, 0xd6, 0x01, 0xd9, 0x81, 0x42, - 0x3a, 0x8c, 0x62, 0x2b, 0xf6, 0xfe, 0xb4, 0x79, 0xda, 0x1e, 0xb0, 0xdc, 0xef, 0xcc, 0xea, 0xc3, - 0x4d, 0xcf, 0xaf, 0x46, 0x60, 0x36, 0xd8, 0x00, 0xaf, 0x2b, 0x0d, 0xc8, 0x05, 0xab, 0xe6, 0x9d, - 0x78, 0xcf, 0x24, 0x9d, 0x08, 0xb6, 0x3f, 0xc4, 0x04, 0xdd, 0xf4, 0xa7, 0x38, 0xcb, 0x9b, 0x3d, - 0x35, 0xb1, 0x50, 0x44, 0xc3, 0x86, 0x4e, 0x75, 0x36, 0x36, 0xbf, 0x17, 0x81, 0xf8, 0x96, 0x65, - 0xb5, 0xd1, 0x07, 0x61, 0xda, 0xb4, 0x5c, 0x95, 0x4c, 0x07, 0xdc, 0x52, 0x79, 0x60, 0xcf, 0xcc, - 0x67, 0xed, 0x48, 0x59, 0x7d, 0xe1, 0xcd, 0x85, 0x41, 0xca, 0x61, 0x6f, 0xc2, 0x17, 0x4d, 0xcb, - 0xad, 0x50, 0xa4, 0x26, 0x8b, 0xfd, 0x77, 0x21, 0x1f, 0xae, 0x8e, 0x99, 0xd8, 0xf2, 0xb8, 0xea, - 0xf2, 0x63, 0xab, 0xca, 0xed, 0x04, 0xea, 0x61, 0xcf, 0x28, 0xff, 0x01, 0x19, 0xb9, 0x57, 0x41, - 0xba, 0xd9, 0x7f, 0xc4, 0xa7, 0x06, 0x29, 0x71, 0xa4, 0x27, 0x32, 0xe1, 0x69, 0xa1, 0xa0, 0x38, - 0x39, 0xed, 0x85, 0x9f, 0x89, 0x00, 0xf8, 0x49, 0x12, 0xf4, 0x38, 0x9c, 0xaa, 0x6c, 0x6e, 0xac, - 0xa8, 0x8d, 0x66, 0xb9, 0xb9, 0xdd, 0x08, 0xff, 0x25, 0x11, 0xf1, 0xfe, 0x90, 0xd3, 0xc5, 0xba, - 0xb1, 0x6b, 0xe0, 0x16, 0x7a, 0x04, 0x66, 0xc3, 0xd8, 0xe4, 0xab, 0xb6, 0x22, 0x45, 0x4a, 0xb9, - 0xbb, 0xf7, 0x16, 0xd3, 0xcc, 0x4f, 0xc4, 0x2d, 0x74, 0x1e, 0x4e, 0x0c, 0xe2, 0xd5, 0x37, 0x56, - 0xa5, 0x68, 0x29, 0x7f, 0xf7, 0xde, 0x62, 0xc6, 0x73, 0x28, 0x91, 0x0c, 0x28, 0x88, 0xc9, 0xf9, - 0xc5, 0x4a, 0x70, 0xf7, 0xde, 0x62, 0x92, 0x8d, 0x42, 0x29, 0xfe, 0x91, 0x1f, 0x9a, 0x9f, 0xba, - 0xf0, 0x75, 0x00, 0x75, 0x73, 0xd7, 0xd6, 0xe8, 0x9f, 0xd3, 0x47, 0x25, 0x38, 0x59, 0xdf, 0xb8, - 0xa6, 0x94, 0xab, 0xcd, 0xfa, 0xe6, 0x46, 0xdf, 0x1f, 0x40, 0x09, 0x97, 0xad, 0x6c, 0x6e, 0x57, - 0xd6, 0x6a, 0x6a, 0xa3, 0xbe, 0xba, 0xc1, 0x36, 0x5b, 0x43, 0x65, 0xef, 0xdf, 0x68, 0xd6, 0xd7, - 0x6b, 0x52, 0xb4, 0x72, 0x6d, 0x64, 0x32, 0xff, 0xf1, 0x23, 0x5f, 0xb9, 0xf7, 0x2d, 0x5e, 0x28, - 0xa3, 0xff, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x39, 0x56, 0x48, 0x57, 0x54, 0xa1, 0x00, 0x00, + // 11570 bytes of a gzipped FileDescriptorSet + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0xbd, 0x69, 0x94, 0x1c, 0xd7, + 0x75, 0x1f, 0x3e, 0xbd, 0x4c, 0x2f, 0xb7, 0xb7, 0x9a, 0x37, 0x03, 0x60, 0xd0, 0x20, 0x31, 0x83, + 0xa2, 0x48, 0x82, 0x20, 0x39, 0x20, 0x41, 0x02, 0x24, 0x07, 0xa2, 0xe8, 0xee, 0x9e, 0x06, 0xd0, + 0xc0, 0x6c, 0xac, 0xee, 0x81, 0x48, 0xda, 0x56, 0xb9, 0xa6, 0xfa, 0xcd, 0x4c, 0x11, 0xdd, 0x55, + 0xa5, 0xaa, 0x6a, 0x60, 0x86, 0xe7, 0x7f, 0xfe, 0x47, 0xb6, 0xec, 0x44, 0x86, 0x97, 0xc8, 0xb1, + 0x8f, 0x2d, 0x5b, 0x82, 0x2d, 0xd9, 0xb1, 0x2d, 0x3b, 0x9b, 0x17, 0xc5, 0xeb, 0x89, 0x63, 0x67, + 0xb5, 0x7d, 0x92, 0x1c, 0xd9, 0x1f, 0x12, 0x27, 0xe7, 0x98, 0xb6, 0x25, 0x9f, 0x58, 0x91, 0xe5, + 0xc4, 0x96, 0xe9, 0x2c, 0x47, 0x27, 0x39, 0x39, 0x6f, 0xab, 0xa5, 0x97, 0xe9, 0x1e, 0x88, 0x94, + 0x15, 0x3b, 0x5f, 0x80, 0xae, 0xf7, 0xee, 0xfd, 0xbd, 0xf7, 0xee, 0xbb, 0xef, 0xbe, 0xfb, 0xee, + 0x5b, 0x06, 0xfe, 0xa0, 0x0a, 0x8b, 0xbb, 0x96, 0xb5, 0xdb, 0xc1, 0xe7, 0x6d, 0xc7, 0xf2, 0xac, + 0xed, 0xde, 0xce, 0xf9, 0x36, 0x76, 0x75, 0xc7, 0xb0, 0x3d, 0xcb, 0x59, 0xa2, 0x69, 0xa8, 0xc4, + 0x28, 0x96, 0x04, 0x85, 0xbc, 0x06, 0x33, 0x57, 0x8c, 0x0e, 0x5e, 0xf1, 0x09, 0x9b, 0xd8, 0x43, + 0xcf, 0x43, 0x72, 0xc7, 0xe8, 0xe0, 0xf9, 0xd8, 0x62, 0xe2, 0x6c, 0xee, 0xc2, 0xbb, 0x96, 0xfa, + 0x98, 0x96, 0xa2, 0x1c, 0x9b, 0x24, 0x59, 0xa1, 0x1c, 0xf2, 0xff, 0x4e, 0xc2, 0xec, 0x90, 0x5c, + 0x84, 0x20, 0x69, 0x6a, 0x5d, 0x82, 0x18, 0x3b, 0x9b, 0x55, 0xe8, 0x6f, 0x34, 0x0f, 0x69, 0x5b, + 0xd3, 0x6f, 0x69, 0xbb, 0x78, 0x3e, 0x4e, 0x93, 0xc5, 0x27, 0x3a, 0x0d, 0xd0, 0xc6, 0x36, 0x36, + 0xdb, 0xd8, 0xd4, 0x0f, 0xe6, 0x13, 0x8b, 0x89, 0xb3, 0x59, 0x25, 0x94, 0x82, 0x1e, 0x87, 0x19, + 0xbb, 0xb7, 0xdd, 0x31, 0x74, 0x35, 0x44, 0x06, 0x8b, 0x89, 0xb3, 0xd3, 0x8a, 0xc4, 0x32, 0x56, + 0x02, 0xe2, 0x47, 0xa1, 0x74, 0x07, 0x6b, 0xb7, 0xc2, 0xa4, 0x39, 0x4a, 0x5a, 0x24, 0xc9, 0x21, + 0xc2, 0x1a, 0xe4, 0xbb, 0xd8, 0x75, 0xb5, 0x5d, 0xac, 0x7a, 0x07, 0x36, 0x9e, 0x4f, 0xd2, 0xd6, + 0x2f, 0x0e, 0xb4, 0xbe, 0xbf, 0xe5, 0x39, 0xce, 0xd5, 0x3a, 0xb0, 0x31, 0xaa, 0x40, 0x16, 0x9b, + 0xbd, 0x2e, 0x43, 0x98, 0x1e, 0x21, 0xbf, 0xba, 0xd9, 0xeb, 0xf6, 0xa3, 0x64, 0x08, 0x1b, 0x87, + 0x48, 0xbb, 0xd8, 0xb9, 0x6d, 0xe8, 0x78, 0x3e, 0x45, 0x01, 0x1e, 0x1d, 0x00, 0x68, 0xb2, 0xfc, + 0x7e, 0x0c, 0xc1, 0x87, 0x6a, 0x90, 0xc5, 0xfb, 0x1e, 0x36, 0x5d, 0xc3, 0x32, 0xe7, 0xd3, 0x14, + 0xe4, 0xe1, 0x21, 0xbd, 0x88, 0x3b, 0xed, 0x7e, 0x88, 0x80, 0x0f, 0x5d, 0x82, 0xb4, 0x65, 0x7b, + 0x86, 0x65, 0xba, 0xf3, 0x99, 0xc5, 0xd8, 0xd9, 0xdc, 0x85, 0x07, 0x86, 0x2a, 0xc2, 0x06, 0xa3, + 0x51, 0x04, 0x31, 0x6a, 0x80, 0xe4, 0x5a, 0x3d, 0x47, 0xc7, 0xaa, 0x6e, 0xb5, 0xb1, 0x6a, 0x98, + 0x3b, 0xd6, 0x7c, 0x96, 0x02, 0x2c, 0x0c, 0x36, 0x84, 0x12, 0xd6, 0xac, 0x36, 0x6e, 0x98, 0x3b, + 0x96, 0x52, 0x74, 0x23, 0xdf, 0xe8, 0x38, 0xa4, 0xdc, 0x03, 0xd3, 0xd3, 0xf6, 0xe7, 0xf3, 0x54, + 0x43, 0xf8, 0x17, 0x51, 0x1d, 0xdc, 0x36, 0x48, 0x71, 0xf3, 0x05, 0xa6, 0x3a, 0xfc, 0x53, 0xfe, + 0xc5, 0x14, 0x94, 0x26, 0x51, 0xbe, 0xcb, 0x30, 0xbd, 0x43, 0xda, 0x3f, 0x1f, 0x3f, 0x8a, 0x74, + 0x18, 0x4f, 0x54, 0xbc, 0xa9, 0xfb, 0x14, 0x6f, 0x05, 0x72, 0x26, 0x76, 0x3d, 0xdc, 0x66, 0xba, + 0x92, 0x98, 0x50, 0xdb, 0x80, 0x31, 0x0d, 0x2a, 0x5b, 0xf2, 0xbe, 0x94, 0xed, 0x15, 0x28, 0xf9, + 0x55, 0x52, 0x1d, 0xcd, 0xdc, 0x15, 0x5a, 0x7b, 0x7e, 0x5c, 0x4d, 0x96, 0xea, 0x82, 0x4f, 0x21, + 0x6c, 0x4a, 0x11, 0x47, 0xbe, 0xd1, 0x0a, 0x80, 0x65, 0x62, 0x6b, 0x47, 0x6d, 0x63, 0xbd, 0x33, + 0x9f, 0x19, 0x21, 0xa5, 0x0d, 0x42, 0x32, 0x20, 0x25, 0x8b, 0xa5, 0xea, 0x1d, 0xf4, 0x42, 0xa0, + 0x84, 0xe9, 0x11, 0x3a, 0xb4, 0xc6, 0x86, 0xdf, 0x80, 0x1e, 0x6e, 0x41, 0xd1, 0xc1, 0x64, 0x44, + 0xe0, 0x36, 0x6f, 0x59, 0x96, 0x56, 0x62, 0x69, 0x6c, 0xcb, 0x14, 0xce, 0xc6, 0x1a, 0x56, 0x70, + 0xc2, 0x9f, 0xe8, 0x21, 0xf0, 0x13, 0x54, 0xaa, 0x56, 0x40, 0xed, 0x53, 0x5e, 0x24, 0xae, 0x6b, + 0x5d, 0x5c, 0x7e, 0x03, 0x8a, 0x51, 0xf1, 0xa0, 0x39, 0x98, 0x76, 0x3d, 0xcd, 0xf1, 0xa8, 0x16, + 0x4e, 0x2b, 0xec, 0x03, 0x49, 0x90, 0xc0, 0x66, 0x9b, 0xda, 0xbf, 0x69, 0x85, 0xfc, 0x44, 0x5f, + 0x13, 0x34, 0x38, 0x41, 0x1b, 0xfc, 0xc8, 0x60, 0x8f, 0x46, 0x90, 0xfb, 0xdb, 0x5d, 0x7e, 0x0e, + 0x0a, 0x91, 0x06, 0x4c, 0x5a, 0xb4, 0xfc, 0xff, 0xc1, 0xb1, 0xa1, 0xd0, 0xe8, 0x15, 0x98, 0xeb, + 0x99, 0x86, 0xe9, 0x61, 0xc7, 0x76, 0x30, 0xd1, 0x58, 0x56, 0xd4, 0xfc, 0x1f, 0xa5, 0x47, 0xe8, + 0xdc, 0x56, 0x98, 0x9a, 0xa1, 0x28, 0xb3, 0xbd, 0xc1, 0xc4, 0x73, 0xd9, 0xcc, 0xe7, 0xd2, 0xd2, + 0x07, 0x3e, 0xf0, 0x81, 0x0f, 0xc4, 0xe5, 0x5f, 0x4b, 0xc1, 0xdc, 0xb0, 0x31, 0x33, 0x74, 0xf8, + 0x1e, 0x87, 0x94, 0xd9, 0xeb, 0x6e, 0x63, 0x87, 0x0a, 0x69, 0x5a, 0xe1, 0x5f, 0xa8, 0x02, 0xd3, + 0x1d, 0x6d, 0x1b, 0x77, 0xe6, 0x93, 0x8b, 0xb1, 0xb3, 0xc5, 0x0b, 0x8f, 0x4f, 0x34, 0x2a, 0x97, + 0x56, 0x09, 0x8b, 0xc2, 0x38, 0xd1, 0x7b, 0x20, 0xc9, 0x8d, 0x37, 0x41, 0x38, 0x37, 0x19, 0x02, + 0x19, 0x4b, 0x0a, 0xe5, 0x43, 0xa7, 0x20, 0x4b, 0xfe, 0x67, 0xba, 0x91, 0xa2, 0x75, 0xce, 0x90, + 0x04, 0xa2, 0x17, 0xa8, 0x0c, 0x19, 0x3a, 0x4c, 0xda, 0x58, 0x4c, 0x7a, 0xfe, 0x37, 0x51, 0xac, + 0x36, 0xde, 0xd1, 0x7a, 0x1d, 0x4f, 0xbd, 0xad, 0x75, 0x7a, 0x98, 0x2a, 0x7c, 0x56, 0xc9, 0xf3, + 0xc4, 0x9b, 0x24, 0x0d, 0x2d, 0x40, 0x8e, 0x8d, 0x2a, 0xc3, 0x6c, 0xe3, 0x7d, 0x6a, 0x57, 0xa7, + 0x15, 0x36, 0xd0, 0x1a, 0x24, 0x85, 0x14, 0xff, 0xba, 0x6b, 0x99, 0x42, 0x35, 0x69, 0x11, 0x24, + 0x81, 0x16, 0xff, 0x5c, 0xbf, 0x49, 0x7f, 0x70, 0x78, 0xf3, 0x06, 0xc6, 0xd2, 0xa3, 0x50, 0xa2, + 0x14, 0xcf, 0xf0, 0xae, 0xd7, 0x3a, 0xf3, 0x33, 0x8b, 0xb1, 0xb3, 0x19, 0xa5, 0xc8, 0x92, 0x37, + 0x78, 0xaa, 0xfc, 0x73, 0x71, 0x48, 0x52, 0xc3, 0x52, 0x82, 0x5c, 0xeb, 0xd5, 0xcd, 0xba, 0xba, + 0xb2, 0xb1, 0x55, 0x5d, 0xad, 0x4b, 0x31, 0x54, 0x04, 0xa0, 0x09, 0x57, 0x56, 0x37, 0x2a, 0x2d, + 0x29, 0xee, 0x7f, 0x37, 0xd6, 0x5b, 0x97, 0x9e, 0x95, 0x12, 0x3e, 0xc3, 0x16, 0x4b, 0x48, 0x86, + 0x09, 0x9e, 0xb9, 0x20, 0x4d, 0x23, 0x09, 0xf2, 0x0c, 0xa0, 0xf1, 0x4a, 0x7d, 0xe5, 0xd2, 0xb3, + 0x52, 0x2a, 0x9a, 0xf2, 0xcc, 0x05, 0x29, 0x8d, 0x0a, 0x90, 0xa5, 0x29, 0xd5, 0x8d, 0x8d, 0x55, + 0x29, 0xe3, 0x63, 0x36, 0x5b, 0x4a, 0x63, 0xfd, 0xaa, 0x94, 0xf5, 0x31, 0xaf, 0x2a, 0x1b, 0x5b, + 0x9b, 0x12, 0xf8, 0x08, 0x6b, 0xf5, 0x66, 0xb3, 0x72, 0xb5, 0x2e, 0xe5, 0x7c, 0x8a, 0xea, 0xab, + 0xad, 0x7a, 0x53, 0xca, 0x47, 0xaa, 0xf5, 0xcc, 0x05, 0xa9, 0xe0, 0x17, 0x51, 0x5f, 0xdf, 0x5a, + 0x93, 0x8a, 0x68, 0x06, 0x0a, 0xac, 0x08, 0x51, 0x89, 0x52, 0x5f, 0xd2, 0xa5, 0x67, 0x25, 0x29, + 0xa8, 0x08, 0x43, 0x99, 0x89, 0x24, 0x5c, 0x7a, 0x56, 0x42, 0x72, 0x0d, 0xa6, 0xa9, 0x1a, 0x22, + 0x04, 0xc5, 0xd5, 0x4a, 0xb5, 0xbe, 0xaa, 0x6e, 0x6c, 0xb6, 0x1a, 0x1b, 0xeb, 0x95, 0x55, 0x29, + 0x16, 0xa4, 0x29, 0xf5, 0x97, 0xb7, 0x1a, 0x4a, 0x7d, 0x45, 0x8a, 0x87, 0xd3, 0x36, 0xeb, 0x95, + 0x56, 0x7d, 0x45, 0x4a, 0xc8, 0x3a, 0xcc, 0x0d, 0x33, 0xa8, 0x43, 0x87, 0x50, 0x48, 0x17, 0xe2, + 0x23, 0x74, 0x81, 0x62, 0xf5, 0xeb, 0x82, 0xfc, 0xd9, 0x38, 0xcc, 0x0e, 0x99, 0x54, 0x86, 0x16, + 0xf2, 0x12, 0x4c, 0x33, 0x5d, 0x66, 0xd3, 0xec, 0x63, 0x43, 0x67, 0x27, 0xaa, 0xd9, 0x03, 0x53, + 0x2d, 0xe5, 0x0b, 0x3b, 0x21, 0x89, 0x11, 0x4e, 0x08, 0x81, 0x18, 0x50, 0xd8, 0xaf, 0x1f, 0x30, + 0xfe, 0x6c, 0x7e, 0xbc, 0x34, 0xc9, 0xfc, 0x48, 0xd3, 0x8e, 0x36, 0x09, 0x4c, 0x0f, 0x99, 0x04, + 0x2e, 0xc3, 0xcc, 0x00, 0xd0, 0xc4, 0xc6, 0xf8, 0x83, 0x31, 0x98, 0x1f, 0x25, 0x9c, 0x31, 0x26, + 0x31, 0x1e, 0x31, 0x89, 0x97, 0xfb, 0x25, 0x78, 0x66, 0x74, 0x27, 0x0c, 0xf4, 0xf5, 0x8f, 0xc7, + 0xe0, 0xf8, 0x70, 0x67, 0x73, 0x68, 0x1d, 0xde, 0x03, 0xa9, 0x2e, 0xf6, 0xf6, 0x2c, 0xe1, 0x56, + 0x3d, 0x32, 0x64, 0xb2, 0x26, 0xd9, 0xfd, 0x9d, 0xcd, 0xb9, 0xc2, 0xb3, 0x7d, 0x62, 0x94, 0xc7, + 0xc8, 0x6a, 0x33, 0x50, 0xd3, 0x6f, 0x8d, 0xc3, 0xb1, 0xa1, 0xe0, 0x43, 0x2b, 0xfa, 0x20, 0x80, + 0x61, 0xda, 0x3d, 0x8f, 0xb9, 0x4e, 0xcc, 0x12, 0x67, 0x69, 0x0a, 0x35, 0x5e, 0xc4, 0xca, 0xf6, + 0x3c, 0x3f, 0x3f, 0x41, 0xf3, 0x81, 0x25, 0x51, 0x82, 0xe7, 0x83, 0x8a, 0x26, 0x69, 0x45, 0x4f, + 0x8f, 0x68, 0xe9, 0x80, 0x62, 0x3e, 0x05, 0x92, 0xde, 0x31, 0xb0, 0xe9, 0xa9, 0xae, 0xe7, 0x60, + 0xad, 0x6b, 0x98, 0xbb, 0x74, 0xaa, 0xc9, 0x2c, 0x4f, 0xef, 0x68, 0x1d, 0x17, 0x2b, 0x25, 0x96, + 0xdd, 0x14, 0xb9, 0x84, 0x83, 0x2a, 0x90, 0x13, 0xe2, 0x48, 0x45, 0x38, 0x58, 0xb6, 0xcf, 0x21, + 0x7f, 0x57, 0x16, 0x72, 0x21, 0xd7, 0x1c, 0x9d, 0x81, 0xfc, 0xeb, 0xda, 0x6d, 0x4d, 0x15, 0xcb, + 0x2d, 0x26, 0x89, 0x1c, 0x49, 0xdb, 0xe4, 0x4b, 0xae, 0xa7, 0x60, 0x8e, 0x92, 0x58, 0x3d, 0x0f, + 0x3b, 0xaa, 0xde, 0xd1, 0x5c, 0x97, 0x0a, 0x2d, 0x43, 0x49, 0x11, 0xc9, 0xdb, 0x20, 0x59, 0x35, + 0x91, 0x83, 0x2e, 0xc2, 0x2c, 0xe5, 0xe8, 0xf6, 0x3a, 0x9e, 0x61, 0x77, 0xb0, 0x4a, 0x16, 0x80, + 0x2e, 0x9d, 0x72, 0xfc, 0x9a, 0xcd, 0x10, 0x8a, 0x35, 0x4e, 0x40, 0x6a, 0xe4, 0xa2, 0x15, 0x78, + 0x90, 0xb2, 0xed, 0x62, 0x13, 0x3b, 0x9a, 0x87, 0x55, 0xfc, 0xfe, 0x9e, 0xd6, 0x71, 0x55, 0xcd, + 0x6c, 0xab, 0x7b, 0x9a, 0xbb, 0x37, 0x3f, 0x47, 0x00, 0xaa, 0xf1, 0xf9, 0x98, 0x72, 0x92, 0x10, + 0x5e, 0xe5, 0x74, 0x75, 0x4a, 0x56, 0x31, 0xdb, 0xd7, 0x34, 0x77, 0x0f, 0x2d, 0xc3, 0x71, 0x8a, + 0xe2, 0x7a, 0x8e, 0x61, 0xee, 0xaa, 0xfa, 0x1e, 0xd6, 0x6f, 0xa9, 0x3d, 0x6f, 0xe7, 0xf9, 0xf9, + 0x53, 0xe1, 0xf2, 0x69, 0x0d, 0x9b, 0x94, 0xa6, 0x46, 0x48, 0xb6, 0xbc, 0x9d, 0xe7, 0x51, 0x13, + 0xf2, 0xa4, 0x33, 0xba, 0xc6, 0x1b, 0x58, 0xdd, 0xb1, 0x1c, 0x3a, 0x87, 0x16, 0x87, 0x98, 0xa6, + 0x90, 0x04, 0x97, 0x36, 0x38, 0xc3, 0x9a, 0xd5, 0xc6, 0xcb, 0xd3, 0xcd, 0xcd, 0x7a, 0x7d, 0x45, + 0xc9, 0x09, 0x94, 0x2b, 0x96, 0x43, 0x14, 0x6a, 0xd7, 0xf2, 0x05, 0x9c, 0x63, 0x0a, 0xb5, 0x6b, + 0x09, 0xf1, 0x5e, 0x84, 0x59, 0x5d, 0x67, 0x6d, 0x36, 0x74, 0x95, 0x2f, 0xd3, 0xdc, 0x79, 0x29, + 0x22, 0x2c, 0x5d, 0xbf, 0xca, 0x08, 0xb8, 0x8e, 0xbb, 0xe8, 0x05, 0x38, 0x16, 0x08, 0x2b, 0xcc, + 0x38, 0x33, 0xd0, 0xca, 0x7e, 0xd6, 0x8b, 0x30, 0x6b, 0x1f, 0x0c, 0x32, 0xa2, 0x48, 0x89, 0xf6, + 0x41, 0x3f, 0xdb, 0x73, 0x30, 0x67, 0xef, 0xd9, 0x83, 0x7c, 0xe7, 0xc2, 0x7c, 0xc8, 0xde, 0xb3, + 0xfb, 0x19, 0x1f, 0xa6, 0x6b, 0x76, 0x07, 0xeb, 0x9a, 0x87, 0xdb, 0xf3, 0x27, 0xc2, 0xe4, 0xa1, + 0x0c, 0xb4, 0x04, 0x92, 0xae, 0xab, 0xd8, 0xd4, 0xb6, 0x3b, 0x58, 0xd5, 0x1c, 0x6c, 0x6a, 0xee, + 0xfc, 0x02, 0x25, 0x4e, 0x7a, 0x4e, 0x0f, 0x2b, 0x45, 0x5d, 0xaf, 0xd3, 0xcc, 0x0a, 0xcd, 0x43, + 0xe7, 0x60, 0xc6, 0xda, 0x7e, 0x5d, 0x67, 0x1a, 0xa9, 0xda, 0x0e, 0xde, 0x31, 0xf6, 0xe7, 0xdf, + 0x45, 0xc5, 0x5b, 0x22, 0x19, 0x54, 0x1f, 0x37, 0x69, 0x32, 0x7a, 0x0c, 0x24, 0xdd, 0xdd, 0xd3, + 0x1c, 0x9b, 0x9a, 0x64, 0xd7, 0xd6, 0x74, 0x3c, 0xff, 0x30, 0x23, 0x65, 0xe9, 0xeb, 0x22, 0x99, + 0x8c, 0x08, 0xf7, 0x8e, 0xb1, 0xe3, 0x09, 0xc4, 0x47, 0xd9, 0x88, 0xa0, 0x69, 0x1c, 0xed, 0x2c, + 0x48, 0x44, 0x12, 0x91, 0x82, 0xcf, 0x52, 0xb2, 0xa2, 0xbd, 0x67, 0x87, 0xcb, 0x7d, 0x08, 0x0a, + 0x84, 0x32, 0x28, 0xf4, 0x31, 0xe6, 0xb8, 0xd9, 0x7b, 0xa1, 0x12, 0x9f, 0x85, 0xe3, 0x84, 0xa8, + 0x8b, 0x3d, 0xad, 0xad, 0x79, 0x5a, 0x88, 0xfa, 0x09, 0x4a, 0x4d, 0xc4, 0xbe, 0xc6, 0x33, 0x23, + 0xf5, 0x74, 0x7a, 0xdb, 0x07, 0xbe, 0x62, 0x3d, 0xc9, 0xea, 0x49, 0xd2, 0x84, 0x6a, 0xbd, 0x63, + 0xce, 0xb9, 0xbc, 0x0c, 0xf9, 0xb0, 0xde, 0xa3, 0x2c, 0x30, 0xcd, 0x97, 0x62, 0xc4, 0x09, 0xaa, + 0x6d, 0xac, 0x10, 0xf7, 0xe5, 0xb5, 0xba, 0x14, 0x27, 0x6e, 0xd4, 0x6a, 0xa3, 0x55, 0x57, 0x95, + 0xad, 0xf5, 0x56, 0x63, 0xad, 0x2e, 0x25, 0x42, 0x8e, 0xfd, 0xf5, 0x64, 0xe6, 0x11, 0xe9, 0x51, + 0xf9, 0x97, 0x13, 0x50, 0x8c, 0xae, 0xd4, 0xd0, 0xbb, 0xe1, 0x84, 0x08, 0xb8, 0xb8, 0xd8, 0x53, + 0xef, 0x18, 0x0e, 0x1d, 0x90, 0x5d, 0x8d, 0x4d, 0x8e, 0xbe, 0xfe, 0xcc, 0x71, 0xaa, 0x26, 0xf6, + 0xde, 0x6b, 0x38, 0x64, 0xb8, 0x75, 0x35, 0x0f, 0xad, 0xc2, 0x82, 0x69, 0xa9, 0xae, 0xa7, 0x99, + 0x6d, 0xcd, 0x69, 0xab, 0x41, 0xa8, 0x4b, 0xd5, 0x74, 0x1d, 0xbb, 0xae, 0xc5, 0x26, 0x42, 0x1f, + 0xe5, 0x01, 0xd3, 0x6a, 0x72, 0xe2, 0x60, 0x86, 0xa8, 0x70, 0xd2, 0x3e, 0xf5, 0x4d, 0x8c, 0x52, + 0xdf, 0x53, 0x90, 0xed, 0x6a, 0xb6, 0x8a, 0x4d, 0xcf, 0x39, 0xa0, 0xfe, 0x79, 0x46, 0xc9, 0x74, + 0x35, 0xbb, 0x4e, 0xbe, 0xd1, 0x4d, 0x78, 0x24, 0x20, 0x55, 0x3b, 0x78, 0x57, 0xd3, 0x0f, 0x54, + 0xea, 0x8c, 0xd3, 0xb0, 0x81, 0xaa, 0x5b, 0xe6, 0x4e, 0xc7, 0xd0, 0x3d, 0x97, 0xda, 0x07, 0x66, + 0xe3, 0xe4, 0x80, 0x63, 0x95, 0x32, 0x5c, 0x77, 0x2d, 0x93, 0xfa, 0xe0, 0x35, 0x41, 0xfd, 0x15, + 0x59, 0x7e, 0x5d, 0x4f, 0x66, 0x92, 0xd2, 0xf4, 0xf5, 0x64, 0x66, 0x5a, 0x4a, 0x5d, 0x4f, 0x66, + 0x52, 0x52, 0xfa, 0x7a, 0x32, 0x93, 0x91, 0xb2, 0xd7, 0x93, 0x99, 0xac, 0x04, 0xf2, 0xcf, 0x67, + 0x20, 0x1f, 0x5e, 0x19, 0x90, 0x85, 0x96, 0x4e, 0xe7, 0xc6, 0x18, 0xb5, 0x9e, 0x0f, 0x1d, 0xba, + 0x8e, 0x58, 0xaa, 0x91, 0x49, 0x73, 0x39, 0xc5, 0xdc, 0x70, 0x85, 0x71, 0x12, 0x87, 0x85, 0xa8, + 0x35, 0x66, 0x6e, 0x4f, 0x46, 0xe1, 0x5f, 0xe8, 0x2a, 0xa4, 0x5e, 0x77, 0x29, 0x76, 0x8a, 0x62, + 0xbf, 0xeb, 0x70, 0xec, 0xeb, 0x4d, 0x0a, 0x9e, 0xbd, 0xde, 0x54, 0xd7, 0x37, 0x94, 0xb5, 0xca, + 0xaa, 0xc2, 0xd9, 0xd1, 0x49, 0x48, 0x76, 0xb4, 0x37, 0x0e, 0xa2, 0xd3, 0x2b, 0x4d, 0x42, 0x4b, + 0x50, 0xea, 0x99, 0xb7, 0xb1, 0x63, 0xec, 0x18, 0xa4, 0xab, 0x08, 0x55, 0x29, 0x4c, 0x55, 0x0c, + 0x72, 0x57, 0x09, 0xfd, 0x84, 0xea, 0x71, 0x12, 0x92, 0x77, 0xb0, 0x76, 0x2b, 0x3a, 0x09, 0xd2, + 0x24, 0x74, 0x16, 0xf2, 0x6d, 0xbc, 0xdd, 0xdb, 0x55, 0x1d, 0xdc, 0xd6, 0x74, 0x2f, 0x6a, 0xfa, + 0x73, 0x34, 0x4b, 0xa1, 0x39, 0xe8, 0x06, 0x64, 0x49, 0x1f, 0x99, 0xb4, 0x8f, 0x67, 0xa8, 0x08, + 0x9e, 0x3c, 0x5c, 0x04, 0xbc, 0x8b, 0x05, 0x93, 0x12, 0xf0, 0xa3, 0x2b, 0x90, 0xf2, 0x34, 0x67, + 0x17, 0x7b, 0xd4, 0xf2, 0x17, 0x87, 0x04, 0x3f, 0x86, 0x20, 0xb5, 0x28, 0x07, 0x5d, 0xd3, 0x72, + 0xee, 0x77, 0xd0, 0xca, 0x9c, 0x87, 0x69, 0xaa, 0x1e, 0x08, 0x80, 0x2b, 0x88, 0x34, 0x85, 0x32, + 0x90, 0xac, 0x6d, 0x28, 0xc4, 0xd2, 0x48, 0x90, 0x67, 0xa9, 0xea, 0x66, 0xa3, 0x5e, 0xab, 0x4b, + 0x71, 0xf9, 0x22, 0xa4, 0x58, 0x9f, 0x13, 0x2b, 0xe4, 0xf7, 0xba, 0x34, 0xc5, 0x3f, 0x39, 0x46, + 0x4c, 0xe4, 0x6e, 0xad, 0x55, 0xeb, 0x8a, 0x14, 0x97, 0xb7, 0xa0, 0xd4, 0x27, 0x27, 0x74, 0x0c, + 0x66, 0x94, 0x7a, 0xab, 0xbe, 0x4e, 0xd6, 0x59, 0xea, 0xd6, 0xfa, 0x8d, 0xf5, 0x8d, 0xf7, 0xae, + 0x4b, 0x53, 0xd1, 0x64, 0x61, 0xd2, 0x62, 0x68, 0x0e, 0xa4, 0x20, 0xb9, 0xb9, 0xb1, 0xa5, 0xd0, + 0xda, 0x7c, 0x7b, 0x1c, 0xa4, 0x7e, 0xa9, 0xa1, 0x13, 0x30, 0xdb, 0xaa, 0x28, 0x57, 0xeb, 0x2d, + 0x95, 0xad, 0x1d, 0x7d, 0xe8, 0x39, 0x90, 0xc2, 0x19, 0x57, 0x1a, 0x74, 0x69, 0xbc, 0x00, 0xa7, + 0xc2, 0xa9, 0xf5, 0x57, 0x5a, 0xf5, 0xf5, 0x26, 0x2d, 0xbc, 0xb2, 0x7e, 0x95, 0xd8, 0xd7, 0x3e, + 0x3c, 0xb1, 0x5a, 0x4d, 0x90, 0xaa, 0x46, 0xf1, 0xea, 0xab, 0x2b, 0x52, 0xb2, 0x3f, 0x79, 0x63, + 0xbd, 0xbe, 0x71, 0x45, 0x9a, 0xee, 0x2f, 0x9d, 0xae, 0x60, 0x53, 0xa8, 0x0c, 0xc7, 0xfb, 0x53, + 0xd5, 0xfa, 0x7a, 0x4b, 0x79, 0x55, 0x4a, 0xf7, 0x17, 0xdc, 0xac, 0x2b, 0x37, 0x1b, 0xb5, 0xba, + 0x94, 0x41, 0xc7, 0x01, 0x45, 0x6b, 0xd4, 0xba, 0xb6, 0xb1, 0x22, 0x65, 0x07, 0x2c, 0x8a, 0xec, + 0x42, 0x3e, 0xbc, 0x8c, 0xfc, 0xca, 0xc4, 0x92, 0x3e, 0x12, 0x87, 0x5c, 0x68, 0x59, 0x48, 0xfc, + 0x79, 0xad, 0xd3, 0xb1, 0xee, 0xa8, 0x5a, 0xc7, 0xd0, 0x5c, 0x6e, 0x6f, 0x80, 0x26, 0x55, 0x48, + 0xca, 0xa4, 0xe3, 0x7b, 0x72, 0x0b, 0x9f, 0xfa, 0x6a, 0xb4, 0xf0, 0xd3, 0x52, 0x4a, 0xfe, 0xc1, + 0x18, 0x48, 0xfd, 0xeb, 0xbd, 0xbe, 0xe6, 0xc7, 0x46, 0x35, 0xff, 0x2b, 0xd2, 0x77, 0x1f, 0x8b, + 0x41, 0x31, 0xba, 0xc8, 0xeb, 0xab, 0xde, 0x99, 0xbf, 0xd4, 0xea, 0xfd, 0x7e, 0x1c, 0x0a, 0x91, + 0xa5, 0xdd, 0xa4, 0xb5, 0x7b, 0x3f, 0xcc, 0x18, 0x6d, 0xdc, 0xb5, 0x2d, 0x0f, 0x9b, 0xfa, 0x81, + 0xda, 0xc1, 0xb7, 0x71, 0x67, 0x5e, 0xa6, 0x46, 0xf9, 0xfc, 0xe1, 0x8b, 0xc7, 0xa5, 0x46, 0xc0, + 0xb7, 0x4a, 0xd8, 0x96, 0x67, 0x1b, 0x2b, 0xf5, 0xb5, 0xcd, 0x8d, 0x56, 0x7d, 0xbd, 0xf6, 0xaa, + 0xb0, 0x2e, 0x8a, 0x64, 0xf4, 0x91, 0xbd, 0x83, 0x46, 0x7b, 0x13, 0xa4, 0xfe, 0x4a, 0x11, 0x5b, + 0x31, 0xa4, 0x5a, 0xd2, 0x14, 0x9a, 0x85, 0xd2, 0xfa, 0x86, 0xda, 0x6c, 0xac, 0xd4, 0xd5, 0xfa, + 0x95, 0x2b, 0xf5, 0x5a, 0xab, 0xc9, 0xc2, 0x81, 0x3e, 0x75, 0x4b, 0x8a, 0x87, 0x45, 0xfc, 0x03, + 0x09, 0x98, 0x1d, 0x52, 0x13, 0x54, 0xe1, 0x0b, 0x79, 0x16, 0x5b, 0x78, 0x72, 0x92, 0xda, 0x2f, + 0x11, 0x57, 0x7a, 0x53, 0x73, 0x3c, 0xbe, 0xee, 0x7f, 0x0c, 0x88, 0x94, 0x4c, 0x8f, 0xcc, 0xec, + 0x0e, 0x0f, 0xb3, 0xb2, 0xd5, 0x7d, 0x29, 0x48, 0x67, 0x91, 0xd6, 0x27, 0x00, 0xd9, 0x96, 0x6b, + 0x78, 0xc6, 0x6d, 0xac, 0x1a, 0xa6, 0x88, 0xc9, 0x92, 0xd5, 0x7e, 0x52, 0x91, 0x44, 0x4e, 0xc3, + 0xf4, 0x7c, 0x6a, 0x13, 0xef, 0x6a, 0x7d, 0xd4, 0xc4, 0xf3, 0x48, 0x28, 0x92, 0xc8, 0xf1, 0xa9, + 0xcf, 0x40, 0xbe, 0x6d, 0xf5, 0xc8, 0x12, 0x88, 0xd1, 0x11, 0x6b, 0x11, 0x53, 0x72, 0x2c, 0xcd, + 0x27, 0xe1, 0x8b, 0xdb, 0x20, 0x18, 0x9c, 0x57, 0x72, 0x2c, 0x8d, 0x91, 0x3c, 0x0a, 0x25, 0x6d, + 0x77, 0xd7, 0x21, 0xe0, 0x02, 0x88, 0x2d, 0xd7, 0x8b, 0x7e, 0x32, 0x25, 0x2c, 0x5f, 0x87, 0x8c, + 0x90, 0x03, 0xf1, 0x60, 0x89, 0x24, 0x54, 0x9b, 0xc5, 0xa0, 0xe2, 0x67, 0xb3, 0x4a, 0xc6, 0x14, + 0x99, 0x67, 0x20, 0x6f, 0xb8, 0x6a, 0xb0, 0xb7, 0x15, 0x5f, 0x8c, 0x9f, 0xcd, 0x28, 0x39, 0xc3, + 0xf5, 0xf7, 0x05, 0xe4, 0x1f, 0x8f, 0x43, 0x31, 0xba, 0x6b, 0x87, 0x56, 0x20, 0xd3, 0xb1, 0x74, + 0x8d, 0xaa, 0x16, 0xdb, 0x32, 0x3e, 0x3b, 0x66, 0xa3, 0x6f, 0x69, 0x95, 0xd3, 0x2b, 0x3e, 0x67, + 0xf9, 0xdf, 0xc6, 0x20, 0x23, 0x92, 0xd1, 0x71, 0x48, 0xda, 0x9a, 0xb7, 0x47, 0xe1, 0xa6, 0xab, + 0x71, 0x29, 0xa6, 0xd0, 0x6f, 0x92, 0xee, 0xda, 0x9a, 0x49, 0x55, 0x80, 0xa7, 0x93, 0x6f, 0xd2, + 0xaf, 0x1d, 0xac, 0xb5, 0x69, 0x2c, 0xc0, 0xea, 0x76, 0xb1, 0xe9, 0xb9, 0xa2, 0x5f, 0x79, 0x7a, + 0x8d, 0x27, 0xa3, 0xc7, 0x61, 0xc6, 0x73, 0x34, 0xa3, 0x13, 0xa1, 0x4d, 0x52, 0x5a, 0x49, 0x64, + 0xf8, 0xc4, 0xcb, 0x70, 0x52, 0xe0, 0xb6, 0xb1, 0xa7, 0xe9, 0x7b, 0xb8, 0x1d, 0x30, 0xa5, 0x68, + 0xcc, 0xef, 0x04, 0x27, 0x58, 0xe1, 0xf9, 0x82, 0x57, 0xfe, 0x74, 0x1c, 0x66, 0x44, 0xf4, 0xa2, + 0xed, 0x0b, 0x6b, 0x0d, 0x40, 0x33, 0x4d, 0xcb, 0x0b, 0x8b, 0x6b, 0x50, 0x95, 0x07, 0xf8, 0x96, + 0x2a, 0x3e, 0x93, 0x12, 0x02, 0x28, 0xff, 0x71, 0x0c, 0x20, 0xc8, 0x1a, 0x29, 0xb7, 0x05, 0xc8, + 0xf1, 0x3d, 0x59, 0xba, 0xb1, 0xcf, 0x02, 0x5e, 0xc0, 0x92, 0xae, 0x18, 0x1d, 0x1a, 0x96, 0xdc, + 0xc6, 0xbb, 0x86, 0xc9, 0xf7, 0x53, 0xd8, 0x87, 0x08, 0x4b, 0x26, 0x83, 0xed, 0x29, 0x05, 0x32, + 0x2e, 0xee, 0x6a, 0xa6, 0x67, 0xe8, 0x7c, 0x87, 0xe4, 0xd2, 0x91, 0x2a, 0xbf, 0xd4, 0xe4, 0xdc, + 0x8a, 0x8f, 0x23, 0x9f, 0x85, 0x8c, 0x48, 0x25, 0x8e, 0xdf, 0xfa, 0xc6, 0x7a, 0x5d, 0x9a, 0x42, + 0x69, 0x48, 0x34, 0xeb, 0x2d, 0x29, 0x46, 0x96, 0x9d, 0x95, 0xd5, 0x46, 0xa5, 0x29, 0xc5, 0xab, + 0xff, 0x3f, 0xcc, 0xea, 0x56, 0xb7, 0xbf, 0xc0, 0xaa, 0xd4, 0x17, 0xf2, 0x73, 0xaf, 0xc5, 0x5e, + 0x7b, 0x92, 0x13, 0xed, 0x5a, 0x1d, 0xcd, 0xdc, 0x5d, 0xb2, 0x9c, 0xdd, 0xe0, 0x58, 0x04, 0x59, + 0x1d, 0xb8, 0xa1, 0xc3, 0x11, 0xf6, 0xf6, 0xff, 0x88, 0xc5, 0x7e, 0x38, 0x9e, 0xb8, 0xba, 0x59, + 0xfd, 0xc9, 0x78, 0xf9, 0x2a, 0x63, 0xdc, 0x14, 0xcd, 0x51, 0xf0, 0x4e, 0x07, 0xeb, 0xa4, 0xf2, + 0xf0, 0x27, 0x8f, 0xc3, 0xdc, 0xae, 0xb5, 0x6b, 0x51, 0xa4, 0xf3, 0xe4, 0x17, 0x3f, 0x57, 0x91, + 0xf5, 0x53, 0xcb, 0x63, 0x0f, 0x61, 0x2c, 0xaf, 0xc3, 0x2c, 0x27, 0x56, 0xe9, 0xf6, 0x2d, 0x0b, + 0x2e, 0xa0, 0x43, 0x23, 0xdb, 0xf3, 0x3f, 0xfd, 0x87, 0xd4, 0x2b, 0x51, 0x66, 0x38, 0x2b, 0xc9, + 0x63, 0xf1, 0x87, 0x65, 0x05, 0x8e, 0x45, 0xf0, 0x98, 0x8d, 0xc0, 0xce, 0x18, 0xc4, 0x7f, 0xc1, + 0x11, 0x67, 0x43, 0x88, 0x4d, 0xce, 0xba, 0x5c, 0x83, 0xc2, 0x51, 0xb0, 0xfe, 0x25, 0xc7, 0xca, + 0xe3, 0x30, 0xc8, 0x55, 0x28, 0x51, 0x10, 0xbd, 0xe7, 0x7a, 0x56, 0x97, 0x1a, 0xe0, 0xc3, 0x61, + 0xfe, 0xd5, 0x1f, 0xb2, 0x41, 0x5b, 0x24, 0x6c, 0x35, 0x9f, 0x6b, 0x79, 0x19, 0xe8, 0x8e, 0x75, + 0x1b, 0xeb, 0x9d, 0x31, 0x08, 0xbf, 0xce, 0x2b, 0xe2, 0xd3, 0x2f, 0xdf, 0x84, 0x39, 0xf2, 0x9b, + 0xda, 0xc7, 0x70, 0x4d, 0xc6, 0x87, 0xc1, 0xe7, 0x7f, 0xeb, 0x83, 0xcc, 0x2e, 0xcc, 0xfa, 0x00, + 0xa1, 0x3a, 0x85, 0x7a, 0x71, 0x17, 0x7b, 0x1e, 0x76, 0x5c, 0x55, 0xeb, 0x0c, 0xab, 0x5e, 0x28, + 0x8e, 0x38, 0xff, 0xfd, 0x5f, 0x88, 0xf6, 0xe2, 0x55, 0xc6, 0x59, 0xe9, 0x74, 0x96, 0xb7, 0xe0, + 0xc4, 0x10, 0xad, 0x98, 0x00, 0xf3, 0x07, 0x38, 0xe6, 0xdc, 0x80, 0x66, 0x10, 0xd8, 0x4d, 0x10, + 0xe9, 0x7e, 0x5f, 0x4e, 0x80, 0xf9, 0x51, 0x8e, 0x89, 0x38, 0xaf, 0xe8, 0x52, 0x82, 0x78, 0x1d, + 0x66, 0x6e, 0x63, 0x67, 0xdb, 0x72, 0x79, 0xec, 0x76, 0x02, 0xb8, 0x8f, 0x71, 0xb8, 0x12, 0x67, + 0xa4, 0xc1, 0x5c, 0x82, 0xf5, 0x02, 0x64, 0x76, 0x34, 0x1d, 0x4f, 0x00, 0x71, 0x8f, 0x43, 0xa4, + 0x09, 0x3d, 0x61, 0xad, 0x40, 0x7e, 0xd7, 0xe2, 0x53, 0xe4, 0x78, 0xf6, 0x1f, 0xe4, 0xec, 0x39, + 0xc1, 0xc3, 0x21, 0x6c, 0xcb, 0xee, 0x75, 0xc8, 0xfc, 0x39, 0x1e, 0xe2, 0x87, 0x04, 0x84, 0xe0, + 0xe1, 0x10, 0x47, 0x10, 0xeb, 0xc7, 0x05, 0x84, 0x1b, 0x92, 0xe7, 0x4b, 0x90, 0xb3, 0xcc, 0xce, + 0x81, 0x65, 0x4e, 0x52, 0x89, 0x4f, 0x70, 0x04, 0xe0, 0x2c, 0x04, 0xe0, 0x32, 0x64, 0x27, 0xed, + 0x88, 0x1f, 0xfd, 0x82, 0x18, 0x1e, 0xa2, 0x07, 0xae, 0x42, 0x49, 0x18, 0x28, 0xc3, 0x32, 0x27, + 0x80, 0xf8, 0x31, 0x0e, 0x51, 0x0c, 0xb1, 0xf1, 0x66, 0x78, 0xd8, 0xf5, 0x76, 0xf1, 0x24, 0x20, + 0x3f, 0x2e, 0x9a, 0xc1, 0x59, 0xb8, 0x28, 0xb7, 0xb1, 0xa9, 0xef, 0x4d, 0x86, 0xf0, 0x49, 0x21, + 0x4a, 0xc1, 0x43, 0x20, 0x6a, 0x50, 0xe8, 0x6a, 0x8e, 0xbb, 0xa7, 0x75, 0x26, 0xea, 0x8e, 0x9f, + 0xe0, 0x18, 0x79, 0x9f, 0x89, 0x4b, 0xa4, 0x67, 0x1e, 0x05, 0xe6, 0x27, 0x85, 0x44, 0x42, 0x6c, + 0x7c, 0xe8, 0xb9, 0x1e, 0x0d, 0x74, 0x1f, 0x05, 0xed, 0xef, 0x8a, 0xa1, 0xc7, 0x78, 0xd7, 0xc2, + 0x88, 0x97, 0x21, 0xeb, 0x1a, 0x6f, 0x4c, 0x04, 0xf3, 0xf7, 0x44, 0x4f, 0x53, 0x06, 0xc2, 0xfc, + 0x2a, 0x9c, 0x1c, 0x3a, 0x4d, 0x4c, 0x00, 0xf6, 0xf7, 0x39, 0xd8, 0xf1, 0x21, 0x53, 0x05, 0x37, + 0x09, 0x47, 0x85, 0xfc, 0x07, 0xc2, 0x24, 0xe0, 0x3e, 0xac, 0x4d, 0xb2, 0x68, 0x71, 0xb5, 0x9d, + 0xa3, 0x49, 0xed, 0x1f, 0x0a, 0xa9, 0x31, 0xde, 0x88, 0xd4, 0x5a, 0x70, 0x9c, 0x23, 0x1e, 0xad, + 0x5f, 0x7f, 0x4a, 0x18, 0x56, 0xc6, 0xbd, 0x15, 0xed, 0xdd, 0xaf, 0x85, 0xb2, 0x2f, 0x4e, 0xe1, + 0x1d, 0xbb, 0x6a, 0x57, 0xb3, 0x27, 0x40, 0xfe, 0x69, 0x8e, 0x2c, 0x2c, 0xbe, 0xef, 0x5e, 0xbb, + 0x6b, 0x9a, 0x4d, 0xc0, 0x5f, 0x81, 0x79, 0x01, 0xde, 0x33, 0x1d, 0xac, 0x5b, 0xbb, 0xa6, 0xf1, + 0x06, 0x6e, 0x4f, 0x00, 0xfd, 0x33, 0x7d, 0x5d, 0xb5, 0x15, 0x62, 0x27, 0xc8, 0x0d, 0x90, 0x7c, + 0x5f, 0x45, 0x35, 0xba, 0xb6, 0xe5, 0x78, 0x63, 0x10, 0x7f, 0x56, 0xf4, 0x94, 0xcf, 0xd7, 0xa0, + 0x6c, 0xcb, 0x75, 0x60, 0xa7, 0x3f, 0x26, 0x55, 0xc9, 0x4f, 0x71, 0xa0, 0x42, 0xc0, 0xc5, 0x0d, + 0x87, 0x6e, 0x75, 0x6d, 0xcd, 0x99, 0xc4, 0xfe, 0xfd, 0x23, 0x61, 0x38, 0x38, 0x0b, 0x37, 0x1c, + 0xc4, 0xa3, 0x23, 0xb3, 0xfd, 0x04, 0x08, 0x3f, 0x27, 0x0c, 0x87, 0xe0, 0xe1, 0x10, 0xc2, 0x61, + 0x98, 0x00, 0xe2, 0xe7, 0x05, 0x84, 0xe0, 0x21, 0x10, 0x2f, 0x07, 0x13, 0xad, 0x83, 0x77, 0x0d, + 0xd7, 0x73, 0x98, 0x4b, 0x7e, 0x38, 0xd4, 0x2f, 0x7c, 0x21, 0xea, 0x84, 0x29, 0x21, 0x56, 0x62, + 0x89, 0xf8, 0xd6, 0x07, 0x5d, 0xb2, 0x8d, 0xaf, 0xd8, 0x2f, 0x0a, 0x4b, 0x14, 0x62, 0x23, 0x75, + 0x0b, 0x79, 0x88, 0x44, 0xec, 0x3a, 0x59, 0xa8, 0x4c, 0x00, 0xf7, 0x4b, 0x7d, 0x95, 0x6b, 0x0a, + 0x5e, 0x82, 0x19, 0xf2, 0x7f, 0x7a, 0xe6, 0x2d, 0x7c, 0x30, 0x91, 0x76, 0xfe, 0x72, 0x9f, 0xff, + 0xb3, 0xc5, 0x38, 0x99, 0x0d, 0x29, 0xf5, 0xf9, 0x53, 0x68, 0xdc, 0x59, 0xbf, 0xf9, 0x6f, 0x7c, + 0x8b, 0xb7, 0x37, 0xea, 0x4e, 0x2d, 0xaf, 0x12, 0x25, 0x8f, 0x3a, 0x3d, 0xe3, 0xc1, 0x3e, 0xf8, + 0x96, 0xaf, 0xe7, 0x11, 0x9f, 0x67, 0xf9, 0x0a, 0x14, 0x22, 0x0e, 0xcf, 0x78, 0xa8, 0x6f, 0xe6, + 0x50, 0xf9, 0xb0, 0xbf, 0xb3, 0x7c, 0x11, 0x92, 0xc4, 0x79, 0x19, 0xcf, 0xfe, 0x2d, 0x9c, 0x9d, + 0x92, 0x2f, 0xbf, 0x08, 0x19, 0xe1, 0xb4, 0x8c, 0x67, 0xfd, 0x1b, 0x9c, 0xd5, 0x67, 0x21, 0xec, + 0xc2, 0x61, 0x19, 0xcf, 0xfe, 0x37, 0x05, 0xbb, 0x60, 0x21, 0xec, 0x93, 0x8b, 0xf0, 0x57, 0xbf, + 0x2d, 0xc9, 0x27, 0x1d, 0x21, 0xbb, 0xcb, 0x90, 0xe6, 0x9e, 0xca, 0x78, 0xee, 0x6f, 0xe5, 0x85, + 0x0b, 0x8e, 0xe5, 0xe7, 0x60, 0x7a, 0x42, 0x81, 0x7f, 0x07, 0x67, 0x65, 0xf4, 0xcb, 0x35, 0xc8, + 0x85, 0xbc, 0x93, 0xf1, 0xec, 0xdf, 0xc9, 0xd9, 0xc3, 0x5c, 0xa4, 0xea, 0xdc, 0x3b, 0x19, 0x0f, + 0xf0, 0xb7, 0x44, 0xd5, 0x39, 0x07, 0x11, 0x9b, 0x70, 0x4c, 0xc6, 0x73, 0x7f, 0x58, 0x48, 0x5d, + 0xb0, 0x2c, 0xbf, 0x04, 0x59, 0x7f, 0xb2, 0x19, 0xcf, 0xff, 0x5d, 0x9c, 0x3f, 0xe0, 0x21, 0x12, + 0x08, 0x4d, 0x76, 0xe3, 0x21, 0xfe, 0xb6, 0x90, 0x40, 0x88, 0x8b, 0x0c, 0xa3, 0x7e, 0x07, 0x66, + 0x3c, 0xd2, 0x77, 0x8b, 0x61, 0xd4, 0xe7, 0xbf, 0x90, 0xde, 0xa4, 0x36, 0x7f, 0x3c, 0xc4, 0xf7, + 0x88, 0xde, 0xa4, 0xf4, 0xa4, 0x1a, 0xfd, 0x1e, 0xc1, 0x78, 0x8c, 0xef, 0x13, 0xd5, 0xe8, 0x73, + 0x08, 0x96, 0x37, 0x01, 0x0d, 0x7a, 0x03, 0xe3, 0xf1, 0x3e, 0xc2, 0xf1, 0x66, 0x06, 0x9c, 0x81, + 0xe5, 0xf7, 0xc2, 0xf1, 0xe1, 0x9e, 0xc0, 0x78, 0xd4, 0xef, 0x7f, 0xab, 0x6f, 0xed, 0x16, 0x76, + 0x04, 0x96, 0x5b, 0xc1, 0x94, 0x12, 0xf6, 0x02, 0xc6, 0xc3, 0xfe, 0xc0, 0x5b, 0x51, 0xc3, 0x1d, + 0x76, 0x02, 0x96, 0x2b, 0x00, 0xc1, 0x04, 0x3c, 0x1e, 0xeb, 0x63, 0x1c, 0x2b, 0xc4, 0x44, 0x86, + 0x06, 0x9f, 0x7f, 0xc7, 0xf3, 0xdf, 0x13, 0x43, 0x83, 0x73, 0x90, 0xa1, 0x21, 0xa6, 0xde, 0xf1, + 0xdc, 0x3f, 0x28, 0x86, 0x86, 0x60, 0x21, 0x9a, 0x1d, 0x9a, 0xdd, 0xc6, 0x23, 0x7c, 0x42, 0x68, + 0x76, 0x88, 0x6b, 0x79, 0x1d, 0x66, 0x06, 0x26, 0xc4, 0xf1, 0x50, 0x3f, 0xcc, 0xa1, 0xa4, 0xfe, + 0xf9, 0x30, 0x3c, 0x79, 0xf1, 0xc9, 0x70, 0x3c, 0xda, 0x8f, 0xf4, 0x4d, 0x5e, 0x7c, 0x2e, 0x5c, + 0xbe, 0x0c, 0x19, 0xb3, 0xd7, 0xe9, 0x90, 0xc1, 0x83, 0x0e, 0x3f, 0x9f, 0x3b, 0xff, 0x9f, 0xbf, + 0xc4, 0xa5, 0x23, 0x18, 0x96, 0x2f, 0xc2, 0x34, 0xee, 0x6e, 0xe3, 0xf6, 0x38, 0xce, 0xcf, 0x7f, + 0x49, 0x18, 0x4c, 0x42, 0xbd, 0xfc, 0x12, 0x00, 0x0b, 0x8d, 0xd0, 0x8d, 0xf3, 0x31, 0xbc, 0x7f, + 0xfc, 0x25, 0x7e, 0x20, 0x2e, 0x60, 0x09, 0x00, 0xd8, 0xf1, 0xba, 0xc3, 0x01, 0xbe, 0x10, 0x05, + 0xa0, 0x3d, 0xf2, 0x02, 0xa4, 0x5f, 0x77, 0x2d, 0xd3, 0xd3, 0x76, 0xc7, 0x71, 0xff, 0x09, 0xe7, + 0x16, 0xf4, 0x44, 0x60, 0x5d, 0xcb, 0xc1, 0x9e, 0xb6, 0xeb, 0x8e, 0xe3, 0xfd, 0x2f, 0x9c, 0xd7, + 0x67, 0x20, 0xcc, 0xba, 0xe6, 0x7a, 0x93, 0xb4, 0xfb, 0xbf, 0x0a, 0x66, 0xc1, 0x40, 0x2a, 0x4d, + 0x7e, 0xdf, 0xc2, 0x07, 0xe3, 0x78, 0xff, 0x54, 0x54, 0x9a, 0xd3, 0x2f, 0xbf, 0x08, 0x59, 0xf2, + 0x93, 0x9d, 0x72, 0x1d, 0xc3, 0xfc, 0x67, 0x9c, 0x39, 0xe0, 0x20, 0x25, 0xbb, 0x5e, 0xdb, 0x33, + 0xc6, 0x0b, 0xfb, 0x8b, 0xbc, 0xa7, 0x05, 0xfd, 0x72, 0x05, 0x72, 0xae, 0xd7, 0x6e, 0xf7, 0xb8, + 0x7f, 0x3a, 0x86, 0xfd, 0xcf, 0xbf, 0xe4, 0x87, 0x2c, 0x7c, 0x1e, 0xd2, 0xdb, 0x77, 0x6e, 0x79, + 0xb6, 0x45, 0xf7, 0x5b, 0xc6, 0x21, 0xbc, 0xc5, 0x11, 0x42, 0x2c, 0xcb, 0x35, 0xc8, 0x93, 0xb6, + 0x38, 0xd8, 0xc6, 0x74, 0x73, 0x6c, 0x0c, 0xc4, 0x5f, 0x70, 0x01, 0x44, 0x98, 0xaa, 0xdf, 0xf0, + 0xeb, 0x9f, 0x39, 0x1d, 0xfb, 0xf4, 0x67, 0x4e, 0xc7, 0x7e, 0xff, 0x33, 0xa7, 0x63, 0x1f, 0xfe, + 0xec, 0xe9, 0xa9, 0x4f, 0x7f, 0xf6, 0xf4, 0xd4, 0xef, 0x7c, 0xf6, 0xf4, 0xd4, 0xf0, 0x28, 0x31, + 0x5c, 0xb5, 0xae, 0x5a, 0x2c, 0x3e, 0xfc, 0xda, 0xc3, 0xbb, 0x86, 0xb7, 0xd7, 0xdb, 0x5e, 0xd2, + 0xad, 0xee, 0x79, 0xdd, 0x72, 0xbb, 0x96, 0x7b, 0x3e, 0x1a, 0xd7, 0xa5, 0xbf, 0xe0, 0x7f, 0xc5, + 0xc8, 0x9a, 0x39, 0x1a, 0xce, 0xd5, 0xcc, 0x83, 0x51, 0x97, 0xe9, 0x2e, 0x41, 0xa2, 0x62, 0x1e, + 0xa0, 0x93, 0xcc, 0xc0, 0xa9, 0x3d, 0xa7, 0xc3, 0x8f, 0x5a, 0xa6, 0xc9, 0xf7, 0x96, 0xd3, 0x41, + 0x73, 0xc1, 0x79, 0xe8, 0xd8, 0xd9, 0x3c, 0x3f, 0xe4, 0x5c, 0xfd, 0xce, 0xd8, 0xd1, 0x5a, 0x92, + 0xa9, 0x98, 0x07, 0xb4, 0x21, 0x9b, 0xb1, 0xd7, 0x9e, 0x18, 0x1b, 0xe7, 0xbe, 0x65, 0x5a, 0x77, + 0x4c, 0x52, 0x6d, 0x7b, 0x5b, 0xc4, 0xb8, 0x4f, 0xf7, 0xc7, 0xb8, 0xdf, 0x8b, 0x3b, 0x9d, 0x1b, + 0x84, 0xae, 0x45, 0x58, 0xb6, 0x53, 0xec, 0x54, 0x3f, 0x7c, 0x77, 0x1c, 0x4e, 0x0f, 0x84, 0xb3, + 0xb9, 0x12, 0x8c, 0x12, 0xc2, 0x32, 0x64, 0x56, 0x84, 0x6e, 0xcd, 0x43, 0xda, 0xc5, 0xba, 0x65, + 0xb6, 0x5d, 0x2a, 0x88, 0x84, 0x22, 0x3e, 0x89, 0x20, 0x4c, 0xcd, 0xb4, 0x5c, 0x7e, 0x58, 0x99, + 0x7d, 0x54, 0x3f, 0x7a, 0x44, 0x41, 0x14, 0x44, 0x49, 0x42, 0x1a, 0x4f, 0x4f, 0x28, 0x0d, 0xd1, + 0x88, 0x48, 0xe4, 0x7f, 0x52, 0xa9, 0x7c, 0x5f, 0x1c, 0x16, 0xfa, 0xa5, 0x42, 0x46, 0x96, 0xeb, + 0x69, 0x5d, 0x7b, 0x94, 0x58, 0x2e, 0x43, 0xb6, 0x25, 0x68, 0x8e, 0x2c, 0x97, 0x7b, 0x47, 0x94, + 0x4b, 0xd1, 0x2f, 0x4a, 0x08, 0xe6, 0xc2, 0x84, 0x82, 0xf1, 0xdb, 0x71, 0x5f, 0x92, 0xf9, 0x9f, + 0x29, 0x38, 0xc9, 0x86, 0x93, 0xca, 0x86, 0x12, 0xfb, 0xe0, 0x32, 0xc9, 0x87, 0xb3, 0xc6, 0xef, + 0x93, 0xc8, 0x37, 0x60, 0xb6, 0x41, 0xac, 0x05, 0x59, 0x05, 0x05, 0x3b, 0x3c, 0x43, 0xcf, 0x73, + 0x2f, 0x46, 0x1c, 0x7e, 0xbe, 0xbf, 0x15, 0x4e, 0x92, 0xbf, 0x31, 0x06, 0x52, 0x53, 0xd7, 0x3a, + 0x9a, 0xf3, 0xe5, 0x42, 0xa1, 0xe7, 0x00, 0xd8, 0x71, 0x0f, 0xff, 0xe2, 0x5e, 0xf1, 0xc2, 0xfc, + 0x52, 0xb8, 0x71, 0x4b, 0xac, 0x24, 0x7a, 0x82, 0x2a, 0x4b, 0x69, 0xc9, 0xcf, 0x73, 0xaf, 0x00, + 0x04, 0x19, 0xe8, 0x14, 0x9c, 0x68, 0xd6, 0x2a, 0xab, 0x15, 0x45, 0x1c, 0x12, 0x6a, 0x6e, 0xd6, + 0x6b, 0x8d, 0x2b, 0x8d, 0xfa, 0x8a, 0x34, 0x85, 0x8e, 0x03, 0x0a, 0x67, 0xfa, 0x87, 0x9a, 0x8e, + 0xc1, 0x4c, 0x38, 0x9d, 0xdd, 0x52, 0x89, 0x13, 0x4f, 0xd1, 0xe8, 0xda, 0x1d, 0x4c, 0x77, 0x1e, + 0x55, 0x43, 0x48, 0x6d, 0xbc, 0x13, 0xf2, 0x1b, 0xff, 0x8e, 0xdd, 0x5c, 0x98, 0x0d, 0xd8, 0x7d, + 0x99, 0x2f, 0xaf, 0xc2, 0x8c, 0xa6, 0xeb, 0xd8, 0x8e, 0x40, 0x8e, 0x31, 0xd5, 0x04, 0x90, 0xee, + 0xa5, 0x72, 0xce, 0x00, 0xed, 0x39, 0x48, 0xb9, 0xb4, 0xf5, 0xe3, 0x20, 0x7e, 0x93, 0x43, 0x70, + 0xf2, 0x65, 0x13, 0x66, 0x88, 0xe7, 0xa7, 0x39, 0x38, 0x54, 0x8d, 0xc3, 0xe3, 0x0c, 0xff, 0xf8, + 0x67, 0x9f, 0xa2, 0x3b, 0xab, 0x67, 0xa2, 0xdd, 0x32, 0x44, 0x9d, 0x14, 0x89, 0x63, 0x07, 0x15, + 0xc5, 0x50, 0x14, 0xe5, 0xf1, 0x0a, 0x1f, 0x5e, 0xd8, 0xaf, 0xf0, 0xc2, 0x4e, 0x0f, 0xd3, 0x81, + 0x50, 0x49, 0x05, 0x8e, 0xca, 0x32, 0xaa, 0xf5, 0x51, 0x63, 0xfa, 0xb5, 0xc7, 0x07, 0x67, 0x27, + 0xf6, 0xdf, 0x93, 0x14, 0xf9, 0x72, 0xb8, 0x18, 0x7f, 0xec, 0x7d, 0x34, 0x09, 0x33, 0x5a, 0xd7, + 0x30, 0xad, 0xf3, 0xf4, 0x5f, 0x3e, 0xe6, 0xa6, 0xe9, 0xc7, 0x04, 0x9b, 0x92, 0x97, 0xd8, 0x50, + 0x18, 0xaf, 0x31, 0x7f, 0xf6, 0xed, 0x3f, 0x36, 0x1d, 0x0c, 0x97, 0xe5, 0x35, 0x90, 0xc4, 0x21, + 0x5e, 0x6c, 0xea, 0x56, 0x7b, 0xa2, 0x28, 0xc5, 0x17, 0x05, 0x86, 0x88, 0x6f, 0xd5, 0x39, 0xeb, + 0xf2, 0xbb, 0x21, 0xe3, 0xc3, 0x8c, 0xf3, 0x4c, 0x04, 0x88, 0xcf, 0x41, 0xfc, 0x12, 0x36, 0x32, + 0x27, 0xf1, 0x42, 0xdf, 0x12, 0xfc, 0x6c, 0x84, 0xae, 0x93, 0xd6, 0x5c, 0x85, 0x62, 0xdb, 0x32, + 0x3d, 0xd5, 0xea, 0x1a, 0x1e, 0xee, 0xda, 0xde, 0x58, 0xbf, 0xee, 0x2f, 0x18, 0x48, 0x46, 0x29, + 0x10, 0xbe, 0x0d, 0xc1, 0x46, 0x6a, 0xc2, 0xee, 0xe9, 0x4d, 0x52, 0x93, 0xff, 0xe6, 0xd7, 0x84, + 0xf2, 0x90, 0x9a, 0xdc, 0x97, 0x76, 0xb8, 0xed, 0x5b, 0xdc, 0x98, 0x7b, 0xfb, 0x4c, 0x0b, 0x7c, + 0xed, 0xf8, 0x67, 0x49, 0x38, 0xcd, 0x89, 0xb7, 0x35, 0x17, 0x9f, 0xbf, 0xfd, 0xf4, 0x36, 0xf6, + 0xb4, 0xa7, 0xcf, 0xeb, 0x96, 0x21, 0x66, 0xf2, 0x59, 0x6e, 0xac, 0x49, 0xfe, 0x12, 0xcf, 0x2f, + 0x0f, 0xdd, 0xee, 0x2e, 0x8f, 0x36, 0xf2, 0xe5, 0x41, 0x1d, 0x94, 0x3b, 0x90, 0xac, 0x59, 0x86, + 0x49, 0xe6, 0xb6, 0x36, 0x36, 0xad, 0x2e, 0x37, 0xb7, 0xec, 0x03, 0x5d, 0x83, 0x94, 0xd6, 0xb5, + 0x7a, 0xa6, 0xc7, 0x4c, 0x6d, 0xf5, 0xa9, 0x5f, 0x7f, 0x73, 0x61, 0xea, 0x3f, 0xbe, 0xb9, 0x70, + 0x8c, 0xc1, 0xba, 0xed, 0x5b, 0x4b, 0x86, 0x75, 0xbe, 0xab, 0x79, 0x7b, 0x64, 0xf8, 0xfe, 0xf6, + 0xa7, 0x9e, 0x04, 0x5e, 0x5e, 0xc3, 0xf4, 0x3e, 0xf9, 0x47, 0x3f, 0x75, 0x2e, 0xa6, 0x70, 0xfe, + 0xe5, 0xe4, 0xe7, 0x3e, 0xbe, 0x10, 0x93, 0x6d, 0x48, 0xaf, 0x60, 0xfd, 0x90, 0x02, 0x1b, 0x7d, + 0x05, 0x3e, 0xcd, 0x0b, 0x3c, 0x35, 0x58, 0x20, 0x3b, 0xb0, 0xb7, 0x82, 0xf5, 0x50, 0xb1, 0x2b, + 0x58, 0xef, 0x2b, 0xb1, 0x01, 0x99, 0x86, 0xe9, 0xb1, 0xcb, 0x46, 0x2f, 0x42, 0xc2, 0x30, 0xd9, + 0xf9, 0xf5, 0x6c, 0xf5, 0xf1, 0x23, 0x34, 0x45, 0x21, 0x7c, 0xf2, 0x06, 0x64, 0x56, 0xb0, 0xce, + 0xa0, 0x6a, 0x90, 0x68, 0x63, 0x9d, 0x43, 0xdd, 0x47, 0x25, 0x09, 0x77, 0x75, 0xe5, 0x77, 0xfe, + 0xe0, 0xf4, 0xd4, 0x07, 0x3e, 0x73, 0x7a, 0x6a, 0xa4, 0x3a, 0xc9, 0xe3, 0xd5, 0xc9, 0xd7, 0xa2, + 0x1f, 0x4b, 0xc2, 0x83, 0xf4, 0xb6, 0xaa, 0xd3, 0x35, 0x4c, 0xef, 0xbc, 0xee, 0x1c, 0xd8, 0x9e, + 0x45, 0x8c, 0x8a, 0xb5, 0xc3, 0x95, 0x68, 0x26, 0xc8, 0x5e, 0x62, 0xd9, 0xc3, 0x55, 0x48, 0xde, + 0x81, 0xe9, 0x4d, 0xc2, 0x47, 0x3a, 0xc9, 0xb3, 0x3c, 0xad, 0xc3, 0x3d, 0x21, 0xf6, 0x41, 0x52, + 0xd9, 0x0d, 0xd7, 0x38, 0x4b, 0x35, 0xc4, 0xe5, 0xd6, 0x0e, 0xd6, 0x76, 0xd8, 0x45, 0xa1, 0x04, + 0x75, 0xa1, 0x33, 0x24, 0x81, 0xde, 0x09, 0x9a, 0x83, 0x69, 0xad, 0xc7, 0x0e, 0xf3, 0x24, 0x88, + 0x6f, 0x4d, 0x3f, 0xe4, 0x1b, 0x90, 0xe6, 0x7b, 0xfa, 0x48, 0x82, 0xc4, 0x2d, 0x7c, 0x40, 0xcb, + 0xc9, 0x2b, 0xe4, 0x27, 0x5a, 0x82, 0x69, 0x5a, 0x79, 0x7e, 0x03, 0x72, 0x7e, 0x69, 0xa0, 0xf6, + 0x4b, 0xb4, 0x92, 0x0a, 0x23, 0x93, 0xaf, 0x43, 0x66, 0xc5, 0x22, 0x9a, 0x1d, 0x45, 0xcb, 0x32, + 0x34, 0x5a, 0x67, 0xbb, 0xc7, 0xf5, 0x4a, 0x61, 0x1f, 0xe8, 0x38, 0xa4, 0xd8, 0xc5, 0x31, 0x7e, + 0x20, 0x89, 0x7f, 0xc9, 0x35, 0x48, 0x53, 0xec, 0x0d, 0x9b, 0xb8, 0x21, 0xfe, 0x59, 0xfa, 0x2c, + 0xbf, 0x46, 0xcc, 0xe1, 0xe3, 0x41, 0x65, 0x11, 0x24, 0xdb, 0x9a, 0xa7, 0xf1, 0x76, 0xd3, 0xdf, + 0xf2, 0x7b, 0x20, 0xc3, 0x41, 0x5c, 0x74, 0x01, 0x12, 0x96, 0xed, 0xf2, 0x23, 0x45, 0xe5, 0x51, + 0x4d, 0xd9, 0xb0, 0xab, 0x49, 0xa2, 0x4b, 0x0a, 0x21, 0xae, 0xae, 0x8f, 0x54, 0x8b, 0x67, 0x23, + 0x6a, 0xd1, 0xc5, 0xde, 0xf6, 0x8e, 0x17, 0xfc, 0x60, 0xdd, 0x39, 0xa0, 0x0a, 0xbe, 0xa2, 0xdc, + 0x8b, 0xc3, 0xe9, 0x50, 0xee, 0x6d, 0xec, 0xb8, 0x86, 0x65, 0x32, 0x6d, 0xe2, 0x9a, 0x82, 0x42, + 0x15, 0xe4, 0xf9, 0x23, 0x54, 0xe5, 0x45, 0x48, 0x54, 0x6c, 0x1b, 0x95, 0x21, 0x43, 0xbf, 0x75, + 0x8b, 0xe9, 0x4a, 0x52, 0xf1, 0xbf, 0x49, 0x9e, 0x6b, 0xed, 0x78, 0x77, 0x34, 0xc7, 0xbf, 0x57, + 0x2d, 0xbe, 0xe5, 0x17, 0x20, 0x5b, 0xb3, 0x4c, 0x17, 0x9b, 0x6e, 0x8f, 0xfa, 0xd7, 0xdb, 0x1d, + 0x4b, 0xbf, 0xc5, 0x11, 0xd8, 0x07, 0x11, 0xb6, 0x66, 0xdb, 0x94, 0x33, 0xa9, 0x90, 0x9f, 0x6c, + 0x64, 0x57, 0x37, 0x46, 0x8a, 0xe7, 0xe2, 0xd1, 0xc4, 0xc3, 0x1b, 0x18, 0x38, 0xca, 0x31, 0x78, + 0x60, 0x70, 0x20, 0xdd, 0xc2, 0x07, 0xee, 0x51, 0xc7, 0xd1, 0x2b, 0x90, 0xdd, 0xa4, 0x4f, 0x9e, + 0xdc, 0xc0, 0x07, 0xa8, 0x0c, 0x69, 0xdc, 0xbe, 0x70, 0xf1, 0xe2, 0xd3, 0x2f, 0x30, 0x2d, 0xbf, + 0x36, 0xa5, 0x88, 0x04, 0x74, 0x1a, 0xb2, 0x2e, 0xd6, 0xed, 0x0b, 0x17, 0x2f, 0xdd, 0x7a, 0x9a, + 0xa9, 0xd5, 0xb5, 0x29, 0x25, 0x48, 0x5a, 0xce, 0x90, 0x16, 0x7f, 0xee, 0x13, 0x0b, 0xb1, 0xea, + 0x34, 0x24, 0xdc, 0x5e, 0xf7, 0x1d, 0xd3, 0x8d, 0x3f, 0x4d, 0xc1, 0x62, 0x28, 0x97, 0x4d, 0x58, + 0xb7, 0xb5, 0x8e, 0xd1, 0xd6, 0x82, 0x87, 0x6a, 0xa4, 0x50, 0xfb, 0x29, 0xc5, 0x88, 0x99, 0xe8, + 0x50, 0x29, 0xca, 0x3f, 0x13, 0x83, 0xfc, 0x4d, 0x81, 0xdc, 0xc4, 0x1e, 0xba, 0x0c, 0xe0, 0x97, + 0x24, 0x86, 0xca, 0xa9, 0xa5, 0xfe, 0xb2, 0x96, 0x7c, 0x1e, 0x25, 0x44, 0x8e, 0x9e, 0xa3, 0x0a, + 0x68, 0x5b, 0x2e, 0xbf, 0x63, 0x3b, 0x86, 0xd5, 0x27, 0x46, 0x4f, 0x00, 0xa2, 0x56, 0x4d, 0xbd, + 0x6d, 0x79, 0x86, 0xb9, 0xab, 0xda, 0xd6, 0x1d, 0xfe, 0x72, 0x41, 0x42, 0x91, 0x68, 0xce, 0x4d, + 0x9a, 0xb1, 0x49, 0xd2, 0x49, 0xa5, 0xb3, 0x3e, 0x0a, 0x59, 0x2a, 0x6a, 0xed, 0xb6, 0x83, 0x5d, + 0x97, 0x1b, 0x2e, 0xf1, 0x89, 0x2e, 0x43, 0xda, 0xee, 0x6d, 0xab, 0xc2, 0x4a, 0xe4, 0x2e, 0x3c, + 0x30, 0x6c, 0xcc, 0x0b, 0xdd, 0xe0, 0xa3, 0x3e, 0x65, 0xf7, 0xb6, 0x89, 0xa6, 0x9c, 0x81, 0xfc, + 0x90, 0xca, 0xe4, 0x6e, 0x07, 0xf5, 0xa0, 0xaf, 0xec, 0xf0, 0x16, 0xa8, 0xb6, 0x63, 0x58, 0x8e, + 0xe1, 0x1d, 0xd0, 0xa3, 0x80, 0x09, 0x45, 0x12, 0x19, 0x9b, 0x3c, 0x5d, 0xbe, 0x05, 0xa5, 0x26, + 0x5d, 0x42, 0x04, 0x35, 0xbf, 0x18, 0xd4, 0x2f, 0x36, 0xbe, 0x7e, 0x23, 0x6b, 0x16, 0x1f, 0xa8, + 0xd9, 0xb9, 0x7f, 0x1f, 0x83, 0x5c, 0x95, 0x0c, 0xdc, 0xc6, 0xca, 0x95, 0x8e, 0xb6, 0x8b, 0x9e, + 0x86, 0x63, 0xd5, 0xd5, 0x8d, 0xda, 0x0d, 0xb5, 0xb1, 0xa2, 0x5e, 0x59, 0xad, 0x5c, 0x0d, 0xce, + 0x1e, 0x97, 0x8f, 0xdf, 0xbd, 0xb7, 0x88, 0x42, 0xb4, 0x5b, 0x26, 0x5d, 0xe7, 0xa2, 0xf3, 0x30, + 0x17, 0x65, 0xa9, 0x54, 0x9b, 0xf5, 0xf5, 0x96, 0x14, 0x2b, 0x1f, 0xbb, 0x7b, 0x6f, 0x71, 0x26, + 0xc4, 0x51, 0xd9, 0x76, 0xb1, 0xe9, 0x0d, 0x32, 0xd4, 0x36, 0xd6, 0xd6, 0x1a, 0x2d, 0x29, 0x3e, + 0xc0, 0x50, 0xb3, 0xba, 0x5d, 0xc3, 0x43, 0x8f, 0xc1, 0x4c, 0x94, 0x61, 0xbd, 0xb1, 0x2a, 0x25, + 0xca, 0xe8, 0xee, 0xbd, 0xc5, 0x62, 0x88, 0x7a, 0xdd, 0xe8, 0x94, 0x33, 0x1f, 0xfa, 0x91, 0xd3, + 0x53, 0x9f, 0xfc, 0x3b, 0xa7, 0x63, 0xd5, 0xb5, 0x91, 0x63, 0xee, 0x99, 0xa3, 0x8d, 0xb9, 0xe8, + 0xbc, 0xfd, 0xa5, 0x07, 0x22, 0xe6, 0x86, 0xfb, 0x88, 0x21, 0x63, 0x3c, 0xe9, 0x70, 0x1b, 0x17, + 0xf7, 0x28, 0x1f, 0xee, 0x1e, 0x94, 0xc7, 0x4c, 0x0a, 0xe5, 0xb1, 0x86, 0x41, 0x7e, 0x01, 0x0a, + 0x9b, 0x9a, 0xe3, 0x35, 0xb1, 0x77, 0x0d, 0x6b, 0x6d, 0xec, 0x44, 0xfd, 0x87, 0x82, 0xf0, 0x1f, + 0x10, 0x24, 0xa9, 0x93, 0xc0, 0xe6, 0x4f, 0xfa, 0x5b, 0xde, 0x83, 0x24, 0x3d, 0xe5, 0xec, 0xfb, + 0x16, 0x9c, 0x83, 0xf9, 0x16, 0x64, 0x66, 0x38, 0xf0, 0xb0, 0x2b, 0x42, 0x73, 0xf4, 0x03, 0x3d, + 0x2b, 0x3c, 0x84, 0xc4, 0xe1, 0x1e, 0x02, 0x1f, 0x5e, 0xdc, 0x4f, 0xe8, 0x40, 0x9a, 0x77, 0xb1, + 0x5f, 0x91, 0x58, 0x50, 0x11, 0xb4, 0x06, 0x25, 0x5b, 0x73, 0x3c, 0x7a, 0xeb, 0x71, 0x8f, 0xb6, + 0x82, 0x8f, 0xe0, 0x85, 0x41, 0x7b, 0x12, 0x69, 0x2c, 0x2f, 0xa5, 0x60, 0x87, 0x13, 0xe5, 0xff, + 0x94, 0x84, 0x14, 0x17, 0xc6, 0x8b, 0x90, 0xe6, 0x62, 0xe5, 0x63, 0xee, 0xc1, 0xa5, 0xc1, 0x69, + 0x76, 0xc9, 0x9f, 0x0e, 0x39, 0x9e, 0xe0, 0x41, 0x8f, 0x40, 0x46, 0xdf, 0xd3, 0x0c, 0x53, 0x35, + 0xda, 0xdc, 0x39, 0xce, 0x7d, 0xe6, 0xcd, 0x85, 0x74, 0x8d, 0xa4, 0x35, 0x56, 0x94, 0x34, 0xcd, + 0x6c, 0xb4, 0x89, 0x4f, 0xb3, 0x87, 0x8d, 0xdd, 0x3d, 0x8f, 0xdb, 0x0d, 0xfe, 0x85, 0x9e, 0x87, + 0x24, 0x51, 0x08, 0x7e, 0x27, 0xbe, 0x3c, 0xb0, 0xea, 0xf1, 0xc3, 0x52, 0xd5, 0x0c, 0x29, 0xf8, + 0xc3, 0xbf, 0xb7, 0x10, 0x53, 0x28, 0x07, 0xaa, 0x41, 0xa1, 0xa3, 0xb9, 0x9e, 0x4a, 0xe7, 0x63, + 0x52, 0xfc, 0x34, 0x85, 0x38, 0x39, 0x28, 0x10, 0x2e, 0x58, 0x5e, 0xf5, 0x1c, 0xe1, 0x62, 0x49, + 0x6d, 0x74, 0x16, 0x24, 0x0a, 0xa2, 0xd3, 0x11, 0xc8, 0xbc, 0xc4, 0x14, 0x95, 0x7b, 0x91, 0xa4, + 0xb3, 0x81, 0x49, 0x7d, 0xc5, 0x53, 0x90, 0xa5, 0xb7, 0x70, 0x29, 0x09, 0x3b, 0x5a, 0x9f, 0x21, + 0x09, 0x34, 0xf3, 0x51, 0x28, 0x05, 0x56, 0x9f, 0x91, 0x64, 0x18, 0x4a, 0x90, 0x4c, 0x09, 0x9f, + 0x82, 0x39, 0x13, 0xef, 0xd3, 0xc3, 0xfe, 0x11, 0xea, 0x2c, 0xa5, 0x46, 0x24, 0xef, 0x66, 0x94, + 0xe3, 0x61, 0x28, 0xea, 0x42, 0xf8, 0x8c, 0x16, 0x28, 0x6d, 0xc1, 0x4f, 0xa5, 0x64, 0x27, 0x21, + 0xa3, 0xd9, 0x36, 0x23, 0xc8, 0x71, 0xab, 0x6f, 0xdb, 0x34, 0xeb, 0x1c, 0xcc, 0xd0, 0x36, 0x3a, + 0xd8, 0xed, 0x75, 0x3c, 0x0e, 0x92, 0xa7, 0x34, 0x25, 0x92, 0xa1, 0xb0, 0x74, 0x4a, 0xfb, 0x10, + 0x14, 0xf0, 0x6d, 0xa3, 0x8d, 0x4d, 0x1d, 0x33, 0xba, 0x02, 0xa5, 0xcb, 0x8b, 0x44, 0x4a, 0xf4, + 0x18, 0xf8, 0xd6, 0x5c, 0x15, 0x33, 0x4d, 0x91, 0xe1, 0x89, 0xf4, 0x0a, 0x4b, 0x96, 0xe7, 0x21, + 0xb9, 0xa2, 0x79, 0x1a, 0x71, 0x97, 0xbc, 0x7d, 0x36, 0x7d, 0xe6, 0x15, 0xf2, 0x53, 0xfe, 0xf9, + 0x04, 0x24, 0x6f, 0x5a, 0x1e, 0x46, 0xcf, 0x84, 0x5c, 0xd9, 0xe2, 0x30, 0x7d, 0x6e, 0x1a, 0xbb, + 0x26, 0x6e, 0xaf, 0xb9, 0xbb, 0xa1, 0x27, 0x73, 0x02, 0x75, 0x8a, 0x47, 0xd4, 0x69, 0x0e, 0xa6, + 0x1d, 0xab, 0x67, 0xb6, 0xc5, 0xa1, 0x74, 0xfa, 0x81, 0xea, 0x90, 0xf1, 0xb5, 0x24, 0x39, 0x4e, + 0x4b, 0x4a, 0x44, 0x4b, 0x88, 0x0e, 0xf3, 0x04, 0x25, 0xbd, 0xcd, 0x95, 0xa5, 0x0a, 0x59, 0xdf, + 0x78, 0x71, 0x6d, 0x9b, 0x4c, 0x61, 0x03, 0x36, 0x32, 0x45, 0xfa, 0x7d, 0xef, 0x0b, 0x8f, 0x69, + 0x9c, 0xe4, 0x67, 0x70, 0xe9, 0x45, 0xd4, 0x8a, 0x3f, 0xdf, 0x93, 0xa6, 0xed, 0x0a, 0xd4, 0x8a, + 0x3d, 0xe1, 0xf3, 0x00, 0x64, 0x5d, 0x63, 0xd7, 0xd4, 0xbc, 0x9e, 0x83, 0xb9, 0xe6, 0x05, 0x09, + 0x24, 0x37, 0xb8, 0xa0, 0xc1, 0x34, 0x2d, 0xf4, 0xaa, 0xd8, 0x79, 0x98, 0x0d, 0xde, 0xf3, 0x0a, + 0x50, 0x98, 0x96, 0x21, 0x3f, 0xab, 0x29, 0x72, 0xe4, 0x5f, 0x8d, 0x41, 0x8a, 0xcf, 0x58, 0x41, + 0x37, 0xc4, 0x86, 0x77, 0x43, 0x7c, 0x54, 0x37, 0x24, 0xee, 0xbf, 0x1b, 0x2a, 0x00, 0x7e, 0x35, + 0x5d, 0xfe, 0x48, 0xcb, 0x10, 0xb7, 0x8a, 0x55, 0xb1, 0x69, 0xec, 0xf2, 0x71, 0x1f, 0x62, 0x92, + 0x7f, 0x37, 0x46, 0x3c, 0x7c, 0x9e, 0x8f, 0x2a, 0x50, 0x10, 0xf5, 0x52, 0x77, 0x3a, 0xda, 0x2e, + 0x57, 0xc5, 0x07, 0x47, 0x56, 0x8e, 0xcc, 0xc2, 0x4a, 0x8e, 0xd7, 0x87, 0xfa, 0x13, 0x43, 0xbb, + 0x35, 0x3e, 0xa2, 0x5b, 0x23, 0x7a, 0x94, 0xb8, 0x3f, 0x3d, 0x8a, 0xf4, 0x78, 0xb2, 0xaf, 0xc7, + 0xe5, 0x3f, 0x88, 0xf1, 0xd7, 0xc4, 0xda, 0xec, 0x76, 0xc9, 0x5f, 0x56, 0x57, 0xbd, 0xc6, 0x75, + 0xab, 0x8d, 0xdb, 0xea, 0x40, 0x9f, 0x3d, 0x34, 0x88, 0x18, 0xad, 0x73, 0xd0, 0x77, 0x48, 0xa0, + 0x34, 0x83, 0x3e, 0xfc, 0x54, 0x1c, 0x66, 0x06, 0xe8, 0xff, 0xea, 0xf5, 0x65, 0x74, 0xf4, 0x4e, + 0x4f, 0x38, 0x7a, 0x53, 0x23, 0x47, 0xef, 0xcf, 0xc6, 0x69, 0x00, 0xc0, 0xb6, 0x5c, 0xad, 0xf3, + 0x95, 0xb0, 0xbd, 0xa7, 0x20, 0x6b, 0x5b, 0x1d, 0x95, 0xe5, 0xb0, 0x6b, 0x41, 0x19, 0xdb, 0xea, + 0x28, 0x03, 0x6a, 0x36, 0xfd, 0x36, 0x19, 0xe6, 0xd4, 0xdb, 0xd0, 0x09, 0xe9, 0xfe, 0x01, 0xe5, + 0x40, 0x9e, 0x89, 0x82, 0x7b, 0x4d, 0x4f, 0x11, 0x19, 0x50, 0x37, 0x2c, 0x36, 0xe8, 0xe5, 0xb1, + 0x6a, 0x33, 0x4a, 0x85, 0xd3, 0x11, 0x0e, 0xe6, 0x64, 0x0c, 0x8b, 0x1c, 0x85, 0x2d, 0x96, 0xc2, + 0xe9, 0xe4, 0xef, 0x8d, 0x01, 0xac, 0x12, 0xc9, 0xd2, 0xf6, 0x12, 0x7f, 0xc7, 0xa5, 0x55, 0x50, + 0x23, 0x25, 0x9f, 0x1e, 0xd5, 0x69, 0xbc, 0xfc, 0xbc, 0x1b, 0xae, 0x77, 0x0d, 0x0a, 0x81, 0x6e, + 0xbb, 0x58, 0x54, 0xe6, 0xf4, 0x21, 0xab, 0xd2, 0x26, 0xf6, 0x94, 0xfc, 0xed, 0xd0, 0x97, 0xfc, + 0x4f, 0x63, 0x90, 0xa5, 0x75, 0x5a, 0xc3, 0x9e, 0x16, 0xe9, 0xc3, 0xd8, 0xfd, 0xf7, 0xe1, 0x83, + 0x00, 0x0c, 0xc6, 0x35, 0xde, 0xc0, 0x5c, 0xb3, 0xb2, 0x34, 0xa5, 0x69, 0xbc, 0x81, 0xd1, 0x25, + 0x5f, 0xe0, 0x89, 0xc3, 0x05, 0x2e, 0x56, 0xad, 0x5c, 0xec, 0x27, 0x20, 0x4d, 0xdf, 0xbb, 0xdc, + 0x77, 0xf9, 0x42, 0x34, 0x65, 0xf6, 0xba, 0xad, 0x7d, 0x57, 0x7e, 0x1d, 0xd2, 0xad, 0x7d, 0x16, + 0x4f, 0x3c, 0x05, 0x59, 0xc7, 0xb2, 0xb8, 0xf7, 0xc7, 0xbc, 0xee, 0x0c, 0x49, 0xa0, 0xce, 0x8e, + 0x88, 0xa1, 0xc5, 0x83, 0x18, 0x5a, 0x10, 0x04, 0x4c, 0x4c, 0x14, 0x04, 0x24, 0xab, 0xcf, 0x42, + 0x64, 0x24, 0xa1, 0x27, 0xe0, 0x44, 0xb3, 0x71, 0x75, 0xbd, 0xbe, 0xa2, 0xae, 0x35, 0xaf, 0xf6, + 0x5d, 0xf9, 0x2f, 0x97, 0xee, 0xde, 0x5b, 0xcc, 0xf1, 0x65, 0xe7, 0x28, 0xea, 0x4d, 0xa5, 0x7e, + 0x73, 0xa3, 0x55, 0x97, 0x62, 0x8c, 0x7a, 0xd3, 0xc1, 0xb7, 0x2d, 0x8f, 0x3d, 0x28, 0xfb, 0x14, + 0x9c, 0x1c, 0x42, 0xed, 0x2f, 0x3e, 0x67, 0xee, 0xde, 0x5b, 0x2c, 0x6c, 0x3a, 0x98, 0x69, 0x19, + 0xe5, 0x58, 0x82, 0xf9, 0x41, 0x8e, 0x8d, 0xcd, 0x8d, 0x66, 0x65, 0x55, 0x5a, 0x2c, 0x4b, 0x77, + 0xef, 0x2d, 0xe6, 0x85, 0xc9, 0x20, 0xf4, 0xef, 0xfc, 0xea, 0xf3, 0x5b, 0x33, 0x91, 0xa8, 0x31, + 0x5b, 0xd7, 0xd9, 0x9a, 0xa3, 0x75, 0x8f, 0xba, 0xfc, 0x1c, 0x73, 0x18, 0x41, 0xfe, 0x99, 0x38, + 0x94, 0xfc, 0xc5, 0xcd, 0x26, 0x2d, 0x01, 0x3d, 0x13, 0x8e, 0xf8, 0xe5, 0x46, 0xce, 0x1d, 0x8c, + 0x5a, 0x04, 0x04, 0xdf, 0x0d, 0x19, 0xe1, 0x24, 0xf3, 0x41, 0xb5, 0x38, 0x64, 0x7e, 0xe3, 0x14, + 0x9c, 0xd5, 0xe7, 0x40, 0x2f, 0x41, 0xd6, 0x1f, 0x62, 0xfe, 0xa3, 0x6b, 0xa3, 0xc7, 0x24, 0xe7, + 0x0f, 0x78, 0xd0, 0x0b, 0xc1, 0x32, 0x2e, 0x39, 0x6a, 0x61, 0x78, 0x93, 0x11, 0x70, 0x66, 0x7f, + 0x09, 0xf7, 0x14, 0x24, 0xb5, 0x6d, 0xdd, 0xe0, 0x06, 0xf8, 0x81, 0x41, 0xbe, 0x4a, 0xb5, 0xd6, + 0xe0, 0x4c, 0x94, 0x52, 0x6e, 0xf0, 0x60, 0x0a, 0x97, 0x17, 0x7d, 0xe2, 0x66, 0x5f, 0x65, 0x6b, + 0x61, 0xe6, 0x5d, 0x64, 0xba, 0xda, 0x7e, 0x95, 0x2e, 0x87, 0x4f, 0x40, 0x9a, 0x64, 0xee, 0xf2, + 0x47, 0x14, 0x12, 0x4a, 0xaa, 0xab, 0xed, 0x5f, 0xd5, 0xdc, 0xeb, 0xc9, 0x4c, 0x42, 0x4a, 0xca, + 0x3f, 0x41, 0x3c, 0x95, 0x88, 0x54, 0xd0, 0xe3, 0x80, 0x08, 0x87, 0xb6, 0x8b, 0x55, 0x32, 0x74, + 0xa9, 0x78, 0x05, 0x6e, 0xa9, 0xab, 0xed, 0x57, 0x76, 0xf1, 0x7a, 0xaf, 0x4b, 0x2b, 0xe0, 0xa2, + 0x35, 0x90, 0x04, 0xb1, 0xe8, 0x59, 0x2e, 0xfe, 0x93, 0x83, 0x8f, 0xb6, 0x72, 0x02, 0x36, 0x01, + 0x7c, 0x84, 0x4c, 0x00, 0x45, 0x86, 0xe7, 0x1f, 0x3f, 0x89, 0x34, 0x25, 0x11, 0x6d, 0x8a, 0xfc, + 0x12, 0x94, 0xfa, 0x7a, 0x00, 0xc9, 0x50, 0xe0, 0x11, 0x2b, 0xba, 0xb5, 0xcf, 0x56, 0x38, 0x59, + 0x25, 0xc7, 0x22, 0x53, 0xf4, 0xa8, 0xc3, 0x72, 0xe6, 0x17, 0x3e, 0xbe, 0x10, 0xa3, 0xdb, 0x3e, + 0x8f, 0x43, 0x21, 0xd2, 0x07, 0x22, 0x8a, 0x1c, 0x0b, 0xa2, 0xc8, 0x01, 0xf1, 0x6b, 0x90, 0x27, + 0x06, 0x08, 0xb7, 0x39, 0xed, 0x23, 0x50, 0x62, 0x06, 0xb2, 0x5f, 0xd6, 0xcc, 0xe1, 0x59, 0x13, + 0x02, 0x97, 0x85, 0x07, 0x14, 0x15, 0x7b, 0x4e, 0x50, 0x5d, 0xd5, 0x5c, 0x79, 0x03, 0x20, 0xe8, + 0x54, 0x54, 0x81, 0x07, 0x89, 0xf1, 0x08, 0x1f, 0x45, 0xe5, 0xcf, 0x6d, 0x45, 0x3c, 0xc6, 0x32, + 0x21, 0x0a, 0x8e, 0x9b, 0xb2, 0x47, 0xb7, 0xae, 0x51, 0x8a, 0xea, 0xcb, 0x9f, 0xfc, 0xcc, 0xe9, + 0xd8, 0x3b, 0x63, 0x0b, 0xfe, 0xc3, 0xab, 0x70, 0x2a, 0x94, 0x49, 0x14, 0x30, 0x12, 0x88, 0x2a, + 0x85, 0xf4, 0x95, 0x64, 0x8e, 0x0b, 0x28, 0x1d, 0x1a, 0xff, 0x2d, 0x1f, 0x6e, 0x76, 0xc6, 0x47, + 0x9b, 0xc6, 0xc7, 0xbb, 0x86, 0x07, 0xe5, 0xff, 0x49, 0x16, 0xd2, 0x0a, 0x7e, 0x7f, 0x0f, 0xbb, + 0x1e, 0xba, 0x00, 0x49, 0xac, 0xef, 0x59, 0xc3, 0x62, 0xa0, 0xa4, 0x81, 0x4b, 0x9c, 0xae, 0xae, + 0xef, 0x59, 0xd7, 0xa6, 0x14, 0x4a, 0x8b, 0x2e, 0xc2, 0xf4, 0x4e, 0xa7, 0xc7, 0xc3, 0x57, 0x7d, + 0x36, 0x2b, 0xcc, 0x74, 0x85, 0x10, 0x5d, 0x9b, 0x52, 0x18, 0x35, 0x29, 0x8a, 0xbe, 0xb6, 0x9d, + 0x38, 0xbc, 0xa8, 0x86, 0xb9, 0x43, 0x8b, 0x22, 0xb4, 0xa8, 0x0a, 0x60, 0x98, 0x86, 0xa7, 0xd2, + 0xd0, 0x0e, 0xb7, 0x1a, 0x67, 0x46, 0x73, 0x1a, 0x1e, 0x0d, 0x06, 0x5d, 0x9b, 0x52, 0xb2, 0x86, + 0xf8, 0x20, 0xd5, 0x7d, 0x7f, 0x0f, 0x3b, 0x07, 0xdc, 0x5b, 0x1b, 0x59, 0xdd, 0x97, 0x09, 0x11, + 0xa9, 0x2e, 0xa5, 0x26, 0x46, 0x96, 0x3d, 0xdc, 0xe7, 0xed, 0xf3, 0xe7, 0x68, 0x17, 0x46, 0x71, + 0xd2, 0xd7, 0xfb, 0x5a, 0xfb, 0xd7, 0xa6, 0x94, 0xb4, 0xce, 0x7e, 0xa2, 0xe7, 0x7d, 0x17, 0x2c, + 0x37, 0xe8, 0xf5, 0x44, 0x78, 0x59, 0xd8, 0x67, 0x4a, 0xb8, 0x62, 0x68, 0x1d, 0x8a, 0x1d, 0xc3, + 0xf5, 0x54, 0xd7, 0xd4, 0x6c, 0x77, 0xcf, 0xf2, 0x5c, 0x1a, 0x3f, 0xc9, 0x5d, 0x78, 0x78, 0x14, + 0xc2, 0xaa, 0xe1, 0x7a, 0x4d, 0x41, 0x7c, 0x6d, 0x4a, 0x29, 0x74, 0xc2, 0x09, 0x04, 0xcf, 0xda, + 0xd9, 0xc1, 0x8e, 0x0f, 0x48, 0xe3, 0x2c, 0x87, 0xe0, 0x6d, 0x10, 0x6a, 0xc1, 0x4f, 0xf0, 0xac, + 0x70, 0x02, 0xfa, 0x5a, 0x98, 0xed, 0x58, 0x5a, 0xdb, 0x87, 0x53, 0xf5, 0xbd, 0x9e, 0x79, 0x8b, + 0x06, 0x65, 0x72, 0x17, 0x1e, 0x1b, 0x59, 0x49, 0x4b, 0x6b, 0x0b, 0x88, 0x1a, 0x61, 0xb8, 0x36, + 0xa5, 0xcc, 0x74, 0xfa, 0x13, 0xd1, 0xfb, 0x60, 0x4e, 0xb3, 0xed, 0xce, 0x41, 0x3f, 0x7a, 0x89, + 0xa2, 0x9f, 0x1b, 0x85, 0x5e, 0x21, 0x3c, 0xfd, 0xf0, 0x48, 0x1b, 0x48, 0x45, 0x2d, 0x90, 0x6c, + 0x07, 0xd3, 0xdb, 0x5c, 0x36, 0xf7, 0x32, 0xe8, 0x5b, 0x57, 0xb9, 0x0b, 0x8f, 0x8e, 0xc2, 0xde, + 0x64, 0xf4, 0xc2, 0x29, 0xb9, 0x36, 0xa5, 0x94, 0xec, 0x68, 0x12, 0x43, 0xb5, 0x74, 0x4c, 0x9f, + 0xe2, 0xe3, 0xa8, 0x33, 0xe3, 0x50, 0x29, 0x7d, 0x14, 0x35, 0x92, 0x84, 0xea, 0x90, 0x63, 0x4b, + 0x51, 0x95, 0x18, 0x43, 0xfa, 0x42, 0x56, 0xee, 0x82, 0x3c, 0x72, 0x84, 0x52, 0xd2, 0x9b, 0x96, + 0x87, 0xaf, 0x4d, 0x29, 0x80, 0xfd, 0x2f, 0xa4, 0xc1, 0x31, 0xfa, 0x58, 0xd8, 0x81, 0x1a, 0x35, + 0xbc, 0xf3, 0xb3, 0x14, 0xf0, 0xf1, 0x51, 0x80, 0x37, 0x29, 0xd3, 0xcd, 0xb0, 0x1d, 0xbe, 0x36, + 0xa5, 0xcc, 0xde, 0x1e, 0x4c, 0x26, 0x2a, 0xb6, 0x63, 0x98, 0x5a, 0xc7, 0x78, 0x03, 0xb3, 0x29, + 0x94, 0x3e, 0x93, 0x79, 0x88, 0x8a, 0x5d, 0xe1, 0xd4, 0x74, 0x62, 0x25, 0x2a, 0xb6, 0x13, 0x4e, + 0xa8, 0xa6, 0xf9, 0x39, 0x54, 0xff, 0xd9, 0xb7, 0xb4, 0x94, 0x61, 0x4f, 0xbd, 0x5d, 0x4f, 0x66, + 0x40, 0xca, 0xc9, 0x8f, 0x42, 0x2e, 0x64, 0x98, 0xd0, 0x3c, 0xa4, 0xf9, 0x49, 0x1d, 0x71, 0xa2, + 0x95, 0x7f, 0xca, 0x45, 0xc8, 0x87, 0x8d, 0x91, 0xfc, 0xe1, 0x98, 0xcf, 0x49, 0xdf, 0xbb, 0x98, + 0x8f, 0x46, 0xa4, 0xb3, 0x81, 0xa7, 0xf2, 0x90, 0x98, 0xda, 0x44, 0x3e, 0xdb, 0x7e, 0xcd, 0xd3, + 0x44, 0x3e, 0xb3, 0xa2, 0x05, 0xc8, 0xd9, 0x17, 0x6c, 0x9f, 0x24, 0x41, 0x49, 0xc0, 0xbe, 0x60, + 0x0b, 0x82, 0x33, 0x90, 0x27, 0xed, 0x56, 0xc3, 0xfe, 0x52, 0x56, 0xc9, 0x91, 0x34, 0x4e, 0x22, + 0xff, 0xeb, 0x38, 0x48, 0xfd, 0x06, 0xcc, 0x0f, 0x55, 0xc7, 0x8e, 0x1c, 0xaa, 0x3e, 0xd9, 0x1f, + 0x24, 0x0f, 0xe2, 0xe2, 0xab, 0x20, 0x05, 0xe1, 0x5d, 0x36, 0xd5, 0x8c, 0xf6, 0xff, 0xfa, 0x1c, + 0x55, 0xa5, 0xa4, 0xf7, 0x79, 0xae, 0x57, 0x22, 0x9b, 0x95, 0xe2, 0xcf, 0x51, 0xf4, 0x77, 0xb8, + 0xef, 0xc4, 0x6c, 0xd9, 0x6d, 0xcd, 0xc3, 0x22, 0x3e, 0x16, 0xda, 0xb7, 0x7c, 0x04, 0x4a, 0x9a, + 0x6d, 0xab, 0xae, 0xa7, 0x79, 0x98, 0xfb, 0x1a, 0x2c, 0xf2, 0x50, 0xd0, 0x6c, 0xbb, 0x49, 0x52, + 0x99, 0xaf, 0xf1, 0x30, 0x14, 0x89, 0x4d, 0x37, 0xb4, 0x8e, 0x70, 0x15, 0x52, 0xcc, 0x25, 0xe1, + 0xa9, 0xcc, 0x3b, 0x90, 0xdb, 0x7e, 0x8f, 0x53, 0x7b, 0xee, 0xaf, 0xa9, 0x62, 0xa1, 0x35, 0x15, + 0xe2, 0xef, 0x90, 0x30, 0xf9, 0x88, 0xb7, 0x5b, 0x86, 0x6f, 0x1a, 0xcc, 0xd1, 0xf5, 0xd7, 0x6d, + 0x16, 0x2c, 0xc9, 0x28, 0xec, 0x43, 0x56, 0xa0, 0x18, 0xb5, 0xfd, 0xa8, 0x08, 0x71, 0x6f, 0x9f, + 0x97, 0x12, 0xf7, 0xf6, 0x89, 0xa7, 0xeb, 0xbf, 0xde, 0x5b, 0x1c, 0x32, 0xdb, 0x71, 0xbe, 0x20, + 0xd6, 0x21, 0x97, 0xa0, 0x10, 0x99, 0x13, 0xe4, 0xe3, 0x30, 0x37, 0xcc, 0xc4, 0xcb, 0x7b, 0x7e, + 0x7a, 0xc4, 0x54, 0xa3, 0x8b, 0x90, 0xf1, 0x6d, 0xfc, 0x90, 0xd5, 0x31, 0x2d, 0x56, 0x10, 0x2b, + 0x3e, 0x69, 0x24, 0x9c, 0x1f, 0x8f, 0x84, 0xf3, 0xe5, 0x6f, 0x80, 0xf9, 0x51, 0xf6, 0xbb, 0x2f, + 0xc8, 0x97, 0xf4, 0x05, 0x76, 0x1c, 0x52, 0xfc, 0x99, 0xcc, 0x38, 0xdd, 0xc0, 0xe2, 0x5f, 0x44, + 0x90, 0xcc, 0x96, 0x27, 0xd8, 0xbe, 0x16, 0xfd, 0x90, 0x55, 0x38, 0x39, 0xd2, 0x86, 0x8f, 0xde, + 0x0a, 0x63, 0x40, 0x7c, 0x2b, 0x4c, 0x17, 0xd5, 0x71, 0x69, 0x5b, 0xc5, 0x41, 0x16, 0xf6, 0x25, + 0x7f, 0x24, 0x01, 0xc7, 0x87, 0x5b, 0x72, 0xb4, 0x08, 0x79, 0xe2, 0xb7, 0x7a, 0x51, 0x17, 0x17, + 0xba, 0xda, 0x7e, 0x8b, 0xfb, 0xb7, 0x7c, 0x2b, 0x21, 0xee, 0x6f, 0x25, 0xa0, 0x2d, 0x98, 0xe9, + 0x58, 0xba, 0xd6, 0x51, 0x43, 0x5b, 0x39, 0x7c, 0x10, 0x3d, 0x34, 0x20, 0xec, 0x68, 0xc8, 0x90, + 0x18, 0x1c, 0xae, 0xff, 0x25, 0x8a, 0xb1, 0xea, 0xef, 0xfa, 0xa0, 0x15, 0xc8, 0x75, 0x0d, 0x77, + 0x1b, 0xef, 0x69, 0xb7, 0x0d, 0xcb, 0xe1, 0xa3, 0x69, 0x50, 0x69, 0xd6, 0x02, 0x1a, 0xb1, 0xc3, + 0x14, 0x62, 0x0b, 0x75, 0xc9, 0xf4, 0xd0, 0x8d, 0xaf, 0xd4, 0x91, 0xad, 0xc9, 0xa8, 0x3d, 0xa4, + 0xf4, 0xc8, 0x3d, 0xa4, 0x61, 0x1b, 0x36, 0x99, 0xe1, 0x1b, 0x36, 0x1f, 0x0a, 0x77, 0x4d, 0x74, + 0xee, 0x1b, 0xd8, 0xc3, 0x41, 0x4d, 0x98, 0xe3, 0xfc, 0xed, 0x88, 0xec, 0x87, 0x1c, 0x75, 0x60, + 0xe3, 0xab, 0x5f, 0xe6, 0x48, 0xb0, 0x8f, 0x16, 0x7b, 0xe2, 0xfe, 0xc4, 0x2e, 0x36, 0x51, 0x93, + 0xa1, 0x4d, 0xd4, 0xff, 0xcb, 0xba, 0xe2, 0x83, 0x09, 0x98, 0x19, 0x70, 0x24, 0x86, 0xee, 0x0e, + 0x8f, 0x8a, 0xc8, 0x8a, 0x86, 0x25, 0x8e, 0xdc, 0x30, 0xde, 0xd7, 0xc9, 0xf1, 0x7d, 0x3d, 0xfd, + 0x36, 0xf6, 0x75, 0xea, 0xfe, 0xfa, 0xfa, 0x1d, 0xed, 0x85, 0x8f, 0xc5, 0xa0, 0x3c, 0xda, 0xfb, + 0x1a, 0xda, 0x1d, 0x47, 0xda, 0x40, 0x18, 0x35, 0xc7, 0x3d, 0x0c, 0xc5, 0x3e, 0xdf, 0x90, 0xa9, + 0x72, 0x21, 0xb2, 0x0a, 0x97, 0xbf, 0x39, 0xe1, 0x4f, 0x3c, 0x11, 0x07, 0x6e, 0xc8, 0x68, 0x7d, + 0x19, 0x66, 0xdb, 0x58, 0x37, 0xda, 0xf7, 0x3b, 0x58, 0x67, 0x38, 0xf7, 0xff, 0x1b, 0xab, 0x83, + 0x5a, 0xf2, 0x3d, 0x00, 0x19, 0x05, 0xbb, 0x36, 0xf1, 0xc7, 0x50, 0x15, 0xb2, 0x78, 0x5f, 0xc7, + 0xb6, 0x17, 0x1c, 0xaa, 0x18, 0xb6, 0x44, 0x60, 0xd4, 0x75, 0x41, 0x49, 0x16, 0xc8, 0x3e, 0x1b, + 0x7a, 0x86, 0xc7, 0x00, 0x46, 0x2f, 0xe7, 0x39, 0x7b, 0x38, 0x08, 0x70, 0x49, 0x04, 0x01, 0x12, + 0x23, 0xd7, 0xb7, 0x8c, 0xab, 0x2f, 0x0a, 0xf0, 0x0c, 0x8f, 0x02, 0x24, 0xc7, 0x14, 0x16, 0x09, + 0x03, 0xd4, 0x22, 0x61, 0x80, 0xd4, 0x98, 0x66, 0x8e, 0x88, 0x03, 0x5c, 0x12, 0x71, 0x80, 0xf4, + 0x98, 0x1a, 0xf7, 0x05, 0x02, 0x5e, 0x0c, 0x05, 0x02, 0xb2, 0x83, 0xd1, 0xd6, 0x08, 0xeb, 0x90, + 0x48, 0xc0, 0x0b, 0x7e, 0x24, 0x20, 0x3f, 0x32, 0x8a, 0xc0, 0x99, 0xfb, 0x43, 0x01, 0x1b, 0x03, + 0xa1, 0x80, 0x02, 0xff, 0xa3, 0x4b, 0xa3, 0x20, 0xc6, 0xc4, 0x02, 0x36, 0x06, 0x62, 0x01, 0xc5, + 0x31, 0x80, 0x63, 0x82, 0x01, 0x5f, 0x37, 0x3c, 0x18, 0x30, 0x7a, 0xb9, 0xce, 0xab, 0x39, 0x59, + 0x34, 0x40, 0x1d, 0x11, 0x0d, 0x90, 0x46, 0xae, 0x5c, 0x19, 0xfc, 0xc4, 0xe1, 0x80, 0xad, 0x21, + 0xe1, 0x00, 0xb6, 0x70, 0x3f, 0x3b, 0x12, 0x7c, 0x82, 0x78, 0xc0, 0xd6, 0x90, 0x78, 0x00, 0x1a, + 0x0b, 0x3b, 0x36, 0x20, 0x70, 0x25, 0x1a, 0x10, 0x98, 0x1d, 0xe1, 0x75, 0x06, 0xa3, 0x7d, 0x44, + 0x44, 0x60, 0x7b, 0x54, 0x44, 0x80, 0xad, 0xda, 0x9f, 0x18, 0x89, 0x78, 0x84, 0x90, 0xc0, 0xc6, + 0x40, 0x48, 0xe0, 0xd8, 0x18, 0x4d, 0x9b, 0x3c, 0x26, 0xc0, 0x1e, 0x81, 0x67, 0xcf, 0xbf, 0x83, + 0x94, 0xbb, 0x9e, 0xcc, 0xe4, 0xa4, 0xbc, 0xfc, 0x18, 0xf1, 0x60, 0xfa, 0xec, 0x1c, 0x59, 0x2b, + 0x60, 0xc7, 0xb1, 0x1c, 0x71, 0xc7, 0x82, 0x7e, 0xc8, 0x67, 0xc9, 0x1a, 0x31, 0xb0, 0x69, 0x87, + 0xc4, 0x0f, 0xe8, 0x9a, 0x2c, 0x64, 0xc7, 0xe4, 0x5f, 0x88, 0x05, 0xbc, 0x34, 0x82, 0x10, 0x5e, + 0x5f, 0x66, 0xf9, 0xfa, 0x32, 0x14, 0x55, 0x88, 0x47, 0xa3, 0x0a, 0x0b, 0x90, 0x23, 0x6b, 0xad, + 0xbe, 0x80, 0x81, 0x66, 0xfb, 0x01, 0x03, 0x71, 0x80, 0x8a, 0xc5, 0x1e, 0xf8, 0xb4, 0xc4, 0x76, + 0x13, 0x4b, 0xfe, 0x61, 0x32, 0xb6, 0xd4, 0x45, 0x4f, 0xc2, 0x6c, 0x88, 0xd6, 0x5f, 0xc3, 0xb1, + 0xd5, 0xb3, 0xe4, 0x53, 0x57, 0xf8, 0x62, 0xee, 0x9f, 0xc7, 0x02, 0x09, 0x05, 0x91, 0x86, 0x61, + 0x41, 0x81, 0xd8, 0xdb, 0x14, 0x14, 0x88, 0xdf, 0x77, 0x50, 0x20, 0xbc, 0x26, 0x4d, 0x44, 0xd7, + 0xa4, 0xff, 0x3d, 0x16, 0xf4, 0x89, 0xbf, 0xc4, 0xd7, 0xad, 0x36, 0xe6, 0xab, 0x44, 0xfa, 0x9b, + 0xb8, 0x24, 0x1d, 0x6b, 0x97, 0xaf, 0x05, 0xc9, 0x4f, 0x42, 0xe5, 0x4f, 0x3c, 0x59, 0x3e, 0xaf, + 0xf8, 0x0b, 0xcc, 0xe9, 0xf0, 0x3d, 0x0e, 0x7e, 0xb9, 0x21, 0x15, 0x5c, 0x6e, 0xf0, 0x2f, 0x46, + 0xa7, 0x43, 0x17, 0xa3, 0xd1, 0xf3, 0x90, 0xa5, 0xc1, 0x7e, 0xd5, 0xb2, 0xc5, 0x5f, 0x2c, 0x3b, + 0x35, 0xfa, 0x62, 0x83, 0x4b, 0x8f, 0x5c, 0xb3, 0xcb, 0x10, 0x81, 0xc7, 0x91, 0x8d, 0x78, 0x1c, + 0x0f, 0x40, 0x96, 0xd4, 0x9e, 0xfd, 0xe5, 0x0d, 0xe0, 0xb7, 0xea, 0x45, 0x82, 0xfc, 0x93, 0x71, + 0x28, 0xf5, 0x4d, 0x34, 0x43, 0xdb, 0x3e, 0x6c, 0x1b, 0x79, 0x32, 0x79, 0x9c, 0x06, 0xd8, 0xd5, + 0x5c, 0xf5, 0x8e, 0x66, 0x7a, 0xb8, 0xcd, 0x85, 0x12, 0x4a, 0x41, 0x65, 0xc8, 0x90, 0xaf, 0x9e, + 0x8b, 0xdb, 0x3c, 0xfa, 0xe2, 0x7f, 0xa3, 0x6b, 0x90, 0xc2, 0xb7, 0xe9, 0xcb, 0xb3, 0xec, 0xfd, + 0xe6, 0xe3, 0x83, 0xcb, 0x61, 0x92, 0x5d, 0x9d, 0x27, 0x9d, 0xfd, 0xf9, 0x37, 0x17, 0x24, 0x46, + 0xfd, 0x84, 0x7f, 0x99, 0x4d, 0xe1, 0xfc, 0x51, 0x29, 0x64, 0xfa, 0xa4, 0x40, 0xe3, 0x80, 0x79, + 0xb1, 0xbc, 0x27, 0x32, 0x65, 0x67, 0xbc, 0x95, 0x42, 0x17, 0x77, 0x6d, 0xcb, 0xea, 0xa8, 0x6c, + 0x8c, 0x57, 0xa0, 0x18, 0x9d, 0x57, 0xd9, 0x5f, 0xc5, 0xf2, 0x34, 0xc3, 0x54, 0x23, 0x4e, 0x70, + 0x9e, 0x25, 0xb2, 0x31, 0x75, 0x3d, 0x99, 0x89, 0x49, 0xf1, 0xeb, 0xc9, 0x4c, 0x5c, 0x4a, 0xc8, + 0x9b, 0x70, 0x6c, 0xe8, 0xbc, 0x8a, 0x9e, 0x83, 0x6c, 0x30, 0x25, 0xb3, 0x63, 0xfa, 0x87, 0x44, + 0x5a, 0x02, 0x5a, 0xf9, 0x57, 0x62, 0x01, 0x64, 0x34, 0x76, 0x53, 0x87, 0x14, 0x3b, 0x33, 0xc9, + 0xcf, 0xc7, 0x3c, 0x39, 0xd9, 0x8c, 0xbc, 0xc4, 0x0e, 0x54, 0x2a, 0x9c, 0x59, 0x7e, 0x1f, 0xa4, + 0x58, 0x0a, 0xca, 0x41, 0x3a, 0x78, 0xe3, 0x1a, 0x20, 0x55, 0xa9, 0xd5, 0xea, 0x9b, 0xe2, 0xc1, + 0xda, 0xea, 0x86, 0xd2, 0x92, 0xe2, 0x24, 0x59, 0xa9, 0x5f, 0xaf, 0xd7, 0x5a, 0x52, 0x02, 0xcd, + 0x40, 0x81, 0xfd, 0x56, 0xaf, 0x6c, 0x28, 0x6b, 0x95, 0x96, 0x94, 0x0c, 0x25, 0x35, 0xeb, 0xeb, + 0x2b, 0x75, 0x45, 0x9a, 0x96, 0x9f, 0x86, 0x93, 0x23, 0xe7, 0xf0, 0x20, 0x30, 0x13, 0x0b, 0x05, + 0x66, 0xe4, 0x8f, 0xc4, 0xc9, 0xa2, 0x66, 0xd4, 0xc4, 0x8c, 0xae, 0xf7, 0x35, 0xfc, 0xc2, 0x11, + 0x66, 0xf5, 0xbe, 0xd6, 0x93, 0x75, 0x8c, 0x83, 0x77, 0xb0, 0xa7, 0xef, 0x31, 0x47, 0x81, 0x59, + 0xa0, 0x82, 0x52, 0xe0, 0xa9, 0x94, 0xc9, 0x65, 0x64, 0xaf, 0x63, 0xdd, 0x53, 0x99, 0x12, 0xb9, + 0xfc, 0x8f, 0xf8, 0x16, 0x58, 0x6a, 0x93, 0x25, 0xca, 0xdf, 0x70, 0x24, 0x59, 0x66, 0x61, 0x5a, + 0xa9, 0xb7, 0x94, 0x57, 0xa5, 0x04, 0x42, 0x50, 0xa4, 0x3f, 0xd5, 0xe6, 0x7a, 0x65, 0xb3, 0x79, + 0x6d, 0x83, 0xc8, 0x72, 0x16, 0x4a, 0x42, 0x96, 0x22, 0x71, 0x5a, 0x7e, 0x1c, 0x4e, 0x8c, 0xf0, + 0x2a, 0x86, 0x1c, 0x62, 0xfd, 0x44, 0x2c, 0x4c, 0x1d, 0xf5, 0x0c, 0x36, 0x20, 0xe5, 0x7a, 0x9a, + 0xd7, 0x73, 0xb9, 0x10, 0x9f, 0x9b, 0xd4, 0xcd, 0x58, 0x12, 0x3f, 0x9a, 0x94, 0x5d, 0xe1, 0x30, + 0xf2, 0x45, 0x28, 0x46, 0x73, 0x46, 0xcb, 0x20, 0x50, 0xa2, 0xb8, 0x7c, 0x19, 0xd0, 0xa0, 0xf7, + 0x31, 0x64, 0x79, 0x19, 0x1b, 0xb6, 0xbc, 0xfc, 0xd1, 0x18, 0x9c, 0x3a, 0xc4, 0xd3, 0x40, 0x2f, + 0xf7, 0x35, 0xf2, 0x85, 0xa3, 0xf8, 0x29, 0x4b, 0x2c, 0xad, 0xaf, 0x99, 0xcf, 0x40, 0x3e, 0x9c, + 0x3e, 0x59, 0x23, 0x3f, 0x1f, 0x0f, 0x06, 0x71, 0x74, 0x1d, 0x1c, 0x98, 0xc0, 0xd8, 0x97, 0x69, + 0x02, 0xdf, 0x0d, 0xe0, 0xed, 0x8b, 0x53, 0xd4, 0x7c, 0x1e, 0x7d, 0x70, 0x48, 0x7c, 0x11, 0xeb, + 0xad, 0x7d, 0x3e, 0x08, 0xb2, 0x1e, 0xff, 0xe5, 0xa2, 0x66, 0x38, 0x28, 0xd0, 0xa3, 0x73, 0xac, + 0xeb, 0xff, 0x09, 0xdf, 0xc9, 0x26, 0xe3, 0x20, 0x78, 0xc0, 0x92, 0x5d, 0xf4, 0x2a, 0x9c, 0xe8, + 0x73, 0x14, 0x7c, 0xe8, 0xe4, 0xa4, 0xfe, 0xc2, 0xb1, 0xa8, 0xbf, 0x20, 0xa0, 0xc3, 0xb3, 0xfd, + 0x74, 0x74, 0xb6, 0x7f, 0x15, 0x20, 0x08, 0x0e, 0x04, 0xc7, 0xfe, 0x62, 0xe1, 0x63, 0x7f, 0x17, + 0x61, 0x9a, 0x68, 0x92, 0x90, 0xd3, 0xa0, 0x29, 0x26, 0x9a, 0x10, 0x0a, 0x2e, 0x30, 0x6a, 0xd9, + 0x00, 0x34, 0x18, 0xa0, 0x1d, 0x51, 0xc4, 0x8b, 0xd1, 0x22, 0xce, 0x8c, 0x0c, 0xf5, 0x0e, 0x2f, + 0xea, 0x0d, 0x98, 0xa6, 0x3d, 0x3f, 0xf4, 0x2e, 0xe5, 0xd7, 0x03, 0x68, 0x9e, 0xe7, 0x18, 0xdb, + 0xbd, 0xa0, 0x80, 0x85, 0xe1, 0x9a, 0x53, 0x11, 0x74, 0xd5, 0x07, 0xb8, 0x0a, 0xcd, 0x05, 0xac, + 0x21, 0x35, 0x0a, 0x01, 0xca, 0xeb, 0x50, 0x8c, 0xf2, 0x0e, 0xbf, 0x1b, 0x1a, 0x3c, 0xfc, 0x92, + 0x15, 0xfe, 0x8d, 0xef, 0x1d, 0xf1, 0xc7, 0x98, 0xe8, 0x87, 0xfc, 0x81, 0x38, 0xe4, 0xc3, 0x8a, + 0xf7, 0xd7, 0xcf, 0x05, 0x91, 0xbf, 0x25, 0x06, 0x19, 0xbf, 0xf9, 0x87, 0x1c, 0x76, 0x0e, 0xee, + 0x08, 0xfb, 0x9b, 0x17, 0x6c, 0x9b, 0x28, 0xe1, 0x6f, 0x13, 0x5d, 0xf6, 0xa7, 0xbf, 0x51, 0x01, + 0x91, 0xb0, 0xac, 0xc5, 0x81, 0x43, 0x3e, 0xdb, 0x5f, 0x9e, 0xec, 0x2a, 0xde, 0x1c, 0x4c, 0x87, + 0xaf, 0xd1, 0xb1, 0x0f, 0xb9, 0x1d, 0x3a, 0x61, 0xc4, 0x06, 0x62, 0xf8, 0xce, 0x5e, 0xec, 0xc8, + 0x77, 0xf6, 0xfc, 0x52, 0xe2, 0xe1, 0x52, 0xbe, 0x3b, 0x06, 0x19, 0x31, 0x26, 0xd0, 0x7b, 0xc2, + 0x27, 0xcf, 0xc4, 0xd6, 0xe6, 0x48, 0x7b, 0xc4, 0xf1, 0x43, 0x07, 0xcf, 0x06, 0x0e, 0x5c, 0x27, + 0x8e, 0x7a, 0xe0, 0x9a, 0x7b, 0x76, 0x7f, 0x1e, 0x03, 0xa9, 0x7f, 0xc4, 0x7e, 0xd9, 0xb5, 0x1b, + 0x9c, 0xe6, 0x12, 0x43, 0xa6, 0xb9, 0x51, 0xa7, 0xa8, 0x93, 0xa3, 0x4e, 0x51, 0x0f, 0xb6, 0x7a, + 0xfa, 0x3e, 0x5b, 0xfd, 0xc1, 0x38, 0xe4, 0x42, 0xe1, 0x51, 0xf4, 0x6c, 0xe4, 0x44, 0xf6, 0xe2, + 0x61, 0xa1, 0xd4, 0xd0, 0x91, 0xec, 0x88, 0x98, 0xe2, 0x47, 0x17, 0xd3, 0xdb, 0x7f, 0x3b, 0x6b, + 0xf8, 0x05, 0xd6, 0xe9, 0x11, 0x17, 0x58, 0xbf, 0x29, 0x06, 0x19, 0xdf, 0xed, 0x3e, 0xea, 0x26, + 0xe6, 0x71, 0x48, 0x71, 0xcf, 0x92, 0xed, 0x62, 0xf2, 0xaf, 0xa1, 0x61, 0xe5, 0x32, 0x64, 0xc4, + 0xdf, 0x53, 0xe4, 0xb3, 0x9a, 0xff, 0x7d, 0xee, 0x05, 0xc8, 0x85, 0x36, 0x80, 0x89, 0x69, 0x5c, + 0xaf, 0xbf, 0x57, 0x9a, 0x2a, 0xa7, 0xef, 0xde, 0x5b, 0x4c, 0xac, 0xe3, 0x3b, 0x64, 0x34, 0x2b, + 0xf5, 0xda, 0xb5, 0x7a, 0xed, 0x86, 0x14, 0x2b, 0xe7, 0xee, 0xde, 0x5b, 0x4c, 0x2b, 0x98, 0x46, + 0x14, 0xcf, 0xdd, 0x80, 0x52, 0x5f, 0xc7, 0x44, 0xdd, 0x16, 0x04, 0xc5, 0x95, 0xad, 0xcd, 0xd5, + 0x46, 0xad, 0xd2, 0xaa, 0xab, 0xec, 0xdc, 0x2e, 0x3a, 0x01, 0xb3, 0xab, 0x8d, 0xab, 0xd7, 0x5a, + 0x6a, 0x6d, 0xb5, 0x51, 0x5f, 0x6f, 0xa9, 0x95, 0x56, 0xab, 0x52, 0xbb, 0x21, 0xc5, 0x2f, 0xdc, + 0xcb, 0x41, 0xb2, 0x52, 0xad, 0x35, 0x50, 0x0d, 0x92, 0x34, 0x14, 0x72, 0xe8, 0x09, 0xb0, 0xf2, + 0xe1, 0xb1, 0x61, 0x74, 0x05, 0xa6, 0x69, 0x94, 0x04, 0x1d, 0x7e, 0x24, 0xac, 0x3c, 0x26, 0x58, + 0x4c, 0x2a, 0x43, 0x47, 0xe4, 0xa1, 0x67, 0xc4, 0xca, 0x87, 0xc7, 0x8e, 0xd1, 0x2a, 0xa4, 0xc5, + 0x22, 0x79, 0xdc, 0xc1, 0xad, 0xf2, 0xd8, 0x80, 0x2e, 0x69, 0x1a, 0x0b, 0x36, 0x1c, 0x7e, 0x7c, + 0xac, 0x3c, 0x26, 0xaa, 0x8c, 0x1a, 0xfe, 0x7d, 0xa6, 0x31, 0x27, 0xc2, 0xca, 0xe3, 0xe2, 0xc4, + 0x48, 0x81, 0x6c, 0x10, 0xc6, 0x19, 0x7f, 0x28, 0xae, 0x3c, 0x41, 0xc0, 0x1c, 0xbd, 0x0f, 0x0a, + 0xd1, 0xa5, 0xee, 0x64, 0xa7, 0xce, 0xca, 0x13, 0x46, 0xa4, 0x09, 0x7e, 0x74, 0xdd, 0x3b, 0xd9, + 0x29, 0xb4, 0xf2, 0x84, 0x01, 0x6a, 0xf4, 0x3a, 0xcc, 0x0c, 0xae, 0x4b, 0x27, 0x3f, 0x94, 0x56, + 0x3e, 0x42, 0xc8, 0x1a, 0x75, 0x01, 0x0d, 0x59, 0xcf, 0x1e, 0xe1, 0x8c, 0x5a, 0xf9, 0x28, 0x11, + 0x6c, 0xd4, 0x86, 0x52, 0xff, 0x22, 0x71, 0xd2, 0x33, 0x6b, 0xe5, 0x89, 0xa3, 0xd9, 0xac, 0x94, + 0xe8, 0xe2, 0x72, 0xd2, 0x33, 0x6c, 0xe5, 0x89, 0x83, 0xdb, 0x68, 0x0b, 0x20, 0xb4, 0x3e, 0x9c, + 0xe0, 0x4c, 0x5b, 0x79, 0x92, 0x30, 0x37, 0xb2, 0x61, 0x76, 0xd8, 0xc2, 0xf1, 0x28, 0x47, 0xdc, + 0xca, 0x47, 0x8a, 0x7e, 0x13, 0x7d, 0x8e, 0x2e, 0x01, 0x27, 0x3b, 0xf2, 0x56, 0x9e, 0x30, 0x0c, + 0x5e, 0xad, 0x8c, 0x3c, 0xe7, 0xfc, 0xe8, 0xa1, 0xe7, 0x9c, 0x83, 0x93, 0xcb, 0xfe, 0xd9, 0xe6, + 0xdf, 0x7a, 0x01, 0xde, 0xc5, 0x5f, 0xd0, 0x71, 0x3d, 0xed, 0x96, 0x61, 0xee, 0xfa, 0xcf, 0x2c, + 0xf1, 0x6f, 0x7e, 0xc8, 0xf9, 0x38, 0x7f, 0xa5, 0x47, 0xa4, 0x8e, 0x79, 0x6c, 0x69, 0xe4, 0x0b, + 0x94, 0xe3, 0xee, 0x43, 0x8c, 0x3f, 0xbe, 0x7c, 0xc8, 0x43, 0x4e, 0x63, 0x9e, 0x8b, 0x1a, 0xf2, + 0xd0, 0x53, 0xf9, 0xd0, 0x37, 0x06, 0xca, 0x87, 0x9d, 0xfb, 0x26, 0x5e, 0x6c, 0xf1, 0x9a, 0xe1, + 0x7a, 0x96, 0x63, 0xe8, 0x5a, 0x87, 0x4e, 0x2f, 0x97, 0x27, 0xbd, 0x95, 0x55, 0xcd, 0x12, 0x77, + 0x85, 0xbf, 0x05, 0xc5, 0x6f, 0x0a, 0xad, 0x40, 0xea, 0xb6, 0xd6, 0x61, 0x77, 0xa2, 0xc2, 0x0f, + 0xc1, 0xf5, 0xcb, 0x3c, 0xe4, 0x47, 0x85, 0x51, 0x18, 0xaf, 0xfc, 0xbd, 0xf4, 0x3e, 0x49, 0xb7, + 0x6b, 0xb8, 0x44, 0x17, 0x15, 0xba, 0x94, 0xbe, 0x0e, 0x49, 0x47, 0xf3, 0xf8, 0x02, 0xb3, 0x7a, + 0xe9, 0xc8, 0xef, 0x32, 0xb1, 0x12, 0x28, 0x06, 0x7a, 0x19, 0x32, 0x5d, 0x6d, 0x5f, 0xa5, 0x78, + 0xf1, 0x2f, 0x0b, 0x2f, 0xdd, 0xd5, 0xf6, 0x49, 0xfd, 0xd0, 0xfb, 0xa0, 0x44, 0x20, 0xf5, 0x3d, + 0xcd, 0xdc, 0xc5, 0x0c, 0x39, 0xf1, 0x65, 0x21, 0x17, 0xba, 0xda, 0x7e, 0x8d, 0xa2, 0x11, 0x7c, + 0xfe, 0xe4, 0xd5, 0xaf, 0xc5, 0x78, 0xd4, 0x80, 0x0a, 0x06, 0x69, 0x20, 0xe9, 0xfe, 0x17, 0x2d, + 0x54, 0x6c, 0x71, 0x3c, 0x3a, 0x4a, 0xee, 0x7d, 0x62, 0xad, 0x16, 0x48, 0xf5, 0x3e, 0xfd, 0xe6, + 0x42, 0x8c, 0x95, 0x5a, 0xd2, 0x07, 0xc4, 0x9e, 0x63, 0xc1, 0x10, 0x95, 0xfa, 0xb0, 0xf1, 0xb1, + 0x3e, 0x6c, 0x41, 0xf8, 0xb0, 0x0c, 0x10, 0x18, 0x37, 0xc9, 0xe7, 0x6d, 0xf8, 0x64, 0x0c, 0x72, + 0x2b, 0xa1, 0x67, 0x1d, 0xe7, 0x21, 0xdd, 0xb5, 0x4c, 0xe3, 0x16, 0x76, 0xfc, 0x3d, 0x2a, 0xf6, + 0x49, 0xfc, 0x4c, 0xf6, 0xd7, 0x01, 0xbd, 0x03, 0xf1, 0xba, 0x90, 0xf8, 0x26, 0x5c, 0x77, 0xf0, + 0xb6, 0x6b, 0x08, 0x39, 0x2b, 0xe2, 0x13, 0x3d, 0x06, 0x92, 0x8b, 0xf5, 0x9e, 0x63, 0x78, 0x07, + 0xaa, 0x6e, 0x99, 0x9e, 0xa6, 0x7b, 0x7c, 0x1d, 0x5e, 0x12, 0xe9, 0x35, 0x96, 0x4c, 0x40, 0xda, + 0xd8, 0xd3, 0x8c, 0x0e, 0x3b, 0x99, 0x99, 0x55, 0xc4, 0x27, 0xaf, 0xea, 0xef, 0x65, 0xc2, 0xeb, + 0xd0, 0x1a, 0x48, 0x96, 0x8d, 0x9d, 0xc8, 0x81, 0x14, 0xa6, 0x8d, 0xf3, 0xbf, 0xfd, 0xa9, 0x27, + 0xe7, 0xb8, 0xc0, 0xf9, 0x61, 0x06, 0xf6, 0x57, 0x0c, 0x94, 0x92, 0xe0, 0x10, 0x27, 0x55, 0x5e, + 0x8d, 0xec, 0x4a, 0xf5, 0xb6, 0x83, 0x67, 0x64, 0xe6, 0x06, 0x84, 0x5a, 0x31, 0x0f, 0xaa, 0xf3, + 0xbf, 0x19, 0x40, 0x07, 0xeb, 0xd4, 0x1b, 0xf8, 0x20, 0xbc, 0x45, 0x45, 0x61, 0x88, 0x0b, 0xff, + 0xba, 0x66, 0x74, 0xc4, 0x1f, 0x52, 0x55, 0xf8, 0x17, 0x5a, 0xf6, 0xc3, 0x8b, 0x49, 0xba, 0x1e, + 0x92, 0x47, 0xe9, 0x46, 0xd5, 0x32, 0xdb, 0xd1, 0x38, 0x22, 0xaa, 0x41, 0xca, 0xb3, 0x6e, 0x61, + 0x93, 0x0b, 0xe8, 0x68, 0x4f, 0xab, 0x71, 0x56, 0xf4, 0x75, 0x20, 0xb5, 0x71, 0x07, 0xef, 0xb2, + 0xfb, 0x92, 0x7b, 0x9a, 0x83, 0xd9, 0x6d, 0xfd, 0xfb, 0x7a, 0x5e, 0xad, 0xe4, 0x43, 0x35, 0x29, + 0x12, 0xda, 0x8c, 0x3e, 0x1c, 0x9a, 0xe6, 0x9b, 0xc7, 0x23, 0xda, 0x18, 0xd2, 0xbc, 0xb0, 0xe5, + 0x89, 0x3c, 0x34, 0xfa, 0x18, 0x48, 0x3d, 0x73, 0xdb, 0x32, 0xe9, 0xdf, 0x1f, 0xe4, 0xab, 0xa8, + 0x0c, 0xdb, 0xa9, 0xf4, 0xd3, 0xf9, 0x4e, 0xe5, 0x26, 0x14, 0x03, 0x52, 0x3a, 0x42, 0xb2, 0x47, + 0x1d, 0x21, 0x05, 0x1f, 0x80, 0x90, 0xa0, 0x35, 0x80, 0x60, 0x0c, 0xd2, 0xad, 0xb2, 0xdc, 0xe8, + 0x1e, 0x0b, 0x46, 0x73, 0xb8, 0x31, 0x21, 0x00, 0xf4, 0xb5, 0x30, 0xdb, 0x35, 0x4c, 0xd5, 0xc5, + 0x9d, 0x1d, 0x95, 0x4b, 0x8e, 0xe0, 0xe6, 0x8e, 0xde, 0x9b, 0x33, 0x5d, 0xc3, 0x6c, 0xe2, 0xce, + 0xce, 0x8a, 0x8f, 0x82, 0xde, 0x0d, 0xa7, 0x82, 0xd6, 0x5b, 0xa6, 0xba, 0x67, 0x75, 0xda, 0xaa, + 0x83, 0x77, 0x54, 0x9d, 0xbe, 0xf3, 0x97, 0xa7, 0x32, 0x3b, 0xe1, 0x93, 0x6c, 0x98, 0xd7, 0xac, + 0x4e, 0x5b, 0xc1, 0x3b, 0x35, 0x92, 0x8d, 0x1e, 0x82, 0xa0, 0xe9, 0xaa, 0xd1, 0x76, 0xe7, 0x0b, + 0x8b, 0x89, 0xb3, 0x49, 0x25, 0xef, 0x27, 0x36, 0xda, 0x2e, 0xb2, 0xe1, 0x58, 0x10, 0xf1, 0x25, + 0xe9, 0x42, 0x81, 0x8a, 0xb4, 0x05, 0xef, 0xe6, 0x2d, 0x78, 0x64, 0xfc, 0x6b, 0x7a, 0x4b, 0x83, + 0xba, 0x34, 0xeb, 0x43, 0x53, 0xd5, 0x67, 0xfa, 0xa4, 0x41, 0xa1, 0x63, 0xbc, 0xbf, 0x67, 0xf8, + 0x25, 0x95, 0xde, 0x86, 0x92, 0xf2, 0x0c, 0x92, 0x15, 0xb1, 0x9c, 0xf9, 0xd0, 0xc7, 0x17, 0xa6, + 0x3e, 0xf7, 0xf1, 0x85, 0x29, 0xf9, 0x0a, 0x7d, 0x28, 0x8b, 0x1b, 0x07, 0xec, 0xa2, 0x4b, 0x90, + 0xd5, 0xc4, 0x07, 0xbb, 0x06, 0x77, 0x88, 0x71, 0x09, 0x48, 0xe5, 0x9f, 0x88, 0x41, 0x6a, 0xe5, + 0xe6, 0xa6, 0x66, 0x38, 0xa8, 0x0e, 0x33, 0xc1, 0x68, 0x9b, 0xd4, 0x4e, 0x05, 0x03, 0x54, 0x18, + 0xaa, 0xf5, 0x51, 0xe7, 0xef, 0xb2, 0xd5, 0x33, 0xbf, 0xfd, 0xa9, 0x27, 0x1f, 0xe4, 0x30, 0x37, + 0xfb, 0x8e, 0xe2, 0x09, 0xbc, 0xfe, 0x23, 0x7a, 0xa1, 0x36, 0x5f, 0x87, 0x34, 0xab, 0xaa, 0x8b, + 0x5e, 0x82, 0x69, 0x9b, 0xfc, 0xe0, 0xdb, 0x0a, 0xa7, 0x47, 0x8e, 0x5a, 0x4a, 0x1f, 0xd6, 0x71, + 0xc6, 0x27, 0x7f, 0x5b, 0x1c, 0x60, 0xe5, 0xe6, 0xcd, 0x96, 0x63, 0xd8, 0x1d, 0xec, 0xbd, 0x5d, + 0x6d, 0xdf, 0x0a, 0x2b, 0x9d, 0xeb, 0xe8, 0x47, 0x6f, 0x7f, 0xa0, 0x59, 0x4d, 0x47, 0x1f, 0x0a, + 0xdb, 0x76, 0x3d, 0x1f, 0x36, 0x71, 0x74, 0xd8, 0x15, 0xd7, 0x1b, 0x94, 0xec, 0x2b, 0x90, 0x0b, + 0x84, 0xe1, 0xa2, 0x06, 0x64, 0x3c, 0xfe, 0x9b, 0x0b, 0x58, 0x1e, 0x2d, 0x60, 0xc1, 0x16, 0x16, + 0xb2, 0xcf, 0x2e, 0xff, 0x10, 0x91, 0x73, 0x30, 0xf0, 0xbf, 0x3a, 0x75, 0x0c, 0x35, 0x20, 0xc5, + 0xc7, 0x6c, 0xe2, 0xbe, 0x9f, 0x18, 0x65, 0x00, 0x34, 0xe6, 0x19, 0xb1, 0x3b, 0xfc, 0x9a, 0x44, + 0x21, 0x62, 0x32, 0x42, 0xb2, 0xff, 0x8e, 0x38, 0xcc, 0x6e, 0x09, 0xcb, 0xf5, 0xd5, 0x2f, 0xaa, + 0x2d, 0x48, 0x63, 0xd3, 0x73, 0x0c, 0x7f, 0xff, 0xec, 0xa9, 0x51, 0xaa, 0x31, 0xa4, 0x51, 0x75, + 0xd3, 0x73, 0x0e, 0xc2, 0x8a, 0x22, 0xb0, 0x42, 0xf2, 0xf8, 0x68, 0x02, 0xe6, 0x47, 0xb1, 0xa2, + 0x47, 0xa1, 0xa4, 0x3b, 0x98, 0x26, 0x44, 0xaf, 0xc7, 0x16, 0x45, 0x32, 0x9f, 0x5f, 0x15, 0x20, + 0x1e, 0x29, 0xd1, 0x41, 0x42, 0x7a, 0x7f, 0x2e, 0x68, 0x31, 0x40, 0xa0, 0x33, 0x6c, 0x0b, 0x4a, + 0xe2, 0xbe, 0xcd, 0xb6, 0xd6, 0xd1, 0x4c, 0x5d, 0xb8, 0xea, 0x47, 0x9a, 0x0e, 0xc5, 0x9d, 0x9d, + 0x2a, 0x83, 0x40, 0x75, 0x48, 0x0b, 0xb4, 0xe4, 0xd1, 0xd1, 0x04, 0x2f, 0x3a, 0x03, 0xf9, 0xf0, + 0xa4, 0x48, 0xdd, 0xae, 0xa4, 0x92, 0x0b, 0xcd, 0x89, 0xe3, 0x66, 0xdd, 0xd4, 0xa1, 0xb3, 0x2e, + 0xf7, 0x6c, 0x7f, 0x88, 0x1e, 0x8b, 0x6f, 0xff, 0xd5, 0xef, 0x96, 0x4d, 0x00, 0x36, 0xa2, 0x89, + 0xc1, 0xe5, 0x3d, 0x73, 0x1f, 0x66, 0x21, 0xcb, 0x40, 0x56, 0x5c, 0xef, 0x2b, 0xd5, 0x43, 0xbf, + 0x1b, 0x87, 0x7c, 0xb8, 0x87, 0xfe, 0x5a, 0xce, 0x6d, 0x68, 0x3d, 0x30, 0x53, 0xec, 0xea, 0xd0, + 0x63, 0xa3, 0xcc, 0xd4, 0x80, 0x36, 0x8f, 0xb1, 0x4f, 0xbf, 0x99, 0x82, 0x14, 0x3f, 0xdb, 0xb7, + 0x31, 0xe0, 0xc4, 0xc7, 0xc6, 0x3d, 0x7e, 0x50, 0x10, 0x8f, 0x1f, 0x0c, 0xf5, 0xe1, 0x1f, 0x86, + 0x62, 0x57, 0xdb, 0x57, 0x23, 0x07, 0x06, 0x63, 0x67, 0x0b, 0x74, 0x4d, 0x1f, 0x1c, 0x8f, 0x47, + 0x0b, 0x90, 0x23, 0x64, 0x81, 0x1d, 0x26, 0x34, 0xd0, 0xd5, 0xf6, 0xeb, 0x2c, 0x05, 0x3d, 0x09, + 0x68, 0xcf, 0x0f, 0xce, 0xa8, 0x81, 0x20, 0x08, 0xdd, 0x4c, 0x90, 0x23, 0xc8, 0x1f, 0x04, 0xa0, + 0x1e, 0x32, 0x7b, 0x7c, 0x9b, 0x3f, 0x6d, 0x4e, 0x52, 0x56, 0xe8, 0x03, 0xdc, 0xdf, 0x1c, 0x63, + 0x6b, 0x81, 0xbe, 0x90, 0x01, 0x5f, 0x8a, 0xb5, 0x26, 0x18, 0x14, 0x5f, 0x7c, 0x73, 0xa1, 0x7c, + 0xa0, 0x75, 0x3b, 0xcb, 0xf2, 0x10, 0x1c, 0x79, 0x58, 0x14, 0x83, 0x2c, 0x1a, 0xa2, 0x21, 0x07, + 0xf4, 0x4d, 0xb1, 0x01, 0x97, 0x7e, 0x47, 0xd3, 0x3d, 0xcb, 0xa1, 0x4b, 0xb7, 0x6c, 0x75, 0xfd, + 0x68, 0x8e, 0xf6, 0x17, 0xdf, 0x5c, 0x78, 0x80, 0xd5, 0x69, 0x28, 0xa8, 0xdc, 0xe7, 0xe4, 0x5f, + 0xa1, 0xa9, 0xe8, 0x3b, 0x62, 0x70, 0x72, 0xb7, 0x63, 0x6d, 0x6b, 0x1d, 0x55, 0x38, 0xfb, 0x4c, + 0x9f, 0x54, 0x5d, 0xb3, 0xd9, 0xbe, 0x78, 0x55, 0x39, 0x72, 0x45, 0x16, 0x59, 0x45, 0x46, 0x02, + 0xcb, 0xca, 0x71, 0x96, 0xb7, 0xca, 0x56, 0x03, 0x2c, 0xa7, 0xa6, 0xd9, 0xe8, 0x7b, 0x63, 0xf0, + 0x40, 0x50, 0xff, 0x21, 0x55, 0xca, 0xd2, 0x2a, 0x6d, 0x1d, 0xb9, 0x4a, 0x0f, 0xf5, 0xcb, 0x66, + 0x58, 0xad, 0x4e, 0xfa, 0xd9, 0xfd, 0x15, 0x5b, 0x7e, 0x17, 0x31, 0x46, 0x77, 0xff, 0xe8, 0xa7, + 0xce, 0x9d, 0x0a, 0x15, 0xb0, 0xef, 0x07, 0x5a, 0xd9, 0x08, 0x22, 0xcb, 0x0f, 0x14, 0xcc, 0xf1, + 0xfe, 0x1d, 0x8e, 0x35, 0x80, 0xd0, 0x9a, 0x33, 0x76, 0xf8, 0x5a, 0x36, 0xe0, 0x8f, 0xac, 0x65, + 0x43, 0x16, 0xf0, 0x3d, 0xc1, 0x14, 0x2b, 0x5e, 0x27, 0x19, 0xf2, 0x76, 0xfe, 0x52, 0xcd, 0x32, + 0x22, 0x10, 0x82, 0x89, 0x1a, 0xd6, 0x29, 0xf9, 0xdf, 0xc4, 0xe0, 0xe4, 0x80, 0xb1, 0xf0, 0xab, + 0xac, 0x03, 0x72, 0x42, 0x99, 0x74, 0xd0, 0x89, 0x43, 0x03, 0xf7, 0x67, 0x7b, 0x66, 0x9c, 0x81, + 0x79, 0xf6, 0xed, 0xf1, 0x15, 0xf8, 0x44, 0xf1, 0x1b, 0x31, 0x98, 0x0b, 0x57, 0xc0, 0x6f, 0x4a, + 0x13, 0xf2, 0xe1, 0xa2, 0x79, 0x23, 0xde, 0x35, 0x49, 0x23, 0xc2, 0xf5, 0x8f, 0x80, 0xa0, 0x9b, + 0x81, 0x41, 0x66, 0x11, 0xde, 0xa7, 0x27, 0x16, 0x8a, 0xa8, 0xd8, 0x50, 0xc3, 0xcc, 0xfa, 0xe6, + 0x8f, 0x63, 0x90, 0xdc, 0xb4, 0xac, 0x0e, 0x7a, 0x3f, 0xcc, 0x98, 0x96, 0x47, 0x07, 0x32, 0x6e, + 0xab, 0x3c, 0x04, 0xc5, 0x26, 0xbb, 0xfa, 0xa1, 0xb2, 0xfa, 0xfc, 0x9b, 0x0b, 0x83, 0x9c, 0xc3, + 0xfe, 0x7a, 0x41, 0xc9, 0xb4, 0xbc, 0x2a, 0x25, 0x6a, 0xb1, 0x28, 0xd5, 0x0e, 0x14, 0xa2, 0xc5, + 0xb1, 0x09, 0xb1, 0x32, 0xae, 0xb8, 0xc2, 0xd8, 0xa2, 0xf2, 0xdb, 0xa1, 0x72, 0xd8, 0x83, 0xdf, + 0x7f, 0x4a, 0x7a, 0xee, 0x55, 0x90, 0x6e, 0xf6, 0x1f, 0x46, 0xab, 0x43, 0x5a, 0x1c, 0x3e, 0x8b, + 0x4d, 0x78, 0xae, 0x2d, 0x2c, 0x4e, 0xce, 0x2b, 0xff, 0x52, 0x0c, 0x66, 0x69, 0x79, 0xc6, 0x1b, + 0x98, 0x06, 0x1d, 0x14, 0xac, 0x5b, 0x4e, 0x1b, 0x15, 0x21, 0xce, 0x5f, 0x18, 0x4b, 0x2a, 0x71, + 0xa3, 0x8d, 0x96, 0x60, 0xda, 0xba, 0x63, 0xf2, 0xb3, 0x2d, 0x87, 0x39, 0x12, 0x8c, 0x8c, 0xce, + 0x6c, 0x56, 0xbb, 0xd7, 0xc1, 0xaa, 0xa6, 0x33, 0x67, 0x86, 0x45, 0x5f, 0x0b, 0x2c, 0xb5, 0xc2, + 0x12, 0xd1, 0xa5, 0xf0, 0x51, 0x8a, 0xe4, 0x18, 0xe8, 0x80, 0x94, 0x6b, 0xf4, 0xd7, 0x81, 0xbc, + 0x89, 0xd9, 0x6c, 0x1a, 0x6e, 0x42, 0xa5, 0xe7, 0xed, 0x59, 0x8e, 0xf1, 0x06, 0xd5, 0xa8, 0xfb, + 0x0e, 0x95, 0x9c, 0xfb, 0xb9, 0x18, 0x40, 0x10, 0xe9, 0x44, 0x4f, 0xc0, 0x89, 0xea, 0xc6, 0xfa, + 0x8a, 0xda, 0x6c, 0x55, 0x5a, 0x5b, 0xcd, 0xe8, 0x9f, 0x03, 0x12, 0x8f, 0x88, 0xb9, 0x36, 0xd6, + 0x8d, 0x1d, 0x03, 0xb7, 0xd1, 0x23, 0x30, 0x17, 0xa5, 0x26, 0x5f, 0xf5, 0x15, 0x29, 0x56, 0xce, + 0xdf, 0xbd, 0xb7, 0x98, 0x61, 0x0b, 0x1e, 0xdc, 0x46, 0x67, 0xe1, 0xd8, 0x20, 0x5d, 0x63, 0xfd, + 0xaa, 0x14, 0x2f, 0x17, 0xee, 0xde, 0x5b, 0xcc, 0xfa, 0x2b, 0x23, 0x24, 0x03, 0x0a, 0x53, 0x72, + 0xbc, 0x44, 0x19, 0xee, 0xde, 0x5b, 0x4c, 0x31, 0x05, 0x2d, 0x27, 0x3f, 0xf4, 0x23, 0xa7, 0xa7, + 0xce, 0x7d, 0x3d, 0x40, 0xc3, 0xdc, 0x71, 0x34, 0x9d, 0x0e, 0xc4, 0x32, 0x1c, 0x6f, 0xac, 0x5f, + 0x51, 0x2a, 0xb5, 0x56, 0x63, 0x63, 0xbd, 0xef, 0xaf, 0x18, 0x45, 0xf3, 0x56, 0x36, 0xb6, 0xaa, + 0xab, 0x75, 0xb5, 0xd9, 0xb8, 0xba, 0xce, 0x4e, 0x4c, 0x44, 0xf2, 0xde, 0xbb, 0xde, 0x6a, 0xac, + 0xd5, 0xa5, 0xf8, 0xb9, 0x5f, 0x8a, 0xc3, 0x89, 0x88, 0xbc, 0x57, 0x2d, 0xfd, 0x16, 0x17, 0x52, + 0x15, 0x1e, 0x69, 0x6d, 0xdc, 0xa8, 0xaf, 0x37, 0x5e, 0xab, 0xab, 0xcd, 0x6b, 0x15, 0xa5, 0xae, + 0xd2, 0x27, 0xb6, 0x87, 0xca, 0x8c, 0x3e, 0xfd, 0xdd, 0x07, 0xb0, 0x6e, 0x74, 0xd0, 0xd7, 0xc0, + 0x99, 0x43, 0x30, 0xc8, 0x6f, 0x2a, 0xc7, 0x93, 0x77, 0xef, 0x2d, 0x1e, 0xeb, 0x63, 0x27, 0xbf, + 0x70, 0x1b, 0xad, 0xc0, 0x43, 0x87, 0xd6, 0x82, 0x63, 0xc4, 0xcb, 0xa7, 0xee, 0xde, 0x5b, 0x3c, + 0xd1, 0x87, 0xb1, 0x65, 0x76, 0x18, 0xca, 0x1a, 0x9c, 0x1d, 0x53, 0x0f, 0xb5, 0xfe, 0xca, 0x66, + 0x83, 0xfe, 0xe1, 0xa7, 0x44, 0x79, 0xe1, 0xee, 0xbd, 0xc5, 0x53, 0x43, 0xaa, 0x53, 0xdf, 0xb7, + 0x0d, 0xa2, 0x59, 0xac, 0x6f, 0xaa, 0x57, 0x46, 0x6e, 0x67, 0x3e, 0x71, 0xe8, 0x54, 0x1d, 0xcc, + 0xa4, 0x91, 0x3d, 0xcd, 0xff, 0x13, 0x00, 0x00, 0xff, 0xff, 0xfc, 0xb5, 0xe3, 0x28, 0x56, 0xa6, + 0x00, 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) @@ -2328,6 +2558,15 @@ func (this *Params) Equal(that interface{}) bool { if !this.MinCommissionRate.Equal(that1.MinCommissionRate) { return false } + if !this.ValidatorBondFactor.Equal(that1.ValidatorBondFactor) { + return false + } + if !this.GlobalLiquidStakingCap.Equal(that1.GlobalLiquidStakingCap) { + return false + } + if !this.ValidatorLiquidStakingCap.Equal(that1.ValidatorLiquidStakingCap) { + return false + } return true } func (this *RedelegationEntryResponse) Equal(that interface{}) bool { @@ -2384,6 +2623,39 @@ func (this *Pool) Equal(that interface{}) bool { } return true } +func (this *TokenizeShareRecord) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + that1, ok := that.(*TokenizeShareRecord) + if !ok { + that2, ok := that.(TokenizeShareRecord) + if ok { + that1 = &that2 + } else { + return false + } + } + if that1 == nil { + return this == nil + } else if this == nil { + return false + } + if this.Id != that1.Id { + return false + } + if this.Owner != that1.Owner { + return false + } + if this.ModuleAccount != that1.ModuleAccount { + return false + } + if this.Validator != that1.Validator { + return false + } + return true +} func (m *HistoricalInfo) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -2603,6 +2875,26 @@ func (m *Validator) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + { + size := m.LiquidShares.Size() + i -= size + if _, err := m.LiquidShares.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintStaking(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x7a + { + size := m.ValidatorBondShares.Size() + i -= size + if _, err := m.ValidatorBondShares.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintStaking(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x72 if len(m.UnbondingIds) > 0 { dAtA5 := make([]byte, len(m.UnbondingIds)*10) var j4 int @@ -2933,6 +3225,16 @@ func (m *Delegation) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.ValidatorBond { + i-- + if m.ValidatorBond { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x20 + } { size := m.Shares.Size() i -= size @@ -3221,6 +3523,36 @@ func (m *Params) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + { + size := m.ValidatorLiquidStakingCap.Size() + i -= size + if _, err := m.ValidatorLiquidStakingCap.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintStaking(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x4a + { + size := m.GlobalLiquidStakingCap.Size() + i -= size + if _, err := m.GlobalLiquidStakingCap.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintStaking(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x42 + { + size := m.ValidatorBondFactor.Size() + i -= size + if _, err := m.ValidatorBondFactor.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintStaking(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x3a { size := m.MinCommissionRate.Size() i -= size @@ -3477,6 +3809,87 @@ func (m *ValidatorUpdates) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *TokenizeShareRecord) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *TokenizeShareRecord) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *TokenizeShareRecord) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Validator) > 0 { + i -= len(m.Validator) + copy(dAtA[i:], m.Validator) + i = encodeVarintStaking(dAtA, i, uint64(len(m.Validator))) + i-- + dAtA[i] = 0x22 + } + if len(m.ModuleAccount) > 0 { + i -= len(m.ModuleAccount) + copy(dAtA[i:], m.ModuleAccount) + i = encodeVarintStaking(dAtA, i, uint64(len(m.ModuleAccount))) + i-- + dAtA[i] = 0x1a + } + if len(m.Owner) > 0 { + i -= len(m.Owner) + copy(dAtA[i:], m.Owner) + i = encodeVarintStaking(dAtA, i, uint64(len(m.Owner))) + i-- + dAtA[i] = 0x12 + } + if m.Id != 0 { + i = encodeVarintStaking(dAtA, i, uint64(m.Id)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *PendingTokenizeShareAuthorizations) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *PendingTokenizeShareAuthorizations) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *PendingTokenizeShareAuthorizations) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Addresses) > 0 { + for iNdEx := len(m.Addresses) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Addresses[iNdEx]) + copy(dAtA[i:], m.Addresses[iNdEx]) + i = encodeVarintStaking(dAtA, i, uint64(len(m.Addresses[iNdEx]))) + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + func encodeVarintStaking(dAtA []byte, offset int, v uint64) int { offset -= sovStaking(v) base := offset @@ -3607,6 +4020,10 @@ func (m *Validator) Size() (n int) { } n += 1 + sovStaking(uint64(l)) + l } + l = m.ValidatorBondShares.Size() + n += 1 + l + sovStaking(uint64(l)) + l = m.LiquidShares.Size() + n += 1 + l + sovStaking(uint64(l)) return n } @@ -3709,6 +4126,9 @@ func (m *Delegation) Size() (n int) { } l = m.Shares.Size() n += 1 + l + sovStaking(uint64(l)) + if m.ValidatorBond { + n += 2 + } return n } @@ -3833,6 +4253,12 @@ func (m *Params) Size() (n int) { } l = m.MinCommissionRate.Size() n += 1 + l + sovStaking(uint64(l)) + l = m.ValidatorBondFactor.Size() + n += 1 + l + sovStaking(uint64(l)) + l = m.GlobalLiquidStakingCap.Size() + n += 1 + l + sovStaking(uint64(l)) + l = m.ValidatorLiquidStakingCap.Size() + n += 1 + l + sovStaking(uint64(l)) return n } @@ -3907,17 +4333,56 @@ func (m *ValidatorUpdates) Size() (n int) { return n } -func sovStaking(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozStaking(x uint64) (n int) { - return sovStaking(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +func (m *TokenizeShareRecord) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Id != 0 { + n += 1 + sovStaking(uint64(m.Id)) + } + l = len(m.Owner) + if l > 0 { + n += 1 + l + sovStaking(uint64(l)) + } + l = len(m.ModuleAccount) + if l > 0 { + n += 1 + l + sovStaking(uint64(l)) + } + l = len(m.Validator) + if l > 0 { + n += 1 + l + sovStaking(uint64(l)) + } + return n } -func (m *HistoricalInfo) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx + +func (m *PendingTokenizeShareAuthorizations) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Addresses) > 0 { + for _, s := range m.Addresses { + l = len(s) + n += 1 + l + sovStaking(uint64(l)) + } + } + return n +} + +func sovStaking(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozStaking(x uint64) (n int) { + return sovStaking(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *HistoricalInfo) 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 { @@ -4959,6 +5424,74 @@ func (m *Validator) Unmarshal(dAtA []byte) error { } else { return fmt.Errorf("proto: wrong wireType = %d for field UnbondingIds", wireType) } + case 14: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ValidatorBondShares", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowStaking + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthStaking + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthStaking + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ValidatorBondShares.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 15: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field LiquidShares", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowStaking + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthStaking + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthStaking + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.LiquidShares.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipStaking(dAtA[iNdEx:]) @@ -5617,6 +6150,26 @@ func (m *Delegation) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ValidatorBond", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowStaking + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.ValidatorBond = bool(v != 0) default: iNdEx = preIndex skippy, err := skipStaking(dAtA[iNdEx:]) @@ -6567,6 +7120,108 @@ func (m *Params) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ValidatorBondFactor", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowStaking + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthStaking + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthStaking + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ValidatorBondFactor.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GlobalLiquidStakingCap", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowStaking + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthStaking + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthStaking + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.GlobalLiquidStakingCap.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ValidatorLiquidStakingCap", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowStaking + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthStaking + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthStaking + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ValidatorLiquidStakingCap.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipStaking(dAtA[iNdEx:]) @@ -7140,6 +7795,253 @@ func (m *ValidatorUpdates) Unmarshal(dAtA []byte) error { } return nil } +func (m *TokenizeShareRecord) 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 ErrIntOverflowStaking + } + 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: TokenizeShareRecord: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: TokenizeShareRecord: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) + } + m.Id = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowStaking + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Id |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Owner", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowStaking + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthStaking + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthStaking + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Owner = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ModuleAccount", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowStaking + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthStaking + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthStaking + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ModuleAccount = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Validator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowStaking + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthStaking + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthStaking + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Validator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipStaking(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthStaking + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *PendingTokenizeShareAuthorizations) 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 ErrIntOverflowStaking + } + 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: PendingTokenizeShareAuthorizations: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: PendingTokenizeShareAuthorizations: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Addresses", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowStaking + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthStaking + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthStaking + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Addresses = append(m.Addresses, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipStaking(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthStaking + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipStaking(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/x/staking/types/tokenize_share_record.go b/x/staking/types/tokenize_share_record.go new file mode 100644 index 000000000000..851118cde9c4 --- /dev/null +++ b/x/staking/types/tokenize_share_record.go @@ -0,0 +1,51 @@ +package types + +import ( + "fmt" + "strconv" + "strings" + + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/types/address" + "github.com/pkg/errors" +) + +func (r TokenizeShareRecord) GetModuleAddress() sdk.AccAddress { + // NOTE: The module name is intentionally hard coded so that, if this + // function were to move to a different module in future SDK version, + // it would not break all the address lookups + moduleName := "lsm" + return address.Module(moduleName, []byte(r.ModuleAccount)) +} + +func (r TokenizeShareRecord) GetShareTokenDenom() string { + return fmt.Sprintf("%s/%s", strings.ToLower(r.Validator), strconv.Itoa(int(r.Id))) +} + +func ParseShareTokenDenom(denom string) (TokenizeShareRecord, error) { + record := TokenizeShareRecord{} + + denomParts := strings.Split(denom, "/") + if partsLen := len(denomParts); partsLen != 2 { + err := errors.Errorf("wrong number of segments in share token denom: %d (expected 2)", partsLen) + return record, err + } + + valAddress, err := sdk.ValAddressFromBech32(denomParts[0]) + if err != nil { + err = errors.Wrap(err, "failed to parse val address part") + return record, err + } + + recordId, err := strconv.ParseUint(denomParts[1], 10, 64) + if err != nil { + err = errors.Wrap(err, "failed to parse recordId part") + return record, err + } + + record.Id = uint64(recordId) + record.Validator = valAddress.String() + record.ModuleAccount = fmt.Sprintf("%s%d", TokenizeShareModuleAccountPrefix, recordId) + + return record, nil +} diff --git a/x/staking/types/tx.pb.go b/x/staking/types/tx.pb.go index 84303cde7f4f..a195052ae9d3 100644 --- a/x/staking/types/tx.pb.go +++ b/x/staking/types/tx.pb.go @@ -649,6 +649,93 @@ func (m *MsgUpdateParamsResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgUpdateParamsResponse proto.InternalMessageInfo +// MsgUnbondValidator defines a method for performing the status transition for +// a validator from bonded to unbonding. +// +// Since: cosmos-sdk 0.47-lsm +type MsgUnbondValidator struct { + ValidatorAddress string `protobuf:"bytes,1,opt,name=validator_address,json=validatorAddress,proto3" json:"validator_address,omitempty"` +} + +func (m *MsgUnbondValidator) Reset() { *m = MsgUnbondValidator{} } +func (m *MsgUnbondValidator) String() string { return proto.CompactTextString(m) } +func (*MsgUnbondValidator) ProtoMessage() {} +func (*MsgUnbondValidator) Descriptor() ([]byte, []int) { + return fileDescriptor_0926ef28816b35ab, []int{14} +} +func (m *MsgUnbondValidator) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUnbondValidator) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUnbondValidator.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgUnbondValidator) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUnbondValidator.Merge(m, src) +} +func (m *MsgUnbondValidator) XXX_Size() int { + return m.Size() +} +func (m *MsgUnbondValidator) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUnbondValidator.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgUnbondValidator proto.InternalMessageInfo + +func (m *MsgUnbondValidator) GetValidatorAddress() string { + if m != nil { + return m.ValidatorAddress + } + return "" +} + +// MsgUnbondValidatorResponse defines the MsgUnbondValidator response type. +// +// Since: cosmos-sdk 0.47-lsm +type MsgUnbondValidatorResponse struct { +} + +func (m *MsgUnbondValidatorResponse) Reset() { *m = MsgUnbondValidatorResponse{} } +func (m *MsgUnbondValidatorResponse) String() string { return proto.CompactTextString(m) } +func (*MsgUnbondValidatorResponse) ProtoMessage() {} +func (*MsgUnbondValidatorResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_0926ef28816b35ab, []int{15} +} +func (m *MsgUnbondValidatorResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUnbondValidatorResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUnbondValidatorResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgUnbondValidatorResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUnbondValidatorResponse.Merge(m, src) +} +func (m *MsgUnbondValidatorResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgUnbondValidatorResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUnbondValidatorResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgUnbondValidatorResponse proto.InternalMessageInfo + // MsgTokenizeShares tokenizes a delegation. // // Since: cosmos-sdk 0.47-lsm @@ -663,7 +750,7 @@ func (m *MsgTokenizeShares) Reset() { *m = MsgTokenizeShares{} } func (m *MsgTokenizeShares) String() string { return proto.CompactTextString(m) } func (*MsgTokenizeShares) ProtoMessage() {} func (*MsgTokenizeShares) Descriptor() ([]byte, []int) { - return fileDescriptor_0926ef28816b35ab, []int{14} + return fileDescriptor_0926ef28816b35ab, []int{16} } func (m *MsgTokenizeShares) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -703,7 +790,7 @@ func (m *MsgTokenizeSharesResponse) Reset() { *m = MsgTokenizeSharesResp func (m *MsgTokenizeSharesResponse) String() string { return proto.CompactTextString(m) } func (*MsgTokenizeSharesResponse) ProtoMessage() {} func (*MsgTokenizeSharesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_0926ef28816b35ab, []int{15} + return fileDescriptor_0926ef28816b35ab, []int{17} } func (m *MsgTokenizeSharesResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -751,7 +838,7 @@ func (m *MsgRedeemTokensForShares) Reset() { *m = MsgRedeemTokensForShar func (m *MsgRedeemTokensForShares) String() string { return proto.CompactTextString(m) } func (*MsgRedeemTokensForShares) ProtoMessage() {} func (*MsgRedeemTokensForShares) Descriptor() ([]byte, []int) { - return fileDescriptor_0926ef28816b35ab, []int{16} + return fileDescriptor_0926ef28816b35ab, []int{18} } func (m *MsgRedeemTokensForShares) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -791,7 +878,7 @@ func (m *MsgRedeemTokensForSharesResponse) Reset() { *m = MsgRedeemToken func (m *MsgRedeemTokensForSharesResponse) String() string { return proto.CompactTextString(m) } func (*MsgRedeemTokensForSharesResponse) ProtoMessage() {} func (*MsgRedeemTokensForSharesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_0926ef28816b35ab, []int{17} + return fileDescriptor_0926ef28816b35ab, []int{19} } func (m *MsgRedeemTokensForSharesResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -827,6 +914,336 @@ func (m *MsgRedeemTokensForSharesResponse) GetAmount() types1.Coin { return types1.Coin{} } +// MsgTransferTokenizeShareRecord transfer a tokenize share record. +// +// Since: cosmos-sdk 0.47-lsm +type MsgTransferTokenizeShareRecord struct { + TokenizeShareRecordId uint64 `protobuf:"varint,1,opt,name=tokenize_share_record_id,json=tokenizeShareRecordId,proto3" json:"tokenize_share_record_id,omitempty"` + Sender string `protobuf:"bytes,2,opt,name=sender,proto3" json:"sender,omitempty"` + NewOwner string `protobuf:"bytes,3,opt,name=new_owner,json=newOwner,proto3" json:"new_owner,omitempty"` +} + +func (m *MsgTransferTokenizeShareRecord) Reset() { *m = MsgTransferTokenizeShareRecord{} } +func (m *MsgTransferTokenizeShareRecord) String() string { return proto.CompactTextString(m) } +func (*MsgTransferTokenizeShareRecord) ProtoMessage() {} +func (*MsgTransferTokenizeShareRecord) Descriptor() ([]byte, []int) { + return fileDescriptor_0926ef28816b35ab, []int{20} +} +func (m *MsgTransferTokenizeShareRecord) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgTransferTokenizeShareRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgTransferTokenizeShareRecord.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgTransferTokenizeShareRecord) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgTransferTokenizeShareRecord.Merge(m, src) +} +func (m *MsgTransferTokenizeShareRecord) XXX_Size() int { + return m.Size() +} +func (m *MsgTransferTokenizeShareRecord) XXX_DiscardUnknown() { + xxx_messageInfo_MsgTransferTokenizeShareRecord.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgTransferTokenizeShareRecord proto.InternalMessageInfo + +// MsgTransferTokenizeShareRecordResponse defines the MsgTransferTokenizeShareRecord response type. +// +// Since: cosmos-sdk 0.47-lsm +type MsgTransferTokenizeShareRecordResponse struct { +} + +func (m *MsgTransferTokenizeShareRecordResponse) Reset() { + *m = MsgTransferTokenizeShareRecordResponse{} +} +func (m *MsgTransferTokenizeShareRecordResponse) String() string { return proto.CompactTextString(m) } +func (*MsgTransferTokenizeShareRecordResponse) ProtoMessage() {} +func (*MsgTransferTokenizeShareRecordResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_0926ef28816b35ab, []int{21} +} +func (m *MsgTransferTokenizeShareRecordResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgTransferTokenizeShareRecordResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgTransferTokenizeShareRecordResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgTransferTokenizeShareRecordResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgTransferTokenizeShareRecordResponse.Merge(m, src) +} +func (m *MsgTransferTokenizeShareRecordResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgTransferTokenizeShareRecordResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgTransferTokenizeShareRecordResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgTransferTokenizeShareRecordResponse proto.InternalMessageInfo + +// MsgDisableTokenizeShares prevents the tokenization of shares for a given address. +// +// Since: cosmos-sdk 0.47-lsm +type MsgDisableTokenizeShares struct { + DelegatorAddress string `protobuf:"bytes,1,opt,name=delegator_address,json=delegatorAddress,proto3" json:"delegator_address,omitempty"` +} + +func (m *MsgDisableTokenizeShares) Reset() { *m = MsgDisableTokenizeShares{} } +func (m *MsgDisableTokenizeShares) String() string { return proto.CompactTextString(m) } +func (*MsgDisableTokenizeShares) ProtoMessage() {} +func (*MsgDisableTokenizeShares) Descriptor() ([]byte, []int) { + return fileDescriptor_0926ef28816b35ab, []int{22} +} +func (m *MsgDisableTokenizeShares) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgDisableTokenizeShares) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgDisableTokenizeShares.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgDisableTokenizeShares) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgDisableTokenizeShares.Merge(m, src) +} +func (m *MsgDisableTokenizeShares) XXX_Size() int { + return m.Size() +} +func (m *MsgDisableTokenizeShares) XXX_DiscardUnknown() { + xxx_messageInfo_MsgDisableTokenizeShares.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgDisableTokenizeShares proto.InternalMessageInfo + +// MsgDisableTokenizeSharesResponse defines the /DisableTokenizeShares response type. +// +// Since: cosmos-sdk 0.47-lsm +type MsgDisableTokenizeSharesResponse struct { +} + +func (m *MsgDisableTokenizeSharesResponse) Reset() { *m = MsgDisableTokenizeSharesResponse{} } +func (m *MsgDisableTokenizeSharesResponse) String() string { return proto.CompactTextString(m) } +func (*MsgDisableTokenizeSharesResponse) ProtoMessage() {} +func (*MsgDisableTokenizeSharesResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_0926ef28816b35ab, []int{23} +} +func (m *MsgDisableTokenizeSharesResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgDisableTokenizeSharesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgDisableTokenizeSharesResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgDisableTokenizeSharesResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgDisableTokenizeSharesResponse.Merge(m, src) +} +func (m *MsgDisableTokenizeSharesResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgDisableTokenizeSharesResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgDisableTokenizeSharesResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgDisableTokenizeSharesResponse proto.InternalMessageInfo + +// MsgEnableTokenizeShares re-enables tokenization of shares for a given address. +// +// Since: cosmos-sdk 0.47-lsm +type MsgEnableTokenizeShares struct { + DelegatorAddress string `protobuf:"bytes,1,opt,name=delegator_address,json=delegatorAddress,proto3" json:"delegator_address,omitempty"` +} + +func (m *MsgEnableTokenizeShares) Reset() { *m = MsgEnableTokenizeShares{} } +func (m *MsgEnableTokenizeShares) String() string { return proto.CompactTextString(m) } +func (*MsgEnableTokenizeShares) ProtoMessage() {} +func (*MsgEnableTokenizeShares) Descriptor() ([]byte, []int) { + return fileDescriptor_0926ef28816b35ab, []int{24} +} +func (m *MsgEnableTokenizeShares) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgEnableTokenizeShares) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgEnableTokenizeShares.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgEnableTokenizeShares) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgEnableTokenizeShares.Merge(m, src) +} +func (m *MsgEnableTokenizeShares) XXX_Size() int { + return m.Size() +} +func (m *MsgEnableTokenizeShares) XXX_DiscardUnknown() { + xxx_messageInfo_MsgEnableTokenizeShares.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgEnableTokenizeShares proto.InternalMessageInfo + +// MsgEnableTokenizeSharesResponse defines the EnableTokenizeShares response type. +// +// Since: cosmos-sdk 0.47-lsm +type MsgEnableTokenizeSharesResponse struct { + CompletionTime time.Time `protobuf:"bytes,1,opt,name=completion_time,json=completionTime,proto3,stdtime" json:"completion_time"` +} + +func (m *MsgEnableTokenizeSharesResponse) Reset() { *m = MsgEnableTokenizeSharesResponse{} } +func (m *MsgEnableTokenizeSharesResponse) String() string { return proto.CompactTextString(m) } +func (*MsgEnableTokenizeSharesResponse) ProtoMessage() {} +func (*MsgEnableTokenizeSharesResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_0926ef28816b35ab, []int{25} +} +func (m *MsgEnableTokenizeSharesResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgEnableTokenizeSharesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgEnableTokenizeSharesResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgEnableTokenizeSharesResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgEnableTokenizeSharesResponse.Merge(m, src) +} +func (m *MsgEnableTokenizeSharesResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgEnableTokenizeSharesResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgEnableTokenizeSharesResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgEnableTokenizeSharesResponse proto.InternalMessageInfo + +func (m *MsgEnableTokenizeSharesResponse) GetCompletionTime() time.Time { + if m != nil { + return m.CompletionTime + } + return time.Time{} +} + +// MsgValidatorBond defines a SDK message for performing validator self-bond of delegated coins +// from a delegator to a validator. +// +// Since: cosmos-sdk 0.47-lsm +type MsgValidatorBond struct { + DelegatorAddress string `protobuf:"bytes,1,opt,name=delegator_address,json=delegatorAddress,proto3" json:"delegator_address,omitempty" yaml:"delegator_address"` + ValidatorAddress string `protobuf:"bytes,2,opt,name=validator_address,json=validatorAddress,proto3" json:"validator_address,omitempty" yaml:"validator_address"` +} + +func (m *MsgValidatorBond) Reset() { *m = MsgValidatorBond{} } +func (m *MsgValidatorBond) String() string { return proto.CompactTextString(m) } +func (*MsgValidatorBond) ProtoMessage() {} +func (*MsgValidatorBond) Descriptor() ([]byte, []int) { + return fileDescriptor_0926ef28816b35ab, []int{26} +} +func (m *MsgValidatorBond) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgValidatorBond) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgValidatorBond.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgValidatorBond) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgValidatorBond.Merge(m, src) +} +func (m *MsgValidatorBond) XXX_Size() int { + return m.Size() +} +func (m *MsgValidatorBond) XXX_DiscardUnknown() { + xxx_messageInfo_MsgValidatorBond.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgValidatorBond proto.InternalMessageInfo + +// MsgValidatorBondResponse defines the ValidatorBond response type. +// +// Since: cosmos-sdk 0.47-lsm +type MsgValidatorBondResponse struct { +} + +func (m *MsgValidatorBondResponse) Reset() { *m = MsgValidatorBondResponse{} } +func (m *MsgValidatorBondResponse) String() string { return proto.CompactTextString(m) } +func (*MsgValidatorBondResponse) ProtoMessage() {} +func (*MsgValidatorBondResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_0926ef28816b35ab, []int{27} +} +func (m *MsgValidatorBondResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgValidatorBondResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgValidatorBondResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgValidatorBondResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgValidatorBondResponse.Merge(m, src) +} +func (m *MsgValidatorBondResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgValidatorBondResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgValidatorBondResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgValidatorBondResponse proto.InternalMessageInfo + func init() { proto.RegisterType((*MsgCreateValidator)(nil), "cosmos.staking.v1beta1.MsgCreateValidator") proto.RegisterType((*MsgCreateValidatorResponse)(nil), "cosmos.staking.v1beta1.MsgCreateValidatorResponse") @@ -842,95 +1259,126 @@ func init() { proto.RegisterType((*MsgCancelUnbondingDelegationResponse)(nil), "cosmos.staking.v1beta1.MsgCancelUnbondingDelegationResponse") proto.RegisterType((*MsgUpdateParams)(nil), "cosmos.staking.v1beta1.MsgUpdateParams") proto.RegisterType((*MsgUpdateParamsResponse)(nil), "cosmos.staking.v1beta1.MsgUpdateParamsResponse") + proto.RegisterType((*MsgUnbondValidator)(nil), "cosmos.staking.v1beta1.MsgUnbondValidator") + proto.RegisterType((*MsgUnbondValidatorResponse)(nil), "cosmos.staking.v1beta1.MsgUnbondValidatorResponse") proto.RegisterType((*MsgTokenizeShares)(nil), "cosmos.staking.v1beta1.MsgTokenizeShares") proto.RegisterType((*MsgTokenizeSharesResponse)(nil), "cosmos.staking.v1beta1.MsgTokenizeSharesResponse") proto.RegisterType((*MsgRedeemTokensForShares)(nil), "cosmos.staking.v1beta1.MsgRedeemTokensForShares") proto.RegisterType((*MsgRedeemTokensForSharesResponse)(nil), "cosmos.staking.v1beta1.MsgRedeemTokensForSharesResponse") + proto.RegisterType((*MsgTransferTokenizeShareRecord)(nil), "cosmos.staking.v1beta1.MsgTransferTokenizeShareRecord") + proto.RegisterType((*MsgTransferTokenizeShareRecordResponse)(nil), "cosmos.staking.v1beta1.MsgTransferTokenizeShareRecordResponse") + proto.RegisterType((*MsgDisableTokenizeShares)(nil), "cosmos.staking.v1beta1.MsgDisableTokenizeShares") + proto.RegisterType((*MsgDisableTokenizeSharesResponse)(nil), "cosmos.staking.v1beta1.MsgDisableTokenizeSharesResponse") + proto.RegisterType((*MsgEnableTokenizeShares)(nil), "cosmos.staking.v1beta1.MsgEnableTokenizeShares") + proto.RegisterType((*MsgEnableTokenizeSharesResponse)(nil), "cosmos.staking.v1beta1.MsgEnableTokenizeSharesResponse") + proto.RegisterType((*MsgValidatorBond)(nil), "cosmos.staking.v1beta1.MsgValidatorBond") + proto.RegisterType((*MsgValidatorBondResponse)(nil), "cosmos.staking.v1beta1.MsgValidatorBondResponse") } func init() { proto.RegisterFile("cosmos/staking/v1beta1/tx.proto", fileDescriptor_0926ef28816b35ab) } var fileDescriptor_0926ef28816b35ab = []byte{ - // 1264 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x58, 0xcf, 0x6f, 0x1b, 0x45, - 0x14, 0xf6, 0xda, 0xa9, 0xa1, 0x53, 0xf2, 0x6b, 0x93, 0xb4, 0xf6, 0xb6, 0xd8, 0x61, 0x1b, 0x48, - 0x14, 0xf0, 0xba, 0x0d, 0x88, 0x08, 0x53, 0xa1, 0xc6, 0x4d, 0x02, 0x85, 0x1a, 0x22, 0x27, 0x29, - 0x12, 0x20, 0x99, 0xf1, 0xee, 0x64, 0xbd, 0xb2, 0x77, 0xc7, 0xdd, 0x19, 0x87, 0x9a, 0x13, 0xe2, - 0x04, 0x5c, 0xe8, 0x3f, 0x50, 0xa9, 0x1c, 0x90, 0xe0, 0x96, 0x43, 0x4e, 0xdc, 0x91, 0x22, 0x4e, - 0x55, 0x4e, 0xa8, 0x87, 0x80, 0x92, 0x43, 0xfa, 0x3f, 0x70, 0x41, 0xbb, 0x3b, 0x5e, 0xef, 0xae, - 0xbd, 0xb6, 0x93, 0xa6, 0x97, 0x5e, 0x12, 0x67, 0xe6, 0xbd, 0x6f, 0xde, 0xfb, 0xbe, 0xf7, 0x66, - 0x9e, 0x03, 0xd2, 0x32, 0x26, 0x3a, 0x26, 0x59, 0x42, 0x61, 0x55, 0x33, 0xd4, 0xec, 0xf6, 0xf5, - 0x32, 0xa2, 0xf0, 0x7a, 0x96, 0xde, 0x97, 0xea, 0x26, 0xa6, 0x98, 0xbf, 0xe8, 0x18, 0x48, 0xcc, - 0x40, 0x62, 0x06, 0x42, 0x52, 0xc5, 0x58, 0xad, 0xa1, 0xac, 0x6d, 0x55, 0x6e, 0x6c, 0x65, 0xa1, - 0xd1, 0x74, 0x5c, 0x84, 0x74, 0x70, 0x8b, 0x6a, 0x3a, 0x22, 0x14, 0xea, 0x75, 0x66, 0x30, 0xa9, - 0x62, 0x15, 0xdb, 0x1f, 0xb3, 0xd6, 0x27, 0xb6, 0x9a, 0x74, 0x4e, 0x2a, 0x39, 0x1b, 0xec, 0x58, - 0x67, 0x2b, 0xc5, 0xa2, 0x2c, 0x43, 0x82, 0xdc, 0x10, 0x65, 0xac, 0x19, 0x6c, 0x7f, 0x26, 0x24, - 0x8b, 0x56, 0xd0, 0x8e, 0xd5, 0x25, 0x66, 0xa5, 0x13, 0xcb, 0xc2, 0xfa, 0xc5, 0x36, 0xc6, 0xa1, - 0xae, 0x19, 0x38, 0x6b, 0xff, 0x74, 0x96, 0xc4, 0xff, 0x86, 0x00, 0x5f, 0x20, 0xea, 0x2d, 0x13, - 0x41, 0x8a, 0xee, 0xc2, 0x9a, 0xa6, 0x40, 0x8a, 0x4d, 0x7e, 0x0d, 0x5c, 0x50, 0x10, 0x91, 0x4d, - 0xad, 0x4e, 0x35, 0x6c, 0x24, 0xb8, 0x69, 0x6e, 0xee, 0xc2, 0xc2, 0x55, 0xa9, 0x3b, 0x47, 0xd2, - 0x72, 0xdb, 0x34, 0x7f, 0x7e, 0xef, 0x20, 0x1d, 0xf9, 0xed, 0x78, 0x67, 0x9e, 0x2b, 0x7a, 0x21, - 0xf8, 0x22, 0x00, 0x32, 0xd6, 0x75, 0x8d, 0x10, 0x0b, 0x30, 0x6a, 0x03, 0xce, 0x86, 0x01, 0xde, - 0x72, 0x2d, 0x8b, 0x90, 0x22, 0xe2, 0x05, 0xf5, 0xa0, 0xf0, 0x5f, 0x83, 0x09, 0x5d, 0x33, 0x4a, - 0x04, 0xd5, 0xb6, 0x4a, 0x0a, 0xaa, 0x21, 0x15, 0xda, 0xd1, 0xc6, 0xa6, 0xb9, 0xb9, 0xf3, 0xf9, - 0x6b, 0x96, 0xcf, 0x93, 0x83, 0xf4, 0x94, 0x73, 0x06, 0x51, 0xaa, 0x92, 0x86, 0xb3, 0x3a, 0xa4, - 0x15, 0xe9, 0xb6, 0x41, 0xf7, 0x77, 0x33, 0x80, 0x1d, 0x7e, 0xdb, 0xa0, 0x0e, 0xf4, 0xb8, 0xae, - 0x19, 0xeb, 0xa8, 0xb6, 0xb5, 0xec, 0x42, 0xf1, 0x1f, 0x82, 0x71, 0x06, 0x8c, 0xcd, 0x12, 0x54, - 0x14, 0x13, 0x11, 0x92, 0x18, 0xb2, 0xf1, 0x85, 0xfd, 0xdd, 0xcc, 0x24, 0x83, 0x58, 0x72, 0x76, - 0xd6, 0xa9, 0xa9, 0x19, 0x6a, 0x82, 0x2b, 0x8e, 0xb9, 0x4e, 0x6c, 0x87, 0xff, 0x14, 0x8c, 0x6f, - 0xb7, 0xd8, 0x75, 0x81, 0xce, 0xd9, 0x40, 0xaf, 0xed, 0xef, 0x66, 0x5e, 0x65, 0x40, 0xae, 0x02, - 0x3e, 0xc4, 0xe2, 0xd8, 0x76, 0x60, 0x9d, 0x5f, 0x05, 0xf1, 0x7a, 0xa3, 0x5c, 0x45, 0xcd, 0x44, - 0xdc, 0xa6, 0x72, 0x52, 0x72, 0x8a, 0x51, 0x6a, 0x15, 0xa3, 0xb4, 0x64, 0x34, 0xf3, 0x89, 0xbf, - 0xda, 0x31, 0xca, 0x66, 0xb3, 0x4e, 0xb1, 0xb4, 0xd6, 0x28, 0x7f, 0x82, 0x9a, 0x45, 0xe6, 0xcd, - 0xe7, 0xc0, 0xb9, 0x6d, 0x58, 0x6b, 0xa0, 0xc4, 0x4b, 0x36, 0x4c, 0xb2, 0xa5, 0x88, 0x55, 0x81, - 0x1e, 0x39, 0x34, 0x9f, 0xb0, 0x8e, 0x4b, 0xee, 0xe6, 0x0f, 0x8f, 0xd2, 0x91, 0xa7, 0x8f, 0xd2, - 0x91, 0xef, 0x8f, 0x77, 0xe6, 0x3b, 0xd3, 0xfb, 0xe9, 0x78, 0x67, 0x9e, 0xe5, 0x95, 0x21, 0x4a, - 0x35, 0xdb, 0x59, 0x66, 0xe2, 0x15, 0x20, 0x74, 0xae, 0x16, 0x11, 0xa9, 0x63, 0x83, 0x20, 0xf1, - 0xd7, 0x18, 0x18, 0x2b, 0x10, 0x75, 0x45, 0xd1, 0xe8, 0xf3, 0xac, 0xcc, 0xae, 0xd2, 0x44, 0x4f, - 0x2f, 0xcd, 0x5d, 0x30, 0xda, 0xae, 0xd1, 0x92, 0x09, 0x29, 0x62, 0x15, 0x99, 0x79, 0x72, 0x90, - 0xbe, 0xdc, 0x59, 0x8d, 0x77, 0x90, 0x0a, 0xe5, 0xe6, 0x32, 0x92, 0x3d, 0x35, 0xb9, 0x8c, 0xe4, - 0xe2, 0x88, 0xec, 0xeb, 0x02, 0xfe, 0xf3, 0xee, 0xd5, 0xee, 0x54, 0xe3, 0xec, 0x80, 0x95, 0xde, - 0xa5, 0xc8, 0x73, 0x1f, 0xf4, 0xd7, 0xf1, 0xb2, 0x5f, 0x47, 0x9f, 0x24, 0xa2, 0x00, 0x12, 0xc1, - 0x35, 0x57, 0xc3, 0x87, 0x51, 0x70, 0xa1, 0x40, 0x54, 0x76, 0x1a, 0xe2, 0x57, 0xba, 0x35, 0x14, - 0x67, 0xa7, 0x90, 0x08, 0x6b, 0xa8, 0x41, 0xdb, 0xe9, 0x19, 0x34, 0xbb, 0x01, 0xe2, 0x50, 0xc7, - 0x0d, 0x83, 0xda, 0x52, 0x0d, 0xda, 0x07, 0xcc, 0x27, 0xf7, 0x9e, 0x8f, 0xc0, 0x8e, 0xfc, 0x2c, - 0x02, 0x2f, 0xfa, 0x09, 0x6c, 0xf1, 0x21, 0x4e, 0x81, 0x09, 0xcf, 0x9f, 0x2e, 0x6d, 0x3f, 0xc6, - 0xec, 0x6b, 0x39, 0x8f, 0x54, 0xcd, 0x28, 0x22, 0xe5, 0x8c, 0xd9, 0xdb, 0x04, 0x53, 0x6d, 0xf6, - 0x88, 0x29, 0x9f, 0x9c, 0xc1, 0x09, 0xd7, 0x7f, 0xdd, 0x94, 0xbb, 0xc2, 0x2a, 0x84, 0xba, 0xb0, - 0xb1, 0x93, 0xc3, 0x2e, 0x13, 0xda, 0xa9, 0xcd, 0xd0, 0x29, 0xb4, 0xb9, 0xd9, 0x5f, 0x9b, 0xc0, - 0x25, 0x15, 0x20, 0x5d, 0xac, 0xdb, 0x97, 0x54, 0x60, 0xb5, 0xa5, 0x14, 0x5f, 0xb4, 0xbb, 0xbd, - 0x5e, 0x43, 0x56, 0x2b, 0x95, 0xac, 0x09, 0x80, 0xdd, 0x49, 0x42, 0xc7, 0x8d, 0xbc, 0xd1, 0x1a, - 0x0f, 0xf2, 0xc3, 0x56, 0x9c, 0x0f, 0xfe, 0x49, 0x73, 0x4e, 0xac, 0x23, 0x6d, 0x04, 0xcb, 0x46, - 0xfc, 0x25, 0x0a, 0x86, 0x0b, 0x44, 0xdd, 0x34, 0x94, 0x17, 0xba, 0x6d, 0xde, 0xef, 0x2f, 0x4d, - 0xc2, 0x2f, 0x4d, 0x9b, 0x11, 0xf1, 0x77, 0x0e, 0x4c, 0xf9, 0x56, 0x9e, 0xa7, 0x22, 0x9e, 0x44, - 0xa3, 0x27, 0x4f, 0x54, 0x7c, 0x1a, 0x05, 0x57, 0xac, 0x77, 0x0e, 0x1a, 0x32, 0xaa, 0x6d, 0x1a, - 0x65, 0x6c, 0x28, 0x9a, 0xa1, 0x7a, 0xc6, 0x8c, 0x17, 0x51, 0x5e, 0x7e, 0x16, 0x8c, 0xca, 0xd6, - 0xcb, 0x6e, 0xa9, 0x50, 0x41, 0x9a, 0x5a, 0x71, 0x1a, 0x38, 0x56, 0x1c, 0x69, 0x2d, 0x7f, 0x64, - 0xaf, 0xe6, 0x3e, 0xee, 0x5f, 0x07, 0xb3, 0x81, 0x39, 0x22, 0x8c, 0x49, 0xf1, 0x0d, 0x30, 0xd3, - 0x6b, 0xdf, 0xbd, 0x60, 0xff, 0xe4, 0xc0, 0xa8, 0x55, 0x3e, 0x75, 0x05, 0x52, 0xb4, 0x06, 0x4d, - 0xa8, 0x13, 0xfe, 0x5d, 0x70, 0x1e, 0x36, 0x68, 0x05, 0x9b, 0x1a, 0x6d, 0xf6, 0x65, 0xbf, 0x6d, - 0xca, 0x2f, 0x81, 0x78, 0xdd, 0x46, 0x60, 0xc5, 0x91, 0x0a, 0x9b, 0x46, 0x9c, 0x73, 0x7c, 0x5c, - 0x39, 0x8e, 0xb9, 0x45, 0x2b, 0xf5, 0x36, 0xa4, 0x95, 0xf2, 0x8c, 0x27, 0xe5, 0xfb, 0xee, 0xc4, - 0x1f, 0x88, 0x59, 0x4c, 0x82, 0x4b, 0x81, 0x25, 0x37, 0xc5, 0xbd, 0x28, 0x18, 0x2f, 0x10, 0x75, - 0x03, 0x57, 0x91, 0xa1, 0x7d, 0x8b, 0xd6, 0x2b, 0xd0, 0x44, 0xe4, 0xac, 0x4a, 0x6d, 0x25, 0xbc, - 0xd4, 0x7a, 0xc0, 0x74, 0x54, 0xd8, 0xe2, 0xe0, 0x15, 0x36, 0x64, 0xb1, 0xe6, 0x16, 0xd7, 0x1d, - 0x30, 0x45, 0x59, 0x62, 0x4a, 0x89, 0x58, 0xa9, 0x95, 0xf0, 0x37, 0x06, 0x32, 0xd9, 0x38, 0x14, - 0x1e, 0xc3, 0x84, 0xeb, 0x66, 0x13, 0xf2, 0x99, 0xe5, 0x94, 0x4b, 0xf5, 0xae, 0x40, 0x71, 0x03, - 0x24, 0x3b, 0x98, 0x74, 0xef, 0x9b, 0x76, 0x0e, 0xdc, 0x89, 0x72, 0x10, 0xff, 0xe0, 0xec, 0xc1, - 0xc9, 0x7a, 0x54, 0x90, 0x6e, 0x83, 0x93, 0x55, 0x6c, 0x9e, 0xad, 0x4e, 0x8b, 0x83, 0x5f, 0x5c, - 0xbe, 0xe0, 0xfa, 0x52, 0xf2, 0x25, 0x98, 0x0e, 0x8b, 0xfd, 0x99, 0x99, 0x59, 0x78, 0x18, 0x07, - 0xb1, 0x02, 0x51, 0xf9, 0x7b, 0x60, 0x34, 0xf8, 0xcd, 0x74, 0x3e, 0xac, 0xb9, 0x3a, 0xbf, 0x48, - 0x08, 0x0b, 0x83, 0xdb, 0xba, 0x31, 0x57, 0xc1, 0xb0, 0xff, 0x0b, 0xc7, 0x5c, 0x0f, 0x10, 0x9f, - 0xa5, 0x70, 0x6d, 0x50, 0x4b, 0xf7, 0xb0, 0xaf, 0xc0, 0xcb, 0xee, 0x64, 0x7c, 0xb5, 0x87, 0x77, - 0xcb, 0x48, 0x78, 0x73, 0x00, 0x23, 0x17, 0xfd, 0x1e, 0x18, 0x0d, 0x0e, 0x90, 0xbd, 0xd8, 0x0b, - 0xd8, 0xf6, 0x64, 0x2f, 0x6c, 0x1a, 0x2a, 0x03, 0xe0, 0x99, 0x5a, 0x5e, 0xef, 0x81, 0xd0, 0x36, - 0x13, 0x32, 0x03, 0x99, 0xb9, 0x67, 0xfc, 0xcc, 0x81, 0x64, 0xf8, 0x53, 0xfa, 0x4e, 0x2f, 0xcd, - 0xc3, 0xbc, 0x84, 0x1b, 0xa7, 0xf1, 0x72, 0x23, 0xaa, 0x80, 0x57, 0x7c, 0x0f, 0xc9, 0x6c, 0xaf, - 0x84, 0x3c, 0x86, 0x42, 0x76, 0x40, 0xc3, 0xd6, 0x49, 0xc2, 0xb9, 0xef, 0xac, 0x67, 0x23, 0xbf, - 0xba, 0x77, 0x98, 0xe2, 0x1e, 0x1f, 0xa6, 0xb8, 0x7f, 0x0f, 0x53, 0xdc, 0x83, 0xa3, 0x54, 0xe4, - 0xf1, 0x51, 0x2a, 0xf2, 0xf7, 0x51, 0x2a, 0xf2, 0xc5, 0x5b, 0xaa, 0x46, 0x2b, 0x8d, 0xb2, 0x24, - 0x63, 0x9d, 0xfd, 0x6b, 0x29, 0xdb, 0xf5, 0x1d, 0xa1, 0xcd, 0x3a, 0x22, 0xe5, 0xb8, 0x3d, 0x09, - 0xbd, 0xfd, 0x7f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xf3, 0xf1, 0xa4, 0xf6, 0x1e, 0x13, 0x00, 0x00, + // 1586 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x59, 0x4f, 0x6c, 0x1b, 0x45, + 0x17, 0xcf, 0x3a, 0x69, 0xbe, 0x66, 0xfa, 0x25, 0x69, 0x36, 0x7f, 0xea, 0x6c, 0xfa, 0xd9, 0xfd, + 0xb6, 0xa5, 0x09, 0x81, 0xd8, 0x6d, 0x41, 0x0d, 0x98, 0xaa, 0x6a, 0xdd, 0xa4, 0x10, 0xa8, 0xa1, + 0xda, 0xb4, 0x45, 0x02, 0x24, 0xb3, 0xde, 0x9d, 0xac, 0x57, 0xf1, 0xce, 0xba, 0x3b, 0xe3, 0xb4, + 0xe6, 0x54, 0xe0, 0x02, 0x5c, 0xe8, 0x01, 0x8e, 0x48, 0x45, 0x08, 0x09, 0x6e, 0x3d, 0xf4, 0xc4, + 0x1d, 0x29, 0xe2, 0x54, 0xf5, 0x84, 0x7a, 0x08, 0xa8, 0x3d, 0xb4, 0x67, 0xae, 0x5c, 0xd0, 0xce, + 0x8e, 0xc7, 0xbb, 0xeb, 0xdd, 0xb5, 0x9d, 0xb6, 0x42, 0xea, 0xa5, 0xb5, 0x67, 0xde, 0x7b, 0xf3, + 0xde, 0xef, 0xf7, 0xde, 0x9b, 0x37, 0x0e, 0xc8, 0x6a, 0x36, 0xb6, 0x6c, 0x9c, 0xc7, 0x44, 0xdd, + 0x34, 0x91, 0x91, 0xdf, 0x3a, 0x5e, 0x81, 0x44, 0x3d, 0x9e, 0x27, 0xd7, 0x73, 0x75, 0xc7, 0x26, + 0xb6, 0x38, 0xe3, 0x09, 0xe4, 0x98, 0x40, 0x8e, 0x09, 0x48, 0xb3, 0x86, 0x6d, 0x1b, 0x35, 0x98, + 0xa7, 0x52, 0x95, 0xc6, 0x46, 0x5e, 0x45, 0x4d, 0x4f, 0x45, 0xca, 0x86, 0xb7, 0x88, 0x69, 0x41, + 0x4c, 0x54, 0xab, 0xce, 0x04, 0xa6, 0x0c, 0xdb, 0xb0, 0xe9, 0xc7, 0xbc, 0xfb, 0x89, 0xad, 0xce, + 0x7a, 0x27, 0x95, 0xbd, 0x0d, 0x76, 0xac, 0xb7, 0x95, 0x61, 0x5e, 0x56, 0x54, 0x0c, 0xb9, 0x8b, + 0x9a, 0x6d, 0x22, 0xb6, 0x7f, 0x24, 0x26, 0x8a, 0x96, 0xd3, 0x9e, 0xd4, 0x01, 0x26, 0x65, 0x61, + 0x57, 0xc2, 0xfd, 0x8f, 0x6d, 0x4c, 0xa8, 0x96, 0x89, 0xec, 0x3c, 0xfd, 0xd7, 0x5b, 0x92, 0xff, + 0x1e, 0x02, 0x62, 0x09, 0x1b, 0xe7, 0x1c, 0xa8, 0x12, 0x78, 0x45, 0xad, 0x99, 0xba, 0x4a, 0x6c, + 0x47, 0xbc, 0x08, 0xf6, 0xe9, 0x10, 0x6b, 0x8e, 0x59, 0x27, 0xa6, 0x8d, 0xd2, 0xc2, 0x21, 0x61, + 0x61, 0xdf, 0x89, 0xc3, 0xb9, 0x68, 0x8c, 0x72, 0x2b, 0x6d, 0xd1, 0xe2, 0xc8, 0xf6, 0x4e, 0x76, + 0xe0, 0xa7, 0x47, 0xb7, 0x17, 0x05, 0xc5, 0x6f, 0x42, 0x54, 0x00, 0xd0, 0x6c, 0xcb, 0x32, 0x31, + 0x76, 0x0d, 0xa6, 0xa8, 0xc1, 0xf9, 0x38, 0x83, 0xe7, 0xb8, 0xa4, 0xa2, 0x12, 0x88, 0xfd, 0x46, + 0x7d, 0x56, 0xc4, 0x8f, 0xc1, 0xa4, 0x65, 0xa2, 0x32, 0x86, 0xb5, 0x8d, 0xb2, 0x0e, 0x6b, 0xd0, + 0x50, 0xa9, 0xb7, 0x83, 0x87, 0x84, 0x85, 0x91, 0xe2, 0x31, 0x57, 0xe7, 0xfe, 0x4e, 0x76, 0xda, + 0x3b, 0x03, 0xeb, 0x9b, 0x39, 0xd3, 0xce, 0x5b, 0x2a, 0xa9, 0xe6, 0xd6, 0x10, 0xb9, 0x77, 0x67, + 0x09, 0xb0, 0xc3, 0xd7, 0x10, 0xf1, 0x4c, 0x4f, 0x58, 0x26, 0x5a, 0x87, 0xb5, 0x8d, 0x15, 0x6e, + 0x4a, 0x7c, 0x13, 0x4c, 0x30, 0xc3, 0xb6, 0x53, 0x56, 0x75, 0xdd, 0x81, 0x18, 0xa7, 0x87, 0xa8, + 0x7d, 0xe9, 0xde, 0x9d, 0xa5, 0x29, 0x66, 0xe2, 0xac, 0xb7, 0xb3, 0x4e, 0x1c, 0x13, 0x19, 0x69, + 0x41, 0xd9, 0xcf, 0x95, 0xd8, 0x8e, 0xf8, 0x2e, 0x98, 0xd8, 0x6a, 0xa1, 0xcb, 0x0d, 0xed, 0xa1, + 0x86, 0xfe, 0x7f, 0xef, 0xce, 0xd2, 0xff, 0x98, 0x21, 0xce, 0x40, 0xc0, 0xa2, 0xb2, 0x7f, 0x2b, + 0xb4, 0x2e, 0x9e, 0x07, 0xc3, 0xf5, 0x46, 0x65, 0x13, 0x36, 0xd3, 0xc3, 0x14, 0xca, 0xa9, 0x9c, + 0x97, 0x8c, 0xb9, 0x56, 0x32, 0xe6, 0xce, 0xa2, 0x66, 0x31, 0xfd, 0x5b, 0xdb, 0x47, 0xcd, 0x69, + 0xd6, 0x89, 0x9d, 0xbb, 0xd8, 0xa8, 0xbc, 0x03, 0x9b, 0x0a, 0xd3, 0x16, 0x0b, 0x60, 0xcf, 0x96, + 0x5a, 0x6b, 0xc0, 0xf4, 0x7f, 0xa8, 0x99, 0xd9, 0x16, 0x23, 0x6e, 0x06, 0xfa, 0xe8, 0x30, 0x03, + 0xc4, 0x7a, 0x2a, 0x85, 0x33, 0x5f, 0xdc, 0xca, 0x0e, 0x3c, 0xbe, 0x95, 0x1d, 0xf8, 0xec, 0xd1, + 0xed, 0xc5, 0xce, 0xf0, 0xbe, 0x7a, 0x74, 0x7b, 0x91, 0xc5, 0xb5, 0x84, 0xf5, 0xcd, 0x7c, 0x67, + 0x9a, 0xc9, 0x07, 0x81, 0xd4, 0xb9, 0xaa, 0x40, 0x5c, 0xb7, 0x11, 0x86, 0xf2, 0x8f, 0x83, 0x60, + 0x7f, 0x09, 0x1b, 0xab, 0xba, 0x49, 0x9e, 0x65, 0x66, 0x46, 0x52, 0x93, 0xda, 0x3d, 0x35, 0x57, + 0xc0, 0x78, 0x3b, 0x47, 0xcb, 0x8e, 0x4a, 0x20, 0xcb, 0xc8, 0xa5, 0xfb, 0x3b, 0xd9, 0xb9, 0xce, + 0x6c, 0xbc, 0x00, 0x0d, 0x55, 0x6b, 0xae, 0x40, 0xcd, 0x97, 0x93, 0x2b, 0x50, 0x53, 0xc6, 0xb4, + 0x40, 0x15, 0x88, 0xef, 0x47, 0x67, 0xbb, 0x97, 0x8d, 0xf3, 0x3d, 0x66, 0x7a, 0x44, 0x92, 0x17, + 0x4e, 0x77, 0xe7, 0x71, 0x2e, 0xc8, 0x63, 0x80, 0x12, 0x59, 0x02, 0xe9, 0xf0, 0x1a, 0xe7, 0xf0, + 0xbb, 0x14, 0xd8, 0x57, 0xc2, 0x06, 0x3b, 0x0d, 0x8a, 0xab, 0x51, 0x05, 0x25, 0xd0, 0x10, 0xd2, + 0x71, 0x05, 0xd5, 0x6b, 0x39, 0x3d, 0x01, 0x67, 0xa7, 0xc0, 0xb0, 0x6a, 0xd9, 0x0d, 0x44, 0x28, + 0x55, 0xbd, 0xd6, 0x01, 0xd3, 0x29, 0xbc, 0x1e, 0x00, 0xb0, 0x23, 0x3e, 0x17, 0xc0, 0x99, 0x20, + 0x80, 0x2d, 0x3c, 0xe4, 0x69, 0x30, 0xe9, 0xfb, 0xca, 0x61, 0xfb, 0x72, 0x90, 0xb6, 0xe5, 0x22, + 0x34, 0x4c, 0xa4, 0x40, 0xfd, 0x29, 0xa3, 0x77, 0x19, 0x4c, 0xb7, 0xd1, 0xc3, 0x8e, 0xd6, 0x3f, + 0x82, 0x93, 0x5c, 0x7f, 0xdd, 0xd1, 0x22, 0xcd, 0xea, 0x98, 0x70, 0xb3, 0x83, 0xfd, 0x9b, 0x5d, + 0xc1, 0xa4, 0x93, 0x9b, 0xa1, 0x5d, 0x70, 0x73, 0xa6, 0x3b, 0x37, 0xa1, 0x26, 0x15, 0x02, 0x5d, + 0xae, 0xd3, 0x26, 0x15, 0x5a, 0x6d, 0x31, 0x25, 0x2a, 0xb4, 0xda, 0xeb, 0x35, 0xe8, 0x96, 0x52, + 0xd9, 0x9d, 0x00, 0x58, 0x4f, 0x92, 0x3a, 0x3a, 0xf2, 0xa5, 0xd6, 0x78, 0x50, 0x1c, 0x75, 0xfd, + 0xbc, 0xf9, 0x47, 0x56, 0xf0, 0x7c, 0x1d, 0x6b, 0x5b, 0x70, 0x65, 0xe4, 0xef, 0x53, 0x60, 0xb4, + 0x84, 0x8d, 0xcb, 0x48, 0x7f, 0xae, 0xcb, 0xe6, 0x8d, 0xee, 0xd4, 0xa4, 0x83, 0xd4, 0xb4, 0x11, + 0x91, 0x7f, 0x16, 0xc0, 0x74, 0x60, 0xe5, 0x59, 0x32, 0xe2, 0x0b, 0x34, 0xd5, 0x7f, 0xa0, 0xf2, + 0xe3, 0x14, 0x38, 0xe8, 0xde, 0x73, 0x2a, 0xd2, 0x60, 0xed, 0x32, 0xaa, 0xd8, 0x48, 0x37, 0x91, + 0xe1, 0x1b, 0x33, 0x9e, 0x47, 0x7a, 0xc5, 0x79, 0x30, 0xae, 0xb9, 0x37, 0xbb, 0xcb, 0x42, 0x15, + 0x9a, 0x46, 0xd5, 0x2b, 0xe0, 0x41, 0x65, 0xac, 0xb5, 0xfc, 0x16, 0x5d, 0x2d, 0xbc, 0xdd, 0x3d, + 0x0f, 0xe6, 0x43, 0x73, 0x44, 0x1c, 0x92, 0xf2, 0x51, 0x70, 0x24, 0x69, 0x9f, 0x37, 0xd8, 0x5f, + 0x05, 0x30, 0xee, 0xa6, 0x4f, 0x5d, 0x57, 0x09, 0xbc, 0xa8, 0x3a, 0xaa, 0x85, 0xc5, 0x93, 0x60, + 0x44, 0x6d, 0x90, 0xaa, 0xed, 0x98, 0xa4, 0xd9, 0x15, 0xfd, 0xb6, 0xa8, 0x78, 0x16, 0x0c, 0xd7, + 0xa9, 0x05, 0x96, 0x1c, 0x99, 0xb8, 0x69, 0xc4, 0x3b, 0x27, 0x80, 0x95, 0xa7, 0x58, 0x58, 0x76, + 0x43, 0x6f, 0x9b, 0x74, 0x43, 0x3e, 0xe2, 0x0b, 0xf9, 0x3a, 0x9f, 0xf8, 0x43, 0x3e, 0xcb, 0xb3, + 0xe0, 0x40, 0x68, 0x89, 0x87, 0x88, 0xe9, 0x15, 0xe2, 0x81, 0xd0, 0x9e, 0x9f, 0x56, 0xa3, 0x72, + 0xa4, 0x6b, 0xaa, 0x85, 0x53, 0xa3, 0x30, 0x13, 0x3d, 0x2b, 0xb0, 0x89, 0x2e, 0x74, 0x28, 0x77, + 0x69, 0x3b, 0x05, 0x26, 0x4a, 0xd8, 0xb8, 0x64, 0x6f, 0x42, 0x64, 0x7e, 0x02, 0xd7, 0xab, 0xaa, + 0x03, 0xf1, 0xd3, 0xca, 0xfe, 0xd5, 0xf8, 0xec, 0xef, 0x23, 0x32, 0x71, 0xb9, 0xf7, 0xa4, 0x1f, + 0x72, 0x89, 0xe4, 0xf9, 0x7e, 0x01, 0x4c, 0x13, 0x16, 0x98, 0x5e, 0xc6, 0x6e, 0x68, 0x65, 0xfb, + 0x1a, 0x82, 0x0e, 0x9b, 0xd0, 0xe2, 0x7d, 0x98, 0xe4, 0x6a, 0x14, 0x90, 0xf7, 0x5c, 0xa5, 0x42, + 0x26, 0xb9, 0x28, 0xe4, 0x4b, 0x60, 0xb6, 0x03, 0x49, 0xde, 0x02, 0xdb, 0x31, 0x08, 0x7d, 0xc5, + 0x20, 0xff, 0x22, 0xd0, 0x59, 0xce, 0xbd, 0xe7, 0xa0, 0x45, 0x8d, 0xe3, 0xf3, 0xb6, 0xf3, 0x74, + 0x79, 0x5a, 0xee, 0xbd, 0x97, 0x06, 0x9c, 0xeb, 0x0a, 0xc9, 0x87, 0xe0, 0x50, 0x9c, 0xef, 0x4f, + 0x8e, 0xcc, 0x0f, 0x02, 0xc8, 0xb8, 0x80, 0x3b, 0x2a, 0xc2, 0x1b, 0xd0, 0x09, 0x00, 0xaf, 0x40, + 0xcd, 0x76, 0x74, 0x71, 0x19, 0xa4, 0x5b, 0x4c, 0x32, 0xfe, 0x1d, 0xba, 0x51, 0x36, 0x75, 0x7a, + 0xda, 0x90, 0xc2, 0x13, 0xc4, 0xa7, 0xb6, 0xa6, 0x8b, 0x33, 0x60, 0x18, 0x43, 0xa4, 0x43, 0xc7, + 0x4b, 0x57, 0x85, 0x7d, 0x13, 0xe7, 0xc0, 0x08, 0x82, 0xd7, 0x58, 0x16, 0xd1, 0x21, 0x4a, 0xd9, + 0x8b, 0xe0, 0x35, 0x2f, 0x41, 0x26, 0xfd, 0x68, 0x30, 0x0d, 0x79, 0x01, 0x1c, 0x4d, 0x76, 0x92, + 0x97, 0xe2, 0xa7, 0x1e, 0xd3, 0x2b, 0x26, 0x56, 0x2b, 0x35, 0xf8, 0x4c, 0x2a, 0xb2, 0x2b, 0x61, + 0x32, 0x25, 0x2c, 0xd2, 0x05, 0xee, 0xe7, 0x0d, 0x81, 0x76, 0xb8, 0x55, 0xf4, 0xef, 0xb9, 0x59, + 0x07, 0xd9, 0x18, 0x0f, 0x78, 0x5a, 0x95, 0x76, 0x33, 0x73, 0xec, 0x6d, 0xcd, 0x1c, 0x1d, 0x03, + 0xe0, 0xb6, 0x40, 0x5f, 0xbe, 0xbc, 0x81, 0x16, 0x6d, 0xa4, 0x8b, 0x6b, 0xf1, 0xd1, 0x1e, 0xfc, + 0x6b, 0x27, 0x9b, 0x6e, 0xaa, 0x56, 0xad, 0x20, 0x77, 0xba, 0x1f, 0x51, 0x82, 0x6b, 0xf1, 0xad, + 0xd2, 0x67, 0xaa, 0xb3, 0xbb, 0x47, 0x5c, 0x04, 0xdd, 0xc0, 0xf3, 0x1e, 0x87, 0x81, 0x48, 0x5a, + 0xa8, 0x9d, 0xf8, 0x66, 0x14, 0x0c, 0x96, 0xb0, 0x21, 0x5e, 0x05, 0xe3, 0xe1, 0x1f, 0xa0, 0x16, + 0xe3, 0xee, 0xd0, 0xce, 0xdf, 0x0b, 0xa4, 0x13, 0xbd, 0xcb, 0x72, 0xc2, 0x36, 0xc1, 0x68, 0xf0, + 0x77, 0x85, 0x85, 0x04, 0x23, 0x01, 0x49, 0xe9, 0x58, 0xaf, 0x92, 0xfc, 0xb0, 0x8f, 0xc0, 0x5e, + 0xfe, 0x00, 0x3e, 0x9c, 0xa0, 0xdd, 0x12, 0x92, 0x5e, 0xea, 0x41, 0x88, 0x5b, 0xbf, 0x0a, 0xc6, + 0xc3, 0xef, 0xc4, 0x24, 0xf4, 0x42, 0xb2, 0x89, 0xe8, 0xc5, 0x3d, 0x7a, 0x2a, 0x00, 0xf8, 0x1e, + 0x27, 0x2f, 0x24, 0x58, 0x68, 0x8b, 0x49, 0x4b, 0x3d, 0x89, 0xf1, 0x33, 0xbe, 0x16, 0xc0, 0x6c, + 0xfc, 0xc4, 0xfc, 0x6a, 0x12, 0xe7, 0x71, 0x5a, 0xd2, 0xa9, 0xdd, 0x68, 0x71, 0x8f, 0xaa, 0xe0, + 0xbf, 0x81, 0x79, 0x71, 0x3e, 0x29, 0x20, 0x9f, 0xa0, 0x94, 0xef, 0x51, 0xd0, 0x4f, 0x69, 0x78, + 0x6e, 0x5b, 0x4c, 0x44, 0x2f, 0x20, 0x9b, 0x48, 0x69, 0xcc, 0x68, 0x26, 0x22, 0x30, 0x16, 0xea, + 0xae, 0x2f, 0x26, 0x58, 0x09, 0x8a, 0x4a, 0xc7, 0x7b, 0x16, 0xe5, 0xe7, 0x7d, 0x2e, 0x80, 0xe9, + 0xe8, 0x31, 0x23, 0xa9, 0xbe, 0x22, 0x35, 0xa4, 0xd7, 0xfa, 0xd5, 0xe0, 0x5e, 0x7c, 0x2b, 0x80, + 0xb9, 0xa4, 0x2b, 0xfd, 0x64, 0x52, 0x60, 0xf1, 0x7a, 0xd2, 0xe9, 0xdd, 0xe9, 0x05, 0xd0, 0x89, + 0xbe, 0x9a, 0x93, 0xd0, 0x89, 0xd4, 0x48, 0x44, 0x27, 0xf1, 0xee, 0x15, 0x6f, 0x08, 0x60, 0x2a, + 0xf2, 0xe2, 0x4d, 0x4a, 0xe8, 0x28, 0x05, 0x69, 0xb9, 0x4f, 0x05, 0x7f, 0x9f, 0x0e, 0xde, 0x82, + 0x49, 0x7d, 0x3a, 0x20, 0x99, 0xd8, 0xa7, 0x23, 0xef, 0x23, 0x69, 0xcf, 0x0d, 0xf7, 0x51, 0x56, + 0x3c, 0xbf, 0xfd, 0x20, 0x23, 0xdc, 0x7d, 0x90, 0x11, 0xfe, 0x7c, 0x90, 0x11, 0x6e, 0x3e, 0xcc, + 0x0c, 0xdc, 0x7d, 0x98, 0x19, 0xf8, 0xfd, 0x61, 0x66, 0xe0, 0x83, 0x97, 0x0d, 0x93, 0x54, 0x1b, + 0x95, 0x9c, 0x66, 0x5b, 0xec, 0x0f, 0x37, 0xf9, 0xc8, 0x57, 0x1a, 0x69, 0xd6, 0x21, 0xae, 0x0c, + 0xd3, 0x3b, 0xff, 0x95, 0x7f, 0x02, 0x00, 0x00, 0xff, 0xff, 0xc2, 0x2a, 0x1a, 0xbd, 0x7c, 0x1a, + 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -967,8 +1415,40 @@ type MsgClient interface { // parameters. // Since: cosmos-sdk 0.47 UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) -} - + // UnbondValidator defines a method for performing the status transition for a validator + // from bonded to unbonding. + // + // Since: cosmos-sdk 0.47-lsm + UnbondValidator(ctx context.Context, in *MsgUnbondValidator, opts ...grpc.CallOption) (*MsgUnbondValidatorResponse, error) + // TokenizeShares defines a method for tokenizing shares from a validator. + // + // Since: cosmos-sdk 0.47-lsm + TokenizeShares(ctx context.Context, in *MsgTokenizeShares, opts ...grpc.CallOption) (*MsgTokenizeSharesResponse, error) + // RedeemTokensForShares defines a method for redeeming tokens from a validator for + // shares. + // + // Since: cosmos-sdk 0.47-lsm + RedeemTokensForShares(ctx context.Context, in *MsgRedeemTokensForShares, opts ...grpc.CallOption) (*MsgRedeemTokensForSharesResponse, error) + // TransferTokenizeShareRecord defines a method to transfer ownership of + // TokenizeShareRecord. + // + // Since: cosmos-sdk 0.47-lsm + TransferTokenizeShareRecord(ctx context.Context, in *MsgTransferTokenizeShareRecord, opts ...grpc.CallOption) (*MsgTransferTokenizeShareRecordResponse, error) + // DisableTokenizeShares defines a method to prevent the tokenization of an addresses stake. + // + // Since: cosmos-sdk 0.47-lsm + DisableTokenizeShares(ctx context.Context, in *MsgDisableTokenizeShares, opts ...grpc.CallOption) (*MsgDisableTokenizeSharesResponse, error) + // EnableTokenizeShares defines a method to re-enable the tokenization of an addresseses stake + // after it has been disabled. + // + // Since: cosmos-sdk 0.47-lsm + EnableTokenizeShares(ctx context.Context, in *MsgEnableTokenizeShares, opts ...grpc.CallOption) (*MsgEnableTokenizeSharesResponse, error) + // ValidatorBond defines a method for performing a validator self-bond. + // + // Since: cosmos-sdk 0.47-lsm + ValidatorBond(ctx context.Context, in *MsgValidatorBond, opts ...grpc.CallOption) (*MsgValidatorBondResponse, error) +} + type msgClient struct { cc grpc1.ClientConn } @@ -1040,6 +1520,69 @@ func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts return out, nil } +func (c *msgClient) UnbondValidator(ctx context.Context, in *MsgUnbondValidator, opts ...grpc.CallOption) (*MsgUnbondValidatorResponse, error) { + out := new(MsgUnbondValidatorResponse) + err := c.cc.Invoke(ctx, "/cosmos.staking.v1beta1.Msg/UnbondValidator", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) TokenizeShares(ctx context.Context, in *MsgTokenizeShares, opts ...grpc.CallOption) (*MsgTokenizeSharesResponse, error) { + out := new(MsgTokenizeSharesResponse) + err := c.cc.Invoke(ctx, "/cosmos.staking.v1beta1.Msg/TokenizeShares", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) RedeemTokensForShares(ctx context.Context, in *MsgRedeemTokensForShares, opts ...grpc.CallOption) (*MsgRedeemTokensForSharesResponse, error) { + out := new(MsgRedeemTokensForSharesResponse) + err := c.cc.Invoke(ctx, "/cosmos.staking.v1beta1.Msg/RedeemTokensForShares", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) TransferTokenizeShareRecord(ctx context.Context, in *MsgTransferTokenizeShareRecord, opts ...grpc.CallOption) (*MsgTransferTokenizeShareRecordResponse, error) { + out := new(MsgTransferTokenizeShareRecordResponse) + err := c.cc.Invoke(ctx, "/cosmos.staking.v1beta1.Msg/TransferTokenizeShareRecord", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) DisableTokenizeShares(ctx context.Context, in *MsgDisableTokenizeShares, opts ...grpc.CallOption) (*MsgDisableTokenizeSharesResponse, error) { + out := new(MsgDisableTokenizeSharesResponse) + err := c.cc.Invoke(ctx, "/cosmos.staking.v1beta1.Msg/DisableTokenizeShares", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) EnableTokenizeShares(ctx context.Context, in *MsgEnableTokenizeShares, opts ...grpc.CallOption) (*MsgEnableTokenizeSharesResponse, error) { + out := new(MsgEnableTokenizeSharesResponse) + err := c.cc.Invoke(ctx, "/cosmos.staking.v1beta1.Msg/EnableTokenizeShares", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) ValidatorBond(ctx context.Context, in *MsgValidatorBond, opts ...grpc.CallOption) (*MsgValidatorBondResponse, error) { + out := new(MsgValidatorBondResponse) + err := c.cc.Invoke(ctx, "/cosmos.staking.v1beta1.Msg/ValidatorBond", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // MsgServer is the server API for Msg service. type MsgServer interface { // CreateValidator defines a method for creating a new validator. @@ -1064,6 +1607,38 @@ type MsgServer interface { // parameters. // Since: cosmos-sdk 0.47 UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) + // UnbondValidator defines a method for performing the status transition for a validator + // from bonded to unbonding. + // + // Since: cosmos-sdk 0.47-lsm + UnbondValidator(context.Context, *MsgUnbondValidator) (*MsgUnbondValidatorResponse, error) + // TokenizeShares defines a method for tokenizing shares from a validator. + // + // Since: cosmos-sdk 0.47-lsm + TokenizeShares(context.Context, *MsgTokenizeShares) (*MsgTokenizeSharesResponse, error) + // RedeemTokensForShares defines a method for redeeming tokens from a validator for + // shares. + // + // Since: cosmos-sdk 0.47-lsm + RedeemTokensForShares(context.Context, *MsgRedeemTokensForShares) (*MsgRedeemTokensForSharesResponse, error) + // TransferTokenizeShareRecord defines a method to transfer ownership of + // TokenizeShareRecord. + // + // Since: cosmos-sdk 0.47-lsm + TransferTokenizeShareRecord(context.Context, *MsgTransferTokenizeShareRecord) (*MsgTransferTokenizeShareRecordResponse, error) + // DisableTokenizeShares defines a method to prevent the tokenization of an addresses stake. + // + // Since: cosmos-sdk 0.47-lsm + DisableTokenizeShares(context.Context, *MsgDisableTokenizeShares) (*MsgDisableTokenizeSharesResponse, error) + // EnableTokenizeShares defines a method to re-enable the tokenization of an addresseses stake + // after it has been disabled. + // + // Since: cosmos-sdk 0.47-lsm + EnableTokenizeShares(context.Context, *MsgEnableTokenizeShares) (*MsgEnableTokenizeSharesResponse, error) + // ValidatorBond defines a method for performing a validator self-bond. + // + // Since: cosmos-sdk 0.47-lsm + ValidatorBond(context.Context, *MsgValidatorBond) (*MsgValidatorBondResponse, error) } // UnimplementedMsgServer can be embedded to have forward compatible implementations. @@ -1091,6 +1666,27 @@ func (*UnimplementedMsgServer) CancelUnbondingDelegation(ctx context.Context, re func (*UnimplementedMsgServer) UpdateParams(ctx context.Context, req *MsgUpdateParams) (*MsgUpdateParamsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateParams not implemented") } +func (*UnimplementedMsgServer) UnbondValidator(ctx context.Context, req *MsgUnbondValidator) (*MsgUnbondValidatorResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UnbondValidator not implemented") +} +func (*UnimplementedMsgServer) TokenizeShares(ctx context.Context, req *MsgTokenizeShares) (*MsgTokenizeSharesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method TokenizeShares not implemented") +} +func (*UnimplementedMsgServer) RedeemTokensForShares(ctx context.Context, req *MsgRedeemTokensForShares) (*MsgRedeemTokensForSharesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RedeemTokensForShares not implemented") +} +func (*UnimplementedMsgServer) TransferTokenizeShareRecord(ctx context.Context, req *MsgTransferTokenizeShareRecord) (*MsgTransferTokenizeShareRecordResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method TransferTokenizeShareRecord not implemented") +} +func (*UnimplementedMsgServer) DisableTokenizeShares(ctx context.Context, req *MsgDisableTokenizeShares) (*MsgDisableTokenizeSharesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DisableTokenizeShares not implemented") +} +func (*UnimplementedMsgServer) EnableTokenizeShares(ctx context.Context, req *MsgEnableTokenizeShares) (*MsgEnableTokenizeSharesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method EnableTokenizeShares not implemented") +} +func (*UnimplementedMsgServer) ValidatorBond(ctx context.Context, req *MsgValidatorBond) (*MsgValidatorBondResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ValidatorBond not implemented") +} func RegisterMsgServer(s grpc1.Server, srv MsgServer) { s.RegisterService(&_Msg_serviceDesc, srv) @@ -1222,6 +1818,132 @@ func _Msg_UpdateParams_Handler(srv interface{}, ctx context.Context, dec func(in return interceptor(ctx, in, info, handler) } +func _Msg_UnbondValidator_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUnbondValidator) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).UnbondValidator(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cosmos.staking.v1beta1.Msg/UnbondValidator", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).UnbondValidator(ctx, req.(*MsgUnbondValidator)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_TokenizeShares_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgTokenizeShares) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).TokenizeShares(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cosmos.staking.v1beta1.Msg/TokenizeShares", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).TokenizeShares(ctx, req.(*MsgTokenizeShares)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_RedeemTokensForShares_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgRedeemTokensForShares) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).RedeemTokensForShares(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cosmos.staking.v1beta1.Msg/RedeemTokensForShares", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).RedeemTokensForShares(ctx, req.(*MsgRedeemTokensForShares)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_TransferTokenizeShareRecord_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgTransferTokenizeShareRecord) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).TransferTokenizeShareRecord(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cosmos.staking.v1beta1.Msg/TransferTokenizeShareRecord", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).TransferTokenizeShareRecord(ctx, req.(*MsgTransferTokenizeShareRecord)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_DisableTokenizeShares_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgDisableTokenizeShares) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).DisableTokenizeShares(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cosmos.staking.v1beta1.Msg/DisableTokenizeShares", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).DisableTokenizeShares(ctx, req.(*MsgDisableTokenizeShares)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_EnableTokenizeShares_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgEnableTokenizeShares) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).EnableTokenizeShares(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cosmos.staking.v1beta1.Msg/EnableTokenizeShares", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).EnableTokenizeShares(ctx, req.(*MsgEnableTokenizeShares)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_ValidatorBond_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgValidatorBond) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).ValidatorBond(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cosmos.staking.v1beta1.Msg/ValidatorBond", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).ValidatorBond(ctx, req.(*MsgValidatorBond)) + } + return interceptor(ctx, in, info, handler) +} + var _Msg_serviceDesc = grpc.ServiceDesc{ ServiceName: "cosmos.staking.v1beta1.Msg", HandlerType: (*MsgServer)(nil), @@ -1254,6 +1976,34 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ MethodName: "UpdateParams", Handler: _Msg_UpdateParams_Handler, }, + { + MethodName: "UnbondValidator", + Handler: _Msg_UnbondValidator_Handler, + }, + { + MethodName: "TokenizeShares", + Handler: _Msg_TokenizeShares_Handler, + }, + { + MethodName: "RedeemTokensForShares", + Handler: _Msg_RedeemTokensForShares_Handler, + }, + { + MethodName: "TransferTokenizeShareRecord", + Handler: _Msg_TransferTokenizeShareRecord_Handler, + }, + { + MethodName: "DisableTokenizeShares", + Handler: _Msg_DisableTokenizeShares_Handler, + }, + { + MethodName: "EnableTokenizeShares", + Handler: _Msg_EnableTokenizeShares_Handler, + }, + { + MethodName: "ValidatorBond", + Handler: _Msg_ValidatorBond_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cosmos/staking/v1beta1/tx.proto", @@ -1839,6 +2589,59 @@ func (m *MsgUpdateParamsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) return len(dAtA) - i, nil } +func (m *MsgUnbondValidator) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgUnbondValidator) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUnbondValidator) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.ValidatorAddress) > 0 { + i -= len(m.ValidatorAddress) + copy(dAtA[i:], m.ValidatorAddress) + i = encodeVarintTx(dAtA, i, uint64(len(m.ValidatorAddress))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgUnbondValidatorResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgUnbondValidatorResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUnbondValidatorResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + func (m *MsgTokenizeShares) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -1999,35 +2802,274 @@ func (m *MsgRedeemTokensForSharesResponse) MarshalToSizedBuffer(dAtA []byte) (in return len(dAtA) - i, nil } -func encodeVarintTx(dAtA []byte, offset int, v uint64) int { - offset -= sovTx(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ +func (m *MsgTransferTokenizeShareRecord) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - dAtA[offset] = uint8(v) - return base + return dAtA[:n], nil } -func (m *MsgCreateValidator) Size() (n int) { - if m == nil { - return 0 - } + +func (m *MsgTransferTokenizeShareRecord) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgTransferTokenizeShareRecord) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = m.Description.Size() - n += 1 + l + sovTx(uint64(l)) - l = m.Commission.Size() - n += 1 + l + sovTx(uint64(l)) - l = m.MinSelfDelegation.Size() - n += 1 + l + sovTx(uint64(l)) - l = len(m.DelegatorAddress) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if len(m.NewOwner) > 0 { + i -= len(m.NewOwner) + copy(dAtA[i:], m.NewOwner) + i = encodeVarintTx(dAtA, i, uint64(len(m.NewOwner))) + i-- + dAtA[i] = 0x1a } - l = len(m.ValidatorAddress) - if l > 0 { + if len(m.Sender) > 0 { + i -= len(m.Sender) + copy(dAtA[i:], m.Sender) + i = encodeVarintTx(dAtA, i, uint64(len(m.Sender))) + i-- + dAtA[i] = 0x12 + } + if m.TokenizeShareRecordId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.TokenizeShareRecordId)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *MsgTransferTokenizeShareRecordResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgTransferTokenizeShareRecordResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgTransferTokenizeShareRecordResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgDisableTokenizeShares) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgDisableTokenizeShares) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgDisableTokenizeShares) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.DelegatorAddress) > 0 { + i -= len(m.DelegatorAddress) + copy(dAtA[i:], m.DelegatorAddress) + i = encodeVarintTx(dAtA, i, uint64(len(m.DelegatorAddress))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgDisableTokenizeSharesResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgDisableTokenizeSharesResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgDisableTokenizeSharesResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgEnableTokenizeShares) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgEnableTokenizeShares) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgEnableTokenizeShares) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.DelegatorAddress) > 0 { + i -= len(m.DelegatorAddress) + copy(dAtA[i:], m.DelegatorAddress) + i = encodeVarintTx(dAtA, i, uint64(len(m.DelegatorAddress))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgEnableTokenizeSharesResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgEnableTokenizeSharesResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgEnableTokenizeSharesResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + n18, err18 := github_com_cosmos_gogoproto_types.StdTimeMarshalTo(m.CompletionTime, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdTime(m.CompletionTime):]) + if err18 != nil { + return 0, err18 + } + i -= n18 + i = encodeVarintTx(dAtA, i, uint64(n18)) + i-- + dAtA[i] = 0xa + return len(dAtA) - i, nil +} + +func (m *MsgValidatorBond) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgValidatorBond) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgValidatorBond) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.ValidatorAddress) > 0 { + i -= len(m.ValidatorAddress) + copy(dAtA[i:], m.ValidatorAddress) + i = encodeVarintTx(dAtA, i, uint64(len(m.ValidatorAddress))) + i-- + dAtA[i] = 0x12 + } + if len(m.DelegatorAddress) > 0 { + i -= len(m.DelegatorAddress) + copy(dAtA[i:], m.DelegatorAddress) + i = encodeVarintTx(dAtA, i, uint64(len(m.DelegatorAddress))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgValidatorBondResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgValidatorBondResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgValidatorBondResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func encodeVarintTx(dAtA []byte, offset int, v uint64) int { + offset -= sovTx(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *MsgCreateValidator) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = m.Description.Size() + n += 1 + l + sovTx(uint64(l)) + l = m.Commission.Size() + n += 1 + l + sovTx(uint64(l)) + l = m.MinSelfDelegation.Size() + n += 1 + l + sovTx(uint64(l)) + l = len(m.DelegatorAddress) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.ValidatorAddress) + if l > 0 { n += 1 + l + sovTx(uint64(l)) } if m.Pubkey != nil { @@ -2229,6 +3271,28 @@ func (m *MsgUpdateParamsResponse) Size() (n int) { return n } +func (m *MsgUnbondValidator) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.ValidatorAddress) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgUnbondValidatorResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + func (m *MsgTokenizeShares) Size() (n int) { if m == nil { return 0 @@ -2273,29 +3337,1306 @@ func (m *MsgRedeemTokensForShares) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = m.Amount.Size() - n += 1 + l + sovTx(uint64(l)) - return n -} + l = m.Amount.Size() + n += 1 + l + sovTx(uint64(l)) + return n +} + +func (m *MsgRedeemTokensForSharesResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = m.Amount.Size() + n += 1 + l + sovTx(uint64(l)) + return n +} + +func (m *MsgTransferTokenizeShareRecord) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.TokenizeShareRecordId != 0 { + n += 1 + sovTx(uint64(m.TokenizeShareRecordId)) + } + l = len(m.Sender) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.NewOwner) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgTransferTokenizeShareRecordResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgDisableTokenizeShares) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.DelegatorAddress) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgDisableTokenizeSharesResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgEnableTokenizeShares) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.DelegatorAddress) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgEnableTokenizeSharesResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = github_com_cosmos_gogoproto_types.SizeOfStdTime(m.CompletionTime) + n += 1 + l + sovTx(uint64(l)) + return n +} + +func (m *MsgValidatorBond) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.DelegatorAddress) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.ValidatorAddress) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgValidatorBondResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func sovTx(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozTx(x uint64) (n int) { + return sovTx(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *MsgCreateValidator) 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 ErrIntOverflowTx + } + 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: MsgCreateValidator: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCreateValidator: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Description", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Description.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Commission", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Commission.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MinSelfDelegation", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.MinSelfDelegation.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DelegatorAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DelegatorAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ValidatorAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ValidatorAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Pubkey", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Pubkey == nil { + m.Pubkey = &types.Any{} + } + if err := m.Pubkey.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Value.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgCreateValidatorResponse) 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 ErrIntOverflowTx + } + 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: MsgCreateValidatorResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCreateValidatorResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgEditValidator) 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 ErrIntOverflowTx + } + 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: MsgEditValidator: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgEditValidator: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Description", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Description.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ValidatorAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ValidatorAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CommissionRate", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var v cosmossdk_io_math.LegacyDec + m.CommissionRate = &v + if err := m.CommissionRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MinSelfDelegation", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var v cosmossdk_io_math.Int + m.MinSelfDelegation = &v + if err := m.MinSelfDelegation.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgEditValidatorResponse) 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 ErrIntOverflowTx + } + 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: MsgEditValidatorResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgEditValidatorResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgDelegate) 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 ErrIntOverflowTx + } + 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: MsgDelegate: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgDelegate: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DelegatorAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DelegatorAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ValidatorAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ValidatorAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgDelegateResponse) 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 ErrIntOverflowTx + } + 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: MsgDelegateResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgDelegateResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgBeginRedelegate) 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 ErrIntOverflowTx + } + 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: MsgBeginRedelegate: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgBeginRedelegate: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DelegatorAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DelegatorAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ValidatorSrcAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ValidatorSrcAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ValidatorDstAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ValidatorDstAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgBeginRedelegateResponse) 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 ErrIntOverflowTx + } + 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: MsgBeginRedelegateResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgBeginRedelegateResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CompletionTime", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := github_com_cosmos_gogoproto_types.StdTimeUnmarshal(&m.CompletionTime, dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgUndelegate) 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 ErrIntOverflowTx + } + 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: MsgUndelegate: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUndelegate: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DelegatorAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DelegatorAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ValidatorAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ValidatorAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } -func (m *MsgRedeemTokensForSharesResponse) Size() (n int) { - if m == nil { - return 0 + if iNdEx > l { + return io.ErrUnexpectedEOF } - var l int - _ = l - l = m.Amount.Size() - n += 1 + l + sovTx(uint64(l)) - return n -} - -func sovTx(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozTx(x uint64) (n int) { - return sovTx(uint64((x << 1) ^ uint64((int64(x) >> 63)))) + return nil } -func (m *MsgCreateValidator) Unmarshal(dAtA []byte) error { +func (m *MsgUndelegateResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -2318,15 +4659,15 @@ func (m *MsgCreateValidator) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCreateValidator: wiretype end group for non-group") + return fmt.Errorf("proto: MsgUndelegateResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCreateValidator: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgUndelegateResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Description", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CompletionTime", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -2353,13 +4694,13 @@ func (m *MsgCreateValidator) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Description.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := github_com_cosmos_gogoproto_types.StdTimeUnmarshal(&m.CompletionTime, dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Commission", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -2386,45 +4727,61 @@ func (m *MsgCreateValidator) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Commission.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MinSelfDelegation", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err } - intStringLen := int(stringLen) - if intStringLen < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthTx } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF } - if postIndex > l { + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgCancelUnbondingDelegation) 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 ErrIntOverflowTx + } + if iNdEx >= l { return io.ErrUnexpectedEOF } - if err := m.MinSelfDelegation.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break } - iNdEx = postIndex - case 4: + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgCancelUnbondingDelegation: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCancelUnbondingDelegation: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field DelegatorAddress", wireType) } @@ -2456,7 +4813,7 @@ func (m *MsgCreateValidator) Unmarshal(dAtA []byte) error { } m.DelegatorAddress = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 5: + case 2: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field ValidatorAddress", wireType) } @@ -2488,9 +4845,9 @@ func (m *MsgCreateValidator) Unmarshal(dAtA []byte) error { } m.ValidatorAddress = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 6: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Pubkey", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -2517,18 +4874,15 @@ func (m *MsgCreateValidator) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Pubkey == nil { - m.Pubkey = &types.Any{} - } - if err := m.Pubkey.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 7: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType) + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field CreationHeight", wireType) } - var msglen int + m.CreationHeight = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -2538,25 +4892,11 @@ func (m *MsgCreateValidator) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + m.CreationHeight |= int64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.Value.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -2578,7 +4918,7 @@ func (m *MsgCreateValidator) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCreateValidatorResponse) Unmarshal(dAtA []byte) error { +func (m *MsgCancelUnbondingDelegationResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -2601,10 +4941,10 @@ func (m *MsgCreateValidatorResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCreateValidatorResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCancelUnbondingDelegationResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCreateValidatorResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCancelUnbondingDelegationResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -2628,7 +4968,7 @@ func (m *MsgCreateValidatorResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgEditValidator) Unmarshal(dAtA []byte) error { +func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -2638,93 +4978,28 @@ func (m *MsgEditValidator) Unmarshal(dAtA []byte) error { if shift >= 64 { return ErrIntOverflowTx } - 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: MsgEditValidator: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgEditValidator: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Description", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.Description.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ValidatorAddress", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { + if iNdEx >= l { return io.ErrUnexpectedEOF } - m.ValidatorAddress = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: + 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: MsgUpdateParams: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUpdateParams: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CommissionRate", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -2752,17 +5027,13 @@ func (m *MsgEditValidator) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var v cosmossdk_io_math.LegacyDec - m.CommissionRate = &v - if err := m.CommissionRate.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Authority = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 4: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MinSelfDelegation", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -2772,25 +5043,22 @@ func (m *MsgEditValidator) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return ErrInvalidLengthTx } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - var v cosmossdk_io_math.Int - m.MinSelfDelegation = &v - if err := m.MinSelfDelegation.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -2815,7 +5083,7 @@ func (m *MsgEditValidator) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgEditValidatorResponse) Unmarshal(dAtA []byte) error { +func (m *MsgUpdateParamsResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -2838,10 +5106,10 @@ func (m *MsgEditValidatorResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgEditValidatorResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgUpdateParamsResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgEditValidatorResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgUpdateParamsResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -2865,7 +5133,7 @@ func (m *MsgEditValidatorResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgDelegate) Unmarshal(dAtA []byte) error { +func (m *MsgUnbondValidator) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -2888,45 +5156,13 @@ func (m *MsgDelegate) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgDelegate: wiretype end group for non-group") + return fmt.Errorf("proto: MsgUnbondValidator: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgDelegate: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgUnbondValidator: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DelegatorAddress", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.DelegatorAddress = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field ValidatorAddress", wireType) } @@ -2958,39 +5194,6 @@ func (m *MsgDelegate) Unmarshal(dAtA []byte) error { } m.ValidatorAddress = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -3012,7 +5215,7 @@ func (m *MsgDelegate) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgDelegateResponse) Unmarshal(dAtA []byte) error { +func (m *MsgUnbondValidatorResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -3035,10 +5238,10 @@ func (m *MsgDelegateResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgDelegateResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgUnbondValidatorResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgDelegateResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgUnbondValidatorResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -3062,7 +5265,7 @@ func (m *MsgDelegateResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgBeginRedelegate) Unmarshal(dAtA []byte) error { +func (m *MsgTokenizeShares) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -3085,10 +5288,10 @@ func (m *MsgBeginRedelegate) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgBeginRedelegate: wiretype end group for non-group") + return fmt.Errorf("proto: MsgTokenizeShares: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgBeginRedelegate: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgTokenizeShares: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -3125,7 +5328,7 @@ func (m *MsgBeginRedelegate) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ValidatorSrcAddress", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ValidatorAddress", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -3153,13 +5356,13 @@ func (m *MsgBeginRedelegate) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.ValidatorSrcAddress = string(dAtA[iNdEx:postIndex]) + m.ValidatorAddress = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ValidatorDstAddress", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -3169,29 +5372,30 @@ func (m *MsgBeginRedelegate) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return ErrInvalidLengthTx } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - m.ValidatorDstAddress = string(dAtA[iNdEx:postIndex]) + if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field TokenizedShareOwner", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -3201,24 +5405,23 @@ func (m *MsgBeginRedelegate) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthTx } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.TokenizedShareOwner = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -3241,7 +5444,7 @@ func (m *MsgBeginRedelegate) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgBeginRedelegateResponse) Unmarshal(dAtA []byte) error { +func (m *MsgTokenizeSharesResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -3264,15 +5467,15 @@ func (m *MsgBeginRedelegateResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgBeginRedelegateResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgTokenizeSharesResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgBeginRedelegateResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgTokenizeSharesResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CompletionTime", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -3299,7 +5502,7 @@ func (m *MsgBeginRedelegateResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := github_com_cosmos_gogoproto_types.StdTimeUnmarshal(&m.CompletionTime, dAtA[iNdEx:postIndex]); err != nil { + if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -3324,7 +5527,7 @@ func (m *MsgBeginRedelegateResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgUndelegate) Unmarshal(dAtA []byte) error { +func (m *MsgRedeemTokensForShares) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -3347,10 +5550,10 @@ func (m *MsgUndelegate) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgUndelegate: wiretype end group for non-group") + return fmt.Errorf("proto: MsgRedeemTokensForShares: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgUndelegate: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgRedeemTokensForShares: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -3386,38 +5589,6 @@ func (m *MsgUndelegate) Unmarshal(dAtA []byte) error { m.DelegatorAddress = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ValidatorAddress", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ValidatorAddress = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) } @@ -3471,7 +5642,7 @@ func (m *MsgUndelegate) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgUndelegateResponse) Unmarshal(dAtA []byte) error { +func (m *MsgRedeemTokensForSharesResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -3494,46 +5665,13 @@ func (m *MsgUndelegateResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgUndelegateResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgRedeemTokensForSharesResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgUndelegateResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgRedeemTokensForSharesResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CompletionTime", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := github_com_cosmos_gogoproto_types.StdTimeUnmarshal(&m.CompletionTime, dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) } @@ -3587,7 +5725,7 @@ func (m *MsgUndelegateResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCancelUnbondingDelegation) Unmarshal(dAtA []byte) error { +func (m *MsgTransferTokenizeShareRecord) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -3610,17 +5748,17 @@ func (m *MsgCancelUnbondingDelegation) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCancelUnbondingDelegation: wiretype end group for non-group") + return fmt.Errorf("proto: MsgTransferTokenizeShareRecord: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCancelUnbondingDelegation: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgTransferTokenizeShareRecord: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DelegatorAddress", wireType) + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TokenizeShareRecordId", wireType) } - var stringLen uint64 + m.TokenizeShareRecordId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -3630,27 +5768,14 @@ func (m *MsgCancelUnbondingDelegation) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + m.TokenizeShareRecordId |= uint64(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.DelegatorAddress = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ValidatorAddress", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Sender", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -3678,13 +5803,13 @@ func (m *MsgCancelUnbondingDelegation) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.ValidatorAddress = string(dAtA[iNdEx:postIndex]) + m.Sender = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field NewOwner", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -3694,44 +5819,24 @@ func (m *MsgCancelUnbondingDelegation) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthTx } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.NewOwner = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 4: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field CreationHeight", wireType) - } - m.CreationHeight = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.CreationHeight |= int64(b&0x7F) << shift - if b < 0x80 { - break - } - } default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -3753,7 +5858,7 @@ func (m *MsgCancelUnbondingDelegation) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCancelUnbondingDelegationResponse) Unmarshal(dAtA []byte) error { +func (m *MsgTransferTokenizeShareRecordResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -3776,10 +5881,10 @@ func (m *MsgCancelUnbondingDelegationResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCancelUnbondingDelegationResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgTransferTokenizeShareRecordResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCancelUnbondingDelegationResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgTransferTokenizeShareRecordResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -3803,7 +5908,7 @@ func (m *MsgCancelUnbondingDelegationResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { +func (m *MsgDisableTokenizeShares) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -3826,15 +5931,15 @@ func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgUpdateParams: wiretype end group for non-group") + return fmt.Errorf("proto: MsgDisableTokenizeShares: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgUpdateParams: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgDisableTokenizeShares: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DelegatorAddress", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -3862,40 +5967,7 @@ func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Authority = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.DelegatorAddress = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -3918,7 +5990,7 @@ func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgUpdateParamsResponse) Unmarshal(dAtA []byte) error { +func (m *MsgDisableTokenizeSharesResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -3941,10 +6013,10 @@ func (m *MsgUpdateParamsResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgUpdateParamsResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgDisableTokenizeSharesResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgUpdateParamsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgDisableTokenizeSharesResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -3968,7 +6040,7 @@ func (m *MsgUpdateParamsResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgTokenizeShares) Unmarshal(dAtA []byte) error { +func (m *MsgEnableTokenizeShares) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -3991,10 +6063,10 @@ func (m *MsgTokenizeShares) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgTokenizeShares: wiretype end group for non-group") + return fmt.Errorf("proto: MsgEnableTokenizeShares: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgTokenizeShares: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgEnableTokenizeShares: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -4029,103 +6101,6 @@ func (m *MsgTokenizeShares) Unmarshal(dAtA []byte) error { } m.DelegatorAddress = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ValidatorAddress", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ValidatorAddress = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TokenizedShareOwner", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.TokenizedShareOwner = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -4147,7 +6122,7 @@ func (m *MsgTokenizeShares) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgTokenizeSharesResponse) Unmarshal(dAtA []byte) error { +func (m *MsgEnableTokenizeSharesResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -4170,15 +6145,15 @@ func (m *MsgTokenizeSharesResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgTokenizeSharesResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgEnableTokenizeSharesResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgTokenizeSharesResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgEnableTokenizeSharesResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CompletionTime", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -4205,7 +6180,7 @@ func (m *MsgTokenizeSharesResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := github_com_cosmos_gogoproto_types.StdTimeUnmarshal(&m.CompletionTime, dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -4230,7 +6205,7 @@ func (m *MsgTokenizeSharesResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgRedeemTokensForShares) Unmarshal(dAtA []byte) error { +func (m *MsgValidatorBond) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -4253,10 +6228,10 @@ func (m *MsgRedeemTokensForShares) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgRedeemTokensForShares: wiretype end group for non-group") + return fmt.Errorf("proto: MsgValidatorBond: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgRedeemTokensForShares: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgValidatorBond: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -4293,9 +6268,9 @@ func (m *MsgRedeemTokensForShares) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ValidatorAddress", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -4305,24 +6280,23 @@ func (m *MsgRedeemTokensForShares) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthTx } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.ValidatorAddress = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -4345,7 +6319,7 @@ func (m *MsgRedeemTokensForShares) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgRedeemTokensForSharesResponse) Unmarshal(dAtA []byte) error { +func (m *MsgValidatorBondResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -4368,45 +6342,12 @@ func (m *MsgRedeemTokensForSharesResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgRedeemTokensForSharesResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgValidatorBondResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgRedeemTokensForSharesResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgValidatorBondResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) From afc37dfb89f469dd777d33a5cec937be12a80e93 Mon Sep 17 00:00:00 2001 From: Alexandr Romanenya Date: Tue, 22 Jul 2025 13:05:59 +0300 Subject: [PATCH 03/13] fix: update methods and params --- x/staking/keeper/liquid_stake.go | 2 ++ x/staking/keeper/msg_server.go | 19 +++++++++- x/staking/simulation/genesis.go | 62 +++++++++++++++++++++++++++----- x/staking/types/params.go | 28 +++++++++++---- 4 files changed, 95 insertions(+), 16 deletions(-) diff --git a/x/staking/keeper/liquid_stake.go b/x/staking/keeper/liquid_stake.go index 6c554b6bcc2c..d293de529856 100644 --- a/x/staking/keeper/liquid_stake.go +++ b/x/staking/keeper/liquid_stake.go @@ -1,6 +1,7 @@ package keeper import ( + "fmt" "time" "cosmossdk.io/math" @@ -150,6 +151,7 @@ func (k Keeper) SafelyIncreaseTotalLiquidStakedTokens(ctx sdk.Context, amount ma // DecreaseTotalLiquidStakedTokens decrements the total liquid staked tokens func (k Keeper) DecreaseTotalLiquidStakedTokens(ctx sdk.Context, amount math.Int) error { totalLiquidStake := k.GetTotalLiquidStakedTokens(ctx) + fmt.Println("AAAAAAAAAAAAAAAAAAAAAAAAAAA", totalLiquidStake, amount) if amount.GT(totalLiquidStake) { return types.ErrTotalLiquidStakedUnderflow } diff --git a/x/staking/keeper/msg_server.go b/x/staking/keeper/msg_server.go index 6ad6d2515b86..b285d7a67158 100644 --- a/x/staking/keeper/msg_server.go +++ b/x/staking/keeper/msg_server.go @@ -284,6 +284,8 @@ func (k msgServer) Delegate(ctx context.Context, msg *types.MsgDelegate) (*types ) } + sdkCtx := sdk.UnwrapSDKContext(ctx) + // NOTE: source funds are always unbonded newShares, err := k.Keeper.Delegate(ctx, delegatorAddress, msg.Amount.Amount, types.Unbonded, validator, true) if err != nil { @@ -301,7 +303,22 @@ func (k msgServer) Delegate(ctx context.Context, msg *types.MsgDelegate) (*types }() } - sdkCtx := sdk.UnwrapSDKContext(ctx) + // if this delegation is from a liquid staking provider (identified if the delegator + // is an ICA account), it cannot exceed the global or validator bond cap + if k.DelegatorIsLiquidStaker(delegatorAddress) { + shares, err := validator.SharesFromTokens(msg.Amount.Amount) + if err != nil { + return nil, err + } + if err := k.SafelyIncreaseTotalLiquidStakedTokens(sdkCtx, msg.Amount.Amount, false); err != nil { + return nil, err + } + validator, err = k.SafelyIncreaseValidatorLiquidShares(sdkCtx, valAddr, shares, false) + if err != nil { + return nil, err + } + } + sdkCtx.EventManager().EmitEvents(sdk.Events{ sdk.NewEvent( types.EventTypeDelegate, diff --git a/x/staking/simulation/genesis.go b/x/staking/simulation/genesis.go index 08cc7dd05c20..633af70b4b7e 100644 --- a/x/staking/simulation/genesis.go +++ b/x/staking/simulation/genesis.go @@ -16,9 +16,12 @@ import ( // Simulation parameter constants const ( - unbondingTime = "unbonding_time" - maxValidators = "max_validators" - historicalEntries = "historical_entries" + unbondingTime = "unbonding_time" + maxValidators = "max_validators" + historicalEntries = "historical_entries" + ValidatorBondFactor = "validator_bond_factor" + GlobalLiquidStakingCap = "global_liquid_staking_cap" + ValidatorLiquidStakingCap = "validator_liquid_staking_cap" ) // genUnbondingTime returns randomized UnbondingTime @@ -36,14 +39,32 @@ func getHistEntries(r *rand.Rand) uint32 { return uint32(r.Intn(int(types.DefaultHistoricalEntries + 1))) } +// getGlobalLiquidStakingCap returns randomized GlobalLiquidStakingCap between 0-1. +func getGlobalLiquidStakingCap(r *rand.Rand) sdk.Dec { + return simulation.RandomDecAmount(r, sdk.OneDec()) +} + +// getValidatorLiquidStakingCap returns randomized ValidatorLiquidStakingCap between 0-1. +func getValidatorLiquidStakingCap(r *rand.Rand) sdk.Dec { + return simulation.RandomDecAmount(r, sdk.OneDec()) +} + +// getValidatorBondFactor returns randomized ValidatorBondCap between -1 and 300. +func getValidatorBondFactor(r *rand.Rand) sdk.Dec { + return sdk.NewDec(int64(simulation.RandIntBetween(r, -1, 300))) +} + // RandomizedGenState generates a random GenesisState for staking func RandomizedGenState(simState *module.SimulationState) { // params var ( - unbondTime time.Duration - maxVals uint32 - histEntries uint32 - minCommissionRate sdkmath.LegacyDec + unbondTime time.Duration + maxVals uint32 + histEntries uint32 + minCommissionRate sdkmath.LegacyDec + validatorBondFactor sdkmath.LegacyDec + globalLiquidStakingCap sdkmath.LegacyDec + validatorLiquidStakingCap sdkmath.LegacyDec ) simState.AppParams.GetOrGenerate(unbondingTime, &unbondTime, simState.Rand, func(r *rand.Rand) { unbondTime = genUnbondingTime(r) }) @@ -52,10 +73,35 @@ func RandomizedGenState(simState *module.SimulationState) { simState.AppParams.GetOrGenerate(historicalEntries, &histEntries, simState.Rand, func(r *rand.Rand) { histEntries = getHistEntries(r) }) + simState.AppParams.GetOrGenerate( + ValidatorBondFactor, &validatorBondFactor, simState.Rand, + func(r *rand.Rand) { validatorBondFactor = getValidatorBondFactor(r) }, + ) + + simState.AppParams.GetOrGenerate( + GlobalLiquidStakingCap, &globalLiquidStakingCap, simState.Rand, + func(r *rand.Rand) { globalLiquidStakingCap = getGlobalLiquidStakingCap(r) }, + ) + + simState.AppParams.GetOrGenerate( + ValidatorLiquidStakingCap, &validatorLiquidStakingCap, simState.Rand, + func(r *rand.Rand) { validatorLiquidStakingCap = getValidatorLiquidStakingCap(r) }, + ) + // NOTE: the slashing module need to be defined after the staking module on the // NewSimulationManager constructor for this to work simState.UnbondTime = unbondTime - params := types.NewParams(simState.UnbondTime, maxVals, 7, histEntries, simState.BondDenom, minCommissionRate) + params := types.NewParams( + simState.UnbondTime, + maxVals, + 7, + histEntries, + simState.BondDenom, + minCommissionRate, + validatorBondFactor, + globalLiquidStakingCap, + validatorLiquidStakingCap, + ) // validators & delegations var ( diff --git a/x/staking/types/params.go b/x/staking/types/params.go index befd34a2d8d9..6adcb63a04fb 100644 --- a/x/staking/types/params.go +++ b/x/staking/types/params.go @@ -45,14 +45,25 @@ var ( ) // NewParams creates a new Params instance -func NewParams(unbondingTime time.Duration, maxValidators, maxEntries, historicalEntries uint32, bondDenom string, minCommissionRate math.LegacyDec) Params { +func NewParams( + unbondingTime time.Duration, + maxValidators, maxEntries, historicalEntries uint32, + bondDenom string, + minCommissionRate, + validatorBondFactor, + globalLiquidStakingCap, + validatorLiquidStakingCap math.LegacyDec, +) Params { return Params{ - UnbondingTime: unbondingTime, - MaxValidators: maxValidators, - MaxEntries: maxEntries, - HistoricalEntries: historicalEntries, - BondDenom: bondDenom, - MinCommissionRate: minCommissionRate, + UnbondingTime: unbondingTime, + MaxValidators: maxValidators, + MaxEntries: maxEntries, + HistoricalEntries: historicalEntries, + BondDenom: bondDenom, + MinCommissionRate: minCommissionRate, + ValidatorBondFactor: validatorBondFactor, + GlobalLiquidStakingCap: globalLiquidStakingCap, + ValidatorLiquidStakingCap: validatorLiquidStakingCap, } } @@ -65,6 +76,9 @@ func DefaultParams() Params { DefaultHistoricalEntries, sdk.DefaultBondDenom, DefaultMinCommissionRate, + DefaultValidatorBondFactor, + DefaultGlobalLiquidStakingCap, + DefaultValidatorLiquidStakingCap, ) } From 7839cea9569c51199ddf8718553f185081d2da71 Mon Sep 17 00:00:00 2001 From: Alexandr Romanenya Date: Tue, 22 Jul 2025 13:09:53 +0300 Subject: [PATCH 04/13] fix: remove needless print --- x/staking/keeper/liquid_stake.go | 2 -- 1 file changed, 2 deletions(-) diff --git a/x/staking/keeper/liquid_stake.go b/x/staking/keeper/liquid_stake.go index d293de529856..6c554b6bcc2c 100644 --- a/x/staking/keeper/liquid_stake.go +++ b/x/staking/keeper/liquid_stake.go @@ -1,7 +1,6 @@ package keeper import ( - "fmt" "time" "cosmossdk.io/math" @@ -151,7 +150,6 @@ func (k Keeper) SafelyIncreaseTotalLiquidStakedTokens(ctx sdk.Context, amount ma // DecreaseTotalLiquidStakedTokens decrements the total liquid staked tokens func (k Keeper) DecreaseTotalLiquidStakedTokens(ctx sdk.Context, amount math.Int) error { totalLiquidStake := k.GetTotalLiquidStakedTokens(ctx) - fmt.Println("AAAAAAAAAAAAAAAAAAAAAAAAAAA", totalLiquidStake, amount) if amount.GT(totalLiquidStake) { return types.ErrTotalLiquidStakedUnderflow } From 8dc9aa2030b101104f4bf5e6d391c0cb9b5ea0d6 Mon Sep 17 00:00:00 2001 From: Alexandr Romanenya Date: Wed, 23 Jul 2025 10:56:04 +0300 Subject: [PATCH 05/13] fix: remove error checker --- x/distribution/keeper/keeper.go | 5 +--- x/staking/keeper/msg_server.go | 42 ++++++++++++++++++++------------- 2 files changed, 27 insertions(+), 20 deletions(-) diff --git a/x/distribution/keeper/keeper.go b/x/distribution/keeper/keeper.go index 8c84f292e972..2c156b8f89e7 100644 --- a/x/distribution/keeper/keeper.go +++ b/x/distribution/keeper/keeper.go @@ -237,10 +237,7 @@ func (k Keeper) WithdrawSingleShareRecordReward(ctx sdk.Context, recordID uint64 if err != nil { return err } - del, err := k.stakingKeeper.Delegation(ctx, record.GetModuleAddress(), valAddr) - if err != nil { - return err - } + del, _ := k.stakingKeeper.Delegation(ctx, record.GetModuleAddress(), valAddr) if val != nil && del != nil { // withdraw rewards into reward module account and send it to reward owner cacheCtx, write := ctx.CacheContext() diff --git a/x/staking/keeper/msg_server.go b/x/staking/keeper/msg_server.go index b285d7a67158..59fd072593dc 100644 --- a/x/staking/keeper/msg_server.go +++ b/x/staking/keeper/msg_server.go @@ -286,12 +286,38 @@ func (k msgServer) Delegate(ctx context.Context, msg *types.MsgDelegate) (*types sdkCtx := sdk.UnwrapSDKContext(ctx) + // if this delegation is from a liquid staking provider (identified if the delegator + // is an ICA account), it cannot exceed the global or validator bond cap + if k.DelegatorIsLiquidStaker(delegatorAddress) { + shares, err := validator.SharesFromTokens(msg.Amount.Amount) + if err != nil { + return nil, err + } + if err := k.SafelyIncreaseTotalLiquidStakedTokens(sdkCtx, msg.Amount.Amount, false); err != nil { + return nil, err + } + validator, err = k.SafelyIncreaseValidatorLiquidShares(sdkCtx, valAddr, shares, false) + if err != nil { + return nil, err + } + } // NOTE: source funds are always unbonded newShares, err := k.Keeper.Delegate(ctx, delegatorAddress, msg.Amount.Amount, types.Unbonded, validator, true) if err != nil { return nil, err } + // If the delegation is a validator bond, increment the validator bond shares + delegation, err := k.Keeper.GetDelegation(ctx, delegatorAddress, valAddr) + if err != nil { + return nil, types.ErrNoDelegation.Wrapf("delegation not found: %s", err) + } + if delegation.ValidatorBond { + if err := k.IncreaseValidatorBondShares(sdkCtx, valAddr, newShares); err != nil { + return nil, err + } + } + if msg.Amount.Amount.IsInt64() { defer func() { telemetry.IncrCounter(1, types.ModuleName, "delegate") @@ -303,22 +329,6 @@ func (k msgServer) Delegate(ctx context.Context, msg *types.MsgDelegate) (*types }() } - // if this delegation is from a liquid staking provider (identified if the delegator - // is an ICA account), it cannot exceed the global or validator bond cap - if k.DelegatorIsLiquidStaker(delegatorAddress) { - shares, err := validator.SharesFromTokens(msg.Amount.Amount) - if err != nil { - return nil, err - } - if err := k.SafelyIncreaseTotalLiquidStakedTokens(sdkCtx, msg.Amount.Amount, false); err != nil { - return nil, err - } - validator, err = k.SafelyIncreaseValidatorLiquidShares(sdkCtx, valAddr, shares, false) - if err != nil { - return nil, err - } - } - sdkCtx.EventManager().EmitEvents(sdk.Events{ sdk.NewEvent( types.EventTypeDelegate, From 9dc3ca3786cd20b56cdc4b91770ea0586a67b085 Mon Sep 17 00:00:00 2001 From: Alexandr Romanenya Date: Mon, 22 Sep 2025 19:24:52 +0300 Subject: [PATCH 06/13] draft: some fixes --- api/cosmos/staking/v1beta1/staking.pulsar.go | 341 ++-- proto/cosmos/staking/v1beta1/staking.proto | 33 +- .../testutil/expected_keepers_mocks.go | 115 +- x/staking/migrations/v3/json_test.go | 43 +- x/staking/simulation/genesis_test.go | 6 +- x/staking/testutil/expected_keepers_mocks.go | 126 +- x/staking/types/staking.pb.go | 1743 +++++++++-------- x/staking/types/validator.go | 2 + 8 files changed, 1220 insertions(+), 1189 deletions(-) diff --git a/api/cosmos/staking/v1beta1/staking.pulsar.go b/api/cosmos/staking/v1beta1/staking.pulsar.go index 4c02c636170b..a28910525445 100644 --- a/api/cosmos/staking/v1beta1/staking.pulsar.go +++ b/api/cosmos/staking/v1beta1/staking.pulsar.go @@ -15709,22 +15709,22 @@ var file_cosmos_staking_v1beta1_staking_proto_rawDesc = []byte{ 0x0a, 0x24, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, - 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x14, - 0x67, 0x6f, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, - 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, - 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x1a, 0x19, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2f, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x61, 0x6d, 0x69, - 0x6e, 0x6f, 0x2f, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, - 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, - 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x74, 0x65, - 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2f, 0x61, 0x62, 0x63, 0x69, 0x2f, 0x74, 0x79, + 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x11, + 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x1e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x19, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x67, 0x6f, + 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, + 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2f, 0x61, 0x62, 0x63, 0x69, 0x2f, + 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x74, 0x65, 0x6e, + 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x93, 0x01, 0x0a, 0x0e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3b, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x74, @@ -15997,7 +15997,7 @@ var file_cosmos_staking_v1beta1_staking_proto_rawDesc = []byte{ 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x3a, 0x08, 0x88, 0xa0, 0x1f, 0x00, 0xe8, - 0xa0, 0x1f, 0x00, 0x22, 0xca, 0x06, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x4f, + 0xa0, 0x1f, 0x00, 0x22, 0xe2, 0x06, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x4f, 0x0a, 0x0e, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, @@ -16020,163 +16020,164 @@ var file_cosmos_staking_v1beta1_staking_proto_rawDesc = []byte{ 0x3a, 0x22, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x22, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, 0x63, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x11, 0x6d, 0x69, 0x6e, 0x43, 0x6f, - 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x12, 0x82, 0x01, 0x0a, + 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x12, 0x8a, 0x01, 0x0a, 0x15, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x62, 0x6f, 0x6e, 0x64, 0x5f, - 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x4e, 0xc8, 0xde, - 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x26, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, - 0x64, 0x6b, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x44, 0x65, 0x63, 0xf2, 0xde, 0x1f, 0x1c, - 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, - 0x62, 0x6f, 0x6e, 0x64, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x22, 0x52, 0x13, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x42, 0x6f, 0x6e, 0x64, 0x46, 0x61, 0x63, 0x74, 0x6f, - 0x72, 0x12, 0x8d, 0x01, 0x0a, 0x19, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x71, - 0x75, 0x69, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x61, 0x70, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x52, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x26, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x74, 0x79, 0x70, 0x65, - 0x73, 0x2e, 0x44, 0x65, 0x63, 0xf2, 0xde, 0x1f, 0x20, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x67, - 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x5f, 0x73, 0x74, 0x61, - 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x61, 0x70, 0x22, 0x52, 0x16, 0x67, 0x6c, 0x6f, 0x62, 0x61, + 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x56, 0xc8, 0xde, + 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x1b, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, + 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x44, 0x65, + 0x63, 0xf2, 0xde, 0x1f, 0x1c, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x62, 0x6f, 0x6e, 0x64, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, + 0x22, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, 0x63, 0xa8, + 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x13, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x42, + 0x6f, 0x6e, 0x64, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x95, 0x01, 0x0a, 0x19, 0x67, 0x6c, + 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x6b, + 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x61, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x5a, 0xc8, + 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x1b, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, + 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x44, + 0x65, 0x63, 0xf2, 0xde, 0x1f, 0x20, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x67, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, + 0x67, 0x5f, 0x63, 0x61, 0x70, 0x22, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2e, 0x44, 0x65, 0x63, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x16, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x61, - 0x70, 0x12, 0x96, 0x01, 0x0a, 0x1c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, + 0x70, 0x12, 0x9e, 0x01, 0x0a, 0x1c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x63, - 0x61, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x55, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, - 0x1f, 0x26, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x74, - 0x79, 0x70, 0x65, 0x73, 0x2e, 0x44, 0x65, 0x63, 0xf2, 0xde, 0x1f, 0x23, 0x79, 0x61, 0x6d, 0x6c, - 0x3a, 0x22, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x6c, 0x69, 0x71, 0x75, - 0x69, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x61, 0x70, 0x22, 0x52, - 0x19, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, - 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x61, 0x70, 0x3a, 0x24, 0xe8, 0xa0, 0x1f, 0x01, - 0x8a, 0xe7, 0xb0, 0x2a, 0x1b, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, - 0x78, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, - 0x22, 0xa9, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x67, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, - 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x65, - 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, - 0x69, 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x07, 0x62, - 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x00, 0x22, 0xcd, 0x01, 0x0a, - 0x19, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x12, 0x72, 0x65, - 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, - 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x11, 0x72, 0x65, - 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, - 0x45, 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x2b, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x49, 0x6e, 0x74, 0xd2, - 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0x52, 0x07, 0x62, - 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x01, 0x22, 0xc9, 0x01, 0x0a, - 0x14, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x0c, 0x72, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0c, 0x72, 0x65, - 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x56, 0x0a, 0x07, 0x65, 0x6e, - 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x09, - 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, - 0x65, 0x73, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x00, 0x22, 0xeb, 0x01, 0x0a, 0x04, 0x50, 0x6f, 0x6f, - 0x6c, 0x12, 0x71, 0x0a, 0x11, 0x6e, 0x6f, 0x74, 0x5f, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x5f, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x45, 0xc8, 0xde, - 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, - 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x49, 0x6e, 0x74, 0xea, 0xde, 0x1f, 0x11, 0x6e, - 0x6f, 0x74, 0x5f, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, - 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xa8, 0xe7, - 0xb0, 0x2a, 0x01, 0x52, 0x0f, 0x6e, 0x6f, 0x74, 0x42, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x66, 0x0a, 0x0d, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x41, 0xc8, 0xde, 0x1f, - 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, - 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x49, 0x6e, 0x74, 0xea, 0xde, 0x1f, 0x0d, 0x62, 0x6f, - 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0c, - 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x3a, 0x08, 0xe8, 0xa0, - 0x1f, 0x01, 0xf0, 0xa0, 0x1f, 0x01, 0x22, 0x59, 0x0a, 0x10, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x6f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x45, 0x0a, 0x07, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x74, 0x65, - 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x61, 0x62, 0x63, 0x69, 0x2e, 0x56, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x09, 0xc8, - 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x73, 0x22, 0xba, 0x01, 0x0a, 0x13, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, - 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2e, 0x0a, 0x05, 0x6f, 0x77, 0x6e, - 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x6f, 0x64, - 0x75, 0x6c, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0d, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x36, 0x0a, 0x09, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x01, 0x22, 0x5c, - 0x0a, 0x22, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, - 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x36, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x52, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x2a, 0xb6, 0x01, 0x0a, - 0x0a, 0x42, 0x6f, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2c, 0x0a, 0x17, 0x42, - 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, - 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x1a, 0x0f, 0x8a, 0x9d, 0x20, 0x0b, 0x55, 0x6e, - 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x14, 0x42, 0x4f, 0x4e, - 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x42, 0x4f, 0x4e, 0x44, 0x45, - 0x44, 0x10, 0x01, 0x1a, 0x0c, 0x8a, 0x9d, 0x20, 0x08, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x65, - 0x64, 0x12, 0x28, 0x0a, 0x15, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, - 0x5f, 0x55, 0x4e, 0x42, 0x4f, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x1a, 0x0d, 0x8a, 0x9d, - 0x20, 0x09, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x22, 0x0a, 0x12, 0x42, - 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x42, 0x4f, 0x4e, 0x44, 0x45, - 0x44, 0x10, 0x03, 0x1a, 0x0a, 0x8a, 0x9d, 0x20, 0x06, 0x42, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x1a, - 0x04, 0x88, 0xa3, 0x1e, 0x00, 0x2a, 0x5d, 0x0a, 0x0a, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x16, 0x49, 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, - 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, - 0x1a, 0x0a, 0x16, 0x49, 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x4f, - 0x55, 0x42, 0x4c, 0x45, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x49, - 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x54, 0x49, - 0x4d, 0x45, 0x10, 0x02, 0x2a, 0xba, 0x02, 0x0a, 0x17, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, - 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x42, 0x0a, 0x26, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x49, 0x5a, 0x45, 0x5f, 0x53, 0x48, 0x41, - 0x52, 0x45, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, - 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x1a, 0x16, 0x8a, 0x9d, - 0x20, 0x12, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x4e, 0x69, 0x6c, 0x12, 0x40, 0x0a, 0x21, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x49, 0x5a, 0x45, - 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x55, 0x53, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x10, 0x01, 0x1a, 0x19, 0x8a, 0x9d, 0x20, - 0x15, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x44, 0x0a, 0x23, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x49, - 0x5a, 0x45, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x53, 0x54, - 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x10, 0x02, 0x1a, - 0x1b, 0x8a, 0x9d, 0x20, 0x17, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x4d, 0x0a, 0x28, + 0x61, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x5d, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, + 0x1f, 0x1b, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, + 0x61, 0x74, 0x68, 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x44, 0x65, 0x63, 0xf2, 0xde, 0x1f, + 0x23, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, + 0x5f, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5f, + 0x63, 0x61, 0x70, 0x22, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, + 0x65, 0x63, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x19, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x6f, 0x72, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x43, + 0x61, 0x70, 0x3a, 0x24, 0xe8, 0xa0, 0x1f, 0x01, 0x8a, 0xe7, 0xb0, 0x2a, 0x1b, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x78, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, + 0x67, 0x2f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0xa9, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, + 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x4d, 0x0a, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, + 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, + 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, + 0x2a, 0x01, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, + 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, + 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x04, + 0xe8, 0xa0, 0x1f, 0x00, 0x22, 0xcd, 0x01, 0x0a, 0x19, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x63, 0x0a, 0x12, 0x72, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, + 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x11, 0x72, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x45, 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, + 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, + 0x1f, 0x15, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, + 0x61, 0x74, 0x68, 0x2e, 0x49, 0x6e, 0x74, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2e, 0x49, 0x6e, 0x74, 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x04, + 0xe8, 0xa0, 0x1f, 0x01, 0x22, 0xc9, 0x01, 0x0a, 0x14, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, + 0x0c, 0x72, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, + 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x64, + 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, + 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0c, 0x72, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x56, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, + 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x64, + 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, + 0x01, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x00, + 0x22, 0xeb, 0x01, 0x0a, 0x04, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x71, 0x0a, 0x11, 0x6e, 0x6f, 0x74, + 0x5f, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x45, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, + 0x49, 0x6e, 0x74, 0xea, 0xde, 0x1f, 0x11, 0x6e, 0x6f, 0x74, 0x5f, 0x62, 0x6f, 0x6e, 0x64, 0x65, + 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0f, 0x6e, 0x6f, 0x74, + 0x42, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x66, 0x0a, 0x0d, + 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x41, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x49, + 0x6e, 0x74, 0xea, 0xde, 0x1f, 0x0d, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x73, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, + 0x74, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0c, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x73, 0x3a, 0x08, 0xe8, 0xa0, 0x1f, 0x01, 0xf0, 0xa0, 0x1f, 0x01, 0x22, 0x59, + 0x0a, 0x10, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x73, 0x12, 0x45, 0x0a, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, + 0x2e, 0x61, 0x62, 0x63, 0x69, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, + 0x52, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x22, 0xba, 0x01, 0x0a, 0x13, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, + 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x2e, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, + 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6d, 0x6f, 0x64, 0x75, 0x6c, + 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x09, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, + 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, + 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x01, 0x22, 0x5c, 0x0a, 0x22, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x41, 0x75, + 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x36, 0x0a, 0x09, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, + 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x65, 0x73, 0x2a, 0xb6, 0x01, 0x0a, 0x0a, 0x42, 0x6f, 0x6e, 0x64, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x2c, 0x0a, 0x17, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, + 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, + 0x1a, 0x0f, 0x8a, 0x9d, 0x20, 0x0b, 0x55, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, + 0x64, 0x12, 0x26, 0x0a, 0x14, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, + 0x5f, 0x55, 0x4e, 0x42, 0x4f, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x01, 0x1a, 0x0c, 0x8a, 0x9d, 0x20, + 0x08, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x15, 0x42, 0x4f, 0x4e, + 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x42, 0x4f, 0x4e, 0x44, 0x49, + 0x4e, 0x47, 0x10, 0x02, 0x1a, 0x0d, 0x8a, 0x9d, 0x20, 0x09, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x12, 0x22, 0x0a, 0x12, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, + 0x55, 0x53, 0x5f, 0x42, 0x4f, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x03, 0x1a, 0x0a, 0x8a, 0x9d, 0x20, + 0x06, 0x42, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x1a, 0x04, 0x88, 0xa3, 0x1e, 0x00, 0x2a, 0x5d, 0x0a, + 0x0a, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x16, 0x49, + 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x49, 0x4e, 0x46, 0x52, 0x41, + 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x4f, 0x55, 0x42, 0x4c, 0x45, 0x5f, 0x53, 0x49, 0x47, + 0x4e, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x49, 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x02, 0x2a, 0xba, 0x02, 0x0a, + 0x17, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x6f, + 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x42, 0x0a, 0x26, 0x54, 0x4f, 0x4b, 0x45, + 0x4e, 0x49, 0x5a, 0x45, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, + 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x1a, 0x16, 0x8a, 0x9d, 0x20, 0x12, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, + 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4e, 0x69, 0x6c, 0x12, 0x40, 0x0a, 0x21, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x49, 0x5a, 0x45, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x4c, - 0x4f, 0x43, 0x4b, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, - 0x45, 0x58, 0x50, 0x49, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x1a, 0x1f, 0x8a, 0x9d, 0x20, 0x1b, - 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4c, - 0x6f, 0x63, 0x6b, 0x45, 0x78, 0x70, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x1a, 0x04, 0x88, 0xa3, 0x1e, - 0x00, 0x42, 0xdc, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x42, 0x0c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, - 0x5a, 0x36, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, - 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, - 0x67, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x53, 0x58, 0xaa, 0x02, - 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, - 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0xe2, 0x02, 0x22, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, - 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x18, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, - 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x4f, 0x43, 0x4b, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x45, + 0x44, 0x10, 0x01, 0x1a, 0x19, 0x8a, 0x9d, 0x20, 0x15, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x6f, + 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x44, + 0x0a, 0x23, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x49, 0x5a, 0x45, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, + 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x4c, + 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x10, 0x02, 0x1a, 0x1b, 0x8a, 0x9d, 0x20, 0x17, 0x53, 0x68, 0x61, + 0x72, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x55, 0x6e, 0x6c, 0x6f, + 0x63, 0x6b, 0x65, 0x64, 0x12, 0x4d, 0x0a, 0x28, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x49, 0x5a, 0x45, + 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x53, 0x54, 0x41, 0x54, + 0x55, 0x53, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x45, 0x58, 0x50, 0x49, 0x52, 0x49, 0x4e, 0x47, + 0x10, 0x03, 0x1a, 0x1f, 0x8a, 0x9d, 0x20, 0x1b, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x63, + 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x45, 0x78, 0x70, 0x69, 0x72, + 0x69, 0x6e, 0x67, 0x1a, 0x04, 0x88, 0xa3, 0x1e, 0x00, 0x42, 0xdc, 0x01, 0x0a, 0x1a, 0x63, 0x6f, + 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, + 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x3b, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0xa2, 0x02, 0x03, 0x43, 0x53, 0x58, 0xaa, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, + 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, + 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, + 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x22, 0x43, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x18, + 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x3a, + 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/proto/cosmos/staking/v1beta1/staking.proto b/proto/cosmos/staking/v1beta1/staking.proto index 811bcf4cd4db..45c5bbda5478 100644 --- a/proto/cosmos/staking/v1beta1/staking.proto +++ b/proto/cosmos/staking/v1beta1/staking.proto @@ -1,16 +1,15 @@ syntax = "proto3"; package cosmos.staking.v1beta1; +import "amino/amino.proto"; +import "cosmos/base/v1beta1/coin.proto"; +import "cosmos_proto/cosmos.proto"; import "gogoproto/gogo.proto"; import "google/protobuf/any.proto"; import "google/protobuf/duration.proto"; import "google/protobuf/timestamp.proto"; - -import "cosmos_proto/cosmos.proto"; -import "cosmos/base/v1beta1/coin.proto"; -import "amino/amino.proto"; -import "tendermint/types/types.proto"; import "tendermint/abci/types.proto"; +import "tendermint/types/types.proto"; option go_package = "github.com/cosmos/cosmos-sdk/x/staking/types"; @@ -241,7 +240,8 @@ message UnbondingDelegation { string validator_address = 2 [(cosmos_proto.scalar) = "cosmos.ValidatorAddressString"]; // entries are the unbonding delegation entries. repeated UnbondingDelegationEntry entries = 3 - [(gogoproto.nullable) = false, (amino.dont_omitempty) = true]; // unbonding delegation entries + [(gogoproto.nullable) = false, + (amino.dont_omitempty) = true]; // unbonding delegation entries } // UnbondingDelegationEntry defines an unbonding object with relevant metadata. @@ -314,7 +314,8 @@ message Redelegation { string validator_dst_address = 3 [(cosmos_proto.scalar) = "cosmos.ValidatorAddressString"]; // entries are the redelegation entries. repeated RedelegationEntry entries = 4 - [(gogoproto.nullable) = false, (amino.dont_omitempty) = true]; // redelegation entries + [(gogoproto.nullable) = false, + (amino.dont_omitempty) = true]; // redelegation entries } // Params defines the parameters for the x/staking module. @@ -345,22 +346,28 @@ message Params { // delegations from liquid staking providers string validator_bond_factor = 7 [ (gogoproto.moretags) = "yaml:\"validator_bond_factor\"", - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", - (gogoproto.nullable) = false + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", + (gogoproto.nullable) = false, + (amino.dont_omitempty) = true, + (cosmos_proto.scalar) = "cosmos.Dec" ]; // global_liquid_staking_cap represents a cap on the portion of stake that // comes from liquid staking providers string global_liquid_staking_cap = 8 [ (gogoproto.moretags) = "yaml:\"global_liquid_staking_cap\"", - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", - (gogoproto.nullable) = false + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", + (gogoproto.nullable) = false, + (amino.dont_omitempty) = true, + (cosmos_proto.scalar) = "cosmos.Dec" ]; // validator_liquid_staking_cap represents a cap on the portion of stake that // comes from liquid staking providers for a specific validator string validator_liquid_staking_cap = 9 [ (gogoproto.moretags) = "yaml:\"validator_liquid_staking_cap\"", - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", - (gogoproto.nullable) = false + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", + (gogoproto.nullable) = false, + (amino.dont_omitempty) = true, + (cosmos_proto.scalar) = "cosmos.Dec" ]; } diff --git a/x/distribution/testutil/expected_keepers_mocks.go b/x/distribution/testutil/expected_keepers_mocks.go index f86c22ecd728..88f6517f5658 100644 --- a/x/distribution/testutil/expected_keepers_mocks.go +++ b/x/distribution/testutil/expected_keepers_mocks.go @@ -11,7 +11,6 @@ import ( address "cosmossdk.io/core/address" types "github.com/cosmos/cosmos-sdk/types" types0 "github.com/cosmos/cosmos-sdk/x/staking/types" - types1 "github.com/cosmos/cosmos-sdk/x/staking/types" gomock "github.com/golang/mock/gomock" ) @@ -157,6 +156,20 @@ func (mr *MockBankKeeperMockRecorder) GetAllBalances(ctx, addr interface{}) *gom return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAllBalances", reflect.TypeOf((*MockBankKeeper)(nil).GetAllBalances), ctx, addr) } +// SendCoins mocks base method. +func (m *MockBankKeeper) SendCoins(ctx context.Context, fromAddr, toAddr types.AccAddress, amt types.Coins) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "SendCoins", ctx, fromAddr, toAddr, amt) + ret0, _ := ret[0].(error) + return ret0 +} + +// SendCoins indicates an expected call of SendCoins. +func (mr *MockBankKeeperMockRecorder) SendCoins(ctx, fromAddr, toAddr, amt interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendCoins", reflect.TypeOf((*MockBankKeeper)(nil).SendCoins), ctx, fromAddr, toAddr, amt) +} + // SendCoinsFromAccountToModule mocks base method. func (m *MockBankKeeper) SendCoinsFromAccountToModule(ctx context.Context, senderAddr types.AccAddress, recipientModule string, amt types.Coins) error { m.ctrl.T.Helper() @@ -207,20 +220,6 @@ func (m *MockBankKeeper) SpendableCoins(ctx context.Context, addr types.AccAddre return ret0 } -// SendCoins mocks base method. -func (m *MockBankKeeper) SendCoins(ctx context.Context, fromAddr, toAddr types.AccAddress, amt types.Coins) error { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "SendCoins", ctx, fromAddr, toAddr, amt) - ret0, _ := ret[0].(error) - return ret0 -} - -// SendCoins indicates an expected call of SendCoins. -func (mr *MockBankKeeperMockRecorder) SendCoins(ctx, fromAddr, toAddr, amt interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendCoins", reflect.TypeOf((*MockBankKeeper)(nil).SendCoins), ctx, fromAddr, toAddr, amt) -} - // SpendableCoins indicates an expected call of SpendableCoins. func (mr *MockBankKeeperMockRecorder) SpendableCoins(ctx, addr interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() @@ -309,6 +308,20 @@ func (mr *MockStakingKeeperMockRecorder) GetAllSDKDelegations(ctx interface{}) * return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAllSDKDelegations", reflect.TypeOf((*MockStakingKeeper)(nil).GetAllSDKDelegations), ctx) } +// GetAllTokenizeShareRecords mocks base method. +func (m *MockStakingKeeper) GetAllTokenizeShareRecords(ctx context.Context) []types0.TokenizeShareRecord { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetAllTokenizeShareRecords", ctx) + ret0, _ := ret[0].([]types0.TokenizeShareRecord) + return ret0 +} + +// GetAllTokenizeShareRecords indicates an expected call of GetAllTokenizeShareRecords. +func (mr *MockStakingKeeperMockRecorder) GetAllTokenizeShareRecords(ctx interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAllTokenizeShareRecords", reflect.TypeOf((*MockStakingKeeper)(nil).GetAllTokenizeShareRecords), ctx) +} + // GetAllValidators mocks base method. func (m *MockStakingKeeper) GetAllValidators(ctx context.Context) ([]types0.Validator, error) { m.ctrl.T.Helper() @@ -324,6 +337,35 @@ func (mr *MockStakingKeeperMockRecorder) GetAllValidators(ctx interface{}) *gomo return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAllValidators", reflect.TypeOf((*MockStakingKeeper)(nil).GetAllValidators), ctx) } +// GetTokenizeShareRecord mocks base method. +func (m *MockStakingKeeper) GetTokenizeShareRecord(ctx context.Context, id uint64) (types0.TokenizeShareRecord, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetTokenizeShareRecord", ctx, id) + ret0, _ := ret[0].(types0.TokenizeShareRecord) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetTokenizeShareRecord indicates an expected call of GetTokenizeShareRecord. +func (mr *MockStakingKeeperMockRecorder) GetTokenizeShareRecord(ctx, id interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetTokenizeShareRecord", reflect.TypeOf((*MockStakingKeeper)(nil).GetTokenizeShareRecord), ctx, id) +} + +// GetTokenizeShareRecordsByOwner mocks base method. +func (m *MockStakingKeeper) GetTokenizeShareRecordsByOwner(ctx context.Context, owner types.AccAddress) []types0.TokenizeShareRecord { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetTokenizeShareRecordsByOwner", ctx, owner) + ret0, _ := ret[0].([]types0.TokenizeShareRecord) + return ret0 +} + +// GetTokenizeShareRecordsByOwner indicates an expected call of GetTokenizeShareRecordsByOwner. +func (mr *MockStakingKeeperMockRecorder) GetTokenizeShareRecordsByOwner(ctx, owner interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetTokenizeShareRecordsByOwner", reflect.TypeOf((*MockStakingKeeper)(nil).GetTokenizeShareRecordsByOwner), ctx, owner) +} + // IterateDelegations mocks base method. func (m *MockStakingKeeper) IterateDelegations(ctx context.Context, delegator types.AccAddress, fn func(int64, types0.DelegationI) bool) error { m.ctrl.T.Helper() @@ -446,46 +488,3 @@ func (mr *MockStakingHooksMockRecorder) AfterValidatorCreated(ctx, valAddr inter mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AfterValidatorCreated", reflect.TypeOf((*MockStakingHooks)(nil).AfterValidatorCreated), ctx, valAddr) } - -// GetAllTokenizeShareRecords mocks base method. -func (m *MockStakingKeeper) GetAllTokenizeShareRecords(ctx context.Context) []types1.TokenizeShareRecord { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetAllTokenizeShareRecords", ctx) - ret0, _ := ret[0].([]types1.TokenizeShareRecord) - return ret0 -} - -// GetAllTokenizeShareRecords indicates an expected call of GetAllTokenizeShareRecords. -func (mr *MockStakingKeeperMockRecorder) GetAllTokenizeShareRecords(ctx interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAllTokenizeShareRecords", reflect.TypeOf((*MockStakingKeeper)(nil).GetAllTokenizeShareRecords), ctx) -} - -// GetTokenizeShareRecord mocks base method. -func (m *MockStakingKeeper) GetTokenizeShareRecord(ctx context.Context, id uint64) (types1.TokenizeShareRecord, error) { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetTokenizeShareRecord", ctx, id) - ret0, _ := ret[0].(types1.TokenizeShareRecord) - ret1, _ := ret[1].(error) - return ret0, ret1 -} - -// GetTokenizeShareRecord indicates an expected call of GetTokenizeShareRecord. -func (mr *MockStakingKeeperMockRecorder) GetTokenizeShareRecord(ctx, id interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetTokenizeShareRecord", reflect.TypeOf((*MockStakingKeeper)(nil).GetTokenizeShareRecord), ctx, id) -} - -// GetTokenizeShareRecordsByOwner mocks base method. -func (m *MockStakingKeeper) GetTokenizeShareRecordsByOwner(ctx context.Context, owner types.AccAddress) []types1.TokenizeShareRecord { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetTokenizeShareRecordsByOwner", ctx, owner) - ret0, _ := ret[0].([]types1.TokenizeShareRecord) - return ret0 -} - -// GetTokenizeShareRecordsByOwner indicates an expected call of GetTokenizeShareRecordsByOwner. -func (mr *MockStakingKeeperMockRecorder) GetTokenizeShareRecordsByOwner(ctx, owner interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetTokenizeShareRecordsByOwner", reflect.TypeOf((*MockStakingKeeper)(nil).GetTokenizeShareRecordsByOwner), ctx, owner) -} diff --git a/x/staking/migrations/v3/json_test.go b/x/staking/migrations/v3/json_test.go index c111f366515e..1870b43da766 100644 --- a/x/staking/migrations/v3/json_test.go +++ b/x/staking/migrations/v3/json_test.go @@ -36,22 +36,29 @@ func TestMigrateJSON(t *testing.T) { // Make sure about new param MinCommissionRate. expected := `{ - "delegations": [], - "exported": false, - "last_total_power": "0", - "last_validator_powers": [], - "params": { - "bond_denom": "stake", - "historical_entries": 10000, - "max_entries": 7, - "max_validators": 100, - "min_commission_rate": "0.000000000000000000", - "unbonding_time": "1814400s" - }, - "redelegations": [], - "unbonding_delegations": [], - "validators": [] -}` - - require.Equal(t, expected, string(indentedBz)) + "delegations": [], + "exported": false, + "last_tokenize_share_record_id": "0", + "last_total_power": "0", + "last_validator_powers": [], + "params": { + "bond_denom": "stake", + "global_liquid_staking_cap": "1.000000000000000000", + "historical_entries": 10000, + "max_entries": 7, + "max_validators": 100, + "min_commission_rate": "0.000000000000000000", + "unbonding_time": "1814400s", + "validator_bond_factor": "-1.000000000000000000", + "validator_liquid_staking_cap": "1.000000000000000000" + }, + "redelegations": [], + "tokenize_share_locks": [], + "tokenize_share_records": [], + "total_liquid_staked_tokens": "0", + "unbonding_delegations": [], + "validators": [] + }` + + require.JSONEq(t, expected, string(indentedBz)) } diff --git a/x/staking/simulation/genesis_test.go b/x/staking/simulation/genesis_test.go index d3b74e5758fe..a7fd4ecb4f4c 100644 --- a/x/staking/simulation/genesis_test.go +++ b/x/staking/simulation/genesis_test.go @@ -64,9 +64,9 @@ func TestRandomizedGenState(t *testing.T) { require.Equal(t, "BOND_STATUS_UNBONDED", stakingGenesis.Validators[2].Status.String()) require.Equal(t, "1000", stakingGenesis.Validators[2].Tokens.String()) require.Equal(t, "1000.000000000000000000", stakingGenesis.Validators[2].DelegatorShares.String()) - require.Equal(t, "0.292059246265731326", stakingGenesis.Validators[2].Commission.CommissionRates.Rate.String()) - require.Equal(t, "0.330000000000000000", stakingGenesis.Validators[2].Commission.CommissionRates.MaxRate.String()) - require.Equal(t, "0.038337453731274481", stakingGenesis.Validators[2].Commission.CommissionRates.MaxChangeRate.String()) + require.Equal(t, "0.019527679037870745", stakingGenesis.Validators[2].Commission.CommissionRates.Rate.String()) + require.Equal(t, "0.240000000000000000", stakingGenesis.Validators[2].Commission.CommissionRates.MaxRate.String()) + require.Equal(t, "0.240000000000000000", stakingGenesis.Validators[2].Commission.CommissionRates.MaxChangeRate.String()) require.Equal(t, "1", stakingGenesis.Validators[2].MinSelfDelegation.String()) } diff --git a/x/staking/testutil/expected_keepers_mocks.go b/x/staking/testutil/expected_keepers_mocks.go index 4dc12824f1b8..96d92ea6ec80 100644 --- a/x/staking/testutil/expected_keepers_mocks.go +++ b/x/staking/testutil/expected_keepers_mocks.go @@ -226,6 +226,62 @@ func (mr *MockBankKeeperMockRecorder) LockedCoins(ctx, addr interface{}) *gomock return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "LockedCoins", reflect.TypeOf((*MockBankKeeper)(nil).LockedCoins), ctx, addr) } +// MintCoins mocks base method. +func (m *MockBankKeeper) MintCoins(cts context.Context, name string, amt types.Coins) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "MintCoins", cts, name, amt) + ret0, _ := ret[0].(error) + return ret0 +} + +// MintCoins indicates an expected call of MintCoins. +func (mr *MockBankKeeperMockRecorder) MintCoins(cts, name, amt interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "MintCoins", reflect.TypeOf((*MockBankKeeper)(nil).MintCoins), cts, name, amt) +} + +// SendCoins mocks base method. +func (m *MockBankKeeper) SendCoins(ctx context.Context, fromAddr, toAddr types.AccAddress, amt types.Coins) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "SendCoins", ctx, fromAddr, toAddr, amt) + ret0, _ := ret[0].(error) + return ret0 +} + +// SendCoins indicates an expected call of SendCoins. +func (mr *MockBankKeeperMockRecorder) SendCoins(ctx, fromAddr, toAddr, amt interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendCoins", reflect.TypeOf((*MockBankKeeper)(nil).SendCoins), ctx, fromAddr, toAddr, amt) +} + +// SendCoinsFromAccountToModule mocks base method. +func (m *MockBankKeeper) SendCoinsFromAccountToModule(ctx context.Context, senderAddr types.AccAddress, recipientModule string, amt types.Coins) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "SendCoinsFromAccountToModule", ctx, senderAddr, recipientModule, amt) + ret0, _ := ret[0].(error) + return ret0 +} + +// SendCoinsFromAccountToModule indicates an expected call of SendCoinsFromAccountToModule. +func (mr *MockBankKeeperMockRecorder) SendCoinsFromAccountToModule(ctx, senderAddr, recipientModule, amt interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendCoinsFromAccountToModule", reflect.TypeOf((*MockBankKeeper)(nil).SendCoinsFromAccountToModule), ctx, senderAddr, recipientModule, amt) +} + +// SendCoinsFromModuleToAccount mocks base method. +func (m *MockBankKeeper) SendCoinsFromModuleToAccount(ctx context.Context, senderModule string, recipientAddr types.AccAddress, amt types.Coins) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "SendCoinsFromModuleToAccount", ctx, senderModule, recipientAddr, amt) + ret0, _ := ret[0].(error) + return ret0 +} + +// SendCoinsFromModuleToAccount indicates an expected call of SendCoinsFromModuleToAccount. +func (mr *MockBankKeeperMockRecorder) SendCoinsFromModuleToAccount(ctx, senderModule, recipientAddr, amt interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendCoinsFromModuleToAccount", reflect.TypeOf((*MockBankKeeper)(nil).SendCoinsFromModuleToAccount), ctx, senderModule, recipientAddr, amt) +} + // SendCoinsFromModuleToModule mocks base method. func (m *MockBankKeeper) SendCoinsFromModuleToModule(ctx context.Context, senderPool, recipientPool string, amt types.Coins) error { m.ctrl.T.Helper() @@ -696,6 +752,20 @@ func (mr *MockStakingHooksMockRecorder) BeforeDelegationSharesModified(ctx, delA return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "BeforeDelegationSharesModified", reflect.TypeOf((*MockStakingHooks)(nil).BeforeDelegationSharesModified), ctx, delAddr, valAddr) } +// BeforeTokenizeShareRecordRemoved mocks base method. +func (m *MockStakingHooks) BeforeTokenizeShareRecordRemoved(ctx types.Context, recordId uint64) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "BeforeTokenizeShareRecordRemoved", ctx, recordId) + ret0, _ := ret[0].(error) + return ret0 +} + +// BeforeTokenizeShareRecordRemoved indicates an expected call of BeforeTokenizeShareRecordRemoved. +func (mr *MockStakingHooksMockRecorder) BeforeTokenizeShareRecordRemoved(ctx, recordId interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "BeforeTokenizeShareRecordRemoved", reflect.TypeOf((*MockStakingHooks)(nil).BeforeTokenizeShareRecordRemoved), ctx, recordId) +} + // BeforeValidatorModified mocks base method. func (m *MockStakingHooks) BeforeValidatorModified(ctx context.Context, valAddr types.ValAddress) error { m.ctrl.T.Helper() @@ -723,59 +793,3 @@ func (mr *MockStakingHooksMockRecorder) BeforeValidatorSlashed(ctx, valAddr, fra mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "BeforeValidatorSlashed", reflect.TypeOf((*MockStakingHooks)(nil).BeforeValidatorSlashed), ctx, valAddr, fraction) } - -// MintCoins mocks base method. -func (m *MockBankKeeper) MintCoins(cts context.Context, name string, amt types.Coins) error { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "MintCoins", cts, name, amt) - ret0, _ := ret[0].(error) - return ret0 -} - -// MintCoins indicates an expected call of MintCoins. -func (mr *MockBankKeeperMockRecorder) MintCoins(cts, name, amt interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "MintCoins", reflect.TypeOf((*MockBankKeeper)(nil).MintCoins), cts, name, amt) -} - -// SendCoins mocks base method. -func (m *MockBankKeeper) SendCoins(ctx context.Context, fromAddr, toAddr types.AccAddress, amt types.Coins) error { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "SendCoins", ctx, fromAddr, toAddr, amt) - ret0, _ := ret[0].(error) - return ret0 -} - -// SendCoins indicates an expected call of SendCoins. -func (mr *MockBankKeeperMockRecorder) SendCoins(ctx, fromAddr, toAddr, amt interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendCoins", reflect.TypeOf((*MockBankKeeper)(nil).SendCoins), ctx, fromAddr, toAddr, amt) -} - -// SendCoinsFromAccountToModule mocks base method. -func (m *MockBankKeeper) SendCoinsFromAccountToModule(ctx context.Context, senderAddr types.AccAddress, recipientModule string, amt types.Coins) error { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "SendCoinsFromAccountToModule", ctx, senderAddr, recipientModule, amt) - ret0, _ := ret[0].(error) - return ret0 -} - -// SendCoinsFromAccountToModule indicates an expected call of SendCoinsFromAccountToModule. -func (mr *MockBankKeeperMockRecorder) SendCoinsFromAccountToModule(ctx, senderAddr, recipientModule, amt interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendCoinsFromAccountToModule", reflect.TypeOf((*MockBankKeeper)(nil).SendCoinsFromAccountToModule), ctx, senderAddr, recipientModule, amt) -} - -// SendCoinsFromModuleToAccount mocks base method. -func (m *MockBankKeeper) SendCoinsFromModuleToAccount(ctx context.Context, senderModule string, recipientAddr types.AccAddress, amt types.Coins) error { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "SendCoinsFromModuleToAccount", ctx, senderModule, recipientAddr, amt) - ret0, _ := ret[0].(error) - return ret0 -} - -// SendCoinsFromModuleToAccount indicates an expected call of SendCoinsFromModuleToAccount. -func (mr *MockBankKeeperMockRecorder) SendCoinsFromModuleToAccount(ctx, senderModule, recipientAddr, amt interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendCoinsFromModuleToAccount", reflect.TypeOf((*MockBankKeeper)(nil).SendCoinsFromModuleToAccount), ctx, senderModule, recipientAddr, amt) -} diff --git a/x/staking/types/staking.pb.go b/x/staking/types/staking.pb.go index 0a3816efc792..d7b3cf472d3a 100644 --- a/x/staking/types/staking.pb.go +++ b/x/staking/types/staking.pb.go @@ -985,13 +985,13 @@ type Params struct { MinCommissionRate cosmossdk_io_math.LegacyDec `protobuf:"bytes,6,opt,name=min_commission_rate,json=minCommissionRate,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"min_commission_rate" yaml:"min_commission_rate"` // validator_bond_factor is required as a safety check for tokenizing shares and // delegations from liquid staking providers - ValidatorBondFactor github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,7,opt,name=validator_bond_factor,json=validatorBondFactor,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"validator_bond_factor" yaml:"validator_bond_factor"` + ValidatorBondFactor cosmossdk_io_math.LegacyDec `protobuf:"bytes,7,opt,name=validator_bond_factor,json=validatorBondFactor,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"validator_bond_factor" yaml:"validator_bond_factor"` // global_liquid_staking_cap represents a cap on the portion of stake that // comes from liquid staking providers - GlobalLiquidStakingCap github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,8,opt,name=global_liquid_staking_cap,json=globalLiquidStakingCap,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"global_liquid_staking_cap" yaml:"global_liquid_staking_cap"` + GlobalLiquidStakingCap cosmossdk_io_math.LegacyDec `protobuf:"bytes,8,opt,name=global_liquid_staking_cap,json=globalLiquidStakingCap,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"global_liquid_staking_cap" yaml:"global_liquid_staking_cap"` // validator_liquid_staking_cap represents a cap on the portion of stake that // comes from liquid staking providers for a specific validator - ValidatorLiquidStakingCap github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,9,opt,name=validator_liquid_staking_cap,json=validatorLiquidStakingCap,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"validator_liquid_staking_cap" yaml:"validator_liquid_staking_cap"` + ValidatorLiquidStakingCap cosmossdk_io_math.LegacyDec `protobuf:"bytes,9,opt,name=validator_liquid_staking_cap,json=validatorLiquidStakingCap,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"validator_liquid_staking_cap" yaml:"validator_liquid_staking_cap"` } func (m *Params) Reset() { *m = Params{} } @@ -1459,149 +1459,149 @@ func init() { var fileDescriptor_64c30c6cf92913c9 = []byte{ // 2282 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x58, 0xcb, 0x6f, 0x1b, 0xc7, - 0x19, 0xd7, 0x52, 0x0a, 0x25, 0x7e, 0xd4, 0x73, 0xfc, 0xa2, 0xa8, 0x44, 0xa4, 0xe9, 0xc4, 0x51, - 0xdc, 0x98, 0xaa, 0x5d, 0xc0, 0x07, 0x35, 0x68, 0x2b, 0x8a, 0x74, 0xcc, 0xd8, 0xa6, 0xd4, 0xd5, - 0xa3, 0x49, 0x9a, 0x76, 0x31, 0xdc, 0x1d, 0x51, 0x53, 0x2d, 0x77, 0x99, 0x9d, 0xa1, 0x23, 0xe6, - 0x58, 0xf4, 0x10, 0xa8, 0x08, 0x10, 0xa0, 0x40, 0x50, 0xa0, 0x10, 0x62, 0xa0, 0x97, 0xf4, 0x96, - 0x83, 0xd1, 0x43, 0x6e, 0xbd, 0xa5, 0x01, 0x0a, 0x18, 0x3e, 0x15, 0x05, 0xaa, 0x14, 0xf6, 0x21, - 0x41, 0x7b, 0x29, 0xf2, 0x17, 0x14, 0x3b, 0x33, 0xfb, 0x20, 0xa9, 0x87, 0xe5, 0x18, 0x45, 0xd0, - 0x5e, 0x24, 0xee, 0xcc, 0xf7, 0xfd, 0xe6, 0xfb, 0x7e, 0xf3, 0x3d, 0x66, 0x06, 0x9e, 0x37, 0x5d, - 0xd6, 0x74, 0xd9, 0x3c, 0xe3, 0x78, 0x9b, 0x3a, 0x8d, 0xf9, 0x3b, 0x57, 0xea, 0x84, 0xe3, 0x2b, - 0xc1, 0x77, 0xb1, 0xe5, 0xb9, 0xdc, 0x45, 0x67, 0xa5, 0x54, 0x31, 0x18, 0x55, 0x52, 0xd9, 0xd3, - 0x0d, 0xb7, 0xe1, 0x0a, 0x91, 0x79, 0xff, 0x97, 0x94, 0xce, 0x4e, 0x37, 0x5c, 0xb7, 0x61, 0x93, - 0x79, 0xf1, 0x55, 0x6f, 0x6f, 0xce, 0x63, 0xa7, 0xa3, 0xa6, 0x66, 0x7b, 0xa7, 0xac, 0xb6, 0x87, - 0x39, 0x75, 0x1d, 0x35, 0x9f, 0xeb, 0x9d, 0xe7, 0xb4, 0x49, 0x18, 0xc7, 0xcd, 0x56, 0x80, 0x2d, - 0x2d, 0x31, 0xe4, 0xa2, 0xca, 0x2c, 0x85, 0xad, 0x5c, 0xa9, 0x63, 0x46, 0x42, 0x3f, 0x4c, 0x97, - 0x06, 0xd8, 0x53, 0xb8, 0x49, 0x1d, 0x77, 0x5e, 0xfc, 0x55, 0x43, 0xcf, 0x72, 0xe2, 0x58, 0xc4, - 0x6b, 0x52, 0x87, 0xcf, 0xf3, 0x4e, 0x8b, 0x30, 0xf9, 0x57, 0xcd, 0xce, 0xc4, 0x66, 0x71, 0xdd, - 0xa4, 0xf1, 0xc9, 0xc2, 0x6f, 0x34, 0x18, 0xbf, 0x41, 0x19, 0x77, 0x3d, 0x6a, 0x62, 0xbb, 0xea, - 0x6c, 0xba, 0xe8, 0xfb, 0x90, 0xdc, 0x22, 0xd8, 0x22, 0x5e, 0x46, 0xcb, 0x6b, 0x73, 0xe9, 0xab, - 0x99, 0x62, 0x04, 0x50, 0x94, 0xba, 0x37, 0xc4, 0x7c, 0x29, 0xf5, 0xd9, 0x7e, 0x6e, 0xe0, 0xe3, - 0x2f, 0x3f, 0xb9, 0xa4, 0xe9, 0x4a, 0x05, 0x95, 0x21, 0x79, 0x07, 0xdb, 0x8c, 0xf0, 0x4c, 0x22, - 0x3f, 0x38, 0x97, 0xbe, 0x7a, 0xbe, 0x78, 0x30, 0xe7, 0xc5, 0x0d, 0x6c, 0x53, 0x0b, 0x73, 0xb7, - 0x1b, 0x45, 0xea, 0x16, 0x3e, 0x4c, 0xc0, 0xc4, 0x92, 0xdb, 0x6c, 0x52, 0xc6, 0xa8, 0xeb, 0xe8, - 0x98, 0x13, 0x86, 0x5e, 0x83, 0x21, 0x0f, 0x73, 0x22, 0x8c, 0x4a, 0x95, 0xae, 0xf9, 0x4a, 0x7f, - 0xdb, 0xcf, 0xcd, 0x48, 0x78, 0x66, 0x6d, 0x17, 0xa9, 0x3b, 0xdf, 0xc4, 0x7c, 0xab, 0x78, 0x8b, - 0x34, 0xb0, 0xd9, 0x29, 0x13, 0xf3, 0xc1, 0xbd, 0xcb, 0xa0, 0x56, 0x2f, 0x13, 0x53, 0xae, 0x20, - 0x30, 0xd0, 0x8f, 0x61, 0xa4, 0x89, 0x77, 0x0c, 0x81, 0x97, 0xf8, 0x46, 0x78, 0xc3, 0x4d, 0xbc, - 0xe3, 0xdb, 0x87, 0x7e, 0x0e, 0x13, 0x3e, 0xa4, 0xb9, 0x85, 0x9d, 0x06, 0x91, 0xc8, 0x83, 0xdf, - 0x08, 0x79, 0xac, 0x89, 0x77, 0x96, 0x04, 0x9a, 0x8f, 0xbf, 0x30, 0xf4, 0xd5, 0xdd, 0x9c, 0x56, - 0xf8, 0x93, 0x06, 0x10, 0x11, 0x83, 0x30, 0x4c, 0x9a, 0xe1, 0x97, 0x58, 0x94, 0xa9, 0x4d, 0x7b, - 0xf1, 0x30, 0xde, 0x7b, 0x68, 0x2d, 0x8d, 0xf9, 0xe6, 0xdd, 0xdf, 0xcf, 0x69, 0x72, 0xd5, 0x09, - 0xb3, 0x8f, 0xf6, 0x74, 0xbb, 0x65, 0x61, 0x4e, 0x0c, 0x3f, 0x86, 0x05, 0x5b, 0xe9, 0xab, 0xd9, - 0xa2, 0x0c, 0xf0, 0x62, 0x10, 0xe0, 0xc5, 0xb5, 0x20, 0xc0, 0x25, 0xe0, 0x07, 0x5f, 0x04, 0x80, - 0x20, 0xb5, 0xfd, 0x79, 0xe5, 0xc3, 0xc7, 0x1a, 0xa4, 0xcb, 0x84, 0x99, 0x1e, 0x6d, 0xf9, 0x29, - 0x83, 0x32, 0x30, 0xdc, 0x74, 0x1d, 0xba, 0xad, 0x02, 0x2e, 0xa5, 0x07, 0x9f, 0x28, 0x0b, 0x23, - 0xd4, 0x22, 0x0e, 0xa7, 0xbc, 0x23, 0xb7, 0x49, 0x0f, 0xbf, 0x7d, 0xad, 0x77, 0x48, 0x9d, 0xd1, - 0x80, 0x67, 0x3d, 0xf8, 0x44, 0x2f, 0xc1, 0x24, 0x23, 0x66, 0xdb, 0xa3, 0xbc, 0x63, 0x98, 0xae, - 0xc3, 0xb1, 0xc9, 0x33, 0x43, 0x42, 0x64, 0x22, 0x18, 0x5f, 0x92, 0xc3, 0x3e, 0x88, 0x45, 0x38, - 0xa6, 0x36, 0xcb, 0x3c, 0x23, 0x41, 0xd4, 0xa7, 0x32, 0xf5, 0x8b, 0x11, 0x48, 0x85, 0x81, 0x8a, - 0x96, 0x60, 0xd2, 0x6d, 0x11, 0xcf, 0xff, 0x6d, 0x60, 0xcb, 0xf2, 0x08, 0x63, 0x2a, 0x1a, 0x33, - 0x0f, 0xee, 0x5d, 0x3e, 0xad, 0x08, 0x5f, 0x94, 0x33, 0xab, 0xdc, 0xa3, 0x4e, 0x43, 0x9f, 0x08, - 0x34, 0xd4, 0x30, 0x7a, 0xc3, 0xdf, 0x32, 0x87, 0x11, 0x87, 0xb5, 0x99, 0xd1, 0x6a, 0xd7, 0xb7, - 0x49, 0x47, 0x91, 0x7a, 0xba, 0x8f, 0xd4, 0x45, 0xa7, 0x53, 0xca, 0x7c, 0x1e, 0x41, 0x9b, 0x5e, - 0xa7, 0xc5, 0xdd, 0xe2, 0x4a, 0xbb, 0x7e, 0x93, 0x74, 0xfc, 0xad, 0x52, 0x38, 0x2b, 0x02, 0x06, - 0x9d, 0x85, 0xe4, 0x2f, 0x30, 0xb5, 0x89, 0x25, 0x18, 0x19, 0xd1, 0xd5, 0x17, 0x5a, 0x80, 0x24, - 0xe3, 0x98, 0xb7, 0x99, 0xa0, 0x61, 0xfc, 0x6a, 0xe1, 0xb0, 0xd8, 0x28, 0xb9, 0x8e, 0xb5, 0x2a, - 0x24, 0x75, 0xa5, 0x81, 0x96, 0x20, 0xc9, 0xdd, 0x6d, 0xe2, 0x28, 0x82, 0x4a, 0xdf, 0x51, 0xd1, - 0x7c, 0xa6, 0x3f, 0x9a, 0xab, 0x0e, 0x8f, 0xc5, 0x71, 0xd5, 0xe1, 0xba, 0x52, 0x45, 0x6f, 0xc1, - 0xa4, 0x45, 0x6c, 0xd2, 0x10, 0xcc, 0xb1, 0x2d, 0xec, 0x11, 0x96, 0x49, 0x0a, 0xb8, 0x2b, 0x27, - 0x4e, 0x0e, 0x7d, 0x22, 0x84, 0x5a, 0x15, 0x48, 0x68, 0x05, 0xd2, 0x56, 0x14, 0x4e, 0x99, 0x61, - 0x41, 0xe6, 0x85, 0xc3, 0x7c, 0x8c, 0x45, 0x5e, 0xbc, 0xf2, 0xc4, 0x21, 0xfc, 0x08, 0x6a, 0x3b, - 0x75, 0xd7, 0xb1, 0xa8, 0xd3, 0x30, 0xb6, 0x08, 0x6d, 0x6c, 0xf1, 0xcc, 0x48, 0x5e, 0x9b, 0x1b, - 0xd4, 0x27, 0xc2, 0xf1, 0x1b, 0x62, 0x18, 0xad, 0xc0, 0x78, 0x24, 0x2a, 0x32, 0x24, 0x75, 0xd2, - 0x0c, 0x19, 0x0b, 0x01, 0x7c, 0x11, 0x74, 0x1b, 0x20, 0xca, 0xc1, 0x0c, 0x08, 0xb4, 0xc2, 0xf1, - 0xd9, 0x1c, 0x77, 0x26, 0x06, 0x80, 0x7e, 0x0a, 0xa7, 0x9a, 0xd4, 0x31, 0x18, 0xb1, 0x37, 0x0d, - 0xc5, 0x9c, 0x8f, 0x9b, 0x3e, 0xf9, 0x6e, 0x4e, 0x35, 0xa9, 0xb3, 0x4a, 0xec, 0xcd, 0x72, 0x88, - 0x82, 0x5e, 0x81, 0x99, 0xc8, 0x7b, 0xd7, 0x31, 0xb6, 0x5c, 0xdb, 0x32, 0x3c, 0xb2, 0x69, 0x98, - 0x6e, 0xdb, 0xe1, 0x99, 0x51, 0xc1, 0xd9, 0xb9, 0x50, 0x64, 0xd9, 0xb9, 0xe1, 0xda, 0x96, 0x4e, - 0x36, 0x97, 0xfc, 0x69, 0x74, 0x01, 0x22, 0xd7, 0x0d, 0x6a, 0xb1, 0xcc, 0x58, 0x7e, 0x70, 0x6e, - 0x48, 0x1f, 0x0d, 0x07, 0xab, 0x16, 0x43, 0x2d, 0x38, 0x73, 0x27, 0xc8, 0x40, 0xc3, 0x1f, 0x0f, - 0x02, 0x68, 0x5c, 0x78, 0xf0, 0x8a, 0xf2, 0xe0, 0x62, 0x83, 0xf2, 0xad, 0x76, 0xbd, 0x68, 0xba, - 0x4d, 0xd5, 0x4e, 0xd5, 0xbf, 0xcb, 0xcc, 0xda, 0x56, 0x1d, 0xaf, 0x3f, 0x96, 0x4e, 0x85, 0xd0, - 0x22, 0xf4, 0x65, 0x3c, 0x61, 0x18, 0xb3, 0xe9, 0xdb, 0x6d, 0x1a, 0xae, 0x34, 0xf1, 0x14, 0x56, - 0x1a, 0x95, 0x90, 0x72, 0x89, 0x85, 0x91, 0xf7, 0xee, 0xe6, 0x06, 0xbe, 0xba, 0x9b, 0x1b, 0x28, - 0x5c, 0x87, 0xd1, 0x0d, 0x6c, 0xab, 0xe2, 0x40, 0x18, 0xba, 0x06, 0x29, 0x1c, 0x7c, 0x64, 0xb4, - 0xfc, 0xe0, 0x91, 0xc5, 0x25, 0x12, 0x2d, 0xfc, 0x41, 0x83, 0x64, 0x79, 0x63, 0x05, 0x53, 0x0f, - 0x55, 0x60, 0x2a, 0xca, 0xb6, 0xc7, 0xad, 0x53, 0x51, 0x82, 0x06, 0x85, 0xaa, 0x06, 0x53, 0x11, - 0xf1, 0x01, 0x8c, 0x6c, 0x96, 0xe7, 0x1f, 0xdc, 0xbb, 0xfc, 0x9c, 0x82, 0x09, 0xcb, 0x63, 0x0f, - 0xde, 0x9d, 0x9e, 0xf1, 0x98, 0xcf, 0xaf, 0xc1, 0xb0, 0x34, 0x95, 0xa1, 0x1f, 0xc2, 0x33, 0x2d, - 0xff, 0x87, 0x70, 0x35, 0x7d, 0x75, 0xf6, 0xd0, 0xac, 0x15, 0xf2, 0xf1, 0x18, 0x97, 0x7a, 0x85, - 0x5f, 0x27, 0x00, 0xca, 0x1b, 0x1b, 0x6b, 0x1e, 0x6d, 0xd9, 0x84, 0x3f, 0x2d, 0xdf, 0xd7, 0xe3, - 0x41, 0xc7, 0x3c, 0xf3, 0xe4, 0xfe, 0x47, 0x91, 0xb5, 0xea, 0x99, 0x07, 0xc2, 0x5a, 0x8c, 0x87, - 0xb0, 0x83, 0x27, 0x87, 0x2d, 0x33, 0xde, 0xcf, 0xec, 0xeb, 0x90, 0x8e, 0xc8, 0x60, 0xa8, 0x0a, - 0x23, 0x5c, 0xfd, 0x56, 0x04, 0x17, 0x0e, 0x27, 0x38, 0x50, 0x8b, 0x93, 0x1c, 0xaa, 0x17, 0x3e, - 0xf2, 0x79, 0x8e, 0x12, 0xff, 0xdb, 0x19, 0x63, 0xa8, 0x0a, 0x49, 0x95, 0xb3, 0x83, 0x4f, 0xda, - 0x5e, 0x14, 0x00, 0x7a, 0x01, 0xc6, 0xbb, 0xeb, 0x8e, 0x68, 0x9e, 0x23, 0xfa, 0x58, 0x57, 0xc9, - 0x88, 0x71, 0xff, 0x7e, 0x02, 0x4e, 0xad, 0x07, 0x95, 0xeb, 0xdb, 0x4f, 0xd5, 0x3a, 0x0c, 0x13, - 0x87, 0x7b, 0x54, 0x70, 0xe5, 0x87, 0xc6, 0x77, 0x0f, 0x0b, 0x8d, 0x03, 0x9c, 0xaa, 0x38, 0xdc, - 0xeb, 0xc4, 0x03, 0x25, 0xc0, 0x8a, 0xf1, 0xf1, 0xbb, 0x41, 0xc8, 0x1c, 0xa6, 0x8a, 0x5e, 0x84, - 0x09, 0xd3, 0x23, 0x62, 0x20, 0x68, 0xb0, 0x9a, 0x68, 0x16, 0xe3, 0xc1, 0xb0, 0xea, 0xaf, 0x3a, - 0xf8, 0x27, 0x52, 0x3f, 0x06, 0x7d, 0xd1, 0x27, 0x3b, 0x82, 0x8e, 0x47, 0x08, 0xa2, 0xc3, 0xae, - 0xc1, 0x04, 0x75, 0x28, 0xa7, 0xd8, 0x36, 0xea, 0xd8, 0xc6, 0x8e, 0x19, 0x1c, 0xd5, 0x4f, 0xd4, - 0x0e, 0xc7, 0x15, 0x46, 0x49, 0x42, 0xa0, 0x0a, 0x0c, 0x07, 0x68, 0x43, 0x27, 0x47, 0x0b, 0x74, - 0xd1, 0x79, 0x18, 0x8d, 0x37, 0x45, 0x71, 0xec, 0x1a, 0xd2, 0xd3, 0xb1, 0x9e, 0x78, 0x5c, 0xd7, - 0x4d, 0x1e, 0xd9, 0x75, 0xd5, 0xc9, 0xf6, 0xa3, 0x41, 0x98, 0xd2, 0x89, 0xf5, 0xbf, 0xbf, 0x2d, - 0x2b, 0x00, 0x32, 0xa3, 0xfd, 0x82, 0xab, 0x76, 0xe6, 0x09, 0xca, 0x42, 0x4a, 0x82, 0x94, 0x19, - 0xff, 0x6f, 0xed, 0xd0, 0xdf, 0x13, 0x30, 0x1a, 0xdf, 0xa1, 0xff, 0xcb, 0xde, 0x86, 0x6a, 0x51, - 0x99, 0x1a, 0x12, 0x65, 0xea, 0xa5, 0xc3, 0xca, 0x54, 0x5f, 0x34, 0x1f, 0x53, 0x9f, 0x3e, 0x4f, - 0x42, 0x72, 0x05, 0x7b, 0xb8, 0xc9, 0xd0, 0x72, 0xdf, 0x21, 0x5e, 0x5e, 0xa2, 0xa7, 0xfb, 0x82, - 0xb9, 0xac, 0xde, 0x79, 0x64, 0x2c, 0xff, 0xf6, 0xb0, 0x33, 0xfc, 0x0b, 0x30, 0xde, 0xc4, 0x3b, - 0x46, 0xe8, 0x90, 0x24, 0x77, 0x4c, 0xdc, 0xe9, 0x43, 0xef, 0x19, 0xca, 0x41, 0xda, 0x17, 0x8b, - 0xea, 0xb0, 0x2f, 0x03, 0x4d, 0xbc, 0x53, 0x91, 0x23, 0xe8, 0x32, 0xa0, 0xad, 0xf0, 0x71, 0xc6, - 0x88, 0x88, 0xf0, 0xe5, 0xa6, 0xa2, 0x99, 0x40, 0xfc, 0x39, 0x00, 0x71, 0x42, 0xb6, 0x88, 0xe3, - 0x36, 0xd5, 0x8d, 0x36, 0xe5, 0x8f, 0x94, 0xfd, 0x01, 0xf4, 0x2b, 0x4d, 0xde, 0x05, 0x7a, 0x9e, - 0x0c, 0xd4, 0x55, 0x6c, 0xed, 0x31, 0x92, 0xe2, 0xeb, 0xfd, 0x5c, 0xb6, 0x83, 0x9b, 0xf6, 0x42, - 0xe1, 0x00, 0x9c, 0xc2, 0x41, 0xaf, 0x18, 0xfe, 0xa5, 0xa1, 0xfb, 0xc9, 0x01, 0xfd, 0x52, 0xeb, - 0x3b, 0xd2, 0x6f, 0x62, 0x93, 0xbb, 0x9e, 0xb8, 0xba, 0xa5, 0x4a, 0xb5, 0x93, 0x1d, 0xb4, 0xbf, - 0xde, 0xcf, 0x3d, 0x2b, 0x6d, 0x3a, 0x10, 0xb4, 0xd0, 0x73, 0xc8, 0xbf, 0x2e, 0x46, 0xd1, 0xfb, - 0x1a, 0x4c, 0x37, 0x6c, 0xb7, 0x8e, 0x6d, 0x23, 0x38, 0xec, 0xcb, 0x78, 0x32, 0x4c, 0xdc, 0x12, - 0x97, 0xbd, 0x54, 0x49, 0x3f, 0xb1, 0x21, 0x79, 0x69, 0xc8, 0xa1, 0xc0, 0x05, 0xfd, 0xac, 0x9c, - 0xbb, 0x25, 0x6f, 0x03, 0x72, 0x66, 0x09, 0xb7, 0xd0, 0x87, 0x1a, 0x3c, 0x1b, 0xd9, 0x7f, 0x80, - 0x49, 0x29, 0x61, 0xd2, 0xfa, 0x89, 0x4d, 0xba, 0xd0, 0xcb, 0xcd, 0x41, 0x56, 0x4d, 0x87, 0xd3, - 0xbd, 0x86, 0x2d, 0x3c, 0xef, 0x17, 0xa3, 0xdd, 0x2f, 0x3f, 0xb9, 0x34, 0x13, 0x5b, 0x60, 0x27, - 0x7c, 0x68, 0x95, 0x19, 0xe4, 0x5f, 0x3f, 0x50, 0xd4, 0xe3, 0x75, 0xc2, 0x5a, 0xae, 0xc3, 0xc4, - 0x5d, 0x36, 0x76, 0xe7, 0xd4, 0x8e, 0xbe, 0xcb, 0x46, 0xfa, 0x5d, 0x77, 0xd9, 0x58, 0x05, 0xfc, - 0x41, 0xd4, 0x62, 0x13, 0x2a, 0x41, 0x15, 0x56, 0x1d, 0x33, 0x12, 0xbb, 0x14, 0xd3, 0x2e, 0x88, - 0x40, 0x49, 0x14, 0xd6, 0x81, 0xc2, 0x5f, 0x34, 0x98, 0xee, 0x2b, 0x16, 0xa1, 0xc9, 0x26, 0x20, - 0x2f, 0x36, 0x29, 0x92, 0xae, 0xa3, 0x4c, 0x7f, 0xb2, 0xda, 0x33, 0xe5, 0xf5, 0xf5, 0xd9, 0xa7, - 0x73, 0x56, 0x50, 0x8d, 0xe2, 0xcf, 0x1a, 0x9c, 0x8e, 0x1b, 0x10, 0xba, 0xb2, 0x0a, 0xa3, 0xf1, - 0xa5, 0x95, 0x13, 0xcf, 0x3f, 0x8e, 0x13, 0x71, 0xfb, 0xbb, 0x40, 0xd0, 0x46, 0x54, 0x90, 0xe5, - 0x0b, 0xef, 0x95, 0xc7, 0x26, 0x25, 0x30, 0xec, 0xc0, 0xc2, 0x2c, 0xf7, 0xe6, 0x5f, 0x1a, 0x0c, - 0xad, 0xb8, 0xae, 0x8d, 0xde, 0x86, 0x29, 0xc7, 0xe5, 0x22, 0x91, 0x89, 0x65, 0xa8, 0x27, 0x28, - 0xd9, 0xec, 0x2a, 0x47, 0x72, 0xf5, 0xcf, 0xfd, 0x5c, 0xbf, 0x66, 0x37, 0x81, 0xea, 0xa5, 0xd3, - 0x71, 0x79, 0x49, 0x08, 0xad, 0xc9, 0x57, 0xaa, 0x4d, 0x18, 0xeb, 0x5e, 0x4e, 0x36, 0xc4, 0xc5, - 0xe3, 0x96, 0x1b, 0x3b, 0x76, 0xa9, 0xd1, 0x7a, 0x6c, 0x9d, 0x85, 0x11, 0x7f, 0xd7, 0xfe, 0xed, - 0xef, 0xdc, 0x1b, 0x30, 0x19, 0x76, 0x83, 0x75, 0xf1, 0x4c, 0xca, 0xfc, 0xd0, 0x90, 0x2f, 0xa6, - 0xc1, 0x95, 0x2d, 0x1f, 0x7f, 0x7e, 0xc7, 0x75, 0x93, 0x16, 0x7b, 0x74, 0xba, 0xe8, 0x54, 0xba, - 0x85, 0x4f, 0x35, 0x38, 0x25, 0xd6, 0xa3, 0xef, 0x12, 0xf1, 0xe8, 0xa0, 0x13, 0xd3, 0xf5, 0x2c, - 0x34, 0x0e, 0x09, 0x6a, 0x09, 0x22, 0x87, 0xf4, 0x04, 0xb5, 0x50, 0x11, 0x9e, 0x71, 0xdf, 0x71, - 0x88, 0xa7, 0x9c, 0x3d, 0xfc, 0x20, 0x21, 0xc5, 0x44, 0x67, 0x73, 0xad, 0xb6, 0x4d, 0x0c, 0x6c, - 0xca, 0xc3, 0x8c, 0x7c, 0x7d, 0x1d, 0x93, 0xa3, 0x8b, 0x72, 0x10, 0x5d, 0x83, 0x54, 0x58, 0x52, - 0x54, 0x88, 0x1f, 0xf1, 0x8c, 0x11, 0x8a, 0xaa, 0x88, 0x7e, 0x0b, 0x0a, 0x2b, 0x44, 0x76, 0xd3, - 0xb8, 0x0b, 0x8b, 0x6d, 0xbe, 0xe5, 0x7a, 0xf4, 0x5d, 0x11, 0x51, 0x4f, 0xfc, 0x54, 0x72, 0xe9, - 0x8f, 0x1a, 0x40, 0xf4, 0xd2, 0x89, 0x5e, 0x86, 0x73, 0xa5, 0xe5, 0x5a, 0xd9, 0x58, 0x5d, 0x5b, - 0x5c, 0x5b, 0x5f, 0x35, 0xd6, 0x6b, 0xab, 0x2b, 0x95, 0xa5, 0xea, 0xf5, 0x6a, 0xa5, 0x3c, 0x39, - 0x90, 0x9d, 0xd8, 0xdd, 0xcb, 0xa7, 0xd7, 0x1d, 0xd6, 0x22, 0x26, 0xdd, 0xa4, 0xc4, 0x42, 0x17, - 0xe1, 0x74, 0xb7, 0xb4, 0xff, 0x55, 0x29, 0x4f, 0x6a, 0xd9, 0xd1, 0xdd, 0xbd, 0xfc, 0x88, 0xbc, - 0xf0, 0x10, 0x0b, 0xcd, 0xc1, 0x99, 0x7e, 0xb9, 0x6a, 0xed, 0xd5, 0xc9, 0x44, 0x76, 0x6c, 0x77, - 0x2f, 0x9f, 0x0a, 0x6f, 0x46, 0xa8, 0x00, 0x28, 0x2e, 0xa9, 0xf0, 0x06, 0xb3, 0xb0, 0xbb, 0x97, - 0x4f, 0xca, 0x00, 0xcd, 0x0e, 0xbd, 0xf7, 0xfb, 0xd9, 0x81, 0x4b, 0x3f, 0x03, 0xa8, 0x3a, 0x9b, - 0x1e, 0x36, 0x45, 0x22, 0x66, 0xe1, 0x6c, 0xb5, 0x76, 0x5d, 0x5f, 0x5c, 0x5a, 0xab, 0x2e, 0xd7, - 0xba, 0xcd, 0xee, 0x99, 0x2b, 0x2f, 0xaf, 0x97, 0x6e, 0x55, 0x8c, 0xd5, 0xea, 0xab, 0xb5, 0x49, - 0x0d, 0x9d, 0x83, 0x53, 0x5d, 0x73, 0x3f, 0xa9, 0xad, 0x55, 0x6f, 0x57, 0x26, 0x13, 0x97, 0x3e, - 0x4d, 0xc0, 0xb9, 0x2e, 0xbe, 0x6f, 0xb9, 0xe6, 0xb6, 0x22, 0xa9, 0x04, 0x17, 0xd7, 0x96, 0x6f, - 0x56, 0x6a, 0xd5, 0x37, 0x2b, 0xc6, 0xea, 0x8d, 0x45, 0xbd, 0x62, 0xdc, 0x5a, 0x5e, 0xba, 0x79, - 0x30, 0x67, 0x67, 0x77, 0xf7, 0xf2, 0xa8, 0x07, 0xa0, 0x46, 0x6d, 0xf4, 0x23, 0x38, 0x7f, 0x04, - 0x86, 0xff, 0x5b, 0xf0, 0x38, 0xbd, 0xbb, 0x97, 0x3f, 0xd3, 0xa3, 0xee, 0xff, 0x22, 0x16, 0x2a, - 0xc3, 0x85, 0x23, 0xad, 0x50, 0x18, 0x89, 0xec, 0xcc, 0xee, 0x5e, 0xfe, 0x5c, 0x0f, 0xc6, 0xba, - 0x63, 0x4b, 0x94, 0xdb, 0x30, 0x77, 0x8c, 0x1d, 0x46, 0xe5, 0xf5, 0x95, 0xaa, 0xee, 0xef, 0xd6, - 0x60, 0x36, 0xb7, 0xbb, 0x97, 0x9f, 0x39, 0xc0, 0x9c, 0xca, 0x4e, 0x8b, 0xfa, 0x91, 0x25, 0xf7, - 0xa6, 0x74, 0xfd, 0xb3, 0x87, 0xb3, 0xda, 0xfd, 0x87, 0xb3, 0xda, 0x3f, 0x1e, 0xce, 0x6a, 0x1f, - 0x3c, 0x9a, 0x1d, 0xb8, 0xff, 0x68, 0x76, 0xe0, 0xaf, 0x8f, 0x66, 0x07, 0xde, 0x7c, 0xf9, 0xc8, - 0x56, 0x1d, 0x75, 0x52, 0xd1, 0xb4, 0xeb, 0x49, 0x71, 0xd4, 0xfc, 0xde, 0x7f, 0x02, 0x00, 0x00, - 0xff, 0xff, 0xec, 0x2d, 0x8c, 0x8b, 0xd1, 0x1c, 0x00, 0x00, + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x58, 0xcd, 0x6f, 0x1b, 0xc7, + 0x15, 0xd7, 0x52, 0x0a, 0x25, 0x3e, 0xea, 0x73, 0xfc, 0x45, 0x51, 0x89, 0x48, 0xd3, 0x89, 0xa3, + 0xb8, 0x31, 0x55, 0xbb, 0x80, 0x0f, 0x6a, 0xd0, 0x56, 0x14, 0xe9, 0x98, 0xb1, 0x4d, 0xb1, 0x4b, + 0x49, 0x4d, 0xdc, 0xa4, 0x8b, 0xe1, 0xee, 0x88, 0x9a, 0x6a, 0xb9, 0xcb, 0xec, 0x0e, 0x1d, 0x31, + 0xe7, 0x1e, 0x02, 0x15, 0x05, 0x02, 0x14, 0x2d, 0x0a, 0x14, 0x6a, 0x0c, 0xf4, 0x92, 0xde, 0x72, + 0x30, 0x7a, 0xc8, 0xad, 0xb7, 0xb4, 0x40, 0x01, 0xc3, 0xa7, 0xa2, 0x40, 0x9d, 0xc2, 0x3e, 0x24, + 0x68, 0x2f, 0x45, 0xff, 0x82, 0x62, 0x67, 0x66, 0x3f, 0xf8, 0xa5, 0x0f, 0xc7, 0x28, 0x82, 0xf6, + 0x22, 0x71, 0x67, 0xde, 0xfb, 0xcd, 0x7b, 0xbf, 0x79, 0xf3, 0xde, 0xcc, 0x83, 0x17, 0x75, 0xdb, + 0x6d, 0xda, 0xee, 0xb2, 0xcb, 0xf0, 0x2e, 0xb5, 0x1a, 0xcb, 0x77, 0xaf, 0xd4, 0x09, 0xc3, 0x57, + 0xfc, 0xef, 0x7c, 0xcb, 0xb1, 0x99, 0x8d, 0xce, 0x0a, 0xa9, 0xbc, 0x3f, 0x2a, 0xa5, 0xd2, 0x73, + 0xb8, 0x49, 0x2d, 0x7b, 0x99, 0xff, 0x15, 0xa2, 0xe9, 0x45, 0x09, 0x58, 0xc7, 0x2e, 0x09, 0xd0, + 0x74, 0x9b, 0x5a, 0x72, 0x7e, 0x5e, 0xcc, 0x6b, 0xfc, 0x6b, 0x59, 0xe2, 0x8a, 0xa9, 0xd3, 0x0d, + 0xbb, 0x61, 0x8b, 0x71, 0xef, 0x97, 0xaf, 0xd0, 0xb0, 0xed, 0x86, 0x49, 0x96, 0xf9, 0x57, 0xbd, + 0xbd, 0xbd, 0x8c, 0xad, 0x8e, 0xbf, 0x56, 0xef, 0x94, 0xd1, 0x76, 0x30, 0xa3, 0xb6, 0xbf, 0x56, + 0xa6, 0x77, 0x9e, 0xd1, 0x26, 0x71, 0x19, 0x6e, 0xb6, 0xa4, 0xc0, 0x02, 0x23, 0x96, 0x41, 0x9c, + 0x26, 0xb5, 0xd8, 0x32, 0xae, 0xeb, 0x74, 0x99, 0x75, 0x5a, 0xc4, 0x37, 0xe7, 0xf9, 0xc8, 0x24, + 0x1f, 0x8f, 0xce, 0xe6, 0x7e, 0xae, 0xc0, 0xf4, 0x0d, 0xea, 0x32, 0xdb, 0xa1, 0x3a, 0x36, 0xcb, + 0xd6, 0xb6, 0x8d, 0xbe, 0x0d, 0xf1, 0x1d, 0x82, 0x0d, 0xe2, 0xa4, 0x94, 0xac, 0xb2, 0x94, 0xbc, + 0x9a, 0xca, 0x87, 0x08, 0x79, 0xa1, 0x7b, 0x83, 0xcf, 0x17, 0x12, 0x9f, 0x3d, 0xca, 0x8c, 0x7c, + 0xfc, 0xc5, 0x27, 0x97, 0x14, 0x55, 0xaa, 0xa0, 0x22, 0xc4, 0xef, 0x62, 0xd3, 0x25, 0x2c, 0x15, + 0xcb, 0x8e, 0x2e, 0x25, 0xaf, 0x9e, 0xcf, 0x0f, 0xe6, 0x3c, 0xbf, 0x85, 0x4d, 0x6a, 0x60, 0x66, + 0x77, 0xa3, 0x08, 0xdd, 0xdc, 0x2f, 0x63, 0x30, 0xb3, 0x66, 0x37, 0x9b, 0xd4, 0x75, 0xa9, 0x6d, + 0xa9, 0x98, 0x11, 0x17, 0xbd, 0x01, 0x63, 0x0e, 0x66, 0x84, 0x1b, 0x95, 0x28, 0x5c, 0xf3, 0x94, + 0xfe, 0xfa, 0x28, 0xb3, 0x20, 0xe0, 0x5d, 0x63, 0x37, 0x4f, 0xed, 0xe5, 0x26, 0x66, 0x3b, 0xf9, + 0x5b, 0xa4, 0x81, 0xf5, 0x4e, 0x91, 0xe8, 0x0f, 0xef, 0x5f, 0x06, 0xb9, 0x7a, 0x91, 0xe8, 0x62, + 0x05, 0x8e, 0x81, 0xbe, 0x0f, 0x13, 0x4d, 0xbc, 0xa7, 0x71, 0xbc, 0xd8, 0x57, 0xc2, 0x1b, 0x6f, + 0xe2, 0x3d, 0xcf, 0x3e, 0xf4, 0x23, 0x98, 0xf1, 0x20, 0xf5, 0x1d, 0x6c, 0x35, 0x88, 0x40, 0x1e, + 0xfd, 0x4a, 0xc8, 0x53, 0x4d, 0xbc, 0xb7, 0xc6, 0xd1, 0x3c, 0xfc, 0x95, 0xb1, 0x2f, 0xef, 0x65, + 0x94, 0xdc, 0x1f, 0x14, 0x80, 0x90, 0x18, 0x84, 0x61, 0x56, 0x0f, 0xbe, 0xf8, 0xa2, 0xae, 0xdc, + 0xb4, 0x97, 0x87, 0xf1, 0xde, 0x43, 0x6b, 0x61, 0xca, 0x33, 0xef, 0xc1, 0xa3, 0x8c, 0x22, 0x56, + 0x9d, 0xd1, 0xfb, 0x68, 0x4f, 0xb6, 0x5b, 0x06, 0x66, 0x44, 0xf3, 0xa2, 0x8e, 0xb3, 0x95, 0xbc, + 0x9a, 0xce, 0x8b, 0x90, 0xcc, 0xfb, 0x21, 0x99, 0xdf, 0xf0, 0x43, 0x52, 0x00, 0x7e, 0xf8, 0xb9, + 0x0f, 0x08, 0x42, 0xdb, 0x9b, 0x97, 0x3e, 0x7c, 0xac, 0x40, 0xb2, 0x48, 0x5c, 0xdd, 0xa1, 0x2d, + 0x2f, 0xc8, 0x51, 0x0a, 0xc6, 0x9b, 0xb6, 0x45, 0x77, 0x65, 0xc0, 0x25, 0x54, 0xff, 0x13, 0xa5, + 0x61, 0x82, 0x1a, 0xc4, 0x62, 0x94, 0x75, 0xc4, 0x36, 0xa9, 0xc1, 0xb7, 0xa7, 0xf5, 0x1e, 0xa9, + 0xbb, 0xd4, 0xe7, 0x59, 0xf5, 0x3f, 0xd1, 0x2b, 0x30, 0xeb, 0x12, 0xbd, 0xed, 0x50, 0xd6, 0xd1, + 0x74, 0xdb, 0x62, 0x58, 0x67, 0xa9, 0x31, 0x2e, 0x32, 0xe3, 0x8f, 0xaf, 0x89, 0x61, 0x0f, 0xc4, + 0x20, 0x0c, 0x53, 0xd3, 0x4d, 0x3d, 0x27, 0x40, 0xe4, 0xa7, 0x34, 0xf5, 0xf3, 0x09, 0x48, 0x04, + 0x81, 0x8a, 0xd6, 0x60, 0xd6, 0x6e, 0x11, 0xc7, 0xfb, 0xad, 0x61, 0xc3, 0x70, 0x88, 0xeb, 0xca, + 0x68, 0x4c, 0x3d, 0xbc, 0x7f, 0xf9, 0xb4, 0x24, 0x7c, 0x55, 0xcc, 0xd4, 0x98, 0x43, 0xad, 0x86, + 0x3a, 0xe3, 0x6b, 0xc8, 0x61, 0xf4, 0x96, 0xb7, 0x65, 0x96, 0x4b, 0x2c, 0xb7, 0xed, 0x6a, 0xad, + 0x76, 0x7d, 0x97, 0x74, 0x24, 0xa9, 0xa7, 0xfb, 0x48, 0x5d, 0xb5, 0x3a, 0x85, 0xd4, 0x9f, 0x42, + 0x68, 0xdd, 0xe9, 0xb4, 0x98, 0x9d, 0xaf, 0xb6, 0xeb, 0x37, 0x49, 0xc7, 0xdb, 0x2a, 0x89, 0x53, + 0xe5, 0x30, 0xe8, 0x2c, 0xc4, 0x7f, 0x8c, 0xa9, 0x49, 0x0c, 0xce, 0xc8, 0x84, 0x2a, 0xbf, 0xd0, + 0x0a, 0xc4, 0x5d, 0x86, 0x59, 0xdb, 0xe5, 0x34, 0x4c, 0x5f, 0xcd, 0x0d, 0x8b, 0x8d, 0x82, 0x6d, + 0x19, 0x35, 0x2e, 0xa9, 0x4a, 0x0d, 0xb4, 0x06, 0x71, 0x66, 0xef, 0x12, 0x4b, 0x12, 0x54, 0xf8, + 0x86, 0x8c, 0xe6, 0x33, 0xfd, 0xd1, 0x5c, 0xb6, 0x58, 0x24, 0x8e, 0xcb, 0x16, 0x53, 0xa5, 0x2a, + 0x7a, 0x1b, 0x66, 0x0d, 0x62, 0x92, 0x06, 0x67, 0xce, 0xdd, 0xc1, 0x0e, 0x71, 0x53, 0x71, 0x0e, + 0x77, 0xe5, 0xc4, 0x87, 0x43, 0x9d, 0x09, 0xa0, 0x6a, 0x1c, 0x09, 0x55, 0x21, 0x69, 0x84, 0xe1, + 0x94, 0x1a, 0xe7, 0x64, 0x5e, 0x18, 0xe6, 0x63, 0x24, 0xf2, 0xa2, 0x99, 0x27, 0x0a, 0xe1, 0x45, + 0x50, 0xdb, 0xaa, 0xdb, 0x96, 0x41, 0xad, 0x86, 0xb6, 0x43, 0x68, 0x63, 0x87, 0xa5, 0x26, 0xb2, + 0xca, 0xd2, 0xa8, 0x3a, 0x13, 0x8c, 0xdf, 0xe0, 0xc3, 0xa8, 0x0a, 0xd3, 0xa1, 0x28, 0x3f, 0x21, + 0x89, 0x93, 0x9e, 0x90, 0xa9, 0x00, 0xc0, 0x13, 0x41, 0xb7, 0x01, 0xc2, 0x33, 0x98, 0x02, 0x8e, + 0x96, 0x3b, 0xfa, 0x34, 0x47, 0x9d, 0x89, 0x00, 0xa0, 0x1f, 0xc2, 0xa9, 0x26, 0xb5, 0x34, 0x97, + 0x98, 0xdb, 0x9a, 0x64, 0xce, 0xc3, 0x4d, 0x9e, 0x7c, 0x37, 0xe7, 0x9a, 0xd4, 0xaa, 0x11, 0x73, + 0xbb, 0x18, 0xa0, 0xa0, 0xd7, 0x60, 0x21, 0xf4, 0xde, 0xb6, 0xb4, 0x1d, 0xdb, 0x34, 0x34, 0x87, + 0x6c, 0x6b, 0xba, 0xdd, 0xb6, 0x58, 0x6a, 0x92, 0x73, 0x76, 0x2e, 0x10, 0x59, 0xb7, 0x6e, 0xd8, + 0xa6, 0xa1, 0x92, 0xed, 0x35, 0x6f, 0x1a, 0x5d, 0x80, 0xd0, 0x75, 0x8d, 0x1a, 0x6e, 0x6a, 0x2a, + 0x3b, 0xba, 0x34, 0xa6, 0x4e, 0x06, 0x83, 0x65, 0xc3, 0x45, 0x2d, 0x38, 0x73, 0xd7, 0x3f, 0x81, + 0x9a, 0x37, 0xee, 0x07, 0xd0, 0x34, 0xf7, 0xe0, 0x35, 0xe9, 0xc1, 0xc5, 0x06, 0x65, 0x3b, 0xed, + 0x7a, 0x5e, 0xb7, 0x9b, 0xb2, 0x1a, 0xcb, 0x7f, 0x97, 0x5d, 0x63, 0x57, 0x56, 0xbc, 0xfe, 0x58, + 0x3a, 0x15, 0x40, 0xf3, 0xd0, 0x17, 0xf1, 0x84, 0x61, 0xca, 0xa4, 0xef, 0xb6, 0x69, 0xb0, 0xd2, + 0xcc, 0x33, 0x58, 0x69, 0x52, 0x40, 0x8a, 0x25, 0x56, 0x26, 0x3e, 0xb8, 0x97, 0x19, 0xf9, 0xf2, + 0x5e, 0x66, 0x24, 0x77, 0x1d, 0x26, 0xb7, 0xb0, 0x29, 0x93, 0x03, 0x71, 0xd1, 0x35, 0x48, 0x60, + 0xff, 0x23, 0xa5, 0x64, 0x47, 0x0f, 0x4d, 0x2e, 0xa1, 0x68, 0xee, 0x77, 0x0a, 0xc4, 0x8b, 0x5b, + 0x55, 0x4c, 0x1d, 0x54, 0x82, 0xb9, 0xf0, 0xb4, 0x1d, 0x37, 0x4f, 0x85, 0x07, 0xd4, 0x4f, 0x54, + 0x15, 0x98, 0x0b, 0x89, 0xf7, 0x61, 0x44, 0xb1, 0x3c, 0xff, 0xf0, 0xfe, 0xe5, 0x17, 0x24, 0x4c, + 0x90, 0x1e, 0x7b, 0xf0, 0xee, 0xf6, 0x8c, 0x47, 0x7c, 0x7e, 0x03, 0xc6, 0x85, 0xa9, 0x2e, 0xfa, + 0x2e, 0x3c, 0xd7, 0xf2, 0x7e, 0x70, 0x57, 0x93, 0x57, 0x17, 0x87, 0x9e, 0x5a, 0x2e, 0x1f, 0x8d, + 0x71, 0xa1, 0x97, 0xfb, 0x69, 0x0c, 0xa0, 0xb8, 0xb5, 0xb5, 0xe1, 0xd0, 0x96, 0x49, 0xd8, 0xb3, + 0xf2, 0x7d, 0x33, 0x1a, 0x74, 0xae, 0xa3, 0x9f, 0xdc, 0xff, 0x30, 0xb2, 0x6a, 0x8e, 0x3e, 0x10, + 0xd6, 0x70, 0x59, 0x00, 0x3b, 0x7a, 0x72, 0xd8, 0xa2, 0xcb, 0xfa, 0x99, 0x7d, 0x13, 0x92, 0x21, + 0x19, 0x2e, 0x2a, 0xc3, 0x04, 0x93, 0xbf, 0x25, 0xc1, 0xb9, 0xe1, 0x04, 0xfb, 0x6a, 0x51, 0x92, + 0x03, 0xf5, 0xdc, 0x47, 0x1e, 0xcf, 0xe1, 0xc1, 0xff, 0x7a, 0xc6, 0x18, 0x2a, 0x43, 0x5c, 0x9e, + 0xd9, 0xd1, 0xa7, 0x2d, 0x2f, 0x12, 0x00, 0xbd, 0x04, 0xd3, 0xdd, 0x79, 0x87, 0x17, 0xcf, 0x09, + 0x75, 0xaa, 0x2b, 0x65, 0x44, 0xb8, 0xff, 0x59, 0x0c, 0x4e, 0x6d, 0xfa, 0x99, 0xeb, 0xeb, 0x4f, + 0xd5, 0x26, 0x8c, 0x13, 0x8b, 0x39, 0x94, 0x73, 0xe5, 0x85, 0xc6, 0x37, 0x87, 0x85, 0xc6, 0x00, + 0xa7, 0x4a, 0x16, 0x73, 0x3a, 0xd1, 0x40, 0xf1, 0xb1, 0x22, 0x7c, 0xfc, 0x7a, 0x14, 0x52, 0xc3, + 0x54, 0xd1, 0xcb, 0x30, 0xa3, 0x3b, 0x84, 0x0f, 0xf8, 0x05, 0x56, 0xe1, 0xc5, 0x62, 0xda, 0x1f, + 0x96, 0xf5, 0x55, 0x05, 0xef, 0x46, 0xea, 0xc5, 0xa0, 0x27, 0xfa, 0x74, 0x57, 0xd0, 0xe9, 0x10, + 0x81, 0x57, 0xd8, 0x0d, 0x98, 0xa1, 0x16, 0x65, 0x14, 0x9b, 0x5a, 0x1d, 0x9b, 0xd8, 0xd2, 0xfd, + 0xab, 0xfa, 0x89, 0xca, 0xe1, 0xb4, 0xc4, 0x28, 0x08, 0x08, 0x54, 0x82, 0x71, 0x1f, 0x6d, 0xec, + 0xe4, 0x68, 0xbe, 0x2e, 0x3a, 0x0f, 0x93, 0xd1, 0xa2, 0xc8, 0xaf, 0x5d, 0x63, 0x6a, 0x32, 0x52, + 0x13, 0x8f, 0xaa, 0xba, 0xf1, 0x43, 0xab, 0xae, 0xbc, 0xd9, 0x7e, 0x34, 0x0a, 0x73, 0x2a, 0x31, + 0xfe, 0xf7, 0xb7, 0xa5, 0x0a, 0x20, 0x4e, 0xb4, 0x97, 0x70, 0xe5, 0xce, 0x3c, 0x45, 0x5a, 0x48, + 0x08, 0x90, 0xa2, 0xcb, 0xfe, 0x5b, 0x3b, 0xf4, 0xb7, 0x18, 0x4c, 0x46, 0x77, 0xe8, 0xff, 0xb2, + 0xb6, 0xa1, 0x4a, 0x98, 0xa6, 0xc6, 0x78, 0x9a, 0x7a, 0x65, 0x58, 0x9a, 0xea, 0x8b, 0xe6, 0x23, + 0xf2, 0xd3, 0xe3, 0x38, 0xc4, 0xab, 0xd8, 0xc1, 0x4d, 0x17, 0xad, 0xf7, 0x5d, 0xe2, 0xc5, 0x23, + 0x7a, 0xbe, 0x2f, 0x98, 0x8b, 0xb2, 0x33, 0x23, 0x62, 0xf9, 0x57, 0xc3, 0xee, 0xf0, 0x2f, 0xc1, + 0x74, 0x13, 0xef, 0x69, 0x81, 0x43, 0x82, 0xdc, 0x29, 0xfe, 0xa6, 0x0f, 0xbc, 0x77, 0x51, 0x06, + 0x92, 0x9e, 0x58, 0x98, 0x87, 0x3d, 0x19, 0x68, 0xe2, 0xbd, 0x92, 0x18, 0x41, 0x97, 0x01, 0xed, + 0x04, 0xcd, 0x19, 0x2d, 0x24, 0xc2, 0x93, 0x9b, 0x0b, 0x67, 0x7c, 0xf1, 0x17, 0x00, 0xf8, 0x0d, + 0xd9, 0x20, 0x96, 0xdd, 0x94, 0x2f, 0xda, 0x84, 0x37, 0x52, 0xf4, 0x06, 0xd0, 0x4f, 0x14, 0xf1, + 0x16, 0xe8, 0x69, 0x19, 0xc8, 0xa7, 0xd8, 0xc6, 0x31, 0x0e, 0xc5, 0xbf, 0x1f, 0x65, 0xd2, 0x1d, + 0xdc, 0x34, 0x57, 0x72, 0x03, 0x70, 0x72, 0x83, 0xba, 0x18, 0xde, 0xa3, 0xa1, 0xbb, 0xe5, 0x80, + 0xf6, 0x95, 0xbe, 0x2b, 0xfd, 0x36, 0xd6, 0x99, 0xed, 0xf0, 0xa7, 0x5b, 0xa2, 0xb0, 0x75, 0x3c, + 0x43, 0x9e, 0x17, 0x86, 0x0c, 0x44, 0x1a, 0x68, 0x4a, 0xf7, 0x65, 0xff, 0x3a, 0x17, 0x44, 0xbf, + 0x50, 0x60, 0xbe, 0x61, 0xda, 0x75, 0x6c, 0x6a, 0xfe, 0xa5, 0x5f, 0xc4, 0x95, 0xa6, 0xe3, 0x16, + 0x7f, 0xf4, 0x25, 0x0a, 0x77, 0x8e, 0x67, 0x50, 0x56, 0x18, 0x34, 0x14, 0x6d, 0xa0, 0x51, 0x67, + 0x85, 0xf8, 0x2d, 0xf1, 0x3a, 0x10, 0xc2, 0x6b, 0xb8, 0x85, 0x7e, 0xa3, 0xc0, 0xf3, 0xa1, 0x6b, + 0x03, 0x4c, 0x4b, 0x70, 0xd3, 0xde, 0x39, 0x9e, 0x69, 0x17, 0x7a, 0xb9, 0x3a, 0xa6, 0x75, 0xf3, + 0x81, 0x46, 0xaf, 0x81, 0x2b, 0x2f, 0x7a, 0x49, 0x6a, 0xff, 0x8b, 0x4f, 0x2e, 0x2d, 0x44, 0x5e, + 0x3f, 0x7b, 0x41, 0x03, 0x56, 0x9c, 0x2c, 0xef, 0x59, 0x82, 0xc2, 0xda, 0xaf, 0x12, 0xb7, 0x65, + 0x5b, 0x2e, 0x7f, 0xe3, 0x46, 0xde, 0xa2, 0xca, 0xe1, 0x6f, 0xdc, 0x50, 0xbf, 0xeb, 0x8d, 0x1b, + 0xc9, 0x8c, 0xdf, 0x09, 0x4b, 0x6f, 0x4c, 0x1e, 0x5c, 0x89, 0x55, 0xc7, 0x2e, 0x89, 0x3c, 0x96, + 0x69, 0x17, 0x84, 0xaf, 0xc4, 0x13, 0xee, 0x48, 0xee, 0xcf, 0x0a, 0xcc, 0xf7, 0x25, 0x91, 0xc0, + 0x64, 0x1d, 0x90, 0x13, 0x99, 0xe4, 0x87, 0xb1, 0x23, 0x4d, 0x7f, 0xba, 0x9c, 0x34, 0xe7, 0xf4, + 0xd5, 0xdf, 0x67, 0x73, 0x87, 0x90, 0x05, 0xe4, 0x8f, 0x0a, 0x9c, 0x8e, 0x1a, 0x10, 0xb8, 0x52, + 0x83, 0xc9, 0xe8, 0xd2, 0xd2, 0x89, 0x17, 0x8f, 0xe3, 0x44, 0xd4, 0xfe, 0x2e, 0x10, 0xb4, 0x15, + 0x26, 0x6a, 0xd1, 0xf9, 0xbd, 0x72, 0x6c, 0x52, 0x7c, 0xc3, 0x06, 0x26, 0x6c, 0xb1, 0x37, 0xff, + 0x54, 0x60, 0xac, 0x6a, 0xdb, 0x26, 0x7a, 0x17, 0xe6, 0x2c, 0x9b, 0xf1, 0xb3, 0x4e, 0x0c, 0x4d, + 0xb6, 0xa6, 0x44, 0x11, 0x2c, 0x1d, 0xca, 0xd5, 0x3f, 0x1e, 0x65, 0xfa, 0x35, 0xbb, 0x09, 0x94, + 0x1d, 0x50, 0xcb, 0x66, 0x05, 0x2e, 0xb4, 0x21, 0xba, 0x57, 0xdb, 0x30, 0xd5, 0xbd, 0x9c, 0x28, + 0x94, 0xab, 0x47, 0x2d, 0x37, 0x75, 0xe4, 0x52, 0x93, 0xf5, 0xc8, 0x3a, 0x2b, 0x13, 0xde, 0xae, + 0xfd, 0xcb, 0xdb, 0xb9, 0xb7, 0x60, 0x36, 0xa8, 0x12, 0x9b, 0xbc, 0x7d, 0xea, 0x7a, 0xa1, 0x21, + 0x3a, 0xa9, 0xfe, 0x53, 0x2e, 0x1b, 0x6d, 0xcb, 0xe3, 0xba, 0x4e, 0xf3, 0x3d, 0x3a, 0x5d, 0x74, + 0x4a, 0xdd, 0xdc, 0xa7, 0x0a, 0x9c, 0xe2, 0xeb, 0xd1, 0xf7, 0x09, 0x6f, 0x46, 0xa8, 0x44, 0xb7, + 0x1d, 0x03, 0x4d, 0x43, 0x8c, 0x1a, 0x9c, 0xc8, 0x31, 0x35, 0x46, 0x0d, 0x94, 0x87, 0xe7, 0xec, + 0xf7, 0x2c, 0xe2, 0x48, 0x67, 0x87, 0x5f, 0x30, 0x84, 0x18, 0xaf, 0x78, 0xb6, 0xd1, 0x36, 0x89, + 0x86, 0x75, 0x71, 0xc9, 0x11, 0x5d, 0xd9, 0x29, 0x31, 0xba, 0x2a, 0x06, 0xd1, 0x35, 0x48, 0x04, + 0x29, 0x45, 0x86, 0xf8, 0x21, 0xed, 0x8d, 0x40, 0x54, 0x46, 0xf4, 0xdb, 0x90, 0xab, 0x12, 0x51, + 0x65, 0xa3, 0x2e, 0xac, 0xb6, 0xd9, 0x8e, 0xed, 0xd0, 0xf7, 0x79, 0x44, 0x3d, 0x75, 0x0b, 0xe5, + 0xd2, 0xef, 0x15, 0x80, 0xb0, 0x03, 0x8a, 0x5e, 0x85, 0x73, 0x85, 0xf5, 0x4a, 0x51, 0xab, 0x6d, + 0xac, 0x6e, 0x6c, 0xd6, 0xb4, 0xcd, 0x4a, 0xad, 0x5a, 0x5a, 0x2b, 0x5f, 0x2f, 0x97, 0x8a, 0xb3, + 0x23, 0xe9, 0x99, 0xfd, 0x83, 0x6c, 0x72, 0xd3, 0x72, 0x5b, 0x44, 0xa7, 0xdb, 0x94, 0x18, 0xe8, + 0x22, 0x9c, 0xee, 0x96, 0xf6, 0xbe, 0x4a, 0xc5, 0x59, 0x25, 0x3d, 0xb9, 0x7f, 0x90, 0x9d, 0x10, + 0x0f, 0x21, 0x62, 0xa0, 0x25, 0x38, 0xd3, 0x2f, 0x57, 0xae, 0xbc, 0x3e, 0x1b, 0x4b, 0x4f, 0xed, + 0x1f, 0x64, 0x13, 0xc1, 0x8b, 0x09, 0xe5, 0x00, 0x45, 0x25, 0x25, 0xde, 0x68, 0x1a, 0xf6, 0x0f, + 0xb2, 0x71, 0x11, 0xa0, 0xe9, 0xb1, 0x0f, 0x7e, 0xbb, 0x38, 0x72, 0xe9, 0x1d, 0x80, 0xb2, 0xb5, + 0xed, 0x60, 0x9d, 0x1f, 0xc4, 0x34, 0x9c, 0x2d, 0x57, 0xae, 0xab, 0xab, 0x6b, 0x1b, 0xe5, 0xf5, + 0x4a, 0xb7, 0xd9, 0x3d, 0x73, 0xc5, 0xf5, 0xcd, 0xc2, 0xad, 0x92, 0x56, 0x2b, 0xbf, 0x5e, 0x99, + 0x55, 0xd0, 0x39, 0x38, 0xd5, 0x35, 0xf7, 0x83, 0xca, 0x46, 0xf9, 0x76, 0x69, 0x36, 0x76, 0xe9, + 0xd3, 0x18, 0x9c, 0xeb, 0xe2, 0xfb, 0x96, 0xad, 0xef, 0x4a, 0x92, 0x0a, 0x70, 0x71, 0x63, 0xfd, + 0x66, 0xa9, 0x52, 0xbe, 0x53, 0xd2, 0x6a, 0x37, 0x56, 0xd5, 0x92, 0x76, 0x6b, 0x7d, 0xed, 0xe6, + 0x60, 0xce, 0xce, 0xee, 0x1f, 0x64, 0x51, 0x0f, 0x40, 0x85, 0x9a, 0xe8, 0x7b, 0x70, 0xfe, 0x10, + 0x0c, 0xef, 0x37, 0xe7, 0x71, 0x7e, 0xff, 0x20, 0x7b, 0xa6, 0x47, 0xdd, 0xfb, 0x45, 0x0c, 0x54, + 0x84, 0x0b, 0x87, 0x5a, 0x21, 0x31, 0x62, 0xe9, 0x85, 0xfd, 0x83, 0xec, 0xb9, 0x1e, 0x8c, 0x4d, + 0xcb, 0x14, 0x28, 0xb7, 0x61, 0xe9, 0x08, 0x3b, 0xb4, 0xd2, 0x9b, 0xd5, 0xb2, 0xea, 0xed, 0xd6, + 0x68, 0x3a, 0xb3, 0x7f, 0x90, 0x5d, 0x18, 0x60, 0x4e, 0x69, 0xaf, 0x45, 0xbd, 0xc8, 0x12, 0x7b, + 0x53, 0xb8, 0xfe, 0xd9, 0xe3, 0x45, 0xe5, 0xc1, 0xe3, 0x45, 0xe5, 0xef, 0x8f, 0x17, 0x95, 0x0f, + 0x9f, 0x2c, 0x8e, 0x3c, 0x78, 0xb2, 0x38, 0xf2, 0x97, 0x27, 0x8b, 0x23, 0x77, 0x5e, 0x3d, 0xb4, + 0x8f, 0x18, 0x56, 0x52, 0xde, 0x51, 0xac, 0xc7, 0xf9, 0x15, 0xf4, 0x5b, 0xff, 0x09, 0x00, 0x00, + 0xff, 0xff, 0x8f, 0xe1, 0xd9, 0xc1, 0xe9, 0x1c, 0x00, 0x00, } func (this *Pool) Description() (desc *github_com_cosmos_gogoproto_protoc_gen_gogo_descriptor.FileDescriptorSet) { @@ -1610,731 +1610,732 @@ func (this *Pool) Description() (desc *github_com_cosmos_gogoproto_protoc_gen_go func StakingDescription() (desc *github_com_cosmos_gogoproto_protoc_gen_gogo_descriptor.FileDescriptorSet) { d := &github_com_cosmos_gogoproto_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 11570 bytes of a gzipped FileDescriptorSet - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0xbd, 0x69, 0x94, 0x1c, 0xd7, - 0x75, 0x1f, 0x3e, 0xbd, 0x4c, 0x2f, 0xb7, 0xb7, 0x9a, 0x37, 0x03, 0x60, 0xd0, 0x20, 0x31, 0x83, - 0xa2, 0x48, 0x82, 0x20, 0x39, 0x20, 0x41, 0x02, 0x24, 0x07, 0xa2, 0xe8, 0xee, 0x9e, 0x06, 0xd0, - 0xc0, 0x6c, 0xac, 0xee, 0x81, 0x48, 0xda, 0x56, 0xb9, 0xa6, 0xfa, 0xcd, 0x4c, 0x11, 0xdd, 0x55, - 0xa5, 0xaa, 0x6a, 0x60, 0x86, 0xe7, 0x7f, 0xfe, 0x47, 0xb6, 0xec, 0x44, 0x86, 0x97, 0xc8, 0xb1, - 0x8f, 0x2d, 0x5b, 0x82, 0x2d, 0xd9, 0xb1, 0x2d, 0x3b, 0x9b, 0x17, 0xc5, 0xeb, 0x89, 0x63, 0x67, - 0xb5, 0x7d, 0x92, 0x1c, 0xd9, 0x1f, 0x12, 0x27, 0xe7, 0x98, 0xb6, 0x25, 0x9f, 0x58, 0x91, 0xe5, - 0xc4, 0x96, 0xe9, 0x2c, 0x47, 0x27, 0x39, 0x39, 0x6f, 0xab, 0xa5, 0x97, 0xe9, 0x1e, 0x88, 0x94, - 0x15, 0x3b, 0x5f, 0x80, 0xae, 0xf7, 0xee, 0xfd, 0xbd, 0xf7, 0xee, 0xbb, 0xef, 0xbe, 0xfb, 0xee, - 0x5b, 0x06, 0xfe, 0xa0, 0x0a, 0x8b, 0xbb, 0x96, 0xb5, 0xdb, 0xc1, 0xe7, 0x6d, 0xc7, 0xf2, 0xac, - 0xed, 0xde, 0xce, 0xf9, 0x36, 0x76, 0x75, 0xc7, 0xb0, 0x3d, 0xcb, 0x59, 0xa2, 0x69, 0xa8, 0xc4, - 0x28, 0x96, 0x04, 0x85, 0xbc, 0x06, 0x33, 0x57, 0x8c, 0x0e, 0x5e, 0xf1, 0x09, 0x9b, 0xd8, 0x43, - 0xcf, 0x43, 0x72, 0xc7, 0xe8, 0xe0, 0xf9, 0xd8, 0x62, 0xe2, 0x6c, 0xee, 0xc2, 0xbb, 0x96, 0xfa, - 0x98, 0x96, 0xa2, 0x1c, 0x9b, 0x24, 0x59, 0xa1, 0x1c, 0xf2, 0xff, 0x4e, 0xc2, 0xec, 0x90, 0x5c, - 0x84, 0x20, 0x69, 0x6a, 0x5d, 0x82, 0x18, 0x3b, 0x9b, 0x55, 0xe8, 0x6f, 0x34, 0x0f, 0x69, 0x5b, - 0xd3, 0x6f, 0x69, 0xbb, 0x78, 0x3e, 0x4e, 0x93, 0xc5, 0x27, 0x3a, 0x0d, 0xd0, 0xc6, 0x36, 0x36, - 0xdb, 0xd8, 0xd4, 0x0f, 0xe6, 0x13, 0x8b, 0x89, 0xb3, 0x59, 0x25, 0x94, 0x82, 0x1e, 0x87, 0x19, - 0xbb, 0xb7, 0xdd, 0x31, 0x74, 0x35, 0x44, 0x06, 0x8b, 0x89, 0xb3, 0xd3, 0x8a, 0xc4, 0x32, 0x56, - 0x02, 0xe2, 0x47, 0xa1, 0x74, 0x07, 0x6b, 0xb7, 0xc2, 0xa4, 0x39, 0x4a, 0x5a, 0x24, 0xc9, 0x21, - 0xc2, 0x1a, 0xe4, 0xbb, 0xd8, 0x75, 0xb5, 0x5d, 0xac, 0x7a, 0x07, 0x36, 0x9e, 0x4f, 0xd2, 0xd6, - 0x2f, 0x0e, 0xb4, 0xbe, 0xbf, 0xe5, 0x39, 0xce, 0xd5, 0x3a, 0xb0, 0x31, 0xaa, 0x40, 0x16, 0x9b, - 0xbd, 0x2e, 0x43, 0x98, 0x1e, 0x21, 0xbf, 0xba, 0xd9, 0xeb, 0xf6, 0xa3, 0x64, 0x08, 0x1b, 0x87, - 0x48, 0xbb, 0xd8, 0xb9, 0x6d, 0xe8, 0x78, 0x3e, 0x45, 0x01, 0x1e, 0x1d, 0x00, 0x68, 0xb2, 0xfc, - 0x7e, 0x0c, 0xc1, 0x87, 0x6a, 0x90, 0xc5, 0xfb, 0x1e, 0x36, 0x5d, 0xc3, 0x32, 0xe7, 0xd3, 0x14, - 0xe4, 0xe1, 0x21, 0xbd, 0x88, 0x3b, 0xed, 0x7e, 0x88, 0x80, 0x0f, 0x5d, 0x82, 0xb4, 0x65, 0x7b, - 0x86, 0x65, 0xba, 0xf3, 0x99, 0xc5, 0xd8, 0xd9, 0xdc, 0x85, 0x07, 0x86, 0x2a, 0xc2, 0x06, 0xa3, - 0x51, 0x04, 0x31, 0x6a, 0x80, 0xe4, 0x5a, 0x3d, 0x47, 0xc7, 0xaa, 0x6e, 0xb5, 0xb1, 0x6a, 0x98, - 0x3b, 0xd6, 0x7c, 0x96, 0x02, 0x2c, 0x0c, 0x36, 0x84, 0x12, 0xd6, 0xac, 0x36, 0x6e, 0x98, 0x3b, - 0x96, 0x52, 0x74, 0x23, 0xdf, 0xe8, 0x38, 0xa4, 0xdc, 0x03, 0xd3, 0xd3, 0xf6, 0xe7, 0xf3, 0x54, - 0x43, 0xf8, 0x17, 0x51, 0x1d, 0xdc, 0x36, 0x48, 0x71, 0xf3, 0x05, 0xa6, 0x3a, 0xfc, 0x53, 0xfe, - 0xc5, 0x14, 0x94, 0x26, 0x51, 0xbe, 0xcb, 0x30, 0xbd, 0x43, 0xda, 0x3f, 0x1f, 0x3f, 0x8a, 0x74, - 0x18, 0x4f, 0x54, 0xbc, 0xa9, 0xfb, 0x14, 0x6f, 0x05, 0x72, 0x26, 0x76, 0x3d, 0xdc, 0x66, 0xba, - 0x92, 0x98, 0x50, 0xdb, 0x80, 0x31, 0x0d, 0x2a, 0x5b, 0xf2, 0xbe, 0x94, 0xed, 0x15, 0x28, 0xf9, - 0x55, 0x52, 0x1d, 0xcd, 0xdc, 0x15, 0x5a, 0x7b, 0x7e, 0x5c, 0x4d, 0x96, 0xea, 0x82, 0x4f, 0x21, - 0x6c, 0x4a, 0x11, 0x47, 0xbe, 0xd1, 0x0a, 0x80, 0x65, 0x62, 0x6b, 0x47, 0x6d, 0x63, 0xbd, 0x33, - 0x9f, 0x19, 0x21, 0xa5, 0x0d, 0x42, 0x32, 0x20, 0x25, 0x8b, 0xa5, 0xea, 0x1d, 0xf4, 0x42, 0xa0, - 0x84, 0xe9, 0x11, 0x3a, 0xb4, 0xc6, 0x86, 0xdf, 0x80, 0x1e, 0x6e, 0x41, 0xd1, 0xc1, 0x64, 0x44, - 0xe0, 0x36, 0x6f, 0x59, 0x96, 0x56, 0x62, 0x69, 0x6c, 0xcb, 0x14, 0xce, 0xc6, 0x1a, 0x56, 0x70, - 0xc2, 0x9f, 0xe8, 0x21, 0xf0, 0x13, 0x54, 0xaa, 0x56, 0x40, 0xed, 0x53, 0x5e, 0x24, 0xae, 0x6b, - 0x5d, 0x5c, 0x7e, 0x03, 0x8a, 0x51, 0xf1, 0xa0, 0x39, 0x98, 0x76, 0x3d, 0xcd, 0xf1, 0xa8, 0x16, - 0x4e, 0x2b, 0xec, 0x03, 0x49, 0x90, 0xc0, 0x66, 0x9b, 0xda, 0xbf, 0x69, 0x85, 0xfc, 0x44, 0x5f, - 0x13, 0x34, 0x38, 0x41, 0x1b, 0xfc, 0xc8, 0x60, 0x8f, 0x46, 0x90, 0xfb, 0xdb, 0x5d, 0x7e, 0x0e, - 0x0a, 0x91, 0x06, 0x4c, 0x5a, 0xb4, 0xfc, 0xff, 0xc1, 0xb1, 0xa1, 0xd0, 0xe8, 0x15, 0x98, 0xeb, - 0x99, 0x86, 0xe9, 0x61, 0xc7, 0x76, 0x30, 0xd1, 0x58, 0x56, 0xd4, 0xfc, 0x1f, 0xa5, 0x47, 0xe8, - 0xdc, 0x56, 0x98, 0x9a, 0xa1, 0x28, 0xb3, 0xbd, 0xc1, 0xc4, 0x73, 0xd9, 0xcc, 0xe7, 0xd2, 0xd2, - 0x07, 0x3e, 0xf0, 0x81, 0x0f, 0xc4, 0xe5, 0x5f, 0x4b, 0xc1, 0xdc, 0xb0, 0x31, 0x33, 0x74, 0xf8, - 0x1e, 0x87, 0x94, 0xd9, 0xeb, 0x6e, 0x63, 0x87, 0x0a, 0x69, 0x5a, 0xe1, 0x5f, 0xa8, 0x02, 0xd3, - 0x1d, 0x6d, 0x1b, 0x77, 0xe6, 0x93, 0x8b, 0xb1, 0xb3, 0xc5, 0x0b, 0x8f, 0x4f, 0x34, 0x2a, 0x97, - 0x56, 0x09, 0x8b, 0xc2, 0x38, 0xd1, 0x7b, 0x20, 0xc9, 0x8d, 0x37, 0x41, 0x38, 0x37, 0x19, 0x02, - 0x19, 0x4b, 0x0a, 0xe5, 0x43, 0xa7, 0x20, 0x4b, 0xfe, 0x67, 0xba, 0x91, 0xa2, 0x75, 0xce, 0x90, - 0x04, 0xa2, 0x17, 0xa8, 0x0c, 0x19, 0x3a, 0x4c, 0xda, 0x58, 0x4c, 0x7a, 0xfe, 0x37, 0x51, 0xac, - 0x36, 0xde, 0xd1, 0x7a, 0x1d, 0x4f, 0xbd, 0xad, 0x75, 0x7a, 0x98, 0x2a, 0x7c, 0x56, 0xc9, 0xf3, - 0xc4, 0x9b, 0x24, 0x0d, 0x2d, 0x40, 0x8e, 0x8d, 0x2a, 0xc3, 0x6c, 0xe3, 0x7d, 0x6a, 0x57, 0xa7, - 0x15, 0x36, 0xd0, 0x1a, 0x24, 0x85, 0x14, 0xff, 0xba, 0x6b, 0x99, 0x42, 0x35, 0x69, 0x11, 0x24, - 0x81, 0x16, 0xff, 0x5c, 0xbf, 0x49, 0x7f, 0x70, 0x78, 0xf3, 0x06, 0xc6, 0xd2, 0xa3, 0x50, 0xa2, - 0x14, 0xcf, 0xf0, 0xae, 0xd7, 0x3a, 0xf3, 0x33, 0x8b, 0xb1, 0xb3, 0x19, 0xa5, 0xc8, 0x92, 0x37, - 0x78, 0xaa, 0xfc, 0x73, 0x71, 0x48, 0x52, 0xc3, 0x52, 0x82, 0x5c, 0xeb, 0xd5, 0xcd, 0xba, 0xba, - 0xb2, 0xb1, 0x55, 0x5d, 0xad, 0x4b, 0x31, 0x54, 0x04, 0xa0, 0x09, 0x57, 0x56, 0x37, 0x2a, 0x2d, - 0x29, 0xee, 0x7f, 0x37, 0xd6, 0x5b, 0x97, 0x9e, 0x95, 0x12, 0x3e, 0xc3, 0x16, 0x4b, 0x48, 0x86, - 0x09, 0x9e, 0xb9, 0x20, 0x4d, 0x23, 0x09, 0xf2, 0x0c, 0xa0, 0xf1, 0x4a, 0x7d, 0xe5, 0xd2, 0xb3, - 0x52, 0x2a, 0x9a, 0xf2, 0xcc, 0x05, 0x29, 0x8d, 0x0a, 0x90, 0xa5, 0x29, 0xd5, 0x8d, 0x8d, 0x55, - 0x29, 0xe3, 0x63, 0x36, 0x5b, 0x4a, 0x63, 0xfd, 0xaa, 0x94, 0xf5, 0x31, 0xaf, 0x2a, 0x1b, 0x5b, - 0x9b, 0x12, 0xf8, 0x08, 0x6b, 0xf5, 0x66, 0xb3, 0x72, 0xb5, 0x2e, 0xe5, 0x7c, 0x8a, 0xea, 0xab, - 0xad, 0x7a, 0x53, 0xca, 0x47, 0xaa, 0xf5, 0xcc, 0x05, 0xa9, 0xe0, 0x17, 0x51, 0x5f, 0xdf, 0x5a, - 0x93, 0x8a, 0x68, 0x06, 0x0a, 0xac, 0x08, 0x51, 0x89, 0x52, 0x5f, 0xd2, 0xa5, 0x67, 0x25, 0x29, - 0xa8, 0x08, 0x43, 0x99, 0x89, 0x24, 0x5c, 0x7a, 0x56, 0x42, 0x72, 0x0d, 0xa6, 0xa9, 0x1a, 0x22, - 0x04, 0xc5, 0xd5, 0x4a, 0xb5, 0xbe, 0xaa, 0x6e, 0x6c, 0xb6, 0x1a, 0x1b, 0xeb, 0x95, 0x55, 0x29, - 0x16, 0xa4, 0x29, 0xf5, 0x97, 0xb7, 0x1a, 0x4a, 0x7d, 0x45, 0x8a, 0x87, 0xd3, 0x36, 0xeb, 0x95, - 0x56, 0x7d, 0x45, 0x4a, 0xc8, 0x3a, 0xcc, 0x0d, 0x33, 0xa8, 0x43, 0x87, 0x50, 0x48, 0x17, 0xe2, - 0x23, 0x74, 0x81, 0x62, 0xf5, 0xeb, 0x82, 0xfc, 0xd9, 0x38, 0xcc, 0x0e, 0x99, 0x54, 0x86, 0x16, - 0xf2, 0x12, 0x4c, 0x33, 0x5d, 0x66, 0xd3, 0xec, 0x63, 0x43, 0x67, 0x27, 0xaa, 0xd9, 0x03, 0x53, - 0x2d, 0xe5, 0x0b, 0x3b, 0x21, 0x89, 0x11, 0x4e, 0x08, 0x81, 0x18, 0x50, 0xd8, 0xaf, 0x1f, 0x30, - 0xfe, 0x6c, 0x7e, 0xbc, 0x34, 0xc9, 0xfc, 0x48, 0xd3, 0x8e, 0x36, 0x09, 0x4c, 0x0f, 0x99, 0x04, - 0x2e, 0xc3, 0xcc, 0x00, 0xd0, 0xc4, 0xc6, 0xf8, 0x83, 0x31, 0x98, 0x1f, 0x25, 0x9c, 0x31, 0x26, - 0x31, 0x1e, 0x31, 0x89, 0x97, 0xfb, 0x25, 0x78, 0x66, 0x74, 0x27, 0x0c, 0xf4, 0xf5, 0x8f, 0xc7, - 0xe0, 0xf8, 0x70, 0x67, 0x73, 0x68, 0x1d, 0xde, 0x03, 0xa9, 0x2e, 0xf6, 0xf6, 0x2c, 0xe1, 0x56, - 0x3d, 0x32, 0x64, 0xb2, 0x26, 0xd9, 0xfd, 0x9d, 0xcd, 0xb9, 0xc2, 0xb3, 0x7d, 0x62, 0x94, 0xc7, - 0xc8, 0x6a, 0x33, 0x50, 0xd3, 0x6f, 0x8d, 0xc3, 0xb1, 0xa1, 0xe0, 0x43, 0x2b, 0xfa, 0x20, 0x80, - 0x61, 0xda, 0x3d, 0x8f, 0xb9, 0x4e, 0xcc, 0x12, 0x67, 0x69, 0x0a, 0x35, 0x5e, 0xc4, 0xca, 0xf6, - 0x3c, 0x3f, 0x3f, 0x41, 0xf3, 0x81, 0x25, 0x51, 0x82, 0xe7, 0x83, 0x8a, 0x26, 0x69, 0x45, 0x4f, - 0x8f, 0x68, 0xe9, 0x80, 0x62, 0x3e, 0x05, 0x92, 0xde, 0x31, 0xb0, 0xe9, 0xa9, 0xae, 0xe7, 0x60, - 0xad, 0x6b, 0x98, 0xbb, 0x74, 0xaa, 0xc9, 0x2c, 0x4f, 0xef, 0x68, 0x1d, 0x17, 0x2b, 0x25, 0x96, - 0xdd, 0x14, 0xb9, 0x84, 0x83, 0x2a, 0x90, 0x13, 0xe2, 0x48, 0x45, 0x38, 0x58, 0xb6, 0xcf, 0x21, - 0x7f, 0x57, 0x16, 0x72, 0x21, 0xd7, 0x1c, 0x9d, 0x81, 0xfc, 0xeb, 0xda, 0x6d, 0x4d, 0x15, 0xcb, - 0x2d, 0x26, 0x89, 0x1c, 0x49, 0xdb, 0xe4, 0x4b, 0xae, 0xa7, 0x60, 0x8e, 0x92, 0x58, 0x3d, 0x0f, - 0x3b, 0xaa, 0xde, 0xd1, 0x5c, 0x97, 0x0a, 0x2d, 0x43, 0x49, 0x11, 0xc9, 0xdb, 0x20, 0x59, 0x35, - 0x91, 0x83, 0x2e, 0xc2, 0x2c, 0xe5, 0xe8, 0xf6, 0x3a, 0x9e, 0x61, 0x77, 0xb0, 0x4a, 0x16, 0x80, - 0x2e, 0x9d, 0x72, 0xfc, 0x9a, 0xcd, 0x10, 0x8a, 0x35, 0x4e, 0x40, 0x6a, 0xe4, 0xa2, 0x15, 0x78, - 0x90, 0xb2, 0xed, 0x62, 0x13, 0x3b, 0x9a, 0x87, 0x55, 0xfc, 0xfe, 0x9e, 0xd6, 0x71, 0x55, 0xcd, - 0x6c, 0xab, 0x7b, 0x9a, 0xbb, 0x37, 0x3f, 0x47, 0x00, 0xaa, 0xf1, 0xf9, 0x98, 0x72, 0x92, 0x10, - 0x5e, 0xe5, 0x74, 0x75, 0x4a, 0x56, 0x31, 0xdb, 0xd7, 0x34, 0x77, 0x0f, 0x2d, 0xc3, 0x71, 0x8a, - 0xe2, 0x7a, 0x8e, 0x61, 0xee, 0xaa, 0xfa, 0x1e, 0xd6, 0x6f, 0xa9, 0x3d, 0x6f, 0xe7, 0xf9, 0xf9, - 0x53, 0xe1, 0xf2, 0x69, 0x0d, 0x9b, 0x94, 0xa6, 0x46, 0x48, 0xb6, 0xbc, 0x9d, 0xe7, 0x51, 0x13, - 0xf2, 0xa4, 0x33, 0xba, 0xc6, 0x1b, 0x58, 0xdd, 0xb1, 0x1c, 0x3a, 0x87, 0x16, 0x87, 0x98, 0xa6, - 0x90, 0x04, 0x97, 0x36, 0x38, 0xc3, 0x9a, 0xd5, 0xc6, 0xcb, 0xd3, 0xcd, 0xcd, 0x7a, 0x7d, 0x45, - 0xc9, 0x09, 0x94, 0x2b, 0x96, 0x43, 0x14, 0x6a, 0xd7, 0xf2, 0x05, 0x9c, 0x63, 0x0a, 0xb5, 0x6b, - 0x09, 0xf1, 0x5e, 0x84, 0x59, 0x5d, 0x67, 0x6d, 0x36, 0x74, 0x95, 0x2f, 0xd3, 0xdc, 0x79, 0x29, - 0x22, 0x2c, 0x5d, 0xbf, 0xca, 0x08, 0xb8, 0x8e, 0xbb, 0xe8, 0x05, 0x38, 0x16, 0x08, 0x2b, 0xcc, - 0x38, 0x33, 0xd0, 0xca, 0x7e, 0xd6, 0x8b, 0x30, 0x6b, 0x1f, 0x0c, 0x32, 0xa2, 0x48, 0x89, 0xf6, - 0x41, 0x3f, 0xdb, 0x73, 0x30, 0x67, 0xef, 0xd9, 0x83, 0x7c, 0xe7, 0xc2, 0x7c, 0xc8, 0xde, 0xb3, - 0xfb, 0x19, 0x1f, 0xa6, 0x6b, 0x76, 0x07, 0xeb, 0x9a, 0x87, 0xdb, 0xf3, 0x27, 0xc2, 0xe4, 0xa1, - 0x0c, 0xb4, 0x04, 0x92, 0xae, 0xab, 0xd8, 0xd4, 0xb6, 0x3b, 0x58, 0xd5, 0x1c, 0x6c, 0x6a, 0xee, - 0xfc, 0x02, 0x25, 0x4e, 0x7a, 0x4e, 0x0f, 0x2b, 0x45, 0x5d, 0xaf, 0xd3, 0xcc, 0x0a, 0xcd, 0x43, - 0xe7, 0x60, 0xc6, 0xda, 0x7e, 0x5d, 0x67, 0x1a, 0xa9, 0xda, 0x0e, 0xde, 0x31, 0xf6, 0xe7, 0xdf, - 0x45, 0xc5, 0x5b, 0x22, 0x19, 0x54, 0x1f, 0x37, 0x69, 0x32, 0x7a, 0x0c, 0x24, 0xdd, 0xdd, 0xd3, - 0x1c, 0x9b, 0x9a, 0x64, 0xd7, 0xd6, 0x74, 0x3c, 0xff, 0x30, 0x23, 0x65, 0xe9, 0xeb, 0x22, 0x99, - 0x8c, 0x08, 0xf7, 0x8e, 0xb1, 0xe3, 0x09, 0xc4, 0x47, 0xd9, 0x88, 0xa0, 0x69, 0x1c, 0xed, 0x2c, - 0x48, 0x44, 0x12, 0x91, 0x82, 0xcf, 0x52, 0xb2, 0xa2, 0xbd, 0x67, 0x87, 0xcb, 0x7d, 0x08, 0x0a, - 0x84, 0x32, 0x28, 0xf4, 0x31, 0xe6, 0xb8, 0xd9, 0x7b, 0xa1, 0x12, 0x9f, 0x85, 0xe3, 0x84, 0xa8, - 0x8b, 0x3d, 0xad, 0xad, 0x79, 0x5a, 0x88, 0xfa, 0x09, 0x4a, 0x4d, 0xc4, 0xbe, 0xc6, 0x33, 0x23, - 0xf5, 0x74, 0x7a, 0xdb, 0x07, 0xbe, 0x62, 0x3d, 0xc9, 0xea, 0x49, 0xd2, 0x84, 0x6a, 0xbd, 0x63, - 0xce, 0xb9, 0xbc, 0x0c, 0xf9, 0xb0, 0xde, 0xa3, 0x2c, 0x30, 0xcd, 0x97, 0x62, 0xc4, 0x09, 0xaa, - 0x6d, 0xac, 0x10, 0xf7, 0xe5, 0xb5, 0xba, 0x14, 0x27, 0x6e, 0xd4, 0x6a, 0xa3, 0x55, 0x57, 0x95, - 0xad, 0xf5, 0x56, 0x63, 0xad, 0x2e, 0x25, 0x42, 0x8e, 0xfd, 0xf5, 0x64, 0xe6, 0x11, 0xe9, 0x51, - 0xf9, 0x97, 0x13, 0x50, 0x8c, 0xae, 0xd4, 0xd0, 0xbb, 0xe1, 0x84, 0x08, 0xb8, 0xb8, 0xd8, 0x53, - 0xef, 0x18, 0x0e, 0x1d, 0x90, 0x5d, 0x8d, 0x4d, 0x8e, 0xbe, 0xfe, 0xcc, 0x71, 0xaa, 0x26, 0xf6, - 0xde, 0x6b, 0x38, 0x64, 0xb8, 0x75, 0x35, 0x0f, 0xad, 0xc2, 0x82, 0x69, 0xa9, 0xae, 0xa7, 0x99, - 0x6d, 0xcd, 0x69, 0xab, 0x41, 0xa8, 0x4b, 0xd5, 0x74, 0x1d, 0xbb, 0xae, 0xc5, 0x26, 0x42, 0x1f, - 0xe5, 0x01, 0xd3, 0x6a, 0x72, 0xe2, 0x60, 0x86, 0xa8, 0x70, 0xd2, 0x3e, 0xf5, 0x4d, 0x8c, 0x52, - 0xdf, 0x53, 0x90, 0xed, 0x6a, 0xb6, 0x8a, 0x4d, 0xcf, 0x39, 0xa0, 0xfe, 0x79, 0x46, 0xc9, 0x74, - 0x35, 0xbb, 0x4e, 0xbe, 0xd1, 0x4d, 0x78, 0x24, 0x20, 0x55, 0x3b, 0x78, 0x57, 0xd3, 0x0f, 0x54, - 0xea, 0x8c, 0xd3, 0xb0, 0x81, 0xaa, 0x5b, 0xe6, 0x4e, 0xc7, 0xd0, 0x3d, 0x97, 0xda, 0x07, 0x66, - 0xe3, 0xe4, 0x80, 0x63, 0x95, 0x32, 0x5c, 0x77, 0x2d, 0x93, 0xfa, 0xe0, 0x35, 0x41, 0xfd, 0x15, - 0x59, 0x7e, 0x5d, 0x4f, 0x66, 0x92, 0xd2, 0xf4, 0xf5, 0x64, 0x66, 0x5a, 0x4a, 0x5d, 0x4f, 0x66, - 0x52, 0x52, 0xfa, 0x7a, 0x32, 0x93, 0x91, 0xb2, 0xd7, 0x93, 0x99, 0xac, 0x04, 0xf2, 0xcf, 0x67, - 0x20, 0x1f, 0x5e, 0x19, 0x90, 0x85, 0x96, 0x4e, 0xe7, 0xc6, 0x18, 0xb5, 0x9e, 0x0f, 0x1d, 0xba, - 0x8e, 0x58, 0xaa, 0x91, 0x49, 0x73, 0x39, 0xc5, 0xdc, 0x70, 0x85, 0x71, 0x12, 0x87, 0x85, 0xa8, - 0x35, 0x66, 0x6e, 0x4f, 0x46, 0xe1, 0x5f, 0xe8, 0x2a, 0xa4, 0x5e, 0x77, 0x29, 0x76, 0x8a, 0x62, - 0xbf, 0xeb, 0x70, 0xec, 0xeb, 0x4d, 0x0a, 0x9e, 0xbd, 0xde, 0x54, 0xd7, 0x37, 0x94, 0xb5, 0xca, - 0xaa, 0xc2, 0xd9, 0xd1, 0x49, 0x48, 0x76, 0xb4, 0x37, 0x0e, 0xa2, 0xd3, 0x2b, 0x4d, 0x42, 0x4b, - 0x50, 0xea, 0x99, 0xb7, 0xb1, 0x63, 0xec, 0x18, 0xa4, 0xab, 0x08, 0x55, 0x29, 0x4c, 0x55, 0x0c, - 0x72, 0x57, 0x09, 0xfd, 0x84, 0xea, 0x71, 0x12, 0x92, 0x77, 0xb0, 0x76, 0x2b, 0x3a, 0x09, 0xd2, - 0x24, 0x74, 0x16, 0xf2, 0x6d, 0xbc, 0xdd, 0xdb, 0x55, 0x1d, 0xdc, 0xd6, 0x74, 0x2f, 0x6a, 0xfa, - 0x73, 0x34, 0x4b, 0xa1, 0x39, 0xe8, 0x06, 0x64, 0x49, 0x1f, 0x99, 0xb4, 0x8f, 0x67, 0xa8, 0x08, - 0x9e, 0x3c, 0x5c, 0x04, 0xbc, 0x8b, 0x05, 0x93, 0x12, 0xf0, 0xa3, 0x2b, 0x90, 0xf2, 0x34, 0x67, - 0x17, 0x7b, 0xd4, 0xf2, 0x17, 0x87, 0x04, 0x3f, 0x86, 0x20, 0xb5, 0x28, 0x07, 0x5d, 0xd3, 0x72, - 0xee, 0x77, 0xd0, 0xca, 0x9c, 0x87, 0x69, 0xaa, 0x1e, 0x08, 0x80, 0x2b, 0x88, 0x34, 0x85, 0x32, - 0x90, 0xac, 0x6d, 0x28, 0xc4, 0xd2, 0x48, 0x90, 0x67, 0xa9, 0xea, 0x66, 0xa3, 0x5e, 0xab, 0x4b, - 0x71, 0xf9, 0x22, 0xa4, 0x58, 0x9f, 0x13, 0x2b, 0xe4, 0xf7, 0xba, 0x34, 0xc5, 0x3f, 0x39, 0x46, - 0x4c, 0xe4, 0x6e, 0xad, 0x55, 0xeb, 0x8a, 0x14, 0x97, 0xb7, 0xa0, 0xd4, 0x27, 0x27, 0x74, 0x0c, - 0x66, 0x94, 0x7a, 0xab, 0xbe, 0x4e, 0xd6, 0x59, 0xea, 0xd6, 0xfa, 0x8d, 0xf5, 0x8d, 0xf7, 0xae, - 0x4b, 0x53, 0xd1, 0x64, 0x61, 0xd2, 0x62, 0x68, 0x0e, 0xa4, 0x20, 0xb9, 0xb9, 0xb1, 0xa5, 0xd0, - 0xda, 0x7c, 0x7b, 0x1c, 0xa4, 0x7e, 0xa9, 0xa1, 0x13, 0x30, 0xdb, 0xaa, 0x28, 0x57, 0xeb, 0x2d, - 0x95, 0xad, 0x1d, 0x7d, 0xe8, 0x39, 0x90, 0xc2, 0x19, 0x57, 0x1a, 0x74, 0x69, 0xbc, 0x00, 0xa7, - 0xc2, 0xa9, 0xf5, 0x57, 0x5a, 0xf5, 0xf5, 0x26, 0x2d, 0xbc, 0xb2, 0x7e, 0x95, 0xd8, 0xd7, 0x3e, - 0x3c, 0xb1, 0x5a, 0x4d, 0x90, 0xaa, 0x46, 0xf1, 0xea, 0xab, 0x2b, 0x52, 0xb2, 0x3f, 0x79, 0x63, - 0xbd, 0xbe, 0x71, 0x45, 0x9a, 0xee, 0x2f, 0x9d, 0xae, 0x60, 0x53, 0xa8, 0x0c, 0xc7, 0xfb, 0x53, - 0xd5, 0xfa, 0x7a, 0x4b, 0x79, 0x55, 0x4a, 0xf7, 0x17, 0xdc, 0xac, 0x2b, 0x37, 0x1b, 0xb5, 0xba, - 0x94, 0x41, 0xc7, 0x01, 0x45, 0x6b, 0xd4, 0xba, 0xb6, 0xb1, 0x22, 0x65, 0x07, 0x2c, 0x8a, 0xec, - 0x42, 0x3e, 0xbc, 0x8c, 0xfc, 0xca, 0xc4, 0x92, 0x3e, 0x12, 0x87, 0x5c, 0x68, 0x59, 0x48, 0xfc, - 0x79, 0xad, 0xd3, 0xb1, 0xee, 0xa8, 0x5a, 0xc7, 0xd0, 0x5c, 0x6e, 0x6f, 0x80, 0x26, 0x55, 0x48, - 0xca, 0xa4, 0xe3, 0x7b, 0x72, 0x0b, 0x9f, 0xfa, 0x6a, 0xb4, 0xf0, 0xd3, 0x52, 0x4a, 0xfe, 0xc1, - 0x18, 0x48, 0xfd, 0xeb, 0xbd, 0xbe, 0xe6, 0xc7, 0x46, 0x35, 0xff, 0x2b, 0xd2, 0x77, 0x1f, 0x8b, - 0x41, 0x31, 0xba, 0xc8, 0xeb, 0xab, 0xde, 0x99, 0xbf, 0xd4, 0xea, 0xfd, 0x7e, 0x1c, 0x0a, 0x91, - 0xa5, 0xdd, 0xa4, 0xb5, 0x7b, 0x3f, 0xcc, 0x18, 0x6d, 0xdc, 0xb5, 0x2d, 0x0f, 0x9b, 0xfa, 0x81, - 0xda, 0xc1, 0xb7, 0x71, 0x67, 0x5e, 0xa6, 0x46, 0xf9, 0xfc, 0xe1, 0x8b, 0xc7, 0xa5, 0x46, 0xc0, - 0xb7, 0x4a, 0xd8, 0x96, 0x67, 0x1b, 0x2b, 0xf5, 0xb5, 0xcd, 0x8d, 0x56, 0x7d, 0xbd, 0xf6, 0xaa, - 0xb0, 0x2e, 0x8a, 0x64, 0xf4, 0x91, 0xbd, 0x83, 0x46, 0x7b, 0x13, 0xa4, 0xfe, 0x4a, 0x11, 0x5b, - 0x31, 0xa4, 0x5a, 0xd2, 0x14, 0x9a, 0x85, 0xd2, 0xfa, 0x86, 0xda, 0x6c, 0xac, 0xd4, 0xd5, 0xfa, - 0x95, 0x2b, 0xf5, 0x5a, 0xab, 0xc9, 0xc2, 0x81, 0x3e, 0x75, 0x4b, 0x8a, 0x87, 0x45, 0xfc, 0x03, - 0x09, 0x98, 0x1d, 0x52, 0x13, 0x54, 0xe1, 0x0b, 0x79, 0x16, 0x5b, 0x78, 0x72, 0x92, 0xda, 0x2f, - 0x11, 0x57, 0x7a, 0x53, 0x73, 0x3c, 0xbe, 0xee, 0x7f, 0x0c, 0x88, 0x94, 0x4c, 0x8f, 0xcc, 0xec, - 0x0e, 0x0f, 0xb3, 0xb2, 0xd5, 0x7d, 0x29, 0x48, 0x67, 0x91, 0xd6, 0x27, 0x00, 0xd9, 0x96, 0x6b, - 0x78, 0xc6, 0x6d, 0xac, 0x1a, 0xa6, 0x88, 0xc9, 0x92, 0xd5, 0x7e, 0x52, 0x91, 0x44, 0x4e, 0xc3, - 0xf4, 0x7c, 0x6a, 0x13, 0xef, 0x6a, 0x7d, 0xd4, 0xc4, 0xf3, 0x48, 0x28, 0x92, 0xc8, 0xf1, 0xa9, - 0xcf, 0x40, 0xbe, 0x6d, 0xf5, 0xc8, 0x12, 0x88, 0xd1, 0x11, 0x6b, 0x11, 0x53, 0x72, 0x2c, 0xcd, - 0x27, 0xe1, 0x8b, 0xdb, 0x20, 0x18, 0x9c, 0x57, 0x72, 0x2c, 0x8d, 0x91, 0x3c, 0x0a, 0x25, 0x6d, - 0x77, 0xd7, 0x21, 0xe0, 0x02, 0x88, 0x2d, 0xd7, 0x8b, 0x7e, 0x32, 0x25, 0x2c, 0x5f, 0x87, 0x8c, - 0x90, 0x03, 0xf1, 0x60, 0x89, 0x24, 0x54, 0x9b, 0xc5, 0xa0, 0xe2, 0x67, 0xb3, 0x4a, 0xc6, 0x14, - 0x99, 0x67, 0x20, 0x6f, 0xb8, 0x6a, 0xb0, 0xb7, 0x15, 0x5f, 0x8c, 0x9f, 0xcd, 0x28, 0x39, 0xc3, - 0xf5, 0xf7, 0x05, 0xe4, 0x1f, 0x8f, 0x43, 0x31, 0xba, 0x6b, 0x87, 0x56, 0x20, 0xd3, 0xb1, 0x74, - 0x8d, 0xaa, 0x16, 0xdb, 0x32, 0x3e, 0x3b, 0x66, 0xa3, 0x6f, 0x69, 0x95, 0xd3, 0x2b, 0x3e, 0x67, - 0xf9, 0xdf, 0xc6, 0x20, 0x23, 0x92, 0xd1, 0x71, 0x48, 0xda, 0x9a, 0xb7, 0x47, 0xe1, 0xa6, 0xab, - 0x71, 0x29, 0xa6, 0xd0, 0x6f, 0x92, 0xee, 0xda, 0x9a, 0x49, 0x55, 0x80, 0xa7, 0x93, 0x6f, 0xd2, - 0xaf, 0x1d, 0xac, 0xb5, 0x69, 0x2c, 0xc0, 0xea, 0x76, 0xb1, 0xe9, 0xb9, 0xa2, 0x5f, 0x79, 0x7a, - 0x8d, 0x27, 0xa3, 0xc7, 0x61, 0xc6, 0x73, 0x34, 0xa3, 0x13, 0xa1, 0x4d, 0x52, 0x5a, 0x49, 0x64, - 0xf8, 0xc4, 0xcb, 0x70, 0x52, 0xe0, 0xb6, 0xb1, 0xa7, 0xe9, 0x7b, 0xb8, 0x1d, 0x30, 0xa5, 0x68, - 0xcc, 0xef, 0x04, 0x27, 0x58, 0xe1, 0xf9, 0x82, 0x57, 0xfe, 0x74, 0x1c, 0x66, 0x44, 0xf4, 0xa2, - 0xed, 0x0b, 0x6b, 0x0d, 0x40, 0x33, 0x4d, 0xcb, 0x0b, 0x8b, 0x6b, 0x50, 0x95, 0x07, 0xf8, 0x96, - 0x2a, 0x3e, 0x93, 0x12, 0x02, 0x28, 0xff, 0x71, 0x0c, 0x20, 0xc8, 0x1a, 0x29, 0xb7, 0x05, 0xc8, - 0xf1, 0x3d, 0x59, 0xba, 0xb1, 0xcf, 0x02, 0x5e, 0xc0, 0x92, 0xae, 0x18, 0x1d, 0x1a, 0x96, 0xdc, - 0xc6, 0xbb, 0x86, 0xc9, 0xf7, 0x53, 0xd8, 0x87, 0x08, 0x4b, 0x26, 0x83, 0xed, 0x29, 0x05, 0x32, - 0x2e, 0xee, 0x6a, 0xa6, 0x67, 0xe8, 0x7c, 0x87, 0xe4, 0xd2, 0x91, 0x2a, 0xbf, 0xd4, 0xe4, 0xdc, - 0x8a, 0x8f, 0x23, 0x9f, 0x85, 0x8c, 0x48, 0x25, 0x8e, 0xdf, 0xfa, 0xc6, 0x7a, 0x5d, 0x9a, 0x42, - 0x69, 0x48, 0x34, 0xeb, 0x2d, 0x29, 0x46, 0x96, 0x9d, 0x95, 0xd5, 0x46, 0xa5, 0x29, 0xc5, 0xab, - 0xff, 0x3f, 0xcc, 0xea, 0x56, 0xb7, 0xbf, 0xc0, 0xaa, 0xd4, 0x17, 0xf2, 0x73, 0xaf, 0xc5, 0x5e, - 0x7b, 0x92, 0x13, 0xed, 0x5a, 0x1d, 0xcd, 0xdc, 0x5d, 0xb2, 0x9c, 0xdd, 0xe0, 0x58, 0x04, 0x59, - 0x1d, 0xb8, 0xa1, 0xc3, 0x11, 0xf6, 0xf6, 0xff, 0x88, 0xc5, 0x7e, 0x38, 0x9e, 0xb8, 0xba, 0x59, - 0xfd, 0xc9, 0x78, 0xf9, 0x2a, 0x63, 0xdc, 0x14, 0xcd, 0x51, 0xf0, 0x4e, 0x07, 0xeb, 0xa4, 0xf2, - 0xf0, 0x27, 0x8f, 0xc3, 0xdc, 0xae, 0xb5, 0x6b, 0x51, 0xa4, 0xf3, 0xe4, 0x17, 0x3f, 0x57, 0x91, - 0xf5, 0x53, 0xcb, 0x63, 0x0f, 0x61, 0x2c, 0xaf, 0xc3, 0x2c, 0x27, 0x56, 0xe9, 0xf6, 0x2d, 0x0b, - 0x2e, 0xa0, 0x43, 0x23, 0xdb, 0xf3, 0x3f, 0xfd, 0x87, 0xd4, 0x2b, 0x51, 0x66, 0x38, 0x2b, 0xc9, - 0x63, 0xf1, 0x87, 0x65, 0x05, 0x8e, 0x45, 0xf0, 0x98, 0x8d, 0xc0, 0xce, 0x18, 0xc4, 0x7f, 0xc1, - 0x11, 0x67, 0x43, 0x88, 0x4d, 0xce, 0xba, 0x5c, 0x83, 0xc2, 0x51, 0xb0, 0xfe, 0x25, 0xc7, 0xca, - 0xe3, 0x30, 0xc8, 0x55, 0x28, 0x51, 0x10, 0xbd, 0xe7, 0x7a, 0x56, 0x97, 0x1a, 0xe0, 0xc3, 0x61, - 0xfe, 0xd5, 0x1f, 0xb2, 0x41, 0x5b, 0x24, 0x6c, 0x35, 0x9f, 0x6b, 0x79, 0x19, 0xe8, 0x8e, 0x75, - 0x1b, 0xeb, 0x9d, 0x31, 0x08, 0xbf, 0xce, 0x2b, 0xe2, 0xd3, 0x2f, 0xdf, 0x84, 0x39, 0xf2, 0x9b, - 0xda, 0xc7, 0x70, 0x4d, 0xc6, 0x87, 0xc1, 0xe7, 0x7f, 0xeb, 0x83, 0xcc, 0x2e, 0xcc, 0xfa, 0x00, - 0xa1, 0x3a, 0x85, 0x7a, 0x71, 0x17, 0x7b, 0x1e, 0x76, 0x5c, 0x55, 0xeb, 0x0c, 0xab, 0x5e, 0x28, - 0x8e, 0x38, 0xff, 0xfd, 0x5f, 0x88, 0xf6, 0xe2, 0x55, 0xc6, 0x59, 0xe9, 0x74, 0x96, 0xb7, 0xe0, - 0xc4, 0x10, 0xad, 0x98, 0x00, 0xf3, 0x07, 0x38, 0xe6, 0xdc, 0x80, 0x66, 0x10, 0xd8, 0x4d, 0x10, - 0xe9, 0x7e, 0x5f, 0x4e, 0x80, 0xf9, 0x51, 0x8e, 0x89, 0x38, 0xaf, 0xe8, 0x52, 0x82, 0x78, 0x1d, - 0x66, 0x6e, 0x63, 0x67, 0xdb, 0x72, 0x79, 0xec, 0x76, 0x02, 0xb8, 0x8f, 0x71, 0xb8, 0x12, 0x67, - 0xa4, 0xc1, 0x5c, 0x82, 0xf5, 0x02, 0x64, 0x76, 0x34, 0x1d, 0x4f, 0x00, 0x71, 0x8f, 0x43, 0xa4, - 0x09, 0x3d, 0x61, 0xad, 0x40, 0x7e, 0xd7, 0xe2, 0x53, 0xe4, 0x78, 0xf6, 0x1f, 0xe4, 0xec, 0x39, - 0xc1, 0xc3, 0x21, 0x6c, 0xcb, 0xee, 0x75, 0xc8, 0xfc, 0x39, 0x1e, 0xe2, 0x87, 0x04, 0x84, 0xe0, - 0xe1, 0x10, 0x47, 0x10, 0xeb, 0xc7, 0x05, 0x84, 0x1b, 0x92, 0xe7, 0x4b, 0x90, 0xb3, 0xcc, 0xce, - 0x81, 0x65, 0x4e, 0x52, 0x89, 0x4f, 0x70, 0x04, 0xe0, 0x2c, 0x04, 0xe0, 0x32, 0x64, 0x27, 0xed, - 0x88, 0x1f, 0xfd, 0x82, 0x18, 0x1e, 0xa2, 0x07, 0xae, 0x42, 0x49, 0x18, 0x28, 0xc3, 0x32, 0x27, - 0x80, 0xf8, 0x31, 0x0e, 0x51, 0x0c, 0xb1, 0xf1, 0x66, 0x78, 0xd8, 0xf5, 0x76, 0xf1, 0x24, 0x20, - 0x3f, 0x2e, 0x9a, 0xc1, 0x59, 0xb8, 0x28, 0xb7, 0xb1, 0xa9, 0xef, 0x4d, 0x86, 0xf0, 0x49, 0x21, - 0x4a, 0xc1, 0x43, 0x20, 0x6a, 0x50, 0xe8, 0x6a, 0x8e, 0xbb, 0xa7, 0x75, 0x26, 0xea, 0x8e, 0x9f, - 0xe0, 0x18, 0x79, 0x9f, 0x89, 0x4b, 0xa4, 0x67, 0x1e, 0x05, 0xe6, 0x27, 0x85, 0x44, 0x42, 0x6c, - 0x7c, 0xe8, 0xb9, 0x1e, 0x0d, 0x74, 0x1f, 0x05, 0xed, 0xef, 0x8a, 0xa1, 0xc7, 0x78, 0xd7, 0xc2, - 0x88, 0x97, 0x21, 0xeb, 0x1a, 0x6f, 0x4c, 0x04, 0xf3, 0xf7, 0x44, 0x4f, 0x53, 0x06, 0xc2, 0xfc, - 0x2a, 0x9c, 0x1c, 0x3a, 0x4d, 0x4c, 0x00, 0xf6, 0xf7, 0x39, 0xd8, 0xf1, 0x21, 0x53, 0x05, 0x37, - 0x09, 0x47, 0x85, 0xfc, 0x07, 0xc2, 0x24, 0xe0, 0x3e, 0xac, 0x4d, 0xb2, 0x68, 0x71, 0xb5, 0x9d, - 0xa3, 0x49, 0xed, 0x1f, 0x0a, 0xa9, 0x31, 0xde, 0x88, 0xd4, 0x5a, 0x70, 0x9c, 0x23, 0x1e, 0xad, - 0x5f, 0x7f, 0x4a, 0x18, 0x56, 0xc6, 0xbd, 0x15, 0xed, 0xdd, 0xaf, 0x85, 0xb2, 0x2f, 0x4e, 0xe1, - 0x1d, 0xbb, 0x6a, 0x57, 0xb3, 0x27, 0x40, 0xfe, 0x69, 0x8e, 0x2c, 0x2c, 0xbe, 0xef, 0x5e, 0xbb, - 0x6b, 0x9a, 0x4d, 0xc0, 0x5f, 0x81, 0x79, 0x01, 0xde, 0x33, 0x1d, 0xac, 0x5b, 0xbb, 0xa6, 0xf1, - 0x06, 0x6e, 0x4f, 0x00, 0xfd, 0x33, 0x7d, 0x5d, 0xb5, 0x15, 0x62, 0x27, 0xc8, 0x0d, 0x90, 0x7c, - 0x5f, 0x45, 0x35, 0xba, 0xb6, 0xe5, 0x78, 0x63, 0x10, 0x7f, 0x56, 0xf4, 0x94, 0xcf, 0xd7, 0xa0, - 0x6c, 0xcb, 0x75, 0x60, 0xa7, 0x3f, 0x26, 0x55, 0xc9, 0x4f, 0x71, 0xa0, 0x42, 0xc0, 0xc5, 0x0d, - 0x87, 0x6e, 0x75, 0x6d, 0xcd, 0x99, 0xc4, 0xfe, 0xfd, 0x23, 0x61, 0x38, 0x38, 0x0b, 0x37, 0x1c, - 0xc4, 0xa3, 0x23, 0xb3, 0xfd, 0x04, 0x08, 0x3f, 0x27, 0x0c, 0x87, 0xe0, 0xe1, 0x10, 0xc2, 0x61, - 0x98, 0x00, 0xe2, 0xe7, 0x05, 0x84, 0xe0, 0x21, 0x10, 0x2f, 0x07, 0x13, 0xad, 0x83, 0x77, 0x0d, - 0xd7, 0x73, 0x98, 0x4b, 0x7e, 0x38, 0xd4, 0x2f, 0x7c, 0x21, 0xea, 0x84, 0x29, 0x21, 0x56, 0x62, - 0x89, 0xf8, 0xd6, 0x07, 0x5d, 0xb2, 0x8d, 0xaf, 0xd8, 0x2f, 0x0a, 0x4b, 0x14, 0x62, 0x23, 0x75, - 0x0b, 0x79, 0x88, 0x44, 0xec, 0x3a, 0x59, 0xa8, 0x4c, 0x00, 0xf7, 0x4b, 0x7d, 0x95, 0x6b, 0x0a, - 0x5e, 0x82, 0x19, 0xf2, 0x7f, 0x7a, 0xe6, 0x2d, 0x7c, 0x30, 0x91, 0x76, 0xfe, 0x72, 0x9f, 0xff, - 0xb3, 0xc5, 0x38, 0x99, 0x0d, 0x29, 0xf5, 0xf9, 0x53, 0x68, 0xdc, 0x59, 0xbf, 0xf9, 0x6f, 0x7c, - 0x8b, 0xb7, 0x37, 0xea, 0x4e, 0x2d, 0xaf, 0x12, 0x25, 0x8f, 0x3a, 0x3d, 0xe3, 0xc1, 0x3e, 0xf8, - 0x96, 0xaf, 0xe7, 0x11, 0x9f, 0x67, 0xf9, 0x0a, 0x14, 0x22, 0x0e, 0xcf, 0x78, 0xa8, 0x6f, 0xe6, - 0x50, 0xf9, 0xb0, 0xbf, 0xb3, 0x7c, 0x11, 0x92, 0xc4, 0x79, 0x19, 0xcf, 0xfe, 0x2d, 0x9c, 0x9d, - 0x92, 0x2f, 0xbf, 0x08, 0x19, 0xe1, 0xb4, 0x8c, 0x67, 0xfd, 0x1b, 0x9c, 0xd5, 0x67, 0x21, 0xec, - 0xc2, 0x61, 0x19, 0xcf, 0xfe, 0x37, 0x05, 0xbb, 0x60, 0x21, 0xec, 0x93, 0x8b, 0xf0, 0x57, 0xbf, - 0x2d, 0xc9, 0x27, 0x1d, 0x21, 0xbb, 0xcb, 0x90, 0xe6, 0x9e, 0xca, 0x78, 0xee, 0x6f, 0xe5, 0x85, - 0x0b, 0x8e, 0xe5, 0xe7, 0x60, 0x7a, 0x42, 0x81, 0x7f, 0x07, 0x67, 0x65, 0xf4, 0xcb, 0x35, 0xc8, - 0x85, 0xbc, 0x93, 0xf1, 0xec, 0xdf, 0xc9, 0xd9, 0xc3, 0x5c, 0xa4, 0xea, 0xdc, 0x3b, 0x19, 0x0f, - 0xf0, 0xb7, 0x44, 0xd5, 0x39, 0x07, 0x11, 0x9b, 0x70, 0x4c, 0xc6, 0x73, 0x7f, 0x58, 0x48, 0x5d, - 0xb0, 0x2c, 0xbf, 0x04, 0x59, 0x7f, 0xb2, 0x19, 0xcf, 0xff, 0x5d, 0x9c, 0x3f, 0xe0, 0x21, 0x12, - 0x08, 0x4d, 0x76, 0xe3, 0x21, 0xfe, 0xb6, 0x90, 0x40, 0x88, 0x8b, 0x0c, 0xa3, 0x7e, 0x07, 0x66, - 0x3c, 0xd2, 0x77, 0x8b, 0x61, 0xd4, 0xe7, 0xbf, 0x90, 0xde, 0xa4, 0x36, 0x7f, 0x3c, 0xc4, 0xf7, - 0x88, 0xde, 0xa4, 0xf4, 0xa4, 0x1a, 0xfd, 0x1e, 0xc1, 0x78, 0x8c, 0xef, 0x13, 0xd5, 0xe8, 0x73, - 0x08, 0x96, 0x37, 0x01, 0x0d, 0x7a, 0x03, 0xe3, 0xf1, 0x3e, 0xc2, 0xf1, 0x66, 0x06, 0x9c, 0x81, - 0xe5, 0xf7, 0xc2, 0xf1, 0xe1, 0x9e, 0xc0, 0x78, 0xd4, 0xef, 0x7f, 0xab, 0x6f, 0xed, 0x16, 0x76, - 0x04, 0x96, 0x5b, 0xc1, 0x94, 0x12, 0xf6, 0x02, 0xc6, 0xc3, 0xfe, 0xc0, 0x5b, 0x51, 0xc3, 0x1d, - 0x76, 0x02, 0x96, 0x2b, 0x00, 0xc1, 0x04, 0x3c, 0x1e, 0xeb, 0x63, 0x1c, 0x2b, 0xc4, 0x44, 0x86, - 0x06, 0x9f, 0x7f, 0xc7, 0xf3, 0xdf, 0x13, 0x43, 0x83, 0x73, 0x90, 0xa1, 0x21, 0xa6, 0xde, 0xf1, - 0xdc, 0x3f, 0x28, 0x86, 0x86, 0x60, 0x21, 0x9a, 0x1d, 0x9a, 0xdd, 0xc6, 0x23, 0x7c, 0x42, 0x68, - 0x76, 0x88, 0x6b, 0x79, 0x1d, 0x66, 0x06, 0x26, 0xc4, 0xf1, 0x50, 0x3f, 0xcc, 0xa1, 0xa4, 0xfe, - 0xf9, 0x30, 0x3c, 0x79, 0xf1, 0xc9, 0x70, 0x3c, 0xda, 0x8f, 0xf4, 0x4d, 0x5e, 0x7c, 0x2e, 0x5c, - 0xbe, 0x0c, 0x19, 0xb3, 0xd7, 0xe9, 0x90, 0xc1, 0x83, 0x0e, 0x3f, 0x9f, 0x3b, 0xff, 0x9f, 0xbf, - 0xc4, 0xa5, 0x23, 0x18, 0x96, 0x2f, 0xc2, 0x34, 0xee, 0x6e, 0xe3, 0xf6, 0x38, 0xce, 0xcf, 0x7f, - 0x49, 0x18, 0x4c, 0x42, 0xbd, 0xfc, 0x12, 0x00, 0x0b, 0x8d, 0xd0, 0x8d, 0xf3, 0x31, 0xbc, 0x7f, - 0xfc, 0x25, 0x7e, 0x20, 0x2e, 0x60, 0x09, 0x00, 0xd8, 0xf1, 0xba, 0xc3, 0x01, 0xbe, 0x10, 0x05, - 0xa0, 0x3d, 0xf2, 0x02, 0xa4, 0x5f, 0x77, 0x2d, 0xd3, 0xd3, 0x76, 0xc7, 0x71, 0xff, 0x09, 0xe7, - 0x16, 0xf4, 0x44, 0x60, 0x5d, 0xcb, 0xc1, 0x9e, 0xb6, 0xeb, 0x8e, 0xe3, 0xfd, 0x2f, 0x9c, 0xd7, - 0x67, 0x20, 0xcc, 0xba, 0xe6, 0x7a, 0x93, 0xb4, 0xfb, 0xbf, 0x0a, 0x66, 0xc1, 0x40, 0x2a, 0x4d, - 0x7e, 0xdf, 0xc2, 0x07, 0xe3, 0x78, 0xff, 0x54, 0x54, 0x9a, 0xd3, 0x2f, 0xbf, 0x08, 0x59, 0xf2, - 0x93, 0x9d, 0x72, 0x1d, 0xc3, 0xfc, 0x67, 0x9c, 0x39, 0xe0, 0x20, 0x25, 0xbb, 0x5e, 0xdb, 0x33, - 0xc6, 0x0b, 0xfb, 0x8b, 0xbc, 0xa7, 0x05, 0xfd, 0x72, 0x05, 0x72, 0xae, 0xd7, 0x6e, 0xf7, 0xb8, - 0x7f, 0x3a, 0x86, 0xfd, 0xcf, 0xbf, 0xe4, 0x87, 0x2c, 0x7c, 0x1e, 0xd2, 0xdb, 0x77, 0x6e, 0x79, - 0xb6, 0x45, 0xf7, 0x5b, 0xc6, 0x21, 0xbc, 0xc5, 0x11, 0x42, 0x2c, 0xcb, 0x35, 0xc8, 0x93, 0xb6, - 0x38, 0xd8, 0xc6, 0x74, 0x73, 0x6c, 0x0c, 0xc4, 0x5f, 0x70, 0x01, 0x44, 0x98, 0xaa, 0xdf, 0xf0, - 0xeb, 0x9f, 0x39, 0x1d, 0xfb, 0xf4, 0x67, 0x4e, 0xc7, 0x7e, 0xff, 0x33, 0xa7, 0x63, 0x1f, 0xfe, - 0xec, 0xe9, 0xa9, 0x4f, 0x7f, 0xf6, 0xf4, 0xd4, 0xef, 0x7c, 0xf6, 0xf4, 0xd4, 0xf0, 0x28, 0x31, - 0x5c, 0xb5, 0xae, 0x5a, 0x2c, 0x3e, 0xfc, 0xda, 0xc3, 0xbb, 0x86, 0xb7, 0xd7, 0xdb, 0x5e, 0xd2, - 0xad, 0xee, 0x79, 0xdd, 0x72, 0xbb, 0x96, 0x7b, 0x3e, 0x1a, 0xd7, 0xa5, 0xbf, 0xe0, 0x7f, 0xc5, - 0xc8, 0x9a, 0x39, 0x1a, 0xce, 0xd5, 0xcc, 0x83, 0x51, 0x97, 0xe9, 0x2e, 0x41, 0xa2, 0x62, 0x1e, - 0xa0, 0x93, 0xcc, 0xc0, 0xa9, 0x3d, 0xa7, 0xc3, 0x8f, 0x5a, 0xa6, 0xc9, 0xf7, 0x96, 0xd3, 0x41, - 0x73, 0xc1, 0x79, 0xe8, 0xd8, 0xd9, 0x3c, 0x3f, 0xe4, 0x5c, 0xfd, 0xce, 0xd8, 0xd1, 0x5a, 0x92, - 0xa9, 0x98, 0x07, 0xb4, 0x21, 0x9b, 0xb1, 0xd7, 0x9e, 0x18, 0x1b, 0xe7, 0xbe, 0x65, 0x5a, 0x77, - 0x4c, 0x52, 0x6d, 0x7b, 0x5b, 0xc4, 0xb8, 0x4f, 0xf7, 0xc7, 0xb8, 0xdf, 0x8b, 0x3b, 0x9d, 0x1b, - 0x84, 0xae, 0x45, 0x58, 0xb6, 0x53, 0xec, 0x54, 0x3f, 0x7c, 0x77, 0x1c, 0x4e, 0x0f, 0x84, 0xb3, - 0xb9, 0x12, 0x8c, 0x12, 0xc2, 0x32, 0x64, 0x56, 0x84, 0x6e, 0xcd, 0x43, 0xda, 0xc5, 0xba, 0x65, - 0xb6, 0x5d, 0x2a, 0x88, 0x84, 0x22, 0x3e, 0x89, 0x20, 0x4c, 0xcd, 0xb4, 0x5c, 0x7e, 0x58, 0x99, - 0x7d, 0x54, 0x3f, 0x7a, 0x44, 0x41, 0x14, 0x44, 0x49, 0x42, 0x1a, 0x4f, 0x4f, 0x28, 0x0d, 0xd1, - 0x88, 0x48, 0xe4, 0x7f, 0x52, 0xa9, 0x7c, 0x5f, 0x1c, 0x16, 0xfa, 0xa5, 0x42, 0x46, 0x96, 0xeb, - 0x69, 0x5d, 0x7b, 0x94, 0x58, 0x2e, 0x43, 0xb6, 0x25, 0x68, 0x8e, 0x2c, 0x97, 0x7b, 0x47, 0x94, - 0x4b, 0xd1, 0x2f, 0x4a, 0x08, 0xe6, 0xc2, 0x84, 0x82, 0xf1, 0xdb, 0x71, 0x5f, 0x92, 0xf9, 0x9f, - 0x29, 0x38, 0xc9, 0x86, 0x93, 0xca, 0x86, 0x12, 0xfb, 0xe0, 0x32, 0xc9, 0x87, 0xb3, 0xc6, 0xef, - 0x93, 0xc8, 0x37, 0x60, 0xb6, 0x41, 0xac, 0x05, 0x59, 0x05, 0x05, 0x3b, 0x3c, 0x43, 0xcf, 0x73, - 0x2f, 0x46, 0x1c, 0x7e, 0xbe, 0xbf, 0x15, 0x4e, 0x92, 0xbf, 0x31, 0x06, 0x52, 0x53, 0xd7, 0x3a, - 0x9a, 0xf3, 0xe5, 0x42, 0xa1, 0xe7, 0x00, 0xd8, 0x71, 0x0f, 0xff, 0xe2, 0x5e, 0xf1, 0xc2, 0xfc, - 0x52, 0xb8, 0x71, 0x4b, 0xac, 0x24, 0x7a, 0x82, 0x2a, 0x4b, 0x69, 0xc9, 0xcf, 0x73, 0xaf, 0x00, - 0x04, 0x19, 0xe8, 0x14, 0x9c, 0x68, 0xd6, 0x2a, 0xab, 0x15, 0x45, 0x1c, 0x12, 0x6a, 0x6e, 0xd6, - 0x6b, 0x8d, 0x2b, 0x8d, 0xfa, 0x8a, 0x34, 0x85, 0x8e, 0x03, 0x0a, 0x67, 0xfa, 0x87, 0x9a, 0x8e, - 0xc1, 0x4c, 0x38, 0x9d, 0xdd, 0x52, 0x89, 0x13, 0x4f, 0xd1, 0xe8, 0xda, 0x1d, 0x4c, 0x77, 0x1e, - 0x55, 0x43, 0x48, 0x6d, 0xbc, 0x13, 0xf2, 0x1b, 0xff, 0x8e, 0xdd, 0x5c, 0x98, 0x0d, 0xd8, 0x7d, - 0x99, 0x2f, 0xaf, 0xc2, 0x8c, 0xa6, 0xeb, 0xd8, 0x8e, 0x40, 0x8e, 0x31, 0xd5, 0x04, 0x90, 0xee, - 0xa5, 0x72, 0xce, 0x00, 0xed, 0x39, 0x48, 0xb9, 0xb4, 0xf5, 0xe3, 0x20, 0x7e, 0x93, 0x43, 0x70, - 0xf2, 0x65, 0x13, 0x66, 0x88, 0xe7, 0xa7, 0x39, 0x38, 0x54, 0x8d, 0xc3, 0xe3, 0x0c, 0xff, 0xf8, - 0x67, 0x9f, 0xa2, 0x3b, 0xab, 0x67, 0xa2, 0xdd, 0x32, 0x44, 0x9d, 0x14, 0x89, 0x63, 0x07, 0x15, - 0xc5, 0x50, 0x14, 0xe5, 0xf1, 0x0a, 0x1f, 0x5e, 0xd8, 0xaf, 0xf0, 0xc2, 0x4e, 0x0f, 0xd3, 0x81, - 0x50, 0x49, 0x05, 0x8e, 0xca, 0x32, 0xaa, 0xf5, 0x51, 0x63, 0xfa, 0xb5, 0xc7, 0x07, 0x67, 0x27, - 0xf6, 0xdf, 0x93, 0x14, 0xf9, 0x72, 0xb8, 0x18, 0x7f, 0xec, 0x7d, 0x34, 0x09, 0x33, 0x5a, 0xd7, - 0x30, 0xad, 0xf3, 0xf4, 0x5f, 0x3e, 0xe6, 0xa6, 0xe9, 0xc7, 0x04, 0x9b, 0x92, 0x97, 0xd8, 0x50, - 0x18, 0xaf, 0x31, 0x7f, 0xf6, 0xed, 0x3f, 0x36, 0x1d, 0x0c, 0x97, 0xe5, 0x35, 0x90, 0xc4, 0x21, - 0x5e, 0x6c, 0xea, 0x56, 0x7b, 0xa2, 0x28, 0xc5, 0x17, 0x05, 0x86, 0x88, 0x6f, 0xd5, 0x39, 0xeb, - 0xf2, 0xbb, 0x21, 0xe3, 0xc3, 0x8c, 0xf3, 0x4c, 0x04, 0x88, 0xcf, 0x41, 0xfc, 0x12, 0x36, 0x32, - 0x27, 0xf1, 0x42, 0xdf, 0x12, 0xfc, 0x6c, 0x84, 0xae, 0x93, 0xd6, 0x5c, 0x85, 0x62, 0xdb, 0x32, - 0x3d, 0xd5, 0xea, 0x1a, 0x1e, 0xee, 0xda, 0xde, 0x58, 0xbf, 0xee, 0x2f, 0x18, 0x48, 0x46, 0x29, - 0x10, 0xbe, 0x0d, 0xc1, 0x46, 0x6a, 0xc2, 0xee, 0xe9, 0x4d, 0x52, 0x93, 0xff, 0xe6, 0xd7, 0x84, - 0xf2, 0x90, 0x9a, 0xdc, 0x97, 0x76, 0xb8, 0xed, 0x5b, 0xdc, 0x98, 0x7b, 0xfb, 0x4c, 0x0b, 0x7c, - 0xed, 0xf8, 0x67, 0x49, 0x38, 0xcd, 0x89, 0xb7, 0x35, 0x17, 0x9f, 0xbf, 0xfd, 0xf4, 0x36, 0xf6, - 0xb4, 0xa7, 0xcf, 0xeb, 0x96, 0x21, 0x66, 0xf2, 0x59, 0x6e, 0xac, 0x49, 0xfe, 0x12, 0xcf, 0x2f, - 0x0f, 0xdd, 0xee, 0x2e, 0x8f, 0x36, 0xf2, 0xe5, 0x41, 0x1d, 0x94, 0x3b, 0x90, 0xac, 0x59, 0x86, - 0x49, 0xe6, 0xb6, 0x36, 0x36, 0xad, 0x2e, 0x37, 0xb7, 0xec, 0x03, 0x5d, 0x83, 0x94, 0xd6, 0xb5, - 0x7a, 0xa6, 0xc7, 0x4c, 0x6d, 0xf5, 0xa9, 0x5f, 0x7f, 0x73, 0x61, 0xea, 0x3f, 0xbe, 0xb9, 0x70, - 0x8c, 0xc1, 0xba, 0xed, 0x5b, 0x4b, 0x86, 0x75, 0xbe, 0xab, 0x79, 0x7b, 0x64, 0xf8, 0xfe, 0xf6, - 0xa7, 0x9e, 0x04, 0x5e, 0x5e, 0xc3, 0xf4, 0x3e, 0xf9, 0x47, 0x3f, 0x75, 0x2e, 0xa6, 0x70, 0xfe, - 0xe5, 0xe4, 0xe7, 0x3e, 0xbe, 0x10, 0x93, 0x6d, 0x48, 0xaf, 0x60, 0xfd, 0x90, 0x02, 0x1b, 0x7d, - 0x05, 0x3e, 0xcd, 0x0b, 0x3c, 0x35, 0x58, 0x20, 0x3b, 0xb0, 0xb7, 0x82, 0xf5, 0x50, 0xb1, 0x2b, - 0x58, 0xef, 0x2b, 0xb1, 0x01, 0x99, 0x86, 0xe9, 0xb1, 0xcb, 0x46, 0x2f, 0x42, 0xc2, 0x30, 0xd9, - 0xf9, 0xf5, 0x6c, 0xf5, 0xf1, 0x23, 0x34, 0x45, 0x21, 0x7c, 0xf2, 0x06, 0x64, 0x56, 0xb0, 0xce, - 0xa0, 0x6a, 0x90, 0x68, 0x63, 0x9d, 0x43, 0xdd, 0x47, 0x25, 0x09, 0x77, 0x75, 0xe5, 0x77, 0xfe, - 0xe0, 0xf4, 0xd4, 0x07, 0x3e, 0x73, 0x7a, 0x6a, 0xa4, 0x3a, 0xc9, 0xe3, 0xd5, 0xc9, 0xd7, 0xa2, - 0x1f, 0x4b, 0xc2, 0x83, 0xf4, 0xb6, 0xaa, 0xd3, 0x35, 0x4c, 0xef, 0xbc, 0xee, 0x1c, 0xd8, 0x9e, - 0x45, 0x8c, 0x8a, 0xb5, 0xc3, 0x95, 0x68, 0x26, 0xc8, 0x5e, 0x62, 0xd9, 0xc3, 0x55, 0x48, 0xde, - 0x81, 0xe9, 0x4d, 0xc2, 0x47, 0x3a, 0xc9, 0xb3, 0x3c, 0xad, 0xc3, 0x3d, 0x21, 0xf6, 0x41, 0x52, - 0xd9, 0x0d, 0xd7, 0x38, 0x4b, 0x35, 0xc4, 0xe5, 0xd6, 0x0e, 0xd6, 0x76, 0xd8, 0x45, 0xa1, 0x04, - 0x75, 0xa1, 0x33, 0x24, 0x81, 0xde, 0x09, 0x9a, 0x83, 0x69, 0xad, 0xc7, 0x0e, 0xf3, 0x24, 0x88, - 0x6f, 0x4d, 0x3f, 0xe4, 0x1b, 0x90, 0xe6, 0x7b, 0xfa, 0x48, 0x82, 0xc4, 0x2d, 0x7c, 0x40, 0xcb, - 0xc9, 0x2b, 0xe4, 0x27, 0x5a, 0x82, 0x69, 0x5a, 0x79, 0x7e, 0x03, 0x72, 0x7e, 0x69, 0xa0, 0xf6, - 0x4b, 0xb4, 0x92, 0x0a, 0x23, 0x93, 0xaf, 0x43, 0x66, 0xc5, 0x22, 0x9a, 0x1d, 0x45, 0xcb, 0x32, - 0x34, 0x5a, 0x67, 0xbb, 0xc7, 0xf5, 0x4a, 0x61, 0x1f, 0xe8, 0x38, 0xa4, 0xd8, 0xc5, 0x31, 0x7e, - 0x20, 0x89, 0x7f, 0xc9, 0x35, 0x48, 0x53, 0xec, 0x0d, 0x9b, 0xb8, 0x21, 0xfe, 0x59, 0xfa, 0x2c, - 0xbf, 0x46, 0xcc, 0xe1, 0xe3, 0x41, 0x65, 0x11, 0x24, 0xdb, 0x9a, 0xa7, 0xf1, 0x76, 0xd3, 0xdf, - 0xf2, 0x7b, 0x20, 0xc3, 0x41, 0x5c, 0x74, 0x01, 0x12, 0x96, 0xed, 0xf2, 0x23, 0x45, 0xe5, 0x51, - 0x4d, 0xd9, 0xb0, 0xab, 0x49, 0xa2, 0x4b, 0x0a, 0x21, 0xae, 0xae, 0x8f, 0x54, 0x8b, 0x67, 0x23, - 0x6a, 0xd1, 0xc5, 0xde, 0xf6, 0x8e, 0x17, 0xfc, 0x60, 0xdd, 0x39, 0xa0, 0x0a, 0xbe, 0xa2, 0xdc, - 0x8b, 0xc3, 0xe9, 0x50, 0xee, 0x6d, 0xec, 0xb8, 0x86, 0x65, 0x32, 0x6d, 0xe2, 0x9a, 0x82, 0x42, - 0x15, 0xe4, 0xf9, 0x23, 0x54, 0xe5, 0x45, 0x48, 0x54, 0x6c, 0x1b, 0x95, 0x21, 0x43, 0xbf, 0x75, - 0x8b, 0xe9, 0x4a, 0x52, 0xf1, 0xbf, 0x49, 0x9e, 0x6b, 0xed, 0x78, 0x77, 0x34, 0xc7, 0xbf, 0x57, - 0x2d, 0xbe, 0xe5, 0x17, 0x20, 0x5b, 0xb3, 0x4c, 0x17, 0x9b, 0x6e, 0x8f, 0xfa, 0xd7, 0xdb, 0x1d, - 0x4b, 0xbf, 0xc5, 0x11, 0xd8, 0x07, 0x11, 0xb6, 0x66, 0xdb, 0x94, 0x33, 0xa9, 0x90, 0x9f, 0x6c, - 0x64, 0x57, 0x37, 0x46, 0x8a, 0xe7, 0xe2, 0xd1, 0xc4, 0xc3, 0x1b, 0x18, 0x38, 0xca, 0x31, 0x78, - 0x60, 0x70, 0x20, 0xdd, 0xc2, 0x07, 0xee, 0x51, 0xc7, 0xd1, 0x2b, 0x90, 0xdd, 0xa4, 0x4f, 0x9e, - 0xdc, 0xc0, 0x07, 0xa8, 0x0c, 0x69, 0xdc, 0xbe, 0x70, 0xf1, 0xe2, 0xd3, 0x2f, 0x30, 0x2d, 0xbf, - 0x36, 0xa5, 0x88, 0x04, 0x74, 0x1a, 0xb2, 0x2e, 0xd6, 0xed, 0x0b, 0x17, 0x2f, 0xdd, 0x7a, 0x9a, - 0xa9, 0xd5, 0xb5, 0x29, 0x25, 0x48, 0x5a, 0xce, 0x90, 0x16, 0x7f, 0xee, 0x13, 0x0b, 0xb1, 0xea, - 0x34, 0x24, 0xdc, 0x5e, 0xf7, 0x1d, 0xd3, 0x8d, 0x3f, 0x4d, 0xc1, 0x62, 0x28, 0x97, 0x4d, 0x58, - 0xb7, 0xb5, 0x8e, 0xd1, 0xd6, 0x82, 0x87, 0x6a, 0xa4, 0x50, 0xfb, 0x29, 0xc5, 0x88, 0x99, 0xe8, - 0x50, 0x29, 0xca, 0x3f, 0x13, 0x83, 0xfc, 0x4d, 0x81, 0xdc, 0xc4, 0x1e, 0xba, 0x0c, 0xe0, 0x97, - 0x24, 0x86, 0xca, 0xa9, 0xa5, 0xfe, 0xb2, 0x96, 0x7c, 0x1e, 0x25, 0x44, 0x8e, 0x9e, 0xa3, 0x0a, - 0x68, 0x5b, 0x2e, 0xbf, 0x63, 0x3b, 0x86, 0xd5, 0x27, 0x46, 0x4f, 0x00, 0xa2, 0x56, 0x4d, 0xbd, - 0x6d, 0x79, 0x86, 0xb9, 0xab, 0xda, 0xd6, 0x1d, 0xfe, 0x72, 0x41, 0x42, 0x91, 0x68, 0xce, 0x4d, - 0x9a, 0xb1, 0x49, 0xd2, 0x49, 0xa5, 0xb3, 0x3e, 0x0a, 0x59, 0x2a, 0x6a, 0xed, 0xb6, 0x83, 0x5d, - 0x97, 0x1b, 0x2e, 0xf1, 0x89, 0x2e, 0x43, 0xda, 0xee, 0x6d, 0xab, 0xc2, 0x4a, 0xe4, 0x2e, 0x3c, - 0x30, 0x6c, 0xcc, 0x0b, 0xdd, 0xe0, 0xa3, 0x3e, 0x65, 0xf7, 0xb6, 0x89, 0xa6, 0x9c, 0x81, 0xfc, - 0x90, 0xca, 0xe4, 0x6e, 0x07, 0xf5, 0xa0, 0xaf, 0xec, 0xf0, 0x16, 0xa8, 0xb6, 0x63, 0x58, 0x8e, - 0xe1, 0x1d, 0xd0, 0xa3, 0x80, 0x09, 0x45, 0x12, 0x19, 0x9b, 0x3c, 0x5d, 0xbe, 0x05, 0xa5, 0x26, - 0x5d, 0x42, 0x04, 0x35, 0xbf, 0x18, 0xd4, 0x2f, 0x36, 0xbe, 0x7e, 0x23, 0x6b, 0x16, 0x1f, 0xa8, - 0xd9, 0xb9, 0x7f, 0x1f, 0x83, 0x5c, 0x95, 0x0c, 0xdc, 0xc6, 0xca, 0x95, 0x8e, 0xb6, 0x8b, 0x9e, - 0x86, 0x63, 0xd5, 0xd5, 0x8d, 0xda, 0x0d, 0xb5, 0xb1, 0xa2, 0x5e, 0x59, 0xad, 0x5c, 0x0d, 0xce, - 0x1e, 0x97, 0x8f, 0xdf, 0xbd, 0xb7, 0x88, 0x42, 0xb4, 0x5b, 0x26, 0x5d, 0xe7, 0xa2, 0xf3, 0x30, - 0x17, 0x65, 0xa9, 0x54, 0x9b, 0xf5, 0xf5, 0x96, 0x14, 0x2b, 0x1f, 0xbb, 0x7b, 0x6f, 0x71, 0x26, - 0xc4, 0x51, 0xd9, 0x76, 0xb1, 0xe9, 0x0d, 0x32, 0xd4, 0x36, 0xd6, 0xd6, 0x1a, 0x2d, 0x29, 0x3e, - 0xc0, 0x50, 0xb3, 0xba, 0x5d, 0xc3, 0x43, 0x8f, 0xc1, 0x4c, 0x94, 0x61, 0xbd, 0xb1, 0x2a, 0x25, - 0xca, 0xe8, 0xee, 0xbd, 0xc5, 0x62, 0x88, 0x7a, 0xdd, 0xe8, 0x94, 0x33, 0x1f, 0xfa, 0x91, 0xd3, - 0x53, 0x9f, 0xfc, 0x3b, 0xa7, 0x63, 0xd5, 0xb5, 0x91, 0x63, 0xee, 0x99, 0xa3, 0x8d, 0xb9, 0xe8, - 0xbc, 0xfd, 0xa5, 0x07, 0x22, 0xe6, 0x86, 0xfb, 0x88, 0x21, 0x63, 0x3c, 0xe9, 0x70, 0x1b, 0x17, - 0xf7, 0x28, 0x1f, 0xee, 0x1e, 0x94, 0xc7, 0x4c, 0x0a, 0xe5, 0xb1, 0x86, 0x41, 0x7e, 0x01, 0x0a, - 0x9b, 0x9a, 0xe3, 0x35, 0xb1, 0x77, 0x0d, 0x6b, 0x6d, 0xec, 0x44, 0xfd, 0x87, 0x82, 0xf0, 0x1f, - 0x10, 0x24, 0xa9, 0x93, 0xc0, 0xe6, 0x4f, 0xfa, 0x5b, 0xde, 0x83, 0x24, 0x3d, 0xe5, 0xec, 0xfb, - 0x16, 0x9c, 0x83, 0xf9, 0x16, 0x64, 0x66, 0x38, 0xf0, 0xb0, 0x2b, 0x42, 0x73, 0xf4, 0x03, 0x3d, - 0x2b, 0x3c, 0x84, 0xc4, 0xe1, 0x1e, 0x02, 0x1f, 0x5e, 0xdc, 0x4f, 0xe8, 0x40, 0x9a, 0x77, 0xb1, - 0x5f, 0x91, 0x58, 0x50, 0x11, 0xb4, 0x06, 0x25, 0x5b, 0x73, 0x3c, 0x7a, 0xeb, 0x71, 0x8f, 0xb6, - 0x82, 0x8f, 0xe0, 0x85, 0x41, 0x7b, 0x12, 0x69, 0x2c, 0x2f, 0xa5, 0x60, 0x87, 0x13, 0xe5, 0xff, - 0x94, 0x84, 0x14, 0x17, 0xc6, 0x8b, 0x90, 0xe6, 0x62, 0xe5, 0x63, 0xee, 0xc1, 0xa5, 0xc1, 0x69, - 0x76, 0xc9, 0x9f, 0x0e, 0x39, 0x9e, 0xe0, 0x41, 0x8f, 0x40, 0x46, 0xdf, 0xd3, 0x0c, 0x53, 0x35, - 0xda, 0xdc, 0x39, 0xce, 0x7d, 0xe6, 0xcd, 0x85, 0x74, 0x8d, 0xa4, 0x35, 0x56, 0x94, 0x34, 0xcd, - 0x6c, 0xb4, 0x89, 0x4f, 0xb3, 0x87, 0x8d, 0xdd, 0x3d, 0x8f, 0xdb, 0x0d, 0xfe, 0x85, 0x9e, 0x87, - 0x24, 0x51, 0x08, 0x7e, 0x27, 0xbe, 0x3c, 0xb0, 0xea, 0xf1, 0xc3, 0x52, 0xd5, 0x0c, 0x29, 0xf8, - 0xc3, 0xbf, 0xb7, 0x10, 0x53, 0x28, 0x07, 0xaa, 0x41, 0xa1, 0xa3, 0xb9, 0x9e, 0x4a, 0xe7, 0x63, - 0x52, 0xfc, 0x34, 0x85, 0x38, 0x39, 0x28, 0x10, 0x2e, 0x58, 0x5e, 0xf5, 0x1c, 0xe1, 0x62, 0x49, - 0x6d, 0x74, 0x16, 0x24, 0x0a, 0xa2, 0xd3, 0x11, 0xc8, 0xbc, 0xc4, 0x14, 0x95, 0x7b, 0x91, 0xa4, - 0xb3, 0x81, 0x49, 0x7d, 0xc5, 0x53, 0x90, 0xa5, 0xb7, 0x70, 0x29, 0x09, 0x3b, 0x5a, 0x9f, 0x21, - 0x09, 0x34, 0xf3, 0x51, 0x28, 0x05, 0x56, 0x9f, 0x91, 0x64, 0x18, 0x4a, 0x90, 0x4c, 0x09, 0x9f, - 0x82, 0x39, 0x13, 0xef, 0xd3, 0xc3, 0xfe, 0x11, 0xea, 0x2c, 0xa5, 0x46, 0x24, 0xef, 0x66, 0x94, - 0xe3, 0x61, 0x28, 0xea, 0x42, 0xf8, 0x8c, 0x16, 0x28, 0x6d, 0xc1, 0x4f, 0xa5, 0x64, 0x27, 0x21, - 0xa3, 0xd9, 0x36, 0x23, 0xc8, 0x71, 0xab, 0x6f, 0xdb, 0x34, 0xeb, 0x1c, 0xcc, 0xd0, 0x36, 0x3a, - 0xd8, 0xed, 0x75, 0x3c, 0x0e, 0x92, 0xa7, 0x34, 0x25, 0x92, 0xa1, 0xb0, 0x74, 0x4a, 0xfb, 0x10, - 0x14, 0xf0, 0x6d, 0xa3, 0x8d, 0x4d, 0x1d, 0x33, 0xba, 0x02, 0xa5, 0xcb, 0x8b, 0x44, 0x4a, 0xf4, - 0x18, 0xf8, 0xd6, 0x5c, 0x15, 0x33, 0x4d, 0x91, 0xe1, 0x89, 0xf4, 0x0a, 0x4b, 0x96, 0xe7, 0x21, - 0xb9, 0xa2, 0x79, 0x1a, 0x71, 0x97, 0xbc, 0x7d, 0x36, 0x7d, 0xe6, 0x15, 0xf2, 0x53, 0xfe, 0xf9, - 0x04, 0x24, 0x6f, 0x5a, 0x1e, 0x46, 0xcf, 0x84, 0x5c, 0xd9, 0xe2, 0x30, 0x7d, 0x6e, 0x1a, 0xbb, - 0x26, 0x6e, 0xaf, 0xb9, 0xbb, 0xa1, 0x27, 0x73, 0x02, 0x75, 0x8a, 0x47, 0xd4, 0x69, 0x0e, 0xa6, - 0x1d, 0xab, 0x67, 0xb6, 0xc5, 0xa1, 0x74, 0xfa, 0x81, 0xea, 0x90, 0xf1, 0xb5, 0x24, 0x39, 0x4e, - 0x4b, 0x4a, 0x44, 0x4b, 0x88, 0x0e, 0xf3, 0x04, 0x25, 0xbd, 0xcd, 0x95, 0xa5, 0x0a, 0x59, 0xdf, - 0x78, 0x71, 0x6d, 0x9b, 0x4c, 0x61, 0x03, 0x36, 0x32, 0x45, 0xfa, 0x7d, 0xef, 0x0b, 0x8f, 0x69, - 0x9c, 0xe4, 0x67, 0x70, 0xe9, 0x45, 0xd4, 0x8a, 0x3f, 0xdf, 0x93, 0xa6, 0xed, 0x0a, 0xd4, 0x8a, - 0x3d, 0xe1, 0xf3, 0x00, 0x64, 0x5d, 0x63, 0xd7, 0xd4, 0xbc, 0x9e, 0x83, 0xb9, 0xe6, 0x05, 0x09, - 0x24, 0x37, 0xb8, 0xa0, 0xc1, 0x34, 0x2d, 0xf4, 0xaa, 0xd8, 0x79, 0x98, 0x0d, 0xde, 0xf3, 0x0a, - 0x50, 0x98, 0x96, 0x21, 0x3f, 0xab, 0x29, 0x72, 0xe4, 0x5f, 0x8d, 0x41, 0x8a, 0xcf, 0x58, 0x41, - 0x37, 0xc4, 0x86, 0x77, 0x43, 0x7c, 0x54, 0x37, 0x24, 0xee, 0xbf, 0x1b, 0x2a, 0x00, 0x7e, 0x35, - 0x5d, 0xfe, 0x48, 0xcb, 0x10, 0xb7, 0x8a, 0x55, 0xb1, 0x69, 0xec, 0xf2, 0x71, 0x1f, 0x62, 0x92, - 0x7f, 0x37, 0x46, 0x3c, 0x7c, 0x9e, 0x8f, 0x2a, 0x50, 0x10, 0xf5, 0x52, 0x77, 0x3a, 0xda, 0x2e, - 0x57, 0xc5, 0x07, 0x47, 0x56, 0x8e, 0xcc, 0xc2, 0x4a, 0x8e, 0xd7, 0x87, 0xfa, 0x13, 0x43, 0xbb, - 0x35, 0x3e, 0xa2, 0x5b, 0x23, 0x7a, 0x94, 0xb8, 0x3f, 0x3d, 0x8a, 0xf4, 0x78, 0xb2, 0xaf, 0xc7, - 0xe5, 0x3f, 0x88, 0xf1, 0xd7, 0xc4, 0xda, 0xec, 0x76, 0xc9, 0x5f, 0x56, 0x57, 0xbd, 0xc6, 0x75, - 0xab, 0x8d, 0xdb, 0xea, 0x40, 0x9f, 0x3d, 0x34, 0x88, 0x18, 0xad, 0x73, 0xd0, 0x77, 0x48, 0xa0, - 0x34, 0x83, 0x3e, 0xfc, 0x54, 0x1c, 0x66, 0x06, 0xe8, 0xff, 0xea, 0xf5, 0x65, 0x74, 0xf4, 0x4e, - 0x4f, 0x38, 0x7a, 0x53, 0x23, 0x47, 0xef, 0xcf, 0xc6, 0x69, 0x00, 0xc0, 0xb6, 0x5c, 0xad, 0xf3, - 0x95, 0xb0, 0xbd, 0xa7, 0x20, 0x6b, 0x5b, 0x1d, 0x95, 0xe5, 0xb0, 0x6b, 0x41, 0x19, 0xdb, 0xea, - 0x28, 0x03, 0x6a, 0x36, 0xfd, 0x36, 0x19, 0xe6, 0xd4, 0xdb, 0xd0, 0x09, 0xe9, 0xfe, 0x01, 0xe5, - 0x40, 0x9e, 0x89, 0x82, 0x7b, 0x4d, 0x4f, 0x11, 0x19, 0x50, 0x37, 0x2c, 0x36, 0xe8, 0xe5, 0xb1, - 0x6a, 0x33, 0x4a, 0x85, 0xd3, 0x11, 0x0e, 0xe6, 0x64, 0x0c, 0x8b, 0x1c, 0x85, 0x2d, 0x96, 0xc2, - 0xe9, 0xe4, 0xef, 0x8d, 0x01, 0xac, 0x12, 0xc9, 0xd2, 0xf6, 0x12, 0x7f, 0xc7, 0xa5, 0x55, 0x50, - 0x23, 0x25, 0x9f, 0x1e, 0xd5, 0x69, 0xbc, 0xfc, 0xbc, 0x1b, 0xae, 0x77, 0x0d, 0x0a, 0x81, 0x6e, - 0xbb, 0x58, 0x54, 0xe6, 0xf4, 0x21, 0xab, 0xd2, 0x26, 0xf6, 0x94, 0xfc, 0xed, 0xd0, 0x97, 0xfc, - 0x4f, 0x63, 0x90, 0xa5, 0x75, 0x5a, 0xc3, 0x9e, 0x16, 0xe9, 0xc3, 0xd8, 0xfd, 0xf7, 0xe1, 0x83, - 0x00, 0x0c, 0xc6, 0x35, 0xde, 0xc0, 0x5c, 0xb3, 0xb2, 0x34, 0xa5, 0x69, 0xbc, 0x81, 0xd1, 0x25, - 0x5f, 0xe0, 0x89, 0xc3, 0x05, 0x2e, 0x56, 0xad, 0x5c, 0xec, 0x27, 0x20, 0x4d, 0xdf, 0xbb, 0xdc, - 0x77, 0xf9, 0x42, 0x34, 0x65, 0xf6, 0xba, 0xad, 0x7d, 0x57, 0x7e, 0x1d, 0xd2, 0xad, 0x7d, 0x16, - 0x4f, 0x3c, 0x05, 0x59, 0xc7, 0xb2, 0xb8, 0xf7, 0xc7, 0xbc, 0xee, 0x0c, 0x49, 0xa0, 0xce, 0x8e, - 0x88, 0xa1, 0xc5, 0x83, 0x18, 0x5a, 0x10, 0x04, 0x4c, 0x4c, 0x14, 0x04, 0x24, 0xab, 0xcf, 0x42, - 0x64, 0x24, 0xa1, 0x27, 0xe0, 0x44, 0xb3, 0x71, 0x75, 0xbd, 0xbe, 0xa2, 0xae, 0x35, 0xaf, 0xf6, - 0x5d, 0xf9, 0x2f, 0x97, 0xee, 0xde, 0x5b, 0xcc, 0xf1, 0x65, 0xe7, 0x28, 0xea, 0x4d, 0xa5, 0x7e, - 0x73, 0xa3, 0x55, 0x97, 0x62, 0x8c, 0x7a, 0xd3, 0xc1, 0xb7, 0x2d, 0x8f, 0x3d, 0x28, 0xfb, 0x14, - 0x9c, 0x1c, 0x42, 0xed, 0x2f, 0x3e, 0x67, 0xee, 0xde, 0x5b, 0x2c, 0x6c, 0x3a, 0x98, 0x69, 0x19, - 0xe5, 0x58, 0x82, 0xf9, 0x41, 0x8e, 0x8d, 0xcd, 0x8d, 0x66, 0x65, 0x55, 0x5a, 0x2c, 0x4b, 0x77, - 0xef, 0x2d, 0xe6, 0x85, 0xc9, 0x20, 0xf4, 0xef, 0xfc, 0xea, 0xf3, 0x5b, 0x33, 0x91, 0xa8, 0x31, - 0x5b, 0xd7, 0xd9, 0x9a, 0xa3, 0x75, 0x8f, 0xba, 0xfc, 0x1c, 0x73, 0x18, 0x41, 0xfe, 0x99, 0x38, - 0x94, 0xfc, 0xc5, 0xcd, 0x26, 0x2d, 0x01, 0x3d, 0x13, 0x8e, 0xf8, 0xe5, 0x46, 0xce, 0x1d, 0x8c, - 0x5a, 0x04, 0x04, 0xdf, 0x0d, 0x19, 0xe1, 0x24, 0xf3, 0x41, 0xb5, 0x38, 0x64, 0x7e, 0xe3, 0x14, - 0x9c, 0xd5, 0xe7, 0x40, 0x2f, 0x41, 0xd6, 0x1f, 0x62, 0xfe, 0xa3, 0x6b, 0xa3, 0xc7, 0x24, 0xe7, - 0x0f, 0x78, 0xd0, 0x0b, 0xc1, 0x32, 0x2e, 0x39, 0x6a, 0x61, 0x78, 0x93, 0x11, 0x70, 0x66, 0x7f, - 0x09, 0xf7, 0x14, 0x24, 0xb5, 0x6d, 0xdd, 0xe0, 0x06, 0xf8, 0x81, 0x41, 0xbe, 0x4a, 0xb5, 0xd6, - 0xe0, 0x4c, 0x94, 0x52, 0x6e, 0xf0, 0x60, 0x0a, 0x97, 0x17, 0x7d, 0xe2, 0x66, 0x5f, 0x65, 0x6b, - 0x61, 0xe6, 0x5d, 0x64, 0xba, 0xda, 0x7e, 0x95, 0x2e, 0x87, 0x4f, 0x40, 0x9a, 0x64, 0xee, 0xf2, - 0x47, 0x14, 0x12, 0x4a, 0xaa, 0xab, 0xed, 0x5f, 0xd5, 0xdc, 0xeb, 0xc9, 0x4c, 0x42, 0x4a, 0xca, - 0x3f, 0x41, 0x3c, 0x95, 0x88, 0x54, 0xd0, 0xe3, 0x80, 0x08, 0x87, 0xb6, 0x8b, 0x55, 0x32, 0x74, - 0xa9, 0x78, 0x05, 0x6e, 0xa9, 0xab, 0xed, 0x57, 0x76, 0xf1, 0x7a, 0xaf, 0x4b, 0x2b, 0xe0, 0xa2, - 0x35, 0x90, 0x04, 0xb1, 0xe8, 0x59, 0x2e, 0xfe, 0x93, 0x83, 0x8f, 0xb6, 0x72, 0x02, 0x36, 0x01, - 0x7c, 0x84, 0x4c, 0x00, 0x45, 0x86, 0xe7, 0x1f, 0x3f, 0x89, 0x34, 0x25, 0x11, 0x6d, 0x8a, 0xfc, - 0x12, 0x94, 0xfa, 0x7a, 0x00, 0xc9, 0x50, 0xe0, 0x11, 0x2b, 0xba, 0xb5, 0xcf, 0x56, 0x38, 0x59, - 0x25, 0xc7, 0x22, 0x53, 0xf4, 0xa8, 0xc3, 0x72, 0xe6, 0x17, 0x3e, 0xbe, 0x10, 0xa3, 0xdb, 0x3e, - 0x8f, 0x43, 0x21, 0xd2, 0x07, 0x22, 0x8a, 0x1c, 0x0b, 0xa2, 0xc8, 0x01, 0xf1, 0x6b, 0x90, 0x27, - 0x06, 0x08, 0xb7, 0x39, 0xed, 0x23, 0x50, 0x62, 0x06, 0xb2, 0x5f, 0xd6, 0xcc, 0xe1, 0x59, 0x13, - 0x02, 0x97, 0x85, 0x07, 0x14, 0x15, 0x7b, 0x4e, 0x50, 0x5d, 0xd5, 0x5c, 0x79, 0x03, 0x20, 0xe8, - 0x54, 0x54, 0x81, 0x07, 0x89, 0xf1, 0x08, 0x1f, 0x45, 0xe5, 0xcf, 0x6d, 0x45, 0x3c, 0xc6, 0x32, - 0x21, 0x0a, 0x8e, 0x9b, 0xb2, 0x47, 0xb7, 0xae, 0x51, 0x8a, 0xea, 0xcb, 0x9f, 0xfc, 0xcc, 0xe9, - 0xd8, 0x3b, 0x63, 0x0b, 0xfe, 0xc3, 0xab, 0x70, 0x2a, 0x94, 0x49, 0x14, 0x30, 0x12, 0x88, 0x2a, - 0x85, 0xf4, 0x95, 0x64, 0x8e, 0x0b, 0x28, 0x1d, 0x1a, 0xff, 0x2d, 0x1f, 0x6e, 0x76, 0xc6, 0x47, - 0x9b, 0xc6, 0xc7, 0xbb, 0x86, 0x07, 0xe5, 0xff, 0x49, 0x16, 0xd2, 0x0a, 0x7e, 0x7f, 0x0f, 0xbb, - 0x1e, 0xba, 0x00, 0x49, 0xac, 0xef, 0x59, 0xc3, 0x62, 0xa0, 0xa4, 0x81, 0x4b, 0x9c, 0xae, 0xae, - 0xef, 0x59, 0xd7, 0xa6, 0x14, 0x4a, 0x8b, 0x2e, 0xc2, 0xf4, 0x4e, 0xa7, 0xc7, 0xc3, 0x57, 0x7d, - 0x36, 0x2b, 0xcc, 0x74, 0x85, 0x10, 0x5d, 0x9b, 0x52, 0x18, 0x35, 0x29, 0x8a, 0xbe, 0xb6, 0x9d, - 0x38, 0xbc, 0xa8, 0x86, 0xb9, 0x43, 0x8b, 0x22, 0xb4, 0xa8, 0x0a, 0x60, 0x98, 0x86, 0xa7, 0xd2, - 0xd0, 0x0e, 0xb7, 0x1a, 0x67, 0x46, 0x73, 0x1a, 0x1e, 0x0d, 0x06, 0x5d, 0x9b, 0x52, 0xb2, 0x86, - 0xf8, 0x20, 0xd5, 0x7d, 0x7f, 0x0f, 0x3b, 0x07, 0xdc, 0x5b, 0x1b, 0x59, 0xdd, 0x97, 0x09, 0x11, - 0xa9, 0x2e, 0xa5, 0x26, 0x46, 0x96, 0x3d, 0xdc, 0xe7, 0xed, 0xf3, 0xe7, 0x68, 0x17, 0x46, 0x71, - 0xd2, 0xd7, 0xfb, 0x5a, 0xfb, 0xd7, 0xa6, 0x94, 0xb4, 0xce, 0x7e, 0xa2, 0xe7, 0x7d, 0x17, 0x2c, - 0x37, 0xe8, 0xf5, 0x44, 0x78, 0x59, 0xd8, 0x67, 0x4a, 0xb8, 0x62, 0x68, 0x1d, 0x8a, 0x1d, 0xc3, - 0xf5, 0x54, 0xd7, 0xd4, 0x6c, 0x77, 0xcf, 0xf2, 0x5c, 0x1a, 0x3f, 0xc9, 0x5d, 0x78, 0x78, 0x14, - 0xc2, 0xaa, 0xe1, 0x7a, 0x4d, 0x41, 0x7c, 0x6d, 0x4a, 0x29, 0x74, 0xc2, 0x09, 0x04, 0xcf, 0xda, - 0xd9, 0xc1, 0x8e, 0x0f, 0x48, 0xe3, 0x2c, 0x87, 0xe0, 0x6d, 0x10, 0x6a, 0xc1, 0x4f, 0xf0, 0xac, - 0x70, 0x02, 0xfa, 0x5a, 0x98, 0xed, 0x58, 0x5a, 0xdb, 0x87, 0x53, 0xf5, 0xbd, 0x9e, 0x79, 0x8b, - 0x06, 0x65, 0x72, 0x17, 0x1e, 0x1b, 0x59, 0x49, 0x4b, 0x6b, 0x0b, 0x88, 0x1a, 0x61, 0xb8, 0x36, - 0xa5, 0xcc, 0x74, 0xfa, 0x13, 0xd1, 0xfb, 0x60, 0x4e, 0xb3, 0xed, 0xce, 0x41, 0x3f, 0x7a, 0x89, - 0xa2, 0x9f, 0x1b, 0x85, 0x5e, 0x21, 0x3c, 0xfd, 0xf0, 0x48, 0x1b, 0x48, 0x45, 0x2d, 0x90, 0x6c, - 0x07, 0xd3, 0xdb, 0x5c, 0x36, 0xf7, 0x32, 0xe8, 0x5b, 0x57, 0xb9, 0x0b, 0x8f, 0x8e, 0xc2, 0xde, - 0x64, 0xf4, 0xc2, 0x29, 0xb9, 0x36, 0xa5, 0x94, 0xec, 0x68, 0x12, 0x43, 0xb5, 0x74, 0x4c, 0x9f, - 0xe2, 0xe3, 0xa8, 0x33, 0xe3, 0x50, 0x29, 0x7d, 0x14, 0x35, 0x92, 0x84, 0xea, 0x90, 0x63, 0x4b, - 0x51, 0x95, 0x18, 0x43, 0xfa, 0x42, 0x56, 0xee, 0x82, 0x3c, 0x72, 0x84, 0x52, 0xd2, 0x9b, 0x96, - 0x87, 0xaf, 0x4d, 0x29, 0x80, 0xfd, 0x2f, 0xa4, 0xc1, 0x31, 0xfa, 0x58, 0xd8, 0x81, 0x1a, 0x35, - 0xbc, 0xf3, 0xb3, 0x14, 0xf0, 0xf1, 0x51, 0x80, 0x37, 0x29, 0xd3, 0xcd, 0xb0, 0x1d, 0xbe, 0x36, - 0xa5, 0xcc, 0xde, 0x1e, 0x4c, 0x26, 0x2a, 0xb6, 0x63, 0x98, 0x5a, 0xc7, 0x78, 0x03, 0xb3, 0x29, - 0x94, 0x3e, 0x93, 0x79, 0x88, 0x8a, 0x5d, 0xe1, 0xd4, 0x74, 0x62, 0x25, 0x2a, 0xb6, 0x13, 0x4e, - 0xa8, 0xa6, 0xf9, 0x39, 0x54, 0xff, 0xd9, 0xb7, 0xb4, 0x94, 0x61, 0x4f, 0xbd, 0x5d, 0x4f, 0x66, - 0x40, 0xca, 0xc9, 0x8f, 0x42, 0x2e, 0x64, 0x98, 0xd0, 0x3c, 0xa4, 0xf9, 0x49, 0x1d, 0x71, 0xa2, - 0x95, 0x7f, 0xca, 0x45, 0xc8, 0x87, 0x8d, 0x91, 0xfc, 0xe1, 0x98, 0xcf, 0x49, 0xdf, 0xbb, 0x98, - 0x8f, 0x46, 0xa4, 0xb3, 0x81, 0xa7, 0xf2, 0x90, 0x98, 0xda, 0x44, 0x3e, 0xdb, 0x7e, 0xcd, 0xd3, - 0x44, 0x3e, 0xb3, 0xa2, 0x05, 0xc8, 0xd9, 0x17, 0x6c, 0x9f, 0x24, 0x41, 0x49, 0xc0, 0xbe, 0x60, - 0x0b, 0x82, 0x33, 0x90, 0x27, 0xed, 0x56, 0xc3, 0xfe, 0x52, 0x56, 0xc9, 0x91, 0x34, 0x4e, 0x22, - 0xff, 0xeb, 0x38, 0x48, 0xfd, 0x06, 0xcc, 0x0f, 0x55, 0xc7, 0x8e, 0x1c, 0xaa, 0x3e, 0xd9, 0x1f, - 0x24, 0x0f, 0xe2, 0xe2, 0xab, 0x20, 0x05, 0xe1, 0x5d, 0x36, 0xd5, 0x8c, 0xf6, 0xff, 0xfa, 0x1c, - 0x55, 0xa5, 0xa4, 0xf7, 0x79, 0xae, 0x57, 0x22, 0x9b, 0x95, 0xe2, 0xcf, 0x51, 0xf4, 0x77, 0xb8, - 0xef, 0xc4, 0x6c, 0xd9, 0x6d, 0xcd, 0xc3, 0x22, 0x3e, 0x16, 0xda, 0xb7, 0x7c, 0x04, 0x4a, 0x9a, - 0x6d, 0xab, 0xae, 0xa7, 0x79, 0x98, 0xfb, 0x1a, 0x2c, 0xf2, 0x50, 0xd0, 0x6c, 0xbb, 0x49, 0x52, - 0x99, 0xaf, 0xf1, 0x30, 0x14, 0x89, 0x4d, 0x37, 0xb4, 0x8e, 0x70, 0x15, 0x52, 0xcc, 0x25, 0xe1, - 0xa9, 0xcc, 0x3b, 0x90, 0xdb, 0x7e, 0x8f, 0x53, 0x7b, 0xee, 0xaf, 0xa9, 0x62, 0xa1, 0x35, 0x15, - 0xe2, 0xef, 0x90, 0x30, 0xf9, 0x88, 0xb7, 0x5b, 0x86, 0x6f, 0x1a, 0xcc, 0xd1, 0xf5, 0xd7, 0x6d, - 0x16, 0x2c, 0xc9, 0x28, 0xec, 0x43, 0x56, 0xa0, 0x18, 0xb5, 0xfd, 0xa8, 0x08, 0x71, 0x6f, 0x9f, - 0x97, 0x12, 0xf7, 0xf6, 0x89, 0xa7, 0xeb, 0xbf, 0xde, 0x5b, 0x1c, 0x32, 0xdb, 0x71, 0xbe, 0x20, - 0xd6, 0x21, 0x97, 0xa0, 0x10, 0x99, 0x13, 0xe4, 0xe3, 0x30, 0x37, 0xcc, 0xc4, 0xcb, 0x7b, 0x7e, - 0x7a, 0xc4, 0x54, 0xa3, 0x8b, 0x90, 0xf1, 0x6d, 0xfc, 0x90, 0xd5, 0x31, 0x2d, 0x56, 0x10, 0x2b, - 0x3e, 0x69, 0x24, 0x9c, 0x1f, 0x8f, 0x84, 0xf3, 0xe5, 0x6f, 0x80, 0xf9, 0x51, 0xf6, 0xbb, 0x2f, - 0xc8, 0x97, 0xf4, 0x05, 0x76, 0x1c, 0x52, 0xfc, 0x99, 0xcc, 0x38, 0xdd, 0xc0, 0xe2, 0x5f, 0x44, - 0x90, 0xcc, 0x96, 0x27, 0xd8, 0xbe, 0x16, 0xfd, 0x90, 0x55, 0x38, 0x39, 0xd2, 0x86, 0x8f, 0xde, - 0x0a, 0x63, 0x40, 0x7c, 0x2b, 0x4c, 0x17, 0xd5, 0x71, 0x69, 0x5b, 0xc5, 0x41, 0x16, 0xf6, 0x25, - 0x7f, 0x24, 0x01, 0xc7, 0x87, 0x5b, 0x72, 0xb4, 0x08, 0x79, 0xe2, 0xb7, 0x7a, 0x51, 0x17, 0x17, - 0xba, 0xda, 0x7e, 0x8b, 0xfb, 0xb7, 0x7c, 0x2b, 0x21, 0xee, 0x6f, 0x25, 0xa0, 0x2d, 0x98, 0xe9, - 0x58, 0xba, 0xd6, 0x51, 0x43, 0x5b, 0x39, 0x7c, 0x10, 0x3d, 0x34, 0x20, 0xec, 0x68, 0xc8, 0x90, - 0x18, 0x1c, 0xae, 0xff, 0x25, 0x8a, 0xb1, 0xea, 0xef, 0xfa, 0xa0, 0x15, 0xc8, 0x75, 0x0d, 0x77, - 0x1b, 0xef, 0x69, 0xb7, 0x0d, 0xcb, 0xe1, 0xa3, 0x69, 0x50, 0x69, 0xd6, 0x02, 0x1a, 0xb1, 0xc3, - 0x14, 0x62, 0x0b, 0x75, 0xc9, 0xf4, 0xd0, 0x8d, 0xaf, 0xd4, 0x91, 0xad, 0xc9, 0xa8, 0x3d, 0xa4, - 0xf4, 0xc8, 0x3d, 0xa4, 0x61, 0x1b, 0x36, 0x99, 0xe1, 0x1b, 0x36, 0x1f, 0x0a, 0x77, 0x4d, 0x74, - 0xee, 0x1b, 0xd8, 0xc3, 0x41, 0x4d, 0x98, 0xe3, 0xfc, 0xed, 0x88, 0xec, 0x87, 0x1c, 0x75, 0x60, - 0xe3, 0xab, 0x5f, 0xe6, 0x48, 0xb0, 0x8f, 0x16, 0x7b, 0xe2, 0xfe, 0xc4, 0x2e, 0x36, 0x51, 0x93, - 0xa1, 0x4d, 0xd4, 0xff, 0xcb, 0xba, 0xe2, 0x83, 0x09, 0x98, 0x19, 0x70, 0x24, 0x86, 0xee, 0x0e, - 0x8f, 0x8a, 0xc8, 0x8a, 0x86, 0x25, 0x8e, 0xdc, 0x30, 0xde, 0xd7, 0xc9, 0xf1, 0x7d, 0x3d, 0xfd, - 0x36, 0xf6, 0x75, 0xea, 0xfe, 0xfa, 0xfa, 0x1d, 0xed, 0x85, 0x8f, 0xc5, 0xa0, 0x3c, 0xda, 0xfb, - 0x1a, 0xda, 0x1d, 0x47, 0xda, 0x40, 0x18, 0x35, 0xc7, 0x3d, 0x0c, 0xc5, 0x3e, 0xdf, 0x90, 0xa9, - 0x72, 0x21, 0xb2, 0x0a, 0x97, 0xbf, 0x39, 0xe1, 0x4f, 0x3c, 0x11, 0x07, 0x6e, 0xc8, 0x68, 0x7d, - 0x19, 0x66, 0xdb, 0x58, 0x37, 0xda, 0xf7, 0x3b, 0x58, 0x67, 0x38, 0xf7, 0xff, 0x1b, 0xab, 0x83, - 0x5a, 0xf2, 0x3d, 0x00, 0x19, 0x05, 0xbb, 0x36, 0xf1, 0xc7, 0x50, 0x15, 0xb2, 0x78, 0x5f, 0xc7, - 0xb6, 0x17, 0x1c, 0xaa, 0x18, 0xb6, 0x44, 0x60, 0xd4, 0x75, 0x41, 0x49, 0x16, 0xc8, 0x3e, 0x1b, - 0x7a, 0x86, 0xc7, 0x00, 0x46, 0x2f, 0xe7, 0x39, 0x7b, 0x38, 0x08, 0x70, 0x49, 0x04, 0x01, 0x12, - 0x23, 0xd7, 0xb7, 0x8c, 0xab, 0x2f, 0x0a, 0xf0, 0x0c, 0x8f, 0x02, 0x24, 0xc7, 0x14, 0x16, 0x09, - 0x03, 0xd4, 0x22, 0x61, 0x80, 0xd4, 0x98, 0x66, 0x8e, 0x88, 0x03, 0x5c, 0x12, 0x71, 0x80, 0xf4, - 0x98, 0x1a, 0xf7, 0x05, 0x02, 0x5e, 0x0c, 0x05, 0x02, 0xb2, 0x83, 0xd1, 0xd6, 0x08, 0xeb, 0x90, - 0x48, 0xc0, 0x0b, 0x7e, 0x24, 0x20, 0x3f, 0x32, 0x8a, 0xc0, 0x99, 0xfb, 0x43, 0x01, 0x1b, 0x03, - 0xa1, 0x80, 0x02, 0xff, 0xa3, 0x4b, 0xa3, 0x20, 0xc6, 0xc4, 0x02, 0x36, 0x06, 0x62, 0x01, 0xc5, - 0x31, 0x80, 0x63, 0x82, 0x01, 0x5f, 0x37, 0x3c, 0x18, 0x30, 0x7a, 0xb9, 0xce, 0xab, 0x39, 0x59, - 0x34, 0x40, 0x1d, 0x11, 0x0d, 0x90, 0x46, 0xae, 0x5c, 0x19, 0xfc, 0xc4, 0xe1, 0x80, 0xad, 0x21, - 0xe1, 0x00, 0xb6, 0x70, 0x3f, 0x3b, 0x12, 0x7c, 0x82, 0x78, 0xc0, 0xd6, 0x90, 0x78, 0x00, 0x1a, - 0x0b, 0x3b, 0x36, 0x20, 0x70, 0x25, 0x1a, 0x10, 0x98, 0x1d, 0xe1, 0x75, 0x06, 0xa3, 0x7d, 0x44, - 0x44, 0x60, 0x7b, 0x54, 0x44, 0x80, 0xad, 0xda, 0x9f, 0x18, 0x89, 0x78, 0x84, 0x90, 0xc0, 0xc6, - 0x40, 0x48, 0xe0, 0xd8, 0x18, 0x4d, 0x9b, 0x3c, 0x26, 0xc0, 0x1e, 0x81, 0x67, 0xcf, 0xbf, 0x83, - 0x94, 0xbb, 0x9e, 0xcc, 0xe4, 0xa4, 0xbc, 0xfc, 0x18, 0xf1, 0x60, 0xfa, 0xec, 0x1c, 0x59, 0x2b, - 0x60, 0xc7, 0xb1, 0x1c, 0x71, 0xc7, 0x82, 0x7e, 0xc8, 0x67, 0xc9, 0x1a, 0x31, 0xb0, 0x69, 0x87, - 0xc4, 0x0f, 0xe8, 0x9a, 0x2c, 0x64, 0xc7, 0xe4, 0x5f, 0x88, 0x05, 0xbc, 0x34, 0x82, 0x10, 0x5e, - 0x5f, 0x66, 0xf9, 0xfa, 0x32, 0x14, 0x55, 0x88, 0x47, 0xa3, 0x0a, 0x0b, 0x90, 0x23, 0x6b, 0xad, - 0xbe, 0x80, 0x81, 0x66, 0xfb, 0x01, 0x03, 0x71, 0x80, 0x8a, 0xc5, 0x1e, 0xf8, 0xb4, 0xc4, 0x76, - 0x13, 0x4b, 0xfe, 0x61, 0x32, 0xb6, 0xd4, 0x45, 0x4f, 0xc2, 0x6c, 0x88, 0xd6, 0x5f, 0xc3, 0xb1, - 0xd5, 0xb3, 0xe4, 0x53, 0x57, 0xf8, 0x62, 0xee, 0x9f, 0xc7, 0x02, 0x09, 0x05, 0x91, 0x86, 0x61, - 0x41, 0x81, 0xd8, 0xdb, 0x14, 0x14, 0x88, 0xdf, 0x77, 0x50, 0x20, 0xbc, 0x26, 0x4d, 0x44, 0xd7, - 0xa4, 0xff, 0x3d, 0x16, 0xf4, 0x89, 0xbf, 0xc4, 0xd7, 0xad, 0x36, 0xe6, 0xab, 0x44, 0xfa, 0x9b, - 0xb8, 0x24, 0x1d, 0x6b, 0x97, 0xaf, 0x05, 0xc9, 0x4f, 0x42, 0xe5, 0x4f, 0x3c, 0x59, 0x3e, 0xaf, - 0xf8, 0x0b, 0xcc, 0xe9, 0xf0, 0x3d, 0x0e, 0x7e, 0xb9, 0x21, 0x15, 0x5c, 0x6e, 0xf0, 0x2f, 0x46, - 0xa7, 0x43, 0x17, 0xa3, 0xd1, 0xf3, 0x90, 0xa5, 0xc1, 0x7e, 0xd5, 0xb2, 0xc5, 0x5f, 0x2c, 0x3b, - 0x35, 0xfa, 0x62, 0x83, 0x4b, 0x8f, 0x5c, 0xb3, 0xcb, 0x10, 0x81, 0xc7, 0x91, 0x8d, 0x78, 0x1c, - 0x0f, 0x40, 0x96, 0xd4, 0x9e, 0xfd, 0xe5, 0x0d, 0xe0, 0xb7, 0xea, 0x45, 0x82, 0xfc, 0x93, 0x71, - 0x28, 0xf5, 0x4d, 0x34, 0x43, 0xdb, 0x3e, 0x6c, 0x1b, 0x79, 0x32, 0x79, 0x9c, 0x06, 0xd8, 0xd5, - 0x5c, 0xf5, 0x8e, 0x66, 0x7a, 0xb8, 0xcd, 0x85, 0x12, 0x4a, 0x41, 0x65, 0xc8, 0x90, 0xaf, 0x9e, - 0x8b, 0xdb, 0x3c, 0xfa, 0xe2, 0x7f, 0xa3, 0x6b, 0x90, 0xc2, 0xb7, 0xe9, 0xcb, 0xb3, 0xec, 0xfd, - 0xe6, 0xe3, 0x83, 0xcb, 0x61, 0x92, 0x5d, 0x9d, 0x27, 0x9d, 0xfd, 0xf9, 0x37, 0x17, 0x24, 0x46, - 0xfd, 0x84, 0x7f, 0x99, 0x4d, 0xe1, 0xfc, 0x51, 0x29, 0x64, 0xfa, 0xa4, 0x40, 0xe3, 0x80, 0x79, - 0xb1, 0xbc, 0x27, 0x32, 0x65, 0x67, 0xbc, 0x95, 0x42, 0x17, 0x77, 0x6d, 0xcb, 0xea, 0xa8, 0x6c, - 0x8c, 0x57, 0xa0, 0x18, 0x9d, 0x57, 0xd9, 0x5f, 0xc5, 0xf2, 0x34, 0xc3, 0x54, 0x23, 0x4e, 0x70, - 0x9e, 0x25, 0xb2, 0x31, 0x75, 0x3d, 0x99, 0x89, 0x49, 0xf1, 0xeb, 0xc9, 0x4c, 0x5c, 0x4a, 0xc8, - 0x9b, 0x70, 0x6c, 0xe8, 0xbc, 0x8a, 0x9e, 0x83, 0x6c, 0x30, 0x25, 0xb3, 0x63, 0xfa, 0x87, 0x44, - 0x5a, 0x02, 0x5a, 0xf9, 0x57, 0x62, 0x01, 0x64, 0x34, 0x76, 0x53, 0x87, 0x14, 0x3b, 0x33, 0xc9, - 0xcf, 0xc7, 0x3c, 0x39, 0xd9, 0x8c, 0xbc, 0xc4, 0x0e, 0x54, 0x2a, 0x9c, 0x59, 0x7e, 0x1f, 0xa4, - 0x58, 0x0a, 0xca, 0x41, 0x3a, 0x78, 0xe3, 0x1a, 0x20, 0x55, 0xa9, 0xd5, 0xea, 0x9b, 0xe2, 0xc1, - 0xda, 0xea, 0x86, 0xd2, 0x92, 0xe2, 0x24, 0x59, 0xa9, 0x5f, 0xaf, 0xd7, 0x5a, 0x52, 0x02, 0xcd, - 0x40, 0x81, 0xfd, 0x56, 0xaf, 0x6c, 0x28, 0x6b, 0x95, 0x96, 0x94, 0x0c, 0x25, 0x35, 0xeb, 0xeb, - 0x2b, 0x75, 0x45, 0x9a, 0x96, 0x9f, 0x86, 0x93, 0x23, 0xe7, 0xf0, 0x20, 0x30, 0x13, 0x0b, 0x05, - 0x66, 0xe4, 0x8f, 0xc4, 0xc9, 0xa2, 0x66, 0xd4, 0xc4, 0x8c, 0xae, 0xf7, 0x35, 0xfc, 0xc2, 0x11, - 0x66, 0xf5, 0xbe, 0xd6, 0x93, 0x75, 0x8c, 0x83, 0x77, 0xb0, 0xa7, 0xef, 0x31, 0x47, 0x81, 0x59, - 0xa0, 0x82, 0x52, 0xe0, 0xa9, 0x94, 0xc9, 0x65, 0x64, 0xaf, 0x63, 0xdd, 0x53, 0x99, 0x12, 0xb9, - 0xfc, 0x8f, 0xf8, 0x16, 0x58, 0x6a, 0x93, 0x25, 0xca, 0xdf, 0x70, 0x24, 0x59, 0x66, 0x61, 0x5a, - 0xa9, 0xb7, 0x94, 0x57, 0xa5, 0x04, 0x42, 0x50, 0xa4, 0x3f, 0xd5, 0xe6, 0x7a, 0x65, 0xb3, 0x79, - 0x6d, 0x83, 0xc8, 0x72, 0x16, 0x4a, 0x42, 0x96, 0x22, 0x71, 0x5a, 0x7e, 0x1c, 0x4e, 0x8c, 0xf0, - 0x2a, 0x86, 0x1c, 0x62, 0xfd, 0x44, 0x2c, 0x4c, 0x1d, 0xf5, 0x0c, 0x36, 0x20, 0xe5, 0x7a, 0x9a, - 0xd7, 0x73, 0xb9, 0x10, 0x9f, 0x9b, 0xd4, 0xcd, 0x58, 0x12, 0x3f, 0x9a, 0x94, 0x5d, 0xe1, 0x30, - 0xf2, 0x45, 0x28, 0x46, 0x73, 0x46, 0xcb, 0x20, 0x50, 0xa2, 0xb8, 0x7c, 0x19, 0xd0, 0xa0, 0xf7, - 0x31, 0x64, 0x79, 0x19, 0x1b, 0xb6, 0xbc, 0xfc, 0xd1, 0x18, 0x9c, 0x3a, 0xc4, 0xd3, 0x40, 0x2f, - 0xf7, 0x35, 0xf2, 0x85, 0xa3, 0xf8, 0x29, 0x4b, 0x2c, 0xad, 0xaf, 0x99, 0xcf, 0x40, 0x3e, 0x9c, - 0x3e, 0x59, 0x23, 0x3f, 0x1f, 0x0f, 0x06, 0x71, 0x74, 0x1d, 0x1c, 0x98, 0xc0, 0xd8, 0x97, 0x69, - 0x02, 0xdf, 0x0d, 0xe0, 0xed, 0x8b, 0x53, 0xd4, 0x7c, 0x1e, 0x7d, 0x70, 0x48, 0x7c, 0x11, 0xeb, - 0xad, 0x7d, 0x3e, 0x08, 0xb2, 0x1e, 0xff, 0xe5, 0xa2, 0x66, 0x38, 0x28, 0xd0, 0xa3, 0x73, 0xac, - 0xeb, 0xff, 0x09, 0xdf, 0xc9, 0x26, 0xe3, 0x20, 0x78, 0xc0, 0x92, 0x5d, 0xf4, 0x2a, 0x9c, 0xe8, - 0x73, 0x14, 0x7c, 0xe8, 0xe4, 0xa4, 0xfe, 0xc2, 0xb1, 0xa8, 0xbf, 0x20, 0xa0, 0xc3, 0xb3, 0xfd, - 0x74, 0x74, 0xb6, 0x7f, 0x15, 0x20, 0x08, 0x0e, 0x04, 0xc7, 0xfe, 0x62, 0xe1, 0x63, 0x7f, 0x17, - 0x61, 0x9a, 0x68, 0x92, 0x90, 0xd3, 0xa0, 0x29, 0x26, 0x9a, 0x10, 0x0a, 0x2e, 0x30, 0x6a, 0xd9, - 0x00, 0x34, 0x18, 0xa0, 0x1d, 0x51, 0xc4, 0x8b, 0xd1, 0x22, 0xce, 0x8c, 0x0c, 0xf5, 0x0e, 0x2f, - 0xea, 0x0d, 0x98, 0xa6, 0x3d, 0x3f, 0xf4, 0x2e, 0xe5, 0xd7, 0x03, 0x68, 0x9e, 0xe7, 0x18, 0xdb, - 0xbd, 0xa0, 0x80, 0x85, 0xe1, 0x9a, 0x53, 0x11, 0x74, 0xd5, 0x07, 0xb8, 0x0a, 0xcd, 0x05, 0xac, - 0x21, 0x35, 0x0a, 0x01, 0xca, 0xeb, 0x50, 0x8c, 0xf2, 0x0e, 0xbf, 0x1b, 0x1a, 0x3c, 0xfc, 0x92, - 0x15, 0xfe, 0x8d, 0xef, 0x1d, 0xf1, 0xc7, 0x98, 0xe8, 0x87, 0xfc, 0x81, 0x38, 0xe4, 0xc3, 0x8a, - 0xf7, 0xd7, 0xcf, 0x05, 0x91, 0xbf, 0x25, 0x06, 0x19, 0xbf, 0xf9, 0x87, 0x1c, 0x76, 0x0e, 0xee, - 0x08, 0xfb, 0x9b, 0x17, 0x6c, 0x9b, 0x28, 0xe1, 0x6f, 0x13, 0x5d, 0xf6, 0xa7, 0xbf, 0x51, 0x01, - 0x91, 0xb0, 0xac, 0xc5, 0x81, 0x43, 0x3e, 0xdb, 0x5f, 0x9e, 0xec, 0x2a, 0xde, 0x1c, 0x4c, 0x87, - 0xaf, 0xd1, 0xb1, 0x0f, 0xb9, 0x1d, 0x3a, 0x61, 0xc4, 0x06, 0x62, 0xf8, 0xce, 0x5e, 0xec, 0xc8, - 0x77, 0xf6, 0xfc, 0x52, 0xe2, 0xe1, 0x52, 0xbe, 0x3b, 0x06, 0x19, 0x31, 0x26, 0xd0, 0x7b, 0xc2, - 0x27, 0xcf, 0xc4, 0xd6, 0xe6, 0x48, 0x7b, 0xc4, 0xf1, 0x43, 0x07, 0xcf, 0x06, 0x0e, 0x5c, 0x27, - 0x8e, 0x7a, 0xe0, 0x9a, 0x7b, 0x76, 0x7f, 0x1e, 0x03, 0xa9, 0x7f, 0xc4, 0x7e, 0xd9, 0xb5, 0x1b, - 0x9c, 0xe6, 0x12, 0x43, 0xa6, 0xb9, 0x51, 0xa7, 0xa8, 0x93, 0xa3, 0x4e, 0x51, 0x0f, 0xb6, 0x7a, - 0xfa, 0x3e, 0x5b, 0xfd, 0xc1, 0x38, 0xe4, 0x42, 0xe1, 0x51, 0xf4, 0x6c, 0xe4, 0x44, 0xf6, 0xe2, - 0x61, 0xa1, 0xd4, 0xd0, 0x91, 0xec, 0x88, 0x98, 0xe2, 0x47, 0x17, 0xd3, 0xdb, 0x7f, 0x3b, 0x6b, - 0xf8, 0x05, 0xd6, 0xe9, 0x11, 0x17, 0x58, 0xbf, 0x29, 0x06, 0x19, 0xdf, 0xed, 0x3e, 0xea, 0x26, - 0xe6, 0x71, 0x48, 0x71, 0xcf, 0x92, 0xed, 0x62, 0xf2, 0xaf, 0xa1, 0x61, 0xe5, 0x32, 0x64, 0xc4, - 0xdf, 0x53, 0xe4, 0xb3, 0x9a, 0xff, 0x7d, 0xee, 0x05, 0xc8, 0x85, 0x36, 0x80, 0x89, 0x69, 0x5c, - 0xaf, 0xbf, 0x57, 0x9a, 0x2a, 0xa7, 0xef, 0xde, 0x5b, 0x4c, 0xac, 0xe3, 0x3b, 0x64, 0x34, 0x2b, - 0xf5, 0xda, 0xb5, 0x7a, 0xed, 0x86, 0x14, 0x2b, 0xe7, 0xee, 0xde, 0x5b, 0x4c, 0x2b, 0x98, 0x46, - 0x14, 0xcf, 0xdd, 0x80, 0x52, 0x5f, 0xc7, 0x44, 0xdd, 0x16, 0x04, 0xc5, 0x95, 0xad, 0xcd, 0xd5, - 0x46, 0xad, 0xd2, 0xaa, 0xab, 0xec, 0xdc, 0x2e, 0x3a, 0x01, 0xb3, 0xab, 0x8d, 0xab, 0xd7, 0x5a, - 0x6a, 0x6d, 0xb5, 0x51, 0x5f, 0x6f, 0xa9, 0x95, 0x56, 0xab, 0x52, 0xbb, 0x21, 0xc5, 0x2f, 0xdc, - 0xcb, 0x41, 0xb2, 0x52, 0xad, 0x35, 0x50, 0x0d, 0x92, 0x34, 0x14, 0x72, 0xe8, 0x09, 0xb0, 0xf2, - 0xe1, 0xb1, 0x61, 0x74, 0x05, 0xa6, 0x69, 0x94, 0x04, 0x1d, 0x7e, 0x24, 0xac, 0x3c, 0x26, 0x58, - 0x4c, 0x2a, 0x43, 0x47, 0xe4, 0xa1, 0x67, 0xc4, 0xca, 0x87, 0xc7, 0x8e, 0xd1, 0x2a, 0xa4, 0xc5, - 0x22, 0x79, 0xdc, 0xc1, 0xad, 0xf2, 0xd8, 0x80, 0x2e, 0x69, 0x1a, 0x0b, 0x36, 0x1c, 0x7e, 0x7c, - 0xac, 0x3c, 0x26, 0xaa, 0x8c, 0x1a, 0xfe, 0x7d, 0xa6, 0x31, 0x27, 0xc2, 0xca, 0xe3, 0xe2, 0xc4, - 0x48, 0x81, 0x6c, 0x10, 0xc6, 0x19, 0x7f, 0x28, 0xae, 0x3c, 0x41, 0xc0, 0x1c, 0xbd, 0x0f, 0x0a, - 0xd1, 0xa5, 0xee, 0x64, 0xa7, 0xce, 0xca, 0x13, 0x46, 0xa4, 0x09, 0x7e, 0x74, 0xdd, 0x3b, 0xd9, - 0x29, 0xb4, 0xf2, 0x84, 0x01, 0x6a, 0xf4, 0x3a, 0xcc, 0x0c, 0xae, 0x4b, 0x27, 0x3f, 0x94, 0x56, - 0x3e, 0x42, 0xc8, 0x1a, 0x75, 0x01, 0x0d, 0x59, 0xcf, 0x1e, 0xe1, 0x8c, 0x5a, 0xf9, 0x28, 0x11, - 0x6c, 0xd4, 0x86, 0x52, 0xff, 0x22, 0x71, 0xd2, 0x33, 0x6b, 0xe5, 0x89, 0xa3, 0xd9, 0xac, 0x94, - 0xe8, 0xe2, 0x72, 0xd2, 0x33, 0x6c, 0xe5, 0x89, 0x83, 0xdb, 0x68, 0x0b, 0x20, 0xb4, 0x3e, 0x9c, - 0xe0, 0x4c, 0x5b, 0x79, 0x92, 0x30, 0x37, 0xb2, 0x61, 0x76, 0xd8, 0xc2, 0xf1, 0x28, 0x47, 0xdc, - 0xca, 0x47, 0x8a, 0x7e, 0x13, 0x7d, 0x8e, 0x2e, 0x01, 0x27, 0x3b, 0xf2, 0x56, 0x9e, 0x30, 0x0c, - 0x5e, 0xad, 0x8c, 0x3c, 0xe7, 0xfc, 0xe8, 0xa1, 0xe7, 0x9c, 0x83, 0x93, 0xcb, 0xfe, 0xd9, 0xe6, - 0xdf, 0x7a, 0x01, 0xde, 0xc5, 0x5f, 0xd0, 0x71, 0x3d, 0xed, 0x96, 0x61, 0xee, 0xfa, 0xcf, 0x2c, - 0xf1, 0x6f, 0x7e, 0xc8, 0xf9, 0x38, 0x7f, 0xa5, 0x47, 0xa4, 0x8e, 0x79, 0x6c, 0x69, 0xe4, 0x0b, - 0x94, 0xe3, 0xee, 0x43, 0x8c, 0x3f, 0xbe, 0x7c, 0xc8, 0x43, 0x4e, 0x63, 0x9e, 0x8b, 0x1a, 0xf2, - 0xd0, 0x53, 0xf9, 0xd0, 0x37, 0x06, 0xca, 0x87, 0x9d, 0xfb, 0x26, 0x5e, 0x6c, 0xf1, 0x9a, 0xe1, - 0x7a, 0x96, 0x63, 0xe8, 0x5a, 0x87, 0x4e, 0x2f, 0x97, 0x27, 0xbd, 0x95, 0x55, 0xcd, 0x12, 0x77, - 0x85, 0xbf, 0x05, 0xc5, 0x6f, 0x0a, 0xad, 0x40, 0xea, 0xb6, 0xd6, 0x61, 0x77, 0xa2, 0xc2, 0x0f, - 0xc1, 0xf5, 0xcb, 0x3c, 0xe4, 0x47, 0x85, 0x51, 0x18, 0xaf, 0xfc, 0xbd, 0xf4, 0x3e, 0x49, 0xb7, - 0x6b, 0xb8, 0x44, 0x17, 0x15, 0xba, 0x94, 0xbe, 0x0e, 0x49, 0x47, 0xf3, 0xf8, 0x02, 0xb3, 0x7a, - 0xe9, 0xc8, 0xef, 0x32, 0xb1, 0x12, 0x28, 0x06, 0x7a, 0x19, 0x32, 0x5d, 0x6d, 0x5f, 0xa5, 0x78, - 0xf1, 0x2f, 0x0b, 0x2f, 0xdd, 0xd5, 0xf6, 0x49, 0xfd, 0xd0, 0xfb, 0xa0, 0x44, 0x20, 0xf5, 0x3d, - 0xcd, 0xdc, 0xc5, 0x0c, 0x39, 0xf1, 0x65, 0x21, 0x17, 0xba, 0xda, 0x7e, 0x8d, 0xa2, 0x11, 0x7c, - 0xfe, 0xe4, 0xd5, 0xaf, 0xc5, 0x78, 0xd4, 0x80, 0x0a, 0x06, 0x69, 0x20, 0xe9, 0xfe, 0x17, 0x2d, - 0x54, 0x6c, 0x71, 0x3c, 0x3a, 0x4a, 0xee, 0x7d, 0x62, 0xad, 0x16, 0x48, 0xf5, 0x3e, 0xfd, 0xe6, - 0x42, 0x8c, 0x95, 0x5a, 0xd2, 0x07, 0xc4, 0x9e, 0x63, 0xc1, 0x10, 0x95, 0xfa, 0xb0, 0xf1, 0xb1, - 0x3e, 0x6c, 0x41, 0xf8, 0xb0, 0x0c, 0x10, 0x18, 0x37, 0xc9, 0xe7, 0x6d, 0xf8, 0x64, 0x0c, 0x72, - 0x2b, 0xa1, 0x67, 0x1d, 0xe7, 0x21, 0xdd, 0xb5, 0x4c, 0xe3, 0x16, 0x76, 0xfc, 0x3d, 0x2a, 0xf6, - 0x49, 0xfc, 0x4c, 0xf6, 0xd7, 0x01, 0xbd, 0x03, 0xf1, 0xba, 0x90, 0xf8, 0x26, 0x5c, 0x77, 0xf0, - 0xb6, 0x6b, 0x08, 0x39, 0x2b, 0xe2, 0x13, 0x3d, 0x06, 0x92, 0x8b, 0xf5, 0x9e, 0x63, 0x78, 0x07, - 0xaa, 0x6e, 0x99, 0x9e, 0xa6, 0x7b, 0x7c, 0x1d, 0x5e, 0x12, 0xe9, 0x35, 0x96, 0x4c, 0x40, 0xda, - 0xd8, 0xd3, 0x8c, 0x0e, 0x3b, 0x99, 0x99, 0x55, 0xc4, 0x27, 0xaf, 0xea, 0xef, 0x65, 0xc2, 0xeb, - 0xd0, 0x1a, 0x48, 0x96, 0x8d, 0x9d, 0xc8, 0x81, 0x14, 0xa6, 0x8d, 0xf3, 0xbf, 0xfd, 0xa9, 0x27, - 0xe7, 0xb8, 0xc0, 0xf9, 0x61, 0x06, 0xf6, 0x57, 0x0c, 0x94, 0x92, 0xe0, 0x10, 0x27, 0x55, 0x5e, - 0x8d, 0xec, 0x4a, 0xf5, 0xb6, 0x83, 0x67, 0x64, 0xe6, 0x06, 0x84, 0x5a, 0x31, 0x0f, 0xaa, 0xf3, - 0xbf, 0x19, 0x40, 0x07, 0xeb, 0xd4, 0x1b, 0xf8, 0x20, 0xbc, 0x45, 0x45, 0x61, 0x88, 0x0b, 0xff, - 0xba, 0x66, 0x74, 0xc4, 0x1f, 0x52, 0x55, 0xf8, 0x17, 0x5a, 0xf6, 0xc3, 0x8b, 0x49, 0xba, 0x1e, - 0x92, 0x47, 0xe9, 0x46, 0xd5, 0x32, 0xdb, 0xd1, 0x38, 0x22, 0xaa, 0x41, 0xca, 0xb3, 0x6e, 0x61, - 0x93, 0x0b, 0xe8, 0x68, 0x4f, 0xab, 0x71, 0x56, 0xf4, 0x75, 0x20, 0xb5, 0x71, 0x07, 0xef, 0xb2, - 0xfb, 0x92, 0x7b, 0x9a, 0x83, 0xd9, 0x6d, 0xfd, 0xfb, 0x7a, 0x5e, 0xad, 0xe4, 0x43, 0x35, 0x29, - 0x12, 0xda, 0x8c, 0x3e, 0x1c, 0x9a, 0xe6, 0x9b, 0xc7, 0x23, 0xda, 0x18, 0xd2, 0xbc, 0xb0, 0xe5, - 0x89, 0x3c, 0x34, 0xfa, 0x18, 0x48, 0x3d, 0x73, 0xdb, 0x32, 0xe9, 0xdf, 0x1f, 0xe4, 0xab, 0xa8, - 0x0c, 0xdb, 0xa9, 0xf4, 0xd3, 0xf9, 0x4e, 0xe5, 0x26, 0x14, 0x03, 0x52, 0x3a, 0x42, 0xb2, 0x47, - 0x1d, 0x21, 0x05, 0x1f, 0x80, 0x90, 0xa0, 0x35, 0x80, 0x60, 0x0c, 0xd2, 0xad, 0xb2, 0xdc, 0xe8, - 0x1e, 0x0b, 0x46, 0x73, 0xb8, 0x31, 0x21, 0x00, 0xf4, 0xb5, 0x30, 0xdb, 0x35, 0x4c, 0xd5, 0xc5, - 0x9d, 0x1d, 0x95, 0x4b, 0x8e, 0xe0, 0xe6, 0x8e, 0xde, 0x9b, 0x33, 0x5d, 0xc3, 0x6c, 0xe2, 0xce, - 0xce, 0x8a, 0x8f, 0x82, 0xde, 0x0d, 0xa7, 0x82, 0xd6, 0x5b, 0xa6, 0xba, 0x67, 0x75, 0xda, 0xaa, - 0x83, 0x77, 0x54, 0x9d, 0xbe, 0xf3, 0x97, 0xa7, 0x32, 0x3b, 0xe1, 0x93, 0x6c, 0x98, 0xd7, 0xac, - 0x4e, 0x5b, 0xc1, 0x3b, 0x35, 0x92, 0x8d, 0x1e, 0x82, 0xa0, 0xe9, 0xaa, 0xd1, 0x76, 0xe7, 0x0b, - 0x8b, 0x89, 0xb3, 0x49, 0x25, 0xef, 0x27, 0x36, 0xda, 0x2e, 0xb2, 0xe1, 0x58, 0x10, 0xf1, 0x25, - 0xe9, 0x42, 0x81, 0x8a, 0xb4, 0x05, 0xef, 0xe6, 0x2d, 0x78, 0x64, 0xfc, 0x6b, 0x7a, 0x4b, 0x83, - 0xba, 0x34, 0xeb, 0x43, 0x53, 0xd5, 0x67, 0xfa, 0xa4, 0x41, 0xa1, 0x63, 0xbc, 0xbf, 0x67, 0xf8, - 0x25, 0x95, 0xde, 0x86, 0x92, 0xf2, 0x0c, 0x92, 0x15, 0xb1, 0x9c, 0xf9, 0xd0, 0xc7, 0x17, 0xa6, - 0x3e, 0xf7, 0xf1, 0x85, 0x29, 0xf9, 0x0a, 0x7d, 0x28, 0x8b, 0x1b, 0x07, 0xec, 0xa2, 0x4b, 0x90, - 0xd5, 0xc4, 0x07, 0xbb, 0x06, 0x77, 0x88, 0x71, 0x09, 0x48, 0xe5, 0x9f, 0x88, 0x41, 0x6a, 0xe5, - 0xe6, 0xa6, 0x66, 0x38, 0xa8, 0x0e, 0x33, 0xc1, 0x68, 0x9b, 0xd4, 0x4e, 0x05, 0x03, 0x54, 0x18, - 0xaa, 0xf5, 0x51, 0xe7, 0xef, 0xb2, 0xd5, 0x33, 0xbf, 0xfd, 0xa9, 0x27, 0x1f, 0xe4, 0x30, 0x37, - 0xfb, 0x8e, 0xe2, 0x09, 0xbc, 0xfe, 0x23, 0x7a, 0xa1, 0x36, 0x5f, 0x87, 0x34, 0xab, 0xaa, 0x8b, - 0x5e, 0x82, 0x69, 0x9b, 0xfc, 0xe0, 0xdb, 0x0a, 0xa7, 0x47, 0x8e, 0x5a, 0x4a, 0x1f, 0xd6, 0x71, - 0xc6, 0x27, 0x7f, 0x5b, 0x1c, 0x60, 0xe5, 0xe6, 0xcd, 0x96, 0x63, 0xd8, 0x1d, 0xec, 0xbd, 0x5d, - 0x6d, 0xdf, 0x0a, 0x2b, 0x9d, 0xeb, 0xe8, 0x47, 0x6f, 0x7f, 0xa0, 0x59, 0x4d, 0x47, 0x1f, 0x0a, - 0xdb, 0x76, 0x3d, 0x1f, 0x36, 0x71, 0x74, 0xd8, 0x15, 0xd7, 0x1b, 0x94, 0xec, 0x2b, 0x90, 0x0b, - 0x84, 0xe1, 0xa2, 0x06, 0x64, 0x3c, 0xfe, 0x9b, 0x0b, 0x58, 0x1e, 0x2d, 0x60, 0xc1, 0x16, 0x16, - 0xb2, 0xcf, 0x2e, 0xff, 0x10, 0x91, 0x73, 0x30, 0xf0, 0xbf, 0x3a, 0x75, 0x0c, 0x35, 0x20, 0xc5, - 0xc7, 0x6c, 0xe2, 0xbe, 0x9f, 0x18, 0x65, 0x00, 0x34, 0xe6, 0x19, 0xb1, 0x3b, 0xfc, 0x9a, 0x44, - 0x21, 0x62, 0x32, 0x42, 0xb2, 0xff, 0x8e, 0x38, 0xcc, 0x6e, 0x09, 0xcb, 0xf5, 0xd5, 0x2f, 0xaa, - 0x2d, 0x48, 0x63, 0xd3, 0x73, 0x0c, 0x7f, 0xff, 0xec, 0xa9, 0x51, 0xaa, 0x31, 0xa4, 0x51, 0x75, - 0xd3, 0x73, 0x0e, 0xc2, 0x8a, 0x22, 0xb0, 0x42, 0xf2, 0xf8, 0x68, 0x02, 0xe6, 0x47, 0xb1, 0xa2, - 0x47, 0xa1, 0xa4, 0x3b, 0x98, 0x26, 0x44, 0xaf, 0xc7, 0x16, 0x45, 0x32, 0x9f, 0x5f, 0x15, 0x20, - 0x1e, 0x29, 0xd1, 0x41, 0x42, 0x7a, 0x7f, 0x2e, 0x68, 0x31, 0x40, 0xa0, 0x33, 0x6c, 0x0b, 0x4a, - 0xe2, 0xbe, 0xcd, 0xb6, 0xd6, 0xd1, 0x4c, 0x5d, 0xb8, 0xea, 0x47, 0x9a, 0x0e, 0xc5, 0x9d, 0x9d, - 0x2a, 0x83, 0x40, 0x75, 0x48, 0x0b, 0xb4, 0xe4, 0xd1, 0xd1, 0x04, 0x2f, 0x3a, 0x03, 0xf9, 0xf0, - 0xa4, 0x48, 0xdd, 0xae, 0xa4, 0x92, 0x0b, 0xcd, 0x89, 0xe3, 0x66, 0xdd, 0xd4, 0xa1, 0xb3, 0x2e, - 0xf7, 0x6c, 0x7f, 0x88, 0x1e, 0x8b, 0x6f, 0xff, 0xd5, 0xef, 0x96, 0x4d, 0x00, 0x36, 0xa2, 0x89, - 0xc1, 0xe5, 0x3d, 0x73, 0x1f, 0x66, 0x21, 0xcb, 0x40, 0x56, 0x5c, 0xef, 0x2b, 0xd5, 0x43, 0xbf, - 0x1b, 0x87, 0x7c, 0xb8, 0x87, 0xfe, 0x5a, 0xce, 0x6d, 0x68, 0x3d, 0x30, 0x53, 0xec, 0xea, 0xd0, - 0x63, 0xa3, 0xcc, 0xd4, 0x80, 0x36, 0x8f, 0xb1, 0x4f, 0xbf, 0x99, 0x82, 0x14, 0x3f, 0xdb, 0xb7, - 0x31, 0xe0, 0xc4, 0xc7, 0xc6, 0x3d, 0x7e, 0x50, 0x10, 0x8f, 0x1f, 0x0c, 0xf5, 0xe1, 0x1f, 0x86, - 0x62, 0x57, 0xdb, 0x57, 0x23, 0x07, 0x06, 0x63, 0x67, 0x0b, 0x74, 0x4d, 0x1f, 0x1c, 0x8f, 0x47, - 0x0b, 0x90, 0x23, 0x64, 0x81, 0x1d, 0x26, 0x34, 0xd0, 0xd5, 0xf6, 0xeb, 0x2c, 0x05, 0x3d, 0x09, - 0x68, 0xcf, 0x0f, 0xce, 0xa8, 0x81, 0x20, 0x08, 0xdd, 0x4c, 0x90, 0x23, 0xc8, 0x1f, 0x04, 0xa0, - 0x1e, 0x32, 0x7b, 0x7c, 0x9b, 0x3f, 0x6d, 0x4e, 0x52, 0x56, 0xe8, 0x03, 0xdc, 0xdf, 0x1c, 0x63, - 0x6b, 0x81, 0xbe, 0x90, 0x01, 0x5f, 0x8a, 0xb5, 0x26, 0x18, 0x14, 0x5f, 0x7c, 0x73, 0xa1, 0x7c, - 0xa0, 0x75, 0x3b, 0xcb, 0xf2, 0x10, 0x1c, 0x79, 0x58, 0x14, 0x83, 0x2c, 0x1a, 0xa2, 0x21, 0x07, - 0xf4, 0x4d, 0xb1, 0x01, 0x97, 0x7e, 0x47, 0xd3, 0x3d, 0xcb, 0xa1, 0x4b, 0xb7, 0x6c, 0x75, 0xfd, - 0x68, 0x8e, 0xf6, 0x17, 0xdf, 0x5c, 0x78, 0x80, 0xd5, 0x69, 0x28, 0xa8, 0xdc, 0xe7, 0xe4, 0x5f, - 0xa1, 0xa9, 0xe8, 0x3b, 0x62, 0x70, 0x72, 0xb7, 0x63, 0x6d, 0x6b, 0x1d, 0x55, 0x38, 0xfb, 0x4c, - 0x9f, 0x54, 0x5d, 0xb3, 0xd9, 0xbe, 0x78, 0x55, 0x39, 0x72, 0x45, 0x16, 0x59, 0x45, 0x46, 0x02, - 0xcb, 0xca, 0x71, 0x96, 0xb7, 0xca, 0x56, 0x03, 0x2c, 0xa7, 0xa6, 0xd9, 0xe8, 0x7b, 0x63, 0xf0, - 0x40, 0x50, 0xff, 0x21, 0x55, 0xca, 0xd2, 0x2a, 0x6d, 0x1d, 0xb9, 0x4a, 0x0f, 0xf5, 0xcb, 0x66, - 0x58, 0xad, 0x4e, 0xfa, 0xd9, 0xfd, 0x15, 0x5b, 0x7e, 0x17, 0x31, 0x46, 0x77, 0xff, 0xe8, 0xa7, - 0xce, 0x9d, 0x0a, 0x15, 0xb0, 0xef, 0x07, 0x5a, 0xd9, 0x08, 0x22, 0xcb, 0x0f, 0x14, 0xcc, 0xf1, - 0xfe, 0x1d, 0x8e, 0x35, 0x80, 0xd0, 0x9a, 0x33, 0x76, 0xf8, 0x5a, 0x36, 0xe0, 0x8f, 0xac, 0x65, - 0x43, 0x16, 0xf0, 0x3d, 0xc1, 0x14, 0x2b, 0x5e, 0x27, 0x19, 0xf2, 0x76, 0xfe, 0x52, 0xcd, 0x32, - 0x22, 0x10, 0x82, 0x89, 0x1a, 0xd6, 0x29, 0xf9, 0xdf, 0xc4, 0xe0, 0xe4, 0x80, 0xb1, 0xf0, 0xab, - 0xac, 0x03, 0x72, 0x42, 0x99, 0x74, 0xd0, 0x89, 0x43, 0x03, 0xf7, 0x67, 0x7b, 0x66, 0x9c, 0x81, - 0x79, 0xf6, 0xed, 0xf1, 0x15, 0xf8, 0x44, 0xf1, 0x1b, 0x31, 0x98, 0x0b, 0x57, 0xc0, 0x6f, 0x4a, - 0x13, 0xf2, 0xe1, 0xa2, 0x79, 0x23, 0xde, 0x35, 0x49, 0x23, 0xc2, 0xf5, 0x8f, 0x80, 0xa0, 0x9b, - 0x81, 0x41, 0x66, 0x11, 0xde, 0xa7, 0x27, 0x16, 0x8a, 0xa8, 0xd8, 0x50, 0xc3, 0xcc, 0xfa, 0xe6, - 0x8f, 0x63, 0x90, 0xdc, 0xb4, 0xac, 0x0e, 0x7a, 0x3f, 0xcc, 0x98, 0x96, 0x47, 0x07, 0x32, 0x6e, - 0xab, 0x3c, 0x04, 0xc5, 0x26, 0xbb, 0xfa, 0xa1, 0xb2, 0xfa, 0xfc, 0x9b, 0x0b, 0x83, 0x9c, 0xc3, - 0xfe, 0x7a, 0x41, 0xc9, 0xb4, 0xbc, 0x2a, 0x25, 0x6a, 0xb1, 0x28, 0xd5, 0x0e, 0x14, 0xa2, 0xc5, - 0xb1, 0x09, 0xb1, 0x32, 0xae, 0xb8, 0xc2, 0xd8, 0xa2, 0xf2, 0xdb, 0xa1, 0x72, 0xd8, 0x83, 0xdf, - 0x7f, 0x4a, 0x7a, 0xee, 0x55, 0x90, 0x6e, 0xf6, 0x1f, 0x46, 0xab, 0x43, 0x5a, 0x1c, 0x3e, 0x8b, - 0x4d, 0x78, 0xae, 0x2d, 0x2c, 0x4e, 0xce, 0x2b, 0xff, 0x52, 0x0c, 0x66, 0x69, 0x79, 0xc6, 0x1b, - 0x98, 0x06, 0x1d, 0x14, 0xac, 0x5b, 0x4e, 0x1b, 0x15, 0x21, 0xce, 0x5f, 0x18, 0x4b, 0x2a, 0x71, - 0xa3, 0x8d, 0x96, 0x60, 0xda, 0xba, 0x63, 0xf2, 0xb3, 0x2d, 0x87, 0x39, 0x12, 0x8c, 0x8c, 0xce, - 0x6c, 0x56, 0xbb, 0xd7, 0xc1, 0xaa, 0xa6, 0x33, 0x67, 0x86, 0x45, 0x5f, 0x0b, 0x2c, 0xb5, 0xc2, - 0x12, 0xd1, 0xa5, 0xf0, 0x51, 0x8a, 0xe4, 0x18, 0xe8, 0x80, 0x94, 0x6b, 0xf4, 0xd7, 0x81, 0xbc, - 0x89, 0xd9, 0x6c, 0x1a, 0x6e, 0x42, 0xa5, 0xe7, 0xed, 0x59, 0x8e, 0xf1, 0x06, 0xd5, 0xa8, 0xfb, - 0x0e, 0x95, 0x9c, 0xfb, 0xb9, 0x18, 0x40, 0x10, 0xe9, 0x44, 0x4f, 0xc0, 0x89, 0xea, 0xc6, 0xfa, - 0x8a, 0xda, 0x6c, 0x55, 0x5a, 0x5b, 0xcd, 0xe8, 0x9f, 0x03, 0x12, 0x8f, 0x88, 0xb9, 0x36, 0xd6, - 0x8d, 0x1d, 0x03, 0xb7, 0xd1, 0x23, 0x30, 0x17, 0xa5, 0x26, 0x5f, 0xf5, 0x15, 0x29, 0x56, 0xce, - 0xdf, 0xbd, 0xb7, 0x98, 0x61, 0x0b, 0x1e, 0xdc, 0x46, 0x67, 0xe1, 0xd8, 0x20, 0x5d, 0x63, 0xfd, - 0xaa, 0x14, 0x2f, 0x17, 0xee, 0xde, 0x5b, 0xcc, 0xfa, 0x2b, 0x23, 0x24, 0x03, 0x0a, 0x53, 0x72, - 0xbc, 0x44, 0x19, 0xee, 0xde, 0x5b, 0x4c, 0x31, 0x05, 0x2d, 0x27, 0x3f, 0xf4, 0x23, 0xa7, 0xa7, - 0xce, 0x7d, 0x3d, 0x40, 0xc3, 0xdc, 0x71, 0x34, 0x9d, 0x0e, 0xc4, 0x32, 0x1c, 0x6f, 0xac, 0x5f, - 0x51, 0x2a, 0xb5, 0x56, 0x63, 0x63, 0xbd, 0xef, 0xaf, 0x18, 0x45, 0xf3, 0x56, 0x36, 0xb6, 0xaa, - 0xab, 0x75, 0xb5, 0xd9, 0xb8, 0xba, 0xce, 0x4e, 0x4c, 0x44, 0xf2, 0xde, 0xbb, 0xde, 0x6a, 0xac, - 0xd5, 0xa5, 0xf8, 0xb9, 0x5f, 0x8a, 0xc3, 0x89, 0x88, 0xbc, 0x57, 0x2d, 0xfd, 0x16, 0x17, 0x52, - 0x15, 0x1e, 0x69, 0x6d, 0xdc, 0xa8, 0xaf, 0x37, 0x5e, 0xab, 0xab, 0xcd, 0x6b, 0x15, 0xa5, 0xae, - 0xd2, 0x27, 0xb6, 0x87, 0xca, 0x8c, 0x3e, 0xfd, 0xdd, 0x07, 0xb0, 0x6e, 0x74, 0xd0, 0xd7, 0xc0, - 0x99, 0x43, 0x30, 0xc8, 0x6f, 0x2a, 0xc7, 0x93, 0x77, 0xef, 0x2d, 0x1e, 0xeb, 0x63, 0x27, 0xbf, - 0x70, 0x1b, 0xad, 0xc0, 0x43, 0x87, 0xd6, 0x82, 0x63, 0xc4, 0xcb, 0xa7, 0xee, 0xde, 0x5b, 0x3c, - 0xd1, 0x87, 0xb1, 0x65, 0x76, 0x18, 0xca, 0x1a, 0x9c, 0x1d, 0x53, 0x0f, 0xb5, 0xfe, 0xca, 0x66, - 0x83, 0xfe, 0xe1, 0xa7, 0x44, 0x79, 0xe1, 0xee, 0xbd, 0xc5, 0x53, 0x43, 0xaa, 0x53, 0xdf, 0xb7, - 0x0d, 0xa2, 0x59, 0xac, 0x6f, 0xaa, 0x57, 0x46, 0x6e, 0x67, 0x3e, 0x71, 0xe8, 0x54, 0x1d, 0xcc, - 0xa4, 0x91, 0x3d, 0xcd, 0xff, 0x13, 0x00, 0x00, 0xff, 0xff, 0xfc, 0xb5, 0xe3, 0x28, 0x56, 0xa6, - 0x00, 0x00, + // 11596 bytes of a gzipped FileDescriptorSet + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x7d, 0x6b, 0x90, 0x1c, 0xc7, + 0x79, 0xd8, 0xed, 0xf3, 0x76, 0xbf, 0x7d, 0xcd, 0xf5, 0x1d, 0x80, 0xc3, 0x82, 0xbc, 0x3b, 0x0c, + 0x45, 0x12, 0x04, 0xc9, 0x03, 0x09, 0x12, 0x20, 0x71, 0x10, 0x45, 0xef, 0xee, 0x2d, 0x80, 0x05, + 0xee, 0x6e, 0x8f, 0xb3, 0x7b, 0x10, 0x49, 0x5b, 0x1a, 0xcf, 0xcd, 0xf6, 0xdd, 0x0d, 0xb1, 0x3b, + 0xb3, 0x9a, 0x99, 0x05, 0xee, 0x58, 0xa9, 0x14, 0x1d, 0xd9, 0x89, 0x0c, 0x3f, 0x22, 0x47, 0x8e, + 0x2d, 0x5b, 0x82, 0x2c, 0xd9, 0xb1, 0x2d, 0x3b, 0x2f, 0x3f, 0x14, 0x3f, 0x2b, 0x8e, 0x9d, 0xa7, + 0xed, 0x4a, 0x52, 0x8a, 0x7f, 0xc4, 0x4e, 0xaa, 0x4c, 0xdb, 0x94, 0x2b, 0x96, 0x65, 0x39, 0xf1, + 0x43, 0x79, 0xb8, 0x54, 0x49, 0xa5, 0xfa, 0x35, 0x8f, 0x7d, 0xdc, 0xee, 0x41, 0xa4, 0xec, 0xd8, + 0xf9, 0x03, 0xec, 0x74, 0x7f, 0xdf, 0xd7, 0xdd, 0x5f, 0x7f, 0xfd, 0xf5, 0xf7, 0x7d, 0xfd, 0x75, + 0x1f, 0xfc, 0x4e, 0x19, 0x96, 0x76, 0x2d, 0x6b, 0xb7, 0x8d, 0xcf, 0x75, 0x6d, 0xcb, 0xb5, 0xb6, + 0x7b, 0x3b, 0xe7, 0x5a, 0xd8, 0xd1, 0x6d, 0xa3, 0xeb, 0x5a, 0xf6, 0x32, 0x2d, 0x43, 0x05, 0x06, + 0xb1, 0x2c, 0x20, 0xe4, 0x75, 0x98, 0xb9, 0x62, 0xb4, 0xf1, 0xaa, 0x07, 0xd8, 0xc0, 0x2e, 0x7a, + 0x1e, 0xe2, 0x3b, 0x46, 0x1b, 0xcf, 0x47, 0x96, 0x62, 0x67, 0x32, 0xe7, 0xdf, 0xb5, 0xdc, 0x87, + 0xb4, 0x1c, 0xc6, 0xd8, 0x24, 0xc5, 0x0a, 0xc5, 0x90, 0xff, 0x4f, 0x1c, 0x66, 0x87, 0xd4, 0x22, + 0x04, 0x71, 0x53, 0xeb, 0x10, 0x8a, 0x91, 0x33, 0x69, 0x85, 0xfe, 0x46, 0xf3, 0x30, 0xdd, 0xd5, + 0xf4, 0x5b, 0xda, 0x2e, 0x9e, 0x8f, 0xd2, 0x62, 0xf1, 0x89, 0x16, 0x00, 0x5a, 0xb8, 0x8b, 0xcd, + 0x16, 0x36, 0xf5, 0x83, 0xf9, 0xd8, 0x52, 0xec, 0x4c, 0x5a, 0x09, 0x94, 0xa0, 0xc7, 0x61, 0xa6, + 0xdb, 0xdb, 0x6e, 0x1b, 0xba, 0x1a, 0x00, 0x83, 0xa5, 0xd8, 0x99, 0x84, 0x22, 0xb1, 0x8a, 0x55, + 0x1f, 0xf8, 0x51, 0x28, 0xdc, 0xc1, 0xda, 0xad, 0x20, 0x68, 0x86, 0x82, 0xe6, 0x49, 0x71, 0x00, + 0xb0, 0x02, 0xd9, 0x0e, 0x76, 0x1c, 0x6d, 0x17, 0xab, 0xee, 0x41, 0x17, 0xcf, 0xc7, 0xe9, 0xe8, + 0x97, 0x06, 0x46, 0xdf, 0x3f, 0xf2, 0x0c, 0xc7, 0x6a, 0x1e, 0x74, 0x31, 0x2a, 0x41, 0x1a, 0x9b, + 0xbd, 0x0e, 0xa3, 0x90, 0x18, 0xc1, 0xbf, 0xaa, 0xd9, 0xeb, 0xf4, 0x53, 0x49, 0x11, 0x34, 0x4e, + 0x62, 0xda, 0xc1, 0xf6, 0x6d, 0x43, 0xc7, 0xf3, 0x49, 0x4a, 0xe0, 0xd1, 0x01, 0x02, 0x0d, 0x56, + 0xdf, 0x4f, 0x43, 0xe0, 0xa1, 0x0a, 0xa4, 0xf1, 0xbe, 0x8b, 0x4d, 0xc7, 0xb0, 0xcc, 0xf9, 0x69, + 0x4a, 0xe4, 0xe1, 0x21, 0xb3, 0x88, 0xdb, 0xad, 0x7e, 0x12, 0x3e, 0x1e, 0xba, 0x08, 0xd3, 0x56, + 0xd7, 0x35, 0x2c, 0xd3, 0x99, 0x4f, 0x2d, 0x45, 0xce, 0x64, 0xce, 0x3f, 0x30, 0x54, 0x10, 0xea, + 0x0c, 0x46, 0x11, 0xc0, 0xa8, 0x06, 0x92, 0x63, 0xf5, 0x6c, 0x1d, 0xab, 0xba, 0xd5, 0xc2, 0xaa, + 0x61, 0xee, 0x58, 0xf3, 0x69, 0x4a, 0x60, 0x71, 0x70, 0x20, 0x14, 0xb0, 0x62, 0xb5, 0x70, 0xcd, + 0xdc, 0xb1, 0x94, 0xbc, 0x13, 0xfa, 0x46, 0xc7, 0x21, 0xe9, 0x1c, 0x98, 0xae, 0xb6, 0x3f, 0x9f, + 0xa5, 0x12, 0xc2, 0xbf, 0x88, 0xe8, 0xe0, 0x96, 0x41, 0x9a, 0x9b, 0xcf, 0x31, 0xd1, 0xe1, 0x9f, + 0xf2, 0xcf, 0x26, 0xa1, 0x30, 0x89, 0xf0, 0x5d, 0x86, 0xc4, 0x0e, 0x19, 0xff, 0x7c, 0xf4, 0x28, + 0xdc, 0x61, 0x38, 0x61, 0xf6, 0x26, 0xef, 0x93, 0xbd, 0x25, 0xc8, 0x98, 0xd8, 0x71, 0x71, 0x8b, + 0xc9, 0x4a, 0x6c, 0x42, 0x69, 0x03, 0x86, 0x34, 0x28, 0x6c, 0xf1, 0xfb, 0x12, 0xb6, 0x97, 0xa1, + 0xe0, 0x75, 0x49, 0xb5, 0x35, 0x73, 0x57, 0x48, 0xed, 0xb9, 0x71, 0x3d, 0x59, 0xae, 0x0a, 0x3c, + 0x85, 0xa0, 0x29, 0x79, 0x1c, 0xfa, 0x46, 0xab, 0x00, 0x96, 0x89, 0xad, 0x1d, 0xb5, 0x85, 0xf5, + 0xf6, 0x7c, 0x6a, 0x04, 0x97, 0xea, 0x04, 0x64, 0x80, 0x4b, 0x16, 0x2b, 0xd5, 0xdb, 0xe8, 0x92, + 0x2f, 0x84, 0xd3, 0x23, 0x64, 0x68, 0x9d, 0x2d, 0xbf, 0x01, 0x39, 0xdc, 0x82, 0xbc, 0x8d, 0xc9, + 0x8a, 0xc0, 0x2d, 0x3e, 0xb2, 0x34, 0xed, 0xc4, 0xf2, 0xd8, 0x91, 0x29, 0x1c, 0x8d, 0x0d, 0x2c, + 0x67, 0x07, 0x3f, 0xd1, 0x43, 0xe0, 0x15, 0xa8, 0x54, 0xac, 0x80, 0xea, 0xa7, 0xac, 0x28, 0xdc, + 0xd0, 0x3a, 0xb8, 0xf8, 0x3a, 0xe4, 0xc3, 0xec, 0x41, 0x73, 0x90, 0x70, 0x5c, 0xcd, 0x76, 0xa9, + 0x14, 0x26, 0x14, 0xf6, 0x81, 0x24, 0x88, 0x61, 0xb3, 0x45, 0xf5, 0x5f, 0x42, 0x21, 0x3f, 0xd1, + 0xd7, 0xf8, 0x03, 0x8e, 0xd1, 0x01, 0x3f, 0x32, 0x38, 0xa3, 0x21, 0xca, 0xfd, 0xe3, 0x2e, 0x3e, + 0x07, 0xb9, 0xd0, 0x00, 0x26, 0x6d, 0x5a, 0xfe, 0x6b, 0x70, 0x6c, 0x28, 0x69, 0xf4, 0x32, 0xcc, + 0xf5, 0x4c, 0xc3, 0x74, 0xb1, 0xdd, 0xb5, 0x31, 0x91, 0x58, 0xd6, 0xd4, 0xfc, 0xef, 0x4d, 0x8f, + 0x90, 0xb9, 0xad, 0x20, 0x34, 0xa3, 0xa2, 0xcc, 0xf6, 0x06, 0x0b, 0xcf, 0xa6, 0x53, 0x9f, 0x9f, + 0x96, 0xde, 0x78, 0xe3, 0x8d, 0x37, 0xa2, 0xf2, 0x2f, 0x25, 0x61, 0x6e, 0xd8, 0x9a, 0x19, 0xba, + 0x7c, 0x8f, 0x43, 0xd2, 0xec, 0x75, 0xb6, 0xb1, 0x4d, 0x99, 0x94, 0x50, 0xf8, 0x17, 0x2a, 0x41, + 0xa2, 0xad, 0x6d, 0xe3, 0xf6, 0x7c, 0x7c, 0x29, 0x72, 0x26, 0x7f, 0xfe, 0xf1, 0x89, 0x56, 0xe5, + 0xf2, 0x1a, 0x41, 0x51, 0x18, 0x26, 0x7a, 0x0f, 0xc4, 0xb9, 0xf2, 0x26, 0x14, 0xce, 0x4e, 0x46, + 0x81, 0xac, 0x25, 0x85, 0xe2, 0xa1, 0x53, 0x90, 0x26, 0xff, 0x33, 0xd9, 0x48, 0xd2, 0x3e, 0xa7, + 0x48, 0x01, 0x91, 0x0b, 0x54, 0x84, 0x14, 0x5d, 0x26, 0x2d, 0x2c, 0x36, 0x3d, 0xef, 0x9b, 0x08, + 0x56, 0x0b, 0xef, 0x68, 0xbd, 0xb6, 0xab, 0xde, 0xd6, 0xda, 0x3d, 0x4c, 0x05, 0x3e, 0xad, 0x64, + 0x79, 0xe1, 0x4d, 0x52, 0x86, 0x16, 0x21, 0xc3, 0x56, 0x95, 0x61, 0xb6, 0xf0, 0x3e, 0xd5, 0xab, + 0x09, 0x85, 0x2d, 0xb4, 0x1a, 0x29, 0x21, 0xcd, 0xbf, 0xe6, 0x58, 0xa6, 0x10, 0x4d, 0xda, 0x04, + 0x29, 0xa0, 0xcd, 0x3f, 0xd7, 0xaf, 0xd2, 0x1f, 0x1c, 0x3e, 0xbc, 0x81, 0xb5, 0xf4, 0x28, 0x14, + 0x28, 0xc4, 0x33, 0x7c, 0xea, 0xb5, 0xf6, 0xfc, 0xcc, 0x52, 0xe4, 0x4c, 0x4a, 0xc9, 0xb3, 0xe2, + 0x3a, 0x2f, 0x95, 0x7f, 0x2a, 0x0a, 0x71, 0xaa, 0x58, 0x0a, 0x90, 0x69, 0xbe, 0xb2, 0x59, 0x55, + 0x57, 0xeb, 0x5b, 0xe5, 0xb5, 0xaa, 0x14, 0x41, 0x79, 0x00, 0x5a, 0x70, 0x65, 0xad, 0x5e, 0x6a, + 0x4a, 0x51, 0xef, 0xbb, 0xb6, 0xd1, 0xbc, 0xf8, 0xac, 0x14, 0xf3, 0x10, 0xb6, 0x58, 0x41, 0x3c, + 0x08, 0xf0, 0xcc, 0x79, 0x29, 0x81, 0x24, 0xc8, 0x32, 0x02, 0xb5, 0x97, 0xab, 0xab, 0x17, 0x9f, + 0x95, 0x92, 0xe1, 0x92, 0x67, 0xce, 0x4b, 0xd3, 0x28, 0x07, 0x69, 0x5a, 0x52, 0xae, 0xd7, 0xd7, + 0xa4, 0x94, 0x47, 0xb3, 0xd1, 0x54, 0x6a, 0x1b, 0x57, 0xa5, 0xb4, 0x47, 0xf3, 0xaa, 0x52, 0xdf, + 0xda, 0x94, 0xc0, 0xa3, 0xb0, 0x5e, 0x6d, 0x34, 0x4a, 0x57, 0xab, 0x52, 0xc6, 0x83, 0x28, 0xbf, + 0xd2, 0xac, 0x36, 0xa4, 0x6c, 0xa8, 0x5b, 0xcf, 0x9c, 0x97, 0x72, 0x5e, 0x13, 0xd5, 0x8d, 0xad, + 0x75, 0x29, 0x8f, 0x66, 0x20, 0xc7, 0x9a, 0x10, 0x9d, 0x28, 0xf4, 0x15, 0x5d, 0x7c, 0x56, 0x92, + 0xfc, 0x8e, 0x30, 0x2a, 0x33, 0xa1, 0x82, 0x8b, 0xcf, 0x4a, 0x48, 0xae, 0x40, 0x82, 0x8a, 0x21, + 0x42, 0x90, 0x5f, 0x2b, 0x95, 0xab, 0x6b, 0x6a, 0x7d, 0xb3, 0x59, 0xab, 0x6f, 0x94, 0xd6, 0xa4, + 0x88, 0x5f, 0xa6, 0x54, 0x5f, 0xda, 0xaa, 0x29, 0xd5, 0x55, 0x29, 0x1a, 0x2c, 0xdb, 0xac, 0x96, + 0x9a, 0xd5, 0x55, 0x29, 0x26, 0xeb, 0x30, 0x37, 0x4c, 0xa1, 0x0e, 0x5d, 0x42, 0x01, 0x59, 0x88, + 0x8e, 0x90, 0x05, 0x4a, 0xab, 0x5f, 0x16, 0xe4, 0xcf, 0x45, 0x61, 0x76, 0xc8, 0xa6, 0x32, 0xb4, + 0x91, 0x17, 0x21, 0xc1, 0x64, 0x99, 0x6d, 0xb3, 0x8f, 0x0d, 0xdd, 0x9d, 0xa8, 0x64, 0x0f, 0x6c, + 0xb5, 0x14, 0x2f, 0x68, 0x84, 0xc4, 0x46, 0x18, 0x21, 0x84, 0xc4, 0x80, 0xc0, 0xbe, 0x6f, 0x40, + 0xf9, 0xb3, 0xfd, 0xf1, 0xe2, 0x24, 0xfb, 0x23, 0x2d, 0x3b, 0xda, 0x26, 0x90, 0x18, 0xb2, 0x09, + 0x5c, 0x86, 0x99, 0x01, 0x42, 0x13, 0x2b, 0xe3, 0x0f, 0x46, 0x60, 0x7e, 0x14, 0x73, 0xc6, 0xa8, + 0xc4, 0x68, 0x48, 0x25, 0x5e, 0xee, 0xe7, 0xe0, 0xe9, 0xd1, 0x93, 0x30, 0x30, 0xd7, 0x3f, 0x1c, + 0x81, 0xe3, 0xc3, 0x8d, 0xcd, 0xa1, 0x7d, 0x78, 0x0f, 0x24, 0x3b, 0xd8, 0xdd, 0xb3, 0x84, 0x59, + 0xf5, 0xc8, 0x90, 0xcd, 0x9a, 0x54, 0xf7, 0x4f, 0x36, 0xc7, 0x0a, 0xee, 0xf6, 0xb1, 0x51, 0x16, + 0x23, 0xeb, 0xcd, 0x40, 0x4f, 0xbf, 0x39, 0x0a, 0xc7, 0x86, 0x12, 0x1f, 0xda, 0xd1, 0x07, 0x01, + 0x0c, 0xb3, 0xdb, 0x73, 0x99, 0xe9, 0xc4, 0x34, 0x71, 0x9a, 0x96, 0x50, 0xe5, 0x45, 0xb4, 0x6c, + 0xcf, 0xf5, 0xea, 0x63, 0xb4, 0x1e, 0x58, 0x11, 0x05, 0x78, 0xde, 0xef, 0x68, 0x9c, 0x76, 0x74, + 0x61, 0xc4, 0x48, 0x07, 0x04, 0xf3, 0x29, 0x90, 0xf4, 0xb6, 0x81, 0x4d, 0x57, 0x75, 0x5c, 0x1b, + 0x6b, 0x1d, 0xc3, 0xdc, 0xa5, 0x5b, 0x4d, 0x6a, 0x25, 0xb1, 0xa3, 0xb5, 0x1d, 0xac, 0x14, 0x58, + 0x75, 0x43, 0xd4, 0x12, 0x0c, 0x2a, 0x40, 0x76, 0x00, 0x23, 0x19, 0xc2, 0x60, 0xd5, 0x1e, 0x86, + 0xfc, 0x1d, 0x69, 0xc8, 0x04, 0x4c, 0x73, 0x74, 0x1a, 0xb2, 0xaf, 0x69, 0xb7, 0x35, 0x55, 0xb8, + 0x5b, 0x8c, 0x13, 0x19, 0x52, 0xb6, 0xc9, 0x5d, 0xae, 0xa7, 0x60, 0x8e, 0x82, 0x58, 0x3d, 0x17, + 0xdb, 0xaa, 0xde, 0xd6, 0x1c, 0x87, 0x32, 0x2d, 0x45, 0x41, 0x11, 0xa9, 0xab, 0x93, 0xaa, 0x8a, + 0xa8, 0x41, 0x17, 0x60, 0x96, 0x62, 0x74, 0x7a, 0x6d, 0xd7, 0xe8, 0xb6, 0xb1, 0x4a, 0x1c, 0x40, + 0x87, 0x6e, 0x39, 0x5e, 0xcf, 0x66, 0x08, 0xc4, 0x3a, 0x07, 0x20, 0x3d, 0x72, 0xd0, 0x2a, 0x3c, + 0x48, 0xd1, 0x76, 0xb1, 0x89, 0x6d, 0xcd, 0xc5, 0x2a, 0xfe, 0x40, 0x4f, 0x6b, 0x3b, 0xaa, 0x66, + 0xb6, 0xd4, 0x3d, 0xcd, 0xd9, 0x9b, 0x9f, 0x23, 0x04, 0xca, 0xd1, 0xf9, 0x88, 0x72, 0x92, 0x00, + 0x5e, 0xe5, 0x70, 0x55, 0x0a, 0x56, 0x32, 0x5b, 0xd7, 0x34, 0x67, 0x0f, 0xad, 0xc0, 0x71, 0x4a, + 0xc5, 0x71, 0x6d, 0xc3, 0xdc, 0x55, 0xf5, 0x3d, 0xac, 0xdf, 0x52, 0x7b, 0xee, 0xce, 0xf3, 0xf3, + 0xa7, 0x82, 0xed, 0xd3, 0x1e, 0x36, 0x28, 0x4c, 0x85, 0x80, 0x6c, 0xb9, 0x3b, 0xcf, 0xa3, 0x06, + 0x64, 0xc9, 0x64, 0x74, 0x8c, 0xd7, 0xb1, 0xba, 0x63, 0xd9, 0x74, 0x0f, 0xcd, 0x0f, 0x51, 0x4d, + 0x01, 0x0e, 0x2e, 0xd7, 0x39, 0xc2, 0xba, 0xd5, 0xc2, 0x2b, 0x89, 0xc6, 0x66, 0xb5, 0xba, 0xaa, + 0x64, 0x04, 0x95, 0x2b, 0x96, 0x4d, 0x04, 0x6a, 0xd7, 0xf2, 0x18, 0x9c, 0x61, 0x02, 0xb5, 0x6b, + 0x09, 0xf6, 0x5e, 0x80, 0x59, 0x5d, 0x67, 0x63, 0x36, 0x74, 0x95, 0xbb, 0x69, 0xce, 0xbc, 0x14, + 0x62, 0x96, 0xae, 0x5f, 0x65, 0x00, 0x5c, 0xc6, 0x1d, 0x74, 0x09, 0x8e, 0xf9, 0xcc, 0x0a, 0x22, + 0xce, 0x0c, 0x8c, 0xb2, 0x1f, 0xf5, 0x02, 0xcc, 0x76, 0x0f, 0x06, 0x11, 0x51, 0xa8, 0xc5, 0xee, + 0x41, 0x3f, 0xda, 0x73, 0x30, 0xd7, 0xdd, 0xeb, 0x0e, 0xe2, 0x9d, 0x0d, 0xe2, 0xa1, 0xee, 0x5e, + 0xb7, 0x1f, 0xf1, 0x61, 0xea, 0xb3, 0xdb, 0x58, 0xd7, 0x5c, 0xdc, 0x9a, 0x3f, 0x11, 0x04, 0x0f, + 0x54, 0xa0, 0x65, 0x90, 0x74, 0x5d, 0xc5, 0xa6, 0xb6, 0xdd, 0xc6, 0xaa, 0x66, 0x63, 0x53, 0x73, + 0xe6, 0x17, 0x29, 0x70, 0xdc, 0xb5, 0x7b, 0x58, 0xc9, 0xeb, 0x7a, 0x95, 0x56, 0x96, 0x68, 0x1d, + 0x3a, 0x0b, 0x33, 0xd6, 0xf6, 0x6b, 0x3a, 0x93, 0x48, 0xb5, 0x6b, 0xe3, 0x1d, 0x63, 0x7f, 0xfe, + 0x5d, 0x94, 0xbd, 0x05, 0x52, 0x41, 0xe5, 0x71, 0x93, 0x16, 0xa3, 0xc7, 0x40, 0xd2, 0x9d, 0x3d, + 0xcd, 0xee, 0x52, 0x95, 0xec, 0x74, 0x35, 0x1d, 0xcf, 0x3f, 0xcc, 0x40, 0x59, 0xf9, 0x86, 0x28, + 0x26, 0x2b, 0xc2, 0xb9, 0x63, 0xec, 0xb8, 0x82, 0xe2, 0xa3, 0x6c, 0x45, 0xd0, 0x32, 0x4e, 0xed, + 0x0c, 0x48, 0x84, 0x13, 0xa1, 0x86, 0xcf, 0x50, 0xb0, 0x7c, 0x77, 0xaf, 0x1b, 0x6c, 0xf7, 0x21, + 0xc8, 0x11, 0x48, 0xbf, 0xd1, 0xc7, 0x98, 0xe1, 0xd6, 0xdd, 0x0b, 0xb4, 0xf8, 0x2c, 0x1c, 0x27, + 0x40, 0x1d, 0xec, 0x6a, 0x2d, 0xcd, 0xd5, 0x02, 0xd0, 0x4f, 0x50, 0x68, 0xc2, 0xf6, 0x75, 0x5e, + 0x19, 0xea, 0xa7, 0xdd, 0xdb, 0x3e, 0xf0, 0x04, 0xeb, 0x49, 0xd6, 0x4f, 0x52, 0x26, 0x44, 0xeb, + 0x1d, 0x33, 0xce, 0xe5, 0x15, 0xc8, 0x06, 0xe5, 0x1e, 0xa5, 0x81, 0x49, 0xbe, 0x14, 0x21, 0x46, + 0x50, 0xa5, 0xbe, 0x4a, 0xcc, 0x97, 0x57, 0xab, 0x52, 0x94, 0x98, 0x51, 0x6b, 0xb5, 0x66, 0x55, + 0x55, 0xb6, 0x36, 0x9a, 0xb5, 0xf5, 0xaa, 0x14, 0x0b, 0x18, 0xf6, 0xd7, 0xe3, 0xa9, 0x47, 0xa4, + 0x47, 0xe5, 0x9f, 0x8f, 0x41, 0x3e, 0xec, 0xa9, 0xa1, 0x77, 0xc3, 0x09, 0x11, 0x70, 0x71, 0xb0, + 0xab, 0xde, 0x31, 0x6c, 0xba, 0x20, 0x3b, 0x1a, 0xdb, 0x1c, 0x3d, 0xf9, 0x99, 0xe3, 0x50, 0x0d, + 0xec, 0xbe, 0xd7, 0xb0, 0xc9, 0x72, 0xeb, 0x68, 0x2e, 0x5a, 0x83, 0x45, 0xd3, 0x52, 0x1d, 0x57, + 0x33, 0x5b, 0x9a, 0xdd, 0x52, 0xfd, 0x50, 0x97, 0xaa, 0xe9, 0x3a, 0x76, 0x1c, 0x8b, 0x6d, 0x84, + 0x1e, 0x95, 0x07, 0x4c, 0xab, 0xc1, 0x81, 0xfd, 0x1d, 0xa2, 0xc4, 0x41, 0xfb, 0xc4, 0x37, 0x36, + 0x4a, 0x7c, 0x4f, 0x41, 0xba, 0xa3, 0x75, 0x55, 0x6c, 0xba, 0xf6, 0x01, 0xb5, 0xcf, 0x53, 0x4a, + 0xaa, 0xa3, 0x75, 0xab, 0xe4, 0x1b, 0xdd, 0x84, 0x47, 0x7c, 0x50, 0xb5, 0x8d, 0x77, 0x35, 0xfd, + 0x40, 0xa5, 0xc6, 0x38, 0x0d, 0x1b, 0xa8, 0xba, 0x65, 0xee, 0xb4, 0x0d, 0xdd, 0x75, 0xa8, 0x7e, + 0x60, 0x3a, 0x4e, 0xf6, 0x31, 0xd6, 0x28, 0xc2, 0x75, 0xc7, 0x32, 0xa9, 0x0d, 0x5e, 0x11, 0xd0, + 0x5f, 0x15, 0xf7, 0xeb, 0x7a, 0x3c, 0x15, 0x97, 0x12, 0xd7, 0xe3, 0xa9, 0x84, 0x94, 0xbc, 0x1e, + 0x4f, 0x25, 0xa5, 0xe9, 0xeb, 0xf1, 0x54, 0x4a, 0x4a, 0x5f, 0x8f, 0xa7, 0xd2, 0x12, 0xc8, 0x3f, + 0x9d, 0x82, 0x6c, 0xd0, 0x33, 0x20, 0x8e, 0x96, 0x4e, 0xf7, 0xc6, 0x08, 0xd5, 0x9e, 0x0f, 0x1d, + 0xea, 0x47, 0x2c, 0x57, 0xc8, 0xa6, 0xb9, 0x92, 0x64, 0x66, 0xb8, 0xc2, 0x30, 0x89, 0xc1, 0x42, + 0xc4, 0x1a, 0x33, 0xb3, 0x27, 0xa5, 0xf0, 0x2f, 0x74, 0x15, 0x92, 0xaf, 0x39, 0x94, 0x76, 0x92, + 0xd2, 0x7e, 0xd7, 0xe1, 0xb4, 0xaf, 0x37, 0x28, 0xf1, 0xf4, 0xf5, 0x86, 0xba, 0x51, 0x57, 0xd6, + 0x4b, 0x6b, 0x0a, 0x47, 0x47, 0x27, 0x21, 0xde, 0xd6, 0x5e, 0x3f, 0x08, 0x6f, 0xaf, 0xb4, 0x08, + 0x2d, 0x43, 0xa1, 0x67, 0xde, 0xc6, 0xb6, 0xb1, 0x63, 0x90, 0xa9, 0x22, 0x50, 0x85, 0x20, 0x54, + 0xde, 0xaf, 0x5d, 0x23, 0xf0, 0x13, 0x8a, 0xc7, 0x49, 0x88, 0xdf, 0xc1, 0xda, 0xad, 0xf0, 0x26, + 0x48, 0x8b, 0xd0, 0x19, 0xc8, 0xb6, 0xf0, 0x76, 0x6f, 0x57, 0xb5, 0x71, 0x4b, 0xd3, 0xdd, 0xb0, + 0xea, 0xcf, 0xd0, 0x2a, 0x85, 0xd6, 0xa0, 0x1b, 0x90, 0x26, 0x73, 0x64, 0xd2, 0x39, 0x9e, 0xa1, + 0x2c, 0x78, 0xf2, 0x70, 0x16, 0xf0, 0x29, 0x16, 0x48, 0x8a, 0x8f, 0x8f, 0xae, 0x40, 0xd2, 0xd5, + 0xec, 0x5d, 0xec, 0x52, 0xcd, 0x9f, 0x1f, 0x12, 0xfc, 0x18, 0x42, 0xa9, 0x49, 0x31, 0xa8, 0x4f, + 0xcb, 0xb1, 0xdf, 0x41, 0x2d, 0x73, 0x0e, 0x12, 0x54, 0x3c, 0x10, 0x00, 0x17, 0x10, 0x69, 0x0a, + 0xa5, 0x20, 0x5e, 0xa9, 0x2b, 0x44, 0xd3, 0x48, 0x90, 0x65, 0xa5, 0xea, 0x66, 0xad, 0x5a, 0xa9, + 0x4a, 0x51, 0xf9, 0x02, 0x24, 0xd9, 0x9c, 0x13, 0x2d, 0xe4, 0xcd, 0xba, 0x34, 0xc5, 0x3f, 0x39, + 0x8d, 0x88, 0xa8, 0xdd, 0x5a, 0x2f, 0x57, 0x15, 0x29, 0x2a, 0x6f, 0x41, 0xa1, 0x8f, 0x4f, 0xe8, + 0x18, 0xcc, 0x28, 0xd5, 0x66, 0x75, 0x83, 0xf8, 0x59, 0xea, 0xd6, 0xc6, 0x8d, 0x8d, 0xfa, 0x7b, + 0x37, 0xa4, 0xa9, 0x70, 0xb1, 0x50, 0x69, 0x11, 0x34, 0x07, 0x92, 0x5f, 0xdc, 0xa8, 0x6f, 0x29, + 0xb4, 0x37, 0xdf, 0x1a, 0x05, 0xa9, 0x9f, 0x6b, 0xe8, 0x04, 0xcc, 0x36, 0x4b, 0xca, 0xd5, 0x6a, + 0x53, 0x65, 0xbe, 0xa3, 0x47, 0x7a, 0x0e, 0xa4, 0x60, 0xc5, 0x95, 0x1a, 0x75, 0x8d, 0x17, 0xe1, + 0x54, 0xb0, 0xb4, 0xfa, 0x72, 0xb3, 0xba, 0xd1, 0xa0, 0x8d, 0x97, 0x36, 0xae, 0x12, 0xfd, 0xda, + 0x47, 0x4f, 0x78, 0xab, 0x31, 0xd2, 0xd5, 0x30, 0xbd, 0xea, 0xda, 0xaa, 0x14, 0xef, 0x2f, 0xae, + 0x6f, 0x54, 0xeb, 0x57, 0xa4, 0x44, 0x7f, 0xeb, 0xd4, 0x83, 0x4d, 0xa2, 0x22, 0x1c, 0xef, 0x2f, + 0x55, 0xab, 0x1b, 0x4d, 0xe5, 0x15, 0x69, 0xba, 0xbf, 0xe1, 0x46, 0x55, 0xb9, 0x59, 0xab, 0x54, + 0xa5, 0x14, 0x3a, 0x0e, 0x28, 0xdc, 0xa3, 0xe6, 0xb5, 0xfa, 0xaa, 0x94, 0x1e, 0xd0, 0x28, 0xb2, + 0x03, 0xd9, 0xa0, 0x1b, 0xf9, 0xd5, 0x89, 0x25, 0x7d, 0x34, 0x0a, 0x99, 0x80, 0x5b, 0x48, 0xec, + 0x79, 0xad, 0xdd, 0xb6, 0xee, 0xa8, 0x5a, 0xdb, 0xd0, 0x1c, 0xae, 0x6f, 0x80, 0x16, 0x95, 0x48, + 0xc9, 0xa4, 0xeb, 0x7b, 0x72, 0x0d, 0x9f, 0xfc, 0x8b, 0xa8, 0xe1, 0x13, 0x52, 0x52, 0xfe, 0x44, + 0x04, 0xa4, 0x7e, 0x7f, 0xaf, 0x6f, 0xf8, 0x91, 0x51, 0xc3, 0xff, 0xaa, 0xcc, 0xdd, 0xc7, 0x23, + 0x90, 0x0f, 0x3b, 0x79, 0x7d, 0xdd, 0x3b, 0xfd, 0xe7, 0xda, 0xbd, 0xdf, 0x8e, 0x42, 0x2e, 0xe4, + 0xda, 0x4d, 0xda, 0xbb, 0x0f, 0xc0, 0x8c, 0xd1, 0xc2, 0x9d, 0xae, 0xe5, 0x62, 0x53, 0x3f, 0x50, + 0xdb, 0xf8, 0x36, 0x6e, 0xcf, 0xcb, 0x54, 0x29, 0x9f, 0x3b, 0xdc, 0x79, 0x5c, 0xae, 0xf9, 0x78, + 0x6b, 0x04, 0x6d, 0x65, 0xb6, 0xb6, 0x5a, 0x5d, 0xdf, 0xac, 0x37, 0xab, 0x1b, 0x95, 0x57, 0x84, + 0x76, 0x51, 0x24, 0xa3, 0x0f, 0xec, 0x1d, 0x54, 0xda, 0x9b, 0x20, 0xf5, 0x77, 0x8a, 0xe8, 0x8a, + 0x21, 0xdd, 0x92, 0xa6, 0xd0, 0x2c, 0x14, 0x36, 0xea, 0x6a, 0xa3, 0xb6, 0x5a, 0x55, 0xab, 0x57, + 0xae, 0x54, 0x2b, 0xcd, 0x06, 0x0b, 0x07, 0x7a, 0xd0, 0x4d, 0x29, 0x1a, 0x64, 0xf1, 0xf7, 0xc6, + 0x60, 0x76, 0x48, 0x4f, 0x50, 0x89, 0x3b, 0xf2, 0x2c, 0xb6, 0xf0, 0xe4, 0x24, 0xbd, 0x5f, 0x26, + 0xa6, 0xf4, 0xa6, 0x66, 0xbb, 0xdc, 0xef, 0x7f, 0x0c, 0x08, 0x97, 0x4c, 0x97, 0xec, 0xec, 0x36, + 0x0f, 0xb3, 0x32, 0xef, 0xbe, 0xe0, 0x97, 0xb3, 0x48, 0xeb, 0x13, 0x80, 0xba, 0x96, 0x63, 0xb8, + 0xc6, 0x6d, 0xac, 0x1a, 0xa6, 0x88, 0xc9, 0x12, 0x6f, 0x3f, 0xae, 0x48, 0xa2, 0xa6, 0x66, 0xba, + 0x1e, 0xb4, 0x89, 0x77, 0xb5, 0x3e, 0x68, 0x62, 0x79, 0xc4, 0x14, 0x49, 0xd4, 0x78, 0xd0, 0xa7, + 0x21, 0xdb, 0xb2, 0x7a, 0xc4, 0x05, 0x62, 0x70, 0x44, 0x5b, 0x44, 0x94, 0x0c, 0x2b, 0xf3, 0x40, + 0xb8, 0x73, 0xeb, 0x07, 0x83, 0xb3, 0x4a, 0x86, 0x95, 0x31, 0x90, 0x47, 0xa1, 0xa0, 0xed, 0xee, + 0xda, 0x84, 0xb8, 0x20, 0xc4, 0xdc, 0xf5, 0xbc, 0x57, 0x4c, 0x01, 0x8b, 0xd7, 0x21, 0x25, 0xf8, + 0x40, 0x2c, 0x58, 0xc2, 0x09, 0xb5, 0xcb, 0x62, 0x50, 0xd1, 0x33, 0x69, 0x25, 0x65, 0x8a, 0xca, + 0xd3, 0x90, 0x35, 0x1c, 0xd5, 0x3f, 0xdb, 0x8a, 0x2e, 0x45, 0xcf, 0xa4, 0x94, 0x8c, 0xe1, 0x78, + 0xe7, 0x02, 0xf2, 0x0f, 0x47, 0x21, 0x1f, 0x3e, 0xb5, 0x43, 0xab, 0x90, 0x6a, 0x5b, 0xba, 0x46, + 0x45, 0x8b, 0x1d, 0x19, 0x9f, 0x19, 0x73, 0xd0, 0xb7, 0xbc, 0xc6, 0xe1, 0x15, 0x0f, 0xb3, 0xf8, + 0xef, 0x23, 0x90, 0x12, 0xc5, 0xe8, 0x38, 0xc4, 0xbb, 0x9a, 0xbb, 0x47, 0xc9, 0x25, 0xca, 0x51, + 0x29, 0xa2, 0xd0, 0x6f, 0x52, 0xee, 0x74, 0x35, 0x93, 0x8a, 0x00, 0x2f, 0x27, 0xdf, 0x64, 0x5e, + 0xdb, 0x58, 0x6b, 0xd1, 0x58, 0x80, 0xd5, 0xe9, 0x60, 0xd3, 0x75, 0xc4, 0xbc, 0xf2, 0xf2, 0x0a, + 0x2f, 0x46, 0x8f, 0xc3, 0x8c, 0x6b, 0x6b, 0x46, 0x3b, 0x04, 0x1b, 0xa7, 0xb0, 0x92, 0xa8, 0xf0, + 0x80, 0x57, 0xe0, 0xa4, 0xa0, 0xdb, 0xc2, 0xae, 0xa6, 0xef, 0xe1, 0x96, 0x8f, 0x94, 0xa4, 0x31, + 0xbf, 0x13, 0x1c, 0x60, 0x95, 0xd7, 0x0b, 0x5c, 0xf9, 0xb3, 0x51, 0x98, 0x11, 0xd1, 0x8b, 0x96, + 0xc7, 0xac, 0x75, 0x00, 0xcd, 0x34, 0x2d, 0x37, 0xc8, 0xae, 0x41, 0x51, 0x1e, 0xc0, 0x5b, 0x2e, + 0x79, 0x48, 0x4a, 0x80, 0x40, 0xf1, 0x0f, 0x22, 0x00, 0x7e, 0xd5, 0x48, 0xbe, 0x2d, 0x42, 0x86, + 0x9f, 0xc9, 0xd2, 0x83, 0x7d, 0x16, 0xf0, 0x02, 0x56, 0x74, 0xc5, 0x68, 0xd3, 0xb0, 0xe4, 0x36, + 0xde, 0x35, 0x4c, 0x7e, 0x9e, 0xc2, 0x3e, 0x44, 0x58, 0x32, 0xee, 0x1f, 0x4f, 0x29, 0x90, 0x72, + 0x70, 0x47, 0x33, 0x5d, 0x43, 0xe7, 0x27, 0x24, 0x17, 0x8f, 0xd4, 0xf9, 0xe5, 0x06, 0xc7, 0x56, + 0x3c, 0x3a, 0xf2, 0x19, 0x48, 0x89, 0x52, 0x62, 0xf8, 0x6d, 0xd4, 0x37, 0xaa, 0xd2, 0x14, 0x9a, + 0x86, 0x58, 0xa3, 0xda, 0x94, 0x22, 0xc4, 0xed, 0x2c, 0xad, 0xd5, 0x4a, 0x0d, 0x29, 0x5a, 0xfe, + 0xeb, 0x30, 0xab, 0x5b, 0x9d, 0xfe, 0x06, 0xcb, 0x52, 0x5f, 0xc8, 0xcf, 0xb9, 0x16, 0x79, 0xf5, + 0x49, 0x0e, 0xb4, 0x6b, 0xb5, 0x35, 0x73, 0x77, 0xd9, 0xb2, 0x77, 0xfd, 0xb4, 0x08, 0xe2, 0x1d, + 0x38, 0x81, 0xe4, 0x88, 0xee, 0xf6, 0xff, 0x8a, 0x44, 0xbe, 0x3f, 0x1a, 0xbb, 0xba, 0x59, 0xfe, + 0xd1, 0x68, 0xf1, 0x2a, 0x43, 0xdc, 0x14, 0xc3, 0x51, 0xf0, 0x4e, 0x1b, 0xeb, 0xa4, 0xf3, 0xf0, + 0xb1, 0x38, 0xcc, 0x68, 0x1d, 0xc3, 0xb4, 0xce, 0xd1, 0x7f, 0x79, 0x52, 0x45, 0x82, 0x7e, 0x14, + 0xc7, 0x66, 0x5f, 0xac, 0x5c, 0x64, 0x0a, 0x0c, 0x8d, 0x3b, 0xc3, 0x9c, 0xff, 0xe3, 0x6f, 0xfd, + 0xa1, 0x84, 0x1f, 0xad, 0x5c, 0x59, 0x07, 0x49, 0x38, 0xca, 0xd8, 0xd4, 0x2d, 0x22, 0x6d, 0xe3, + 0x69, 0xfc, 0x89, 0xa0, 0x51, 0xe0, 0xb8, 0x55, 0x8e, 0xba, 0xf2, 0x6e, 0x48, 0x79, 0x64, 0x0e, + 0x3f, 0x00, 0x9a, 0xff, 0x53, 0x41, 0xc4, 0xc3, 0x58, 0x79, 0x11, 0x80, 0x19, 0x3b, 0x2c, 0x90, + 0x7a, 0x38, 0xfe, 0x97, 0x04, 0x7e, 0x9a, 0xe2, 0x10, 0x2d, 0xb4, 0x72, 0x15, 0xf2, 0x2d, 0xcb, + 0x74, 0x55, 0xab, 0x63, 0xb8, 0xb8, 0xd3, 0x75, 0x0f, 0xc6, 0x11, 0xf9, 0xef, 0x8c, 0x48, 0x4a, + 0xc9, 0x11, 0xbc, 0xba, 0x40, 0x23, 0x3d, 0x61, 0x67, 0x61, 0x93, 0xf4, 0xe4, 0x7f, 0x78, 0x3d, + 0xa1, 0x38, 0xa4, 0x27, 0xe5, 0xea, 0x2f, 0xbf, 0xb5, 0x10, 0xf9, 0xec, 0x5b, 0x0b, 0x91, 0xdf, + 0x7e, 0x6b, 0x21, 0xf2, 0xe1, 0xcf, 0x2d, 0x4c, 0x7d, 0xf6, 0x73, 0x0b, 0x53, 0xbf, 0xf1, 0xb9, + 0x85, 0xa9, 0x57, 0x1f, 0xdf, 0x35, 0xdc, 0xbd, 0xde, 0xf6, 0xb2, 0x6e, 0x75, 0xce, 0xe9, 0x96, + 0xd3, 0xb1, 0x1c, 0xfe, 0xdf, 0x93, 0x4e, 0xeb, 0x16, 0x97, 0x1f, 0x77, 0x9f, 0x49, 0xc1, 0x76, + 0x92, 0x9d, 0x81, 0xc1, 0x1f, 0x3e, 0x0e, 0x73, 0xbb, 0xd6, 0xae, 0x45, 0x3f, 0xcf, 0x91, 0x5f, + 0x5c, 0x40, 0xd2, 0x5e, 0xe9, 0x04, 0x42, 0xb2, 0x01, 0xb3, 0x1c, 0x58, 0xa5, 0x87, 0xfb, 0x2c, + 0xf4, 0x84, 0x0e, 0x3d, 0xf7, 0x98, 0xff, 0xf1, 0xdf, 0xa5, 0x36, 0xab, 0x32, 0xc3, 0x51, 0x49, + 0x1d, 0x8b, 0x4e, 0xad, 0x28, 0x70, 0x2c, 0x44, 0x8f, 0xed, 0x20, 0xd8, 0x1e, 0x43, 0xf1, 0x5f, + 0x71, 0x8a, 0xb3, 0x01, 0x8a, 0x0d, 0x8e, 0xba, 0x52, 0x81, 0xdc, 0x51, 0x68, 0xfd, 0x6b, 0x4e, + 0x2b, 0x8b, 0x83, 0x44, 0xae, 0x42, 0x81, 0x12, 0xd1, 0x7b, 0x8e, 0x6b, 0x75, 0xe8, 0x1c, 0x1e, + 0x4e, 0xe6, 0xdf, 0xfc, 0x2e, 0x53, 0xe9, 0x79, 0x82, 0x56, 0xf1, 0xb0, 0x56, 0x56, 0x80, 0xe6, + 0x33, 0xb4, 0xb0, 0xde, 0x1e, 0x43, 0xe1, 0x97, 0x79, 0x47, 0x3c, 0xf8, 0x95, 0x9b, 0x30, 0x47, + 0x7e, 0xd3, 0xdd, 0x33, 0xd8, 0x93, 0xf1, 0x87, 0x24, 0xf3, 0xff, 0xe1, 0x83, 0x6c, 0xd7, 0x98, + 0xf5, 0x08, 0x04, 0xfa, 0x14, 0x98, 0xc5, 0x5d, 0xec, 0xba, 0xd8, 0x76, 0x54, 0xad, 0x3d, 0xac, + 0x7b, 0x81, 0x28, 0xf3, 0xfc, 0xf7, 0x7c, 0x31, 0x3c, 0x8b, 0x57, 0x19, 0x66, 0xa9, 0xdd, 0x5e, + 0xd9, 0x82, 0x13, 0x43, 0xa4, 0x62, 0x02, 0x9a, 0xdf, 0xcb, 0x69, 0xce, 0x0d, 0x48, 0x06, 0x21, + 0xbb, 0x09, 0xa2, 0xdc, 0x9b, 0xcb, 0x09, 0x68, 0x7e, 0x8c, 0xd3, 0x44, 0x1c, 0x57, 0x4c, 0x29, + 0xa1, 0x78, 0x1d, 0x66, 0x6e, 0x63, 0x7b, 0xdb, 0x72, 0x78, 0x64, 0x7f, 0x02, 0x72, 0x1f, 0xe7, + 0xe4, 0x0a, 0x1c, 0x91, 0x86, 0xfa, 0x09, 0xad, 0x4b, 0x90, 0xda, 0xd1, 0x74, 0x3c, 0x01, 0x89, + 0x7b, 0x9c, 0xc4, 0x34, 0x81, 0x27, 0xa8, 0x25, 0xc8, 0xee, 0x5a, 0xdc, 0x80, 0x1a, 0x8f, 0xfe, + 0x09, 0x8e, 0x9e, 0x11, 0x38, 0x9c, 0x44, 0xd7, 0xea, 0xf6, 0xda, 0xc4, 0xba, 0x1a, 0x4f, 0xe2, + 0xfb, 0x04, 0x09, 0x81, 0xc3, 0x49, 0x1c, 0x81, 0xad, 0x9f, 0x14, 0x24, 0x9c, 0x00, 0x3f, 0x5f, + 0x84, 0x8c, 0x65, 0xb6, 0x0f, 0x2c, 0x73, 0x92, 0x4e, 0x7c, 0x8a, 0x53, 0x00, 0x8e, 0x42, 0x08, + 0x5c, 0x86, 0xf4, 0xa4, 0x13, 0xf1, 0x83, 0x5f, 0x14, 0xcb, 0x43, 0xcc, 0xc0, 0x55, 0x28, 0x08, + 0x05, 0x65, 0x58, 0xe6, 0x04, 0x24, 0x7e, 0x88, 0x93, 0xc8, 0x07, 0xd0, 0xf8, 0x30, 0x5c, 0xec, + 0xb8, 0xbb, 0x78, 0x12, 0x22, 0x3f, 0x2c, 0x86, 0xc1, 0x51, 0x38, 0x2b, 0xb7, 0xb1, 0xa9, 0xef, + 0x4d, 0x46, 0xe1, 0xd3, 0x82, 0x95, 0x02, 0x87, 0x90, 0xa8, 0x40, 0xae, 0xa3, 0xd9, 0xce, 0x9e, + 0xd6, 0x9e, 0x68, 0x3a, 0x7e, 0x84, 0xd3, 0xc8, 0x7a, 0x48, 0x9c, 0x23, 0x3d, 0xf3, 0x28, 0x64, + 0x7e, 0x54, 0x70, 0x24, 0x80, 0xc6, 0x97, 0x9e, 0xe3, 0xd2, 0x63, 0x90, 0xa3, 0x50, 0xfb, 0xfb, + 0x62, 0xe9, 0x31, 0xdc, 0xf5, 0x20, 0xc5, 0xcb, 0x90, 0x76, 0x8c, 0xd7, 0x27, 0x22, 0xf3, 0x0f, + 0xc4, 0x4c, 0x53, 0x04, 0x82, 0xfc, 0x0a, 0x9c, 0x1c, 0xba, 0x4d, 0x4c, 0x40, 0xec, 0x1f, 0x72, + 0x62, 0xc7, 0x87, 0x6c, 0x15, 0x5c, 0x25, 0x1c, 0x95, 0xe4, 0x3f, 0x12, 0x2a, 0x01, 0xf7, 0xd1, + 0xda, 0x24, 0x2e, 0xad, 0xa3, 0xed, 0x1c, 0x8d, 0x6b, 0xff, 0x58, 0x70, 0x8d, 0xe1, 0x86, 0xb8, + 0xd6, 0x84, 0xe3, 0x9c, 0xe2, 0xd1, 0xe6, 0xf5, 0xc7, 0x84, 0x62, 0x65, 0xd8, 0x5b, 0xe1, 0xd9, + 0xfd, 0x5a, 0x28, 0x7a, 0xec, 0x14, 0xbe, 0x93, 0xa3, 0x76, 0xb4, 0xee, 0x04, 0x94, 0x7f, 0x9c, + 0x53, 0x16, 0x1a, 0xdf, 0x73, 0xbe, 0x9c, 0x75, 0xad, 0x4b, 0x88, 0xbf, 0x0c, 0xf3, 0x82, 0x78, + 0xcf, 0xb4, 0xb1, 0x6e, 0xed, 0x9a, 0xc6, 0xeb, 0xb8, 0x35, 0x01, 0xe9, 0x9f, 0xe8, 0x9b, 0xaa, + 0xad, 0x00, 0x3a, 0xa1, 0x5c, 0x03, 0xc9, 0xb3, 0x55, 0x54, 0xa3, 0xd3, 0xb5, 0x6c, 0x77, 0x0c, + 0xc5, 0x9f, 0x14, 0x33, 0xe5, 0xe1, 0xd5, 0x28, 0xda, 0x4a, 0x15, 0x58, 0x6e, 0xd0, 0xa4, 0x22, + 0xf9, 0x19, 0x4e, 0x28, 0xe7, 0x63, 0x71, 0xc5, 0xa1, 0x5b, 0x9d, 0xae, 0x66, 0x4f, 0xa2, 0xff, + 0xfe, 0x89, 0x50, 0x1c, 0x1c, 0x85, 0x2b, 0x0e, 0x62, 0xaf, 0x91, 0xdd, 0x7e, 0x02, 0x0a, 0x3f, + 0x25, 0x14, 0x87, 0xc0, 0xe1, 0x24, 0x84, 0xc1, 0x30, 0x01, 0x89, 0x9f, 0x16, 0x24, 0x04, 0x0e, + 0x21, 0xf1, 0x92, 0xbf, 0xd1, 0xda, 0x78, 0xd7, 0x70, 0x5c, 0x9b, 0x39, 0x6c, 0x87, 0x93, 0xfa, + 0x99, 0x2f, 0x86, 0x8d, 0x30, 0x25, 0x80, 0x4a, 0x34, 0x11, 0xb7, 0xec, 0xa9, 0x43, 0x3f, 0xbe, + 0x63, 0x3f, 0x2b, 0x34, 0x51, 0x00, 0x8d, 0xf4, 0x2d, 0x60, 0x21, 0x12, 0xb6, 0xeb, 0xc4, 0x8d, + 0x9d, 0x80, 0xdc, 0xcf, 0xf5, 0x75, 0xae, 0x21, 0x70, 0x09, 0xcd, 0x80, 0xfd, 0xd3, 0x33, 0x6f, + 0xe1, 0x83, 0x89, 0xa4, 0xf3, 0xe7, 0xfb, 0xec, 0x9f, 0x2d, 0x86, 0xc9, 0x74, 0x48, 0xa1, 0xcf, + 0x9e, 0x1a, 0xef, 0x01, 0x7d, 0xc3, 0x97, 0xf8, 0x78, 0xc3, 0xe6, 0xd4, 0xca, 0x1a, 0x11, 0xf2, + 0xb0, 0xd1, 0x33, 0x9e, 0xd8, 0x07, 0xbf, 0xe4, 0xc9, 0x79, 0xc8, 0xe6, 0x59, 0xb9, 0x02, 0xb9, + 0x90, 0xc1, 0x33, 0x9e, 0xd4, 0x37, 0x72, 0x52, 0xd9, 0xa0, 0xbd, 0xb3, 0x72, 0x01, 0xe2, 0xc4, + 0x78, 0x19, 0x8f, 0xfe, 0x4d, 0x1c, 0x9d, 0x82, 0xaf, 0xbc, 0x00, 0x29, 0x61, 0xb4, 0x8c, 0x47, + 0xfd, 0x9b, 0x1c, 0xd5, 0x43, 0x21, 0xe8, 0xc2, 0x60, 0x19, 0x8f, 0xfe, 0xb7, 0x04, 0xba, 0x40, + 0x21, 0xe8, 0x93, 0xb3, 0xf0, 0x17, 0xbf, 0x25, 0xce, 0x37, 0x1d, 0xc1, 0xbb, 0xcb, 0x30, 0xcd, + 0x2d, 0x95, 0xf1, 0xd8, 0xdf, 0xcc, 0x1b, 0x17, 0x18, 0x2b, 0xcf, 0x41, 0x62, 0x42, 0x86, 0x7f, + 0x1b, 0x47, 0x65, 0xf0, 0x2b, 0x15, 0xc8, 0x04, 0xac, 0x93, 0xf1, 0xe8, 0xdf, 0xce, 0xd1, 0x83, + 0x58, 0xa4, 0xeb, 0xdc, 0x3a, 0x19, 0x4f, 0xe0, 0x6f, 0x8b, 0xae, 0x73, 0x0c, 0xc2, 0x36, 0x61, + 0x98, 0x8c, 0xc7, 0xfe, 0xb0, 0xe0, 0xba, 0x40, 0x59, 0x79, 0x11, 0xd2, 0xde, 0x66, 0x33, 0x1e, + 0xff, 0x3b, 0x38, 0xbe, 0x8f, 0x43, 0x38, 0x10, 0xd8, 0xec, 0xc6, 0x93, 0xf8, 0x3b, 0x82, 0x03, + 0x01, 0x2c, 0xb2, 0x8c, 0xfa, 0x0d, 0x98, 0xf1, 0x94, 0x3e, 0x22, 0x96, 0x51, 0x9f, 0xfd, 0x42, + 0x66, 0x93, 0xea, 0xfc, 0xf1, 0x24, 0xbe, 0x53, 0xcc, 0x26, 0x85, 0x27, 0xdd, 0xe8, 0xb7, 0x08, + 0xc6, 0xd3, 0xf8, 0x6e, 0xd1, 0x8d, 0x3e, 0x83, 0x60, 0x65, 0x13, 0xd0, 0xa0, 0x35, 0x30, 0x9e, + 0xde, 0x47, 0x39, 0xbd, 0x99, 0x01, 0x63, 0x60, 0xe5, 0xbd, 0x70, 0x7c, 0xb8, 0x25, 0x30, 0x9e, + 0xea, 0xf7, 0x7c, 0xa9, 0xcf, 0x77, 0x0b, 0x1a, 0x02, 0x2b, 0x4d, 0x7f, 0x4b, 0x09, 0x5a, 0x01, + 0xe3, 0xc9, 0x7e, 0xef, 0x97, 0xc2, 0x8a, 0x3b, 0x68, 0x04, 0xac, 0x94, 0x00, 0xfc, 0x0d, 0x78, + 0x3c, 0xad, 0x8f, 0x73, 0x5a, 0x01, 0x24, 0xb2, 0x34, 0xf8, 0xfe, 0x3b, 0x1e, 0xff, 0x9e, 0x58, + 0x1a, 0x1c, 0x83, 0x2c, 0x0d, 0xb1, 0xf5, 0x8e, 0xc7, 0xfe, 0x84, 0x58, 0x1a, 0x02, 0x85, 0x48, + 0x76, 0x60, 0x77, 0x1b, 0x4f, 0xe1, 0x53, 0x42, 0xb2, 0x03, 0x58, 0x2b, 0x1b, 0x30, 0x33, 0xb0, + 0x21, 0x8e, 0x27, 0xf5, 0xfd, 0x9c, 0x94, 0xd4, 0xbf, 0x1f, 0x06, 0x37, 0x2f, 0xbe, 0x19, 0x8e, + 0xa7, 0xf6, 0x03, 0x7d, 0x9b, 0x17, 0xdf, 0x0b, 0x57, 0x2e, 0x43, 0xca, 0xec, 0xb5, 0xdb, 0x64, + 0xf1, 0x8c, 0x0b, 0x79, 0xfd, 0xfe, 0x97, 0x39, 0x77, 0x04, 0xc2, 0xca, 0x05, 0x48, 0xe0, 0xce, + 0x36, 0x6e, 0x8d, 0xc3, 0xfc, 0xc2, 0x97, 0x85, 0xc2, 0x24, 0xd0, 0x2b, 0x2f, 0x02, 0xb0, 0xd0, + 0x08, 0x4d, 0xab, 0x18, 0x83, 0xfb, 0x07, 0x5f, 0xe6, 0xe9, 0x92, 0x3e, 0x8a, 0x4f, 0x60, 0x92, + 0x48, 0xdd, 0x17, 0xc3, 0x04, 0xe8, 0x8c, 0x5c, 0x82, 0xe9, 0xd7, 0x1c, 0xcb, 0x74, 0xb5, 0xb1, + 0x11, 0xcb, 0x3f, 0xe4, 0xd8, 0x02, 0x9e, 0x30, 0xac, 0x63, 0xd9, 0xd8, 0xd5, 0x76, 0x9d, 0x71, + 0xb8, 0xff, 0x95, 0xe3, 0x7a, 0x08, 0x04, 0x59, 0xd7, 0x1c, 0x77, 0x92, 0x71, 0xff, 0x37, 0x81, + 0x2c, 0x10, 0x48, 0xa7, 0xc9, 0xef, 0x5b, 0x78, 0x6c, 0x84, 0xf3, 0x8f, 0x44, 0xa7, 0x39, 0xfc, + 0xca, 0x0b, 0x90, 0x26, 0x3f, 0x59, 0x0e, 0xf4, 0x18, 0xe4, 0x3f, 0xe6, 0xc8, 0x3e, 0x06, 0x69, + 0xd9, 0x71, 0x5b, 0xae, 0x31, 0x9e, 0xd9, 0x7f, 0xc2, 0x67, 0x5a, 0xc0, 0xaf, 0x94, 0x20, 0xe3, + 0xb8, 0xad, 0x56, 0x8f, 0xdb, 0xa7, 0xe3, 0xe2, 0xc3, 0x5f, 0xf6, 0x42, 0x16, 0x1e, 0x0e, 0x99, + 0xed, 0x3b, 0xb7, 0xdc, 0xae, 0x45, 0x4f, 0xe3, 0xc6, 0x46, 0x88, 0x39, 0x85, 0x00, 0xca, 0x4a, + 0x05, 0xb2, 0x64, 0x2c, 0x36, 0xee, 0x62, 0x7a, 0x74, 0x3a, 0x2e, 0x3e, 0xcc, 0x19, 0x10, 0x42, + 0x2a, 0x7f, 0xfd, 0xa8, 0xe0, 0xee, 0xf0, 0x33, 0x04, 0xb8, 0x6a, 0x5d, 0xb5, 0xd8, 0xe9, 0xc1, + 0xab, 0x0f, 0x0f, 0x46, 0x7f, 0xc3, 0x71, 0x5d, 0xfa, 0x0b, 0xfe, 0x2c, 0x09, 0x27, 0x59, 0xb5, + 0xca, 0xaa, 0xd8, 0x07, 0x0f, 0xfa, 0x66, 0x83, 0x55, 0xe3, 0xe3, 0xbe, 0xf2, 0x0d, 0x98, 0xad, + 0x91, 0xd1, 0x13, 0xab, 0xce, 0x3f, 0xcf, 0x18, 0x9a, 0xbd, 0xbc, 0x14, 0x32, 0x60, 0xf8, 0x69, + 0x4e, 0xb0, 0x48, 0xfe, 0x86, 0x08, 0x48, 0x0d, 0x5d, 0x6b, 0x6b, 0xf6, 0x57, 0x4a, 0x0a, 0x3d, + 0x27, 0xe2, 0xfd, 0xde, 0x35, 0xb5, 0xfc, 0xf9, 0xf9, 0xe5, 0xe0, 0xe0, 0x96, 0x59, 0x4b, 0x34, + 0x5f, 0x88, 0xc5, 0xf9, 0xc9, 0xcf, 0xb3, 0x2f, 0x03, 0xf8, 0x15, 0xe8, 0x14, 0x9c, 0x68, 0x54, + 0x4a, 0x6b, 0x25, 0x45, 0xa4, 0xc4, 0x34, 0x36, 0xab, 0x95, 0xda, 0x95, 0x5a, 0x75, 0x55, 0x9a, + 0x42, 0xc7, 0x01, 0x05, 0x2b, 0xbd, 0x14, 0x9e, 0x63, 0x30, 0x13, 0x2c, 0x67, 0x77, 0x32, 0xa2, + 0x64, 0xe7, 0x33, 0x3a, 0xdd, 0x36, 0xa6, 0xe7, 0x6c, 0xaa, 0x21, 0xb8, 0x36, 0x5e, 0xa9, 0xfe, + 0xca, 0x7f, 0x64, 0x79, 0xfa, 0xb3, 0x3e, 0xba, 0xc7, 0xf3, 0x95, 0x35, 0x98, 0xd1, 0x74, 0x1d, + 0x77, 0x43, 0x24, 0xc7, 0x88, 0x1e, 0x21, 0x48, 0x4f, 0x0e, 0x39, 0xa6, 0x4f, 0xed, 0x39, 0x48, + 0x3a, 0x74, 0xf4, 0xe3, 0x48, 0xfc, 0x2a, 0x27, 0xc1, 0xc1, 0x57, 0x4c, 0x98, 0x21, 0x3b, 0x19, + 0x71, 0x78, 0xfd, 0x6e, 0x1c, 0xee, 0x37, 0xfd, 0xd3, 0x9f, 0x7c, 0x8a, 0x9e, 0x23, 0x9e, 0x0e, + 0x4f, 0xcb, 0x10, 0x71, 0x52, 0x24, 0x4e, 0xdb, 0xef, 0x28, 0x86, 0xbc, 0x68, 0x8f, 0x77, 0xf8, + 0xf0, 0xc6, 0x7e, 0x81, 0x37, 0xb6, 0x30, 0x4c, 0x06, 0x02, 0x2d, 0xe5, 0x38, 0x55, 0x56, 0x71, + 0x5f, 0x67, 0x2d, 0x94, 0xf2, 0xe5, 0x60, 0x33, 0xde, 0x59, 0xcb, 0xbf, 0x88, 0xc3, 0x02, 0x07, + 0xde, 0xd6, 0x1c, 0x7c, 0xee, 0xf6, 0xd3, 0xdb, 0xd8, 0xd5, 0x9e, 0x3e, 0xa7, 0x5b, 0x86, 0xc9, + 0x17, 0xe0, 0x2c, 0x5f, 0x8e, 0xa4, 0x7e, 0x99, 0xd7, 0x17, 0x87, 0x1e, 0xd0, 0x14, 0x47, 0x2f, + 0xe3, 0xe2, 0xe0, 0x79, 0x9f, 0xdc, 0x86, 0x78, 0xc5, 0x32, 0x4c, 0x34, 0x07, 0x89, 0x16, 0x36, + 0xad, 0x0e, 0x5f, 0x50, 0xec, 0x03, 0x5d, 0x83, 0xa4, 0xd6, 0xb1, 0x7a, 0xa6, 0xcb, 0x16, 0x53, + 0xf9, 0xa9, 0x5f, 0x7e, 0x73, 0x71, 0xea, 0x3f, 0xbf, 0xb9, 0x78, 0x8c, 0x91, 0x75, 0x5a, 0xb7, + 0x96, 0x0d, 0xeb, 0x5c, 0x47, 0x73, 0xf7, 0xc8, 0x04, 0xfd, 0xda, 0x67, 0x9e, 0x04, 0xde, 0x5e, + 0xcd, 0x74, 0x3f, 0xfd, 0x7b, 0x3f, 0x76, 0x36, 0xa2, 0x70, 0xfc, 0x95, 0xf8, 0xe7, 0x3f, 0xb9, + 0x18, 0x91, 0xbb, 0x30, 0xbd, 0x8a, 0xf5, 0x43, 0x1a, 0xac, 0xf5, 0x35, 0xf8, 0x34, 0x6f, 0xf0, + 0xd4, 0x60, 0x83, 0x2c, 0x01, 0x69, 0x15, 0xeb, 0x81, 0x66, 0x57, 0xb1, 0xde, 0xd7, 0x62, 0x0d, + 0x52, 0x35, 0xd3, 0x65, 0x97, 0x27, 0x5e, 0x80, 0x98, 0x61, 0xb2, 0x7c, 0xdc, 0x74, 0xf9, 0xf1, + 0x23, 0x0c, 0x45, 0x21, 0x78, 0x72, 0x1d, 0x52, 0xab, 0x58, 0x67, 0xa4, 0x2a, 0x10, 0x6b, 0x61, + 0x9d, 0x93, 0xba, 0x8f, 0x4e, 0x12, 0xec, 0xf2, 0xea, 0x6f, 0xfc, 0xce, 0xc2, 0xd4, 0x1b, 0x6f, + 0x2d, 0x4c, 0x8d, 0x14, 0x27, 0x79, 0xfc, 0xd1, 0x9d, 0x27, 0x45, 0xff, 0x3b, 0x02, 0x27, 0xfb, + 0x15, 0xb3, 0x66, 0x1e, 0x8c, 0xba, 0x2c, 0x7f, 0x11, 0x62, 0x25, 0xf3, 0x00, 0x9d, 0x64, 0x26, + 0xaa, 0xda, 0xb3, 0xdb, 0x7c, 0x26, 0xa6, 0xc9, 0xf7, 0x96, 0xdd, 0x26, 0x33, 0x24, 0xee, 0x3b, + 0x45, 0xce, 0x64, 0xf9, 0x25, 0xa6, 0xf2, 0xb7, 0x47, 0x8e, 0xb6, 0x17, 0xa5, 0x4a, 0xe6, 0x01, + 0xe5, 0xd9, 0x66, 0xe4, 0xd5, 0x27, 0xc6, 0x9e, 0x63, 0xdf, 0x32, 0xad, 0x3b, 0x26, 0xe9, 0x76, + 0x77, 0x5b, 0x9c, 0x61, 0x2f, 0xf4, 0x9f, 0x61, 0xbf, 0x17, 0xb7, 0xdb, 0x37, 0x08, 0x5c, 0x33, + 0x34, 0xfe, 0x8f, 0x44, 0x61, 0x61, 0x60, 0x63, 0xe2, 0xdb, 0xf8, 0x28, 0x26, 0xac, 0x40, 0x6a, + 0x55, 0x58, 0x07, 0xf3, 0x30, 0xed, 0x60, 0xdd, 0x32, 0x5b, 0x0e, 0x65, 0x44, 0x4c, 0x11, 0x9f, + 0x84, 0x11, 0xa6, 0x66, 0x5a, 0x0e, 0xbf, 0x8c, 0xc4, 0x3e, 0xca, 0x1f, 0x3b, 0x22, 0x23, 0x72, + 0xa2, 0x25, 0xc1, 0x8d, 0xa7, 0x27, 0xe4, 0x86, 0x18, 0x44, 0xe8, 0x64, 0x7f, 0x52, 0xae, 0x7c, + 0x77, 0x14, 0x16, 0xfb, 0xb9, 0x42, 0x6c, 0x23, 0xc7, 0xd5, 0x3a, 0xdd, 0x51, 0x6c, 0xb9, 0x0c, + 0xe9, 0xa6, 0x80, 0x39, 0x32, 0x5f, 0xee, 0x1d, 0x91, 0x2f, 0x79, 0xaf, 0x29, 0xc1, 0x98, 0xf3, + 0x13, 0x32, 0xc6, 0x1b, 0xc7, 0x7d, 0x71, 0xe6, 0x87, 0xe2, 0xf0, 0x20, 0xbd, 0xad, 0x6a, 0x77, + 0x0c, 0xd3, 0x3d, 0xa7, 0xdb, 0x07, 0x5d, 0xd7, 0x22, 0x0d, 0x59, 0x3b, 0x9c, 0x2f, 0x33, 0x7e, + 0xf5, 0x32, 0xab, 0x1e, 0xae, 0x72, 0xe5, 0x1d, 0x48, 0x6c, 0x12, 0x3c, 0xc2, 0x11, 0xd7, 0x72, + 0xb5, 0x36, 0xe7, 0x14, 0xfb, 0x20, 0xa5, 0xec, 0x86, 0x6b, 0x94, 0x95, 0x1a, 0xe2, 0x72, 0x6b, + 0x1b, 0x6b, 0x3b, 0xec, 0xa2, 0x50, 0x8c, 0x2e, 0xb1, 0x14, 0x29, 0xa0, 0x77, 0x82, 0xe6, 0x20, + 0xa1, 0xf5, 0x58, 0x32, 0x4f, 0x8c, 0xac, 0x3d, 0xfa, 0x21, 0xdf, 0x80, 0x69, 0x7e, 0x6a, 0x8b, + 0x24, 0x88, 0xdd, 0xc2, 0x07, 0xb4, 0x9d, 0xac, 0x42, 0x7e, 0xa2, 0x65, 0x48, 0xd0, 0xce, 0xf3, + 0x1b, 0x90, 0xf3, 0xcb, 0x03, 0xbd, 0x5f, 0xa6, 0x9d, 0x54, 0x18, 0x98, 0x7c, 0x1d, 0x52, 0xab, + 0x16, 0xd9, 0x09, 0xc2, 0xd4, 0xd2, 0x8c, 0x1a, 0xed, 0x73, 0xb7, 0xc7, 0xf5, 0xb0, 0xc2, 0x3e, + 0xd0, 0x71, 0x48, 0xb2, 0x8b, 0x63, 0x3c, 0x21, 0x89, 0x7f, 0xc9, 0x15, 0x98, 0xa6, 0xb4, 0xeb, + 0x5d, 0x62, 0x98, 0x79, 0xb9, 0xf4, 0x69, 0x7e, 0x8d, 0x98, 0x93, 0x8f, 0xfa, 0x9d, 0x45, 0x10, + 0x6f, 0x69, 0xae, 0xc6, 0xc7, 0x4d, 0x7f, 0xcb, 0xef, 0x81, 0x14, 0x27, 0xe2, 0xa0, 0xf3, 0x10, + 0xb3, 0xba, 0x0e, 0x4f, 0x29, 0x2a, 0x8e, 0x1a, 0x4a, 0xbd, 0x5b, 0x8e, 0x13, 0xdd, 0xab, 0x10, + 0xe0, 0xf2, 0xc6, 0x48, 0x35, 0xfa, 0x6c, 0x48, 0x8d, 0x76, 0xb0, 0xbb, 0xbd, 0xe3, 0xfa, 0x3f, + 0xd8, 0x74, 0x0e, 0x88, 0x82, 0x27, 0x28, 0x7f, 0x16, 0x81, 0x07, 0x06, 0x05, 0xe5, 0x16, 0x3e, + 0x70, 0x8e, 0x2a, 0x27, 0x2f, 0x43, 0x7a, 0x93, 0x3e, 0xe9, 0x71, 0x03, 0x1f, 0xa0, 0x22, 0x4c, + 0xe3, 0xd6, 0xf9, 0x0b, 0x17, 0x9e, 0xbe, 0xc4, 0x66, 0xf1, 0xda, 0x94, 0x22, 0x0a, 0xd0, 0x02, + 0xa4, 0x1d, 0xac, 0x77, 0xcf, 0x5f, 0xb8, 0x78, 0xeb, 0x69, 0xc6, 0xb6, 0x6b, 0x53, 0x8a, 0x5f, + 0xb4, 0x92, 0x22, 0x7b, 0xdb, 0xe7, 0x3f, 0xb5, 0x18, 0x29, 0x27, 0x20, 0xe6, 0xf4, 0x3a, 0xef, + 0xd8, 0xd8, 0xbf, 0x39, 0x15, 0x5a, 0x24, 0x6c, 0xf5, 0x75, 0x35, 0x5b, 0xeb, 0x88, 0xc1, 0x4b, + 0x81, 0xc1, 0xd3, 0xea, 0x11, 0x66, 0xc9, 0x18, 0xdd, 0x2c, 0xff, 0x44, 0x14, 0x0a, 0x15, 0xcb, + 0x74, 0xb0, 0xe9, 0xf4, 0x9c, 0x4d, 0xda, 0x02, 0x7a, 0x06, 0x12, 0xdb, 0x6d, 0x4b, 0xbf, 0x45, + 0x19, 0x94, 0x39, 0xff, 0xe0, 0x72, 0x7f, 0x5b, 0xcb, 0x65, 0x52, 0xcd, 0xa0, 0x15, 0x06, 0x8b, + 0xde, 0x0d, 0x29, 0x7c, 0xdb, 0x68, 0x61, 0x53, 0xc7, 0x7c, 0x29, 0x2c, 0x0d, 0xe2, 0x55, 0x39, + 0x04, 0x47, 0xf5, 0x30, 0xd0, 0x8b, 0x90, 0xbe, 0xad, 0xb5, 0x8d, 0x96, 0xe6, 0x5a, 0xb6, 0x77, + 0xc7, 0x74, 0x00, 0xfd, 0xa6, 0x00, 0xe1, 0xf8, 0x3e, 0x0e, 0xba, 0x04, 0xd3, 0xb7, 0xb1, 0x4d, + 0x33, 0x0e, 0xe3, 0xfc, 0xda, 0xe7, 0x20, 0x3a, 0x03, 0xe0, 0xc8, 0x02, 0x1e, 0x3d, 0x05, 0x71, + 0x6d, 0x5b, 0x37, 0x68, 0x2e, 0x5a, 0xe6, 0xfc, 0x03, 0x83, 0x78, 0xa5, 0x72, 0xa5, 0xc6, 0x91, + 0x28, 0xa4, 0x5c, 0x83, 0x4c, 0x80, 0x03, 0xec, 0x46, 0xcf, 0xbe, 0xba, 0x7d, 0xe0, 0x62, 0xa1, + 0xac, 0x53, 0x1d, 0x6d, 0xbf, 0x4c, 0xbe, 0xd1, 0x09, 0x98, 0x26, 0x95, 0xbb, 0x3c, 0x67, 0x3c, + 0xa6, 0x24, 0x3b, 0xda, 0xfe, 0x55, 0xcd, 0xb9, 0x1e, 0x4f, 0xc5, 0xa4, 0xb8, 0xfc, 0x23, 0x11, + 0xc8, 0x87, 0xb9, 0x82, 0x1e, 0x07, 0x44, 0x30, 0xb4, 0x5d, 0xac, 0x9a, 0xbd, 0x8e, 0x4a, 0xd9, + 0x2b, 0xe8, 0x16, 0x3a, 0xda, 0x7e, 0x69, 0x17, 0x6f, 0xf4, 0x3a, 0xb4, 0x03, 0x0e, 0x5a, 0x07, + 0x49, 0x00, 0x8b, 0x99, 0xe5, 0xec, 0x3f, 0x39, 0xf8, 0x46, 0x05, 0x07, 0x28, 0xa7, 0xc8, 0xea, + 0xfd, 0xe8, 0x6f, 0x2d, 0x46, 0x94, 0x3c, 0xa3, 0xe7, 0xed, 0xc6, 0xa1, 0xa1, 0xc4, 0xc2, 0x43, + 0x91, 0x5f, 0x84, 0x42, 0xdf, 0x0c, 0x20, 0x19, 0x72, 0xdd, 0xde, 0xb6, 0x7a, 0x0b, 0x1f, 0x50, + 0xdf, 0x8e, 0xa9, 0x8e, 0xb4, 0x92, 0xe9, 0xf6, 0xb6, 0x6f, 0xe0, 0x03, 0xaa, 0xf9, 0x57, 0x52, + 0x3f, 0x43, 0x56, 0x0d, 0xb1, 0x0a, 0x1f, 0x87, 0x5c, 0x68, 0x0e, 0x88, 0x86, 0xd2, 0xba, 0x5d, + 0x3a, 0xb6, 0xb8, 0x42, 0x7e, 0x06, 0x80, 0x5f, 0x85, 0x2c, 0xd1, 0xc9, 0xb8, 0xc5, 0x61, 0x1f, + 0x81, 0x02, 0x65, 0x85, 0xda, 0xcf, 0xeb, 0x1c, 0x2d, 0x5e, 0x17, 0x0c, 0x97, 0x21, 0xe7, 0xc3, + 0xf9, 0x6c, 0xcf, 0x08, 0xa8, 0xab, 0x9a, 0x23, 0xd7, 0x01, 0xfc, 0x49, 0x45, 0x25, 0x78, 0xf0, + 0xb6, 0xe5, 0xe2, 0x60, 0x6c, 0x95, 0xdf, 0x2e, 0xdc, 0xc3, 0xc6, 0xee, 0x9e, 0xcb, 0xdb, 0x29, + 0x12, 0x20, 0x3f, 0x7e, 0xca, 0xee, 0x18, 0x5e, 0xa3, 0x10, 0xe5, 0x97, 0x3e, 0xfd, 0xd6, 0xc2, + 0xc8, 0x0d, 0xf8, 0xd5, 0x67, 0x8e, 0xa6, 0x0c, 0xc2, 0x06, 0xe6, 0x1f, 0x25, 0x61, 0x69, 0x40, + 0x17, 0x78, 0x82, 0x7f, 0x44, 0x75, 0x70, 0xa8, 0x46, 0x95, 0x7f, 0x22, 0x02, 0x59, 0x6f, 0x86, + 0x1b, 0xd8, 0x45, 0x97, 0x01, 0xbc, 0x96, 0xc4, 0xb6, 0x70, 0xea, 0x90, 0x75, 0xa9, 0x04, 0xc0, + 0xd1, 0x73, 0x90, 0xea, 0xda, 0x56, 0xd7, 0x72, 0xf8, 0x7d, 0xf2, 0x31, 0xa8, 0x1e, 0x30, 0x7a, + 0x02, 0x10, 0xdd, 0xc1, 0xd5, 0xdb, 0x96, 0x6b, 0x98, 0xbb, 0x6a, 0xd7, 0xba, 0xc3, 0x5f, 0xe9, + 0x88, 0x29, 0x12, 0xad, 0xb9, 0x49, 0x2b, 0x36, 0x49, 0x39, 0xe9, 0x74, 0xda, 0xa3, 0x42, 0xcc, + 0x26, 0xad, 0xd5, 0xb2, 0xb1, 0xe3, 0xf0, 0x4d, 0x5a, 0x7c, 0xa2, 0xcb, 0x30, 0xcd, 0x45, 0x95, + 0xf7, 0xe6, 0x81, 0x61, 0xfb, 0x9b, 0xd8, 0x27, 0xf8, 0x0e, 0x97, 0x64, 0x82, 0x8c, 0x4e, 0x43, + 0x76, 0x48, 0x67, 0x32, 0xb7, 0xfd, 0x7e, 0xd0, 0x17, 0xa5, 0xf8, 0x08, 0xd4, 0xae, 0x6d, 0x58, + 0xb6, 0xe1, 0x1e, 0x50, 0x5d, 0x14, 0x53, 0x24, 0x51, 0xb1, 0xc9, 0xcb, 0xe5, 0x5b, 0x50, 0x68, + 0xd0, 0x00, 0x82, 0xdf, 0xf3, 0x0b, 0x7e, 0xff, 0x22, 0xe3, 0xfb, 0x37, 0xb2, 0x67, 0xd1, 0x81, + 0x9e, 0x9d, 0xfd, 0xf5, 0x08, 0xd7, 0x57, 0xb5, 0xd5, 0x2b, 0x6d, 0x6d, 0x17, 0x3d, 0x0d, 0xc7, + 0xca, 0x6b, 0xf5, 0xca, 0x0d, 0xb5, 0xb6, 0xaa, 0x5e, 0x59, 0x2b, 0x5d, 0xf5, 0xf3, 0xec, 0x8b, + 0xc7, 0xef, 0xde, 0x5b, 0x42, 0x01, 0xd8, 0x2d, 0x93, 0xda, 0x7c, 0xe8, 0x1c, 0xcc, 0x85, 0x51, + 0x4a, 0xe5, 0x46, 0x75, 0xa3, 0x29, 0x45, 0x8a, 0xc7, 0xee, 0xde, 0x5b, 0x9a, 0x09, 0x60, 0x94, + 0xb6, 0x1d, 0x6c, 0xba, 0x83, 0x08, 0x95, 0xfa, 0xfa, 0x7a, 0xad, 0x29, 0x45, 0x07, 0x10, 0x2a, + 0x56, 0xa7, 0x63, 0xb8, 0xe8, 0x31, 0x98, 0x09, 0x23, 0x6c, 0xd4, 0xd6, 0xa4, 0x58, 0x11, 0xdd, + 0xbd, 0xb7, 0x94, 0x0f, 0x40, 0x6f, 0x18, 0xed, 0x62, 0xea, 0x43, 0x3f, 0xb0, 0x30, 0xf5, 0xe9, + 0xbf, 0xb7, 0x10, 0x29, 0xaf, 0xbf, 0x33, 0x4b, 0xee, 0x3f, 0xbd, 0x02, 0xa7, 0x02, 0x95, 0x44, + 0xe7, 0x33, 0x08, 0x61, 0xb9, 0x07, 0x26, 0x86, 0x54, 0x16, 0x0f, 0xb7, 0x68, 0x0f, 0x5f, 0x75, + 0xc5, 0xc3, 0x77, 0xfa, 0xe2, 0xd8, 0xc5, 0x5f, 0x1c, 0xe7, 0x69, 0x8c, 0x30, 0x8b, 0xfe, 0x59, + 0x1a, 0xa6, 0x15, 0xfc, 0x81, 0x1e, 0x76, 0x5c, 0x74, 0x1e, 0xe2, 0x58, 0xdf, 0xb3, 0x86, 0x49, + 0x1e, 0x19, 0xe0, 0x32, 0x87, 0xab, 0xea, 0x7b, 0xd6, 0xb5, 0x29, 0x85, 0xc2, 0xa2, 0x0b, 0x90, + 0xd8, 0x69, 0xf7, 0x9c, 0x3d, 0xef, 0xed, 0x8f, 0x11, 0x48, 0x57, 0x08, 0xd0, 0xb5, 0x29, 0x85, + 0x41, 0x93, 0xa6, 0xe8, 0x7b, 0x5e, 0xb1, 0xc3, 0x9b, 0xaa, 0x99, 0x3b, 0xb4, 0x29, 0x02, 0x8b, + 0xca, 0x00, 0x86, 0x69, 0xb8, 0xaa, 0xbe, 0xa7, 0x19, 0x26, 0xdf, 0xa8, 0x4f, 0x8f, 0xc6, 0x34, + 0xdc, 0x0a, 0x01, 0x24, 0xc6, 0x9b, 0x21, 0x3e, 0x48, 0x77, 0x3f, 0xd0, 0xc3, 0xf6, 0x01, 0xbd, + 0x29, 0x71, 0x48, 0x77, 0x5f, 0x22, 0x40, 0xa4, 0xbb, 0x14, 0x9a, 0xd8, 0x35, 0xec, 0x69, 0x00, + 0x77, 0x9f, 0x3f, 0x78, 0xb3, 0x38, 0x0a, 0x93, 0xbe, 0x0f, 0xd0, 0xdc, 0x27, 0x16, 0xa5, 0xce, + 0x7e, 0xa2, 0xe7, 0x21, 0xa9, 0x53, 0xf9, 0xa6, 0xf7, 0x75, 0x33, 0xe7, 0x17, 0x46, 0xe2, 0x52, + 0xa8, 0x6b, 0x53, 0x0a, 0x87, 0x47, 0x1b, 0x90, 0x6f, 0x1b, 0x8e, 0xab, 0x3a, 0xa6, 0xd6, 0x75, + 0xf6, 0x2c, 0xd7, 0xa1, 0xef, 0x97, 0x65, 0xce, 0x3f, 0x3c, 0x8a, 0xc2, 0x9a, 0xe1, 0xb8, 0x0d, + 0x01, 0x7c, 0x6d, 0x4a, 0xc9, 0xb5, 0x83, 0x05, 0x84, 0x9e, 0xb5, 0xb3, 0x83, 0x6d, 0x8f, 0x20, + 0x7d, 0xf6, 0xec, 0x10, 0x7a, 0x75, 0x02, 0x2d, 0xf0, 0x09, 0x3d, 0x2b, 0x58, 0x80, 0xbe, 0x16, + 0x66, 0xdb, 0x96, 0xd6, 0xf2, 0xc8, 0xa9, 0xfa, 0x5e, 0xcf, 0xbc, 0x35, 0x9f, 0xa7, 0x44, 0x1f, + 0x1b, 0xd9, 0x49, 0x4b, 0x6b, 0x09, 0x12, 0x15, 0x82, 0x70, 0x6d, 0x4a, 0x99, 0x69, 0xf7, 0x17, + 0xa2, 0xf7, 0xc3, 0x9c, 0xd6, 0xed, 0xb6, 0x0f, 0xfa, 0xa9, 0x17, 0x28, 0xf5, 0xb3, 0xa3, 0xa8, + 0x97, 0x08, 0x4e, 0x3f, 0x79, 0xa4, 0x0d, 0x94, 0xa2, 0x26, 0x48, 0x5d, 0x1b, 0xd3, 0x8c, 0x20, + 0xa6, 0x9a, 0xb5, 0x36, 0xbd, 0x4d, 0x9b, 0x39, 0xff, 0xe8, 0x28, 0xda, 0x9b, 0x0c, 0x7e, 0x93, + 0x83, 0x5f, 0x9b, 0x52, 0x0a, 0xdd, 0x70, 0x11, 0xa3, 0x6a, 0xe9, 0x98, 0x5e, 0xf6, 0xe7, 0x54, + 0x67, 0xc6, 0x51, 0xa5, 0xf0, 0x61, 0xaa, 0xa1, 0x22, 0x54, 0x85, 0x0c, 0x7b, 0xdf, 0x89, 0x6c, + 0x87, 0x98, 0xde, 0xc1, 0xcd, 0x9c, 0x97, 0x47, 0xae, 0x50, 0x0a, 0x7a, 0xd3, 0x72, 0xf1, 0xb5, + 0x29, 0x05, 0xb0, 0xf7, 0x85, 0x34, 0x38, 0x46, 0xaf, 0x23, 0x1f, 0xa8, 0x61, 0x5b, 0x67, 0x7e, + 0x96, 0x12, 0x7c, 0x7c, 0x14, 0xc1, 0x9b, 0x14, 0xe9, 0x66, 0xd0, 0xf4, 0xb9, 0x36, 0xa5, 0xcc, + 0xde, 0x1e, 0x2c, 0x26, 0x22, 0xb6, 0x63, 0x98, 0x5a, 0xdb, 0x78, 0x1d, 0x33, 0xab, 0x95, 0x3e, + 0xc4, 0x71, 0x88, 0x88, 0x5d, 0xe1, 0xd0, 0x54, 0xbf, 0x13, 0x11, 0xdb, 0x09, 0x16, 0x94, 0xa7, + 0x79, 0x24, 0xcc, 0xbb, 0x58, 0x3e, 0x2d, 0xa5, 0xd8, 0x65, 0xf2, 0xeb, 0xf1, 0x14, 0x48, 0x19, + 0xf9, 0x51, 0xc8, 0x04, 0x14, 0x13, 0xd9, 0xfb, 0xf9, 0x11, 0xac, 0x88, 0xa9, 0xf1, 0x4f, 0x39, + 0x0f, 0xd9, 0xa0, 0x32, 0x92, 0x3f, 0x1c, 0xf1, 0x30, 0xe9, 0x8d, 0x9a, 0x79, 0xdf, 0x7b, 0xe0, + 0x98, 0xc2, 0x39, 0x78, 0x48, 0x58, 0x93, 0xa2, 0x3e, 0x4a, 0x6d, 0xd5, 0x2c, 0x2d, 0xe4, 0xc6, + 0x2c, 0x5a, 0x84, 0x4c, 0xf7, 0x7c, 0xd7, 0x03, 0x89, 0x51, 0x10, 0xe8, 0x9e, 0xef, 0x0a, 0x80, + 0xd3, 0x90, 0x25, 0xe3, 0x56, 0x83, 0x2e, 0x4a, 0x5a, 0xc9, 0x90, 0x32, 0x0e, 0x22, 0xff, 0xdb, + 0x28, 0x48, 0xfd, 0x0a, 0x0c, 0x3d, 0x0f, 0x71, 0xa2, 0xcb, 0xb9, 0x5a, 0x2e, 0x0e, 0x58, 0xf4, + 0x5e, 0x0c, 0x87, 0x99, 0xf4, 0x1f, 0x26, 0x26, 0x3d, 0xc5, 0x40, 0x27, 0x89, 0xda, 0xd2, 0x0c, + 0x53, 0x35, 0x5a, 0xe2, 0x69, 0x4c, 0xfa, 0x5d, 0x6b, 0xa1, 0x35, 0x90, 0x74, 0xe1, 0xf1, 0xa9, + 0x6c, 0xab, 0x19, 0xed, 0x72, 0xf5, 0xf9, 0x86, 0x4a, 0x41, 0xef, 0x73, 0x16, 0xaf, 0x84, 0x4c, + 0x44, 0xf1, 0xe0, 0x65, 0xff, 0x84, 0x7b, 0x66, 0xce, 0x56, 0xb7, 0xa5, 0xb9, 0x98, 0x5b, 0x57, + 0x41, 0x6b, 0xf1, 0x11, 0x28, 0x68, 0xdd, 0xae, 0xea, 0xb8, 0x9a, 0x8b, 0xb9, 0x79, 0x9f, 0xa0, + 0x06, 0x5c, 0x4e, 0xeb, 0x76, 0x1b, 0xa4, 0x94, 0x99, 0xf7, 0x0f, 0x43, 0x9e, 0xe8, 0x74, 0x43, + 0x6b, 0x0b, 0xeb, 0x3c, 0xc9, 0xbc, 0x00, 0x5e, 0xca, 0x0c, 0x72, 0xb9, 0xe5, 0xcd, 0x38, 0xd5, + 0xe7, 0x5e, 0xe4, 0x23, 0xe2, 0x47, 0x3e, 0x48, 0x19, 0xbd, 0xe9, 0xc4, 0xf8, 0x23, 0x6e, 0x87, + 0x25, 0x39, 0x59, 0x66, 0xe2, 0xf1, 0x2f, 0x34, 0x47, 0xc3, 0x3c, 0xb7, 0xd9, 0xed, 0xbd, 0x94, + 0xc2, 0x3e, 0x64, 0x05, 0xf2, 0x61, 0xdd, 0x8f, 0xf2, 0x10, 0x75, 0xf7, 0x79, 0x2b, 0x51, 0x77, + 0x9f, 0x38, 0x97, 0xde, 0xfb, 0x40, 0xf9, 0x21, 0xbb, 0x1d, 0xc7, 0xf3, 0x1f, 0x7f, 0x93, 0x0b, + 0x90, 0x0b, 0xed, 0x09, 0xf2, 0x71, 0x98, 0x1b, 0xa6, 0xe2, 0xe5, 0x3d, 0xaf, 0x3c, 0xa4, 0xaa, + 0xd1, 0x05, 0x48, 0x79, 0x3a, 0x3e, 0xc2, 0x5d, 0xc1, 0xfe, 0x66, 0x05, 0xb0, 0xe2, 0x81, 0x12, + 0x89, 0x21, 0x13, 0x40, 0xe3, 0x62, 0x51, 0x6e, 0x3a, 0x77, 0xbb, 0xc4, 0x05, 0x93, 0xbf, 0x1e, + 0xe6, 0x47, 0xe9, 0xef, 0x00, 0xc3, 0x98, 0x17, 0x27, 0x18, 0x76, 0x1c, 0x92, 0xfc, 0x21, 0x0e, + 0x42, 0x2c, 0xa7, 0xf0, 0x2f, 0xc2, 0x48, 0xa6, 0xcb, 0x63, 0xb4, 0x98, 0x7d, 0xc8, 0x2a, 0x9c, + 0x1c, 0xa9, 0xc3, 0xfd, 0x40, 0x5e, 0x84, 0xa1, 0xb0, 0x40, 0x9e, 0x47, 0x88, 0xc7, 0xc9, 0x75, + 0xd1, 0x1d, 0x87, 0x8e, 0x55, 0x84, 0xca, 0xd8, 0x97, 0xfc, 0xd1, 0x18, 0x1c, 0x1f, 0xae, 0xc9, + 0xd1, 0x12, 0x64, 0x89, 0xab, 0xe8, 0x86, 0xbd, 0x4a, 0xe8, 0x68, 0xfb, 0x4d, 0xee, 0x52, 0x4a, + 0x10, 0x73, 0xf7, 0x1d, 0x7a, 0x63, 0x30, 0xab, 0x90, 0x9f, 0x68, 0x0b, 0x66, 0xda, 0x96, 0xae, + 0xb5, 0xd5, 0xb6, 0xe6, 0xb8, 0x2a, 0xdf, 0xe2, 0xd9, 0x22, 0x7a, 0x68, 0x80, 0xd9, 0x4c, 0x27, + 0xb3, 0x6b, 0x7d, 0x06, 0x55, 0x38, 0x5c, 0xfe, 0x0b, 0x94, 0xc6, 0x9a, 0x26, 0xa6, 0x1a, 0xad, + 0x42, 0xa6, 0x63, 0x38, 0xdb, 0x78, 0x4f, 0xbb, 0x6d, 0x58, 0x36, 0x5f, 0x4d, 0x83, 0x42, 0xb3, + 0xee, 0xc3, 0x70, 0x4a, 0x41, 0xb4, 0xc0, 0x94, 0x24, 0x42, 0x32, 0x2c, 0xb4, 0x49, 0xf2, 0xc8, + 0xda, 0xe4, 0x29, 0x98, 0x33, 0xf1, 0x3e, 0xbd, 0x92, 0xca, 0xd7, 0x2b, 0x93, 0x13, 0x76, 0xa3, + 0x14, 0x91, 0x3a, 0x6f, 0x85, 0x3b, 0x34, 0x92, 0xfa, 0x18, 0x78, 0x4e, 0x8f, 0x2a, 0x1c, 0xb2, + 0x14, 0x85, 0x2e, 0x88, 0xf2, 0x12, 0x2b, 0x96, 0x3f, 0x14, 0x9c, 0x9a, 0xf0, 0xde, 0xc7, 0x19, + 0x1f, 0xf1, 0x19, 0xdf, 0x80, 0x39, 0x8e, 0xdf, 0x0a, 0xf1, 0x7e, 0x88, 0x83, 0xc9, 0xd6, 0x57, + 0x3f, 0xcf, 0x91, 0x40, 0x1f, 0xcd, 0xf6, 0xd8, 0xfd, 0xb1, 0x1d, 0x41, 0x9c, 0x32, 0x25, 0xce, + 0x54, 0x0c, 0xf9, 0xfd, 0xff, 0xda, 0x54, 0x7c, 0x30, 0x06, 0x33, 0x03, 0x86, 0x84, 0x37, 0xb0, + 0xc8, 0xd0, 0x81, 0x45, 0x87, 0x0e, 0x2c, 0x76, 0xe4, 0x81, 0xf1, 0xb9, 0x8e, 0x8f, 0x9f, 0xeb, + 0xc4, 0xdb, 0x38, 0xd7, 0xc9, 0xfb, 0x9b, 0xeb, 0x77, 0x74, 0x16, 0x3e, 0x1e, 0x81, 0xe2, 0x68, + 0xeb, 0x6b, 0xe8, 0x74, 0x3c, 0x0e, 0x33, 0x5e, 0x57, 0x3c, 0xf2, 0x4c, 0x31, 0x4a, 0x5e, 0x05, + 0xa7, 0x3f, 0x72, 0x8f, 0x7b, 0x18, 0xf2, 0x7d, 0xb6, 0x21, 0x13, 0xe5, 0x5c, 0x28, 0xf0, 0x25, + 0x7f, 0x63, 0xcc, 0xdb, 0x78, 0x42, 0x06, 0xdc, 0x90, 0xd5, 0xfa, 0x12, 0xcc, 0xb6, 0xb0, 0x6e, + 0xb4, 0xee, 0x77, 0xb1, 0xce, 0x70, 0xec, 0xff, 0xbf, 0x56, 0x07, 0xa5, 0xe4, 0x3b, 0x01, 0x52, + 0x0a, 0x76, 0xba, 0xc4, 0x1e, 0x43, 0x65, 0x48, 0xe3, 0x7d, 0x1d, 0x77, 0x5d, 0x61, 0xc2, 0x0e, + 0x77, 0x11, 0x18, 0x74, 0x55, 0x40, 0x12, 0x07, 0xd9, 0x43, 0x43, 0xcf, 0xf0, 0x18, 0xc0, 0x68, + 0x77, 0x9e, 0xa3, 0x07, 0x83, 0x00, 0x17, 0x45, 0x10, 0x20, 0x36, 0xd2, 0xbf, 0x65, 0x58, 0x7d, + 0x51, 0x80, 0x67, 0x78, 0x14, 0x20, 0x3e, 0xa6, 0xb1, 0x50, 0x18, 0xa0, 0x12, 0x0a, 0x03, 0x24, + 0xc7, 0x0c, 0x73, 0x44, 0x1c, 0xe0, 0xa2, 0x88, 0x03, 0x4c, 0x8f, 0xe9, 0x71, 0x5f, 0x20, 0xe0, + 0x85, 0x40, 0x20, 0x20, 0x3d, 0x78, 0xc0, 0x11, 0x42, 0x1d, 0x12, 0x09, 0xb8, 0xe4, 0x45, 0x02, + 0xb2, 0x23, 0xa3, 0x08, 0x1c, 0xb9, 0x3f, 0x14, 0x50, 0x1f, 0x08, 0x05, 0xe4, 0xf8, 0xb3, 0xce, + 0xa3, 0x48, 0x8c, 0x89, 0x05, 0xd4, 0x07, 0x62, 0x01, 0xf9, 0x31, 0x04, 0xc7, 0x04, 0x03, 0xbe, + 0x6e, 0x78, 0x30, 0x60, 0xb4, 0xbb, 0xce, 0xbb, 0x39, 0x59, 0x34, 0x40, 0x1d, 0x11, 0x0d, 0x90, + 0x46, 0x7a, 0xae, 0x8c, 0xfc, 0xc4, 0xe1, 0x80, 0xad, 0x21, 0xe1, 0x00, 0xe6, 0xb8, 0x9f, 0x19, + 0x49, 0x7c, 0x82, 0x78, 0xc0, 0xd6, 0x90, 0x78, 0x00, 0x1a, 0x4b, 0x76, 0x6c, 0x40, 0xe0, 0x4a, + 0x38, 0x20, 0x30, 0x3b, 0xc2, 0xea, 0xf4, 0x57, 0xfb, 0x88, 0x88, 0xc0, 0xf6, 0xa8, 0x88, 0x00, + 0xf3, 0xda, 0x9f, 0x18, 0x49, 0xf1, 0x08, 0x21, 0x81, 0xfa, 0x40, 0x48, 0xe0, 0xd8, 0x18, 0x49, + 0x9b, 0x3c, 0x26, 0xc0, 0x9e, 0x99, 0x63, 0x0f, 0xcc, 0x81, 0x94, 0xb9, 0x1e, 0x4f, 0x65, 0xa4, + 0xac, 0xfc, 0x18, 0xb1, 0x60, 0xfa, 0xf4, 0x1c, 0xf1, 0x15, 0xb0, 0x6d, 0x5b, 0xb6, 0xc8, 0x7a, + 0xa2, 0x1f, 0xf2, 0x19, 0xe2, 0x23, 0xfa, 0x3a, 0xed, 0x90, 0xf8, 0x01, 0xf5, 0xc9, 0x02, 0x7a, + 0x4c, 0xfe, 0x99, 0x88, 0x8f, 0x4b, 0x23, 0x08, 0x41, 0xff, 0x32, 0xcd, 0xfd, 0xcb, 0x40, 0x54, + 0x21, 0x1a, 0x8e, 0x2a, 0x2c, 0x42, 0x86, 0xf8, 0x5a, 0x7d, 0x01, 0x03, 0xad, 0xeb, 0x05, 0x0c, + 0xce, 0xc2, 0x0c, 0xdd, 0x30, 0x59, 0xec, 0x81, 0x6f, 0x4b, 0xec, 0x30, 0xa1, 0x40, 0x2a, 0x18, + 0x77, 0xd8, 0xfe, 0xf4, 0x24, 0xcc, 0x06, 0x60, 0x3d, 0x1f, 0x8e, 0x79, 0xcf, 0x92, 0x07, 0x5d, + 0xe2, 0xce, 0xdc, 0xbf, 0x8c, 0xf8, 0x1c, 0xf2, 0x23, 0x0d, 0xc3, 0x82, 0x02, 0x91, 0xb7, 0x29, + 0x28, 0x10, 0xbd, 0xef, 0xa0, 0x40, 0xd0, 0x27, 0x8d, 0x85, 0x7d, 0xd2, 0xff, 0x19, 0xf1, 0xe7, + 0xc4, 0x73, 0xf1, 0x75, 0xab, 0x85, 0xb9, 0x97, 0x48, 0x7f, 0x13, 0x93, 0xa4, 0x6d, 0xed, 0x72, + 0x5f, 0x90, 0xfc, 0x24, 0x50, 0xde, 0xc6, 0x93, 0xe6, 0xfb, 0x8a, 0xe7, 0x60, 0x26, 0x82, 0x99, + 0x22, 0x3c, 0x7d, 0x22, 0xe9, 0xa7, 0x4f, 0x78, 0xa9, 0x59, 0xd3, 0x81, 0xd4, 0x2c, 0xf4, 0x3c, + 0xa4, 0x69, 0xb0, 0x5f, 0xb5, 0xba, 0xe2, 0x4d, 0xf4, 0x53, 0xa3, 0x53, 0x27, 0x1c, 0x7a, 0xd0, + 0xc5, 0xd2, 0x2d, 0x7c, 0x8b, 0x23, 0x1d, 0xb2, 0x38, 0x1e, 0x80, 0x34, 0xe9, 0x3d, 0x7b, 0xdb, + 0x13, 0x78, 0x66, 0xb6, 0x28, 0x90, 0x7f, 0x34, 0x0a, 0x85, 0xbe, 0x8d, 0x66, 0xe8, 0xd8, 0x85, + 0x48, 0x46, 0x03, 0x21, 0x8f, 0xc9, 0xf8, 0xb1, 0x00, 0xb0, 0xab, 0x39, 0xea, 0x1d, 0xcd, 0x74, + 0x71, 0x8b, 0x33, 0x25, 0x50, 0x82, 0x8a, 0x90, 0x22, 0x5f, 0x3d, 0x07, 0xb7, 0x78, 0xf4, 0xc5, + 0xfb, 0x46, 0xd7, 0x20, 0x89, 0x6f, 0xd3, 0xb7, 0x6d, 0xd8, 0x0b, 0x51, 0xc7, 0x07, 0xdd, 0x61, + 0x52, 0x5d, 0x9e, 0x27, 0x93, 0xfd, 0x85, 0x37, 0x17, 0x25, 0x06, 0xfd, 0x84, 0xf7, 0x94, 0x87, + 0xc2, 0xf1, 0xc3, 0x5c, 0x48, 0xf5, 0x71, 0x81, 0xc6, 0x01, 0xb3, 0xc2, 0xbd, 0x27, 0x3c, 0x65, + 0x27, 0x6b, 0x4a, 0xae, 0x83, 0x3b, 0x5d, 0xcb, 0x6a, 0xab, 0x6c, 0x8d, 0x97, 0x20, 0x1f, 0xde, + 0x57, 0xd9, 0xbb, 0xdb, 0xae, 0x66, 0x98, 0x6a, 0xc8, 0x08, 0xce, 0xb2, 0x42, 0xb6, 0xa6, 0xae, + 0xc7, 0x53, 0x11, 0x29, 0x7a, 0x3d, 0x9e, 0x8a, 0x4a, 0x31, 0x79, 0x13, 0x8e, 0x0d, 0xdd, 0x57, + 0xd1, 0x73, 0x90, 0xf6, 0xb7, 0x64, 0x76, 0x38, 0x7a, 0x48, 0xa4, 0xc5, 0x87, 0x95, 0x7f, 0x21, + 0xe2, 0x93, 0x0c, 0xc7, 0x6e, 0xaa, 0x90, 0xb4, 0xb1, 0xd3, 0x6b, 0xbb, 0xfc, 0x51, 0xcc, 0x27, + 0x27, 0xdb, 0x91, 0x49, 0x69, 0xaf, 0xed, 0x2a, 0x1c, 0x59, 0x7e, 0x3f, 0x24, 0x59, 0x09, 0xca, + 0xc0, 0xb4, 0xff, 0x8a, 0x16, 0x40, 0xb2, 0x54, 0xa9, 0x54, 0x37, 0xc5, 0x93, 0x38, 0xe5, 0xba, + 0xd2, 0x94, 0xa2, 0xa4, 0x58, 0xa9, 0x5e, 0xaf, 0x56, 0x9a, 0x52, 0x0c, 0xcd, 0x40, 0x8e, 0xfd, + 0x56, 0xaf, 0xd4, 0x95, 0xf5, 0x52, 0x53, 0x8a, 0x07, 0x8a, 0x1a, 0xd5, 0x8d, 0xd5, 0xaa, 0x22, + 0x25, 0xe4, 0xa7, 0xe1, 0xe4, 0xc8, 0x3d, 0xdc, 0x0f, 0xcc, 0x44, 0x02, 0x81, 0x19, 0xf9, 0xa3, + 0x51, 0xe2, 0xd4, 0x8c, 0xda, 0x98, 0xd1, 0xf5, 0xbe, 0x81, 0x9f, 0x3f, 0xc2, 0xae, 0xde, 0x37, + 0x7a, 0xe2, 0xc7, 0xd8, 0x78, 0x07, 0xbb, 0xfa, 0x1e, 0x33, 0x14, 0x98, 0x06, 0xca, 0x29, 0x39, + 0x5e, 0x4a, 0x91, 0x1c, 0x06, 0xf6, 0x1a, 0xd6, 0x5d, 0x95, 0x09, 0x91, 0xc3, 0xff, 0x4c, 0x50, + 0x8e, 0x95, 0x36, 0x58, 0xa1, 0xfc, 0xf5, 0x47, 0xe2, 0x65, 0x1a, 0x12, 0x4a, 0xb5, 0xa9, 0xbc, + 0x22, 0xc5, 0x10, 0x82, 0x3c, 0xfd, 0xa9, 0x36, 0x36, 0x4a, 0x9b, 0x8d, 0x6b, 0x75, 0xc2, 0xcb, + 0x59, 0x28, 0x08, 0x5e, 0x8a, 0xc2, 0x84, 0xfc, 0x38, 0x9c, 0x18, 0x61, 0x55, 0x0c, 0xba, 0x54, + 0xf2, 0xa7, 0x22, 0x41, 0xe8, 0xb0, 0x65, 0x50, 0x87, 0xa4, 0xe3, 0x6a, 0x6e, 0xcf, 0xe1, 0x4c, + 0x7c, 0x6e, 0x52, 0x33, 0x63, 0x59, 0xfc, 0x68, 0x50, 0x74, 0x85, 0x93, 0x91, 0x2f, 0x40, 0x3e, + 0x5c, 0x33, 0x9a, 0x07, 0xbe, 0x10, 0x45, 0xe5, 0xcb, 0x80, 0x06, 0xad, 0x8f, 0x21, 0xee, 0x65, + 0x64, 0x98, 0x7b, 0xf9, 0x83, 0x11, 0x38, 0x75, 0x88, 0xa5, 0x81, 0x5e, 0xea, 0x1b, 0xe4, 0xa5, + 0xa3, 0xd8, 0x29, 0xcb, 0xac, 0xac, 0x6f, 0x98, 0xcf, 0x40, 0x36, 0x58, 0x3e, 0xd9, 0x20, 0xbf, + 0x10, 0xf5, 0x17, 0x71, 0xd8, 0x0f, 0xf6, 0x55, 0x60, 0xe4, 0x2b, 0x54, 0x81, 0xef, 0x06, 0x70, + 0xf7, 0x55, 0x26, 0xd6, 0x62, 0x1f, 0x7d, 0x70, 0x48, 0x7c, 0x11, 0xeb, 0xcd, 0x7d, 0xbe, 0x08, + 0xd2, 0x2e, 0xff, 0xe5, 0xa0, 0x46, 0x30, 0x28, 0xd0, 0xa3, 0x7b, 0xac, 0xe3, 0xfd, 0x91, 0xa0, + 0xc9, 0x36, 0x63, 0x3f, 0x78, 0xc0, 0x8a, 0x1d, 0xf4, 0x0a, 0x9c, 0xe8, 0x33, 0x14, 0x3c, 0xd2, + 0xf1, 0x49, 0xed, 0x85, 0x63, 0x61, 0x7b, 0x41, 0x90, 0x0e, 0xee, 0xf6, 0x89, 0xf0, 0x6e, 0xff, + 0x0a, 0x80, 0x1f, 0x1c, 0x20, 0x1a, 0xc6, 0xb6, 0x7a, 0x66, 0x4b, 0xfc, 0x01, 0x04, 0xfa, 0x81, + 0x2e, 0x40, 0x82, 0x48, 0x92, 0xe0, 0xd3, 0xa0, 0x2a, 0x26, 0x92, 0x10, 0x08, 0x2e, 0x30, 0x68, + 0xd9, 0x00, 0x34, 0x18, 0xa0, 0x1d, 0xd1, 0xc4, 0x0b, 0xe1, 0x26, 0x4e, 0x8f, 0x0c, 0xf5, 0x0e, + 0x6f, 0xea, 0x75, 0x48, 0xd0, 0x99, 0x1f, 0x9a, 0xad, 0xf9, 0x3e, 0x00, 0xcd, 0x75, 0x6d, 0x63, + 0xbb, 0xe7, 0x37, 0xb0, 0x38, 0x5c, 0x72, 0x4a, 0x02, 0xae, 0xfc, 0x00, 0x17, 0xa1, 0x39, 0x1f, + 0x35, 0x20, 0x46, 0x01, 0x82, 0xf2, 0x06, 0xe4, 0xc3, 0xb8, 0xc3, 0xb3, 0x4f, 0xfd, 0xd4, 0xf3, + 0xb4, 0xb0, 0x6f, 0x3c, 0xeb, 0x88, 0x5f, 0xe8, 0xa3, 0x1f, 0xf2, 0x1b, 0x51, 0xc8, 0x06, 0x05, + 0xef, 0xaf, 0x9e, 0x09, 0x22, 0x7f, 0x53, 0x04, 0x52, 0xde, 0xf0, 0xc3, 0xe7, 0x20, 0xa1, 0x83, + 0x23, 0x3f, 0x0b, 0xd9, 0x3b, 0xbc, 0x60, 0xc7, 0x44, 0x31, 0xef, 0x98, 0xe8, 0xb2, 0xb7, 0xfd, + 0x8d, 0x0a, 0x88, 0x04, 0x79, 0x2d, 0x92, 0x93, 0xf8, 0x6e, 0x7f, 0x79, 0xb2, 0x04, 0xa8, 0x39, + 0x48, 0x04, 0x93, 0x97, 0xd8, 0x87, 0xdc, 0x0a, 0x24, 0xf5, 0xb1, 0x85, 0x18, 0xcc, 0x94, 0x8a, + 0x1c, 0x39, 0x53, 0xca, 0x6b, 0x25, 0x1a, 0x6c, 0xe5, 0x23, 0x11, 0x48, 0x89, 0x35, 0x81, 0xde, + 0x13, 0x4c, 0xf6, 0x14, 0x47, 0x9b, 0x23, 0xf5, 0x11, 0xa7, 0x1f, 0xc8, 0xf5, 0x2c, 0x89, 0x33, + 0x59, 0xa3, 0xa5, 0xee, 0xb4, 0x35, 0x26, 0x4b, 0xf9, 0x91, 0x79, 0xaa, 0x2c, 0x71, 0x88, 0x27, + 0x00, 0xd6, 0x5a, 0xe4, 0x83, 0x5b, 0x76, 0x7f, 0x1a, 0x01, 0xa9, 0x7f, 0xc5, 0x7e, 0xc5, 0xbd, + 0x1b, 0xdc, 0xe6, 0x62, 0x43, 0xb6, 0x39, 0x74, 0x0e, 0x66, 0xfd, 0xbf, 0x9a, 0xe6, 0x18, 0xbb, + 0xa6, 0xe6, 0xf6, 0x6c, 0xcc, 0x03, 0x92, 0xc8, 0xab, 0x6a, 0x88, 0x9a, 0xc1, 0x51, 0x27, 0xee, + 0x73, 0xd4, 0x1f, 0x8c, 0x42, 0x26, 0x10, 0x1e, 0x45, 0xcf, 0x06, 0x94, 0x51, 0x7e, 0xc8, 0xce, + 0x10, 0x80, 0x0d, 0xfc, 0x8d, 0xaa, 0x10, 0x9b, 0xa2, 0x47, 0x67, 0xd3, 0xa8, 0x20, 0xb4, 0x88, + 0xb6, 0xc6, 0x8f, 0x1c, 0x6d, 0x1d, 0x9e, 0x36, 0x98, 0x18, 0x91, 0x36, 0xf8, 0x37, 0x22, 0x90, + 0xf2, 0xcc, 0xee, 0xa3, 0x1e, 0x62, 0x1e, 0x87, 0x24, 0xb7, 0x2c, 0xd9, 0x29, 0x26, 0xff, 0x1a, + 0x1a, 0x56, 0x2e, 0x42, 0x4a, 0xfc, 0xc5, 0x06, 0xbe, 0xab, 0x79, 0xdf, 0x67, 0x2f, 0x41, 0x26, + 0x70, 0x00, 0x4c, 0x54, 0xe3, 0x46, 0xf5, 0xbd, 0xd2, 0x54, 0x71, 0xfa, 0xee, 0xbd, 0xa5, 0xd8, + 0x06, 0xbe, 0x43, 0x56, 0xb3, 0x52, 0xad, 0x5c, 0xab, 0x56, 0x6e, 0x48, 0x91, 0x62, 0xe6, 0xee, + 0xbd, 0xa5, 0x69, 0x05, 0xd3, 0x88, 0xe2, 0xd9, 0x1b, 0x50, 0xe8, 0x9b, 0x98, 0xb0, 0xd9, 0x82, + 0x20, 0xbf, 0xba, 0xb5, 0xb9, 0x56, 0xab, 0x94, 0x9a, 0x55, 0xf5, 0x66, 0xbd, 0x59, 0x95, 0x22, + 0xe8, 0x04, 0xcc, 0xae, 0xd5, 0xae, 0x5e, 0x6b, 0xaa, 0x95, 0xb5, 0x5a, 0x75, 0xa3, 0xa9, 0x96, + 0x9a, 0xcd, 0x52, 0xe5, 0x86, 0x14, 0x3d, 0x7f, 0x2f, 0x03, 0xf1, 0x52, 0xb9, 0x52, 0x43, 0x15, + 0x88, 0xd3, 0x50, 0xc8, 0xa1, 0x19, 0x60, 0xc5, 0xc3, 0x63, 0xc3, 0xe8, 0x0a, 0x24, 0x68, 0x94, + 0x04, 0x1d, 0x9e, 0x12, 0x56, 0x1c, 0x13, 0x2c, 0x26, 0x9d, 0xa1, 0x2b, 0xf2, 0xd0, 0x1c, 0xb1, + 0xe2, 0xe1, 0xb1, 0x63, 0xb4, 0x06, 0xd3, 0xc2, 0x49, 0x1e, 0x97, 0xb8, 0x55, 0x1c, 0x1b, 0xd0, + 0x25, 0x43, 0x63, 0xc1, 0x86, 0xc3, 0xd3, 0xc7, 0x8a, 0x63, 0xa2, 0xca, 0xa8, 0x06, 0x49, 0xee, + 0x8e, 0x8e, 0xc9, 0x08, 0x2b, 0x8e, 0x8b, 0x13, 0x23, 0x05, 0xd2, 0x7e, 0x18, 0x67, 0x7c, 0x52, + 0x5c, 0x71, 0x82, 0x80, 0x39, 0x7a, 0x3f, 0xe4, 0xc2, 0xae, 0xee, 0x64, 0x59, 0x67, 0xc5, 0x09, + 0x23, 0xd2, 0x84, 0x7e, 0xd8, 0xef, 0x9d, 0x2c, 0x0b, 0xad, 0x38, 0x61, 0x80, 0x1a, 0xbd, 0x06, + 0x33, 0x83, 0x7e, 0xe9, 0xe4, 0x49, 0x69, 0xc5, 0x23, 0x84, 0xac, 0x51, 0x07, 0xd0, 0x10, 0x7f, + 0xf6, 0x08, 0x39, 0x6a, 0xc5, 0xa3, 0x44, 0xb0, 0x51, 0x0b, 0x0a, 0xfd, 0x4e, 0xe2, 0xa4, 0x39, + 0x6b, 0xc5, 0x89, 0xa3, 0xd9, 0xac, 0x95, 0xb0, 0x73, 0x39, 0x69, 0x0e, 0x5b, 0x71, 0xe2, 0xe0, + 0x36, 0xda, 0x02, 0x08, 0xf8, 0x87, 0x13, 0xe4, 0xb4, 0x15, 0x27, 0x09, 0x73, 0xa3, 0x2e, 0xcc, + 0x0e, 0x73, 0x1c, 0x8f, 0x92, 0xe2, 0x56, 0x3c, 0x52, 0xf4, 0x9b, 0xc8, 0x73, 0xd8, 0x05, 0x9c, + 0x2c, 0xe5, 0xad, 0x38, 0x61, 0x18, 0xbc, 0x5c, 0x1a, 0x99, 0xe7, 0xfc, 0xe8, 0xa1, 0x79, 0xce, + 0x7e, 0xe6, 0xb2, 0x97, 0xdb, 0x7c, 0x2f, 0x0a, 0x0b, 0x81, 0x8c, 0x62, 0x1e, 0x82, 0x0e, 0xa5, + 0x37, 0xa3, 0x40, 0xa7, 0x78, 0xfd, 0x88, 0x14, 0xe2, 0x17, 0x20, 0x56, 0xea, 0x76, 0xc9, 0x16, + 0x47, 0xbf, 0x75, 0xab, 0xcd, 0x37, 0x50, 0xef, 0x9b, 0xd4, 0x39, 0xd6, 0x8e, 0x7b, 0x47, 0xb3, + 0xbd, 0x3f, 0x57, 0x29, 0xbe, 0xe5, 0x4b, 0x90, 0xf6, 0x5c, 0x43, 0xfa, 0x7c, 0xb4, 0x77, 0xeb, + 0x28, 0x2e, 0xae, 0x15, 0xf1, 0x1b, 0x22, 0x51, 0xff, 0x86, 0x08, 0xbd, 0x60, 0x5c, 0xae, 0x8f, + 0xe4, 0xc8, 0x85, 0xa3, 0x65, 0x7e, 0xf3, 0x01, 0x7a, 0xfc, 0xf9, 0xf2, 0x03, 0xa1, 0x6b, 0x67, + 0xfc, 0x9d, 0xde, 0x00, 0x77, 0x26, 0xbd, 0x6a, 0x31, 0x36, 0x2b, 0x7b, 0x4c, 0xd2, 0xf8, 0x98, + 0x59, 0x1a, 0x9f, 0x17, 0x2e, 0x5f, 0x82, 0xdc, 0xa6, 0x66, 0xbb, 0x0d, 0xec, 0x5e, 0xc3, 0x5a, + 0x0b, 0xdb, 0xe1, 0x7b, 0x92, 0x39, 0x71, 0x4f, 0x52, 0x18, 0x2d, 0x51, 0xdf, 0x68, 0x91, 0xf7, + 0x20, 0x4e, 0x5f, 0x73, 0x1f, 0x99, 0x7a, 0xc5, 0x52, 0xa5, 0x78, 0xea, 0x15, 0xfd, 0x40, 0xcf, + 0x8a, 0x9b, 0x90, 0xb1, 0xc3, 0x6f, 0x42, 0x0a, 0x9f, 0x98, 0xdd, 0x87, 0x6c, 0xc3, 0x34, 0xb7, + 0x57, 0x87, 0x26, 0x36, 0xac, 0x43, 0xa1, 0xab, 0xd9, 0x2e, 0xfd, 0xeb, 0x4e, 0x7b, 0x74, 0x14, + 0xdc, 0xd8, 0x1c, 0x72, 0xbf, 0x2b, 0x34, 0x58, 0xde, 0x4a, 0xae, 0x1b, 0x2c, 0x94, 0xff, 0x4b, + 0x1c, 0x92, 0x9c, 0x19, 0x2f, 0x84, 0x73, 0x3e, 0xfb, 0x7c, 0x2e, 0x5e, 0xe5, 0x87, 0x2e, 0x38, + 0x3d, 0xef, 0x08, 0xe7, 0x91, 0xfe, 0x04, 0xcb, 0x72, 0xe6, 0xad, 0x37, 0x17, 0xa7, 0xe9, 0xfe, + 0x59, 0x5b, 0xf5, 0xb3, 0x2d, 0xdf, 0x7e, 0x3b, 0xb7, 0x02, 0xb9, 0xc0, 0x79, 0x8f, 0xd1, 0xe2, + 0xf9, 0x30, 0x27, 0x47, 0x3a, 0x02, 0x22, 0x01, 0xc2, 0x3b, 0x0a, 0xaa, 0xb5, 0xd0, 0x19, 0x90, + 0x02, 0x19, 0x19, 0x2c, 0xe6, 0xc2, 0x4e, 0x3a, 0xf2, 0x6d, 0x2f, 0xd9, 0x82, 0xa6, 0x24, 0x9c, + 0x82, 0x34, 0xfd, 0x6b, 0x63, 0x81, 0xcc, 0x85, 0x14, 0x29, 0xa0, 0x95, 0x8f, 0x42, 0xa1, 0x3f, + 0xb9, 0x81, 0xa5, 0x2b, 0xe4, 0x6f, 0x87, 0x13, 0x1b, 0x46, 0xa5, 0x42, 0xa4, 0x47, 0xa6, 0x42, + 0x3c, 0x0c, 0x79, 0x3f, 0xd0, 0x44, 0x61, 0x81, 0xf9, 0x51, 0x5e, 0x29, 0x05, 0x0b, 0x06, 0x8d, + 0x32, 0xa1, 0xa0, 0x91, 0x77, 0x88, 0xc6, 0xe3, 0x67, 0x0c, 0x26, 0xcb, 0xb2, 0x29, 0x48, 0x05, + 0x8f, 0x93, 0x51, 0xd8, 0x87, 0x20, 0x27, 0x2e, 0x23, 0x32, 0xb8, 0x1c, 0x85, 0xcb, 0x8a, 0xc2, + 0x91, 0xd9, 0x19, 0xf9, 0xe1, 0xd9, 0x19, 0xf3, 0x10, 0x5f, 0xe5, 0xd1, 0x8e, 0xbe, 0x00, 0xee, + 0x4f, 0xc7, 0x20, 0x4e, 0xb7, 0xa9, 0x67, 0x42, 0x7e, 0xd7, 0x10, 0x79, 0x26, 0xbe, 0x1f, 0x6e, + 0xad, 0x3b, 0xbb, 0x01, 0xb7, 0x6b, 0x54, 0xde, 0x95, 0x17, 0xaf, 0x8a, 0x05, 0xe3, 0x55, 0x55, + 0x48, 0x79, 0x52, 0x12, 0x1f, 0x27, 0x25, 0x05, 0x22, 0x25, 0x44, 0x86, 0x79, 0x81, 0x32, 0xcd, + 0x7d, 0x47, 0x54, 0x86, 0xb4, 0xa7, 0xbc, 0xb8, 0xb4, 0x4d, 0x26, 0xb0, 0x3e, 0xda, 0xf0, 0x0c, + 0xa5, 0xe4, 0x88, 0x0c, 0xa5, 0xa0, 0x58, 0xf1, 0x3f, 0x53, 0x3c, 0x4d, 0xc7, 0xe5, 0x8b, 0x15, + 0xfb, 0x53, 0xc5, 0x0f, 0x40, 0xda, 0xf7, 0x9d, 0x99, 0xe4, 0xf9, 0x05, 0xa4, 0xd6, 0xf7, 0xc2, + 0x99, 0xa4, 0x05, 0xfe, 0x7a, 0xfa, 0x08, 0x0f, 0x1c, 0x46, 0x79, 0xe0, 0xf2, 0x2f, 0x46, 0x3c, + 0xab, 0xfd, 0x90, 0x68, 0x0f, 0x9b, 0x86, 0xe8, 0xa8, 0x69, 0x88, 0xdd, 0xff, 0x34, 0x94, 0x00, + 0xbc, 0x6e, 0x8a, 0x54, 0xeb, 0x53, 0xc3, 0xa2, 0xad, 0xa4, 0x8b, 0x0d, 0x63, 0x57, 0x1c, 0xa8, + 0xfa, 0x48, 0xf2, 0x6f, 0x46, 0xc8, 0x96, 0xcb, 0xeb, 0x07, 0x43, 0x0a, 0x91, 0xa3, 0x86, 0x14, + 0x8e, 0x96, 0x78, 0x16, 0x92, 0xa3, 0xd8, 0xfd, 0xc9, 0x51, 0x68, 0xc6, 0xe3, 0x7d, 0x33, 0x2e, + 0xff, 0x4e, 0x84, 0xff, 0xd5, 0x74, 0x2f, 0x9a, 0xfb, 0xe7, 0x33, 0x55, 0xaf, 0x72, 0xd9, 0x6a, + 0xe1, 0x96, 0x3a, 0x30, 0x67, 0x0f, 0x0d, 0xb9, 0x18, 0x1d, 0xea, 0xb3, 0x3f, 0x77, 0x48, 0x50, + 0x69, 0xf8, 0x73, 0xf8, 0x99, 0x28, 0xcc, 0x0c, 0xc0, 0xff, 0xe5, 0x9b, 0xcb, 0xf0, 0xea, 0x4d, + 0x4c, 0xb8, 0x7a, 0x93, 0x23, 0x57, 0xef, 0x4f, 0x46, 0xe9, 0x43, 0x07, 0xcc, 0xf3, 0xf8, 0x2a, + 0xe8, 0xde, 0x53, 0x90, 0xee, 0x5a, 0x6d, 0x95, 0xd5, 0xb0, 0x3f, 0x7f, 0x92, 0xea, 0x5a, 0x6d, + 0x65, 0x40, 0xcc, 0x12, 0x6f, 0x93, 0x62, 0x4e, 0xbe, 0x0d, 0x93, 0x30, 0xdd, 0xbf, 0xa0, 0x6c, + 0xc8, 0x32, 0x56, 0x70, 0xab, 0xe9, 0x29, 0xc2, 0x03, 0x6a, 0x86, 0x45, 0x06, 0xad, 0x3c, 0xd6, + 0x6d, 0x06, 0xa9, 0x70, 0x38, 0x82, 0x11, 0x4a, 0xfb, 0x9c, 0x1f, 0xa5, 0xb1, 0x44, 0xbe, 0x9b, + 0xfc, 0x5d, 0x11, 0x80, 0x35, 0x7a, 0xad, 0x9a, 0xba, 0x00, 0x15, 0xc8, 0x39, 0xb4, 0x0b, 0x6a, + 0xa8, 0xe5, 0x85, 0x51, 0x93, 0xc6, 0xdb, 0xcf, 0x3a, 0xc1, 0x7e, 0x57, 0x20, 0xe7, 0xcb, 0xb6, + 0x83, 0x45, 0x67, 0x16, 0x0e, 0xb9, 0x91, 0xdc, 0xc0, 0xae, 0x92, 0xbd, 0x1d, 0xf8, 0x92, 0xff, + 0x79, 0x04, 0xd2, 0xb4, 0x4f, 0xeb, 0xd8, 0xd5, 0x42, 0x73, 0x18, 0xb9, 0xff, 0x39, 0x7c, 0x10, + 0x80, 0x91, 0x71, 0x8c, 0xd7, 0x31, 0x97, 0xac, 0x34, 0x2d, 0x69, 0x18, 0xaf, 0x63, 0x74, 0xd1, + 0x63, 0x78, 0xec, 0x70, 0x86, 0x8b, 0x38, 0x3c, 0x67, 0xfb, 0x09, 0x98, 0x36, 0x7b, 0x1d, 0x95, + 0xa5, 0x54, 0x53, 0x69, 0x35, 0x7b, 0x9d, 0xe6, 0xbe, 0x23, 0xbf, 0x06, 0xd3, 0xcd, 0x7d, 0xf6, + 0x6e, 0xca, 0x29, 0x48, 0xdb, 0x96, 0xc5, 0xad, 0x3f, 0x66, 0x75, 0xa7, 0x48, 0x01, 0x35, 0x76, + 0x86, 0x9d, 0xdd, 0x2c, 0x4f, 0x68, 0xe2, 0x73, 0xe3, 0xfe, 0xec, 0xaf, 0x47, 0x20, 0x17, 0x5a, + 0x49, 0xe8, 0x09, 0x38, 0xd1, 0xa8, 0x5d, 0xdd, 0xa8, 0xae, 0xaa, 0xeb, 0x8d, 0xab, 0x7d, 0x7f, + 0xda, 0xb0, 0x58, 0xb8, 0x7b, 0x6f, 0x29, 0xc3, 0xaf, 0x1c, 0x8f, 0x82, 0xde, 0x54, 0xaa, 0x2c, + 0x9a, 0xc9, 0xa0, 0x37, 0x6d, 0x7c, 0xdb, 0x72, 0x31, 0x85, 0x7e, 0x0a, 0x4e, 0x0e, 0x81, 0xf6, + 0x2e, 0x1e, 0xcf, 0xdc, 0xbd, 0xb7, 0x94, 0xdb, 0xb4, 0x31, 0x93, 0x32, 0x8a, 0xb1, 0x0c, 0xf3, + 0x83, 0x18, 0xf5, 0xcd, 0x7a, 0xa3, 0xb4, 0x26, 0x2d, 0x15, 0xa5, 0xbb, 0xf7, 0x96, 0xb2, 0x42, + 0x65, 0x10, 0xf8, 0x77, 0xfe, 0xe6, 0xf1, 0xef, 0x5f, 0x82, 0x77, 0xf1, 0x17, 0xa7, 0x1c, 0x57, + 0xbb, 0x65, 0x98, 0xbb, 0xde, 0xb3, 0x64, 0xfc, 0x9b, 0x7b, 0xa1, 0xc7, 0xf9, 0xab, 0x56, 0xa2, + 0x54, 0x3c, 0x4e, 0x36, 0xf8, 0xd6, 0x58, 0x71, 0xcc, 0x23, 0x67, 0x87, 0xbd, 0x5c, 0x36, 0xe2, + 0xa9, 0xb3, 0x91, 0xef, 0x5d, 0x8d, 0x7b, 0x6e, 0x64, 0xbc, 0x53, 0x7c, 0xd8, 0xbd, 0xeb, 0xe2, + 0xa1, 0x8e, 0xb9, 0xfc, 0x91, 0x08, 0xe4, 0xaf, 0x19, 0x8e, 0x6b, 0xd9, 0x86, 0xae, 0xb5, 0x69, + 0xf0, 0xf7, 0xf2, 0xa4, 0xda, 0xaa, 0x9c, 0x26, 0x8b, 0x87, 0xbf, 0x9d, 0xc6, 0x57, 0xd0, 0x2a, + 0x24, 0x6f, 0x6b, 0x6d, 0xa6, 0x2b, 0x82, 0x4f, 0xe3, 0xf5, 0xf3, 0x3c, 0x70, 0xca, 0x11, 0xa4, + 0xc2, 0x70, 0xe5, 0xef, 0xa2, 0x0f, 0xac, 0x74, 0x3a, 0x86, 0x43, 0xb6, 0x23, 0x85, 0x1e, 0x74, + 0x5f, 0x87, 0xb8, 0xad, 0xb9, 0xfc, 0xf8, 0xb7, 0x7c, 0xf1, 0xc8, 0xef, 0x98, 0xb1, 0x16, 0x28, + 0x0d, 0xf4, 0x12, 0xa4, 0x3a, 0xda, 0xbe, 0x4a, 0xe9, 0x45, 0xbf, 0x22, 0x7a, 0xd3, 0x1d, 0x6d, + 0x9f, 0xf4, 0x0f, 0xbd, 0x1f, 0x0a, 0x84, 0xa4, 0xbe, 0xa7, 0x99, 0xbb, 0x98, 0x51, 0x8e, 0x7d, + 0x45, 0x94, 0x73, 0x1d, 0x6d, 0xbf, 0x42, 0xa9, 0x11, 0xfa, 0xfc, 0x89, 0xb8, 0x5f, 0x8a, 0xf0, + 0x33, 0x7d, 0xca, 0x18, 0xa4, 0x81, 0xa4, 0x7b, 0x5f, 0xb4, 0x51, 0x91, 0x80, 0xf8, 0xe8, 0x28, + 0xbe, 0xf7, 0xb1, 0xb5, 0x9c, 0x23, 0xdd, 0xfb, 0xec, 0x9b, 0x8b, 0x11, 0xd6, 0x6a, 0x41, 0x1f, + 0x60, 0x7b, 0x86, 0xa5, 0x2a, 0xa8, 0xd4, 0xf3, 0x8e, 0x8e, 0xdd, 0x2f, 0x73, 0x62, 0xbf, 0x64, + 0x04, 0x81, 0x61, 0x93, 0x7a, 0x3e, 0x86, 0x4f, 0x47, 0x20, 0xb3, 0x1a, 0x78, 0xe8, 0x72, 0x1e, + 0xa6, 0x3b, 0x96, 0x69, 0xdc, 0xc2, 0xb6, 0x97, 0x41, 0xca, 0x3e, 0x51, 0x11, 0x52, 0xec, 0xaf, + 0x03, 0xba, 0x07, 0x22, 0x0c, 0x26, 0xbe, 0x09, 0xd6, 0x1d, 0xbc, 0xed, 0x18, 0x82, 0xcf, 0x8a, + 0xf8, 0x24, 0x0e, 0xa7, 0x83, 0xf5, 0x9e, 0x6d, 0xb8, 0x07, 0xaa, 0x6e, 0x99, 0xae, 0xa6, 0xbb, + 0xfc, 0x94, 0xbc, 0x20, 0xca, 0x2b, 0xac, 0x98, 0x10, 0x69, 0x61, 0x57, 0x33, 0xda, 0xec, 0xde, + 0x64, 0x5a, 0x11, 0x9f, 0xbc, 0xab, 0xbf, 0x95, 0x0a, 0x9e, 0x12, 0x57, 0x40, 0xb2, 0xba, 0xd8, + 0x0e, 0x59, 0x7a, 0x4c, 0x1a, 0xe7, 0x7f, 0xed, 0x33, 0x4f, 0xce, 0x71, 0x86, 0x73, 0x5b, 0x8f, + 0xbd, 0x53, 0xaf, 0x14, 0x04, 0x86, 0x30, 0x01, 0x5f, 0x09, 0xe5, 0x8c, 0xf6, 0xb6, 0xfd, 0xa7, + 0x35, 0xe6, 0x06, 0x98, 0x5a, 0x32, 0x0f, 0xca, 0xf3, 0xbf, 0xea, 0x93, 0xf6, 0x4f, 0x91, 0x6f, + 0xe0, 0x83, 0x60, 0x02, 0x29, 0x25, 0x43, 0x4c, 0xad, 0xd7, 0x34, 0xa3, 0x2d, 0xfe, 0x90, 0xaa, + 0xc2, 0xbf, 0xd0, 0x8a, 0x97, 0xfc, 0x13, 0xa7, 0x96, 0x9b, 0x3c, 0x4a, 0x36, 0xca, 0x96, 0xd9, + 0x0a, 0x67, 0xf9, 0xa0, 0x0a, 0x24, 0x5d, 0xeb, 0x16, 0x36, 0x39, 0x83, 0x8e, 0xf6, 0x14, 0x21, + 0x47, 0x45, 0x5f, 0x07, 0x52, 0x0b, 0xb7, 0xf1, 0x2e, 0xb3, 0x23, 0xf6, 0x34, 0x62, 0xd5, 0x27, + 0xef, 0xf7, 0x39, 0xc2, 0x82, 0x47, 0xaa, 0x41, 0x29, 0xa1, 0xcd, 0xf0, 0x53, 0xaa, 0xd3, 0x3c, + 0xb5, 0x7b, 0xc4, 0x18, 0x03, 0x92, 0x17, 0xd4, 0x3c, 0xa1, 0xa7, 0x57, 0x1f, 0x03, 0xa9, 0x67, + 0x6e, 0x5b, 0x26, 0xfd, 0xfb, 0x83, 0xdc, 0x7a, 0x4d, 0xb1, 0x3c, 0x62, 0xaf, 0x9c, 0xe7, 0x11, + 0x6f, 0x42, 0xde, 0x07, 0xa5, 0x2b, 0x24, 0x7d, 0xd4, 0x15, 0x92, 0xf3, 0x08, 0x10, 0x10, 0xb4, + 0x0e, 0xe0, 0xaf, 0x41, 0xea, 0x58, 0x67, 0x46, 0xcf, 0x98, 0xbf, 0x9a, 0x83, 0x83, 0x09, 0x10, + 0x40, 0x5f, 0x0b, 0xb3, 0x1d, 0xc3, 0x54, 0x1d, 0xdc, 0xde, 0x51, 0x39, 0xe7, 0x08, 0xdd, 0xcc, + 0xd1, 0x67, 0x73, 0xa6, 0x63, 0x98, 0x0d, 0xdc, 0xde, 0x59, 0xf5, 0xa8, 0xa0, 0x77, 0xc3, 0x29, + 0x7f, 0xf4, 0x96, 0xa9, 0xee, 0x59, 0xed, 0x96, 0x6a, 0xe3, 0x1d, 0x55, 0xa7, 0xef, 0x62, 0x66, + 0x29, 0xcf, 0x4e, 0x78, 0x20, 0x75, 0xf3, 0x9a, 0xd5, 0x6e, 0x29, 0x78, 0xa7, 0x42, 0xaa, 0xd1, + 0x43, 0xe0, 0x0f, 0x5d, 0x35, 0x5a, 0xce, 0x7c, 0x6e, 0x29, 0x76, 0x26, 0xae, 0x64, 0xbd, 0xc2, + 0x5a, 0xcb, 0x41, 0x5d, 0x38, 0xe6, 0xdb, 0xa0, 0xa4, 0x5c, 0x08, 0x50, 0x9e, 0x8e, 0xe0, 0xdd, + 0x7c, 0x04, 0x8f, 0x8c, 0x7f, 0x7d, 0x72, 0x79, 0x50, 0x96, 0x66, 0x3d, 0xd2, 0x54, 0xf4, 0x99, + 0x3c, 0x69, 0x90, 0x6b, 0x1b, 0x1f, 0xe8, 0x19, 0x5e, 0x4b, 0x85, 0xb7, 0xa1, 0xa5, 0x2c, 0x23, + 0xc9, 0x9a, 0x58, 0x49, 0x7d, 0xe8, 0x93, 0x8b, 0x53, 0x9f, 0xff, 0xe4, 0xe2, 0x94, 0x7c, 0x85, + 0x3e, 0x1e, 0xc4, 0x95, 0x03, 0x76, 0xd0, 0x45, 0x48, 0x6b, 0xe2, 0x83, 0xbd, 0x0b, 0x75, 0x88, + 0x72, 0xf1, 0x41, 0xe5, 0x1f, 0x89, 0x40, 0x72, 0xf5, 0xe6, 0xa6, 0x66, 0xd8, 0xa8, 0x0a, 0x33, + 0xfe, 0x6a, 0x9b, 0x54, 0x4f, 0xf9, 0x0b, 0x54, 0x28, 0xaa, 0x8d, 0x51, 0x8e, 0x6d, 0xba, 0x7c, + 0xfa, 0xd7, 0x3e, 0xf3, 0xe4, 0x83, 0x9c, 0xcc, 0xcd, 0x3e, 0x1f, 0x57, 0xd0, 0xeb, 0xf7, 0x7d, + 0x03, 0x63, 0xbe, 0x0e, 0xd3, 0xac, 0xab, 0x0e, 0x7a, 0x11, 0x12, 0x5d, 0xf2, 0x83, 0x27, 0xfd, + 0x2d, 0x8c, 0x5c, 0xb5, 0x14, 0x3e, 0x28, 0xe3, 0x0c, 0x4f, 0xfe, 0x96, 0x28, 0xc0, 0xea, 0xcd, + 0x9b, 0x4d, 0xdb, 0xe8, 0xb6, 0xb1, 0xfb, 0x76, 0x8d, 0x7d, 0x2b, 0x28, 0x74, 0x8e, 0xad, 0x1f, + 0x7d, 0xfc, 0xbe, 0x64, 0x35, 0x6c, 0x7d, 0x28, 0xd9, 0x96, 0xe3, 0x7a, 0x64, 0x63, 0x47, 0x27, + 0xbb, 0xea, 0xb8, 0x83, 0x9c, 0x7d, 0x19, 0x32, 0x3e, 0x33, 0x1c, 0x54, 0x83, 0x94, 0xcb, 0x7f, + 0x73, 0x06, 0xcb, 0xa3, 0x19, 0x2c, 0xd0, 0x82, 0x4c, 0xf6, 0xd0, 0xe5, 0xef, 0x23, 0x7c, 0xf6, + 0x17, 0xfe, 0x5f, 0x4c, 0x19, 0x43, 0x35, 0x48, 0xf2, 0x35, 0x1b, 0xbb, 0xef, 0x27, 0x79, 0x19, + 0x01, 0x9a, 0x91, 0x14, 0xd2, 0x3b, 0xfc, 0x11, 0x83, 0x5c, 0x48, 0x65, 0x04, 0x78, 0xff, 0x6d, + 0x51, 0x98, 0xdd, 0x12, 0x9a, 0xeb, 0x2f, 0x3e, 0xab, 0xb6, 0x60, 0x1a, 0x9b, 0xae, 0x6d, 0x78, + 0xd9, 0xad, 0x4f, 0x8d, 0x12, 0x8d, 0x21, 0x83, 0xaa, 0x9a, 0xae, 0x7d, 0x10, 0x14, 0x14, 0x41, + 0x2b, 0xc0, 0x8f, 0x8f, 0xc5, 0x60, 0x7e, 0x14, 0x2a, 0x7a, 0x14, 0x0a, 0xba, 0x8d, 0x69, 0x41, + 0xf8, 0xbd, 0xb8, 0xbc, 0x28, 0xe6, 0xfb, 0xab, 0x02, 0xc4, 0x22, 0x25, 0x32, 0x48, 0x40, 0xef, + 0xcf, 0x04, 0xcd, 0xfb, 0x14, 0xe8, 0x0e, 0xdb, 0x84, 0x82, 0x78, 0x0d, 0x63, 0x5b, 0x6b, 0x6b, + 0xa6, 0x2e, 0x4c, 0xf5, 0x23, 0x6d, 0x87, 0xe2, 0x45, 0x8d, 0x32, 0x23, 0x81, 0xaa, 0x30, 0x2d, + 0xa8, 0xc5, 0x8f, 0x4e, 0x4d, 0xe0, 0xa2, 0xd3, 0x90, 0x0d, 0x6e, 0x8a, 0xd4, 0xec, 0x8a, 0x2b, + 0x99, 0xc0, 0x9e, 0x38, 0x6e, 0xd7, 0x4d, 0x1e, 0xba, 0xeb, 0x72, 0xcb, 0xf6, 0xfb, 0xe8, 0xa5, + 0xf5, 0xd6, 0x5f, 0xfe, 0x69, 0xd9, 0x04, 0x60, 0x2b, 0x9a, 0x28, 0x5c, 0x3e, 0x33, 0xf7, 0xa1, + 0x16, 0xd2, 0x8c, 0xc8, 0xaa, 0xe3, 0x7e, 0xb5, 0x66, 0xe8, 0x37, 0xa3, 0x90, 0x0d, 0xce, 0xd0, + 0x5f, 0xc9, 0xbd, 0x0d, 0x6d, 0xf8, 0x6a, 0x8a, 0x9d, 0x03, 0x3c, 0x36, 0x4a, 0x4d, 0x0d, 0x48, + 0xf3, 0x18, 0xfd, 0xf4, 0x56, 0x12, 0x92, 0xfc, 0xe6, 0x5d, 0x7d, 0xc0, 0x88, 0x8f, 0x8c, 0x7b, + 0x0d, 0x34, 0x27, 0x5e, 0x03, 0x1d, 0x6a, 0xc3, 0x3f, 0x0c, 0xf9, 0x8e, 0xb6, 0xaf, 0x86, 0xae, + 0xf3, 0x45, 0xce, 0xe4, 0xa8, 0x4f, 0xef, 0x9f, 0xd8, 0xa2, 0x45, 0xc8, 0x10, 0x30, 0x5f, 0x0f, + 0x13, 0x18, 0xe8, 0x68, 0xfb, 0x55, 0x56, 0x82, 0x9e, 0x04, 0xb4, 0xe7, 0x05, 0x67, 0x54, 0x9f, + 0x11, 0x04, 0x6e, 0xc6, 0xaf, 0x11, 0xe0, 0x0f, 0x02, 0x50, 0x0b, 0x99, 0x3d, 0x56, 0xcf, 0xff, + 0xec, 0x32, 0x29, 0x59, 0xa5, 0x0f, 0xd6, 0x7f, 0x63, 0x84, 0xf9, 0x02, 0x7d, 0x21, 0x03, 0xee, + 0x8a, 0x35, 0x27, 0x58, 0x14, 0x7f, 0xf2, 0xe6, 0x62, 0xf1, 0x40, 0xeb, 0xb4, 0x57, 0xe4, 0x21, + 0x74, 0xe4, 0x61, 0x51, 0x0c, 0xe2, 0x34, 0x84, 0x43, 0x0e, 0xe8, 0x6e, 0x64, 0xc0, 0xa4, 0xdf, + 0xd1, 0x74, 0xd7, 0xb2, 0xa9, 0xeb, 0x96, 0x2e, 0xdf, 0x9c, 0xac, 0x23, 0x0f, 0xb0, 0x8e, 0x0c, + 0xa5, 0x34, 0xb4, 0x2b, 0x61, 0x63, 0xff, 0x0a, 0x05, 0x44, 0x7f, 0x37, 0x02, 0x27, 0x77, 0xdb, + 0xd6, 0xb6, 0xd6, 0x56, 0x85, 0xd1, 0xcf, 0xe4, 0x4a, 0xd5, 0xb5, 0x2e, 0xcb, 0x5e, 0x2f, 0xbf, + 0x3a, 0x59, 0x87, 0x96, 0x58, 0x87, 0x46, 0x52, 0x1b, 0xda, 0xa9, 0xe3, 0x0c, 0x7c, 0x8d, 0x79, + 0x07, 0x0c, 0xb8, 0xa2, 0x75, 0xd1, 0x27, 0x22, 0xf0, 0x80, 0x3f, 0xb4, 0x21, 0x5d, 0x4b, 0xd3, + 0xae, 0xbd, 0x6f, 0xb2, 0xae, 0x3d, 0xd4, 0xcf, 0xab, 0x09, 0x7b, 0x77, 0xd2, 0xc3, 0xe8, 0xef, + 0xe0, 0xca, 0xbb, 0x88, 0x92, 0xba, 0xfb, 0x7b, 0x3f, 0x76, 0xf6, 0x54, 0xc0, 0xfb, 0xd9, 0xf7, + 0x02, 0xb0, 0x6c, 0x65, 0x11, 0xb7, 0x04, 0xf9, 0x7b, 0xbf, 0xf7, 0xf2, 0xc2, 0x3a, 0x40, 0xc0, + 0x17, 0x8d, 0x1c, 0xee, 0xe3, 0xfa, 0xf8, 0x21, 0x1f, 0x37, 0xa0, 0x19, 0xdf, 0xe3, 0x6f, 0xbd, + 0xe2, 0x19, 0xdf, 0x21, 0x7f, 0x83, 0x62, 0xb9, 0x62, 0x19, 0x21, 0x12, 0x02, 0x89, 0x2a, 0xdc, + 0x29, 0xf9, 0xdf, 0x45, 0xe0, 0xe4, 0x80, 0x12, 0xf1, 0xba, 0xac, 0x03, 0xb2, 0x03, 0x95, 0x74, + 0x31, 0x8a, 0x54, 0xff, 0xfb, 0xd3, 0x49, 0x33, 0xf6, 0xc0, 0xfe, 0xfb, 0xf6, 0xd8, 0x10, 0x7c, + 0x03, 0xf9, 0x95, 0x08, 0xcc, 0x05, 0x3b, 0xe0, 0x0d, 0xa5, 0x01, 0xd9, 0x60, 0xd3, 0x7c, 0x10, + 0xef, 0x9a, 0x64, 0x10, 0xc1, 0xfe, 0x87, 0x88, 0xa0, 0x9b, 0xbe, 0xa2, 0x66, 0x91, 0xdf, 0xa7, + 0x27, 0x66, 0x8a, 0xe8, 0xd8, 0x50, 0x85, 0xcd, 0xe6, 0xe6, 0x0f, 0x22, 0x10, 0xdf, 0xb4, 0xac, + 0x36, 0xfa, 0x00, 0xcc, 0x98, 0x96, 0x4b, 0xd7, 0x3a, 0x6e, 0xa9, 0x3c, 0x34, 0xc5, 0x36, 0xc1, + 0xea, 0xa1, 0xbc, 0xfa, 0xc2, 0x9b, 0x8b, 0x83, 0x98, 0xc3, 0xfe, 0x0a, 0x48, 0xc1, 0xb4, 0xdc, + 0x32, 0x05, 0x6a, 0xb2, 0xe8, 0xd5, 0x0e, 0xe4, 0xc2, 0xcd, 0xb1, 0x8d, 0xb2, 0x34, 0xae, 0xb9, + 0xdc, 0xd8, 0xa6, 0xb2, 0xdb, 0x81, 0x76, 0xd8, 0x43, 0xe9, 0x7f, 0x44, 0x66, 0xee, 0x15, 0x90, + 0x6e, 0xf6, 0x5f, 0x21, 0xab, 0xc2, 0xb4, 0xb8, 0x32, 0x16, 0x99, 0xf0, 0x36, 0x5a, 0x90, 0x9d, + 0x1c, 0x57, 0xfe, 0xb9, 0x08, 0xcc, 0xd2, 0xf6, 0x8c, 0xd7, 0x31, 0x0d, 0x46, 0x28, 0x58, 0xb7, + 0xec, 0x16, 0xca, 0x43, 0x94, 0x9f, 0xc8, 0xc5, 0x95, 0xa8, 0xd1, 0x42, 0xcb, 0x90, 0xb0, 0xee, + 0x98, 0x3c, 0x71, 0xec, 0x30, 0x03, 0x83, 0x81, 0xd1, 0x1d, 0xcf, 0x6a, 0xf5, 0xda, 0x58, 0xd5, + 0x74, 0x66, 0xe4, 0xb0, 0xa8, 0x6c, 0x8e, 0x95, 0x96, 0x58, 0x21, 0xba, 0x18, 0xbc, 0x00, 0x11, + 0x1f, 0x43, 0xda, 0x07, 0xe5, 0x12, 0xfd, 0x75, 0x20, 0x6f, 0x62, 0xb6, 0xcb, 0x06, 0x87, 0x50, + 0xea, 0xb9, 0x7b, 0x96, 0x6d, 0xbc, 0x4e, 0x25, 0xea, 0xbe, 0x43, 0x28, 0x67, 0x7f, 0x2a, 0x02, + 0xe0, 0x47, 0x40, 0xd1, 0x13, 0x70, 0xa2, 0x5c, 0xdf, 0x58, 0x55, 0x1b, 0xcd, 0x52, 0x73, 0xab, + 0x11, 0xfe, 0xc3, 0x49, 0xe2, 0xd0, 0xcd, 0xe9, 0x62, 0xdd, 0xd8, 0x31, 0x70, 0x0b, 0x3d, 0x02, + 0x73, 0x61, 0x68, 0xf2, 0x55, 0x5d, 0x95, 0x22, 0xc5, 0xec, 0xdd, 0x7b, 0x4b, 0x29, 0xe6, 0x08, + 0xe1, 0x16, 0x3a, 0x03, 0xc7, 0x06, 0xe1, 0x6a, 0x1b, 0x57, 0xa5, 0x68, 0x31, 0x77, 0xf7, 0xde, + 0x52, 0xda, 0xf3, 0x98, 0x90, 0x0c, 0x28, 0x08, 0xc9, 0xe9, 0xc5, 0x8a, 0x70, 0xf7, 0xde, 0x52, + 0x92, 0x09, 0x68, 0x31, 0xfe, 0xa1, 0x1f, 0x58, 0x98, 0x3a, 0xfb, 0x3e, 0x80, 0x9a, 0xb9, 0x63, + 0x6b, 0x3a, 0x5d, 0x88, 0x45, 0x38, 0x5e, 0xdb, 0xb8, 0xa2, 0x94, 0x2a, 0xcd, 0x5a, 0x7d, 0xa3, + 0xef, 0xef, 0x3d, 0x85, 0xeb, 0x56, 0xeb, 0x5b, 0xe5, 0xb5, 0xaa, 0xda, 0xa8, 0x5d, 0xdd, 0x60, + 0xf7, 0x1c, 0x42, 0x75, 0xef, 0xdd, 0x68, 0xd6, 0xd6, 0xab, 0x52, 0xf4, 0xec, 0xcf, 0x45, 0xe1, + 0x44, 0x88, 0xdf, 0x6b, 0x96, 0x7e, 0x8b, 0x33, 0xa9, 0x0c, 0x8f, 0x34, 0xeb, 0x37, 0xaa, 0x1b, + 0xb5, 0x57, 0xab, 0x6a, 0xe3, 0x5a, 0x49, 0xa9, 0xaa, 0xf4, 0x39, 0xe2, 0xa1, 0x3c, 0xa3, 0xcf, + 0x24, 0xf7, 0x11, 0xd8, 0x30, 0xda, 0xe8, 0x6b, 0xe0, 0xf4, 0x21, 0x34, 0xc8, 0x6f, 0xca, 0xc7, + 0x93, 0x77, 0xef, 0x2d, 0x1d, 0xeb, 0x43, 0x27, 0xbf, 0x70, 0x0b, 0xad, 0xc2, 0x43, 0x87, 0xf6, + 0x82, 0xd3, 0x88, 0x16, 0x4f, 0xdd, 0xbd, 0xb7, 0x74, 0xa2, 0x8f, 0xc6, 0x96, 0xd9, 0x66, 0x54, + 0xd6, 0xe1, 0xcc, 0x98, 0x7e, 0xa8, 0xd5, 0x97, 0x37, 0x6b, 0xf4, 0x4f, 0x64, 0xc5, 0x8a, 0x8b, + 0x77, 0xef, 0x2d, 0x9d, 0x1a, 0xd2, 0x9d, 0xea, 0x7e, 0xd7, 0x20, 0x92, 0xc5, 0xe6, 0xa6, 0x7c, + 0x65, 0xe4, 0x91, 0xe7, 0x13, 0x87, 0xc6, 0x11, 0xfd, 0x9d, 0x34, 0x74, 0xd6, 0xf9, 0x7f, 0x03, + 0x00, 0x00, 0xff, 0xff, 0x80, 0x7b, 0x3f, 0xc1, 0x6e, 0xa6, 0x00, 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) diff --git a/x/staking/types/validator.go b/x/staking/types/validator.go index c2db50f5cf82..168f51bd3f13 100644 --- a/x/staking/types/validator.go +++ b/x/staking/types/validator.go @@ -60,6 +60,8 @@ func NewValidator(operator string, pubKey cryptotypes.PubKey, description Descri Commission: NewCommission(math.LegacyZeroDec(), math.LegacyZeroDec(), math.LegacyZeroDec()), MinSelfDelegation: math.OneInt(), UnbondingOnHoldRefCount: 0, + ValidatorBondShares: math.LegacyZeroDec(), + LiquidShares: math.LegacyZeroDec(), }, nil } From 5fb6566755e40e57d0d0ff8031c2b1838b4a018b Mon Sep 17 00:00:00 2001 From: Alexandr Romanenya Date: Mon, 22 Sep 2025 20:39:57 +0300 Subject: [PATCH 07/13] feat: changed math type in proto file --- api/cosmos/staking/v1beta1/genesis.pulsar.go | 105 +- api/cosmos/staking/v1beta1/query.pulsar.go | 599 +++--- api/cosmos/staking/v1beta1/staking.pulsar.go | 685 ++++--- proto/cosmos/staking/v1beta1/genesis.proto | 15 +- proto/cosmos/staking/v1beta1/query.proto | 12 +- proto/cosmos/staking/v1beta1/staking.proto | 4 +- x/staking/types/genesis.pb.go | 97 +- x/staking/types/query.pb.go | 260 +-- x/staking/types/staking.pb.go | 1740 +++++++++--------- 9 files changed, 1754 insertions(+), 1763 deletions(-) diff --git a/api/cosmos/staking/v1beta1/genesis.pulsar.go b/api/cosmos/staking/v1beta1/genesis.pulsar.go index 545aa05c6b2a..72363c8ca14c 100644 --- a/api/cosmos/staking/v1beta1/genesis.pulsar.go +++ b/api/cosmos/staking/v1beta1/genesis.pulsar.go @@ -2950,16 +2950,16 @@ var file_cosmos_staking_v1beta1_genesis_proto_rawDesc = []byte{ 0x0a, 0x24, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, - 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x14, - 0x67, 0x6f, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, - 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x73, 0x74, 0x61, - 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x6d, 0x69, - 0x6e, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x11, + 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x24, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, + 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, + 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x14, 0x67, 0x6f, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, + 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa1, 0x08, 0x0a, 0x0c, 0x47, 0x65, + 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x90, 0x08, 0x0a, 0x0c, 0x47, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, @@ -3012,51 +3012,50 @@ var file_cosmos_staking_v1beta1_genesis_proto_rawDesc = []byte{ 0x7a, 0x65, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x19, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, - 0x64, 0x49, 0x64, 0x12, 0x70, 0x0a, 0x1a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x71, + 0x64, 0x49, 0x64, 0x12, 0x5f, 0x0a, 0x1a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x33, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, - 0x26, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x74, 0x79, - 0x70, 0x65, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x17, 0x74, 0x6f, - 0x74, 0x61, 0x6c, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x64, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x66, 0x0a, 0x14, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, - 0x65, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18, 0x0c, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, - 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x42, 0x09, - 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x12, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x73, 0x22, 0x94, 0x01, - 0x0a, 0x11, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, - 0x6f, 0x63, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x4d, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x08, 0xc8, 0xde, 0x1f, 0x00, - 0x90, 0xdf, 0x1f, 0x01, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, - 0x54, 0x69, 0x6d, 0x65, 0x22, 0x68, 0x0a, 0x12, 0x4c, 0x61, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x12, 0x32, 0x0a, 0x07, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, - 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, - 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, - 0x0a, 0x05, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x70, - 0x6f, 0x77, 0x65, 0x72, 0x3a, 0x08, 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x42, 0xdc, - 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, - 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0c, 0x47, - 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x53, 0x58, 0xaa, 0x02, 0x16, 0x43, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, - 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x22, - 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0xea, 0x02, 0x18, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x53, 0x74, 0x61, - 0x6b, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x22, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, + 0x15, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, + 0x74, 0x68, 0x2e, 0x49, 0x6e, 0x74, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x17, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x64, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x66, 0x0a, 0x14, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, + 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18, 0x0c, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, + 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x42, 0x09, 0xc8, + 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x12, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x69, + 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x73, 0x22, 0x94, 0x01, 0x0a, + 0x11, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x6f, + 0x63, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x4d, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x08, 0xc8, 0xde, 0x1f, 0x00, 0x90, + 0xdf, 0x1f, 0x01, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x69, 0x6d, 0x65, 0x22, 0x68, 0x0a, 0x12, 0x4c, 0x61, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x12, 0x32, 0x0a, 0x07, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, + 0x05, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x70, 0x6f, + 0x77, 0x65, 0x72, 0x3a, 0x08, 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x42, 0xdc, 0x01, + 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, + 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0c, 0x47, 0x65, + 0x6e, 0x65, 0x73, 0x69, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x53, 0x58, 0xaa, 0x02, 0x16, 0x43, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0xca, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, + 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x22, 0x43, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0xea, 0x02, 0x18, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x53, 0x74, 0x61, 0x6b, + 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/api/cosmos/staking/v1beta1/query.pulsar.go b/api/cosmos/staking/v1beta1/query.pulsar.go index b28a11375d41..cdcdcfece987 100644 --- a/api/cosmos/staking/v1beta1/query.pulsar.go +++ b/api/cosmos/staking/v1beta1/query.pulsar.go @@ -22364,22 +22364,22 @@ var file_cosmos_staking_v1beta1_query_proto_rawDesc = []byte{ 0x0a, 0x22, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, - 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x1e, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2f, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2a, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x67, 0x6f, 0x67, 0x6f, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x1a, 0x19, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x31, 0x2f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x61, 0x6d, 0x69, 0x6e, - 0x6f, 0x2f, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x78, 0x0a, + 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x11, 0x61, 0x6d, + 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x2a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x61, 0x67, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x31, 0x2f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x67, 0x6f, 0x67, 0x6f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x78, 0x0a, 0x16, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, @@ -22719,327 +22719,326 @@ var file_cosmos_staking_v1beta1_query_proto_rawDesc = []byte{ 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x18, 0x0a, 0x16, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4c, 0x69, - 0x71, 0x75, 0x69, 0x64, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x64, 0x22, 0x76, 0x0a, 0x1e, 0x51, 0x75, + 0x71, 0x75, 0x69, 0x64, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x64, 0x22, 0x65, 0x0a, 0x1e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x53, 0x74, - 0x61, 0x6b, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x06, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3c, 0xc8, 0xde, - 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x26, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, - 0x64, 0x6b, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xd2, 0xb4, 0x2d, 0x0a, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0x52, 0x06, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x73, 0x22, 0x36, 0x0a, 0x1a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x49, 0x6e, 0x66, 0x6f, - 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x65, 0x0a, 0x22, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, - 0x4c, 0x6f, 0x63, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x69, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, - 0x65, 0x32, 0x82, 0x24, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x9e, 0x01, 0x0a, 0x0a, - 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x2e, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2f, 0x88, 0xe7, 0xb0, - 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x12, 0x22, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0xac, 0x01, 0x0a, - 0x09, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x2d, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x61, 0x6b, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x06, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xc8, 0xde, + 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, + 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x49, 0x6e, 0x74, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0x52, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x73, 0x22, 0x36, 0x0a, 0x1a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, + 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, + 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x65, 0x0a, 0x22, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, + 0x6f, 0x63, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x69, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, + 0x32, 0x82, 0x24, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x9e, 0x01, 0x0a, 0x0a, 0x56, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x2e, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, - 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0x88, 0xe7, 0xb0, 0x2a, 0x01, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, 0x12, 0x33, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, - 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x2f, 0x7b, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x7d, 0x12, 0xd9, 0x01, 0x0a, 0x14, - 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x38, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, - 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x44, 0x65, 0x6c, 0x65, - 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, - 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4c, 0x88, 0xe7, 0xb0, 0x2a, 0x01, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x12, 0x3f, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, - 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x2f, 0x7b, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x7d, 0x2f, 0x64, 0x65, 0x6c, 0x65, - 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xfe, 0x01, 0x0a, 0x1d, 0x56, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, - 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x41, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, - 0x72, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x42, 0x2e, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x6f, 0x72, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, - 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x56, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4b, 0x12, 0x49, 0x2f, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, - 0x73, 0x2f, 0x7b, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, - 0x72, 0x7d, 0x2f, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x6c, - 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xcc, 0x01, 0x0a, 0x0a, 0x44, 0x65, 0x6c, - 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5d, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x52, 0x12, 0x50, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, + 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2f, 0x88, 0xe7, 0xb0, 0x2a, + 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x12, 0x22, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0xac, 0x01, 0x0a, 0x09, + 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x2d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x35, 0x12, 0x33, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, + 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x2f, 0x7b, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x7d, 0x12, 0xd9, 0x01, 0x0a, 0x14, 0x56, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x38, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, + 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x44, 0x65, 0x6c, 0x65, 0x67, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x6f, 0x72, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4c, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x12, 0x3f, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x2f, 0x7b, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x7d, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x67, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, - 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x7d, 0x12, 0xfc, 0x01, 0x0a, 0x13, 0x55, 0x6e, 0x62, 0x6f, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x37, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x6e, - 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xfe, 0x01, 0x0a, 0x1d, 0x56, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x6f, 0x72, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, + 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x41, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, + 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x42, 0x2e, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x6f, 0x72, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, + 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x56, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4b, 0x12, 0x49, 0x2f, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, + 0x2f, 0x7b, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, + 0x7d, 0x2f, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x6c, 0x65, + 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xcc, 0x01, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, + 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, + 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, + 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5d, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x52, 0x12, 0x50, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, + 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x2f, 0x7b, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x7d, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, + 0x5f, 0x61, 0x64, 0x64, 0x72, 0x7d, 0x12, 0xfc, 0x01, 0x0a, 0x13, 0x55, 0x6e, 0x62, 0x6f, 0x6e, + 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x37, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x6e, 0x62, + 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, + 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x72, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x67, 0x12, 0x65, + 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, + 0x72, 0x73, 0x2f, 0x7b, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, + 0x64, 0x72, 0x7d, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x7b, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x7d, + 0x2f, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0xce, 0x01, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, + 0x74, 0x6f, 0x72, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x38, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x6c, + 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, + 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x41, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, + 0x12, 0x34, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, + 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, + 0x5f, 0x61, 0x64, 0x64, 0x72, 0x7d, 0x12, 0xfe, 0x01, 0x0a, 0x1d, 0x44, 0x65, 0x6c, 0x65, 0x67, + 0x61, 0x74, 0x6f, 0x72, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, + 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x41, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, - 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x72, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x67, 0x12, - 0x65, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, - 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x6f, 0x72, 0x73, 0x2f, 0x7b, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, - 0x64, 0x64, 0x72, 0x7d, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, + 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x42, 0x2e, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, + 0x74, 0x6f, 0x72, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, + 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x56, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4b, 0x12, 0x49, 0x2f, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x2f, 0x7b, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x7d, 0x2f, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x6c, 0x65, - 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0xce, 0x01, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x67, - 0x61, 0x74, 0x6f, 0x72, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x38, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, - 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xc6, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x64, 0x65, + 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x31, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, - 0x72, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x41, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x36, 0x12, 0x34, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, - 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x67, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, - 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x7d, 0x12, 0xfe, 0x01, 0x0a, 0x1d, 0x44, 0x65, 0x6c, 0x65, - 0x67, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, - 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x41, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, - 0x72, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x42, 0x2e, 0x63, + 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, - 0x61, 0x74, 0x6f, 0x72, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x56, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4b, 0x12, 0x49, 0x2f, + 0x22, 0x4e, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x12, 0x41, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x2f, 0x7b, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, - 0x72, 0x7d, 0x2f, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x6c, - 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xc6, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x64, - 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x31, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x64, 0x65, - 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x4e, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x12, 0x41, - 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, - 0x72, 0x73, 0x2f, 0x7b, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, - 0x64, 0x72, 0x7d, 0x2f, 0x72, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x12, 0xd5, 0x01, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x56, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x37, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, - 0x72, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, - 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x88, 0xe7, - 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x12, 0x3e, 0x2f, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x2f, 0x7b, 0x64, - 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x7d, 0x2f, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0xe3, 0x01, 0x0a, 0x12, 0x44, 0x65, - 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, - 0x12, 0x36, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, - 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, - 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, - 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x72, 0x7d, 0x2f, 0x72, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0xd5, 0x01, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x56, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x37, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, - 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x5c, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x51, 0x12, 0x4f, - 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, - 0x72, 0x73, 0x2f, 0x7b, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, - 0x64, 0x72, 0x7d, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x2f, 0x7b, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x7d, 0x12, - 0xb8, 0x01, 0x0a, 0x0e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x49, 0x6e, - 0x66, 0x6f, 0x12, 0x32, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, - 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, - 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x88, 0xe7, 0xb0, - 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x12, 0x30, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x38, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, + 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x88, 0xe7, 0xb0, + 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x12, 0x3e, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x66, - 0x6f, 0x2f, 0x7b, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x7d, 0x12, 0x86, 0x01, 0x0a, 0x04, 0x50, - 0x6f, 0x6f, 0x6c, 0x12, 0x28, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, - 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, + 0x31, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x2f, 0x7b, 0x64, 0x65, + 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x7d, 0x2f, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0xe3, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, + 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, + 0x36, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, + 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x56, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x5c, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x51, 0x12, 0x4f, 0x2f, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, + 0x73, 0x2f, 0x7b, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, + 0x72, 0x7d, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x2f, 0x7b, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x7d, 0x12, 0xb8, + 0x01, 0x0a, 0x0e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x49, 0x6e, 0x66, + 0x6f, 0x12, 0x32, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, + 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, + 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x49, 0x6e, + 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x88, 0xe7, 0xb0, 0x2a, + 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x12, 0x30, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, + 0x2f, 0x7b, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x7d, 0x12, 0x86, 0x01, 0x0a, 0x04, 0x50, 0x6f, + 0x6f, 0x6c, 0x12, 0x28, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, + 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x6f, 0x6f, 0x6c, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x29, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, + 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x6f, + 0x6f, 0x6c, 0x12, 0x8e, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x2a, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x6f, 0x6f, 0x6c, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x29, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, - 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, - 0x6f, 0x6f, 0x6c, 0x12, 0x8e, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x2a, - 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, - 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2b, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x20, 0x12, 0x1e, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, - 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x61, - 0x72, 0x61, 0x6d, 0x73, 0x12, 0xdb, 0x01, 0x0a, 0x17, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, - 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x42, 0x79, 0x49, 0x64, - 0x12, 0x3b, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2b, 0x88, 0xe7, 0xb0, 0x2a, 0x01, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x20, 0x12, 0x1e, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, + 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x12, 0xdb, 0x01, 0x0a, 0x17, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, + 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x42, 0x79, 0x49, 0x64, 0x12, + 0x3b, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, + 0x64, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x42, 0x79, + 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x45, 0x88, 0xe7, 0xb0, 0x2a, + 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x12, 0x38, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, + 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x69, 0x64, 0x2f, 0x7b, 0x69, 0x64, + 0x7d, 0x12, 0xea, 0x01, 0x0a, 0x1a, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, + 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x42, 0x79, 0x44, 0x65, 0x6e, 0x6f, 0x6d, + 0x12, 0x3e, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x6f, - 0x72, 0x64, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x42, - 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x45, 0x88, 0xe7, 0xb0, - 0x2a, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x12, 0x38, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x72, 0x64, 0x42, 0x79, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x3f, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, + 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x6f, + 0x72, 0x64, 0x42, 0x79, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x4b, 0x88, 0xe7, 0xb0, 0x2a, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x12, 0x3e, + 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, + 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x62, 0x79, + 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x2f, 0x7b, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x12, 0xe4, + 0x01, 0x0a, 0x19, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, + 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x4f, 0x77, 0x6e, 0x65, 0x64, 0x12, 0x3d, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x4f, + 0x77, 0x6e, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, + 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x4f, 0x77, + 0x6e, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x48, 0x88, 0xe7, 0xb0, + 0x2a, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, - 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x69, 0x64, 0x2f, 0x7b, 0x69, - 0x64, 0x7d, 0x12, 0xea, 0x01, 0x0a, 0x1a, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, - 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x42, 0x79, 0x44, 0x65, 0x6e, 0x6f, - 0x6d, 0x12, 0x3e, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, - 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, - 0x6f, 0x72, 0x64, 0x42, 0x79, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x3f, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, + 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x64, 0x2f, 0x7b, 0x6f, + 0x77, 0x6e, 0x65, 0x72, 0x7d, 0x12, 0xd1, 0x01, 0x0a, 0x17, 0x41, 0x6c, 0x6c, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x73, 0x12, 0x3b, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x41, 0x6c, 0x6c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, + 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, - 0x6f, 0x72, 0x64, 0x42, 0x79, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x4b, 0x88, 0xe7, 0xb0, 0x2a, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x12, - 0x3e, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, - 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, - 0x65, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x62, - 0x79, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x2f, 0x7b, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x12, - 0xe4, 0x01, 0x0a, 0x19, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, - 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x4f, 0x77, 0x6e, 0x65, 0x64, 0x12, 0x3d, 0x2e, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, - 0x4f, 0x77, 0x6e, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x4f, - 0x77, 0x6e, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x48, 0x88, 0xe7, - 0xb0, 0x2a, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3b, 0x88, 0xe7, + 0xb0, 0x2a, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30, 0x12, 0x2e, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x5f, 0x73, 0x68, 0x61, 0x72, - 0x65, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x64, 0x2f, 0x7b, - 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x7d, 0x12, 0xd1, 0x01, 0x0a, 0x17, 0x41, 0x6c, 0x6c, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, - 0x64, 0x73, 0x12, 0x3b, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, - 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x41, 0x6c, 0x6c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, - 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x3c, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, - 0x6c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, - 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3b, 0x88, - 0xe7, 0xb0, 0x2a, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30, 0x12, 0x2e, 0x2f, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x5f, 0x73, 0x68, 0x61, - 0x72, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0xde, 0x01, 0x0a, 0x19, 0x4c, - 0x61, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, - 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x12, 0x3d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x61, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x65, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0xde, 0x01, 0x0a, 0x19, 0x4c, 0x61, + 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, + 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x12, 0x3d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x61, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x42, 0x88, 0xe7, 0xb0, 0x2a, 0x00, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, - 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6c, 0x61, - 0x73, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x5f, 0x73, 0x68, 0x61, 0x72, - 0x65, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x12, 0xdd, 0x01, 0x0a, 0x19, - 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, - 0x72, 0x65, 0x64, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, 0x3d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x41, 0x73, 0x73, 0x65, 0x74, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, + 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x61, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, + 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x42, 0x88, 0xe7, 0xb0, 0x2a, 0x00, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, + 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6c, 0x61, 0x73, + 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, + 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x12, 0xdd, 0x01, 0x0a, 0x19, 0x54, + 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, + 0x65, 0x64, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, 0x3d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x41, 0x88, 0xe7, 0xb0, 0x2a, 0x00, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x41, 0x88, 0xe7, 0xb0, 0x2a, 0x00, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, + 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x5f, 0x73, 0x68, 0x61, + 0x72, 0x65, 0x64, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, 0xb5, 0x01, 0x0a, 0x11, 0x54, + 0x6f, 0x74, 0x61, 0x6c, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x64, + 0x12, 0x2e, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, + 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, + 0x6f, 0x74, 0x61, 0x6c, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x64, + 0x1a, 0x36, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, + 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, + 0x6f, 0x74, 0x61, 0x6c, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x64, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x38, 0x88, 0xe7, 0xb0, 0x2a, 0x00, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x12, 0x2b, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x5f, 0x73, 0x68, - 0x61, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, 0xb5, 0x01, 0x0a, 0x11, - 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x53, 0x74, 0x61, 0x6b, 0x65, - 0x64, 0x12, 0x2e, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, - 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x53, 0x74, 0x61, 0x6b, 0x65, - 0x64, 0x1a, 0x36, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, - 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x53, 0x74, 0x61, 0x6b, 0x65, - 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x38, 0x88, 0xe7, 0xb0, 0x2a, 0x00, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x12, 0x2b, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, - 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x5f, 0x73, 0x74, 0x61, - 0x6b, 0x65, 0x64, 0x12, 0xd0, 0x01, 0x0a, 0x15, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, - 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x32, 0x2e, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x49, 0x6e, 0x66, - 0x6f, 0x1a, 0x3a, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, - 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x63, - 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0x88, - 0xe7, 0xb0, 0x2a, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x12, 0x3a, 0x2f, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x5f, 0x73, 0x68, 0x61, - 0x72, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x2f, 0x7b, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x42, 0xda, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x63, + 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x6b, + 0x65, 0x64, 0x12, 0xd0, 0x01, 0x0a, 0x15, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, + 0x68, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x32, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, - 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, - 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, - 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x73, 0x74, 0x61, - 0x6b, 0x69, 0x6e, 0x67, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x53, - 0x58, 0xaa, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x6b, 0x69, - 0x6e, 0x67, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x16, 0x43, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0xe2, 0x02, 0x22, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, - 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x18, 0x43, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x3a, 0x3a, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x49, 0x6e, 0x66, 0x6f, + 0x1a, 0x3a, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, + 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x63, 0x6b, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0x88, 0xe7, + 0xb0, 0x2a, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x12, 0x3a, 0x2f, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x5f, 0x73, 0x68, 0x61, 0x72, + 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x2f, 0x7b, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x7d, 0x42, 0xda, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x50, 0x01, 0x5a, 0x36, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, + 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x73, 0x74, 0x61, 0x6b, + 0x69, 0x6e, 0x67, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x53, 0x58, + 0xaa, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, + 0x67, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0xe2, 0x02, 0x22, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, + 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x18, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x3a, 0x3a, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/api/cosmos/staking/v1beta1/staking.pulsar.go b/api/cosmos/staking/v1beta1/staking.pulsar.go index a28910525445..fbcfcbaf95b0 100644 --- a/api/cosmos/staking/v1beta1/staking.pulsar.go +++ b/api/cosmos/staking/v1beta1/staking.pulsar.go @@ -15775,7 +15775,7 @@ var file_cosmos_staking_v1beta1_staking_proto_rawDesc = []byte{ 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x73, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x01, 0x22, 0xdf, 0x08, 0x0a, 0x09, 0x56, 0x61, 0x6c, 0x69, + 0x73, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x01, 0x22, 0xc9, 0x08, 0x0a, 0x09, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x43, 0x0a, 0x10, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, @@ -15831,353 +15831,352 @@ var file_cosmos_staking_v1beta1_staking_proto_rawDesc = []byte{ 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x6e, 0x48, 0x6f, 0x6c, 0x64, 0x52, 0x65, 0x66, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0c, 0x75, 0x6e, - 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x73, 0x12, 0x70, 0x0a, 0x15, 0x76, 0x61, + 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x73, 0x12, 0x65, 0x0a, 0x15, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x62, 0x6f, 0x6e, 0x64, 0x5f, 0x73, 0x68, 0x61, - 0x72, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3c, 0xc8, 0xde, 0x1f, 0x00, 0xda, - 0xde, 0x1f, 0x26, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, - 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x44, 0x65, 0x63, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x13, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x6f, 0x72, 0x42, 0x6f, 0x6e, 0x64, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x12, 0x61, 0x0a, 0x0d, - 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x18, 0x0f, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x3c, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x26, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, - 0x44, 0x65, 0x63, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, - 0x63, 0x52, 0x0c, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x3a, - 0x08, 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x22, 0x46, 0x0a, 0x0c, 0x56, 0x61, 0x6c, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x09, 0x61, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, - 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, - 0x73, 0x22, 0xa9, 0x01, 0x0a, 0x06, 0x44, 0x56, 0x50, 0x61, 0x69, 0x72, 0x12, 0x45, 0x0a, 0x11, - 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x52, 0x10, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x12, 0x4e, 0x0a, 0x11, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, - 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x21, - 0xd2, 0xb4, 0x2d, 0x1d, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x52, 0x10, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x3a, 0x08, 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x22, 0x4a, 0x0a, - 0x07, 0x44, 0x56, 0x50, 0x61, 0x69, 0x72, 0x73, 0x12, 0x3f, 0x0a, 0x05, 0x70, 0x61, 0x69, 0x72, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x44, 0x56, 0x50, 0x61, 0x69, 0x72, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, - 0x2a, 0x01, 0x52, 0x05, 0x70, 0x61, 0x69, 0x72, 0x73, 0x22, 0x8b, 0x02, 0x0a, 0x0a, 0x44, 0x56, - 0x56, 0x54, 0x72, 0x69, 0x70, 0x6c, 0x65, 0x74, 0x12, 0x45, 0x0a, 0x11, 0x64, 0x65, 0x6c, 0x65, - 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x10, 0x64, - 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, - 0x55, 0x0a, 0x15, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x72, 0x63, - 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x21, - 0xd2, 0xb4, 0x2d, 0x1d, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x52, 0x13, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x72, 0x63, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x55, 0x0a, 0x15, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x6f, 0x72, 0x5f, 0x64, 0x73, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x21, 0xd2, 0xb4, 0x2d, 0x1d, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x13, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x6f, 0x72, 0x44, 0x73, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x3a, 0x08, 0x88, - 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x22, 0x58, 0x0a, 0x0b, 0x44, 0x56, 0x56, 0x54, 0x72, - 0x69, 0x70, 0x6c, 0x65, 0x74, 0x73, 0x12, 0x49, 0x0a, 0x08, 0x74, 0x72, 0x69, 0x70, 0x6c, 0x65, - 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x44, 0x56, 0x56, 0x54, 0x72, 0x69, 0x70, 0x6c, 0x65, 0x74, 0x42, 0x09, 0xc8, 0xde, - 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x08, 0x74, 0x72, 0x69, 0x70, 0x6c, 0x65, 0x74, - 0x73, 0x22, 0x9f, 0x02, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x45, 0x0a, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, - 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, - 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x10, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x4e, 0x0a, 0x11, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x21, 0xd2, 0xb4, 0x2d, 0x1d, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x56, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, - 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x10, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x49, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x65, - 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, - 0x1b, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, - 0x74, 0x68, 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x44, 0x65, 0x63, 0xd2, 0xb4, 0x2d, 0x0a, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, - 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, - 0x62, 0x6f, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x6f, 0x72, 0x42, 0x6f, 0x6e, 0x64, 0x3a, 0x08, 0x88, 0xa0, 0x1f, 0x00, 0xe8, - 0xa0, 0x1f, 0x00, 0x22, 0x8d, 0x02, 0x0a, 0x13, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, - 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x0a, 0x11, 0x64, - 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, + 0x72, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0xc8, 0xde, 0x1f, 0x00, 0xda, + 0xde, 0x1f, 0x1b, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, + 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x44, 0x65, 0x63, 0xd2, 0xb4, + 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x13, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x42, 0x6f, 0x6e, 0x64, 0x53, 0x68, 0x61, 0x72, 0x65, + 0x73, 0x12, 0x56, 0x0a, 0x0d, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x5f, 0x73, 0x68, 0x61, 0x72, + 0x65, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, + 0x1f, 0x1b, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, + 0x61, 0x74, 0x68, 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x44, 0x65, 0x63, 0xd2, 0xb4, 0x2d, + 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x0c, 0x6c, 0x69, 0x71, + 0x75, 0x69, 0x64, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x3a, 0x08, 0x88, 0xa0, 0x1f, 0x00, 0xe8, + 0xa0, 0x1f, 0x00, 0x22, 0x46, 0x0a, 0x0c, 0x56, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x52, 0x10, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x12, 0x4e, 0x0a, 0x11, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x21, 0xd2, - 0xb4, 0x2d, 0x1d, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x52, 0x10, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x12, 0x55, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, - 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x6e, 0x62, - 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, - 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x3a, 0x08, 0x88, 0xa0, 0x1f, 0x00, 0xe8, - 0xa0, 0x1f, 0x00, 0x22, 0x9b, 0x03, 0x0a, 0x18, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, - 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x65, 0x69, - 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x52, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, - 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0d, - 0xc8, 0xde, 0x1f, 0x00, 0x90, 0xdf, 0x1f, 0x01, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0e, 0x63, - 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x54, 0x0a, - 0x0f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, - 0x68, 0x2e, 0x49, 0x6e, 0x74, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, - 0x49, 0x6e, 0x74, 0x52, 0x0e, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x42, 0x61, 0x6c, 0x61, - 0x6e, 0x63, 0x65, 0x12, 0x45, 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, - 0x49, 0x6e, 0x74, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, - 0x74, 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x75, 0x6e, - 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x0b, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x12, 0x3c, 0x0a, - 0x1b, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6e, 0x5f, 0x68, 0x6f, - 0x6c, 0x64, 0x5f, 0x72, 0x65, 0x66, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x17, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x6e, 0x48, - 0x6f, 0x6c, 0x64, 0x52, 0x65, 0x66, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, - 0x01, 0x22, 0x9f, 0x03, 0x0a, 0x11, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, - 0x12, 0x52, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0d, 0xc8, 0xde, 0x1f, 0x00, 0x90, 0xdf, 0x1f, 0x01, 0xa8, - 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, - 0x54, 0x69, 0x6d, 0x65, 0x12, 0x54, 0x0a, 0x0f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, - 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xc8, - 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, - 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x49, 0x6e, 0x74, 0xd2, 0xb4, 0x2d, 0x0a, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0x52, 0x0e, 0x69, 0x6e, 0x69, 0x74, - 0x69, 0x61, 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x50, 0x0a, 0x0a, 0x73, 0x68, - 0x61, 0x72, 0x65, 0x73, 0x5f, 0x64, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, - 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x1b, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, - 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, - 0x44, 0x65, 0x63, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, - 0x63, 0x52, 0x09, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x44, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, - 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x0b, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x12, - 0x3c, 0x0a, 0x1b, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6e, 0x5f, - 0x68, 0x6f, 0x6c, 0x64, 0x5f, 0x72, 0x65, 0x66, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x17, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4f, - 0x6e, 0x48, 0x6f, 0x6c, 0x64, 0x52, 0x65, 0x66, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x04, 0xe8, - 0xa0, 0x1f, 0x01, 0x22, 0xdd, 0x02, 0x0a, 0x0c, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x0a, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, - 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x10, 0x64, 0x65, 0x6c, 0x65, 0x67, - 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x55, 0x0a, 0x15, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x72, 0x63, 0x5f, 0x61, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x21, 0xd2, 0xb4, 0x2d, 0x1d, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x13, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x72, 0x63, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x12, 0x55, 0x0a, 0x15, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, - 0x64, 0x73, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x21, 0xd2, 0xb4, 0x2d, 0x1d, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x56, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x52, 0x13, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x44, - 0x73, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x4e, 0x0a, 0x07, 0x65, 0x6e, 0x74, - 0x72, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, - 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x3a, 0x08, 0x88, 0xa0, 0x1f, 0x00, 0xe8, - 0xa0, 0x1f, 0x00, 0x22, 0xe2, 0x06, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x4f, - 0x0a, 0x0e, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x42, 0x0d, 0xc8, 0xde, 0x1f, 0x00, 0x98, 0xdf, 0x1f, 0x01, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, - 0x52, 0x0d, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x25, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x56, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x65, 0x6e, - 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x61, 0x78, - 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x68, 0x69, 0x73, 0x74, 0x6f, - 0x72, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x11, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x45, - 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x6f, 0x6e, 0x64, 0x5f, 0x64, - 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x6f, 0x6e, 0x64, - 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x84, 0x01, 0x0a, 0x13, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6f, - 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x54, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x1b, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x4c, - 0x65, 0x67, 0x61, 0x63, 0x79, 0x44, 0x65, 0x63, 0xf2, 0xde, 0x1f, 0x1a, 0x79, 0x61, 0x6d, 0x6c, - 0x3a, 0x22, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x5f, 0x72, 0x61, 0x74, 0x65, 0x22, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x2e, 0x44, 0x65, 0x63, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x11, 0x6d, 0x69, 0x6e, 0x43, 0x6f, - 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x12, 0x8a, 0x01, 0x0a, - 0x15, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x62, 0x6f, 0x6e, 0x64, 0x5f, - 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x56, 0xc8, 0xde, - 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x1b, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, - 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x44, 0x65, - 0x63, 0xf2, 0xde, 0x1f, 0x1c, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x62, 0x6f, 0x6e, 0x64, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, - 0x22, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, 0x63, 0xa8, - 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x13, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x42, - 0x6f, 0x6e, 0x64, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x95, 0x01, 0x0a, 0x19, 0x67, 0x6c, - 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x6b, - 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x61, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x5a, 0xc8, + 0x52, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x22, 0xa9, 0x01, 0x0a, 0x06, + 0x44, 0x56, 0x50, 0x61, 0x69, 0x72, 0x12, 0x45, 0x0a, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, + 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x10, 0x64, 0x65, 0x6c, + 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x4e, 0x0a, + 0x11, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x21, 0xd2, 0xb4, 0x2d, 0x1d, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x10, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x3a, 0x08, 0x88, + 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x22, 0x4a, 0x0a, 0x07, 0x44, 0x56, 0x50, 0x61, 0x69, + 0x72, 0x73, 0x12, 0x3f, 0x0a, 0x05, 0x70, 0x61, 0x69, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, + 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x56, 0x50, 0x61, 0x69, + 0x72, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x05, 0x70, 0x61, + 0x69, 0x72, 0x73, 0x22, 0x8b, 0x02, 0x0a, 0x0a, 0x44, 0x56, 0x56, 0x54, 0x72, 0x69, 0x70, 0x6c, + 0x65, 0x74, 0x12, 0x45, 0x0a, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, + 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x10, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, + 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x55, 0x0a, 0x15, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x72, 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x21, 0xd2, 0xb4, 0x2d, 0x1d, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x13, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x72, 0x63, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x12, 0x55, 0x0a, 0x15, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x64, 0x73, + 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x21, 0xd2, 0xb4, 0x2d, 0x1d, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x56, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x52, 0x13, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x44, 0x73, 0x74, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x3a, 0x08, 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, + 0x00, 0x22, 0x58, 0x0a, 0x0b, 0x44, 0x56, 0x56, 0x54, 0x72, 0x69, 0x70, 0x6c, 0x65, 0x74, 0x73, + 0x12, 0x49, 0x0a, 0x08, 0x74, 0x72, 0x69, 0x70, 0x6c, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, + 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x56, 0x56, 0x54, + 0x72, 0x69, 0x70, 0x6c, 0x65, 0x74, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, + 0x01, 0x52, 0x08, 0x74, 0x72, 0x69, 0x70, 0x6c, 0x65, 0x74, 0x73, 0x22, 0x9f, 0x02, 0x0a, 0x0a, + 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x0a, 0x11, 0x64, 0x65, + 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, + 0x10, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x12, 0x4e, 0x0a, 0x11, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x21, 0xd2, 0xb4, + 0x2d, 0x1d, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, + 0x10, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x12, 0x49, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x31, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x1b, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x4c, 0x65, 0x67, + 0x61, 0x63, 0x79, 0x44, 0x65, 0x63, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2e, 0x44, 0x65, 0x63, 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x62, 0x6f, 0x6e, 0x64, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x42, + 0x6f, 0x6e, 0x64, 0x3a, 0x08, 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x22, 0x8d, 0x02, + 0x0a, 0x13, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x0a, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, + 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x10, 0x64, 0x65, 0x6c, 0x65, + 0x67, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x4e, 0x0a, 0x11, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x21, 0xd2, 0xb4, 0x2d, 0x1d, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x10, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x55, 0x0a, 0x07, + 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, + 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, + 0x69, 0x65, 0x73, 0x3a, 0x08, 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x22, 0x9b, 0x03, + 0x0a, 0x18, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x69, + 0x67, 0x68, 0x74, 0x12, 0x52, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0d, 0xc8, 0xde, 0x1f, 0x00, 0x90, 0xdf, + 0x1f, 0x01, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, + 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x54, 0x0a, 0x0f, 0x69, 0x6e, 0x69, 0x74, 0x69, + 0x61, 0x6c, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x2b, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x49, 0x6e, 0x74, 0xd2, + 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0x52, 0x0e, 0x69, + 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x45, 0x0a, + 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, + 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, + 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x49, 0x6e, 0x74, 0xd2, 0xb4, 0x2d, + 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0x52, 0x07, 0x62, 0x61, 0x6c, + 0x61, 0x6e, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x75, 0x6e, 0x62, 0x6f, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x12, 0x3c, 0x0a, 0x1b, 0x75, 0x6e, 0x62, 0x6f, 0x6e, + 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6e, 0x5f, 0x68, 0x6f, 0x6c, 0x64, 0x5f, 0x72, 0x65, 0x66, + 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x17, 0x75, 0x6e, + 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x6e, 0x48, 0x6f, 0x6c, 0x64, 0x52, 0x65, 0x66, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x01, 0x22, 0x9f, 0x03, 0x0a, 0x11, + 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x65, + 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x52, 0x0a, 0x0f, 0x63, 0x6f, + 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, + 0x0d, 0xc8, 0xde, 0x1f, 0x00, 0x90, 0xdf, 0x1f, 0x01, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0e, + 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x54, + 0x0a, 0x0f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, + 0x15, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, + 0x74, 0x68, 0x2e, 0x49, 0x6e, 0x74, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2e, 0x49, 0x6e, 0x74, 0x52, 0x0e, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x42, 0x61, 0x6c, + 0x61, 0x6e, 0x63, 0x65, 0x12, 0x50, 0x0a, 0x0a, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x5f, 0x64, + 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, + 0x1f, 0x1b, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, + 0x61, 0x74, 0x68, 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x44, 0x65, 0x63, 0xd2, 0xb4, 0x2d, + 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x09, 0x73, 0x68, 0x61, + 0x72, 0x65, 0x73, 0x44, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x75, 0x6e, + 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x12, 0x3c, 0x0a, 0x1b, 0x75, 0x6e, 0x62, + 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6e, 0x5f, 0x68, 0x6f, 0x6c, 0x64, 0x5f, 0x72, + 0x65, 0x66, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x17, + 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x6e, 0x48, 0x6f, 0x6c, 0x64, 0x52, + 0x65, 0x66, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x01, 0x22, 0xdd, 0x02, + 0x0a, 0x0c, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x45, + 0x0a, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x52, 0x10, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x55, 0x0a, 0x15, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x6f, 0x72, 0x5f, 0x73, 0x72, 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x21, 0xd2, 0xb4, 0x2d, 0x1d, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x13, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x6f, 0x72, 0x53, 0x72, 0x63, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x55, 0x0a, 0x15, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x64, 0x73, 0x74, 0x5f, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x21, 0xd2, 0xb4, 0x2d, + 0x1d, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, + 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x13, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x44, 0x73, 0x74, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x12, 0x4e, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, + 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, + 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, + 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, + 0x69, 0x65, 0x73, 0x3a, 0x08, 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x22, 0xe2, 0x06, + 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x4f, 0x0a, 0x0e, 0x75, 0x6e, 0x62, 0x6f, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0d, 0xc8, 0xde, 0x1f, + 0x00, 0x98, 0xdf, 0x1f, 0x01, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0d, 0x75, 0x6e, 0x62, 0x6f, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x61, 0x78, + 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, + 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, + 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x5f, + 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x68, + 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, + 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x6f, 0x6e, 0x64, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x6f, 0x6e, 0x64, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, + 0x84, 0x01, 0x0a, 0x13, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x54, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x1b, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x44, - 0x65, 0x63, 0xf2, 0xde, 0x1f, 0x20, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x67, 0x6c, 0x6f, 0x62, - 0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, - 0x67, 0x5f, 0x63, 0x61, 0x70, 0x22, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x2e, 0x44, 0x65, 0x63, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x16, 0x67, 0x6c, 0x6f, 0x62, 0x61, - 0x6c, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x61, - 0x70, 0x12, 0x9e, 0x01, 0x0a, 0x1c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, - 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x63, - 0x61, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x5d, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, - 0x1f, 0x1b, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, - 0x61, 0x74, 0x68, 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x44, 0x65, 0x63, 0xf2, 0xde, 0x1f, - 0x23, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, - 0x5f, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5f, - 0x63, 0x61, 0x70, 0x22, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, - 0x65, 0x63, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x19, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x6f, 0x72, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x43, - 0x61, 0x70, 0x3a, 0x24, 0xe8, 0xa0, 0x1f, 0x01, 0x8a, 0xe7, 0xb0, 0x2a, 0x1b, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x78, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, - 0x67, 0x2f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0xa9, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, - 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x4d, 0x0a, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, - 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, - 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, - 0x2a, 0x01, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, - 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, - 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x04, - 0xe8, 0xa0, 0x1f, 0x00, 0x22, 0xcd, 0x01, 0x0a, 0x19, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x63, 0x0a, 0x12, 0x72, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, - 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, - 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x11, 0x72, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x45, 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, - 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, - 0x1f, 0x15, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, - 0x61, 0x74, 0x68, 0x2e, 0x49, 0x6e, 0x74, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x2e, 0x49, 0x6e, 0x74, 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x04, - 0xe8, 0xa0, 0x1f, 0x01, 0x22, 0xc9, 0x01, 0x0a, 0x14, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, - 0x0c, 0x72, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, - 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x64, - 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, - 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0c, 0x72, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x56, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, - 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x64, - 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, - 0x01, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x00, - 0x22, 0xeb, 0x01, 0x0a, 0x04, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x71, 0x0a, 0x11, 0x6e, 0x6f, 0x74, - 0x5f, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x45, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, - 0x49, 0x6e, 0x74, 0xea, 0xde, 0x1f, 0x11, 0x6e, 0x6f, 0x74, 0x5f, 0x62, 0x6f, 0x6e, 0x64, 0x65, - 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0f, 0x6e, 0x6f, 0x74, - 0x42, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x66, 0x0a, 0x0d, - 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x41, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x49, - 0x6e, 0x74, 0xea, 0xde, 0x1f, 0x0d, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x73, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, - 0x74, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0c, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x73, 0x3a, 0x08, 0xe8, 0xa0, 0x1f, 0x01, 0xf0, 0xa0, 0x1f, 0x01, 0x22, 0x59, - 0x0a, 0x10, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x73, 0x12, 0x45, 0x0a, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, - 0x2e, 0x61, 0x62, 0x63, 0x69, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, - 0x52, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x22, 0xba, 0x01, 0x0a, 0x13, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, - 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, - 0x64, 0x12, 0x2e, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, - 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6d, 0x6f, 0x64, 0x75, 0x6c, - 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x09, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, - 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, - 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, - 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x01, 0x22, 0x5c, 0x0a, 0x22, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, - 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x41, 0x75, - 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x36, 0x0a, 0x09, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, - 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x65, 0x73, 0x2a, 0xb6, 0x01, 0x0a, 0x0a, 0x42, 0x6f, 0x6e, 0x64, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x2c, 0x0a, 0x17, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, - 0x1a, 0x0f, 0x8a, 0x9d, 0x20, 0x0b, 0x55, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, - 0x64, 0x12, 0x26, 0x0a, 0x14, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, - 0x5f, 0x55, 0x4e, 0x42, 0x4f, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x01, 0x1a, 0x0c, 0x8a, 0x9d, 0x20, - 0x08, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x15, 0x42, 0x4f, 0x4e, - 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x42, 0x4f, 0x4e, 0x44, 0x49, - 0x4e, 0x47, 0x10, 0x02, 0x1a, 0x0d, 0x8a, 0x9d, 0x20, 0x09, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x12, 0x22, 0x0a, 0x12, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x55, 0x53, 0x5f, 0x42, 0x4f, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x03, 0x1a, 0x0a, 0x8a, 0x9d, 0x20, - 0x06, 0x42, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x1a, 0x04, 0x88, 0xa3, 0x1e, 0x00, 0x2a, 0x5d, 0x0a, - 0x0a, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x16, 0x49, - 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, - 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x49, 0x4e, 0x46, 0x52, 0x41, - 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x4f, 0x55, 0x42, 0x4c, 0x45, 0x5f, 0x53, 0x49, 0x47, - 0x4e, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x49, 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, - 0x4e, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x02, 0x2a, 0xba, 0x02, 0x0a, - 0x17, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x6f, - 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x42, 0x0a, 0x26, 0x54, 0x4f, 0x4b, 0x45, + 0x65, 0x63, 0xf2, 0xde, 0x1f, 0x1a, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x6d, 0x69, 0x6e, 0x5f, + 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x22, + 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, 0x63, 0xa8, 0xe7, + 0xb0, 0x2a, 0x01, 0x52, 0x11, 0x6d, 0x69, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x12, 0x8a, 0x01, 0x0a, 0x15, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x62, 0x6f, 0x6e, 0x64, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x56, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x1b, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, + 0x68, 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x44, 0x65, 0x63, 0xf2, 0xde, 0x1f, 0x1c, 0x79, + 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x62, + 0x6f, 0x6e, 0x64, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x22, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, 0x63, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x13, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x42, 0x6f, 0x6e, 0x64, 0x46, 0x61, 0x63, + 0x74, 0x6f, 0x72, 0x12, 0x95, 0x01, 0x0a, 0x19, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x6c, + 0x69, 0x71, 0x75, 0x69, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x61, + 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x5a, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, + 0x1b, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, + 0x74, 0x68, 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x44, 0x65, 0x63, 0xf2, 0xde, 0x1f, 0x20, + 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x71, + 0x75, 0x69, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x61, 0x70, 0x22, + 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, 0x63, 0xa8, 0xe7, + 0xb0, 0x2a, 0x01, 0x52, 0x16, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4c, 0x69, 0x71, 0x75, 0x69, + 0x64, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x61, 0x70, 0x12, 0x9e, 0x01, 0x0a, 0x1c, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x6c, 0x69, 0x71, 0x75, 0x69, 0x64, + 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x61, 0x70, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x5d, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x1b, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x4c, 0x65, + 0x67, 0x61, 0x63, 0x79, 0x44, 0x65, 0x63, 0xf2, 0xde, 0x1f, 0x23, 0x79, 0x61, 0x6d, 0x6c, 0x3a, + 0x22, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x6c, 0x69, 0x71, 0x75, 0x69, + 0x64, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x61, 0x70, 0x22, 0xd2, 0xb4, + 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, 0x63, 0xa8, 0xe7, 0xb0, 0x2a, + 0x01, 0x52, 0x19, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x4c, 0x69, 0x71, 0x75, + 0x69, 0x64, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x61, 0x70, 0x3a, 0x24, 0xe8, 0xa0, + 0x1f, 0x01, 0x8a, 0xe7, 0xb0, 0x2a, 0x1b, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, + 0x6b, 0x2f, 0x78, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x22, 0xa9, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0a, 0x64, 0x65, 0x6c, + 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0a, 0x64, 0x65, + 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, + 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, + 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x00, 0x22, 0xcd, + 0x01, 0x0a, 0x19, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x12, + 0x72, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x74, + 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x11, + 0x72, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x45, 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x2b, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x49, 0x6e, + 0x74, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0x52, + 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x01, 0x22, 0xc9, + 0x01, 0x0a, 0x14, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x0c, 0x72, 0x65, 0x64, 0x65, 0x6c, + 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0c, + 0x72, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x56, 0x0a, 0x07, + 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x07, 0x65, 0x6e, 0x74, + 0x72, 0x69, 0x65, 0x73, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x00, 0x22, 0xeb, 0x01, 0x0a, 0x04, 0x50, + 0x6f, 0x6f, 0x6c, 0x12, 0x71, 0x0a, 0x11, 0x6e, 0x6f, 0x74, 0x5f, 0x62, 0x6f, 0x6e, 0x64, 0x65, + 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x45, + 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, + 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x49, 0x6e, 0x74, 0xea, 0xde, 0x1f, + 0x11, 0x6e, 0x6f, 0x74, 0x5f, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x73, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, + 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0f, 0x6e, 0x6f, 0x74, 0x42, 0x6f, 0x6e, 0x64, 0x65, 0x64, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x66, 0x0a, 0x0d, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x41, 0xc8, + 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, + 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x49, 0x6e, 0x74, 0xea, 0xde, 0x1f, 0x0d, + 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0xd2, 0xb4, 0x2d, + 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, + 0x52, 0x0c, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x3a, 0x08, + 0xe8, 0xa0, 0x1f, 0x01, 0xf0, 0xa0, 0x1f, 0x01, 0x22, 0x59, 0x0a, 0x10, 0x56, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x45, 0x0a, 0x07, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, + 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x61, 0x62, 0x63, 0x69, 0x2e, + 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, + 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x07, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x73, 0x22, 0xba, 0x01, 0x0a, 0x13, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x69, 0x7a, 0x65, + 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2e, 0x0a, 0x05, 0x6f, + 0x77, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x6d, + 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x09, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, + 0x09, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x01, + 0x22, 0x5c, 0x0a, 0x22, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x36, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x52, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x2a, 0xb6, + 0x01, 0x0a, 0x0a, 0x42, 0x6f, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2c, 0x0a, + 0x17, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x1a, 0x0f, 0x8a, 0x9d, 0x20, 0x0b, + 0x55, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x14, 0x42, + 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x42, 0x4f, 0x4e, + 0x44, 0x45, 0x44, 0x10, 0x01, 0x1a, 0x0c, 0x8a, 0x9d, 0x20, 0x08, 0x55, 0x6e, 0x62, 0x6f, 0x6e, + 0x64, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x15, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, + 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x42, 0x4f, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x1a, 0x0d, + 0x8a, 0x9d, 0x20, 0x09, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x22, 0x0a, + 0x12, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x42, 0x4f, 0x4e, + 0x44, 0x45, 0x44, 0x10, 0x03, 0x1a, 0x0a, 0x8a, 0x9d, 0x20, 0x06, 0x42, 0x6f, 0x6e, 0x64, 0x65, + 0x64, 0x1a, 0x04, 0x88, 0xa3, 0x1e, 0x00, 0x2a, 0x5d, 0x0a, 0x0a, 0x49, 0x6e, 0x66, 0x72, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x16, 0x49, 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x49, 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x44, 0x4f, 0x55, 0x42, 0x4c, 0x45, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x10, 0x01, 0x12, 0x17, 0x0a, + 0x13, 0x49, 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x4f, 0x57, 0x4e, + 0x54, 0x49, 0x4d, 0x45, 0x10, 0x02, 0x2a, 0xba, 0x02, 0x0a, 0x17, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x69, 0x7a, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x42, 0x0a, 0x26, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x49, 0x5a, 0x45, 0x5f, 0x53, + 0x48, 0x41, 0x52, 0x45, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x1a, 0x16, + 0x8a, 0x9d, 0x20, 0x12, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x4e, 0x69, 0x6c, 0x12, 0x40, 0x0a, 0x21, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x49, + 0x5a, 0x45, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x53, 0x54, + 0x41, 0x54, 0x55, 0x53, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x10, 0x01, 0x1a, 0x19, 0x8a, + 0x9d, 0x20, 0x15, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x44, 0x0a, 0x23, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x49, 0x5a, 0x45, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, - 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, - 0x45, 0x44, 0x10, 0x00, 0x1a, 0x16, 0x8a, 0x9d, 0x20, 0x12, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, - 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4e, 0x69, 0x6c, 0x12, 0x40, 0x0a, 0x21, - 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x49, 0x5a, 0x45, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x4c, - 0x4f, 0x43, 0x4b, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x45, - 0x44, 0x10, 0x01, 0x1a, 0x19, 0x8a, 0x9d, 0x20, 0x15, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x6f, - 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x44, - 0x0a, 0x23, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x49, 0x5a, 0x45, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, - 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x4c, - 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x10, 0x02, 0x1a, 0x1b, 0x8a, 0x9d, 0x20, 0x17, 0x53, 0x68, 0x61, - 0x72, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x55, 0x6e, 0x6c, 0x6f, - 0x63, 0x6b, 0x65, 0x64, 0x12, 0x4d, 0x0a, 0x28, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x49, 0x5a, 0x45, - 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x55, 0x53, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x45, 0x58, 0x50, 0x49, 0x52, 0x49, 0x4e, 0x47, - 0x10, 0x03, 0x1a, 0x1f, 0x8a, 0x9d, 0x20, 0x1b, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x63, - 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x45, 0x78, 0x70, 0x69, 0x72, - 0x69, 0x6e, 0x67, 0x1a, 0x04, 0x88, 0xa3, 0x1e, 0x00, 0x42, 0xdc, 0x01, 0x0a, 0x1a, 0x63, 0x6f, - 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, - 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x3b, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0xa2, 0x02, 0x03, 0x43, 0x53, 0x58, 0xaa, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, - 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, - 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, - 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x22, 0x43, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x18, - 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x3a, - 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x10, + 0x02, 0x1a, 0x1b, 0x8a, 0x9d, 0x20, 0x17, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x63, 0x6b, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x4d, + 0x0a, 0x28, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x49, 0x5a, 0x45, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, + 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x4c, 0x4f, 0x43, + 0x4b, 0x5f, 0x45, 0x58, 0x50, 0x49, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x1a, 0x1f, 0x8a, 0x9d, + 0x20, 0x1b, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x45, 0x78, 0x70, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x1a, 0x04, 0x88, + 0xa3, 0x1e, 0x00, 0x42, 0xdc, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x42, 0x0c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x50, 0x01, 0x5a, 0x36, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, + 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x73, 0x74, 0x61, 0x6b, + 0x69, 0x6e, 0x67, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x53, 0x58, + 0xaa, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, + 0x67, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0xe2, 0x02, 0x22, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, + 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x18, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x3a, 0x3a, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/proto/cosmos/staking/v1beta1/genesis.proto b/proto/cosmos/staking/v1beta1/genesis.proto index 60f088393fa8..48543bfa538c 100644 --- a/proto/cosmos/staking/v1beta1/genesis.proto +++ b/proto/cosmos/staking/v1beta1/genesis.proto @@ -1,14 +1,14 @@ syntax = "proto3"; package cosmos.staking.v1beta1; -option go_package = "github.com/cosmos/cosmos-sdk/x/staking/types"; - -import "gogoproto/gogo.proto"; +import "amino/amino.proto"; import "cosmos/staking/v1beta1/staking.proto"; import "cosmos_proto/cosmos.proto"; -import "amino/amino.proto"; +import "gogoproto/gogo.proto"; import "google/protobuf/timestamp.proto"; +option go_package = "github.com/cosmos/cosmos-sdk/x/staking/types"; + // GenesisState defines the staking module's genesis state. message GenesisState { // params defines all the parameters of related to deposit. @@ -55,11 +55,8 @@ message GenesisState { // total number of liquid staked tokens at genesis. // // Since: cosmos-sdk 0.47-lsm - bytes total_liquid_staked_tokens = 11 [ - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", - (gogoproto.nullable) = false, - (amino.dont_omitempty) = true - ]; + bytes total_liquid_staked_tokens = 11 + [(gogoproto.customtype) = "cosmossdk.io/math.Int", (gogoproto.nullable) = false, (amino.dont_omitempty) = true]; // tokenize shares locks at genesis. // diff --git a/proto/cosmos/staking/v1beta1/query.proto b/proto/cosmos/staking/v1beta1/query.proto index 31f7cc0bf8f3..560cbd9f9960 100644 --- a/proto/cosmos/staking/v1beta1/query.proto +++ b/proto/cosmos/staking/v1beta1/query.proto @@ -1,14 +1,14 @@ syntax = "proto3"; package cosmos.staking.v1beta1; -import "cosmos/base/v1beta1/coin.proto"; +import "amino/amino.proto"; import "cosmos/base/query/v1beta1/pagination.proto"; -import "gogoproto/gogo.proto"; -import "google/api/annotations.proto"; +import "cosmos/base/v1beta1/coin.proto"; +import "cosmos/query/v1/query.proto"; import "cosmos/staking/v1beta1/staking.proto"; import "cosmos_proto/cosmos.proto"; -import "cosmos/query/v1/query.proto"; -import "amino/amino.proto"; +import "gogoproto/gogo.proto"; +import "google/api/annotations.proto"; option go_package = "github.com/cosmos/cosmos-sdk/x/staking/types"; @@ -561,7 +561,7 @@ message QueryTotalLiquidStaked {} message QueryTotalLiquidStakedResponse { string tokens = 1 [ (cosmos_proto.scalar) = "cosmos.Int", - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", + (gogoproto.customtype) = "cosmossdk.io/math.Int", (gogoproto.nullable) = false ]; } diff --git a/proto/cosmos/staking/v1beta1/staking.proto b/proto/cosmos/staking/v1beta1/staking.proto index 45c5bbda5478..7e26a37d1e26 100644 --- a/proto/cosmos/staking/v1beta1/staking.proto +++ b/proto/cosmos/staking/v1beta1/staking.proto @@ -139,7 +139,7 @@ message Validator { // Since: cosmos-sdk 0.47-lsm string validator_bond_shares = 14 [ (cosmos_proto.scalar) = "cosmos.Dec", - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; // liquid_shares is the number of shares either tokenized or owned by a liquid staking provider. @@ -147,7 +147,7 @@ message Validator { // Since: cosmos-sdk 0.47-lsm string liquid_shares = 15 [ (cosmos_proto.scalar) = "cosmos.Dec", - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", (gogoproto.nullable) = false ]; } diff --git a/x/staking/types/genesis.pb.go b/x/staking/types/genesis.pb.go index 62eb4262118f..bb8a2766a46a 100644 --- a/x/staking/types/genesis.pb.go +++ b/x/staking/types/genesis.pb.go @@ -7,7 +7,6 @@ import ( cosmossdk_io_math "cosmossdk.io/math" fmt "fmt" _ "github.com/cosmos/cosmos-proto" - github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" @@ -62,7 +61,7 @@ type GenesisState struct { // total number of liquid staked tokens at genesis. // // Since: cosmos-sdk 0.47-lsm - TotalLiquidStakedTokens github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,11,opt,name=total_liquid_staked_tokens,json=totalLiquidStakedTokens,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"total_liquid_staked_tokens"` + TotalLiquidStakedTokens cosmossdk_io_math.Int `protobuf:"bytes,11,opt,name=total_liquid_staked_tokens,json=totalLiquidStakedTokens,proto3,customtype=cosmossdk.io/math.Int" json:"total_liquid_staked_tokens"` // tokenize shares locks at genesis. // // Since: cosmos-sdk 0.47-lsm @@ -290,53 +289,53 @@ func init() { } var fileDescriptor_9b3dec8894f2831b = []byte{ - // 732 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x94, 0x4f, 0x4f, 0x13, 0x41, - 0x18, 0xc6, 0xbb, 0x16, 0x4a, 0x3b, 0x45, 0x94, 0xb1, 0xe0, 0xd2, 0xc4, 0x6d, 0x6d, 0x88, 0xa9, - 0x28, 0xbb, 0x02, 0x37, 0x4f, 0xd2, 0x18, 0x0d, 0x49, 0x8d, 0x64, 0x0b, 0x1e, 0xb8, 0x6c, 0xa6, - 0xdd, 0x61, 0x3b, 0xd9, 0x3f, 0xb3, 0xee, 0x4c, 0x11, 0xfd, 0x04, 0x1e, 0x39, 0xf8, 0x01, 0xf0, - 0xe6, 0xd1, 0x03, 0x1f, 0x82, 0x23, 0xe1, 0x64, 0x3c, 0xa0, 0x81, 0x83, 0x7e, 0x0c, 0xb3, 0x33, - 0xdb, 0xb2, 0xd0, 0x96, 0x78, 0x69, 0x3b, 0x7d, 0x9f, 0xe7, 0xf7, 0xbe, 0x33, 0xf3, 0xce, 0x0b, - 0x16, 0x3b, 0x94, 0xf9, 0x94, 0x19, 0x8c, 0x23, 0x97, 0x04, 0x8e, 0xb1, 0xb7, 0xd2, 0xc6, 0x1c, - 0xad, 0x18, 0x0e, 0x0e, 0x30, 0x23, 0x4c, 0x0f, 0x23, 0xca, 0x29, 0x9c, 0x97, 0x2a, 0x3d, 0x51, - 0xe9, 0x89, 0xaa, 0x5c, 0x72, 0xa8, 0x43, 0x85, 0xc4, 0x88, 0x7f, 0x49, 0x75, 0x79, 0x1c, 0xb3, - 0xef, 0x96, 0xaa, 0x05, 0xa9, 0xb2, 0xa4, 0x3d, 0x49, 0x20, 0x43, 0xb3, 0xc8, 0x27, 0x01, 0x35, - 0xc4, 0x67, 0xf2, 0x57, 0xc5, 0xa1, 0xd4, 0xf1, 0xb0, 0x21, 0x56, 0xed, 0xde, 0xae, 0xc1, 0x89, - 0x8f, 0x19, 0x47, 0x7e, 0x28, 0x05, 0xb5, 0xaf, 0x79, 0x30, 0xfd, 0x5a, 0x16, 0xdd, 0xe2, 0x88, - 0x63, 0xb8, 0x0e, 0x72, 0x21, 0x8a, 0x90, 0xcf, 0x54, 0xa5, 0xaa, 0xd4, 0x8b, 0xab, 0x9a, 0x3e, - 0x7a, 0x13, 0xfa, 0xa6, 0x50, 0x35, 0x0a, 0xc7, 0x67, 0x95, 0xcc, 0xb7, 0x3f, 0xdf, 0x97, 0x14, - 0x33, 0x31, 0xc2, 0x1d, 0x70, 0xd7, 0x43, 0x8c, 0x5b, 0x9c, 0x72, 0xe4, 0x59, 0x21, 0xfd, 0x80, - 0x23, 0xf5, 0x56, 0x55, 0xa9, 0x4f, 0x37, 0x9e, 0xc5, 0xe2, 0x9f, 0x67, 0x95, 0x39, 0xc9, 0x64, - 0xb6, 0xab, 0x13, 0x6a, 0xf8, 0x88, 0x77, 0xf5, 0x8d, 0x80, 0x9f, 0x1e, 0x2d, 0x83, 0x24, 0xd9, - 0x46, 0xc0, 0x25, 0x73, 0x26, 0x26, 0x6d, 0xc5, 0xa0, 0xcd, 0x98, 0x03, 0x09, 0x98, 0x13, 0xec, - 0x3d, 0xe4, 0x11, 0x1b, 0x71, 0x1a, 0x49, 0x3e, 0x53, 0xb3, 0xd5, 0x6c, 0xbd, 0xb8, 0xba, 0x34, - 0xae, 0xda, 0x26, 0x62, 0xfc, 0x5d, 0xdf, 0x23, 0x50, 0xe9, 0xca, 0xef, 0x79, 0x43, 0x61, 0x06, - 0x9b, 0x00, 0x0c, 0xb2, 0x30, 0x75, 0x42, 0xf0, 0x1f, 0x8e, 0xe3, 0x0f, 0xcc, 0x69, 0x6c, 0xca, - 0x0f, 0xdf, 0x82, 0xa2, 0x8d, 0x3d, 0xec, 0x20, 0x4e, 0x68, 0xc0, 0xd4, 0x49, 0x81, 0xab, 0x8d, - 0xc3, 0xbd, 0x1c, 0x48, 0xd3, 0xbc, 0x34, 0x01, 0xba, 0x60, 0xae, 0x17, 0xb4, 0x69, 0x60, 0x93, - 0xc0, 0xb1, 0xd2, 0xe8, 0x9c, 0x40, 0x3f, 0x19, 0x87, 0xde, 0xee, 0x9b, 0x46, 0xe7, 0x28, 0xf5, - 0x86, 0xe3, 0x0c, 0x6e, 0x83, 0xdb, 0x11, 0x4e, 0x27, 0x99, 0x12, 0x49, 0x16, 0xc7, 0x25, 0x31, - 0x53, 0xe2, 0x34, 0xfd, 0x2a, 0x05, 0x96, 0x41, 0x1e, 0xef, 0x87, 0x34, 0xe2, 0xd8, 0x56, 0xf3, - 0x55, 0xa5, 0x9e, 0x37, 0x07, 0x6b, 0xe8, 0x81, 0x79, 0x4e, 0x5d, 0x1c, 0x90, 0x4f, 0xd8, 0x62, - 0x5d, 0x14, 0x61, 0x2b, 0xc2, 0x1d, 0x1a, 0xd9, 0x4c, 0x2d, 0xdc, 0xbc, 0xc1, 0xad, 0xc4, 0xd5, - 0x8a, 0x4d, 0xa6, 0xf0, 0x5c, 0xd9, 0x20, 0x1f, 0x8e, 0x33, 0xf8, 0x02, 0x3c, 0x48, 0x7a, 0x76, - 0x44, 0x4a, 0x8b, 0xd8, 0x2a, 0xa8, 0x2a, 0xf5, 0x09, 0x73, 0x41, 0xb6, 0xe3, 0x10, 0x60, 0xc3, - 0x86, 0x21, 0x28, 0xcb, 0x86, 0xf7, 0xc8, 0xfb, 0x1e, 0xb1, 0xad, 0xb8, 0x2c, 0x6c, 0x4b, 0x20, - 0x53, 0x8b, 0xa2, 0xff, 0xd7, 0x92, 0xfe, 0x7f, 0xe4, 0x10, 0xde, 0xed, 0xb5, 0xf5, 0x0e, 0xf5, - 0x93, 0x27, 0x9c, 0x7c, 0x2d, 0x33, 0xdb, 0x35, 0xf8, 0xc7, 0x10, 0xa7, 0x9e, 0xc0, 0x7d, 0x81, - 0x6d, 0x0a, 0x6a, 0x4b, 0x40, 0x45, 0x01, 0x0c, 0xee, 0x82, 0xd2, 0xb5, 0x72, 0x3d, 0xda, 0x71, - 0x99, 0x3a, 0x2d, 0xce, 0xe7, 0xf1, 0x7f, 0x9d, 0x4f, 0x93, 0x76, 0xdc, 0xf4, 0xe9, 0x40, 0x7e, - 0x3d, 0xca, 0x6a, 0x5f, 0x14, 0x30, 0x3b, 0x64, 0x82, 0x2a, 0x98, 0x42, 0xb6, 0x1d, 0x61, 0x26, - 0x27, 0x45, 0xc1, 0xec, 0x2f, 0xe1, 0x3c, 0xc8, 0x31, 0x8e, 0x78, 0x8f, 0x89, 0x57, 0x5f, 0x30, - 0x93, 0x15, 0x7c, 0x03, 0xee, 0x74, 0xa8, 0x1f, 0x7a, 0x38, 0xbe, 0x7c, 0x2b, 0x9e, 0x44, 0x6a, - 0x56, 0xcc, 0x98, 0xb2, 0x2e, 0xc7, 0x94, 0xde, 0x1f, 0x53, 0xfa, 0x56, 0x7f, 0x4c, 0x35, 0xf2, - 0x71, 0x6d, 0x07, 0xbf, 0x2a, 0x8a, 0x39, 0x73, 0x69, 0x8e, 0xc3, 0xb5, 0x2e, 0x80, 0xc3, 0xaf, - 0x1a, 0xae, 0x5e, 0x2b, 0xab, 0xa1, 0x9e, 0x1e, 0x2d, 0x97, 0x92, 0xa3, 0x58, 0x97, 0x91, 0x16, - 0x8f, 0x48, 0xe0, 0x5c, 0x16, 0x5c, 0x02, 0x93, 0x97, 0x53, 0x2a, 0x6b, 0xca, 0xc5, 0xf3, 0xfc, - 0xe7, 0xc3, 0x4a, 0xe6, 0xef, 0x61, 0x25, 0xd3, 0x78, 0x75, 0x7c, 0xae, 0x29, 0x27, 0xe7, 0x9a, - 0xf2, 0xfb, 0x5c, 0x53, 0x0e, 0x2e, 0xb4, 0xcc, 0xc9, 0x85, 0x96, 0xf9, 0x71, 0xa1, 0x65, 0x76, - 0x9e, 0xde, 0x78, 0x91, 0xfb, 0x83, 0x59, 0x2e, 0xae, 0xb4, 0x9d, 0x13, 0xfb, 0x5b, 0xfb, 0x17, - 0x00, 0x00, 0xff, 0xff, 0x03, 0xd3, 0xe6, 0x6f, 0x3e, 0x06, 0x00, 0x00, + // 728 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x94, 0x41, 0x4f, 0xdb, 0x4a, + 0x10, 0xc7, 0xe3, 0x17, 0x08, 0xc9, 0x86, 0xc7, 0x7b, 0xec, 0x0b, 0x3c, 0x13, 0xa9, 0x49, 0x1a, + 0x71, 0x48, 0x69, 0xb1, 0x0b, 0xbd, 0xf5, 0x54, 0xa2, 0xaa, 0x15, 0x52, 0xaa, 0x22, 0x07, 0x7a, + 0xe0, 0x62, 0x6d, 0xe2, 0xc5, 0x59, 0xc5, 0xf6, 0xba, 0x9e, 0x0d, 0xa5, 0xfd, 0x04, 0x3d, 0x72, + 0xe8, 0x07, 0xe0, 0xd8, 0x63, 0x0f, 0x7c, 0x08, 0x8e, 0x88, 0x53, 0xd5, 0x03, 0xad, 0xe0, 0xd0, + 0x7e, 0x8c, 0xca, 0xbb, 0x4e, 0x30, 0x84, 0xa0, 0x5e, 0x92, 0x8c, 0xe7, 0xff, 0xff, 0xcd, 0xec, + 0x66, 0x3c, 0x68, 0xb9, 0xcb, 0xc1, 0xe7, 0x60, 0x82, 0x20, 0x7d, 0x16, 0xb8, 0xe6, 0xfe, 0x5a, + 0x87, 0x0a, 0xb2, 0x66, 0xba, 0x34, 0xa0, 0xc0, 0xc0, 0x08, 0x23, 0x2e, 0x38, 0x5e, 0x54, 0x2a, + 0x23, 0x51, 0x19, 0x89, 0xaa, 0x3c, 0x4f, 0x7c, 0x16, 0x70, 0x53, 0x7e, 0x2a, 0x69, 0x79, 0x12, + 0x70, 0x68, 0x55, 0xaa, 0x25, 0xa5, 0xb2, 0x65, 0x64, 0x26, 0x74, 0x95, 0x2a, 0xb9, 0xdc, 0xe5, + 0xea, 0x79, 0xfc, 0x2b, 0x79, 0x5a, 0x75, 0x39, 0x77, 0x3d, 0x6a, 0xca, 0xa8, 0x33, 0xd8, 0x33, + 0x05, 0xf3, 0x29, 0x08, 0xe2, 0x87, 0x4a, 0x50, 0x3f, 0xcc, 0xa3, 0xd9, 0x97, 0xaa, 0xe9, 0xb6, + 0x20, 0x82, 0xe2, 0x0d, 0x94, 0x0b, 0x49, 0x44, 0x7c, 0xd0, 0xb5, 0x9a, 0xd6, 0x28, 0xae, 0x57, + 0x8c, 0xdb, 0x0f, 0x61, 0x6c, 0x49, 0x55, 0xb3, 0x70, 0x72, 0x5e, 0xcd, 0x7c, 0xfe, 0xf9, 0x65, + 0x45, 0xb3, 0x12, 0x23, 0xde, 0x45, 0xff, 0x7a, 0x04, 0x84, 0x2d, 0xb8, 0x20, 0x9e, 0x1d, 0xf2, + 0x77, 0x34, 0xd2, 0xff, 0xaa, 0x69, 0x8d, 0xd9, 0xe6, 0xe3, 0x58, 0xfc, 0xed, 0xbc, 0xba, 0xa0, + 0x98, 0xe0, 0xf4, 0x0d, 0xc6, 0x4d, 0x9f, 0x88, 0x9e, 0xb1, 0x19, 0x88, 0xb3, 0xe3, 0x55, 0x94, + 0x14, 0xdb, 0x0c, 0x84, 0x62, 0xce, 0xc5, 0xa4, 0xed, 0x18, 0xb4, 0x15, 0x73, 0x30, 0x43, 0x0b, + 0x92, 0xbd, 0x4f, 0x3c, 0xe6, 0x10, 0xc1, 0x23, 0xc5, 0x07, 0x3d, 0x5b, 0xcb, 0x36, 0x8a, 0xeb, + 0x2b, 0x93, 0xba, 0x6d, 0x11, 0x10, 0x6f, 0x86, 0x1e, 0x89, 0x4a, 0x77, 0xfe, 0x9f, 0x37, 0x96, + 0x06, 0xdc, 0x42, 0x68, 0x54, 0x05, 0xf4, 0x29, 0xc9, 0xbf, 0x3f, 0x89, 0x3f, 0x32, 0xa7, 0xb1, + 0x29, 0x3f, 0x7e, 0x8d, 0x8a, 0x0e, 0xf5, 0xa8, 0x4b, 0x04, 0xe3, 0x01, 0xe8, 0xd3, 0x12, 0x57, + 0x9f, 0x84, 0x7b, 0x3e, 0x92, 0xa6, 0x79, 0x69, 0x02, 0xee, 0xa3, 0x85, 0x41, 0xd0, 0xe1, 0x81, + 0xc3, 0x02, 0xd7, 0x4e, 0xa3, 0x73, 0x12, 0xfd, 0x70, 0x12, 0x7a, 0x67, 0x68, 0xba, 0xbd, 0x46, + 0x69, 0x30, 0x9e, 0x07, 0xbc, 0x83, 0xfe, 0x8e, 0x68, 0xba, 0xc8, 0x8c, 0x2c, 0xb2, 0x3c, 0xa9, + 0x88, 0x95, 0x12, 0xa7, 0xe9, 0xd7, 0x29, 0xb8, 0x8c, 0xf2, 0xf4, 0x20, 0xe4, 0x91, 0xa0, 0x8e, + 0x9e, 0xaf, 0x69, 0x8d, 0xbc, 0x35, 0x8a, 0xb1, 0x87, 0x16, 0x05, 0xef, 0xd3, 0x80, 0x7d, 0xa0, + 0x36, 0xf4, 0x48, 0x44, 0xed, 0x88, 0x76, 0x79, 0xe4, 0x80, 0x5e, 0xb8, 0xfb, 0x80, 0xdb, 0x89, + 0xab, 0x1d, 0x9b, 0x2c, 0xe9, 0xb9, 0x76, 0x40, 0x31, 0x9e, 0x07, 0xfc, 0x0c, 0xdd, 0x4b, 0x66, + 0xf6, 0x96, 0x92, 0x36, 0x73, 0x74, 0x54, 0xd3, 0x1a, 0x53, 0xd6, 0x92, 0x1a, 0xc7, 0x31, 0xc0, + 0xa6, 0x83, 0x6d, 0x54, 0x56, 0x03, 0xef, 0xb1, 0xb7, 0x03, 0xe6, 0xd8, 0x71, 0x5b, 0xd4, 0x51, + 0x40, 0xd0, 0x8b, 0x72, 0xfe, 0xeb, 0x77, 0xce, 0xbf, 0xea, 0xef, 0x7f, 0x49, 0x69, 0x49, 0x48, + 0x5b, 0x32, 0x64, 0x3d, 0xc0, 0x7b, 0xa8, 0x74, 0xa3, 0x3b, 0x8f, 0x77, 0xfb, 0xa0, 0xcf, 0xca, + 0xeb, 0x78, 0xf0, 0x47, 0xd7, 0xd1, 0xe2, 0xdd, 0x7e, 0xfa, 0x32, 0xb0, 0xb8, 0x99, 0x85, 0xfa, + 0x27, 0x0d, 0xcd, 0x8f, 0x99, 0xb0, 0x8e, 0x66, 0x88, 0xe3, 0x44, 0x14, 0xd4, 0x62, 0x28, 0x58, + 0xc3, 0x10, 0x2f, 0xa2, 0x1c, 0x08, 0x22, 0x06, 0x20, 0x5f, 0xf2, 0x82, 0x95, 0x44, 0xf8, 0x15, + 0xfa, 0xa7, 0xcb, 0xfd, 0xd0, 0xa3, 0xf1, 0x7f, 0x6d, 0xc7, 0x8b, 0x47, 0xcf, 0xca, 0x95, 0x52, + 0x36, 0xd4, 0x56, 0x32, 0x86, 0x5b, 0xc9, 0xd8, 0x1e, 0x6e, 0xa5, 0x66, 0x3e, 0xee, 0xed, 0xf0, + 0x7b, 0x55, 0xb3, 0xe6, 0xae, 0xcc, 0x71, 0xba, 0xde, 0x43, 0x78, 0xfc, 0x25, 0xc6, 0xeb, 0x37, + 0xda, 0x6a, 0xea, 0x67, 0xc7, 0xab, 0xa5, 0xe4, 0x2a, 0x36, 0x54, 0xa6, 0x2d, 0x22, 0x16, 0xb8, + 0x57, 0x0d, 0x97, 0xd0, 0xf4, 0xd5, 0x52, 0xca, 0x5a, 0x2a, 0x78, 0x9a, 0xff, 0x78, 0x54, 0xcd, + 0xfc, 0x3a, 0xaa, 0x66, 0x9a, 0x2f, 0x4e, 0x2e, 0x2a, 0xda, 0xe9, 0x45, 0x45, 0xfb, 0x71, 0x51, + 0xd1, 0x0e, 0x2f, 0x2b, 0x99, 0xd3, 0xcb, 0x4a, 0xe6, 0xeb, 0x65, 0x25, 0xb3, 0xfb, 0xc8, 0x65, + 0xa2, 0x37, 0xe8, 0x18, 0x5d, 0xee, 0x27, 0xdb, 0x37, 0xf9, 0x5a, 0x05, 0xa7, 0x6f, 0x1e, 0x8c, + 0xb6, 0xb7, 0x78, 0x1f, 0x52, 0xe8, 0xe4, 0xe4, 0xf9, 0x9e, 0xfc, 0x0e, 0x00, 0x00, 0xff, 0xff, + 0x8d, 0x2b, 0x07, 0xb9, 0x2d, 0x06, 0x00, 0x00, } func (m *GenesisState) Marshal() (dAtA []byte, err error) { diff --git a/x/staking/types/query.pb.go b/x/staking/types/query.pb.go index 83f9f8a273f6..4f79deabe39d 100644 --- a/x/staking/types/query.pb.go +++ b/x/staking/types/query.pb.go @@ -5,9 +5,9 @@ package types import ( context "context" + cosmossdk_io_math "cosmossdk.io/math" fmt "fmt" _ "github.com/cosmos/cosmos-proto" - github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" types "github.com/cosmos/cosmos-sdk/types" query "github.com/cosmos/cosmos-sdk/types/query" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" @@ -2016,7 +2016,7 @@ var xxx_messageInfo_QueryTotalLiquidStaked proto.InternalMessageInfo // // Since: cosmos-sdk 0.47-lsm type QueryTotalLiquidStakedResponse struct { - Tokens github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,1,opt,name=tokens,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"tokens"` + Tokens cosmossdk_io_math.Int `protobuf:"bytes,1,opt,name=tokens,proto3,customtype=cosmossdk.io/math.Int" json:"tokens"` } func (m *QueryTotalLiquidStakedResponse) Reset() { *m = QueryTotalLiquidStakedResponse{} } @@ -2208,134 +2208,134 @@ func init() { } var fileDescriptor_f270127f442bbcd8 = []byte{ - // 2029 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x5a, 0xdd, 0x6f, 0x1c, 0x57, - 0x15, 0xdf, 0xeb, 0x38, 0x2e, 0x39, 0x55, 0x4d, 0x73, 0xed, 0x24, 0xf6, 0x34, 0x5d, 0x3b, 0x43, - 0x88, 0x13, 0xa7, 0xde, 0x69, 0x9c, 0x26, 0x31, 0x4e, 0xe2, 0x74, 0xb7, 0xa1, 0x8d, 0x89, 0xd5, - 0xb8, 0x9b, 0x10, 0xf1, 0xa9, 0xd5, 0x78, 0x67, 0xba, 0x1e, 0x79, 0x77, 0xee, 0x7a, 0x66, 0xd6, - 0x8d, 0xb1, 0x2c, 0xa4, 0x3e, 0xa0, 0x3e, 0x21, 0x24, 0xde, 0x51, 0x1f, 0x11, 0x02, 0xa9, 0x0f, - 0x0e, 0x02, 0x09, 0x78, 0x44, 0x7d, 0x40, 0xc8, 0x04, 0x15, 0xf1, 0x21, 0x0c, 0x8a, 0x2b, 0x81, - 0x90, 0xf8, 0x0f, 0x10, 0xaa, 0x66, 0xe6, 0xcc, 0x97, 0x67, 0xee, 0xcc, 0xee, 0x7a, 0x2d, 0x39, - 0x2f, 0xad, 0x77, 0xe6, 0x9e, 0x73, 0x7e, 0xbf, 0xf3, 0x71, 0xe7, 0xde, 0x9f, 0x02, 0x62, 0x95, - 0x99, 0x0d, 0x66, 0x4a, 0xa6, 0x25, 0xaf, 0x68, 0x7a, 0x4d, 0x5a, 0xbb, 0xb4, 0xa4, 0x5a, 0xf2, - 0x25, 0x69, 0xb5, 0xa5, 0x1a, 0xeb, 0x85, 0xa6, 0xc1, 0x2c, 0x46, 0x4f, 0xba, 0x6b, 0x0a, 0xb8, - 0xa6, 0x80, 0x6b, 0x84, 0x3c, 0xda, 0x2e, 0xc9, 0xa6, 0xea, 0x1b, 0x56, 0x99, 0xa6, 0xbb, 0x76, - 0xc2, 0x64, 0xf8, 0xbd, 0xe3, 0xd0, 0x5f, 0xd5, 0x94, 0x6b, 0x9a, 0x2e, 0x5b, 0x1a, 0xf3, 0xd6, - 0x0e, 0xd7, 0x58, 0x8d, 0x39, 0x7f, 0x4a, 0xf6, 0x5f, 0xf8, 0xf4, 0x74, 0x8d, 0xb1, 0x5a, 0x5d, - 0x95, 0xe4, 0xa6, 0x26, 0xc9, 0xba, 0xce, 0x2c, 0xc7, 0xc4, 0xc4, 0xb7, 0x67, 0x39, 0xd8, 0x3d, - 0x9c, 0xee, 0xaa, 0x51, 0x77, 0x55, 0xc5, 0x75, 0x8e, 0x54, 0xdc, 0x57, 0x2f, 0xa1, 0x03, 0x0f, - 0x5b, 0x98, 0xb5, 0x70, 0x5c, 0x6e, 0x68, 0x3a, 0x93, 0x9c, 0xff, 0xba, 0x8f, 0xc4, 0x47, 0x70, - 0xf2, 0x1d, 0x7b, 0xc5, 0x43, 0xb9, 0xae, 0x29, 0xb2, 0xc5, 0x0c, 0xb3, 0xac, 0xae, 0xb6, 0x54, - 0xd3, 0xa2, 0x27, 0x61, 0xc0, 0xb4, 0x64, 0xab, 0x65, 0x8e, 0x90, 0x71, 0x72, 0xfe, 0x58, 0x19, - 0x7f, 0xd1, 0x37, 0x01, 0x02, 0xaa, 0x23, 0x7d, 0xe3, 0xe4, 0xfc, 0xf3, 0xd3, 0xe7, 0x0a, 0x08, - 0xc2, 0xce, 0x4b, 0xc1, 0x0d, 0x89, 0xd0, 0x0b, 0x8b, 0x72, 0x4d, 0x45, 0x9f, 0xe5, 0x90, 0xa5, - 0xf8, 0x11, 0x81, 0x53, 0xb1, 0xd0, 0x66, 0x93, 0xe9, 0xa6, 0x4a, 0x17, 0x00, 0xd6, 0xfc, 0xa7, - 0x23, 0x64, 0xfc, 0xc8, 0xf9, 0xe7, 0xa7, 0xcf, 0x14, 0x92, 0x6b, 0x56, 0xf0, 0xed, 0x4b, 0xc7, - 0x3e, 0xde, 0x19, 0xcb, 0xfd, 0xf8, 0x5f, 0x1f, 0x4d, 0x92, 0x72, 0xc8, 0x9e, 0xbe, 0x95, 0x80, - 0x78, 0x22, 0x13, 0xb1, 0x0b, 0x25, 0x02, 0x59, 0x86, 0x13, 0x51, 0xc4, 0x5e, 0xae, 0xee, 0xc0, - 0xa0, 0x1f, 0xaf, 0x22, 0x2b, 0x8a, 0xe1, 0xe6, 0xac, 0x74, 0xe6, 0xc9, 0xd6, 0xd4, 0xcb, 0x18, - 0xc8, 0x37, 0x2a, 0x2a, 0x8a, 0xa1, 0x9a, 0xe6, 0x7d, 0xcb, 0xd0, 0xf4, 0x5a, 0xf9, 0x85, 0xb5, - 0xf0, 0x73, 0x51, 0xd9, 0x5b, 0x0f, 0x3f, 0x27, 0x5f, 0x81, 0x63, 0xfe, 0x52, 0xc7, 0x7d, 0xa7, - 0x29, 0x09, 0xcc, 0xc5, 0x2d, 0x02, 0xe3, 0xd1, 0x30, 0xb7, 0xd5, 0xba, 0x5a, 0x73, 0x5b, 0xb1, - 0xe7, 0xa4, 0x7a, 0xd6, 0x32, 0xff, 0x25, 0x70, 0x26, 0x05, 0x36, 0x26, 0xea, 0xbb, 0x30, 0xac, - 0xf8, 0x8f, 0x2b, 0x06, 0x3e, 0xf6, 0xda, 0x68, 0x92, 0x97, 0xb3, 0xc0, 0x95, 0xe7, 0xa9, 0x34, - 0x6e, 0x27, 0xef, 0x27, 0xff, 0x18, 0x1b, 0x8a, 0xbf, 0x33, 0xdd, 0x9c, 0x0e, 0x29, 0xf1, 0x37, - 0xbd, 0xeb, 0xb7, 0x5f, 0x13, 0xb8, 0x10, 0xe5, 0xfb, 0x55, 0x7d, 0x89, 0xe9, 0x8a, 0xa6, 0xd7, - 0x9e, 0x89, 0x7a, 0xed, 0x10, 0x98, 0x6c, 0x07, 0x3f, 0x16, 0xae, 0x06, 0x43, 0x2d, 0xef, 0x7d, - 0xac, 0x6e, 0x17, 0x79, 0x75, 0x4b, 0x70, 0x19, 0xee, 0x7a, 0xea, 0xbb, 0x3c, 0x80, 0x02, 0xfd, - 0x8c, 0xe0, 0xb8, 0x86, 0x1b, 0xc4, 0xad, 0xc6, 0x2d, 0x18, 0xc4, 0xde, 0x88, 0x56, 0x63, 0xe4, - 0xc9, 0xd6, 0xd4, 0x30, 0x86, 0xda, 0x53, 0x04, 0x7f, 0xbd, 0x53, 0x84, 0x78, 0x39, 0xfb, 0xba, - 0x2b, 0xe7, 0xec, 0xe7, 0x3e, 0xf8, 0x70, 0x2c, 0xf7, 0xef, 0x0f, 0xc7, 0x72, 0xe2, 0x1a, 0x6e, - 0xb9, 0xf1, 0x7e, 0xa6, 0xdf, 0x84, 0xa1, 0x84, 0xa9, 0xc1, 0x8d, 0xa6, 0x83, 0xa1, 0x29, 0xd3, - 0xf8, 0x48, 0x88, 0x3f, 0x27, 0x30, 0xe6, 0x04, 0x4e, 0x28, 0xd6, 0xa1, 0x4e, 0x98, 0x81, 0xfb, - 0x64, 0x22, 0x6e, 0xcc, 0xdc, 0xdb, 0x30, 0xe0, 0xf6, 0x18, 0x26, 0xab, 0xdb, 0x4e, 0x45, 0x2f, - 0xe2, 0x63, 0x6f, 0x73, 0xbe, 0xed, 0xd1, 0x4b, 0x18, 0xf6, 0x7d, 0x67, 0xab, 0x47, 0x33, 0x1e, - 0xca, 0xd5, 0x9f, 0xbc, 0xdd, 0x39, 0x19, 0x37, 0x66, 0x6b, 0xb9, 0x67, 0xbb, 0x73, 0x28, 0x75, - 0x07, 0xbb, 0x0d, 0xff, 0xc6, 0xdb, 0x86, 0x7d, 0x62, 0x69, 0xdb, 0xf0, 0x21, 0xac, 0x8c, 0xbf, - 0x0f, 0x67, 0x10, 0x78, 0x66, 0xf7, 0xe1, 0xed, 0x3e, 0x18, 0x75, 0x08, 0x96, 0x55, 0xe5, 0x00, - 0x2a, 0x72, 0x0f, 0xa8, 0x69, 0x54, 0x2b, 0xdd, 0xee, 0x2e, 0x2f, 0x9a, 0x46, 0x35, 0xf2, 0xca, - 0x76, 0xa8, 0x98, 0xd6, 0x5e, 0x87, 0x47, 0xda, 0x76, 0xa8, 0x98, 0xd6, 0xc3, 0x94, 0x2f, 0x76, - 0x7f, 0x0f, 0x7a, 0xe6, 0x13, 0x02, 0x42, 0x52, 0x4a, 0xb1, 0x47, 0x74, 0x38, 0x69, 0xa8, 0x29, - 0x83, 0xfc, 0x0a, 0xaf, 0x4d, 0xc2, 0xee, 0x92, 0x46, 0xf9, 0x84, 0xa1, 0x1e, 0xe8, 0x30, 0x6f, - 0x79, 0x9f, 0x22, 0x7f, 0x16, 0xe2, 0x57, 0x9f, 0x43, 0x38, 0xc2, 0xbf, 0x8c, 0x7d, 0x14, 0x9e, - 0x9d, 0x6b, 0xd3, 0x63, 0x02, 0x79, 0x0e, 0xf6, 0x43, 0xfd, 0xf1, 0x6f, 0x70, 0x3b, 0xe5, 0x40, - 0x2e, 0x65, 0xaf, 0xe1, 0xc0, 0xdd, 0xd1, 0x4c, 0x8b, 0x19, 0x5a, 0x55, 0xae, 0xcf, 0xeb, 0xef, - 0xb2, 0xd0, 0x75, 0x7c, 0x59, 0xd5, 0x6a, 0xcb, 0x96, 0x13, 0xe6, 0x48, 0x19, 0x7f, 0x89, 0x5f, - 0x87, 0x97, 0x12, 0xad, 0x10, 0xe0, 0x2c, 0xf4, 0x2f, 0x6b, 0xa6, 0x85, 0xd8, 0xce, 0xf1, 0xb0, - 0xed, 0xb1, 0x76, 0x6c, 0x44, 0x0a, 0x2f, 0x3a, 0xae, 0x17, 0x19, 0xab, 0x23, 0x0c, 0x71, 0x11, - 0x8e, 0x87, 0x9e, 0x61, 0x90, 0xeb, 0xd0, 0xdf, 0x64, 0xac, 0x8e, 0x41, 0x4e, 0xf3, 0x82, 0xd8, - 0x36, 0x61, 0xee, 0x8e, 0x91, 0x38, 0x0c, 0xd4, 0xf5, 0x28, 0x1b, 0x72, 0xc3, 0x1b, 0x41, 0xf1, - 0x6b, 0x30, 0x14, 0x79, 0x8a, 0x91, 0x8a, 0x30, 0xd0, 0x74, 0x9e, 0x60, 0xac, 0x3c, 0x37, 0x96, - 0xb3, 0x2a, 0x72, 0xbc, 0x72, 0x0d, 0xc5, 0x2b, 0xf0, 0x05, 0xc7, 0xf3, 0x03, 0xb6, 0xa2, 0xea, - 0xda, 0x77, 0xd4, 0xfb, 0xcb, 0xb2, 0xa1, 0x96, 0xd5, 0x2a, 0x33, 0x94, 0xd2, 0xfa, 0xbc, 0xe2, - 0xe5, 0x7b, 0x10, 0xfa, 0x34, 0xf7, 0x44, 0xd7, 0x5f, 0xee, 0xd3, 0x14, 0x71, 0x15, 0xce, 0xa6, - 0x9b, 0x21, 0xc2, 0x79, 0x18, 0x30, 0x9c, 0xa7, 0x59, 0xa7, 0xc1, 0x24, 0x47, 0xfd, 0x36, 0xdc, - 0x32, 0x3a, 0x10, 0xe7, 0xe0, 0x1c, 0x3f, 0xe4, 0x6d, 0x55, 0x67, 0x0d, 0x0f, 0xec, 0x30, 0x1c, - 0x55, 0xec, 0xdf, 0x28, 0xd5, 0xb8, 0x3f, 0x44, 0x0b, 0x26, 0x32, 0xed, 0x7b, 0x8f, 0xfa, 0x26, - 0x7c, 0x91, 0x17, 0xd5, 0xbc, 0xf7, 0x9e, 0xae, 0x2a, 0x21, 0xd0, 0xec, 0x3d, 0x5d, 0x35, 0x3c, - 0xd0, 0xce, 0x0f, 0xb1, 0xc5, 0x27, 0xed, 0x99, 0x23, 0xe6, 0xbb, 0xf0, 0x9c, 0x1b, 0x32, 0xf3, - 0x68, 0xc2, 0x07, 0xed, 0x79, 0x10, 0x1b, 0xd8, 0x15, 0xc5, 0x7a, 0x3d, 0x29, 0xb2, 0x87, 0x39, - 0xba, 0xb1, 0x93, 0xae, 0x6f, 0xc6, 0xbf, 0x22, 0xd8, 0x4e, 0xdc, 0x78, 0x07, 0x40, 0xb2, 0x77, - 0x3b, 0xfa, 0x04, 0xd6, 0x78, 0x41, 0x36, 0xad, 0x84, 0xb8, 0xfe, 0x14, 0x89, 0x33, 0x58, 0xcd, - 0x94, 0x85, 0x48, 0x74, 0xef, 0xbc, 0x4d, 0xf8, 0x6d, 0x64, 0xc9, 0xd1, 0x14, 0x29, 0x45, 0xd3, - 0x54, 0x2d, 0x7f, 0xa7, 0xa8, 0xf8, 0x0d, 0xc3, 0x5d, 0x88, 0x21, 0xae, 0xc0, 0xd1, 0x35, 0xb9, - 0xde, 0xf2, 0x2e, 0xb5, 0xa3, 0x11, 0xe6, 0x1e, 0xe7, 0x37, 0x98, 0xa6, 0x63, 0xde, 0xdc, 0xd5, - 0xe2, 0x08, 0xde, 0xf1, 0x9d, 0x00, 0x0b, 0xda, 0x6a, 0x4b, 0x53, 0xee, 0x5b, 0xf2, 0x8a, 0xaa, - 0x88, 0x6b, 0xf8, 0x5d, 0x8b, 0xbd, 0xf1, 0x43, 0x3e, 0x80, 0x01, 0xcb, 0x86, 0x84, 0x22, 0x6a, - 0xe9, 0x86, 0xed, 0xf8, 0xaf, 0x3b, 0x63, 0xe7, 0x6a, 0x9a, 0xb5, 0xdc, 0x5a, 0x2a, 0x54, 0x59, - 0x03, 0xf5, 0x5b, 0xfc, 0xdf, 0x94, 0xa9, 0xac, 0x48, 0xd6, 0x7a, 0x53, 0x35, 0x0b, 0xf3, 0xba, - 0xf5, 0x64, 0x6b, 0x0a, 0x10, 0xe4, 0xbc, 0x6e, 0x95, 0xd1, 0x97, 0x78, 0x15, 0xbf, 0x14, 0x11, - 0xb6, 0x0b, 0xac, 0xba, 0x62, 0x6f, 0xde, 0x74, 0x04, 0x9e, 0x93, 0xdd, 0x0f, 0x1c, 0x4e, 0x96, - 0xf7, 0x53, 0x54, 0x41, 0xe4, 0xdb, 0xf9, 0x98, 0x79, 0xc2, 0xef, 0x04, 0x7c, 0x5e, 0x7d, 0xd4, - 0xd4, 0x0c, 0xf7, 0xc0, 0x67, 0x69, 0x0d, 0xd5, 0xfd, 0xc6, 0x96, 0x07, 0x83, 0xc7, 0x0f, 0xb4, - 0x86, 0x3a, 0xfd, 0xfe, 0x59, 0x38, 0xea, 0xc4, 0xa1, 0x3f, 0x22, 0x00, 0xc1, 0x39, 0x85, 0x16, - 0x78, 0xbd, 0x9b, 0x2c, 0x41, 0x0b, 0x52, 0xdb, 0xeb, 0x51, 0x67, 0x90, 0x3e, 0xb0, 0xb7, 0xfa, - 0xf7, 0xff, 0xf8, 0xe9, 0x0f, 0xfb, 0xce, 0x52, 0x51, 0xe2, 0x88, 0xe9, 0xa1, 0x33, 0xce, 0x4f, - 0x09, 0x1c, 0xf3, 0xfd, 0xd0, 0xa9, 0xf6, 0xe2, 0x79, 0xf0, 0x0a, 0xed, 0x2e, 0x47, 0x74, 0xaf, - 0x07, 0xe8, 0xae, 0xd0, 0xcb, 0xd9, 0xe8, 0xa4, 0x8d, 0xe8, 0x91, 0x66, 0x93, 0xfe, 0x85, 0xc0, - 0x70, 0x92, 0xf6, 0x49, 0x67, 0xda, 0x83, 0x12, 0xbf, 0xae, 0x0a, 0x5f, 0xea, 0xc2, 0x12, 0xf9, - 0x2c, 0x04, 0x7c, 0x8a, 0xf4, 0x56, 0x17, 0x7c, 0xa4, 0xd0, 0xcd, 0x82, 0xfe, 0x9f, 0xc0, 0xcb, - 0xa9, 0x3a, 0x21, 0x2d, 0xb6, 0x07, 0x35, 0xe5, 0x72, 0x2e, 0x94, 0xf6, 0xe3, 0x02, 0x69, 0x3f, - 0x0c, 0x68, 0xdf, 0xa5, 0xf3, 0xdd, 0xd0, 0x0e, 0x6e, 0xd7, 0xe1, 0x04, 0xfc, 0x8e, 0x00, 0x04, - 0xf1, 0x32, 0x86, 0x25, 0xa6, 0x9f, 0x65, 0x0c, 0x4b, 0x5c, 0x3f, 0x11, 0xbf, 0x1d, 0xf0, 0x28, - 0xd3, 0xc5, 0x7d, 0x96, 0x4f, 0xda, 0x88, 0x9e, 0xdf, 0x37, 0xe9, 0xff, 0x08, 0x0c, 0x25, 0xe4, - 0x91, 0x5e, 0x4b, 0xc5, 0xc9, 0x17, 0x08, 0x85, 0x99, 0xce, 0x0d, 0x91, 0xa9, 0x11, 0x30, 0xad, - 0x51, 0xb5, 0xd7, 0x4c, 0x13, 0xcb, 0x49, 0x7f, 0x4f, 0x60, 0x38, 0x49, 0x08, 0xcb, 0x18, 0xd5, - 0x14, 0xcd, 0x2f, 0x63, 0x54, 0xd3, 0x54, 0x37, 0xb1, 0x18, 0x64, 0xe0, 0x2a, 0x7d, 0x8d, 0x97, - 0x81, 0xd4, 0x7a, 0xda, 0xf3, 0x99, 0xaa, 0x1f, 0x65, 0xcc, 0x67, 0x3b, 0xe2, 0x59, 0xc6, 0x7c, - 0xb6, 0x25, 0x5f, 0xb5, 0x39, 0x9f, 0x3e, 0xbd, 0x36, 0x0b, 0x6a, 0xd2, 0xdf, 0x12, 0x78, 0x21, - 0x22, 0x86, 0xd0, 0x4b, 0xa9, 0x68, 0x93, 0xb4, 0x28, 0x61, 0xba, 0x13, 0x13, 0x24, 0xf4, 0x76, - 0x40, 0xe8, 0x0d, 0x5a, 0xec, 0x86, 0x90, 0x11, 0x81, 0xfd, 0x09, 0x81, 0xa1, 0x04, 0x19, 0x21, - 0x63, 0x32, 0xf9, 0x7a, 0x89, 0x30, 0xd3, 0xb9, 0x21, 0x52, 0xbb, 0x1b, 0x50, 0x7b, 0x9d, 0xce, - 0x75, 0x43, 0x2d, 0xf4, 0x31, 0xdf, 0x25, 0x40, 0xe3, 0xc1, 0xe8, 0xd5, 0x0e, 0xd1, 0x79, 0xac, - 0xae, 0x75, 0x6c, 0x87, 0xa4, 0xbe, 0x15, 0x90, 0x7a, 0x87, 0xde, 0xdb, 0x1f, 0xa9, 0xf8, 0x19, - 0xe0, 0x17, 0x04, 0x06, 0xa3, 0xd7, 0x75, 0x9a, 0xde, 0x54, 0x89, 0x7a, 0x82, 0x70, 0xb9, 0x23, - 0x1b, 0x64, 0x76, 0x33, 0x60, 0x36, 0x4d, 0x5f, 0xe5, 0x31, 0x5b, 0xf6, 0x8d, 0x2b, 0x9a, 0xfe, - 0x2e, 0x93, 0x36, 0x5c, 0xa9, 0x62, 0x93, 0x7e, 0x8f, 0x40, 0xff, 0x22, 0x63, 0x75, 0x7a, 0x3e, - 0x35, 0x78, 0x48, 0x6f, 0x10, 0x2e, 0xb4, 0xb1, 0x12, 0xc1, 0x5d, 0x08, 0xc0, 0xe5, 0xe9, 0x69, - 0x1e, 0xb8, 0xa6, 0x1d, 0xff, 0xfb, 0x04, 0x06, 0x5c, 0x85, 0x80, 0x4e, 0xa6, 0x07, 0x08, 0x8b, - 0x12, 0xc2, 0xc5, 0xb6, 0xd6, 0x22, 0x9c, 0x8b, 0x01, 0x9c, 0x71, 0x9a, 0xe7, 0xc2, 0x71, 0x51, - 0xfc, 0x8d, 0xc0, 0x29, 0x8e, 0xb2, 0x40, 0xaf, 0xa7, 0x46, 0x4d, 0x97, 0x31, 0x84, 0x1b, 0xdd, - 0x19, 0x23, 0x87, 0x2f, 0xdb, 0x1c, 0x72, 0x0e, 0x87, 0x59, 0x3a, 0xc3, 0xe3, 0x60, 0xa1, 0x97, - 0x8a, 0x69, 0xbb, 0xa9, 0xb8, 0xb7, 0xcd, 0xca, 0xd2, 0x7a, 0x45, 0x53, 0xa4, 0x0d, 0x4d, 0xd9, - 0xa4, 0xff, 0x21, 0x20, 0xf0, 0x45, 0x08, 0x3a, 0xd7, 0x39, 0xc6, 0xb0, 0xfa, 0x21, 0xdc, 0xea, - 0xda, 0x3e, 0xbc, 0x0b, 0xe5, 0xb2, 0x76, 0x21, 0x2e, 0x4d, 0x47, 0x6d, 0xb1, 0x87, 0x58, 0x67, - 0x8d, 0x4d, 0xfa, 0x29, 0x81, 0x51, 0xae, 0x78, 0x41, 0x6f, 0x76, 0x8a, 0x35, 0xa2, 0x99, 0x08, - 0x73, 0xdd, 0x9a, 0x23, 0xd3, 0x3b, 0x01, 0xd3, 0x9b, 0xf4, 0x7a, 0x67, 0x4c, 0x99, 0xed, 0x49, - 0xda, 0x70, 0x64, 0x9a, 0x4d, 0xfa, 0x07, 0x02, 0xa7, 0x38, 0xe2, 0x45, 0x46, 0xc7, 0xa6, 0x4b, - 0x2c, 0x19, 0x1d, 0x9b, 0xa1, 0x97, 0x88, 0xd7, 0x03, 0x82, 0xaf, 0xd2, 0x42, 0x47, 0x04, 0x4d, - 0xba, 0x43, 0x60, 0x94, 0xab, 0x54, 0x64, 0x94, 0x2e, 0x4b, 0x0a, 0xc9, 0x28, 0x5d, 0xa6, 0x40, - 0x22, 0x96, 0x02, 0x66, 0xd7, 0xe8, 0x15, 0x1e, 0xb3, 0xba, 0x6c, 0x5a, 0x95, 0xe4, 0xfa, 0x69, - 0x0a, 0xfd, 0xbb, 0xd3, 0x9b, 0x1c, 0x9d, 0x24, 0xb3, 0x37, 0xd3, 0x85, 0x98, 0xcc, 0xde, 0xcc, - 0x90, 0x67, 0xdc, 0x33, 0x6a, 0x2e, 0xeb, 0x8c, 0x6a, 0xd9, 0x7e, 0xf6, 0x30, 0x54, 0x2a, 0xb2, - 0xcb, 0xe0, 0x31, 0x81, 0xe3, 0x31, 0x31, 0x26, 0xe3, 0x26, 0x15, 0x5b, 0x2f, 0x5c, 0xed, 0x6c, - 0xbd, 0x4f, 0x60, 0x26, 0x20, 0x30, 0x45, 0x2f, 0xa6, 0x13, 0xa8, 0x3b, 0x0e, 0x2a, 0xa6, 0x8b, - 0x70, 0x9b, 0xc0, 0x89, 0x64, 0x31, 0x67, 0xba, 0xfd, 0x81, 0xf7, 0x6c, 0x84, 0xd9, 0xce, 0x6d, - 0x7c, 0x0e, 0x6f, 0x05, 0x1c, 0x6e, 0xd0, 0xd9, 0x36, 0xe7, 0xa7, 0xce, 0xaa, 0x2b, 0xf8, 0xa9, - 0x47, 0xa9, 0x69, 0xb3, 0xf4, 0xe6, 0xc7, 0x4f, 0xf3, 0x64, 0xfb, 0x69, 0x9e, 0xfc, 0xf3, 0x69, - 0x9e, 0xfc, 0x60, 0x37, 0x9f, 0xdb, 0xde, 0xcd, 0xe7, 0xfe, 0xbc, 0x9b, 0xcf, 0x7d, 0xe3, 0x95, - 0x54, 0xed, 0xeb, 0x91, 0x1f, 0xcc, 0x51, 0xc1, 0x96, 0x06, 0x9c, 0x7f, 0xa7, 0x78, 0xf9, 0xb3, - 0x00, 0x00, 0x00, 0xff, 0xff, 0x61, 0x38, 0x18, 0xee, 0xd6, 0x29, 0x00, 0x00, + // 2031 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x5a, 0xdd, 0x6f, 0x14, 0xd7, + 0x15, 0xdf, 0x6b, 0x8c, 0x53, 0x4e, 0x14, 0x37, 0x5c, 0x1b, 0xb0, 0x27, 0x64, 0x6d, 0xa6, 0x14, + 0x83, 0x1d, 0xef, 0x04, 0x13, 0xc0, 0x35, 0x01, 0xe2, 0x85, 0x26, 0xb8, 0x58, 0x81, 0x2c, 0x29, + 0xea, 0xa7, 0x56, 0xe3, 0x9d, 0xc9, 0xee, 0xc8, 0xbb, 0x73, 0x97, 0x99, 0x59, 0x07, 0x6a, 0x59, + 0x95, 0xf2, 0x50, 0xe5, 0xa9, 0xaa, 0xd4, 0xf7, 0x2a, 0x8f, 0x55, 0xd5, 0x4a, 0x79, 0x30, 0x55, + 0x2b, 0xb5, 0x7d, 0xac, 0xf2, 0x50, 0x55, 0x94, 0x2a, 0x55, 0x3f, 0x54, 0x5a, 0x01, 0x52, 0xab, + 0x4a, 0xfd, 0x0f, 0xaa, 0x2a, 0x9a, 0xb9, 0x67, 0xbe, 0x3c, 0x73, 0x67, 0x76, 0x97, 0xb5, 0x04, + 0x2f, 0xc0, 0xce, 0xdc, 0x73, 0xce, 0xef, 0x77, 0x3e, 0xee, 0xdc, 0xfb, 0x13, 0x20, 0xd7, 0x98, + 0xdd, 0x62, 0xb6, 0x62, 0x3b, 0xea, 0xba, 0x61, 0xd6, 0x95, 0x8d, 0x93, 0x6b, 0xba, 0xa3, 0x9e, + 0x54, 0x6e, 0x75, 0x74, 0xeb, 0x4e, 0xa9, 0x6d, 0x31, 0x87, 0xd1, 0x83, 0x7c, 0x4d, 0x09, 0xd7, + 0x94, 0x70, 0x8d, 0xb4, 0x5f, 0x6d, 0x19, 0x26, 0x53, 0xbc, 0x3f, 0xf9, 0x52, 0x69, 0x16, 0xdd, + 0xad, 0xa9, 0xb6, 0xce, 0x7d, 0x04, 0x1e, 0xdb, 0x6a, 0xdd, 0x30, 0x55, 0xc7, 0x60, 0x26, 0xae, + 0x2d, 0x46, 0xd7, 0xfa, 0xab, 0x6a, 0xcc, 0xf0, 0xdf, 0xbf, 0x84, 0xef, 0x7d, 0x37, 0x51, 0x4c, + 0xd2, 0x51, 0x01, 0x6e, 0x1f, 0x23, 0x5f, 0x35, 0xc9, 0x57, 0x55, 0xbd, 0x5f, 0x0a, 0xd2, 0xe0, + 0xaf, 0xc6, 0xeb, 0xac, 0xce, 0xf8, 0x73, 0xf7, 0x5f, 0xf8, 0xf4, 0x70, 0x9d, 0xb1, 0x7a, 0x53, + 0x57, 0xd4, 0xb6, 0xa1, 0xa8, 0xa6, 0xc9, 0x1c, 0x0f, 0x30, 0xda, 0xc8, 0xb7, 0xe1, 0xe0, 0x3b, + 0x2e, 0x86, 0x9b, 0x6a, 0xd3, 0xd0, 0x54, 0x87, 0x59, 0x76, 0x45, 0xbf, 0xd5, 0xd1, 0x6d, 0x87, + 0x1e, 0x84, 0x11, 0xdb, 0x51, 0x9d, 0x8e, 0x3d, 0x41, 0xa6, 0xc9, 0xf1, 0x7d, 0x15, 0xfc, 0x45, + 0xdf, 0x04, 0x08, 0x79, 0x4f, 0x0c, 0x4d, 0x93, 0xe3, 0xcf, 0x2f, 0x1c, 0x2b, 0x21, 0x10, 0x97, + 0x78, 0x89, 0x93, 0x42, 0xf8, 0xa5, 0xeb, 0x6a, 0x5d, 0x47, 0x9f, 0x95, 0x88, 0xa5, 0xfc, 0x31, + 0x81, 0x43, 0x89, 0xd0, 0x76, 0x9b, 0x99, 0xb6, 0x4e, 0x57, 0x01, 0x36, 0x82, 0xa7, 0x13, 0x64, + 0x7a, 0xcf, 0xf1, 0xe7, 0x17, 0x8e, 0x94, 0xd2, 0x6b, 0x56, 0x0a, 0xec, 0xcb, 0xfb, 0x3e, 0x79, + 0x30, 0x55, 0xf8, 0xf1, 0xbf, 0x3e, 0x9e, 0x25, 0x95, 0x88, 0x3d, 0x7d, 0x2b, 0x05, 0xf1, 0x4c, + 0x2e, 0x62, 0x0e, 0x25, 0x06, 0x59, 0x85, 0x03, 0x71, 0xc4, 0x7e, 0xae, 0xae, 0xc0, 0x68, 0x10, + 0xaf, 0xaa, 0x6a, 0x9a, 0xc5, 0x73, 0x56, 0x3e, 0x72, 0x7f, 0x7b, 0xfe, 0x65, 0x0c, 0x14, 0x18, + 0x2d, 0x6b, 0x9a, 0xa5, 0xdb, 0xf6, 0x0d, 0xc7, 0x32, 0xcc, 0x7a, 0xe5, 0x85, 0x8d, 0xe8, 0x73, + 0x59, 0xdb, 0x59, 0x8f, 0x20, 0x27, 0x5f, 0x81, 0x7d, 0xc1, 0x52, 0xcf, 0x7d, 0xaf, 0x29, 0x09, + 0xcd, 0xe5, 0x6d, 0x02, 0xd3, 0xf1, 0x30, 0x97, 0xf5, 0xa6, 0x5e, 0xe7, 0x9d, 0x31, 0x70, 0x52, + 0x03, 0x6b, 0x99, 0xff, 0x12, 0x38, 0x92, 0x01, 0x1b, 0x13, 0xf5, 0x5d, 0x18, 0xd7, 0x82, 0xc7, + 0x55, 0x0b, 0x1f, 0xfb, 0x6d, 0x34, 0x2b, 0xca, 0x59, 0xe8, 0xca, 0xf7, 0x54, 0x9e, 0x76, 0x93, + 0xf7, 0x93, 0x7f, 0x4c, 0x8d, 0x25, 0xdf, 0xd9, 0x3c, 0xa7, 0x63, 0x5a, 0xf2, 0xcd, 0xe0, 0xfa, + 0xed, 0xd7, 0x04, 0x4e, 0xc4, 0xf9, 0x7e, 0xd5, 0x5c, 0x63, 0xa6, 0x66, 0x98, 0xf5, 0x67, 0xa2, + 0x5e, 0x0f, 0x08, 0xcc, 0x76, 0x83, 0x1f, 0x0b, 0x57, 0x87, 0xb1, 0x8e, 0xff, 0x3e, 0x51, 0xb7, + 0x39, 0x51, 0xdd, 0x52, 0x5c, 0x46, 0xbb, 0x9e, 0x06, 0x2e, 0x77, 0xa1, 0x40, 0x3f, 0x23, 0x38, + 0xae, 0xd1, 0x06, 0xe1, 0xd5, 0xb8, 0x08, 0xa3, 0xd8, 0x1b, 0xf1, 0x6a, 0x4c, 0xdc, 0xdf, 0x9e, + 0x1f, 0xc7, 0x50, 0x3b, 0x8a, 0x10, 0xac, 0xf7, 0x8a, 0x90, 0x2c, 0xe7, 0x50, 0x7f, 0xe5, 0x5c, + 0xfa, 0xdc, 0x87, 0x1f, 0x4d, 0x15, 0xfe, 0xfd, 0xd1, 0x54, 0x41, 0xde, 0xc0, 0x2d, 0x37, 0xd9, + 0xcf, 0xf4, 0x9b, 0x30, 0x96, 0x32, 0x35, 0xb8, 0xd1, 0xf4, 0x30, 0x34, 0x15, 0x9a, 0x1c, 0x09, + 0xf9, 0xe7, 0x04, 0xa6, 0xbc, 0xc0, 0x29, 0xc5, 0x7a, 0xaa, 0x13, 0x66, 0xe1, 0x3e, 0x99, 0x8a, + 0x1b, 0x33, 0xf7, 0x36, 0x8c, 0xf0, 0x1e, 0xc3, 0x64, 0xf5, 0xdb, 0xa9, 0xe8, 0x45, 0xbe, 0xeb, + 0x6f, 0xce, 0x97, 0x7d, 0x7a, 0x29, 0xc3, 0xfe, 0xc4, 0xd9, 0x1a, 0xd0, 0x8c, 0x47, 0x72, 0xf5, + 0x27, 0x7f, 0x77, 0x4e, 0xc7, 0x8d, 0xd9, 0x6a, 0x0c, 0x6c, 0x77, 0x8e, 0xa4, 0x6e, 0x77, 0xb7, + 0xe1, 0xdf, 0xf8, 0xdb, 0x70, 0x40, 0x2c, 0x6b, 0x1b, 0x7e, 0x0a, 0x2b, 0x13, 0xec, 0xc3, 0x39, + 0x04, 0x9e, 0xd9, 0x7d, 0xf8, 0xde, 0x10, 0x4c, 0x7a, 0x04, 0x2b, 0xba, 0xb6, 0x0b, 0x15, 0xb9, + 0x06, 0xd4, 0xb6, 0x6a, 0xd5, 0x7e, 0x77, 0x97, 0x17, 0x6d, 0xab, 0x16, 0x7b, 0xe5, 0x3a, 0xd4, + 0x6c, 0x67, 0xa7, 0xc3, 0x3d, 0x5d, 0x3b, 0xd4, 0x6c, 0xe7, 0x66, 0xc6, 0x17, 0x7b, 0x78, 0x00, + 0x3d, 0xf3, 0x29, 0x01, 0x29, 0x2d, 0xa5, 0xd8, 0x23, 0x26, 0x1c, 0xb4, 0xf4, 0x8c, 0x41, 0x7e, + 0x45, 0xd4, 0x26, 0x51, 0x77, 0x69, 0xa3, 0x7c, 0xc0, 0xd2, 0x77, 0x75, 0x98, 0xb7, 0xfd, 0x4f, + 0x51, 0x30, 0x0b, 0xc9, 0xab, 0xcf, 0x53, 0x38, 0xc2, 0xbf, 0x4c, 0x7c, 0x14, 0x9e, 0x9d, 0x6b, + 0xd3, 0x5d, 0x02, 0x45, 0x01, 0xf6, 0xa7, 0xfa, 0xe3, 0xdf, 0x12, 0x76, 0xca, 0xae, 0x5c, 0xca, + 0x5e, 0xc3, 0x81, 0xbb, 0x62, 0xd8, 0x0e, 0xb3, 0x8c, 0x9a, 0xda, 0x5c, 0x31, 0xdf, 0x63, 0x91, + 0xeb, 0x78, 0x43, 0x37, 0xea, 0x0d, 0xc7, 0x0b, 0xb3, 0xa7, 0x82, 0xbf, 0xe4, 0xaf, 0xc3, 0x4b, + 0xa9, 0x56, 0x08, 0x70, 0x09, 0x86, 0x1b, 0x86, 0xed, 0x20, 0xb6, 0x63, 0x22, 0x6c, 0x3b, 0xac, + 0x3d, 0x1b, 0x99, 0xc2, 0x8b, 0x9e, 0xeb, 0xeb, 0x8c, 0x35, 0x11, 0x86, 0x7c, 0x1d, 0xf6, 0x47, + 0x9e, 0x61, 0x90, 0x73, 0x30, 0xdc, 0x66, 0xac, 0x89, 0x41, 0x0e, 0x8b, 0x82, 0xb8, 0x36, 0x51, + 0xee, 0x9e, 0x91, 0x3c, 0x0e, 0x94, 0x7b, 0x54, 0x2d, 0xb5, 0xe5, 0x8f, 0xa0, 0xfc, 0x35, 0x18, + 0x8b, 0x3d, 0xc5, 0x48, 0xcb, 0x30, 0xd2, 0xf6, 0x9e, 0x60, 0xac, 0xa2, 0x30, 0x96, 0xb7, 0x2a, + 0x76, 0xbc, 0xe2, 0x86, 0xf2, 0x69, 0xf8, 0x82, 0xe7, 0xf9, 0x5d, 0xb6, 0xae, 0x9b, 0xc6, 0x77, + 0xf4, 0x1b, 0x0d, 0xd5, 0xd2, 0x2b, 0x7a, 0x8d, 0x59, 0x5a, 0xf9, 0xce, 0x8a, 0xe6, 0xe7, 0x7b, + 0x14, 0x86, 0x0c, 0x7e, 0xa2, 0x1b, 0xae, 0x0c, 0x19, 0x9a, 0x7c, 0x0b, 0x8e, 0x66, 0x9b, 0x21, + 0xc2, 0x15, 0x18, 0xb1, 0xbc, 0xa7, 0x79, 0xa7, 0xc1, 0x34, 0x47, 0xc3, 0x2e, 0xdc, 0x0a, 0x3a, + 0x90, 0x2f, 0xc0, 0x31, 0x71, 0xc8, 0xcb, 0xba, 0xc9, 0x5a, 0x3e, 0xd8, 0x71, 0xd8, 0xab, 0xb9, + 0xbf, 0x51, 0xaa, 0xe1, 0x3f, 0x64, 0x07, 0x66, 0x72, 0xed, 0x07, 0x8f, 0xfa, 0x3c, 0x7c, 0x51, + 0x14, 0xd5, 0xbe, 0xf6, 0xbe, 0xa9, 0x6b, 0x11, 0xd0, 0xec, 0x7d, 0x53, 0xb7, 0x7c, 0xd0, 0xde, + 0x0f, 0xb9, 0x23, 0x26, 0xed, 0x9b, 0x23, 0xe6, 0xab, 0xf0, 0x1c, 0x0f, 0x99, 0x7b, 0x34, 0x11, + 0x83, 0xf6, 0x3d, 0xc8, 0x2d, 0xec, 0x8a, 0xe5, 0x66, 0x33, 0x2d, 0xb2, 0x8f, 0x39, 0xbe, 0xb1, + 0x93, 0xbe, 0x6f, 0xc6, 0xbf, 0x22, 0xd8, 0x4e, 0xc2, 0x78, 0xbb, 0x40, 0x72, 0x70, 0x3b, 0xfa, + 0x0c, 0xd6, 0x78, 0x55, 0xb5, 0x9d, 0x94, 0xb8, 0xc1, 0x14, 0xc9, 0x8b, 0x58, 0xcd, 0x8c, 0x85, + 0x48, 0x74, 0xe7, 0xbc, 0xcd, 0x04, 0x6d, 0xe4, 0xa8, 0xf1, 0x14, 0x69, 0xcb, 0xb6, 0xad, 0x3b, + 0xc1, 0x4e, 0x51, 0x0d, 0x1a, 0x46, 0xb8, 0x10, 0x43, 0x9c, 0x86, 0xbd, 0x1b, 0x6a, 0xb3, 0xe3, + 0x5f, 0x6a, 0x27, 0x63, 0xcc, 0x7d, 0xce, 0x97, 0x98, 0x61, 0x62, 0xde, 0xf8, 0x6a, 0x79, 0x02, + 0xef, 0xf8, 0x5e, 0x80, 0x55, 0xe3, 0x56, 0xc7, 0xd0, 0x6e, 0x38, 0xea, 0xba, 0xae, 0xc9, 0x3a, + 0x7e, 0xd7, 0x12, 0x6f, 0x82, 0x90, 0x97, 0x60, 0xc4, 0x71, 0x21, 0xa1, 0x88, 0x5a, 0x9e, 0x73, + 0x1d, 0xff, 0xf5, 0xc1, 0xd4, 0x01, 0x1e, 0xda, 0xd6, 0xd6, 0x4b, 0x06, 0x53, 0x5a, 0xaa, 0xd3, + 0x28, 0xad, 0x98, 0xce, 0xfd, 0xed, 0x79, 0x40, 0x4c, 0x2b, 0xa6, 0x53, 0x41, 0x53, 0xf9, 0x0c, + 0x7e, 0x18, 0x62, 0xe4, 0x56, 0x59, 0x6d, 0xdd, 0xdd, 0xab, 0xe9, 0x04, 0x3c, 0xa7, 0xf2, 0xef, + 0x19, 0x0e, 0x92, 0xff, 0x53, 0xd6, 0x41, 0x16, 0xdb, 0x05, 0x10, 0x45, 0x3a, 0xef, 0x0c, 0x7c, + 0x5e, 0xbf, 0xdd, 0x36, 0x2c, 0x7e, 0xbe, 0x73, 0x8c, 0x96, 0xce, 0x3f, 0xa9, 0x95, 0xd1, 0xf0, + 0xf1, 0xbb, 0x46, 0x4b, 0x5f, 0xf8, 0xe0, 0x28, 0xec, 0xf5, 0xe2, 0xd0, 0x1f, 0x11, 0x80, 0xf0, + 0x58, 0x42, 0x4b, 0xa2, 0x56, 0x4d, 0x57, 0x9c, 0x25, 0xa5, 0xeb, 0xf5, 0x28, 0x2b, 0x28, 0x1f, + 0xba, 0x3b, 0xfb, 0x07, 0x7f, 0x7c, 0xfc, 0xc3, 0xa1, 0xa3, 0x54, 0x56, 0x04, 0xfa, 0x79, 0xe4, + 0x48, 0xf3, 0x53, 0x02, 0xfb, 0x02, 0x3f, 0x74, 0xbe, 0xbb, 0x78, 0x3e, 0xbc, 0x52, 0xb7, 0xcb, + 0x11, 0xdd, 0x1b, 0x21, 0xba, 0xd3, 0xf4, 0x54, 0x3e, 0x3a, 0x65, 0x33, 0x7e, 0x82, 0xd9, 0xa2, + 0x7f, 0x21, 0x30, 0x9e, 0x26, 0x75, 0xd2, 0xc5, 0xee, 0xa0, 0x24, 0x6f, 0xa7, 0xd2, 0x97, 0xfa, + 0xb0, 0x44, 0x3e, 0xab, 0x21, 0x9f, 0x65, 0x7a, 0xb1, 0x0f, 0x3e, 0x4a, 0xe4, 0x22, 0x41, 0xff, + 0x4f, 0xe0, 0xe5, 0x4c, 0x59, 0x90, 0x2e, 0x77, 0x07, 0x35, 0xe3, 0x2e, 0x2e, 0x95, 0x9f, 0xc4, + 0x05, 0xd2, 0xbe, 0x19, 0xd2, 0xbe, 0x4a, 0x57, 0xfa, 0xa1, 0x1d, 0x5e, 0xa6, 0xa3, 0x09, 0xf8, + 0x1d, 0x01, 0x08, 0xe3, 0xe5, 0x0c, 0x4b, 0x42, 0x2e, 0xcb, 0x19, 0x96, 0xa4, 0x5c, 0x22, 0x7f, + 0x3b, 0xe4, 0x51, 0xa1, 0xd7, 0x9f, 0xb0, 0x7c, 0xca, 0x66, 0xfc, 0xb8, 0xbe, 0x45, 0xff, 0x47, + 0x60, 0x2c, 0x25, 0x8f, 0xf4, 0x6c, 0x26, 0x4e, 0xb1, 0x1e, 0x28, 0x2d, 0xf6, 0x6e, 0x88, 0x4c, + 0xad, 0x90, 0x69, 0x9d, 0xea, 0x83, 0x66, 0x9a, 0x5a, 0x4e, 0xfa, 0x7b, 0x02, 0xe3, 0x69, 0xba, + 0x57, 0xce, 0xa8, 0x66, 0x48, 0x7c, 0x39, 0xa3, 0x9a, 0x25, 0xb2, 0xc9, 0xcb, 0x61, 0x06, 0xce, + 0xd0, 0xd7, 0x44, 0x19, 0xc8, 0xac, 0xa7, 0x3b, 0x9f, 0x99, 0x72, 0x51, 0xce, 0x7c, 0x76, 0xa3, + 0x95, 0xe5, 0xcc, 0x67, 0x57, 0x6a, 0x55, 0x97, 0xf3, 0x19, 0xd0, 0xeb, 0xb2, 0xa0, 0x36, 0xfd, + 0x2d, 0x81, 0x17, 0x62, 0xda, 0x07, 0x3d, 0x99, 0x89, 0x36, 0x4d, 0x7a, 0x92, 0x16, 0x7a, 0x31, + 0x41, 0x42, 0x6f, 0x87, 0x84, 0x2e, 0xd1, 0xe5, 0x7e, 0x08, 0x59, 0x31, 0xd8, 0x9f, 0x12, 0x18, + 0x4b, 0x51, 0x0d, 0x72, 0x26, 0x53, 0x2c, 0x8f, 0x48, 0x8b, 0xbd, 0x1b, 0x22, 0xb5, 0xab, 0x21, + 0xb5, 0x37, 0xe8, 0x85, 0x7e, 0xa8, 0x45, 0x3e, 0xe6, 0x8f, 0x08, 0xd0, 0x64, 0x30, 0x7a, 0xa6, + 0x47, 0x74, 0x3e, 0xab, 0xb3, 0x3d, 0xdb, 0x21, 0xa9, 0x6f, 0x85, 0xa4, 0xde, 0xa1, 0xd7, 0x9e, + 0x8c, 0x54, 0xf2, 0x0c, 0xf0, 0x0b, 0x02, 0xa3, 0xf1, 0xdb, 0x39, 0xcd, 0x6e, 0xaa, 0x54, 0xf9, + 0x40, 0x3a, 0xd5, 0x93, 0x0d, 0x32, 0x3b, 0x1f, 0x32, 0x5b, 0xa0, 0xaf, 0x8a, 0x98, 0x35, 0x02, + 0xe3, 0xaa, 0x61, 0xbe, 0xc7, 0x94, 0x4d, 0xae, 0x4c, 0x6c, 0xd1, 0xef, 0x11, 0x18, 0x76, 0xef, + 0xfc, 0xf4, 0x78, 0x66, 0xf0, 0x88, 0xbc, 0x20, 0x9d, 0xe8, 0x62, 0x25, 0x82, 0x3b, 0x11, 0x82, + 0x2b, 0xd2, 0xc3, 0x22, 0x70, 0x6d, 0x37, 0xfe, 0xf7, 0x09, 0x8c, 0x70, 0x41, 0x80, 0xce, 0x66, + 0x07, 0x88, 0x6a, 0x10, 0xd2, 0x5c, 0x57, 0x6b, 0x11, 0xce, 0x5c, 0x08, 0x67, 0x9a, 0x16, 0x85, + 0x70, 0x38, 0x8a, 0xbf, 0x11, 0x38, 0x24, 0x10, 0x12, 0xe8, 0xb9, 0xcc, 0xa8, 0xd9, 0xaa, 0x85, + 0xf4, 0x7a, 0x7f, 0xc6, 0xc8, 0xe1, 0xcb, 0x2e, 0x87, 0x82, 0xc7, 0x61, 0x89, 0x2e, 0x8a, 0x38, + 0x38, 0xe8, 0xa5, 0x6a, 0xbb, 0x6e, 0xaa, 0xfc, 0x72, 0x59, 0x5d, 0xbb, 0x53, 0x35, 0x34, 0x65, + 0xd3, 0xd0, 0xb6, 0xe8, 0x7f, 0x08, 0x48, 0x62, 0xcd, 0x81, 0x5e, 0xe8, 0x1d, 0x63, 0x54, 0xec, + 0x90, 0x2e, 0xf6, 0x6d, 0x1f, 0xdd, 0x85, 0x0a, 0x79, 0xbb, 0x90, 0x90, 0xa6, 0x27, 0xae, 0xb8, + 0x43, 0x6c, 0xb2, 0xd6, 0x16, 0x7d, 0x4c, 0x60, 0x52, 0xa8, 0x55, 0xd0, 0xf3, 0xbd, 0x62, 0x8d, + 0x49, 0x24, 0xd2, 0x85, 0x7e, 0xcd, 0x91, 0xe9, 0x95, 0x90, 0xe9, 0x79, 0x7a, 0xae, 0x37, 0xa6, + 0xcc, 0xf5, 0xa4, 0x6c, 0x7a, 0xaa, 0xcc, 0x16, 0xfd, 0x03, 0x81, 0x43, 0x02, 0xad, 0x22, 0xa7, + 0x63, 0xb3, 0x15, 0x95, 0x9c, 0x8e, 0xcd, 0x91, 0x47, 0xe4, 0x73, 0x21, 0xc1, 0x57, 0x69, 0xa9, + 0x27, 0x82, 0x36, 0x7d, 0x40, 0x60, 0x52, 0x28, 0x4c, 0xe4, 0x94, 0x2e, 0x4f, 0xf9, 0xc8, 0x29, + 0x5d, 0xae, 0x1e, 0x22, 0x97, 0x43, 0x66, 0x67, 0xe9, 0x69, 0x11, 0xb3, 0xa6, 0x6a, 0x3b, 0xd5, + 0xf4, 0xfa, 0x19, 0x1a, 0xfd, 0xbb, 0xd7, 0x9b, 0x02, 0x59, 0x24, 0xb7, 0x37, 0xb3, 0x75, 0x97, + 0xdc, 0xde, 0xcc, 0x51, 0x63, 0xf8, 0x19, 0xb5, 0x90, 0x77, 0x46, 0x75, 0x5c, 0x3f, 0x3b, 0x18, + 0x6a, 0x55, 0x95, 0x33, 0xb8, 0x4b, 0x60, 0x7f, 0x42, 0x7b, 0xc9, 0xb9, 0x49, 0x25, 0xd6, 0x4b, + 0x67, 0x7a, 0x5b, 0x1f, 0x10, 0x58, 0x0c, 0x09, 0xcc, 0xd3, 0xb9, 0x6c, 0x02, 0x4d, 0xcf, 0x41, + 0xd5, 0xe6, 0x08, 0xef, 0x11, 0x38, 0x90, 0x2e, 0xe6, 0x2c, 0x74, 0x3f, 0xf0, 0xbe, 0x8d, 0xb4, + 0xd4, 0xbb, 0x4d, 0xc0, 0xe1, 0xad, 0x90, 0xc3, 0xeb, 0x74, 0xa9, 0xcb, 0xf9, 0x69, 0xb2, 0xda, + 0x3a, 0x7e, 0xea, 0x51, 0x6a, 0xda, 0x2a, 0xbf, 0xf9, 0xc9, 0xc3, 0x22, 0xb9, 0xf7, 0xb0, 0x48, + 0xfe, 0xf9, 0xb0, 0x48, 0x7e, 0xf0, 0xa8, 0x58, 0xb8, 0xf7, 0xa8, 0x58, 0xf8, 0xf3, 0xa3, 0x62, + 0xe1, 0x1b, 0xaf, 0xd4, 0x0d, 0xa7, 0xd1, 0x59, 0x2b, 0xd5, 0x58, 0xcb, 0xf7, 0xcf, 0xff, 0x9a, + 0xb7, 0xb5, 0x75, 0xe5, 0x76, 0x10, 0xcc, 0xb9, 0xd3, 0xd6, 0xed, 0xb5, 0x11, 0xef, 0xbf, 0x25, + 0x9e, 0xfa, 0x2c, 0x00, 0x00, 0xff, 0xff, 0xd4, 0x8d, 0xd6, 0xbb, 0xc5, 0x29, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/staking/types/staking.pb.go b/x/staking/types/staking.pb.go index d7b3cf472d3a..a5b6e8562555 100644 --- a/x/staking/types/staking.pb.go +++ b/x/staking/types/staking.pb.go @@ -12,7 +12,6 @@ import ( types "github.com/cometbft/cometbft/proto/tendermint/types" _ "github.com/cosmos/cosmos-proto" types1 "github.com/cosmos/cosmos-sdk/codec/types" - github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" types2 "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" @@ -417,11 +416,11 @@ type Validator struct { // validator_bond_shares is the number of shares self bonded from the validator. // // Since: cosmos-sdk 0.47-lsm - ValidatorBondShares github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,14,opt,name=validator_bond_shares,json=validatorBondShares,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"validator_bond_shares"` + ValidatorBondShares cosmossdk_io_math.LegacyDec `protobuf:"bytes,14,opt,name=validator_bond_shares,json=validatorBondShares,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"validator_bond_shares"` // liquid_shares is the number of shares either tokenized or owned by a liquid staking provider. // // Since: cosmos-sdk 0.47-lsm - LiquidShares github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,15,opt,name=liquid_shares,json=liquidShares,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"liquid_shares"` + LiquidShares cosmossdk_io_math.LegacyDec `protobuf:"bytes,15,opt,name=liquid_shares,json=liquidShares,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"liquid_shares"` } func (m *Validator) Reset() { *m = Validator{} } @@ -1458,150 +1457,149 @@ func init() { } var fileDescriptor_64c30c6cf92913c9 = []byte{ - // 2282 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x58, 0xcd, 0x6f, 0x1b, 0xc7, - 0x15, 0xd7, 0x52, 0x0a, 0x25, 0x3e, 0xea, 0x73, 0xfc, 0x45, 0x51, 0x89, 0x48, 0xd3, 0x89, 0xa3, - 0xb8, 0x31, 0x55, 0xbb, 0x80, 0x0f, 0x6a, 0xd0, 0x56, 0x14, 0xe9, 0x98, 0xb1, 0x4d, 0xb1, 0x4b, + // 2268 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x59, 0xcd, 0x6f, 0x1b, 0xc7, + 0x15, 0xd7, 0x52, 0x32, 0x25, 0x3e, 0xea, 0x73, 0xfc, 0x45, 0xd1, 0x8e, 0x44, 0xd3, 0x4e, 0xa2, + 0xb8, 0x31, 0x59, 0xbb, 0x80, 0x0f, 0x6a, 0xd1, 0x56, 0x14, 0xe9, 0x98, 0xb1, 0x4d, 0xb1, 0x4b, 0x49, 0x4d, 0xdc, 0xa4, 0x8b, 0xe1, 0xee, 0x88, 0x9a, 0x6a, 0xb9, 0xcb, 0xec, 0x0e, 0x1d, 0x31, 0xe7, 0x1e, 0x02, 0x15, 0x05, 0x02, 0x14, 0x2d, 0x0a, 0x14, 0x6a, 0x0c, 0xf4, 0x92, 0xde, 0x72, - 0x30, 0x7a, 0xc8, 0xad, 0xb7, 0xb4, 0x40, 0x01, 0xc3, 0xa7, 0xa2, 0x40, 0x9d, 0xc2, 0x3e, 0x24, - 0x68, 0x2f, 0x45, 0xff, 0x82, 0x62, 0x67, 0x66, 0x3f, 0xf8, 0xa5, 0x0f, 0xc7, 0x28, 0x82, 0xf6, - 0x22, 0x71, 0x67, 0xde, 0xfb, 0xcd, 0x7b, 0xbf, 0x79, 0xf3, 0xde, 0xcc, 0x83, 0x17, 0x75, 0xdb, - 0x6d, 0xda, 0xee, 0xb2, 0xcb, 0xf0, 0x2e, 0xb5, 0x1a, 0xcb, 0x77, 0xaf, 0xd4, 0x09, 0xc3, 0x57, - 0xfc, 0xef, 0x7c, 0xcb, 0xb1, 0x99, 0x8d, 0xce, 0x0a, 0xa9, 0xbc, 0x3f, 0x2a, 0xa5, 0xd2, 0x73, - 0xb8, 0x49, 0x2d, 0x7b, 0x99, 0xff, 0x15, 0xa2, 0xe9, 0x45, 0x09, 0x58, 0xc7, 0x2e, 0x09, 0xd0, - 0x74, 0x9b, 0x5a, 0x72, 0x7e, 0x5e, 0xcc, 0x6b, 0xfc, 0x6b, 0x59, 0xe2, 0x8a, 0xa9, 0xd3, 0x0d, - 0xbb, 0x61, 0x8b, 0x71, 0xef, 0x97, 0xaf, 0xd0, 0xb0, 0xed, 0x86, 0x49, 0x96, 0xf9, 0x57, 0xbd, - 0xbd, 0xbd, 0x8c, 0xad, 0x8e, 0xbf, 0x56, 0xef, 0x94, 0xd1, 0x76, 0x30, 0xa3, 0xb6, 0xbf, 0x56, - 0xa6, 0x77, 0x9e, 0xd1, 0x26, 0x71, 0x19, 0x6e, 0xb6, 0xa4, 0xc0, 0x02, 0x23, 0x96, 0x41, 0x9c, - 0x26, 0xb5, 0xd8, 0x32, 0xae, 0xeb, 0x74, 0x99, 0x75, 0x5a, 0xc4, 0x37, 0xe7, 0xf9, 0xc8, 0x24, - 0x1f, 0x8f, 0xce, 0xe6, 0x7e, 0xae, 0xc0, 0xf4, 0x0d, 0xea, 0x32, 0xdb, 0xa1, 0x3a, 0x36, 0xcb, - 0xd6, 0xb6, 0x8d, 0xbe, 0x0d, 0xf1, 0x1d, 0x82, 0x0d, 0xe2, 0xa4, 0x94, 0xac, 0xb2, 0x94, 0xbc, - 0x9a, 0xca, 0x87, 0x08, 0x79, 0xa1, 0x7b, 0x83, 0xcf, 0x17, 0x12, 0x9f, 0x3d, 0xca, 0x8c, 0x7c, - 0xfc, 0xc5, 0x27, 0x97, 0x14, 0x55, 0xaa, 0xa0, 0x22, 0xc4, 0xef, 0x62, 0xd3, 0x25, 0x2c, 0x15, - 0xcb, 0x8e, 0x2e, 0x25, 0xaf, 0x9e, 0xcf, 0x0f, 0xe6, 0x3c, 0xbf, 0x85, 0x4d, 0x6a, 0x60, 0x66, - 0x77, 0xa3, 0x08, 0xdd, 0xdc, 0x2f, 0x63, 0x30, 0xb3, 0x66, 0x37, 0x9b, 0xd4, 0x75, 0xa9, 0x6d, - 0xa9, 0x98, 0x11, 0x17, 0xbd, 0x01, 0x63, 0x0e, 0x66, 0x84, 0x1b, 0x95, 0x28, 0x5c, 0xf3, 0x94, - 0xfe, 0xfa, 0x28, 0xb3, 0x20, 0xe0, 0x5d, 0x63, 0x37, 0x4f, 0xed, 0xe5, 0x26, 0x66, 0x3b, 0xf9, - 0x5b, 0xa4, 0x81, 0xf5, 0x4e, 0x91, 0xe8, 0x0f, 0xef, 0x5f, 0x06, 0xb9, 0x7a, 0x91, 0xe8, 0x62, - 0x05, 0x8e, 0x81, 0xbe, 0x0f, 0x13, 0x4d, 0xbc, 0xa7, 0x71, 0xbc, 0xd8, 0x57, 0xc2, 0x1b, 0x6f, - 0xe2, 0x3d, 0xcf, 0x3e, 0xf4, 0x23, 0x98, 0xf1, 0x20, 0xf5, 0x1d, 0x6c, 0x35, 0x88, 0x40, 0x1e, - 0xfd, 0x4a, 0xc8, 0x53, 0x4d, 0xbc, 0xb7, 0xc6, 0xd1, 0x3c, 0xfc, 0x95, 0xb1, 0x2f, 0xef, 0x65, - 0x94, 0xdc, 0x1f, 0x14, 0x80, 0x90, 0x18, 0x84, 0x61, 0x56, 0x0f, 0xbe, 0xf8, 0xa2, 0xae, 0xdc, - 0xb4, 0x97, 0x87, 0xf1, 0xde, 0x43, 0x6b, 0x61, 0xca, 0x33, 0xef, 0xc1, 0xa3, 0x8c, 0x22, 0x56, - 0x9d, 0xd1, 0xfb, 0x68, 0x4f, 0xb6, 0x5b, 0x06, 0x66, 0x44, 0xf3, 0xa2, 0x8e, 0xb3, 0x95, 0xbc, - 0x9a, 0xce, 0x8b, 0x90, 0xcc, 0xfb, 0x21, 0x99, 0xdf, 0xf0, 0x43, 0x52, 0x00, 0x7e, 0xf8, 0xb9, - 0x0f, 0x08, 0x42, 0xdb, 0x9b, 0x97, 0x3e, 0x7c, 0xac, 0x40, 0xb2, 0x48, 0x5c, 0xdd, 0xa1, 0x2d, - 0x2f, 0xc8, 0x51, 0x0a, 0xc6, 0x9b, 0xb6, 0x45, 0x77, 0x65, 0xc0, 0x25, 0x54, 0xff, 0x13, 0xa5, - 0x61, 0x82, 0x1a, 0xc4, 0x62, 0x94, 0x75, 0xc4, 0x36, 0xa9, 0xc1, 0xb7, 0xa7, 0xf5, 0x1e, 0xa9, - 0xbb, 0xd4, 0xe7, 0x59, 0xf5, 0x3f, 0xd1, 0x2b, 0x30, 0xeb, 0x12, 0xbd, 0xed, 0x50, 0xd6, 0xd1, - 0x74, 0xdb, 0x62, 0x58, 0x67, 0xa9, 0x31, 0x2e, 0x32, 0xe3, 0x8f, 0xaf, 0x89, 0x61, 0x0f, 0xc4, - 0x20, 0x0c, 0x53, 0xd3, 0x4d, 0x3d, 0x27, 0x40, 0xe4, 0xa7, 0x34, 0xf5, 0xf3, 0x09, 0x48, 0x04, - 0x81, 0x8a, 0xd6, 0x60, 0xd6, 0x6e, 0x11, 0xc7, 0xfb, 0xad, 0x61, 0xc3, 0x70, 0x88, 0xeb, 0xca, - 0x68, 0x4c, 0x3d, 0xbc, 0x7f, 0xf9, 0xb4, 0x24, 0x7c, 0x55, 0xcc, 0xd4, 0x98, 0x43, 0xad, 0x86, - 0x3a, 0xe3, 0x6b, 0xc8, 0x61, 0xf4, 0x96, 0xb7, 0x65, 0x96, 0x4b, 0x2c, 0xb7, 0xed, 0x6a, 0xad, - 0x76, 0x7d, 0x97, 0x74, 0x24, 0xa9, 0xa7, 0xfb, 0x48, 0x5d, 0xb5, 0x3a, 0x85, 0xd4, 0x9f, 0x42, - 0x68, 0xdd, 0xe9, 0xb4, 0x98, 0x9d, 0xaf, 0xb6, 0xeb, 0x37, 0x49, 0xc7, 0xdb, 0x2a, 0x89, 0x53, - 0xe5, 0x30, 0xe8, 0x2c, 0xc4, 0x7f, 0x8c, 0xa9, 0x49, 0x0c, 0xce, 0xc8, 0x84, 0x2a, 0xbf, 0xd0, - 0x0a, 0xc4, 0x5d, 0x86, 0x59, 0xdb, 0xe5, 0x34, 0x4c, 0x5f, 0xcd, 0x0d, 0x8b, 0x8d, 0x82, 0x6d, - 0x19, 0x35, 0x2e, 0xa9, 0x4a, 0x0d, 0xb4, 0x06, 0x71, 0x66, 0xef, 0x12, 0x4b, 0x12, 0x54, 0xf8, - 0x86, 0x8c, 0xe6, 0x33, 0xfd, 0xd1, 0x5c, 0xb6, 0x58, 0x24, 0x8e, 0xcb, 0x16, 0x53, 0xa5, 0x2a, - 0x7a, 0x1b, 0x66, 0x0d, 0x62, 0x92, 0x06, 0x67, 0xce, 0xdd, 0xc1, 0x0e, 0x71, 0x53, 0x71, 0x0e, - 0x77, 0xe5, 0xc4, 0x87, 0x43, 0x9d, 0x09, 0xa0, 0x6a, 0x1c, 0x09, 0x55, 0x21, 0x69, 0x84, 0xe1, - 0x94, 0x1a, 0xe7, 0x64, 0x5e, 0x18, 0xe6, 0x63, 0x24, 0xf2, 0xa2, 0x99, 0x27, 0x0a, 0xe1, 0x45, - 0x50, 0xdb, 0xaa, 0xdb, 0x96, 0x41, 0xad, 0x86, 0xb6, 0x43, 0x68, 0x63, 0x87, 0xa5, 0x26, 0xb2, - 0xca, 0xd2, 0xa8, 0x3a, 0x13, 0x8c, 0xdf, 0xe0, 0xc3, 0xa8, 0x0a, 0xd3, 0xa1, 0x28, 0x3f, 0x21, - 0x89, 0x93, 0x9e, 0x90, 0xa9, 0x00, 0xc0, 0x13, 0x41, 0xb7, 0x01, 0xc2, 0x33, 0x98, 0x02, 0x8e, - 0x96, 0x3b, 0xfa, 0x34, 0x47, 0x9d, 0x89, 0x00, 0xa0, 0x1f, 0xc2, 0xa9, 0x26, 0xb5, 0x34, 0x97, - 0x98, 0xdb, 0x9a, 0x64, 0xce, 0xc3, 0x4d, 0x9e, 0x7c, 0x37, 0xe7, 0x9a, 0xd4, 0xaa, 0x11, 0x73, - 0xbb, 0x18, 0xa0, 0xa0, 0xd7, 0x60, 0x21, 0xf4, 0xde, 0xb6, 0xb4, 0x1d, 0xdb, 0x34, 0x34, 0x87, - 0x6c, 0x6b, 0xba, 0xdd, 0xb6, 0x58, 0x6a, 0x92, 0x73, 0x76, 0x2e, 0x10, 0x59, 0xb7, 0x6e, 0xd8, - 0xa6, 0xa1, 0x92, 0xed, 0x35, 0x6f, 0x1a, 0x5d, 0x80, 0xd0, 0x75, 0x8d, 0x1a, 0x6e, 0x6a, 0x2a, - 0x3b, 0xba, 0x34, 0xa6, 0x4e, 0x06, 0x83, 0x65, 0xc3, 0x45, 0x2d, 0x38, 0x73, 0xd7, 0x3f, 0x81, - 0x9a, 0x37, 0xee, 0x07, 0xd0, 0x34, 0xf7, 0xe0, 0x35, 0xe9, 0xc1, 0xc5, 0x06, 0x65, 0x3b, 0xed, - 0x7a, 0x5e, 0xb7, 0x9b, 0xb2, 0x1a, 0xcb, 0x7f, 0x97, 0x5d, 0x63, 0x57, 0x56, 0xbc, 0xfe, 0x58, - 0x3a, 0x15, 0x40, 0xf3, 0xd0, 0x17, 0xf1, 0x84, 0x61, 0xca, 0xa4, 0xef, 0xb6, 0x69, 0xb0, 0xd2, - 0xcc, 0x33, 0x58, 0x69, 0x52, 0x40, 0x8a, 0x25, 0x56, 0x26, 0x3e, 0xb8, 0x97, 0x19, 0xf9, 0xf2, - 0x5e, 0x66, 0x24, 0x77, 0x1d, 0x26, 0xb7, 0xb0, 0x29, 0x93, 0x03, 0x71, 0xd1, 0x35, 0x48, 0x60, - 0xff, 0x23, 0xa5, 0x64, 0x47, 0x0f, 0x4d, 0x2e, 0xa1, 0x68, 0xee, 0x77, 0x0a, 0xc4, 0x8b, 0x5b, - 0x55, 0x4c, 0x1d, 0x54, 0x82, 0xb9, 0xf0, 0xb4, 0x1d, 0x37, 0x4f, 0x85, 0x07, 0xd4, 0x4f, 0x54, - 0x15, 0x98, 0x0b, 0x89, 0xf7, 0x61, 0x44, 0xb1, 0x3c, 0xff, 0xf0, 0xfe, 0xe5, 0x17, 0x24, 0x4c, - 0x90, 0x1e, 0x7b, 0xf0, 0xee, 0xf6, 0x8c, 0x47, 0x7c, 0x7e, 0x03, 0xc6, 0x85, 0xa9, 0x2e, 0xfa, - 0x2e, 0x3c, 0xd7, 0xf2, 0x7e, 0x70, 0x57, 0x93, 0x57, 0x17, 0x87, 0x9e, 0x5a, 0x2e, 0x1f, 0x8d, - 0x71, 0xa1, 0x97, 0xfb, 0x69, 0x0c, 0xa0, 0xb8, 0xb5, 0xb5, 0xe1, 0xd0, 0x96, 0x49, 0xd8, 0xb3, - 0xf2, 0x7d, 0x33, 0x1a, 0x74, 0xae, 0xa3, 0x9f, 0xdc, 0xff, 0x30, 0xb2, 0x6a, 0x8e, 0x3e, 0x10, - 0xd6, 0x70, 0x59, 0x00, 0x3b, 0x7a, 0x72, 0xd8, 0xa2, 0xcb, 0xfa, 0x99, 0x7d, 0x13, 0x92, 0x21, - 0x19, 0x2e, 0x2a, 0xc3, 0x04, 0x93, 0xbf, 0x25, 0xc1, 0xb9, 0xe1, 0x04, 0xfb, 0x6a, 0x51, 0x92, - 0x03, 0xf5, 0xdc, 0x47, 0x1e, 0xcf, 0xe1, 0xc1, 0xff, 0x7a, 0xc6, 0x18, 0x2a, 0x43, 0x5c, 0x9e, - 0xd9, 0xd1, 0xa7, 0x2d, 0x2f, 0x12, 0x00, 0xbd, 0x04, 0xd3, 0xdd, 0x79, 0x87, 0x17, 0xcf, 0x09, - 0x75, 0xaa, 0x2b, 0x65, 0x44, 0xb8, 0xff, 0x59, 0x0c, 0x4e, 0x6d, 0xfa, 0x99, 0xeb, 0xeb, 0x4f, - 0xd5, 0x26, 0x8c, 0x13, 0x8b, 0x39, 0x94, 0x73, 0xe5, 0x85, 0xc6, 0x37, 0x87, 0x85, 0xc6, 0x00, - 0xa7, 0x4a, 0x16, 0x73, 0x3a, 0xd1, 0x40, 0xf1, 0xb1, 0x22, 0x7c, 0xfc, 0x7a, 0x14, 0x52, 0xc3, - 0x54, 0xd1, 0xcb, 0x30, 0xa3, 0x3b, 0x84, 0x0f, 0xf8, 0x05, 0x56, 0xe1, 0xc5, 0x62, 0xda, 0x1f, - 0x96, 0xf5, 0x55, 0x05, 0xef, 0x46, 0xea, 0xc5, 0xa0, 0x27, 0xfa, 0x74, 0x57, 0xd0, 0xe9, 0x10, - 0x81, 0x57, 0xd8, 0x0d, 0x98, 0xa1, 0x16, 0x65, 0x14, 0x9b, 0x5a, 0x1d, 0x9b, 0xd8, 0xd2, 0xfd, - 0xab, 0xfa, 0x89, 0xca, 0xe1, 0xb4, 0xc4, 0x28, 0x08, 0x08, 0x54, 0x82, 0x71, 0x1f, 0x6d, 0xec, - 0xe4, 0x68, 0xbe, 0x2e, 0x3a, 0x0f, 0x93, 0xd1, 0xa2, 0xc8, 0xaf, 0x5d, 0x63, 0x6a, 0x32, 0x52, - 0x13, 0x8f, 0xaa, 0xba, 0xf1, 0x43, 0xab, 0xae, 0xbc, 0xd9, 0x7e, 0x34, 0x0a, 0x73, 0x2a, 0x31, - 0xfe, 0xf7, 0xb7, 0xa5, 0x0a, 0x20, 0x4e, 0xb4, 0x97, 0x70, 0xe5, 0xce, 0x3c, 0x45, 0x5a, 0x48, - 0x08, 0x90, 0xa2, 0xcb, 0xfe, 0x5b, 0x3b, 0xf4, 0xb7, 0x18, 0x4c, 0x46, 0x77, 0xe8, 0xff, 0xb2, - 0xb6, 0xa1, 0x4a, 0x98, 0xa6, 0xc6, 0x78, 0x9a, 0x7a, 0x65, 0x58, 0x9a, 0xea, 0x8b, 0xe6, 0x23, - 0xf2, 0xd3, 0xe3, 0x38, 0xc4, 0xab, 0xd8, 0xc1, 0x4d, 0x17, 0xad, 0xf7, 0x5d, 0xe2, 0xc5, 0x23, - 0x7a, 0xbe, 0x2f, 0x98, 0x8b, 0xb2, 0x33, 0x23, 0x62, 0xf9, 0x57, 0xc3, 0xee, 0xf0, 0x2f, 0xc1, - 0x74, 0x13, 0xef, 0x69, 0x81, 0x43, 0x82, 0xdc, 0x29, 0xfe, 0xa6, 0x0f, 0xbc, 0x77, 0x51, 0x06, - 0x92, 0x9e, 0x58, 0x98, 0x87, 0x3d, 0x19, 0x68, 0xe2, 0xbd, 0x92, 0x18, 0x41, 0x97, 0x01, 0xed, - 0x04, 0xcd, 0x19, 0x2d, 0x24, 0xc2, 0x93, 0x9b, 0x0b, 0x67, 0x7c, 0xf1, 0x17, 0x00, 0xf8, 0x0d, - 0xd9, 0x20, 0x96, 0xdd, 0x94, 0x2f, 0xda, 0x84, 0x37, 0x52, 0xf4, 0x06, 0xd0, 0x4f, 0x14, 0xf1, - 0x16, 0xe8, 0x69, 0x19, 0xc8, 0xa7, 0xd8, 0xc6, 0x31, 0x0e, 0xc5, 0xbf, 0x1f, 0x65, 0xd2, 0x1d, - 0xdc, 0x34, 0x57, 0x72, 0x03, 0x70, 0x72, 0x83, 0xba, 0x18, 0xde, 0xa3, 0xa1, 0xbb, 0xe5, 0x80, - 0xf6, 0x95, 0xbe, 0x2b, 0xfd, 0x36, 0xd6, 0x99, 0xed, 0xf0, 0xa7, 0x5b, 0xa2, 0xb0, 0x75, 0x3c, - 0x43, 0x9e, 0x17, 0x86, 0x0c, 0x44, 0x1a, 0x68, 0x4a, 0xf7, 0x65, 0xff, 0x3a, 0x17, 0x44, 0xbf, - 0x50, 0x60, 0xbe, 0x61, 0xda, 0x75, 0x6c, 0x6a, 0xfe, 0xa5, 0x5f, 0xc4, 0x95, 0xa6, 0xe3, 0x16, - 0x7f, 0xf4, 0x25, 0x0a, 0x77, 0x8e, 0x67, 0x50, 0x56, 0x18, 0x34, 0x14, 0x6d, 0xa0, 0x51, 0x67, - 0x85, 0xf8, 0x2d, 0xf1, 0x3a, 0x10, 0xc2, 0x6b, 0xb8, 0x85, 0x7e, 0xa3, 0xc0, 0xf3, 0xa1, 0x6b, - 0x03, 0x4c, 0x4b, 0x70, 0xd3, 0xde, 0x39, 0x9e, 0x69, 0x17, 0x7a, 0xb9, 0x3a, 0xa6, 0x75, 0xf3, - 0x81, 0x46, 0xaf, 0x81, 0x2b, 0x2f, 0x7a, 0x49, 0x6a, 0xff, 0x8b, 0x4f, 0x2e, 0x2d, 0x44, 0x5e, - 0x3f, 0x7b, 0x41, 0x03, 0x56, 0x9c, 0x2c, 0xef, 0x59, 0x82, 0xc2, 0xda, 0xaf, 0x12, 0xb7, 0x65, - 0x5b, 0x2e, 0x7f, 0xe3, 0x46, 0xde, 0xa2, 0xca, 0xe1, 0x6f, 0xdc, 0x50, 0xbf, 0xeb, 0x8d, 0x1b, - 0xc9, 0x8c, 0xdf, 0x09, 0x4b, 0x6f, 0x4c, 0x1e, 0x5c, 0x89, 0x55, 0xc7, 0x2e, 0x89, 0x3c, 0x96, - 0x69, 0x17, 0x84, 0xaf, 0xc4, 0x13, 0xee, 0x48, 0xee, 0xcf, 0x0a, 0xcc, 0xf7, 0x25, 0x91, 0xc0, - 0x64, 0x1d, 0x90, 0x13, 0x99, 0xe4, 0x87, 0xb1, 0x23, 0x4d, 0x7f, 0xba, 0x9c, 0x34, 0xe7, 0xf4, - 0xd5, 0xdf, 0x67, 0x73, 0x87, 0x90, 0x05, 0xe4, 0x8f, 0x0a, 0x9c, 0x8e, 0x1a, 0x10, 0xb8, 0x52, - 0x83, 0xc9, 0xe8, 0xd2, 0xd2, 0x89, 0x17, 0x8f, 0xe3, 0x44, 0xd4, 0xfe, 0x2e, 0x10, 0xb4, 0x15, - 0x26, 0x6a, 0xd1, 0xf9, 0xbd, 0x72, 0x6c, 0x52, 0x7c, 0xc3, 0x06, 0x26, 0x6c, 0xb1, 0x37, 0xff, - 0x54, 0x60, 0xac, 0x6a, 0xdb, 0x26, 0x7a, 0x17, 0xe6, 0x2c, 0x9b, 0xf1, 0xb3, 0x4e, 0x0c, 0x4d, - 0xb6, 0xa6, 0x44, 0x11, 0x2c, 0x1d, 0xca, 0xd5, 0x3f, 0x1e, 0x65, 0xfa, 0x35, 0xbb, 0x09, 0x94, - 0x1d, 0x50, 0xcb, 0x66, 0x05, 0x2e, 0xb4, 0x21, 0xba, 0x57, 0xdb, 0x30, 0xd5, 0xbd, 0x9c, 0x28, - 0x94, 0xab, 0x47, 0x2d, 0x37, 0x75, 0xe4, 0x52, 0x93, 0xf5, 0xc8, 0x3a, 0x2b, 0x13, 0xde, 0xae, - 0xfd, 0xcb, 0xdb, 0xb9, 0xb7, 0x60, 0x36, 0xa8, 0x12, 0x9b, 0xbc, 0x7d, 0xea, 0x7a, 0xa1, 0x21, - 0x3a, 0xa9, 0xfe, 0x53, 0x2e, 0x1b, 0x6d, 0xcb, 0xe3, 0xba, 0x4e, 0xf3, 0x3d, 0x3a, 0x5d, 0x74, - 0x4a, 0xdd, 0xdc, 0xa7, 0x0a, 0x9c, 0xe2, 0xeb, 0xd1, 0xf7, 0x09, 0x6f, 0x46, 0xa8, 0x44, 0xb7, - 0x1d, 0x03, 0x4d, 0x43, 0x8c, 0x1a, 0x9c, 0xc8, 0x31, 0x35, 0x46, 0x0d, 0x94, 0x87, 0xe7, 0xec, - 0xf7, 0x2c, 0xe2, 0x48, 0x67, 0x87, 0x5f, 0x30, 0x84, 0x18, 0xaf, 0x78, 0xb6, 0xd1, 0x36, 0x89, - 0x86, 0x75, 0x71, 0xc9, 0x11, 0x5d, 0xd9, 0x29, 0x31, 0xba, 0x2a, 0x06, 0xd1, 0x35, 0x48, 0x04, - 0x29, 0x45, 0x86, 0xf8, 0x21, 0xed, 0x8d, 0x40, 0x54, 0x46, 0xf4, 0xdb, 0x90, 0xab, 0x12, 0x51, - 0x65, 0xa3, 0x2e, 0xac, 0xb6, 0xd9, 0x8e, 0xed, 0xd0, 0xf7, 0x79, 0x44, 0x3d, 0x75, 0x0b, 0xe5, - 0xd2, 0xef, 0x15, 0x80, 0xb0, 0x03, 0x8a, 0x5e, 0x85, 0x73, 0x85, 0xf5, 0x4a, 0x51, 0xab, 0x6d, - 0xac, 0x6e, 0x6c, 0xd6, 0xb4, 0xcd, 0x4a, 0xad, 0x5a, 0x5a, 0x2b, 0x5f, 0x2f, 0x97, 0x8a, 0xb3, - 0x23, 0xe9, 0x99, 0xfd, 0x83, 0x6c, 0x72, 0xd3, 0x72, 0x5b, 0x44, 0xa7, 0xdb, 0x94, 0x18, 0xe8, - 0x22, 0x9c, 0xee, 0x96, 0xf6, 0xbe, 0x4a, 0xc5, 0x59, 0x25, 0x3d, 0xb9, 0x7f, 0x90, 0x9d, 0x10, - 0x0f, 0x21, 0x62, 0xa0, 0x25, 0x38, 0xd3, 0x2f, 0x57, 0xae, 0xbc, 0x3e, 0x1b, 0x4b, 0x4f, 0xed, - 0x1f, 0x64, 0x13, 0xc1, 0x8b, 0x09, 0xe5, 0x00, 0x45, 0x25, 0x25, 0xde, 0x68, 0x1a, 0xf6, 0x0f, - 0xb2, 0x71, 0x11, 0xa0, 0xe9, 0xb1, 0x0f, 0x7e, 0xbb, 0x38, 0x72, 0xe9, 0x1d, 0x80, 0xb2, 0xb5, - 0xed, 0x60, 0x9d, 0x1f, 0xc4, 0x34, 0x9c, 0x2d, 0x57, 0xae, 0xab, 0xab, 0x6b, 0x1b, 0xe5, 0xf5, - 0x4a, 0xb7, 0xd9, 0x3d, 0x73, 0xc5, 0xf5, 0xcd, 0xc2, 0xad, 0x92, 0x56, 0x2b, 0xbf, 0x5e, 0x99, - 0x55, 0xd0, 0x39, 0x38, 0xd5, 0x35, 0xf7, 0x83, 0xca, 0x46, 0xf9, 0x76, 0x69, 0x36, 0x76, 0xe9, - 0xd3, 0x18, 0x9c, 0xeb, 0xe2, 0xfb, 0x96, 0xad, 0xef, 0x4a, 0x92, 0x0a, 0x70, 0x71, 0x63, 0xfd, - 0x66, 0xa9, 0x52, 0xbe, 0x53, 0xd2, 0x6a, 0x37, 0x56, 0xd5, 0x92, 0x76, 0x6b, 0x7d, 0xed, 0xe6, - 0x60, 0xce, 0xce, 0xee, 0x1f, 0x64, 0x51, 0x0f, 0x40, 0x85, 0x9a, 0xe8, 0x7b, 0x70, 0xfe, 0x10, - 0x0c, 0xef, 0x37, 0xe7, 0x71, 0x7e, 0xff, 0x20, 0x7b, 0xa6, 0x47, 0xdd, 0xfb, 0x45, 0x0c, 0x54, - 0x84, 0x0b, 0x87, 0x5a, 0x21, 0x31, 0x62, 0xe9, 0x85, 0xfd, 0x83, 0xec, 0xb9, 0x1e, 0x8c, 0x4d, - 0xcb, 0x14, 0x28, 0xb7, 0x61, 0xe9, 0x08, 0x3b, 0xb4, 0xd2, 0x9b, 0xd5, 0xb2, 0xea, 0xed, 0xd6, - 0x68, 0x3a, 0xb3, 0x7f, 0x90, 0x5d, 0x18, 0x60, 0x4e, 0x69, 0xaf, 0x45, 0xbd, 0xc8, 0x12, 0x7b, - 0x53, 0xb8, 0xfe, 0xd9, 0xe3, 0x45, 0xe5, 0xc1, 0xe3, 0x45, 0xe5, 0xef, 0x8f, 0x17, 0x95, 0x0f, - 0x9f, 0x2c, 0x8e, 0x3c, 0x78, 0xb2, 0x38, 0xf2, 0x97, 0x27, 0x8b, 0x23, 0x77, 0x5e, 0x3d, 0xb4, - 0x8f, 0x18, 0x56, 0x52, 0xde, 0x51, 0xac, 0xc7, 0xf9, 0x15, 0xf4, 0x5b, 0xff, 0x09, 0x00, 0x00, - 0xff, 0xff, 0x8f, 0xe1, 0xd9, 0xc1, 0xe9, 0x1c, 0x00, 0x00, + 0x30, 0x7a, 0xc8, 0xad, 0xb7, 0xb4, 0x40, 0x01, 0xc3, 0xa7, 0xa2, 0x40, 0xdd, 0xc2, 0x3e, 0x24, + 0x68, 0x2f, 0x45, 0xff, 0x82, 0x62, 0x67, 0x66, 0x3f, 0xf8, 0xa5, 0xaf, 0x04, 0x45, 0xd0, 0x5e, + 0x88, 0x9d, 0x99, 0xf7, 0x7e, 0xf3, 0xe6, 0x37, 0x6f, 0xde, 0x9b, 0x79, 0x84, 0x2b, 0xba, 0xed, + 0x36, 0x6d, 0x37, 0xef, 0x32, 0xbc, 0x43, 0xad, 0x46, 0xfe, 0xc1, 0xf5, 0x3a, 0x61, 0xf8, 0xba, + 0xdf, 0xce, 0xb5, 0x1c, 0x9b, 0xd9, 0xe8, 0x9c, 0x90, 0xca, 0xf9, 0xbd, 0x52, 0x2a, 0x3d, 0x87, + 0x9b, 0xd4, 0xb2, 0xf3, 0xfc, 0x57, 0x88, 0xa6, 0x17, 0x24, 0x60, 0x1d, 0xbb, 0x24, 0x40, 0xd3, + 0x6d, 0x6a, 0xc9, 0xf1, 0x79, 0x31, 0xae, 0xf1, 0x56, 0x5e, 0xe2, 0x8a, 0xa1, 0x33, 0x0d, 0xbb, + 0x61, 0x8b, 0x7e, 0xef, 0xcb, 0x57, 0x68, 0xd8, 0x76, 0xc3, 0x24, 0x79, 0xde, 0xaa, 0xb7, 0xb7, + 0xf2, 0xd8, 0xea, 0xf8, 0x73, 0xf5, 0x0e, 0x19, 0x6d, 0x07, 0x33, 0x6a, 0xfb, 0x73, 0x2d, 0xf6, + 0x8e, 0x33, 0xda, 0x24, 0x2e, 0xc3, 0xcd, 0x96, 0x14, 0xb8, 0xc0, 0x88, 0x65, 0x10, 0xa7, 0x49, + 0x2d, 0x96, 0xc7, 0x75, 0x9d, 0xe6, 0x59, 0xa7, 0x45, 0x7c, 0x73, 0x2e, 0x46, 0x06, 0x79, 0x7f, + 0x74, 0x34, 0xfb, 0x33, 0x05, 0xa6, 0x6f, 0x53, 0x97, 0xd9, 0x0e, 0xd5, 0xb1, 0x59, 0xb6, 0xb6, + 0x6c, 0xf4, 0x4d, 0x88, 0x6f, 0x13, 0x6c, 0x10, 0x27, 0xa5, 0x64, 0x94, 0xa5, 0xe4, 0x8d, 0x54, + 0x2e, 0x44, 0xc8, 0x09, 0xdd, 0xdb, 0x7c, 0xbc, 0x90, 0xf8, 0xf4, 0xe9, 0xe2, 0xc8, 0x47, 0x9f, + 0x7d, 0x7c, 0x55, 0x51, 0xa5, 0x0a, 0x2a, 0x42, 0xfc, 0x01, 0x36, 0x5d, 0xc2, 0x52, 0xb1, 0xcc, + 0xe8, 0x52, 0xf2, 0xc6, 0xa5, 0xdc, 0x60, 0xce, 0x73, 0x9b, 0xd8, 0xa4, 0x06, 0x66, 0x76, 0x37, + 0x8a, 0xd0, 0xcd, 0xfe, 0x22, 0x06, 0x33, 0xab, 0x76, 0xb3, 0x49, 0x5d, 0x97, 0xda, 0x96, 0x8a, + 0x19, 0x71, 0xd1, 0xeb, 0x30, 0xe6, 0x60, 0x46, 0xb8, 0x51, 0x89, 0xc2, 0x4d, 0x4f, 0xe9, 0x2f, + 0x4f, 0x17, 0x2f, 0x08, 0x78, 0xd7, 0xd8, 0xc9, 0x51, 0x3b, 0xdf, 0xc4, 0x6c, 0x3b, 0x77, 0x97, + 0x34, 0xb0, 0xde, 0x29, 0x12, 0xfd, 0xc9, 0xa3, 0x6b, 0x20, 0x67, 0x2f, 0x12, 0x5d, 0xcc, 0xc0, + 0x31, 0xd0, 0xf7, 0x60, 0xa2, 0x89, 0x77, 0x35, 0x8e, 0x17, 0xfb, 0x42, 0x78, 0xe3, 0x4d, 0xbc, + 0xeb, 0xd9, 0x87, 0x7e, 0x08, 0x33, 0x1e, 0xa4, 0xbe, 0x8d, 0xad, 0x06, 0x11, 0xc8, 0xa3, 0x5f, + 0x08, 0x79, 0xaa, 0x89, 0x77, 0x57, 0x39, 0x9a, 0x87, 0xbf, 0x3c, 0xf6, 0xf9, 0xc3, 0x45, 0x25, + 0xfb, 0x7b, 0x05, 0x20, 0x24, 0x06, 0x61, 0x98, 0xd5, 0x83, 0x16, 0x9f, 0xd4, 0x95, 0x9b, 0xf6, + 0xf2, 0x30, 0xde, 0x7b, 0x68, 0x2d, 0x4c, 0x79, 0xe6, 0x3d, 0x7e, 0xba, 0xa8, 0x88, 0x59, 0x67, + 0xf4, 0x3e, 0xda, 0x93, 0xed, 0x96, 0x81, 0x19, 0xd1, 0x3c, 0xaf, 0xe3, 0x6c, 0x25, 0x6f, 0xa4, + 0x73, 0xc2, 0x25, 0x73, 0xbe, 0x4b, 0xe6, 0xd6, 0x7d, 0x97, 0x14, 0x80, 0x1f, 0xfc, 0xcd, 0x07, + 0x04, 0xa1, 0xed, 0x8d, 0xcb, 0x35, 0x7c, 0xa4, 0x40, 0xb2, 0x48, 0x5c, 0xdd, 0xa1, 0x2d, 0xcf, + 0xc9, 0x51, 0x0a, 0xc6, 0x9b, 0xb6, 0x45, 0x77, 0xa4, 0xc3, 0x25, 0x54, 0xbf, 0x89, 0xd2, 0x30, + 0x41, 0x0d, 0x62, 0x31, 0xca, 0x3a, 0x62, 0x9b, 0xd4, 0xa0, 0xed, 0x69, 0xbd, 0x4b, 0xea, 0x2e, + 0xf5, 0x79, 0x56, 0xfd, 0x26, 0x7a, 0x05, 0x66, 0x5d, 0xa2, 0xb7, 0x1d, 0xca, 0x3a, 0x9a, 0x6e, + 0x5b, 0x0c, 0xeb, 0x2c, 0x35, 0xc6, 0x45, 0x66, 0xfc, 0xfe, 0x55, 0xd1, 0xed, 0x81, 0x18, 0x84, + 0x61, 0x6a, 0xba, 0xa9, 0x53, 0x02, 0x44, 0x36, 0xa5, 0xa9, 0x7f, 0x98, 0x80, 0x44, 0xe0, 0xa8, + 0x68, 0x15, 0x66, 0xed, 0x16, 0x71, 0xbc, 0x6f, 0x0d, 0x1b, 0x86, 0x43, 0x5c, 0x57, 0x7a, 0x63, + 0xea, 0xc9, 0xa3, 0x6b, 0x67, 0x24, 0xe1, 0x2b, 0x62, 0xa4, 0xc6, 0x1c, 0x6a, 0x35, 0xd4, 0x19, + 0x5f, 0x43, 0x76, 0xa3, 0x37, 0xbd, 0x2d, 0xb3, 0x5c, 0x62, 0xb9, 0x6d, 0x57, 0x6b, 0xb5, 0xeb, + 0x3b, 0xa4, 0x23, 0x49, 0x3d, 0xd3, 0x47, 0xea, 0x8a, 0xd5, 0x29, 0xa4, 0xfe, 0x18, 0x42, 0xeb, + 0x4e, 0xa7, 0xc5, 0xec, 0x5c, 0xb5, 0x5d, 0xbf, 0x43, 0x3a, 0xde, 0x56, 0x49, 0x9c, 0x2a, 0x87, + 0x41, 0xe7, 0x20, 0xfe, 0x23, 0x4c, 0x4d, 0x62, 0x70, 0x46, 0x26, 0x54, 0xd9, 0x42, 0xcb, 0x10, + 0x77, 0x19, 0x66, 0x6d, 0x97, 0xd3, 0x30, 0x7d, 0x23, 0x3b, 0xcc, 0x37, 0x0a, 0xb6, 0x65, 0xd4, + 0xb8, 0xa4, 0x2a, 0x35, 0xd0, 0x2a, 0xc4, 0x99, 0xbd, 0x43, 0x2c, 0x49, 0x50, 0xe1, 0x6b, 0xd2, + 0x9b, 0xcf, 0xf6, 0x7b, 0x73, 0xd9, 0x62, 0x11, 0x3f, 0x2e, 0x5b, 0x4c, 0x95, 0xaa, 0xe8, 0x2d, + 0x98, 0x35, 0x88, 0x49, 0x1a, 0x9c, 0x39, 0x77, 0x1b, 0x3b, 0xc4, 0x4d, 0xc5, 0x39, 0xdc, 0xf5, + 0x63, 0x1f, 0x0e, 0x75, 0x26, 0x80, 0xaa, 0x71, 0x24, 0x54, 0x85, 0xa4, 0x11, 0xba, 0x53, 0x6a, + 0x9c, 0x93, 0x79, 0x79, 0xd8, 0x1a, 0x23, 0x9e, 0x17, 0x8d, 0x3c, 0x51, 0x08, 0xcf, 0x83, 0xda, + 0x56, 0xdd, 0xb6, 0x0c, 0x6a, 0x35, 0xb4, 0x6d, 0x42, 0x1b, 0xdb, 0x2c, 0x35, 0x91, 0x51, 0x96, + 0x46, 0xd5, 0x99, 0xa0, 0xff, 0x36, 0xef, 0x46, 0x55, 0x98, 0x0e, 0x45, 0xf9, 0x09, 0x49, 0x1c, + 0xf7, 0x84, 0x4c, 0x05, 0x00, 0x9e, 0x08, 0xba, 0x07, 0x10, 0x9e, 0xc1, 0x14, 0x70, 0xb4, 0xec, + 0xe1, 0xa7, 0x39, 0xba, 0x98, 0x08, 0x00, 0xfa, 0x01, 0x9c, 0x6e, 0x52, 0x4b, 0x73, 0x89, 0xb9, + 0xa5, 0x49, 0xe6, 0x3c, 0xdc, 0xe4, 0xf1, 0x77, 0x73, 0xae, 0x49, 0xad, 0x1a, 0x31, 0xb7, 0x8a, + 0x01, 0x0a, 0xfa, 0x16, 0x5c, 0x08, 0x57, 0x6f, 0x5b, 0xda, 0xb6, 0x6d, 0x1a, 0x9a, 0x43, 0xb6, + 0x34, 0xdd, 0x6e, 0x5b, 0x2c, 0x35, 0xc9, 0x39, 0x3b, 0x1f, 0x88, 0xac, 0x59, 0xb7, 0x6d, 0xd3, + 0x50, 0xc9, 0xd6, 0xaa, 0x37, 0x8c, 0x2e, 0x43, 0xb8, 0x74, 0x8d, 0x1a, 0x6e, 0x6a, 0x2a, 0x33, + 0xba, 0x34, 0xa6, 0x4e, 0x06, 0x9d, 0x65, 0xc3, 0x45, 0x04, 0xce, 0x3e, 0xf0, 0x4f, 0xa0, 0xe6, + 0xf5, 0xfb, 0x0e, 0x34, 0x7d, 0x52, 0x07, 0x3a, 0x1d, 0xe0, 0x71, 0x7f, 0x17, 0x4e, 0xb4, 0x09, + 0x53, 0x26, 0x7d, 0xa7, 0x4d, 0x03, 0xf8, 0x99, 0x93, 0xc2, 0x4f, 0x0a, 0x1c, 0x81, 0xbb, 0x3c, + 0xf1, 0xfe, 0xc3, 0xc5, 0x91, 0xcf, 0x1f, 0x2e, 0x8e, 0x64, 0x6f, 0xc1, 0xe4, 0x26, 0x36, 0x65, + 0x18, 0x20, 0x2e, 0xba, 0x09, 0x09, 0xec, 0x37, 0x52, 0x4a, 0x66, 0xf4, 0xc0, 0x30, 0x12, 0x8a, + 0x66, 0x7f, 0xab, 0x40, 0xbc, 0xb8, 0x59, 0xc5, 0xd4, 0x41, 0x25, 0x98, 0x0b, 0xcf, 0xd5, 0x51, + 0x23, 0x52, 0x78, 0x14, 0xfd, 0x90, 0x54, 0x81, 0xb9, 0x90, 0x62, 0x1f, 0x46, 0xa4, 0xc5, 0x4b, + 0x4f, 0x1e, 0x5d, 0x7b, 0x41, 0xc2, 0x04, 0x81, 0xb0, 0x07, 0xef, 0x41, 0x4f, 0x7f, 0x64, 0xcd, + 0xaf, 0xc3, 0xb8, 0x30, 0xd5, 0x45, 0xdf, 0x81, 0x53, 0x2d, 0xef, 0x83, 0x2f, 0x35, 0x79, 0x63, + 0x61, 0xe8, 0xf9, 0xe4, 0xf2, 0x51, 0x6f, 0x16, 0x7a, 0xd9, 0x9f, 0xc4, 0x00, 0x8a, 0x9b, 0x9b, + 0xeb, 0x0e, 0x6d, 0x99, 0x84, 0x7d, 0x59, 0x6b, 0xdf, 0x88, 0xba, 0x97, 0xeb, 0xe8, 0xc7, 0x5f, + 0x7f, 0xe8, 0x4e, 0x35, 0x47, 0x1f, 0x08, 0x6b, 0xb8, 0x2c, 0x80, 0x1d, 0x3d, 0x3e, 0x6c, 0xd1, + 0x65, 0xfd, 0xcc, 0xbe, 0x01, 0xc9, 0x90, 0x0c, 0x17, 0x95, 0x61, 0x82, 0xc9, 0x6f, 0x49, 0x70, + 0x76, 0x38, 0xc1, 0xbe, 0x5a, 0x94, 0xe4, 0x40, 0x3d, 0xfb, 0xa1, 0xc7, 0x73, 0x78, 0xc4, 0xbf, + 0x9a, 0x3e, 0x86, 0xca, 0x10, 0x97, 0x07, 0x75, 0xf4, 0xa4, 0x07, 0x55, 0x02, 0xa0, 0x17, 0x61, + 0xba, 0x3b, 0xc2, 0xf0, 0x34, 0x39, 0xa1, 0x4e, 0x75, 0xc5, 0x89, 0x08, 0xf7, 0x3f, 0x8d, 0xc1, + 0xe9, 0x0d, 0x3f, 0x46, 0x7d, 0xf5, 0xa9, 0xda, 0x80, 0x71, 0x62, 0x31, 0x87, 0x72, 0xae, 0x3c, + 0xd7, 0xf8, 0xfa, 0x30, 0xd7, 0x18, 0xb0, 0xa8, 0x92, 0xc5, 0x9c, 0x4e, 0xd4, 0x51, 0x7c, 0xac, + 0x08, 0x1f, 0xbf, 0x1a, 0x85, 0xd4, 0x30, 0x55, 0xf4, 0x32, 0xcc, 0xe8, 0x0e, 0xe1, 0x1d, 0x7e, + 0x2a, 0x55, 0x78, 0x5a, 0x98, 0xf6, 0xbb, 0x65, 0x26, 0x55, 0xc1, 0xbb, 0x7b, 0x7a, 0x3e, 0xe8, + 0x89, 0x9e, 0xec, 0xb2, 0x39, 0x1d, 0x22, 0xf0, 0x5c, 0xba, 0x0e, 0x33, 0xd4, 0xa2, 0x8c, 0x62, + 0x53, 0xab, 0x63, 0x13, 0x5b, 0xba, 0x7f, 0x29, 0x3f, 0x56, 0xe2, 0x9b, 0x96, 0x18, 0x05, 0x01, + 0x81, 0x4a, 0x30, 0xee, 0xa3, 0x8d, 0x1d, 0x1f, 0xcd, 0xd7, 0x45, 0x97, 0x60, 0x32, 0x9a, 0xfe, + 0xf8, 0x05, 0x6b, 0x4c, 0x4d, 0x46, 0xb2, 0xdf, 0x61, 0xf9, 0x35, 0x7e, 0x60, 0x7e, 0x95, 0x77, + 0xd8, 0x0f, 0x47, 0x61, 0x4e, 0x25, 0xc6, 0xff, 0xfe, 0xb6, 0x54, 0x01, 0xc4, 0x89, 0xf6, 0x02, + 0xae, 0xdc, 0x99, 0x13, 0x84, 0x85, 0x84, 0x00, 0x29, 0xba, 0xec, 0xbf, 0xb5, 0x43, 0x7f, 0x8d, + 0xc1, 0x64, 0x74, 0x87, 0xfe, 0x2f, 0x73, 0x1b, 0xaa, 0x84, 0x61, 0x6a, 0x8c, 0x87, 0xa9, 0x57, + 0x86, 0x85, 0xa9, 0x3e, 0x6f, 0x3e, 0x24, 0x3e, 0x3d, 0x8b, 0x43, 0xbc, 0x8a, 0x1d, 0xdc, 0x74, + 0xd1, 0x5a, 0xdf, 0x75, 0x5d, 0x3c, 0x97, 0xe7, 0xfb, 0x9c, 0xb9, 0x28, 0x6b, 0x30, 0xc2, 0x97, + 0x7f, 0x39, 0xec, 0xb6, 0xfe, 0x22, 0x4c, 0x7b, 0xcf, 0xfe, 0x60, 0x41, 0x82, 0xdc, 0x29, 0xfe, + 0x7a, 0x0f, 0x56, 0xef, 0xa2, 0x45, 0x48, 0x7a, 0x62, 0x61, 0x1c, 0xf6, 0x64, 0xa0, 0x89, 0x77, + 0x4b, 0xa2, 0x07, 0x5d, 0x03, 0xb4, 0x1d, 0x94, 0x61, 0xb4, 0x90, 0x08, 0x4f, 0x6e, 0x2e, 0x1c, + 0xf1, 0xc5, 0x5f, 0x00, 0xe0, 0x77, 0x61, 0x83, 0x58, 0x76, 0x53, 0xbe, 0x5d, 0x13, 0x5e, 0x4f, + 0xd1, 0xeb, 0x40, 0x3f, 0x56, 0xc4, 0xad, 0xbf, 0xa7, 0x38, 0x20, 0x1f, 0x5d, 0xeb, 0x47, 0x38, + 0x14, 0xff, 0x7e, 0xba, 0x98, 0xee, 0xe0, 0xa6, 0xb9, 0x9c, 0x1d, 0x80, 0x93, 0x1d, 0x54, 0xaf, + 0xf0, 0x9e, 0x07, 0xdd, 0xc5, 0x05, 0xb4, 0xa7, 0xf4, 0x5d, 0xde, 0xb7, 0xb0, 0xce, 0x6c, 0x87, + 0x3f, 0xd2, 0x12, 0x85, 0xcd, 0xa3, 0x19, 0x72, 0x51, 0x18, 0x32, 0x10, 0x69, 0xa0, 0x29, 0xdd, + 0x37, 0xfc, 0x5b, 0x5c, 0x10, 0xfd, 0x5c, 0x81, 0xf9, 0x86, 0x69, 0xd7, 0xb1, 0xa9, 0xf9, 0x37, + 0x7d, 0xe1, 0x57, 0x9a, 0x8e, 0x5b, 0xfc, 0x79, 0x97, 0x28, 0xdc, 0x3f, 0x9a, 0x41, 0x19, 0x61, + 0xd0, 0x50, 0xb4, 0x81, 0x46, 0x9d, 0x13, 0xe2, 0x77, 0xc5, 0xeb, 0x40, 0x08, 0xaf, 0xe2, 0x16, + 0xfa, 0xb5, 0x02, 0x17, 0xc3, 0xa5, 0x0d, 0x30, 0x2d, 0xc1, 0x4d, 0x7b, 0xfb, 0x68, 0xa6, 0x5d, + 0xee, 0xe5, 0xea, 0x88, 0xd6, 0xcd, 0x07, 0x1a, 0xbd, 0x06, 0x2e, 0x5f, 0xf1, 0x82, 0xd4, 0xde, + 0x67, 0x1f, 0x5f, 0x95, 0x53, 0x5f, 0x73, 0x8d, 0x9d, 0xfc, 0x6e, 0x50, 0x6a, 0x15, 0x27, 0xcb, + 0x7b, 0x96, 0xa0, 0x30, 0xf7, 0xab, 0xc4, 0x6d, 0xd9, 0x96, 0xcb, 0x5f, 0xb3, 0x91, 0x57, 0xa7, + 0x72, 0xf0, 0x6b, 0x36, 0xd4, 0xef, 0x7a, 0xcd, 0x46, 0x22, 0xe3, 0xb7, 0xc3, 0xd4, 0x1b, 0x93, + 0x07, 0x57, 0x62, 0xd5, 0xb1, 0x4b, 0x22, 0xcf, 0x62, 0xda, 0x05, 0xe1, 0x2b, 0xf1, 0x80, 0x3b, + 0x92, 0xfd, 0x93, 0x02, 0xf3, 0x7d, 0x41, 0x24, 0x30, 0x59, 0x07, 0xe4, 0x44, 0x06, 0xf9, 0x61, + 0xec, 0x48, 0xd3, 0x4f, 0x16, 0x93, 0xe6, 0x9c, 0xbe, 0xfc, 0xfb, 0xe5, 0xdc, 0x21, 0xfc, 0x32, + 0x95, 0x02, 0x67, 0xa2, 0x06, 0x04, 0x4b, 0xa9, 0xc1, 0x64, 0x74, 0x6a, 0xb9, 0x88, 0x2b, 0x47, + 0x59, 0x44, 0xd4, 0xfe, 0x2e, 0x10, 0xb4, 0x19, 0x06, 0x6a, 0x51, 0xe3, 0xbd, 0x7e, 0x64, 0x52, + 0x7c, 0xc3, 0x06, 0x06, 0x6c, 0xb1, 0x37, 0xff, 0x54, 0x60, 0xac, 0x6a, 0xdb, 0x26, 0x7a, 0x07, + 0xe6, 0x2c, 0x9b, 0xf1, 0xb3, 0x4e, 0x0c, 0x4d, 0x16, 0xa1, 0x44, 0x12, 0x2c, 0x1d, 0xc8, 0xd5, + 0x3f, 0x9e, 0x2e, 0xf6, 0x6b, 0x76, 0x13, 0x28, 0x6b, 0x9d, 0x96, 0xcd, 0x0a, 0x5c, 0x68, 0x5d, + 0xd4, 0xa9, 0xb6, 0x60, 0xaa, 0x7b, 0x3a, 0x91, 0x28, 0x57, 0x0e, 0x9b, 0x6e, 0xea, 0xd0, 0xa9, + 0x26, 0xeb, 0x91, 0x79, 0x96, 0x27, 0xbc, 0x5d, 0xfb, 0x97, 0xb7, 0x73, 0x6f, 0xc2, 0x6c, 0x90, + 0x25, 0x36, 0x78, 0xa1, 0xd4, 0xf5, 0x5c, 0x43, 0xd4, 0x4c, 0xfd, 0xa7, 0x5c, 0x26, 0x5a, 0x80, + 0xc7, 0x75, 0x9d, 0xe6, 0x7a, 0x74, 0xba, 0xe8, 0x94, 0xba, 0xd9, 0x4f, 0x14, 0x38, 0xcd, 0xe7, + 0xa3, 0xef, 0x11, 0x5e, 0x8c, 0x50, 0x89, 0x6e, 0x3b, 0x06, 0x9a, 0x86, 0x18, 0x35, 0x38, 0x91, + 0x63, 0x6a, 0x8c, 0x1a, 0x28, 0x07, 0xa7, 0xec, 0x77, 0x2d, 0xe2, 0xc8, 0xc5, 0x0e, 0xbf, 0x60, + 0x08, 0x31, 0x9e, 0xf1, 0x6c, 0xa3, 0x6d, 0x12, 0x0d, 0xeb, 0xe2, 0x92, 0x23, 0xea, 0xaf, 0x53, + 0xa2, 0x77, 0x45, 0x74, 0xa2, 0x9b, 0x90, 0x08, 0x42, 0x8a, 0x74, 0xf1, 0x03, 0xca, 0x1b, 0x81, + 0xa8, 0xf4, 0xe8, 0xb7, 0x20, 0x5b, 0x25, 0x22, 0xcb, 0x46, 0x97, 0xb0, 0xd2, 0x66, 0xdb, 0xb6, + 0x43, 0xdf, 0xe3, 0x1e, 0x75, 0xe2, 0x12, 0xca, 0xd5, 0xdf, 0x29, 0x00, 0x61, 0xad, 0x13, 0xbd, + 0x0a, 0xe7, 0x0b, 0x6b, 0x95, 0xa2, 0x56, 0x5b, 0x5f, 0x59, 0xdf, 0xa8, 0x69, 0x1b, 0x95, 0x5a, + 0xb5, 0xb4, 0x5a, 0xbe, 0x55, 0x2e, 0x15, 0x67, 0x47, 0xd2, 0x33, 0x7b, 0xfb, 0x99, 0xe4, 0x86, + 0xe5, 0xb6, 0x88, 0x4e, 0xb7, 0x28, 0x31, 0xd0, 0x4b, 0x70, 0xa6, 0x5b, 0xda, 0x6b, 0x95, 0x8a, + 0xb3, 0x4a, 0x7a, 0x72, 0x6f, 0x3f, 0x33, 0x21, 0x1e, 0x42, 0xc4, 0x40, 0x4b, 0x70, 0xb6, 0x5f, + 0xae, 0x5c, 0x79, 0x6d, 0x36, 0x96, 0x9e, 0xda, 0xdb, 0xcf, 0x24, 0x82, 0x17, 0x13, 0xca, 0x02, + 0x8a, 0x4a, 0x4a, 0xbc, 0xd1, 0x34, 0xec, 0xed, 0x67, 0xe2, 0xc2, 0x41, 0xd3, 0x63, 0xef, 0xff, + 0x66, 0x61, 0xe4, 0xea, 0xdb, 0x00, 0x65, 0x6b, 0xcb, 0xc1, 0x3a, 0x3f, 0x88, 0x69, 0x38, 0x57, + 0xae, 0xdc, 0x52, 0x57, 0x56, 0xd7, 0xcb, 0x6b, 0x95, 0x6e, 0xb3, 0x7b, 0xc6, 0x8a, 0x6b, 0x1b, + 0x85, 0xbb, 0x25, 0xad, 0x56, 0x7e, 0xad, 0x32, 0xab, 0xa0, 0xf3, 0x70, 0xba, 0x6b, 0xec, 0xfb, + 0x95, 0xf5, 0xf2, 0xbd, 0xd2, 0x6c, 0xec, 0xea, 0x27, 0x31, 0x38, 0xdf, 0xc5, 0xf7, 0x5d, 0x5b, + 0xdf, 0x91, 0x24, 0x15, 0xe0, 0xa5, 0xf5, 0xb5, 0x3b, 0xa5, 0x4a, 0xf9, 0x7e, 0x49, 0xab, 0xdd, + 0x5e, 0x51, 0x4b, 0xda, 0xdd, 0xb5, 0xd5, 0x3b, 0x83, 0x39, 0x3b, 0xb7, 0xb7, 0x9f, 0x41, 0x3d, + 0x00, 0x15, 0x6a, 0xa2, 0xef, 0xc2, 0xa5, 0x03, 0x30, 0xbc, 0x6f, 0xce, 0xe3, 0xfc, 0xde, 0x7e, + 0xe6, 0x6c, 0x8f, 0xba, 0xf7, 0x45, 0x0c, 0x54, 0x84, 0xcb, 0x07, 0x5a, 0x21, 0x31, 0x62, 0xe9, + 0x0b, 0x7b, 0xfb, 0x99, 0xf3, 0x3d, 0x18, 0x1b, 0x96, 0x29, 0x50, 0xee, 0xc1, 0xd2, 0x21, 0x76, + 0x68, 0xa5, 0x37, 0xaa, 0x65, 0xd5, 0xdb, 0xad, 0xd1, 0xf4, 0xe2, 0xde, 0x7e, 0xe6, 0xc2, 0x00, + 0x73, 0x4a, 0xbb, 0x2d, 0xea, 0x79, 0x96, 0xd8, 0x9b, 0xc2, 0xad, 0x4f, 0x9f, 0x2d, 0x28, 0x8f, + 0x9f, 0x2d, 0x28, 0x7f, 0x7f, 0xb6, 0xa0, 0x7c, 0xf0, 0x7c, 0x61, 0xe4, 0xf1, 0xf3, 0x85, 0x91, + 0x3f, 0x3f, 0x5f, 0x18, 0xb9, 0xff, 0x6a, 0x83, 0xb2, 0xed, 0x76, 0x3d, 0xa7, 0xdb, 0x4d, 0xf9, + 0x4f, 0x61, 0x7e, 0x60, 0x26, 0xe5, 0xff, 0xad, 0xd5, 0xe3, 0xfc, 0x0a, 0xfa, 0x8d, 0xff, 0x04, + 0x00, 0x00, 0xff, 0xff, 0x92, 0x4a, 0xd4, 0xe8, 0xd3, 0x1c, 0x00, 0x00, } func (this *Pool) Description() (desc *github_com_cosmos_gogoproto_protoc_gen_gogo_descriptor.FileDescriptorSet) { @@ -1610,732 +1608,732 @@ func (this *Pool) Description() (desc *github_com_cosmos_gogoproto_protoc_gen_go func StakingDescription() (desc *github_com_cosmos_gogoproto_protoc_gen_gogo_descriptor.FileDescriptorSet) { d := &github_com_cosmos_gogoproto_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 11596 bytes of a gzipped FileDescriptorSet - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x7d, 0x6b, 0x90, 0x1c, 0xc7, - 0x79, 0xd8, 0xed, 0xf3, 0x76, 0xbf, 0x7d, 0xcd, 0xf5, 0x1d, 0x80, 0xc3, 0x82, 0xbc, 0x3b, 0x0c, - 0x45, 0x12, 0x04, 0xc9, 0x03, 0x09, 0x12, 0x20, 0x71, 0x10, 0x45, 0xef, 0xee, 0x2d, 0x80, 0x05, - 0xee, 0x6e, 0x8f, 0xb3, 0x7b, 0x10, 0x49, 0x5b, 0x1a, 0xcf, 0xcd, 0xf6, 0xdd, 0x0d, 0xb1, 0x3b, - 0xb3, 0x9a, 0x99, 0x05, 0xee, 0x58, 0xa9, 0x14, 0x1d, 0xd9, 0x89, 0x0c, 0x3f, 0x22, 0x47, 0x8e, - 0x2d, 0x5b, 0x82, 0x2c, 0xd9, 0xb1, 0x2d, 0x3b, 0x2f, 0x3f, 0x14, 0x3f, 0x2b, 0x8e, 0x9d, 0xa7, - 0xed, 0x4a, 0x52, 0x8a, 0x7f, 0xc4, 0x4e, 0xaa, 0x4c, 0xdb, 0x94, 0x2b, 0x96, 0x65, 0x39, 0xf1, - 0x43, 0x79, 0xb8, 0x54, 0x49, 0xa5, 0xfa, 0x35, 0x8f, 0x7d, 0xdc, 0xee, 0x41, 0xa4, 0xec, 0xd8, - 0xf9, 0x03, 0xec, 0x74, 0x7f, 0xdf, 0xd7, 0xdd, 0x5f, 0x7f, 0xfd, 0xf5, 0xf7, 0x7d, 0xfd, 0x75, - 0x1f, 0xfc, 0x4e, 0x19, 0x96, 0x76, 0x2d, 0x6b, 0xb7, 0x8d, 0xcf, 0x75, 0x6d, 0xcb, 0xb5, 0xb6, - 0x7b, 0x3b, 0xe7, 0x5a, 0xd8, 0xd1, 0x6d, 0xa3, 0xeb, 0x5a, 0xf6, 0x32, 0x2d, 0x43, 0x05, 0x06, - 0xb1, 0x2c, 0x20, 0xe4, 0x75, 0x98, 0xb9, 0x62, 0xb4, 0xf1, 0xaa, 0x07, 0xd8, 0xc0, 0x2e, 0x7a, - 0x1e, 0xe2, 0x3b, 0x46, 0x1b, 0xcf, 0x47, 0x96, 0x62, 0x67, 0x32, 0xe7, 0xdf, 0xb5, 0xdc, 0x87, - 0xb4, 0x1c, 0xc6, 0xd8, 0x24, 0xc5, 0x0a, 0xc5, 0x90, 0xff, 0x4f, 0x1c, 0x66, 0x87, 0xd4, 0x22, - 0x04, 0x71, 0x53, 0xeb, 0x10, 0x8a, 0x91, 0x33, 0x69, 0x85, 0xfe, 0x46, 0xf3, 0x30, 0xdd, 0xd5, - 0xf4, 0x5b, 0xda, 0x2e, 0x9e, 0x8f, 0xd2, 0x62, 0xf1, 0x89, 0x16, 0x00, 0x5a, 0xb8, 0x8b, 0xcd, - 0x16, 0x36, 0xf5, 0x83, 0xf9, 0xd8, 0x52, 0xec, 0x4c, 0x5a, 0x09, 0x94, 0xa0, 0xc7, 0x61, 0xa6, - 0xdb, 0xdb, 0x6e, 0x1b, 0xba, 0x1a, 0x00, 0x83, 0xa5, 0xd8, 0x99, 0x84, 0x22, 0xb1, 0x8a, 0x55, - 0x1f, 0xf8, 0x51, 0x28, 0xdc, 0xc1, 0xda, 0xad, 0x20, 0x68, 0x86, 0x82, 0xe6, 0x49, 0x71, 0x00, - 0xb0, 0x02, 0xd9, 0x0e, 0x76, 0x1c, 0x6d, 0x17, 0xab, 0xee, 0x41, 0x17, 0xcf, 0xc7, 0xe9, 0xe8, - 0x97, 0x06, 0x46, 0xdf, 0x3f, 0xf2, 0x0c, 0xc7, 0x6a, 0x1e, 0x74, 0x31, 0x2a, 0x41, 0x1a, 0x9b, - 0xbd, 0x0e, 0xa3, 0x90, 0x18, 0xc1, 0xbf, 0xaa, 0xd9, 0xeb, 0xf4, 0x53, 0x49, 0x11, 0x34, 0x4e, - 0x62, 0xda, 0xc1, 0xf6, 0x6d, 0x43, 0xc7, 0xf3, 0x49, 0x4a, 0xe0, 0xd1, 0x01, 0x02, 0x0d, 0x56, - 0xdf, 0x4f, 0x43, 0xe0, 0xa1, 0x0a, 0xa4, 0xf1, 0xbe, 0x8b, 0x4d, 0xc7, 0xb0, 0xcc, 0xf9, 0x69, - 0x4a, 0xe4, 0xe1, 0x21, 0xb3, 0x88, 0xdb, 0xad, 0x7e, 0x12, 0x3e, 0x1e, 0xba, 0x08, 0xd3, 0x56, - 0xd7, 0x35, 0x2c, 0xd3, 0x99, 0x4f, 0x2d, 0x45, 0xce, 0x64, 0xce, 0x3f, 0x30, 0x54, 0x10, 0xea, - 0x0c, 0x46, 0x11, 0xc0, 0xa8, 0x06, 0x92, 0x63, 0xf5, 0x6c, 0x1d, 0xab, 0xba, 0xd5, 0xc2, 0xaa, - 0x61, 0xee, 0x58, 0xf3, 0x69, 0x4a, 0x60, 0x71, 0x70, 0x20, 0x14, 0xb0, 0x62, 0xb5, 0x70, 0xcd, - 0xdc, 0xb1, 0x94, 0xbc, 0x13, 0xfa, 0x46, 0xc7, 0x21, 0xe9, 0x1c, 0x98, 0xae, 0xb6, 0x3f, 0x9f, - 0xa5, 0x12, 0xc2, 0xbf, 0x88, 0xe8, 0xe0, 0x96, 0x41, 0x9a, 0x9b, 0xcf, 0x31, 0xd1, 0xe1, 0x9f, - 0xf2, 0xcf, 0x26, 0xa1, 0x30, 0x89, 0xf0, 0x5d, 0x86, 0xc4, 0x0e, 0x19, 0xff, 0x7c, 0xf4, 0x28, - 0xdc, 0x61, 0x38, 0x61, 0xf6, 0x26, 0xef, 0x93, 0xbd, 0x25, 0xc8, 0x98, 0xd8, 0x71, 0x71, 0x8b, - 0xc9, 0x4a, 0x6c, 0x42, 0x69, 0x03, 0x86, 0x34, 0x28, 0x6c, 0xf1, 0xfb, 0x12, 0xb6, 0x97, 0xa1, - 0xe0, 0x75, 0x49, 0xb5, 0x35, 0x73, 0x57, 0x48, 0xed, 0xb9, 0x71, 0x3d, 0x59, 0xae, 0x0a, 0x3c, - 0x85, 0xa0, 0x29, 0x79, 0x1c, 0xfa, 0x46, 0xab, 0x00, 0x96, 0x89, 0xad, 0x1d, 0xb5, 0x85, 0xf5, - 0xf6, 0x7c, 0x6a, 0x04, 0x97, 0xea, 0x04, 0x64, 0x80, 0x4b, 0x16, 0x2b, 0xd5, 0xdb, 0xe8, 0x92, - 0x2f, 0x84, 0xd3, 0x23, 0x64, 0x68, 0x9d, 0x2d, 0xbf, 0x01, 0x39, 0xdc, 0x82, 0xbc, 0x8d, 0xc9, - 0x8a, 0xc0, 0x2d, 0x3e, 0xb2, 0x34, 0xed, 0xc4, 0xf2, 0xd8, 0x91, 0x29, 0x1c, 0x8d, 0x0d, 0x2c, - 0x67, 0x07, 0x3f, 0xd1, 0x43, 0xe0, 0x15, 0xa8, 0x54, 0xac, 0x80, 0xea, 0xa7, 0xac, 0x28, 0xdc, - 0xd0, 0x3a, 0xb8, 0xf8, 0x3a, 0xe4, 0xc3, 0xec, 0x41, 0x73, 0x90, 0x70, 0x5c, 0xcd, 0x76, 0xa9, - 0x14, 0x26, 0x14, 0xf6, 0x81, 0x24, 0x88, 0x61, 0xb3, 0x45, 0xf5, 0x5f, 0x42, 0x21, 0x3f, 0xd1, - 0xd7, 0xf8, 0x03, 0x8e, 0xd1, 0x01, 0x3f, 0x32, 0x38, 0xa3, 0x21, 0xca, 0xfd, 0xe3, 0x2e, 0x3e, - 0x07, 0xb9, 0xd0, 0x00, 0x26, 0x6d, 0x5a, 0xfe, 0x6b, 0x70, 0x6c, 0x28, 0x69, 0xf4, 0x32, 0xcc, - 0xf5, 0x4c, 0xc3, 0x74, 0xb1, 0xdd, 0xb5, 0x31, 0x91, 0x58, 0xd6, 0xd4, 0xfc, 0xef, 0x4d, 0x8f, - 0x90, 0xb9, 0xad, 0x20, 0x34, 0xa3, 0xa2, 0xcc, 0xf6, 0x06, 0x0b, 0xcf, 0xa6, 0x53, 0x9f, 0x9f, - 0x96, 0xde, 0x78, 0xe3, 0x8d, 0x37, 0xa2, 0xf2, 0x2f, 0x25, 0x61, 0x6e, 0xd8, 0x9a, 0x19, 0xba, - 0x7c, 0x8f, 0x43, 0xd2, 0xec, 0x75, 0xb6, 0xb1, 0x4d, 0x99, 0x94, 0x50, 0xf8, 0x17, 0x2a, 0x41, - 0xa2, 0xad, 0x6d, 0xe3, 0xf6, 0x7c, 0x7c, 0x29, 0x72, 0x26, 0x7f, 0xfe, 0xf1, 0x89, 0x56, 0xe5, - 0xf2, 0x1a, 0x41, 0x51, 0x18, 0x26, 0x7a, 0x0f, 0xc4, 0xb9, 0xf2, 0x26, 0x14, 0xce, 0x4e, 0x46, - 0x81, 0xac, 0x25, 0x85, 0xe2, 0xa1, 0x53, 0x90, 0x26, 0xff, 0x33, 0xd9, 0x48, 0xd2, 0x3e, 0xa7, - 0x48, 0x01, 0x91, 0x0b, 0x54, 0x84, 0x14, 0x5d, 0x26, 0x2d, 0x2c, 0x36, 0x3d, 0xef, 0x9b, 0x08, - 0x56, 0x0b, 0xef, 0x68, 0xbd, 0xb6, 0xab, 0xde, 0xd6, 0xda, 0x3d, 0x4c, 0x05, 0x3e, 0xad, 0x64, - 0x79, 0xe1, 0x4d, 0x52, 0x86, 0x16, 0x21, 0xc3, 0x56, 0x95, 0x61, 0xb6, 0xf0, 0x3e, 0xd5, 0xab, - 0x09, 0x85, 0x2d, 0xb4, 0x1a, 0x29, 0x21, 0xcd, 0xbf, 0xe6, 0x58, 0xa6, 0x10, 0x4d, 0xda, 0x04, - 0x29, 0xa0, 0xcd, 0x3f, 0xd7, 0xaf, 0xd2, 0x1f, 0x1c, 0x3e, 0xbc, 0x81, 0xb5, 0xf4, 0x28, 0x14, - 0x28, 0xc4, 0x33, 0x7c, 0xea, 0xb5, 0xf6, 0xfc, 0xcc, 0x52, 0xe4, 0x4c, 0x4a, 0xc9, 0xb3, 0xe2, - 0x3a, 0x2f, 0x95, 0x7f, 0x2a, 0x0a, 0x71, 0xaa, 0x58, 0x0a, 0x90, 0x69, 0xbe, 0xb2, 0x59, 0x55, - 0x57, 0xeb, 0x5b, 0xe5, 0xb5, 0xaa, 0x14, 0x41, 0x79, 0x00, 0x5a, 0x70, 0x65, 0xad, 0x5e, 0x6a, - 0x4a, 0x51, 0xef, 0xbb, 0xb6, 0xd1, 0xbc, 0xf8, 0xac, 0x14, 0xf3, 0x10, 0xb6, 0x58, 0x41, 0x3c, - 0x08, 0xf0, 0xcc, 0x79, 0x29, 0x81, 0x24, 0xc8, 0x32, 0x02, 0xb5, 0x97, 0xab, 0xab, 0x17, 0x9f, - 0x95, 0x92, 0xe1, 0x92, 0x67, 0xce, 0x4b, 0xd3, 0x28, 0x07, 0x69, 0x5a, 0x52, 0xae, 0xd7, 0xd7, - 0xa4, 0x94, 0x47, 0xb3, 0xd1, 0x54, 0x6a, 0x1b, 0x57, 0xa5, 0xb4, 0x47, 0xf3, 0xaa, 0x52, 0xdf, - 0xda, 0x94, 0xc0, 0xa3, 0xb0, 0x5e, 0x6d, 0x34, 0x4a, 0x57, 0xab, 0x52, 0xc6, 0x83, 0x28, 0xbf, - 0xd2, 0xac, 0x36, 0xa4, 0x6c, 0xa8, 0x5b, 0xcf, 0x9c, 0x97, 0x72, 0x5e, 0x13, 0xd5, 0x8d, 0xad, - 0x75, 0x29, 0x8f, 0x66, 0x20, 0xc7, 0x9a, 0x10, 0x9d, 0x28, 0xf4, 0x15, 0x5d, 0x7c, 0x56, 0x92, - 0xfc, 0x8e, 0x30, 0x2a, 0x33, 0xa1, 0x82, 0x8b, 0xcf, 0x4a, 0x48, 0xae, 0x40, 0x82, 0x8a, 0x21, - 0x42, 0x90, 0x5f, 0x2b, 0x95, 0xab, 0x6b, 0x6a, 0x7d, 0xb3, 0x59, 0xab, 0x6f, 0x94, 0xd6, 0xa4, - 0x88, 0x5f, 0xa6, 0x54, 0x5f, 0xda, 0xaa, 0x29, 0xd5, 0x55, 0x29, 0x1a, 0x2c, 0xdb, 0xac, 0x96, - 0x9a, 0xd5, 0x55, 0x29, 0x26, 0xeb, 0x30, 0x37, 0x4c, 0xa1, 0x0e, 0x5d, 0x42, 0x01, 0x59, 0x88, - 0x8e, 0x90, 0x05, 0x4a, 0xab, 0x5f, 0x16, 0xe4, 0xcf, 0x45, 0x61, 0x76, 0xc8, 0xa6, 0x32, 0xb4, - 0x91, 0x17, 0x21, 0xc1, 0x64, 0x99, 0x6d, 0xb3, 0x8f, 0x0d, 0xdd, 0x9d, 0xa8, 0x64, 0x0f, 0x6c, - 0xb5, 0x14, 0x2f, 0x68, 0x84, 0xc4, 0x46, 0x18, 0x21, 0x84, 0xc4, 0x80, 0xc0, 0xbe, 0x6f, 0x40, - 0xf9, 0xb3, 0xfd, 0xf1, 0xe2, 0x24, 0xfb, 0x23, 0x2d, 0x3b, 0xda, 0x26, 0x90, 0x18, 0xb2, 0x09, - 0x5c, 0x86, 0x99, 0x01, 0x42, 0x13, 0x2b, 0xe3, 0x0f, 0x46, 0x60, 0x7e, 0x14, 0x73, 0xc6, 0xa8, - 0xc4, 0x68, 0x48, 0x25, 0x5e, 0xee, 0xe7, 0xe0, 0xe9, 0xd1, 0x93, 0x30, 0x30, 0xd7, 0x3f, 0x1c, - 0x81, 0xe3, 0xc3, 0x8d, 0xcd, 0xa1, 0x7d, 0x78, 0x0f, 0x24, 0x3b, 0xd8, 0xdd, 0xb3, 0x84, 0x59, - 0xf5, 0xc8, 0x90, 0xcd, 0x9a, 0x54, 0xf7, 0x4f, 0x36, 0xc7, 0x0a, 0xee, 0xf6, 0xb1, 0x51, 0x16, - 0x23, 0xeb, 0xcd, 0x40, 0x4f, 0xbf, 0x39, 0x0a, 0xc7, 0x86, 0x12, 0x1f, 0xda, 0xd1, 0x07, 0x01, - 0x0c, 0xb3, 0xdb, 0x73, 0x99, 0xe9, 0xc4, 0x34, 0x71, 0x9a, 0x96, 0x50, 0xe5, 0x45, 0xb4, 0x6c, - 0xcf, 0xf5, 0xea, 0x63, 0xb4, 0x1e, 0x58, 0x11, 0x05, 0x78, 0xde, 0xef, 0x68, 0x9c, 0x76, 0x74, - 0x61, 0xc4, 0x48, 0x07, 0x04, 0xf3, 0x29, 0x90, 0xf4, 0xb6, 0x81, 0x4d, 0x57, 0x75, 0x5c, 0x1b, - 0x6b, 0x1d, 0xc3, 0xdc, 0xa5, 0x5b, 0x4d, 0x6a, 0x25, 0xb1, 0xa3, 0xb5, 0x1d, 0xac, 0x14, 0x58, - 0x75, 0x43, 0xd4, 0x12, 0x0c, 0x2a, 0x40, 0x76, 0x00, 0x23, 0x19, 0xc2, 0x60, 0xd5, 0x1e, 0x86, - 0xfc, 0x1d, 0x69, 0xc8, 0x04, 0x4c, 0x73, 0x74, 0x1a, 0xb2, 0xaf, 0x69, 0xb7, 0x35, 0x55, 0xb8, - 0x5b, 0x8c, 0x13, 0x19, 0x52, 0xb6, 0xc9, 0x5d, 0xae, 0xa7, 0x60, 0x8e, 0x82, 0x58, 0x3d, 0x17, - 0xdb, 0xaa, 0xde, 0xd6, 0x1c, 0x87, 0x32, 0x2d, 0x45, 0x41, 0x11, 0xa9, 0xab, 0x93, 0xaa, 0x8a, - 0xa8, 0x41, 0x17, 0x60, 0x96, 0x62, 0x74, 0x7a, 0x6d, 0xd7, 0xe8, 0xb6, 0xb1, 0x4a, 0x1c, 0x40, - 0x87, 0x6e, 0x39, 0x5e, 0xcf, 0x66, 0x08, 0xc4, 0x3a, 0x07, 0x20, 0x3d, 0x72, 0xd0, 0x2a, 0x3c, - 0x48, 0xd1, 0x76, 0xb1, 0x89, 0x6d, 0xcd, 0xc5, 0x2a, 0xfe, 0x40, 0x4f, 0x6b, 0x3b, 0xaa, 0x66, - 0xb6, 0xd4, 0x3d, 0xcd, 0xd9, 0x9b, 0x9f, 0x23, 0x04, 0xca, 0xd1, 0xf9, 0x88, 0x72, 0x92, 0x00, - 0x5e, 0xe5, 0x70, 0x55, 0x0a, 0x56, 0x32, 0x5b, 0xd7, 0x34, 0x67, 0x0f, 0xad, 0xc0, 0x71, 0x4a, - 0xc5, 0x71, 0x6d, 0xc3, 0xdc, 0x55, 0xf5, 0x3d, 0xac, 0xdf, 0x52, 0x7b, 0xee, 0xce, 0xf3, 0xf3, - 0xa7, 0x82, 0xed, 0xd3, 0x1e, 0x36, 0x28, 0x4c, 0x85, 0x80, 0x6c, 0xb9, 0x3b, 0xcf, 0xa3, 0x06, - 0x64, 0xc9, 0x64, 0x74, 0x8c, 0xd7, 0xb1, 0xba, 0x63, 0xd9, 0x74, 0x0f, 0xcd, 0x0f, 0x51, 0x4d, - 0x01, 0x0e, 0x2e, 0xd7, 0x39, 0xc2, 0xba, 0xd5, 0xc2, 0x2b, 0x89, 0xc6, 0x66, 0xb5, 0xba, 0xaa, - 0x64, 0x04, 0x95, 0x2b, 0x96, 0x4d, 0x04, 0x6a, 0xd7, 0xf2, 0x18, 0x9c, 0x61, 0x02, 0xb5, 0x6b, - 0x09, 0xf6, 0x5e, 0x80, 0x59, 0x5d, 0x67, 0x63, 0x36, 0x74, 0x95, 0xbb, 0x69, 0xce, 0xbc, 0x14, - 0x62, 0x96, 0xae, 0x5f, 0x65, 0x00, 0x5c, 0xc6, 0x1d, 0x74, 0x09, 0x8e, 0xf9, 0xcc, 0x0a, 0x22, - 0xce, 0x0c, 0x8c, 0xb2, 0x1f, 0xf5, 0x02, 0xcc, 0x76, 0x0f, 0x06, 0x11, 0x51, 0xa8, 0xc5, 0xee, - 0x41, 0x3f, 0xda, 0x73, 0x30, 0xd7, 0xdd, 0xeb, 0x0e, 0xe2, 0x9d, 0x0d, 0xe2, 0xa1, 0xee, 0x5e, - 0xb7, 0x1f, 0xf1, 0x61, 0xea, 0xb3, 0xdb, 0x58, 0xd7, 0x5c, 0xdc, 0x9a, 0x3f, 0x11, 0x04, 0x0f, - 0x54, 0xa0, 0x65, 0x90, 0x74, 0x5d, 0xc5, 0xa6, 0xb6, 0xdd, 0xc6, 0xaa, 0x66, 0x63, 0x53, 0x73, - 0xe6, 0x17, 0x29, 0x70, 0xdc, 0xb5, 0x7b, 0x58, 0xc9, 0xeb, 0x7a, 0x95, 0x56, 0x96, 0x68, 0x1d, - 0x3a, 0x0b, 0x33, 0xd6, 0xf6, 0x6b, 0x3a, 0x93, 0x48, 0xb5, 0x6b, 0xe3, 0x1d, 0x63, 0x7f, 0xfe, - 0x5d, 0x94, 0xbd, 0x05, 0x52, 0x41, 0xe5, 0x71, 0x93, 0x16, 0xa3, 0xc7, 0x40, 0xd2, 0x9d, 0x3d, - 0xcd, 0xee, 0x52, 0x95, 0xec, 0x74, 0x35, 0x1d, 0xcf, 0x3f, 0xcc, 0x40, 0x59, 0xf9, 0x86, 0x28, - 0x26, 0x2b, 0xc2, 0xb9, 0x63, 0xec, 0xb8, 0x82, 0xe2, 0xa3, 0x6c, 0x45, 0xd0, 0x32, 0x4e, 0xed, - 0x0c, 0x48, 0x84, 0x13, 0xa1, 0x86, 0xcf, 0x50, 0xb0, 0x7c, 0x77, 0xaf, 0x1b, 0x6c, 0xf7, 0x21, - 0xc8, 0x11, 0x48, 0xbf, 0xd1, 0xc7, 0x98, 0xe1, 0xd6, 0xdd, 0x0b, 0xb4, 0xf8, 0x2c, 0x1c, 0x27, - 0x40, 0x1d, 0xec, 0x6a, 0x2d, 0xcd, 0xd5, 0x02, 0xd0, 0x4f, 0x50, 0x68, 0xc2, 0xf6, 0x75, 0x5e, - 0x19, 0xea, 0xa7, 0xdd, 0xdb, 0x3e, 0xf0, 0x04, 0xeb, 0x49, 0xd6, 0x4f, 0x52, 0x26, 0x44, 0xeb, - 0x1d, 0x33, 0xce, 0xe5, 0x15, 0xc8, 0x06, 0xe5, 0x1e, 0xa5, 0x81, 0x49, 0xbe, 0x14, 0x21, 0x46, - 0x50, 0xa5, 0xbe, 0x4a, 0xcc, 0x97, 0x57, 0xab, 0x52, 0x94, 0x98, 0x51, 0x6b, 0xb5, 0x66, 0x55, - 0x55, 0xb6, 0x36, 0x9a, 0xb5, 0xf5, 0xaa, 0x14, 0x0b, 0x18, 0xf6, 0xd7, 0xe3, 0xa9, 0x47, 0xa4, - 0x47, 0xe5, 0x9f, 0x8f, 0x41, 0x3e, 0xec, 0xa9, 0xa1, 0x77, 0xc3, 0x09, 0x11, 0x70, 0x71, 0xb0, - 0xab, 0xde, 0x31, 0x6c, 0xba, 0x20, 0x3b, 0x1a, 0xdb, 0x1c, 0x3d, 0xf9, 0x99, 0xe3, 0x50, 0x0d, - 0xec, 0xbe, 0xd7, 0xb0, 0xc9, 0x72, 0xeb, 0x68, 0x2e, 0x5a, 0x83, 0x45, 0xd3, 0x52, 0x1d, 0x57, - 0x33, 0x5b, 0x9a, 0xdd, 0x52, 0xfd, 0x50, 0x97, 0xaa, 0xe9, 0x3a, 0x76, 0x1c, 0x8b, 0x6d, 0x84, - 0x1e, 0x95, 0x07, 0x4c, 0xab, 0xc1, 0x81, 0xfd, 0x1d, 0xa2, 0xc4, 0x41, 0xfb, 0xc4, 0x37, 0x36, - 0x4a, 0x7c, 0x4f, 0x41, 0xba, 0xa3, 0x75, 0x55, 0x6c, 0xba, 0xf6, 0x01, 0xb5, 0xcf, 0x53, 0x4a, - 0xaa, 0xa3, 0x75, 0xab, 0xe4, 0x1b, 0xdd, 0x84, 0x47, 0x7c, 0x50, 0xb5, 0x8d, 0x77, 0x35, 0xfd, - 0x40, 0xa5, 0xc6, 0x38, 0x0d, 0x1b, 0xa8, 0xba, 0x65, 0xee, 0xb4, 0x0d, 0xdd, 0x75, 0xa8, 0x7e, - 0x60, 0x3a, 0x4e, 0xf6, 0x31, 0xd6, 0x28, 0xc2, 0x75, 0xc7, 0x32, 0xa9, 0x0d, 0x5e, 0x11, 0xd0, - 0x5f, 0x15, 0xf7, 0xeb, 0x7a, 0x3c, 0x15, 0x97, 0x12, 0xd7, 0xe3, 0xa9, 0x84, 0x94, 0xbc, 0x1e, - 0x4f, 0x25, 0xa5, 0xe9, 0xeb, 0xf1, 0x54, 0x4a, 0x4a, 0x5f, 0x8f, 0xa7, 0xd2, 0x12, 0xc8, 0x3f, - 0x9d, 0x82, 0x6c, 0xd0, 0x33, 0x20, 0x8e, 0x96, 0x4e, 0xf7, 0xc6, 0x08, 0xd5, 0x9e, 0x0f, 0x1d, - 0xea, 0x47, 0x2c, 0x57, 0xc8, 0xa6, 0xb9, 0x92, 0x64, 0x66, 0xb8, 0xc2, 0x30, 0x89, 0xc1, 0x42, - 0xc4, 0x1a, 0x33, 0xb3, 0x27, 0xa5, 0xf0, 0x2f, 0x74, 0x15, 0x92, 0xaf, 0x39, 0x94, 0x76, 0x92, - 0xd2, 0x7e, 0xd7, 0xe1, 0xb4, 0xaf, 0x37, 0x28, 0xf1, 0xf4, 0xf5, 0x86, 0xba, 0x51, 0x57, 0xd6, - 0x4b, 0x6b, 0x0a, 0x47, 0x47, 0x27, 0x21, 0xde, 0xd6, 0x5e, 0x3f, 0x08, 0x6f, 0xaf, 0xb4, 0x08, - 0x2d, 0x43, 0xa1, 0x67, 0xde, 0xc6, 0xb6, 0xb1, 0x63, 0x90, 0xa9, 0x22, 0x50, 0x85, 0x20, 0x54, - 0xde, 0xaf, 0x5d, 0x23, 0xf0, 0x13, 0x8a, 0xc7, 0x49, 0x88, 0xdf, 0xc1, 0xda, 0xad, 0xf0, 0x26, - 0x48, 0x8b, 0xd0, 0x19, 0xc8, 0xb6, 0xf0, 0x76, 0x6f, 0x57, 0xb5, 0x71, 0x4b, 0xd3, 0xdd, 0xb0, - 0xea, 0xcf, 0xd0, 0x2a, 0x85, 0xd6, 0xa0, 0x1b, 0x90, 0x26, 0x73, 0x64, 0xd2, 0x39, 0x9e, 0xa1, - 0x2c, 0x78, 0xf2, 0x70, 0x16, 0xf0, 0x29, 0x16, 0x48, 0x8a, 0x8f, 0x8f, 0xae, 0x40, 0xd2, 0xd5, - 0xec, 0x5d, 0xec, 0x52, 0xcd, 0x9f, 0x1f, 0x12, 0xfc, 0x18, 0x42, 0xa9, 0x49, 0x31, 0xa8, 0x4f, - 0xcb, 0xb1, 0xdf, 0x41, 0x2d, 0x73, 0x0e, 0x12, 0x54, 0x3c, 0x10, 0x00, 0x17, 0x10, 0x69, 0x0a, - 0xa5, 0x20, 0x5e, 0xa9, 0x2b, 0x44, 0xd3, 0x48, 0x90, 0x65, 0xa5, 0xea, 0x66, 0xad, 0x5a, 0xa9, - 0x4a, 0x51, 0xf9, 0x02, 0x24, 0xd9, 0x9c, 0x13, 0x2d, 0xe4, 0xcd, 0xba, 0x34, 0xc5, 0x3f, 0x39, - 0x8d, 0x88, 0xa8, 0xdd, 0x5a, 0x2f, 0x57, 0x15, 0x29, 0x2a, 0x6f, 0x41, 0xa1, 0x8f, 0x4f, 0xe8, - 0x18, 0xcc, 0x28, 0xd5, 0x66, 0x75, 0x83, 0xf8, 0x59, 0xea, 0xd6, 0xc6, 0x8d, 0x8d, 0xfa, 0x7b, - 0x37, 0xa4, 0xa9, 0x70, 0xb1, 0x50, 0x69, 0x11, 0x34, 0x07, 0x92, 0x5f, 0xdc, 0xa8, 0x6f, 0x29, - 0xb4, 0x37, 0xdf, 0x1a, 0x05, 0xa9, 0x9f, 0x6b, 0xe8, 0x04, 0xcc, 0x36, 0x4b, 0xca, 0xd5, 0x6a, - 0x53, 0x65, 0xbe, 0xa3, 0x47, 0x7a, 0x0e, 0xa4, 0x60, 0xc5, 0x95, 0x1a, 0x75, 0x8d, 0x17, 0xe1, - 0x54, 0xb0, 0xb4, 0xfa, 0x72, 0xb3, 0xba, 0xd1, 0xa0, 0x8d, 0x97, 0x36, 0xae, 0x12, 0xfd, 0xda, - 0x47, 0x4f, 0x78, 0xab, 0x31, 0xd2, 0xd5, 0x30, 0xbd, 0xea, 0xda, 0xaa, 0x14, 0xef, 0x2f, 0xae, - 0x6f, 0x54, 0xeb, 0x57, 0xa4, 0x44, 0x7f, 0xeb, 0xd4, 0x83, 0x4d, 0xa2, 0x22, 0x1c, 0xef, 0x2f, - 0x55, 0xab, 0x1b, 0x4d, 0xe5, 0x15, 0x69, 0xba, 0xbf, 0xe1, 0x46, 0x55, 0xb9, 0x59, 0xab, 0x54, - 0xa5, 0x14, 0x3a, 0x0e, 0x28, 0xdc, 0xa3, 0xe6, 0xb5, 0xfa, 0xaa, 0x94, 0x1e, 0xd0, 0x28, 0xb2, - 0x03, 0xd9, 0xa0, 0x1b, 0xf9, 0xd5, 0x89, 0x25, 0x7d, 0x34, 0x0a, 0x99, 0x80, 0x5b, 0x48, 0xec, - 0x79, 0xad, 0xdd, 0xb6, 0xee, 0xa8, 0x5a, 0xdb, 0xd0, 0x1c, 0xae, 0x6f, 0x80, 0x16, 0x95, 0x48, - 0xc9, 0xa4, 0xeb, 0x7b, 0x72, 0x0d, 0x9f, 0xfc, 0x8b, 0xa8, 0xe1, 0x13, 0x52, 0x52, 0xfe, 0x44, - 0x04, 0xa4, 0x7e, 0x7f, 0xaf, 0x6f, 0xf8, 0x91, 0x51, 0xc3, 0xff, 0xaa, 0xcc, 0xdd, 0xc7, 0x23, - 0x90, 0x0f, 0x3b, 0x79, 0x7d, 0xdd, 0x3b, 0xfd, 0xe7, 0xda, 0xbd, 0xdf, 0x8e, 0x42, 0x2e, 0xe4, - 0xda, 0x4d, 0xda, 0xbb, 0x0f, 0xc0, 0x8c, 0xd1, 0xc2, 0x9d, 0xae, 0xe5, 0x62, 0x53, 0x3f, 0x50, - 0xdb, 0xf8, 0x36, 0x6e, 0xcf, 0xcb, 0x54, 0x29, 0x9f, 0x3b, 0xdc, 0x79, 0x5c, 0xae, 0xf9, 0x78, - 0x6b, 0x04, 0x6d, 0x65, 0xb6, 0xb6, 0x5a, 0x5d, 0xdf, 0xac, 0x37, 0xab, 0x1b, 0x95, 0x57, 0x84, - 0x76, 0x51, 0x24, 0xa3, 0x0f, 0xec, 0x1d, 0x54, 0xda, 0x9b, 0x20, 0xf5, 0x77, 0x8a, 0xe8, 0x8a, - 0x21, 0xdd, 0x92, 0xa6, 0xd0, 0x2c, 0x14, 0x36, 0xea, 0x6a, 0xa3, 0xb6, 0x5a, 0x55, 0xab, 0x57, - 0xae, 0x54, 0x2b, 0xcd, 0x06, 0x0b, 0x07, 0x7a, 0xd0, 0x4d, 0x29, 0x1a, 0x64, 0xf1, 0xf7, 0xc6, - 0x60, 0x76, 0x48, 0x4f, 0x50, 0x89, 0x3b, 0xf2, 0x2c, 0xb6, 0xf0, 0xe4, 0x24, 0xbd, 0x5f, 0x26, - 0xa6, 0xf4, 0xa6, 0x66, 0xbb, 0xdc, 0xef, 0x7f, 0x0c, 0x08, 0x97, 0x4c, 0x97, 0xec, 0xec, 0x36, - 0x0f, 0xb3, 0x32, 0xef, 0xbe, 0xe0, 0x97, 0xb3, 0x48, 0xeb, 0x13, 0x80, 0xba, 0x96, 0x63, 0xb8, - 0xc6, 0x6d, 0xac, 0x1a, 0xa6, 0x88, 0xc9, 0x12, 0x6f, 0x3f, 0xae, 0x48, 0xa2, 0xa6, 0x66, 0xba, - 0x1e, 0xb4, 0x89, 0x77, 0xb5, 0x3e, 0x68, 0x62, 0x79, 0xc4, 0x14, 0x49, 0xd4, 0x78, 0xd0, 0xa7, - 0x21, 0xdb, 0xb2, 0x7a, 0xc4, 0x05, 0x62, 0x70, 0x44, 0x5b, 0x44, 0x94, 0x0c, 0x2b, 0xf3, 0x40, - 0xb8, 0x73, 0xeb, 0x07, 0x83, 0xb3, 0x4a, 0x86, 0x95, 0x31, 0x90, 0x47, 0xa1, 0xa0, 0xed, 0xee, - 0xda, 0x84, 0xb8, 0x20, 0xc4, 0xdc, 0xf5, 0xbc, 0x57, 0x4c, 0x01, 0x8b, 0xd7, 0x21, 0x25, 0xf8, - 0x40, 0x2c, 0x58, 0xc2, 0x09, 0xb5, 0xcb, 0x62, 0x50, 0xd1, 0x33, 0x69, 0x25, 0x65, 0x8a, 0xca, - 0xd3, 0x90, 0x35, 0x1c, 0xd5, 0x3f, 0xdb, 0x8a, 0x2e, 0x45, 0xcf, 0xa4, 0x94, 0x8c, 0xe1, 0x78, - 0xe7, 0x02, 0xf2, 0x0f, 0x47, 0x21, 0x1f, 0x3e, 0xb5, 0x43, 0xab, 0x90, 0x6a, 0x5b, 0xba, 0x46, - 0x45, 0x8b, 0x1d, 0x19, 0x9f, 0x19, 0x73, 0xd0, 0xb7, 0xbc, 0xc6, 0xe1, 0x15, 0x0f, 0xb3, 0xf8, - 0xef, 0x23, 0x90, 0x12, 0xc5, 0xe8, 0x38, 0xc4, 0xbb, 0x9a, 0xbb, 0x47, 0xc9, 0x25, 0xca, 0x51, - 0x29, 0xa2, 0xd0, 0x6f, 0x52, 0xee, 0x74, 0x35, 0x93, 0x8a, 0x00, 0x2f, 0x27, 0xdf, 0x64, 0x5e, - 0xdb, 0x58, 0x6b, 0xd1, 0x58, 0x80, 0xd5, 0xe9, 0x60, 0xd3, 0x75, 0xc4, 0xbc, 0xf2, 0xf2, 0x0a, - 0x2f, 0x46, 0x8f, 0xc3, 0x8c, 0x6b, 0x6b, 0x46, 0x3b, 0x04, 0x1b, 0xa7, 0xb0, 0x92, 0xa8, 0xf0, - 0x80, 0x57, 0xe0, 0xa4, 0xa0, 0xdb, 0xc2, 0xae, 0xa6, 0xef, 0xe1, 0x96, 0x8f, 0x94, 0xa4, 0x31, - 0xbf, 0x13, 0x1c, 0x60, 0x95, 0xd7, 0x0b, 0x5c, 0xf9, 0xb3, 0x51, 0x98, 0x11, 0xd1, 0x8b, 0x96, - 0xc7, 0xac, 0x75, 0x00, 0xcd, 0x34, 0x2d, 0x37, 0xc8, 0xae, 0x41, 0x51, 0x1e, 0xc0, 0x5b, 0x2e, - 0x79, 0x48, 0x4a, 0x80, 0x40, 0xf1, 0x0f, 0x22, 0x00, 0x7e, 0xd5, 0x48, 0xbe, 0x2d, 0x42, 0x86, - 0x9f, 0xc9, 0xd2, 0x83, 0x7d, 0x16, 0xf0, 0x02, 0x56, 0x74, 0xc5, 0x68, 0xd3, 0xb0, 0xe4, 0x36, - 0xde, 0x35, 0x4c, 0x7e, 0x9e, 0xc2, 0x3e, 0x44, 0x58, 0x32, 0xee, 0x1f, 0x4f, 0x29, 0x90, 0x72, - 0x70, 0x47, 0x33, 0x5d, 0x43, 0xe7, 0x27, 0x24, 0x17, 0x8f, 0xd4, 0xf9, 0xe5, 0x06, 0xc7, 0x56, - 0x3c, 0x3a, 0xf2, 0x19, 0x48, 0x89, 0x52, 0x62, 0xf8, 0x6d, 0xd4, 0x37, 0xaa, 0xd2, 0x14, 0x9a, - 0x86, 0x58, 0xa3, 0xda, 0x94, 0x22, 0xc4, 0xed, 0x2c, 0xad, 0xd5, 0x4a, 0x0d, 0x29, 0x5a, 0xfe, - 0xeb, 0x30, 0xab, 0x5b, 0x9d, 0xfe, 0x06, 0xcb, 0x52, 0x5f, 0xc8, 0xcf, 0xb9, 0x16, 0x79, 0xf5, - 0x49, 0x0e, 0xb4, 0x6b, 0xb5, 0x35, 0x73, 0x77, 0xd9, 0xb2, 0x77, 0xfd, 0xb4, 0x08, 0xe2, 0x1d, - 0x38, 0x81, 0xe4, 0x88, 0xee, 0xf6, 0xff, 0x8a, 0x44, 0xbe, 0x3f, 0x1a, 0xbb, 0xba, 0x59, 0xfe, - 0xd1, 0x68, 0xf1, 0x2a, 0x43, 0xdc, 0x14, 0xc3, 0x51, 0xf0, 0x4e, 0x1b, 0xeb, 0xa4, 0xf3, 0xf0, - 0xb1, 0x38, 0xcc, 0x68, 0x1d, 0xc3, 0xb4, 0xce, 0xd1, 0x7f, 0x79, 0x52, 0x45, 0x82, 0x7e, 0x14, - 0xc7, 0x66, 0x5f, 0xac, 0x5c, 0x64, 0x0a, 0x0c, 0x8d, 0x3b, 0xc3, 0x9c, 0xff, 0xe3, 0x6f, 0xfd, - 0xa1, 0x84, 0x1f, 0xad, 0x5c, 0x59, 0x07, 0x49, 0x38, 0xca, 0xd8, 0xd4, 0x2d, 0x22, 0x6d, 0xe3, - 0x69, 0xfc, 0x89, 0xa0, 0x51, 0xe0, 0xb8, 0x55, 0x8e, 0xba, 0xf2, 0x6e, 0x48, 0x79, 0x64, 0x0e, - 0x3f, 0x00, 0x9a, 0xff, 0x53, 0x41, 0xc4, 0xc3, 0x58, 0x79, 0x11, 0x80, 0x19, 0x3b, 0x2c, 0x90, - 0x7a, 0x38, 0xfe, 0x97, 0x04, 0x7e, 0x9a, 0xe2, 0x10, 0x2d, 0xb4, 0x72, 0x15, 0xf2, 0x2d, 0xcb, - 0x74, 0x55, 0xab, 0x63, 0xb8, 0xb8, 0xd3, 0x75, 0x0f, 0xc6, 0x11, 0xf9, 0xef, 0x8c, 0x48, 0x4a, - 0xc9, 0x11, 0xbc, 0xba, 0x40, 0x23, 0x3d, 0x61, 0x67, 0x61, 0x93, 0xf4, 0xe4, 0x7f, 0x78, 0x3d, - 0xa1, 0x38, 0xa4, 0x27, 0xe5, 0xea, 0x2f, 0xbf, 0xb5, 0x10, 0xf9, 0xec, 0x5b, 0x0b, 0x91, 0xdf, - 0x7e, 0x6b, 0x21, 0xf2, 0xe1, 0xcf, 0x2d, 0x4c, 0x7d, 0xf6, 0x73, 0x0b, 0x53, 0xbf, 0xf1, 0xb9, - 0x85, 0xa9, 0x57, 0x1f, 0xdf, 0x35, 0xdc, 0xbd, 0xde, 0xf6, 0xb2, 0x6e, 0x75, 0xce, 0xe9, 0x96, - 0xd3, 0xb1, 0x1c, 0xfe, 0xdf, 0x93, 0x4e, 0xeb, 0x16, 0x97, 0x1f, 0x77, 0x9f, 0x49, 0xc1, 0x76, - 0x92, 0x9d, 0x81, 0xc1, 0x1f, 0x3e, 0x0e, 0x73, 0xbb, 0xd6, 0xae, 0x45, 0x3f, 0xcf, 0x91, 0x5f, - 0x5c, 0x40, 0xd2, 0x5e, 0xe9, 0x04, 0x42, 0xb2, 0x01, 0xb3, 0x1c, 0x58, 0xa5, 0x87, 0xfb, 0x2c, - 0xf4, 0x84, 0x0e, 0x3d, 0xf7, 0x98, 0xff, 0xf1, 0xdf, 0xa5, 0x36, 0xab, 0x32, 0xc3, 0x51, 0x49, - 0x1d, 0x8b, 0x4e, 0xad, 0x28, 0x70, 0x2c, 0x44, 0x8f, 0xed, 0x20, 0xd8, 0x1e, 0x43, 0xf1, 0x5f, - 0x71, 0x8a, 0xb3, 0x01, 0x8a, 0x0d, 0x8e, 0xba, 0x52, 0x81, 0xdc, 0x51, 0x68, 0xfd, 0x6b, 0x4e, - 0x2b, 0x8b, 0x83, 0x44, 0xae, 0x42, 0x81, 0x12, 0xd1, 0x7b, 0x8e, 0x6b, 0x75, 0xe8, 0x1c, 0x1e, - 0x4e, 0xe6, 0xdf, 0xfc, 0x2e, 0x53, 0xe9, 0x79, 0x82, 0x56, 0xf1, 0xb0, 0x56, 0x56, 0x80, 0xe6, - 0x33, 0xb4, 0xb0, 0xde, 0x1e, 0x43, 0xe1, 0x97, 0x79, 0x47, 0x3c, 0xf8, 0x95, 0x9b, 0x30, 0x47, - 0x7e, 0xd3, 0xdd, 0x33, 0xd8, 0x93, 0xf1, 0x87, 0x24, 0xf3, 0xff, 0xe1, 0x83, 0x6c, 0xd7, 0x98, - 0xf5, 0x08, 0x04, 0xfa, 0x14, 0x98, 0xc5, 0x5d, 0xec, 0xba, 0xd8, 0x76, 0x54, 0xad, 0x3d, 0xac, - 0x7b, 0x81, 0x28, 0xf3, 0xfc, 0xf7, 0x7c, 0x31, 0x3c, 0x8b, 0x57, 0x19, 0x66, 0xa9, 0xdd, 0x5e, - 0xd9, 0x82, 0x13, 0x43, 0xa4, 0x62, 0x02, 0x9a, 0xdf, 0xcb, 0x69, 0xce, 0x0d, 0x48, 0x06, 0x21, - 0xbb, 0x09, 0xa2, 0xdc, 0x9b, 0xcb, 0x09, 0x68, 0x7e, 0x8c, 0xd3, 0x44, 0x1c, 0x57, 0x4c, 0x29, - 0xa1, 0x78, 0x1d, 0x66, 0x6e, 0x63, 0x7b, 0xdb, 0x72, 0x78, 0x64, 0x7f, 0x02, 0x72, 0x1f, 0xe7, - 0xe4, 0x0a, 0x1c, 0x91, 0x86, 0xfa, 0x09, 0xad, 0x4b, 0x90, 0xda, 0xd1, 0x74, 0x3c, 0x01, 0x89, - 0x7b, 0x9c, 0xc4, 0x34, 0x81, 0x27, 0xa8, 0x25, 0xc8, 0xee, 0x5a, 0xdc, 0x80, 0x1a, 0x8f, 0xfe, - 0x09, 0x8e, 0x9e, 0x11, 0x38, 0x9c, 0x44, 0xd7, 0xea, 0xf6, 0xda, 0xc4, 0xba, 0x1a, 0x4f, 0xe2, - 0xfb, 0x04, 0x09, 0x81, 0xc3, 0x49, 0x1c, 0x81, 0xad, 0x9f, 0x14, 0x24, 0x9c, 0x00, 0x3f, 0x5f, - 0x84, 0x8c, 0x65, 0xb6, 0x0f, 0x2c, 0x73, 0x92, 0x4e, 0x7c, 0x8a, 0x53, 0x00, 0x8e, 0x42, 0x08, - 0x5c, 0x86, 0xf4, 0xa4, 0x13, 0xf1, 0x83, 0x5f, 0x14, 0xcb, 0x43, 0xcc, 0xc0, 0x55, 0x28, 0x08, - 0x05, 0x65, 0x58, 0xe6, 0x04, 0x24, 0x7e, 0x88, 0x93, 0xc8, 0x07, 0xd0, 0xf8, 0x30, 0x5c, 0xec, - 0xb8, 0xbb, 0x78, 0x12, 0x22, 0x3f, 0x2c, 0x86, 0xc1, 0x51, 0x38, 0x2b, 0xb7, 0xb1, 0xa9, 0xef, - 0x4d, 0x46, 0xe1, 0xd3, 0x82, 0x95, 0x02, 0x87, 0x90, 0xa8, 0x40, 0xae, 0xa3, 0xd9, 0xce, 0x9e, - 0xd6, 0x9e, 0x68, 0x3a, 0x7e, 0x84, 0xd3, 0xc8, 0x7a, 0x48, 0x9c, 0x23, 0x3d, 0xf3, 0x28, 0x64, - 0x7e, 0x54, 0x70, 0x24, 0x80, 0xc6, 0x97, 0x9e, 0xe3, 0xd2, 0x63, 0x90, 0xa3, 0x50, 0xfb, 0xfb, - 0x62, 0xe9, 0x31, 0xdc, 0xf5, 0x20, 0xc5, 0xcb, 0x90, 0x76, 0x8c, 0xd7, 0x27, 0x22, 0xf3, 0x0f, - 0xc4, 0x4c, 0x53, 0x04, 0x82, 0xfc, 0x0a, 0x9c, 0x1c, 0xba, 0x4d, 0x4c, 0x40, 0xec, 0x1f, 0x72, - 0x62, 0xc7, 0x87, 0x6c, 0x15, 0x5c, 0x25, 0x1c, 0x95, 0xe4, 0x3f, 0x12, 0x2a, 0x01, 0xf7, 0xd1, - 0xda, 0x24, 0x2e, 0xad, 0xa3, 0xed, 0x1c, 0x8d, 0x6b, 0xff, 0x58, 0x70, 0x8d, 0xe1, 0x86, 0xb8, - 0xd6, 0x84, 0xe3, 0x9c, 0xe2, 0xd1, 0xe6, 0xf5, 0xc7, 0x84, 0x62, 0x65, 0xd8, 0x5b, 0xe1, 0xd9, - 0xfd, 0x5a, 0x28, 0x7a, 0xec, 0x14, 0xbe, 0x93, 0xa3, 0x76, 0xb4, 0xee, 0x04, 0x94, 0x7f, 0x9c, - 0x53, 0x16, 0x1a, 0xdf, 0x73, 0xbe, 0x9c, 0x75, 0xad, 0x4b, 0x88, 0xbf, 0x0c, 0xf3, 0x82, 0x78, - 0xcf, 0xb4, 0xb1, 0x6e, 0xed, 0x9a, 0xc6, 0xeb, 0xb8, 0x35, 0x01, 0xe9, 0x9f, 0xe8, 0x9b, 0xaa, - 0xad, 0x00, 0x3a, 0xa1, 0x5c, 0x03, 0xc9, 0xb3, 0x55, 0x54, 0xa3, 0xd3, 0xb5, 0x6c, 0x77, 0x0c, - 0xc5, 0x9f, 0x14, 0x33, 0xe5, 0xe1, 0xd5, 0x28, 0xda, 0x4a, 0x15, 0x58, 0x6e, 0xd0, 0xa4, 0x22, - 0xf9, 0x19, 0x4e, 0x28, 0xe7, 0x63, 0x71, 0xc5, 0xa1, 0x5b, 0x9d, 0xae, 0x66, 0x4f, 0xa2, 0xff, - 0xfe, 0x89, 0x50, 0x1c, 0x1c, 0x85, 0x2b, 0x0e, 0x62, 0xaf, 0x91, 0xdd, 0x7e, 0x02, 0x0a, 0x3f, - 0x25, 0x14, 0x87, 0xc0, 0xe1, 0x24, 0x84, 0xc1, 0x30, 0x01, 0x89, 0x9f, 0x16, 0x24, 0x04, 0x0e, - 0x21, 0xf1, 0x92, 0xbf, 0xd1, 0xda, 0x78, 0xd7, 0x70, 0x5c, 0x9b, 0x39, 0x6c, 0x87, 0x93, 0xfa, - 0x99, 0x2f, 0x86, 0x8d, 0x30, 0x25, 0x80, 0x4a, 0x34, 0x11, 0xb7, 0xec, 0xa9, 0x43, 0x3f, 0xbe, - 0x63, 0x3f, 0x2b, 0x34, 0x51, 0x00, 0x8d, 0xf4, 0x2d, 0x60, 0x21, 0x12, 0xb6, 0xeb, 0xc4, 0x8d, - 0x9d, 0x80, 0xdc, 0xcf, 0xf5, 0x75, 0xae, 0x21, 0x70, 0x09, 0xcd, 0x80, 0xfd, 0xd3, 0x33, 0x6f, - 0xe1, 0x83, 0x89, 0xa4, 0xf3, 0xe7, 0xfb, 0xec, 0x9f, 0x2d, 0x86, 0xc9, 0x74, 0x48, 0xa1, 0xcf, - 0x9e, 0x1a, 0xef, 0x01, 0x7d, 0xc3, 0x97, 0xf8, 0x78, 0xc3, 0xe6, 0xd4, 0xca, 0x1a, 0x11, 0xf2, - 0xb0, 0xd1, 0x33, 0x9e, 0xd8, 0x07, 0xbf, 0xe4, 0xc9, 0x79, 0xc8, 0xe6, 0x59, 0xb9, 0x02, 0xb9, - 0x90, 0xc1, 0x33, 0x9e, 0xd4, 0x37, 0x72, 0x52, 0xd9, 0xa0, 0xbd, 0xb3, 0x72, 0x01, 0xe2, 0xc4, - 0x78, 0x19, 0x8f, 0xfe, 0x4d, 0x1c, 0x9d, 0x82, 0xaf, 0xbc, 0x00, 0x29, 0x61, 0xb4, 0x8c, 0x47, - 0xfd, 0x9b, 0x1c, 0xd5, 0x43, 0x21, 0xe8, 0xc2, 0x60, 0x19, 0x8f, 0xfe, 0xb7, 0x04, 0xba, 0x40, - 0x21, 0xe8, 0x93, 0xb3, 0xf0, 0x17, 0xbf, 0x25, 0xce, 0x37, 0x1d, 0xc1, 0xbb, 0xcb, 0x30, 0xcd, - 0x2d, 0x95, 0xf1, 0xd8, 0xdf, 0xcc, 0x1b, 0x17, 0x18, 0x2b, 0xcf, 0x41, 0x62, 0x42, 0x86, 0x7f, - 0x1b, 0x47, 0x65, 0xf0, 0x2b, 0x15, 0xc8, 0x04, 0xac, 0x93, 0xf1, 0xe8, 0xdf, 0xce, 0xd1, 0x83, - 0x58, 0xa4, 0xeb, 0xdc, 0x3a, 0x19, 0x4f, 0xe0, 0x6f, 0x8b, 0xae, 0x73, 0x0c, 0xc2, 0x36, 0x61, - 0x98, 0x8c, 0xc7, 0xfe, 0xb0, 0xe0, 0xba, 0x40, 0x59, 0x79, 0x11, 0xd2, 0xde, 0x66, 0x33, 0x1e, - 0xff, 0x3b, 0x38, 0xbe, 0x8f, 0x43, 0x38, 0x10, 0xd8, 0xec, 0xc6, 0x93, 0xf8, 0x3b, 0x82, 0x03, - 0x01, 0x2c, 0xb2, 0x8c, 0xfa, 0x0d, 0x98, 0xf1, 0x94, 0x3e, 0x22, 0x96, 0x51, 0x9f, 0xfd, 0x42, - 0x66, 0x93, 0xea, 0xfc, 0xf1, 0x24, 0xbe, 0x53, 0xcc, 0x26, 0x85, 0x27, 0xdd, 0xe8, 0xb7, 0x08, - 0xc6, 0xd3, 0xf8, 0x6e, 0xd1, 0x8d, 0x3e, 0x83, 0x60, 0x65, 0x13, 0xd0, 0xa0, 0x35, 0x30, 0x9e, - 0xde, 0x47, 0x39, 0xbd, 0x99, 0x01, 0x63, 0x60, 0xe5, 0xbd, 0x70, 0x7c, 0xb8, 0x25, 0x30, 0x9e, - 0xea, 0xf7, 0x7c, 0xa9, 0xcf, 0x77, 0x0b, 0x1a, 0x02, 0x2b, 0x4d, 0x7f, 0x4b, 0x09, 0x5a, 0x01, - 0xe3, 0xc9, 0x7e, 0xef, 0x97, 0xc2, 0x8a, 0x3b, 0x68, 0x04, 0xac, 0x94, 0x00, 0xfc, 0x0d, 0x78, - 0x3c, 0xad, 0x8f, 0x73, 0x5a, 0x01, 0x24, 0xb2, 0x34, 0xf8, 0xfe, 0x3b, 0x1e, 0xff, 0x9e, 0x58, - 0x1a, 0x1c, 0x83, 0x2c, 0x0d, 0xb1, 0xf5, 0x8e, 0xc7, 0xfe, 0x84, 0x58, 0x1a, 0x02, 0x85, 0x48, - 0x76, 0x60, 0x77, 0x1b, 0x4f, 0xe1, 0x53, 0x42, 0xb2, 0x03, 0x58, 0x2b, 0x1b, 0x30, 0x33, 0xb0, - 0x21, 0x8e, 0x27, 0xf5, 0xfd, 0x9c, 0x94, 0xd4, 0xbf, 0x1f, 0x06, 0x37, 0x2f, 0xbe, 0x19, 0x8e, - 0xa7, 0xf6, 0x03, 0x7d, 0x9b, 0x17, 0xdf, 0x0b, 0x57, 0x2e, 0x43, 0xca, 0xec, 0xb5, 0xdb, 0x64, - 0xf1, 0x8c, 0x0b, 0x79, 0xfd, 0xfe, 0x97, 0x39, 0x77, 0x04, 0xc2, 0xca, 0x05, 0x48, 0xe0, 0xce, - 0x36, 0x6e, 0x8d, 0xc3, 0xfc, 0xc2, 0x97, 0x85, 0xc2, 0x24, 0xd0, 0x2b, 0x2f, 0x02, 0xb0, 0xd0, - 0x08, 0x4d, 0xab, 0x18, 0x83, 0xfb, 0x07, 0x5f, 0xe6, 0xe9, 0x92, 0x3e, 0x8a, 0x4f, 0x60, 0x92, - 0x48, 0xdd, 0x17, 0xc3, 0x04, 0xe8, 0x8c, 0x5c, 0x82, 0xe9, 0xd7, 0x1c, 0xcb, 0x74, 0xb5, 0xb1, - 0x11, 0xcb, 0x3f, 0xe4, 0xd8, 0x02, 0x9e, 0x30, 0xac, 0x63, 0xd9, 0xd8, 0xd5, 0x76, 0x9d, 0x71, - 0xb8, 0xff, 0x95, 0xe3, 0x7a, 0x08, 0x04, 0x59, 0xd7, 0x1c, 0x77, 0x92, 0x71, 0xff, 0x37, 0x81, - 0x2c, 0x10, 0x48, 0xa7, 0xc9, 0xef, 0x5b, 0x78, 0x6c, 0x84, 0xf3, 0x8f, 0x44, 0xa7, 0x39, 0xfc, - 0xca, 0x0b, 0x90, 0x26, 0x3f, 0x59, 0x0e, 0xf4, 0x18, 0xe4, 0x3f, 0xe6, 0xc8, 0x3e, 0x06, 0x69, - 0xd9, 0x71, 0x5b, 0xae, 0x31, 0x9e, 0xd9, 0x7f, 0xc2, 0x67, 0x5a, 0xc0, 0xaf, 0x94, 0x20, 0xe3, - 0xb8, 0xad, 0x56, 0x8f, 0xdb, 0xa7, 0xe3, 0xe2, 0xc3, 0x5f, 0xf6, 0x42, 0x16, 0x1e, 0x0e, 0x99, - 0xed, 0x3b, 0xb7, 0xdc, 0xae, 0x45, 0x4f, 0xe3, 0xc6, 0x46, 0x88, 0x39, 0x85, 0x00, 0xca, 0x4a, - 0x05, 0xb2, 0x64, 0x2c, 0x36, 0xee, 0x62, 0x7a, 0x74, 0x3a, 0x2e, 0x3e, 0xcc, 0x19, 0x10, 0x42, - 0x2a, 0x7f, 0xfd, 0xa8, 0xe0, 0xee, 0xf0, 0x33, 0x04, 0xb8, 0x6a, 0x5d, 0xb5, 0xd8, 0xe9, 0xc1, - 0xab, 0x0f, 0x0f, 0x46, 0x7f, 0xc3, 0x71, 0x5d, 0xfa, 0x0b, 0xfe, 0x2c, 0x09, 0x27, 0x59, 0xb5, - 0xca, 0xaa, 0xd8, 0x07, 0x0f, 0xfa, 0x66, 0x83, 0x55, 0xe3, 0xe3, 0xbe, 0xf2, 0x0d, 0x98, 0xad, - 0x91, 0xd1, 0x13, 0xab, 0xce, 0x3f, 0xcf, 0x18, 0x9a, 0xbd, 0xbc, 0x14, 0x32, 0x60, 0xf8, 0x69, - 0x4e, 0xb0, 0x48, 0xfe, 0x86, 0x08, 0x48, 0x0d, 0x5d, 0x6b, 0x6b, 0xf6, 0x57, 0x4a, 0x0a, 0x3d, - 0x27, 0xe2, 0xfd, 0xde, 0x35, 0xb5, 0xfc, 0xf9, 0xf9, 0xe5, 0xe0, 0xe0, 0x96, 0x59, 0x4b, 0x34, - 0x5f, 0x88, 0xc5, 0xf9, 0xc9, 0xcf, 0xb3, 0x2f, 0x03, 0xf8, 0x15, 0xe8, 0x14, 0x9c, 0x68, 0x54, - 0x4a, 0x6b, 0x25, 0x45, 0xa4, 0xc4, 0x34, 0x36, 0xab, 0x95, 0xda, 0x95, 0x5a, 0x75, 0x55, 0x9a, - 0x42, 0xc7, 0x01, 0x05, 0x2b, 0xbd, 0x14, 0x9e, 0x63, 0x30, 0x13, 0x2c, 0x67, 0x77, 0x32, 0xa2, - 0x64, 0xe7, 0x33, 0x3a, 0xdd, 0x36, 0xa6, 0xe7, 0x6c, 0xaa, 0x21, 0xb8, 0x36, 0x5e, 0xa9, 0xfe, - 0xca, 0x7f, 0x64, 0x79, 0xfa, 0xb3, 0x3e, 0xba, 0xc7, 0xf3, 0x95, 0x35, 0x98, 0xd1, 0x74, 0x1d, - 0x77, 0x43, 0x24, 0xc7, 0x88, 0x1e, 0x21, 0x48, 0x4f, 0x0e, 0x39, 0xa6, 0x4f, 0xed, 0x39, 0x48, - 0x3a, 0x74, 0xf4, 0xe3, 0x48, 0xfc, 0x2a, 0x27, 0xc1, 0xc1, 0x57, 0x4c, 0x98, 0x21, 0x3b, 0x19, - 0x71, 0x78, 0xfd, 0x6e, 0x1c, 0xee, 0x37, 0xfd, 0xd3, 0x9f, 0x7c, 0x8a, 0x9e, 0x23, 0x9e, 0x0e, - 0x4f, 0xcb, 0x10, 0x71, 0x52, 0x24, 0x4e, 0xdb, 0xef, 0x28, 0x86, 0xbc, 0x68, 0x8f, 0x77, 0xf8, - 0xf0, 0xc6, 0x7e, 0x81, 0x37, 0xb6, 0x30, 0x4c, 0x06, 0x02, 0x2d, 0xe5, 0x38, 0x55, 0x56, 0x71, - 0x5f, 0x67, 0x2d, 0x94, 0xf2, 0xe5, 0x60, 0x33, 0xde, 0x59, 0xcb, 0xbf, 0x88, 0xc3, 0x02, 0x07, - 0xde, 0xd6, 0x1c, 0x7c, 0xee, 0xf6, 0xd3, 0xdb, 0xd8, 0xd5, 0x9e, 0x3e, 0xa7, 0x5b, 0x86, 0xc9, - 0x17, 0xe0, 0x2c, 0x5f, 0x8e, 0xa4, 0x7e, 0x99, 0xd7, 0x17, 0x87, 0x1e, 0xd0, 0x14, 0x47, 0x2f, - 0xe3, 0xe2, 0xe0, 0x79, 0x9f, 0xdc, 0x86, 0x78, 0xc5, 0x32, 0x4c, 0x34, 0x07, 0x89, 0x16, 0x36, - 0xad, 0x0e, 0x5f, 0x50, 0xec, 0x03, 0x5d, 0x83, 0xa4, 0xd6, 0xb1, 0x7a, 0xa6, 0xcb, 0x16, 0x53, - 0xf9, 0xa9, 0x5f, 0x7e, 0x73, 0x71, 0xea, 0x3f, 0xbf, 0xb9, 0x78, 0x8c, 0x91, 0x75, 0x5a, 0xb7, - 0x96, 0x0d, 0xeb, 0x5c, 0x47, 0x73, 0xf7, 0xc8, 0x04, 0xfd, 0xda, 0x67, 0x9e, 0x04, 0xde, 0x5e, - 0xcd, 0x74, 0x3f, 0xfd, 0x7b, 0x3f, 0x76, 0x36, 0xa2, 0x70, 0xfc, 0x95, 0xf8, 0xe7, 0x3f, 0xb9, - 0x18, 0x91, 0xbb, 0x30, 0xbd, 0x8a, 0xf5, 0x43, 0x1a, 0xac, 0xf5, 0x35, 0xf8, 0x34, 0x6f, 0xf0, - 0xd4, 0x60, 0x83, 0x2c, 0x01, 0x69, 0x15, 0xeb, 0x81, 0x66, 0x57, 0xb1, 0xde, 0xd7, 0x62, 0x0d, - 0x52, 0x35, 0xd3, 0x65, 0x97, 0x27, 0x5e, 0x80, 0x98, 0x61, 0xb2, 0x7c, 0xdc, 0x74, 0xf9, 0xf1, - 0x23, 0x0c, 0x45, 0x21, 0x78, 0x72, 0x1d, 0x52, 0xab, 0x58, 0x67, 0xa4, 0x2a, 0x10, 0x6b, 0x61, - 0x9d, 0x93, 0xba, 0x8f, 0x4e, 0x12, 0xec, 0xf2, 0xea, 0x6f, 0xfc, 0xce, 0xc2, 0xd4, 0x1b, 0x6f, - 0x2d, 0x4c, 0x8d, 0x14, 0x27, 0x79, 0xfc, 0xd1, 0x9d, 0x27, 0x45, 0xff, 0x3b, 0x02, 0x27, 0xfb, - 0x15, 0xb3, 0x66, 0x1e, 0x8c, 0xba, 0x2c, 0x7f, 0x11, 0x62, 0x25, 0xf3, 0x00, 0x9d, 0x64, 0x26, - 0xaa, 0xda, 0xb3, 0xdb, 0x7c, 0x26, 0xa6, 0xc9, 0xf7, 0x96, 0xdd, 0x26, 0x33, 0x24, 0xee, 0x3b, - 0x45, 0xce, 0x64, 0xf9, 0x25, 0xa6, 0xf2, 0xb7, 0x47, 0x8e, 0xb6, 0x17, 0xa5, 0x4a, 0xe6, 0x01, - 0xe5, 0xd9, 0x66, 0xe4, 0xd5, 0x27, 0xc6, 0x9e, 0x63, 0xdf, 0x32, 0xad, 0x3b, 0x26, 0xe9, 0x76, - 0x77, 0x5b, 0x9c, 0x61, 0x2f, 0xf4, 0x9f, 0x61, 0xbf, 0x17, 0xb7, 0xdb, 0x37, 0x08, 0x5c, 0x33, - 0x34, 0xfe, 0x8f, 0x44, 0x61, 0x61, 0x60, 0x63, 0xe2, 0xdb, 0xf8, 0x28, 0x26, 0xac, 0x40, 0x6a, - 0x55, 0x58, 0x07, 0xf3, 0x30, 0xed, 0x60, 0xdd, 0x32, 0x5b, 0x0e, 0x65, 0x44, 0x4c, 0x11, 0x9f, - 0x84, 0x11, 0xa6, 0x66, 0x5a, 0x0e, 0xbf, 0x8c, 0xc4, 0x3e, 0xca, 0x1f, 0x3b, 0x22, 0x23, 0x72, - 0xa2, 0x25, 0xc1, 0x8d, 0xa7, 0x27, 0xe4, 0x86, 0x18, 0x44, 0xe8, 0x64, 0x7f, 0x52, 0xae, 0x7c, - 0x77, 0x14, 0x16, 0xfb, 0xb9, 0x42, 0x6c, 0x23, 0xc7, 0xd5, 0x3a, 0xdd, 0x51, 0x6c, 0xb9, 0x0c, - 0xe9, 0xa6, 0x80, 0x39, 0x32, 0x5f, 0xee, 0x1d, 0x91, 0x2f, 0x79, 0xaf, 0x29, 0xc1, 0x98, 0xf3, - 0x13, 0x32, 0xc6, 0x1b, 0xc7, 0x7d, 0x71, 0xe6, 0x87, 0xe2, 0xf0, 0x20, 0xbd, 0xad, 0x6a, 0x77, - 0x0c, 0xd3, 0x3d, 0xa7, 0xdb, 0x07, 0x5d, 0xd7, 0x22, 0x0d, 0x59, 0x3b, 0x9c, 0x2f, 0x33, 0x7e, - 0xf5, 0x32, 0xab, 0x1e, 0xae, 0x72, 0xe5, 0x1d, 0x48, 0x6c, 0x12, 0x3c, 0xc2, 0x11, 0xd7, 0x72, - 0xb5, 0x36, 0xe7, 0x14, 0xfb, 0x20, 0xa5, 0xec, 0x86, 0x6b, 0x94, 0x95, 0x1a, 0xe2, 0x72, 0x6b, - 0x1b, 0x6b, 0x3b, 0xec, 0xa2, 0x50, 0x8c, 0x2e, 0xb1, 0x14, 0x29, 0xa0, 0x77, 0x82, 0xe6, 0x20, - 0xa1, 0xf5, 0x58, 0x32, 0x4f, 0x8c, 0xac, 0x3d, 0xfa, 0x21, 0xdf, 0x80, 0x69, 0x7e, 0x6a, 0x8b, - 0x24, 0x88, 0xdd, 0xc2, 0x07, 0xb4, 0x9d, 0xac, 0x42, 0x7e, 0xa2, 0x65, 0x48, 0xd0, 0xce, 0xf3, - 0x1b, 0x90, 0xf3, 0xcb, 0x03, 0xbd, 0x5f, 0xa6, 0x9d, 0x54, 0x18, 0x98, 0x7c, 0x1d, 0x52, 0xab, - 0x16, 0xd9, 0x09, 0xc2, 0xd4, 0xd2, 0x8c, 0x1a, 0xed, 0x73, 0xb7, 0xc7, 0xf5, 0xb0, 0xc2, 0x3e, - 0xd0, 0x71, 0x48, 0xb2, 0x8b, 0x63, 0x3c, 0x21, 0x89, 0x7f, 0xc9, 0x15, 0x98, 0xa6, 0xb4, 0xeb, - 0x5d, 0x62, 0x98, 0x79, 0xb9, 0xf4, 0x69, 0x7e, 0x8d, 0x98, 0x93, 0x8f, 0xfa, 0x9d, 0x45, 0x10, - 0x6f, 0x69, 0xae, 0xc6, 0xc7, 0x4d, 0x7f, 0xcb, 0xef, 0x81, 0x14, 0x27, 0xe2, 0xa0, 0xf3, 0x10, - 0xb3, 0xba, 0x0e, 0x4f, 0x29, 0x2a, 0x8e, 0x1a, 0x4a, 0xbd, 0x5b, 0x8e, 0x13, 0xdd, 0xab, 0x10, - 0xe0, 0xf2, 0xc6, 0x48, 0x35, 0xfa, 0x6c, 0x48, 0x8d, 0x76, 0xb0, 0xbb, 0xbd, 0xe3, 0xfa, 0x3f, - 0xd8, 0x74, 0x0e, 0x88, 0x82, 0x27, 0x28, 0x7f, 0x16, 0x81, 0x07, 0x06, 0x05, 0xe5, 0x16, 0x3e, - 0x70, 0x8e, 0x2a, 0x27, 0x2f, 0x43, 0x7a, 0x93, 0x3e, 0xe9, 0x71, 0x03, 0x1f, 0xa0, 0x22, 0x4c, - 0xe3, 0xd6, 0xf9, 0x0b, 0x17, 0x9e, 0xbe, 0xc4, 0x66, 0xf1, 0xda, 0x94, 0x22, 0x0a, 0xd0, 0x02, - 0xa4, 0x1d, 0xac, 0x77, 0xcf, 0x5f, 0xb8, 0x78, 0xeb, 0x69, 0xc6, 0xb6, 0x6b, 0x53, 0x8a, 0x5f, - 0xb4, 0x92, 0x22, 0x7b, 0xdb, 0xe7, 0x3f, 0xb5, 0x18, 0x29, 0x27, 0x20, 0xe6, 0xf4, 0x3a, 0xef, - 0xd8, 0xd8, 0xbf, 0x39, 0x15, 0x5a, 0x24, 0x6c, 0xf5, 0x75, 0x35, 0x5b, 0xeb, 0x88, 0xc1, 0x4b, - 0x81, 0xc1, 0xd3, 0xea, 0x11, 0x66, 0xc9, 0x18, 0xdd, 0x2c, 0xff, 0x44, 0x14, 0x0a, 0x15, 0xcb, - 0x74, 0xb0, 0xe9, 0xf4, 0x9c, 0x4d, 0xda, 0x02, 0x7a, 0x06, 0x12, 0xdb, 0x6d, 0x4b, 0xbf, 0x45, - 0x19, 0x94, 0x39, 0xff, 0xe0, 0x72, 0x7f, 0x5b, 0xcb, 0x65, 0x52, 0xcd, 0xa0, 0x15, 0x06, 0x8b, - 0xde, 0x0d, 0x29, 0x7c, 0xdb, 0x68, 0x61, 0x53, 0xc7, 0x7c, 0x29, 0x2c, 0x0d, 0xe2, 0x55, 0x39, - 0x04, 0x47, 0xf5, 0x30, 0xd0, 0x8b, 0x90, 0xbe, 0xad, 0xb5, 0x8d, 0x96, 0xe6, 0x5a, 0xb6, 0x77, - 0xc7, 0x74, 0x00, 0xfd, 0xa6, 0x00, 0xe1, 0xf8, 0x3e, 0x0e, 0xba, 0x04, 0xd3, 0xb7, 0xb1, 0x4d, - 0x33, 0x0e, 0xe3, 0xfc, 0xda, 0xe7, 0x20, 0x3a, 0x03, 0xe0, 0xc8, 0x02, 0x1e, 0x3d, 0x05, 0x71, - 0x6d, 0x5b, 0x37, 0x68, 0x2e, 0x5a, 0xe6, 0xfc, 0x03, 0x83, 0x78, 0xa5, 0x72, 0xa5, 0xc6, 0x91, - 0x28, 0xa4, 0x5c, 0x83, 0x4c, 0x80, 0x03, 0xec, 0x46, 0xcf, 0xbe, 0xba, 0x7d, 0xe0, 0x62, 0xa1, - 0xac, 0x53, 0x1d, 0x6d, 0xbf, 0x4c, 0xbe, 0xd1, 0x09, 0x98, 0x26, 0x95, 0xbb, 0x3c, 0x67, 0x3c, - 0xa6, 0x24, 0x3b, 0xda, 0xfe, 0x55, 0xcd, 0xb9, 0x1e, 0x4f, 0xc5, 0xa4, 0xb8, 0xfc, 0x23, 0x11, - 0xc8, 0x87, 0xb9, 0x82, 0x1e, 0x07, 0x44, 0x30, 0xb4, 0x5d, 0xac, 0x9a, 0xbd, 0x8e, 0x4a, 0xd9, - 0x2b, 0xe8, 0x16, 0x3a, 0xda, 0x7e, 0x69, 0x17, 0x6f, 0xf4, 0x3a, 0xb4, 0x03, 0x0e, 0x5a, 0x07, - 0x49, 0x00, 0x8b, 0x99, 0xe5, 0xec, 0x3f, 0x39, 0xf8, 0x46, 0x05, 0x07, 0x28, 0xa7, 0xc8, 0xea, - 0xfd, 0xe8, 0x6f, 0x2d, 0x46, 0x94, 0x3c, 0xa3, 0xe7, 0xed, 0xc6, 0xa1, 0xa1, 0xc4, 0xc2, 0x43, - 0x91, 0x5f, 0x84, 0x42, 0xdf, 0x0c, 0x20, 0x19, 0x72, 0xdd, 0xde, 0xb6, 0x7a, 0x0b, 0x1f, 0x50, - 0xdf, 0x8e, 0xa9, 0x8e, 0xb4, 0x92, 0xe9, 0xf6, 0xb6, 0x6f, 0xe0, 0x03, 0xaa, 0xf9, 0x57, 0x52, - 0x3f, 0x43, 0x56, 0x0d, 0xb1, 0x0a, 0x1f, 0x87, 0x5c, 0x68, 0x0e, 0x88, 0x86, 0xd2, 0xba, 0x5d, - 0x3a, 0xb6, 0xb8, 0x42, 0x7e, 0x06, 0x80, 0x5f, 0x85, 0x2c, 0xd1, 0xc9, 0xb8, 0xc5, 0x61, 0x1f, - 0x81, 0x02, 0x65, 0x85, 0xda, 0xcf, 0xeb, 0x1c, 0x2d, 0x5e, 0x17, 0x0c, 0x97, 0x21, 0xe7, 0xc3, - 0xf9, 0x6c, 0xcf, 0x08, 0xa8, 0xab, 0x9a, 0x23, 0xd7, 0x01, 0xfc, 0x49, 0x45, 0x25, 0x78, 0xf0, - 0xb6, 0xe5, 0xe2, 0x60, 0x6c, 0x95, 0xdf, 0x2e, 0xdc, 0xc3, 0xc6, 0xee, 0x9e, 0xcb, 0xdb, 0x29, - 0x12, 0x20, 0x3f, 0x7e, 0xca, 0xee, 0x18, 0x5e, 0xa3, 0x10, 0xe5, 0x97, 0x3e, 0xfd, 0xd6, 0xc2, - 0xc8, 0x0d, 0xf8, 0xd5, 0x67, 0x8e, 0xa6, 0x0c, 0xc2, 0x06, 0xe6, 0x1f, 0x25, 0x61, 0x69, 0x40, - 0x17, 0x78, 0x82, 0x7f, 0x44, 0x75, 0x70, 0xa8, 0x46, 0x95, 0x7f, 0x22, 0x02, 0x59, 0x6f, 0x86, - 0x1b, 0xd8, 0x45, 0x97, 0x01, 0xbc, 0x96, 0xc4, 0xb6, 0x70, 0xea, 0x90, 0x75, 0xa9, 0x04, 0xc0, - 0xd1, 0x73, 0x90, 0xea, 0xda, 0x56, 0xd7, 0x72, 0xf8, 0x7d, 0xf2, 0x31, 0xa8, 0x1e, 0x30, 0x7a, - 0x02, 0x10, 0xdd, 0xc1, 0xd5, 0xdb, 0x96, 0x6b, 0x98, 0xbb, 0x6a, 0xd7, 0xba, 0xc3, 0x5f, 0xe9, - 0x88, 0x29, 0x12, 0xad, 0xb9, 0x49, 0x2b, 0x36, 0x49, 0x39, 0xe9, 0x74, 0xda, 0xa3, 0x42, 0xcc, - 0x26, 0xad, 0xd5, 0xb2, 0xb1, 0xe3, 0xf0, 0x4d, 0x5a, 0x7c, 0xa2, 0xcb, 0x30, 0xcd, 0x45, 0x95, - 0xf7, 0xe6, 0x81, 0x61, 0xfb, 0x9b, 0xd8, 0x27, 0xf8, 0x0e, 0x97, 0x64, 0x82, 0x8c, 0x4e, 0x43, - 0x76, 0x48, 0x67, 0x32, 0xb7, 0xfd, 0x7e, 0xd0, 0x17, 0xa5, 0xf8, 0x08, 0xd4, 0xae, 0x6d, 0x58, - 0xb6, 0xe1, 0x1e, 0x50, 0x5d, 0x14, 0x53, 0x24, 0x51, 0xb1, 0xc9, 0xcb, 0xe5, 0x5b, 0x50, 0x68, - 0xd0, 0x00, 0x82, 0xdf, 0xf3, 0x0b, 0x7e, 0xff, 0x22, 0xe3, 0xfb, 0x37, 0xb2, 0x67, 0xd1, 0x81, - 0x9e, 0x9d, 0xfd, 0xf5, 0x08, 0xd7, 0x57, 0xb5, 0xd5, 0x2b, 0x6d, 0x6d, 0x17, 0x3d, 0x0d, 0xc7, - 0xca, 0x6b, 0xf5, 0xca, 0x0d, 0xb5, 0xb6, 0xaa, 0x5e, 0x59, 0x2b, 0x5d, 0xf5, 0xf3, 0xec, 0x8b, - 0xc7, 0xef, 0xde, 0x5b, 0x42, 0x01, 0xd8, 0x2d, 0x93, 0xda, 0x7c, 0xe8, 0x1c, 0xcc, 0x85, 0x51, - 0x4a, 0xe5, 0x46, 0x75, 0xa3, 0x29, 0x45, 0x8a, 0xc7, 0xee, 0xde, 0x5b, 0x9a, 0x09, 0x60, 0x94, - 0xb6, 0x1d, 0x6c, 0xba, 0x83, 0x08, 0x95, 0xfa, 0xfa, 0x7a, 0xad, 0x29, 0x45, 0x07, 0x10, 0x2a, - 0x56, 0xa7, 0x63, 0xb8, 0xe8, 0x31, 0x98, 0x09, 0x23, 0x6c, 0xd4, 0xd6, 0xa4, 0x58, 0x11, 0xdd, - 0xbd, 0xb7, 0x94, 0x0f, 0x40, 0x6f, 0x18, 0xed, 0x62, 0xea, 0x43, 0x3f, 0xb0, 0x30, 0xf5, 0xe9, - 0xbf, 0xb7, 0x10, 0x29, 0xaf, 0xbf, 0x33, 0x4b, 0xee, 0x3f, 0xbd, 0x02, 0xa7, 0x02, 0x95, 0x44, - 0xe7, 0x33, 0x08, 0x61, 0xb9, 0x07, 0x26, 0x86, 0x54, 0x16, 0x0f, 0xb7, 0x68, 0x0f, 0x5f, 0x75, - 0xc5, 0xc3, 0x77, 0xfa, 0xe2, 0xd8, 0xc5, 0x5f, 0x1c, 0xe7, 0x69, 0x8c, 0x30, 0x8b, 0xfe, 0x59, - 0x1a, 0xa6, 0x15, 0xfc, 0x81, 0x1e, 0x76, 0x5c, 0x74, 0x1e, 0xe2, 0x58, 0xdf, 0xb3, 0x86, 0x49, - 0x1e, 0x19, 0xe0, 0x32, 0x87, 0xab, 0xea, 0x7b, 0xd6, 0xb5, 0x29, 0x85, 0xc2, 0xa2, 0x0b, 0x90, - 0xd8, 0x69, 0xf7, 0x9c, 0x3d, 0xef, 0xed, 0x8f, 0x11, 0x48, 0x57, 0x08, 0xd0, 0xb5, 0x29, 0x85, - 0x41, 0x93, 0xa6, 0xe8, 0x7b, 0x5e, 0xb1, 0xc3, 0x9b, 0xaa, 0x99, 0x3b, 0xb4, 0x29, 0x02, 0x8b, - 0xca, 0x00, 0x86, 0x69, 0xb8, 0xaa, 0xbe, 0xa7, 0x19, 0x26, 0xdf, 0xa8, 0x4f, 0x8f, 0xc6, 0x34, - 0xdc, 0x0a, 0x01, 0x24, 0xc6, 0x9b, 0x21, 0x3e, 0x48, 0x77, 0x3f, 0xd0, 0xc3, 0xf6, 0x01, 0xbd, - 0x29, 0x71, 0x48, 0x77, 0x5f, 0x22, 0x40, 0xa4, 0xbb, 0x14, 0x9a, 0xd8, 0x35, 0xec, 0x69, 0x00, - 0x77, 0x9f, 0x3f, 0x78, 0xb3, 0x38, 0x0a, 0x93, 0xbe, 0x0f, 0xd0, 0xdc, 0x27, 0x16, 0xa5, 0xce, - 0x7e, 0xa2, 0xe7, 0x21, 0xa9, 0x53, 0xf9, 0xa6, 0xf7, 0x75, 0x33, 0xe7, 0x17, 0x46, 0xe2, 0x52, - 0xa8, 0x6b, 0x53, 0x0a, 0x87, 0x47, 0x1b, 0x90, 0x6f, 0x1b, 0x8e, 0xab, 0x3a, 0xa6, 0xd6, 0x75, - 0xf6, 0x2c, 0xd7, 0xa1, 0xef, 0x97, 0x65, 0xce, 0x3f, 0x3c, 0x8a, 0xc2, 0x9a, 0xe1, 0xb8, 0x0d, - 0x01, 0x7c, 0x6d, 0x4a, 0xc9, 0xb5, 0x83, 0x05, 0x84, 0x9e, 0xb5, 0xb3, 0x83, 0x6d, 0x8f, 0x20, - 0x7d, 0xf6, 0xec, 0x10, 0x7a, 0x75, 0x02, 0x2d, 0xf0, 0x09, 0x3d, 0x2b, 0x58, 0x80, 0xbe, 0x16, - 0x66, 0xdb, 0x96, 0xd6, 0xf2, 0xc8, 0xa9, 0xfa, 0x5e, 0xcf, 0xbc, 0x35, 0x9f, 0xa7, 0x44, 0x1f, - 0x1b, 0xd9, 0x49, 0x4b, 0x6b, 0x09, 0x12, 0x15, 0x82, 0x70, 0x6d, 0x4a, 0x99, 0x69, 0xf7, 0x17, - 0xa2, 0xf7, 0xc3, 0x9c, 0xd6, 0xed, 0xb6, 0x0f, 0xfa, 0xa9, 0x17, 0x28, 0xf5, 0xb3, 0xa3, 0xa8, - 0x97, 0x08, 0x4e, 0x3f, 0x79, 0xa4, 0x0d, 0x94, 0xa2, 0x26, 0x48, 0x5d, 0x1b, 0xd3, 0x8c, 0x20, - 0xa6, 0x9a, 0xb5, 0x36, 0xbd, 0x4d, 0x9b, 0x39, 0xff, 0xe8, 0x28, 0xda, 0x9b, 0x0c, 0x7e, 0x93, - 0x83, 0x5f, 0x9b, 0x52, 0x0a, 0xdd, 0x70, 0x11, 0xa3, 0x6a, 0xe9, 0x98, 0x5e, 0xf6, 0xe7, 0x54, - 0x67, 0xc6, 0x51, 0xa5, 0xf0, 0x61, 0xaa, 0xa1, 0x22, 0x54, 0x85, 0x0c, 0x7b, 0xdf, 0x89, 0x6c, - 0x87, 0x98, 0xde, 0xc1, 0xcd, 0x9c, 0x97, 0x47, 0xae, 0x50, 0x0a, 0x7a, 0xd3, 0x72, 0xf1, 0xb5, - 0x29, 0x05, 0xb0, 0xf7, 0x85, 0x34, 0x38, 0x46, 0xaf, 0x23, 0x1f, 0xa8, 0x61, 0x5b, 0x67, 0x7e, - 0x96, 0x12, 0x7c, 0x7c, 0x14, 0xc1, 0x9b, 0x14, 0xe9, 0x66, 0xd0, 0xf4, 0xb9, 0x36, 0xa5, 0xcc, - 0xde, 0x1e, 0x2c, 0x26, 0x22, 0xb6, 0x63, 0x98, 0x5a, 0xdb, 0x78, 0x1d, 0x33, 0xab, 0x95, 0x3e, - 0xc4, 0x71, 0x88, 0x88, 0x5d, 0xe1, 0xd0, 0x54, 0xbf, 0x13, 0x11, 0xdb, 0x09, 0x16, 0x94, 0xa7, - 0x79, 0x24, 0xcc, 0xbb, 0x58, 0x3e, 0x2d, 0xa5, 0xd8, 0x65, 0xf2, 0xeb, 0xf1, 0x14, 0x48, 0x19, - 0xf9, 0x51, 0xc8, 0x04, 0x14, 0x13, 0xd9, 0xfb, 0xf9, 0x11, 0xac, 0x88, 0xa9, 0xf1, 0x4f, 0x39, - 0x0f, 0xd9, 0xa0, 0x32, 0x92, 0x3f, 0x1c, 0xf1, 0x30, 0xe9, 0x8d, 0x9a, 0x79, 0xdf, 0x7b, 0xe0, - 0x98, 0xc2, 0x39, 0x78, 0x48, 0x58, 0x93, 0xa2, 0x3e, 0x4a, 0x6d, 0xd5, 0x2c, 0x2d, 0xe4, 0xc6, - 0x2c, 0x5a, 0x84, 0x4c, 0xf7, 0x7c, 0xd7, 0x03, 0x89, 0x51, 0x10, 0xe8, 0x9e, 0xef, 0x0a, 0x80, - 0xd3, 0x90, 0x25, 0xe3, 0x56, 0x83, 0x2e, 0x4a, 0x5a, 0xc9, 0x90, 0x32, 0x0e, 0x22, 0xff, 0xdb, - 0x28, 0x48, 0xfd, 0x0a, 0x0c, 0x3d, 0x0f, 0x71, 0xa2, 0xcb, 0xb9, 0x5a, 0x2e, 0x0e, 0x58, 0xf4, - 0x5e, 0x0c, 0x87, 0x99, 0xf4, 0x1f, 0x26, 0x26, 0x3d, 0xc5, 0x40, 0x27, 0x89, 0xda, 0xd2, 0x0c, - 0x53, 0x35, 0x5a, 0xe2, 0x69, 0x4c, 0xfa, 0x5d, 0x6b, 0xa1, 0x35, 0x90, 0x74, 0xe1, 0xf1, 0xa9, - 0x6c, 0xab, 0x19, 0xed, 0x72, 0xf5, 0xf9, 0x86, 0x4a, 0x41, 0xef, 0x73, 0x16, 0xaf, 0x84, 0x4c, - 0x44, 0xf1, 0xe0, 0x65, 0xff, 0x84, 0x7b, 0x66, 0xce, 0x56, 0xb7, 0xa5, 0xb9, 0x98, 0x5b, 0x57, - 0x41, 0x6b, 0xf1, 0x11, 0x28, 0x68, 0xdd, 0xae, 0xea, 0xb8, 0x9a, 0x8b, 0xb9, 0x79, 0x9f, 0xa0, - 0x06, 0x5c, 0x4e, 0xeb, 0x76, 0x1b, 0xa4, 0x94, 0x99, 0xf7, 0x0f, 0x43, 0x9e, 0xe8, 0x74, 0x43, - 0x6b, 0x0b, 0xeb, 0x3c, 0xc9, 0xbc, 0x00, 0x5e, 0xca, 0x0c, 0x72, 0xb9, 0xe5, 0xcd, 0x38, 0xd5, - 0xe7, 0x5e, 0xe4, 0x23, 0xe2, 0x47, 0x3e, 0x48, 0x19, 0xbd, 0xe9, 0xc4, 0xf8, 0x23, 0x6e, 0x87, - 0x25, 0x39, 0x59, 0x66, 0xe2, 0xf1, 0x2f, 0x34, 0x47, 0xc3, 0x3c, 0xb7, 0xd9, 0xed, 0xbd, 0x94, - 0xc2, 0x3e, 0x64, 0x05, 0xf2, 0x61, 0xdd, 0x8f, 0xf2, 0x10, 0x75, 0xf7, 0x79, 0x2b, 0x51, 0x77, - 0x9f, 0x38, 0x97, 0xde, 0xfb, 0x40, 0xf9, 0x21, 0xbb, 0x1d, 0xc7, 0xf3, 0x1f, 0x7f, 0x93, 0x0b, - 0x90, 0x0b, 0xed, 0x09, 0xf2, 0x71, 0x98, 0x1b, 0xa6, 0xe2, 0xe5, 0x3d, 0xaf, 0x3c, 0xa4, 0xaa, - 0xd1, 0x05, 0x48, 0x79, 0x3a, 0x3e, 0xc2, 0x5d, 0xc1, 0xfe, 0x66, 0x05, 0xb0, 0xe2, 0x81, 0x12, - 0x89, 0x21, 0x13, 0x40, 0xe3, 0x62, 0x51, 0x6e, 0x3a, 0x77, 0xbb, 0xc4, 0x05, 0x93, 0xbf, 0x1e, - 0xe6, 0x47, 0xe9, 0xef, 0x00, 0xc3, 0x98, 0x17, 0x27, 0x18, 0x76, 0x1c, 0x92, 0xfc, 0x21, 0x0e, - 0x42, 0x2c, 0xa7, 0xf0, 0x2f, 0xc2, 0x48, 0xa6, 0xcb, 0x63, 0xb4, 0x98, 0x7d, 0xc8, 0x2a, 0x9c, - 0x1c, 0xa9, 0xc3, 0xfd, 0x40, 0x5e, 0x84, 0xa1, 0xb0, 0x40, 0x9e, 0x47, 0x88, 0xc7, 0xc9, 0x75, - 0xd1, 0x1d, 0x87, 0x8e, 0x55, 0x84, 0xca, 0xd8, 0x97, 0xfc, 0xd1, 0x18, 0x1c, 0x1f, 0xae, 0xc9, - 0xd1, 0x12, 0x64, 0x89, 0xab, 0xe8, 0x86, 0xbd, 0x4a, 0xe8, 0x68, 0xfb, 0x4d, 0xee, 0x52, 0x4a, - 0x10, 0x73, 0xf7, 0x1d, 0x7a, 0x63, 0x30, 0xab, 0x90, 0x9f, 0x68, 0x0b, 0x66, 0xda, 0x96, 0xae, - 0xb5, 0xd5, 0xb6, 0xe6, 0xb8, 0x2a, 0xdf, 0xe2, 0xd9, 0x22, 0x7a, 0x68, 0x80, 0xd9, 0x4c, 0x27, - 0xb3, 0x6b, 0x7d, 0x06, 0x55, 0x38, 0x5c, 0xfe, 0x0b, 0x94, 0xc6, 0x9a, 0x26, 0xa6, 0x1a, 0xad, - 0x42, 0xa6, 0x63, 0x38, 0xdb, 0x78, 0x4f, 0xbb, 0x6d, 0x58, 0x36, 0x5f, 0x4d, 0x83, 0x42, 0xb3, - 0xee, 0xc3, 0x70, 0x4a, 0x41, 0xb4, 0xc0, 0x94, 0x24, 0x42, 0x32, 0x2c, 0xb4, 0x49, 0xf2, 0xc8, - 0xda, 0xe4, 0x29, 0x98, 0x33, 0xf1, 0x3e, 0xbd, 0x92, 0xca, 0xd7, 0x2b, 0x93, 0x13, 0x76, 0xa3, - 0x14, 0x91, 0x3a, 0x6f, 0x85, 0x3b, 0x34, 0x92, 0xfa, 0x18, 0x78, 0x4e, 0x8f, 0x2a, 0x1c, 0xb2, - 0x14, 0x85, 0x2e, 0x88, 0xf2, 0x12, 0x2b, 0x96, 0x3f, 0x14, 0x9c, 0x9a, 0xf0, 0xde, 0xc7, 0x19, - 0x1f, 0xf1, 0x19, 0xdf, 0x80, 0x39, 0x8e, 0xdf, 0x0a, 0xf1, 0x7e, 0x88, 0x83, 0xc9, 0xd6, 0x57, - 0x3f, 0xcf, 0x91, 0x40, 0x1f, 0xcd, 0xf6, 0xd8, 0xfd, 0xb1, 0x1d, 0x41, 0x9c, 0x32, 0x25, 0xce, - 0x54, 0x0c, 0xf9, 0xfd, 0xff, 0xda, 0x54, 0x7c, 0x30, 0x06, 0x33, 0x03, 0x86, 0x84, 0x37, 0xb0, - 0xc8, 0xd0, 0x81, 0x45, 0x87, 0x0e, 0x2c, 0x76, 0xe4, 0x81, 0xf1, 0xb9, 0x8e, 0x8f, 0x9f, 0xeb, - 0xc4, 0xdb, 0x38, 0xd7, 0xc9, 0xfb, 0x9b, 0xeb, 0x77, 0x74, 0x16, 0x3e, 0x1e, 0x81, 0xe2, 0x68, - 0xeb, 0x6b, 0xe8, 0x74, 0x3c, 0x0e, 0x33, 0x5e, 0x57, 0x3c, 0xf2, 0x4c, 0x31, 0x4a, 0x5e, 0x05, - 0xa7, 0x3f, 0x72, 0x8f, 0x7b, 0x18, 0xf2, 0x7d, 0xb6, 0x21, 0x13, 0xe5, 0x5c, 0x28, 0xf0, 0x25, - 0x7f, 0x63, 0xcc, 0xdb, 0x78, 0x42, 0x06, 0xdc, 0x90, 0xd5, 0xfa, 0x12, 0xcc, 0xb6, 0xb0, 0x6e, - 0xb4, 0xee, 0x77, 0xb1, 0xce, 0x70, 0xec, 0xff, 0xbf, 0x56, 0x07, 0xa5, 0xe4, 0x3b, 0x01, 0x52, - 0x0a, 0x76, 0xba, 0xc4, 0x1e, 0x43, 0x65, 0x48, 0xe3, 0x7d, 0x1d, 0x77, 0x5d, 0x61, 0xc2, 0x0e, - 0x77, 0x11, 0x18, 0x74, 0x55, 0x40, 0x12, 0x07, 0xd9, 0x43, 0x43, 0xcf, 0xf0, 0x18, 0xc0, 0x68, - 0x77, 0x9e, 0xa3, 0x07, 0x83, 0x00, 0x17, 0x45, 0x10, 0x20, 0x36, 0xd2, 0xbf, 0x65, 0x58, 0x7d, - 0x51, 0x80, 0x67, 0x78, 0x14, 0x20, 0x3e, 0xa6, 0xb1, 0x50, 0x18, 0xa0, 0x12, 0x0a, 0x03, 0x24, - 0xc7, 0x0c, 0x73, 0x44, 0x1c, 0xe0, 0xa2, 0x88, 0x03, 0x4c, 0x8f, 0xe9, 0x71, 0x5f, 0x20, 0xe0, - 0x85, 0x40, 0x20, 0x20, 0x3d, 0x78, 0xc0, 0x11, 0x42, 0x1d, 0x12, 0x09, 0xb8, 0xe4, 0x45, 0x02, - 0xb2, 0x23, 0xa3, 0x08, 0x1c, 0xb9, 0x3f, 0x14, 0x50, 0x1f, 0x08, 0x05, 0xe4, 0xf8, 0xb3, 0xce, - 0xa3, 0x48, 0x8c, 0x89, 0x05, 0xd4, 0x07, 0x62, 0x01, 0xf9, 0x31, 0x04, 0xc7, 0x04, 0x03, 0xbe, - 0x6e, 0x78, 0x30, 0x60, 0xb4, 0xbb, 0xce, 0xbb, 0x39, 0x59, 0x34, 0x40, 0x1d, 0x11, 0x0d, 0x90, - 0x46, 0x7a, 0xae, 0x8c, 0xfc, 0xc4, 0xe1, 0x80, 0xad, 0x21, 0xe1, 0x00, 0xe6, 0xb8, 0x9f, 0x19, - 0x49, 0x7c, 0x82, 0x78, 0xc0, 0xd6, 0x90, 0x78, 0x00, 0x1a, 0x4b, 0x76, 0x6c, 0x40, 0xe0, 0x4a, - 0x38, 0x20, 0x30, 0x3b, 0xc2, 0xea, 0xf4, 0x57, 0xfb, 0x88, 0x88, 0xc0, 0xf6, 0xa8, 0x88, 0x00, - 0xf3, 0xda, 0x9f, 0x18, 0x49, 0xf1, 0x08, 0x21, 0x81, 0xfa, 0x40, 0x48, 0xe0, 0xd8, 0x18, 0x49, - 0x9b, 0x3c, 0x26, 0xc0, 0x9e, 0x99, 0x63, 0x0f, 0xcc, 0x81, 0x94, 0xb9, 0x1e, 0x4f, 0x65, 0xa4, - 0xac, 0xfc, 0x18, 0xb1, 0x60, 0xfa, 0xf4, 0x1c, 0xf1, 0x15, 0xb0, 0x6d, 0x5b, 0xb6, 0xc8, 0x7a, - 0xa2, 0x1f, 0xf2, 0x19, 0xe2, 0x23, 0xfa, 0x3a, 0xed, 0x90, 0xf8, 0x01, 0xf5, 0xc9, 0x02, 0x7a, - 0x4c, 0xfe, 0x99, 0x88, 0x8f, 0x4b, 0x23, 0x08, 0x41, 0xff, 0x32, 0xcd, 0xfd, 0xcb, 0x40, 0x54, - 0x21, 0x1a, 0x8e, 0x2a, 0x2c, 0x42, 0x86, 0xf8, 0x5a, 0x7d, 0x01, 0x03, 0xad, 0xeb, 0x05, 0x0c, - 0xce, 0xc2, 0x0c, 0xdd, 0x30, 0x59, 0xec, 0x81, 0x6f, 0x4b, 0xec, 0x30, 0xa1, 0x40, 0x2a, 0x18, - 0x77, 0xd8, 0xfe, 0xf4, 0x24, 0xcc, 0x06, 0x60, 0x3d, 0x1f, 0x8e, 0x79, 0xcf, 0x92, 0x07, 0x5d, - 0xe2, 0xce, 0xdc, 0xbf, 0x8c, 0xf8, 0x1c, 0xf2, 0x23, 0x0d, 0xc3, 0x82, 0x02, 0x91, 0xb7, 0x29, - 0x28, 0x10, 0xbd, 0xef, 0xa0, 0x40, 0xd0, 0x27, 0x8d, 0x85, 0x7d, 0xd2, 0xff, 0x19, 0xf1, 0xe7, - 0xc4, 0x73, 0xf1, 0x75, 0xab, 0x85, 0xb9, 0x97, 0x48, 0x7f, 0x13, 0x93, 0xa4, 0x6d, 0xed, 0x72, - 0x5f, 0x90, 0xfc, 0x24, 0x50, 0xde, 0xc6, 0x93, 0xe6, 0xfb, 0x8a, 0xe7, 0x60, 0x26, 0x82, 0x99, - 0x22, 0x3c, 0x7d, 0x22, 0xe9, 0xa7, 0x4f, 0x78, 0xa9, 0x59, 0xd3, 0x81, 0xd4, 0x2c, 0xf4, 0x3c, - 0xa4, 0x69, 0xb0, 0x5f, 0xb5, 0xba, 0xe2, 0x4d, 0xf4, 0x53, 0xa3, 0x53, 0x27, 0x1c, 0x7a, 0xd0, - 0xc5, 0xd2, 0x2d, 0x7c, 0x8b, 0x23, 0x1d, 0xb2, 0x38, 0x1e, 0x80, 0x34, 0xe9, 0x3d, 0x7b, 0xdb, - 0x13, 0x78, 0x66, 0xb6, 0x28, 0x90, 0x7f, 0x34, 0x0a, 0x85, 0xbe, 0x8d, 0x66, 0xe8, 0xd8, 0x85, - 0x48, 0x46, 0x03, 0x21, 0x8f, 0xc9, 0xf8, 0xb1, 0x00, 0xb0, 0xab, 0x39, 0xea, 0x1d, 0xcd, 0x74, - 0x71, 0x8b, 0x33, 0x25, 0x50, 0x82, 0x8a, 0x90, 0x22, 0x5f, 0x3d, 0x07, 0xb7, 0x78, 0xf4, 0xc5, - 0xfb, 0x46, 0xd7, 0x20, 0x89, 0x6f, 0xd3, 0xb7, 0x6d, 0xd8, 0x0b, 0x51, 0xc7, 0x07, 0xdd, 0x61, - 0x52, 0x5d, 0x9e, 0x27, 0x93, 0xfd, 0x85, 0x37, 0x17, 0x25, 0x06, 0xfd, 0x84, 0xf7, 0x94, 0x87, - 0xc2, 0xf1, 0xc3, 0x5c, 0x48, 0xf5, 0x71, 0x81, 0xc6, 0x01, 0xb3, 0xc2, 0xbd, 0x27, 0x3c, 0x65, - 0x27, 0x6b, 0x4a, 0xae, 0x83, 0x3b, 0x5d, 0xcb, 0x6a, 0xab, 0x6c, 0x8d, 0x97, 0x20, 0x1f, 0xde, - 0x57, 0xd9, 0xbb, 0xdb, 0xae, 0x66, 0x98, 0x6a, 0xc8, 0x08, 0xce, 0xb2, 0x42, 0xb6, 0xa6, 0xae, - 0xc7, 0x53, 0x11, 0x29, 0x7a, 0x3d, 0x9e, 0x8a, 0x4a, 0x31, 0x79, 0x13, 0x8e, 0x0d, 0xdd, 0x57, - 0xd1, 0x73, 0x90, 0xf6, 0xb7, 0x64, 0x76, 0x38, 0x7a, 0x48, 0xa4, 0xc5, 0x87, 0x95, 0x7f, 0x21, - 0xe2, 0x93, 0x0c, 0xc7, 0x6e, 0xaa, 0x90, 0xb4, 0xb1, 0xd3, 0x6b, 0xbb, 0xfc, 0x51, 0xcc, 0x27, - 0x27, 0xdb, 0x91, 0x49, 0x69, 0xaf, 0xed, 0x2a, 0x1c, 0x59, 0x7e, 0x3f, 0x24, 0x59, 0x09, 0xca, - 0xc0, 0xb4, 0xff, 0x8a, 0x16, 0x40, 0xb2, 0x54, 0xa9, 0x54, 0x37, 0xc5, 0x93, 0x38, 0xe5, 0xba, - 0xd2, 0x94, 0xa2, 0xa4, 0x58, 0xa9, 0x5e, 0xaf, 0x56, 0x9a, 0x52, 0x0c, 0xcd, 0x40, 0x8e, 0xfd, - 0x56, 0xaf, 0xd4, 0x95, 0xf5, 0x52, 0x53, 0x8a, 0x07, 0x8a, 0x1a, 0xd5, 0x8d, 0xd5, 0xaa, 0x22, - 0x25, 0xe4, 0xa7, 0xe1, 0xe4, 0xc8, 0x3d, 0xdc, 0x0f, 0xcc, 0x44, 0x02, 0x81, 0x19, 0xf9, 0xa3, - 0x51, 0xe2, 0xd4, 0x8c, 0xda, 0x98, 0xd1, 0xf5, 0xbe, 0x81, 0x9f, 0x3f, 0xc2, 0xae, 0xde, 0x37, - 0x7a, 0xe2, 0xc7, 0xd8, 0x78, 0x07, 0xbb, 0xfa, 0x1e, 0x33, 0x14, 0x98, 0x06, 0xca, 0x29, 0x39, - 0x5e, 0x4a, 0x91, 0x1c, 0x06, 0xf6, 0x1a, 0xd6, 0x5d, 0x95, 0x09, 0x91, 0xc3, 0xff, 0x4c, 0x50, - 0x8e, 0x95, 0x36, 0x58, 0xa1, 0xfc, 0xf5, 0x47, 0xe2, 0x65, 0x1a, 0x12, 0x4a, 0xb5, 0xa9, 0xbc, - 0x22, 0xc5, 0x10, 0x82, 0x3c, 0xfd, 0xa9, 0x36, 0x36, 0x4a, 0x9b, 0x8d, 0x6b, 0x75, 0xc2, 0xcb, - 0x59, 0x28, 0x08, 0x5e, 0x8a, 0xc2, 0x84, 0xfc, 0x38, 0x9c, 0x18, 0x61, 0x55, 0x0c, 0xba, 0x54, - 0xf2, 0xa7, 0x22, 0x41, 0xe8, 0xb0, 0x65, 0x50, 0x87, 0xa4, 0xe3, 0x6a, 0x6e, 0xcf, 0xe1, 0x4c, - 0x7c, 0x6e, 0x52, 0x33, 0x63, 0x59, 0xfc, 0x68, 0x50, 0x74, 0x85, 0x93, 0x91, 0x2f, 0x40, 0x3e, - 0x5c, 0x33, 0x9a, 0x07, 0xbe, 0x10, 0x45, 0xe5, 0xcb, 0x80, 0x06, 0xad, 0x8f, 0x21, 0xee, 0x65, - 0x64, 0x98, 0x7b, 0xf9, 0x83, 0x11, 0x38, 0x75, 0x88, 0xa5, 0x81, 0x5e, 0xea, 0x1b, 0xe4, 0xa5, - 0xa3, 0xd8, 0x29, 0xcb, 0xac, 0xac, 0x6f, 0x98, 0xcf, 0x40, 0x36, 0x58, 0x3e, 0xd9, 0x20, 0xbf, - 0x10, 0xf5, 0x17, 0x71, 0xd8, 0x0f, 0xf6, 0x55, 0x60, 0xe4, 0x2b, 0x54, 0x81, 0xef, 0x06, 0x70, - 0xf7, 0x55, 0x26, 0xd6, 0x62, 0x1f, 0x7d, 0x70, 0x48, 0x7c, 0x11, 0xeb, 0xcd, 0x7d, 0xbe, 0x08, - 0xd2, 0x2e, 0xff, 0xe5, 0xa0, 0x46, 0x30, 0x28, 0xd0, 0xa3, 0x7b, 0xac, 0xe3, 0xfd, 0x91, 0xa0, - 0xc9, 0x36, 0x63, 0x3f, 0x78, 0xc0, 0x8a, 0x1d, 0xf4, 0x0a, 0x9c, 0xe8, 0x33, 0x14, 0x3c, 0xd2, - 0xf1, 0x49, 0xed, 0x85, 0x63, 0x61, 0x7b, 0x41, 0x90, 0x0e, 0xee, 0xf6, 0x89, 0xf0, 0x6e, 0xff, - 0x0a, 0x80, 0x1f, 0x1c, 0x20, 0x1a, 0xc6, 0xb6, 0x7a, 0x66, 0x4b, 0xfc, 0x01, 0x04, 0xfa, 0x81, - 0x2e, 0x40, 0x82, 0x48, 0x92, 0xe0, 0xd3, 0xa0, 0x2a, 0x26, 0x92, 0x10, 0x08, 0x2e, 0x30, 0x68, - 0xd9, 0x00, 0x34, 0x18, 0xa0, 0x1d, 0xd1, 0xc4, 0x0b, 0xe1, 0x26, 0x4e, 0x8f, 0x0c, 0xf5, 0x0e, - 0x6f, 0xea, 0x75, 0x48, 0xd0, 0x99, 0x1f, 0x9a, 0xad, 0xf9, 0x3e, 0x00, 0xcd, 0x75, 0x6d, 0x63, - 0xbb, 0xe7, 0x37, 0xb0, 0x38, 0x5c, 0x72, 0x4a, 0x02, 0xae, 0xfc, 0x00, 0x17, 0xa1, 0x39, 0x1f, - 0x35, 0x20, 0x46, 0x01, 0x82, 0xf2, 0x06, 0xe4, 0xc3, 0xb8, 0xc3, 0xb3, 0x4f, 0xfd, 0xd4, 0xf3, - 0xb4, 0xb0, 0x6f, 0x3c, 0xeb, 0x88, 0x5f, 0xe8, 0xa3, 0x1f, 0xf2, 0x1b, 0x51, 0xc8, 0x06, 0x05, - 0xef, 0xaf, 0x9e, 0x09, 0x22, 0x7f, 0x53, 0x04, 0x52, 0xde, 0xf0, 0xc3, 0xe7, 0x20, 0xa1, 0x83, - 0x23, 0x3f, 0x0b, 0xd9, 0x3b, 0xbc, 0x60, 0xc7, 0x44, 0x31, 0xef, 0x98, 0xe8, 0xb2, 0xb7, 0xfd, - 0x8d, 0x0a, 0x88, 0x04, 0x79, 0x2d, 0x92, 0x93, 0xf8, 0x6e, 0x7f, 0x79, 0xb2, 0x04, 0xa8, 0x39, - 0x48, 0x04, 0x93, 0x97, 0xd8, 0x87, 0xdc, 0x0a, 0x24, 0xf5, 0xb1, 0x85, 0x18, 0xcc, 0x94, 0x8a, - 0x1c, 0x39, 0x53, 0xca, 0x6b, 0x25, 0x1a, 0x6c, 0xe5, 0x23, 0x11, 0x48, 0x89, 0x35, 0x81, 0xde, - 0x13, 0x4c, 0xf6, 0x14, 0x47, 0x9b, 0x23, 0xf5, 0x11, 0xa7, 0x1f, 0xc8, 0xf5, 0x2c, 0x89, 0x33, - 0x59, 0xa3, 0xa5, 0xee, 0xb4, 0x35, 0x26, 0x4b, 0xf9, 0x91, 0x79, 0xaa, 0x2c, 0x71, 0x88, 0x27, - 0x00, 0xd6, 0x5a, 0xe4, 0x83, 0x5b, 0x76, 0x7f, 0x1a, 0x01, 0xa9, 0x7f, 0xc5, 0x7e, 0xc5, 0xbd, - 0x1b, 0xdc, 0xe6, 0x62, 0x43, 0xb6, 0x39, 0x74, 0x0e, 0x66, 0xfd, 0xbf, 0x9a, 0xe6, 0x18, 0xbb, - 0xa6, 0xe6, 0xf6, 0x6c, 0xcc, 0x03, 0x92, 0xc8, 0xab, 0x6a, 0x88, 0x9a, 0xc1, 0x51, 0x27, 0xee, - 0x73, 0xd4, 0x1f, 0x8c, 0x42, 0x26, 0x10, 0x1e, 0x45, 0xcf, 0x06, 0x94, 0x51, 0x7e, 0xc8, 0xce, - 0x10, 0x80, 0x0d, 0xfc, 0x8d, 0xaa, 0x10, 0x9b, 0xa2, 0x47, 0x67, 0xd3, 0xa8, 0x20, 0xb4, 0x88, - 0xb6, 0xc6, 0x8f, 0x1c, 0x6d, 0x1d, 0x9e, 0x36, 0x98, 0x18, 0x91, 0x36, 0xf8, 0x37, 0x22, 0x90, - 0xf2, 0xcc, 0xee, 0xa3, 0x1e, 0x62, 0x1e, 0x87, 0x24, 0xb7, 0x2c, 0xd9, 0x29, 0x26, 0xff, 0x1a, - 0x1a, 0x56, 0x2e, 0x42, 0x4a, 0xfc, 0xc5, 0x06, 0xbe, 0xab, 0x79, 0xdf, 0x67, 0x2f, 0x41, 0x26, - 0x70, 0x00, 0x4c, 0x54, 0xe3, 0x46, 0xf5, 0xbd, 0xd2, 0x54, 0x71, 0xfa, 0xee, 0xbd, 0xa5, 0xd8, - 0x06, 0xbe, 0x43, 0x56, 0xb3, 0x52, 0xad, 0x5c, 0xab, 0x56, 0x6e, 0x48, 0x91, 0x62, 0xe6, 0xee, - 0xbd, 0xa5, 0x69, 0x05, 0xd3, 0x88, 0xe2, 0xd9, 0x1b, 0x50, 0xe8, 0x9b, 0x98, 0xb0, 0xd9, 0x82, - 0x20, 0xbf, 0xba, 0xb5, 0xb9, 0x56, 0xab, 0x94, 0x9a, 0x55, 0xf5, 0x66, 0xbd, 0x59, 0x95, 0x22, - 0xe8, 0x04, 0xcc, 0xae, 0xd5, 0xae, 0x5e, 0x6b, 0xaa, 0x95, 0xb5, 0x5a, 0x75, 0xa3, 0xa9, 0x96, - 0x9a, 0xcd, 0x52, 0xe5, 0x86, 0x14, 0x3d, 0x7f, 0x2f, 0x03, 0xf1, 0x52, 0xb9, 0x52, 0x43, 0x15, - 0x88, 0xd3, 0x50, 0xc8, 0xa1, 0x19, 0x60, 0xc5, 0xc3, 0x63, 0xc3, 0xe8, 0x0a, 0x24, 0x68, 0x94, - 0x04, 0x1d, 0x9e, 0x12, 0x56, 0x1c, 0x13, 0x2c, 0x26, 0x9d, 0xa1, 0x2b, 0xf2, 0xd0, 0x1c, 0xb1, - 0xe2, 0xe1, 0xb1, 0x63, 0xb4, 0x06, 0xd3, 0xc2, 0x49, 0x1e, 0x97, 0xb8, 0x55, 0x1c, 0x1b, 0xd0, - 0x25, 0x43, 0x63, 0xc1, 0x86, 0xc3, 0xd3, 0xc7, 0x8a, 0x63, 0xa2, 0xca, 0xa8, 0x06, 0x49, 0xee, - 0x8e, 0x8e, 0xc9, 0x08, 0x2b, 0x8e, 0x8b, 0x13, 0x23, 0x05, 0xd2, 0x7e, 0x18, 0x67, 0x7c, 0x52, - 0x5c, 0x71, 0x82, 0x80, 0x39, 0x7a, 0x3f, 0xe4, 0xc2, 0xae, 0xee, 0x64, 0x59, 0x67, 0xc5, 0x09, - 0x23, 0xd2, 0x84, 0x7e, 0xd8, 0xef, 0x9d, 0x2c, 0x0b, 0xad, 0x38, 0x61, 0x80, 0x1a, 0xbd, 0x06, - 0x33, 0x83, 0x7e, 0xe9, 0xe4, 0x49, 0x69, 0xc5, 0x23, 0x84, 0xac, 0x51, 0x07, 0xd0, 0x10, 0x7f, - 0xf6, 0x08, 0x39, 0x6a, 0xc5, 0xa3, 0x44, 0xb0, 0x51, 0x0b, 0x0a, 0xfd, 0x4e, 0xe2, 0xa4, 0x39, - 0x6b, 0xc5, 0x89, 0xa3, 0xd9, 0xac, 0x95, 0xb0, 0x73, 0x39, 0x69, 0x0e, 0x5b, 0x71, 0xe2, 0xe0, - 0x36, 0xda, 0x02, 0x08, 0xf8, 0x87, 0x13, 0xe4, 0xb4, 0x15, 0x27, 0x09, 0x73, 0xa3, 0x2e, 0xcc, - 0x0e, 0x73, 0x1c, 0x8f, 0x92, 0xe2, 0x56, 0x3c, 0x52, 0xf4, 0x9b, 0xc8, 0x73, 0xd8, 0x05, 0x9c, - 0x2c, 0xe5, 0xad, 0x38, 0x61, 0x18, 0xbc, 0x5c, 0x1a, 0x99, 0xe7, 0xfc, 0xe8, 0xa1, 0x79, 0xce, - 0x7e, 0xe6, 0xb2, 0x97, 0xdb, 0x7c, 0x2f, 0x0a, 0x0b, 0x81, 0x8c, 0x62, 0x1e, 0x82, 0x0e, 0xa5, - 0x37, 0xa3, 0x40, 0xa7, 0x78, 0xfd, 0x88, 0x14, 0xe2, 0x17, 0x20, 0x56, 0xea, 0x76, 0xc9, 0x16, - 0x47, 0xbf, 0x75, 0xab, 0xcd, 0x37, 0x50, 0xef, 0x9b, 0xd4, 0x39, 0xd6, 0x8e, 0x7b, 0x47, 0xb3, - 0xbd, 0x3f, 0x57, 0x29, 0xbe, 0xe5, 0x4b, 0x90, 0xf6, 0x5c, 0x43, 0xfa, 0x7c, 0xb4, 0x77, 0xeb, - 0x28, 0x2e, 0xae, 0x15, 0xf1, 0x1b, 0x22, 0x51, 0xff, 0x86, 0x08, 0xbd, 0x60, 0x5c, 0xae, 0x8f, - 0xe4, 0xc8, 0x85, 0xa3, 0x65, 0x7e, 0xf3, 0x01, 0x7a, 0xfc, 0xf9, 0xf2, 0x03, 0xa1, 0x6b, 0x67, - 0xfc, 0x9d, 0xde, 0x00, 0x77, 0x26, 0xbd, 0x6a, 0x31, 0x36, 0x2b, 0x7b, 0x4c, 0xd2, 0xf8, 0x98, - 0x59, 0x1a, 0x9f, 0x17, 0x2e, 0x5f, 0x82, 0xdc, 0xa6, 0x66, 0xbb, 0x0d, 0xec, 0x5e, 0xc3, 0x5a, - 0x0b, 0xdb, 0xe1, 0x7b, 0x92, 0x39, 0x71, 0x4f, 0x52, 0x18, 0x2d, 0x51, 0xdf, 0x68, 0x91, 0xf7, - 0x20, 0x4e, 0x5f, 0x73, 0x1f, 0x99, 0x7a, 0xc5, 0x52, 0xa5, 0x78, 0xea, 0x15, 0xfd, 0x40, 0xcf, - 0x8a, 0x9b, 0x90, 0xb1, 0xc3, 0x6f, 0x42, 0x0a, 0x9f, 0x98, 0xdd, 0x87, 0x6c, 0xc3, 0x34, 0xb7, - 0x57, 0x87, 0x26, 0x36, 0xac, 0x43, 0xa1, 0xab, 0xd9, 0x2e, 0xfd, 0xeb, 0x4e, 0x7b, 0x74, 0x14, - 0xdc, 0xd8, 0x1c, 0x72, 0xbf, 0x2b, 0x34, 0x58, 0xde, 0x4a, 0xae, 0x1b, 0x2c, 0x94, 0xff, 0x4b, - 0x1c, 0x92, 0x9c, 0x19, 0x2f, 0x84, 0x73, 0x3e, 0xfb, 0x7c, 0x2e, 0x5e, 0xe5, 0x87, 0x2e, 0x38, - 0x3d, 0xef, 0x08, 0xe7, 0x91, 0xfe, 0x04, 0xcb, 0x72, 0xe6, 0xad, 0x37, 0x17, 0xa7, 0xe9, 0xfe, - 0x59, 0x5b, 0xf5, 0xb3, 0x2d, 0xdf, 0x7e, 0x3b, 0xb7, 0x02, 0xb9, 0xc0, 0x79, 0x8f, 0xd1, 0xe2, - 0xf9, 0x30, 0x27, 0x47, 0x3a, 0x02, 0x22, 0x01, 0xc2, 0x3b, 0x0a, 0xaa, 0xb5, 0xd0, 0x19, 0x90, - 0x02, 0x19, 0x19, 0x2c, 0xe6, 0xc2, 0x4e, 0x3a, 0xf2, 0x6d, 0x2f, 0xd9, 0x82, 0xa6, 0x24, 0x9c, - 0x82, 0x34, 0xfd, 0x6b, 0x63, 0x81, 0xcc, 0x85, 0x14, 0x29, 0xa0, 0x95, 0x8f, 0x42, 0xa1, 0x3f, - 0xb9, 0x81, 0xa5, 0x2b, 0xe4, 0x6f, 0x87, 0x13, 0x1b, 0x46, 0xa5, 0x42, 0xa4, 0x47, 0xa6, 0x42, - 0x3c, 0x0c, 0x79, 0x3f, 0xd0, 0x44, 0x61, 0x81, 0xf9, 0x51, 0x5e, 0x29, 0x05, 0x0b, 0x06, 0x8d, - 0x32, 0xa1, 0xa0, 0x91, 0x77, 0x88, 0xc6, 0xe3, 0x67, 0x0c, 0x26, 0xcb, 0xb2, 0x29, 0x48, 0x05, - 0x8f, 0x93, 0x51, 0xd8, 0x87, 0x20, 0x27, 0x2e, 0x23, 0x32, 0xb8, 0x1c, 0x85, 0xcb, 0x8a, 0xc2, - 0x91, 0xd9, 0x19, 0xf9, 0xe1, 0xd9, 0x19, 0xf3, 0x10, 0x5f, 0xe5, 0xd1, 0x8e, 0xbe, 0x00, 0xee, - 0x4f, 0xc7, 0x20, 0x4e, 0xb7, 0xa9, 0x67, 0x42, 0x7e, 0xd7, 0x10, 0x79, 0x26, 0xbe, 0x1f, 0x6e, - 0xad, 0x3b, 0xbb, 0x01, 0xb7, 0x6b, 0x54, 0xde, 0x95, 0x17, 0xaf, 0x8a, 0x05, 0xe3, 0x55, 0x55, - 0x48, 0x79, 0x52, 0x12, 0x1f, 0x27, 0x25, 0x05, 0x22, 0x25, 0x44, 0x86, 0x79, 0x81, 0x32, 0xcd, - 0x7d, 0x47, 0x54, 0x86, 0xb4, 0xa7, 0xbc, 0xb8, 0xb4, 0x4d, 0x26, 0xb0, 0x3e, 0xda, 0xf0, 0x0c, - 0xa5, 0xe4, 0x88, 0x0c, 0xa5, 0xa0, 0x58, 0xf1, 0x3f, 0x53, 0x3c, 0x4d, 0xc7, 0xe5, 0x8b, 0x15, - 0xfb, 0x53, 0xc5, 0x0f, 0x40, 0xda, 0xf7, 0x9d, 0x99, 0xe4, 0xf9, 0x05, 0xa4, 0xd6, 0xf7, 0xc2, - 0x99, 0xa4, 0x05, 0xfe, 0x7a, 0xfa, 0x08, 0x0f, 0x1c, 0x46, 0x79, 0xe0, 0xf2, 0x2f, 0x46, 0x3c, - 0xab, 0xfd, 0x90, 0x68, 0x0f, 0x9b, 0x86, 0xe8, 0xa8, 0x69, 0x88, 0xdd, 0xff, 0x34, 0x94, 0x00, - 0xbc, 0x6e, 0x8a, 0x54, 0xeb, 0x53, 0xc3, 0xa2, 0xad, 0xa4, 0x8b, 0x0d, 0x63, 0x57, 0x1c, 0xa8, - 0xfa, 0x48, 0xf2, 0x6f, 0x46, 0xc8, 0x96, 0xcb, 0xeb, 0x07, 0x43, 0x0a, 0x91, 0xa3, 0x86, 0x14, - 0x8e, 0x96, 0x78, 0x16, 0x92, 0xa3, 0xd8, 0xfd, 0xc9, 0x51, 0x68, 0xc6, 0xe3, 0x7d, 0x33, 0x2e, - 0xff, 0x4e, 0x84, 0xff, 0xd5, 0x74, 0x2f, 0x9a, 0xfb, 0xe7, 0x33, 0x55, 0xaf, 0x72, 0xd9, 0x6a, - 0xe1, 0x96, 0x3a, 0x30, 0x67, 0x0f, 0x0d, 0xb9, 0x18, 0x1d, 0xea, 0xb3, 0x3f, 0x77, 0x48, 0x50, - 0x69, 0xf8, 0x73, 0xf8, 0x99, 0x28, 0xcc, 0x0c, 0xc0, 0xff, 0xe5, 0x9b, 0xcb, 0xf0, 0xea, 0x4d, - 0x4c, 0xb8, 0x7a, 0x93, 0x23, 0x57, 0xef, 0x4f, 0x46, 0xe9, 0x43, 0x07, 0xcc, 0xf3, 0xf8, 0x2a, - 0xe8, 0xde, 0x53, 0x90, 0xee, 0x5a, 0x6d, 0x95, 0xd5, 0xb0, 0x3f, 0x7f, 0x92, 0xea, 0x5a, 0x6d, - 0x65, 0x40, 0xcc, 0x12, 0x6f, 0x93, 0x62, 0x4e, 0xbe, 0x0d, 0x93, 0x30, 0xdd, 0xbf, 0xa0, 0x6c, - 0xc8, 0x32, 0x56, 0x70, 0xab, 0xe9, 0x29, 0xc2, 0x03, 0x6a, 0x86, 0x45, 0x06, 0xad, 0x3c, 0xd6, - 0x6d, 0x06, 0xa9, 0x70, 0x38, 0x82, 0x11, 0x4a, 0xfb, 0x9c, 0x1f, 0xa5, 0xb1, 0x44, 0xbe, 0x9b, - 0xfc, 0x5d, 0x11, 0x80, 0x35, 0x7a, 0xad, 0x9a, 0xba, 0x00, 0x15, 0xc8, 0x39, 0xb4, 0x0b, 0x6a, - 0xa8, 0xe5, 0x85, 0x51, 0x93, 0xc6, 0xdb, 0xcf, 0x3a, 0xc1, 0x7e, 0x57, 0x20, 0xe7, 0xcb, 0xb6, - 0x83, 0x45, 0x67, 0x16, 0x0e, 0xb9, 0x91, 0xdc, 0xc0, 0xae, 0x92, 0xbd, 0x1d, 0xf8, 0x92, 0xff, - 0x79, 0x04, 0xd2, 0xb4, 0x4f, 0xeb, 0xd8, 0xd5, 0x42, 0x73, 0x18, 0xb9, 0xff, 0x39, 0x7c, 0x10, - 0x80, 0x91, 0x71, 0x8c, 0xd7, 0x31, 0x97, 0xac, 0x34, 0x2d, 0x69, 0x18, 0xaf, 0x63, 0x74, 0xd1, - 0x63, 0x78, 0xec, 0x70, 0x86, 0x8b, 0x38, 0x3c, 0x67, 0xfb, 0x09, 0x98, 0x36, 0x7b, 0x1d, 0x95, - 0xa5, 0x54, 0x53, 0x69, 0x35, 0x7b, 0x9d, 0xe6, 0xbe, 0x23, 0xbf, 0x06, 0xd3, 0xcd, 0x7d, 0xf6, - 0x6e, 0xca, 0x29, 0x48, 0xdb, 0x96, 0xc5, 0xad, 0x3f, 0x66, 0x75, 0xa7, 0x48, 0x01, 0x35, 0x76, - 0x86, 0x9d, 0xdd, 0x2c, 0x4f, 0x68, 0xe2, 0x73, 0xe3, 0xfe, 0xec, 0xaf, 0x47, 0x20, 0x17, 0x5a, - 0x49, 0xe8, 0x09, 0x38, 0xd1, 0xa8, 0x5d, 0xdd, 0xa8, 0xae, 0xaa, 0xeb, 0x8d, 0xab, 0x7d, 0x7f, - 0xda, 0xb0, 0x58, 0xb8, 0x7b, 0x6f, 0x29, 0xc3, 0xaf, 0x1c, 0x8f, 0x82, 0xde, 0x54, 0xaa, 0x2c, - 0x9a, 0xc9, 0xa0, 0x37, 0x6d, 0x7c, 0xdb, 0x72, 0x31, 0x85, 0x7e, 0x0a, 0x4e, 0x0e, 0x81, 0xf6, - 0x2e, 0x1e, 0xcf, 0xdc, 0xbd, 0xb7, 0x94, 0xdb, 0xb4, 0x31, 0x93, 0x32, 0x8a, 0xb1, 0x0c, 0xf3, - 0x83, 0x18, 0xf5, 0xcd, 0x7a, 0xa3, 0xb4, 0x26, 0x2d, 0x15, 0xa5, 0xbb, 0xf7, 0x96, 0xb2, 0x42, - 0x65, 0x10, 0xf8, 0x77, 0xfe, 0xe6, 0xf1, 0xef, 0x5f, 0x82, 0x77, 0xf1, 0x17, 0xa7, 0x1c, 0x57, - 0xbb, 0x65, 0x98, 0xbb, 0xde, 0xb3, 0x64, 0xfc, 0x9b, 0x7b, 0xa1, 0xc7, 0xf9, 0xab, 0x56, 0xa2, - 0x54, 0x3c, 0x4e, 0x36, 0xf8, 0xd6, 0x58, 0x71, 0xcc, 0x23, 0x67, 0x87, 0xbd, 0x5c, 0x36, 0xe2, - 0xa9, 0xb3, 0x91, 0xef, 0x5d, 0x8d, 0x7b, 0x6e, 0x64, 0xbc, 0x53, 0x7c, 0xd8, 0xbd, 0xeb, 0xe2, - 0xa1, 0x8e, 0xb9, 0xfc, 0x91, 0x08, 0xe4, 0xaf, 0x19, 0x8e, 0x6b, 0xd9, 0x86, 0xae, 0xb5, 0x69, - 0xf0, 0xf7, 0xf2, 0xa4, 0xda, 0xaa, 0x9c, 0x26, 0x8b, 0x87, 0xbf, 0x9d, 0xc6, 0x57, 0xd0, 0x2a, - 0x24, 0x6f, 0x6b, 0x6d, 0xa6, 0x2b, 0x82, 0x4f, 0xe3, 0xf5, 0xf3, 0x3c, 0x70, 0xca, 0x11, 0xa4, - 0xc2, 0x70, 0xe5, 0xef, 0xa2, 0x0f, 0xac, 0x74, 0x3a, 0x86, 0x43, 0xb6, 0x23, 0x85, 0x1e, 0x74, - 0x5f, 0x87, 0xb8, 0xad, 0xb9, 0xfc, 0xf8, 0xb7, 0x7c, 0xf1, 0xc8, 0xef, 0x98, 0xb1, 0x16, 0x28, - 0x0d, 0xf4, 0x12, 0xa4, 0x3a, 0xda, 0xbe, 0x4a, 0xe9, 0x45, 0xbf, 0x22, 0x7a, 0xd3, 0x1d, 0x6d, - 0x9f, 0xf4, 0x0f, 0xbd, 0x1f, 0x0a, 0x84, 0xa4, 0xbe, 0xa7, 0x99, 0xbb, 0x98, 0x51, 0x8e, 0x7d, - 0x45, 0x94, 0x73, 0x1d, 0x6d, 0xbf, 0x42, 0xa9, 0x11, 0xfa, 0xfc, 0x89, 0xb8, 0x5f, 0x8a, 0xf0, - 0x33, 0x7d, 0xca, 0x18, 0xa4, 0x81, 0xa4, 0x7b, 0x5f, 0xb4, 0x51, 0x91, 0x80, 0xf8, 0xe8, 0x28, - 0xbe, 0xf7, 0xb1, 0xb5, 0x9c, 0x23, 0xdd, 0xfb, 0xec, 0x9b, 0x8b, 0x11, 0xd6, 0x6a, 0x41, 0x1f, - 0x60, 0x7b, 0x86, 0xa5, 0x2a, 0xa8, 0xd4, 0xf3, 0x8e, 0x8e, 0xdd, 0x2f, 0x73, 0x62, 0xbf, 0x64, - 0x04, 0x81, 0x61, 0x93, 0x7a, 0x3e, 0x86, 0x4f, 0x47, 0x20, 0xb3, 0x1a, 0x78, 0xe8, 0x72, 0x1e, - 0xa6, 0x3b, 0x96, 0x69, 0xdc, 0xc2, 0xb6, 0x97, 0x41, 0xca, 0x3e, 0x51, 0x11, 0x52, 0xec, 0xaf, - 0x03, 0xba, 0x07, 0x22, 0x0c, 0x26, 0xbe, 0x09, 0xd6, 0x1d, 0xbc, 0xed, 0x18, 0x82, 0xcf, 0x8a, - 0xf8, 0x24, 0x0e, 0xa7, 0x83, 0xf5, 0x9e, 0x6d, 0xb8, 0x07, 0xaa, 0x6e, 0x99, 0xae, 0xa6, 0xbb, - 0xfc, 0x94, 0xbc, 0x20, 0xca, 0x2b, 0xac, 0x98, 0x10, 0x69, 0x61, 0x57, 0x33, 0xda, 0xec, 0xde, - 0x64, 0x5a, 0x11, 0x9f, 0xbc, 0xab, 0xbf, 0x95, 0x0a, 0x9e, 0x12, 0x57, 0x40, 0xb2, 0xba, 0xd8, - 0x0e, 0x59, 0x7a, 0x4c, 0x1a, 0xe7, 0x7f, 0xed, 0x33, 0x4f, 0xce, 0x71, 0x86, 0x73, 0x5b, 0x8f, - 0xbd, 0x53, 0xaf, 0x14, 0x04, 0x86, 0x30, 0x01, 0x5f, 0x09, 0xe5, 0x8c, 0xf6, 0xb6, 0xfd, 0xa7, - 0x35, 0xe6, 0x06, 0x98, 0x5a, 0x32, 0x0f, 0xca, 0xf3, 0xbf, 0xea, 0x93, 0xf6, 0x4f, 0x91, 0x6f, - 0xe0, 0x83, 0x60, 0x02, 0x29, 0x25, 0x43, 0x4c, 0xad, 0xd7, 0x34, 0xa3, 0x2d, 0xfe, 0x90, 0xaa, - 0xc2, 0xbf, 0xd0, 0x8a, 0x97, 0xfc, 0x13, 0xa7, 0x96, 0x9b, 0x3c, 0x4a, 0x36, 0xca, 0x96, 0xd9, - 0x0a, 0x67, 0xf9, 0xa0, 0x0a, 0x24, 0x5d, 0xeb, 0x16, 0x36, 0x39, 0x83, 0x8e, 0xf6, 0x14, 0x21, - 0x47, 0x45, 0x5f, 0x07, 0x52, 0x0b, 0xb7, 0xf1, 0x2e, 0xb3, 0x23, 0xf6, 0x34, 0x62, 0xd5, 0x27, - 0xef, 0xf7, 0x39, 0xc2, 0x82, 0x47, 0xaa, 0x41, 0x29, 0xa1, 0xcd, 0xf0, 0x53, 0xaa, 0xd3, 0x3c, - 0xb5, 0x7b, 0xc4, 0x18, 0x03, 0x92, 0x17, 0xd4, 0x3c, 0xa1, 0xa7, 0x57, 0x1f, 0x03, 0xa9, 0x67, - 0x6e, 0x5b, 0x26, 0xfd, 0xfb, 0x83, 0xdc, 0x7a, 0x4d, 0xb1, 0x3c, 0x62, 0xaf, 0x9c, 0xe7, 0x11, - 0x6f, 0x42, 0xde, 0x07, 0xa5, 0x2b, 0x24, 0x7d, 0xd4, 0x15, 0x92, 0xf3, 0x08, 0x10, 0x10, 0xb4, - 0x0e, 0xe0, 0xaf, 0x41, 0xea, 0x58, 0x67, 0x46, 0xcf, 0x98, 0xbf, 0x9a, 0x83, 0x83, 0x09, 0x10, - 0x40, 0x5f, 0x0b, 0xb3, 0x1d, 0xc3, 0x54, 0x1d, 0xdc, 0xde, 0x51, 0x39, 0xe7, 0x08, 0xdd, 0xcc, - 0xd1, 0x67, 0x73, 0xa6, 0x63, 0x98, 0x0d, 0xdc, 0xde, 0x59, 0xf5, 0xa8, 0xa0, 0x77, 0xc3, 0x29, - 0x7f, 0xf4, 0x96, 0xa9, 0xee, 0x59, 0xed, 0x96, 0x6a, 0xe3, 0x1d, 0x55, 0xa7, 0xef, 0x62, 0x66, - 0x29, 0xcf, 0x4e, 0x78, 0x20, 0x75, 0xf3, 0x9a, 0xd5, 0x6e, 0x29, 0x78, 0xa7, 0x42, 0xaa, 0xd1, - 0x43, 0xe0, 0x0f, 0x5d, 0x35, 0x5a, 0xce, 0x7c, 0x6e, 0x29, 0x76, 0x26, 0xae, 0x64, 0xbd, 0xc2, - 0x5a, 0xcb, 0x41, 0x5d, 0x38, 0xe6, 0xdb, 0xa0, 0xa4, 0x5c, 0x08, 0x50, 0x9e, 0x8e, 0xe0, 0xdd, - 0x7c, 0x04, 0x8f, 0x8c, 0x7f, 0x7d, 0x72, 0x79, 0x50, 0x96, 0x66, 0x3d, 0xd2, 0x54, 0xf4, 0x99, - 0x3c, 0x69, 0x90, 0x6b, 0x1b, 0x1f, 0xe8, 0x19, 0x5e, 0x4b, 0x85, 0xb7, 0xa1, 0xa5, 0x2c, 0x23, - 0xc9, 0x9a, 0x58, 0x49, 0x7d, 0xe8, 0x93, 0x8b, 0x53, 0x9f, 0xff, 0xe4, 0xe2, 0x94, 0x7c, 0x85, - 0x3e, 0x1e, 0xc4, 0x95, 0x03, 0x76, 0xd0, 0x45, 0x48, 0x6b, 0xe2, 0x83, 0xbd, 0x0b, 0x75, 0x88, - 0x72, 0xf1, 0x41, 0xe5, 0x1f, 0x89, 0x40, 0x72, 0xf5, 0xe6, 0xa6, 0x66, 0xd8, 0xa8, 0x0a, 0x33, - 0xfe, 0x6a, 0x9b, 0x54, 0x4f, 0xf9, 0x0b, 0x54, 0x28, 0xaa, 0x8d, 0x51, 0x8e, 0x6d, 0xba, 0x7c, - 0xfa, 0xd7, 0x3e, 0xf3, 0xe4, 0x83, 0x9c, 0xcc, 0xcd, 0x3e, 0x1f, 0x57, 0xd0, 0xeb, 0xf7, 0x7d, - 0x03, 0x63, 0xbe, 0x0e, 0xd3, 0xac, 0xab, 0x0e, 0x7a, 0x11, 0x12, 0x5d, 0xf2, 0x83, 0x27, 0xfd, - 0x2d, 0x8c, 0x5c, 0xb5, 0x14, 0x3e, 0x28, 0xe3, 0x0c, 0x4f, 0xfe, 0x96, 0x28, 0xc0, 0xea, 0xcd, - 0x9b, 0x4d, 0xdb, 0xe8, 0xb6, 0xb1, 0xfb, 0x76, 0x8d, 0x7d, 0x2b, 0x28, 0x74, 0x8e, 0xad, 0x1f, - 0x7d, 0xfc, 0xbe, 0x64, 0x35, 0x6c, 0x7d, 0x28, 0xd9, 0x96, 0xe3, 0x7a, 0x64, 0x63, 0x47, 0x27, - 0xbb, 0xea, 0xb8, 0x83, 0x9c, 0x7d, 0x19, 0x32, 0x3e, 0x33, 0x1c, 0x54, 0x83, 0x94, 0xcb, 0x7f, - 0x73, 0x06, 0xcb, 0xa3, 0x19, 0x2c, 0xd0, 0x82, 0x4c, 0xf6, 0xd0, 0xe5, 0xef, 0x23, 0x7c, 0xf6, - 0x17, 0xfe, 0x5f, 0x4c, 0x19, 0x43, 0x35, 0x48, 0xf2, 0x35, 0x1b, 0xbb, 0xef, 0x27, 0x79, 0x19, - 0x01, 0x9a, 0x91, 0x14, 0xd2, 0x3b, 0xfc, 0x11, 0x83, 0x5c, 0x48, 0x65, 0x04, 0x78, 0xff, 0x6d, - 0x51, 0x98, 0xdd, 0x12, 0x9a, 0xeb, 0x2f, 0x3e, 0xab, 0xb6, 0x60, 0x1a, 0x9b, 0xae, 0x6d, 0x78, - 0xd9, 0xad, 0x4f, 0x8d, 0x12, 0x8d, 0x21, 0x83, 0xaa, 0x9a, 0xae, 0x7d, 0x10, 0x14, 0x14, 0x41, - 0x2b, 0xc0, 0x8f, 0x8f, 0xc5, 0x60, 0x7e, 0x14, 0x2a, 0x7a, 0x14, 0x0a, 0xba, 0x8d, 0x69, 0x41, - 0xf8, 0xbd, 0xb8, 0xbc, 0x28, 0xe6, 0xfb, 0xab, 0x02, 0xc4, 0x22, 0x25, 0x32, 0x48, 0x40, 0xef, - 0xcf, 0x04, 0xcd, 0xfb, 0x14, 0xe8, 0x0e, 0xdb, 0x84, 0x82, 0x78, 0x0d, 0x63, 0x5b, 0x6b, 0x6b, - 0xa6, 0x2e, 0x4c, 0xf5, 0x23, 0x6d, 0x87, 0xe2, 0x45, 0x8d, 0x32, 0x23, 0x81, 0xaa, 0x30, 0x2d, - 0xa8, 0xc5, 0x8f, 0x4e, 0x4d, 0xe0, 0xa2, 0xd3, 0x90, 0x0d, 0x6e, 0x8a, 0xd4, 0xec, 0x8a, 0x2b, - 0x99, 0xc0, 0x9e, 0x38, 0x6e, 0xd7, 0x4d, 0x1e, 0xba, 0xeb, 0x72, 0xcb, 0xf6, 0xfb, 0xe8, 0xa5, - 0xf5, 0xd6, 0x5f, 0xfe, 0x69, 0xd9, 0x04, 0x60, 0x2b, 0x9a, 0x28, 0x5c, 0x3e, 0x33, 0xf7, 0xa1, - 0x16, 0xd2, 0x8c, 0xc8, 0xaa, 0xe3, 0x7e, 0xb5, 0x66, 0xe8, 0x37, 0xa3, 0x90, 0x0d, 0xce, 0xd0, - 0x5f, 0xc9, 0xbd, 0x0d, 0x6d, 0xf8, 0x6a, 0x8a, 0x9d, 0x03, 0x3c, 0x36, 0x4a, 0x4d, 0x0d, 0x48, - 0xf3, 0x18, 0xfd, 0xf4, 0x56, 0x12, 0x92, 0xfc, 0xe6, 0x5d, 0x7d, 0xc0, 0x88, 0x8f, 0x8c, 0x7b, - 0x0d, 0x34, 0x27, 0x5e, 0x03, 0x1d, 0x6a, 0xc3, 0x3f, 0x0c, 0xf9, 0x8e, 0xb6, 0xaf, 0x86, 0xae, - 0xf3, 0x45, 0xce, 0xe4, 0xa8, 0x4f, 0xef, 0x9f, 0xd8, 0xa2, 0x45, 0xc8, 0x10, 0x30, 0x5f, 0x0f, - 0x13, 0x18, 0xe8, 0x68, 0xfb, 0x55, 0x56, 0x82, 0x9e, 0x04, 0xb4, 0xe7, 0x05, 0x67, 0x54, 0x9f, - 0x11, 0x04, 0x6e, 0xc6, 0xaf, 0x11, 0xe0, 0x0f, 0x02, 0x50, 0x0b, 0x99, 0x3d, 0x56, 0xcf, 0xff, - 0xec, 0x32, 0x29, 0x59, 0xa5, 0x0f, 0xd6, 0x7f, 0x63, 0x84, 0xf9, 0x02, 0x7d, 0x21, 0x03, 0xee, - 0x8a, 0x35, 0x27, 0x58, 0x14, 0x7f, 0xf2, 0xe6, 0x62, 0xf1, 0x40, 0xeb, 0xb4, 0x57, 0xe4, 0x21, - 0x74, 0xe4, 0x61, 0x51, 0x0c, 0xe2, 0x34, 0x84, 0x43, 0x0e, 0xe8, 0x6e, 0x64, 0xc0, 0xa4, 0xdf, - 0xd1, 0x74, 0xd7, 0xb2, 0xa9, 0xeb, 0x96, 0x2e, 0xdf, 0x9c, 0xac, 0x23, 0x0f, 0xb0, 0x8e, 0x0c, - 0xa5, 0x34, 0xb4, 0x2b, 0x61, 0x63, 0xff, 0x0a, 0x05, 0x44, 0x7f, 0x37, 0x02, 0x27, 0x77, 0xdb, - 0xd6, 0xb6, 0xd6, 0x56, 0x85, 0xd1, 0xcf, 0xe4, 0x4a, 0xd5, 0xb5, 0x2e, 0xcb, 0x5e, 0x2f, 0xbf, - 0x3a, 0x59, 0x87, 0x96, 0x58, 0x87, 0x46, 0x52, 0x1b, 0xda, 0xa9, 0xe3, 0x0c, 0x7c, 0x8d, 0x79, - 0x07, 0x0c, 0xb8, 0xa2, 0x75, 0xd1, 0x27, 0x22, 0xf0, 0x80, 0x3f, 0xb4, 0x21, 0x5d, 0x4b, 0xd3, - 0xae, 0xbd, 0x6f, 0xb2, 0xae, 0x3d, 0xd4, 0xcf, 0xab, 0x09, 0x7b, 0x77, 0xd2, 0xc3, 0xe8, 0xef, - 0xe0, 0xca, 0xbb, 0x88, 0x92, 0xba, 0xfb, 0x7b, 0x3f, 0x76, 0xf6, 0x54, 0xc0, 0xfb, 0xd9, 0xf7, - 0x02, 0xb0, 0x6c, 0x65, 0x11, 0xb7, 0x04, 0xf9, 0x7b, 0xbf, 0xf7, 0xf2, 0xc2, 0x3a, 0x40, 0xc0, - 0x17, 0x8d, 0x1c, 0xee, 0xe3, 0xfa, 0xf8, 0x21, 0x1f, 0x37, 0xa0, 0x19, 0xdf, 0xe3, 0x6f, 0xbd, - 0xe2, 0x19, 0xdf, 0x21, 0x7f, 0x83, 0x62, 0xb9, 0x62, 0x19, 0x21, 0x12, 0x02, 0x89, 0x2a, 0xdc, - 0x29, 0xf9, 0xdf, 0x45, 0xe0, 0xe4, 0x80, 0x12, 0xf1, 0xba, 0xac, 0x03, 0xb2, 0x03, 0x95, 0x74, - 0x31, 0x8a, 0x54, 0xff, 0xfb, 0xd3, 0x49, 0x33, 0xf6, 0xc0, 0xfe, 0xfb, 0xf6, 0xd8, 0x10, 0x7c, - 0x03, 0xf9, 0x95, 0x08, 0xcc, 0x05, 0x3b, 0xe0, 0x0d, 0xa5, 0x01, 0xd9, 0x60, 0xd3, 0x7c, 0x10, - 0xef, 0x9a, 0x64, 0x10, 0xc1, 0xfe, 0x87, 0x88, 0xa0, 0x9b, 0xbe, 0xa2, 0x66, 0x91, 0xdf, 0xa7, - 0x27, 0x66, 0x8a, 0xe8, 0xd8, 0x50, 0x85, 0xcd, 0xe6, 0xe6, 0x0f, 0x22, 0x10, 0xdf, 0xb4, 0xac, - 0x36, 0xfa, 0x00, 0xcc, 0x98, 0x96, 0x4b, 0xd7, 0x3a, 0x6e, 0xa9, 0x3c, 0x34, 0xc5, 0x36, 0xc1, - 0xea, 0xa1, 0xbc, 0xfa, 0xc2, 0x9b, 0x8b, 0x83, 0x98, 0xc3, 0xfe, 0x0a, 0x48, 0xc1, 0xb4, 0xdc, - 0x32, 0x05, 0x6a, 0xb2, 0xe8, 0xd5, 0x0e, 0xe4, 0xc2, 0xcd, 0xb1, 0x8d, 0xb2, 0x34, 0xae, 0xb9, - 0xdc, 0xd8, 0xa6, 0xb2, 0xdb, 0x81, 0x76, 0xd8, 0x43, 0xe9, 0x7f, 0x44, 0x66, 0xee, 0x15, 0x90, - 0x6e, 0xf6, 0x5f, 0x21, 0xab, 0xc2, 0xb4, 0xb8, 0x32, 0x16, 0x99, 0xf0, 0x36, 0x5a, 0x90, 0x9d, - 0x1c, 0x57, 0xfe, 0xb9, 0x08, 0xcc, 0xd2, 0xf6, 0x8c, 0xd7, 0x31, 0x0d, 0x46, 0x28, 0x58, 0xb7, - 0xec, 0x16, 0xca, 0x43, 0x94, 0x9f, 0xc8, 0xc5, 0x95, 0xa8, 0xd1, 0x42, 0xcb, 0x90, 0xb0, 0xee, - 0x98, 0x3c, 0x71, 0xec, 0x30, 0x03, 0x83, 0x81, 0xd1, 0x1d, 0xcf, 0x6a, 0xf5, 0xda, 0x58, 0xd5, - 0x74, 0x66, 0xe4, 0xb0, 0xa8, 0x6c, 0x8e, 0x95, 0x96, 0x58, 0x21, 0xba, 0x18, 0xbc, 0x00, 0x11, - 0x1f, 0x43, 0xda, 0x07, 0xe5, 0x12, 0xfd, 0x75, 0x20, 0x6f, 0x62, 0xb6, 0xcb, 0x06, 0x87, 0x50, - 0xea, 0xb9, 0x7b, 0x96, 0x6d, 0xbc, 0x4e, 0x25, 0xea, 0xbe, 0x43, 0x28, 0x67, 0x7f, 0x2a, 0x02, - 0xe0, 0x47, 0x40, 0xd1, 0x13, 0x70, 0xa2, 0x5c, 0xdf, 0x58, 0x55, 0x1b, 0xcd, 0x52, 0x73, 0xab, - 0x11, 0xfe, 0xc3, 0x49, 0xe2, 0xd0, 0xcd, 0xe9, 0x62, 0xdd, 0xd8, 0x31, 0x70, 0x0b, 0x3d, 0x02, - 0x73, 0x61, 0x68, 0xf2, 0x55, 0x5d, 0x95, 0x22, 0xc5, 0xec, 0xdd, 0x7b, 0x4b, 0x29, 0xe6, 0x08, - 0xe1, 0x16, 0x3a, 0x03, 0xc7, 0x06, 0xe1, 0x6a, 0x1b, 0x57, 0xa5, 0x68, 0x31, 0x77, 0xf7, 0xde, - 0x52, 0xda, 0xf3, 0x98, 0x90, 0x0c, 0x28, 0x08, 0xc9, 0xe9, 0xc5, 0x8a, 0x70, 0xf7, 0xde, 0x52, - 0x92, 0x09, 0x68, 0x31, 0xfe, 0xa1, 0x1f, 0x58, 0x98, 0x3a, 0xfb, 0x3e, 0x80, 0x9a, 0xb9, 0x63, - 0x6b, 0x3a, 0x5d, 0x88, 0x45, 0x38, 0x5e, 0xdb, 0xb8, 0xa2, 0x94, 0x2a, 0xcd, 0x5a, 0x7d, 0xa3, - 0xef, 0xef, 0x3d, 0x85, 0xeb, 0x56, 0xeb, 0x5b, 0xe5, 0xb5, 0xaa, 0xda, 0xa8, 0x5d, 0xdd, 0x60, - 0xf7, 0x1c, 0x42, 0x75, 0xef, 0xdd, 0x68, 0xd6, 0xd6, 0xab, 0x52, 0xf4, 0xec, 0xcf, 0x45, 0xe1, - 0x44, 0x88, 0xdf, 0x6b, 0x96, 0x7e, 0x8b, 0x33, 0xa9, 0x0c, 0x8f, 0x34, 0xeb, 0x37, 0xaa, 0x1b, - 0xb5, 0x57, 0xab, 0x6a, 0xe3, 0x5a, 0x49, 0xa9, 0xaa, 0xf4, 0x39, 0xe2, 0xa1, 0x3c, 0xa3, 0xcf, - 0x24, 0xf7, 0x11, 0xd8, 0x30, 0xda, 0xe8, 0x6b, 0xe0, 0xf4, 0x21, 0x34, 0xc8, 0x6f, 0xca, 0xc7, - 0x93, 0x77, 0xef, 0x2d, 0x1d, 0xeb, 0x43, 0x27, 0xbf, 0x70, 0x0b, 0xad, 0xc2, 0x43, 0x87, 0xf6, - 0x82, 0xd3, 0x88, 0x16, 0x4f, 0xdd, 0xbd, 0xb7, 0x74, 0xa2, 0x8f, 0xc6, 0x96, 0xd9, 0x66, 0x54, - 0xd6, 0xe1, 0xcc, 0x98, 0x7e, 0xa8, 0xd5, 0x97, 0x37, 0x6b, 0xf4, 0x4f, 0x64, 0xc5, 0x8a, 0x8b, - 0x77, 0xef, 0x2d, 0x9d, 0x1a, 0xd2, 0x9d, 0xea, 0x7e, 0xd7, 0x20, 0x92, 0xc5, 0xe6, 0xa6, 0x7c, - 0x65, 0xe4, 0x91, 0xe7, 0x13, 0x87, 0xc6, 0x11, 0xfd, 0x9d, 0x34, 0x74, 0xd6, 0xf9, 0x7f, 0x03, - 0x00, 0x00, 0xff, 0xff, 0x80, 0x7b, 0x3f, 0xc1, 0x6e, 0xa6, 0x00, 0x00, + // 11586 bytes of a gzipped FileDescriptorSet + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0xbd, 0x7b, 0x90, 0x1c, 0xc7, + 0x79, 0x18, 0x7e, 0xfb, 0xbc, 0xdd, 0x6f, 0x5f, 0x73, 0x7d, 0x07, 0xe0, 0xb0, 0x20, 0xef, 0x0e, + 0x43, 0x91, 0x04, 0x41, 0xf2, 0x40, 0x82, 0x04, 0x48, 0x1c, 0x44, 0xd1, 0xbb, 0x7b, 0x0b, 0x60, + 0x81, 0xbb, 0xdb, 0xe3, 0xec, 0x1e, 0x44, 0xd2, 0x96, 0xc6, 0x73, 0xb3, 0x7d, 0x77, 0x43, 0xec, + 0xce, 0xac, 0x66, 0x66, 0x81, 0x3b, 0xd6, 0xaf, 0x7e, 0x45, 0x47, 0x76, 0x22, 0xc3, 0x8f, 0xc8, + 0x91, 0x63, 0xcb, 0x96, 0x20, 0x4b, 0x76, 0x6c, 0xcb, 0xce, 0xcb, 0x0f, 0xc5, 0xcf, 0x8a, 0x63, + 0xe7, 0x69, 0xbb, 0x92, 0x94, 0xe2, 0x54, 0xc5, 0x4e, 0xaa, 0xcc, 0xd8, 0x94, 0x2b, 0x56, 0x64, + 0x39, 0xf1, 0x43, 0x79, 0xb8, 0x54, 0x49, 0xa5, 0xfa, 0x35, 0x8f, 0x7d, 0xdc, 0xee, 0x41, 0xa4, + 0xac, 0xd8, 0xf9, 0x07, 0xb8, 0xe9, 0xfe, 0xbe, 0xaf, 0xbb, 0xbf, 0xfe, 0xfa, 0xeb, 0xef, 0xfb, + 0xfa, 0xeb, 0x5e, 0xf8, 0xdd, 0x32, 0x2c, 0xed, 0x5a, 0xd6, 0x6e, 0x1b, 0x9f, 0xeb, 0xda, 0x96, + 0x6b, 0x6d, 0xf7, 0x76, 0xce, 0xb5, 0xb0, 0xa3, 0xdb, 0x46, 0xd7, 0xb5, 0xec, 0x65, 0x5a, 0x86, + 0x0a, 0x0c, 0x62, 0x59, 0x40, 0xc8, 0xeb, 0x30, 0x73, 0xc5, 0x68, 0xe3, 0x55, 0x0f, 0xb0, 0x81, + 0x5d, 0xf4, 0x3c, 0xc4, 0x77, 0x8c, 0x36, 0x9e, 0x8f, 0x2c, 0xc5, 0xce, 0x64, 0xce, 0xbf, 0x6b, + 0xb9, 0x0f, 0x69, 0x39, 0x8c, 0xb1, 0x49, 0x8a, 0x15, 0x8a, 0x21, 0xff, 0xef, 0x38, 0xcc, 0x0e, + 0xa9, 0x45, 0x08, 0xe2, 0xa6, 0xd6, 0x21, 0x14, 0x23, 0x67, 0xd2, 0x0a, 0xfd, 0x1b, 0xcd, 0xc3, + 0x74, 0x57, 0xd3, 0x6f, 0x69, 0xbb, 0x78, 0x3e, 0x4a, 0x8b, 0xc5, 0x27, 0x5a, 0x00, 0x68, 0xe1, + 0x2e, 0x36, 0x5b, 0xd8, 0xd4, 0x0f, 0xe6, 0x63, 0x4b, 0xb1, 0x33, 0x69, 0x25, 0x50, 0x82, 0x1e, + 0x87, 0x99, 0x6e, 0x6f, 0xbb, 0x6d, 0xe8, 0x6a, 0x00, 0x0c, 0x96, 0x62, 0x67, 0x12, 0x8a, 0xc4, + 0x2a, 0x56, 0x7d, 0xe0, 0x47, 0xa1, 0x70, 0x07, 0x6b, 0xb7, 0x82, 0xa0, 0x19, 0x0a, 0x9a, 0x27, + 0xc5, 0x01, 0xc0, 0x0a, 0x64, 0x3b, 0xd8, 0x71, 0xb4, 0x5d, 0xac, 0xba, 0x07, 0x5d, 0x3c, 0x1f, + 0xa7, 0xa3, 0x5f, 0x1a, 0x18, 0x7d, 0xff, 0xc8, 0x33, 0x1c, 0xab, 0x79, 0xd0, 0xc5, 0xa8, 0x04, + 0x69, 0x6c, 0xf6, 0x3a, 0x8c, 0x42, 0x62, 0x04, 0xff, 0xaa, 0x66, 0xaf, 0xd3, 0x4f, 0x25, 0x45, + 0xd0, 0x38, 0x89, 0x69, 0x07, 0xdb, 0xb7, 0x0d, 0x1d, 0xcf, 0x27, 0x29, 0x81, 0x47, 0x07, 0x08, + 0x34, 0x58, 0x7d, 0x3f, 0x0d, 0x81, 0x87, 0x2a, 0x90, 0xc6, 0xfb, 0x2e, 0x36, 0x1d, 0xc3, 0x32, + 0xe7, 0xa7, 0x29, 0x91, 0x87, 0x87, 0xcc, 0x22, 0x6e, 0xb7, 0xfa, 0x49, 0xf8, 0x78, 0xe8, 0x22, + 0x4c, 0x5b, 0x5d, 0xd7, 0xb0, 0x4c, 0x67, 0x3e, 0xb5, 0x14, 0x39, 0x93, 0x39, 0xff, 0xc0, 0x50, + 0x41, 0xa8, 0x33, 0x18, 0x45, 0x00, 0xa3, 0x1a, 0x48, 0x8e, 0xd5, 0xb3, 0x75, 0xac, 0xea, 0x56, + 0x0b, 0xab, 0x86, 0xb9, 0x63, 0xcd, 0xa7, 0x29, 0x81, 0xc5, 0xc1, 0x81, 0x50, 0xc0, 0x8a, 0xd5, + 0xc2, 0x35, 0x73, 0xc7, 0x52, 0xf2, 0x4e, 0xe8, 0x1b, 0x1d, 0x87, 0xa4, 0x73, 0x60, 0xba, 0xda, + 0xfe, 0x7c, 0x96, 0x4a, 0x08, 0xff, 0x22, 0xa2, 0x83, 0x5b, 0x06, 0x69, 0x6e, 0x3e, 0xc7, 0x44, + 0x87, 0x7f, 0xca, 0x3f, 0x9f, 0x84, 0xc2, 0x24, 0xc2, 0x77, 0x19, 0x12, 0x3b, 0x64, 0xfc, 0xf3, + 0xd1, 0xa3, 0x70, 0x87, 0xe1, 0x84, 0xd9, 0x9b, 0xbc, 0x4f, 0xf6, 0x96, 0x20, 0x63, 0x62, 0xc7, + 0xc5, 0x2d, 0x26, 0x2b, 0xb1, 0x09, 0xa5, 0x0d, 0x18, 0xd2, 0xa0, 0xb0, 0xc5, 0xef, 0x4b, 0xd8, + 0x5e, 0x86, 0x82, 0xd7, 0x25, 0xd5, 0xd6, 0xcc, 0x5d, 0x21, 0xb5, 0xe7, 0xc6, 0xf5, 0x64, 0xb9, + 0x2a, 0xf0, 0x14, 0x82, 0xa6, 0xe4, 0x71, 0xe8, 0x1b, 0xad, 0x02, 0x58, 0x26, 0xb6, 0x76, 0xd4, + 0x16, 0xd6, 0xdb, 0xf3, 0xa9, 0x11, 0x5c, 0xaa, 0x13, 0x90, 0x01, 0x2e, 0x59, 0xac, 0x54, 0x6f, + 0xa3, 0x4b, 0xbe, 0x10, 0x4e, 0x8f, 0x90, 0xa1, 0x75, 0xb6, 0xfc, 0x06, 0xe4, 0x70, 0x0b, 0xf2, + 0x36, 0x26, 0x2b, 0x02, 0xb7, 0xf8, 0xc8, 0xd2, 0xb4, 0x13, 0xcb, 0x63, 0x47, 0xa6, 0x70, 0x34, + 0x36, 0xb0, 0x9c, 0x1d, 0xfc, 0x44, 0x0f, 0x81, 0x57, 0xa0, 0x52, 0xb1, 0x02, 0xaa, 0x9f, 0xb2, + 0xa2, 0x70, 0x43, 0xeb, 0xe0, 0xe2, 0xeb, 0x90, 0x0f, 0xb3, 0x07, 0xcd, 0x41, 0xc2, 0x71, 0x35, + 0xdb, 0xa5, 0x52, 0x98, 0x50, 0xd8, 0x07, 0x92, 0x20, 0x86, 0xcd, 0x16, 0xd5, 0x7f, 0x09, 0x85, + 0xfc, 0x89, 0xbe, 0xce, 0x1f, 0x70, 0x8c, 0x0e, 0xf8, 0x91, 0xc1, 0x19, 0x0d, 0x51, 0xee, 0x1f, + 0x77, 0xf1, 0x39, 0xc8, 0x85, 0x06, 0x30, 0x69, 0xd3, 0xf2, 0xff, 0x07, 0xc7, 0x86, 0x92, 0x46, + 0x2f, 0xc3, 0x5c, 0xcf, 0x34, 0x4c, 0x17, 0xdb, 0x5d, 0x1b, 0x13, 0x89, 0x65, 0x4d, 0xcd, 0xff, + 0xfe, 0xf4, 0x08, 0x99, 0xdb, 0x0a, 0x42, 0x33, 0x2a, 0xca, 0x6c, 0x6f, 0xb0, 0xf0, 0x6c, 0x3a, + 0xf5, 0xf9, 0x69, 0xe9, 0x8d, 0x37, 0xde, 0x78, 0x23, 0x2a, 0xff, 0x4a, 0x12, 0xe6, 0x86, 0xad, + 0x99, 0xa1, 0xcb, 0xf7, 0x38, 0x24, 0xcd, 0x5e, 0x67, 0x1b, 0xdb, 0x94, 0x49, 0x09, 0x85, 0x7f, + 0xa1, 0x12, 0x24, 0xda, 0xda, 0x36, 0x6e, 0xcf, 0xc7, 0x97, 0x22, 0x67, 0xf2, 0xe7, 0x1f, 0x9f, + 0x68, 0x55, 0x2e, 0xaf, 0x11, 0x14, 0x85, 0x61, 0xa2, 0xf7, 0x40, 0x9c, 0x2b, 0x6f, 0x42, 0xe1, + 0xec, 0x64, 0x14, 0xc8, 0x5a, 0x52, 0x28, 0x1e, 0x3a, 0x05, 0x69, 0xf2, 0x3f, 0x93, 0x8d, 0x24, + 0xed, 0x73, 0x8a, 0x14, 0x10, 0xb9, 0x40, 0x45, 0x48, 0xd1, 0x65, 0xd2, 0xc2, 0x62, 0xd3, 0xf3, + 0xbe, 0x89, 0x60, 0xb5, 0xf0, 0x8e, 0xd6, 0x6b, 0xbb, 0xea, 0x6d, 0xad, 0xdd, 0xc3, 0x54, 0xe0, + 0xd3, 0x4a, 0x96, 0x17, 0xde, 0x24, 0x65, 0x68, 0x11, 0x32, 0x6c, 0x55, 0x19, 0x66, 0x0b, 0xef, + 0x53, 0xbd, 0x9a, 0x50, 0xd8, 0x42, 0xab, 0x91, 0x12, 0xd2, 0xfc, 0x6b, 0x8e, 0x65, 0x0a, 0xd1, + 0xa4, 0x4d, 0x90, 0x02, 0xda, 0xfc, 0x73, 0xfd, 0x2a, 0xfd, 0xc1, 0xe1, 0xc3, 0x1b, 0x58, 0x4b, + 0x8f, 0x42, 0x81, 0x42, 0x3c, 0xc3, 0xa7, 0x5e, 0x6b, 0xcf, 0xcf, 0x2c, 0x45, 0xce, 0xa4, 0x94, + 0x3c, 0x2b, 0xae, 0xf3, 0x52, 0xf9, 0x67, 0xa2, 0x10, 0xa7, 0x8a, 0xa5, 0x00, 0x99, 0xe6, 0x2b, + 0x9b, 0x55, 0x75, 0xb5, 0xbe, 0x55, 0x5e, 0xab, 0x4a, 0x11, 0x94, 0x07, 0xa0, 0x05, 0x57, 0xd6, + 0xea, 0xa5, 0xa6, 0x14, 0xf5, 0xbe, 0x6b, 0x1b, 0xcd, 0x8b, 0xcf, 0x4a, 0x31, 0x0f, 0x61, 0x8b, + 0x15, 0xc4, 0x83, 0x00, 0xcf, 0x9c, 0x97, 0x12, 0x48, 0x82, 0x2c, 0x23, 0x50, 0x7b, 0xb9, 0xba, + 0x7a, 0xf1, 0x59, 0x29, 0x19, 0x2e, 0x79, 0xe6, 0xbc, 0x34, 0x8d, 0x72, 0x90, 0xa6, 0x25, 0xe5, + 0x7a, 0x7d, 0x4d, 0x4a, 0x79, 0x34, 0x1b, 0x4d, 0xa5, 0xb6, 0x71, 0x55, 0x4a, 0x7b, 0x34, 0xaf, + 0x2a, 0xf5, 0xad, 0x4d, 0x09, 0x3c, 0x0a, 0xeb, 0xd5, 0x46, 0xa3, 0x74, 0xb5, 0x2a, 0x65, 0x3c, + 0x88, 0xf2, 0x2b, 0xcd, 0x6a, 0x43, 0xca, 0x86, 0xba, 0xf5, 0xcc, 0x79, 0x29, 0xe7, 0x35, 0x51, + 0xdd, 0xd8, 0x5a, 0x97, 0xf2, 0x68, 0x06, 0x72, 0xac, 0x09, 0xd1, 0x89, 0x42, 0x5f, 0xd1, 0xc5, + 0x67, 0x25, 0xc9, 0xef, 0x08, 0xa3, 0x32, 0x13, 0x2a, 0xb8, 0xf8, 0xac, 0x84, 0xe4, 0x0a, 0x24, + 0xa8, 0x18, 0x22, 0x04, 0xf9, 0xb5, 0x52, 0xb9, 0xba, 0xa6, 0xd6, 0x37, 0x9b, 0xb5, 0xfa, 0x46, + 0x69, 0x4d, 0x8a, 0xf8, 0x65, 0x4a, 0xf5, 0xa5, 0xad, 0x9a, 0x52, 0x5d, 0x95, 0xa2, 0xc1, 0xb2, + 0xcd, 0x6a, 0xa9, 0x59, 0x5d, 0x95, 0x62, 0xb2, 0x0e, 0x73, 0xc3, 0x14, 0xea, 0xd0, 0x25, 0x14, + 0x90, 0x85, 0xe8, 0x08, 0x59, 0xa0, 0xb4, 0xfa, 0x65, 0x41, 0xfe, 0x5c, 0x14, 0x66, 0x87, 0x6c, + 0x2a, 0x43, 0x1b, 0x79, 0x11, 0x12, 0x4c, 0x96, 0xd9, 0x36, 0xfb, 0xd8, 0xd0, 0xdd, 0x89, 0x4a, + 0xf6, 0xc0, 0x56, 0x4b, 0xf1, 0x82, 0x46, 0x48, 0x6c, 0x84, 0x11, 0x42, 0x48, 0x0c, 0x08, 0xec, + 0xfb, 0x06, 0x94, 0x3f, 0xdb, 0x1f, 0x2f, 0x4e, 0xb2, 0x3f, 0xd2, 0xb2, 0xa3, 0x6d, 0x02, 0x89, + 0x21, 0x9b, 0xc0, 0x65, 0x98, 0x19, 0x20, 0x34, 0xb1, 0x32, 0xfe, 0x60, 0x04, 0xe6, 0x47, 0x31, + 0x67, 0x8c, 0x4a, 0x8c, 0x86, 0x54, 0xe2, 0xe5, 0x7e, 0x0e, 0x9e, 0x1e, 0x3d, 0x09, 0x03, 0x73, + 0xfd, 0xa3, 0x11, 0x38, 0x3e, 0xdc, 0xd8, 0x1c, 0xda, 0x87, 0xf7, 0x40, 0xb2, 0x83, 0xdd, 0x3d, + 0x4b, 0x98, 0x55, 0x8f, 0x0c, 0xd9, 0xac, 0x49, 0x75, 0xff, 0x64, 0x73, 0xac, 0xe0, 0x6e, 0x1f, + 0x1b, 0x65, 0x31, 0xb2, 0xde, 0x0c, 0xf4, 0xf4, 0x5b, 0xa3, 0x70, 0x6c, 0x28, 0xf1, 0xa1, 0x1d, + 0x7d, 0x10, 0xc0, 0x30, 0xbb, 0x3d, 0x97, 0x99, 0x4e, 0x4c, 0x13, 0xa7, 0x69, 0x09, 0x55, 0x5e, + 0x44, 0xcb, 0xf6, 0x5c, 0xaf, 0x3e, 0x46, 0xeb, 0x81, 0x15, 0x51, 0x80, 0xe7, 0xfd, 0x8e, 0xc6, + 0x69, 0x47, 0x17, 0x46, 0x8c, 0x74, 0x40, 0x30, 0x9f, 0x02, 0x49, 0x6f, 0x1b, 0xd8, 0x74, 0x55, + 0xc7, 0xb5, 0xb1, 0xd6, 0x31, 0xcc, 0x5d, 0xba, 0xd5, 0xa4, 0x56, 0x12, 0x3b, 0x5a, 0xdb, 0xc1, + 0x4a, 0x81, 0x55, 0x37, 0x44, 0x2d, 0xc1, 0xa0, 0x02, 0x64, 0x07, 0x30, 0x92, 0x21, 0x0c, 0x56, + 0xed, 0x61, 0xc8, 0xdf, 0x95, 0x86, 0x4c, 0xc0, 0x34, 0x47, 0xa7, 0x21, 0xfb, 0x9a, 0x76, 0x5b, + 0x53, 0x85, 0xbb, 0xc5, 0x38, 0x91, 0x21, 0x65, 0x9b, 0xdc, 0xe5, 0x7a, 0x0a, 0xe6, 0x28, 0x88, + 0xd5, 0x73, 0xb1, 0xad, 0xea, 0x6d, 0xcd, 0x71, 0x28, 0xd3, 0x52, 0x14, 0x14, 0x91, 0xba, 0x3a, + 0xa9, 0xaa, 0x88, 0x1a, 0x74, 0x01, 0x66, 0x29, 0x46, 0xa7, 0xd7, 0x76, 0x8d, 0x6e, 0x1b, 0xab, + 0xc4, 0x01, 0x74, 0xe8, 0x96, 0xe3, 0xf5, 0x6c, 0x86, 0x40, 0xac, 0x73, 0x00, 0xd2, 0x23, 0x07, + 0xad, 0xc2, 0x83, 0x14, 0x6d, 0x17, 0x9b, 0xd8, 0xd6, 0x5c, 0xac, 0xe2, 0x0f, 0xf4, 0xb4, 0xb6, + 0xa3, 0x6a, 0x66, 0x4b, 0xdd, 0xd3, 0x9c, 0xbd, 0xf9, 0x39, 0x42, 0xa0, 0x1c, 0x9d, 0x8f, 0x28, + 0x27, 0x09, 0xe0, 0x55, 0x0e, 0x57, 0xa5, 0x60, 0x25, 0xb3, 0x75, 0x4d, 0x73, 0xf6, 0xd0, 0x0a, + 0x1c, 0xa7, 0x54, 0x1c, 0xd7, 0x36, 0xcc, 0x5d, 0x55, 0xdf, 0xc3, 0xfa, 0x2d, 0xb5, 0xe7, 0xee, + 0x3c, 0x3f, 0x7f, 0x2a, 0xd8, 0x3e, 0xed, 0x61, 0x83, 0xc2, 0x54, 0x08, 0xc8, 0x96, 0xbb, 0xf3, + 0x3c, 0x6a, 0x40, 0x96, 0x4c, 0x46, 0xc7, 0x78, 0x1d, 0xab, 0x3b, 0x96, 0x4d, 0xf7, 0xd0, 0xfc, + 0x10, 0xd5, 0x14, 0xe0, 0xe0, 0x72, 0x9d, 0x23, 0xac, 0x5b, 0x2d, 0xbc, 0x92, 0x68, 0x6c, 0x56, + 0xab, 0xab, 0x4a, 0x46, 0x50, 0xb9, 0x62, 0xd9, 0x44, 0xa0, 0x76, 0x2d, 0x8f, 0xc1, 0x19, 0x26, + 0x50, 0xbb, 0x96, 0x60, 0xef, 0x05, 0x98, 0xd5, 0x75, 0x36, 0x66, 0x43, 0x57, 0xb9, 0x9b, 0xe6, + 0xcc, 0x4b, 0x21, 0x66, 0xe9, 0xfa, 0x55, 0x06, 0xc0, 0x65, 0xdc, 0x41, 0x97, 0xe0, 0x98, 0xcf, + 0xac, 0x20, 0xe2, 0xcc, 0xc0, 0x28, 0xfb, 0x51, 0x2f, 0xc0, 0x6c, 0xf7, 0x60, 0x10, 0x11, 0x85, + 0x5a, 0xec, 0x1e, 0xf4, 0xa3, 0x3d, 0x07, 0x73, 0xdd, 0xbd, 0xee, 0x20, 0xde, 0xd9, 0x20, 0x1e, + 0xea, 0xee, 0x75, 0xfb, 0x11, 0x1f, 0xa6, 0x3e, 0xbb, 0x8d, 0x75, 0xcd, 0xc5, 0xad, 0xf9, 0x13, + 0x41, 0xf0, 0x40, 0x05, 0x5a, 0x06, 0x49, 0xd7, 0x55, 0x6c, 0x6a, 0xdb, 0x6d, 0xac, 0x6a, 0x36, + 0x36, 0x35, 0x67, 0x7e, 0x91, 0x02, 0xc7, 0x5d, 0xbb, 0x87, 0x95, 0xbc, 0xae, 0x57, 0x69, 0x65, + 0x89, 0xd6, 0xa1, 0xb3, 0x30, 0x63, 0x6d, 0xbf, 0xa6, 0x33, 0x89, 0x54, 0xbb, 0x36, 0xde, 0x31, + 0xf6, 0xe7, 0xdf, 0x45, 0xd9, 0x5b, 0x20, 0x15, 0x54, 0x1e, 0x37, 0x69, 0x31, 0x7a, 0x0c, 0x24, + 0xdd, 0xd9, 0xd3, 0xec, 0x2e, 0x55, 0xc9, 0x4e, 0x57, 0xd3, 0xf1, 0xfc, 0xc3, 0x0c, 0x94, 0x95, + 0x6f, 0x88, 0x62, 0xb2, 0x22, 0x9c, 0x3b, 0xc6, 0x8e, 0x2b, 0x28, 0x3e, 0xca, 0x56, 0x04, 0x2d, + 0xe3, 0xd4, 0xce, 0x80, 0x44, 0x38, 0x11, 0x6a, 0xf8, 0x0c, 0x05, 0xcb, 0x77, 0xf7, 0xba, 0xc1, + 0x76, 0x1f, 0x82, 0x1c, 0x81, 0xf4, 0x1b, 0x7d, 0x8c, 0x19, 0x6e, 0xdd, 0xbd, 0x40, 0x8b, 0xcf, + 0xc2, 0x71, 0x02, 0xd4, 0xc1, 0xae, 0xd6, 0xd2, 0x5c, 0x2d, 0x00, 0xfd, 0x04, 0x85, 0x26, 0x6c, + 0x5f, 0xe7, 0x95, 0xa1, 0x7e, 0xda, 0xbd, 0xed, 0x03, 0x4f, 0xb0, 0x9e, 0x64, 0xfd, 0x24, 0x65, + 0x42, 0xb4, 0xde, 0x31, 0xe3, 0x5c, 0x5e, 0x81, 0x6c, 0x50, 0xee, 0x51, 0x1a, 0x98, 0xe4, 0x4b, + 0x11, 0x62, 0x04, 0x55, 0xea, 0xab, 0xc4, 0x7c, 0x79, 0xb5, 0x2a, 0x45, 0x89, 0x19, 0xb5, 0x56, + 0x6b, 0x56, 0x55, 0x65, 0x6b, 0xa3, 0x59, 0x5b, 0xaf, 0x4a, 0xb1, 0x80, 0x61, 0x7f, 0x3d, 0x9e, + 0x7a, 0x44, 0x7a, 0x54, 0xfe, 0xc5, 0x18, 0xe4, 0xc3, 0x9e, 0x1a, 0x7a, 0x37, 0x9c, 0x10, 0x01, + 0x17, 0x07, 0xbb, 0xea, 0x1d, 0xc3, 0xa6, 0x0b, 0xb2, 0xa3, 0xb1, 0xcd, 0xd1, 0x93, 0x9f, 0x39, + 0x0e, 0xd5, 0xc0, 0xee, 0x7b, 0x0d, 0x9b, 0x2c, 0xb7, 0x8e, 0xe6, 0xa2, 0x35, 0x58, 0x34, 0x2d, + 0xd5, 0x71, 0x35, 0xb3, 0xa5, 0xd9, 0x2d, 0xd5, 0x0f, 0x75, 0xa9, 0x9a, 0xae, 0x63, 0xc7, 0xb1, + 0xd8, 0x46, 0xe8, 0x51, 0x79, 0xc0, 0xb4, 0x1a, 0x1c, 0xd8, 0xdf, 0x21, 0x4a, 0x1c, 0xb4, 0x4f, + 0x7c, 0x63, 0xa3, 0xc4, 0xf7, 0x14, 0xa4, 0x3b, 0x5a, 0x57, 0xc5, 0xa6, 0x6b, 0x1f, 0x50, 0xfb, + 0x3c, 0xa5, 0xa4, 0x3a, 0x5a, 0xb7, 0x4a, 0xbe, 0xd1, 0x4d, 0x78, 0xc4, 0x07, 0x55, 0xdb, 0x78, + 0x57, 0xd3, 0x0f, 0x54, 0x6a, 0x8c, 0xd3, 0xb0, 0x81, 0xaa, 0x5b, 0xe6, 0x4e, 0xdb, 0xd0, 0x5d, + 0x87, 0xea, 0x07, 0xa6, 0xe3, 0x64, 0x1f, 0x63, 0x8d, 0x22, 0x5c, 0x77, 0x2c, 0x93, 0xda, 0xe0, + 0x15, 0x01, 0xfd, 0x55, 0x71, 0xbf, 0xae, 0xc7, 0x53, 0x71, 0x29, 0x71, 0x3d, 0x9e, 0x4a, 0x48, + 0xc9, 0xeb, 0xf1, 0x54, 0x52, 0x9a, 0xbe, 0x1e, 0x4f, 0xa5, 0xa4, 0xf4, 0xf5, 0x78, 0x2a, 0x2d, + 0x81, 0xfc, 0xb3, 0x29, 0xc8, 0x06, 0x3d, 0x03, 0xe2, 0x68, 0xe9, 0x74, 0x6f, 0x8c, 0x50, 0xed, + 0xf9, 0xd0, 0xa1, 0x7e, 0xc4, 0x72, 0x85, 0x6c, 0x9a, 0x2b, 0x49, 0x66, 0x86, 0x2b, 0x0c, 0x93, + 0x18, 0x2c, 0x44, 0xac, 0x31, 0x33, 0x7b, 0x52, 0x0a, 0xff, 0x42, 0x57, 0x21, 0xf9, 0x9a, 0x43, + 0x69, 0x27, 0x29, 0xed, 0x77, 0x1d, 0x4e, 0xfb, 0x7a, 0x83, 0x12, 0x4f, 0x5f, 0x6f, 0xa8, 0x1b, + 0x75, 0x65, 0xbd, 0xb4, 0xa6, 0x70, 0x74, 0x74, 0x12, 0xe2, 0x6d, 0xed, 0xf5, 0x83, 0xf0, 0xf6, + 0x4a, 0x8b, 0xd0, 0x32, 0x14, 0x7a, 0xe6, 0x6d, 0x6c, 0x1b, 0x3b, 0x06, 0x99, 0x2a, 0x02, 0x55, + 0x08, 0x42, 0xe5, 0xfd, 0xda, 0x35, 0x02, 0x3f, 0xa1, 0x78, 0x9c, 0x84, 0xf8, 0x1d, 0xac, 0xdd, + 0x0a, 0x6f, 0x82, 0xb4, 0x08, 0x9d, 0x81, 0x6c, 0x0b, 0x6f, 0xf7, 0x76, 0x55, 0x1b, 0xb7, 0x34, + 0xdd, 0x0d, 0xab, 0xfe, 0x0c, 0xad, 0x52, 0x68, 0x0d, 0xba, 0x01, 0x69, 0x32, 0x47, 0x26, 0x9d, + 0xe3, 0x19, 0xca, 0x82, 0x27, 0x0f, 0x67, 0x01, 0x9f, 0x62, 0x81, 0xa4, 0xf8, 0xf8, 0xe8, 0x0a, + 0x24, 0x5d, 0xcd, 0xde, 0xc5, 0x2e, 0xd5, 0xfc, 0xf9, 0x21, 0xc1, 0x8f, 0x21, 0x94, 0x9a, 0x14, + 0x83, 0xfa, 0xb4, 0x1c, 0xfb, 0x1d, 0xd4, 0x32, 0xe7, 0x20, 0x41, 0xc5, 0x03, 0x01, 0x70, 0x01, + 0x91, 0xa6, 0x50, 0x0a, 0xe2, 0x95, 0xba, 0x42, 0x34, 0x8d, 0x04, 0x59, 0x56, 0xaa, 0x6e, 0xd6, + 0xaa, 0x95, 0xaa, 0x14, 0x95, 0x2f, 0x40, 0x92, 0xcd, 0x39, 0xd1, 0x42, 0xde, 0xac, 0x4b, 0x53, + 0xfc, 0x93, 0xd3, 0x88, 0x88, 0xda, 0xad, 0xf5, 0x72, 0x55, 0x91, 0xa2, 0xf2, 0x16, 0x14, 0xfa, + 0xf8, 0x84, 0x8e, 0xc1, 0x8c, 0x52, 0x6d, 0x56, 0x37, 0x88, 0x9f, 0xa5, 0x6e, 0x6d, 0xdc, 0xd8, + 0xa8, 0xbf, 0x77, 0x43, 0x9a, 0x0a, 0x17, 0x0b, 0x95, 0x16, 0x41, 0x73, 0x20, 0xf9, 0xc5, 0x8d, + 0xfa, 0x96, 0x42, 0x7b, 0xf3, 0xed, 0x51, 0x90, 0xfa, 0xb9, 0x86, 0x4e, 0xc0, 0x6c, 0xb3, 0xa4, + 0x5c, 0xad, 0x36, 0x55, 0xe6, 0x3b, 0x7a, 0xa4, 0xe7, 0x40, 0x0a, 0x56, 0x5c, 0xa9, 0x51, 0xd7, + 0x78, 0x11, 0x4e, 0x05, 0x4b, 0xab, 0x2f, 0x37, 0xab, 0x1b, 0x0d, 0xda, 0x78, 0x69, 0xe3, 0x2a, + 0xd1, 0xaf, 0x7d, 0xf4, 0x84, 0xb7, 0x1a, 0x23, 0x5d, 0x0d, 0xd3, 0xab, 0xae, 0xad, 0x4a, 0xf1, + 0xfe, 0xe2, 0xfa, 0x46, 0xb5, 0x7e, 0x45, 0x4a, 0xf4, 0xb7, 0x4e, 0x3d, 0xd8, 0x24, 0x2a, 0xc2, + 0xf1, 0xfe, 0x52, 0xb5, 0xba, 0xd1, 0x54, 0x5e, 0x91, 0xa6, 0xfb, 0x1b, 0x6e, 0x54, 0x95, 0x9b, + 0xb5, 0x4a, 0x55, 0x4a, 0xa1, 0xe3, 0x80, 0xc2, 0x3d, 0x6a, 0x5e, 0xab, 0xaf, 0x4a, 0xe9, 0x01, + 0x8d, 0x22, 0x3b, 0x90, 0x0d, 0xba, 0x91, 0x5f, 0x9d, 0x58, 0xd2, 0x47, 0xa3, 0x90, 0x09, 0xb8, + 0x85, 0xc4, 0x9e, 0xd7, 0xda, 0x6d, 0xeb, 0x8e, 0xaa, 0xb5, 0x0d, 0xcd, 0xe1, 0xfa, 0x06, 0x68, + 0x51, 0x89, 0x94, 0x4c, 0xba, 0xbe, 0x27, 0xd7, 0xf0, 0xc9, 0xaf, 0x45, 0x0d, 0x9f, 0x90, 0x92, + 0xf2, 0x27, 0x22, 0x20, 0xf5, 0xfb, 0x7b, 0x7d, 0xc3, 0x8f, 0x8c, 0x1a, 0xfe, 0x57, 0x65, 0xee, + 0x3e, 0x1e, 0x81, 0x7c, 0xd8, 0xc9, 0xeb, 0xeb, 0xde, 0xe9, 0x3f, 0xd7, 0xee, 0xfd, 0x4e, 0x14, + 0x72, 0x21, 0xd7, 0x6e, 0xd2, 0xde, 0x7d, 0x00, 0x66, 0x8c, 0x16, 0xee, 0x74, 0x2d, 0x17, 0x9b, + 0xfa, 0x81, 0xda, 0xc6, 0xb7, 0x71, 0x7b, 0x5e, 0xa6, 0x4a, 0xf9, 0xdc, 0xe1, 0xce, 0xe3, 0x72, + 0xcd, 0xc7, 0x5b, 0x23, 0x68, 0x2b, 0xb3, 0xb5, 0xd5, 0xea, 0xfa, 0x66, 0xbd, 0x59, 0xdd, 0xa8, + 0xbc, 0x22, 0xb4, 0x8b, 0x22, 0x19, 0x7d, 0x60, 0xef, 0xa0, 0xd2, 0xde, 0x04, 0xa9, 0xbf, 0x53, + 0x44, 0x57, 0x0c, 0xe9, 0x96, 0x34, 0x85, 0x66, 0xa1, 0xb0, 0x51, 0x57, 0x1b, 0xb5, 0xd5, 0xaa, + 0x5a, 0xbd, 0x72, 0xa5, 0x5a, 0x69, 0x36, 0x58, 0x38, 0xd0, 0x83, 0x6e, 0x4a, 0xd1, 0x20, 0x8b, + 0xbf, 0x3f, 0x06, 0xb3, 0x43, 0x7a, 0x82, 0x4a, 0xdc, 0x91, 0x67, 0xb1, 0x85, 0x27, 0x27, 0xe9, + 0xfd, 0x32, 0x31, 0xa5, 0x37, 0x35, 0xdb, 0xe5, 0x7e, 0xff, 0x63, 0x40, 0xb8, 0x64, 0xba, 0x64, + 0x67, 0xb7, 0x79, 0x98, 0x95, 0x79, 0xf7, 0x05, 0xbf, 0x9c, 0x45, 0x5a, 0x9f, 0x00, 0xd4, 0xb5, + 0x1c, 0xc3, 0x35, 0x6e, 0x63, 0xd5, 0x30, 0x45, 0x4c, 0x96, 0x78, 0xfb, 0x71, 0x45, 0x12, 0x35, + 0x35, 0xd3, 0xf5, 0xa0, 0x4d, 0xbc, 0xab, 0xf5, 0x41, 0x13, 0xcb, 0x23, 0xa6, 0x48, 0xa2, 0xc6, + 0x83, 0x3e, 0x0d, 0xd9, 0x96, 0xd5, 0x23, 0x2e, 0x10, 0x83, 0x23, 0xda, 0x22, 0xa2, 0x64, 0x58, + 0x99, 0x07, 0xc2, 0x9d, 0x5b, 0x3f, 0x18, 0x9c, 0x55, 0x32, 0xac, 0x8c, 0x81, 0x3c, 0x0a, 0x05, + 0x6d, 0x77, 0xd7, 0x26, 0xc4, 0x05, 0x21, 0xe6, 0xae, 0xe7, 0xbd, 0x62, 0x0a, 0x58, 0xbc, 0x0e, + 0x29, 0xc1, 0x07, 0x62, 0xc1, 0x12, 0x4e, 0xa8, 0x5d, 0x16, 0x83, 0x8a, 0x9e, 0x49, 0x2b, 0x29, + 0x53, 0x54, 0x9e, 0x86, 0xac, 0xe1, 0xa8, 0xfe, 0xd9, 0x56, 0x74, 0x29, 0x7a, 0x26, 0xa5, 0x64, + 0x0c, 0xc7, 0x3b, 0x17, 0x90, 0x7f, 0x34, 0x0a, 0xf9, 0xf0, 0xa9, 0x1d, 0x5a, 0x85, 0x54, 0xdb, + 0xd2, 0x35, 0x2a, 0x5a, 0xec, 0xc8, 0xf8, 0xcc, 0x98, 0x83, 0xbe, 0xe5, 0x35, 0x0e, 0xaf, 0x78, + 0x98, 0xc5, 0x7f, 0x1d, 0x81, 0x94, 0x28, 0x46, 0xc7, 0x21, 0xde, 0xd5, 0xdc, 0x3d, 0x4a, 0x2e, + 0x51, 0x8e, 0x4a, 0x11, 0x85, 0x7e, 0x93, 0x72, 0xa7, 0xab, 0x99, 0x54, 0x04, 0x78, 0x39, 0xf9, + 0x26, 0xf3, 0xda, 0xc6, 0x5a, 0x8b, 0xc6, 0x02, 0xac, 0x4e, 0x07, 0x9b, 0xae, 0x23, 0xe6, 0x95, + 0x97, 0x57, 0x78, 0x31, 0x7a, 0x1c, 0x66, 0x5c, 0x5b, 0x33, 0xda, 0x21, 0xd8, 0x38, 0x85, 0x95, + 0x44, 0x85, 0x07, 0xbc, 0x02, 0x27, 0x05, 0xdd, 0x16, 0x76, 0x35, 0x7d, 0x0f, 0xb7, 0x7c, 0xa4, + 0x24, 0x8d, 0xf9, 0x9d, 0xe0, 0x00, 0xab, 0xbc, 0x5e, 0xe0, 0xca, 0x9f, 0x8d, 0xc2, 0x8c, 0x88, + 0x5e, 0xb4, 0x3c, 0x66, 0xad, 0x03, 0x68, 0xa6, 0x69, 0xb9, 0x41, 0x76, 0x0d, 0x8a, 0xf2, 0x00, + 0xde, 0x72, 0xc9, 0x43, 0x52, 0x02, 0x04, 0x8a, 0x7f, 0x10, 0x01, 0xf0, 0xab, 0x46, 0xf2, 0x6d, + 0x11, 0x32, 0xfc, 0x4c, 0x96, 0x1e, 0xec, 0xb3, 0x80, 0x17, 0xb0, 0xa2, 0x2b, 0x46, 0x9b, 0x86, + 0x25, 0xb7, 0xf1, 0xae, 0x61, 0xf2, 0xf3, 0x14, 0xf6, 0x21, 0xc2, 0x92, 0x71, 0xff, 0x78, 0x4a, + 0x81, 0x94, 0x83, 0x3b, 0x9a, 0xe9, 0x1a, 0x3a, 0x3f, 0x21, 0xb9, 0x78, 0xa4, 0xce, 0x2f, 0x37, + 0x38, 0xb6, 0xe2, 0xd1, 0x91, 0xcf, 0x40, 0x4a, 0x94, 0x12, 0xc3, 0x6f, 0xa3, 0xbe, 0x51, 0x95, + 0xa6, 0xd0, 0x34, 0xc4, 0x1a, 0xd5, 0xa6, 0x14, 0x21, 0x6e, 0x67, 0x69, 0xad, 0x56, 0x6a, 0x48, + 0xd1, 0xf2, 0xff, 0x0f, 0xb3, 0xba, 0xd5, 0xe9, 0x6f, 0xb0, 0x2c, 0xf5, 0x85, 0xfc, 0x9c, 0x6b, + 0x91, 0x57, 0x9f, 0xe4, 0x40, 0xbb, 0x56, 0x5b, 0x33, 0x77, 0x97, 0x2d, 0x7b, 0xd7, 0x4f, 0x8b, + 0x20, 0xde, 0x81, 0x13, 0x48, 0x8e, 0xe8, 0x6e, 0xff, 0xcf, 0x48, 0xe4, 0x07, 0xa3, 0xb1, 0xab, + 0x9b, 0xe5, 0x1f, 0x8f, 0x16, 0xaf, 0x32, 0xc4, 0x4d, 0x31, 0x1c, 0x05, 0xef, 0xb4, 0xb1, 0x4e, + 0x3a, 0x0f, 0x1f, 0x8b, 0xc3, 0x8c, 0xd6, 0x31, 0x4c, 0xeb, 0x1c, 0xfd, 0x97, 0x27, 0x55, 0x24, + 0xe8, 0x47, 0x71, 0x6c, 0xf6, 0xc5, 0xca, 0x45, 0xa6, 0xc0, 0xd0, 0xb8, 0x33, 0xcc, 0xf9, 0x3f, + 0xfe, 0xf6, 0x1f, 0x49, 0xf8, 0xd1, 0xca, 0x95, 0x75, 0x90, 0x84, 0xa3, 0x8c, 0x4d, 0xdd, 0x22, + 0xd2, 0x36, 0x9e, 0xc6, 0x9f, 0x08, 0x1a, 0x05, 0x8e, 0x5b, 0xe5, 0xa8, 0x2b, 0xef, 0x86, 0x94, + 0x47, 0xe6, 0xf0, 0x03, 0xa0, 0xf9, 0x3f, 0x15, 0x44, 0x3c, 0x8c, 0x95, 0x17, 0x01, 0x98, 0xb1, + 0xc3, 0x02, 0xa9, 0x87, 0xe3, 0x7f, 0x49, 0xe0, 0xa7, 0x29, 0x0e, 0xd1, 0x42, 0x2b, 0x57, 0x21, + 0xdf, 0xb2, 0x4c, 0x57, 0xb5, 0x3a, 0x86, 0x8b, 0x3b, 0x5d, 0xf7, 0x60, 0x1c, 0x91, 0xff, 0xc6, + 0x88, 0xa4, 0x94, 0x1c, 0xc1, 0xab, 0x0b, 0x34, 0xd2, 0x13, 0x76, 0x16, 0x36, 0x49, 0x4f, 0xfe, + 0xbb, 0xd7, 0x13, 0x8a, 0x43, 0x7a, 0x52, 0xae, 0xfe, 0xea, 0x5b, 0x0b, 0x91, 0xcf, 0xbe, 0xb5, + 0x10, 0xf9, 0x9d, 0xb7, 0x16, 0x22, 0x1f, 0xfe, 0xdc, 0xc2, 0xd4, 0x67, 0x3f, 0xb7, 0x30, 0xf5, + 0x5b, 0x9f, 0x5b, 0x98, 0x7a, 0xf5, 0xf1, 0x5d, 0xc3, 0xdd, 0xeb, 0x6d, 0x2f, 0xeb, 0x56, 0xe7, + 0x9c, 0x6e, 0x39, 0x1d, 0xcb, 0xe1, 0xff, 0x3d, 0xe9, 0xb4, 0x6e, 0x71, 0xf9, 0x71, 0xf7, 0x99, + 0x14, 0x6c, 0x27, 0xd9, 0x19, 0x18, 0xfc, 0xe1, 0xe3, 0x30, 0xb7, 0x6b, 0xed, 0x5a, 0xf4, 0xf3, + 0x1c, 0xf9, 0x8b, 0x0b, 0x48, 0xda, 0x2b, 0x9d, 0x40, 0x48, 0x36, 0x60, 0x96, 0x03, 0xab, 0xf4, + 0x70, 0x9f, 0x85, 0x9e, 0xd0, 0xa1, 0xe7, 0x1e, 0xf3, 0x3f, 0xf9, 0x7b, 0xd4, 0x66, 0x55, 0x66, + 0x38, 0x2a, 0xa9, 0x63, 0xd1, 0xa9, 0x15, 0x05, 0x8e, 0x85, 0xe8, 0xb1, 0x1d, 0x04, 0xdb, 0x63, + 0x28, 0xfe, 0x33, 0x4e, 0x71, 0x36, 0x40, 0xb1, 0xc1, 0x51, 0x57, 0x2a, 0x90, 0x3b, 0x0a, 0xad, + 0x7f, 0xce, 0x69, 0x65, 0x71, 0x90, 0xc8, 0x55, 0x28, 0x50, 0x22, 0x7a, 0xcf, 0x71, 0xad, 0x0e, + 0x9d, 0xc3, 0xc3, 0xc9, 0xfc, 0x8b, 0xdf, 0x63, 0x2a, 0x3d, 0x4f, 0xd0, 0x2a, 0x1e, 0xd6, 0xca, + 0x0a, 0xd0, 0x7c, 0x86, 0x16, 0xd6, 0xdb, 0x63, 0x28, 0xfc, 0x2a, 0xef, 0x88, 0x07, 0xbf, 0x72, + 0x13, 0xe6, 0xc8, 0xdf, 0x74, 0xf7, 0x0c, 0xf6, 0x64, 0xfc, 0x21, 0xc9, 0xfc, 0xbf, 0xf9, 0x20, + 0xdb, 0x35, 0x66, 0x3d, 0x02, 0x81, 0x3e, 0x05, 0x66, 0x71, 0x17, 0xbb, 0x2e, 0xb6, 0x1d, 0x55, + 0x6b, 0x0f, 0xeb, 0x5e, 0x20, 0xca, 0x3c, 0xff, 0x7d, 0x5f, 0x0c, 0xcf, 0xe2, 0x55, 0x86, 0x59, + 0x6a, 0xb7, 0x57, 0xb6, 0xe0, 0xc4, 0x10, 0xa9, 0x98, 0x80, 0xe6, 0xf7, 0x73, 0x9a, 0x73, 0x03, + 0x92, 0x41, 0xc8, 0x6e, 0x82, 0x28, 0xf7, 0xe6, 0x72, 0x02, 0x9a, 0x1f, 0xe3, 0x34, 0x11, 0xc7, + 0x15, 0x53, 0x4a, 0x28, 0x5e, 0x87, 0x99, 0xdb, 0xd8, 0xde, 0xb6, 0x1c, 0x1e, 0xd9, 0x9f, 0x80, + 0xdc, 0xc7, 0x39, 0xb9, 0x02, 0x47, 0xa4, 0xa1, 0x7e, 0x42, 0xeb, 0x12, 0xa4, 0x76, 0x34, 0x1d, + 0x4f, 0x40, 0xe2, 0x1e, 0x27, 0x31, 0x4d, 0xe0, 0x09, 0x6a, 0x09, 0xb2, 0xbb, 0x16, 0x37, 0xa0, + 0xc6, 0xa3, 0x7f, 0x82, 0xa3, 0x67, 0x04, 0x0e, 0x27, 0xd1, 0xb5, 0xba, 0xbd, 0x36, 0xb1, 0xae, + 0xc6, 0x93, 0xf8, 0x01, 0x41, 0x42, 0xe0, 0x70, 0x12, 0x47, 0x60, 0xeb, 0x27, 0x05, 0x09, 0x27, + 0xc0, 0xcf, 0x17, 0x21, 0x63, 0x99, 0xed, 0x03, 0xcb, 0x9c, 0xa4, 0x13, 0x9f, 0xe2, 0x14, 0x80, + 0xa3, 0x10, 0x02, 0x97, 0x21, 0x3d, 0xe9, 0x44, 0xfc, 0xf0, 0x17, 0xc5, 0xf2, 0x10, 0x33, 0x70, + 0x15, 0x0a, 0x42, 0x41, 0x19, 0x96, 0x39, 0x01, 0x89, 0x1f, 0xe1, 0x24, 0xf2, 0x01, 0x34, 0x3e, + 0x0c, 0x17, 0x3b, 0xee, 0x2e, 0x9e, 0x84, 0xc8, 0x8f, 0x8a, 0x61, 0x70, 0x14, 0xce, 0xca, 0x6d, + 0x6c, 0xea, 0x7b, 0x93, 0x51, 0xf8, 0xb4, 0x60, 0xa5, 0xc0, 0x21, 0x24, 0x2a, 0x90, 0xeb, 0x68, + 0xb6, 0xb3, 0xa7, 0xb5, 0x27, 0x9a, 0x8e, 0x1f, 0xe3, 0x34, 0xb2, 0x1e, 0x12, 0xe7, 0x48, 0xcf, + 0x3c, 0x0a, 0x99, 0x1f, 0x17, 0x1c, 0x09, 0xa0, 0xf1, 0xa5, 0xe7, 0xb8, 0xf4, 0x18, 0xe4, 0x28, + 0xd4, 0xfe, 0xb6, 0x58, 0x7a, 0x0c, 0x77, 0x3d, 0x48, 0xf1, 0x32, 0xa4, 0x1d, 0xe3, 0xf5, 0x89, + 0xc8, 0xfc, 0x1d, 0x31, 0xd3, 0x14, 0x81, 0x20, 0xbf, 0x02, 0x27, 0x87, 0x6e, 0x13, 0x13, 0x10, + 0xfb, 0xbb, 0x9c, 0xd8, 0xf1, 0x21, 0x5b, 0x05, 0x57, 0x09, 0x47, 0x25, 0xf9, 0xf7, 0x84, 0x4a, + 0xc0, 0x7d, 0xb4, 0x36, 0x89, 0x4b, 0xeb, 0x68, 0x3b, 0x47, 0xe3, 0xda, 0xdf, 0x17, 0x5c, 0x63, + 0xb8, 0x21, 0xae, 0x35, 0xe1, 0x38, 0xa7, 0x78, 0xb4, 0x79, 0xfd, 0x09, 0xa1, 0x58, 0x19, 0xf6, + 0x56, 0x78, 0x76, 0xbf, 0x1e, 0x8a, 0x1e, 0x3b, 0x85, 0xef, 0xe4, 0xa8, 0x1d, 0xad, 0x3b, 0x01, + 0xe5, 0x9f, 0xe4, 0x94, 0x85, 0xc6, 0xf7, 0x9c, 0x2f, 0x67, 0x5d, 0xeb, 0x12, 0xe2, 0x2f, 0xc3, + 0xbc, 0x20, 0xde, 0x33, 0x6d, 0xac, 0x5b, 0xbb, 0xa6, 0xf1, 0x3a, 0x6e, 0x4d, 0x40, 0xfa, 0xa7, + 0xfa, 0xa6, 0x6a, 0x2b, 0x80, 0x4e, 0x28, 0xd7, 0x40, 0xf2, 0x6c, 0x15, 0xd5, 0xe8, 0x74, 0x2d, + 0xdb, 0x1d, 0x43, 0xf1, 0xa7, 0xc5, 0x4c, 0x79, 0x78, 0x35, 0x8a, 0xb6, 0x52, 0x05, 0x96, 0x1b, + 0x34, 0xa9, 0x48, 0x7e, 0x86, 0x13, 0xca, 0xf9, 0x58, 0x5c, 0x71, 0xe8, 0x56, 0xa7, 0xab, 0xd9, + 0x93, 0xe8, 0xbf, 0x7f, 0x20, 0x14, 0x07, 0x47, 0xe1, 0x8a, 0x83, 0xd8, 0x6b, 0x64, 0xb7, 0x9f, + 0x80, 0xc2, 0xcf, 0x08, 0xc5, 0x21, 0x70, 0x38, 0x09, 0x61, 0x30, 0x4c, 0x40, 0xe2, 0x67, 0x05, + 0x09, 0x81, 0x43, 0x48, 0xbc, 0xe4, 0x6f, 0xb4, 0x36, 0xde, 0x35, 0x1c, 0xd7, 0x66, 0x0e, 0xdb, + 0xe1, 0xa4, 0x7e, 0xee, 0x8b, 0x61, 0x23, 0x4c, 0x09, 0xa0, 0x12, 0x4d, 0xc4, 0x2d, 0x7b, 0xea, + 0xd0, 0x8f, 0xef, 0xd8, 0xcf, 0x0b, 0x4d, 0x14, 0x40, 0x23, 0x7d, 0x0b, 0x58, 0x88, 0x84, 0xed, + 0x3a, 0x71, 0x63, 0x27, 0x20, 0xf7, 0x0b, 0x7d, 0x9d, 0x6b, 0x08, 0x5c, 0x42, 0x33, 0x60, 0xff, + 0xf4, 0xcc, 0x5b, 0xf8, 0x60, 0x22, 0xe9, 0xfc, 0xc5, 0x3e, 0xfb, 0x67, 0x8b, 0x61, 0x32, 0x1d, + 0x52, 0xe8, 0xb3, 0xa7, 0xc6, 0x7b, 0x40, 0xdf, 0xf4, 0x25, 0x3e, 0xde, 0xb0, 0x39, 0xb5, 0xb2, + 0x46, 0x84, 0x3c, 0x6c, 0xf4, 0x8c, 0x27, 0xf6, 0xc1, 0x2f, 0x79, 0x72, 0x1e, 0xb2, 0x79, 0x56, + 0xae, 0x40, 0x2e, 0x64, 0xf0, 0x8c, 0x27, 0xf5, 0xcd, 0x9c, 0x54, 0x36, 0x68, 0xef, 0xac, 0x5c, + 0x80, 0x38, 0x31, 0x5e, 0xc6, 0xa3, 0x7f, 0x0b, 0x47, 0xa7, 0xe0, 0x2b, 0x2f, 0x40, 0x4a, 0x18, + 0x2d, 0xe3, 0x51, 0xff, 0x2a, 0x47, 0xf5, 0x50, 0x08, 0xba, 0x30, 0x58, 0xc6, 0xa3, 0xff, 0x35, + 0x81, 0x2e, 0x50, 0x08, 0xfa, 0xe4, 0x2c, 0xfc, 0xe5, 0x6f, 0x8b, 0xf3, 0x4d, 0x47, 0xf0, 0xee, + 0x32, 0x4c, 0x73, 0x4b, 0x65, 0x3c, 0xf6, 0xb7, 0xf2, 0xc6, 0x05, 0xc6, 0xca, 0x73, 0x90, 0x98, + 0x90, 0xe1, 0xdf, 0xc1, 0x51, 0x19, 0xfc, 0x4a, 0x05, 0x32, 0x01, 0xeb, 0x64, 0x3c, 0xfa, 0x77, + 0x72, 0xf4, 0x20, 0x16, 0xe9, 0x3a, 0xb7, 0x4e, 0xc6, 0x13, 0xf8, 0xeb, 0xa2, 0xeb, 0x1c, 0x83, + 0xb0, 0x4d, 0x18, 0x26, 0xe3, 0xb1, 0x3f, 0x2c, 0xb8, 0x2e, 0x50, 0x56, 0x5e, 0x84, 0xb4, 0xb7, + 0xd9, 0x8c, 0xc7, 0xff, 0x2e, 0x8e, 0xef, 0xe3, 0x10, 0x0e, 0x04, 0x36, 0xbb, 0xf1, 0x24, 0xfe, + 0x86, 0xe0, 0x40, 0x00, 0x8b, 0x2c, 0xa3, 0x7e, 0x03, 0x66, 0x3c, 0xa5, 0x8f, 0x88, 0x65, 0xd4, + 0x67, 0xbf, 0x90, 0xd9, 0xa4, 0x3a, 0x7f, 0x3c, 0x89, 0xef, 0x16, 0xb3, 0x49, 0xe1, 0x49, 0x37, + 0xfa, 0x2d, 0x82, 0xf1, 0x34, 0xbe, 0x57, 0x74, 0xa3, 0xcf, 0x20, 0x58, 0xd9, 0x04, 0x34, 0x68, + 0x0d, 0x8c, 0xa7, 0xf7, 0x51, 0x4e, 0x6f, 0x66, 0xc0, 0x18, 0x58, 0x79, 0x2f, 0x1c, 0x1f, 0x6e, + 0x09, 0x8c, 0xa7, 0xfa, 0x7d, 0x5f, 0xea, 0xf3, 0xdd, 0x82, 0x86, 0xc0, 0x4a, 0xd3, 0xdf, 0x52, + 0x82, 0x56, 0xc0, 0x78, 0xb2, 0xdf, 0xff, 0xa5, 0xb0, 0xe2, 0x0e, 0x1a, 0x01, 0x2b, 0x25, 0x00, + 0x7f, 0x03, 0x1e, 0x4f, 0xeb, 0xe3, 0x9c, 0x56, 0x00, 0x89, 0x2c, 0x0d, 0xbe, 0xff, 0x8e, 0xc7, + 0xbf, 0x27, 0x96, 0x06, 0xc7, 0x20, 0x4b, 0x43, 0x6c, 0xbd, 0xe3, 0xb1, 0x3f, 0x21, 0x96, 0x86, + 0x40, 0x21, 0x92, 0x1d, 0xd8, 0xdd, 0xc6, 0x53, 0xf8, 0x94, 0x90, 0xec, 0x00, 0xd6, 0xca, 0x06, + 0xcc, 0x0c, 0x6c, 0x88, 0xe3, 0x49, 0xfd, 0x20, 0x27, 0x25, 0xf5, 0xef, 0x87, 0xc1, 0xcd, 0x8b, + 0x6f, 0x86, 0xe3, 0xa9, 0xfd, 0x50, 0xdf, 0xe6, 0xc5, 0xf7, 0xc2, 0x95, 0xcb, 0x90, 0x32, 0x7b, + 0xed, 0x36, 0x59, 0x3c, 0xe3, 0x42, 0x5e, 0xff, 0xf9, 0xcb, 0x9c, 0x3b, 0x02, 0x61, 0xe5, 0x02, + 0x24, 0x70, 0x67, 0x1b, 0xb7, 0xc6, 0x61, 0x7e, 0xe1, 0xcb, 0x42, 0x61, 0x12, 0xe8, 0x95, 0x17, + 0x01, 0x58, 0x68, 0x84, 0xa6, 0x55, 0x8c, 0xc1, 0xfd, 0x83, 0x2f, 0xf3, 0x74, 0x49, 0x1f, 0xc5, + 0x27, 0x30, 0x49, 0xa4, 0xee, 0x8b, 0x61, 0x02, 0x74, 0x46, 0x2e, 0xc1, 0xf4, 0x6b, 0x8e, 0x65, + 0xba, 0xda, 0xd8, 0x88, 0xe5, 0x1f, 0x72, 0x6c, 0x01, 0x4f, 0x18, 0xd6, 0xb1, 0x6c, 0xec, 0x6a, + 0xbb, 0xce, 0x38, 0xdc, 0xff, 0xc2, 0x71, 0x3d, 0x04, 0x82, 0xac, 0x6b, 0x8e, 0x3b, 0xc9, 0xb8, + 0xff, 0xab, 0x40, 0x16, 0x08, 0xa4, 0xd3, 0xe4, 0xef, 0x5b, 0x78, 0x6c, 0x84, 0xf3, 0x8f, 0x44, + 0xa7, 0x39, 0xfc, 0xca, 0x0b, 0x90, 0x26, 0x7f, 0xb2, 0x1c, 0xe8, 0x31, 0xc8, 0x7f, 0xcc, 0x91, + 0x7d, 0x0c, 0xd2, 0xb2, 0xe3, 0xb6, 0x5c, 0x63, 0x3c, 0xb3, 0xff, 0x84, 0xcf, 0xb4, 0x80, 0x5f, + 0x29, 0x41, 0xc6, 0x71, 0x5b, 0xad, 0x1e, 0xb7, 0x4f, 0xc7, 0xc5, 0x87, 0xbf, 0xec, 0x85, 0x2c, + 0x3c, 0x1c, 0x32, 0xdb, 0x77, 0x6e, 0xb9, 0x5d, 0x8b, 0x9e, 0xc6, 0x8d, 0x8d, 0x10, 0x73, 0x0a, + 0x01, 0x94, 0x95, 0x0a, 0x64, 0xc9, 0x58, 0x6c, 0xdc, 0xc5, 0xf4, 0xe8, 0x74, 0x5c, 0x7c, 0x98, + 0x33, 0x20, 0x84, 0x54, 0xfe, 0xc6, 0x51, 0xc1, 0xdd, 0xe1, 0x67, 0x08, 0x70, 0xd5, 0xba, 0x6a, + 0xb1, 0xd3, 0x83, 0x57, 0x1f, 0x1e, 0x8c, 0xfe, 0x86, 0xe3, 0xba, 0xf4, 0x2f, 0xf8, 0xb3, 0x24, + 0x9c, 0x64, 0xd5, 0x2a, 0xab, 0x62, 0x1f, 0x3c, 0xe8, 0x9b, 0x0d, 0x56, 0x8d, 0x8f, 0xfb, 0xca, + 0x37, 0x60, 0xb6, 0x46, 0x46, 0x4f, 0xac, 0x3a, 0xff, 0x3c, 0x63, 0x68, 0xf6, 0xf2, 0x52, 0xc8, + 0x80, 0xe1, 0xa7, 0x39, 0xc1, 0x22, 0xf9, 0x9b, 0x22, 0x20, 0x35, 0x74, 0xad, 0xad, 0xd9, 0x5f, + 0x29, 0x29, 0xf4, 0x9c, 0x88, 0xf7, 0x7b, 0xd7, 0xd4, 0xf2, 0xe7, 0xe7, 0x97, 0x83, 0x83, 0x5b, + 0x66, 0x2d, 0xd1, 0x7c, 0x21, 0x16, 0xe7, 0x27, 0x7f, 0x9e, 0x7d, 0x19, 0xc0, 0xaf, 0x40, 0xa7, + 0xe0, 0x44, 0xa3, 0x52, 0x5a, 0x2b, 0x29, 0x22, 0x25, 0xa6, 0xb1, 0x59, 0xad, 0xd4, 0xae, 0xd4, + 0xaa, 0xab, 0xd2, 0x14, 0x3a, 0x0e, 0x28, 0x58, 0xe9, 0xa5, 0xf0, 0x1c, 0x83, 0x99, 0x60, 0x39, + 0xbb, 0x93, 0x11, 0x25, 0x3b, 0x9f, 0xd1, 0xe9, 0xb6, 0x31, 0x3d, 0x67, 0x53, 0x0d, 0xc1, 0xb5, + 0xf1, 0x4a, 0xf5, 0xd7, 0xfe, 0x1d, 0xcb, 0xd3, 0x9f, 0xf5, 0xd1, 0x3d, 0x9e, 0xaf, 0xac, 0xc1, + 0x8c, 0xa6, 0xeb, 0xb8, 0x1b, 0x22, 0x39, 0x46, 0xf4, 0x08, 0x41, 0x7a, 0x72, 0xc8, 0x31, 0x7d, + 0x6a, 0xcf, 0x41, 0xd2, 0xa1, 0xa3, 0x1f, 0x47, 0xe2, 0xd7, 0x39, 0x09, 0x0e, 0xbe, 0x62, 0xc2, + 0x0c, 0xd9, 0xc9, 0x88, 0xc3, 0xeb, 0x77, 0xe3, 0x70, 0xbf, 0xe9, 0x1f, 0xfe, 0xf4, 0x53, 0xf4, + 0x1c, 0xf1, 0x74, 0x78, 0x5a, 0x86, 0x88, 0x93, 0x22, 0x71, 0xda, 0x7e, 0x47, 0x31, 0xe4, 0x45, + 0x7b, 0xbc, 0xc3, 0x87, 0x37, 0xf6, 0x4b, 0xbc, 0xb1, 0x85, 0x61, 0x32, 0x10, 0x68, 0x29, 0xc7, + 0xa9, 0xb2, 0x8a, 0xfb, 0x3a, 0x6b, 0xa1, 0x94, 0x2f, 0x07, 0x9b, 0xf1, 0xce, 0x5a, 0xfe, 0x49, + 0x1c, 0x16, 0x38, 0xf0, 0xb6, 0xe6, 0xe0, 0x73, 0xb7, 0x9f, 0xde, 0xc6, 0xae, 0xf6, 0xf4, 0x39, + 0xdd, 0x32, 0x4c, 0xbe, 0x00, 0x67, 0xf9, 0x72, 0x24, 0xf5, 0xcb, 0xbc, 0xbe, 0x38, 0xf4, 0x80, + 0xa6, 0x38, 0x7a, 0x19, 0x17, 0x07, 0xcf, 0xfb, 0xe4, 0x36, 0xc4, 0x2b, 0x96, 0x61, 0xa2, 0x39, + 0x48, 0xb4, 0xb0, 0x69, 0x75, 0xf8, 0x82, 0x62, 0x1f, 0xe8, 0x1a, 0x24, 0xb5, 0x8e, 0xd5, 0x33, + 0x5d, 0xb6, 0x98, 0xca, 0x4f, 0xfd, 0xea, 0x9b, 0x8b, 0x53, 0xff, 0xe1, 0xcd, 0xc5, 0x63, 0x8c, + 0xac, 0xd3, 0xba, 0xb5, 0x6c, 0x58, 0xe7, 0x3a, 0x9a, 0xbb, 0x47, 0x26, 0xe8, 0x37, 0x3e, 0xf3, + 0x24, 0xf0, 0xf6, 0x6a, 0xa6, 0xfb, 0xe9, 0xdf, 0xff, 0x89, 0xb3, 0x11, 0x85, 0xe3, 0xaf, 0xc4, + 0x3f, 0xff, 0xc9, 0xc5, 0x88, 0xdc, 0x85, 0xe9, 0x55, 0xac, 0x1f, 0xd2, 0x60, 0xad, 0xaf, 0xc1, + 0xa7, 0x79, 0x83, 0xa7, 0x06, 0x1b, 0x64, 0x09, 0x48, 0xab, 0x58, 0x0f, 0x34, 0xbb, 0x8a, 0xf5, + 0xbe, 0x16, 0x6b, 0x90, 0xaa, 0x99, 0x2e, 0xbb, 0x3c, 0xf1, 0x02, 0xc4, 0x0c, 0x93, 0xe5, 0xe3, + 0xa6, 0xcb, 0x8f, 0x1f, 0x61, 0x28, 0x0a, 0xc1, 0x93, 0xeb, 0x90, 0x5a, 0xc5, 0x3a, 0x23, 0x55, + 0x81, 0x58, 0x0b, 0xeb, 0x9c, 0xd4, 0x7d, 0x74, 0x92, 0x60, 0x97, 0x57, 0x7f, 0xeb, 0x77, 0x17, + 0xa6, 0xde, 0x78, 0x6b, 0x61, 0x6a, 0xa4, 0x38, 0xc9, 0xe3, 0x8f, 0xee, 0x3c, 0x29, 0xfa, 0x5f, + 0x11, 0x38, 0xd9, 0xaf, 0x98, 0x35, 0xf3, 0x60, 0xd4, 0x65, 0xf9, 0x8b, 0x10, 0x2b, 0x99, 0x07, + 0xe8, 0x24, 0x33, 0x51, 0xd5, 0x9e, 0xdd, 0xe6, 0x33, 0x31, 0x4d, 0xbe, 0xb7, 0xec, 0x36, 0x99, + 0x21, 0x71, 0xdf, 0x29, 0x72, 0x26, 0xcb, 0x2f, 0x31, 0x95, 0xbf, 0x33, 0x72, 0xb4, 0xbd, 0x28, + 0x55, 0x32, 0x0f, 0x28, 0xcf, 0x36, 0x23, 0xaf, 0x3e, 0x31, 0xf6, 0x1c, 0xfb, 0x96, 0x69, 0xdd, + 0x31, 0x49, 0xb7, 0xbb, 0xdb, 0xe2, 0x0c, 0x7b, 0xa1, 0xff, 0x0c, 0xfb, 0xbd, 0xb8, 0xdd, 0xbe, + 0x41, 0xe0, 0x9a, 0xa1, 0xf1, 0x7f, 0x24, 0x0a, 0x0b, 0x03, 0x1b, 0x13, 0xdf, 0xc6, 0x47, 0x31, + 0x61, 0x05, 0x52, 0xab, 0xc2, 0x3a, 0x98, 0x87, 0x69, 0x07, 0xeb, 0x96, 0xd9, 0x72, 0x28, 0x23, + 0x62, 0x8a, 0xf8, 0x24, 0x8c, 0x30, 0x35, 0xd3, 0x72, 0xf8, 0x65, 0x24, 0xf6, 0x51, 0xfe, 0xd8, + 0x11, 0x19, 0x91, 0x13, 0x2d, 0x09, 0x6e, 0x3c, 0x3d, 0x21, 0x37, 0xc4, 0x20, 0x42, 0x27, 0xfb, + 0x93, 0x72, 0xe5, 0x7b, 0xa3, 0xb0, 0xd8, 0xcf, 0x15, 0x62, 0x1b, 0x39, 0xae, 0xd6, 0xe9, 0x8e, + 0x62, 0xcb, 0x65, 0x48, 0x37, 0x05, 0xcc, 0x91, 0xf9, 0x72, 0xef, 0x88, 0x7c, 0xc9, 0x7b, 0x4d, + 0x09, 0xc6, 0x9c, 0x9f, 0x90, 0x31, 0xde, 0x38, 0xee, 0x8b, 0x33, 0x3f, 0x12, 0x87, 0x07, 0xe9, + 0x6d, 0x55, 0xbb, 0x63, 0x98, 0xee, 0x39, 0xdd, 0x3e, 0xe8, 0xba, 0x16, 0x69, 0xc8, 0xda, 0xe1, + 0x7c, 0x99, 0xf1, 0xab, 0x97, 0x59, 0xf5, 0x70, 0x95, 0x2b, 0xef, 0x40, 0x62, 0x93, 0xe0, 0x11, + 0x8e, 0xb8, 0x96, 0xab, 0xb5, 0x39, 0xa7, 0xd8, 0x07, 0x29, 0x65, 0x37, 0x5c, 0xa3, 0xac, 0xd4, + 0x10, 0x97, 0x5b, 0xdb, 0x58, 0xdb, 0x61, 0x17, 0x85, 0x62, 0x74, 0x89, 0xa5, 0x48, 0x01, 0xbd, + 0x13, 0x34, 0x07, 0x09, 0xad, 0xc7, 0x92, 0x79, 0x62, 0x64, 0xed, 0xd1, 0x0f, 0xf9, 0x06, 0x4c, + 0xf3, 0x53, 0x5b, 0x24, 0x41, 0xec, 0x16, 0x3e, 0xa0, 0xed, 0x64, 0x15, 0xf2, 0x27, 0x5a, 0x86, + 0x04, 0xed, 0x3c, 0xbf, 0x01, 0x39, 0xbf, 0x3c, 0xd0, 0xfb, 0x65, 0xda, 0x49, 0x85, 0x81, 0xc9, + 0xd7, 0x21, 0xb5, 0x6a, 0x91, 0x9d, 0x20, 0x4c, 0x2d, 0xcd, 0xa8, 0xd1, 0x3e, 0x77, 0x7b, 0x5c, + 0x0f, 0x2b, 0xec, 0x03, 0x1d, 0x87, 0x24, 0xbb, 0x38, 0xc6, 0x13, 0x92, 0xf8, 0x97, 0x5c, 0x81, + 0x69, 0x4a, 0xbb, 0xde, 0x25, 0x86, 0x99, 0x97, 0x4b, 0x9f, 0xe6, 0xd7, 0x88, 0x39, 0xf9, 0xa8, + 0xdf, 0x59, 0x04, 0xf1, 0x96, 0xe6, 0x6a, 0x7c, 0xdc, 0xf4, 0x6f, 0xf9, 0x3d, 0x90, 0xe2, 0x44, + 0x1c, 0x74, 0x1e, 0x62, 0x56, 0xd7, 0xe1, 0x29, 0x45, 0xc5, 0x51, 0x43, 0xa9, 0x77, 0xcb, 0x71, + 0xa2, 0x7b, 0x15, 0x02, 0x5c, 0xde, 0x18, 0xa9, 0x46, 0x9f, 0x0d, 0xa9, 0xd1, 0x0e, 0x76, 0xb7, + 0x77, 0x5c, 0xff, 0x0f, 0x36, 0x9d, 0x03, 0xa2, 0xe0, 0x09, 0xca, 0x9f, 0x45, 0xe0, 0x81, 0x41, + 0x41, 0xb9, 0x85, 0x0f, 0x9c, 0xa3, 0xca, 0xc9, 0xcb, 0x90, 0xde, 0xa4, 0x4f, 0x7a, 0xdc, 0xc0, + 0x07, 0xa8, 0x08, 0xd3, 0xb8, 0x75, 0xfe, 0xc2, 0x85, 0xa7, 0x2f, 0xb1, 0x59, 0xbc, 0x36, 0xa5, + 0x88, 0x02, 0xb4, 0x00, 0x69, 0x07, 0xeb, 0xdd, 0xf3, 0x17, 0x2e, 0xde, 0x7a, 0x9a, 0xb1, 0xed, + 0xda, 0x94, 0xe2, 0x17, 0xad, 0xa4, 0xc8, 0xde, 0xf6, 0xf9, 0x4f, 0x2d, 0x46, 0xca, 0x09, 0x88, + 0x39, 0xbd, 0xce, 0x3b, 0x36, 0xf6, 0x6f, 0x4d, 0x85, 0x16, 0x09, 0x5b, 0x7d, 0x5d, 0xcd, 0xd6, + 0x3a, 0x62, 0xf0, 0x52, 0x60, 0xf0, 0xb4, 0x7a, 0x84, 0x59, 0x32, 0x46, 0x37, 0xcb, 0x3f, 0x15, + 0x85, 0x42, 0xc5, 0x32, 0x1d, 0x6c, 0x3a, 0x3d, 0x67, 0x93, 0xb6, 0x80, 0x9e, 0x81, 0xc4, 0x76, + 0xdb, 0xd2, 0x6f, 0x51, 0x06, 0x65, 0xce, 0x3f, 0xb8, 0xdc, 0xdf, 0xd6, 0x72, 0x99, 0x54, 0x33, + 0x68, 0x85, 0xc1, 0xa2, 0x77, 0x43, 0x0a, 0xdf, 0x36, 0x5a, 0xd8, 0xd4, 0x31, 0x5f, 0x0a, 0x4b, + 0x83, 0x78, 0x55, 0x0e, 0xc1, 0x51, 0x3d, 0x0c, 0xf4, 0x22, 0xa4, 0x6f, 0x6b, 0x6d, 0xa3, 0xa5, + 0xb9, 0x96, 0xed, 0xdd, 0x31, 0x1d, 0x40, 0xbf, 0x29, 0x40, 0x38, 0xbe, 0x8f, 0x83, 0x2e, 0xc1, + 0xf4, 0x6d, 0x6c, 0xd3, 0x8c, 0xc3, 0x38, 0xbf, 0xf6, 0x39, 0x88, 0xce, 0x00, 0x38, 0xb2, 0x80, + 0x47, 0x4f, 0x41, 0x5c, 0xdb, 0xd6, 0x0d, 0x9a, 0x8b, 0x96, 0x39, 0xff, 0xc0, 0x20, 0x5e, 0xa9, + 0x5c, 0xa9, 0x71, 0x24, 0x0a, 0x29, 0xd7, 0x20, 0x13, 0xe0, 0x00, 0xbb, 0xd1, 0xb3, 0xaf, 0x6e, + 0x1f, 0xb8, 0x58, 0x28, 0xeb, 0x54, 0x47, 0xdb, 0x2f, 0x93, 0x6f, 0x74, 0x02, 0xa6, 0x49, 0xe5, + 0x2e, 0xcf, 0x19, 0x8f, 0x29, 0xc9, 0x8e, 0xb6, 0x7f, 0x55, 0x73, 0xae, 0xc7, 0x53, 0x31, 0x29, + 0x2e, 0xff, 0x58, 0x04, 0xf2, 0x61, 0xae, 0xa0, 0xc7, 0x01, 0x11, 0x0c, 0x6d, 0x17, 0xab, 0x66, + 0xaf, 0xa3, 0x52, 0xf6, 0x0a, 0xba, 0x85, 0x8e, 0xb6, 0x5f, 0xda, 0xc5, 0x1b, 0xbd, 0x0e, 0xed, + 0x80, 0x83, 0xd6, 0x41, 0x12, 0xc0, 0x62, 0x66, 0x39, 0xfb, 0x4f, 0x0e, 0xbe, 0x51, 0xc1, 0x01, + 0xca, 0x29, 0xb2, 0x7a, 0x3f, 0xfa, 0x1f, 0x17, 0x23, 0x4a, 0x9e, 0xd1, 0xf3, 0x76, 0xe3, 0xd0, + 0x50, 0x62, 0xe1, 0xa1, 0xc8, 0x2f, 0x42, 0xa1, 0x6f, 0x06, 0x90, 0x0c, 0xb9, 0x6e, 0x6f, 0x5b, + 0xbd, 0x85, 0x0f, 0xa8, 0x6f, 0xc7, 0x54, 0x47, 0x5a, 0xc9, 0x74, 0x7b, 0xdb, 0x37, 0xf0, 0x01, + 0xd5, 0xfc, 0x2b, 0xa9, 0x9f, 0x23, 0xab, 0x86, 0x58, 0x85, 0x8f, 0x43, 0x2e, 0x34, 0x07, 0x44, + 0x43, 0x69, 0xdd, 0x2e, 0x1d, 0x5b, 0x5c, 0x21, 0x7f, 0x06, 0x80, 0x5f, 0x85, 0x2c, 0xd1, 0xc9, + 0xb8, 0xc5, 0x61, 0x1f, 0x81, 0x02, 0x65, 0x85, 0xda, 0xcf, 0xeb, 0x1c, 0x2d, 0x5e, 0x17, 0x0c, + 0x97, 0x21, 0xe7, 0xc3, 0xf9, 0x6c, 0xcf, 0x08, 0xa8, 0xab, 0x9a, 0x23, 0xd7, 0x01, 0xfc, 0x49, + 0x45, 0x25, 0x78, 0xf0, 0xb6, 0xe5, 0xe2, 0x60, 0x6c, 0x95, 0xdf, 0x2e, 0xdc, 0xc3, 0xc6, 0xee, + 0x9e, 0xcb, 0xdb, 0x29, 0x12, 0x20, 0x3f, 0x7e, 0xca, 0xee, 0x18, 0x5e, 0xa3, 0x10, 0xe5, 0x97, + 0x3e, 0xfd, 0xd6, 0xc2, 0xc8, 0x0d, 0xf8, 0xd5, 0x67, 0x8e, 0xa6, 0x0c, 0xc2, 0x06, 0xe6, 0x1f, + 0x25, 0x61, 0x69, 0x40, 0x17, 0x78, 0x82, 0x7f, 0x44, 0x75, 0x70, 0xa8, 0x46, 0x95, 0x7f, 0x2a, + 0x02, 0x59, 0x6f, 0x86, 0x1b, 0xd8, 0x45, 0x97, 0x01, 0xbc, 0x96, 0xc4, 0xb6, 0x70, 0xea, 0x90, + 0x75, 0xa9, 0x04, 0xc0, 0xd1, 0x73, 0x90, 0xea, 0xda, 0x56, 0xd7, 0x72, 0xf8, 0x7d, 0xf2, 0x31, + 0xa8, 0x1e, 0x30, 0x7a, 0x02, 0x10, 0xdd, 0xc1, 0xd5, 0xdb, 0x96, 0x6b, 0x98, 0xbb, 0x6a, 0xd7, + 0xba, 0xc3, 0x5f, 0xe9, 0x88, 0x29, 0x12, 0xad, 0xb9, 0x49, 0x2b, 0x36, 0x49, 0x39, 0xe9, 0x74, + 0xda, 0xa3, 0x42, 0xcc, 0x26, 0xad, 0xd5, 0xb2, 0xb1, 0xe3, 0xf0, 0x4d, 0x5a, 0x7c, 0xa2, 0xcb, + 0x30, 0xcd, 0x45, 0x95, 0xf7, 0xe6, 0x81, 0x61, 0xfb, 0x9b, 0xd8, 0x27, 0xf8, 0x0e, 0x97, 0x64, + 0x82, 0x8c, 0x4e, 0x43, 0x76, 0x48, 0x67, 0x32, 0xb7, 0xfd, 0x7e, 0xd0, 0x17, 0xa5, 0xf8, 0x08, + 0xd4, 0xae, 0x6d, 0x58, 0xb6, 0xe1, 0x1e, 0x50, 0x5d, 0x14, 0x53, 0x24, 0x51, 0xb1, 0xc9, 0xcb, + 0xe5, 0x5b, 0x50, 0x68, 0xd0, 0x00, 0x82, 0xdf, 0xf3, 0x0b, 0x7e, 0xff, 0x22, 0xe3, 0xfb, 0x37, + 0xb2, 0x67, 0xd1, 0x81, 0x9e, 0x9d, 0xfd, 0xcd, 0x08, 0xd7, 0x57, 0xb5, 0xd5, 0x2b, 0x6d, 0x6d, + 0x17, 0x3d, 0x0d, 0xc7, 0xca, 0x6b, 0xf5, 0xca, 0x0d, 0xb5, 0xb6, 0xaa, 0x5e, 0x59, 0x2b, 0x5d, + 0xf5, 0xf3, 0xec, 0x8b, 0xc7, 0xef, 0xde, 0x5b, 0x42, 0x01, 0xd8, 0x2d, 0x93, 0xda, 0x7c, 0xe8, + 0x1c, 0xcc, 0x85, 0x51, 0x4a, 0xe5, 0x46, 0x75, 0xa3, 0x29, 0x45, 0x8a, 0xc7, 0xee, 0xde, 0x5b, + 0x9a, 0x09, 0x60, 0x94, 0xb6, 0x1d, 0x6c, 0xba, 0x83, 0x08, 0x95, 0xfa, 0xfa, 0x7a, 0xad, 0x29, + 0x45, 0x07, 0x10, 0x2a, 0x56, 0xa7, 0x63, 0xb8, 0xe8, 0x31, 0x98, 0x09, 0x23, 0x6c, 0xd4, 0xd6, + 0xa4, 0x58, 0x11, 0xdd, 0xbd, 0xb7, 0x94, 0x0f, 0x40, 0x6f, 0x18, 0xed, 0x62, 0xea, 0x43, 0x3f, + 0xb4, 0x30, 0xf5, 0xe9, 0xbf, 0xb5, 0x10, 0x29, 0xaf, 0xbf, 0x33, 0x4b, 0xee, 0xdf, 0xbf, 0x02, + 0xa7, 0x02, 0x95, 0x44, 0xe7, 0x33, 0x08, 0x61, 0xb9, 0x07, 0x26, 0x86, 0x54, 0x16, 0x0f, 0xb7, + 0x68, 0x0f, 0x5f, 0x75, 0xc5, 0xc3, 0x77, 0xfa, 0xe2, 0xd8, 0xc5, 0x5f, 0x1c, 0xe7, 0x69, 0x8c, + 0x30, 0x8b, 0xfe, 0x51, 0x1a, 0xa6, 0x15, 0xfc, 0x81, 0x1e, 0x76, 0x5c, 0x74, 0x1e, 0xe2, 0x58, + 0xdf, 0xb3, 0x86, 0x49, 0x1e, 0x19, 0xe0, 0x32, 0x87, 0xab, 0xea, 0x7b, 0xd6, 0xb5, 0x29, 0x85, + 0xc2, 0xa2, 0x0b, 0x90, 0xd8, 0x69, 0xf7, 0x9c, 0x3d, 0xef, 0xed, 0x8f, 0x11, 0x48, 0x57, 0x08, + 0xd0, 0xb5, 0x29, 0x85, 0x41, 0x93, 0xa6, 0xe8, 0x7b, 0x5e, 0xb1, 0xc3, 0x9b, 0xaa, 0x99, 0x3b, + 0xb4, 0x29, 0x02, 0x8b, 0xca, 0x00, 0x86, 0x69, 0xb8, 0xaa, 0xbe, 0xa7, 0x19, 0x26, 0xdf, 0xa8, + 0x4f, 0x8f, 0xc6, 0x34, 0xdc, 0x0a, 0x01, 0x24, 0xc6, 0x9b, 0x21, 0x3e, 0x48, 0x77, 0x3f, 0xd0, + 0xc3, 0xf6, 0x01, 0xbd, 0x29, 0x71, 0x48, 0x77, 0x5f, 0x22, 0x40, 0xa4, 0xbb, 0x14, 0x9a, 0xd8, + 0x35, 0xec, 0x69, 0x00, 0x77, 0x9f, 0x3f, 0x78, 0xb3, 0x38, 0x0a, 0x93, 0xbe, 0x0f, 0xd0, 0xdc, + 0x27, 0x16, 0xa5, 0xce, 0xfe, 0x44, 0xcf, 0x43, 0x52, 0xa7, 0xf2, 0x4d, 0xef, 0xeb, 0x66, 0xce, + 0x2f, 0x8c, 0xc4, 0xa5, 0x50, 0xd7, 0xa6, 0x14, 0x0e, 0x8f, 0x36, 0x20, 0xdf, 0x36, 0x1c, 0x57, + 0x75, 0x4c, 0xad, 0xeb, 0xec, 0x59, 0xae, 0x43, 0xdf, 0x2f, 0xcb, 0x9c, 0x7f, 0x78, 0x14, 0x85, + 0x35, 0xc3, 0x71, 0x1b, 0x02, 0xf8, 0xda, 0x94, 0x92, 0x6b, 0x07, 0x0b, 0x08, 0x3d, 0x6b, 0x67, + 0x07, 0xdb, 0x1e, 0x41, 0xfa, 0xec, 0xd9, 0x21, 0xf4, 0xea, 0x04, 0x5a, 0xe0, 0x13, 0x7a, 0x56, + 0xb0, 0x00, 0x7d, 0x3d, 0xcc, 0xb6, 0x2d, 0xad, 0xe5, 0x91, 0x53, 0xf5, 0xbd, 0x9e, 0x79, 0x6b, + 0x3e, 0x4f, 0x89, 0x3e, 0x36, 0xb2, 0x93, 0x96, 0xd6, 0x12, 0x24, 0x2a, 0x04, 0xe1, 0xda, 0x94, + 0x32, 0xd3, 0xee, 0x2f, 0x44, 0xef, 0x87, 0x39, 0xad, 0xdb, 0x6d, 0x1f, 0xf4, 0x53, 0x2f, 0x50, + 0xea, 0x67, 0x47, 0x51, 0x2f, 0x11, 0x9c, 0x7e, 0xf2, 0x48, 0x1b, 0x28, 0x45, 0x4d, 0x90, 0xba, + 0x36, 0xa6, 0x19, 0x41, 0x4c, 0x35, 0x6b, 0x6d, 0x7a, 0x9b, 0x36, 0x73, 0xfe, 0xd1, 0x51, 0xb4, + 0x37, 0x19, 0xfc, 0x26, 0x07, 0xbf, 0x36, 0xa5, 0x14, 0xba, 0xe1, 0x22, 0x46, 0xd5, 0xd2, 0x31, + 0xbd, 0xec, 0xcf, 0xa9, 0xce, 0x8c, 0xa3, 0x4a, 0xe1, 0xc3, 0x54, 0x43, 0x45, 0xa8, 0x0a, 0x19, + 0xf6, 0xbe, 0x13, 0xd9, 0x0e, 0x31, 0xbd, 0x83, 0x9b, 0x39, 0x2f, 0x8f, 0x5c, 0xa1, 0x14, 0xf4, + 0xa6, 0xe5, 0xe2, 0x6b, 0x53, 0x0a, 0x60, 0xef, 0x0b, 0x69, 0x70, 0x8c, 0x5e, 0x47, 0x3e, 0x50, + 0xc3, 0xb6, 0xce, 0xfc, 0x2c, 0x25, 0xf8, 0xf8, 0x28, 0x82, 0x37, 0x29, 0xd2, 0xcd, 0xa0, 0xe9, + 0x73, 0x6d, 0x4a, 0x99, 0xbd, 0x3d, 0x58, 0x4c, 0x44, 0x6c, 0xc7, 0x30, 0xb5, 0xb6, 0xf1, 0x3a, + 0x66, 0x56, 0x2b, 0x7d, 0x88, 0xe3, 0x10, 0x11, 0xbb, 0xc2, 0xa1, 0xa9, 0x7e, 0x27, 0x22, 0xb6, + 0x13, 0x2c, 0x28, 0x4f, 0xf3, 0x48, 0x98, 0x77, 0xb1, 0x7c, 0x5a, 0x4a, 0xb1, 0xcb, 0xe4, 0xd7, + 0xe3, 0x29, 0x90, 0x32, 0xf2, 0xa3, 0x90, 0x09, 0x28, 0x26, 0xb2, 0xf7, 0xf3, 0x23, 0x58, 0x11, + 0x53, 0xe3, 0x9f, 0x72, 0x1e, 0xb2, 0x41, 0x65, 0x24, 0x7f, 0x38, 0xe2, 0x61, 0xd2, 0x1b, 0x35, + 0xf3, 0xbe, 0xf7, 0xc0, 0x31, 0x85, 0x73, 0xf0, 0x90, 0xb0, 0x26, 0x45, 0x7d, 0x94, 0xda, 0xaa, + 0x59, 0x5a, 0xc8, 0x8d, 0x59, 0xb4, 0x08, 0x99, 0xee, 0xf9, 0xae, 0x07, 0x12, 0xa3, 0x20, 0xd0, + 0x3d, 0xdf, 0x15, 0x00, 0xa7, 0x21, 0x4b, 0xc6, 0xad, 0x06, 0x5d, 0x94, 0xb4, 0x92, 0x21, 0x65, + 0x1c, 0x44, 0xfe, 0x97, 0x51, 0x90, 0xfa, 0x15, 0x18, 0x7a, 0x1e, 0xe2, 0x44, 0x97, 0x73, 0xb5, + 0x5c, 0x1c, 0xb0, 0xe8, 0xbd, 0x18, 0x0e, 0x33, 0xe9, 0x3f, 0x4c, 0x4c, 0x7a, 0x8a, 0x81, 0x4e, + 0x12, 0xb5, 0xa5, 0x19, 0xa6, 0x6a, 0xb4, 0xc4, 0xd3, 0x98, 0xf4, 0xbb, 0xd6, 0x42, 0x6b, 0x20, + 0xe9, 0xc2, 0xe3, 0x53, 0xd9, 0x56, 0x33, 0xda, 0xe5, 0xea, 0xf3, 0x0d, 0x95, 0x82, 0xde, 0xe7, + 0x2c, 0x5e, 0x09, 0x99, 0x88, 0xe2, 0xc1, 0xcb, 0xfe, 0x09, 0xf7, 0xcc, 0x9c, 0xad, 0x6e, 0x4b, + 0x73, 0x31, 0xb7, 0xae, 0x82, 0xd6, 0xe2, 0x23, 0x50, 0xd0, 0xba, 0x5d, 0xd5, 0x71, 0x35, 0x17, + 0x73, 0xf3, 0x3e, 0x41, 0x0d, 0xb8, 0x9c, 0xd6, 0xed, 0x36, 0x48, 0x29, 0x33, 0xef, 0x1f, 0x86, + 0x3c, 0xd1, 0xe9, 0x86, 0xd6, 0x16, 0xd6, 0x79, 0x92, 0x79, 0x01, 0xbc, 0x94, 0x19, 0xe4, 0x72, + 0xcb, 0x9b, 0x71, 0xaa, 0xcf, 0xbd, 0xc8, 0x47, 0xc4, 0x8f, 0x7c, 0x90, 0x32, 0x7a, 0xd3, 0x89, + 0xf1, 0x47, 0xdc, 0x0e, 0x4b, 0x72, 0xb2, 0xcc, 0xc4, 0xe3, 0x5f, 0x68, 0x8e, 0x86, 0x79, 0x6e, + 0xb3, 0xdb, 0x7b, 0x29, 0x85, 0x7d, 0xc8, 0x0a, 0xe4, 0xc3, 0xba, 0x1f, 0xe5, 0x21, 0xea, 0xee, + 0xf3, 0x56, 0xa2, 0xee, 0x3e, 0x71, 0x2e, 0xbd, 0xf7, 0x81, 0xf2, 0x43, 0x76, 0x3b, 0x8e, 0xe7, + 0x3f, 0xfe, 0x26, 0x17, 0x20, 0x17, 0xda, 0x13, 0xe4, 0xe3, 0x30, 0x37, 0x4c, 0xc5, 0xcb, 0x7b, + 0x5e, 0x79, 0x48, 0x55, 0xa3, 0x0b, 0x90, 0xf2, 0x74, 0x7c, 0x84, 0xbb, 0x82, 0xfd, 0xcd, 0x0a, + 0x60, 0xc5, 0x03, 0x25, 0x12, 0x43, 0x26, 0x80, 0xc6, 0xc5, 0xa2, 0xdc, 0x74, 0xee, 0x76, 0x89, + 0x0b, 0x26, 0x7f, 0x23, 0xcc, 0x8f, 0xd2, 0xdf, 0x01, 0x86, 0x31, 0x2f, 0x4e, 0x30, 0xec, 0x38, + 0x24, 0xf9, 0x43, 0x1c, 0x84, 0x58, 0x4e, 0xe1, 0x5f, 0x84, 0x91, 0x4c, 0x97, 0xc7, 0x68, 0x31, + 0xfb, 0x90, 0x55, 0x38, 0x39, 0x52, 0x87, 0xfb, 0x81, 0xbc, 0x08, 0x43, 0x61, 0x81, 0x3c, 0x8f, + 0x10, 0x8f, 0x93, 0xeb, 0xa2, 0x3b, 0x0e, 0x1d, 0xab, 0x08, 0x95, 0xb1, 0x2f, 0xf9, 0xa3, 0x31, + 0x38, 0x3e, 0x5c, 0x93, 0xa3, 0x25, 0xc8, 0x12, 0x57, 0xd1, 0x0d, 0x7b, 0x95, 0xd0, 0xd1, 0xf6, + 0x9b, 0xdc, 0xa5, 0x94, 0x20, 0xe6, 0xee, 0x3b, 0xf4, 0xc6, 0x60, 0x56, 0x21, 0x7f, 0xa2, 0x2d, + 0x98, 0x69, 0x5b, 0xba, 0xd6, 0x56, 0xdb, 0x9a, 0xe3, 0xaa, 0x7c, 0x8b, 0x67, 0x8b, 0xe8, 0xa1, + 0x01, 0x66, 0x33, 0x9d, 0xcc, 0xae, 0xf5, 0x19, 0x54, 0xe1, 0x70, 0xf9, 0x2f, 0x50, 0x1a, 0x6b, + 0x9a, 0x98, 0x6a, 0xb4, 0x0a, 0x99, 0x8e, 0xe1, 0x6c, 0xe3, 0x3d, 0xed, 0xb6, 0x61, 0xd9, 0x7c, + 0x35, 0x0d, 0x0a, 0xcd, 0xba, 0x0f, 0xc3, 0x29, 0x05, 0xd1, 0x02, 0x53, 0x92, 0x08, 0xc9, 0xb0, + 0xd0, 0x26, 0xc9, 0x23, 0x6b, 0x93, 0xa7, 0x60, 0xce, 0xc4, 0xfb, 0xf4, 0x4a, 0x2a, 0x5f, 0xaf, + 0x4c, 0x4e, 0xd8, 0x8d, 0x52, 0x44, 0xea, 0xbc, 0x15, 0xee, 0xd0, 0x48, 0xea, 0x63, 0xe0, 0x39, + 0x3d, 0xaa, 0x70, 0xc8, 0x52, 0x14, 0xba, 0x20, 0xca, 0x4b, 0xac, 0x58, 0xfe, 0x50, 0x70, 0x6a, + 0xc2, 0x7b, 0x1f, 0x67, 0x7c, 0xc4, 0x67, 0x7c, 0x03, 0xe6, 0x38, 0x7e, 0x2b, 0xc4, 0xfb, 0x21, + 0x0e, 0x26, 0x5b, 0x5f, 0xfd, 0x3c, 0x47, 0x02, 0x7d, 0x34, 0xdb, 0x63, 0xf7, 0xc7, 0x76, 0x04, + 0x71, 0xca, 0x94, 0x38, 0x53, 0x31, 0xe4, 0xef, 0xff, 0xdb, 0xa6, 0xe2, 0x83, 0x31, 0x98, 0x19, + 0x30, 0x24, 0xbc, 0x81, 0x45, 0x86, 0x0e, 0x2c, 0x3a, 0x74, 0x60, 0xb1, 0x23, 0x0f, 0x8c, 0xcf, + 0x75, 0x7c, 0xfc, 0x5c, 0x27, 0xde, 0xc6, 0xb9, 0x4e, 0xde, 0xdf, 0x5c, 0xbf, 0xa3, 0xb3, 0xf0, + 0xf1, 0x08, 0x14, 0x47, 0x5b, 0x5f, 0x43, 0xa7, 0xe3, 0x71, 0x98, 0xf1, 0xba, 0xe2, 0x91, 0x67, + 0x8a, 0x51, 0xf2, 0x2a, 0x38, 0xfd, 0x91, 0x7b, 0xdc, 0xc3, 0x90, 0xef, 0xb3, 0x0d, 0x99, 0x28, + 0xe7, 0x42, 0x81, 0x2f, 0xf9, 0x9b, 0x63, 0xde, 0xc6, 0x13, 0x32, 0xe0, 0x86, 0xac, 0xd6, 0x97, + 0x60, 0xb6, 0x85, 0x75, 0xa3, 0x75, 0xbf, 0x8b, 0x75, 0x86, 0x63, 0xff, 0xbf, 0xb5, 0x3a, 0x28, + 0x25, 0xdf, 0x0d, 0x90, 0x52, 0xb0, 0xd3, 0x25, 0xf6, 0x18, 0x2a, 0x43, 0x1a, 0xef, 0xeb, 0xb8, + 0xeb, 0x0a, 0x13, 0x76, 0xb8, 0x8b, 0xc0, 0xa0, 0xab, 0x02, 0x92, 0x38, 0xc8, 0x1e, 0x1a, 0x7a, + 0x86, 0xc7, 0x00, 0x46, 0xbb, 0xf3, 0x1c, 0x3d, 0x18, 0x04, 0xb8, 0x28, 0x82, 0x00, 0xb1, 0x91, + 0xfe, 0x2d, 0xc3, 0xea, 0x8b, 0x02, 0x3c, 0xc3, 0xa3, 0x00, 0xf1, 0x31, 0x8d, 0x85, 0xc2, 0x00, + 0x95, 0x50, 0x18, 0x20, 0x39, 0x66, 0x98, 0x23, 0xe2, 0x00, 0x17, 0x45, 0x1c, 0x60, 0x7a, 0x4c, + 0x8f, 0xfb, 0x02, 0x01, 0x2f, 0x04, 0x02, 0x01, 0xe9, 0xc1, 0x03, 0x8e, 0x10, 0xea, 0x90, 0x48, + 0xc0, 0x25, 0x2f, 0x12, 0x90, 0x1d, 0x19, 0x45, 0xe0, 0xc8, 0xfd, 0xa1, 0x80, 0xfa, 0x40, 0x28, + 0x20, 0xc7, 0x9f, 0x75, 0x1e, 0x45, 0x62, 0x4c, 0x2c, 0xa0, 0x3e, 0x10, 0x0b, 0xc8, 0x8f, 0x21, + 0x38, 0x26, 0x18, 0xf0, 0x0d, 0xc3, 0x83, 0x01, 0xa3, 0xdd, 0x75, 0xde, 0xcd, 0xc9, 0xa2, 0x01, + 0xea, 0x88, 0x68, 0x80, 0x34, 0xd2, 0x73, 0x65, 0xe4, 0x27, 0x0e, 0x07, 0x6c, 0x0d, 0x09, 0x07, + 0x30, 0xc7, 0xfd, 0xcc, 0x48, 0xe2, 0x13, 0xc4, 0x03, 0xb6, 0x86, 0xc4, 0x03, 0xd0, 0x58, 0xb2, + 0x63, 0x03, 0x02, 0x57, 0xc2, 0x01, 0x81, 0xd9, 0x11, 0x56, 0xa7, 0xbf, 0xda, 0x47, 0x44, 0x04, + 0xb6, 0x47, 0x45, 0x04, 0x98, 0xd7, 0xfe, 0xc4, 0x48, 0x8a, 0x47, 0x08, 0x09, 0xd4, 0x07, 0x42, + 0x02, 0xc7, 0xc6, 0x48, 0xda, 0xe4, 0x31, 0x01, 0xf6, 0xcc, 0x1c, 0x7b, 0x60, 0x0e, 0xa4, 0xcc, + 0xf5, 0x78, 0x2a, 0x23, 0x65, 0xe5, 0xc7, 0x88, 0x05, 0xd3, 0xa7, 0xe7, 0x88, 0xaf, 0x80, 0x6d, + 0xdb, 0xb2, 0x45, 0xd6, 0x13, 0xfd, 0x90, 0xcf, 0x10, 0x1f, 0xd1, 0xd7, 0x69, 0x87, 0xc4, 0x0f, + 0xa8, 0x4f, 0x16, 0xd0, 0x63, 0xf2, 0xcf, 0x45, 0x7c, 0x5c, 0x1a, 0x41, 0x08, 0xfa, 0x97, 0x69, + 0xee, 0x5f, 0x06, 0xa2, 0x0a, 0xd1, 0x70, 0x54, 0x61, 0x11, 0x32, 0xc4, 0xd7, 0xea, 0x0b, 0x18, + 0x68, 0x5d, 0x2f, 0x60, 0x70, 0x16, 0x66, 0xe8, 0x86, 0xc9, 0x62, 0x0f, 0x7c, 0x5b, 0x62, 0x87, + 0x09, 0x05, 0x52, 0xc1, 0xb8, 0xc3, 0xf6, 0xa7, 0x27, 0x61, 0x36, 0x00, 0xeb, 0xf9, 0x70, 0xcc, + 0x7b, 0x96, 0x3c, 0xe8, 0x12, 0x77, 0xe6, 0xfe, 0x69, 0xc4, 0xe7, 0x90, 0x1f, 0x69, 0x18, 0x16, + 0x14, 0x88, 0xbc, 0x4d, 0x41, 0x81, 0xe8, 0x7d, 0x07, 0x05, 0x82, 0x3e, 0x69, 0x2c, 0xec, 0x93, + 0xfe, 0x8f, 0x88, 0x3f, 0x27, 0x9e, 0x8b, 0xaf, 0x5b, 0x2d, 0xcc, 0xbd, 0x44, 0xfa, 0x37, 0x31, + 0x49, 0xda, 0xd6, 0x2e, 0xf7, 0x05, 0xc9, 0x9f, 0x04, 0xca, 0xdb, 0x78, 0xd2, 0x7c, 0x5f, 0xf1, + 0x1c, 0xcc, 0x44, 0x30, 0x53, 0x84, 0xa7, 0x4f, 0x24, 0xfd, 0xf4, 0x09, 0x2f, 0x35, 0x6b, 0x3a, + 0x90, 0x9a, 0x85, 0x9e, 0x87, 0x34, 0x0d, 0xf6, 0xab, 0x56, 0x57, 0xbc, 0x89, 0x7e, 0x6a, 0x74, + 0xea, 0x84, 0x43, 0x0f, 0xba, 0x58, 0xba, 0x85, 0x6f, 0x71, 0xa4, 0x43, 0x16, 0xc7, 0x03, 0x90, + 0x26, 0xbd, 0x67, 0x6f, 0x7b, 0x02, 0xcf, 0xcc, 0x16, 0x05, 0xf2, 0x8f, 0x47, 0xa1, 0xd0, 0xb7, + 0xd1, 0x0c, 0x1d, 0xbb, 0x10, 0xc9, 0x68, 0x20, 0xe4, 0x31, 0x19, 0x3f, 0x16, 0x00, 0x76, 0x35, + 0x47, 0xbd, 0xa3, 0x99, 0x2e, 0x6e, 0x71, 0xa6, 0x04, 0x4a, 0x50, 0x11, 0x52, 0xe4, 0xab, 0xe7, + 0xe0, 0x16, 0x8f, 0xbe, 0x78, 0xdf, 0xe8, 0x1a, 0x24, 0xf1, 0x6d, 0xfa, 0xb6, 0x0d, 0x7b, 0x21, + 0xea, 0xf8, 0xa0, 0x3b, 0x4c, 0xaa, 0xcb, 0xf3, 0x64, 0xb2, 0xbf, 0xf0, 0xe6, 0xa2, 0xc4, 0xa0, + 0x9f, 0xf0, 0x9e, 0xf2, 0x50, 0x38, 0x7e, 0x98, 0x0b, 0xa9, 0x3e, 0x2e, 0xd0, 0x38, 0x60, 0x56, + 0xb8, 0xf7, 0x84, 0xa7, 0xec, 0x64, 0x4d, 0xc9, 0x75, 0x70, 0xa7, 0x6b, 0x59, 0x6d, 0x95, 0xad, + 0xf1, 0x12, 0xe4, 0xc3, 0xfb, 0x2a, 0x7b, 0x77, 0xdb, 0xd5, 0x0c, 0x53, 0x0d, 0x19, 0xc1, 0x59, + 0x56, 0xc8, 0xd6, 0xd4, 0xf5, 0x78, 0x2a, 0x22, 0x45, 0xaf, 0xc7, 0x53, 0x51, 0x29, 0x26, 0x6f, + 0xc2, 0xb1, 0xa1, 0xfb, 0x2a, 0x7a, 0x0e, 0xd2, 0xfe, 0x96, 0xcc, 0x0e, 0x47, 0x0f, 0x89, 0xb4, + 0xf8, 0xb0, 0xf2, 0x2f, 0x45, 0x7c, 0x92, 0xe1, 0xd8, 0x4d, 0x15, 0x92, 0x36, 0x76, 0x7a, 0x6d, + 0x97, 0x3f, 0x8a, 0xf9, 0xe4, 0x64, 0x3b, 0x32, 0x29, 0xed, 0xb5, 0x5d, 0x85, 0x23, 0xcb, 0xef, + 0x87, 0x24, 0x2b, 0x41, 0x19, 0x98, 0xf6, 0x5f, 0xd1, 0x02, 0x48, 0x96, 0x2a, 0x95, 0xea, 0xa6, + 0x78, 0x12, 0xa7, 0x5c, 0x57, 0x9a, 0x52, 0x94, 0x14, 0x2b, 0xd5, 0xeb, 0xd5, 0x4a, 0x53, 0x8a, + 0xa1, 0x19, 0xc8, 0xb1, 0xbf, 0xd5, 0x2b, 0x75, 0x65, 0xbd, 0xd4, 0x94, 0xe2, 0x81, 0xa2, 0x46, + 0x75, 0x63, 0xb5, 0xaa, 0x48, 0x09, 0xf9, 0x69, 0x38, 0x39, 0x72, 0x0f, 0xf7, 0x03, 0x33, 0x91, + 0x40, 0x60, 0x46, 0xfe, 0x68, 0x94, 0x38, 0x35, 0xa3, 0x36, 0x66, 0x74, 0xbd, 0x6f, 0xe0, 0xe7, + 0x8f, 0xb0, 0xab, 0xf7, 0x8d, 0x9e, 0xf8, 0x31, 0x36, 0xde, 0xc1, 0xae, 0xbe, 0xc7, 0x0c, 0x05, + 0xa6, 0x81, 0x72, 0x4a, 0x8e, 0x97, 0x52, 0x24, 0x87, 0x81, 0xbd, 0x86, 0x75, 0x57, 0x65, 0x42, + 0xe4, 0xf0, 0x9f, 0x09, 0xca, 0xb1, 0xd2, 0x06, 0x2b, 0x94, 0xbf, 0xf1, 0x48, 0xbc, 0x4c, 0x43, + 0x42, 0xa9, 0x36, 0x95, 0x57, 0xa4, 0x18, 0x42, 0x90, 0xa7, 0x7f, 0xaa, 0x8d, 0x8d, 0xd2, 0x66, + 0xe3, 0x5a, 0x9d, 0xf0, 0x72, 0x16, 0x0a, 0x82, 0x97, 0xa2, 0x30, 0x21, 0x3f, 0x0e, 0x27, 0x46, + 0x58, 0x15, 0x83, 0x2e, 0x95, 0xfc, 0xa9, 0x48, 0x10, 0x3a, 0x6c, 0x19, 0xd4, 0x21, 0xe9, 0xb8, + 0x9a, 0xdb, 0x73, 0x38, 0x13, 0x9f, 0x9b, 0xd4, 0xcc, 0x58, 0x16, 0x7f, 0x34, 0x28, 0xba, 0xc2, + 0xc9, 0xc8, 0x17, 0x20, 0x1f, 0xae, 0x19, 0xcd, 0x03, 0x5f, 0x88, 0xa2, 0xf2, 0x65, 0x40, 0x83, + 0xd6, 0xc7, 0x10, 0xf7, 0x32, 0x32, 0xcc, 0xbd, 0xfc, 0xe1, 0x08, 0x9c, 0x3a, 0xc4, 0xd2, 0x40, + 0x2f, 0xf5, 0x0d, 0xf2, 0xd2, 0x51, 0xec, 0x94, 0x65, 0x56, 0xd6, 0x37, 0xcc, 0x67, 0x20, 0x1b, + 0x2c, 0x9f, 0x6c, 0x90, 0x5f, 0x88, 0xfa, 0x8b, 0x38, 0xec, 0x07, 0xfb, 0x2a, 0x30, 0xf2, 0x15, + 0xaa, 0xc0, 0x77, 0x03, 0xb8, 0xfb, 0x2a, 0x13, 0x6b, 0xb1, 0x8f, 0x3e, 0x38, 0x24, 0xbe, 0x88, + 0xf5, 0xe6, 0x3e, 0x5f, 0x04, 0x69, 0x97, 0xff, 0xe5, 0xa0, 0x46, 0x30, 0x28, 0xd0, 0xa3, 0x7b, + 0xac, 0xe3, 0xfd, 0x48, 0xd0, 0x64, 0x9b, 0xb1, 0x1f, 0x3c, 0x60, 0xc5, 0x0e, 0x7a, 0x05, 0x4e, + 0xf4, 0x19, 0x0a, 0x1e, 0xe9, 0xf8, 0xa4, 0xf6, 0xc2, 0xb1, 0xb0, 0xbd, 0x20, 0x48, 0x07, 0x77, + 0xfb, 0x44, 0x78, 0xb7, 0x7f, 0x05, 0xc0, 0x0f, 0x0e, 0x10, 0x0d, 0x63, 0x5b, 0x3d, 0xb3, 0x25, + 0x7e, 0x00, 0x81, 0x7e, 0xa0, 0x0b, 0x90, 0x20, 0x92, 0x24, 0xf8, 0x34, 0xa8, 0x8a, 0x89, 0x24, + 0x04, 0x82, 0x0b, 0x0c, 0x5a, 0x36, 0x00, 0x0d, 0x06, 0x68, 0x47, 0x34, 0xf1, 0x42, 0xb8, 0x89, + 0xd3, 0x23, 0x43, 0xbd, 0xc3, 0x9b, 0x7a, 0x1d, 0x12, 0x74, 0xe6, 0x87, 0x66, 0x6b, 0xbe, 0x0f, + 0x40, 0x73, 0x5d, 0xdb, 0xd8, 0xee, 0xf9, 0x0d, 0x2c, 0x0e, 0x97, 0x9c, 0x92, 0x80, 0x2b, 0x3f, + 0xc0, 0x45, 0x68, 0xce, 0x47, 0x0d, 0x88, 0x51, 0x80, 0xa0, 0xbc, 0x01, 0xf9, 0x30, 0xee, 0xf0, + 0xec, 0x53, 0x3f, 0xf5, 0x3c, 0x2d, 0xec, 0x1b, 0xcf, 0x3a, 0xe2, 0x17, 0xfa, 0xe8, 0x87, 0xfc, + 0x46, 0x14, 0xb2, 0x41, 0xc1, 0xfb, 0xcb, 0x67, 0x82, 0xc8, 0xdf, 0x12, 0x81, 0x94, 0x37, 0xfc, + 0xf0, 0x39, 0x48, 0xe8, 0xe0, 0xc8, 0xcf, 0x42, 0xf6, 0x0e, 0x2f, 0xd8, 0x31, 0x51, 0xcc, 0x3b, + 0x26, 0xba, 0xec, 0x6d, 0x7f, 0xa3, 0x02, 0x22, 0x41, 0x5e, 0x8b, 0xe4, 0x24, 0xbe, 0xdb, 0x5f, + 0x9e, 0x2c, 0x01, 0x6a, 0x0e, 0x12, 0xc1, 0xe4, 0x25, 0xf6, 0x21, 0xb7, 0x02, 0x49, 0x7d, 0x6c, + 0x21, 0x06, 0x33, 0xa5, 0x22, 0x47, 0xce, 0x94, 0xf2, 0x5a, 0x89, 0x06, 0x5b, 0xf9, 0x48, 0x04, + 0x52, 0x62, 0x4d, 0xa0, 0xf7, 0x04, 0x93, 0x3d, 0xc5, 0xd1, 0xe6, 0x48, 0x7d, 0xc4, 0xe9, 0x07, + 0x72, 0x3d, 0x4b, 0xe2, 0x4c, 0xd6, 0x68, 0xa9, 0x3b, 0x6d, 0x8d, 0xc9, 0x52, 0x7e, 0x64, 0x9e, + 0x2a, 0x4b, 0x1c, 0xe2, 0x09, 0x80, 0xb5, 0x16, 0xf9, 0xe0, 0x96, 0xdd, 0x9f, 0x46, 0x40, 0xea, + 0x5f, 0xb1, 0x5f, 0x71, 0xef, 0x06, 0xb7, 0xb9, 0xd8, 0x90, 0x6d, 0x0e, 0x9d, 0x83, 0x59, 0xff, + 0x57, 0xd3, 0x1c, 0x63, 0xd7, 0xd4, 0xdc, 0x9e, 0x8d, 0x79, 0x40, 0x12, 0x79, 0x55, 0x0d, 0x51, + 0x33, 0x38, 0xea, 0xc4, 0x7d, 0x8e, 0xfa, 0x83, 0x51, 0xc8, 0x04, 0xc2, 0xa3, 0xe8, 0xd9, 0x80, + 0x32, 0xca, 0x0f, 0xd9, 0x19, 0x02, 0xb0, 0x81, 0xdf, 0xa8, 0x0a, 0xb1, 0x29, 0x7a, 0x74, 0x36, + 0x8d, 0x0a, 0x42, 0x8b, 0x68, 0x6b, 0xfc, 0xc8, 0xd1, 0xd6, 0xe1, 0x69, 0x83, 0x89, 0x11, 0x69, + 0x83, 0x7f, 0x25, 0x02, 0x29, 0xcf, 0xec, 0x3e, 0xea, 0x21, 0xe6, 0x71, 0x48, 0x72, 0xcb, 0x92, + 0x9d, 0x62, 0xf2, 0xaf, 0xa1, 0x61, 0xe5, 0x22, 0xa4, 0xc4, 0x2f, 0x36, 0xf0, 0x5d, 0xcd, 0xfb, + 0x3e, 0x7b, 0x09, 0x32, 0x81, 0x03, 0x60, 0xa2, 0x1a, 0x37, 0xaa, 0xef, 0x95, 0xa6, 0x8a, 0xd3, + 0x77, 0xef, 0x2d, 0xc5, 0x36, 0xf0, 0x1d, 0xb2, 0x9a, 0x95, 0x6a, 0xe5, 0x5a, 0xb5, 0x72, 0x43, + 0x8a, 0x14, 0x33, 0x77, 0xef, 0x2d, 0x4d, 0x2b, 0x98, 0x46, 0x14, 0xcf, 0xde, 0x80, 0x42, 0xdf, + 0xc4, 0x84, 0xcd, 0x16, 0x04, 0xf9, 0xd5, 0xad, 0xcd, 0xb5, 0x5a, 0xa5, 0xd4, 0xac, 0xaa, 0x37, + 0xeb, 0xcd, 0xaa, 0x14, 0x41, 0x27, 0x60, 0x76, 0xad, 0x76, 0xf5, 0x5a, 0x53, 0xad, 0xac, 0xd5, + 0xaa, 0x1b, 0x4d, 0xb5, 0xd4, 0x6c, 0x96, 0x2a, 0x37, 0xa4, 0xe8, 0xf9, 0x7b, 0x19, 0x88, 0x97, + 0xca, 0x95, 0x1a, 0xaa, 0x40, 0x9c, 0x86, 0x42, 0x0e, 0xcd, 0x00, 0x2b, 0x1e, 0x1e, 0x1b, 0x46, + 0x57, 0x20, 0x41, 0xa3, 0x24, 0xe8, 0xf0, 0x94, 0xb0, 0xe2, 0x98, 0x60, 0x31, 0xe9, 0x0c, 0x5d, + 0x91, 0x87, 0xe6, 0x88, 0x15, 0x0f, 0x8f, 0x1d, 0xa3, 0x35, 0x98, 0x16, 0x4e, 0xf2, 0xb8, 0xc4, + 0xad, 0xe2, 0xd8, 0x80, 0x2e, 0x19, 0x1a, 0x0b, 0x36, 0x1c, 0x9e, 0x3e, 0x56, 0x1c, 0x13, 0x55, + 0x46, 0x35, 0x48, 0x72, 0x77, 0x74, 0x4c, 0x46, 0x58, 0x71, 0x5c, 0x9c, 0x18, 0x29, 0x90, 0xf6, + 0xc3, 0x38, 0xe3, 0x93, 0xe2, 0x8a, 0x13, 0x04, 0xcc, 0xd1, 0xfb, 0x21, 0x17, 0x76, 0x75, 0x27, + 0xcb, 0x3a, 0x2b, 0x4e, 0x18, 0x91, 0x26, 0xf4, 0xc3, 0x7e, 0xef, 0x64, 0x59, 0x68, 0xc5, 0x09, + 0x03, 0xd4, 0xe8, 0x35, 0x98, 0x19, 0xf4, 0x4b, 0x27, 0x4f, 0x4a, 0x2b, 0x1e, 0x21, 0x64, 0x8d, + 0x3a, 0x80, 0x86, 0xf8, 0xb3, 0x47, 0xc8, 0x51, 0x2b, 0x1e, 0x25, 0x82, 0x8d, 0x5a, 0x50, 0xe8, + 0x77, 0x12, 0x27, 0xcd, 0x59, 0x2b, 0x4e, 0x1c, 0xcd, 0x66, 0xad, 0x84, 0x9d, 0xcb, 0x49, 0x73, + 0xd8, 0x8a, 0x13, 0x07, 0xb7, 0xd1, 0x16, 0x40, 0xc0, 0x3f, 0x9c, 0x20, 0xa7, 0xad, 0x38, 0x49, + 0x98, 0x1b, 0x75, 0x61, 0x76, 0x98, 0xe3, 0x78, 0x94, 0x14, 0xb7, 0xe2, 0x91, 0xa2, 0xdf, 0x44, + 0x9e, 0xc3, 0x2e, 0xe0, 0x64, 0x29, 0x6f, 0xc5, 0x09, 0xc3, 0xe0, 0xe5, 0xd2, 0xc8, 0x3c, 0xe7, + 0x47, 0x0f, 0xcd, 0x73, 0xf6, 0x33, 0x97, 0xbd, 0xdc, 0xe6, 0x7b, 0x51, 0x58, 0x08, 0x64, 0x14, + 0xf3, 0x10, 0x74, 0x28, 0xbd, 0x19, 0x05, 0x3a, 0xc5, 0xeb, 0x47, 0xa4, 0x10, 0xbf, 0x00, 0xb1, + 0x52, 0xb7, 0x4b, 0xb6, 0x38, 0xfa, 0xad, 0x5b, 0x6d, 0xbe, 0x81, 0x7a, 0xdf, 0xa4, 0xce, 0xb1, + 0x76, 0xdc, 0x3b, 0x9a, 0xed, 0xfd, 0x5c, 0xa5, 0xf8, 0x96, 0x2f, 0x41, 0xda, 0x73, 0x0d, 0xe9, + 0xf3, 0xd1, 0xde, 0xad, 0xa3, 0xb8, 0xb8, 0x56, 0xc4, 0x6f, 0x88, 0x44, 0xfd, 0x1b, 0x22, 0xf4, + 0x82, 0x71, 0xb9, 0x3e, 0x92, 0x23, 0x17, 0x8e, 0x96, 0xf9, 0xcd, 0x07, 0xe8, 0xf1, 0xe7, 0xcb, + 0x0f, 0x84, 0xae, 0x9d, 0xf1, 0x77, 0x7a, 0x03, 0xdc, 0x99, 0xf4, 0xaa, 0xc5, 0xd8, 0xac, 0xec, + 0x31, 0x49, 0xe3, 0x63, 0x66, 0x69, 0x7c, 0x5e, 0xb8, 0x7c, 0x09, 0x72, 0x9b, 0x9a, 0xed, 0x36, + 0xb0, 0x7b, 0x0d, 0x6b, 0x2d, 0x6c, 0x87, 0xef, 0x49, 0xe6, 0xc4, 0x3d, 0x49, 0x61, 0xb4, 0x44, + 0x7d, 0xa3, 0x45, 0xde, 0x83, 0x38, 0x7d, 0xcd, 0x7d, 0x64, 0xea, 0x15, 0x4b, 0x95, 0xe2, 0xa9, + 0x57, 0xf4, 0x03, 0x3d, 0x2b, 0x6e, 0x42, 0xc6, 0x0e, 0xbf, 0x09, 0x29, 0x7c, 0x62, 0x76, 0x1f, + 0xb2, 0x0d, 0xd3, 0xdc, 0x5e, 0x1d, 0x9a, 0xd8, 0xb0, 0x0e, 0x85, 0xae, 0x66, 0xbb, 0xf4, 0xd7, + 0x9d, 0xf6, 0xe8, 0x28, 0xb8, 0xb1, 0x39, 0xe4, 0x7e, 0x57, 0x68, 0xb0, 0xbc, 0x95, 0x5c, 0x37, + 0x58, 0x28, 0xff, 0xa7, 0x38, 0x24, 0x39, 0x33, 0x5e, 0x08, 0xe7, 0x7c, 0xf6, 0xf9, 0x5c, 0xbc, + 0xca, 0x0f, 0x5d, 0x70, 0x7a, 0xde, 0x11, 0xce, 0x23, 0xfd, 0x09, 0x96, 0xe5, 0xcc, 0x5b, 0x6f, + 0x2e, 0x4e, 0xd3, 0xfd, 0xb3, 0xb6, 0xea, 0x67, 0x5b, 0xbe, 0xfd, 0x76, 0x6e, 0x05, 0x72, 0x81, + 0xf3, 0x1e, 0xa3, 0xc5, 0xf3, 0x61, 0x4e, 0x8e, 0x74, 0x04, 0x44, 0x02, 0x84, 0x77, 0x14, 0x54, + 0x6b, 0xa1, 0x33, 0x20, 0x05, 0x32, 0x32, 0x58, 0xcc, 0x85, 0x9d, 0x74, 0xe4, 0xdb, 0x5e, 0xb2, + 0x05, 0x4d, 0x49, 0x38, 0x05, 0x69, 0xfa, 0x6b, 0x63, 0x81, 0xcc, 0x85, 0x14, 0x29, 0xa0, 0x95, + 0x8f, 0x42, 0xa1, 0x3f, 0xb9, 0x81, 0xa5, 0x2b, 0xe4, 0x6f, 0x87, 0x13, 0x1b, 0x46, 0xa5, 0x42, + 0xa4, 0x47, 0xa6, 0x42, 0x3c, 0x0c, 0x79, 0x3f, 0xd0, 0x44, 0x61, 0x81, 0xf9, 0x51, 0x5e, 0x29, + 0x05, 0x0b, 0x06, 0x8d, 0x32, 0xa1, 0xa0, 0x91, 0x77, 0x88, 0xc6, 0xe3, 0x67, 0x0c, 0x26, 0xcb, + 0xb2, 0x29, 0x48, 0x05, 0x8f, 0x93, 0x51, 0xd8, 0x87, 0x20, 0x27, 0x2e, 0x23, 0x32, 0xb8, 0x1c, + 0x85, 0xcb, 0x8a, 0xc2, 0x91, 0xd9, 0x19, 0xf9, 0xe1, 0xd9, 0x19, 0xf3, 0x10, 0x5f, 0xe5, 0xd1, + 0x8e, 0xbe, 0x00, 0xee, 0xcf, 0xc6, 0x20, 0x4e, 0xb7, 0xa9, 0x67, 0x42, 0x7e, 0xd7, 0x10, 0x79, + 0x26, 0xbe, 0x1f, 0x6e, 0xad, 0x3b, 0xbb, 0x01, 0xb7, 0x6b, 0x54, 0xde, 0x95, 0x17, 0xaf, 0x8a, + 0x05, 0xe3, 0x55, 0x55, 0x48, 0x79, 0x52, 0x12, 0x1f, 0x27, 0x25, 0x05, 0x22, 0x25, 0x44, 0x86, + 0x79, 0x81, 0x32, 0xcd, 0x7d, 0x47, 0x54, 0x86, 0xb4, 0xa7, 0xbc, 0xb8, 0xb4, 0x4d, 0x26, 0xb0, + 0x3e, 0xda, 0xf0, 0x0c, 0xa5, 0xe4, 0x88, 0x0c, 0xa5, 0xa0, 0x58, 0xf1, 0x9f, 0x29, 0x9e, 0xa6, + 0xe3, 0xf2, 0xc5, 0x8a, 0xfd, 0x54, 0xf1, 0x03, 0x90, 0xf6, 0x7d, 0x67, 0x26, 0x79, 0x7e, 0x01, + 0xa9, 0xf5, 0xbd, 0x70, 0x26, 0x69, 0x81, 0x5f, 0x4f, 0x1f, 0xe1, 0x81, 0xc3, 0x28, 0x0f, 0x5c, + 0xfe, 0xe5, 0x88, 0x67, 0xb5, 0x1f, 0x12, 0xed, 0x61, 0xd3, 0x10, 0x1d, 0x35, 0x0d, 0xb1, 0xfb, + 0x9f, 0x86, 0x12, 0x80, 0xd7, 0x4d, 0x91, 0x6a, 0x7d, 0x6a, 0x58, 0xb4, 0x95, 0x74, 0xb1, 0x61, + 0xec, 0x8a, 0x03, 0x55, 0x1f, 0x49, 0xfe, 0xed, 0x08, 0xd9, 0x72, 0x79, 0xfd, 0x60, 0x48, 0x21, + 0x72, 0xd4, 0x90, 0xc2, 0xd1, 0x12, 0xcf, 0x42, 0x72, 0x14, 0xbb, 0x3f, 0x39, 0x0a, 0xcd, 0x78, + 0xbc, 0x6f, 0xc6, 0xe5, 0xdf, 0x8d, 0xf0, 0x5f, 0x4d, 0xf7, 0xa2, 0xb9, 0x7f, 0x3e, 0x53, 0xf5, + 0x2a, 0x97, 0xad, 0x16, 0x6e, 0xa9, 0x03, 0x73, 0xf6, 0xd0, 0x90, 0x8b, 0xd1, 0xa1, 0x3e, 0xfb, + 0x73, 0x87, 0x04, 0x95, 0x86, 0x3f, 0x87, 0x9f, 0x89, 0xc2, 0xcc, 0x00, 0xfc, 0x5f, 0xbc, 0xb9, + 0x0c, 0xaf, 0xde, 0xc4, 0x84, 0xab, 0x37, 0x39, 0x72, 0xf5, 0xfe, 0x74, 0x94, 0x3e, 0x74, 0xc0, + 0x3c, 0x8f, 0xaf, 0x82, 0xee, 0x3d, 0x05, 0xe9, 0xae, 0xd5, 0x56, 0x59, 0x0d, 0xfb, 0xf9, 0x93, + 0x54, 0xd7, 0x6a, 0x2b, 0x03, 0x62, 0x96, 0x78, 0x9b, 0x14, 0x73, 0xf2, 0x6d, 0x98, 0x84, 0xe9, + 0xfe, 0x05, 0x65, 0x43, 0x96, 0xb1, 0x82, 0x5b, 0x4d, 0x4f, 0x11, 0x1e, 0x50, 0x33, 0x2c, 0x32, + 0x68, 0xe5, 0xb1, 0x6e, 0x33, 0x48, 0x85, 0xc3, 0x11, 0x8c, 0x50, 0xda, 0xe7, 0xfc, 0x28, 0x8d, + 0x25, 0xf2, 0xdd, 0xe4, 0xef, 0x89, 0x00, 0xac, 0xd1, 0x6b, 0xd5, 0xd4, 0x05, 0xa8, 0x40, 0xce, + 0xa1, 0x5d, 0x50, 0x43, 0x2d, 0x2f, 0x8c, 0x9a, 0x34, 0xde, 0x7e, 0xd6, 0x09, 0xf6, 0xbb, 0x02, + 0x39, 0x5f, 0xb6, 0x1d, 0x2c, 0x3a, 0xb3, 0x70, 0xc8, 0x8d, 0xe4, 0x06, 0x76, 0x95, 0xec, 0xed, + 0xc0, 0x97, 0xfc, 0x8f, 0x23, 0x90, 0xa6, 0x7d, 0x5a, 0xc7, 0xae, 0x16, 0x9a, 0xc3, 0xc8, 0xfd, + 0xcf, 0xe1, 0x83, 0x00, 0x8c, 0x8c, 0x63, 0xbc, 0x8e, 0xb9, 0x64, 0xa5, 0x69, 0x49, 0xc3, 0x78, + 0x1d, 0xa3, 0x8b, 0x1e, 0xc3, 0x63, 0x87, 0x33, 0x5c, 0xc4, 0xe1, 0x39, 0xdb, 0x4f, 0xc0, 0xb4, + 0xd9, 0xeb, 0xa8, 0x2c, 0xa5, 0x9a, 0x4a, 0xab, 0xd9, 0xeb, 0x34, 0xf7, 0x1d, 0xf9, 0x35, 0x98, + 0x6e, 0xee, 0xb3, 0x77, 0x53, 0x4e, 0x41, 0xda, 0xb6, 0x2c, 0x6e, 0xfd, 0x31, 0xab, 0x3b, 0x45, + 0x0a, 0xa8, 0xb1, 0x33, 0xec, 0xec, 0x66, 0x79, 0x42, 0x13, 0x9f, 0x1b, 0xf7, 0x67, 0x7f, 0x33, + 0x02, 0xb9, 0xd0, 0x4a, 0x42, 0x4f, 0xc0, 0x89, 0x46, 0xed, 0xea, 0x46, 0x75, 0x55, 0x5d, 0x6f, + 0x5c, 0xed, 0xfb, 0x69, 0xc3, 0x62, 0xe1, 0xee, 0xbd, 0xa5, 0x0c, 0xbf, 0x72, 0x3c, 0x0a, 0x7a, + 0x53, 0xa9, 0xb2, 0x68, 0x26, 0x83, 0xde, 0xb4, 0xf1, 0x6d, 0xcb, 0xc5, 0x14, 0xfa, 0x29, 0x38, + 0x39, 0x04, 0xda, 0xbb, 0x78, 0x3c, 0x73, 0xf7, 0xde, 0x52, 0x6e, 0xd3, 0xc6, 0x4c, 0xca, 0x28, + 0xc6, 0x32, 0xcc, 0x0f, 0x62, 0xd4, 0x37, 0xeb, 0x8d, 0xd2, 0x9a, 0xb4, 0x54, 0x94, 0xee, 0xde, + 0x5b, 0xca, 0x0a, 0x95, 0x41, 0xe0, 0xdf, 0xf9, 0x9b, 0xc7, 0xff, 0xf6, 0x12, 0xbc, 0x8b, 0xbf, + 0x38, 0xe5, 0xb8, 0xda, 0x2d, 0xc3, 0xdc, 0xf5, 0x9e, 0x25, 0xe3, 0xdf, 0xdc, 0x0b, 0x3d, 0xce, + 0x5f, 0xb5, 0x12, 0xa5, 0xe2, 0x71, 0xb2, 0xc1, 0xb7, 0xc6, 0x8a, 0x63, 0x1e, 0x39, 0x3b, 0xec, + 0xe5, 0xb2, 0x11, 0x4f, 0x9d, 0x8d, 0x7c, 0xef, 0x6a, 0xdc, 0x73, 0x23, 0xe3, 0x9d, 0xe2, 0xc3, + 0xee, 0x5d, 0x17, 0x0f, 0x75, 0xcc, 0xe5, 0x8f, 0x44, 0x20, 0x7f, 0xcd, 0x70, 0x5c, 0xcb, 0x36, + 0x74, 0xad, 0x4d, 0x83, 0xbf, 0x97, 0x27, 0xd5, 0x56, 0xe5, 0x34, 0x59, 0x3c, 0xfc, 0xed, 0x34, + 0xbe, 0x82, 0x56, 0x21, 0x79, 0x5b, 0x6b, 0x33, 0x5d, 0x11, 0x7c, 0x1a, 0xaf, 0x9f, 0xe7, 0x81, + 0x53, 0x8e, 0x20, 0x15, 0x86, 0x2b, 0x7f, 0x0f, 0x7d, 0x60, 0xa5, 0xd3, 0x31, 0x1c, 0xb2, 0x1d, + 0x29, 0xf4, 0xa0, 0xfb, 0x3a, 0xc4, 0x6d, 0xcd, 0xe5, 0xc7, 0xbf, 0xe5, 0x8b, 0x47, 0x7e, 0xc7, + 0x8c, 0xb5, 0x40, 0x69, 0xa0, 0x97, 0x20, 0xd5, 0xd1, 0xf6, 0x55, 0x4a, 0x2f, 0xfa, 0x15, 0xd1, + 0x9b, 0xee, 0x68, 0xfb, 0xa4, 0x7f, 0xe8, 0xfd, 0x50, 0x20, 0x24, 0xf5, 0x3d, 0xcd, 0xdc, 0xc5, + 0x8c, 0x72, 0xec, 0x2b, 0xa2, 0x9c, 0xeb, 0x68, 0xfb, 0x15, 0x4a, 0x8d, 0xd0, 0xe7, 0x4f, 0xc4, + 0xfd, 0x4a, 0x84, 0x9f, 0xe9, 0x53, 0xc6, 0x20, 0x0d, 0x24, 0xdd, 0xfb, 0xa2, 0x8d, 0x8a, 0x04, + 0xc4, 0x47, 0x47, 0xf1, 0xbd, 0x8f, 0xad, 0xe5, 0x1c, 0xe9, 0xde, 0x67, 0xdf, 0x5c, 0x8c, 0xb0, + 0x56, 0x0b, 0xfa, 0x00, 0xdb, 0x33, 0x2c, 0x55, 0x41, 0xa5, 0x9e, 0x77, 0x74, 0xec, 0x7e, 0x99, + 0x13, 0xfb, 0x25, 0x23, 0x08, 0x0c, 0x9b, 0xd4, 0xf3, 0x31, 0x7c, 0x3a, 0x02, 0x99, 0xd5, 0xc0, + 0x43, 0x97, 0xf3, 0x30, 0xdd, 0xb1, 0x4c, 0xe3, 0x16, 0xb6, 0xbd, 0x0c, 0x52, 0xf6, 0x89, 0x8a, + 0x90, 0x62, 0xbf, 0x0e, 0xe8, 0x1e, 0x88, 0x30, 0x98, 0xf8, 0x26, 0x58, 0x77, 0xf0, 0xb6, 0x63, + 0x08, 0x3e, 0x2b, 0xe2, 0x93, 0x38, 0x9c, 0x0e, 0xd6, 0x7b, 0xb6, 0xe1, 0x1e, 0xa8, 0xba, 0x65, + 0xba, 0x9a, 0xee, 0xf2, 0x53, 0xf2, 0x82, 0x28, 0xaf, 0xb0, 0x62, 0x42, 0xa4, 0x85, 0x5d, 0xcd, + 0x68, 0xb3, 0x7b, 0x93, 0x69, 0x45, 0x7c, 0xf2, 0xae, 0xfe, 0x5a, 0x2a, 0x78, 0x4a, 0x5c, 0x01, + 0xc9, 0xea, 0x62, 0x3b, 0x64, 0xe9, 0x31, 0x69, 0x9c, 0xff, 0x8d, 0xcf, 0x3c, 0x39, 0xc7, 0x19, + 0xce, 0x6d, 0x3d, 0xf6, 0x4e, 0xbd, 0x52, 0x10, 0x18, 0xc2, 0x04, 0x7c, 0x25, 0x94, 0x33, 0xda, + 0xdb, 0xf6, 0x9f, 0xd6, 0x98, 0x1b, 0x60, 0x6a, 0xc9, 0x3c, 0x28, 0xcf, 0xff, 0xba, 0x4f, 0xda, + 0x3f, 0x45, 0xbe, 0x81, 0x0f, 0x82, 0x09, 0xa4, 0x94, 0x0c, 0x31, 0xb5, 0x5e, 0xd3, 0x8c, 0xb6, + 0xf8, 0x21, 0x55, 0x85, 0x7f, 0xa1, 0x15, 0x2f, 0xf9, 0x27, 0x4e, 0x2d, 0x37, 0x79, 0x94, 0x6c, + 0x94, 0x2d, 0xb3, 0x15, 0xce, 0xf2, 0x41, 0x15, 0x48, 0xba, 0xd6, 0x2d, 0x6c, 0x72, 0x06, 0x1d, + 0xed, 0x29, 0x42, 0x8e, 0x8a, 0xbe, 0x01, 0xa4, 0x16, 0x6e, 0xe3, 0x5d, 0x66, 0x47, 0xec, 0x69, + 0xc4, 0xaa, 0x4f, 0xde, 0xef, 0x73, 0x84, 0x05, 0x8f, 0x54, 0x83, 0x52, 0x42, 0x9b, 0xe1, 0xa7, + 0x54, 0xa7, 0x79, 0x6a, 0xf7, 0x88, 0x31, 0x06, 0x24, 0x2f, 0xa8, 0x79, 0x42, 0x4f, 0xaf, 0x3e, + 0x06, 0x52, 0xcf, 0xdc, 0xb6, 0x4c, 0xfa, 0xfb, 0x83, 0xdc, 0x7a, 0x4d, 0xb1, 0x3c, 0x62, 0xaf, + 0x9c, 0xe7, 0x11, 0x6f, 0x42, 0xde, 0x07, 0xa5, 0x2b, 0x24, 0x7d, 0xd4, 0x15, 0x92, 0xf3, 0x08, + 0x10, 0x10, 0xb4, 0x0e, 0xe0, 0xaf, 0x41, 0xea, 0x58, 0x67, 0x46, 0xcf, 0x98, 0xbf, 0x9a, 0x83, + 0x83, 0x09, 0x10, 0x40, 0x5f, 0x0f, 0xb3, 0x1d, 0xc3, 0x54, 0x1d, 0xdc, 0xde, 0x51, 0x39, 0xe7, + 0x08, 0xdd, 0xcc, 0xd1, 0x67, 0x73, 0xa6, 0x63, 0x98, 0x0d, 0xdc, 0xde, 0x59, 0xf5, 0xa8, 0xa0, + 0x77, 0xc3, 0x29, 0x7f, 0xf4, 0x96, 0xa9, 0xee, 0x59, 0xed, 0x96, 0x6a, 0xe3, 0x1d, 0x55, 0xa7, + 0xef, 0x62, 0x66, 0x29, 0xcf, 0x4e, 0x78, 0x20, 0x75, 0xf3, 0x9a, 0xd5, 0x6e, 0x29, 0x78, 0xa7, + 0x42, 0xaa, 0xd1, 0x43, 0xe0, 0x0f, 0x5d, 0x35, 0x5a, 0xce, 0x7c, 0x6e, 0x29, 0x76, 0x26, 0xae, + 0x64, 0xbd, 0xc2, 0x5a, 0xcb, 0x41, 0x18, 0x8e, 0xf9, 0x36, 0x28, 0x29, 0x17, 0x02, 0x94, 0xbf, + 0x5f, 0x01, 0x9a, 0xf5, 0xe8, 0x51, 0x79, 0x67, 0x42, 0x74, 0x13, 0x72, 0x6d, 0xe3, 0x03, 0x3d, + 0xc3, 0x23, 0x5f, 0xb8, 0x5f, 0xf2, 0x59, 0x46, 0x87, 0xd1, 0x5d, 0x49, 0x7d, 0xe8, 0x93, 0x8b, + 0x53, 0x9f, 0xff, 0xe4, 0xe2, 0x94, 0x7c, 0x85, 0x3e, 0x13, 0xc4, 0xd5, 0x00, 0x76, 0xd0, 0x45, + 0x48, 0x6b, 0xe2, 0x83, 0xbd, 0x00, 0x75, 0x88, 0x1a, 0xf1, 0x41, 0xe5, 0x1f, 0x8b, 0x40, 0x72, + 0xf5, 0xe6, 0xa6, 0x66, 0xd8, 0xa8, 0x0a, 0x33, 0xfe, 0xba, 0x9a, 0x54, 0x23, 0xf9, 0x4b, 0x51, + 0xa8, 0xa4, 0x8d, 0x51, 0x2e, 0x6c, 0xba, 0x7c, 0xfa, 0x37, 0x3e, 0xf3, 0xe4, 0x83, 0x9c, 0xcc, + 0xcd, 0x3e, 0x6f, 0x56, 0xd0, 0xeb, 0xf7, 0x72, 0x03, 0x63, 0xbe, 0x0e, 0xd3, 0xac, 0xab, 0x0e, + 0x7a, 0x11, 0x12, 0x5d, 0xf2, 0x07, 0x4f, 0xef, 0x5b, 0x18, 0xb9, 0x3e, 0x29, 0x7c, 0x50, 0x9a, + 0x19, 0x9e, 0xfc, 0x6d, 0x51, 0x80, 0xd5, 0x9b, 0x37, 0x9b, 0xb6, 0xd1, 0x6d, 0x63, 0xf7, 0xed, + 0x1a, 0xfb, 0x56, 0x50, 0xbc, 0x1c, 0x5b, 0x3f, 0xfa, 0xf8, 0x7d, 0x71, 0x6a, 0xd8, 0xfa, 0x50, + 0xb2, 0x2d, 0xc7, 0xf5, 0xc8, 0xc6, 0x8e, 0x4e, 0x76, 0xd5, 0x71, 0x07, 0x39, 0xfb, 0x32, 0x64, + 0x7c, 0x66, 0x38, 0xa8, 0x06, 0x29, 0x97, 0xff, 0xcd, 0x19, 0x2c, 0x8f, 0x66, 0xb0, 0x40, 0x0b, + 0x32, 0xd9, 0x43, 0x97, 0x7f, 0x80, 0xf0, 0xd9, 0x5f, 0xe2, 0x5f, 0x9b, 0x32, 0x86, 0x6a, 0x90, + 0xe4, 0x0b, 0x35, 0x76, 0xdf, 0x8f, 0xef, 0x32, 0x02, 0x34, 0xf7, 0x28, 0xa4, 0x61, 0xf8, 0x73, + 0x05, 0xb9, 0x90, 0x9e, 0x08, 0xf0, 0xfe, 0x3b, 0xa2, 0x30, 0xbb, 0x25, 0x74, 0xd4, 0xd7, 0x3e, + 0xab, 0xb6, 0x60, 0x1a, 0x9b, 0xae, 0x6d, 0x78, 0x79, 0xac, 0x4f, 0x8d, 0x12, 0x8d, 0x21, 0x83, + 0xaa, 0x9a, 0xae, 0x7d, 0x10, 0x14, 0x14, 0x41, 0x2b, 0xc0, 0x8f, 0x8f, 0xc5, 0x60, 0x7e, 0x14, + 0x2a, 0x7a, 0x14, 0x0a, 0xba, 0x8d, 0x69, 0x41, 0xf8, 0x65, 0xb8, 0xbc, 0x28, 0xe6, 0x3b, 0xa9, + 0x02, 0xc4, 0xf6, 0x24, 0x32, 0x48, 0x40, 0xef, 0xcf, 0xd8, 0xcc, 0xfb, 0x14, 0xe8, 0x5e, 0xda, + 0x84, 0x82, 0x78, 0xf7, 0x62, 0x5b, 0x6b, 0x6b, 0xa6, 0x2e, 0x8c, 0xf2, 0x23, 0x6d, 0x7c, 0xe2, + 0xed, 0x8c, 0x32, 0x23, 0x81, 0xaa, 0x30, 0x2d, 0xa8, 0xc5, 0x8f, 0x4e, 0x4d, 0xe0, 0xa2, 0xd3, + 0x90, 0x0d, 0x6e, 0x7f, 0xd4, 0xc0, 0x8a, 0x2b, 0x99, 0xc0, 0xee, 0x37, 0x6e, 0x7f, 0x4d, 0x1e, + 0xba, 0xbf, 0x72, 0x1b, 0xf6, 0x07, 0xe8, 0xf5, 0xf4, 0xd6, 0x5f, 0xfc, 0x69, 0xd9, 0x04, 0x60, + 0x2b, 0x9a, 0x28, 0x5c, 0x3e, 0x33, 0xf7, 0xa1, 0x16, 0xd2, 0x8c, 0xc8, 0xaa, 0xe3, 0x7e, 0xb5, + 0x66, 0xe8, 0xb7, 0xa3, 0x90, 0x0d, 0xce, 0xd0, 0x5f, 0xca, 0xbd, 0x0d, 0x6d, 0xf8, 0x6a, 0x8a, + 0x45, 0xfc, 0x1f, 0x1b, 0xa5, 0xa6, 0x06, 0xa4, 0x79, 0x8c, 0x7e, 0x7a, 0x2b, 0x09, 0x49, 0x7e, + 0xc7, 0xae, 0x3e, 0x60, 0xae, 0x47, 0xc6, 0xbd, 0xfb, 0x99, 0x13, 0xef, 0x7e, 0x0e, 0xb5, 0xd6, + 0x1f, 0x86, 0x3c, 0x71, 0xfb, 0x43, 0x17, 0xf7, 0x22, 0x67, 0x72, 0xd4, 0x7b, 0xf7, 0xcf, 0x66, + 0xd1, 0x22, 0x64, 0x08, 0x98, 0xaf, 0x87, 0x09, 0x0c, 0x74, 0xb4, 0xfd, 0x2a, 0x2b, 0x41, 0x4f, + 0x02, 0xda, 0xf3, 0xc2, 0x30, 0xaa, 0xcf, 0x08, 0x02, 0x37, 0xe3, 0xd7, 0x08, 0xf0, 0x07, 0x01, + 0xa8, 0x2d, 0xcc, 0x9e, 0xa5, 0xe7, 0x3f, 0xb0, 0x4c, 0x4a, 0x56, 0xe9, 0xd3, 0xf4, 0xdf, 0x1c, + 0x61, 0x56, 0x7f, 0x5f, 0x70, 0x80, 0x3b, 0x5d, 0xcd, 0x09, 0x16, 0xc5, 0x9f, 0xbc, 0xb9, 0x58, + 0x3c, 0xd0, 0x3a, 0xed, 0x15, 0x79, 0x08, 0x1d, 0x79, 0x58, 0xbc, 0x82, 0xb8, 0x07, 0xe1, 0xe0, + 0x02, 0xba, 0x1b, 0x19, 0x30, 0xde, 0x77, 0x34, 0xdd, 0xb5, 0x6c, 0xea, 0xa4, 0xa5, 0xcb, 0x37, + 0x27, 0xeb, 0xc8, 0x03, 0xac, 0x23, 0x43, 0x29, 0x0d, 0xed, 0x4a, 0xd8, 0xc2, 0xbf, 0x42, 0x01, + 0xd1, 0xdf, 0x8c, 0xc0, 0xc9, 0xdd, 0xb6, 0xb5, 0xad, 0xb5, 0x55, 0x61, 0xe9, 0x33, 0xb9, 0x52, + 0x75, 0xad, 0xcb, 0xf2, 0xd4, 0xcb, 0xaf, 0x4e, 0xd6, 0xa1, 0x25, 0xd6, 0xa1, 0x91, 0xd4, 0x86, + 0x76, 0xea, 0x38, 0x03, 0x5f, 0x63, 0xde, 0x01, 0x03, 0xae, 0x68, 0x5d, 0xf4, 0x89, 0x08, 0x3c, + 0xe0, 0x0f, 0x6d, 0x48, 0xd7, 0xd2, 0xb4, 0x6b, 0xef, 0x9b, 0xac, 0x6b, 0x0f, 0xf5, 0xf3, 0x6a, + 0xc2, 0xde, 0x9d, 0xf4, 0x30, 0xfa, 0x3b, 0xb8, 0xf2, 0x2e, 0xa2, 0xa4, 0xee, 0xfe, 0xfe, 0x4f, + 0x9c, 0x3d, 0x15, 0x78, 0xcf, 0x7f, 0xdf, 0x0b, 0xb5, 0xb2, 0x95, 0x45, 0xdc, 0x12, 0xe4, 0xef, + 0xfd, 0xde, 0x1b, 0x0b, 0xeb, 0x00, 0x01, 0xaf, 0x33, 0x72, 0xb8, 0x37, 0xeb, 0xe3, 0x87, 0xbc, + 0xd9, 0x80, 0x66, 0x7c, 0x8f, 0xbf, 0xf5, 0x8a, 0x07, 0x7b, 0x87, 0xfc, 0xda, 0xc4, 0x72, 0xc5, + 0x32, 0x42, 0x24, 0x04, 0x12, 0x55, 0xb8, 0x53, 0xf2, 0xbf, 0x8a, 0xc0, 0xc9, 0x01, 0x25, 0xe2, + 0x75, 0x59, 0x07, 0x64, 0x07, 0x2a, 0xe9, 0x62, 0x14, 0x49, 0xfd, 0xf7, 0xa7, 0x93, 0x66, 0xec, + 0x81, 0xfd, 0xf7, 0xed, 0xb1, 0x21, 0x44, 0x98, 0x2a, 0x02, 0x73, 0xc1, 0x0e, 0x78, 0x43, 0x69, + 0x40, 0x36, 0xd8, 0x34, 0x1f, 0xc4, 0xbb, 0x26, 0x19, 0x44, 0xb0, 0xff, 0x21, 0x22, 0xe8, 0xa6, + 0xaf, 0xa8, 0x59, 0x8c, 0xf7, 0xe9, 0x89, 0x99, 0x22, 0x3a, 0x36, 0x54, 0x61, 0xb3, 0xb9, 0xf9, + 0x83, 0x08, 0xc4, 0x37, 0x2d, 0xab, 0x8d, 0x3e, 0x00, 0x33, 0xa6, 0xe5, 0xd2, 0xb5, 0x8e, 0x5b, + 0x2a, 0x0f, 0x42, 0xb1, 0x4d, 0xb0, 0x7a, 0x28, 0xaf, 0xbe, 0xf0, 0xe6, 0xe2, 0x20, 0xe6, 0xb0, + 0xdf, 0xfb, 0x28, 0x98, 0x96, 0x5b, 0xa6, 0x40, 0x4d, 0x16, 0xa7, 0xda, 0x81, 0x5c, 0xb8, 0x39, + 0xb6, 0x51, 0x96, 0xc6, 0x35, 0x97, 0x1b, 0xdb, 0x54, 0x76, 0x3b, 0xd0, 0x0e, 0x7b, 0x12, 0xfd, + 0x8f, 0xc8, 0xcc, 0xbd, 0x02, 0xd2, 0xcd, 0xfe, 0xcb, 0x62, 0x55, 0x98, 0x16, 0x97, 0xc3, 0x22, + 0x13, 0xde, 0x3b, 0x0b, 0xb2, 0x93, 0xe3, 0xca, 0xbf, 0x10, 0x81, 0x59, 0xda, 0x9e, 0xf1, 0x3a, + 0xa6, 0xc1, 0x08, 0x05, 0xeb, 0x96, 0xdd, 0x42, 0x79, 0x88, 0xf2, 0xb3, 0xb7, 0xb8, 0x12, 0x35, + 0x5a, 0x68, 0x19, 0x12, 0xd6, 0x1d, 0x93, 0xa7, 0x88, 0x1d, 0x66, 0x60, 0x30, 0x30, 0xba, 0xe3, + 0x59, 0xad, 0x5e, 0x1b, 0xab, 0x9a, 0xce, 0x8c, 0x1c, 0x16, 0x7f, 0xcd, 0xb1, 0xd2, 0x12, 0x2b, + 0x44, 0x17, 0x83, 0x57, 0x1d, 0xe2, 0x63, 0x48, 0xfb, 0xa0, 0x5c, 0xa2, 0xbf, 0x01, 0xe4, 0x4d, + 0xcc, 0x76, 0xd9, 0xe0, 0x10, 0x4a, 0x3d, 0x77, 0xcf, 0xb2, 0x8d, 0xd7, 0xa9, 0x44, 0xdd, 0x77, + 0x08, 0xe5, 0xec, 0xcf, 0x44, 0x00, 0xfc, 0x58, 0x27, 0x7a, 0x02, 0x4e, 0x94, 0xeb, 0x1b, 0xab, + 0x6a, 0xa3, 0x59, 0x6a, 0x6e, 0x35, 0xc2, 0x3f, 0x91, 0x24, 0x8e, 0xd7, 0x9c, 0x2e, 0xd6, 0x8d, + 0x1d, 0x03, 0xb7, 0xd0, 0x23, 0x30, 0x17, 0x86, 0x26, 0x5f, 0xd5, 0x55, 0x29, 0x52, 0xcc, 0xde, + 0xbd, 0xb7, 0x94, 0x62, 0x8e, 0x10, 0x6e, 0xa1, 0x33, 0x70, 0x6c, 0x10, 0xae, 0xb6, 0x71, 0x55, + 0x8a, 0x16, 0x73, 0x77, 0xef, 0x2d, 0xa5, 0x3d, 0x8f, 0x09, 0xc9, 0x80, 0x82, 0x90, 0x9c, 0x5e, + 0xac, 0x08, 0x77, 0xef, 0x2d, 0x25, 0x99, 0x80, 0x16, 0xe3, 0x1f, 0xfa, 0xa1, 0x85, 0xa9, 0xb3, + 0xef, 0x03, 0xa8, 0x99, 0x3b, 0xb6, 0xa6, 0xd3, 0x85, 0x58, 0x84, 0xe3, 0xb5, 0x8d, 0x2b, 0x4a, + 0xa9, 0xd2, 0xac, 0xd5, 0x37, 0xfa, 0x7e, 0xd9, 0x29, 0x5c, 0xb7, 0x5a, 0xdf, 0x2a, 0xaf, 0x55, + 0xd5, 0x46, 0xed, 0xea, 0x06, 0xbb, 0xd1, 0x10, 0xaa, 0x7b, 0xef, 0x46, 0xb3, 0xb6, 0x5e, 0x95, + 0xa2, 0x67, 0x7f, 0x21, 0x0a, 0x27, 0x42, 0xfc, 0x5e, 0xb3, 0xf4, 0x5b, 0x9c, 0x49, 0x65, 0x78, + 0xa4, 0x59, 0xbf, 0x51, 0xdd, 0xa8, 0xbd, 0x5a, 0x55, 0x1b, 0xd7, 0x4a, 0x4a, 0x55, 0xa5, 0x0f, + 0x0f, 0x0f, 0xe5, 0x19, 0x7d, 0x10, 0xb9, 0x8f, 0xc0, 0x86, 0xd1, 0x46, 0x5f, 0x07, 0xa7, 0x0f, + 0xa1, 0x41, 0xfe, 0xa6, 0x7c, 0x3c, 0x79, 0xf7, 0xde, 0xd2, 0xb1, 0x3e, 0x74, 0xf2, 0x17, 0x6e, + 0xa1, 0x55, 0x78, 0xe8, 0xd0, 0x5e, 0x70, 0x1a, 0xd1, 0xe2, 0xa9, 0xbb, 0xf7, 0x96, 0x4e, 0xf4, + 0xd1, 0xd8, 0x32, 0xdb, 0x8c, 0xca, 0x3a, 0x9c, 0x19, 0xd3, 0x0f, 0xb5, 0xfa, 0xf2, 0x66, 0x8d, + 0xfe, 0x18, 0x56, 0xac, 0xb8, 0x78, 0xf7, 0xde, 0xd2, 0xa9, 0x21, 0xdd, 0xa9, 0xee, 0x77, 0x0d, + 0x22, 0x59, 0x6c, 0x6e, 0xca, 0x57, 0x46, 0x1e, 0x6e, 0x3e, 0x71, 0xe8, 0x2f, 0xe3, 0xf8, 0x3b, + 0x69, 0xe8, 0x54, 0xf3, 0xff, 0x04, 0x00, 0x00, 0xff, 0xff, 0x0b, 0x18, 0x22, 0x26, 0x58, 0xa6, + 0x00, 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) From 48e96b4e7b278b9c7dccc47d06dbdf66cfa62988 Mon Sep 17 00:00:00 2001 From: Alexey Ostrovsky Date: Thu, 9 Oct 2025 12:56:57 +0300 Subject: [PATCH 08/13] fix: Add changelog entry for PR --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 17365b8a0543..d935f6379b0a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -365,6 +365,7 @@ Ref: https://keepachangelog.com/en/1.0.0/ * (signing) [#14087](https://github.com/cosmos/cosmos-sdk/pull/14087) Add SignModeHandlerWithContext interface with a new `GetSignBytesWithContext` to get the sign bytes using `context.Context` as an argument to access state. * (server) [#14062](https://github.com/cosmos/cosmos-sdk/pull/14062) Remove rosetta from server start. * (crypto) [#3129](https://github.com/cosmos/cosmos-sdk/pull/3129) New armor and keyring key derivation uses aead and encryption uses chacha20poly. +* (x/staking) [#2](https://github.com/TacBuild/cosmos-sdk/pull/2) TAC soft-fork. Changes in staking moudle for liquidstake integration. ### State Machine Breaking From fcb573b11c99cadc85da656baeb80fa03f98bd06 Mon Sep 17 00:00:00 2001 From: Alexey Ostrovsky Date: Thu, 9 Oct 2025 17:24:40 +0300 Subject: [PATCH 09/13] fix: adjust tests to changed gas usage in staking queries --- .../staking/keeper/determinstic_test.go | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/tests/integration/staking/keeper/determinstic_test.go b/tests/integration/staking/keeper/determinstic_test.go index c6c0f6377d37..6f30bd646efb 100644 --- a/tests/integration/staking/keeper/determinstic_test.go +++ b/tests/integration/staking/keeper/determinstic_test.go @@ -349,7 +349,7 @@ func TestGRPCValidator(t *testing.T) { ValidatorAddr: val.OperatorAddress, } - testdata.DeterministicIterations(f.ctx, t, req, f.queryClient.Validator, 1915, false) + testdata.DeterministicIterations(f.ctx, t, req, f.queryClient.Validator, 1933, false) } func TestGRPCValidators(t *testing.T) { @@ -375,7 +375,7 @@ func TestGRPCValidators(t *testing.T) { getStaticValidator(f, t) getStaticValidator2(f, t) - testdata.DeterministicIterations(f.ctx, t, &stakingtypes.QueryValidatorsRequest{}, f.queryClient.Validators, 2862, false) + testdata.DeterministicIterations(f.ctx, t, &stakingtypes.QueryValidatorsRequest{}, f.queryClient.Validators, 2916, false) } func TestGRPCValidatorDelegations(t *testing.T) { @@ -414,7 +414,7 @@ func TestGRPCValidatorDelegations(t *testing.T) { ValidatorAddr: validator.OperatorAddress, } - testdata.DeterministicIterations(f.ctx, t, req, f.queryClient.ValidatorDelegations, 14475, false) + testdata.DeterministicIterations(f.ctx, t, req, f.queryClient.ValidatorDelegations, 15105, false) } func TestGRPCValidatorUnbondingDelegations(t *testing.T) { @@ -494,7 +494,7 @@ func TestGRPCDelegation(t *testing.T) { DelegatorAddr: delegator1, } - testdata.DeterministicIterations(f.ctx, t, req, f.queryClient.Delegation, 4635, false) + testdata.DeterministicIterations(f.ctx, t, req, f.queryClient.Delegation, 4845, false) } func TestGRPCUnbondingDelegation(t *testing.T) { @@ -569,7 +569,7 @@ func TestGRPCDelegatorDelegations(t *testing.T) { DelegatorAddr: delegator1, } - testdata.DeterministicIterations(f.ctx, t, req, f.queryClient.DelegatorDelegations, 4238, false) + testdata.DeterministicIterations(f.ctx, t, req, f.queryClient.DelegatorDelegations, 4448, false) } func TestGRPCDelegatorValidator(t *testing.T) { @@ -603,7 +603,7 @@ func TestGRPCDelegatorValidator(t *testing.T) { ValidatorAddr: validator.OperatorAddress, } - testdata.DeterministicIterations(f.ctx, t, req, f.queryClient.DelegatorValidator, 3563, false) + testdata.DeterministicIterations(f.ctx, t, req, f.queryClient.DelegatorValidator, 3581, false) } func TestGRPCDelegatorUnbondingDelegations(t *testing.T) { @@ -701,7 +701,7 @@ func TestGRPCHistoricalInfo(t *testing.T) { Height: height, } - testdata.DeterministicIterations(f.ctx, t, req, f.queryClient.HistoricalInfo, 1945, false) + testdata.DeterministicIterations(f.ctx, t, req, f.queryClient.HistoricalInfo, 1963, false) } func TestGRPCDelegatorValidators(t *testing.T) { @@ -734,7 +734,7 @@ func TestGRPCDelegatorValidators(t *testing.T) { assert.NilError(t, err) req := &stakingtypes.QueryDelegatorValidatorsRequest{DelegatorAddr: delegator1} - testdata.DeterministicIterations(f.ctx, t, req, f.queryClient.DelegatorValidators, 3166, false) + testdata.DeterministicIterations(f.ctx, t, req, f.queryClient.DelegatorValidators, 3184, false) } func TestGRPCPool(t *testing.T) { @@ -749,7 +749,7 @@ func TestGRPCPool(t *testing.T) { f = initDeterministicFixture(t) // reset getStaticValidator(f, t) - testdata.DeterministicIterations(f.ctx, t, &stakingtypes.QueryPoolRequest{}, f.queryClient.Pool, 6242, false) + testdata.DeterministicIterations(f.ctx, t, &stakingtypes.QueryPoolRequest{}, f.queryClient.Pool, 6434, false) } func TestGRPCRedelegations(t *testing.T) { @@ -814,7 +814,7 @@ func TestGRPCRedelegations(t *testing.T) { DstValidatorAddr: validator2, } - testdata.DeterministicIterations(f.ctx, t, req, f.queryClient.Redelegations, 3920, false) + testdata.DeterministicIterations(f.ctx, t, req, f.queryClient.Redelegations, 3938, false) } func TestGRPCParams(t *testing.T) { @@ -849,5 +849,5 @@ func TestGRPCParams(t *testing.T) { err := f.stakingKeeper.SetParams(f.ctx, params) assert.NilError(t, err) - testdata.DeterministicIterations(f.ctx, t, &stakingtypes.QueryParamsRequest{}, f.queryClient.Params, 1114, false) + testdata.DeterministicIterations(f.ctx, t, &stakingtypes.QueryParamsRequest{}, f.queryClient.Params, 1141, false) } From 674a00bc7e345eaa75fde6fcd1c5b1ab5e5ef6a4 Mon Sep 17 00:00:00 2001 From: Alexey Ostrovsky Date: Fri, 10 Oct 2025 13:29:07 +0300 Subject: [PATCH 10/13] fix: api test diff with cosmossdk.io --- tests/integration/rapidgen/rapidgen.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/integration/rapidgen/rapidgen.go b/tests/integration/rapidgen/rapidgen.go index ec37e51dddcd..6ce6ad01f2b3 100644 --- a/tests/integration/rapidgen/rapidgen.go +++ b/tests/integration/rapidgen/rapidgen.go @@ -217,7 +217,8 @@ var ( GenType(&stakingtypes.MsgDelegate{}, &stakingapi.MsgDelegate{}, GenOpts.WithDisallowNil()), GenType(&stakingtypes.MsgUndelegate{}, &stakingapi.MsgUndelegate{}, GenOpts.WithDisallowNil()), GenType(&stakingtypes.MsgBeginRedelegate{}, &stakingapi.MsgBeginRedelegate{}, GenOpts.WithDisallowNil()), - GenType(&stakingtypes.MsgUpdateParams{}, &stakingapi.MsgUpdateParams{}, GenOpts.WithDisallowNil()), + //We have new fields compare to origin API which is expected + //GenType(&stakingtypes.MsgUpdateParams{}, &stakingapi.MsgUpdateParams{}, GenOpts.WithDisallowNil()), // upgrade GenType(&upgradetypes.MsgSoftwareUpgrade{}, &upgradeapi.MsgSoftwareUpgrade{}, GenOpts.WithDisallowNil()), From e16d27b26ac77ee8f2ce10d00282eab83afc4c2f Mon Sep 17 00:00:00 2001 From: Alexey Ostrovsky Date: Fri, 10 Oct 2025 14:47:17 +0300 Subject: [PATCH 11/13] fix: linter issues --- x/distribution/keeper/hooks.go | 4 ++-- x/group/keeper/msg_server_priv_test.go | 10 +++++----- x/staking/keeper/liquid_stake.go | 2 +- x/staking/keeper/msg_server.go | 4 ++-- x/staking/keeper/params.go | 21 ++++++++++++--------- x/staking/keeper/tokenize_share_record.go | 2 +- x/staking/types/events.go | 2 +- x/staking/types/expected_keepers.go | 2 +- x/staking/types/hooks.go | 4 ++-- x/staking/types/tokenize_share_record.go | 5 ++--- 10 files changed, 29 insertions(+), 27 deletions(-) diff --git a/x/distribution/keeper/hooks.go b/x/distribution/keeper/hooks.go index cf8cf296cf05..c33764f24135 100644 --- a/x/distribution/keeper/hooks.go +++ b/x/distribution/keeper/hooks.go @@ -181,8 +181,8 @@ func (h Hooks) AfterUnbondingInitiated(_ context.Context, _ uint64) error { return nil } -func (h Hooks) BeforeTokenizeShareRecordRemoved(ctx sdk.Context, recordId uint64) error { - err := h.k.WithdrawSingleShareRecordReward(ctx, recordId) +func (h Hooks) BeforeTokenizeShareRecordRemoved(ctx sdk.Context, recordID uint64) error { + err := h.k.WithdrawSingleShareRecordReward(ctx, recordID) if err != nil { h.k.Logger(ctx).Error(err.Error()) } diff --git a/x/group/keeper/msg_server_priv_test.go b/x/group/keeper/msg_server_priv_test.go index dd5c3e94644c..2358e6b36731 100644 --- a/x/group/keeper/msg_server_priv_test.go +++ b/x/group/keeper/msg_server_priv_test.go @@ -118,11 +118,11 @@ func TestDoTallyAndUpdate(t *testing.T) { } var ( groupID uint64 - proposalId uint64 + proposalID uint64 ) for name, spec := range specs { groupID++ - proposalId++ + proposalID++ t.Run(name, func(t *testing.T) { em := sdk.NewEventManager() ctx := testCtx.Ctx.WithEventManager(em) @@ -136,7 +136,7 @@ func TestDoTallyAndUpdate(t *testing.T) { }) require.NoError(t, err) err = groupKeeper.voteTable.Create(ctx.KVStore(storeKey), &group.Vote{ - ProposalId: proposalId, + ProposalId: proposalID, Voter: v.address, Option: v.option, }) @@ -150,7 +150,7 @@ func TestDoTallyAndUpdate(t *testing.T) { require.NoError(t, err) myProposal := &group.Proposal{ - Id: proposalId, + Id: proposalID, Status: group.PROPOSAL_STATUS_SUBMITTED, VotingPeriodEnd: ctx.BlockTime().Add(time.Hour), } @@ -160,7 +160,7 @@ func TestDoTallyAndUpdate(t *testing.T) { // then require.NoError(t, gotErr) assert.Equal(t, spec.expStatus, myProposal.Status) - require.Equal(t, spec.expEvents(proposalId), em.Events()) + require.Equal(t, spec.expEvents(proposalID), em.Events()) // and persistent state updated persistedVotes, err := groupKeeper.votesByProposal(ctx, groupID) require.NoError(t, err) diff --git a/x/staking/keeper/liquid_stake.go b/x/staking/keeper/liquid_stake.go index 6c554b6bcc2c..1068a29971c0 100644 --- a/x/staking/keeper/liquid_stake.go +++ b/x/staking/keeper/liquid_stake.go @@ -437,7 +437,7 @@ func (k Keeper) RefreshTotalLiquidStaked(ctx sdk.Context) error { // Sum up the total liquid tokens and increment each validator's liquid shares totalLiquidStakedTokens := sdk.ZeroInt() - allDelegations, err := k.GetAllDelegations(ctx) + allDelegations, _ := k.GetAllDelegations(ctx) for _, delegation := range allDelegations { delegatorAddress, err := sdk.AccAddressFromBech32(delegation.DelegatorAddress) if err != nil { diff --git a/x/staking/keeper/msg_server.go b/x/staking/keeper/msg_server.go index 59fd072593dc..108407dd5047 100644 --- a/x/staking/keeper/msg_server.go +++ b/x/staking/keeper/msg_server.go @@ -819,7 +819,7 @@ func (k msgServer) TokenizeShares(goCtx context.Context, msg *types.MsgTokenizeS sdk.NewAttribute(types.AttributeKeyDelegator, msg.DelegatorAddress), sdk.NewAttribute(types.AttributeKeyValidator, msg.ValidatorAddress), sdk.NewAttribute(types.AttributeKeyShareOwner, msg.TokenizedShareOwner), - sdk.NewAttribute(types.AttributeKeyShareRecordId, fmt.Sprintf("%d", record.Id)), + sdk.NewAttribute(types.AttributeKeyShareRecordID, fmt.Sprintf("%d", record.Id)), sdk.NewAttribute(types.AttributeKeyAmount, msg.Amount.String()), sdk.NewAttribute(types.AttributeKeyTokenizedShares, shareToken.String()), ), @@ -996,7 +996,7 @@ func (k msgServer) TransferTokenizeShareRecord(goCtx context.Context, msg *types ctx.EventManager().EmitEvent( sdk.NewEvent( types.EventTypeTransferTokenizeShareRecord, - sdk.NewAttribute(types.AttributeKeyShareRecordId, fmt.Sprintf("%d", msg.TokenizeShareRecordId)), + sdk.NewAttribute(types.AttributeKeyShareRecordID, fmt.Sprintf("%d", msg.TokenizeShareRecordId)), sdk.NewAttribute(sdk.AttributeKeySender, msg.Sender), sdk.NewAttribute(types.AttributeKeyShareOwner, msg.NewOwner), ), diff --git a/x/staking/keeper/params.go b/x/staking/keeper/params.go index 40deec7e746c..f28f935da1b4 100644 --- a/x/staking/keeper/params.go +++ b/x/staking/keeper/params.go @@ -87,31 +87,34 @@ func (k Keeper) GetParams(ctx context.Context) (params types.Params, err error) // // Since: cosmos-sdk 0.47-lsm func (k Keeper) ValidatorBondFactor(ctx context.Context) (res sdk.Dec, err error) { - if params, err := k.GetParams(ctx); err != nil { + params, err := k.GetParams(ctx) + if err != nil { return sdk.Dec{}, err - } else { - return params.ValidatorBondFactor, nil } + + return params.ValidatorBondFactor, nil } // Global liquid staking cap across all liquid staking providers // // Since: cosmos-sdk 0.47-lsm func (k Keeper) GlobalLiquidStakingCap(ctx sdk.Context) (res sdk.Dec, err error) { - if params, err := k.GetParams(ctx); err != nil { + params, err := k.GetParams(ctx) + if err != nil { return sdk.Dec{}, err - } else { - return params.GlobalLiquidStakingCap, nil } + + return params.GlobalLiquidStakingCap, nil } // Liquid staking cap for each validator // // Since: cosmos-sdk 0.47-lsm func (k Keeper) ValidatorLiquidStakingCap(ctx sdk.Context) (res sdk.Dec, err error) { - if params, err := k.GetParams(ctx); err != nil { + params, err := k.GetParams(ctx) + if err != nil { return sdk.Dec{}, err - } else { - return params.ValidatorLiquidStakingCap, nil } + + return params.ValidatorLiquidStakingCap, nil } diff --git a/x/staking/keeper/tokenize_share_record.go b/x/staking/keeper/tokenize_share_record.go index a93c4aa48a8f..28fc5ac526bd 100644 --- a/x/staking/keeper/tokenize_share_record.go +++ b/x/staking/keeper/tokenize_share_record.go @@ -32,7 +32,7 @@ func (k Keeper) SetLastTokenizeShareRecordID(ctx sdk.Context, id uint64) { func (k Keeper) GetTokenizeShareRecord(ctx context.Context, id uint64) (tokenizeShareRecord types.TokenizeShareRecord, err error) { store := k.storeService.OpenKVStore(ctx) - bz, err := store.Get(types.GetTokenizeShareRecordByIndexKey(id)) + bz, _ := store.Get(types.GetTokenizeShareRecordByIndexKey(id)) if bz == nil { return tokenizeShareRecord, types.ErrTokenizeShareRecordNotExists.Wrapf("tokenizeShareRecord %d does not exist", id) } diff --git a/x/staking/types/events.go b/x/staking/types/events.go index 153d373faaa7..f62ca02a803d 100644 --- a/x/staking/types/events.go +++ b/x/staking/types/events.go @@ -27,7 +27,7 @@ const ( AttributeKeyNewShares = "new_shares" AttributeKeyShareOwner = "share_owner" - AttributeKeyShareRecordId = "share_record_id" + AttributeKeyShareRecordID = "share_record_id" AttributeKeyAmount = "amount" AttributeKeyTokenizedShares = "tokenized_shares" ) diff --git a/x/staking/types/expected_keepers.go b/x/staking/types/expected_keepers.go index 553a3264d22c..1f0f6a640ace 100644 --- a/x/staking/types/expected_keepers.go +++ b/x/staking/types/expected_keepers.go @@ -114,7 +114,7 @@ type StakingHooks interface { BeforeValidatorSlashed(ctx context.Context, valAddr sdk.ValAddress, fraction math.LegacyDec) error AfterUnbondingInitiated(ctx context.Context, id uint64) error - BeforeTokenizeShareRecordRemoved(ctx sdk.Context, recordId uint64) error // Must be called when tokenize share record is deleted + BeforeTokenizeShareRecordRemoved(ctx sdk.Context, recordID uint64) error // Must be called when tokenize share record is deleted } // StakingHooksWrapper is a wrapper for modules to inject StakingHooks using depinject. diff --git a/x/staking/types/hooks.go b/x/staking/types/hooks.go index 1d04bb737b5a..e8db5257e296 100644 --- a/x/staking/types/hooks.go +++ b/x/staking/types/hooks.go @@ -117,9 +117,9 @@ func (h MultiStakingHooks) AfterUnbondingInitiated(ctx context.Context, id uint6 return nil } -func (h MultiStakingHooks) BeforeTokenizeShareRecordRemoved(ctx sdk.Context, recordId uint64) error { +func (h MultiStakingHooks) BeforeTokenizeShareRecordRemoved(ctx sdk.Context, recordID uint64) error { for i := range h { - if err := h[i].BeforeTokenizeShareRecordRemoved(ctx, recordId); err != nil { + if err := h[i].BeforeTokenizeShareRecordRemoved(ctx, recordID); err != nil { return err } } diff --git a/x/staking/types/tokenize_share_record.go b/x/staking/types/tokenize_share_record.go index 851118cde9c4..702c823f9f20 100644 --- a/x/staking/types/tokenize_share_record.go +++ b/x/staking/types/tokenize_share_record.go @@ -37,15 +37,14 @@ func ParseShareTokenDenom(denom string) (TokenizeShareRecord, error) { return record, err } - recordId, err := strconv.ParseUint(denomParts[1], 10, 64) + recordID, err := strconv.ParseUint(denomParts[1], 10, 64) if err != nil { err = errors.Wrap(err, "failed to parse recordId part") return record, err } - record.Id = uint64(recordId) record.Validator = valAddress.String() - record.ModuleAccount = fmt.Sprintf("%s%d", TokenizeShareModuleAccountPrefix, recordId) + record.ModuleAccount = fmt.Sprintf("%s%d", TokenizeShareModuleAccountPrefix, recordID) return record, nil } From d4efac628c5a6c2a1b10e39012ee5c894976a38f Mon Sep 17 00:00:00 2001 From: Alexey Ostrovsky Date: Fri, 10 Oct 2025 15:11:23 +0300 Subject: [PATCH 12/13] fix: comment lint issue --- tests/integration/rapidgen/rapidgen.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/integration/rapidgen/rapidgen.go b/tests/integration/rapidgen/rapidgen.go index 6ce6ad01f2b3..ffa093c2c6c4 100644 --- a/tests/integration/rapidgen/rapidgen.go +++ b/tests/integration/rapidgen/rapidgen.go @@ -217,8 +217,8 @@ var ( GenType(&stakingtypes.MsgDelegate{}, &stakingapi.MsgDelegate{}, GenOpts.WithDisallowNil()), GenType(&stakingtypes.MsgUndelegate{}, &stakingapi.MsgUndelegate{}, GenOpts.WithDisallowNil()), GenType(&stakingtypes.MsgBeginRedelegate{}, &stakingapi.MsgBeginRedelegate{}, GenOpts.WithDisallowNil()), - //We have new fields compare to origin API which is expected - //GenType(&stakingtypes.MsgUpdateParams{}, &stakingapi.MsgUpdateParams{}, GenOpts.WithDisallowNil()), + // We have new fields compare to origin API which is expected + // GenType(&stakingtypes.MsgUpdateParams{}, &stakingapi.MsgUpdateParams{}, GenOpts.WithDisallowNil()), // upgrade GenType(&upgradetypes.MsgSoftwareUpgrade{}, &upgradeapi.MsgSoftwareUpgrade{}, GenOpts.WithDisallowNil()), From 2e393bc3d3046efdc95d1f57513cdbcc7fafbc58 Mon Sep 17 00:00:00 2001 From: Alexey Ostrovsky Date: Fri, 10 Oct 2025 15:40:39 +0300 Subject: [PATCH 13/13] fix: lint gci and gofumpt --- x/distribution/types/expected_keepers.go | 2 +- x/staking/keeper/grpc_query.go | 2 +- x/staking/keeper/liquid_stake.go | 1 + x/staking/keeper/tokenize_share_record.go | 1 + x/staking/types/expected_keepers.go | 2 +- x/staking/types/tokenize_share_record.go | 3 ++- 6 files changed, 7 insertions(+), 4 deletions(-) diff --git a/x/distribution/types/expected_keepers.go b/x/distribution/types/expected_keepers.go index 4e1e4d5240d1..36410b7a6c2f 100644 --- a/x/distribution/types/expected_keepers.go +++ b/x/distribution/types/expected_keepers.go @@ -28,7 +28,7 @@ type BankKeeper interface { SendCoinsFromModuleToModule(ctx context.Context, senderModule, recipientModule string, amt sdk.Coins) error SendCoinsFromModuleToAccount(ctx context.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins) error SendCoinsFromAccountToModule(ctx context.Context, senderAddr sdk.AccAddress, recipientModule string, amt sdk.Coins) error - SendCoins(ctx context.Context, fromAddr sdk.AccAddress, toAddr sdk.AccAddress, amt sdk.Coins) error + SendCoins(ctx context.Context, fromAddr, toAddr sdk.AccAddress, amt sdk.Coins) error BlockedAddr(addr sdk.AccAddress) bool } diff --git a/x/staking/keeper/grpc_query.go b/x/staking/keeper/grpc_query.go index dcb21523859a..2d9bf3065d2d 100644 --- a/x/staking/keeper/grpc_query.go +++ b/x/staking/keeper/grpc_query.go @@ -722,7 +722,7 @@ func (k Querier) AllTokenizeShareRecords(c context.Context, req *types.QueryAllT store := k.storeService.OpenKVStore(ctx) valStore := prefix.NewStore(runtime.KVStoreAdapter(store), types.TokenizeShareRecordPrefix) - pageRes, err := query.FilteredPaginate(valStore, req.Pagination, func(key []byte, value []byte, accumulate bool) (bool, error) { + pageRes, err := query.FilteredPaginate(valStore, req.Pagination, func(key, value []byte, accumulate bool) (bool, error) { var tokenizeShareRecord types.TokenizeShareRecord if err := k.cdc.Unmarshal(value, &tokenizeShareRecord); err != nil { return false, err diff --git a/x/staking/keeper/liquid_stake.go b/x/staking/keeper/liquid_stake.go index 1068a29971c0..d9c3551171dc 100644 --- a/x/staking/keeper/liquid_stake.go +++ b/x/staking/keeper/liquid_stake.go @@ -5,6 +5,7 @@ import ( "cosmossdk.io/math" storetypes "cosmossdk.io/store/types" + "github.com/cosmos/cosmos-sdk/runtime" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/x/staking/types" diff --git a/x/staking/keeper/tokenize_share_record.go b/x/staking/keeper/tokenize_share_record.go index 28fc5ac526bd..cb8292a28a64 100644 --- a/x/staking/keeper/tokenize_share_record.go +++ b/x/staking/keeper/tokenize_share_record.go @@ -7,6 +7,7 @@ import ( gogotypes "github.com/gogo/protobuf/types" storetypes "cosmossdk.io/store/types" + "github.com/cosmos/cosmos-sdk/runtime" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/x/staking/types" diff --git a/x/staking/types/expected_keepers.go b/x/staking/types/expected_keepers.go index 1f0f6a640ace..07ea292670e7 100644 --- a/x/staking/types/expected_keepers.go +++ b/x/staking/types/expected_keepers.go @@ -34,7 +34,7 @@ type BankKeeper interface { GetSupply(ctx context.Context, denom string) sdk.Coin - SendCoins(ctx context.Context, fromAddr sdk.AccAddress, toAddr sdk.AccAddress, amt sdk.Coins) error + SendCoins(ctx context.Context, fromAddr, toAddr sdk.AccAddress, amt sdk.Coins) error SendCoinsFromModuleToModule(ctx context.Context, senderPool, recipientPool string, amt sdk.Coins) error SendCoinsFromAccountToModule(ctx context.Context, senderAddr sdk.AccAddress, recipientModule string, amt sdk.Coins) error SendCoinsFromModuleToAccount(ctx context.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins) error diff --git a/x/staking/types/tokenize_share_record.go b/x/staking/types/tokenize_share_record.go index 702c823f9f20..ac1a852f050e 100644 --- a/x/staking/types/tokenize_share_record.go +++ b/x/staking/types/tokenize_share_record.go @@ -5,9 +5,10 @@ import ( "strconv" "strings" + "github.com/pkg/errors" + sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/address" - "github.com/pkg/errors" ) func (r TokenizeShareRecord) GetModuleAddress() sdk.AccAddress {