diff --git a/coordinator/coordinatorclient/coordinatorclient.go b/coordinator/coordinatorclient/coordinatorclient.go index b9b9056b..5ff7e25d 100644 --- a/coordinator/coordinatorclient/coordinatorclient.go +++ b/coordinator/coordinatorclient/coordinatorclient.go @@ -34,7 +34,7 @@ type CoordinatorClient interface { SpaceDelete(ctx context.Context, spaceId string, conf *coordinatorproto.DeletionConfirmPayloadWithSignature) (err error) AccountDelete(ctx context.Context, conf *coordinatorproto.DeletionConfirmPayloadWithSignature) (timestamp int64, err error) AccountRevertDeletion(ctx context.Context) (err error) - StatusCheckMany(ctx context.Context, spaceIds []string) (statuses []*coordinatorproto.SpaceStatusPayload, err error) + StatusCheckMany(ctx context.Context, spaceIds []string) (statuses []*coordinatorproto.SpaceStatusPayload, limits *coordinatorproto.AccountLimits, err error) StatusCheck(ctx context.Context, spaceId string) (status *coordinatorproto.SpaceStatusPayload, err error) SpaceSign(ctx context.Context, payload SpaceSignPayload) (receipt *coordinatorproto.SpaceReceiptWithSignature, err error) SpaceMakeShareable(ctx context.Context, spaceId string) (err error) @@ -149,7 +149,11 @@ func (c *coordinatorClient) DeletionLog(ctx context.Context, lastRecordId string return } -func (c *coordinatorClient) StatusCheckMany(ctx context.Context, spaceIds []string) (statuses []*coordinatorproto.SpaceStatusPayload, err error) { +func (c *coordinatorClient) StatusCheckMany(ctx context.Context, spaceIds []string) ( + statuses []*coordinatorproto.SpaceStatusPayload, + limits *coordinatorproto.AccountLimits, + err error, +) { err = c.doClient(ctx, func(cl coordinatorproto.DRPCCoordinatorClient) error { resp, err := cl.SpaceStatusCheckMany(ctx, &coordinatorproto.SpaceStatusCheckManyRequest{ SpaceIds: spaceIds, @@ -158,6 +162,7 @@ func (c *coordinatorClient) StatusCheckMany(ctx context.Context, spaceIds []stri return rpcerr.Unwrap(err) } statuses = resp.Payloads + limits = resp.AccountLimits return nil }) return diff --git a/coordinator/coordinatorproto/coordinator.pb.go b/coordinator/coordinatorproto/coordinator.pb.go index 1ac60600..9fa444f1 100644 --- a/coordinator/coordinatorproto/coordinator.pb.go +++ b/coordinator/coordinatorproto/coordinator.pb.go @@ -767,7 +767,8 @@ func (m *SpaceStatusCheckManyRequest) GetSpaceIds() []string { // SpaceStatusCheckManyResponse contains the current statuses of spaces type SpaceStatusCheckManyResponse struct { - Payloads []*SpaceStatusPayload `protobuf:"bytes,1,rep,name=payloads,proto3" json:"payloads,omitempty"` + Payloads []*SpaceStatusPayload `protobuf:"bytes,1,rep,name=payloads,proto3" json:"payloads,omitempty"` + AccountLimits *AccountLimits `protobuf:"bytes,2,opt,name=accountLimits,proto3" json:"accountLimits,omitempty"` } func (m *SpaceStatusCheckManyResponse) Reset() { *m = SpaceStatusCheckManyResponse{} } @@ -810,6 +811,58 @@ func (m *SpaceStatusCheckManyResponse) GetPayloads() []*SpaceStatusPayload { return nil } +func (m *SpaceStatusCheckManyResponse) GetAccountLimits() *AccountLimits { + if m != nil { + return m.AccountLimits + } + return nil +} + +// AccountLimits describes account level limit +type AccountLimits struct { + SharedSpacesLimit uint32 `protobuf:"varint,1,opt,name=sharedSpacesLimit,proto3" json:"sharedSpacesLimit,omitempty"` +} + +func (m *AccountLimits) Reset() { *m = AccountLimits{} } +func (m *AccountLimits) String() string { return proto.CompactTextString(m) } +func (*AccountLimits) ProtoMessage() {} +func (*AccountLimits) Descriptor() ([]byte, []int) { + return fileDescriptor_d94f6f99586adae2, []int{10} +} +func (m *AccountLimits) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *AccountLimits) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_AccountLimits.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 *AccountLimits) XXX_Merge(src proto.Message) { + xxx_messageInfo_AccountLimits.Merge(m, src) +} +func (m *AccountLimits) XXX_Size() int { + return m.Size() +} +func (m *AccountLimits) XXX_DiscardUnknown() { + xxx_messageInfo_AccountLimits.DiscardUnknown(m) +} + +var xxx_messageInfo_AccountLimits proto.InternalMessageInfo + +func (m *AccountLimits) GetSharedSpacesLimit() uint32 { + if m != nil { + return m.SharedSpacesLimit + } + return 0 +} + // SpaceStatusChangeRequest contains the deletionChange if we want to delete space, or it is empty otherwise type SpaceStatusChangeRequest struct { SpaceId string `protobuf:"bytes,1,opt,name=spaceId,proto3" json:"spaceId,omitempty"` @@ -822,7 +875,7 @@ func (m *SpaceStatusChangeRequest) Reset() { *m = SpaceStatusChangeReque func (m *SpaceStatusChangeRequest) String() string { return proto.CompactTextString(m) } func (*SpaceStatusChangeRequest) ProtoMessage() {} func (*SpaceStatusChangeRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_d94f6f99586adae2, []int{10} + return fileDescriptor_d94f6f99586adae2, []int{11} } func (m *SpaceStatusChangeRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -888,7 +941,7 @@ func (m *SpaceStatusChangeResponse) Reset() { *m = SpaceStatusChangeResp func (m *SpaceStatusChangeResponse) String() string { return proto.CompactTextString(m) } func (*SpaceStatusChangeResponse) ProtoMessage() {} func (*SpaceStatusChangeResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_d94f6f99586adae2, []int{11} + return fileDescriptor_d94f6f99586adae2, []int{12} } func (m *SpaceStatusChangeResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -932,7 +985,7 @@ func (m *SpaceMakeShareableRequest) Reset() { *m = SpaceMakeShareableReq func (m *SpaceMakeShareableRequest) String() string { return proto.CompactTextString(m) } func (*SpaceMakeShareableRequest) ProtoMessage() {} func (*SpaceMakeShareableRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_d94f6f99586adae2, []int{12} + return fileDescriptor_d94f6f99586adae2, []int{13} } func (m *SpaceMakeShareableRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -975,7 +1028,7 @@ func (m *SpaceMakeShareableResponse) Reset() { *m = SpaceMakeShareableRe func (m *SpaceMakeShareableResponse) String() string { return proto.CompactTextString(m) } func (*SpaceMakeShareableResponse) ProtoMessage() {} func (*SpaceMakeShareableResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_d94f6f99586adae2, []int{13} + return fileDescriptor_d94f6f99586adae2, []int{14} } func (m *SpaceMakeShareableResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1013,7 +1066,7 @@ func (m *SpaceMakeUnshareableRequest) Reset() { *m = SpaceMakeUnshareabl func (m *SpaceMakeUnshareableRequest) String() string { return proto.CompactTextString(m) } func (*SpaceMakeUnshareableRequest) ProtoMessage() {} func (*SpaceMakeUnshareableRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_d94f6f99586adae2, []int{14} + return fileDescriptor_d94f6f99586adae2, []int{15} } func (m *SpaceMakeUnshareableRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1063,7 +1116,7 @@ func (m *SpaceMakeUnshareableResponse) Reset() { *m = SpaceMakeUnshareab func (m *SpaceMakeUnshareableResponse) String() string { return proto.CompactTextString(m) } func (*SpaceMakeUnshareableResponse) ProtoMessage() {} func (*SpaceMakeUnshareableResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_d94f6f99586adae2, []int{15} + return fileDescriptor_d94f6f99586adae2, []int{16} } func (m *SpaceMakeUnshareableResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1103,7 +1156,7 @@ func (m *NetworkConfigurationRequest) Reset() { *m = NetworkConfiguratio func (m *NetworkConfigurationRequest) String() string { return proto.CompactTextString(m) } func (*NetworkConfigurationRequest) ProtoMessage() {} func (*NetworkConfigurationRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_d94f6f99586adae2, []int{16} + return fileDescriptor_d94f6f99586adae2, []int{17} } func (m *NetworkConfigurationRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1155,7 +1208,7 @@ func (m *NetworkConfigurationResponse) Reset() { *m = NetworkConfigurati func (m *NetworkConfigurationResponse) String() string { return proto.CompactTextString(m) } func (*NetworkConfigurationResponse) ProtoMessage() {} func (*NetworkConfigurationResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_d94f6f99586adae2, []int{17} + return fileDescriptor_d94f6f99586adae2, []int{18} } func (m *NetworkConfigurationResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1226,7 +1279,7 @@ func (m *Node) Reset() { *m = Node{} } func (m *Node) String() string { return proto.CompactTextString(m) } func (*Node) ProtoMessage() {} func (*Node) Descriptor() ([]byte, []int) { - return fileDescriptor_d94f6f99586adae2, []int{18} + return fileDescriptor_d94f6f99586adae2, []int{19} } func (m *Node) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1286,7 +1339,7 @@ func (m *DeletionConfirmPayloadWithSignature) Reset() { *m = DeletionCon func (m *DeletionConfirmPayloadWithSignature) String() string { return proto.CompactTextString(m) } func (*DeletionConfirmPayloadWithSignature) ProtoMessage() {} func (*DeletionConfirmPayloadWithSignature) Descriptor() ([]byte, []int) { - return fileDescriptor_d94f6f99586adae2, []int{19} + return fileDescriptor_d94f6f99586adae2, []int{20} } func (m *DeletionConfirmPayloadWithSignature) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1347,7 +1400,7 @@ func (m *DeletionConfirmPayload) Reset() { *m = DeletionConfirmPayload{} func (m *DeletionConfirmPayload) String() string { return proto.CompactTextString(m) } func (*DeletionConfirmPayload) ProtoMessage() {} func (*DeletionConfirmPayload) Descriptor() ([]byte, []int) { - return fileDescriptor_d94f6f99586adae2, []int{20} + return fileDescriptor_d94f6f99586adae2, []int{21} } func (m *DeletionConfirmPayload) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1422,7 +1475,7 @@ func (m *DeletionLogRequest) Reset() { *m = DeletionLogRequest{} } func (m *DeletionLogRequest) String() string { return proto.CompactTextString(m) } func (*DeletionLogRequest) ProtoMessage() {} func (*DeletionLogRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_d94f6f99586adae2, []int{21} + return fileDescriptor_d94f6f99586adae2, []int{22} } func (m *DeletionLogRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1476,7 +1529,7 @@ func (m *DeletionLogResponse) Reset() { *m = DeletionLogResponse{} } func (m *DeletionLogResponse) String() string { return proto.CompactTextString(m) } func (*DeletionLogResponse) ProtoMessage() {} func (*DeletionLogResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_d94f6f99586adae2, []int{22} + return fileDescriptor_d94f6f99586adae2, []int{23} } func (m *DeletionLogResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1536,7 +1589,7 @@ func (m *DeletionLogRecord) Reset() { *m = DeletionLogRecord{} } func (m *DeletionLogRecord) String() string { return proto.CompactTextString(m) } func (*DeletionLogRecord) ProtoMessage() {} func (*DeletionLogRecord) Descriptor() ([]byte, []int) { - return fileDescriptor_d94f6f99586adae2, []int{23} + return fileDescriptor_d94f6f99586adae2, []int{24} } func (m *DeletionLogRecord) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1612,7 +1665,7 @@ func (m *SpaceDeleteRequest) Reset() { *m = SpaceDeleteRequest{} } func (m *SpaceDeleteRequest) String() string { return proto.CompactTextString(m) } func (*SpaceDeleteRequest) ProtoMessage() {} func (*SpaceDeleteRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_d94f6f99586adae2, []int{24} + return fileDescriptor_d94f6f99586adae2, []int{25} } func (m *SpaceDeleteRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1678,7 +1731,7 @@ func (m *SpaceDeleteResponse) Reset() { *m = SpaceDeleteResponse{} } func (m *SpaceDeleteResponse) String() string { return proto.CompactTextString(m) } func (*SpaceDeleteResponse) ProtoMessage() {} func (*SpaceDeleteResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_d94f6f99586adae2, []int{25} + return fileDescriptor_d94f6f99586adae2, []int{26} } func (m *SpaceDeleteResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1724,7 +1777,7 @@ func (m *AccountDeleteRequest) Reset() { *m = AccountDeleteRequest{} } func (m *AccountDeleteRequest) String() string { return proto.CompactTextString(m) } func (*AccountDeleteRequest) ProtoMessage() {} func (*AccountDeleteRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_d94f6f99586adae2, []int{26} + return fileDescriptor_d94f6f99586adae2, []int{27} } func (m *AccountDeleteRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1783,7 +1836,7 @@ func (m *AccountDeletionConfirmPayload) Reset() { *m = AccountDeletionCo func (m *AccountDeletionConfirmPayload) String() string { return proto.CompactTextString(m) } func (*AccountDeletionConfirmPayload) ProtoMessage() {} func (*AccountDeletionConfirmPayload) Descriptor() ([]byte, []int) { - return fileDescriptor_d94f6f99586adae2, []int{27} + return fileDescriptor_d94f6f99586adae2, []int{28} } func (m *AccountDeletionConfirmPayload) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1849,7 +1902,7 @@ func (m *AccountDeleteResponse) Reset() { *m = AccountDeleteResponse{} } func (m *AccountDeleteResponse) String() string { return proto.CompactTextString(m) } func (*AccountDeleteResponse) ProtoMessage() {} func (*AccountDeleteResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_d94f6f99586adae2, []int{28} + return fileDescriptor_d94f6f99586adae2, []int{29} } func (m *AccountDeleteResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1893,7 +1946,7 @@ func (m *AccountRevertDeletionRequest) Reset() { *m = AccountRevertDelet func (m *AccountRevertDeletionRequest) String() string { return proto.CompactTextString(m) } func (*AccountRevertDeletionRequest) ProtoMessage() {} func (*AccountRevertDeletionRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_d94f6f99586adae2, []int{29} + return fileDescriptor_d94f6f99586adae2, []int{30} } func (m *AccountRevertDeletionRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1930,7 +1983,7 @@ func (m *AccountRevertDeletionResponse) Reset() { *m = AccountRevertDele func (m *AccountRevertDeletionResponse) String() string { return proto.CompactTextString(m) } func (*AccountRevertDeletionResponse) ProtoMessage() {} func (*AccountRevertDeletionResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_d94f6f99586adae2, []int{30} + return fileDescriptor_d94f6f99586adae2, []int{31} } func (m *AccountRevertDeletionResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1969,7 +2022,7 @@ func (m *AclAddRecordRequest) Reset() { *m = AclAddRecordRequest{} } func (m *AclAddRecordRequest) String() string { return proto.CompactTextString(m) } func (*AclAddRecordRequest) ProtoMessage() {} func (*AclAddRecordRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_d94f6f99586adae2, []int{31} + return fileDescriptor_d94f6f99586adae2, []int{32} } func (m *AclAddRecordRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2022,7 +2075,7 @@ func (m *AclAddRecordResponse) Reset() { *m = AclAddRecordResponse{} } func (m *AclAddRecordResponse) String() string { return proto.CompactTextString(m) } func (*AclAddRecordResponse) ProtoMessage() {} func (*AclAddRecordResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_d94f6f99586adae2, []int{32} + return fileDescriptor_d94f6f99586adae2, []int{33} } func (m *AclAddRecordResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2076,7 +2129,7 @@ func (m *AclGetRecordsRequest) Reset() { *m = AclGetRecordsRequest{} } func (m *AclGetRecordsRequest) String() string { return proto.CompactTextString(m) } func (*AclGetRecordsRequest) ProtoMessage() {} func (*AclGetRecordsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_d94f6f99586adae2, []int{33} + return fileDescriptor_d94f6f99586adae2, []int{34} } func (m *AclGetRecordsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2128,7 +2181,7 @@ func (m *AclGetRecordsResponse) Reset() { *m = AclGetRecordsResponse{} } func (m *AclGetRecordsResponse) String() string { return proto.CompactTextString(m) } func (*AclGetRecordsResponse) ProtoMessage() {} func (*AclGetRecordsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_d94f6f99586adae2, []int{34} + return fileDescriptor_d94f6f99586adae2, []int{35} } func (m *AclGetRecordsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2177,7 +2230,7 @@ func (m *AccountLimitsSetRequest) Reset() { *m = AccountLimitsSetRequest func (m *AccountLimitsSetRequest) String() string { return proto.CompactTextString(m) } func (*AccountLimitsSetRequest) ProtoMessage() {} func (*AccountLimitsSetRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_d94f6f99586adae2, []int{35} + return fileDescriptor_d94f6f99586adae2, []int{36} } func (m *AccountLimitsSetRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2255,7 +2308,7 @@ func (m *AccountLimitsSetResponse) Reset() { *m = AccountLimitsSetRespon func (m *AccountLimitsSetResponse) String() string { return proto.CompactTextString(m) } func (*AccountLimitsSetResponse) ProtoMessage() {} func (*AccountLimitsSetResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_d94f6f99586adae2, []int{36} + return fileDescriptor_d94f6f99586adae2, []int{37} } func (m *AccountLimitsSetResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2301,6 +2354,7 @@ func init() { proto.RegisterType((*SpaceStatusCheckResponse)(nil), "coordinator.SpaceStatusCheckResponse") proto.RegisterType((*SpaceStatusCheckManyRequest)(nil), "coordinator.SpaceStatusCheckManyRequest") proto.RegisterType((*SpaceStatusCheckManyResponse)(nil), "coordinator.SpaceStatusCheckManyResponse") + proto.RegisterType((*AccountLimits)(nil), "coordinator.AccountLimits") proto.RegisterType((*SpaceStatusChangeRequest)(nil), "coordinator.SpaceStatusChangeRequest") proto.RegisterType((*SpaceStatusChangeResponse)(nil), "coordinator.SpaceStatusChangeResponse") proto.RegisterType((*SpaceMakeShareableRequest)(nil), "coordinator.SpaceMakeShareableRequest") @@ -2335,124 +2389,126 @@ func init() { } var fileDescriptor_d94f6f99586adae2 = []byte{ - // 1867 bytes of a gzipped FileDescriptorProto + // 1896 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x59, 0xcd, 0x73, 0x13, 0xc9, 0x15, 0xd7, 0x8c, 0x65, 0x5b, 0x7a, 0xb2, 0xcd, 0xb8, 0x6d, 0x83, 0x10, 0x42, 0x98, 0x09, 0x01, - 0xa3, 0xa4, 0x80, 0x88, 0x90, 0x0a, 0x45, 0xaa, 0x82, 0x31, 0x1f, 0x11, 0xc1, 0xc6, 0x19, 0x61, - 0xa8, 0x4a, 0x0e, 0xd4, 0x78, 0xa6, 0x2d, 0x4f, 0x59, 0xea, 0x51, 0x7a, 0x5a, 0x18, 0x9d, 0x73, - 0xcc, 0x25, 0xb7, 0x9c, 0xf6, 0xbe, 0x87, 0x3d, 0x6c, 0xed, 0x65, 0x0f, 0x5b, 0xb5, 0xc7, 0xad, - 0x3d, 0x72, 0xdc, 0x23, 0x05, 0xff, 0xc4, 0x1e, 0xb7, 0xba, 0xa7, 0x67, 0xd4, 0xf3, 0x21, 0xd9, - 0x5b, 0x1c, 0xb8, 0xd8, 0xee, 0xf7, 0x5e, 0xbf, 0xf7, 0xfa, 0xd7, 0xef, 0xbd, 0x7e, 0x6f, 0x0c, - 0x77, 0x1c, 0xdf, 0xa7, 0xae, 0x47, 0x6c, 0xe6, 0xd3, 0x9b, 0xca, 0xdf, 0x03, 0xea, 0x33, 0xff, - 0xa6, 0xf8, 0x19, 0xa8, 0xf4, 0x1b, 0x82, 0x84, 0x2a, 0x0a, 0xc9, 0xfc, 0x5e, 0x03, 0xa3, 0x33, - 0xb0, 0x1d, 0xdc, 0xf1, 0xba, 0xc4, 0xc2, 0xff, 0x1e, 0xe2, 0x80, 0xa1, 0x2a, 0xcc, 0x07, 0x9c, - 0xd6, 0x76, 0xab, 0xda, 0xba, 0xb6, 0x51, 0xb6, 0xa2, 0x25, 0x3a, 0x0b, 0x73, 0x87, 0xd8, 0x76, - 0x31, 0xad, 0xea, 0xeb, 0xda, 0xc6, 0x82, 0x25, 0x57, 0x68, 0x1d, 0x2a, 0x7e, 0xcf, 0x6d, 0xbb, - 0x98, 0x30, 0x8f, 0x8d, 0xaa, 0x33, 0x82, 0xa9, 0x92, 0x50, 0x0b, 0x56, 0x09, 0x3e, 0x8e, 0x96, - 0xdc, 0x9a, 0xcd, 0x86, 0x14, 0x57, 0x8b, 0x42, 0x34, 0x97, 0x87, 0x4c, 0x58, 0x38, 0xf0, 0xa9, - 0x83, 0xa5, 0x5f, 0xd5, 0xd9, 0x75, 0x6d, 0xa3, 0x64, 0x25, 0x68, 0x66, 0x07, 0x2a, 0xc2, 0xff, - 0x67, 0x5e, 0xdf, 0x63, 0x01, 0x77, 0x84, 0x62, 0xdb, 0xdd, 0xc6, 0xfd, 0x7d, 0x4c, 0x03, 0xe1, - 0xfe, 0xa2, 0xa5, 0x92, 0xb8, 0xd2, 0x63, 0xea, 0x31, 0x1c, 0x89, 0xe8, 0x42, 0x24, 0x41, 0x33, - 0xff, 0xa3, 0x03, 0x0a, 0x51, 0x61, 0x36, 0x1b, 0x06, 0xbb, 0xf6, 0xa8, 0xe7, 0xdb, 0x2e, 0xba, - 0x05, 0x73, 0x81, 0x20, 0x08, 0xbd, 0x4b, 0xad, 0xea, 0x0d, 0x15, 0x5d, 0x65, 0x83, 0x25, 0xe5, - 0xd0, 0xef, 0x61, 0xd9, 0xc5, 0x3d, 0xcc, 0x3c, 0x9f, 0xbc, 0xf0, 0xfa, 0x38, 0x60, 0x76, 0x7f, - 0x20, 0x2c, 0xce, 0x58, 0x59, 0x06, 0xfa, 0x2b, 0x54, 0x06, 0x98, 0xf6, 0xbd, 0x20, 0xf0, 0x7c, - 0x12, 0x08, 0x14, 0x97, 0x5a, 0x17, 0xb3, 0x46, 0x76, 0xc7, 0x42, 0x96, 0xba, 0x83, 0x3b, 0xd8, - 0x13, 0x38, 0x08, 0x58, 0x2b, 0x79, 0x0e, 0x86, 0x38, 0x59, 0x52, 0x0e, 0xd5, 0xa0, 0xe4, 0x05, - 0x9d, 0x43, 0x9b, 0x62, 0x57, 0xc2, 0x1b, 0xaf, 0xcd, 0x3d, 0x58, 0x56, 0x42, 0x23, 0x18, 0xf8, - 0x24, 0xc0, 0xe8, 0x3e, 0xcc, 0x53, 0xec, 0x60, 0x6f, 0xc0, 0x04, 0x08, 0x95, 0xd6, 0xd5, 0xac, - 0x0d, 0x2b, 0x14, 0x78, 0xe5, 0xb1, 0xc3, 0xf8, 0x32, 0xad, 0x68, 0x9b, 0x79, 0x04, 0xe7, 0x27, - 0x4a, 0xa1, 0x5b, 0xb0, 0x12, 0x28, 0x4c, 0x89, 0xbc, 0x30, 0xb5, 0x60, 0xe5, 0xb1, 0x50, 0x1d, - 0xca, 0x41, 0x1c, 0x4d, 0x61, 0x54, 0x8e, 0x09, 0xe6, 0x97, 0x1a, 0x2c, 0xa8, 0xd6, 0xa6, 0xc7, - 0xf6, 0x00, 0x63, 0xda, 0x76, 0x85, 0x96, 0xb2, 0x25, 0x57, 0x68, 0x03, 0xce, 0xd8, 0x8e, 0xe3, - 0x0f, 0x09, 0x4b, 0xc5, 0x77, 0x9a, 0xcc, 0x5d, 0x21, 0x98, 0x1d, 0xfb, 0xf4, 0xa8, 0xed, 0x8a, - 0x1b, 0x28, 0x5b, 0x63, 0x02, 0x6a, 0x00, 0xbc, 0xb1, 0x7b, 0x9e, 0xbb, 0x47, 0x98, 0xd7, 0x13, - 0x60, 0x17, 0x2d, 0x85, 0x62, 0xde, 0x86, 0x73, 0x4a, 0x08, 0x6d, 0x1d, 0x62, 0xe7, 0xe8, 0xc4, - 0x84, 0x34, 0xf7, 0xa0, 0x9a, 0xdd, 0x24, 0xaf, 0xea, 0x2e, 0xcc, 0x0f, 0x14, 0xfc, 0x2a, 0xad, - 0x4b, 0x93, 0xe2, 0x55, 0x62, 0x69, 0x45, 0xf2, 0xe6, 0x5d, 0xb8, 0x90, 0x56, 0xbb, 0x6d, 0x93, - 0x51, 0xe4, 0x4f, 0x0d, 0x4a, 0xd2, 0x01, 0x9e, 0x0a, 0x33, 0x1b, 0x65, 0x2b, 0x5e, 0x9b, 0xff, - 0x82, 0x7a, 0xfe, 0x56, 0xe9, 0xd5, 0x3d, 0x28, 0x49, 0x2b, 0xe1, 0xde, 0x53, 0xb8, 0x15, 0x6f, - 0x30, 0xdf, 0x6b, 0xa9, 0xf3, 0xda, 0xa4, 0x8b, 0x4f, 0x2e, 0x5b, 0x4a, 0x1a, 0x4a, 0x9d, 0xf1, - 0x2d, 0x67, 0x19, 0xfc, 0xc2, 0x53, 0xc4, 0xe8, 0xc2, 0x53, 0x64, 0x64, 0xc1, 0x4a, 0x8a, 0xf4, - 0x62, 0x34, 0x08, 0x6b, 0xda, 0x52, 0x6b, 0x3d, 0x71, 0xac, 0x87, 0x59, 0x39, 0x2b, 0x6f, 0xb3, - 0xf9, 0x52, 0xa6, 0x47, 0xf2, 0x84, 0x9f, 0x7e, 0xa5, 0x77, 0xa4, 0xde, 0x6d, 0xfb, 0x08, 0x8b, - 0x04, 0xb7, 0xf7, 0x7b, 0x27, 0x43, 0x67, 0xd6, 0xa1, 0x96, 0xb7, 0x2d, 0xf4, 0xc7, 0xfc, 0x87, - 0x8c, 0x13, 0xce, 0xdd, 0x23, 0xc1, 0xa9, 0xd5, 0x72, 0x8e, 0xed, 0xf4, 0xfe, 0x86, 0xed, 0xe8, - 0x1e, 0xa2, 0xa5, 0xd9, 0x90, 0xf1, 0x93, 0x51, 0x29, 0x4d, 0xde, 0x83, 0x0b, 0x3b, 0x61, 0x4e, - 0x6d, 0xf9, 0xe4, 0xc0, 0xeb, 0x0e, 0xa9, 0xcd, 0x21, 0x8c, 0x4c, 0xd6, 0xa1, 0xec, 0x0c, 0x29, - 0xc5, 0x3c, 0x2d, 0xa5, 0xd1, 0x31, 0xc1, 0xfc, 0x4e, 0x83, 0x7a, 0xfe, 0x6e, 0x09, 0xf0, 0x06, - 0x9c, 0x71, 0x54, 0x46, 0xac, 0x24, 0x4d, 0x4e, 0x26, 0xbb, 0x9e, 0x4e, 0xf6, 0x6b, 0x30, 0x4b, - 0x7c, 0x17, 0xf3, 0x22, 0xce, 0x43, 0x7c, 0x39, 0x71, 0x4d, 0x3b, 0xbe, 0x8b, 0xad, 0x90, 0x8f, - 0x9a, 0x60, 0x38, 0x14, 0xdb, 0xd1, 0x43, 0xb0, 0x47, 0xbc, 0xb7, 0x22, 0x7e, 0x8a, 0x56, 0x86, - 0x6e, 0x7a, 0x50, 0xe4, 0x5b, 0x95, 0x4a, 0xa5, 0x25, 0x2a, 0x55, 0x1d, 0xca, 0xb6, 0xeb, 0x52, - 0x1c, 0x04, 0x98, 0xbf, 0x6b, 0x3c, 0x2f, 0xc7, 0x04, 0xf4, 0x3b, 0x98, 0x65, 0xa3, 0x81, 0x74, - 0x69, 0xa9, 0xb5, 0x96, 0x71, 0x49, 0xc4, 0x64, 0x28, 0x63, 0xf6, 0xe1, 0x37, 0x51, 0xc4, 0x0a, - 0xa0, 0x68, 0x5f, 0x06, 0x54, 0xb2, 0x5c, 0xe7, 0xa4, 0x8a, 0x96, 0x9f, 0x2a, 0xd3, 0xcb, 0xf4, - 0xd7, 0x1a, 0x9c, 0xcd, 0xb7, 0xf7, 0x19, 0x0b, 0x76, 0x1d, 0xca, 0x2c, 0x7e, 0xb4, 0x67, 0xc5, - 0xa3, 0x3d, 0x26, 0x98, 0x0f, 0x01, 0x45, 0x1e, 0x3f, 0xf3, 0xbb, 0x4a, 0xc4, 0xdb, 0x07, 0x4c, - 0xb9, 0x9b, 0x68, 0x89, 0x56, 0x61, 0x56, 0xbc, 0xb9, 0xb2, 0xe1, 0x08, 0x17, 0xa6, 0x07, 0x2b, - 0x09, 0x2d, 0x32, 0x0c, 0xff, 0x2c, 0x5e, 0x59, 0x9f, 0xc6, 0x35, 0xb2, 0x91, 0x5b, 0x4c, 0xc4, - 0x16, 0x2e, 0x66, 0x45, 0xe2, 0xdc, 0x81, 0x43, 0x3b, 0xd8, 0xf6, 0x25, 0xca, 0x25, 0x2b, 0x5a, - 0x9a, 0xdf, 0x6a, 0xb0, 0x9c, 0xd9, 0x88, 0x96, 0x40, 0xf7, 0x22, 0x5f, 0x75, 0x2f, 0x01, 0xb7, - 0x9e, 0x84, 0xfb, 0x2f, 0x71, 0xf7, 0x13, 0x36, 0x26, 0x57, 0xa6, 0xbb, 0x94, 0xea, 0x84, 0x12, - 0x60, 0x16, 0x53, 0x60, 0x72, 0xee, 0x81, 0xd7, 0xc3, 0x4f, 0xa8, 0x3f, 0x0c, 0xa1, 0x2e, 0x5b, - 0x63, 0x82, 0xf9, 0x8d, 0x26, 0xdb, 0x31, 0x61, 0xe4, 0x33, 0xd6, 0xfb, 0x26, 0x18, 0x11, 0xe9, - 0xa1, 0xac, 0x04, 0xf2, 0x2c, 0x19, 0xba, 0xd9, 0x86, 0x95, 0x84, 0xcf, 0xf2, 0x66, 0x5b, 0xb0, - 0xca, 0xfc, 0x07, 0x92, 0xea, 0x8e, 0x9b, 0x42, 0x4d, 0xa8, 0xc9, 0xe5, 0x99, 0x04, 0x56, 0x37, - 0xc3, 0xc8, 0x4d, 0x02, 0x90, 0x7b, 0x4c, 0xed, 0x57, 0x1c, 0x53, 0xcf, 0x3d, 0xa6, 0xf9, 0x85, - 0x06, 0x17, 0x55, 0x83, 0xd9, 0xa4, 0x9c, 0x54, 0x81, 0x72, 0x52, 0x4f, 0x3f, 0x45, 0xea, 0xcd, - 0x4c, 0x4d, 0xbd, 0x74, 0xb4, 0x98, 0x7f, 0x87, 0xb5, 0x14, 0x1e, 0x9f, 0x00, 0x6e, 0x03, 0xea, - 0x52, 0x99, 0x85, 0xdf, 0x60, 0x1a, 0x9f, 0x38, 0x1a, 0x30, 0x2e, 0xc5, 0x58, 0xa4, 0xf9, 0xf2, - 0x41, 0x6a, 0xc3, 0xca, 0xa6, 0xd3, 0xdb, 0x74, 0x5d, 0x99, 0x8a, 0xa7, 0x79, 0xfb, 0x06, 0x89, - 0x0b, 0x88, 0xdf, 0xe8, 0x67, 0xfc, 0xa2, 0x55, 0x55, 0xf2, 0x5c, 0x35, 0x28, 0x85, 0xf9, 0x1d, - 0x2b, 0x8b, 0xd7, 0x53, 0xb4, 0x3d, 0x15, 0xda, 0x9e, 0x60, 0x16, 0x6a, 0x0b, 0x3e, 0xe5, 0x55, - 0xfe, 0x03, 0x87, 0x3c, 0xa1, 0x4b, 0xba, 0x56, 0x4d, 0x56, 0xaa, 0x85, 0xb8, 0x12, 0x99, 0xff, - 0xd5, 0xe1, 0x9c, 0x44, 0x2e, 0x1c, 0x3a, 0x3a, 0x7c, 0x77, 0xdc, 0x40, 0x7a, 0x51, 0x80, 0xc8, - 0x03, 0x45, 0x6b, 0x1e, 0x5b, 0x14, 0xdb, 0x81, 0x4f, 0xa2, 0xb2, 0x1e, 0xae, 0xd0, 0x1f, 0x61, - 0x8d, 0x97, 0x84, 0x0e, 0xf3, 0xa9, 0xdd, 0x0d, 0xe7, 0x98, 0x07, 0x23, 0x86, 0xc3, 0x72, 0x54, - 0xb4, 0xf2, 0x99, 0x3c, 0x65, 0xc5, 0xe9, 0xe4, 0x68, 0x67, 0xf1, 0xb3, 0x15, 0x45, 0x05, 0xce, - 0xd0, 0x79, 0x3e, 0xa9, 0xb4, 0x57, 0x7c, 0x24, 0x14, 0xd5, 0x68, 0xd1, 0xca, 0x32, 0x84, 0xb4, - 0x18, 0x94, 0x44, 0x9a, 0x07, 0xc2, 0x66, 0x75, 0x4e, 0x4a, 0xa7, 0x19, 0x66, 0x0d, 0xaa, 0x59, - 0x30, 0x42, 0x0c, 0x9b, 0x3f, 0x6b, 0x00, 0x8f, 0x28, 0xf5, 0xe9, 0x96, 0x68, 0x09, 0x96, 0x00, - 0xf6, 0x08, 0x7e, 0x3b, 0xc0, 0x0e, 0xc3, 0xae, 0x51, 0x40, 0x86, 0x1c, 0x61, 0x64, 0xe8, 0x1a, - 0x1a, 0xaa, 0xc2, 0xea, 0x98, 0xc2, 0x13, 0x17, 0x13, 0xd7, 0x23, 0x5d, 0x43, 0x8f, 0x65, 0xb7, - 0x78, 0xef, 0x80, 0x5d, 0x63, 0x06, 0x21, 0x58, 0x12, 0x94, 0x1d, 0x9f, 0x3d, 0x7a, 0xeb, 0x05, - 0x2c, 0x30, 0x8a, 0x68, 0x4d, 0x4e, 0x76, 0xc2, 0x15, 0x0b, 0xdb, 0xce, 0x21, 0x76, 0x8d, 0x59, - 0x2e, 0x9a, 0xc8, 0x2b, 0xd7, 0x98, 0x43, 0x8b, 0x50, 0x7e, 0xec, 0xd3, 0x7d, 0xcf, 0x75, 0x31, - 0x31, 0xe6, 0xd1, 0x2a, 0x18, 0x9b, 0x61, 0x48, 0xb4, 0x83, 0x6d, 0x3e, 0x76, 0x92, 0xae, 0x51, - 0x42, 0x67, 0xa0, 0xb2, 0xe9, 0xf4, 0x76, 0x7c, 0xf2, 0xa8, 0x3f, 0x60, 0x23, 0xa3, 0x1c, 0x1b, - 0xd8, 0xf1, 0x59, 0xdc, 0x34, 0x1a, 0x80, 0x0c, 0xa8, 0x88, 0x73, 0x3e, 0x3f, 0x38, 0x08, 0x30, - 0x33, 0xbe, 0xd2, 0x9b, 0xff, 0xd7, 0xe4, 0xfc, 0x1e, 0x3e, 0x17, 0xe8, 0x6c, 0x62, 0xf0, 0x8e, - 0x4e, 0x51, 0x40, 0x0d, 0xd9, 0x86, 0xca, 0xe6, 0x36, 0x3c, 0x6f, 0x74, 0x7c, 0x43, 0x4b, 0xf1, - 0x23, 0x46, 0x87, 0xd9, 0x94, 0xef, 0xd7, 0x53, 0x7a, 0xa3, 0xe3, 0xcd, 0xc4, 0x48, 0x86, 0x74, - 0x05, 0xa3, 0xe6, 0x53, 0xf9, 0x61, 0x44, 0x19, 0xb6, 0xd1, 0x05, 0x39, 0xa2, 0x29, 0xb4, 0x3d, - 0x72, 0x44, 0xfc, 0x63, 0x62, 0x14, 0xd0, 0x79, 0x58, 0x4b, 0x33, 0x9f, 0x1f, 0x13, 0x4c, 0x0d, - 0xad, 0x79, 0x0c, 0xa5, 0xa8, 0xc1, 0x42, 0x15, 0x98, 0x7f, 0x41, 0x31, 0xde, 0xdc, 0x6d, 0x1b, - 0x05, 0xbe, 0x78, 0xec, 0xf5, 0xc4, 0x42, 0xe3, 0xf0, 0x6f, 0x8d, 0x5f, 0x54, 0x4e, 0x13, 0xf7, - 0xb9, 0xc5, 0x63, 0x84, 0x04, 0xc3, 0x80, 0x53, 0x66, 0xd0, 0x32, 0x2c, 0xee, 0xd8, 0x7d, 0x8f, - 0x74, 0xb9, 0x46, 0x4e, 0x2a, 0xf2, 0x43, 0xec, 0xda, 0xa3, 0x3e, 0x26, 0x6c, 0x97, 0xfa, 0x0e, - 0x16, 0xb7, 0xc2, 0x39, 0xb3, 0xcd, 0xbb, 0xe3, 0xf6, 0x42, 0x99, 0x31, 0x50, 0x09, 0x8a, 0xdc, - 0x87, 0xd0, 0x01, 0x59, 0xda, 0x0d, 0x8d, 0x2f, 0xe4, 0xfd, 0x1b, 0x7a, 0xf3, 0x3e, 0x9c, 0x9b, - 0xf0, 0xa6, 0xa3, 0x39, 0xd0, 0x9f, 0x1f, 0x19, 0x05, 0xee, 0x8a, 0x85, 0xfb, 0xfe, 0x1b, 0xbc, - 0x4b, 0xf1, 0xc0, 0xa6, 0xd8, 0xd0, 0x10, 0xc0, 0x5c, 0x48, 0x32, 0xf4, 0xd6, 0x0f, 0x00, 0x15, - 0xe5, 0x40, 0xe8, 0x29, 0x94, 0xe3, 0xef, 0x09, 0x28, 0xe7, 0xb3, 0x86, 0xf2, 0x09, 0xaa, 0xd6, - 0x98, 0xc4, 0x96, 0x65, 0xe7, 0x75, 0xf4, 0xd9, 0x6a, 0x3c, 0x65, 0xa2, 0x2b, 0x93, 0x66, 0x21, - 0x75, 0x96, 0xae, 0xfd, 0xf6, 0x04, 0x29, 0x69, 0xe0, 0x28, 0x11, 0x18, 0xf1, 0x18, 0x8b, 0x36, - 0xa6, 0x6e, 0x57, 0x86, 0xe4, 0xda, 0xf5, 0x53, 0x48, 0x4a, 0x63, 0xfb, 0xd1, 0x97, 0x16, 0x65, - 0xe6, 0x43, 0x53, 0x1c, 0x55, 0xa6, 0xde, 0xda, 0xd5, 0x93, 0xc4, 0xa4, 0x0d, 0x2c, 0x33, 0x20, - 0x31, 0xc8, 0xa1, 0x9c, 0xdd, 0x79, 0x03, 0x62, 0xed, 0xda, 0x89, 0x72, 0x29, 0xdc, 0x52, 0xe3, - 0x5b, 0x1e, 0x6e, 0xf9, 0x43, 0x63, 0x1e, 0x6e, 0x13, 0x66, 0x41, 0x6e, 0x2c, 0x6f, 0x9a, 0x4b, - 0x19, 0x9b, 0x32, 0x2e, 0xa6, 0x8c, 0x4d, 0x1d, 0x0d, 0x77, 0xa1, 0xa2, 0x24, 0x04, 0xba, 0x34, - 0xb9, 0xfd, 0x0d, 0x55, 0xaf, 0x4f, 0x16, 0x18, 0x6b, 0x54, 0x0a, 0x3b, 0xca, 0x99, 0xe5, 0x13, - 0xfd, 0x5e, 0x4a, 0x63, 0x5e, 0x77, 0xf9, 0x12, 0x16, 0x13, 0x15, 0x1c, 0x5d, 0x4e, 0x6c, 0xc9, - 0xeb, 0x22, 0x6b, 0xe6, 0x34, 0x11, 0xa9, 0x97, 0xc4, 0x1d, 0x57, 0xb2, 0x09, 0x42, 0xd7, 0xf3, - 0x36, 0xe7, 0x36, 0x52, 0xb5, 0xe6, 0x69, 0x44, 0xa5, 0xbd, 0x0e, 0x2c, 0xa8, 0x8d, 0x10, 0x5a, - 0x4f, 0xed, 0xcd, 0xb4, 0x5b, 0xb5, 0xcb, 0x53, 0x24, 0x54, 0x70, 0x94, 0x1e, 0x26, 0x03, 0x4e, - 0xb6, 0x57, 0xca, 0x80, 0x93, 0xd7, 0x02, 0xbd, 0xe6, 0x6f, 0x62, 0xf2, 0x69, 0x4f, 0xd5, 0xa2, - 0x09, 0x6d, 0x50, 0xaa, 0x16, 0x4d, 0xea, 0x0f, 0x1e, 0xfc, 0xe9, 0xc7, 0x0f, 0x0d, 0xed, 0xdd, - 0x87, 0x86, 0xf6, 0xfe, 0x43, 0x43, 0xfb, 0xdf, 0xc7, 0x46, 0xe1, 0xdd, 0xc7, 0x46, 0xe1, 0xa7, - 0x8f, 0x8d, 0xc2, 0x3f, 0xeb, 0xd3, 0xfe, 0x05, 0xb0, 0x3f, 0x27, 0x7e, 0xdd, 0xfe, 0x25, 0x00, - 0x00, 0xff, 0xff, 0xc7, 0x84, 0xe0, 0x45, 0x29, 0x18, 0x00, 0x00, + 0xa3, 0xa4, 0x80, 0x88, 0x90, 0x0a, 0x45, 0x52, 0xc1, 0x98, 0x8f, 0x88, 0x60, 0xe3, 0x8c, 0x30, + 0x54, 0xe5, 0x42, 0x8d, 0x67, 0xda, 0xf2, 0x94, 0xa5, 0x1e, 0xa5, 0xa7, 0x85, 0xd1, 0x39, 0xc7, + 0x5c, 0x72, 0xcb, 0x69, 0xef, 0x7b, 0xd8, 0xc3, 0xd6, 0x5e, 0xf6, 0xb0, 0x55, 0x7b, 0xdc, 0xda, + 0x23, 0xc7, 0x3d, 0x52, 0xf0, 0x4f, 0xec, 0x71, 0xab, 0x7b, 0x7a, 0x46, 0x3d, 0x1f, 0x92, 0xbd, + 0xc5, 0x81, 0x8b, 0xed, 0x7e, 0xef, 0xf5, 0x7b, 0xaf, 0x7f, 0xfd, 0xde, 0xeb, 0xf7, 0xc6, 0x70, + 0xc7, 0xf1, 0x7d, 0xea, 0x7a, 0xc4, 0x66, 0x3e, 0xbd, 0xa9, 0xfc, 0x3d, 0xa0, 0x3e, 0xf3, 0x6f, + 0x8a, 0x9f, 0x81, 0x4a, 0xbf, 0x21, 0x48, 0xa8, 0xa2, 0x90, 0xcc, 0xef, 0x35, 0x30, 0x3a, 0x03, + 0xdb, 0xc1, 0x1d, 0xaf, 0x4b, 0x2c, 0xfc, 0xef, 0x21, 0x0e, 0x18, 0xaa, 0xc2, 0x7c, 0xc0, 0x69, + 0x6d, 0xb7, 0xaa, 0xad, 0x6b, 0x1b, 0x65, 0x2b, 0x5a, 0xa2, 0xb3, 0x30, 0x77, 0x88, 0x6d, 0x17, + 0xd3, 0xaa, 0xbe, 0xae, 0x6d, 0x2c, 0x58, 0x72, 0x85, 0xd6, 0xa1, 0xe2, 0xf7, 0xdc, 0xb6, 0x8b, + 0x09, 0xf3, 0xd8, 0xa8, 0x3a, 0x23, 0x98, 0x2a, 0x09, 0xb5, 0x60, 0x95, 0xe0, 0xe3, 0x68, 0xc9, + 0xad, 0xd9, 0x6c, 0x48, 0x71, 0xb5, 0x28, 0x44, 0x73, 0x79, 0xc8, 0x84, 0x85, 0x03, 0x9f, 0x3a, + 0x58, 0xfa, 0x55, 0x9d, 0x5d, 0xd7, 0x36, 0x4a, 0x56, 0x82, 0x66, 0x76, 0xa0, 0x22, 0xfc, 0x7f, + 0xe6, 0xf5, 0x3d, 0x16, 0x70, 0x47, 0x28, 0xb6, 0xdd, 0x6d, 0xdc, 0xdf, 0xc7, 0x34, 0x10, 0xee, + 0x2f, 0x5a, 0x2a, 0x89, 0x2b, 0x3d, 0xa6, 0x1e, 0xc3, 0x91, 0x88, 0x2e, 0x44, 0x12, 0x34, 0xf3, + 0x3f, 0x3a, 0xa0, 0x10, 0x15, 0x66, 0xb3, 0x61, 0xb0, 0x6b, 0x8f, 0x7a, 0xbe, 0xed, 0xa2, 0x5b, + 0x30, 0x17, 0x08, 0x82, 0xd0, 0xbb, 0xd4, 0xaa, 0xde, 0x50, 0xd1, 0x55, 0x36, 0x58, 0x52, 0x0e, + 0xfd, 0x1e, 0x96, 0x5d, 0xdc, 0xc3, 0xcc, 0xf3, 0xc9, 0x0b, 0xaf, 0x8f, 0x03, 0x66, 0xf7, 0x07, + 0xc2, 0xe2, 0x8c, 0x95, 0x65, 0xa0, 0xbf, 0x41, 0x65, 0x80, 0x69, 0xdf, 0x0b, 0x02, 0xcf, 0x27, + 0x81, 0x40, 0x71, 0xa9, 0x75, 0x31, 0x6b, 0x64, 0x77, 0x2c, 0x64, 0xa9, 0x3b, 0xb8, 0x83, 0x3d, + 0x81, 0x83, 0x80, 0xb5, 0x92, 0xe7, 0x60, 0x88, 0x93, 0x25, 0xe5, 0x50, 0x0d, 0x4a, 0x5e, 0xd0, + 0x39, 0xb4, 0x29, 0x76, 0x25, 0xbc, 0xf1, 0xda, 0xdc, 0x83, 0x65, 0x25, 0x34, 0x82, 0x81, 0x4f, + 0x02, 0x8c, 0xee, 0xc3, 0x3c, 0xc5, 0x0e, 0xf6, 0x06, 0x4c, 0x80, 0x50, 0x69, 0x5d, 0xcd, 0xda, + 0xb0, 0x42, 0x81, 0x57, 0x1e, 0x3b, 0x8c, 0x2f, 0xd3, 0x8a, 0xb6, 0x99, 0x47, 0x70, 0x7e, 0xa2, + 0x14, 0xba, 0x05, 0x2b, 0x81, 0xc2, 0x94, 0xc8, 0x0b, 0x53, 0x0b, 0x56, 0x1e, 0x0b, 0xd5, 0xa1, + 0x1c, 0xc4, 0xd1, 0x14, 0x46, 0xe5, 0x98, 0x60, 0x7e, 0xa9, 0xc1, 0x82, 0x6a, 0x6d, 0x7a, 0x6c, + 0x0f, 0x30, 0xa6, 0x6d, 0x57, 0x68, 0x29, 0x5b, 0x72, 0x85, 0x36, 0xe0, 0x8c, 0xed, 0x38, 0xfe, + 0x90, 0xb0, 0x54, 0x7c, 0xa7, 0xc9, 0xdc, 0x15, 0x82, 0xd9, 0xb1, 0x4f, 0x8f, 0xda, 0xae, 0xb8, + 0x81, 0xb2, 0x35, 0x26, 0xa0, 0x06, 0xc0, 0x1b, 0xbb, 0xe7, 0xb9, 0x7b, 0x84, 0x79, 0x3d, 0x01, + 0x76, 0xd1, 0x52, 0x28, 0xe6, 0x6d, 0x38, 0xa7, 0x84, 0xd0, 0xd6, 0x21, 0x76, 0x8e, 0x4e, 0x4c, + 0x48, 0x73, 0x0f, 0xaa, 0xd9, 0x4d, 0xf2, 0xaa, 0xee, 0xc2, 0xfc, 0x40, 0xc1, 0xaf, 0xd2, 0xba, + 0x34, 0x29, 0x5e, 0x25, 0x96, 0x56, 0x24, 0x6f, 0xde, 0x85, 0x0b, 0x69, 0xb5, 0xdb, 0x36, 0x19, + 0x45, 0xfe, 0xd4, 0xa0, 0x24, 0x1d, 0xe0, 0xa9, 0x30, 0xb3, 0x51, 0xb6, 0xe2, 0xb5, 0xf9, 0x85, + 0x06, 0xf5, 0xfc, 0xbd, 0xd2, 0xad, 0x7b, 0x50, 0x92, 0x66, 0xc2, 0xcd, 0xa7, 0xf0, 0x2b, 0xde, + 0x80, 0xee, 0xc3, 0xa2, 0x44, 0x3d, 0x0c, 0x64, 0x71, 0x57, 0x95, 0x56, 0x2d, 0xa1, 0x61, 0x53, + 0x95, 0xb0, 0x92, 0x1b, 0xcc, 0xbf, 0xc2, 0x62, 0x82, 0xcf, 0x73, 0x34, 0x10, 0x01, 0x2f, 0x0c, + 0x07, 0x82, 0x2a, 0x0b, 0x47, 0x96, 0x61, 0xbe, 0xd7, 0x52, 0x88, 0xdb, 0xa4, 0x8b, 0x4f, 0x2e, + 0x9c, 0x4a, 0x21, 0x90, 0x87, 0x8a, 0xe3, 0x2c, 0xcb, 0xe0, 0x21, 0x97, 0x22, 0x46, 0x21, 0x97, + 0x22, 0x23, 0x0b, 0x56, 0x52, 0xa4, 0x17, 0xa3, 0x41, 0x58, 0x55, 0x97, 0x5a, 0xeb, 0x09, 0x54, + 0x1e, 0x66, 0xe5, 0xac, 0xbc, 0xcd, 0xe6, 0x4b, 0x99, 0xa0, 0xc9, 0x13, 0x7e, 0x7a, 0x50, 0xdd, + 0x91, 0x7a, 0xb7, 0xed, 0x23, 0x2c, 0x4a, 0x8c, 0xbd, 0xdf, 0x3b, 0x19, 0x3a, 0xb3, 0x0e, 0xb5, + 0xbc, 0x6d, 0xa1, 0x3f, 0xe6, 0x3f, 0x65, 0xa4, 0x72, 0xee, 0x1e, 0x09, 0x4e, 0xad, 0x96, 0x73, + 0x6c, 0xa7, 0xf7, 0x77, 0x6c, 0x47, 0xf7, 0x10, 0x2d, 0xcd, 0x86, 0x0c, 0xe0, 0x8c, 0x4a, 0x69, + 0xf2, 0x1e, 0x5c, 0xd8, 0x09, 0xb3, 0x7a, 0xcb, 0x27, 0x07, 0x5e, 0x77, 0x48, 0x6d, 0x0e, 0x61, + 0x64, 0xb2, 0x0e, 0x65, 0x67, 0x48, 0x29, 0xe6, 0x85, 0x41, 0x1a, 0x1d, 0x13, 0xcc, 0xef, 0x34, + 0xa8, 0xe7, 0xef, 0x96, 0x00, 0x6f, 0xc0, 0x19, 0x47, 0x65, 0xc4, 0x4a, 0xd2, 0xe4, 0x64, 0xb9, + 0xd1, 0xd3, 0xe5, 0xe6, 0x1a, 0xcc, 0x12, 0xdf, 0xc5, 0xfc, 0x19, 0xe1, 0x39, 0xb6, 0x9c, 0xb8, + 0xa6, 0x1d, 0xdf, 0xc5, 0x56, 0xc8, 0x47, 0x4d, 0x30, 0x1c, 0x8a, 0xed, 0xe8, 0x29, 0xda, 0x23, + 0xde, 0x5b, 0x11, 0x3f, 0x45, 0x2b, 0x43, 0x37, 0x3d, 0x28, 0xf2, 0xad, 0x4a, 0xad, 0xd4, 0x12, + 0xb5, 0xb2, 0x0e, 0x65, 0xdb, 0x75, 0x29, 0x0e, 0x02, 0xcc, 0x53, 0x93, 0x57, 0x86, 0x31, 0x01, + 0xfd, 0x0e, 0x66, 0xd9, 0x68, 0x20, 0x5d, 0x5a, 0x6a, 0xad, 0x65, 0x5c, 0x12, 0x31, 0x19, 0xca, + 0x98, 0x7d, 0xf8, 0x4d, 0x14, 0xb1, 0x02, 0x28, 0xda, 0x97, 0x01, 0x95, 0x7c, 0x30, 0x72, 0x52, + 0x45, 0xcb, 0x4f, 0x95, 0xe9, 0x0f, 0xc5, 0xd7, 0x1a, 0x9c, 0xcd, 0xb7, 0xf7, 0x19, 0x9f, 0x8c, + 0x3a, 0x94, 0x59, 0xdc, 0x36, 0xcc, 0x8a, 0xb6, 0x61, 0x4c, 0x30, 0x1f, 0x02, 0x8a, 0x3c, 0x7e, + 0xe6, 0x77, 0x95, 0x88, 0xb7, 0x0f, 0x98, 0x72, 0x37, 0xd1, 0x12, 0xad, 0xc2, 0xac, 0x78, 0xf5, + 0x65, 0xcb, 0x13, 0x2e, 0x4c, 0x0f, 0x56, 0x12, 0x5a, 0x64, 0x18, 0xfe, 0x59, 0xbc, 0xf3, 0x3e, + 0x8d, 0x8b, 0x74, 0x23, 0xb7, 0x98, 0x88, 0x2d, 0x5c, 0xcc, 0x8a, 0xc4, 0xb9, 0x03, 0x87, 0x76, + 0xb0, 0xed, 0x4b, 0x94, 0x4b, 0x56, 0xb4, 0x34, 0xbf, 0xd5, 0x60, 0x39, 0xb3, 0x11, 0x2d, 0x81, + 0xee, 0x45, 0xbe, 0xea, 0x5e, 0x02, 0x6e, 0x3d, 0x09, 0xf7, 0x5f, 0xe2, 0xfe, 0x2b, 0x6c, 0x8d, + 0xae, 0x4c, 0x77, 0x29, 0xd5, 0x8b, 0x25, 0xc0, 0x2c, 0xa6, 0xc0, 0xe4, 0xdc, 0x03, 0xaf, 0x87, + 0x9f, 0x50, 0x7f, 0x18, 0x42, 0x5d, 0xb6, 0xc6, 0x04, 0xf3, 0x1b, 0x4d, 0x36, 0x84, 0xc2, 0xc8, + 0x67, 0xac, 0xf7, 0x4d, 0x30, 0x22, 0xd2, 0x43, 0x59, 0x09, 0xe4, 0x59, 0x32, 0x74, 0xb3, 0x0d, + 0x2b, 0x09, 0x9f, 0xe5, 0xcd, 0xb6, 0x60, 0x95, 0xf9, 0x0f, 0x24, 0xd5, 0x1d, 0xb7, 0xa5, 0x9a, + 0x50, 0x93, 0xcb, 0x33, 0x09, 0xac, 0xca, 0x47, 0x33, 0x09, 0x40, 0xee, 0x31, 0xb5, 0x5f, 0x71, + 0x4c, 0x3d, 0xf7, 0x98, 0xbc, 0x89, 0xb8, 0xa8, 0x1a, 0xcc, 0x26, 0xe5, 0xa4, 0x0a, 0x94, 0x93, + 0x7a, 0xfa, 0x29, 0x52, 0x6f, 0x66, 0x6a, 0xea, 0xa5, 0xa3, 0xc5, 0xfc, 0x07, 0xac, 0xa5, 0xf0, + 0xf8, 0x04, 0x70, 0x1b, 0x50, 0x97, 0xca, 0x2c, 0xfc, 0x06, 0xd3, 0xf8, 0xc4, 0xd1, 0x88, 0x73, + 0x29, 0xc6, 0x22, 0xcd, 0x97, 0x0f, 0x52, 0x1b, 0x56, 0x36, 0x9d, 0xde, 0xa6, 0xeb, 0xca, 0x54, + 0x3c, 0xcd, 0xdb, 0x37, 0x48, 0x5c, 0x40, 0xfc, 0x46, 0x3f, 0xe3, 0x17, 0xad, 0xaa, 0x92, 0xe7, + 0xaa, 0x41, 0x29, 0xcc, 0xef, 0x58, 0x59, 0xbc, 0x9e, 0xa2, 0xed, 0xa9, 0xd0, 0xf6, 0x04, 0xb3, + 0x50, 0x5b, 0xf0, 0x29, 0xaf, 0xf2, 0x1f, 0x38, 0xe4, 0x09, 0x5d, 0xd2, 0xb5, 0x6a, 0xb2, 0x52, + 0x2d, 0xc4, 0x95, 0xc8, 0xfc, 0xaf, 0x0e, 0xe7, 0x12, 0xbd, 0x5e, 0x87, 0xef, 0x8e, 0x5b, 0x58, + 0x2f, 0x0a, 0x10, 0x79, 0xa0, 0x68, 0xcd, 0x63, 0x8b, 0x62, 0x3b, 0xf0, 0x49, 0x54, 0xd6, 0xc3, + 0x15, 0xfa, 0x23, 0xac, 0xf1, 0x92, 0xd0, 0x61, 0x3e, 0xb5, 0xbb, 0xe1, 0x24, 0xf5, 0x60, 0xc4, + 0x70, 0x58, 0x8e, 0x8a, 0x56, 0x3e, 0x93, 0xa7, 0xac, 0x38, 0x9d, 0x1c, 0x2e, 0x2d, 0x7e, 0xb6, + 0xa2, 0xa8, 0xc0, 0x19, 0xba, 0xe8, 0x45, 0x15, 0xda, 0x2b, 0x3e, 0x94, 0x8a, 0x6a, 0xc4, 0x7b, + 0xd1, 0x34, 0x23, 0xbf, 0x73, 0x9d, 0x9b, 0xd4, 0xb9, 0xd6, 0xa0, 0x9a, 0x05, 0x23, 0xc4, 0xb0, + 0xf9, 0xb3, 0x06, 0xf0, 0x88, 0x52, 0x9f, 0x6e, 0x89, 0x96, 0x60, 0x09, 0x60, 0x8f, 0xe0, 0xb7, + 0x03, 0xec, 0x30, 0xec, 0x1a, 0x05, 0x64, 0xc8, 0x21, 0x4a, 0x86, 0xae, 0xa1, 0xa1, 0x2a, 0xac, + 0x8e, 0x29, 0x3c, 0x71, 0x31, 0x71, 0x3d, 0xd2, 0x35, 0xf4, 0x58, 0x76, 0x8b, 0xf7, 0x0e, 0xd8, + 0x35, 0x66, 0x10, 0x82, 0x25, 0x41, 0xd9, 0xf1, 0xd9, 0xa3, 0xb7, 0x5e, 0xc0, 0x02, 0xa3, 0x88, + 0xd6, 0xe4, 0x6c, 0x29, 0x5c, 0xb1, 0xb0, 0xed, 0x1c, 0x62, 0xd7, 0x98, 0xe5, 0xa2, 0x89, 0xbc, + 0x72, 0x8d, 0x39, 0xb4, 0x08, 0xe5, 0xc7, 0x3e, 0xdd, 0xf7, 0x5c, 0x17, 0x13, 0x63, 0x1e, 0xad, + 0x82, 0xb1, 0x19, 0x86, 0x44, 0x3b, 0xd8, 0xe6, 0x83, 0x2f, 0xe9, 0x1a, 0x25, 0x74, 0x06, 0x2a, + 0x9b, 0x4e, 0x6f, 0xc7, 0x27, 0x8f, 0xfa, 0x03, 0x36, 0x32, 0xca, 0xb1, 0x81, 0x1d, 0x9f, 0xc5, + 0x4d, 0xa3, 0x01, 0xc8, 0x80, 0x8a, 0x38, 0xe7, 0xf3, 0x83, 0x83, 0x00, 0x33, 0xe3, 0x2b, 0xbd, + 0xf9, 0x7f, 0x4d, 0x7e, 0x41, 0x08, 0x9f, 0x0b, 0x74, 0x36, 0x31, 0xfa, 0x47, 0xa7, 0x28, 0xa0, + 0x86, 0x6c, 0x43, 0x65, 0x73, 0x1b, 0x9e, 0x37, 0x3a, 0xbe, 0xa1, 0xa5, 0xf8, 0x11, 0xa3, 0xc3, + 0x6c, 0xca, 0xf7, 0xeb, 0x29, 0xbd, 0xd1, 0xf1, 0x66, 0x62, 0x24, 0x43, 0xba, 0x82, 0x51, 0xf3, + 0xa9, 0xfc, 0x34, 0xa3, 0x8c, 0xfb, 0xe8, 0x82, 0x1c, 0x12, 0x15, 0xda, 0x1e, 0x39, 0x22, 0xfe, + 0x31, 0x31, 0x0a, 0xe8, 0x3c, 0xac, 0xa5, 0x99, 0xcf, 0x8f, 0x09, 0xa6, 0x86, 0xd6, 0x3c, 0x86, + 0x52, 0xd4, 0x60, 0xa1, 0x0a, 0xcc, 0xbf, 0xa0, 0x18, 0x6f, 0xee, 0xb6, 0x8d, 0x02, 0x5f, 0x3c, + 0xf6, 0x7a, 0x62, 0xa1, 0x71, 0xf8, 0xb7, 0xc6, 0x2f, 0x2a, 0xa7, 0x89, 0xfb, 0xdc, 0xe2, 0x31, + 0x42, 0x82, 0x61, 0xc0, 0x29, 0x33, 0x68, 0x19, 0x16, 0x77, 0xec, 0xbe, 0x47, 0xba, 0x5c, 0x23, + 0x27, 0x15, 0xf9, 0x21, 0x76, 0xed, 0x51, 0x1f, 0x13, 0xb6, 0x4b, 0x7d, 0x07, 0x8b, 0x5b, 0xe1, + 0x9c, 0xd9, 0xe6, 0xdd, 0x71, 0x7b, 0xa1, 0xcc, 0x18, 0xa8, 0x04, 0x45, 0xee, 0x43, 0xe8, 0x80, + 0x2c, 0xed, 0x86, 0xc6, 0x17, 0xf2, 0xfe, 0x0d, 0xbd, 0x79, 0x1f, 0xce, 0x4d, 0x78, 0xd3, 0xd1, + 0x1c, 0xe8, 0xcf, 0x8f, 0x8c, 0x02, 0x77, 0xc5, 0xc2, 0x7d, 0xff, 0x0d, 0xde, 0xa5, 0x78, 0x60, + 0x53, 0x6c, 0x68, 0x08, 0x60, 0x2e, 0x24, 0x19, 0x7a, 0xeb, 0x07, 0x80, 0x8a, 0x72, 0x20, 0xf4, + 0x14, 0xca, 0xf1, 0x17, 0x0d, 0x94, 0xf3, 0x61, 0x45, 0xf9, 0x08, 0x56, 0x6b, 0x4c, 0x62, 0xcb, + 0xb2, 0xf3, 0x3a, 0xfa, 0x70, 0x36, 0x1e, 0x73, 0xd1, 0x95, 0x49, 0xb3, 0x90, 0x3a, 0xcd, 0xd7, + 0x7e, 0x7b, 0x82, 0x94, 0x34, 0x70, 0x94, 0x08, 0x8c, 0x78, 0x8e, 0x46, 0x1b, 0x53, 0xb7, 0x2b, + 0x63, 0x7a, 0xed, 0xfa, 0x29, 0x24, 0xa5, 0xb1, 0xfd, 0xe8, 0x5b, 0x8f, 0x32, 0xf3, 0xa1, 0x29, + 0x8e, 0x2a, 0x53, 0x6f, 0xed, 0xea, 0x49, 0x62, 0xd2, 0x06, 0x96, 0x19, 0x90, 0x18, 0xe4, 0x50, + 0xce, 0xee, 0xbc, 0x01, 0xb1, 0x76, 0xed, 0x44, 0xb9, 0x14, 0x6e, 0xa9, 0xf1, 0x2d, 0x0f, 0xb7, + 0xfc, 0xa1, 0x31, 0x0f, 0xb7, 0x09, 0xb3, 0x20, 0x37, 0x96, 0x37, 0xcd, 0xa5, 0x8c, 0x4d, 0x19, + 0x17, 0x53, 0xc6, 0xa6, 0x8e, 0x86, 0xbb, 0x50, 0x51, 0x12, 0x02, 0x5d, 0x9a, 0xdc, 0xfe, 0x86, + 0xaa, 0xd7, 0x27, 0x0b, 0x8c, 0x35, 0x2a, 0x85, 0x1d, 0xe5, 0xcc, 0xf2, 0x89, 0x7e, 0x2f, 0xa5, + 0x31, 0xaf, 0xbb, 0x7c, 0x19, 0x7f, 0x5e, 0x91, 0x3a, 0x2f, 0xe7, 0x7d, 0x9a, 0x49, 0x6a, 0x35, + 0xa7, 0x89, 0x48, 0xbd, 0x24, 0xee, 0xb8, 0x92, 0x4d, 0x10, 0xba, 0x9e, 0xb7, 0x39, 0xb7, 0x91, + 0xaa, 0x35, 0x4f, 0x23, 0x2a, 0xed, 0x75, 0x60, 0x41, 0x6d, 0x84, 0xd0, 0x7a, 0x6a, 0x6f, 0xa6, + 0xdd, 0xaa, 0x5d, 0x9e, 0x22, 0xa1, 0x82, 0xa3, 0xf4, 0x30, 0x19, 0x70, 0xb2, 0xbd, 0x52, 0x06, + 0x9c, 0xbc, 0x16, 0xe8, 0x35, 0x7f, 0x13, 0x93, 0x4f, 0x7b, 0xaa, 0x16, 0x4d, 0x68, 0x83, 0x52, + 0xb5, 0x68, 0x52, 0x7f, 0xf0, 0xe0, 0x4f, 0x3f, 0x7e, 0x68, 0x68, 0xef, 0x3e, 0x34, 0xb4, 0xf7, + 0x1f, 0x1a, 0xda, 0xff, 0x3e, 0x36, 0x0a, 0xef, 0x3e, 0x36, 0x0a, 0x3f, 0x7d, 0x6c, 0x14, 0xfe, + 0x55, 0x9f, 0xf6, 0x4f, 0x88, 0xfd, 0x39, 0xf1, 0xeb, 0xf6, 0x2f, 0x01, 0x00, 0x00, 0xff, 0xff, + 0x44, 0xc8, 0x68, 0xc2, 0xab, 0x18, 0x00, 0x00, } func (m *SpaceSignRequest) Marshal() (dAtA []byte, err error) { @@ -2854,6 +2910,18 @@ func (m *SpaceStatusCheckManyResponse) MarshalToSizedBuffer(dAtA []byte) (int, e _ = i var l int _ = l + if m.AccountLimits != nil { + { + size, err := m.AccountLimits.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintCoordinator(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } if len(m.Payloads) > 0 { for iNdEx := len(m.Payloads) - 1; iNdEx >= 0; iNdEx-- { { @@ -2871,6 +2939,34 @@ func (m *SpaceStatusCheckManyResponse) MarshalToSizedBuffer(dAtA []byte) (int, e return len(dAtA) - i, nil } +func (m *AccountLimits) 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 *AccountLimits) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *AccountLimits) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.SharedSpacesLimit != 0 { + i = encodeVarintCoordinator(dAtA, i, uint64(m.SharedSpacesLimit)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + func (m *SpaceStatusChangeRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -3175,20 +3271,20 @@ func (m *Node) MarshalToSizedBuffer(dAtA []byte) (int, error) { var l int _ = l if len(m.Types) > 0 { - dAtA6 := make([]byte, len(m.Types)*10) - var j5 int + dAtA7 := make([]byte, len(m.Types)*10) + var j6 int for _, num := range m.Types { for num >= 1<<7 { - dAtA6[j5] = uint8(uint64(num)&0x7f | 0x80) + dAtA7[j6] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j5++ + j6++ } - dAtA6[j5] = uint8(num) - j5++ + dAtA7[j6] = uint8(num) + j6++ } - i -= j5 - copy(dAtA[i:], dAtA6[:j5]) - i = encodeVarintCoordinator(dAtA, i, uint64(j5)) + i -= j6 + copy(dAtA[i:], dAtA7[:j6]) + i = encodeVarintCoordinator(dAtA, i, uint64(j6)) i-- dAtA[i] = 0x1a } @@ -4090,6 +4186,22 @@ func (m *SpaceStatusCheckManyResponse) Size() (n int) { n += 1 + l + sovCoordinator(uint64(l)) } } + if m.AccountLimits != nil { + l = m.AccountLimits.Size() + n += 1 + l + sovCoordinator(uint64(l)) + } + return n +} + +func (m *AccountLimits) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.SharedSpacesLimit != 0 { + n += 1 + sovCoordinator(uint64(m.SharedSpacesLimit)) + } return n } @@ -5737,6 +5849,111 @@ func (m *SpaceStatusCheckManyResponse) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AccountLimits", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCoordinator + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthCoordinator + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthCoordinator + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.AccountLimits == nil { + m.AccountLimits = &AccountLimits{} + } + if err := m.AccountLimits.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipCoordinator(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthCoordinator + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *AccountLimits) 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 ErrIntOverflowCoordinator + } + 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: AccountLimits: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: AccountLimits: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SharedSpacesLimit", wireType) + } + m.SharedSpacesLimit = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCoordinator + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.SharedSpacesLimit |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipCoordinator(dAtA[iNdEx:]) diff --git a/coordinator/coordinatorproto/protos/coordinator.proto b/coordinator/coordinatorproto/protos/coordinator.proto index a4c5bbc6..67ce6266 100644 --- a/coordinator/coordinatorproto/protos/coordinator.proto +++ b/coordinator/coordinatorproto/protos/coordinator.proto @@ -141,8 +141,15 @@ message SpaceStatusCheckManyRequest { // SpaceStatusCheckManyResponse contains the current statuses of spaces message SpaceStatusCheckManyResponse { repeated SpaceStatusPayload payloads = 1; + AccountLimits accountLimits = 2; } +// AccountLimits describes account level limit +message AccountLimits { + uint32 sharedSpacesLimit = 1; +} + + // SpaceStatusChangeRequest contains the deletionChange if we want to delete space, or it is empty otherwise message SpaceStatusChangeRequest { string spaceId = 1;