Add GetFlushedSegments in data coordinator (#6253)

Send segment flush message by grpc and add a new interface
`GetFlushedSegments`

Signed-off-by: sunby <bingyi.sun@zilliz.com>
This commit is contained in:
sunby 2021-07-02 11:16:20 +08:00 committed by GitHub
parent ddb027fb9e
commit 07b0989628
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
19 changed files with 587 additions and 434 deletions

View File

@ -460,3 +460,28 @@ func (s *Server) GetRecoveryInfo(ctx context.Context, req *datapb.GetRecoveryInf
resp.Status.ErrorCode = commonpb.ErrorCode_Success
return resp, nil
}
func (s *Server) GetFlushedSegments(ctx context.Context, req *datapb.GetFlushedSegmentsRequest) (*datapb.GetFlushedSegmentsResponse, error) {
collectionID := req.GetCollectionID()
partitionID := req.GetPartitionID()
var segmentIDs []UniqueID
if partitionID < 0 {
segmentIDs = s.meta.GetSegmentsOfCollection(collectionID)
} else {
segmentIDs = s.meta.GetSegmentsOfPartition(collectionID, partitionID)
}
ret := make([]UniqueID, 0, len(segmentIDs))
for _, id := range segmentIDs {
s, err := s.meta.GetSegment(id)
if err != nil || s.GetState() != commonpb.SegmentState_Flushed {
continue
}
ret = append(ret, id)
}
return &datapb.GetFlushedSegmentsResponse{
Status: &commonpb.Status{
ErrorCode: commonpb.ErrorCode_Success,
},
Segments: ret,
}, nil
}

View File

@ -295,8 +295,8 @@ func (m *mockRootCoordService) UpdateChannelTimeTick(ctx context.Context, req *i
func (m *mockRootCoordService) ReleaseDQLMessageStream(ctx context.Context, req *proxypb.ReleaseDQLMessageStreamRequest) (*commonpb.Status, error) {
panic("not implemented") // TODO: Implement
}
func (m *mockRootCoordService) SegmentFlushCompleted(ctx context.Context, in *internalpb.SegmentFlushCompletedMsg) (*commonpb.Status, error) {
panic("not implemented") // TODO: Implement
func (m *mockRootCoordService) SegmentFlushCompleted(ctx context.Context, in *datapb.SegmentFlushCompletedMsg) (*commonpb.Status, error) {
return &commonpb.Status{ErrorCode: commonpb.ErrorCode_Success}, nil
}
func (m *mockRootCoordService) AddNewSegment(ctx context.Context, in *datapb.SegmentMsg) (*commonpb.Status, error) {
panic("not implemented") // TODO: Implement

View File

@ -33,7 +33,6 @@ import (
"github.com/milvus-io/milvus/internal/proto/commonpb"
"github.com/milvus-io/milvus/internal/proto/datapb"
"github.com/milvus-io/milvus/internal/proto/internalpb"
"github.com/milvus-io/milvus/internal/proto/milvuspb"
)
@ -81,9 +80,8 @@ type Server struct {
rootCoordClient types.RootCoord
ddChannelName string
flushCh chan UniqueID
flushMsgStream msgstream.MsgStream
msFactory msgstream.Factory
flushCh chan UniqueID
msFactory msgstream.Factory
session *sessionutil.Session
activeCh <-chan bool
@ -164,10 +162,6 @@ func (s *Server) Start() error {
s.allocator = newRootCoordAllocator(s.ctx, s.rootCoordClient)
s.startSegmentManager()
if err = s.initFlushMsgStream(); err != nil {
return err
}
if err = s.initServiceDiscovery(); err != nil {
return err
}
@ -269,19 +263,6 @@ func (s *Server) initMeta() error {
return retry.Do(s.ctx, connectEtcdFn, retry.Attempts(connEtcdMaxRetryTime))
}
func (s *Server) initFlushMsgStream() error {
var err error
// segment flush stream
s.flushMsgStream, err = s.msFactory.NewMsgStream(s.ctx)
if err != nil {
return err
}
s.flushMsgStream.AsProducer([]string{Params.SegmentInfoChannelName})
log.Debug("DataCoord AsProducer:" + Params.SegmentInfoChannelName)
s.flushMsgStream.Start()
return nil
}
func (s *Server) startServerLoop() {
s.serverLoopCtx, s.serverLoopCancel = context.WithCancel(s.ctx)
s.serverLoopWg.Add(5)
@ -455,24 +436,28 @@ func (s *Server) startFlushLoop(ctx context.Context) {
defer cancel()
// send `Flushing` segments
go s.handleFlushingSegments(ctx2)
var err error
for {
select {
case <-ctx.Done():
log.Debug("flush loop shutdown")
return
case segmentID := <-s.flushCh:
// write flush msg into segmentInfo/flush stream
msgPack := composeSegmentFlushMsgPack(segmentID)
err = s.flushMsgStream.Produce(&msgPack)
segment, err := s.meta.GetSegment(segmentID)
if err != nil {
log.Error("produce flush msg failed",
zap.Int64("segmentID", segmentID),
zap.Error(err))
log.Warn("failed to get flused segment", zap.Int64("id", segmentID))
continue
}
req := &datapb.SegmentFlushCompletedMsg{
Base: &commonpb.MsgBase{
MsgType: commonpb.MsgType_SegmentFlushDone,
},
Segment: segment,
}
resp, err := s.rootCoordClient.SegmentFlushCompleted(ctx, req)
if err = VerifyResponse(resp, err); err != nil {
log.Warn("failed to call SegmentFlushComplete", zap.Int64("segmentID", segmentID), zap.Error(err))
continue
}
log.Debug("send segment flush msg", zap.Int64("id", segmentID))
// set segment to SegmentState_Flushed
if err = s.meta.FlushSegment(segmentID); err != nil {
log.Error("flush segment complete failed", zap.Error(err))
@ -517,7 +502,6 @@ func (s *Server) Stop() error {
atomic.StoreInt64(&s.isServing, ServerStateStopped)
s.cluster.releaseSessions()
s.segmentInfoStream.Close()
s.flushMsgStream.Close()
s.stopServerLoop()
return nil
}
@ -599,27 +583,3 @@ func (s *Server) prepareBinlog(req *datapb.SaveBinlogPathsRequest) (map[string]s
return meta, nil
}
func composeSegmentFlushMsgPack(segmentID UniqueID) msgstream.MsgPack {
msgPack := msgstream.MsgPack{
Msgs: make([]msgstream.TsMsg, 0, 1),
}
completeFlushMsg := internalpb.SegmentFlushCompletedMsg{
Base: &commonpb.MsgBase{
MsgType: commonpb.MsgType_SegmentFlushDone,
MsgID: 0,
Timestamp: 0,
SourceID: Params.NodeID,
},
SegmentID: segmentID,
}
var msg msgstream.TsMsg = &msgstream.FlushCompletedMsg{
BaseMsg: msgstream.BaseMsg{
HashValues: []uint32{0},
},
SegmentFlushCompletedMsg: completeFlushMsg,
}
msgPack.Msgs = append(msgPack.Msgs, msg)
return msgPack
}

View File

@ -329,14 +329,14 @@ func TestChannel(t *testing.T) {
BaseMsg: msgstream.BaseMsg{
HashValues: []uint32{0},
},
SegmentFlushCompletedMsg: internalpb.SegmentFlushCompletedMsg{
SegmentFlushCompletedMsg: datapb.SegmentFlushCompletedMsg{
Base: &commonpb.MsgBase{
MsgType: msgType,
MsgID: 0,
Timestamp: t,
SourceID: 0,
},
SegmentID: 0,
Segment: &datapb.SegmentInfo{},
},
}
}

View File

@ -243,3 +243,10 @@ func (c *Client) GetRecoveryInfo(ctx context.Context, req *datapb.GetRecoveryInf
})
return ret.(*datapb.GetRecoveryInfoResponse), err
}
func (c *Client) GetFlushedSegments(ctx context.Context, req *datapb.GetFlushedSegmentsRequest) (*datapb.GetFlushedSegmentsResponse, error) {
ret, err := c.recall(func() (interface{}, error) {
return c.grpcClient.GetFlushedSegments(ctx, req)
})
return ret.(*datapb.GetFlushedSegmentsResponse), err
}

View File

@ -233,3 +233,7 @@ func (s *Server) SaveBinlogPaths(ctx context.Context, req *datapb.SaveBinlogPath
func (s *Server) GetRecoveryInfo(ctx context.Context, req *datapb.GetRecoveryInfoRequest) (*datapb.GetRecoveryInfoResponse, error) {
return s.dataCoord.GetRecoveryInfo(ctx, req)
}
func (s *Server) GetFlushedSegments(ctx context.Context, req *datapb.GetFlushedSegmentsRequest) (*datapb.GetFlushedSegmentsResponse, error) {
return s.dataCoord.GetFlushedSegments(ctx, req)
}

View File

@ -315,7 +315,7 @@ func (c *GrpcClient) ReleaseDQLMessageStream(ctx context.Context, in *proxypb.Re
})
return ret.(*commonpb.Status), err
}
func (c *GrpcClient) SegmentFlushCompleted(ctx context.Context, in *internalpb.SegmentFlushCompletedMsg) (*commonpb.Status, error) {
func (c *GrpcClient) SegmentFlushCompleted(ctx context.Context, in *datapb.SegmentFlushCompletedMsg) (*commonpb.Status, error) {
ret, err := c.recall(func() (interface{}, error) {
return c.grpcClient.SegmentFlushCompleted(ctx, in)
})

View File

@ -350,7 +350,7 @@ func (s *Server) ShowSegments(ctx context.Context, in *milvuspb.ShowSegmentsRequ
func (s *Server) ReleaseDQLMessageStream(ctx context.Context, in *proxypb.ReleaseDQLMessageStreamRequest) (*commonpb.Status, error) {
return s.rootCoord.ReleaseDQLMessageStream(ctx, in)
}
func (s *Server) SegmentFlushCompleted(ctx context.Context, in *internalpb.SegmentFlushCompletedMsg) (*commonpb.Status, error) {
func (s *Server) SegmentFlushCompleted(ctx context.Context, in *datapb.SegmentFlushCompletedMsg) (*commonpb.Status, error) {
return s.rootCoord.SegmentFlushCompleted(ctx, in)
}
func (s *Server) AddNewSegment(ctx context.Context, in *datapb.SegmentMsg) (*commonpb.Status, error) {

View File

@ -75,14 +75,14 @@ func GenFlushedSegMsgPack(segID typeutil.UniqueID) *msgstream.MsgPack {
}
segMsg := &msgstream.FlushCompletedMsg{
BaseMsg: baseMsg,
SegmentFlushCompletedMsg: internalpb.SegmentFlushCompletedMsg{
SegmentFlushCompletedMsg: datapb.SegmentFlushCompletedMsg{
Base: &commonpb.MsgBase{
MsgType: commonpb.MsgType_SegmentFlushDone,
MsgID: 0,
Timestamp: 0,
SourceID: 0,
},
SegmentID: segID,
Segment: &datapb.SegmentInfo{ID: segID},
},
}
msgPack.Msgs = append(msgPack.Msgs, segMsg)

View File

@ -143,7 +143,7 @@ func (it *InsertMsg) Unmarshal(input MarshalType) (TsMsg, error) {
/////////////////////////////////////////FlushCompletedMsg//////////////////////////////////////////
type FlushCompletedMsg struct {
BaseMsg
internalpb.SegmentFlushCompletedMsg
datapb.SegmentFlushCompletedMsg
}
func (fl *FlushCompletedMsg) TraceCtx() context.Context {
@ -177,7 +177,7 @@ func (fl *FlushCompletedMsg) Marshal(input TsMsg) (MarshalType, error) {
}
func (fl *FlushCompletedMsg) Unmarshal(input MarshalType) (TsMsg, error) {
flushCompletedMsg := internalpb.SegmentFlushCompletedMsg{}
flushCompletedMsg := datapb.SegmentFlushCompletedMsg{}
in, err := ConvertToByteArray(input)
if err != nil {
return nil, err

View File

@ -29,6 +29,7 @@ service DataCoord {
rpc SaveBinlogPaths(SaveBinlogPathsRequest) returns (common.Status){}
rpc GetRecoveryInfo(GetRecoveryInfoRequest) returns (GetRecoveryInfoResponse){}
rpc GetFlushedSegments(GetFlushedSegmentsRequest) returns(GetFlushedSegmentsResponse){}
}
service DataNode {
@ -289,4 +290,19 @@ message GetRecoveryInfoRequest {
int64 partitionID = 3;
}
message GetFlushedSegmentsRequest {
common.MsgBase base = 1;
int64 collectionID = 2;
int64 partitionID = 3;
}
message GetFlushedSegmentsResponse {
common.Status status = 1;
repeated int64 segments = 2;
}
message SegmentFlushCompletedMsg {
common.MsgBase base = 1;
SegmentInfo segment = 2;
}

View File

@ -2271,6 +2271,155 @@ func (m *GetRecoveryInfoRequest) GetPartitionID() int64 {
return 0
}
type GetFlushedSegmentsRequest struct {
Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"`
CollectionID int64 `protobuf:"varint,2,opt,name=collectionID,proto3" json:"collectionID,omitempty"`
PartitionID int64 `protobuf:"varint,3,opt,name=partitionID,proto3" json:"partitionID,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *GetFlushedSegmentsRequest) Reset() { *m = GetFlushedSegmentsRequest{} }
func (m *GetFlushedSegmentsRequest) String() string { return proto.CompactTextString(m) }
func (*GetFlushedSegmentsRequest) ProtoMessage() {}
func (*GetFlushedSegmentsRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_82cd95f524594f49, []int{40}
}
func (m *GetFlushedSegmentsRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetFlushedSegmentsRequest.Unmarshal(m, b)
}
func (m *GetFlushedSegmentsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_GetFlushedSegmentsRequest.Marshal(b, m, deterministic)
}
func (m *GetFlushedSegmentsRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_GetFlushedSegmentsRequest.Merge(m, src)
}
func (m *GetFlushedSegmentsRequest) XXX_Size() int {
return xxx_messageInfo_GetFlushedSegmentsRequest.Size(m)
}
func (m *GetFlushedSegmentsRequest) XXX_DiscardUnknown() {
xxx_messageInfo_GetFlushedSegmentsRequest.DiscardUnknown(m)
}
var xxx_messageInfo_GetFlushedSegmentsRequest proto.InternalMessageInfo
func (m *GetFlushedSegmentsRequest) GetBase() *commonpb.MsgBase {
if m != nil {
return m.Base
}
return nil
}
func (m *GetFlushedSegmentsRequest) GetCollectionID() int64 {
if m != nil {
return m.CollectionID
}
return 0
}
func (m *GetFlushedSegmentsRequest) GetPartitionID() int64 {
if m != nil {
return m.PartitionID
}
return 0
}
type GetFlushedSegmentsResponse struct {
Status *commonpb.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
Segments []int64 `protobuf:"varint,2,rep,packed,name=segments,proto3" json:"segments,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *GetFlushedSegmentsResponse) Reset() { *m = GetFlushedSegmentsResponse{} }
func (m *GetFlushedSegmentsResponse) String() string { return proto.CompactTextString(m) }
func (*GetFlushedSegmentsResponse) ProtoMessage() {}
func (*GetFlushedSegmentsResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_82cd95f524594f49, []int{41}
}
func (m *GetFlushedSegmentsResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetFlushedSegmentsResponse.Unmarshal(m, b)
}
func (m *GetFlushedSegmentsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_GetFlushedSegmentsResponse.Marshal(b, m, deterministic)
}
func (m *GetFlushedSegmentsResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_GetFlushedSegmentsResponse.Merge(m, src)
}
func (m *GetFlushedSegmentsResponse) XXX_Size() int {
return xxx_messageInfo_GetFlushedSegmentsResponse.Size(m)
}
func (m *GetFlushedSegmentsResponse) XXX_DiscardUnknown() {
xxx_messageInfo_GetFlushedSegmentsResponse.DiscardUnknown(m)
}
var xxx_messageInfo_GetFlushedSegmentsResponse proto.InternalMessageInfo
func (m *GetFlushedSegmentsResponse) GetStatus() *commonpb.Status {
if m != nil {
return m.Status
}
return nil
}
func (m *GetFlushedSegmentsResponse) GetSegments() []int64 {
if m != nil {
return m.Segments
}
return nil
}
type SegmentFlushCompletedMsg struct {
Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"`
Segment *SegmentInfo `protobuf:"bytes,2,opt,name=segment,proto3" json:"segment,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *SegmentFlushCompletedMsg) Reset() { *m = SegmentFlushCompletedMsg{} }
func (m *SegmentFlushCompletedMsg) String() string { return proto.CompactTextString(m) }
func (*SegmentFlushCompletedMsg) ProtoMessage() {}
func (*SegmentFlushCompletedMsg) Descriptor() ([]byte, []int) {
return fileDescriptor_82cd95f524594f49, []int{42}
}
func (m *SegmentFlushCompletedMsg) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SegmentFlushCompletedMsg.Unmarshal(m, b)
}
func (m *SegmentFlushCompletedMsg) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SegmentFlushCompletedMsg.Marshal(b, m, deterministic)
}
func (m *SegmentFlushCompletedMsg) XXX_Merge(src proto.Message) {
xxx_messageInfo_SegmentFlushCompletedMsg.Merge(m, src)
}
func (m *SegmentFlushCompletedMsg) XXX_Size() int {
return xxx_messageInfo_SegmentFlushCompletedMsg.Size(m)
}
func (m *SegmentFlushCompletedMsg) XXX_DiscardUnknown() {
xxx_messageInfo_SegmentFlushCompletedMsg.DiscardUnknown(m)
}
var xxx_messageInfo_SegmentFlushCompletedMsg proto.InternalMessageInfo
func (m *SegmentFlushCompletedMsg) GetBase() *commonpb.MsgBase {
if m != nil {
return m.Base
}
return nil
}
func (m *SegmentFlushCompletedMsg) GetSegment() *SegmentInfo {
if m != nil {
return m.Segment
}
return nil
}
func init() {
proto.RegisterEnum("milvus.proto.data.ChannelWatchState", ChannelWatchState_name, ChannelWatchState_value)
proto.RegisterType((*FlushRequest)(nil), "milvus.proto.data.FlushRequest")
@ -2313,135 +2462,142 @@ func init() {
proto.RegisterType((*FieldBinlog)(nil), "milvus.proto.data.FieldBinlog")
proto.RegisterType((*GetRecoveryInfoResponse)(nil), "milvus.proto.data.GetRecoveryInfoResponse")
proto.RegisterType((*GetRecoveryInfoRequest)(nil), "milvus.proto.data.GetRecoveryInfoRequest")
proto.RegisterType((*GetFlushedSegmentsRequest)(nil), "milvus.proto.data.GetFlushedSegmentsRequest")
proto.RegisterType((*GetFlushedSegmentsResponse)(nil), "milvus.proto.data.GetFlushedSegmentsResponse")
proto.RegisterType((*SegmentFlushCompletedMsg)(nil), "milvus.proto.data.SegmentFlushCompletedMsg")
}
func init() { proto.RegisterFile("data_coord.proto", fileDescriptor_82cd95f524594f49) }
var fileDescriptor_82cd95f524594f49 = []byte{
// 1962 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x59, 0xdb, 0x6f, 0x1b, 0x59,
0x19, 0xef, 0x78, 0xe2, 0x24, 0xfe, 0x3c, 0x76, 0x92, 0x43, 0xc8, 0x5a, 0x6e, 0x9b, 0xa6, 0xc3,
0x6e, 0x37, 0x5b, 0x44, 0xb2, 0x75, 0x91, 0xb8, 0x94, 0x05, 0x6d, 0xe3, 0x36, 0xb2, 0x48, 0x4a,
0x38, 0xe9, 0xee, 0x4a, 0xac, 0x90, 0x35, 0xf6, 0x9c, 0x38, 0x43, 0xe7, 0xe2, 0x9d, 0x33, 0x4e,
0xd3, 0xa7, 0x5d, 0x95, 0x07, 0x04, 0x42, 0x5c, 0x1e, 0x78, 0xe3, 0x01, 0x21, 0x21, 0x21, 0xc1,
0x03, 0xff, 0x01, 0xaf, 0xfc, 0x59, 0xe8, 0x5c, 0xe6, 0x3e, 0xb6, 0xa7, 0x0e, 0x25, 0x6f, 0x3e,
0x67, 0xbe, 0xdb, 0xf9, 0xce, 0xef, 0xbb, 0x9c, 0xcf, 0xb0, 0x6e, 0x1a, 0x81, 0xd1, 0x1f, 0x7a,
0x9e, 0x6f, 0xee, 0x8d, 0x7d, 0x2f, 0xf0, 0xd0, 0x86, 0x63, 0xd9, 0x17, 0x13, 0x2a, 0x56, 0x7b,
0xec, 0x73, 0x5b, 0x1b, 0x7a, 0x8e, 0xe3, 0xb9, 0x62, 0xab, 0xdd, 0xb4, 0xdc, 0x80, 0xf8, 0xae,
0x61, 0xcb, 0xb5, 0x96, 0x64, 0x68, 0x6b, 0x74, 0x78, 0x4e, 0x1c, 0x43, 0xac, 0xf4, 0x4b, 0xd0,
0x9e, 0xda, 0x13, 0x7a, 0x8e, 0xc9, 0x17, 0x13, 0x42, 0x03, 0xf4, 0x21, 0x2c, 0x0d, 0x0c, 0x4a,
0x5a, 0xca, 0x8e, 0xb2, 0x5b, 0xef, 0xdc, 0xda, 0x4b, 0xe9, 0x92, 0x5a, 0x8e, 0xe9, 0xe8, 0xb1,
0x41, 0x09, 0xe6, 0x94, 0x08, 0xc1, 0x92, 0x39, 0xe8, 0x75, 0x5b, 0x95, 0x1d, 0x65, 0x57, 0xc5,
0xfc, 0x37, 0xd2, 0x41, 0x1b, 0x7a, 0xb6, 0x4d, 0x86, 0x81, 0xe5, 0xb9, 0xbd, 0x6e, 0x6b, 0x89,
0x7f, 0x4b, 0xed, 0xe9, 0x7f, 0x56, 0xa0, 0x21, 0x55, 0xd3, 0xb1, 0xe7, 0x52, 0x82, 0x1e, 0xc2,
0x32, 0x0d, 0x8c, 0x60, 0x42, 0xa5, 0xf6, 0x9b, 0x85, 0xda, 0x4f, 0x39, 0x09, 0x96, 0xa4, 0xa5,
0xd4, 0xab, 0x79, 0xf5, 0x68, 0x1b, 0x80, 0x92, 0x91, 0x43, 0xdc, 0xa0, 0xd7, 0xa5, 0xad, 0xa5,
0x1d, 0x75, 0x57, 0xc5, 0x89, 0x1d, 0xfd, 0x8f, 0x0a, 0xac, 0x9f, 0x86, 0xcb, 0xd0, 0x3b, 0x9b,
0x50, 0x1d, 0x7a, 0x13, 0x37, 0xe0, 0x06, 0x36, 0xb0, 0x58, 0xa0, 0xbb, 0xa0, 0x0d, 0xcf, 0x0d,
0xd7, 0x25, 0x76, 0xdf, 0x35, 0x1c, 0xc2, 0x4d, 0xa9, 0xe1, 0xba, 0xdc, 0x7b, 0x66, 0x38, 0xa4,
0x94, 0x45, 0x3b, 0x50, 0x1f, 0x1b, 0x7e, 0x60, 0xa5, 0x7c, 0x96, 0xdc, 0xd2, 0xff, 0xa2, 0xc0,
0xd6, 0xc7, 0x94, 0x5a, 0x23, 0x37, 0x67, 0xd9, 0x16, 0x2c, 0xbb, 0x9e, 0x49, 0x7a, 0x5d, 0x6e,
0x9a, 0x8a, 0xe5, 0x0a, 0xdd, 0x84, 0xda, 0x98, 0x10, 0xbf, 0xef, 0x7b, 0x76, 0x68, 0xd8, 0x2a,
0xdb, 0xc0, 0x9e, 0x4d, 0xd0, 0x4f, 0x61, 0x83, 0x66, 0x04, 0xd1, 0x96, 0xba, 0xa3, 0xee, 0xd6,
0x3b, 0xdf, 0xd8, 0xcb, 0xa1, 0x6c, 0x2f, 0xab, 0x14, 0xe7, 0xb9, 0xf5, 0xaf, 0x2a, 0xf0, 0xb5,
0x88, 0x4e, 0xd8, 0xca, 0x7e, 0x33, 0xcf, 0x51, 0x32, 0x8a, 0xcc, 0x13, 0x8b, 0x32, 0x9e, 0x8b,
0x5c, 0xae, 0x26, 0x5d, 0x5e, 0x02, 0x60, 0x59, 0x7f, 0x56, 0x73, 0xfe, 0x44, 0x77, 0xa0, 0x4e,
0x2e, 0xc7, 0x96, 0x4f, 0xfa, 0x81, 0xe5, 0x90, 0xd6, 0xf2, 0x8e, 0xb2, 0xbb, 0x84, 0x41, 0x6c,
0x3d, 0xb7, 0x9c, 0x24, 0x22, 0x57, 0x4a, 0x23, 0x52, 0xff, 0xab, 0x02, 0xef, 0xe4, 0x6e, 0x49,
0x42, 0x1c, 0xc3, 0x3a, 0x3f, 0x79, 0xec, 0x19, 0x06, 0x76, 0xe6, 0xf0, 0x7b, 0xb3, 0x1c, 0x1e,
0x93, 0xe3, 0x1c, 0x7f, 0xc2, 0xc8, 0x4a, 0x79, 0x23, 0x5f, 0xc0, 0x3b, 0x87, 0x24, 0x90, 0x0a,
0xd8, 0x37, 0x42, 0x17, 0x4f, 0x01, 0xe9, 0x58, 0xaa, 0xe4, 0x62, 0xe9, 0x5f, 0x95, 0x28, 0x96,
0xb8, 0xaa, 0x9e, 0x7b, 0xe6, 0xa1, 0x5b, 0x50, 0x8b, 0x48, 0x24, 0x2a, 0xe2, 0x0d, 0xf4, 0x1d,
0xa8, 0x32, 0x4b, 0x05, 0x24, 0x9a, 0x9d, 0xbb, 0xc5, 0x67, 0x4a, 0xc8, 0xc4, 0x82, 0x1e, 0xf5,
0xa0, 0x49, 0x03, 0xc3, 0x0f, 0xfa, 0x63, 0x8f, 0xf2, 0x7b, 0xe6, 0xc0, 0xa9, 0x77, 0xf4, 0xb4,
0x84, 0x28, 0x45, 0x1e, 0xd3, 0xd1, 0x89, 0xa4, 0xc4, 0x0d, 0xce, 0x19, 0x2e, 0xd1, 0x13, 0xd0,
0x88, 0x6b, 0xc6, 0x82, 0x96, 0x4a, 0x0b, 0xaa, 0x13, 0xd7, 0x8c, 0xc4, 0xc4, 0xf7, 0x53, 0x2d,
0x7f, 0x3f, 0xbf, 0x55, 0xa0, 0x95, 0xbf, 0xa0, 0xab, 0x24, 0xca, 0x47, 0x82, 0x89, 0x88, 0x0b,
0x9a, 0x19, 0xe1, 0xd1, 0x25, 0x61, 0xc9, 0xa2, 0x5b, 0xf0, 0xf5, 0xd8, 0x1a, 0xfe, 0xe5, 0xad,
0x81, 0xe5, 0x97, 0x0a, 0x6c, 0x65, 0x75, 0x5d, 0xe5, 0xdc, 0xdf, 0x86, 0xaa, 0xe5, 0x9e, 0x79,
0xe1, 0xb1, 0xb7, 0x67, 0xc4, 0x19, 0xd3, 0x25, 0x88, 0x75, 0x07, 0x6e, 0x1e, 0x92, 0xa0, 0xe7,
0x52, 0xe2, 0x07, 0x8f, 0x2d, 0xd7, 0xf6, 0x46, 0x27, 0x46, 0x70, 0x7e, 0x85, 0x18, 0x49, 0xc1,
0xbd, 0x92, 0x81, 0xbb, 0xfe, 0x77, 0x05, 0x6e, 0x15, 0xeb, 0x93, 0x47, 0x6f, 0xc3, 0xea, 0x99,
0x45, 0x6c, 0x93, 0xf9, 0x4c, 0xe1, 0x3e, 0x8b, 0xd6, 0x2c, 0x56, 0xc6, 0x8c, 0x58, 0x9e, 0xf0,
0xee, 0x14, 0x80, 0x9e, 0x06, 0xbe, 0xe5, 0x8e, 0x8e, 0x2c, 0x1a, 0x60, 0x41, 0x9f, 0xf0, 0xa7,
0x5a, 0x1e, 0x99, 0xbf, 0x51, 0x60, 0xfb, 0x90, 0x04, 0x07, 0x51, 0xaa, 0x65, 0xdf, 0x2d, 0x1a,
0x58, 0x43, 0xfa, 0x76, 0x9b, 0x88, 0x82, 0x9a, 0xa9, 0xff, 0x5e, 0x81, 0x3b, 0x53, 0x8d, 0x91,
0xae, 0x93, 0xa9, 0x24, 0x4c, 0xb4, 0xc5, 0xa9, 0xe4, 0xc7, 0xe4, 0xd5, 0xa7, 0x86, 0x3d, 0x21,
0x27, 0x86, 0xe5, 0x8b, 0x54, 0xb2, 0x60, 0x62, 0xfd, 0x87, 0x02, 0xb7, 0x0f, 0x49, 0x70, 0x12,
0x96, 0x99, 0x6b, 0xf4, 0x4e, 0x89, 0x8e, 0xe2, 0x77, 0xe2, 0x32, 0x0b, 0xad, 0xbd, 0x16, 0xf7,
0x6d, 0xf3, 0x38, 0x48, 0x04, 0xe4, 0x81, 0xe8, 0x05, 0xa4, 0xf3, 0xf4, 0x3f, 0x55, 0x40, 0xfb,
0x54, 0xf6, 0x07, 0xbc, 0x8c, 0x64, 0xfd, 0xa0, 0x14, 0xfb, 0x21, 0xd1, 0x52, 0x14, 0x75, 0x19,
0x87, 0xd0, 0xa0, 0x84, 0xbc, 0x58, 0xa4, 0x68, 0x68, 0x8c, 0x31, 0x4a, 0xf6, 0x47, 0xb0, 0x31,
0x71, 0xcf, 0x58, 0x5b, 0x4b, 0x4c, 0x79, 0x0a, 0xd1, 0x5d, 0xce, 0xcf, 0x3c, 0x79, 0x46, 0xb4,
0x0b, 0x6b, 0x59, 0x59, 0x55, 0x1e, 0xfc, 0xd9, 0x6d, 0xfd, 0xd7, 0x0a, 0x6c, 0x7d, 0x66, 0x04,
0xc3, 0xf3, 0xae, 0x23, 0x3d, 0x76, 0x05, 0xbc, 0x7d, 0x04, 0xb5, 0x0b, 0xe9, 0x9d, 0x30, 0xa9,
0xdc, 0x29, 0x30, 0x3e, 0x79, 0x0f, 0x38, 0xe6, 0x60, 0x6d, 0xea, 0x26, 0xef, 0xec, 0x43, 0xeb,
0xfe, 0xff, 0xc8, 0x9f, 0xd7, 0xdd, 0x5f, 0x02, 0x48, 0xe3, 0x8e, 0xe9, 0x68, 0x01, 0xbb, 0xbe,
0x0b, 0x2b, 0x52, 0x9a, 0x04, 0xf7, 0xbc, 0xcb, 0x0d, 0xc9, 0xf5, 0x53, 0xd8, 0x92, 0xfb, 0x4f,
0x59, 0xfe, 0x16, 0xb9, 0xfe, 0x98, 0x04, 0x06, 0x6a, 0xc1, 0x8a, 0x4c, 0xe9, 0x12, 0xc4, 0xe1,
0x92, 0xf5, 0xa9, 0x03, 0x4e, 0xd7, 0x67, 0x79, 0x5b, 0xe2, 0x17, 0x06, 0x51, 0x99, 0xd0, 0x7f,
0x0e, 0x8d, 0x6e, 0xf7, 0x28, 0x21, 0xeb, 0x1e, 0xac, 0x99, 0xa6, 0xdd, 0x4f, 0x72, 0x29, 0x9c,
0xab, 0x61, 0x9a, 0x76, 0x5c, 0x5f, 0xd0, 0xbb, 0xd0, 0x0c, 0x68, 0x3f, 0x2f, 0x5c, 0x0b, 0x68,
0x4c, 0xa5, 0x1f, 0x43, 0x93, 0x1b, 0xcb, 0x2f, 0x75, 0x8e, 0xad, 0x77, 0x41, 0x4b, 0x88, 0x13,
0xf0, 0xa9, 0xe1, 0x7a, 0x6c, 0x2c, 0xaf, 0x20, 0x61, 0x3b, 0x18, 0x4b, 0x9c, 0xdd, 0x0e, 0xde,
0x06, 0xb0, 0x68, 0x5f, 0x82, 0x9e, 0xdb, 0xb8, 0x8a, 0x6b, 0x16, 0x7d, 0x2a, 0x36, 0xd0, 0xf7,
0x60, 0x99, 0xeb, 0x17, 0xe1, 0x91, 0x4b, 0x52, 0xfc, 0x36, 0xd2, 0x27, 0xc0, 0x92, 0x41, 0xff,
0x04, 0xb4, 0x6e, 0xf7, 0x28, 0xb6, 0xa3, 0x4c, 0x3e, 0x29, 0x71, 0xc6, 0x2f, 0xa1, 0x19, 0x17,
0x25, 0x9e, 0xa8, 0x9a, 0x50, 0x89, 0xc4, 0x55, 0x7a, 0x5d, 0xf4, 0x11, 0x2c, 0x8b, 0x97, 0xb8,
0x44, 0xd0, 0x7b, 0x69, 0x9b, 0xe5, 0x2b, 0x3d, 0x51, 0xd9, 0xf8, 0x06, 0x96, 0x4c, 0x0c, 0xe1,
0x51, 0x22, 0x17, 0x8f, 0x36, 0x15, 0x27, 0x76, 0xf4, 0x7f, 0xab, 0x50, 0x4f, 0x00, 0x30, 0xa7,
0x3e, 0x7b, 0xce, 0xca, 0xfc, 0xfa, 0xa1, 0xe6, 0x5f, 0x50, 0xef, 0x41, 0xd3, 0xe2, 0x3d, 0x4b,
0x5f, 0x46, 0x3f, 0x2f, 0x32, 0x35, 0xdc, 0x10, 0xbb, 0x32, 0x15, 0xa1, 0x6d, 0xa8, 0xbb, 0x13,
0xa7, 0xef, 0x9d, 0xf5, 0x7d, 0xef, 0x25, 0x95, 0x4f, 0xb1, 0x9a, 0x3b, 0x71, 0x7e, 0x72, 0x86,
0xbd, 0x97, 0x34, 0xee, 0xf6, 0x97, 0xdf, 0xb0, 0xdb, 0x7f, 0x02, 0x9a, 0xe9, 0xd8, 0x71, 0xda,
0x5e, 0x29, 0xdf, 0xa2, 0x9b, 0x8e, 0x1d, 0x65, 0xed, 0x6d, 0xa8, 0x3b, 0xc6, 0x25, 0x33, 0xae,
0xef, 0x4e, 0x9c, 0xd6, 0xaa, 0xb0, 0xcf, 0x31, 0x2e, 0xb1, 0xf7, 0xf2, 0xd9, 0xc4, 0x41, 0xbb,
0xb0, 0x6e, 0x1b, 0x34, 0xe8, 0x27, 0x5f, 0x8b, 0x35, 0xfe, 0x5a, 0x6c, 0xb2, 0xfd, 0x27, 0xf1,
0x8b, 0x31, 0xff, 0xfc, 0x80, 0x05, 0x9f, 0x1f, 0xfa, 0x43, 0xa8, 0xf7, 0xba, 0x1d, 0x06, 0x27,
0xd6, 0xb3, 0xe5, 0x2e, 0x70, 0x13, 0xaa, 0x27, 0x09, 0xf4, 0x55, 0x43, 0xdc, 0x6d, 0xc6, 0x7e,
0x4a, 0xbc, 0x65, 0xf2, 0x76, 0x29, 0x8b, 0x3e, 0x8b, 0x66, 0x77, 0xb2, 0xbf, 0x52, 0x61, 0xeb,
0xd4, 0xb8, 0x20, 0x6f, 0xbf, 0x69, 0x2e, 0x55, 0x08, 0x8e, 0x60, 0x83, 0x07, 0x7a, 0x27, 0x61,
0xcf, 0x8c, 0x7a, 0x9c, 0x70, 0x38, 0xce, 0x33, 0xa2, 0x1f, 0xb1, 0x46, 0x82, 0x0c, 0x5f, 0x9c,
0x78, 0x56, 0x58, 0x8b, 0xeb, 0x9d, 0xdb, 0x05, 0x72, 0x0e, 0x22, 0x2a, 0x9c, 0xe4, 0x40, 0x27,
0xb0, 0x96, 0xbe, 0x06, 0xda, 0x5a, 0xe6, 0x42, 0xde, 0x9f, 0xf9, 0x1a, 0x8b, 0xbd, 0x8f, 0x9b,
0xa9, 0xcb, 0xa0, 0x3c, 0x13, 0xcb, 0xb4, 0xb8, 0xc2, 0xd3, 0x62, 0xb8, 0x64, 0x69, 0x16, 0x62,
0x3b, 0xe6, 0x24, 0xd8, 0x1f, 0xc2, 0x6a, 0x84, 0x8c, 0x4a, 0x69, 0x64, 0x44, 0x3c, 0xd9, 0x08,
0x57, 0x33, 0x11, 0xae, 0xbf, 0x56, 0xa0, 0xd1, 0x35, 0x02, 0xe3, 0x99, 0x67, 0x92, 0xe7, 0x0b,
0x16, 0xdd, 0x12, 0xd3, 0xa2, 0x5b, 0x50, 0x63, 0xc1, 0x49, 0x03, 0xc3, 0x19, 0x73, 0x23, 0x96,
0x70, 0xbc, 0xc1, 0x9e, 0x96, 0x0d, 0x99, 0x92, 0x4e, 0xa3, 0xe9, 0x21, 0x17, 0x25, 0x8a, 0x23,
0xff, 0x8d, 0xbe, 0x9f, 0x1e, 0x3d, 0xbc, 0x5b, 0x78, 0xbd, 0x5c, 0x08, 0x6f, 0xb8, 0x52, 0xf9,
0xa8, 0xcc, 0x9b, 0xe5, 0x2b, 0x05, 0xb4, 0xd0, 0x15, 0x3c, 0x35, 0xb7, 0x60, 0xc5, 0x30, 0x4d,
0x9f, 0x50, 0x2a, 0xed, 0x08, 0x97, 0xec, 0xcb, 0x05, 0xf1, 0x69, 0x78, 0x29, 0x2a, 0x0e, 0x97,
0xe8, 0x07, 0xb0, 0x1a, 0x75, 0x68, 0x62, 0x62, 0xb7, 0x33, 0xdd, 0x4e, 0xd9, 0x63, 0x47, 0x1c,
0xba, 0x0f, 0x4d, 0x09, 0x2e, 0x81, 0x6e, 0x3a, 0x07, 0x1d, 0x8f, 0x41, 0x3b, 0x8b, 0xbb, 0x95,
0x59, 0x4f, 0xe9, 0x44, 0x53, 0x83, 0x53, 0x3c, 0xfa, 0xc7, 0x50, 0x4f, 0x7c, 0x9c, 0xd1, 0x41,
0xb4, 0x60, 0x65, 0x90, 0xd0, 0x53, 0xc3, 0xe1, 0x52, 0xff, 0x8f, 0xc2, 0xa7, 0x56, 0x98, 0x0c,
0xbd, 0x0b, 0xe2, 0xbf, 0xba, 0xfa, 0x6c, 0xe0, 0x51, 0xc2, 0x8b, 0x25, 0xfb, 0xdc, 0x88, 0x01,
0x3d, 0x8a, 0xed, 0x54, 0xa7, 0x76, 0x1d, 0x69, 0x37, 0xc7, 0x47, 0xf9, 0x83, 0x98, 0x72, 0xa4,
0x8f, 0xb2, 0x68, 0x9a, 0xfc, 0x9f, 0xd4, 0xf2, 0xfb, 0x0f, 0x60, 0x23, 0x87, 0x6b, 0xd4, 0x04,
0xf8, 0xc4, 0x1d, 0x7a, 0xce, 0xd8, 0x26, 0x01, 0x59, 0xbf, 0x81, 0x34, 0x58, 0x3d, 0x08, 0x57,
0x4a, 0xe7, 0x9f, 0x75, 0xa8, 0x31, 0x28, 0x1f, 0x78, 0x9e, 0x6f, 0xa2, 0x31, 0x20, 0xfe, 0x16,
0x77, 0xc6, 0x9e, 0x1b, 0x0d, 0xad, 0xd0, 0x87, 0x53, 0xf2, 0x48, 0x9e, 0x54, 0x3a, 0xa0, 0x7d,
0x6f, 0x0a, 0x47, 0x86, 0x5c, 0xbf, 0x81, 0x1c, 0xae, 0x91, 0x15, 0xde, 0xe7, 0xd6, 0xf0, 0x45,
0xd8, 0x6d, 0xcc, 0xd0, 0x98, 0x21, 0x0d, 0x35, 0x66, 0x66, 0x61, 0x72, 0x21, 0x06, 0x26, 0x21,
0xc2, 0xf4, 0x1b, 0xe8, 0x0b, 0xd8, 0x64, 0x8f, 0xd3, 0xe8, 0x8d, 0x1c, 0x2a, 0xec, 0x4c, 0x57,
0x98, 0x23, 0x7e, 0x43, 0x95, 0x47, 0x50, 0xe5, 0xbd, 0x29, 0x2a, 0x02, 0x66, 0xf2, 0x9f, 0x9b,
0xf6, 0xce, 0x74, 0x82, 0x48, 0xda, 0x2f, 0x60, 0x2d, 0x33, 0x99, 0x46, 0x1f, 0x14, 0xb0, 0x15,
0xff, 0xc7, 0xd0, 0xbe, 0x5f, 0x86, 0x34, 0xd2, 0x35, 0x82, 0x66, 0xfa, 0x25, 0x8f, 0x76, 0x0b,
0xf8, 0x0b, 0xa7, 0x8a, 0xed, 0x0f, 0x4a, 0x50, 0x46, 0x8a, 0x1c, 0x58, 0xcf, 0x4e, 0x4a, 0xd1,
0xfd, 0x99, 0x02, 0xd2, 0x70, 0xfb, 0x66, 0x29, 0xda, 0x48, 0xdd, 0x2b, 0x0e, 0x82, 0xdc, 0xa4,
0x0e, 0xed, 0x15, 0x8b, 0x99, 0x36, 0x42, 0x6c, 0xef, 0x97, 0xa6, 0x8f, 0x54, 0xbf, 0x16, 0xf9,
0xaf, 0x68, 0xda, 0x85, 0x1e, 0x14, 0x8b, 0x9b, 0x31, 0xa6, 0x6b, 0x77, 0xde, 0x84, 0x25, 0x32,
0xe2, 0x4b, 0x9e, 0xb8, 0x0a, 0x26, 0x46, 0xd9, 0xb8, 0x0b, 0xe5, 0x4d, 0x1f, 0x85, 0xb5, 0x1f,
0xbc, 0x01, 0x47, 0x64, 0x80, 0x97, 0x9d, 0x45, 0x87, 0x61, 0xb8, 0x3f, 0x17, 0x35, 0x8b, 0xc5,
0xe0, 0xe7, 0xb0, 0x96, 0xe9, 0x68, 0x0b, 0xa3, 0xa6, 0xb8, 0xeb, 0x6d, 0xcf, 0x2a, 0x44, 0x22,
0x24, 0x33, 0x75, 0x00, 0x4d, 0x41, 0x7f, 0x41, 0xad, 0x68, 0xdf, 0x2f, 0x43, 0x1a, 0x1e, 0xa4,
0xf3, 0x37, 0x15, 0x56, 0xc3, 0xce, 0xe3, 0x1a, 0xb2, 0xf5, 0x35, 0xa4, 0xcf, 0xcf, 0x61, 0x2d,
0x33, 0x15, 0x2b, 0xf4, 0x6e, 0xf1, 0xe4, 0x6c, 0xde, 0xd5, 0x7d, 0x26, 0xff, 0xc0, 0x8e, 0xc6,
0x75, 0xef, 0x4f, 0x4b, 0xc1, 0x99, 0x41, 0xd8, 0x1c, 0xc1, 0x8f, 0x1f, 0xfe, 0xec, 0xc1, 0xc8,
0x0a, 0xce, 0x27, 0x03, 0xf6, 0x65, 0x5f, 0x90, 0x7e, 0xcb, 0xf2, 0xe4, 0xaf, 0xfd, 0xd0, 0x41,
0xfb, 0x9c, 0x7b, 0x9f, 0xa9, 0x19, 0x0f, 0x06, 0xcb, 0x7c, 0xf5, 0xf0, 0xbf, 0x01, 0x00, 0x00,
0xff, 0xff, 0xf4, 0xce, 0xaf, 0x73, 0x31, 0x20, 0x00, 0x00,
// 2025 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x1a, 0x5b, 0x6f, 0x1b, 0x59,
0xb9, 0xe3, 0x89, 0x13, 0xfb, 0xf3, 0xd8, 0x49, 0x0f, 0x21, 0x6b, 0xdc, 0x36, 0x4d, 0x87, 0xdd,
0x6e, 0xb6, 0xb0, 0xc9, 0xd6, 0x45, 0xe2, 0x52, 0x16, 0xb4, 0x8d, 0xdb, 0xc8, 0x22, 0x29, 0xe1,
0xa4, 0xbb, 0x2b, 0xb1, 0x42, 0xd6, 0xc4, 0x73, 0xe2, 0x0c, 0x9d, 0x8b, 0x77, 0xce, 0x38, 0x4d,
0x9f, 0x76, 0xb5, 0x48, 0x20, 0x10, 0xe2, 0x22, 0xc4, 0x1b, 0x0f, 0x80, 0x84, 0x84, 0xc4, 0x0b,
0xff, 0x80, 0x57, 0x7e, 0x16, 0x9a, 0x73, 0xce, 0x9c, 0xb9, 0xda, 0x9e, 0x3a, 0x74, 0xf3, 0x96,
0x73, 0xe6, 0xbb, 0x9d, 0xef, 0xfe, 0x7d, 0x0e, 0xac, 0x99, 0x46, 0x60, 0x0c, 0x86, 0x9e, 0xe7,
0x9b, 0x3b, 0x63, 0xdf, 0x0b, 0x3c, 0x74, 0xdd, 0xb1, 0xec, 0xf3, 0x09, 0xe5, 0xa7, 0x9d, 0xf0,
0x73, 0x47, 0x1b, 0x7a, 0x8e, 0xe3, 0xb9, 0xfc, 0xaa, 0xd3, 0xb2, 0xdc, 0x80, 0xf8, 0xae, 0x61,
0x8b, 0xb3, 0x96, 0x44, 0xe8, 0x68, 0x74, 0x78, 0x46, 0x1c, 0x83, 0x9f, 0xf4, 0x0b, 0xd0, 0x9e,
0xd8, 0x13, 0x7a, 0x86, 0xc9, 0xa7, 0x13, 0x42, 0x03, 0xf4, 0x1e, 0x2c, 0x9d, 0x18, 0x94, 0xb4,
0x95, 0x2d, 0x65, 0xbb, 0xd1, 0xbd, 0xb9, 0x93, 0xe2, 0x25, 0xb8, 0x1c, 0xd2, 0xd1, 0x23, 0x83,
0x12, 0xcc, 0x20, 0x11, 0x82, 0x25, 0xf3, 0xa4, 0xdf, 0x6b, 0x57, 0xb6, 0x94, 0x6d, 0x15, 0xb3,
0xbf, 0x91, 0x0e, 0xda, 0xd0, 0xb3, 0x6d, 0x32, 0x0c, 0x2c, 0xcf, 0xed, 0xf7, 0xda, 0x4b, 0xec,
0x5b, 0xea, 0x4e, 0xff, 0x8b, 0x02, 0x4d, 0xc1, 0x9a, 0x8e, 0x3d, 0x97, 0x12, 0xf4, 0x00, 0x96,
0x69, 0x60, 0x04, 0x13, 0x2a, 0xb8, 0xdf, 0x28, 0xe4, 0x7e, 0xcc, 0x40, 0xb0, 0x00, 0x2d, 0xc5,
0x5e, 0xcd, 0xb3, 0x47, 0x9b, 0x00, 0x94, 0x8c, 0x1c, 0xe2, 0x06, 0xfd, 0x1e, 0x6d, 0x2f, 0x6d,
0xa9, 0xdb, 0x2a, 0x4e, 0xdc, 0xe8, 0x7f, 0x54, 0x60, 0xed, 0x38, 0x3a, 0x46, 0xda, 0x59, 0x87,
0xea, 0xd0, 0x9b, 0xb8, 0x01, 0x13, 0xb0, 0x89, 0xf9, 0x01, 0xdd, 0x01, 0x6d, 0x78, 0x66, 0xb8,
0x2e, 0xb1, 0x07, 0xae, 0xe1, 0x10, 0x26, 0x4a, 0x1d, 0x37, 0xc4, 0xdd, 0x53, 0xc3, 0x21, 0xa5,
0x24, 0xda, 0x82, 0xc6, 0xd8, 0xf0, 0x03, 0x2b, 0xa5, 0xb3, 0xe4, 0x95, 0xfe, 0x57, 0x05, 0x36,
0x3e, 0xa0, 0xd4, 0x1a, 0xb9, 0x39, 0xc9, 0x36, 0x60, 0xd9, 0xf5, 0x4c, 0xd2, 0xef, 0x31, 0xd1,
0x54, 0x2c, 0x4e, 0xe8, 0x06, 0xd4, 0xc7, 0x84, 0xf8, 0x03, 0xdf, 0xb3, 0x23, 0xc1, 0x6a, 0xe1,
0x05, 0xf6, 0x6c, 0x82, 0x7e, 0x02, 0xd7, 0x69, 0x86, 0x10, 0x6d, 0xab, 0x5b, 0xea, 0x76, 0xa3,
0xfb, 0xf5, 0x9d, 0x9c, 0x97, 0xed, 0x64, 0x99, 0xe2, 0x3c, 0xb6, 0xfe, 0x79, 0x05, 0xbe, 0x22,
0xe1, 0xb8, 0xac, 0xe1, 0xdf, 0xa1, 0xe6, 0x28, 0x19, 0x49, 0xf1, 0xf8, 0xa1, 0x8c, 0xe6, 0xa4,
0xca, 0xd5, 0xa4, 0xca, 0x4b, 0x38, 0x58, 0x56, 0x9f, 0xd5, 0x9c, 0x3e, 0xd1, 0x6d, 0x68, 0x90,
0x8b, 0xb1, 0xe5, 0x93, 0x41, 0x60, 0x39, 0xa4, 0xbd, 0xbc, 0xa5, 0x6c, 0x2f, 0x61, 0xe0, 0x57,
0xcf, 0x2c, 0x27, 0xe9, 0x91, 0x2b, 0xa5, 0x3d, 0x52, 0xff, 0xbb, 0x02, 0x6f, 0xe4, 0xac, 0x24,
0x5c, 0x1c, 0xc3, 0x1a, 0x7b, 0x79, 0xac, 0x99, 0xd0, 0xd9, 0x43, 0x85, 0xdf, 0x9d, 0xa5, 0xf0,
0x18, 0x1c, 0xe7, 0xf0, 0x13, 0x42, 0x56, 0xca, 0x0b, 0xf9, 0x1c, 0xde, 0xd8, 0x27, 0x81, 0x60,
0x10, 0x7e, 0x23, 0x74, 0xf1, 0x14, 0x90, 0x8e, 0xa5, 0x4a, 0x2e, 0x96, 0xfe, 0x5d, 0x91, 0xb1,
0xc4, 0x58, 0xf5, 0xdd, 0x53, 0x0f, 0xdd, 0x84, 0xba, 0x04, 0x11, 0x5e, 0x11, 0x5f, 0xa0, 0x6f,
0x43, 0x35, 0x94, 0x94, 0xbb, 0x44, 0xab, 0x7b, 0xa7, 0xf8, 0x4d, 0x09, 0x9a, 0x98, 0xc3, 0xa3,
0x3e, 0xb4, 0x68, 0x60, 0xf8, 0xc1, 0x60, 0xec, 0x51, 0x66, 0x67, 0xe6, 0x38, 0x8d, 0xae, 0x9e,
0xa6, 0x20, 0x53, 0xe4, 0x21, 0x1d, 0x1d, 0x09, 0x48, 0xdc, 0x64, 0x98, 0xd1, 0x11, 0x3d, 0x06,
0x8d, 0xb8, 0x66, 0x4c, 0x68, 0xa9, 0x34, 0xa1, 0x06, 0x71, 0x4d, 0x49, 0x26, 0xb6, 0x4f, 0xb5,
0xbc, 0x7d, 0x7e, 0xab, 0x40, 0x3b, 0x6f, 0xa0, 0xcb, 0x24, 0xca, 0x87, 0x1c, 0x89, 0x70, 0x03,
0xcd, 0x8c, 0x70, 0x69, 0x24, 0x2c, 0x50, 0x74, 0x0b, 0xbe, 0x1a, 0x4b, 0xc3, 0xbe, 0xbc, 0x36,
0x67, 0xf9, 0x85, 0x02, 0x1b, 0x59, 0x5e, 0x97, 0x79, 0xf7, 0xb7, 0xa0, 0x6a, 0xb9, 0xa7, 0x5e,
0xf4, 0xec, 0xcd, 0x19, 0x71, 0x16, 0xf2, 0xe2, 0xc0, 0xba, 0x03, 0x37, 0xf6, 0x49, 0xd0, 0x77,
0x29, 0xf1, 0x83, 0x47, 0x96, 0x6b, 0x7b, 0xa3, 0x23, 0x23, 0x38, 0xbb, 0x44, 0x8c, 0xa4, 0xdc,
0xbd, 0x92, 0x71, 0x77, 0xfd, 0x9f, 0x0a, 0xdc, 0x2c, 0xe6, 0x27, 0x9e, 0xde, 0x81, 0xda, 0xa9,
0x45, 0x6c, 0x33, 0xd4, 0x99, 0xc2, 0x74, 0x26, 0xcf, 0x61, 0xac, 0x8c, 0x43, 0x60, 0xf1, 0xc2,
0x3b, 0x53, 0x1c, 0xf4, 0x38, 0xf0, 0x2d, 0x77, 0x74, 0x60, 0xd1, 0x00, 0x73, 0xf8, 0x84, 0x3e,
0xd5, 0xf2, 0x9e, 0xf9, 0x1b, 0x05, 0x36, 0xf7, 0x49, 0xb0, 0x27, 0x53, 0x6d, 0xf8, 0xdd, 0xa2,
0x81, 0x35, 0xa4, 0xaf, 0xb7, 0x89, 0x28, 0xa8, 0x99, 0xfa, 0xef, 0x15, 0xb8, 0x3d, 0x55, 0x18,
0xa1, 0x3a, 0x91, 0x4a, 0xa2, 0x44, 0x5b, 0x9c, 0x4a, 0x7e, 0x44, 0x5e, 0x7e, 0x64, 0xd8, 0x13,
0x72, 0x64, 0x58, 0x3e, 0x4f, 0x25, 0x0b, 0x26, 0xd6, 0x7f, 0x29, 0x70, 0x6b, 0x9f, 0x04, 0x47,
0x51, 0x99, 0xb9, 0x42, 0xed, 0x94, 0xe8, 0x28, 0x7e, 0xc7, 0x8d, 0x59, 0x28, 0xed, 0x95, 0xa8,
0x6f, 0x93, 0xc5, 0x41, 0x22, 0x20, 0xf7, 0x78, 0x2f, 0x20, 0x94, 0xa7, 0xff, 0xb9, 0x02, 0xda,
0x47, 0xa2, 0x3f, 0x60, 0x65, 0x24, 0xab, 0x07, 0xa5, 0x58, 0x0f, 0x89, 0x96, 0xa2, 0xa8, 0xcb,
0xd8, 0x87, 0x26, 0x25, 0xe4, 0xf9, 0x22, 0x45, 0x43, 0x0b, 0x11, 0x65, 0xb2, 0x3f, 0x80, 0xeb,
0x13, 0xf7, 0x34, 0x6c, 0x6b, 0x89, 0x29, 0x5e, 0xc1, 0xbb, 0xcb, 0xf9, 0x99, 0x27, 0x8f, 0x88,
0xb6, 0x61, 0x35, 0x4b, 0xab, 0xca, 0x82, 0x3f, 0x7b, 0xad, 0xff, 0x5a, 0x81, 0x8d, 0x8f, 0x8d,
0x60, 0x78, 0xd6, 0x73, 0x84, 0xc6, 0x2e, 0xe1, 0x6f, 0xef, 0x43, 0xfd, 0x5c, 0x68, 0x27, 0x4a,
0x2a, 0xb7, 0x0b, 0x84, 0x4f, 0xda, 0x01, 0xc7, 0x18, 0x61, 0x9b, 0xba, 0xce, 0x3a, 0xfb, 0x48,
0xba, 0x2f, 0xdf, 0xf3, 0xe7, 0x75, 0xf7, 0x17, 0x00, 0x42, 0xb8, 0x43, 0x3a, 0x5a, 0x40, 0xae,
0xef, 0xc0, 0x8a, 0xa0, 0x26, 0x9c, 0x7b, 0x9e, 0x71, 0x23, 0x70, 0xfd, 0x18, 0x36, 0xc4, 0xfd,
0x93, 0x30, 0x7f, 0xf3, 0x5c, 0x7f, 0x48, 0x02, 0x03, 0xb5, 0x61, 0x45, 0xa4, 0x74, 0xe1, 0xc4,
0xd1, 0x31, 0xec, 0x53, 0x4f, 0x18, 0xdc, 0x20, 0xcc, 0xdb, 0xc2, 0x7f, 0xe1, 0x44, 0x96, 0x09,
0xfd, 0x67, 0xd0, 0xec, 0xf5, 0x0e, 0x12, 0xb4, 0xee, 0xc2, 0xaa, 0x69, 0xda, 0x83, 0x24, 0x96,
0xc2, 0xb0, 0x9a, 0xa6, 0x69, 0xc7, 0xf5, 0x05, 0xbd, 0x09, 0xad, 0x80, 0x0e, 0xf2, 0xc4, 0xb5,
0x80, 0xc6, 0x50, 0xfa, 0x21, 0xb4, 0x98, 0xb0, 0xcc, 0xa8, 0x73, 0x64, 0xbd, 0x03, 0x5a, 0x82,
0x1c, 0x77, 0x9f, 0x3a, 0x6e, 0xc4, 0xc2, 0xb2, 0x0a, 0x12, 0xb5, 0x83, 0x31, 0xc5, 0xd9, 0xed,
0xe0, 0x2d, 0x00, 0x8b, 0x0e, 0x84, 0xd3, 0x33, 0x19, 0x6b, 0xb8, 0x6e, 0xd1, 0x27, 0xfc, 0x02,
0x7d, 0x17, 0x96, 0x19, 0x7f, 0x1e, 0x1e, 0xb9, 0x24, 0xc5, 0xac, 0x91, 0x7e, 0x01, 0x16, 0x08,
0xfa, 0x87, 0xa0, 0xf5, 0x7a, 0x07, 0xb1, 0x1c, 0x65, 0xf2, 0x49, 0x89, 0x37, 0x7e, 0x06, 0xad,
0xb8, 0x28, 0xb1, 0x44, 0xd5, 0x82, 0x8a, 0x24, 0x57, 0xe9, 0xf7, 0xd0, 0xfb, 0xb0, 0xcc, 0x27,
0x71, 0xe1, 0x41, 0x6f, 0xa5, 0x65, 0x16, 0x53, 0x7a, 0xa2, 0xb2, 0xb1, 0x0b, 0x2c, 0x90, 0x42,
0x0f, 0x97, 0x89, 0x9c, 0x0f, 0x6d, 0x2a, 0x4e, 0xdc, 0xe8, 0xff, 0x51, 0xa1, 0x91, 0x70, 0xc0,
0x1c, 0xfb, 0xec, 0x3b, 0x2b, 0xf3, 0xeb, 0x87, 0x9a, 0x9f, 0xa0, 0xde, 0x82, 0x96, 0xc5, 0x7a,
0x96, 0x81, 0x88, 0x7e, 0x56, 0x64, 0xea, 0xb8, 0xc9, 0x6f, 0x45, 0x2a, 0x42, 0x9b, 0xd0, 0x70,
0x27, 0xce, 0xc0, 0x3b, 0x1d, 0xf8, 0xde, 0x0b, 0x2a, 0x46, 0xb1, 0xba, 0x3b, 0x71, 0x7e, 0x7c,
0x8a, 0xbd, 0x17, 0x34, 0xee, 0xf6, 0x97, 0x5f, 0xb1, 0xdb, 0x7f, 0x0c, 0x9a, 0xe9, 0xd8, 0x71,
0xda, 0x5e, 0x29, 0xdf, 0xa2, 0x9b, 0x8e, 0x2d, 0xb3, 0xf6, 0x26, 0x34, 0x1c, 0xe3, 0x22, 0x14,
0x6e, 0xe0, 0x4e, 0x9c, 0x76, 0x8d, 0xcb, 0xe7, 0x18, 0x17, 0xd8, 0x7b, 0xf1, 0x74, 0xe2, 0xa0,
0x6d, 0x58, 0xb3, 0x0d, 0x1a, 0x0c, 0x92, 0xd3, 0x62, 0x9d, 0x4d, 0x8b, 0xad, 0xf0, 0xfe, 0x71,
0x3c, 0x31, 0xe6, 0xc7, 0x0f, 0x58, 0x70, 0xfc, 0xd0, 0x1f, 0x40, 0xa3, 0xdf, 0xeb, 0x86, 0xee,
0x14, 0xf6, 0x6c, 0x39, 0x03, 0xae, 0x43, 0xf5, 0x28, 0xe1, 0x7d, 0xd5, 0xc8, 0xef, 0xd6, 0x63,
0x3d, 0x25, 0x66, 0x99, 0xbc, 0x5c, 0xca, 0xa2, 0x63, 0xd1, 0xec, 0x4e, 0xf6, 0x57, 0x2a, 0x6c,
0x1c, 0x1b, 0xe7, 0xe4, 0xf5, 0x37, 0xcd, 0xa5, 0x0a, 0xc1, 0x01, 0x5c, 0x67, 0x81, 0xde, 0x4d,
0xc8, 0x33, 0xa3, 0x1e, 0x27, 0x14, 0x8e, 0xf3, 0x88, 0xe8, 0x87, 0x61, 0x23, 0x41, 0x86, 0xcf,
0x8f, 0x3c, 0x2b, 0xaa, 0xc5, 0x8d, 0xee, 0xad, 0x02, 0x3a, 0x7b, 0x12, 0x0a, 0x27, 0x31, 0xd0,
0x11, 0xac, 0xa6, 0xcd, 0x40, 0xdb, 0xcb, 0x8c, 0xc8, 0xdb, 0x33, 0xa7, 0xb1, 0x58, 0xfb, 0xb8,
0x95, 0x32, 0x06, 0x65, 0x99, 0x58, 0xa4, 0xc5, 0x15, 0x96, 0x16, 0xa3, 0x63, 0x98, 0x66, 0x21,
0x96, 0x63, 0x4e, 0x82, 0xfd, 0x01, 0xd4, 0xa4, 0x67, 0x54, 0x4a, 0x7b, 0x86, 0xc4, 0xc9, 0x46,
0xb8, 0x9a, 0x89, 0x70, 0xfd, 0x0b, 0x05, 0x9a, 0x3d, 0x23, 0x30, 0x9e, 0x7a, 0x26, 0x79, 0xb6,
0x60, 0xd1, 0x2d, 0xb1, 0x2d, 0xba, 0x09, 0xf5, 0x30, 0x38, 0x69, 0x60, 0x38, 0x63, 0x26, 0xc4,
0x12, 0x8e, 0x2f, 0xc2, 0xd1, 0xb2, 0x29, 0x52, 0xd2, 0xb1, 0xdc, 0x1e, 0x32, 0x52, 0xbc, 0x38,
0xb2, 0xbf, 0xd1, 0xf7, 0xd2, 0xab, 0x87, 0x37, 0x0b, 0xcd, 0xcb, 0x88, 0xb0, 0x86, 0x2b, 0x95,
0x8f, 0xca, 0xcc, 0x2c, 0x9f, 0x2b, 0xa0, 0x45, 0xaa, 0x60, 0xa9, 0xb9, 0x0d, 0x2b, 0x86, 0x69,
0xfa, 0x84, 0x52, 0x21, 0x47, 0x74, 0x0c, 0xbf, 0x9c, 0x13, 0x9f, 0x46, 0x46, 0x51, 0x71, 0x74,
0x44, 0xdf, 0x87, 0x9a, 0xec, 0xd0, 0xf8, 0xc6, 0x6e, 0x6b, 0xba, 0x9c, 0xa2, 0xc7, 0x96, 0x18,
0xba, 0x0f, 0x2d, 0xe1, 0x5c, 0xdc, 0xbb, 0xe9, 0x1c, 0xef, 0x78, 0x04, 0xda, 0x69, 0xdc, 0xad,
0xcc, 0x1a, 0xa5, 0x13, 0x4d, 0x0d, 0x4e, 0xe1, 0xe8, 0x1f, 0x40, 0x23, 0xf1, 0x71, 0x46, 0x07,
0xd1, 0x86, 0x95, 0x93, 0x04, 0x9f, 0x3a, 0x8e, 0x8e, 0xfa, 0x7f, 0x15, 0xb6, 0xb5, 0xc2, 0x64,
0xe8, 0x9d, 0x13, 0xff, 0xe5, 0xe5, 0x77, 0x03, 0x0f, 0x13, 0x5a, 0x2c, 0xd9, 0xe7, 0x4a, 0x04,
0xf4, 0x30, 0x96, 0x53, 0x9d, 0xda, 0x75, 0xa4, 0xd5, 0x1c, 0x3f, 0xe5, 0x0f, 0x7c, 0xcb, 0x91,
0x7e, 0xca, 0xa2, 0x69, 0xf2, 0xff, 0x52, 0xcb, 0xf5, 0x3f, 0x29, 0xf0, 0xb5, 0x7d, 0x12, 0x3c,
0x49, 0x4f, 0x16, 0x57, 0x2d, 0x95, 0x03, 0x9d, 0x22, 0xa1, 0x2e, 0x63, 0xf5, 0x0e, 0xd4, 0x68,
0x34, 0x4e, 0xf1, 0xfd, 0x93, 0x3c, 0xeb, 0xbf, 0x54, 0xa0, 0x9d, 0xec, 0x4d, 0xf7, 0x3c, 0x67,
0x6c, 0x93, 0x80, 0x98, 0x5f, 0xf2, 0x9c, 0x70, 0xef, 0x3e, 0x5c, 0xcf, 0x65, 0x19, 0xd4, 0x02,
0xf8, 0xd0, 0x1d, 0x0a, 0x91, 0xd6, 0xae, 0x21, 0x0d, 0x6a, 0x91, 0x80, 0x6b, 0x4a, 0xf7, 0x6f,
0x1a, 0xd4, 0xc3, 0xc4, 0xb2, 0xe7, 0x79, 0xbe, 0x89, 0xc6, 0x80, 0xd8, 0x66, 0xc4, 0x19, 0x7b,
0xae, 0x5c, 0x21, 0xa2, 0xf7, 0xa6, 0x64, 0xf5, 0x3c, 0xa8, 0x30, 0x7c, 0xe7, 0xee, 0x14, 0x8c,
0x0c, 0xb8, 0x7e, 0x0d, 0x39, 0x8c, 0x63, 0xd8, 0x06, 0x3d, 0xb3, 0x86, 0xcf, 0xa3, 0xde, 0x6f,
0x06, 0xc7, 0x0c, 0x68, 0xc4, 0x31, 0xb3, 0x99, 0x14, 0x07, 0xbe, 0xbe, 0x8a, 0x2c, 0xaf, 0x5f,
0x43, 0x9f, 0xc2, 0xfa, 0x3e, 0x09, 0xe2, 0x8d, 0x45, 0xc4, 0xb0, 0x3b, 0x9d, 0x61, 0x0e, 0xf8,
0x15, 0x59, 0x1e, 0x40, 0x95, 0x79, 0x05, 0x2a, 0x4a, 0x13, 0xc9, 0xdf, 0xd1, 0x3a, 0x5b, 0xd3,
0x01, 0x24, 0xb5, 0x9f, 0xc3, 0x6a, 0xe6, 0x77, 0x02, 0xf4, 0x4e, 0x01, 0x5a, 0xf1, 0x2f, 0x3e,
0x9d, 0x7b, 0x65, 0x40, 0x25, 0xaf, 0x11, 0xb4, 0xd2, 0x7b, 0x15, 0xb4, 0x5d, 0x80, 0x5f, 0xb8,
0xe3, 0xed, 0xbc, 0x53, 0x02, 0x52, 0x32, 0x72, 0x60, 0x2d, 0xbb, 0xb7, 0x46, 0xf7, 0x66, 0x12,
0x48, 0xbb, 0xdb, 0x37, 0x4a, 0xc1, 0x4a, 0x76, 0x2f, 0x99, 0x13, 0xe4, 0xf6, 0xa6, 0x68, 0xa7,
0x98, 0xcc, 0xb4, 0x85, 0x6e, 0x67, 0xb7, 0x34, 0xbc, 0x64, 0xfd, 0x05, 0xaf, 0x46, 0x45, 0xbb,
0x47, 0x74, 0xbf, 0x98, 0xdc, 0x8c, 0xa5, 0x69, 0xa7, 0xfb, 0x2a, 0x28, 0x52, 0x88, 0xcf, 0x58,
0x19, 0x29, 0xd8, 0xdf, 0x65, 0xe3, 0x2e, 0xa2, 0x37, 0x7d, 0x31, 0xd9, 0xb9, 0xff, 0x0a, 0x18,
0x52, 0x00, 0x2f, 0xfb, 0xcb, 0x40, 0x14, 0x86, 0xbb, 0x73, 0xbd, 0x66, 0xb1, 0x18, 0xfc, 0x04,
0x56, 0x33, 0xf3, 0x45, 0x61, 0xd4, 0x14, 0xcf, 0x20, 0x9d, 0x59, 0x05, 0x82, 0x87, 0x64, 0xa6,
0x2a, 0xa3, 0x29, 0xde, 0x5f, 0x50, 0xb9, 0x3b, 0xf7, 0xca, 0x80, 0xca, 0x87, 0x50, 0x96, 0x2e,
0x33, 0x95, 0x0d, 0x7d, 0xb3, 0x98, 0x46, 0x71, 0x55, 0xee, 0xbc, 0x5b, 0x12, 0x3a, 0x62, 0xda,
0xfd, 0x87, 0x0a, 0xb5, 0xa8, 0xf9, 0xbc, 0x82, 0x12, 0x71, 0x05, 0x39, 0xfb, 0x13, 0x58, 0xcd,
0x2c, 0x46, 0x0b, 0x4d, 0x5a, 0xbc, 0x3c, 0x9d, 0xe7, 0x2f, 0x1f, 0x8b, 0xff, 0x61, 0x90, 0xe6,
0x7b, 0x7b, 0x5a, 0xde, 0xcf, 0x5a, 0x6e, 0x36, 0xe1, 0x47, 0x0f, 0x7e, 0x7a, 0x7f, 0x64, 0x05,
0x67, 0x93, 0x93, 0xf0, 0xcb, 0x2e, 0x07, 0x7d, 0xd7, 0xf2, 0xc4, 0x5f, 0xbb, 0x91, 0x82, 0x76,
0x19, 0xf6, 0x6e, 0xc8, 0x66, 0x7c, 0x72, 0xb2, 0xcc, 0x4e, 0x0f, 0xfe, 0x17, 0x00, 0x00, 0xff,
0xff, 0x9c, 0xc7, 0x52, 0x4b, 0x34, 0x22, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.
@ -2469,6 +2625,7 @@ type DataCoordClient interface {
GetSegmentInfoChannel(ctx context.Context, in *GetSegmentInfoChannelRequest, opts ...grpc.CallOption) (*milvuspb.StringResponse, error)
SaveBinlogPaths(ctx context.Context, in *SaveBinlogPathsRequest, opts ...grpc.CallOption) (*commonpb.Status, error)
GetRecoveryInfo(ctx context.Context, in *GetRecoveryInfoRequest, opts ...grpc.CallOption) (*GetRecoveryInfoResponse, error)
GetFlushedSegments(ctx context.Context, in *GetFlushedSegmentsRequest, opts ...grpc.CallOption) (*GetFlushedSegmentsResponse, error)
}
type dataCoordClient struct {
@ -2596,6 +2753,15 @@ func (c *dataCoordClient) GetRecoveryInfo(ctx context.Context, in *GetRecoveryIn
return out, nil
}
func (c *dataCoordClient) GetFlushedSegments(ctx context.Context, in *GetFlushedSegmentsRequest, opts ...grpc.CallOption) (*GetFlushedSegmentsResponse, error) {
out := new(GetFlushedSegmentsResponse)
err := c.cc.Invoke(ctx, "/milvus.proto.data.DataCoord/GetFlushedSegments", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// DataCoordServer is the server API for DataCoord service.
type DataCoordServer interface {
GetComponentStates(context.Context, *internalpb.GetComponentStatesRequest) (*internalpb.ComponentStates, error)
@ -2611,6 +2777,7 @@ type DataCoordServer interface {
GetSegmentInfoChannel(context.Context, *GetSegmentInfoChannelRequest) (*milvuspb.StringResponse, error)
SaveBinlogPaths(context.Context, *SaveBinlogPathsRequest) (*commonpb.Status, error)
GetRecoveryInfo(context.Context, *GetRecoveryInfoRequest) (*GetRecoveryInfoResponse, error)
GetFlushedSegments(context.Context, *GetFlushedSegmentsRequest) (*GetFlushedSegmentsResponse, error)
}
// UnimplementedDataCoordServer can be embedded to have forward compatible implementations.
@ -2656,6 +2823,9 @@ func (*UnimplementedDataCoordServer) SaveBinlogPaths(ctx context.Context, req *S
func (*UnimplementedDataCoordServer) GetRecoveryInfo(ctx context.Context, req *GetRecoveryInfoRequest) (*GetRecoveryInfoResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetRecoveryInfo not implemented")
}
func (*UnimplementedDataCoordServer) GetFlushedSegments(ctx context.Context, req *GetFlushedSegmentsRequest) (*GetFlushedSegmentsResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetFlushedSegments not implemented")
}
func RegisterDataCoordServer(s *grpc.Server, srv DataCoordServer) {
s.RegisterService(&_DataCoord_serviceDesc, srv)
@ -2895,6 +3065,24 @@ func _DataCoord_GetRecoveryInfo_Handler(srv interface{}, ctx context.Context, de
return interceptor(ctx, in, info, handler)
}
func _DataCoord_GetFlushedSegments_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetFlushedSegmentsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DataCoordServer).GetFlushedSegments(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/milvus.proto.data.DataCoord/GetFlushedSegments",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DataCoordServer).GetFlushedSegments(ctx, req.(*GetFlushedSegmentsRequest))
}
return interceptor(ctx, in, info, handler)
}
var _DataCoord_serviceDesc = grpc.ServiceDesc{
ServiceName: "milvus.proto.data.DataCoord",
HandlerType: (*DataCoordServer)(nil),
@ -2951,6 +3139,10 @@ var _DataCoord_serviceDesc = grpc.ServiceDesc{
MethodName: "GetRecoveryInfo",
Handler: _DataCoord_GetRecoveryInfo_Handler,
},
{
MethodName: "GetFlushedSegments",
Handler: _DataCoord_GetFlushedSegments_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "data_coord.proto",

View File

@ -215,11 +215,6 @@ message SegmentStatistics {
repeated SegmentStatisticsUpdates SegStats = 2;
}
message SegmentFlushCompletedMsg {
common.MsgBase base = 1;
int64 segmentID = 2;
}
message IndexStats {
repeated common.KeyValuePair index_params = 1;
int64 num_related_segments = 2;

View File

@ -1812,53 +1812,6 @@ func (m *SegmentStatistics) GetSegStats() []*SegmentStatisticsUpdates {
return nil
}
type SegmentFlushCompletedMsg struct {
Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"`
SegmentID int64 `protobuf:"varint,2,opt,name=segmentID,proto3" json:"segmentID,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *SegmentFlushCompletedMsg) Reset() { *m = SegmentFlushCompletedMsg{} }
func (m *SegmentFlushCompletedMsg) String() string { return proto.CompactTextString(m) }
func (*SegmentFlushCompletedMsg) ProtoMessage() {}
func (*SegmentFlushCompletedMsg) Descriptor() ([]byte, []int) {
return fileDescriptor_41f4a519b878ee3b, []int{25}
}
func (m *SegmentFlushCompletedMsg) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SegmentFlushCompletedMsg.Unmarshal(m, b)
}
func (m *SegmentFlushCompletedMsg) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SegmentFlushCompletedMsg.Marshal(b, m, deterministic)
}
func (m *SegmentFlushCompletedMsg) XXX_Merge(src proto.Message) {
xxx_messageInfo_SegmentFlushCompletedMsg.Merge(m, src)
}
func (m *SegmentFlushCompletedMsg) XXX_Size() int {
return xxx_messageInfo_SegmentFlushCompletedMsg.Size(m)
}
func (m *SegmentFlushCompletedMsg) XXX_DiscardUnknown() {
xxx_messageInfo_SegmentFlushCompletedMsg.DiscardUnknown(m)
}
var xxx_messageInfo_SegmentFlushCompletedMsg proto.InternalMessageInfo
func (m *SegmentFlushCompletedMsg) GetBase() *commonpb.MsgBase {
if m != nil {
return m.Base
}
return nil
}
func (m *SegmentFlushCompletedMsg) GetSegmentID() int64 {
if m != nil {
return m.SegmentID
}
return 0
}
type IndexStats struct {
IndexParams []*commonpb.KeyValuePair `protobuf:"bytes,1,rep,name=index_params,json=indexParams,proto3" json:"index_params,omitempty"`
NumRelatedSegments int64 `protobuf:"varint,2,opt,name=num_related_segments,json=numRelatedSegments,proto3" json:"num_related_segments,omitempty"`
@ -1871,7 +1824,7 @@ func (m *IndexStats) Reset() { *m = IndexStats{} }
func (m *IndexStats) String() string { return proto.CompactTextString(m) }
func (*IndexStats) ProtoMessage() {}
func (*IndexStats) Descriptor() ([]byte, []int) {
return fileDescriptor_41f4a519b878ee3b, []int{26}
return fileDescriptor_41f4a519b878ee3b, []int{25}
}
func (m *IndexStats) XXX_Unmarshal(b []byte) error {
@ -1919,7 +1872,7 @@ func (m *FieldStats) Reset() { *m = FieldStats{} }
func (m *FieldStats) String() string { return proto.CompactTextString(m) }
func (*FieldStats) ProtoMessage() {}
func (*FieldStats) Descriptor() ([]byte, []int) {
return fileDescriptor_41f4a519b878ee3b, []int{27}
return fileDescriptor_41f4a519b878ee3b, []int{26}
}
func (m *FieldStats) XXX_Unmarshal(b []byte) error {
@ -1975,7 +1928,7 @@ func (m *SegmentStats) Reset() { *m = SegmentStats{} }
func (m *SegmentStats) String() string { return proto.CompactTextString(m) }
func (*SegmentStats) ProtoMessage() {}
func (*SegmentStats) Descriptor() ([]byte, []int) {
return fileDescriptor_41f4a519b878ee3b, []int{28}
return fileDescriptor_41f4a519b878ee3b, []int{27}
}
func (m *SegmentStats) XXX_Unmarshal(b []byte) error {
@ -2037,7 +1990,7 @@ func (m *QueryNodeStats) Reset() { *m = QueryNodeStats{} }
func (m *QueryNodeStats) String() string { return proto.CompactTextString(m) }
func (*QueryNodeStats) ProtoMessage() {}
func (*QueryNodeStats) Descriptor() ([]byte, []int) {
return fileDescriptor_41f4a519b878ee3b, []int{29}
return fileDescriptor_41f4a519b878ee3b, []int{28}
}
func (m *QueryNodeStats) XXX_Unmarshal(b []byte) error {
@ -2093,7 +2046,7 @@ func (m *MsgPosition) Reset() { *m = MsgPosition{} }
func (m *MsgPosition) String() string { return proto.CompactTextString(m) }
func (*MsgPosition) ProtoMessage() {}
func (*MsgPosition) Descriptor() ([]byte, []int) {
return fileDescriptor_41f4a519b878ee3b, []int{30}
return fileDescriptor_41f4a519b878ee3b, []int{29}
}
func (m *MsgPosition) XXX_Unmarshal(b []byte) error {
@ -2156,7 +2109,7 @@ func (m *ChannelTimeTickMsg) Reset() { *m = ChannelTimeTickMsg{} }
func (m *ChannelTimeTickMsg) String() string { return proto.CompactTextString(m) }
func (*ChannelTimeTickMsg) ProtoMessage() {}
func (*ChannelTimeTickMsg) Descriptor() ([]byte, []int) {
return fileDescriptor_41f4a519b878ee3b, []int{31}
return fileDescriptor_41f4a519b878ee3b, []int{30}
}
func (m *ChannelTimeTickMsg) XXX_Unmarshal(b []byte) error {
@ -2232,7 +2185,6 @@ func init() {
proto.RegisterType((*LoadIndex)(nil), "milvus.proto.internal.LoadIndex")
proto.RegisterType((*SegmentStatisticsUpdates)(nil), "milvus.proto.internal.SegmentStatisticsUpdates")
proto.RegisterType((*SegmentStatistics)(nil), "milvus.proto.internal.SegmentStatistics")
proto.RegisterType((*SegmentFlushCompletedMsg)(nil), "milvus.proto.internal.SegmentFlushCompletedMsg")
proto.RegisterType((*IndexStats)(nil), "milvus.proto.internal.IndexStats")
proto.RegisterType((*FieldStats)(nil), "milvus.proto.internal.FieldStats")
proto.RegisterType((*SegmentStats)(nil), "milvus.proto.internal.SegmentStats")
@ -2244,127 +2196,126 @@ func init() {
func init() { proto.RegisterFile("internal.proto", fileDescriptor_41f4a519b878ee3b) }
var fileDescriptor_41f4a519b878ee3b = []byte{
// 1950 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x59, 0x5b, 0x73, 0x23, 0x47,
0xf5, 0xff, 0x8f, 0x24, 0x5b, 0xd2, 0xd1, 0xd8, 0xd6, 0xf6, 0x7a, 0x37, 0x63, 0xef, 0x66, 0xa3,
0x4c, 0xfe, 0x80, 0xc9, 0x16, 0xeb, 0xc5, 0x01, 0x92, 0xa2, 0x28, 0x36, 0xb1, 0x95, 0x2c, 0xaa,
0x8d, 0x8d, 0x19, 0x6f, 0x52, 0x05, 0x2f, 0x53, 0xad, 0x99, 0xb6, 0x34, 0xc9, 0xdc, 0x98, 0xee,
0xf1, 0xae, 0xf2, 0xc4, 0x03, 0x6f, 0x14, 0x3c, 0x50, 0xc5, 0xd7, 0xe0, 0x95, 0x27, 0x2e, 0x95,
0x27, 0xaa, 0xf8, 0x04, 0x7c, 0x0a, 0x1e, 0xa1, 0x78, 0xa2, 0xfa, 0x74, 0xcf, 0x45, 0xb2, 0x6c,
0xbc, 0xde, 0xa2, 0x20, 0x05, 0x6f, 0xd3, 0xbf, 0x73, 0xfa, 0x72, 0x7e, 0xe7, 0xd2, 0x47, 0x2d,
0x58, 0x0f, 0x62, 0xc1, 0xb2, 0x98, 0x86, 0x0f, 0xd2, 0x2c, 0x11, 0x09, 0xb9, 0x15, 0x05, 0xe1,
0x59, 0xce, 0xd5, 0xe8, 0x41, 0x21, 0xdc, 0x36, 0xbd, 0x24, 0x8a, 0x92, 0x58, 0xc1, 0xdb, 0x26,
0xf7, 0xa6, 0x2c, 0xa2, 0x6a, 0x64, 0xff, 0xce, 0x80, 0xb5, 0x83, 0x24, 0x4a, 0x93, 0x98, 0xc5,
0x62, 0x14, 0x9f, 0x26, 0xe4, 0x36, 0xac, 0xc6, 0x89, 0xcf, 0x46, 0x43, 0xcb, 0x18, 0x18, 0x3b,
0x4d, 0x47, 0x8f, 0x08, 0x81, 0x56, 0x96, 0x84, 0xcc, 0x6a, 0x0c, 0x8c, 0x9d, 0xae, 0x83, 0xdf,
0xe4, 0x11, 0x00, 0x17, 0x54, 0x30, 0xd7, 0x4b, 0x7c, 0x66, 0x35, 0x07, 0xc6, 0xce, 0xfa, 0xde,
0xe0, 0xc1, 0xd2, 0x53, 0x3c, 0x38, 0x91, 0x8a, 0x07, 0x89, 0xcf, 0x9c, 0x2e, 0x2f, 0x3e, 0xc9,
0xbb, 0x00, 0xec, 0xb9, 0xc8, 0xa8, 0x1b, 0xc4, 0xa7, 0x89, 0xd5, 0x1a, 0x34, 0x77, 0x7a, 0x7b,
0xaf, 0xcf, 0x2f, 0xa0, 0x0f, 0xff, 0x84, 0xcd, 0x3e, 0xa6, 0x61, 0xce, 0x8e, 0x69, 0x90, 0x39,
0x5d, 0x9c, 0x24, 0x8f, 0x6b, 0xff, 0xd9, 0x80, 0x8d, 0xd2, 0x00, 0xdc, 0x83, 0x93, 0x6f, 0xc3,
0x0a, 0x6e, 0x81, 0x16, 0xf4, 0xf6, 0xfe, 0xff, 0x82, 0x13, 0xcd, 0xd9, 0xed, 0xa8, 0x29, 0xe4,
0x23, 0xb8, 0xc9, 0xf3, 0xb1, 0x57, 0x88, 0x5c, 0x44, 0xb9, 0xd5, 0xc0, 0xa3, 0x5d, 0x6d, 0x25,
0x52, 0x5f, 0x40, 0x1f, 0xe9, 0x2d, 0x58, 0x95, 0x2b, 0xe5, 0x1c, 0x59, 0xea, 0xed, 0xdd, 0x59,
0x6a, 0xe4, 0x09, 0xaa, 0x38, 0x5a, 0xd5, 0xbe, 0x03, 0x5b, 0x8f, 0x99, 0x58, 0xb0, 0xce, 0x61,
0x3f, 0xce, 0x19, 0x17, 0x5a, 0xf8, 0x34, 0x88, 0xd8, 0xd3, 0xc0, 0xfb, 0xf4, 0x60, 0x4a, 0xe3,
0x98, 0x85, 0x85, 0xf0, 0x55, 0xb8, 0xf3, 0x98, 0xe1, 0x84, 0x80, 0x8b, 0xc0, 0xe3, 0x0b, 0xe2,
0x5b, 0x70, 0xf3, 0x31, 0x13, 0x43, 0x7f, 0x01, 0xfe, 0x18, 0x3a, 0x47, 0xd2, 0xd9, 0x32, 0x0c,
0xbe, 0x05, 0x6d, 0xea, 0xfb, 0x19, 0xe3, 0x5c, 0xb3, 0x78, 0x77, 0xe9, 0x89, 0xdf, 0x53, 0x3a,
0x4e, 0xa1, 0xbc, 0x2c, 0x4c, 0xec, 0x4f, 0x00, 0x46, 0x71, 0x20, 0x8e, 0x69, 0x46, 0x23, 0x7e,
0x61, 0x80, 0x0d, 0xc1, 0xe4, 0x82, 0x66, 0xc2, 0x4d, 0x51, 0x4f, 0x53, 0x7e, 0x85, 0x68, 0xe8,
0xe1, 0x34, 0xb5, 0xba, 0xfd, 0x43, 0x80, 0x13, 0x91, 0x05, 0xf1, 0xe4, 0xc3, 0x80, 0x0b, 0xb9,
0xd7, 0x99, 0xd4, 0x93, 0x46, 0x34, 0x77, 0xba, 0x8e, 0x1e, 0xd5, 0xdc, 0xd1, 0xb8, 0xba, 0x3b,
0x1e, 0x41, 0xaf, 0xa0, 0xfb, 0x90, 0x4f, 0xc8, 0x43, 0x68, 0x8d, 0x29, 0x67, 0x97, 0xd2, 0x73,
0xc8, 0x27, 0xfb, 0x94, 0x33, 0x07, 0x35, 0xed, 0xcf, 0x1b, 0xf0, 0xca, 0x41, 0xc6, 0x30, 0xf8,
0xc3, 0x90, 0x79, 0x22, 0x48, 0x62, 0xcd, 0xfd, 0x8b, 0xaf, 0x46, 0x5e, 0x81, 0xb6, 0x3f, 0x76,
0x63, 0x1a, 0x15, 0x64, 0xaf, 0xfa, 0xe3, 0x23, 0x1a, 0x31, 0xf2, 0x65, 0x58, 0xf7, 0xca, 0xf5,
0x25, 0x82, 0x31, 0xd7, 0x75, 0x16, 0x50, 0xe9, 0x2a, 0x7f, 0x3c, 0x1a, 0x5a, 0x2d, 0x74, 0x03,
0x7e, 0x13, 0x1b, 0xcc, 0x4a, 0x6b, 0x34, 0xb4, 0x56, 0x50, 0x36, 0x87, 0x49, 0x52, 0x55, 0x0d,
0xb1, 0x56, 0x07, 0xc6, 0x8e, 0xe9, 0xe8, 0x11, 0x79, 0x08, 0x37, 0xcf, 0x82, 0x4c, 0xe4, 0x34,
0xd4, 0x71, 0x25, 0x77, 0xe1, 0x56, 0x1b, 0x99, 0x5f, 0x26, 0x22, 0x7b, 0xb0, 0x99, 0x4e, 0x67,
0x3c, 0xf0, 0x16, 0xa6, 0x74, 0x70, 0xca, 0x52, 0x99, 0xfd, 0xb9, 0x01, 0xb7, 0x86, 0x59, 0x92,
0x7e, 0x91, 0x29, 0xb4, 0x7f, 0xde, 0x80, 0xdb, 0x2a, 0x12, 0x8e, 0x69, 0x26, 0x82, 0x7f, 0x91,
0x15, 0x5f, 0x81, 0x8d, 0x6a, 0x57, 0xa5, 0xb0, 0xdc, 0x8c, 0x2f, 0xc1, 0x7a, 0x5a, 0x9c, 0x43,
0xe9, 0xb5, 0x50, 0x6f, 0xad, 0x44, 0xe7, 0xac, 0x5d, 0xb9, 0xc4, 0xda, 0xd5, 0x25, 0x01, 0x33,
0x80, 0x5e, 0xb9, 0xd0, 0x68, 0x68, 0xb5, 0x51, 0xa5, 0x0e, 0xd9, 0x3f, 0x6b, 0xc0, 0xa6, 0x74,
0xea, 0xff, 0xd8, 0x90, 0x6c, 0xfc, 0xbe, 0x01, 0x44, 0x45, 0xc7, 0x28, 0xf6, 0xd9, 0xf3, 0x7f,
0x27, 0x17, 0xaf, 0x02, 0x9c, 0x06, 0x2c, 0xf4, 0xeb, 0x3c, 0x74, 0x11, 0x79, 0x29, 0x0e, 0x2c,
0x68, 0xe3, 0x22, 0xa5, 0xfd, 0xc5, 0x50, 0xde, 0x02, 0xaa, 0x23, 0xd0, 0xb7, 0x40, 0xe7, 0xca,
0xb7, 0x00, 0x4e, 0xd3, 0xb7, 0xc0, 0xaf, 0x9b, 0xb0, 0x36, 0x8a, 0x39, 0xcb, 0xc4, 0x7f, 0x73,
0x20, 0x91, 0xbb, 0xd0, 0xe5, 0x6c, 0x12, 0xc9, 0xc6, 0x64, 0x68, 0x75, 0x50, 0x5e, 0x01, 0x52,
0xea, 0xa9, 0xca, 0x3a, 0x1a, 0x5a, 0x5d, 0xe5, 0xda, 0x12, 0x20, 0xf7, 0x00, 0x44, 0x10, 0x31,
0x2e, 0x68, 0x94, 0x72, 0x0b, 0x06, 0xcd, 0x9d, 0x96, 0x53, 0x43, 0xe4, 0x2d, 0x90, 0x25, 0xcf,
0x46, 0x43, 0x6e, 0xf5, 0x06, 0x4d, 0x79, 0x8d, 0xab, 0x11, 0xf9, 0x06, 0x74, 0xb2, 0xe4, 0x99,
0xeb, 0x53, 0x41, 0x2d, 0x13, 0x9d, 0xb7, 0xb5, 0x94, 0xec, 0xfd, 0x30, 0x19, 0x3b, 0xed, 0x2c,
0x79, 0x36, 0xa4, 0x82, 0xda, 0x7f, 0x6b, 0xc2, 0xda, 0x09, 0xa3, 0x99, 0x37, 0xbd, 0xbe, 0xc3,
0xbe, 0x0a, 0xfd, 0x8c, 0xf1, 0x3c, 0x14, 0x6e, 0x65, 0x96, 0xf2, 0xdc, 0x86, 0xc2, 0x0f, 0x4a,
0xe3, 0x0a, 0xca, 0x9b, 0x97, 0x50, 0xde, 0x5a, 0x42, 0xb9, 0x0d, 0x66, 0x8d, 0x5f, 0x6e, 0xad,
0xa0, 0xe9, 0x73, 0x18, 0xe9, 0x43, 0xd3, 0xe7, 0x21, 0x7a, 0xac, 0xeb, 0xc8, 0x4f, 0x72, 0x1f,
0x6e, 0xa4, 0x21, 0xf5, 0xd8, 0x34, 0x09, 0x7d, 0x96, 0xb9, 0x93, 0x2c, 0xc9, 0x53, 0x74, 0x97,
0xe9, 0xf4, 0x6b, 0x82, 0xc7, 0x12, 0x27, 0x6f, 0x43, 0xc7, 0xe7, 0xa1, 0x2b, 0x66, 0x29, 0x43,
0x97, 0xad, 0x5f, 0x60, 0xfb, 0x90, 0x87, 0x4f, 0x67, 0x29, 0x73, 0xda, 0xbe, 0xfa, 0x20, 0x0f,
0x61, 0x93, 0xb3, 0x2c, 0xa0, 0x61, 0xf0, 0x19, 0xf3, 0x5d, 0xf6, 0x3c, 0xcd, 0xdc, 0x34, 0xa4,
0x31, 0x7a, 0xd6, 0x74, 0x48, 0x25, 0x7b, 0xff, 0x79, 0x9a, 0x1d, 0x87, 0x34, 0x26, 0x3b, 0xd0,
0x4f, 0x72, 0x91, 0xe6, 0xc2, 0xc5, 0xec, 0xe3, 0x6e, 0xe0, 0xa3, 0xa3, 0x9b, 0xce, 0xba, 0xc2,
0x3f, 0x40, 0x78, 0xe4, 0x4b, 0x6a, 0x45, 0x46, 0xcf, 0x58, 0xe8, 0x96, 0x11, 0x60, 0xf5, 0x06,
0xc6, 0x4e, 0xcb, 0xd9, 0x50, 0xf8, 0xd3, 0x02, 0x26, 0xbb, 0x70, 0x73, 0x92, 0xd3, 0x8c, 0xc6,
0x82, 0xb1, 0x9a, 0xb6, 0x89, 0xda, 0xa4, 0x14, 0x95, 0x13, 0xec, 0xbf, 0xd4, 0x5c, 0x2f, 0xbd,
0xc4, 0xaf, 0xe1, 0xfa, 0xeb, 0xf4, 0x73, 0x4b, 0xe3, 0xa5, 0xb9, 0x3c, 0x5e, 0x5e, 0x83, 0x5e,
0xc4, 0x44, 0x16, 0x78, 0xca, 0x2f, 0x2a, 0x8d, 0x41, 0x41, 0x48, 0x3e, 0x81, 0xd6, 0x34, 0x10,
0x2a, 0x20, 0x4c, 0x07, 0xbf, 0xe5, 0x24, 0x1e, 0x06, 0x1e, 0xf3, 0xdd, 0x71, 0x98, 0x8c, 0xb5,
0x1f, 0x40, 0x41, 0x32, 0xfa, 0x25, 0xff, 0x5a, 0x21, 0xce, 0x23, 0xd7, 0x4b, 0xf2, 0x58, 0x58,
0x80, 0x51, 0xb7, 0xae, 0xf0, 0xa3, 0x3c, 0x3a, 0x90, 0x28, 0x79, 0x03, 0xd6, 0xb4, 0x66, 0x72,
0x7a, 0xca, 0x99, 0x40, 0xf2, 0x9b, 0x8e, 0xa9, 0xc0, 0xef, 0x23, 0x46, 0xbe, 0x03, 0xdb, 0x9c,
0xd1, 0x90, 0xf9, 0x6e, 0x99, 0xe3, 0xdc, 0xe5, 0xc8, 0x2c, 0xf3, 0xad, 0x55, 0x74, 0xac, 0xa5,
0x34, 0x4e, 0x4a, 0x85, 0x13, 0x2d, 0x97, 0x7e, 0x2b, 0x69, 0xa8, 0x4d, 0x53, 0xdd, 0x1b, 0xa9,
0x44, 0xe5, 0x84, 0x77, 0xc0, 0x9a, 0x84, 0xc9, 0x98, 0x86, 0xee, 0xb9, 0x5d, 0xb1, 0x6a, 0x37,
0x9d, 0xdb, 0x4a, 0x7e, 0xb2, 0xb0, 0xa5, 0xfd, 0xd7, 0x06, 0x6c, 0x38, 0x92, 0x3b, 0x76, 0xc6,
0xbe, 0xf0, 0xe9, 0xfe, 0x26, 0x34, 0x03, 0x9f, 0x63, 0xba, 0xf7, 0xf6, 0xac, 0xf9, 0x73, 0xeb,
0x9f, 0xda, 0xa3, 0x21, 0x77, 0xa4, 0x92, 0x74, 0xe3, 0x5c, 0xc2, 0x69, 0x76, 0xcd, 0x7a, 0xb6,
0x2d, 0xcd, 0xb5, 0xce, 0x0b, 0xe5, 0x5a, 0xf7, 0xc2, 0x5c, 0xfb, 0x6d, 0xb3, 0xce, 0xfc, 0x7f,
0x6a, 0xb6, 0x69, 0x4a, 0x5b, 0x57, 0xa1, 0xf4, 0x11, 0xf4, 0x74, 0xf1, 0xc2, 0x1b, 0x67, 0x05,
0x6f, 0x9c, 0x7b, 0x4b, 0xe7, 0x20, 0xbf, 0xf2, 0xb6, 0x71, 0x54, 0x4f, 0xc3, 0xe5, 0x37, 0xf9,
0x2e, 0xdc, 0x39, 0x9f, 0x35, 0x99, 0xe6, 0xa8, 0x48, 0x9b, 0xad, 0xc5, 0xb4, 0x29, 0x48, 0xf4,
0xc9, 0xd7, 0x61, 0xb3, 0x96, 0x37, 0xd5, 0x44, 0xfd, 0xb3, 0xa7, 0x92, 0x55, 0x53, 0xae, 0x9f,
0x39, 0x7f, 0x32, 0x60, 0x6d, 0xc8, 0x42, 0x26, 0x5e, 0x22, 0x6f, 0x96, 0xb4, 0x2f, 0x8d, 0xa5,
0xed, 0xcb, 0x5c, 0x7f, 0xd0, 0xbc, 0xbc, 0x3f, 0x68, 0x9d, 0xeb, 0x0f, 0x5e, 0x07, 0x33, 0xcd,
0x82, 0x88, 0x66, 0x33, 0xf7, 0x53, 0x36, 0x2b, 0x72, 0xa7, 0xa7, 0xb1, 0x27, 0x6c, 0xc6, 0xed,
0x18, 0xb6, 0x3f, 0x4c, 0xa8, 0xbf, 0x4f, 0x43, 0x1a, 0x7b, 0x4c, 0x9b, 0xc9, 0xaf, 0x6f, 0xd9,
0x3d, 0x80, 0x1a, 0x93, 0x0d, 0xdc, 0xb0, 0x86, 0xd8, 0x7f, 0x37, 0xa0, 0x2b, 0x37, 0xc4, 0xae,
0xfa, 0x1a, 0xeb, 0xcf, 0xb5, 0x53, 0x8d, 0x25, 0xed, 0x54, 0xd9, 0x18, 0x17, 0x74, 0x55, 0x9d,
0x72, 0xad, 0xe3, 0x6d, 0xcd, 0x77, 0xbc, 0xaf, 0x41, 0x2f, 0x90, 0x07, 0x72, 0x53, 0x2a, 0xa6,
0x8a, 0xa7, 0xae, 0x03, 0x08, 0x1d, 0x4b, 0x44, 0xb6, 0xc4, 0x85, 0x02, 0xb6, 0xc4, 0xab, 0x57,
0x6e, 0x89, 0xf5, 0x22, 0xd8, 0x12, 0xff, 0xa1, 0x01, 0x96, 0xa6, 0xb8, 0x7a, 0x17, 0xfa, 0x28,
0xf5, 0xf1, 0x79, 0xea, 0x2e, 0x74, 0xcb, 0x28, 0xd3, 0xcf, 0x32, 0x15, 0x20, 0x79, 0x3d, 0x64,
0x51, 0x92, 0xcd, 0x4e, 0x82, 0xcf, 0x98, 0x36, 0xbc, 0x86, 0x48, 0xdb, 0x8e, 0xf2, 0xc8, 0x49,
0x9e, 0x71, 0x5d, 0x61, 0x8b, 0xa1, 0xb4, 0xcd, 0xc3, 0x1f, 0x32, 0x58, 0x9d, 0xd0, 0xf2, 0x96,
0x03, 0x0a, 0x92, 0x55, 0x89, 0x6c, 0x41, 0x87, 0xc5, 0xbe, 0x92, 0xae, 0xa0, 0xb4, 0xcd, 0x62,
0x1f, 0x45, 0x23, 0x58, 0xd7, 0xef, 0x41, 0x09, 0xc7, 0x6a, 0xab, 0x6b, 0xac, 0x7d, 0xc1, 0x23,
0xdc, 0x21, 0x9f, 0x1c, 0x6b, 0x4d, 0x67, 0x4d, 0x3d, 0x09, 0xe9, 0x21, 0x79, 0x1f, 0x4c, 0xb9,
0x4b, 0xb9, 0x50, 0xfb, 0xca, 0x0b, 0xf5, 0x58, 0xec, 0x17, 0x03, 0xfb, 0x97, 0x06, 0xdc, 0x38,
0x47, 0xe1, 0x35, 0xe2, 0xe8, 0x09, 0x74, 0x4e, 0xd8, 0x44, 0x2e, 0x51, 0xbc, 0x72, 0xed, 0x5e,
0xf4, 0x68, 0x7a, 0x81, 0xc3, 0x9c, 0x72, 0x01, 0xfb, 0x93, 0xd2, 0xad, 0x1f, 0x84, 0x39, 0x9f,
0x1e, 0x24, 0x51, 0x2a, 0xeb, 0x83, 0x7f, 0xad, 0x27, 0xaa, 0xcb, 0x43, 0xdc, 0xfe, 0xa9, 0x01,
0x80, 0xc9, 0x83, 0x5b, 0x9f, 0x0b, 0x4c, 0xe3, 0x3a, 0x81, 0x29, 0xfb, 0x56, 0xd9, 0xfe, 0x64,
0x2c, 0xa4, 0xa2, 0xaa, 0x85, 0x5c, 0xef, 0x4e, 0xe2, 0x3c, 0x72, 0x94, 0xa8, 0x28, 0x10, 0xf6,
0x2f, 0x0c, 0x00, 0x2c, 0xe6, 0xea, 0x18, 0x8b, 0x37, 0xb9, 0x71, 0xf9, 0x0f, 0xce, 0xc6, 0x7c,
0xfa, 0xed, 0x17, 0xe9, 0xc7, 0xd1, 0x1f, 0xcd, 0x65, 0x36, 0x94, 0xfe, 0xa8, 0x8c, 0xd7, 0x19,
0xaa, 0x7c, 0xf0, 0x2b, 0x03, 0xcc, 0x9a, 0xab, 0xf8, 0x3c, 0x8d, 0xc6, 0x62, 0xa5, 0xc0, 0x6e,
0x52, 0x66, 0x8f, 0xcb, 0x6b, 0x09, 0x15, 0x55, 0x09, 0xb5, 0x05, 0x1d, 0xa4, 0xa4, 0x96, 0x51,
0xb1, 0xce, 0xa8, 0xfb, 0x70, 0x23, 0x63, 0x1e, 0x8b, 0x45, 0x38, 0x73, 0xa3, 0xc4, 0x0f, 0x4e,
0x03, 0xe6, 0x63, 0x5e, 0x75, 0x9c, 0x7e, 0x21, 0x38, 0xd4, 0xb8, 0xfd, 0x47, 0x03, 0xd6, 0x7f,
0x90, 0xb3, 0x6c, 0x76, 0x94, 0xf8, 0x4c, 0x9d, 0xec, 0xc5, 0x43, 0xe2, 0x5d, 0xb4, 0x45, 0xd3,
0xa3, 0xc2, 0xf5, 0x8d, 0x7f, 0x1e, 0xae, 0xdc, 0xe9, 0x70, 0x1d, 0xa2, 0x92, 0x62, 0xf5, 0x88,
0x70, 0x15, 0x8a, 0x2b, 0xc7, 0xea, 0x6b, 0x5a, 0x51, 0xfc, 0x13, 0x03, 0x7a, 0xb5, 0xc4, 0x94,
0xd7, 0x8b, 0xbe, 0x8b, 0xd4, 0x15, 0x66, 0x60, 0xc1, 0xed, 0x79, 0xd5, 0x53, 0x21, 0xd9, 0x84,
0x95, 0x88, 0x4f, 0xb4, 0xc7, 0x4d, 0x47, 0x0d, 0xc8, 0x36, 0x74, 0x22, 0x3e, 0xc1, 0xdf, 0x5a,
0xba, 0x4a, 0x97, 0x63, 0xe9, 0xb6, 0xaa, 0x8b, 0x52, 0xc5, 0xaa, 0x02, 0xec, 0xdf, 0x18, 0x40,
0x74, 0x93, 0xf2, 0x52, 0xef, 0xc0, 0x18, 0xb0, 0xf5, 0xe7, 0xce, 0x86, 0xea, 0x02, 0xeb, 0xd8,
0xc2, 0xf5, 0xda, 0x3c, 0x77, 0xbd, 0xde, 0x87, 0x1b, 0x3e, 0x3b, 0xa5, 0xb2, 0x9f, 0x5a, 0x3c,
0x72, 0x5f, 0x0b, 0xca, 0xb6, 0xef, 0xcd, 0x77, 0xa0, 0x5b, 0xfe, 0xfd, 0x42, 0xfa, 0x60, 0x8e,
0xe2, 0x40, 0xe0, 0x8f, 0xc1, 0x20, 0x9e, 0xf4, 0xff, 0x8f, 0xf4, 0xa0, 0xfd, 0x3d, 0x46, 0x43,
0x31, 0x9d, 0xf5, 0x0d, 0x62, 0x42, 0xe7, 0xbd, 0x71, 0x9c, 0x64, 0x11, 0x0d, 0xfb, 0x8d, 0xfd,
0xb7, 0x7f, 0xf4, 0xcd, 0x49, 0x20, 0xa6, 0xf9, 0x58, 0x5a, 0xb2, 0xab, 0x4c, 0xfb, 0x5a, 0x90,
0xe8, 0xaf, 0xdd, 0xc2, 0x6b, 0xbb, 0x68, 0x6d, 0x39, 0x4c, 0xc7, 0xe3, 0x55, 0x44, 0xde, 0xfa,
0x47, 0x00, 0x00, 0x00, 0xff, 0xff, 0xab, 0xa3, 0xdc, 0x3d, 0xa4, 0x1a, 0x00, 0x00,
// 1927 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x59, 0xcd, 0x6f, 0x24, 0x47,
0x15, 0xa7, 0xa7, 0xc7, 0x9e, 0x99, 0x37, 0x6d, 0x7b, 0xb6, 0xd6, 0xbb, 0x69, 0x7b, 0x37, 0x9b,
0x49, 0x87, 0x0f, 0x93, 0x15, 0xeb, 0xc5, 0x01, 0x12, 0x21, 0xc4, 0x26, 0xf6, 0x84, 0x65, 0xb4,
0xb1, 0x31, 0xed, 0x4d, 0x24, 0xb8, 0xb4, 0x6a, 0xba, 0xcb, 0x33, 0x4d, 0xfa, 0x8b, 0xae, 0x1a,
0xef, 0x4e, 0x4e, 0x1c, 0xb8, 0x21, 0x38, 0x20, 0xf1, 0x6f, 0x70, 0xe5, 0xc4, 0x87, 0x72, 0x42,
0xe2, 0x2f, 0xe0, 0xaf, 0xe0, 0x08, 0xe2, 0x84, 0xea, 0x55, 0xf5, 0xc7, 0x8c, 0xc7, 0xc6, 0xeb,
0x15, 0x82, 0x88, 0xdc, 0xaa, 0x7e, 0xef, 0xd5, 0xc7, 0xfb, 0xbd, 0xf7, 0xaa, 0x5e, 0x57, 0xc3,
0x7a, 0x98, 0x08, 0x96, 0x27, 0x34, 0x7a, 0x90, 0xe5, 0xa9, 0x48, 0xc9, 0xad, 0x38, 0x8c, 0xce,
0xa6, 0x5c, 0xf5, 0x1e, 0x14, 0xc2, 0x6d, 0xcb, 0x4f, 0xe3, 0x38, 0x4d, 0x14, 0xbc, 0x6d, 0x71,
0x7f, 0xc2, 0x62, 0xaa, 0x7a, 0xce, 0x1f, 0x0c, 0x58, 0x3b, 0x48, 0xe3, 0x2c, 0x4d, 0x58, 0x22,
0x86, 0xc9, 0x69, 0x4a, 0x6e, 0xc3, 0x6a, 0x92, 0x06, 0x6c, 0x38, 0xb0, 0x8d, 0xbe, 0xb1, 0x63,
0xba, 0xba, 0x47, 0x08, 0x34, 0xf3, 0x34, 0x62, 0x76, 0xa3, 0x6f, 0xec, 0x74, 0x5c, 0x6c, 0x93,
0x47, 0x00, 0x5c, 0x50, 0xc1, 0x3c, 0x3f, 0x0d, 0x98, 0x6d, 0xf6, 0x8d, 0x9d, 0xf5, 0xbd, 0xfe,
0x83, 0xa5, 0xbb, 0x78, 0x70, 0x22, 0x15, 0x0f, 0xd2, 0x80, 0xb9, 0x1d, 0x5e, 0x34, 0xc9, 0xbb,
0x00, 0xec, 0xb9, 0xc8, 0xa9, 0x17, 0x26, 0xa7, 0xa9, 0xdd, 0xec, 0x9b, 0x3b, 0xdd, 0xbd, 0xd7,
0xe7, 0x27, 0xd0, 0x9b, 0x7f, 0xc2, 0x66, 0x1f, 0xd1, 0x68, 0xca, 0x8e, 0x69, 0x98, 0xbb, 0x1d,
0x1c, 0x24, 0xb7, 0xeb, 0xfc, 0xd5, 0x80, 0x8d, 0xd2, 0x00, 0x5c, 0x83, 0x93, 0x6f, 0xc3, 0x0a,
0x2e, 0x81, 0x16, 0x74, 0xf7, 0xbe, 0x78, 0xc1, 0x8e, 0xe6, 0xec, 0x76, 0xd5, 0x10, 0xf2, 0x21,
0xdc, 0xe4, 0xd3, 0x91, 0x5f, 0x88, 0x3c, 0x44, 0xb9, 0xdd, 0xc0, 0xad, 0x5d, 0x6d, 0x26, 0x52,
0x9f, 0x40, 0x6f, 0xe9, 0x2d, 0x58, 0x95, 0x33, 0x4d, 0x39, 0xb2, 0xd4, 0xdd, 0xbb, 0xb3, 0xd4,
0xc8, 0x13, 0x54, 0x71, 0xb5, 0xaa, 0x73, 0x07, 0xb6, 0x1e, 0x33, 0xb1, 0x60, 0x9d, 0xcb, 0x7e,
0x3a, 0x65, 0x5c, 0x68, 0xe1, 0xd3, 0x30, 0x66, 0x4f, 0x43, 0xff, 0xe3, 0x83, 0x09, 0x4d, 0x12,
0x16, 0x15, 0xc2, 0x57, 0xe1, 0xce, 0x63, 0x86, 0x03, 0x42, 0x2e, 0x42, 0x9f, 0x2f, 0x88, 0x6f,
0xc1, 0xcd, 0xc7, 0x4c, 0x0c, 0x82, 0x05, 0xf8, 0x23, 0x68, 0x1f, 0x49, 0x67, 0xcb, 0x30, 0xf8,
0x16, 0xb4, 0x68, 0x10, 0xe4, 0x8c, 0x73, 0xcd, 0xe2, 0xdd, 0xa5, 0x3b, 0x7e, 0x4f, 0xe9, 0xb8,
0x85, 0xf2, 0xb2, 0x30, 0x71, 0x7e, 0x02, 0x30, 0x4c, 0x42, 0x71, 0x4c, 0x73, 0x1a, 0xf3, 0x0b,
0x03, 0x6c, 0x00, 0x16, 0x17, 0x34, 0x17, 0x5e, 0x86, 0x7a, 0x9a, 0xf2, 0x2b, 0x44, 0x43, 0x17,
0x87, 0xa9, 0xd9, 0x9d, 0x1f, 0x01, 0x9c, 0x88, 0x3c, 0x4c, 0xc6, 0x1f, 0x84, 0x5c, 0xc8, 0xb5,
0xce, 0xa4, 0x9e, 0x34, 0xc2, 0xdc, 0xe9, 0xb8, 0xba, 0x57, 0x73, 0x47, 0xe3, 0xea, 0xee, 0x78,
0x04, 0xdd, 0x82, 0xee, 0x43, 0x3e, 0x26, 0x0f, 0xa1, 0x39, 0xa2, 0x9c, 0x5d, 0x4a, 0xcf, 0x21,
0x1f, 0xef, 0x53, 0xce, 0x5c, 0xd4, 0x74, 0x3e, 0x6d, 0xc0, 0x2b, 0x07, 0x39, 0xc3, 0xe0, 0x8f,
0x22, 0xe6, 0x8b, 0x30, 0x4d, 0x34, 0xf7, 0x2f, 0x3e, 0x1b, 0x79, 0x05, 0x5a, 0xc1, 0xc8, 0x4b,
0x68, 0x5c, 0x90, 0xbd, 0x1a, 0x8c, 0x8e, 0x68, 0xcc, 0xc8, 0x97, 0x61, 0xdd, 0x2f, 0xe7, 0x97,
0x08, 0xc6, 0x5c, 0xc7, 0x5d, 0x40, 0xa5, 0xab, 0x82, 0xd1, 0x70, 0x60, 0x37, 0xd1, 0x0d, 0xd8,
0x26, 0x0e, 0x58, 0x95, 0xd6, 0x70, 0x60, 0xaf, 0xa0, 0x6c, 0x0e, 0x93, 0xa4, 0xaa, 0x33, 0xc4,
0x5e, 0xed, 0x1b, 0x3b, 0x96, 0xab, 0x7b, 0xe4, 0x21, 0xdc, 0x3c, 0x0b, 0x73, 0x31, 0xa5, 0x91,
0x8e, 0x2b, 0xb9, 0x0a, 0xb7, 0x5b, 0xc8, 0xfc, 0x32, 0x11, 0xd9, 0x83, 0xcd, 0x6c, 0x32, 0xe3,
0xa1, 0xbf, 0x30, 0xa4, 0x8d, 0x43, 0x96, 0xca, 0x9c, 0x4f, 0x0d, 0xb8, 0x35, 0xc8, 0xd3, 0xec,
0xb3, 0x4c, 0xa1, 0xf3, 0xcb, 0x06, 0xdc, 0x56, 0x91, 0x70, 0x4c, 0x73, 0x11, 0xfe, 0x87, 0xac,
0xf8, 0x0a, 0x6c, 0x54, 0xab, 0x2a, 0x85, 0xe5, 0x66, 0x7c, 0x09, 0xd6, 0xb3, 0x62, 0x1f, 0x4a,
0xaf, 0x89, 0x7a, 0x6b, 0x25, 0x3a, 0x67, 0xed, 0xca, 0x25, 0xd6, 0xae, 0x2e, 0x09, 0x98, 0x3e,
0x74, 0xcb, 0x89, 0x86, 0x03, 0xbb, 0x85, 0x2a, 0x75, 0xc8, 0xf9, 0x45, 0x03, 0x36, 0xa5, 0x53,
0x3f, 0x67, 0x43, 0xb2, 0xf1, 0xc7, 0x06, 0x10, 0x15, 0x1d, 0xc3, 0x24, 0x60, 0xcf, 0xff, 0x9b,
0x5c, 0xbc, 0x0a, 0x70, 0x1a, 0xb2, 0x28, 0xa8, 0xf3, 0xd0, 0x41, 0xe4, 0xa5, 0x38, 0xb0, 0xa1,
0x85, 0x93, 0x94, 0xf6, 0x17, 0x5d, 0x79, 0x0b, 0xa8, 0x8a, 0x40, 0xdf, 0x02, 0xed, 0x2b, 0xdf,
0x02, 0x38, 0x4c, 0xdf, 0x02, 0xbf, 0x35, 0x61, 0x6d, 0x98, 0x70, 0x96, 0x8b, 0xff, 0xe7, 0x40,
0x22, 0x77, 0xa1, 0xc3, 0xd9, 0x38, 0x96, 0x85, 0xc9, 0xc0, 0x6e, 0xa3, 0xbc, 0x02, 0xa4, 0xd4,
0x57, 0x27, 0xeb, 0x70, 0x60, 0x77, 0x94, 0x6b, 0x4b, 0x80, 0xdc, 0x03, 0x10, 0x61, 0xcc, 0xb8,
0xa0, 0x71, 0xc6, 0x6d, 0xe8, 0x9b, 0x3b, 0x4d, 0xb7, 0x86, 0xc8, 0x5b, 0x20, 0x4f, 0x9f, 0x0d,
0x07, 0xdc, 0xee, 0xf6, 0x4d, 0x79, 0x8d, 0xab, 0x1e, 0xf9, 0x06, 0xb4, 0xf3, 0xf4, 0x99, 0x17,
0x50, 0x41, 0x6d, 0x0b, 0x9d, 0xb7, 0xb5, 0x94, 0xec, 0xfd, 0x28, 0x1d, 0xb9, 0xad, 0x3c, 0x7d,
0x36, 0xa0, 0x82, 0x3a, 0xff, 0x30, 0x61, 0xed, 0x84, 0xd1, 0xdc, 0x9f, 0x5c, 0xdf, 0x61, 0x5f,
0x85, 0x5e, 0xce, 0xf8, 0x34, 0x12, 0x5e, 0x65, 0x96, 0xf2, 0xdc, 0x86, 0xc2, 0x0f, 0x4a, 0xe3,
0x0a, 0xca, 0xcd, 0x4b, 0x28, 0x6f, 0x2e, 0xa1, 0xdc, 0x01, 0xab, 0xc6, 0x2f, 0xb7, 0x57, 0xd0,
0xf4, 0x39, 0x8c, 0xf4, 0xc0, 0x0c, 0x78, 0x84, 0x1e, 0xeb, 0xb8, 0xb2, 0x49, 0xee, 0xc3, 0x8d,
0x2c, 0xa2, 0x3e, 0x9b, 0xa4, 0x51, 0xc0, 0x72, 0x6f, 0x9c, 0xa7, 0xd3, 0x0c, 0xdd, 0x65, 0xb9,
0xbd, 0x9a, 0xe0, 0xb1, 0xc4, 0xc9, 0xdb, 0xd0, 0x0e, 0x78, 0xe4, 0x89, 0x59, 0xc6, 0xd0, 0x65,
0xeb, 0x17, 0xd8, 0x3e, 0xe0, 0xd1, 0xd3, 0x59, 0xc6, 0xdc, 0x56, 0xa0, 0x1a, 0xe4, 0x21, 0x6c,
0x72, 0x96, 0x87, 0x34, 0x0a, 0x3f, 0x61, 0x81, 0xc7, 0x9e, 0x67, 0xb9, 0x97, 0x45, 0x34, 0x41,
0xcf, 0x5a, 0x2e, 0xa9, 0x64, 0xef, 0x3f, 0xcf, 0xf2, 0xe3, 0x88, 0x26, 0x64, 0x07, 0x7a, 0xe9,
0x54, 0x64, 0x53, 0xe1, 0x61, 0xf6, 0x71, 0x2f, 0x0c, 0xd0, 0xd1, 0xa6, 0xbb, 0xae, 0xf0, 0xef,
0x21, 0x3c, 0x0c, 0x24, 0xb5, 0x22, 0xa7, 0x67, 0x2c, 0xf2, 0xca, 0x08, 0xb0, 0xbb, 0x7d, 0x63,
0xa7, 0xe9, 0x6e, 0x28, 0xfc, 0x69, 0x01, 0x93, 0x5d, 0xb8, 0x39, 0x9e, 0xd2, 0x9c, 0x26, 0x82,
0xb1, 0x9a, 0xb6, 0x85, 0xda, 0xa4, 0x14, 0x95, 0x03, 0x9c, 0xbf, 0xd5, 0x5c, 0x2f, 0xbd, 0xc4,
0xaf, 0xe1, 0xfa, 0xeb, 0xd4, 0x73, 0x4b, 0xe3, 0xc5, 0x5c, 0x1e, 0x2f, 0xaf, 0x41, 0x37, 0x66,
0x22, 0x0f, 0x7d, 0xe5, 0x17, 0x95, 0xc6, 0xa0, 0x20, 0x24, 0x9f, 0x40, 0x73, 0x12, 0x0a, 0x15,
0x10, 0x96, 0x8b, 0x6d, 0x39, 0x88, 0x47, 0xa1, 0xcf, 0x02, 0x6f, 0x14, 0xa5, 0x23, 0xed, 0x07,
0x50, 0x90, 0x8c, 0x7e, 0xc9, 0xbf, 0x56, 0x48, 0xa6, 0xb1, 0xe7, 0xa7, 0xd3, 0x44, 0xd8, 0x80,
0x51, 0xb7, 0xae, 0xf0, 0xa3, 0x69, 0x7c, 0x20, 0x51, 0xf2, 0x06, 0xac, 0x69, 0xcd, 0xf4, 0xf4,
0x94, 0x33, 0x81, 0xe4, 0x9b, 0xae, 0xa5, 0xc0, 0x1f, 0x20, 0x46, 0xbe, 0x03, 0xdb, 0x9c, 0xd1,
0x88, 0x05, 0x5e, 0x99, 0xe3, 0xdc, 0xe3, 0xc8, 0x2c, 0x0b, 0xec, 0x55, 0x74, 0xac, 0xad, 0x34,
0x4e, 0x4a, 0x85, 0x13, 0x2d, 0x97, 0x7e, 0x2b, 0x69, 0xa8, 0x0d, 0x53, 0xd5, 0x1b, 0xa9, 0x44,
0xe5, 0x80, 0x77, 0xc0, 0x1e, 0x47, 0xe9, 0x88, 0x46, 0xde, 0xb9, 0x55, 0xf1, 0xd4, 0x36, 0xdd,
0xdb, 0x4a, 0x7e, 0xb2, 0xb0, 0xa4, 0xf3, 0xf7, 0x06, 0x6c, 0xb8, 0x92, 0x3b, 0x76, 0xc6, 0x3e,
0xf3, 0xe9, 0xfe, 0x26, 0x98, 0x61, 0xc0, 0x31, 0xdd, 0xbb, 0x7b, 0xf6, 0xfc, 0xbe, 0xf5, 0xa7,
0xf6, 0x70, 0xc0, 0x5d, 0xa9, 0x24, 0xdd, 0x38, 0x97, 0x70, 0x9a, 0x5d, 0xab, 0x9e, 0x6d, 0x4b,
0x73, 0xad, 0xfd, 0x42, 0xb9, 0xd6, 0xb9, 0x30, 0xd7, 0x7e, 0x6f, 0xd6, 0x99, 0xff, 0x5f, 0xcd,
0x36, 0x4d, 0x69, 0xf3, 0x2a, 0x94, 0x3e, 0x82, 0xae, 0x3e, 0xbc, 0xf0, 0xc6, 0x59, 0xc1, 0x1b,
0xe7, 0xde, 0xd2, 0x31, 0xc8, 0xaf, 0xbc, 0x6d, 0x5c, 0x55, 0xd3, 0x70, 0xd9, 0x26, 0xdf, 0x85,
0x3b, 0xe7, 0xb3, 0x26, 0xd7, 0x1c, 0x15, 0x69, 0xb3, 0xb5, 0x98, 0x36, 0x05, 0x89, 0x01, 0xf9,
0x3a, 0x6c, 0xd6, 0xf2, 0xa6, 0x1a, 0xa8, 0x3f, 0x7b, 0x2a, 0x59, 0x35, 0xe4, 0xfa, 0x99, 0xf3,
0x17, 0x03, 0xd6, 0x06, 0x2c, 0x62, 0xe2, 0x25, 0xf2, 0x66, 0x49, 0xf9, 0xd2, 0x58, 0x5a, 0xbe,
0xcc, 0xd5, 0x07, 0xe6, 0xe5, 0xf5, 0x41, 0xf3, 0x5c, 0x7d, 0xf0, 0x3a, 0x58, 0x59, 0x1e, 0xc6,
0x34, 0x9f, 0x79, 0x1f, 0xb3, 0x59, 0x91, 0x3b, 0x5d, 0x8d, 0x3d, 0x61, 0x33, 0xee, 0x24, 0xb0,
0xfd, 0x41, 0x4a, 0x83, 0x7d, 0x1a, 0xd1, 0xc4, 0x67, 0xda, 0x4c, 0x7e, 0x7d, 0xcb, 0xee, 0x01,
0xd4, 0x98, 0x6c, 0xe0, 0x82, 0x35, 0xc4, 0xf9, 0xa7, 0x01, 0x1d, 0xb9, 0x20, 0x56, 0xd5, 0xd7,
0x98, 0x7f, 0xae, 0x9c, 0x6a, 0x2c, 0x29, 0xa7, 0xca, 0xc2, 0xb8, 0xa0, 0xab, 0xaa, 0x94, 0x6b,
0x15, 0x6f, 0x73, 0xbe, 0xe2, 0x7d, 0x0d, 0xba, 0xa1, 0xdc, 0x90, 0x97, 0x51, 0x31, 0x51, 0x3c,
0x75, 0x5c, 0x40, 0xe8, 0x58, 0x22, 0xb2, 0x24, 0x2e, 0x14, 0xb0, 0x24, 0x5e, 0xbd, 0x72, 0x49,
0xac, 0x27, 0xc1, 0x92, 0xf8, 0x4f, 0x0d, 0xb0, 0x35, 0xc5, 0xd5, 0xbb, 0xd0, 0x87, 0x59, 0x80,
0xcf, 0x53, 0x77, 0xa1, 0x53, 0x46, 0x99, 0x7e, 0x96, 0xa9, 0x00, 0xc9, 0xeb, 0x21, 0x8b, 0xd3,
0x7c, 0x76, 0x12, 0x7e, 0xc2, 0xb4, 0xe1, 0x35, 0x44, 0xda, 0x76, 0x34, 0x8d, 0xdd, 0xf4, 0x19,
0xd7, 0x27, 0x6c, 0xd1, 0x95, 0xb6, 0xf9, 0xf8, 0x21, 0x83, 0xa7, 0x13, 0x5a, 0xde, 0x74, 0x41,
0x41, 0xf2, 0x54, 0x22, 0x5b, 0xd0, 0x66, 0x49, 0xa0, 0xa4, 0x2b, 0x28, 0x6d, 0xb1, 0x24, 0x40,
0xd1, 0x10, 0xd6, 0xf5, 0x7b, 0x50, 0xca, 0xf1, 0xb4, 0xd5, 0x67, 0xac, 0x73, 0xc1, 0x23, 0xdc,
0x21, 0x1f, 0x1f, 0x6b, 0x4d, 0x77, 0x4d, 0x3d, 0x09, 0xe9, 0x2e, 0x79, 0x1f, 0x2c, 0xb9, 0x4a,
0x39, 0x51, 0xeb, 0xca, 0x13, 0x75, 0x59, 0x12, 0x14, 0x1d, 0xe7, 0xd7, 0x06, 0xdc, 0x38, 0x47,
0xe1, 0x35, 0xe2, 0xe8, 0x09, 0xb4, 0x4f, 0xd8, 0x58, 0x4e, 0x51, 0xbc, 0x72, 0xed, 0x5e, 0xf4,
0x68, 0x7a, 0x81, 0xc3, 0xdc, 0x72, 0x02, 0xe7, 0xe7, 0x06, 0x00, 0x06, 0x34, 0x76, 0xcf, 0x05,
0x8b, 0x71, 0x9d, 0x60, 0x91, 0xb5, 0xa4, 0x2c, 0x49, 0x72, 0x16, 0x51, 0x51, 0x9d, 0x4f, 0x5c,
0xfb, 0x9e, 0x24, 0xd3, 0xd8, 0x55, 0xa2, 0x22, 0x69, 0x9d, 0x5f, 0x19, 0x00, 0x78, 0xc0, 0xaa,
0x6d, 0x2c, 0xde, 0xae, 0xc6, 0xe5, 0x1f, 0x81, 0x8d, 0xf9, 0x94, 0xd8, 0x2f, 0x52, 0x82, 0x23,
0x47, 0xe6, 0x32, 0x1b, 0x4a, 0x8e, 0x2a, 0xe3, 0x75, 0xd6, 0x28, 0x5e, 0x7e, 0x63, 0x80, 0x55,
0xa3, 0x8f, 0xcf, 0x67, 0xaf, 0xb1, 0x98, 0xbd, 0x58, 0xe1, 0xc9, 0x88, 0xf6, 0x78, 0x2d, 0xc8,
0xe3, 0x2a, 0xc8, 0xb7, 0xa0, 0x8d, 0x94, 0xd4, 0xa2, 0x3c, 0xd1, 0x51, 0x7e, 0x1f, 0x6e, 0xe4,
0xcc, 0x67, 0x89, 0x88, 0x66, 0x5e, 0x9c, 0x06, 0xe1, 0x69, 0xc8, 0x02, 0x8c, 0xf5, 0xb6, 0xdb,
0x2b, 0x04, 0x87, 0x1a, 0x77, 0xfe, 0x6c, 0xc0, 0xfa, 0x0f, 0xa7, 0x2c, 0x9f, 0x1d, 0xa5, 0x01,
0x53, 0x3b, 0x7b, 0xf1, 0x08, 0x7a, 0x17, 0x6d, 0xd1, 0xf4, 0xa8, 0x10, 0x7a, 0xe3, 0xdf, 0x87,
0x10, 0x77, 0xdb, 0x5c, 0x87, 0x8d, 0xa4, 0x58, 0x7d, 0xd8, 0x5f, 0x85, 0xe2, 0xca, 0xb1, 0xfa,
0xea, 0x54, 0x14, 0xff, 0xcc, 0x80, 0x6e, 0x2d, 0x59, 0xe4, 0x91, 0xaf, 0xef, 0x07, 0x75, 0xad,
0x18, 0x78, 0x08, 0x76, 0xfd, 0xea, 0xf9, 0x8e, 0x6c, 0xc2, 0x4a, 0xcc, 0xc7, 0xda, 0xe3, 0x96,
0xab, 0x3a, 0x64, 0x1b, 0xda, 0x31, 0x1f, 0xe3, 0xf7, 0x8f, 0x3e, 0x39, 0xcb, 0xbe, 0x74, 0x5b,
0x55, 0xd9, 0xa8, 0x03, 0xa4, 0x02, 0x9c, 0xdf, 0x19, 0x40, 0x74, 0xe1, 0xf0, 0x52, 0x6f, 0xb3,
0x18, 0xb0, 0xf5, 0x27, 0xc8, 0x86, 0xaa, 0xcc, 0xea, 0xd8, 0xc2, 0x95, 0x67, 0x9e, 0xbb, 0xf2,
0xee, 0xc3, 0x8d, 0x80, 0x9d, 0x52, 0x59, 0xe3, 0x2c, 0x6e, 0xb9, 0xa7, 0x05, 0x65, 0x29, 0xf6,
0xe6, 0x3b, 0xd0, 0x29, 0x7f, 0x89, 0x90, 0x1e, 0x58, 0xc3, 0x24, 0x14, 0xf8, 0x81, 0x16, 0x26,
0xe3, 0xde, 0x17, 0x48, 0x17, 0x5a, 0xdf, 0x67, 0x34, 0x12, 0x93, 0x59, 0xcf, 0x20, 0x16, 0xb4,
0xdf, 0x1b, 0x25, 0x69, 0x1e, 0xd3, 0xa8, 0xd7, 0xd8, 0x7f, 0xfb, 0xc7, 0xdf, 0x1c, 0x87, 0x62,
0x32, 0x1d, 0x49, 0x4b, 0x76, 0x95, 0x69, 0x5f, 0x0b, 0x53, 0xdd, 0xda, 0x2d, 0xbc, 0xb6, 0x8b,
0xd6, 0x96, 0xdd, 0x6c, 0x34, 0x5a, 0x45, 0xe4, 0xad, 0x7f, 0x05, 0x00, 0x00, 0xff, 0xff, 0xa3,
0xab, 0x29, 0x99, 0x38, 0x1a, 0x00, 0x00,
}

View File

@ -97,7 +97,7 @@ service RootCoord {
rpc AllocID(AllocIDRequest) returns (AllocIDResponse) {}
rpc UpdateChannelTimeTick(internal.ChannelTimeTickMsg) returns (common.Status) {}
rpc ReleaseDQLMessageStream(proxy.ReleaseDQLMessageStreamRequest) returns (common.Status) {}
rpc SegmentFlushCompleted(internal.SegmentFlushCompletedMsg) returns (common.Status) {}
rpc SegmentFlushCompleted(data.SegmentFlushCompletedMsg) returns (common.Status) {}
rpc AddNewSegment(data.SegmentMsg) returns (common.Status) {}
}

View File

@ -244,55 +244,55 @@ func init() { proto.RegisterFile("root_coord.proto", fileDescriptor_4513485a144f
var fileDescriptor_4513485a144f6b06 = []byte{
// 783 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x96, 0xdb, 0x4f, 0xdb, 0x30,
0x14, 0xc6, 0x69, 0x61, 0x4c, 0x1c, 0xda, 0x82, 0x2c, 0x60, 0xa8, 0x63, 0x12, 0xeb, 0x34, 0x68,
0xb9, 0xb4, 0x08, 0xa4, 0x69, 0xaf, 0xd0, 0x6a, 0x50, 0x69, 0x9d, 0x46, 0x0a, 0xd2, 0x6e, 0xa8,
0x72, 0xd3, 0xa3, 0x36, 0x22, 0x89, 0x43, 0xec, 0x0e, 0xf6, 0xb8, 0x7f, 0x69, 0x7f, 0xe1, 0x94,
0x8b, 0xd3, 0xa4, 0x4d, 0x42, 0xd0, 0xf6, 0x56, 0xc7, 0x3f, 0x7f, 0x9f, 0x8f, 0xbf, 0x53, 0xd9,
0xb0, 0x6a, 0x33, 0x26, 0x7a, 0x2a, 0x63, 0xf6, 0xa0, 0x6e, 0xd9, 0x4c, 0x30, 0xb2, 0x61, 0x68,
0xfa, 0xcf, 0x31, 0xf7, 0x46, 0x75, 0x67, 0xda, 0x9d, 0x2d, 0x17, 0x54, 0x66, 0x18, 0xcc, 0xf4,
0xbe, 0x97, 0x0b, 0x61, 0xaa, 0x5c, 0xd2, 0x4c, 0x81, 0xb6, 0x49, 0x75, 0x7f, 0xbc, 0x6c, 0xd9,
0xec, 0xe1, 0x97, 0x3f, 0x58, 0x1d, 0x50, 0x41, 0xc3, 0x16, 0x95, 0x1e, 0xac, 0x9f, 0xea, 0x3a,
0x53, 0xaf, 0x34, 0x03, 0xb9, 0xa0, 0x86, 0xa5, 0xe0, 0xdd, 0x18, 0xb9, 0x20, 0x47, 0xb0, 0xd0,
0xa7, 0x1c, 0x37, 0x73, 0xdb, 0xb9, 0xea, 0xf2, 0xf1, 0x56, 0x3d, 0xb2, 0x15, 0xdf, 0xbf, 0xc3,
0x87, 0x67, 0x94, 0xa3, 0xe2, 0x92, 0x64, 0x0d, 0x9e, 0xa9, 0x6c, 0x6c, 0x8a, 0xcd, 0xf9, 0xed,
0x5c, 0xb5, 0xa8, 0x78, 0x83, 0xca, 0xef, 0x1c, 0x6c, 0x4c, 0x3b, 0x70, 0x8b, 0x99, 0x1c, 0xc9,
0x09, 0x2c, 0x72, 0x41, 0xc5, 0x98, 0xfb, 0x26, 0x2f, 0x63, 0x4d, 0xba, 0x2e, 0xa2, 0xf8, 0x28,
0xd9, 0x82, 0x25, 0x21, 0x95, 0x36, 0xf3, 0xdb, 0xb9, 0xea, 0x82, 0x32, 0xf9, 0x90, 0xb0, 0x87,
0x2f, 0x50, 0x72, 0xb7, 0xd0, 0x6e, 0xfd, 0x87, 0xea, 0xf2, 0x61, 0x65, 0x1d, 0x56, 0x02, 0xe5,
0x7f, 0xa9, 0xaa, 0x04, 0xf9, 0x76, 0xcb, 0x95, 0x9e, 0x57, 0xf2, 0xed, 0x56, 0x7c, 0x1d, 0xc7,
0x7f, 0x08, 0x2c, 0x29, 0x8c, 0x89, 0xa6, 0x13, 0x20, 0xb1, 0x80, 0x9c, 0xa3, 0x68, 0x32, 0xc3,
0x62, 0x26, 0x9a, 0xc2, 0x51, 0x44, 0x4e, 0x8e, 0xa2, 0x76, 0x41, 0x37, 0xcc, 0xa2, 0xfe, 0x59,
0x94, 0x77, 0x12, 0x56, 0x4c, 0xe1, 0x95, 0x39, 0x62, 0xb8, 0x8e, 0x4e, 0x90, 0x57, 0x9a, 0x7a,
0xdb, 0x1c, 0x51, 0xd3, 0x44, 0x3d, 0xcd, 0x71, 0x0a, 0x95, 0x8e, 0x6f, 0xa2, 0x2b, 0xfc, 0x41,
0x57, 0xd8, 0x9a, 0x39, 0x94, 0xe7, 0x58, 0x99, 0x23, 0x77, 0xb0, 0x76, 0x8e, 0xae, 0xbb, 0xc6,
0x85, 0xa6, 0x72, 0x69, 0x78, 0x9c, 0x6c, 0x38, 0x03, 0x3f, 0xd1, 0xb2, 0x07, 0xab, 0x4d, 0x1b,
0xa9, 0xc0, 0x26, 0xd3, 0x75, 0x54, 0x85, 0xc6, 0x4c, 0x72, 0x10, 0xbb, 0x74, 0x1a, 0x93, 0x46,
0x69, 0x71, 0x57, 0xe6, 0xc8, 0x77, 0x28, 0xb5, 0x6c, 0x66, 0x85, 0xe4, 0xf7, 0x62, 0xe5, 0xa3,
0x50, 0x46, 0xf1, 0x1e, 0x14, 0x2f, 0x28, 0x0f, 0x69, 0xd7, 0x62, 0xb5, 0x23, 0x8c, 0x94, 0x7e,
0x1d, 0x8b, 0x9e, 0x31, 0xa6, 0x87, 0x8e, 0xe7, 0x1e, 0x48, 0x0b, 0xb9, 0x6a, 0x6b, 0xfd, 0xf0,
0x01, 0xd5, 0xe3, 0x2b, 0x98, 0x01, 0xa5, 0x55, 0x23, 0x33, 0x1f, 0x18, 0x9b, 0xb0, 0xd2, 0x1d,
0xb1, 0xfb, 0xc9, 0x1c, 0x27, 0xfb, 0xf1, 0x89, 0x46, 0x29, 0x69, 0x79, 0x90, 0x0d, 0x0e, 0xfc,
0x6e, 0x60, 0xc5, 0x0b, 0xf8, 0x33, 0xb5, 0x85, 0xe6, 0x56, 0xb9, 0x9f, 0xd2, 0x06, 0x01, 0x95,
0x31, 0xa8, 0xaf, 0x50, 0x74, 0x02, 0x9e, 0x88, 0xd7, 0x12, 0x9b, 0xe0, 0xa9, 0xd2, 0x37, 0x50,
0xb8, 0xa0, 0x7c, 0xa2, 0x5c, 0x4d, 0x6a, 0x81, 0x19, 0xe1, 0x4c, 0x1d, 0x70, 0x0b, 0x25, 0xe7,
0xd4, 0x82, 0xc5, 0x3c, 0xa1, 0x7f, 0xa3, 0x90, 0xb4, 0xd8, 0xcf, 0xc4, 0x86, 0x53, 0x97, 0x5d,
0xd1, 0xc5, 0xa1, 0x81, 0xa6, 0x48, 0x48, 0x61, 0x8a, 0x4a, 0x4f, 0x7d, 0x06, 0x0e, 0xfc, 0x10,
0x0a, 0xce, 0x5e, 0xfc, 0x09, 0x9e, 0x70, 0x76, 0x61, 0x44, 0x3a, 0xd5, 0x32, 0x90, 0x81, 0xcd,
0x35, 0x2c, 0x7b, 0x6d, 0xd3, 0x36, 0x07, 0xf8, 0x40, 0x76, 0x53, 0x1a, 0xcb, 0x25, 0x32, 0x26,
0x3f, 0x82, 0xa2, 0x2c, 0xcd, 0x13, 0xae, 0xa5, 0x96, 0x1f, 0x91, 0xde, 0xcb, 0x82, 0x06, 0x05,
0x5c, 0xc2, 0x92, 0xd3, 0x9a, 0x9e, 0xcb, 0xdb, 0xc4, 0xd6, 0x7d, 0xca, 0xe6, 0xef, 0xfc, 0x2b,
0x3a, 0x78, 0x25, 0x90, 0xc3, 0x7a, 0xfc, 0xeb, 0xa7, 0x1e, 0xfb, 0x5e, 0x29, 0xd7, 0xb3, 0xe2,
0x41, 0x15, 0x3f, 0xe0, 0xb9, 0x7f, 0x77, 0x93, 0x9d, 0xd4, 0xc5, 0xc1, 0xb3, 0xa1, 0xbc, 0xfb,
0x28, 0x17, 0xa8, 0x53, 0x58, 0xbf, 0xb6, 0x06, 0xce, 0x15, 0xe1, 0x5d, 0x44, 0xf2, 0x2a, 0x9c,
0x4e, 0x65, 0x72, 0xdd, 0x46, 0xb9, 0x0e, 0x1f, 0x3e, 0x76, 0x66, 0x3a, 0xbc, 0x50, 0x50, 0x47,
0xca, 0xb1, 0x75, 0xf9, 0xb1, 0x83, 0x9c, 0xd3, 0x21, 0x76, 0x85, 0x8d, 0xd4, 0x98, 0xbe, 0x22,
0xbd, 0x37, 0x60, 0x02, 0x9c, 0x31, 0xa1, 0x21, 0xac, 0xfb, 0xbd, 0xfc, 0x41, 0x1f, 0xf3, 0x91,
0xf3, 0x3a, 0xd0, 0x51, 0xe0, 0x80, 0x34, 0x12, 0x0a, 0x8a, 0xa5, 0x33, 0x94, 0xd5, 0x81, 0xe2,
0xe9, 0x60, 0xf0, 0x09, 0xe5, 0x5f, 0x87, 0xbc, 0x8a, 0xf2, 0xce, 0x1b, 0x56, 0x8a, 0x3f, 0x2e,
0x77, 0xf6, 0xfe, 0xdb, 0xbb, 0xa1, 0x26, 0x46, 0xe3, 0xbe, 0x33, 0xd3, 0xf0, 0xd0, 0x43, 0x8d,
0xf9, 0xbf, 0x1a, 0x72, 0xbb, 0x0d, 0x77, 0x75, 0x23, 0x88, 0xd4, 0xea, 0xf7, 0x17, 0xdd, 0x4f,
0x27, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x50, 0xce, 0xa8, 0x25, 0x99, 0x0b, 0x00, 0x00,
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x96, 0x5b, 0x4f, 0xdb, 0x48,
0x14, 0xc7, 0x49, 0x60, 0x59, 0x71, 0x48, 0x02, 0x1a, 0x01, 0x8b, 0xb2, 0xac, 0xc4, 0x66, 0xb5,
0x90, 0x70, 0x71, 0x10, 0x48, 0x55, 0x5f, 0x21, 0x51, 0x21, 0x52, 0x53, 0x15, 0x07, 0xa4, 0xde,
0x50, 0x34, 0x71, 0x8e, 0x12, 0x0b, 0xdb, 0x63, 0x3c, 0x93, 0x42, 0x1f, 0xfb, 0x85, 0xfa, 0x19,
0x2b, 0x5f, 0xc6, 0xb1, 0x1d, 0x3b, 0x18, 0xb5, 0x6f, 0x19, 0xcf, 0x6f, 0xfe, 0xff, 0x39, 0x97,
0x68, 0x0e, 0xac, 0x3b, 0x8c, 0x89, 0xbe, 0xc6, 0x98, 0x33, 0x54, 0x6c, 0x87, 0x09, 0x46, 0xb6,
0x4c, 0xdd, 0xf8, 0x3a, 0xe1, 0xfe, 0x4a, 0x71, 0xb7, 0xbd, 0xdd, 0x6a, 0x49, 0x63, 0xa6, 0xc9,
0x2c, 0xff, 0x7b, 0xb5, 0x14, 0xa5, 0xaa, 0x15, 0xdd, 0x12, 0xe8, 0x58, 0xd4, 0x08, 0xd6, 0xab,
0xb6, 0xc3, 0x9e, 0xbe, 0x05, 0x8b, 0xf5, 0x21, 0x15, 0x34, 0x6a, 0x51, 0xeb, 0xc3, 0xe6, 0xb9,
0x61, 0x30, 0xed, 0x46, 0x37, 0x91, 0x0b, 0x6a, 0xda, 0x2a, 0x3e, 0x4c, 0x90, 0x0b, 0x72, 0x02,
0x4b, 0x03, 0xca, 0x71, 0xbb, 0xb0, 0x5b, 0xa8, 0xaf, 0x9e, 0xee, 0x28, 0xb1, 0xab, 0x04, 0xfe,
0x5d, 0x3e, 0xba, 0xa0, 0x1c, 0x55, 0x8f, 0x24, 0x1b, 0xf0, 0x87, 0xc6, 0x26, 0x96, 0xd8, 0x5e,
0xdc, 0x2d, 0xd4, 0xcb, 0xaa, 0xbf, 0xa8, 0x7d, 0x2f, 0xc0, 0x56, 0xd2, 0x81, 0xdb, 0xcc, 0xe2,
0x48, 0xce, 0x60, 0x99, 0x0b, 0x2a, 0x26, 0x3c, 0x30, 0xf9, 0x3b, 0xd5, 0xa4, 0xe7, 0x21, 0x6a,
0x80, 0x92, 0x1d, 0x58, 0x11, 0x52, 0x69, 0xbb, 0xb8, 0x5b, 0xa8, 0x2f, 0xa9, 0xd3, 0x0f, 0x19,
0x77, 0xf8, 0x00, 0x15, 0xef, 0x0a, 0x9d, 0xf6, 0x6f, 0x88, 0xae, 0x18, 0x55, 0x36, 0x60, 0x2d,
0x54, 0xfe, 0x95, 0xa8, 0x2a, 0x50, 0xec, 0xb4, 0x3d, 0xe9, 0x45, 0xb5, 0xd8, 0x69, 0xa7, 0xc7,
0x71, 0xfa, 0x83, 0xc0, 0x8a, 0xca, 0x98, 0x68, 0xb9, 0x05, 0x24, 0x36, 0x90, 0x4b, 0x14, 0x2d,
0x66, 0xda, 0xcc, 0x42, 0x4b, 0xb8, 0x8a, 0xc8, 0xc9, 0x49, 0xdc, 0x2e, 0xec, 0x86, 0x59, 0x34,
0xc8, 0x45, 0x75, 0x2f, 0xe3, 0x44, 0x02, 0xaf, 0x2d, 0x10, 0xd3, 0x73, 0x74, 0x0b, 0x79, 0xa3,
0x6b, 0xf7, 0xad, 0x31, 0xb5, 0x2c, 0x34, 0xe6, 0x39, 0x26, 0x50, 0xe9, 0xf8, 0x5f, 0xfc, 0x44,
0xb0, 0xe8, 0x09, 0x47, 0xb7, 0x46, 0x32, 0x8f, 0xb5, 0x05, 0xf2, 0x00, 0x1b, 0x97, 0xe8, 0xb9,
0xeb, 0x5c, 0xe8, 0x1a, 0x97, 0x86, 0xa7, 0xd9, 0x86, 0x33, 0xf0, 0x0b, 0x2d, 0xfb, 0xb0, 0xde,
0x72, 0x90, 0x0a, 0x6c, 0x31, 0xc3, 0x40, 0x4d, 0xe8, 0xcc, 0x22, 0x47, 0xa9, 0x47, 0x93, 0x98,
0x34, 0x9a, 0x57, 0xee, 0xda, 0x02, 0xf9, 0x0c, 0x95, 0xb6, 0xc3, 0xec, 0x88, 0xfc, 0x41, 0xaa,
0x7c, 0x1c, 0xca, 0x29, 0xde, 0x87, 0xf2, 0x15, 0xe5, 0x11, 0xed, 0x46, 0xaa, 0x76, 0x8c, 0x91,
0xd2, 0xff, 0xa6, 0xa2, 0x17, 0x8c, 0x19, 0x91, 0xf4, 0x3c, 0x02, 0x69, 0x23, 0xd7, 0x1c, 0x7d,
0x10, 0x4d, 0x90, 0x92, 0x1e, 0xc1, 0x0c, 0x28, 0xad, 0x9a, 0xb9, 0xf9, 0xd0, 0xd8, 0x82, 0xb5,
0xde, 0x98, 0x3d, 0x4e, 0xf7, 0x38, 0x39, 0x4c, 0xaf, 0x68, 0x9c, 0x92, 0x96, 0x47, 0xf9, 0xe0,
0xd0, 0xef, 0x0e, 0xd6, 0xfc, 0x02, 0xbf, 0xa7, 0x8e, 0xd0, 0xbd, 0x28, 0x0f, 0xe7, 0xb4, 0x41,
0x48, 0xe5, 0x2c, 0xd4, 0x47, 0x28, 0xbb, 0x05, 0x9e, 0x8a, 0x37, 0x32, 0x9b, 0xe0, 0xa5, 0xd2,
0x77, 0x50, 0xba, 0xa2, 0x7c, 0xaa, 0x5c, 0xcf, 0x6a, 0x81, 0x19, 0xe1, 0x5c, 0x1d, 0x70, 0x0f,
0x15, 0x37, 0x6b, 0xe1, 0x61, 0x9e, 0xd1, 0xbf, 0x71, 0x48, 0x5a, 0x1c, 0xe6, 0x62, 0xa3, 0x55,
0x97, 0x5d, 0xd1, 0xc3, 0x91, 0x89, 0x96, 0xc8, 0xa8, 0x42, 0x82, 0x9a, 0x5f, 0xf5, 0x19, 0x38,
0xf4, 0x43, 0x28, 0xb9, 0x77, 0x09, 0x36, 0x78, 0x46, 0xee, 0xa2, 0x88, 0x74, 0x6a, 0xe4, 0x20,
0x43, 0x9b, 0x5b, 0x58, 0xf5, 0xdb, 0xa6, 0x63, 0x0d, 0xf1, 0x89, 0xec, 0xcf, 0x69, 0x2c, 0x8f,
0xc8, 0x59, 0xf9, 0x31, 0x94, 0x65, 0x68, 0xbe, 0x70, 0x63, 0x6e, 0xf8, 0x31, 0xe9, 0x83, 0x3c,
0x68, 0x18, 0xc0, 0x35, 0xac, 0xb8, 0xad, 0xe9, 0xbb, 0xfc, 0x9f, 0xd9, 0xba, 0x2f, 0xb9, 0xfc,
0x43, 0xf0, 0x44, 0x87, 0x53, 0x02, 0x39, 0x56, 0xd2, 0xa7, 0x1f, 0x25, 0x75, 0x5e, 0xa9, 0x2a,
0x79, 0xf1, 0x30, 0x8a, 0x2f, 0xf0, 0x67, 0xf0, 0x76, 0x93, 0xbd, 0xb9, 0x87, 0xc3, 0xb1, 0xa1,
0xba, 0xff, 0x2c, 0x17, 0xaa, 0x53, 0xd8, 0xbc, 0xb5, 0x87, 0xee, 0x13, 0xe1, 0x3f, 0x44, 0xf2,
0x29, 0x4c, 0x56, 0x65, 0xfa, 0xdc, 0xc6, 0xb9, 0x2e, 0x1f, 0x3d, 0x97, 0x33, 0x03, 0xfe, 0x52,
0xd1, 0x40, 0xca, 0xb1, 0x7d, 0xfd, 0xb6, 0x8b, 0x9c, 0xd3, 0x11, 0xf6, 0x84, 0x83, 0xd4, 0x4c,
0x3e, 0x91, 0xfe, 0x0c, 0x98, 0x01, 0xe7, 0xac, 0x90, 0x06, 0x9b, 0x41, 0x2f, 0xbf, 0x31, 0x26,
0x7c, 0xec, 0x4e, 0x07, 0x06, 0x0a, 0x1c, 0x26, 0xff, 0x92, 0xee, 0x88, 0xa9, 0xa4, 0x92, 0x39,
0x42, 0xea, 0x42, 0xf9, 0x7c, 0x38, 0x7c, 0x87, 0xf2, 0x6f, 0x43, 0xfe, 0xc9, 0x16, 0x7f, 0x5e,
0xee, 0xe2, 0xf5, 0xa7, 0x57, 0x23, 0x5d, 0x8c, 0x27, 0x03, 0x77, 0xa7, 0xe9, 0xa3, 0xc7, 0x3a,
0x0b, 0x7e, 0x35, 0x65, 0xee, 0x9b, 0xde, 0xe9, 0x66, 0x58, 0x4e, 0x7b, 0x30, 0x58, 0xf6, 0x3e,
0x9d, 0xfd, 0x0c, 0x00, 0x00, 0xff, 0xff, 0x08, 0x58, 0x69, 0x9b, 0x95, 0x0b, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.
@ -374,7 +374,7 @@ type RootCoordClient interface {
AllocID(ctx context.Context, in *AllocIDRequest, opts ...grpc.CallOption) (*AllocIDResponse, error)
UpdateChannelTimeTick(ctx context.Context, in *internalpb.ChannelTimeTickMsg, opts ...grpc.CallOption) (*commonpb.Status, error)
ReleaseDQLMessageStream(ctx context.Context, in *proxypb.ReleaseDQLMessageStreamRequest, opts ...grpc.CallOption) (*commonpb.Status, error)
SegmentFlushCompleted(ctx context.Context, in *internalpb.SegmentFlushCompletedMsg, opts ...grpc.CallOption) (*commonpb.Status, error)
SegmentFlushCompleted(ctx context.Context, in *datapb.SegmentFlushCompletedMsg, opts ...grpc.CallOption) (*commonpb.Status, error)
AddNewSegment(ctx context.Context, in *datapb.SegmentMsg, opts ...grpc.CallOption) (*commonpb.Status, error)
}
@ -575,7 +575,7 @@ func (c *rootCoordClient) ReleaseDQLMessageStream(ctx context.Context, in *proxy
return out, nil
}
func (c *rootCoordClient) SegmentFlushCompleted(ctx context.Context, in *internalpb.SegmentFlushCompletedMsg, opts ...grpc.CallOption) (*commonpb.Status, error) {
func (c *rootCoordClient) SegmentFlushCompleted(ctx context.Context, in *datapb.SegmentFlushCompletedMsg, opts ...grpc.CallOption) (*commonpb.Status, error) {
out := new(commonpb.Status)
err := c.cc.Invoke(ctx, "/milvus.proto.rootcoord.RootCoord/SegmentFlushCompleted", in, out, opts...)
if err != nil {
@ -662,7 +662,7 @@ type RootCoordServer interface {
AllocID(context.Context, *AllocIDRequest) (*AllocIDResponse, error)
UpdateChannelTimeTick(context.Context, *internalpb.ChannelTimeTickMsg) (*commonpb.Status, error)
ReleaseDQLMessageStream(context.Context, *proxypb.ReleaseDQLMessageStreamRequest) (*commonpb.Status, error)
SegmentFlushCompleted(context.Context, *internalpb.SegmentFlushCompletedMsg) (*commonpb.Status, error)
SegmentFlushCompleted(context.Context, *datapb.SegmentFlushCompletedMsg) (*commonpb.Status, error)
AddNewSegment(context.Context, *datapb.SegmentMsg) (*commonpb.Status, error)
}
@ -733,7 +733,7 @@ func (*UnimplementedRootCoordServer) UpdateChannelTimeTick(ctx context.Context,
func (*UnimplementedRootCoordServer) ReleaseDQLMessageStream(ctx context.Context, req *proxypb.ReleaseDQLMessageStreamRequest) (*commonpb.Status, error) {
return nil, status.Errorf(codes.Unimplemented, "method ReleaseDQLMessageStream not implemented")
}
func (*UnimplementedRootCoordServer) SegmentFlushCompleted(ctx context.Context, req *internalpb.SegmentFlushCompletedMsg) (*commonpb.Status, error) {
func (*UnimplementedRootCoordServer) SegmentFlushCompleted(ctx context.Context, req *datapb.SegmentFlushCompletedMsg) (*commonpb.Status, error) {
return nil, status.Errorf(codes.Unimplemented, "method SegmentFlushCompleted not implemented")
}
func (*UnimplementedRootCoordServer) AddNewSegment(ctx context.Context, req *datapb.SegmentMsg) (*commonpb.Status, error) {
@ -1123,7 +1123,7 @@ func _RootCoord_ReleaseDQLMessageStream_Handler(srv interface{}, ctx context.Con
}
func _RootCoord_SegmentFlushCompleted_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(internalpb.SegmentFlushCompletedMsg)
in := new(datapb.SegmentFlushCompletedMsg)
if err := dec(in); err != nil {
return nil, err
}
@ -1135,7 +1135,7 @@ func _RootCoord_SegmentFlushCompleted_Handler(srv interface{}, ctx context.Conte
FullMethod: "/milvus.proto.rootcoord.RootCoord/SegmentFlushCompleted",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RootCoordServer).SegmentFlushCompleted(ctx, req.(*internalpb.SegmentFlushCompletedMsg))
return srv.(RootCoordServer).SegmentFlushCompleted(ctx, req.(*datapb.SegmentFlushCompletedMsg))
}
return interceptor(ctx, in, info, handler)
}

View File

@ -332,7 +332,7 @@ func (c *Core) startDataNodeFlushedSegmentLoop() {
log.Debug("input msg is not FlushCompletedMsg")
continue
}
segID := flushMsg.SegmentID
segID := flushMsg.Segment.GetID()
log.Debug("flush segment", zap.Int64("id", segID))
coll, err := c.MetaTable.GetCollectionBySegmentID(segID)
@ -1908,7 +1908,7 @@ func (c *Core) ReleaseDQLMessageStream(ctx context.Context, in *proxypb.ReleaseD
return c.proxyClientManager.ReleaseDQLMessageStream(ctx, in)
}
func (c *Core) SegmentFlushCompleted(ctx context.Context, in *internalpb.SegmentFlushCompletedMsg) (*commonpb.Status, error) {
func (c *Core) SegmentFlushCompleted(ctx context.Context, in *datapb.SegmentFlushCompletedMsg) (*commonpb.Status, error) {
code := c.stateCode.Load().(internalpb.StateCode)
if code != internalpb.StateCode_Healthy {
return &commonpb.Status{
@ -1922,7 +1922,7 @@ func (c *Core) SegmentFlushCompleted(ctx context.Context, in *internalpb.Segment
Reason: fmt.Sprintf("SegmentFlushDone with incorrect msgtype = %s", commonpb.MsgType_name[int32(in.Base.MsgType)]),
}, nil
}
segID := in.SegmentID
segID := in.Segment.GetID()
log.Debug("flush segment", zap.Int64("id", segID))
coll, err := c.MetaTable.GetCollectionBySegmentID(segID)

View File

@ -249,14 +249,16 @@ func GenFlushedSegMsgPack(segID typeutil.UniqueID) *msgstream.MsgPack {
}
segMsg := &msgstream.FlushCompletedMsg{
BaseMsg: baseMsg,
SegmentFlushCompletedMsg: internalpb.SegmentFlushCompletedMsg{
SegmentFlushCompletedMsg: datapb.SegmentFlushCompletedMsg{
Base: &commonpb.MsgBase{
MsgType: commonpb.MsgType_SegmentFlushDone,
MsgID: 0,
Timestamp: 0,
SourceID: 0,
},
SegmentID: segID,
Segment: &datapb.SegmentInfo{
ID: segID,
},
},
}
msgPack.Msgs = append(msgPack.Msgs, segMsg)

View File

@ -60,6 +60,7 @@ type DataCoord interface {
GetSegmentInfo(ctx context.Context, req *datapb.GetSegmentInfoRequest) (*datapb.GetSegmentInfoResponse, error)
GetRecoveryInfo(ctx context.Context, req *datapb.GetRecoveryInfoRequest) (*datapb.GetRecoveryInfoResponse, error)
SaveBinlogPaths(ctx context.Context, req *datapb.SaveBinlogPathsRequest) (*commonpb.Status, error)
GetFlushedSegments(ctx context.Context, req *datapb.GetFlushedSegmentsRequest) (*datapb.GetFlushedSegmentsResponse, error)
}
type IndexNode interface {
@ -109,7 +110,7 @@ type RootCoord interface {
DescribeSegment(ctx context.Context, req *milvuspb.DescribeSegmentRequest) (*milvuspb.DescribeSegmentResponse, error)
ShowSegments(ctx context.Context, req *milvuspb.ShowSegmentsRequest) (*milvuspb.ShowSegmentsResponse, error)
ReleaseDQLMessageStream(ctx context.Context, in *proxypb.ReleaseDQLMessageStreamRequest) (*commonpb.Status, error)
SegmentFlushCompleted(ctx context.Context, in *internalpb.SegmentFlushCompletedMsg) (*commonpb.Status, error)
SegmentFlushCompleted(ctx context.Context, in *datapb.SegmentFlushCompletedMsg) (*commonpb.Status, error)
AddNewSegment(ctx context.Context, in *datapb.SegmentMsg) (*commonpb.Status, error)
}