rts-sim-testing-service/dto/data_proto/stationLayoutGraphics.pb.go

7444 lines
306 KiB
Go
Raw Normal View History

2023-07-28 15:57:37 +08:00
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
2024-01-16 17:53:54 +08:00
// protoc-gen-go v1.32.0
2023-07-28 15:57:37 +08:00
// protoc v4.23.1
// source: stationLayoutGraphics.proto
package data_proto
2023-07-28 15:57:37 +08:00
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
2024-01-17 17:02:17 +08:00
common_proto "joylink.club/bj-rtsts-server/dto/common_proto"
2023-07-28 15:57:37 +08:00
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
2023-12-08 16:46:50 +08:00
// * 上下行(区段/信号机)
type Direction int32
const (
2023-12-08 16:46:50 +08:00
Direction_UP Direction = 0
Direction_DOWN Direction = 1
)
// Enum value maps for Direction.
var (
Direction_name = map[int32]string{
2023-12-08 16:46:50 +08:00
0: "UP",
1: "DOWN",
}
Direction_value = map[string]int32{
2023-12-08 16:46:50 +08:00
"UP": 0,
"DOWN": 1,
}
)
func (x Direction) Enum() *Direction {
p := new(Direction)
*p = x
return p
}
func (x Direction) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Direction) Descriptor() protoreflect.EnumDescriptor {
return file_stationLayoutGraphics_proto_enumTypes[0].Descriptor()
}
func (Direction) Type() protoreflect.EnumType {
return &file_stationLayoutGraphics_proto_enumTypes[0]
}
func (x Direction) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Direction.Descriptor instead.
func (Direction) EnumDescriptor() ([]byte, []int) {
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{0}
}
2023-12-05 13:59:27 +08:00
type Polygon_PolygonType int32
const (
Polygon_ConcentrationDividingLine Polygon_PolygonType = 0
)
// Enum value maps for Polygon_PolygonType.
var (
Polygon_PolygonType_name = map[int32]string{
0: "ConcentrationDividingLine",
}
Polygon_PolygonType_value = map[string]int32{
"ConcentrationDividingLine": 0,
}
)
func (x Polygon_PolygonType) Enum() *Polygon_PolygonType {
p := new(Polygon_PolygonType)
*p = x
return p
}
func (x Polygon_PolygonType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Polygon_PolygonType) Descriptor() protoreflect.EnumDescriptor {
return file_stationLayoutGraphics_proto_enumTypes[1].Descriptor()
}
func (Polygon_PolygonType) Type() protoreflect.EnumType {
return &file_stationLayoutGraphics_proto_enumTypes[1]
}
func (x Polygon_PolygonType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Polygon_PolygonType.Descriptor instead.
func (Polygon_PolygonType) EnumDescriptor() ([]byte, []int) {
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{6, 0}
}
type Platform_TypeOfPlatform int32
const (
Platform_Unknown Platform_TypeOfPlatform = 0
Platform_up Platform_TypeOfPlatform = 1
Platform_down Platform_TypeOfPlatform = 2
)
// Enum value maps for Platform_TypeOfPlatform.
var (
Platform_TypeOfPlatform_name = map[int32]string{
0: "Unknown",
1: "up",
2: "down",
}
Platform_TypeOfPlatform_value = map[string]int32{
"Unknown": 0,
"up": 1,
"down": 2,
}
)
func (x Platform_TypeOfPlatform) Enum() *Platform_TypeOfPlatform {
p := new(Platform_TypeOfPlatform)
*p = x
return p
}
func (x Platform_TypeOfPlatform) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Platform_TypeOfPlatform) Descriptor() protoreflect.EnumDescriptor {
return file_stationLayoutGraphics_proto_enumTypes[2].Descriptor()
}
func (Platform_TypeOfPlatform) Type() protoreflect.EnumType {
return &file_stationLayoutGraphics_proto_enumTypes[2]
}
func (x Platform_TypeOfPlatform) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Platform_TypeOfPlatform.Descriptor instead.
func (Platform_TypeOfPlatform) EnumDescriptor() ([]byte, []int) {
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{9, 0}
}
type AxleCounting_TypeDetectionPoint int32
const (
AxleCounting_AxleCounting AxleCounting_TypeDetectionPoint = 0
AxleCounting_SectionBoundary AxleCounting_TypeDetectionPoint = 1
)
// Enum value maps for AxleCounting_TypeDetectionPoint.
var (
AxleCounting_TypeDetectionPoint_name = map[int32]string{
0: "AxleCounting",
1: "SectionBoundary",
}
AxleCounting_TypeDetectionPoint_value = map[string]int32{
"AxleCounting": 0,
"SectionBoundary": 1,
}
)
func (x AxleCounting_TypeDetectionPoint) Enum() *AxleCounting_TypeDetectionPoint {
p := new(AxleCounting_TypeDetectionPoint)
*p = x
return p
}
func (x AxleCounting_TypeDetectionPoint) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (AxleCounting_TypeDetectionPoint) Descriptor() protoreflect.EnumDescriptor {
2023-12-05 13:59:27 +08:00
return file_stationLayoutGraphics_proto_enumTypes[3].Descriptor()
}
func (AxleCounting_TypeDetectionPoint) Type() protoreflect.EnumType {
2023-12-05 13:59:27 +08:00
return &file_stationLayoutGraphics_proto_enumTypes[3]
}
func (x AxleCounting_TypeDetectionPoint) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use AxleCounting_TypeDetectionPoint.Descriptor instead.
func (AxleCounting_TypeDetectionPoint) EnumDescriptor() ([]byte, []int) {
2023-12-05 13:59:27 +08:00
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{15, 0}
}
2023-09-19 11:02:50 +08:00
type Turnout_SwitchMachineType int32
const (
Turnout_Unknown Turnout_SwitchMachineType = 0
Turnout_ZDJ9_Single Turnout_SwitchMachineType = 1
Turnout_ZDJ9_Double Turnout_SwitchMachineType = 2
)
// Enum value maps for Turnout_SwitchMachineType.
var (
Turnout_SwitchMachineType_name = map[int32]string{
0: "Unknown",
1: "ZDJ9_Single",
2: "ZDJ9_Double",
}
Turnout_SwitchMachineType_value = map[string]int32{
"Unknown": 0,
"ZDJ9_Single": 1,
"ZDJ9_Double": 2,
}
)
func (x Turnout_SwitchMachineType) Enum() *Turnout_SwitchMachineType {
p := new(Turnout_SwitchMachineType)
*p = x
return p
}
func (x Turnout_SwitchMachineType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Turnout_SwitchMachineType) Descriptor() protoreflect.EnumDescriptor {
2023-12-05 13:59:27 +08:00
return file_stationLayoutGraphics_proto_enumTypes[4].Descriptor()
2023-09-19 11:02:50 +08:00
}
func (Turnout_SwitchMachineType) Type() protoreflect.EnumType {
2023-12-05 13:59:27 +08:00
return &file_stationLayoutGraphics_proto_enumTypes[4]
2023-09-19 11:02:50 +08:00
}
func (x Turnout_SwitchMachineType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Turnout_SwitchMachineType.Descriptor instead.
func (Turnout_SwitchMachineType) EnumDescriptor() ([]byte, []int) {
2023-12-05 13:59:27 +08:00
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{17, 0}
2023-09-19 11:02:50 +08:00
}
2023-12-08 16:46:50 +08:00
// * 左右行 *
type KilometerSystem_Direction int32
const (
KilometerSystem_LEFT KilometerSystem_Direction = 0
KilometerSystem_RIGHT KilometerSystem_Direction = 1
)
// Enum value maps for KilometerSystem_Direction.
var (
KilometerSystem_Direction_name = map[int32]string{
0: "LEFT",
1: "RIGHT",
}
KilometerSystem_Direction_value = map[string]int32{
"LEFT": 0,
"RIGHT": 1,
}
)
func (x KilometerSystem_Direction) Enum() *KilometerSystem_Direction {
p := new(KilometerSystem_Direction)
*p = x
return p
}
func (x KilometerSystem_Direction) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (KilometerSystem_Direction) Descriptor() protoreflect.EnumDescriptor {
return file_stationLayoutGraphics_proto_enumTypes[5].Descriptor()
}
func (KilometerSystem_Direction) Type() protoreflect.EnumType {
return &file_stationLayoutGraphics_proto_enumTypes[5]
}
func (x KilometerSystem_Direction) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use KilometerSystem_Direction.Descriptor instead.
func (KilometerSystem_Direction) EnumDescriptor() ([]byte, []int) {
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{18, 0}
}
// 信号机模型类型枚举
// 从左向右,最左边为靠近灯座的灯
2023-11-16 11:11:25 +08:00
// 如果没有说明,默认不封灯,无引导
// F-封 D-单 Y-有、带 Y-引导
2023-11-16 11:11:25 +08:00
// H-红 L-绿 U-黄 A-蓝 B-白
type Signal_Model int32
const (
2023-11-16 11:11:25 +08:00
Signal_HL Signal_Model = 0 //2XH-1 红绿
Signal_HLU_FU Signal_Model = 1 //2XH-1 红绿黄,封黄灯,无引导
Signal_HLU_DU_YY Signal_Model = 2 //3XH-1 红绿黄,不封灯,有单黄,带引导
Signal_HLU_YY Signal_Model = 3 //3XH-2或JDXH 红绿黄,不封灯,无单黄,带引导
Signal_HLU_FL_DU_YY Signal_Model = 4 //3XH-3 红绿黄,封绿灯,有单黄,带引导
Signal_HLU_DU Signal_Model = 5 //3XH-4 红绿黄,不封灯,有单黄,无引导
Signal_AB Signal_Model = 6 //DXCH 蓝白
Signal_HBU_DU Signal_Model = 7 //JCKXH 红白黄,不封灯,有单黄,无引导
)
// Enum value maps for Signal_Model.
var (
Signal_Model_name = map[int32]string{
2023-11-16 11:11:25 +08:00
0: "HL",
1: "HLU_FU",
2: "HLU_DU_YY",
3: "HLU_YY",
4: "HLU_FL_DU_YY",
5: "HLU_DU",
6: "AB",
7: "HBU_DU",
}
Signal_Model_value = map[string]int32{
2023-11-16 11:11:25 +08:00
"HL": 0,
"HLU_FU": 1,
"HLU_DU_YY": 2,
"HLU_YY": 3,
"HLU_FL_DU_YY": 4,
"HLU_DU": 5,
"AB": 6,
"HBU_DU": 7,
}
)
func (x Signal_Model) Enum() *Signal_Model {
p := new(Signal_Model)
*p = x
return p
}
func (x Signal_Model) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Signal_Model) Descriptor() protoreflect.EnumDescriptor {
2023-12-08 16:46:50 +08:00
return file_stationLayoutGraphics_proto_enumTypes[6].Descriptor()
}
func (Signal_Model) Type() protoreflect.EnumType {
2023-12-08 16:46:50 +08:00
return &file_stationLayoutGraphics_proto_enumTypes[6]
}
func (x Signal_Model) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Signal_Model.Descriptor instead.
func (Signal_Model) EnumDescriptor() ([]byte, []int) {
2023-12-05 13:59:27 +08:00
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{19, 0}
}
2023-07-28 15:57:37 +08:00
type Section_SectionType int32
const (
Section_Physical Section_SectionType = 0
Section_TurnoutPhysical Section_SectionType = 2
)
// Enum value maps for Section_SectionType.
var (
Section_SectionType_name = map[int32]string{
0: "Physical",
2: "TurnoutPhysical",
}
Section_SectionType_value = map[string]int32{
"Physical": 0,
"TurnoutPhysical": 2,
}
)
func (x Section_SectionType) Enum() *Section_SectionType {
p := new(Section_SectionType)
*p = x
return p
}
func (x Section_SectionType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Section_SectionType) Descriptor() protoreflect.EnumDescriptor {
2023-12-08 16:46:50 +08:00
return file_stationLayoutGraphics_proto_enumTypes[7].Descriptor()
2023-07-28 15:57:37 +08:00
}
func (Section_SectionType) Type() protoreflect.EnumType {
2023-12-08 16:46:50 +08:00
return &file_stationLayoutGraphics_proto_enumTypes[7]
2023-07-28 15:57:37 +08:00
}
func (x Section_SectionType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Section_SectionType.Descriptor instead.
func (Section_SectionType) EnumDescriptor() ([]byte, []int) {
2023-12-05 13:59:27 +08:00
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{20, 0}
2023-07-28 15:57:37 +08:00
}
2023-12-08 16:46:50 +08:00
type Section_RunningDirection int32
const (
Section_AtoB Section_RunningDirection = 0
Section_BtoA Section_RunningDirection = 1
Section_BOTH Section_RunningDirection = 2
)
// Enum value maps for Section_RunningDirection.
var (
Section_RunningDirection_name = map[int32]string{
0: "AtoB",
1: "BtoA",
2: "BOTH",
}
Section_RunningDirection_value = map[string]int32{
"AtoB": 0,
"BtoA": 1,
"BOTH": 2,
}
)
func (x Section_RunningDirection) Enum() *Section_RunningDirection {
p := new(Section_RunningDirection)
*p = x
return p
}
func (x Section_RunningDirection) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Section_RunningDirection) Descriptor() protoreflect.EnumDescriptor {
return file_stationLayoutGraphics_proto_enumTypes[8].Descriptor()
}
func (Section_RunningDirection) Type() protoreflect.EnumType {
return &file_stationLayoutGraphics_proto_enumTypes[8]
}
func (x Section_RunningDirection) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Section_RunningDirection.Descriptor instead.
func (Section_RunningDirection) EnumDescriptor() ([]byte, []int) {
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{20, 1}
}
2023-07-28 15:57:37 +08:00
type RelatedRef_DeviceType int32
const (
2023-10-24 09:37:36 +08:00
RelatedRef_Section RelatedRef_DeviceType = 0
RelatedRef_Turnout RelatedRef_DeviceType = 1
RelatedRef_TrainWindow RelatedRef_DeviceType = 2
RelatedRef_AxleCounting RelatedRef_DeviceType = 3
RelatedRef_SectionLink RelatedRef_DeviceType = 4
RelatedRef_signal RelatedRef_DeviceType = 5
RelatedRef_station RelatedRef_DeviceType = 6
RelatedRef_ScreenDoor RelatedRef_DeviceType = 7
RelatedRef_SignalFaultAlarm RelatedRef_DeviceType = 8
RelatedRef_Breakers RelatedRef_DeviceType = 9 //断路器
RelatedRef_PowerScreen RelatedRef_DeviceType = 10 //电源屏
2023-07-28 15:57:37 +08:00
)
// Enum value maps for RelatedRef_DeviceType.
var (
RelatedRef_DeviceType_name = map[int32]string{
0: "Section",
1: "Turnout",
2: "TrainWindow",
3: "AxleCounting",
4: "SectionLink",
5: "signal",
6: "station",
7: "ScreenDoor",
8: "SignalFaultAlarm",
9: "Breakers",
10: "PowerScreen",
2023-07-28 15:57:37 +08:00
}
RelatedRef_DeviceType_value = map[string]int32{
2023-10-24 09:37:36 +08:00
"Section": 0,
"Turnout": 1,
"TrainWindow": 2,
"AxleCounting": 3,
"SectionLink": 4,
"signal": 5,
"station": 6,
"ScreenDoor": 7,
"SignalFaultAlarm": 8,
"Breakers": 9,
"PowerScreen": 10,
2023-07-28 15:57:37 +08:00
}
)
func (x RelatedRef_DeviceType) Enum() *RelatedRef_DeviceType {
p := new(RelatedRef_DeviceType)
*p = x
return p
}
func (x RelatedRef_DeviceType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (RelatedRef_DeviceType) Descriptor() protoreflect.EnumDescriptor {
2023-12-08 16:46:50 +08:00
return file_stationLayoutGraphics_proto_enumTypes[9].Descriptor()
2023-07-28 15:57:37 +08:00
}
func (RelatedRef_DeviceType) Type() protoreflect.EnumType {
2023-12-08 16:46:50 +08:00
return &file_stationLayoutGraphics_proto_enumTypes[9]
2023-07-28 15:57:37 +08:00
}
func (x RelatedRef_DeviceType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use RelatedRef_DeviceType.Descriptor instead.
func (RelatedRef_DeviceType) EnumDescriptor() ([]byte, []int) {
2023-12-05 13:59:27 +08:00
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{21, 0}
2023-07-28 15:57:37 +08:00
}
type RelatedRef_DevicePort int32
const (
RelatedRef_A RelatedRef_DevicePort = 0
RelatedRef_B RelatedRef_DevicePort = 1
RelatedRef_C RelatedRef_DevicePort = 2
)
// Enum value maps for RelatedRef_DevicePort.
var (
RelatedRef_DevicePort_name = map[int32]string{
0: "A",
1: "B",
2: "C",
}
RelatedRef_DevicePort_value = map[string]int32{
"A": 0,
"B": 1,
"C": 2,
}
)
func (x RelatedRef_DevicePort) Enum() *RelatedRef_DevicePort {
p := new(RelatedRef_DevicePort)
*p = x
return p
}
func (x RelatedRef_DevicePort) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (RelatedRef_DevicePort) Descriptor() protoreflect.EnumDescriptor {
2023-12-08 16:46:50 +08:00
return file_stationLayoutGraphics_proto_enumTypes[10].Descriptor()
2023-07-28 15:57:37 +08:00
}
func (RelatedRef_DevicePort) Type() protoreflect.EnumType {
2023-12-08 16:46:50 +08:00
return &file_stationLayoutGraphics_proto_enumTypes[10]
2023-07-28 15:57:37 +08:00
}
func (x RelatedRef_DevicePort) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use RelatedRef_DevicePort.Descriptor instead.
func (RelatedRef_DevicePort) EnumDescriptor() ([]byte, []int) {
2023-12-05 13:59:27 +08:00
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{21, 1}
2023-07-28 15:57:37 +08:00
}
2023-11-23 13:20:00 +08:00
type Transponder_TransponderTypeEnum int32
const (
Transponder_FB Transponder_TransponderTypeEnum = 0 // 固定应答器
Transponder_WB Transponder_TransponderTypeEnum = 1 // 轮径校正应答器
Transponder_DB Transponder_TransponderTypeEnum = 2 // 休眠唤醒应答器
Transponder_VB Transponder_TransponderTypeEnum = 3 // 主信号应答器
Transponder_IB Transponder_TransponderTypeEnum = 4 // 预告应答器
)
// Enum value maps for Transponder_TransponderTypeEnum.
var (
Transponder_TransponderTypeEnum_name = map[int32]string{
0: "FB",
1: "WB",
2: "DB",
3: "VB",
4: "IB",
}
Transponder_TransponderTypeEnum_value = map[string]int32{
"FB": 0,
"WB": 1,
"DB": 2,
"VB": 3,
"IB": 4,
}
)
func (x Transponder_TransponderTypeEnum) Enum() *Transponder_TransponderTypeEnum {
p := new(Transponder_TransponderTypeEnum)
*p = x
return p
}
func (x Transponder_TransponderTypeEnum) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Transponder_TransponderTypeEnum) Descriptor() protoreflect.EnumDescriptor {
2023-12-08 16:46:50 +08:00
return file_stationLayoutGraphics_proto_enumTypes[11].Descriptor()
2023-11-23 13:20:00 +08:00
}
func (Transponder_TransponderTypeEnum) Type() protoreflect.EnumType {
2023-12-08 16:46:50 +08:00
return &file_stationLayoutGraphics_proto_enumTypes[11]
2023-11-23 13:20:00 +08:00
}
func (x Transponder_TransponderTypeEnum) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Transponder_TransponderTypeEnum.Descriptor instead.
func (Transponder_TransponderTypeEnum) EnumDescriptor() ([]byte, []int) {
2023-12-05 13:59:27 +08:00
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{24, 0}
2023-11-23 13:20:00 +08:00
}
2023-07-28 15:57:37 +08:00
type SimpleRef_DeviceType int32
const (
SimpleRef_Turnout SimpleRef_DeviceType = 0
SimpleRef_AxleCounting SimpleRef_DeviceType = 1
)
// Enum value maps for SimpleRef_DeviceType.
var (
SimpleRef_DeviceType_name = map[int32]string{
0: "Turnout",
1: "AxleCounting",
}
SimpleRef_DeviceType_value = map[string]int32{
"Turnout": 0,
"AxleCounting": 1,
}
)
func (x SimpleRef_DeviceType) Enum() *SimpleRef_DeviceType {
p := new(SimpleRef_DeviceType)
*p = x
return p
}
func (x SimpleRef_DeviceType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (SimpleRef_DeviceType) Descriptor() protoreflect.EnumDescriptor {
2023-12-08 16:46:50 +08:00
return file_stationLayoutGraphics_proto_enumTypes[12].Descriptor()
2023-07-28 15:57:37 +08:00
}
func (SimpleRef_DeviceType) Type() protoreflect.EnumType {
2023-12-08 16:46:50 +08:00
return &file_stationLayoutGraphics_proto_enumTypes[12]
2023-07-28 15:57:37 +08:00
}
func (x SimpleRef_DeviceType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use SimpleRef_DeviceType.Descriptor instead.
func (SimpleRef_DeviceType) EnumDescriptor() ([]byte, []int) {
2023-12-05 13:59:27 +08:00
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{25, 0}
2023-07-28 15:57:37 +08:00
}
2023-08-23 15:33:07 +08:00
type TrackSection_TrackSectionType int32
const (
TrackSection_NORMAL TrackSection_TrackSectionType = 0 //非岔区
TrackSection_FORK TrackSection_TrackSectionType = 1 //岔区
)
// Enum value maps for TrackSection_TrackSectionType.
var (
TrackSection_TrackSectionType_name = map[int32]string{
0: "NORMAL",
1: "FORK",
}
TrackSection_TrackSectionType_value = map[string]int32{
"NORMAL": 0,
"FORK": 1,
}
)
func (x TrackSection_TrackSectionType) Enum() *TrackSection_TrackSectionType {
p := new(TrackSection_TrackSectionType)
*p = x
return p
}
func (x TrackSection_TrackSectionType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (TrackSection_TrackSectionType) Descriptor() protoreflect.EnumDescriptor {
2023-12-08 16:46:50 +08:00
return file_stationLayoutGraphics_proto_enumTypes[13].Descriptor()
2023-08-23 15:33:07 +08:00
}
func (TrackSection_TrackSectionType) Type() protoreflect.EnumType {
2023-12-08 16:46:50 +08:00
return &file_stationLayoutGraphics_proto_enumTypes[13]
2023-08-23 15:33:07 +08:00
}
func (x TrackSection_TrackSectionType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use TrackSection_TrackSectionType.Descriptor instead.
func (TrackSection_TrackSectionType) EnumDescriptor() ([]byte, []int) {
2023-12-05 13:59:27 +08:00
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{29, 0}
2023-08-23 15:33:07 +08:00
}
2023-07-28 15:57:37 +08:00
type StopPosition_CoachNum int32
const (
2023-08-23 15:33:07 +08:00
StopPosition_Four StopPosition_CoachNum = 0
StopPosition_Six StopPosition_CoachNum = 1
StopPosition_Eight StopPosition_CoachNum = 2
2023-07-28 15:57:37 +08:00
)
// Enum value maps for StopPosition_CoachNum.
var (
StopPosition_CoachNum_name = map[int32]string{
0: "Four",
1: "Six",
2023-08-23 15:33:07 +08:00
2: "Eight",
2023-07-28 15:57:37 +08:00
}
StopPosition_CoachNum_value = map[string]int32{
2023-08-23 15:33:07 +08:00
"Four": 0,
"Six": 1,
"Eight": 2,
2023-07-28 15:57:37 +08:00
}
)
func (x StopPosition_CoachNum) Enum() *StopPosition_CoachNum {
p := new(StopPosition_CoachNum)
*p = x
return p
}
func (x StopPosition_CoachNum) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (StopPosition_CoachNum) Descriptor() protoreflect.EnumDescriptor {
2023-12-08 16:46:50 +08:00
return file_stationLayoutGraphics_proto_enumTypes[14].Descriptor()
2023-07-28 15:57:37 +08:00
}
func (StopPosition_CoachNum) Type() protoreflect.EnumType {
2023-12-08 16:46:50 +08:00
return &file_stationLayoutGraphics_proto_enumTypes[14]
2023-07-28 15:57:37 +08:00
}
func (x StopPosition_CoachNum) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use StopPosition_CoachNum.Descriptor instead.
func (StopPosition_CoachNum) EnumDescriptor() ([]byte, []int) {
2023-12-05 13:59:27 +08:00
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{31, 0}
}
type Beacon_BeaconType int32
const (
Beacon_Static Beacon_BeaconType = 0
Beacon_Dynamic Beacon_BeaconType = 1
)
// Enum value maps for Beacon_BeaconType.
var (
Beacon_BeaconType_name = map[int32]string{
0: "Static",
1: "Dynamic",
}
Beacon_BeaconType_value = map[string]int32{
"Static": 0,
"Dynamic": 1,
}
)
func (x Beacon_BeaconType) Enum() *Beacon_BeaconType {
p := new(Beacon_BeaconType)
*p = x
return p
}
func (x Beacon_BeaconType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Beacon_BeaconType) Descriptor() protoreflect.EnumDescriptor {
2023-12-08 16:46:50 +08:00
return file_stationLayoutGraphics_proto_enumTypes[15].Descriptor()
}
func (Beacon_BeaconType) Type() protoreflect.EnumType {
2023-12-08 16:46:50 +08:00
return &file_stationLayoutGraphics_proto_enumTypes[15]
}
func (x Beacon_BeaconType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Beacon_BeaconType.Descriptor instead.
func (Beacon_BeaconType) EnumDescriptor() ([]byte, []int) {
2023-12-05 13:59:27 +08:00
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{37, 0}
2023-07-28 15:57:37 +08:00
}
type Train_TrainModel int32
const (
Train_A Train_TrainModel = 0
Train_B Train_TrainModel = 1
Train_C Train_TrainModel = 2
Train_D Train_TrainModel = 3
)
// Enum value maps for Train_TrainModel.
var (
Train_TrainModel_name = map[int32]string{
0: "A",
1: "B",
2: "C",
3: "D",
}
Train_TrainModel_value = map[string]int32{
"A": 0,
"B": 1,
"C": 2,
"D": 3,
}
)
func (x Train_TrainModel) Enum() *Train_TrainModel {
p := new(Train_TrainModel)
*p = x
return p
}
func (x Train_TrainModel) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Train_TrainModel) Descriptor() protoreflect.EnumDescriptor {
2023-12-08 16:46:50 +08:00
return file_stationLayoutGraphics_proto_enumTypes[16].Descriptor()
}
func (Train_TrainModel) Type() protoreflect.EnumType {
2023-12-08 16:46:50 +08:00
return &file_stationLayoutGraphics_proto_enumTypes[16]
}
func (x Train_TrainModel) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Train_TrainModel.Descriptor instead.
func (Train_TrainModel) EnumDescriptor() ([]byte, []int) {
2023-12-14 13:04:48 +08:00
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{47, 0}
}
2023-07-28 15:57:37 +08:00
type RtssGraphicStorage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Canvas *Canvas `protobuf:"bytes,1,opt,name=canvas,proto3" json:"canvas,omitempty"`
// repeated Link links = 2;
// repeated IscsFan iscsFans = 3;
Platforms []*Platform `protobuf:"bytes,4,rep,name=Platforms,proto3" json:"Platforms,omitempty"`
Stations []*Station `protobuf:"bytes,5,rep,name=stations,proto3" json:"stations,omitempty"`
// repeated Rect rects = 6;
2023-12-05 13:59:27 +08:00
Train []*Train `protobuf:"bytes,7,rep,name=train,proto3" json:"train,omitempty"`
Signals []*Signal `protobuf:"bytes,8,rep,name=signals,proto3" json:"signals,omitempty"`
Turnouts []*Turnout `protobuf:"bytes,9,rep,name=turnouts,proto3" json:"turnouts,omitempty"`
Section []*Section `protobuf:"bytes,10,rep,name=section,proto3" json:"section,omitempty"`
Polygons []*Polygon `protobuf:"bytes,11,rep,name=polygons,proto3" json:"polygons,omitempty"`
2023-07-28 15:57:37 +08:00
TrainWindows []*TrainWindow `protobuf:"bytes,12,rep,name=trainWindows,proto3" json:"trainWindows,omitempty"`
AxleCountings []*AxleCounting `protobuf:"bytes,13,rep,name=axleCountings,proto3" json:"axleCountings,omitempty"`
Separators []*Separator `protobuf:"bytes,14,rep,name=separators,proto3" json:"separators,omitempty"`
SectionLinks []*SectionLink `protobuf:"bytes,15,rep,name=sectionLinks,proto3" json:"sectionLinks,omitempty"`
AxleCountingSections []*AxleCountingSection `protobuf:"bytes,16,rep,name=axleCountingSections,proto3" json:"axleCountingSections,omitempty"`
LogicSections []*LogicSection `protobuf:"bytes,17,rep,name=logicSections,proto3" json:"logicSections,omitempty"`
StopPositions []*StopPosition `protobuf:"bytes,18,rep,name=stopPositions,proto3" json:"stopPositions,omitempty"`
SpksSwitchs []*SpksSwitch `protobuf:"bytes,19,rep,name=spksSwitchs,proto3" json:"spksSwitchs,omitempty"`
2023-12-14 13:04:48 +08:00
EsbButtons []*EsbButton `protobuf:"bytes,20,rep,name=esbButtons,proto3" json:"esbButtons,omitempty"` // 紧急关闭按钮
GateBoxs []*GatedBox `protobuf:"bytes,21,rep,name=gateBoxs,proto3" json:"gateBoxs,omitempty"` // 站台开门/关门/发车按钮整合控制箱
Transponders []*Transponder `protobuf:"bytes,22,rep,name=transponders,proto3" json:"transponders,omitempty"` // 应答器
Slopes []*Slope `protobuf:"bytes,23,rep,name=slopes,proto3" json:"slopes,omitempty"` // 坡度
// repeated CalculateLink CalculateLink = 24; // 计算link信息
SlopeKiloMarker []*SlopeKiloMarker `protobuf:"bytes,25,rep,name=slopeKiloMarker,proto3" json:"slopeKiloMarker,omitempty"` //坡度公里标
CurvatureKiloMarker []*CurvatureKiloMarker `protobuf:"bytes,26,rep,name=curvatureKiloMarker,proto3" json:"curvatureKiloMarker,omitempty"` //曲度公里标
Curvatures []*Curvature `protobuf:"bytes,27,rep,name=curvatures,proto3" json:"curvatures,omitempty"` // 曲度
TrackSections []*TrackSection `protobuf:"bytes,28,rep,name=trackSections,proto3" json:"trackSections,omitempty"` //轨道区段
TrackLogicSections []*TrackLogicSection `protobuf:"bytes,29,rep,name=trackLogicSections,proto3" json:"trackLogicSections,omitempty"` //轨道逻辑区段
2023-09-21 14:54:27 +08:00
// UniqueIdType UniqueIdPrefix = 30;//设备唯一编码--前缀
2023-12-05 13:59:27 +08:00
UniqueIdPrefix *UniqueIdOfStationLayout `protobuf:"bytes,31,opt,name=UniqueIdPrefix,proto3" json:"UniqueIdPrefix,omitempty"` //设备唯一编码--前缀
KilometerConvertList []*KilometerConvert `protobuf:"bytes,32,rep,name=kilometerConvertList,proto3" json:"kilometerConvertList,omitempty"` //公里标转换列表
ScreenDoors []*ScreenDoor `protobuf:"bytes,33,rep,name=screenDoors,proto3" json:"screenDoors,omitempty"`
StationRelateDeviceList []*StationRelateDevice `protobuf:"bytes,34,rep,name=stationRelateDeviceList,proto3" json:"stationRelateDeviceList,omitempty"` // 关联设备列表
SectionCodePointList []*SectionCodePoint `protobuf:"bytes,35,rep,name=sectionCodePointList,proto3" json:"sectionCodePointList,omitempty"` // 物理区段码位表
ScreenDoorConfig *ScreenDoorConfig `protobuf:"bytes,36,opt,name=screenDoorConfig,proto3" json:"screenDoorConfig,omitempty"` //屏蔽门的配置--子屏蔽门的数量和编组列表
Beacons []*Beacon `protobuf:"bytes,37,rep,name=beacons,proto3" json:"beacons,omitempty"` // 信标
GenerateAxleCountingConfig *GenerateAxleCountingConfig `protobuf:"bytes,38,opt,name=generateAxleCountingConfig,proto3" json:"generateAxleCountingConfig,omitempty"` //一键生成计轴的配置
DepartureTimers []*DepartureTimer `protobuf:"bytes,39,rep,name=departureTimers,proto3" json:"departureTimers,omitempty"` // 发车计时器
AutoReturnBoxs []*AutoReturnBox `protobuf:"bytes,40,rep,name=autoReturnBoxs,proto3" json:"autoReturnBoxs,omitempty"` // 自动折返按钮箱
ConcentrationDividingLines []*ConcentrationDividingLine `protobuf:"bytes,41,rep,name=concentrationDividingLines,proto3" json:"concentrationDividingLines,omitempty"` // 集中区分割线
OtherLineList []*OtherLine `protobuf:"bytes,42,rep,name=otherLineList,proto3" json:"otherLineList,omitempty"` // 其他线设备列表
2023-07-28 15:57:37 +08:00
}
func (x *RtssGraphicStorage) Reset() {
*x = RtssGraphicStorage{}
if protoimpl.UnsafeEnabled {
mi := &file_stationLayoutGraphics_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RtssGraphicStorage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RtssGraphicStorage) ProtoMessage() {}
func (x *RtssGraphicStorage) ProtoReflect() protoreflect.Message {
mi := &file_stationLayoutGraphics_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RtssGraphicStorage.ProtoReflect.Descriptor instead.
func (*RtssGraphicStorage) Descriptor() ([]byte, []int) {
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{0}
}
func (x *RtssGraphicStorage) GetCanvas() *Canvas {
if x != nil {
return x.Canvas
}
return nil
}
func (x *RtssGraphicStorage) GetPlatforms() []*Platform {
if x != nil {
return x.Platforms
}
return nil
}
func (x *RtssGraphicStorage) GetStations() []*Station {
if x != nil {
return x.Stations
}
return nil
}
2023-11-22 17:05:38 +08:00
func (x *RtssGraphicStorage) GetTrain() []*Train {
if x != nil {
return x.Train
}
return nil
}
2023-07-28 15:57:37 +08:00
func (x *RtssGraphicStorage) GetSignals() []*Signal {
if x != nil {
return x.Signals
}
return nil
}
func (x *RtssGraphicStorage) GetTurnouts() []*Turnout {
if x != nil {
return x.Turnouts
}
return nil
}
func (x *RtssGraphicStorage) GetSection() []*Section {
if x != nil {
return x.Section
}
return nil
}
2023-12-05 13:59:27 +08:00
func (x *RtssGraphicStorage) GetPolygons() []*Polygon {
if x != nil {
return x.Polygons
}
return nil
}
2023-07-28 15:57:37 +08:00
func (x *RtssGraphicStorage) GetTrainWindows() []*TrainWindow {
if x != nil {
return x.TrainWindows
}
return nil
}
func (x *RtssGraphicStorage) GetAxleCountings() []*AxleCounting {
if x != nil {
return x.AxleCountings
}
return nil
}
func (x *RtssGraphicStorage) GetSeparators() []*Separator {
if x != nil {
return x.Separators
}
return nil
}
func (x *RtssGraphicStorage) GetSectionLinks() []*SectionLink {
if x != nil {
return x.SectionLinks
}
return nil
}
func (x *RtssGraphicStorage) GetAxleCountingSections() []*AxleCountingSection {
if x != nil {
return x.AxleCountingSections
}
return nil
}
func (x *RtssGraphicStorage) GetLogicSections() []*LogicSection {
if x != nil {
return x.LogicSections
}
return nil
}
func (x *RtssGraphicStorage) GetStopPositions() []*StopPosition {
if x != nil {
return x.StopPositions
}
return nil
}
func (x *RtssGraphicStorage) GetSpksSwitchs() []*SpksSwitch {
if x != nil {
return x.SpksSwitchs
}
return nil
}
func (x *RtssGraphicStorage) GetEsbButtons() []*EsbButton {
if x != nil {
return x.EsbButtons
}
return nil
}
func (x *RtssGraphicStorage) GetGateBoxs() []*GatedBox {
if x != nil {
return x.GateBoxs
}
return nil
}
func (x *RtssGraphicStorage) GetTransponders() []*Transponder {
if x != nil {
return x.Transponders
}
return nil
}
2023-08-07 15:05:37 +08:00
func (x *RtssGraphicStorage) GetSlopes() []*Slope {
if x != nil {
return x.Slopes
}
return nil
}
func (x *RtssGraphicStorage) GetSlopeKiloMarker() []*SlopeKiloMarker {
if x != nil {
return x.SlopeKiloMarker
}
return nil
}
2023-08-08 18:09:13 +08:00
func (x *RtssGraphicStorage) GetCurvatureKiloMarker() []*CurvatureKiloMarker {
if x != nil {
return x.CurvatureKiloMarker
}
return nil
}
func (x *RtssGraphicStorage) GetCurvatures() []*Curvature {
if x != nil {
return x.Curvatures
}
return nil
}
2023-08-23 15:33:07 +08:00
func (x *RtssGraphicStorage) GetTrackSections() []*TrackSection {
if x != nil {
return x.TrackSections
}
return nil
}
func (x *RtssGraphicStorage) GetTrackLogicSections() []*TrackLogicSection {
if x != nil {
return x.TrackLogicSections
}
return nil
}
2023-09-21 14:54:27 +08:00
func (x *RtssGraphicStorage) GetUniqueIdPrefix() *UniqueIdOfStationLayout {
if x != nil {
return x.UniqueIdPrefix
}
return nil
}
2023-09-26 09:34:23 +08:00
func (x *RtssGraphicStorage) GetKilometerConvertList() []*KilometerConvert {
if x != nil {
return x.KilometerConvertList
}
return nil
}
2023-10-13 15:57:09 +08:00
func (x *RtssGraphicStorage) GetScreenDoors() []*ScreenDoor {
if x != nil {
return x.ScreenDoors
}
return nil
}
func (x *RtssGraphicStorage) GetStationRelateDeviceList() []*StationRelateDevice {
if x != nil {
return x.StationRelateDeviceList
}
return nil
}
func (x *RtssGraphicStorage) GetSectionCodePointList() []*SectionCodePoint {
if x != nil {
return x.SectionCodePointList
}
return nil
}
func (x *RtssGraphicStorage) GetScreenDoorConfig() *ScreenDoorConfig {
if x != nil {
return x.ScreenDoorConfig
}
return nil
}
func (x *RtssGraphicStorage) GetBeacons() []*Beacon {
if x != nil {
return x.Beacons
}
return nil
}
func (x *RtssGraphicStorage) GetGenerateAxleCountingConfig() *GenerateAxleCountingConfig {
if x != nil {
return x.GenerateAxleCountingConfig
}
return nil
}
func (x *RtssGraphicStorage) GetDepartureTimers() []*DepartureTimer {
if x != nil {
return x.DepartureTimers
}
return nil
}
func (x *RtssGraphicStorage) GetAutoReturnBoxs() []*AutoReturnBox {
if x != nil {
return x.AutoReturnBoxs
}
return nil
}
2023-12-05 13:59:27 +08:00
func (x *RtssGraphicStorage) GetConcentrationDividingLines() []*ConcentrationDividingLine {
if x != nil {
return x.ConcentrationDividingLines
}
return nil
}
func (x *RtssGraphicStorage) GetOtherLineList() []*OtherLine {
if x != nil {
return x.OtherLineList
}
return nil
}
2023-07-28 15:57:37 +08:00
type Canvas struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// 画布宽
Width int32 `protobuf:"varint,1,opt,name=width,proto3" json:"width,omitempty"`
// 画布高
Height int32 `protobuf:"varint,2,opt,name=height,proto3" json:"height,omitempty"`
// 背景色
BackgroundColor string `protobuf:"bytes,3,opt,name=backgroundColor,proto3" json:"backgroundColor,omitempty"`
// 视口变换
ViewportTransform *Transform `protobuf:"bytes,4,opt,name=viewportTransform,proto3" json:"viewportTransform,omitempty"`
}
func (x *Canvas) Reset() {
*x = Canvas{}
if protoimpl.UnsafeEnabled {
mi := &file_stationLayoutGraphics_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Canvas) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Canvas) ProtoMessage() {}
func (x *Canvas) ProtoReflect() protoreflect.Message {
mi := &file_stationLayoutGraphics_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Canvas.ProtoReflect.Descriptor instead.
func (*Canvas) Descriptor() ([]byte, []int) {
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{1}
}
func (x *Canvas) GetWidth() int32 {
if x != nil {
return x.Width
}
return 0
}
func (x *Canvas) GetHeight() int32 {
if x != nil {
return x.Height
}
return 0
}
func (x *Canvas) GetBackgroundColor() string {
if x != nil {
return x.BackgroundColor
}
return ""
}
func (x *Canvas) GetViewportTransform() *Transform {
if x != nil {
return x.ViewportTransform
}
return nil
}
type Point struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// 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"`
}
func (x *Point) Reset() {
*x = Point{}
if protoimpl.UnsafeEnabled {
mi := &file_stationLayoutGraphics_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Point) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Point) ProtoMessage() {}
func (x *Point) ProtoReflect() protoreflect.Message {
mi := &file_stationLayoutGraphics_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Point.ProtoReflect.Descriptor instead.
func (*Point) Descriptor() ([]byte, []int) {
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{2}
}
func (x *Point) GetX() float32 {
if x != nil {
return x.X
}
return 0
}
func (x *Point) GetY() float32 {
if x != nil {
return x.Y
}
return 0
}
// 变换
type Transform struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// 位移
Position *Point `protobuf:"bytes,1,opt,name=position,proto3" json:"position,omitempty"`
// 缩放
Scale *Point `protobuf:"bytes,2,opt,name=scale,proto3" json:"scale,omitempty"`
// 旋转弧度
Rotation float32 `protobuf:"fixed32,3,opt,name=rotation,proto3" json:"rotation,omitempty"`
// 歪斜
Skew *Point `protobuf:"bytes,4,opt,name=skew,proto3" json:"skew,omitempty"`
}
func (x *Transform) Reset() {
*x = Transform{}
if protoimpl.UnsafeEnabled {
mi := &file_stationLayoutGraphics_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Transform) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Transform) ProtoMessage() {}
func (x *Transform) ProtoReflect() protoreflect.Message {
mi := &file_stationLayoutGraphics_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Transform.ProtoReflect.Descriptor instead.
func (*Transform) Descriptor() ([]byte, []int) {
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{3}
}
func (x *Transform) GetPosition() *Point {
if x != nil {
return x.Position
}
return nil
}
func (x *Transform) GetScale() *Point {
if x != nil {
return x.Scale
}
return nil
}
func (x *Transform) GetRotation() float32 {
if x != nil {
return x.Rotation
}
return 0
}
func (x *Transform) GetSkew() *Point {
if x != nil {
return x.Skew
}
return nil
}
// 子元素变换
type ChildTransform struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// 子元素名称
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// 子元素变换
Transform *Transform `protobuf:"bytes,2,opt,name=transform,proto3" json:"transform,omitempty"`
}
func (x *ChildTransform) Reset() {
*x = ChildTransform{}
if protoimpl.UnsafeEnabled {
mi := &file_stationLayoutGraphics_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ChildTransform) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ChildTransform) ProtoMessage() {}
func (x *ChildTransform) ProtoReflect() protoreflect.Message {
mi := &file_stationLayoutGraphics_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ChildTransform.ProtoReflect.Descriptor instead.
func (*ChildTransform) Descriptor() ([]byte, []int) {
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{4}
}
func (x *ChildTransform) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *ChildTransform) GetTransform() *Transform {
if x != nil {
return x.Transform
}
return nil
}
// 公共属性
type CommonInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
2023-12-14 13:04:48 +08:00
Oldid string `protobuf:"bytes,1,opt,name=oldid,proto3" json:"oldid,omitempty"`
2023-07-28 15:57:37 +08:00
GraphicType string `protobuf:"bytes,2,opt,name=graphicType,proto3" json:"graphicType,omitempty"`
Transform *Transform `protobuf:"bytes,3,opt,name=transform,proto3" json:"transform,omitempty"`
ChildTransforms []*ChildTransform `protobuf:"bytes,4,rep,name=childTransforms,proto3" json:"childTransforms,omitempty"`
2023-12-14 13:04:48 +08:00
Id uint32 `protobuf:"varint,5,opt,name=id,proto3" json:"id,omitempty"`
2023-07-28 15:57:37 +08:00
}
func (x *CommonInfo) Reset() {
*x = CommonInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_stationLayoutGraphics_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CommonInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CommonInfo) ProtoMessage() {}
func (x *CommonInfo) ProtoReflect() protoreflect.Message {
mi := &file_stationLayoutGraphics_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CommonInfo.ProtoReflect.Descriptor instead.
func (*CommonInfo) Descriptor() ([]byte, []int) {
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{5}
}
2023-12-14 13:04:48 +08:00
func (x *CommonInfo) GetOldid() string {
2023-07-28 15:57:37 +08:00
if x != nil {
2023-12-14 13:04:48 +08:00
return x.Oldid
2023-07-28 15:57:37 +08:00
}
return ""
}
func (x *CommonInfo) GetGraphicType() string {
if x != nil {
return x.GraphicType
}
return ""
}
func (x *CommonInfo) GetTransform() *Transform {
if x != nil {
return x.Transform
}
return nil
}
func (x *CommonInfo) GetChildTransforms() []*ChildTransform {
if x != nil {
return x.ChildTransforms
}
return nil
}
2023-12-14 13:04:48 +08:00
func (x *CommonInfo) GetId() uint32 {
if x != nil {
2023-12-14 13:04:48 +08:00
return x.Id
}
return 0
}
2023-12-05 13:59:27 +08:00
type Polygon struct {
2023-07-28 15:57:37 +08:00
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
2023-12-05 13:59:27 +08:00
Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"`
Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"` // 编号
PolygonType Polygon_PolygonType `protobuf:"varint,3,opt,name=polygonType,proto3,enum=graphicData.Polygon_PolygonType" json:"polygonType,omitempty"` // 多边形类型
Points []*Point `protobuf:"bytes,4,rep,name=points,proto3" json:"points,omitempty"` // 点列表
2023-07-28 15:57:37 +08:00
}
2023-12-05 13:59:27 +08:00
func (x *Polygon) Reset() {
*x = Polygon{}
2023-07-28 15:57:37 +08:00
if protoimpl.UnsafeEnabled {
mi := &file_stationLayoutGraphics_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
2023-12-05 13:59:27 +08:00
func (x *Polygon) String() string {
2023-07-28 15:57:37 +08:00
return protoimpl.X.MessageStringOf(x)
}
2023-12-05 13:59:27 +08:00
func (*Polygon) ProtoMessage() {}
2023-07-28 15:57:37 +08:00
2023-12-05 13:59:27 +08:00
func (x *Polygon) ProtoReflect() protoreflect.Message {
2023-07-28 15:57:37 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
2023-12-05 13:59:27 +08:00
// Deprecated: Use Polygon.ProtoReflect.Descriptor instead.
func (*Polygon) Descriptor() ([]byte, []int) {
2023-07-28 15:57:37 +08:00
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{6}
}
2023-12-05 13:59:27 +08:00
func (x *Polygon) GetCommon() *CommonInfo {
2023-07-28 15:57:37 +08:00
if x != nil {
return x.Common
}
return nil
}
2023-12-05 13:59:27 +08:00
func (x *Polygon) GetCode() string {
2023-07-28 15:57:37 +08:00
if x != nil {
return x.Code
}
return ""
}
2023-12-05 13:59:27 +08:00
func (x *Polygon) GetPolygonType() Polygon_PolygonType {
2023-10-19 14:17:37 +08:00
if x != nil {
2023-12-05 13:59:27 +08:00
return x.PolygonType
2023-10-19 14:17:37 +08:00
}
2023-12-05 13:59:27 +08:00
return Polygon_ConcentrationDividingLine
2023-10-13 15:57:09 +08:00
}
2023-12-05 13:59:27 +08:00
func (x *Polygon) GetPoints() []*Point {
2023-11-30 10:59:34 +08:00
if x != nil {
2023-12-05 13:59:27 +08:00
return x.Points
2023-11-30 10:59:34 +08:00
}
2023-12-05 13:59:27 +08:00
return nil
2023-11-30 10:59:34 +08:00
}
2023-12-05 13:59:27 +08:00
type ConcentrationDividingLine struct {
2023-10-13 15:57:09 +08:00
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
2023-12-08 16:46:50 +08:00
Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"`
Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"` // 编号
Points []*Point `protobuf:"bytes,3,rep,name=points,proto3" json:"points,omitempty"` // 点列表
2023-12-14 13:04:48 +08:00
OldrefLeftStationId string `protobuf:"bytes,4,opt,name=oldrefLeftStationId,proto3" json:"oldrefLeftStationId,omitempty"` //左边关联的集中站id
OldrefRightStationId string `protobuf:"bytes,5,opt,name=oldrefRightStationId,proto3" json:"oldrefRightStationId,omitempty"` //右边关联的集中站id
2023-12-08 16:46:50 +08:00
NodeConWithSecs []*NodeConWithSec `protobuf:"bytes,6,rep,name=nodeConWithSecs,proto3" json:"nodeConWithSecs,omitempty"` // 集中区分割线与区段的交点
IsOtherLineConcentrationDividingLine bool `protobuf:"varint,7,opt,name=isOtherLineConcentrationDividingLine,proto3" json:"isOtherLineConcentrationDividingLine,omitempty"` //集中区分割线绘制在其它线的边界处
2023-12-14 13:04:48 +08:00
RefLeftStationId uint32 `protobuf:"varint,8,opt,name=refLeftStationId,proto3" json:"refLeftStationId,omitempty"` //左边关联的集中站id
RefRightStationId uint32 `protobuf:"varint,9,opt,name=refRightStationId,proto3" json:"refRightStationId,omitempty"` //右边关联的集中站id
2023-10-13 15:57:09 +08:00
}
2023-12-05 13:59:27 +08:00
func (x *ConcentrationDividingLine) Reset() {
*x = ConcentrationDividingLine{}
2023-10-13 15:57:09 +08:00
if protoimpl.UnsafeEnabled {
mi := &file_stationLayoutGraphics_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
2023-12-05 13:59:27 +08:00
func (x *ConcentrationDividingLine) String() string {
2023-10-13 15:57:09 +08:00
return protoimpl.X.MessageStringOf(x)
}
2023-12-05 13:59:27 +08:00
func (*ConcentrationDividingLine) ProtoMessage() {}
2023-10-13 15:57:09 +08:00
2023-12-05 13:59:27 +08:00
func (x *ConcentrationDividingLine) ProtoReflect() protoreflect.Message {
2023-10-13 15:57:09 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
2023-12-05 13:59:27 +08:00
// Deprecated: Use ConcentrationDividingLine.ProtoReflect.Descriptor instead.
func (*ConcentrationDividingLine) Descriptor() ([]byte, []int) {
2023-10-13 15:57:09 +08:00
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{7}
}
2023-12-05 13:59:27 +08:00
func (x *ConcentrationDividingLine) GetCommon() *CommonInfo {
2023-10-13 15:57:09 +08:00
if x != nil {
return x.Common
}
return nil
}
2023-12-05 13:59:27 +08:00
func (x *ConcentrationDividingLine) GetCode() string {
2023-10-13 15:57:09 +08:00
if x != nil {
return x.Code
2023-07-28 15:57:37 +08:00
}
return ""
}
2023-12-05 13:59:27 +08:00
func (x *ConcentrationDividingLine) GetPoints() []*Point {
2023-07-28 15:57:37 +08:00
if x != nil {
2023-12-05 13:59:27 +08:00
return x.Points
}
return nil
}
2023-12-14 13:04:48 +08:00
func (x *ConcentrationDividingLine) GetOldrefLeftStationId() string {
2023-12-05 13:59:27 +08:00
if x != nil {
2023-12-14 13:04:48 +08:00
return x.OldrefLeftStationId
2023-10-13 15:57:09 +08:00
}
return ""
2023-10-13 15:57:09 +08:00
}
2023-12-14 13:04:48 +08:00
func (x *ConcentrationDividingLine) GetOldrefRightStationId() string {
2023-12-05 13:59:27 +08:00
if x != nil {
2023-12-14 13:04:48 +08:00
return x.OldrefRightStationId
2023-12-05 13:59:27 +08:00
}
return ""
}
func (x *ConcentrationDividingLine) GetNodeConWithSecs() []*NodeConWithSec {
if x != nil {
return x.NodeConWithSecs
}
return nil
}
2023-12-08 16:46:50 +08:00
func (x *ConcentrationDividingLine) GetIsOtherLineConcentrationDividingLine() bool {
if x != nil {
return x.IsOtherLineConcentrationDividingLine
}
return false
}
2023-12-14 13:04:48 +08:00
func (x *ConcentrationDividingLine) GetRefLeftStationId() uint32 {
if x != nil {
2023-12-14 13:04:48 +08:00
return x.RefLeftStationId
}
return 0
}
2023-12-14 13:04:48 +08:00
func (x *ConcentrationDividingLine) GetRefRightStationId() uint32 {
if x != nil {
2023-12-14 13:04:48 +08:00
return x.RefRightStationId
}
return 0
}
2023-12-05 13:59:27 +08:00
type NodeConWithSec struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
2023-12-05 13:59:27 +08:00
LeftSection *RelatedRef `protobuf:"bytes,1,opt,name=leftSection,proto3" json:"leftSection,omitempty"`
RightSection *RelatedRef `protobuf:"bytes,2,opt,name=rightSection,proto3" json:"rightSection,omitempty"`
}
2023-12-05 13:59:27 +08:00
func (x *NodeConWithSec) Reset() {
*x = NodeConWithSec{}
if protoimpl.UnsafeEnabled {
mi := &file_stationLayoutGraphics_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
2023-12-05 13:59:27 +08:00
func (x *NodeConWithSec) String() string {
return protoimpl.X.MessageStringOf(x)
}
2023-12-05 13:59:27 +08:00
func (*NodeConWithSec) ProtoMessage() {}
2023-12-05 13:59:27 +08:00
func (x *NodeConWithSec) ProtoReflect() protoreflect.Message {
mi := &file_stationLayoutGraphics_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
2023-12-05 13:59:27 +08:00
// Deprecated: Use NodeConWithSec.ProtoReflect.Descriptor instead.
func (*NodeConWithSec) Descriptor() ([]byte, []int) {
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{8}
}
2023-12-05 13:59:27 +08:00
func (x *NodeConWithSec) GetLeftSection() *RelatedRef {
2023-10-13 15:57:09 +08:00
if x != nil {
2023-12-05 13:59:27 +08:00
return x.LeftSection
2023-10-13 15:57:09 +08:00
}
2023-12-05 13:59:27 +08:00
return nil
2023-10-13 15:57:09 +08:00
}
2023-12-05 13:59:27 +08:00
func (x *NodeConWithSec) GetRightSection() *RelatedRef {
2023-10-13 15:57:09 +08:00
if x != nil {
2023-12-05 13:59:27 +08:00
return x.RightSection
2023-10-13 15:57:09 +08:00
}
return nil
}
2023-12-05 13:59:27 +08:00
type Platform struct {
2023-10-13 15:57:09 +08:00
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
2023-12-05 13:59:27 +08:00
Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"`
Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"`
// bool hasdoor = 3; // 是否有屏蔽门
// string direction = 4; // 屏蔽门上下
// int32 index = 5; //索引
// int32 refStationIndex = 6; //关联车站索引
// repeated string centralizedStations = 7; // 集中站列表
// repeated RelatedRef platformRef = 8; //站台关联的车站和物理区段
2023-12-14 13:04:48 +08:00
OldrefStationId string `protobuf:"bytes,9,opt,name=oldrefStationId,proto3" json:"oldrefStationId,omitempty"` //关联的车站的id
OldrefSectionId string `protobuf:"bytes,10,opt,name=oldrefSectionId,proto3" json:"oldrefSectionId,omitempty"` //关联的物理区段id
2023-12-05 13:59:27 +08:00
RefEsbRelayCode string `protobuf:"bytes,11,opt,name=refEsbRelayCode,proto3" json:"refEsbRelayCode,omitempty"` //关联的紧急停车继电器的编号
Type Platform_TypeOfPlatform `protobuf:"varint,12,opt,name=type,proto3,enum=graphicData.Platform_TypeOfPlatform" json:"type,omitempty"` //站台的上下行
2023-12-14 13:04:48 +08:00
RefStationId uint32 `protobuf:"varint,13,opt,name=refStationId,proto3" json:"refStationId,omitempty"` //关联的车站的id
RefSectionId uint32 `protobuf:"varint,14,opt,name=refSectionId,proto3" json:"refSectionId,omitempty"` //关联的物理区段id
2023-10-13 15:57:09 +08:00
}
2023-12-05 13:59:27 +08:00
func (x *Platform) Reset() {
*x = Platform{}
2023-10-13 15:57:09 +08:00
if protoimpl.UnsafeEnabled {
mi := &file_stationLayoutGraphics_proto_msgTypes[9]
2023-10-13 15:57:09 +08:00
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
2023-12-05 13:59:27 +08:00
func (x *Platform) String() string {
2023-10-13 15:57:09 +08:00
return protoimpl.X.MessageStringOf(x)
}
2023-12-05 13:59:27 +08:00
func (*Platform) ProtoMessage() {}
2023-10-13 15:57:09 +08:00
2023-12-05 13:59:27 +08:00
func (x *Platform) ProtoReflect() protoreflect.Message {
mi := &file_stationLayoutGraphics_proto_msgTypes[9]
2023-10-13 15:57:09 +08:00
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)
}
2023-12-05 13:59:27 +08:00
// Deprecated: Use Platform.ProtoReflect.Descriptor instead.
func (*Platform) Descriptor() ([]byte, []int) {
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{9}
2023-10-13 15:57:09 +08:00
}
2023-12-05 13:59:27 +08:00
func (x *Platform) GetCommon() *CommonInfo {
2023-10-13 15:57:09 +08:00
if x != nil {
2023-12-05 13:59:27 +08:00
return x.Common
2023-10-13 15:57:09 +08:00
}
2023-12-05 13:59:27 +08:00
return nil
2023-10-13 15:57:09 +08:00
}
2023-12-05 13:59:27 +08:00
func (x *Platform) GetCode() string {
2023-10-13 15:57:09 +08:00
if x != nil {
2023-12-05 13:59:27 +08:00
return x.Code
2023-07-28 15:57:37 +08:00
}
2023-12-05 13:59:27 +08:00
return ""
2023-07-28 15:57:37 +08:00
}
2023-12-14 13:04:48 +08:00
func (x *Platform) GetOldrefStationId() string {
2023-07-28 15:57:37 +08:00
if x != nil {
2023-12-14 13:04:48 +08:00
return x.OldrefStationId
2023-07-28 15:57:37 +08:00
}
2023-12-05 13:59:27 +08:00
return ""
2023-07-28 15:57:37 +08:00
}
2023-12-14 13:04:48 +08:00
func (x *Platform) GetOldrefSectionId() string {
2023-12-05 13:59:27 +08:00
if x != nil {
2023-12-14 13:04:48 +08:00
return x.OldrefSectionId
2023-12-05 13:59:27 +08:00
}
return ""
}
2023-07-28 15:57:37 +08:00
2023-12-05 13:59:27 +08:00
func (x *Platform) GetRefEsbRelayCode() string {
if x != nil {
return x.RefEsbRelayCode
}
return ""
}
func (x *Platform) GetType() Platform_TypeOfPlatform {
if x != nil {
return x.Type
}
return Platform_Unknown
}
2023-12-14 13:04:48 +08:00
func (x *Platform) GetRefStationId() uint32 {
if x != nil {
2023-12-14 13:04:48 +08:00
return x.RefStationId
}
return 0
}
2023-12-14 13:04:48 +08:00
func (x *Platform) GetRefSectionId() uint32 {
if x != nil {
2023-12-14 13:04:48 +08:00
return x.RefSectionId
}
return 0
}
2023-12-05 13:59:27 +08:00
type ScreenDoor struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"`
Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"`
// int32 sonDoorAmount = 3; //子屏蔽门的数量
2023-12-14 13:04:48 +08:00
OldrefPlatformId string `protobuf:"bytes,4,opt,name=oldrefPlatformId,proto3" json:"oldrefPlatformId,omitempty"` //关联的站台
// repeated ScreenDoorGroup screenDoorGroupList = 5;//编组列表
2023-12-14 13:04:48 +08:00
RefPlatformId uint32 `protobuf:"varint,6,opt,name=refPlatformId,proto3" json:"refPlatformId,omitempty"` //关联的站台
2023-12-05 13:59:27 +08:00
}
func (x *ScreenDoor) Reset() {
*x = ScreenDoor{}
if protoimpl.UnsafeEnabled {
mi := &file_stationLayoutGraphics_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ScreenDoor) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ScreenDoor) ProtoMessage() {}
func (x *ScreenDoor) ProtoReflect() protoreflect.Message {
mi := &file_stationLayoutGraphics_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ScreenDoor.ProtoReflect.Descriptor instead.
func (*ScreenDoor) Descriptor() ([]byte, []int) {
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{10}
}
func (x *ScreenDoor) GetCommon() *CommonInfo {
if x != nil {
return x.Common
}
return nil
}
func (x *ScreenDoor) GetCode() string {
if x != nil {
return x.Code
}
return ""
}
2023-12-14 13:04:48 +08:00
func (x *ScreenDoor) GetOldrefPlatformId() string {
2023-12-05 13:59:27 +08:00
if x != nil {
2023-12-14 13:04:48 +08:00
return x.OldrefPlatformId
2023-12-05 13:59:27 +08:00
}
return ""
}
2023-12-14 13:04:48 +08:00
func (x *ScreenDoor) GetRefPlatformId() uint32 {
if x != nil {
2023-12-14 13:04:48 +08:00
return x.RefPlatformId
}
return 0
}
2023-12-05 13:59:27 +08:00
type ScreenDoorConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SonDoorAmount int32 `protobuf:"varint,1,opt,name=sonDoorAmount,proto3" json:"sonDoorAmount,omitempty"` //子屏蔽门的数量
ScreenDoorGroupList []*ScreenDoorGroup `protobuf:"bytes,2,rep,name=screenDoorGroupList,proto3" json:"screenDoorGroupList,omitempty"` //编组列表
}
func (x *ScreenDoorConfig) Reset() {
*x = ScreenDoorConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_stationLayoutGraphics_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ScreenDoorConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ScreenDoorConfig) ProtoMessage() {}
func (x *ScreenDoorConfig) ProtoReflect() protoreflect.Message {
mi := &file_stationLayoutGraphics_proto_msgTypes[11]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ScreenDoorConfig.ProtoReflect.Descriptor instead.
func (*ScreenDoorConfig) Descriptor() ([]byte, []int) {
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{11}
}
func (x *ScreenDoorConfig) GetSonDoorAmount() int32 {
if x != nil {
return x.SonDoorAmount
}
return 0
}
func (x *ScreenDoorConfig) GetScreenDoorGroupList() []*ScreenDoorGroup {
if x != nil {
return x.ScreenDoorGroupList
}
return nil
}
type ScreenDoorGroup struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
TrainGroupAmount int32 `protobuf:"varint,1,opt,name=trainGroupAmount,proto3" json:"trainGroupAmount,omitempty"` //列车编组数量
StartSmallDoor int32 `protobuf:"varint,2,opt,name=startSmallDoor,proto3" json:"startSmallDoor,omitempty"` //起始的屏蔽门编号
EndSmallDoor int32 `protobuf:"varint,3,opt,name=endSmallDoor,proto3" json:"endSmallDoor,omitempty"` //结束的屏蔽门编号
}
func (x *ScreenDoorGroup) Reset() {
*x = ScreenDoorGroup{}
if protoimpl.UnsafeEnabled {
mi := &file_stationLayoutGraphics_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ScreenDoorGroup) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ScreenDoorGroup) ProtoMessage() {}
func (x *ScreenDoorGroup) ProtoReflect() protoreflect.Message {
mi := &file_stationLayoutGraphics_proto_msgTypes[12]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ScreenDoorGroup.ProtoReflect.Descriptor instead.
func (*ScreenDoorGroup) Descriptor() ([]byte, []int) {
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{12}
}
func (x *ScreenDoorGroup) GetTrainGroupAmount() int32 {
if x != nil {
return x.TrainGroupAmount
}
return 0
}
func (x *ScreenDoorGroup) GetStartSmallDoor() int32 {
if x != nil {
return x.StartSmallDoor
}
return 0
}
func (x *ScreenDoorGroup) GetEndSmallDoor() int32 {
if x != nil {
return x.EndSmallDoor
}
return 0
}
type Station struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"`
Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"` //车站站名
2023-07-28 15:57:37 +08:00
// bool hasControl = 3; // 是否有控制
ConcentrationStations bool `protobuf:"varint,4,opt,name=concentrationStations,proto3" json:"concentrationStations,omitempty"` //是否集中站
// string kilometerCode = 5; //公里标
2023-11-22 17:05:38 +08:00
KilometerSystem *KilometerSystem `protobuf:"bytes,6,opt,name=kilometerSystem,proto3" json:"kilometerSystem,omitempty"` //公里标
// int32 index = 7;
RefIbpMapCode string `protobuf:"bytes,8,opt,name=refIbpMapCode,proto3" json:"refIbpMapCode,omitempty"` // 关联IBP地图Code
StationName string `protobuf:"bytes,9,opt,name=stationName,proto3" json:"stationName,omitempty"` //车站名
StationNameAcronym string `protobuf:"bytes,10,opt,name=stationNameAcronym,proto3" json:"stationNameAcronym,omitempty"` // 车站名拼音简写
Depots bool `protobuf:"varint,11,opt,name=depots,proto3" json:"depots,omitempty"` //是否车辆段
OldmanageStations []string `protobuf:"bytes,12,rep,name=oldmanageStations,proto3" json:"oldmanageStations,omitempty"` // 如果是集中站——管理的车站-id
ManageStations []uint32 `protobuf:"varint,13,rep,packed,name=manageStations,proto3" json:"manageStations,omitempty"` // 如果是集中站——管理的车站-id
2023-07-28 15:57:37 +08:00
}
func (x *Station) Reset() {
*x = Station{}
if protoimpl.UnsafeEnabled {
2023-12-05 13:59:27 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[13]
2023-07-28 15:57:37 +08:00
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Station) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Station) ProtoMessage() {}
func (x *Station) ProtoReflect() protoreflect.Message {
2023-12-05 13:59:27 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[13]
2023-07-28 15:57:37 +08:00
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 Station.ProtoReflect.Descriptor instead.
func (*Station) Descriptor() ([]byte, []int) {
2023-12-05 13:59:27 +08:00
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{13}
2023-07-28 15:57:37 +08:00
}
func (x *Station) GetCommon() *CommonInfo {
if x != nil {
return x.Common
}
return nil
}
func (x *Station) GetCode() string {
if x != nil {
return x.Code
}
return ""
}
func (x *Station) GetConcentrationStations() bool {
if x != nil {
return x.ConcentrationStations
}
return false
}
func (x *Station) GetKilometerSystem() *KilometerSystem {
if x != nil {
return x.KilometerSystem
}
return nil
}
2023-10-13 15:57:09 +08:00
func (x *Station) GetRefIbpMapCode() string {
if x != nil {
return x.RefIbpMapCode
}
return ""
}
func (x *Station) GetStationName() string {
if x != nil {
return x.StationName
}
return ""
}
func (x *Station) GetStationNameAcronym() string {
if x != nil {
return x.StationNameAcronym
}
return ""
}
func (x *Station) GetDepots() bool {
if x != nil {
return x.Depots
}
return false
}
2023-12-14 13:04:48 +08:00
func (x *Station) GetOldmanageStations() []string {
2023-11-22 17:05:38 +08:00
if x != nil {
2023-12-14 13:04:48 +08:00
return x.OldmanageStations
2023-11-22 17:05:38 +08:00
}
return nil
}
2023-12-14 13:04:48 +08:00
func (x *Station) GetManageStations() []uint32 {
if x != nil {
2023-12-14 13:04:48 +08:00
return x.ManageStations
}
return nil
}
2023-07-28 15:57:37 +08:00
type TrainWindow struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"`
Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"`
SectionId int32 `protobuf:"varint,3,opt,name=sectionId,proto3" json:"sectionId,omitempty"`
2023-07-28 15:57:37 +08:00
}
func (x *TrainWindow) Reset() {
*x = TrainWindow{}
if protoimpl.UnsafeEnabled {
2023-12-05 13:59:27 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[14]
2023-07-28 15:57:37 +08:00
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TrainWindow) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TrainWindow) ProtoMessage() {}
func (x *TrainWindow) ProtoReflect() protoreflect.Message {
2023-12-05 13:59:27 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[14]
2023-07-28 15:57:37 +08:00
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 TrainWindow.ProtoReflect.Descriptor instead.
func (*TrainWindow) Descriptor() ([]byte, []int) {
2023-12-05 13:59:27 +08:00
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{14}
2023-07-28 15:57:37 +08:00
}
func (x *TrainWindow) GetCommon() *CommonInfo {
if x != nil {
return x.Common
}
return nil
}
func (x *TrainWindow) GetCode() string {
if x != nil {
return x.Code
}
return ""
}
func (x *TrainWindow) GetSectionId() int32 {
2023-07-28 15:57:37 +08:00
if x != nil {
return x.SectionId
}
return 0
2023-07-28 15:57:37 +08:00
}
type AxleCounting struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
2023-09-21 14:54:27 +08:00
Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"`
Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"` // 名称
KilometerSystem *KilometerSystem `protobuf:"bytes,3,opt,name=kilometerSystem,proto3" json:"kilometerSystem,omitempty"` //公里标
AxleCountingRef []*RelatedRef `protobuf:"bytes,4,rep,name=axleCountingRef,proto3" json:"axleCountingRef,omitempty"` // 计轴关联的非岔区物理区段和道岔设备id和端口
2023-11-22 17:05:38 +08:00
// int32 index = 5; //计轴的索引编号
2023-09-21 14:54:27 +08:00
// bool invent = 6; //是否虚拟计轴--一般是最末端
Type AxleCounting_TypeDetectionPoint `protobuf:"varint,7,opt,name=type,proto3,enum=graphicData.AxleCounting_TypeDetectionPoint" json:"type,omitempty"` //检测点的类型:计轴、区段边界
2023-12-14 13:04:48 +08:00
OldcentralizedStations []string `protobuf:"bytes,8,rep,name=oldcentralizedStations,proto3" json:"oldcentralizedStations,omitempty"` // 集中站Id列表
CentralizedStations []uint32 `protobuf:"varint,9,rep,packed,name=centralizedStations,proto3" json:"centralizedStations,omitempty"` // 集中站Id列表
2023-07-28 15:57:37 +08:00
}
func (x *AxleCounting) Reset() {
*x = AxleCounting{}
if protoimpl.UnsafeEnabled {
2023-12-05 13:59:27 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[15]
2023-07-28 15:57:37 +08:00
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AxleCounting) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AxleCounting) ProtoMessage() {}
func (x *AxleCounting) ProtoReflect() protoreflect.Message {
2023-12-05 13:59:27 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[15]
2023-07-28 15:57:37 +08:00
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 AxleCounting.ProtoReflect.Descriptor instead.
func (*AxleCounting) Descriptor() ([]byte, []int) {
2023-12-05 13:59:27 +08:00
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{15}
2023-07-28 15:57:37 +08:00
}
func (x *AxleCounting) GetCommon() *CommonInfo {
if x != nil {
return x.Common
}
return nil
}
func (x *AxleCounting) GetCode() string {
if x != nil {
return x.Code
}
return ""
}
func (x *AxleCounting) GetKilometerSystem() *KilometerSystem {
if x != nil {
return x.KilometerSystem
}
return nil
}
func (x *AxleCounting) GetAxleCountingRef() []*RelatedRef {
if x != nil {
return x.AxleCountingRef
}
return nil
}
2023-09-21 14:54:27 +08:00
func (x *AxleCounting) GetType() AxleCounting_TypeDetectionPoint {
2023-08-07 15:05:37 +08:00
if x != nil {
2023-09-21 14:54:27 +08:00
return x.Type
2023-08-07 15:05:37 +08:00
}
2023-09-21 14:54:27 +08:00
return AxleCounting_AxleCounting
2023-08-07 15:05:37 +08:00
}
2023-12-14 13:04:48 +08:00
func (x *AxleCounting) GetOldcentralizedStations() []string {
if x != nil {
2023-12-14 13:04:48 +08:00
return x.OldcentralizedStations
}
2023-09-21 14:54:27 +08:00
return nil
}
2023-12-14 13:04:48 +08:00
func (x *AxleCounting) GetCentralizedStations() []uint32 {
if x != nil {
2023-12-14 13:04:48 +08:00
return x.CentralizedStations
}
return nil
}
type GenerateAxleCountingConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
2023-12-14 13:04:48 +08:00
OldbbConnect []string `protobuf:"bytes,1,rep,name=oldbbConnect,proto3" json:"oldbbConnect,omitempty"` //需要在道岔bb连接处生成计轴的道岔id(填一个就行)
OldnoGenerateGroup []string `protobuf:"bytes,2,rep,name=oldnoGenerateGroup,proto3" json:"oldnoGenerateGroup,omitempty"` //指定的道岔组不生成计轴
BbConnect []uint32 `protobuf:"varint,3,rep,packed,name=bbConnect,proto3" json:"bbConnect,omitempty"` //需要在道岔bb连接处生成计轴的道岔id(填一个就行)
NoGenerateGroup []uint32 `protobuf:"varint,4,rep,packed,name=noGenerateGroup,proto3" json:"noGenerateGroup,omitempty"` //指定的道岔组不生成计轴
}
func (x *GenerateAxleCountingConfig) Reset() {
*x = GenerateAxleCountingConfig{}
if protoimpl.UnsafeEnabled {
2023-12-05 13:59:27 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GenerateAxleCountingConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GenerateAxleCountingConfig) ProtoMessage() {}
func (x *GenerateAxleCountingConfig) ProtoReflect() protoreflect.Message {
2023-12-05 13:59:27 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[16]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GenerateAxleCountingConfig.ProtoReflect.Descriptor instead.
func (*GenerateAxleCountingConfig) Descriptor() ([]byte, []int) {
2023-12-05 13:59:27 +08:00
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{16}
}
2023-12-14 13:04:48 +08:00
func (x *GenerateAxleCountingConfig) GetOldbbConnect() []string {
if x != nil {
2023-12-14 13:04:48 +08:00
return x.OldbbConnect
}
return nil
}
2023-12-14 13:04:48 +08:00
func (x *GenerateAxleCountingConfig) GetOldnoGenerateGroup() []string {
if x != nil {
2023-12-14 13:04:48 +08:00
return x.OldnoGenerateGroup
}
return nil
}
2023-12-14 13:04:48 +08:00
func (x *GenerateAxleCountingConfig) GetBbConnect() []uint32 {
if x != nil {
2023-12-14 13:04:48 +08:00
return x.BbConnect
}
return nil
}
2023-12-14 13:04:48 +08:00
func (x *GenerateAxleCountingConfig) GetNoGenerateGroup() []uint32 {
if x != nil {
2023-12-14 13:04:48 +08:00
return x.NoGenerateGroup
}
return nil
}
2023-07-28 15:57:37 +08:00
type Turnout struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"`
Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"`
PointA []*Point `protobuf:"bytes,6,rep,name=pointA,proto3" json:"pointA,omitempty"` // A端坐标列表
PointB []*Point `protobuf:"bytes,7,rep,name=pointB,proto3" json:"pointB,omitempty"` // B端坐标列表
PointC []*Point `protobuf:"bytes,8,rep,name=pointC,proto3" json:"pointC,omitempty"` // C端坐标列表
PaRef *RelatedRef `protobuf:"bytes,9,opt,name=paRef,proto3" json:"paRef,omitempty"` // 道岔A端关联的设备
PbRef *RelatedRef `protobuf:"bytes,10,opt,name=pbRef,proto3" json:"pbRef,omitempty"` // 道岔B端关联的设备
PcRef *RelatedRef `protobuf:"bytes,11,opt,name=pcRef,proto3" json:"pcRef,omitempty"` // 道岔C端关联的设备
// KilometerSystem kilometerSystem = 12; // 道岔公里标
2023-11-22 17:05:38 +08:00
KilometerSystem []*KilometerSystem `protobuf:"bytes,13,rep,name=kilometerSystem,proto3" json:"kilometerSystem,omitempty"` // 道岔公里标
// int32 index = 14; //索引
2023-12-14 13:04:48 +08:00
OldpaTrackSectionId string `protobuf:"bytes,15,opt,name=oldpaTrackSectionId,proto3" json:"oldpaTrackSectionId,omitempty"` // A端轨道区段id
OldpbTrackSectionId string `protobuf:"bytes,16,opt,name=oldpbTrackSectionId,proto3" json:"oldpbTrackSectionId,omitempty"` // B端轨道区段id
OldpcTrackSectionId string `protobuf:"bytes,17,opt,name=oldpcTrackSectionId,proto3" json:"oldpcTrackSectionId,omitempty"` // C端轨道区段id
SwitchMachineType Turnout_SwitchMachineType `protobuf:"varint,18,opt,name=switchMachineType,proto3,enum=graphicData.Turnout_SwitchMachineType" json:"switchMachineType,omitempty"` // 转辙机类型
2023-12-14 13:04:48 +08:00
OldcentralizedStations []string `protobuf:"bytes,19,rep,name=oldcentralizedStations,proto3" json:"oldcentralizedStations,omitempty"` // 集中站Id列表
CentralizedStations []uint32 `protobuf:"varint,20,rep,packed,name=centralizedStations,proto3" json:"centralizedStations,omitempty"` // 集中站Id列表
PaTrackSectionId uint32 `protobuf:"varint,21,opt,name=paTrackSectionId,proto3" json:"paTrackSectionId,omitempty"` // A端轨道区段id
PbTrackSectionId uint32 `protobuf:"varint,22,opt,name=pbTrackSectionId,proto3" json:"pbTrackSectionId,omitempty"` // B端轨道区段id
PcTrackSectionId uint32 `protobuf:"varint,23,opt,name=pcTrackSectionId,proto3" json:"pcTrackSectionId,omitempty"` // C端轨道区段id
2023-07-28 15:57:37 +08:00
}
func (x *Turnout) Reset() {
*x = Turnout{}
if protoimpl.UnsafeEnabled {
2023-12-05 13:59:27 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[17]
2023-07-28 15:57:37 +08:00
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Turnout) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Turnout) ProtoMessage() {}
func (x *Turnout) ProtoReflect() protoreflect.Message {
2023-12-05 13:59:27 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[17]
2023-07-28 15:57:37 +08:00
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 Turnout.ProtoReflect.Descriptor instead.
func (*Turnout) Descriptor() ([]byte, []int) {
2023-12-05 13:59:27 +08:00
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{17}
2023-07-28 15:57:37 +08:00
}
func (x *Turnout) GetCommon() *CommonInfo {
if x != nil {
return x.Common
}
return nil
}
func (x *Turnout) GetCode() string {
if x != nil {
return x.Code
}
return ""
}
func (x *Turnout) GetPointA() []*Point {
if x != nil {
return x.PointA
}
return nil
}
func (x *Turnout) GetPointB() []*Point {
if x != nil {
return x.PointB
}
return nil
}
func (x *Turnout) GetPointC() []*Point {
if x != nil {
return x.PointC
}
return nil
}
func (x *Turnout) GetPaRef() *RelatedRef {
if x != nil {
return x.PaRef
}
return nil
}
func (x *Turnout) GetPbRef() *RelatedRef {
if x != nil {
return x.PbRef
}
return nil
}
func (x *Turnout) GetPcRef() *RelatedRef {
if x != nil {
return x.PcRef
}
return nil
}
func (x *Turnout) GetKilometerSystem() []*KilometerSystem {
if x != nil {
return x.KilometerSystem
}
return nil
}
2023-12-14 13:04:48 +08:00
func (x *Turnout) GetOldpaTrackSectionId() string {
2023-08-23 15:33:07 +08:00
if x != nil {
2023-12-14 13:04:48 +08:00
return x.OldpaTrackSectionId
2023-08-23 15:33:07 +08:00
}
return ""
}
2023-12-14 13:04:48 +08:00
func (x *Turnout) GetOldpbTrackSectionId() string {
2023-08-23 15:33:07 +08:00
if x != nil {
2023-12-14 13:04:48 +08:00
return x.OldpbTrackSectionId
2023-08-23 15:33:07 +08:00
}
return ""
}
2023-12-14 13:04:48 +08:00
func (x *Turnout) GetOldpcTrackSectionId() string {
2023-08-23 15:33:07 +08:00
if x != nil {
2023-12-14 13:04:48 +08:00
return x.OldpcTrackSectionId
2023-08-23 15:33:07 +08:00
}
return ""
}
2023-09-19 11:02:50 +08:00
func (x *Turnout) GetSwitchMachineType() Turnout_SwitchMachineType {
if x != nil {
return x.SwitchMachineType
}
return Turnout_Unknown
}
2023-12-14 13:04:48 +08:00
func (x *Turnout) GetOldcentralizedStations() []string {
2023-09-21 14:54:27 +08:00
if x != nil {
2023-12-14 13:04:48 +08:00
return x.OldcentralizedStations
2023-09-21 14:54:27 +08:00
}
return nil
}
2023-12-14 13:04:48 +08:00
func (x *Turnout) GetCentralizedStations() []uint32 {
if x != nil {
2023-12-14 13:04:48 +08:00
return x.CentralizedStations
}
return nil
}
2023-12-14 13:04:48 +08:00
func (x *Turnout) GetPaTrackSectionId() uint32 {
if x != nil {
2023-12-14 13:04:48 +08:00
return x.PaTrackSectionId
}
return 0
}
2023-12-14 13:04:48 +08:00
func (x *Turnout) GetPbTrackSectionId() uint32 {
if x != nil {
2023-12-14 13:04:48 +08:00
return x.PbTrackSectionId
}
return 0
}
2023-12-14 13:04:48 +08:00
func (x *Turnout) GetPcTrackSectionId() uint32 {
if x != nil {
2023-12-14 13:04:48 +08:00
return x.PcTrackSectionId
}
return 0
}
2023-07-28 15:57:37 +08:00
type KilometerSystem struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
2023-12-08 16:46:50 +08:00
Kilometer int64 `protobuf:"varint,1,opt,name=kilometer,proto3" json:"kilometer,omitempty"` //公里标mm
CoordinateSystem string `protobuf:"bytes,2,opt,name=coordinateSystem,proto3" json:"coordinateSystem,omitempty"` //坐标系
Direction KilometerSystem_Direction `protobuf:"varint,3,opt,name=direction,proto3,enum=graphicData.KilometerSystem_Direction" json:"direction,omitempty"` //左右行
2023-07-28 15:57:37 +08:00
}
func (x *KilometerSystem) Reset() {
*x = KilometerSystem{}
if protoimpl.UnsafeEnabled {
2023-12-05 13:59:27 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[18]
2023-07-28 15:57:37 +08:00
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *KilometerSystem) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*KilometerSystem) ProtoMessage() {}
func (x *KilometerSystem) ProtoReflect() protoreflect.Message {
2023-12-05 13:59:27 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[18]
2023-07-28 15:57:37 +08:00
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 KilometerSystem.ProtoReflect.Descriptor instead.
func (*KilometerSystem) Descriptor() ([]byte, []int) {
2023-12-05 13:59:27 +08:00
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{18}
2023-07-28 15:57:37 +08:00
}
func (x *KilometerSystem) GetKilometer() int64 {
if x != nil {
return x.Kilometer
}
return 0
}
func (x *KilometerSystem) GetCoordinateSystem() string {
if x != nil {
return x.CoordinateSystem
}
return ""
}
2023-12-08 16:46:50 +08:00
func (x *KilometerSystem) GetDirection() KilometerSystem_Direction {
if x != nil {
return x.Direction
}
2023-12-08 16:46:50 +08:00
return KilometerSystem_LEFT
}
2023-07-28 15:57:37 +08:00
type Signal struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"`
Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"`
Mirror bool `protobuf:"varint,3,opt,name=mirror,proto3" json:"mirror,omitempty"`
// int64 kilometer = 4;
// string coordinateSystem = 5;
2023-11-22 17:05:38 +08:00
KilometerSystem *KilometerSystem `protobuf:"bytes,6,opt,name=kilometerSystem,proto3" json:"kilometerSystem,omitempty"`
// int32 index = 7; //索引
2023-12-14 13:04:48 +08:00
RefDev *RelatedRef `protobuf:"bytes,8,opt,name=refDev,proto3" json:"refDev,omitempty"` //关联设备(区段/道岔)
OldcentralizedStations []string `protobuf:"bytes,9,rep,name=oldcentralizedStations,proto3" json:"oldcentralizedStations,omitempty"` // 集中站Id列表
// 信号机模型类型
2023-12-08 16:46:50 +08:00
Mt Signal_Model `protobuf:"varint,10,opt,name=mt,proto3,enum=graphicData.Signal_Model" json:"mt,omitempty"`
// string belongStation = 11; // 所属车站(缩写)
2023-12-14 13:04:48 +08:00
Direction Direction `protobuf:"varint,12,opt,name=direction,proto3,enum=graphicData.Direction" json:"direction,omitempty"` // 上下行
CentralizedStations []uint32 `protobuf:"varint,13,rep,packed,name=centralizedStations,proto3" json:"centralizedStations,omitempty"` // 集中站Id列表
2023-07-28 15:57:37 +08:00
}
func (x *Signal) Reset() {
*x = Signal{}
if protoimpl.UnsafeEnabled {
2023-12-05 13:59:27 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[19]
2023-07-28 15:57:37 +08:00
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Signal) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Signal) ProtoMessage() {}
func (x *Signal) ProtoReflect() protoreflect.Message {
2023-12-05 13:59:27 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[19]
2023-07-28 15:57:37 +08:00
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 Signal.ProtoReflect.Descriptor instead.
func (*Signal) Descriptor() ([]byte, []int) {
2023-12-05 13:59:27 +08:00
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{19}
2023-07-28 15:57:37 +08:00
}
func (x *Signal) GetCommon() *CommonInfo {
if x != nil {
return x.Common
}
return nil
}
func (x *Signal) GetCode() string {
if x != nil {
return x.Code
}
return ""
}
func (x *Signal) GetMirror() bool {
if x != nil {
return x.Mirror
}
return false
}
func (x *Signal) GetKilometerSystem() *KilometerSystem {
if x != nil {
return x.KilometerSystem
}
return nil
}
2023-08-07 15:05:37 +08:00
func (x *Signal) GetRefDev() *RelatedRef {
if x != nil {
return x.RefDev
}
return nil
}
2023-12-14 13:04:48 +08:00
func (x *Signal) GetOldcentralizedStations() []string {
2023-09-21 14:54:27 +08:00
if x != nil {
2023-12-14 13:04:48 +08:00
return x.OldcentralizedStations
2023-09-21 14:54:27 +08:00
}
return nil
}
func (x *Signal) GetMt() Signal_Model {
if x != nil {
return x.Mt
}
2023-11-16 11:11:25 +08:00
return Signal_HL
}
2023-12-08 16:46:50 +08:00
func (x *Signal) GetDirection() Direction {
if x != nil {
return x.Direction
}
return Direction_UP
}
2023-12-14 13:04:48 +08:00
func (x *Signal) GetCentralizedStations() []uint32 {
if x != nil {
2023-12-14 13:04:48 +08:00
return x.CentralizedStations
}
return nil
}
2023-07-28 15:57:37 +08:00
// * 物理区段(包含岔区和非岔区)
type Section struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
2023-12-14 13:04:48 +08:00
Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"`
Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"` // 编号
Points []*Point `protobuf:"bytes,3,rep,name=points,proto3" json:"points,omitempty"` // 点列表
PaRef *RelatedRef `protobuf:"bytes,4,opt,name=paRef,proto3" json:"paRef,omitempty"` // 区段A端关联的设备(非岔区)(后端不关注)
PbRef *RelatedRef `protobuf:"bytes,5,opt,name=pbRef,proto3" json:"pbRef,omitempty"` // 区段B端关联的设备(非岔区)(后端不关注)
SectionType Section_SectionType `protobuf:"varint,6,opt,name=sectionType,proto3,enum=graphicData.Section_SectionType" json:"sectionType,omitempty"` // 区段类型
OldaxleCountings []string `protobuf:"bytes,7,rep,name=oldaxleCountings,proto3" json:"oldaxleCountings,omitempty"` // 区段对应的计轴
2023-11-22 17:05:38 +08:00
// int32 index = 8; // 索引
2023-12-14 13:04:48 +08:00
OldtrackSectionId string `protobuf:"bytes,9,opt,name=oldtrackSectionId,proto3" json:"oldtrackSectionId,omitempty"` // 下属轨道区段id
2023-12-08 16:46:50 +08:00
IsCurve bool `protobuf:"varint,10,opt,name=isCurve,proto3" json:"isCurve,omitempty"` // 是否曲线
SegmentsCount int32 `protobuf:"varint,12,opt,name=segmentsCount,proto3" json:"segmentsCount,omitempty"` // 曲线分段数
2023-12-14 13:04:48 +08:00
OldcentralizedStations []string `protobuf:"bytes,13,rep,name=oldcentralizedStations,proto3" json:"oldcentralizedStations,omitempty"` // 集中站Id列表
2023-12-08 16:46:50 +08:00
NormalRunningDirection Section_RunningDirection `protobuf:"varint,14,opt,name=normalRunningDirection,proto3,enum=graphicData.Section_RunningDirection" json:"normalRunningDirection,omitempty"` //常规运行方向
IsTurnBackZone bool `protobuf:"varint,15,opt,name=isTurnBackZone,proto3" json:"isTurnBackZone,omitempty"` // 是否为折返区域
Direction Direction `protobuf:"varint,16,opt,name=direction,proto3,enum=graphicData.Direction" json:"direction,omitempty"` // 上下行
2023-12-14 13:04:48 +08:00
AxleCountings []uint32 `protobuf:"varint,17,rep,packed,name=axleCountings,proto3" json:"axleCountings,omitempty"` // 区段对应的计轴
TrackSectionId uint32 `protobuf:"varint,18,opt,name=trackSectionId,proto3" json:"trackSectionId,omitempty"` // 下属轨道区段id
CentralizedStations []uint32 `protobuf:"varint,19,rep,packed,name=centralizedStations,proto3" json:"centralizedStations,omitempty"` // 集中站Id列表
2023-07-28 15:57:37 +08:00
}
func (x *Section) Reset() {
*x = Section{}
if protoimpl.UnsafeEnabled {
2023-12-05 13:59:27 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[20]
2023-07-28 15:57:37 +08:00
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Section) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Section) ProtoMessage() {}
func (x *Section) ProtoReflect() protoreflect.Message {
2023-12-05 13:59:27 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[20]
2023-07-28 15:57:37 +08:00
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 Section.ProtoReflect.Descriptor instead.
func (*Section) Descriptor() ([]byte, []int) {
2023-12-05 13:59:27 +08:00
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{20}
2023-07-28 15:57:37 +08:00
}
func (x *Section) GetCommon() *CommonInfo {
if x != nil {
return x.Common
}
return nil
}
func (x *Section) GetCode() string {
if x != nil {
return x.Code
}
return ""
}
func (x *Section) GetPoints() []*Point {
if x != nil {
return x.Points
}
return nil
}
func (x *Section) GetPaRef() *RelatedRef {
if x != nil {
return x.PaRef
}
return nil
}
func (x *Section) GetPbRef() *RelatedRef {
if x != nil {
return x.PbRef
}
return nil
}
func (x *Section) GetSectionType() Section_SectionType {
if x != nil {
return x.SectionType
}
return Section_Physical
}
2023-12-14 13:04:48 +08:00
func (x *Section) GetOldaxleCountings() []string {
2023-07-28 15:57:37 +08:00
if x != nil {
2023-12-14 13:04:48 +08:00
return x.OldaxleCountings
2023-07-28 15:57:37 +08:00
}
return nil
}
2023-12-14 13:04:48 +08:00
func (x *Section) GetOldtrackSectionId() string {
2023-08-23 15:33:07 +08:00
if x != nil {
2023-12-14 13:04:48 +08:00
return x.OldtrackSectionId
2023-08-23 15:33:07 +08:00
}
return ""
}
2023-09-12 10:00:13 +08:00
func (x *Section) GetIsCurve() bool {
if x != nil {
return x.IsCurve
}
return false
}
func (x *Section) GetSegmentsCount() int32 {
2023-09-12 10:00:13 +08:00
if x != nil {
return x.SegmentsCount
2023-09-12 10:00:13 +08:00
}
return 0
}
2023-12-14 13:04:48 +08:00
func (x *Section) GetOldcentralizedStations() []string {
2023-09-21 14:54:27 +08:00
if x != nil {
2023-12-14 13:04:48 +08:00
return x.OldcentralizedStations
2023-09-21 14:54:27 +08:00
}
return nil
}
2023-12-08 16:46:50 +08:00
func (x *Section) GetNormalRunningDirection() Section_RunningDirection {
if x != nil {
return x.NormalRunningDirection
}
return Section_AtoB
}
func (x *Section) GetIsTurnBackZone() bool {
if x != nil {
return x.IsTurnBackZone
}
return false
}
func (x *Section) GetDirection() Direction {
if x != nil {
return x.Direction
}
return Direction_UP
}
2023-12-14 13:04:48 +08:00
func (x *Section) GetAxleCountings() []uint32 {
if x != nil {
2023-12-14 13:04:48 +08:00
return x.AxleCountings
}
return nil
}
2023-12-14 13:04:48 +08:00
func (x *Section) GetTrackSectionId() uint32 {
if x != nil {
2023-12-14 13:04:48 +08:00
return x.TrackSectionId
}
return 0
}
2023-12-14 13:04:48 +08:00
func (x *Section) GetCentralizedStations() []uint32 {
if x != nil {
2023-12-14 13:04:48 +08:00
return x.CentralizedStations
}
return nil
}
2023-07-28 15:57:37 +08:00
// 关联设备
type RelatedRef struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
DeviceType RelatedRef_DeviceType `protobuf:"varint,1,opt,name=deviceType,proto3,enum=graphicData.RelatedRef_DeviceType" json:"deviceType,omitempty"` //关联的设备类型
2023-12-14 13:04:48 +08:00
Oldid string `protobuf:"bytes,2,opt,name=oldid,proto3" json:"oldid,omitempty"` //关联的设备ID
2023-07-28 15:57:37 +08:00
DevicePort RelatedRef_DevicePort `protobuf:"varint,3,opt,name=devicePort,proto3,enum=graphicData.RelatedRef_DevicePort" json:"devicePort,omitempty"` //关联的设备端口
2023-12-14 13:04:48 +08:00
Id uint32 `protobuf:"varint,4,opt,name=id,proto3" json:"id,omitempty"`
2023-07-28 15:57:37 +08:00
}
func (x *RelatedRef) Reset() {
*x = RelatedRef{}
if protoimpl.UnsafeEnabled {
2023-12-05 13:59:27 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[21]
2023-07-28 15:57:37 +08:00
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RelatedRef) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RelatedRef) ProtoMessage() {}
func (x *RelatedRef) ProtoReflect() protoreflect.Message {
2023-12-05 13:59:27 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[21]
2023-07-28 15:57:37 +08:00
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 RelatedRef.ProtoReflect.Descriptor instead.
func (*RelatedRef) Descriptor() ([]byte, []int) {
2023-12-05 13:59:27 +08:00
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{21}
2023-07-28 15:57:37 +08:00
}
func (x *RelatedRef) GetDeviceType() RelatedRef_DeviceType {
if x != nil {
return x.DeviceType
}
return RelatedRef_Section
}
2023-12-14 13:04:48 +08:00
func (x *RelatedRef) GetOldid() string {
2023-07-28 15:57:37 +08:00
if x != nil {
2023-12-14 13:04:48 +08:00
return x.Oldid
2023-07-28 15:57:37 +08:00
}
return ""
}
func (x *RelatedRef) GetDevicePort() RelatedRef_DevicePort {
if x != nil {
return x.DevicePort
}
return RelatedRef_A
}
2023-12-14 13:04:48 +08:00
func (x *RelatedRef) GetId() uint32 {
if x != nil {
2023-12-14 13:04:48 +08:00
return x.Id
}
return 0
}
2023-07-28 15:57:37 +08:00
// 计轴区段与道岔的位置关系
type TurnoutPosRef struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
2023-12-14 13:04:48 +08:00
Oldid string `protobuf:"bytes,1,opt,name=oldid,proto3" json:"oldid,omitempty"` //道岔的ID
2023-07-28 15:57:37 +08:00
Position int32 `protobuf:"varint,2,opt,name=position,proto3" json:"position,omitempty"` //道岔的正反为0是定位1是反位
2023-12-14 13:04:48 +08:00
Id uint32 `protobuf:"varint,3,opt,name=id,proto3" json:"id,omitempty"`
2023-07-28 15:57:37 +08:00
}
func (x *TurnoutPosRef) Reset() {
*x = TurnoutPosRef{}
if protoimpl.UnsafeEnabled {
2023-12-05 13:59:27 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[22]
2023-07-28 15:57:37 +08:00
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TurnoutPosRef) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TurnoutPosRef) ProtoMessage() {}
func (x *TurnoutPosRef) ProtoReflect() protoreflect.Message {
2023-12-05 13:59:27 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[22]
2023-07-28 15:57:37 +08:00
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 TurnoutPosRef.ProtoReflect.Descriptor instead.
func (*TurnoutPosRef) Descriptor() ([]byte, []int) {
2023-12-05 13:59:27 +08:00
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{22}
2023-07-28 15:57:37 +08:00
}
2023-12-14 13:04:48 +08:00
func (x *TurnoutPosRef) GetOldid() string {
2023-07-28 15:57:37 +08:00
if x != nil {
2023-12-14 13:04:48 +08:00
return x.Oldid
2023-07-28 15:57:37 +08:00
}
return ""
}
func (x *TurnoutPosRef) GetPosition() int32 {
if x != nil {
return x.Position
}
return 0
}
2023-12-14 13:04:48 +08:00
func (x *TurnoutPosRef) GetId() uint32 {
if x != nil {
return x.Id
}
return 0
}
2023-07-28 15:57:37 +08:00
type Separator struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"`
Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"`
SeparatorType string `protobuf:"bytes,3,opt,name=separatorType,proto3" json:"separatorType,omitempty"`
}
func (x *Separator) Reset() {
*x = Separator{}
if protoimpl.UnsafeEnabled {
2023-12-05 13:59:27 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[23]
2023-07-28 15:57:37 +08:00
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Separator) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Separator) ProtoMessage() {}
func (x *Separator) ProtoReflect() protoreflect.Message {
2023-12-05 13:59:27 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[23]
2023-07-28 15:57:37 +08:00
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 Separator.ProtoReflect.Descriptor instead.
func (*Separator) Descriptor() ([]byte, []int) {
2023-12-05 13:59:27 +08:00
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{23}
2023-07-28 15:57:37 +08:00
}
func (x *Separator) GetCommon() *CommonInfo {
if x != nil {
return x.Common
}
return nil
}
func (x *Separator) GetCode() string {
if x != nil {
return x.Code
}
return ""
}
func (x *Separator) GetSeparatorType() string {
if x != nil {
return x.SeparatorType
}
return ""
}
type Transponder struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
2023-11-23 13:20:00 +08:00
Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"`
Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"`
// int32 transponderType = 3; // 作废
2023-11-22 17:05:38 +08:00
// int32 index = 4; // 索引编号
2024-01-17 17:49:11 +08:00
KilometerSystem *KilometerSystem `protobuf:"bytes,5,opt,name=kilometerSystem,proto3" json:"kilometerSystem,omitempty"` //公里标
TransponderRef *RelatedRef `protobuf:"bytes,6,opt,name=TransponderRef,proto3" json:"TransponderRef,omitempty"` //关联关系
OldcentralizedStations []string `protobuf:"bytes,7,rep,name=oldcentralizedStations,proto3" json:"oldcentralizedStations,omitempty"` // 集中站Id列表
// bytes fixedTelegram = 8;//无源应答器固定报文
Type Transponder_TransponderTypeEnum `protobuf:"varint,9,opt,name=type,proto3,enum=graphicData.Transponder_TransponderTypeEnum" json:"type,omitempty"` //应答器类型
CentralizedStations []uint32 `protobuf:"varint,10,rep,packed,name=centralizedStations,proto3" json:"centralizedStations,omitempty"` // 集中站Id列表
FixedTelegram string `protobuf:"bytes,11,opt,name=fixedTelegram,proto3" json:"fixedTelegram,omitempty"` //应答器固定报文
UserTelegram string `protobuf:"bytes,12,opt,name=userTelegram,proto3" json:"userTelegram,omitempty"` //应答器用户报文
2023-07-28 15:57:37 +08:00
}
func (x *Transponder) Reset() {
*x = Transponder{}
if protoimpl.UnsafeEnabled {
2023-12-05 13:59:27 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[24]
2023-07-28 15:57:37 +08:00
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Transponder) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Transponder) ProtoMessage() {}
func (x *Transponder) ProtoReflect() protoreflect.Message {
2023-12-05 13:59:27 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[24]
2023-07-28 15:57:37 +08:00
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 Transponder.ProtoReflect.Descriptor instead.
func (*Transponder) Descriptor() ([]byte, []int) {
2023-12-05 13:59:27 +08:00
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{24}
2023-07-28 15:57:37 +08:00
}
func (x *Transponder) GetCommon() *CommonInfo {
if x != nil {
return x.Common
}
return nil
}
func (x *Transponder) GetCode() string {
if x != nil {
return x.Code
}
return ""
}
2023-08-02 15:50:46 +08:00
func (x *Transponder) GetKilometerSystem() *KilometerSystem {
if x != nil {
return x.KilometerSystem
}
return nil
}
func (x *Transponder) GetTransponderRef() *RelatedRef {
if x != nil {
return x.TransponderRef
}
return nil
}
2023-12-14 13:04:48 +08:00
func (x *Transponder) GetOldcentralizedStations() []string {
2023-09-21 14:54:27 +08:00
if x != nil {
2023-12-14 13:04:48 +08:00
return x.OldcentralizedStations
2023-09-21 14:54:27 +08:00
}
return nil
}
2023-11-23 13:20:00 +08:00
func (x *Transponder) GetType() Transponder_TransponderTypeEnum {
if x != nil {
return x.Type
}
return Transponder_FB
}
2023-12-14 13:04:48 +08:00
func (x *Transponder) GetCentralizedStations() []uint32 {
if x != nil {
2023-12-14 13:04:48 +08:00
return x.CentralizedStations
}
return nil
}
2024-01-17 17:49:11 +08:00
func (x *Transponder) GetFixedTelegram() string {
if x != nil {
return x.FixedTelegram
}
return ""
}
func (x *Transponder) GetUserTelegram() string {
if x != nil {
return x.UserTelegram
}
return ""
}
2023-07-28 15:57:37 +08:00
type SimpleRef struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
DeviceType SimpleRef_DeviceType `protobuf:"varint,1,opt,name=deviceType,proto3,enum=graphicData.SimpleRef_DeviceType" json:"deviceType,omitempty"`
2023-12-14 13:04:48 +08:00
Oldid string `protobuf:"bytes,2,opt,name=oldid,proto3" json:"oldid,omitempty"`
Id uint32 `protobuf:"varint,3,opt,name=id,proto3" json:"id,omitempty"`
2023-07-28 15:57:37 +08:00
}
func (x *SimpleRef) Reset() {
*x = SimpleRef{}
if protoimpl.UnsafeEnabled {
2023-12-05 13:59:27 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[25]
2023-07-28 15:57:37 +08:00
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SimpleRef) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SimpleRef) ProtoMessage() {}
func (x *SimpleRef) ProtoReflect() protoreflect.Message {
2023-12-05 13:59:27 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[25]
2023-07-28 15:57:37 +08:00
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 SimpleRef.ProtoReflect.Descriptor instead.
func (*SimpleRef) Descriptor() ([]byte, []int) {
2023-12-05 13:59:27 +08:00
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{25}
2023-07-28 15:57:37 +08:00
}
func (x *SimpleRef) GetDeviceType() SimpleRef_DeviceType {
if x != nil {
return x.DeviceType
}
return SimpleRef_Turnout
}
2023-12-14 13:04:48 +08:00
func (x *SimpleRef) GetOldid() string {
2023-07-28 15:57:37 +08:00
if x != nil {
2023-12-14 13:04:48 +08:00
return x.Oldid
2023-07-28 15:57:37 +08:00
}
return ""
}
2023-12-14 13:04:48 +08:00
func (x *SimpleRef) GetId() uint32 {
if x != nil {
2023-12-14 13:04:48 +08:00
return x.Id
}
return 0
}
2023-07-28 15:57:37 +08:00
type SectionLink struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"`
Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"`
Points []*Point `protobuf:"bytes,3,rep,name=points,proto3" json:"points,omitempty"`
Up bool `protobuf:"varint,4,opt,name=up,proto3" json:"up,omitempty"` // 是否上行
ASimRef *SimpleRef `protobuf:"bytes,5,opt,name=aSimRef,proto3" json:"aSimRef,omitempty"` // SectionLink A端连接设备构建关系 AxleCounting/Turnout //端点
BSimRef *SimpleRef `protobuf:"bytes,6,opt,name=bSimRef,proto3" json:"bSimRef,omitempty"` // SectionLink B端连接设备构建关系 AxleCounting/Turnout //端点
ARef *RelatedRef `protobuf:"bytes,7,opt,name=aRef,proto3" json:"aRef,omitempty"` // SectionLink A端连接设备端口关系 SectionLink/Turnout
BRef *RelatedRef `protobuf:"bytes,8,opt,name=bRef,proto3" json:"bRef,omitempty"` // SectionLink B端连接设备端口关系
2023-07-28 15:57:37 +08:00
}
func (x *SectionLink) Reset() {
*x = SectionLink{}
if protoimpl.UnsafeEnabled {
2023-12-05 13:59:27 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[26]
2023-07-28 15:57:37 +08:00
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SectionLink) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SectionLink) ProtoMessage() {}
func (x *SectionLink) ProtoReflect() protoreflect.Message {
2023-12-05 13:59:27 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[26]
2023-07-28 15:57:37 +08:00
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 SectionLink.ProtoReflect.Descriptor instead.
func (*SectionLink) Descriptor() ([]byte, []int) {
2023-12-05 13:59:27 +08:00
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{26}
2023-07-28 15:57:37 +08:00
}
func (x *SectionLink) GetCommon() *CommonInfo {
if x != nil {
return x.Common
}
return nil
}
func (x *SectionLink) GetCode() string {
if x != nil {
return x.Code
}
return ""
}
func (x *SectionLink) GetPoints() []*Point {
if x != nil {
return x.Points
}
return nil
}
func (x *SectionLink) GetUp() bool {
if x != nil {
return x.Up
}
return false
}
func (x *SectionLink) GetASimRef() *SimpleRef {
if x != nil {
return x.ASimRef
}
return nil
}
func (x *SectionLink) GetBSimRef() *SimpleRef {
if x != nil {
return x.BSimRef
}
return nil
}
func (x *SectionLink) GetARef() *RelatedRef {
if x != nil {
return x.ARef
}
return nil
}
func (x *SectionLink) GetBRef() *RelatedRef {
if x != nil {
return x.BRef
}
return nil
}
type AxleCountingSection struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"`
Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"` // 名称
Points []*Point `protobuf:"bytes,3,rep,name=points,proto3" json:"points,omitempty"`
PaRef *RelatedRef `protobuf:"bytes,4,opt,name=paRef,proto3" json:"paRef,omitempty"` // 计轴区段A端关联的计轴
PbRef *RelatedRef `protobuf:"bytes,5,opt,name=pbRef,proto3" json:"pbRef,omitempty"` // 计轴区段B端关联的计轴
TurnoutPos []*TurnoutPosRef `protobuf:"bytes,6,rep,name=turnoutPos,proto3" json:"turnoutPos,omitempty"` //关联道岔的正反位--0是定位1是反位
}
func (x *AxleCountingSection) Reset() {
*x = AxleCountingSection{}
if protoimpl.UnsafeEnabled {
2023-12-05 13:59:27 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[27]
2023-07-28 15:57:37 +08:00
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AxleCountingSection) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AxleCountingSection) ProtoMessage() {}
func (x *AxleCountingSection) ProtoReflect() protoreflect.Message {
2023-12-05 13:59:27 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[27]
2023-07-28 15:57:37 +08:00
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 AxleCountingSection.ProtoReflect.Descriptor instead.
func (*AxleCountingSection) Descriptor() ([]byte, []int) {
2023-12-05 13:59:27 +08:00
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{27}
2023-07-28 15:57:37 +08:00
}
func (x *AxleCountingSection) GetCommon() *CommonInfo {
if x != nil {
return x.Common
}
return nil
}
func (x *AxleCountingSection) GetCode() string {
if x != nil {
return x.Code
}
return ""
}
func (x *AxleCountingSection) GetPoints() []*Point {
if x != nil {
return x.Points
}
return nil
}
func (x *AxleCountingSection) GetPaRef() *RelatedRef {
if x != nil {
return x.PaRef
}
return nil
}
func (x *AxleCountingSection) GetPbRef() *RelatedRef {
if x != nil {
return x.PbRef
}
return nil
}
func (x *AxleCountingSection) GetTurnoutPos() []*TurnoutPosRef {
if x != nil {
return x.TurnoutPos
}
return nil
}
type LogicSection struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
2023-12-14 13:04:48 +08:00
Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"`
Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"` // 名称
Points []*Point `protobuf:"bytes,3,rep,name=points,proto3" json:"points,omitempty"`
OldaxleSectionId string `protobuf:"bytes,4,opt,name=oldaxleSectionId,proto3" json:"oldaxleSectionId,omitempty"` // 关联的计轴区段Id
2023-11-22 17:05:38 +08:00
// int32 index = 5; // 索引编号
2023-12-14 13:04:48 +08:00
OldturnoutId string `protobuf:"bytes,6,opt,name=oldturnoutId,proto3" json:"oldturnoutId,omitempty"` // 关联的岔芯对应的道岔id此时该逻辑区段为该道岔C端关联的轨道link
AxleSectionId uint32 `protobuf:"varint,7,opt,name=axleSectionId,proto3" json:"axleSectionId,omitempty"` // 关联的计轴区段Id
TurnoutId uint32 `protobuf:"varint,8,opt,name=turnoutId,proto3" json:"turnoutId,omitempty"` // 关联的岔芯对应的道岔id此时该逻辑区段为该道岔C端关联的轨道link
2023-07-28 15:57:37 +08:00
}
func (x *LogicSection) Reset() {
*x = LogicSection{}
if protoimpl.UnsafeEnabled {
2023-12-05 13:59:27 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[28]
2023-07-28 15:57:37 +08:00
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *LogicSection) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LogicSection) ProtoMessage() {}
func (x *LogicSection) ProtoReflect() protoreflect.Message {
2023-12-05 13:59:27 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[28]
2023-07-28 15:57:37 +08:00
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 LogicSection.ProtoReflect.Descriptor instead.
func (*LogicSection) Descriptor() ([]byte, []int) {
2023-12-05 13:59:27 +08:00
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{28}
2023-07-28 15:57:37 +08:00
}
func (x *LogicSection) GetCommon() *CommonInfo {
if x != nil {
return x.Common
}
return nil
}
func (x *LogicSection) GetCode() string {
if x != nil {
return x.Code
}
return ""
}
func (x *LogicSection) GetPoints() []*Point {
if x != nil {
return x.Points
}
return nil
}
2023-12-14 13:04:48 +08:00
func (x *LogicSection) GetOldaxleSectionId() string {
2023-07-28 15:57:37 +08:00
if x != nil {
2023-12-14 13:04:48 +08:00
return x.OldaxleSectionId
2023-07-28 15:57:37 +08:00
}
return ""
}
2023-12-14 13:04:48 +08:00
func (x *LogicSection) GetOldturnoutId() string {
2023-07-28 15:57:37 +08:00
if x != nil {
2023-12-14 13:04:48 +08:00
return x.OldturnoutId
2023-07-28 15:57:37 +08:00
}
return ""
}
2023-12-14 13:04:48 +08:00
func (x *LogicSection) GetAxleSectionId() uint32 {
if x != nil {
2023-12-14 13:04:48 +08:00
return x.AxleSectionId
}
return 0
}
2023-12-14 13:04:48 +08:00
func (x *LogicSection) GetTurnoutId() uint32 {
if x != nil {
2023-12-14 13:04:48 +08:00
return x.TurnoutId
}
return 0
}
2023-08-23 15:33:07 +08:00
type TrackSection struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
2023-11-22 17:05:38 +08:00
Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"`
Points []*Point `protobuf:"bytes,2,rep,name=points,proto3" json:"points,omitempty"`
Code string `protobuf:"bytes,3,opt,name=code,proto3" json:"code,omitempty"` //名称
// int32 index = 4; //索引
2023-12-14 13:04:48 +08:00
Type TrackSection_TrackSectionType `protobuf:"varint,5,opt,name=type,proto3,enum=graphicData.TrackSection_TrackSectionType" json:"type,omitempty"` //类型
DestinationCode string `protobuf:"bytes,6,opt,name=destinationCode,proto3" json:"destinationCode,omitempty"` //目的地码
OldtrackLogicSection []string `protobuf:"bytes,7,rep,name=oldtrackLogicSection,proto3" json:"oldtrackLogicSection,omitempty"` //下属的逻辑区段id(非岔区)
// //关联的物理设备id(物理区段/道岔)由另一端(物理区段/道岔处理)
2023-12-14 13:04:48 +08:00
IsCurve bool `protobuf:"varint,8,opt,name=isCurve,proto3" json:"isCurve,omitempty"` // 是否曲线
SegmentsCount int32 `protobuf:"varint,9,opt,name=segmentsCount,proto3" json:"segmentsCount,omitempty"` // 曲线分段数
TrackLogicSection []uint32 `protobuf:"varint,10,rep,packed,name=trackLogicSection,proto3" json:"trackLogicSection,omitempty"` //下属的逻辑区段id(非岔区)
2023-08-23 15:33:07 +08:00
}
func (x *TrackSection) Reset() {
*x = TrackSection{}
if protoimpl.UnsafeEnabled {
2023-12-05 13:59:27 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[29]
2023-08-23 15:33:07 +08:00
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TrackSection) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TrackSection) ProtoMessage() {}
func (x *TrackSection) ProtoReflect() protoreflect.Message {
2023-12-05 13:59:27 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[29]
2023-08-23 15:33:07 +08:00
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 TrackSection.ProtoReflect.Descriptor instead.
func (*TrackSection) Descriptor() ([]byte, []int) {
2023-12-05 13:59:27 +08:00
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{29}
2023-08-23 15:33:07 +08:00
}
func (x *TrackSection) GetCommon() *CommonInfo {
if x != nil {
return x.Common
}
return nil
}
func (x *TrackSection) GetPoints() []*Point {
if x != nil {
return x.Points
}
return nil
}
func (x *TrackSection) GetCode() string {
if x != nil {
return x.Code
}
return ""
}
func (x *TrackSection) GetType() TrackSection_TrackSectionType {
if x != nil {
return x.Type
}
return TrackSection_NORMAL
}
func (x *TrackSection) GetDestinationCode() string {
if x != nil {
return x.DestinationCode
}
return ""
}
2023-12-14 13:04:48 +08:00
func (x *TrackSection) GetOldtrackLogicSection() []string {
2023-08-23 15:33:07 +08:00
if x != nil {
2023-12-14 13:04:48 +08:00
return x.OldtrackLogicSection
2023-08-23 15:33:07 +08:00
}
return nil
}
func (x *TrackSection) GetIsCurve() bool {
if x != nil {
return x.IsCurve
}
return false
}
func (x *TrackSection) GetSegmentsCount() int32 {
if x != nil {
return x.SegmentsCount
}
return 0
}
2023-12-14 13:04:48 +08:00
func (x *TrackSection) GetTrackLogicSection() []uint32 {
if x != nil {
2023-12-14 13:04:48 +08:00
return x.TrackLogicSection
}
return nil
}
2023-08-23 15:33:07 +08:00
type TrackLogicSection struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"`
Points []*Point `protobuf:"bytes,2,rep,name=points,proto3" json:"points,omitempty"`
Code string `protobuf:"bytes,3,opt,name=code,proto3" json:"code,omitempty"` //名称
Length int32 `protobuf:"varint,4,opt,name=length,proto3" json:"length,omitempty"` //长度(mm)
}
func (x *TrackLogicSection) Reset() {
*x = TrackLogicSection{}
if protoimpl.UnsafeEnabled {
2023-12-05 13:59:27 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[30]
2023-08-23 15:33:07 +08:00
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TrackLogicSection) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TrackLogicSection) ProtoMessage() {}
func (x *TrackLogicSection) ProtoReflect() protoreflect.Message {
2023-12-05 13:59:27 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[30]
2023-08-23 15:33:07 +08:00
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 TrackLogicSection.ProtoReflect.Descriptor instead.
func (*TrackLogicSection) Descriptor() ([]byte, []int) {
2023-12-05 13:59:27 +08:00
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{30}
2023-08-23 15:33:07 +08:00
}
func (x *TrackLogicSection) GetCommon() *CommonInfo {
if x != nil {
return x.Common
}
return nil
}
func (x *TrackLogicSection) GetPoints() []*Point {
if x != nil {
return x.Points
}
return nil
}
func (x *TrackLogicSection) GetCode() string {
if x != nil {
return x.Code
}
return ""
}
func (x *TrackLogicSection) GetLength() int32 {
if x != nil {
return x.Length
}
return 0
}
2023-07-28 15:57:37 +08:00
type StopPosition struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
2023-11-22 17:05:38 +08:00
Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"`
Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"`
Flip bool `protobuf:"varint,3,opt,name=flip,proto3" json:"flip,omitempty"` // 是否翻转(前端显示)
CoachNum StopPosition_CoachNum `protobuf:"varint,4,opt,name=coachNum,proto3,enum=graphicData.StopPosition_CoachNum" json:"coachNum,omitempty"` //编组数量
// int32 index = 5; //索引
KilometerSystem *KilometerSystem `protobuf:"bytes,6,opt,name=kilometerSystem,proto3" json:"kilometerSystem,omitempty"`
RefDev *RelatedRef `protobuf:"bytes,7,opt,name=refDev,proto3" json:"refDev,omitempty"` // 关联设备(区段)
2023-07-28 15:57:37 +08:00
}
func (x *StopPosition) Reset() {
*x = StopPosition{}
if protoimpl.UnsafeEnabled {
2023-12-05 13:59:27 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[31]
2023-07-28 15:57:37 +08:00
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StopPosition) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StopPosition) ProtoMessage() {}
func (x *StopPosition) ProtoReflect() protoreflect.Message {
2023-12-05 13:59:27 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[31]
2023-07-28 15:57:37 +08:00
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 StopPosition.ProtoReflect.Descriptor instead.
func (*StopPosition) Descriptor() ([]byte, []int) {
2023-12-05 13:59:27 +08:00
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{31}
2023-07-28 15:57:37 +08:00
}
func (x *StopPosition) GetCommon() *CommonInfo {
if x != nil {
return x.Common
}
return nil
}
func (x *StopPosition) GetCode() string {
if x != nil {
return x.Code
}
return ""
}
func (x *StopPosition) GetFlip() bool {
if x != nil {
return x.Flip
}
return false
}
func (x *StopPosition) GetCoachNum() StopPosition_CoachNum {
if x != nil {
return x.CoachNum
}
return StopPosition_Four
}
2023-08-02 15:50:46 +08:00
func (x *StopPosition) GetKilometerSystem() *KilometerSystem {
if x != nil {
return x.KilometerSystem
}
return nil
}
2023-08-07 15:05:37 +08:00
func (x *StopPosition) GetRefDev() *RelatedRef {
if x != nil {
return x.RefDev
}
return nil
}
2023-07-28 15:57:37 +08:00
type SpksSwitch struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
2023-10-13 15:57:09 +08:00
Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"`
Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"`
2023-11-22 17:05:38 +08:00
Flip bool `protobuf:"varint,3,opt,name=flip,proto3" json:"flip,omitempty"` // 是否翻转(前端显示)
// int32 index = 4; //索引
2023-10-13 15:57:09 +08:00
// int32 refStand = 5; //关联站台索引
2023-12-14 13:04:48 +08:00
OldrefSections []string `protobuf:"bytes,6,rep,name=oldrefSections,proto3" json:"oldrefSections,omitempty"` // 关联物理区段id
OldrefStand string `protobuf:"bytes,7,opt,name=oldrefStand,proto3" json:"oldrefStand,omitempty"` // 关联站台
RefSections []uint32 `protobuf:"varint,8,rep,packed,name=refSections,proto3" json:"refSections,omitempty"` // 关联物理区段id
RefStand uint32 `protobuf:"varint,9,opt,name=refStand,proto3" json:"refStand,omitempty"` // 关联站台
2023-07-28 15:57:37 +08:00
}
func (x *SpksSwitch) Reset() {
*x = SpksSwitch{}
if protoimpl.UnsafeEnabled {
2023-12-05 13:59:27 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[32]
2023-07-28 15:57:37 +08:00
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SpksSwitch) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SpksSwitch) ProtoMessage() {}
func (x *SpksSwitch) ProtoReflect() protoreflect.Message {
2023-12-05 13:59:27 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[32]
2023-07-28 15:57:37 +08:00
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 SpksSwitch.ProtoReflect.Descriptor instead.
func (*SpksSwitch) Descriptor() ([]byte, []int) {
2023-12-05 13:59:27 +08:00
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{32}
2023-07-28 15:57:37 +08:00
}
func (x *SpksSwitch) GetCommon() *CommonInfo {
if x != nil {
return x.Common
}
return nil
}
func (x *SpksSwitch) GetCode() string {
if x != nil {
return x.Code
}
return ""
}
func (x *SpksSwitch) GetFlip() bool {
if x != nil {
return x.Flip
}
return false
}
2023-12-14 13:04:48 +08:00
func (x *SpksSwitch) GetOldrefSections() []string {
2023-08-02 15:50:46 +08:00
if x != nil {
2023-12-14 13:04:48 +08:00
return x.OldrefSections
2023-08-02 15:50:46 +08:00
}
2023-10-13 15:57:09 +08:00
return nil
2023-08-02 15:50:46 +08:00
}
2023-12-14 13:04:48 +08:00
func (x *SpksSwitch) GetOldrefStand() string {
2023-08-02 15:50:46 +08:00
if x != nil {
2023-12-14 13:04:48 +08:00
return x.OldrefStand
2023-08-02 15:50:46 +08:00
}
2023-10-13 15:57:09 +08:00
return ""
2023-08-02 15:50:46 +08:00
}
2023-12-14 13:04:48 +08:00
func (x *SpksSwitch) GetRefSections() []uint32 {
if x != nil {
2023-12-14 13:04:48 +08:00
return x.RefSections
}
return nil
}
2023-12-14 13:04:48 +08:00
func (x *SpksSwitch) GetRefStand() uint32 {
if x != nil {
2023-12-14 13:04:48 +08:00
return x.RefStand
}
return 0
}
2023-07-28 15:57:37 +08:00
type EsbButton struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
2023-10-13 15:57:09 +08:00
Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"`
Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"`
2023-11-22 17:05:38 +08:00
Flip bool `protobuf:"varint,3,opt,name=flip,proto3" json:"flip,omitempty"` // 是否翻转(前端显示)
// int32 index = 4; //索引
2023-10-13 15:57:09 +08:00
// int32 refStand = 5; // 关联站台索引
2023-12-14 13:04:48 +08:00
OldrefStand string `protobuf:"bytes,6,opt,name=oldrefStand,proto3" json:"oldrefStand,omitempty"` // 关联站台
RefStand uint32 `protobuf:"varint,7,opt,name=refStand,proto3" json:"refStand,omitempty"` // 关联站台
2023-07-28 15:57:37 +08:00
}
func (x *EsbButton) Reset() {
*x = EsbButton{}
if protoimpl.UnsafeEnabled {
2023-12-05 13:59:27 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[33]
2023-07-28 15:57:37 +08:00
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *EsbButton) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*EsbButton) ProtoMessage() {}
func (x *EsbButton) ProtoReflect() protoreflect.Message {
2023-12-05 13:59:27 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[33]
2023-07-28 15:57:37 +08:00
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 EsbButton.ProtoReflect.Descriptor instead.
func (*EsbButton) Descriptor() ([]byte, []int) {
2023-12-05 13:59:27 +08:00
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{33}
2023-07-28 15:57:37 +08:00
}
func (x *EsbButton) GetCommon() *CommonInfo {
if x != nil {
return x.Common
}
return nil
}
func (x *EsbButton) GetCode() string {
if x != nil {
return x.Code
}
return ""
}
func (x *EsbButton) GetFlip() bool {
if x != nil {
return x.Flip
}
return false
}
2023-12-14 13:04:48 +08:00
func (x *EsbButton) GetOldrefStand() string {
2023-08-02 15:50:46 +08:00
if x != nil {
2023-12-14 13:04:48 +08:00
return x.OldrefStand
2023-08-02 15:50:46 +08:00
}
2023-10-13 15:57:09 +08:00
return ""
2023-08-02 15:50:46 +08:00
}
2023-12-14 13:04:48 +08:00
func (x *EsbButton) GetRefStand() uint32 {
if x != nil {
2023-12-14 13:04:48 +08:00
return x.RefStand
}
return 0
}
2023-07-28 15:57:37 +08:00
type GatedBox struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
2023-11-22 17:05:38 +08:00
Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"`
Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"`
Flip bool `protobuf:"varint,3,opt,name=flip,proto3" json:"flip,omitempty"` // 是否翻转(前端显示)
// int32 index = 4; //索引
2023-12-14 13:04:48 +08:00
OldrefScreenDoor string `protobuf:"bytes,5,opt,name=oldrefScreenDoor,proto3" json:"oldrefScreenDoor,omitempty"` // 关联屏蔽门
2023-11-22 17:05:38 +08:00
RefGatedBoxMapCode string `protobuf:"bytes,6,opt,name=refGatedBoxMapCode,proto3" json:"refGatedBoxMapCode,omitempty"` // 关联门控箱地图Code
2023-12-14 13:04:48 +08:00
RefScreenDoor uint32 `protobuf:"varint,7,opt,name=refScreenDoor,proto3" json:"refScreenDoor,omitempty"` // 关联屏蔽门
2023-07-28 15:57:37 +08:00
}
func (x *GatedBox) Reset() {
*x = GatedBox{}
if protoimpl.UnsafeEnabled {
2023-12-05 13:59:27 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[34]
2023-07-28 15:57:37 +08:00
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GatedBox) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GatedBox) ProtoMessage() {}
func (x *GatedBox) ProtoReflect() protoreflect.Message {
2023-12-05 13:59:27 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[34]
2023-07-28 15:57:37 +08:00
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 GatedBox.ProtoReflect.Descriptor instead.
func (*GatedBox) Descriptor() ([]byte, []int) {
2023-12-05 13:59:27 +08:00
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{34}
2023-07-28 15:57:37 +08:00
}
func (x *GatedBox) GetCommon() *CommonInfo {
if x != nil {
return x.Common
}
return nil
}
func (x *GatedBox) GetCode() string {
if x != nil {
return x.Code
}
return ""
}
func (x *GatedBox) GetFlip() bool {
if x != nil {
return x.Flip
}
return false
}
2023-12-14 13:04:48 +08:00
func (x *GatedBox) GetOldrefScreenDoor() string {
2023-10-13 15:57:09 +08:00
if x != nil {
2023-12-14 13:04:48 +08:00
return x.OldrefScreenDoor
2023-10-13 15:57:09 +08:00
}
return ""
}
func (x *GatedBox) GetRefGatedBoxMapCode() string {
if x != nil {
return x.RefGatedBoxMapCode
}
return ""
}
2023-12-14 13:04:48 +08:00
func (x *GatedBox) GetRefScreenDoor() uint32 {
if x != nil {
2023-12-14 13:04:48 +08:00
return x.RefScreenDoor
}
return 0
}
// * 坡度公里标
type SlopeKiloMarker struct {
2023-08-07 15:05:37 +08:00
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"`
Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"`
KilometerSystem []*KilometerSystem `protobuf:"bytes,4,rep,name=kilometerSystem,proto3" json:"kilometerSystem,omitempty"` //公里标数据
2023-08-07 15:05:37 +08:00
}
func (x *SlopeKiloMarker) Reset() {
*x = SlopeKiloMarker{}
2023-08-07 15:05:37 +08:00
if protoimpl.UnsafeEnabled {
2023-12-05 13:59:27 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[35]
2023-08-07 15:05:37 +08:00
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SlopeKiloMarker) String() string {
2023-08-07 15:05:37 +08:00
return protoimpl.X.MessageStringOf(x)
}
func (*SlopeKiloMarker) ProtoMessage() {}
2023-08-07 15:05:37 +08:00
func (x *SlopeKiloMarker) ProtoReflect() protoreflect.Message {
2023-12-05 13:59:27 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[35]
2023-08-07 15:05:37 +08:00
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 SlopeKiloMarker.ProtoReflect.Descriptor instead.
func (*SlopeKiloMarker) Descriptor() ([]byte, []int) {
2023-12-05 13:59:27 +08:00
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{35}
2023-08-07 15:05:37 +08:00
}
func (x *SlopeKiloMarker) GetCommon() *CommonInfo {
2023-08-07 15:05:37 +08:00
if x != nil {
return x.Common
}
return nil
}
func (x *SlopeKiloMarker) GetCode() string {
2023-08-07 15:05:37 +08:00
if x != nil {
return x.Code
}
return ""
}
func (x *SlopeKiloMarker) GetKilometerSystem() []*KilometerSystem {
2023-08-07 15:05:37 +08:00
if x != nil {
return x.KilometerSystem
2023-08-07 15:05:37 +08:00
}
return nil
}
// * 曲度公里标
type CurvatureKiloMarker struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"`
Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"`
KilometerSystem []*KilometerSystem `protobuf:"bytes,4,rep,name=kilometerSystem,proto3" json:"kilometerSystem,omitempty"` //公里标数据
}
func (x *CurvatureKiloMarker) Reset() {
*x = CurvatureKiloMarker{}
if protoimpl.UnsafeEnabled {
2023-12-05 13:59:27 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[36]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CurvatureKiloMarker) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CurvatureKiloMarker) ProtoMessage() {}
func (x *CurvatureKiloMarker) ProtoReflect() protoreflect.Message {
2023-12-05 13:59:27 +08:00
mi := &file_stationLayoutGraphics_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 CurvatureKiloMarker.ProtoReflect.Descriptor instead.
func (*CurvatureKiloMarker) Descriptor() ([]byte, []int) {
2023-12-05 13:59:27 +08:00
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{36}
}
func (x *CurvatureKiloMarker) GetCommon() *CommonInfo {
2023-08-07 15:05:37 +08:00
if x != nil {
return x.Common
2023-08-07 15:05:37 +08:00
}
return nil
2023-08-07 15:05:37 +08:00
}
func (x *CurvatureKiloMarker) GetCode() string {
2023-08-07 15:05:37 +08:00
if x != nil {
return x.Code
2023-08-07 15:05:37 +08:00
}
return ""
}
func (x *CurvatureKiloMarker) GetKilometerSystem() []*KilometerSystem {
if x != nil {
return x.KilometerSystem
}
return nil
}
// * 信标
type Beacon struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"`
Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"`
Type Beacon_BeaconType `protobuf:"varint,3,opt,name=type,proto3,enum=graphicData.Beacon_BeaconType" json:"type,omitempty"`
Flip bool `protobuf:"varint,4,opt,name=flip,proto3" json:"flip,omitempty"`
}
func (x *Beacon) Reset() {
*x = Beacon{}
if protoimpl.UnsafeEnabled {
2023-12-05 13:59:27 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[37]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Beacon) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Beacon) ProtoMessage() {}
func (x *Beacon) ProtoReflect() protoreflect.Message {
2023-12-05 13:59:27 +08:00
mi := &file_stationLayoutGraphics_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 Beacon.ProtoReflect.Descriptor instead.
func (*Beacon) Descriptor() ([]byte, []int) {
2023-12-05 13:59:27 +08:00
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{37}
}
func (x *Beacon) GetCommon() *CommonInfo {
2023-08-07 15:05:37 +08:00
if x != nil {
return x.Common
}
return nil
}
func (x *Beacon) GetCode() string {
if x != nil {
return x.Code
}
return ""
}
func (x *Beacon) GetType() Beacon_BeaconType {
if x != nil {
return x.Type
2023-08-07 15:05:37 +08:00
}
return Beacon_Static
2023-08-07 15:05:37 +08:00
}
func (x *Beacon) GetFlip() bool {
2023-08-07 15:05:37 +08:00
if x != nil {
return x.Flip
2023-08-07 15:05:37 +08:00
}
return false
2023-08-07 15:05:37 +08:00
}
type Slope struct {
2023-08-08 18:09:13 +08:00
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"`
Points []*Point `protobuf:"bytes,2,rep,name=points,proto3" json:"points,omitempty"`
2023-12-14 13:04:48 +08:00
SlopeNumber int32 `protobuf:"zigzag32,3,opt,name=slopeNumber,proto3" json:"slopeNumber,omitempty"` //坡度的值--正负代表上下坡
OldrefDeviceId []string `protobuf:"bytes,4,rep,name=oldrefDeviceId,proto3" json:"oldrefDeviceId,omitempty"` // 坡度关联的(坡度公里标)
RefDeviceId []uint32 `protobuf:"varint,5,rep,packed,name=refDeviceId,proto3" json:"refDeviceId,omitempty"` // 坡度关联的(坡度公里标)
2023-08-08 18:09:13 +08:00
}
func (x *Slope) Reset() {
*x = Slope{}
2023-08-08 18:09:13 +08:00
if protoimpl.UnsafeEnabled {
2023-12-05 13:59:27 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[38]
2023-08-08 18:09:13 +08:00
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Slope) String() string {
2023-08-08 18:09:13 +08:00
return protoimpl.X.MessageStringOf(x)
}
func (*Slope) ProtoMessage() {}
2023-08-08 18:09:13 +08:00
func (x *Slope) ProtoReflect() protoreflect.Message {
2023-12-05 13:59:27 +08:00
mi := &file_stationLayoutGraphics_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 Slope.ProtoReflect.Descriptor instead.
func (*Slope) Descriptor() ([]byte, []int) {
2023-12-05 13:59:27 +08:00
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{38}
}
func (x *Slope) GetCommon() *CommonInfo {
if x != nil {
return x.Common
}
return nil
}
func (x *Slope) GetPoints() []*Point {
if x != nil {
return x.Points
}
return nil
}
func (x *Slope) GetSlopeNumber() int32 {
if x != nil {
return x.SlopeNumber
}
return 0
}
2023-12-14 13:04:48 +08:00
func (x *Slope) GetOldrefDeviceId() []string {
if x != nil {
2023-12-14 13:04:48 +08:00
return x.OldrefDeviceId
}
return nil
}
2023-12-14 13:04:48 +08:00
func (x *Slope) GetRefDeviceId() []uint32 {
if x != nil {
2023-12-14 13:04:48 +08:00
return x.RefDeviceId
}
return nil
}
type Curvature struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"`
Points []*Point `protobuf:"bytes,2,rep,name=points,proto3" json:"points,omitempty"`
2023-12-14 13:04:48 +08:00
CurvatureNumber int32 `protobuf:"zigzag32,3,opt,name=curvatureNumber,proto3" json:"curvatureNumber,omitempty"` //曲线的半径--正代表外侧;负代表内侧
OldrefDeviceId []string `protobuf:"bytes,4,rep,name=oldrefDeviceId,proto3" json:"oldrefDeviceId,omitempty"` // 曲线关联的(曲度公里标)
RefDeviceId []uint32 `protobuf:"varint,5,rep,packed,name=refDeviceId,proto3" json:"refDeviceId,omitempty"` // 曲线关联的(曲度公里标)
}
func (x *Curvature) Reset() {
*x = Curvature{}
if protoimpl.UnsafeEnabled {
2023-12-05 13:59:27 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[39]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Curvature) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Curvature) ProtoMessage() {}
func (x *Curvature) ProtoReflect() protoreflect.Message {
2023-12-05 13:59:27 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[39]
if protoimpl.UnsafeEnabled && x != nil {
2023-08-08 18:09:13 +08:00
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Curvature.ProtoReflect.Descriptor instead.
func (*Curvature) Descriptor() ([]byte, []int) {
2023-12-05 13:59:27 +08:00
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{39}
2023-08-08 18:09:13 +08:00
}
func (x *Curvature) GetCommon() *CommonInfo {
if x != nil {
return x.Common
}
return nil
}
func (x *Curvature) GetPoints() []*Point {
if x != nil {
return x.Points
}
return nil
}
func (x *Curvature) GetCurvatureNumber() int32 {
if x != nil {
return x.CurvatureNumber
}
return 0
}
2023-12-14 13:04:48 +08:00
func (x *Curvature) GetOldrefDeviceId() []string {
2023-08-08 18:09:13 +08:00
if x != nil {
2023-12-14 13:04:48 +08:00
return x.OldrefDeviceId
2023-08-08 18:09:13 +08:00
}
return nil
}
2023-12-14 13:04:48 +08:00
func (x *Curvature) GetRefDeviceId() []uint32 {
if x != nil {
2023-12-14 13:04:48 +08:00
return x.RefDeviceId
2023-08-07 15:05:37 +08:00
}
return nil
}
// * 发车计时器
type DepartureTimer struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
2023-11-23 10:55:38 +08:00
Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"`
Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"`
2023-12-14 13:04:48 +08:00
OldrefStand string `protobuf:"bytes,3,opt,name=oldrefStand,proto3" json:"oldrefStand,omitempty"` // 关联站台
2023-11-23 10:55:38 +08:00
RunDirection string `protobuf:"bytes,4,opt,name=runDirection,proto3" json:"runDirection,omitempty"` //运行方向
2023-12-14 13:04:48 +08:00
RefStand uint32 `protobuf:"varint,5,opt,name=refStand,proto3" json:"refStand,omitempty"` // 关联站台
}
func (x *DepartureTimer) Reset() {
*x = DepartureTimer{}
if protoimpl.UnsafeEnabled {
2023-12-14 13:04:48 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[40]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DepartureTimer) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DepartureTimer) ProtoMessage() {}
func (x *DepartureTimer) ProtoReflect() protoreflect.Message {
2023-12-14 13:04:48 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[40]
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 DepartureTimer.ProtoReflect.Descriptor instead.
func (*DepartureTimer) Descriptor() ([]byte, []int) {
2023-12-14 13:04:48 +08:00
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{40}
}
func (x *DepartureTimer) GetCommon() *CommonInfo {
if x != nil {
return x.Common
}
return nil
}
func (x *DepartureTimer) GetCode() string {
if x != nil {
return x.Code
}
return ""
}
2023-12-14 13:04:48 +08:00
func (x *DepartureTimer) GetOldrefStand() string {
2023-11-23 10:55:38 +08:00
if x != nil {
2023-12-14 13:04:48 +08:00
return x.OldrefStand
2023-11-23 10:55:38 +08:00
}
return ""
}
func (x *DepartureTimer) GetRunDirection() string {
if x != nil {
return x.RunDirection
}
return ""
}
2023-12-14 13:04:48 +08:00
func (x *DepartureTimer) GetRefStand() uint32 {
if x != nil {
2023-12-14 13:04:48 +08:00
return x.RefStand
}
return 0
}
type AutoReturnBox struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Common *CommonInfo `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"`
Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"`
2023-12-14 13:04:48 +08:00
Flip bool `protobuf:"varint,3,opt,name=flip,proto3" json:"flip,omitempty"` // 是否翻转(前端显示)
Index int32 `protobuf:"varint,4,opt,name=index,proto3" json:"index,omitempty"` //索引
OldrefStand string `protobuf:"bytes,5,opt,name=oldrefStand,proto3" json:"oldrefStand,omitempty"` // 关联站台
RefStand uint32 `protobuf:"varint,6,opt,name=refStand,proto3" json:"refStand,omitempty"` // 关联站台
}
func (x *AutoReturnBox) Reset() {
*x = AutoReturnBox{}
if protoimpl.UnsafeEnabled {
2023-12-14 13:04:48 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[41]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AutoReturnBox) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AutoReturnBox) ProtoMessage() {}
func (x *AutoReturnBox) ProtoReflect() protoreflect.Message {
2023-12-14 13:04:48 +08:00
mi := &file_stationLayoutGraphics_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 AutoReturnBox.ProtoReflect.Descriptor instead.
func (*AutoReturnBox) Descriptor() ([]byte, []int) {
2023-12-14 13:04:48 +08:00
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{41}
}
func (x *AutoReturnBox) GetCommon() *CommonInfo {
if x != nil {
return x.Common
}
return nil
}
func (x *AutoReturnBox) GetCode() string {
if x != nil {
return x.Code
}
return ""
}
func (x *AutoReturnBox) GetFlip() bool {
if x != nil {
return x.Flip
}
return false
}
func (x *AutoReturnBox) GetIndex() int32 {
if x != nil {
return x.Index
}
return 0
}
2023-12-14 13:04:48 +08:00
func (x *AutoReturnBox) GetOldrefStand() string {
if x != nil {
2023-12-14 13:04:48 +08:00
return x.OldrefStand
}
return ""
}
2023-12-14 13:04:48 +08:00
func (x *AutoReturnBox) GetRefStand() uint32 {
if x != nil {
2023-12-14 13:04:48 +08:00
return x.RefStand
}
return 0
}
2023-09-21 14:54:27 +08:00
type UniqueIdOfStationLayout struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
City string `protobuf:"bytes,1,opt,name=city,proto3" json:"city,omitempty"` //城市
LineId string `protobuf:"bytes,2,opt,name=lineId,proto3" json:"lineId,omitempty"` //线路号
MainCoordinateSystem string `protobuf:"bytes,3,opt,name=mainCoordinateSystem,proto3" json:"mainCoordinateSystem,omitempty"` //地图的公里标主坐标系
2023-09-21 14:54:27 +08:00
}
func (x *UniqueIdOfStationLayout) Reset() {
*x = UniqueIdOfStationLayout{}
if protoimpl.UnsafeEnabled {
2023-12-14 13:04:48 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[42]
2023-09-21 14:54:27 +08:00
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UniqueIdOfStationLayout) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UniqueIdOfStationLayout) ProtoMessage() {}
func (x *UniqueIdOfStationLayout) ProtoReflect() protoreflect.Message {
2023-12-14 13:04:48 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[42]
2023-09-21 14:54:27 +08:00
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 UniqueIdOfStationLayout.ProtoReflect.Descriptor instead.
func (*UniqueIdOfStationLayout) Descriptor() ([]byte, []int) {
2023-12-14 13:04:48 +08:00
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{42}
2023-09-21 14:54:27 +08:00
}
func (x *UniqueIdOfStationLayout) GetCity() string {
if x != nil {
return x.City
}
return ""
}
func (x *UniqueIdOfStationLayout) GetLineId() string {
if x != nil {
return x.LineId
}
return ""
}
func (x *UniqueIdOfStationLayout) GetMainCoordinateSystem() string {
if x != nil {
return x.MainCoordinateSystem
}
return ""
}
2023-09-26 09:34:23 +08:00
// 公里标转换
type KilometerConvert struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
KmA *KilometerSystem `protobuf:"bytes,1,opt,name=kmA,proto3" json:"kmA,omitempty"`
KmB *KilometerSystem `protobuf:"bytes,2,opt,name=kmB,proto3" json:"kmB,omitempty"`
SameTrend bool `protobuf:"varint,3,opt,name=sameTrend,proto3" json:"sameTrend,omitempty"` //相同趋势(同增同减)?
}
func (x *KilometerConvert) Reset() {
*x = KilometerConvert{}
if protoimpl.UnsafeEnabled {
2023-12-14 13:04:48 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[43]
2023-09-26 09:34:23 +08:00
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *KilometerConvert) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*KilometerConvert) ProtoMessage() {}
func (x *KilometerConvert) ProtoReflect() protoreflect.Message {
2023-12-14 13:04:48 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[43]
2023-09-26 09:34:23 +08:00
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 KilometerConvert.ProtoReflect.Descriptor instead.
func (*KilometerConvert) Descriptor() ([]byte, []int) {
2023-12-14 13:04:48 +08:00
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{43}
2023-09-26 09:34:23 +08:00
}
func (x *KilometerConvert) GetKmA() *KilometerSystem {
if x != nil {
return x.KmA
}
return nil
}
func (x *KilometerConvert) GetKmB() *KilometerSystem {
if x != nil {
return x.KmB
}
return nil
}
func (x *KilometerConvert) GetSameTrend() bool {
if x != nil {
return x.SameTrend
}
return false
}
2023-10-13 15:57:09 +08:00
// 车站关联的设备列表
type StationRelateDevice struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` //设备编号
Combinationtypes []*DeviceCombinationtype `protobuf:"bytes,2,rep,name=combinationtypes,proto3" json:"combinationtypes,omitempty"` //组合类型
DeviceType RelatedRef_DeviceType `protobuf:"varint,3,opt,name=deviceType,proto3,enum=graphicData.RelatedRef_DeviceType" json:"deviceType,omitempty"` //设备类型
}
func (x *StationRelateDevice) Reset() {
*x = StationRelateDevice{}
if protoimpl.UnsafeEnabled {
2023-12-14 13:04:48 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[44]
2023-10-13 15:57:09 +08:00
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StationRelateDevice) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StationRelateDevice) ProtoMessage() {}
func (x *StationRelateDevice) ProtoReflect() protoreflect.Message {
2023-12-14 13:04:48 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[44]
2023-10-13 15:57:09 +08:00
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 StationRelateDevice.ProtoReflect.Descriptor instead.
func (*StationRelateDevice) Descriptor() ([]byte, []int) {
2023-12-14 13:04:48 +08:00
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{44}
2023-10-13 15:57:09 +08:00
}
func (x *StationRelateDevice) GetCode() string {
if x != nil {
return x.Code
}
return ""
}
func (x *StationRelateDevice) GetCombinationtypes() []*DeviceCombinationtype {
if x != nil {
return x.Combinationtypes
}
return nil
}
func (x *StationRelateDevice) GetDeviceType() RelatedRef_DeviceType {
if x != nil {
return x.DeviceType
}
return RelatedRef_Section
}
type DeviceCombinationtype struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"`
2023-12-14 13:04:48 +08:00
OldrefDevices []string `protobuf:"bytes,2,rep,name=oldrefDevices,proto3" json:"oldrefDevices,omitempty"` //车站关联的设备
RefDevices []uint32 `protobuf:"varint,3,rep,packed,name=refDevices,proto3" json:"refDevices,omitempty"` //车站关联的设备
2023-10-13 15:57:09 +08:00
}
func (x *DeviceCombinationtype) Reset() {
*x = DeviceCombinationtype{}
if protoimpl.UnsafeEnabled {
2023-12-14 13:04:48 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[45]
2023-10-13 15:57:09 +08:00
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeviceCombinationtype) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeviceCombinationtype) ProtoMessage() {}
func (x *DeviceCombinationtype) ProtoReflect() protoreflect.Message {
2023-12-14 13:04:48 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[45]
2023-10-13 15:57:09 +08:00
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 DeviceCombinationtype.ProtoReflect.Descriptor instead.
func (*DeviceCombinationtype) Descriptor() ([]byte, []int) {
2023-12-14 13:04:48 +08:00
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{45}
2023-10-13 15:57:09 +08:00
}
func (x *DeviceCombinationtype) GetCode() string {
if x != nil {
return x.Code
}
return ""
}
2023-12-14 13:04:48 +08:00
func (x *DeviceCombinationtype) GetOldrefDevices() []string {
2023-10-13 15:57:09 +08:00
if x != nil {
2023-12-14 13:04:48 +08:00
return x.OldrefDevices
2023-10-13 15:57:09 +08:00
}
return nil
}
2023-12-14 13:04:48 +08:00
func (x *DeviceCombinationtype) GetRefDevices() []uint32 {
if x != nil {
2023-12-14 13:04:48 +08:00
return x.RefDevices
}
return nil
}
type SectionCodePoint struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
2023-12-14 13:04:48 +08:00
OldCentralizedStation string `protobuf:"bytes,1,opt,name=oldCentralizedStation,proto3" json:"oldCentralizedStation,omitempty"` // 集中站id
OldsectionIds []string `protobuf:"bytes,2,rep,name=oldsectionIds,proto3" json:"oldsectionIds,omitempty"` //物理区段id列表
SectionIds []uint32 `protobuf:"varint,3,rep,packed,name=sectionIds,proto3" json:"sectionIds,omitempty"` //物理区段id列表
CentralizedStation uint32 `protobuf:"varint,4,opt,name=centralizedStation,proto3" json:"centralizedStation,omitempty"` // 集中站id
}
func (x *SectionCodePoint) Reset() {
*x = SectionCodePoint{}
if protoimpl.UnsafeEnabled {
2023-12-14 13:04:48 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[46]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SectionCodePoint) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SectionCodePoint) ProtoMessage() {}
func (x *SectionCodePoint) ProtoReflect() protoreflect.Message {
2023-12-14 13:04:48 +08:00
mi := &file_stationLayoutGraphics_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 mi.MessageOf(x)
}
// Deprecated: Use SectionCodePoint.ProtoReflect.Descriptor instead.
func (*SectionCodePoint) Descriptor() ([]byte, []int) {
2023-12-14 13:04:48 +08:00
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{46}
}
2023-12-14 13:04:48 +08:00
func (x *SectionCodePoint) GetOldCentralizedStation() string {
if x != nil {
2023-12-14 13:04:48 +08:00
return x.OldCentralizedStation
}
return ""
}
2023-12-14 13:04:48 +08:00
func (x *SectionCodePoint) GetOldsectionIds() []string {
if x != nil {
2023-12-14 13:04:48 +08:00
return x.OldsectionIds
}
return nil
}
2023-12-14 13:04:48 +08:00
func (x *SectionCodePoint) GetSectionIds() []uint32 {
if x != nil {
2023-12-14 13:04:48 +08:00
return x.SectionIds
}
return nil
}
2023-12-14 13:04:48 +08:00
func (x *SectionCodePoint) GetCentralizedStation() uint32 {
if x != nil {
return x.CentralizedStation
}
return 0
}
// 列车信息
type Train struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
2024-01-17 17:02:17 +08:00
TrainModel Train_TrainModel `protobuf:"varint,1,opt,name=trainModel,proto3,enum=graphicData.Train_TrainModel" json:"trainModel,omitempty"` // 车型
CarriageLength int32 `protobuf:"varint,2,opt,name=carriageLength,proto3" json:"carriageLength,omitempty"` // 列车车厢长度
TotalLength int32 `protobuf:"varint,3,opt,name=totalLength,proto3" json:"totalLength,omitempty"` // 总长度
MinDiameter int32 `protobuf:"varint,4,opt,name=minDiameter,proto3" json:"minDiameter,omitempty"` // 车轮的最小直径
MaxDiameter int32 `protobuf:"varint,5,opt,name=maxDiameter,proto3" json:"maxDiameter,omitempty"` // 车轮的最大直径
TrainSets string `protobuf:"bytes,6,opt,name=trainSets,proto3" json:"trainSets,omitempty"` // 编组
DynamicConfig *common_proto.TrainDynamicConfig `protobuf:"bytes,7,opt,name=dynamicConfig,proto3" json:"dynamicConfig,omitempty"` //动力学参数
}
func (x *Train) Reset() {
*x = Train{}
if protoimpl.UnsafeEnabled {
2023-12-14 13:04:48 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[47]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Train) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Train) ProtoMessage() {}
func (x *Train) ProtoReflect() protoreflect.Message {
2023-12-14 13:04:48 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[47]
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 Train.ProtoReflect.Descriptor instead.
func (*Train) Descriptor() ([]byte, []int) {
2023-12-14 13:04:48 +08:00
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{47}
}
func (x *Train) GetTrainModel() Train_TrainModel {
if x != nil {
return x.TrainModel
}
return Train_A
}
func (x *Train) GetCarriageLength() int32 {
if x != nil {
return x.CarriageLength
}
return 0
}
func (x *Train) GetTotalLength() int32 {
if x != nil {
return x.TotalLength
}
return 0
}
func (x *Train) GetMinDiameter() int32 {
if x != nil {
return x.MinDiameter
}
return 0
}
func (x *Train) GetMaxDiameter() int32 {
if x != nil {
return x.MaxDiameter
}
return 0
}
func (x *Train) GetTrainSets() string {
if x != nil {
return x.TrainSets
}
return ""
}
2024-01-17 17:02:17 +08:00
func (x *Train) GetDynamicConfig() *common_proto.TrainDynamicConfig {
if x != nil {
return x.DynamicConfig
}
return nil
}
2023-12-05 13:59:27 +08:00
// 其他线
type OtherLine struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
2023-12-14 13:04:48 +08:00
Oldids []string `protobuf:"bytes,2,rep,name=oldids,proto3" json:"oldids,omitempty"` // 设备id列表
Ids []uint32 `protobuf:"varint,3,rep,packed,name=ids,proto3" json:"ids,omitempty"` // 设备id列表
2023-12-05 13:59:27 +08:00
}
func (x *OtherLine) Reset() {
*x = OtherLine{}
if protoimpl.UnsafeEnabled {
2023-12-14 13:04:48 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[48]
2023-12-05 13:59:27 +08:00
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *OtherLine) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*OtherLine) ProtoMessage() {}
func (x *OtherLine) ProtoReflect() protoreflect.Message {
2023-12-14 13:04:48 +08:00
mi := &file_stationLayoutGraphics_proto_msgTypes[48]
2023-12-05 13:59:27 +08:00
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 OtherLine.ProtoReflect.Descriptor instead.
func (*OtherLine) Descriptor() ([]byte, []int) {
2023-12-14 13:04:48 +08:00
return file_stationLayoutGraphics_proto_rawDescGZIP(), []int{48}
2023-12-05 13:59:27 +08:00
}
func (x *OtherLine) GetName() string {
if x != nil {
return x.Name
}
return ""
}
2023-12-14 13:04:48 +08:00
func (x *OtherLine) GetOldids() []string {
2023-12-05 13:59:27 +08:00
if x != nil {
2023-12-14 13:04:48 +08:00
return x.Oldids
2023-12-05 13:59:27 +08:00
}
return nil
}
2023-12-14 13:04:48 +08:00
func (x *OtherLine) GetIds() []uint32 {
if x != nil {
2023-12-14 13:04:48 +08:00
return x.Ids
}
return nil
}
2023-07-28 15:57:37 +08:00
var File_stationLayoutGraphics_proto protoreflect.FileDescriptor
var file_stationLayoutGraphics_proto_rawDesc = []byte{
0x0a, 0x1b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x47,
0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0b, 0x67,
2024-01-17 17:02:17 +08:00
0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x1a, 0x11, 0x63, 0x6f, 0x6d, 0x6d,
0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf6, 0x12,
0x0a, 0x12, 0x52, 0x74, 0x73, 0x73, 0x47, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x53, 0x74, 0x6f,
0x72, 0x61, 0x67, 0x65, 0x12, 0x2b, 0x0a, 0x06, 0x63, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61,
0x74, 0x61, 0x2e, 0x43, 0x61, 0x6e, 0x76, 0x61, 0x73, 0x52, 0x06, 0x63, 0x61, 0x6e, 0x76, 0x61,
0x73, 0x12, 0x33, 0x0a, 0x09, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x18, 0x04,
2023-12-05 13:59:27 +08:00
0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61,
2024-01-17 17:02:17 +08:00
0x74, 0x61, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x09, 0x50, 0x6c, 0x61,
0x74, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x12, 0x30, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68,
0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08,
0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x28, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x69,
0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69,
0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x52, 0x05, 0x74, 0x72, 0x61,
0x69, 0x6e, 0x12, 0x2d, 0x0a, 0x07, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x73, 0x18, 0x08, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74,
0x61, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x52, 0x07, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c,
0x73, 0x12, 0x30, 0x0a, 0x08, 0x74, 0x75, 0x72, 0x6e, 0x6f, 0x75, 0x74, 0x73, 0x18, 0x09, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74,
0x61, 0x2e, 0x54, 0x75, 0x72, 0x6e, 0x6f, 0x75, 0x74, 0x52, 0x08, 0x74, 0x75, 0x72, 0x6e, 0x6f,
0x75, 0x74, 0x73, 0x12, 0x2e, 0x0a, 0x07, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61,
0x74, 0x61, 0x2e, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x73, 0x65, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x08, 0x70, 0x6f, 0x6c, 0x79, 0x67, 0x6f, 0x6e, 0x73, 0x18,
0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44,
0x61, 0x74, 0x61, 0x2e, 0x50, 0x6f, 0x6c, 0x79, 0x67, 0x6f, 0x6e, 0x52, 0x08, 0x70, 0x6f, 0x6c,
0x79, 0x67, 0x6f, 0x6e, 0x73, 0x12, 0x3c, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x57, 0x69,
0x6e, 0x64, 0x6f, 0x77, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x72,
0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x57,
0x69, 0x6e, 0x64, 0x6f, 0x77, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x57, 0x69, 0x6e, 0x64,
0x6f, 0x77, 0x73, 0x12, 0x3f, 0x0a, 0x0d, 0x61, 0x78, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74,
0x69, 0x6e, 0x67, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x72, 0x61,
0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x41, 0x78, 0x6c, 0x65, 0x43, 0x6f, 0x75,
0x6e, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x0d, 0x61, 0x78, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74,
0x69, 0x6e, 0x67, 0x73, 0x12, 0x36, 0x0a, 0x0a, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x6f,
0x72, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68,
0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x6f, 0x72,
0x52, 0x0a, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x3c, 0x0a, 0x0c,
0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x0f, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61,
0x2e, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x0c, 0x73, 0x65,
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x54, 0x0a, 0x14, 0x61, 0x78,
0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f,
0x6e, 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68,
0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x41, 0x78, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74,
0x69, 0x6e, 0x67, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x14, 0x61, 0x78, 0x6c, 0x65,
0x43, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73,
0x12, 0x3f, 0x0a, 0x0d, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69,
0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x63, 0x53, 0x65, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x52, 0x0d, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x12, 0x3f, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x70, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f,
0x6e, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68,
0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x50, 0x6f, 0x73, 0x69, 0x74,
0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x73, 0x74, 0x6f, 0x70, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f,
0x6e, 0x73, 0x12, 0x39, 0x0a, 0x0b, 0x73, 0x70, 0x6b, 0x73, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68,
0x73, 0x18, 0x13, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69,
0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x70, 0x6b, 0x73, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68,
0x52, 0x0b, 0x73, 0x70, 0x6b, 0x73, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x73, 0x12, 0x36, 0x0a,
0x0a, 0x65, 0x73, 0x62, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x18, 0x14, 0x20, 0x03, 0x28,
2023-12-05 13:59:27 +08:00
0x0b, 0x32, 0x16, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e,
2024-01-17 17:02:17 +08:00
0x45, 0x73, 0x62, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x52, 0x0a, 0x65, 0x73, 0x62, 0x42, 0x75,
0x74, 0x74, 0x6f, 0x6e, 0x73, 0x12, 0x31, 0x0a, 0x08, 0x67, 0x61, 0x74, 0x65, 0x42, 0x6f, 0x78,
0x73, 0x18, 0x15, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69,
0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x61, 0x74, 0x65, 0x64, 0x42, 0x6f, 0x78, 0x52, 0x08,
0x67, 0x61, 0x74, 0x65, 0x42, 0x6f, 0x78, 0x73, 0x12, 0x3c, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e,
0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x18, 0x16, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18,
0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x72, 0x61,
0x6e, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70,
0x6f, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x12, 0x2a, 0x0a, 0x06, 0x73, 0x6c, 0x6f, 0x70, 0x65, 0x73,
0x18, 0x17, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63,
0x44, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x6c, 0x6f, 0x70, 0x65, 0x52, 0x06, 0x73, 0x6c, 0x6f, 0x70,
0x65, 0x73, 0x12, 0x46, 0x0a, 0x0f, 0x73, 0x6c, 0x6f, 0x70, 0x65, 0x4b, 0x69, 0x6c, 0x6f, 0x4d,
0x61, 0x72, 0x6b, 0x65, 0x72, 0x18, 0x19, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x72,
0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x6c, 0x6f, 0x70, 0x65, 0x4b,
0x69, 0x6c, 0x6f, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x0f, 0x73, 0x6c, 0x6f, 0x70, 0x65,
0x4b, 0x69, 0x6c, 0x6f, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x52, 0x0a, 0x13, 0x63, 0x75,
0x72, 0x76, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4b, 0x69, 0x6c, 0x6f, 0x4d, 0x61, 0x72, 0x6b, 0x65,
0x72, 0x18, 0x1a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69,
0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x75, 0x72, 0x76, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4b,
0x69, 0x6c, 0x6f, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x13, 0x63, 0x75, 0x72, 0x76, 0x61,
0x74, 0x75, 0x72, 0x65, 0x4b, 0x69, 0x6c, 0x6f, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x36,
0x0a, 0x0a, 0x63, 0x75, 0x72, 0x76, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x1b, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61,
0x2e, 0x43, 0x75, 0x72, 0x76, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0a, 0x63, 0x75, 0x72, 0x76,
0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x3f, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x53,
0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x1c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e,
0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x72, 0x61, 0x63,
0x6b, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x53,
0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4e, 0x0a, 0x12, 0x74, 0x72, 0x61, 0x63, 0x6b,
0x4c, 0x6f, 0x67, 0x69, 0x63, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x1d, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74,
0x61, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x4c, 0x6f, 0x67, 0x69, 0x63, 0x53, 0x65, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x52, 0x12, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x4c, 0x6f, 0x67, 0x69, 0x63, 0x53,
0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4c, 0x0a, 0x0e, 0x55, 0x6e, 0x69, 0x71, 0x75,
0x65, 0x49, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x24, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x55, 0x6e,
0x69, 0x71, 0x75, 0x65, 0x49, 0x64, 0x4f, 0x66, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c,
0x61, 0x79, 0x6f, 0x75, 0x74, 0x52, 0x0e, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x49, 0x64, 0x50,
0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x51, 0x0a, 0x14, 0x6b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74,
0x65, 0x72, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x20, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74,
0x61, 0x2e, 0x4b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x76, 0x65,
0x72, 0x74, 0x52, 0x14, 0x6b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e,
0x76, 0x65, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x0b, 0x73, 0x63, 0x72, 0x65,
0x65, 0x6e, 0x44, 0x6f, 0x6f, 0x72, 0x73, 0x18, 0x21, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e,
0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x63, 0x72, 0x65,
0x65, 0x6e, 0x44, 0x6f, 0x6f, 0x72, 0x52, 0x0b, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x44, 0x6f,
0x6f, 0x72, 0x73, 0x12, 0x5a, 0x0a, 0x17, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
0x6c, 0x61, 0x74, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x22,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61,
0x74, 0x61, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65,
0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x17, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
0x65, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12,
0x51, 0x0a, 0x14, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x50, 0x6f,
0x69, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x23, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e,
0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x65, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x14, 0x73, 0x65,
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x69,
0x73, 0x74, 0x12, 0x49, 0x0a, 0x10, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x44, 0x6f, 0x6f, 0x72,
0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67,
0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x63, 0x72, 0x65, 0x65,
0x6e, 0x44, 0x6f, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x10, 0x73, 0x63, 0x72,
0x65, 0x65, 0x6e, 0x44, 0x6f, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2d, 0x0a,
0x07, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x73, 0x18, 0x25, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13,
0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x42, 0x65, 0x61,
0x63, 0x6f, 0x6e, 0x52, 0x07, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x73, 0x12, 0x67, 0x0a, 0x1a,
0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x78, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e,
0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x26, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x27, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x47,
0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x78, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74,
0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x1a, 0x67, 0x65, 0x6e, 0x65, 0x72,
0x61, 0x74, 0x65, 0x41, 0x78, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x43,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x45, 0x0a, 0x0f, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x75,
0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x73, 0x18, 0x27, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b,
0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x44, 0x65, 0x70,
0x61, 0x72, 0x74, 0x75, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x52, 0x0f, 0x64, 0x65, 0x70,
0x61, 0x72, 0x74, 0x75, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x73, 0x12, 0x42, 0x0a, 0x0e,
0x61, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x78, 0x73, 0x18, 0x28,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61,
0x74, 0x61, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x78,
0x52, 0x0e, 0x61, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x78, 0x73,
0x12, 0x66, 0x0a, 0x1a, 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x44, 0x69, 0x76, 0x69, 0x64, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x29,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61,
0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x44, 0x69, 0x76, 0x69, 0x64, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x6e, 0x65, 0x52, 0x1a, 0x63, 0x6f,
0x6e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x76, 0x69, 0x64,
0x69, 0x6e, 0x67, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x3c, 0x0a, 0x0d, 0x6f, 0x74, 0x68, 0x65,
0x72, 0x4c, 0x69, 0x6e, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x2a, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x16, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4f, 0x74,
0x68, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x65, 0x52, 0x0d, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x4c, 0x69,
0x6e, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0xa6, 0x01, 0x0a, 0x06, 0x43, 0x61, 0x6e, 0x76, 0x61,
0x73, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68,
0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12,
0x28, 0x0a, 0x0f, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x6f, 0x6c,
0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72,
0x6f, 0x75, 0x6e, 0x64, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x44, 0x0a, 0x11, 0x76, 0x69, 0x65,
0x77, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x04,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61,
0x74, 0x61, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x11, 0x76, 0x69,
0x65, 0x77, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x22,
0x23, 0x0a, 0x05, 0x50, 0x6f, 0x69, 0x6e, 0x74, 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, 0x22, 0xa9, 0x01, 0x0a, 0x09, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f,
0x72, 0x6d, 0x12, 0x2e, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61,
0x74, 0x61, 0x2e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69,
0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e,
2024-01-17 17:02:17 +08:00
0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08,
0x72, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08,
0x72, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x04, 0x73, 0x6b, 0x65, 0x77,
0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63,
0x44, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x04, 0x73, 0x6b, 0x65, 0x77,
0x22, 0x5a, 0x0a, 0x0e, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f,
0x72, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66,
0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x72, 0x61, 0x70,
0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72,
0x6d, 0x52, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0xd1, 0x01, 0x0a,
0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x6f,
0x6c, 0x64, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x6c, 0x64, 0x69,
0x64, 0x12, 0x20, 0x0a, 0x0b, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x54, 0x79, 0x70, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x54,
0x79, 0x70, 0x65, 0x12, 0x34, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d,
0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63,
2023-12-14 13:04:48 +08:00
0x44, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x09,
2024-01-17 17:02:17 +08:00
0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x45, 0x0a, 0x0f, 0x63, 0x68, 0x69,
0x6c, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61,
0x2e, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x52,
0x0f, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x73,
0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64,
0x22, 0xec, 0x01, 0x0a, 0x07, 0x50, 0x6f, 0x6c, 0x79, 0x67, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x06,
0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67,
0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f,
0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x12, 0x0a,
0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64,
0x65, 0x12, 0x42, 0x0a, 0x0b, 0x70, 0x6f, 0x6c, 0x79, 0x67, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65,
0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63,
0x44, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x6f, 0x6c, 0x79, 0x67, 0x6f, 0x6e, 0x2e, 0x50, 0x6f, 0x6c,
0x79, 0x67, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x70, 0x6f, 0x6c, 0x79, 0x67, 0x6f,
0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18,
0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44,
0x61, 0x74, 0x61, 0x2e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74,
0x73, 0x22, 0x2c, 0x0a, 0x0b, 0x50, 0x6f, 0x6c, 0x79, 0x67, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65,
0x12, 0x1d, 0x0a, 0x19, 0x43, 0x6f, 0x6e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x44, 0x69, 0x76, 0x69, 0x64, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x6e, 0x65, 0x10, 0x00, 0x22,
0xe7, 0x03, 0x0a, 0x19, 0x43, 0x6f, 0x6e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x44, 0x69, 0x76, 0x69, 0x64, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x6e, 0x65, 0x12, 0x2f, 0x0a,
2023-12-14 13:04:48 +08:00
0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e,
0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d,
0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x12,
0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f,
0x64, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61,
2024-01-17 17:02:17 +08:00
0x2e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x30,
0x0a, 0x13, 0x6f, 0x6c, 0x64, 0x72, 0x65, 0x66, 0x4c, 0x65, 0x66, 0x74, 0x53, 0x74, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x6f, 0x6c, 0x64,
0x72, 0x65, 0x66, 0x4c, 0x65, 0x66, 0x74, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64,
0x12, 0x32, 0x0a, 0x14, 0x6f, 0x6c, 0x64, 0x72, 0x65, 0x66, 0x52, 0x69, 0x67, 0x68, 0x74, 0x53,
0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14,
0x6f, 0x6c, 0x64, 0x72, 0x65, 0x66, 0x52, 0x69, 0x67, 0x68, 0x74, 0x53, 0x74, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x0f, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x57,
0x69, 0x74, 0x68, 0x53, 0x65, 0x63, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e,
0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4e, 0x6f, 0x64, 0x65,
0x43, 0x6f, 0x6e, 0x57, 0x69, 0x74, 0x68, 0x53, 0x65, 0x63, 0x52, 0x0f, 0x6e, 0x6f, 0x64, 0x65,
0x43, 0x6f, 0x6e, 0x57, 0x69, 0x74, 0x68, 0x53, 0x65, 0x63, 0x73, 0x12, 0x52, 0x0a, 0x24, 0x69,
0x73, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x6e, 0x63, 0x65, 0x6e,
0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x76, 0x69, 0x64, 0x69, 0x6e, 0x67, 0x4c,
0x69, 0x6e, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x24, 0x69, 0x73, 0x4f, 0x74, 0x68,
0x65, 0x72, 0x4c, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x6e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x44, 0x69, 0x76, 0x69, 0x64, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x6e, 0x65, 0x12,
0x2a, 0x0a, 0x10, 0x72, 0x65, 0x66, 0x4c, 0x65, 0x66, 0x74, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x72, 0x65, 0x66, 0x4c, 0x65,
0x66, 0x74, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x11, 0x72,
0x65, 0x66, 0x52, 0x69, 0x67, 0x68, 0x74, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64,
0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x72, 0x65, 0x66, 0x52, 0x69, 0x67, 0x68, 0x74,
0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x88, 0x01, 0x0a, 0x0e, 0x4e, 0x6f,
0x64, 0x65, 0x43, 0x6f, 0x6e, 0x57, 0x69, 0x74, 0x68, 0x53, 0x65, 0x63, 0x12, 0x39, 0x0a, 0x0b,
0x6c, 0x65, 0x66, 0x74, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28,
2023-12-08 16:46:50 +08:00
0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e,
2024-01-17 17:02:17 +08:00
0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x66, 0x52, 0x0b, 0x6c, 0x65, 0x66, 0x74,
0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x0c, 0x72, 0x69, 0x67, 0x68, 0x74,
0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e,
0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x6c, 0x61,
<<<<<<< HEAD
2023-12-14 13:04:48 +08:00
0x74, 0x65, 0x64, 0x52, 0x65, 0x66, 0x52, 0x05, 0x70, 0x61, 0x52, 0x65, 0x66, 0x12, 0x2d, 0x0a,
0x05, 0x70, 0x62, 0x52, 0x65, 0x66, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67,
0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74,
0x65, 0x64, 0x52, 0x65, 0x66, 0x52, 0x05, 0x70, 0x62, 0x52, 0x65, 0x66, 0x12, 0x42, 0x0a, 0x0b,
0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28,
0x0e, 0x32, 0x20, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e,
0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54,
0x79, 0x70, 0x65, 0x52, 0x0b, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65,
0x12, 0x2a, 0x0a, 0x10, 0x6f, 0x6c, 0x64, 0x61, 0x78, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74,
0x69, 0x6e, 0x67, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x6f, 0x6c, 0x64, 0x61,
0x78, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x2c, 0x0a, 0x11,
0x6f, 0x6c, 0x64, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49,
0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x6f, 0x6c, 0x64, 0x74, 0x72, 0x61, 0x63,
0x6b, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73,
0x43, 0x75, 0x72, 0x76, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x43,
0x75, 0x72, 0x76, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73,
0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x73, 0x65, 0x67,
0x6d, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x16, 0x6f, 0x6c,
0x64, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x16, 0x6f, 0x6c, 0x64, 0x63,
0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x73, 0x12, 0x5d, 0x0a, 0x16, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x52, 0x75, 0x6e, 0x6e,
0x69, 0x6e, 0x67, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01,
0x28, 0x0e, 0x32, 0x25, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61,
0x2e, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67,
0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x6e, 0x6f, 0x72, 0x6d, 0x61,
0x6c, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f,
0x6e, 0x12, 0x26, 0x0a, 0x0e, 0x69, 0x73, 0x54, 0x75, 0x72, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x5a,
0x6f, 0x6e, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x54, 0x75, 0x72,
0x6e, 0x42, 0x61, 0x63, 0x6b, 0x5a, 0x6f, 0x6e, 0x65, 0x12, 0x34, 0x0a, 0x09, 0x64, 0x69, 0x72,
0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x67,
0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x44, 0x69, 0x72, 0x65, 0x63,
0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12,
2023-12-14 13:04:48 +08:00
0x24, 0x0a, 0x0d, 0x61, 0x78, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x73,
0x18, 0x11, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0d, 0x61, 0x78, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e,
0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x53, 0x65,
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x74,
0x72, 0x61, 0x63, 0x6b, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x30, 0x0a,
0x13, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x18, 0x13, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x13, 0x63, 0x65, 0x6e, 0x74,
0x72, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22,
0x30, 0x0a, 0x0b, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0c,
0x0a, 0x08, 0x50, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f,
0x54, 0x75, 0x72, 0x6e, 0x6f, 0x75, 0x74, 0x50, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x10,
0x02, 0x22, 0x30, 0x0a, 0x10, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x72, 0x65,
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x74, 0x6f, 0x42, 0x10, 0x00, 0x12,
0x08, 0x0a, 0x04, 0x42, 0x74, 0x6f, 0x41, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x4f, 0x54,
0x48, 0x10, 0x02, 0x22, 0x98, 0x03, 0x0a, 0x0a, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x52,
0x65, 0x66, 0x12, 0x42, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63,
0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x66, 0x2e,
0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69,
0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x6c, 0x64, 0x69, 0x64, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x6c, 0x64, 0x69, 0x64, 0x12, 0x42, 0x0a, 0x0a,
0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e,
0x32, 0x22, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52,
0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x66, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
0x50, 0x6f, 0x72, 0x74, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74,
0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64,
0x22, 0xb8, 0x01, 0x0a, 0x0a, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12,
0x0b, 0x0a, 0x07, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07,
0x54, 0x75, 0x72, 0x6e, 0x6f, 0x75, 0x74, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x72, 0x61,
0x69, 0x6e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x41, 0x78,
0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b,
0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x10, 0x04, 0x12, 0x0a, 0x0a,
0x06, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x10, 0x05, 0x12, 0x0b, 0x0a, 0x07, 0x73, 0x74, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x10, 0x06, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e,
0x44, 0x6f, 0x6f, 0x72, 0x10, 0x07, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c,
0x46, 0x61, 0x75, 0x6c, 0x74, 0x41, 0x6c, 0x61, 0x72, 0x6d, 0x10, 0x08, 0x12, 0x0c, 0x0a, 0x08,
0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x10, 0x09, 0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x6f,
0x77, 0x65, 0x72, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x10, 0x0a, 0x22, 0x21, 0x0a, 0x0a, 0x44,
0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x05, 0x0a, 0x01, 0x41, 0x10, 0x00,
0x12, 0x05, 0x0a, 0x01, 0x42, 0x10, 0x01, 0x12, 0x05, 0x0a, 0x01, 0x43, 0x10, 0x02, 0x22, 0x51,
0x0a, 0x0d, 0x54, 0x75, 0x72, 0x6e, 0x6f, 0x75, 0x74, 0x50, 0x6f, 0x73, 0x52, 0x65, 0x66, 0x12,
0x14, 0x0a, 0x05, 0x6f, 0x6c, 0x64, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
0x6f, 0x6c, 0x64, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f,
0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f,
0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69,
0x64, 0x22, 0x76, 0x0a, 0x09, 0x53, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x2f,
0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17,
0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d,
0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12,
0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63,
0x6f, 0x64, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x6f, 0x72,
0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x65, 0x70, 0x61,
2024-01-17 17:49:11 +08:00
0x72, 0x61, 0x74, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x22, 0x90, 0x04, 0x0a, 0x0b, 0x54, 0x72,
2023-12-14 13:04:48 +08:00
0x61, 0x6e, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d,
0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70,
0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e,
0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f,
0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x46,
0x0a, 0x0f, 0x6b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65,
0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69,
0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53,
0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x0f, 0x6b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72,
0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x3f, 0x0a, 0x0e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70,
0x6f, 0x6e, 0x64, 0x65, 0x72, 0x52, 0x65, 0x66, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17,
0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x6c,
0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x66, 0x52, 0x0e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f,
0x6e, 0x64, 0x65, 0x72, 0x52, 0x65, 0x66, 0x12, 0x36, 0x0a, 0x16, 0x6f, 0x6c, 0x64, 0x63, 0x65,
0x6e, 0x74, 0x72, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
2023-12-14 13:04:48 +08:00
0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x16, 0x6f, 0x6c, 0x64, 0x63, 0x65, 0x6e, 0x74,
0x72, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12,
2024-01-17 17:49:11 +08:00
0x40, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e,
0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x72, 0x61, 0x6e,
0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x6e,
0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x04, 0x74, 0x79, 0x70,
0x65, 0x12, 0x30, 0x0a, 0x13, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64,
0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x13,
0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x69, 0x78, 0x65, 0x64, 0x54, 0x65, 0x6c, 0x65,
0x67, 0x72, 0x61, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x69, 0x78, 0x65,
0x64, 0x54, 0x65, 0x6c, 0x65, 0x67, 0x72, 0x61, 0x6d, 0x12, 0x22, 0x0a, 0x0c, 0x75, 0x73, 0x65,
0x72, 0x54, 0x65, 0x6c, 0x65, 0x67, 0x72, 0x61, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0c, 0x75, 0x73, 0x65, 0x72, 0x54, 0x65, 0x6c, 0x65, 0x67, 0x72, 0x61, 0x6d, 0x22, 0x3d, 0x0a,
0x13, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65,
0x45, 0x6e, 0x75, 0x6d, 0x12, 0x06, 0x0a, 0x02, 0x46, 0x42, 0x10, 0x00, 0x12, 0x06, 0x0a, 0x02,
0x57, 0x42, 0x10, 0x01, 0x12, 0x06, 0x0a, 0x02, 0x44, 0x42, 0x10, 0x02, 0x12, 0x06, 0x0a, 0x02,
0x56, 0x42, 0x10, 0x03, 0x12, 0x06, 0x0a, 0x02, 0x49, 0x42, 0x10, 0x04, 0x22, 0xa1, 0x01, 0x0a,
0x09, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x12, 0x41, 0x0a, 0x0a, 0x64, 0x65,
0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21,
2023-12-14 13:04:48 +08:00
0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x69, 0x6d,
2024-01-17 17:49:11 +08:00
0x70, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70,
0x65, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a,
0x05, 0x6f, 0x6c, 0x64, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x6c,
0x64, 0x69, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52,
0x02, 0x69, 0x64, 0x22, 0x2b, 0x0a, 0x0a, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70,
0x65, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x75, 0x72, 0x6e, 0x6f, 0x75, 0x74, 0x10, 0x00, 0x12, 0x10,
0x0a, 0x0c, 0x41, 0x78, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x10, 0x01,
0x22, 0xcc, 0x02, 0x0a, 0x0b, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x6e, 0x6b,
=======
2024-01-17 17:02:17 +08:00
0x74, 0x65, 0x64, 0x52, 0x65, 0x66, 0x52, 0x0c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x53, 0x65, 0x63,
0x74, 0x69, 0x6f, 0x6e, 0x22, 0x80, 0x03, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
0x6d, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e,
0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d,
0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x6f, 0x6c, 0x64, 0x72, 0x65, 0x66,
0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0f, 0x6f, 0x6c, 0x64, 0x72, 0x65, 0x66, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64,
0x12, 0x28, 0x0a, 0x0f, 0x6f, 0x6c, 0x64, 0x72, 0x65, 0x66, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f,
0x6e, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6f, 0x6c, 0x64, 0x72, 0x65,
0x66, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x72, 0x65,
0x66, 0x45, 0x73, 0x62, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x0b, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x66, 0x45, 0x73, 0x62, 0x52, 0x65, 0x6c, 0x61, 0x79,
0x43, 0x6f, 0x64, 0x65, 0x12, 0x38, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01,
0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61,
0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4f, 0x66,
0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x22,
0x0a, 0x0c, 0x72, 0x65, 0x66, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x0d,
0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x65, 0x66, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x49, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x65, 0x66, 0x53, 0x65, 0x63,
0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x2f, 0x0a, 0x0e, 0x54, 0x79, 0x70, 0x65, 0x4f, 0x66,
0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x6e, 0x6b, 0x6e,
0x6f, 0x77, 0x6e, 0x10, 0x00, 0x12, 0x06, 0x0a, 0x02, 0x75, 0x70, 0x10, 0x01, 0x12, 0x08, 0x0a,
0x04, 0x64, 0x6f, 0x77, 0x6e, 0x10, 0x02, 0x22, 0xa3, 0x01, 0x0a, 0x0a, 0x53, 0x63, 0x72, 0x65,
0x65, 0x6e, 0x44, 0x6f, 0x6f, 0x72, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
2023-12-14 13:04:48 +08:00
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63,
0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52,
0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18,
2024-01-17 17:02:17 +08:00
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x6f,
0x6c, 0x64, 0x72, 0x65, 0x66, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x64, 0x18,
0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6f, 0x6c, 0x64, 0x72, 0x65, 0x66, 0x50, 0x6c, 0x61,
0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x65, 0x66, 0x50, 0x6c,
0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d,
0x72, 0x65, 0x66, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x64, 0x22, 0x88, 0x01,
0x0a, 0x10, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x44, 0x6f, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x6f, 0x6e, 0x44, 0x6f, 0x6f, 0x72, 0x41, 0x6d, 0x6f,
0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x73, 0x6f, 0x6e, 0x44, 0x6f,
0x6f, 0x72, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x4e, 0x0a, 0x13, 0x73, 0x63, 0x72, 0x65,
0x65, 0x6e, 0x44, 0x6f, 0x6f, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x18,
0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44,
0x61, 0x74, 0x61, 0x2e, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x44, 0x6f, 0x6f, 0x72, 0x47, 0x72,
0x6f, 0x75, 0x70, 0x52, 0x13, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x44, 0x6f, 0x6f, 0x72, 0x47,
0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x89, 0x01, 0x0a, 0x0f, 0x53, 0x63, 0x72,
0x65, 0x65, 0x6e, 0x44, 0x6f, 0x6f, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x2a, 0x0a, 0x10,
0x74, 0x72, 0x61, 0x69, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74,
0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x47, 0x72, 0x6f,
0x75, 0x70, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x72,
0x74, 0x53, 0x6d, 0x61, 0x6c, 0x6c, 0x44, 0x6f, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
0x52, 0x0e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x53, 0x6d, 0x61, 0x6c, 0x6c, 0x44, 0x6f, 0x6f, 0x72,
0x12, 0x22, 0x0a, 0x0c, 0x65, 0x6e, 0x64, 0x53, 0x6d, 0x61, 0x6c, 0x6c, 0x44, 0x6f, 0x6f, 0x72,
0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x65, 0x6e, 0x64, 0x53, 0x6d, 0x61, 0x6c, 0x6c,
0x44, 0x6f, 0x6f, 0x72, 0x22, 0xb2, 0x03, 0x0a, 0x07, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43,
0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x6e, 0x74,
0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04,
0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x46, 0x0a, 0x0f, 0x6b,
0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x18, 0x06,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61,
0x74, 0x61, 0x2e, 0x4b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74,
0x65, 0x6d, 0x52, 0x0f, 0x6b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73,
0x74, 0x65, 0x6d, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x65, 0x66, 0x49, 0x62, 0x70, 0x4d, 0x61, 0x70,
0x43, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x66, 0x49,
0x62, 0x70, 0x4d, 0x61, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x74, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x73,
0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x41, 0x63, 0x72, 0x6f, 0x6e, 0x79,
0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x4e, 0x61, 0x6d, 0x65, 0x41, 0x63, 0x72, 0x6f, 0x6e, 0x79, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x64,
0x65, 0x70, 0x6f, 0x74, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x64, 0x65, 0x70,
0x6f, 0x74, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x6f, 0x6c, 0x64, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65,
0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11,
0x6f, 0x6c, 0x64, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x12, 0x26, 0x0a, 0x0e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e, 0x6d, 0x61, 0x6e, 0x61, 0x67,
0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x70, 0x0a, 0x0b, 0x54, 0x72, 0x61,
0x69, 0x6e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d,
0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68,
0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66,
0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a,
0x09, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05,
0x52, 0x09, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xc7, 0x03, 0x0a, 0x0c,
0x41, 0x78, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x2f, 0x0a, 0x06,
0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67,
0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f,
0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x12, 0x0a,
0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64,
0x65, 0x12, 0x46, 0x0a, 0x0f, 0x6b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x79,
0x73, 0x74, 0x65, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x72, 0x61,
0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74,
0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x0f, 0x6b, 0x69, 0x6c, 0x6f, 0x6d, 0x65,
0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x41, 0x0a, 0x0f, 0x61, 0x78, 0x6c,
0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x66, 0x18, 0x04, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61,
0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x66, 0x52, 0x0f, 0x61, 0x78, 0x6c,
0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x66, 0x12, 0x40, 0x0a, 0x04,
0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x67, 0x72, 0x61,
0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x41, 0x78, 0x6c, 0x65, 0x43, 0x6f, 0x75,
0x6e, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x36,
0x0a, 0x16, 0x6f, 0x6c, 0x64, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64,
0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x16,
2023-12-14 13:04:48 +08:00
0x6f, 0x6c, 0x64, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x53, 0x74,
2024-01-17 17:02:17 +08:00
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x30, 0x0a, 0x13, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61,
0x6c, 0x69, 0x7a, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20,
0x03, 0x28, 0x0d, 0x52, 0x13, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64,
0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x3b, 0x0a, 0x12, 0x54, 0x79, 0x70, 0x65,
0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x10,
0x0a, 0x0c, 0x41, 0x78, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x10, 0x00,
0x12, 0x13, 0x0a, 0x0f, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f, 0x75, 0x6e, 0x64,
0x61, 0x72, 0x79, 0x10, 0x01, 0x22, 0xb8, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61,
0x74, 0x65, 0x41, 0x78, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x12, 0x22, 0x0a, 0x0c, 0x6f, 0x6c, 0x64, 0x62, 0x62, 0x43, 0x6f, 0x6e,
0x6e, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x6c, 0x64, 0x62,
0x62, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x2e, 0x0a, 0x12, 0x6f, 0x6c, 0x64, 0x6e,
0x6f, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02,
0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x6f, 0x6c, 0x64, 0x6e, 0x6f, 0x47, 0x65, 0x6e, 0x65, 0x72,
0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x62, 0x62, 0x43, 0x6f,
0x6e, 0x6e, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x09, 0x62, 0x62, 0x43,
0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x6e, 0x6f, 0x47, 0x65, 0x6e, 0x65,
0x72, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0d, 0x52,
0x0f, 0x6e, 0x6f, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70,
0x22, 0xc5, 0x07, 0x0a, 0x07, 0x54, 0x75, 0x72, 0x6e, 0x6f, 0x75, 0x74, 0x12, 0x2f, 0x0a, 0x06,
0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67,
0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f,
0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x12, 0x0a,
0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64,
0x65, 0x12, 0x2a, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x41, 0x18, 0x06, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e,
0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x41, 0x12, 0x2a, 0x0a,
0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e,
0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x6f, 0x69, 0x6e,
0x74, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x12, 0x2a, 0x0a, 0x06, 0x70, 0x6f, 0x69,
0x6e, 0x74, 0x43, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x61, 0x70,
0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x06, 0x70,
0x6f, 0x69, 0x6e, 0x74, 0x43, 0x12, 0x2d, 0x0a, 0x05, 0x70, 0x61, 0x52, 0x65, 0x66, 0x18, 0x09,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61,
0x74, 0x61, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x66, 0x52, 0x05, 0x70,
0x61, 0x52, 0x65, 0x66, 0x12, 0x2d, 0x0a, 0x05, 0x70, 0x62, 0x52, 0x65, 0x66, 0x18, 0x0a, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74,
0x61, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x66, 0x52, 0x05, 0x70, 0x62,
0x52, 0x65, 0x66, 0x12, 0x2d, 0x0a, 0x05, 0x70, 0x63, 0x52, 0x65, 0x66, 0x18, 0x0b, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61,
0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x66, 0x52, 0x05, 0x70, 0x63, 0x52,
0x65, 0x66, 0x12, 0x46, 0x0a, 0x0f, 0x6b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53,
0x79, 0x73, 0x74, 0x65, 0x6d, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x72,
0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x69, 0x6c, 0x6f, 0x6d, 0x65,
0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x0f, 0x6b, 0x69, 0x6c, 0x6f, 0x6d,
0x65, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x30, 0x0a, 0x13, 0x6f, 0x6c,
0x64, 0x70, 0x61, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49,
0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x6f, 0x6c, 0x64, 0x70, 0x61, 0x54, 0x72,
0x61, 0x63, 0x6b, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x13,
0x6f, 0x6c, 0x64, 0x70, 0x62, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f,
0x6e, 0x49, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x6f, 0x6c, 0x64, 0x70, 0x62,
0x54, 0x72, 0x61, 0x63, 0x6b, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x30,
0x0a, 0x13, 0x6f, 0x6c, 0x64, 0x70, 0x63, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x53, 0x65, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x6f, 0x6c, 0x64,
0x70, 0x63, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64,
0x12, 0x54, 0x0a, 0x11, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e,
0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x67, 0x72,
0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x75, 0x72, 0x6e, 0x6f, 0x75,
0x74, 0x2e, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54,
0x79, 0x70, 0x65, 0x52, 0x11, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x4d, 0x61, 0x63, 0x68, 0x69,
0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x36, 0x0a, 0x16, 0x6f, 0x6c, 0x64, 0x63, 0x65, 0x6e,
0x74, 0x72, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
0x18, 0x13, 0x20, 0x03, 0x28, 0x09, 0x52, 0x16, 0x6f, 0x6c, 0x64, 0x63, 0x65, 0x6e, 0x74, 0x72,
0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x30,
0x0a, 0x13, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x53, 0x74, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x14, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x13, 0x63, 0x65, 0x6e,
0x74, 0x72, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
0x12, 0x2a, 0x0a, 0x10, 0x70, 0x61, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x53, 0x65, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x49, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x70, 0x61, 0x54, 0x72,
0x61, 0x63, 0x6b, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10,
0x70, 0x62, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64,
0x18, 0x16, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x70, 0x62, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x53,
0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x70, 0x63, 0x54, 0x72,
0x61, 0x63, 0x6b, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x17, 0x20, 0x01,
0x28, 0x0d, 0x52, 0x10, 0x70, 0x63, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x53, 0x65, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x49, 0x64, 0x22, 0x42, 0x0a, 0x11, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x4d, 0x61,
0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x6e, 0x6b,
0x6e, 0x6f, 0x77, 0x6e, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x5a, 0x44, 0x4a, 0x39, 0x5f, 0x53,
0x69, 0x6e, 0x67, 0x6c, 0x65, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x5a, 0x44, 0x4a, 0x39, 0x5f,
0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x10, 0x02, 0x22, 0xc3, 0x01, 0x0a, 0x0f, 0x4b, 0x69, 0x6c,
0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x1c, 0x0a, 0x09,
0x6b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
0x09, 0x6b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x10, 0x63, 0x6f,
0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65,
0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x44, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x67, 0x72, 0x61, 0x70,
0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65,
0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f,
0x6e, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x20, 0x0a, 0x09,
0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x08, 0x0a, 0x04, 0x4c, 0x45, 0x46,
0x54, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x49, 0x47, 0x48, 0x54, 0x10, 0x01, 0x22, 0x93,
0x04, 0x0a, 0x06, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d,
2023-12-14 13:04:48 +08:00
0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70,
0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e,
0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f,
2024-01-17 17:02:17 +08:00
0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x16,
0x0a, 0x06, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06,
0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x46, 0x0a, 0x0f, 0x6b, 0x69, 0x6c, 0x6f, 0x6d, 0x65,
0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x1c, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x69,
0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x0f, 0x6b,
0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x2f,
0x0a, 0x06, 0x72, 0x65, 0x66, 0x44, 0x65, 0x76, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17,
2023-12-14 13:04:48 +08:00
0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x6c,
2024-01-17 17:02:17 +08:00
0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x66, 0x52, 0x06, 0x72, 0x65, 0x66, 0x44, 0x65, 0x76, 0x12,
0x36, 0x0a, 0x16, 0x6f, 0x6c, 0x64, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x69, 0x7a, 0x65,
0x64, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52,
0x16, 0x6f, 0x6c, 0x64, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x53,
0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x29, 0x0a, 0x02, 0x6d, 0x74, 0x18, 0x0a, 0x20,
0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74,
0x61, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x02,
0x6d, 0x74, 0x12, 0x34, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18,
0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44,
0x61, 0x74, 0x61, 0x2e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x64,
0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x13, 0x63, 0x65, 0x6e, 0x74,
0x72, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18,
0x0d, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x13, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x69, 0x7a,
0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x68, 0x0a, 0x05, 0x4d, 0x6f,
0x64, 0x65, 0x6c, 0x12, 0x06, 0x0a, 0x02, 0x48, 0x4c, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x48,
0x4c, 0x55, 0x5f, 0x46, 0x55, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x48, 0x4c, 0x55, 0x5f, 0x44,
0x55, 0x5f, 0x59, 0x59, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x48, 0x4c, 0x55, 0x5f, 0x59, 0x59,
0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x48, 0x4c, 0x55, 0x5f, 0x46, 0x4c, 0x5f, 0x44, 0x55, 0x5f,
0x59, 0x59, 0x10, 0x04, 0x12, 0x0a, 0x0a, 0x06, 0x48, 0x4c, 0x55, 0x5f, 0x44, 0x55, 0x10, 0x05,
0x12, 0x06, 0x0a, 0x02, 0x41, 0x42, 0x10, 0x06, 0x12, 0x0a, 0x0a, 0x06, 0x48, 0x42, 0x55, 0x5f,
0x44, 0x55, 0x10, 0x07, 0x22, 0x8f, 0x07, 0x0a, 0x07, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
>>>>>>> 9595fe9f6f4441ee880bc564686aee8f9e3d2576
2024-01-17 17:49:11 +08:00
0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43,
0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18,
0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44,
0x61, 0x74, 0x61, 0x2e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74,
<<<<<<< HEAD
2024-01-17 17:49:11 +08:00
0x73, 0x12, 0x0e, 0x0a, 0x02, 0x75, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x75,
0x70, 0x12, 0x30, 0x0a, 0x07, 0x61, 0x53, 0x69, 0x6d, 0x52, 0x65, 0x66, 0x18, 0x05, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61,
0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x52, 0x07, 0x61, 0x53, 0x69, 0x6d,
0x52, 0x65, 0x66, 0x12, 0x30, 0x0a, 0x07, 0x62, 0x53, 0x69, 0x6d, 0x52, 0x65, 0x66, 0x18, 0x06,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61,
0x74, 0x61, 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x52, 0x07, 0x62, 0x53,
0x69, 0x6d, 0x52, 0x65, 0x66, 0x12, 0x2b, 0x0a, 0x04, 0x61, 0x52, 0x65, 0x66, 0x18, 0x07, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74,
0x61, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x66, 0x52, 0x04, 0x61, 0x52,
0x65, 0x66, 0x12, 0x2b, 0x0a, 0x04, 0x62, 0x52, 0x65, 0x66, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52,
0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x66, 0x52, 0x04, 0x62, 0x52, 0x65, 0x66, 0x22,
0xa0, 0x02, 0x0a, 0x13, 0x41, 0x78, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67,
0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69,
0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f,
0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x06,
0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67,
0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x6f, 0x69, 0x6e, 0x74,
0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x2d, 0x0a, 0x05, 0x70, 0x61, 0x52, 0x65,
0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69,
0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x66,
0x52, 0x05, 0x70, 0x61, 0x52, 0x65, 0x66, 0x12, 0x2d, 0x0a, 0x05, 0x70, 0x62, 0x52, 0x65, 0x66,
0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63,
0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x66, 0x52,
0x05, 0x70, 0x62, 0x52, 0x65, 0x66, 0x12, 0x3a, 0x0a, 0x0a, 0x74, 0x75, 0x72, 0x6e, 0x6f, 0x75,
0x74, 0x50, 0x6f, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x72, 0x61,
0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x75, 0x72, 0x6e, 0x6f, 0x75, 0x74,
0x50, 0x6f, 0x73, 0x52, 0x65, 0x66, 0x52, 0x0a, 0x74, 0x75, 0x72, 0x6e, 0x6f, 0x75, 0x74, 0x50,
0x6f, 0x73, 0x22, 0x93, 0x02, 0x0a, 0x0c, 0x4c, 0x6f, 0x67, 0x69, 0x63, 0x53, 0x65, 0x63, 0x74,
2023-12-14 13:04:48 +08:00
0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20,
=======
2024-01-17 17:02:17 +08:00
0x73, 0x12, 0x2d, 0x0a, 0x05, 0x70, 0x61, 0x52, 0x65, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52,
0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x66, 0x52, 0x05, 0x70, 0x61, 0x52, 0x65, 0x66,
0x12, 0x2d, 0x0a, 0x05, 0x70, 0x62, 0x52, 0x65, 0x66, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65,
0x6c, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x66, 0x52, 0x05, 0x70, 0x62, 0x52, 0x65, 0x66, 0x12,
0x42, 0x0a, 0x0b, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06,
0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61,
0x74, 0x61, 0x2e, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54,
0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x6f, 0x6c, 0x64, 0x61, 0x78, 0x6c, 0x65, 0x43, 0x6f,
0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x6f,
0x6c, 0x64, 0x61, 0x78, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12,
0x2c, 0x0a, 0x11, 0x6f, 0x6c, 0x64, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x53, 0x65, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x6f, 0x6c, 0x64, 0x74,
0x72, 0x61, 0x63, 0x6b, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x18, 0x0a,
0x07, 0x69, 0x73, 0x43, 0x75, 0x72, 0x76, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07,
0x69, 0x73, 0x43, 0x75, 0x72, 0x76, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x65, 0x67, 0x6d, 0x65,
0x6e, 0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d,
0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x36, 0x0a,
0x16, 0x6f, 0x6c, 0x64, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x53,
0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x16, 0x6f,
0x6c, 0x64, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x53, 0x74, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5d, 0x0a, 0x16, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x52,
0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18,
0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44,
0x61, 0x74, 0x61, 0x2e, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x75, 0x6e, 0x6e,
0x69, 0x6e, 0x67, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x6e, 0x6f,
0x72, 0x6d, 0x61, 0x6c, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x72, 0x65, 0x63,
0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x0e, 0x69, 0x73, 0x54, 0x75, 0x72, 0x6e, 0x42, 0x61,
0x63, 0x6b, 0x5a, 0x6f, 0x6e, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73,
0x54, 0x75, 0x72, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x5a, 0x6f, 0x6e, 0x65, 0x12, 0x34, 0x0a, 0x09,
0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0e, 0x32,
0x16, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x44, 0x69,
0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x78, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x69,
0x6e, 0x67, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0d, 0x61, 0x78, 0x6c, 0x65, 0x43,
0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x63,
0x6b, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0d,
0x52, 0x0e, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64,
0x12, 0x30, 0x0a, 0x13, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x53,
0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x13, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x13, 0x63,
0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x73, 0x22, 0x30, 0x0a, 0x0b, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70,
0x65, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x10, 0x00, 0x12,
0x13, 0x0a, 0x0f, 0x54, 0x75, 0x72, 0x6e, 0x6f, 0x75, 0x74, 0x50, 0x68, 0x79, 0x73, 0x69, 0x63,
0x61, 0x6c, 0x10, 0x02, 0x22, 0x30, 0x0a, 0x10, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x44,
0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x74, 0x6f, 0x42,
0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x74, 0x6f, 0x41, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04,
0x42, 0x4f, 0x54, 0x48, 0x10, 0x02, 0x22, 0x98, 0x03, 0x0a, 0x0a, 0x52, 0x65, 0x6c, 0x61, 0x74,
0x65, 0x64, 0x52, 0x65, 0x66, 0x12, 0x42, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54,
0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x67, 0x72, 0x61, 0x70,
0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x52,
2023-12-14 13:04:48 +08:00
0x65, 0x66, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x64,
0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x6c, 0x64,
0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x6c, 0x64, 0x69, 0x64, 0x12,
2024-01-17 17:02:17 +08:00
0x42, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20,
0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74,
0x61, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x66, 0x2e, 0x44, 0x65, 0x76,
0x69, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50,
0x6f, 0x72, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52,
0x02, 0x69, 0x64, 0x22, 0xb8, 0x01, 0x0a, 0x0a, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79,
0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x00, 0x12,
0x0b, 0x0a, 0x07, 0x54, 0x75, 0x72, 0x6e, 0x6f, 0x75, 0x74, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b,
0x54, 0x72, 0x61, 0x69, 0x6e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x10, 0x02, 0x12, 0x10, 0x0a,
0x0c, 0x41, 0x78, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x10, 0x03, 0x12,
0x0f, 0x0a, 0x0b, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x10, 0x04,
0x12, 0x0a, 0x0a, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x10, 0x05, 0x12, 0x0b, 0x0a, 0x07,
0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x06, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x63, 0x72,
0x65, 0x65, 0x6e, 0x44, 0x6f, 0x6f, 0x72, 0x10, 0x07, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x69, 0x67,
0x6e, 0x61, 0x6c, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x41, 0x6c, 0x61, 0x72, 0x6d, 0x10, 0x08, 0x12,
0x0c, 0x0a, 0x08, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x10, 0x09, 0x12, 0x0f, 0x0a,
0x0b, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x10, 0x0a, 0x22, 0x21,
0x0a, 0x0a, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x05, 0x0a, 0x01,
0x41, 0x10, 0x00, 0x12, 0x05, 0x0a, 0x01, 0x42, 0x10, 0x01, 0x12, 0x05, 0x0a, 0x01, 0x43, 0x10,
0x02, 0x22, 0x51, 0x0a, 0x0d, 0x54, 0x75, 0x72, 0x6e, 0x6f, 0x75, 0x74, 0x50, 0x6f, 0x73, 0x52,
0x65, 0x66, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x6c, 0x64, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x05, 0x6f, 0x6c, 0x64, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69,
0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69,
0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d,
0x52, 0x02, 0x69, 0x64, 0x22, 0x76, 0x0a, 0x09, 0x53, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x6f,
0x72, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e,
0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d,
0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61,
0x74, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73,
0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x22, 0x90, 0x04, 0x0a,
0x0b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x2f, 0x0a, 0x06,
2023-12-14 13:04:48 +08:00
0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67,
0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f,
0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x12, 0x0a,
0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64,
2024-01-17 17:02:17 +08:00
0x65, 0x12, 0x46, 0x0a, 0x0f, 0x6b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x79,
0x73, 0x74, 0x65, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x72, 0x61,
0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74,
0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x0f, 0x6b, 0x69, 0x6c, 0x6f, 0x6d, 0x65,
0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x3f, 0x0a, 0x0e, 0x54, 0x72, 0x61,
0x6e, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x52, 0x65, 0x66, 0x18, 0x06, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e,
0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x66, 0x52, 0x0e, 0x54, 0x72, 0x61, 0x6e,
0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x52, 0x65, 0x66, 0x12, 0x36, 0x0a, 0x16, 0x6f, 0x6c,
0x64, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x16, 0x6f, 0x6c, 0x64, 0x63,
0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x73, 0x12, 0x40, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e,
0x32, 0x2c, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x54,
0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73,
0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x04,
0x74, 0x79, 0x70, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x69,
0x7a, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28,
0x0d, 0x52, 0x13, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x53, 0x74,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x69, 0x78, 0x65, 0x64, 0x54,
0x65, 0x6c, 0x65, 0x67, 0x72, 0x61, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66,
0x69, 0x78, 0x65, 0x64, 0x54, 0x65, 0x6c, 0x65, 0x67, 0x72, 0x61, 0x6d, 0x12, 0x22, 0x0a, 0x0c,
0x75, 0x73, 0x65, 0x72, 0x54, 0x65, 0x6c, 0x65, 0x67, 0x72, 0x61, 0x6d, 0x18, 0x0c, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x54, 0x65, 0x6c, 0x65, 0x67, 0x72, 0x61, 0x6d,
0x22, 0x3d, 0x0a, 0x13, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x54,
0x79, 0x70, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x06, 0x0a, 0x02, 0x46, 0x42, 0x10, 0x00, 0x12,
0x06, 0x0a, 0x02, 0x57, 0x42, 0x10, 0x01, 0x12, 0x06, 0x0a, 0x02, 0x44, 0x42, 0x10, 0x02, 0x12,
0x06, 0x0a, 0x02, 0x56, 0x42, 0x10, 0x03, 0x12, 0x06, 0x0a, 0x02, 0x49, 0x42, 0x10, 0x04, 0x22,
0xa1, 0x01, 0x0a, 0x09, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x12, 0x41, 0x0a,
0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0e, 0x32, 0x21, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e,
0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65,
0x12, 0x14, 0x0a, 0x05, 0x6f, 0x6c, 0x64, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x05, 0x6f, 0x6c, 0x64, 0x69, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01,
0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x22, 0x2b, 0x0a, 0x0a, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x75, 0x72, 0x6e, 0x6f, 0x75, 0x74, 0x10,
0x00, 0x12, 0x10, 0x0a, 0x0c, 0x41, 0x78, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x69, 0x6e,
0x67, 0x10, 0x01, 0x22, 0xcc, 0x02, 0x0a, 0x0b, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c,
0x69, 0x6e, 0x6b, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20,
>>>>>>> 9595fe9f6f4441ee880bc564686aee8f9e3d2576
2023-12-14 13:04:48 +08:00
0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74,
0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f,
0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e,
0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68,
0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x06, 0x70, 0x6f,
<<<<<<< HEAD
2024-01-17 17:49:11 +08:00
0x69, 0x6e, 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x6f, 0x6c, 0x64, 0x61, 0x78, 0x6c, 0x65, 0x53,
0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10,
0x6f, 0x6c, 0x64, 0x61, 0x78, 0x6c, 0x65, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64,
0x12, 0x22, 0x0a, 0x0c, 0x6f, 0x6c, 0x64, 0x74, 0x75, 0x72, 0x6e, 0x6f, 0x75, 0x74, 0x49, 0x64,
0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x6c, 0x64, 0x74, 0x75, 0x72, 0x6e, 0x6f,
0x75, 0x74, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x78, 0x6c, 0x65, 0x53, 0x65, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x61, 0x78, 0x6c,
0x65, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x75,
0x72, 0x6e, 0x6f, 0x75, 0x74, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74,
0x75, 0x72, 0x6e, 0x6f, 0x75, 0x74, 0x49, 0x64, 0x22, 0xb5, 0x03, 0x0a, 0x0c, 0x54, 0x72, 0x61,
0x63, 0x6b, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d,
0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70,
0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e,
0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x06, 0x70, 0x6f,
0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x61,
0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x06,
0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03,
0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x3e, 0x0a, 0x04, 0x74, 0x79,
0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68,
0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x53, 0x65, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x64, 0x65,
0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x43, 0x6f, 0x64, 0x65, 0x12, 0x32, 0x0a, 0x14, 0x6f, 0x6c, 0x64, 0x74, 0x72, 0x61, 0x63, 0x6b,
0x4c, 0x6f, 0x67, 0x69, 0x63, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x03,
0x28, 0x09, 0x52, 0x14, 0x6f, 0x6c, 0x64, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x4c, 0x6f, 0x67, 0x69,
0x63, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73, 0x43, 0x75,
0x72, 0x76, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x43, 0x75, 0x72,
0x76, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x6f,
0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x73, 0x65, 0x67, 0x6d, 0x65,
0x6e, 0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x74, 0x72, 0x61, 0x63,
0x6b, 0x4c, 0x6f, 0x67, 0x69, 0x63, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20,
0x03, 0x28, 0x0d, 0x52, 0x11, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x4c, 0x6f, 0x67, 0x69, 0x63, 0x53,
0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x28, 0x0a, 0x10, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x53,
0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x4f,
0x52, 0x4d, 0x41, 0x4c, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x4f, 0x52, 0x4b, 0x10, 0x01,
0x22, 0x9c, 0x01, 0x0a, 0x11, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x4c, 0x6f, 0x67, 0x69, 0x63, 0x53,
0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63,
0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52,
2024-01-17 17:49:11 +08:00
0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74,
0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69,
0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x06, 0x70, 0x6f, 0x69,
0x6e, 0x74, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74,
0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x22,
0xca, 0x02, 0x0a, 0x0c, 0x53, 0x74, 0x6f, 0x70, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,
0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43,
0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x6c, 0x69, 0x70, 0x18, 0x03, 0x20,
0x01, 0x28, 0x08, 0x52, 0x04, 0x66, 0x6c, 0x69, 0x70, 0x12, 0x3e, 0x0a, 0x08, 0x63, 0x6f, 0x61,
0x63, 0x68, 0x4e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x67, 0x72,
0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x50, 0x6f,
0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x61, 0x63, 0x68, 0x4e, 0x75, 0x6d, 0x52,
0x08, 0x63, 0x6f, 0x61, 0x63, 0x68, 0x4e, 0x75, 0x6d, 0x12, 0x46, 0x0a, 0x0f, 0x6b, 0x69, 0x6c,
0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x18, 0x06, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61,
0x2e, 0x4b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d,
0x52, 0x0f, 0x6b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65,
0x6d, 0x12, 0x2f, 0x0a, 0x06, 0x72, 0x65, 0x66, 0x44, 0x65, 0x76, 0x18, 0x07, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e,
0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x66, 0x52, 0x06, 0x72, 0x65, 0x66, 0x44,
0x65, 0x76, 0x22, 0x28, 0x0a, 0x08, 0x43, 0x6f, 0x61, 0x63, 0x68, 0x4e, 0x75, 0x6d, 0x12, 0x08,
0x0a, 0x04, 0x46, 0x6f, 0x75, 0x72, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x53, 0x69, 0x78, 0x10,
0x01, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x69, 0x67, 0x68, 0x74, 0x10, 0x02, 0x22, 0xed, 0x01, 0x0a,
0x0a, 0x53, 0x70, 0x6b, 0x73, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x2f, 0x0a, 0x06, 0x63,
0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72,
0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04,
0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65,
0x12, 0x12, 0x0a, 0x04, 0x66, 0x6c, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04,
0x66, 0x6c, 0x69, 0x70, 0x12, 0x26, 0x0a, 0x0e, 0x6f, 0x6c, 0x64, 0x72, 0x65, 0x66, 0x53, 0x65,
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x6c,
0x64, 0x72, 0x65, 0x66, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x20, 0x0a, 0x0b,
0x6f, 0x6c, 0x64, 0x72, 0x65, 0x66, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0b, 0x6f, 0x6c, 0x64, 0x72, 0x65, 0x66, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x12, 0x20,
0x0a, 0x0b, 0x72, 0x65, 0x66, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20,
0x03, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x65, 0x66, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73,
0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x66, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x18, 0x09, 0x20, 0x01,
0x28, 0x0d, 0x52, 0x08, 0x72, 0x65, 0x66, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x22, 0xa2, 0x01, 0x0a,
0x09, 0x45, 0x73, 0x62, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f,
=======
2024-01-17 17:02:17 +08:00
0x69, 0x6e, 0x74, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x75, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08,
0x52, 0x02, 0x75, 0x70, 0x12, 0x30, 0x0a, 0x07, 0x61, 0x53, 0x69, 0x6d, 0x52, 0x65, 0x66, 0x18,
0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44,
0x61, 0x74, 0x61, 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x52, 0x07, 0x61,
0x53, 0x69, 0x6d, 0x52, 0x65, 0x66, 0x12, 0x30, 0x0a, 0x07, 0x62, 0x53, 0x69, 0x6d, 0x52, 0x65,
0x66, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69,
0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x52,
0x07, 0x62, 0x53, 0x69, 0x6d, 0x52, 0x65, 0x66, 0x12, 0x2b, 0x0a, 0x04, 0x61, 0x52, 0x65, 0x66,
0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63,
0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x66, 0x52,
0x04, 0x61, 0x52, 0x65, 0x66, 0x12, 0x2b, 0x0a, 0x04, 0x62, 0x52, 0x65, 0x66, 0x18, 0x08, 0x20,
2023-12-14 13:04:48 +08:00
0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74,
2024-01-17 17:02:17 +08:00
0x61, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x66, 0x52, 0x04, 0x62, 0x52,
0x65, 0x66, 0x22, 0xa0, 0x02, 0x0a, 0x13, 0x41, 0x78, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74,
0x69, 0x6e, 0x67, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f,
>>>>>>> 9595fe9f6f4441ee880bc564686aee8f9e3d2576
2023-12-05 13:59:27 +08:00
0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61,
0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49,
0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63,
0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12,
<<<<<<< HEAD
2023-12-14 13:04:48 +08:00
0x12, 0x0a, 0x04, 0x66, 0x6c, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x66,
2024-01-17 17:49:11 +08:00
0x6c, 0x69, 0x70, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x6c, 0x64, 0x72, 0x65, 0x66, 0x53, 0x74, 0x61,
0x6e, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x6c, 0x64, 0x72, 0x65, 0x66,
0x53, 0x74, 0x61, 0x6e, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x66, 0x53, 0x74, 0x61, 0x6e,
0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65, 0x66, 0x53, 0x74, 0x61, 0x6e,
0x64, 0x22, 0xe5, 0x01, 0x0a, 0x08, 0x47, 0x61, 0x74, 0x65, 0x64, 0x42, 0x6f, 0x78, 0x12, 0x2f,
=======
2024-01-17 17:02:17 +08:00
0x2a, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x12, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x6f,
0x69, 0x6e, 0x74, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x2d, 0x0a, 0x05, 0x70,
0x61, 0x52, 0x65, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61,
0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64,
0x52, 0x65, 0x66, 0x52, 0x05, 0x70, 0x61, 0x52, 0x65, 0x66, 0x12, 0x2d, 0x0a, 0x05, 0x70, 0x62,
0x52, 0x65, 0x66, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70,
0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x52,
0x65, 0x66, 0x52, 0x05, 0x70, 0x62, 0x52, 0x65, 0x66, 0x12, 0x3a, 0x0a, 0x0a, 0x74, 0x75, 0x72,
0x6e, 0x6f, 0x75, 0x74, 0x50, 0x6f, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x75, 0x72, 0x6e,
0x6f, 0x75, 0x74, 0x50, 0x6f, 0x73, 0x52, 0x65, 0x66, 0x52, 0x0a, 0x74, 0x75, 0x72, 0x6e, 0x6f,
0x75, 0x74, 0x50, 0x6f, 0x73, 0x22, 0x93, 0x02, 0x0a, 0x0c, 0x4c, 0x6f, 0x67, 0x69, 0x63, 0x53,
0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63,
0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52,
0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x70,
0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72,
0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52,
0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x6f, 0x6c, 0x64, 0x61, 0x78,
0x6c, 0x65, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28,
0x09, 0x52, 0x10, 0x6f, 0x6c, 0x64, 0x61, 0x78, 0x6c, 0x65, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f,
0x6e, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x6f, 0x6c, 0x64, 0x74, 0x75, 0x72, 0x6e, 0x6f, 0x75,
0x74, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x6c, 0x64, 0x74, 0x75,
0x72, 0x6e, 0x6f, 0x75, 0x74, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x78, 0x6c, 0x65, 0x53,
0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d,
0x61, 0x78, 0x6c, 0x65, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1c, 0x0a,
0x09, 0x74, 0x75, 0x72, 0x6e, 0x6f, 0x75, 0x74, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d,
0x52, 0x09, 0x74, 0x75, 0x72, 0x6e, 0x6f, 0x75, 0x74, 0x49, 0x64, 0x22, 0xb5, 0x03, 0x0a, 0x0c,
0x54, 0x72, 0x61, 0x63, 0x6b, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x06,
0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67,
0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f,
0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x2a, 0x0a,
0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e,
0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x6f, 0x69, 0x6e,
0x74, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64,
0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x3e, 0x0a,
0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x67, 0x72,
0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x53,
0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x53, 0x65, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a,
0x0f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65,
0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x32, 0x0a, 0x14, 0x6f, 0x6c, 0x64, 0x74, 0x72,
0x61, 0x63, 0x6b, 0x4c, 0x6f, 0x67, 0x69, 0x63, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18,
0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x6f, 0x6c, 0x64, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x4c,
0x6f, 0x67, 0x69, 0x63, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x69,
0x73, 0x43, 0x75, 0x72, 0x76, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73,
0x43, 0x75, 0x72, 0x76, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74,
0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x73, 0x65,
0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x74,
0x72, 0x61, 0x63, 0x6b, 0x4c, 0x6f, 0x67, 0x69, 0x63, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x18, 0x0a, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x11, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x4c, 0x6f, 0x67,
0x69, 0x63, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x28, 0x0a, 0x10, 0x54, 0x72, 0x61,
0x63, 0x6b, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a,
0x06, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x4f, 0x52,
0x4b, 0x10, 0x01, 0x22, 0x9c, 0x01, 0x0a, 0x11, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x4c, 0x6f, 0x67,
0x69, 0x63, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d,
2023-12-08 16:46:50 +08:00
0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70,
0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e,
2024-01-17 17:02:17 +08:00
0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x06, 0x70, 0x6f,
0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x61,
0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x06,
0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03,
0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x65,
0x6e, 0x67, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6c, 0x65, 0x6e, 0x67,
0x74, 0x68, 0x22, 0xca, 0x02, 0x0a, 0x0c, 0x53, 0x74, 0x6f, 0x70, 0x50, 0x6f, 0x73, 0x69, 0x74,
0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74,
0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f,
0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x6c, 0x69, 0x70,
0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x66, 0x6c, 0x69, 0x70, 0x12, 0x3e, 0x0a, 0x08,
0x63, 0x6f, 0x61, 0x63, 0x68, 0x4e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22,
0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x6f,
0x70, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x61, 0x63, 0x68, 0x4e,
0x75, 0x6d, 0x52, 0x08, 0x63, 0x6f, 0x61, 0x63, 0x68, 0x4e, 0x75, 0x6d, 0x12, 0x46, 0x0a, 0x0f,
0x6b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x18,
0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44,
0x61, 0x74, 0x61, 0x2e, 0x4b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73,
0x74, 0x65, 0x6d, 0x52, 0x0f, 0x6b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x79,
0x73, 0x74, 0x65, 0x6d, 0x12, 0x2f, 0x0a, 0x06, 0x72, 0x65, 0x66, 0x44, 0x65, 0x76, 0x18, 0x07,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61,
0x74, 0x61, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x66, 0x52, 0x06, 0x72,
0x65, 0x66, 0x44, 0x65, 0x76, 0x22, 0x28, 0x0a, 0x08, 0x43, 0x6f, 0x61, 0x63, 0x68, 0x4e, 0x75,
0x6d, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x6f, 0x75, 0x72, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x53,
0x69, 0x78, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x69, 0x67, 0x68, 0x74, 0x10, 0x02, 0x22,
0xed, 0x01, 0x0a, 0x0a, 0x53, 0x70, 0x6b, 0x73, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x2f,
>>>>>>> 9595fe9f6f4441ee880bc564686aee8f9e3d2576
2023-12-14 13:04:48 +08:00
0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17,
0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d,
0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12,
0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63,
2024-01-17 17:49:11 +08:00
0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x6c, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28,
<<<<<<< HEAD
2024-01-17 17:49:11 +08:00
0x08, 0x52, 0x04, 0x66, 0x6c, 0x69, 0x70, 0x12, 0x2a, 0x0a, 0x10, 0x6f, 0x6c, 0x64, 0x72, 0x65,
0x66, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x44, 0x6f, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28,
0x09, 0x52, 0x10, 0x6f, 0x6c, 0x64, 0x72, 0x65, 0x66, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x44,
0x6f, 0x6f, 0x72, 0x12, 0x2e, 0x0a, 0x12, 0x72, 0x65, 0x66, 0x47, 0x61, 0x74, 0x65, 0x64, 0x42,
0x6f, 0x78, 0x4d, 0x61, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52,
0x12, 0x72, 0x65, 0x66, 0x47, 0x61, 0x74, 0x65, 0x64, 0x42, 0x6f, 0x78, 0x4d, 0x61, 0x70, 0x43,
0x6f, 0x64, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x65, 0x66, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e,
0x44, 0x6f, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x72, 0x65, 0x66, 0x53,
0x63, 0x72, 0x65, 0x65, 0x6e, 0x44, 0x6f, 0x6f, 0x72, 0x22, 0x9e, 0x01, 0x0a, 0x0f, 0x53, 0x6c,
0x6f, 0x70, 0x65, 0x4b, 0x69, 0x6c, 0x6f, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x2f, 0x0a,
=======
2024-01-17 17:02:17 +08:00
0x08, 0x52, 0x04, 0x66, 0x6c, 0x69, 0x70, 0x12, 0x26, 0x0a, 0x0e, 0x6f, 0x6c, 0x64, 0x72, 0x65,
0x66, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52,
0x0e, 0x6f, 0x6c, 0x64, 0x72, 0x65, 0x66, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12,
0x20, 0x0a, 0x0b, 0x6f, 0x6c, 0x64, 0x72, 0x65, 0x66, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x18, 0x07,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x6c, 0x64, 0x72, 0x65, 0x66, 0x53, 0x74, 0x61, 0x6e,
0x64, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x66, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73,
0x18, 0x08, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x65, 0x66, 0x53, 0x65, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x66, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x18,
0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65, 0x66, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x22,
0xa2, 0x01, 0x0a, 0x09, 0x45, 0x73, 0x62, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x12, 0x2f, 0x0a,
>>>>>>> 9595fe9f6f4441ee880bc564686aee8f9e3d2576
2024-01-17 17:49:11 +08:00
0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e,
0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d,
0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x12,
0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f,
<<<<<<< HEAD
2024-01-17 17:49:11 +08:00
0x64, 0x65, 0x12, 0x46, 0x0a, 0x0f, 0x6b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53,
0x79, 0x73, 0x74, 0x65, 0x6d, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x72,
0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x69, 0x6c, 0x6f, 0x6d, 0x65,
0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x0f, 0x6b, 0x69, 0x6c, 0x6f, 0x6d,
0x65, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x22, 0xa2, 0x01, 0x0a, 0x13, 0x43,
0x75, 0x72, 0x76, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4b, 0x69, 0x6c, 0x6f, 0x4d, 0x61, 0x72, 0x6b,
0x65, 0x72, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61,
0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d,
0x6d, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x46, 0x0a, 0x0f, 0x6b, 0x69, 0x6c, 0x6f, 0x6d,
0x65, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x1c, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4b,
0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x0f,
0x6b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x22,
0xbc, 0x01, 0x0a, 0x06, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f,
0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61,
0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49,
0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63,
0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12,
0x32, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e,
0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x42, 0x65, 0x61, 0x63,
0x6f, 0x6e, 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74,
0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x6c, 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28,
0x08, 0x52, 0x04, 0x66, 0x6c, 0x69, 0x70, 0x22, 0x25, 0x0a, 0x0a, 0x42, 0x65, 0x61, 0x63, 0x6f,
0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x10,
0x00, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x10, 0x01, 0x22, 0xd0,
0x01, 0x0a, 0x05, 0x53, 0x6c, 0x6f, 0x70, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d,
0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68,
0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66,
0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x06, 0x70, 0x6f, 0x69,
0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x61, 0x70,
0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x06, 0x70,
0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x6c, 0x6f, 0x70, 0x65, 0x4e, 0x75,
0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0b, 0x73, 0x6c, 0x6f, 0x70,
0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0e, 0x6f, 0x6c, 0x64, 0x72, 0x65,
0x66, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52,
0x0e, 0x6f, 0x6c, 0x64, 0x72, 0x65, 0x66, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12,
0x20, 0x0a, 0x0b, 0x72, 0x65, 0x66, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x05,
0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x65, 0x66, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49,
0x64, 0x22, 0xdc, 0x01, 0x0a, 0x09, 0x43, 0x75, 0x72, 0x76, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12,
2023-12-14 13:04:48 +08:00
0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f,
0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
2024-01-17 17:49:11 +08:00
0x12, 0x2a, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x12, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x50,
0x6f, 0x69, 0x6e, 0x74, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x28, 0x0a, 0x0f,
0x63, 0x75, 0x72, 0x76, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18,
0x03, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0f, 0x63, 0x75, 0x72, 0x76, 0x61, 0x74, 0x75, 0x72, 0x65,
0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0e, 0x6f, 0x6c, 0x64, 0x72, 0x65, 0x66,
0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e,
0x6f, 0x6c, 0x64, 0x72, 0x65, 0x66, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x20,
0x0a, 0x0b, 0x72, 0x65, 0x66, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x05, 0x20,
0x03, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x65, 0x66, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64,
0x22, 0xb7, 0x01, 0x0a, 0x0e, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x75, 0x72, 0x65, 0x54, 0x69,
0x6d, 0x65, 0x72, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74,
0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f,
0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x6c, 0x64, 0x72,
0x65, 0x66, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f,
0x6c, 0x64, 0x72, 0x65, 0x66, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x75,
0x6e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0c, 0x72, 0x75, 0x6e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a,
0x0a, 0x08, 0x72, 0x65, 0x66, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d,
0x52, 0x08, 0x72, 0x65, 0x66, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x22, 0xbc, 0x01, 0x0a, 0x0d, 0x41,
0x75, 0x74, 0x6f, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x78, 0x12, 0x2f, 0x0a, 0x06,
0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67,
0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f,
0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x12, 0x0a,
0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64,
0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x6c, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52,
0x04, 0x66, 0x6c, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04,
0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x20, 0x0a, 0x0b, 0x6f,
0x6c, 0x64, 0x72, 0x65, 0x66, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0b, 0x6f, 0x6c, 0x64, 0x72, 0x65, 0x66, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x12, 0x1a, 0x0a,
0x08, 0x72, 0x65, 0x66, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52,
0x08, 0x72, 0x65, 0x66, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x22, 0x79, 0x0a, 0x17, 0x55, 0x6e, 0x69,
0x71, 0x75, 0x65, 0x49, 0x64, 0x4f, 0x66, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61,
0x79, 0x6f, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x69, 0x6e, 0x65,
0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x64,
0x12, 0x32, 0x0a, 0x14, 0x6d, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61,
0x74, 0x65, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14,
2023-12-14 13:04:48 +08:00
0x6d, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x53, 0x79,
2024-01-17 17:49:11 +08:00
0x73, 0x74, 0x65, 0x6d, 0x22, 0x90, 0x01, 0x0a, 0x10, 0x4b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74,
0x65, 0x72, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x12, 0x2e, 0x0a, 0x03, 0x6b, 0x6d, 0x41,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63,
0x44, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x79,
0x73, 0x74, 0x65, 0x6d, 0x52, 0x03, 0x6b, 0x6d, 0x41, 0x12, 0x2e, 0x0a, 0x03, 0x6b, 0x6d, 0x42,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63,
0x44, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x79,
0x73, 0x74, 0x65, 0x6d, 0x52, 0x03, 0x6b, 0x6d, 0x42, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x61, 0x6d,
0x65, 0x54, 0x72, 0x65, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x61,
0x6d, 0x65, 0x54, 0x72, 0x65, 0x6e, 0x64, 0x22, 0xbd, 0x01, 0x0a, 0x13, 0x53, 0x74, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12,
0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63,
0x6f, 0x64, 0x65, 0x12, 0x4e, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e,
0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x44, 0x65, 0x76, 0x69,
0x63, 0x65, 0x43, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x79, 0x70,
0x65, 0x52, 0x10, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x79,
0x70, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70,
0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69,
0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x66,
0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x64, 0x65, 0x76,
0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x71, 0x0a, 0x15, 0x44, 0x65, 0x76, 0x69, 0x63,
0x65, 0x43, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x79, 0x70, 0x65,
0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
0x63, 0x6f, 0x64, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x6f, 0x6c, 0x64, 0x72, 0x65, 0x66, 0x44, 0x65,
0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x6c, 0x64,
0x72, 0x65, 0x66, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65,
0x66, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a,
0x72, 0x65, 0x66, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x22, 0xbe, 0x01, 0x0a, 0x10, 0x53,
0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12,
0x34, 0x0a, 0x15, 0x6f, 0x6c, 0x64, 0x43, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x69, 0x7a, 0x65,
0x64, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15,
0x6f, 0x6c, 0x64, 0x43, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x53, 0x74,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0d, 0x6f, 0x6c, 0x64, 0x73, 0x65, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x6c,
0x64, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x73,
0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52,
0x0a, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x12, 0x2e, 0x0a, 0x12, 0x63,
2023-12-14 13:04:48 +08:00
0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f,
2024-01-17 17:49:11 +08:00
0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c,
0x69, 0x7a, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9c, 0x02, 0x0a, 0x05,
0x54, 0x72, 0x61, 0x69, 0x6e, 0x12, 0x3d, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x4d, 0x6f,
0x64, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x67, 0x72, 0x61, 0x70,
0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x2e, 0x54, 0x72,
0x61, 0x69, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x0a, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x4d,
0x6f, 0x64, 0x65, 0x6c, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x61, 0x72, 0x72, 0x69, 0x61, 0x67, 0x65,
0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x63, 0x61,
0x72, 0x72, 0x69, 0x61, 0x67, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x20, 0x0a, 0x0b,
0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28,
0x05, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x20,
0x0a, 0x0b, 0x6d, 0x69, 0x6e, 0x44, 0x69, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20,
0x01, 0x28, 0x05, 0x52, 0x0b, 0x6d, 0x69, 0x6e, 0x44, 0x69, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72,
0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x44, 0x69, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x18,
0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x44, 0x69, 0x61, 0x6d, 0x65, 0x74,
0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x53, 0x65, 0x74, 0x73, 0x18,
0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x53, 0x65, 0x74, 0x73,
0x22, 0x28, 0x0a, 0x0a, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x05,
0x0a, 0x01, 0x41, 0x10, 0x00, 0x12, 0x05, 0x0a, 0x01, 0x42, 0x10, 0x01, 0x12, 0x05, 0x0a, 0x01,
0x43, 0x10, 0x02, 0x12, 0x05, 0x0a, 0x01, 0x44, 0x10, 0x03, 0x22, 0x49, 0x0a, 0x09, 0x4f, 0x74,
0x68, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f,
0x6c, 0x64, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x6c, 0x64,
0x69, 0x64, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d,
0x52, 0x03, 0x69, 0x64, 0x73, 0x2a, 0x1d, 0x0a, 0x09, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x12, 0x06, 0x0a, 0x02, 0x55, 0x50, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x4f,
0x57, 0x4e, 0x10, 0x01, 0x42, 0x69, 0x0a, 0x25, 0x63, 0x6c, 0x75, 0x62, 0x2e, 0x6a, 0x6f, 0x79,
0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x62, 0x6a, 0x72, 0x74, 0x73, 0x73, 0x2e, 0x61, 0x74, 0x73, 0x2e,
0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x42, 0x13, 0x4c,
0x61, 0x79, 0x6f, 0x75, 0x74, 0x47, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x50, 0x72, 0x6f,
0x74, 0x6f, 0x5a, 0x2b, 0x6a, 0x6f, 0x79, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x63, 0x6c, 0x75, 0x62,
0x2f, 0x62, 0x6a, 0x2d, 0x72, 0x74, 0x73, 0x74, 0x73, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72,
0x2f, 0x64, 0x74, 0x6f, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
=======
2024-01-17 17:02:17 +08:00
0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x6c, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08,
0x52, 0x04, 0x66, 0x6c, 0x69, 0x70, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x6c, 0x64, 0x72, 0x65, 0x66,
0x53, 0x74, 0x61, 0x6e, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x6c, 0x64,
0x72, 0x65, 0x66, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x66, 0x53,
0x74, 0x61, 0x6e, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65, 0x66, 0x53,
0x74, 0x61, 0x6e, 0x64, 0x22, 0xe5, 0x01, 0x0a, 0x08, 0x47, 0x61, 0x74, 0x65, 0x64, 0x42, 0x6f,
0x78, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e,
0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d,
0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x6c, 0x69, 0x70, 0x18, 0x03,
0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x66, 0x6c, 0x69, 0x70, 0x12, 0x2a, 0x0a, 0x10, 0x6f, 0x6c,
0x64, 0x72, 0x65, 0x66, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x44, 0x6f, 0x6f, 0x72, 0x18, 0x05,
0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6f, 0x6c, 0x64, 0x72, 0x65, 0x66, 0x53, 0x63, 0x72, 0x65,
0x65, 0x6e, 0x44, 0x6f, 0x6f, 0x72, 0x12, 0x2e, 0x0a, 0x12, 0x72, 0x65, 0x66, 0x47, 0x61, 0x74,
0x65, 0x64, 0x42, 0x6f, 0x78, 0x4d, 0x61, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01,
0x28, 0x09, 0x52, 0x12, 0x72, 0x65, 0x66, 0x47, 0x61, 0x74, 0x65, 0x64, 0x42, 0x6f, 0x78, 0x4d,
0x61, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x65, 0x66, 0x53, 0x63, 0x72,
0x65, 0x65, 0x6e, 0x44, 0x6f, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x72,
0x65, 0x66, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x44, 0x6f, 0x6f, 0x72, 0x22, 0x9e, 0x01, 0x0a,
0x0f, 0x53, 0x6c, 0x6f, 0x70, 0x65, 0x4b, 0x69, 0x6c, 0x6f, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x72,
0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43,
0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x46, 0x0a, 0x0f, 0x6b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74,
0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c,
0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x69, 0x6c,
0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x0f, 0x6b, 0x69,
0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x22, 0xa2, 0x01,
0x0a, 0x13, 0x43, 0x75, 0x72, 0x76, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4b, 0x69, 0x6c, 0x6f, 0x4d,
0x61, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44,
0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06,
0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x46, 0x0a, 0x0f, 0x6b, 0x69,
0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x18, 0x04, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74,
0x61, 0x2e, 0x4b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65,
0x6d, 0x52, 0x0f, 0x6b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74,
0x65, 0x6d, 0x22, 0xbc, 0x01, 0x0a, 0x06, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x12, 0x2f, 0x0a,
0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e,
0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d,
0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x12,
0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f,
0x64, 0x65, 0x12, 0x32, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e,
0x32, 0x1e, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x42,
0x65, 0x61, 0x63, 0x6f, 0x6e, 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65,
0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x6c, 0x69, 0x70, 0x18, 0x04,
0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x66, 0x6c, 0x69, 0x70, 0x22, 0x25, 0x0a, 0x0a, 0x42, 0x65,
0x61, 0x63, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74,
0x69, 0x63, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x10,
0x01, 0x22, 0xd0, 0x01, 0x0a, 0x05, 0x53, 0x6c, 0x6f, 0x70, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x63,
2023-12-14 13:04:48 +08:00
0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72,
0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x06,
0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67,
0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x6f, 0x69, 0x6e, 0x74,
2024-01-17 17:02:17 +08:00
0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x6c, 0x6f, 0x70,
0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0b, 0x73,
0x6c, 0x6f, 0x70, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0e, 0x6f, 0x6c,
0x64, 0x72, 0x65, 0x66, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x04, 0x20, 0x03,
0x28, 0x09, 0x52, 0x0e, 0x6f, 0x6c, 0x64, 0x72, 0x65, 0x66, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x66, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49,
0x64, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x65, 0x66, 0x44, 0x65, 0x76, 0x69,
0x63, 0x65, 0x49, 0x64, 0x22, 0xdc, 0x01, 0x0a, 0x09, 0x43, 0x75, 0x72, 0x76, 0x61, 0x74, 0x75,
0x72, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61,
0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d,
0x6d, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74,
0x61, 0x2e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x06, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12,
0x28, 0x0a, 0x0f, 0x63, 0x75, 0x72, 0x76, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4e, 0x75, 0x6d, 0x62,
0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0f, 0x63, 0x75, 0x72, 0x76, 0x61, 0x74,
0x75, 0x72, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0e, 0x6f, 0x6c, 0x64,
0x72, 0x65, 0x66, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28,
0x09, 0x52, 0x0e, 0x6f, 0x6c, 0x64, 0x72, 0x65, 0x66, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49,
0x64, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x66, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64,
0x18, 0x05, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x65, 0x66, 0x44, 0x65, 0x76, 0x69, 0x63,
0x65, 0x49, 0x64, 0x22, 0xb7, 0x01, 0x0a, 0x0e, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x75, 0x72,
0x65, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63,
0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52,
0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6f,
0x6c, 0x64, 0x72, 0x65, 0x66, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0b, 0x6f, 0x6c, 0x64, 0x72, 0x65, 0x66, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x12, 0x22, 0x0a,
0x0c, 0x72, 0x75, 0x6e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x75, 0x6e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f,
0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x66, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x18, 0x05, 0x20,
0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65, 0x66, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x22, 0xbc, 0x01,
0x0a, 0x0d, 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x78, 0x12,
2023-12-14 13:04:48 +08:00
0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x17, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f,
0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
2024-01-17 17:02:17 +08:00
0x63, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x6c, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01,
0x28, 0x08, 0x52, 0x04, 0x66, 0x6c, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65,
0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x20,
0x0a, 0x0b, 0x6f, 0x6c, 0x64, 0x72, 0x65, 0x66, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x18, 0x05, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x6c, 0x64, 0x72, 0x65, 0x66, 0x53, 0x74, 0x61, 0x6e, 0x64,
0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x66, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x18, 0x06, 0x20, 0x01,
0x28, 0x0d, 0x52, 0x08, 0x72, 0x65, 0x66, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x22, 0x79, 0x0a, 0x17,
0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x49, 0x64, 0x4f, 0x66, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x69, 0x74, 0x79, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x6c,
0x69, 0x6e, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x69, 0x6e,
0x65, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x14, 0x6d, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6f, 0x72, 0x64,
0x69, 0x6e, 0x61, 0x74, 0x65, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28,
0x09, 0x52, 0x14, 0x6d, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74,
0x65, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x22, 0x90, 0x01, 0x0a, 0x10, 0x4b, 0x69, 0x6c, 0x6f,
0x6d, 0x65, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x12, 0x2e, 0x0a, 0x03,
0x6b, 0x6d, 0x41, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x72, 0x61, 0x70,
0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65,
0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x03, 0x6b, 0x6d, 0x41, 0x12, 0x2e, 0x0a, 0x03,
0x6b, 0x6d, 0x42, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x72, 0x61, 0x70,
0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x69, 0x6c, 0x6f, 0x6d, 0x65, 0x74, 0x65,
0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x03, 0x6b, 0x6d, 0x42, 0x12, 0x1c, 0x0a, 0x09,
0x73, 0x61, 0x6d, 0x65, 0x54, 0x72, 0x65, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52,
0x09, 0x73, 0x61, 0x6d, 0x65, 0x54, 0x72, 0x65, 0x6e, 0x64, 0x22, 0xbd, 0x01, 0x0a, 0x13, 0x53,
0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x65, 0x76, 0x69,
0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x4e, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x22, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x44,
0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x74, 0x79, 0x70, 0x65, 0x52, 0x10, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65,
0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x67, 0x72, 0x61,
0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64,
0x52, 0x65, 0x66, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a,
0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x71, 0x0a, 0x15, 0x44, 0x65,
0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74,
0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x6f, 0x6c, 0x64, 0x72, 0x65,
0x66, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d,
0x6f, 0x6c, 0x64, 0x72, 0x65, 0x66, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x1e, 0x0a,
0x0a, 0x72, 0x65, 0x66, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28,
0x0d, 0x52, 0x0a, 0x72, 0x65, 0x66, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x22, 0xbe, 0x01,
0x0a, 0x10, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x69,
0x6e, 0x74, 0x12, 0x34, 0x0a, 0x15, 0x6f, 0x6c, 0x64, 0x43, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c,
0x69, 0x7a, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x15, 0x6f, 0x6c, 0x64, 0x43, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x69, 0x7a, 0x65,
0x64, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0d, 0x6f, 0x6c, 0x64, 0x73,
0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52,
0x0d, 0x6f, 0x6c, 0x64, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x12, 0x1e,
0x0a, 0x0a, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03,
0x28, 0x0d, 0x52, 0x0a, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x12, 0x2e,
0x0a, 0x12, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x53, 0x74, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x63, 0x65, 0x6e, 0x74,
0x72, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xde,
0x02, 0x0a, 0x05, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x12, 0x3d, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x69,
0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x67,
0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e,
0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x0a, 0x74, 0x72, 0x61,
0x69, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x61, 0x72, 0x72, 0x69,
0x61, 0x67, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
0x0e, 0x63, 0x61, 0x72, 0x72, 0x69, 0x61, 0x67, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12,
0x20, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x03,
0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4c, 0x65, 0x6e, 0x67, 0x74,
0x68, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x69, 0x6e, 0x44, 0x69, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72,
0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6d, 0x69, 0x6e, 0x44, 0x69, 0x61, 0x6d, 0x65,
0x74, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x44, 0x69, 0x61, 0x6d, 0x65, 0x74,
0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x44, 0x69, 0x61,
0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x53, 0x65,
0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x53,
0x65, 0x74, 0x73, 0x12, 0x40, 0x0a, 0x0d, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x43, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x6d,
0x6d, 0x6f, 0x6e, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63,
0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x43,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x28, 0x0a, 0x0a, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4d, 0x6f,
0x64, 0x65, 0x6c, 0x12, 0x05, 0x0a, 0x01, 0x41, 0x10, 0x00, 0x12, 0x05, 0x0a, 0x01, 0x42, 0x10,
0x01, 0x12, 0x05, 0x0a, 0x01, 0x43, 0x10, 0x02, 0x12, 0x05, 0x0a, 0x01, 0x44, 0x10, 0x03, 0x22,
0x49, 0x0a, 0x09, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x65, 0x12, 0x12, 0x0a, 0x04,
0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
0x12, 0x16, 0x0a, 0x06, 0x6f, 0x6c, 0x64, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09,
0x52, 0x06, 0x6f, 0x6c, 0x64, 0x69, 0x64, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18,
0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x03, 0x69, 0x64, 0x73, 0x2a, 0x1d, 0x0a, 0x09, 0x44, 0x69,
0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x06, 0x0a, 0x02, 0x55, 0x50, 0x10, 0x00, 0x12,
0x08, 0x0a, 0x04, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x01, 0x42, 0x69, 0x0a, 0x25, 0x63, 0x6c, 0x75,
0x62, 0x2e, 0x6a, 0x6f, 0x79, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x62, 0x6a, 0x72, 0x74, 0x73, 0x73,
0x2e, 0x61, 0x74, 0x73, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x73, 0x42, 0x13, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x47, 0x72, 0x61, 0x70, 0x68, 0x69,
0x63, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x5a, 0x2b, 0x6a, 0x6f, 0x79, 0x6c, 0x69, 0x6e, 0x6b,
0x2e, 0x63, 0x6c, 0x75, 0x62, 0x2f, 0x62, 0x6a, 0x2d, 0x72, 0x74, 0x73, 0x74, 0x73, 0x2d, 0x73,
0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x64, 0x74, 0x6f, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
>>>>>>> 9595fe9f6f4441ee880bc564686aee8f9e3d2576
2023-07-28 15:57:37 +08:00
}
var (
file_stationLayoutGraphics_proto_rawDescOnce sync.Once
file_stationLayoutGraphics_proto_rawDescData = file_stationLayoutGraphics_proto_rawDesc
)
func file_stationLayoutGraphics_proto_rawDescGZIP() []byte {
file_stationLayoutGraphics_proto_rawDescOnce.Do(func() {
file_stationLayoutGraphics_proto_rawDescData = protoimpl.X.CompressGZIP(file_stationLayoutGraphics_proto_rawDescData)
})
return file_stationLayoutGraphics_proto_rawDescData
}
2023-12-08 16:46:50 +08:00
var file_stationLayoutGraphics_proto_enumTypes = make([]protoimpl.EnumInfo, 17)
2023-12-14 13:04:48 +08:00
var file_stationLayoutGraphics_proto_msgTypes = make([]protoimpl.MessageInfo, 49)
2023-07-28 15:57:37 +08:00
var file_stationLayoutGraphics_proto_goTypes = []interface{}{
2024-01-17 17:02:17 +08:00
(Direction)(0), // 0: graphicData.Direction
(Polygon_PolygonType)(0), // 1: graphicData.Polygon.PolygonType
(Platform_TypeOfPlatform)(0), // 2: graphicData.Platform.TypeOfPlatform
(AxleCounting_TypeDetectionPoint)(0), // 3: graphicData.AxleCounting.TypeDetectionPoint
(Turnout_SwitchMachineType)(0), // 4: graphicData.Turnout.SwitchMachineType
(KilometerSystem_Direction)(0), // 5: graphicData.KilometerSystem.Direction
(Signal_Model)(0), // 6: graphicData.Signal.Model
(Section_SectionType)(0), // 7: graphicData.Section.SectionType
(Section_RunningDirection)(0), // 8: graphicData.Section.RunningDirection
(RelatedRef_DeviceType)(0), // 9: graphicData.RelatedRef.DeviceType
(RelatedRef_DevicePort)(0), // 10: graphicData.RelatedRef.DevicePort
(Transponder_TransponderTypeEnum)(0), // 11: graphicData.Transponder.TransponderTypeEnum
(SimpleRef_DeviceType)(0), // 12: graphicData.SimpleRef.DeviceType
(TrackSection_TrackSectionType)(0), // 13: graphicData.TrackSection.TrackSectionType
(StopPosition_CoachNum)(0), // 14: graphicData.StopPosition.CoachNum
(Beacon_BeaconType)(0), // 15: graphicData.Beacon.BeaconType
(Train_TrainModel)(0), // 16: graphicData.Train.TrainModel
(*RtssGraphicStorage)(nil), // 17: graphicData.RtssGraphicStorage
(*Canvas)(nil), // 18: graphicData.Canvas
(*Point)(nil), // 19: graphicData.Point
(*Transform)(nil), // 20: graphicData.Transform
(*ChildTransform)(nil), // 21: graphicData.ChildTransform
(*CommonInfo)(nil), // 22: graphicData.CommonInfo
(*Polygon)(nil), // 23: graphicData.Polygon
(*ConcentrationDividingLine)(nil), // 24: graphicData.ConcentrationDividingLine
(*NodeConWithSec)(nil), // 25: graphicData.NodeConWithSec
(*Platform)(nil), // 26: graphicData.Platform
(*ScreenDoor)(nil), // 27: graphicData.ScreenDoor
(*ScreenDoorConfig)(nil), // 28: graphicData.ScreenDoorConfig
(*ScreenDoorGroup)(nil), // 29: graphicData.ScreenDoorGroup
(*Station)(nil), // 30: graphicData.Station
(*TrainWindow)(nil), // 31: graphicData.TrainWindow
(*AxleCounting)(nil), // 32: graphicData.AxleCounting
(*GenerateAxleCountingConfig)(nil), // 33: graphicData.GenerateAxleCountingConfig
(*Turnout)(nil), // 34: graphicData.Turnout
(*KilometerSystem)(nil), // 35: graphicData.KilometerSystem
(*Signal)(nil), // 36: graphicData.Signal
(*Section)(nil), // 37: graphicData.Section
(*RelatedRef)(nil), // 38: graphicData.RelatedRef
(*TurnoutPosRef)(nil), // 39: graphicData.TurnoutPosRef
(*Separator)(nil), // 40: graphicData.Separator
(*Transponder)(nil), // 41: graphicData.Transponder
(*SimpleRef)(nil), // 42: graphicData.SimpleRef
(*SectionLink)(nil), // 43: graphicData.SectionLink
(*AxleCountingSection)(nil), // 44: graphicData.AxleCountingSection
(*LogicSection)(nil), // 45: graphicData.LogicSection
(*TrackSection)(nil), // 46: graphicData.TrackSection
(*TrackLogicSection)(nil), // 47: graphicData.TrackLogicSection
(*StopPosition)(nil), // 48: graphicData.StopPosition
(*SpksSwitch)(nil), // 49: graphicData.SpksSwitch
(*EsbButton)(nil), // 50: graphicData.EsbButton
(*GatedBox)(nil), // 51: graphicData.GatedBox
(*SlopeKiloMarker)(nil), // 52: graphicData.SlopeKiloMarker
(*CurvatureKiloMarker)(nil), // 53: graphicData.CurvatureKiloMarker
(*Beacon)(nil), // 54: graphicData.Beacon
(*Slope)(nil), // 55: graphicData.Slope
(*Curvature)(nil), // 56: graphicData.Curvature
(*DepartureTimer)(nil), // 57: graphicData.DepartureTimer
(*AutoReturnBox)(nil), // 58: graphicData.AutoReturnBox
(*UniqueIdOfStationLayout)(nil), // 59: graphicData.UniqueIdOfStationLayout
(*KilometerConvert)(nil), // 60: graphicData.KilometerConvert
(*StationRelateDevice)(nil), // 61: graphicData.StationRelateDevice
(*DeviceCombinationtype)(nil), // 62: graphicData.DeviceCombinationtype
(*SectionCodePoint)(nil), // 63: graphicData.SectionCodePoint
(*Train)(nil), // 64: graphicData.Train
(*OtherLine)(nil), // 65: graphicData.OtherLine
(*common_proto.TrainDynamicConfig)(nil), // 66: common.TrainDynamicConfig
2023-07-28 15:57:37 +08:00
}
var file_stationLayoutGraphics_proto_depIdxs = []int32{
2023-12-08 16:46:50 +08:00
18, // 0: graphicData.RtssGraphicStorage.canvas:type_name -> graphicData.Canvas
26, // 1: graphicData.RtssGraphicStorage.Platforms:type_name -> graphicData.Platform
30, // 2: graphicData.RtssGraphicStorage.stations:type_name -> graphicData.Station
2023-12-14 13:04:48 +08:00
64, // 3: graphicData.RtssGraphicStorage.train:type_name -> graphicData.Train
2023-12-08 16:46:50 +08:00
36, // 4: graphicData.RtssGraphicStorage.signals:type_name -> graphicData.Signal
34, // 5: graphicData.RtssGraphicStorage.turnouts:type_name -> graphicData.Turnout
37, // 6: graphicData.RtssGraphicStorage.section:type_name -> graphicData.Section
23, // 7: graphicData.RtssGraphicStorage.polygons:type_name -> graphicData.Polygon
31, // 8: graphicData.RtssGraphicStorage.trainWindows:type_name -> graphicData.TrainWindow
32, // 9: graphicData.RtssGraphicStorage.axleCountings:type_name -> graphicData.AxleCounting
40, // 10: graphicData.RtssGraphicStorage.separators:type_name -> graphicData.Separator
43, // 11: graphicData.RtssGraphicStorage.sectionLinks:type_name -> graphicData.SectionLink
44, // 12: graphicData.RtssGraphicStorage.axleCountingSections:type_name -> graphicData.AxleCountingSection
45, // 13: graphicData.RtssGraphicStorage.logicSections:type_name -> graphicData.LogicSection
48, // 14: graphicData.RtssGraphicStorage.stopPositions:type_name -> graphicData.StopPosition
49, // 15: graphicData.RtssGraphicStorage.spksSwitchs:type_name -> graphicData.SpksSwitch
50, // 16: graphicData.RtssGraphicStorage.esbButtons:type_name -> graphicData.EsbButton
51, // 17: graphicData.RtssGraphicStorage.gateBoxs:type_name -> graphicData.GatedBox
41, // 18: graphicData.RtssGraphicStorage.transponders:type_name -> graphicData.Transponder
55, // 19: graphicData.RtssGraphicStorage.slopes:type_name -> graphicData.Slope
2023-12-14 13:04:48 +08:00
52, // 20: graphicData.RtssGraphicStorage.slopeKiloMarker:type_name -> graphicData.SlopeKiloMarker
53, // 21: graphicData.RtssGraphicStorage.curvatureKiloMarker:type_name -> graphicData.CurvatureKiloMarker
56, // 22: graphicData.RtssGraphicStorage.curvatures:type_name -> graphicData.Curvature
46, // 23: graphicData.RtssGraphicStorage.trackSections:type_name -> graphicData.TrackSection
47, // 24: graphicData.RtssGraphicStorage.trackLogicSections:type_name -> graphicData.TrackLogicSection
59, // 25: graphicData.RtssGraphicStorage.UniqueIdPrefix:type_name -> graphicData.UniqueIdOfStationLayout
60, // 26: graphicData.RtssGraphicStorage.kilometerConvertList:type_name -> graphicData.KilometerConvert
27, // 27: graphicData.RtssGraphicStorage.screenDoors:type_name -> graphicData.ScreenDoor
61, // 28: graphicData.RtssGraphicStorage.stationRelateDeviceList:type_name -> graphicData.StationRelateDevice
63, // 29: graphicData.RtssGraphicStorage.sectionCodePointList:type_name -> graphicData.SectionCodePoint
28, // 30: graphicData.RtssGraphicStorage.screenDoorConfig:type_name -> graphicData.ScreenDoorConfig
54, // 31: graphicData.RtssGraphicStorage.beacons:type_name -> graphicData.Beacon
33, // 32: graphicData.RtssGraphicStorage.generateAxleCountingConfig:type_name -> graphicData.GenerateAxleCountingConfig
57, // 33: graphicData.RtssGraphicStorage.departureTimers:type_name -> graphicData.DepartureTimer
58, // 34: graphicData.RtssGraphicStorage.autoReturnBoxs:type_name -> graphicData.AutoReturnBox
24, // 35: graphicData.RtssGraphicStorage.concentrationDividingLines:type_name -> graphicData.ConcentrationDividingLine
65, // 36: graphicData.RtssGraphicStorage.otherLineList:type_name -> graphicData.OtherLine
20, // 37: graphicData.Canvas.viewportTransform:type_name -> graphicData.Transform
19, // 38: graphicData.Transform.position:type_name -> graphicData.Point
19, // 39: graphicData.Transform.scale:type_name -> graphicData.Point
19, // 40: graphicData.Transform.skew:type_name -> graphicData.Point
20, // 41: graphicData.ChildTransform.transform:type_name -> graphicData.Transform
20, // 42: graphicData.CommonInfo.transform:type_name -> graphicData.Transform
21, // 43: graphicData.CommonInfo.childTransforms:type_name -> graphicData.ChildTransform
22, // 44: graphicData.Polygon.common:type_name -> graphicData.CommonInfo
1, // 45: graphicData.Polygon.polygonType:type_name -> graphicData.Polygon.PolygonType
19, // 46: graphicData.Polygon.points:type_name -> graphicData.Point
22, // 47: graphicData.ConcentrationDividingLine.common:type_name -> graphicData.CommonInfo
19, // 48: graphicData.ConcentrationDividingLine.points:type_name -> graphicData.Point
25, // 49: graphicData.ConcentrationDividingLine.nodeConWithSecs:type_name -> graphicData.NodeConWithSec
38, // 50: graphicData.NodeConWithSec.leftSection:type_name -> graphicData.RelatedRef
38, // 51: graphicData.NodeConWithSec.rightSection:type_name -> graphicData.RelatedRef
22, // 52: graphicData.Platform.common:type_name -> graphicData.CommonInfo
2, // 53: graphicData.Platform.type:type_name -> graphicData.Platform.TypeOfPlatform
22, // 54: graphicData.ScreenDoor.common:type_name -> graphicData.CommonInfo
29, // 55: graphicData.ScreenDoorConfig.screenDoorGroupList:type_name -> graphicData.ScreenDoorGroup
22, // 56: graphicData.Station.common:type_name -> graphicData.CommonInfo
35, // 57: graphicData.Station.kilometerSystem:type_name -> graphicData.KilometerSystem
22, // 58: graphicData.TrainWindow.common:type_name -> graphicData.CommonInfo
22, // 59: graphicData.AxleCounting.common:type_name -> graphicData.CommonInfo
35, // 60: graphicData.AxleCounting.kilometerSystem:type_name -> graphicData.KilometerSystem
38, // 61: graphicData.AxleCounting.axleCountingRef:type_name -> graphicData.RelatedRef
3, // 62: graphicData.AxleCounting.type:type_name -> graphicData.AxleCounting.TypeDetectionPoint
22, // 63: graphicData.Turnout.common:type_name -> graphicData.CommonInfo
19, // 64: graphicData.Turnout.pointA:type_name -> graphicData.Point
19, // 65: graphicData.Turnout.pointB:type_name -> graphicData.Point
19, // 66: graphicData.Turnout.pointC:type_name -> graphicData.Point
38, // 67: graphicData.Turnout.paRef:type_name -> graphicData.RelatedRef
38, // 68: graphicData.Turnout.pbRef:type_name -> graphicData.RelatedRef
38, // 69: graphicData.Turnout.pcRef:type_name -> graphicData.RelatedRef
35, // 70: graphicData.Turnout.kilometerSystem:type_name -> graphicData.KilometerSystem
4, // 71: graphicData.Turnout.switchMachineType:type_name -> graphicData.Turnout.SwitchMachineType
5, // 72: graphicData.KilometerSystem.direction:type_name -> graphicData.KilometerSystem.Direction
22, // 73: graphicData.Signal.common:type_name -> graphicData.CommonInfo
35, // 74: graphicData.Signal.kilometerSystem:type_name -> graphicData.KilometerSystem
38, // 75: graphicData.Signal.refDev:type_name -> graphicData.RelatedRef
6, // 76: graphicData.Signal.mt:type_name -> graphicData.Signal.Model
0, // 77: graphicData.Signal.direction:type_name -> graphicData.Direction
22, // 78: graphicData.Section.common:type_name -> graphicData.CommonInfo
19, // 79: graphicData.Section.points:type_name -> graphicData.Point
38, // 80: graphicData.Section.paRef:type_name -> graphicData.RelatedRef
38, // 81: graphicData.Section.pbRef:type_name -> graphicData.RelatedRef
7, // 82: graphicData.Section.sectionType:type_name -> graphicData.Section.SectionType
8, // 83: graphicData.Section.normalRunningDirection:type_name -> graphicData.Section.RunningDirection
0, // 84: graphicData.Section.direction:type_name -> graphicData.Direction
9, // 85: graphicData.RelatedRef.deviceType:type_name -> graphicData.RelatedRef.DeviceType
10, // 86: graphicData.RelatedRef.devicePort:type_name -> graphicData.RelatedRef.DevicePort
22, // 87: graphicData.Separator.common:type_name -> graphicData.CommonInfo
22, // 88: graphicData.Transponder.common:type_name -> graphicData.CommonInfo
35, // 89: graphicData.Transponder.kilometerSystem:type_name -> graphicData.KilometerSystem
38, // 90: graphicData.Transponder.TransponderRef:type_name -> graphicData.RelatedRef
11, // 91: graphicData.Transponder.type:type_name -> graphicData.Transponder.TransponderTypeEnum
12, // 92: graphicData.SimpleRef.deviceType:type_name -> graphicData.SimpleRef.DeviceType
22, // 93: graphicData.SectionLink.common:type_name -> graphicData.CommonInfo
19, // 94: graphicData.SectionLink.points:type_name -> graphicData.Point
42, // 95: graphicData.SectionLink.aSimRef:type_name -> graphicData.SimpleRef
42, // 96: graphicData.SectionLink.bSimRef:type_name -> graphicData.SimpleRef
38, // 97: graphicData.SectionLink.aRef:type_name -> graphicData.RelatedRef
38, // 98: graphicData.SectionLink.bRef:type_name -> graphicData.RelatedRef
22, // 99: graphicData.AxleCountingSection.common:type_name -> graphicData.CommonInfo
19, // 100: graphicData.AxleCountingSection.points:type_name -> graphicData.Point
38, // 101: graphicData.AxleCountingSection.paRef:type_name -> graphicData.RelatedRef
38, // 102: graphicData.AxleCountingSection.pbRef:type_name -> graphicData.RelatedRef
39, // 103: graphicData.AxleCountingSection.turnoutPos:type_name -> graphicData.TurnoutPosRef
22, // 104: graphicData.LogicSection.common:type_name -> graphicData.CommonInfo
19, // 105: graphicData.LogicSection.points:type_name -> graphicData.Point
22, // 106: graphicData.TrackSection.common:type_name -> graphicData.CommonInfo
19, // 107: graphicData.TrackSection.points:type_name -> graphicData.Point
13, // 108: graphicData.TrackSection.type:type_name -> graphicData.TrackSection.TrackSectionType
22, // 109: graphicData.TrackLogicSection.common:type_name -> graphicData.CommonInfo
19, // 110: graphicData.TrackLogicSection.points:type_name -> graphicData.Point
22, // 111: graphicData.StopPosition.common:type_name -> graphicData.CommonInfo
14, // 112: graphicData.StopPosition.coachNum:type_name -> graphicData.StopPosition.CoachNum
35, // 113: graphicData.StopPosition.kilometerSystem:type_name -> graphicData.KilometerSystem
38, // 114: graphicData.StopPosition.refDev:type_name -> graphicData.RelatedRef
22, // 115: graphicData.SpksSwitch.common:type_name -> graphicData.CommonInfo
22, // 116: graphicData.EsbButton.common:type_name -> graphicData.CommonInfo
22, // 117: graphicData.GatedBox.common:type_name -> graphicData.CommonInfo
22, // 118: graphicData.SlopeKiloMarker.common:type_name -> graphicData.CommonInfo
35, // 119: graphicData.SlopeKiloMarker.kilometerSystem:type_name -> graphicData.KilometerSystem
22, // 120: graphicData.CurvatureKiloMarker.common:type_name -> graphicData.CommonInfo
35, // 121: graphicData.CurvatureKiloMarker.kilometerSystem:type_name -> graphicData.KilometerSystem
22, // 122: graphicData.Beacon.common:type_name -> graphicData.CommonInfo
15, // 123: graphicData.Beacon.type:type_name -> graphicData.Beacon.BeaconType
22, // 124: graphicData.Slope.common:type_name -> graphicData.CommonInfo
19, // 125: graphicData.Slope.points:type_name -> graphicData.Point
22, // 126: graphicData.Curvature.common:type_name -> graphicData.CommonInfo
19, // 127: graphicData.Curvature.points:type_name -> graphicData.Point
22, // 128: graphicData.DepartureTimer.common:type_name -> graphicData.CommonInfo
22, // 129: graphicData.AutoReturnBox.common:type_name -> graphicData.CommonInfo
35, // 130: graphicData.KilometerConvert.kmA:type_name -> graphicData.KilometerSystem
35, // 131: graphicData.KilometerConvert.kmB:type_name -> graphicData.KilometerSystem
62, // 132: graphicData.StationRelateDevice.combinationtypes:type_name -> graphicData.DeviceCombinationtype
9, // 133: graphicData.StationRelateDevice.deviceType:type_name -> graphicData.RelatedRef.DeviceType
16, // 134: graphicData.Train.trainModel:type_name -> graphicData.Train.TrainModel
2024-01-17 17:02:17 +08:00
66, // 135: graphicData.Train.dynamicConfig:type_name -> common.TrainDynamicConfig
136, // [136:136] is the sub-list for method output_type
136, // [136:136] is the sub-list for method input_type
136, // [136:136] is the sub-list for extension type_name
136, // [136:136] is the sub-list for extension extendee
0, // [0:136] is the sub-list for field type_name
2023-07-28 15:57:37 +08:00
}
func init() { file_stationLayoutGraphics_proto_init() }
func file_stationLayoutGraphics_proto_init() {
if File_stationLayoutGraphics_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_stationLayoutGraphics_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RtssGraphicStorage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Canvas); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Point); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Transform); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ChildTransform); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CommonInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
2023-12-05 13:59:27 +08:00
switch v := v.(*Polygon); i {
2023-07-28 15:57:37 +08:00
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
2023-12-05 13:59:27 +08:00
switch v := v.(*ConcentrationDividingLine); i {
2023-07-28 15:57:37 +08:00
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
2023-12-05 13:59:27 +08:00
switch v := v.(*NodeConWithSec); i {
2023-07-28 15:57:37 +08:00
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
2023-12-05 13:59:27 +08:00
switch v := v.(*Platform); i {
2023-07-28 15:57:37 +08:00
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
2023-12-05 13:59:27 +08:00
switch v := v.(*ScreenDoor); i {
2023-07-28 15:57:37 +08:00
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
2023-12-05 13:59:27 +08:00
switch v := v.(*ScreenDoorConfig); i {
2023-07-28 15:57:37 +08:00
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
2023-12-05 13:59:27 +08:00
switch v := v.(*ScreenDoorGroup); i {
2023-07-28 15:57:37 +08:00
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
2023-12-05 13:59:27 +08:00
switch v := v.(*Station); i {
2023-07-28 15:57:37 +08:00
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
2023-12-05 13:59:27 +08:00
switch v := v.(*TrainWindow); i {
2023-07-28 15:57:37 +08:00
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
2023-12-05 13:59:27 +08:00
switch v := v.(*AxleCounting); i {
2023-07-28 15:57:37 +08:00
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
2023-12-05 13:59:27 +08:00
switch v := v.(*GenerateAxleCountingConfig); i {
2023-07-28 15:57:37 +08:00
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
2023-12-05 13:59:27 +08:00
switch v := v.(*Turnout); i {
2023-07-28 15:57:37 +08:00
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
2023-12-05 13:59:27 +08:00
switch v := v.(*KilometerSystem); i {
2023-07-28 15:57:37 +08:00
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
2023-12-05 13:59:27 +08:00
switch v := v.(*Signal); i {
2023-07-28 15:57:37 +08:00
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
2023-12-05 13:59:27 +08:00
switch v := v.(*Section); i {
2023-07-28 15:57:37 +08:00
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
2023-12-05 13:59:27 +08:00
switch v := v.(*RelatedRef); i {
2023-07-28 15:57:37 +08:00
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
2023-12-05 13:59:27 +08:00
switch v := v.(*TurnoutPosRef); i {
2023-07-28 15:57:37 +08:00
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
2023-12-05 13:59:27 +08:00
switch v := v.(*Separator); i {
2023-07-28 15:57:37 +08:00
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
2023-12-05 13:59:27 +08:00
switch v := v.(*Transponder); i {
2023-07-28 15:57:37 +08:00
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
2023-12-05 13:59:27 +08:00
switch v := v.(*SimpleRef); i {
2023-07-28 15:57:37 +08:00
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
2023-08-07 15:05:37 +08:00
file_stationLayoutGraphics_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
2023-12-05 13:59:27 +08:00
switch v := v.(*SectionLink); i {
2023-08-07 15:05:37 +08:00
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
2023-12-05 13:59:27 +08:00
switch v := v.(*AxleCountingSection); i {
2023-08-07 15:05:37 +08:00
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
2023-12-05 13:59:27 +08:00
switch v := v.(*LogicSection); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
2023-12-05 13:59:27 +08:00
switch v := v.(*TrackSection); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
2023-12-05 13:59:27 +08:00
switch v := v.(*TrackLogicSection); i {
2023-08-08 18:09:13 +08:00
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
2023-12-05 13:59:27 +08:00
switch v := v.(*StopPosition); i {
2023-08-23 15:33:07 +08:00
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
2023-12-05 13:59:27 +08:00
switch v := v.(*SpksSwitch); i {
2023-08-23 15:33:07 +08:00
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
2023-12-05 13:59:27 +08:00
switch v := v.(*EsbButton); i {
2023-09-21 14:54:27 +08:00
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
2023-12-05 13:59:27 +08:00
switch v := v.(*GatedBox); i {
2023-09-26 09:34:23 +08:00
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
2023-12-05 13:59:27 +08:00
switch v := v.(*SlopeKiloMarker); i {
2023-10-13 15:57:09 +08:00
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
2023-12-05 13:59:27 +08:00
switch v := v.(*CurvatureKiloMarker); i {
2023-10-13 15:57:09 +08:00
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
2023-12-05 13:59:27 +08:00
switch v := v.(*Beacon); i {
2023-10-13 15:57:09 +08:00
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
2023-12-05 13:59:27 +08:00
switch v := v.(*Slope); i {
2023-10-13 15:57:09 +08:00
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
2023-12-05 13:59:27 +08:00
switch v := v.(*Curvature); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_stationLayoutGraphics_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
2023-12-05 13:59:27 +08:00
switch v := v.(*DepartureTimer); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
2023-12-14 13:04:48 +08:00
file_stationLayoutGraphics_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
2023-12-05 13:59:27 +08:00
switch v := v.(*AutoReturnBox); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
2023-12-14 13:04:48 +08:00
file_stationLayoutGraphics_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
2023-12-05 13:59:27 +08:00
switch v := v.(*UniqueIdOfStationLayout); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
2023-12-14 13:04:48 +08:00
file_stationLayoutGraphics_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
2023-12-05 13:59:27 +08:00
switch v := v.(*KilometerConvert); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
2023-12-14 13:04:48 +08:00
file_stationLayoutGraphics_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
2023-12-05 13:59:27 +08:00
switch v := v.(*StationRelateDevice); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
2023-12-14 13:04:48 +08:00
file_stationLayoutGraphics_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} {
2023-12-05 13:59:27 +08:00
switch v := v.(*DeviceCombinationtype); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
2023-12-14 13:04:48 +08:00
file_stationLayoutGraphics_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} {
2023-12-05 13:59:27 +08:00
switch v := v.(*SectionCodePoint); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
2023-12-14 13:04:48 +08:00
file_stationLayoutGraphics_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} {
2023-12-05 13:59:27 +08:00
switch v := v.(*Train); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
2023-12-14 13:04:48 +08:00
file_stationLayoutGraphics_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} {
2023-12-05 13:59:27 +08:00
switch v := v.(*OtherLine); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
2023-07-28 15:57:37 +08:00
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_stationLayoutGraphics_proto_rawDesc,
2023-12-08 16:46:50 +08:00
NumEnums: 17,
2023-12-14 13:04:48 +08:00
NumMessages: 49,
2023-07-28 15:57:37 +08:00
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_stationLayoutGraphics_proto_goTypes,
DependencyIndexes: file_stationLayoutGraphics_proto_depIdxs,
EnumInfos: file_stationLayoutGraphics_proto_enumTypes,
MessageInfos: file_stationLayoutGraphics_proto_msgTypes,
}.Build()
File_stationLayoutGraphics_proto = out.File
file_stationLayoutGraphics_proto_rawDesc = nil
file_stationLayoutGraphics_proto_goTypes = nil
file_stationLayoutGraphics_proto_depIdxs = nil
}