zhangzengfei
2024-05-08 e2c32868dc935c0f9773b51ed88de5e94b2ea874
protomsg.pb.go
@@ -3,11 +3,9 @@
package protomsg
import (
   fmt "fmt"
   proto "github.com/golang/protobuf/proto"
   math "math"
)
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
@@ -18,47 +16,75 @@
// 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.ProtoPackageIsVersion3 // please upgrade the proto package
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
//TableChanged enum
// TableChanged enum
type TableChanged int32
const (
   TableChanged_T_Camera         TableChanged = 0
   TableChanged_T_CameraTask     TableChanged = 1
   TableChanged_T_CameraTaskArgs TableChanged = 2
   TableChanged_T_Task           TableChanged = 3
   TableChanged_T_TaskSdk        TableChanged = 4
   TableChanged_T_TaskSdkRule    TableChanged = 5
   TableChanged_T_Sdk            TableChanged = 6
   TableChanged_T_Camera                TableChanged = 0
   TableChanged_T_CameraRule            TableChanged = 1
   TableChanged_T_Sdk                   TableChanged = 2
   TableChanged_T_CameraPolygon         TableChanged = 3
   TableChanged_T_TimeRule              TableChanged = 4
   TableChanged_T_Server                TableChanged = 5
   TableChanged_T_PollConfig            TableChanged = 6
   TableChanged_T_File                  TableChanged = 7
   TableChanged_T_FileSetting           TableChanged = 8
   TableChanged_T_SdkChanSet            TableChanged = 9
   TableChanged_T_FileStack             TableChanged = 10
   TableChanged_T_ResourceConfig        TableChanged = 11
   TableChanged_T_CalculationPower      TableChanged = 12
   TableChanged_T_EventPush             TableChanged = 13
   TableChanged_T_Cluster               TableChanged = 14
   TableChanged_T_CameraPolygonRelation TableChanged = 15
   TableChanged_T_Voice                 TableChanged = 16
)
var TableChanged_name = map[int32]string{
   0: "T_Camera",
   1: "T_CameraTask",
   2: "T_CameraTaskArgs",
   3: "T_Task",
   4: "T_TaskSdk",
   5: "T_TaskSdkRule",
   6: "T_Sdk",
   0:  "T_Camera",
   1:  "T_CameraRule",
   2:  "T_Sdk",
   3:  "T_CameraPolygon",
   4:  "T_TimeRule",
   5:  "T_Server",
   6:  "T_PollConfig",
   7:  "T_File",
   8:  "T_FileSetting",
   9:  "T_SdkChanSet",
   10: "T_FileStack",
   11: "T_ResourceConfig",
   12: "T_CalculationPower",
   13: "T_EventPush",
   14: "T_Cluster",
   15: "T_CameraPolygonRelation",
   16: "T_Voice",
}
var TableChanged_value = map[string]int32{
   "T_Camera":         0,
   "T_CameraTask":     1,
   "T_CameraTaskArgs": 2,
   "T_Task":           3,
   "T_TaskSdk":        4,
   "T_TaskSdkRule":    5,
   "T_Sdk":            6,
   "T_Camera":                0,
   "T_CameraRule":            1,
   "T_Sdk":                   2,
   "T_CameraPolygon":         3,
   "T_TimeRule":              4,
   "T_Server":                5,
   "T_PollConfig":            6,
   "T_File":                  7,
   "T_FileSetting":           8,
   "T_SdkChanSet":            9,
   "T_FileStack":             10,
   "T_ResourceConfig":        11,
   "T_CalculationPower":      12,
   "T_EventPush":             13,
   "T_Cluster":               14,
   "T_CameraPolygonRelation": 15,
   "T_Voice":                 16,
}
func (x TableChanged) String() string {
   return proto.EnumName(TableChanged_name, int32(x))
}
func (TableChanged) EnumDescriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{0}
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{0}
}
type DbAction int32
@@ -74,7 +100,6 @@
   1: "Update",
   2: "Delete",
}
var DbAction_value = map[string]int32{
   "Insert": 0,
   "Update": 1,
@@ -84,179 +109,63 @@
func (x DbAction) String() string {
   return proto.EnumName(DbAction_name, int32(x))
}
func (DbAction) EnumDescriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{1}
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{1}
}
type TaskLabel struct {
   Taskid               string   `protobuf:"bytes,1,opt,name=taskid,proto3" json:"taskid,omitempty"`
   Sdkids               []string `protobuf:"bytes,2,rep,name=sdkids,proto3" json:"sdkids,omitempty"`
   Index                int32    `protobuf:"varint,3,opt,name=index,proto3" json:"index,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
type CompareEventType int32
const (
   CompareEventType_ReInitCache CompareEventType = 0
   CompareEventType_UpdateCache CompareEventType = 1
   CompareEventType_Compare     CompareEventType = 2
   CompareEventType_DeleteCache CompareEventType = 3
)
var CompareEventType_name = map[int32]string{
   0: "ReInitCache",
   1: "UpdateCache",
   2: "Compare",
   3: "DeleteCache",
}
var CompareEventType_value = map[string]int32{
   "ReInitCache": 0,
   "UpdateCache": 1,
   "Compare":     2,
   "DeleteCache": 3,
}
func (m *TaskLabel) Reset()         { *m = TaskLabel{} }
func (m *TaskLabel) String() string { return proto.CompactTextString(m) }
func (*TaskLabel) ProtoMessage()    {}
func (*TaskLabel) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{0}
func (x CompareEventType) String() string {
   return proto.EnumName(CompareEventType_name, int32(x))
}
func (CompareEventType) EnumDescriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{2}
}
func (m *TaskLabel) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_TaskLabel.Unmarshal(m, b)
type EsCacheChanged int32
const (
   EsCacheChanged_T_DbTable       EsCacheChanged = 0
   EsCacheChanged_T_DbTablePerson EsCacheChanged = 1
)
var EsCacheChanged_name = map[int32]string{
   0: "T_DbTable",
   1: "T_DbTablePerson",
}
func (m *TaskLabel) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_TaskLabel.Marshal(b, m, deterministic)
}
func (m *TaskLabel) XXX_Merge(src proto.Message) {
   xxx_messageInfo_TaskLabel.Merge(m, src)
}
func (m *TaskLabel) XXX_Size() int {
   return xxx_messageInfo_TaskLabel.Size(m)
}
func (m *TaskLabel) XXX_DiscardUnknown() {
   xxx_messageInfo_TaskLabel.DiscardUnknown(m)
var EsCacheChanged_value = map[string]int32{
   "T_DbTable":       0,
   "T_DbTablePerson": 1,
}
var xxx_messageInfo_TaskLabel proto.InternalMessageInfo
func (m *TaskLabel) GetTaskid() string {
   if m != nil {
      return m.Taskid
   }
   return ""
func (x EsCacheChanged) String() string {
   return proto.EnumName(EsCacheChanged_name, int32(x))
}
func (EsCacheChanged) EnumDescriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{3}
}
func (m *TaskLabel) GetSdkids() []string {
   if m != nil {
      return m.Sdkids
   }
   return nil
}
func (m *TaskLabel) GetIndex() int32 {
   if m != nil {
      return m.Index
   }
   return 0
}
//SdkMessage struct test
type SdkMessage struct {
   Cid                  string     `protobuf:"bytes,1,opt,name=cid,proto3" json:"cid,omitempty"`
   Tasklab              *TaskLabel `protobuf:"bytes,2,opt,name=tasklab,proto3" json:"tasklab,omitempty"`
   Data                 []byte     `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
   XXX_NoUnkeyedLiteral struct{}   `json:"-"`
   XXX_unrecognized     []byte     `json:"-"`
   XXX_sizecache        int32      `json:"-"`
}
func (m *SdkMessage) Reset()         { *m = SdkMessage{} }
func (m *SdkMessage) String() string { return proto.CompactTextString(m) }
func (*SdkMessage) ProtoMessage()    {}
func (*SdkMessage) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{1}
}
func (m *SdkMessage) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_SdkMessage.Unmarshal(m, b)
}
func (m *SdkMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_SdkMessage.Marshal(b, m, deterministic)
}
func (m *SdkMessage) XXX_Merge(src proto.Message) {
   xxx_messageInfo_SdkMessage.Merge(m, src)
}
func (m *SdkMessage) XXX_Size() int {
   return xxx_messageInfo_SdkMessage.Size(m)
}
func (m *SdkMessage) XXX_DiscardUnknown() {
   xxx_messageInfo_SdkMessage.DiscardUnknown(m)
}
var xxx_messageInfo_SdkMessage proto.InternalMessageInfo
func (m *SdkMessage) GetCid() string {
   if m != nil {
      return m.Cid
   }
   return ""
}
func (m *SdkMessage) GetTasklab() *TaskLabel {
   if m != nil {
      return m.Tasklab
   }
   return nil
}
func (m *SdkMessage) GetData() []byte {
   if m != nil {
      return m.Data
   }
   return nil
}
// Image ipc struct
type Image struct {
   Width                int32    `protobuf:"varint,1,opt,name=width,proto3" json:"width,omitempty"`
   Height               int32    `protobuf:"varint,2,opt,name=height,proto3" json:"height,omitempty"`
   Data                 []byte   `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *Image) Reset()         { *m = Image{} }
func (m *Image) String() string { return proto.CompactTextString(m) }
func (*Image) ProtoMessage()    {}
func (*Image) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{2}
}
func (m *Image) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_Image.Unmarshal(m, b)
}
func (m *Image) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_Image.Marshal(b, m, deterministic)
}
func (m *Image) XXX_Merge(src proto.Message) {
   xxx_messageInfo_Image.Merge(m, src)
}
func (m *Image) XXX_Size() int {
   return xxx_messageInfo_Image.Size(m)
}
func (m *Image) XXX_DiscardUnknown() {
   xxx_messageInfo_Image.DiscardUnknown(m)
}
var xxx_messageInfo_Image proto.InternalMessageInfo
func (m *Image) GetWidth() int32 {
   if m != nil {
      return m.Width
   }
   return 0
}
func (m *Image) GetHeight() int32 {
   if m != nil {
      return m.Height
   }
   return 0
}
func (m *Image) GetData() []byte {
   if m != nil {
      return m.Data
   }
   return nil
}
//Area结构体
// Area结构体
type Area struct {
   Id                   int32    `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
   Parentid             int32    `protobuf:"varint,2,opt,name=parentid,proto3" json:"parentid,omitempty"`
@@ -270,17 +179,16 @@
func (m *Area) String() string { return proto.CompactTextString(m) }
func (*Area) ProtoMessage()    {}
func (*Area) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{3}
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{0}
}
func (m *Area) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_Area.Unmarshal(m, b)
}
func (m *Area) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_Area.Marshal(b, m, deterministic)
}
func (m *Area) XXX_Merge(src proto.Message) {
   xxx_messageInfo_Area.Merge(m, src)
func (dst *Area) XXX_Merge(src proto.Message) {
   xxx_messageInfo_Area.Merge(dst, src)
}
func (m *Area) XXX_Size() int {
   return xxx_messageInfo_Area.Size(m)
@@ -312,42 +220,55 @@
   return ""
}
//Camera结构体
// Camera结构体
type Camera struct {
   Id                   string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   Name                 string   `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
   Type                 int32    `protobuf:"varint,3,opt,name=type,proto3" json:"type,omitempty"`
   Addr                 string   `protobuf:"bytes,4,opt,name=addr,proto3" json:"addr,omitempty"`
   Areaid               int32    `protobuf:"varint,5,opt,name=areaid,proto3" json:"areaid,omitempty"`
   Longitude            float32  `protobuf:"fixed32,6,opt,name=longitude,proto3" json:"longitude,omitempty"`
   Latitude             float32  `protobuf:"fixed32,7,opt,name=latitude,proto3" json:"latitude,omitempty"`
   Rtsp                 string   `protobuf:"bytes,8,opt,name=rtsp,proto3" json:"rtsp,omitempty"`
   Ip                   string   `protobuf:"bytes,9,opt,name=ip,proto3" json:"ip,omitempty"`
   Port                 int32    `protobuf:"varint,10,opt,name=port,proto3" json:"port,omitempty"`
   Username             string   `protobuf:"bytes,11,opt,name=username,proto3" json:"username,omitempty"`
   Password             string   `protobuf:"bytes,12,opt,name=password,proto3" json:"password,omitempty"`
   Brand                string   `protobuf:"bytes,13,opt,name=brand,proto3" json:"brand,omitempty"`
   Reserved             string   `protobuf:"bytes,14,opt,name=reserved,proto3" json:"reserved,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
   Id                   string    `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   Name                 string    `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
   Alias                string    `protobuf:"bytes,3,opt,name=alias,proto3" json:"alias,omitempty"`
   SnapshotUrl          string    `protobuf:"bytes,4,opt,name=snapshot_url,json=snapshotUrl,proto3" json:"snapshot_url,omitempty"`
   Type                 int32     `protobuf:"varint,5,opt,name=type,proto3" json:"type,omitempty"`
   Addr                 string    `protobuf:"bytes,6,opt,name=addr,proto3" json:"addr,omitempty"`
   Longitude            float32   `protobuf:"fixed32,7,opt,name=longitude,proto3" json:"longitude,omitempty"`
   Latitude             float32   `protobuf:"fixed32,8,opt,name=latitude,proto3" json:"latitude,omitempty"`
   Floor                int32     `protobuf:"varint,9,opt,name=floor,proto3" json:"floor,omitempty"`
   Rtsp                 string    `protobuf:"bytes,10,opt,name=rtsp,proto3" json:"rtsp,omitempty"`
   Ip                   string    `protobuf:"bytes,11,opt,name=ip,proto3" json:"ip,omitempty"`
   Port                 int32     `protobuf:"varint,12,opt,name=port,proto3" json:"port,omitempty"`
   Username             string    `protobuf:"bytes,13,opt,name=username,proto3" json:"username,omitempty"`
   Password             string    `protobuf:"bytes,14,opt,name=password,proto3" json:"password,omitempty"`
   Brand                string    `protobuf:"bytes,15,opt,name=brand,proto3" json:"brand,omitempty"`
   Reserved             string    `protobuf:"bytes,16,opt,name=reserved,proto3" json:"reserved,omitempty"`
   IsRunning            bool      `protobuf:"varint,17,opt,name=is_running,json=isRunning,proto3" json:"is_running,omitempty"`
   RunEnable            bool      `protobuf:"varint,18,opt,name=run_enable,json=runEnable,proto3" json:"run_enable,omitempty"`
   RunType              int32     `protobuf:"varint,19,opt,name=run_type,json=runType,proto3" json:"run_type,omitempty"`
   RunServerId          string    `protobuf:"bytes,20,opt,name=run_server_id,json=runServerId,proto3" json:"run_server_id,omitempty"`
   ResolutionWidth      int32     `protobuf:"varint,21,opt,name=resolution_width,json=resolutionWidth,proto3" json:"resolution_width,omitempty"`
   ResolutionHeight     int32     `protobuf:"varint,22,opt,name=resolution_height,json=resolutionHeight,proto3" json:"resolution_height,omitempty"`
   Fps                  int32     `protobuf:"varint,23,opt,name=fps,proto3" json:"fps,omitempty"`
   Sensors              []*Sensor `protobuf:"bytes,24,rep,name=sensors,proto3" json:"sensors,omitempty"`
   VoiceEnable          bool      `protobuf:"varint,25,opt,name=voiceEnable,proto3" json:"voiceEnable,omitempty"`
   VoiceId              string    `protobuf:"bytes,26,opt,name=voiceId,proto3" json:"voiceId,omitempty"`
   CoordTransform       string    `protobuf:"bytes,27,opt,name=coordTransform,proto3" json:"coordTransform,omitempty"`
   Status               int32     `protobuf:"varint,28,opt,name=status,proto3" json:"status,omitempty"`
   XXX_NoUnkeyedLiteral struct{}  `json:"-"`
   XXX_unrecognized     []byte    `json:"-"`
   XXX_sizecache        int32     `json:"-"`
}
func (m *Camera) Reset()         { *m = Camera{} }
func (m *Camera) String() string { return proto.CompactTextString(m) }
func (*Camera) ProtoMessage()    {}
func (*Camera) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{4}
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{1}
}
func (m *Camera) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_Camera.Unmarshal(m, b)
}
func (m *Camera) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_Camera.Marshal(b, m, deterministic)
}
func (m *Camera) XXX_Merge(src proto.Message) {
   xxx_messageInfo_Camera.Merge(m, src)
func (dst *Camera) XXX_Merge(src proto.Message) {
   xxx_messageInfo_Camera.Merge(dst, src)
}
func (m *Camera) XXX_Size() int {
   return xxx_messageInfo_Camera.Size(m)
@@ -372,6 +293,20 @@
   return ""
}
func (m *Camera) GetAlias() string {
   if m != nil {
      return m.Alias
   }
   return ""
}
func (m *Camera) GetSnapshotUrl() string {
   if m != nil {
      return m.SnapshotUrl
   }
   return ""
}
func (m *Camera) GetType() int32 {
   if m != nil {
      return m.Type
@@ -386,13 +321,6 @@
   return ""
}
func (m *Camera) GetAreaid() int32 {
   if m != nil {
      return m.Areaid
   }
   return 0
}
func (m *Camera) GetLongitude() float32 {
   if m != nil {
      return m.Longitude
@@ -403,6 +331,13 @@
func (m *Camera) GetLatitude() float32 {
   if m != nil {
      return m.Latitude
   }
   return 0
}
func (m *Camera) GetFloor() int32 {
   if m != nil {
      return m.Floor
   }
   return 0
}
@@ -456,351 +391,333 @@
   return ""
}
//摄像机的任务信息
type CameraAndTaskInfo struct {
   Camera               *Camera  `protobuf:"bytes,1,opt,name=camera,proto3" json:"camera,omitempty"`
   Tasks                []*Task  `protobuf:"bytes,2,rep,name=tasks,proto3" json:"tasks,omitempty"`
func (m *Camera) GetIsRunning() bool {
   if m != nil {
      return m.IsRunning
   }
   return false
}
func (m *Camera) GetRunEnable() bool {
   if m != nil {
      return m.RunEnable
   }
   return false
}
func (m *Camera) GetRunType() int32 {
   if m != nil {
      return m.RunType
   }
   return 0
}
func (m *Camera) GetRunServerId() string {
   if m != nil {
      return m.RunServerId
   }
   return ""
}
func (m *Camera) GetResolutionWidth() int32 {
   if m != nil {
      return m.ResolutionWidth
   }
   return 0
}
func (m *Camera) GetResolutionHeight() int32 {
   if m != nil {
      return m.ResolutionHeight
   }
   return 0
}
func (m *Camera) GetFps() int32 {
   if m != nil {
      return m.Fps
   }
   return 0
}
func (m *Camera) GetSensors() []*Sensor {
   if m != nil {
      return m.Sensors
   }
   return nil
}
func (m *Camera) GetVoiceEnable() bool {
   if m != nil {
      return m.VoiceEnable
   }
   return false
}
func (m *Camera) GetVoiceId() string {
   if m != nil {
      return m.VoiceId
   }
   return ""
}
func (m *Camera) GetCoordTransform() string {
   if m != nil {
      return m.CoordTransform
   }
   return ""
}
func (m *Camera) GetStatus() int32 {
   if m != nil {
      return m.Status
   }
   return 0
}
type Sensor struct {
   Id                   string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   Type                 string   `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"`
   Ip                   string   `protobuf:"bytes,3,opt,name=ip,proto3" json:"ip,omitempty"`
   Port                 int32    `protobuf:"varint,4,opt,name=port,proto3" json:"port,omitempty"`
   Username             string   `protobuf:"bytes,5,opt,name=username,proto3" json:"username,omitempty"`
   Password             string   `protobuf:"bytes,6,opt,name=password,proto3" json:"password,omitempty"`
   Threshold            int32    `protobuf:"varint,7,opt,name=threshold,proto3" json:"threshold,omitempty"`
   Enable               bool     `protobuf:"varint,8,opt,name=enable,proto3" json:"enable,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *CameraAndTaskInfo) Reset()         { *m = CameraAndTaskInfo{} }
func (m *CameraAndTaskInfo) String() string { return proto.CompactTextString(m) }
func (*CameraAndTaskInfo) ProtoMessage()    {}
func (*CameraAndTaskInfo) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{5}
func (m *Sensor) Reset()         { *m = Sensor{} }
func (m *Sensor) String() string { return proto.CompactTextString(m) }
func (*Sensor) ProtoMessage()    {}
func (*Sensor) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{2}
}
func (m *Sensor) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_Sensor.Unmarshal(m, b)
}
func (m *Sensor) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_Sensor.Marshal(b, m, deterministic)
}
func (dst *Sensor) XXX_Merge(src proto.Message) {
   xxx_messageInfo_Sensor.Merge(dst, src)
}
func (m *Sensor) XXX_Size() int {
   return xxx_messageInfo_Sensor.Size(m)
}
func (m *Sensor) XXX_DiscardUnknown() {
   xxx_messageInfo_Sensor.DiscardUnknown(m)
}
func (m *CameraAndTaskInfo) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_CameraAndTaskInfo.Unmarshal(m, b)
}
func (m *CameraAndTaskInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_CameraAndTaskInfo.Marshal(b, m, deterministic)
}
func (m *CameraAndTaskInfo) XXX_Merge(src proto.Message) {
   xxx_messageInfo_CameraAndTaskInfo.Merge(m, src)
}
func (m *CameraAndTaskInfo) XXX_Size() int {
   return xxx_messageInfo_CameraAndTaskInfo.Size(m)
}
func (m *CameraAndTaskInfo) XXX_DiscardUnknown() {
   xxx_messageInfo_CameraAndTaskInfo.DiscardUnknown(m)
}
var xxx_messageInfo_Sensor proto.InternalMessageInfo
var xxx_messageInfo_CameraAndTaskInfo proto.InternalMessageInfo
func (m *CameraAndTaskInfo) GetCamera() *Camera {
   if m != nil {
      return m.Camera
   }
   return nil
}
func (m *CameraAndTaskInfo) GetTasks() []*Task {
   if m != nil {
      return m.Tasks
   }
   return nil
}
//Task结构体
type Task struct {
   Taskid               string   `protobuf:"bytes,1,opt,name=taskid,proto3" json:"taskid,omitempty"`
   Taskname             string   `protobuf:"bytes,2,opt,name=taskname,proto3" json:"taskname,omitempty"`
   CreateAt             string   `protobuf:"bytes,3,opt,name=create_at,json=createAt,proto3" json:"create_at,omitempty"`
   CreateBy             string   `protobuf:"bytes,4,opt,name=create_by,json=createBy,proto3" json:"create_by,omitempty"`
   UpdateAt             string   `protobuf:"bytes,5,opt,name=update_at,json=updateAt,proto3" json:"update_at,omitempty"`
   Enable               bool     `protobuf:"varint,6,opt,name=enable,proto3" json:"enable,omitempty"`
   IsAlarm              bool     `protobuf:"varint,7,opt,name=is_alarm,json=isAlarm,proto3" json:"is_alarm,omitempty"`
   DelFlag              bool     `protobuf:"varint,8,opt,name=del_flag,json=delFlag,proto3" json:"del_flag,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *Task) Reset()         { *m = Task{} }
func (m *Task) String() string { return proto.CompactTextString(m) }
func (*Task) ProtoMessage()    {}
func (*Task) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{6}
}
func (m *Task) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_Task.Unmarshal(m, b)
}
func (m *Task) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_Task.Marshal(b, m, deterministic)
}
func (m *Task) XXX_Merge(src proto.Message) {
   xxx_messageInfo_Task.Merge(m, src)
}
func (m *Task) XXX_Size() int {
   return xxx_messageInfo_Task.Size(m)
}
func (m *Task) XXX_DiscardUnknown() {
   xxx_messageInfo_Task.DiscardUnknown(m)
}
var xxx_messageInfo_Task proto.InternalMessageInfo
func (m *Task) GetTaskid() string {
   if m != nil {
      return m.Taskid
   }
   return ""
}
func (m *Task) GetTaskname() string {
   if m != nil {
      return m.Taskname
   }
   return ""
}
func (m *Task) GetCreateAt() string {
   if m != nil {
      return m.CreateAt
   }
   return ""
}
func (m *Task) GetCreateBy() string {
   if m != nil {
      return m.CreateBy
   }
   return ""
}
func (m *Task) GetUpdateAt() string {
   if m != nil {
      return m.UpdateAt
   }
   return ""
}
func (m *Task) GetEnable() bool {
   if m != nil {
      return m.Enable
   }
   return false
}
func (m *Task) GetIsAlarm() bool {
   if m != nil {
      return m.IsAlarm
   }
   return false
}
func (m *Task) GetDelFlag() bool {
   if m != nil {
      return m.DelFlag
   }
   return false
}
type TaskSdkInfo struct {
   Task                 *Task    `protobuf:"bytes,1,opt,name=task,proto3" json:"task,omitempty"`
   Sdks                 []*Sdk   `protobuf:"bytes,2,rep,name=sdks,proto3" json:"sdks,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *TaskSdkInfo) Reset()         { *m = TaskSdkInfo{} }
func (m *TaskSdkInfo) String() string { return proto.CompactTextString(m) }
func (*TaskSdkInfo) ProtoMessage()    {}
func (*TaskSdkInfo) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{7}
}
func (m *TaskSdkInfo) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_TaskSdkInfo.Unmarshal(m, b)
}
func (m *TaskSdkInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_TaskSdkInfo.Marshal(b, m, deterministic)
}
func (m *TaskSdkInfo) XXX_Merge(src proto.Message) {
   xxx_messageInfo_TaskSdkInfo.Merge(m, src)
}
func (m *TaskSdkInfo) XXX_Size() int {
   return xxx_messageInfo_TaskSdkInfo.Size(m)
}
func (m *TaskSdkInfo) XXX_DiscardUnknown() {
   xxx_messageInfo_TaskSdkInfo.DiscardUnknown(m)
}
var xxx_messageInfo_TaskSdkInfo proto.InternalMessageInfo
func (m *TaskSdkInfo) GetTask() *Task {
   if m != nil {
      return m.Task
   }
   return nil
}
func (m *TaskSdkInfo) GetSdks() []*Sdk {
   if m != nil {
      return m.Sdks
   }
   return nil
}
//摄像机任务
type CameraTask struct {
   Id                   string    `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   CameraIds            string    `protobuf:"bytes,2,opt,name=camera_ids,json=cameraIds,proto3" json:"camera_ids,omitempty"`
   TaskId               string    `protobuf:"bytes,3,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
   TimeRule             []*DayCtl `protobuf:"bytes,4,rep,name=time_rule,json=timeRule,proto3" json:"time_rule,omitempty"`
   ReactRule            string    `protobuf:"bytes,5,opt,name=react_rule,json=reactRule,proto3" json:"react_rule,omitempty"`
   ReactDevice          string    `protobuf:"bytes,6,opt,name=react_device,json=reactDevice,proto3" json:"react_device,omitempty"`
   DelFlag              bool      `protobuf:"varint,7,opt,name=del_flag,json=delFlag,proto3" json:"del_flag,omitempty"`
   UpdateFlag           bool      `protobuf:"varint,8,opt,name=update_flag,json=updateFlag,proto3" json:"update_flag,omitempty"`
   Enable               bool      `protobuf:"varint,9,opt,name=enable,proto3" json:"enable,omitempty"`
   Sort                 int32     `protobuf:"varint,10,opt,name=sort,proto3" json:"sort,omitempty"`
   IsFull               bool      `protobuf:"varint,11,opt,name=is_full,json=isFull,proto3" json:"is_full,omitempty"`
   LinkGroupId          string    `protobuf:"bytes,12,opt,name=link_group_id,json=linkGroupId,proto3" json:"link_group_id,omitempty"`
   XXX_NoUnkeyedLiteral struct{}  `json:"-"`
   XXX_unrecognized     []byte    `json:"-"`
   XXX_sizecache        int32     `json:"-"`
}
func (m *CameraTask) Reset()         { *m = CameraTask{} }
func (m *CameraTask) String() string { return proto.CompactTextString(m) }
func (*CameraTask) ProtoMessage()    {}
func (*CameraTask) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{8}
}
func (m *CameraTask) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_CameraTask.Unmarshal(m, b)
}
func (m *CameraTask) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_CameraTask.Marshal(b, m, deterministic)
}
func (m *CameraTask) XXX_Merge(src proto.Message) {
   xxx_messageInfo_CameraTask.Merge(m, src)
}
func (m *CameraTask) XXX_Size() int {
   return xxx_messageInfo_CameraTask.Size(m)
}
func (m *CameraTask) XXX_DiscardUnknown() {
   xxx_messageInfo_CameraTask.DiscardUnknown(m)
}
var xxx_messageInfo_CameraTask proto.InternalMessageInfo
func (m *CameraTask) GetId() string {
func (m *Sensor) GetId() string {
   if m != nil {
      return m.Id
   }
   return ""
}
func (m *CameraTask) GetCameraIds() string {
func (m *Sensor) GetType() string {
   if m != nil {
      return m.CameraIds
      return m.Type
   }
   return ""
}
func (m *CameraTask) GetTaskId() string {
func (m *Sensor) GetIp() string {
   if m != nil {
      return m.TaskId
      return m.Ip
   }
   return ""
}
func (m *CameraTask) GetTimeRule() []*DayCtl {
func (m *Sensor) GetPort() int32 {
   if m != nil {
      return m.TimeRule
      return m.Port
   }
   return nil
   return 0
}
func (m *CameraTask) GetReactRule() string {
func (m *Sensor) GetUsername() string {
   if m != nil {
      return m.ReactRule
      return m.Username
   }
   return ""
}
func (m *CameraTask) GetReactDevice() string {
func (m *Sensor) GetPassword() string {
   if m != nil {
      return m.ReactDevice
      return m.Password
   }
   return ""
}
func (m *CameraTask) GetDelFlag() bool {
func (m *Sensor) GetThreshold() int32 {
   if m != nil {
      return m.DelFlag
      return m.Threshold
   }
   return false
   return 0
}
func (m *CameraTask) GetUpdateFlag() bool {
   if m != nil {
      return m.UpdateFlag
   }
   return false
}
func (m *CameraTask) GetEnable() bool {
func (m *Sensor) GetEnable() bool {
   if m != nil {
      return m.Enable
   }
   return false
}
func (m *CameraTask) GetSort() int32 {
   if m != nil {
      return m.Sort
   }
   return 0
// 摄像机联动
type CameraLink struct {
   CameraIds            string   `protobuf:"bytes,1,opt,name=camera_ids,json=cameraIds,proto3" json:"camera_ids,omitempty"`
   LinkTaskId           string   `protobuf:"bytes,2,opt,name=link_task_id,json=linkTaskId,proto3" json:"link_task_id,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *CameraTask) GetIsFull() bool {
   if m != nil {
      return m.IsFull
   }
   return false
func (m *CameraLink) Reset()         { *m = CameraLink{} }
func (m *CameraLink) String() string { return proto.CompactTextString(m) }
func (*CameraLink) ProtoMessage()    {}
func (*CameraLink) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{3}
}
func (m *CameraLink) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_CameraLink.Unmarshal(m, b)
}
func (m *CameraLink) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_CameraLink.Marshal(b, m, deterministic)
}
func (dst *CameraLink) XXX_Merge(src proto.Message) {
   xxx_messageInfo_CameraLink.Merge(dst, src)
}
func (m *CameraLink) XXX_Size() int {
   return xxx_messageInfo_CameraLink.Size(m)
}
func (m *CameraLink) XXX_DiscardUnknown() {
   xxx_messageInfo_CameraLink.DiscardUnknown(m)
}
func (m *CameraTask) GetLinkGroupId() string {
var xxx_messageInfo_CameraLink proto.InternalMessageInfo
func (m *CameraLink) GetCameraIds() string {
   if m != nil {
      return m.LinkGroupId
      return m.CameraIds
   }
   return ""
}
//摄像机布防的时间规则,可以设置多个,用id关联到具体的规则配置中
func (m *CameraLink) GetLinkTaskId() string {
   if m != nil {
      return m.LinkTaskId
   }
   return ""
}
type SdkRun struct {
   IpcId                string   `protobuf:"bytes,1,opt,name=ipc_id,json=ipcId,proto3" json:"ipc_id,omitempty"`
   SdkType              string   `protobuf:"bytes,2,opt,name=sdk_type,json=sdkType,proto3" json:"sdk_type,omitempty"`
   IsTriggerByPreSdk    int32    `protobuf:"varint,3,opt,name=isTriggerByPreSdk,proto3" json:"isTriggerByPreSdk,omitempty"`
   Confidence           int32    `protobuf:"varint,4,opt,name=confidence,proto3" json:"confidence,omitempty"`
   BReid                bool     `protobuf:"varint,5,opt,name=bReid,proto3" json:"bReid,omitempty"`
   TriggerNextSdkType   int32    `protobuf:"varint,6,opt,name=triggerNextSdkType,proto3" json:"triggerNextSdkType,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *SdkRun) Reset()         { *m = SdkRun{} }
func (m *SdkRun) String() string { return proto.CompactTextString(m) }
func (*SdkRun) ProtoMessage()    {}
func (*SdkRun) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{4}
}
func (m *SdkRun) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_SdkRun.Unmarshal(m, b)
}
func (m *SdkRun) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_SdkRun.Marshal(b, m, deterministic)
}
func (dst *SdkRun) XXX_Merge(src proto.Message) {
   xxx_messageInfo_SdkRun.Merge(dst, src)
}
func (m *SdkRun) XXX_Size() int {
   return xxx_messageInfo_SdkRun.Size(m)
}
func (m *SdkRun) XXX_DiscardUnknown() {
   xxx_messageInfo_SdkRun.DiscardUnknown(m)
}
var xxx_messageInfo_SdkRun proto.InternalMessageInfo
func (m *SdkRun) GetIpcId() string {
   if m != nil {
      return m.IpcId
   }
   return ""
}
func (m *SdkRun) GetSdkType() string {
   if m != nil {
      return m.SdkType
   }
   return ""
}
func (m *SdkRun) GetIsTriggerByPreSdk() int32 {
   if m != nil {
      return m.IsTriggerByPreSdk
   }
   return 0
}
func (m *SdkRun) GetConfidence() int32 {
   if m != nil {
      return m.Confidence
   }
   return 0
}
func (m *SdkRun) GetBReid() bool {
   if m != nil {
      return m.BReid
   }
   return false
}
func (m *SdkRun) GetTriggerNextSdkType() int32 {
   if m != nil {
      return m.TriggerNextSdkType
   }
   return 0
}
// 摄像机布防的时间规则,可以设置多个,用id关联到具体的规则配置中
type CameraTimerule struct {
   Id                   string    `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   Name                 string    `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
   CameraId             string    `protobuf:"bytes,3,opt,name=camera_id,json=cameraId,proto3" json:"camera_id,omitempty"`
   TimeRule             []*DayCtl `protobuf:"bytes,4,rep,name=time_rule,json=timeRule,proto3" json:"time_rule,omitempty"`
   XXX_NoUnkeyedLiteral struct{}  `json:"-"`
   XXX_unrecognized     []byte    `json:"-"`
   XXX_sizecache        int32     `json:"-"`
   Id                   string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   Name                 string   `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
   TimeRule             string   `protobuf:"bytes,3,opt,name=time_rule,json=timeRule,proto3" json:"time_rule,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *CameraTimerule) Reset()         { *m = CameraTimerule{} }
func (m *CameraTimerule) String() string { return proto.CompactTextString(m) }
func (*CameraTimerule) ProtoMessage()    {}
func (*CameraTimerule) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{9}
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{5}
}
func (m *CameraTimerule) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_CameraTimerule.Unmarshal(m, b)
}
func (m *CameraTimerule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_CameraTimerule.Marshal(b, m, deterministic)
}
func (m *CameraTimerule) XXX_Merge(src proto.Message) {
   xxx_messageInfo_CameraTimerule.Merge(m, src)
func (dst *CameraTimerule) XXX_Merge(src proto.Message) {
   xxx_messageInfo_CameraTimerule.Merge(dst, src)
}
func (m *CameraTimerule) XXX_Size() int {
   return xxx_messageInfo_CameraTimerule.Size(m)
@@ -825,21 +742,14 @@
   return ""
}
func (m *CameraTimerule) GetCameraId() string {
func (m *CameraTimerule) GetTimeRule() string {
   if m != nil {
      return m.CameraId
      return m.TimeRule
   }
   return ""
}
func (m *CameraTimerule) GetTimeRule() []*DayCtl {
   if m != nil {
      return m.TimeRule
   }
   return nil
}
//DayCtl struct   每天的时间控制规则
// DayCtl struct   每天的时间控制规则
type DayCtl struct {
   Day                  int32        `protobuf:"varint,1,opt,name=day,proto3" json:"day,omitempty"`
   TimeRange            []*TimeRange `protobuf:"bytes,2,rep,name=time_range,json=timeRange,proto3" json:"time_range,omitempty"`
@@ -852,17 +762,16 @@
func (m *DayCtl) String() string { return proto.CompactTextString(m) }
func (*DayCtl) ProtoMessage()    {}
func (*DayCtl) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{10}
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{6}
}
func (m *DayCtl) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_DayCtl.Unmarshal(m, b)
}
func (m *DayCtl) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_DayCtl.Marshal(b, m, deterministic)
}
func (m *DayCtl) XXX_Merge(src proto.Message) {
   xxx_messageInfo_DayCtl.Merge(m, src)
func (dst *DayCtl) XXX_Merge(src proto.Message) {
   xxx_messageInfo_DayCtl.Merge(dst, src)
}
func (m *DayCtl) XXX_Size() int {
   return xxx_messageInfo_DayCtl.Size(m)
@@ -887,7 +796,7 @@
   return nil
}
//时间起始范围
// 时间起始范围
type TimeRange struct {
   Start                string   `protobuf:"bytes,1,opt,name=start,proto3" json:"start,omitempty"`
   End                  string   `protobuf:"bytes,2,opt,name=end,proto3" json:"end,omitempty"`
@@ -900,17 +809,16 @@
func (m *TimeRange) String() string { return proto.CompactTextString(m) }
func (*TimeRange) ProtoMessage()    {}
func (*TimeRange) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{11}
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{7}
}
func (m *TimeRange) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_TimeRange.Unmarshal(m, b)
}
func (m *TimeRange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_TimeRange.Marshal(b, m, deterministic)
}
func (m *TimeRange) XXX_Merge(src proto.Message) {
   xxx_messageInfo_TimeRange.Merge(m, src)
func (dst *TimeRange) XXX_Merge(src proto.Message) {
   xxx_messageInfo_TimeRange.Merge(dst, src)
}
func (m *TimeRange) XXX_Size() int {
   return xxx_messageInfo_TimeRange.Size(m)
@@ -935,11 +843,11 @@
   return ""
}
//Polygon struct
// Polygon struct
type Polygon struct {
   Id                   string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   Name                 string   `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
   Points               []*Point `protobuf:"bytes,4,rep,name=points,proto3" json:"points,omitempty"`
   Points               []*Point `protobuf:"bytes,3,rep,name=points,proto3" json:"points,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
@@ -949,17 +857,16 @@
func (m *Polygon) String() string { return proto.CompactTextString(m) }
func (*Polygon) ProtoMessage()    {}
func (*Polygon) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{12}
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{8}
}
func (m *Polygon) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_Polygon.Unmarshal(m, b)
}
func (m *Polygon) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_Polygon.Marshal(b, m, deterministic)
}
func (m *Polygon) XXX_Merge(src proto.Message) {
   xxx_messageInfo_Polygon.Merge(m, src)
func (dst *Polygon) XXX_Merge(src proto.Message) {
   xxx_messageInfo_Polygon.Merge(dst, src)
}
func (m *Polygon) XXX_Size() int {
   return xxx_messageInfo_Polygon.Size(m)
@@ -991,146 +898,689 @@
   return nil
}
type CameraTaskArgs struct {
   Id                   string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   CameraTaskId         string   `protobuf:"bytes,2,opt,name=camera_task_id,json=cameraTaskId,proto3" json:"camera_task_id,omitempty"`
   CameraId             string   `protobuf:"bytes,3,opt,name=camera_id,json=cameraId,proto3" json:"camera_id,omitempty"`
   PolygonId            string   `protobuf:"bytes,4,opt,name=polygon_id,json=polygonId,proto3" json:"polygon_id,omitempty"`
   SdkId                string   `protobuf:"bytes,5,opt,name=sdk_id,json=sdkId,proto3" json:"sdk_id,omitempty"`
   SdkArgAlias          string   `protobuf:"bytes,6,opt,name=sdk_arg_alias,json=sdkArgAlias,proto3" json:"sdk_arg_alias,omitempty"`
   Operator             string   `protobuf:"bytes,7,opt,name=operator,proto3" json:"operator,omitempty"`
   OperatorType         string   `protobuf:"bytes,8,opt,name=operator_type,json=operatorType,proto3" json:"operator_type,omitempty"`
   SdkArgValue          string   `protobuf:"bytes,9,opt,name=sdk_arg_value,json=sdkArgValue,proto3" json:"sdk_arg_value,omitempty"`
   Sort                 int32    `protobuf:"varint,10,opt,name=sort,proto3" json:"sort,omitempty"`
   RuleWithNext         string   `protobuf:"bytes,11,opt,name=rule_with_next,json=ruleWithNext,proto3" json:"rule_with_next,omitempty"`
   GroupId              string   `protobuf:"bytes,12,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
type CameraInfo struct {
   RunServerName        string   `protobuf:"bytes,1,opt,name=runServerName,proto3" json:"runServerName,omitempty"`
   Id                   string   `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
   Name                 string   `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
   RunType              int32    `protobuf:"varint,4,opt,name=run_type,json=runType,proto3" json:"run_type,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *CameraTaskArgs) Reset()         { *m = CameraTaskArgs{} }
func (m *CameraTaskArgs) String() string { return proto.CompactTextString(m) }
func (*CameraTaskArgs) ProtoMessage()    {}
func (*CameraTaskArgs) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{13}
func (m *CameraInfo) Reset()         { *m = CameraInfo{} }
func (m *CameraInfo) String() string { return proto.CompactTextString(m) }
func (*CameraInfo) ProtoMessage()    {}
func (*CameraInfo) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{9}
}
func (m *CameraInfo) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_CameraInfo.Unmarshal(m, b)
}
func (m *CameraInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_CameraInfo.Marshal(b, m, deterministic)
}
func (dst *CameraInfo) XXX_Merge(src proto.Message) {
   xxx_messageInfo_CameraInfo.Merge(dst, src)
}
func (m *CameraInfo) XXX_Size() int {
   return xxx_messageInfo_CameraInfo.Size(m)
}
func (m *CameraInfo) XXX_DiscardUnknown() {
   xxx_messageInfo_CameraInfo.DiscardUnknown(m)
}
func (m *CameraTaskArgs) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_CameraTaskArgs.Unmarshal(m, b)
}
func (m *CameraTaskArgs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_CameraTaskArgs.Marshal(b, m, deterministic)
}
func (m *CameraTaskArgs) XXX_Merge(src proto.Message) {
   xxx_messageInfo_CameraTaskArgs.Merge(m, src)
}
func (m *CameraTaskArgs) XXX_Size() int {
   return xxx_messageInfo_CameraTaskArgs.Size(m)
}
func (m *CameraTaskArgs) XXX_DiscardUnknown() {
   xxx_messageInfo_CameraTaskArgs.DiscardUnknown(m)
var xxx_messageInfo_CameraInfo proto.InternalMessageInfo
func (m *CameraInfo) GetRunServerName() string {
   if m != nil {
      return m.RunServerName
   }
   return ""
}
var xxx_messageInfo_CameraTaskArgs proto.InternalMessageInfo
func (m *CameraTaskArgs) GetId() string {
func (m *CameraInfo) GetId() string {
   if m != nil {
      return m.Id
   }
   return ""
}
func (m *CameraTaskArgs) GetCameraTaskId() string {
func (m *CameraInfo) GetName() string {
   if m != nil {
      return m.CameraTaskId
      return m.Name
   }
   return ""
}
func (m *CameraTaskArgs) GetCameraId() string {
func (m *CameraInfo) GetRunType() int32 {
   if m != nil {
      return m.RunType
   }
   return 0
}
type CameraAndRules struct {
   CameraInfo           *CameraInfo  `protobuf:"bytes,1,opt,name=cameraInfo,proto3" json:"cameraInfo,omitempty"`
   Rules                []*GroupRule `protobuf:"bytes,2,rep,name=rules,proto3" json:"rules,omitempty"`
   XXX_NoUnkeyedLiteral struct{}     `json:"-"`
   XXX_unrecognized     []byte       `json:"-"`
   XXX_sizecache        int32        `json:"-"`
}
func (m *CameraAndRules) Reset()         { *m = CameraAndRules{} }
func (m *CameraAndRules) String() string { return proto.CompactTextString(m) }
func (*CameraAndRules) ProtoMessage()    {}
func (*CameraAndRules) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{10}
}
func (m *CameraAndRules) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_CameraAndRules.Unmarshal(m, b)
}
func (m *CameraAndRules) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_CameraAndRules.Marshal(b, m, deterministic)
}
func (dst *CameraAndRules) XXX_Merge(src proto.Message) {
   xxx_messageInfo_CameraAndRules.Merge(dst, src)
}
func (m *CameraAndRules) XXX_Size() int {
   return xxx_messageInfo_CameraAndRules.Size(m)
}
func (m *CameraAndRules) XXX_DiscardUnknown() {
   xxx_messageInfo_CameraAndRules.DiscardUnknown(m)
}
var xxx_messageInfo_CameraAndRules proto.InternalMessageInfo
func (m *CameraAndRules) GetCameraInfo() *CameraInfo {
   if m != nil {
      return m.CameraInfo
   }
   return nil
}
func (m *CameraAndRules) GetRules() []*GroupRule {
   if m != nil {
      return m.Rules
   }
   return nil
}
type GroupRule struct {
   CameraIds            []string `protobuf:"bytes,1,rep,name=cameraIds,proto3" json:"cameraIds,omitempty"`
   Id                   string   `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
   GroupText            string   `protobuf:"bytes,3,opt,name=group_text,json=groupText,proto3" json:"group_text,omitempty"`
   AlarmLevel           int32    `protobuf:"varint,4,opt,name=alarm_level,json=alarmLevel,proto3" json:"alarm_level,omitempty"`
   Rules                []*Rule  `protobuf:"bytes,5,rep,name=rules,proto3" json:"rules,omitempty"`
   SetType              string   `protobuf:"bytes,6,opt,name=set_type,json=setType,proto3" json:"set_type,omitempty"`
   TemplateId           string   `protobuf:"bytes,7,opt,name=template_id,json=templateId,proto3" json:"template_id,omitempty"`
   TemplateRule         string   `protobuf:"bytes,8,opt,name=template_rule,json=templateRule,proto3" json:"template_rule,omitempty"`
   TimeRuleId           string   `protobuf:"bytes,9,opt,name=time_rule_id,json=timeRuleId,proto3" json:"time_rule_id,omitempty"`
   SceneName            string   `protobuf:"bytes,10,opt,name=scene_name,json=sceneName,proto3" json:"scene_name,omitempty"`
   Desc                 string   `protobuf:"bytes,11,opt,name=desc,proto3" json:"desc,omitempty"`
   Enable               bool     `protobuf:"varint,12,opt,name=enable,proto3" json:"enable,omitempty"`
   VoiceId              string   `protobuf:"bytes,13,opt,name=voiceId,proto3" json:"voiceId,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *GroupRule) Reset()         { *m = GroupRule{} }
func (m *GroupRule) String() string { return proto.CompactTextString(m) }
func (*GroupRule) ProtoMessage()    {}
func (*GroupRule) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{11}
}
func (m *GroupRule) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_GroupRule.Unmarshal(m, b)
}
func (m *GroupRule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_GroupRule.Marshal(b, m, deterministic)
}
func (dst *GroupRule) XXX_Merge(src proto.Message) {
   xxx_messageInfo_GroupRule.Merge(dst, src)
}
func (m *GroupRule) XXX_Size() int {
   return xxx_messageInfo_GroupRule.Size(m)
}
func (m *GroupRule) XXX_DiscardUnknown() {
   xxx_messageInfo_GroupRule.DiscardUnknown(m)
}
var xxx_messageInfo_GroupRule proto.InternalMessageInfo
func (m *GroupRule) GetCameraIds() []string {
   if m != nil {
      return m.CameraIds
   }
   return nil
}
func (m *GroupRule) GetId() string {
   if m != nil {
      return m.Id
   }
   return ""
}
func (m *GroupRule) GetGroupText() string {
   if m != nil {
      return m.GroupText
   }
   return ""
}
func (m *GroupRule) GetAlarmLevel() int32 {
   if m != nil {
      return m.AlarmLevel
   }
   return 0
}
func (m *GroupRule) GetRules() []*Rule {
   if m != nil {
      return m.Rules
   }
   return nil
}
func (m *GroupRule) GetSetType() string {
   if m != nil {
      return m.SetType
   }
   return ""
}
func (m *GroupRule) GetTemplateId() string {
   if m != nil {
      return m.TemplateId
   }
   return ""
}
func (m *GroupRule) GetTemplateRule() string {
   if m != nil {
      return m.TemplateRule
   }
   return ""
}
func (m *GroupRule) GetTimeRuleId() string {
   if m != nil {
      return m.TimeRuleId
   }
   return ""
}
func (m *GroupRule) GetSceneName() string {
   if m != nil {
      return m.SceneName
   }
   return ""
}
func (m *GroupRule) GetDesc() string {
   if m != nil {
      return m.Desc
   }
   return ""
}
func (m *GroupRule) GetEnable() bool {
   if m != nil {
      return m.Enable
   }
   return false
}
func (m *GroupRule) GetVoiceId() string {
   if m != nil {
      return m.VoiceId
   }
   return ""
}
type GroupRuleSdks struct {
   Id                   string    `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   SceneName            string    `protobuf:"bytes,2,opt,name=scene_name,json=sceneName,proto3" json:"scene_name,omitempty"`
   Sdks                 []*SdkRun `protobuf:"bytes,3,rep,name=sdks,proto3" json:"sdks,omitempty"`
   SdkIds               []string  `protobuf:"bytes,4,rep,name=sdkIds,proto3" json:"sdkIds,omitempty"`
   XXX_NoUnkeyedLiteral struct{}  `json:"-"`
   XXX_unrecognized     []byte    `json:"-"`
   XXX_sizecache        int32     `json:"-"`
}
func (m *GroupRuleSdks) Reset()         { *m = GroupRuleSdks{} }
func (m *GroupRuleSdks) String() string { return proto.CompactTextString(m) }
func (*GroupRuleSdks) ProtoMessage()    {}
func (*GroupRuleSdks) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{12}
}
func (m *GroupRuleSdks) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_GroupRuleSdks.Unmarshal(m, b)
}
func (m *GroupRuleSdks) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_GroupRuleSdks.Marshal(b, m, deterministic)
}
func (dst *GroupRuleSdks) XXX_Merge(src proto.Message) {
   xxx_messageInfo_GroupRuleSdks.Merge(dst, src)
}
func (m *GroupRuleSdks) XXX_Size() int {
   return xxx_messageInfo_GroupRuleSdks.Size(m)
}
func (m *GroupRuleSdks) XXX_DiscardUnknown() {
   xxx_messageInfo_GroupRuleSdks.DiscardUnknown(m)
}
var xxx_messageInfo_GroupRuleSdks proto.InternalMessageInfo
func (m *GroupRuleSdks) GetId() string {
   if m != nil {
      return m.Id
   }
   return ""
}
func (m *GroupRuleSdks) GetSceneName() string {
   if m != nil {
      return m.SceneName
   }
   return ""
}
func (m *GroupRuleSdks) GetSdks() []*SdkRun {
   if m != nil {
      return m.Sdks
   }
   return nil
}
func (m *GroupRuleSdks) GetSdkIds() []string {
   if m != nil {
      return m.SdkIds
   }
   return nil
}
type Rule struct {
   Id                   string        `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   CameraId             string        `protobuf:"bytes,2,opt,name=camera_id,json=cameraId,proto3" json:"camera_id,omitempty"`
   PolygonId            string        `protobuf:"bytes,3,opt,name=polygon_id,json=polygonId,proto3" json:"polygon_id,omitempty"`
   SdkId                string        `protobuf:"bytes,4,opt,name=sdk_id,json=sdkId,proto3" json:"sdk_id,omitempty"`
   SdkSet               []*SdkSetBase `protobuf:"bytes,5,rep,name=sdk_set,json=sdkSet,proto3" json:"sdk_set,omitempty"`
   RuleWithPre          string        `protobuf:"bytes,6,opt,name=rule_with_pre,json=ruleWithPre,proto3" json:"rule_with_pre,omitempty"`
   IsSaveAnyhow         bool          `protobuf:"varint,7,opt,name=is_save_anyhow,json=isSaveAnyhow,proto3" json:"is_save_anyhow,omitempty"`
   GroupId              string        `protobuf:"bytes,8,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
   Sort                 int32         `protobuf:"varint,9,opt,name=sort,proto3" json:"sort,omitempty"`
   XXX_NoUnkeyedLiteral struct{}      `json:"-"`
   XXX_unrecognized     []byte        `json:"-"`
   XXX_sizecache        int32         `json:"-"`
}
func (m *Rule) Reset()         { *m = Rule{} }
func (m *Rule) String() string { return proto.CompactTextString(m) }
func (*Rule) ProtoMessage()    {}
func (*Rule) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{13}
}
func (m *Rule) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_Rule.Unmarshal(m, b)
}
func (m *Rule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_Rule.Marshal(b, m, deterministic)
}
func (dst *Rule) XXX_Merge(src proto.Message) {
   xxx_messageInfo_Rule.Merge(dst, src)
}
func (m *Rule) XXX_Size() int {
   return xxx_messageInfo_Rule.Size(m)
}
func (m *Rule) XXX_DiscardUnknown() {
   xxx_messageInfo_Rule.DiscardUnknown(m)
}
var xxx_messageInfo_Rule proto.InternalMessageInfo
func (m *Rule) GetId() string {
   if m != nil {
      return m.Id
   }
   return ""
}
func (m *Rule) GetCameraId() string {
   if m != nil {
      return m.CameraId
   }
   return ""
}
func (m *CameraTaskArgs) GetPolygonId() string {
func (m *Rule) GetPolygonId() string {
   if m != nil {
      return m.PolygonId
   }
   return ""
}
func (m *CameraTaskArgs) GetSdkId() string {
func (m *Rule) GetSdkId() string {
   if m != nil {
      return m.SdkId
   }
   return ""
}
func (m *CameraTaskArgs) GetSdkArgAlias() string {
func (m *Rule) GetSdkSet() []*SdkSetBase {
   if m != nil {
      return m.SdkArgAlias
      return m.SdkSet
   }
   return nil
}
func (m *Rule) GetRuleWithPre() string {
   if m != nil {
      return m.RuleWithPre
   }
   return ""
}
func (m *CameraTaskArgs) GetOperator() string {
func (m *Rule) GetIsSaveAnyhow() bool {
   if m != nil {
      return m.Operator
      return m.IsSaveAnyhow
   }
   return ""
   return false
}
func (m *CameraTaskArgs) GetOperatorType() string {
   if m != nil {
      return m.OperatorType
   }
   return ""
}
func (m *CameraTaskArgs) GetSdkArgValue() string {
   if m != nil {
      return m.SdkArgValue
   }
   return ""
}
func (m *CameraTaskArgs) GetSort() int32 {
   if m != nil {
      return m.Sort
   }
   return 0
}
func (m *CameraTaskArgs) GetRuleWithNext() string {
   if m != nil {
      return m.RuleWithNext
   }
   return ""
}
func (m *CameraTaskArgs) GetGroupId() string {
func (m *Rule) GetGroupId() string {
   if m != nil {
      return m.GroupId
   }
   return ""
}
//Sdk struct
func (m *Rule) GetSort() int32 {
   if m != nil {
      return m.Sort
   }
   return 0
}
type RuleTemplate struct {
   Id                   string         `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   Name                 string         `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
   Desc                 string         `protobuf:"bytes,3,opt,name=desc,proto3" json:"desc,omitempty"`
   Txt                  string         `protobuf:"bytes,4,opt,name=txt,proto3" json:"txt,omitempty"`
   Rules                []*TemplateArg `protobuf:"bytes,5,rep,name=rules,proto3" json:"rules,omitempty"`
   XXX_NoUnkeyedLiteral struct{}       `json:"-"`
   XXX_unrecognized     []byte         `json:"-"`
   XXX_sizecache        int32          `json:"-"`
}
func (m *RuleTemplate) Reset()         { *m = RuleTemplate{} }
func (m *RuleTemplate) String() string { return proto.CompactTextString(m) }
func (*RuleTemplate) ProtoMessage()    {}
func (*RuleTemplate) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{14}
}
func (m *RuleTemplate) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_RuleTemplate.Unmarshal(m, b)
}
func (m *RuleTemplate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_RuleTemplate.Marshal(b, m, deterministic)
}
func (dst *RuleTemplate) XXX_Merge(src proto.Message) {
   xxx_messageInfo_RuleTemplate.Merge(dst, src)
}
func (m *RuleTemplate) XXX_Size() int {
   return xxx_messageInfo_RuleTemplate.Size(m)
}
func (m *RuleTemplate) XXX_DiscardUnknown() {
   xxx_messageInfo_RuleTemplate.DiscardUnknown(m)
}
var xxx_messageInfo_RuleTemplate proto.InternalMessageInfo
func (m *RuleTemplate) GetId() string {
   if m != nil {
      return m.Id
   }
   return ""
}
func (m *RuleTemplate) GetName() string {
   if m != nil {
      return m.Name
   }
   return ""
}
func (m *RuleTemplate) GetDesc() string {
   if m != nil {
      return m.Desc
   }
   return ""
}
func (m *RuleTemplate) GetTxt() string {
   if m != nil {
      return m.Txt
   }
   return ""
}
func (m *RuleTemplate) GetRules() []*TemplateArg {
   if m != nil {
      return m.Rules
   }
   return nil
}
type RuleTemplateList struct {
   List                 []*RuleTemplate `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"`
   XXX_NoUnkeyedLiteral struct{}        `json:"-"`
   XXX_unrecognized     []byte          `json:"-"`
   XXX_sizecache        int32           `json:"-"`
}
func (m *RuleTemplateList) Reset()         { *m = RuleTemplateList{} }
func (m *RuleTemplateList) String() string { return proto.CompactTextString(m) }
func (*RuleTemplateList) ProtoMessage()    {}
func (*RuleTemplateList) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{15}
}
func (m *RuleTemplateList) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_RuleTemplateList.Unmarshal(m, b)
}
func (m *RuleTemplateList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_RuleTemplateList.Marshal(b, m, deterministic)
}
func (dst *RuleTemplateList) XXX_Merge(src proto.Message) {
   xxx_messageInfo_RuleTemplateList.Merge(dst, src)
}
func (m *RuleTemplateList) XXX_Size() int {
   return xxx_messageInfo_RuleTemplateList.Size(m)
}
func (m *RuleTemplateList) XXX_DiscardUnknown() {
   xxx_messageInfo_RuleTemplateList.DiscardUnknown(m)
}
var xxx_messageInfo_RuleTemplateList proto.InternalMessageInfo
func (m *RuleTemplateList) GetList() []*RuleTemplate {
   if m != nil {
      return m.List
   }
   return nil
}
type TemplateArg struct {
   SdkId                string   `protobuf:"bytes,1,opt,name=sdk_id,json=sdkId,proto3" json:"sdk_id,omitempty"`
   SdkArgAlias          string   `protobuf:"bytes,2,opt,name=sdk_arg_alias,json=sdkArgAlias,proto3" json:"sdk_arg_alias,omitempty"`
   Operator             string   `protobuf:"bytes,3,opt,name=operator,proto3" json:"operator,omitempty"`
   SdkArgValue          string   `protobuf:"bytes,4,opt,name=sdk_arg_value,json=sdkArgValue,proto3" json:"sdk_arg_value,omitempty"`
   Sort                 string   `protobuf:"bytes,5,opt,name=sort,proto3" json:"sort,omitempty"`
   RuleWithPre          string   `protobuf:"bytes,6,opt,name=rule_with_pre,json=ruleWithPre,proto3" json:"rule_with_pre,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *TemplateArg) Reset()         { *m = TemplateArg{} }
func (m *TemplateArg) String() string { return proto.CompactTextString(m) }
func (*TemplateArg) ProtoMessage()    {}
func (*TemplateArg) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{16}
}
func (m *TemplateArg) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_TemplateArg.Unmarshal(m, b)
}
func (m *TemplateArg) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_TemplateArg.Marshal(b, m, deterministic)
}
func (dst *TemplateArg) XXX_Merge(src proto.Message) {
   xxx_messageInfo_TemplateArg.Merge(dst, src)
}
func (m *TemplateArg) XXX_Size() int {
   return xxx_messageInfo_TemplateArg.Size(m)
}
func (m *TemplateArg) XXX_DiscardUnknown() {
   xxx_messageInfo_TemplateArg.DiscardUnknown(m)
}
var xxx_messageInfo_TemplateArg proto.InternalMessageInfo
func (m *TemplateArg) GetSdkId() string {
   if m != nil {
      return m.SdkId
   }
   return ""
}
func (m *TemplateArg) GetSdkArgAlias() string {
   if m != nil {
      return m.SdkArgAlias
   }
   return ""
}
func (m *TemplateArg) GetOperator() string {
   if m != nil {
      return m.Operator
   }
   return ""
}
func (m *TemplateArg) GetSdkArgValue() string {
   if m != nil {
      return m.SdkArgValue
   }
   return ""
}
func (m *TemplateArg) GetSort() string {
   if m != nil {
      return m.Sort
   }
   return ""
}
func (m *TemplateArg) GetRuleWithPre() string {
   if m != nil {
      return m.RuleWithPre
   }
   return ""
}
type SdkSetBase struct {
   SdkArgAlias          string   `protobuf:"bytes,1,opt,name=sdk_arg_alias,json=sdkArgAlias,proto3" json:"sdk_arg_alias,omitempty"`
   Operator             string   `protobuf:"bytes,2,opt,name=operator,proto3" json:"operator,omitempty"`
   OperatorType         string   `protobuf:"bytes,3,opt,name=operator_type,json=operatorType,proto3" json:"operator_type,omitempty"`
   SdkArgValue          string   `protobuf:"bytes,4,opt,name=sdk_arg_value,json=sdkArgValue,proto3" json:"sdk_arg_value,omitempty"`
   Sort                 int32    `protobuf:"varint,5,opt,name=sort,proto3" json:"sort,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *SdkSetBase) Reset()         { *m = SdkSetBase{} }
func (m *SdkSetBase) String() string { return proto.CompactTextString(m) }
func (*SdkSetBase) ProtoMessage()    {}
func (*SdkSetBase) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{17}
}
func (m *SdkSetBase) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_SdkSetBase.Unmarshal(m, b)
}
func (m *SdkSetBase) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_SdkSetBase.Marshal(b, m, deterministic)
}
func (dst *SdkSetBase) XXX_Merge(src proto.Message) {
   xxx_messageInfo_SdkSetBase.Merge(dst, src)
}
func (m *SdkSetBase) XXX_Size() int {
   return xxx_messageInfo_SdkSetBase.Size(m)
}
func (m *SdkSetBase) XXX_DiscardUnknown() {
   xxx_messageInfo_SdkSetBase.DiscardUnknown(m)
}
var xxx_messageInfo_SdkSetBase proto.InternalMessageInfo
func (m *SdkSetBase) GetSdkArgAlias() string {
   if m != nil {
      return m.SdkArgAlias
   }
   return ""
}
func (m *SdkSetBase) GetOperator() string {
   if m != nil {
      return m.Operator
   }
   return ""
}
func (m *SdkSetBase) GetOperatorType() string {
   if m != nil {
      return m.OperatorType
   }
   return ""
}
func (m *SdkSetBase) GetSdkArgValue() string {
   if m != nil {
      return m.SdkArgValue
   }
   return ""
}
func (m *SdkSetBase) GetSort() int32 {
   if m != nil {
      return m.Sort
   }
   return 0
}
// Sdk struct
type Sdk struct {
   Id                   string    `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   SdkType              string    `protobuf:"bytes,2,opt,name=sdk_type,json=sdkType,proto3" json:"sdk_type,omitempty"`
   SdkName              string    `protobuf:"bytes,3,opt,name=sdk_name,json=sdkName,proto3" json:"sdk_name,omitempty"`
   Args                 []*SdkArg `protobuf:"bytes,4,rep,name=args,proto3" json:"args,omitempty"`
   Icon                 string    `protobuf:"bytes,5,opt,name=icon,proto3" json:"icon,omitempty"`
   Url                  string    `protobuf:"bytes,6,opt,name=url,proto3" json:"url,omitempty"`
   CreateTime           string    `protobuf:"bytes,7,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
   UpdateTime           string    `protobuf:"bytes,8,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
   CreateBy             string    `protobuf:"bytes,9,opt,name=create_by,json=createBy,proto3" json:"create_by,omitempty"`
   Enabled              string    `protobuf:"bytes,10,opt,name=enabled,proto3" json:"enabled,omitempty"`
   DelFlag              string    `protobuf:"bytes,11,opt,name=del_flag,json=delFlag,proto3" json:"del_flag,omitempty"`
   IpcId                string    `protobuf:"bytes,2,opt,name=ipc_id,json=ipcId,proto3" json:"ipc_id,omitempty"`
   SdkType              string    `protobuf:"bytes,3,opt,name=sdk_type,json=sdkType,proto3" json:"sdk_type,omitempty"`
   SdkName              string    `protobuf:"bytes,4,opt,name=sdk_name,json=sdkName,proto3" json:"sdk_name,omitempty"`
   Args                 []*SdkArg `protobuf:"bytes,5,rep,name=args,proto3" json:"args,omitempty"`
   Icon                 string    `protobuf:"bytes,6,opt,name=icon,proto3" json:"icon,omitempty"`
   Url                  string    `protobuf:"bytes,7,opt,name=url,proto3" json:"url,omitempty"`
   CreateTime           string    `protobuf:"bytes,8,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
   UpdateTime           string    `protobuf:"bytes,9,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
   CreateBy             string    `protobuf:"bytes,10,opt,name=create_by,json=createBy,proto3" json:"create_by,omitempty"`
   Enable               bool      `protobuf:"varint,11,opt,name=enable,proto3" json:"enable,omitempty"`
   DelFlag              int32     `protobuf:"varint,12,opt,name=del_flag,json=delFlag,proto3" json:"del_flag,omitempty"`
   IconBlob             string    `protobuf:"bytes,13,opt,name=iconBlob,proto3" json:"iconBlob,omitempty"`
   Version              string    `protobuf:"bytes,14,opt,name=version,proto3" json:"version,omitempty"`
   EnTrack              bool      `protobuf:"varint,15,opt,name=enTrack,proto3" json:"enTrack,omitempty"`
   ArgDef               string    `protobuf:"bytes,16,opt,name=argDef,proto3" json:"argDef,omitempty"`
   RuleSo               string    `protobuf:"bytes,17,opt,name=ruleSo,proto3" json:"ruleSo,omitempty"`
   IconBlob2            string    `protobuf:"bytes,18,opt,name=iconBlob2,proto3" json:"iconBlob2,omitempty"`
   ActivateCode         string    `protobuf:"bytes,19,opt,name=activateCode,proto3" json:"activateCode,omitempty"`
   XXX_NoUnkeyedLiteral struct{}  `json:"-"`
   XXX_unrecognized     []byte    `json:"-"`
   XXX_sizecache        int32     `json:"-"`
@@ -1140,17 +1590,16 @@
func (m *Sdk) String() string { return proto.CompactTextString(m) }
func (*Sdk) ProtoMessage()    {}
func (*Sdk) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{14}
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{18}
}
func (m *Sdk) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_Sdk.Unmarshal(m, b)
}
func (m *Sdk) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_Sdk.Marshal(b, m, deterministic)
}
func (m *Sdk) XXX_Merge(src proto.Message) {
   xxx_messageInfo_Sdk.Merge(m, src)
func (dst *Sdk) XXX_Merge(src proto.Message) {
   xxx_messageInfo_Sdk.Merge(dst, src)
}
func (m *Sdk) XXX_Size() int {
   return xxx_messageInfo_Sdk.Size(m)
@@ -1164,6 +1613,13 @@
func (m *Sdk) GetId() string {
   if m != nil {
      return m.Id
   }
   return ""
}
func (m *Sdk) GetIpcId() string {
   if m != nil {
      return m.IpcId
   }
   return ""
}
@@ -1224,28 +1680,80 @@
   return ""
}
func (m *Sdk) GetEnabled() string {
func (m *Sdk) GetEnable() bool {
   if m != nil {
      return m.Enabled
      return m.Enable
   }
   return ""
   return false
}
func (m *Sdk) GetDelFlag() string {
func (m *Sdk) GetDelFlag() int32 {
   if m != nil {
      return m.DelFlag
   }
   return 0
}
func (m *Sdk) GetIconBlob() string {
   if m != nil {
      return m.IconBlob
   }
   return ""
}
//SdkArg struct
func (m *Sdk) GetVersion() string {
   if m != nil {
      return m.Version
   }
   return ""
}
func (m *Sdk) GetEnTrack() bool {
   if m != nil {
      return m.EnTrack
   }
   return false
}
func (m *Sdk) GetArgDef() string {
   if m != nil {
      return m.ArgDef
   }
   return ""
}
func (m *Sdk) GetRuleSo() string {
   if m != nil {
      return m.RuleSo
   }
   return ""
}
func (m *Sdk) GetIconBlob2() string {
   if m != nil {
      return m.IconBlob2
   }
   return ""
}
func (m *Sdk) GetActivateCode() string {
   if m != nil {
      return m.ActivateCode
   }
   return ""
}
// SdkArg struct
type SdkArg struct {
   Alias                string   `protobuf:"bytes,2,opt,name=alias,proto3" json:"alias,omitempty"`
   Name                 string   `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
   Type                 string   `protobuf:"bytes,4,opt,name=type,proto3" json:"type,omitempty"`
   Must                 bool     `protobuf:"varint,5,opt,name=must,proto3" json:"must,omitempty"`
   Alias                string   `protobuf:"bytes,1,opt,name=alias,proto3" json:"alias,omitempty"`
   Name                 string   `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
   Type                 string   `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"`
   Must                 bool     `protobuf:"varint,4,opt,name=must,proto3" json:"must,omitempty"`
   Unit                 string   `protobuf:"bytes,5,opt,name=unit,proto3" json:"unit,omitempty"`
   Range                string   `protobuf:"bytes,6,opt,name=range,proto3" json:"range,omitempty"`
   Sort                 int32    `protobuf:"varint,7,opt,name=sort,proto3" json:"sort,omitempty"`
   DefaultValue         string   `protobuf:"bytes,7,opt,name=default_value,json=defaultValue,proto3" json:"default_value,omitempty"`
   DefaultOperator      string   `protobuf:"bytes,8,opt,name=default_operator,json=defaultOperator,proto3" json:"default_operator,omitempty"`
   Sort                 int32    `protobuf:"varint,9,opt,name=sort,proto3" json:"sort,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
@@ -1255,17 +1763,16 @@
func (m *SdkArg) String() string { return proto.CompactTextString(m) }
func (*SdkArg) ProtoMessage()    {}
func (*SdkArg) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{15}
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{19}
}
func (m *SdkArg) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_SdkArg.Unmarshal(m, b)
}
func (m *SdkArg) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_SdkArg.Marshal(b, m, deterministic)
}
func (m *SdkArg) XXX_Merge(src proto.Message) {
   xxx_messageInfo_SdkArg.Merge(m, src)
func (dst *SdkArg) XXX_Merge(src proto.Message) {
   xxx_messageInfo_SdkArg.Merge(dst, src)
}
func (m *SdkArg) XXX_Size() int {
   return xxx_messageInfo_SdkArg.Size(m)
@@ -1304,9 +1811,30 @@
   return false
}
func (m *SdkArg) GetUnit() string {
   if m != nil {
      return m.Unit
   }
   return ""
}
func (m *SdkArg) GetRange() string {
   if m != nil {
      return m.Range
   }
   return ""
}
func (m *SdkArg) GetDefaultValue() string {
   if m != nil {
      return m.DefaultValue
   }
   return ""
}
func (m *SdkArg) GetDefaultOperator() string {
   if m != nil {
      return m.DefaultOperator
   }
   return ""
}
@@ -1318,697 +1846,69 @@
   return 0
}
// struct for sdk
type Point struct {
   X                    int32    `protobuf:"varint,1,opt,name=x,proto3" json:"x,omitempty"`
   Y                    int32    `protobuf:"varint,2,opt,name=y,proto3" json:"y,omitempty"`
type SdkChanSet struct {
   SdkType              string   `protobuf:"bytes,1,opt,name=sdk_type,json=sdkType,proto3" json:"sdk_type,omitempty"`
   ChanNum              int32    `protobuf:"varint,2,opt,name=chan_num,json=chanNum,proto3" json:"chan_num,omitempty"`
   ConfidenceInc        int32    `protobuf:"varint,3,opt,name=confidenceInc,proto3" json:"confidenceInc,omitempty"`
   MinMovePos           int32    `protobuf:"varint,4,opt,name=minMovePos,proto3" json:"minMovePos,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *Point) Reset()         { *m = Point{} }
func (m *Point) String() string { return proto.CompactTextString(m) }
func (*Point) ProtoMessage()    {}
func (*Point) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{16}
func (m *SdkChanSet) Reset()         { *m = SdkChanSet{} }
func (m *SdkChanSet) String() string { return proto.CompactTextString(m) }
func (*SdkChanSet) ProtoMessage()    {}
func (*SdkChanSet) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{20}
}
func (m *SdkChanSet) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_SdkChanSet.Unmarshal(m, b)
}
func (m *SdkChanSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_SdkChanSet.Marshal(b, m, deterministic)
}
func (dst *SdkChanSet) XXX_Merge(src proto.Message) {
   xxx_messageInfo_SdkChanSet.Merge(dst, src)
}
func (m *SdkChanSet) XXX_Size() int {
   return xxx_messageInfo_SdkChanSet.Size(m)
}
func (m *SdkChanSet) XXX_DiscardUnknown() {
   xxx_messageInfo_SdkChanSet.DiscardUnknown(m)
}
func (m *Point) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_Point.Unmarshal(m, b)
}
func (m *Point) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_Point.Marshal(b, m, deterministic)
}
func (m *Point) XXX_Merge(src proto.Message) {
   xxx_messageInfo_Point.Merge(m, src)
}
func (m *Point) XXX_Size() int {
   return xxx_messageInfo_Point.Size(m)
}
func (m *Point) XXX_DiscardUnknown() {
   xxx_messageInfo_Point.DiscardUnknown(m)
}
var xxx_messageInfo_SdkChanSet proto.InternalMessageInfo
var xxx_messageInfo_Point proto.InternalMessageInfo
func (m *Point) GetX() int32 {
func (m *SdkChanSet) GetSdkType() string {
   if m != nil {
      return m.X
      return m.SdkType
   }
   return ""
}
func (m *SdkChanSet) GetChanNum() int32 {
   if m != nil {
      return m.ChanNum
   }
   return 0
}
func (m *Point) GetY() int32 {
func (m *SdkChanSet) GetConfidenceInc() int32 {
   if m != nil {
      return m.Y
      return m.ConfidenceInc
   }
   return 0
}
type Rect struct {
   Left                 int32    `protobuf:"varint,1,opt,name=left,proto3" json:"left,omitempty"`
   Top                  int32    `protobuf:"varint,2,opt,name=top,proto3" json:"top,omitempty"`
   Right                int32    `protobuf:"varint,3,opt,name=right,proto3" json:"right,omitempty"`
   Bottom               int32    `protobuf:"varint,4,opt,name=bottom,proto3" json:"bottom,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *Rect) Reset()         { *m = Rect{} }
func (m *Rect) String() string { return proto.CompactTextString(m) }
func (*Rect) ProtoMessage()    {}
func (*Rect) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{17}
}
func (m *Rect) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_Rect.Unmarshal(m, b)
}
func (m *Rect) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_Rect.Marshal(b, m, deterministic)
}
func (m *Rect) XXX_Merge(src proto.Message) {
   xxx_messageInfo_Rect.Merge(m, src)
}
func (m *Rect) XXX_Size() int {
   return xxx_messageInfo_Rect.Size(m)
}
func (m *Rect) XXX_DiscardUnknown() {
   xxx_messageInfo_Rect.DiscardUnknown(m)
}
var xxx_messageInfo_Rect proto.InternalMessageInfo
func (m *Rect) GetLeft() int32 {
func (m *SdkChanSet) GetMinMovePos() int32 {
   if m != nil {
      return m.Left
      return m.MinMovePos
   }
   return 0
}
func (m *Rect) GetTop() int32 {
   if m != nil {
      return m.Top
   }
   return 0
}
func (m *Rect) GetRight() int32 {
   if m != nil {
      return m.Right
   }
   return 0
}
func (m *Rect) GetBottom() int32 {
   if m != nil {
      return m.Bottom
   }
   return 0
}
type FaceAngle struct {
   Yaw                  int32    `protobuf:"varint,1,opt,name=yaw,proto3" json:"yaw,omitempty"`
   Pitch                int32    `protobuf:"varint,2,opt,name=pitch,proto3" json:"pitch,omitempty"`
   Roll                 int32    `protobuf:"varint,3,opt,name=roll,proto3" json:"roll,omitempty"`
   Confidence           float32  `protobuf:"fixed32,4,opt,name=confidence,proto3" json:"confidence,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *FaceAngle) Reset()         { *m = FaceAngle{} }
func (m *FaceAngle) String() string { return proto.CompactTextString(m) }
func (*FaceAngle) ProtoMessage()    {}
func (*FaceAngle) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{18}
}
func (m *FaceAngle) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_FaceAngle.Unmarshal(m, b)
}
func (m *FaceAngle) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_FaceAngle.Marshal(b, m, deterministic)
}
func (m *FaceAngle) XXX_Merge(src proto.Message) {
   xxx_messageInfo_FaceAngle.Merge(m, src)
}
func (m *FaceAngle) XXX_Size() int {
   return xxx_messageInfo_FaceAngle.Size(m)
}
func (m *FaceAngle) XXX_DiscardUnknown() {
   xxx_messageInfo_FaceAngle.DiscardUnknown(m)
}
var xxx_messageInfo_FaceAngle proto.InternalMessageInfo
func (m *FaceAngle) GetYaw() int32 {
   if m != nil {
      return m.Yaw
   }
   return 0
}
func (m *FaceAngle) GetPitch() int32 {
   if m != nil {
      return m.Pitch
   }
   return 0
}
func (m *FaceAngle) GetRoll() int32 {
   if m != nil {
      return m.Roll
   }
   return 0
}
func (m *FaceAngle) GetConfidence() float32 {
   if m != nil {
      return m.Confidence
   }
   return 0
}
type ThftResult struct {
   Gender               int32    `protobuf:"varint,1,opt,name=gender,proto3" json:"gender,omitempty"`
   Age                  int32    `protobuf:"varint,2,opt,name=age,proto3" json:"age,omitempty"`
   Race                 int32    `protobuf:"varint,3,opt,name=race,proto3" json:"race,omitempty"`
   Beauty               int32    `protobuf:"varint,4,opt,name=beauty,proto3" json:"beauty,omitempty"`
   Smile                int32    `protobuf:"varint,5,opt,name=smile,proto3" json:"smile,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *ThftResult) Reset()         { *m = ThftResult{} }
func (m *ThftResult) String() string { return proto.CompactTextString(m) }
func (*ThftResult) ProtoMessage()    {}
func (*ThftResult) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{19}
}
func (m *ThftResult) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_ThftResult.Unmarshal(m, b)
}
func (m *ThftResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_ThftResult.Marshal(b, m, deterministic)
}
func (m *ThftResult) XXX_Merge(src proto.Message) {
   xxx_messageInfo_ThftResult.Merge(m, src)
}
func (m *ThftResult) XXX_Size() int {
   return xxx_messageInfo_ThftResult.Size(m)
}
func (m *ThftResult) XXX_DiscardUnknown() {
   xxx_messageInfo_ThftResult.DiscardUnknown(m)
}
var xxx_messageInfo_ThftResult proto.InternalMessageInfo
func (m *ThftResult) GetGender() int32 {
   if m != nil {
      return m.Gender
   }
   return 0
}
func (m *ThftResult) GetAge() int32 {
   if m != nil {
      return m.Age
   }
   return 0
}
func (m *ThftResult) GetRace() int32 {
   if m != nil {
      return m.Race
   }
   return 0
}
func (m *ThftResult) GetBeauty() int32 {
   if m != nil {
      return m.Beauty
   }
   return 0
}
func (m *ThftResult) GetSmile() int32 {
   if m != nil {
      return m.Smile
   }
   return 0
}
type FacePos struct {
   RcFace               *Rect      `protobuf:"bytes,1,opt,name=rcFace,proto3" json:"rcFace,omitempty"`
   PtLeftEye            *Point     `protobuf:"bytes,2,opt,name=ptLeftEye,proto3" json:"ptLeftEye,omitempty"`
   PtRightEye           *Point     `protobuf:"bytes,3,opt,name=ptRightEye,proto3" json:"ptRightEye,omitempty"`
   PtMouth              *Point     `protobuf:"bytes,4,opt,name=ptMouth,proto3" json:"ptMouth,omitempty"`
   PtNose               *Point     `protobuf:"bytes,5,opt,name=ptNose,proto3" json:"ptNose,omitempty"`
   FAngle               *FaceAngle `protobuf:"bytes,6,opt,name=fAngle,proto3" json:"fAngle,omitempty"`
   Quality              int32      `protobuf:"varint,7,opt,name=quality,proto3" json:"quality,omitempty"`
   FacialData           []byte     `protobuf:"bytes,8,opt,name=facialData,proto3" json:"facialData,omitempty"`
   XXX_NoUnkeyedLiteral struct{}   `json:"-"`
   XXX_unrecognized     []byte     `json:"-"`
   XXX_sizecache        int32      `json:"-"`
}
func (m *FacePos) Reset()         { *m = FacePos{} }
func (m *FacePos) String() string { return proto.CompactTextString(m) }
func (*FacePos) ProtoMessage()    {}
func (*FacePos) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{20}
}
func (m *FacePos) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_FacePos.Unmarshal(m, b)
}
func (m *FacePos) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_FacePos.Marshal(b, m, deterministic)
}
func (m *FacePos) XXX_Merge(src proto.Message) {
   xxx_messageInfo_FacePos.Merge(m, src)
}
func (m *FacePos) XXX_Size() int {
   return xxx_messageInfo_FacePos.Size(m)
}
func (m *FacePos) XXX_DiscardUnknown() {
   xxx_messageInfo_FacePos.DiscardUnknown(m)
}
var xxx_messageInfo_FacePos proto.InternalMessageInfo
func (m *FacePos) GetRcFace() *Rect {
   if m != nil {
      return m.RcFace
   }
   return nil
}
func (m *FacePos) GetPtLeftEye() *Point {
   if m != nil {
      return m.PtLeftEye
   }
   return nil
}
func (m *FacePos) GetPtRightEye() *Point {
   if m != nil {
      return m.PtRightEye
   }
   return nil
}
func (m *FacePos) GetPtMouth() *Point {
   if m != nil {
      return m.PtMouth
   }
   return nil
}
func (m *FacePos) GetPtNose() *Point {
   if m != nil {
      return m.PtNose
   }
   return nil
}
func (m *FacePos) GetFAngle() *FaceAngle {
   if m != nil {
      return m.FAngle
   }
   return nil
}
func (m *FacePos) GetQuality() int32 {
   if m != nil {
      return m.Quality
   }
   return 0
}
func (m *FacePos) GetFacialData() []byte {
   if m != nil {
      return m.FacialData
   }
   return nil
}
type FaceInfo struct {
   RcFace               *Rect      `protobuf:"bytes,1,opt,name=rcFace,proto3" json:"rcFace,omitempty"`
   PtLeftEye            *Point     `protobuf:"bytes,2,opt,name=ptLeftEye,proto3" json:"ptLeftEye,omitempty"`
   PtRightEye           *Point     `protobuf:"bytes,3,opt,name=ptRightEye,proto3" json:"ptRightEye,omitempty"`
   PtMouth              *Point     `protobuf:"bytes,4,opt,name=ptMouth,proto3" json:"ptMouth,omitempty"`
   PtNose               *Point     `protobuf:"bytes,5,opt,name=ptNose,proto3" json:"ptNose,omitempty"`
   FAngle               *FaceAngle `protobuf:"bytes,6,opt,name=fAngle,proto3" json:"fAngle,omitempty"`
   Quality              int32      `protobuf:"varint,7,opt,name=quality,proto3" json:"quality,omitempty"`
   FacialData           []byte     `protobuf:"bytes,8,opt,name=facialData,proto3" json:"facialData,omitempty"`
   FaceID               int64      `protobuf:"varint,9,opt,name=faceID,proto3" json:"faceID,omitempty"`
   XXX_NoUnkeyedLiteral struct{}   `json:"-"`
   XXX_unrecognized     []byte     `json:"-"`
   XXX_sizecache        int32      `json:"-"`
}
func (m *FaceInfo) Reset()         { *m = FaceInfo{} }
func (m *FaceInfo) String() string { return proto.CompactTextString(m) }
func (*FaceInfo) ProtoMessage()    {}
func (*FaceInfo) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{21}
}
func (m *FaceInfo) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_FaceInfo.Unmarshal(m, b)
}
func (m *FaceInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_FaceInfo.Marshal(b, m, deterministic)
}
func (m *FaceInfo) XXX_Merge(src proto.Message) {
   xxx_messageInfo_FaceInfo.Merge(m, src)
}
func (m *FaceInfo) XXX_Size() int {
   return xxx_messageInfo_FaceInfo.Size(m)
}
func (m *FaceInfo) XXX_DiscardUnknown() {
   xxx_messageInfo_FaceInfo.DiscardUnknown(m)
}
var xxx_messageInfo_FaceInfo proto.InternalMessageInfo
func (m *FaceInfo) GetRcFace() *Rect {
   if m != nil {
      return m.RcFace
   }
   return nil
}
func (m *FaceInfo) GetPtLeftEye() *Point {
   if m != nil {
      return m.PtLeftEye
   }
   return nil
}
func (m *FaceInfo) GetPtRightEye() *Point {
   if m != nil {
      return m.PtRightEye
   }
   return nil
}
func (m *FaceInfo) GetPtMouth() *Point {
   if m != nil {
      return m.PtMouth
   }
   return nil
}
func (m *FaceInfo) GetPtNose() *Point {
   if m != nil {
      return m.PtNose
   }
   return nil
}
func (m *FaceInfo) GetFAngle() *FaceAngle {
   if m != nil {
      return m.FAngle
   }
   return nil
}
func (m *FaceInfo) GetQuality() int32 {
   if m != nil {
      return m.Quality
   }
   return 0
}
func (m *FaceInfo) GetFacialData() []byte {
   if m != nil {
      return m.FacialData
   }
   return nil
}
func (m *FaceInfo) GetFaceID() int64 {
   if m != nil {
      return m.FaceID
   }
   return 0
}
type ObjInfo struct {
   RcObj                *Rect    `protobuf:"bytes,1,opt,name=rcObj,proto3" json:"rcObj,omitempty"`
   Typ                  int32    `protobuf:"varint,2,opt,name=typ,proto3" json:"typ,omitempty"`
   Prob                 float32  `protobuf:"fixed32,3,opt,name=prob,proto3" json:"prob,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *ObjInfo) Reset()         { *m = ObjInfo{} }
func (m *ObjInfo) String() string { return proto.CompactTextString(m) }
func (*ObjInfo) ProtoMessage()    {}
func (*ObjInfo) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{22}
}
func (m *ObjInfo) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_ObjInfo.Unmarshal(m, b)
}
func (m *ObjInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_ObjInfo.Marshal(b, m, deterministic)
}
func (m *ObjInfo) XXX_Merge(src proto.Message) {
   xxx_messageInfo_ObjInfo.Merge(m, src)
}
func (m *ObjInfo) XXX_Size() int {
   return xxx_messageInfo_ObjInfo.Size(m)
}
func (m *ObjInfo) XXX_DiscardUnknown() {
   xxx_messageInfo_ObjInfo.DiscardUnknown(m)
}
var xxx_messageInfo_ObjInfo proto.InternalMessageInfo
func (m *ObjInfo) GetRcObj() *Rect {
   if m != nil {
      return m.RcObj
   }
   return nil
}
func (m *ObjInfo) GetTyp() int32 {
   if m != nil {
      return m.Typ
   }
   return 0
}
func (m *ObjInfo) GetProb() float32 {
   if m != nil {
      return m.Prob
   }
   return 0
}
// sdk face property
type ParamFacePos struct {
   Pos                  *FacePos `protobuf:"bytes,1,opt,name=pos,proto3" json:"pos,omitempty"`
   Img                  *Image   `protobuf:"bytes,2,opt,name=img,proto3" json:"img,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *ParamFacePos) Reset()         { *m = ParamFacePos{} }
func (m *ParamFacePos) String() string { return proto.CompactTextString(m) }
func (*ParamFacePos) ProtoMessage()    {}
func (*ParamFacePos) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{23}
}
func (m *ParamFacePos) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_ParamFacePos.Unmarshal(m, b)
}
func (m *ParamFacePos) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_ParamFacePos.Marshal(b, m, deterministic)
}
func (m *ParamFacePos) XXX_Merge(src proto.Message) {
   xxx_messageInfo_ParamFacePos.Merge(m, src)
}
func (m *ParamFacePos) XXX_Size() int {
   return xxx_messageInfo_ParamFacePos.Size(m)
}
func (m *ParamFacePos) XXX_DiscardUnknown() {
   xxx_messageInfo_ParamFacePos.DiscardUnknown(m)
}
var xxx_messageInfo_ParamFacePos proto.InternalMessageInfo
func (m *ParamFacePos) GetPos() *FacePos {
   if m != nil {
      return m.Pos
   }
   return nil
}
func (m *ParamFacePos) GetImg() *Image {
   if m != nil {
      return m.Img
   }
   return nil
}
// sdk face extract
type ParamFaceCompare struct {
   Feat1                []byte   `protobuf:"bytes,1,opt,name=feat1,proto3" json:"feat1,omitempty"`
   Feat2                []byte   `protobuf:"bytes,2,opt,name=feat2,proto3" json:"feat2,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *ParamFaceCompare) Reset()         { *m = ParamFaceCompare{} }
func (m *ParamFaceCompare) String() string { return proto.CompactTextString(m) }
func (*ParamFaceCompare) ProtoMessage()    {}
func (*ParamFaceCompare) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{24}
}
func (m *ParamFaceCompare) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_ParamFaceCompare.Unmarshal(m, b)
}
func (m *ParamFaceCompare) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_ParamFaceCompare.Marshal(b, m, deterministic)
}
func (m *ParamFaceCompare) XXX_Merge(src proto.Message) {
   xxx_messageInfo_ParamFaceCompare.Merge(m, src)
}
func (m *ParamFaceCompare) XXX_Size() int {
   return xxx_messageInfo_ParamFaceCompare.Size(m)
}
func (m *ParamFaceCompare) XXX_DiscardUnknown() {
   xxx_messageInfo_ParamFaceCompare.DiscardUnknown(m)
}
var xxx_messageInfo_ParamFaceCompare proto.InternalMessageInfo
func (m *ParamFaceCompare) GetFeat1() []byte {
   if m != nil {
      return m.Feat1
   }
   return nil
}
func (m *ParamFaceCompare) GetFeat2() []byte {
   if m != nil {
      return m.Feat2
   }
   return nil
}
// sdk face property
type ParamFaceProperty struct {
   Result               *ThftResult `protobuf:"bytes,1,opt,name=result,proto3" json:"result,omitempty"`
   Img                  *Image      `protobuf:"bytes,2,opt,name=img,proto3" json:"img,omitempty"`
   XXX_NoUnkeyedLiteral struct{}    `json:"-"`
   XXX_unrecognized     []byte      `json:"-"`
   XXX_sizecache        int32       `json:"-"`
}
func (m *ParamFaceProperty) Reset()         { *m = ParamFaceProperty{} }
func (m *ParamFaceProperty) String() string { return proto.CompactTextString(m) }
func (*ParamFaceProperty) ProtoMessage()    {}
func (*ParamFaceProperty) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{25}
}
func (m *ParamFaceProperty) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_ParamFaceProperty.Unmarshal(m, b)
}
func (m *ParamFaceProperty) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_ParamFaceProperty.Marshal(b, m, deterministic)
}
func (m *ParamFaceProperty) XXX_Merge(src proto.Message) {
   xxx_messageInfo_ParamFaceProperty.Merge(m, src)
}
func (m *ParamFaceProperty) XXX_Size() int {
   return xxx_messageInfo_ParamFaceProperty.Size(m)
}
func (m *ParamFaceProperty) XXX_DiscardUnknown() {
   xxx_messageInfo_ParamFaceProperty.DiscardUnknown(m)
}
var xxx_messageInfo_ParamFaceProperty proto.InternalMessageInfo
func (m *ParamFaceProperty) GetResult() *ThftResult {
   if m != nil {
      return m.Result
   }
   return nil
}
func (m *ParamFaceProperty) GetImg() *Image {
   if m != nil {
      return m.Img
   }
   return nil
}
// sdk yolo detect
type ParamYoloObj struct {
   Infos                []*ObjInfo `protobuf:"bytes,1,rep,name=infos,proto3" json:"infos,omitempty"`
   Img                  *Image     `protobuf:"bytes,2,opt,name=img,proto3" json:"img,omitempty"`
   XXX_NoUnkeyedLiteral struct{}   `json:"-"`
   XXX_unrecognized     []byte     `json:"-"`
   XXX_sizecache        int32      `json:"-"`
}
func (m *ParamYoloObj) Reset()         { *m = ParamYoloObj{} }
func (m *ParamYoloObj) String() string { return proto.CompactTextString(m) }
func (*ParamYoloObj) ProtoMessage()    {}
func (*ParamYoloObj) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{26}
}
func (m *ParamYoloObj) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_ParamYoloObj.Unmarshal(m, b)
}
func (m *ParamYoloObj) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_ParamYoloObj.Marshal(b, m, deterministic)
}
func (m *ParamYoloObj) XXX_Merge(src proto.Message) {
   xxx_messageInfo_ParamYoloObj.Merge(m, src)
}
func (m *ParamYoloObj) XXX_Size() int {
   return xxx_messageInfo_ParamYoloObj.Size(m)
}
func (m *ParamYoloObj) XXX_DiscardUnknown() {
   xxx_messageInfo_ParamYoloObj.DiscardUnknown(m)
}
var xxx_messageInfo_ParamYoloObj proto.InternalMessageInfo
func (m *ParamYoloObj) GetInfos() []*ObjInfo {
   if m != nil {
      return m.Infos
   }
   return nil
}
func (m *ParamYoloObj) GetImg() *Image {
   if m != nil {
      return m.Img
   }
   return nil
}
//publish db change message
// publish db change message
type DbChangeMessage struct {
   Table                TableChanged `protobuf:"varint,1,opt,name=table,proto3,enum=protomsg.TableChanged" json:"table,omitempty"`
   Id                   string       `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
@@ -2023,17 +1923,16 @@
func (m *DbChangeMessage) String() string { return proto.CompactTextString(m) }
func (*DbChangeMessage) ProtoMessage()    {}
func (*DbChangeMessage) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{27}
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{21}
}
func (m *DbChangeMessage) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_DbChangeMessage.Unmarshal(m, b)
}
func (m *DbChangeMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_DbChangeMessage.Marshal(b, m, deterministic)
}
func (m *DbChangeMessage) XXX_Merge(src proto.Message) {
   xxx_messageInfo_DbChangeMessage.Merge(m, src)
func (dst *DbChangeMessage) XXX_Merge(src proto.Message) {
   xxx_messageInfo_DbChangeMessage.Merge(dst, src)
}
func (m *DbChangeMessage) XXX_Size() int {
   return xxx_messageInfo_DbChangeMessage.Size(m)
@@ -2072,152 +1971,1725 @@
   return ""
}
type CameraPolygon struct {
   Id                   string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   CameraId             string   `protobuf:"bytes,2,opt,name=camera_id,json=cameraId,proto3" json:"camera_id,omitempty"`
   Name                 string   `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
   Polygon              string   `protobuf:"bytes,4,opt,name=polygon,proto3" json:"polygon,omitempty"`
   TriggerLine          string   `protobuf:"bytes,5,opt,name=trigger_line,json=triggerLine,proto3" json:"trigger_line,omitempty"`
   DirectionLine        string   `protobuf:"bytes,6,opt,name=direction_line,json=directionLine,proto3" json:"direction_line,omitempty"`
   Type                 string   `protobuf:"bytes,7,opt,name=type,proto3" json:"type,omitempty"`
   DefenceState         int32    `protobuf:"varint,8,opt,name=defence_state,json=defenceState,proto3" json:"defence_state,omitempty"`
   CameraName           string   `protobuf:"bytes,9,opt,name=camera_name,json=cameraName,proto3" json:"camera_name,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *CameraPolygon) Reset()         { *m = CameraPolygon{} }
func (m *CameraPolygon) String() string { return proto.CompactTextString(m) }
func (*CameraPolygon) ProtoMessage()    {}
func (*CameraPolygon) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{22}
}
func (m *CameraPolygon) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_CameraPolygon.Unmarshal(m, b)
}
func (m *CameraPolygon) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_CameraPolygon.Marshal(b, m, deterministic)
}
func (dst *CameraPolygon) XXX_Merge(src proto.Message) {
   xxx_messageInfo_CameraPolygon.Merge(dst, src)
}
func (m *CameraPolygon) XXX_Size() int {
   return xxx_messageInfo_CameraPolygon.Size(m)
}
func (m *CameraPolygon) XXX_DiscardUnknown() {
   xxx_messageInfo_CameraPolygon.DiscardUnknown(m)
}
var xxx_messageInfo_CameraPolygon proto.InternalMessageInfo
func (m *CameraPolygon) GetId() string {
   if m != nil {
      return m.Id
   }
   return ""
}
func (m *CameraPolygon) GetCameraId() string {
   if m != nil {
      return m.CameraId
   }
   return ""
}
func (m *CameraPolygon) GetName() string {
   if m != nil {
      return m.Name
   }
   return ""
}
func (m *CameraPolygon) GetPolygon() string {
   if m != nil {
      return m.Polygon
   }
   return ""
}
func (m *CameraPolygon) GetTriggerLine() string {
   if m != nil {
      return m.TriggerLine
   }
   return ""
}
func (m *CameraPolygon) GetDirectionLine() string {
   if m != nil {
      return m.DirectionLine
   }
   return ""
}
func (m *CameraPolygon) GetType() string {
   if m != nil {
      return m.Type
   }
   return ""
}
func (m *CameraPolygon) GetDefenceState() int32 {
   if m != nil {
      return m.DefenceState
   }
   return 0
}
func (m *CameraPolygon) GetCameraName() string {
   if m != nil {
      return m.CameraName
   }
   return ""
}
type CameraPolygonRelation struct {
   Id                   string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   SourceCameraId       string   `protobuf:"bytes,2,opt,name=source_camera_id,json=sourceCameraId,proto3" json:"source_camera_id,omitempty"`
   SourcePolygonId      string   `protobuf:"bytes,3,opt,name=source_polygon_id,json=sourcePolygonId,proto3" json:"source_polygon_id,omitempty"`
   TargetCameraId       string   `protobuf:"bytes,4,opt,name=target_camera_id,json=targetCameraId,proto3" json:"target_camera_id,omitempty"`
   TargetPolygonId      string   `protobuf:"bytes,5,opt,name=target_polygon_id,json=targetPolygonId,proto3" json:"target_polygon_id,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *CameraPolygonRelation) Reset()         { *m = CameraPolygonRelation{} }
func (m *CameraPolygonRelation) String() string { return proto.CompactTextString(m) }
func (*CameraPolygonRelation) ProtoMessage()    {}
func (*CameraPolygonRelation) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{23}
}
func (m *CameraPolygonRelation) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_CameraPolygonRelation.Unmarshal(m, b)
}
func (m *CameraPolygonRelation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_CameraPolygonRelation.Marshal(b, m, deterministic)
}
func (dst *CameraPolygonRelation) XXX_Merge(src proto.Message) {
   xxx_messageInfo_CameraPolygonRelation.Merge(dst, src)
}
func (m *CameraPolygonRelation) XXX_Size() int {
   return xxx_messageInfo_CameraPolygonRelation.Size(m)
}
func (m *CameraPolygonRelation) XXX_DiscardUnknown() {
   xxx_messageInfo_CameraPolygonRelation.DiscardUnknown(m)
}
var xxx_messageInfo_CameraPolygonRelation proto.InternalMessageInfo
func (m *CameraPolygonRelation) GetId() string {
   if m != nil {
      return m.Id
   }
   return ""
}
func (m *CameraPolygonRelation) GetSourceCameraId() string {
   if m != nil {
      return m.SourceCameraId
   }
   return ""
}
func (m *CameraPolygonRelation) GetSourcePolygonId() string {
   if m != nil {
      return m.SourcePolygonId
   }
   return ""
}
func (m *CameraPolygonRelation) GetTargetCameraId() string {
   if m != nil {
      return m.TargetCameraId
   }
   return ""
}
func (m *CameraPolygonRelation) GetTargetPolygonId() string {
   if m != nil {
      return m.TargetPolygonId
   }
   return ""
}
type VideotapeInfo struct {
   EsDataId             string   `protobuf:"bytes,1,opt,name=esDataId,proto3" json:"esDataId,omitempty"`
   CameraId             string   `protobuf:"bytes,2,opt,name=cameraId,proto3" json:"cameraId,omitempty"`
   TaskId               string   `protobuf:"bytes,3,opt,name=taskId,proto3" json:"taskId,omitempty"`
   ImgId                int64    `protobuf:"varint,4,opt,name=imgId,proto3" json:"imgId,omitempty"`
   VideoUrl             string   `protobuf:"bytes,5,opt,name=videoUrl,proto3" json:"videoUrl,omitempty"`
   SdkIds               []string `protobuf:"bytes,6,rep,name=sdkIds,proto3" json:"sdkIds,omitempty"`
   Type                 int32    `protobuf:"varint,7,opt,name=type,proto3" json:"type,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *VideotapeInfo) Reset()         { *m = VideotapeInfo{} }
func (m *VideotapeInfo) String() string { return proto.CompactTextString(m) }
func (*VideotapeInfo) ProtoMessage()    {}
func (*VideotapeInfo) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{24}
}
func (m *VideotapeInfo) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_VideotapeInfo.Unmarshal(m, b)
}
func (m *VideotapeInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_VideotapeInfo.Marshal(b, m, deterministic)
}
func (dst *VideotapeInfo) XXX_Merge(src proto.Message) {
   xxx_messageInfo_VideotapeInfo.Merge(dst, src)
}
func (m *VideotapeInfo) XXX_Size() int {
   return xxx_messageInfo_VideotapeInfo.Size(m)
}
func (m *VideotapeInfo) XXX_DiscardUnknown() {
   xxx_messageInfo_VideotapeInfo.DiscardUnknown(m)
}
var xxx_messageInfo_VideotapeInfo proto.InternalMessageInfo
func (m *VideotapeInfo) GetEsDataId() string {
   if m != nil {
      return m.EsDataId
   }
   return ""
}
func (m *VideotapeInfo) GetCameraId() string {
   if m != nil {
      return m.CameraId
   }
   return ""
}
func (m *VideotapeInfo) GetTaskId() string {
   if m != nil {
      return m.TaskId
   }
   return ""
}
func (m *VideotapeInfo) GetImgId() int64 {
   if m != nil {
      return m.ImgId
   }
   return 0
}
func (m *VideotapeInfo) GetVideoUrl() string {
   if m != nil {
      return m.VideoUrl
   }
   return ""
}
func (m *VideotapeInfo) GetSdkIds() []string {
   if m != nil {
      return m.SdkIds
   }
   return nil
}
func (m *VideotapeInfo) GetType() int32 {
   if m != nil {
      return m.Type
   }
   return 0
}
type Voice struct {
   Id                   string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   Name                 string   `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
   Path                 string   `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *Voice) Reset()         { *m = Voice{} }
func (m *Voice) String() string { return proto.CompactTextString(m) }
func (*Voice) ProtoMessage()    {}
func (*Voice) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{25}
}
func (m *Voice) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_Voice.Unmarshal(m, b)
}
func (m *Voice) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_Voice.Marshal(b, m, deterministic)
}
func (dst *Voice) XXX_Merge(src proto.Message) {
   xxx_messageInfo_Voice.Merge(dst, src)
}
func (m *Voice) XXX_Size() int {
   return xxx_messageInfo_Voice.Size(m)
}
func (m *Voice) XXX_DiscardUnknown() {
   xxx_messageInfo_Voice.DiscardUnknown(m)
}
var xxx_messageInfo_Voice proto.InternalMessageInfo
func (m *Voice) GetId() string {
   if m != nil {
      return m.Id
   }
   return ""
}
func (m *Voice) GetName() string {
   if m != nil {
      return m.Name
   }
   return ""
}
func (m *Voice) GetPath() string {
   if m != nil {
      return m.Path
   }
   return ""
}
type VoiceList struct {
   List                 []*Voice `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *VoiceList) Reset()         { *m = VoiceList{} }
func (m *VoiceList) String() string { return proto.CompactTextString(m) }
func (*VoiceList) ProtoMessage()    {}
func (*VoiceList) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{26}
}
func (m *VoiceList) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_VoiceList.Unmarshal(m, b)
}
func (m *VoiceList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_VoiceList.Marshal(b, m, deterministic)
}
func (dst *VoiceList) XXX_Merge(src proto.Message) {
   xxx_messageInfo_VoiceList.Merge(dst, src)
}
func (m *VoiceList) XXX_Size() int {
   return xxx_messageInfo_VoiceList.Size(m)
}
func (m *VoiceList) XXX_DiscardUnknown() {
   xxx_messageInfo_VoiceList.DiscardUnknown(m)
}
var xxx_messageInfo_VoiceList proto.InternalMessageInfo
func (m *VoiceList) GetList() []*Voice {
   if m != nil {
      return m.List
   }
   return nil
}
type CompareArgs struct {
   TableIds             []string `protobuf:"bytes,1,rep,name=tableIds,proto3" json:"tableIds,omitempty"`
   CompareThreshold     float32  `protobuf:"fixed32,2,opt,name=compareThreshold,proto3" json:"compareThreshold,omitempty"`
   FaceFeature          []byte   `protobuf:"bytes,3,opt,name=faceFeature,proto3" json:"faceFeature,omitempty"`
   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           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"`
   Source               bool     `protobuf:"varint,11,opt,name=source,proto3" json:"source,omitempty"`
   AnalyServerId        string   `protobuf:"bytes,12,opt,name=analyServerId,proto3" json:"analyServerId,omitempty"`
   CompareTarget        string   `protobuf:"bytes,13,opt,name=compareTarget,proto3" json:"compareTarget,omitempty"`
   IsCompareAll         bool     `protobuf:"varint,14,opt,name=isCompareAll,proto3" json:"isCompareAll,omitempty"`
   ServerIds            []string `protobuf:"bytes,15,rep,name=serverIds,proto3" json:"serverIds,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *CompareArgs) Reset()         { *m = CompareArgs{} }
func (m *CompareArgs) String() string { return proto.CompactTextString(m) }
func (*CompareArgs) ProtoMessage()    {}
func (*CompareArgs) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{27}
}
func (m *CompareArgs) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_CompareArgs.Unmarshal(m, b)
}
func (m *CompareArgs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_CompareArgs.Marshal(b, m, deterministic)
}
func (dst *CompareArgs) XXX_Merge(src proto.Message) {
   xxx_messageInfo_CompareArgs.Merge(dst, src)
}
func (m *CompareArgs) XXX_Size() int {
   return xxx_messageInfo_CompareArgs.Size(m)
}
func (m *CompareArgs) XXX_DiscardUnknown() {
   xxx_messageInfo_CompareArgs.DiscardUnknown(m)
}
var xxx_messageInfo_CompareArgs proto.InternalMessageInfo
func (m *CompareArgs) GetTableIds() []string {
   if m != nil {
      return m.TableIds
   }
   return nil
}
func (m *CompareArgs) GetCompareThreshold() float32 {
   if m != nil {
      return m.CompareThreshold
   }
   return 0
}
func (m *CompareArgs) GetFaceFeature() []byte {
   if m != nil {
      return m.FaceFeature
   }
   return nil
}
func (m *CompareArgs) GetTasks() []string {
   if m != nil {
      return m.Tasks
   }
   return nil
}
func (m *CompareArgs) GetTreeNodes() []string {
   if m != nil {
      return m.TreeNodes
   }
   return nil
}
func (m *CompareArgs) GetTabs() []string {
   if m != nil {
      return m.Tabs
   }
   return nil
}
func (m *CompareArgs) GetAlarmLevel() string {
   if m != nil {
      return m.AlarmLevel
   }
   return ""
}
func (m *CompareArgs) GetSearchTime() []string {
   if m != nil {
      return m.SearchTime
   }
   return nil
}
func (m *CompareArgs) GetInputValue() string {
   if m != nil {
      return m.InputValue
   }
   return ""
}
func (m *CompareArgs) GetCollection() string {
   if m != nil {
      return m.Collection
   }
   return ""
}
func (m *CompareArgs) GetSource() bool {
   if m != nil {
      return m.Source
   }
   return false
}
func (m *CompareArgs) GetAnalyServerId() string {
   if m != nil {
      return m.AnalyServerId
   }
   return ""
}
func (m *CompareArgs) GetCompareTarget() string {
   if m != nil {
      return m.CompareTarget
   }
   return ""
}
func (m *CompareArgs) GetIsCompareAll() bool {
   if m != nil {
      return m.IsCompareAll
   }
   return false
}
func (m *CompareArgs) GetServerIds() []string {
   if m != nil {
      return m.ServerIds
   }
   return nil
}
type CompareEvent struct {
   EventType            CompareEventType `protobuf:"varint,1,opt,name=eventType,proto3,enum=protomsg.CompareEventType" json:"eventType,omitempty"`
   Payload              []byte           `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
   XXX_NoUnkeyedLiteral struct{}         `json:"-"`
   XXX_unrecognized     []byte           `json:"-"`
   XXX_sizecache        int32            `json:"-"`
}
func (m *CompareEvent) Reset()         { *m = CompareEvent{} }
func (m *CompareEvent) String() string { return proto.CompactTextString(m) }
func (*CompareEvent) ProtoMessage()    {}
func (*CompareEvent) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{28}
}
func (m *CompareEvent) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_CompareEvent.Unmarshal(m, b)
}
func (m *CompareEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_CompareEvent.Marshal(b, m, deterministic)
}
func (dst *CompareEvent) XXX_Merge(src proto.Message) {
   xxx_messageInfo_CompareEvent.Merge(dst, src)
}
func (m *CompareEvent) XXX_Size() int {
   return xxx_messageInfo_CompareEvent.Size(m)
}
func (m *CompareEvent) XXX_DiscardUnknown() {
   xxx_messageInfo_CompareEvent.DiscardUnknown(m)
}
var xxx_messageInfo_CompareEvent proto.InternalMessageInfo
func (m *CompareEvent) GetEventType() CompareEventType {
   if m != nil {
      return m.EventType
   }
   return CompareEventType_ReInitCache
}
func (m *CompareEvent) GetPayload() []byte {
   if m != nil {
      return m.Payload
   }
   return nil
}
type SdkCompareEach struct {
   Id                   string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   Tableid              string   `protobuf:"bytes,2,opt,name=tableid,proto3" json:"tableid,omitempty"`
   CompareScore         float32  `protobuf:"fixed32,3,opt,name=compareScore,proto3" json:"compareScore,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *SdkCompareEach) Reset()         { *m = SdkCompareEach{} }
func (m *SdkCompareEach) String() string { return proto.CompactTextString(m) }
func (*SdkCompareEach) ProtoMessage()    {}
func (*SdkCompareEach) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{29}
}
func (m *SdkCompareEach) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_SdkCompareEach.Unmarshal(m, b)
}
func (m *SdkCompareEach) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_SdkCompareEach.Marshal(b, m, deterministic)
}
func (dst *SdkCompareEach) XXX_Merge(src proto.Message) {
   xxx_messageInfo_SdkCompareEach.Merge(dst, src)
}
func (m *SdkCompareEach) XXX_Size() int {
   return xxx_messageInfo_SdkCompareEach.Size(m)
}
func (m *SdkCompareEach) XXX_DiscardUnknown() {
   xxx_messageInfo_SdkCompareEach.DiscardUnknown(m)
}
var xxx_messageInfo_SdkCompareEach proto.InternalMessageInfo
func (m *SdkCompareEach) GetId() string {
   if m != nil {
      return m.Id
   }
   return ""
}
func (m *SdkCompareEach) GetTableid() string {
   if m != nil {
      return m.Tableid
   }
   return ""
}
func (m *SdkCompareEach) GetCompareScore() float32 {
   if m != nil {
      return m.CompareScore
   }
   return 0
}
type SdkCompareResult struct {
   CompareResult        []*SdkCompareEach `protobuf:"bytes,1,rep,name=compareResult,proto3" json:"compareResult,omitempty"`
   XXX_NoUnkeyedLiteral struct{}          `json:"-"`
   XXX_unrecognized     []byte            `json:"-"`
   XXX_sizecache        int32             `json:"-"`
}
func (m *SdkCompareResult) Reset()         { *m = SdkCompareResult{} }
func (m *SdkCompareResult) String() string { return proto.CompactTextString(m) }
func (*SdkCompareResult) ProtoMessage()    {}
func (*SdkCompareResult) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{30}
}
func (m *SdkCompareResult) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_SdkCompareResult.Unmarshal(m, b)
}
func (m *SdkCompareResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_SdkCompareResult.Marshal(b, m, deterministic)
}
func (dst *SdkCompareResult) XXX_Merge(src proto.Message) {
   xxx_messageInfo_SdkCompareResult.Merge(dst, src)
}
func (m *SdkCompareResult) XXX_Size() int {
   return xxx_messageInfo_SdkCompareResult.Size(m)
}
func (m *SdkCompareResult) XXX_DiscardUnknown() {
   xxx_messageInfo_SdkCompareResult.DiscardUnknown(m)
}
var xxx_messageInfo_SdkCompareResult proto.InternalMessageInfo
func (m *SdkCompareResult) GetCompareResult() []*SdkCompareEach {
   if m != nil {
      return m.CompareResult
   }
   return nil
}
type EventPush struct {
   Id                   string            `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   Name                 string            `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
   TimeStart            string            `protobuf:"bytes,3,opt,name=time_start,json=timeStart,proto3" json:"time_start,omitempty"`
   TimeEnd              string            `protobuf:"bytes,4,opt,name=time_end,json=timeEnd,proto3" json:"time_end,omitempty"`
   IsSatisfyAll         bool              `protobuf:"varint,5,opt,name=is_satisfy_all,json=isSatisfyAll,proto3" json:"is_satisfy_all,omitempty"`
   RuleText             string            `protobuf:"bytes,6,opt,name=rule_text,json=ruleText,proto3" json:"rule_text,omitempty"`
   Enable               bool              `protobuf:"varint,7,opt,name=enable,proto3" json:"enable,omitempty"`
   LinkType             string            `protobuf:"bytes,8,opt,name=link_type,json=linkType,proto3" json:"link_type,omitempty"`
   LinkDevice           string            `protobuf:"bytes,9,opt,name=link_device,json=linkDevice,proto3" json:"link_device,omitempty"`
   IpPorts              []*PushIpPort     `protobuf:"bytes,10,rep,name=ip_ports,json=ipPorts,proto3" json:"ip_ports,omitempty"`
   Urls                 []*PushUrl        `protobuf:"bytes,11,rep,name=urls,proto3" json:"urls,omitempty"`
   Rules                []*EventPushRule  `protobuf:"bytes,12,rep,name=rules,proto3" json:"rules,omitempty"`
   FiltRename           map[string]string `protobuf:"bytes,13,rep,name=filtRename,proto3" json:"filtRename,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   PushSet              []*PushSetMenu    `protobuf:"bytes,14,rep,name=push_set,json=pushSet,proto3" json:"push_set,omitempty"`
   XXX_NoUnkeyedLiteral struct{}          `json:"-"`
   XXX_unrecognized     []byte            `json:"-"`
   XXX_sizecache        int32             `json:"-"`
}
func (m *EventPush) Reset()         { *m = EventPush{} }
func (m *EventPush) String() string { return proto.CompactTextString(m) }
func (*EventPush) ProtoMessage()    {}
func (*EventPush) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{31}
}
func (m *EventPush) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_EventPush.Unmarshal(m, b)
}
func (m *EventPush) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_EventPush.Marshal(b, m, deterministic)
}
func (dst *EventPush) XXX_Merge(src proto.Message) {
   xxx_messageInfo_EventPush.Merge(dst, src)
}
func (m *EventPush) XXX_Size() int {
   return xxx_messageInfo_EventPush.Size(m)
}
func (m *EventPush) XXX_DiscardUnknown() {
   xxx_messageInfo_EventPush.DiscardUnknown(m)
}
var xxx_messageInfo_EventPush proto.InternalMessageInfo
func (m *EventPush) GetId() string {
   if m != nil {
      return m.Id
   }
   return ""
}
func (m *EventPush) GetName() string {
   if m != nil {
      return m.Name
   }
   return ""
}
func (m *EventPush) GetTimeStart() string {
   if m != nil {
      return m.TimeStart
   }
   return ""
}
func (m *EventPush) GetTimeEnd() string {
   if m != nil {
      return m.TimeEnd
   }
   return ""
}
func (m *EventPush) GetIsSatisfyAll() bool {
   if m != nil {
      return m.IsSatisfyAll
   }
   return false
}
func (m *EventPush) GetRuleText() string {
   if m != nil {
      return m.RuleText
   }
   return ""
}
func (m *EventPush) GetEnable() bool {
   if m != nil {
      return m.Enable
   }
   return false
}
func (m *EventPush) GetLinkType() string {
   if m != nil {
      return m.LinkType
   }
   return ""
}
func (m *EventPush) GetLinkDevice() string {
   if m != nil {
      return m.LinkDevice
   }
   return ""
}
func (m *EventPush) GetIpPorts() []*PushIpPort {
   if m != nil {
      return m.IpPorts
   }
   return nil
}
func (m *EventPush) GetUrls() []*PushUrl {
   if m != nil {
      return m.Urls
   }
   return nil
}
func (m *EventPush) GetRules() []*EventPushRule {
   if m != nil {
      return m.Rules
   }
   return nil
}
func (m *EventPush) GetFiltRename() map[string]string {
   if m != nil {
      return m.FiltRename
   }
   return nil
}
func (m *EventPush) GetPushSet() []*PushSetMenu {
   if m != nil {
      return m.PushSet
   }
   return nil
}
type PushSetMenu struct {
   Id                   string         `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   Name                 string         `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
   Checked              bool           `protobuf:"varint,3,opt,name=checked,proto3" json:"checked,omitempty"`
   Alias                string         `protobuf:"bytes,4,opt,name=alias,proto3" json:"alias,omitempty"`
   Children             []*PushSetMenu `protobuf:"bytes,5,rep,name=children,proto3" json:"children,omitempty"`
   XXX_NoUnkeyedLiteral struct{}       `json:"-"`
   XXX_unrecognized     []byte         `json:"-"`
   XXX_sizecache        int32          `json:"-"`
}
func (m *PushSetMenu) Reset()         { *m = PushSetMenu{} }
func (m *PushSetMenu) String() string { return proto.CompactTextString(m) }
func (*PushSetMenu) ProtoMessage()    {}
func (*PushSetMenu) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{32}
}
func (m *PushSetMenu) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_PushSetMenu.Unmarshal(m, b)
}
func (m *PushSetMenu) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_PushSetMenu.Marshal(b, m, deterministic)
}
func (dst *PushSetMenu) XXX_Merge(src proto.Message) {
   xxx_messageInfo_PushSetMenu.Merge(dst, src)
}
func (m *PushSetMenu) XXX_Size() int {
   return xxx_messageInfo_PushSetMenu.Size(m)
}
func (m *PushSetMenu) XXX_DiscardUnknown() {
   xxx_messageInfo_PushSetMenu.DiscardUnknown(m)
}
var xxx_messageInfo_PushSetMenu proto.InternalMessageInfo
func (m *PushSetMenu) GetId() string {
   if m != nil {
      return m.Id
   }
   return ""
}
func (m *PushSetMenu) GetName() string {
   if m != nil {
      return m.Name
   }
   return ""
}
func (m *PushSetMenu) GetChecked() bool {
   if m != nil {
      return m.Checked
   }
   return false
}
func (m *PushSetMenu) GetAlias() string {
   if m != nil {
      return m.Alias
   }
   return ""
}
func (m *PushSetMenu) GetChildren() []*PushSetMenu {
   if m != nil {
      return m.Children
   }
   return nil
}
type EventPushRule struct {
   Id                   string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   TopicType            string   `protobuf:"bytes,2,opt,name=topic_type,json=topicType,proto3" json:"topic_type,omitempty"`
   TopicArg             string   `protobuf:"bytes,3,opt,name=topic_arg,json=topicArg,proto3" json:"topic_arg,omitempty"`
   Operator             string   `protobuf:"bytes,4,opt,name=operator,proto3" json:"operator,omitempty"`
   OperatorType         string   `protobuf:"bytes,5,opt,name=operator_type,json=operatorType,proto3" json:"operator_type,omitempty"`
   RuleValue            string   `protobuf:"bytes,6,opt,name=rule_value,json=ruleValue,proto3" json:"rule_value,omitempty"`
   EventPushId          string   `protobuf:"bytes,7,opt,name=event_push_id,json=eventPushId,proto3" json:"event_push_id,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *EventPushRule) Reset()         { *m = EventPushRule{} }
func (m *EventPushRule) String() string { return proto.CompactTextString(m) }
func (*EventPushRule) ProtoMessage()    {}
func (*EventPushRule) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{33}
}
func (m *EventPushRule) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_EventPushRule.Unmarshal(m, b)
}
func (m *EventPushRule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_EventPushRule.Marshal(b, m, deterministic)
}
func (dst *EventPushRule) XXX_Merge(src proto.Message) {
   xxx_messageInfo_EventPushRule.Merge(dst, src)
}
func (m *EventPushRule) XXX_Size() int {
   return xxx_messageInfo_EventPushRule.Size(m)
}
func (m *EventPushRule) XXX_DiscardUnknown() {
   xxx_messageInfo_EventPushRule.DiscardUnknown(m)
}
var xxx_messageInfo_EventPushRule proto.InternalMessageInfo
func (m *EventPushRule) GetId() string {
   if m != nil {
      return m.Id
   }
   return ""
}
func (m *EventPushRule) GetTopicType() string {
   if m != nil {
      return m.TopicType
   }
   return ""
}
func (m *EventPushRule) GetTopicArg() string {
   if m != nil {
      return m.TopicArg
   }
   return ""
}
func (m *EventPushRule) GetOperator() string {
   if m != nil {
      return m.Operator
   }
   return ""
}
func (m *EventPushRule) GetOperatorType() string {
   if m != nil {
      return m.OperatorType
   }
   return ""
}
func (m *EventPushRule) GetRuleValue() string {
   if m != nil {
      return m.RuleValue
   }
   return ""
}
func (m *EventPushRule) GetEventPushId() string {
   if m != nil {
      return m.EventPushId
   }
   return ""
}
type PushIpPort struct {
   ServerIp             string   `protobuf:"bytes,1,opt,name=server_ip,json=serverIp,proto3" json:"server_ip,omitempty"`
   Port                 int32    `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"`
   Enable               bool     `protobuf:"varint,3,opt,name=enable,proto3" json:"enable,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *PushIpPort) Reset()         { *m = PushIpPort{} }
func (m *PushIpPort) String() string { return proto.CompactTextString(m) }
func (*PushIpPort) ProtoMessage()    {}
func (*PushIpPort) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{34}
}
func (m *PushIpPort) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_PushIpPort.Unmarshal(m, b)
}
func (m *PushIpPort) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_PushIpPort.Marshal(b, m, deterministic)
}
func (dst *PushIpPort) XXX_Merge(src proto.Message) {
   xxx_messageInfo_PushIpPort.Merge(dst, src)
}
func (m *PushIpPort) XXX_Size() int {
   return xxx_messageInfo_PushIpPort.Size(m)
}
func (m *PushIpPort) XXX_DiscardUnknown() {
   xxx_messageInfo_PushIpPort.DiscardUnknown(m)
}
var xxx_messageInfo_PushIpPort proto.InternalMessageInfo
func (m *PushIpPort) GetServerIp() string {
   if m != nil {
      return m.ServerIp
   }
   return ""
}
func (m *PushIpPort) GetPort() int32 {
   if m != nil {
      return m.Port
   }
   return 0
}
func (m *PushIpPort) GetEnable() bool {
   if m != nil {
      return m.Enable
   }
   return false
}
type PushUrl struct {
   Url                  string   `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
   Enable               bool     `protobuf:"varint,2,opt,name=enable,proto3" json:"enable,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *PushUrl) Reset()         { *m = PushUrl{} }
func (m *PushUrl) String() string { return proto.CompactTextString(m) }
func (*PushUrl) ProtoMessage()    {}
func (*PushUrl) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{35}
}
func (m *PushUrl) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_PushUrl.Unmarshal(m, b)
}
func (m *PushUrl) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_PushUrl.Marshal(b, m, deterministic)
}
func (dst *PushUrl) XXX_Merge(src proto.Message) {
   xxx_messageInfo_PushUrl.Merge(dst, src)
}
func (m *PushUrl) XXX_Size() int {
   return xxx_messageInfo_PushUrl.Size(m)
}
func (m *PushUrl) XXX_DiscardUnknown() {
   xxx_messageInfo_PushUrl.DiscardUnknown(m)
}
var xxx_messageInfo_PushUrl proto.InternalMessageInfo
func (m *PushUrl) GetUrl() string {
   if m != nil {
      return m.Url
   }
   return ""
}
func (m *PushUrl) GetEnable() bool {
   if m != nil {
      return m.Enable
   }
   return false
}
type PushAttach struct {
   PushId               string   `protobuf:"bytes,1,opt,name=push_id,json=pushId,proto3" json:"push_id,omitempty"`
   Cam                  *Camera  `protobuf:"bytes,2,opt,name=cam,proto3" json:"cam,omitempty"`
   ServerId             string   `protobuf:"bytes,3,opt,name=server_id,json=serverId,proto3" json:"server_id,omitempty"`
   ServerName           string   `protobuf:"bytes,4,opt,name=server_name,json=serverName,proto3" json:"server_name,omitempty"`
   LocalIp              string   `protobuf:"bytes,5,opt,name=local_ip,json=localIp,proto3" json:"local_ip,omitempty"`
   VideoUrl             string   `protobuf:"bytes,6,opt,name=video_url,json=videoUrl,proto3" json:"video_url,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *PushAttach) Reset()         { *m = PushAttach{} }
func (m *PushAttach) String() string { return proto.CompactTextString(m) }
func (*PushAttach) ProtoMessage()    {}
func (*PushAttach) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{36}
}
func (m *PushAttach) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_PushAttach.Unmarshal(m, b)
}
func (m *PushAttach) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_PushAttach.Marshal(b, m, deterministic)
}
func (dst *PushAttach) XXX_Merge(src proto.Message) {
   xxx_messageInfo_PushAttach.Merge(dst, src)
}
func (m *PushAttach) XXX_Size() int {
   return xxx_messageInfo_PushAttach.Size(m)
}
func (m *PushAttach) XXX_DiscardUnknown() {
   xxx_messageInfo_PushAttach.DiscardUnknown(m)
}
var xxx_messageInfo_PushAttach proto.InternalMessageInfo
func (m *PushAttach) GetPushId() string {
   if m != nil {
      return m.PushId
   }
   return ""
}
func (m *PushAttach) GetCam() *Camera {
   if m != nil {
      return m.Cam
   }
   return nil
}
func (m *PushAttach) GetServerId() string {
   if m != nil {
      return m.ServerId
   }
   return ""
}
func (m *PushAttach) GetServerName() string {
   if m != nil {
      return m.ServerName
   }
   return ""
}
func (m *PushAttach) GetLocalIp() string {
   if m != nil {
      return m.LocalIp
   }
   return ""
}
func (m *PushAttach) GetVideoUrl() string {
   if m != nil {
      return m.VideoUrl
   }
   return ""
}
type EsPersonCacheChange struct {
   Type                 EsCacheChanged `protobuf:"varint,1,opt,name=type,proto3,enum=protomsg.EsCacheChanged" json:"type,omitempty"`
   TableId              []string       `protobuf:"bytes,2,rep,name=table_id,json=tableId,proto3" json:"table_id,omitempty"`
   PersonId             string         `protobuf:"bytes,3,opt,name=person_id,json=personId,proto3" json:"person_id,omitempty"`
   Feature              string         `protobuf:"bytes,4,opt,name=feature,proto3" json:"feature,omitempty"`
   Action               DbAction       `protobuf:"varint,5,opt,name=action,proto3,enum=protomsg.DbAction" json:"action,omitempty"`
   Enable               int32          `protobuf:"varint,6,opt,name=enable,proto3" json:"enable,omitempty"`
   CarNo                string         `protobuf:"bytes,7,opt,name=carNo,proto3" json:"carNo,omitempty"`
   XXX_NoUnkeyedLiteral struct{}       `json:"-"`
   XXX_unrecognized     []byte         `json:"-"`
   XXX_sizecache        int32          `json:"-"`
}
func (m *EsPersonCacheChange) Reset()         { *m = EsPersonCacheChange{} }
func (m *EsPersonCacheChange) String() string { return proto.CompactTextString(m) }
func (*EsPersonCacheChange) ProtoMessage()    {}
func (*EsPersonCacheChange) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{37}
}
func (m *EsPersonCacheChange) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_EsPersonCacheChange.Unmarshal(m, b)
}
func (m *EsPersonCacheChange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_EsPersonCacheChange.Marshal(b, m, deterministic)
}
func (dst *EsPersonCacheChange) XXX_Merge(src proto.Message) {
   xxx_messageInfo_EsPersonCacheChange.Merge(dst, src)
}
func (m *EsPersonCacheChange) XXX_Size() int {
   return xxx_messageInfo_EsPersonCacheChange.Size(m)
}
func (m *EsPersonCacheChange) XXX_DiscardUnknown() {
   xxx_messageInfo_EsPersonCacheChange.DiscardUnknown(m)
}
var xxx_messageInfo_EsPersonCacheChange proto.InternalMessageInfo
func (m *EsPersonCacheChange) GetType() EsCacheChanged {
   if m != nil {
      return m.Type
   }
   return EsCacheChanged_T_DbTable
}
func (m *EsPersonCacheChange) GetTableId() []string {
   if m != nil {
      return m.TableId
   }
   return nil
}
func (m *EsPersonCacheChange) GetPersonId() string {
   if m != nil {
      return m.PersonId
   }
   return ""
}
func (m *EsPersonCacheChange) GetFeature() string {
   if m != nil {
      return m.Feature
   }
   return ""
}
func (m *EsPersonCacheChange) GetAction() DbAction {
   if m != nil {
      return m.Action
   }
   return DbAction_Insert
}
func (m *EsPersonCacheChange) GetEnable() int32 {
   if m != nil {
      return m.Enable
   }
   return 0
}
func (m *EsPersonCacheChange) GetCarNo() string {
   if m != nil {
      return m.CarNo
   }
   return ""
}
type ClusterAndNodes struct {
   ClusterId            string   `protobuf:"bytes,1,opt,name=clusterId,proto3" json:"clusterId,omitempty"`
   ClusterName          string   `protobuf:"bytes,2,opt,name=clusterName,proto3" json:"clusterName,omitempty"`
   Nodes                []*Node  `protobuf:"bytes,3,rep,name=nodes,proto3" json:"nodes,omitempty"`
   VirtualIp            string   `protobuf:"bytes,4,opt,name=virtualIp,proto3" json:"virtualIp,omitempty"`
   Password             string   `protobuf:"bytes,5,opt,name=password,proto3" json:"password,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *ClusterAndNodes) Reset()         { *m = ClusterAndNodes{} }
func (m *ClusterAndNodes) String() string { return proto.CompactTextString(m) }
func (*ClusterAndNodes) ProtoMessage()    {}
func (*ClusterAndNodes) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{38}
}
func (m *ClusterAndNodes) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_ClusterAndNodes.Unmarshal(m, b)
}
func (m *ClusterAndNodes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_ClusterAndNodes.Marshal(b, m, deterministic)
}
func (dst *ClusterAndNodes) XXX_Merge(src proto.Message) {
   xxx_messageInfo_ClusterAndNodes.Merge(dst, src)
}
func (m *ClusterAndNodes) XXX_Size() int {
   return xxx_messageInfo_ClusterAndNodes.Size(m)
}
func (m *ClusterAndNodes) XXX_DiscardUnknown() {
   xxx_messageInfo_ClusterAndNodes.DiscardUnknown(m)
}
var xxx_messageInfo_ClusterAndNodes proto.InternalMessageInfo
func (m *ClusterAndNodes) GetClusterId() string {
   if m != nil {
      return m.ClusterId
   }
   return ""
}
func (m *ClusterAndNodes) GetClusterName() string {
   if m != nil {
      return m.ClusterName
   }
   return ""
}
func (m *ClusterAndNodes) GetNodes() []*Node {
   if m != nil {
      return m.Nodes
   }
   return nil
}
func (m *ClusterAndNodes) GetVirtualIp() string {
   if m != nil {
      return m.VirtualIp
   }
   return ""
}
func (m *ClusterAndNodes) GetPassword() string {
   if m != nil {
      return m.Password
   }
   return ""
}
type Node struct {
   Id                   string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   ClusterId            string   `protobuf:"bytes,2,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
   NodeName             string   `protobuf:"bytes,3,opt,name=node_name,json=nodeName,proto3" json:"node_name,omitempty"`
   NodeId               string   `protobuf:"bytes,4,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"`
   NodeIp               string   `protobuf:"bytes,5,opt,name=node_ip,json=nodeIp,proto3" json:"node_ip,omitempty"`
   CreateTime           string   `protobuf:"bytes,6,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
   IsDelete             bool     `protobuf:"varint,7,opt,name=isDelete,proto3" json:"isDelete,omitempty"`
   DriftState           string   `protobuf:"bytes,8,opt,name=drift_state,json=driftState,proto3" json:"drift_state,omitempty"`
   DeviceType           string   `protobuf:"bytes,9,opt,name=device_type,json=deviceType,proto3" json:"device_type,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *Node) Reset()         { *m = Node{} }
func (m *Node) String() string { return proto.CompactTextString(m) }
func (*Node) ProtoMessage()    {}
func (*Node) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{39}
}
func (m *Node) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_Node.Unmarshal(m, b)
}
func (m *Node) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_Node.Marshal(b, m, deterministic)
}
func (dst *Node) XXX_Merge(src proto.Message) {
   xxx_messageInfo_Node.Merge(dst, src)
}
func (m *Node) XXX_Size() int {
   return xxx_messageInfo_Node.Size(m)
}
func (m *Node) XXX_DiscardUnknown() {
   xxx_messageInfo_Node.DiscardUnknown(m)
}
var xxx_messageInfo_Node proto.InternalMessageInfo
func (m *Node) GetId() string {
   if m != nil {
      return m.Id
   }
   return ""
}
func (m *Node) GetClusterId() string {
   if m != nil {
      return m.ClusterId
   }
   return ""
}
func (m *Node) GetNodeName() string {
   if m != nil {
      return m.NodeName
   }
   return ""
}
func (m *Node) GetNodeId() string {
   if m != nil {
      return m.NodeId
   }
   return ""
}
func (m *Node) GetNodeIp() string {
   if m != nil {
      return m.NodeIp
   }
   return ""
}
func (m *Node) GetCreateTime() string {
   if m != nil {
      return m.CreateTime
   }
   return ""
}
func (m *Node) GetIsDelete() bool {
   if m != nil {
      return m.IsDelete
   }
   return false
}
func (m *Node) GetDriftState() string {
   if m != nil {
      return m.DriftState
   }
   return ""
}
func (m *Node) GetDeviceType() string {
   if m != nil {
      return m.DeviceType
   }
   return ""
}
type Dic struct {
   Id                   string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   Value                string   `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
   Name                 string   `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
   Type                 string   `protobuf:"bytes,4,opt,name=type,proto3" json:"type,omitempty"`
   Description          string   `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"`
   Sort                 int32    `protobuf:"varint,6,opt,name=sort,proto3" json:"sort,omitempty"`
   ParentId             string   `protobuf:"bytes,7,opt,name=parent_id,json=parentId,proto3" json:"parent_id,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *Dic) Reset()         { *m = Dic{} }
func (m *Dic) String() string { return proto.CompactTextString(m) }
func (*Dic) ProtoMessage()    {}
func (*Dic) Descriptor() ([]byte, []int) {
   return fileDescriptor_protomsg_ab9bd340535ac30f, []int{40}
}
func (m *Dic) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_Dic.Unmarshal(m, b)
}
func (m *Dic) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_Dic.Marshal(b, m, deterministic)
}
func (dst *Dic) XXX_Merge(src proto.Message) {
   xxx_messageInfo_Dic.Merge(dst, src)
}
func (m *Dic) XXX_Size() int {
   return xxx_messageInfo_Dic.Size(m)
}
func (m *Dic) XXX_DiscardUnknown() {
   xxx_messageInfo_Dic.DiscardUnknown(m)
}
var xxx_messageInfo_Dic proto.InternalMessageInfo
func (m *Dic) GetId() string {
   if m != nil {
      return m.Id
   }
   return ""
}
func (m *Dic) GetValue() string {
   if m != nil {
      return m.Value
   }
   return ""
}
func (m *Dic) GetName() string {
   if m != nil {
      return m.Name
   }
   return ""
}
func (m *Dic) GetType() string {
   if m != nil {
      return m.Type
   }
   return ""
}
func (m *Dic) GetDescription() string {
   if m != nil {
      return m.Description
   }
   return ""
}
func (m *Dic) GetSort() int32 {
   if m != nil {
      return m.Sort
   }
   return 0
}
func (m *Dic) GetParentId() string {
   if m != nil {
      return m.ParentId
   }
   return ""
}
func init() {
   proto.RegisterEnum("protomsg.TableChanged", TableChanged_name, TableChanged_value)
   proto.RegisterEnum("protomsg.DbAction", DbAction_name, DbAction_value)
   proto.RegisterType((*TaskLabel)(nil), "protomsg.TaskLabel")
   proto.RegisterType((*SdkMessage)(nil), "protomsg.SdkMessage")
   proto.RegisterType((*Image)(nil), "protomsg.Image")
   proto.RegisterType((*Area)(nil), "protomsg.Area")
   proto.RegisterType((*Camera)(nil), "protomsg.Camera")
   proto.RegisterType((*CameraAndTaskInfo)(nil), "protomsg.CameraAndTaskInfo")
   proto.RegisterType((*Task)(nil), "protomsg.Task")
   proto.RegisterType((*TaskSdkInfo)(nil), "protomsg.TaskSdkInfo")
   proto.RegisterType((*CameraTask)(nil), "protomsg.CameraTask")
   proto.RegisterType((*Sensor)(nil), "protomsg.Sensor")
   proto.RegisterType((*CameraLink)(nil), "protomsg.CameraLink")
   proto.RegisterType((*SdkRun)(nil), "protomsg.SdkRun")
   proto.RegisterType((*CameraTimerule)(nil), "protomsg.CameraTimerule")
   proto.RegisterType((*DayCtl)(nil), "protomsg.DayCtl")
   proto.RegisterType((*TimeRange)(nil), "protomsg.TimeRange")
   proto.RegisterType((*Polygon)(nil), "protomsg.Polygon")
   proto.RegisterType((*CameraTaskArgs)(nil), "protomsg.CameraTaskArgs")
   proto.RegisterType((*CameraInfo)(nil), "protomsg.CameraInfo")
   proto.RegisterType((*CameraAndRules)(nil), "protomsg.CameraAndRules")
   proto.RegisterType((*GroupRule)(nil), "protomsg.GroupRule")
   proto.RegisterType((*GroupRuleSdks)(nil), "protomsg.GroupRuleSdks")
   proto.RegisterType((*Rule)(nil), "protomsg.Rule")
   proto.RegisterType((*RuleTemplate)(nil), "protomsg.RuleTemplate")
   proto.RegisterType((*RuleTemplateList)(nil), "protomsg.RuleTemplateList")
   proto.RegisterType((*TemplateArg)(nil), "protomsg.TemplateArg")
   proto.RegisterType((*SdkSetBase)(nil), "protomsg.SdkSetBase")
   proto.RegisterType((*Sdk)(nil), "protomsg.Sdk")
   proto.RegisterType((*SdkArg)(nil), "protomsg.SdkArg")
   proto.RegisterType((*Point)(nil), "protomsg.Point")
   proto.RegisterType((*Rect)(nil), "protomsg.Rect")
   proto.RegisterType((*FaceAngle)(nil), "protomsg.FaceAngle")
   proto.RegisterType((*ThftResult)(nil), "protomsg.ThftResult")
   proto.RegisterType((*FacePos)(nil), "protomsg.FacePos")
   proto.RegisterType((*FaceInfo)(nil), "protomsg.FaceInfo")
   proto.RegisterType((*ObjInfo)(nil), "protomsg.ObjInfo")
   proto.RegisterType((*ParamFacePos)(nil), "protomsg.ParamFacePos")
   proto.RegisterType((*ParamFaceCompare)(nil), "protomsg.ParamFaceCompare")
   proto.RegisterType((*ParamFaceProperty)(nil), "protomsg.ParamFaceProperty")
   proto.RegisterType((*ParamYoloObj)(nil), "protomsg.ParamYoloObj")
   proto.RegisterType((*SdkChanSet)(nil), "protomsg.SdkChanSet")
   proto.RegisterType((*DbChangeMessage)(nil), "protomsg.DbChangeMessage")
   proto.RegisterType((*CameraPolygon)(nil), "protomsg.CameraPolygon")
   proto.RegisterType((*CameraPolygonRelation)(nil), "protomsg.CameraPolygonRelation")
   proto.RegisterType((*VideotapeInfo)(nil), "protomsg.VideotapeInfo")
   proto.RegisterType((*Voice)(nil), "protomsg.Voice")
   proto.RegisterType((*VoiceList)(nil), "protomsg.VoiceList")
   proto.RegisterType((*CompareArgs)(nil), "protomsg.CompareArgs")
   proto.RegisterType((*CompareEvent)(nil), "protomsg.CompareEvent")
   proto.RegisterType((*SdkCompareEach)(nil), "protomsg.SdkCompareEach")
   proto.RegisterType((*SdkCompareResult)(nil), "protomsg.SdkCompareResult")
   proto.RegisterType((*EventPush)(nil), "protomsg.EventPush")
   proto.RegisterMapType((map[string]string)(nil), "protomsg.EventPush.FiltRenameEntry")
   proto.RegisterType((*PushSetMenu)(nil), "protomsg.PushSetMenu")
   proto.RegisterType((*EventPushRule)(nil), "protomsg.EventPushRule")
   proto.RegisterType((*PushIpPort)(nil), "protomsg.PushIpPort")
   proto.RegisterType((*PushUrl)(nil), "protomsg.PushUrl")
   proto.RegisterType((*PushAttach)(nil), "protomsg.PushAttach")
   proto.RegisterType((*EsPersonCacheChange)(nil), "protomsg.EsPersonCacheChange")
   proto.RegisterType((*ClusterAndNodes)(nil), "protomsg.ClusterAndNodes")
   proto.RegisterType((*Node)(nil), "protomsg.Node")
   proto.RegisterType((*Dic)(nil), "protomsg.Dic")
   proto.RegisterEnum("protomsg.TableChanged", TableChanged_name, TableChanged_value)
   proto.RegisterEnum("protomsg.DbAction", DbAction_name, DbAction_value)
   proto.RegisterEnum("protomsg.CompareEventType", CompareEventType_name, CompareEventType_value)
   proto.RegisterEnum("protomsg.EsCacheChanged", EsCacheChanged_name, EsCacheChanged_value)
}
func init() { proto.RegisterFile("protomsg.proto", fileDescriptor_32de24555f916688) }
func init() { proto.RegisterFile("protomsg.proto", fileDescriptor_protomsg_ab9bd340535ac30f) }
var fileDescriptor_32de24555f916688 = []byte{
   // 1763 bytes of a gzipped FileDescriptorProto
   0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x57, 0xcd, 0x92, 0x23, 0x47,
   0x11, 0xb6, 0xfe, 0xbb, 0x73, 0x34, 0xb2, 0xb6, 0x58, 0x8c, 0x6c, 0x30, 0xcc, 0xf6, 0x4e, 0xe0,
   0x61, 0x31, 0x4b, 0x30, 0xbe, 0x13, 0x21, 0x76, 0x58, 0x42, 0x11, 0xf6, 0x7a, 0xa8, 0x19, 0x2f,
   0x81, 0x2f, 0x8a, 0x52, 0x57, 0xa9, 0xd5, 0x56, 0xab, 0xbb, 0xa9, 0x2a, 0xed, 0x8c, 0x0e, 0x44,
   0x70, 0xe0, 0xce, 0x83, 0xf0, 0x22, 0x1c, 0x78, 0x07, 0x4e, 0x5c, 0x78, 0x01, 0xae, 0x44, 0x66,
   0x55, 0xb7, 0x5a, 0x3b, 0xb3, 0xc4, 0x10, 0x5c, 0x7d, 0xcb, 0xbf, 0xce, 0xca, 0xfc, 0x32, 0x2b,
   0x2b, 0x1b, 0x46, 0xa5, 0x2e, 0x6c, 0xb1, 0x31, 0xc9, 0x73, 0x22, 0x58, 0x50, 0xf1, 0xd1, 0x6f,
   0x21, 0xbc, 0x16, 0x66, 0xfd, 0xb9, 0x58, 0xa8, 0x8c, 0x7d, 0x00, 0x7d, 0x2b, 0xcc, 0x3a, 0x95,
   0x93, 0xd6, 0x49, 0xeb, 0x2c, 0xe4, 0x9e, 0x43, 0xb9, 0x91, 0xeb, 0x54, 0x9a, 0x49, 0xfb, 0xa4,
   0x83, 0x72, 0xc7, 0xb1, 0xc7, 0xd0, 0x4b, 0x73, 0xa9, 0x6e, 0x27, 0x9d, 0x93, 0xd6, 0x59, 0x8f,
   0x3b, 0x26, 0x12, 0x00, 0x57, 0x72, 0xfd, 0x85, 0x32, 0x46, 0x24, 0x8a, 0x8d, 0xa1, 0x13, 0xd7,
   0x0e, 0x91, 0x64, 0x3f, 0x83, 0x01, 0xfa, 0xcd, 0xc4, 0x62, 0xd2, 0x3e, 0x69, 0x9d, 0x1d, 0x9d,
   0x7f, 0xe7, 0x79, 0x1d, 0x5e, 0x1d, 0x0b, 0xaf, 0x6c, 0x18, 0x83, 0xae, 0x14, 0x56, 0xd0, 0x19,
   0x43, 0x4e, 0x74, 0x34, 0x83, 0xde, 0x6c, 0x83, 0xde, 0x1f, 0x43, 0xef, 0x26, 0x95, 0x76, 0x45,
   0xfe, 0x7b, 0xdc, 0x31, 0x18, 0xef, 0x4a, 0xa5, 0xc9, 0xca, 0xd2, 0x01, 0x3d, 0xee, 0xb9, 0x7b,
   0x5d, 0xbd, 0x84, 0xee, 0x54, 0x2b, 0xc1, 0x46, 0xd0, 0xf6, 0x61, 0xf6, 0x78, 0x3b, 0x95, 0xec,
   0x23, 0x08, 0x4a, 0xa1, 0x55, 0x6e, 0x53, 0xe9, 0xbd, 0xd4, 0x3c, 0xfa, 0xc9, 0xc5, 0x46, 0x91,
   0x9f, 0x90, 0x13, 0x1d, 0xfd, 0xad, 0x0d, 0xfd, 0x17, 0x62, 0xa3, 0x74, 0xd3, 0x55, 0x48, 0xae,
   0x2a, 0xf3, 0xf6, 0xde, 0x1c, 0x65, 0x76, 0x57, 0x2a, 0x8f, 0x1c, 0xd1, 0x28, 0x13, 0x52, 0xea,
   0x49, 0xd7, 0xd9, 0x21, 0x8d, 0xa9, 0x08, 0xad, 0x44, 0x2a, 0x27, 0x3d, 0x97, 0x8a, 0xe3, 0xd8,
   0x0f, 0x20, 0xcc, 0x8a, 0x3c, 0x49, 0xed, 0x56, 0xaa, 0x49, 0xff, 0xa4, 0x75, 0xd6, 0xe6, 0x7b,
   0x01, 0x06, 0x9f, 0x09, 0xeb, 0x94, 0x03, 0x52, 0xd6, 0x3c, 0x9e, 0xa2, 0xad, 0x29, 0x27, 0x81,
   0x3b, 0x05, 0x69, 0x8a, 0xb8, 0x9c, 0x84, 0x3e, 0xe2, 0x12, 0x6d, 0xca, 0x42, 0xdb, 0x09, 0xb8,
   0xe8, 0x90, 0x46, 0x9f, 0x5b, 0xa3, 0x34, 0x65, 0x72, 0x44, 0x96, 0x35, 0xef, 0xc0, 0x32, 0xe6,
   0xa6, 0xd0, 0x72, 0x32, 0x74, 0xba, 0x8a, 0xc7, 0x12, 0x2d, 0xb4, 0xc8, 0xe5, 0xe4, 0x98, 0x14,
   0x8e, 0xc1, 0x2f, 0xb4, 0x32, 0x4a, 0xbf, 0x51, 0x72, 0x32, 0x72, 0x5f, 0x54, 0x7c, 0x14, 0xc3,
   0x23, 0x87, 0xe4, 0x34, 0x97, 0xd8, 0x10, 0xb3, 0x7c, 0x59, 0xb0, 0x33, 0xe8, 0xc7, 0x24, 0x24,
   0x60, 0x8f, 0xce, 0xc7, 0xfb, 0xa6, 0x71, 0xc6, 0xdc, 0xeb, 0xd9, 0x29, 0xf4, 0xb0, 0x77, 0x5c,
   0xb3, 0x1e, 0x9d, 0x8f, 0x0e, 0xbb, 0x8b, 0x3b, 0x65, 0xf4, 0x8f, 0x16, 0x74, 0x91, 0x7f, 0x67,
   0xd3, 0x7f, 0x04, 0x01, 0x52, 0x8d, 0xca, 0xd5, 0x3c, 0xfb, 0x3e, 0x84, 0xb1, 0x56, 0xc2, 0xaa,
   0xb9, 0xb0, 0xbe, 0x0b, 0x02, 0x27, 0x98, 0xda, 0x86, 0x72, 0xb1, 0xf3, 0xb5, 0xf4, 0xca, 0x5f,
   0xed, 0x50, 0xb9, 0x2d, 0xa5, 0xff, 0xb2, 0xe7, 0x61, 0x24, 0xc1, 0xd4, 0x62, 0x28, 0x2a, 0x17,
   0x8b, 0xcc, 0x55, 0x34, 0xe0, 0x9e, 0x63, 0x1f, 0x42, 0x90, 0x9a, 0xb9, 0xc8, 0x84, 0xde, 0x50,
   0x39, 0x03, 0x3e, 0x48, 0xcd, 0x14, 0x59, 0x54, 0x49, 0x95, 0xcd, 0x97, 0x99, 0x48, 0xa8, 0xa2,
   0x01, 0x1f, 0x48, 0x95, 0xbd, 0xcc, 0x44, 0x12, 0x5d, 0xc3, 0x11, 0x26, 0x78, 0x25, 0x1d, 0x80,
   0x11, 0x74, 0x31, 0x7e, 0x0f, 0xdf, 0xdb, 0xa8, 0x90, 0x8e, 0x3d, 0x81, 0xae, 0x91, 0x35, 0x72,
   0xc7, 0x7b, 0x9b, 0x2b, 0xb9, 0xe6, 0xa4, 0x8a, 0xfe, 0xd5, 0x06, 0x70, 0x80, 0x13, 0x7a, 0x6f,
   0xf7, 0xfa, 0xc7, 0x00, 0xae, 0x0c, 0x73, 0x37, 0x2e, 0x50, 0x1e, 0x3a, 0xc9, 0x4c, 0x1a, 0xf6,
   0x3d, 0x77, 0xf7, 0xe7, 0xa9, 0xf4, 0xb0, 0x11, 0xda, 0x33, 0x1c, 0x0a, 0xa1, 0x4d, 0x37, 0x6a,
   0xae, 0xb7, 0x99, 0x9a, 0x74, 0xe9, 0xf8, 0x46, 0x85, 0x2f, 0xc4, 0xee, 0x85, 0xcd, 0x78, 0x80,
   0x26, 0x7c, 0x9b, 0x29, 0x3c, 0x46, 0x2b, 0x11, 0x5b, 0x67, 0xef, 0x70, 0x0c, 0x49, 0x42, 0xea,
   0x27, 0x30, 0x74, 0x6a, 0xa9, 0xde, 0xa4, 0xb1, 0x83, 0x33, 0xe4, 0x47, 0x24, 0xbb, 0x20, 0xd1,
   0x01, 0x70, 0x83, 0x03, 0xe0, 0xd8, 0x8f, 0xe0, 0xc8, 0xd7, 0xa8, 0x01, 0x2b, 0x38, 0x11, 0x19,
   0xec, 0xeb, 0x14, 0x1e, 0xd4, 0x89, 0x41, 0xd7, 0x34, 0xae, 0x0d, 0xd2, 0x98, 0x71, 0x6a, 0xe6,
   0xcb, 0x6d, 0x96, 0xd1, 0xad, 0x09, 0x78, 0x3f, 0x35, 0x2f, 0xb7, 0x59, 0xc6, 0x22, 0x38, 0xce,
   0xd2, 0x7c, 0x3d, 0x4f, 0x74, 0xb1, 0x2d, 0x11, 0x10, 0x77, 0x71, 0x8e, 0x50, 0xf8, 0x1b, 0x94,
   0xcd, 0x64, 0xf4, 0xa7, 0x16, 0x8c, 0x3c, 0xd8, 0xe9, 0x46, 0x61, 0xae, 0x0f, 0x1a, 0x2e, 0xd8,
   0x81, 0x55, 0x11, 0xea, 0xf6, 0xf4, 0x35, 0xf8, 0x1f, 0x91, 0x8e, 0x5e, 0x41, 0xdf, 0xc9, 0x70,
   0x92, 0x4b, 0xb1, 0xf3, 0x23, 0x12, 0x49, 0x76, 0x0e, 0xe0, 0x5c, 0x89, 0x3c, 0x51, 0xbe, 0x69,
   0x9a, 0xc3, 0x1c, 0x7d, 0xa0, 0x8a, 0xd3, 0x89, 0x44, 0x46, 0x9f, 0x41, 0x58, 0xcb, 0x71, 0x36,
   0x18, 0x2b, 0xb4, 0xf5, 0xf9, 0x38, 0x06, 0x0f, 0x52, 0xb9, 0xf4, 0x19, 0x21, 0x19, 0xbd, 0x86,
   0xc1, 0x65, 0x91, 0xed, 0x92, 0x22, 0x7f, 0x50, 0xfe, 0x9f, 0x40, 0xbf, 0x2c, 0xd2, 0xdc, 0x1a,
   0x9f, 0xdf, 0xfb, 0xfb, 0x98, 0x2e, 0x51, 0xce, 0xbd, 0x3a, 0xfa, 0x77, 0xbb, 0xc6, 0x57, 0x98,
   0xf5, 0x54, 0x27, 0xe6, 0x8e, 0xff, 0x53, 0x18, 0x79, 0x2c, 0xab, 0xc6, 0x75, 0x27, 0x0d, 0xe3,
   0xfa, 0xbb, 0x99, 0xfc, 0xef, 0x88, 0x7f, 0x0c, 0x50, 0xba, 0xe8, 0x51, 0xeb, 0x26, 0x42, 0xe8,
   0x25, 0x33, 0xc9, 0xbe, 0x4b, 0xaf, 0xeb, 0xdc, 0x8f, 0x78, 0x44, 0x41, 0xa2, 0xcb, 0x08, 0x8e,
   0x51, 0x2c, 0x74, 0x32, 0x17, 0x59, 0x2a, 0x4c, 0xd5, 0xc4, 0x46, 0x62, 0xa0, 0x53, 0x14, 0xe1,
   0x8c, 0x2a, 0x4a, 0xa5, 0x85, 0x2d, 0x34, 0x35, 0x71, 0xc8, 0x6b, 0x9e, 0x3d, 0x85, 0xe3, 0x8a,
   0x9e, 0xd3, 0x53, 0xe3, 0x06, 0xfe, 0xb0, 0x12, 0x5e, 0xe3, 0x93, 0xd3, 0x38, 0xe4, 0x8d, 0xc8,
   0xb6, 0xca, 0xbf, 0x01, 0xfe, 0x90, 0xd7, 0x28, 0xba, 0xb7, 0xab, 0x4f, 0x61, 0x84, 0xfd, 0x33,
   0xbf, 0x49, 0xed, 0x6a, 0x9e, 0xab, 0x5b, 0xeb, 0x9f, 0x84, 0x21, 0x4a, 0x7f, 0x97, 0xda, 0xd5,
   0x2b, 0x75, 0x6b, 0xf1, 0x8e, 0xbd, 0xd5, 0xdd, 0x83, 0xc4, 0x77, 0xf6, 0x5f, 0xdb, 0xd0, 0xb9,
   0x92, 0x77, 0xe7, 0xc7, 0x87, 0x10, 0x60, 0x40, 0x14, 0xb0, 0x03, 0x7a, 0x60, 0xe4, 0x9a, 0x62,
   0xf5, 0xaa, 0xc6, 0xcb, 0x8b, 0xaa, 0x57, 0x58, 0xf0, 0x53, 0xe8, 0x0a, 0x9d, 0x98, 0xbb, 0xed,
   0x7c, 0x45, 0x79, 0x70, 0xd2, 0x62, 0x22, 0x69, 0x5c, 0xe4, 0x1e, 0x66, 0xa2, 0xb1, 0xd7, 0xb6,
   0x3a, 0xf3, 0xd8, 0x22, 0x89, 0xb7, 0xdf, 0x8f, 0x6f, 0x6c, 0x5a, 0x0f, 0x2b, 0x38, 0x11, 0x76,
   0x6e, 0x63, 0x3c, 0x90, 0x81, 0x83, 0xd5, 0x8f, 0x07, 0x32, 0x38, 0x78, 0x00, 0xc2, 0xb7, 0x1e,
   0x80, 0x09, 0x0c, 0xdc, 0xb4, 0x90, 0x04, 0x68, 0xc8, 0x2b, 0xf6, 0x60, 0x22, 0x39, 0x34, 0xeb,
   0x51, 0xfe, 0xe7, 0x16, 0xf4, 0x5d, 0x2a, 0x78, 0x65, 0x5c, 0x3b, 0x38, 0x74, 0x1c, 0x73, 0xdf,
   0x46, 0x52, 0xaf, 0x18, 0x7e, 0x9d, 0xa8, 0x56, 0x8c, 0xcd, 0xd6, 0xb8, 0x97, 0x27, 0xe0, 0x44,
   0xa3, 0x47, 0x77, 0x81, 0x1d, 0x08, 0x8e, 0xa9, 0xab, 0x3e, 0xd8, 0x57, 0x3d, 0x7a, 0x0a, 0x3d,
   0xba, 0x3f, 0x6c, 0x08, 0xad, 0x5b, 0x3f, 0x08, 0x5a, 0xb7, 0xc8, 0xed, 0xfc, 0x8e, 0xd4, 0xda,
   0x45, 0x5f, 0x43, 0x97, 0xab, 0x98, 0x96, 0xad, 0x4c, 0x2d, 0xad, 0x37, 0x23, 0x1a, 0xd1, 0xb6,
   0x45, 0xe9, 0x6d, 0x91, 0xa4, 0xc3, 0x69, 0x53, 0xf3, 0x2b, 0x24, 0x31, 0x38, 0x60, 0x17, 0x85,
   0xb5, 0xc5, 0x86, 0x82, 0xef, 0x71, 0xcf, 0x45, 0x09, 0x84, 0x2f, 0x45, 0xac, 0xa6, 0x79, 0x92,
   0xd1, 0x66, 0xb9, 0x13, 0x37, 0xd5, 0x3c, 0xda, 0x89, 0x1b, 0x74, 0x56, 0xa6, 0x36, 0x5e, 0xf9,
   0x03, 0x1c, 0x43, 0x0b, 0x4f, 0x91, 0x65, 0xd5, 0xaa, 0x85, 0x34, 0xfb, 0x21, 0x40, 0x5c, 0xe4,
   0xcb, 0x54, 0xaa, 0x3c, 0x76, 0x08, 0xb5, 0x79, 0x43, 0x12, 0xdd, 0x02, 0x5c, 0xaf, 0x96, 0x96,
   0x2b, 0xb3, 0xcd, 0x28, 0x9c, 0x44, 0xe5, 0x52, 0x69, 0x7f, 0x98, 0xe7, 0x30, 0x02, 0x91, 0xa8,
   0x2a, 0x1d, 0xe1, 0x50, 0xd3, 0x22, 0xae, 0xd7, 0x3a, 0xa4, 0x29, 0x19, 0x25, 0xb6, 0x76, 0x57,
   0x27, 0x43, 0x1c, 0x0d, 0xbf, 0x4d, 0xea, 0x9f, 0xaf, 0x1e, 0x77, 0x4c, 0xf4, 0xf7, 0x36, 0x0c,
   0x30, 0xc7, 0xcb, 0xc2, 0xb0, 0x1f, 0x43, 0x5f, 0xc7, 0xc8, 0xdc, 0x7d, 0xb4, 0x11, 0x62, 0xee,
   0xb5, 0x38, 0xd2, 0x4b, 0xfb, 0xb9, 0x5a, 0xda, 0x5f, 0xef, 0x94, 0xdf, 0xa9, 0xef, 0x8c, 0xbc,
   0xbd, 0x05, 0xfb, 0x39, 0x40, 0x69, 0x39, 0x02, 0x8d, 0xf6, 0x9d, 0xfb, 0xed, 0x1b, 0x26, 0xec,
   0x27, 0x30, 0x28, 0xed, 0x17, 0xc5, 0xd6, 0xae, 0x28, 0x85, 0x7b, 0xac, 0x2b, 0x3d, 0x8d, 0x5e,
   0xfb, 0xaa, 0x30, 0x2e, 0xab, 0x7b, 0x47, 0x2f, 0xa9, 0xd9, 0x4f, 0xa1, 0xbf, 0xa4, 0x3a, 0x52,
   0xdb, 0x1d, 0xbc, 0x1b, 0x75, 0x89, 0xb9, 0x37, 0xc1, 0x4b, 0xf3, 0x87, 0xad, 0xc8, 0x52, 0xbb,
   0xf3, 0xfd, 0x58, 0xb1, 0x58, 0xc8, 0xa5, 0x88, 0x53, 0x91, 0x5d, 0xe0, 0x62, 0x1f, 0xd0, 0x62,
   0xdf, 0x90, 0x44, 0xff, 0x6c, 0x43, 0x80, 0xfe, 0x68, 0x05, 0xfa, 0x16, 0xcf, 0xff, 0x17, 0x4f,
   0x6c, 0xe6, 0x25, 0xc2, 0x79, 0x41, 0x83, 0xad, 0xc3, 0x3d, 0x17, 0x7d, 0x05, 0x83, 0x2f, 0x17,
   0xdf, 0x10, 0xca, 0xa7, 0xd0, 0xd3, 0xf1, 0x97, 0x8b, 0x6f, 0xde, 0x01, 0xb2, 0x53, 0xd2, 0x28,
   0xd8, 0xed, 0x47, 0xc1, 0xce, 0xfd, 0x74, 0xe8, 0x62, 0x41, 0x00, 0xb6, 0x39, 0xd1, 0xd1, 0x6b,
   0x18, 0x5e, 0x0a, 0x2d, 0x36, 0xd5, 0x8d, 0x78, 0x0a, 0x9d, 0xb2, 0x30, 0xde, 0xf3, 0xa3, 0xc3,
   0x14, 0x2f, 0x0b, 0xc3, 0x51, 0xcb, 0x9e, 0x40, 0x27, 0xdd, 0x24, 0x77, 0x0b, 0x47, 0xbf, 0x8c,
   0x1c, 0x75, 0xd1, 0x2f, 0x61, 0x5c, 0xfb, 0x7d, 0x51, 0x6c, 0xf0, 0xcf, 0x0e, 0xef, 0xe3, 0x52,
   0x09, 0xfb, 0x0b, 0xf2, 0x3e, 0xe4, 0x8e, 0xa9, 0xa4, 0xe7, 0xe4, 0xce, 0x4b, 0xcf, 0x23, 0x09,
   0x8f, 0xf6, 0x71, 0x69, 0x7c, 0x52, 0xed, 0x8e, 0x7d, 0x0a, 0x7d, 0x4d, 0x03, 0xc3, 0xc7, 0xf7,
   0xb8, 0xb1, 0x0a, 0xd5, 0xc3, 0x84, 0x7b, 0x9b, 0x87, 0x44, 0xf9, 0xb5, 0xcf, 0xfe, 0xf7, 0x45,
   0x56, 0x20, 0x66, 0x9f, 0xe0, 0xff, 0xf6, 0x92, 0xf2, 0xef, 0x1c, 0xe6, 0xef, 0xb1, 0xe7, 0x4e,
   0xff, 0x10, 0xdf, 0x7f, 0x69, 0xc1, 0xfb, 0x17, 0x8b, 0x17, 0x2b, 0x1c, 0xf6, 0xd5, 0xbf, 0xfa,
   0xa7, 0xf8, 0xe7, 0x84, 0x6b, 0x2d, 0xc6, 0x3f, 0x3a, 0xff, 0xa0, 0xf9, 0x8f, 0xb0, 0xc8, 0x94,
   0x33, 0x96, 0xdc, 0x19, 0xf9, 0xa7, 0xbb, 0x5d, 0x3f, 0xdd, 0xcf, 0xa0, 0x2f, 0x62, 0x9b, 0x16,
   0x39, 0x55, 0x70, 0x74, 0xce, 0x1a, 0x5b, 0xe5, 0x62, 0x4a, 0x1a, 0xee, 0x2d, 0xe8, 0x29, 0xce,
   0x97, 0x45, 0xf5, 0x36, 0x21, 0xfd, 0xec, 0x8f, 0x30, 0x6c, 0x1e, 0xc3, 0x86, 0x10, 0x5c, 0xcf,
   0xdd, 0x76, 0x36, 0x7e, 0x8f, 0x8d, 0x61, 0x58, 0x71, 0xb8, 0x73, 0x8d, 0x5b, 0xec, 0x31, 0x8c,
   0x9b, 0x12, 0xdc, 0xde, 0xc6, 0x6d, 0x06, 0xd0, 0xbf, 0x9e, 0x93, 0x45, 0x87, 0x1d, 0x43, 0xe8,
   0xe8, 0x2b, 0xb9, 0x1e, 0x77, 0xd9, 0x23, 0x38, 0xae, 0x59, 0xdc, 0x6d, 0xc7, 0x3d, 0x16, 0x42,
   0xef, 0x7a, 0x8e, 0xda, 0xfe, 0xb3, 0xe7, 0x10, 0x54, 0x61, 0xa2, 0x93, 0x59, 0x6e, 0x94, 0xb6,
   0xe3, 0xf7, 0x90, 0xfe, 0x8a, 0xde, 0xf6, 0x71, 0x0b, 0xe9, 0x0b, 0x95, 0x29, 0xab, 0xc6, 0xed,
   0x45, 0x9f, 0xb2, 0xfb, 0xec, 0x3f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x1e, 0x33, 0xab, 0x0b, 0x5c,
   0x11, 0x00, 0x00,
var fileDescriptor_protomsg_ab9bd340535ac30f = []byte{
   // 3355 bytes of a gzipped FileDescriptorProto
   0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x59, 0x5f, 0x6f, 0x1c, 0x47,
   0x72, 0xd7, 0xfe, 0xdf, 0xa9, 0x5d, 0x2e, 0x47, 0xa3, 0x7f, 0x23, 0x52, 0xb6, 0xe9, 0x91, 0x9c,
   0xc8, 0xb4, 0xad, 0x38, 0xb2, 0x1f, 0x8c, 0x00, 0x71, 0x40, 0x91, 0x52, 0xb2, 0x80, 0xa4, 0x30,
   0xc3, 0x95, 0xfc, 0x96, 0xc1, 0x70, 0xa6, 0xb9, 0x3b, 0xd8, 0xe1, 0xcc, 0xb8, 0xbb, 0x87, 0x12,
   0x81, 0x3c, 0x25, 0x08, 0x92, 0x27, 0x07, 0x01, 0xf2, 0x19, 0x02, 0xe4, 0x31, 0x6f, 0xf7, 0x72,
   0xe7, 0xfb, 0x04, 0xf7, 0x72, 0x1f, 0xe0, 0x9e, 0x0e, 0xb8, 0xb7, 0xfb, 0x0a, 0x87, 0xaa, 0xee,
   0x9e, 0x3f, 0x24, 0x65, 0xeb, 0x9e, 0xb6, 0xeb, 0x57, 0xd5, 0x3d, 0xd5, 0xd5, 0x55, 0xd5, 0x55,
   0xbd, 0x30, 0x2b, 0x78, 0x2e, 0xf3, 0x53, 0xb1, 0x7c, 0x44, 0x03, 0x67, 0x6c, 0xe8, 0x2d, 0x38,
   0x0e, 0x05, 0x53, 0xa8, 0xf7, 0x0c, 0xfa, 0x7b, 0x9c, 0x85, 0xce, 0x0c, 0xba, 0x49, 0xec, 0x76,
   0x76, 0x3a, 0x0f, 0x07, 0x7e, 0x37, 0x89, 0x9d, 0x2d, 0x18, 0x17, 0x21, 0x67, 0x99, 0x4c, 0x62,
   0xb7, 0x4b, 0x68, 0x45, 0x3b, 0x0e, 0xf4, 0xb3, 0xf0, 0x94, 0xb9, 0xbd, 0x9d, 0xce, 0x43, 0xcb,
   0xa7, 0xb1, 0xf7, 0xc3, 0x10, 0x86, 0xfb, 0xe1, 0x29, 0xe3, 0xcd, 0xa5, 0x2c, 0x5a, 0xca, 0x88,
   0x77, 0x6b, 0x71, 0xe7, 0x26, 0x0c, 0xc2, 0x34, 0x09, 0x85, 0x5e, 0x43, 0x11, 0xce, 0xc7, 0x30,
   0x15, 0x59, 0x58, 0x88, 0x55, 0x2e, 0x83, 0x92, 0xa7, 0x6e, 0x9f, 0x98, 0x13, 0x83, 0xbd, 0xe2,
   0x29, 0x2e, 0x26, 0xcf, 0x0b, 0xe6, 0x0e, 0x48, 0x27, 0x1a, 0x23, 0x16, 0xc6, 0x31, 0x77, 0x87,
   0xea, 0x03, 0x38, 0x76, 0xee, 0x81, 0x95, 0xe6, 0xd9, 0x32, 0x91, 0x65, 0xcc, 0xdc, 0xd1, 0x4e,
   0xe7, 0x61, 0xd7, 0xaf, 0x01, 0xdc, 0x5d, 0x1a, 0x4a, 0xc5, 0x1c, 0x13, 0xb3, 0xa2, 0x51, 0xb5,
   0x93, 0x34, 0xcf, 0xb9, 0x6b, 0xd1, 0x27, 0x14, 0x81, 0xdf, 0xe0, 0x52, 0x14, 0x2e, 0xa8, 0x6f,
   0xe0, 0x98, 0x36, 0x5a, 0xb8, 0x13, 0xbd, 0xd1, 0x02, 0x65, 0x8a, 0x9c, 0x4b, 0x77, 0xaa, 0x74,
   0xc3, 0x31, 0x7e, 0xa9, 0x14, 0x8c, 0x93, 0x01, 0x36, 0x48, 0xb2, 0xa2, 0x95, 0x8d, 0x85, 0x78,
   0x93, 0xf3, 0xd8, 0x9d, 0x29, 0x9e, 0xa1, 0x51, 0x8b, 0x63, 0x1e, 0x66, 0xb1, 0xbb, 0xa9, 0x0c,
   0x44, 0x04, 0xce, 0xe0, 0x4c, 0x30, 0x7e, 0xc6, 0x62, 0xd7, 0x56, 0x33, 0x0c, 0xed, 0x7c, 0x00,
   0x90, 0x88, 0x80, 0x97, 0x59, 0x96, 0x64, 0x4b, 0xf7, 0xfa, 0x4e, 0xe7, 0xe1, 0xd8, 0xb7, 0x12,
   0xe1, 0x2b, 0x00, 0xd9, 0xbc, 0xcc, 0x02, 0x96, 0x85, 0xc7, 0x29, 0x73, 0x1d, 0xc5, 0xe6, 0x65,
   0xf6, 0x94, 0x00, 0xe7, 0x2e, 0x8c, 0x91, 0x4d, 0xb6, 0xbd, 0x41, 0xfa, 0x8f, 0x78, 0x99, 0x2d,
   0xd0, 0xbc, 0x1e, 0x6c, 0x20, 0x8b, 0x3e, 0xc3, 0x83, 0x24, 0x76, 0x6f, 0xaa, 0x63, 0xe1, 0x65,
   0x76, 0x44, 0xd8, 0x3c, 0x76, 0x3e, 0x05, 0x9b, 0x33, 0x91, 0xa7, 0xa5, 0x4c, 0xf2, 0x2c, 0x78,
   0x93, 0xc4, 0x72, 0xe5, 0xde, 0xa2, 0x65, 0x36, 0x6b, 0xfc, 0x3b, 0x84, 0x9d, 0xcf, 0xe0, 0x7a,
   0x43, 0x74, 0xc5, 0x92, 0xe5, 0x4a, 0xba, 0xb7, 0x49, 0xb6, 0xb1, 0xc6, 0x3f, 0x10, 0xee, 0xd8,
   0xd0, 0x3b, 0x29, 0x84, 0x7b, 0x87, 0xd8, 0x38, 0x74, 0x76, 0x61, 0x24, 0x58, 0x26, 0x72, 0x2e,
   0x5c, 0x77, 0xa7, 0xf7, 0x70, 0xf2, 0xd8, 0x7e, 0x54, 0x39, 0xfa, 0x11, 0x31, 0x7c, 0x23, 0xe0,
   0xec, 0xc0, 0xe4, 0x2c, 0x4f, 0x22, 0xa6, 0xf6, 0xe8, 0xde, 0xa5, 0x4d, 0x37, 0x21, 0xc7, 0x85,
   0x11, 0x91, 0xf3, 0xd8, 0xdd, 0xa2, 0x5d, 0x19, 0xd2, 0xf9, 0x0b, 0x98, 0x45, 0x79, 0xce, 0xe3,
   0x05, 0x0f, 0x33, 0x71, 0x92, 0xf3, 0x53, 0x77, 0x9b, 0x04, 0x2e, 0xa0, 0xce, 0x6d, 0x18, 0x0a,
   0x19, 0xca, 0x52, 0xb8, 0xf7, 0x48, 0x49, 0x4d, 0x79, 0xbf, 0xea, 0xc0, 0x50, 0xe9, 0x73, 0x55,
   0x40, 0x90, 0x9d, 0x75, 0x40, 0x90, 0x0f, 0x2b, 0x5f, 0xea, 0x5d, 0xf2, 0xa5, 0xfe, 0x3b, 0x7c,
   0x69, 0xf0, 0x13, 0xbe, 0x34, 0xbc, 0xe0, 0x4b, 0xf7, 0xc0, 0x92, 0x2b, 0xce, 0xc4, 0x2a, 0x4f,
   0x63, 0x8a, 0x85, 0x81, 0x5f, 0x03, 0xb8, 0x01, 0xed, 0x14, 0x63, 0xb2, 0x8f, 0xa6, 0xbc, 0x17,
   0x00, 0x2a, 0xa0, 0x9f, 0x27, 0xd9, 0x1a, 0xdd, 0x27, 0x22, 0x2a, 0x48, 0x62, 0xa1, 0xf7, 0x62,
   0x29, 0x64, 0x1e, 0xa3, 0xa5, 0xa7, 0x69, 0x92, 0xad, 0x03, 0x19, 0x8a, 0x75, 0xa0, 0x53, 0x86,
   0xe5, 0x03, 0x62, 0x8b, 0x50, 0xac, 0xe7, 0xb1, 0xf7, 0x1b, 0xb4, 0x47, 0xbc, 0xf6, 0xcb, 0xcc,
   0xb9, 0x05, 0xc3, 0xa4, 0x88, 0x82, 0xca, 0x26, 0x83, 0xa4, 0x88, 0xe6, 0x31, 0xba, 0xa0, 0x88,
   0xd7, 0x41, 0xc3, 0x34, 0x23, 0x11, 0xaf, 0xc9, 0x05, 0x3f, 0x87, 0xeb, 0x89, 0x58, 0xf0, 0x64,
   0xb9, 0x64, 0xfc, 0xc9, 0xf9, 0x21, 0x67, 0x47, 0xf1, 0x9a, 0x8c, 0x35, 0xf0, 0x2f, 0x33, 0x9c,
   0x0f, 0x01, 0xa2, 0x3c, 0x3b, 0x49, 0x62, 0x96, 0x45, 0x4c, 0x5b, 0xb0, 0x81, 0x50, 0x6c, 0xf9,
   0x2c, 0x89, 0xc9, 0x88, 0x63, 0x5f, 0x11, 0xce, 0x23, 0x70, 0xa4, 0x5a, 0xe8, 0x25, 0x7b, 0x2b,
   0x8f, 0xd4, 0x97, 0xc9, 0x96, 0x03, 0xff, 0x0a, 0x8e, 0xf7, 0x4f, 0x30, 0x53, 0xf6, 0x59, 0x24,
   0xa7, 0x8c, 0x97, 0x29, 0x7b, 0xaf, 0xc4, 0xb7, 0x0d, 0x96, 0x4c, 0x4e, 0x59, 0x80, 0x13, 0xf4,
   0x71, 0x8f, 0x11, 0xf0, 0xcb, 0x94, 0x79, 0x2f, 0x61, 0x78, 0x10, 0x9e, 0xef, 0xcb, 0x14, 0xfd,
   0x3e, 0x0e, 0xcf, 0x75, 0x3e, 0xc6, 0xa1, 0xf3, 0x18, 0x40, 0x4d, 0x0c, 0xb3, 0x25, 0x2e, 0x89,
   0xae, 0x7f, 0xa3, 0x76, 0x7d, 0x54, 0xc2, 0x47, 0x96, 0x4f, 0xeb, 0xd3, 0xd0, 0xfb, 0x0a, 0xac,
   0x0a, 0xc7, 0x5d, 0x0b, 0x19, 0x72, 0x69, 0x8c, 0x4e, 0x04, 0x7e, 0x88, 0x65, 0xe6, 0xbc, 0x70,
   0xe8, 0xbd, 0x86, 0xd1, 0x61, 0x9e, 0x9e, 0x2f, 0xf3, 0xec, 0xbd, 0x36, 0xf4, 0x97, 0x30, 0x2c,
   0xf2, 0x24, 0x93, 0x98, 0xca, 0x51, 0xa7, 0xcd, 0x5a, 0xa7, 0x43, 0xc4, 0x7d, 0xcd, 0xf6, 0xbe,
   0x37, 0xfe, 0x34, 0xcf, 0x4e, 0x72, 0xe7, 0x01, 0x25, 0x15, 0x95, 0x3f, 0x5e, 0xe2, 0x9a, 0xea,
   0x2b, 0x6d, 0x50, 0x2b, 0xd0, 0xbd, 0xa4, 0x40, 0xe3, 0xe6, 0x69, 0x65, 0xae, 0x7e, 0x2b, 0x73,
   0x79, 0xdf, 0x9b, 0x23, 0xda, 0xcb, 0x62, 0x34, 0xb0, 0x70, 0xbe, 0x36, 0x6e, 0x8c, 0x4a, 0xd0,
   0x37, 0x27, 0x8f, 0x6f, 0xd6, 0x1a, 0xd7, 0x0a, 0xfa, 0x0d, 0x39, 0xe7, 0x53, 0x18, 0xe0, 0x79,
   0x89, 0xcb, 0x66, 0xff, 0x7b, 0x9e, 0x97, 0x05, 0x2e, 0xed, 0x2b, 0x09, 0xef, 0x3f, 0x7a, 0x60,
   0x55, 0x20, 0x46, 0x5e, 0x15, 0x23, 0x6e, 0x67, 0xa7, 0xd7, 0x0e, 0x9a, 0x8b, 0xbb, 0xfb, 0x00,
   0x60, 0x89, 0x53, 0x03, 0xc9, 0xde, 0x4a, 0xbd, 0x47, 0x8b, 0x90, 0x05, 0x7b, 0x2b, 0x9d, 0x8f,
   0x60, 0x12, 0xa6, 0x21, 0x3f, 0x0d, 0x52, 0x76, 0xc6, 0x52, 0xe3, 0xd7, 0x04, 0x3d, 0x47, 0xc4,
   0x79, 0x60, 0xd4, 0x1c, 0x90, 0x9a, 0xb3, 0x5a, 0xcd, 0x86, 0x86, 0x14, 0x66, 0x4c, 0x2a, 0x7b,
   0x0d, 0x75, 0x98, 0x31, 0x49, 0x61, 0xf6, 0x11, 0x4c, 0x24, 0x3b, 0x2d, 0xd2, 0x50, 0x32, 0x8c,
   0xce, 0x91, 0x0a, 0x62, 0x03, 0xcd, 0x63, 0xe7, 0x3e, 0x6c, 0x54, 0x02, 0xe4, 0xc1, 0x63, 0x12,
   0x99, 0x1a, 0x90, 0x36, 0xbd, 0x03, 0xd3, 0xca, 0xc5, 0x71, 0x19, 0x4b, 0x2f, 0xa3, 0xbd, 0x7c,
   0x4e, 0x1b, 0x15, 0x11, 0xcb, 0x58, 0x40, 0x87, 0xa9, 0xae, 0x54, 0x8b, 0x10, 0x3a, 0x75, 0x07,
   0xfa, 0x31, 0x13, 0x91, 0xbe, 0x59, 0x69, 0xdc, 0xc8, 0x52, 0xd3, 0x66, 0x96, 0x6a, 0x26, 0xf0,
   0x8d, 0x56, 0x02, 0xf7, 0xfe, 0x05, 0x36, 0xaa, 0x83, 0x38, 0x8a, 0xd7, 0xe2, 0x92, 0x37, 0xb7,
   0xb5, 0xe8, 0x5e, 0xd4, 0xe2, 0x01, 0xf4, 0x45, 0xbc, 0x36, 0x6e, 0xdd, 0xbc, 0x65, 0x28, 0x8b,
   0xf9, 0xc4, 0xa5, 0xf4, 0x1f, 0xaf, 0xf1, 0x78, 0xfb, 0x74, 0xbc, 0x9a, 0xf2, 0xfe, 0xbb, 0x0b,
   0x7d, 0xff, 0xaa, 0xa4, 0xb0, 0x6d, 0x5c, 0xa2, 0x4e, 0x93, 0x63, 0xe3, 0x12, 0xa8, 0x52, 0xa1,
   0x62, 0x0f, 0xb9, 0xda, 0x03, 0x34, 0x32, 0x8f, 0x31, 0x71, 0x62, 0x86, 0x4c, 0x62, 0x5d, 0x19,
   0x0d, 0xe8, 0x63, 0xce, 0x17, 0x80, 0x89, 0x32, 0x10, 0x4c, 0xea, 0x93, 0xbf, 0xd9, 0x52, 0xf6,
   0x88, 0xc9, 0x27, 0xa1, 0x60, 0xa4, 0xda, 0x11, 0x93, 0xea, 0x3e, 0x4f, 0x59, 0xf0, 0x26, 0x91,
   0xab, 0xa0, 0xe0, 0xc6, 0x0b, 0x26, 0x08, 0x7e, 0x97, 0xc8, 0xd5, 0x21, 0xc7, 0xcd, 0xcf, 0x12,
   0x11, 0x88, 0xf0, 0x8c, 0x05, 0x61, 0x76, 0xbe, 0xca, 0xdf, 0x90, 0x33, 0x8c, 0xfd, 0x69, 0x22,
   0x8e, 0xc2, 0x33, 0xb6, 0x47, 0x18, 0xba, 0x92, 0x72, 0xd8, 0x24, 0xd6, 0x9e, 0x30, 0x22, 0x7a,
   0x4e, 0x91, 0x2a, 0xf0, 0xfe, 0x52, 0x45, 0x14, 0x8d, 0xbd, 0x7f, 0xef, 0xc0, 0x14, 0x6d, 0xb2,
   0xd0, 0xde, 0xf2, 0x5e, 0xf9, 0xc5, 0x38, 0x43, 0xaf, 0xe1, 0x0c, 0x36, 0xf4, 0xe4, 0x5b, 0xa9,
   0x8d, 0x80, 0x43, 0xe7, 0xb3, 0xb6, 0xeb, 0xdf, 0x6a, 0x24, 0x46, 0xfd, 0xb1, 0x3d, 0xbe, 0x34,
   0x31, 0xfa, 0x2d, 0xd8, 0x4d, 0x35, 0x9e, 0x27, 0x42, 0x3a, 0xbb, 0xd0, 0x4f, 0x13, 0x21, 0x29,
   0x48, 0x27, 0x8f, 0x6f, 0xb7, 0x43, 0xc7, 0x48, 0xfa, 0x24, 0xe3, 0xfd, 0xba, 0x03, 0x93, 0xc6,
   0xb2, 0x8d, 0x63, 0xe9, 0x34, 0x8f, 0xc5, 0x83, 0x0d, 0x84, 0x43, 0xbe, 0x0c, 0x54, 0xad, 0xdb,
   0xd5, 0xe5, 0x6c, 0xbc, 0xde, 0xe3, 0xcb, 0x3d, 0xaa, 0x78, 0xb7, 0x60, 0x9c, 0x17, 0x8c, 0x87,
   0x32, 0xe7, 0xe6, 0x36, 0x30, 0x74, 0x73, 0xfe, 0x59, 0x98, 0x96, 0xac, 0x2a, 0x87, 0x69, 0xfe,
   0x6b, 0x84, 0x2a, 0x33, 0xab, 0x72, 0x80, 0xc6, 0xef, 0x73, 0xbe, 0xde, 0xff, 0x75, 0x00, 0x6a,
   0xd7, 0xb8, 0xac, 0x6a, 0xe7, 0xa7, 0x55, 0xed, 0x5e, 0x50, 0xf5, 0x3e, 0x6c, 0x98, 0xb1, 0x4a,
   0x2c, 0x6a, 0x2f, 0x53, 0x03, 0x9a, 0x3a, 0xf2, 0xcf, 0xda, 0x8f, 0x71, 0x9b, 0x7f, 0xed, 0x43,
   0x0f, 0xaf, 0xf5, 0x8b, 0xde, 0x52, 0x97, 0x11, 0xdd, 0x77, 0x95, 0x11, 0xbd, 0x76, 0x19, 0xa1,
   0x59, 0xe4, 0x63, 0xfd, 0x8a, 0x65, 0xa2, 0x3d, 0xe4, 0x4b, 0xe3, 0x3f, 0xed, 0x68, 0x47, 0xd7,
   0x21, 0x2e, 0xaa, 0x97, 0x44, 0x79, 0x66, 0x3a, 0x0d, 0x1c, 0xa3, 0x33, 0x62, 0xaf, 0xa2, 0x92,
   0x25, 0x0e, 0x31, 0x8d, 0x46, 0x9c, 0x61, 0x8e, 0xc4, 0x9c, 0xa7, 0x23, 0x03, 0x14, 0x84, 0xf7,
   0x31, 0x0a, 0x94, 0x45, 0x5c, 0x09, 0xe8, 0x04, 0xa9, 0x20, 0x12, 0xc0, 0x24, 0xa1, 0x56, 0x38,
   0x3e, 0xd7, 0xf9, 0x71, 0xac, 0x80, 0x27, 0xe7, 0x8d, 0x54, 0x38, 0x69, 0xa5, 0xc2, 0xbb, 0x30,
   0x8e, 0x59, 0x1a, 0x9c, 0xa4, 0xe1, 0x52, 0xb7, 0x20, 0xa3, 0x98, 0xa5, 0xcf, 0xd2, 0x70, 0x89,
   0x67, 0x87, 0xba, 0x3e, 0x49, 0xf3, 0x63, 0xd3, 0x85, 0x18, 0x9a, 0x32, 0x28, 0xe3, 0x22, 0xc9,
   0x33, 0xdd, 0x84, 0x18, 0x12, 0x39, 0x2c, 0x5b, 0xf0, 0x30, 0x5a, 0x53, 0x17, 0x32, 0xf6, 0x0d,
   0x89, 0x2a, 0x84, 0x7c, 0x79, 0xc0, 0x4e, 0x74, 0x17, 0xa2, 0x29, 0xc4, 0xd1, 0xcb, 0x8e, 0x72,
   0xea, 0x3f, 0x2c, 0x5f, 0x53, 0x78, 0x0f, 0x9a, 0xef, 0x3d, 0xa6, 0xde, 0xc3, 0xf2, 0x6b, 0xc0,
   0xf1, 0x60, 0x1a, 0x46, 0x32, 0x39, 0x0b, 0x25, 0xdb, 0xcf, 0x63, 0xd5, 0x7f, 0x58, 0x7e, 0x0b,
   0xf3, 0xfe, 0xa0, 0xca, 0x47, 0x0c, 0xb7, 0xaa, 0x77, 0xec, 0x34, 0x7b, 0xc7, 0x77, 0xe4, 0x8e,
   0x86, 0x1b, 0x54, 0xcd, 0xe2, 0x69, 0x29, 0x54, 0xf2, 0x18, 0xfb, 0x34, 0x46, 0xac, 0xcc, 0x92,
   0x2a, 0x8a, 0x70, 0x8c, 0x5f, 0x51, 0xa5, 0x96, 0x3a, 0x6b, 0x45, 0xa0, 0xa3, 0xc7, 0xec, 0x24,
   0x2c, 0x53, 0xa9, 0x7d, 0x58, 0x1d, 0xfb, 0x54, 0x83, 0xca, 0x89, 0x3f, 0x05, 0xdb, 0x08, 0x55,
   0x11, 0xa3, 0x9c, 0x60, 0x53, 0xe3, 0xff, 0x68, 0x02, 0xe7, 0xaa, 0x34, 0xf9, 0x9f, 0x2a, 0x36,
   0xf7, 0x57, 0x61, 0x86, 0xe9, 0xba, 0xe9, 0xcf, 0x9d, 0x4b, 0xfe, 0x1c, 0xad, 0xc2, 0x2c, 0xc8,
   0xca, 0x53, 0xdd, 0xa4, 0x8f, 0x90, 0x7e, 0x59, 0x9e, 0x62, 0x7d, 0x55, 0x57, 0xbc, 0xf3, 0x2c,
   0xd2, 0xd5, 0x72, 0x1b, 0xc4, 0x4a, 0xf9, 0x34, 0xc9, 0x5e, 0xe4, 0x67, 0xec, 0x30, 0x17, 0xa6,
   0xa2, 0xa8, 0x11, 0xef, 0xbf, 0x3a, 0xb0, 0x79, 0x70, 0x8c, 0x9a, 0x2c, 0xd9, 0x0b, 0x26, 0x44,
   0xb8, 0xc4, 0x5a, 0x7c, 0x20, 0xc9, 0xfb, 0x50, 0x99, 0x59, 0x33, 0x55, 0x2e, 0x10, 0x56, 0xc2,
   0xb1, 0xaf, 0x84, 0x2e, 0xd5, 0x38, 0xbb, 0x30, 0xc4, 0x73, 0xcd, 0x33, 0x52, 0x68, 0xf6, 0xd8,
   0xa9, 0xa7, 0x1f, 0x1c, 0xef, 0x11, 0xc7, 0xd7, 0x12, 0x14, 0x6d, 0x58, 0xa6, 0xf5, 0x75, 0xb4,
   0x65, 0x27, 0xb9, 0xf7, 0x43, 0x17, 0x36, 0x54, 0x95, 0xf6, 0xae, 0x22, 0xf5, 0x27, 0x2f, 0xd8,
   0xab, 0x0a, 0x48, 0x17, 0x46, 0xfa, 0x8a, 0x35, 0x49, 0x41, 0x93, 0xce, 0xc7, 0x30, 0xd5, 0x85,
   0x7f, 0x90, 0x26, 0x99, 0x69, 0xba, 0x26, 0x1a, 0x7b, 0x9e, 0x64, 0xcc, 0xf9, 0x04, 0x66, 0x71,
   0xc2, 0x19, 0x29, 0xac, 0x84, 0x94, 0xbf, 0x6c, 0x54, 0x28, 0x89, 0x19, 0x4f, 0x1c, 0x35, 0x3c,
   0x51, 0xf9, 0x12, 0x1e, 0x45, 0x80, 0x3d, 0xa3, 0x4a, 0x14, 0x03, 0xf2, 0x25, 0x04, 0x8f, 0x10,
   0xa3, 0x5c, 0xa2, 0x76, 0x43, 0x7a, 0xeb, 0x54, 0xa1, 0x20, 0x4c, 0x5c, 0xde, 0x6f, 0x3b, 0x70,
   0xab, 0x65, 0x10, 0x9f, 0xa5, 0x21, 0x99, 0xef, 0xa2, 0x61, 0x1e, 0x82, 0x2d, 0xf2, 0x92, 0x47,
   0x2c, 0xb8, 0x68, 0x9f, 0x99, 0xc2, 0xf7, 0x8d, 0x95, 0x76, 0xe1, 0xba, 0x96, 0xbc, 0x54, 0x8d,
   0x6c, 0x2a, 0xc6, 0x61, 0x55, 0x93, 0x3c, 0x04, 0x5b, 0x86, 0x7c, 0xc9, 0x64, 0x63, 0x55, 0x65,
   0xc6, 0x99, 0xc2, 0x9b, 0xab, 0x6a, 0xc9, 0xc6, 0xaa, 0xca, 0xa4, 0x9b, 0x8a, 0x51, 0xad, 0xea,
   0xfd, 0xb2, 0x03, 0x1b, 0xaf, 0x93, 0x98, 0xe5, 0x32, 0x2c, 0x18, 0xd5, 0xe0, 0x5b, 0x30, 0x66,
   0xe2, 0x20, 0x94, 0xe1, 0xdc, 0xec, 0xa9, 0xa2, 0x91, 0x67, 0x4e, 0xf8, 0xd2, 0x89, 0xdf, 0x86,
   0xa1, 0xa4, 0x0e, 0x54, 0x6f, 0x40, 0x53, 0x18, 0xdf, 0xc9, 0xe9, 0x72, 0xae, 0x94, 0xed, 0xf9,
   0x8a, 0xc0, 0x95, 0xce, 0xf0, 0xb3, 0xaf, 0x78, 0x6a, 0x5a, 0x6c, 0x43, 0x37, 0x4a, 0xbd, 0x61,
   0xb3, 0xd4, 0x6b, 0x9d, 0xad, 0x7e, 0x92, 0xf2, 0xfe, 0x0e, 0x06, 0xaf, 0xb1, 0x0e, 0x7d, 0xdf,
   0x12, 0xa7, 0x08, 0xe5, 0xca, 0x38, 0x25, 0x8e, 0xbd, 0x2f, 0xc1, 0xa2, 0x05, 0xa8, 0x38, 0xb9,
   0xdf, 0x2a, 0x4e, 0x1a, 0x1d, 0x16, 0x89, 0xe8, 0xaa, 0xe4, 0xf7, 0x3d, 0x98, 0xec, 0xe7, 0xa7,
   0x45, 0xc8, 0xb1, 0x28, 0xa1, 0xfb, 0x9a, 0x42, 0xb0, 0x6e, 0x3d, 0x2a, 0xda, 0xd9, 0x05, 0x3b,
   0x52, 0xa2, 0x8b, 0xea, 0x61, 0xa0, 0x4b, 0xef, 0x60, 0x97, 0x70, 0x67, 0x07, 0x26, 0x27, 0x61,
   0xc4, 0x9e, 0xb1, 0x50, 0x96, 0x5c, 0x45, 0xce, 0xd4, 0x6f, 0x42, 0x68, 0x4a, 0x34, 0xaa, 0x29,
   0x81, 0x15, 0x41, 0xaf, 0x0e, 0x9c, 0xb1, 0x97, 0x79, 0xac, 0xcb, 0x32, 0xcb, 0xaf, 0x01, 0x32,
   0x5a, 0x78, 0x6c, 0x4c, 0x49, 0x63, 0xcc, 0x46, 0x75, 0x37, 0x63, 0xba, 0x8f, 0x46, 0x7f, 0xf3,
   0x21, 0x80, 0x60, 0x21, 0x8f, 0x56, 0x0b, 0x75, 0xad, 0xe2, 0xcc, 0x06, 0x82, 0xfc, 0x24, 0x2b,
   0x4a, 0x95, 0x85, 0x4d, 0xa8, 0xd4, 0x88, 0x7a, 0x17, 0x48, 0x53, 0x15, 0x96, 0xfa, 0x5a, 0x6d,
   0x20, 0x74, 0xc0, 0xe4, 0xdd, 0xe6, 0x62, 0x55, 0x14, 0xe6, 0xd2, 0x30, 0x0b, 0xd3, 0x73, 0xf3,
   0xda, 0x45, 0xb7, 0xab, 0xe5, 0xb7, 0x41, 0x95, 0x71, 0x95, 0xed, 0xc8, 0x99, 0xf5, 0x45, 0xdb,
   0x06, 0xf1, 0xae, 0x4b, 0x84, 0x39, 0xa6, 0x34, 0xa5, 0x2b, 0x97, 0xca, 0xea, 0x1a, 0x43, 0xcb,
   0x09, 0xbd, 0xaa, 0x70, 0x37, 0x95, 0xe5, 0x2a, 0xc0, 0x3b, 0x86, 0xa9, 0x96, 0x7d, 0x7a, 0xc6,
   0x32, 0xe9, 0x7c, 0x03, 0x16, 0xc3, 0xc1, 0xc2, 0x5c, 0x10, 0xb3, 0xc7, 0x5b, 0x8d, 0x8e, 0xb6,
   0x21, 0x8a, 0x12, 0x7e, 0x2d, 0x4c, 0x89, 0x2f, 0x3c, 0x4f, 0xf3, 0x50, 0x1d, 0xfe, 0xd4, 0x37,
   0xa4, 0xf7, 0xcf, 0x30, 0xc3, 0x1b, 0x48, 0xcf, 0x0d, 0xa3, 0xd5, 0x25, 0x3f, 0x76, 0x61, 0x44,
   0xde, 0x54, 0xe5, 0x10, 0x43, 0xe2, 0x0e, 0xf5, 0x96, 0x8f, 0xa2, 0x5c, 0x3b, 0x4c, 0xd7, 0x6f,
   0x61, 0x9e, 0x0f, 0x76, 0xbd, 0xbe, 0xcf, 0x44, 0x99, 0x4a, 0xe7, 0xdb, 0xca, 0x7e, 0x0a, 0xd0,
   0xde, 0xee, 0xb6, 0x4a, 0xb1, 0x86, 0x4a, 0x7e, 0x5b, 0xdc, 0xfb, 0xb1, 0x0f, 0x16, 0x6d, 0xf3,
   0xb0, 0x14, 0xab, 0xf7, 0x8a, 0xbb, 0x0f, 0xf4, 0x93, 0x8a, 0x7a, 0x16, 0xd1, 0xdd, 0x16, 0x22,
   0x47, 0xf4, 0x34, 0x72, 0x17, 0xe8, 0x65, 0x26, 0x60, 0x99, 0xc9, 0x68, 0x23, 0xa4, 0x9f, 0x66,
   0x71, 0xd5, 0x1e, 0xc9, 0x44, 0x9c, 0x9c, 0x07, 0x61, 0x9a, 0xea, 0xa7, 0x24, 0x6a, 0x8f, 0x08,
   0xc4, 0x73, 0xdc, 0x06, 0x8b, 0x0a, 0x71, 0x6a, 0xe7, 0xf5, 0xa3, 0x1c, 0xa7, 0x76, 0xe2, 0xad,
   0x6c, 0x54, 0x71, 0xa3, 0x56, 0x15, 0xb7, 0x0d, 0x96, 0x7a, 0x49, 0xc3, 0xe3, 0x54, 0x55, 0xc3,
   0x98, 0x9e, 0xd1, 0x74, 0x83, 0x4e, 0xcc, 0x98, 0x9d, 0x25, 0x51, 0xe5, 0xe2, 0x08, 0x1d, 0x10,
   0xe2, 0xfc, 0x15, 0x8c, 0x93, 0x22, 0x28, 0x72, 0x2e, 0x85, 0x0b, 0x17, 0x7b, 0x41, 0x34, 0xcc,
   0xbc, 0x38, 0xcc, 0xb9, 0xf4, 0x47, 0x09, 0xfd, 0x0a, 0xe7, 0x13, 0xe8, 0x97, 0x3c, 0x15, 0xee,
   0x84, 0x84, 0xaf, 0xb7, 0x85, 0x5f, 0xf1, 0xd4, 0x27, 0xb6, 0xf3, 0x85, 0xe9, 0xaf, 0xa6, 0x24,
   0x77, 0xa7, 0x96, 0xab, 0x4c, 0xde, 0x7c, 0x63, 0xd8, 0x07, 0x38, 0x49, 0x52, 0xe9, 0x33, 0xfd,
   0xee, 0x8d, 0x73, 0xee, 0x5f, 0x31, 0xe7, 0xd1, 0xb3, 0x4a, 0xea, 0x69, 0x26, 0xf9, 0xb9, 0xdf,
   0x98, 0xe6, 0x7c, 0x09, 0xe3, 0xa2, 0x14, 0x2b, 0xea, 0x6b, 0x67, 0x17, 0xdb, 0x3a, 0x9c, 0x7d,
   0xc4, 0xe4, 0x0b, 0x96, 0x95, 0xfe, 0xa8, 0x50, 0xc4, 0xd6, 0xdf, 0xc2, 0xe6, 0x85, 0x05, 0xb1,
   0x3a, 0x5f, 0xb3, 0x73, 0xed, 0x08, 0x38, 0xc4, 0x6c, 0xa5, 0x4a, 0x37, 0xdd, 0x35, 0x10, 0xf1,
   0x37, 0xdd, 0x6f, 0x3a, 0xde, 0xff, 0x74, 0x60, 0xd2, 0x58, 0xf7, 0xbd, 0x7c, 0xc8, 0x85, 0x51,
   0xb4, 0x62, 0xd1, 0x9a, 0xa9, 0xfb, 0x65, 0xec, 0x1b, 0xb2, 0x2e, 0x53, 0xfb, 0xcd, 0x32, 0xf5,
   0xaf, 0xb1, 0x64, 0x4b, 0xd2, 0x98, 0xb3, 0xec, 0x72, 0xaf, 0xda, 0xdc, 0x54, 0x25, 0xe6, 0xfd,
   0xae, 0x03, 0x1b, 0x2d, 0x2b, 0x5f, 0xf5, 0x92, 0x21, 0xf3, 0x22, 0x89, 0x9a, 0x6f, 0xa7, 0x16,
   0x21, 0xe4, 0x35, 0xdb, 0xa0, 0x08, 0x6c, 0xbd, 0xaa, 0x37, 0x47, 0x04, 0xb0, 0x9a, 0x6e, 0xb6,
   0x75, 0xfd, 0x9f, 0x6b, 0xeb, 0x06, 0x57, 0xb4, 0x75, 0xf4, 0xc7, 0x42, 0xca, 0x74, 0x3d, 0xac,
   0xdc, 0x9c, 0xfc, 0x5e, 0x25, 0x5d, 0x0f, 0x36, 0x28, 0xe3, 0x04, 0x74, 0x96, 0xd5, 0xab, 0xd2,
   0x84, 0x99, 0x1d, 0xcd, 0x63, 0xef, 0x15, 0x40, 0xed, 0x9b, 0xa8, 0xae, 0xf9, 0xaf, 0xa1, 0x30,
   0x57, 0xbd, 0x4e, 0x7f, 0xf5, 0xbb, 0x78, 0xb7, 0xf1, 0x2e, 0x5e, 0x87, 0x52, 0xaf, 0xf5, 0x82,
   0xfd, 0x15, 0x8c, 0xb4, 0x17, 0x9b, 0x26, 0xad, 0x53, 0x37, 0x69, 0xf5, 0xa4, 0x6e, 0x6b, 0xd2,
   0x8f, 0x1d, 0xa5, 0xcc, 0x9e, 0x94, 0x98, 0xf7, 0xee, 0xc0, 0xc8, 0x28, 0xae, 0x26, 0x0f, 0x0b,
   0xd2, 0xd9, 0xf1, 0xa0, 0x17, 0x85, 0xaa, 0xec, 0x6e, 0xf5, 0x8b, 0xaa, 0xdc, 0xf1, 0x91, 0xd9,
   0xdc, 0x89, 0x29, 0x3f, 0xcc, 0x4e, 0x62, 0x8c, 0x65, 0xcd, 0x6c, 0xf4, 0xa3, 0x20, 0xea, 0xc7,
   0xcf, 0xbb, 0x30, 0x4e, 0xf3, 0x28, 0x4c, 0xd1, 0x0c, 0xca, 0xf0, 0x23, 0xa2, 0xe7, 0x05, 0x2e,
   0x4c, 0x65, 0x09, 0xfd, 0x4b, 0x36, 0x6c, 0xd7, 0x29, 0xde, 0x1f, 0x3b, 0x70, 0xe3, 0xa9, 0x38,
   0x64, 0x5c, 0xe4, 0xd9, 0x7e, 0x18, 0xad, 0x74, 0x49, 0xee, 0x7c, 0xae, 0xeb, 0x14, 0x75, 0x47,
   0x34, 0xf2, 0xea, 0x53, 0xd1, 0x10, 0x8b, 0x75, 0x75, 0x7a, 0x57, 0x97, 0x0f, 0xaa, 0x4a, 0xec,
   0x55, 0x19, 0x7e, 0x4e, 0x15, 0x76, 0x41, 0xab, 0x37, 0xb6, 0xa5, 0x80, 0x39, 0x5d, 0x0c, 0x27,
   0xba, 0x54, 0xd0, 0x49, 0x53, 0x93, 0x8d, 0xd2, 0x7f, 0xf0, 0xb3, 0xa5, 0x7f, 0x7d, 0x3a, 0xea,
   0x01, 0xde, 0x64, 0xc7, 0x9b, 0x30, 0x88, 0x42, 0xfe, 0x32, 0xd7, 0x5e, 0xa4, 0x08, 0xef, 0xff,
   0x3b, 0xb0, 0xb9, 0x9f, 0x96, 0x42, 0x32, 0xbe, 0x97, 0xc5, 0xaa, 0xc0, 0xb8, 0x07, 0x56, 0xa4,
   0xa0, 0xaa, 0x60, 0xac, 0x01, 0x2c, 0x6a, 0x34, 0xf1, 0xb2, 0x8e, 0xe8, 0x26, 0xe4, 0x3c, 0x80,
   0x41, 0x46, 0xa5, 0x4b, 0xef, 0xe2, 0x63, 0x2a, 0xae, 0xef, 0x2b, 0x26, 0x7e, 0xe5, 0x2c, 0xe1,
   0xb2, 0xc4, 0x53, 0xd1, 0xfb, 0xad, 0x81, 0xd6, 0x9f, 0x32, 0x83, 0xf6, 0x9f, 0x32, 0xde, 0xbf,
   0x75, 0xa1, 0x8f, 0x2b, 0x5d, 0x15, 0xcc, 0x5a, 0x8f, 0xba, 0x40, 0x6f, 0x68, 0xbe, 0x0d, 0x16,
   0x7e, 0x3a, 0x68, 0xb4, 0x31, 0x63, 0x04, 0x48, 0xe9, 0x3b, 0x30, 0x22, 0x66, 0x55, 0x83, 0x0f,
   0x91, 0x9c, 0xc7, 0x35, 0xc3, 0xb8, 0x92, 0x62, 0x14, 0x17, 0xdf, 0x2a, 0x86, 0x97, 0xde, 0x2a,
   0xb6, 0x60, 0x9c, 0x88, 0x03, 0x96, 0x32, 0x69, 0x6e, 0xaa, 0x8a, 0xc6, 0xc9, 0x31, 0x4f, 0x4e,
   0x64, 0xa3, 0x7f, 0xb1, 0x7c, 0x20, 0xa8, 0xea, 0x5e, 0xd4, 0x55, 0xa5, 0xd2, 0x87, 0xbe, 0xaf,
   0x14, 0x44, 0x2f, 0xf4, 0xff, 0xdb, 0x81, 0xde, 0x41, 0x12, 0x5d, 0x32, 0xc2, 0x95, 0x49, 0xfa,
   0xca, 0xee, 0xcd, 0x54, 0xdf, 0xfd, 0x46, 0x67, 0xb5, 0x83, 0x9f, 0x15, 0x11, 0x4f, 0x8a, 0xca,
   0xdd, 0x2c, 0xbf, 0x09, 0x55, 0x7d, 0xf7, 0xb0, 0xee, 0xbb, 0xc9, 0xad, 0xe9, 0x2f, 0xee, 0x3a,
   0x4b, 0xe9, 0xff, 0xbc, 0xe7, 0xf1, 0xee, 0x2f, 0xba, 0x30, 0x6d, 0xf6, 0xb7, 0xce, 0x14, 0xc6,
   0x8b, 0x40, 0x05, 0xbb, 0x7d, 0xcd, 0xb1, 0x61, 0x6a, 0x28, 0xcc, 0xd0, 0x76, 0xc7, 0xb1, 0x60,
   0xb0, 0x08, 0x8e, 0xe2, 0xb5, 0xdd, 0x75, 0x6e, 0xc0, 0xa6, 0x61, 0xea, 0x0e, 0xc7, 0xee, 0x39,
   0x33, 0x80, 0x45, 0xb0, 0xd0, 0x6f, 0xe2, 0x76, 0x5f, 0xad, 0xa7, 0x8a, 0x49, 0x7b, 0xa0, 0xd6,
   0x3b, 0xcc, 0xd3, 0x74, 0x1f, 0xfb, 0xf5, 0xa5, 0x3d, 0x74, 0x00, 0x86, 0x8b, 0xe0, 0x59, 0x92,
   0x32, 0x7b, 0xe4, 0x5c, 0x87, 0x0d, 0x35, 0x3e, 0x62, 0x52, 0x26, 0xd9, 0xd2, 0x1e, 0xab, 0x09,
   0xf5, 0xab, 0x81, 0x6d, 0x39, 0x9b, 0x30, 0xd1, 0x42, 0x32, 0x8c, 0xd6, 0x36, 0x38, 0x37, 0xc1,
   0x5e, 0x04, 0x3e, 0xd3, 0xbd, 0x9e, 0x5a, 0x77, 0xe2, 0xdc, 0x06, 0x07, 0x95, 0x4b, 0xa3, 0x52,
   0xb5, 0x8d, 0x87, 0xf9, 0x1b, 0xc6, 0xed, 0xa9, 0x9a, 0x5e, 0x5d, 0x3b, 0xf6, 0x86, 0xb3, 0x01,
   0xd6, 0x22, 0xd0, 0x51, 0x66, 0xcf, 0x9c, 0x6d, 0xb8, 0x73, 0x61, 0x53, 0xa6, 0xf1, 0xb4, 0x37,
   0x9d, 0x09, 0x8c, 0x16, 0x01, 0x35, 0x27, 0xb6, 0xbd, 0xfb, 0x08, 0xc6, 0x26, 0xbe, 0x71, 0x17,
   0xf3, 0x4c, 0x30, 0x2e, 0xed, 0x6b, 0x38, 0x7e, 0x45, 0x4f, 0x5e, 0x76, 0x07, 0xc7, 0xca, 0xa7,
   0xec, 0xee, 0xae, 0x0f, 0xf6, 0xc5, 0xaa, 0x15, 0xb5, 0xf1, 0xd9, 0x3c, 0x4b, 0x24, 0x65, 0x2a,
   0xfb, 0x1a, 0x02, 0x6a, 0xb2, 0x02, 0x3a, 0xf8, 0x49, 0x3d, 0xcb, 0xee, 0x22, 0x57, 0x2d, 0xa7,
   0xb8, 0xbd, 0xdd, 0xaf, 0x61, 0xd6, 0xce, 0x72, 0x6a, 0x3b, 0x07, 0xc7, 0x74, 0xa6, 0xf6, 0x35,
   0x75, 0x46, 0x9a, 0x54, 0xa9, 0xd3, 0xee, 0x1c, 0x0f, 0x29, 0xe6, 0xbf, 0xfa, 0x53, 0x00, 0x00,
   0x00, 0xff, 0xff, 0x1c, 0x86, 0x6a, 0xce, 0x4b, 0x21, 0x00, 0x00,
}