From a22263550e9ee3e8c6f70ba5d66580a2e1e07798 Mon Sep 17 00:00:00 2001
From: zhangmeng <775834166@qq.com>
Date: 星期四, 21 十一月 2019 10:31:11 +0800
Subject: [PATCH] Merge branch 'master' of ssh://192.168.5.5:29418/pubsub/protomsg

---
 aiocean.proto    |  103 +
 /dev/null        |   60 
 aiocean.pb.go    | 4913 +++++++++++++++++++++++++++++++++++++++++++++++++++
 protomsg.proto   |    2 
 facedetect.pb.go |  354 --
 protomsg.pb.go   |  255 +-
 6 files changed, 5,199 insertions(+), 488 deletions(-)

diff --git a/aiocean.pb.go b/aiocean.pb.go
new file mode 100644
index 0000000..c252110
--- /dev/null
+++ b/aiocean.pb.go
@@ -0,0 +1,4913 @@
+// Code generated by protoc-gen-gogo. DO NOT EDIT.
+// source: aiocean.proto
+
+package protomsg
+
+import (
+	encoding_binary "encoding/binary"
+	fmt "fmt"
+	proto "github.com/gogo/protobuf/proto"
+	io "io"
+	math "math"
+	math_bits "math/bits"
+)
+
+// 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.GoGoProtoPackageIsVersion2 // please upgrade the proto package
+
+type EsDataBase 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"`
+	CameraName      string        `protobuf:"bytes,3,opt,name=cameraName,proto3" json:"cameraName,omitempty"`
+	CameraAddr      string        `protobuf:"bytes,4,opt,name=cameraAddr,proto3" json:"cameraAddr,omitempty"`
+	AnalyServerId   string        `protobuf:"bytes,5,opt,name=analyServerId,proto3" json:"analyServerId,omitempty"`
+	AnalyServerName string        `protobuf:"bytes,6,opt,name=analyServerName,proto3" json:"analyServerName,omitempty"`
+	AnalyServerIp   string        `protobuf:"bytes,7,opt,name=analyServerIp,proto3" json:"analyServerIp,omitempty"`
+	ClusterId       string        `protobuf:"bytes,8,opt,name=clusterId,proto3" json:"clusterId,omitempty"`
+	TaskId          string        `protobuf:"bytes,9,opt,name=taskId,proto3" json:"taskId,omitempty"`
+	TaskName        string        `protobuf:"bytes,10,opt,name=taskName,proto3" json:"taskName,omitempty"`
+	SdkName         string        `protobuf:"bytes,11,opt,name=sdkName,proto3" json:"sdkName,omitempty"`
+	PicMaxUrl       []string      `protobuf:"bytes,12,rep,name=picMaxUrl,proto3" json:"picMaxUrl,omitempty"`
+	VideoUrl        string        `protobuf:"bytes,13,opt,name=videoUrl,proto3" json:"videoUrl,omitempty"`
+	PicDate         string        `protobuf:"bytes,14,opt,name=picDate,proto3" json:"picDate,omitempty"`
+	TargetInfo      []*TargetInfo `protobuf:"bytes,15,rep,name=targetInfo,proto3" json:"targetInfo,omitempty"`
+	OtherLabels     string        `protobuf:"bytes,16,opt,name=otherLabels,proto3" json:"otherLabels,omitempty"`
+	ShowLabels      string        `protobuf:"bytes,17,opt,name=showLabels,proto3" json:"showLabels,omitempty"`
+	LikeDate        string        `protobuf:"bytes,18,opt,name=likeDate,proto3" json:"likeDate,omitempty"`
+	BaseInfo        []*BaseInfo   `protobuf:"bytes,19,rep,name=baseInfo,proto3" json:"baseInfo,omitempty"`
+	IsAlarm         bool          `protobuf:"varint,20,opt,name=isAlarm,proto3" json:"isAlarm,omitempty"`
+	IsAckAlarm      bool          `protobuf:"varint,21,opt,name=isAckAlarm,proto3" json:"isAckAlarm,omitempty"`
+	AlarmRules      []*AlarmRules `protobuf:"bytes,22,rep,name=alarmRules,proto3" json:"alarmRules,omitempty"`
+	IsCollect       bool          `protobuf:"varint,23,opt,name=isCollect,proto3" json:"isCollect,omitempty"`
+	IsDelete        bool          `protobuf:"varint,24,opt,name=isDelete,proto3" json:"isDelete,omitempty"`
+	Content         string        `protobuf:"bytes,25,opt,name=content,proto3" json:"content,omitempty"`
+}
+
+func (m *EsDataBase) Reset()         { *m = EsDataBase{} }
+func (m *EsDataBase) String() string { return proto.CompactTextString(m) }
+func (*EsDataBase) ProtoMessage()    {}
+func (*EsDataBase) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e7fb370e860fe148, []int{0}
+}
+func (m *EsDataBase) XXX_Unmarshal(b []byte) error {
+	return m.Unmarshal(b)
+}
+func (m *EsDataBase) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	if deterministic {
+		return xxx_messageInfo_EsDataBase.Marshal(b, m, deterministic)
+	} else {
+		b = b[:cap(b)]
+		n, err := m.MarshalTo(b)
+		if err != nil {
+			return nil, err
+		}
+		return b[:n], nil
+	}
+}
+func (m *EsDataBase) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_EsDataBase.Merge(m, src)
+}
+func (m *EsDataBase) XXX_Size() int {
+	return m.Size()
+}
+func (m *EsDataBase) XXX_DiscardUnknown() {
+	xxx_messageInfo_EsDataBase.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_EsDataBase proto.InternalMessageInfo
+
+func (m *EsDataBase) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
+func (m *EsDataBase) GetCameraId() string {
+	if m != nil {
+		return m.CameraId
+	}
+	return ""
+}
+
+func (m *EsDataBase) GetCameraName() string {
+	if m != nil {
+		return m.CameraName
+	}
+	return ""
+}
+
+func (m *EsDataBase) GetCameraAddr() string {
+	if m != nil {
+		return m.CameraAddr
+	}
+	return ""
+}
+
+func (m *EsDataBase) GetAnalyServerId() string {
+	if m != nil {
+		return m.AnalyServerId
+	}
+	return ""
+}
+
+func (m *EsDataBase) GetAnalyServerName() string {
+	if m != nil {
+		return m.AnalyServerName
+	}
+	return ""
+}
+
+func (m *EsDataBase) GetAnalyServerIp() string {
+	if m != nil {
+		return m.AnalyServerIp
+	}
+	return ""
+}
+
+func (m *EsDataBase) GetClusterId() string {
+	if m != nil {
+		return m.ClusterId
+	}
+	return ""
+}
+
+func (m *EsDataBase) GetTaskId() string {
+	if m != nil {
+		return m.TaskId
+	}
+	return ""
+}
+
+func (m *EsDataBase) GetTaskName() string {
+	if m != nil {
+		return m.TaskName
+	}
+	return ""
+}
+
+func (m *EsDataBase) GetSdkName() string {
+	if m != nil {
+		return m.SdkName
+	}
+	return ""
+}
+
+func (m *EsDataBase) GetPicMaxUrl() []string {
+	if m != nil {
+		return m.PicMaxUrl
+	}
+	return nil
+}
+
+func (m *EsDataBase) GetVideoUrl() string {
+	if m != nil {
+		return m.VideoUrl
+	}
+	return ""
+}
+
+func (m *EsDataBase) GetPicDate() string {
+	if m != nil {
+		return m.PicDate
+	}
+	return ""
+}
+
+func (m *EsDataBase) GetTargetInfo() []*TargetInfo {
+	if m != nil {
+		return m.TargetInfo
+	}
+	return nil
+}
+
+func (m *EsDataBase) GetOtherLabels() string {
+	if m != nil {
+		return m.OtherLabels
+	}
+	return ""
+}
+
+func (m *EsDataBase) GetShowLabels() string {
+	if m != nil {
+		return m.ShowLabels
+	}
+	return ""
+}
+
+func (m *EsDataBase) GetLikeDate() string {
+	if m != nil {
+		return m.LikeDate
+	}
+	return ""
+}
+
+func (m *EsDataBase) GetBaseInfo() []*BaseInfo {
+	if m != nil {
+		return m.BaseInfo
+	}
+	return nil
+}
+
+func (m *EsDataBase) GetIsAlarm() bool {
+	if m != nil {
+		return m.IsAlarm
+	}
+	return false
+}
+
+func (m *EsDataBase) GetIsAckAlarm() bool {
+	if m != nil {
+		return m.IsAckAlarm
+	}
+	return false
+}
+
+func (m *EsDataBase) GetAlarmRules() []*AlarmRules {
+	if m != nil {
+		return m.AlarmRules
+	}
+	return nil
+}
+
+func (m *EsDataBase) GetIsCollect() bool {
+	if m != nil {
+		return m.IsCollect
+	}
+	return false
+}
+
+func (m *EsDataBase) GetIsDelete() bool {
+	if m != nil {
+		return m.IsDelete
+	}
+	return false
+}
+
+func (m *EsDataBase) GetContent() string {
+	if m != nil {
+		return m.Content
+	}
+	return ""
+}
+
+type AIOcean 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"`
+	CameraName      string        `protobuf:"bytes,3,opt,name=cameraName,proto3" json:"cameraName,omitempty"`
+	CameraAddr      string        `protobuf:"bytes,4,opt,name=cameraAddr,proto3" json:"cameraAddr,omitempty"`
+	AnalyServerId   string        `protobuf:"bytes,5,opt,name=analyServerId,proto3" json:"analyServerId,omitempty"`
+	AnalyServerName string        `protobuf:"bytes,6,opt,name=analyServerName,proto3" json:"analyServerName,omitempty"`
+	AnalyServerIp   string        `protobuf:"bytes,7,opt,name=analyServerIp,proto3" json:"analyServerIp,omitempty"`
+	ClusterId       string        `protobuf:"bytes,8,opt,name=clusterId,proto3" json:"clusterId,omitempty"`
+	TaskId          string        `protobuf:"bytes,9,opt,name=taskId,proto3" json:"taskId,omitempty"`
+	TaskName        string        `protobuf:"bytes,10,opt,name=taskName,proto3" json:"taskName,omitempty"`
+	SdkName         string        `protobuf:"bytes,11,opt,name=sdkName,proto3" json:"sdkName,omitempty"`
+	PicMaxUrl       []string      `protobuf:"bytes,12,rep,name=picMaxUrl,proto3" json:"picMaxUrl,omitempty"`
+	VideoUrl        string        `protobuf:"bytes,13,opt,name=videoUrl,proto3" json:"videoUrl,omitempty"`
+	PicDate         string        `protobuf:"bytes,14,opt,name=picDate,proto3" json:"picDate,omitempty"`
+	TargetInfo      []*TargetInfo `protobuf:"bytes,15,rep,name=targetInfo,proto3" json:"targetInfo,omitempty"`
+	OtherLabels     string        `protobuf:"bytes,16,opt,name=otherLabels,proto3" json:"otherLabels,omitempty"`
+	ShowLabels      string        `protobuf:"bytes,17,opt,name=showLabels,proto3" json:"showLabels,omitempty"`
+	LikeDate        string        `protobuf:"bytes,18,opt,name=likeDate,proto3" json:"likeDate,omitempty"`
+	BaseInfo        []*BaseInfo   `protobuf:"bytes,19,rep,name=baseInfo,proto3" json:"baseInfo,omitempty"`
+	IsAlarm         bool          `protobuf:"varint,20,opt,name=isAlarm,proto3" json:"isAlarm,omitempty"`
+	IsAckAlarm      bool          `protobuf:"varint,21,opt,name=isAckAlarm,proto3" json:"isAckAlarm,omitempty"`
+	AlarmRules      []*AlarmRules `protobuf:"bytes,22,rep,name=alarmRules,proto3" json:"alarmRules,omitempty"`
+	IsCollect       bool          `protobuf:"varint,23,opt,name=isCollect,proto3" json:"isCollect,omitempty"`
+	IsDelete        bool          `protobuf:"varint,24,opt,name=isDelete,proto3" json:"isDelete,omitempty"`
+	Content         string        `protobuf:"bytes,25,opt,name=content,proto3" json:"content,omitempty"`
+	LinkTag         string        `protobuf:"bytes,26,opt,name=linkTag,proto3" json:"linkTag,omitempty"`
+	LinkTagInfo     []*EsDataBase `protobuf:"bytes,27,rep,name=linkTagInfo,proto3" json:"linkTagInfo,omitempty"`
+}
+
+func (m *AIOcean) Reset()         { *m = AIOcean{} }
+func (m *AIOcean) String() string { return proto.CompactTextString(m) }
+func (*AIOcean) ProtoMessage()    {}
+func (*AIOcean) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e7fb370e860fe148, []int{1}
+}
+func (m *AIOcean) XXX_Unmarshal(b []byte) error {
+	return m.Unmarshal(b)
+}
+func (m *AIOcean) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	if deterministic {
+		return xxx_messageInfo_AIOcean.Marshal(b, m, deterministic)
+	} else {
+		b = b[:cap(b)]
+		n, err := m.MarshalTo(b)
+		if err != nil {
+			return nil, err
+		}
+		return b[:n], nil
+	}
+}
+func (m *AIOcean) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_AIOcean.Merge(m, src)
+}
+func (m *AIOcean) XXX_Size() int {
+	return m.Size()
+}
+func (m *AIOcean) XXX_DiscardUnknown() {
+	xxx_messageInfo_AIOcean.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_AIOcean proto.InternalMessageInfo
+
+func (m *AIOcean) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
+func (m *AIOcean) GetCameraId() string {
+	if m != nil {
+		return m.CameraId
+	}
+	return ""
+}
+
+func (m *AIOcean) GetCameraName() string {
+	if m != nil {
+		return m.CameraName
+	}
+	return ""
+}
+
+func (m *AIOcean) GetCameraAddr() string {
+	if m != nil {
+		return m.CameraAddr
+	}
+	return ""
+}
+
+func (m *AIOcean) GetAnalyServerId() string {
+	if m != nil {
+		return m.AnalyServerId
+	}
+	return ""
+}
+
+func (m *AIOcean) GetAnalyServerName() string {
+	if m != nil {
+		return m.AnalyServerName
+	}
+	return ""
+}
+
+func (m *AIOcean) GetAnalyServerIp() string {
+	if m != nil {
+		return m.AnalyServerIp
+	}
+	return ""
+}
+
+func (m *AIOcean) GetClusterId() string {
+	if m != nil {
+		return m.ClusterId
+	}
+	return ""
+}
+
+func (m *AIOcean) GetTaskId() string {
+	if m != nil {
+		return m.TaskId
+	}
+	return ""
+}
+
+func (m *AIOcean) GetTaskName() string {
+	if m != nil {
+		return m.TaskName
+	}
+	return ""
+}
+
+func (m *AIOcean) GetSdkName() string {
+	if m != nil {
+		return m.SdkName
+	}
+	return ""
+}
+
+func (m *AIOcean) GetPicMaxUrl() []string {
+	if m != nil {
+		return m.PicMaxUrl
+	}
+	return nil
+}
+
+func (m *AIOcean) GetVideoUrl() string {
+	if m != nil {
+		return m.VideoUrl
+	}
+	return ""
+}
+
+func (m *AIOcean) GetPicDate() string {
+	if m != nil {
+		return m.PicDate
+	}
+	return ""
+}
+
+func (m *AIOcean) GetTargetInfo() []*TargetInfo {
+	if m != nil {
+		return m.TargetInfo
+	}
+	return nil
+}
+
+func (m *AIOcean) GetOtherLabels() string {
+	if m != nil {
+		return m.OtherLabels
+	}
+	return ""
+}
+
+func (m *AIOcean) GetShowLabels() string {
+	if m != nil {
+		return m.ShowLabels
+	}
+	return ""
+}
+
+func (m *AIOcean) GetLikeDate() string {
+	if m != nil {
+		return m.LikeDate
+	}
+	return ""
+}
+
+func (m *AIOcean) GetBaseInfo() []*BaseInfo {
+	if m != nil {
+		return m.BaseInfo
+	}
+	return nil
+}
+
+func (m *AIOcean) GetIsAlarm() bool {
+	if m != nil {
+		return m.IsAlarm
+	}
+	return false
+}
+
+func (m *AIOcean) GetIsAckAlarm() bool {
+	if m != nil {
+		return m.IsAckAlarm
+	}
+	return false
+}
+
+func (m *AIOcean) GetAlarmRules() []*AlarmRules {
+	if m != nil {
+		return m.AlarmRules
+	}
+	return nil
+}
+
+func (m *AIOcean) GetIsCollect() bool {
+	if m != nil {
+		return m.IsCollect
+	}
+	return false
+}
+
+func (m *AIOcean) GetIsDelete() bool {
+	if m != nil {
+		return m.IsDelete
+	}
+	return false
+}
+
+func (m *AIOcean) GetContent() string {
+	if m != nil {
+		return m.Content
+	}
+	return ""
+}
+
+func (m *AIOcean) GetLinkTag() string {
+	if m != nil {
+		return m.LinkTag
+	}
+	return ""
+}
+
+func (m *AIOcean) GetLinkTagInfo() []*EsDataBase {
+	if m != nil {
+		return m.LinkTagInfo
+	}
+	return nil
+}
+
+type TargetInfo struct {
+	TargetId       string          `protobuf:"bytes,1,opt,name=targetId,proto3" json:"targetId,omitempty"`
+	TargetType     string          `protobuf:"bytes,2,opt,name=targetType,proto3" json:"targetType,omitempty"`
+	TargetScore    float64         `protobuf:"fixed64,3,opt,name=targetScore,proto3" json:"targetScore,omitempty"`
+	Feature        string          `protobuf:"bytes,4,opt,name=feature,proto3" json:"feature,omitempty"`
+	PicSmUrl       string          `protobuf:"bytes,5,opt,name=picSmUrl,proto3" json:"picSmUrl,omitempty"`
+	TargetLocation *TargetLocation `protobuf:"bytes,6,opt,name=targetLocation,proto3" json:"targetLocation,omitempty"`
+}
+
+func (m *TargetInfo) Reset()         { *m = TargetInfo{} }
+func (m *TargetInfo) String() string { return proto.CompactTextString(m) }
+func (*TargetInfo) ProtoMessage()    {}
+func (*TargetInfo) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e7fb370e860fe148, []int{2}
+}
+func (m *TargetInfo) XXX_Unmarshal(b []byte) error {
+	return m.Unmarshal(b)
+}
+func (m *TargetInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	if deterministic {
+		return xxx_messageInfo_TargetInfo.Marshal(b, m, deterministic)
+	} else {
+		b = b[:cap(b)]
+		n, err := m.MarshalTo(b)
+		if err != nil {
+			return nil, err
+		}
+		return b[:n], nil
+	}
+}
+func (m *TargetInfo) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_TargetInfo.Merge(m, src)
+}
+func (m *TargetInfo) XXX_Size() int {
+	return m.Size()
+}
+func (m *TargetInfo) XXX_DiscardUnknown() {
+	xxx_messageInfo_TargetInfo.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_TargetInfo proto.InternalMessageInfo
+
+func (m *TargetInfo) GetTargetId() string {
+	if m != nil {
+		return m.TargetId
+	}
+	return ""
+}
+
+func (m *TargetInfo) GetTargetType() string {
+	if m != nil {
+		return m.TargetType
+	}
+	return ""
+}
+
+func (m *TargetInfo) GetTargetScore() float64 {
+	if m != nil {
+		return m.TargetScore
+	}
+	return 0
+}
+
+func (m *TargetInfo) GetFeature() string {
+	if m != nil {
+		return m.Feature
+	}
+	return ""
+}
+
+func (m *TargetInfo) GetPicSmUrl() string {
+	if m != nil {
+		return m.PicSmUrl
+	}
+	return ""
+}
+
+func (m *TargetInfo) GetTargetLocation() *TargetLocation {
+	if m != nil {
+		return m.TargetLocation
+	}
+	return nil
+}
+
+type TargetLocation struct {
+	TopLeft     *Location `protobuf:"bytes,1,opt,name=topLeft,proto3" json:"topLeft,omitempty"`
+	BottomRight *Location `protobuf:"bytes,2,opt,name=bottomRight,proto3" json:"bottomRight,omitempty"`
+}
+
+func (m *TargetLocation) Reset()         { *m = TargetLocation{} }
+func (m *TargetLocation) String() string { return proto.CompactTextString(m) }
+func (*TargetLocation) ProtoMessage()    {}
+func (*TargetLocation) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e7fb370e860fe148, []int{3}
+}
+func (m *TargetLocation) XXX_Unmarshal(b []byte) error {
+	return m.Unmarshal(b)
+}
+func (m *TargetLocation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	if deterministic {
+		return xxx_messageInfo_TargetLocation.Marshal(b, m, deterministic)
+	} else {
+		b = b[:cap(b)]
+		n, err := m.MarshalTo(b)
+		if err != nil {
+			return nil, err
+		}
+		return b[:n], nil
+	}
+}
+func (m *TargetLocation) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_TargetLocation.Merge(m, src)
+}
+func (m *TargetLocation) XXX_Size() int {
+	return m.Size()
+}
+func (m *TargetLocation) XXX_DiscardUnknown() {
+	xxx_messageInfo_TargetLocation.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_TargetLocation proto.InternalMessageInfo
+
+func (m *TargetLocation) GetTopLeft() *Location {
+	if m != nil {
+		return m.TopLeft
+	}
+	return nil
+}
+
+func (m *TargetLocation) GetBottomRight() *Location {
+	if m != nil {
+		return m.BottomRight
+	}
+	return nil
+}
+
+type Location struct {
+	X float64 `protobuf:"fixed64,1,opt,name=x,proto3" json:"x,omitempty"`
+	Y float64 `protobuf:"fixed64,2,opt,name=y,proto3" json:"y,omitempty"`
+}
+
+func (m *Location) Reset()         { *m = Location{} }
+func (m *Location) String() string { return proto.CompactTextString(m) }
+func (*Location) ProtoMessage()    {}
+func (*Location) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e7fb370e860fe148, []int{4}
+}
+func (m *Location) XXX_Unmarshal(b []byte) error {
+	return m.Unmarshal(b)
+}
+func (m *Location) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	if deterministic {
+		return xxx_messageInfo_Location.Marshal(b, m, deterministic)
+	} else {
+		b = b[:cap(b)]
+		n, err := m.MarshalTo(b)
+		if err != nil {
+			return nil, err
+		}
+		return b[:n], nil
+	}
+}
+func (m *Location) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_Location.Merge(m, src)
+}
+func (m *Location) XXX_Size() int {
+	return m.Size()
+}
+func (m *Location) XXX_DiscardUnknown() {
+	xxx_messageInfo_Location.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Location proto.InternalMessageInfo
+
+func (m *Location) GetX() float64 {
+	if m != nil {
+		return m.X
+	}
+	return 0
+}
+
+func (m *Location) GetY() float64 {
+	if m != nil {
+		return m.Y
+	}
+	return 0
+}
+
+type AlarmRules struct {
+	GroupId      string `protobuf:"bytes,1,opt,name=groupId,proto3" json:"groupId,omitempty"`
+	AlarmLevel   string `protobuf:"bytes,2,opt,name=alarmLevel,proto3" json:"alarmLevel,omitempty"`
+	RuleText     string `protobuf:"bytes,3,opt,name=ruleText,proto3" json:"ruleText,omitempty"`
+	DefenceState bool   `protobuf:"varint,4,opt,name=defenceState,proto3" json:"defenceState,omitempty"`
+	IsLink       bool   `protobuf:"varint,5,opt,name=isLink,proto3" json:"isLink,omitempty"`
+	LinkInfo     string `protobuf:"bytes,6,opt,name=linkInfo,proto3" json:"linkInfo,omitempty"`
+}
+
+func (m *AlarmRules) Reset()         { *m = AlarmRules{} }
+func (m *AlarmRules) String() string { return proto.CompactTextString(m) }
+func (*AlarmRules) ProtoMessage()    {}
+func (*AlarmRules) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e7fb370e860fe148, []int{5}
+}
+func (m *AlarmRules) XXX_Unmarshal(b []byte) error {
+	return m.Unmarshal(b)
+}
+func (m *AlarmRules) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	if deterministic {
+		return xxx_messageInfo_AlarmRules.Marshal(b, m, deterministic)
+	} else {
+		b = b[:cap(b)]
+		n, err := m.MarshalTo(b)
+		if err != nil {
+			return nil, err
+		}
+		return b[:n], nil
+	}
+}
+func (m *AlarmRules) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_AlarmRules.Merge(m, src)
+}
+func (m *AlarmRules) XXX_Size() int {
+	return m.Size()
+}
+func (m *AlarmRules) XXX_DiscardUnknown() {
+	xxx_messageInfo_AlarmRules.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_AlarmRules proto.InternalMessageInfo
+
+func (m *AlarmRules) GetGroupId() string {
+	if m != nil {
+		return m.GroupId
+	}
+	return ""
+}
+
+func (m *AlarmRules) GetAlarmLevel() string {
+	if m != nil {
+		return m.AlarmLevel
+	}
+	return ""
+}
+
+func (m *AlarmRules) GetRuleText() string {
+	if m != nil {
+		return m.RuleText
+	}
+	return ""
+}
+
+func (m *AlarmRules) GetDefenceState() bool {
+	if m != nil {
+		return m.DefenceState
+	}
+	return false
+}
+
+func (m *AlarmRules) GetIsLink() bool {
+	if m != nil {
+		return m.IsLink
+	}
+	return false
+}
+
+func (m *AlarmRules) GetLinkInfo() string {
+	if m != nil {
+		return m.LinkInfo
+	}
+	return ""
+}
+
+type BaseInfo struct {
+	TableId      string  `protobuf:"bytes,1,opt,name=tableId,proto3" json:"tableId,omitempty"`
+	TableName    string  `protobuf:"bytes,2,opt,name=tableName,proto3" json:"tableName,omitempty"`
+	CompareScore float64 `protobuf:"fixed64,3,opt,name=compareScore,proto3" json:"compareScore,omitempty"`
+	BwType       string  `protobuf:"bytes,4,opt,name=bwType,proto3" json:"bwType,omitempty"`
+	TargetId     string  `protobuf:"bytes,5,opt,name=targetId,proto3" json:"targetId,omitempty"`
+	TargetName   string  `protobuf:"bytes,6,opt,name=targetName,proto3" json:"targetName,omitempty"`
+	TargetPicUrl string  `protobuf:"bytes,7,opt,name=targetPicUrl,proto3" json:"targetPicUrl,omitempty"`
+	MonitorLevel string  `protobuf:"bytes,8,opt,name=monitorLevel,proto3" json:"monitorLevel,omitempty"`
+	Labels       string  `protobuf:"bytes,9,opt,name=labels,proto3" json:"labels,omitempty"`
+	Content      string  `protobuf:"bytes,10,opt,name=content,proto3" json:"content,omitempty"`
+}
+
+func (m *BaseInfo) Reset()         { *m = BaseInfo{} }
+func (m *BaseInfo) String() string { return proto.CompactTextString(m) }
+func (*BaseInfo) ProtoMessage()    {}
+func (*BaseInfo) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e7fb370e860fe148, []int{6}
+}
+func (m *BaseInfo) XXX_Unmarshal(b []byte) error {
+	return m.Unmarshal(b)
+}
+func (m *BaseInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	if deterministic {
+		return xxx_messageInfo_BaseInfo.Marshal(b, m, deterministic)
+	} else {
+		b = b[:cap(b)]
+		n, err := m.MarshalTo(b)
+		if err != nil {
+			return nil, err
+		}
+		return b[:n], nil
+	}
+}
+func (m *BaseInfo) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_BaseInfo.Merge(m, src)
+}
+func (m *BaseInfo) XXX_Size() int {
+	return m.Size()
+}
+func (m *BaseInfo) XXX_DiscardUnknown() {
+	xxx_messageInfo_BaseInfo.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_BaseInfo proto.InternalMessageInfo
+
+func (m *BaseInfo) GetTableId() string {
+	if m != nil {
+		return m.TableId
+	}
+	return ""
+}
+
+func (m *BaseInfo) GetTableName() string {
+	if m != nil {
+		return m.TableName
+	}
+	return ""
+}
+
+func (m *BaseInfo) GetCompareScore() float64 {
+	if m != nil {
+		return m.CompareScore
+	}
+	return 0
+}
+
+func (m *BaseInfo) GetBwType() string {
+	if m != nil {
+		return m.BwType
+	}
+	return ""
+}
+
+func (m *BaseInfo) GetTargetId() string {
+	if m != nil {
+		return m.TargetId
+	}
+	return ""
+}
+
+func (m *BaseInfo) GetTargetName() string {
+	if m != nil {
+		return m.TargetName
+	}
+	return ""
+}
+
+func (m *BaseInfo) GetTargetPicUrl() string {
+	if m != nil {
+		return m.TargetPicUrl
+	}
+	return ""
+}
+
+func (m *BaseInfo) GetMonitorLevel() string {
+	if m != nil {
+		return m.MonitorLevel
+	}
+	return ""
+}
+
+func (m *BaseInfo) GetLabels() string {
+	if m != nil {
+		return m.Labels
+	}
+	return ""
+}
+
+func (m *BaseInfo) GetContent() string {
+	if m != nil {
+		return m.Content
+	}
+	return ""
+}
+
+func init() {
+	proto.RegisterType((*EsDataBase)(nil), "protomsg.EsDataBase")
+	proto.RegisterType((*AIOcean)(nil), "protomsg.AIOcean")
+	proto.RegisterType((*TargetInfo)(nil), "protomsg.TargetInfo")
+	proto.RegisterType((*TargetLocation)(nil), "protomsg.TargetLocation")
+	proto.RegisterType((*Location)(nil), "protomsg.Location")
+	proto.RegisterType((*AlarmRules)(nil), "protomsg.AlarmRules")
+	proto.RegisterType((*BaseInfo)(nil), "protomsg.BaseInfo")
+}
+
+func init() { proto.RegisterFile("aiocean.proto", fileDescriptor_e7fb370e860fe148) }
+
+var fileDescriptor_e7fb370e860fe148 = []byte{
+	// 835 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x55, 0xcd, 0x6e, 0x23, 0x45,
+	0x10, 0xce, 0x24, 0xbb, 0xb6, 0x53, 0x4e, 0xb2, 0xd0, 0x2c, 0x4b, 0xb3, 0x20, 0xcb, 0x1a, 0x21,
+	0x94, 0x03, 0xca, 0x61, 0x59, 0x71, 0xc6, 0x21, 0x1c, 0x2c, 0x99, 0x1f, 0x4d, 0xc2, 0x03, 0xb4,
+	0x67, 0x2a, 0x4e, 0xcb, 0x33, 0xd3, 0xa3, 0x99, 0x76, 0x36, 0x79, 0x00, 0xee, 0x3c, 0x0c, 0xe2,
+	0xc0, 0x13, 0x70, 0xcc, 0x91, 0x23, 0x72, 0x5e, 0x04, 0x55, 0xf5, 0xfc, 0xf4, 0x18, 0x90, 0x78,
+	0x80, 0x9c, 0xdc, 0xdf, 0x57, 0xe5, 0xaa, 0xea, 0xae, 0xfa, 0x6a, 0xe0, 0x58, 0x69, 0x13, 0xa3,
+	0xca, 0xcf, 0x8a, 0xd2, 0x58, 0x23, 0x46, 0xfc, 0x93, 0x55, 0xab, 0xf0, 0xb7, 0x01, 0xc0, 0xb7,
+	0xd5, 0x85, 0xb2, 0xea, 0x5c, 0x55, 0x28, 0x4e, 0x60, 0x5f, 0x27, 0x32, 0x98, 0x06, 0xa7, 0x87,
+	0xd1, 0xbe, 0x4e, 0xc4, 0x6b, 0x18, 0xc5, 0x2a, 0xc3, 0x52, 0xcd, 0x13, 0xb9, 0xcf, 0x6c, 0x8b,
+	0xc5, 0x04, 0xc0, 0x9d, 0xbf, 0x57, 0x19, 0xca, 0x03, 0xb6, 0x7a, 0x4c, 0x67, 0x9f, 0x25, 0x49,
+	0x29, 0x9f, 0xf9, 0x76, 0x62, 0xc4, 0x67, 0x70, 0xac, 0x72, 0x95, 0xde, 0x5f, 0x62, 0x79, 0x8b,
+	0xe5, 0x3c, 0x91, 0xcf, 0xd9, 0xa5, 0x4f, 0x8a, 0x53, 0x78, 0xe1, 0x11, 0x9c, 0x6a, 0xc0, 0x7e,
+	0xbb, 0xf4, 0x6e, 0xbc, 0x42, 0x0e, 0xff, 0x19, 0xaf, 0x10, 0x9f, 0xc2, 0x61, 0x9c, 0x6e, 0x2a,
+	0xcb, 0x19, 0x47, 0xec, 0xd1, 0x11, 0xe2, 0x15, 0x0c, 0xac, 0xaa, 0xd6, 0xf3, 0x44, 0x1e, 0xb2,
+	0xa9, 0x46, 0xf4, 0x0e, 0x74, 0xe2, 0xf4, 0xe0, 0xde, 0xa1, 0xc1, 0x42, 0xc2, 0xb0, 0x4a, 0x9c,
+	0x69, 0xcc, 0xa6, 0x06, 0x52, 0xae, 0x42, 0xc7, 0xdf, 0xa9, 0xbb, 0x9f, 0xca, 0x54, 0x1e, 0x4d,
+	0x0f, 0x28, 0x57, 0x4b, 0x50, 0xcc, 0x5b, 0x9d, 0xa0, 0x21, 0xe3, 0xb1, 0x8b, 0xd9, 0x60, 0x8a,
+	0x59, 0xe8, 0xf8, 0x42, 0x59, 0x94, 0x27, 0x2e, 0x66, 0x0d, 0xc5, 0x5b, 0x00, 0xab, 0xca, 0x15,
+	0xda, 0x79, 0x7e, 0x6d, 0xe4, 0x8b, 0xe9, 0xc1, 0xe9, 0xf8, 0xcd, 0xcb, 0xb3, 0xa6, 0x9f, 0x67,
+	0x57, 0xad, 0x2d, 0xf2, 0xfc, 0xc4, 0x14, 0xc6, 0xc6, 0xde, 0x60, 0xb9, 0x50, 0x4b, 0x4c, 0x2b,
+	0xf9, 0x1e, 0xc7, 0xf4, 0x29, 0xea, 0x56, 0x75, 0x63, 0xde, 0xd5, 0x0e, 0xef, 0xbb, 0x6e, 0x75,
+	0x0c, 0x55, 0x9b, 0xea, 0x35, 0x72, 0x49, 0xc2, 0x55, 0xdb, 0x60, 0x71, 0x06, 0xa3, 0xa5, 0xaa,
+	0x90, 0x2b, 0xfa, 0x80, 0x2b, 0x12, 0x5d, 0x45, 0xe7, 0xb5, 0x25, 0x6a, 0x7d, 0xe8, 0x76, 0xba,
+	0x9a, 0xa5, 0xaa, 0xcc, 0xe4, 0xcb, 0x69, 0x70, 0x3a, 0x8a, 0x1a, 0x48, 0x55, 0xe8, 0x6a, 0x16,
+	0xaf, 0x9d, 0xf1, 0x43, 0x36, 0x7a, 0x0c, 0xdd, 0x5e, 0xd1, 0x21, 0xda, 0xa4, 0x58, 0xc9, 0x57,
+	0xbb, 0xb7, 0x9f, 0xb5, 0xb6, 0xc8, 0xf3, 0xa3, 0x3e, 0xe8, 0xea, 0x1b, 0x93, 0xa6, 0x18, 0x5b,
+	0xf9, 0x11, 0x07, 0xed, 0x08, 0xba, 0x99, 0xae, 0x2e, 0x30, 0x45, 0x8b, 0x52, 0xb2, 0xb1, 0xc5,
+	0x54, 0x69, 0x6c, 0x72, 0x8b, 0xb9, 0x95, 0x1f, 0xbb, 0x3e, 0xd4, 0x30, 0xfc, 0x79, 0x08, 0xc3,
+	0xd9, 0xfc, 0x07, 0x12, 0xd5, 0x93, 0x6a, 0x9e, 0x54, 0xf3, 0xa4, 0x9a, 0xff, 0xa3, 0x1a, 0xb2,
+	0xa4, 0x3a, 0x5f, 0x5f, 0xa9, 0x95, 0x7c, 0xed, 0x2c, 0x35, 0x14, 0x5f, 0xc1, 0xb8, 0x3e, 0xf2,
+	0x83, 0x7c, 0xb2, 0x5b, 0x64, 0xf7, 0x91, 0x8a, 0x7c, 0xc7, 0x70, 0x1b, 0x00, 0x74, 0xed, 0x73,
+	0x23, 0xc7, 0xa8, 0x11, 0x64, 0x8b, 0xe9, 0x99, 0xdc, 0xf9, 0xea, 0xbe, 0xc0, 0x5a, 0x98, 0x1e,
+	0x43, 0xed, 0x76, 0xe8, 0x32, 0x36, 0xa5, 0xd3, 0x66, 0x10, 0xf9, 0x14, 0x95, 0x7f, 0x8d, 0xca,
+	0x6e, 0x4a, 0xac, 0x95, 0xd9, 0x40, 0xca, 0x5b, 0xe8, 0xf8, 0x32, 0xa3, 0xb1, 0x74, 0x8a, 0x6c,
+	0xb1, 0xf8, 0x1a, 0x4e, 0x5c, 0x90, 0x85, 0x89, 0x95, 0xd5, 0x26, 0x67, 0x2d, 0x8e, 0xdf, 0xc8,
+	0xdd, 0x01, 0x6c, 0xec, 0xd1, 0x8e, 0x7f, 0x68, 0xe1, 0xa4, 0xef, 0x21, 0xbe, 0x80, 0xa1, 0x35,
+	0xc5, 0x02, 0xaf, 0x2d, 0x5f, 0xb3, 0x37, 0x3b, 0x6d, 0x98, 0xc6, 0x45, 0xbc, 0x85, 0xf1, 0xd2,
+	0x58, 0x6b, 0xb2, 0x48, 0xaf, 0x6e, 0x2c, 0x5f, 0xfd, 0xdf, 0xff, 0xe1, 0xbb, 0x85, 0x9f, 0xc3,
+	0xa8, 0xcd, 0x77, 0x04, 0xc1, 0x1d, 0x67, 0x0a, 0xa2, 0xe0, 0x8e, 0xd0, 0x3d, 0x47, 0x09, 0xa2,
+	0xe0, 0x3e, 0xfc, 0x3d, 0x00, 0xe8, 0x66, 0x88, 0x1e, 0x69, 0x55, 0x9a, 0x4d, 0xd1, 0x76, 0xa0,
+	0x81, 0xd4, 0x00, 0x9e, 0xaf, 0x05, 0xde, 0x62, 0xda, 0x34, 0xa0, 0x63, 0xe8, 0x11, 0xcb, 0x4d,
+	0x8a, 0x57, 0x78, 0x67, 0xeb, 0xcd, 0xd8, 0x62, 0x11, 0xc2, 0x51, 0x82, 0xd7, 0x98, 0xc7, 0x78,
+	0x69, 0x49, 0x4d, 0xcf, 0x78, 0xe6, 0x7a, 0x1c, 0xed, 0x21, 0x5d, 0x2d, 0x74, 0xbe, 0xe6, 0x16,
+	0x8c, 0xa2, 0x1a, 0x39, 0x15, 0xe6, 0x6b, 0x1e, 0xac, 0x41, 0xa3, 0x42, 0x87, 0xc3, 0x5f, 0xf7,
+	0x61, 0x74, 0xee, 0x49, 0xcc, 0xaa, 0x65, 0x8a, 0x5d, 0xe9, 0x35, 0x24, 0x31, 0xf0, 0x91, 0x17,
+	0x96, 0xab, 0xbc, 0x23, 0xa8, 0xb8, 0xd8, 0x64, 0x85, 0x2a, 0xd1, 0x1f, 0x9d, 0x1e, 0x47, 0xc5,
+	0x2d, 0xdf, 0xf1, 0xe4, 0xb9, 0xd1, 0xa9, 0x51, 0x6f, 0x62, 0x9f, 0xff, 0xd7, 0xc4, 0x7a, 0x1b,
+	0xdc, 0x63, 0x28, 0xaf, 0x43, 0x3f, 0xea, 0x98, 0x26, 0xcf, 0xed, 0xee, 0x1e, 0x47, 0x3e, 0x99,
+	0xc9, 0xb5, 0x35, 0xa5, 0x7b, 0x76, 0xb7, 0xbd, 0x7b, 0x1c, 0xd5, 0x96, 0xba, 0x15, 0x56, 0x2f,
+	0x70, 0x87, 0x7c, 0x21, 0x43, 0x4f, 0xc8, 0xe7, 0xf2, 0x8f, 0xed, 0x24, 0x78, 0xd8, 0x4e, 0x82,
+	0xbf, 0xb6, 0x93, 0xe0, 0x97, 0xc7, 0xc9, 0xde, 0xc3, 0xe3, 0x64, 0xef, 0xcf, 0xc7, 0xc9, 0xde,
+	0x72, 0xc0, 0x53, 0xf5, 0xe5, 0xdf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x4e, 0x91, 0xae, 0xe0, 0x73,
+	0x0a, 0x00, 0x00,
+}
+
+func (m *EsDataBase) Marshal() (dAtA []byte, err error) {
+	size := m.Size()
+	dAtA = make([]byte, size)
+	n, err := m.MarshalTo(dAtA)
+	if err != nil {
+		return nil, err
+	}
+	return dAtA[:n], nil
+}
+
+func (m *EsDataBase) MarshalTo(dAtA []byte) (int, error) {
+	var i int
+	_ = i
+	var l int
+	_ = l
+	if len(m.Id) > 0 {
+		dAtA[i] = 0xa
+		i++
+		i = encodeVarintAiocean(dAtA, i, uint64(len(m.Id)))
+		i += copy(dAtA[i:], m.Id)
+	}
+	if len(m.CameraId) > 0 {
+		dAtA[i] = 0x12
+		i++
+		i = encodeVarintAiocean(dAtA, i, uint64(len(m.CameraId)))
+		i += copy(dAtA[i:], m.CameraId)
+	}
+	if len(m.CameraName) > 0 {
+		dAtA[i] = 0x1a
+		i++
+		i = encodeVarintAiocean(dAtA, i, uint64(len(m.CameraName)))
+		i += copy(dAtA[i:], m.CameraName)
+	}
+	if len(m.CameraAddr) > 0 {
+		dAtA[i] = 0x22
+		i++
+		i = encodeVarintAiocean(dAtA, i, uint64(len(m.CameraAddr)))
+		i += copy(dAtA[i:], m.CameraAddr)
+	}
+	if len(m.AnalyServerId) > 0 {
+		dAtA[i] = 0x2a
+		i++
+		i = encodeVarintAiocean(dAtA, i, uint64(len(m.AnalyServerId)))
+		i += copy(dAtA[i:], m.AnalyServerId)
+	}
+	if len(m.AnalyServerName) > 0 {
+		dAtA[i] = 0x32
+		i++
+		i = encodeVarintAiocean(dAtA, i, uint64(len(m.AnalyServerName)))
+		i += copy(dAtA[i:], m.AnalyServerName)
+	}
+	if len(m.AnalyServerIp) > 0 {
+		dAtA[i] = 0x3a
+		i++
+		i = encodeVarintAiocean(dAtA, i, uint64(len(m.AnalyServerIp)))
+		i += copy(dAtA[i:], m.AnalyServerIp)
+	}
+	if len(m.ClusterId) > 0 {
+		dAtA[i] = 0x42
+		i++
+		i = encodeVarintAiocean(dAtA, i, uint64(len(m.ClusterId)))
+		i += copy(dAtA[i:], m.ClusterId)
+	}
+	if len(m.TaskId) > 0 {
+		dAtA[i] = 0x4a
+		i++
+		i = encodeVarintAiocean(dAtA, i, uint64(len(m.TaskId)))
+		i += copy(dAtA[i:], m.TaskId)
+	}
+	if len(m.TaskName) > 0 {
+		dAtA[i] = 0x52
+		i++
+		i = encodeVarintAiocean(dAtA, i, uint64(len(m.TaskName)))
+		i += copy(dAtA[i:], m.TaskName)
+	}
+	if len(m.SdkName) > 0 {
+		dAtA[i] = 0x5a
+		i++
+		i = encodeVarintAiocean(dAtA, i, uint64(len(m.SdkName)))
+		i += copy(dAtA[i:], m.SdkName)
+	}
+	if len(m.PicMaxUrl) > 0 {
+		for _, s := range m.PicMaxUrl {
+			dAtA[i] = 0x62
+			i++
+			l = len(s)
+			for l >= 1<<7 {
+				dAtA[i] = uint8(uint64(l)&0x7f | 0x80)
+				l >>= 7
+				i++
+			}
+			dAtA[i] = uint8(l)
+			i++
+			i += copy(dAtA[i:], s)
+		}
+	}
+	if len(m.VideoUrl) > 0 {
+		dAtA[i] = 0x6a
+		i++
+		i = encodeVarintAiocean(dAtA, i, uint64(len(m.VideoUrl)))
+		i += copy(dAtA[i:], m.VideoUrl)
+	}
+	if len(m.PicDate) > 0 {
+		dAtA[i] = 0x72
+		i++
+		i = encodeVarintAiocean(dAtA, i, uint64(len(m.PicDate)))
+		i += copy(dAtA[i:], m.PicDate)
+	}
+	if len(m.TargetInfo) > 0 {
+		for _, msg := range m.TargetInfo {
+			dAtA[i] = 0x7a
+			i++
+			i = encodeVarintAiocean(dAtA, i, uint64(msg.Size()))
+			n, err := msg.MarshalTo(dAtA[i:])
+			if err != nil {
+				return 0, err
+			}
+			i += n
+		}
+	}
+	if len(m.OtherLabels) > 0 {
+		dAtA[i] = 0x82
+		i++
+		dAtA[i] = 0x1
+		i++
+		i = encodeVarintAiocean(dAtA, i, uint64(len(m.OtherLabels)))
+		i += copy(dAtA[i:], m.OtherLabels)
+	}
+	if len(m.ShowLabels) > 0 {
+		dAtA[i] = 0x8a
+		i++
+		dAtA[i] = 0x1
+		i++
+		i = encodeVarintAiocean(dAtA, i, uint64(len(m.ShowLabels)))
+		i += copy(dAtA[i:], m.ShowLabels)
+	}
+	if len(m.LikeDate) > 0 {
+		dAtA[i] = 0x92
+		i++
+		dAtA[i] = 0x1
+		i++
+		i = encodeVarintAiocean(dAtA, i, uint64(len(m.LikeDate)))
+		i += copy(dAtA[i:], m.LikeDate)
+	}
+	if len(m.BaseInfo) > 0 {
+		for _, msg := range m.BaseInfo {
+			dAtA[i] = 0x9a
+			i++
+			dAtA[i] = 0x1
+			i++
+			i = encodeVarintAiocean(dAtA, i, uint64(msg.Size()))
+			n, err := msg.MarshalTo(dAtA[i:])
+			if err != nil {
+				return 0, err
+			}
+			i += n
+		}
+	}
+	if m.IsAlarm {
+		dAtA[i] = 0xa0
+		i++
+		dAtA[i] = 0x1
+		i++
+		if m.IsAlarm {
+			dAtA[i] = 1
+		} else {
+			dAtA[i] = 0
+		}
+		i++
+	}
+	if m.IsAckAlarm {
+		dAtA[i] = 0xa8
+		i++
+		dAtA[i] = 0x1
+		i++
+		if m.IsAckAlarm {
+			dAtA[i] = 1
+		} else {
+			dAtA[i] = 0
+		}
+		i++
+	}
+	if len(m.AlarmRules) > 0 {
+		for _, msg := range m.AlarmRules {
+			dAtA[i] = 0xb2
+			i++
+			dAtA[i] = 0x1
+			i++
+			i = encodeVarintAiocean(dAtA, i, uint64(msg.Size()))
+			n, err := msg.MarshalTo(dAtA[i:])
+			if err != nil {
+				return 0, err
+			}
+			i += n
+		}
+	}
+	if m.IsCollect {
+		dAtA[i] = 0xb8
+		i++
+		dAtA[i] = 0x1
+		i++
+		if m.IsCollect {
+			dAtA[i] = 1
+		} else {
+			dAtA[i] = 0
+		}
+		i++
+	}
+	if m.IsDelete {
+		dAtA[i] = 0xc0
+		i++
+		dAtA[i] = 0x1
+		i++
+		if m.IsDelete {
+			dAtA[i] = 1
+		} else {
+			dAtA[i] = 0
+		}
+		i++
+	}
+	if len(m.Content) > 0 {
+		dAtA[i] = 0xca
+		i++
+		dAtA[i] = 0x1
+		i++
+		i = encodeVarintAiocean(dAtA, i, uint64(len(m.Content)))
+		i += copy(dAtA[i:], m.Content)
+	}
+	return i, nil
+}
+
+func (m *AIOcean) Marshal() (dAtA []byte, err error) {
+	size := m.Size()
+	dAtA = make([]byte, size)
+	n, err := m.MarshalTo(dAtA)
+	if err != nil {
+		return nil, err
+	}
+	return dAtA[:n], nil
+}
+
+func (m *AIOcean) MarshalTo(dAtA []byte) (int, error) {
+	var i int
+	_ = i
+	var l int
+	_ = l
+	if len(m.Id) > 0 {
+		dAtA[i] = 0xa
+		i++
+		i = encodeVarintAiocean(dAtA, i, uint64(len(m.Id)))
+		i += copy(dAtA[i:], m.Id)
+	}
+	if len(m.CameraId) > 0 {
+		dAtA[i] = 0x12
+		i++
+		i = encodeVarintAiocean(dAtA, i, uint64(len(m.CameraId)))
+		i += copy(dAtA[i:], m.CameraId)
+	}
+	if len(m.CameraName) > 0 {
+		dAtA[i] = 0x1a
+		i++
+		i = encodeVarintAiocean(dAtA, i, uint64(len(m.CameraName)))
+		i += copy(dAtA[i:], m.CameraName)
+	}
+	if len(m.CameraAddr) > 0 {
+		dAtA[i] = 0x22
+		i++
+		i = encodeVarintAiocean(dAtA, i, uint64(len(m.CameraAddr)))
+		i += copy(dAtA[i:], m.CameraAddr)
+	}
+	if len(m.AnalyServerId) > 0 {
+		dAtA[i] = 0x2a
+		i++
+		i = encodeVarintAiocean(dAtA, i, uint64(len(m.AnalyServerId)))
+		i += copy(dAtA[i:], m.AnalyServerId)
+	}
+	if len(m.AnalyServerName) > 0 {
+		dAtA[i] = 0x32
+		i++
+		i = encodeVarintAiocean(dAtA, i, uint64(len(m.AnalyServerName)))
+		i += copy(dAtA[i:], m.AnalyServerName)
+	}
+	if len(m.AnalyServerIp) > 0 {
+		dAtA[i] = 0x3a
+		i++
+		i = encodeVarintAiocean(dAtA, i, uint64(len(m.AnalyServerIp)))
+		i += copy(dAtA[i:], m.AnalyServerIp)
+	}
+	if len(m.ClusterId) > 0 {
+		dAtA[i] = 0x42
+		i++
+		i = encodeVarintAiocean(dAtA, i, uint64(len(m.ClusterId)))
+		i += copy(dAtA[i:], m.ClusterId)
+	}
+	if len(m.TaskId) > 0 {
+		dAtA[i] = 0x4a
+		i++
+		i = encodeVarintAiocean(dAtA, i, uint64(len(m.TaskId)))
+		i += copy(dAtA[i:], m.TaskId)
+	}
+	if len(m.TaskName) > 0 {
+		dAtA[i] = 0x52
+		i++
+		i = encodeVarintAiocean(dAtA, i, uint64(len(m.TaskName)))
+		i += copy(dAtA[i:], m.TaskName)
+	}
+	if len(m.SdkName) > 0 {
+		dAtA[i] = 0x5a
+		i++
+		i = encodeVarintAiocean(dAtA, i, uint64(len(m.SdkName)))
+		i += copy(dAtA[i:], m.SdkName)
+	}
+	if len(m.PicMaxUrl) > 0 {
+		for _, s := range m.PicMaxUrl {
+			dAtA[i] = 0x62
+			i++
+			l = len(s)
+			for l >= 1<<7 {
+				dAtA[i] = uint8(uint64(l)&0x7f | 0x80)
+				l >>= 7
+				i++
+			}
+			dAtA[i] = uint8(l)
+			i++
+			i += copy(dAtA[i:], s)
+		}
+	}
+	if len(m.VideoUrl) > 0 {
+		dAtA[i] = 0x6a
+		i++
+		i = encodeVarintAiocean(dAtA, i, uint64(len(m.VideoUrl)))
+		i += copy(dAtA[i:], m.VideoUrl)
+	}
+	if len(m.PicDate) > 0 {
+		dAtA[i] = 0x72
+		i++
+		i = encodeVarintAiocean(dAtA, i, uint64(len(m.PicDate)))
+		i += copy(dAtA[i:], m.PicDate)
+	}
+	if len(m.TargetInfo) > 0 {
+		for _, msg := range m.TargetInfo {
+			dAtA[i] = 0x7a
+			i++
+			i = encodeVarintAiocean(dAtA, i, uint64(msg.Size()))
+			n, err := msg.MarshalTo(dAtA[i:])
+			if err != nil {
+				return 0, err
+			}
+			i += n
+		}
+	}
+	if len(m.OtherLabels) > 0 {
+		dAtA[i] = 0x82
+		i++
+		dAtA[i] = 0x1
+		i++
+		i = encodeVarintAiocean(dAtA, i, uint64(len(m.OtherLabels)))
+		i += copy(dAtA[i:], m.OtherLabels)
+	}
+	if len(m.ShowLabels) > 0 {
+		dAtA[i] = 0x8a
+		i++
+		dAtA[i] = 0x1
+		i++
+		i = encodeVarintAiocean(dAtA, i, uint64(len(m.ShowLabels)))
+		i += copy(dAtA[i:], m.ShowLabels)
+	}
+	if len(m.LikeDate) > 0 {
+		dAtA[i] = 0x92
+		i++
+		dAtA[i] = 0x1
+		i++
+		i = encodeVarintAiocean(dAtA, i, uint64(len(m.LikeDate)))
+		i += copy(dAtA[i:], m.LikeDate)
+	}
+	if len(m.BaseInfo) > 0 {
+		for _, msg := range m.BaseInfo {
+			dAtA[i] = 0x9a
+			i++
+			dAtA[i] = 0x1
+			i++
+			i = encodeVarintAiocean(dAtA, i, uint64(msg.Size()))
+			n, err := msg.MarshalTo(dAtA[i:])
+			if err != nil {
+				return 0, err
+			}
+			i += n
+		}
+	}
+	if m.IsAlarm {
+		dAtA[i] = 0xa0
+		i++
+		dAtA[i] = 0x1
+		i++
+		if m.IsAlarm {
+			dAtA[i] = 1
+		} else {
+			dAtA[i] = 0
+		}
+		i++
+	}
+	if m.IsAckAlarm {
+		dAtA[i] = 0xa8
+		i++
+		dAtA[i] = 0x1
+		i++
+		if m.IsAckAlarm {
+			dAtA[i] = 1
+		} else {
+			dAtA[i] = 0
+		}
+		i++
+	}
+	if len(m.AlarmRules) > 0 {
+		for _, msg := range m.AlarmRules {
+			dAtA[i] = 0xb2
+			i++
+			dAtA[i] = 0x1
+			i++
+			i = encodeVarintAiocean(dAtA, i, uint64(msg.Size()))
+			n, err := msg.MarshalTo(dAtA[i:])
+			if err != nil {
+				return 0, err
+			}
+			i += n
+		}
+	}
+	if m.IsCollect {
+		dAtA[i] = 0xb8
+		i++
+		dAtA[i] = 0x1
+		i++
+		if m.IsCollect {
+			dAtA[i] = 1
+		} else {
+			dAtA[i] = 0
+		}
+		i++
+	}
+	if m.IsDelete {
+		dAtA[i] = 0xc0
+		i++
+		dAtA[i] = 0x1
+		i++
+		if m.IsDelete {
+			dAtA[i] = 1
+		} else {
+			dAtA[i] = 0
+		}
+		i++
+	}
+	if len(m.Content) > 0 {
+		dAtA[i] = 0xca
+		i++
+		dAtA[i] = 0x1
+		i++
+		i = encodeVarintAiocean(dAtA, i, uint64(len(m.Content)))
+		i += copy(dAtA[i:], m.Content)
+	}
+	if len(m.LinkTag) > 0 {
+		dAtA[i] = 0xd2
+		i++
+		dAtA[i] = 0x1
+		i++
+		i = encodeVarintAiocean(dAtA, i, uint64(len(m.LinkTag)))
+		i += copy(dAtA[i:], m.LinkTag)
+	}
+	if len(m.LinkTagInfo) > 0 {
+		for _, msg := range m.LinkTagInfo {
+			dAtA[i] = 0xda
+			i++
+			dAtA[i] = 0x1
+			i++
+			i = encodeVarintAiocean(dAtA, i, uint64(msg.Size()))
+			n, err := msg.MarshalTo(dAtA[i:])
+			if err != nil {
+				return 0, err
+			}
+			i += n
+		}
+	}
+	return i, nil
+}
+
+func (m *TargetInfo) Marshal() (dAtA []byte, err error) {
+	size := m.Size()
+	dAtA = make([]byte, size)
+	n, err := m.MarshalTo(dAtA)
+	if err != nil {
+		return nil, err
+	}
+	return dAtA[:n], nil
+}
+
+func (m *TargetInfo) MarshalTo(dAtA []byte) (int, error) {
+	var i int
+	_ = i
+	var l int
+	_ = l
+	if len(m.TargetId) > 0 {
+		dAtA[i] = 0xa
+		i++
+		i = encodeVarintAiocean(dAtA, i, uint64(len(m.TargetId)))
+		i += copy(dAtA[i:], m.TargetId)
+	}
+	if len(m.TargetType) > 0 {
+		dAtA[i] = 0x12
+		i++
+		i = encodeVarintAiocean(dAtA, i, uint64(len(m.TargetType)))
+		i += copy(dAtA[i:], m.TargetType)
+	}
+	if m.TargetScore != 0 {
+		dAtA[i] = 0x19
+		i++
+		encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.TargetScore))))
+		i += 8
+	}
+	if len(m.Feature) > 0 {
+		dAtA[i] = 0x22
+		i++
+		i = encodeVarintAiocean(dAtA, i, uint64(len(m.Feature)))
+		i += copy(dAtA[i:], m.Feature)
+	}
+	if len(m.PicSmUrl) > 0 {
+		dAtA[i] = 0x2a
+		i++
+		i = encodeVarintAiocean(dAtA, i, uint64(len(m.PicSmUrl)))
+		i += copy(dAtA[i:], m.PicSmUrl)
+	}
+	if m.TargetLocation != nil {
+		dAtA[i] = 0x32
+		i++
+		i = encodeVarintAiocean(dAtA, i, uint64(m.TargetLocation.Size()))
+		n1, err1 := m.TargetLocation.MarshalTo(dAtA[i:])
+		if err1 != nil {
+			return 0, err1
+		}
+		i += n1
+	}
+	return i, nil
+}
+
+func (m *TargetLocation) Marshal() (dAtA []byte, err error) {
+	size := m.Size()
+	dAtA = make([]byte, size)
+	n, err := m.MarshalTo(dAtA)
+	if err != nil {
+		return nil, err
+	}
+	return dAtA[:n], nil
+}
+
+func (m *TargetLocation) MarshalTo(dAtA []byte) (int, error) {
+	var i int
+	_ = i
+	var l int
+	_ = l
+	if m.TopLeft != nil {
+		dAtA[i] = 0xa
+		i++
+		i = encodeVarintAiocean(dAtA, i, uint64(m.TopLeft.Size()))
+		n2, err2 := m.TopLeft.MarshalTo(dAtA[i:])
+		if err2 != nil {
+			return 0, err2
+		}
+		i += n2
+	}
+	if m.BottomRight != nil {
+		dAtA[i] = 0x12
+		i++
+		i = encodeVarintAiocean(dAtA, i, uint64(m.BottomRight.Size()))
+		n3, err3 := m.BottomRight.MarshalTo(dAtA[i:])
+		if err3 != nil {
+			return 0, err3
+		}
+		i += n3
+	}
+	return i, nil
+}
+
+func (m *Location) Marshal() (dAtA []byte, err error) {
+	size := m.Size()
+	dAtA = make([]byte, size)
+	n, err := m.MarshalTo(dAtA)
+	if err != nil {
+		return nil, err
+	}
+	return dAtA[:n], nil
+}
+
+func (m *Location) MarshalTo(dAtA []byte) (int, error) {
+	var i int
+	_ = i
+	var l int
+	_ = l
+	if m.X != 0 {
+		dAtA[i] = 0x9
+		i++
+		encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.X))))
+		i += 8
+	}
+	if m.Y != 0 {
+		dAtA[i] = 0x11
+		i++
+		encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.Y))))
+		i += 8
+	}
+	return i, nil
+}
+
+func (m *AlarmRules) Marshal() (dAtA []byte, err error) {
+	size := m.Size()
+	dAtA = make([]byte, size)
+	n, err := m.MarshalTo(dAtA)
+	if err != nil {
+		return nil, err
+	}
+	return dAtA[:n], nil
+}
+
+func (m *AlarmRules) MarshalTo(dAtA []byte) (int, error) {
+	var i int
+	_ = i
+	var l int
+	_ = l
+	if len(m.GroupId) > 0 {
+		dAtA[i] = 0xa
+		i++
+		i = encodeVarintAiocean(dAtA, i, uint64(len(m.GroupId)))
+		i += copy(dAtA[i:], m.GroupId)
+	}
+	if len(m.AlarmLevel) > 0 {
+		dAtA[i] = 0x12
+		i++
+		i = encodeVarintAiocean(dAtA, i, uint64(len(m.AlarmLevel)))
+		i += copy(dAtA[i:], m.AlarmLevel)
+	}
+	if len(m.RuleText) > 0 {
+		dAtA[i] = 0x1a
+		i++
+		i = encodeVarintAiocean(dAtA, i, uint64(len(m.RuleText)))
+		i += copy(dAtA[i:], m.RuleText)
+	}
+	if m.DefenceState {
+		dAtA[i] = 0x20
+		i++
+		if m.DefenceState {
+			dAtA[i] = 1
+		} else {
+			dAtA[i] = 0
+		}
+		i++
+	}
+	if m.IsLink {
+		dAtA[i] = 0x28
+		i++
+		if m.IsLink {
+			dAtA[i] = 1
+		} else {
+			dAtA[i] = 0
+		}
+		i++
+	}
+	if len(m.LinkInfo) > 0 {
+		dAtA[i] = 0x32
+		i++
+		i = encodeVarintAiocean(dAtA, i, uint64(len(m.LinkInfo)))
+		i += copy(dAtA[i:], m.LinkInfo)
+	}
+	return i, nil
+}
+
+func (m *BaseInfo) Marshal() (dAtA []byte, err error) {
+	size := m.Size()
+	dAtA = make([]byte, size)
+	n, err := m.MarshalTo(dAtA)
+	if err != nil {
+		return nil, err
+	}
+	return dAtA[:n], nil
+}
+
+func (m *BaseInfo) MarshalTo(dAtA []byte) (int, error) {
+	var i int
+	_ = i
+	var l int
+	_ = l
+	if len(m.TableId) > 0 {
+		dAtA[i] = 0xa
+		i++
+		i = encodeVarintAiocean(dAtA, i, uint64(len(m.TableId)))
+		i += copy(dAtA[i:], m.TableId)
+	}
+	if len(m.TableName) > 0 {
+		dAtA[i] = 0x12
+		i++
+		i = encodeVarintAiocean(dAtA, i, uint64(len(m.TableName)))
+		i += copy(dAtA[i:], m.TableName)
+	}
+	if m.CompareScore != 0 {
+		dAtA[i] = 0x19
+		i++
+		encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.CompareScore))))
+		i += 8
+	}
+	if len(m.BwType) > 0 {
+		dAtA[i] = 0x22
+		i++
+		i = encodeVarintAiocean(dAtA, i, uint64(len(m.BwType)))
+		i += copy(dAtA[i:], m.BwType)
+	}
+	if len(m.TargetId) > 0 {
+		dAtA[i] = 0x2a
+		i++
+		i = encodeVarintAiocean(dAtA, i, uint64(len(m.TargetId)))
+		i += copy(dAtA[i:], m.TargetId)
+	}
+	if len(m.TargetName) > 0 {
+		dAtA[i] = 0x32
+		i++
+		i = encodeVarintAiocean(dAtA, i, uint64(len(m.TargetName)))
+		i += copy(dAtA[i:], m.TargetName)
+	}
+	if len(m.TargetPicUrl) > 0 {
+		dAtA[i] = 0x3a
+		i++
+		i = encodeVarintAiocean(dAtA, i, uint64(len(m.TargetPicUrl)))
+		i += copy(dAtA[i:], m.TargetPicUrl)
+	}
+	if len(m.MonitorLevel) > 0 {
+		dAtA[i] = 0x42
+		i++
+		i = encodeVarintAiocean(dAtA, i, uint64(len(m.MonitorLevel)))
+		i += copy(dAtA[i:], m.MonitorLevel)
+	}
+	if len(m.Labels) > 0 {
+		dAtA[i] = 0x4a
+		i++
+		i = encodeVarintAiocean(dAtA, i, uint64(len(m.Labels)))
+		i += copy(dAtA[i:], m.Labels)
+	}
+	if len(m.Content) > 0 {
+		dAtA[i] = 0x52
+		i++
+		i = encodeVarintAiocean(dAtA, i, uint64(len(m.Content)))
+		i += copy(dAtA[i:], m.Content)
+	}
+	return i, nil
+}
+
+func encodeVarintAiocean(dAtA []byte, offset int, v uint64) int {
+	for v >= 1<<7 {
+		dAtA[offset] = uint8(v&0x7f | 0x80)
+		v >>= 7
+		offset++
+	}
+	dAtA[offset] = uint8(v)
+	return offset + 1
+}
+func (m *EsDataBase) Size() (n int) {
+	if m == nil {
+		return 0
+	}
+	var l int
+	_ = l
+	l = len(m.Id)
+	if l > 0 {
+		n += 1 + l + sovAiocean(uint64(l))
+	}
+	l = len(m.CameraId)
+	if l > 0 {
+		n += 1 + l + sovAiocean(uint64(l))
+	}
+	l = len(m.CameraName)
+	if l > 0 {
+		n += 1 + l + sovAiocean(uint64(l))
+	}
+	l = len(m.CameraAddr)
+	if l > 0 {
+		n += 1 + l + sovAiocean(uint64(l))
+	}
+	l = len(m.AnalyServerId)
+	if l > 0 {
+		n += 1 + l + sovAiocean(uint64(l))
+	}
+	l = len(m.AnalyServerName)
+	if l > 0 {
+		n += 1 + l + sovAiocean(uint64(l))
+	}
+	l = len(m.AnalyServerIp)
+	if l > 0 {
+		n += 1 + l + sovAiocean(uint64(l))
+	}
+	l = len(m.ClusterId)
+	if l > 0 {
+		n += 1 + l + sovAiocean(uint64(l))
+	}
+	l = len(m.TaskId)
+	if l > 0 {
+		n += 1 + l + sovAiocean(uint64(l))
+	}
+	l = len(m.TaskName)
+	if l > 0 {
+		n += 1 + l + sovAiocean(uint64(l))
+	}
+	l = len(m.SdkName)
+	if l > 0 {
+		n += 1 + l + sovAiocean(uint64(l))
+	}
+	if len(m.PicMaxUrl) > 0 {
+		for _, s := range m.PicMaxUrl {
+			l = len(s)
+			n += 1 + l + sovAiocean(uint64(l))
+		}
+	}
+	l = len(m.VideoUrl)
+	if l > 0 {
+		n += 1 + l + sovAiocean(uint64(l))
+	}
+	l = len(m.PicDate)
+	if l > 0 {
+		n += 1 + l + sovAiocean(uint64(l))
+	}
+	if len(m.TargetInfo) > 0 {
+		for _, e := range m.TargetInfo {
+			l = e.Size()
+			n += 1 + l + sovAiocean(uint64(l))
+		}
+	}
+	l = len(m.OtherLabels)
+	if l > 0 {
+		n += 2 + l + sovAiocean(uint64(l))
+	}
+	l = len(m.ShowLabels)
+	if l > 0 {
+		n += 2 + l + sovAiocean(uint64(l))
+	}
+	l = len(m.LikeDate)
+	if l > 0 {
+		n += 2 + l + sovAiocean(uint64(l))
+	}
+	if len(m.BaseInfo) > 0 {
+		for _, e := range m.BaseInfo {
+			l = e.Size()
+			n += 2 + l + sovAiocean(uint64(l))
+		}
+	}
+	if m.IsAlarm {
+		n += 3
+	}
+	if m.IsAckAlarm {
+		n += 3
+	}
+	if len(m.AlarmRules) > 0 {
+		for _, e := range m.AlarmRules {
+			l = e.Size()
+			n += 2 + l + sovAiocean(uint64(l))
+		}
+	}
+	if m.IsCollect {
+		n += 3
+	}
+	if m.IsDelete {
+		n += 3
+	}
+	l = len(m.Content)
+	if l > 0 {
+		n += 2 + l + sovAiocean(uint64(l))
+	}
+	return n
+}
+
+func (m *AIOcean) Size() (n int) {
+	if m == nil {
+		return 0
+	}
+	var l int
+	_ = l
+	l = len(m.Id)
+	if l > 0 {
+		n += 1 + l + sovAiocean(uint64(l))
+	}
+	l = len(m.CameraId)
+	if l > 0 {
+		n += 1 + l + sovAiocean(uint64(l))
+	}
+	l = len(m.CameraName)
+	if l > 0 {
+		n += 1 + l + sovAiocean(uint64(l))
+	}
+	l = len(m.CameraAddr)
+	if l > 0 {
+		n += 1 + l + sovAiocean(uint64(l))
+	}
+	l = len(m.AnalyServerId)
+	if l > 0 {
+		n += 1 + l + sovAiocean(uint64(l))
+	}
+	l = len(m.AnalyServerName)
+	if l > 0 {
+		n += 1 + l + sovAiocean(uint64(l))
+	}
+	l = len(m.AnalyServerIp)
+	if l > 0 {
+		n += 1 + l + sovAiocean(uint64(l))
+	}
+	l = len(m.ClusterId)
+	if l > 0 {
+		n += 1 + l + sovAiocean(uint64(l))
+	}
+	l = len(m.TaskId)
+	if l > 0 {
+		n += 1 + l + sovAiocean(uint64(l))
+	}
+	l = len(m.TaskName)
+	if l > 0 {
+		n += 1 + l + sovAiocean(uint64(l))
+	}
+	l = len(m.SdkName)
+	if l > 0 {
+		n += 1 + l + sovAiocean(uint64(l))
+	}
+	if len(m.PicMaxUrl) > 0 {
+		for _, s := range m.PicMaxUrl {
+			l = len(s)
+			n += 1 + l + sovAiocean(uint64(l))
+		}
+	}
+	l = len(m.VideoUrl)
+	if l > 0 {
+		n += 1 + l + sovAiocean(uint64(l))
+	}
+	l = len(m.PicDate)
+	if l > 0 {
+		n += 1 + l + sovAiocean(uint64(l))
+	}
+	if len(m.TargetInfo) > 0 {
+		for _, e := range m.TargetInfo {
+			l = e.Size()
+			n += 1 + l + sovAiocean(uint64(l))
+		}
+	}
+	l = len(m.OtherLabels)
+	if l > 0 {
+		n += 2 + l + sovAiocean(uint64(l))
+	}
+	l = len(m.ShowLabels)
+	if l > 0 {
+		n += 2 + l + sovAiocean(uint64(l))
+	}
+	l = len(m.LikeDate)
+	if l > 0 {
+		n += 2 + l + sovAiocean(uint64(l))
+	}
+	if len(m.BaseInfo) > 0 {
+		for _, e := range m.BaseInfo {
+			l = e.Size()
+			n += 2 + l + sovAiocean(uint64(l))
+		}
+	}
+	if m.IsAlarm {
+		n += 3
+	}
+	if m.IsAckAlarm {
+		n += 3
+	}
+	if len(m.AlarmRules) > 0 {
+		for _, e := range m.AlarmRules {
+			l = e.Size()
+			n += 2 + l + sovAiocean(uint64(l))
+		}
+	}
+	if m.IsCollect {
+		n += 3
+	}
+	if m.IsDelete {
+		n += 3
+	}
+	l = len(m.Content)
+	if l > 0 {
+		n += 2 + l + sovAiocean(uint64(l))
+	}
+	l = len(m.LinkTag)
+	if l > 0 {
+		n += 2 + l + sovAiocean(uint64(l))
+	}
+	if len(m.LinkTagInfo) > 0 {
+		for _, e := range m.LinkTagInfo {
+			l = e.Size()
+			n += 2 + l + sovAiocean(uint64(l))
+		}
+	}
+	return n
+}
+
+func (m *TargetInfo) Size() (n int) {
+	if m == nil {
+		return 0
+	}
+	var l int
+	_ = l
+	l = len(m.TargetId)
+	if l > 0 {
+		n += 1 + l + sovAiocean(uint64(l))
+	}
+	l = len(m.TargetType)
+	if l > 0 {
+		n += 1 + l + sovAiocean(uint64(l))
+	}
+	if m.TargetScore != 0 {
+		n += 9
+	}
+	l = len(m.Feature)
+	if l > 0 {
+		n += 1 + l + sovAiocean(uint64(l))
+	}
+	l = len(m.PicSmUrl)
+	if l > 0 {
+		n += 1 + l + sovAiocean(uint64(l))
+	}
+	if m.TargetLocation != nil {
+		l = m.TargetLocation.Size()
+		n += 1 + l + sovAiocean(uint64(l))
+	}
+	return n
+}
+
+func (m *TargetLocation) Size() (n int) {
+	if m == nil {
+		return 0
+	}
+	var l int
+	_ = l
+	if m.TopLeft != nil {
+		l = m.TopLeft.Size()
+		n += 1 + l + sovAiocean(uint64(l))
+	}
+	if m.BottomRight != nil {
+		l = m.BottomRight.Size()
+		n += 1 + l + sovAiocean(uint64(l))
+	}
+	return n
+}
+
+func (m *Location) Size() (n int) {
+	if m == nil {
+		return 0
+	}
+	var l int
+	_ = l
+	if m.X != 0 {
+		n += 9
+	}
+	if m.Y != 0 {
+		n += 9
+	}
+	return n
+}
+
+func (m *AlarmRules) Size() (n int) {
+	if m == nil {
+		return 0
+	}
+	var l int
+	_ = l
+	l = len(m.GroupId)
+	if l > 0 {
+		n += 1 + l + sovAiocean(uint64(l))
+	}
+	l = len(m.AlarmLevel)
+	if l > 0 {
+		n += 1 + l + sovAiocean(uint64(l))
+	}
+	l = len(m.RuleText)
+	if l > 0 {
+		n += 1 + l + sovAiocean(uint64(l))
+	}
+	if m.DefenceState {
+		n += 2
+	}
+	if m.IsLink {
+		n += 2
+	}
+	l = len(m.LinkInfo)
+	if l > 0 {
+		n += 1 + l + sovAiocean(uint64(l))
+	}
+	return n
+}
+
+func (m *BaseInfo) Size() (n int) {
+	if m == nil {
+		return 0
+	}
+	var l int
+	_ = l
+	l = len(m.TableId)
+	if l > 0 {
+		n += 1 + l + sovAiocean(uint64(l))
+	}
+	l = len(m.TableName)
+	if l > 0 {
+		n += 1 + l + sovAiocean(uint64(l))
+	}
+	if m.CompareScore != 0 {
+		n += 9
+	}
+	l = len(m.BwType)
+	if l > 0 {
+		n += 1 + l + sovAiocean(uint64(l))
+	}
+	l = len(m.TargetId)
+	if l > 0 {
+		n += 1 + l + sovAiocean(uint64(l))
+	}
+	l = len(m.TargetName)
+	if l > 0 {
+		n += 1 + l + sovAiocean(uint64(l))
+	}
+	l = len(m.TargetPicUrl)
+	if l > 0 {
+		n += 1 + l + sovAiocean(uint64(l))
+	}
+	l = len(m.MonitorLevel)
+	if l > 0 {
+		n += 1 + l + sovAiocean(uint64(l))
+	}
+	l = len(m.Labels)
+	if l > 0 {
+		n += 1 + l + sovAiocean(uint64(l))
+	}
+	l = len(m.Content)
+	if l > 0 {
+		n += 1 + l + sovAiocean(uint64(l))
+	}
+	return n
+}
+
+func sovAiocean(x uint64) (n int) {
+	return (math_bits.Len64(x|1) + 6) / 7
+}
+func sozAiocean(x uint64) (n int) {
+	return sovAiocean(uint64((x << 1) ^ uint64((int64(x) >> 63))))
+}
+func (m *EsDataBase) Unmarshal(dAtA []byte) error {
+	l := len(dAtA)
+	iNdEx := 0
+	for iNdEx < l {
+		preIndex := iNdEx
+		var wire uint64
+		for shift := uint(0); ; shift += 7 {
+			if shift >= 64 {
+				return ErrIntOverflowAiocean
+			}
+			if iNdEx >= l {
+				return io.ErrUnexpectedEOF
+			}
+			b := dAtA[iNdEx]
+			iNdEx++
+			wire |= uint64(b&0x7F) << shift
+			if b < 0x80 {
+				break
+			}
+		}
+		fieldNum := int32(wire >> 3)
+		wireType := int(wire & 0x7)
+		if wireType == 4 {
+			return fmt.Errorf("proto: EsDataBase: wiretype end group for non-group")
+		}
+		if fieldNum <= 0 {
+			return fmt.Errorf("proto: EsDataBase: illegal tag %d (wire type %d)", fieldNum, wire)
+		}
+		switch fieldNum {
+		case 1:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType)
+			}
+			var stringLen uint64
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				stringLen |= uint64(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			intStringLen := int(stringLen)
+			if intStringLen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + intStringLen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.Id = string(dAtA[iNdEx:postIndex])
+			iNdEx = postIndex
+		case 2:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field CameraId", wireType)
+			}
+			var stringLen uint64
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				stringLen |= uint64(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			intStringLen := int(stringLen)
+			if intStringLen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + intStringLen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.CameraId = string(dAtA[iNdEx:postIndex])
+			iNdEx = postIndex
+		case 3:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field CameraName", wireType)
+			}
+			var stringLen uint64
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				stringLen |= uint64(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			intStringLen := int(stringLen)
+			if intStringLen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + intStringLen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.CameraName = string(dAtA[iNdEx:postIndex])
+			iNdEx = postIndex
+		case 4:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field CameraAddr", wireType)
+			}
+			var stringLen uint64
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				stringLen |= uint64(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			intStringLen := int(stringLen)
+			if intStringLen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + intStringLen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.CameraAddr = string(dAtA[iNdEx:postIndex])
+			iNdEx = postIndex
+		case 5:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field AnalyServerId", wireType)
+			}
+			var stringLen uint64
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				stringLen |= uint64(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			intStringLen := int(stringLen)
+			if intStringLen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + intStringLen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.AnalyServerId = string(dAtA[iNdEx:postIndex])
+			iNdEx = postIndex
+		case 6:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field AnalyServerName", wireType)
+			}
+			var stringLen uint64
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				stringLen |= uint64(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			intStringLen := int(stringLen)
+			if intStringLen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + intStringLen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.AnalyServerName = string(dAtA[iNdEx:postIndex])
+			iNdEx = postIndex
+		case 7:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field AnalyServerIp", wireType)
+			}
+			var stringLen uint64
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				stringLen |= uint64(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			intStringLen := int(stringLen)
+			if intStringLen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + intStringLen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.AnalyServerIp = string(dAtA[iNdEx:postIndex])
+			iNdEx = postIndex
+		case 8:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field ClusterId", wireType)
+			}
+			var stringLen uint64
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				stringLen |= uint64(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			intStringLen := int(stringLen)
+			if intStringLen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + intStringLen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.ClusterId = string(dAtA[iNdEx:postIndex])
+			iNdEx = postIndex
+		case 9:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field TaskId", wireType)
+			}
+			var stringLen uint64
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				stringLen |= uint64(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			intStringLen := int(stringLen)
+			if intStringLen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + intStringLen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.TaskId = string(dAtA[iNdEx:postIndex])
+			iNdEx = postIndex
+		case 10:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field TaskName", wireType)
+			}
+			var stringLen uint64
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				stringLen |= uint64(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			intStringLen := int(stringLen)
+			if intStringLen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + intStringLen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.TaskName = string(dAtA[iNdEx:postIndex])
+			iNdEx = postIndex
+		case 11:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field SdkName", wireType)
+			}
+			var stringLen uint64
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				stringLen |= uint64(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			intStringLen := int(stringLen)
+			if intStringLen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + intStringLen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.SdkName = string(dAtA[iNdEx:postIndex])
+			iNdEx = postIndex
+		case 12:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field PicMaxUrl", wireType)
+			}
+			var stringLen uint64
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				stringLen |= uint64(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			intStringLen := int(stringLen)
+			if intStringLen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + intStringLen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.PicMaxUrl = append(m.PicMaxUrl, string(dAtA[iNdEx:postIndex]))
+			iNdEx = postIndex
+		case 13:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field VideoUrl", wireType)
+			}
+			var stringLen uint64
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				stringLen |= uint64(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			intStringLen := int(stringLen)
+			if intStringLen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + intStringLen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.VideoUrl = string(dAtA[iNdEx:postIndex])
+			iNdEx = postIndex
+		case 14:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field PicDate", wireType)
+			}
+			var stringLen uint64
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				stringLen |= uint64(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			intStringLen := int(stringLen)
+			if intStringLen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + intStringLen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.PicDate = string(dAtA[iNdEx:postIndex])
+			iNdEx = postIndex
+		case 15:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field TargetInfo", wireType)
+			}
+			var msglen int
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				msglen |= int(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			if msglen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + msglen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.TargetInfo = append(m.TargetInfo, &TargetInfo{})
+			if err := m.TargetInfo[len(m.TargetInfo)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+				return err
+			}
+			iNdEx = postIndex
+		case 16:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field OtherLabels", wireType)
+			}
+			var stringLen uint64
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				stringLen |= uint64(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			intStringLen := int(stringLen)
+			if intStringLen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + intStringLen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.OtherLabels = string(dAtA[iNdEx:postIndex])
+			iNdEx = postIndex
+		case 17:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field ShowLabels", wireType)
+			}
+			var stringLen uint64
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				stringLen |= uint64(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			intStringLen := int(stringLen)
+			if intStringLen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + intStringLen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.ShowLabels = string(dAtA[iNdEx:postIndex])
+			iNdEx = postIndex
+		case 18:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field LikeDate", wireType)
+			}
+			var stringLen uint64
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				stringLen |= uint64(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			intStringLen := int(stringLen)
+			if intStringLen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + intStringLen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.LikeDate = string(dAtA[iNdEx:postIndex])
+			iNdEx = postIndex
+		case 19:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field BaseInfo", wireType)
+			}
+			var msglen int
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				msglen |= int(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			if msglen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + msglen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.BaseInfo = append(m.BaseInfo, &BaseInfo{})
+			if err := m.BaseInfo[len(m.BaseInfo)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+				return err
+			}
+			iNdEx = postIndex
+		case 20:
+			if wireType != 0 {
+				return fmt.Errorf("proto: wrong wireType = %d for field IsAlarm", wireType)
+			}
+			var v int
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				v |= int(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			m.IsAlarm = bool(v != 0)
+		case 21:
+			if wireType != 0 {
+				return fmt.Errorf("proto: wrong wireType = %d for field IsAckAlarm", wireType)
+			}
+			var v int
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				v |= int(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			m.IsAckAlarm = bool(v != 0)
+		case 22:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field AlarmRules", wireType)
+			}
+			var msglen int
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				msglen |= int(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			if msglen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + msglen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.AlarmRules = append(m.AlarmRules, &AlarmRules{})
+			if err := m.AlarmRules[len(m.AlarmRules)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+				return err
+			}
+			iNdEx = postIndex
+		case 23:
+			if wireType != 0 {
+				return fmt.Errorf("proto: wrong wireType = %d for field IsCollect", wireType)
+			}
+			var v int
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				v |= int(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			m.IsCollect = bool(v != 0)
+		case 24:
+			if wireType != 0 {
+				return fmt.Errorf("proto: wrong wireType = %d for field IsDelete", wireType)
+			}
+			var v int
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				v |= int(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			m.IsDelete = bool(v != 0)
+		case 25:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field Content", wireType)
+			}
+			var stringLen uint64
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				stringLen |= uint64(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			intStringLen := int(stringLen)
+			if intStringLen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + intStringLen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.Content = string(dAtA[iNdEx:postIndex])
+			iNdEx = postIndex
+		default:
+			iNdEx = preIndex
+			skippy, err := skipAiocean(dAtA[iNdEx:])
+			if err != nil {
+				return err
+			}
+			if skippy < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if (iNdEx + skippy) < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if (iNdEx + skippy) > l {
+				return io.ErrUnexpectedEOF
+			}
+			iNdEx += skippy
+		}
+	}
+
+	if iNdEx > l {
+		return io.ErrUnexpectedEOF
+	}
+	return nil
+}
+func (m *AIOcean) Unmarshal(dAtA []byte) error {
+	l := len(dAtA)
+	iNdEx := 0
+	for iNdEx < l {
+		preIndex := iNdEx
+		var wire uint64
+		for shift := uint(0); ; shift += 7 {
+			if shift >= 64 {
+				return ErrIntOverflowAiocean
+			}
+			if iNdEx >= l {
+				return io.ErrUnexpectedEOF
+			}
+			b := dAtA[iNdEx]
+			iNdEx++
+			wire |= uint64(b&0x7F) << shift
+			if b < 0x80 {
+				break
+			}
+		}
+		fieldNum := int32(wire >> 3)
+		wireType := int(wire & 0x7)
+		if wireType == 4 {
+			return fmt.Errorf("proto: AIOcean: wiretype end group for non-group")
+		}
+		if fieldNum <= 0 {
+			return fmt.Errorf("proto: AIOcean: illegal tag %d (wire type %d)", fieldNum, wire)
+		}
+		switch fieldNum {
+		case 1:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType)
+			}
+			var stringLen uint64
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				stringLen |= uint64(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			intStringLen := int(stringLen)
+			if intStringLen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + intStringLen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.Id = string(dAtA[iNdEx:postIndex])
+			iNdEx = postIndex
+		case 2:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field CameraId", wireType)
+			}
+			var stringLen uint64
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				stringLen |= uint64(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			intStringLen := int(stringLen)
+			if intStringLen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + intStringLen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.CameraId = string(dAtA[iNdEx:postIndex])
+			iNdEx = postIndex
+		case 3:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field CameraName", wireType)
+			}
+			var stringLen uint64
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				stringLen |= uint64(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			intStringLen := int(stringLen)
+			if intStringLen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + intStringLen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.CameraName = string(dAtA[iNdEx:postIndex])
+			iNdEx = postIndex
+		case 4:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field CameraAddr", wireType)
+			}
+			var stringLen uint64
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				stringLen |= uint64(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			intStringLen := int(stringLen)
+			if intStringLen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + intStringLen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.CameraAddr = string(dAtA[iNdEx:postIndex])
+			iNdEx = postIndex
+		case 5:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field AnalyServerId", wireType)
+			}
+			var stringLen uint64
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				stringLen |= uint64(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			intStringLen := int(stringLen)
+			if intStringLen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + intStringLen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.AnalyServerId = string(dAtA[iNdEx:postIndex])
+			iNdEx = postIndex
+		case 6:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field AnalyServerName", wireType)
+			}
+			var stringLen uint64
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				stringLen |= uint64(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			intStringLen := int(stringLen)
+			if intStringLen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + intStringLen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.AnalyServerName = string(dAtA[iNdEx:postIndex])
+			iNdEx = postIndex
+		case 7:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field AnalyServerIp", wireType)
+			}
+			var stringLen uint64
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				stringLen |= uint64(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			intStringLen := int(stringLen)
+			if intStringLen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + intStringLen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.AnalyServerIp = string(dAtA[iNdEx:postIndex])
+			iNdEx = postIndex
+		case 8:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field ClusterId", wireType)
+			}
+			var stringLen uint64
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				stringLen |= uint64(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			intStringLen := int(stringLen)
+			if intStringLen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + intStringLen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.ClusterId = string(dAtA[iNdEx:postIndex])
+			iNdEx = postIndex
+		case 9:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field TaskId", wireType)
+			}
+			var stringLen uint64
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				stringLen |= uint64(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			intStringLen := int(stringLen)
+			if intStringLen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + intStringLen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.TaskId = string(dAtA[iNdEx:postIndex])
+			iNdEx = postIndex
+		case 10:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field TaskName", wireType)
+			}
+			var stringLen uint64
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				stringLen |= uint64(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			intStringLen := int(stringLen)
+			if intStringLen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + intStringLen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.TaskName = string(dAtA[iNdEx:postIndex])
+			iNdEx = postIndex
+		case 11:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field SdkName", wireType)
+			}
+			var stringLen uint64
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				stringLen |= uint64(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			intStringLen := int(stringLen)
+			if intStringLen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + intStringLen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.SdkName = string(dAtA[iNdEx:postIndex])
+			iNdEx = postIndex
+		case 12:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field PicMaxUrl", wireType)
+			}
+			var stringLen uint64
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				stringLen |= uint64(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			intStringLen := int(stringLen)
+			if intStringLen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + intStringLen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.PicMaxUrl = append(m.PicMaxUrl, string(dAtA[iNdEx:postIndex]))
+			iNdEx = postIndex
+		case 13:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field VideoUrl", wireType)
+			}
+			var stringLen uint64
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				stringLen |= uint64(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			intStringLen := int(stringLen)
+			if intStringLen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + intStringLen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.VideoUrl = string(dAtA[iNdEx:postIndex])
+			iNdEx = postIndex
+		case 14:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field PicDate", wireType)
+			}
+			var stringLen uint64
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				stringLen |= uint64(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			intStringLen := int(stringLen)
+			if intStringLen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + intStringLen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.PicDate = string(dAtA[iNdEx:postIndex])
+			iNdEx = postIndex
+		case 15:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field TargetInfo", wireType)
+			}
+			var msglen int
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				msglen |= int(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			if msglen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + msglen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.TargetInfo = append(m.TargetInfo, &TargetInfo{})
+			if err := m.TargetInfo[len(m.TargetInfo)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+				return err
+			}
+			iNdEx = postIndex
+		case 16:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field OtherLabels", wireType)
+			}
+			var stringLen uint64
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				stringLen |= uint64(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			intStringLen := int(stringLen)
+			if intStringLen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + intStringLen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.OtherLabels = string(dAtA[iNdEx:postIndex])
+			iNdEx = postIndex
+		case 17:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field ShowLabels", wireType)
+			}
+			var stringLen uint64
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				stringLen |= uint64(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			intStringLen := int(stringLen)
+			if intStringLen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + intStringLen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.ShowLabels = string(dAtA[iNdEx:postIndex])
+			iNdEx = postIndex
+		case 18:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field LikeDate", wireType)
+			}
+			var stringLen uint64
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				stringLen |= uint64(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			intStringLen := int(stringLen)
+			if intStringLen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + intStringLen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.LikeDate = string(dAtA[iNdEx:postIndex])
+			iNdEx = postIndex
+		case 19:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field BaseInfo", wireType)
+			}
+			var msglen int
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				msglen |= int(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			if msglen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + msglen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.BaseInfo = append(m.BaseInfo, &BaseInfo{})
+			if err := m.BaseInfo[len(m.BaseInfo)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+				return err
+			}
+			iNdEx = postIndex
+		case 20:
+			if wireType != 0 {
+				return fmt.Errorf("proto: wrong wireType = %d for field IsAlarm", wireType)
+			}
+			var v int
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				v |= int(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			m.IsAlarm = bool(v != 0)
+		case 21:
+			if wireType != 0 {
+				return fmt.Errorf("proto: wrong wireType = %d for field IsAckAlarm", wireType)
+			}
+			var v int
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				v |= int(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			m.IsAckAlarm = bool(v != 0)
+		case 22:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field AlarmRules", wireType)
+			}
+			var msglen int
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				msglen |= int(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			if msglen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + msglen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.AlarmRules = append(m.AlarmRules, &AlarmRules{})
+			if err := m.AlarmRules[len(m.AlarmRules)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+				return err
+			}
+			iNdEx = postIndex
+		case 23:
+			if wireType != 0 {
+				return fmt.Errorf("proto: wrong wireType = %d for field IsCollect", wireType)
+			}
+			var v int
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				v |= int(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			m.IsCollect = bool(v != 0)
+		case 24:
+			if wireType != 0 {
+				return fmt.Errorf("proto: wrong wireType = %d for field IsDelete", wireType)
+			}
+			var v int
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				v |= int(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			m.IsDelete = bool(v != 0)
+		case 25:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field Content", wireType)
+			}
+			var stringLen uint64
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				stringLen |= uint64(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			intStringLen := int(stringLen)
+			if intStringLen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + intStringLen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.Content = string(dAtA[iNdEx:postIndex])
+			iNdEx = postIndex
+		case 26:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field LinkTag", wireType)
+			}
+			var stringLen uint64
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				stringLen |= uint64(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			intStringLen := int(stringLen)
+			if intStringLen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + intStringLen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.LinkTag = string(dAtA[iNdEx:postIndex])
+			iNdEx = postIndex
+		case 27:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field LinkTagInfo", wireType)
+			}
+			var msglen int
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				msglen |= int(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			if msglen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + msglen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.LinkTagInfo = append(m.LinkTagInfo, &EsDataBase{})
+			if err := m.LinkTagInfo[len(m.LinkTagInfo)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+				return err
+			}
+			iNdEx = postIndex
+		default:
+			iNdEx = preIndex
+			skippy, err := skipAiocean(dAtA[iNdEx:])
+			if err != nil {
+				return err
+			}
+			if skippy < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if (iNdEx + skippy) < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if (iNdEx + skippy) > l {
+				return io.ErrUnexpectedEOF
+			}
+			iNdEx += skippy
+		}
+	}
+
+	if iNdEx > l {
+		return io.ErrUnexpectedEOF
+	}
+	return nil
+}
+func (m *TargetInfo) Unmarshal(dAtA []byte) error {
+	l := len(dAtA)
+	iNdEx := 0
+	for iNdEx < l {
+		preIndex := iNdEx
+		var wire uint64
+		for shift := uint(0); ; shift += 7 {
+			if shift >= 64 {
+				return ErrIntOverflowAiocean
+			}
+			if iNdEx >= l {
+				return io.ErrUnexpectedEOF
+			}
+			b := dAtA[iNdEx]
+			iNdEx++
+			wire |= uint64(b&0x7F) << shift
+			if b < 0x80 {
+				break
+			}
+		}
+		fieldNum := int32(wire >> 3)
+		wireType := int(wire & 0x7)
+		if wireType == 4 {
+			return fmt.Errorf("proto: TargetInfo: wiretype end group for non-group")
+		}
+		if fieldNum <= 0 {
+			return fmt.Errorf("proto: TargetInfo: illegal tag %d (wire type %d)", fieldNum, wire)
+		}
+		switch fieldNum {
+		case 1:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field TargetId", wireType)
+			}
+			var stringLen uint64
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				stringLen |= uint64(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			intStringLen := int(stringLen)
+			if intStringLen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + intStringLen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.TargetId = string(dAtA[iNdEx:postIndex])
+			iNdEx = postIndex
+		case 2:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field TargetType", wireType)
+			}
+			var stringLen uint64
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				stringLen |= uint64(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			intStringLen := int(stringLen)
+			if intStringLen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + intStringLen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.TargetType = string(dAtA[iNdEx:postIndex])
+			iNdEx = postIndex
+		case 3:
+			if wireType != 1 {
+				return fmt.Errorf("proto: wrong wireType = %d for field TargetScore", wireType)
+			}
+			var v uint64
+			if (iNdEx + 8) > l {
+				return io.ErrUnexpectedEOF
+			}
+			v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
+			iNdEx += 8
+			m.TargetScore = float64(math.Float64frombits(v))
+		case 4:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field Feature", wireType)
+			}
+			var stringLen uint64
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				stringLen |= uint64(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			intStringLen := int(stringLen)
+			if intStringLen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + intStringLen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.Feature = string(dAtA[iNdEx:postIndex])
+			iNdEx = postIndex
+		case 5:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field PicSmUrl", wireType)
+			}
+			var stringLen uint64
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				stringLen |= uint64(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			intStringLen := int(stringLen)
+			if intStringLen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + intStringLen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.PicSmUrl = string(dAtA[iNdEx:postIndex])
+			iNdEx = postIndex
+		case 6:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field TargetLocation", wireType)
+			}
+			var msglen int
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				msglen |= int(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			if msglen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + msglen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			if m.TargetLocation == nil {
+				m.TargetLocation = &TargetLocation{}
+			}
+			if err := m.TargetLocation.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+				return err
+			}
+			iNdEx = postIndex
+		default:
+			iNdEx = preIndex
+			skippy, err := skipAiocean(dAtA[iNdEx:])
+			if err != nil {
+				return err
+			}
+			if skippy < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if (iNdEx + skippy) < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if (iNdEx + skippy) > l {
+				return io.ErrUnexpectedEOF
+			}
+			iNdEx += skippy
+		}
+	}
+
+	if iNdEx > l {
+		return io.ErrUnexpectedEOF
+	}
+	return nil
+}
+func (m *TargetLocation) Unmarshal(dAtA []byte) error {
+	l := len(dAtA)
+	iNdEx := 0
+	for iNdEx < l {
+		preIndex := iNdEx
+		var wire uint64
+		for shift := uint(0); ; shift += 7 {
+			if shift >= 64 {
+				return ErrIntOverflowAiocean
+			}
+			if iNdEx >= l {
+				return io.ErrUnexpectedEOF
+			}
+			b := dAtA[iNdEx]
+			iNdEx++
+			wire |= uint64(b&0x7F) << shift
+			if b < 0x80 {
+				break
+			}
+		}
+		fieldNum := int32(wire >> 3)
+		wireType := int(wire & 0x7)
+		if wireType == 4 {
+			return fmt.Errorf("proto: TargetLocation: wiretype end group for non-group")
+		}
+		if fieldNum <= 0 {
+			return fmt.Errorf("proto: TargetLocation: illegal tag %d (wire type %d)", fieldNum, wire)
+		}
+		switch fieldNum {
+		case 1:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field TopLeft", wireType)
+			}
+			var msglen int
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				msglen |= int(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			if msglen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + msglen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			if m.TopLeft == nil {
+				m.TopLeft = &Location{}
+			}
+			if err := m.TopLeft.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+				return err
+			}
+			iNdEx = postIndex
+		case 2:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field BottomRight", wireType)
+			}
+			var msglen int
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				msglen |= int(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			if msglen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + msglen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			if m.BottomRight == nil {
+				m.BottomRight = &Location{}
+			}
+			if err := m.BottomRight.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+				return err
+			}
+			iNdEx = postIndex
+		default:
+			iNdEx = preIndex
+			skippy, err := skipAiocean(dAtA[iNdEx:])
+			if err != nil {
+				return err
+			}
+			if skippy < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if (iNdEx + skippy) < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if (iNdEx + skippy) > l {
+				return io.ErrUnexpectedEOF
+			}
+			iNdEx += skippy
+		}
+	}
+
+	if iNdEx > l {
+		return io.ErrUnexpectedEOF
+	}
+	return nil
+}
+func (m *Location) Unmarshal(dAtA []byte) error {
+	l := len(dAtA)
+	iNdEx := 0
+	for iNdEx < l {
+		preIndex := iNdEx
+		var wire uint64
+		for shift := uint(0); ; shift += 7 {
+			if shift >= 64 {
+				return ErrIntOverflowAiocean
+			}
+			if iNdEx >= l {
+				return io.ErrUnexpectedEOF
+			}
+			b := dAtA[iNdEx]
+			iNdEx++
+			wire |= uint64(b&0x7F) << shift
+			if b < 0x80 {
+				break
+			}
+		}
+		fieldNum := int32(wire >> 3)
+		wireType := int(wire & 0x7)
+		if wireType == 4 {
+			return fmt.Errorf("proto: Location: wiretype end group for non-group")
+		}
+		if fieldNum <= 0 {
+			return fmt.Errorf("proto: Location: illegal tag %d (wire type %d)", fieldNum, wire)
+		}
+		switch fieldNum {
+		case 1:
+			if wireType != 1 {
+				return fmt.Errorf("proto: wrong wireType = %d for field X", wireType)
+			}
+			var v uint64
+			if (iNdEx + 8) > l {
+				return io.ErrUnexpectedEOF
+			}
+			v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
+			iNdEx += 8
+			m.X = float64(math.Float64frombits(v))
+		case 2:
+			if wireType != 1 {
+				return fmt.Errorf("proto: wrong wireType = %d for field Y", wireType)
+			}
+			var v uint64
+			if (iNdEx + 8) > l {
+				return io.ErrUnexpectedEOF
+			}
+			v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
+			iNdEx += 8
+			m.Y = float64(math.Float64frombits(v))
+		default:
+			iNdEx = preIndex
+			skippy, err := skipAiocean(dAtA[iNdEx:])
+			if err != nil {
+				return err
+			}
+			if skippy < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if (iNdEx + skippy) < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if (iNdEx + skippy) > l {
+				return io.ErrUnexpectedEOF
+			}
+			iNdEx += skippy
+		}
+	}
+
+	if iNdEx > l {
+		return io.ErrUnexpectedEOF
+	}
+	return nil
+}
+func (m *AlarmRules) Unmarshal(dAtA []byte) error {
+	l := len(dAtA)
+	iNdEx := 0
+	for iNdEx < l {
+		preIndex := iNdEx
+		var wire uint64
+		for shift := uint(0); ; shift += 7 {
+			if shift >= 64 {
+				return ErrIntOverflowAiocean
+			}
+			if iNdEx >= l {
+				return io.ErrUnexpectedEOF
+			}
+			b := dAtA[iNdEx]
+			iNdEx++
+			wire |= uint64(b&0x7F) << shift
+			if b < 0x80 {
+				break
+			}
+		}
+		fieldNum := int32(wire >> 3)
+		wireType := int(wire & 0x7)
+		if wireType == 4 {
+			return fmt.Errorf("proto: AlarmRules: wiretype end group for non-group")
+		}
+		if fieldNum <= 0 {
+			return fmt.Errorf("proto: AlarmRules: illegal tag %d (wire type %d)", fieldNum, wire)
+		}
+		switch fieldNum {
+		case 1:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field GroupId", wireType)
+			}
+			var stringLen uint64
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				stringLen |= uint64(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			intStringLen := int(stringLen)
+			if intStringLen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + intStringLen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.GroupId = string(dAtA[iNdEx:postIndex])
+			iNdEx = postIndex
+		case 2:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field AlarmLevel", wireType)
+			}
+			var stringLen uint64
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				stringLen |= uint64(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			intStringLen := int(stringLen)
+			if intStringLen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + intStringLen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.AlarmLevel = string(dAtA[iNdEx:postIndex])
+			iNdEx = postIndex
+		case 3:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field RuleText", wireType)
+			}
+			var stringLen uint64
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				stringLen |= uint64(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			intStringLen := int(stringLen)
+			if intStringLen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + intStringLen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.RuleText = string(dAtA[iNdEx:postIndex])
+			iNdEx = postIndex
+		case 4:
+			if wireType != 0 {
+				return fmt.Errorf("proto: wrong wireType = %d for field DefenceState", wireType)
+			}
+			var v int
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				v |= int(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			m.DefenceState = bool(v != 0)
+		case 5:
+			if wireType != 0 {
+				return fmt.Errorf("proto: wrong wireType = %d for field IsLink", wireType)
+			}
+			var v int
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				v |= int(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			m.IsLink = bool(v != 0)
+		case 6:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field LinkInfo", wireType)
+			}
+			var stringLen uint64
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				stringLen |= uint64(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			intStringLen := int(stringLen)
+			if intStringLen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + intStringLen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.LinkInfo = string(dAtA[iNdEx:postIndex])
+			iNdEx = postIndex
+		default:
+			iNdEx = preIndex
+			skippy, err := skipAiocean(dAtA[iNdEx:])
+			if err != nil {
+				return err
+			}
+			if skippy < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if (iNdEx + skippy) < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if (iNdEx + skippy) > l {
+				return io.ErrUnexpectedEOF
+			}
+			iNdEx += skippy
+		}
+	}
+
+	if iNdEx > l {
+		return io.ErrUnexpectedEOF
+	}
+	return nil
+}
+func (m *BaseInfo) Unmarshal(dAtA []byte) error {
+	l := len(dAtA)
+	iNdEx := 0
+	for iNdEx < l {
+		preIndex := iNdEx
+		var wire uint64
+		for shift := uint(0); ; shift += 7 {
+			if shift >= 64 {
+				return ErrIntOverflowAiocean
+			}
+			if iNdEx >= l {
+				return io.ErrUnexpectedEOF
+			}
+			b := dAtA[iNdEx]
+			iNdEx++
+			wire |= uint64(b&0x7F) << shift
+			if b < 0x80 {
+				break
+			}
+		}
+		fieldNum := int32(wire >> 3)
+		wireType := int(wire & 0x7)
+		if wireType == 4 {
+			return fmt.Errorf("proto: BaseInfo: wiretype end group for non-group")
+		}
+		if fieldNum <= 0 {
+			return fmt.Errorf("proto: BaseInfo: illegal tag %d (wire type %d)", fieldNum, wire)
+		}
+		switch fieldNum {
+		case 1:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field TableId", wireType)
+			}
+			var stringLen uint64
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				stringLen |= uint64(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			intStringLen := int(stringLen)
+			if intStringLen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + intStringLen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.TableId = string(dAtA[iNdEx:postIndex])
+			iNdEx = postIndex
+		case 2:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field TableName", wireType)
+			}
+			var stringLen uint64
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				stringLen |= uint64(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			intStringLen := int(stringLen)
+			if intStringLen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + intStringLen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.TableName = string(dAtA[iNdEx:postIndex])
+			iNdEx = postIndex
+		case 3:
+			if wireType != 1 {
+				return fmt.Errorf("proto: wrong wireType = %d for field CompareScore", wireType)
+			}
+			var v uint64
+			if (iNdEx + 8) > l {
+				return io.ErrUnexpectedEOF
+			}
+			v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
+			iNdEx += 8
+			m.CompareScore = float64(math.Float64frombits(v))
+		case 4:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field BwType", wireType)
+			}
+			var stringLen uint64
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				stringLen |= uint64(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			intStringLen := int(stringLen)
+			if intStringLen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + intStringLen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.BwType = string(dAtA[iNdEx:postIndex])
+			iNdEx = postIndex
+		case 5:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field TargetId", wireType)
+			}
+			var stringLen uint64
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				stringLen |= uint64(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			intStringLen := int(stringLen)
+			if intStringLen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + intStringLen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.TargetId = string(dAtA[iNdEx:postIndex])
+			iNdEx = postIndex
+		case 6:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field TargetName", wireType)
+			}
+			var stringLen uint64
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				stringLen |= uint64(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			intStringLen := int(stringLen)
+			if intStringLen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + intStringLen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.TargetName = string(dAtA[iNdEx:postIndex])
+			iNdEx = postIndex
+		case 7:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field TargetPicUrl", wireType)
+			}
+			var stringLen uint64
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				stringLen |= uint64(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			intStringLen := int(stringLen)
+			if intStringLen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + intStringLen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.TargetPicUrl = string(dAtA[iNdEx:postIndex])
+			iNdEx = postIndex
+		case 8:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field MonitorLevel", wireType)
+			}
+			var stringLen uint64
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				stringLen |= uint64(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			intStringLen := int(stringLen)
+			if intStringLen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + intStringLen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.MonitorLevel = string(dAtA[iNdEx:postIndex])
+			iNdEx = postIndex
+		case 9:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field Labels", wireType)
+			}
+			var stringLen uint64
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				stringLen |= uint64(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			intStringLen := int(stringLen)
+			if intStringLen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + intStringLen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.Labels = string(dAtA[iNdEx:postIndex])
+			iNdEx = postIndex
+		case 10:
+			if wireType != 2 {
+				return fmt.Errorf("proto: wrong wireType = %d for field Content", wireType)
+			}
+			var stringLen uint64
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				stringLen |= uint64(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			intStringLen := int(stringLen)
+			if intStringLen < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			postIndex := iNdEx + intStringLen
+			if postIndex < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.Content = string(dAtA[iNdEx:postIndex])
+			iNdEx = postIndex
+		default:
+			iNdEx = preIndex
+			skippy, err := skipAiocean(dAtA[iNdEx:])
+			if err != nil {
+				return err
+			}
+			if skippy < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if (iNdEx + skippy) < 0 {
+				return ErrInvalidLengthAiocean
+			}
+			if (iNdEx + skippy) > l {
+				return io.ErrUnexpectedEOF
+			}
+			iNdEx += skippy
+		}
+	}
+
+	if iNdEx > l {
+		return io.ErrUnexpectedEOF
+	}
+	return nil
+}
+func skipAiocean(dAtA []byte) (n int, err error) {
+	l := len(dAtA)
+	iNdEx := 0
+	for iNdEx < l {
+		var wire uint64
+		for shift := uint(0); ; shift += 7 {
+			if shift >= 64 {
+				return 0, ErrIntOverflowAiocean
+			}
+			if iNdEx >= l {
+				return 0, io.ErrUnexpectedEOF
+			}
+			b := dAtA[iNdEx]
+			iNdEx++
+			wire |= (uint64(b) & 0x7F) << shift
+			if b < 0x80 {
+				break
+			}
+		}
+		wireType := int(wire & 0x7)
+		switch wireType {
+		case 0:
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return 0, ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return 0, io.ErrUnexpectedEOF
+				}
+				iNdEx++
+				if dAtA[iNdEx-1] < 0x80 {
+					break
+				}
+			}
+			return iNdEx, nil
+		case 1:
+			iNdEx += 8
+			return iNdEx, nil
+		case 2:
+			var length int
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return 0, ErrIntOverflowAiocean
+				}
+				if iNdEx >= l {
+					return 0, io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				length |= (int(b) & 0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			if length < 0 {
+				return 0, ErrInvalidLengthAiocean
+			}
+			iNdEx += length
+			if iNdEx < 0 {
+				return 0, ErrInvalidLengthAiocean
+			}
+			return iNdEx, nil
+		case 3:
+			for {
+				var innerWire uint64
+				var start int = iNdEx
+				for shift := uint(0); ; shift += 7 {
+					if shift >= 64 {
+						return 0, ErrIntOverflowAiocean
+					}
+					if iNdEx >= l {
+						return 0, io.ErrUnexpectedEOF
+					}
+					b := dAtA[iNdEx]
+					iNdEx++
+					innerWire |= (uint64(b) & 0x7F) << shift
+					if b < 0x80 {
+						break
+					}
+				}
+				innerWireType := int(innerWire & 0x7)
+				if innerWireType == 4 {
+					break
+				}
+				next, err := skipAiocean(dAtA[start:])
+				if err != nil {
+					return 0, err
+				}
+				iNdEx = start + next
+				if iNdEx < 0 {
+					return 0, ErrInvalidLengthAiocean
+				}
+			}
+			return iNdEx, nil
+		case 4:
+			return iNdEx, nil
+		case 5:
+			iNdEx += 4
+			return iNdEx, nil
+		default:
+			return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
+		}
+	}
+	panic("unreachable")
+}
+
+var (
+	ErrInvalidLengthAiocean = fmt.Errorf("proto: negative length found during unmarshaling")
+	ErrIntOverflowAiocean   = fmt.Errorf("proto: integer overflow")
+)
diff --git a/aiocean.proto b/aiocean.proto
new file mode 100644
index 0000000..593d028
--- /dev/null
+++ b/aiocean.proto
@@ -0,0 +1,103 @@
+syntax = "proto3";
+
+package protomsg;
+
+message EsDataBase {
+    string id					=1;
+    string cameraId             =2;
+    string cameraName           =3;
+    string cameraAddr           =4;
+    string analyServerId        =5;
+    string analyServerName      =6;
+    string analyServerIp        =7;
+    string clusterId            =8;
+    string taskId               =9;
+    string taskName             =10;
+    string sdkName              =11;
+    repeated string picMaxUrl            =12;
+    string videoUrl             =13;
+    string picDate              =14;
+    repeated TargetInfo targetInfo       =15;
+    string otherLabels          =16;
+    string showLabels           =17;
+    string likeDate             =18;
+    repeated BaseInfo baseInfo           =19;
+    bool isAlarm              =20;
+    bool isAckAlarm			=21;
+    repeated AlarmRules alarmRules       =22;
+    bool isCollect             =23;
+    bool isDelete              =24;
+    string content		        =25;
+}
+
+message AIOcean {
+    string id					=1;
+    string cameraId             =2;
+    string cameraName           =3;
+    string cameraAddr           =4;
+    string analyServerId        =5;
+    string analyServerName      =6;
+    string analyServerIp        =7;
+    string clusterId            =8;
+    string taskId               =9;
+    string taskName             =10;
+    string sdkName              =11;
+    repeated string picMaxUrl            =12;
+    string videoUrl             =13;
+    string picDate              =14;
+    repeated TargetInfo targetInfo       =15;
+    string otherLabels          =16;
+    string showLabels           =17;
+    string likeDate             =18;
+    repeated BaseInfo baseInfo           =19;
+    bool isAlarm                =20;
+    bool isAckAlarm			    =21;
+    repeated AlarmRules alarmRules       =22;
+    bool isCollect              =23;
+    bool isDelete               =24;
+    string content		        =25;
+
+    string linkTag              =26;
+    repeated EsDataBase linkTagInfo      =27;
+}
+
+message TargetInfo {
+    string targetId             =1;
+    string targetType           =2;
+    double targetScore           =3;
+    string feature              =4;
+    string picSmUrl             =5;
+    TargetLocation targetLocation =6;
+}
+
+message TargetLocation {
+    Location topLeft            =1;
+    Location bottomRight        =2;
+}
+
+message Location {
+    double x                     =1;
+    double y                     =2;
+}
+
+message AlarmRules {
+    string groupId				=1;
+    string alarmLevel           =2;
+    string ruleText             =3;
+    bool defenceState           =4;
+    bool isLink                 =5;
+    string linkInfo             =6;
+}
+
+message BaseInfo {
+    string tableId              =1;
+    string tableName            =2;
+    double compareScore          =3;
+    string bwType               =4;
+    string targetId             =5;
+    string targetName           =6;
+    string targetPicUrl         =7;
+    string monitorLevel         =8;
+    string labels               =9;
+    string content              =10;
+}
diff --git a/facedetect.pb.go b/facedetect.pb.go
index 84f73b4..2833ca7 100644
--- a/facedetect.pb.go
+++ b/facedetect.pb.go
@@ -1,12 +1,15 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
+// Code generated by protoc-gen-go. DO NOT EDIT.
 // source: facedetect.proto
 
 package protomsg
 
 import (
+	context "context"
 	fmt "fmt"
-	proto "github.com/gogo/protobuf/proto"
-	io "io"
+	proto "github.com/golang/protobuf/proto"
+	grpc "google.golang.org/grpc"
+	codes "google.golang.org/grpc/codes"
+	status "google.golang.org/grpc/status"
 	math "math"
 )
 
@@ -19,10 +22,13 @@
 // 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.GoGoProtoPackageIsVersion2 // please upgrade the proto package
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
 
 type FaceDetectRequest struct {
-	ReqParam []byte `protobuf:"bytes,1,opt,name=reqParam,proto3" json:"reqParam,omitempty"`
+	ReqParam             []byte   `protobuf:"bytes,1,opt,name=reqParam,proto3" json:"reqParam,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
 }
 
 func (m *FaceDetectRequest) Reset()         { *m = FaceDetectRequest{} }
@@ -31,26 +37,18 @@
 func (*FaceDetectRequest) Descriptor() ([]byte, []int) {
 	return fileDescriptor_5314bd1755b5a080, []int{0}
 }
+
 func (m *FaceDetectRequest) XXX_Unmarshal(b []byte) error {
-	return m.Unmarshal(b)
+	return xxx_messageInfo_FaceDetectRequest.Unmarshal(m, b)
 }
 func (m *FaceDetectRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	if deterministic {
-		return xxx_messageInfo_FaceDetectRequest.Marshal(b, m, deterministic)
-	} else {
-		b = b[:cap(b)]
-		n, err := m.MarshalTo(b)
-		if err != nil {
-			return nil, err
-		}
-		return b[:n], nil
-	}
+	return xxx_messageInfo_FaceDetectRequest.Marshal(b, m, deterministic)
 }
 func (m *FaceDetectRequest) XXX_Merge(src proto.Message) {
 	xxx_messageInfo_FaceDetectRequest.Merge(m, src)
 }
 func (m *FaceDetectRequest) XXX_Size() int {
-	return m.Size()
+	return xxx_messageInfo_FaceDetectRequest.Size(m)
 }
 func (m *FaceDetectRequest) XXX_DiscardUnknown() {
 	xxx_messageInfo_FaceDetectRequest.DiscardUnknown(m)
@@ -72,272 +70,94 @@
 func init() { proto.RegisterFile("facedetect.proto", fileDescriptor_5314bd1755b5a080) }
 
 var fileDescriptor_5314bd1755b5a080 = []byte{
-	// 157 bytes of a gzipped FileDescriptorProto
+	// 129 bytes of a gzipped FileDescriptorProto
 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x48, 0x4b, 0x4c, 0x4e,
 	0x4d, 0x49, 0x2d, 0x49, 0x4d, 0x2e, 0xd1, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x00, 0x53,
 	0xb9, 0xc5, 0xe9, 0x52, 0x9c, 0xc5, 0x29, 0xd9, 0x10, 0x41, 0x25, 0x7d, 0x2e, 0x41, 0xb7, 0xc4,
 	0xe4, 0x54, 0x17, 0xb0, 0xc2, 0xa0, 0xd4, 0xc2, 0xd2, 0xd4, 0xe2, 0x12, 0x21, 0x29, 0x2e, 0x8e,
 	0xa2, 0xd4, 0xc2, 0x80, 0xc4, 0xa2, 0xc4, 0x5c, 0x09, 0x46, 0x05, 0x46, 0x0d, 0x9e, 0x20, 0x38,
 	0xdf, 0x28, 0x90, 0x8b, 0x0b, 0xa1, 0x41, 0xc8, 0x19, 0x85, 0x27, 0xad, 0x07, 0xb3, 0x42, 0x0f,
-	0xc3, 0x50, 0x29, 0x31, 0x84, 0x24, 0xd8, 0x24, 0x90, 0x8a, 0x80, 0xfc, 0x62, 0x25, 0x06, 0x27,
-	0x89, 0x13, 0x8f, 0xe4, 0x18, 0x2f, 0x3c, 0x92, 0x63, 0x7c, 0xf0, 0x48, 0x8e, 0x71, 0xc2, 0x63,
-	0x39, 0x86, 0x0b, 0x8f, 0xe5, 0x18, 0x6e, 0x3c, 0x96, 0x63, 0x48, 0x62, 0x03, 0x6b, 0x31, 0x06,
-	0x04, 0x00, 0x00, 0xff, 0xff, 0x92, 0xe0, 0xfb, 0x5b, 0xcd, 0x00, 0x00, 0x00,
+	0xc3, 0x50, 0x29, 0x31, 0x84, 0x24, 0xd8, 0x24, 0x90, 0x8a, 0x80, 0xfc, 0x62, 0x25, 0x86, 0x24,
+	0x36, 0xb0, 0x84, 0x31, 0x20, 0x00, 0x00, 0xff, 0xff, 0x63, 0xa0, 0x0f, 0x51, 0xb3, 0x00, 0x00,
+	0x00,
 }
 
-func (m *FaceDetectRequest) Marshal() (dAtA []byte, err error) {
-	size := m.Size()
-	dAtA = make([]byte, size)
-	n, err := m.MarshalTo(dAtA)
+// Reference imports to suppress errors if they are not otherwise used.
+var _ context.Context
+var _ grpc.ClientConn
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the grpc package it is being compiled against.
+const _ = grpc.SupportPackageIsVersion4
+
+// FaceDetectClient is the client API for FaceDetect service.
+//
+// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
+type FaceDetectClient interface {
+	FaceDetect(ctx context.Context, in *FaceDetectRequest, opts ...grpc.CallOption) (*ParamFacePos, error)
+}
+
+type faceDetectClient struct {
+	cc *grpc.ClientConn
+}
+
+func NewFaceDetectClient(cc *grpc.ClientConn) FaceDetectClient {
+	return &faceDetectClient{cc}
+}
+
+func (c *faceDetectClient) FaceDetect(ctx context.Context, in *FaceDetectRequest, opts ...grpc.CallOption) (*ParamFacePos, error) {
+	out := new(ParamFacePos)
+	err := c.cc.Invoke(ctx, "/protomsg.FaceDetect/FaceDetect", in, out, opts...)
 	if err != nil {
 		return nil, err
 	}
-	return dAtA[:n], nil
+	return out, nil
 }
 
-func (m *FaceDetectRequest) MarshalTo(dAtA []byte) (int, error) {
-	var i int
-	_ = i
-	var l int
-	_ = l
-	if len(m.ReqParam) > 0 {
-		dAtA[i] = 0xa
-		i++
-		i = encodeVarintFacedetect(dAtA, i, uint64(len(m.ReqParam)))
-		i += copy(dAtA[i:], m.ReqParam)
-	}
-	return i, nil
+// FaceDetectServer is the server API for FaceDetect service.
+type FaceDetectServer interface {
+	FaceDetect(context.Context, *FaceDetectRequest) (*ParamFacePos, error)
 }
 
-func encodeVarintFacedetect(dAtA []byte, offset int, v uint64) int {
-	for v >= 1<<7 {
-		dAtA[offset] = uint8(v&0x7f | 0x80)
-		v >>= 7
-		offset++
-	}
-	dAtA[offset] = uint8(v)
-	return offset + 1
-}
-func (m *FaceDetectRequest) Size() (n int) {
-	if m == nil {
-		return 0
-	}
-	var l int
-	_ = l
-	l = len(m.ReqParam)
-	if l > 0 {
-		n += 1 + l + sovFacedetect(uint64(l))
-	}
-	return n
+// UnimplementedFaceDetectServer can be embedded to have forward compatible implementations.
+type UnimplementedFaceDetectServer struct {
 }
 
-func sovFacedetect(x uint64) (n int) {
-	for {
-		n++
-		x >>= 7
-		if x == 0 {
-			break
-		}
-	}
-	return n
-}
-func sozFacedetect(x uint64) (n int) {
-	return sovFacedetect(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
-func (m *FaceDetectRequest) Unmarshal(dAtA []byte) error {
-	l := len(dAtA)
-	iNdEx := 0
-	for iNdEx < l {
-		preIndex := iNdEx
-		var wire uint64
-		for shift := uint(0); ; shift += 7 {
-			if shift >= 64 {
-				return ErrIntOverflowFacedetect
-			}
-			if iNdEx >= l {
-				return io.ErrUnexpectedEOF
-			}
-			b := dAtA[iNdEx]
-			iNdEx++
-			wire |= uint64(b&0x7F) << shift
-			if b < 0x80 {
-				break
-			}
-		}
-		fieldNum := int32(wire >> 3)
-		wireType := int(wire & 0x7)
-		if wireType == 4 {
-			return fmt.Errorf("proto: FaceDetectRequest: wiretype end group for non-group")
-		}
-		if fieldNum <= 0 {
-			return fmt.Errorf("proto: FaceDetectRequest: illegal tag %d (wire type %d)", fieldNum, wire)
-		}
-		switch fieldNum {
-		case 1:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field ReqParam", wireType)
-			}
-			var byteLen int
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowFacedetect
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				byteLen |= int(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			if byteLen < 0 {
-				return ErrInvalidLengthFacedetect
-			}
-			postIndex := iNdEx + byteLen
-			if postIndex < 0 {
-				return ErrInvalidLengthFacedetect
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.ReqParam = append(m.ReqParam[:0], dAtA[iNdEx:postIndex]...)
-			if m.ReqParam == nil {
-				m.ReqParam = []byte{}
-			}
-			iNdEx = postIndex
-		default:
-			iNdEx = preIndex
-			skippy, err := skipFacedetect(dAtA[iNdEx:])
-			if err != nil {
-				return err
-			}
-			if skippy < 0 {
-				return ErrInvalidLengthFacedetect
-			}
-			if (iNdEx + skippy) < 0 {
-				return ErrInvalidLengthFacedetect
-			}
-			if (iNdEx + skippy) > l {
-				return io.ErrUnexpectedEOF
-			}
-			iNdEx += skippy
-		}
-	}
-
-	if iNdEx > l {
-		return io.ErrUnexpectedEOF
-	}
-	return nil
-}
-func skipFacedetect(dAtA []byte) (n int, err error) {
-	l := len(dAtA)
-	iNdEx := 0
-	for iNdEx < l {
-		var wire uint64
-		for shift := uint(0); ; shift += 7 {
-			if shift >= 64 {
-				return 0, ErrIntOverflowFacedetect
-			}
-			if iNdEx >= l {
-				return 0, io.ErrUnexpectedEOF
-			}
-			b := dAtA[iNdEx]
-			iNdEx++
-			wire |= (uint64(b) & 0x7F) << shift
-			if b < 0x80 {
-				break
-			}
-		}
-		wireType := int(wire & 0x7)
-		switch wireType {
-		case 0:
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return 0, ErrIntOverflowFacedetect
-				}
-				if iNdEx >= l {
-					return 0, io.ErrUnexpectedEOF
-				}
-				iNdEx++
-				if dAtA[iNdEx-1] < 0x80 {
-					break
-				}
-			}
-			return iNdEx, nil
-		case 1:
-			iNdEx += 8
-			return iNdEx, nil
-		case 2:
-			var length int
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return 0, ErrIntOverflowFacedetect
-				}
-				if iNdEx >= l {
-					return 0, io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				length |= (int(b) & 0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			if length < 0 {
-				return 0, ErrInvalidLengthFacedetect
-			}
-			iNdEx += length
-			if iNdEx < 0 {
-				return 0, ErrInvalidLengthFacedetect
-			}
-			return iNdEx, nil
-		case 3:
-			for {
-				var innerWire uint64
-				var start int = iNdEx
-				for shift := uint(0); ; shift += 7 {
-					if shift >= 64 {
-						return 0, ErrIntOverflowFacedetect
-					}
-					if iNdEx >= l {
-						return 0, io.ErrUnexpectedEOF
-					}
-					b := dAtA[iNdEx]
-					iNdEx++
-					innerWire |= (uint64(b) & 0x7F) << shift
-					if b < 0x80 {
-						break
-					}
-				}
-				innerWireType := int(innerWire & 0x7)
-				if innerWireType == 4 {
-					break
-				}
-				next, err := skipFacedetect(dAtA[start:])
-				if err != nil {
-					return 0, err
-				}
-				iNdEx = start + next
-				if iNdEx < 0 {
-					return 0, ErrInvalidLengthFacedetect
-				}
-			}
-			return iNdEx, nil
-		case 4:
-			return iNdEx, nil
-		case 5:
-			iNdEx += 4
-			return iNdEx, nil
-		default:
-			return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
-		}
-	}
-	panic("unreachable")
+func (*UnimplementedFaceDetectServer) FaceDetect(ctx context.Context, req *FaceDetectRequest) (*ParamFacePos, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method FaceDetect not implemented")
 }
 
-var (
-	ErrInvalidLengthFacedetect = fmt.Errorf("proto: negative length found during unmarshaling")
-	ErrIntOverflowFacedetect   = fmt.Errorf("proto: integer overflow")
-)
+func RegisterFaceDetectServer(s *grpc.Server, srv FaceDetectServer) {
+	s.RegisterService(&_FaceDetect_serviceDesc, srv)
+}
+
+func _FaceDetect_FaceDetect_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(FaceDetectRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(FaceDetectServer).FaceDetect(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/protomsg.FaceDetect/FaceDetect",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(FaceDetectServer).FaceDetect(ctx, req.(*FaceDetectRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+var _FaceDetect_serviceDesc = grpc.ServiceDesc{
+	ServiceName: "protomsg.FaceDetect",
+	HandlerType: (*FaceDetectServer)(nil),
+	Methods: []grpc.MethodDesc{
+		{
+			MethodName: "FaceDetect",
+			Handler:    _FaceDetect_FaceDetect_Handler,
+		},
+	},
+	Streams:  []grpc.StreamDesc{},
+	Metadata: "facedetect.proto",
+}
diff --git a/protomsg.pb.go b/protomsg.pb.go
index 8a421d2..32144ca 100644
--- a/protomsg.pb.go
+++ b/protomsg.pb.go
@@ -9,6 +9,7 @@
 	proto "github.com/gogo/protobuf/proto"
 	io "io"
 	math "math"
+	math_bits "math/bits"
 )
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -2119,7 +2120,7 @@
 	Tasks            []string `protobuf:"bytes,4,rep,name=tasks,proto3" json:"tasks,omitempty"`
 	TreeNodes        []string `protobuf:"bytes,5,rep,name=treeNodes,proto3" json:"treeNodes,omitempty"`
 	Tabs             []string `protobuf:"bytes,6,rep,name=tabs,proto3" json:"tabs,omitempty"`
-	AlarmLevel       []int32  `protobuf:"varint,7,rep,packed,name=alarmLevel,proto3" json:"alarmLevel,omitempty"`
+	AlarmLevel       string   `protobuf:"bytes,7,opt,name=alarmLevel,proto3" json:"alarmLevel,omitempty"`
 	SearchTime       []string `protobuf:"bytes,8,rep,name=searchTime,proto3" json:"searchTime,omitempty"`
 	InputValue       string   `protobuf:"bytes,9,opt,name=inputValue,proto3" json:"inputValue,omitempty"`
 	Collection       string   `protobuf:"bytes,10,opt,name=collection,proto3" json:"collection,omitempty"`
@@ -2202,11 +2203,11 @@
 	return nil
 }
 
-func (m *CompareArgs) GetAlarmLevel() []int32 {
+func (m *CompareArgs) GetAlarmLevel() string {
 	if m != nil {
 		return m.AlarmLevel
 	}
-	return nil
+	return ""
 }
 
 func (m *CompareArgs) GetSearchTime() []string {
@@ -2948,7 +2949,7 @@
 func init() { proto.RegisterFile("protomsg.proto", fileDescriptor_32de24555f916688) }
 
 var fileDescriptor_32de24555f916688 = []byte{
-	// 2551 bytes of a gzipped FileDescriptorProto
+	// 2550 bytes of a gzipped FileDescriptorProto
 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x38, 0xcb, 0x6e, 0x1c, 0xc7,
 	0xb5, 0xec, 0x79, 0xcf, 0x99, 0x19, 0xaa, 0x55, 0xd2, 0xb5, 0x5b, 0xf2, 0x35, 0x4d, 0xf7, 0x95,
 	0x61, 0x5d, 0xc1, 0xf6, 0xbd, 0x90, 0xbd, 0x08, 0xb2, 0x08, 0x30, 0xd6, 0x23, 0x18, 0xc0, 0x71,
@@ -3058,57 +3059,57 @@
 	0x5c, 0x1a, 0x2d, 0x7a, 0xd1, 0x35, 0x3c, 0x3b, 0x84, 0xd9, 0x29, 0xdf, 0x88, 0xe7, 0x82, 0x97,
 	0x95, 0x32, 0xfe, 0x9c, 0x47, 0x6d, 0x14, 0xea, 0x65, 0xb6, 0xbe, 0x01, 0x3d, 0x63, 0x00, 0xdc,
 	0xdc, 0x4b, 0x25, 0xc4, 0xe7, 0x79, 0x22, 0x4c, 0x1b, 0x98, 0x46, 0x0d, 0x82, 0x34, 0xe0, 0x6b,
-	0xa7, 0x17, 0x9d, 0xd9, 0x01, 0xb4, 0x46, 0x8f, 0x60, 0x7c, 0xd8, 0xdf, 0x19, 0x46, 0x0e, 0x00,
-	0xb4, 0xe0, 0x6a, 0x73, 0x76, 0x62, 0xda, 0x00, 0x7e, 0xd9, 0xc2, 0x20, 0x3d, 0xcd, 0x8a, 0xca,
-	0x24, 0xa4, 0xeb, 0x02, 0x0d, 0x06, 0xe9, 0x9b, 0x5c, 0x4a, 0x13, 0x2c, 0xb6, 0x0d, 0xb4, 0x30,
-	0x64, 0xed, 0xbc, 0x52, 0x9b, 0xba, 0x11, 0x18, 0x88, 0x3d, 0x80, 0x05, 0xcf, 0xb8, 0xbc, 0x72,
-	0x5b, 0xb2, 0x6d, 0xa8, 0x5d, 0x64, 0xb8, 0x86, 0xb9, 0x35, 0xff, 0xb3, 0x4b, 0x91, 0x95, 0xec,
-	0x07, 0x30, 0x15, 0x78, 0xc0, 0x4e, 0x69, 0x33, 0xf8, 0x7e, 0x6b, 0x71, 0x6e, 0xb1, 0x22, 0x47,
-	0xd4, 0x30, 0x53, 0x9a, 0xf0, 0x2b, 0x99, 0x73, 0xe3, 0x94, 0x79, 0xe4, 0xc0, 0xf0, 0x17, 0xb0,
-	0x7f, 0x9c, 0x9c, 0xbb, 0x6f, 0xf9, 0xe6, 0xec, 0x5a, 0x4e, 0x06, 0x38, 0x80, 0xae, 0xa5, 0xa8,
-	0x33, 0xd2, 0x81, 0x2c, 0x84, 0xb9, 0xf5, 0xed, 0xf1, 0x26, 0xb7, 0x8e, 0xec, 0x45, 0x1d, 0x5c,
-	0x18, 0x81, 0xdf, 0xdc, 0x1f, 0x09, 0x5d, 0xc9, 0x92, 0xfd, 0x08, 0x16, 0x9b, 0x36, 0x82, 0x82,
-	0x69, 0xf6, 0x38, 0xe8, 0x34, 0x92, 0x96, 0x48, 0x51, 0x97, 0x3d, 0xfc, 0x55, 0x1f, 0xa6, 0xa4,
-	0xe6, 0x51, 0xa5, 0xcf, 0x5e, 0x6b, 0xc6, 0x7f, 0xdb, 0xee, 0x1e, 0x66, 0x7f, 0x30, 0x39, 0x44,
-	0x6b, 0xc6, 0x31, 0xed, 0x10, 0xf7, 0x80, 0x56, 0x98, 0x18, 0x17, 0x09, 0x5b, 0x46, 0x10, 0x7e,
-	0x96, 0xd1, 0xbc, 0x98, 0xea, 0x58, 0xf3, 0x32, 0xd5, 0xa7, 0x57, 0x31, 0x97, 0x26, 0xa3, 0x26,
-	0xd1, 0x3c, 0xd5, 0xc7, 0x06, 0xb9, 0x94, 0x12, 0xeb, 0x16, 0xcd, 0x4f, 0x34, 0x13, 0x8f, 0xec,
-	0xdf, 0x2f, 0x95, 0x14, 0x34, 0x12, 0x37, 0x3d, 0x7b, 0xdc, 0xe9, 0xd9, 0x6f, 0xc1, 0xd4, 0x6c,
-	0x68, 0xcd, 0x34, 0x37, 0xa1, 0xf5, 0x0c, 0x3d, 0xf6, 0x0e, 0xcc, 0x88, 0x68, 0x37, 0xcc, 0x69,
-	0xb3, 0xbd, 0xd9, 0x05, 0xf3, 0xff, 0x60, 0x92, 0x16, 0x71, 0x91, 0xab, 0x52, 0x07, 0xb0, 0xdb,
-	0xf1, 0xd1, 0x30, 0xab, 0xe2, 0x28, 0x57, 0x65, 0x34, 0x4e, 0xe9, 0x57, 0xb3, 0xf7, 0x60, 0x50,
-	0x29, 0xa9, 0x83, 0xd9, 0x6e, 0xd7, 0x46, 0xe6, 0x17, 0x4a, 0x46, 0x44, 0x66, 0x1f, 0xba, 0xee,
-	0x3e, 0xdf, 0x5d, 0x59, 0x6a, 0x93, 0xb7, 0x7a, 0x7c, 0xf8, 0xb5, 0x07, 0x8b, 0x0e, 0xe1, 0x9a,
-	0x3f, 0xd0, 0xf6, 0x79, 0x91, 0x6e, 0xda, 0x7f, 0x22, 0x4c, 0x09, 0x43, 0x8a, 0xe2, 0x3e, 0x49,
-	0x64, 0xae, 0xb6, 0xf5, 0x3e, 0x89, 0x08, 0xec, 0xd1, 0xed, 0x76, 0x3f, 0xf8, 0xbe, 0x81, 0x78,
-	0x78, 0xc3, 0x40, 0x4c, 0xff, 0x6d, 0x49, 0x61, 0xbb, 0xec, 0xc8, 0x2e, 0xf2, 0x95, 0x14, 0x26,
-	0x7f, 0x43, 0x58, 0x50, 0x92, 0xc4, 0x45, 0xa5, 0xcf, 0xb0, 0xe7, 0x98, 0x1a, 0x3f, 0x13, 0x4e,
-	0xa3, 0x55, 0x12, 0xbe, 0x00, 0x68, 0xcc, 0x89, 0xe2, 0xba, 0xbf, 0xbb, 0x0a, 0x57, 0xc2, 0x0d,
-	0x62, 0xd5, 0xfc, 0xcd, 0xd7, 0x6b, 0xfd, 0xcd, 0xf7, 0xaa, 0x85, 0xeb, 0x63, 0x18, 0x5b, 0xc3,
-	0xbb, 0xf9, 0xd4, 0x6b, 0xe6, 0xd3, 0x57, 0x8c, 0x79, 0xe1, 0xef, 0x3c, 0x23, 0xcc, 0xb2, 0x2c,
-	0x31, 0x55, 0xdf, 0x84, 0xb1, 0x13, 0xdc, 0x8e, 0x89, 0x05, 0xc9, 0xcc, 0x42, 0xe8, 0x6f, 0xf8,
-	0x05, 0x7d, 0x7c, 0xd3, 0x9f, 0x6b, 0x48, 0x6c, 0x6b, 0x52, 0xef, 0x38, 0x56, 0x93, 0x04, 0xc3,
-	0xcf, 0x12, 0x5b, 0xa3, 0x38, 0x18, 0x14, 0x4d, 0xe3, 0xf7, 0x60, 0x22, 0xf3, 0x0d, 0x97, 0x68,
-	0x06, 0xbb, 0xa0, 0x11, 0xbc, 0x2a, 0xf0, 0x62, 0x6a, 0x37, 0xf4, 0x47, 0xed, 0xa8, 0xdb, 0x7f,
-	0xc2, 0xbf, 0x78, 0x70, 0xe7, 0x99, 0x3e, 0x12, 0x4a, 0xe7, 0xd9, 0x13, 0xbe, 0x39, 0xb3, 0x33,
-	0x07, 0xfb, 0xc0, 0xf6, 0x1f, 0x53, 0xd6, 0x5a, 0xa5, 0xe0, 0x99, 0x6e, 0xb1, 0x25, 0xb6, 0xfd,
-	0xde, 0xb3, 0x9d, 0xc8, 0x8c, 0x09, 0xfd, 0xba, 0x28, 0x99, 0xd5, 0xad, 0xa0, 0xdb, 0x5b, 0x6a,
-	0x19, 0xc4, 0x8a, 0x6a, 0xd9, 0xa9, 0xed, 0x3a, 0x36, 0xcf, 0x2d, 0xd8, 0x9a, 0x6d, 0x86, 0xdf,
-	0x3b, 0xdb, 0x74, 0xff, 0xd9, 0x1b, 0x3a, 0xef, 0x3c, 0xfa, 0x83, 0x07, 0xf3, 0xf6, 0x1c, 0xc5,
-	0xe6, 0x30, 0x39, 0x89, 0x8d, 0xcd, 0xfd, 0x3d, 0xe6, 0xc3, 0xdc, 0x41, 0x38, 0xea, 0xfb, 0x1e,
-	0xbb, 0x0b, 0x7e, 0x1b, 0x83, 0x4d, 0xd6, 0xef, 0x31, 0x80, 0xd1, 0x49, 0x4c, 0x1c, 0x7d, 0xb6,
-	0x80, 0xa9, 0x39, 0x1f, 0x27, 0xe7, 0xfe, 0x80, 0xdd, 0x86, 0x45, 0x0d, 0x62, 0xb2, 0xf9, 0x43,
-	0x36, 0x85, 0xe1, 0x49, 0x8c, 0xd4, 0x11, 0xbb, 0x03, 0xb7, 0xdc, 0x75, 0x76, 0xc0, 0xf2, 0xc7,
-	0x6c, 0x1f, 0xe0, 0x24, 0x3e, 0xb1, 0x7f, 0xd0, 0xf8, 0x13, 0x23, 0x93, 0x69, 0x31, 0xfe, 0xd4,
-	0xc8, 0x74, 0x94, 0x4b, 0xf9, 0x24, 0xcf, 0x4e, 0xd3, 0xad, 0x0f, 0x8f, 0x3e, 0x82, 0x89, 0x53,
-	0x18, 0x25, 0x59, 0x65, 0x5a, 0xa8, 0xd2, 0xdf, 0xc3, 0xf3, 0x0b, 0x5a, 0x7f, 0x7c, 0x0f, 0xcf,
-	0x4f, 0x85, 0x14, 0xa5, 0xf0, 0x7b, 0x8f, 0x96, 0xe0, 0xef, 0x76, 0x1e, 0x76, 0x0b, 0x66, 0x91,
-	0x58, 0x65, 0x69, 0x49, 0xae, 0xf3, 0xf7, 0x10, 0x61, 0x3e, 0x36, 0x08, 0x8f, 0xcd, 0x60, 0x6c,
-	0xbf, 0xf2, 0x7b, 0x8f, 0x3e, 0x81, 0xfd, 0xae, 0x97, 0x8d, 0xda, 0x4f, 0xd7, 0x64, 0x4c, 0x7f,
-	0xcf, 0x28, 0x66, 0x41, 0x13, 0x3a, 0xbe, 0xf7, 0x69, 0xf0, 0xc7, 0x6f, 0x0e, 0xbc, 0xaf, 0xbe,
-	0x39, 0xf0, 0xfe, 0xfa, 0xcd, 0x81, 0xf7, 0x9b, 0x6f, 0x0f, 0xf6, 0xbe, 0xfa, 0xf6, 0x60, 0xef,
-	0xcf, 0xdf, 0x1e, 0xec, 0xad, 0x47, 0xe4, 0xba, 0x8f, 0xff, 0x13, 0x00, 0x00, 0xff, 0xff, 0xb7,
-	0x29, 0x90, 0xe3, 0xe8, 0x18, 0x00, 0x00,
+	0xa7, 0x17, 0x9d, 0xd9, 0x01, 0xb4, 0x46, 0x0f, 0xeb, 0xc0, 0xf6, 0x30, 0x72, 0x00, 0xa0, 0x05,
+	0x57, 0x9b, 0xb3, 0x13, 0xd3, 0x06, 0xf0, 0xcb, 0x16, 0x06, 0xe9, 0x69, 0x56, 0x54, 0x26, 0x21,
+	0x5d, 0x17, 0x68, 0x30, 0x48, 0xdf, 0xe4, 0x52, 0x9a, 0x60, 0xb1, 0x6d, 0xa0, 0x85, 0x21, 0x6b,
+	0xe7, 0x95, 0xda, 0xd4, 0x8d, 0xc0, 0x40, 0xec, 0x01, 0x2c, 0x78, 0xc6, 0xe5, 0x95, 0xdb, 0x92,
+	0x6d, 0x43, 0xed, 0x22, 0xc3, 0x35, 0xcc, 0xad, 0xf9, 0x9f, 0x5d, 0x8a, 0xac, 0x64, 0x3f, 0x80,
+	0xa9, 0xc0, 0x03, 0x76, 0x4a, 0x9b, 0xc1, 0xf7, 0x5b, 0x8b, 0x73, 0x8b, 0x15, 0x39, 0xa2, 0x86,
+	0x99, 0xd2, 0x84, 0x5f, 0xc9, 0x9c, 0x1b, 0xa7, 0xcc, 0x23, 0x07, 0x86, 0xbf, 0x80, 0xfd, 0xe3,
+	0xe4, 0xdc, 0x7d, 0xcb, 0x37, 0x67, 0xd7, 0x72, 0x32, 0xc0, 0x01, 0x74, 0x2d, 0x45, 0x9d, 0x91,
+	0x0e, 0x64, 0x21, 0xcc, 0xad, 0x6f, 0x8f, 0x37, 0xb9, 0x75, 0x64, 0x2f, 0xea, 0xe0, 0xc2, 0x08,
+	0xfc, 0xe6, 0xfe, 0x48, 0xe8, 0x4a, 0x96, 0xec, 0x47, 0xb0, 0xd8, 0xb4, 0x11, 0x14, 0x4c, 0xb3,
+	0xc7, 0x41, 0xa7, 0x91, 0xb4, 0x44, 0x8a, 0xba, 0xec, 0xe1, 0xaf, 0xfa, 0x30, 0x25, 0x35, 0x8f,
+	0x2a, 0x7d, 0xf6, 0x5a, 0x33, 0xfe, 0xdb, 0x76, 0xf7, 0x30, 0xfb, 0x83, 0xc9, 0x21, 0x5a, 0x33,
+	0x8e, 0x69, 0x87, 0xb8, 0x07, 0xb4, 0xc2, 0xc4, 0xb8, 0x48, 0xd8, 0x32, 0x82, 0xf0, 0xb3, 0x8c,
+	0xe6, 0xc5, 0x54, 0xc7, 0x9a, 0x97, 0xa9, 0x3e, 0xbd, 0x8a, 0xb9, 0x34, 0x19, 0x35, 0x89, 0xe6,
+	0xa9, 0x3e, 0x36, 0xc8, 0xa5, 0x94, 0x58, 0xb7, 0x68, 0x7e, 0xa2, 0x99, 0x78, 0x64, 0xff, 0x7e,
+	0xa9, 0xa4, 0xa0, 0x91, 0xb8, 0xe9, 0xd9, 0xe3, 0x4e, 0xcf, 0x7e, 0x0b, 0xa6, 0x66, 0x43, 0x6b,
+	0xa6, 0xb9, 0x09, 0xad, 0x67, 0xe8, 0xb1, 0x77, 0x60, 0x46, 0x44, 0xbb, 0x61, 0x4e, 0x9b, 0xed,
+	0xcd, 0x2e, 0x98, 0xff, 0x07, 0x93, 0xb4, 0x88, 0x8b, 0x5c, 0x95, 0x3a, 0x80, 0xdd, 0x8e, 0x8f,
+	0x86, 0x59, 0x15, 0x47, 0xb9, 0x2a, 0xa3, 0x71, 0x4a, 0xbf, 0x9a, 0xbd, 0x07, 0x83, 0x4a, 0x49,
+	0x1d, 0xcc, 0x76, 0xbb, 0x36, 0x32, 0xbf, 0x50, 0x32, 0x22, 0x32, 0xfb, 0xd0, 0x75, 0xf7, 0xf9,
+	0xee, 0xca, 0x52, 0x9b, 0xbc, 0xd5, 0xe3, 0xc3, 0xaf, 0x3d, 0x58, 0x74, 0x08, 0xd7, 0xfc, 0x81,
+	0xb6, 0xcf, 0x8b, 0x74, 0xd3, 0xfe, 0x13, 0x61, 0x4a, 0x18, 0x52, 0x14, 0xf7, 0x49, 0x22, 0x73,
+	0xb5, 0xad, 0xf7, 0x49, 0x44, 0x60, 0x8f, 0x6e, 0xb7, 0xfb, 0xc1, 0xf7, 0x0d, 0xc4, 0xc3, 0x1b,
+	0x06, 0x62, 0xfa, 0x6f, 0x4b, 0x0a, 0xdb, 0x65, 0x47, 0x76, 0x91, 0xaf, 0xa4, 0x30, 0xf9, 0x1b,
+	0xc2, 0x82, 0x92, 0x24, 0x2e, 0x2a, 0x7d, 0x86, 0x3d, 0xc7, 0x94, 0x88, 0x99, 0x70, 0x1a, 0xad,
+	0x92, 0xf0, 0x05, 0x40, 0x63, 0x4e, 0x14, 0xd7, 0xfd, 0xdd, 0x55, 0xb8, 0x12, 0x6e, 0x10, 0xab,
+	0xe6, 0x6f, 0xbe, 0x5e, 0xeb, 0x6f, 0xbe, 0x57, 0x2d, 0x5c, 0x1f, 0xc3, 0xd8, 0x1a, 0xde, 0xcd,
+	0xa7, 0x5e, 0x33, 0x9f, 0xbe, 0x62, 0xcc, 0x0b, 0x7f, 0xe7, 0x19, 0x61, 0x96, 0x65, 0x89, 0xa9,
+	0xfa, 0x26, 0x8c, 0x9d, 0xe0, 0x76, 0x4c, 0x2c, 0x48, 0x66, 0x16, 0x42, 0x7f, 0xc3, 0x2f, 0xe8,
+	0xe3, 0x9b, 0xfe, 0x5c, 0x43, 0x62, 0x5b, 0x93, 0x7a, 0xc7, 0xb1, 0x9a, 0x24, 0x18, 0x7e, 0x96,
+	0xd8, 0x1a, 0xc5, 0xc1, 0xa0, 0x68, 0x1a, 0xbf, 0x07, 0x13, 0x99, 0x6f, 0xb8, 0x44, 0x33, 0xd8,
+	0x05, 0x8d, 0xe0, 0x55, 0x81, 0x17, 0x53, 0xbb, 0xa1, 0x3f, 0x6a, 0x47, 0xdd, 0xfe, 0x13, 0xfe,
+	0xc5, 0x83, 0x3b, 0xcf, 0xf4, 0x91, 0x50, 0x3a, 0xcf, 0x9e, 0xf0, 0xcd, 0x99, 0x9d, 0x39, 0xd8,
+	0x07, 0xb6, 0xff, 0x98, 0xb2, 0xd6, 0x2a, 0x05, 0xcf, 0x74, 0x8b, 0x2d, 0xb1, 0xed, 0xf7, 0x9e,
+	0xed, 0x44, 0x66, 0x4c, 0xe8, 0xd7, 0x45, 0xc9, 0xac, 0x6e, 0x05, 0xdd, 0xde, 0x52, 0xcb, 0x20,
+	0x56, 0x54, 0xcb, 0x4e, 0x6d, 0xd7, 0xb1, 0x79, 0x6e, 0xc1, 0xd6, 0x6c, 0x33, 0xfc, 0xde, 0xd9,
+	0xa6, 0xfb, 0xcf, 0xde, 0xd0, 0x79, 0xe7, 0xd1, 0x1f, 0x3c, 0x98, 0xb7, 0xe7, 0x28, 0x36, 0x87,
+	0xc9, 0x49, 0x6c, 0x6c, 0xee, 0xef, 0x31, 0x1f, 0xe6, 0x0e, 0xc2, 0x51, 0xdf, 0xf7, 0xd8, 0x5d,
+	0xf0, 0xdb, 0x18, 0x6c, 0xb2, 0x7e, 0x8f, 0x01, 0x8c, 0x4e, 0x62, 0xe2, 0xe8, 0xb3, 0x05, 0x4c,
+	0xcd, 0xf9, 0x38, 0x39, 0xf7, 0x07, 0xec, 0x36, 0x2c, 0x6a, 0x10, 0x93, 0xcd, 0x1f, 0xb2, 0x29,
+	0x0c, 0x4f, 0x62, 0xa4, 0x8e, 0xd8, 0x1d, 0xb8, 0xe5, 0xae, 0xb3, 0x03, 0x96, 0x3f, 0x66, 0xfb,
+	0x00, 0x27, 0xf1, 0x89, 0xfd, 0x83, 0xc6, 0x9f, 0x18, 0x99, 0x4c, 0x8b, 0xf1, 0xa7, 0x46, 0xa6,
+	0xa3, 0x5c, 0xca, 0x27, 0x79, 0x76, 0x9a, 0x6e, 0x7d, 0x78, 0xf4, 0x11, 0x4c, 0x9c, 0xc2, 0x28,
+	0xc9, 0x2a, 0xd3, 0x42, 0x95, 0xfe, 0x1e, 0x9e, 0x5f, 0xd0, 0xfa, 0xe3, 0x7b, 0x78, 0x7e, 0x2a,
+	0xa4, 0x28, 0x85, 0xdf, 0x7b, 0xb4, 0x04, 0x7f, 0xb7, 0xf3, 0xb0, 0x5b, 0x30, 0x8b, 0xc4, 0x2a,
+	0x4b, 0x4b, 0x72, 0x9d, 0xbf, 0x87, 0x08, 0xf3, 0xb1, 0x41, 0x78, 0x6c, 0x06, 0x63, 0xfb, 0x95,
+	0xdf, 0x7b, 0xf4, 0x09, 0xec, 0x77, 0xbd, 0x6c, 0xd4, 0x7e, 0xba, 0x26, 0x63, 0xfa, 0x7b, 0x46,
+	0x31, 0x0b, 0x9a, 0xd0, 0xf1, 0xbd, 0x4f, 0x83, 0x3f, 0x7e, 0x73, 0xe0, 0x7d, 0xf5, 0xcd, 0x81,
+	0xf7, 0xd7, 0x6f, 0x0e, 0xbc, 0xdf, 0x7c, 0x7b, 0xb0, 0xf7, 0xd5, 0xb7, 0x07, 0x7b, 0x7f, 0xfe,
+	0xf6, 0x60, 0x6f, 0x3d, 0x22, 0xd7, 0x7d, 0xfc, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x89, 0xae,
+	0x59, 0xd6, 0xe8, 0x18, 0x00, 0x00,
 }
 
 func (m *Area) Marshal() (dAtA []byte, err error) {
@@ -4582,22 +4583,10 @@
 		}
 	}
 	if len(m.AlarmLevel) > 0 {
-		dAtA5 := make([]byte, len(m.AlarmLevel)*10)
-		var j4 int
-		for _, num1 := range m.AlarmLevel {
-			num := uint64(num1)
-			for num >= 1<<7 {
-				dAtA5[j4] = uint8(uint64(num)&0x7f | 0x80)
-				num >>= 7
-				j4++
-			}
-			dAtA5[j4] = uint8(num)
-			j4++
-		}
 		dAtA[i] = 0x3a
 		i++
-		i = encodeVarintProtomsg(dAtA, i, uint64(j4))
-		i += copy(dAtA[i:], dAtA5[:j4])
+		i = encodeVarintProtomsg(dAtA, i, uint64(len(m.AlarmLevel)))
+		i += copy(dAtA[i:], m.AlarmLevel)
 	}
 	if len(m.SearchTime) > 0 {
 		for _, s := range m.SearchTime {
@@ -5014,11 +5003,11 @@
 		dAtA[i] = 0x12
 		i++
 		i = encodeVarintProtomsg(dAtA, i, uint64(m.Cam.Size()))
-		n6, err6 := m.Cam.MarshalTo(dAtA[i:])
-		if err6 != nil {
-			return 0, err6
+		n4, err4 := m.Cam.MarshalTo(dAtA[i:])
+		if err4 != nil {
+			return 0, err4
 		}
-		i += n6
+		i += n4
 	}
 	if len(m.ServerId) > 0 {
 		dAtA[i] = 0x1a
@@ -5901,12 +5890,9 @@
 			n += 1 + l + sovProtomsg(uint64(l))
 		}
 	}
-	if len(m.AlarmLevel) > 0 {
-		l = 0
-		for _, e := range m.AlarmLevel {
-			l += sovProtomsg(uint64(e))
-		}
-		n += 1 + sovProtomsg(uint64(l)) + l
+	l = len(m.AlarmLevel)
+	if l > 0 {
+		n += 1 + l + sovProtomsg(uint64(l))
 	}
 	if len(m.SearchTime) > 0 {
 		for _, s := range m.SearchTime {
@@ -6182,14 +6168,7 @@
 }
 
 func sovProtomsg(x uint64) (n int) {
-	for {
-		n++
-		x >>= 7
-		if x == 0 {
-			break
-		}
-	}
-	return n
+	return (math_bits.Len64(x|1) + 6) / 7
 }
 func sozProtomsg(x uint64) (n int) {
 	return sovProtomsg(uint64((x << 1) ^ uint64((int64(x) >> 63))))
@@ -11581,81 +11560,37 @@
 			m.Tabs = append(m.Tabs, string(dAtA[iNdEx:postIndex]))
 			iNdEx = postIndex
 		case 7:
-			if wireType == 0 {
-				var v int32
-				for shift := uint(0); ; shift += 7 {
-					if shift >= 64 {
-						return ErrIntOverflowProtomsg
-					}
-					if iNdEx >= l {
-						return io.ErrUnexpectedEOF
-					}
-					b := dAtA[iNdEx]
-					iNdEx++
-					v |= int32(b&0x7F) << shift
-					if b < 0x80 {
-						break
-					}
-				}
-				m.AlarmLevel = append(m.AlarmLevel, v)
-			} else if wireType == 2 {
-				var packedLen int
-				for shift := uint(0); ; shift += 7 {
-					if shift >= 64 {
-						return ErrIntOverflowProtomsg
-					}
-					if iNdEx >= l {
-						return io.ErrUnexpectedEOF
-					}
-					b := dAtA[iNdEx]
-					iNdEx++
-					packedLen |= int(b&0x7F) << shift
-					if b < 0x80 {
-						break
-					}
-				}
-				if packedLen < 0 {
-					return ErrInvalidLengthProtomsg
-				}
-				postIndex := iNdEx + packedLen
-				if postIndex < 0 {
-					return ErrInvalidLengthProtomsg
-				}
-				if postIndex > l {
-					return io.ErrUnexpectedEOF
-				}
-				var elementCount int
-				var count int
-				for _, integer := range dAtA[iNdEx:postIndex] {
-					if integer < 128 {
-						count++
-					}
-				}
-				elementCount = count
-				if elementCount != 0 && len(m.AlarmLevel) == 0 {
-					m.AlarmLevel = make([]int32, 0, elementCount)
-				}
-				for iNdEx < postIndex {
-					var v int32
-					for shift := uint(0); ; shift += 7 {
-						if shift >= 64 {
-							return ErrIntOverflowProtomsg
-						}
-						if iNdEx >= l {
-							return io.ErrUnexpectedEOF
-						}
-						b := dAtA[iNdEx]
-						iNdEx++
-						v |= int32(b&0x7F) << shift
-						if b < 0x80 {
-							break
-						}
-					}
-					m.AlarmLevel = append(m.AlarmLevel, v)
-				}
-			} else {
+			if wireType != 2 {
 				return fmt.Errorf("proto: wrong wireType = %d for field AlarmLevel", wireType)
 			}
+			var stringLen uint64
+			for shift := uint(0); ; shift += 7 {
+				if shift >= 64 {
+					return ErrIntOverflowProtomsg
+				}
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := dAtA[iNdEx]
+				iNdEx++
+				stringLen |= uint64(b&0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+			intStringLen := int(stringLen)
+			if intStringLen < 0 {
+				return ErrInvalidLengthProtomsg
+			}
+			postIndex := iNdEx + intStringLen
+			if postIndex < 0 {
+				return ErrInvalidLengthProtomsg
+			}
+			if postIndex > l {
+				return io.ErrUnexpectedEOF
+			}
+			m.AlarmLevel = string(dAtA[iNdEx:postIndex])
+			iNdEx = postIndex
 		case 8:
 			if wireType != 2 {
 				return fmt.Errorf("proto: wrong wireType = %d for field SearchTime", wireType)
diff --git a/protomsg.proto b/protomsg.proto
index 8c4b6e9..ac4f27e 100644
--- a/protomsg.proto
+++ b/protomsg.proto
@@ -254,7 +254,7 @@
     repeated string tasks = 4;
     repeated string treeNodes = 5;
     repeated string tabs = 6;
-    repeated int32 alarmLevel = 7;
+    string alarmLevel = 7;
     repeated string searchTime = 8;
     string inputValue = 9;
     string collection = 10;
diff --git a/videoperson.pb.go b/videoperson.pb.go
deleted file mode 100644
index 5792535..0000000
--- a/videoperson.pb.go
+++ /dev/null
@@ -1,2885 +0,0 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: videoperson.proto
-
-package protomsg
-
-import (
-	encoding_binary "encoding/binary"
-	fmt "fmt"
-	proto "github.com/gogo/protobuf/proto"
-	io "io"
-	math "math"
-)
-
-// 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.GoGoProtoPackageIsVersion2 // please upgrade the proto package
-
-type Videopersons 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"`
-	CameraAddr      string        `protobuf:"bytes,3,opt,name=cameraAddr,proto3" json:"cameraAddr,omitempty"`
-	PicDate         string        `protobuf:"bytes,4,opt,name=picDate,proto3" json:"picDate,omitempty"`
-	PicMaxUrl       string        `protobuf:"bytes,5,opt,name=picMaxUrl,proto3" json:"picMaxUrl,omitempty"`
-	TaskId          string        `protobuf:"bytes,6,opt,name=taskId,proto3" json:"taskId,omitempty"`
-	TaskName        string        `protobuf:"bytes,7,opt,name=taskName,proto3" json:"taskName,omitempty"`
-	SdkName         string        `protobuf:"bytes,8,opt,name=sdkName,proto3" json:"sdkName,omitempty"`
-	Content         string        `protobuf:"bytes,9,opt,name=content,proto3" json:"content,omitempty"`
-	LikeDate        string        `protobuf:"bytes,10,opt,name=likeDate,proto3" json:"likeDate,omitempty"`
-	DetectScore     string        `protobuf:"bytes,11,opt,name=detectScore,proto3" json:"detectScore,omitempty"`
-	Sex             string        `protobuf:"bytes,12,opt,name=sex,proto3" json:"sex,omitempty"`
-	Age             int32         `protobuf:"varint,13,opt,name=age,proto3" json:"age,omitempty"`
-	AgeDescription  string        `protobuf:"bytes,14,opt,name=ageDescription,proto3" json:"ageDescription,omitempty"`
-	Race            string        `protobuf:"bytes,15,opt,name=race,proto3" json:"race,omitempty"`
-	SmileLevel      string        `protobuf:"bytes,16,opt,name=smileLevel,proto3" json:"smileLevel,omitempty"`
-	BeautyLevel     string        `protobuf:"bytes,17,opt,name=beautyLevel,proto3" json:"beautyLevel,omitempty"`
-	PicSmUrl        []string      `protobuf:"bytes,18,rep,name=picSmUrl,proto3" json:"picSmUrl,omitempty"`
-	VideoUrl        string        `protobuf:"bytes,19,opt,name=videoUrl,proto3" json:"videoUrl,omitempty"`
-	AnalyServerId   string        `protobuf:"bytes,20,opt,name=analyServerId,proto3" json:"analyServerId,omitempty"`
-	AnalyServerName string        `protobuf:"bytes,21,opt,name=analyServerName,proto3" json:"analyServerName,omitempty"`
-	AnalyServerIp   string        `protobuf:"bytes,22,opt,name=analyServerIp,proto3" json:"analyServerIp,omitempty"`
-	ClusterId       string        `protobuf:"bytes,23,opt,name=clusterId,proto3" json:"clusterId,omitempty"`
-	IsAlarm         string        `protobuf:"bytes,24,opt,name=isAlarm,proto3" json:"isAlarm,omitempty"`
-	IsAckAlarm      string        `protobuf:"bytes,25,opt,name=isAckAlarm,proto3" json:"isAckAlarm,omitempty"`
-	IsCollect       int32         `protobuf:"varint,26,opt,name=isCollect,proto3" json:"isCollect,omitempty"`
-	IsDelete        int32         `protobuf:"varint,27,opt,name=isDelete,proto3" json:"isDelete,omitempty"`
-	AlarmRules      []*AlarmRules `protobuf:"bytes,28,rep,name=alarmRules,proto3" json:"alarmRules,omitempty"`
-	BaseInfo        []*BaseInfo   `protobuf:"bytes,29,rep,name=baseInfo,proto3" json:"baseInfo,omitempty"`
-}
-
-func (m *Videopersons) Reset()         { *m = Videopersons{} }
-func (m *Videopersons) String() string { return proto.CompactTextString(m) }
-func (*Videopersons) ProtoMessage()    {}
-func (*Videopersons) Descriptor() ([]byte, []int) {
-	return fileDescriptor_149f81aa0f752265, []int{0}
-}
-func (m *Videopersons) XXX_Unmarshal(b []byte) error {
-	return m.Unmarshal(b)
-}
-func (m *Videopersons) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	if deterministic {
-		return xxx_messageInfo_Videopersons.Marshal(b, m, deterministic)
-	} else {
-		b = b[:cap(b)]
-		n, err := m.MarshalTo(b)
-		if err != nil {
-			return nil, err
-		}
-		return b[:n], nil
-	}
-}
-func (m *Videopersons) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Videopersons.Merge(m, src)
-}
-func (m *Videopersons) XXX_Size() int {
-	return m.Size()
-}
-func (m *Videopersons) XXX_DiscardUnknown() {
-	xxx_messageInfo_Videopersons.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Videopersons proto.InternalMessageInfo
-
-func (m *Videopersons) GetId() string {
-	if m != nil {
-		return m.Id
-	}
-	return ""
-}
-
-func (m *Videopersons) GetCameraId() string {
-	if m != nil {
-		return m.CameraId
-	}
-	return ""
-}
-
-func (m *Videopersons) GetCameraAddr() string {
-	if m != nil {
-		return m.CameraAddr
-	}
-	return ""
-}
-
-func (m *Videopersons) GetPicDate() string {
-	if m != nil {
-		return m.PicDate
-	}
-	return ""
-}
-
-func (m *Videopersons) GetPicMaxUrl() string {
-	if m != nil {
-		return m.PicMaxUrl
-	}
-	return ""
-}
-
-func (m *Videopersons) GetTaskId() string {
-	if m != nil {
-		return m.TaskId
-	}
-	return ""
-}
-
-func (m *Videopersons) GetTaskName() string {
-	if m != nil {
-		return m.TaskName
-	}
-	return ""
-}
-
-func (m *Videopersons) GetSdkName() string {
-	if m != nil {
-		return m.SdkName
-	}
-	return ""
-}
-
-func (m *Videopersons) GetContent() string {
-	if m != nil {
-		return m.Content
-	}
-	return ""
-}
-
-func (m *Videopersons) GetLikeDate() string {
-	if m != nil {
-		return m.LikeDate
-	}
-	return ""
-}
-
-func (m *Videopersons) GetDetectScore() string {
-	if m != nil {
-		return m.DetectScore
-	}
-	return ""
-}
-
-func (m *Videopersons) GetSex() string {
-	if m != nil {
-		return m.Sex
-	}
-	return ""
-}
-
-func (m *Videopersons) GetAge() int32 {
-	if m != nil {
-		return m.Age
-	}
-	return 0
-}
-
-func (m *Videopersons) GetAgeDescription() string {
-	if m != nil {
-		return m.AgeDescription
-	}
-	return ""
-}
-
-func (m *Videopersons) GetRace() string {
-	if m != nil {
-		return m.Race
-	}
-	return ""
-}
-
-func (m *Videopersons) GetSmileLevel() string {
-	if m != nil {
-		return m.SmileLevel
-	}
-	return ""
-}
-
-func (m *Videopersons) GetBeautyLevel() string {
-	if m != nil {
-		return m.BeautyLevel
-	}
-	return ""
-}
-
-func (m *Videopersons) GetPicSmUrl() []string {
-	if m != nil {
-		return m.PicSmUrl
-	}
-	return nil
-}
-
-func (m *Videopersons) GetVideoUrl() string {
-	if m != nil {
-		return m.VideoUrl
-	}
-	return ""
-}
-
-func (m *Videopersons) GetAnalyServerId() string {
-	if m != nil {
-		return m.AnalyServerId
-	}
-	return ""
-}
-
-func (m *Videopersons) GetAnalyServerName() string {
-	if m != nil {
-		return m.AnalyServerName
-	}
-	return ""
-}
-
-func (m *Videopersons) GetAnalyServerIp() string {
-	if m != nil {
-		return m.AnalyServerIp
-	}
-	return ""
-}
-
-func (m *Videopersons) GetClusterId() string {
-	if m != nil {
-		return m.ClusterId
-	}
-	return ""
-}
-
-func (m *Videopersons) GetIsAlarm() string {
-	if m != nil {
-		return m.IsAlarm
-	}
-	return ""
-}
-
-func (m *Videopersons) GetIsAckAlarm() string {
-	if m != nil {
-		return m.IsAckAlarm
-	}
-	return ""
-}
-
-func (m *Videopersons) GetIsCollect() int32 {
-	if m != nil {
-		return m.IsCollect
-	}
-	return 0
-}
-
-func (m *Videopersons) GetIsDelete() int32 {
-	if m != nil {
-		return m.IsDelete
-	}
-	return 0
-}
-
-func (m *Videopersons) GetAlarmRules() []*AlarmRules {
-	if m != nil {
-		return m.AlarmRules
-	}
-	return nil
-}
-
-func (m *Videopersons) GetBaseInfo() []*BaseInfo {
-	if m != nil {
-		return m.BaseInfo
-	}
-	return nil
-}
-
-type AlarmRules struct {
-	GroupId      string `protobuf:"bytes,1,opt,name=groupId,proto3" json:"groupId,omitempty"`
-	AlarmLevel   string `protobuf:"bytes,2,opt,name=alarmLevel,proto3" json:"alarmLevel,omitempty"`
-	RuleText     string `protobuf:"bytes,3,opt,name=ruleText,proto3" json:"ruleText,omitempty"`
-	DefenceState bool   `protobuf:"varint,4,opt,name=defenceState,proto3" json:"defenceState,omitempty"`
-	IsLink       bool   `protobuf:"varint,5,opt,name=isLink,proto3" json:"isLink,omitempty"`
-	LinkInfo     string `protobuf:"bytes,6,opt,name=linkInfo,proto3" json:"linkInfo,omitempty"`
-}
-
-func (m *AlarmRules) Reset()         { *m = AlarmRules{} }
-func (m *AlarmRules) String() string { return proto.CompactTextString(m) }
-func (*AlarmRules) ProtoMessage()    {}
-func (*AlarmRules) Descriptor() ([]byte, []int) {
-	return fileDescriptor_149f81aa0f752265, []int{1}
-}
-func (m *AlarmRules) XXX_Unmarshal(b []byte) error {
-	return m.Unmarshal(b)
-}
-func (m *AlarmRules) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	if deterministic {
-		return xxx_messageInfo_AlarmRules.Marshal(b, m, deterministic)
-	} else {
-		b = b[:cap(b)]
-		n, err := m.MarshalTo(b)
-		if err != nil {
-			return nil, err
-		}
-		return b[:n], nil
-	}
-}
-func (m *AlarmRules) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_AlarmRules.Merge(m, src)
-}
-func (m *AlarmRules) XXX_Size() int {
-	return m.Size()
-}
-func (m *AlarmRules) XXX_DiscardUnknown() {
-	xxx_messageInfo_AlarmRules.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_AlarmRules proto.InternalMessageInfo
-
-func (m *AlarmRules) GetGroupId() string {
-	if m != nil {
-		return m.GroupId
-	}
-	return ""
-}
-
-func (m *AlarmRules) GetAlarmLevel() string {
-	if m != nil {
-		return m.AlarmLevel
-	}
-	return ""
-}
-
-func (m *AlarmRules) GetRuleText() string {
-	if m != nil {
-		return m.RuleText
-	}
-	return ""
-}
-
-func (m *AlarmRules) GetDefenceState() bool {
-	if m != nil {
-		return m.DefenceState
-	}
-	return false
-}
-
-func (m *AlarmRules) GetIsLink() bool {
-	if m != nil {
-		return m.IsLink
-	}
-	return false
-}
-
-func (m *AlarmRules) GetLinkInfo() string {
-	if m != nil {
-		return m.LinkInfo
-	}
-	return ""
-}
-
-type BaseInfo struct {
-	TableId      string  `protobuf:"bytes,1,opt,name=tableId,proto3" json:"tableId,omitempty"`
-	TableName    string  `protobuf:"bytes,2,opt,name=tableName,proto3" json:"tableName,omitempty"`
-	CompareScore float32 `protobuf:"fixed32,3,opt,name=compareScore,proto3" json:"compareScore,omitempty"`
-	PersonId     string  `protobuf:"bytes,4,opt,name=personId,proto3" json:"personId,omitempty"`
-	PersonName   string  `protobuf:"bytes,5,opt,name=personName,proto3" json:"personName,omitempty"`
-	PersonPicUrl string  `protobuf:"bytes,6,opt,name=personPicUrl,proto3" json:"personPicUrl,omitempty"`
-	PhoneNum     string  `protobuf:"bytes,7,opt,name=phoneNum,proto3" json:"phoneNum,omitempty"`
-	Sex          string  `protobuf:"bytes,8,opt,name=sex,proto3" json:"sex,omitempty"`
-	IdCard       string  `protobuf:"bytes,9,opt,name=idCard,proto3" json:"idCard,omitempty"`
-	MonitorLevel string  `protobuf:"bytes,10,opt,name=monitorLevel,proto3" json:"monitorLevel,omitempty"`
-	Content      string  `protobuf:"bytes,11,opt,name=content,proto3" json:"content,omitempty"`
-	BwType       string  `protobuf:"bytes,12,opt,name=bwType,proto3" json:"bwType,omitempty"`
-}
-
-func (m *BaseInfo) Reset()         { *m = BaseInfo{} }
-func (m *BaseInfo) String() string { return proto.CompactTextString(m) }
-func (*BaseInfo) ProtoMessage()    {}
-func (*BaseInfo) Descriptor() ([]byte, []int) {
-	return fileDescriptor_149f81aa0f752265, []int{2}
-}
-func (m *BaseInfo) XXX_Unmarshal(b []byte) error {
-	return m.Unmarshal(b)
-}
-func (m *BaseInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	if deterministic {
-		return xxx_messageInfo_BaseInfo.Marshal(b, m, deterministic)
-	} else {
-		b = b[:cap(b)]
-		n, err := m.MarshalTo(b)
-		if err != nil {
-			return nil, err
-		}
-		return b[:n], nil
-	}
-}
-func (m *BaseInfo) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_BaseInfo.Merge(m, src)
-}
-func (m *BaseInfo) XXX_Size() int {
-	return m.Size()
-}
-func (m *BaseInfo) XXX_DiscardUnknown() {
-	xxx_messageInfo_BaseInfo.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_BaseInfo proto.InternalMessageInfo
-
-func (m *BaseInfo) GetTableId() string {
-	if m != nil {
-		return m.TableId
-	}
-	return ""
-}
-
-func (m *BaseInfo) GetTableName() string {
-	if m != nil {
-		return m.TableName
-	}
-	return ""
-}
-
-func (m *BaseInfo) GetCompareScore() float32 {
-	if m != nil {
-		return m.CompareScore
-	}
-	return 0
-}
-
-func (m *BaseInfo) GetPersonId() string {
-	if m != nil {
-		return m.PersonId
-	}
-	return ""
-}
-
-func (m *BaseInfo) GetPersonName() string {
-	if m != nil {
-		return m.PersonName
-	}
-	return ""
-}
-
-func (m *BaseInfo) GetPersonPicUrl() string {
-	if m != nil {
-		return m.PersonPicUrl
-	}
-	return ""
-}
-
-func (m *BaseInfo) GetPhoneNum() string {
-	if m != nil {
-		return m.PhoneNum
-	}
-	return ""
-}
-
-func (m *BaseInfo) GetSex() string {
-	if m != nil {
-		return m.Sex
-	}
-	return ""
-}
-
-func (m *BaseInfo) GetIdCard() string {
-	if m != nil {
-		return m.IdCard
-	}
-	return ""
-}
-
-func (m *BaseInfo) GetMonitorLevel() string {
-	if m != nil {
-		return m.MonitorLevel
-	}
-	return ""
-}
-
-func (m *BaseInfo) GetContent() string {
-	if m != nil {
-		return m.Content
-	}
-	return ""
-}
-
-func (m *BaseInfo) GetBwType() string {
-	if m != nil {
-		return m.BwType
-	}
-	return ""
-}
-
-func init() {
-	proto.RegisterType((*Videopersons)(nil), "protomsg.Videopersons")
-	proto.RegisterType((*AlarmRules)(nil), "protomsg.AlarmRules")
-	proto.RegisterType((*BaseInfo)(nil), "protomsg.BaseInfo")
-}
-
-func init() { proto.RegisterFile("videoperson.proto", fileDescriptor_149f81aa0f752265) }
-
-var fileDescriptor_149f81aa0f752265 = []byte{
-	// 713 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x64, 0x54, 0xcf, 0x6e, 0x13, 0x3f,
-	0x10, 0x6e, 0x92, 0x36, 0xdd, 0x3a, 0xfd, 0xeb, 0x5f, 0x7f, 0xc5, 0x94, 0x12, 0x45, 0x11, 0x42,
-	0x39, 0xe5, 0x00, 0xbc, 0x40, 0xda, 0x5e, 0x22, 0x95, 0x0a, 0x6d, 0x0a, 0x77, 0xc7, 0x3b, 0x0d,
-	0x56, 0xf6, 0x9f, 0x6c, 0xa7, 0xb4, 0x37, 0x1e, 0x81, 0xe7, 0xe1, 0x09, 0x38, 0xf6, 0xc8, 0x11,
-	0xa5, 0x2f, 0x82, 0x66, 0xbc, 0x9b, 0xdd, 0x94, 0xd3, 0xce, 0xf7, 0x7d, 0xde, 0xf1, 0xcc, 0x78,
-	0x66, 0xd8, 0xd1, 0x9d, 0x8e, 0x20, 0xcb, 0xc1, 0xd8, 0x2c, 0x1d, 0xe6, 0x26, 0x73, 0x19, 0x0f,
-	0xe8, 0x93, 0xd8, 0x59, 0xff, 0xfb, 0x36, 0xdb, 0xfd, 0x52, 0xe9, 0x96, 0xef, 0xb3, 0xa6, 0x8e,
-	0x44, 0xa3, 0xd7, 0x18, 0xec, 0x84, 0x4d, 0x1d, 0xf1, 0x53, 0x16, 0x28, 0x99, 0x80, 0x91, 0xe3,
-	0x48, 0x34, 0x89, 0x5d, 0x61, 0xde, 0x65, 0xcc, 0xdb, 0xa3, 0x28, 0x32, 0xa2, 0x45, 0x6a, 0x8d,
-	0xe1, 0x82, 0x6d, 0xe7, 0x5a, 0x5d, 0x4a, 0x07, 0x62, 0x93, 0xc4, 0x12, 0xf2, 0x33, 0xb6, 0x93,
-	0x6b, 0xf5, 0x51, 0xde, 0x7f, 0x36, 0xb1, 0xd8, 0x22, 0xad, 0x22, 0xf8, 0x09, 0x6b, 0x3b, 0x69,
-	0xe7, 0xe3, 0x48, 0xb4, 0x49, 0x2a, 0x10, 0xc6, 0x82, 0xd6, 0xb5, 0x4c, 0x40, 0x6c, 0xfb, 0x58,
-	0x4a, 0x8c, 0x77, 0xd9, 0xc8, 0x4b, 0x81, 0xbf, 0xab, 0x80, 0xa8, 0xa8, 0x2c, 0x75, 0x90, 0x3a,
-	0xb1, 0xe3, 0x95, 0x02, 0xa2, 0xbf, 0x58, 0xcf, 0x81, 0x02, 0x64, 0xde, 0x5f, 0x89, 0x79, 0x8f,
-	0x75, 0x22, 0x70, 0xa0, 0xdc, 0x44, 0x65, 0x06, 0x44, 0x87, 0xe4, 0x3a, 0xc5, 0x0f, 0x59, 0xcb,
-	0xc2, 0xbd, 0xd8, 0x25, 0x05, 0x4d, 0x64, 0xe4, 0x0c, 0xc4, 0x5e, 0xaf, 0x31, 0xd8, 0x0a, 0xd1,
-	0xe4, 0x6f, 0xd9, 0xbe, 0x9c, 0xc1, 0x25, 0x58, 0x65, 0x74, 0xee, 0x74, 0x96, 0x8a, 0x7d, 0x3a,
-	0xfe, 0x8c, 0xe5, 0x9c, 0x6d, 0x1a, 0xa9, 0x40, 0x1c, 0x90, 0x4a, 0x36, 0x56, 0xd7, 0x26, 0x3a,
-	0x86, 0x2b, 0xb8, 0x83, 0x58, 0x1c, 0xfa, 0xea, 0x56, 0x0c, 0x46, 0x38, 0x05, 0xb9, 0x70, 0x0f,
-	0xfe, 0xc0, 0x91, 0x8f, 0xb0, 0x46, 0x61, 0x7e, 0xb9, 0x56, 0x93, 0x04, 0x8b, 0xcc, 0x7b, 0x2d,
-	0xcc, 0xaf, 0xc4, 0xa8, 0x51, 0x5f, 0xa0, 0xf6, 0x9f, 0xcf, 0xbd, 0xc4, 0xfc, 0x0d, 0xdb, 0x93,
-	0xa9, 0x8c, 0x1f, 0x26, 0x60, 0xee, 0xc0, 0x8c, 0x23, 0x71, 0x4c, 0x07, 0xd6, 0x49, 0x3e, 0x60,
-	0x07, 0x35, 0x82, 0x2a, 0xff, 0x3f, 0x9d, 0x7b, 0x4e, 0x3f, 0xf7, 0x97, 0x8b, 0x93, 0x7f, 0xfd,
-	0xe5, 0xd8, 0x13, 0x2a, 0x5e, 0x58, 0x47, 0x37, 0xbe, 0xf0, 0x3d, 0xb1, 0x22, 0xf0, 0x15, 0xb5,
-	0x1d, 0xc5, 0xd2, 0x24, 0x42, 0xf8, 0x57, 0x2c, 0x20, 0xd6, 0x49, 0xdb, 0x91, 0x9a, 0x7b, 0xf1,
-	0xa5, 0xaf, 0x53, 0xc5, 0xa0, 0x5f, 0x6d, 0x2f, 0xb2, 0x38, 0x06, 0xe5, 0xc4, 0x29, 0xbd, 0x4d,
-	0x45, 0x60, 0x1d, 0xb4, 0xbd, 0x84, 0x18, 0x1c, 0x88, 0x57, 0x24, 0xae, 0x30, 0xff, 0xc0, 0x98,
-	0x44, 0x17, 0xe1, 0x22, 0x06, 0x2b, 0xce, 0x7a, 0xad, 0x41, 0xe7, 0xdd, 0xf1, 0xb0, 0x9c, 0x9d,
-	0xe1, 0x68, 0xa5, 0x85, 0xb5, 0x73, 0x7c, 0xc8, 0x82, 0xa9, 0xb4, 0x30, 0x4e, 0x6f, 0x33, 0xf1,
-	0x9a, 0xfe, 0xe1, 0xd5, 0x3f, 0xe7, 0x85, 0x12, 0xae, 0xce, 0xf4, 0x7f, 0x36, 0x18, 0xab, 0x5c,
-	0x61, 0xa2, 0x33, 0x93, 0x2d, 0xf2, 0x71, 0x39, 0x85, 0x25, 0xc4, 0x44, 0xe9, 0x1a, 0xff, 0xde,
-	0x7e, 0x18, 0x6b, 0x0c, 0xa6, 0x62, 0x16, 0x31, 0xdc, 0xc0, 0xbd, 0x2b, 0x86, 0x71, 0x85, 0x79,
-	0x9f, 0xed, 0x46, 0x70, 0x0b, 0xa9, 0x82, 0x89, 0x2b, 0xe7, 0x31, 0x08, 0xd7, 0x38, 0x1c, 0x3b,
-	0x6d, 0xaf, 0x74, 0x3a, 0xa7, 0x89, 0x0c, 0xc2, 0x02, 0xf9, 0x31, 0x49, 0xe7, 0x94, 0x50, 0xbb,
-	0x1c, 0x13, 0x8f, 0xfb, 0xcb, 0x26, 0x0b, 0xca, 0x9c, 0x30, 0x74, 0x27, 0xa7, 0x31, 0x54, 0xa1,
-	0x17, 0x10, 0xdf, 0x80, 0x4c, 0xea, 0x12, 0x1f, 0x79, 0x45, 0x60, 0x70, 0x2a, 0x4b, 0x72, 0x69,
-	0xc0, 0x0f, 0x1b, 0x06, 0xdf, 0x0c, 0xd7, 0x38, 0xea, 0x65, 0x5a, 0x51, 0xe3, 0xa8, 0x58, 0x26,
-	0x2b, 0x8c, 0x85, 0xf1, 0x36, 0xb9, 0xf7, 0xeb, 0xa4, 0xc6, 0xa0, 0x7f, 0x8f, 0x3e, 0x69, 0x85,
-	0xfd, 0xee, 0x93, 0x58, 0xe3, 0xc8, 0xff, 0xd7, 0x2c, 0x85, 0xeb, 0x45, 0x52, 0xee, 0x96, 0x12,
-	0x97, 0x93, 0x1e, 0x54, 0x93, 0x8e, 0xa5, 0x8a, 0x2e, 0xa4, 0x89, 0x8a, 0x95, 0x52, 0x20, 0xbc,
-	0x29, 0xc9, 0x52, 0xed, 0x32, 0xe3, 0x1f, 0xc9, 0x6f, 0x95, 0x35, 0xae, 0xbe, 0x8f, 0x3a, 0xeb,
-	0xfb, 0xe8, 0x84, 0xb5, 0xa7, 0xdf, 0x6e, 0x1e, 0x72, 0x28, 0x96, 0x4a, 0x81, 0xce, 0xc5, 0xaf,
-	0x65, 0xb7, 0xf1, 0xb8, 0xec, 0x36, 0xfe, 0x2c, 0xbb, 0x8d, 0x1f, 0x4f, 0xdd, 0x8d, 0xc7, 0xa7,
-	0xee, 0xc6, 0xef, 0xa7, 0xee, 0xc6, 0xb4, 0x4d, 0x8d, 0xf5, 0xfe, 0x6f, 0x00, 0x00, 0x00, 0xff,
-	0xff, 0x3a, 0xb7, 0x6f, 0x3f, 0xe4, 0x05, 0x00, 0x00,
-}
-
-func (m *Videopersons) Marshal() (dAtA []byte, err error) {
-	size := m.Size()
-	dAtA = make([]byte, size)
-	n, err := m.MarshalTo(dAtA)
-	if err != nil {
-		return nil, err
-	}
-	return dAtA[:n], nil
-}
-
-func (m *Videopersons) MarshalTo(dAtA []byte) (int, error) {
-	var i int
-	_ = i
-	var l int
-	_ = l
-	if len(m.Id) > 0 {
-		dAtA[i] = 0xa
-		i++
-		i = encodeVarintVideoperson(dAtA, i, uint64(len(m.Id)))
-		i += copy(dAtA[i:], m.Id)
-	}
-	if len(m.CameraId) > 0 {
-		dAtA[i] = 0x12
-		i++
-		i = encodeVarintVideoperson(dAtA, i, uint64(len(m.CameraId)))
-		i += copy(dAtA[i:], m.CameraId)
-	}
-	if len(m.CameraAddr) > 0 {
-		dAtA[i] = 0x1a
-		i++
-		i = encodeVarintVideoperson(dAtA, i, uint64(len(m.CameraAddr)))
-		i += copy(dAtA[i:], m.CameraAddr)
-	}
-	if len(m.PicDate) > 0 {
-		dAtA[i] = 0x22
-		i++
-		i = encodeVarintVideoperson(dAtA, i, uint64(len(m.PicDate)))
-		i += copy(dAtA[i:], m.PicDate)
-	}
-	if len(m.PicMaxUrl) > 0 {
-		dAtA[i] = 0x2a
-		i++
-		i = encodeVarintVideoperson(dAtA, i, uint64(len(m.PicMaxUrl)))
-		i += copy(dAtA[i:], m.PicMaxUrl)
-	}
-	if len(m.TaskId) > 0 {
-		dAtA[i] = 0x32
-		i++
-		i = encodeVarintVideoperson(dAtA, i, uint64(len(m.TaskId)))
-		i += copy(dAtA[i:], m.TaskId)
-	}
-	if len(m.TaskName) > 0 {
-		dAtA[i] = 0x3a
-		i++
-		i = encodeVarintVideoperson(dAtA, i, uint64(len(m.TaskName)))
-		i += copy(dAtA[i:], m.TaskName)
-	}
-	if len(m.SdkName) > 0 {
-		dAtA[i] = 0x42
-		i++
-		i = encodeVarintVideoperson(dAtA, i, uint64(len(m.SdkName)))
-		i += copy(dAtA[i:], m.SdkName)
-	}
-	if len(m.Content) > 0 {
-		dAtA[i] = 0x4a
-		i++
-		i = encodeVarintVideoperson(dAtA, i, uint64(len(m.Content)))
-		i += copy(dAtA[i:], m.Content)
-	}
-	if len(m.LikeDate) > 0 {
-		dAtA[i] = 0x52
-		i++
-		i = encodeVarintVideoperson(dAtA, i, uint64(len(m.LikeDate)))
-		i += copy(dAtA[i:], m.LikeDate)
-	}
-	if len(m.DetectScore) > 0 {
-		dAtA[i] = 0x5a
-		i++
-		i = encodeVarintVideoperson(dAtA, i, uint64(len(m.DetectScore)))
-		i += copy(dAtA[i:], m.DetectScore)
-	}
-	if len(m.Sex) > 0 {
-		dAtA[i] = 0x62
-		i++
-		i = encodeVarintVideoperson(dAtA, i, uint64(len(m.Sex)))
-		i += copy(dAtA[i:], m.Sex)
-	}
-	if m.Age != 0 {
-		dAtA[i] = 0x68
-		i++
-		i = encodeVarintVideoperson(dAtA, i, uint64(m.Age))
-	}
-	if len(m.AgeDescription) > 0 {
-		dAtA[i] = 0x72
-		i++
-		i = encodeVarintVideoperson(dAtA, i, uint64(len(m.AgeDescription)))
-		i += copy(dAtA[i:], m.AgeDescription)
-	}
-	if len(m.Race) > 0 {
-		dAtA[i] = 0x7a
-		i++
-		i = encodeVarintVideoperson(dAtA, i, uint64(len(m.Race)))
-		i += copy(dAtA[i:], m.Race)
-	}
-	if len(m.SmileLevel) > 0 {
-		dAtA[i] = 0x82
-		i++
-		dAtA[i] = 0x1
-		i++
-		i = encodeVarintVideoperson(dAtA, i, uint64(len(m.SmileLevel)))
-		i += copy(dAtA[i:], m.SmileLevel)
-	}
-	if len(m.BeautyLevel) > 0 {
-		dAtA[i] = 0x8a
-		i++
-		dAtA[i] = 0x1
-		i++
-		i = encodeVarintVideoperson(dAtA, i, uint64(len(m.BeautyLevel)))
-		i += copy(dAtA[i:], m.BeautyLevel)
-	}
-	if len(m.PicSmUrl) > 0 {
-		for _, s := range m.PicSmUrl {
-			dAtA[i] = 0x92
-			i++
-			dAtA[i] = 0x1
-			i++
-			l = len(s)
-			for l >= 1<<7 {
-				dAtA[i] = uint8(uint64(l)&0x7f | 0x80)
-				l >>= 7
-				i++
-			}
-			dAtA[i] = uint8(l)
-			i++
-			i += copy(dAtA[i:], s)
-		}
-	}
-	if len(m.VideoUrl) > 0 {
-		dAtA[i] = 0x9a
-		i++
-		dAtA[i] = 0x1
-		i++
-		i = encodeVarintVideoperson(dAtA, i, uint64(len(m.VideoUrl)))
-		i += copy(dAtA[i:], m.VideoUrl)
-	}
-	if len(m.AnalyServerId) > 0 {
-		dAtA[i] = 0xa2
-		i++
-		dAtA[i] = 0x1
-		i++
-		i = encodeVarintVideoperson(dAtA, i, uint64(len(m.AnalyServerId)))
-		i += copy(dAtA[i:], m.AnalyServerId)
-	}
-	if len(m.AnalyServerName) > 0 {
-		dAtA[i] = 0xaa
-		i++
-		dAtA[i] = 0x1
-		i++
-		i = encodeVarintVideoperson(dAtA, i, uint64(len(m.AnalyServerName)))
-		i += copy(dAtA[i:], m.AnalyServerName)
-	}
-	if len(m.AnalyServerIp) > 0 {
-		dAtA[i] = 0xb2
-		i++
-		dAtA[i] = 0x1
-		i++
-		i = encodeVarintVideoperson(dAtA, i, uint64(len(m.AnalyServerIp)))
-		i += copy(dAtA[i:], m.AnalyServerIp)
-	}
-	if len(m.ClusterId) > 0 {
-		dAtA[i] = 0xba
-		i++
-		dAtA[i] = 0x1
-		i++
-		i = encodeVarintVideoperson(dAtA, i, uint64(len(m.ClusterId)))
-		i += copy(dAtA[i:], m.ClusterId)
-	}
-	if len(m.IsAlarm) > 0 {
-		dAtA[i] = 0xc2
-		i++
-		dAtA[i] = 0x1
-		i++
-		i = encodeVarintVideoperson(dAtA, i, uint64(len(m.IsAlarm)))
-		i += copy(dAtA[i:], m.IsAlarm)
-	}
-	if len(m.IsAckAlarm) > 0 {
-		dAtA[i] = 0xca
-		i++
-		dAtA[i] = 0x1
-		i++
-		i = encodeVarintVideoperson(dAtA, i, uint64(len(m.IsAckAlarm)))
-		i += copy(dAtA[i:], m.IsAckAlarm)
-	}
-	if m.IsCollect != 0 {
-		dAtA[i] = 0xd0
-		i++
-		dAtA[i] = 0x1
-		i++
-		i = encodeVarintVideoperson(dAtA, i, uint64(m.IsCollect))
-	}
-	if m.IsDelete != 0 {
-		dAtA[i] = 0xd8
-		i++
-		dAtA[i] = 0x1
-		i++
-		i = encodeVarintVideoperson(dAtA, i, uint64(m.IsDelete))
-	}
-	if len(m.AlarmRules) > 0 {
-		for _, msg := range m.AlarmRules {
-			dAtA[i] = 0xe2
-			i++
-			dAtA[i] = 0x1
-			i++
-			i = encodeVarintVideoperson(dAtA, i, uint64(msg.Size()))
-			n, err := msg.MarshalTo(dAtA[i:])
-			if err != nil {
-				return 0, err
-			}
-			i += n
-		}
-	}
-	if len(m.BaseInfo) > 0 {
-		for _, msg := range m.BaseInfo {
-			dAtA[i] = 0xea
-			i++
-			dAtA[i] = 0x1
-			i++
-			i = encodeVarintVideoperson(dAtA, i, uint64(msg.Size()))
-			n, err := msg.MarshalTo(dAtA[i:])
-			if err != nil {
-				return 0, err
-			}
-			i += n
-		}
-	}
-	return i, nil
-}
-
-func (m *AlarmRules) Marshal() (dAtA []byte, err error) {
-	size := m.Size()
-	dAtA = make([]byte, size)
-	n, err := m.MarshalTo(dAtA)
-	if err != nil {
-		return nil, err
-	}
-	return dAtA[:n], nil
-}
-
-func (m *AlarmRules) MarshalTo(dAtA []byte) (int, error) {
-	var i int
-	_ = i
-	var l int
-	_ = l
-	if len(m.GroupId) > 0 {
-		dAtA[i] = 0xa
-		i++
-		i = encodeVarintVideoperson(dAtA, i, uint64(len(m.GroupId)))
-		i += copy(dAtA[i:], m.GroupId)
-	}
-	if len(m.AlarmLevel) > 0 {
-		dAtA[i] = 0x12
-		i++
-		i = encodeVarintVideoperson(dAtA, i, uint64(len(m.AlarmLevel)))
-		i += copy(dAtA[i:], m.AlarmLevel)
-	}
-	if len(m.RuleText) > 0 {
-		dAtA[i] = 0x1a
-		i++
-		i = encodeVarintVideoperson(dAtA, i, uint64(len(m.RuleText)))
-		i += copy(dAtA[i:], m.RuleText)
-	}
-	if m.DefenceState {
-		dAtA[i] = 0x20
-		i++
-		if m.DefenceState {
-			dAtA[i] = 1
-		} else {
-			dAtA[i] = 0
-		}
-		i++
-	}
-	if m.IsLink {
-		dAtA[i] = 0x28
-		i++
-		if m.IsLink {
-			dAtA[i] = 1
-		} else {
-			dAtA[i] = 0
-		}
-		i++
-	}
-	if len(m.LinkInfo) > 0 {
-		dAtA[i] = 0x32
-		i++
-		i = encodeVarintVideoperson(dAtA, i, uint64(len(m.LinkInfo)))
-		i += copy(dAtA[i:], m.LinkInfo)
-	}
-	return i, nil
-}
-
-func (m *BaseInfo) Marshal() (dAtA []byte, err error) {
-	size := m.Size()
-	dAtA = make([]byte, size)
-	n, err := m.MarshalTo(dAtA)
-	if err != nil {
-		return nil, err
-	}
-	return dAtA[:n], nil
-}
-
-func (m *BaseInfo) MarshalTo(dAtA []byte) (int, error) {
-	var i int
-	_ = i
-	var l int
-	_ = l
-	if len(m.TableId) > 0 {
-		dAtA[i] = 0xa
-		i++
-		i = encodeVarintVideoperson(dAtA, i, uint64(len(m.TableId)))
-		i += copy(dAtA[i:], m.TableId)
-	}
-	if len(m.TableName) > 0 {
-		dAtA[i] = 0x12
-		i++
-		i = encodeVarintVideoperson(dAtA, i, uint64(len(m.TableName)))
-		i += copy(dAtA[i:], m.TableName)
-	}
-	if m.CompareScore != 0 {
-		dAtA[i] = 0x1d
-		i++
-		encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.CompareScore))))
-		i += 4
-	}
-	if len(m.PersonId) > 0 {
-		dAtA[i] = 0x22
-		i++
-		i = encodeVarintVideoperson(dAtA, i, uint64(len(m.PersonId)))
-		i += copy(dAtA[i:], m.PersonId)
-	}
-	if len(m.PersonName) > 0 {
-		dAtA[i] = 0x2a
-		i++
-		i = encodeVarintVideoperson(dAtA, i, uint64(len(m.PersonName)))
-		i += copy(dAtA[i:], m.PersonName)
-	}
-	if len(m.PersonPicUrl) > 0 {
-		dAtA[i] = 0x32
-		i++
-		i = encodeVarintVideoperson(dAtA, i, uint64(len(m.PersonPicUrl)))
-		i += copy(dAtA[i:], m.PersonPicUrl)
-	}
-	if len(m.PhoneNum) > 0 {
-		dAtA[i] = 0x3a
-		i++
-		i = encodeVarintVideoperson(dAtA, i, uint64(len(m.PhoneNum)))
-		i += copy(dAtA[i:], m.PhoneNum)
-	}
-	if len(m.Sex) > 0 {
-		dAtA[i] = 0x42
-		i++
-		i = encodeVarintVideoperson(dAtA, i, uint64(len(m.Sex)))
-		i += copy(dAtA[i:], m.Sex)
-	}
-	if len(m.IdCard) > 0 {
-		dAtA[i] = 0x4a
-		i++
-		i = encodeVarintVideoperson(dAtA, i, uint64(len(m.IdCard)))
-		i += copy(dAtA[i:], m.IdCard)
-	}
-	if len(m.MonitorLevel) > 0 {
-		dAtA[i] = 0x52
-		i++
-		i = encodeVarintVideoperson(dAtA, i, uint64(len(m.MonitorLevel)))
-		i += copy(dAtA[i:], m.MonitorLevel)
-	}
-	if len(m.Content) > 0 {
-		dAtA[i] = 0x5a
-		i++
-		i = encodeVarintVideoperson(dAtA, i, uint64(len(m.Content)))
-		i += copy(dAtA[i:], m.Content)
-	}
-	if len(m.BwType) > 0 {
-		dAtA[i] = 0x62
-		i++
-		i = encodeVarintVideoperson(dAtA, i, uint64(len(m.BwType)))
-		i += copy(dAtA[i:], m.BwType)
-	}
-	return i, nil
-}
-
-func encodeVarintVideoperson(dAtA []byte, offset int, v uint64) int {
-	for v >= 1<<7 {
-		dAtA[offset] = uint8(v&0x7f | 0x80)
-		v >>= 7
-		offset++
-	}
-	dAtA[offset] = uint8(v)
-	return offset + 1
-}
-func (m *Videopersons) Size() (n int) {
-	if m == nil {
-		return 0
-	}
-	var l int
-	_ = l
-	l = len(m.Id)
-	if l > 0 {
-		n += 1 + l + sovVideoperson(uint64(l))
-	}
-	l = len(m.CameraId)
-	if l > 0 {
-		n += 1 + l + sovVideoperson(uint64(l))
-	}
-	l = len(m.CameraAddr)
-	if l > 0 {
-		n += 1 + l + sovVideoperson(uint64(l))
-	}
-	l = len(m.PicDate)
-	if l > 0 {
-		n += 1 + l + sovVideoperson(uint64(l))
-	}
-	l = len(m.PicMaxUrl)
-	if l > 0 {
-		n += 1 + l + sovVideoperson(uint64(l))
-	}
-	l = len(m.TaskId)
-	if l > 0 {
-		n += 1 + l + sovVideoperson(uint64(l))
-	}
-	l = len(m.TaskName)
-	if l > 0 {
-		n += 1 + l + sovVideoperson(uint64(l))
-	}
-	l = len(m.SdkName)
-	if l > 0 {
-		n += 1 + l + sovVideoperson(uint64(l))
-	}
-	l = len(m.Content)
-	if l > 0 {
-		n += 1 + l + sovVideoperson(uint64(l))
-	}
-	l = len(m.LikeDate)
-	if l > 0 {
-		n += 1 + l + sovVideoperson(uint64(l))
-	}
-	l = len(m.DetectScore)
-	if l > 0 {
-		n += 1 + l + sovVideoperson(uint64(l))
-	}
-	l = len(m.Sex)
-	if l > 0 {
-		n += 1 + l + sovVideoperson(uint64(l))
-	}
-	if m.Age != 0 {
-		n += 1 + sovVideoperson(uint64(m.Age))
-	}
-	l = len(m.AgeDescription)
-	if l > 0 {
-		n += 1 + l + sovVideoperson(uint64(l))
-	}
-	l = len(m.Race)
-	if l > 0 {
-		n += 1 + l + sovVideoperson(uint64(l))
-	}
-	l = len(m.SmileLevel)
-	if l > 0 {
-		n += 2 + l + sovVideoperson(uint64(l))
-	}
-	l = len(m.BeautyLevel)
-	if l > 0 {
-		n += 2 + l + sovVideoperson(uint64(l))
-	}
-	if len(m.PicSmUrl) > 0 {
-		for _, s := range m.PicSmUrl {
-			l = len(s)
-			n += 2 + l + sovVideoperson(uint64(l))
-		}
-	}
-	l = len(m.VideoUrl)
-	if l > 0 {
-		n += 2 + l + sovVideoperson(uint64(l))
-	}
-	l = len(m.AnalyServerId)
-	if l > 0 {
-		n += 2 + l + sovVideoperson(uint64(l))
-	}
-	l = len(m.AnalyServerName)
-	if l > 0 {
-		n += 2 + l + sovVideoperson(uint64(l))
-	}
-	l = len(m.AnalyServerIp)
-	if l > 0 {
-		n += 2 + l + sovVideoperson(uint64(l))
-	}
-	l = len(m.ClusterId)
-	if l > 0 {
-		n += 2 + l + sovVideoperson(uint64(l))
-	}
-	l = len(m.IsAlarm)
-	if l > 0 {
-		n += 2 + l + sovVideoperson(uint64(l))
-	}
-	l = len(m.IsAckAlarm)
-	if l > 0 {
-		n += 2 + l + sovVideoperson(uint64(l))
-	}
-	if m.IsCollect != 0 {
-		n += 2 + sovVideoperson(uint64(m.IsCollect))
-	}
-	if m.IsDelete != 0 {
-		n += 2 + sovVideoperson(uint64(m.IsDelete))
-	}
-	if len(m.AlarmRules) > 0 {
-		for _, e := range m.AlarmRules {
-			l = e.Size()
-			n += 2 + l + sovVideoperson(uint64(l))
-		}
-	}
-	if len(m.BaseInfo) > 0 {
-		for _, e := range m.BaseInfo {
-			l = e.Size()
-			n += 2 + l + sovVideoperson(uint64(l))
-		}
-	}
-	return n
-}
-
-func (m *AlarmRules) Size() (n int) {
-	if m == nil {
-		return 0
-	}
-	var l int
-	_ = l
-	l = len(m.GroupId)
-	if l > 0 {
-		n += 1 + l + sovVideoperson(uint64(l))
-	}
-	l = len(m.AlarmLevel)
-	if l > 0 {
-		n += 1 + l + sovVideoperson(uint64(l))
-	}
-	l = len(m.RuleText)
-	if l > 0 {
-		n += 1 + l + sovVideoperson(uint64(l))
-	}
-	if m.DefenceState {
-		n += 2
-	}
-	if m.IsLink {
-		n += 2
-	}
-	l = len(m.LinkInfo)
-	if l > 0 {
-		n += 1 + l + sovVideoperson(uint64(l))
-	}
-	return n
-}
-
-func (m *BaseInfo) Size() (n int) {
-	if m == nil {
-		return 0
-	}
-	var l int
-	_ = l
-	l = len(m.TableId)
-	if l > 0 {
-		n += 1 + l + sovVideoperson(uint64(l))
-	}
-	l = len(m.TableName)
-	if l > 0 {
-		n += 1 + l + sovVideoperson(uint64(l))
-	}
-	if m.CompareScore != 0 {
-		n += 5
-	}
-	l = len(m.PersonId)
-	if l > 0 {
-		n += 1 + l + sovVideoperson(uint64(l))
-	}
-	l = len(m.PersonName)
-	if l > 0 {
-		n += 1 + l + sovVideoperson(uint64(l))
-	}
-	l = len(m.PersonPicUrl)
-	if l > 0 {
-		n += 1 + l + sovVideoperson(uint64(l))
-	}
-	l = len(m.PhoneNum)
-	if l > 0 {
-		n += 1 + l + sovVideoperson(uint64(l))
-	}
-	l = len(m.Sex)
-	if l > 0 {
-		n += 1 + l + sovVideoperson(uint64(l))
-	}
-	l = len(m.IdCard)
-	if l > 0 {
-		n += 1 + l + sovVideoperson(uint64(l))
-	}
-	l = len(m.MonitorLevel)
-	if l > 0 {
-		n += 1 + l + sovVideoperson(uint64(l))
-	}
-	l = len(m.Content)
-	if l > 0 {
-		n += 1 + l + sovVideoperson(uint64(l))
-	}
-	l = len(m.BwType)
-	if l > 0 {
-		n += 1 + l + sovVideoperson(uint64(l))
-	}
-	return n
-}
-
-func sovVideoperson(x uint64) (n int) {
-	for {
-		n++
-		x >>= 7
-		if x == 0 {
-			break
-		}
-	}
-	return n
-}
-func sozVideoperson(x uint64) (n int) {
-	return sovVideoperson(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
-func (m *Videopersons) Unmarshal(dAtA []byte) error {
-	l := len(dAtA)
-	iNdEx := 0
-	for iNdEx < l {
-		preIndex := iNdEx
-		var wire uint64
-		for shift := uint(0); ; shift += 7 {
-			if shift >= 64 {
-				return ErrIntOverflowVideoperson
-			}
-			if iNdEx >= l {
-				return io.ErrUnexpectedEOF
-			}
-			b := dAtA[iNdEx]
-			iNdEx++
-			wire |= uint64(b&0x7F) << shift
-			if b < 0x80 {
-				break
-			}
-		}
-		fieldNum := int32(wire >> 3)
-		wireType := int(wire & 0x7)
-		if wireType == 4 {
-			return fmt.Errorf("proto: Videopersons: wiretype end group for non-group")
-		}
-		if fieldNum <= 0 {
-			return fmt.Errorf("proto: Videopersons: illegal tag %d (wire type %d)", fieldNum, wire)
-		}
-		switch fieldNum {
-		case 1:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowVideoperson
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.Id = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		case 2:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field CameraId", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowVideoperson
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.CameraId = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		case 3:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field CameraAddr", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowVideoperson
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.CameraAddr = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		case 4:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field PicDate", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowVideoperson
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.PicDate = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		case 5:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field PicMaxUrl", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowVideoperson
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.PicMaxUrl = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		case 6:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field TaskId", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowVideoperson
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.TaskId = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		case 7:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field TaskName", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowVideoperson
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.TaskName = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		case 8:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field SdkName", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowVideoperson
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.SdkName = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		case 9:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field Content", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowVideoperson
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.Content = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		case 10:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field LikeDate", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowVideoperson
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.LikeDate = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		case 11:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field DetectScore", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowVideoperson
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.DetectScore = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		case 12:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field Sex", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowVideoperson
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.Sex = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		case 13:
-			if wireType != 0 {
-				return fmt.Errorf("proto: wrong wireType = %d for field Age", wireType)
-			}
-			m.Age = 0
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowVideoperson
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				m.Age |= int32(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-		case 14:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field AgeDescription", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowVideoperson
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.AgeDescription = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		case 15:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field Race", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowVideoperson
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.Race = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		case 16:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field SmileLevel", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowVideoperson
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.SmileLevel = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		case 17:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field BeautyLevel", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowVideoperson
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.BeautyLevel = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		case 18:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field PicSmUrl", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowVideoperson
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.PicSmUrl = append(m.PicSmUrl, string(dAtA[iNdEx:postIndex]))
-			iNdEx = postIndex
-		case 19:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field VideoUrl", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowVideoperson
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.VideoUrl = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		case 20:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field AnalyServerId", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowVideoperson
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.AnalyServerId = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		case 21:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field AnalyServerName", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowVideoperson
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.AnalyServerName = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		case 22:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field AnalyServerIp", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowVideoperson
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.AnalyServerIp = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		case 23:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field ClusterId", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowVideoperson
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.ClusterId = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		case 24:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field IsAlarm", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowVideoperson
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.IsAlarm = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		case 25:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field IsAckAlarm", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowVideoperson
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.IsAckAlarm = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		case 26:
-			if wireType != 0 {
-				return fmt.Errorf("proto: wrong wireType = %d for field IsCollect", wireType)
-			}
-			m.IsCollect = 0
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowVideoperson
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				m.IsCollect |= int32(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-		case 27:
-			if wireType != 0 {
-				return fmt.Errorf("proto: wrong wireType = %d for field IsDelete", wireType)
-			}
-			m.IsDelete = 0
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowVideoperson
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				m.IsDelete |= int32(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-		case 28:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field AlarmRules", wireType)
-			}
-			var msglen int
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowVideoperson
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				msglen |= int(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			if msglen < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			postIndex := iNdEx + msglen
-			if postIndex < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.AlarmRules = append(m.AlarmRules, &AlarmRules{})
-			if err := m.AlarmRules[len(m.AlarmRules)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
-				return err
-			}
-			iNdEx = postIndex
-		case 29:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field BaseInfo", wireType)
-			}
-			var msglen int
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowVideoperson
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				msglen |= int(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			if msglen < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			postIndex := iNdEx + msglen
-			if postIndex < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.BaseInfo = append(m.BaseInfo, &BaseInfo{})
-			if err := m.BaseInfo[len(m.BaseInfo)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
-				return err
-			}
-			iNdEx = postIndex
-		default:
-			iNdEx = preIndex
-			skippy, err := skipVideoperson(dAtA[iNdEx:])
-			if err != nil {
-				return err
-			}
-			if skippy < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			if (iNdEx + skippy) < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			if (iNdEx + skippy) > l {
-				return io.ErrUnexpectedEOF
-			}
-			iNdEx += skippy
-		}
-	}
-
-	if iNdEx > l {
-		return io.ErrUnexpectedEOF
-	}
-	return nil
-}
-func (m *AlarmRules) Unmarshal(dAtA []byte) error {
-	l := len(dAtA)
-	iNdEx := 0
-	for iNdEx < l {
-		preIndex := iNdEx
-		var wire uint64
-		for shift := uint(0); ; shift += 7 {
-			if shift >= 64 {
-				return ErrIntOverflowVideoperson
-			}
-			if iNdEx >= l {
-				return io.ErrUnexpectedEOF
-			}
-			b := dAtA[iNdEx]
-			iNdEx++
-			wire |= uint64(b&0x7F) << shift
-			if b < 0x80 {
-				break
-			}
-		}
-		fieldNum := int32(wire >> 3)
-		wireType := int(wire & 0x7)
-		if wireType == 4 {
-			return fmt.Errorf("proto: AlarmRules: wiretype end group for non-group")
-		}
-		if fieldNum <= 0 {
-			return fmt.Errorf("proto: AlarmRules: illegal tag %d (wire type %d)", fieldNum, wire)
-		}
-		switch fieldNum {
-		case 1:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field GroupId", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowVideoperson
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.GroupId = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		case 2:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field AlarmLevel", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowVideoperson
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.AlarmLevel = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		case 3:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field RuleText", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowVideoperson
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.RuleText = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		case 4:
-			if wireType != 0 {
-				return fmt.Errorf("proto: wrong wireType = %d for field DefenceState", wireType)
-			}
-			var v int
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowVideoperson
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				v |= int(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			m.DefenceState = bool(v != 0)
-		case 5:
-			if wireType != 0 {
-				return fmt.Errorf("proto: wrong wireType = %d for field IsLink", wireType)
-			}
-			var v int
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowVideoperson
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				v |= int(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			m.IsLink = bool(v != 0)
-		case 6:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field LinkInfo", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowVideoperson
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.LinkInfo = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		default:
-			iNdEx = preIndex
-			skippy, err := skipVideoperson(dAtA[iNdEx:])
-			if err != nil {
-				return err
-			}
-			if skippy < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			if (iNdEx + skippy) < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			if (iNdEx + skippy) > l {
-				return io.ErrUnexpectedEOF
-			}
-			iNdEx += skippy
-		}
-	}
-
-	if iNdEx > l {
-		return io.ErrUnexpectedEOF
-	}
-	return nil
-}
-func (m *BaseInfo) Unmarshal(dAtA []byte) error {
-	l := len(dAtA)
-	iNdEx := 0
-	for iNdEx < l {
-		preIndex := iNdEx
-		var wire uint64
-		for shift := uint(0); ; shift += 7 {
-			if shift >= 64 {
-				return ErrIntOverflowVideoperson
-			}
-			if iNdEx >= l {
-				return io.ErrUnexpectedEOF
-			}
-			b := dAtA[iNdEx]
-			iNdEx++
-			wire |= uint64(b&0x7F) << shift
-			if b < 0x80 {
-				break
-			}
-		}
-		fieldNum := int32(wire >> 3)
-		wireType := int(wire & 0x7)
-		if wireType == 4 {
-			return fmt.Errorf("proto: BaseInfo: wiretype end group for non-group")
-		}
-		if fieldNum <= 0 {
-			return fmt.Errorf("proto: BaseInfo: illegal tag %d (wire type %d)", fieldNum, wire)
-		}
-		switch fieldNum {
-		case 1:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field TableId", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowVideoperson
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.TableId = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		case 2:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field TableName", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowVideoperson
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.TableName = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		case 3:
-			if wireType != 5 {
-				return fmt.Errorf("proto: wrong wireType = %d for field CompareScore", wireType)
-			}
-			var v uint32
-			if (iNdEx + 4) > l {
-				return io.ErrUnexpectedEOF
-			}
-			v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:]))
-			iNdEx += 4
-			m.CompareScore = float32(math.Float32frombits(v))
-		case 4:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field PersonId", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowVideoperson
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.PersonId = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		case 5:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field PersonName", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowVideoperson
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.PersonName = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		case 6:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field PersonPicUrl", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowVideoperson
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.PersonPicUrl = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		case 7:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field PhoneNum", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowVideoperson
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.PhoneNum = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		case 8:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field Sex", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowVideoperson
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.Sex = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		case 9:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field IdCard", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowVideoperson
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.IdCard = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		case 10:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field MonitorLevel", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowVideoperson
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.MonitorLevel = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		case 11:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field Content", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowVideoperson
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.Content = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		case 12:
-			if wireType != 2 {
-				return fmt.Errorf("proto: wrong wireType = %d for field BwType", wireType)
-			}
-			var stringLen uint64
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return ErrIntOverflowVideoperson
-				}
-				if iNdEx >= l {
-					return io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				stringLen |= uint64(b&0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			intStringLen := int(stringLen)
-			if intStringLen < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			postIndex := iNdEx + intStringLen
-			if postIndex < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			if postIndex > l {
-				return io.ErrUnexpectedEOF
-			}
-			m.BwType = string(dAtA[iNdEx:postIndex])
-			iNdEx = postIndex
-		default:
-			iNdEx = preIndex
-			skippy, err := skipVideoperson(dAtA[iNdEx:])
-			if err != nil {
-				return err
-			}
-			if skippy < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			if (iNdEx + skippy) < 0 {
-				return ErrInvalidLengthVideoperson
-			}
-			if (iNdEx + skippy) > l {
-				return io.ErrUnexpectedEOF
-			}
-			iNdEx += skippy
-		}
-	}
-
-	if iNdEx > l {
-		return io.ErrUnexpectedEOF
-	}
-	return nil
-}
-func skipVideoperson(dAtA []byte) (n int, err error) {
-	l := len(dAtA)
-	iNdEx := 0
-	for iNdEx < l {
-		var wire uint64
-		for shift := uint(0); ; shift += 7 {
-			if shift >= 64 {
-				return 0, ErrIntOverflowVideoperson
-			}
-			if iNdEx >= l {
-				return 0, io.ErrUnexpectedEOF
-			}
-			b := dAtA[iNdEx]
-			iNdEx++
-			wire |= (uint64(b) & 0x7F) << shift
-			if b < 0x80 {
-				break
-			}
-		}
-		wireType := int(wire & 0x7)
-		switch wireType {
-		case 0:
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return 0, ErrIntOverflowVideoperson
-				}
-				if iNdEx >= l {
-					return 0, io.ErrUnexpectedEOF
-				}
-				iNdEx++
-				if dAtA[iNdEx-1] < 0x80 {
-					break
-				}
-			}
-			return iNdEx, nil
-		case 1:
-			iNdEx += 8
-			return iNdEx, nil
-		case 2:
-			var length int
-			for shift := uint(0); ; shift += 7 {
-				if shift >= 64 {
-					return 0, ErrIntOverflowVideoperson
-				}
-				if iNdEx >= l {
-					return 0, io.ErrUnexpectedEOF
-				}
-				b := dAtA[iNdEx]
-				iNdEx++
-				length |= (int(b) & 0x7F) << shift
-				if b < 0x80 {
-					break
-				}
-			}
-			if length < 0 {
-				return 0, ErrInvalidLengthVideoperson
-			}
-			iNdEx += length
-			if iNdEx < 0 {
-				return 0, ErrInvalidLengthVideoperson
-			}
-			return iNdEx, nil
-		case 3:
-			for {
-				var innerWire uint64
-				var start int = iNdEx
-				for shift := uint(0); ; shift += 7 {
-					if shift >= 64 {
-						return 0, ErrIntOverflowVideoperson
-					}
-					if iNdEx >= l {
-						return 0, io.ErrUnexpectedEOF
-					}
-					b := dAtA[iNdEx]
-					iNdEx++
-					innerWire |= (uint64(b) & 0x7F) << shift
-					if b < 0x80 {
-						break
-					}
-				}
-				innerWireType := int(innerWire & 0x7)
-				if innerWireType == 4 {
-					break
-				}
-				next, err := skipVideoperson(dAtA[start:])
-				if err != nil {
-					return 0, err
-				}
-				iNdEx = start + next
-				if iNdEx < 0 {
-					return 0, ErrInvalidLengthVideoperson
-				}
-			}
-			return iNdEx, nil
-		case 4:
-			return iNdEx, nil
-		case 5:
-			iNdEx += 4
-			return iNdEx, nil
-		default:
-			return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
-		}
-	}
-	panic("unreachable")
-}
-
-var (
-	ErrInvalidLengthVideoperson = fmt.Errorf("proto: negative length found during unmarshaling")
-	ErrIntOverflowVideoperson   = fmt.Errorf("proto: integer overflow")
-)
diff --git a/videoperson.proto b/videoperson.proto
deleted file mode 100644
index 8383313..0000000
--- a/videoperson.proto
+++ /dev/null
@@ -1,60 +0,0 @@
-syntax = "proto3";
-
-package protomsg;
-
-message Videopersons {
-    string id					=1;
-    string cameraId             =2;
-    string cameraAddr           =3;
-    string picDate              =4;
-    string picMaxUrl            =5;
-    string taskId               =6;
-    string taskName             =7;
-    string sdkName              =8;
-    string content		        =9;
-    string likeDate             =10;
-    string detectScore          =11;
-    string sex                  =12;
-    int32  age                  =13;
-    string ageDescription       =14;
-    string race                 =15;
-    string smileLevel           =16;
-    string beautyLevel          =17;
-    repeated string picSmUrl             =18;
-    string videoUrl             =19;
-    string analyServerId        =20;
-    string analyServerName      =21;
-    string analyServerIp        =22;
-    string clusterId            =23;
-    string isAlarm              =24;
-    string isAckAlarm			=25;
-    int32 isCollect             =26;
-    int32 isDelete              =27;
-    repeated AlarmRules alarmRules       =28;
-    repeated BaseInfo baseInfo           =29;
-}
-
-message AlarmRules {
-    string groupId				=1;
-    string alarmLevel           =2;
-    string ruleText             =3;
-    bool defenceState           =4;
-    bool isLink                 =5;
-    string linkInfo             =6;
-}
-
-message BaseInfo {
-	string tableId              =1;
-	string tableName            =2;
-	float compareScore          =3;
-	string personId             =4;
-	string personName           =5;
-	string personPicUrl         =6;
-	string phoneNum             =7;
-	string sex                  =8;
-	string idCard               =9;
-	string monitorLevel         =10;
-	string content              =11;
-    string bwType               =12;
-}
-

--
Gitblit v1.8.0