1
0
Fork 0
mirror of https://github.com/anyproto/any-sync.git synced 2025-06-08 05:57:03 +09:00

Update logic

This commit is contained in:
Mikhail Rakhmanov 2025-04-10 15:14:32 +02:00
parent 7dee825636
commit 9877163c49
No known key found for this signature in database
GPG key ID: DED12CFEF5B8396B
4 changed files with 378 additions and 120 deletions

View file

@ -23,6 +23,7 @@ import (
"github.com/anyproto/any-sync/commonspace/sync/objectsync/objectmessages"
"github.com/anyproto/any-sync/net/peer"
"github.com/anyproto/any-sync/net/rpc/rpcerr"
"github.com/anyproto/any-sync/util/cidutil"
)
var ErrUnexpectedMessageType = errors.New("unexpected message type")
@ -193,7 +194,10 @@ func (k *keyValueService) Init(a *app.App) (err error) {
aclList := a.MustComponent(syncacl.CName).(list.AclList)
spaceStorage := a.MustComponent(spacestorage.CName).(spacestorage.SpaceStorage)
syncService := a.MustComponent(sync.CName).(sync.SyncService)
k.storageId = storageIdFromSpace(k.spaceId)
k.storageId, err = storageIdFromSpace(k.spaceId)
if err != nil {
return err
}
indexer := a.Component(keyvaluestorage.IndexerCName).(keyvaluestorage.Indexer)
if indexer == nil {
indexer = keyvaluestorage.NoOpIndexer{}
@ -225,6 +229,18 @@ func (k *keyValueService) Close(ctx context.Context) (err error) {
return nil
}
func storageIdFromSpace(spaceId string) (storageId string) {
return spaceId + ".keyvalue"
func storageIdFromSpace(spaceId string) (storageId string, err error) {
header := &spacesyncproto.StorageHeader{
SpaceId: spaceId,
StorageName: "default",
}
data, err := proto.Marshal(header)
if err != nil {
return "", err
}
cid, err := cidutil.NewCidFromBytes(data)
if err != nil {
return "", err
}
return cid, nil
}

View file

@ -53,7 +53,7 @@ type Storage interface {
Prepare() error
Set(ctx context.Context, key string, value []byte) error
SetRaw(ctx context.Context, keyValue ...*spacesyncproto.StoreKeyValue) error
GetAll(ctx context.Context, key string) (values []innerstorage.KeyValue, decryptor Decryptor, err error)
GetAll(ctx context.Context, key string, get func(decryptor Decryptor, values []innerstorage.KeyValue) error)
Iterate(ctx context.Context, f func(key string, values []innerstorage.KeyValue) (bool, error)) error
InnerStorage() innerstorage.KeyValueStorage
}
@ -248,13 +248,18 @@ func (s *storage) SetRaw(ctx context.Context, keyValue ...*spacesyncproto.StoreK
return nil
}
func (s *storage) GetAll(ctx context.Context, key string) (values []innerstorage.KeyValue, decryptor Decryptor, err error) {
decryptor = s.decrypt
func (s *storage) GetAll(ctx context.Context, key string, get func(decryptor Decryptor, values []innerstorage.KeyValue) error) (err error) {
var values []innerstorage.KeyValue
err = s.inner.IteratePrefix(ctx, key, func(kv innerstorage.KeyValue) error {
values = append(values, kv)
return nil
})
return
if err != nil {
return err
}
s.mx.Lock()
defer s.mx.Unlock()
return get(s.decrypt, values)
}
func (s *storage) InnerStorage() innerstorage.KeyValueStorage {

View file

@ -149,6 +149,12 @@ message ObjectDelete {
string id = 1;
}
// StoreHeader is a header for a store
message StoreHeader {
string spaceId = 1;
string storageName = 2;
}
// SpaceDelete is a message containing deleter peer id
message SpaceDelete {
string deleterPeerId = 1;

View file

@ -1248,6 +1248,67 @@ func (m *ObjectDelete) GetId() string {
return ""
}
// StoreHeader is a header for a store
type StoreHeader struct {
SpaceId string `protobuf:"bytes,1,opt,name=spaceId,proto3" json:"spaceId,omitempty"`
StorageName string `protobuf:"bytes,2,opt,name=storageName,proto3" json:"storageName,omitempty"`
}
func (m *StoreHeader) Reset() { *m = StoreHeader{} }
func (m *StoreHeader) String() string { return proto.CompactTextString(m) }
func (*StoreHeader) ProtoMessage() {}
func (*StoreHeader) Descriptor() ([]byte, []int) {
return fileDescriptor_80e49f1f4ac27799, []int{16}
}
func (m *StoreHeader) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
}
func (m *StoreHeader) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
if deterministic {
return xxx_messageInfo_StoreHeader.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 *StoreHeader) XXX_MarshalAppend(b []byte, newLen int) ([]byte, error) {
b = b[:newLen]
_, err := m.MarshalToSizedBuffer(b)
if err != nil {
return nil, err
}
return b, nil
}
func (m *StoreHeader) XXX_Merge(src proto.Message) {
xxx_messageInfo_StoreHeader.Merge(m, src)
}
func (m *StoreHeader) XXX_Size() int {
return m.Size()
}
func (m *StoreHeader) XXX_DiscardUnknown() {
xxx_messageInfo_StoreHeader.DiscardUnknown(m)
}
var xxx_messageInfo_StoreHeader proto.InternalMessageInfo
func (m *StoreHeader) GetSpaceId() string {
if m != nil {
return m.SpaceId
}
return ""
}
func (m *StoreHeader) GetStorageName() string {
if m != nil {
return m.StorageName
}
return ""
}
// SpaceDelete is a message containing deleter peer id
type SpaceDelete struct {
DeleterPeerId string `protobuf:"bytes,1,opt,name=deleterPeerId,proto3" json:"deleterPeerId,omitempty"`
@ -1257,7 +1318,7 @@ func (m *SpaceDelete) Reset() { *m = SpaceDelete{} }
func (m *SpaceDelete) String() string { return proto.CompactTextString(m) }
func (*SpaceDelete) ProtoMessage() {}
func (*SpaceDelete) Descriptor() ([]byte, []int) {
return fileDescriptor_80e49f1f4ac27799, []int{16}
return fileDescriptor_80e49f1f4ac27799, []int{17}
}
func (m *SpaceDelete) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -1311,7 +1372,7 @@ func (m *SpaceSettingsSnapshot) Reset() { *m = SpaceSettingsSnapshot{} }
func (m *SpaceSettingsSnapshot) String() string { return proto.CompactTextString(m) }
func (*SpaceSettingsSnapshot) ProtoMessage() {}
func (*SpaceSettingsSnapshot) Descriptor() ([]byte, []int) {
return fileDescriptor_80e49f1f4ac27799, []int{17}
return fileDescriptor_80e49f1f4ac27799, []int{18}
}
func (m *SpaceSettingsSnapshot) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -1372,7 +1433,7 @@ func (m *SettingsData) Reset() { *m = SettingsData{} }
func (m *SettingsData) String() string { return proto.CompactTextString(m) }
func (*SettingsData) ProtoMessage() {}
func (*SettingsData) Descriptor() ([]byte, []int) {
return fileDescriptor_80e49f1f4ac27799, []int{18}
return fileDescriptor_80e49f1f4ac27799, []int{19}
}
func (m *SettingsData) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -1432,7 +1493,7 @@ func (m *SpaceSubscription) Reset() { *m = SpaceSubscription{} }
func (m *SpaceSubscription) String() string { return proto.CompactTextString(m) }
func (*SpaceSubscription) ProtoMessage() {}
func (*SpaceSubscription) Descriptor() ([]byte, []int) {
return fileDescriptor_80e49f1f4ac27799, []int{19}
return fileDescriptor_80e49f1f4ac27799, []int{20}
}
func (m *SpaceSubscription) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -1493,7 +1554,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_80e49f1f4ac27799, []int{20}
return fileDescriptor_80e49f1f4ac27799, []int{21}
}
func (m *AclAddRecordRequest) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -1554,7 +1615,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_80e49f1f4ac27799, []int{21}
return fileDescriptor_80e49f1f4ac27799, []int{22}
}
func (m *AclAddRecordResponse) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -1616,7 +1677,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_80e49f1f4ac27799, []int{22}
return fileDescriptor_80e49f1f4ac27799, []int{23}
}
func (m *AclGetRecordsRequest) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -1676,7 +1737,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_80e49f1f4ac27799, []int{23}
return fileDescriptor_80e49f1f4ac27799, []int{24}
}
func (m *AclGetRecordsResponse) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -1729,7 +1790,7 @@ func (m *StoreDiffRequest) Reset() { *m = StoreDiffRequest{} }
func (m *StoreDiffRequest) String() string { return proto.CompactTextString(m) }
func (*StoreDiffRequest) ProtoMessage() {}
func (*StoreDiffRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_80e49f1f4ac27799, []int{24}
return fileDescriptor_80e49f1f4ac27799, []int{25}
}
func (m *StoreDiffRequest) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -1788,7 +1849,7 @@ func (m *StoreDiffResponse) Reset() { *m = StoreDiffResponse{} }
func (m *StoreDiffResponse) String() string { return proto.CompactTextString(m) }
func (*StoreDiffResponse) ProtoMessage() {}
func (*StoreDiffResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_80e49f1f4ac27799, []int{25}
return fileDescriptor_80e49f1f4ac27799, []int{26}
}
func (m *StoreDiffResponse) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -1844,7 +1905,7 @@ func (m *StoreKeyValue) Reset() { *m = StoreKeyValue{} }
func (m *StoreKeyValue) String() string { return proto.CompactTextString(m) }
func (*StoreKeyValue) ProtoMessage() {}
func (*StoreKeyValue) Descriptor() ([]byte, []int) {
return fileDescriptor_80e49f1f4ac27799, []int{26}
return fileDescriptor_80e49f1f4ac27799, []int{27}
}
func (m *StoreKeyValue) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -1924,7 +1985,7 @@ func (m *StoreKeyValues) Reset() { *m = StoreKeyValues{} }
func (m *StoreKeyValues) String() string { return proto.CompactTextString(m) }
func (*StoreKeyValues) ProtoMessage() {}
func (*StoreKeyValues) Descriptor() ([]byte, []int) {
return fileDescriptor_80e49f1f4ac27799, []int{27}
return fileDescriptor_80e49f1f4ac27799, []int{28}
}
func (m *StoreKeyValues) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -1981,7 +2042,7 @@ func (m *StoreKeyInner) Reset() { *m = StoreKeyInner{} }
func (m *StoreKeyInner) String() string { return proto.CompactTextString(m) }
func (*StoreKeyInner) ProtoMessage() {}
func (*StoreKeyInner) Descriptor() ([]byte, []int) {
return fileDescriptor_80e49f1f4ac27799, []int{28}
return fileDescriptor_80e49f1f4ac27799, []int{29}
}
func (m *StoreKeyInner) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -2069,7 +2130,7 @@ func (m *StorageHeader) Reset() { *m = StorageHeader{} }
func (m *StorageHeader) String() string { return proto.CompactTextString(m) }
func (*StorageHeader) ProtoMessage() {}
func (*StorageHeader) Descriptor() ([]byte, []int) {
return fileDescriptor_80e49f1f4ac27799, []int{29}
return fileDescriptor_80e49f1f4ac27799, []int{30}
}
func (m *StorageHeader) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -2141,6 +2202,7 @@ func init() {
proto.RegisterType((*RawSpaceHeaderWithId)(nil), "spacesync.RawSpaceHeaderWithId")
proto.RegisterType((*SpaceSettingsContent)(nil), "spacesync.SpaceSettingsContent")
proto.RegisterType((*ObjectDelete)(nil), "spacesync.ObjectDelete")
proto.RegisterType((*StoreHeader)(nil), "spacesync.StoreHeader")
proto.RegisterType((*SpaceDelete)(nil), "spacesync.SpaceDelete")
proto.RegisterType((*SpaceSettingsSnapshot)(nil), "spacesync.SpaceSettingsSnapshot")
proto.RegisterType((*SettingsData)(nil), "spacesync.SettingsData")
@ -2162,105 +2224,106 @@ func init() {
}
var fileDescriptor_80e49f1f4ac27799 = []byte{
// 1562 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x18, 0xcd, 0x6f, 0x1b, 0xc5,
0x37, 0xbb, 0x4e, 0x1c, 0xfb, 0xc5, 0x71, 0x37, 0x93, 0xa4, 0xf1, 0xcf, 0xad, 0x5c, 0x6b, 0xf4,
0x53, 0x89, 0x22, 0x68, 0x9b, 0x14, 0x2a, 0xb5, 0xc0, 0x21, 0x4d, 0xd2, 0xc6, 0x94, 0x34, 0xd1,
0xb8, 0x1f, 0x12, 0x12, 0x48, 0x9b, 0xdd, 0x49, 0xb2, 0x74, 0xbd, 0x6b, 0x76, 0xc6, 0x6d, 0x7c,
0xe4, 0xc4, 0x09, 0xc4, 0x99, 0xff, 0x81, 0x03, 0xff, 0x05, 0xc7, 0xc2, 0x89, 0x23, 0x6a, 0xef,
0xfc, 0x0d, 0x68, 0x66, 0x67, 0x67, 0x67, 0xfd, 0x51, 0x8a, 0x2a, 0x2e, 0xf1, 0xbc, 0xcf, 0x79,
0xef, 0xcd, 0xfb, 0xda, 0xc0, 0xa6, 0x17, 0xf7, 0x7a, 0x71, 0xc4, 0xfa, 0xae, 0x47, 0xaf, 0xcb,
0xbf, 0x6c, 0x18, 0x79, 0xfd, 0x24, 0xe6, 0xf1, 0x75, 0xf9, 0x97, 0xe5, 0xd8, 0x6b, 0x12, 0x81,
0xaa, 0x1a, 0x81, 0x29, 0x2c, 0xee, 0x53, 0xd7, 0xef, 0x0e, 0x23, 0x8f, 0xb8, 0xd1, 0x29, 0x45,
0x08, 0x66, 0x4f, 0x92, 0xb8, 0xd7, 0xb0, 0xda, 0xd6, 0xfa, 0x2c, 0x91, 0x67, 0x54, 0x07, 0x9b,
0xc7, 0x0d, 0x5b, 0x62, 0x6c, 0x1e, 0xa3, 0x15, 0x98, 0x0b, 0x83, 0x5e, 0xc0, 0x1b, 0xa5, 0xb6,
0xb5, 0xbe, 0x48, 0x52, 0x00, 0x35, 0xa1, 0x42, 0x43, 0xda, 0xa3, 0x11, 0x67, 0x8d, 0xd9, 0xb6,
0xb5, 0x5e, 0x21, 0x1a, 0xc6, 0xe7, 0x50, 0xd7, 0xd7, 0x50, 0x36, 0x08, 0xb9, 0xb8, 0xe7, 0xcc,
0x65, 0x67, 0xf2, 0x9e, 0x1a, 0x91, 0x67, 0xf4, 0x89, 0xa1, 0xc1, 0x6e, 0x97, 0xd6, 0x17, 0xb6,
0xda, 0xd7, 0x72, 0xdb, 0x8b, 0x0a, 0xf6, 0x52, 0xc6, 0xfc, 0x0e, 0x61, 0x95, 0x17, 0x0f, 0x22,
0x6d, 0x95, 0x04, 0xf0, 0xc7, 0xb0, 0x3a, 0x51, 0x50, 0x38, 0x15, 0xf8, 0xf2, 0xfa, 0x2a, 0xb1,
0x03, 0x5f, 0x1a, 0x44, 0x5d, 0x5f, 0xba, 0x59, 0x25, 0xf2, 0x8c, 0x7f, 0xb0, 0xe0, 0x42, 0x2e,
0xfd, 0xcd, 0x80, 0x32, 0x8e, 0x1a, 0x30, 0x2f, 0x6d, 0xea, 0x64, 0xc2, 0x19, 0x88, 0x6e, 0x40,
0x39, 0x11, 0x31, 0xcc, 0x8c, 0x6f, 0x4c, 0x32, 0x5e, 0x30, 0x10, 0xc5, 0x87, 0xae, 0x43, 0xc5,
0x0f, 0x4e, 0x4e, 0x1e, 0x0d, 0xfb, 0x54, 0x5a, 0x5d, 0xdf, 0x5a, 0x36, 0x64, 0x76, 0x15, 0x89,
0x68, 0x26, 0x7c, 0x0e, 0x8e, 0xe1, 0x4d, 0x3f, 0x8e, 0x18, 0x45, 0x37, 0x61, 0x3e, 0x91, 0x9e,
0xb1, 0x86, 0x25, 0xef, 0xfd, 0xdf, 0xd4, 0xa0, 0x91, 0x8c, 0xb3, 0x70, 0xb3, 0xfd, 0x36, 0x37,
0xff, 0x6e, 0xc1, 0xd2, 0xe1, 0xf1, 0xd7, 0xd4, 0xe3, 0x42, 0xdd, 0x01, 0x65, 0xcc, 0x3d, 0xa5,
0x6f, 0x08, 0xc6, 0x65, 0xa8, 0x26, 0x69, 0xc4, 0x3a, 0x59, 0x4c, 0x73, 0x84, 0x90, 0x4b, 0x68,
0x3f, 0x1c, 0x76, 0x7c, 0xe9, 0x77, 0x95, 0x64, 0xa0, 0xa0, 0xf4, 0xdd, 0x61, 0x18, 0xbb, 0xbe,
0x4c, 0xa2, 0x1a, 0xc9, 0x40, 0x91, 0x5f, 0xb1, 0x34, 0xa0, 0xe3, 0x37, 0xe6, 0xa4, 0x90, 0x86,
0xd1, 0x47, 0x00, 0xe9, 0x59, 0x3a, 0x54, 0x96, 0x0e, 0xad, 0x1a, 0x0e, 0x1d, 0x6a, 0x22, 0x31,
0x18, 0x31, 0x05, 0xa7, 0x2b, 0x78, 0x8e, 0x06, 0xec, 0x2c, 0x7b, 0xdf, 0xcd, 0xdc, 0x00, 0xe1,
0xd2, 0xc2, 0xd6, 0x9a, 0xa1, 0x27, 0xe5, 0x4e, 0xc9, 0xb9, 0x65, 0x2d, 0x80, 0x9d, 0x84, 0xfa,
0x34, 0xe2, 0x81, 0x1b, 0x4a, 0x67, 0x6b, 0xc4, 0xc0, 0xe0, 0x65, 0x58, 0x32, 0xae, 0x49, 0x9f,
0x0d, 0x63, 0x7d, 0x77, 0x18, 0x66, 0x77, 0x8f, 0xe4, 0x24, 0xbe, 0xa7, 0x05, 0x05, 0x8f, 0x7a,
0xef, 0x7f, 0x6f, 0x20, 0xfe, 0xd6, 0x86, 0x9a, 0x49, 0x41, 0xdb, 0xb0, 0x20, 0x65, 0x44, 0x7a,
0xd0, 0x44, 0xe9, 0xb9, 0x62, 0xe8, 0x21, 0xee, 0x8b, 0x6e, 0xce, 0xf0, 0x34, 0xe0, 0x67, 0x1d,
0x9f, 0x98, 0x32, 0xc2, 0x69, 0xd7, 0x0b, 0x95, 0xc2, 0xcc, 0xe9, 0x1c, 0x83, 0x30, 0xd4, 0x72,
0x48, 0xbf, 0x73, 0x01, 0x87, 0xb6, 0x60, 0x45, 0xaa, 0xec, 0x52, 0xce, 0x83, 0xe8, 0x94, 0x1d,
0x15, 0x5e, 0x7e, 0x22, 0x0d, 0xdd, 0x82, 0x8b, 0x93, 0xf0, 0x3a, 0x29, 0xa6, 0x50, 0xf1, 0x6f,
0x16, 0x2c, 0x18, 0x2e, 0x89, 0x74, 0x0a, 0xe4, 0x03, 0xf1, 0xa1, 0x6a, 0x42, 0x1a, 0x16, 0xc9,
0xcb, 0x83, 0x1e, 0x65, 0xdc, 0xed, 0xf5, 0xa5, 0x6b, 0x25, 0x92, 0x23, 0x04, 0x55, 0xde, 0xa1,
0xcb, 0xb6, 0x4a, 0x72, 0x04, 0xba, 0x0a, 0x75, 0x91, 0xcb, 0x81, 0xe7, 0xf2, 0x20, 0x8e, 0x1e,
0xd0, 0xa1, 0xf4, 0x66, 0x96, 0x8c, 0x60, 0x45, 0xbf, 0x61, 0x94, 0xa6, 0x56, 0xd7, 0x88, 0x3c,
0xa3, 0x6b, 0x80, 0x8c, 0x10, 0x67, 0xd1, 0x28, 0x4b, 0x8e, 0x09, 0x14, 0x7c, 0x04, 0xf5, 0xe2,
0x43, 0xa1, 0xf6, 0xf8, 0xc3, 0xd6, 0x8a, 0xef, 0x26, 0xac, 0x0f, 0x4e, 0x23, 0x97, 0x0f, 0x12,
0xaa, 0x9e, 0x2d, 0x47, 0xe0, 0x5d, 0x58, 0x99, 0xf4, 0xf4, 0xb2, 0x9c, 0xdd, 0x17, 0x05, 0xad,
0x39, 0x42, 0xe5, 0xad, 0xad, 0xf3, 0xf6, 0x27, 0x0b, 0x56, 0xba, 0xe6, 0x33, 0xec, 0xc4, 0x11,
0x17, 0x4d, 0xf7, 0x53, 0xa8, 0xa5, 0xe5, 0xb7, 0x4b, 0x43, 0xca, 0xe9, 0x84, 0x04, 0x3e, 0x34,
0xc8, 0xfb, 0x33, 0xa4, 0xc0, 0x8e, 0xee, 0x28, 0xef, 0x94, 0xb4, 0x2d, 0xa5, 0x2f, 0x8e, 0xa6,
0xbf, 0x16, 0x36, 0x99, 0xef, 0xce, 0xc3, 0xdc, 0x73, 0x37, 0x1c, 0x50, 0xdc, 0x82, 0x9a, 0x79,
0xc9, 0x58, 0xd1, 0xdd, 0x54, 0x79, 0xa2, 0xc8, 0xff, 0x87, 0x45, 0x5f, 0x9e, 0x92, 0x23, 0x4a,
0x13, 0xdd, 0xe8, 0x8a, 0x48, 0xfc, 0x25, 0xac, 0x16, 0x1c, 0xee, 0x46, 0x6e, 0x9f, 0x9d, 0xc5,
0x5c, 0x94, 0x49, 0xca, 0xe9, 0x77, 0xfc, 0xb4, 0x41, 0x57, 0x89, 0x81, 0x19, 0x57, 0x6f, 0x4f,
0x52, 0xff, 0x9d, 0x05, 0xb5, 0x4c, 0xf5, 0xae, 0xcb, 0x5d, 0x74, 0x1b, 0xe6, 0xbd, 0x34, 0xa6,
0xaa, 0xe9, 0x5f, 0x19, 0x8d, 0xc2, 0x48, 0xe8, 0x49, 0xc6, 0x2f, 0xa6, 0x2c, 0x53, 0xd6, 0xa9,
0x08, 0xb6, 0xa7, 0xc9, 0x66, 0x5e, 0x10, 0x2d, 0x81, 0x9f, 0xa9, 0x96, 0xd4, 0x1d, 0x1c, 0x33,
0x2f, 0x09, 0xfa, 0x22, 0x9d, 0x45, 0x2d, 0xa9, 0xbe, 0x9f, 0xb9, 0xa8, 0x61, 0x74, 0x07, 0xca,
0xae, 0x27, 0xb8, 0xd4, 0x9c, 0xc1, 0x63, 0x97, 0x19, 0x9a, 0xb6, 0x25, 0x27, 0x51, 0x12, 0xb8,
0x03, 0xcb, 0xdb, 0x5e, 0xb8, 0xed, 0xfb, 0x84, 0x7a, 0x71, 0xe2, 0xff, 0xf3, 0x08, 0x36, 0xa6,
0x87, 0x5d, 0x98, 0x1e, 0xf8, 0x73, 0x58, 0x29, 0xaa, 0x52, 0xdd, 0xb4, 0x09, 0x95, 0x44, 0x62,
0xb4, 0x32, 0x0d, 0xbf, 0x41, 0xdb, 0x67, 0x52, 0xdb, 0x7d, 0xca, 0x53, 0x6d, 0xec, 0xad, 0x2c,
0x73, 0xbd, 0x70, 0x3f, 0xdf, 0x30, 0x32, 0x10, 0x6f, 0xc2, 0xea, 0x88, 0x2e, 0x65, 0x9a, 0x1c,
0x92, 0x12, 0x25, 0x83, 0x5a, 0x23, 0x19, 0x88, 0xbf, 0x02, 0xa7, 0xcb, 0xe3, 0x84, 0x8a, 0x39,
0xfd, 0x1f, 0xec, 0x25, 0x78, 0x1f, 0x96, 0x0c, 0xfd, 0xef, 0xb0, 0x67, 0xe0, 0x5f, 0x2c, 0x58,
0x94, 0xaa, 0x1e, 0xd0, 0xe1, 0x13, 0x51, 0x7e, 0xa2, 0x93, 0x3c, 0xa3, 0xc3, 0x42, 0x2d, 0xe5,
0x08, 0xb1, 0xc4, 0xc9, 0x2a, 0x55, 0x01, 0x4f, 0x01, 0xf4, 0x3e, 0x2c, 0x65, 0xbd, 0xb9, 0xab,
0x7b, 0x57, 0x49, 0x72, 0x8c, 0x13, 0x44, 0x49, 0xf5, 0x29, 0x4d, 0x72, 0xce, 0x74, 0x9c, 0x14,
0x91, 0x66, 0xbc, 0xe6, 0x0a, 0xf1, 0xc2, 0xfb, 0x50, 0x2f, 0x98, 0xcc, 0xd0, 0x2d, 0x69, 0x73,
0x0a, 0x28, 0xe7, 0xcd, 0x20, 0x16, 0xb8, 0x49, 0xce, 0x8a, 0x7f, 0x36, 0xbc, 0xef, 0x44, 0x11,
0x4d, 0x44, 0xd7, 0x17, 0x66, 0x64, 0x6b, 0xaf, 0x38, 0x17, 0x26, 0x91, 0x3d, 0x32, 0x89, 0x74,
0x3c, 0x4a, 0x66, 0x3c, 0xae, 0x42, 0x5d, 0x8f, 0xa3, 0x83, 0x20, 0x0c, 0x03, 0xe9, 0x62, 0x89,
0x8c, 0x60, 0x45, 0xac, 0x55, 0x96, 0x69, 0x2f, 0x73, 0x04, 0x72, 0xa0, 0xf4, 0x8c, 0x0e, 0xe5,
0x78, 0xa9, 0x12, 0x71, 0xc4, 0x0f, 0x52, 0x73, 0xdd, 0xd3, 0x6c, 0x58, 0x4c, 0x4f, 0x2a, 0x31,
0x68, 0x52, 0xd6, 0x87, 0x6e, 0x8f, 0xaa, 0x9c, 0x36, 0x51, 0x1b, 0x7f, 0x59, 0x50, 0xd9, 0x4b,
0x92, 0x9d, 0xd8, 0xa7, 0x0c, 0xd5, 0x01, 0x1e, 0x47, 0xf4, 0xbc, 0x4f, 0x3d, 0x4e, 0x7d, 0x67,
0x06, 0x39, 0x6a, 0x21, 0x39, 0x08, 0x18, 0x0b, 0xa2, 0x53, 0xc7, 0x42, 0x17, 0x54, 0xdb, 0xdd,
0x3b, 0x0f, 0x18, 0x67, 0x8e, 0x8d, 0x96, 0xe1, 0x82, 0x44, 0x3c, 0x8c, 0x79, 0x27, 0xda, 0x71,
0xbd, 0x33, 0xea, 0x94, 0x10, 0x82, 0xba, 0x44, 0x76, 0x58, 0xda, 0x9e, 0x7d, 0x67, 0x16, 0x35,
0x60, 0x45, 0x66, 0x0f, 0x7b, 0x18, 0x73, 0x95, 0xad, 0xc1, 0x71, 0x48, 0x9d, 0x39, 0xb4, 0x02,
0x0e, 0xa1, 0x1e, 0x0d, 0xfa, 0xbc, 0xc3, 0x3a, 0xd1, 0x73, 0x37, 0x0c, 0x7c, 0xa7, 0x2c, 0x74,
0x28, 0x40, 0xcd, 0x51, 0x67, 0x5e, 0x70, 0xee, 0x0e, 0xd2, 0xf9, 0x4c, 0x55, 0x45, 0x39, 0x15,
0x74, 0x09, 0xd6, 0x1e, 0xc5, 0xf1, 0x81, 0x1b, 0x0d, 0x15, 0x8e, 0xdd, 0x4b, 0xe2, 0x9e, 0xb8,
0xcc, 0xa9, 0x0a, 0x83, 0xf7, 0x92, 0x24, 0x4e, 0x0e, 0x4f, 0x4e, 0x18, 0xe5, 0x8e, 0xbf, 0x71,
0x1b, 0xd6, 0xa6, 0x34, 0x34, 0xb4, 0x08, 0x55, 0x85, 0x3d, 0xa6, 0xce, 0x8c, 0x10, 0x7d, 0x1c,
0x31, 0x8d, 0xb0, 0x36, 0xde, 0x83, 0x4a, 0xb6, 0x73, 0xa3, 0x05, 0x98, 0xef, 0x44, 0x81, 0x58,
0x1c, 0x9d, 0x19, 0x54, 0x06, 0xfb, 0xc9, 0xa6, 0x63, 0xc9, 0xdf, 0x2d, 0xc7, 0xde, 0xf8, 0x00,
0x20, 0xdf, 0x65, 0x51, 0x05, 0x66, 0x1f, 0x25, 0x54, 0x68, 0x9c, 0x87, 0xd2, 0xb6, 0x17, 0x3a,
0x16, 0xaa, 0x41, 0x25, 0xcb, 0x44, 0xc7, 0xde, 0xfa, 0xbe, 0x0c, 0xd5, 0xd4, 0xa6, 0x61, 0xe4,
0xa1, 0x1d, 0xa8, 0x64, 0x75, 0x8a, 0x9a, 0x13, 0x8b, 0x57, 0x3a, 0xd9, 0xbc, 0x34, 0xb9, 0xb0,
0xd3, 0x36, 0x70, 0x0f, 0xaa, 0xba, 0x37, 0xa0, 0x4b, 0xa3, 0x55, 0x60, 0x74, 0xa4, 0xe6, 0xe5,
0xc9, 0x44, 0xa5, 0xe7, 0xbe, 0x2a, 0x8d, 0xbd, 0xec, 0xfb, 0x6d, 0x6a, 0x45, 0x35, 0xa7, 0x52,
0xd6, 0xad, 0x1b, 0x96, 0x34, 0x28, 0xdb, 0xae, 0x8b, 0x06, 0x8d, 0xac, 0xf6, 0x45, 0x83, 0x46,
0x17, 0x72, 0x43, 0x4f, 0x18, 0x4e, 0xd2, 0xa3, 0xd7, 0xf4, 0x49, 0x7a, 0x8c, 0xfd, 0x9c, 0x80,
0x93, 0x7f, 0x28, 0x75, 0x79, 0x42, 0xdd, 0x1e, 0xba, 0x3c, 0xb6, 0xe1, 0x18, 0x5f, 0x51, 0xcd,
0x37, 0x52, 0xa5, 0x8f, 0xfb, 0xd9, 0xb3, 0xcb, 0xb7, 0x7b, 0x07, 0x6d, 0xe8, 0x29, 0xac, 0xe5,
0x48, 0xe5, 0xd0, 0xbb, 0x1b, 0x79, 0xc3, 0x42, 0x87, 0x50, 0x33, 0x07, 0x2c, 0x6a, 0x19, 0xfc,
0x13, 0x86, 0x78, 0xf3, 0xca, 0x54, 0xba, 0x8e, 0xe3, 0x62, 0x61, 0x2e, 0xa2, 0x11, 0x89, 0xb1,
0xe9, 0xdb, 0x6c, 0x4f, 0x67, 0x48, 0x75, 0xde, 0xfd, 0xf0, 0xd7, 0x57, 0x2d, 0xeb, 0xe5, 0xab,
0x96, 0xf5, 0xe7, 0xab, 0x96, 0xf5, 0xe3, 0xeb, 0xd6, 0xcc, 0xcb, 0xd7, 0xad, 0x99, 0x3f, 0x5e,
0xb7, 0x66, 0xbe, 0x68, 0x4e, 0xff, 0x37, 0xca, 0x71, 0x59, 0xfe, 0xdc, 0xfc, 0x3b, 0x00, 0x00,
0xff, 0xff, 0x49, 0xe0, 0x66, 0x0a, 0x6b, 0x11, 0x00, 0x00,
// 1572 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x18, 0x4d, 0x6f, 0x1b, 0x45,
0x3b, 0xbb, 0x4e, 0x1c, 0xfb, 0x89, 0xe3, 0x6e, 0x26, 0x49, 0xe3, 0xd7, 0xad, 0x5c, 0x6b, 0xf4,
0xaa, 0x6f, 0x14, 0xbd, 0xb4, 0x4d, 0x0a, 0x95, 0x5a, 0xe0, 0x90, 0x26, 0x69, 0x63, 0x4a, 0x9a,
0x68, 0xdc, 0x0f, 0x09, 0x09, 0xa4, 0xcd, 0xee, 0x24, 0x59, 0xba, 0xde, 0x35, 0x3b, 0xe3, 0x36,
0x3e, 0x72, 0xe2, 0x04, 0xe2, 0xcc, 0x7f, 0xe0, 0xc0, 0xbf, 0xe0, 0x58, 0x38, 0x71, 0x44, 0xed,
0x9d, 0xdf, 0x80, 0x66, 0x76, 0x76, 0x76, 0xd6, 0x1f, 0xa5, 0xa8, 0x70, 0x89, 0xe7, 0x79, 0xe6,
0xf9, 0xfe, 0x9c, 0x0d, 0x6c, 0x7a, 0x71, 0xaf, 0x17, 0x47, 0xac, 0xef, 0x7a, 0xf4, 0xba, 0xfc,
0xcb, 0x86, 0x91, 0xd7, 0x4f, 0x62, 0x1e, 0x5f, 0x97, 0x7f, 0x59, 0x8e, 0xbd, 0x26, 0x11, 0xa8,
0xaa, 0x11, 0x98, 0xc2, 0xe2, 0x3e, 0x75, 0xfd, 0xee, 0x30, 0xf2, 0x88, 0x1b, 0x9d, 0x52, 0x84,
0x60, 0xf6, 0x24, 0x89, 0x7b, 0x0d, 0xab, 0x6d, 0xad, 0xcf, 0x12, 0x79, 0x46, 0x75, 0xb0, 0x79,
0xdc, 0xb0, 0x25, 0xc6, 0xe6, 0x31, 0x5a, 0x81, 0xb9, 0x30, 0xe8, 0x05, 0xbc, 0x51, 0x6a, 0x5b,
0xeb, 0x8b, 0x24, 0x05, 0x50, 0x13, 0x2a, 0x34, 0xa4, 0x3d, 0x1a, 0x71, 0xd6, 0x98, 0x6d, 0x5b,
0xeb, 0x15, 0xa2, 0x61, 0x7c, 0x0e, 0x75, 0xad, 0x86, 0xb2, 0x41, 0xc8, 0x85, 0x9e, 0x33, 0x97,
0x9d, 0x49, 0x3d, 0x35, 0x22, 0xcf, 0xe8, 0x23, 0x43, 0x82, 0xdd, 0x2e, 0xad, 0x2f, 0x6c, 0xb5,
0xaf, 0xe5, 0xb6, 0x17, 0x05, 0xec, 0xa5, 0x84, 0xb9, 0x0e, 0x61, 0x95, 0x17, 0x0f, 0x22, 0x6d,
0x95, 0x04, 0xf0, 0x87, 0xb0, 0x3a, 0x91, 0x51, 0x38, 0x15, 0xf8, 0x52, 0x7d, 0x95, 0xd8, 0x81,
0x2f, 0x0d, 0xa2, 0xae, 0x2f, 0xdd, 0xac, 0x12, 0x79, 0xc6, 0xdf, 0x59, 0x70, 0x21, 0xe7, 0xfe,
0x6a, 0x40, 0x19, 0x47, 0x0d, 0x98, 0x97, 0x36, 0x75, 0x32, 0xe6, 0x0c, 0x44, 0x37, 0xa0, 0x9c,
0x88, 0x18, 0x66, 0xc6, 0x37, 0x26, 0x19, 0x2f, 0x08, 0x88, 0xa2, 0x43, 0xd7, 0xa1, 0xe2, 0x07,
0x27, 0x27, 0x8f, 0x86, 0x7d, 0x2a, 0xad, 0xae, 0x6f, 0x2d, 0x1b, 0x3c, 0xbb, 0xea, 0x8a, 0x68,
0x22, 0x7c, 0x0e, 0x8e, 0xe1, 0x4d, 0x3f, 0x8e, 0x18, 0x45, 0x37, 0x61, 0x3e, 0x91, 0x9e, 0xb1,
0x86, 0x25, 0xf5, 0xfe, 0x67, 0x6a, 0xd0, 0x48, 0x46, 0x59, 0xd0, 0x6c, 0xbf, 0x8d, 0xe6, 0x5f,
0x2d, 0x58, 0x3a, 0x3c, 0xfe, 0x92, 0x7a, 0x5c, 0x88, 0x3b, 0xa0, 0x8c, 0xb9, 0xa7, 0xf4, 0x0d,
0xc1, 0xb8, 0x0c, 0xd5, 0x24, 0x8d, 0x58, 0x27, 0x8b, 0x69, 0x8e, 0x10, 0x7c, 0x09, 0xed, 0x87,
0xc3, 0x8e, 0x2f, 0xfd, 0xae, 0x92, 0x0c, 0x14, 0x37, 0x7d, 0x77, 0x18, 0xc6, 0xae, 0x2f, 0x8b,
0xa8, 0x46, 0x32, 0x50, 0xd4, 0x57, 0x2c, 0x0d, 0xe8, 0xf8, 0x8d, 0x39, 0xc9, 0xa4, 0x61, 0xf4,
0x01, 0x40, 0x7a, 0x96, 0x0e, 0x95, 0xa5, 0x43, 0xab, 0x86, 0x43, 0x87, 0xfa, 0x92, 0x18, 0x84,
0x98, 0x82, 0xd3, 0x15, 0x34, 0x47, 0x03, 0x76, 0x96, 0xe5, 0x77, 0x33, 0x37, 0x40, 0xb8, 0xb4,
0xb0, 0xb5, 0x66, 0xc8, 0x49, 0xa9, 0xd3, 0xeb, 0xdc, 0xb2, 0x16, 0xc0, 0x4e, 0x42, 0x7d, 0x1a,
0xf1, 0xc0, 0x0d, 0xa5, 0xb3, 0x35, 0x62, 0x60, 0xf0, 0x32, 0x2c, 0x19, 0x6a, 0xd2, 0xb4, 0x61,
0xac, 0x75, 0x87, 0x61, 0xa6, 0x7b, 0xa4, 0x26, 0xf1, 0x3d, 0xcd, 0x28, 0x68, 0x54, 0xbe, 0xff,
0xbe, 0x81, 0xf8, 0x6b, 0x1b, 0x6a, 0xe6, 0x0d, 0xda, 0x86, 0x05, 0xc9, 0x23, 0xca, 0x83, 0x26,
0x4a, 0xce, 0x15, 0x43, 0x0e, 0x71, 0x5f, 0x74, 0x73, 0x82, 0xa7, 0x01, 0x3f, 0xeb, 0xf8, 0xc4,
0xe4, 0x11, 0x4e, 0xbb, 0x5e, 0xa8, 0x04, 0x66, 0x4e, 0xe7, 0x18, 0x84, 0xa1, 0x96, 0x43, 0x3a,
0xcf, 0x05, 0x1c, 0xda, 0x82, 0x15, 0x29, 0xb2, 0x4b, 0x39, 0x0f, 0xa2, 0x53, 0x76, 0x54, 0xc8,
0xfc, 0xc4, 0x3b, 0x74, 0x0b, 0x2e, 0x4e, 0xc2, 0xeb, 0xa2, 0x98, 0x72, 0x8b, 0x7f, 0xb1, 0x60,
0xc1, 0x70, 0x49, 0x94, 0x53, 0x20, 0x13, 0xc4, 0x87, 0x6a, 0x08, 0x69, 0x58, 0x14, 0x2f, 0x0f,
0x7a, 0x94, 0x71, 0xb7, 0xd7, 0x97, 0xae, 0x95, 0x48, 0x8e, 0x10, 0xb7, 0x52, 0x87, 0x6e, 0xdb,
0x2a, 0xc9, 0x11, 0xe8, 0x2a, 0xd4, 0x45, 0x2d, 0x07, 0x9e, 0xcb, 0x83, 0x38, 0x7a, 0x40, 0x87,
0xd2, 0x9b, 0x59, 0x32, 0x82, 0x15, 0xf3, 0x86, 0x51, 0x9a, 0x5a, 0x5d, 0x23, 0xf2, 0x8c, 0xae,
0x01, 0x32, 0x42, 0x9c, 0x45, 0xa3, 0x2c, 0x29, 0x26, 0xdc, 0xe0, 0x23, 0xa8, 0x17, 0x13, 0x85,
0xda, 0xe3, 0x89, 0xad, 0x15, 0xf3, 0x26, 0xac, 0x0f, 0x4e, 0x23, 0x97, 0x0f, 0x12, 0xaa, 0xd2,
0x96, 0x23, 0xf0, 0x2e, 0xac, 0x4c, 0x4a, 0xbd, 0x6c, 0x67, 0xf7, 0x45, 0x41, 0x6a, 0x8e, 0x50,
0x75, 0x6b, 0xeb, 0xba, 0xfd, 0xc1, 0x82, 0x95, 0xae, 0x99, 0x86, 0x9d, 0x38, 0xe2, 0x62, 0xe8,
0x7e, 0x0c, 0xb5, 0xb4, 0xfd, 0x76, 0x69, 0x48, 0x39, 0x9d, 0x50, 0xc0, 0x87, 0xc6, 0xf5, 0xfe,
0x0c, 0x29, 0x90, 0xa3, 0x3b, 0xca, 0x3b, 0xc5, 0x6d, 0x4b, 0xee, 0x8b, 0xa3, 0xe5, 0xaf, 0x99,
0x4d, 0xe2, 0xbb, 0xf3, 0x30, 0xf7, 0xdc, 0x0d, 0x07, 0x14, 0xb7, 0xa0, 0x66, 0x2a, 0x19, 0x6b,
0xba, 0x0e, 0x2c, 0x74, 0x79, 0x9c, 0x64, 0xf1, 0x9a, 0x3e, 0xe2, 0x44, 0xac, 0x79, 0x9c, 0xb8,
0xa7, 0xf4, 0xa1, 0xdb, 0xa3, 0xca, 0x7d, 0x13, 0x85, 0x6f, 0xaa, 0x92, 0x53, 0x9a, 0xfe, 0x0b,
0x8b, 0xbe, 0x3c, 0x25, 0x47, 0x94, 0x26, 0x5a, 0x60, 0x11, 0x89, 0x3f, 0x87, 0xd5, 0x42, 0xec,
0xba, 0x91, 0xdb, 0x67, 0x67, 0x31, 0x17, 0x1d, 0x97, 0x52, 0xfa, 0x1d, 0x3f, 0x9d, 0xf5, 0x55,
0x62, 0x60, 0xc6, 0xc5, 0xdb, 0x93, 0xc4, 0x7f, 0x63, 0x41, 0x2d, 0x13, 0xbd, 0xeb, 0x72, 0x17,
0xdd, 0x86, 0x79, 0x2f, 0x4d, 0x8f, 0xda, 0x1f, 0x57, 0x46, 0x03, 0x3a, 0x92, 0x45, 0x92, 0xd1,
0x8b, 0x85, 0xcd, 0x94, 0x75, 0x2a, 0x19, 0xed, 0x69, 0xbc, 0x99, 0x17, 0x44, 0x73, 0xe0, 0x67,
0x6a, 0xba, 0x75, 0x07, 0xc7, 0xcc, 0x4b, 0x82, 0xbe, 0xe8, 0x0c, 0xd1, 0x96, 0x2a, 0xbe, 0x99,
0x8b, 0x1a, 0x46, 0x77, 0xa0, 0xec, 0x7a, 0x82, 0x4a, 0xad, 0x2c, 0x3c, 0xa6, 0xcc, 0x90, 0xb4,
0x2d, 0x29, 0x89, 0xe2, 0xc0, 0x1d, 0x58, 0xde, 0xf6, 0xc2, 0x6d, 0xdf, 0x27, 0xd4, 0x8b, 0x13,
0xff, 0xaf, 0xb7, 0xb9, 0xb1, 0x88, 0xec, 0xc2, 0x22, 0xc2, 0x9f, 0xc2, 0x4a, 0x51, 0x94, 0x1a,
0xcc, 0x4d, 0xa8, 0x24, 0x12, 0xa3, 0x85, 0x69, 0xf8, 0x0d, 0xd2, 0x3e, 0x91, 0xd2, 0xee, 0x53,
0x9e, 0x4a, 0x63, 0x6f, 0x65, 0x99, 0xeb, 0x85, 0xfb, 0xf9, 0x63, 0x25, 0x03, 0xf1, 0x26, 0xac,
0x8e, 0xc8, 0x52, 0xa6, 0xc9, 0x7d, 0x2b, 0x51, 0x32, 0xa8, 0x35, 0x92, 0x81, 0xf8, 0x0b, 0x70,
0x64, 0xb5, 0x8b, 0x95, 0xff, 0x2f, 0x3c, 0x71, 0xf0, 0x3e, 0x2c, 0x19, 0xf2, 0xdf, 0xe1, 0xc9,
0x82, 0x7f, 0xb2, 0x60, 0x51, 0x8a, 0x7a, 0x40, 0x87, 0x4f, 0x44, 0x27, 0x8b, 0xa1, 0xf4, 0x8c,
0x0e, 0x0b, 0xbd, 0x94, 0x23, 0xc4, 0x7b, 0x50, 0x36, 0xbc, 0x0a, 0x78, 0x0a, 0xa0, 0xff, 0xc3,
0x52, 0x36, 0xe6, 0xbb, 0x7a, 0x0c, 0x96, 0x24, 0xc5, 0xf8, 0x85, 0x68, 0xa9, 0x3e, 0xa5, 0x49,
0x4e, 0x99, 0x6e, 0xa6, 0x22, 0xd2, 0x8c, 0xd7, 0x5c, 0x21, 0x5e, 0x78, 0x1f, 0xea, 0x05, 0x93,
0x19, 0xba, 0x25, 0x6d, 0x4e, 0x01, 0xe5, 0xbc, 0x19, 0xc4, 0x02, 0x35, 0xc9, 0x49, 0xf1, 0x8f,
0x86, 0xf7, 0x9d, 0x28, 0xa2, 0x89, 0x58, 0x20, 0xc2, 0x8c, 0xec, 0x05, 0x2d, 0xce, 0x85, 0xa5,
0x66, 0x8f, 0x2c, 0x35, 0x1d, 0x8f, 0x92, 0x19, 0x8f, 0xab, 0x50, 0xd7, 0x9b, 0xed, 0x20, 0x08,
0xc3, 0x40, 0xba, 0x58, 0x22, 0x23, 0x58, 0x11, 0x6b, 0x55, 0x65, 0xda, 0xcb, 0x1c, 0x81, 0x1c,
0x28, 0x3d, 0xa3, 0x43, 0xb9, 0xa9, 0xaa, 0x44, 0x1c, 0xf1, 0x83, 0xd4, 0x5c, 0xf7, 0xf4, 0x1f,
0x98, 0xa3, 0x1b, 0x7f, 0x58, 0x50, 0xd9, 0x4b, 0x92, 0x9d, 0xd8, 0xa7, 0x0c, 0xd5, 0x01, 0x1e,
0x47, 0xf4, 0xbc, 0x4f, 0x3d, 0x4e, 0x7d, 0x67, 0x06, 0x39, 0xea, 0x6d, 0x73, 0x10, 0x30, 0x16,
0x44, 0xa7, 0x8e, 0x85, 0x2e, 0xa8, 0xb1, 0xbb, 0x77, 0x1e, 0x30, 0xce, 0x1c, 0x1b, 0x2d, 0xc3,
0x05, 0x89, 0x78, 0x18, 0xf3, 0x4e, 0xb4, 0xe3, 0x7a, 0x67, 0xd4, 0x29, 0x21, 0x04, 0x75, 0x89,
0xec, 0xb0, 0x74, 0x3c, 0xfb, 0xce, 0x2c, 0x6a, 0xc0, 0x8a, 0xac, 0x1e, 0xf6, 0x30, 0xe6, 0xaa,
0x5a, 0x83, 0xe3, 0x90, 0x3a, 0x73, 0x68, 0x05, 0x1c, 0x42, 0x3d, 0x1a, 0xf4, 0x79, 0x87, 0x75,
0xa2, 0xe7, 0x6e, 0x18, 0xf8, 0x4e, 0x59, 0xc8, 0x50, 0x80, 0x5a, 0xc9, 0xce, 0xbc, 0xa0, 0xdc,
0x1d, 0xa4, 0xab, 0x9e, 0xaa, 0x8e, 0x72, 0x2a, 0xe8, 0x12, 0xac, 0x3d, 0x8a, 0xe3, 0x03, 0x37,
0x1a, 0x2a, 0x1c, 0xbb, 0x97, 0xc4, 0x3d, 0xa1, 0xcc, 0xa9, 0x0a, 0x83, 0xf7, 0x92, 0x24, 0x4e,
0x0e, 0x4f, 0x4e, 0x18, 0xe5, 0x8e, 0xbf, 0x71, 0x1b, 0xd6, 0xa6, 0x0c, 0x34, 0xb4, 0x08, 0x55,
0x85, 0x3d, 0xa6, 0xce, 0x8c, 0x60, 0x7d, 0x1c, 0x31, 0x8d, 0xb0, 0x36, 0xfe, 0x07, 0x95, 0xec,
0xf9, 0x8e, 0x16, 0x60, 0xbe, 0x13, 0x05, 0xe2, 0x0d, 0xea, 0xcc, 0xa0, 0x32, 0xd8, 0x4f, 0x36,
0x1d, 0x4b, 0xfe, 0x6e, 0x39, 0xf6, 0xc6, 0x7b, 0x00, 0xf9, 0xb3, 0x18, 0x55, 0x60, 0xf6, 0x51,
0x42, 0x85, 0xc4, 0x79, 0x28, 0x6d, 0x7b, 0xa1, 0x63, 0xa1, 0x1a, 0x54, 0xb2, 0x4a, 0x74, 0xec,
0xad, 0x6f, 0xcb, 0x50, 0x4d, 0x6d, 0x1a, 0x46, 0x1e, 0xda, 0x81, 0x4a, 0xd6, 0xa7, 0xa8, 0x39,
0xb1, 0x79, 0xa5, 0x93, 0xcd, 0x4b, 0x93, 0x1b, 0x3b, 0x1d, 0x03, 0xf7, 0xa0, 0xaa, 0x67, 0x03,
0xba, 0x34, 0xda, 0x05, 0xc6, 0x44, 0x6a, 0x5e, 0x9e, 0x7c, 0xa9, 0xe4, 0xdc, 0x57, 0xad, 0xb1,
0x97, 0x7d, 0x0a, 0x4e, 0xed, 0xa8, 0xe6, 0xd4, 0x9b, 0x75, 0xeb, 0x86, 0x25, 0x0d, 0xca, 0x1e,
0xea, 0x45, 0x83, 0x46, 0xbe, 0x12, 0x8a, 0x06, 0x8d, 0xbe, 0xed, 0x0d, 0x39, 0x61, 0x38, 0x49,
0x8e, 0x7e, 0xf1, 0x4f, 0x92, 0x63, 0x3c, 0xf5, 0x09, 0x38, 0xf9, 0x37, 0x57, 0x97, 0x27, 0xd4,
0xed, 0xa1, 0xcb, 0x63, 0x8f, 0x25, 0xe3, 0x83, 0xac, 0xf9, 0xc6, 0x5b, 0xe9, 0xe3, 0x7e, 0x96,
0x76, 0x99, 0xbb, 0x77, 0x90, 0x86, 0x9e, 0xc2, 0x5a, 0x8e, 0x54, 0x0e, 0xbd, 0xbb, 0x91, 0x37,
0x2c, 0x74, 0x08, 0x35, 0x73, 0xc1, 0xa2, 0x96, 0x41, 0x3f, 0x61, 0x89, 0x37, 0xaf, 0x4c, 0xbd,
0xd7, 0x71, 0x5c, 0x2c, 0xec, 0x45, 0x34, 0xc2, 0x31, 0xb6, 0x7d, 0x9b, 0xed, 0xe9, 0x04, 0xa9,
0xcc, 0xbb, 0xef, 0xff, 0xfc, 0xaa, 0x65, 0xbd, 0x7c, 0xd5, 0xb2, 0x7e, 0x7f, 0xd5, 0xb2, 0xbe,
0x7f, 0xdd, 0x9a, 0x79, 0xf9, 0xba, 0x35, 0xf3, 0xdb, 0xeb, 0xd6, 0xcc, 0x67, 0xcd, 0xe9, 0xff,
0x91, 0x39, 0x2e, 0xcb, 0x9f, 0x9b, 0x7f, 0x06, 0x00, 0x00, 0xff, 0xff, 0xf9, 0xe8, 0x68, 0xd7,
0xb6, 0x11, 0x00, 0x00,
}
func (m *HeadSyncRange) Marshal() (dAtA []byte, err error) {
@ -2983,6 +3046,43 @@ func (m *ObjectDelete) MarshalToSizedBuffer(dAtA []byte) (int, error) {
return len(dAtA) - i, nil
}
func (m *StoreHeader) 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 *StoreHeader) MarshalTo(dAtA []byte) (int, error) {
size := m.Size()
return m.MarshalToSizedBuffer(dAtA[:size])
}
func (m *StoreHeader) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i := len(dAtA)
_ = i
var l int
_ = l
if len(m.StorageName) > 0 {
i -= len(m.StorageName)
copy(dAtA[i:], m.StorageName)
i = encodeVarintSpacesync(dAtA, i, uint64(len(m.StorageName)))
i--
dAtA[i] = 0x12
}
if len(m.SpaceId) > 0 {
i -= len(m.SpaceId)
copy(dAtA[i:], m.SpaceId)
i = encodeVarintSpacesync(dAtA, i, uint64(len(m.SpaceId)))
i--
dAtA[i] = 0xa
}
return len(dAtA) - i, nil
}
func (m *SpaceDelete) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
@ -3895,6 +3995,23 @@ func (m *ObjectDelete) Size() (n int) {
return n
}
func (m *StoreHeader) Size() (n int) {
if m == nil {
return 0
}
var l int
_ = l
l = len(m.SpaceId)
if l > 0 {
n += 1 + l + sovSpacesync(uint64(l))
}
l = len(m.StorageName)
if l > 0 {
n += 1 + l + sovSpacesync(uint64(l))
}
return n
}
func (m *SpaceDelete) Size() (n int) {
if m == nil {
return 0
@ -6224,6 +6341,120 @@ func (m *ObjectDelete) Unmarshal(dAtA []byte) error {
}
return nil
}
func (m *StoreHeader) 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 ErrIntOverflowSpacesync
}
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: StoreHeader: wiretype end group for non-group")
}
if fieldNum <= 0 {
return fmt.Errorf("proto: StoreHeader: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field SpaceId", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowSpacesync
}
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 ErrInvalidLengthSpacesync
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
return ErrInvalidLengthSpacesync
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.SpaceId = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
case 2:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field StorageName", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowSpacesync
}
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 ErrInvalidLengthSpacesync
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
return ErrInvalidLengthSpacesync
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.StorageName = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipSpacesync(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
return ErrInvalidLengthSpacesync
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
}
iNdEx += skippy
}
}
if iNdEx > l {
return io.ErrUnexpectedEOF
}
return nil
}
func (m *SpaceDelete) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0