liuxiaolong
2019-06-19 30768d386c3922492dbd40b541474767d6b6faa1
new pb.go
1个文件已添加
1766 ■■■■■ 已修改文件
protomsg.pb.go 1766 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
protomsg.pb.go
New file
@@ -0,0 +1,1766 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: protomsg.proto
package protomsg
import (
    fmt "fmt"
    proto "github.com/golang/protobuf/proto"
    math "math"
)
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
//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
)
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",
}
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,
}
func (x TableChanged) String() string {
    return proto.EnumName(TableChanged_name, int32(x))
}
func (TableChanged) EnumDescriptor() ([]byte, []int) {
    return fileDescriptor_32de24555f916688, []int{0}
}
type DbAction int32
const (
    DbAction_Insert DbAction = 0
    DbAction_Update DbAction = 1
    DbAction_Delete DbAction = 2
)
var DbAction_name = map[int32]string{
    0: "Insert",
    1: "Update",
    2: "Delete",
}
var DbAction_value = map[string]int32{
    "Insert": 0,
    "Update": 1,
    "Delete": 2,
}
func (x DbAction) String() string {
    return proto.EnumName(DbAction_name, int32(x))
}
func (DbAction) EnumDescriptor() ([]byte, []int) {
    return fileDescriptor_32de24555f916688, []int{1}
}
type SdkmsgWithTask struct {
    Sdkid                string   `protobuf:"bytes,1,opt,name=sdkid,proto3" json:"sdkid,omitempty"`
    Sdktype              string   `protobuf:"bytes,2,opt,name=sdktype,proto3" json:"sdktype,omitempty"`
    SdkName              string   `protobuf:"bytes,3,opt,name=sdkName,proto3" json:"sdkName,omitempty"`
    Sdkdata              []byte   `protobuf:"bytes,4,opt,name=sdkdata,proto3" json:"sdkdata,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}
func (m *SdkmsgWithTask) Reset()         { *m = SdkmsgWithTask{} }
func (m *SdkmsgWithTask) String() string { return proto.CompactTextString(m) }
func (*SdkmsgWithTask) ProtoMessage()    {}
func (*SdkmsgWithTask) Descriptor() ([]byte, []int) {
    return fileDescriptor_32de24555f916688, []int{0}
}
func (m *SdkmsgWithTask) XXX_Unmarshal(b []byte) error {
    return xxx_messageInfo_SdkmsgWithTask.Unmarshal(m, b)
}
func (m *SdkmsgWithTask) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
    return xxx_messageInfo_SdkmsgWithTask.Marshal(b, m, deterministic)
}
func (m *SdkmsgWithTask) XXX_Merge(src proto.Message) {
    xxx_messageInfo_SdkmsgWithTask.Merge(m, src)
}
func (m *SdkmsgWithTask) XXX_Size() int {
    return xxx_messageInfo_SdkmsgWithTask.Size(m)
}
func (m *SdkmsgWithTask) XXX_DiscardUnknown() {
    xxx_messageInfo_SdkmsgWithTask.DiscardUnknown(m)
}
var xxx_messageInfo_SdkmsgWithTask proto.InternalMessageInfo
func (m *SdkmsgWithTask) GetSdkid() string {
    if m != nil {
        return m.Sdkid
    }
    return ""
}
func (m *SdkmsgWithTask) GetSdktype() string {
    if m != nil {
        return m.Sdktype
    }
    return ""
}
func (m *SdkmsgWithTask) GetSdkName() string {
    if m != nil {
        return m.SdkName
    }
    return ""
}
func (m *SdkmsgWithTask) GetSdkdata() []byte {
    if m != nil {
        return m.Sdkdata
    }
    return nil
}
type TaskLabel 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"`
    Sdkinfos             []*SdkmsgWithTask `protobuf:"bytes,3,rep,name=sdkinfos,proto3" json:"sdkinfos,omitempty"`
    Index                int32             `protobuf:"varint,4,opt,name=index,proto3" json:"index,omitempty"`
    XXX_NoUnkeyedLiteral struct{}          `json:"-"`
    XXX_unrecognized     []byte            `json:"-"`
    XXX_sizecache        int32             `json:"-"`
}
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{1}
}
func (m *TaskLabel) XXX_Unmarshal(b []byte) error {
    return xxx_messageInfo_TaskLabel.Unmarshal(m, b)
}
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 xxx_messageInfo_TaskLabel proto.InternalMessageInfo
func (m *TaskLabel) GetTaskid() string {
    if m != nil {
        return m.Taskid
    }
    return ""
}
func (m *TaskLabel) GetTaskname() string {
    if m != nil {
        return m.Taskname
    }
    return ""
}
func (m *TaskLabel) GetSdkinfos() []*SdkmsgWithTask {
    if m != nil {
        return m.Sdkinfos
    }
    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"`
    Caddr                string     `protobuf:"bytes,2,opt,name=caddr,proto3" json:"caddr,omitempty"`
    Tasklab              *TaskLabel `protobuf:"bytes,3,opt,name=tasklab,proto3" json:"tasklab,omitempty"`
    Data                 []byte     `protobuf:"bytes,4,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{2}
}
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) GetCaddr() string {
    if m != nil {
        return m.Caddr
    }
    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
}
//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"`
    Name                 string   `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}
func (m *Area) Reset()         { *m = Area{} }
func (m *Area) String() string { return proto.CompactTextString(m) }
func (*Area) ProtoMessage()    {}
func (*Area) Descriptor() ([]byte, []int) {
    return fileDescriptor_32de24555f916688, []int{3}
}
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 (m *Area) XXX_Size() int {
    return xxx_messageInfo_Area.Size(m)
}
func (m *Area) XXX_DiscardUnknown() {
    xxx_messageInfo_Area.DiscardUnknown(m)
}
var xxx_messageInfo_Area proto.InternalMessageInfo
func (m *Area) GetId() int32 {
    if m != nil {
        return m.Id
    }
    return 0
}
func (m *Area) GetParentid() int32 {
    if m != nil {
        return m.Parentid
    }
    return 0
}
func (m *Area) GetName() string {
    if m != nil {
        return m.Name
    }
    return ""
}
//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:"-"`
}
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}
}
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 (m *Camera) XXX_Size() int {
    return xxx_messageInfo_Camera.Size(m)
}
func (m *Camera) XXX_DiscardUnknown() {
    xxx_messageInfo_Camera.DiscardUnknown(m)
}
var xxx_messageInfo_Camera proto.InternalMessageInfo
func (m *Camera) GetId() string {
    if m != nil {
        return m.Id
    }
    return ""
}
func (m *Camera) GetName() string {
    if m != nil {
        return m.Name
    }
    return ""
}
func (m *Camera) GetType() int32 {
    if m != nil {
        return m.Type
    }
    return 0
}
func (m *Camera) GetAddr() string {
    if m != nil {
        return m.Addr
    }
    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
    }
    return 0
}
func (m *Camera) GetLatitude() float32 {
    if m != nil {
        return m.Latitude
    }
    return 0
}
func (m *Camera) GetRtsp() string {
    if m != nil {
        return m.Rtsp
    }
    return ""
}
func (m *Camera) GetIp() string {
    if m != nil {
        return m.Ip
    }
    return ""
}
func (m *Camera) GetPort() int32 {
    if m != nil {
        return m.Port
    }
    return 0
}
func (m *Camera) GetUsername() string {
    if m != nil {
        return m.Username
    }
    return ""
}
func (m *Camera) GetPassword() string {
    if m != nil {
        return m.Password
    }
    return ""
}
func (m *Camera) GetBrand() string {
    if m != nil {
        return m.Brand
    }
    return ""
}
func (m *Camera) GetReserved() string {
    if m != nil {
        return m.Reserved
    }
    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"`
    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 *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_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"`
    CameraId             string    `protobuf:"bytes,2,opt,name=camera_id,json=cameraId,proto3" json:"camera_id,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"`
    LinkTaskId           string    `protobuf:"bytes,12,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) 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 {
    if m != nil {
        return m.Id
    }
    return ""
}
func (m *CameraTask) GetCameraId() string {
    if m != nil {
        return m.CameraId
    }
    return ""
}
func (m *CameraTask) GetTaskId() string {
    if m != nil {
        return m.TaskId
    }
    return ""
}
func (m *CameraTask) GetTimeRule() []*DayCtl {
    if m != nil {
        return m.TimeRule
    }
    return nil
}
func (m *CameraTask) GetReactRule() string {
    if m != nil {
        return m.ReactRule
    }
    return ""
}
func (m *CameraTask) GetReactDevice() string {
    if m != nil {
        return m.ReactDevice
    }
    return ""
}
func (m *CameraTask) GetDelFlag() bool {
    if m != nil {
        return m.DelFlag
    }
    return false
}
func (m *CameraTask) GetUpdateFlag() bool {
    if m != nil {
        return m.UpdateFlag
    }
    return false
}
func (m *CameraTask) GetEnable() bool {
    if m != nil {
        return m.Enable
    }
    return false
}
func (m *CameraTask) GetSort() int32 {
    if m != nil {
        return m.Sort
    }
    return 0
}
func (m *CameraTask) GetIsFull() bool {
    if m != nil {
        return m.IsFull
    }
    return false
}
func (m *CameraTask) GetLinkTaskId() string {
    if m != nil {
        return m.LinkTaskId
    }
    return ""
}
//摄像机布防的时间规则,可以设置多个,用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"`
    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}
}
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 (m *CameraTimerule) XXX_Size() int {
    return xxx_messageInfo_CameraTimerule.Size(m)
}
func (m *CameraTimerule) XXX_DiscardUnknown() {
    xxx_messageInfo_CameraTimerule.DiscardUnknown(m)
}
var xxx_messageInfo_CameraTimerule proto.InternalMessageInfo
func (m *CameraTimerule) GetId() string {
    if m != nil {
        return m.Id
    }
    return ""
}
func (m *CameraTimerule) GetName() string {
    if m != nil {
        return m.Name
    }
    return ""
}
func (m *CameraTimerule) GetTimeRule() string {
    if m != nil {
        return m.TimeRule
    }
    return ""
}
//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"`
    XXX_NoUnkeyedLiteral struct{}     `json:"-"`
    XXX_unrecognized     []byte       `json:"-"`
    XXX_sizecache        int32        `json:"-"`
}
func (m *DayCtl) Reset()         { *m = DayCtl{} }
func (m *DayCtl) String() string { return proto.CompactTextString(m) }
func (*DayCtl) ProtoMessage()    {}
func (*DayCtl) Descriptor() ([]byte, []int) {
    return fileDescriptor_32de24555f916688, []int{10}
}
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 (m *DayCtl) XXX_Size() int {
    return xxx_messageInfo_DayCtl.Size(m)
}
func (m *DayCtl) XXX_DiscardUnknown() {
    xxx_messageInfo_DayCtl.DiscardUnknown(m)
}
var xxx_messageInfo_DayCtl proto.InternalMessageInfo
func (m *DayCtl) GetDay() int32 {
    if m != nil {
        return m.Day
    }
    return 0
}
func (m *DayCtl) GetTimeRange() []*TimeRange {
    if m != nil {
        return m.TimeRange
    }
    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"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}
func (m *TimeRange) Reset()         { *m = TimeRange{} }
func (m *TimeRange) String() string { return proto.CompactTextString(m) }
func (*TimeRange) ProtoMessage()    {}
func (*TimeRange) Descriptor() ([]byte, []int) {
    return fileDescriptor_32de24555f916688, []int{11}
}
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 (m *TimeRange) XXX_Size() int {
    return xxx_messageInfo_TimeRange.Size(m)
}
func (m *TimeRange) XXX_DiscardUnknown() {
    xxx_messageInfo_TimeRange.DiscardUnknown(m)
}
var xxx_messageInfo_TimeRange proto.InternalMessageInfo
func (m *TimeRange) GetStart() string {
    if m != nil {
        return m.Start
    }
    return ""
}
func (m *TimeRange) GetEnd() string {
    if m != nil {
        return m.End
    }
    return ""
}
//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,3,rep,name=points,proto3" json:"points,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}
func (m *Polygon) Reset()         { *m = Polygon{} }
func (m *Polygon) String() string { return proto.CompactTextString(m) }
func (*Polygon) ProtoMessage()    {}
func (*Polygon) Descriptor() ([]byte, []int) {
    return fileDescriptor_32de24555f916688, []int{12}
}
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 (m *Polygon) XXX_Size() int {
    return xxx_messageInfo_Polygon.Size(m)
}
func (m *Polygon) XXX_DiscardUnknown() {
    xxx_messageInfo_Polygon.DiscardUnknown(m)
}
var xxx_messageInfo_Polygon proto.InternalMessageInfo
func (m *Polygon) GetId() string {
    if m != nil {
        return m.Id
    }
    return ""
}
func (m *Polygon) GetName() string {
    if m != nil {
        return m.Name
    }
    return ""
}
func (m *Polygon) GetPoints() []*Point {
    if m != nil {
        return m.Points
    }
    return nil
}
type CameraTaskArgs struct {
    CameraId             string           `protobuf:"bytes,1,opt,name=camera_id,json=cameraId,proto3" json:"camera_id,omitempty"`
    TaskArgs             []*TaskGroupArgs `protobuf:"bytes,2,rep,name=task_args,json=taskArgs,proto3" json:"task_args,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 *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_CameraTaskArgs proto.InternalMessageInfo
func (m *CameraTaskArgs) GetCameraId() string {
    if m != nil {
        return m.CameraId
    }
    return ""
}
func (m *CameraTaskArgs) GetTaskArgs() []*TaskGroupArgs {
    if m != nil {
        return m.TaskArgs
    }
    return nil
}
type TaskGroupArgs struct {
    TaskId               string       `protobuf:"bytes,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
    GroupRules           []*GroupRule `protobuf:"bytes,2,rep,name=group_rules,json=groupRules,proto3" json:"group_rules,omitempty"`
    XXX_NoUnkeyedLiteral struct{}     `json:"-"`
    XXX_unrecognized     []byte       `json:"-"`
    XXX_sizecache        int32        `json:"-"`
}
func (m *TaskGroupArgs) Reset()         { *m = TaskGroupArgs{} }
func (m *TaskGroupArgs) String() string { return proto.CompactTextString(m) }
func (*TaskGroupArgs) ProtoMessage()    {}
func (*TaskGroupArgs) Descriptor() ([]byte, []int) {
    return fileDescriptor_32de24555f916688, []int{14}
}
func (m *TaskGroupArgs) XXX_Unmarshal(b []byte) error {
    return xxx_messageInfo_TaskGroupArgs.Unmarshal(m, b)
}
func (m *TaskGroupArgs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
    return xxx_messageInfo_TaskGroupArgs.Marshal(b, m, deterministic)
}
func (m *TaskGroupArgs) XXX_Merge(src proto.Message) {
    xxx_messageInfo_TaskGroupArgs.Merge(m, src)
}
func (m *TaskGroupArgs) XXX_Size() int {
    return xxx_messageInfo_TaskGroupArgs.Size(m)
}
func (m *TaskGroupArgs) XXX_DiscardUnknown() {
    xxx_messageInfo_TaskGroupArgs.DiscardUnknown(m)
}
var xxx_messageInfo_TaskGroupArgs proto.InternalMessageInfo
func (m *TaskGroupArgs) GetTaskId() string {
    if m != nil {
        return m.TaskId
    }
    return ""
}
func (m *TaskGroupArgs) GetGroupRules() []*GroupRule {
    if m != nil {
        return m.GroupRules
    }
    return nil
}
type GroupRule struct {
    GroupId              string   `protobuf:"bytes,1,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
    Rules                []*Rule  `protobuf:"bytes,2,rep,name=rules,proto3" json:"rules,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_32de24555f916688, []int{15}
}
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 (m *GroupRule) XXX_Merge(src proto.Message) {
    xxx_messageInfo_GroupRule.Merge(m, 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) GetGroupId() string {
    if m != nil {
        return m.GroupId
    }
    return ""
}
func (m *GroupRule) GetRules() []*Rule {
    if m != nil {
        return m.Rules
    }
    return nil
}
type Rule 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"`
    RuleWithPre          string   `protobuf:"bytes,11,opt,name=rule_with_pre,json=ruleWithPre,proto3" json:"rule_with_pre,omitempty"`
    GroupId              string   `protobuf:"bytes,12,opt,name=group_id,json=groupId,proto3" json:"group_id,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_32de24555f916688, []int{16}
}
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 (m *Rule) XXX_Merge(src proto.Message) {
    xxx_messageInfo_Rule.Merge(m, 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) GetCameraTaskId() string {
    if m != nil {
        return m.CameraTaskId
    }
    return ""
}
func (m *Rule) GetCameraId() string {
    if m != nil {
        return m.CameraId
    }
    return ""
}
func (m *Rule) GetPolygonId() string {
    if m != nil {
        return m.PolygonId
    }
    return ""
}
func (m *Rule) GetSdkId() string {
    if m != nil {
        return m.SdkId
    }
    return ""
}
func (m *Rule) GetSdkArgAlias() string {
    if m != nil {
        return m.SdkArgAlias
    }
    return ""
}
func (m *Rule) GetOperator() string {
    if m != nil {
        return m.Operator
    }
    return ""
}
func (m *Rule) GetOperatorType() string {
    if m != nil {
        return m.OperatorType
    }
    return ""
}
func (m *Rule) GetSdkArgValue() string {
    if m != nil {
        return m.SdkArgValue
    }
    return ""
}
func (m *Rule) GetSort() int32 {
    if m != nil {
        return m.Sort
    }
    return 0
}
func (m *Rule) GetRuleWithPre() string {
    if m != nil {
        return m.RuleWithPre
    }
    return ""
}
func (m *Rule) GetGroupId() string {
    if m != nil {
        return m.GroupId
    }
    return ""
}
//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"`
    Enable               bool      `protobuf:"varint,10,opt,name=enable,proto3" json:"enable,omitempty"`
    DelFlag              int32     `protobuf:"varint,11,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 *Sdk) Reset()         { *m = Sdk{} }
func (m *Sdk) String() string { return proto.CompactTextString(m) }
func (*Sdk) ProtoMessage()    {}
func (*Sdk) Descriptor() ([]byte, []int) {
    return fileDescriptor_32de24555f916688, []int{17}
}
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 (m *Sdk) XXX_Size() int {
    return xxx_messageInfo_Sdk.Size(m)
}
func (m *Sdk) XXX_DiscardUnknown() {
    xxx_messageInfo_Sdk.DiscardUnknown(m)
}
var xxx_messageInfo_Sdk proto.InternalMessageInfo
func (m *Sdk) GetId() string {
    if m != nil {
        return m.Id
    }
    return ""
}
func (m *Sdk) GetSdkType() string {
    if m != nil {
        return m.SdkType
    }
    return ""
}
func (m *Sdk) GetSdkName() string {
    if m != nil {
        return m.SdkName
    }
    return ""
}
func (m *Sdk) GetArgs() []*SdkArg {
    if m != nil {
        return m.Args
    }
    return nil
}
func (m *Sdk) GetIcon() string {
    if m != nil {
        return m.Icon
    }
    return ""
}
func (m *Sdk) GetUrl() string {
    if m != nil {
        return m.Url
    }
    return ""
}
func (m *Sdk) GetCreateTime() string {
    if m != nil {
        return m.CreateTime
    }
    return ""
}
func (m *Sdk) GetUpdateTime() string {
    if m != nil {
        return m.UpdateTime
    }
    return ""
}
func (m *Sdk) GetCreateBy() string {
    if m != nil {
        return m.CreateBy
    }
    return ""
}
func (m *Sdk) GetEnable() bool {
    if m != nil {
        return m.Enable
    }
    return false
}
func (m *Sdk) GetDelFlag() int32 {
    if m != nil {
        return m.DelFlag
    }
    return 0
}
//SdkArg struct
type SdkArg struct {
    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"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}
func (m *SdkArg) Reset()         { *m = SdkArg{} }
func (m *SdkArg) String() string { return proto.CompactTextString(m) }
func (*SdkArg) ProtoMessage()    {}
func (*SdkArg) Descriptor() ([]byte, []int) {
    return fileDescriptor_32de24555f916688, []int{18}
}
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 (m *SdkArg) XXX_Size() int {
    return xxx_messageInfo_SdkArg.Size(m)
}
func (m *SdkArg) XXX_DiscardUnknown() {
    xxx_messageInfo_SdkArg.DiscardUnknown(m)
}
var xxx_messageInfo_SdkArg proto.InternalMessageInfo
func (m *SdkArg) GetAlias() string {
    if m != nil {
        return m.Alias
    }
    return ""
}
func (m *SdkArg) GetName() string {
    if m != nil {
        return m.Name
    }
    return ""
}
func (m *SdkArg) GetType() string {
    if m != nil {
        return m.Type
    }
    return ""
}
func (m *SdkArg) GetMust() bool {
    if m != nil {
        return m.Must
    }
    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) GetSort() int32 {
    if m != nil {
        return m.Sort
    }
    return 0
}
//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"`
    Action               DbAction     `protobuf:"varint,3,opt,name=action,proto3,enum=protomsg.DbAction" json:"action,omitempty"`
    Info                 string       `protobuf:"bytes,4,opt,name=info,proto3" json:"info,omitempty"`
    XXX_NoUnkeyedLiteral struct{}     `json:"-"`
    XXX_unrecognized     []byte       `json:"-"`
    XXX_sizecache        int32        `json:"-"`
}
func (m *DbChangeMessage) Reset()         { *m = DbChangeMessage{} }
func (m *DbChangeMessage) String() string { return proto.CompactTextString(m) }
func (*DbChangeMessage) ProtoMessage()    {}
func (*DbChangeMessage) Descriptor() ([]byte, []int) {
    return fileDescriptor_32de24555f916688, []int{19}
}
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 (m *DbChangeMessage) XXX_Size() int {
    return xxx_messageInfo_DbChangeMessage.Size(m)
}
func (m *DbChangeMessage) XXX_DiscardUnknown() {
    xxx_messageInfo_DbChangeMessage.DiscardUnknown(m)
}
var xxx_messageInfo_DbChangeMessage proto.InternalMessageInfo
func (m *DbChangeMessage) GetTable() TableChanged {
    if m != nil {
        return m.Table
    }
    return TableChanged_T_Camera
}
func (m *DbChangeMessage) GetId() string {
    if m != nil {
        return m.Id
    }
    return ""
}
func (m *DbChangeMessage) GetAction() DbAction {
    if m != nil {
        return m.Action
    }
    return DbAction_Insert
}
func (m *DbChangeMessage) GetInfo() string {
    if m != nil {
        return m.Info
    }
    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"`
    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_32de24555f916688, []int{20}
}
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 (m *CameraPolygon) XXX_Merge(src proto.Message) {
    xxx_messageInfo_CameraPolygon.Merge(m, 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 init() {
    proto.RegisterEnum("protomsg.TableChanged", TableChanged_name, TableChanged_value)
    proto.RegisterEnum("protomsg.DbAction", DbAction_name, DbAction_value)
    proto.RegisterType((*SdkmsgWithTask)(nil), "protomsg.SdkmsgWithTask")
    proto.RegisterType((*TaskLabel)(nil), "protomsg.TaskLabel")
    proto.RegisterType((*SdkMessage)(nil), "protomsg.SdkMessage")
    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((*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((*TaskGroupArgs)(nil), "protomsg.TaskGroupArgs")
    proto.RegisterType((*GroupRule)(nil), "protomsg.GroupRule")
    proto.RegisterType((*Rule)(nil), "protomsg.Rule")
    proto.RegisterType((*Sdk)(nil), "protomsg.Sdk")
    proto.RegisterType((*SdkArg)(nil), "protomsg.SdkArg")
    proto.RegisterType((*DbChangeMessage)(nil), "protomsg.DbChangeMessage")
    proto.RegisterType((*CameraPolygon)(nil), "protomsg.CameraPolygon")
}
func init() { proto.RegisterFile("protomsg.proto", fileDescriptor_32de24555f916688) }
var fileDescriptor_32de24555f916688 = []byte{
    // 1472 bytes of a gzipped FileDescriptorProto
    0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x57, 0xcd, 0x8e, 0x1b, 0x45,
    0x10, 0x8e, 0xff, 0x3d, 0xe5, 0x9f, 0x38, 0x4d, 0x48, 0x26, 0x09, 0x11, 0x9b, 0x49, 0x10, 0xab,
    0x88, 0xe4, 0xb0, 0xc9, 0x0b, 0x98, 0xac, 0x82, 0x2c, 0x85, 0x28, 0xb4, 0x97, 0x70, 0x63, 0xd4,
    0x76, 0xf7, 0x4e, 0x46, 0x1e, 0xcf, 0x58, 0xdd, 0xed, 0x84, 0x3d, 0xf0, 0x04, 0x1c, 0xb8, 0xf2,
    0x0a, 0xbc, 0x09, 0x6f, 0xc1, 0x8d, 0x0b, 0xe2, 0x1d, 0x50, 0x55, 0xf7, 0x8c, 0xc7, 0xce, 0x02,
    0x11, 0xb7, 0xfa, 0x9b, 0xee, 0xaa, 0xaf, 0xfe, 0x7a, 0x60, 0xbc, 0xd1, 0x85, 0x2d, 0xd6, 0x26,
    0x79, 0x4c, 0x04, 0xeb, 0x97, 0xfc, 0x6d, 0x58, 0x08, 0xa3, 0x9c, 0x34, 0xb2, 0x30, 0x9e, 0xcb,
    0xd5, 0xda, 0x24, 0xdf, 0xa5, 0xf6, 0xcd, 0x99, 0x30, 0x2b, 0x76, 0x1d, 0x3a, 0x46, 0xae, 0x52,
    0x19, 0x36, 0x8e, 0x1a, 0xc7, 0x01, 0x77, 0x0c, 0x0b, 0xa1, 0x67, 0xe4, 0xca, 0x5e, 0x6c, 0x54,
    0xd8, 0x24, 0x79, 0xc9, 0x7a, 0xcd, 0x4b, 0xb1, 0x56, 0x61, 0xab, 0xd2, 0x20, 0xeb, 0x35, 0x52,
    0x58, 0x11, 0xb6, 0x8f, 0x1a, 0xc7, 0x43, 0x5e, 0xb2, 0xd1, 0x4f, 0x0d, 0x08, 0xf0, 0xb2, 0x17,
    0x62, 0xa1, 0x32, 0x76, 0x03, 0xba, 0x56, 0x98, 0xdd, 0x95, 0x9e, 0x63, 0xb7, 0xa1, 0x8f, 0x54,
    0x8e, 0x47, 0xbb, 0x4b, 0x2b, 0x9e, 0x3d, 0x85, 0x3e, 0x3a, 0x96, 0x9f, 0x17, 0x26, 0x6c, 0x1d,
    0xb5, 0x8e, 0x07, 0x27, 0xe1, 0xe3, 0x2a, 0xe0, 0xfd, 0x88, 0x78, 0x65, 0x89, 0xb1, 0xa5, 0xb9,
    0x54, 0x3f, 0x90, 0x3f, 0x1d, 0xee, 0x98, 0xe8, 0x1d, 0xc0, 0x5c, 0xae, 0xbe, 0x56, 0xc6, 0x88,
    0x44, 0xb1, 0x09, 0xb4, 0x96, 0x95, 0x2b, 0x48, 0xe2, 0x57, 0x4b, 0x21, 0xa5, 0xf6, 0x4e, 0x38,
    0x86, 0x3d, 0x82, 0x1e, 0x7a, 0x93, 0x89, 0x05, 0xc5, 0x3d, 0x38, 0xf9, 0x68, 0xe7, 0x40, 0x15,
    0x1b, 0x2f, 0x6d, 0x18, 0x83, 0x76, 0x0d, 0x09, 0xa2, 0xa3, 0xe7, 0xd0, 0x9e, 0x6a, 0x25, 0xd8,
    0x18, 0x9a, 0xfe, 0xc6, 0x0e, 0x6f, 0xba, 0xc0, 0x37, 0x42, 0xab, 0xdc, 0xa6, 0x92, 0xee, 0xec,
    0xf0, 0x8a, 0xc7, 0x73, 0xf2, 0x1d, 0xd6, 0x44, 0x47, 0xbf, 0x35, 0xa1, 0xfb, 0x4c, 0xac, 0x95,
    0xae, 0x1f, 0x15, 0xd0, 0x51, 0xa5, 0x79, 0x73, 0x67, 0x8e, 0x32, 0x4a, 0x64, 0x8b, 0x8e, 0x26,
    0x1a, 0x65, 0x14, 0x62, 0xdb, 0xd9, 0x51, 0x84, 0x37, 0xa0, 0x2b, 0xb4, 0x12, 0xa9, 0x0c, 0x3b,
    0x64, 0xe9, 0x39, 0xf6, 0x09, 0x04, 0x59, 0x91, 0x27, 0xa9, 0xdd, 0x4a, 0x15, 0x76, 0x8f, 0x1a,
    0xc7, 0x4d, 0xbe, 0x13, 0xa0, 0xf3, 0x99, 0xb0, 0x4e, 0xd9, 0x23, 0x65, 0xc5, 0xe3, 0x2d, 0xda,
    0x9a, 0x4d, 0xd8, 0x77, 0xb7, 0x20, 0x4d, 0x1e, 0x6f, 0xc2, 0xc0, 0x7b, 0xbc, 0x41, 0x9b, 0x4d,
    0xa1, 0x6d, 0x08, 0xce, 0x3b, 0xa4, 0xf1, 0xcc, 0xad, 0x51, 0x9a, 0x22, 0x19, 0xb8, 0x4a, 0x28,
    0x79, 0x07, 0x96, 0x31, 0xef, 0x0a, 0x2d, 0xc3, 0xa1, 0xd3, 0x95, 0x3c, 0x66, 0x6e, 0xa1, 0x45,
    0x2e, 0xc3, 0x91, 0xcb, 0x1c, 0x31, 0xf8, 0x85, 0x56, 0x46, 0xe9, 0xb7, 0x4a, 0x86, 0x63, 0xf7,
    0x45, 0xc9, 0x47, 0x4b, 0xb8, 0xe6, 0x90, 0x9c, 0xe6, 0x12, 0xb3, 0x38, 0xcb, 0xcf, 0x0b, 0x76,
    0x0c, 0xdd, 0x25, 0x09, 0x09, 0xd8, 0xc1, 0xc9, 0x64, 0x97, 0x69, 0x67, 0xcc, 0xbd, 0x9e, 0x3d,
    0x80, 0x0e, 0x26, 0xdc, 0x84, 0x4d, 0xaa, 0xc9, 0xf1, 0x7e, 0x49, 0x70, 0xa7, 0x8c, 0x7e, 0x6f,
    0x40, 0x9b, 0x7a, 0xed, 0xff, 0x54, 0xfe, 0x1d, 0x08, 0x96, 0x5a, 0x09, 0xab, 0x62, 0x61, 0x7d,
    0x15, 0xf4, 0x9d, 0x60, 0x6a, 0x6b, 0xca, 0xc5, 0x85, 0xcf, 0xa5, 0x57, 0x7e, 0x79, 0x81, 0xca,
    0xed, 0x46, 0xfa, 0x2f, 0x3b, 0x1e, 0x46, 0x12, 0x4c, 0x2d, 0xba, 0xa2, 0x72, 0xb1, 0xc8, 0x5c,
    0x46, 0xfb, 0xdc, 0x73, 0xec, 0x16, 0xf4, 0x53, 0x13, 0x8b, 0x4c, 0xe8, 0x35, 0xa5, 0xb3, 0xcf,
    0x7b, 0xa9, 0x99, 0x22, 0x8b, 0x2a, 0xa9, 0xb2, 0xf8, 0x3c, 0x13, 0x09, 0x65, 0xb4, 0xcf, 0x7b,
    0x52, 0x65, 0xcf, 0x33, 0x91, 0x44, 0x67, 0x30, 0xc0, 0x00, 0xe7, 0xd2, 0x01, 0x18, 0x41, 0x1b,
    0xfd, 0xf7, 0xf0, 0x1d, 0xa2, 0x42, 0x3a, 0x76, 0x0f, 0xda, 0x46, 0x56, 0xc8, 0x8d, 0xf6, 0xba,
    0x99, 0x93, 0x2a, 0xfa, 0xa3, 0x09, 0xe0, 0x00, 0x27, 0xf4, 0x0e, 0x6b, 0x1d, 0x83, 0x27, 0x6d,
    0xec, 0xfb, 0x06, 0x83, 0x27, 0xc1, 0x4c, 0xb2, 0x9b, 0xae, 0x5d, 0x51, 0xd5, 0xda, 0x61, 0x3d,
    0x93, 0xec, 0x11, 0x04, 0x36, 0x5d, 0xab, 0x58, 0x6f, 0x33, 0x15, 0xb6, 0xe9, 0xf2, 0x5a, 0x7e,
    0x4f, 0xc5, 0xc5, 0x33, 0x9b, 0xf1, 0x3e, 0x9a, 0xf0, 0x6d, 0xa6, 0xd8, 0x5d, 0x00, 0xad, 0xc4,
    0xd2, 0x3a, 0x7b, 0x87, 0x62, 0x40, 0x12, 0x52, 0xdf, 0x83, 0xa1, 0x53, 0x4b, 0xf5, 0x36, 0x5d,
    0x3a, 0x30, 0x03, 0x3e, 0x20, 0xd9, 0x29, 0x89, 0xf6, 0x60, 0xeb, 0xed, 0xc1, 0xc6, 0x3e, 0x85,
    0x81, 0xcf, 0x50, 0x0d, 0x54, 0x70, 0x22, 0x32, 0xd8, 0x65, 0x29, 0xd8, 0xcb, 0x12, 0x83, 0xb6,
    0xa9, 0x35, 0x0d, 0xd2, 0x18, 0x71, 0x6a, 0xe2, 0xf3, 0x6d, 0x96, 0x51, 0xcf, 0xf4, 0x79, 0x37,
    0x35, 0xcf, 0xb7, 0x59, 0xc6, 0x8e, 0x60, 0x98, 0xa5, 0xf9, 0x2a, 0x2e, 0xf1, 0x70, 0x5d, 0x03,
    0x28, 0xa3, 0x92, 0x97, 0xd1, 0x37, 0x30, 0xf6, 0x38, 0xa7, 0x6b, 0x85, 0x81, 0x7e, 0xd0, 0x5c,
    0xb9, 0x53, 0x47, 0xd2, 0x57, 0x66, 0x89, 0x5b, 0xf4, 0x12, 0xba, 0x0e, 0x4b, 0x1c, 0xb0, 0x52,
    0x5c, 0xf8, 0x71, 0x87, 0x24, 0x3b, 0x01, 0x70, 0x1f, 0x8a, 0x3c, 0x51, 0xbe, 0x00, 0xea, 0xd3,
    0x14, 0xcf, 0x40, 0x15, 0xa7, 0xf3, 0x89, 0x8c, 0x9e, 0x40, 0x50, 0xc9, 0x69, 0x67, 0x59, 0xa1,
    0x6d, 0xb5, 0xb3, 0x90, 0xc1, 0x8b, 0x54, 0x5e, 0x56, 0x02, 0x92, 0xd1, 0x6b, 0xe8, 0xbd, 0x2a,
    0xb2, 0x8b, 0xa4, 0xc8, 0x3f, 0x28, 0xa0, 0xcf, 0xa1, 0xbb, 0x29, 0xd2, 0xdc, 0x96, 0x2b, 0xe6,
    0xea, 0xce, 0xa7, 0x57, 0x28, 0xe7, 0x5e, 0x1d, 0x2d, 0x2b, 0xbc, 0x84, 0x59, 0x4d, 0x75, 0x62,
    0xf6, 0x6b, 0xb1, 0x71, 0x50, 0x8b, 0x4f, 0x21, 0x20, 0xec, 0x85, 0x4e, 0xca, 0x7a, 0xbf, 0xb9,
    0xdf, 0x13, 0x5f, 0xe9, 0x62, 0xbb, 0xc1, 0x83, 0x5c, 0xe3, 0x23, 0x15, 0x7d, 0x0f, 0xa3, 0x3d,
    0x55, 0xbd, 0xa4, 0x1b, 0x7b, 0x25, 0xfd, 0x14, 0x06, 0x09, 0x5a, 0x51, 0x26, 0xcc, 0xfb, 0x80,
    0xd2, 0x11, 0x98, 0x15, 0x0e, 0x49, 0x49, 0x9a, 0xe8, 0x05, 0x04, 0x95, 0x02, 0x8b, 0xd4, 0x1d,
    0x51, 0x1d, 0xde, 0x23, 0x7e, 0x26, 0x71, 0xc6, 0xd5, 0xcf, 0xad, 0x75, 0x33, 0x1d, 0xe9, 0x94,
    0xd1, 0x9f, 0x4d, 0x68, 0xf3, 0xcb, 0x2a, 0xe7, 0x01, 0x8c, 0x3d, 0x32, 0xa5, 0xf3, 0x0e, 0xf2,
    0xe1, 0xb2, 0x42, 0x70, 0x76, 0xd0, 0xcb, 0xad, 0x03, 0xfc, 0xee, 0x02, 0x6c, 0x5c, 0x1a, 0x51,
    0xeb, 0xc6, 0x5c, 0xe0, 0x25, 0x33, 0xc9, 0x3e, 0x86, 0xae, 0x91, 0x74, 0x72, 0xa7, 0x7a, 0xc2,
    0xcc, 0x24, 0x8b, 0x60, 0x84, 0x62, 0xa1, 0x93, 0x58, 0x64, 0xa9, 0x30, 0x65, 0x6f, 0x1a, 0x89,
    0xf8, 0x4e, 0x51, 0x84, 0x83, 0xb7, 0xd8, 0x28, 0x2d, 0x6c, 0xa1, 0xa9, 0x37, 0x03, 0x5e, 0xf1,
    0xec, 0x3e, 0x8c, 0x4a, 0x3a, 0xa6, 0xfd, 0xe9, 0xb6, 0xd8, 0xb0, 0x14, 0x9e, 0xe1, 0x1e, 0xad,
    0x5d, 0xf2, 0x56, 0x64, 0x5b, 0xe5, 0x17, 0x9b, 0xbf, 0xe4, 0x35, 0x8a, 0x2e, 0x6d, 0xd6, 0x08,
    0x46, 0x88, 0x5b, 0xfc, 0x2e, 0xb5, 0x6f, 0xe2, 0x8d, 0x2e, 0xd7, 0xdc, 0x00, 0x85, 0xf8, 0x90,
    0x79, 0xa5, 0xf7, 0x73, 0x32, 0xdc, 0xcb, 0x49, 0xf4, 0x6b, 0x13, 0x5a, 0x73, 0xf9, 0xfe, 0x48,
    0xbc, 0x45, 0xcf, 0xa4, 0xf8, 0xe0, 0xdd, 0x46, 0x9e, 0x7a, 0x55, 0x7e, 0xc9, 0xc3, 0xed, 0x01,
    0xb4, 0xa9, 0x34, 0xdf, 0x9b, 0x86, 0x73, 0x8a, 0x82, 0x93, 0x16, 0xc3, 0x48, 0x97, 0x45, 0xee,
    0x41, 0x26, 0x1a, 0x5b, 0x6e, 0xab, 0x33, 0x8f, 0x2c, 0x92, 0x38, 0xd2, 0xfc, 0x46, 0xc2, 0xde,
    0xf5, 0xa0, 0x82, 0x13, 0x61, 0x03, 0xd7, 0x66, 0x1e, 0x19, 0x38, 0x50, 0xfd, 0xcc, 0x23, 0x83,
    0xbd, 0x9d, 0x16, 0x1c, 0xec, 0xb4, 0xdd, 0x40, 0x84, 0xc3, 0xb5, 0x55, 0x0d, 0xd9, 0x01, 0xe1,
    0x5c, 0xed, 0xa6, 0x5f, 0x1a, 0xd0, 0x75, 0x81, 0xe0, 0xdc, 0x70, 0xa5, 0xe0, 0xe7, 0x06, 0x31,
    0xff, 0xf9, 0x66, 0x0a, 0x76, 0x6f, 0xa6, 0xf5, 0xd6, 0x58, 0x2a, 0xc0, 0x3e, 0x27, 0x1a, 0x65,
    0xdb, 0x3c, 0x2d, 0xd7, 0x2b, 0xd1, 0x78, 0x8b, 0x9b, 0x6c, 0x0e, 0x16, 0xc7, 0x54, 0x55, 0xd0,
    0xdb, 0x55, 0x41, 0xf4, 0x73, 0x03, 0xae, 0x9e, 0x2e, 0x9e, 0xbd, 0x41, 0x83, 0xf2, 0x3d, 0xfa,
    0x05, 0x3e, 0x29, 0x30, 0x40, 0xf4, 0x71, 0x7c, 0x72, 0xa3, 0x3e, 0x28, 0x16, 0x99, 0x72, 0xc6,
    0x92, 0x3b, 0x23, 0x5f, 0x00, 0xcd, 0xaa, 0x00, 0x1e, 0x42, 0x57, 0x2c, 0x6d, 0x5a, 0xe4, 0xe4,
    0xf9, 0xf8, 0x84, 0xd5, 0x56, 0xdb, 0x62, 0x4a, 0x1a, 0xee, 0x2d, 0x28, 0xa1, 0xf9, 0x79, 0x51,
    0xbe, 0x01, 0x91, 0x8e, 0xfe, 0x6a, 0xc0, 0xc8, 0x8d, 0xb6, 0x7f, 0x1a, 0x9c, 0xff, 0xba, 0x75,
    0x2f, 0x79, 0xad, 0xe2, 0x6f, 0x81, 0xef, 0x55, 0x7f, 0x53, 0xc9, 0xe2, 0xf2, 0xb4, 0x3a, 0x4d,
    0x12, 0xa5, 0xe3, 0x2c, 0xcd, 0xcb, 0xed, 0x3a, 0xf0, 0xb2, 0x17, 0x69, 0xae, 0xd8, 0x67, 0x30,
    0x96, 0xa9, 0x56, 0xe4, 0xb0, 0x33, 0x72, 0xa0, 0x8e, 0x2a, 0x29, 0x99, 0x95, 0xe9, 0xea, 0xd5,
    0xd2, 0x75, 0x1f, 0x46, 0x52, 0x9d, 0xab, 0x7c, 0xa9, 0x62, 0x63, 0x85, 0x75, 0xa5, 0xd6, 0xe1,
    0x43, 0x2f, 0x9c, 0xa3, 0xec, 0xe1, 0x8f, 0x30, 0xac, 0xc3, 0xca, 0x86, 0xd0, 0x3f, 0x8b, 0x1d,
    0x00, 0x93, 0x2b, 0x6c, 0x02, 0xc3, 0x92, 0xc3, 0x39, 0x35, 0x69, 0xb0, 0xeb, 0x30, 0xa9, 0x4b,
    0x70, 0x2e, 0x4f, 0x9a, 0x0c, 0xa0, 0x7b, 0x16, 0x93, 0x45, 0x8b, 0x8d, 0x20, 0x70, 0xf4, 0x5c,
    0xae, 0x26, 0x6d, 0x76, 0x0d, 0x46, 0x15, 0x8b, 0xf3, 0x71, 0xd2, 0x61, 0x01, 0x74, 0xce, 0x62,
    0xd4, 0x76, 0x1f, 0x3e, 0x86, 0x7e, 0x99, 0x16, 0x3c, 0x64, 0x96, 0x1b, 0xa5, 0xed, 0xe4, 0x0a,
    0xd2, 0xdf, 0x52, 0x47, 0x4c, 0x1a, 0x48, 0x9f, 0xaa, 0x4c, 0x59, 0x35, 0x69, 0x2e, 0xba, 0x94,
    0xcd, 0x27, 0x7f, 0x07, 0x00, 0x00, 0xff, 0xff, 0x60, 0x49, 0x0c, 0x5c, 0xed, 0x0d, 0x00, 0x00,
}