From 80ae7958a17a492098f18f31fa21804f37b6cbaa Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期三, 08 五月 2024 14:52:55 +0800
Subject: [PATCH] 更新dataprocess.pb

---
 dataprocess.pb.go | 1099 +++++++++++++++++++++++++++++---------------------------
 1 files changed, 568 insertions(+), 531 deletions(-)

diff --git a/dataprocess.pb.go b/dataprocess.pb.go
index 0eae718..598b16f 100644
--- a/dataprocess.pb.go
+++ b/dataprocess.pb.go
@@ -1,662 +1,699 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
-// versions:
-// 	protoc-gen-go v1.28.1
-// 	protoc        v3.19.4
 // source: dataprocess.proto
 
 package protomsg
 
-import (
-	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
-	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
-	reflect "reflect"
-	sync "sync"
-)
+import proto "github.com/golang/protobuf/proto"
+import fmt "fmt"
+import math "math"
 
-const (
-	// Verify that this generated code is sufficiently up-to-date.
-	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
-	// Verify that runtime/protoimpl is sufficiently up-to-date.
-	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
-)
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
 
 type TaskBasicInfo struct {
-	state         protoimpl.MessageState
-	sizeCache     protoimpl.SizeCache
-	unknownFields protoimpl.UnknownFields
-
-	CamId       string `protobuf:"bytes,1,opt,name=CamId,proto3" json:"CamId,omitempty"`
-	CamName     string `protobuf:"bytes,2,opt,name=CamName,proto3" json:"CamName,omitempty"`
-	TaskID      string `protobuf:"bytes,3,opt,name=TaskID,proto3" json:"TaskID,omitempty"`
-	TaskName    string `protobuf:"bytes,4,opt,name=TaskName,proto3" json:"TaskName,omitempty"`
-	HandleTime  string `protobuf:"bytes,5,opt,name=HandleTime,proto3" json:"HandleTime,omitempty"`
-	ImageId     int64  `protobuf:"varint,6,opt,name=ImageId,proto3" json:"ImageId,omitempty"`
-	ImageTime   string `protobuf:"bytes,7,opt,name=ImageTime,proto3" json:"ImageTime,omitempty"`
-	IsEndRecord bool   `protobuf:"varint,8,opt,name=IsEndRecord,proto3" json:"IsEndRecord,omitempty"`
-	FileId      string `protobuf:"bytes,9,opt,name=FileId,proto3" json:"FileId,omitempty"` // 鏁版嵁鏍堜腑鐨勬枃浠秈d
+	CamId                string   `protobuf:"bytes,1,opt,name=CamId,proto3" json:"CamId,omitempty"`
+	CamName              string   `protobuf:"bytes,2,opt,name=CamName,proto3" json:"CamName,omitempty"`
+	TaskID               string   `protobuf:"bytes,3,opt,name=TaskID,proto3" json:"TaskID,omitempty"`
+	TaskName             string   `protobuf:"bytes,4,opt,name=TaskName,proto3" json:"TaskName,omitempty"`
+	HandleTime           string   `protobuf:"bytes,5,opt,name=HandleTime,proto3" json:"HandleTime,omitempty"`
+	ImageId              int64    `protobuf:"varint,6,opt,name=ImageId,proto3" json:"ImageId,omitempty"`
+	ImageTime            string   `protobuf:"bytes,7,opt,name=ImageTime,proto3" json:"ImageTime,omitempty"`
+	IsEndRecord          bool     `protobuf:"varint,8,opt,name=IsEndRecord,proto3" json:"IsEndRecord,omitempty"`
+	FileId               string   `protobuf:"bytes,9,opt,name=FileId,proto3" json:"FileId,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
 }
 
-func (x *TaskBasicInfo) Reset() {
-	*x = TaskBasicInfo{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_dataprocess_proto_msgTypes[0]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
-}
-
-func (x *TaskBasicInfo) String() string {
-	return protoimpl.X.MessageStringOf(x)
-}
-
-func (*TaskBasicInfo) ProtoMessage() {}
-
-func (x *TaskBasicInfo) ProtoReflect() protoreflect.Message {
-	mi := &file_dataprocess_proto_msgTypes[0]
-	if protoimpl.UnsafeEnabled && x != nil {
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		if ms.LoadMessageInfo() == nil {
-			ms.StoreMessageInfo(mi)
-		}
-		return ms
-	}
-	return mi.MessageOf(x)
-}
-
-// Deprecated: Use TaskBasicInfo.ProtoReflect.Descriptor instead.
+func (m *TaskBasicInfo) Reset()         { *m = TaskBasicInfo{} }
+func (m *TaskBasicInfo) String() string { return proto.CompactTextString(m) }
+func (*TaskBasicInfo) ProtoMessage()    {}
 func (*TaskBasicInfo) Descriptor() ([]byte, []int) {
-	return file_dataprocess_proto_rawDescGZIP(), []int{0}
+	return fileDescriptor_dataprocess_8cd5458c99d96cd7, []int{0}
+}
+func (m *TaskBasicInfo) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_TaskBasicInfo.Unmarshal(m, b)
+}
+func (m *TaskBasicInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_TaskBasicInfo.Marshal(b, m, deterministic)
+}
+func (dst *TaskBasicInfo) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_TaskBasicInfo.Merge(dst, src)
+}
+func (m *TaskBasicInfo) XXX_Size() int {
+	return xxx_messageInfo_TaskBasicInfo.Size(m)
+}
+func (m *TaskBasicInfo) XXX_DiscardUnknown() {
+	xxx_messageInfo_TaskBasicInfo.DiscardUnknown(m)
 }
 
-func (x *TaskBasicInfo) GetCamId() string {
-	if x != nil {
-		return x.CamId
+var xxx_messageInfo_TaskBasicInfo proto.InternalMessageInfo
+
+func (m *TaskBasicInfo) GetCamId() string {
+	if m != nil {
+		return m.CamId
 	}
 	return ""
 }
 
-func (x *TaskBasicInfo) GetCamName() string {
-	if x != nil {
-		return x.CamName
+func (m *TaskBasicInfo) GetCamName() string {
+	if m != nil {
+		return m.CamName
 	}
 	return ""
 }
 
-func (x *TaskBasicInfo) GetTaskID() string {
-	if x != nil {
-		return x.TaskID
+func (m *TaskBasicInfo) GetTaskID() string {
+	if m != nil {
+		return m.TaskID
 	}
 	return ""
 }
 
-func (x *TaskBasicInfo) GetTaskName() string {
-	if x != nil {
-		return x.TaskName
+func (m *TaskBasicInfo) GetTaskName() string {
+	if m != nil {
+		return m.TaskName
 	}
 	return ""
 }
 
-func (x *TaskBasicInfo) GetHandleTime() string {
-	if x != nil {
-		return x.HandleTime
+func (m *TaskBasicInfo) GetHandleTime() string {
+	if m != nil {
+		return m.HandleTime
 	}
 	return ""
 }
 
-func (x *TaskBasicInfo) GetImageId() int64 {
-	if x != nil {
-		return x.ImageId
+func (m *TaskBasicInfo) GetImageId() int64 {
+	if m != nil {
+		return m.ImageId
 	}
 	return 0
 }
 
-func (x *TaskBasicInfo) GetImageTime() string {
-	if x != nil {
-		return x.ImageTime
+func (m *TaskBasicInfo) GetImageTime() string {
+	if m != nil {
+		return m.ImageTime
 	}
 	return ""
 }
 
-func (x *TaskBasicInfo) GetIsEndRecord() bool {
-	if x != nil {
-		return x.IsEndRecord
+func (m *TaskBasicInfo) GetIsEndRecord() bool {
+	if m != nil {
+		return m.IsEndRecord
 	}
 	return false
 }
 
-func (x *TaskBasicInfo) GetFileId() string {
-	if x != nil {
-		return x.FileId
+func (m *TaskBasicInfo) GetFileId() string {
+	if m != nil {
+		return m.FileId
 	}
 	return ""
 }
 
-type SoTarget struct {
-	state         protoimpl.MessageState
-	sizeCache     protoimpl.SizeCache
-	unknownFields protoimpl.UnknownFields
-
-	SrcTarget       *Target                `protobuf:"bytes,1,opt,name=SrcTarget,proto3" json:"SrcTarget,omitempty"`
-	AreaId          string                 `protobuf:"bytes,2,opt,name=AreaId,proto3" json:"AreaId,omitempty"`
-	AreaName        string                 `protobuf:"bytes,3,opt,name=AreaName,proto3" json:"AreaName,omitempty"`
-	BelongsTargetID string                 `protobuf:"bytes,4,opt,name=BelongsTargetID,proto3" json:"BelongsTargetID,omitempty"`
-	CompDbInfo      []*RuleBaseCompareInfo `protobuf:"bytes,5,rep,name=CompDbInfo,proto3" json:"CompDbInfo,omitempty"`
-	ImageId         int64                  `protobuf:"varint,6,opt,name=ImageId,proto3" json:"ImageId,omitempty"`
+type RuleParams struct {
+	SdkArgAlias          string   `protobuf:"bytes,1,opt,name=SdkArgAlias,proto3" json:"SdkArgAlias,omitempty"`
+	Operator             string   `protobuf:"bytes,2,opt,name=Operator,proto3" json:"Operator,omitempty"`
+	OperatorType         string   `protobuf:"bytes,3,opt,name=OperatorType,proto3" json:"OperatorType,omitempty"`
+	SdkArgValue          string   `protobuf:"bytes,4,opt,name=SdkArgValue,proto3" json:"SdkArgValue,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
 }
 
-func (x *SoTarget) Reset() {
-	*x = SoTarget{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_dataprocess_proto_msgTypes[1]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+func (m *RuleParams) Reset()         { *m = RuleParams{} }
+func (m *RuleParams) String() string { return proto.CompactTextString(m) }
+func (*RuleParams) ProtoMessage()    {}
+func (*RuleParams) Descriptor() ([]byte, []int) {
+	return fileDescriptor_dataprocess_8cd5458c99d96cd7, []int{1}
+}
+func (m *RuleParams) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_RuleParams.Unmarshal(m, b)
+}
+func (m *RuleParams) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_RuleParams.Marshal(b, m, deterministic)
+}
+func (dst *RuleParams) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_RuleParams.Merge(dst, src)
+}
+func (m *RuleParams) XXX_Size() int {
+	return xxx_messageInfo_RuleParams.Size(m)
+}
+func (m *RuleParams) XXX_DiscardUnknown() {
+	xxx_messageInfo_RuleParams.DiscardUnknown(m)
 }
 
-func (x *SoTarget) String() string {
-	return protoimpl.X.MessageStringOf(x)
-}
+var xxx_messageInfo_RuleParams proto.InternalMessageInfo
 
-func (*SoTarget) ProtoMessage() {}
-
-func (x *SoTarget) ProtoReflect() protoreflect.Message {
-	mi := &file_dataprocess_proto_msgTypes[1]
-	if protoimpl.UnsafeEnabled && x != nil {
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		if ms.LoadMessageInfo() == nil {
-			ms.StoreMessageInfo(mi)
-		}
-		return ms
-	}
-	return mi.MessageOf(x)
-}
-
-// Deprecated: Use SoTarget.ProtoReflect.Descriptor instead.
-func (*SoTarget) Descriptor() ([]byte, []int) {
-	return file_dataprocess_proto_rawDescGZIP(), []int{1}
-}
-
-func (x *SoTarget) GetSrcTarget() *Target {
-	if x != nil {
-		return x.SrcTarget
-	}
-	return nil
-}
-
-func (x *SoTarget) GetAreaId() string {
-	if x != nil {
-		return x.AreaId
+func (m *RuleParams) GetSdkArgAlias() string {
+	if m != nil {
+		return m.SdkArgAlias
 	}
 	return ""
 }
 
-func (x *SoTarget) GetAreaName() string {
-	if x != nil {
-		return x.AreaName
+func (m *RuleParams) GetOperator() string {
+	if m != nil {
+		return m.Operator
 	}
 	return ""
 }
 
-func (x *SoTarget) GetBelongsTargetID() string {
-	if x != nil {
-		return x.BelongsTargetID
+func (m *RuleParams) GetOperatorType() string {
+	if m != nil {
+		return m.OperatorType
 	}
 	return ""
 }
 
-func (x *SoTarget) GetCompDbInfo() []*RuleBaseCompareInfo {
-	if x != nil {
-		return x.CompDbInfo
+func (m *RuleParams) GetSdkArgValue() string {
+	if m != nil {
+		return m.SdkArgValue
 	}
-	return nil
+	return ""
 }
 
-func (x *SoTarget) GetImageId() int64 {
-	if x != nil {
-		return x.ImageId
+type SoRule struct {
+	Id                   string        `protobuf:"bytes,1,opt,name=Id,proto3" json:"Id,omitempty"`
+	CameraId             string        `protobuf:"bytes,2,opt,name=CameraId,proto3" json:"CameraId,omitempty"`
+	PolygonId            string        `protobuf:"bytes,3,opt,name=PolygonId,proto3" json:"PolygonId,omitempty"`
+	SdkId                string        `protobuf:"bytes,4,opt,name=SdkId,proto3" json:"SdkId,omitempty"`
+	Sort                 int32         `protobuf:"varint,5,opt,name=Sort,proto3" json:"Sort,omitempty"`
+	RuleWithPre          string        `protobuf:"bytes,6,opt,name=RuleWithPre,proto3" json:"RuleWithPre,omitempty"`
+	IsSaveAnyhow         bool          `protobuf:"varint,7,opt,name=IsSaveAnyhow,proto3" json:"IsSaveAnyhow,omitempty"`
+	GroupId              string        `protobuf:"bytes,8,opt,name=GroupId,proto3" json:"GroupId,omitempty"`
+	Params               []*RuleParams `protobuf:"bytes,9,rep,name=Params,proto3" json:"Params,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
+	XXX_unrecognized     []byte        `json:"-"`
+	XXX_sizecache        int32         `json:"-"`
+}
+
+func (m *SoRule) Reset()         { *m = SoRule{} }
+func (m *SoRule) String() string { return proto.CompactTextString(m) }
+func (*SoRule) ProtoMessage()    {}
+func (*SoRule) Descriptor() ([]byte, []int) {
+	return fileDescriptor_dataprocess_8cd5458c99d96cd7, []int{2}
+}
+func (m *SoRule) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_SoRule.Unmarshal(m, b)
+}
+func (m *SoRule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_SoRule.Marshal(b, m, deterministic)
+}
+func (dst *SoRule) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_SoRule.Merge(dst, src)
+}
+func (m *SoRule) XXX_Size() int {
+	return xxx_messageInfo_SoRule.Size(m)
+}
+func (m *SoRule) XXX_DiscardUnknown() {
+	xxx_messageInfo_SoRule.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_SoRule proto.InternalMessageInfo
+
+func (m *SoRule) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
+func (m *SoRule) GetCameraId() string {
+	if m != nil {
+		return m.CameraId
+	}
+	return ""
+}
+
+func (m *SoRule) GetPolygonId() string {
+	if m != nil {
+		return m.PolygonId
+	}
+	return ""
+}
+
+func (m *SoRule) GetSdkId() string {
+	if m != nil {
+		return m.SdkId
+	}
+	return ""
+}
+
+func (m *SoRule) GetSort() int32 {
+	if m != nil {
+		return m.Sort
 	}
 	return 0
 }
 
+func (m *SoRule) GetRuleWithPre() string {
+	if m != nil {
+		return m.RuleWithPre
+	}
+	return ""
+}
+
+func (m *SoRule) GetIsSaveAnyhow() bool {
+	if m != nil {
+		return m.IsSaveAnyhow
+	}
+	return false
+}
+
+func (m *SoRule) GetGroupId() string {
+	if m != nil {
+		return m.GroupId
+	}
+	return ""
+}
+
+func (m *SoRule) GetParams() []*RuleParams {
+	if m != nil {
+		return m.Params
+	}
+	return nil
+}
+
+type SoTarget struct {
+	SrcTarget            *Target                `protobuf:"bytes,1,opt,name=SrcTarget,proto3" json:"SrcTarget,omitempty"`
+	AreaId               string                 `protobuf:"bytes,2,opt,name=AreaId,proto3" json:"AreaId,omitempty"`
+	AreaName             string                 `protobuf:"bytes,3,opt,name=AreaName,proto3" json:"AreaName,omitempty"`
+	BelongsTargetID      string                 `protobuf:"bytes,4,opt,name=BelongsTargetID,proto3" json:"BelongsTargetID,omitempty"`
+	CompDbInfo           []*RuleBaseCompareInfo `protobuf:"bytes,5,rep,name=CompDbInfo,proto3" json:"CompDbInfo,omitempty"`
+	ImageId              int64                  `protobuf:"varint,6,opt,name=ImageId,proto3" json:"ImageId,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
+	XXX_unrecognized     []byte                 `json:"-"`
+	XXX_sizecache        int32                  `json:"-"`
+}
+
+func (m *SoTarget) Reset()         { *m = SoTarget{} }
+func (m *SoTarget) String() string { return proto.CompactTextString(m) }
+func (*SoTarget) ProtoMessage()    {}
+func (*SoTarget) Descriptor() ([]byte, []int) {
+	return fileDescriptor_dataprocess_8cd5458c99d96cd7, []int{3}
+}
+func (m *SoTarget) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_SoTarget.Unmarshal(m, b)
+}
+func (m *SoTarget) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_SoTarget.Marshal(b, m, deterministic)
+}
+func (dst *SoTarget) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_SoTarget.Merge(dst, src)
+}
+func (m *SoTarget) XXX_Size() int {
+	return xxx_messageInfo_SoTarget.Size(m)
+}
+func (m *SoTarget) XXX_DiscardUnknown() {
+	xxx_messageInfo_SoTarget.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_SoTarget proto.InternalMessageInfo
+
+func (m *SoTarget) GetSrcTarget() *Target {
+	if m != nil {
+		return m.SrcTarget
+	}
+	return nil
+}
+
+func (m *SoTarget) GetAreaId() string {
+	if m != nil {
+		return m.AreaId
+	}
+	return ""
+}
+
+func (m *SoTarget) GetAreaName() string {
+	if m != nil {
+		return m.AreaName
+	}
+	return ""
+}
+
+func (m *SoTarget) GetBelongsTargetID() string {
+	if m != nil {
+		return m.BelongsTargetID
+	}
+	return ""
+}
+
+func (m *SoTarget) GetCompDbInfo() []*RuleBaseCompareInfo {
+	if m != nil {
+		return m.CompDbInfo
+	}
+	return nil
+}
+
+func (m *SoTarget) GetImageId() int64 {
+	if m != nil {
+		return m.ImageId
+	}
+	return 0
+}
+
+type SoResult struct {
+	IsEvent              bool        `protobuf:"varint,1,opt,name=IsEvent,proto3" json:"IsEvent,omitempty"`
+	IsEndRecord          bool        `protobuf:"varint,2,opt,name=IsEndRecord,proto3" json:"IsEndRecord,omitempty"`
+	Targets              []*SoTarget `protobuf:"bytes,3,rep,name=Targets,proto3" json:"Targets,omitempty"`
+	FirstImage           *Image      `protobuf:"bytes,4,opt,name=FirstImage,proto3" json:"FirstImage,omitempty"`
+	CacheImage           *Image      `protobuf:"bytes,5,opt,name=CacheImage,proto3" json:"CacheImage,omitempty"`
+	SoRule               *SoRule     `protobuf:"bytes,6,opt,name=soRule,proto3" json:"soRule,omitempty"`
+	GroupRule            *GroupRule  `protobuf:"bytes,7,opt,name=groupRule,proto3" json:"groupRule,omitempty"`
+	SoType               string      `protobuf:"bytes,8,opt,name=SoType,proto3" json:"SoType,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
+	XXX_unrecognized     []byte      `json:"-"`
+	XXX_sizecache        int32       `json:"-"`
+}
+
+func (m *SoResult) Reset()         { *m = SoResult{} }
+func (m *SoResult) String() string { return proto.CompactTextString(m) }
+func (*SoResult) ProtoMessage()    {}
+func (*SoResult) Descriptor() ([]byte, []int) {
+	return fileDescriptor_dataprocess_8cd5458c99d96cd7, []int{4}
+}
+func (m *SoResult) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_SoResult.Unmarshal(m, b)
+}
+func (m *SoResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_SoResult.Marshal(b, m, deterministic)
+}
+func (dst *SoResult) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_SoResult.Merge(dst, src)
+}
+func (m *SoResult) XXX_Size() int {
+	return xxx_messageInfo_SoResult.Size(m)
+}
+func (m *SoResult) XXX_DiscardUnknown() {
+	xxx_messageInfo_SoResult.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_SoResult proto.InternalMessageInfo
+
+func (m *SoResult) GetIsEvent() bool {
+	if m != nil {
+		return m.IsEvent
+	}
+	return false
+}
+
+func (m *SoResult) GetIsEndRecord() bool {
+	if m != nil {
+		return m.IsEndRecord
+	}
+	return false
+}
+
+func (m *SoResult) GetTargets() []*SoTarget {
+	if m != nil {
+		return m.Targets
+	}
+	return nil
+}
+
+func (m *SoResult) GetFirstImage() *Image {
+	if m != nil {
+		return m.FirstImage
+	}
+	return nil
+}
+
+func (m *SoResult) GetCacheImage() *Image {
+	if m != nil {
+		return m.CacheImage
+	}
+	return nil
+}
+
+func (m *SoResult) GetSoRule() *SoRule {
+	if m != nil {
+		return m.SoRule
+	}
+	return nil
+}
+
+func (m *SoResult) GetGroupRule() *GroupRule {
+	if m != nil {
+		return m.GroupRule
+	}
+	return nil
+}
+
+func (m *SoResult) GetSoType() string {
+	if m != nil {
+		return m.SoType
+	}
+	return ""
+}
+
 type EventCache struct {
-	state         protoimpl.MessageState
-	sizeCache     protoimpl.SizeCache
-	unknownFields protoimpl.UnknownFields
-
-	Targets    map[uint64]*SoTarget  `protobuf:"bytes,1,rep,name=Targets,proto3" json:"Targets,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
-	RuleGroups map[string]*GroupRule `protobuf:"bytes,2,rep,name=RuleGroups,proto3" json:"RuleGroups,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
-	Images     map[int64]*Image      `protobuf:"bytes,3,rep,name=Images,proto3" json:"Images,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+	Targets              map[uint64]*SoTarget  `protobuf:"bytes,1,rep,name=Targets,proto3" json:"Targets,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+	RuleGroups           map[string]*GroupRule `protobuf:"bytes,2,rep,name=RuleGroups,proto3" json:"RuleGroups,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+	Images               map[int64]*Image      `protobuf:"bytes,3,rep,name=Images,proto3" json:"Images,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
+	XXX_unrecognized     []byte                `json:"-"`
+	XXX_sizecache        int32                 `json:"-"`
 }
 
-func (x *EventCache) Reset() {
-	*x = EventCache{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_dataprocess_proto_msgTypes[2]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
-}
-
-func (x *EventCache) String() string {
-	return protoimpl.X.MessageStringOf(x)
-}
-
-func (*EventCache) ProtoMessage() {}
-
-func (x *EventCache) ProtoReflect() protoreflect.Message {
-	mi := &file_dataprocess_proto_msgTypes[2]
-	if protoimpl.UnsafeEnabled && x != nil {
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		if ms.LoadMessageInfo() == nil {
-			ms.StoreMessageInfo(mi)
-		}
-		return ms
-	}
-	return mi.MessageOf(x)
-}
-
-// Deprecated: Use EventCache.ProtoReflect.Descriptor instead.
+func (m *EventCache) Reset()         { *m = EventCache{} }
+func (m *EventCache) String() string { return proto.CompactTextString(m) }
+func (*EventCache) ProtoMessage()    {}
 func (*EventCache) Descriptor() ([]byte, []int) {
-	return file_dataprocess_proto_rawDescGZIP(), []int{2}
+	return fileDescriptor_dataprocess_8cd5458c99d96cd7, []int{5}
+}
+func (m *EventCache) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_EventCache.Unmarshal(m, b)
+}
+func (m *EventCache) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_EventCache.Marshal(b, m, deterministic)
+}
+func (dst *EventCache) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_EventCache.Merge(dst, src)
+}
+func (m *EventCache) XXX_Size() int {
+	return xxx_messageInfo_EventCache.Size(m)
+}
+func (m *EventCache) XXX_DiscardUnknown() {
+	xxx_messageInfo_EventCache.DiscardUnknown(m)
 }
 
-func (x *EventCache) GetTargets() map[uint64]*SoTarget {
-	if x != nil {
-		return x.Targets
+var xxx_messageInfo_EventCache proto.InternalMessageInfo
+
+func (m *EventCache) GetTargets() map[uint64]*SoTarget {
+	if m != nil {
+		return m.Targets
 	}
 	return nil
 }
 
-func (x *EventCache) GetRuleGroups() map[string]*GroupRule {
-	if x != nil {
-		return x.RuleGroups
+func (m *EventCache) GetRuleGroups() map[string]*GroupRule {
+	if m != nil {
+		return m.RuleGroups
 	}
 	return nil
 }
 
-func (x *EventCache) GetImages() map[int64]*Image {
-	if x != nil {
-		return x.Images
+func (m *EventCache) GetImages() map[int64]*Image {
+	if m != nil {
+		return m.Images
 	}
 	return nil
 }
 
 type TargetCache struct {
-	state         protoimpl.MessageState
-	sizeCache     protoimpl.SizeCache
-	unknownFields protoimpl.UnknownFields
-
-	Target     []*SoTarget           `protobuf:"bytes,1,rep,name=Target,proto3" json:"Target,omitempty"`
-	RuleGroups map[string]*GroupRule `protobuf:"bytes,2,rep,name=RuleGroups,proto3" json:"RuleGroups,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
-	Image      *Image                `protobuf:"bytes,3,opt,name=Image,proto3" json:"Image,omitempty"`
+	Target               []*SoTarget           `protobuf:"bytes,1,rep,name=Target,proto3" json:"Target,omitempty"`
+	RuleGroups           map[string]*GroupRule `protobuf:"bytes,2,rep,name=RuleGroups,proto3" json:"RuleGroups,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+	Image                *Image                `protobuf:"bytes,3,opt,name=Image,proto3" json:"Image,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
+	XXX_unrecognized     []byte                `json:"-"`
+	XXX_sizecache        int32                 `json:"-"`
 }
 
-func (x *TargetCache) Reset() {
-	*x = TargetCache{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_dataprocess_proto_msgTypes[3]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
-}
-
-func (x *TargetCache) String() string {
-	return protoimpl.X.MessageStringOf(x)
-}
-
-func (*TargetCache) ProtoMessage() {}
-
-func (x *TargetCache) ProtoReflect() protoreflect.Message {
-	mi := &file_dataprocess_proto_msgTypes[3]
-	if protoimpl.UnsafeEnabled && x != nil {
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		if ms.LoadMessageInfo() == nil {
-			ms.StoreMessageInfo(mi)
-		}
-		return ms
-	}
-	return mi.MessageOf(x)
-}
-
-// Deprecated: Use TargetCache.ProtoReflect.Descriptor instead.
+func (m *TargetCache) Reset()         { *m = TargetCache{} }
+func (m *TargetCache) String() string { return proto.CompactTextString(m) }
+func (*TargetCache) ProtoMessage()    {}
 func (*TargetCache) Descriptor() ([]byte, []int) {
-	return file_dataprocess_proto_rawDescGZIP(), []int{3}
+	return fileDescriptor_dataprocess_8cd5458c99d96cd7, []int{6}
+}
+func (m *TargetCache) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_TargetCache.Unmarshal(m, b)
+}
+func (m *TargetCache) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_TargetCache.Marshal(b, m, deterministic)
+}
+func (dst *TargetCache) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_TargetCache.Merge(dst, src)
+}
+func (m *TargetCache) XXX_Size() int {
+	return xxx_messageInfo_TargetCache.Size(m)
+}
+func (m *TargetCache) XXX_DiscardUnknown() {
+	xxx_messageInfo_TargetCache.DiscardUnknown(m)
 }
 
-func (x *TargetCache) GetTarget() []*SoTarget {
-	if x != nil {
-		return x.Target
+var xxx_messageInfo_TargetCache proto.InternalMessageInfo
+
+func (m *TargetCache) GetTarget() []*SoTarget {
+	if m != nil {
+		return m.Target
 	}
 	return nil
 }
 
-func (x *TargetCache) GetRuleGroups() map[string]*GroupRule {
-	if x != nil {
-		return x.RuleGroups
+func (m *TargetCache) GetRuleGroups() map[string]*GroupRule {
+	if m != nil {
+		return m.RuleGroups
 	}
 	return nil
 }
 
-func (x *TargetCache) GetImage() *Image {
-	if x != nil {
-		return x.Image
+func (m *TargetCache) GetImage() *Image {
+	if m != nil {
+		return m.Image
 	}
 	return nil
 }
 
 type FilterResult struct {
-	state         protoimpl.MessageState
-	sizeCache     protoimpl.SizeCache
-	unknownFields protoimpl.UnknownFields
-
-	BaseInfo *TaskBasicInfo          `protobuf:"bytes,1,opt,name=BaseInfo,proto3" json:"BaseInfo,omitempty"`
-	Events   map[string]*EventCache  `protobuf:"bytes,2,rep,name=Events,proto3" json:"Events,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
-	Targets  map[string]*TargetCache `protobuf:"bytes,3,rep,name=Targets,proto3" json:"Targets,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+	BaseInfo             *TaskBasicInfo          `protobuf:"bytes,1,opt,name=BaseInfo,proto3" json:"BaseInfo,omitempty"`
+	Events               map[string]*EventCache  `protobuf:"bytes,2,rep,name=Events,proto3" json:"Events,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+	Targets              map[string]*TargetCache `protobuf:"bytes,3,rep,name=Targets,proto3" json:"Targets,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+	XXX_NoUnkeyedLiteral struct{}                `json:"-"`
+	XXX_unrecognized     []byte                  `json:"-"`
+	XXX_sizecache        int32                   `json:"-"`
 }
 
-func (x *FilterResult) Reset() {
-	*x = FilterResult{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_dataprocess_proto_msgTypes[4]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
-}
-
-func (x *FilterResult) String() string {
-	return protoimpl.X.MessageStringOf(x)
-}
-
-func (*FilterResult) ProtoMessage() {}
-
-func (x *FilterResult) ProtoReflect() protoreflect.Message {
-	mi := &file_dataprocess_proto_msgTypes[4]
-	if protoimpl.UnsafeEnabled && x != nil {
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		if ms.LoadMessageInfo() == nil {
-			ms.StoreMessageInfo(mi)
-		}
-		return ms
-	}
-	return mi.MessageOf(x)
-}
-
-// Deprecated: Use FilterResult.ProtoReflect.Descriptor instead.
+func (m *FilterResult) Reset()         { *m = FilterResult{} }
+func (m *FilterResult) String() string { return proto.CompactTextString(m) }
+func (*FilterResult) ProtoMessage()    {}
 func (*FilterResult) Descriptor() ([]byte, []int) {
-	return file_dataprocess_proto_rawDescGZIP(), []int{4}
+	return fileDescriptor_dataprocess_8cd5458c99d96cd7, []int{7}
+}
+func (m *FilterResult) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_FilterResult.Unmarshal(m, b)
+}
+func (m *FilterResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_FilterResult.Marshal(b, m, deterministic)
+}
+func (dst *FilterResult) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_FilterResult.Merge(dst, src)
+}
+func (m *FilterResult) XXX_Size() int {
+	return xxx_messageInfo_FilterResult.Size(m)
+}
+func (m *FilterResult) XXX_DiscardUnknown() {
+	xxx_messageInfo_FilterResult.DiscardUnknown(m)
 }
 
-func (x *FilterResult) GetBaseInfo() *TaskBasicInfo {
-	if x != nil {
-		return x.BaseInfo
+var xxx_messageInfo_FilterResult proto.InternalMessageInfo
+
+func (m *FilterResult) GetBaseInfo() *TaskBasicInfo {
+	if m != nil {
+		return m.BaseInfo
 	}
 	return nil
 }
 
-func (x *FilterResult) GetEvents() map[string]*EventCache {
-	if x != nil {
-		return x.Events
+func (m *FilterResult) GetEvents() map[string]*EventCache {
+	if m != nil {
+		return m.Events
 	}
 	return nil
 }
 
-func (x *FilterResult) GetTargets() map[string]*TargetCache {
-	if x != nil {
-		return x.Targets
+func (m *FilterResult) GetTargets() map[string]*TargetCache {
+	if m != nil {
+		return m.Targets
 	}
 	return nil
 }
 
-var File_dataprocess_proto protoreflect.FileDescriptor
-
-var file_dataprocess_proto_rawDesc = []byte{
-	0x0a, 0x11, 0x64, 0x61, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72,
-	0x6f, 0x74, 0x6f, 0x12, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x6d, 0x73, 0x67, 0x1a, 0x09, 0x73,
-	0x64, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0a, 0x72, 0x75, 0x6c, 0x65, 0x2e, 0x70,
-	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x6d, 0x73, 0x67, 0x2e, 0x70,
-	0x72, 0x6f, 0x74, 0x6f, 0x22, 0x85, 0x02, 0x0a, 0x0d, 0x54, 0x61, 0x73, 0x6b, 0x42, 0x61, 0x73,
-	0x69, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x61, 0x6d, 0x49, 0x64, 0x18,
-	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x43, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07,
-	0x43, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x43,
-	0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x44,
-	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x44, 0x12, 0x1a,
-	0x0a, 0x08, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
-	0x52, 0x08, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x48, 0x61,
-	0x6e, 0x64, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a,
-	0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x6d,
-	0x61, 0x67, 0x65, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x49, 0x6d, 0x61,
-	0x67, 0x65, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x54, 0x69, 0x6d,
-	0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x54, 0x69,
-	0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x49, 0x73, 0x45, 0x6e, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x72,
-	0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x49, 0x73, 0x45, 0x6e, 0x64, 0x52, 0x65,
-	0x63, 0x6f, 0x72, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x18, 0x09,
-	0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x22, 0xf1, 0x01, 0x0a,
-	0x08, 0x53, 0x6f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x2e, 0x0a, 0x09, 0x53, 0x72, 0x63,
-	0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70,
-	0x72, 0x6f, 0x74, 0x6f, 0x6d, 0x73, 0x67, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x09,
-	0x53, 0x72, 0x63, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x72, 0x65,
-	0x61, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x41, 0x72, 0x65, 0x61, 0x49,
-	0x64, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x72, 0x65, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20,
-	0x01, 0x28, 0x09, 0x52, 0x08, 0x41, 0x72, 0x65, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a,
-	0x0f, 0x42, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x73, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x44,
-	0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x42, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x73, 0x54,
-	0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x44, 0x12, 0x3d, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x70, 0x44,
-	0x62, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72,
-	0x6f, 0x74, 0x6f, 0x6d, 0x73, 0x67, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x42, 0x61, 0x73, 0x65, 0x43,
-	0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x43, 0x6f, 0x6d, 0x70,
-	0x44, 0x62, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x49,
-	0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64,
-	0x22, 0xb9, 0x03, 0x0a, 0x0a, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12,
-	0x3b, 0x0a, 0x07, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
-	0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x6d, 0x73, 0x67, 0x2e, 0x45, 0x76, 0x65, 0x6e,
-	0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x45, 0x6e,
-	0x74, 0x72, 0x79, 0x52, 0x07, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x12, 0x44, 0x0a, 0x0a,
-	0x52, 0x75, 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
-	0x32, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x6d, 0x73, 0x67, 0x2e, 0x45, 0x76, 0x65, 0x6e,
-	0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70,
-	0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x52, 0x75, 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75,
-	0x70, 0x73, 0x12, 0x38, 0x0a, 0x06, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03,
-	0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x6d, 0x73, 0x67, 0x2e, 0x45, 0x76,
-	0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x45,
-	0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x1a, 0x4e, 0x0a, 0x0c,
-	0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
-	0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x28,
-	0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e,
-	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x6d, 0x73, 0x67, 0x2e, 0x53, 0x6f, 0x54, 0x61, 0x72, 0x67, 0x65,
-	0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x52, 0x0a, 0x0f,
-	0x52, 0x75, 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
-	0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
-	0x79, 0x12, 0x29, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
-	0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x6d, 0x73, 0x67, 0x2e, 0x47, 0x72, 0x6f, 0x75,
-	0x70, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
-	0x1a, 0x4a, 0x0a, 0x0b, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
-	0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65,
-	0x79, 0x12, 0x25, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
-	0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x6d, 0x73, 0x67, 0x2e, 0x49, 0x6d, 0x61, 0x67,
-	0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xfb, 0x01, 0x0a,
-	0x0b, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x2a, 0x0a, 0x06,
-	0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70,
-	0x72, 0x6f, 0x74, 0x6f, 0x6d, 0x73, 0x67, 0x2e, 0x53, 0x6f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74,
-	0x52, 0x06, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x45, 0x0a, 0x0a, 0x52, 0x75, 0x6c, 0x65,
-	0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x70,
-	0x72, 0x6f, 0x74, 0x6f, 0x6d, 0x73, 0x67, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x61,
-	0x63, 0x68, 0x65, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x45, 0x6e,
-	0x74, 0x72, 0x79, 0x52, 0x0a, 0x52, 0x75, 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12,
-	0x25, 0x0a, 0x05, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f,
-	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x6d, 0x73, 0x67, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52,
-	0x05, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x1a, 0x52, 0x0a, 0x0f, 0x52, 0x75, 0x6c, 0x65, 0x47, 0x72,
-	0x6f, 0x75, 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
-	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x29, 0x0a, 0x05, 0x76,
-	0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f,
-	0x74, 0x6f, 0x6d, 0x73, 0x67, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x52,
-	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xe2, 0x02, 0x0a, 0x0c, 0x46,
-	0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x33, 0x0a, 0x08, 0x42,
-	0x61, 0x73, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e,
-	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x6d, 0x73, 0x67, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x42, 0x61, 0x73,
-	0x69, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x42, 0x61, 0x73, 0x65, 0x49, 0x6e, 0x66, 0x6f,
-	0x12, 0x3a, 0x0a, 0x06, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
-	0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x6d, 0x73, 0x67, 0x2e, 0x46, 0x69, 0x6c, 0x74,
-	0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x45,
-	0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x3d, 0x0a, 0x07,
-	0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e,
-	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x6d, 0x73, 0x67, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52,
-	0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x45, 0x6e, 0x74,
-	0x72, 0x79, 0x52, 0x07, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x1a, 0x4f, 0x0a, 0x0b, 0x45,
-	0x76, 0x65, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
-	0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x05,
-	0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x72,
-	0x6f, 0x74, 0x6f, 0x6d, 0x73, 0x67, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68,
-	0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x51, 0x0a, 0x0c,
-	0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
-	0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2b,
-	0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e,
-	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x6d, 0x73, 0x67, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43,
-	0x61, 0x63, 0x68, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42,
-	0x0d, 0x5a, 0x0b, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x6d, 0x73, 0x67, 0x62, 0x06,
-	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+func init() {
+	proto.RegisterType((*TaskBasicInfo)(nil), "protomsg.TaskBasicInfo")
+	proto.RegisterType((*RuleParams)(nil), "protomsg.RuleParams")
+	proto.RegisterType((*SoRule)(nil), "protomsg.SoRule")
+	proto.RegisterType((*SoTarget)(nil), "protomsg.SoTarget")
+	proto.RegisterType((*SoResult)(nil), "protomsg.SoResult")
+	proto.RegisterType((*EventCache)(nil), "protomsg.EventCache")
+	proto.RegisterMapType((map[int64]*Image)(nil), "protomsg.EventCache.ImagesEntry")
+	proto.RegisterMapType((map[string]*GroupRule)(nil), "protomsg.EventCache.RuleGroupsEntry")
+	proto.RegisterMapType((map[uint64]*SoTarget)(nil), "protomsg.EventCache.TargetsEntry")
+	proto.RegisterType((*TargetCache)(nil), "protomsg.TargetCache")
+	proto.RegisterMapType((map[string]*GroupRule)(nil), "protomsg.TargetCache.RuleGroupsEntry")
+	proto.RegisterType((*FilterResult)(nil), "protomsg.FilterResult")
+	proto.RegisterMapType((map[string]*EventCache)(nil), "protomsg.FilterResult.EventsEntry")
+	proto.RegisterMapType((map[string]*TargetCache)(nil), "protomsg.FilterResult.TargetsEntry")
 }
 
-var (
-	file_dataprocess_proto_rawDescOnce sync.Once
-	file_dataprocess_proto_rawDescData = file_dataprocess_proto_rawDesc
-)
+func init() { proto.RegisterFile("dataprocess.proto", fileDescriptor_dataprocess_8cd5458c99d96cd7) }
 
-func file_dataprocess_proto_rawDescGZIP() []byte {
-	file_dataprocess_proto_rawDescOnce.Do(func() {
-		file_dataprocess_proto_rawDescData = protoimpl.X.CompressGZIP(file_dataprocess_proto_rawDescData)
-	})
-	return file_dataprocess_proto_rawDescData
-}
-
-var file_dataprocess_proto_msgTypes = make([]protoimpl.MessageInfo, 11)
-var file_dataprocess_proto_goTypes = []interface{}{
-	(*TaskBasicInfo)(nil),       // 0: protomsg.TaskBasicInfo
-	(*SoTarget)(nil),            // 1: protomsg.SoTarget
-	(*EventCache)(nil),          // 2: protomsg.EventCache
-	(*TargetCache)(nil),         // 3: protomsg.TargetCache
-	(*FilterResult)(nil),        // 4: protomsg.FilterResult
-	nil,                         // 5: protomsg.EventCache.TargetsEntry
-	nil,                         // 6: protomsg.EventCache.RuleGroupsEntry
-	nil,                         // 7: protomsg.EventCache.ImagesEntry
-	nil,                         // 8: protomsg.TargetCache.RuleGroupsEntry
-	nil,                         // 9: protomsg.FilterResult.EventsEntry
-	nil,                         // 10: protomsg.FilterResult.TargetsEntry
-	(*Target)(nil),              // 11: protomsg.Target
-	(*RuleBaseCompareInfo)(nil), // 12: protomsg.RuleBaseCompareInfo
-	(*Image)(nil),               // 13: protomsg.Image
-	(*GroupRule)(nil),           // 14: protomsg.GroupRule
-}
-var file_dataprocess_proto_depIdxs = []int32{
-	11, // 0: protomsg.SoTarget.SrcTarget:type_name -> protomsg.Target
-	12, // 1: protomsg.SoTarget.CompDbInfo:type_name -> protomsg.RuleBaseCompareInfo
-	5,  // 2: protomsg.EventCache.Targets:type_name -> protomsg.EventCache.TargetsEntry
-	6,  // 3: protomsg.EventCache.RuleGroups:type_name -> protomsg.EventCache.RuleGroupsEntry
-	7,  // 4: protomsg.EventCache.Images:type_name -> protomsg.EventCache.ImagesEntry
-	1,  // 5: protomsg.TargetCache.Target:type_name -> protomsg.SoTarget
-	8,  // 6: protomsg.TargetCache.RuleGroups:type_name -> protomsg.TargetCache.RuleGroupsEntry
-	13, // 7: protomsg.TargetCache.Image:type_name -> protomsg.Image
-	0,  // 8: protomsg.FilterResult.BaseInfo:type_name -> protomsg.TaskBasicInfo
-	9,  // 9: protomsg.FilterResult.Events:type_name -> protomsg.FilterResult.EventsEntry
-	10, // 10: protomsg.FilterResult.Targets:type_name -> protomsg.FilterResult.TargetsEntry
-	1,  // 11: protomsg.EventCache.TargetsEntry.value:type_name -> protomsg.SoTarget
-	14, // 12: protomsg.EventCache.RuleGroupsEntry.value:type_name -> protomsg.GroupRule
-	13, // 13: protomsg.EventCache.ImagesEntry.value:type_name -> protomsg.Image
-	14, // 14: protomsg.TargetCache.RuleGroupsEntry.value:type_name -> protomsg.GroupRule
-	2,  // 15: protomsg.FilterResult.EventsEntry.value:type_name -> protomsg.EventCache
-	3,  // 16: protomsg.FilterResult.TargetsEntry.value:type_name -> protomsg.TargetCache
-	17, // [17:17] is the sub-list for method output_type
-	17, // [17:17] is the sub-list for method input_type
-	17, // [17:17] is the sub-list for extension type_name
-	17, // [17:17] is the sub-list for extension extendee
-	0,  // [0:17] is the sub-list for field type_name
-}
-
-func init() { file_dataprocess_proto_init() }
-func file_dataprocess_proto_init() {
-	if File_dataprocess_proto != nil {
-		return
-	}
-	file_sdk_proto_init()
-	file_rule_proto_init()
-	file_protomsg_proto_init()
-	if !protoimpl.UnsafeEnabled {
-		file_dataprocess_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*TaskBasicInfo); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_dataprocess_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*SoTarget); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_dataprocess_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*EventCache); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_dataprocess_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*TargetCache); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_dataprocess_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*FilterResult); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-	}
-	type x struct{}
-	out := protoimpl.TypeBuilder{
-		File: protoimpl.DescBuilder{
-			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
-			RawDescriptor: file_dataprocess_proto_rawDesc,
-			NumEnums:      0,
-			NumMessages:   11,
-			NumExtensions: 0,
-			NumServices:   0,
-		},
-		GoTypes:           file_dataprocess_proto_goTypes,
-		DependencyIndexes: file_dataprocess_proto_depIdxs,
-		MessageInfos:      file_dataprocess_proto_msgTypes,
-	}.Build()
-	File_dataprocess_proto = out.File
-	file_dataprocess_proto_rawDesc = nil
-	file_dataprocess_proto_goTypes = nil
-	file_dataprocess_proto_depIdxs = nil
+var fileDescriptor_dataprocess_8cd5458c99d96cd7 = []byte{
+	// 902 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x55, 0x41, 0x6f, 0x23, 0x35,
+	0x14, 0xd6, 0x4c, 0x9a, 0x34, 0xf3, 0x52, 0xb6, 0x8b, 0x29, 0x30, 0x8a, 0x00, 0x85, 0x81, 0x4a,
+	0x61, 0x59, 0x15, 0xd1, 0xbd, 0xac, 0x16, 0xed, 0xa1, 0x4d, 0xdb, 0x65, 0x38, 0xec, 0x16, 0x27,
+	0x82, 0xb3, 0x37, 0x63, 0xd2, 0x28, 0x33, 0x71, 0x64, 0x4f, 0x8a, 0xf2, 0x03, 0xb8, 0x70, 0xe2,
+	0xef, 0xf0, 0x1b, 0xf8, 0x17, 0xfc, 0x03, 0xce, 0x5c, 0x90, 0x9f, 0x3d, 0xb1, 0x27, 0x9d, 0x88,
+	0xd3, 0x9e, 0xe2, 0xf7, 0xe6, 0x7b, 0x9f, 0x9f, 0xbf, 0xf7, 0xd9, 0x81, 0xf7, 0x33, 0x56, 0xb2,
+	0x95, 0x14, 0x53, 0xae, 0xd4, 0xd9, 0x4a, 0x8a, 0x52, 0x90, 0x2e, 0xfe, 0x14, 0x6a, 0xd6, 0x8f,
+	0x54, 0xb6, 0x30, 0xc9, 0x3e, 0xc8, 0x75, 0xce, 0xed, 0xfa, 0x51, 0x05, 0x30, 0x71, 0xf2, 0x5b,
+	0x08, 0xef, 0x4d, 0x98, 0x5a, 0x5c, 0x32, 0x35, 0x9f, 0xa6, 0xcb, 0x5f, 0x04, 0x39, 0x81, 0xf6,
+	0x88, 0x15, 0x69, 0x16, 0x07, 0x83, 0x60, 0x18, 0x51, 0x13, 0x90, 0x18, 0x0e, 0x47, 0xac, 0x78,
+	0xcd, 0x0a, 0x1e, 0x87, 0x98, 0xaf, 0x42, 0xf2, 0x11, 0x74, 0x34, 0x41, 0x7a, 0x15, 0xb7, 0xf0,
+	0x83, 0x8d, 0x48, 0x1f, 0xba, 0x7a, 0x85, 0x25, 0x07, 0xf8, 0x65, 0x1b, 0x93, 0xcf, 0x00, 0xbe,
+	0x67, 0xcb, 0x2c, 0xe7, 0x93, 0x79, 0xc1, 0xe3, 0x36, 0x7e, 0xf5, 0x32, 0x7a, 0xb7, 0xb4, 0x60,
+	0x33, 0x9e, 0x66, 0x71, 0x67, 0x10, 0x0c, 0x5b, 0xb4, 0x0a, 0xc9, 0x27, 0x10, 0xe1, 0x12, 0x0b,
+	0x0f, 0xb1, 0xd0, 0x25, 0xc8, 0x00, 0x7a, 0xa9, 0xba, 0x5e, 0x66, 0x94, 0x4f, 0x85, 0xcc, 0xe2,
+	0xee, 0x20, 0x18, 0x76, 0xa9, 0x9f, 0xd2, 0xdd, 0xde, 0xcc, 0x73, 0x4d, 0x1c, 0x99, 0x6e, 0x4d,
+	0x94, 0xfc, 0x11, 0x00, 0xd0, 0x75, 0xce, 0x6f, 0x99, 0x64, 0x85, 0xd2, 0x44, 0xe3, 0x6c, 0x71,
+	0x21, 0x67, 0x17, 0xf9, 0x9c, 0x29, 0x2b, 0x85, 0x9f, 0xd2, 0xc7, 0x7b, 0xb3, 0xe2, 0x92, 0x95,
+	0x42, 0x5a, 0x45, 0xb6, 0x31, 0x49, 0xe0, 0xa8, 0x5a, 0x4f, 0x36, 0x2b, 0x6e, 0x85, 0xa9, 0xe5,
+	0xdc, 0x0e, 0x3f, 0xb1, 0x7c, 0x5d, 0x29, 0xe4, 0xa7, 0x92, 0xdf, 0x43, 0xe8, 0x8c, 0x85, 0x6e,
+	0x8a, 0x3c, 0x82, 0x70, 0x3b, 0x90, 0x30, 0xcd, 0xf4, 0xe6, 0x23, 0x56, 0x70, 0xc9, 0xd2, 0xac,
+	0xda, 0xbc, 0x8a, 0xb5, 0x42, 0xb7, 0x22, 0xdf, 0xcc, 0xc4, 0x32, 0xcd, 0xec, 0xce, 0x2e, 0xa1,
+	0xa7, 0x3b, 0xce, 0x16, 0x69, 0x66, 0x37, 0x34, 0x01, 0x21, 0x70, 0x30, 0x16, 0xb2, 0xc4, 0x49,
+	0xb4, 0x29, 0xae, 0x75, 0x83, 0x7a, 0xef, 0x9f, 0xe7, 0xe5, 0xdd, 0xad, 0xe4, 0x38, 0x87, 0x88,
+	0xfa, 0x29, 0x7d, 0xcc, 0x54, 0x8d, 0xd9, 0x3d, 0xbf, 0x58, 0x6e, 0xee, 0xc4, 0xaf, 0x38, 0x8e,
+	0x2e, 0xad, 0xe5, 0xf4, 0x24, 0x5f, 0x49, 0xb1, 0x5e, 0xa5, 0x66, 0x1a, 0x11, 0xad, 0x42, 0xf2,
+	0x14, 0x3a, 0x46, 0xec, 0x38, 0x1a, 0xb4, 0x86, 0xbd, 0xf3, 0x93, 0xb3, 0xad, 0x35, 0xdd, 0x20,
+	0xa8, 0xc5, 0x24, 0xff, 0x04, 0xd0, 0x1d, 0x8b, 0x09, 0x93, 0x33, 0x5e, 0x92, 0x33, 0x88, 0xc6,
+	0x72, 0x6a, 0x02, 0x54, 0xa5, 0x77, 0xfe, 0xd8, 0x55, 0x9b, 0x3c, 0x75, 0x10, 0x3d, 0xf4, 0x0b,
+	0xc9, 0x9d, 0x58, 0x36, 0xd2, 0x32, 0xea, 0x15, 0x5a, 0xd4, 0x28, 0xb5, 0x8d, 0xc9, 0x10, 0x8e,
+	0x2f, 0x79, 0x2e, 0x96, 0x33, 0x65, 0x48, 0xd2, 0x2b, 0x2b, 0xd9, 0x6e, 0x9a, 0xbc, 0x04, 0x18,
+	0x89, 0x62, 0x75, 0xf5, 0x56, 0x5f, 0x9f, 0xb8, 0x8d, 0x87, 0xf9, 0xb4, 0x7e, 0x98, 0x4b, 0xa6,
+	0xb8, 0xc6, 0x30, 0xc9, 0x35, 0x88, 0x7a, 0x05, 0xfb, 0xbd, 0x9e, 0xfc, 0x15, 0xea, 0x33, 0x53,
+	0xae, 0xd6, 0x79, 0x89, 0x30, 0x75, 0x7d, 0xcf, 0x97, 0xe6, 0xc4, 0x5d, 0x5a, 0x85, 0xbb, 0xa6,
+	0x0f, 0x1f, 0x9a, 0xfe, 0x29, 0x1c, 0x9a, 0x6e, 0x55, 0xdc, 0xc2, 0xf6, 0x88, 0x6b, 0xaf, 0x12,
+	0x95, 0x56, 0x10, 0xf2, 0x0d, 0xc0, 0xcd, 0x5c, 0xaa, 0x12, 0xdb, 0xc0, 0x43, 0xf7, 0xce, 0x8f,
+	0x5d, 0x01, 0xa6, 0xa9, 0x07, 0xd1, 0x05, 0x23, 0x36, 0xbd, 0xe3, 0xa6, 0xa0, 0xbd, 0xa7, 0xc0,
+	0x41, 0xc8, 0x10, 0x3a, 0x0a, 0x8d, 0x8d, 0x27, 0xae, 0x0d, 0xcf, 0x18, 0x9e, 0xda, 0xef, 0xe4,
+	0x5b, 0x88, 0x66, 0xda, 0x2f, 0x08, 0x3e, 0x44, 0xf0, 0x07, 0x0e, 0xfc, 0xaa, 0xfa, 0x44, 0x1d,
+	0x4a, 0x0f, 0x7b, 0x2c, 0xf0, 0xda, 0x19, 0xc3, 0xd9, 0x28, 0xf9, 0xb3, 0x05, 0x80, 0x82, 0x61,
+	0x23, 0xe4, 0x3b, 0xa7, 0x49, 0x80, 0x9a, 0x7c, 0xee, 0x78, 0x1d, 0xcc, 0x9a, 0x49, 0x5d, 0x2f,
+	0x4b, 0xb9, 0x71, 0x12, 0x5d, 0x99, 0xc7, 0x02, 0xf7, 0x57, 0x71, 0x88, 0xf5, 0x5f, 0x36, 0xd6,
+	0x3b, 0x98, 0xa1, 0xf0, 0xea, 0xc8, 0x73, 0xe8, 0xa0, 0x1e, 0xd5, 0x54, 0x06, 0x8d, 0x0c, 0x06,
+	0x62, 0xaa, 0x2d, 0xbe, 0xff, 0x1a, 0x8e, 0xfc, 0xc6, 0xc8, 0x63, 0x68, 0x2d, 0xf8, 0x06, 0x8d,
+	0x71, 0x40, 0xf5, 0x92, 0x0c, 0xa1, 0x7d, 0x8f, 0x0f, 0x4b, 0x88, 0xa2, 0x35, 0x0d, 0xdc, 0x00,
+	0x5e, 0x84, 0xcf, 0x83, 0x3e, 0x85, 0xe3, 0x9d, 0x46, 0x7d, 0xca, 0xc8, 0x50, 0x7e, 0x55, 0xa7,
+	0x6c, 0x9c, 0x83, 0xc7, 0xf9, 0x03, 0xf4, 0xbc, 0xd6, 0x7d, 0xbe, 0x96, 0xe1, 0x3b, 0xad, 0xf3,
+	0x3d, 0x70, 0x8c, 0xe3, 0x4a, 0xfe, 0x0d, 0xa0, 0x67, 0xba, 0x36, 0xc3, 0x7b, 0xa2, 0xff, 0x73,
+	0xec, 0xed, 0xdf, 0xe7, 0x67, 0x8b, 0x20, 0xd7, 0x0d, 0xb3, 0x3a, 0xdd, 0x7d, 0x2d, 0xfe, 0x7f,
+	0x58, 0xa7, 0xd0, 0x36, 0xfe, 0x6e, 0xed, 0xe9, 0x16, 0x7f, 0xde, 0x85, 0x92, 0xc9, 0xdf, 0x21,
+	0x1c, 0xdd, 0xcc, 0xf3, 0x92, 0x4b, 0xfb, 0x16, 0x3c, 0x83, 0xae, 0x7e, 0x51, 0xf0, 0xbd, 0x31,
+	0xcf, 0xdf, 0xc7, 0xfe, 0x81, 0xbc, 0x7f, 0x73, 0xba, 0x05, 0x92, 0x17, 0xd0, 0x41, 0x57, 0x55,
+	0x1a, 0x24, 0xae, 0xc4, 0x27, 0x37, 0xd6, 0xab, 0xfc, 0x66, 0x02, 0xf2, 0x72, 0xf7, 0x01, 0xf9,
+	0x62, 0x4f, 0x71, 0xe3, 0x75, 0xe9, 0xbf, 0x81, 0x9e, 0xc7, 0xda, 0x20, 0xc8, 0x93, 0xba, 0x20,
+	0x27, 0x4d, 0x17, 0xc1, 0xf7, 0xd6, 0x8f, 0xfb, 0xfd, 0x6f, 0x19, 0xbf, 0xae, 0x33, 0x7e, 0xd8,
+	0x38, 0x70, 0x8f, 0xf2, 0x6d, 0x07, 0x01, 0xcf, 0xfe, 0x0b, 0x00, 0x00, 0xff, 0xff, 0x49, 0xf3,
+	0x62, 0x92, 0x55, 0x09, 0x00, 0x00,
 }

--
Gitblit v1.8.0