diff --git a/adaptors/知物云es主题特征to中交华联.go b/adaptors/知物云es主题特征to中交华联.go index d0a6eed..2a00d09 100644 --- a/adaptors/知物云es主题特征to中交华联.go +++ b/adaptors/知物云es主题特征to中交华联.go @@ -1,19 +1,18 @@ package adaptors import ( + "encoding/hex" "encoding/json" "fmt" - "goInOut/consumers/GZG2ZJHL/protoFiles_zjhl" - "strconv" - "strings" - - //"goInOut/consumers/GZG2ZJHL/protoFiles_zjhl" + "goInOut/consumers/GZG2ZJHL/protoFiles_zjhl/protoFiles_zjhl_v3" "goInOut/consumers/HBJCAS" "goInOut/dbOperate" "goInOut/models" "google.golang.org/protobuf/proto" "log" "math" + "strconv" + "strings" "time" ) @@ -36,7 +35,7 @@ func (the Adaptor_ZWYES_ZJHL) Transform(structId int64, factorId int, rawMsg str } Payload := the.EsAggTopToHBJCAS(structId, factorId, esAggDateHistogram) - if len(Payload) == 0 { + if len(Payload) >= 0 { return needPush } @@ -59,7 +58,7 @@ func (the Adaptor_ZWYES_ZJHL) EsAggTopToHBJCAS(structId int64, factorId int, esA return } //数据汇总 - complexData := &protoFiles_zjhl.ComplexData{} + complexData := &protoFiles_zjhl_v3.ComplexData{} for _, sensorBucket := range buckets { sensorId := sensorBucket.Key for _, dateBucket := range sensorBucket.GroupDate.Buckets { @@ -82,8 +81,8 @@ func (the Adaptor_ZWYES_ZJHL) EsAggTopToHBJCAS(structId int64, factorId int, esA log.Printf("[s:%d,f:%d]测点[%d] 特征数据组包异常,跳过", structId, factorId, sensorId) continue } - dataDefinition := &protoFiles_zjhl.DataDefinition{ - DataType: protoFiles_zjhl.DataType_STATISTICS, + dataDefinition := &protoFiles_zjhl_v3.DataDefinition{ + DataType: protoFiles_zjhl_v3.DataType_STATISTICS, //BridgeCode: fmt.Sprintf("%d", uniqueCode), //提示 不传该字段 DataBody: dataBody, } @@ -94,30 +93,37 @@ func (the Adaptor_ZWYES_ZJHL) EsAggTopToHBJCAS(structId int64, factorId int, esA v, _ := json.Marshal(complexData) log.Printf("[struct:%d,factor:%d] 特征数据=> %s", structId, factorId, v) result, _ = proto.Marshal(complexData) + log.Printf("[struct:%d,factor:%d] protobuf数据=> %s", structId, factorId, hex.EncodeToString(result)) return result } -func (the Adaptor_ZWYES_ZJHL) getMonitorTypeByFactorId(factorId int) protoFiles_zjhl.MonitoryType { +func (the Adaptor_ZWYES_ZJHL) getMonitorTypeByFactorId(factorId int) protoFiles_zjhl_v3.MonitoryType { //结构温度4 桥墩倾斜 15 裂缝18 支座位移20 桥面振动28 加速度三项监测592 switch factorId { case 4: - return protoFiles_zjhl.MonitoryType_TMP + return protoFiles_zjhl_v3.MonitoryType_TMP + case 6: + return protoFiles_zjhl_v3.MonitoryType_VIC + case 11: + return protoFiles_zjhl_v3.MonitoryType_RSG case 15: - return protoFiles_zjhl.MonitoryType_INC + return protoFiles_zjhl_v3.MonitoryType_INC case 18: - return protoFiles_zjhl.MonitoryType_CRK - case 20: - return protoFiles_zjhl.MonitoryType_DIS + return protoFiles_zjhl_v3.MonitoryType_CRK + case 19: + return protoFiles_zjhl_v3.MonitoryType_HPT + case 20, 24: + return protoFiles_zjhl_v3.MonitoryType_DIS case 28: - return protoFiles_zjhl.MonitoryType_VIB + return protoFiles_zjhl_v3.MonitoryType_VIB case 592: - return protoFiles_zjhl.MonitoryType_VIB + return protoFiles_zjhl_v3.MonitoryType_VIB default: log.Printf("factorId=%d,无匹配的MonitorType", factorId) - return protoFiles_zjhl.MonitoryType_CMM + return protoFiles_zjhl_v3.MonitoryType_CMM } } -func (the Adaptor_ZWYES_ZJHL) EsAgg2StatisticData(factorId int, monitorCode int64, dateBucket HBJCAS.BucketsXY) *protoFiles_zjhl.DataDefinition_StatisticData { +func (the Adaptor_ZWYES_ZJHL) EsAgg2StatisticData(factorId int, monitorCode int64, dateBucket HBJCAS.BucketsXY) *protoFiles_zjhl_v3.DataDefinition_StatisticData { Atime := dateBucket.KeyAsString.Add(-8 * time.Hour).UnixMilli() maxAbsoluteValueX := max(math.Abs(dateBucket.X.Max), math.Abs(dateBucket.X.Min)) avgValueX := dateBucket.X.Avg @@ -128,8 +134,8 @@ func (the Adaptor_ZWYES_ZJHL) EsAgg2StatisticData(factorId int, monitorCode int6 rootMeanSquareY := math.Sqrt(dateBucket.Y.SumOfSquares / float64(dateBucket.Y.Count)) monitoryType := the.getMonitorTypeByFactorId(factorId) - dataDefinitionStatisticData := &protoFiles_zjhl.DataDefinition_StatisticData{ - StatisticData: &protoFiles_zjhl.StatisticData{ + dataDefinitionStatisticData := &protoFiles_zjhl_v3.DataDefinition_StatisticData{ + StatisticData: &protoFiles_zjhl_v3.StatisticData{ MonitorType: monitoryType, MonitorCode: monitorCode, //测点唯一编码 EventTime: Atime, @@ -139,26 +145,26 @@ func (the Adaptor_ZWYES_ZJHL) EsAgg2StatisticData(factorId int, monitorCode int6 switch factorId { case 4: //结构温度 - dataDefinitionStatisticData.StatisticData.DataBody = &protoFiles_zjhl.StatisticData_Tmp{Tmp: &protoFiles_zjhl.TMPStatistic{ + dataDefinitionStatisticData.StatisticData.DataBody = &protoFiles_zjhl_v3.StatisticData_Tmp{Tmp: &protoFiles_zjhl_v3.TMPStatistic{ MaxTemperature: float32(dateBucket.X.Max), MinTemperature: float32(dateBucket.X.Min), AvgTemperature: float32(avgValueX), MaxDifference: float32(dateBucket.X.Max - dateBucket.X.Min), }} case 6: //索力 - dataDefinitionStatisticData.StatisticData.DataBody = &protoFiles_zjhl.StatisticData_Vic{Vic: &protoFiles_zjhl.VICStatistic{ + dataDefinitionStatisticData.StatisticData.DataBody = &protoFiles_zjhl_v3.StatisticData_Vic{Vic: &protoFiles_zjhl_v3.VICStatistic{ MaxValue: float32(dateBucket.X.Max), MinValue: float32(dateBucket.X.Min), AvgValue: float32(avgValueX), RootMeanSquare: float32(rootMeanSquareX), }} case 11: //应变 - dataDefinitionStatisticData.StatisticData.DataBody = &protoFiles_zjhl.StatisticData_Rsg{Rsg: &protoFiles_zjhl.RSGStatistic{ + dataDefinitionStatisticData.StatisticData.DataBody = &protoFiles_zjhl_v3.StatisticData_Rsg{Rsg: &protoFiles_zjhl_v3.RSGStatistic{ MaxAbsoluteValue: float32(maxAbsoluteValueX), AvgValue: float32(avgValueX), }} case 15: //倾角 - dataDefinitionStatisticData.StatisticData.DataBody = &protoFiles_zjhl.StatisticData_Inc{Inc: &protoFiles_zjhl.INCStatistic{ + dataDefinitionStatisticData.StatisticData.DataBody = &protoFiles_zjhl_v3.StatisticData_Inc{Inc: &protoFiles_zjhl_v3.INCStatistic{ MaxAbsoluteValueX: float32(maxAbsoluteValueX), AvgValueX: float32(avgValueX), RootMeanSquareX: float32(rootMeanSquareX), @@ -167,35 +173,32 @@ func (the Adaptor_ZWYES_ZJHL) EsAgg2StatisticData(factorId int, monitorCode int6 RootMeanSquareY: float32(rootMeanSquareY), }} case 18: //裂缝监测 - dataDefinitionStatisticData.StatisticData.DataBody = &protoFiles_zjhl.StatisticData_Crk{Crk: &protoFiles_zjhl.CRKStatistic{ + dataDefinitionStatisticData.StatisticData.DataBody = &protoFiles_zjhl_v3.StatisticData_Crk{Crk: &protoFiles_zjhl_v3.CRKStatistic{ MaxAbsoluteValue: float32(maxAbsoluteValueX), AvgValue: float32(avgValueX), RootMeanSquare: float32(rootMeanSquareX), TotalAbsoluteValue: float32(dateBucket.X.Max - dateBucket.X.Min), }} case 19: //挠度监测 - dataDefinitionStatisticData.StatisticData.DataBody = &protoFiles_zjhl.StatisticData_Hpt{Hpt: &protoFiles_zjhl.HPTStatistic{ + dataDefinitionStatisticData.StatisticData.DataBody = &protoFiles_zjhl_v3.StatisticData_Hpt{Hpt: &protoFiles_zjhl_v3.HPTStatistic{ MaxAbsoluteValue: float32(maxAbsoluteValueX), AvgValue: float32(avgValueX), RootMeanSquare: float32(rootMeanSquareX), }} case 20, 24: //支座位移20, 位移24 - dataDefinitionStatisticData.StatisticData.DataBody = &protoFiles_zjhl.StatisticData_Dis{Dis: &protoFiles_zjhl.DISStatistic{ + dataDefinitionStatisticData.StatisticData.DataBody = &protoFiles_zjhl_v3.StatisticData_Dis{Dis: &protoFiles_zjhl_v3.DISStatistic{ MaxAbsoluteValue: float32(maxAbsoluteValueX), AvgValue: float32(avgValueX), RootMeanSquare: float32(rootMeanSquareX), TotalAbsoluteValue: float32(dateBucket.X.Max - dateBucket.X.Min), }} case 28: //振动 - dataDefinitionStatisticData.StatisticData.DataBody = &protoFiles_zjhl.StatisticData_Vib{Vib: &protoFiles_zjhl.VIBStatistic{ + dataDefinitionStatisticData.StatisticData.DataBody = &protoFiles_zjhl_v3.StatisticData_Vib{Vib: &protoFiles_zjhl_v3.VIBStatistic{ MaxAbsoluteValue: float32(maxAbsoluteValueX), RootMeanSquare: float32(rootMeanSquareY), }} - case 592: //加速度三项监测 - dataDefinitionStatisticData.StatisticData.DataBody = &protoFiles_zjhl.StatisticData_Vib{Vib: &protoFiles_zjhl.VIBStatistic{ - MaxAbsoluteValue: float32(maxAbsoluteValueX), - RootMeanSquare: float32(rootMeanSquareX), - }} + case 935: //gnss + dataDefinitionStatisticData.StatisticData.DataBody = &protoFiles_zjhl_v3.StatisticData_Gnss{Gnss: &protoFiles_zjhl_v3.GNSSStatistic{}} } return dataDefinitionStatisticData diff --git a/configFiles/config_知物云果子沟_中交华联_特征数据.yaml b/configFiles/config_知物云果子沟_中交华联_特征数据.yaml index 10deb1c..fc5d5cc 100644 --- a/configFiles/config_知物云果子沟_中交华联_特征数据.yaml +++ b/configFiles/config_知物云果子沟_中交华联_特征数据.yaml @@ -16,7 +16,7 @@ monitor: #振动是触发式,数据迟缓 cron10min也改成1小时一次 最多上报6条,不进行10min实时上报 cron10min: 29 0/1 * * * #6/10 * * * * #普通类型 特征数据 - cron1hour: 06 0/1 * * * + cron1hour: 07 0/1 * * * info: rc4key: t/gzgyy0219 queryComponent: diff --git a/consumers/GZG2ZJHL/protoFiles_zjhl/MonitorDataProtocol-V1.3.1.proto b/consumers/GZG2ZJHL/protoFiles_zjhl/MonitorDataProtocol-V1.3.1.proto deleted file mode 100644 index 33ad9e9..0000000 --- a/consumers/GZG2ZJHL/protoFiles_zjhl/MonitorDataProtocol-V1.3.1.proto +++ /dev/null @@ -1,801 +0,0 @@ -/* -* Version 1.3.1 -* 创建时间 2023–10-11 - */ -// 指定protobuf的版本,proto3是最新的语法版本 -syntax = "proto3"; - -option go_package = "../protoFiles_zjhl"; -package protoFiles_zjhl; -enum DataType {REALTIME = 0;STATISTICS = 1; EMERGENCY = 2; INSPECTION = 3;} - - -enum MonitoryType { - //风速风向 - UAN = 0; - //温湿度 - RHS = 1; - //结构空间变形 - GNSS = 2; - //振动法索力 - VIC = 3; - //直接法索力 - DIC = 4 ; - //支座位移、梁端纵向位移 - DIS = 5; - //挠度 - HPT = 6; - //应变 - RSG = 7; - //转角 - INC = 8; - //振动 - VIB = 9; - //地震 - VIE = 10; - //TMD监测 - TMD = 11; - //车辆荷载 - HSD = 12; - // 结构温度 - TMP = 13; - // 雨量 - PWS = 14; - //结冰 - FRZ = 15; - //路面状况 - LMZ = 16; - //支反力 - STF = 17; - //基础冲刷 - SCO = 18; - //裂缝 - CRK = 19; - //腐蚀 - COR = 20; - //振动法预应力 - VIS = 21; - //直接法预应力 - STR = 22; - //断丝 - BRK = 23; - //螺栓紧固力 - BTF = 24; - //索夹滑移 - CSP = 25; - //能见度 - VSB = 26; - //大气浓度 - ACN = 27; - //水位 - WLV = 28; - //通用 - CMM = 99; -} - - -//复合类型 -message ComplexData{ - //各个监测数据组成的数据,解开后循环解析,生成CRC后进行加密 - repeated DataDefinition sensorData = 1; -} - -//定义数据内容 -message DataDefinition{ - - DataType dataType = 1; - //不传该字段 - string bridgeCode = 14; - - oneof dataBody{ - //实时数据 - RealTimeData realTimeData = 2; - //特征值表 - StatisticData statisticData = 3; - - } -} - -message RealTimeData{ - - //监测类型 - MonitoryType monitorType = 1; - //测点编码的别名 - int64 monitorCode = 2; - //记录时间戳 - int64 eventTime = 3; - //采样周期 - int32 interval = 100; - - oneof dataBody{ - //实时数据 - //风速风向 - UANRealTime uan = 4; - //温湿度 - RHSRealTime rhs = 5; - //结构温度 - TMPRealTime tmp = 6; - //空间变形 - GNSSRealTime gnss = 7; - // 索力 - VICRealTime vic = 8; - - DICRealTime dic = 9; - // 位移 - DISRealTime dis = 10; - //挠度 - HPTRealTime hpt = 11; - //静应变 - RSGRealTime rsg = 12; - //转角 - INCRealTime inc = 13; - //地震船撞 - VIERealTime vie = 14; - //TMD - TMDRealTime tmd = 15; - //动力特性 - VIBRealTime vib = 16; - //动态称重 - HSDRealTime hsd = 17; - // 雨量 - PWSRealTime pws = 18; - //结冰 - FRZRealTime frz = 19; - //路面状况 - LMZRealTime lmz = 20; - //支反力 - STFRealTime stf = 21; - //基础冲刷 - SCORealTime sco = 22; - //裂缝 - CRKRealTime crk = 23; - //腐蚀 - CORRealTime cor = 25; - //振动法预应力 - VISRealTime vis = 26; - // 直接法预应力 - STRRealTime str = 27; - // 断丝 - BRKRealTime brk = 28; - // 螺栓紧固力 - BTFRealTime btf = 29; - // 索夹滑移 - CSPRealTime csp = 30; - - // 能见度 - VSBRealTime vsb = 31; - //大气浓度 - ACNRealTime acn = 32; - //水位 - WLVRealTime wlv =33; - } - -} - -/* -实时数据发送格式 -*/ -//风速风向的指标hsd -message UANRealTime{ - //风速 - float windVelocity = 1; - //风向 - float windDirection = 2; - //风攻角 - optional float windAttackAngle = 3; - -} - -//温湿度指标 -message RHSRealTime{ - //温度 - float temperature = 1; - //湿度 - float humidity = 2; - -} - -//温度指标 -message TMPRealTime{ - //温度 - float temperature = 1; -} - -//空间变形 - -message GNSSRealTime{ - //横桥向 - float x = 1; - //纵桥向 - float y = 2; - //竖向 - float z = 3; -} - -//索力监测 -message VICRealTime{ - //索力值 - float cableForce = 1; - //基频 - optional float fundamentalFrequency = 2; -} - -//位移(支座位移、梁端纵向位移) -message DISRealTime{ - //位移值 - float displacement = 1; - //如传感器有温度数据 - optional float temperature = 2; -} -//裂缝 -message CRKRealTime{ - //裂缝宽度 - float crackWidth = 1; - //如传感器有温度数据 - optional float temperature = 2; -} - -//挠度监测 -message HPTRealTime{ - //挠度值 - float deflection = 1; - //如传感器有温度数据 - optional float temperature = 2; -} - -//静应变监测 -message RSGRealTime{ - //应变值 - float strain = 1; - //如传感器有温度数据 - optional float temperature = 2; -} - - -//梁端转角监测 -message INCRealTime{ - // 横桥向X - float x = 1; - //纵桥向Y - float y = 2; - //如传感器有温度数据 - repeated float temperature = 3 [packed = true]; -} - - -//一秒钟内动力特性 -message VIBRealTime{ - repeated float monitorValues = 1 [packed = true]; -} - -//一秒钟内地震船撞 -message VIERealTime{ - //多通道监测值 - repeated float monitorValues = 1 [packed = true]; -} - -//一秒钟内TMD -message TMDRealTime{ - repeated float monitorValues = 1 [packed = true]; - -} - -// 车辆荷载 --动态称重 -message HSDRealTime{ - //车道号 - int32 laneId = 1; - //上下行 - int32 operDirec = 2; - //轴数 - int32 axleNum = 3; - //轴组数 - int32 axleGrpNum = 4; - //车重 - int32 grossLoad = 5; - //车型 - int32 vehType = 6; - - //左1轮重 - int32 leftWheelWeight1 = 7; - //左2轮重 - int32 leftWheelWeight2 = 8; - //左3轮重 - int32 leftWheelWeight3 = 9; - //左4轮重 - int32 leftWheelWeight4 = 10; - //左5轮重 - int32 leftWheelWeight5 = 11; - //左6轮重 - int32 leftWheelWeight6 = 12; - //左7轮重 - int32 leftWheelWeight7 = 13; - //左8轮重 - int32 leftWheelWeight8 = 14; - - //右1轮重 - int32 rightWheelWeight1 = 15; - //右2轮重 - int32 rightWheelWeight2 = 16; - //右3轮重 - int32 rightWheelWeight3 = 17; - //右4轮重 - int32 rightWheelWeight4 = 18; - //右5轮重 - int32 rightWheelWeight5 = 19; - //右6轮重 - int32 rightWheelWeight6 = 20; - //右7轮重 - int32 rightWheelWeight7 = 21; - //右8轮重 - int32 rightWheelWeight8 = 22; - - //轴1-轴2距离 - int32 axleDis1 = 23; - //轴2-轴3距离 - int32 axleDis2 = 24; - //轴3-轴4距离 - int32 axleDis3 = 25; - //轴4-轴5距离 - int32 axleDis4 = 26; - //轴5-轴6距离 - int32 axleDis5 = 27; - //轴6-轴7距离 - int32 axleDis6 = 28; - //轴7-轴8距离 - int32 axleDis7 = 29; - //违例码 - optional int32 violationId = 30; - //超限标示 - optional int32 overloadSign = 31; - //车速 - int32 speed = 32; - //加速度 - optional float acceleration = 33; - //车辆长度 - int32 vehLength = 34; - //当量轴次 - optional float qat = 35; - //车牌号 - optional string licencePlate = 36; - //车牌颜色 - optional string licencePlateColor = 37; - //图片id - optional int32 picId = 38; - //路面温度 - optional float roadTemperature = 39; - -} - -//雨量指标 -message PWSRealTime{ - //雨量 - float rainfall = 1; - -} - -//结冰监测 -message FRZRealTime{ - //结冰厚度 - float iceThickness = 1 ; - //如传感器有温度数据 - float temperature = 2 ; -} - -//路面状况监测 -message LMZRealTime{ - //路面状况 - float roadCondition = 1; - //如传感器有温度数据 - float temperature = 2; -} - -//直接法测索力监测 -message DICRealTime{ - //索力值 - float cableForce = 1; - //如传感器有温度数据 - float temperature = 2 ; -} - -//支反力监测 -message STFRealTime{ - //反力值 - float supportAction = 1 ; - //如传感器有温度数据 - float temperature = 2 ; -} - -//基础冲刷监测 -message SCORealTime{ - //深度 - float depth = 1; -} - -//腐蚀监测 -message CORRealTime{ - //氯离子浓度 - float chlorideConcentration = 1 ; - //侵蚀深度 - float corrosionDepth = 2 ; -} - -//振动法预应力监测 -message VISRealTime{ - //预应力 - repeated float monitorValues = 1 [packed = true]; -} - -//预应力监测 -message STRRealTime{ - //预应力值 - float stress = 1 ; - //如传感器有温度数据 - optional float temperature = 2 ; -} - -//断丝监测 -message BRKRealTime{ - //状态 - bool state = 1; -} - - -//螺栓紧固力监测 -message BTFRealTime{ - //力值 - float boltTightForce = 1; - //如传感器有温度数据 - optional float temperature = 2; -} - - -//索夹滑移监测 -message CSPRealTime{ - //位移值 - float displacement = 1 ; - //如传感器有温度数据 - optional float temperature = 2; -} -//能见度 -message VSBRealTime{ - //能见度值 - float value = 1; -} -//大气浓度 -message ACNRealTime{ - //大气浓度最大值 - float value = 1; -} -//水位 -message WLVRealTime{ - //水位 - float value = 1; -} -/* -特征值数据协议格式 -*/ - -//特征值 -message StatisticData{ - - //监测类型 - MonitoryType monitorType = 1; - //测点编码的别名 - int64 monitorCode = 2; - //记录时间戳 - int64 eventTime = 3; - //采样周期 - int32 interval = 100; - - oneof dataBody{ - //风速风向 - UANStatistic uan = 4; - //温湿度 - RHSStatistic rhs = 5; - //结构温度 - TMPStatistic tmp = 6; - //空间变形 - GNSSStatistic gnss = 7; - // 索力 - VICStatistic vic = 8; - // 位移 (支座位移、梁端纵向位移) - DISStatistic dis = 9; - //挠度 - HPTStatistic hpt = 10; - //应变 - RSGStatistic rsg = 11; - //转角 - INCStatistic inc = 12; - //地震船撞 - VIEStatistic vie = 13; - //TMD - TMDStatistic tmd = 14; - //动力特性 - VIBStatistic vib = 15; - //动态称重 - HSDStatistic hsd = 16; - // 位移(锚定位移、拱脚位移、桥墩沉降)监测特征值数据表 - ANDStatistic and = 17; - //裂缝 - CRKStatistic crk = 18; - //结冰 - FRZStatistic frz = 19; - //降雨量 - PWSStatistic pws = 20; - //能见度 - VSBStatistic vsb = 21; - //大气浓度 - ACNStatistic acn = 22; - //水位 - WLVStatistic wlv = 23; - //螺杆状态 - BTFStatistic btf = 24; - //索夹滑移 - CSPStatistic csp = 25; - } - -} -//风速风向监测特征值 周期 10min -message UANStatistic{ - //统计时间范围内的风速平均值 - float avgVelocity = 1; - //统计时间范围内的风向平均值 - float avgDirection = 2; - //统计时间范围内的风攻角平均值 - optional float avgAttackAngle = 3; -} - -//温湿度监测特征值,周期 1h -message RHSStatistic{ - //统计时间范围内的温度最大值 - float maxTemperature = 1; - //统计时间范围内的温度最小值 - float minTemperature = 2; - //统计时间范围内的温度平均值 - float avgTemperature = 3; - //统计时间范围内的温差值 - float maxTemperatureDifference = 4; - //统计时间范围内的湿度最大值 - float maxHumidity = 5; - //统计时间范围内的湿度最小值 - float minHumidity = 6; - //统计时间范围内的湿度平均值 - float avgHumidity = 7; - //湿度超限持续时间,分钟 - int32 humidityExceedDuration = 8; -} - -//温度监测特征值 周期 1h -message TMPStatistic{ - //统计时间范围内的温度最大值 - float maxTemperature = 1; - //统计时间范围内的温度最小值 - float minTemperature = 2; - //统计时间范围内的温度平均值 - float avgTemperature = 3; - //统计时间范围内的温差值 - float maxDifference = 4; -} - -//结构空间变形监测特征值 位移(主梁、塔顶、主缆、高墩墩顶、拱顶) 周期: 1h -message GNSSStatistic{ - //统计时间范围内的空间变形X绝对最大值 - float maxAbsoluteValueX = 1; - //统计时间范围内的空间变形X平均值 - float avgValueX = 2; - //统计时间范围内的空间变形X均方根 - float rootMeanSquareX = 3; - //统计时间范围内的空间变形Y绝对最大值 - float maxAbsoluteValueY = 4; - //统计时间范围内的空间变形Y平均值 - float avgValueY = 5; - //统计时间范围内的空间变形Y均方根 - float rootMeanSquareY = 6; - //统计时间范围内的空间变形Z绝对最大值 - float maxAbsoluteValueZ = 7; - //统计时间范围内的空间变形Z平均值 - float avgValueZ = 8; - //统计时间范围内的空间变形Z均方根 - float rootMeanSquareZ = 9; - -} - -// 位移(锚定位移、拱脚位移、桥墩沉降)监测特征值数据表 周期 24h -message ANDStatistic{ - //统计时间范围内的空间变形X绝对最大值 - float maxAbsoluteValueX = 1; - //统计时间范围内的空间变形X平均值 - float avgValueX = 2; - //统计时间范围内的空间变形X均方根 - float rootMeanSquareX = 3; - //统计时间范围内的空间变形Y绝对最大值 - float maxAbsoluteValueY = 4; - //统计时间范围内的空间变形Y平均值 - float avgValueY = 5; - //统计时间范围内的空间变形Y均方根 - float rootMeanSquareY = 6; - //统计时间范围内的空间变形Z绝对最大值 - float maxAbsoluteValueZ = 7; - //统计时间范围内的空间变形Z平均值 - float avgValueZ = 8; - //统计时间范围内的空间变形Z均方根 - float rootMeanSquareZ = 9; - -} - -//位移监测特征值 位移(支座位移、梁端纵向位移) 周期 1h -message DISStatistic{ - //统计时间范围内的绝对最大值 - float maxAbsoluteValue = 1; - //统计时间范围内的位移平均值 - float avgValue = 2; - //统计时间范围内的位移均方根值 - float rootMeanSquare = 3; - //统计时间范围内的绝对值累积量 - float totalAbsoluteValue = 4; - -} - -//挠度监测特征值 周期1h -message HPTStatistic{ - //统计时间范围内的绝对最大值 - float maxAbsoluteValue = 1; - //统计时间范围内的位移平均值 - float avgValue = 2; - //统计时间范围内的位移均方根值 - float rootMeanSquare = 3; - -} - -//转角监测特征值 周期 1h -message INCStatistic{ - //统计时间范围内横桥向的绝对最大值 - float maxAbsoluteValueX = 1; - // 统计时间范围内横桥向的转角平均值 - float avgValueX = 2; - //统计时间范围内横桥向的转角均方根值 - float rootMeanSquareX = 3; - // 统计时间范围内纵桥向的绝对最大值 - float maxAbsoluteValueY = 4; - // 统计时间范围内纵桥向的转角平均值 - float avgValueY = 5; - // 统计时间范围内纵桥向的转角均方根值 - float rootMeanSquareY = 6; -} - -//应变监测特征值 周期 1h -message RSGStatistic{ - //统计时间范围内的应变/应力绝对最大值 - float maxAbsoluteValue = 1; - //统计时间范围内的应变/应力平均值 - float avgValue = 2; - //统计时间范围内的温度平均值 - optional float avgTemperature = 3; -} - -//索力监测特征值 周期 1h -message VICStatistic{ - //统计时间范围内的索力最大值 - float maxValue = 1; - // 统计时间范围内的索力最小值 - float minValue = 2; - // 统计时间范围内的索力平均值 - float avgValue = 3; - // 统计时间范围内的索力均方根值 - float rootMeanSquare = 4; - -} - -//动力特性监测特征值 振动(主梁、索塔、拱圈) 周期 10min -message VIBStatistic{ - //统计时间范围内的绝对最大值 - float maxAbsoluteValue = 1; - // 统计时间范围内的均方根值 - float rootMeanSquare = 2; - -} - -//地震船撞特性监测特征值 周期10min -message VIEStatistic{ - // 统计时间范围内的绝对最大值 - float maxAbsoluteValue = 1; - // 统计时间范围内的均方根值 - float rootMeanSquare = 2; - -} - -//TMD监测特征值 周期10min -message TMDStatistic{ - //统计时间范围内的绝对最大值 - float maxAbsoluteValue = 1; - // 统计时间范围内的均方根值 - float rootMeanSquare = 2; -} - -//车辆载荷监测特征值 -动态称重 周期 1h -message HSDStatistic{ - //统计时间范围内的车流量 - int32 trafficFlow = 1; - // 统计时间范围内的最大车重 - int32 maxTotalLoad = 2; - // 统计时间范围内的最大轴重 - int32 maxAxleLoad = 3; - // 统计时间范围内的超载车数量 - int32 overLoadCount = 4; - -} -//裂缝监测特征值 位移( 周期 1h) -message CRKStatistic{ - //统计时间范围内的绝对最大值 - float maxAbsoluteValue = 1; - //统计时间范围内的位移平均值 - float avgValue = 2; - //统计时间范围内的位移均方根值 - float rootMeanSquare = 3; - //统计时间范围内的绝对值累积量 - float totalAbsoluteValue = 4; - -} - -//结冰(周期 1h) -message FRZStatistic{ - //统计时间范围内的结冰最大值 - float maxValue = 1; - // 统计时间范围内的结冰最小值 - float minValue = 2; - // 统计时间范围内的结冰平均值 - float avgValue = 3; -} - -//降雨量(周期 10min) -message PWSStatistic{ - // 统计时间范围内的降雨量平均值 - float avgValue = 1; -} - -//能见度(周期 10min) -message VSBStatistic{ - // 统计时间范围内的能见度值 - float avgValue = 1; -} - -//大气浓度(周期 1h) -message ACNStatistic{ - //统计时间范围内的大气浓度最大值 - float maxValue = 1; - // 统计时间范围内的大气浓度最小值 - float minValue = 2; - // 统计时间范围内的大气浓度平均值 - float avgValue = 3; -} - -//水位(周期 1h) -message WLVStatistic{ - //统计时间范围内的水位最大值 - float maxValue = 1; - // 统计时间范围内的水位最小值 - float minValue = 2; - // 统计时间范围内的水位平均值 - float avgValue = 3; -} - -//螺杆状态(周期 1h) -message BTFStatistic{ - //统计时间范围内的螺杆状态平均值 - float avgValue = 1; - // 统计时间范围内的螺杆状态绝对最大值 - float maxAbsoluteValue = 2; - // 统计时间范围内的螺杆状态均方根值 - float rootMeanSquare = 3; -} - -//索夹滑移(周期 1h) -message CSPStatistic{ - //统计时间范围内的索夹滑移平均值 - float avgValue = 1; - // 统计时间范围内的索夹滑移绝对最大值 - float maxAbsoluteValue = 2; - // 统计时间范围内的索夹滑移均方根值 - float rootMeanSquare = 3; -} - diff --git a/consumers/GZG2ZJHL/protoFiles_zjhl/MonitorDataProtocol-V1.3.1.pb.go b/consumers/GZG2ZJHL/protoFiles_zjhl/protoFiles_zjhl_v3/MonitorDataProtocol-Ministry-v3.0.pb.go similarity index 52% rename from consumers/GZG2ZJHL/protoFiles_zjhl/MonitorDataProtocol-V1.3.1.pb.go rename to consumers/GZG2ZJHL/protoFiles_zjhl/protoFiles_zjhl_v3/MonitorDataProtocol-Ministry-v3.0.pb.go index ef36e83..a9a7aa2 100644 --- a/consumers/GZG2ZJHL/protoFiles_zjhl/MonitorDataProtocol-V1.3.1.pb.go +++ b/consumers/GZG2ZJHL/protoFiles_zjhl/protoFiles_zjhl_v3/MonitorDataProtocol-Ministry-v3.0.pb.go @@ -1,16 +1,17 @@ // -// Version 1.3.1 -// 创建时间 2023–10-11 +// Version 3.0 +// 最后更新时间 2024–06-14 +// 健康监测部级平台数据编码协议定义 -// 指定protobuf的版本,proto3是最新的语法版本 +//指定protobuf的版本,proto3是最新的语法版本 // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.31.0 // protoc v4.22.2 -// source: MonitorDataProtocol-V1.3.1.proto +// source: MonitorDataProtocol-Ministry-v3.0.proto -package protoFiles_zjhl +package protoFiles_zjhl_v3 import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" @@ -26,13 +27,19 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) +// 监测数据类型:实时数据,特征值数据,特殊事件,数据抽查 +// 1、REALTIME: 省平台有主动触发实时数据推送时(目前部级没有主动触发场景)发送 +// 2、STATISTICS:常规特征值数据周期性发送时触发 +// 3、SPECIALEVENT:单桥发生特殊事件时主动触发 +// 4、INSPECTION:部级根据特殊事件具体情况,对单桥数据进行抽查时触发 +// 这几个类型用于标识数据触发时的场景,至于具体发送的是原始实时数据还是特征值数据,在dataBody中有明确定义 type DataType int32 const ( - DataType_REALTIME DataType = 0 - DataType_STATISTICS DataType = 1 - DataType_EMERGENCY DataType = 2 - DataType_INSPECTION DataType = 3 + DataType_REALTIME DataType = 0 + DataType_STATISTICS DataType = 1 + DataType_SPECIALEVENT DataType = 2 + DataType_INSPECTION DataType = 3 ) // Enum value maps for DataType. @@ -40,14 +47,14 @@ var ( DataType_name = map[int32]string{ 0: "REALTIME", 1: "STATISTICS", - 2: "EMERGENCY", + 2: "SPECIALEVENT", 3: "INSPECTION", } DataType_value = map[string]int32{ - "REALTIME": 0, - "STATISTICS": 1, - "EMERGENCY": 2, - "INSPECTION": 3, + "REALTIME": 0, + "STATISTICS": 1, + "SPECIALEVENT": 2, + "INSPECTION": 3, } ) @@ -62,11 +69,11 @@ func (x DataType) String() string { } func (DataType) Descriptor() protoreflect.EnumDescriptor { - return file_MonitorDataProtocol_V1_3_1_proto_enumTypes[0].Descriptor() + return file_MonitorDataProtocol_Ministry_v3_0_proto_enumTypes[0].Descriptor() } func (DataType) Type() protoreflect.EnumType { - return &file_MonitorDataProtocol_V1_3_1_proto_enumTypes[0] + return &file_MonitorDataProtocol_Ministry_v3_0_proto_enumTypes[0] } func (x DataType) Number() protoreflect.EnumNumber { @@ -75,7 +82,7 @@ func (x DataType) Number() protoreflect.EnumNumber { // Deprecated: Use DataType.Descriptor instead. func (DataType) EnumDescriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{0} + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{0} } type MonitoryType int32 @@ -91,7 +98,7 @@ const ( MonitoryType_VIC MonitoryType = 3 // 直接法索力 MonitoryType_DIC MonitoryType = 4 - // 支座位移、梁端纵向位移 + // 位移(支座位移、梁端纵向位移、高墩墩顶位移、拱顶位移、主梁横向位移) MonitoryType_DIS MonitoryType = 5 // 挠度 MonitoryType_HPT MonitoryType = 6 @@ -123,22 +130,31 @@ const ( MonitoryType_CRK MonitoryType = 19 // 腐蚀 MonitoryType_COR MonitoryType = 20 - // 振动法预应力 - MonitoryType_VIS MonitoryType = 21 - // 直接法预应力 + // //振动法预应力 + // VIS = 21; + // + // 预应力 MonitoryType_STR MonitoryType = 22 // 断丝 MonitoryType_BRK MonitoryType = 23 // 螺栓紧固力 MonitoryType_BTF MonitoryType = 24 - // 索夹滑移 + // 滑移 MonitoryType_CSP MonitoryType = 25 + // 风压 + MonitoryType_WDP MonitoryType = 26 + // 位移(锚碇位移、拱脚位移、桥墩沉降) + MonitoryType_AND MonitoryType = 30 + // 船舶撞击 + MonitoryType_VID MonitoryType = 33 // 能见度 - MonitoryType_VSB MonitoryType = 26 + MonitoryType_VSB MonitoryType = 34 // 大气浓度 - MonitoryType_ACN MonitoryType = 27 + MonitoryType_ACN MonitoryType = 35 // 水位 - MonitoryType_WLV MonitoryType = 28 + MonitoryType_WLV MonitoryType = 36 + // 表面变形 + MonitoryType_PLD MonitoryType = 97 // 通用 MonitoryType_CMM MonitoryType = 99 ) @@ -167,14 +183,17 @@ var ( 18: "SCO", 19: "CRK", 20: "COR", - 21: "VIS", 22: "STR", 23: "BRK", 24: "BTF", 25: "CSP", - 26: "VSB", - 27: "ACN", - 28: "WLV", + 26: "WDP", + 30: "AND", + 33: "VID", + 34: "VSB", + 35: "ACN", + 36: "WLV", + 97: "PLD", 99: "CMM", } MonitoryType_value = map[string]int32{ @@ -199,14 +218,17 @@ var ( "SCO": 18, "CRK": 19, "COR": 20, - "VIS": 21, "STR": 22, "BRK": 23, "BTF": 24, "CSP": 25, - "VSB": 26, - "ACN": 27, - "WLV": 28, + "WDP": 26, + "AND": 30, + "VID": 33, + "VSB": 34, + "ACN": 35, + "WLV": 36, + "PLD": 97, "CMM": 99, } ) @@ -222,11 +244,11 @@ func (x MonitoryType) String() string { } func (MonitoryType) Descriptor() protoreflect.EnumDescriptor { - return file_MonitorDataProtocol_V1_3_1_proto_enumTypes[1].Descriptor() + return file_MonitorDataProtocol_Ministry_v3_0_proto_enumTypes[1].Descriptor() } func (MonitoryType) Type() protoreflect.EnumType { - return &file_MonitorDataProtocol_V1_3_1_proto_enumTypes[1] + return &file_MonitorDataProtocol_Ministry_v3_0_proto_enumTypes[1] } func (x MonitoryType) Number() protoreflect.EnumNumber { @@ -235,7 +257,7 @@ func (x MonitoryType) Number() protoreflect.EnumNumber { // Deprecated: Use MonitoryType.Descriptor instead. func (MonitoryType) EnumDescriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{1} + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{1} } // 复合类型 @@ -251,7 +273,7 @@ type ComplexData struct { func (x *ComplexData) Reset() { *x = ComplexData{} if protoimpl.UnsafeEnabled { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[0] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -264,7 +286,7 @@ func (x *ComplexData) String() string { func (*ComplexData) ProtoMessage() {} func (x *ComplexData) ProtoReflect() protoreflect.Message { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[0] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -277,7 +299,7 @@ func (x *ComplexData) ProtoReflect() protoreflect.Message { // Deprecated: Use ComplexData.ProtoReflect.Descriptor instead. func (*ComplexData) Descriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{0} + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{0} } func (x *ComplexData) GetSensorData() []*DataDefinition { @@ -293,9 +315,11 @@ type DataDefinition struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - DataType DataType `protobuf:"varint,1,opt,name=dataType,proto3,enum=protoFiles_zjhl.DataType" json:"dataType,omitempty"` - // 不传该字段 + DataType DataType `protobuf:"varint,1,opt,name=dataType,proto3,enum=protoFiles_zjhl_v3.DataType" json:"dataType,omitempty"` + // 桥梁唯一编码 2位省份编码+4位桥梁序号 BridgeCode string `protobuf:"bytes,14,opt,name=bridgeCode,proto3" json:"bridgeCode,omitempty"` + // 省份代码 不传该字段 + PlatformCode string `protobuf:"bytes,15,opt,name=platformCode,proto3" json:"platformCode,omitempty"` // Types that are assignable to DataBody: // // *DataDefinition_RealTimeData @@ -306,7 +330,7 @@ type DataDefinition struct { func (x *DataDefinition) Reset() { *x = DataDefinition{} if protoimpl.UnsafeEnabled { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[1] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -319,7 +343,7 @@ func (x *DataDefinition) String() string { func (*DataDefinition) ProtoMessage() {} func (x *DataDefinition) ProtoReflect() protoreflect.Message { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[1] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -332,7 +356,7 @@ func (x *DataDefinition) ProtoReflect() protoreflect.Message { // Deprecated: Use DataDefinition.ProtoReflect.Descriptor instead. func (*DataDefinition) Descriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{1} + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{1} } func (x *DataDefinition) GetDataType() DataType { @@ -349,6 +373,13 @@ func (x *DataDefinition) GetBridgeCode() string { return "" } +func (x *DataDefinition) GetPlatformCode() string { + if x != nil { + return x.PlatformCode + } + return "" +} + func (m *DataDefinition) GetDataBody() isDataDefinition_DataBody { if m != nil { return m.DataBody @@ -380,7 +411,7 @@ type DataDefinition_RealTimeData struct { } type DataDefinition_StatisticData struct { - // 特征值表 + // 特征值数据 StatisticData *StatisticData `protobuf:"bytes,3,opt,name=statisticData,proto3,oneof"` } @@ -388,19 +419,20 @@ func (*DataDefinition_RealTimeData) isDataDefinition_DataBody() {} func (*DataDefinition_StatisticData) isDataDefinition_DataBody() {} +// 实时数据 type RealTimeData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // 监测类型 - MonitorType MonitoryType `protobuf:"varint,1,opt,name=monitorType,proto3,enum=protoFiles_zjhl.MonitoryType" json:"monitorType,omitempty"` - // 测点编码的别名 + MonitorType MonitoryType `protobuf:"varint,1,opt,name=monitorType,proto3,enum=protoFiles_zjhl_v3.MonitoryType" json:"monitorType,omitempty"` + // 测点编码唯一编码 2位省份编码+4位桥梁序号+5位桥梁测点序号 测点必须先注册后才可以发送 MonitorCode int64 `protobuf:"varint,2,opt,name=monitorCode,proto3" json:"monitorCode,omitempty"` // 记录时间戳 EventTime int64 `protobuf:"varint,3,opt,name=eventTime,proto3" json:"eventTime,omitempty"` - // 采样周期 - Interval int32 `protobuf:"varint,100,opt,name=interval,proto3" json:"interval,omitempty"` + // 实时数据 + // // Types that are assignable to DataBody: // // *RealTimeData_Uan @@ -408,7 +440,6 @@ type RealTimeData struct { // *RealTimeData_Tmp // *RealTimeData_Gnss // *RealTimeData_Vic - // *RealTimeData_Dic // *RealTimeData_Dis // *RealTimeData_Hpt // *RealTimeData_Rsg @@ -424,7 +455,6 @@ type RealTimeData struct { // *RealTimeData_Sco // *RealTimeData_Crk // *RealTimeData_Cor - // *RealTimeData_Vis // *RealTimeData_Str // *RealTimeData_Brk // *RealTimeData_Btf @@ -432,13 +462,17 @@ type RealTimeData struct { // *RealTimeData_Vsb // *RealTimeData_Acn // *RealTimeData_Wlv + // *RealTimeData_Pld + // *RealTimeData_Wdp + // *RealTimeData_And + // *RealTimeData_Vid DataBody isRealTimeData_DataBody `protobuf_oneof:"dataBody"` } func (x *RealTimeData) Reset() { *x = RealTimeData{} if protoimpl.UnsafeEnabled { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[2] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -451,7 +485,7 @@ func (x *RealTimeData) String() string { func (*RealTimeData) ProtoMessage() {} func (x *RealTimeData) ProtoReflect() protoreflect.Message { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[2] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -464,7 +498,7 @@ func (x *RealTimeData) ProtoReflect() protoreflect.Message { // Deprecated: Use RealTimeData.ProtoReflect.Descriptor instead. func (*RealTimeData) Descriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{2} + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{2} } func (x *RealTimeData) GetMonitorType() MonitoryType { @@ -488,13 +522,6 @@ func (x *RealTimeData) GetEventTime() int64 { return 0 } -func (x *RealTimeData) GetInterval() int32 { - if x != nil { - return x.Interval - } - return 0 -} - func (m *RealTimeData) GetDataBody() isRealTimeData_DataBody { if m != nil { return m.DataBody @@ -537,13 +564,6 @@ func (x *RealTimeData) GetVic() *VICRealTime { return nil } -func (x *RealTimeData) GetDic() *DICRealTime { - if x, ok := x.GetDataBody().(*RealTimeData_Dic); ok { - return x.Dic - } - return nil -} - func (x *RealTimeData) GetDis() *DISRealTime { if x, ok := x.GetDataBody().(*RealTimeData_Dis); ok { return x.Dis @@ -649,13 +669,6 @@ func (x *RealTimeData) GetCor() *CORRealTime { return nil } -func (x *RealTimeData) GetVis() *VISRealTime { - if x, ok := x.GetDataBody().(*RealTimeData_Vis); ok { - return x.Vis - } - return nil -} - func (x *RealTimeData) GetStr() *STRRealTime { if x, ok := x.GetDataBody().(*RealTimeData_Str); ok { return x.Str @@ -705,12 +718,39 @@ func (x *RealTimeData) GetWlv() *WLVRealTime { return nil } +func (x *RealTimeData) GetPld() *PLDRealTime { + if x, ok := x.GetDataBody().(*RealTimeData_Pld); ok { + return x.Pld + } + return nil +} + +func (x *RealTimeData) GetWdp() *WDPRealTime { + if x, ok := x.GetDataBody().(*RealTimeData_Wdp); ok { + return x.Wdp + } + return nil +} + +func (x *RealTimeData) GetAnd() *ANDRealTime { + if x, ok := x.GetDataBody().(*RealTimeData_And); ok { + return x.And + } + return nil +} + +func (x *RealTimeData) GetVid() *VIDRealTime { + if x, ok := x.GetDataBody().(*RealTimeData_Vid); ok { + return x.Vid + } + return nil +} + type isRealTimeData_DataBody interface { isRealTimeData_DataBody() } type RealTimeData_Uan struct { - // 实时数据 // 风速风向 Uan *UANRealTime `protobuf:"bytes,4,opt,name=uan,proto3,oneof"` } @@ -735,12 +775,12 @@ type RealTimeData_Vic struct { Vic *VICRealTime `protobuf:"bytes,8,opt,name=vic,proto3,oneof"` } -type RealTimeData_Dic struct { - Dic *DICRealTime `protobuf:"bytes,9,opt,name=dic,proto3,oneof"` -} - type RealTimeData_Dis struct { - // 位移 + // 直接法测索力 + // + // DICRealTime dic = 9; + // + // 位移(支座位移、梁端纵向位移、高墩墩顶位移、拱顶位移、主梁横向位移) Dis *DISRealTime `protobuf:"bytes,10,opt,name=dis,proto3,oneof"` } @@ -750,7 +790,7 @@ type RealTimeData_Hpt struct { } type RealTimeData_Rsg struct { - // 静应变 + // 应变 Rsg *RSGRealTime `protobuf:"bytes,12,opt,name=rsg,proto3,oneof"` } @@ -760,7 +800,7 @@ type RealTimeData_Inc struct { } type RealTimeData_Vie struct { - // 地震船撞 + // 地震 Vie *VIERealTime `protobuf:"bytes,14,opt,name=vie,proto3,oneof"` } @@ -775,7 +815,7 @@ type RealTimeData_Vib struct { } type RealTimeData_Hsd struct { - // 动态称重 + // 车辆荷载 Hsd *HSDRealTime `protobuf:"bytes,17,opt,name=hsd,proto3,oneof"` } @@ -814,13 +854,12 @@ type RealTimeData_Cor struct { Cor *CORRealTime `protobuf:"bytes,25,opt,name=cor,proto3,oneof"` } -type RealTimeData_Vis struct { - // 振动法预应力 - Vis *VISRealTime `protobuf:"bytes,26,opt,name=vis,proto3,oneof"` -} - type RealTimeData_Str struct { - // 直接法预应力 + // 振动法预应力 + // + // VISRealTime vis = 26; + // + // 预应力 Str *STRRealTime `protobuf:"bytes,27,opt,name=str,proto3,oneof"` } @@ -835,7 +874,7 @@ type RealTimeData_Btf struct { } type RealTimeData_Csp struct { - // 索夹滑移 + // 滑移 Csp *CSPRealTime `protobuf:"bytes,30,opt,name=csp,proto3,oneof"` } @@ -854,6 +893,26 @@ type RealTimeData_Wlv struct { Wlv *WLVRealTime `protobuf:"bytes,33,opt,name=wlv,proto3,oneof"` } +type RealTimeData_Pld struct { + // 表面变形监测 + Pld *PLDRealTime `protobuf:"bytes,34,opt,name=pld,proto3,oneof"` +} + +type RealTimeData_Wdp struct { + // 风压 + Wdp *WDPRealTime `protobuf:"bytes,35,opt,name=wdp,proto3,oneof"` +} + +type RealTimeData_And struct { + // 位移 + And *ANDRealTime `protobuf:"bytes,36,opt,name=and,proto3,oneof"` +} + +type RealTimeData_Vid struct { + // 船舶撞击 + Vid *VIDRealTime `protobuf:"bytes,37,opt,name=vid,proto3,oneof"` +} + func (*RealTimeData_Uan) isRealTimeData_DataBody() {} func (*RealTimeData_Rhs) isRealTimeData_DataBody() {} @@ -864,8 +923,6 @@ func (*RealTimeData_Gnss) isRealTimeData_DataBody() {} func (*RealTimeData_Vic) isRealTimeData_DataBody() {} -func (*RealTimeData_Dic) isRealTimeData_DataBody() {} - func (*RealTimeData_Dis) isRealTimeData_DataBody() {} func (*RealTimeData_Hpt) isRealTimeData_DataBody() {} @@ -896,8 +953,6 @@ func (*RealTimeData_Crk) isRealTimeData_DataBody() {} func (*RealTimeData_Cor) isRealTimeData_DataBody() {} -func (*RealTimeData_Vis) isRealTimeData_DataBody() {} - func (*RealTimeData_Str) isRealTimeData_DataBody() {} func (*RealTimeData_Brk) isRealTimeData_DataBody() {} @@ -912,7 +967,15 @@ func (*RealTimeData_Acn) isRealTimeData_DataBody() {} func (*RealTimeData_Wlv) isRealTimeData_DataBody() {} -// 风速风向的指标hsd +func (*RealTimeData_Pld) isRealTimeData_DataBody() {} + +func (*RealTimeData_Wdp) isRealTimeData_DataBody() {} + +func (*RealTimeData_And) isRealTimeData_DataBody() {} + +func (*RealTimeData_Vid) isRealTimeData_DataBody() {} + +// 风速风向指标 type UANRealTime struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -929,7 +992,7 @@ type UANRealTime struct { func (x *UANRealTime) Reset() { *x = UANRealTime{} if protoimpl.UnsafeEnabled { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[3] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -942,7 +1005,7 @@ func (x *UANRealTime) String() string { func (*UANRealTime) ProtoMessage() {} func (x *UANRealTime) ProtoReflect() protoreflect.Message { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[3] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -955,7 +1018,7 @@ func (x *UANRealTime) ProtoReflect() protoreflect.Message { // Deprecated: Use UANRealTime.ProtoReflect.Descriptor instead. func (*UANRealTime) Descriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{3} + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{3} } func (x *UANRealTime) GetWindVelocity() float32 { @@ -994,7 +1057,7 @@ type RHSRealTime struct { func (x *RHSRealTime) Reset() { *x = RHSRealTime{} if protoimpl.UnsafeEnabled { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[4] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1007,7 +1070,7 @@ func (x *RHSRealTime) String() string { func (*RHSRealTime) ProtoMessage() {} func (x *RHSRealTime) ProtoReflect() protoreflect.Message { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[4] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1020,7 +1083,7 @@ func (x *RHSRealTime) ProtoReflect() protoreflect.Message { // Deprecated: Use RHSRealTime.ProtoReflect.Descriptor instead. func (*RHSRealTime) Descriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{4} + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{4} } func (x *RHSRealTime) GetTemperature() float32 { @@ -1050,7 +1113,7 @@ type TMPRealTime struct { func (x *TMPRealTime) Reset() { *x = TMPRealTime{} if protoimpl.UnsafeEnabled { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[5] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1063,7 +1126,7 @@ func (x *TMPRealTime) String() string { func (*TMPRealTime) ProtoMessage() {} func (x *TMPRealTime) ProtoReflect() protoreflect.Message { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[5] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1076,7 +1139,7 @@ func (x *TMPRealTime) ProtoReflect() protoreflect.Message { // Deprecated: Use TMPRealTime.ProtoReflect.Descriptor instead. func (*TMPRealTime) Descriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{5} + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{5} } func (x *TMPRealTime) GetTemperature() float32 { @@ -1086,6 +1149,7 @@ func (x *TMPRealTime) GetTemperature() float32 { return 0 } +// 空间变形指标 type GNSSRealTime struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1102,7 +1166,7 @@ type GNSSRealTime struct { func (x *GNSSRealTime) Reset() { *x = GNSSRealTime{} if protoimpl.UnsafeEnabled { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[6] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1115,7 +1179,7 @@ func (x *GNSSRealTime) String() string { func (*GNSSRealTime) ProtoMessage() {} func (x *GNSSRealTime) ProtoReflect() protoreflect.Message { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[6] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1128,7 +1192,7 @@ func (x *GNSSRealTime) ProtoReflect() protoreflect.Message { // Deprecated: Use GNSSRealTime.ProtoReflect.Descriptor instead. func (*GNSSRealTime) Descriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{6} + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{6} } func (x *GNSSRealTime) GetX() float32 { @@ -1167,7 +1231,7 @@ type VICRealTime struct { func (x *VICRealTime) Reset() { *x = VICRealTime{} if protoimpl.UnsafeEnabled { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[7] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1180,7 +1244,7 @@ func (x *VICRealTime) String() string { func (*VICRealTime) ProtoMessage() {} func (x *VICRealTime) ProtoReflect() protoreflect.Message { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[7] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1193,7 +1257,7 @@ func (x *VICRealTime) ProtoReflect() protoreflect.Message { // Deprecated: Use VICRealTime.ProtoReflect.Descriptor instead. func (*VICRealTime) Descriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{7} + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{7} } func (x *VICRealTime) GetCableForce() float32 { @@ -1210,7 +1274,7 @@ func (x *VICRealTime) GetFundamentalFrequency() float32 { return 0 } -// 位移(支座位移、梁端纵向位移) +// 位移(支座位移、梁端纵向位移、高墩墩顶位移、拱顶位移、主梁横向位移) type DISRealTime struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1218,14 +1282,14 @@ type DISRealTime struct { // 位移值 Displacement float32 `protobuf:"fixed32,1,opt,name=displacement,proto3" json:"displacement,omitempty"` - // 如传感器有温度数据 + // 传感器温度数据 Temperature *float32 `protobuf:"fixed32,2,opt,name=temperature,proto3,oneof" json:"temperature,omitempty"` } func (x *DISRealTime) Reset() { *x = DISRealTime{} if protoimpl.UnsafeEnabled { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[8] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1238,7 +1302,7 @@ func (x *DISRealTime) String() string { func (*DISRealTime) ProtoMessage() {} func (x *DISRealTime) ProtoReflect() protoreflect.Message { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[8] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1251,7 +1315,7 @@ func (x *DISRealTime) ProtoReflect() protoreflect.Message { // Deprecated: Use DISRealTime.ProtoReflect.Descriptor instead. func (*DISRealTime) Descriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{8} + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{8} } func (x *DISRealTime) GetDisplacement() float32 { @@ -1276,14 +1340,14 @@ type CRKRealTime struct { // 裂缝宽度 CrackWidth float32 `protobuf:"fixed32,1,opt,name=crackWidth,proto3" json:"crackWidth,omitempty"` - // 如传感器有温度数据 + // 传感器温度数据 Temperature *float32 `protobuf:"fixed32,2,opt,name=temperature,proto3,oneof" json:"temperature,omitempty"` } func (x *CRKRealTime) Reset() { *x = CRKRealTime{} if protoimpl.UnsafeEnabled { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[9] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1296,7 +1360,7 @@ func (x *CRKRealTime) String() string { func (*CRKRealTime) ProtoMessage() {} func (x *CRKRealTime) ProtoReflect() protoreflect.Message { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[9] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1309,7 +1373,7 @@ func (x *CRKRealTime) ProtoReflect() protoreflect.Message { // Deprecated: Use CRKRealTime.ProtoReflect.Descriptor instead. func (*CRKRealTime) Descriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{9} + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{9} } func (x *CRKRealTime) GetCrackWidth() float32 { @@ -1334,14 +1398,14 @@ type HPTRealTime struct { // 挠度值 Deflection float32 `protobuf:"fixed32,1,opt,name=deflection,proto3" json:"deflection,omitempty"` - // 如传感器有温度数据 + // 传感器温度数据 Temperature *float32 `protobuf:"fixed32,2,opt,name=temperature,proto3,oneof" json:"temperature,omitempty"` } func (x *HPTRealTime) Reset() { *x = HPTRealTime{} if protoimpl.UnsafeEnabled { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[10] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1354,7 +1418,7 @@ func (x *HPTRealTime) String() string { func (*HPTRealTime) ProtoMessage() {} func (x *HPTRealTime) ProtoReflect() protoreflect.Message { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[10] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1367,7 +1431,7 @@ func (x *HPTRealTime) ProtoReflect() protoreflect.Message { // Deprecated: Use HPTRealTime.ProtoReflect.Descriptor instead. func (*HPTRealTime) Descriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{10} + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{10} } func (x *HPTRealTime) GetDeflection() float32 { @@ -1392,14 +1456,14 @@ type RSGRealTime struct { // 应变值 Strain float32 `protobuf:"fixed32,1,opt,name=strain,proto3" json:"strain,omitempty"` - // 如传感器有温度数据 + // 传感器温度数据 Temperature *float32 `protobuf:"fixed32,2,opt,name=temperature,proto3,oneof" json:"temperature,omitempty"` } func (x *RSGRealTime) Reset() { *x = RSGRealTime{} if protoimpl.UnsafeEnabled { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[11] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1412,7 +1476,7 @@ func (x *RSGRealTime) String() string { func (*RSGRealTime) ProtoMessage() {} func (x *RSGRealTime) ProtoReflect() protoreflect.Message { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[11] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1425,7 +1489,7 @@ func (x *RSGRealTime) ProtoReflect() protoreflect.Message { // Deprecated: Use RSGRealTime.ProtoReflect.Descriptor instead. func (*RSGRealTime) Descriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{11} + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{11} } func (x *RSGRealTime) GetStrain() float32 { @@ -1452,14 +1516,14 @@ type INCRealTime struct { X float32 `protobuf:"fixed32,1,opt,name=x,proto3" json:"x,omitempty"` // 纵桥向Y Y float32 `protobuf:"fixed32,2,opt,name=y,proto3" json:"y,omitempty"` - // 如传感器有温度数据 + // 传感器有温度数据 Temperature []float32 `protobuf:"fixed32,3,rep,packed,name=temperature,proto3" json:"temperature,omitempty"` } func (x *INCRealTime) Reset() { *x = INCRealTime{} if protoimpl.UnsafeEnabled { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[12] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1472,7 +1536,7 @@ func (x *INCRealTime) String() string { func (*INCRealTime) ProtoMessage() {} func (x *INCRealTime) ProtoReflect() protoreflect.Message { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[12] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1485,7 +1549,7 @@ func (x *INCRealTime) ProtoReflect() protoreflect.Message { // Deprecated: Use INCRealTime.ProtoReflect.Descriptor instead. func (*INCRealTime) Descriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{12} + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{12} } func (x *INCRealTime) GetX() float32 { @@ -1509,7 +1573,7 @@ func (x *INCRealTime) GetTemperature() []float32 { return nil } -// 一秒钟内动力特性 +// 动力特性指标 type VIBRealTime struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1521,7 +1585,7 @@ type VIBRealTime struct { func (x *VIBRealTime) Reset() { *x = VIBRealTime{} if protoimpl.UnsafeEnabled { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[13] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1534,7 +1598,7 @@ func (x *VIBRealTime) String() string { func (*VIBRealTime) ProtoMessage() {} func (x *VIBRealTime) ProtoReflect() protoreflect.Message { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[13] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1547,7 +1611,7 @@ func (x *VIBRealTime) ProtoReflect() protoreflect.Message { // Deprecated: Use VIBRealTime.ProtoReflect.Descriptor instead. func (*VIBRealTime) Descriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{13} + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{13} } func (x *VIBRealTime) GetMonitorValues() []float32 { @@ -1557,7 +1621,7 @@ func (x *VIBRealTime) GetMonitorValues() []float32 { return nil } -// 一秒钟内地震船撞 +// 地震指标 type VIERealTime struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1570,7 +1634,7 @@ type VIERealTime struct { func (x *VIERealTime) Reset() { *x = VIERealTime{} if protoimpl.UnsafeEnabled { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[14] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1583,7 +1647,7 @@ func (x *VIERealTime) String() string { func (*VIERealTime) ProtoMessage() {} func (x *VIERealTime) ProtoReflect() protoreflect.Message { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[14] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1596,7 +1660,7 @@ func (x *VIERealTime) ProtoReflect() protoreflect.Message { // Deprecated: Use VIERealTime.ProtoReflect.Descriptor instead. func (*VIERealTime) Descriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{14} + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{14} } func (x *VIERealTime) GetMonitorValues() []float32 { @@ -1606,19 +1670,20 @@ func (x *VIERealTime) GetMonitorValues() []float32 { return nil } -// 一秒钟内TMD +// TMD指标 type TMDRealTime struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // TMD监测值 MonitorValues []float32 `protobuf:"fixed32,1,rep,packed,name=monitorValues,proto3" json:"monitorValues,omitempty"` } func (x *TMDRealTime) Reset() { *x = TMDRealTime{} if protoimpl.UnsafeEnabled { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[15] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1631,7 +1696,7 @@ func (x *TMDRealTime) String() string { func (*TMDRealTime) ProtoMessage() {} func (x *TMDRealTime) ProtoReflect() protoreflect.Message { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[15] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1644,7 +1709,7 @@ func (x *TMDRealTime) ProtoReflect() protoreflect.Message { // Deprecated: Use TMDRealTime.ProtoReflect.Descriptor instead. func (*TMDRealTime) Descriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{15} + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{15} } func (x *TMDRealTime) GetMonitorValues() []float32 { @@ -1654,96 +1719,47 @@ func (x *TMDRealTime) GetMonitorValues() []float32 { return nil } -// 车辆荷载 --动态称重 +// 车辆荷载指标 type HSDRealTime struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // * // 车道号 + // 1,2,3,4... LaneId int32 `protobuf:"varint,1,opt,name=laneId,proto3" json:"laneId,omitempty"` + // * // 上下行 + // 0:上行 + // 1:下行 OperDirec int32 `protobuf:"varint,2,opt,name=operDirec,proto3" json:"operDirec,omitempty"` - // 轴数 - AxleNum int32 `protobuf:"varint,3,opt,name=axleNum,proto3" json:"axleNum,omitempty"` - // 轴组数 - AxleGrpNum int32 `protobuf:"varint,4,opt,name=axleGrpNum,proto3" json:"axleGrpNum,omitempty"` - // 车重 - GrossLoad int32 `protobuf:"varint,5,opt,name=grossLoad,proto3" json:"grossLoad,omitempty"` + // * // 车型 - VehType int32 `protobuf:"varint,6,opt,name=vehType,proto3" json:"vehType,omitempty"` - // 左1轮重 - LeftWheelWeight1 int32 `protobuf:"varint,7,opt,name=leftWheelWeight1,proto3" json:"leftWheelWeight1,omitempty"` - // 左2轮重 - LeftWheelWeight2 int32 `protobuf:"varint,8,opt,name=leftWheelWeight2,proto3" json:"leftWheelWeight2,omitempty"` - // 左3轮重 - LeftWheelWeight3 int32 `protobuf:"varint,9,opt,name=leftWheelWeight3,proto3" json:"leftWheelWeight3,omitempty"` - // 左4轮重 - LeftWheelWeight4 int32 `protobuf:"varint,10,opt,name=leftWheelWeight4,proto3" json:"leftWheelWeight4,omitempty"` - // 左5轮重 - LeftWheelWeight5 int32 `protobuf:"varint,11,opt,name=leftWheelWeight5,proto3" json:"leftWheelWeight5,omitempty"` - // 左6轮重 - LeftWheelWeight6 int32 `protobuf:"varint,12,opt,name=leftWheelWeight6,proto3" json:"leftWheelWeight6,omitempty"` - // 左7轮重 - LeftWheelWeight7 int32 `protobuf:"varint,13,opt,name=leftWheelWeight7,proto3" json:"leftWheelWeight7,omitempty"` - // 左8轮重 - LeftWheelWeight8 int32 `protobuf:"varint,14,opt,name=leftWheelWeight8,proto3" json:"leftWheelWeight8,omitempty"` - // 右1轮重 - RightWheelWeight1 int32 `protobuf:"varint,15,opt,name=rightWheelWeight1,proto3" json:"rightWheelWeight1,omitempty"` - // 右2轮重 - RightWheelWeight2 int32 `protobuf:"varint,16,opt,name=rightWheelWeight2,proto3" json:"rightWheelWeight2,omitempty"` - // 右3轮重 - RightWheelWeight3 int32 `protobuf:"varint,17,opt,name=rightWheelWeight3,proto3" json:"rightWheelWeight3,omitempty"` - // 右4轮重 - RightWheelWeight4 int32 `protobuf:"varint,18,opt,name=rightWheelWeight4,proto3" json:"rightWheelWeight4,omitempty"` - // 右5轮重 - RightWheelWeight5 int32 `protobuf:"varint,19,opt,name=rightWheelWeight5,proto3" json:"rightWheelWeight5,omitempty"` - // 右6轮重 - RightWheelWeight6 int32 `protobuf:"varint,20,opt,name=rightWheelWeight6,proto3" json:"rightWheelWeight6,omitempty"` - // 右7轮重 - RightWheelWeight7 int32 `protobuf:"varint,21,opt,name=rightWheelWeight7,proto3" json:"rightWheelWeight7,omitempty"` - // 右8轮重 - RightWheelWeight8 int32 `protobuf:"varint,22,opt,name=rightWheelWeight8,proto3" json:"rightWheelWeight8,omitempty"` - // 轴1-轴2距离 - AxleDis1 int32 `protobuf:"varint,23,opt,name=axleDis1,proto3" json:"axleDis1,omitempty"` - // 轴2-轴3距离 - AxleDis2 int32 `protobuf:"varint,24,opt,name=axleDis2,proto3" json:"axleDis2,omitempty"` - // 轴3-轴4距离 - AxleDis3 int32 `protobuf:"varint,25,opt,name=axleDis3,proto3" json:"axleDis3,omitempty"` - // 轴4-轴5距离 - AxleDis4 int32 `protobuf:"varint,26,opt,name=axleDis4,proto3" json:"axleDis4,omitempty"` - // 轴5-轴6距离 - AxleDis5 int32 `protobuf:"varint,27,opt,name=axleDis5,proto3" json:"axleDis5,omitempty"` - // 轴6-轴7距离 - AxleDis6 int32 `protobuf:"varint,28,opt,name=axleDis6,proto3" json:"axleDis6,omitempty"` - // 轴7-轴8距离 - AxleDis7 int32 `protobuf:"varint,29,opt,name=axleDis7,proto3" json:"axleDis7,omitempty"` - // 违例码 - ViolationId *int32 `protobuf:"varint,30,opt,name=violationId,proto3,oneof" json:"violationId,omitempty"` - // 超限标示 - OverloadSign *int32 `protobuf:"varint,31,opt,name=overloadSign,proto3,oneof" json:"overloadSign,omitempty"` + // 0:两轴车型 + // 1:三轴车型 + // 2:四轴车型 + // 3:五轴车型 + // 4:六轴及以上车型 + VehType int32 `protobuf:"varint,3,opt,name=vehType,proto3" json:"vehType,omitempty"` // 车速 - Speed int32 `protobuf:"varint,32,opt,name=speed,proto3" json:"speed,omitempty"` - // 加速度 - Acceleration *float32 `protobuf:"fixed32,33,opt,name=acceleration,proto3,oneof" json:"acceleration,omitempty"` - // 车辆长度 - VehLength int32 `protobuf:"varint,34,opt,name=vehLength,proto3" json:"vehLength,omitempty"` - // 当量轴次 - Qat *float32 `protobuf:"fixed32,35,opt,name=qat,proto3,oneof" json:"qat,omitempty"` + Speed int32 `protobuf:"varint,4,opt,name=speed,proto3" json:"speed,omitempty"` + // 轴数 + AxleNum int32 `protobuf:"varint,5,opt,name=axleNum,proto3" json:"axleNum,omitempty"` + // 车重 + GrossLoad int32 `protobuf:"varint,6,opt,name=grossLoad,proto3" json:"grossLoad,omitempty"` + // 轴重(轴1重,轴2重……) + AxleWeight []int32 `protobuf:"varint,7,rep,packed,name=axleWeight,proto3" json:"axleWeight,omitempty"` // 车牌号 - LicencePlate *string `protobuf:"bytes,36,opt,name=licencePlate,proto3,oneof" json:"licencePlate,omitempty"` + LicencePlate *string `protobuf:"bytes,8,opt,name=licencePlate,proto3,oneof" json:"licencePlate,omitempty"` // 车牌颜色 - LicencePlateColor *string `protobuf:"bytes,37,opt,name=licencePlateColor,proto3,oneof" json:"licencePlateColor,omitempty"` - // 图片id - PicId *int32 `protobuf:"varint,38,opt,name=picId,proto3,oneof" json:"picId,omitempty"` - // 路面温度 - RoadTemperature *float32 `protobuf:"fixed32,39,opt,name=roadTemperature,proto3,oneof" json:"roadTemperature,omitempty"` + LicencePlateColor *string `protobuf:"bytes,9,opt,name=licencePlateColor,proto3,oneof" json:"licencePlateColor,omitempty"` } func (x *HSDRealTime) Reset() { *x = HSDRealTime{} if protoimpl.UnsafeEnabled { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[16] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1756,7 +1772,7 @@ func (x *HSDRealTime) String() string { func (*HSDRealTime) ProtoMessage() {} func (x *HSDRealTime) ProtoReflect() protoreflect.Message { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[16] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1769,7 +1785,7 @@ func (x *HSDRealTime) ProtoReflect() protoreflect.Message { // Deprecated: Use HSDRealTime.ProtoReflect.Descriptor instead. func (*HSDRealTime) Descriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{16} + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{16} } func (x *HSDRealTime) GetLaneId() int32 { @@ -1786,27 +1802,6 @@ func (x *HSDRealTime) GetOperDirec() int32 { return 0 } -func (x *HSDRealTime) GetAxleNum() int32 { - if x != nil { - return x.AxleNum - } - return 0 -} - -func (x *HSDRealTime) GetAxleGrpNum() int32 { - if x != nil { - return x.AxleGrpNum - } - return 0 -} - -func (x *HSDRealTime) GetGrossLoad() int32 { - if x != nil { - return x.GrossLoad - } - return 0 -} - func (x *HSDRealTime) GetVehType() int32 { if x != nil { return x.VehType @@ -1814,181 +1809,6 @@ func (x *HSDRealTime) GetVehType() int32 { return 0 } -func (x *HSDRealTime) GetLeftWheelWeight1() int32 { - if x != nil { - return x.LeftWheelWeight1 - } - return 0 -} - -func (x *HSDRealTime) GetLeftWheelWeight2() int32 { - if x != nil { - return x.LeftWheelWeight2 - } - return 0 -} - -func (x *HSDRealTime) GetLeftWheelWeight3() int32 { - if x != nil { - return x.LeftWheelWeight3 - } - return 0 -} - -func (x *HSDRealTime) GetLeftWheelWeight4() int32 { - if x != nil { - return x.LeftWheelWeight4 - } - return 0 -} - -func (x *HSDRealTime) GetLeftWheelWeight5() int32 { - if x != nil { - return x.LeftWheelWeight5 - } - return 0 -} - -func (x *HSDRealTime) GetLeftWheelWeight6() int32 { - if x != nil { - return x.LeftWheelWeight6 - } - return 0 -} - -func (x *HSDRealTime) GetLeftWheelWeight7() int32 { - if x != nil { - return x.LeftWheelWeight7 - } - return 0 -} - -func (x *HSDRealTime) GetLeftWheelWeight8() int32 { - if x != nil { - return x.LeftWheelWeight8 - } - return 0 -} - -func (x *HSDRealTime) GetRightWheelWeight1() int32 { - if x != nil { - return x.RightWheelWeight1 - } - return 0 -} - -func (x *HSDRealTime) GetRightWheelWeight2() int32 { - if x != nil { - return x.RightWheelWeight2 - } - return 0 -} - -func (x *HSDRealTime) GetRightWheelWeight3() int32 { - if x != nil { - return x.RightWheelWeight3 - } - return 0 -} - -func (x *HSDRealTime) GetRightWheelWeight4() int32 { - if x != nil { - return x.RightWheelWeight4 - } - return 0 -} - -func (x *HSDRealTime) GetRightWheelWeight5() int32 { - if x != nil { - return x.RightWheelWeight5 - } - return 0 -} - -func (x *HSDRealTime) GetRightWheelWeight6() int32 { - if x != nil { - return x.RightWheelWeight6 - } - return 0 -} - -func (x *HSDRealTime) GetRightWheelWeight7() int32 { - if x != nil { - return x.RightWheelWeight7 - } - return 0 -} - -func (x *HSDRealTime) GetRightWheelWeight8() int32 { - if x != nil { - return x.RightWheelWeight8 - } - return 0 -} - -func (x *HSDRealTime) GetAxleDis1() int32 { - if x != nil { - return x.AxleDis1 - } - return 0 -} - -func (x *HSDRealTime) GetAxleDis2() int32 { - if x != nil { - return x.AxleDis2 - } - return 0 -} - -func (x *HSDRealTime) GetAxleDis3() int32 { - if x != nil { - return x.AxleDis3 - } - return 0 -} - -func (x *HSDRealTime) GetAxleDis4() int32 { - if x != nil { - return x.AxleDis4 - } - return 0 -} - -func (x *HSDRealTime) GetAxleDis5() int32 { - if x != nil { - return x.AxleDis5 - } - return 0 -} - -func (x *HSDRealTime) GetAxleDis6() int32 { - if x != nil { - return x.AxleDis6 - } - return 0 -} - -func (x *HSDRealTime) GetAxleDis7() int32 { - if x != nil { - return x.AxleDis7 - } - return 0 -} - -func (x *HSDRealTime) GetViolationId() int32 { - if x != nil && x.ViolationId != nil { - return *x.ViolationId - } - return 0 -} - -func (x *HSDRealTime) GetOverloadSign() int32 { - if x != nil && x.OverloadSign != nil { - return *x.OverloadSign - } - return 0 -} - func (x *HSDRealTime) GetSpeed() int32 { if x != nil { return x.Speed @@ -1996,25 +1816,25 @@ func (x *HSDRealTime) GetSpeed() int32 { return 0 } -func (x *HSDRealTime) GetAcceleration() float32 { - if x != nil && x.Acceleration != nil { - return *x.Acceleration +func (x *HSDRealTime) GetAxleNum() int32 { + if x != nil { + return x.AxleNum } return 0 } -func (x *HSDRealTime) GetVehLength() int32 { +func (x *HSDRealTime) GetGrossLoad() int32 { if x != nil { - return x.VehLength + return x.GrossLoad } return 0 } -func (x *HSDRealTime) GetQat() float32 { - if x != nil && x.Qat != nil { - return *x.Qat +func (x *HSDRealTime) GetAxleWeight() []int32 { + if x != nil { + return x.AxleWeight } - return 0 + return nil } func (x *HSDRealTime) GetLicencePlate() string { @@ -2031,20 +1851,6 @@ func (x *HSDRealTime) GetLicencePlateColor() string { return "" } -func (x *HSDRealTime) GetPicId() int32 { - if x != nil && x.PicId != nil { - return *x.PicId - } - return 0 -} - -func (x *HSDRealTime) GetRoadTemperature() float32 { - if x != nil && x.RoadTemperature != nil { - return *x.RoadTemperature - } - return 0 -} - // 雨量指标 type PWSRealTime struct { state protoimpl.MessageState @@ -2058,7 +1864,7 @@ type PWSRealTime struct { func (x *PWSRealTime) Reset() { *x = PWSRealTime{} if protoimpl.UnsafeEnabled { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[17] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2071,7 +1877,7 @@ func (x *PWSRealTime) String() string { func (*PWSRealTime) ProtoMessage() {} func (x *PWSRealTime) ProtoReflect() protoreflect.Message { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[17] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2084,7 +1890,7 @@ func (x *PWSRealTime) ProtoReflect() protoreflect.Message { // Deprecated: Use PWSRealTime.ProtoReflect.Descriptor instead. func (*PWSRealTime) Descriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{17} + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{17} } func (x *PWSRealTime) GetRainfall() float32 { @@ -2094,7 +1900,7 @@ func (x *PWSRealTime) GetRainfall() float32 { return 0 } -// 结冰监测 +// 结冰指标 type FRZRealTime struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2102,14 +1908,14 @@ type FRZRealTime struct { // 结冰厚度 IceThickness float32 `protobuf:"fixed32,1,opt,name=iceThickness,proto3" json:"iceThickness,omitempty"` - // 如传感器有温度数据 + // 传感器温度数据 Temperature float32 `protobuf:"fixed32,2,opt,name=temperature,proto3" json:"temperature,omitempty"` } func (x *FRZRealTime) Reset() { *x = FRZRealTime{} if protoimpl.UnsafeEnabled { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[18] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2122,7 +1928,7 @@ func (x *FRZRealTime) String() string { func (*FRZRealTime) ProtoMessage() {} func (x *FRZRealTime) ProtoReflect() protoreflect.Message { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[18] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2135,7 +1941,7 @@ func (x *FRZRealTime) ProtoReflect() protoreflect.Message { // Deprecated: Use FRZRealTime.ProtoReflect.Descriptor instead. func (*FRZRealTime) Descriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{18} + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{18} } func (x *FRZRealTime) GetIceThickness() float32 { @@ -2152,7 +1958,7 @@ func (x *FRZRealTime) GetTemperature() float32 { return 0 } -// 路面状况监测 +// 路面状况指标 type LMZRealTime struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2160,14 +1966,14 @@ type LMZRealTime struct { // 路面状况 RoadCondition float32 `protobuf:"fixed32,1,opt,name=roadCondition,proto3" json:"roadCondition,omitempty"` - // 如传感器有温度数据 + // 传感器温度数据 Temperature float32 `protobuf:"fixed32,2,opt,name=temperature,proto3" json:"temperature,omitempty"` } func (x *LMZRealTime) Reset() { *x = LMZRealTime{} if protoimpl.UnsafeEnabled { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[19] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2180,7 +1986,7 @@ func (x *LMZRealTime) String() string { func (*LMZRealTime) ProtoMessage() {} func (x *LMZRealTime) ProtoReflect() protoreflect.Message { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[19] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2193,7 +1999,7 @@ func (x *LMZRealTime) ProtoReflect() protoreflect.Message { // Deprecated: Use LMZRealTime.ProtoReflect.Descriptor instead. func (*LMZRealTime) Descriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{19} + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{19} } func (x *LMZRealTime) GetRoadCondition() float32 { @@ -2210,35 +2016,35 @@ func (x *LMZRealTime) GetTemperature() float32 { return 0 } -// 直接法测索力监测 -type DICRealTime struct { +// 支反力指标 +type STFRealTime struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // 索力值 - CableForce float32 `protobuf:"fixed32,1,opt,name=cableForce,proto3" json:"cableForce,omitempty"` - // 如传感器有温度数据 + // 反力值 + SupportAction float32 `protobuf:"fixed32,1,opt,name=supportAction,proto3" json:"supportAction,omitempty"` + // 传感器温度数据 Temperature float32 `protobuf:"fixed32,2,opt,name=temperature,proto3" json:"temperature,omitempty"` } -func (x *DICRealTime) Reset() { - *x = DICRealTime{} +func (x *STFRealTime) Reset() { + *x = STFRealTime{} if protoimpl.UnsafeEnabled { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[20] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DICRealTime) String() string { +func (x *STFRealTime) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DICRealTime) ProtoMessage() {} +func (*STFRealTime) ProtoMessage() {} -func (x *DICRealTime) ProtoReflect() protoreflect.Message { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[20] +func (x *STFRealTime) ProtoReflect() protoreflect.Message { + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2249,85 +2055,27 @@ func (x *DICRealTime) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DICRealTime.ProtoReflect.Descriptor instead. -func (*DICRealTime) Descriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{20} +// Deprecated: Use STFRealTime.ProtoReflect.Descriptor instead. +func (*STFRealTime) Descriptor() ([]byte, []int) { + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{20} } -func (x *DICRealTime) GetCableForce() float32 { +func (x *STFRealTime) GetSupportAction() float32 { if x != nil { - return x.CableForce + return x.SupportAction } return 0 } -func (x *DICRealTime) GetTemperature() float32 { +func (x *STFRealTime) GetTemperature() float32 { if x != nil { return x.Temperature } return 0 } -// 支反力监测 -type STFRealTime struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // 反力值 - SupportAction float32 `protobuf:"fixed32,1,opt,name=supportAction,proto3" json:"supportAction,omitempty"` - // 如传感器有温度数据 - Temperature float32 `protobuf:"fixed32,2,opt,name=temperature,proto3" json:"temperature,omitempty"` -} - -func (x *STFRealTime) Reset() { - *x = STFRealTime{} - if protoimpl.UnsafeEnabled { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[21] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *STFRealTime) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*STFRealTime) ProtoMessage() {} - -func (x *STFRealTime) ProtoReflect() protoreflect.Message { - mi := &file_MonitorDataProtocol_V1_3_1_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 STFRealTime.ProtoReflect.Descriptor instead. -func (*STFRealTime) Descriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{21} -} - -func (x *STFRealTime) GetSupportAction() float32 { - if x != nil { - return x.SupportAction - } - return 0 -} - -func (x *STFRealTime) GetTemperature() float32 { - if x != nil { - return x.Temperature - } - return 0 -} - -// 基础冲刷监测 -type SCORealTime struct { +// 基础冲刷指标 +type SCORealTime struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -2339,7 +2087,7 @@ type SCORealTime struct { func (x *SCORealTime) Reset() { *x = SCORealTime{} if protoimpl.UnsafeEnabled { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[22] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2352,7 +2100,7 @@ func (x *SCORealTime) String() string { func (*SCORealTime) ProtoMessage() {} func (x *SCORealTime) ProtoReflect() protoreflect.Message { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[22] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2365,7 +2113,7 @@ func (x *SCORealTime) ProtoReflect() protoreflect.Message { // Deprecated: Use SCORealTime.ProtoReflect.Descriptor instead. func (*SCORealTime) Descriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{22} + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{21} } func (x *SCORealTime) GetDepth() float32 { @@ -2375,7 +2123,7 @@ func (x *SCORealTime) GetDepth() float32 { return 0 } -// 腐蚀监测 +// 腐蚀指标 type CORRealTime struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2390,7 +2138,7 @@ type CORRealTime struct { func (x *CORRealTime) Reset() { *x = CORRealTime{} if protoimpl.UnsafeEnabled { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[23] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2403,7 +2151,7 @@ func (x *CORRealTime) String() string { func (*CORRealTime) ProtoMessage() {} func (x *CORRealTime) ProtoReflect() protoreflect.Message { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[23] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2416,7 +2164,7 @@ func (x *CORRealTime) ProtoReflect() protoreflect.Message { // Deprecated: Use CORRealTime.ProtoReflect.Descriptor instead. func (*CORRealTime) Descriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{23} + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{22} } func (x *CORRealTime) GetChlorideConcentration() float32 { @@ -2433,56 +2181,7 @@ func (x *CORRealTime) GetCorrosionDepth() float32 { return 0 } -// 振动法预应力监测 -type VISRealTime struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // 预应力 - MonitorValues []float32 `protobuf:"fixed32,1,rep,packed,name=monitorValues,proto3" json:"monitorValues,omitempty"` -} - -func (x *VISRealTime) Reset() { - *x = VISRealTime{} - if protoimpl.UnsafeEnabled { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[24] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *VISRealTime) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*VISRealTime) ProtoMessage() {} - -func (x *VISRealTime) ProtoReflect() protoreflect.Message { - mi := &file_MonitorDataProtocol_V1_3_1_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 VISRealTime.ProtoReflect.Descriptor instead. -func (*VISRealTime) Descriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{24} -} - -func (x *VISRealTime) GetMonitorValues() []float32 { - if x != nil { - return x.MonitorValues - } - return nil -} - -// 预应力监测 +// 预应力指标 type STRRealTime struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2490,14 +2189,14 @@ type STRRealTime struct { // 预应力值 Stress float32 `protobuf:"fixed32,1,opt,name=stress,proto3" json:"stress,omitempty"` - // 如传感器有温度数据 + // 传感器温度数据 Temperature *float32 `protobuf:"fixed32,2,opt,name=temperature,proto3,oneof" json:"temperature,omitempty"` } func (x *STRRealTime) Reset() { *x = STRRealTime{} if protoimpl.UnsafeEnabled { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[25] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2510,7 +2209,7 @@ func (x *STRRealTime) String() string { func (*STRRealTime) ProtoMessage() {} func (x *STRRealTime) ProtoReflect() protoreflect.Message { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[25] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2523,7 +2222,7 @@ func (x *STRRealTime) ProtoReflect() protoreflect.Message { // Deprecated: Use STRRealTime.ProtoReflect.Descriptor instead. func (*STRRealTime) Descriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{25} + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{23} } func (x *STRRealTime) GetStress() float32 { @@ -2540,7 +2239,7 @@ func (x *STRRealTime) GetTemperature() float32 { return 0 } -// 断丝监测 +// 断丝指标 type BRKRealTime struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2553,7 +2252,7 @@ type BRKRealTime struct { func (x *BRKRealTime) Reset() { *x = BRKRealTime{} if protoimpl.UnsafeEnabled { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[26] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2566,7 +2265,7 @@ func (x *BRKRealTime) String() string { func (*BRKRealTime) ProtoMessage() {} func (x *BRKRealTime) ProtoReflect() protoreflect.Message { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[26] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2579,7 +2278,7 @@ func (x *BRKRealTime) ProtoReflect() protoreflect.Message { // Deprecated: Use BRKRealTime.ProtoReflect.Descriptor instead. func (*BRKRealTime) Descriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{26} + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{24} } func (x *BRKRealTime) GetState() bool { @@ -2589,7 +2288,7 @@ func (x *BRKRealTime) GetState() bool { return false } -// 螺栓紧固力监测 +// 螺栓紧固力指标 type BTFRealTime struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2597,14 +2296,14 @@ type BTFRealTime struct { // 力值 BoltTightForce float32 `protobuf:"fixed32,1,opt,name=boltTightForce,proto3" json:"boltTightForce,omitempty"` - // 如传感器有温度数据 + // 传感器温度数据 Temperature *float32 `protobuf:"fixed32,2,opt,name=temperature,proto3,oneof" json:"temperature,omitempty"` } func (x *BTFRealTime) Reset() { *x = BTFRealTime{} if protoimpl.UnsafeEnabled { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[27] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2617,7 +2316,7 @@ func (x *BTFRealTime) String() string { func (*BTFRealTime) ProtoMessage() {} func (x *BTFRealTime) ProtoReflect() protoreflect.Message { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[27] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2630,7 +2329,7 @@ func (x *BTFRealTime) ProtoReflect() protoreflect.Message { // Deprecated: Use BTFRealTime.ProtoReflect.Descriptor instead. func (*BTFRealTime) Descriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{27} + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{25} } func (x *BTFRealTime) GetBoltTightForce() float32 { @@ -2647,7 +2346,7 @@ func (x *BTFRealTime) GetTemperature() float32 { return 0 } -// 索夹滑移监测 +// 滑移指标 type CSPRealTime struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2655,14 +2354,14 @@ type CSPRealTime struct { // 位移值 Displacement float32 `protobuf:"fixed32,1,opt,name=displacement,proto3" json:"displacement,omitempty"` - // 如传感器有温度数据 + // 传感器温度数据 Temperature *float32 `protobuf:"fixed32,2,opt,name=temperature,proto3,oneof" json:"temperature,omitempty"` } func (x *CSPRealTime) Reset() { *x = CSPRealTime{} if protoimpl.UnsafeEnabled { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[28] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2675,7 +2374,7 @@ func (x *CSPRealTime) String() string { func (*CSPRealTime) ProtoMessage() {} func (x *CSPRealTime) ProtoReflect() protoreflect.Message { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[28] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2688,7 +2387,7 @@ func (x *CSPRealTime) ProtoReflect() protoreflect.Message { // Deprecated: Use CSPRealTime.ProtoReflect.Descriptor instead. func (*CSPRealTime) Descriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{28} + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{26} } func (x *CSPRealTime) GetDisplacement() float32 { @@ -2705,7 +2404,7 @@ func (x *CSPRealTime) GetTemperature() float32 { return 0 } -// 能见度 +// 能见度指标 type VSBRealTime struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2718,7 +2417,7 @@ type VSBRealTime struct { func (x *VSBRealTime) Reset() { *x = VSBRealTime{} if protoimpl.UnsafeEnabled { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[29] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2731,7 +2430,7 @@ func (x *VSBRealTime) String() string { func (*VSBRealTime) ProtoMessage() {} func (x *VSBRealTime) ProtoReflect() protoreflect.Message { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[29] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2744,7 +2443,7 @@ func (x *VSBRealTime) ProtoReflect() protoreflect.Message { // Deprecated: Use VSBRealTime.ProtoReflect.Descriptor instead. func (*VSBRealTime) Descriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{29} + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{27} } func (x *VSBRealTime) GetValue() float32 { @@ -2754,7 +2453,7 @@ func (x *VSBRealTime) GetValue() float32 { return 0 } -// 大气浓度 +// 大气浓度指标 type ACNRealTime struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2767,7 +2466,7 @@ type ACNRealTime struct { func (x *ACNRealTime) Reset() { *x = ACNRealTime{} if protoimpl.UnsafeEnabled { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[30] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2780,7 +2479,7 @@ func (x *ACNRealTime) String() string { func (*ACNRealTime) ProtoMessage() {} func (x *ACNRealTime) ProtoReflect() protoreflect.Message { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[30] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2793,7 +2492,7 @@ func (x *ACNRealTime) ProtoReflect() protoreflect.Message { // Deprecated: Use ACNRealTime.ProtoReflect.Descriptor instead. func (*ACNRealTime) Descriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{30} + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{28} } func (x *ACNRealTime) GetValue() float32 { @@ -2803,7 +2502,7 @@ func (x *ACNRealTime) GetValue() float32 { return 0 } -// 水位 +// 水位指标 type WLVRealTime struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2816,7 +2515,7 @@ type WLVRealTime struct { func (x *WLVRealTime) Reset() { *x = WLVRealTime{} if protoimpl.UnsafeEnabled { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[31] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2829,7 +2528,7 @@ func (x *WLVRealTime) String() string { func (*WLVRealTime) ProtoMessage() {} func (x *WLVRealTime) ProtoReflect() protoreflect.Message { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[31] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2842,7 +2541,7 @@ func (x *WLVRealTime) ProtoReflect() protoreflect.Message { // Deprecated: Use WLVRealTime.ProtoReflect.Descriptor instead. func (*WLVRealTime) Descriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{31} + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{29} } func (x *WLVRealTime) GetValue() float32 { @@ -2852,64 +2551,37 @@ func (x *WLVRealTime) GetValue() float32 { return 0 } -// 特征值 -type StatisticData struct { +// 表面变形监测 +type PLDRealTime struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // 监测类型 - MonitorType MonitoryType `protobuf:"varint,1,opt,name=monitorType,proto3,enum=protoFiles_zjhl.MonitoryType" json:"monitorType,omitempty"` - // 测点编码的别名 - MonitorCode int64 `protobuf:"varint,2,opt,name=monitorCode,proto3" json:"monitorCode,omitempty"` - // 记录时间戳 - EventTime int64 `protobuf:"varint,3,opt,name=eventTime,proto3" json:"eventTime,omitempty"` - // 采样周期 - Interval int32 `protobuf:"varint,100,opt,name=interval,proto3" json:"interval,omitempty"` - // Types that are assignable to DataBody: - // - // *StatisticData_Uan - // *StatisticData_Rhs - // *StatisticData_Tmp - // *StatisticData_Gnss - // *StatisticData_Vic - // *StatisticData_Dis - // *StatisticData_Hpt - // *StatisticData_Rsg - // *StatisticData_Inc - // *StatisticData_Vie - // *StatisticData_Tmd - // *StatisticData_Vib - // *StatisticData_Hsd - // *StatisticData_And - // *StatisticData_Crk - // *StatisticData_Frz - // *StatisticData_Pws - // *StatisticData_Vsb - // *StatisticData_Acn - // *StatisticData_Wlv - // *StatisticData_Btf - // *StatisticData_Csp - DataBody isStatisticData_DataBody `protobuf_oneof:"dataBody"` + // X方向 + X float32 `protobuf:"fixed32,1,opt,name=x,proto3" json:"x,omitempty"` + // Y方向 + Y float32 `protobuf:"fixed32,2,opt,name=y,proto3" json:"y,omitempty"` + // Z方向 + Z float32 `protobuf:"fixed32,3,opt,name=z,proto3" json:"z,omitempty"` } -func (x *StatisticData) Reset() { - *x = StatisticData{} +func (x *PLDRealTime) Reset() { + *x = PLDRealTime{} if protoimpl.UnsafeEnabled { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[32] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *StatisticData) String() string { +func (x *PLDRealTime) String() string { return protoimpl.X.MessageStringOf(x) } -func (*StatisticData) ProtoMessage() {} +func (*PLDRealTime) ProtoMessage() {} -func (x *StatisticData) ProtoReflect() protoreflect.Message { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[32] +func (x *PLDRealTime) ProtoReflect() protoreflect.Message { + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2920,133 +2592,399 @@ func (x *StatisticData) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use StatisticData.ProtoReflect.Descriptor instead. -func (*StatisticData) Descriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{32} +// Deprecated: Use PLDRealTime.ProtoReflect.Descriptor instead. +func (*PLDRealTime) Descriptor() ([]byte, []int) { + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{30} } -func (x *StatisticData) GetMonitorType() MonitoryType { +func (x *PLDRealTime) GetX() float32 { if x != nil { - return x.MonitorType + return x.X } - return MonitoryType_UAN + return 0 } -func (x *StatisticData) GetMonitorCode() int64 { +func (x *PLDRealTime) GetY() float32 { if x != nil { - return x.MonitorCode + return x.Y } return 0 } -func (x *StatisticData) GetEventTime() int64 { +func (x *PLDRealTime) GetZ() float32 { if x != nil { - return x.EventTime + return x.Z } return 0 } -func (x *StatisticData) GetInterval() int32 { - if x != nil { - return x.Interval - } - return 0 +// 风压监测 +type WDPRealTime struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 风压 + Value float32 `protobuf:"fixed32,1,opt,name=value,proto3" json:"value,omitempty"` } -func (m *StatisticData) GetDataBody() isStatisticData_DataBody { - if m != nil { - return m.DataBody +func (x *WDPRealTime) Reset() { + *x = WDPRealTime{} + if protoimpl.UnsafeEnabled { + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (x *StatisticData) GetUan() *UANStatistic { - if x, ok := x.GetDataBody().(*StatisticData_Uan); ok { - return x.Uan - } - return nil +func (x *WDPRealTime) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *StatisticData) GetRhs() *RHSStatistic { - if x, ok := x.GetDataBody().(*StatisticData_Rhs); ok { - return x.Rhs +func (*WDPRealTime) ProtoMessage() {} + +func (x *WDPRealTime) ProtoReflect() protoreflect.Message { + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[31] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *StatisticData) GetTmp() *TMPStatistic { - if x, ok := x.GetDataBody().(*StatisticData_Tmp); ok { - return x.Tmp - } - return nil +// Deprecated: Use WDPRealTime.ProtoReflect.Descriptor instead. +func (*WDPRealTime) Descriptor() ([]byte, []int) { + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{31} } -func (x *StatisticData) GetGnss() *GNSSStatistic { - if x, ok := x.GetDataBody().(*StatisticData_Gnss); ok { - return x.Gnss +func (x *WDPRealTime) GetValue() float32 { + if x != nil { + return x.Value } - return nil + return 0 } -func (x *StatisticData) GetVic() *VICStatistic { - if x, ok := x.GetDataBody().(*StatisticData_Vic); ok { - return x.Vic - } - return nil +// 位移(锚碇位移、拱脚位移、桥墩沉降) +type ANDRealTime struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 横桥向位移值 + X float32 `protobuf:"fixed32,1,opt,name=x,proto3" json:"x,omitempty"` + // 纵桥向位移值 + Y float32 `protobuf:"fixed32,2,opt,name=y,proto3" json:"y,omitempty"` + // 竖向位移值 + Z float32 `protobuf:"fixed32,3,opt,name=z,proto3" json:"z,omitempty"` } -func (x *StatisticData) GetDis() *DISStatistic { - if x, ok := x.GetDataBody().(*StatisticData_Dis); ok { - return x.Dis +func (x *ANDRealTime) Reset() { + *x = ANDRealTime{} + if protoimpl.UnsafeEnabled { + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (x *StatisticData) GetHpt() *HPTStatistic { - if x, ok := x.GetDataBody().(*StatisticData_Hpt); ok { - return x.Hpt - } - return nil +func (x *ANDRealTime) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *StatisticData) GetRsg() *RSGStatistic { - if x, ok := x.GetDataBody().(*StatisticData_Rsg); ok { - return x.Rsg +func (*ANDRealTime) ProtoMessage() {} + +func (x *ANDRealTime) ProtoReflect() protoreflect.Message { + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[32] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *StatisticData) GetInc() *INCStatistic { - if x, ok := x.GetDataBody().(*StatisticData_Inc); ok { - return x.Inc - } - return nil +// Deprecated: Use ANDRealTime.ProtoReflect.Descriptor instead. +func (*ANDRealTime) Descriptor() ([]byte, []int) { + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{32} } -func (x *StatisticData) GetVie() *VIEStatistic { - if x, ok := x.GetDataBody().(*StatisticData_Vie); ok { - return x.Vie +func (x *ANDRealTime) GetX() float32 { + if x != nil { + return x.X } - return nil + return 0 } -func (x *StatisticData) GetTmd() *TMDStatistic { - if x, ok := x.GetDataBody().(*StatisticData_Tmd); ok { - return x.Tmd +func (x *ANDRealTime) GetY() float32 { + if x != nil { + return x.Y } - return nil + return 0 } -func (x *StatisticData) GetVib() *VIBStatistic { - if x, ok := x.GetDataBody().(*StatisticData_Vib); ok { - return x.Vib +func (x *ANDRealTime) GetZ() float32 { + if x != nil { + return x.Z } - return nil + return 0 } -func (x *StatisticData) GetHsd() *HSDStatistic { - if x, ok := x.GetDataBody().(*StatisticData_Hsd); ok { - return x.Hsd +// 船舶撞击 +type VIDRealTime struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 多通道监测值 + MonitorValues []float32 `protobuf:"fixed32,1,rep,packed,name=monitorValues,proto3" json:"monitorValues,omitempty"` +} + +func (x *VIDRealTime) Reset() { + *x = VIDRealTime{} + if protoimpl.UnsafeEnabled { + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VIDRealTime) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VIDRealTime) ProtoMessage() {} + +func (x *VIDRealTime) ProtoReflect() protoreflect.Message { + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[33] + 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 VIDRealTime.ProtoReflect.Descriptor instead. +func (*VIDRealTime) Descriptor() ([]byte, []int) { + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{33} +} + +func (x *VIDRealTime) GetMonitorValues() []float32 { + if x != nil { + return x.MonitorValues + } + return nil +} + +// 特征值 +type StatisticData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 监测类型 + MonitorType MonitoryType `protobuf:"varint,1,opt,name=monitorType,proto3,enum=protoFiles_zjhl_v3.MonitoryType" json:"monitorType,omitempty"` + // 测点编码唯一编码 2位省份编码+4位桥梁序号+5位桥梁测点序号 测点必须先注册后才可以发送 + MonitorCode int64 `protobuf:"varint,2,opt,name=monitorCode,proto3" json:"monitorCode,omitempty"` + // 记录时间戳 + EventTime int64 `protobuf:"varint,3,opt,name=eventTime,proto3" json:"eventTime,omitempty"` + // 采样周期 + Interval int32 `protobuf:"varint,100,opt,name=interval,proto3" json:"interval,omitempty"` + // Types that are assignable to DataBody: + // + // *StatisticData_Uan + // *StatisticData_Rhs + // *StatisticData_Tmp + // *StatisticData_Gnss + // *StatisticData_Vic + // *StatisticData_Dis + // *StatisticData_Hpt + // *StatisticData_Rsg + // *StatisticData_Inc + // *StatisticData_Vie + // *StatisticData_Tmd + // *StatisticData_Vib + // *StatisticData_Hsd + // *StatisticData_And + // *StatisticData_Crk + // *StatisticData_Frz + // *StatisticData_Pws + // *StatisticData_Vsb + // *StatisticData_Acn + // *StatisticData_Wlv + // *StatisticData_Btf + // *StatisticData_Csp + // *StatisticData_Pld + // *StatisticData_Vid + // *StatisticData_Wdp + // *StatisticData_Stf + // *StatisticData_Sco + // *StatisticData_Cor + // *StatisticData_Str + DataBody isStatisticData_DataBody `protobuf_oneof:"dataBody"` +} + +func (x *StatisticData) Reset() { + *x = StatisticData{} + if protoimpl.UnsafeEnabled { + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StatisticData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StatisticData) ProtoMessage() {} + +func (x *StatisticData) ProtoReflect() protoreflect.Message { + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[34] + 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 StatisticData.ProtoReflect.Descriptor instead. +func (*StatisticData) Descriptor() ([]byte, []int) { + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{34} +} + +func (x *StatisticData) GetMonitorType() MonitoryType { + if x != nil { + return x.MonitorType + } + return MonitoryType_UAN +} + +func (x *StatisticData) GetMonitorCode() int64 { + if x != nil { + return x.MonitorCode + } + return 0 +} + +func (x *StatisticData) GetEventTime() int64 { + if x != nil { + return x.EventTime + } + return 0 +} + +func (x *StatisticData) GetInterval() int32 { + if x != nil { + return x.Interval + } + return 0 +} + +func (m *StatisticData) GetDataBody() isStatisticData_DataBody { + if m != nil { + return m.DataBody + } + return nil +} + +func (x *StatisticData) GetUan() *UANStatistic { + if x, ok := x.GetDataBody().(*StatisticData_Uan); ok { + return x.Uan + } + return nil +} + +func (x *StatisticData) GetRhs() *RHSStatistic { + if x, ok := x.GetDataBody().(*StatisticData_Rhs); ok { + return x.Rhs + } + return nil +} + +func (x *StatisticData) GetTmp() *TMPStatistic { + if x, ok := x.GetDataBody().(*StatisticData_Tmp); ok { + return x.Tmp + } + return nil +} + +func (x *StatisticData) GetGnss() *GNSSStatistic { + if x, ok := x.GetDataBody().(*StatisticData_Gnss); ok { + return x.Gnss + } + return nil +} + +func (x *StatisticData) GetVic() *VICStatistic { + if x, ok := x.GetDataBody().(*StatisticData_Vic); ok { + return x.Vic + } + return nil +} + +func (x *StatisticData) GetDis() *DISStatistic { + if x, ok := x.GetDataBody().(*StatisticData_Dis); ok { + return x.Dis + } + return nil +} + +func (x *StatisticData) GetHpt() *HPTStatistic { + if x, ok := x.GetDataBody().(*StatisticData_Hpt); ok { + return x.Hpt + } + return nil +} + +func (x *StatisticData) GetRsg() *RSGStatistic { + if x, ok := x.GetDataBody().(*StatisticData_Rsg); ok { + return x.Rsg + } + return nil +} + +func (x *StatisticData) GetInc() *INCStatistic { + if x, ok := x.GetDataBody().(*StatisticData_Inc); ok { + return x.Inc + } + return nil +} + +func (x *StatisticData) GetVie() *VIEStatistic { + if x, ok := x.GetDataBody().(*StatisticData_Vie); ok { + return x.Vie + } + return nil +} + +func (x *StatisticData) GetTmd() *TMDStatistic { + if x, ok := x.GetDataBody().(*StatisticData_Tmd); ok { + return x.Tmd + } + return nil +} + +func (x *StatisticData) GetVib() *VIBStatistic { + if x, ok := x.GetDataBody().(*StatisticData_Vib); ok { + return x.Vib + } + return nil +} + +func (x *StatisticData) GetHsd() *HSDStatistic { + if x, ok := x.GetDataBody().(*StatisticData_Hsd); ok { + return x.Hsd } return nil } @@ -3114,37 +3052,86 @@ func (x *StatisticData) GetCsp() *CSPStatistic { return nil } -type isStatisticData_DataBody interface { - isStatisticData_DataBody() +func (x *StatisticData) GetPld() *PLDStatistic { + if x, ok := x.GetDataBody().(*StatisticData_Pld); ok { + return x.Pld + } + return nil } -type StatisticData_Uan struct { - // 风速风向 - Uan *UANStatistic `protobuf:"bytes,4,opt,name=uan,proto3,oneof"` +func (x *StatisticData) GetVid() *VIDStatistic { + if x, ok := x.GetDataBody().(*StatisticData_Vid); ok { + return x.Vid + } + return nil } -type StatisticData_Rhs struct { - // 温湿度 - Rhs *RHSStatistic `protobuf:"bytes,5,opt,name=rhs,proto3,oneof"` +func (x *StatisticData) GetWdp() *WDPStatistic { + if x, ok := x.GetDataBody().(*StatisticData_Wdp); ok { + return x.Wdp + } + return nil } -type StatisticData_Tmp struct { - // 结构温度 - Tmp *TMPStatistic `protobuf:"bytes,6,opt,name=tmp,proto3,oneof"` +func (x *StatisticData) GetStf() *STFStatistic { + if x, ok := x.GetDataBody().(*StatisticData_Stf); ok { + return x.Stf + } + return nil } -type StatisticData_Gnss struct { - // 空间变形 - Gnss *GNSSStatistic `protobuf:"bytes,7,opt,name=gnss,proto3,oneof"` +func (x *StatisticData) GetSco() *SCOStatistic { + if x, ok := x.GetDataBody().(*StatisticData_Sco); ok { + return x.Sco + } + return nil } -type StatisticData_Vic struct { - // 索力 - Vic *VICStatistic `protobuf:"bytes,8,opt,name=vic,proto3,oneof"` -} +func (x *StatisticData) GetCor() *CORStatistic { + if x, ok := x.GetDataBody().(*StatisticData_Cor); ok { + return x.Cor + } + return nil +} + +func (x *StatisticData) GetStr() *STRStatistic { + if x, ok := x.GetDataBody().(*StatisticData_Str); ok { + return x.Str + } + return nil +} + +type isStatisticData_DataBody interface { + isStatisticData_DataBody() +} + +type StatisticData_Uan struct { + // 风速风向 + Uan *UANStatistic `protobuf:"bytes,4,opt,name=uan,proto3,oneof"` +} + +type StatisticData_Rhs struct { + // 温湿度 + Rhs *RHSStatistic `protobuf:"bytes,5,opt,name=rhs,proto3,oneof"` +} + +type StatisticData_Tmp struct { + // 结构温度 + Tmp *TMPStatistic `protobuf:"bytes,6,opt,name=tmp,proto3,oneof"` +} + +type StatisticData_Gnss struct { + // 空间变形 + Gnss *GNSSStatistic `protobuf:"bytes,7,opt,name=gnss,proto3,oneof"` +} + +type StatisticData_Vic struct { + // 索力 + Vic *VICStatistic `protobuf:"bytes,8,opt,name=vic,proto3,oneof"` +} type StatisticData_Dis struct { - // 位移 (支座位移、梁端纵向位移) + // 位移(支座位移、梁端纵向位移、高墩墩顶位移、拱顶位移、主梁横向位移) Dis *DISStatistic `protobuf:"bytes,9,opt,name=dis,proto3,oneof"` } @@ -3164,7 +3151,7 @@ type StatisticData_Inc struct { } type StatisticData_Vie struct { - // 地震船撞 + // 地震 Vie *VIEStatistic `protobuf:"bytes,13,opt,name=vie,proto3,oneof"` } @@ -3179,7 +3166,7 @@ type StatisticData_Vib struct { } type StatisticData_Hsd struct { - // 动态称重 + // 车辆荷载 Hsd *HSDStatistic `protobuf:"bytes,16,opt,name=hsd,proto3,oneof"` } @@ -3224,10 +3211,45 @@ type StatisticData_Btf struct { } type StatisticData_Csp struct { - // 索夹滑移 + // 滑移 Csp *CSPStatistic `protobuf:"bytes,25,opt,name=csp,proto3,oneof"` } +type StatisticData_Pld struct { + // 表面变形 + Pld *PLDStatistic `protobuf:"bytes,26,opt,name=pld,proto3,oneof"` +} + +type StatisticData_Vid struct { + // 船舶撞击 + Vid *VIDStatistic `protobuf:"bytes,27,opt,name=vid,proto3,oneof"` +} + +type StatisticData_Wdp struct { + // 风压 + Wdp *WDPStatistic `protobuf:"bytes,28,opt,name=wdp,proto3,oneof"` +} + +type StatisticData_Stf struct { + // 支反力 + Stf *STFStatistic `protobuf:"bytes,29,opt,name=stf,proto3,oneof"` +} + +type StatisticData_Sco struct { + // 基础冲刷 + Sco *SCOStatistic `protobuf:"bytes,30,opt,name=sco,proto3,oneof"` +} + +type StatisticData_Cor struct { + // 腐蚀 + Cor *CORStatistic `protobuf:"bytes,31,opt,name=cor,proto3,oneof"` +} + +type StatisticData_Str struct { + // 直接法预应力 + Str *STRStatistic `protobuf:"bytes,32,opt,name=str,proto3,oneof"` +} + func (*StatisticData_Uan) isStatisticData_DataBody() {} func (*StatisticData_Rhs) isStatisticData_DataBody() {} @@ -3272,6 +3294,20 @@ func (*StatisticData_Btf) isStatisticData_DataBody() {} func (*StatisticData_Csp) isStatisticData_DataBody() {} +func (*StatisticData_Pld) isStatisticData_DataBody() {} + +func (*StatisticData_Vid) isStatisticData_DataBody() {} + +func (*StatisticData_Wdp) isStatisticData_DataBody() {} + +func (*StatisticData_Stf) isStatisticData_DataBody() {} + +func (*StatisticData_Sco) isStatisticData_DataBody() {} + +func (*StatisticData_Cor) isStatisticData_DataBody() {} + +func (*StatisticData_Str) isStatisticData_DataBody() {} + // 风速风向监测特征值 周期 10min type UANStatistic struct { state protoimpl.MessageState @@ -3286,100 +3322,522 @@ type UANStatistic struct { AvgAttackAngle *float32 `protobuf:"fixed32,3,opt,name=avgAttackAngle,proto3,oneof" json:"avgAttackAngle,omitempty"` } -func (x *UANStatistic) Reset() { - *x = UANStatistic{} - if protoimpl.UnsafeEnabled { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[33] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *UANStatistic) Reset() { + *x = UANStatistic{} + if protoimpl.UnsafeEnabled { + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UANStatistic) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UANStatistic) ProtoMessage() {} + +func (x *UANStatistic) ProtoReflect() protoreflect.Message { + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[35] + 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 UANStatistic.ProtoReflect.Descriptor instead. +func (*UANStatistic) Descriptor() ([]byte, []int) { + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{35} +} + +func (x *UANStatistic) GetAvgVelocity() float32 { + if x != nil { + return x.AvgVelocity + } + return 0 +} + +func (x *UANStatistic) GetAvgDirection() float32 { + if x != nil { + return x.AvgDirection + } + return 0 +} + +func (x *UANStatistic) GetAvgAttackAngle() float32 { + if x != nil && x.AvgAttackAngle != nil { + return *x.AvgAttackAngle + } + return 0 +} + +// 温湿度监测特征值 周期 1h +type RHSStatistic struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 统计时间范围内的温度最大值 + MaxTemperature float32 `protobuf:"fixed32,1,opt,name=maxTemperature,proto3" json:"maxTemperature,omitempty"` + // 统计时间范围内的温度最小值 + MinTemperature float32 `protobuf:"fixed32,2,opt,name=minTemperature,proto3" json:"minTemperature,omitempty"` + // 统计时间范围内的温度平均值 + AvgTemperature float32 `protobuf:"fixed32,3,opt,name=avgTemperature,proto3" json:"avgTemperature,omitempty"` + // 统计时间范围内的温差值 + MaxTemperatureDifference float32 `protobuf:"fixed32,4,opt,name=maxTemperatureDifference,proto3" json:"maxTemperatureDifference,omitempty"` + // 统计时间范围内的湿度最大值 + MaxHumidity float32 `protobuf:"fixed32,5,opt,name=maxHumidity,proto3" json:"maxHumidity,omitempty"` + // 统计时间范围内的湿度最小值 + MinHumidity float32 `protobuf:"fixed32,6,opt,name=minHumidity,proto3" json:"minHumidity,omitempty"` + // 统计时间范围内的湿度平均值 + AvgHumidity float32 `protobuf:"fixed32,7,opt,name=avgHumidity,proto3" json:"avgHumidity,omitempty"` + // 湿度超限持续时间,分钟 + HumidityExceedDuration int32 `protobuf:"varint,8,opt,name=humidityExceedDuration,proto3" json:"humidityExceedDuration,omitempty"` +} + +func (x *RHSStatistic) Reset() { + *x = RHSStatistic{} + if protoimpl.UnsafeEnabled { + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RHSStatistic) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RHSStatistic) ProtoMessage() {} + +func (x *RHSStatistic) ProtoReflect() protoreflect.Message { + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[36] + 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 RHSStatistic.ProtoReflect.Descriptor instead. +func (*RHSStatistic) Descriptor() ([]byte, []int) { + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{36} +} + +func (x *RHSStatistic) GetMaxTemperature() float32 { + if x != nil { + return x.MaxTemperature + } + return 0 +} + +func (x *RHSStatistic) GetMinTemperature() float32 { + if x != nil { + return x.MinTemperature + } + return 0 +} + +func (x *RHSStatistic) GetAvgTemperature() float32 { + if x != nil { + return x.AvgTemperature + } + return 0 +} + +func (x *RHSStatistic) GetMaxTemperatureDifference() float32 { + if x != nil { + return x.MaxTemperatureDifference + } + return 0 +} + +func (x *RHSStatistic) GetMaxHumidity() float32 { + if x != nil { + return x.MaxHumidity + } + return 0 +} + +func (x *RHSStatistic) GetMinHumidity() float32 { + if x != nil { + return x.MinHumidity + } + return 0 +} + +func (x *RHSStatistic) GetAvgHumidity() float32 { + if x != nil { + return x.AvgHumidity + } + return 0 +} + +func (x *RHSStatistic) GetHumidityExceedDuration() int32 { + if x != nil { + return x.HumidityExceedDuration + } + return 0 +} + +// 温度监测特征值 周期 1h +type TMPStatistic struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 统计时间范围内的温度最大值 + MaxTemperature float32 `protobuf:"fixed32,1,opt,name=maxTemperature,proto3" json:"maxTemperature,omitempty"` + // 统计时间范围内的温度最小值 + MinTemperature float32 `protobuf:"fixed32,2,opt,name=minTemperature,proto3" json:"minTemperature,omitempty"` + // 统计时间范围内的温度平均值 + AvgTemperature float32 `protobuf:"fixed32,3,opt,name=avgTemperature,proto3" json:"avgTemperature,omitempty"` + // 统计时间范围内的温差值 + MaxDifference float32 `protobuf:"fixed32,4,opt,name=maxDifference,proto3" json:"maxDifference,omitempty"` +} + +func (x *TMPStatistic) Reset() { + *x = TMPStatistic{} + if protoimpl.UnsafeEnabled { + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TMPStatistic) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TMPStatistic) ProtoMessage() {} + +func (x *TMPStatistic) ProtoReflect() protoreflect.Message { + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[37] + 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 TMPStatistic.ProtoReflect.Descriptor instead. +func (*TMPStatistic) Descriptor() ([]byte, []int) { + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{37} +} + +func (x *TMPStatistic) GetMaxTemperature() float32 { + if x != nil { + return x.MaxTemperature + } + return 0 +} + +func (x *TMPStatistic) GetMinTemperature() float32 { + if x != nil { + return x.MinTemperature + } + return 0 +} + +func (x *TMPStatistic) GetAvgTemperature() float32 { + if x != nil { + return x.AvgTemperature + } + return 0 +} + +func (x *TMPStatistic) GetMaxDifference() float32 { + if x != nil { + return x.MaxDifference + } + return 0 +} + +// 结构空间变形监测特征值 周期: 1h +type GNSSStatistic struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 统计时间范围内的空间变形X绝对最大值 + MaxAbsoluteValueX float32 `protobuf:"fixed32,1,opt,name=maxAbsoluteValueX,proto3" json:"maxAbsoluteValueX,omitempty"` + // 统计时间范围内的空间变形X平均值 + AvgValueX float32 `protobuf:"fixed32,2,opt,name=avgValueX,proto3" json:"avgValueX,omitempty"` + // 统计时间范围内的空间变形X均方根 + RootMeanSquareX float32 `protobuf:"fixed32,3,opt,name=rootMeanSquareX,proto3" json:"rootMeanSquareX,omitempty"` + // 统计时间范围内的空间变形Y绝对最大值 + MaxAbsoluteValueY float32 `protobuf:"fixed32,4,opt,name=maxAbsoluteValueY,proto3" json:"maxAbsoluteValueY,omitempty"` + // 统计时间范围内的空间变形Y平均值 + AvgValueY float32 `protobuf:"fixed32,5,opt,name=avgValueY,proto3" json:"avgValueY,omitempty"` + // 统计时间范围内的空间变形Y均方根 + RootMeanSquareY float32 `protobuf:"fixed32,6,opt,name=rootMeanSquareY,proto3" json:"rootMeanSquareY,omitempty"` + // 统计时间范围内的空间变形Z绝对最大值 + MaxAbsoluteValueZ float32 `protobuf:"fixed32,7,opt,name=maxAbsoluteValueZ,proto3" json:"maxAbsoluteValueZ,omitempty"` + // 统计时间范围内的空间变形Z平均值 + AvgValueZ float32 `protobuf:"fixed32,8,opt,name=avgValueZ,proto3" json:"avgValueZ,omitempty"` + // 统计时间范围内的空间变形Z均方根 + RootMeanSquareZ float32 `protobuf:"fixed32,9,opt,name=rootMeanSquareZ,proto3" json:"rootMeanSquareZ,omitempty"` +} + +func (x *GNSSStatistic) Reset() { + *x = GNSSStatistic{} + if protoimpl.UnsafeEnabled { + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GNSSStatistic) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GNSSStatistic) ProtoMessage() {} + +func (x *GNSSStatistic) ProtoReflect() protoreflect.Message { + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[38] + 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 GNSSStatistic.ProtoReflect.Descriptor instead. +func (*GNSSStatistic) Descriptor() ([]byte, []int) { + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{38} +} + +func (x *GNSSStatistic) GetMaxAbsoluteValueX() float32 { + if x != nil { + return x.MaxAbsoluteValueX + } + return 0 +} + +func (x *GNSSStatistic) GetAvgValueX() float32 { + if x != nil { + return x.AvgValueX + } + return 0 +} + +func (x *GNSSStatistic) GetRootMeanSquareX() float32 { + if x != nil { + return x.RootMeanSquareX + } + return 0 +} + +func (x *GNSSStatistic) GetMaxAbsoluteValueY() float32 { + if x != nil { + return x.MaxAbsoluteValueY + } + return 0 +} + +func (x *GNSSStatistic) GetAvgValueY() float32 { + if x != nil { + return x.AvgValueY + } + return 0 +} + +func (x *GNSSStatistic) GetRootMeanSquareY() float32 { + if x != nil { + return x.RootMeanSquareY + } + return 0 +} + +func (x *GNSSStatistic) GetMaxAbsoluteValueZ() float32 { + if x != nil { + return x.MaxAbsoluteValueZ + } + return 0 +} + +func (x *GNSSStatistic) GetAvgValueZ() float32 { + if x != nil { + return x.AvgValueZ + } + return 0 +} + +func (x *GNSSStatistic) GetRootMeanSquareZ() float32 { + if x != nil { + return x.RootMeanSquareZ + } + return 0 +} + +// 位移(锚定位移、拱脚位移、桥墩沉降)监测特征值数据表 周期 24h +type ANDStatistic struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 统计时间范围内的空间变形X绝对最大值 + MaxAbsoluteValueX float32 `protobuf:"fixed32,1,opt,name=maxAbsoluteValueX,proto3" json:"maxAbsoluteValueX,omitempty"` + // 统计时间范围内的空间变形X平均值 + AvgValueX float32 `protobuf:"fixed32,2,opt,name=avgValueX,proto3" json:"avgValueX,omitempty"` + // 统计时间范围内的空间变形X均方根 + RootMeanSquareX float32 `protobuf:"fixed32,3,opt,name=rootMeanSquareX,proto3" json:"rootMeanSquareX,omitempty"` + // 统计时间范围内的空间变形Y绝对最大值 + MaxAbsoluteValueY float32 `protobuf:"fixed32,4,opt,name=maxAbsoluteValueY,proto3" json:"maxAbsoluteValueY,omitempty"` + // 统计时间范围内的空间变形Y平均值 + AvgValueY float32 `protobuf:"fixed32,5,opt,name=avgValueY,proto3" json:"avgValueY,omitempty"` + // 统计时间范围内的空间变形Y均方根 + RootMeanSquareY float32 `protobuf:"fixed32,6,opt,name=rootMeanSquareY,proto3" json:"rootMeanSquareY,omitempty"` + // 统计时间范围内的空间变形Z绝对最大值 + MaxAbsoluteValueZ float32 `protobuf:"fixed32,7,opt,name=maxAbsoluteValueZ,proto3" json:"maxAbsoluteValueZ,omitempty"` + // 统计时间范围内的空间变形Z平均值 + AvgValueZ float32 `protobuf:"fixed32,8,opt,name=avgValueZ,proto3" json:"avgValueZ,omitempty"` + // 统计时间范围内的空间变形Z均方根 + RootMeanSquareZ float32 `protobuf:"fixed32,9,opt,name=rootMeanSquareZ,proto3" json:"rootMeanSquareZ,omitempty"` +} + +func (x *ANDStatistic) Reset() { + *x = ANDStatistic{} + if protoimpl.UnsafeEnabled { + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ANDStatistic) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ANDStatistic) ProtoMessage() {} + +func (x *ANDStatistic) ProtoReflect() protoreflect.Message { + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[39] + 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 ANDStatistic.ProtoReflect.Descriptor instead. +func (*ANDStatistic) Descriptor() ([]byte, []int) { + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{39} +} + +func (x *ANDStatistic) GetMaxAbsoluteValueX() float32 { + if x != nil { + return x.MaxAbsoluteValueX + } + return 0 +} + +func (x *ANDStatistic) GetAvgValueX() float32 { + if x != nil { + return x.AvgValueX } + return 0 } -func (x *UANStatistic) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *ANDStatistic) GetRootMeanSquareX() float32 { + if x != nil { + return x.RootMeanSquareX + } + return 0 } -func (*UANStatistic) ProtoMessage() {} +func (x *ANDStatistic) GetMaxAbsoluteValueY() float32 { + if x != nil { + return x.MaxAbsoluteValueY + } + return 0 +} -func (x *UANStatistic) ProtoReflect() protoreflect.Message { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[33] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *ANDStatistic) GetAvgValueY() float32 { + if x != nil { + return x.AvgValueY } - return mi.MessageOf(x) + return 0 } -// Deprecated: Use UANStatistic.ProtoReflect.Descriptor instead. -func (*UANStatistic) Descriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{33} +func (x *ANDStatistic) GetRootMeanSquareY() float32 { + if x != nil { + return x.RootMeanSquareY + } + return 0 } -func (x *UANStatistic) GetAvgVelocity() float32 { +func (x *ANDStatistic) GetMaxAbsoluteValueZ() float32 { if x != nil { - return x.AvgVelocity + return x.MaxAbsoluteValueZ } return 0 } -func (x *UANStatistic) GetAvgDirection() float32 { +func (x *ANDStatistic) GetAvgValueZ() float32 { if x != nil { - return x.AvgDirection + return x.AvgValueZ } return 0 } -func (x *UANStatistic) GetAvgAttackAngle() float32 { - if x != nil && x.AvgAttackAngle != nil { - return *x.AvgAttackAngle +func (x *ANDStatistic) GetRootMeanSquareZ() float32 { + if x != nil { + return x.RootMeanSquareZ } return 0 } -// 温湿度监测特征值,周期 1h -type RHSStatistic struct { +// 位移(支座位移、梁端纵向位移、高墩墩顶位移、拱顶位移、主梁横向位移) 周期 1h +type DISStatistic struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // 统计时间范围内的温度最大值 - MaxTemperature float32 `protobuf:"fixed32,1,opt,name=maxTemperature,proto3" json:"maxTemperature,omitempty"` - // 统计时间范围内的温度最小值 - MinTemperature float32 `protobuf:"fixed32,2,opt,name=minTemperature,proto3" json:"minTemperature,omitempty"` - // 统计时间范围内的温度平均值 - AvgTemperature float32 `protobuf:"fixed32,3,opt,name=avgTemperature,proto3" json:"avgTemperature,omitempty"` - // 统计时间范围内的温差值 - MaxTemperatureDifference float32 `protobuf:"fixed32,4,opt,name=maxTemperatureDifference,proto3" json:"maxTemperatureDifference,omitempty"` - // 统计时间范围内的湿度最大值 - MaxHumidity float32 `protobuf:"fixed32,5,opt,name=maxHumidity,proto3" json:"maxHumidity,omitempty"` - // 统计时间范围内的湿度最小值 - MinHumidity float32 `protobuf:"fixed32,6,opt,name=minHumidity,proto3" json:"minHumidity,omitempty"` - // 统计时间范围内的湿度平均值 - AvgHumidity float32 `protobuf:"fixed32,7,opt,name=avgHumidity,proto3" json:"avgHumidity,omitempty"` - // 湿度超限持续时间,分钟 - HumidityExceedDuration int32 `protobuf:"varint,8,opt,name=humidityExceedDuration,proto3" json:"humidityExceedDuration,omitempty"` + // 统计时间范围内的绝对最大值 + MaxAbsoluteValue float32 `protobuf:"fixed32,1,opt,name=maxAbsoluteValue,proto3" json:"maxAbsoluteValue,omitempty"` + // 统计时间范围内的位移平均值 + AvgValue float32 `protobuf:"fixed32,2,opt,name=avgValue,proto3" json:"avgValue,omitempty"` + // 统计时间范围内的位移均方根值 + RootMeanSquare float32 `protobuf:"fixed32,3,opt,name=rootMeanSquare,proto3" json:"rootMeanSquare,omitempty"` + // 统计时间范围内的绝对值累积量 + TotalAbsoluteValue float32 `protobuf:"fixed32,4,opt,name=totalAbsoluteValue,proto3" json:"totalAbsoluteValue,omitempty"` } -func (x *RHSStatistic) Reset() { - *x = RHSStatistic{} +func (x *DISStatistic) Reset() { + *x = DISStatistic{} if protoimpl.UnsafeEnabled { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[34] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *RHSStatistic) String() string { +func (x *DISStatistic) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RHSStatistic) ProtoMessage() {} +func (*DISStatistic) ProtoMessage() {} -func (x *RHSStatistic) ProtoReflect() protoreflect.Message { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[34] +func (x *DISStatistic) ProtoReflect() protoreflect.Message { + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3390,100 +3848,143 @@ func (x *RHSStatistic) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RHSStatistic.ProtoReflect.Descriptor instead. -func (*RHSStatistic) Descriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{34} +// Deprecated: Use DISStatistic.ProtoReflect.Descriptor instead. +func (*DISStatistic) Descriptor() ([]byte, []int) { + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{40} } -func (x *RHSStatistic) GetMaxTemperature() float32 { +func (x *DISStatistic) GetMaxAbsoluteValue() float32 { if x != nil { - return x.MaxTemperature + return x.MaxAbsoluteValue } return 0 } -func (x *RHSStatistic) GetMinTemperature() float32 { +func (x *DISStatistic) GetAvgValue() float32 { if x != nil { - return x.MinTemperature + return x.AvgValue } return 0 } -func (x *RHSStatistic) GetAvgTemperature() float32 { +func (x *DISStatistic) GetRootMeanSquare() float32 { if x != nil { - return x.AvgTemperature + return x.RootMeanSquare } return 0 } -func (x *RHSStatistic) GetMaxTemperatureDifference() float32 { +func (x *DISStatistic) GetTotalAbsoluteValue() float32 { if x != nil { - return x.MaxTemperatureDifference + return x.TotalAbsoluteValue } return 0 } -func (x *RHSStatistic) GetMaxHumidity() float32 { - if x != nil { - return x.MaxHumidity +// 挠度监测特征值 周期 1h +type HPTStatistic struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 统计时间范围内的绝对最大值 + MaxAbsoluteValue float32 `protobuf:"fixed32,1,opt,name=maxAbsoluteValue,proto3" json:"maxAbsoluteValue,omitempty"` + // 统计时间范围内的位移平均值 + AvgValue float32 `protobuf:"fixed32,2,opt,name=avgValue,proto3" json:"avgValue,omitempty"` + // 统计时间范围内的位移均方根值 + RootMeanSquare float32 `protobuf:"fixed32,3,opt,name=rootMeanSquare,proto3" json:"rootMeanSquare,omitempty"` +} + +func (x *HPTStatistic) Reset() { + *x = HPTStatistic{} + if protoimpl.UnsafeEnabled { + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return 0 } -func (x *RHSStatistic) GetMinHumidity() float32 { +func (x *HPTStatistic) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HPTStatistic) ProtoMessage() {} + +func (x *HPTStatistic) ProtoReflect() protoreflect.Message { + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[41] + 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 HPTStatistic.ProtoReflect.Descriptor instead. +func (*HPTStatistic) Descriptor() ([]byte, []int) { + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{41} +} + +func (x *HPTStatistic) GetMaxAbsoluteValue() float32 { if x != nil { - return x.MinHumidity + return x.MaxAbsoluteValue } return 0 } -func (x *RHSStatistic) GetAvgHumidity() float32 { +func (x *HPTStatistic) GetAvgValue() float32 { if x != nil { - return x.AvgHumidity + return x.AvgValue } return 0 } -func (x *RHSStatistic) GetHumidityExceedDuration() int32 { +func (x *HPTStatistic) GetRootMeanSquare() float32 { if x != nil { - return x.HumidityExceedDuration + return x.RootMeanSquare } return 0 } -// 温度监测特征值 周期 1h -type TMPStatistic struct { +// 转角监测特征值 周期 1h +type INCStatistic struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // 统计时间范围内的温度最大值 - MaxTemperature float32 `protobuf:"fixed32,1,opt,name=maxTemperature,proto3" json:"maxTemperature,omitempty"` - // 统计时间范围内的温度最小值 - MinTemperature float32 `protobuf:"fixed32,2,opt,name=minTemperature,proto3" json:"minTemperature,omitempty"` - // 统计时间范围内的温度平均值 - AvgTemperature float32 `protobuf:"fixed32,3,opt,name=avgTemperature,proto3" json:"avgTemperature,omitempty"` - // 统计时间范围内的温差值 - MaxDifference float32 `protobuf:"fixed32,4,opt,name=maxDifference,proto3" json:"maxDifference,omitempty"` + // 统计时间范围内横桥向的绝对最大值 + MaxAbsoluteValueX float32 `protobuf:"fixed32,1,opt,name=maxAbsoluteValueX,proto3" json:"maxAbsoluteValueX,omitempty"` + // 统计时间范围内横桥向的转角平均值 + AvgValueX float32 `protobuf:"fixed32,2,opt,name=avgValueX,proto3" json:"avgValueX,omitempty"` + // 统计时间范围内横桥向的转角均方根值 + RootMeanSquareX float32 `protobuf:"fixed32,3,opt,name=rootMeanSquareX,proto3" json:"rootMeanSquareX,omitempty"` + // 统计时间范围内纵桥向的绝对最大值 + MaxAbsoluteValueY float32 `protobuf:"fixed32,4,opt,name=maxAbsoluteValueY,proto3" json:"maxAbsoluteValueY,omitempty"` + // 统计时间范围内纵桥向的转角平均值 + AvgValueY float32 `protobuf:"fixed32,5,opt,name=avgValueY,proto3" json:"avgValueY,omitempty"` + // 统计时间范围内纵桥向的转角均方根值 + RootMeanSquareY float32 `protobuf:"fixed32,6,opt,name=rootMeanSquareY,proto3" json:"rootMeanSquareY,omitempty"` } -func (x *TMPStatistic) Reset() { - *x = TMPStatistic{} +func (x *INCStatistic) Reset() { + *x = INCStatistic{} if protoimpl.UnsafeEnabled { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[35] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *TMPStatistic) String() string { +func (x *INCStatistic) String() string { return protoimpl.X.MessageStringOf(x) } -func (*TMPStatistic) ProtoMessage() {} +func (*INCStatistic) ProtoMessage() {} -func (x *TMPStatistic) ProtoReflect() protoreflect.Message { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[35] +func (x *INCStatistic) ProtoReflect() protoreflect.Message { + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3494,82 +3995,84 @@ func (x *TMPStatistic) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TMPStatistic.ProtoReflect.Descriptor instead. -func (*TMPStatistic) Descriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{35} +// Deprecated: Use INCStatistic.ProtoReflect.Descriptor instead. +func (*INCStatistic) Descriptor() ([]byte, []int) { + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{42} } -func (x *TMPStatistic) GetMaxTemperature() float32 { +func (x *INCStatistic) GetMaxAbsoluteValueX() float32 { if x != nil { - return x.MaxTemperature + return x.MaxAbsoluteValueX } return 0 } -func (x *TMPStatistic) GetMinTemperature() float32 { +func (x *INCStatistic) GetAvgValueX() float32 { if x != nil { - return x.MinTemperature + return x.AvgValueX } return 0 } -func (x *TMPStatistic) GetAvgTemperature() float32 { +func (x *INCStatistic) GetRootMeanSquareX() float32 { if x != nil { - return x.AvgTemperature + return x.RootMeanSquareX } return 0 } -func (x *TMPStatistic) GetMaxDifference() float32 { +func (x *INCStatistic) GetMaxAbsoluteValueY() float32 { if x != nil { - return x.MaxDifference + return x.MaxAbsoluteValueY } return 0 } -// 结构空间变形监测特征值 位移(主梁、塔顶、主缆、高墩墩顶、拱顶) 周期: 1h -type GNSSStatistic struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *INCStatistic) GetAvgValueY() float32 { + if x != nil { + return x.AvgValueY + } + return 0 +} - // 统计时间范围内的空间变形X绝对最大值 - MaxAbsoluteValueX float32 `protobuf:"fixed32,1,opt,name=maxAbsoluteValueX,proto3" json:"maxAbsoluteValueX,omitempty"` - // 统计时间范围内的空间变形X平均值 - AvgValueX float32 `protobuf:"fixed32,2,opt,name=avgValueX,proto3" json:"avgValueX,omitempty"` - // 统计时间范围内的空间变形X均方根 - RootMeanSquareX float32 `protobuf:"fixed32,3,opt,name=rootMeanSquareX,proto3" json:"rootMeanSquareX,omitempty"` - // 统计时间范围内的空间变形Y绝对最大值 - MaxAbsoluteValueY float32 `protobuf:"fixed32,4,opt,name=maxAbsoluteValueY,proto3" json:"maxAbsoluteValueY,omitempty"` - // 统计时间范围内的空间变形Y平均值 - AvgValueY float32 `protobuf:"fixed32,5,opt,name=avgValueY,proto3" json:"avgValueY,omitempty"` - // 统计时间范围内的空间变形Y均方根 - RootMeanSquareY float32 `protobuf:"fixed32,6,opt,name=rootMeanSquareY,proto3" json:"rootMeanSquareY,omitempty"` - // 统计时间范围内的空间变形Z绝对最大值 - MaxAbsoluteValueZ float32 `protobuf:"fixed32,7,opt,name=maxAbsoluteValueZ,proto3" json:"maxAbsoluteValueZ,omitempty"` - // 统计时间范围内的空间变形Z平均值 - AvgValueZ float32 `protobuf:"fixed32,8,opt,name=avgValueZ,proto3" json:"avgValueZ,omitempty"` - // 统计时间范围内的空间变形Z均方根 - RootMeanSquareZ float32 `protobuf:"fixed32,9,opt,name=rootMeanSquareZ,proto3" json:"rootMeanSquareZ,omitempty"` +func (x *INCStatistic) GetRootMeanSquareY() float32 { + if x != nil { + return x.RootMeanSquareY + } + return 0 } -func (x *GNSSStatistic) Reset() { - *x = GNSSStatistic{} +// 应变监测特征值 周期 1h +type RSGStatistic struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 统计时间范围内的应变/应力绝对最大值 + MaxAbsoluteValue float32 `protobuf:"fixed32,1,opt,name=maxAbsoluteValue,proto3" json:"maxAbsoluteValue,omitempty"` + // 统计时间范围内的应变/应力平均值 + AvgValue float32 `protobuf:"fixed32,2,opt,name=avgValue,proto3" json:"avgValue,omitempty"` + // 统计时间范围内的温度平均值 + AvgTemperature *float32 `protobuf:"fixed32,3,opt,name=avgTemperature,proto3,oneof" json:"avgTemperature,omitempty"` +} + +func (x *RSGStatistic) Reset() { + *x = RSGStatistic{} if protoimpl.UnsafeEnabled { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[36] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GNSSStatistic) String() string { +func (x *RSGStatistic) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GNSSStatistic) ProtoMessage() {} +func (*RSGStatistic) ProtoMessage() {} -func (x *GNSSStatistic) ProtoReflect() protoreflect.Message { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[36] +func (x *RSGStatistic) ProtoReflect() protoreflect.Message { + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3580,117 +4083,137 @@ func (x *GNSSStatistic) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GNSSStatistic.ProtoReflect.Descriptor instead. -func (*GNSSStatistic) Descriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{36} +// Deprecated: Use RSGStatistic.ProtoReflect.Descriptor instead. +func (*RSGStatistic) Descriptor() ([]byte, []int) { + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{43} } -func (x *GNSSStatistic) GetMaxAbsoluteValueX() float32 { +func (x *RSGStatistic) GetMaxAbsoluteValue() float32 { if x != nil { - return x.MaxAbsoluteValueX + return x.MaxAbsoluteValue } return 0 } -func (x *GNSSStatistic) GetAvgValueX() float32 { +func (x *RSGStatistic) GetAvgValue() float32 { if x != nil { - return x.AvgValueX + return x.AvgValue } return 0 } -func (x *GNSSStatistic) GetRootMeanSquareX() float32 { - if x != nil { - return x.RootMeanSquareX +func (x *RSGStatistic) GetAvgTemperature() float32 { + if x != nil && x.AvgTemperature != nil { + return *x.AvgTemperature } return 0 } -func (x *GNSSStatistic) GetMaxAbsoluteValueY() float32 { - if x != nil { - return x.MaxAbsoluteValueY +// 索力监测特征值 周期 1h +type VICStatistic struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 统计时间范围内的索力最大值 + MaxValue float32 `protobuf:"fixed32,1,opt,name=maxValue,proto3" json:"maxValue,omitempty"` + // 统计时间范围内的索力最小值 + MinValue float32 `protobuf:"fixed32,2,opt,name=minValue,proto3" json:"minValue,omitempty"` + // 统计时间范围内的索力平均值 + AvgValue float32 `protobuf:"fixed32,3,opt,name=avgValue,proto3" json:"avgValue,omitempty"` + // 统计时间范围内的索力均方根值 + RootMeanSquare float32 `protobuf:"fixed32,4,opt,name=rootMeanSquare,proto3" json:"rootMeanSquare,omitempty"` +} + +func (x *VICStatistic) Reset() { + *x = VICStatistic{} + if protoimpl.UnsafeEnabled { + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return 0 } -func (x *GNSSStatistic) GetAvgValueY() float32 { - if x != nil { - return x.AvgValueY +func (x *VICStatistic) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VICStatistic) ProtoMessage() {} + +func (x *VICStatistic) ProtoReflect() protoreflect.Message { + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[44] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return 0 + return mi.MessageOf(x) } -func (x *GNSSStatistic) GetRootMeanSquareY() float32 { +// Deprecated: Use VICStatistic.ProtoReflect.Descriptor instead. +func (*VICStatistic) Descriptor() ([]byte, []int) { + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{44} +} + +func (x *VICStatistic) GetMaxValue() float32 { if x != nil { - return x.RootMeanSquareY + return x.MaxValue } return 0 } -func (x *GNSSStatistic) GetMaxAbsoluteValueZ() float32 { +func (x *VICStatistic) GetMinValue() float32 { if x != nil { - return x.MaxAbsoluteValueZ + return x.MinValue } return 0 } -func (x *GNSSStatistic) GetAvgValueZ() float32 { +func (x *VICStatistic) GetAvgValue() float32 { if x != nil { - return x.AvgValueZ + return x.AvgValue } return 0 } -func (x *GNSSStatistic) GetRootMeanSquareZ() float32 { +func (x *VICStatistic) GetRootMeanSquare() float32 { if x != nil { - return x.RootMeanSquareZ + return x.RootMeanSquare } return 0 } -// 位移(锚定位移、拱脚位移、桥墩沉降)监测特征值数据表 周期 24h -type ANDStatistic struct { +// 动力特性监测特征值 振动(主梁、索塔、拱圈) 周期 10min +type VIBStatistic struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // 统计时间范围内的空间变形X绝对最大值 - MaxAbsoluteValueX float32 `protobuf:"fixed32,1,opt,name=maxAbsoluteValueX,proto3" json:"maxAbsoluteValueX,omitempty"` - // 统计时间范围内的空间变形X平均值 - AvgValueX float32 `protobuf:"fixed32,2,opt,name=avgValueX,proto3" json:"avgValueX,omitempty"` - // 统计时间范围内的空间变形X均方根 - RootMeanSquareX float32 `protobuf:"fixed32,3,opt,name=rootMeanSquareX,proto3" json:"rootMeanSquareX,omitempty"` - // 统计时间范围内的空间变形Y绝对最大值 - MaxAbsoluteValueY float32 `protobuf:"fixed32,4,opt,name=maxAbsoluteValueY,proto3" json:"maxAbsoluteValueY,omitempty"` - // 统计时间范围内的空间变形Y平均值 - AvgValueY float32 `protobuf:"fixed32,5,opt,name=avgValueY,proto3" json:"avgValueY,omitempty"` - // 统计时间范围内的空间变形Y均方根 - RootMeanSquareY float32 `protobuf:"fixed32,6,opt,name=rootMeanSquareY,proto3" json:"rootMeanSquareY,omitempty"` - // 统计时间范围内的空间变形Z绝对最大值 - MaxAbsoluteValueZ float32 `protobuf:"fixed32,7,opt,name=maxAbsoluteValueZ,proto3" json:"maxAbsoluteValueZ,omitempty"` - // 统计时间范围内的空间变形Z平均值 - AvgValueZ float32 `protobuf:"fixed32,8,opt,name=avgValueZ,proto3" json:"avgValueZ,omitempty"` - // 统计时间范围内的空间变形Z均方根 - RootMeanSquareZ float32 `protobuf:"fixed32,9,opt,name=rootMeanSquareZ,proto3" json:"rootMeanSquareZ,omitempty"` + // 统计时间范围内的绝对最大值 + MaxAbsoluteValue float32 `protobuf:"fixed32,1,opt,name=maxAbsoluteValue,proto3" json:"maxAbsoluteValue,omitempty"` + // 统计时间范围内的均方根值 + RootMeanSquare float32 `protobuf:"fixed32,2,opt,name=rootMeanSquare,proto3" json:"rootMeanSquare,omitempty"` } -func (x *ANDStatistic) Reset() { - *x = ANDStatistic{} +func (x *VIBStatistic) Reset() { + *x = VIBStatistic{} if protoimpl.UnsafeEnabled { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[37] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ANDStatistic) String() string { +func (x *VIBStatistic) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ANDStatistic) ProtoMessage() {} +func (*VIBStatistic) ProtoMessage() {} -func (x *ANDStatistic) ProtoReflect() protoreflect.Message { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[37] +func (x *VIBStatistic) ProtoReflect() protoreflect.Message { + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3701,107 +4224,111 @@ func (x *ANDStatistic) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ANDStatistic.ProtoReflect.Descriptor instead. -func (*ANDStatistic) Descriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{37} +// Deprecated: Use VIBStatistic.ProtoReflect.Descriptor instead. +func (*VIBStatistic) Descriptor() ([]byte, []int) { + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{45} } -func (x *ANDStatistic) GetMaxAbsoluteValueX() float32 { +func (x *VIBStatistic) GetMaxAbsoluteValue() float32 { if x != nil { - return x.MaxAbsoluteValueX + return x.MaxAbsoluteValue } return 0 } -func (x *ANDStatistic) GetAvgValueX() float32 { +func (x *VIBStatistic) GetRootMeanSquare() float32 { if x != nil { - return x.AvgValueX + return x.RootMeanSquare } return 0 } -func (x *ANDStatistic) GetRootMeanSquareX() float32 { - if x != nil { - return x.RootMeanSquareX - } - return 0 +// 地震船撞特性监测特征值 周期 10min +type VIEStatistic struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 统计时间范围内的绝对最大值 + MaxAbsoluteValue float32 `protobuf:"fixed32,1,opt,name=maxAbsoluteValue,proto3" json:"maxAbsoluteValue,omitempty"` + // 统计时间范围内的均方根值 + RootMeanSquare float32 `protobuf:"fixed32,2,opt,name=rootMeanSquare,proto3" json:"rootMeanSquare,omitempty"` } -func (x *ANDStatistic) GetMaxAbsoluteValueY() float32 { - if x != nil { - return x.MaxAbsoluteValueY +func (x *VIEStatistic) Reset() { + *x = VIEStatistic{} + if protoimpl.UnsafeEnabled { + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return 0 } -func (x *ANDStatistic) GetAvgValueY() float32 { - if x != nil { - return x.AvgValueY - } - return 0 +func (x *VIEStatistic) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *ANDStatistic) GetRootMeanSquareY() float32 { - if x != nil { - return x.RootMeanSquareY +func (*VIEStatistic) ProtoMessage() {} + +func (x *VIEStatistic) ProtoReflect() protoreflect.Message { + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[46] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return 0 + return mi.MessageOf(x) } -func (x *ANDStatistic) GetMaxAbsoluteValueZ() float32 { - if x != nil { - return x.MaxAbsoluteValueZ - } - return 0 +// Deprecated: Use VIEStatistic.ProtoReflect.Descriptor instead. +func (*VIEStatistic) Descriptor() ([]byte, []int) { + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{46} } -func (x *ANDStatistic) GetAvgValueZ() float32 { +func (x *VIEStatistic) GetMaxAbsoluteValue() float32 { if x != nil { - return x.AvgValueZ + return x.MaxAbsoluteValue } return 0 } -func (x *ANDStatistic) GetRootMeanSquareZ() float32 { +func (x *VIEStatistic) GetRootMeanSquare() float32 { if x != nil { - return x.RootMeanSquareZ + return x.RootMeanSquare } return 0 } -// 位移监测特征值 位移(支座位移、梁端纵向位移) 周期 1h -type DISStatistic struct { +type VIDStatistic struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // 统计时间范围内的绝对最大值 MaxAbsoluteValue float32 `protobuf:"fixed32,1,opt,name=maxAbsoluteValue,proto3" json:"maxAbsoluteValue,omitempty"` - // 统计时间范围内的位移平均值 - AvgValue float32 `protobuf:"fixed32,2,opt,name=avgValue,proto3" json:"avgValue,omitempty"` - // 统计时间范围内的位移均方根值 - RootMeanSquare float32 `protobuf:"fixed32,3,opt,name=rootMeanSquare,proto3" json:"rootMeanSquare,omitempty"` - // 统计时间范围内的绝对值累积量 - TotalAbsoluteValue float32 `protobuf:"fixed32,4,opt,name=totalAbsoluteValue,proto3" json:"totalAbsoluteValue,omitempty"` + // 统计时间范围内的均方根值 + RootMeanSquare float32 `protobuf:"fixed32,2,opt,name=rootMeanSquare,proto3" json:"rootMeanSquare,omitempty"` } -func (x *DISStatistic) Reset() { - *x = DISStatistic{} +func (x *VIDStatistic) Reset() { + *x = VIDStatistic{} if protoimpl.UnsafeEnabled { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[38] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DISStatistic) String() string { +func (x *VIDStatistic) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DISStatistic) ProtoMessage() {} +func (*VIDStatistic) ProtoMessage() {} -func (x *DISStatistic) ProtoReflect() protoreflect.Message { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[38] +func (x *VIDStatistic) ProtoReflect() protoreflect.Message { + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3812,70 +4339,54 @@ func (x *DISStatistic) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DISStatistic.ProtoReflect.Descriptor instead. -func (*DISStatistic) Descriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{38} +// Deprecated: Use VIDStatistic.ProtoReflect.Descriptor instead. +func (*VIDStatistic) Descriptor() ([]byte, []int) { + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{47} } -func (x *DISStatistic) GetMaxAbsoluteValue() float32 { +func (x *VIDStatistic) GetMaxAbsoluteValue() float32 { if x != nil { return x.MaxAbsoluteValue } return 0 } -func (x *DISStatistic) GetAvgValue() float32 { - if x != nil { - return x.AvgValue - } - return 0 -} - -func (x *DISStatistic) GetRootMeanSquare() float32 { +func (x *VIDStatistic) GetRootMeanSquare() float32 { if x != nil { return x.RootMeanSquare } return 0 } -func (x *DISStatistic) GetTotalAbsoluteValue() float32 { - if x != nil { - return x.TotalAbsoluteValue - } - return 0 -} - -// 挠度监测特征值 周期1h -type HPTStatistic struct { +// TMD监测特征值 周期 10min +type TMDStatistic struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // 统计时间范围内的绝对最大值 MaxAbsoluteValue float32 `protobuf:"fixed32,1,opt,name=maxAbsoluteValue,proto3" json:"maxAbsoluteValue,omitempty"` - // 统计时间范围内的位移平均值 - AvgValue float32 `protobuf:"fixed32,2,opt,name=avgValue,proto3" json:"avgValue,omitempty"` - // 统计时间范围内的位移均方根值 - RootMeanSquare float32 `protobuf:"fixed32,3,opt,name=rootMeanSquare,proto3" json:"rootMeanSquare,omitempty"` + // 统计时间范围内的均方根值 + RootMeanSquare float32 `protobuf:"fixed32,2,opt,name=rootMeanSquare,proto3" json:"rootMeanSquare,omitempty"` } -func (x *HPTStatistic) Reset() { - *x = HPTStatistic{} +func (x *TMDStatistic) Reset() { + *x = TMDStatistic{} if protoimpl.UnsafeEnabled { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[39] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *HPTStatistic) String() string { +func (x *TMDStatistic) String() string { return protoimpl.X.MessageStringOf(x) } -func (*HPTStatistic) ProtoMessage() {} +func (*TMDStatistic) ProtoMessage() {} -func (x *HPTStatistic) ProtoReflect() protoreflect.Message { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[39] +func (x *TMDStatistic) ProtoReflect() protoreflect.Message { + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3886,69 +4397,60 @@ func (x *HPTStatistic) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use HPTStatistic.ProtoReflect.Descriptor instead. -func (*HPTStatistic) Descriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{39} +// Deprecated: Use TMDStatistic.ProtoReflect.Descriptor instead. +func (*TMDStatistic) Descriptor() ([]byte, []int) { + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{48} } -func (x *HPTStatistic) GetMaxAbsoluteValue() float32 { +func (x *TMDStatistic) GetMaxAbsoluteValue() float32 { if x != nil { return x.MaxAbsoluteValue } return 0 } -func (x *HPTStatistic) GetAvgValue() float32 { - if x != nil { - return x.AvgValue - } - return 0 -} - -func (x *HPTStatistic) GetRootMeanSquare() float32 { +func (x *TMDStatistic) GetRootMeanSquare() float32 { if x != nil { return x.RootMeanSquare } return 0 } -// 转角监测特征值 周期 1h -type INCStatistic struct { +// 车辆载荷监测特征值-动态称重 周期 1h +type HSDStatistic struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // 统计时间范围内横桥向的绝对最大值 - MaxAbsoluteValueX float32 `protobuf:"fixed32,1,opt,name=maxAbsoluteValueX,proto3" json:"maxAbsoluteValueX,omitempty"` - // 统计时间范围内横桥向的转角平均值 - AvgValueX float32 `protobuf:"fixed32,2,opt,name=avgValueX,proto3" json:"avgValueX,omitempty"` - // 统计时间范围内横桥向的转角均方根值 - RootMeanSquareX float32 `protobuf:"fixed32,3,opt,name=rootMeanSquareX,proto3" json:"rootMeanSquareX,omitempty"` - // 统计时间范围内纵桥向的绝对最大值 - MaxAbsoluteValueY float32 `protobuf:"fixed32,4,opt,name=maxAbsoluteValueY,proto3" json:"maxAbsoluteValueY,omitempty"` - // 统计时间范围内纵桥向的转角平均值 - AvgValueY float32 `protobuf:"fixed32,5,opt,name=avgValueY,proto3" json:"avgValueY,omitempty"` - // 统计时间范围内纵桥向的转角均方根值 - RootMeanSquareY float32 `protobuf:"fixed32,6,opt,name=rootMeanSquareY,proto3" json:"rootMeanSquareY,omitempty"` + // 统计时间范围内的车流量 + TrafficFlow int32 `protobuf:"varint,1,opt,name=trafficFlow,proto3" json:"trafficFlow,omitempty"` + // 统计时间范围内的最大车重 + MaxTotalLoad int32 `protobuf:"varint,2,opt,name=maxTotalLoad,proto3" json:"maxTotalLoad,omitempty"` + // 统计时间范围内的最大轴重 + MaxAxleLoad int32 `protobuf:"varint,3,opt,name=maxAxleLoad,proto3" json:"maxAxleLoad,omitempty"` + // 统计时间范围内的超载车数量 + OverLoadCount int32 `protobuf:"varint,4,opt,name=overLoadCount,proto3" json:"overLoadCount,omitempty"` + // 统计时间范围内的平均车重(kg) + AvgLoad float32 `protobuf:"fixed32,5,opt,name=avgLoad,proto3" json:"avgLoad,omitempty"` } -func (x *INCStatistic) Reset() { - *x = INCStatistic{} +func (x *HSDStatistic) Reset() { + *x = HSDStatistic{} if protoimpl.UnsafeEnabled { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[40] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *INCStatistic) String() string { +func (x *HSDStatistic) String() string { return protoimpl.X.MessageStringOf(x) } -func (*INCStatistic) ProtoMessage() {} +func (*HSDStatistic) ProtoMessage() {} -func (x *INCStatistic) ProtoReflect() protoreflect.Message { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[40] +func (x *HSDStatistic) ProtoReflect() protoreflect.Message { + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[49] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3959,84 +4461,79 @@ func (x *INCStatistic) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use INCStatistic.ProtoReflect.Descriptor instead. -func (*INCStatistic) Descriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{40} -} - -func (x *INCStatistic) GetMaxAbsoluteValueX() float32 { - if x != nil { - return x.MaxAbsoluteValueX - } - return 0 +// Deprecated: Use HSDStatistic.ProtoReflect.Descriptor instead. +func (*HSDStatistic) Descriptor() ([]byte, []int) { + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{49} } -func (x *INCStatistic) GetAvgValueX() float32 { +func (x *HSDStatistic) GetTrafficFlow() int32 { if x != nil { - return x.AvgValueX + return x.TrafficFlow } return 0 } -func (x *INCStatistic) GetRootMeanSquareX() float32 { +func (x *HSDStatistic) GetMaxTotalLoad() int32 { if x != nil { - return x.RootMeanSquareX + return x.MaxTotalLoad } return 0 } -func (x *INCStatistic) GetMaxAbsoluteValueY() float32 { +func (x *HSDStatistic) GetMaxAxleLoad() int32 { if x != nil { - return x.MaxAbsoluteValueY + return x.MaxAxleLoad } return 0 } -func (x *INCStatistic) GetAvgValueY() float32 { +func (x *HSDStatistic) GetOverLoadCount() int32 { if x != nil { - return x.AvgValueY + return x.OverLoadCount } return 0 } -func (x *INCStatistic) GetRootMeanSquareY() float32 { +func (x *HSDStatistic) GetAvgLoad() float32 { if x != nil { - return x.RootMeanSquareY + return x.AvgLoad } return 0 } -// 应变监测特征值 周期 1h -type RSGStatistic struct { +// 裂缝监测特征值 位移 周期 1h +type CRKStatistic struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // 统计时间范围内的应变/应力绝对最大值 + // 统计时间范围内的绝对最大值 MaxAbsoluteValue float32 `protobuf:"fixed32,1,opt,name=maxAbsoluteValue,proto3" json:"maxAbsoluteValue,omitempty"` - // 统计时间范围内的应变/应力平均值 + // 统计时间范围内的位移平均值 AvgValue float32 `protobuf:"fixed32,2,opt,name=avgValue,proto3" json:"avgValue,omitempty"` - // 统计时间范围内的温度平均值 - AvgTemperature *float32 `protobuf:"fixed32,3,opt,name=avgTemperature,proto3,oneof" json:"avgTemperature,omitempty"` + // 统计时间范围内的位移均方根值 + RootMeanSquare float32 `protobuf:"fixed32,3,opt,name=rootMeanSquare,proto3" json:"rootMeanSquare,omitempty"` + // 统计时间范围内的绝对值累积量 + TotalAbsoluteValue float32 `protobuf:"fixed32,4,opt,name=totalAbsoluteValue,proto3" json:"totalAbsoluteValue,omitempty"` } -func (x *RSGStatistic) Reset() { - *x = RSGStatistic{} +func (x *CRKStatistic) Reset() { + *x = CRKStatistic{} if protoimpl.UnsafeEnabled { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[41] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *RSGStatistic) String() string { +func (x *CRKStatistic) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RSGStatistic) ProtoMessage() {} +func (*CRKStatistic) ProtoMessage() {} -func (x *RSGStatistic) ProtoReflect() protoreflect.Message { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[41] +func (x *CRKStatistic) ProtoReflect() protoreflect.Message { + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4047,65 +4544,70 @@ func (x *RSGStatistic) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RSGStatistic.ProtoReflect.Descriptor instead. -func (*RSGStatistic) Descriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{41} +// Deprecated: Use CRKStatistic.ProtoReflect.Descriptor instead. +func (*CRKStatistic) Descriptor() ([]byte, []int) { + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{50} } -func (x *RSGStatistic) GetMaxAbsoluteValue() float32 { +func (x *CRKStatistic) GetMaxAbsoluteValue() float32 { if x != nil { return x.MaxAbsoluteValue } return 0 } -func (x *RSGStatistic) GetAvgValue() float32 { +func (x *CRKStatistic) GetAvgValue() float32 { if x != nil { return x.AvgValue } return 0 } -func (x *RSGStatistic) GetAvgTemperature() float32 { - if x != nil && x.AvgTemperature != nil { - return *x.AvgTemperature +func (x *CRKStatistic) GetRootMeanSquare() float32 { + if x != nil { + return x.RootMeanSquare } return 0 } -// 索力监测特征值 周期 1h -type VICStatistic struct { +func (x *CRKStatistic) GetTotalAbsoluteValue() float32 { + if x != nil { + return x.TotalAbsoluteValue + } + return 0 +} + +// 结冰 周期 1h +type FRZStatistic struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // 统计时间范围内的索力最大值 + // 统计时间范围内的结冰最大值 MaxValue float32 `protobuf:"fixed32,1,opt,name=maxValue,proto3" json:"maxValue,omitempty"` - // 统计时间范围内的索力最小值 + // 统计时间范围内的结冰最小值 MinValue float32 `protobuf:"fixed32,2,opt,name=minValue,proto3" json:"minValue,omitempty"` - // 统计时间范围内的索力平均值 + // 统计时间范围内的结冰平均值 AvgValue float32 `protobuf:"fixed32,3,opt,name=avgValue,proto3" json:"avgValue,omitempty"` - // 统计时间范围内的索力均方根值 - RootMeanSquare float32 `protobuf:"fixed32,4,opt,name=rootMeanSquare,proto3" json:"rootMeanSquare,omitempty"` } -func (x *VICStatistic) Reset() { - *x = VICStatistic{} +func (x *FRZStatistic) Reset() { + *x = FRZStatistic{} if protoimpl.UnsafeEnabled { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[42] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *VICStatistic) String() string { +func (x *FRZStatistic) String() string { return protoimpl.X.MessageStringOf(x) } -func (*VICStatistic) ProtoMessage() {} +func (*FRZStatistic) ProtoMessage() {} -func (x *VICStatistic) ProtoReflect() protoreflect.Message { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[42] +func (x *FRZStatistic) ProtoReflect() protoreflect.Message { + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4116,68 +4618,59 @@ func (x *VICStatistic) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use VICStatistic.ProtoReflect.Descriptor instead. -func (*VICStatistic) Descriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{42} +// Deprecated: Use FRZStatistic.ProtoReflect.Descriptor instead. +func (*FRZStatistic) Descriptor() ([]byte, []int) { + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{51} } -func (x *VICStatistic) GetMaxValue() float32 { +func (x *FRZStatistic) GetMaxValue() float32 { if x != nil { return x.MaxValue } return 0 } -func (x *VICStatistic) GetMinValue() float32 { +func (x *FRZStatistic) GetMinValue() float32 { if x != nil { return x.MinValue } return 0 } -func (x *VICStatistic) GetAvgValue() float32 { +func (x *FRZStatistic) GetAvgValue() float32 { if x != nil { return x.AvgValue } return 0 } -func (x *VICStatistic) GetRootMeanSquare() float32 { - if x != nil { - return x.RootMeanSquare - } - return 0 -} - -// 动力特性监测特征值 振动(主梁、索塔、拱圈) 周期 10min -type VIBStatistic struct { +// 降雨量 周期 10min +type PWSStatistic struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // 统计时间范围内的绝对最大值 - MaxAbsoluteValue float32 `protobuf:"fixed32,1,opt,name=maxAbsoluteValue,proto3" json:"maxAbsoluteValue,omitempty"` - // 统计时间范围内的均方根值 - RootMeanSquare float32 `protobuf:"fixed32,2,opt,name=rootMeanSquare,proto3" json:"rootMeanSquare,omitempty"` + // 统计时间范围内的降雨量平均值 + AvgValue float32 `protobuf:"fixed32,1,opt,name=avgValue,proto3" json:"avgValue,omitempty"` } -func (x *VIBStatistic) Reset() { - *x = VIBStatistic{} +func (x *PWSStatistic) Reset() { + *x = PWSStatistic{} if protoimpl.UnsafeEnabled { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[43] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *VIBStatistic) String() string { +func (x *PWSStatistic) String() string { return protoimpl.X.MessageStringOf(x) } -func (*VIBStatistic) ProtoMessage() {} +func (*PWSStatistic) ProtoMessage() {} -func (x *VIBStatistic) ProtoReflect() protoreflect.Message { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[43] +func (x *PWSStatistic) ProtoReflect() protoreflect.Message { + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4188,54 +4681,98 @@ func (x *VIBStatistic) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use VIBStatistic.ProtoReflect.Descriptor instead. -func (*VIBStatistic) Descriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{43} +// Deprecated: Use PWSStatistic.ProtoReflect.Descriptor instead. +func (*PWSStatistic) Descriptor() ([]byte, []int) { + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{52} } -func (x *VIBStatistic) GetMaxAbsoluteValue() float32 { +func (x *PWSStatistic) GetAvgValue() float32 { if x != nil { - return x.MaxAbsoluteValue + return x.AvgValue } return 0 } -func (x *VIBStatistic) GetRootMeanSquare() float32 { +// 能见度 周期 10min +type VSBStatistic struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 统计时间范围内的能见度值 + AvgValue float32 `protobuf:"fixed32,1,opt,name=avgValue,proto3" json:"avgValue,omitempty"` +} + +func (x *VSBStatistic) Reset() { + *x = VSBStatistic{} + if protoimpl.UnsafeEnabled { + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[53] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VSBStatistic) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VSBStatistic) ProtoMessage() {} + +func (x *VSBStatistic) ProtoReflect() protoreflect.Message { + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[53] + 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 VSBStatistic.ProtoReflect.Descriptor instead. +func (*VSBStatistic) Descriptor() ([]byte, []int) { + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{53} +} + +func (x *VSBStatistic) GetAvgValue() float32 { if x != nil { - return x.RootMeanSquare + return x.AvgValue } return 0 } -// 地震船撞特性监测特征值 周期10min -type VIEStatistic struct { +// 大气浓度 周期 1h +type ACNStatistic struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // 统计时间范围内的绝对最大值 - MaxAbsoluteValue float32 `protobuf:"fixed32,1,opt,name=maxAbsoluteValue,proto3" json:"maxAbsoluteValue,omitempty"` - // 统计时间范围内的均方根值 - RootMeanSquare float32 `protobuf:"fixed32,2,opt,name=rootMeanSquare,proto3" json:"rootMeanSquare,omitempty"` + // 统计时间范围内的大气浓度最大值 + MaxValue float32 `protobuf:"fixed32,1,opt,name=maxValue,proto3" json:"maxValue,omitempty"` + // 统计时间范围内的大气浓度最小值 + MinValue float32 `protobuf:"fixed32,2,opt,name=minValue,proto3" json:"minValue,omitempty"` + // 统计时间范围内的大气浓度平均值 + AvgValue float32 `protobuf:"fixed32,3,opt,name=avgValue,proto3" json:"avgValue,omitempty"` } -func (x *VIEStatistic) Reset() { - *x = VIEStatistic{} +func (x *ACNStatistic) Reset() { + *x = ACNStatistic{} if protoimpl.UnsafeEnabled { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[44] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *VIEStatistic) String() string { +func (x *ACNStatistic) String() string { return protoimpl.X.MessageStringOf(x) } -func (*VIEStatistic) ProtoMessage() {} +func (*ACNStatistic) ProtoMessage() {} -func (x *VIEStatistic) ProtoReflect() protoreflect.Message { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[44] +func (x *ACNStatistic) ProtoReflect() protoreflect.Message { + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4246,54 +4783,63 @@ func (x *VIEStatistic) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use VIEStatistic.ProtoReflect.Descriptor instead. -func (*VIEStatistic) Descriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{44} +// Deprecated: Use ACNStatistic.ProtoReflect.Descriptor instead. +func (*ACNStatistic) Descriptor() ([]byte, []int) { + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{54} } -func (x *VIEStatistic) GetMaxAbsoluteValue() float32 { +func (x *ACNStatistic) GetMaxValue() float32 { if x != nil { - return x.MaxAbsoluteValue + return x.MaxValue } return 0 } -func (x *VIEStatistic) GetRootMeanSquare() float32 { +func (x *ACNStatistic) GetMinValue() float32 { if x != nil { - return x.RootMeanSquare + return x.MinValue } return 0 } -// TMD监测特征值 周期10min -type TMDStatistic struct { +func (x *ACNStatistic) GetAvgValue() float32 { + if x != nil { + return x.AvgValue + } + return 0 +} + +// 水位 周期 1h +type WLVStatistic struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // 统计时间范围内的绝对最大值 - MaxAbsoluteValue float32 `protobuf:"fixed32,1,opt,name=maxAbsoluteValue,proto3" json:"maxAbsoluteValue,omitempty"` - // 统计时间范围内的均方根值 - RootMeanSquare float32 `protobuf:"fixed32,2,opt,name=rootMeanSquare,proto3" json:"rootMeanSquare,omitempty"` + // 统计时间范围内的水位最大值 + MaxValue float32 `protobuf:"fixed32,1,opt,name=maxValue,proto3" json:"maxValue,omitempty"` + // 统计时间范围内的水位最小值 + MinValue float32 `protobuf:"fixed32,2,opt,name=minValue,proto3" json:"minValue,omitempty"` + // 统计时间范围内的水位平均值 + AvgValue float32 `protobuf:"fixed32,3,opt,name=avgValue,proto3" json:"avgValue,omitempty"` } -func (x *TMDStatistic) Reset() { - *x = TMDStatistic{} +func (x *WLVStatistic) Reset() { + *x = WLVStatistic{} if protoimpl.UnsafeEnabled { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[45] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *TMDStatistic) String() string { +func (x *WLVStatistic) String() string { return protoimpl.X.MessageStringOf(x) } -func (*TMDStatistic) ProtoMessage() {} +func (*WLVStatistic) ProtoMessage() {} -func (x *TMDStatistic) ProtoReflect() protoreflect.Message { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[45] +func (x *WLVStatistic) ProtoReflect() protoreflect.Message { + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4304,58 +4850,63 @@ func (x *TMDStatistic) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TMDStatistic.ProtoReflect.Descriptor instead. -func (*TMDStatistic) Descriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{45} +// Deprecated: Use WLVStatistic.ProtoReflect.Descriptor instead. +func (*WLVStatistic) Descriptor() ([]byte, []int) { + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{55} } -func (x *TMDStatistic) GetMaxAbsoluteValue() float32 { +func (x *WLVStatistic) GetMaxValue() float32 { if x != nil { - return x.MaxAbsoluteValue + return x.MaxValue } return 0 } -func (x *TMDStatistic) GetRootMeanSquare() float32 { +func (x *WLVStatistic) GetMinValue() float32 { if x != nil { - return x.RootMeanSquare + return x.MinValue } return 0 } -// 车辆载荷监测特征值 -动态称重 周期 1h -type HSDStatistic struct { +func (x *WLVStatistic) GetAvgValue() float32 { + if x != nil { + return x.AvgValue + } + return 0 +} + +// 螺杆状态 周期 1h +type BTFStatistic struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // 统计时间范围内的车流量 - TrafficFlow int32 `protobuf:"varint,1,opt,name=trafficFlow,proto3" json:"trafficFlow,omitempty"` - // 统计时间范围内的最大车重 - MaxTotalLoad int32 `protobuf:"varint,2,opt,name=maxTotalLoad,proto3" json:"maxTotalLoad,omitempty"` - // 统计时间范围内的最大轴重 - MaxAxleLoad int32 `protobuf:"varint,3,opt,name=maxAxleLoad,proto3" json:"maxAxleLoad,omitempty"` - // 统计时间范围内的超载车数量 - OverLoadCount int32 `protobuf:"varint,4,opt,name=overLoadCount,proto3" json:"overLoadCount,omitempty"` + // 统计时间范围内的螺杆状态平均值 + AvgValue float32 `protobuf:"fixed32,1,opt,name=avgValue,proto3" json:"avgValue,omitempty"` + // 统计时间范围内的螺杆状态绝对最大值 + MaxAbsoluteValue float32 `protobuf:"fixed32,2,opt,name=maxAbsoluteValue,proto3" json:"maxAbsoluteValue,omitempty"` + // 统计时间范围内的螺杆状态均方根值 + RootMeanSquare float32 `protobuf:"fixed32,3,opt,name=rootMeanSquare,proto3" json:"rootMeanSquare,omitempty"` } -func (x *HSDStatistic) Reset() { - *x = HSDStatistic{} +func (x *BTFStatistic) Reset() { + *x = BTFStatistic{} if protoimpl.UnsafeEnabled { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[46] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *HSDStatistic) String() string { +func (x *BTFStatistic) String() string { return protoimpl.X.MessageStringOf(x) } -func (*HSDStatistic) ProtoMessage() {} +func (*BTFStatistic) ProtoMessage() {} -func (x *HSDStatistic) ProtoReflect() protoreflect.Message { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[46] +func (x *BTFStatistic) ProtoReflect() protoreflect.Message { + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4366,72 +4917,63 @@ func (x *HSDStatistic) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use HSDStatistic.ProtoReflect.Descriptor instead. -func (*HSDStatistic) Descriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{46} -} - -func (x *HSDStatistic) GetTrafficFlow() int32 { - if x != nil { - return x.TrafficFlow - } - return 0 +// Deprecated: Use BTFStatistic.ProtoReflect.Descriptor instead. +func (*BTFStatistic) Descriptor() ([]byte, []int) { + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{56} } -func (x *HSDStatistic) GetMaxTotalLoad() int32 { +func (x *BTFStatistic) GetAvgValue() float32 { if x != nil { - return x.MaxTotalLoad + return x.AvgValue } return 0 } -func (x *HSDStatistic) GetMaxAxleLoad() int32 { +func (x *BTFStatistic) GetMaxAbsoluteValue() float32 { if x != nil { - return x.MaxAxleLoad + return x.MaxAbsoluteValue } return 0 } -func (x *HSDStatistic) GetOverLoadCount() int32 { +func (x *BTFStatistic) GetRootMeanSquare() float32 { if x != nil { - return x.OverLoadCount + return x.RootMeanSquare } return 0 } -// 裂缝监测特征值 位移( 周期 1h) -type CRKStatistic struct { +// 滑移 周期 1h +type CSPStatistic struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // 统计时间范围内的绝对最大值 - MaxAbsoluteValue float32 `protobuf:"fixed32,1,opt,name=maxAbsoluteValue,proto3" json:"maxAbsoluteValue,omitempty"` - // 统计时间范围内的位移平均值 - AvgValue float32 `protobuf:"fixed32,2,opt,name=avgValue,proto3" json:"avgValue,omitempty"` - // 统计时间范围内的位移均方根值 + // 统计时间范围内的索夹滑移平均值 + AvgValue float32 `protobuf:"fixed32,1,opt,name=avgValue,proto3" json:"avgValue,omitempty"` + // 统计时间范围内的索夹滑移绝对最大值 + MaxAbsoluteValue float32 `protobuf:"fixed32,2,opt,name=maxAbsoluteValue,proto3" json:"maxAbsoluteValue,omitempty"` + // 统计时间范围内的索夹滑移均方根值 RootMeanSquare float32 `protobuf:"fixed32,3,opt,name=rootMeanSquare,proto3" json:"rootMeanSquare,omitempty"` - // 统计时间范围内的绝对值累积量 - TotalAbsoluteValue float32 `protobuf:"fixed32,4,opt,name=totalAbsoluteValue,proto3" json:"totalAbsoluteValue,omitempty"` } -func (x *CRKStatistic) Reset() { - *x = CRKStatistic{} +func (x *CSPStatistic) Reset() { + *x = CSPStatistic{} if protoimpl.UnsafeEnabled { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[47] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CRKStatistic) String() string { +func (x *CSPStatistic) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CRKStatistic) ProtoMessage() {} +func (*CSPStatistic) ProtoMessage() {} -func (x *CRKStatistic) ProtoReflect() protoreflect.Message { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[47] +func (x *CSPStatistic) ProtoReflect() protoreflect.Message { + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4442,70 +4984,75 @@ func (x *CRKStatistic) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CRKStatistic.ProtoReflect.Descriptor instead. -func (*CRKStatistic) Descriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{47} -} - -func (x *CRKStatistic) GetMaxAbsoluteValue() float32 { - if x != nil { - return x.MaxAbsoluteValue - } - return 0 +// Deprecated: Use CSPStatistic.ProtoReflect.Descriptor instead. +func (*CSPStatistic) Descriptor() ([]byte, []int) { + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{57} } -func (x *CRKStatistic) GetAvgValue() float32 { +func (x *CSPStatistic) GetAvgValue() float32 { if x != nil { return x.AvgValue } return 0 } -func (x *CRKStatistic) GetRootMeanSquare() float32 { +func (x *CSPStatistic) GetMaxAbsoluteValue() float32 { if x != nil { - return x.RootMeanSquare + return x.MaxAbsoluteValue } return 0 } -func (x *CRKStatistic) GetTotalAbsoluteValue() float32 { +func (x *CSPStatistic) GetRootMeanSquare() float32 { if x != nil { - return x.TotalAbsoluteValue + return x.RootMeanSquare } return 0 } -// 结冰(周期 1h) -type FRZStatistic struct { +// 表面变形监测特征值 周期: 1h +type PLDStatistic struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // 统计时间范围内的结冰最大值 - MaxValue float32 `protobuf:"fixed32,1,opt,name=maxValue,proto3" json:"maxValue,omitempty"` - // 统计时间范围内的结冰最小值 - MinValue float32 `protobuf:"fixed32,2,opt,name=minValue,proto3" json:"minValue,omitempty"` - // 统计时间范围内的结冰平均值 - AvgValue float32 `protobuf:"fixed32,3,opt,name=avgValue,proto3" json:"avgValue,omitempty"` + // 统计时间范围内的空间变形X绝对最大值 + MaxAbsoluteValueX float32 `protobuf:"fixed32,1,opt,name=maxAbsoluteValueX,proto3" json:"maxAbsoluteValueX,omitempty"` + // 统计时间范围内的空间变形X平均值 + AvgValueX float32 `protobuf:"fixed32,2,opt,name=avgValueX,proto3" json:"avgValueX,omitempty"` + // 统计时间范围内的空间变形X均方根 + RootMeanSquareX float32 `protobuf:"fixed32,3,opt,name=rootMeanSquareX,proto3" json:"rootMeanSquareX,omitempty"` + // 统计时间范围内的空间变形Y绝对最大值 + MaxAbsoluteValueY float32 `protobuf:"fixed32,4,opt,name=maxAbsoluteValueY,proto3" json:"maxAbsoluteValueY,omitempty"` + // 统计时间范围内的空间变形Y平均值 + AvgValueY float32 `protobuf:"fixed32,5,opt,name=avgValueY,proto3" json:"avgValueY,omitempty"` + // 统计时间范围内的空间变形Y均方根 + RootMeanSquareY float32 `protobuf:"fixed32,6,opt,name=rootMeanSquareY,proto3" json:"rootMeanSquareY,omitempty"` + // 统计时间范围内的空间变形Z绝对最大值 + MaxAbsoluteValueZ float32 `protobuf:"fixed32,7,opt,name=maxAbsoluteValueZ,proto3" json:"maxAbsoluteValueZ,omitempty"` + // 统计时间范围内的空间变形Z平均值 + AvgValueZ float32 `protobuf:"fixed32,8,opt,name=avgValueZ,proto3" json:"avgValueZ,omitempty"` + // 统计时间范围内的空间变形Z均方根 + RootMeanSquareZ float32 `protobuf:"fixed32,9,opt,name=rootMeanSquareZ,proto3" json:"rootMeanSquareZ,omitempty"` } -func (x *FRZStatistic) Reset() { - *x = FRZStatistic{} +func (x *PLDStatistic) Reset() { + *x = PLDStatistic{} if protoimpl.UnsafeEnabled { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[48] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *FRZStatistic) String() string { +func (x *PLDStatistic) String() string { return protoimpl.X.MessageStringOf(x) } -func (*FRZStatistic) ProtoMessage() {} +func (*PLDStatistic) ProtoMessage() {} -func (x *FRZStatistic) ProtoReflect() protoreflect.Message { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[48] +func (x *PLDStatistic) ProtoReflect() protoreflect.Message { + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4516,108 +5063,103 @@ func (x *FRZStatistic) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use FRZStatistic.ProtoReflect.Descriptor instead. -func (*FRZStatistic) Descriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{48} +// Deprecated: Use PLDStatistic.ProtoReflect.Descriptor instead. +func (*PLDStatistic) Descriptor() ([]byte, []int) { + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{58} } -func (x *FRZStatistic) GetMaxValue() float32 { +func (x *PLDStatistic) GetMaxAbsoluteValueX() float32 { if x != nil { - return x.MaxValue + return x.MaxAbsoluteValueX } return 0 } -func (x *FRZStatistic) GetMinValue() float32 { +func (x *PLDStatistic) GetAvgValueX() float32 { if x != nil { - return x.MinValue + return x.AvgValueX } return 0 } -func (x *FRZStatistic) GetAvgValue() float32 { +func (x *PLDStatistic) GetRootMeanSquareX() float32 { if x != nil { - return x.AvgValue + return x.RootMeanSquareX } return 0 } -// 降雨量(周期 10min) -type PWSStatistic struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // 统计时间范围内的降雨量平均值 - AvgValue float32 `protobuf:"fixed32,1,opt,name=avgValue,proto3" json:"avgValue,omitempty"` +func (x *PLDStatistic) GetMaxAbsoluteValueY() float32 { + if x != nil { + return x.MaxAbsoluteValueY + } + return 0 } -func (x *PWSStatistic) Reset() { - *x = PWSStatistic{} - if protoimpl.UnsafeEnabled { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[49] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *PLDStatistic) GetAvgValueY() float32 { + if x != nil { + return x.AvgValueY } + return 0 } -func (x *PWSStatistic) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *PLDStatistic) GetRootMeanSquareY() float32 { + if x != nil { + return x.RootMeanSquareY + } + return 0 } -func (*PWSStatistic) ProtoMessage() {} - -func (x *PWSStatistic) ProtoReflect() protoreflect.Message { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[49] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *PLDStatistic) GetMaxAbsoluteValueZ() float32 { + if x != nil { + return x.MaxAbsoluteValueZ } - return mi.MessageOf(x) + return 0 } -// Deprecated: Use PWSStatistic.ProtoReflect.Descriptor instead. -func (*PWSStatistic) Descriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{49} +func (x *PLDStatistic) GetAvgValueZ() float32 { + if x != nil { + return x.AvgValueZ + } + return 0 } -func (x *PWSStatistic) GetAvgValue() float32 { +func (x *PLDStatistic) GetRootMeanSquareZ() float32 { if x != nil { - return x.AvgValue + return x.RootMeanSquareZ } return 0 } -// 能见度(周期 10min) -type VSBStatistic struct { +// 风压监测特征值 周期: 10分钟 +type WDPStatistic struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // 统计时间范围内的能见度值 + // 统计时间范围内的风压平均值 AvgValue float32 `protobuf:"fixed32,1,opt,name=avgValue,proto3" json:"avgValue,omitempty"` + // 统计时间范围内的风压均方根 + RootMeanSquare float32 `protobuf:"fixed32,2,opt,name=rootMeanSquare,proto3" json:"rootMeanSquare,omitempty"` } -func (x *VSBStatistic) Reset() { - *x = VSBStatistic{} +func (x *WDPStatistic) Reset() { + *x = WDPStatistic{} if protoimpl.UnsafeEnabled { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[50] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *VSBStatistic) String() string { +func (x *WDPStatistic) String() string { return protoimpl.X.MessageStringOf(x) } -func (*VSBStatistic) ProtoMessage() {} +func (*WDPStatistic) ProtoMessage() {} -func (x *VSBStatistic) ProtoReflect() protoreflect.Message { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[50] +func (x *WDPStatistic) ProtoReflect() protoreflect.Message { + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4628,49 +5170,56 @@ func (x *VSBStatistic) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use VSBStatistic.ProtoReflect.Descriptor instead. -func (*VSBStatistic) Descriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{50} +// Deprecated: Use WDPStatistic.ProtoReflect.Descriptor instead. +func (*WDPStatistic) Descriptor() ([]byte, []int) { + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{59} +} + +func (x *WDPStatistic) GetAvgValue() float32 { + if x != nil { + return x.AvgValue + } + return 0 } -func (x *VSBStatistic) GetAvgValue() float32 { +func (x *WDPStatistic) GetRootMeanSquare() float32 { if x != nil { - return x.AvgValue + return x.RootMeanSquare } return 0 } -// 大气浓度(周期 1h) -type ACNStatistic struct { +// 支反力监测特征值 周期: 1小时 +type STFStatistic struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // 统计时间范围内的大气浓度最大值 + // 统计时间范围内的支反力最大值 MaxValue float32 `protobuf:"fixed32,1,opt,name=maxValue,proto3" json:"maxValue,omitempty"` - // 统计时间范围内的大气浓度最小值 + // 统计时间范围内的支反力最小值 MinValue float32 `protobuf:"fixed32,2,opt,name=minValue,proto3" json:"minValue,omitempty"` - // 统计时间范围内的大气浓度平均值 + // 统计时间范围内的支反力平均值 AvgValue float32 `protobuf:"fixed32,3,opt,name=avgValue,proto3" json:"avgValue,omitempty"` } -func (x *ACNStatistic) Reset() { - *x = ACNStatistic{} +func (x *STFStatistic) Reset() { + *x = STFStatistic{} if protoimpl.UnsafeEnabled { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[51] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ACNStatistic) String() string { +func (x *STFStatistic) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ACNStatistic) ProtoMessage() {} +func (*STFStatistic) ProtoMessage() {} -func (x *ACNStatistic) ProtoReflect() protoreflect.Message { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[51] +func (x *STFStatistic) ProtoReflect() protoreflect.Message { + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[60] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4681,63 +5230,61 @@ func (x *ACNStatistic) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ACNStatistic.ProtoReflect.Descriptor instead. -func (*ACNStatistic) Descriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{51} +// Deprecated: Use STFStatistic.ProtoReflect.Descriptor instead. +func (*STFStatistic) Descriptor() ([]byte, []int) { + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{60} } -func (x *ACNStatistic) GetMaxValue() float32 { +func (x *STFStatistic) GetMaxValue() float32 { if x != nil { return x.MaxValue } return 0 } -func (x *ACNStatistic) GetMinValue() float32 { +func (x *STFStatistic) GetMinValue() float32 { if x != nil { return x.MinValue } return 0 } -func (x *ACNStatistic) GetAvgValue() float32 { +func (x *STFStatistic) GetAvgValue() float32 { if x != nil { return x.AvgValue } return 0 } -// 水位(周期 1h) -type WLVStatistic struct { +// 基础冲刷监测特征值 周期: 1小时 +type SCOStatistic struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // 统计时间范围内的水位最大值 + // 统计时间范围内的冲刷深度最大值 MaxValue float32 `protobuf:"fixed32,1,opt,name=maxValue,proto3" json:"maxValue,omitempty"` - // 统计时间范围内的水位最小值 - MinValue float32 `protobuf:"fixed32,2,opt,name=minValue,proto3" json:"minValue,omitempty"` - // 统计时间范围内的水位平均值 - AvgValue float32 `protobuf:"fixed32,3,opt,name=avgValue,proto3" json:"avgValue,omitempty"` + // 统计时间范围内的冲刷范围 + ScourRange float32 `protobuf:"fixed32,2,opt,name=scourRange,proto3" json:"scourRange,omitempty"` } -func (x *WLVStatistic) Reset() { - *x = WLVStatistic{} +func (x *SCOStatistic) Reset() { + *x = SCOStatistic{} if protoimpl.UnsafeEnabled { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[52] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *WLVStatistic) String() string { +func (x *SCOStatistic) String() string { return protoimpl.X.MessageStringOf(x) } -func (*WLVStatistic) ProtoMessage() {} +func (*SCOStatistic) ProtoMessage() {} -func (x *WLVStatistic) ProtoReflect() protoreflect.Message { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[52] +func (x *SCOStatistic) ProtoReflect() protoreflect.Message { + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[61] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4748,63 +5295,62 @@ func (x *WLVStatistic) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use WLVStatistic.ProtoReflect.Descriptor instead. -func (*WLVStatistic) Descriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{52} +// Deprecated: Use SCOStatistic.ProtoReflect.Descriptor instead. +func (*SCOStatistic) Descriptor() ([]byte, []int) { + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{61} } -func (x *WLVStatistic) GetMaxValue() float32 { +func (x *SCOStatistic) GetMaxValue() float32 { if x != nil { return x.MaxValue } return 0 } -func (x *WLVStatistic) GetMinValue() float32 { - if x != nil { - return x.MinValue - } - return 0 -} - -func (x *WLVStatistic) GetAvgValue() float32 { +func (x *SCOStatistic) GetScourRange() float32 { if x != nil { - return x.AvgValue + return x.ScourRange } return 0 } -// 螺杆状态(周期 1h) -type BTFStatistic struct { +// 腐蚀监测特征值 周期: 24小时 +type CORStatistic struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // 统计时间范围内的螺杆状态平均值 - AvgValue float32 `protobuf:"fixed32,1,opt,name=avgValue,proto3" json:"avgValue,omitempty"` - // 统计时间范围内的螺杆状态绝对最大值 - MaxAbsoluteValue float32 `protobuf:"fixed32,2,opt,name=maxAbsoluteValue,proto3" json:"maxAbsoluteValue,omitempty"` - // 统计时间范围内的螺杆状态均方根值 - RootMeanSquare float32 `protobuf:"fixed32,3,opt,name=rootMeanSquare,proto3" json:"rootMeanSquare,omitempty"` -} - -func (x *BTFStatistic) Reset() { - *x = BTFStatistic{} + // 氯离子浓度最大值 + ChlorideConcentrationMaxValue float32 `protobuf:"fixed32,1,opt,name=chlorideConcentrationMaxValue,proto3" json:"chlorideConcentrationMaxValue,omitempty"` + // 氯离子浓度最小值 + ChlorideConcentrationMinValue float32 `protobuf:"fixed32,2,opt,name=chlorideConcentrationMinValue,proto3" json:"chlorideConcentrationMinValue,omitempty"` + // 氯离子浓度平均值 + ChlorideConcentrationAvgValue float32 `protobuf:"fixed32,3,opt,name=chlorideConcentrationAvgValue,proto3" json:"chlorideConcentrationAvgValue,omitempty"` + // 侵蚀深度最大值 + CorrosionDepthMaxValue float32 `protobuf:"fixed32,4,opt,name=corrosionDepthMaxValue,proto3" json:"corrosionDepthMaxValue,omitempty"` + // 侵蚀深度最小值 + CorrosionDepthMinValue float32 `protobuf:"fixed32,5,opt,name=corrosionDepthMinValue,proto3" json:"corrosionDepthMinValue,omitempty"` + // 侵蚀深度平均值 + CorrosionDepthAvgValue float32 `protobuf:"fixed32,6,opt,name=corrosionDepthAvgValue,proto3" json:"corrosionDepthAvgValue,omitempty"` +} + +func (x *CORStatistic) Reset() { + *x = CORStatistic{} if protoimpl.UnsafeEnabled { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[53] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *BTFStatistic) String() string { +func (x *CORStatistic) String() string { return protoimpl.X.MessageStringOf(x) } -func (*BTFStatistic) ProtoMessage() {} +func (*CORStatistic) ProtoMessage() {} -func (x *BTFStatistic) ProtoReflect() protoreflect.Message { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[53] +func (x *CORStatistic) ProtoReflect() protoreflect.Message { + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[62] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4815,63 +5361,84 @@ func (x *BTFStatistic) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use BTFStatistic.ProtoReflect.Descriptor instead. -func (*BTFStatistic) Descriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{53} +// Deprecated: Use CORStatistic.ProtoReflect.Descriptor instead. +func (*CORStatistic) Descriptor() ([]byte, []int) { + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{62} } -func (x *BTFStatistic) GetAvgValue() float32 { +func (x *CORStatistic) GetChlorideConcentrationMaxValue() float32 { if x != nil { - return x.AvgValue + return x.ChlorideConcentrationMaxValue } return 0 } -func (x *BTFStatistic) GetMaxAbsoluteValue() float32 { +func (x *CORStatistic) GetChlorideConcentrationMinValue() float32 { if x != nil { - return x.MaxAbsoluteValue + return x.ChlorideConcentrationMinValue } return 0 } -func (x *BTFStatistic) GetRootMeanSquare() float32 { +func (x *CORStatistic) GetChlorideConcentrationAvgValue() float32 { if x != nil { - return x.RootMeanSquare + return x.ChlorideConcentrationAvgValue } return 0 } -// 索夹滑移(周期 1h) -type CSPStatistic struct { +func (x *CORStatistic) GetCorrosionDepthMaxValue() float32 { + if x != nil { + return x.CorrosionDepthMaxValue + } + return 0 +} + +func (x *CORStatistic) GetCorrosionDepthMinValue() float32 { + if x != nil { + return x.CorrosionDepthMinValue + } + return 0 +} + +func (x *CORStatistic) GetCorrosionDepthAvgValue() float32 { + if x != nil { + return x.CorrosionDepthAvgValue + } + return 0 +} + +// 直接法预应力监测 周期:24小时 +type STRStatistic struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // 统计时间范围内的索夹滑移平均值 - AvgValue float32 `protobuf:"fixed32,1,opt,name=avgValue,proto3" json:"avgValue,omitempty"` - // 统计时间范围内的索夹滑移绝对最大值 - MaxAbsoluteValue float32 `protobuf:"fixed32,2,opt,name=maxAbsoluteValue,proto3" json:"maxAbsoluteValue,omitempty"` - // 统计时间范围内的索夹滑移均方根值 - RootMeanSquare float32 `protobuf:"fixed32,3,opt,name=rootMeanSquare,proto3" json:"rootMeanSquare,omitempty"` + // 统计时间范围内的最大值 + MaxValue float32 `protobuf:"fixed32,1,opt,name=maxValue,proto3" json:"maxValue,omitempty"` + // 统计时间范围内的最小值 + MinValue float32 `protobuf:"fixed32,2,opt,name=minValue,proto3" json:"minValue,omitempty"` + // 统计时间范围内的平均值 + AvgValue float32 `protobuf:"fixed32,3,opt,name=avgValue,proto3" json:"avgValue,omitempty"` } -func (x *CSPStatistic) Reset() { - *x = CSPStatistic{} +func (x *STRStatistic) Reset() { + *x = STRStatistic{} if protoimpl.UnsafeEnabled { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[54] + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CSPStatistic) String() string { +func (x *STRStatistic) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CSPStatistic) ProtoMessage() {} +func (*STRStatistic) ProtoMessage() {} -func (x *CSPStatistic) ProtoReflect() protoreflect.Message { - mi := &file_MonitorDataProtocol_V1_3_1_proto_msgTypes[54] +func (x *STRStatistic) ProtoReflect() protoreflect.Message { + mi := &file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[63] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4882,588 +5449,491 @@ func (x *CSPStatistic) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CSPStatistic.ProtoReflect.Descriptor instead. -func (*CSPStatistic) Descriptor() ([]byte, []int) { - return file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP(), []int{54} +// Deprecated: Use STRStatistic.ProtoReflect.Descriptor instead. +func (*STRStatistic) Descriptor() ([]byte, []int) { + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP(), []int{63} } -func (x *CSPStatistic) GetAvgValue() float32 { +func (x *STRStatistic) GetMaxValue() float32 { if x != nil { - return x.AvgValue + return x.MaxValue } return 0 } -func (x *CSPStatistic) GetMaxAbsoluteValue() float32 { +func (x *STRStatistic) GetMinValue() float32 { if x != nil { - return x.MaxAbsoluteValue + return x.MinValue } return 0 } -func (x *CSPStatistic) GetRootMeanSquare() float32 { +func (x *STRStatistic) GetAvgValue() float32 { if x != nil { - return x.RootMeanSquare + return x.AvgValue } return 0 } -var File_MonitorDataProtocol_V1_3_1_proto protoreflect.FileDescriptor +var File_MonitorDataProtocol_Ministry_v3_0_proto protoreflect.FileDescriptor -var file_MonitorDataProtocol_V1_3_1_proto_rawDesc = []byte{ - 0x0a, 0x20, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x44, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, - 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2d, 0x56, 0x31, 0x2e, 0x33, 0x2e, 0x31, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x12, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, - 0x6a, 0x68, 0x6c, 0x22, 0x4e, 0x0a, 0x0b, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x44, 0x61, - 0x74, 0x61, 0x12, 0x3f, 0x0a, 0x0a, 0x73, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x44, 0x61, 0x74, 0x61, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, - 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x44, 0x65, 0x66, - 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x73, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x44, - 0x61, 0x74, 0x61, 0x22, 0x80, 0x02, 0x0a, 0x0e, 0x44, 0x61, 0x74, 0x61, 0x44, 0x65, 0x66, 0x69, - 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x54, 0x79, - 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, +var file_MonitorDataProtocol_Ministry_v3_0_proto_rawDesc = []byte{ + 0x0a, 0x27, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x44, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2d, 0x4d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2d, 0x76, + 0x33, 0x2e, 0x30, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x5f, 0x76, 0x33, 0x22, 0x51, 0x0a, + 0x0b, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x44, 0x61, 0x74, 0x61, 0x12, 0x42, 0x0a, 0x0a, + 0x73, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, + 0x68, 0x6c, 0x5f, 0x76, 0x33, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x73, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x44, 0x61, 0x74, 0x61, + 0x22, 0xad, 0x02, 0x0a, 0x0e, 0x44, 0x61, 0x74, 0x61, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x38, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, + 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x5f, 0x76, 0x33, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x43, 0x0a, - 0x0c, 0x72, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, - 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x2e, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x44, 0x61, - 0x74, 0x61, 0x48, 0x00, 0x52, 0x0c, 0x72, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x44, 0x61, - 0x74, 0x61, 0x12, 0x46, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x44, - 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x2e, 0x53, 0x74, 0x61, 0x74, - 0x69, 0x73, 0x74, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x0d, 0x73, 0x74, 0x61, - 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x42, 0x0a, 0x0a, 0x08, 0x64, 0x61, - 0x74, 0x61, 0x42, 0x6f, 0x64, 0x79, 0x22, 0xe4, 0x0c, 0x0a, 0x0c, 0x52, 0x65, 0x61, 0x6c, 0x54, - 0x69, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3f, 0x0a, 0x0b, 0x6d, 0x6f, 0x6e, 0x69, 0x74, - 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x2e, 0x4d, - 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x6d, 0x6f, 0x6e, - 0x69, 0x74, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x6f, 0x6e, 0x69, - 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6d, - 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, - 0x72, 0x76, 0x61, 0x6c, 0x18, 0x64, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, - 0x72, 0x76, 0x61, 0x6c, 0x12, 0x30, 0x0a, 0x03, 0x75, 0x61, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, - 0x6a, 0x68, 0x6c, 0x2e, 0x55, 0x41, 0x4e, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x48, - 0x00, 0x52, 0x03, 0x75, 0x61, 0x6e, 0x12, 0x30, 0x0a, 0x03, 0x72, 0x68, 0x73, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, - 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x2e, 0x52, 0x48, 0x53, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, - 0x65, 0x48, 0x00, 0x52, 0x03, 0x72, 0x68, 0x73, 0x12, 0x30, 0x0a, 0x03, 0x74, 0x6d, 0x70, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, - 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x2e, 0x54, 0x4d, 0x50, 0x52, 0x65, 0x61, 0x6c, 0x54, - 0x69, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x03, 0x74, 0x6d, 0x70, 0x12, 0x33, 0x0a, 0x04, 0x67, 0x6e, - 0x73, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x2e, 0x47, 0x4e, 0x53, 0x53, 0x52, - 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x04, 0x67, 0x6e, 0x73, 0x73, 0x12, - 0x30, 0x0a, 0x03, 0x76, 0x69, 0x63, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x2e, 0x56, + 0x09, 0x52, 0x0a, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x22, 0x0a, + 0x0c, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x0f, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x43, 0x6f, 0x64, + 0x65, 0x12, 0x46, 0x0a, 0x0c, 0x72, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x44, 0x61, 0x74, + 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, + 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x5f, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x61, + 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x0c, 0x72, 0x65, 0x61, + 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x49, 0x0a, 0x0d, 0x73, 0x74, 0x61, + 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, + 0x68, 0x6c, 0x5f, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x44, + 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, + 0x44, 0x61, 0x74, 0x61, 0x42, 0x0a, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x42, 0x6f, 0x64, 0x79, + 0x22, 0x8c, 0x0e, 0x0a, 0x0c, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x44, 0x61, 0x74, + 0x61, 0x12, 0x42, 0x0a, 0x0b, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, + 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x5f, 0x76, 0x33, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, + 0x74, 0x6f, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, + 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, + 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6d, 0x6f, 0x6e, 0x69, + 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x33, 0x0a, 0x03, 0x75, 0x61, 0x6e, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, + 0x7a, 0x6a, 0x68, 0x6c, 0x5f, 0x76, 0x33, 0x2e, 0x55, 0x41, 0x4e, 0x52, 0x65, 0x61, 0x6c, 0x54, + 0x69, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x03, 0x75, 0x61, 0x6e, 0x12, 0x33, 0x0a, 0x03, 0x72, 0x68, + 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, + 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x5f, 0x76, 0x33, 0x2e, 0x52, 0x48, 0x53, + 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x03, 0x72, 0x68, 0x73, 0x12, + 0x33, 0x0a, 0x03, 0x74, 0x6d, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x5f, 0x76, + 0x33, 0x2e, 0x54, 0x4d, 0x50, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x48, 0x00, 0x52, + 0x03, 0x74, 0x6d, 0x70, 0x12, 0x36, 0x0a, 0x04, 0x67, 0x6e, 0x73, 0x73, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, + 0x7a, 0x6a, 0x68, 0x6c, 0x5f, 0x76, 0x33, 0x2e, 0x47, 0x4e, 0x53, 0x53, 0x52, 0x65, 0x61, 0x6c, + 0x54, 0x69, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x04, 0x67, 0x6e, 0x73, 0x73, 0x12, 0x33, 0x0a, 0x03, + 0x76, 0x69, 0x63, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x5f, 0x76, 0x33, 0x2e, 0x56, 0x49, 0x43, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x03, 0x76, 0x69, - 0x63, 0x12, 0x30, 0x0a, 0x03, 0x64, 0x69, 0x63, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x63, 0x12, 0x33, 0x0a, 0x03, 0x64, 0x69, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, - 0x2e, 0x44, 0x49, 0x43, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x03, - 0x64, 0x69, 0x63, 0x12, 0x30, 0x0a, 0x03, 0x64, 0x69, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, - 0x68, 0x6c, 0x2e, 0x44, 0x49, 0x53, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x48, 0x00, - 0x52, 0x03, 0x64, 0x69, 0x73, 0x12, 0x30, 0x0a, 0x03, 0x68, 0x70, 0x74, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, - 0x7a, 0x6a, 0x68, 0x6c, 0x2e, 0x48, 0x50, 0x54, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, - 0x48, 0x00, 0x52, 0x03, 0x68, 0x70, 0x74, 0x12, 0x30, 0x0a, 0x03, 0x72, 0x73, 0x67, 0x18, 0x0c, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, - 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x2e, 0x52, 0x53, 0x47, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, - 0x6d, 0x65, 0x48, 0x00, 0x52, 0x03, 0x72, 0x73, 0x67, 0x12, 0x30, 0x0a, 0x03, 0x69, 0x6e, 0x63, - 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, - 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x2e, 0x49, 0x4e, 0x43, 0x52, 0x65, 0x61, 0x6c, - 0x54, 0x69, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x03, 0x69, 0x6e, 0x63, 0x12, 0x30, 0x0a, 0x03, 0x76, - 0x69, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x2e, 0x56, 0x49, 0x45, 0x52, 0x65, - 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x03, 0x76, 0x69, 0x65, 0x12, 0x30, 0x0a, - 0x03, 0x74, 0x6d, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x2e, 0x54, 0x4d, 0x44, + 0x5f, 0x76, 0x33, 0x2e, 0x44, 0x49, 0x53, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x48, + 0x00, 0x52, 0x03, 0x64, 0x69, 0x73, 0x12, 0x33, 0x0a, 0x03, 0x68, 0x70, 0x74, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, + 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x5f, 0x76, 0x33, 0x2e, 0x48, 0x50, 0x54, 0x52, 0x65, 0x61, 0x6c, + 0x54, 0x69, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x03, 0x68, 0x70, 0x74, 0x12, 0x33, 0x0a, 0x03, 0x72, + 0x73, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x5f, 0x76, 0x33, 0x2e, 0x52, 0x53, + 0x47, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x03, 0x72, 0x73, 0x67, + 0x12, 0x33, 0x0a, 0x03, 0x69, 0x6e, 0x63, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x5f, + 0x76, 0x33, 0x2e, 0x49, 0x4e, 0x43, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x48, 0x00, + 0x52, 0x03, 0x69, 0x6e, 0x63, 0x12, 0x33, 0x0a, 0x03, 0x76, 0x69, 0x65, 0x18, 0x0e, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, + 0x7a, 0x6a, 0x68, 0x6c, 0x5f, 0x76, 0x33, 0x2e, 0x56, 0x49, 0x45, 0x52, 0x65, 0x61, 0x6c, 0x54, + 0x69, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x03, 0x76, 0x69, 0x65, 0x12, 0x33, 0x0a, 0x03, 0x74, 0x6d, + 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, + 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x5f, 0x76, 0x33, 0x2e, 0x54, 0x4d, 0x44, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x03, 0x74, 0x6d, 0x64, 0x12, - 0x30, 0x0a, 0x03, 0x76, 0x69, 0x62, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x2e, 0x56, - 0x49, 0x42, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x03, 0x76, 0x69, - 0x62, 0x12, 0x30, 0x0a, 0x03, 0x68, 0x73, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, - 0x2e, 0x48, 0x53, 0x44, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x03, - 0x68, 0x73, 0x64, 0x12, 0x30, 0x0a, 0x03, 0x70, 0x77, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, - 0x68, 0x6c, 0x2e, 0x50, 0x57, 0x53, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x48, 0x00, - 0x52, 0x03, 0x70, 0x77, 0x73, 0x12, 0x30, 0x0a, 0x03, 0x66, 0x72, 0x7a, 0x18, 0x13, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, - 0x7a, 0x6a, 0x68, 0x6c, 0x2e, 0x46, 0x52, 0x5a, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, - 0x48, 0x00, 0x52, 0x03, 0x66, 0x72, 0x7a, 0x12, 0x30, 0x0a, 0x03, 0x6c, 0x6d, 0x7a, 0x18, 0x14, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, - 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x2e, 0x4c, 0x4d, 0x5a, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, - 0x6d, 0x65, 0x48, 0x00, 0x52, 0x03, 0x6c, 0x6d, 0x7a, 0x12, 0x30, 0x0a, 0x03, 0x73, 0x74, 0x66, - 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, - 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x2e, 0x53, 0x54, 0x46, 0x52, 0x65, 0x61, 0x6c, - 0x54, 0x69, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x03, 0x73, 0x74, 0x66, 0x12, 0x30, 0x0a, 0x03, 0x73, - 0x63, 0x6f, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x2e, 0x53, 0x43, 0x4f, 0x52, 0x65, - 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x03, 0x73, 0x63, 0x6f, 0x12, 0x30, 0x0a, - 0x03, 0x63, 0x72, 0x6b, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x2e, 0x43, 0x52, 0x4b, - 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x03, 0x63, 0x72, 0x6b, 0x12, - 0x30, 0x0a, 0x03, 0x63, 0x6f, 0x72, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x2e, 0x43, - 0x4f, 0x52, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x03, 0x63, 0x6f, - 0x72, 0x12, 0x30, 0x0a, 0x03, 0x76, 0x69, 0x73, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x33, 0x0a, 0x03, 0x76, 0x69, 0x62, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x5f, 0x76, + 0x33, 0x2e, 0x56, 0x49, 0x42, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x48, 0x00, 0x52, + 0x03, 0x76, 0x69, 0x62, 0x12, 0x33, 0x0a, 0x03, 0x68, 0x73, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, + 0x6a, 0x68, 0x6c, 0x5f, 0x76, 0x33, 0x2e, 0x48, 0x53, 0x44, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, + 0x6d, 0x65, 0x48, 0x00, 0x52, 0x03, 0x68, 0x73, 0x64, 0x12, 0x33, 0x0a, 0x03, 0x70, 0x77, 0x73, + 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, + 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x5f, 0x76, 0x33, 0x2e, 0x50, 0x57, 0x53, 0x52, + 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x03, 0x70, 0x77, 0x73, 0x12, 0x33, + 0x0a, 0x03, 0x66, 0x72, 0x7a, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x5f, 0x76, 0x33, + 0x2e, 0x46, 0x52, 0x5a, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x03, + 0x66, 0x72, 0x7a, 0x12, 0x33, 0x0a, 0x03, 0x6c, 0x6d, 0x7a, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, + 0x68, 0x6c, 0x5f, 0x76, 0x33, 0x2e, 0x4c, 0x4d, 0x5a, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, + 0x65, 0x48, 0x00, 0x52, 0x03, 0x6c, 0x6d, 0x7a, 0x12, 0x33, 0x0a, 0x03, 0x73, 0x74, 0x66, 0x18, + 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, + 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x5f, 0x76, 0x33, 0x2e, 0x53, 0x54, 0x46, 0x52, 0x65, + 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x03, 0x73, 0x74, 0x66, 0x12, 0x33, 0x0a, + 0x03, 0x73, 0x63, 0x6f, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x5f, 0x76, 0x33, 0x2e, + 0x53, 0x43, 0x4f, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x03, 0x73, + 0x63, 0x6f, 0x12, 0x33, 0x0a, 0x03, 0x63, 0x72, 0x6b, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, + 0x6c, 0x5f, 0x76, 0x33, 0x2e, 0x43, 0x52, 0x4b, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, + 0x48, 0x00, 0x52, 0x03, 0x63, 0x72, 0x6b, 0x12, 0x33, 0x0a, 0x03, 0x63, 0x6f, 0x72, 0x18, 0x19, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, + 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x5f, 0x76, 0x33, 0x2e, 0x43, 0x4f, 0x52, 0x52, 0x65, 0x61, + 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x03, 0x63, 0x6f, 0x72, 0x12, 0x33, 0x0a, 0x03, + 0x73, 0x74, 0x72, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x5f, 0x76, 0x33, 0x2e, 0x53, + 0x54, 0x52, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x03, 0x73, 0x74, + 0x72, 0x12, 0x33, 0x0a, 0x03, 0x62, 0x72, 0x6b, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, - 0x2e, 0x56, 0x49, 0x53, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x03, - 0x76, 0x69, 0x73, 0x12, 0x30, 0x0a, 0x03, 0x73, 0x74, 0x72, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, - 0x68, 0x6c, 0x2e, 0x53, 0x54, 0x52, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x48, 0x00, - 0x52, 0x03, 0x73, 0x74, 0x72, 0x12, 0x30, 0x0a, 0x03, 0x62, 0x72, 0x6b, 0x18, 0x1c, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, - 0x7a, 0x6a, 0x68, 0x6c, 0x2e, 0x42, 0x52, 0x4b, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, - 0x48, 0x00, 0x52, 0x03, 0x62, 0x72, 0x6b, 0x12, 0x30, 0x0a, 0x03, 0x62, 0x74, 0x66, 0x18, 0x1d, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, - 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x2e, 0x42, 0x54, 0x46, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, - 0x6d, 0x65, 0x48, 0x00, 0x52, 0x03, 0x62, 0x74, 0x66, 0x12, 0x30, 0x0a, 0x03, 0x63, 0x73, 0x70, - 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, - 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x2e, 0x43, 0x53, 0x50, 0x52, 0x65, 0x61, 0x6c, - 0x54, 0x69, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x03, 0x63, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x03, 0x76, - 0x73, 0x62, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x2e, 0x56, 0x53, 0x42, 0x52, 0x65, - 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x03, 0x76, 0x73, 0x62, 0x12, 0x30, 0x0a, - 0x03, 0x61, 0x63, 0x6e, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x2e, 0x41, 0x43, 0x4e, - 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x03, 0x61, 0x63, 0x6e, 0x12, - 0x30, 0x0a, 0x03, 0x77, 0x6c, 0x76, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x2e, 0x57, - 0x4c, 0x56, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x03, 0x77, 0x6c, - 0x76, 0x42, 0x0a, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x42, 0x6f, 0x64, 0x79, 0x22, 0x9a, 0x01, - 0x0a, 0x0b, 0x55, 0x41, 0x4e, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, - 0x0c, 0x77, 0x69, 0x6e, 0x64, 0x56, 0x65, 0x6c, 0x6f, 0x63, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x02, 0x52, 0x0c, 0x77, 0x69, 0x6e, 0x64, 0x56, 0x65, 0x6c, 0x6f, 0x63, 0x69, 0x74, - 0x79, 0x12, 0x24, 0x0a, 0x0d, 0x77, 0x69, 0x6e, 0x64, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x77, 0x69, 0x6e, 0x64, 0x44, 0x69, - 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x0a, 0x0f, 0x77, 0x69, 0x6e, 0x64, 0x41, - 0x74, 0x74, 0x61, 0x63, 0x6b, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, - 0x48, 0x00, 0x52, 0x0f, 0x77, 0x69, 0x6e, 0x64, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x41, 0x6e, - 0x67, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x41, - 0x74, 0x74, 0x61, 0x63, 0x6b, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x22, 0x4b, 0x0a, 0x0b, 0x52, 0x48, - 0x53, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x65, 0x6d, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, - 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x68, - 0x75, 0x6d, 0x69, 0x64, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x68, - 0x75, 0x6d, 0x69, 0x64, 0x69, 0x74, 0x79, 0x22, 0x2f, 0x0a, 0x0b, 0x54, 0x4d, 0x50, 0x52, 0x65, - 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x74, 0x65, 0x6d, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x38, 0x0a, 0x0c, 0x47, 0x4e, 0x53, 0x53, - 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x0c, 0x0a, 0x01, 0x78, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x02, 0x52, 0x01, 0x78, 0x12, 0x0c, 0x0a, 0x01, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x02, 0x52, 0x01, 0x79, 0x12, 0x0c, 0x0a, 0x01, 0x7a, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, - 0x01, 0x7a, 0x22, 0x7f, 0x0a, 0x0b, 0x56, 0x49, 0x43, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, - 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x63, - 0x65, 0x12, 0x37, 0x0a, 0x14, 0x66, 0x75, 0x6e, 0x64, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, - 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x48, - 0x00, 0x52, 0x14, 0x66, 0x75, 0x6e, 0x64, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x46, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x88, 0x01, 0x01, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x66, - 0x75, 0x6e, 0x64, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x6e, 0x63, 0x79, 0x22, 0x68, 0x0a, 0x0b, 0x44, 0x49, 0x53, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, - 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, - 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x0b, 0x74, - 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, - 0x0c, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x64, 0x0a, - 0x0b, 0x43, 0x52, 0x4b, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, - 0x63, 0x72, 0x61, 0x63, 0x6b, 0x57, 0x69, 0x64, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, - 0x52, 0x0a, 0x63, 0x72, 0x61, 0x63, 0x6b, 0x57, 0x69, 0x64, 0x74, 0x68, 0x12, 0x25, 0x0a, 0x0b, - 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x02, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, - 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x22, 0x64, 0x0a, 0x0b, 0x48, 0x50, 0x54, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, - 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x64, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, + 0x5f, 0x76, 0x33, 0x2e, 0x42, 0x52, 0x4b, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x48, + 0x00, 0x52, 0x03, 0x62, 0x72, 0x6b, 0x12, 0x33, 0x0a, 0x03, 0x62, 0x74, 0x66, 0x18, 0x1d, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, + 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x5f, 0x76, 0x33, 0x2e, 0x42, 0x54, 0x46, 0x52, 0x65, 0x61, 0x6c, + 0x54, 0x69, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x03, 0x62, 0x74, 0x66, 0x12, 0x33, 0x0a, 0x03, 0x63, + 0x73, 0x70, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x5f, 0x76, 0x33, 0x2e, 0x43, 0x53, + 0x50, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x03, 0x63, 0x73, 0x70, + 0x12, 0x33, 0x0a, 0x03, 0x76, 0x73, 0x62, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x5f, + 0x76, 0x33, 0x2e, 0x56, 0x53, 0x42, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x48, 0x00, + 0x52, 0x03, 0x76, 0x73, 0x62, 0x12, 0x33, 0x0a, 0x03, 0x61, 0x63, 0x6e, 0x18, 0x20, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, + 0x7a, 0x6a, 0x68, 0x6c, 0x5f, 0x76, 0x33, 0x2e, 0x41, 0x43, 0x4e, 0x52, 0x65, 0x61, 0x6c, 0x54, + 0x69, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x03, 0x61, 0x63, 0x6e, 0x12, 0x33, 0x0a, 0x03, 0x77, 0x6c, + 0x76, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, + 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x5f, 0x76, 0x33, 0x2e, 0x57, 0x4c, 0x56, + 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x03, 0x77, 0x6c, 0x76, 0x12, + 0x33, 0x0a, 0x03, 0x70, 0x6c, 0x64, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x5f, 0x76, + 0x33, 0x2e, 0x50, 0x4c, 0x44, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x48, 0x00, 0x52, + 0x03, 0x70, 0x6c, 0x64, 0x12, 0x33, 0x0a, 0x03, 0x77, 0x64, 0x70, 0x18, 0x23, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, + 0x6a, 0x68, 0x6c, 0x5f, 0x76, 0x33, 0x2e, 0x57, 0x44, 0x50, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, + 0x6d, 0x65, 0x48, 0x00, 0x52, 0x03, 0x77, 0x64, 0x70, 0x12, 0x33, 0x0a, 0x03, 0x61, 0x6e, 0x64, + 0x18, 0x24, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, + 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x5f, 0x76, 0x33, 0x2e, 0x41, 0x4e, 0x44, 0x52, + 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x03, 0x61, 0x6e, 0x64, 0x12, 0x33, + 0x0a, 0x03, 0x76, 0x69, 0x64, 0x18, 0x25, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x5f, 0x76, 0x33, + 0x2e, 0x56, 0x49, 0x44, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x03, + 0x76, 0x69, 0x64, 0x42, 0x0a, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x42, 0x6f, 0x64, 0x79, 0x22, + 0x9a, 0x01, 0x0a, 0x0b, 0x55, 0x41, 0x4e, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x22, 0x0a, 0x0c, 0x77, 0x69, 0x6e, 0x64, 0x56, 0x65, 0x6c, 0x6f, 0x63, 0x69, 0x74, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x77, 0x69, 0x6e, 0x64, 0x56, 0x65, 0x6c, 0x6f, 0x63, + 0x69, 0x74, 0x79, 0x12, 0x24, 0x0a, 0x0d, 0x77, 0x69, 0x6e, 0x64, 0x44, 0x69, 0x72, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x77, 0x69, 0x6e, 0x64, + 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x0a, 0x0f, 0x77, 0x69, 0x6e, + 0x64, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x02, 0x48, 0x00, 0x52, 0x0f, 0x77, 0x69, 0x6e, 0x64, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, + 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x77, 0x69, 0x6e, + 0x64, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x22, 0x4b, 0x0a, 0x0b, + 0x52, 0x48, 0x53, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x74, + 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x68, 0x75, 0x6d, 0x69, 0x64, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, + 0x08, 0x68, 0x75, 0x6d, 0x69, 0x64, 0x69, 0x74, 0x79, 0x22, 0x2f, 0x0a, 0x0b, 0x54, 0x4d, 0x50, + 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x65, 0x6d, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x74, + 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x38, 0x0a, 0x0c, 0x47, 0x4e, + 0x53, 0x53, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x0c, 0x0a, 0x01, 0x78, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x01, 0x78, 0x12, 0x0c, 0x0a, 0x01, 0x79, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x01, 0x79, 0x12, 0x0c, 0x0a, 0x01, 0x7a, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x02, 0x52, 0x01, 0x7a, 0x22, 0x7f, 0x0a, 0x0b, 0x56, 0x49, 0x43, 0x52, 0x65, 0x61, 0x6c, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x63, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6f, + 0x72, 0x63, 0x65, 0x12, 0x37, 0x0a, 0x14, 0x66, 0x75, 0x6e, 0x64, 0x61, 0x6d, 0x65, 0x6e, 0x74, + 0x61, 0x6c, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x02, 0x48, 0x00, 0x52, 0x14, 0x66, 0x75, 0x6e, 0x64, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, + 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x88, 0x01, 0x01, 0x42, 0x17, 0x0a, 0x15, + 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x46, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x6e, 0x63, 0x79, 0x22, 0x68, 0x0a, 0x0b, 0x44, 0x49, 0x53, 0x52, 0x65, 0x61, 0x6c, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x63, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x70, + 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0b, 0x74, 0x65, 0x6d, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, + 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, 0x42, + 0x0e, 0x0a, 0x0c, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, + 0x64, 0x0a, 0x0b, 0x43, 0x52, 0x4b, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, + 0x0a, 0x0a, 0x63, 0x72, 0x61, 0x63, 0x6b, 0x57, 0x69, 0x64, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x02, 0x52, 0x0a, 0x63, 0x72, 0x61, 0x63, 0x6b, 0x57, 0x69, 0x64, 0x74, 0x68, 0x12, 0x25, + 0x0a, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x64, 0x0a, 0x0b, 0x48, 0x50, 0x54, 0x52, 0x65, 0x61, 0x6c, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x64, 0x65, 0x66, 0x6c, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x65, 0x6d, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, + 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x5c, 0x0a, 0x0b, 0x52, + 0x53, 0x47, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, + 0x72, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x73, 0x74, 0x72, 0x61, + 0x69, 0x6e, 0x12, 0x25, 0x0a, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x74, 0x65, - 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x5c, 0x0a, 0x0b, 0x52, 0x53, 0x47, - 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x61, - 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, - 0x12, 0x25, 0x0a, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x74, 0x65, 0x6d, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x4f, 0x0a, 0x0b, 0x49, 0x4e, 0x43, 0x52, 0x65, - 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x0c, 0x0a, 0x01, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x02, 0x52, 0x01, 0x78, 0x12, 0x0c, 0x0a, 0x01, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, - 0x01, 0x79, 0x12, 0x24, 0x0a, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x02, 0x42, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x74, 0x65, 0x6d, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x37, 0x0a, 0x0b, 0x56, 0x49, 0x42, 0x52, - 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0d, 0x6d, 0x6f, 0x6e, 0x69, 0x74, - 0x6f, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x02, 0x42, 0x02, - 0x10, 0x01, 0x52, 0x0d, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x22, 0x37, 0x0a, 0x0b, 0x56, 0x49, 0x45, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, - 0x12, 0x28, 0x0a, 0x0d, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x02, 0x42, 0x02, 0x10, 0x01, 0x52, 0x0d, 0x6d, 0x6f, 0x6e, - 0x69, 0x74, 0x6f, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x37, 0x0a, 0x0b, 0x54, 0x4d, - 0x44, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0d, 0x6d, 0x6f, 0x6e, + 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x4f, 0x0a, 0x0b, 0x49, 0x4e, 0x43, + 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x0c, 0x0a, 0x01, 0x78, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x01, 0x78, 0x12, 0x0c, 0x0a, 0x01, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x02, 0x52, 0x01, 0x79, 0x12, 0x24, 0x0a, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x02, 0x42, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x74, + 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x37, 0x0a, 0x0b, 0x56, 0x49, + 0x42, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0d, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x02, 0x42, 0x02, 0x10, 0x01, 0x52, 0x0d, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x22, 0xb2, 0x0c, 0x0a, 0x0b, 0x48, 0x53, 0x44, 0x52, 0x65, 0x61, 0x6c, 0x54, - 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61, 0x6e, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x06, 0x6c, 0x61, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6f, - 0x70, 0x65, 0x72, 0x44, 0x69, 0x72, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, - 0x6f, 0x70, 0x65, 0x72, 0x44, 0x69, 0x72, 0x65, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x78, 0x6c, - 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x61, 0x78, 0x6c, 0x65, - 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x78, 0x6c, 0x65, 0x47, 0x72, 0x70, 0x4e, 0x75, - 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x61, 0x78, 0x6c, 0x65, 0x47, 0x72, 0x70, - 0x4e, 0x75, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x72, 0x6f, 0x73, 0x73, 0x4c, 0x6f, 0x61, 0x64, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x73, 0x73, 0x4c, 0x6f, 0x61, - 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x68, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x07, 0x76, 0x65, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x6c, - 0x65, 0x66, 0x74, 0x57, 0x68, 0x65, 0x65, 0x6c, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x31, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x6c, 0x65, 0x66, 0x74, 0x57, 0x68, 0x65, 0x65, 0x6c, - 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x31, 0x12, 0x2a, 0x0a, 0x10, 0x6c, 0x65, 0x66, 0x74, 0x57, - 0x68, 0x65, 0x65, 0x6c, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x32, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x10, 0x6c, 0x65, 0x66, 0x74, 0x57, 0x68, 0x65, 0x65, 0x6c, 0x57, 0x65, 0x69, 0x67, - 0x68, 0x74, 0x32, 0x12, 0x2a, 0x0a, 0x10, 0x6c, 0x65, 0x66, 0x74, 0x57, 0x68, 0x65, 0x65, 0x6c, - 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x33, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x6c, - 0x65, 0x66, 0x74, 0x57, 0x68, 0x65, 0x65, 0x6c, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x33, 0x12, - 0x2a, 0x0a, 0x10, 0x6c, 0x65, 0x66, 0x74, 0x57, 0x68, 0x65, 0x65, 0x6c, 0x57, 0x65, 0x69, 0x67, - 0x68, 0x74, 0x34, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x6c, 0x65, 0x66, 0x74, 0x57, - 0x68, 0x65, 0x65, 0x6c, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x34, 0x12, 0x2a, 0x0a, 0x10, 0x6c, - 0x65, 0x66, 0x74, 0x57, 0x68, 0x65, 0x65, 0x6c, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x35, 0x18, - 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x6c, 0x65, 0x66, 0x74, 0x57, 0x68, 0x65, 0x65, 0x6c, - 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x35, 0x12, 0x2a, 0x0a, 0x10, 0x6c, 0x65, 0x66, 0x74, 0x57, - 0x68, 0x65, 0x65, 0x6c, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x36, 0x18, 0x0c, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x10, 0x6c, 0x65, 0x66, 0x74, 0x57, 0x68, 0x65, 0x65, 0x6c, 0x57, 0x65, 0x69, 0x67, - 0x68, 0x74, 0x36, 0x12, 0x2a, 0x0a, 0x10, 0x6c, 0x65, 0x66, 0x74, 0x57, 0x68, 0x65, 0x65, 0x6c, - 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x37, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x6c, - 0x65, 0x66, 0x74, 0x57, 0x68, 0x65, 0x65, 0x6c, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x37, 0x12, - 0x2a, 0x0a, 0x10, 0x6c, 0x65, 0x66, 0x74, 0x57, 0x68, 0x65, 0x65, 0x6c, 0x57, 0x65, 0x69, 0x67, - 0x68, 0x74, 0x38, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x6c, 0x65, 0x66, 0x74, 0x57, - 0x68, 0x65, 0x65, 0x6c, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x38, 0x12, 0x2c, 0x0a, 0x11, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x57, 0x68, 0x65, 0x65, 0x6c, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x31, - 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x72, 0x69, 0x67, 0x68, 0x74, 0x57, 0x68, 0x65, - 0x65, 0x6c, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x31, 0x12, 0x2c, 0x0a, 0x11, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x57, 0x68, 0x65, 0x65, 0x6c, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x32, 0x18, 0x10, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x72, 0x69, 0x67, 0x68, 0x74, 0x57, 0x68, 0x65, 0x65, 0x6c, - 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x32, 0x12, 0x2c, 0x0a, 0x11, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x57, 0x68, 0x65, 0x65, 0x6c, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x33, 0x18, 0x11, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x11, 0x72, 0x69, 0x67, 0x68, 0x74, 0x57, 0x68, 0x65, 0x65, 0x6c, 0x57, 0x65, - 0x69, 0x67, 0x68, 0x74, 0x33, 0x12, 0x2c, 0x0a, 0x11, 0x72, 0x69, 0x67, 0x68, 0x74, 0x57, 0x68, - 0x65, 0x65, 0x6c, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x34, 0x18, 0x12, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x11, 0x72, 0x69, 0x67, 0x68, 0x74, 0x57, 0x68, 0x65, 0x65, 0x6c, 0x57, 0x65, 0x69, 0x67, - 0x68, 0x74, 0x34, 0x12, 0x2c, 0x0a, 0x11, 0x72, 0x69, 0x67, 0x68, 0x74, 0x57, 0x68, 0x65, 0x65, - 0x6c, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x35, 0x18, 0x13, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x57, 0x68, 0x65, 0x65, 0x6c, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, - 0x35, 0x12, 0x2c, 0x0a, 0x11, 0x72, 0x69, 0x67, 0x68, 0x74, 0x57, 0x68, 0x65, 0x65, 0x6c, 0x57, - 0x65, 0x69, 0x67, 0x68, 0x74, 0x36, 0x18, 0x14, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x57, 0x68, 0x65, 0x65, 0x6c, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x36, 0x12, - 0x2c, 0x0a, 0x11, 0x72, 0x69, 0x67, 0x68, 0x74, 0x57, 0x68, 0x65, 0x65, 0x6c, 0x57, 0x65, 0x69, - 0x67, 0x68, 0x74, 0x37, 0x18, 0x15, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x57, 0x68, 0x65, 0x65, 0x6c, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x37, 0x12, 0x2c, 0x0a, - 0x11, 0x72, 0x69, 0x67, 0x68, 0x74, 0x57, 0x68, 0x65, 0x65, 0x6c, 0x57, 0x65, 0x69, 0x67, 0x68, - 0x74, 0x38, 0x18, 0x16, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x72, 0x69, 0x67, 0x68, 0x74, 0x57, - 0x68, 0x65, 0x65, 0x6c, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x38, 0x12, 0x1a, 0x0a, 0x08, 0x61, - 0x78, 0x6c, 0x65, 0x44, 0x69, 0x73, 0x31, 0x18, 0x17, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x61, - 0x78, 0x6c, 0x65, 0x44, 0x69, 0x73, 0x31, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x78, 0x6c, 0x65, 0x44, - 0x69, 0x73, 0x32, 0x18, 0x18, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x61, 0x78, 0x6c, 0x65, 0x44, - 0x69, 0x73, 0x32, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x78, 0x6c, 0x65, 0x44, 0x69, 0x73, 0x33, 0x18, - 0x19, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x61, 0x78, 0x6c, 0x65, 0x44, 0x69, 0x73, 0x33, 0x12, - 0x1a, 0x0a, 0x08, 0x61, 0x78, 0x6c, 0x65, 0x44, 0x69, 0x73, 0x34, 0x18, 0x1a, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x08, 0x61, 0x78, 0x6c, 0x65, 0x44, 0x69, 0x73, 0x34, 0x12, 0x1a, 0x0a, 0x08, 0x61, - 0x78, 0x6c, 0x65, 0x44, 0x69, 0x73, 0x35, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x61, - 0x78, 0x6c, 0x65, 0x44, 0x69, 0x73, 0x35, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x78, 0x6c, 0x65, 0x44, - 0x69, 0x73, 0x36, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x61, 0x78, 0x6c, 0x65, 0x44, - 0x69, 0x73, 0x36, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x78, 0x6c, 0x65, 0x44, 0x69, 0x73, 0x37, 0x18, - 0x1d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x61, 0x78, 0x6c, 0x65, 0x44, 0x69, 0x73, 0x37, 0x12, - 0x25, 0x0a, 0x0b, 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x1e, - 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x0b, 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0c, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, - 0x61, 0x64, 0x53, 0x69, 0x67, 0x6e, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x0c, - 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x69, 0x67, 0x6e, 0x88, 0x01, 0x01, 0x12, - 0x14, 0x0a, 0x05, 0x73, 0x70, 0x65, 0x65, 0x64, 0x18, 0x20, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, - 0x73, 0x70, 0x65, 0x65, 0x64, 0x12, 0x27, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x21, 0x20, 0x01, 0x28, 0x02, 0x48, 0x02, 0x52, 0x0c, 0x61, - 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1c, - 0x0a, 0x09, 0x76, 0x65, 0x68, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x22, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x09, 0x76, 0x65, 0x68, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x15, 0x0a, 0x03, - 0x71, 0x61, 0x74, 0x18, 0x23, 0x20, 0x01, 0x28, 0x02, 0x48, 0x03, 0x52, 0x03, 0x71, 0x61, 0x74, - 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0c, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x63, 0x65, 0x50, 0x6c, - 0x61, 0x74, 0x65, 0x18, 0x24, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x0c, 0x6c, 0x69, 0x63, - 0x65, 0x6e, 0x63, 0x65, 0x50, 0x6c, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x11, - 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x63, 0x65, 0x50, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6c, 0x6f, - 0x72, 0x18, 0x25, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x11, 0x6c, 0x69, 0x63, 0x65, 0x6e, - 0x63, 0x65, 0x50, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, - 0x19, 0x0a, 0x05, 0x70, 0x69, 0x63, 0x49, 0x64, 0x18, 0x26, 0x20, 0x01, 0x28, 0x05, 0x48, 0x06, - 0x52, 0x05, 0x70, 0x69, 0x63, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x0f, 0x72, 0x6f, - 0x61, 0x64, 0x54, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x27, 0x20, - 0x01, 0x28, 0x02, 0x48, 0x07, 0x52, 0x0f, 0x72, 0x6f, 0x61, 0x64, 0x54, 0x65, 0x6d, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x76, 0x69, - 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6f, 0x76, - 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x69, 0x67, 0x6e, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x61, - 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x5f, - 0x71, 0x61, 0x74, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x63, 0x65, 0x50, + 0x75, 0x65, 0x73, 0x22, 0x37, 0x0a, 0x0b, 0x56, 0x49, 0x45, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0d, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x02, 0x42, 0x02, 0x10, 0x01, 0x52, 0x0d, 0x6d, + 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x37, 0x0a, 0x0b, + 0x54, 0x4d, 0x44, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0d, 0x6d, + 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x02, 0x42, 0x02, 0x10, 0x01, 0x52, 0x0d, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0xd2, 0x02, 0x0a, 0x0b, 0x48, 0x53, 0x44, 0x52, 0x65, 0x61, + 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61, 0x6e, 0x65, 0x49, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6c, 0x61, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x1c, 0x0a, + 0x09, 0x6f, 0x70, 0x65, 0x72, 0x44, 0x69, 0x72, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x44, 0x69, 0x72, 0x65, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x76, + 0x65, 0x68, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x76, 0x65, + 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x70, 0x65, 0x65, 0x64, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x70, 0x65, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x61, + 0x78, 0x6c, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x61, 0x78, + 0x6c, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x72, 0x6f, 0x73, 0x73, 0x4c, 0x6f, + 0x61, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x73, 0x73, 0x4c, + 0x6f, 0x61, 0x64, 0x12, 0x22, 0x0a, 0x0a, 0x61, 0x78, 0x6c, 0x65, 0x57, 0x65, 0x69, 0x67, 0x68, + 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x05, 0x42, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x61, 0x78, 0x6c, + 0x65, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x27, 0x0a, 0x0c, 0x6c, 0x69, 0x63, 0x65, 0x6e, + 0x63, 0x65, 0x50, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x0c, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x63, 0x65, 0x50, 0x6c, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x31, 0x0a, 0x11, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x63, 0x65, 0x50, 0x6c, 0x61, 0x74, 0x65, + 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x11, 0x6c, + 0x69, 0x63, 0x65, 0x6e, 0x63, 0x65, 0x50, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6c, 0x6f, 0x72, + 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x63, 0x65, 0x50, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x63, 0x65, - 0x50, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x70, - 0x69, 0x63, 0x49, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x72, 0x6f, 0x61, 0x64, 0x54, 0x65, 0x6d, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x29, 0x0a, 0x0b, 0x50, 0x57, 0x53, 0x52, - 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x61, 0x69, 0x6e, 0x66, - 0x61, 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x72, 0x61, 0x69, 0x6e, 0x66, - 0x61, 0x6c, 0x6c, 0x22, 0x53, 0x0a, 0x0b, 0x46, 0x52, 0x5a, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, - 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x63, 0x65, 0x54, 0x68, 0x69, 0x63, 0x6b, 0x6e, 0x65, - 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x69, 0x63, 0x65, 0x54, 0x68, 0x69, - 0x63, 0x6b, 0x6e, 0x65, 0x73, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, + 0x50, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x22, 0x29, 0x0a, 0x0b, 0x50, 0x57, + 0x53, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x61, 0x69, + 0x6e, 0x66, 0x61, 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x72, 0x61, 0x69, + 0x6e, 0x66, 0x61, 0x6c, 0x6c, 0x22, 0x53, 0x0a, 0x0b, 0x46, 0x52, 0x5a, 0x52, 0x65, 0x61, 0x6c, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x63, 0x65, 0x54, 0x68, 0x69, 0x63, 0x6b, + 0x6e, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x69, 0x63, 0x65, 0x54, + 0x68, 0x69, 0x63, 0x6b, 0x6e, 0x65, 0x73, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x65, 0x6d, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x74, + 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x55, 0x0a, 0x0b, 0x4c, 0x4d, + 0x5a, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x6f, 0x61, + 0x64, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x0d, 0x72, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x20, 0x0a, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x22, 0x55, 0x0a, 0x0b, 0x53, 0x54, 0x46, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, + 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x74, 0x65, 0x6d, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x55, 0x0a, 0x0b, 0x4c, 0x4d, 0x5a, 0x52, - 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x6f, 0x61, 0x64, 0x43, - 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, - 0x72, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, - 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x02, 0x52, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, - 0x4f, 0x0a, 0x0b, 0x44, 0x49, 0x43, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, - 0x0a, 0x0a, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x02, 0x52, 0x0a, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x20, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x23, 0x0a, 0x0b, 0x53, 0x43, 0x4f, 0x52, + 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x70, 0x74, 0x68, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x64, 0x65, 0x70, 0x74, 0x68, 0x22, 0x6b, 0x0a, + 0x0b, 0x43, 0x4f, 0x52, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x15, + 0x63, 0x68, 0x6c, 0x6f, 0x72, 0x69, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x63, 0x65, 0x6e, 0x74, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x15, 0x63, 0x68, 0x6c, + 0x6f, 0x72, 0x69, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6f, 0x72, 0x72, 0x6f, 0x73, 0x69, 0x6f, 0x6e, 0x44, + 0x65, 0x70, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x63, 0x6f, 0x72, 0x72, + 0x6f, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x70, 0x74, 0x68, 0x22, 0x5c, 0x0a, 0x0b, 0x53, 0x54, + 0x52, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x72, + 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x73, 0x74, 0x72, 0x65, 0x73, + 0x73, 0x12, 0x25, 0x0a, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x74, 0x65, 0x6d, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x23, 0x0a, 0x0b, 0x42, 0x52, 0x4b, 0x52, + 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x6c, 0x0a, + 0x0b, 0x42, 0x54, 0x46, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, + 0x62, 0x6f, 0x6c, 0x74, 0x54, 0x69, 0x67, 0x68, 0x74, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x62, 0x6f, 0x6c, 0x74, 0x54, 0x69, 0x67, 0x68, 0x74, 0x46, + 0x6f, 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x65, 0x6d, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, + 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x68, 0x0a, 0x0b, 0x43, + 0x53, 0x50, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x02, 0x52, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, - 0x22, 0x55, 0x0a, 0x0b, 0x53, 0x54, 0x46, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x24, 0x0a, 0x0d, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x74, 0x65, 0x6d, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x23, 0x0a, 0x0b, 0x53, 0x43, 0x4f, 0x52, 0x65, - 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x70, 0x74, 0x68, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x64, 0x65, 0x70, 0x74, 0x68, 0x22, 0x6b, 0x0a, 0x0b, - 0x43, 0x4f, 0x52, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x63, - 0x68, 0x6c, 0x6f, 0x72, 0x69, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x15, 0x63, 0x68, 0x6c, 0x6f, - 0x72, 0x69, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6f, 0x72, 0x72, 0x6f, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x65, - 0x70, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x63, 0x6f, 0x72, 0x72, 0x6f, - 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x70, 0x74, 0x68, 0x22, 0x37, 0x0a, 0x0b, 0x56, 0x49, 0x53, - 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0d, 0x6d, 0x6f, 0x6e, 0x69, - 0x74, 0x6f, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x02, 0x42, - 0x02, 0x10, 0x01, 0x52, 0x0d, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x73, 0x22, 0x5c, 0x0a, 0x0b, 0x53, 0x54, 0x52, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, - 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x02, 0x52, 0x06, 0x73, 0x74, 0x72, 0x65, 0x73, 0x73, 0x12, 0x25, 0x0a, 0x0b, 0x74, 0x65, 0x6d, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, - 0x52, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, - 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, - 0x22, 0x23, 0x0a, 0x0b, 0x42, 0x52, 0x4b, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x6c, 0x0a, 0x0b, 0x42, 0x54, 0x46, 0x52, 0x65, 0x61, 0x6c, - 0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x62, 0x6f, 0x6c, 0x74, 0x54, 0x69, 0x67, 0x68, - 0x74, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x62, 0x6f, - 0x6c, 0x74, 0x54, 0x69, 0x67, 0x68, 0x74, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0b, - 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x02, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, - 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x22, 0x68, 0x0a, 0x0b, 0x43, 0x53, 0x50, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, - 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, - 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x0b, 0x74, - 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, - 0x0c, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x23, 0x0a, - 0x0b, 0x56, 0x53, 0x42, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, + 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x23, 0x0a, 0x0b, 0x56, 0x53, 0x42, 0x52, 0x65, 0x61, 0x6c, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x23, 0x0a, 0x0b, 0x41, 0x43, + 0x4e, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, + 0x23, 0x0a, 0x0b, 0x57, 0x4c, 0x56, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x22, 0x37, 0x0a, 0x0b, 0x50, 0x4c, 0x44, 0x52, 0x65, 0x61, 0x6c, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x0c, 0x0a, 0x01, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x01, + 0x78, 0x12, 0x0c, 0x0a, 0x01, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x01, 0x79, 0x12, + 0x0c, 0x0a, 0x01, 0x7a, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x01, 0x7a, 0x22, 0x23, 0x0a, + 0x0b, 0x57, 0x44, 0x50, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x22, 0x23, 0x0a, 0x0b, 0x41, 0x43, 0x4e, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, - 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x23, 0x0a, 0x0b, 0x57, 0x4c, 0x56, 0x52, 0x65, - 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x9d, 0x0a, 0x0a, - 0x0d, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3f, - 0x0a, 0x0b, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, - 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x79, - 0x70, 0x65, 0x52, 0x0b, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x20, 0x0a, 0x0b, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x64, - 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x64, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x31, 0x0a, 0x03, 0x75, - 0x61, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x2e, 0x55, 0x41, 0x4e, 0x53, 0x74, - 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x48, 0x00, 0x52, 0x03, 0x75, 0x61, 0x6e, 0x12, 0x31, - 0x0a, 0x03, 0x72, 0x68, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x2e, 0x52, 0x48, - 0x53, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x48, 0x00, 0x52, 0x03, 0x72, 0x68, - 0x73, 0x12, 0x31, 0x0a, 0x03, 0x74, 0x6d, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, + 0x75, 0x65, 0x22, 0x37, 0x0a, 0x0b, 0x41, 0x4e, 0x44, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x0c, 0x0a, 0x01, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x01, 0x78, 0x12, + 0x0c, 0x0a, 0x01, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x01, 0x79, 0x12, 0x0c, 0x0a, + 0x01, 0x7a, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x01, 0x7a, 0x22, 0x37, 0x0a, 0x0b, 0x56, + 0x49, 0x44, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0d, 0x6d, 0x6f, + 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x02, 0x42, 0x02, 0x10, 0x01, 0x52, 0x0d, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x73, 0x22, 0xdc, 0x0d, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, + 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x12, 0x42, 0x0a, 0x0b, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, + 0x72, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x5f, 0x76, 0x33, + 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x6d, + 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x6f, + 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x0b, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x64, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x34, 0x0a, 0x03, 0x75, 0x61, 0x6e, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, + 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x5f, 0x76, 0x33, 0x2e, 0x55, 0x41, 0x4e, 0x53, 0x74, 0x61, 0x74, + 0x69, 0x73, 0x74, 0x69, 0x63, 0x48, 0x00, 0x52, 0x03, 0x75, 0x61, 0x6e, 0x12, 0x34, 0x0a, 0x03, + 0x72, 0x68, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x5f, 0x76, 0x33, 0x2e, 0x52, + 0x48, 0x53, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x48, 0x00, 0x52, 0x03, 0x72, + 0x68, 0x73, 0x12, 0x34, 0x0a, 0x03, 0x74, 0x6d, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, + 0x6c, 0x5f, 0x76, 0x33, 0x2e, 0x54, 0x4d, 0x50, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, + 0x63, 0x48, 0x00, 0x52, 0x03, 0x74, 0x6d, 0x70, 0x12, 0x37, 0x0a, 0x04, 0x67, 0x6e, 0x73, 0x73, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, + 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x5f, 0x76, 0x33, 0x2e, 0x47, 0x4e, 0x53, 0x53, + 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x48, 0x00, 0x52, 0x04, 0x67, 0x6e, 0x73, + 0x73, 0x12, 0x34, 0x0a, 0x03, 0x76, 0x69, 0x63, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, - 0x2e, 0x54, 0x4d, 0x50, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x48, 0x00, 0x52, - 0x03, 0x74, 0x6d, 0x70, 0x12, 0x34, 0x0a, 0x04, 0x67, 0x6e, 0x73, 0x73, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, - 0x7a, 0x6a, 0x68, 0x6c, 0x2e, 0x47, 0x4e, 0x53, 0x53, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, - 0x69, 0x63, 0x48, 0x00, 0x52, 0x04, 0x67, 0x6e, 0x73, 0x73, 0x12, 0x31, 0x0a, 0x03, 0x76, 0x69, - 0x63, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, - 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x2e, 0x56, 0x49, 0x43, 0x53, 0x74, 0x61, - 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x48, 0x00, 0x52, 0x03, 0x76, 0x69, 0x63, 0x12, 0x31, 0x0a, - 0x03, 0x64, 0x69, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x2e, 0x44, 0x49, 0x53, - 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x48, 0x00, 0x52, 0x03, 0x64, 0x69, 0x73, - 0x12, 0x31, 0x0a, 0x03, 0x68, 0x70, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x2e, + 0x5f, 0x76, 0x33, 0x2e, 0x56, 0x49, 0x43, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, + 0x48, 0x00, 0x52, 0x03, 0x76, 0x69, 0x63, 0x12, 0x34, 0x0a, 0x03, 0x64, 0x69, 0x73, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, + 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x5f, 0x76, 0x33, 0x2e, 0x44, 0x49, 0x53, 0x53, 0x74, 0x61, + 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x48, 0x00, 0x52, 0x03, 0x64, 0x69, 0x73, 0x12, 0x34, 0x0a, + 0x03, 0x68, 0x70, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x5f, 0x76, 0x33, 0x2e, 0x48, 0x50, 0x54, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x48, 0x00, 0x52, 0x03, - 0x68, 0x70, 0x74, 0x12, 0x31, 0x0a, 0x03, 0x72, 0x73, 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, - 0x68, 0x6c, 0x2e, 0x52, 0x53, 0x47, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x48, - 0x00, 0x52, 0x03, 0x72, 0x73, 0x67, 0x12, 0x31, 0x0a, 0x03, 0x69, 0x6e, 0x63, 0x18, 0x0c, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, - 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x2e, 0x49, 0x4e, 0x43, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, - 0x69, 0x63, 0x48, 0x00, 0x52, 0x03, 0x69, 0x6e, 0x63, 0x12, 0x31, 0x0a, 0x03, 0x76, 0x69, 0x65, - 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, - 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x2e, 0x56, 0x49, 0x45, 0x53, 0x74, 0x61, 0x74, - 0x69, 0x73, 0x74, 0x69, 0x63, 0x48, 0x00, 0x52, 0x03, 0x76, 0x69, 0x65, 0x12, 0x31, 0x0a, 0x03, - 0x74, 0x6d, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x2e, 0x54, 0x4d, 0x44, 0x53, - 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x48, 0x00, 0x52, 0x03, 0x74, 0x6d, 0x64, 0x12, - 0x31, 0x0a, 0x03, 0x76, 0x69, 0x62, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x2e, 0x56, - 0x49, 0x42, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x48, 0x00, 0x52, 0x03, 0x76, - 0x69, 0x62, 0x12, 0x31, 0x0a, 0x03, 0x68, 0x73, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, - 0x6c, 0x2e, 0x48, 0x53, 0x44, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x48, 0x00, - 0x52, 0x03, 0x68, 0x73, 0x64, 0x12, 0x31, 0x0a, 0x03, 0x61, 0x6e, 0x64, 0x18, 0x11, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, - 0x7a, 0x6a, 0x68, 0x6c, 0x2e, 0x41, 0x4e, 0x44, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, - 0x63, 0x48, 0x00, 0x52, 0x03, 0x61, 0x6e, 0x64, 0x12, 0x31, 0x0a, 0x03, 0x63, 0x72, 0x6b, 0x18, - 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, - 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x2e, 0x43, 0x52, 0x4b, 0x53, 0x74, 0x61, 0x74, 0x69, - 0x73, 0x74, 0x69, 0x63, 0x48, 0x00, 0x52, 0x03, 0x63, 0x72, 0x6b, 0x12, 0x31, 0x0a, 0x03, 0x66, - 0x72, 0x7a, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x2e, 0x46, 0x52, 0x5a, 0x53, 0x74, - 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x48, 0x00, 0x52, 0x03, 0x66, 0x72, 0x7a, 0x12, 0x31, - 0x0a, 0x03, 0x70, 0x77, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x2e, 0x50, 0x57, - 0x53, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x48, 0x00, 0x52, 0x03, 0x70, 0x77, - 0x73, 0x12, 0x31, 0x0a, 0x03, 0x76, 0x73, 0x62, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, + 0x68, 0x70, 0x74, 0x12, 0x34, 0x0a, 0x03, 0x72, 0x73, 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, + 0x68, 0x6c, 0x5f, 0x76, 0x33, 0x2e, 0x52, 0x53, 0x47, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, + 0x69, 0x63, 0x48, 0x00, 0x52, 0x03, 0x72, 0x73, 0x67, 0x12, 0x34, 0x0a, 0x03, 0x69, 0x6e, 0x63, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, + 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x5f, 0x76, 0x33, 0x2e, 0x49, 0x4e, 0x43, 0x53, + 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x48, 0x00, 0x52, 0x03, 0x69, 0x6e, 0x63, 0x12, + 0x34, 0x0a, 0x03, 0x76, 0x69, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x5f, 0x76, + 0x33, 0x2e, 0x56, 0x49, 0x45, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x48, 0x00, + 0x52, 0x03, 0x76, 0x69, 0x65, 0x12, 0x34, 0x0a, 0x03, 0x74, 0x6d, 0x64, 0x18, 0x0e, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, + 0x7a, 0x6a, 0x68, 0x6c, 0x5f, 0x76, 0x33, 0x2e, 0x54, 0x4d, 0x44, 0x53, 0x74, 0x61, 0x74, 0x69, + 0x73, 0x74, 0x69, 0x63, 0x48, 0x00, 0x52, 0x03, 0x74, 0x6d, 0x64, 0x12, 0x34, 0x0a, 0x03, 0x76, + 0x69, 0x62, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x5f, 0x76, 0x33, 0x2e, 0x56, 0x49, + 0x42, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x48, 0x00, 0x52, 0x03, 0x76, 0x69, + 0x62, 0x12, 0x34, 0x0a, 0x03, 0x68, 0x73, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, - 0x2e, 0x56, 0x53, 0x42, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x48, 0x00, 0x52, - 0x03, 0x76, 0x73, 0x62, 0x12, 0x31, 0x0a, 0x03, 0x61, 0x63, 0x6e, 0x18, 0x16, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, - 0x6a, 0x68, 0x6c, 0x2e, 0x41, 0x43, 0x4e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, - 0x48, 0x00, 0x52, 0x03, 0x61, 0x63, 0x6e, 0x12, 0x31, 0x0a, 0x03, 0x77, 0x6c, 0x76, 0x18, 0x17, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, - 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x2e, 0x57, 0x4c, 0x56, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, - 0x74, 0x69, 0x63, 0x48, 0x00, 0x52, 0x03, 0x77, 0x6c, 0x76, 0x12, 0x31, 0x0a, 0x03, 0x62, 0x74, - 0x66, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, - 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x2e, 0x42, 0x54, 0x46, 0x53, 0x74, 0x61, - 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x48, 0x00, 0x52, 0x03, 0x62, 0x74, 0x66, 0x12, 0x31, 0x0a, - 0x03, 0x63, 0x73, 0x70, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x2e, 0x43, 0x53, 0x50, - 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x48, 0x00, 0x52, 0x03, 0x63, 0x73, 0x70, - 0x42, 0x0a, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x42, 0x6f, 0x64, 0x79, 0x22, 0x94, 0x01, 0x0a, - 0x0c, 0x55, 0x41, 0x4e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x12, 0x20, 0x0a, - 0x0b, 0x61, 0x76, 0x67, 0x56, 0x65, 0x6c, 0x6f, 0x63, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x02, 0x52, 0x0b, 0x61, 0x76, 0x67, 0x56, 0x65, 0x6c, 0x6f, 0x63, 0x69, 0x74, 0x79, 0x12, - 0x22, 0x0a, 0x0c, 0x61, 0x76, 0x67, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x61, 0x76, 0x67, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x0e, 0x61, 0x76, 0x67, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, - 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x0e, 0x61, - 0x76, 0x67, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x88, 0x01, 0x01, - 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x61, 0x76, 0x67, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x41, 0x6e, - 0x67, 0x6c, 0x65, 0x22, 0xe0, 0x02, 0x0a, 0x0c, 0x52, 0x48, 0x53, 0x53, 0x74, 0x61, 0x74, 0x69, - 0x73, 0x74, 0x69, 0x63, 0x12, 0x26, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x54, 0x65, 0x6d, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x6d, 0x61, - 0x78, 0x54, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x26, 0x0a, 0x0e, - 0x6d, 0x69, 0x6e, 0x54, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x6d, 0x69, 0x6e, 0x54, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x76, 0x67, 0x54, 0x65, 0x6d, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x61, 0x76, - 0x67, 0x54, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x3a, 0x0a, 0x18, - 0x6d, 0x61, 0x78, 0x54, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x44, 0x69, - 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x18, - 0x6d, 0x61, 0x78, 0x54, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x44, 0x69, - 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x48, - 0x75, 0x6d, 0x69, 0x64, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x6d, - 0x61, 0x78, 0x48, 0x75, 0x6d, 0x69, 0x64, 0x69, 0x74, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x69, - 0x6e, 0x48, 0x75, 0x6d, 0x69, 0x64, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, - 0x0b, 0x6d, 0x69, 0x6e, 0x48, 0x75, 0x6d, 0x69, 0x64, 0x69, 0x74, 0x79, 0x12, 0x20, 0x0a, 0x0b, - 0x61, 0x76, 0x67, 0x48, 0x75, 0x6d, 0x69, 0x64, 0x69, 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x02, 0x52, 0x0b, 0x61, 0x76, 0x67, 0x48, 0x75, 0x6d, 0x69, 0x64, 0x69, 0x74, 0x79, 0x12, 0x36, - 0x0a, 0x16, 0x68, 0x75, 0x6d, 0x69, 0x64, 0x69, 0x74, 0x79, 0x45, 0x78, 0x63, 0x65, 0x65, 0x64, - 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x16, - 0x68, 0x75, 0x6d, 0x69, 0x64, 0x69, 0x74, 0x79, 0x45, 0x78, 0x63, 0x65, 0x65, 0x64, 0x44, 0x75, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xac, 0x01, 0x0a, 0x0c, 0x54, 0x4d, 0x50, 0x53, 0x74, - 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x12, 0x26, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x54, 0x65, - 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, - 0x0e, 0x6d, 0x61, 0x78, 0x54, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, - 0x26, 0x0a, 0x0e, 0x6d, 0x69, 0x6e, 0x54, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x6d, 0x69, 0x6e, 0x54, 0x65, 0x6d, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x76, 0x67, 0x54, 0x65, - 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, - 0x0e, 0x61, 0x76, 0x67, 0x54, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, - 0x24, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x44, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x44, 0x69, 0x66, 0x66, 0x65, - 0x72, 0x65, 0x6e, 0x63, 0x65, 0x22, 0xf1, 0x02, 0x0a, 0x0d, 0x47, 0x4e, 0x53, 0x53, 0x53, 0x74, - 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x12, 0x2c, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x41, 0x62, - 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x58, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x02, 0x52, 0x11, 0x6d, 0x61, 0x78, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x58, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x58, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x58, 0x12, 0x28, 0x0a, 0x0f, 0x72, 0x6f, 0x6f, 0x74, 0x4d, 0x65, 0x61, 0x6e, 0x53, - 0x71, 0x75, 0x61, 0x72, 0x65, 0x58, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x72, 0x6f, - 0x6f, 0x74, 0x4d, 0x65, 0x61, 0x6e, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, 0x58, 0x12, 0x2c, 0x0a, - 0x11, 0x6d, 0x61, 0x78, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x59, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x11, 0x6d, 0x61, 0x78, 0x41, 0x62, 0x73, - 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x59, 0x12, 0x1c, 0x0a, 0x09, 0x61, - 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x59, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, - 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x59, 0x12, 0x28, 0x0a, 0x0f, 0x72, 0x6f, 0x6f, - 0x74, 0x4d, 0x65, 0x61, 0x6e, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, 0x59, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x02, 0x52, 0x0f, 0x72, 0x6f, 0x6f, 0x74, 0x4d, 0x65, 0x61, 0x6e, 0x53, 0x71, 0x75, 0x61, - 0x72, 0x65, 0x59, 0x12, 0x2c, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, - 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x5a, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x11, - 0x6d, 0x61, 0x78, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x5a, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x5a, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x5a, 0x12, - 0x28, 0x0a, 0x0f, 0x72, 0x6f, 0x6f, 0x74, 0x4d, 0x65, 0x61, 0x6e, 0x53, 0x71, 0x75, 0x61, 0x72, - 0x65, 0x5a, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x72, 0x6f, 0x6f, 0x74, 0x4d, 0x65, - 0x61, 0x6e, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, 0x5a, 0x22, 0xf0, 0x02, 0x0a, 0x0c, 0x41, 0x4e, - 0x44, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x12, 0x2c, 0x0a, 0x11, 0x6d, 0x61, - 0x78, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x58, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x11, 0x6d, 0x61, 0x78, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, - 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x58, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x76, 0x67, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x58, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x61, 0x76, 0x67, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x58, 0x12, 0x28, 0x0a, 0x0f, 0x72, 0x6f, 0x6f, 0x74, 0x4d, 0x65, - 0x61, 0x6e, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, 0x58, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, - 0x0f, 0x72, 0x6f, 0x6f, 0x74, 0x4d, 0x65, 0x61, 0x6e, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, 0x58, - 0x12, 0x2c, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x59, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x11, 0x6d, 0x61, 0x78, - 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x59, 0x12, 0x1c, - 0x0a, 0x09, 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x59, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x02, 0x52, 0x09, 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x59, 0x12, 0x28, 0x0a, 0x0f, - 0x72, 0x6f, 0x6f, 0x74, 0x4d, 0x65, 0x61, 0x6e, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, 0x59, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x72, 0x6f, 0x6f, 0x74, 0x4d, 0x65, 0x61, 0x6e, 0x53, - 0x71, 0x75, 0x61, 0x72, 0x65, 0x59, 0x12, 0x2c, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x41, 0x62, 0x73, - 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x5a, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x02, 0x52, 0x11, 0x6d, 0x61, 0x78, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x5a, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x5a, 0x18, 0x08, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x5a, 0x12, 0x28, 0x0a, 0x0f, 0x72, 0x6f, 0x6f, 0x74, 0x4d, 0x65, 0x61, 0x6e, 0x53, 0x71, - 0x75, 0x61, 0x72, 0x65, 0x5a, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x72, 0x6f, 0x6f, - 0x74, 0x4d, 0x65, 0x61, 0x6e, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, 0x5a, 0x22, 0xae, 0x01, 0x0a, - 0x0c, 0x44, 0x49, 0x53, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x12, 0x2a, 0x0a, - 0x10, 0x6d, 0x61, 0x78, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x6d, 0x61, 0x78, 0x41, 0x62, 0x73, 0x6f, - 0x6c, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x76, 0x67, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x61, 0x76, 0x67, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x72, 0x6f, 0x6f, 0x74, 0x4d, 0x65, 0x61, - 0x6e, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x72, - 0x6f, 0x6f, 0x74, 0x4d, 0x65, 0x61, 0x6e, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, 0x12, 0x2e, 0x0a, - 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, - 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x7e, 0x0a, - 0x0c, 0x48, 0x50, 0x54, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x12, 0x2a, 0x0a, - 0x10, 0x6d, 0x61, 0x78, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x6d, 0x61, 0x78, 0x41, 0x62, 0x73, 0x6f, - 0x6c, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x76, 0x67, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x61, 0x76, 0x67, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x72, 0x6f, 0x6f, 0x74, 0x4d, 0x65, 0x61, - 0x6e, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x72, - 0x6f, 0x6f, 0x74, 0x4d, 0x65, 0x61, 0x6e, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, 0x22, 0xfa, 0x01, - 0x0a, 0x0c, 0x49, 0x4e, 0x43, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x12, 0x2c, + 0x5f, 0x76, 0x33, 0x2e, 0x48, 0x53, 0x44, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, + 0x48, 0x00, 0x52, 0x03, 0x68, 0x73, 0x64, 0x12, 0x34, 0x0a, 0x03, 0x61, 0x6e, 0x64, 0x18, 0x11, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, + 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x5f, 0x76, 0x33, 0x2e, 0x41, 0x4e, 0x44, 0x53, 0x74, 0x61, + 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x48, 0x00, 0x52, 0x03, 0x61, 0x6e, 0x64, 0x12, 0x34, 0x0a, + 0x03, 0x63, 0x72, 0x6b, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x5f, 0x76, 0x33, 0x2e, + 0x43, 0x52, 0x4b, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x48, 0x00, 0x52, 0x03, + 0x63, 0x72, 0x6b, 0x12, 0x34, 0x0a, 0x03, 0x66, 0x72, 0x7a, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, + 0x68, 0x6c, 0x5f, 0x76, 0x33, 0x2e, 0x46, 0x52, 0x5a, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, + 0x69, 0x63, 0x48, 0x00, 0x52, 0x03, 0x66, 0x72, 0x7a, 0x12, 0x34, 0x0a, 0x03, 0x70, 0x77, 0x73, + 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, + 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x5f, 0x76, 0x33, 0x2e, 0x50, 0x57, 0x53, 0x53, + 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x48, 0x00, 0x52, 0x03, 0x70, 0x77, 0x73, 0x12, + 0x34, 0x0a, 0x03, 0x76, 0x73, 0x62, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x5f, 0x76, + 0x33, 0x2e, 0x56, 0x53, 0x42, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x48, 0x00, + 0x52, 0x03, 0x76, 0x73, 0x62, 0x12, 0x34, 0x0a, 0x03, 0x61, 0x63, 0x6e, 0x18, 0x16, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, + 0x7a, 0x6a, 0x68, 0x6c, 0x5f, 0x76, 0x33, 0x2e, 0x41, 0x43, 0x4e, 0x53, 0x74, 0x61, 0x74, 0x69, + 0x73, 0x74, 0x69, 0x63, 0x48, 0x00, 0x52, 0x03, 0x61, 0x63, 0x6e, 0x12, 0x34, 0x0a, 0x03, 0x77, + 0x6c, 0x76, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x5f, 0x76, 0x33, 0x2e, 0x57, 0x4c, + 0x56, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x48, 0x00, 0x52, 0x03, 0x77, 0x6c, + 0x76, 0x12, 0x34, 0x0a, 0x03, 0x62, 0x74, 0x66, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, + 0x5f, 0x76, 0x33, 0x2e, 0x42, 0x54, 0x46, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, + 0x48, 0x00, 0x52, 0x03, 0x62, 0x74, 0x66, 0x12, 0x34, 0x0a, 0x03, 0x63, 0x73, 0x70, 0x18, 0x19, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, + 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x5f, 0x76, 0x33, 0x2e, 0x43, 0x53, 0x50, 0x53, 0x74, 0x61, + 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x48, 0x00, 0x52, 0x03, 0x63, 0x73, 0x70, 0x12, 0x34, 0x0a, + 0x03, 0x70, 0x6c, 0x64, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x5f, 0x76, 0x33, 0x2e, + 0x50, 0x4c, 0x44, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x48, 0x00, 0x52, 0x03, + 0x70, 0x6c, 0x64, 0x12, 0x34, 0x0a, 0x03, 0x76, 0x69, 0x64, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, + 0x68, 0x6c, 0x5f, 0x76, 0x33, 0x2e, 0x56, 0x49, 0x44, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, + 0x69, 0x63, 0x48, 0x00, 0x52, 0x03, 0x76, 0x69, 0x64, 0x12, 0x34, 0x0a, 0x03, 0x77, 0x64, 0x70, + 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, + 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x5f, 0x76, 0x33, 0x2e, 0x57, 0x44, 0x50, 0x53, + 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x48, 0x00, 0x52, 0x03, 0x77, 0x64, 0x70, 0x12, + 0x34, 0x0a, 0x03, 0x73, 0x74, 0x66, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x5f, 0x76, + 0x33, 0x2e, 0x53, 0x54, 0x46, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x48, 0x00, + 0x52, 0x03, 0x73, 0x74, 0x66, 0x12, 0x34, 0x0a, 0x03, 0x73, 0x63, 0x6f, 0x18, 0x1e, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, + 0x7a, 0x6a, 0x68, 0x6c, 0x5f, 0x76, 0x33, 0x2e, 0x53, 0x43, 0x4f, 0x53, 0x74, 0x61, 0x74, 0x69, + 0x73, 0x74, 0x69, 0x63, 0x48, 0x00, 0x52, 0x03, 0x73, 0x63, 0x6f, 0x12, 0x34, 0x0a, 0x03, 0x63, + 0x6f, 0x72, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x5f, 0x76, 0x33, 0x2e, 0x43, 0x4f, + 0x52, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x48, 0x00, 0x52, 0x03, 0x63, 0x6f, + 0x72, 0x12, 0x34, 0x0a, 0x03, 0x73, 0x74, 0x72, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, + 0x5f, 0x76, 0x33, 0x2e, 0x53, 0x54, 0x52, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, + 0x48, 0x00, 0x52, 0x03, 0x73, 0x74, 0x72, 0x42, 0x0a, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x42, + 0x6f, 0x64, 0x79, 0x22, 0x94, 0x01, 0x0a, 0x0c, 0x55, 0x41, 0x4e, 0x53, 0x74, 0x61, 0x74, 0x69, + 0x73, 0x74, 0x69, 0x63, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x76, 0x67, 0x56, 0x65, 0x6c, 0x6f, 0x63, + 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x61, 0x76, 0x67, 0x56, 0x65, + 0x6c, 0x6f, 0x63, 0x69, 0x74, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x76, 0x67, 0x44, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x61, 0x76, + 0x67, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x0e, 0x61, 0x76, + 0x67, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x02, 0x48, 0x00, 0x52, 0x0e, 0x61, 0x76, 0x67, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x41, + 0x6e, 0x67, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x61, 0x76, 0x67, 0x41, + 0x74, 0x74, 0x61, 0x63, 0x6b, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x22, 0xe0, 0x02, 0x0a, 0x0c, 0x52, + 0x48, 0x53, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x12, 0x26, 0x0a, 0x0e, 0x6d, + 0x61, 0x78, 0x54, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x54, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x6d, 0x69, 0x6e, 0x54, 0x65, 0x6d, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x6d, 0x69, 0x6e, + 0x54, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x61, + 0x76, 0x67, 0x54, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x0e, 0x61, 0x76, 0x67, 0x54, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x12, 0x3a, 0x0a, 0x18, 0x6d, 0x61, 0x78, 0x54, 0x65, 0x6d, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x44, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x18, 0x6d, 0x61, 0x78, 0x54, 0x65, 0x6d, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x44, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, + 0x20, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x48, 0x75, 0x6d, 0x69, 0x64, 0x69, 0x74, 0x79, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x48, 0x75, 0x6d, 0x69, 0x64, 0x69, 0x74, + 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x69, 0x6e, 0x48, 0x75, 0x6d, 0x69, 0x64, 0x69, 0x74, 0x79, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x6d, 0x69, 0x6e, 0x48, 0x75, 0x6d, 0x69, 0x64, + 0x69, 0x74, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x76, 0x67, 0x48, 0x75, 0x6d, 0x69, 0x64, 0x69, + 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x61, 0x76, 0x67, 0x48, 0x75, 0x6d, + 0x69, 0x64, 0x69, 0x74, 0x79, 0x12, 0x36, 0x0a, 0x16, 0x68, 0x75, 0x6d, 0x69, 0x64, 0x69, 0x74, + 0x79, 0x45, 0x78, 0x63, 0x65, 0x65, 0x64, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x16, 0x68, 0x75, 0x6d, 0x69, 0x64, 0x69, 0x74, 0x79, 0x45, + 0x78, 0x63, 0x65, 0x65, 0x64, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xac, 0x01, + 0x0a, 0x0c, 0x54, 0x4d, 0x50, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x12, 0x26, + 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x54, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x54, 0x65, 0x6d, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x6d, 0x69, 0x6e, 0x54, 0x65, 0x6d, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, + 0x6d, 0x69, 0x6e, 0x54, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x26, + 0x0a, 0x0e, 0x61, 0x76, 0x67, 0x54, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x61, 0x76, 0x67, 0x54, 0x65, 0x6d, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x44, 0x69, 0x66, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x6d, + 0x61, 0x78, 0x44, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x22, 0xf1, 0x02, 0x0a, + 0x0d, 0x47, 0x4e, 0x53, 0x53, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x12, 0x2c, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x58, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x11, 0x6d, 0x61, 0x78, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x58, 0x12, 0x1c, 0x0a, 0x09, @@ -5478,277 +5948,441 @@ var file_MonitorDataProtocol_V1_3_1_proto_rawDesc = []byte{ 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x59, 0x12, 0x28, 0x0a, 0x0f, 0x72, 0x6f, 0x6f, 0x74, 0x4d, 0x65, 0x61, 0x6e, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, 0x59, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x72, 0x6f, 0x6f, 0x74, 0x4d, - 0x65, 0x61, 0x6e, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, 0x59, 0x22, 0x96, 0x01, 0x0a, 0x0c, 0x52, - 0x53, 0x47, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x12, 0x2a, 0x0a, 0x10, 0x6d, - 0x61, 0x78, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x6d, 0x61, 0x78, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, - 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x76, 0x67, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x61, 0x76, 0x67, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x12, 0x2b, 0x0a, 0x0e, 0x61, 0x76, 0x67, 0x54, 0x65, 0x6d, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x0e, 0x61, - 0x76, 0x67, 0x54, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, - 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x61, 0x76, 0x67, 0x54, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x22, 0x8a, 0x01, 0x0a, 0x0c, 0x56, 0x49, 0x43, 0x53, 0x74, 0x61, 0x74, 0x69, - 0x73, 0x74, 0x69, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x02, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1a, 0x0a, 0x08, - 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, - 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x72, 0x6f, 0x6f, 0x74, - 0x4d, 0x65, 0x61, 0x6e, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, - 0x52, 0x0e, 0x72, 0x6f, 0x6f, 0x74, 0x4d, 0x65, 0x61, 0x6e, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, - 0x22, 0x62, 0x0a, 0x0c, 0x56, 0x49, 0x42, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, - 0x12, 0x2a, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x6d, 0x61, 0x78, 0x41, - 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x26, 0x0a, 0x0e, - 0x72, 0x6f, 0x6f, 0x74, 0x4d, 0x65, 0x61, 0x6e, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, 0x18, 0x02, + 0x65, 0x61, 0x6e, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, 0x59, 0x12, 0x2c, 0x0a, 0x11, 0x6d, 0x61, + 0x78, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x5a, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x11, 0x6d, 0x61, 0x78, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, + 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x5a, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x76, 0x67, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x5a, 0x18, 0x08, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x61, 0x76, 0x67, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x5a, 0x12, 0x28, 0x0a, 0x0f, 0x72, 0x6f, 0x6f, 0x74, 0x4d, 0x65, + 0x61, 0x6e, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, 0x5a, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x52, + 0x0f, 0x72, 0x6f, 0x6f, 0x74, 0x4d, 0x65, 0x61, 0x6e, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, 0x5a, + 0x22, 0xf0, 0x02, 0x0a, 0x0c, 0x41, 0x4e, 0x44, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, + 0x63, 0x12, 0x2c, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x58, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x11, 0x6d, 0x61, + 0x78, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x58, 0x12, + 0x1c, 0x0a, 0x09, 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x58, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x02, 0x52, 0x09, 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x58, 0x12, 0x28, 0x0a, + 0x0f, 0x72, 0x6f, 0x6f, 0x74, 0x4d, 0x65, 0x61, 0x6e, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, 0x58, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x72, 0x6f, 0x6f, 0x74, 0x4d, 0x65, 0x61, 0x6e, + 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, 0x58, 0x12, 0x2c, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x41, 0x62, + 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x59, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x02, 0x52, 0x11, 0x6d, 0x61, 0x78, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x59, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x59, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x59, 0x12, 0x28, 0x0a, 0x0f, 0x72, 0x6f, 0x6f, 0x74, 0x4d, 0x65, 0x61, 0x6e, 0x53, + 0x71, 0x75, 0x61, 0x72, 0x65, 0x59, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x72, 0x6f, + 0x6f, 0x74, 0x4d, 0x65, 0x61, 0x6e, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, 0x59, 0x12, 0x2c, 0x0a, + 0x11, 0x6d, 0x61, 0x78, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x5a, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x11, 0x6d, 0x61, 0x78, 0x41, 0x62, 0x73, + 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x5a, 0x12, 0x1c, 0x0a, 0x09, 0x61, + 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x5a, 0x18, 0x08, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, + 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x5a, 0x12, 0x28, 0x0a, 0x0f, 0x72, 0x6f, 0x6f, + 0x74, 0x4d, 0x65, 0x61, 0x6e, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, 0x5a, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x02, 0x52, 0x0f, 0x72, 0x6f, 0x6f, 0x74, 0x4d, 0x65, 0x61, 0x6e, 0x53, 0x71, 0x75, 0x61, + 0x72, 0x65, 0x5a, 0x22, 0xae, 0x01, 0x0a, 0x0c, 0x44, 0x49, 0x53, 0x53, 0x74, 0x61, 0x74, 0x69, + 0x73, 0x74, 0x69, 0x63, 0x12, 0x2a, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x41, 0x62, 0x73, 0x6f, 0x6c, + 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, + 0x6d, 0x61, 0x78, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x02, 0x52, 0x08, 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x26, 0x0a, 0x0e, + 0x72, 0x6f, 0x6f, 0x74, 0x4d, 0x65, 0x61, 0x6e, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x72, 0x6f, 0x6f, 0x74, 0x4d, 0x65, 0x61, 0x6e, 0x53, 0x71, - 0x75, 0x61, 0x72, 0x65, 0x22, 0x62, 0x0a, 0x0c, 0x56, 0x49, 0x45, 0x53, 0x74, 0x61, 0x74, 0x69, + 0x75, 0x61, 0x72, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, 0x62, 0x73, + 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x22, 0x7e, 0x0a, 0x0c, 0x48, 0x50, 0x54, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x12, 0x2a, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x6d, 0x61, 0x78, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x12, 0x26, 0x0a, 0x0e, 0x72, 0x6f, 0x6f, 0x74, 0x4d, 0x65, 0x61, 0x6e, 0x53, 0x71, 0x75, 0x61, - 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x72, 0x6f, 0x6f, 0x74, 0x4d, 0x65, - 0x61, 0x6e, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, 0x22, 0x62, 0x0a, 0x0c, 0x54, 0x4d, 0x44, 0x53, - 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x12, 0x2a, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x41, - 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x02, 0x52, 0x10, 0x6d, 0x61, 0x78, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x72, 0x6f, 0x6f, 0x74, 0x4d, 0x65, 0x61, 0x6e, - 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x72, 0x6f, - 0x6f, 0x74, 0x4d, 0x65, 0x61, 0x6e, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, 0x22, 0x9c, 0x01, 0x0a, - 0x0c, 0x48, 0x53, 0x44, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x12, 0x20, 0x0a, - 0x0b, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x46, 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x46, 0x6c, 0x6f, 0x77, 0x12, - 0x22, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4c, 0x6f, 0x61, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4c, - 0x6f, 0x61, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x41, 0x78, 0x6c, 0x65, 0x4c, 0x6f, - 0x61, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x41, 0x78, 0x6c, - 0x65, 0x4c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x6f, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x61, - 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6f, 0x76, - 0x65, 0x72, 0x4c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xae, 0x01, 0x0a, 0x0c, - 0x43, 0x52, 0x4b, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x12, 0x2a, 0x0a, 0x10, + 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x02, 0x52, 0x08, 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x26, 0x0a, 0x0e, + 0x72, 0x6f, 0x6f, 0x74, 0x4d, 0x65, 0x61, 0x6e, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x72, 0x6f, 0x6f, 0x74, 0x4d, 0x65, 0x61, 0x6e, 0x53, 0x71, + 0x75, 0x61, 0x72, 0x65, 0x22, 0xfa, 0x01, 0x0a, 0x0c, 0x49, 0x4e, 0x43, 0x53, 0x74, 0x61, 0x74, + 0x69, 0x73, 0x74, 0x69, 0x63, 0x12, 0x2c, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x41, 0x62, 0x73, 0x6f, + 0x6c, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x58, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x11, 0x6d, 0x61, 0x78, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x58, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x58, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x58, 0x12, 0x28, 0x0a, 0x0f, 0x72, 0x6f, 0x6f, 0x74, 0x4d, 0x65, 0x61, 0x6e, 0x53, 0x71, 0x75, + 0x61, 0x72, 0x65, 0x58, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x72, 0x6f, 0x6f, 0x74, + 0x4d, 0x65, 0x61, 0x6e, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, 0x58, 0x12, 0x2c, 0x0a, 0x11, 0x6d, + 0x61, 0x78, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x59, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x11, 0x6d, 0x61, 0x78, 0x41, 0x62, 0x73, 0x6f, 0x6c, + 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x59, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x76, 0x67, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x59, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x61, 0x76, + 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x59, 0x12, 0x28, 0x0a, 0x0f, 0x72, 0x6f, 0x6f, 0x74, 0x4d, + 0x65, 0x61, 0x6e, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, 0x59, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x0f, 0x72, 0x6f, 0x6f, 0x74, 0x4d, 0x65, 0x61, 0x6e, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, + 0x59, 0x22, 0x96, 0x01, 0x0a, 0x0c, 0x52, 0x53, 0x47, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, + 0x69, 0x63, 0x12, 0x2a, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, + 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x6d, 0x61, + 0x78, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x08, 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2b, 0x0a, 0x0e, 0x61, 0x76, + 0x67, 0x54, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x02, 0x48, 0x00, 0x52, 0x0e, 0x61, 0x76, 0x67, 0x54, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x61, 0x76, 0x67, 0x54, + 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x8a, 0x01, 0x0a, 0x0c, 0x56, + 0x49, 0x43, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x6d, + 0x61, 0x78, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x6d, + 0x61, 0x78, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x69, 0x6e, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, + 0x26, 0x0a, 0x0e, 0x72, 0x6f, 0x6f, 0x74, 0x4d, 0x65, 0x61, 0x6e, 0x53, 0x71, 0x75, 0x61, 0x72, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x72, 0x6f, 0x6f, 0x74, 0x4d, 0x65, 0x61, + 0x6e, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, 0x22, 0x62, 0x0a, 0x0c, 0x56, 0x49, 0x42, 0x53, 0x74, + 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x12, 0x2a, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x41, 0x62, + 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x02, 0x52, 0x10, 0x6d, 0x61, 0x78, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x72, 0x6f, 0x6f, 0x74, 0x4d, 0x65, 0x61, 0x6e, 0x53, + 0x71, 0x75, 0x61, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x72, 0x6f, 0x6f, + 0x74, 0x4d, 0x65, 0x61, 0x6e, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, 0x22, 0x62, 0x0a, 0x0c, 0x56, + 0x49, 0x45, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x12, 0x2a, 0x0a, 0x10, 0x6d, + 0x61, 0x78, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x6d, 0x61, 0x78, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, + 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x72, 0x6f, 0x6f, 0x74, 0x4d, + 0x65, 0x61, 0x6e, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, + 0x0e, 0x72, 0x6f, 0x6f, 0x74, 0x4d, 0x65, 0x61, 0x6e, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, 0x22, + 0x62, 0x0a, 0x0c, 0x56, 0x49, 0x44, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x12, + 0x2a, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x6d, 0x61, 0x78, 0x41, 0x62, + 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x72, + 0x6f, 0x6f, 0x74, 0x4d, 0x65, 0x61, 0x6e, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x0e, 0x72, 0x6f, 0x6f, 0x74, 0x4d, 0x65, 0x61, 0x6e, 0x53, 0x71, 0x75, + 0x61, 0x72, 0x65, 0x22, 0x62, 0x0a, 0x0c, 0x54, 0x4d, 0x44, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, + 0x74, 0x69, 0x63, 0x12, 0x2a, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, + 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x6d, + 0x61, 0x78, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, + 0x26, 0x0a, 0x0e, 0x72, 0x6f, 0x6f, 0x74, 0x4d, 0x65, 0x61, 0x6e, 0x53, 0x71, 0x75, 0x61, 0x72, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x72, 0x6f, 0x6f, 0x74, 0x4d, 0x65, 0x61, + 0x6e, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, 0x22, 0xb6, 0x01, 0x0a, 0x0c, 0x48, 0x53, 0x44, 0x53, + 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x66, + 0x66, 0x69, 0x63, 0x46, 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, + 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x46, 0x6c, 0x6f, 0x77, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x61, + 0x78, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4c, 0x6f, 0x61, 0x64, 0x12, 0x20, + 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x41, 0x78, 0x6c, 0x65, 0x4c, 0x6f, 0x61, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x41, 0x78, 0x6c, 0x65, 0x4c, 0x6f, 0x61, 0x64, + 0x12, 0x24, 0x0a, 0x0d, 0x6f, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6f, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x61, + 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x76, 0x67, 0x4c, 0x6f, 0x61, + 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x61, 0x76, 0x67, 0x4c, 0x6f, 0x61, 0x64, + 0x22, 0xae, 0x01, 0x0a, 0x0c, 0x43, 0x52, 0x4b, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, + 0x63, 0x12, 0x2a, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x6d, 0x61, 0x78, + 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, + 0x08, 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x72, 0x6f, 0x6f, + 0x74, 0x4d, 0x65, 0x61, 0x6e, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x02, 0x52, 0x0e, 0x72, 0x6f, 0x6f, 0x74, 0x4d, 0x65, 0x61, 0x6e, 0x53, 0x71, 0x75, 0x61, 0x72, + 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, + 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x12, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x22, 0x62, 0x0a, 0x0c, 0x46, 0x52, 0x5a, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, + 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x6d, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, + 0x08, 0x6d, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x76, 0x67, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x61, 0x76, 0x67, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x2a, 0x0a, 0x0c, 0x50, 0x57, 0x53, 0x53, 0x74, 0x61, 0x74, + 0x69, 0x73, 0x74, 0x69, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x22, 0x2a, 0x0a, 0x0c, 0x56, 0x53, 0x42, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, + 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x08, 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x62, 0x0a, + 0x0c, 0x41, 0x43, 0x4e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x12, 0x1a, 0x0a, + 0x08, 0x6d, 0x61, 0x78, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, + 0x08, 0x6d, 0x61, 0x78, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x69, 0x6e, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x6d, 0x69, 0x6e, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x22, 0x62, 0x0a, 0x0c, 0x57, 0x4c, 0x56, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, + 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x6d, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, + 0x08, 0x6d, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x76, 0x67, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x61, 0x76, 0x67, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x7e, 0x0a, 0x0c, 0x42, 0x54, 0x46, 0x53, 0x74, 0x61, 0x74, + 0x69, 0x73, 0x74, 0x69, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x6d, 0x61, 0x78, + 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x26, 0x0a, + 0x0e, 0x72, 0x6f, 0x6f, 0x74, 0x4d, 0x65, 0x61, 0x6e, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x72, 0x6f, 0x6f, 0x74, 0x4d, 0x65, 0x61, 0x6e, 0x53, + 0x71, 0x75, 0x61, 0x72, 0x65, 0x22, 0x7e, 0x0a, 0x0c, 0x43, 0x53, 0x50, 0x53, 0x74, 0x61, 0x74, + 0x69, 0x73, 0x74, 0x69, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x6d, 0x61, 0x78, + 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x26, 0x0a, + 0x0e, 0x72, 0x6f, 0x6f, 0x74, 0x4d, 0x65, 0x61, 0x6e, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x72, 0x6f, 0x6f, 0x74, 0x4d, 0x65, 0x61, 0x6e, 0x53, + 0x71, 0x75, 0x61, 0x72, 0x65, 0x22, 0xf0, 0x02, 0x0a, 0x0c, 0x50, 0x4c, 0x44, 0x53, 0x74, 0x61, + 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x12, 0x2c, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x41, 0x62, 0x73, + 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x58, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x02, 0x52, 0x11, 0x6d, 0x61, 0x78, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x58, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x58, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x58, 0x12, 0x28, 0x0a, 0x0f, 0x72, 0x6f, 0x6f, 0x74, 0x4d, 0x65, 0x61, 0x6e, 0x53, 0x71, + 0x75, 0x61, 0x72, 0x65, 0x58, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x72, 0x6f, 0x6f, + 0x74, 0x4d, 0x65, 0x61, 0x6e, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, 0x58, 0x12, 0x2c, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x6d, 0x61, 0x78, 0x41, 0x62, 0x73, 0x6f, 0x6c, - 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x76, 0x67, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x61, 0x76, 0x67, 0x56, + 0x59, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x11, 0x6d, 0x61, 0x78, 0x41, 0x62, 0x73, 0x6f, + 0x6c, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x59, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x76, + 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x59, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x61, + 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x59, 0x12, 0x28, 0x0a, 0x0f, 0x72, 0x6f, 0x6f, 0x74, + 0x4d, 0x65, 0x61, 0x6e, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, 0x59, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x02, 0x52, 0x0f, 0x72, 0x6f, 0x6f, 0x74, 0x4d, 0x65, 0x61, 0x6e, 0x53, 0x71, 0x75, 0x61, 0x72, + 0x65, 0x59, 0x12, 0x2c, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, + 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x5a, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x11, 0x6d, + 0x61, 0x78, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x5a, + 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x5a, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x09, 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x5a, 0x12, 0x28, + 0x0a, 0x0f, 0x72, 0x6f, 0x6f, 0x74, 0x4d, 0x65, 0x61, 0x6e, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, + 0x5a, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x72, 0x6f, 0x6f, 0x74, 0x4d, 0x65, 0x61, + 0x6e, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, 0x5a, 0x22, 0x52, 0x0a, 0x0c, 0x57, 0x44, 0x50, 0x53, + 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x76, 0x67, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x72, 0x6f, 0x6f, 0x74, 0x4d, 0x65, 0x61, 0x6e, - 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x72, 0x6f, - 0x6f, 0x74, 0x4d, 0x65, 0x61, 0x6e, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, 0x12, 0x2e, 0x0a, 0x12, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, - 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x62, 0x0a, 0x0c, - 0x46, 0x52, 0x5a, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x12, 0x1a, 0x0a, 0x08, - 0x6d, 0x61, 0x78, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, - 0x6d, 0x61, 0x78, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x69, 0x6e, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x22, 0x2a, 0x0a, 0x0c, 0x50, 0x57, 0x53, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, - 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x02, 0x52, 0x08, 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x2a, 0x0a, 0x0c, - 0x56, 0x53, 0x42, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x12, 0x1a, 0x0a, 0x08, - 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, - 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x62, 0x0a, 0x0c, 0x41, 0x43, 0x4e, 0x53, - 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x02, 0x52, 0x08, 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x62, 0x0a, 0x0c, - 0x57, 0x4c, 0x56, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x12, 0x1a, 0x0a, 0x08, + 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x72, 0x6f, + 0x6f, 0x74, 0x4d, 0x65, 0x61, 0x6e, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, 0x22, 0x62, 0x0a, 0x0c, + 0x53, 0x54, 0x46, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x22, 0x7e, 0x0a, 0x0c, 0x42, 0x54, 0x46, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, - 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x02, 0x52, 0x08, 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2a, 0x0a, 0x10, - 0x6d, 0x61, 0x78, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x6d, 0x61, 0x78, 0x41, 0x62, 0x73, 0x6f, 0x6c, - 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x72, 0x6f, 0x6f, 0x74, - 0x4d, 0x65, 0x61, 0x6e, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, - 0x52, 0x0e, 0x72, 0x6f, 0x6f, 0x74, 0x4d, 0x65, 0x61, 0x6e, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, - 0x22, 0x7e, 0x0a, 0x0c, 0x43, 0x53, 0x50, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, - 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x02, 0x52, 0x08, 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2a, 0x0a, 0x10, - 0x6d, 0x61, 0x78, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x6d, 0x61, 0x78, 0x41, 0x62, 0x73, 0x6f, 0x6c, - 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x72, 0x6f, 0x6f, 0x74, - 0x4d, 0x65, 0x61, 0x6e, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, - 0x52, 0x0e, 0x72, 0x6f, 0x6f, 0x74, 0x4d, 0x65, 0x61, 0x6e, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, - 0x2a, 0x47, 0x0a, 0x08, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0c, 0x0a, 0x08, - 0x52, 0x45, 0x41, 0x4c, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x54, - 0x41, 0x54, 0x49, 0x53, 0x54, 0x49, 0x43, 0x53, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x45, 0x4d, - 0x45, 0x52, 0x47, 0x45, 0x4e, 0x43, 0x59, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x49, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x2a, 0x9d, 0x02, 0x0a, 0x0c, 0x4d, 0x6f, - 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x07, 0x0a, 0x03, 0x55, 0x41, - 0x4e, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x52, 0x48, 0x53, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, - 0x47, 0x4e, 0x53, 0x53, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x56, 0x49, 0x43, 0x10, 0x03, 0x12, - 0x07, 0x0a, 0x03, 0x44, 0x49, 0x43, 0x10, 0x04, 0x12, 0x07, 0x0a, 0x03, 0x44, 0x49, 0x53, 0x10, - 0x05, 0x12, 0x07, 0x0a, 0x03, 0x48, 0x50, 0x54, 0x10, 0x06, 0x12, 0x07, 0x0a, 0x03, 0x52, 0x53, - 0x47, 0x10, 0x07, 0x12, 0x07, 0x0a, 0x03, 0x49, 0x4e, 0x43, 0x10, 0x08, 0x12, 0x07, 0x0a, 0x03, - 0x56, 0x49, 0x42, 0x10, 0x09, 0x12, 0x07, 0x0a, 0x03, 0x56, 0x49, 0x45, 0x10, 0x0a, 0x12, 0x07, - 0x0a, 0x03, 0x54, 0x4d, 0x44, 0x10, 0x0b, 0x12, 0x07, 0x0a, 0x03, 0x48, 0x53, 0x44, 0x10, 0x0c, - 0x12, 0x07, 0x0a, 0x03, 0x54, 0x4d, 0x50, 0x10, 0x0d, 0x12, 0x07, 0x0a, 0x03, 0x50, 0x57, 0x53, - 0x10, 0x0e, 0x12, 0x07, 0x0a, 0x03, 0x46, 0x52, 0x5a, 0x10, 0x0f, 0x12, 0x07, 0x0a, 0x03, 0x4c, - 0x4d, 0x5a, 0x10, 0x10, 0x12, 0x07, 0x0a, 0x03, 0x53, 0x54, 0x46, 0x10, 0x11, 0x12, 0x07, 0x0a, - 0x03, 0x53, 0x43, 0x4f, 0x10, 0x12, 0x12, 0x07, 0x0a, 0x03, 0x43, 0x52, 0x4b, 0x10, 0x13, 0x12, - 0x07, 0x0a, 0x03, 0x43, 0x4f, 0x52, 0x10, 0x14, 0x12, 0x07, 0x0a, 0x03, 0x56, 0x49, 0x53, 0x10, - 0x15, 0x12, 0x07, 0x0a, 0x03, 0x53, 0x54, 0x52, 0x10, 0x16, 0x12, 0x07, 0x0a, 0x03, 0x42, 0x52, - 0x4b, 0x10, 0x17, 0x12, 0x07, 0x0a, 0x03, 0x42, 0x54, 0x46, 0x10, 0x18, 0x12, 0x07, 0x0a, 0x03, - 0x43, 0x53, 0x50, 0x10, 0x19, 0x12, 0x07, 0x0a, 0x03, 0x56, 0x53, 0x42, 0x10, 0x1a, 0x12, 0x07, - 0x0a, 0x03, 0x41, 0x43, 0x4e, 0x10, 0x1b, 0x12, 0x07, 0x0a, 0x03, 0x57, 0x4c, 0x56, 0x10, 0x1c, - 0x12, 0x07, 0x0a, 0x03, 0x43, 0x4d, 0x4d, 0x10, 0x63, 0x42, 0x14, 0x5a, 0x12, 0x2e, 0x2e, 0x2f, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x22, 0x4a, 0x0a, 0x0c, 0x53, 0x43, 0x4f, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, + 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x02, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1e, 0x0a, 0x0a, + 0x73, 0x63, 0x6f, 0x75, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x0a, 0x73, 0x63, 0x6f, 0x75, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x22, 0x88, 0x03, 0x0a, + 0x0c, 0x43, 0x4f, 0x52, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x12, 0x44, 0x0a, + 0x1d, 0x63, 0x68, 0x6c, 0x6f, 0x72, 0x69, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x63, 0x65, 0x6e, 0x74, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x78, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x02, 0x52, 0x1d, 0x63, 0x68, 0x6c, 0x6f, 0x72, 0x69, 0x64, 0x65, 0x43, 0x6f, + 0x6e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x78, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x12, 0x44, 0x0a, 0x1d, 0x63, 0x68, 0x6c, 0x6f, 0x72, 0x69, 0x64, 0x65, 0x43, + 0x6f, 0x6e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x69, 0x6e, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x1d, 0x63, 0x68, 0x6c, 0x6f, + 0x72, 0x69, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4d, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x44, 0x0a, 0x1d, 0x63, 0x68, 0x6c, + 0x6f, 0x72, 0x69, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x41, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x1d, 0x63, 0x68, 0x6c, 0x6f, 0x72, 0x69, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x63, 0x65, 0x6e, + 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, + 0x36, 0x0a, 0x16, 0x63, 0x6f, 0x72, 0x72, 0x6f, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x70, 0x74, + 0x68, 0x4d, 0x61, 0x78, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, + 0x16, 0x63, 0x6f, 0x72, 0x72, 0x6f, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x70, 0x74, 0x68, 0x4d, + 0x61, 0x78, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x36, 0x0a, 0x16, 0x63, 0x6f, 0x72, 0x72, 0x6f, + 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x70, 0x74, 0x68, 0x4d, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x16, 0x63, 0x6f, 0x72, 0x72, 0x6f, 0x73, 0x69, + 0x6f, 0x6e, 0x44, 0x65, 0x70, 0x74, 0x68, 0x4d, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, + 0x36, 0x0a, 0x16, 0x63, 0x6f, 0x72, 0x72, 0x6f, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x70, 0x74, + 0x68, 0x41, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, + 0x16, 0x63, 0x6f, 0x72, 0x72, 0x6f, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x70, 0x74, 0x68, 0x41, + 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x62, 0x0a, 0x0c, 0x53, 0x54, 0x52, 0x53, 0x74, + 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, + 0x1a, 0x0a, 0x08, 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x02, 0x52, 0x08, 0x61, 0x76, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2a, 0x4a, 0x0a, 0x08, 0x44, + 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x45, 0x41, 0x4c, 0x54, + 0x49, 0x4d, 0x45, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x54, 0x41, 0x54, 0x49, 0x53, 0x54, + 0x49, 0x43, 0x53, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x50, 0x45, 0x43, 0x49, 0x41, 0x4c, + 0x45, 0x56, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x49, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x2a, 0xb8, 0x02, 0x0a, 0x0c, 0x4d, 0x6f, 0x6e, 0x69, + 0x74, 0x6f, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x07, 0x0a, 0x03, 0x55, 0x41, 0x4e, 0x10, + 0x00, 0x12, 0x07, 0x0a, 0x03, 0x52, 0x48, 0x53, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x47, 0x4e, + 0x53, 0x53, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x56, 0x49, 0x43, 0x10, 0x03, 0x12, 0x07, 0x0a, + 0x03, 0x44, 0x49, 0x43, 0x10, 0x04, 0x12, 0x07, 0x0a, 0x03, 0x44, 0x49, 0x53, 0x10, 0x05, 0x12, + 0x07, 0x0a, 0x03, 0x48, 0x50, 0x54, 0x10, 0x06, 0x12, 0x07, 0x0a, 0x03, 0x52, 0x53, 0x47, 0x10, + 0x07, 0x12, 0x07, 0x0a, 0x03, 0x49, 0x4e, 0x43, 0x10, 0x08, 0x12, 0x07, 0x0a, 0x03, 0x56, 0x49, + 0x42, 0x10, 0x09, 0x12, 0x07, 0x0a, 0x03, 0x56, 0x49, 0x45, 0x10, 0x0a, 0x12, 0x07, 0x0a, 0x03, + 0x54, 0x4d, 0x44, 0x10, 0x0b, 0x12, 0x07, 0x0a, 0x03, 0x48, 0x53, 0x44, 0x10, 0x0c, 0x12, 0x07, + 0x0a, 0x03, 0x54, 0x4d, 0x50, 0x10, 0x0d, 0x12, 0x07, 0x0a, 0x03, 0x50, 0x57, 0x53, 0x10, 0x0e, + 0x12, 0x07, 0x0a, 0x03, 0x46, 0x52, 0x5a, 0x10, 0x0f, 0x12, 0x07, 0x0a, 0x03, 0x4c, 0x4d, 0x5a, + 0x10, 0x10, 0x12, 0x07, 0x0a, 0x03, 0x53, 0x54, 0x46, 0x10, 0x11, 0x12, 0x07, 0x0a, 0x03, 0x53, + 0x43, 0x4f, 0x10, 0x12, 0x12, 0x07, 0x0a, 0x03, 0x43, 0x52, 0x4b, 0x10, 0x13, 0x12, 0x07, 0x0a, + 0x03, 0x43, 0x4f, 0x52, 0x10, 0x14, 0x12, 0x07, 0x0a, 0x03, 0x53, 0x54, 0x52, 0x10, 0x16, 0x12, + 0x07, 0x0a, 0x03, 0x42, 0x52, 0x4b, 0x10, 0x17, 0x12, 0x07, 0x0a, 0x03, 0x42, 0x54, 0x46, 0x10, + 0x18, 0x12, 0x07, 0x0a, 0x03, 0x43, 0x53, 0x50, 0x10, 0x19, 0x12, 0x07, 0x0a, 0x03, 0x57, 0x44, + 0x50, 0x10, 0x1a, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4e, 0x44, 0x10, 0x1e, 0x12, 0x07, 0x0a, 0x03, + 0x56, 0x49, 0x44, 0x10, 0x21, 0x12, 0x07, 0x0a, 0x03, 0x56, 0x53, 0x42, 0x10, 0x22, 0x12, 0x07, + 0x0a, 0x03, 0x41, 0x43, 0x4e, 0x10, 0x23, 0x12, 0x07, 0x0a, 0x03, 0x57, 0x4c, 0x56, 0x10, 0x24, + 0x12, 0x07, 0x0a, 0x03, 0x50, 0x4c, 0x44, 0x10, 0x61, 0x12, 0x07, 0x0a, 0x03, 0x43, 0x4d, 0x4d, + 0x10, 0x63, 0x42, 0x17, 0x5a, 0x15, 0x2e, 0x2e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, + 0x6c, 0x65, 0x73, 0x5f, 0x7a, 0x6a, 0x68, 0x6c, 0x5f, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( - file_MonitorDataProtocol_V1_3_1_proto_rawDescOnce sync.Once - file_MonitorDataProtocol_V1_3_1_proto_rawDescData = file_MonitorDataProtocol_V1_3_1_proto_rawDesc + file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescOnce sync.Once + file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescData = file_MonitorDataProtocol_Ministry_v3_0_proto_rawDesc ) -func file_MonitorDataProtocol_V1_3_1_proto_rawDescGZIP() []byte { - file_MonitorDataProtocol_V1_3_1_proto_rawDescOnce.Do(func() { - file_MonitorDataProtocol_V1_3_1_proto_rawDescData = protoimpl.X.CompressGZIP(file_MonitorDataProtocol_V1_3_1_proto_rawDescData) +func file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescGZIP() []byte { + file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescOnce.Do(func() { + file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescData = protoimpl.X.CompressGZIP(file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescData) }) - return file_MonitorDataProtocol_V1_3_1_proto_rawDescData -} - -var file_MonitorDataProtocol_V1_3_1_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_MonitorDataProtocol_V1_3_1_proto_msgTypes = make([]protoimpl.MessageInfo, 55) -var file_MonitorDataProtocol_V1_3_1_proto_goTypes = []interface{}{ - (DataType)(0), // 0: protoFiles_zjhl.DataType - (MonitoryType)(0), // 1: protoFiles_zjhl.MonitoryType - (*ComplexData)(nil), // 2: protoFiles_zjhl.ComplexData - (*DataDefinition)(nil), // 3: protoFiles_zjhl.DataDefinition - (*RealTimeData)(nil), // 4: protoFiles_zjhl.RealTimeData - (*UANRealTime)(nil), // 5: protoFiles_zjhl.UANRealTime - (*RHSRealTime)(nil), // 6: protoFiles_zjhl.RHSRealTime - (*TMPRealTime)(nil), // 7: protoFiles_zjhl.TMPRealTime - (*GNSSRealTime)(nil), // 8: protoFiles_zjhl.GNSSRealTime - (*VICRealTime)(nil), // 9: protoFiles_zjhl.VICRealTime - (*DISRealTime)(nil), // 10: protoFiles_zjhl.DISRealTime - (*CRKRealTime)(nil), // 11: protoFiles_zjhl.CRKRealTime - (*HPTRealTime)(nil), // 12: protoFiles_zjhl.HPTRealTime - (*RSGRealTime)(nil), // 13: protoFiles_zjhl.RSGRealTime - (*INCRealTime)(nil), // 14: protoFiles_zjhl.INCRealTime - (*VIBRealTime)(nil), // 15: protoFiles_zjhl.VIBRealTime - (*VIERealTime)(nil), // 16: protoFiles_zjhl.VIERealTime - (*TMDRealTime)(nil), // 17: protoFiles_zjhl.TMDRealTime - (*HSDRealTime)(nil), // 18: protoFiles_zjhl.HSDRealTime - (*PWSRealTime)(nil), // 19: protoFiles_zjhl.PWSRealTime - (*FRZRealTime)(nil), // 20: protoFiles_zjhl.FRZRealTime - (*LMZRealTime)(nil), // 21: protoFiles_zjhl.LMZRealTime - (*DICRealTime)(nil), // 22: protoFiles_zjhl.DICRealTime - (*STFRealTime)(nil), // 23: protoFiles_zjhl.STFRealTime - (*SCORealTime)(nil), // 24: protoFiles_zjhl.SCORealTime - (*CORRealTime)(nil), // 25: protoFiles_zjhl.CORRealTime - (*VISRealTime)(nil), // 26: protoFiles_zjhl.VISRealTime - (*STRRealTime)(nil), // 27: protoFiles_zjhl.STRRealTime - (*BRKRealTime)(nil), // 28: protoFiles_zjhl.BRKRealTime - (*BTFRealTime)(nil), // 29: protoFiles_zjhl.BTFRealTime - (*CSPRealTime)(nil), // 30: protoFiles_zjhl.CSPRealTime - (*VSBRealTime)(nil), // 31: protoFiles_zjhl.VSBRealTime - (*ACNRealTime)(nil), // 32: protoFiles_zjhl.ACNRealTime - (*WLVRealTime)(nil), // 33: protoFiles_zjhl.WLVRealTime - (*StatisticData)(nil), // 34: protoFiles_zjhl.StatisticData - (*UANStatistic)(nil), // 35: protoFiles_zjhl.UANStatistic - (*RHSStatistic)(nil), // 36: protoFiles_zjhl.RHSStatistic - (*TMPStatistic)(nil), // 37: protoFiles_zjhl.TMPStatistic - (*GNSSStatistic)(nil), // 38: protoFiles_zjhl.GNSSStatistic - (*ANDStatistic)(nil), // 39: protoFiles_zjhl.ANDStatistic - (*DISStatistic)(nil), // 40: protoFiles_zjhl.DISStatistic - (*HPTStatistic)(nil), // 41: protoFiles_zjhl.HPTStatistic - (*INCStatistic)(nil), // 42: protoFiles_zjhl.INCStatistic - (*RSGStatistic)(nil), // 43: protoFiles_zjhl.RSGStatistic - (*VICStatistic)(nil), // 44: protoFiles_zjhl.VICStatistic - (*VIBStatistic)(nil), // 45: protoFiles_zjhl.VIBStatistic - (*VIEStatistic)(nil), // 46: protoFiles_zjhl.VIEStatistic - (*TMDStatistic)(nil), // 47: protoFiles_zjhl.TMDStatistic - (*HSDStatistic)(nil), // 48: protoFiles_zjhl.HSDStatistic - (*CRKStatistic)(nil), // 49: protoFiles_zjhl.CRKStatistic - (*FRZStatistic)(nil), // 50: protoFiles_zjhl.FRZStatistic - (*PWSStatistic)(nil), // 51: protoFiles_zjhl.PWSStatistic - (*VSBStatistic)(nil), // 52: protoFiles_zjhl.VSBStatistic - (*ACNStatistic)(nil), // 53: protoFiles_zjhl.ACNStatistic - (*WLVStatistic)(nil), // 54: protoFiles_zjhl.WLVStatistic - (*BTFStatistic)(nil), // 55: protoFiles_zjhl.BTFStatistic - (*CSPStatistic)(nil), // 56: protoFiles_zjhl.CSPStatistic -} -var file_MonitorDataProtocol_V1_3_1_proto_depIdxs = []int32{ - 3, // 0: protoFiles_zjhl.ComplexData.sensorData:type_name -> protoFiles_zjhl.DataDefinition - 0, // 1: protoFiles_zjhl.DataDefinition.dataType:type_name -> protoFiles_zjhl.DataType - 4, // 2: protoFiles_zjhl.DataDefinition.realTimeData:type_name -> protoFiles_zjhl.RealTimeData - 34, // 3: protoFiles_zjhl.DataDefinition.statisticData:type_name -> protoFiles_zjhl.StatisticData - 1, // 4: protoFiles_zjhl.RealTimeData.monitorType:type_name -> protoFiles_zjhl.MonitoryType - 5, // 5: protoFiles_zjhl.RealTimeData.uan:type_name -> protoFiles_zjhl.UANRealTime - 6, // 6: protoFiles_zjhl.RealTimeData.rhs:type_name -> protoFiles_zjhl.RHSRealTime - 7, // 7: protoFiles_zjhl.RealTimeData.tmp:type_name -> protoFiles_zjhl.TMPRealTime - 8, // 8: protoFiles_zjhl.RealTimeData.gnss:type_name -> protoFiles_zjhl.GNSSRealTime - 9, // 9: protoFiles_zjhl.RealTimeData.vic:type_name -> protoFiles_zjhl.VICRealTime - 22, // 10: protoFiles_zjhl.RealTimeData.dic:type_name -> protoFiles_zjhl.DICRealTime - 10, // 11: protoFiles_zjhl.RealTimeData.dis:type_name -> protoFiles_zjhl.DISRealTime - 12, // 12: protoFiles_zjhl.RealTimeData.hpt:type_name -> protoFiles_zjhl.HPTRealTime - 13, // 13: protoFiles_zjhl.RealTimeData.rsg:type_name -> protoFiles_zjhl.RSGRealTime - 14, // 14: protoFiles_zjhl.RealTimeData.inc:type_name -> protoFiles_zjhl.INCRealTime - 16, // 15: protoFiles_zjhl.RealTimeData.vie:type_name -> protoFiles_zjhl.VIERealTime - 17, // 16: protoFiles_zjhl.RealTimeData.tmd:type_name -> protoFiles_zjhl.TMDRealTime - 15, // 17: protoFiles_zjhl.RealTimeData.vib:type_name -> protoFiles_zjhl.VIBRealTime - 18, // 18: protoFiles_zjhl.RealTimeData.hsd:type_name -> protoFiles_zjhl.HSDRealTime - 19, // 19: protoFiles_zjhl.RealTimeData.pws:type_name -> protoFiles_zjhl.PWSRealTime - 20, // 20: protoFiles_zjhl.RealTimeData.frz:type_name -> protoFiles_zjhl.FRZRealTime - 21, // 21: protoFiles_zjhl.RealTimeData.lmz:type_name -> protoFiles_zjhl.LMZRealTime - 23, // 22: protoFiles_zjhl.RealTimeData.stf:type_name -> protoFiles_zjhl.STFRealTime - 24, // 23: protoFiles_zjhl.RealTimeData.sco:type_name -> protoFiles_zjhl.SCORealTime - 11, // 24: protoFiles_zjhl.RealTimeData.crk:type_name -> protoFiles_zjhl.CRKRealTime - 25, // 25: protoFiles_zjhl.RealTimeData.cor:type_name -> protoFiles_zjhl.CORRealTime - 26, // 26: protoFiles_zjhl.RealTimeData.vis:type_name -> protoFiles_zjhl.VISRealTime - 27, // 27: protoFiles_zjhl.RealTimeData.str:type_name -> protoFiles_zjhl.STRRealTime - 28, // 28: protoFiles_zjhl.RealTimeData.brk:type_name -> protoFiles_zjhl.BRKRealTime - 29, // 29: protoFiles_zjhl.RealTimeData.btf:type_name -> protoFiles_zjhl.BTFRealTime - 30, // 30: protoFiles_zjhl.RealTimeData.csp:type_name -> protoFiles_zjhl.CSPRealTime - 31, // 31: protoFiles_zjhl.RealTimeData.vsb:type_name -> protoFiles_zjhl.VSBRealTime - 32, // 32: protoFiles_zjhl.RealTimeData.acn:type_name -> protoFiles_zjhl.ACNRealTime - 33, // 33: protoFiles_zjhl.RealTimeData.wlv:type_name -> protoFiles_zjhl.WLVRealTime - 1, // 34: protoFiles_zjhl.StatisticData.monitorType:type_name -> protoFiles_zjhl.MonitoryType - 35, // 35: protoFiles_zjhl.StatisticData.uan:type_name -> protoFiles_zjhl.UANStatistic - 36, // 36: protoFiles_zjhl.StatisticData.rhs:type_name -> protoFiles_zjhl.RHSStatistic - 37, // 37: protoFiles_zjhl.StatisticData.tmp:type_name -> protoFiles_zjhl.TMPStatistic - 38, // 38: protoFiles_zjhl.StatisticData.gnss:type_name -> protoFiles_zjhl.GNSSStatistic - 44, // 39: protoFiles_zjhl.StatisticData.vic:type_name -> protoFiles_zjhl.VICStatistic - 40, // 40: protoFiles_zjhl.StatisticData.dis:type_name -> protoFiles_zjhl.DISStatistic - 41, // 41: protoFiles_zjhl.StatisticData.hpt:type_name -> protoFiles_zjhl.HPTStatistic - 43, // 42: protoFiles_zjhl.StatisticData.rsg:type_name -> protoFiles_zjhl.RSGStatistic - 42, // 43: protoFiles_zjhl.StatisticData.inc:type_name -> protoFiles_zjhl.INCStatistic - 46, // 44: protoFiles_zjhl.StatisticData.vie:type_name -> protoFiles_zjhl.VIEStatistic - 47, // 45: protoFiles_zjhl.StatisticData.tmd:type_name -> protoFiles_zjhl.TMDStatistic - 45, // 46: protoFiles_zjhl.StatisticData.vib:type_name -> protoFiles_zjhl.VIBStatistic - 48, // 47: protoFiles_zjhl.StatisticData.hsd:type_name -> protoFiles_zjhl.HSDStatistic - 39, // 48: protoFiles_zjhl.StatisticData.and:type_name -> protoFiles_zjhl.ANDStatistic - 49, // 49: protoFiles_zjhl.StatisticData.crk:type_name -> protoFiles_zjhl.CRKStatistic - 50, // 50: protoFiles_zjhl.StatisticData.frz:type_name -> protoFiles_zjhl.FRZStatistic - 51, // 51: protoFiles_zjhl.StatisticData.pws:type_name -> protoFiles_zjhl.PWSStatistic - 52, // 52: protoFiles_zjhl.StatisticData.vsb:type_name -> protoFiles_zjhl.VSBStatistic - 53, // 53: protoFiles_zjhl.StatisticData.acn:type_name -> protoFiles_zjhl.ACNStatistic - 54, // 54: protoFiles_zjhl.StatisticData.wlv:type_name -> protoFiles_zjhl.WLVStatistic - 55, // 55: protoFiles_zjhl.StatisticData.btf:type_name -> protoFiles_zjhl.BTFStatistic - 56, // 56: protoFiles_zjhl.StatisticData.csp:type_name -> protoFiles_zjhl.CSPStatistic - 57, // [57:57] is the sub-list for method output_type - 57, // [57:57] is the sub-list for method input_type - 57, // [57:57] is the sub-list for extension type_name - 57, // [57:57] is the sub-list for extension extendee - 0, // [0:57] is the sub-list for field type_name -} - -func init() { file_MonitorDataProtocol_V1_3_1_proto_init() } -func file_MonitorDataProtocol_V1_3_1_proto_init() { - if File_MonitorDataProtocol_V1_3_1_proto != nil { + return file_MonitorDataProtocol_Ministry_v3_0_proto_rawDescData +} + +var file_MonitorDataProtocol_Ministry_v3_0_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes = make([]protoimpl.MessageInfo, 64) +var file_MonitorDataProtocol_Ministry_v3_0_proto_goTypes = []interface{}{ + (DataType)(0), // 0: protoFiles_zjhl_v3.DataType + (MonitoryType)(0), // 1: protoFiles_zjhl_v3.MonitoryType + (*ComplexData)(nil), // 2: protoFiles_zjhl_v3.ComplexData + (*DataDefinition)(nil), // 3: protoFiles_zjhl_v3.DataDefinition + (*RealTimeData)(nil), // 4: protoFiles_zjhl_v3.RealTimeData + (*UANRealTime)(nil), // 5: protoFiles_zjhl_v3.UANRealTime + (*RHSRealTime)(nil), // 6: protoFiles_zjhl_v3.RHSRealTime + (*TMPRealTime)(nil), // 7: protoFiles_zjhl_v3.TMPRealTime + (*GNSSRealTime)(nil), // 8: protoFiles_zjhl_v3.GNSSRealTime + (*VICRealTime)(nil), // 9: protoFiles_zjhl_v3.VICRealTime + (*DISRealTime)(nil), // 10: protoFiles_zjhl_v3.DISRealTime + (*CRKRealTime)(nil), // 11: protoFiles_zjhl_v3.CRKRealTime + (*HPTRealTime)(nil), // 12: protoFiles_zjhl_v3.HPTRealTime + (*RSGRealTime)(nil), // 13: protoFiles_zjhl_v3.RSGRealTime + (*INCRealTime)(nil), // 14: protoFiles_zjhl_v3.INCRealTime + (*VIBRealTime)(nil), // 15: protoFiles_zjhl_v3.VIBRealTime + (*VIERealTime)(nil), // 16: protoFiles_zjhl_v3.VIERealTime + (*TMDRealTime)(nil), // 17: protoFiles_zjhl_v3.TMDRealTime + (*HSDRealTime)(nil), // 18: protoFiles_zjhl_v3.HSDRealTime + (*PWSRealTime)(nil), // 19: protoFiles_zjhl_v3.PWSRealTime + (*FRZRealTime)(nil), // 20: protoFiles_zjhl_v3.FRZRealTime + (*LMZRealTime)(nil), // 21: protoFiles_zjhl_v3.LMZRealTime + (*STFRealTime)(nil), // 22: protoFiles_zjhl_v3.STFRealTime + (*SCORealTime)(nil), // 23: protoFiles_zjhl_v3.SCORealTime + (*CORRealTime)(nil), // 24: protoFiles_zjhl_v3.CORRealTime + (*STRRealTime)(nil), // 25: protoFiles_zjhl_v3.STRRealTime + (*BRKRealTime)(nil), // 26: protoFiles_zjhl_v3.BRKRealTime + (*BTFRealTime)(nil), // 27: protoFiles_zjhl_v3.BTFRealTime + (*CSPRealTime)(nil), // 28: protoFiles_zjhl_v3.CSPRealTime + (*VSBRealTime)(nil), // 29: protoFiles_zjhl_v3.VSBRealTime + (*ACNRealTime)(nil), // 30: protoFiles_zjhl_v3.ACNRealTime + (*WLVRealTime)(nil), // 31: protoFiles_zjhl_v3.WLVRealTime + (*PLDRealTime)(nil), // 32: protoFiles_zjhl_v3.PLDRealTime + (*WDPRealTime)(nil), // 33: protoFiles_zjhl_v3.WDPRealTime + (*ANDRealTime)(nil), // 34: protoFiles_zjhl_v3.ANDRealTime + (*VIDRealTime)(nil), // 35: protoFiles_zjhl_v3.VIDRealTime + (*StatisticData)(nil), // 36: protoFiles_zjhl_v3.StatisticData + (*UANStatistic)(nil), // 37: protoFiles_zjhl_v3.UANStatistic + (*RHSStatistic)(nil), // 38: protoFiles_zjhl_v3.RHSStatistic + (*TMPStatistic)(nil), // 39: protoFiles_zjhl_v3.TMPStatistic + (*GNSSStatistic)(nil), // 40: protoFiles_zjhl_v3.GNSSStatistic + (*ANDStatistic)(nil), // 41: protoFiles_zjhl_v3.ANDStatistic + (*DISStatistic)(nil), // 42: protoFiles_zjhl_v3.DISStatistic + (*HPTStatistic)(nil), // 43: protoFiles_zjhl_v3.HPTStatistic + (*INCStatistic)(nil), // 44: protoFiles_zjhl_v3.INCStatistic + (*RSGStatistic)(nil), // 45: protoFiles_zjhl_v3.RSGStatistic + (*VICStatistic)(nil), // 46: protoFiles_zjhl_v3.VICStatistic + (*VIBStatistic)(nil), // 47: protoFiles_zjhl_v3.VIBStatistic + (*VIEStatistic)(nil), // 48: protoFiles_zjhl_v3.VIEStatistic + (*VIDStatistic)(nil), // 49: protoFiles_zjhl_v3.VIDStatistic + (*TMDStatistic)(nil), // 50: protoFiles_zjhl_v3.TMDStatistic + (*HSDStatistic)(nil), // 51: protoFiles_zjhl_v3.HSDStatistic + (*CRKStatistic)(nil), // 52: protoFiles_zjhl_v3.CRKStatistic + (*FRZStatistic)(nil), // 53: protoFiles_zjhl_v3.FRZStatistic + (*PWSStatistic)(nil), // 54: protoFiles_zjhl_v3.PWSStatistic + (*VSBStatistic)(nil), // 55: protoFiles_zjhl_v3.VSBStatistic + (*ACNStatistic)(nil), // 56: protoFiles_zjhl_v3.ACNStatistic + (*WLVStatistic)(nil), // 57: protoFiles_zjhl_v3.WLVStatistic + (*BTFStatistic)(nil), // 58: protoFiles_zjhl_v3.BTFStatistic + (*CSPStatistic)(nil), // 59: protoFiles_zjhl_v3.CSPStatistic + (*PLDStatistic)(nil), // 60: protoFiles_zjhl_v3.PLDStatistic + (*WDPStatistic)(nil), // 61: protoFiles_zjhl_v3.WDPStatistic + (*STFStatistic)(nil), // 62: protoFiles_zjhl_v3.STFStatistic + (*SCOStatistic)(nil), // 63: protoFiles_zjhl_v3.SCOStatistic + (*CORStatistic)(nil), // 64: protoFiles_zjhl_v3.CORStatistic + (*STRStatistic)(nil), // 65: protoFiles_zjhl_v3.STRStatistic +} +var file_MonitorDataProtocol_Ministry_v3_0_proto_depIdxs = []int32{ + 3, // 0: protoFiles_zjhl_v3.ComplexData.sensorData:type_name -> protoFiles_zjhl_v3.DataDefinition + 0, // 1: protoFiles_zjhl_v3.DataDefinition.dataType:type_name -> protoFiles_zjhl_v3.DataType + 4, // 2: protoFiles_zjhl_v3.DataDefinition.realTimeData:type_name -> protoFiles_zjhl_v3.RealTimeData + 36, // 3: protoFiles_zjhl_v3.DataDefinition.statisticData:type_name -> protoFiles_zjhl_v3.StatisticData + 1, // 4: protoFiles_zjhl_v3.RealTimeData.monitorType:type_name -> protoFiles_zjhl_v3.MonitoryType + 5, // 5: protoFiles_zjhl_v3.RealTimeData.uan:type_name -> protoFiles_zjhl_v3.UANRealTime + 6, // 6: protoFiles_zjhl_v3.RealTimeData.rhs:type_name -> protoFiles_zjhl_v3.RHSRealTime + 7, // 7: protoFiles_zjhl_v3.RealTimeData.tmp:type_name -> protoFiles_zjhl_v3.TMPRealTime + 8, // 8: protoFiles_zjhl_v3.RealTimeData.gnss:type_name -> protoFiles_zjhl_v3.GNSSRealTime + 9, // 9: protoFiles_zjhl_v3.RealTimeData.vic:type_name -> protoFiles_zjhl_v3.VICRealTime + 10, // 10: protoFiles_zjhl_v3.RealTimeData.dis:type_name -> protoFiles_zjhl_v3.DISRealTime + 12, // 11: protoFiles_zjhl_v3.RealTimeData.hpt:type_name -> protoFiles_zjhl_v3.HPTRealTime + 13, // 12: protoFiles_zjhl_v3.RealTimeData.rsg:type_name -> protoFiles_zjhl_v3.RSGRealTime + 14, // 13: protoFiles_zjhl_v3.RealTimeData.inc:type_name -> protoFiles_zjhl_v3.INCRealTime + 16, // 14: protoFiles_zjhl_v3.RealTimeData.vie:type_name -> protoFiles_zjhl_v3.VIERealTime + 17, // 15: protoFiles_zjhl_v3.RealTimeData.tmd:type_name -> protoFiles_zjhl_v3.TMDRealTime + 15, // 16: protoFiles_zjhl_v3.RealTimeData.vib:type_name -> protoFiles_zjhl_v3.VIBRealTime + 18, // 17: protoFiles_zjhl_v3.RealTimeData.hsd:type_name -> protoFiles_zjhl_v3.HSDRealTime + 19, // 18: protoFiles_zjhl_v3.RealTimeData.pws:type_name -> protoFiles_zjhl_v3.PWSRealTime + 20, // 19: protoFiles_zjhl_v3.RealTimeData.frz:type_name -> protoFiles_zjhl_v3.FRZRealTime + 21, // 20: protoFiles_zjhl_v3.RealTimeData.lmz:type_name -> protoFiles_zjhl_v3.LMZRealTime + 22, // 21: protoFiles_zjhl_v3.RealTimeData.stf:type_name -> protoFiles_zjhl_v3.STFRealTime + 23, // 22: protoFiles_zjhl_v3.RealTimeData.sco:type_name -> protoFiles_zjhl_v3.SCORealTime + 11, // 23: protoFiles_zjhl_v3.RealTimeData.crk:type_name -> protoFiles_zjhl_v3.CRKRealTime + 24, // 24: protoFiles_zjhl_v3.RealTimeData.cor:type_name -> protoFiles_zjhl_v3.CORRealTime + 25, // 25: protoFiles_zjhl_v3.RealTimeData.str:type_name -> protoFiles_zjhl_v3.STRRealTime + 26, // 26: protoFiles_zjhl_v3.RealTimeData.brk:type_name -> protoFiles_zjhl_v3.BRKRealTime + 27, // 27: protoFiles_zjhl_v3.RealTimeData.btf:type_name -> protoFiles_zjhl_v3.BTFRealTime + 28, // 28: protoFiles_zjhl_v3.RealTimeData.csp:type_name -> protoFiles_zjhl_v3.CSPRealTime + 29, // 29: protoFiles_zjhl_v3.RealTimeData.vsb:type_name -> protoFiles_zjhl_v3.VSBRealTime + 30, // 30: protoFiles_zjhl_v3.RealTimeData.acn:type_name -> protoFiles_zjhl_v3.ACNRealTime + 31, // 31: protoFiles_zjhl_v3.RealTimeData.wlv:type_name -> protoFiles_zjhl_v3.WLVRealTime + 32, // 32: protoFiles_zjhl_v3.RealTimeData.pld:type_name -> protoFiles_zjhl_v3.PLDRealTime + 33, // 33: protoFiles_zjhl_v3.RealTimeData.wdp:type_name -> protoFiles_zjhl_v3.WDPRealTime + 34, // 34: protoFiles_zjhl_v3.RealTimeData.and:type_name -> protoFiles_zjhl_v3.ANDRealTime + 35, // 35: protoFiles_zjhl_v3.RealTimeData.vid:type_name -> protoFiles_zjhl_v3.VIDRealTime + 1, // 36: protoFiles_zjhl_v3.StatisticData.monitorType:type_name -> protoFiles_zjhl_v3.MonitoryType + 37, // 37: protoFiles_zjhl_v3.StatisticData.uan:type_name -> protoFiles_zjhl_v3.UANStatistic + 38, // 38: protoFiles_zjhl_v3.StatisticData.rhs:type_name -> protoFiles_zjhl_v3.RHSStatistic + 39, // 39: protoFiles_zjhl_v3.StatisticData.tmp:type_name -> protoFiles_zjhl_v3.TMPStatistic + 40, // 40: protoFiles_zjhl_v3.StatisticData.gnss:type_name -> protoFiles_zjhl_v3.GNSSStatistic + 46, // 41: protoFiles_zjhl_v3.StatisticData.vic:type_name -> protoFiles_zjhl_v3.VICStatistic + 42, // 42: protoFiles_zjhl_v3.StatisticData.dis:type_name -> protoFiles_zjhl_v3.DISStatistic + 43, // 43: protoFiles_zjhl_v3.StatisticData.hpt:type_name -> protoFiles_zjhl_v3.HPTStatistic + 45, // 44: protoFiles_zjhl_v3.StatisticData.rsg:type_name -> protoFiles_zjhl_v3.RSGStatistic + 44, // 45: protoFiles_zjhl_v3.StatisticData.inc:type_name -> protoFiles_zjhl_v3.INCStatistic + 48, // 46: protoFiles_zjhl_v3.StatisticData.vie:type_name -> protoFiles_zjhl_v3.VIEStatistic + 50, // 47: protoFiles_zjhl_v3.StatisticData.tmd:type_name -> protoFiles_zjhl_v3.TMDStatistic + 47, // 48: protoFiles_zjhl_v3.StatisticData.vib:type_name -> protoFiles_zjhl_v3.VIBStatistic + 51, // 49: protoFiles_zjhl_v3.StatisticData.hsd:type_name -> protoFiles_zjhl_v3.HSDStatistic + 41, // 50: protoFiles_zjhl_v3.StatisticData.and:type_name -> protoFiles_zjhl_v3.ANDStatistic + 52, // 51: protoFiles_zjhl_v3.StatisticData.crk:type_name -> protoFiles_zjhl_v3.CRKStatistic + 53, // 52: protoFiles_zjhl_v3.StatisticData.frz:type_name -> protoFiles_zjhl_v3.FRZStatistic + 54, // 53: protoFiles_zjhl_v3.StatisticData.pws:type_name -> protoFiles_zjhl_v3.PWSStatistic + 55, // 54: protoFiles_zjhl_v3.StatisticData.vsb:type_name -> protoFiles_zjhl_v3.VSBStatistic + 56, // 55: protoFiles_zjhl_v3.StatisticData.acn:type_name -> protoFiles_zjhl_v3.ACNStatistic + 57, // 56: protoFiles_zjhl_v3.StatisticData.wlv:type_name -> protoFiles_zjhl_v3.WLVStatistic + 58, // 57: protoFiles_zjhl_v3.StatisticData.btf:type_name -> protoFiles_zjhl_v3.BTFStatistic + 59, // 58: protoFiles_zjhl_v3.StatisticData.csp:type_name -> protoFiles_zjhl_v3.CSPStatistic + 60, // 59: protoFiles_zjhl_v3.StatisticData.pld:type_name -> protoFiles_zjhl_v3.PLDStatistic + 49, // 60: protoFiles_zjhl_v3.StatisticData.vid:type_name -> protoFiles_zjhl_v3.VIDStatistic + 61, // 61: protoFiles_zjhl_v3.StatisticData.wdp:type_name -> protoFiles_zjhl_v3.WDPStatistic + 62, // 62: protoFiles_zjhl_v3.StatisticData.stf:type_name -> protoFiles_zjhl_v3.STFStatistic + 63, // 63: protoFiles_zjhl_v3.StatisticData.sco:type_name -> protoFiles_zjhl_v3.SCOStatistic + 64, // 64: protoFiles_zjhl_v3.StatisticData.cor:type_name -> protoFiles_zjhl_v3.CORStatistic + 65, // 65: protoFiles_zjhl_v3.StatisticData.str:type_name -> protoFiles_zjhl_v3.STRStatistic + 66, // [66:66] is the sub-list for method output_type + 66, // [66:66] is the sub-list for method input_type + 66, // [66:66] is the sub-list for extension type_name + 66, // [66:66] is the sub-list for extension extendee + 0, // [0:66] is the sub-list for field type_name +} + +func init() { file_MonitorDataProtocol_Ministry_v3_0_proto_init() } +func file_MonitorDataProtocol_Ministry_v3_0_proto_init() { + if File_MonitorDataProtocol_Ministry_v3_0_proto != nil { return } if !protoimpl.UnsafeEnabled { - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ComplexData); i { case 0: return &v.state @@ -5760,7 +6394,7 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { return nil } } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DataDefinition); i { case 0: return &v.state @@ -5772,7 +6406,7 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { return nil } } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RealTimeData); i { case 0: return &v.state @@ -5784,7 +6418,7 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { return nil } } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UANRealTime); i { case 0: return &v.state @@ -5796,7 +6430,7 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { return nil } } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RHSRealTime); i { case 0: return &v.state @@ -5808,7 +6442,7 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { return nil } } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TMPRealTime); i { case 0: return &v.state @@ -5820,7 +6454,7 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { return nil } } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GNSSRealTime); i { case 0: return &v.state @@ -5832,7 +6466,7 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { return nil } } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VICRealTime); i { case 0: return &v.state @@ -5844,7 +6478,7 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { return nil } } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DISRealTime); i { case 0: return &v.state @@ -5856,7 +6490,7 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { return nil } } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CRKRealTime); i { case 0: return &v.state @@ -5868,7 +6502,7 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { return nil } } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HPTRealTime); i { case 0: return &v.state @@ -5880,7 +6514,7 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { return nil } } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RSGRealTime); i { case 0: return &v.state @@ -5892,7 +6526,7 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { return nil } } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*INCRealTime); i { case 0: return &v.state @@ -5904,7 +6538,7 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { return nil } } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VIBRealTime); i { case 0: return &v.state @@ -5916,7 +6550,7 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { return nil } } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VIERealTime); i { case 0: return &v.state @@ -5928,7 +6562,7 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { return nil } } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TMDRealTime); i { case 0: return &v.state @@ -5940,7 +6574,7 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { return nil } } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HSDRealTime); i { case 0: return &v.state @@ -5952,7 +6586,7 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { return nil } } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PWSRealTime); i { case 0: return &v.state @@ -5964,7 +6598,7 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { return nil } } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FRZRealTime); i { case 0: return &v.state @@ -5976,7 +6610,7 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { return nil } } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LMZRealTime); i { case 0: return &v.state @@ -5988,8 +6622,8 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { return nil } } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DICRealTime); i { + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*STFRealTime); i { case 0: return &v.state case 1: @@ -6000,8 +6634,8 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { return nil } } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*STFRealTime); i { + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SCORealTime); i { case 0: return &v.state case 1: @@ -6012,8 +6646,8 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { return nil } } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SCORealTime); i { + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CORRealTime); i { case 0: return &v.state case 1: @@ -6024,8 +6658,8 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { return nil } } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CORRealTime); i { + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*STRRealTime); i { case 0: return &v.state case 1: @@ -6036,8 +6670,8 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { return nil } } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VISRealTime); i { + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BRKRealTime); i { case 0: return &v.state case 1: @@ -6048,8 +6682,8 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { return nil } } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*STRRealTime); i { + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BTFRealTime); i { case 0: return &v.state case 1: @@ -6060,8 +6694,8 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { return nil } } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BRKRealTime); i { + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSPRealTime); i { case 0: return &v.state case 1: @@ -6072,8 +6706,8 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { return nil } } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BTFRealTime); i { + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VSBRealTime); i { case 0: return &v.state case 1: @@ -6084,8 +6718,8 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { return nil } } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSPRealTime); i { + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ACNRealTime); i { case 0: return &v.state case 1: @@ -6096,8 +6730,8 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { return nil } } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VSBRealTime); i { + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WLVRealTime); i { case 0: return &v.state case 1: @@ -6108,8 +6742,8 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { return nil } } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ACNRealTime); i { + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PLDRealTime); i { case 0: return &v.state case 1: @@ -6120,8 +6754,32 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { return nil } } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WLVRealTime); i { + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WDPRealTime); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ANDRealTime); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VIDRealTime); i { case 0: return &v.state case 1: @@ -6132,7 +6790,7 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { return nil } } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StatisticData); i { case 0: return &v.state @@ -6144,7 +6802,7 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { return nil } } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UANStatistic); i { case 0: return &v.state @@ -6156,7 +6814,7 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { return nil } } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RHSStatistic); i { case 0: return &v.state @@ -6168,7 +6826,7 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { return nil } } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TMPStatistic); i { case 0: return &v.state @@ -6180,7 +6838,7 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { return nil } } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GNSSStatistic); i { case 0: return &v.state @@ -6192,7 +6850,7 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { return nil } } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ANDStatistic); i { case 0: return &v.state @@ -6204,7 +6862,7 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { return nil } } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DISStatistic); i { case 0: return &v.state @@ -6216,7 +6874,7 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { return nil } } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HPTStatistic); i { case 0: return &v.state @@ -6228,7 +6886,7 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { return nil } } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*INCStatistic); i { case 0: return &v.state @@ -6240,7 +6898,7 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { return nil } } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RSGStatistic); i { case 0: return &v.state @@ -6252,7 +6910,7 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { return nil } } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VICStatistic); i { case 0: return &v.state @@ -6264,7 +6922,7 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { return nil } } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VIBStatistic); i { case 0: return &v.state @@ -6276,7 +6934,7 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { return nil } } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VIEStatistic); i { case 0: return &v.state @@ -6288,7 +6946,19 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { return nil } } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VIDStatistic); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TMDStatistic); i { case 0: return &v.state @@ -6300,7 +6970,7 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { return nil } } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HSDStatistic); i { case 0: return &v.state @@ -6312,7 +6982,7 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { return nil } } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CRKStatistic); i { case 0: return &v.state @@ -6324,7 +6994,7 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { return nil } } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FRZStatistic); i { case 0: return &v.state @@ -6336,7 +7006,7 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { return nil } } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PWSStatistic); i { case 0: return &v.state @@ -6348,7 +7018,7 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { return nil } } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VSBStatistic); i { case 0: return &v.state @@ -6360,7 +7030,7 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { return nil } } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ACNStatistic); i { case 0: return &v.state @@ -6372,7 +7042,7 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { return nil } } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WLVStatistic); i { case 0: return &v.state @@ -6384,7 +7054,7 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { return nil } } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BTFStatistic); i { case 0: return &v.state @@ -6396,7 +7066,7 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { return nil } } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSPStatistic); i { case 0: return &v.state @@ -6408,18 +7078,89 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { return nil } } + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PLDStatistic); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WDPStatistic); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*STFStatistic); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SCOStatistic); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CORStatistic); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*STRStatistic); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[1].OneofWrappers = []interface{}{ + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[1].OneofWrappers = []interface{}{ (*DataDefinition_RealTimeData)(nil), (*DataDefinition_StatisticData)(nil), } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[2].OneofWrappers = []interface{}{ + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[2].OneofWrappers = []interface{}{ (*RealTimeData_Uan)(nil), (*RealTimeData_Rhs)(nil), (*RealTimeData_Tmp)(nil), (*RealTimeData_Gnss)(nil), (*RealTimeData_Vic)(nil), - (*RealTimeData_Dic)(nil), (*RealTimeData_Dis)(nil), (*RealTimeData_Hpt)(nil), (*RealTimeData_Rsg)(nil), @@ -6435,7 +7176,6 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { (*RealTimeData_Sco)(nil), (*RealTimeData_Crk)(nil), (*RealTimeData_Cor)(nil), - (*RealTimeData_Vis)(nil), (*RealTimeData_Str)(nil), (*RealTimeData_Brk)(nil), (*RealTimeData_Btf)(nil), @@ -6443,18 +7183,22 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { (*RealTimeData_Vsb)(nil), (*RealTimeData_Acn)(nil), (*RealTimeData_Wlv)(nil), - } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[3].OneofWrappers = []interface{}{} - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[7].OneofWrappers = []interface{}{} - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[8].OneofWrappers = []interface{}{} - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[9].OneofWrappers = []interface{}{} - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[10].OneofWrappers = []interface{}{} - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[11].OneofWrappers = []interface{}{} - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[16].OneofWrappers = []interface{}{} - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[25].OneofWrappers = []interface{}{} - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[27].OneofWrappers = []interface{}{} - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[28].OneofWrappers = []interface{}{} - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[32].OneofWrappers = []interface{}{ + (*RealTimeData_Pld)(nil), + (*RealTimeData_Wdp)(nil), + (*RealTimeData_And)(nil), + (*RealTimeData_Vid)(nil), + } + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[3].OneofWrappers = []interface{}{} + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[7].OneofWrappers = []interface{}{} + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[8].OneofWrappers = []interface{}{} + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[9].OneofWrappers = []interface{}{} + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[10].OneofWrappers = []interface{}{} + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[11].OneofWrappers = []interface{}{} + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[16].OneofWrappers = []interface{}{} + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[23].OneofWrappers = []interface{}{} + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[25].OneofWrappers = []interface{}{} + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[26].OneofWrappers = []interface{}{} + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[34].OneofWrappers = []interface{}{ (*StatisticData_Uan)(nil), (*StatisticData_Rhs)(nil), (*StatisticData_Tmp)(nil), @@ -6477,26 +7221,33 @@ func file_MonitorDataProtocol_V1_3_1_proto_init() { (*StatisticData_Wlv)(nil), (*StatisticData_Btf)(nil), (*StatisticData_Csp)(nil), - } - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[33].OneofWrappers = []interface{}{} - file_MonitorDataProtocol_V1_3_1_proto_msgTypes[41].OneofWrappers = []interface{}{} + (*StatisticData_Pld)(nil), + (*StatisticData_Vid)(nil), + (*StatisticData_Wdp)(nil), + (*StatisticData_Stf)(nil), + (*StatisticData_Sco)(nil), + (*StatisticData_Cor)(nil), + (*StatisticData_Str)(nil), + } + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[35].OneofWrappers = []interface{}{} + file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes[43].OneofWrappers = []interface{}{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_MonitorDataProtocol_V1_3_1_proto_rawDesc, + RawDescriptor: file_MonitorDataProtocol_Ministry_v3_0_proto_rawDesc, NumEnums: 2, - NumMessages: 55, + NumMessages: 64, NumExtensions: 0, NumServices: 0, }, - GoTypes: file_MonitorDataProtocol_V1_3_1_proto_goTypes, - DependencyIndexes: file_MonitorDataProtocol_V1_3_1_proto_depIdxs, - EnumInfos: file_MonitorDataProtocol_V1_3_1_proto_enumTypes, - MessageInfos: file_MonitorDataProtocol_V1_3_1_proto_msgTypes, + GoTypes: file_MonitorDataProtocol_Ministry_v3_0_proto_goTypes, + DependencyIndexes: file_MonitorDataProtocol_Ministry_v3_0_proto_depIdxs, + EnumInfos: file_MonitorDataProtocol_Ministry_v3_0_proto_enumTypes, + MessageInfos: file_MonitorDataProtocol_Ministry_v3_0_proto_msgTypes, }.Build() - File_MonitorDataProtocol_V1_3_1_proto = out.File - file_MonitorDataProtocol_V1_3_1_proto_rawDesc = nil - file_MonitorDataProtocol_V1_3_1_proto_goTypes = nil - file_MonitorDataProtocol_V1_3_1_proto_depIdxs = nil + File_MonitorDataProtocol_Ministry_v3_0_proto = out.File + file_MonitorDataProtocol_Ministry_v3_0_proto_rawDesc = nil + file_MonitorDataProtocol_Ministry_v3_0_proto_goTypes = nil + file_MonitorDataProtocol_Ministry_v3_0_proto_depIdxs = nil } diff --git a/consumers/consumerGZG2ZJHL.go b/consumers/consumerGZG2ZJHL.go index 8965797..2b544cd 100644 --- a/consumers/consumerGZG2ZJHL.go +++ b/consumers/consumerGZG2ZJHL.go @@ -145,6 +145,7 @@ func (the *consumerGZG2ZJHL) getEs1HourAggData() { needPushes := adaptor.Transform(structId, factorId, esAggResultStr) for i := range needPushes { needPushes[i].Payload = the.crc16rc4(needPushes[i].Payload) + println("mqtt 推送报文=", hex.EncodeToString(needPushes[i].Payload)) } if len(needPushes) > 0 { @@ -199,6 +200,7 @@ func (the *consumerGZG2ZJHL) crc16rc4(transBytes []byte) []byte { cipher1.XORKeyStream(dest1, needRC4) return dest1 } + func (the *consumerGZG2ZJHL) getESQueryStrByHour(structureId int64, factorId int, start, end string) string { aggSubSql := getEsAggSubSqlByZwyFactorId(factorId) esQuery := fmt.Sprintf(` diff --git a/main_test.go b/main_test.go index 26e5667..c4cded0 100644 --- a/main_test.go +++ b/main_test.go @@ -4,8 +4,11 @@ import ( "bytes" "crypto/rc4" "encoding/hex" + "encoding/json" "fmt" + "goInOut/consumers/GZG2ZJHL/protoFiles_zjhl" "goInOut/utils" + "google.golang.org/protobuf/proto" "log" "sync" "testing" @@ -16,7 +19,7 @@ import ( func TestCRC16CCITT(t *testing.T) { hexs := "0a16080718a8ea8fab06620c0a0471bd54c11204e01d8641" - hexs = "0a2f080210f8b6d5d01218b395bffec3313a1e0a08a75fed41a75fed41120892c5d64292c5d6421a08f6c8a74379c9a743" + hexs = "0a3508011a1c10c7e84318959a9eb5d332220f69cdcc8c3f15333353401dcdcc0c40721331313131313131313131313131313131313131" Hexdata, _ := hex.DecodeString(hexs) crc := utils.NewCRC16CCITT().GetWCRCin(Hexdata) log.Println(hex.EncodeToString(crc)) @@ -28,17 +31,119 @@ func TestCRC16CCITT(t *testing.T) { cipher1.XORKeyStream(dest1, needRC4) log.Printf("最终报文 dest1=%s", hex.EncodeToString(dest1)) +} + +func TestCRC16CCITT2(t *testing.T) { + + //果子沟 + hexs := "0a3508011a1c10c7e84318e6b4e3b6d332220f0dcdcc8c3f15333353401dcdcc0c40721331313131313131313131313131313131313131" + HexData, _ := hex.DecodeString(hexs) + crc := utils.NewCRC16CCITT().GetWCRCin(HexData) + log.Println("crc=", hex.EncodeToString(crc)) + log.Println("===1==") + needRC4 := append(HexData, crc...) + rc4Key := []byte("t/gzgyy0219") + dest1 := make([]byte, len(needRC4)) + cipher1, _ := rc4.NewCipher(rc4Key) + cipher1.XORKeyStream(dest1, needRC4) + log.Printf("最终报文 dest1=%s", hex.EncodeToString(dest1)) + } func TestRC4(t *testing.T) { rc4Key := []byte("t/500101") - log.Println("===2 test RC4==") cipher2, _ := rc4.NewCipher(rc4Key) raw := "0a2f080210f8b6d5d01218b395bffec3313a1e0a08a75fed41a75fed41120892c5d64292c5d6421a08f6c8a74379c9a743864c" + log.Println("原始报文 raw=", raw) needRC4New, _ := hex.DecodeString(raw) dest2 := make([]byte, len(needRC4New)) cipher2.XORKeyStream(dest2, needRC4New) log.Printf("最终报文 dest1=%s", hex.EncodeToString(dest2)) } +func TestRC42(t *testing.T) { + rc4Key := []byte("t/gzgyy0219") + cipher2, _ := rc4.NewCipher(rc4Key) + raw := "0a3508011a1c10c7e84318959a9eb5d332220f69cdcc8c3f15333353401dcdcc0c407213313131313131313131313131313131313131310ea8" + log.Println("原始报文 raw=", raw) + needRC4New, _ := hex.DecodeString(raw) + dest2 := make([]byte, len(needRC4New)) + cipher2.XORKeyStream(dest2, needRC4New) + log.Printf("最终报文 dest1=%s", hex.EncodeToString(dest2)) +} + +func TestDeRC4(b *testing.T) { + //rawStr := "115 75 64 219 28 135 13 201 130 163 32 82 47 39 63 225 28 87 107 175 184 7 177 47 201 105 189 124 131 171 56 167 196 44 45 48 168 223 209 197 214 169 113 3 71 223 30 246 205 130 44 81 145 106 71 230 225" + //var needRC4 []byte + //rawStrByte := strings.Split(rawStr, " ") + // + //for _, bis := range rawStrByte { + // distInt, _ := strconv.Atoi(bis) + // needRC4 = append(needRC4, byte(distInt)) + //} + rawNeedRC4 := "735740db1cbe15037a55947d2ea192b2c5d2cc15476b3bf00859bc20ceb6f52b89715f2339aec5f4e7d801e953 " + needRC4, _ := hex.DecodeString(rawNeedRC4) + println("raw反解析 hex=", rawNeedRC4) + rc4KeyStr := "t/gzgyy0219" + + rc4Key := []byte(rc4KeyStr) //the.RC4Key + // 加密操作 + dest1 := make([]byte, len(needRC4)) + rc4.NewCipher(rc4Key) + cipher1, _ := rc4.NewCipher(rc4Key) + cipher1.XORKeyStream(dest1, needRC4) + + rawWithCrc16byte := hex.EncodeToString(dest1) + println("带crc", rawWithCrc16byte) + RawBytesNoCrc := dest1[:len(dest1)-2] + + println("无crc", hex.EncodeToString(RawBytesNoCrc)) + println("=========") + complexData := &protoFiles_zjhl.ComplexData{} + err := proto.Unmarshal(RawBytesNoCrc, complexData) + if err != nil { + println(err.Error()) + } + bs, _ := json.Marshal(complexData) + str := string(bs) + println("原结构", str) + +} + +func TestDeRC4_2(b *testing.T) { + + rawNeedRC4 := "735740db1cbe15037a55947d2ea192b2c5d2cc15476b3bf00859bc20ceb6f52b89715f2339aec5f4e7d801e953" + needRC4, _ := hex.DecodeString(rawNeedRC4) + println("raw反解析 hex=", rawNeedRC4) + rc4KeyStr := "t/gzgyy0219" + + rc4Key := []byte(rc4KeyStr) //the.RC4Key + // 加密操作 + dest1 := make([]byte, len(needRC4)) + rc4.NewCipher(rc4Key) + cipher1, _ := rc4.NewCipher(rc4Key) + cipher1.XORKeyStream(dest1, needRC4) + + rawWithCrc16byte := hex.EncodeToString(dest1) + println("带crc", rawWithCrc16byte) + RawBytesNoCrc := dest1[:len(dest1)-2] + + println("无crc", hex.EncodeToString(RawBytesNoCrc)) + println("=========") + complexData := &protoFiles_zjhl.ComplexData{} + err := proto.Unmarshal(RawBytesNoCrc, complexData) + if err != nil { + println(err.Error()) + } +} + +func TestProtobufDe(t *testing.T) { + s := "0a3508011a1c10c7e84318e6b4e3b6d332220f0dcdcc8c3f15333353401dcdcc0c40721331313131313131313131313131313131313131" + bs, _ := hex.DecodeString(s) + complexData := &protoFiles_zjhl.ComplexData{} + err := proto.Unmarshal(bs, complexData) + if err != nil { + println(err.Error()) + } +} func TestTemplate(t *testing.T) { Create := func(name, t string) *template.Template {