Remove not using dependence and proto (#5226)

- FlushMsg proto message is no longer in use

- We don't depend on "github.com/prometheus/common/log"

Signed-off-by: yangxuan xuan.yang@zilliz.com
pull/5232/head
XuanYang-cn 2021-05-14 16:50:55 +08:00 committed by GitHub
parent aa9ed7e98f
commit 9151e13480
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 122 additions and 244 deletions

View File

@ -183,56 +183,6 @@ func (fl *FlushCompletedMsg) Unmarshal(input MarshalType) (TsMsg, error) {
return flushCompletedMsgTask, nil
}
/////////////////////////////////////////Flush//////////////////////////////////////////
// GOOSE TODO remove this
type FlushMsg struct {
BaseMsg
internalpb.FlushMsg
}
func (fl *FlushMsg) TraceCtx() context.Context {
return fl.BaseMsg.Ctx
}
func (fl *FlushMsg) SetTraceCtx(ctx context.Context) {
fl.BaseMsg.Ctx = ctx
}
func (fl *FlushMsg) ID() UniqueID {
return fl.Base.MsgID
}
func (fl *FlushMsg) Type() MsgType {
return fl.Base.MsgType
}
func (fl *FlushMsg) Marshal(input TsMsg) (MarshalType, error) {
flushMsgTask := input.(*FlushMsg)
flushMsg := &flushMsgTask.FlushMsg
mb, err := proto.Marshal(flushMsg)
if err != nil {
return nil, err
}
return mb, nil
}
func (fl *FlushMsg) Unmarshal(input MarshalType) (TsMsg, error) {
flushMsg := internalpb.FlushMsg{}
in, err := ConvertToByteArray(input)
if err != nil {
return nil, err
}
err = proto.Unmarshal(in, &flushMsg)
if err != nil {
return nil, err
}
flushMsgTask := &FlushMsg{FlushMsg: flushMsg}
flushMsgTask.BeginTimestamp = flushMsgTask.Base.Timestamp
flushMsgTask.EndTimestamp = flushMsgTask.Base.Timestamp
return flushMsgTask, nil
}
/////////////////////////////////////////Delete//////////////////////////////////////////
type DeleteMsg struct {
BaseMsg

View File

@ -59,7 +59,6 @@ func (pudf *ProtoUDFactory) NewUnmarshalDispatcher() *ProtoUnmarshalDispatcher {
createPartitionMsg := CreatePartitionMsg{}
dropPartitionMsg := DropPartitionMsg{}
loadIndexMsg := LoadIndexMsg{}
flushMsg := FlushMsg{}
segmentInfoMsg := SegmentInfoMsg{}
flushCompletedMsg := FlushCompletedMsg{}
queryNodeSegStatsMsg := QueryNodeStatsMsg{}
@ -78,7 +77,6 @@ func (pudf *ProtoUDFactory) NewUnmarshalDispatcher() *ProtoUnmarshalDispatcher {
p.TempMap[commonpb.MsgType_CreatePartition] = createPartitionMsg.Unmarshal
p.TempMap[commonpb.MsgType_DropPartition] = dropPartitionMsg.Unmarshal
p.TempMap[commonpb.MsgType_LoadIndex] = loadIndexMsg.Unmarshal
p.TempMap[commonpb.MsgType_Flush] = flushMsg.Unmarshal
p.TempMap[commonpb.MsgType_SegmentInfo] = segmentInfoMsg.Unmarshal
p.TempMap[commonpb.MsgType_SegmentFlushDone] = flushCompletedMsg.Unmarshal
p.TempMap[commonpb.MsgType_SegmentStatistics] = segmentStatisticsMsg.Unmarshal

View File

@ -147,13 +147,6 @@ message DeleteRequest {
repeated int64 primary_keys = 5;
}
message FlushMsg {
common.MsgBase base = 1;
int64 segmentID = 2;
int64 collectionID = 3;
string partitionTag = 4;
}
message LoadIndex {
common.MsgBase base = 1;
int64 segmentID = 2;

View File

@ -1264,69 +1264,6 @@ func (m *DeleteRequest) GetPrimaryKeys() []int64 {
return nil
}
type FlushMsg 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"`
CollectionID int64 `protobuf:"varint,3,opt,name=collectionID,proto3" json:"collectionID,omitempty"`
PartitionTag string `protobuf:"bytes,4,opt,name=partitionTag,proto3" json:"partitionTag,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *FlushMsg) Reset() { *m = FlushMsg{} }
func (m *FlushMsg) String() string { return proto.CompactTextString(m) }
func (*FlushMsg) ProtoMessage() {}
func (*FlushMsg) Descriptor() ([]byte, []int) {
return fileDescriptor_41f4a519b878ee3b, []int{19}
}
func (m *FlushMsg) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FlushMsg.Unmarshal(m, b)
}
func (m *FlushMsg) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_FlushMsg.Marshal(b, m, deterministic)
}
func (m *FlushMsg) XXX_Merge(src proto.Message) {
xxx_messageInfo_FlushMsg.Merge(m, src)
}
func (m *FlushMsg) XXX_Size() int {
return xxx_messageInfo_FlushMsg.Size(m)
}
func (m *FlushMsg) XXX_DiscardUnknown() {
xxx_messageInfo_FlushMsg.DiscardUnknown(m)
}
var xxx_messageInfo_FlushMsg proto.InternalMessageInfo
func (m *FlushMsg) GetBase() *commonpb.MsgBase {
if m != nil {
return m.Base
}
return nil
}
func (m *FlushMsg) GetSegmentID() int64 {
if m != nil {
return m.SegmentID
}
return 0
}
func (m *FlushMsg) GetCollectionID() int64 {
if m != nil {
return m.CollectionID
}
return 0
}
func (m *FlushMsg) GetPartitionTag() string {
if m != nil {
return m.PartitionTag
}
return ""
}
type LoadIndex 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"`
@ -1343,7 +1280,7 @@ func (m *LoadIndex) Reset() { *m = LoadIndex{} }
func (m *LoadIndex) String() string { return proto.CompactTextString(m) }
func (*LoadIndex) ProtoMessage() {}
func (*LoadIndex) Descriptor() ([]byte, []int) {
return fileDescriptor_41f4a519b878ee3b, []int{20}
return fileDescriptor_41f4a519b878ee3b, []int{19}
}
func (m *LoadIndex) XXX_Unmarshal(b []byte) error {
@ -1423,7 +1360,7 @@ func (m *SegmentStatisticsUpdates) Reset() { *m = SegmentStatisticsUpdat
func (m *SegmentStatisticsUpdates) String() string { return proto.CompactTextString(m) }
func (*SegmentStatisticsUpdates) ProtoMessage() {}
func (*SegmentStatisticsUpdates) Descriptor() ([]byte, []int) {
return fileDescriptor_41f4a519b878ee3b, []int{21}
return fileDescriptor_41f4a519b878ee3b, []int{20}
}
func (m *SegmentStatisticsUpdates) XXX_Unmarshal(b []byte) error {
@ -1505,7 +1442,7 @@ func (m *SegmentStatistics) Reset() { *m = SegmentStatistics{} }
func (m *SegmentStatistics) String() string { return proto.CompactTextString(m) }
func (*SegmentStatistics) ProtoMessage() {}
func (*SegmentStatistics) Descriptor() ([]byte, []int) {
return fileDescriptor_41f4a519b878ee3b, []int{22}
return fileDescriptor_41f4a519b878ee3b, []int{21}
}
func (m *SegmentStatistics) XXX_Unmarshal(b []byte) error {
@ -1552,7 +1489,7 @@ func (m *SegmentFlushCompletedMsg) Reset() { *m = SegmentFlushCompletedM
func (m *SegmentFlushCompletedMsg) String() string { return proto.CompactTextString(m) }
func (*SegmentFlushCompletedMsg) ProtoMessage() {}
func (*SegmentFlushCompletedMsg) Descriptor() ([]byte, []int) {
return fileDescriptor_41f4a519b878ee3b, []int{23}
return fileDescriptor_41f4a519b878ee3b, []int{22}
}
func (m *SegmentFlushCompletedMsg) XXX_Unmarshal(b []byte) error {
@ -1599,7 +1536,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{24}
return fileDescriptor_41f4a519b878ee3b, []int{23}
}
func (m *IndexStats) XXX_Unmarshal(b []byte) error {
@ -1647,7 +1584,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{25}
return fileDescriptor_41f4a519b878ee3b, []int{24}
}
func (m *FieldStats) XXX_Unmarshal(b []byte) error {
@ -1703,7 +1640,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{26}
return fileDescriptor_41f4a519b878ee3b, []int{25}
}
func (m *SegmentStats) XXX_Unmarshal(b []byte) error {
@ -1765,7 +1702,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{27}
return fileDescriptor_41f4a519b878ee3b, []int{26}
}
func (m *QueryNodeStats) XXX_Unmarshal(b []byte) error {
@ -1821,7 +1758,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{28}
return fileDescriptor_41f4a519b878ee3b, []int{27}
}
func (m *MsgPosition) XXX_Unmarshal(b []byte) error {
@ -1891,7 +1828,6 @@ func init() {
proto.RegisterType((*SearchRequest)(nil), "milvus.proto.internal.SearchRequest")
proto.RegisterType((*SearchResults)(nil), "milvus.proto.internal.SearchResults")
proto.RegisterType((*DeleteRequest)(nil), "milvus.proto.internal.DeleteRequest")
proto.RegisterType((*FlushMsg)(nil), "milvus.proto.internal.FlushMsg")
proto.RegisterType((*LoadIndex)(nil), "milvus.proto.internal.LoadIndex")
proto.RegisterType((*SegmentStatisticsUpdates)(nil), "milvus.proto.internal.SegmentStatisticsUpdates")
proto.RegisterType((*SegmentStatistics)(nil), "milvus.proto.internal.SegmentStatistics")
@ -1906,103 +1842,102 @@ func init() {
func init() { proto.RegisterFile("internal.proto", fileDescriptor_41f4a519b878ee3b) }
var fileDescriptor_41f4a519b878ee3b = []byte{
// 1565 bytes of a gzipped FileDescriptorProto
// 1541 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x58, 0x5b, 0x6f, 0x1b, 0xc5,
0x17, 0xff, 0xaf, 0xed, 0xc4, 0xf6, 0xd9, 0x4d, 0xea, 0x4e, 0x6f, 0x9b, 0x36, 0xfd, 0xd7, 0x5d,
0x6e, 0x81, 0x8a, 0xa4, 0x4a, 0x81, 0x22, 0x5e, 0xda, 0x26, 0x6e, 0x83, 0xd5, 0x26, 0x0a, 0xeb,
0xb4, 0x12, 0xbc, 0xac, 0xc6, 0xde, 0x89, 0xbd, 0xed, 0xde, 0x98, 0x19, 0x37, 0x71, 0x9f, 0x78,
0xe0, 0x0d, 0xc1, 0x03, 0x12, 0x5f, 0x80, 0x0f, 0xc0, 0x47, 0x00, 0xc4, 0x13, 0x12, 0xef, 0x48,
0x48, 0x7c, 0x0a, 0x1e, 0x79, 0x42, 0x73, 0xd9, 0xf5, 0xa5, 0x4e, 0x9a, 0x06, 0x2a, 0x84, 0xe0,
0x6d, 0xe7, 0x9c, 0xe3, 0x33, 0x73, 0x7e, 0xbf, 0x73, 0x99, 0x31, 0xcc, 0x07, 0x31, 0x27, 0x34,
0xc6, 0xe1, 0x72, 0x4a, 0x13, 0x9e, 0xa0, 0x33, 0x51, 0x10, 0x3e, 0xee, 0x33, 0xb5, 0x5a, 0xce,
0x94, 0xe7, 0xad, 0x4e, 0x12, 0x45, 0x49, 0xac, 0xc4, 0xce, 0xb7, 0x06, 0xcc, 0xad, 0x27, 0x51,
0x9a, 0xc4, 0x24, 0xe6, 0xcd, 0x78, 0x37, 0x41, 0x67, 0x61, 0x36, 0x4e, 0x7c, 0xd2, 0x6c, 0xd8,
0x46, 0xdd, 0x58, 0x2a, 0xba, 0x7a, 0x85, 0x10, 0x94, 0x68, 0x12, 0x12, 0xbb, 0x50, 0x37, 0x96,
0xaa, 0xae, 0xfc, 0x46, 0x37, 0x00, 0x18, 0xc7, 0x9c, 0x78, 0x9d, 0xc4, 0x27, 0x76, 0xb1, 0x6e,
0x2c, 0xcd, 0xaf, 0xd6, 0x97, 0xa7, 0xee, 0xbb, 0xdc, 0x12, 0x86, 0xeb, 0x89, 0x4f, 0xdc, 0x2a,
0xcb, 0x3e, 0xd1, 0x4d, 0x00, 0xb2, 0xcf, 0x29, 0xf6, 0x82, 0x78, 0x37, 0xb1, 0x4b, 0xf5, 0xe2,
0x92, 0xb9, 0x7a, 0x79, 0xdc, 0x81, 0x3e, 0xee, 0x5d, 0x32, 0x78, 0x80, 0xc3, 0x3e, 0xd9, 0xc6,
0x01, 0x75, 0xab, 0xf2, 0x47, 0xe2, 0xb8, 0xce, 0x2f, 0x06, 0x9c, 0xc8, 0x03, 0x90, 0x7b, 0x30,
0xf4, 0x1e, 0xcc, 0xc8, 0x2d, 0x64, 0x04, 0xe6, 0xea, 0xcb, 0x07, 0x9c, 0x68, 0x2c, 0x6e, 0x57,
0xfd, 0x04, 0xdd, 0x87, 0x53, 0xac, 0xdf, 0xee, 0x64, 0x2a, 0x4f, 0x4a, 0x99, 0x5d, 0x90, 0x47,
0x3b, 0x9a, 0x27, 0x34, 0xea, 0x40, 0x1f, 0xe9, 0x1a, 0xcc, 0x0a, 0x4f, 0x7d, 0x26, 0x51, 0x32,
0x57, 0x2f, 0x4c, 0x0d, 0xb2, 0x25, 0x4d, 0x5c, 0x6d, 0xea, 0x5c, 0x80, 0x85, 0x0d, 0xc2, 0x27,
0xa2, 0x73, 0xc9, 0xc7, 0x7d, 0xc2, 0xb8, 0x56, 0xee, 0x04, 0x11, 0xd9, 0x09, 0x3a, 0x8f, 0xd6,
0x7b, 0x38, 0x8e, 0x49, 0x98, 0x29, 0x2f, 0xc2, 0x85, 0x0d, 0x22, 0x7f, 0x10, 0x30, 0x1e, 0x74,
0xd8, 0x84, 0xfa, 0x0c, 0x9c, 0xda, 0x20, 0xbc, 0xe1, 0x4f, 0x88, 0x1f, 0x40, 0x65, 0x4b, 0x90,
0x2d, 0xd2, 0xe0, 0x1d, 0x28, 0x63, 0xdf, 0xa7, 0x84, 0x31, 0x8d, 0xe2, 0xe2, 0xd4, 0x13, 0xdf,
0x52, 0x36, 0x6e, 0x66, 0x3c, 0x2d, 0x4d, 0x9c, 0x87, 0x00, 0xcd, 0x38, 0xe0, 0xdb, 0x98, 0xe2,
0x88, 0x1d, 0x98, 0x60, 0x0d, 0xb0, 0x18, 0xc7, 0x94, 0x7b, 0xa9, 0xb4, 0xd3, 0x90, 0x1f, 0x21,
0x1b, 0x4c, 0xf9, 0x33, 0xe5, 0xdd, 0xf9, 0x10, 0xa0, 0xc5, 0x69, 0x10, 0x77, 0xef, 0x05, 0x8c,
0x8b, 0xbd, 0x1e, 0x0b, 0x3b, 0x11, 0x44, 0x71, 0xa9, 0xea, 0xea, 0xd5, 0x08, 0x1d, 0x85, 0xa3,
0xd3, 0x71, 0x03, 0xcc, 0x0c, 0xee, 0x4d, 0xd6, 0x45, 0x57, 0xa1, 0xd4, 0xc6, 0x8c, 0x1c, 0x0a,
0xcf, 0x26, 0xeb, 0xae, 0x61, 0x46, 0x5c, 0x69, 0xe9, 0xfc, 0x6a, 0xc0, 0xb9, 0x75, 0x4a, 0x64,
0xf2, 0x87, 0x21, 0xe9, 0xf0, 0x20, 0x89, 0x35, 0xf6, 0xcf, 0xef, 0x0d, 0x9d, 0x83, 0xb2, 0xdf,
0xf6, 0x62, 0x1c, 0x65, 0x60, 0xcf, 0xfa, 0xed, 0x2d, 0x1c, 0x11, 0xf4, 0x2a, 0xcc, 0x77, 0x72,
0xff, 0x42, 0x22, 0x73, 0xae, 0xea, 0x4e, 0x48, 0x05, 0x55, 0x7e, 0xbb, 0xd9, 0xb0, 0x4b, 0x92,
0x06, 0xf9, 0x8d, 0x1c, 0xb0, 0x86, 0x56, 0xcd, 0x86, 0x3d, 0x23, 0x75, 0x63, 0x32, 0x01, 0x2a,
0xeb, 0xf4, 0x48, 0x84, 0xed, 0xd9, 0xba, 0xb1, 0x64, 0xb9, 0x7a, 0xe5, 0xfc, 0x60, 0xc0, 0x99,
0x06, 0x4d, 0xd2, 0x7f, 0x72, 0x70, 0xce, 0xe7, 0x05, 0x38, 0xab, 0x38, 0xda, 0xc6, 0x94, 0x07,
0x2f, 0x28, 0x8a, 0xd7, 0xe0, 0xc4, 0x70, 0x57, 0x65, 0x30, 0x3d, 0x8c, 0x57, 0x60, 0x3e, 0xcd,
0xce, 0xa1, 0xec, 0x4a, 0xd2, 0x6e, 0x2e, 0x97, 0x8e, 0x45, 0x3b, 0x73, 0x48, 0xb4, 0xb3, 0x53,
0xa8, 0xac, 0x83, 0x99, 0x3b, 0x6a, 0x36, 0xec, 0xb2, 0x34, 0x19, 0x15, 0x39, 0x9f, 0x15, 0xe0,
0xb4, 0x20, 0xf5, 0x3f, 0x34, 0x04, 0x1a, 0xdf, 0x15, 0x00, 0xa9, 0xec, 0x68, 0xc6, 0x3e, 0xd9,
0xff, 0x3b, 0xb1, 0xb8, 0x08, 0xb0, 0x1b, 0x90, 0xd0, 0x1f, 0xc5, 0xa1, 0x2a, 0x25, 0x7f, 0x0a,
0x03, 0x1b, 0xca, 0xd2, 0x49, 0x1e, 0x7f, 0xb6, 0x14, 0xfd, 0x59, 0xcd, 0x6a, 0xdd, 0x9f, 0x2b,
0x47, 0xee, 0xcf, 0xf2, 0x67, 0xba, 0x3f, 0x7f, 0x53, 0x84, 0xb9, 0x66, 0xcc, 0x08, 0xe5, 0xff,
0xe6, 0x44, 0x42, 0x8b, 0x50, 0x65, 0xa4, 0x1b, 0x89, 0x2b, 0x43, 0xc3, 0xae, 0x48, 0xfd, 0x50,
0x20, 0xb4, 0x1d, 0x35, 0x9a, 0x9b, 0x0d, 0xbb, 0xaa, 0xa8, 0xcd, 0x05, 0xe8, 0xff, 0x00, 0x3c,
0x88, 0x08, 0xe3, 0x38, 0x4a, 0x99, 0x0d, 0xf5, 0xe2, 0x52, 0xc9, 0x1d, 0x91, 0x88, 0xfe, 0x4c,
0x93, 0xbd, 0x66, 0x83, 0xd9, 0x66, 0xbd, 0x28, 0x06, 0xac, 0x5a, 0xa1, 0xb7, 0xa0, 0x42, 0x93,
0x3d, 0xcf, 0xc7, 0x1c, 0xdb, 0x96, 0x24, 0x6f, 0x61, 0x2a, 0xd8, 0x6b, 0x61, 0xd2, 0x76, 0xcb,
0x34, 0xd9, 0x6b, 0x60, 0x8e, 0x9d, 0xdf, 0x0a, 0x30, 0xd7, 0x22, 0x98, 0x76, 0x7a, 0xc7, 0x27,
0xec, 0x75, 0xa8, 0x51, 0xc2, 0xfa, 0x21, 0xf7, 0x86, 0x61, 0x29, 0xe6, 0x4e, 0x28, 0xf9, 0x7a,
0x1e, 0x5c, 0x06, 0x79, 0xf1, 0x10, 0xc8, 0x4b, 0x53, 0x20, 0x77, 0xc0, 0x1a, 0xc1, 0x97, 0xd9,
0x33, 0x32, 0xf4, 0x31, 0x19, 0xaa, 0x41, 0xd1, 0x67, 0xa1, 0x64, 0xac, 0xea, 0x8a, 0x4f, 0x74,
0x05, 0x4e, 0xa6, 0x21, 0xee, 0x90, 0x5e, 0x12, 0xfa, 0x84, 0x7a, 0x5d, 0x9a, 0xf4, 0x53, 0x49,
0x97, 0xe5, 0xd6, 0x46, 0x14, 0x1b, 0x42, 0x8e, 0xae, 0x43, 0xc5, 0x67, 0xa1, 0xc7, 0x07, 0x29,
0x91, 0x94, 0xcd, 0x1f, 0x10, 0x7b, 0x83, 0x85, 0x3b, 0x83, 0x94, 0xb8, 0x65, 0x5f, 0x7d, 0xa0,
0xab, 0x70, 0x9a, 0x11, 0x1a, 0xe0, 0x30, 0x78, 0x42, 0x7c, 0x8f, 0xec, 0xa7, 0xd4, 0x4b, 0x43,
0x1c, 0x4b, 0x66, 0x2d, 0x17, 0x0d, 0x75, 0xb7, 0xf7, 0x53, 0xba, 0x1d, 0xe2, 0xd8, 0xf9, 0xd9,
0x18, 0x82, 0x2e, 0xf0, 0x61, 0xc7, 0x00, 0xfd, 0x38, 0x77, 0x9c, 0xa9, 0x4c, 0x15, 0xa7, 0x33,
0x75, 0x09, 0xcc, 0x88, 0x70, 0x1a, 0x74, 0x14, 0x22, 0xaa, 0x80, 0x40, 0x89, 0x64, 0xd8, 0x08,
0x4a, 0xbd, 0x80, 0x2b, 0x2a, 0x2c, 0x57, 0x7e, 0x3b, 0x3f, 0x19, 0x30, 0xd7, 0x20, 0x21, 0xe1,
0xe4, 0xf8, 0xd9, 0x34, 0xa5, 0xca, 0x0b, 0x53, 0xab, 0x7c, 0xac, 0x8c, 0x8a, 0x87, 0x97, 0x51,
0xe9, 0xa9, 0x32, 0xba, 0x0c, 0x56, 0x4a, 0x83, 0x08, 0xd3, 0x81, 0xf7, 0x88, 0x0c, 0xb2, 0x8c,
0x32, 0xb5, 0xec, 0x2e, 0x19, 0x30, 0xe7, 0x6b, 0x03, 0x2a, 0x77, 0xc2, 0x3e, 0xeb, 0x1d, 0xeb,
0x3e, 0x38, 0xde, 0x04, 0x0a, 0x93, 0x4d, 0x60, 0x32, 0xeb, 0x8b, 0xcf, 0xc8, 0xfa, 0x1d, 0xdc,
0xd5, 0x24, 0x8c, 0xc9, 0x9c, 0xdf, 0x0d, 0xa8, 0xde, 0x4b, 0xb0, 0x2f, 0x27, 0xd6, 0x5f, 0x7e,
0xca, 0x45, 0x18, 0x0e, 0x9d, 0x0c, 0xe3, 0xe1, 0x14, 0x1a, 0x99, 0x26, 0xa5, 0xf1, 0x69, 0x72,
0x09, 0xcc, 0x40, 0x1c, 0xc8, 0x4b, 0x31, 0xef, 0x29, 0x70, 0xab, 0x2e, 0x48, 0xd1, 0xb6, 0x90,
0x88, 0x71, 0x93, 0x19, 0xc8, 0x71, 0x33, 0x7b, 0xe4, 0x71, 0xa3, 0x9d, 0xc8, 0x71, 0xf3, 0x7d,
0x01, 0xec, 0x96, 0x3a, 0xec, 0xf0, 0x35, 0x74, 0x3f, 0xf5, 0xe5, 0xa3, 0x6c, 0x11, 0xaa, 0xad,
0x3c, 0x32, 0xf5, 0x18, 0x19, 0x0a, 0x44, 0x7e, 0x6c, 0x92, 0x28, 0xa1, 0x83, 0x56, 0xf0, 0x84,
0xe8, 0xc0, 0x47, 0x24, 0x22, 0xb6, 0xad, 0x7e, 0xe4, 0x26, 0x7b, 0x4c, 0x53, 0x93, 0x2d, 0x45,
0x6c, 0x1d, 0x79, 0x49, 0xf0, 0x44, 0x3a, 0xc9, 0xc8, 0x4b, 0x2e, 0x28, 0x91, 0x78, 0x41, 0xa0,
0x05, 0xa8, 0x90, 0xd8, 0x57, 0xda, 0x19, 0xa9, 0x2d, 0x93, 0xd8, 0x97, 0xaa, 0x26, 0xcc, 0xeb,
0x57, 0x50, 0xc2, 0x24, 0x85, 0xb2, 0x5d, 0x99, 0xab, 0xce, 0x01, 0x4f, 0xcf, 0x4d, 0xd6, 0xdd,
0xd6, 0x96, 0xee, 0x9c, 0x7a, 0x08, 0xe9, 0x25, 0xba, 0x0d, 0x96, 0xd8, 0x25, 0x77, 0x54, 0x3e,
0xb2, 0x23, 0x93, 0xc4, 0x7e, 0xb6, 0x70, 0xbe, 0x34, 0xe0, 0xe4, 0x53, 0x10, 0x1e, 0x23, 0x8f,
0xee, 0x42, 0xa5, 0x45, 0xba, 0xc2, 0x45, 0xf6, 0xb6, 0x5b, 0x39, 0xe8, 0xaf, 0x82, 0x03, 0x08,
0x73, 0x73, 0x07, 0xce, 0xc3, 0x9c, 0x56, 0x59, 0x7f, 0xe2, 0x8d, 0x2c, 0x9a, 0x8a, 0xff, 0x02,
0x0a, 0xd1, 0xf9, 0xd4, 0x10, 0xef, 0x57, 0x9f, 0xec, 0xcb, 0xad, 0x9f, 0x4a, 0x4c, 0xe3, 0x38,
0x89, 0x29, 0x66, 0x42, 0xdc, 0x8f, 0x3c, 0x4a, 0x42, 0xcc, 0x89, 0xef, 0xe9, 0xdd, 0x98, 0xde,
0x1d, 0xc5, 0xfd, 0xc8, 0x55, 0x2a, 0x1d, 0x26, 0x73, 0xbe, 0x30, 0x00, 0xee, 0x88, 0xea, 0x51,
0xc7, 0x98, 0x6c, 0x0f, 0xc6, 0xe1, 0x97, 0xb9, 0xc2, 0x78, 0xf9, 0xad, 0x65, 0xe5, 0xc7, 0x24,
0x1f, 0xc5, 0x69, 0x31, 0xe4, 0x7c, 0x0c, 0x83, 0xd7, 0x15, 0xaa, 0x38, 0xf8, 0xca, 0x00, 0x6b,
0x84, 0x2a, 0x36, 0x0e, 0xa3, 0x31, 0xd9, 0x29, 0xe4, 0xbc, 0x10, 0xd5, 0xe3, 0xb1, 0x91, 0x82,
0x8a, 0x86, 0x05, 0xb5, 0x00, 0x15, 0x09, 0xc9, 0x48, 0x45, 0xc5, 0xba, 0xa2, 0xae, 0xc0, 0x49,
0x4a, 0x3a, 0x24, 0xe6, 0xe1, 0xc0, 0x8b, 0x12, 0x3f, 0xd8, 0x0d, 0x88, 0x2f, 0xeb, 0xaa, 0xe2,
0xd6, 0x32, 0xc5, 0xa6, 0x96, 0x3b, 0x3f, 0x1a, 0x30, 0xff, 0x41, 0x9f, 0xd0, 0xc1, 0x56, 0xe2,
0x13, 0x75, 0xb2, 0xe7, 0x4f, 0x89, 0x9b, 0x32, 0x16, 0x0d, 0x8f, 0x4a, 0xd7, 0x97, 0x9e, 0x9d,
0xae, 0xcc, 0xad, 0x30, 0x9d, 0xa2, 0x02, 0x62, 0x75, 0x41, 0x3f, 0x0a, 0xc4, 0x43, 0x62, 0x5d,
0x75, 0xad, 0x57, 0x10, 0x7f, 0x62, 0x80, 0x39, 0x52, 0x98, 0x62, 0x26, 0xe9, 0x01, 0xa6, 0xe6,
0x9e, 0x21, 0x1b, 0xae, 0xa9, 0x65, 0xb2, 0xe5, 0x9e, 0x86, 0x99, 0x88, 0x75, 0x35, 0xe3, 0x96,
0xab, 0x16, 0xe8, 0x3c, 0x54, 0x22, 0xd6, 0x95, 0xf7, 0x18, 0xdd, 0xa5, 0xf3, 0xb5, 0xa0, 0x2d,
0x1f, 0x7b, 0xba, 0x59, 0x0d, 0x05, 0x6f, 0xbc, 0x0b, 0xd5, 0xfc, 0xaf, 0x3b, 0x54, 0x03, 0xab,
0x19, 0x07, 0x5c, 0x5e, 0x57, 0x82, 0xb8, 0x5b, 0xfb, 0x1f, 0x32, 0xa1, 0xfc, 0x3e, 0xc1, 0x21,
0xef, 0x0d, 0x6a, 0x06, 0xb2, 0xa0, 0x72, 0xab, 0x1d, 0x27, 0x34, 0xc2, 0x61, 0xad, 0xb0, 0x76,
0xfd, 0xa3, 0xb7, 0xbb, 0x01, 0xef, 0xf5, 0xdb, 0x02, 0xe1, 0x15, 0x15, 0xf7, 0x9b, 0x41, 0xa2,
0xbf, 0x56, 0xb2, 0xd8, 0x57, 0x24, 0x14, 0xf9, 0x32, 0x6d, 0xb7, 0x67, 0xa5, 0xe4, 0xda, 0x1f,
0x01, 0x00, 0x00, 0xff, 0xff, 0xb6, 0xcf, 0xed, 0x82, 0xd2, 0x14, 0x00, 0x00,
0x17, 0xff, 0xaf, 0xed, 0xc4, 0xf6, 0xf1, 0x26, 0x75, 0xb7, 0xb7, 0x4d, 0x2f, 0xff, 0xba, 0xcb,
0x2d, 0x50, 0x91, 0x54, 0x29, 0x50, 0xc4, 0x4b, 0xdb, 0xc4, 0x6d, 0xb0, 0xda, 0x44, 0x61, 0xdd,
0x56, 0x82, 0x97, 0xd5, 0xd8, 0x7b, 0x62, 0x6f, 0xbb, 0x37, 0x66, 0xc6, 0x4d, 0xdc, 0x27, 0x1e,
0x78, 0x43, 0xf0, 0x80, 0xc4, 0xd7, 0xe0, 0x23, 0x00, 0xe2, 0x09, 0x89, 0x77, 0x24, 0x24, 0x3e,
0x05, 0x8f, 0x3c, 0xa1, 0xb9, 0xec, 0xda, 0x4e, 0x9d, 0x90, 0x1a, 0x21, 0x84, 0xe0, 0x6d, 0xe7,
0x9c, 0xe3, 0x99, 0xf9, 0xfd, 0x7e, 0xe7, 0x9c, 0x99, 0x31, 0x2c, 0x06, 0x31, 0x47, 0x1a, 0x93,
0x70, 0x25, 0xa5, 0x09, 0x4f, 0xac, 0x33, 0x51, 0x10, 0x3e, 0x1d, 0x30, 0x35, 0x5a, 0xc9, 0x9c,
0xe7, 0xcd, 0x6e, 0x12, 0x45, 0x49, 0xac, 0xcc, 0xce, 0x37, 0x06, 0x2c, 0x6c, 0x24, 0x51, 0x9a,
0xc4, 0x18, 0xf3, 0x56, 0xbc, 0x9b, 0x58, 0x67, 0x61, 0x3e, 0x4e, 0x7c, 0x6c, 0x35, 0x6d, 0xa3,
0x61, 0x2c, 0x17, 0x5d, 0x3d, 0xb2, 0x2c, 0x28, 0xd1, 0x24, 0x44, 0xbb, 0xd0, 0x30, 0x96, 0xab,
0xae, 0xfc, 0xb6, 0x6e, 0x02, 0x30, 0x4e, 0x38, 0x7a, 0xdd, 0xc4, 0x47, 0xbb, 0xd8, 0x30, 0x96,
0x17, 0xd7, 0x1a, 0x2b, 0x53, 0xd7, 0x5d, 0x69, 0x8b, 0xc0, 0x8d, 0xc4, 0x47, 0xb7, 0xca, 0xb2,
0x4f, 0xeb, 0x16, 0x00, 0xee, 0x73, 0x4a, 0xbc, 0x20, 0xde, 0x4d, 0xec, 0x52, 0xa3, 0xb8, 0x5c,
0x5b, 0xbb, 0x32, 0x39, 0x81, 0xde, 0xee, 0x3d, 0x1c, 0x3e, 0x22, 0xe1, 0x00, 0x77, 0x48, 0x40,
0xdd, 0xaa, 0xfc, 0x91, 0xd8, 0xae, 0xf3, 0xb3, 0x01, 0x27, 0x72, 0x00, 0x72, 0x0d, 0x66, 0xbd,
0x07, 0x73, 0x72, 0x09, 0x89, 0xa0, 0xb6, 0xf6, 0xf2, 0x21, 0x3b, 0x9a, 0xc0, 0xed, 0xaa, 0x9f,
0x58, 0x0f, 0xe1, 0x14, 0x1b, 0x74, 0xba, 0x99, 0xcb, 0x93, 0x56, 0x66, 0x17, 0xe4, 0xd6, 0x8e,
0x37, 0x93, 0x35, 0x3e, 0x81, 0xde, 0xd2, 0x75, 0x98, 0x17, 0x33, 0x0d, 0x98, 0x64, 0xa9, 0xb6,
0x76, 0x61, 0x2a, 0xc8, 0xb6, 0x0c, 0x71, 0x75, 0xa8, 0x73, 0x01, 0x96, 0x36, 0x91, 0x1f, 0x40,
0xe7, 0xe2, 0xc7, 0x03, 0x64, 0x5c, 0x3b, 0x1f, 0x04, 0x11, 0x3e, 0x08, 0xba, 0x4f, 0x36, 0xfa,
0x24, 0x8e, 0x31, 0xcc, 0x9c, 0x97, 0xe0, 0xc2, 0x26, 0xca, 0x1f, 0x04, 0x8c, 0x07, 0x5d, 0x76,
0xc0, 0x7d, 0x06, 0x4e, 0x6d, 0x22, 0x6f, 0xfa, 0x07, 0xcc, 0x8f, 0xa0, 0xb2, 0x2d, 0xc4, 0x16,
0x69, 0xf0, 0x0e, 0x94, 0x89, 0xef, 0x53, 0x64, 0x4c, 0xb3, 0x78, 0x71, 0xea, 0x8e, 0x6f, 0xab,
0x18, 0x37, 0x0b, 0x9e, 0x96, 0x26, 0xce, 0x63, 0x80, 0x56, 0x1c, 0xf0, 0x1d, 0x42, 0x49, 0xc4,
0x0e, 0x4d, 0xb0, 0x26, 0x98, 0x8c, 0x13, 0xca, 0xbd, 0x54, 0xc6, 0x69, 0xca, 0x8f, 0x91, 0x0d,
0x35, 0xf9, 0x33, 0x35, 0xbb, 0xf3, 0x21, 0x40, 0x9b, 0xd3, 0x20, 0xee, 0xdd, 0x0f, 0x18, 0x17,
0x6b, 0x3d, 0x15, 0x71, 0x02, 0x44, 0x71, 0xb9, 0xea, 0xea, 0xd1, 0x98, 0x1c, 0x85, 0xe3, 0xcb,
0x71, 0x13, 0x6a, 0x19, 0xdd, 0x5b, 0xac, 0x67, 0x5d, 0x83, 0x52, 0x87, 0x30, 0x3c, 0x92, 0x9e,
0x2d, 0xd6, 0x5b, 0x27, 0x0c, 0x5d, 0x19, 0xe9, 0xfc, 0x62, 0xc0, 0xb9, 0x0d, 0x8a, 0x32, 0xf9,
0xc3, 0x10, 0xbb, 0x3c, 0x48, 0x62, 0xcd, 0xfd, 0x8b, 0xcf, 0x66, 0x9d, 0x83, 0xb2, 0xdf, 0xf1,
0x62, 0x12, 0x65, 0x64, 0xcf, 0xfb, 0x9d, 0x6d, 0x12, 0xa1, 0xf5, 0x2a, 0x2c, 0x76, 0xf3, 0xf9,
0x85, 0x45, 0xe6, 0x5c, 0xd5, 0x3d, 0x60, 0x15, 0x52, 0xf9, 0x9d, 0x56, 0xd3, 0x2e, 0x49, 0x19,
0xe4, 0xb7, 0xe5, 0x80, 0x39, 0x8a, 0x6a, 0x35, 0xed, 0x39, 0xe9, 0x9b, 0xb0, 0x09, 0x52, 0x59,
0xb7, 0x8f, 0x11, 0xb1, 0xe7, 0x1b, 0xc6, 0xb2, 0xe9, 0xea, 0x91, 0xf3, 0xbd, 0x01, 0x67, 0x9a,
0x34, 0x49, 0xff, 0xc9, 0xe0, 0x9c, 0xcf, 0x0b, 0x70, 0x56, 0x69, 0xb4, 0x43, 0x28, 0x0f, 0xfe,
0x22, 0x14, 0xaf, 0xc1, 0x89, 0xd1, 0xaa, 0x2a, 0x60, 0x3a, 0x8c, 0x57, 0x60, 0x31, 0xcd, 0xf6,
0xa1, 0xe2, 0x4a, 0x32, 0x6e, 0x21, 0xb7, 0x4e, 0xa0, 0x9d, 0x3b, 0x02, 0xed, 0xfc, 0x14, 0x29,
0x1b, 0x50, 0xcb, 0x27, 0x6a, 0x35, 0xed, 0xb2, 0x0c, 0x19, 0x37, 0x39, 0x9f, 0x15, 0xe0, 0xb4,
0x10, 0xf5, 0x3f, 0x36, 0x04, 0x1b, 0xdf, 0x16, 0xc0, 0x52, 0xd9, 0xd1, 0x8a, 0x7d, 0xdc, 0xff,
0x3b, 0xb9, 0xb8, 0x04, 0xb0, 0x1b, 0x60, 0xe8, 0x8f, 0xf3, 0x50, 0x95, 0x96, 0x3f, 0xc5, 0x81,
0x0d, 0x65, 0x39, 0x49, 0x8e, 0x3f, 0x1b, 0x8a, 0xfe, 0xac, 0xce, 0x6a, 0xdd, 0x9f, 0x2b, 0xc7,
0xee, 0xcf, 0xf2, 0x67, 0xba, 0x3f, 0x7f, 0x5d, 0x84, 0x85, 0x56, 0xcc, 0x90, 0xf2, 0x7f, 0x73,
0x22, 0x59, 0x17, 0xa1, 0xca, 0xb0, 0x17, 0x89, 0x2b, 0x43, 0xd3, 0xae, 0x48, 0xff, 0xc8, 0x20,
0xbc, 0x5d, 0x75, 0x34, 0xb7, 0x9a, 0x76, 0x55, 0x49, 0x9b, 0x1b, 0xac, 0xff, 0x03, 0xf0, 0x20,
0x42, 0xc6, 0x49, 0x94, 0x32, 0x1b, 0x1a, 0xc5, 0xe5, 0x92, 0x3b, 0x66, 0x11, 0xfd, 0x99, 0x26,
0x7b, 0xad, 0x26, 0xb3, 0x6b, 0x8d, 0xa2, 0x38, 0x60, 0xd5, 0xc8, 0x7a, 0x0b, 0x2a, 0x34, 0xd9,
0xf3, 0x7c, 0xc2, 0x89, 0x6d, 0x4a, 0xf1, 0x96, 0xa6, 0x92, 0xbd, 0x1e, 0x26, 0x1d, 0xb7, 0x4c,
0x93, 0xbd, 0x26, 0xe1, 0xc4, 0xf9, 0xb5, 0x00, 0x0b, 0x6d, 0x24, 0xb4, 0xdb, 0x9f, 0x5d, 0xb0,
0xd7, 0xa1, 0x4e, 0x91, 0x0d, 0x42, 0xee, 0x8d, 0x60, 0x29, 0xe5, 0x4e, 0x28, 0xfb, 0x46, 0x0e,
0x2e, 0xa3, 0xbc, 0x78, 0x04, 0xe5, 0xa5, 0x29, 0x94, 0x3b, 0x60, 0x8e, 0xf1, 0xcb, 0xec, 0x39,
0x09, 0x7d, 0xc2, 0x66, 0xd5, 0xa1, 0xe8, 0xb3, 0x50, 0x2a, 0x56, 0x75, 0xc5, 0xa7, 0x75, 0x15,
0x4e, 0xa6, 0x21, 0xe9, 0x62, 0x3f, 0x09, 0x7d, 0xa4, 0x5e, 0x8f, 0x26, 0x83, 0x54, 0xca, 0x65,
0xba, 0xf5, 0x31, 0xc7, 0xa6, 0xb0, 0x5b, 0x37, 0xa0, 0xe2, 0xb3, 0xd0, 0xe3, 0xc3, 0x14, 0xa5,
0x64, 0x8b, 0x87, 0x60, 0x6f, 0xb2, 0xf0, 0xc1, 0x30, 0x45, 0xb7, 0xec, 0xab, 0x0f, 0xeb, 0x1a,
0x9c, 0x66, 0x48, 0x03, 0x12, 0x06, 0xcf, 0xd0, 0xf7, 0x70, 0x3f, 0xa5, 0x5e, 0x1a, 0x92, 0x58,
0x2a, 0x6b, 0xba, 0xd6, 0xc8, 0x77, 0x67, 0x3f, 0xa5, 0x3b, 0x21, 0x89, 0x9d, 0x9f, 0x8c, 0x11,
0xe9, 0x82, 0x1f, 0x36, 0x03, 0xe9, 0xb3, 0xdc, 0x71, 0xa6, 0x2a, 0x55, 0x9c, 0xae, 0xd4, 0x65,
0xa8, 0x45, 0xc8, 0x69, 0xd0, 0x55, 0x8c, 0xa8, 0x02, 0x02, 0x65, 0x92, 0xb0, 0x2d, 0x28, 0xf5,
0x03, 0xae, 0xa4, 0x30, 0x5d, 0xf9, 0xed, 0xfc, 0x68, 0xc0, 0x42, 0x13, 0x43, 0xe4, 0x38, 0x7b,
0x36, 0x4d, 0xa9, 0xf2, 0xc2, 0xd4, 0x2a, 0x9f, 0x28, 0xa3, 0xe2, 0xd1, 0x65, 0x54, 0x7a, 0xae,
0x8c, 0xae, 0x80, 0x99, 0xd2, 0x20, 0x22, 0x74, 0xe8, 0x3d, 0xc1, 0x61, 0x96, 0x51, 0x35, 0x6d,
0xbb, 0x87, 0x43, 0xe6, 0xfc, 0x66, 0x40, 0xf5, 0x7e, 0x42, 0x7c, 0x79, 0x18, 0xcc, 0x80, 0x64,
0xa2, 0x0b, 0x14, 0xa6, 0x74, 0x81, 0xbc, 0x9f, 0x67, 0xdb, 0x1f, 0x35, 0xf8, 0xb1, 0x46, 0x5d,
0x9a, 0x6c, 0xd4, 0x97, 0xa1, 0x16, 0x88, 0x0d, 0x79, 0x29, 0xe1, 0x7d, 0xb5, 0xef, 0xaa, 0x0b,
0xd2, 0xb4, 0x23, 0x2c, 0xa2, 0x93, 0x67, 0x01, 0xb2, 0x93, 0xcf, 0x1f, 0xbb, 0x93, 0xeb, 0x49,
0x64, 0x27, 0xff, 0xae, 0x00, 0x76, 0x5b, 0x6d, 0x76, 0xf4, 0xd0, 0x78, 0x98, 0xfa, 0xf2, 0xbd,
0x73, 0x11, 0xaa, 0xed, 0x1c, 0x99, 0xba, 0xe7, 0x8f, 0x0c, 0x82, 0xfa, 0x2d, 0x8c, 0x12, 0x3a,
0x6c, 0x07, 0xcf, 0x50, 0x03, 0x1f, 0xb3, 0x08, 0x6c, 0xdb, 0x83, 0xc8, 0x4d, 0xf6, 0x98, 0xee,
0x03, 0xd9, 0x50, 0x60, 0xeb, 0xca, 0xf3, 0xd7, 0x13, 0x4a, 0x49, 0xe4, 0x25, 0x17, 0x94, 0x49,
0x5c, 0xce, 0xad, 0x25, 0xa8, 0x60, 0xec, 0x2b, 0xef, 0x9c, 0xf4, 0x96, 0x31, 0xf6, 0xa5, 0xab,
0x05, 0x8b, 0xfa, 0x81, 0x91, 0x30, 0xd9, 0x13, 0x64, 0x27, 0xa8, 0xad, 0x39, 0x87, 0xbc, 0xea,
0xb6, 0x58, 0x6f, 0x47, 0x47, 0xba, 0x0b, 0xea, 0x8d, 0xa1, 0x87, 0xd6, 0x1d, 0x30, 0xc5, 0x2a,
0xf9, 0x44, 0xe5, 0x63, 0x4f, 0x54, 0xc3, 0xd8, 0xcf, 0x06, 0xce, 0x97, 0x06, 0x9c, 0x7c, 0x8e,
0xc2, 0x19, 0xf2, 0xe8, 0x1e, 0x54, 0xda, 0xd8, 0x13, 0x53, 0x64, 0xcf, 0xa6, 0xd5, 0xc3, 0x5e,
0xe1, 0x87, 0x08, 0xe6, 0xe6, 0x13, 0x38, 0x8f, 0x73, 0x59, 0xef, 0x86, 0x03, 0xd6, 0x17, 0xcf,
0x4f, 0x51, 0xaf, 0xfe, 0x4c, 0x6f, 0x9e, 0xa3, 0x53, 0xdc, 0xf9, 0xd4, 0x10, 0x4f, 0x43, 0x1f,
0xf7, 0xe5, 0xd2, 0xcf, 0x25, 0xa6, 0x31, 0x4b, 0x62, 0x8a, 0x76, 0x1b, 0x0f, 0x22, 0x8f, 0x62,
0x48, 0x38, 0xfa, 0x9e, 0x5e, 0x8d, 0xe9, 0xd5, 0xad, 0x78, 0x10, 0xb9, 0xca, 0xa5, 0x61, 0x32,
0xe7, 0x0b, 0x03, 0xe0, 0xae, 0xa8, 0x1e, 0xb5, 0x8d, 0x83, 0xe7, 0x8d, 0x71, 0xf4, 0x3d, 0xa9,
0x30, 0x59, 0x7e, 0xeb, 0x59, 0xf9, 0x31, 0xa9, 0x47, 0x71, 0x1a, 0x86, 0x5c, 0x8f, 0x11, 0x78,
0x5d, 0xa1, 0x4a, 0x83, 0xaf, 0x0c, 0x30, 0xc7, 0xa4, 0x62, 0x93, 0x34, 0x1a, 0x07, 0x3b, 0x85,
0x6c, 0xc5, 0xa2, 0x7a, 0x3c, 0x36, 0x56, 0x50, 0xd1, 0xa8, 0xa0, 0x96, 0xa0, 0x22, 0x29, 0x19,
0xab, 0xa8, 0x58, 0x57, 0xd4, 0x55, 0x38, 0x49, 0xb1, 0x8b, 0x31, 0x0f, 0x87, 0x5e, 0x94, 0xf8,
0xc1, 0x6e, 0x80, 0xbe, 0xac, 0xab, 0x8a, 0x5b, 0xcf, 0x1c, 0x5b, 0xda, 0xee, 0xfc, 0x60, 0xc0,
0xe2, 0x07, 0x03, 0xa4, 0xc3, 0xed, 0xc4, 0x47, 0xb5, 0xb3, 0x17, 0x4f, 0x89, 0x5b, 0x12, 0x8b,
0xa6, 0x47, 0xa5, 0xeb, 0x4b, 0x7f, 0x9c, 0xae, 0xcc, 0xad, 0x30, 0x9d, 0xa2, 0x82, 0x62, 0x75,
0xf7, 0x3d, 0x0e, 0xc5, 0x23, 0x61, 0x5d, 0x75, 0x63, 0x56, 0x14, 0x7f, 0x62, 0x40, 0x6d, 0xac,
0x30, 0x45, 0xbb, 0xd7, 0x67, 0x83, 0x3a, 0x52, 0x0c, 0xd9, 0x70, 0x6b, 0xda, 0x26, 0x5b, 0xee,
0x69, 0x98, 0x8b, 0x58, 0x4f, 0x2b, 0x6e, 0xba, 0x6a, 0x60, 0x9d, 0x87, 0x4a, 0xc4, 0x7a, 0xf2,
0x8a, 0xa0, 0xbb, 0x74, 0x3e, 0x16, 0xb2, 0xe5, 0x27, 0x8a, 0x6e, 0x56, 0x23, 0xc3, 0x1b, 0xef,
0x42, 0x35, 0xff, 0x57, 0xcc, 0xaa, 0x83, 0xd9, 0x8a, 0x03, 0x2e, 0x6f, 0x02, 0x41, 0xdc, 0xab,
0xff, 0xcf, 0xaa, 0x41, 0xf9, 0x7d, 0x24, 0x21, 0xef, 0x0f, 0xeb, 0x86, 0x65, 0x42, 0xe5, 0x76,
0x27, 0x4e, 0x68, 0x44, 0xc2, 0x7a, 0x61, 0xfd, 0xc6, 0x47, 0x6f, 0xf7, 0x02, 0xde, 0x1f, 0x74,
0x04, 0xc3, 0xab, 0x0a, 0xf7, 0x9b, 0x41, 0xa2, 0xbf, 0x56, 0x33, 0xec, 0xab, 0x92, 0x8a, 0x7c,
0x98, 0x76, 0x3a, 0xf3, 0xd2, 0x72, 0xfd, 0xf7, 0x00, 0x00, 0x00, 0xff, 0xff, 0xe6, 0xc6, 0xf9,
0xd2, 0x2d, 0x14, 0x00, 0x00,
}

View File

@ -19,8 +19,10 @@ import (
"testing"
"time"
"go.uber.org/zap"
"github.com/apache/pulsar-client-go/pulsar"
"github.com/prometheus/common/log"
"github.com/milvus-io/milvus/internal/log"
"github.com/stretchr/testify/assert"
)
@ -43,7 +45,7 @@ func Produce(ctx context.Context, t *testing.T, pc *pulsarClient, topic string,
assert.Nil(t, err)
assert.NotNil(t, producer)
log.Infof("Produce start")
log.Info("Produce start")
for _, v := range arr {
msg := &ProducerMessage{
@ -52,10 +54,10 @@ func Produce(ctx context.Context, t *testing.T, pc *pulsarClient, topic string,
}
err = producer.Send(ctx, msg)
assert.Nil(t, err)
log.Infof("SND %d", v)
log.Info("Pub", zap.Any("SND", v))
}
log.Infof("Produce done")
log.Info("Produce done")
}
// Consume1 will consume random messages and record the last MessageID it received
@ -71,7 +73,7 @@ func Consume1(ctx context.Context, t *testing.T, pc *pulsarClient, topic string,
assert.NotNil(t, consumer)
defer consumer.Close()
log.Infof("Consume1 start")
log.Info("Consume1 start")
// get random number between 1 ~ 5
rand.Seed(time.Now().UnixNano())
@ -81,18 +83,18 @@ func Consume1(ctx context.Context, t *testing.T, pc *pulsarClient, topic string,
for i := 0; i < cnt; i++ {
select {
case <-ctx.Done():
log.Infof("Consume1 channel closed")
log.Info("Consume1 channel closed")
return
case msg = <-consumer.Chan():
//consumer.Ack(msg)
v := BytesToInt(msg.Payload())
log.Infof("RECV v = %d", v)
log.Info("RECV", zap.Any("v", v))
}
}
c <- msg.ID()
log.Infof("Consume1 randomly RECV %d messages", cnt)
log.Infof("Consume1 done")
log.Info("Consume1 randomly RECV", zap.Any("number", cnt))
log.Info("Consume1 done")
}
// Consume2 will consume messages from specified MessageID
@ -114,17 +116,17 @@ func Consume2(ctx context.Context, t *testing.T, pc *pulsarClient, topic string,
// skip the last received message
<-consumer.Chan()
log.Infof("Consume2 start")
log.Info("Consume2 start")
for {
select {
case <-ctx.Done():
log.Infof("Consume2 channel closed")
log.Info("Consume2 channel closed")
return
case msg := <-consumer.Chan():
//consumer.Ack(msg)
v := BytesToInt(msg.Payload())
log.Infof("RECV v = %d", v)
log.Info("RECV", zap.Any("v", v))
}
}
}
@ -153,7 +155,7 @@ func TestPulsarClient(t *testing.T) {
// record the last received message id
lastMsgID := <-c
log.Info(lastMsgID)
log.Info("msg", zap.Any("lastMsgID", lastMsgID))
// launch consume2
go Consume2(ctx, t, pc, topic, subName, lastMsgID)
@ -162,5 +164,5 @@ func TestPulsarClient(t *testing.T) {
// stop Consume2
cancel()
log.Infof("main done")
log.Info("main done")
}