// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v3.21.12 // source: organization.proto package pb import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type DcWorkingReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProjectId int64 `protobuf:"varint,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` DeviceCode string `protobuf:"bytes,2,opt,name=device_code,json=deviceCode,proto3" json:"device_code,omitempty"` Stime string `protobuf:"bytes,3,opt,name=stime,proto3" json:"stime,omitempty"` // c_time的搜索 Etime string `protobuf:"bytes,4,opt,name=etime,proto3" json:"etime,omitempty"` // c_time的搜索 Page int64 `protobuf:"varint,5,opt,name=page,proto3" json:"page,omitempty"` PageSize int64 `protobuf:"varint,6,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` Order string `protobuf:"bytes,7,opt,name=order,proto3" json:"order,omitempty"` // 排序字段及方向 例: id desc } func (x *DcWorkingReq) Reset() { *x = DcWorkingReq{} if protoimpl.UnsafeEnabled { mi := &file_organization_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DcWorkingReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*DcWorkingReq) ProtoMessage() {} func (x *DcWorkingReq) ProtoReflect() protoreflect.Message { mi := &file_organization_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DcWorkingReq.ProtoReflect.Descriptor instead. func (*DcWorkingReq) Descriptor() ([]byte, []int) { return file_organization_proto_rawDescGZIP(), []int{0} } func (x *DcWorkingReq) GetProjectId() int64 { if x != nil { return x.ProjectId } return 0 } func (x *DcWorkingReq) GetDeviceCode() string { if x != nil { return x.DeviceCode } return "" } func (x *DcWorkingReq) GetStime() string { if x != nil { return x.Stime } return "" } func (x *DcWorkingReq) GetEtime() string { if x != nil { return x.Etime } return "" } func (x *DcWorkingReq) GetPage() int64 { if x != nil { return x.Page } return 0 } func (x *DcWorkingReq) GetPageSize() int64 { if x != nil { return x.PageSize } return 0 } func (x *DcWorkingReq) GetOrder() string { if x != nil { return x.Order } return "" } type WorkingMf struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // @gotags: json:"id" Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` // @gotags: json:"project_id" ProjectId int64 `protobuf:"varint,2,opt,name=project_id,json=projectId,proto3" json:"project_id"` // @gotags: json:"device_code" DeviceCode string `protobuf:"bytes,3,opt,name=device_code,json=deviceCode,proto3" json:"device_code"` // @gotags: json:"water_temperature" WaterTemperature float64 `protobuf:"fixed64,4,opt,name=water_temperature,json=waterTemperature,proto3" json:"water_temperature"` // 水温 摄氏度 // @gotags: json:"feed_flow" FeedFlow float64 `protobuf:"fixed64,5,opt,name=feed_flow,json=feedFlow,proto3" json:"feed_flow"` // 进水流量 // @gotags: json:"con_flow" ConFlow float64 `protobuf:"fixed64,6,opt,name=con_flow,json=conFlow,proto3" json:"con_flow"` // 浓水流量 // @gotags: json:"product_flow" ProductFlow float64 `protobuf:"fixed64,7,opt,name=product_flow,json=productFlow,proto3" json:"product_flow"` // 产水流量 // @gotags: json:"feed_pressure" FeedPressure float64 `protobuf:"fixed64,8,opt,name=feed_pressure,json=feedPressure,proto3" json:"feed_pressure"` // 进水压力 // @gotags: json:"con_pressure" ConPressure float64 `protobuf:"fixed64,9,opt,name=con_pressure,json=conPressure,proto3" json:"con_pressure"` // 浓水压力 // @gotags: json:"product_pressure" ProductPressure float64 `protobuf:"fixed64,10,opt,name=product_pressure,json=productPressure,proto3" json:"product_pressure"` // 产水压力 // @gotags: json:"tmp" Tmp float64 `protobuf:"fixed64,11,opt,name=tmp,proto3" json:"tmp"` // 跨膜压差 // @gotags: json:"flux" Flux float64 `protobuf:"fixed64,12,opt,name=flux,proto3" json:"flux"` // 膜通量 // @gotags: json:"feed_wq_turbidity" FeedWqTurbidity float64 `protobuf:"fixed64,13,opt,name=feed_wq_turbidity,json=feedWqTurbidity,proto3" json:"feed_wq_turbidity"` // 进水浊度 // @gotags: json:"feed_wq_ph" FeedWqPh int64 `protobuf:"varint,14,opt,name=feed_wq_ph,json=feedWqPh,proto3" json:"feed_wq_ph"` // 进水 PH 值 // @gotags: json:"product_wq_ph" ProductWqPh int64 `protobuf:"varint,15,opt,name=product_wq_ph,json=productWqPh,proto3" json:"product_wq_ph"` // 产水 PH 值 // @gotags: json:"feed_wq_al" FeedWqAl float64 `protobuf:"fixed64,16,opt,name=feed_wq_al,json=feedWqAl,proto3" json:"feed_wq_al"` // 进水水质:铝 // @gotags: json:"product_wq_al" ProductWqAl float64 `protobuf:"fixed64,17,opt,name=product_wq_al,json=productWqAl,proto3" json:"product_wq_al"` // 产水水质:铝 // @gotags: json:"feed_wq_fe" FeedWqFe float64 `protobuf:"fixed64,18,opt,name=feed_wq_fe,json=feedWqFe,proto3" json:"feed_wq_fe"` // 进水水质:铁 // @gotags: json:"product_wq_fe" ProductWqFe float64 `protobuf:"fixed64,19,opt,name=product_wq_fe,json=productWqFe,proto3" json:"product_wq_fe"` // 产水水质:铁 // @gotags: json:"feed_wq_mn" FeedWqMn float64 `protobuf:"fixed64,20,opt,name=feed_wq_mn,json=feedWqMn,proto3" json:"feed_wq_mn"` // 进水水质:锰 // @gotags: json:"product_wq_mn" ProductWqMn float64 `protobuf:"fixed64,21,opt,name=product_wq_mn,json=productWqMn,proto3" json:"product_wq_mn"` // 产水水质:锰 // @gotags: json:"feed_wq_sio2" FeedWqSio2 float64 `protobuf:"fixed64,22,opt,name=feed_wq_sio2,json=feedWqSio2,proto3" json:"feed_wq_sio2"` // 进水水质:二氧化硅 // @gotags: json:"product_wq_sio2" ProductWqSio2 float64 `protobuf:"fixed64,23,opt,name=product_wq_sio2,json=productWqSio2,proto3" json:"product_wq_sio2"` // 产水水质:二氧化硅 // @gotags: json:"feed_wq_cod" FeedWqCod float64 `protobuf:"fixed64,24,opt,name=feed_wq_cod,json=feedWqCod,proto3" json:"feed_wq_cod"` // 进水水质:COD // @gotags: json:"product_wq_cod" ProductWqCod float64 `protobuf:"fixed64,25,opt,name=product_wq_cod,json=productWqCod,proto3" json:"product_wq_cod"` // 产水水质:COD // @gotags: json:"feed_wq_p" FeedWqP float64 `protobuf:"fixed64,26,opt,name=feed_wq_p,json=feedWqP,proto3" json:"feed_wq_p"` // 进水水质:磷 // @gotags: json:"product_wq_p" ProductWqP float64 `protobuf:"fixed64,27,opt,name=product_wq_p,json=productWqP,proto3" json:"product_wq_p"` // 产水水质:磷 // @gotags: json:"step" Step int64 `protobuf:"varint,28,opt,name=step,proto3" json:"step"` // 设备当前步序值 // @gotags: json:"c_time" CTime string `protobuf:"bytes,29,opt,name=c_time,json=cTime,proto3" json:"c_time"` } func (x *WorkingMf) Reset() { *x = WorkingMf{} if protoimpl.UnsafeEnabled { mi := &file_organization_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WorkingMf) String() string { return protoimpl.X.MessageStringOf(x) } func (*WorkingMf) ProtoMessage() {} func (x *WorkingMf) ProtoReflect() protoreflect.Message { mi := &file_organization_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use WorkingMf.ProtoReflect.Descriptor instead. func (*WorkingMf) Descriptor() ([]byte, []int) { return file_organization_proto_rawDescGZIP(), []int{1} } func (x *WorkingMf) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *WorkingMf) GetProjectId() int64 { if x != nil { return x.ProjectId } return 0 } func (x *WorkingMf) GetDeviceCode() string { if x != nil { return x.DeviceCode } return "" } func (x *WorkingMf) GetWaterTemperature() float64 { if x != nil { return x.WaterTemperature } return 0 } func (x *WorkingMf) GetFeedFlow() float64 { if x != nil { return x.FeedFlow } return 0 } func (x *WorkingMf) GetConFlow() float64 { if x != nil { return x.ConFlow } return 0 } func (x *WorkingMf) GetProductFlow() float64 { if x != nil { return x.ProductFlow } return 0 } func (x *WorkingMf) GetFeedPressure() float64 { if x != nil { return x.FeedPressure } return 0 } func (x *WorkingMf) GetConPressure() float64 { if x != nil { return x.ConPressure } return 0 } func (x *WorkingMf) GetProductPressure() float64 { if x != nil { return x.ProductPressure } return 0 } func (x *WorkingMf) GetTmp() float64 { if x != nil { return x.Tmp } return 0 } func (x *WorkingMf) GetFlux() float64 { if x != nil { return x.Flux } return 0 } func (x *WorkingMf) GetFeedWqTurbidity() float64 { if x != nil { return x.FeedWqTurbidity } return 0 } func (x *WorkingMf) GetFeedWqPh() int64 { if x != nil { return x.FeedWqPh } return 0 } func (x *WorkingMf) GetProductWqPh() int64 { if x != nil { return x.ProductWqPh } return 0 } func (x *WorkingMf) GetFeedWqAl() float64 { if x != nil { return x.FeedWqAl } return 0 } func (x *WorkingMf) GetProductWqAl() float64 { if x != nil { return x.ProductWqAl } return 0 } func (x *WorkingMf) GetFeedWqFe() float64 { if x != nil { return x.FeedWqFe } return 0 } func (x *WorkingMf) GetProductWqFe() float64 { if x != nil { return x.ProductWqFe } return 0 } func (x *WorkingMf) GetFeedWqMn() float64 { if x != nil { return x.FeedWqMn } return 0 } func (x *WorkingMf) GetProductWqMn() float64 { if x != nil { return x.ProductWqMn } return 0 } func (x *WorkingMf) GetFeedWqSio2() float64 { if x != nil { return x.FeedWqSio2 } return 0 } func (x *WorkingMf) GetProductWqSio2() float64 { if x != nil { return x.ProductWqSio2 } return 0 } func (x *WorkingMf) GetFeedWqCod() float64 { if x != nil { return x.FeedWqCod } return 0 } func (x *WorkingMf) GetProductWqCod() float64 { if x != nil { return x.ProductWqCod } return 0 } func (x *WorkingMf) GetFeedWqP() float64 { if x != nil { return x.FeedWqP } return 0 } func (x *WorkingMf) GetProductWqP() float64 { if x != nil { return x.ProductWqP } return 0 } func (x *WorkingMf) GetStep() int64 { if x != nil { return x.Step } return 0 } func (x *WorkingMf) GetCTime() string { if x != nil { return x.CTime } return "" } type WorkingUf struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // @gotags: json:"id" Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` // @gotags: json:"project_id" ProjectId int64 `protobuf:"varint,2,opt,name=project_id,json=projectId,proto3" json:"project_id"` // @gotags: json:"device_code" DeviceCode string `protobuf:"bytes,3,opt,name=device_code,json=deviceCode,proto3" json:"device_code"` // @gotags: json:"water_temperature" WaterTemperature float64 `protobuf:"fixed64,4,opt,name=water_temperature,json=waterTemperature,proto3" json:"water_temperature"` // 水温 摄氏度 // @gotags: json:"feed_flow" FeedFlow float64 `protobuf:"fixed64,5,opt,name=feed_flow,json=feedFlow,proto3" json:"feed_flow"` // 进水流量 // @gotags: json:"con_flow" ConFlow float64 `protobuf:"fixed64,6,opt,name=con_flow,json=conFlow,proto3" json:"con_flow"` // 浓水流量 // @gotags: json:"product_flow" ProductFlow float64 `protobuf:"fixed64,7,opt,name=product_flow,json=productFlow,proto3" json:"product_flow"` // 产水流量 // @gotags: json:"feed_pressure" FeedPressure float64 `protobuf:"fixed64,8,opt,name=feed_pressure,json=feedPressure,proto3" json:"feed_pressure"` // 进水压力 // @gotags: json:"con_pressure" ConPressure float64 `protobuf:"fixed64,9,opt,name=con_pressure,json=conPressure,proto3" json:"con_pressure"` // 浓水压力 // @gotags: json:"product_pressure" ProductPressure float64 `protobuf:"fixed64,10,opt,name=product_pressure,json=productPressure,proto3" json:"product_pressure"` // 产水压力 // @gotags: json:"tmp" Tmp float64 `protobuf:"fixed64,11,opt,name=tmp,proto3" json:"tmp"` // 跨膜压差 // @gotags: json:"flux" Flux float64 `protobuf:"fixed64,12,opt,name=flux,proto3" json:"flux"` // 膜通量 // @gotags: json:"permeability" Permeability float64 `protobuf:"fixed64,32,opt,name=permeability,proto3" json:"permeability"` // 渗透率 // @gotags: json:"feed_wq_turbidity" FeedWqTurbidity float64 `protobuf:"fixed64,13,opt,name=feed_wq_turbidity,json=feedWqTurbidity,proto3" json:"feed_wq_turbidity"` // 进水浊度 // @gotags: json:"feed_wq_ph" FeedWqPh int64 `protobuf:"varint,14,opt,name=feed_wq_ph,json=feedWqPh,proto3" json:"feed_wq_ph"` // 进水 PH 值 // @gotags: json:"product_wq_ph" ProductWqPh int64 `protobuf:"varint,15,opt,name=product_wq_ph,json=productWqPh,proto3" json:"product_wq_ph"` // 产水 PH 值 // @gotags: json:"feed_wq_al" FeedWqAl float64 `protobuf:"fixed64,16,opt,name=feed_wq_al,json=feedWqAl,proto3" json:"feed_wq_al"` // 进水水质:铝 // @gotags: json:"product_wq_al" ProductWqAl float64 `protobuf:"fixed64,17,opt,name=product_wq_al,json=productWqAl,proto3" json:"product_wq_al"` // 产水水质:铝 // @gotags: json:"feed_wq_fe" FeedWqFe float64 `protobuf:"fixed64,18,opt,name=feed_wq_fe,json=feedWqFe,proto3" json:"feed_wq_fe"` // 进水水质:铁 // @gotags: json:"product_wq_fe" ProductWqFe float64 `protobuf:"fixed64,19,opt,name=product_wq_fe,json=productWqFe,proto3" json:"product_wq_fe"` // 产水水质:铁 // @gotags: json:"feed_wq_mn" FeedWqMn float64 `protobuf:"fixed64,20,opt,name=feed_wq_mn,json=feedWqMn,proto3" json:"feed_wq_mn"` // 进水水质:锰 // @gotags: json:"product_wq_mn" ProductWqMn float64 `protobuf:"fixed64,21,opt,name=product_wq_mn,json=productWqMn,proto3" json:"product_wq_mn"` // 产水水质:锰 // @gotags: json:"feed_wq_sio2" FeedWqSio2 float64 `protobuf:"fixed64,22,opt,name=feed_wq_sio2,json=feedWqSio2,proto3" json:"feed_wq_sio2"` // 进水水质:二氧化硅 // @gotags: json:"product_wq_sio2" ProductWqSio2 float64 `protobuf:"fixed64,23,opt,name=product_wq_sio2,json=productWqSio2,proto3" json:"product_wq_sio2"` // 产水水质:二氧化硅 // @gotags: json:"feed_wq_cod" FeedWqCod float64 `protobuf:"fixed64,24,opt,name=feed_wq_cod,json=feedWqCod,proto3" json:"feed_wq_cod"` // 进水水质:COD // @gotags: json:"product_wq_cod" ProductWqCod float64 `protobuf:"fixed64,25,opt,name=product_wq_cod,json=productWqCod,proto3" json:"product_wq_cod"` // 产水水质:COD // @gotags: json:"feed_wq_p" FeedWqP float64 `protobuf:"fixed64,26,opt,name=feed_wq_p,json=feedWqP,proto3" json:"feed_wq_p"` // 进水水质:磷 // @gotags: json:"product_wq_p" ProductWqP float64 `protobuf:"fixed64,27,opt,name=product_wq_p,json=productWqP,proto3" json:"product_wq_p"` // 产水水质:磷 // @gotags: json:"step" Step int64 `protobuf:"varint,28,opt,name=step,proto3" json:"step"` // 设备当前步序值 // @gotags: json:"filter_time" FilterTime float64 `protobuf:"fixed64,29,opt,name=filter_time,json=filterTime,proto3" json:"filter_time"` // @gotags: json:"filter_cycle" FilterCycle int64 `protobuf:"varint,30,opt,name=filter_cycle,json=filterCycle,proto3" json:"filter_cycle"` // @gotags: json:"c_time" CTime string `protobuf:"bytes,31,opt,name=c_time,json=cTime,proto3" json:"c_time"` } func (x *WorkingUf) Reset() { *x = WorkingUf{} if protoimpl.UnsafeEnabled { mi := &file_organization_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WorkingUf) String() string { return protoimpl.X.MessageStringOf(x) } func (*WorkingUf) ProtoMessage() {} func (x *WorkingUf) ProtoReflect() protoreflect.Message { mi := &file_organization_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use WorkingUf.ProtoReflect.Descriptor instead. func (*WorkingUf) Descriptor() ([]byte, []int) { return file_organization_proto_rawDescGZIP(), []int{2} } func (x *WorkingUf) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *WorkingUf) GetProjectId() int64 { if x != nil { return x.ProjectId } return 0 } func (x *WorkingUf) GetDeviceCode() string { if x != nil { return x.DeviceCode } return "" } func (x *WorkingUf) GetWaterTemperature() float64 { if x != nil { return x.WaterTemperature } return 0 } func (x *WorkingUf) GetFeedFlow() float64 { if x != nil { return x.FeedFlow } return 0 } func (x *WorkingUf) GetConFlow() float64 { if x != nil { return x.ConFlow } return 0 } func (x *WorkingUf) GetProductFlow() float64 { if x != nil { return x.ProductFlow } return 0 } func (x *WorkingUf) GetFeedPressure() float64 { if x != nil { return x.FeedPressure } return 0 } func (x *WorkingUf) GetConPressure() float64 { if x != nil { return x.ConPressure } return 0 } func (x *WorkingUf) GetProductPressure() float64 { if x != nil { return x.ProductPressure } return 0 } func (x *WorkingUf) GetTmp() float64 { if x != nil { return x.Tmp } return 0 } func (x *WorkingUf) GetFlux() float64 { if x != nil { return x.Flux } return 0 } func (x *WorkingUf) GetPermeability() float64 { if x != nil { return x.Permeability } return 0 } func (x *WorkingUf) GetFeedWqTurbidity() float64 { if x != nil { return x.FeedWqTurbidity } return 0 } func (x *WorkingUf) GetFeedWqPh() int64 { if x != nil { return x.FeedWqPh } return 0 } func (x *WorkingUf) GetProductWqPh() int64 { if x != nil { return x.ProductWqPh } return 0 } func (x *WorkingUf) GetFeedWqAl() float64 { if x != nil { return x.FeedWqAl } return 0 } func (x *WorkingUf) GetProductWqAl() float64 { if x != nil { return x.ProductWqAl } return 0 } func (x *WorkingUf) GetFeedWqFe() float64 { if x != nil { return x.FeedWqFe } return 0 } func (x *WorkingUf) GetProductWqFe() float64 { if x != nil { return x.ProductWqFe } return 0 } func (x *WorkingUf) GetFeedWqMn() float64 { if x != nil { return x.FeedWqMn } return 0 } func (x *WorkingUf) GetProductWqMn() float64 { if x != nil { return x.ProductWqMn } return 0 } func (x *WorkingUf) GetFeedWqSio2() float64 { if x != nil { return x.FeedWqSio2 } return 0 } func (x *WorkingUf) GetProductWqSio2() float64 { if x != nil { return x.ProductWqSio2 } return 0 } func (x *WorkingUf) GetFeedWqCod() float64 { if x != nil { return x.FeedWqCod } return 0 } func (x *WorkingUf) GetProductWqCod() float64 { if x != nil { return x.ProductWqCod } return 0 } func (x *WorkingUf) GetFeedWqP() float64 { if x != nil { return x.FeedWqP } return 0 } func (x *WorkingUf) GetProductWqP() float64 { if x != nil { return x.ProductWqP } return 0 } func (x *WorkingUf) GetStep() int64 { if x != nil { return x.Step } return 0 } func (x *WorkingUf) GetFilterTime() float64 { if x != nil { return x.FilterTime } return 0 } func (x *WorkingUf) GetFilterCycle() int64 { if x != nil { return x.FilterCycle } return 0 } func (x *WorkingUf) GetCTime() string { if x != nil { return x.CTime } return "" } type WorkingNf struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // gotags: json:"id" Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` // gotags: json:"project_id" ProjectId int64 `protobuf:"varint,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // gotags: json:"device_code" DeviceCode string `protobuf:"bytes,3,opt,name=device_code,json=deviceCode,proto3" json:"device_code,omitempty"` // gotags: json:"water_temperature" WaterTemperature float64 `protobuf:"fixed64,4,opt,name=water_temperature,json=waterTemperature,proto3" json:"water_temperature,omitempty"` // 水温 摄氏度 // gotags: json:"feed_flow_1st" FeedFlow_1St float64 `protobuf:"fixed64,5,opt,name=feed_flow_1st,json=feedFlow1st,proto3" json:"feed_flow_1st,omitempty"` // 一段进水流量 // gotags: json:"con_flow_1st" ConFlow_1St float64 `protobuf:"fixed64,6,opt,name=con_flow_1st,json=conFlow1st,proto3" json:"con_flow_1st,omitempty"` // 一段浓水流量 // gotags: json:"product_flow_1st" ProductFlow_1St float64 `protobuf:"fixed64,7,opt,name=product_flow_1st,json=productFlow1st,proto3" json:"product_flow_1st,omitempty"` // 一段产水流量 // gotags: json:"feed_pressure_1st" FeedPressure_1St float64 `protobuf:"fixed64,8,opt,name=feed_pressure_1st,json=feedPressure1st,proto3" json:"feed_pressure_1st,omitempty"` // 一段进水压力 // gotags: json:"con_pressure_1st" ConPressure_1St float64 `protobuf:"fixed64,9,opt,name=con_pressure_1st,json=conPressure1st,proto3" json:"con_pressure_1st,omitempty"` // 一段浓水压力 // gotags: json:"product_pressure_1st" ProductPressure_1St float64 `protobuf:"fixed64,10,opt,name=product_pressure_1st,json=productPressure1st,proto3" json:"product_pressure_1st,omitempty"` // 一段产水压力 // gotags: json:"tmp_1st" Tmp_1St float64 `protobuf:"fixed64,11,opt,name=tmp_1st,json=tmp1st,proto3" json:"tmp_1st,omitempty"` // 一段跨膜压差 // gotags: json:"flux_1st" Flux_1St float64 `protobuf:"fixed64,12,opt,name=flux_1st,json=flux1st,proto3" json:"flux_1st,omitempty"` // 一段膜通量 // gotags: json:"permeability_1st" Permeability_1St float64 `protobuf:"fixed64,13,opt,name=permeability_1st,json=permeability1st,proto3" json:"permeability_1st,omitempty"` // 一段渗透率 // gotags: json:"feed_flow_2nd" FeedFlow_2Nd float64 `protobuf:"fixed64,14,opt,name=feed_flow_2nd,json=feedFlow2nd,proto3" json:"feed_flow_2nd,omitempty"` // 二段进水流量 // gotags: json:"con_flow_2nd" ConFlow_2Nd float64 `protobuf:"fixed64,15,opt,name=con_flow_2nd,json=conFlow2nd,proto3" json:"con_flow_2nd,omitempty"` // 二段浓水流量 // gotags: json:"product_flow_2nd" ProductFlow_2Nd float64 `protobuf:"fixed64,16,opt,name=product_flow_2nd,json=productFlow2nd,proto3" json:"product_flow_2nd,omitempty"` // 二段产水流量 // gotags: json:"feed_pressure_2nd" FeedPressure_2Nd float64 `protobuf:"fixed64,17,opt,name=feed_pressure_2nd,json=feedPressure2nd,proto3" json:"feed_pressure_2nd,omitempty"` // 二段进水压力 // gotags: json:"con_pressure_2nd" ConPressure_2Nd float64 `protobuf:"fixed64,18,opt,name=con_pressure_2nd,json=conPressure2nd,proto3" json:"con_pressure_2nd,omitempty"` // 二段浓水压力 // gotags: json:"product_pressure_2nd" ProductPressure_2Nd float64 `protobuf:"fixed64,19,opt,name=product_pressure_2nd,json=productPressure2nd,proto3" json:"product_pressure_2nd,omitempty"` // 二段产水压力 // gotags: json:"tmp_2nd" Tmp_2Nd float64 `protobuf:"fixed64,20,opt,name=tmp_2nd,json=tmp2nd,proto3" json:"tmp_2nd,omitempty"` // 二段压差 // gotags: json:"flux_2nd" Flux_2Nd float64 `protobuf:"fixed64,21,opt,name=flux_2nd,json=flux2nd,proto3" json:"flux_2nd,omitempty"` // 二段通量 // gotags: json:"permeability_2nd" Permeability_2Nd float64 `protobuf:"fixed64,22,opt,name=permeability_2nd,json=permeability2nd,proto3" json:"permeability_2nd,omitempty"` // 二段渗透率 // gotags: json:"feed_flow_3th" FeedFlow_3Th float64 `protobuf:"fixed64,23,opt,name=feed_flow_3th,json=feedFlow3th,proto3" json:"feed_flow_3th,omitempty"` // 三段进水流量 // gotags: json:"con_flow_3th" ConFlow_3Th float64 `protobuf:"fixed64,24,opt,name=con_flow_3th,json=conFlow3th,proto3" json:"con_flow_3th,omitempty"` // 三段浓水流量 // gotags: json:"product_flow_3th" ProductFlow_3Th float64 `protobuf:"fixed64,25,opt,name=product_flow_3th,json=productFlow3th,proto3" json:"product_flow_3th,omitempty"` // 三段产水流量 // gotags: json:"feed_pressure_3th" FeedPressure_3Th float64 `protobuf:"fixed64,26,opt,name=feed_pressure_3th,json=feedPressure3th,proto3" json:"feed_pressure_3th,omitempty"` // 三段进水压力 // gotags: json:"con_pressure_3th" ConPressure_3Th float64 `protobuf:"fixed64,27,opt,name=con_pressure_3th,json=conPressure3th,proto3" json:"con_pressure_3th,omitempty"` // 三段浓水压力 // gotags: json:"product_pressure_3th" ProductPressure_3Th float64 `protobuf:"fixed64,28,opt,name=product_pressure_3th,json=productPressure3th,proto3" json:"product_pressure_3th,omitempty"` // 三段产水压力 // gotags: json:"tmp_3th" Tmp_3Th float64 `protobuf:"fixed64,29,opt,name=tmp_3th,json=tmp3th,proto3" json:"tmp_3th,omitempty"` // 三段压差 // gotags: json:"flux_3th" Flux_3Th float64 `protobuf:"fixed64,30,opt,name=flux_3th,json=flux3th,proto3" json:"flux_3th,omitempty"` // 三段通量 // gotags: json:"permeability_3th" Permeability_3Th float64 `protobuf:"fixed64,31,opt,name=permeability_3th,json=permeability3th,proto3" json:"permeability_3th,omitempty"` // 三段渗透率 // gotags: json:"feed_wq_turbidity" FeedWqTurbidity float64 `protobuf:"fixed64,32,opt,name=feed_wq_turbidity,json=feedWqTurbidity,proto3" json:"feed_wq_turbidity,omitempty"` // 进水浊度 // gotags: json:"feed_wq_ph" FeedWqPh int64 `protobuf:"varint,33,opt,name=feed_wq_ph,json=feedWqPh,proto3" json:"feed_wq_ph,omitempty"` // 进水 PH 值 // gotags: json:"product_wq_ph" ProductWqPh int64 `protobuf:"varint,34,opt,name=product_wq_ph,json=productWqPh,proto3" json:"product_wq_ph,omitempty"` // 产水 PH 值 // gotags: json:"feed_wq_al" FeedWqAl float64 `protobuf:"fixed64,35,opt,name=feed_wq_al,json=feedWqAl,proto3" json:"feed_wq_al,omitempty"` // 进水水质:铝 // gotags: json:"product_wq_al" ProductWqAl float64 `protobuf:"fixed64,36,opt,name=product_wq_al,json=productWqAl,proto3" json:"product_wq_al,omitempty"` // 产水水质:铝 // gotags: json:"feed_wq_fe" FeedWqFe float64 `protobuf:"fixed64,37,opt,name=feed_wq_fe,json=feedWqFe,proto3" json:"feed_wq_fe,omitempty"` // 进水水质:铁 // gotags: json:"product_wq_fe" ProductWqFe float64 `protobuf:"fixed64,38,opt,name=product_wq_fe,json=productWqFe,proto3" json:"product_wq_fe,omitempty"` // 产水水质:铁 // gotags: json:"feed_wq_mn" FeedWqMn float64 `protobuf:"fixed64,39,opt,name=feed_wq_mn,json=feedWqMn,proto3" json:"feed_wq_mn,omitempty"` // 进水水质:锰 // gotags: json:"product_wq_mn" ProductWqMn float64 `protobuf:"fixed64,40,opt,name=product_wq_mn,json=productWqMn,proto3" json:"product_wq_mn,omitempty"` // 产水水质:锰 // gotags: json:"feed_wq_sio2" FeedWqSio2 float64 `protobuf:"fixed64,41,opt,name=feed_wq_sio2,json=feedWqSio2,proto3" json:"feed_wq_sio2,omitempty"` // 进水水质:二氧化硅 // gotags: json:"product_wq_sio2" ProductWqSio2 float64 `protobuf:"fixed64,42,opt,name=product_wq_sio2,json=productWqSio2,proto3" json:"product_wq_sio2,omitempty"` // 产水水质:二氧化硅 // gotags: json:"feed_wq_cod" FeedWqCod float64 `protobuf:"fixed64,43,opt,name=feed_wq_cod,json=feedWqCod,proto3" json:"feed_wq_cod,omitempty"` // 进水水质:COD // gotags: json:"product_wq_cod" ProductWqCod float64 `protobuf:"fixed64,44,opt,name=product_wq_cod,json=productWqCod,proto3" json:"product_wq_cod,omitempty"` // 产水水质:COD // gotags: json:"feed_wq_p" FeedWqP float64 `protobuf:"fixed64,45,opt,name=feed_wq_p,json=feedWqP,proto3" json:"feed_wq_p,omitempty"` // 进水水质:磷 // gotags: json:"product_wq_p" ProductWqP float64 `protobuf:"fixed64,46,opt,name=product_wq_p,json=productWqP,proto3" json:"product_wq_p,omitempty"` // 产水水质:磷 // gotags: json:"step" Step int64 `protobuf:"varint,47,opt,name=step,proto3" json:"step,omitempty"` // 设备当前步序值 // gotags: json:"c_time" CTime string `protobuf:"bytes,48,opt,name=c_time,json=cTime,proto3" json:"c_time,omitempty"` } func (x *WorkingNf) Reset() { *x = WorkingNf{} if protoimpl.UnsafeEnabled { mi := &file_organization_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WorkingNf) String() string { return protoimpl.X.MessageStringOf(x) } func (*WorkingNf) ProtoMessage() {} func (x *WorkingNf) ProtoReflect() protoreflect.Message { mi := &file_organization_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use WorkingNf.ProtoReflect.Descriptor instead. func (*WorkingNf) Descriptor() ([]byte, []int) { return file_organization_proto_rawDescGZIP(), []int{3} } func (x *WorkingNf) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *WorkingNf) GetProjectId() int64 { if x != nil { return x.ProjectId } return 0 } func (x *WorkingNf) GetDeviceCode() string { if x != nil { return x.DeviceCode } return "" } func (x *WorkingNf) GetWaterTemperature() float64 { if x != nil { return x.WaterTemperature } return 0 } func (x *WorkingNf) GetFeedFlow_1St() float64 { if x != nil { return x.FeedFlow_1St } return 0 } func (x *WorkingNf) GetConFlow_1St() float64 { if x != nil { return x.ConFlow_1St } return 0 } func (x *WorkingNf) GetProductFlow_1St() float64 { if x != nil { return x.ProductFlow_1St } return 0 } func (x *WorkingNf) GetFeedPressure_1St() float64 { if x != nil { return x.FeedPressure_1St } return 0 } func (x *WorkingNf) GetConPressure_1St() float64 { if x != nil { return x.ConPressure_1St } return 0 } func (x *WorkingNf) GetProductPressure_1St() float64 { if x != nil { return x.ProductPressure_1St } return 0 } func (x *WorkingNf) GetTmp_1St() float64 { if x != nil { return x.Tmp_1St } return 0 } func (x *WorkingNf) GetFlux_1St() float64 { if x != nil { return x.Flux_1St } return 0 } func (x *WorkingNf) GetPermeability_1St() float64 { if x != nil { return x.Permeability_1St } return 0 } func (x *WorkingNf) GetFeedFlow_2Nd() float64 { if x != nil { return x.FeedFlow_2Nd } return 0 } func (x *WorkingNf) GetConFlow_2Nd() float64 { if x != nil { return x.ConFlow_2Nd } return 0 } func (x *WorkingNf) GetProductFlow_2Nd() float64 { if x != nil { return x.ProductFlow_2Nd } return 0 } func (x *WorkingNf) GetFeedPressure_2Nd() float64 { if x != nil { return x.FeedPressure_2Nd } return 0 } func (x *WorkingNf) GetConPressure_2Nd() float64 { if x != nil { return x.ConPressure_2Nd } return 0 } func (x *WorkingNf) GetProductPressure_2Nd() float64 { if x != nil { return x.ProductPressure_2Nd } return 0 } func (x *WorkingNf) GetTmp_2Nd() float64 { if x != nil { return x.Tmp_2Nd } return 0 } func (x *WorkingNf) GetFlux_2Nd() float64 { if x != nil { return x.Flux_2Nd } return 0 } func (x *WorkingNf) GetPermeability_2Nd() float64 { if x != nil { return x.Permeability_2Nd } return 0 } func (x *WorkingNf) GetFeedFlow_3Th() float64 { if x != nil { return x.FeedFlow_3Th } return 0 } func (x *WorkingNf) GetConFlow_3Th() float64 { if x != nil { return x.ConFlow_3Th } return 0 } func (x *WorkingNf) GetProductFlow_3Th() float64 { if x != nil { return x.ProductFlow_3Th } return 0 } func (x *WorkingNf) GetFeedPressure_3Th() float64 { if x != nil { return x.FeedPressure_3Th } return 0 } func (x *WorkingNf) GetConPressure_3Th() float64 { if x != nil { return x.ConPressure_3Th } return 0 } func (x *WorkingNf) GetProductPressure_3Th() float64 { if x != nil { return x.ProductPressure_3Th } return 0 } func (x *WorkingNf) GetTmp_3Th() float64 { if x != nil { return x.Tmp_3Th } return 0 } func (x *WorkingNf) GetFlux_3Th() float64 { if x != nil { return x.Flux_3Th } return 0 } func (x *WorkingNf) GetPermeability_3Th() float64 { if x != nil { return x.Permeability_3Th } return 0 } func (x *WorkingNf) GetFeedWqTurbidity() float64 { if x != nil { return x.FeedWqTurbidity } return 0 } func (x *WorkingNf) GetFeedWqPh() int64 { if x != nil { return x.FeedWqPh } return 0 } func (x *WorkingNf) GetProductWqPh() int64 { if x != nil { return x.ProductWqPh } return 0 } func (x *WorkingNf) GetFeedWqAl() float64 { if x != nil { return x.FeedWqAl } return 0 } func (x *WorkingNf) GetProductWqAl() float64 { if x != nil { return x.ProductWqAl } return 0 } func (x *WorkingNf) GetFeedWqFe() float64 { if x != nil { return x.FeedWqFe } return 0 } func (x *WorkingNf) GetProductWqFe() float64 { if x != nil { return x.ProductWqFe } return 0 } func (x *WorkingNf) GetFeedWqMn() float64 { if x != nil { return x.FeedWqMn } return 0 } func (x *WorkingNf) GetProductWqMn() float64 { if x != nil { return x.ProductWqMn } return 0 } func (x *WorkingNf) GetFeedWqSio2() float64 { if x != nil { return x.FeedWqSio2 } return 0 } func (x *WorkingNf) GetProductWqSio2() float64 { if x != nil { return x.ProductWqSio2 } return 0 } func (x *WorkingNf) GetFeedWqCod() float64 { if x != nil { return x.FeedWqCod } return 0 } func (x *WorkingNf) GetProductWqCod() float64 { if x != nil { return x.ProductWqCod } return 0 } func (x *WorkingNf) GetFeedWqP() float64 { if x != nil { return x.FeedWqP } return 0 } func (x *WorkingNf) GetProductWqP() float64 { if x != nil { return x.ProductWqP } return 0 } func (x *WorkingNf) GetStep() int64 { if x != nil { return x.Step } return 0 } func (x *WorkingNf) GetCTime() string { if x != nil { return x.CTime } return "" } type WorkingRo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // gotags: json:"id" Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` // gotags: json:"project_id" ProjectId int64 `protobuf:"varint,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // gotags: json:"device_code" DeviceCode string `protobuf:"bytes,3,opt,name=device_code,json=deviceCode,proto3" json:"device_code,omitempty"` // gotags: json:"water_temperature" WaterTemperature float64 `protobuf:"fixed64,4,opt,name=water_temperature,json=waterTemperature,proto3" json:"water_temperature,omitempty"` // 水温 摄氏度 // gotags: json:"feed_flow_1st" FeedFlow_1St float64 `protobuf:"fixed64,5,opt,name=feed_flow_1st,json=feedFlow1st,proto3" json:"feed_flow_1st,omitempty"` // 一段进水流量 // gotags: json:"con_flow_1st" ConFlow_1St float64 `protobuf:"fixed64,6,opt,name=con_flow_1st,json=conFlow1st,proto3" json:"con_flow_1st,omitempty"` // 一段浓水流量 // gotags: json:"product_flow_1st" ProductFlow_1St float64 `protobuf:"fixed64,7,opt,name=product_flow_1st,json=productFlow1st,proto3" json:"product_flow_1st,omitempty"` // 一段产水流量 // gotags: json:"feed_pressure_1st" FeedPressure_1St float64 `protobuf:"fixed64,8,opt,name=feed_pressure_1st,json=feedPressure1st,proto3" json:"feed_pressure_1st,omitempty"` // 一段进水压力 // gotags: json:"con_pressure_1st" ConPressure_1St float64 `protobuf:"fixed64,9,opt,name=con_pressure_1st,json=conPressure1st,proto3" json:"con_pressure_1st,omitempty"` // 一段浓水压力 // gotags: json:"product_pressure_1st" ProductPressure_1St float64 `protobuf:"fixed64,10,opt,name=product_pressure_1st,json=productPressure1st,proto3" json:"product_pressure_1st,omitempty"` // 一段产水压力 // gotags: json:"tmp_1st" Tmp_1St float64 `protobuf:"fixed64,11,opt,name=tmp_1st,json=tmp1st,proto3" json:"tmp_1st,omitempty"` // 一段跨膜压差 // gotags: json:"flux_1st" Flux_1St float64 `protobuf:"fixed64,12,opt,name=flux_1st,json=flux1st,proto3" json:"flux_1st,omitempty"` // 一段膜通量 // gotags: json:"permeability_1st" Permeability_1St float64 `protobuf:"fixed64,13,opt,name=permeability_1st,json=permeability1st,proto3" json:"permeability_1st,omitempty"` // 一段渗透率 // gotags: json:"feed_flow_2nd" FeedFlow_2Nd float64 `protobuf:"fixed64,14,opt,name=feed_flow_2nd,json=feedFlow2nd,proto3" json:"feed_flow_2nd,omitempty"` // 二段进水流量 // gotags: json:"con_flow_2nd" ConFlow_2Nd float64 `protobuf:"fixed64,15,opt,name=con_flow_2nd,json=conFlow2nd,proto3" json:"con_flow_2nd,omitempty"` // 二段浓水流量 // gotags: json:"product_flow_2nd" ProductFlow_2Nd float64 `protobuf:"fixed64,16,opt,name=product_flow_2nd,json=productFlow2nd,proto3" json:"product_flow_2nd,omitempty"` // 二段产水流量 // gotags: json:"feed_pressure_2nd" FeedPressure_2Nd float64 `protobuf:"fixed64,17,opt,name=feed_pressure_2nd,json=feedPressure2nd,proto3" json:"feed_pressure_2nd,omitempty"` // 二段进水压力 // gotags: json:"con_pressure_2nd" ConPressure_2Nd float64 `protobuf:"fixed64,18,opt,name=con_pressure_2nd,json=conPressure2nd,proto3" json:"con_pressure_2nd,omitempty"` // 二段浓水压力 // gotags: json:"product_pressure_2nd" ProductPressure_2Nd float64 `protobuf:"fixed64,19,opt,name=product_pressure_2nd,json=productPressure2nd,proto3" json:"product_pressure_2nd,omitempty"` // 二段产水压力 // gotags: json:"tmp_2nd" Tmp_2Nd float64 `protobuf:"fixed64,20,opt,name=tmp_2nd,json=tmp2nd,proto3" json:"tmp_2nd,omitempty"` // 二段压差 // gotags: json:"flux_2nd" Flux_2Nd float64 `protobuf:"fixed64,21,opt,name=flux_2nd,json=flux2nd,proto3" json:"flux_2nd,omitempty"` // 二段通量 // gotags: json:"permeability_2nd" Permeability_2Nd float64 `protobuf:"fixed64,22,opt,name=permeability_2nd,json=permeability2nd,proto3" json:"permeability_2nd,omitempty"` // 二段渗透率 // gotags: json:"feed_flow_3th" FeedFlow_3Th float64 `protobuf:"fixed64,23,opt,name=feed_flow_3th,json=feedFlow3th,proto3" json:"feed_flow_3th,omitempty"` // 三段进水流量 // gotags: json:"con_flow_3th" ConFlow_3Th float64 `protobuf:"fixed64,24,opt,name=con_flow_3th,json=conFlow3th,proto3" json:"con_flow_3th,omitempty"` // 三段浓水流量 // gotags: json:"product_flow_3th" ProductFlow_3Th float64 `protobuf:"fixed64,25,opt,name=product_flow_3th,json=productFlow3th,proto3" json:"product_flow_3th,omitempty"` // 三段产水流量 // gotags: json:"feed_pressure_3th" FeedPressure_3Th float64 `protobuf:"fixed64,26,opt,name=feed_pressure_3th,json=feedPressure3th,proto3" json:"feed_pressure_3th,omitempty"` // 三段进水压力 // gotags: json:"con_pressure_3th" ConPressure_3Th float64 `protobuf:"fixed64,27,opt,name=con_pressure_3th,json=conPressure3th,proto3" json:"con_pressure_3th,omitempty"` // 三段浓水压力 // gotags: json:"product_pressure_3th" ProductPressure_3Th float64 `protobuf:"fixed64,28,opt,name=product_pressure_3th,json=productPressure3th,proto3" json:"product_pressure_3th,omitempty"` // 三段产水压力 // gotags: json:"tmp_3th" Tmp_3Th float64 `protobuf:"fixed64,29,opt,name=tmp_3th,json=tmp3th,proto3" json:"tmp_3th,omitempty"` // 三段压差 // gotags: json:"flux_3th" Flux_3Th float64 `protobuf:"fixed64,30,opt,name=flux_3th,json=flux3th,proto3" json:"flux_3th,omitempty"` // 三段通量 // gotags: json:"permeability_3th" Permeability_3Th float64 `protobuf:"fixed64,31,opt,name=permeability_3th,json=permeability3th,proto3" json:"permeability_3th,omitempty"` // 三段渗透率 // gotags: json:"feed_wq_turbidity" FeedWqTurbidity float64 `protobuf:"fixed64,32,opt,name=feed_wq_turbidity,json=feedWqTurbidity,proto3" json:"feed_wq_turbidity,omitempty"` // 进水浊度 // gotags: json:"feed_wq_ph" FeedWqPh int64 `protobuf:"varint,33,opt,name=feed_wq_ph,json=feedWqPh,proto3" json:"feed_wq_ph,omitempty"` // 进水 PH 值 // gotags: json:"product_wq_ph" ProductWqPh int64 `protobuf:"varint,34,opt,name=product_wq_ph,json=productWqPh,proto3" json:"product_wq_ph,omitempty"` // 产水 PH 值 // gotags: json:"feed_wq_al" FeedWqAl float64 `protobuf:"fixed64,35,opt,name=feed_wq_al,json=feedWqAl,proto3" json:"feed_wq_al,omitempty"` // 进水水质:铝 // gotags: json:"product_wq_al" ProductWqAl float64 `protobuf:"fixed64,36,opt,name=product_wq_al,json=productWqAl,proto3" json:"product_wq_al,omitempty"` // 产水水质:铝 // gotags: json:"feed_wq_fe" FeedWqFe float64 `protobuf:"fixed64,37,opt,name=feed_wq_fe,json=feedWqFe,proto3" json:"feed_wq_fe,omitempty"` // 进水水质:铁 // gotags: json:"product_wq_fe" ProductWqFe float64 `protobuf:"fixed64,38,opt,name=product_wq_fe,json=productWqFe,proto3" json:"product_wq_fe,omitempty"` // 产水水质:铁 // gotags: json:"feed_wq_mn" FeedWqMn float64 `protobuf:"fixed64,39,opt,name=feed_wq_mn,json=feedWqMn,proto3" json:"feed_wq_mn,omitempty"` // 进水水质:锰 // gotags: json:"product_wq_mn" ProductWqMn float64 `protobuf:"fixed64,40,opt,name=product_wq_mn,json=productWqMn,proto3" json:"product_wq_mn,omitempty"` // 产水水质:锰 // gotags: json:"feed_wq_sio2" FeedWqSio2 float64 `protobuf:"fixed64,41,opt,name=feed_wq_sio2,json=feedWqSio2,proto3" json:"feed_wq_sio2,omitempty"` // 进水水质:二氧化硅 // gotags: json:"product_wq_sio2" ProductWqSio2 float64 `protobuf:"fixed64,42,opt,name=product_wq_sio2,json=productWqSio2,proto3" json:"product_wq_sio2,omitempty"` // 产水水质:二氧化硅 // gotags: json:"feed_wq_cod" FeedWqCod float64 `protobuf:"fixed64,43,opt,name=feed_wq_cod,json=feedWqCod,proto3" json:"feed_wq_cod,omitempty"` // 进水水质:COD // gotags: json:"product_wq_cod" ProductWqCod float64 `protobuf:"fixed64,44,opt,name=product_wq_cod,json=productWqCod,proto3" json:"product_wq_cod,omitempty"` // 产水水质:COD // gotags: json:"feed_wq_p" FeedWqP float64 `protobuf:"fixed64,45,opt,name=feed_wq_p,json=feedWqP,proto3" json:"feed_wq_p,omitempty"` // 进水水质:磷 // gotags: json:"product_wq_p" ProductWqP float64 `protobuf:"fixed64,46,opt,name=product_wq_p,json=productWqP,proto3" json:"product_wq_p,omitempty"` // 产水水质:磷 // gotags: json:"step" Step int64 `protobuf:"varint,47,opt,name=step,proto3" json:"step,omitempty"` // 设备当前步序值 // gotags: json:"c_time" CTime string `protobuf:"bytes,48,opt,name=c_time,json=cTime,proto3" json:"c_time,omitempty"` } func (x *WorkingRo) Reset() { *x = WorkingRo{} if protoimpl.UnsafeEnabled { mi := &file_organization_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WorkingRo) String() string { return protoimpl.X.MessageStringOf(x) } func (*WorkingRo) ProtoMessage() {} func (x *WorkingRo) ProtoReflect() protoreflect.Message { mi := &file_organization_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use WorkingRo.ProtoReflect.Descriptor instead. func (*WorkingRo) Descriptor() ([]byte, []int) { return file_organization_proto_rawDescGZIP(), []int{4} } func (x *WorkingRo) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *WorkingRo) GetProjectId() int64 { if x != nil { return x.ProjectId } return 0 } func (x *WorkingRo) GetDeviceCode() string { if x != nil { return x.DeviceCode } return "" } func (x *WorkingRo) GetWaterTemperature() float64 { if x != nil { return x.WaterTemperature } return 0 } func (x *WorkingRo) GetFeedFlow_1St() float64 { if x != nil { return x.FeedFlow_1St } return 0 } func (x *WorkingRo) GetConFlow_1St() float64 { if x != nil { return x.ConFlow_1St } return 0 } func (x *WorkingRo) GetProductFlow_1St() float64 { if x != nil { return x.ProductFlow_1St } return 0 } func (x *WorkingRo) GetFeedPressure_1St() float64 { if x != nil { return x.FeedPressure_1St } return 0 } func (x *WorkingRo) GetConPressure_1St() float64 { if x != nil { return x.ConPressure_1St } return 0 } func (x *WorkingRo) GetProductPressure_1St() float64 { if x != nil { return x.ProductPressure_1St } return 0 } func (x *WorkingRo) GetTmp_1St() float64 { if x != nil { return x.Tmp_1St } return 0 } func (x *WorkingRo) GetFlux_1St() float64 { if x != nil { return x.Flux_1St } return 0 } func (x *WorkingRo) GetPermeability_1St() float64 { if x != nil { return x.Permeability_1St } return 0 } func (x *WorkingRo) GetFeedFlow_2Nd() float64 { if x != nil { return x.FeedFlow_2Nd } return 0 } func (x *WorkingRo) GetConFlow_2Nd() float64 { if x != nil { return x.ConFlow_2Nd } return 0 } func (x *WorkingRo) GetProductFlow_2Nd() float64 { if x != nil { return x.ProductFlow_2Nd } return 0 } func (x *WorkingRo) GetFeedPressure_2Nd() float64 { if x != nil { return x.FeedPressure_2Nd } return 0 } func (x *WorkingRo) GetConPressure_2Nd() float64 { if x != nil { return x.ConPressure_2Nd } return 0 } func (x *WorkingRo) GetProductPressure_2Nd() float64 { if x != nil { return x.ProductPressure_2Nd } return 0 } func (x *WorkingRo) GetTmp_2Nd() float64 { if x != nil { return x.Tmp_2Nd } return 0 } func (x *WorkingRo) GetFlux_2Nd() float64 { if x != nil { return x.Flux_2Nd } return 0 } func (x *WorkingRo) GetPermeability_2Nd() float64 { if x != nil { return x.Permeability_2Nd } return 0 } func (x *WorkingRo) GetFeedFlow_3Th() float64 { if x != nil { return x.FeedFlow_3Th } return 0 } func (x *WorkingRo) GetConFlow_3Th() float64 { if x != nil { return x.ConFlow_3Th } return 0 } func (x *WorkingRo) GetProductFlow_3Th() float64 { if x != nil { return x.ProductFlow_3Th } return 0 } func (x *WorkingRo) GetFeedPressure_3Th() float64 { if x != nil { return x.FeedPressure_3Th } return 0 } func (x *WorkingRo) GetConPressure_3Th() float64 { if x != nil { return x.ConPressure_3Th } return 0 } func (x *WorkingRo) GetProductPressure_3Th() float64 { if x != nil { return x.ProductPressure_3Th } return 0 } func (x *WorkingRo) GetTmp_3Th() float64 { if x != nil { return x.Tmp_3Th } return 0 } func (x *WorkingRo) GetFlux_3Th() float64 { if x != nil { return x.Flux_3Th } return 0 } func (x *WorkingRo) GetPermeability_3Th() float64 { if x != nil { return x.Permeability_3Th } return 0 } func (x *WorkingRo) GetFeedWqTurbidity() float64 { if x != nil { return x.FeedWqTurbidity } return 0 } func (x *WorkingRo) GetFeedWqPh() int64 { if x != nil { return x.FeedWqPh } return 0 } func (x *WorkingRo) GetProductWqPh() int64 { if x != nil { return x.ProductWqPh } return 0 } func (x *WorkingRo) GetFeedWqAl() float64 { if x != nil { return x.FeedWqAl } return 0 } func (x *WorkingRo) GetProductWqAl() float64 { if x != nil { return x.ProductWqAl } return 0 } func (x *WorkingRo) GetFeedWqFe() float64 { if x != nil { return x.FeedWqFe } return 0 } func (x *WorkingRo) GetProductWqFe() float64 { if x != nil { return x.ProductWqFe } return 0 } func (x *WorkingRo) GetFeedWqMn() float64 { if x != nil { return x.FeedWqMn } return 0 } func (x *WorkingRo) GetProductWqMn() float64 { if x != nil { return x.ProductWqMn } return 0 } func (x *WorkingRo) GetFeedWqSio2() float64 { if x != nil { return x.FeedWqSio2 } return 0 } func (x *WorkingRo) GetProductWqSio2() float64 { if x != nil { return x.ProductWqSio2 } return 0 } func (x *WorkingRo) GetFeedWqCod() float64 { if x != nil { return x.FeedWqCod } return 0 } func (x *WorkingRo) GetProductWqCod() float64 { if x != nil { return x.ProductWqCod } return 0 } func (x *WorkingRo) GetFeedWqP() float64 { if x != nil { return x.FeedWqP } return 0 } func (x *WorkingRo) GetProductWqP() float64 { if x != nil { return x.ProductWqP } return 0 } func (x *WorkingRo) GetStep() int64 { if x != nil { return x.Step } return 0 } func (x *WorkingRo) GetCTime() string { if x != nil { return x.CTime } return "" } type WorkingChest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // @gotags: json:"id" Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` // @gotags: json:"project_id" ProjectId int64 `protobuf:"varint,2,opt,name=project_id,json=projectId,proto3" json:"project_id"` // @gotags: json:"device_code" DeviceCode string `protobuf:"bytes,3,opt,name=device_code,json=deviceCode,proto3" json:"device_code"` // @gotags: json:"switch" Switch int64 `protobuf:"varint,4,opt,name=switch,proto3" json:"switch"` // 药箱液位开关 0: 关 1: 开 // @gotags: json:"level" Level float64 `protobuf:"fixed64,5,opt,name=level,proto3" json:"level"` // 液位高度 // @gotags: json:"agitator_status" AgitatorStatus int64 `protobuf:"varint,6,opt,name=agitator_status,json=agitatorStatus,proto3" json:"agitator_status"` // 搅拌器运行状态 0: 未运行 1:运行中 // @gotags: json:"agitator_duration" AgitatorDuration int64 `protobuf:"varint,7,opt,name=agitator_duration,json=agitatorDuration,proto3" json:"agitator_duration"` // 搅拌器运行时长 // @gotags: json:"agitator_fault_status" AgitatorFaultStatus int64 `protobuf:"varint,8,opt,name=agitator_fault_status,json=agitatorFaultStatus,proto3" json:"agitator_fault_status"` // 搅拌器故障状态 0:正常 1:故障 // @gotags: json:"c_time" CTime string `protobuf:"bytes,9,opt,name=c_time,json=cTime,proto3" json:"c_time"` } func (x *WorkingChest) Reset() { *x = WorkingChest{} if protoimpl.UnsafeEnabled { mi := &file_organization_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WorkingChest) String() string { return protoimpl.X.MessageStringOf(x) } func (*WorkingChest) ProtoMessage() {} func (x *WorkingChest) ProtoReflect() protoreflect.Message { mi := &file_organization_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use WorkingChest.ProtoReflect.Descriptor instead. func (*WorkingChest) Descriptor() ([]byte, []int) { return file_organization_proto_rawDescGZIP(), []int{5} } func (x *WorkingChest) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *WorkingChest) GetProjectId() int64 { if x != nil { return x.ProjectId } return 0 } func (x *WorkingChest) GetDeviceCode() string { if x != nil { return x.DeviceCode } return "" } func (x *WorkingChest) GetSwitch() int64 { if x != nil { return x.Switch } return 0 } func (x *WorkingChest) GetLevel() float64 { if x != nil { return x.Level } return 0 } func (x *WorkingChest) GetAgitatorStatus() int64 { if x != nil { return x.AgitatorStatus } return 0 } func (x *WorkingChest) GetAgitatorDuration() int64 { if x != nil { return x.AgitatorDuration } return 0 } func (x *WorkingChest) GetAgitatorFaultStatus() int64 { if x != nil { return x.AgitatorFaultStatus } return 0 } func (x *WorkingChest) GetCTime() string { if x != nil { return x.CTime } return "" } type WorkingPump struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // @gotags: json:"id" Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` // @gotags: json:"project_id" ProjectId int64 `protobuf:"varint,2,opt,name=project_id,json=projectId,proto3" json:"project_id"` // @gotags: json:"device_code" DeviceCode string `protobuf:"bytes,3,opt,name=device_code,json=deviceCode,proto3" json:"device_code"` // @gotags: json:"feed_pressure" FeedPressure float64 `protobuf:"fixed64,4,opt,name=feed_pressure,json=feedPressure,proto3" json:"feed_pressure"` // 进水压力 // @gotags: json:"out_pressure" OutPressure float64 `protobuf:"fixed64,5,opt,name=out_pressure,json=outPressure,proto3" json:"out_pressure"` // 出水压力 // @gotags: json:"duration" Duration int64 `protobuf:"varint,6,opt,name=duration,proto3" json:"duration"` // 运行时长 单位 s // @gotags: json:"current" Current float64 `protobuf:"fixed64,7,opt,name=current,proto3" json:"current"` // 运行电流 // @gotags: json:"frequency" Frequency float64 `protobuf:"fixed64,8,opt,name=frequency,proto3" json:"frequency"` // 运行频率 // @gotags: json:"lift" Lift float64 `protobuf:"fixed64,9,opt,name=lift,proto3" json:"lift"` // 工作扬程 // @gotags: json:"efficiency" Efficiency float64 `protobuf:"fixed64,10,opt,name=efficiency,proto3" json:"efficiency"` // 运行效率 // @gotags: json:"run_status" RunStatus int64 `protobuf:"varint,11,opt,name=run_status,json=runStatus,proto3" json:"run_status"` // 运行状态 0: 停机 1: 运行正常 // @gotags: json:"fault_status" FaultStatus int64 `protobuf:"varint,12,opt,name=fault_status,json=faultStatus,proto3" json:"fault_status"` // 故障状态 0: 正常 1: 故障 // @gotags: json:"c_time" CTime string `protobuf:"bytes,13,opt,name=c_time,json=cTime,proto3" json:"c_time"` } func (x *WorkingPump) Reset() { *x = WorkingPump{} if protoimpl.UnsafeEnabled { mi := &file_organization_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WorkingPump) String() string { return protoimpl.X.MessageStringOf(x) } func (*WorkingPump) ProtoMessage() {} func (x *WorkingPump) ProtoReflect() protoreflect.Message { mi := &file_organization_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use WorkingPump.ProtoReflect.Descriptor instead. func (*WorkingPump) Descriptor() ([]byte, []int) { return file_organization_proto_rawDescGZIP(), []int{6} } func (x *WorkingPump) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *WorkingPump) GetProjectId() int64 { if x != nil { return x.ProjectId } return 0 } func (x *WorkingPump) GetDeviceCode() string { if x != nil { return x.DeviceCode } return "" } func (x *WorkingPump) GetFeedPressure() float64 { if x != nil { return x.FeedPressure } return 0 } func (x *WorkingPump) GetOutPressure() float64 { if x != nil { return x.OutPressure } return 0 } func (x *WorkingPump) GetDuration() int64 { if x != nil { return x.Duration } return 0 } func (x *WorkingPump) GetCurrent() float64 { if x != nil { return x.Current } return 0 } func (x *WorkingPump) GetFrequency() float64 { if x != nil { return x.Frequency } return 0 } func (x *WorkingPump) GetLift() float64 { if x != nil { return x.Lift } return 0 } func (x *WorkingPump) GetEfficiency() float64 { if x != nil { return x.Efficiency } return 0 } func (x *WorkingPump) GetRunStatus() int64 { if x != nil { return x.RunStatus } return 0 } func (x *WorkingPump) GetFaultStatus() int64 { if x != nil { return x.FaultStatus } return 0 } func (x *WorkingPump) GetCTime() string { if x != nil { return x.CTime } return "" } type WorkingValve struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // @gotags: json:"id" Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` // @gotags: json:"project_id" ProjectId int64 `protobuf:"varint,2,opt,name=project_id,json=projectId,proto3" json:"project_id"` // @gotags: json:"device_code" DeviceCode string `protobuf:"bytes,3,opt,name=device_code,json=deviceCode,proto3" json:"device_code"` // @gotags: json:"adjust" Adjust int64 `protobuf:"varint,4,opt,name=adjust,proto3" json:"adjust"` // 是否为调节阀门 0: 否 1: 是 // @gotags: json:"opening" Opening float64 `protobuf:"fixed64,5,opt,name=opening,proto3" json:"opening"` // 当前阀门的开度 // @gotags: json:"closed" Closed int64 `protobuf:"varint,6,opt,name=closed,proto3" json:"closed"` // 关到位 全关 0: 否 1: 是 // @gotags: json:"opened" Opened int64 `protobuf:"varint,7,opt,name=opened,proto3" json:"opened"` // 开到位 开到 设置的开度 0: 否 1: 是 // @gotags: json:"fault_status" FaultStatus int64 `protobuf:"varint,8,opt,name=fault_status,json=faultStatus,proto3" json:"fault_status"` // 是否故障 0: 否 1: 是 // @gotags: json:"c_time" CTime string `protobuf:"bytes,9,opt,name=c_time,json=cTime,proto3" json:"c_time"` } func (x *WorkingValve) Reset() { *x = WorkingValve{} if protoimpl.UnsafeEnabled { mi := &file_organization_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WorkingValve) String() string { return protoimpl.X.MessageStringOf(x) } func (*WorkingValve) ProtoMessage() {} func (x *WorkingValve) ProtoReflect() protoreflect.Message { mi := &file_organization_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use WorkingValve.ProtoReflect.Descriptor instead. func (*WorkingValve) Descriptor() ([]byte, []int) { return file_organization_proto_rawDescGZIP(), []int{7} } func (x *WorkingValve) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *WorkingValve) GetProjectId() int64 { if x != nil { return x.ProjectId } return 0 } func (x *WorkingValve) GetDeviceCode() string { if x != nil { return x.DeviceCode } return "" } func (x *WorkingValve) GetAdjust() int64 { if x != nil { return x.Adjust } return 0 } func (x *WorkingValve) GetOpening() float64 { if x != nil { return x.Opening } return 0 } func (x *WorkingValve) GetClosed() int64 { if x != nil { return x.Closed } return 0 } func (x *WorkingValve) GetOpened() int64 { if x != nil { return x.Opened } return 0 } func (x *WorkingValve) GetFaultStatus() int64 { if x != nil { return x.FaultStatus } return 0 } func (x *WorkingValve) GetCTime() string { if x != nil { return x.CTime } return "" } type ItemHistoryData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // @gotags: json:"project_id" ProjectId int64 `protobuf:"varint,1,opt,name=project_id,json=projectId,proto3" json:"project_id"` // @gotags: json:"item_name" ItemName string `protobuf:"bytes,2,opt,name=item_name,json=itemName,proto3" json:"item_name"` // @gotags: json:"val" Val float64 `protobuf:"fixed64,3,opt,name=val,proto3" json:"val"` // @gotags: json:"h_time" HTime string `protobuf:"bytes,4,opt,name=h_time,json=hTime,proto3" json:"h_time"` } func (x *ItemHistoryData) Reset() { *x = ItemHistoryData{} if protoimpl.UnsafeEnabled { mi := &file_organization_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ItemHistoryData) String() string { return protoimpl.X.MessageStringOf(x) } func (*ItemHistoryData) ProtoMessage() {} func (x *ItemHistoryData) ProtoReflect() protoreflect.Message { mi := &file_organization_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ItemHistoryData.ProtoReflect.Descriptor instead. func (*ItemHistoryData) Descriptor() ([]byte, []int) { return file_organization_proto_rawDescGZIP(), []int{8} } func (x *ItemHistoryData) GetProjectId() int64 { if x != nil { return x.ProjectId } return 0 } func (x *ItemHistoryData) GetItemName() string { if x != nil { return x.ItemName } return "" } func (x *ItemHistoryData) GetVal() float64 { if x != nil { return x.Val } return 0 } func (x *ItemHistoryData) GetHTime() string { if x != nil { return x.HTime } return "" } type MultiAddItemHistoryDataReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // @gotags: json:"project_id" ProjectId int64 `protobuf:"varint,1,opt,name=project_id,json=projectId,proto3" json:"project_id"` // @gotags: json:"list" List []*ItemHistoryData `protobuf:"bytes,2,rep,name=list,proto3" json:"list"` } func (x *MultiAddItemHistoryDataReq) Reset() { *x = MultiAddItemHistoryDataReq{} if protoimpl.UnsafeEnabled { mi := &file_organization_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MultiAddItemHistoryDataReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*MultiAddItemHistoryDataReq) ProtoMessage() {} func (x *MultiAddItemHistoryDataReq) ProtoReflect() protoreflect.Message { mi := &file_organization_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MultiAddItemHistoryDataReq.ProtoReflect.Descriptor instead. func (*MultiAddItemHistoryDataReq) Descriptor() ([]byte, []int) { return file_organization_proto_rawDescGZIP(), []int{9} } func (x *MultiAddItemHistoryDataReq) GetProjectId() int64 { if x != nil { return x.ProjectId } return 0 } func (x *MultiAddItemHistoryDataReq) GetList() []*ItemHistoryData { if x != nil { return x.List } return nil } type MultiAddItemHistoryDataResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *MultiAddItemHistoryDataResp) Reset() { *x = MultiAddItemHistoryDataResp{} if protoimpl.UnsafeEnabled { mi := &file_organization_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MultiAddItemHistoryDataResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*MultiAddItemHistoryDataResp) ProtoMessage() {} func (x *MultiAddItemHistoryDataResp) ProtoReflect() protoreflect.Message { mi := &file_organization_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MultiAddItemHistoryDataResp.ProtoReflect.Descriptor instead. func (*MultiAddItemHistoryDataResp) Descriptor() ([]byte, []int) { return file_organization_proto_rawDescGZIP(), []int{10} } type ItemHistoryDataListReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // @gotags: json:"project_id" ProjectId int64 `protobuf:"varint,1,opt,name=project_id,json=projectId,proto3" json:"project_id"` // @gotags: json:"item_name" ItemName string `protobuf:"bytes,2,opt,name=item_name,json=itemName,proto3" json:"item_name"` // @gotags: json:"interval" Interval string `protobuf:"bytes,3,opt,name=interval,proto3" json:"interval"` //时间单位 s,minute,h,day // @gotags: json:"aggregator" Aggregator string `protobuf:"bytes,4,opt,name=aggregator,proto3" json:"aggregator"` //聚合方式 min,max,avg,sum,realtime, new // @gotags: json:"stime" Stime string `protobuf:"bytes,5,opt,name=stime,proto3" json:"stime"` // @gotags: json:"etime" Etime string `protobuf:"bytes,6,opt,name=etime,proto3" json:"etime"` // @gotags: json:"size" Size int64 `protobuf:"varint,7,opt,name=size,proto3" json:"size"` // @gotags: json:"order" Order string `protobuf:"bytes,8,opt,name=order,proto3" json:"order"` } func (x *ItemHistoryDataListReq) Reset() { *x = ItemHistoryDataListReq{} if protoimpl.UnsafeEnabled { mi := &file_organization_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ItemHistoryDataListReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*ItemHistoryDataListReq) ProtoMessage() {} func (x *ItemHistoryDataListReq) ProtoReflect() protoreflect.Message { mi := &file_organization_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ItemHistoryDataListReq.ProtoReflect.Descriptor instead. func (*ItemHistoryDataListReq) Descriptor() ([]byte, []int) { return file_organization_proto_rawDescGZIP(), []int{11} } func (x *ItemHistoryDataListReq) GetProjectId() int64 { if x != nil { return x.ProjectId } return 0 } func (x *ItemHistoryDataListReq) GetItemName() string { if x != nil { return x.ItemName } return "" } func (x *ItemHistoryDataListReq) GetInterval() string { if x != nil { return x.Interval } return "" } func (x *ItemHistoryDataListReq) GetAggregator() string { if x != nil { return x.Aggregator } return "" } func (x *ItemHistoryDataListReq) GetStime() string { if x != nil { return x.Stime } return "" } func (x *ItemHistoryDataListReq) GetEtime() string { if x != nil { return x.Etime } return "" } func (x *ItemHistoryDataListReq) GetSize() int64 { if x != nil { return x.Size } return 0 } func (x *ItemHistoryDataListReq) GetOrder() string { if x != nil { return x.Order } return "" } type ItemHistoryDataByTimeReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // @gotags: json:"project_id" ProjectId int64 `protobuf:"varint,1,opt,name=project_id,json=projectId,proto3" json:"project_id"` // @gotags: json:"item_name" ItemName string `protobuf:"bytes,2,opt,name=item_name,json=itemName,proto3" json:"item_name"` // @gotags: json:"stime" Stime string `protobuf:"bytes,3,opt,name=stime,proto3" json:"stime"` // @gotags: json:"etime" Etime string `protobuf:"bytes,4,opt,name=etime,proto3" json:"etime"` // @gotags: json:"order" Order string `protobuf:"bytes,5,opt,name=order,proto3" json:"order"` } func (x *ItemHistoryDataByTimeReq) Reset() { *x = ItemHistoryDataByTimeReq{} if protoimpl.UnsafeEnabled { mi := &file_organization_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ItemHistoryDataByTimeReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*ItemHistoryDataByTimeReq) ProtoMessage() {} func (x *ItemHistoryDataByTimeReq) ProtoReflect() protoreflect.Message { mi := &file_organization_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ItemHistoryDataByTimeReq.ProtoReflect.Descriptor instead. func (*ItemHistoryDataByTimeReq) Descriptor() ([]byte, []int) { return file_organization_proto_rawDescGZIP(), []int{12} } func (x *ItemHistoryDataByTimeReq) GetProjectId() int64 { if x != nil { return x.ProjectId } return 0 } func (x *ItemHistoryDataByTimeReq) GetItemName() string { if x != nil { return x.ItemName } return "" } func (x *ItemHistoryDataByTimeReq) GetStime() string { if x != nil { return x.Stime } return "" } func (x *ItemHistoryDataByTimeReq) GetEtime() string { if x != nil { return x.Etime } return "" } func (x *ItemHistoryDataByTimeReq) GetOrder() string { if x != nil { return x.Order } return "" } type ItemHistoryDataMaxMinResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // @gotags: json:"max_val" MaxVal float64 `protobuf:"fixed64,1,opt,name=max_val,json=maxVal,proto3" json:"max_val"` // @gotags: json:"min_val" MinVal float64 `protobuf:"fixed64,2,opt,name=min_val,json=minVal,proto3" json:"min_val"` // @gotags: json:"avg_val" AvgVal float64 `protobuf:"fixed64,3,opt,name=avg_val,json=avgVal,proto3" json:"avg_val"` } func (x *ItemHistoryDataMaxMinResp) Reset() { *x = ItemHistoryDataMaxMinResp{} if protoimpl.UnsafeEnabled { mi := &file_organization_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ItemHistoryDataMaxMinResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*ItemHistoryDataMaxMinResp) ProtoMessage() {} func (x *ItemHistoryDataMaxMinResp) ProtoReflect() protoreflect.Message { mi := &file_organization_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ItemHistoryDataMaxMinResp.ProtoReflect.Descriptor instead. func (*ItemHistoryDataMaxMinResp) Descriptor() ([]byte, []int) { return file_organization_proto_rawDescGZIP(), []int{13} } func (x *ItemHistoryDataMaxMinResp) GetMaxVal() float64 { if x != nil { return x.MaxVal } return 0 } func (x *ItemHistoryDataMaxMinResp) GetMinVal() float64 { if x != nil { return x.MinVal } return 0 } func (x *ItemHistoryDataMaxMinResp) GetAvgVal() float64 { if x != nil { return x.AvgVal } return 0 } type ItemHistoryDataFirstLastResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // @gotags: json:"first" First float64 `protobuf:"fixed64,1,opt,name=first,proto3" json:"first"` // @gotags: json:"last" Last float64 `protobuf:"fixed64,2,opt,name=last,proto3" json:"last"` } func (x *ItemHistoryDataFirstLastResp) Reset() { *x = ItemHistoryDataFirstLastResp{} if protoimpl.UnsafeEnabled { mi := &file_organization_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ItemHistoryDataFirstLastResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*ItemHistoryDataFirstLastResp) ProtoMessage() {} func (x *ItemHistoryDataFirstLastResp) ProtoReflect() protoreflect.Message { mi := &file_organization_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ItemHistoryDataFirstLastResp.ProtoReflect.Descriptor instead. func (*ItemHistoryDataFirstLastResp) Descriptor() ([]byte, []int) { return file_organization_proto_rawDescGZIP(), []int{14} } func (x *ItemHistoryDataFirstLastResp) GetFirst() float64 { if x != nil { return x.First } return 0 } func (x *ItemHistoryDataFirstLastResp) GetLast() float64 { if x != nil { return x.Last } return 0 } type ChangeTypeItemHistoryDataResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // @gotags: json:"value" Value float64 `protobuf:"fixed64,1,opt,name=value,proto3" json:"value"` } func (x *ChangeTypeItemHistoryDataResp) Reset() { *x = ChangeTypeItemHistoryDataResp{} if protoimpl.UnsafeEnabled { mi := &file_organization_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChangeTypeItemHistoryDataResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChangeTypeItemHistoryDataResp) ProtoMessage() {} func (x *ChangeTypeItemHistoryDataResp) ProtoReflect() protoreflect.Message { mi := &file_organization_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ChangeTypeItemHistoryDataResp.ProtoReflect.Descriptor instead. func (*ChangeTypeItemHistoryDataResp) Descriptor() ([]byte, []int) { return file_organization_proto_rawDescGZIP(), []int{15} } func (x *ChangeTypeItemHistoryDataResp) GetValue() float64 { if x != nil { return x.Value } return 0 } type ItemHistoryDataList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // @gotags: json:"item_name" ItemName string `protobuf:"bytes,1,opt,name=item_name,json=itemName,proto3" json:"item_name"` // @gotags: json:"val" Val float64 `protobuf:"fixed64,2,opt,name=val,proto3" json:"val"` // @gotags: json:"h_time" HTime string `protobuf:"bytes,3,opt,name=h_time,json=hTime,proto3" json:"h_time"` } func (x *ItemHistoryDataList) Reset() { *x = ItemHistoryDataList{} if protoimpl.UnsafeEnabled { mi := &file_organization_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ItemHistoryDataList) String() string { return protoimpl.X.MessageStringOf(x) } func (*ItemHistoryDataList) ProtoMessage() {} func (x *ItemHistoryDataList) ProtoReflect() protoreflect.Message { mi := &file_organization_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ItemHistoryDataList.ProtoReflect.Descriptor instead. func (*ItemHistoryDataList) Descriptor() ([]byte, []int) { return file_organization_proto_rawDescGZIP(), []int{16} } func (x *ItemHistoryDataList) GetItemName() string { if x != nil { return x.ItemName } return "" } func (x *ItemHistoryDataList) GetVal() float64 { if x != nil { return x.Val } return 0 } func (x *ItemHistoryDataList) GetHTime() string { if x != nil { return x.HTime } return "" } type ItemHistoryDataForChart struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // @gotags: json:"name" Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name"` // @gotags: json:"val" Val float64 `protobuf:"fixed64,2,opt,name=val,proto3" json:"val"` // @gotags: json:"htime_at" HtimeAt string `protobuf:"bytes,3,opt,name=htime_at,json=htimeAt,proto3" json:"htime_at"` } func (x *ItemHistoryDataForChart) Reset() { *x = ItemHistoryDataForChart{} if protoimpl.UnsafeEnabled { mi := &file_organization_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ItemHistoryDataForChart) String() string { return protoimpl.X.MessageStringOf(x) } func (*ItemHistoryDataForChart) ProtoMessage() {} func (x *ItemHistoryDataForChart) ProtoReflect() protoreflect.Message { mi := &file_organization_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ItemHistoryDataForChart.ProtoReflect.Descriptor instead. func (*ItemHistoryDataForChart) Descriptor() ([]byte, []int) { return file_organization_proto_rawDescGZIP(), []int{17} } func (x *ItemHistoryDataForChart) GetName() string { if x != nil { return x.Name } return "" } func (x *ItemHistoryDataForChart) GetVal() float64 { if x != nil { return x.Val } return 0 } func (x *ItemHistoryDataForChart) GetHtimeAt() string { if x != nil { return x.HtimeAt } return "" } type ItemHistoryDataForChartReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // @gotags: json:"project_id" ProjectId int64 `protobuf:"varint,1,opt,name=project_id,json=projectId,proto3" json:"project_id"` // @gotags: json:"item_name" ItemName string `protobuf:"bytes,2,opt,name=item_name,json=itemName,proto3" json:"item_name"` // @gotags: json:"stime" Stime string `protobuf:"bytes,3,opt,name=stime,proto3" json:"stime"` // @gotags: json:"etime" Etime string `protobuf:"bytes,4,opt,name=etime,proto3" json:"etime"` // @gotags: json:"interval" Interval string `protobuf:"bytes,5,opt,name=interval,proto3" json:"interval"` // @gotags: json:"size" Size int64 `protobuf:"varint,6,opt,name=size,proto3" json:"size"` // @gotags: json:"aggregator" Aggregator string `protobuf:"bytes,7,opt,name=aggregator,proto3" json:"aggregator"` // @gotags: json:"order" Order string `protobuf:"bytes,8,opt,name=order,proto3" json:"order"` // @gotags: json:"max_val" MaxVal float64 `protobuf:"fixed64,9,opt,name=max_val,json=maxVal,proto3" json:"max_val"` // @gotags: json:"min_val" MinVal float64 `protobuf:"fixed64,10,opt,name=min_val,json=minVal,proto3" json:"min_val"` } func (x *ItemHistoryDataForChartReq) Reset() { *x = ItemHistoryDataForChartReq{} if protoimpl.UnsafeEnabled { mi := &file_organization_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ItemHistoryDataForChartReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*ItemHistoryDataForChartReq) ProtoMessage() {} func (x *ItemHistoryDataForChartReq) ProtoReflect() protoreflect.Message { mi := &file_organization_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ItemHistoryDataForChartReq.ProtoReflect.Descriptor instead. func (*ItemHistoryDataForChartReq) Descriptor() ([]byte, []int) { return file_organization_proto_rawDescGZIP(), []int{18} } func (x *ItemHistoryDataForChartReq) GetProjectId() int64 { if x != nil { return x.ProjectId } return 0 } func (x *ItemHistoryDataForChartReq) GetItemName() string { if x != nil { return x.ItemName } return "" } func (x *ItemHistoryDataForChartReq) GetStime() string { if x != nil { return x.Stime } return "" } func (x *ItemHistoryDataForChartReq) GetEtime() string { if x != nil { return x.Etime } return "" } func (x *ItemHistoryDataForChartReq) GetInterval() string { if x != nil { return x.Interval } return "" } func (x *ItemHistoryDataForChartReq) GetSize() int64 { if x != nil { return x.Size } return 0 } func (x *ItemHistoryDataForChartReq) GetAggregator() string { if x != nil { return x.Aggregator } return "" } func (x *ItemHistoryDataForChartReq) GetOrder() string { if x != nil { return x.Order } return "" } func (x *ItemHistoryDataForChartReq) GetMaxVal() float64 { if x != nil { return x.MaxVal } return 0 } func (x *ItemHistoryDataForChartReq) GetMinVal() float64 { if x != nil { return x.MinVal } return 0 } type ItemHistoryDataForChartResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // @gotags: json:"list" List []*ItemHistoryDataForChart `protobuf:"bytes,1,rep,name=list,proto3" json:"list"` } func (x *ItemHistoryDataForChartResp) Reset() { *x = ItemHistoryDataForChartResp{} if protoimpl.UnsafeEnabled { mi := &file_organization_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ItemHistoryDataForChartResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*ItemHistoryDataForChartResp) ProtoMessage() {} func (x *ItemHistoryDataForChartResp) ProtoReflect() protoreflect.Message { mi := &file_organization_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ItemHistoryDataForChartResp.ProtoReflect.Descriptor instead. func (*ItemHistoryDataForChartResp) Descriptor() ([]byte, []int) { return file_organization_proto_rawDescGZIP(), []int{19} } func (x *ItemHistoryDataForChartResp) GetList() []*ItemHistoryDataForChart { if x != nil { return x.List } return nil } type ItemHistoryDataListResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // @gotags: json:"list" List []*ItemHistoryDataList `protobuf:"bytes,1,rep,name=list,proto3" json:"list"` } func (x *ItemHistoryDataListResp) Reset() { *x = ItemHistoryDataListResp{} if protoimpl.UnsafeEnabled { mi := &file_organization_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ItemHistoryDataListResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*ItemHistoryDataListResp) ProtoMessage() {} func (x *ItemHistoryDataListResp) ProtoReflect() protoreflect.Message { mi := &file_organization_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ItemHistoryDataListResp.ProtoReflect.Descriptor instead. func (*ItemHistoryDataListResp) Descriptor() ([]byte, []int) { return file_organization_proto_rawDescGZIP(), []int{20} } func (x *ItemHistoryDataListResp) GetList() []*ItemHistoryDataList { if x != nil { return x.List } return nil } type GetWorkingUfByCodeResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // @gotags: json:"list" List []*WorkingUf `protobuf:"bytes,1,rep,name=list,proto3" json:"list"` } func (x *GetWorkingUfByCodeResp) Reset() { *x = GetWorkingUfByCodeResp{} if protoimpl.UnsafeEnabled { mi := &file_organization_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetWorkingUfByCodeResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetWorkingUfByCodeResp) ProtoMessage() {} func (x *GetWorkingUfByCodeResp) ProtoReflect() protoreflect.Message { mi := &file_organization_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GetWorkingUfByCodeResp.ProtoReflect.Descriptor instead. func (*GetWorkingUfByCodeResp) Descriptor() ([]byte, []int) { return file_organization_proto_rawDescGZIP(), []int{21} } func (x *GetWorkingUfByCodeResp) GetList() []*WorkingUf { if x != nil { return x.List } return nil } type FindWorkingUfByCycleReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProjectId int64 `protobuf:"varint,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` DeviceCode string `protobuf:"bytes,2,opt,name=device_code,json=deviceCode,proto3" json:"device_code,omitempty"` FilterCycle int64 `protobuf:"varint,3,opt,name=filter_cycle,json=filterCycle,proto3" json:"filter_cycle,omitempty"` Step int64 `protobuf:"varint,4,opt,name=step,proto3" json:"step,omitempty"` FilterTimeStart float64 `protobuf:"fixed64,5,opt,name=filter_time_start,json=filterTimeStart,proto3" json:"filter_time_start,omitempty"` FilterTimeEnd float64 `protobuf:"fixed64,6,opt,name=filter_time_end,json=filterTimeEnd,proto3" json:"filter_time_end,omitempty"` Limit int64 `protobuf:"varint,7,opt,name=limit,proto3" json:"limit,omitempty"` } func (x *FindWorkingUfByCycleReq) Reset() { *x = FindWorkingUfByCycleReq{} if protoimpl.UnsafeEnabled { mi := &file_organization_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindWorkingUfByCycleReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindWorkingUfByCycleReq) ProtoMessage() {} func (x *FindWorkingUfByCycleReq) ProtoReflect() protoreflect.Message { mi := &file_organization_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FindWorkingUfByCycleReq.ProtoReflect.Descriptor instead. func (*FindWorkingUfByCycleReq) Descriptor() ([]byte, []int) { return file_organization_proto_rawDescGZIP(), []int{22} } func (x *FindWorkingUfByCycleReq) GetProjectId() int64 { if x != nil { return x.ProjectId } return 0 } func (x *FindWorkingUfByCycleReq) GetDeviceCode() string { if x != nil { return x.DeviceCode } return "" } func (x *FindWorkingUfByCycleReq) GetFilterCycle() int64 { if x != nil { return x.FilterCycle } return 0 } func (x *FindWorkingUfByCycleReq) GetStep() int64 { if x != nil { return x.Step } return 0 } func (x *FindWorkingUfByCycleReq) GetFilterTimeStart() float64 { if x != nil { return x.FilterTimeStart } return 0 } func (x *FindWorkingUfByCycleReq) GetFilterTimeEnd() float64 { if x != nil { return x.FilterTimeEnd } return 0 } func (x *FindWorkingUfByCycleReq) GetLimit() int64 { if x != nil { return x.Limit } return 0 } type FindWorkingUfByCycleResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // @gotags: json:"list" List []*WorkingUf `protobuf:"bytes,1,rep,name=list,proto3" json:"list"` } func (x *FindWorkingUfByCycleResp) Reset() { *x = FindWorkingUfByCycleResp{} if protoimpl.UnsafeEnabled { mi := &file_organization_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindWorkingUfByCycleResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindWorkingUfByCycleResp) ProtoMessage() {} func (x *FindWorkingUfByCycleResp) ProtoReflect() protoreflect.Message { mi := &file_organization_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FindWorkingUfByCycleResp.ProtoReflect.Descriptor instead. func (*FindWorkingUfByCycleResp) Descriptor() ([]byte, []int) { return file_organization_proto_rawDescGZIP(), []int{23} } func (x *FindWorkingUfByCycleResp) GetList() []*WorkingUf { if x != nil { return x.List } return nil } type GetWorkingRoByCodeResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // @gotags: json:"list" List []*WorkingRo `protobuf:"bytes,1,rep,name=list,proto3" json:"list"` } func (x *GetWorkingRoByCodeResp) Reset() { *x = GetWorkingRoByCodeResp{} if protoimpl.UnsafeEnabled { mi := &file_organization_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetWorkingRoByCodeResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetWorkingRoByCodeResp) ProtoMessage() {} func (x *GetWorkingRoByCodeResp) ProtoReflect() protoreflect.Message { mi := &file_organization_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GetWorkingRoByCodeResp.ProtoReflect.Descriptor instead. func (*GetWorkingRoByCodeResp) Descriptor() ([]byte, []int) { return file_organization_proto_rawDescGZIP(), []int{24} } func (x *GetWorkingRoByCodeResp) GetList() []*WorkingRo { if x != nil { return x.List } return nil } type GetWorkingNfByCodeResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // @gotags: json:"list" List []*WorkingNf `protobuf:"bytes,1,rep,name=list,proto3" json:"list"` } func (x *GetWorkingNfByCodeResp) Reset() { *x = GetWorkingNfByCodeResp{} if protoimpl.UnsafeEnabled { mi := &file_organization_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetWorkingNfByCodeResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetWorkingNfByCodeResp) ProtoMessage() {} func (x *GetWorkingNfByCodeResp) ProtoReflect() protoreflect.Message { mi := &file_organization_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GetWorkingNfByCodeResp.ProtoReflect.Descriptor instead. func (*GetWorkingNfByCodeResp) Descriptor() ([]byte, []int) { return file_organization_proto_rawDescGZIP(), []int{25} } func (x *GetWorkingNfByCodeResp) GetList() []*WorkingNf { if x != nil { return x.List } return nil } type GetWorkingMfByCodeResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // @gotags: json:"list" List []*WorkingMf `protobuf:"bytes,1,rep,name=list,proto3" json:"list"` } func (x *GetWorkingMfByCodeResp) Reset() { *x = GetWorkingMfByCodeResp{} if protoimpl.UnsafeEnabled { mi := &file_organization_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetWorkingMfByCodeResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetWorkingMfByCodeResp) ProtoMessage() {} func (x *GetWorkingMfByCodeResp) ProtoReflect() protoreflect.Message { mi := &file_organization_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GetWorkingMfByCodeResp.ProtoReflect.Descriptor instead. func (*GetWorkingMfByCodeResp) Descriptor() ([]byte, []int) { return file_organization_proto_rawDescGZIP(), []int{26} } func (x *GetWorkingMfByCodeResp) GetList() []*WorkingMf { if x != nil { return x.List } return nil } type GetWorkingPumpByCodeResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // @gotags: json:"list" List []*WorkingPump `protobuf:"bytes,1,rep,name=list,proto3" json:"list"` } func (x *GetWorkingPumpByCodeResp) Reset() { *x = GetWorkingPumpByCodeResp{} if protoimpl.UnsafeEnabled { mi := &file_organization_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetWorkingPumpByCodeResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetWorkingPumpByCodeResp) ProtoMessage() {} func (x *GetWorkingPumpByCodeResp) ProtoReflect() protoreflect.Message { mi := &file_organization_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GetWorkingPumpByCodeResp.ProtoReflect.Descriptor instead. func (*GetWorkingPumpByCodeResp) Descriptor() ([]byte, []int) { return file_organization_proto_rawDescGZIP(), []int{27} } func (x *GetWorkingPumpByCodeResp) GetList() []*WorkingPump { if x != nil { return x.List } return nil } type GetWorkingValveByCodeResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // @gotags: json:"list" List []*WorkingValve `protobuf:"bytes,1,rep,name=list,proto3" json:"list"` } func (x *GetWorkingValveByCodeResp) Reset() { *x = GetWorkingValveByCodeResp{} if protoimpl.UnsafeEnabled { mi := &file_organization_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetWorkingValveByCodeResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetWorkingValveByCodeResp) ProtoMessage() {} func (x *GetWorkingValveByCodeResp) ProtoReflect() protoreflect.Message { mi := &file_organization_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GetWorkingValveByCodeResp.ProtoReflect.Descriptor instead. func (*GetWorkingValveByCodeResp) Descriptor() ([]byte, []int) { return file_organization_proto_rawDescGZIP(), []int{28} } func (x *GetWorkingValveByCodeResp) GetList() []*WorkingValve { if x != nil { return x.List } return nil } type GetWorkingChestByCodeResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // @gotags: json:"list" List []*WorkingChest `protobuf:"bytes,1,rep,name=list,proto3" json:"list"` } func (x *GetWorkingChestByCodeResp) Reset() { *x = GetWorkingChestByCodeResp{} if protoimpl.UnsafeEnabled { mi := &file_organization_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetWorkingChestByCodeResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetWorkingChestByCodeResp) ProtoMessage() {} func (x *GetWorkingChestByCodeResp) ProtoReflect() protoreflect.Message { mi := &file_organization_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GetWorkingChestByCodeResp.ProtoReflect.Descriptor instead. func (*GetWorkingChestByCodeResp) Descriptor() ([]byte, []int) { return file_organization_proto_rawDescGZIP(), []int{29} } func (x *GetWorkingChestByCodeResp) GetList() []*WorkingChest { if x != nil { return x.List } return nil } var File_organization_proto protoreflect.FileDescriptor var file_organization_proto_rawDesc = []byte{ 0x0a, 0x12, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0xc1, 0x01, 0x0a, 0x0c, 0x44, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x22, 0xa9, 0x07, 0x0a, 0x09, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x4d, 0x66, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x77, 0x61, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x10, 0x77, 0x61, 0x74, 0x65, 0x72, 0x54, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x66, 0x65, 0x65, 0x64, 0x46, 0x6c, 0x6f, 0x77, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x46, 0x6c, 0x6f, 0x77, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x66, 0x65, 0x65, 0x64, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x6d, 0x70, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x74, 0x6d, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x6c, 0x75, 0x78, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x01, 0x52, 0x04, 0x66, 0x6c, 0x75, 0x78, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x74, 0x75, 0x72, 0x62, 0x69, 0x64, 0x69, 0x74, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x54, 0x75, 0x72, 0x62, 0x69, 0x64, 0x69, 0x74, 0x79, 0x12, 0x1c, 0x0a, 0x0a, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x70, 0x68, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x50, 0x68, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x77, 0x71, 0x5f, 0x70, 0x68, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x57, 0x71, 0x50, 0x68, 0x12, 0x1c, 0x0a, 0x0a, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x61, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x41, 0x6c, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x77, 0x71, 0x5f, 0x61, 0x6c, 0x18, 0x11, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x57, 0x71, 0x41, 0x6c, 0x12, 0x1c, 0x0a, 0x0a, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x66, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x46, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x77, 0x71, 0x5f, 0x66, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x57, 0x71, 0x46, 0x65, 0x12, 0x1c, 0x0a, 0x0a, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x6d, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x4d, 0x6e, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x77, 0x71, 0x5f, 0x6d, 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x57, 0x71, 0x4d, 0x6e, 0x12, 0x20, 0x0a, 0x0c, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x73, 0x69, 0x6f, 0x32, 0x18, 0x16, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x53, 0x69, 0x6f, 0x32, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x77, 0x71, 0x5f, 0x73, 0x69, 0x6f, 0x32, 0x18, 0x17, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x57, 0x71, 0x53, 0x69, 0x6f, 0x32, 0x12, 0x1e, 0x0a, 0x0b, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x63, 0x6f, 0x64, 0x18, 0x18, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x43, 0x6f, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x77, 0x71, 0x5f, 0x63, 0x6f, 0x64, 0x18, 0x19, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x57, 0x71, 0x43, 0x6f, 0x64, 0x12, 0x1a, 0x0a, 0x09, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x70, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x50, 0x12, 0x20, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x77, 0x71, 0x5f, 0x70, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x57, 0x71, 0x50, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x74, 0x65, 0x70, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x74, 0x65, 0x70, 0x12, 0x15, 0x0a, 0x06, 0x63, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x91, 0x08, 0x0a, 0x09, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x55, 0x66, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x77, 0x61, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x10, 0x77, 0x61, 0x74, 0x65, 0x72, 0x54, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x66, 0x65, 0x65, 0x64, 0x46, 0x6c, 0x6f, 0x77, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x46, 0x6c, 0x6f, 0x77, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x66, 0x65, 0x65, 0x64, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x6d, 0x70, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x74, 0x6d, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x6c, 0x75, 0x78, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x01, 0x52, 0x04, 0x66, 0x6c, 0x75, 0x78, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x65, 0x72, 0x6d, 0x65, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x20, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x70, 0x65, 0x72, 0x6d, 0x65, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x74, 0x75, 0x72, 0x62, 0x69, 0x64, 0x69, 0x74, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x54, 0x75, 0x72, 0x62, 0x69, 0x64, 0x69, 0x74, 0x79, 0x12, 0x1c, 0x0a, 0x0a, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x70, 0x68, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x50, 0x68, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x77, 0x71, 0x5f, 0x70, 0x68, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x57, 0x71, 0x50, 0x68, 0x12, 0x1c, 0x0a, 0x0a, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x61, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x41, 0x6c, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x77, 0x71, 0x5f, 0x61, 0x6c, 0x18, 0x11, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x57, 0x71, 0x41, 0x6c, 0x12, 0x1c, 0x0a, 0x0a, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x66, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x46, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x77, 0x71, 0x5f, 0x66, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x57, 0x71, 0x46, 0x65, 0x12, 0x1c, 0x0a, 0x0a, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x6d, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x4d, 0x6e, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x77, 0x71, 0x5f, 0x6d, 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x57, 0x71, 0x4d, 0x6e, 0x12, 0x20, 0x0a, 0x0c, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x73, 0x69, 0x6f, 0x32, 0x18, 0x16, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x53, 0x69, 0x6f, 0x32, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x77, 0x71, 0x5f, 0x73, 0x69, 0x6f, 0x32, 0x18, 0x17, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x57, 0x71, 0x53, 0x69, 0x6f, 0x32, 0x12, 0x1e, 0x0a, 0x0b, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x63, 0x6f, 0x64, 0x18, 0x18, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x43, 0x6f, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x77, 0x71, 0x5f, 0x63, 0x6f, 0x64, 0x18, 0x19, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x57, 0x71, 0x43, 0x6f, 0x64, 0x12, 0x1a, 0x0a, 0x09, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x70, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x50, 0x12, 0x20, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x77, 0x71, 0x5f, 0x70, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x57, 0x71, 0x50, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x74, 0x65, 0x70, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x74, 0x65, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x63, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xba, 0x0d, 0x0a, 0x09, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x4e, 0x66, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x77, 0x61, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x10, 0x77, 0x61, 0x74, 0x65, 0x72, 0x54, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x31, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x66, 0x65, 0x65, 0x64, 0x46, 0x6c, 0x6f, 0x77, 0x31, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x31, 0x73, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x46, 0x6c, 0x6f, 0x77, 0x31, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x31, 0x73, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x31, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x31, 0x73, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x66, 0x65, 0x65, 0x64, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x31, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x31, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x31, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x31, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x01, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x31, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x6d, 0x70, 0x5f, 0x31, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x74, 0x6d, 0x70, 0x31, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x66, 0x6c, 0x75, 0x78, 0x5f, 0x31, 0x73, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x66, 0x6c, 0x75, 0x78, 0x31, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x65, 0x72, 0x6d, 0x65, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x31, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x70, 0x65, 0x72, 0x6d, 0x65, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x31, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x32, 0x6e, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x66, 0x65, 0x65, 0x64, 0x46, 0x6c, 0x6f, 0x77, 0x32, 0x6e, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x32, 0x6e, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x46, 0x6c, 0x6f, 0x77, 0x32, 0x6e, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x32, 0x6e, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x32, 0x6e, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x32, 0x6e, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x66, 0x65, 0x65, 0x64, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x32, 0x6e, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x32, 0x6e, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x32, 0x6e, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x32, 0x6e, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x01, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x32, 0x6e, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x6d, 0x70, 0x5f, 0x32, 0x6e, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x74, 0x6d, 0x70, 0x32, 0x6e, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x66, 0x6c, 0x75, 0x78, 0x5f, 0x32, 0x6e, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x66, 0x6c, 0x75, 0x78, 0x32, 0x6e, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x65, 0x72, 0x6d, 0x65, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x32, 0x6e, 0x64, 0x18, 0x16, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x70, 0x65, 0x72, 0x6d, 0x65, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x32, 0x6e, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x33, 0x74, 0x68, 0x18, 0x17, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x66, 0x65, 0x65, 0x64, 0x46, 0x6c, 0x6f, 0x77, 0x33, 0x74, 0x68, 0x12, 0x20, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x33, 0x74, 0x68, 0x18, 0x18, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x46, 0x6c, 0x6f, 0x77, 0x33, 0x74, 0x68, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x33, 0x74, 0x68, 0x18, 0x19, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x33, 0x74, 0x68, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x33, 0x74, 0x68, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x66, 0x65, 0x65, 0x64, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x33, 0x74, 0x68, 0x12, 0x28, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x33, 0x74, 0x68, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x33, 0x74, 0x68, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x33, 0x74, 0x68, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x01, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x33, 0x74, 0x68, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x6d, 0x70, 0x5f, 0x33, 0x74, 0x68, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x74, 0x6d, 0x70, 0x33, 0x74, 0x68, 0x12, 0x19, 0x0a, 0x08, 0x66, 0x6c, 0x75, 0x78, 0x5f, 0x33, 0x74, 0x68, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x66, 0x6c, 0x75, 0x78, 0x33, 0x74, 0x68, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x65, 0x72, 0x6d, 0x65, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x33, 0x74, 0x68, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x70, 0x65, 0x72, 0x6d, 0x65, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x33, 0x74, 0x68, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x74, 0x75, 0x72, 0x62, 0x69, 0x64, 0x69, 0x74, 0x79, 0x18, 0x20, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x54, 0x75, 0x72, 0x62, 0x69, 0x64, 0x69, 0x74, 0x79, 0x12, 0x1c, 0x0a, 0x0a, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x70, 0x68, 0x18, 0x21, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x50, 0x68, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x77, 0x71, 0x5f, 0x70, 0x68, 0x18, 0x22, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x57, 0x71, 0x50, 0x68, 0x12, 0x1c, 0x0a, 0x0a, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x61, 0x6c, 0x18, 0x23, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x41, 0x6c, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x77, 0x71, 0x5f, 0x61, 0x6c, 0x18, 0x24, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x57, 0x71, 0x41, 0x6c, 0x12, 0x1c, 0x0a, 0x0a, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x66, 0x65, 0x18, 0x25, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x46, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x77, 0x71, 0x5f, 0x66, 0x65, 0x18, 0x26, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x57, 0x71, 0x46, 0x65, 0x12, 0x1c, 0x0a, 0x0a, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x6d, 0x6e, 0x18, 0x27, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x4d, 0x6e, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x77, 0x71, 0x5f, 0x6d, 0x6e, 0x18, 0x28, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x57, 0x71, 0x4d, 0x6e, 0x12, 0x20, 0x0a, 0x0c, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x73, 0x69, 0x6f, 0x32, 0x18, 0x29, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x53, 0x69, 0x6f, 0x32, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x77, 0x71, 0x5f, 0x73, 0x69, 0x6f, 0x32, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x57, 0x71, 0x53, 0x69, 0x6f, 0x32, 0x12, 0x1e, 0x0a, 0x0b, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x63, 0x6f, 0x64, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x43, 0x6f, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x77, 0x71, 0x5f, 0x63, 0x6f, 0x64, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x57, 0x71, 0x43, 0x6f, 0x64, 0x12, 0x1a, 0x0a, 0x09, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x70, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x50, 0x12, 0x20, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x77, 0x71, 0x5f, 0x70, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x57, 0x71, 0x50, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x74, 0x65, 0x70, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x74, 0x65, 0x70, 0x12, 0x15, 0x0a, 0x06, 0x63, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x30, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xba, 0x0d, 0x0a, 0x09, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x77, 0x61, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x10, 0x77, 0x61, 0x74, 0x65, 0x72, 0x54, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x31, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x66, 0x65, 0x65, 0x64, 0x46, 0x6c, 0x6f, 0x77, 0x31, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x31, 0x73, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x46, 0x6c, 0x6f, 0x77, 0x31, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x31, 0x73, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x31, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x31, 0x73, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x66, 0x65, 0x65, 0x64, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x31, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x31, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x31, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x31, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x01, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x31, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x6d, 0x70, 0x5f, 0x31, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x74, 0x6d, 0x70, 0x31, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x66, 0x6c, 0x75, 0x78, 0x5f, 0x31, 0x73, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x66, 0x6c, 0x75, 0x78, 0x31, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x65, 0x72, 0x6d, 0x65, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x31, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x70, 0x65, 0x72, 0x6d, 0x65, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x31, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x32, 0x6e, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x66, 0x65, 0x65, 0x64, 0x46, 0x6c, 0x6f, 0x77, 0x32, 0x6e, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x32, 0x6e, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x46, 0x6c, 0x6f, 0x77, 0x32, 0x6e, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x32, 0x6e, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x32, 0x6e, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x32, 0x6e, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x66, 0x65, 0x65, 0x64, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x32, 0x6e, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x32, 0x6e, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x32, 0x6e, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x32, 0x6e, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x01, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x32, 0x6e, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x6d, 0x70, 0x5f, 0x32, 0x6e, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x74, 0x6d, 0x70, 0x32, 0x6e, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x66, 0x6c, 0x75, 0x78, 0x5f, 0x32, 0x6e, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x66, 0x6c, 0x75, 0x78, 0x32, 0x6e, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x65, 0x72, 0x6d, 0x65, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x32, 0x6e, 0x64, 0x18, 0x16, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x70, 0x65, 0x72, 0x6d, 0x65, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x32, 0x6e, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x33, 0x74, 0x68, 0x18, 0x17, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x66, 0x65, 0x65, 0x64, 0x46, 0x6c, 0x6f, 0x77, 0x33, 0x74, 0x68, 0x12, 0x20, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x33, 0x74, 0x68, 0x18, 0x18, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x46, 0x6c, 0x6f, 0x77, 0x33, 0x74, 0x68, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x33, 0x74, 0x68, 0x18, 0x19, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x33, 0x74, 0x68, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x33, 0x74, 0x68, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x66, 0x65, 0x65, 0x64, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x33, 0x74, 0x68, 0x12, 0x28, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x33, 0x74, 0x68, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x33, 0x74, 0x68, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x33, 0x74, 0x68, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x01, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x33, 0x74, 0x68, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x6d, 0x70, 0x5f, 0x33, 0x74, 0x68, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x74, 0x6d, 0x70, 0x33, 0x74, 0x68, 0x12, 0x19, 0x0a, 0x08, 0x66, 0x6c, 0x75, 0x78, 0x5f, 0x33, 0x74, 0x68, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x66, 0x6c, 0x75, 0x78, 0x33, 0x74, 0x68, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x65, 0x72, 0x6d, 0x65, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x33, 0x74, 0x68, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x70, 0x65, 0x72, 0x6d, 0x65, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x33, 0x74, 0x68, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x74, 0x75, 0x72, 0x62, 0x69, 0x64, 0x69, 0x74, 0x79, 0x18, 0x20, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x54, 0x75, 0x72, 0x62, 0x69, 0x64, 0x69, 0x74, 0x79, 0x12, 0x1c, 0x0a, 0x0a, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x70, 0x68, 0x18, 0x21, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x50, 0x68, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x77, 0x71, 0x5f, 0x70, 0x68, 0x18, 0x22, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x57, 0x71, 0x50, 0x68, 0x12, 0x1c, 0x0a, 0x0a, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x61, 0x6c, 0x18, 0x23, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x41, 0x6c, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x77, 0x71, 0x5f, 0x61, 0x6c, 0x18, 0x24, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x57, 0x71, 0x41, 0x6c, 0x12, 0x1c, 0x0a, 0x0a, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x66, 0x65, 0x18, 0x25, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x46, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x77, 0x71, 0x5f, 0x66, 0x65, 0x18, 0x26, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x57, 0x71, 0x46, 0x65, 0x12, 0x1c, 0x0a, 0x0a, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x6d, 0x6e, 0x18, 0x27, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x4d, 0x6e, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x77, 0x71, 0x5f, 0x6d, 0x6e, 0x18, 0x28, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x57, 0x71, 0x4d, 0x6e, 0x12, 0x20, 0x0a, 0x0c, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x73, 0x69, 0x6f, 0x32, 0x18, 0x29, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x53, 0x69, 0x6f, 0x32, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x77, 0x71, 0x5f, 0x73, 0x69, 0x6f, 0x32, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x57, 0x71, 0x53, 0x69, 0x6f, 0x32, 0x12, 0x1e, 0x0a, 0x0b, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x63, 0x6f, 0x64, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x43, 0x6f, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x77, 0x71, 0x5f, 0x63, 0x6f, 0x64, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x57, 0x71, 0x43, 0x6f, 0x64, 0x12, 0x1a, 0x0a, 0x09, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x77, 0x71, 0x5f, 0x70, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x66, 0x65, 0x65, 0x64, 0x57, 0x71, 0x50, 0x12, 0x20, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x77, 0x71, 0x5f, 0x70, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x57, 0x71, 0x50, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x74, 0x65, 0x70, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x74, 0x65, 0x70, 0x12, 0x15, 0x0a, 0x06, 0x63, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x30, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xad, 0x02, 0x0a, 0x0c, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x67, 0x69, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x61, 0x67, 0x69, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x67, 0x69, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x61, 0x67, 0x69, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x15, 0x61, 0x67, 0x69, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x61, 0x67, 0x69, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x63, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x86, 0x03, 0x0a, 0x0b, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x50, 0x75, 0x6d, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x66, 0x65, 0x65, 0x64, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x75, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x6f, 0x75, 0x74, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x66, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x01, 0x52, 0x04, 0x6c, 0x69, 0x66, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x65, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x75, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x72, 0x75, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x63, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xfa, 0x01, 0x0a, 0x0c, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x76, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x63, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x76, 0x0a, 0x0f, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x12, 0x15, 0x0a, 0x06, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x64, 0x0a, 0x1a, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x41, 0x64, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x1d, 0x0a, 0x1b, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x41, 0x64, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x22, 0xe6, 0x01, 0x0a, 0x16, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x22, 0x98, 0x01, 0x0a, 0x18, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x22, 0x66, 0x0a, 0x19, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x4d, 0x61, 0x78, 0x4d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x5f, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x6d, 0x61, 0x78, 0x56, 0x61, 0x6c, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x6d, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x76, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x22, 0x48, 0x0a, 0x1c, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x46, 0x69, 0x72, 0x73, 0x74, 0x4c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x69, 0x72, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x66, 0x69, 0x72, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x61, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x04, 0x6c, 0x61, 0x73, 0x74, 0x22, 0x35, 0x0a, 0x1d, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x5b, 0x0a, 0x13, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x12, 0x15, 0x0a, 0x06, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x5a, 0x0a, 0x17, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x43, 0x68, 0x61, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x68, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x68, 0x74, 0x69, 0x6d, 0x65, 0x41, 0x74, 0x22, 0x9c, 0x02, 0x0a, 0x1a, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x43, 0x68, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x5f, 0x76, 0x61, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x6d, 0x61, 0x78, 0x56, 0x61, 0x6c, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x6d, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x22, 0x4e, 0x0a, 0x1b, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x43, 0x68, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2f, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x43, 0x68, 0x61, 0x72, 0x74, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x46, 0x0a, 0x17, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2b, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x3b, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x55, 0x66, 0x42, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x21, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x55, 0x66, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0xfa, 0x01, 0x0a, 0x17, 0x46, 0x69, 0x6e, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x55, 0x66, 0x42, 0x79, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x74, 0x65, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x74, 0x65, 0x70, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x45, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x3d, 0x0a, 0x18, 0x46, 0x69, 0x6e, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x55, 0x66, 0x42, 0x79, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x21, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x55, 0x66, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x3b, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x6f, 0x42, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x21, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x6f, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x3b, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x4e, 0x66, 0x42, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x21, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x4e, 0x66, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x3b, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x4d, 0x66, 0x42, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x21, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x4d, 0x66, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x3f, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x50, 0x75, 0x6d, 0x70, 0x42, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x23, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x50, 0x75, 0x6d, 0x70, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x41, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x76, 0x65, 0x42, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x24, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x62, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x76, 0x65, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x41, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x65, 0x73, 0x74, 0x42, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x24, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x62, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x65, 0x73, 0x74, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x32, 0xbd, 0x08, 0x0a, 0x0c, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x55, 0x66, 0x42, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x55, 0x66, 0x42, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x51, 0x0a, 0x14, 0x46, 0x69, 0x6e, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x55, 0x66, 0x42, 0x79, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x55, 0x66, 0x42, 0x79, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x55, 0x66, 0x42, 0x79, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x42, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x6f, 0x42, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x6f, 0x42, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x48, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x65, 0x73, 0x74, 0x42, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x65, 0x73, 0x74, 0x42, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x46, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x50, 0x75, 0x6d, 0x70, 0x42, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x50, 0x75, 0x6d, 0x70, 0x42, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x48, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x76, 0x65, 0x42, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x63, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x76, 0x65, 0x42, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5a, 0x0a, 0x17, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x41, 0x64, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x41, 0x64, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x41, 0x64, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4e, 0x0a, 0x13, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x52, 0x0a, 0x15, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5a, 0x0a, 0x1b, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x4d, 0x61, 0x78, 0x4d, 0x69, 0x6e, 0x42, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x4d, 0x61, 0x78, 0x4d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x60, 0x0a, 0x1e, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x46, 0x69, 0x72, 0x73, 0x74, 0x4c, 0x61, 0x73, 0x74, 0x42, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x46, 0x69, 0x72, 0x73, 0x74, 0x4c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5c, 0x0a, 0x19, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5a, 0x0a, 0x17, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x43, 0x68, 0x61, 0x72, 0x74, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x43, 0x68, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x43, 0x68, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_organization_proto_rawDescOnce sync.Once file_organization_proto_rawDescData = file_organization_proto_rawDesc ) func file_organization_proto_rawDescGZIP() []byte { file_organization_proto_rawDescOnce.Do(func() { file_organization_proto_rawDescData = protoimpl.X.CompressGZIP(file_organization_proto_rawDescData) }) return file_organization_proto_rawDescData } var file_organization_proto_msgTypes = make([]protoimpl.MessageInfo, 30) var file_organization_proto_goTypes = []interface{}{ (*DcWorkingReq)(nil), // 0: pb.DcWorkingReq (*WorkingMf)(nil), // 1: pb.WorkingMf (*WorkingUf)(nil), // 2: pb.WorkingUf (*WorkingNf)(nil), // 3: pb.WorkingNf (*WorkingRo)(nil), // 4: pb.WorkingRo (*WorkingChest)(nil), // 5: pb.WorkingChest (*WorkingPump)(nil), // 6: pb.WorkingPump (*WorkingValve)(nil), // 7: pb.WorkingValve (*ItemHistoryData)(nil), // 8: pb.ItemHistoryData (*MultiAddItemHistoryDataReq)(nil), // 9: pb.MultiAddItemHistoryDataReq (*MultiAddItemHistoryDataResp)(nil), // 10: pb.MultiAddItemHistoryDataResp (*ItemHistoryDataListReq)(nil), // 11: pb.ItemHistoryDataListReq (*ItemHistoryDataByTimeReq)(nil), // 12: pb.ItemHistoryDataByTimeReq (*ItemHistoryDataMaxMinResp)(nil), // 13: pb.ItemHistoryDataMaxMinResp (*ItemHistoryDataFirstLastResp)(nil), // 14: pb.ItemHistoryDataFirstLastResp (*ChangeTypeItemHistoryDataResp)(nil), // 15: pb.ChangeTypeItemHistoryDataResp (*ItemHistoryDataList)(nil), // 16: pb.ItemHistoryDataList (*ItemHistoryDataForChart)(nil), // 17: pb.ItemHistoryDataForChart (*ItemHistoryDataForChartReq)(nil), // 18: pb.ItemHistoryDataForChartReq (*ItemHistoryDataForChartResp)(nil), // 19: pb.ItemHistoryDataForChartResp (*ItemHistoryDataListResp)(nil), // 20: pb.ItemHistoryDataListResp (*GetWorkingUfByCodeResp)(nil), // 21: pb.GetWorkingUfByCodeResp (*FindWorkingUfByCycleReq)(nil), // 22: pb.FindWorkingUfByCycleReq (*FindWorkingUfByCycleResp)(nil), // 23: pb.FindWorkingUfByCycleResp (*GetWorkingRoByCodeResp)(nil), // 24: pb.GetWorkingRoByCodeResp (*GetWorkingNfByCodeResp)(nil), // 25: pb.GetWorkingNfByCodeResp (*GetWorkingMfByCodeResp)(nil), // 26: pb.GetWorkingMfByCodeResp (*GetWorkingPumpByCodeResp)(nil), // 27: pb.GetWorkingPumpByCodeResp (*GetWorkingValveByCodeResp)(nil), // 28: pb.GetWorkingValveByCodeResp (*GetWorkingChestByCodeResp)(nil), // 29: pb.GetWorkingChestByCodeResp } var file_organization_proto_depIdxs = []int32{ 8, // 0: pb.MultiAddItemHistoryDataReq.list:type_name -> pb.ItemHistoryData 17, // 1: pb.ItemHistoryDataForChartResp.list:type_name -> pb.ItemHistoryDataForChart 16, // 2: pb.ItemHistoryDataListResp.list:type_name -> pb.ItemHistoryDataList 2, // 3: pb.GetWorkingUfByCodeResp.list:type_name -> pb.WorkingUf 2, // 4: pb.FindWorkingUfByCycleResp.list:type_name -> pb.WorkingUf 4, // 5: pb.GetWorkingRoByCodeResp.list:type_name -> pb.WorkingRo 3, // 6: pb.GetWorkingNfByCodeResp.list:type_name -> pb.WorkingNf 1, // 7: pb.GetWorkingMfByCodeResp.list:type_name -> pb.WorkingMf 6, // 8: pb.GetWorkingPumpByCodeResp.list:type_name -> pb.WorkingPump 7, // 9: pb.GetWorkingValveByCodeResp.list:type_name -> pb.WorkingValve 5, // 10: pb.GetWorkingChestByCodeResp.list:type_name -> pb.WorkingChest 0, // 11: pb.Organization.GetWorkingUfByCode:input_type -> pb.DcWorkingReq 22, // 12: pb.Organization.FindWorkingUfByCycle:input_type -> pb.FindWorkingUfByCycleReq 0, // 13: pb.Organization.GetWorkingRoByCode:input_type -> pb.DcWorkingReq 0, // 14: pb.Organization.GetWorkingChestByCode:input_type -> pb.DcWorkingReq 0, // 15: pb.Organization.GetWorkingPumpByCode:input_type -> pb.DcWorkingReq 0, // 16: pb.Organization.GetWorkingValveByCode:input_type -> pb.DcWorkingReq 9, // 17: pb.Organization.MultiAddItemHistoryData:input_type -> pb.MultiAddItemHistoryDataReq 11, // 18: pb.Organization.ItemHistoryDataList:input_type -> pb.ItemHistoryDataListReq 12, // 19: pb.Organization.ItemHistoryDataByTime:input_type -> pb.ItemHistoryDataByTimeReq 12, // 20: pb.Organization.ItemHistoryDataMaxMinByTime:input_type -> pb.ItemHistoryDataByTimeReq 12, // 21: pb.Organization.ItemHistoryDataFirstLastByTime:input_type -> pb.ItemHistoryDataByTimeReq 12, // 22: pb.Organization.ChangeTypeItemHistoryData:input_type -> pb.ItemHistoryDataByTimeReq 18, // 23: pb.Organization.ItemHistoryDataForChart:input_type -> pb.ItemHistoryDataForChartReq 21, // 24: pb.Organization.GetWorkingUfByCode:output_type -> pb.GetWorkingUfByCodeResp 23, // 25: pb.Organization.FindWorkingUfByCycle:output_type -> pb.FindWorkingUfByCycleResp 24, // 26: pb.Organization.GetWorkingRoByCode:output_type -> pb.GetWorkingRoByCodeResp 29, // 27: pb.Organization.GetWorkingChestByCode:output_type -> pb.GetWorkingChestByCodeResp 27, // 28: pb.Organization.GetWorkingPumpByCode:output_type -> pb.GetWorkingPumpByCodeResp 28, // 29: pb.Organization.GetWorkingValveByCode:output_type -> pb.GetWorkingValveByCodeResp 10, // 30: pb.Organization.MultiAddItemHistoryData:output_type -> pb.MultiAddItemHistoryDataResp 20, // 31: pb.Organization.ItemHistoryDataList:output_type -> pb.ItemHistoryDataListResp 20, // 32: pb.Organization.ItemHistoryDataByTime:output_type -> pb.ItemHistoryDataListResp 13, // 33: pb.Organization.ItemHistoryDataMaxMinByTime:output_type -> pb.ItemHistoryDataMaxMinResp 14, // 34: pb.Organization.ItemHistoryDataFirstLastByTime:output_type -> pb.ItemHistoryDataFirstLastResp 15, // 35: pb.Organization.ChangeTypeItemHistoryData:output_type -> pb.ChangeTypeItemHistoryDataResp 19, // 36: pb.Organization.ItemHistoryDataForChart:output_type -> pb.ItemHistoryDataForChartResp 24, // [24:37] is the sub-list for method output_type 11, // [11:24] is the sub-list for method input_type 11, // [11:11] is the sub-list for extension type_name 11, // [11:11] is the sub-list for extension extendee 0, // [0:11] is the sub-list for field type_name } func init() { file_organization_proto_init() } func file_organization_proto_init() { if File_organization_proto != nil { return } if !protoimpl.UnsafeEnabled { file_organization_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DcWorkingReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_organization_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WorkingMf); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_organization_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WorkingUf); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_organization_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WorkingNf); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_organization_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WorkingRo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_organization_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WorkingChest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_organization_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WorkingPump); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_organization_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WorkingValve); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_organization_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ItemHistoryData); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_organization_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MultiAddItemHistoryDataReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_organization_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MultiAddItemHistoryDataResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_organization_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ItemHistoryDataListReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_organization_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ItemHistoryDataByTimeReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_organization_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ItemHistoryDataMaxMinResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_organization_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ItemHistoryDataFirstLastResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_organization_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChangeTypeItemHistoryDataResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_organization_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ItemHistoryDataList); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_organization_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ItemHistoryDataForChart); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_organization_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ItemHistoryDataForChartReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_organization_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ItemHistoryDataForChartResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_organization_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ItemHistoryDataListResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_organization_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetWorkingUfByCodeResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_organization_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindWorkingUfByCycleReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_organization_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindWorkingUfByCycleResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_organization_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetWorkingRoByCodeResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_organization_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetWorkingNfByCodeResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_organization_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetWorkingMfByCodeResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_organization_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetWorkingPumpByCodeResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_organization_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetWorkingValveByCodeResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_organization_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetWorkingChestByCodeResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_organization_proto_rawDesc, NumEnums: 0, NumMessages: 30, NumExtensions: 0, NumServices: 1, }, GoTypes: file_organization_proto_goTypes, DependencyIndexes: file_organization_proto_depIdxs, MessageInfos: file_organization_proto_msgTypes, }.Build() File_organization_proto = out.File file_organization_proto_rawDesc = nil file_organization_proto_goTypes = nil file_organization_proto_depIdxs = nil }