commit - c0fbba878a5f41c852d4e4b03127be7590fbbf35
commit + ea4bde5f1831b651791caeaf373d7f6b0ad7708c
blob - 5788340e22b05d662638bb8a941dffbe8e5afb40
blob + 439b49b9f14e187ea50d7935017c02b225f96ae0
--- device/command.pb.go
+++ device/command.pb.go
type Capability int32
const (
- Capability_READ Capability = 0
- Capability_WRITE Capability = 1
- Capability_DEBUG Capability = 2
- Capability_ADMIN Capability = 3
- Capability_SETUP Capability = 4
- Capability_SET_SKU Capability = 5
- Capability_REFRESH Capability = 6
+ Capability_READ Capability = 0
+ Capability_READ_INTERNAL Capability = 13
+ Capability_READ_PRIVATE Capability = 7
+ Capability_LOCAL Capability = 14
+ Capability_WRITE Capability = 1
+ Capability_WRITE_PERSISTENT Capability = 11
+ Capability_DEBUG Capability = 2
+ Capability_ADMIN Capability = 3
+ Capability_SETUP Capability = 4
+ Capability_SET_SKU Capability = 5
+ Capability_REFRESH Capability = 6
+ Capability_FUSE Capability = 8
+ Capability_RESET Capability = 9
+ Capability_TEST Capability = 10
+ Capability_SSH Capability = 12
)
// Enum value maps for Capability.
var (
Capability_name = map[int32]string{
- 0: "READ",
- 1: "WRITE",
- 2: "DEBUG",
- 3: "ADMIN",
- 4: "SETUP",
- 5: "SET_SKU",
- 6: "REFRESH",
+ 0: "READ",
+ 13: "READ_INTERNAL",
+ 7: "READ_PRIVATE",
+ 14: "LOCAL",
+ 1: "WRITE",
+ 11: "WRITE_PERSISTENT",
+ 2: "DEBUG",
+ 3: "ADMIN",
+ 4: "SETUP",
+ 5: "SET_SKU",
+ 6: "REFRESH",
+ 8: "FUSE",
+ 9: "RESET",
+ 10: "TEST",
+ 12: "SSH",
}
Capability_value = map[string]int32{
- "READ": 0,
- "WRITE": 1,
- "DEBUG": 2,
- "ADMIN": 3,
- "SETUP": 4,
- "SET_SKU": 5,
- "REFRESH": 6,
+ "READ": 0,
+ "READ_INTERNAL": 13,
+ "READ_PRIVATE": 7,
+ "LOCAL": 14,
+ "WRITE": 1,
+ "WRITE_PERSISTENT": 11,
+ "DEBUG": 2,
+ "ADMIN": 3,
+ "SETUP": 4,
+ "SET_SKU": 5,
+ "REFRESH": 6,
+ "FUSE": 8,
+ "RESET": 9,
+ "TEST": 10,
+ "SSH": 12,
}
)
0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x53, 0x70, 0x61, 0x63,
0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x61,
0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0c, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69,
- 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x2a, 0x5c, 0x0a, 0x0a, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69,
- 0x6c, 0x69, 0x74, 0x79, 0x12, 0x08, 0x0a, 0x04, 0x52, 0x45, 0x41, 0x44, 0x10, 0x00, 0x12, 0x09,
- 0x0a, 0x05, 0x57, 0x52, 0x49, 0x54, 0x45, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x44, 0x45, 0x42,
- 0x55, 0x47, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x10, 0x03, 0x12,
- 0x09, 0x0a, 0x05, 0x53, 0x45, 0x54, 0x55, 0x50, 0x10, 0x04, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x45,
- 0x54, 0x5f, 0x53, 0x4b, 0x55, 0x10, 0x05, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x46, 0x52, 0x45,
- 0x53, 0x48, 0x10, 0x06, 0x42, 0x17, 0x5a, 0x15, 0x73, 0x70, 0x61, 0x63, 0x65, 0x78, 0x2e, 0x63,
- 0x6f, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x62, 0x06, 0x70,
- 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x2a, 0xca, 0x01, 0x0a, 0x0a, 0x43, 0x61, 0x70, 0x61, 0x62,
+ 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x08, 0x0a, 0x04, 0x52, 0x45, 0x41, 0x44, 0x10, 0x00, 0x12,
+ 0x11, 0x0a, 0x0d, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c,
+ 0x10, 0x0d, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x50, 0x52, 0x49, 0x56, 0x41,
+ 0x54, 0x45, 0x10, 0x07, 0x12, 0x09, 0x0a, 0x05, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x10, 0x0e, 0x12,
+ 0x09, 0x0a, 0x05, 0x57, 0x52, 0x49, 0x54, 0x45, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x57, 0x52,
+ 0x49, 0x54, 0x45, 0x5f, 0x50, 0x45, 0x52, 0x53, 0x49, 0x53, 0x54, 0x45, 0x4e, 0x54, 0x10, 0x0b,
+ 0x12, 0x09, 0x0a, 0x05, 0x44, 0x45, 0x42, 0x55, 0x47, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x41,
+ 0x44, 0x4d, 0x49, 0x4e, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x45, 0x54, 0x55, 0x50, 0x10,
+ 0x04, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x45, 0x54, 0x5f, 0x53, 0x4b, 0x55, 0x10, 0x05, 0x12, 0x0b,
+ 0x0a, 0x07, 0x52, 0x45, 0x46, 0x52, 0x45, 0x53, 0x48, 0x10, 0x06, 0x12, 0x08, 0x0a, 0x04, 0x46,
+ 0x55, 0x53, 0x45, 0x10, 0x08, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x45, 0x53, 0x45, 0x54, 0x10, 0x09,
+ 0x12, 0x08, 0x0a, 0x04, 0x54, 0x45, 0x53, 0x54, 0x10, 0x0a, 0x12, 0x07, 0x0a, 0x03, 0x53, 0x53,
+ 0x48, 0x10, 0x0c, 0x42, 0x17, 0x5a, 0x15, 0x73, 0x70, 0x61, 0x63, 0x65, 0x78, 0x2e, 0x63, 0x6f,
+ 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
}
var (
blob - d22feeb981c1a4e49c2b326964d964127318d198
blob + 22c28a309374da79f29cb801c643e872de7ca5df
--- device/common.pb.go
+++ device/common.pb.go
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
+type BootReason int32
+
+const (
+ BootReason_BOOT_REASON_UNKNOWN BootReason = 0
+ BootReason_FORGOTTEN BootReason = 1
+ BootReason_POWER_CYCLE BootReason = 2
+ BootReason_COMMAND BootReason = 3
+ BootReason_SOFTWARE_UPDATE BootReason = 4
+ BootReason_CONFIG_UPDATE BootReason = 5
+ BootReason_UPTIME_FDIR BootReason = 6
+ BootReason_REPEATER_FDIR BootReason = 7
+)
+
+// Enum value maps for BootReason.
+var (
+ BootReason_name = map[int32]string{
+ 0: "BOOT_REASON_UNKNOWN",
+ 1: "FORGOTTEN",
+ 2: "POWER_CYCLE",
+ 3: "COMMAND",
+ 4: "SOFTWARE_UPDATE",
+ 5: "CONFIG_UPDATE",
+ 6: "UPTIME_FDIR",
+ 7: "REPEATER_FDIR",
+ }
+ BootReason_value = map[string]int32{
+ "BOOT_REASON_UNKNOWN": 0,
+ "FORGOTTEN": 1,
+ "POWER_CYCLE": 2,
+ "COMMAND": 3,
+ "SOFTWARE_UPDATE": 4,
+ "CONFIG_UPDATE": 5,
+ "UPTIME_FDIR": 6,
+ "REPEATER_FDIR": 7,
+ }
+)
+
+func (x BootReason) Enum() *BootReason {
+ p := new(BootReason)
+ *p = x
+ return p
+}
+
+func (x BootReason) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (BootReason) Descriptor() protoreflect.EnumDescriptor {
+ return file_spacex_api_device_common_proto_enumTypes[0].Descriptor()
+}
+
+func (BootReason) Type() protoreflect.EnumType {
+ return &file_spacex_api_device_common_proto_enumTypes[0]
+}
+
+func (x BootReason) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use BootReason.Descriptor instead.
+func (BootReason) EnumDescriptor() ([]byte, []int) {
+ return file_spacex_api_device_common_proto_rawDescGZIP(), []int{0}
+}
+
type EthernetNetworkInterface_Duplex int32
const (
}
func (EthernetNetworkInterface_Duplex) Descriptor() protoreflect.EnumDescriptor {
- return file_spacex_api_device_common_proto_enumTypes[0].Descriptor()
+ return file_spacex_api_device_common_proto_enumTypes[1].Descriptor()
}
func (EthernetNetworkInterface_Duplex) Type() protoreflect.EnumType {
- return &file_spacex_api_device_common_proto_enumTypes[0]
+ return &file_spacex_api_device_common_proto_enumTypes[1]
}
func (x EthernetNetworkInterface_Duplex) Number() protoreflect.EnumNumber {
// Deprecated: Use EthernetNetworkInterface_Duplex.Descriptor instead.
func (EthernetNetworkInterface_Duplex) EnumDescriptor() ([]byte, []int) {
- return file_spacex_api_device_common_proto_rawDescGZIP(), []int{11, 0}
+ return file_spacex_api_device_common_proto_rawDescGZIP(), []int{12, 0}
}
type DeviceInfo struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
- HardwareVersion string `protobuf:"bytes,2,opt,name=hardware_version,json=hardwareVersion,proto3" json:"hardware_version,omitempty"`
- SoftwareVersion string `protobuf:"bytes,3,opt,name=software_version,json=softwareVersion,proto3" json:"software_version,omitempty"`
- CountryCode string `protobuf:"bytes,4,opt,name=country_code,json=countryCode,proto3" json:"country_code,omitempty"`
+ Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
+ HardwareVersion string `protobuf:"bytes,2,opt,name=hardware_version,json=hardwareVersion,proto3" json:"hardware_version,omitempty"`
+ SoftwareVersion string `protobuf:"bytes,3,opt,name=software_version,json=softwareVersion,proto3" json:"software_version,omitempty"`
+ ManufacturedVersion string `protobuf:"bytes,11,opt,name=manufactured_version,json=manufacturedVersion,proto3" json:"manufactured_version,omitempty"`
+ GenerationNumber int64 `protobuf:"varint,12,opt,name=generation_number,json=generationNumber,proto3" json:"generation_number,omitempty"`
+ CountryCode string `protobuf:"bytes,4,opt,name=country_code,json=countryCode,proto3" json:"country_code,omitempty"`
+ UtcOffsetS int32 `protobuf:"varint,5,opt,name=utc_offset_s,json=utcOffsetS,proto3" json:"utc_offset_s,omitempty"`
+ SoftwarePartitionsEqual bool `protobuf:"varint,6,opt,name=software_partitions_equal,json=softwarePartitionsEqual,proto3" json:"software_partitions_equal,omitempty"`
+ IsDev bool `protobuf:"varint,7,opt,name=is_dev,json=isDev,proto3" json:"is_dev,omitempty"`
+ Bootcount int32 `protobuf:"varint,8,opt,name=bootcount,proto3" json:"bootcount,omitempty"`
+ AntiRollbackVersion int32 `protobuf:"varint,9,opt,name=anti_rollback_version,json=antiRollbackVersion,proto3" json:"anti_rollback_version,omitempty"`
+ IsHitl bool `protobuf:"varint,10,opt,name=is_hitl,json=isHitl,proto3" json:"is_hitl,omitempty"`
+ Boot *BootInfo `protobuf:"bytes,1001,opt,name=boot,proto3" json:"boot,omitempty"`
}
func (x *DeviceInfo) Reset() {
return ""
}
+func (x *DeviceInfo) GetManufacturedVersion() string {
+ if x != nil {
+ return x.ManufacturedVersion
+ }
+ return ""
+}
+
+func (x *DeviceInfo) GetGenerationNumber() int64 {
+ if x != nil {
+ return x.GenerationNumber
+ }
+ return 0
+}
+
func (x *DeviceInfo) GetCountryCode() string {
if x != nil {
return x.CountryCode
return ""
}
+func (x *DeviceInfo) GetUtcOffsetS() int32 {
+ if x != nil {
+ return x.UtcOffsetS
+ }
+ return 0
+}
+
+func (x *DeviceInfo) GetSoftwarePartitionsEqual() bool {
+ if x != nil {
+ return x.SoftwarePartitionsEqual
+ }
+ return false
+}
+
+func (x *DeviceInfo) GetIsDev() bool {
+ if x != nil {
+ return x.IsDev
+ }
+ return false
+}
+
+func (x *DeviceInfo) GetBootcount() int32 {
+ if x != nil {
+ return x.Bootcount
+ }
+ return 0
+}
+
+func (x *DeviceInfo) GetAntiRollbackVersion() int32 {
+ if x != nil {
+ return x.AntiRollbackVersion
+ }
+ return 0
+}
+
+func (x *DeviceInfo) GetIsHitl() bool {
+ if x != nil {
+ return x.IsHitl
+ }
+ return false
+}
+
+func (x *DeviceInfo) GetBoot() *BootInfo {
+ if x != nil {
+ return x.Boot
+ }
+ return nil
+}
+
type DeviceState struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
func (x *GetNextIdResponse) GetEpochId() uint64 {
if x != nil {
return x.EpochId
+ }
+ return 0
+}
+
+type BootInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CountByReason map[int32]int32 `protobuf:"bytes,1,rep,name=count_by_reason,json=countByReason,proto3" json:"count_by_reason,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ CountByReasonDelta map[int32]int32 `protobuf:"bytes,4,rep,name=count_by_reason_delta,json=countByReasonDelta,proto3" json:"count_by_reason_delta,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ LastReason BootReason `protobuf:"varint,2,opt,name=last_reason,json=lastReason,proto3,enum=SpaceX.API.Device.BootReason" json:"last_reason,omitempty"`
+ LastCount int32 `protobuf:"varint,3,opt,name=last_count,json=lastCount,proto3" json:"last_count,omitempty"`
+}
+
+func (x *BootInfo) Reset() {
+ *x = BootInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_common_proto_msgTypes[5]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BootInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BootInfo) ProtoMessage() {}
+
+func (x *BootInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_common_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 BootInfo.ProtoReflect.Descriptor instead.
+func (*BootInfo) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_common_proto_rawDescGZIP(), []int{5}
+}
+
+func (x *BootInfo) GetCountByReason() map[int32]int32 {
+ if x != nil {
+ return x.CountByReason
}
+ return nil
+}
+
+func (x *BootInfo) GetCountByReasonDelta() map[int32]int32 {
+ if x != nil {
+ return x.CountByReasonDelta
+ }
+ return nil
+}
+
+func (x *BootInfo) GetLastReason() BootReason {
+ if x != nil {
+ return x.LastReason
+ }
+ return BootReason_BOOT_REASON_UNKNOWN
+}
+
+func (x *BootInfo) GetLastCount() int32 {
+ if x != nil {
+ return x.LastCount
+ }
return 0
}
func (x *PingTarget) Reset() {
*x = PingTarget{}
if protoimpl.UnsafeEnabled {
- mi := &file_spacex_api_device_common_proto_msgTypes[5]
+ mi := &file_spacex_api_device_common_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (*PingTarget) ProtoMessage() {}
func (x *PingTarget) ProtoReflect() protoreflect.Message {
- mi := &file_spacex_api_device_common_proto_msgTypes[5]
+ mi := &file_spacex_api_device_common_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
// Deprecated: Use PingTarget.ProtoReflect.Descriptor instead.
func (*PingTarget) Descriptor() ([]byte, []int) {
- return file_spacex_api_device_common_proto_rawDescGZIP(), []int{5}
+ return file_spacex_api_device_common_proto_rawDescGZIP(), []int{6}
}
func (x *PingTarget) GetService() string {
func (x *PingResult) Reset() {
*x = PingResult{}
if protoimpl.UnsafeEnabled {
- mi := &file_spacex_api_device_common_proto_msgTypes[6]
+ mi := &file_spacex_api_device_common_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (*PingResult) ProtoMessage() {}
func (x *PingResult) ProtoReflect() protoreflect.Message {
- mi := &file_spacex_api_device_common_proto_msgTypes[6]
+ mi := &file_spacex_api_device_common_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
// Deprecated: Use PingResult.ProtoReflect.Descriptor instead.
func (*PingResult) Descriptor() ([]byte, []int) {
- return file_spacex_api_device_common_proto_rawDescGZIP(), []int{6}
+ return file_spacex_api_device_common_proto_rawDescGZIP(), []int{7}
}
func (x *PingResult) GetTarget() *PingTarget {
func (x *BondingChallenge) Reset() {
*x = BondingChallenge{}
if protoimpl.UnsafeEnabled {
- mi := &file_spacex_api_device_common_proto_msgTypes[7]
+ mi := &file_spacex_api_device_common_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (*BondingChallenge) ProtoMessage() {}
func (x *BondingChallenge) ProtoReflect() protoreflect.Message {
- mi := &file_spacex_api_device_common_proto_msgTypes[7]
+ mi := &file_spacex_api_device_common_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
// Deprecated: Use BondingChallenge.ProtoReflect.Descriptor instead.
func (*BondingChallenge) Descriptor() ([]byte, []int) {
- return file_spacex_api_device_common_proto_rawDescGZIP(), []int{7}
+ return file_spacex_api_device_common_proto_rawDescGZIP(), []int{8}
}
func (x *BondingChallenge) GetDishId() string {
func (x *AuthenticateRequest) Reset() {
*x = AuthenticateRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_spacex_api_device_common_proto_msgTypes[8]
+ mi := &file_spacex_api_device_common_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (*AuthenticateRequest) ProtoMessage() {}
func (x *AuthenticateRequest) ProtoReflect() protoreflect.Message {
- mi := &file_spacex_api_device_common_proto_msgTypes[8]
+ mi := &file_spacex_api_device_common_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
// Deprecated: Use AuthenticateRequest.ProtoReflect.Descriptor instead.
func (*AuthenticateRequest) Descriptor() ([]byte, []int) {
- return file_spacex_api_device_common_proto_rawDescGZIP(), []int{8}
+ return file_spacex_api_device_common_proto_rawDescGZIP(), []int{9}
}
func (x *AuthenticateRequest) GetChallenge() *SignedData {
func (x *ChallengeResponse) Reset() {
*x = ChallengeResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_spacex_api_device_common_proto_msgTypes[9]
+ mi := &file_spacex_api_device_common_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (*ChallengeResponse) ProtoMessage() {}
func (x *ChallengeResponse) ProtoReflect() protoreflect.Message {
- mi := &file_spacex_api_device_common_proto_msgTypes[9]
+ mi := &file_spacex_api_device_common_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
// Deprecated: Use ChallengeResponse.ProtoReflect.Descriptor instead.
func (*ChallengeResponse) Descriptor() ([]byte, []int) {
- return file_spacex_api_device_common_proto_rawDescGZIP(), []int{9}
+ return file_spacex_api_device_common_proto_rawDescGZIP(), []int{10}
}
func (x *ChallengeResponse) GetSignature() []byte {
unknownFields protoimpl.UnknownFields
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+ Up bool `protobuf:"varint,4,opt,name=up,proto3" json:"up,omitempty"`
RxStats *NetworkInterface_RxStats `protobuf:"bytes,2,opt,name=rx_stats,json=rxStats,proto3" json:"rx_stats,omitempty"`
TxStats *NetworkInterface_TxStats `protobuf:"bytes,3,opt,name=tx_stats,json=txStats,proto3" json:"tx_stats,omitempty"`
// Types that are assignable to Interface:
//
// *NetworkInterface_Ethernet
+ // *NetworkInterface_Wifi
Interface isNetworkInterface_Interface `protobuf_oneof:"interface"`
}
func (x *NetworkInterface) Reset() {
*x = NetworkInterface{}
if protoimpl.UnsafeEnabled {
- mi := &file_spacex_api_device_common_proto_msgTypes[10]
+ mi := &file_spacex_api_device_common_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (*NetworkInterface) ProtoMessage() {}
func (x *NetworkInterface) ProtoReflect() protoreflect.Message {
- mi := &file_spacex_api_device_common_proto_msgTypes[10]
+ mi := &file_spacex_api_device_common_proto_msgTypes[11]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
// Deprecated: Use NetworkInterface.ProtoReflect.Descriptor instead.
func (*NetworkInterface) Descriptor() ([]byte, []int) {
- return file_spacex_api_device_common_proto_rawDescGZIP(), []int{10}
+ return file_spacex_api_device_common_proto_rawDescGZIP(), []int{11}
}
func (x *NetworkInterface) GetName() string {
return ""
}
+func (x *NetworkInterface) GetUp() bool {
+ if x != nil {
+ return x.Up
+ }
+ return false
+}
+
func (x *NetworkInterface) GetRxStats() *NetworkInterface_RxStats {
if x != nil {
return x.RxStats
return nil
}
+func (x *NetworkInterface) GetWifi() *WifiNetworkInterface {
+ if x, ok := x.GetInterface().(*NetworkInterface_Wifi); ok {
+ return x.Wifi
+ }
+ return nil
+}
+
type isNetworkInterface_Interface interface {
isNetworkInterface_Interface()
}
Ethernet *EthernetNetworkInterface `protobuf:"bytes,1000,opt,name=ethernet,proto3,oneof"`
}
+type NetworkInterface_Wifi struct {
+ Wifi *WifiNetworkInterface `protobuf:"bytes,1001,opt,name=wifi,proto3,oneof"`
+}
+
func (*NetworkInterface_Ethernet) isNetworkInterface_Interface() {}
+func (*NetworkInterface_Wifi) isNetworkInterface_Interface() {}
+
type EthernetNetworkInterface struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
func (x *EthernetNetworkInterface) Reset() {
*x = EthernetNetworkInterface{}
if protoimpl.UnsafeEnabled {
- mi := &file_spacex_api_device_common_proto_msgTypes[11]
+ mi := &file_spacex_api_device_common_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (*EthernetNetworkInterface) ProtoMessage() {}
func (x *EthernetNetworkInterface) ProtoReflect() protoreflect.Message {
- mi := &file_spacex_api_device_common_proto_msgTypes[11]
+ mi := &file_spacex_api_device_common_proto_msgTypes[12]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
// Deprecated: Use EthernetNetworkInterface.ProtoReflect.Descriptor instead.
func (*EthernetNetworkInterface) Descriptor() ([]byte, []int) {
- return file_spacex_api_device_common_proto_rawDescGZIP(), []int{11}
+ return file_spacex_api_device_common_proto_rawDescGZIP(), []int{12}
}
func (x *EthernetNetworkInterface) GetLinkDetected() bool {
return x.Duplex
}
return EthernetNetworkInterface_UNKNOWN
+}
+
+type WifiNetworkInterface struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ThermalStatus *WifiNetworkInterface_ThermalStatus `protobuf:"bytes,1,opt,name=thermal_status,json=thermalStatus,proto3" json:"thermal_status,omitempty"`
+ InvalidPacketCounts *WifiNetworkInterface_InvalidPacketCounts `protobuf:"bytes,2,opt,name=invalid_packet_counts,json=invalidPacketCounts,proto3" json:"invalid_packet_counts,omitempty"`
+ Channel uint32 `protobuf:"varint,3,opt,name=channel,proto3" json:"channel,omitempty"`
+ MissedBeacons uint32 `protobuf:"varint,8,opt,name=missed_beacons,json=missedBeacons,proto3" json:"missed_beacons,omitempty"`
+ LinkQuality float64 `protobuf:"fixed64,4,opt,name=link_quality,json=linkQuality,proto3" json:"link_quality,omitempty"`
+ SignalLevel float64 `protobuf:"fixed64,5,opt,name=signal_level,json=signalLevel,proto3" json:"signal_level,omitempty"`
+ NoiseLevel float64 `protobuf:"fixed64,6,opt,name=noise_level,json=noiseLevel,proto3" json:"noise_level,omitempty"`
+ AntennaeStatus *WifiNetworkInterface_AntennaeStatus `protobuf:"bytes,9,opt,name=antennae_status,json=antennaeStatus,proto3" json:"antennae_status,omitempty"`
}
+func (x *WifiNetworkInterface) Reset() {
+ *x = WifiNetworkInterface{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_common_proto_msgTypes[13]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WifiNetworkInterface) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WifiNetworkInterface) ProtoMessage() {}
+
+func (x *WifiNetworkInterface) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_common_proto_msgTypes[13]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WifiNetworkInterface.ProtoReflect.Descriptor instead.
+func (*WifiNetworkInterface) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_common_proto_rawDescGZIP(), []int{13}
+}
+
+func (x *WifiNetworkInterface) GetThermalStatus() *WifiNetworkInterface_ThermalStatus {
+ if x != nil {
+ return x.ThermalStatus
+ }
+ return nil
+}
+
+func (x *WifiNetworkInterface) GetInvalidPacketCounts() *WifiNetworkInterface_InvalidPacketCounts {
+ if x != nil {
+ return x.InvalidPacketCounts
+ }
+ return nil
+}
+
+func (x *WifiNetworkInterface) GetChannel() uint32 {
+ if x != nil {
+ return x.Channel
+ }
+ return 0
+}
+
+func (x *WifiNetworkInterface) GetMissedBeacons() uint32 {
+ if x != nil {
+ return x.MissedBeacons
+ }
+ return 0
+}
+
+func (x *WifiNetworkInterface) GetLinkQuality() float64 {
+ if x != nil {
+ return x.LinkQuality
+ }
+ return 0
+}
+
+func (x *WifiNetworkInterface) GetSignalLevel() float64 {
+ if x != nil {
+ return x.SignalLevel
+ }
+ return 0
+}
+
+func (x *WifiNetworkInterface) GetNoiseLevel() float64 {
+ if x != nil {
+ return x.NoiseLevel
+ }
+ return 0
+}
+
+func (x *WifiNetworkInterface) GetAntennaeStatus() *WifiNetworkInterface_AntennaeStatus {
+ if x != nil {
+ return x.AntennaeStatus
+ }
+ return nil
+}
+
+type LLAPosition struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Lat float64 `protobuf:"fixed64,1,opt,name=lat,proto3" json:"lat,omitempty"`
+ Lon float64 `protobuf:"fixed64,2,opt,name=lon,proto3" json:"lon,omitempty"`
+ Alt float64 `protobuf:"fixed64,3,opt,name=alt,proto3" json:"alt,omitempty"`
+}
+
+func (x *LLAPosition) Reset() {
+ *x = LLAPosition{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_common_proto_msgTypes[14]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LLAPosition) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LLAPosition) ProtoMessage() {}
+
+func (x *LLAPosition) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_common_proto_msgTypes[14]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LLAPosition.ProtoReflect.Descriptor instead.
+func (*LLAPosition) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_common_proto_rawDescGZIP(), []int{14}
+}
+
+func (x *LLAPosition) GetLat() float64 {
+ if x != nil {
+ return x.Lat
+ }
+ return 0
+}
+
+func (x *LLAPosition) GetLon() float64 {
+ if x != nil {
+ return x.Lon
+ }
+ return 0
+}
+
+func (x *LLAPosition) GetAlt() float64 {
+ if x != nil {
+ return x.Alt
+ }
+ return 0
+}
+
+type ECEFPosition struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ X float64 `protobuf:"fixed64,1,opt,name=x,proto3" json:"x,omitempty"`
+ Y float64 `protobuf:"fixed64,2,opt,name=y,proto3" json:"y,omitempty"`
+ Z float64 `protobuf:"fixed64,3,opt,name=z,proto3" json:"z,omitempty"`
+}
+
+func (x *ECEFPosition) Reset() {
+ *x = ECEFPosition{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_common_proto_msgTypes[15]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ECEFPosition) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ECEFPosition) ProtoMessage() {}
+
+func (x *ECEFPosition) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_common_proto_msgTypes[15]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ECEFPosition.ProtoReflect.Descriptor instead.
+func (*ECEFPosition) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_common_proto_rawDescGZIP(), []int{15}
+}
+
+func (x *ECEFPosition) GetX() float64 {
+ if x != nil {
+ return x.X
+ }
+ return 0
+}
+
+func (x *ECEFPosition) GetY() float64 {
+ if x != nil {
+ return x.Y
+ }
+ return 0
+}
+
+func (x *ECEFPosition) GetZ() float64 {
+ if x != nil {
+ return x.Z
+ }
+ return 0
+}
+
+type InitiateRemoteSshRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *InitiateRemoteSshRequest) Reset() {
+ *x = InitiateRemoteSshRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_common_proto_msgTypes[16]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *InitiateRemoteSshRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*InitiateRemoteSshRequest) ProtoMessage() {}
+
+func (x *InitiateRemoteSshRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_common_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 InitiateRemoteSshRequest.ProtoReflect.Descriptor instead.
+func (*InitiateRemoteSshRequest) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_common_proto_rawDescGZIP(), []int{16}
+}
+
+type InitiateRemoteSshResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Port uint32 `protobuf:"varint,1,opt,name=port,proto3" json:"port,omitempty"`
+ Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
+ Stsafe []byte `protobuf:"bytes,3,opt,name=stsafe,proto3" json:"stsafe,omitempty"`
+}
+
+func (x *InitiateRemoteSshResponse) Reset() {
+ *x = InitiateRemoteSshResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_common_proto_msgTypes[17]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *InitiateRemoteSshResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*InitiateRemoteSshResponse) ProtoMessage() {}
+
+func (x *InitiateRemoteSshResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_common_proto_msgTypes[17]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use InitiateRemoteSshResponse.ProtoReflect.Descriptor instead.
+func (*InitiateRemoteSshResponse) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_common_proto_rawDescGZIP(), []int{17}
+}
+
+func (x *InitiateRemoteSshResponse) GetPort() uint32 {
+ if x != nil {
+ return x.Port
+ }
+ return 0
+}
+
+func (x *InitiateRemoteSshResponse) GetAddress() string {
+ if x != nil {
+ return x.Address
+ }
+ return ""
+}
+
+func (x *InitiateRemoteSshResponse) GetStsafe() []byte {
+ if x != nil {
+ return x.Stsafe
+ }
+ return nil
+}
+
+type SoftwareUpdateRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StreamId uint64 `protobuf:"varint,1,opt,name=stream_id,json=streamId,proto3" json:"stream_id,omitempty"`
+ Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
+ Open bool `protobuf:"varint,3,opt,name=open,proto3" json:"open,omitempty"`
+ Close bool `protobuf:"varint,4,opt,name=close,proto3" json:"close,omitempty"`
+}
+
+func (x *SoftwareUpdateRequest) Reset() {
+ *x = SoftwareUpdateRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_common_proto_msgTypes[18]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SoftwareUpdateRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SoftwareUpdateRequest) ProtoMessage() {}
+
+func (x *SoftwareUpdateRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_common_proto_msgTypes[18]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SoftwareUpdateRequest.ProtoReflect.Descriptor instead.
+func (*SoftwareUpdateRequest) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_common_proto_rawDescGZIP(), []int{18}
+}
+
+func (x *SoftwareUpdateRequest) GetStreamId() uint64 {
+ if x != nil {
+ return x.StreamId
+ }
+ return 0
+}
+
+func (x *SoftwareUpdateRequest) GetData() []byte {
+ if x != nil {
+ return x.Data
+ }
+ return nil
+}
+
+func (x *SoftwareUpdateRequest) GetOpen() bool {
+ if x != nil {
+ return x.Open
+ }
+ return false
+}
+
+func (x *SoftwareUpdateRequest) GetClose() bool {
+ if x != nil {
+ return x.Close
+ }
+ return false
+}
+
+type SoftwareUpdateResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *SoftwareUpdateResponse) Reset() {
+ *x = SoftwareUpdateResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_common_proto_msgTypes[19]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SoftwareUpdateResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SoftwareUpdateResponse) ProtoMessage() {}
+
+func (x *SoftwareUpdateResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_common_proto_msgTypes[19]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SoftwareUpdateResponse.ProtoReflect.Descriptor instead.
+func (*SoftwareUpdateResponse) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_common_proto_rawDescGZIP(), []int{19}
+}
+
type NetworkInterface_RxStats struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
func (x *NetworkInterface_RxStats) Reset() {
*x = NetworkInterface_RxStats{}
if protoimpl.UnsafeEnabled {
- mi := &file_spacex_api_device_common_proto_msgTypes[12]
+ mi := &file_spacex_api_device_common_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (*NetworkInterface_RxStats) ProtoMessage() {}
func (x *NetworkInterface_RxStats) ProtoReflect() protoreflect.Message {
- mi := &file_spacex_api_device_common_proto_msgTypes[12]
+ mi := &file_spacex_api_device_common_proto_msgTypes[22]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
// Deprecated: Use NetworkInterface_RxStats.ProtoReflect.Descriptor instead.
func (*NetworkInterface_RxStats) Descriptor() ([]byte, []int) {
- return file_spacex_api_device_common_proto_rawDescGZIP(), []int{10, 0}
+ return file_spacex_api_device_common_proto_rawDescGZIP(), []int{11, 0}
}
func (x *NetworkInterface_RxStats) GetBytes() uint64 {
func (x *NetworkInterface_TxStats) Reset() {
*x = NetworkInterface_TxStats{}
if protoimpl.UnsafeEnabled {
- mi := &file_spacex_api_device_common_proto_msgTypes[13]
+ mi := &file_spacex_api_device_common_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (*NetworkInterface_TxStats) ProtoMessage() {}
func (x *NetworkInterface_TxStats) ProtoReflect() protoreflect.Message {
- mi := &file_spacex_api_device_common_proto_msgTypes[13]
+ mi := &file_spacex_api_device_common_proto_msgTypes[23]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
// Deprecated: Use NetworkInterface_TxStats.ProtoReflect.Descriptor instead.
func (*NetworkInterface_TxStats) Descriptor() ([]byte, []int) {
- return file_spacex_api_device_common_proto_rawDescGZIP(), []int{10, 1}
+ return file_spacex_api_device_common_proto_rawDescGZIP(), []int{11, 1}
}
func (x *NetworkInterface_TxStats) GetBytes() uint64 {
return 0
}
+type WifiNetworkInterface_ThermalStatus struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Level uint32 `protobuf:"varint,1,opt,name=level,proto3" json:"level,omitempty"`
+ // Deprecated: Do not use.
+ Temp uint32 `protobuf:"varint,2,opt,name=temp,proto3" json:"temp,omitempty"`
+ Temp2 float64 `protobuf:"fixed64,3,opt,name=temp2,proto3" json:"temp2,omitempty"`
+ PowerReduction uint32 `protobuf:"varint,4,opt,name=power_reduction,json=powerReduction,proto3" json:"power_reduction,omitempty"`
+ DutyCycle uint32 `protobuf:"varint,5,opt,name=duty_cycle,json=dutyCycle,proto3" json:"duty_cycle,omitempty"`
+}
+
+func (x *WifiNetworkInterface_ThermalStatus) Reset() {
+ *x = WifiNetworkInterface_ThermalStatus{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_common_proto_msgTypes[24]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WifiNetworkInterface_ThermalStatus) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WifiNetworkInterface_ThermalStatus) ProtoMessage() {}
+
+func (x *WifiNetworkInterface_ThermalStatus) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_common_proto_msgTypes[24]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WifiNetworkInterface_ThermalStatus.ProtoReflect.Descriptor instead.
+func (*WifiNetworkInterface_ThermalStatus) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_common_proto_rawDescGZIP(), []int{13, 0}
+}
+
+func (x *WifiNetworkInterface_ThermalStatus) GetLevel() uint32 {
+ if x != nil {
+ return x.Level
+ }
+ return 0
+}
+
+// Deprecated: Do not use.
+func (x *WifiNetworkInterface_ThermalStatus) GetTemp() uint32 {
+ if x != nil {
+ return x.Temp
+ }
+ return 0
+}
+
+func (x *WifiNetworkInterface_ThermalStatus) GetTemp2() float64 {
+ if x != nil {
+ return x.Temp2
+ }
+ return 0
+}
+
+func (x *WifiNetworkInterface_ThermalStatus) GetPowerReduction() uint32 {
+ if x != nil {
+ return x.PowerReduction
+ }
+ return 0
+}
+
+func (x *WifiNetworkInterface_ThermalStatus) GetDutyCycle() uint32 {
+ if x != nil {
+ return x.DutyCycle
+ }
+ return 0
+}
+
+type WifiNetworkInterface_InvalidPacketCounts struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RxInvalidNwid uint32 `protobuf:"varint,1,opt,name=rx_invalid_nwid,json=rxInvalidNwid,proto3" json:"rx_invalid_nwid,omitempty"`
+ RxInvalidCrypt uint32 `protobuf:"varint,2,opt,name=rx_invalid_crypt,json=rxInvalidCrypt,proto3" json:"rx_invalid_crypt,omitempty"`
+ RxInvalidFrag uint32 `protobuf:"varint,3,opt,name=rx_invalid_frag,json=rxInvalidFrag,proto3" json:"rx_invalid_frag,omitempty"`
+ TxExcessiveRetries uint32 `protobuf:"varint,4,opt,name=tx_excessive_retries,json=txExcessiveRetries,proto3" json:"tx_excessive_retries,omitempty"`
+ InvalidMisc uint32 `protobuf:"varint,5,opt,name=invalid_misc,json=invalidMisc,proto3" json:"invalid_misc,omitempty"`
+}
+
+func (x *WifiNetworkInterface_InvalidPacketCounts) Reset() {
+ *x = WifiNetworkInterface_InvalidPacketCounts{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_common_proto_msgTypes[25]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WifiNetworkInterface_InvalidPacketCounts) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WifiNetworkInterface_InvalidPacketCounts) ProtoMessage() {}
+
+func (x *WifiNetworkInterface_InvalidPacketCounts) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_common_proto_msgTypes[25]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WifiNetworkInterface_InvalidPacketCounts.ProtoReflect.Descriptor instead.
+func (*WifiNetworkInterface_InvalidPacketCounts) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_common_proto_rawDescGZIP(), []int{13, 1}
+}
+
+func (x *WifiNetworkInterface_InvalidPacketCounts) GetRxInvalidNwid() uint32 {
+ if x != nil {
+ return x.RxInvalidNwid
+ }
+ return 0
+}
+
+func (x *WifiNetworkInterface_InvalidPacketCounts) GetRxInvalidCrypt() uint32 {
+ if x != nil {
+ return x.RxInvalidCrypt
+ }
+ return 0
+}
+
+func (x *WifiNetworkInterface_InvalidPacketCounts) GetRxInvalidFrag() uint32 {
+ if x != nil {
+ return x.RxInvalidFrag
+ }
+ return 0
+}
+
+func (x *WifiNetworkInterface_InvalidPacketCounts) GetTxExcessiveRetries() uint32 {
+ if x != nil {
+ return x.TxExcessiveRetries
+ }
+ return 0
+}
+
+func (x *WifiNetworkInterface_InvalidPacketCounts) GetInvalidMisc() uint32 {
+ if x != nil {
+ return x.InvalidMisc
+ }
+ return 0
+}
+
+type WifiNetworkInterface_AntennaeStatus struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Rssi1 float32 `protobuf:"fixed32,1,opt,name=rssi1,proto3" json:"rssi1,omitempty"`
+ Rssi2 float32 `protobuf:"fixed32,2,opt,name=rssi2,proto3" json:"rssi2,omitempty"`
+ Rssi3 float32 `protobuf:"fixed32,3,opt,name=rssi3,proto3" json:"rssi3,omitempty"`
+}
+
+func (x *WifiNetworkInterface_AntennaeStatus) Reset() {
+ *x = WifiNetworkInterface_AntennaeStatus{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_common_proto_msgTypes[26]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WifiNetworkInterface_AntennaeStatus) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WifiNetworkInterface_AntennaeStatus) ProtoMessage() {}
+
+func (x *WifiNetworkInterface_AntennaeStatus) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_common_proto_msgTypes[26]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WifiNetworkInterface_AntennaeStatus.ProtoReflect.Descriptor instead.
+func (*WifiNetworkInterface_AntennaeStatus) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_common_proto_rawDescGZIP(), []int{13, 2}
+}
+
+func (x *WifiNetworkInterface_AntennaeStatus) GetRssi1() float32 {
+ if x != nil {
+ return x.Rssi1
+ }
+ return 0
+}
+
+func (x *WifiNetworkInterface_AntennaeStatus) GetRssi2() float32 {
+ if x != nil {
+ return x.Rssi2
+ }
+ return 0
+}
+
+func (x *WifiNetworkInterface_AntennaeStatus) GetRssi3() float32 {
+ if x != nil {
+ return x.Rssi3
+ }
+ return 0
+}
+
var File_spacex_api_device_common_proto protoreflect.FileDescriptor
var file_spacex_api_device_common_proto_rawDesc = []byte{
0x0a, 0x1e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x78, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76,
0x69, 0x63, 0x65, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x12, 0x11, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76,
- 0x69, 0x63, 0x65, 0x22, 0x95, 0x01, 0x0a, 0x0a, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e,
+ 0x69, 0x63, 0x65, 0x22, 0x87, 0x04, 0x0a, 0x0a, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e,
0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02,
0x69, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x68, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x76,
0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x68, 0x61,
0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a,
0x10, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72,
- 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x75, 0x6e,
+ 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x14, 0x6d, 0x61, 0x6e, 0x75,
+ 0x66, 0x61, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
+ 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x6d, 0x61, 0x6e, 0x75, 0x66, 0x61, 0x63, 0x74,
+ 0x75, 0x72, 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x67,
+ 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72,
+ 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x75, 0x6e,
0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
- 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x28, 0x0a, 0x0b, 0x44,
- 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x75, 0x70,
- 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x75, 0x70,
- 0x74, 0x69, 0x6d, 0x65, 0x53, 0x22, 0x3e, 0x0a, 0x0a, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x44,
- 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61,
- 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e,
- 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x12, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74,
- 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x3e, 0x0a, 0x11, 0x47, 0x65, 0x74,
- 0x4e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e,
- 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x19,
- 0x0a, 0x08, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04,
- 0x52, 0x07, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x49, 0x64, 0x22, 0x5c, 0x0a, 0x0a, 0x50, 0x69, 0x6e,
- 0x67, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69,
- 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
- 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a,
- 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
- 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x7d, 0x0a, 0x0a, 0x50, 0x69, 0x6e, 0x67, 0x52,
- 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x35, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18,
- 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41,
- 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x54, 0x61,
- 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1a, 0x0a, 0x08,
- 0x64, 0x72, 0x6f, 0x70, 0x52, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08,
- 0x64, 0x72, 0x6f, 0x70, 0x52, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x61, 0x74, 0x65,
- 0x6e, 0x63, 0x79, 0x4d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x6c, 0x61, 0x74,
- 0x65, 0x6e, 0x63, 0x79, 0x4d, 0x73, 0x22, 0x5a, 0x0a, 0x10, 0x42, 0x6f, 0x6e, 0x64, 0x69, 0x6e,
- 0x67, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x69,
- 0x73, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x69, 0x73,
- 0x68, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x69, 0x64, 0x18, 0x02,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x77, 0x69, 0x66, 0x69, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05,
- 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x6e, 0x6f, 0x6e,
- 0x63, 0x65, 0x22, 0x52, 0x0a, 0x13, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61,
- 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x09, 0x63, 0x68, 0x61,
- 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x53,
+ 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x75,
+ 0x74, 0x63, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x0a, 0x75, 0x74, 0x63, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x53, 0x12, 0x3a, 0x0a,
+ 0x19, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74,
+ 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x17, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74,
+ 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x71, 0x75, 0x61, 0x6c, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x73, 0x5f,
+ 0x64, 0x65, 0x76, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x44, 0x65, 0x76,
+ 0x12, 0x1c, 0x0a, 0x09, 0x62, 0x6f, 0x6f, 0x74, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20,
+ 0x01, 0x28, 0x05, 0x52, 0x09, 0x62, 0x6f, 0x6f, 0x74, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x32,
+ 0x0a, 0x15, 0x61, 0x6e, 0x74, 0x69, 0x5f, 0x72, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f,
+ 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x61,
+ 0x6e, 0x74, 0x69, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x56, 0x65, 0x72, 0x73, 0x69,
+ 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x68, 0x69, 0x74, 0x6c, 0x18, 0x0a, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x48, 0x69, 0x74, 0x6c, 0x12, 0x30, 0x0a, 0x04, 0x62,
+ 0x6f, 0x6f, 0x74, 0x18, 0xe9, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x53, 0x70, 0x61,
+ 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x42,
+ 0x6f, 0x6f, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x62, 0x6f, 0x6f, 0x74, 0x22, 0x28, 0x0a,
+ 0x0b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x08,
+ 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07,
+ 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x22, 0x3e, 0x0a, 0x0a, 0x53, 0x69, 0x67, 0x6e, 0x65,
+ 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67,
+ 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69,
+ 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x12, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x4e, 0x65,
+ 0x78, 0x74, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x3e, 0x0a, 0x11, 0x47,
+ 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64,
+ 0x12, 0x19, 0x0a, 0x08, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x04, 0x52, 0x07, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x49, 0x64, 0x22, 0xb2, 0x03, 0x0a, 0x08,
+ 0x42, 0x6f, 0x6f, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x56, 0x0a, 0x0f, 0x63, 0x6f, 0x75, 0x6e,
+ 0x74, 0x5f, 0x62, 0x79, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x2e, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44,
+ 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x43,
+ 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x79, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72,
+ 0x79, 0x52, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x79, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e,
+ 0x12, 0x66, 0x0a, 0x15, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x62, 0x79, 0x5f, 0x72, 0x65, 0x61,
+ 0x73, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x33, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76,
+ 0x69, 0x63, 0x65, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x6f, 0x75,
+ 0x6e, 0x74, 0x42, 0x79, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x52, 0x12, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x79, 0x52, 0x65, 0x61,
+ 0x73, 0x6f, 0x6e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x3e, 0x0a, 0x0b, 0x6c, 0x61, 0x73, 0x74,
+ 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e,
+ 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
+ 0x65, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x0a, 0x6c, 0x61,
+ 0x73, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x61, 0x73, 0x74,
+ 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6c, 0x61,
+ 0x73, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x40, 0x0a, 0x12, 0x43, 0x6f, 0x75, 0x6e, 0x74,
+ 0x42, 0x79, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
+ 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
+ 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x45, 0x0a, 0x17, 0x43, 0x6f, 0x75,
+ 0x6e, 0x74, 0x42, 0x79, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
+ 0x22, 0x5c, 0x0a, 0x0a, 0x50, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x18,
+ 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x7d,
+ 0x0a, 0x0a, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x35, 0x0a, 0x06,
+ 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x53,
0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
- 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x63, 0x68, 0x61,
- 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x22, 0x5e, 0x0a, 0x11, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65,
- 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73,
- 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09,
- 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x65, 0x72,
- 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x02,
- 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74,
- 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x22, 0xa8, 0x03, 0x0a, 0x10, 0x4e, 0x65, 0x74, 0x77, 0x6f,
- 0x72, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e,
- 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
- 0x46, 0x0a, 0x08, 0x72, 0x78, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x2b, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44,
- 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x74,
- 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x2e, 0x52, 0x78, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x07,
- 0x72, 0x78, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x46, 0x0a, 0x08, 0x74, 0x78, 0x5f, 0x73, 0x74,
- 0x61, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x53, 0x70, 0x61, 0x63,
- 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4e, 0x65,
- 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x2e, 0x54,
- 0x78, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x07, 0x74, 0x78, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12,
- 0x4a, 0x0a, 0x08, 0x65, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x18, 0xe8, 0x07, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e,
- 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x4e,
- 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x48,
- 0x00, 0x52, 0x08, 0x65, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x1a, 0x5c, 0x0a, 0x07, 0x52,
- 0x78, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07,
- 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x70,
- 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f,
- 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x66, 0x72,
- 0x61, 0x6d, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x1a, 0x39, 0x0a, 0x07, 0x54, 0x78, 0x53,
- 0x74, 0x61, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x04, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61,
- 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x70, 0x61, 0x63,
- 0x6b, 0x65, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63,
- 0x65, 0x22, 0x84, 0x02, 0x0a, 0x18, 0x45, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x4e, 0x65,
- 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x23,
- 0x0a, 0x0d, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x6c, 0x69, 0x6e, 0x6b, 0x44, 0x65, 0x74, 0x65, 0x63,
- 0x74, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x70, 0x65, 0x65, 0x64, 0x5f, 0x6d, 0x62, 0x70,
- 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x70, 0x65, 0x65, 0x64, 0x4d, 0x62,
- 0x70, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x61, 0x75, 0x74, 0x6f, 0x6e, 0x65, 0x67, 0x6f, 0x74, 0x69,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11,
- 0x61, 0x75, 0x74, 0x6f, 0x6e, 0x65, 0x67, 0x6f, 0x74, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f,
- 0x6e, 0x12, 0x4a, 0x0a, 0x06, 0x64, 0x75, 0x70, 0x6c, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28,
- 0x0e, 0x32, 0x32, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44,
- 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x4e, 0x65,
- 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x2e, 0x44,
- 0x75, 0x70, 0x6c, 0x65, 0x78, 0x52, 0x06, 0x64, 0x75, 0x70, 0x6c, 0x65, 0x78, 0x22, 0x29, 0x0a,
- 0x06, 0x44, 0x75, 0x70, 0x6c, 0x65, 0x78, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f,
- 0x57, 0x4e, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x41, 0x4c, 0x46, 0x10, 0x01, 0x12, 0x08,
- 0x0a, 0x04, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x02, 0x42, 0x17, 0x5a, 0x15, 0x73, 0x70, 0x61, 0x63,
- 0x65, 0x78, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63,
- 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61, 0x72,
+ 0x67, 0x65, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x72, 0x6f, 0x70, 0x52, 0x61, 0x74, 0x65, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x64, 0x72, 0x6f, 0x70, 0x52, 0x61, 0x74, 0x65, 0x12,
+ 0x1c, 0x0a, 0x09, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4d, 0x73, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x02, 0x52, 0x09, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4d, 0x73, 0x22, 0x5a, 0x0a,
+ 0x10, 0x42, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67,
+ 0x65, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x69, 0x73, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x06, 0x64, 0x69, 0x73, 0x68, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x77, 0x69,
+ 0x66, 0x69, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x77, 0x69, 0x66,
+ 0x69, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x0c, 0x52, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x22, 0x52, 0x0a, 0x13, 0x41, 0x75, 0x74,
+ 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x12, 0x3b, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49,
+ 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x44, 0x61,
+ 0x74, 0x61, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x22, 0x5e, 0x0a,
+ 0x11, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65,
+ 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f,
+ 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x63, 0x65, 0x72,
+ 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x22, 0xf8, 0x03,
+ 0x0a, 0x10, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61,
+ 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x75, 0x70, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x02, 0x75, 0x70, 0x12, 0x46, 0x0a, 0x08, 0x72, 0x78, 0x5f, 0x73, 0x74, 0x61,
+ 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65,
+ 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4e, 0x65, 0x74,
+ 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x2e, 0x52, 0x78,
+ 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x07, 0x72, 0x78, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x46,
+ 0x0a, 0x08, 0x74, 0x78, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x2b, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65,
+ 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x74, 0x65,
+ 0x72, 0x66, 0x61, 0x63, 0x65, 0x2e, 0x54, 0x78, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x07, 0x74,
+ 0x78, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x4a, 0x0a, 0x08, 0x65, 0x74, 0x68, 0x65, 0x72, 0x6e,
+ 0x65, 0x74, 0x18, 0xe8, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x53, 0x70, 0x61, 0x63,
+ 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x74,
+ 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x74,
+ 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x48, 0x00, 0x52, 0x08, 0x65, 0x74, 0x68, 0x65, 0x72, 0x6e,
+ 0x65, 0x74, 0x12, 0x3e, 0x0a, 0x04, 0x77, 0x69, 0x66, 0x69, 0x18, 0xe9, 0x07, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x27, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44,
+ 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72,
+ 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x48, 0x00, 0x52, 0x04, 0x77, 0x69,
+ 0x66, 0x69, 0x1a, 0x5c, 0x0a, 0x07, 0x52, 0x78, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x14, 0x0a,
+ 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x62, 0x79,
+ 0x74, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x21, 0x0a,
+ 0x0c, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x04, 0x52, 0x0b, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73,
+ 0x1a, 0x39, 0x0a, 0x07, 0x54, 0x78, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62,
+ 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65,
+ 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x04, 0x52, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x69,
+ 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x22, 0x84, 0x02, 0x0a, 0x18, 0x45, 0x74, 0x68,
+ 0x65, 0x72, 0x6e, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x74, 0x65,
+ 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x64, 0x65,
+ 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x6c, 0x69,
+ 0x6e, 0x6b, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x70,
+ 0x65, 0x65, 0x64, 0x5f, 0x6d, 0x62, 0x70, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09,
+ 0x73, 0x70, 0x65, 0x65, 0x64, 0x4d, 0x62, 0x70, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x61, 0x75, 0x74,
+ 0x6f, 0x6e, 0x65, 0x67, 0x6f, 0x74, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x6e, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x61, 0x75, 0x74, 0x6f, 0x6e, 0x65, 0x67, 0x6f, 0x74,
+ 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x6e, 0x12, 0x4a, 0x0a, 0x06, 0x64, 0x75, 0x70, 0x6c,
+ 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65,
+ 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x74, 0x68,
+ 0x65, 0x72, 0x6e, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x74, 0x65,
+ 0x72, 0x66, 0x61, 0x63, 0x65, 0x2e, 0x44, 0x75, 0x70, 0x6c, 0x65, 0x78, 0x52, 0x06, 0x64, 0x75,
+ 0x70, 0x6c, 0x65, 0x78, 0x22, 0x29, 0x0a, 0x06, 0x44, 0x75, 0x70, 0x6c, 0x65, 0x78, 0x12, 0x0b,
+ 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x48,
+ 0x41, 0x4c, 0x46, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x02, 0x22,
+ 0xcd, 0x07, 0x0a, 0x14, 0x57, 0x69, 0x66, 0x69, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49,
+ 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x5c, 0x0a, 0x0e, 0x74, 0x68, 0x65, 0x72,
+ 0x6d, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x35, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65,
+ 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
+ 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x2e, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61,
+ 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0d, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c,
+ 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x6f, 0x0a, 0x15, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69,
+ 0x64, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41,
+ 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x4e, 0x65,
+ 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x2e, 0x49,
+ 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6f, 0x75, 0x6e,
+ 0x74, 0x73, 0x52, 0x13, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x65,
+ 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e,
+ 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65,
+ 0x6c, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x62, 0x65, 0x61, 0x63,
+ 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6d, 0x69, 0x73, 0x73, 0x65,
+ 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x69, 0x6e, 0x6b,
+ 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b,
+ 0x6c, 0x69, 0x6e, 0x6b, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x73,
+ 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28,
+ 0x01, 0x52, 0x0b, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1f,
+ 0x0a, 0x0b, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x06, 0x20,
+ 0x01, 0x28, 0x01, 0x52, 0x0a, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12,
+ 0x5f, 0x0a, 0x0f, 0x61, 0x6e, 0x74, 0x65, 0x6e, 0x6e, 0x61, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74,
+ 0x75, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65,
+ 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66,
+ 0x69, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63,
+ 0x65, 0x2e, 0x41, 0x6e, 0x74, 0x65, 0x6e, 0x6e, 0x61, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
+ 0x52, 0x0e, 0x61, 0x6e, 0x74, 0x65, 0x6e, 0x6e, 0x61, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
+ 0x1a, 0x9b, 0x01, 0x0a, 0x0d, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74,
+ 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x16, 0x0a, 0x04, 0x74, 0x65, 0x6d, 0x70,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x02, 0x18, 0x01, 0x52, 0x04, 0x74, 0x65, 0x6d, 0x70,
+ 0x12, 0x14, 0x0a, 0x05, 0x74, 0x65, 0x6d, 0x70, 0x32, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52,
+ 0x05, 0x74, 0x65, 0x6d, 0x70, 0x32, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f,
+ 0x72, 0x65, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0e, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x65, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12,
+ 0x1d, 0x0a, 0x0a, 0x64, 0x75, 0x74, 0x79, 0x5f, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x75, 0x74, 0x79, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x1a, 0xe4,
+ 0x01, 0x0a, 0x13, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74,
+ 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x78, 0x5f, 0x69, 0x6e, 0x76,
+ 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x6e, 0x77, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0d, 0x72, 0x78, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x4e, 0x77, 0x69, 0x64, 0x12, 0x28,
+ 0x0a, 0x10, 0x72, 0x78, 0x5f, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x63, 0x72, 0x79,
+ 0x70, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x78, 0x49, 0x6e, 0x76, 0x61,
+ 0x6c, 0x69, 0x64, 0x43, 0x72, 0x79, 0x70, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x78, 0x5f, 0x69,
+ 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x66, 0x72, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0d, 0x72, 0x78, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x46, 0x72, 0x61, 0x67,
+ 0x12, 0x30, 0x0a, 0x14, 0x74, 0x78, 0x5f, 0x65, 0x78, 0x63, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65,
+ 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12,
+ 0x74, 0x78, 0x45, 0x78, 0x63, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x52, 0x65, 0x74, 0x72, 0x69,
+ 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x6d, 0x69,
+ 0x73, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69,
+ 0x64, 0x4d, 0x69, 0x73, 0x63, 0x1a, 0x52, 0x0a, 0x0e, 0x41, 0x6e, 0x74, 0x65, 0x6e, 0x6e, 0x61,
+ 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x73, 0x73, 0x69, 0x31,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x72, 0x73, 0x73, 0x69, 0x31, 0x12, 0x14, 0x0a,
+ 0x05, 0x72, 0x73, 0x73, 0x69, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x72, 0x73,
+ 0x73, 0x69, 0x32, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x73, 0x73, 0x69, 0x33, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x02, 0x52, 0x05, 0x72, 0x73, 0x73, 0x69, 0x33, 0x4a, 0x04, 0x08, 0x07, 0x10, 0x08, 0x22,
+ 0x43, 0x0a, 0x0b, 0x4c, 0x4c, 0x41, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10,
+ 0x0a, 0x03, 0x6c, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x6c, 0x61, 0x74,
+ 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x6c,
+ 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52,
+ 0x03, 0x61, 0x6c, 0x74, 0x22, 0x38, 0x0a, 0x0c, 0x45, 0x43, 0x45, 0x46, 0x50, 0x6f, 0x73, 0x69,
+ 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0c, 0x0a, 0x01, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52,
+ 0x01, 0x78, 0x12, 0x0c, 0x0a, 0x01, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x01, 0x79,
+ 0x12, 0x0c, 0x0a, 0x01, 0x7a, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x01, 0x7a, 0x22, 0x1a,
+ 0x0a, 0x18, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65,
+ 0x53, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x61, 0x0a, 0x19, 0x49, 0x6e,
+ 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x73, 0x68, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61,
+ 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64,
+ 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x73, 0x61, 0x66, 0x65, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x73, 0x74, 0x73, 0x61, 0x66, 0x65, 0x22, 0x72, 0x0a,
+ 0x15, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d,
+ 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x74, 0x72, 0x65, 0x61,
+ 0x6d, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x63,
+ 0x6c, 0x6f, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x63, 0x6c, 0x6f, 0x73,
+ 0x65, 0x22, 0x18, 0x0a, 0x16, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x55, 0x70, 0x64,
+ 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2a, 0x9e, 0x01, 0x0a, 0x0a,
+ 0x42, 0x6f, 0x6f, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x13, 0x42, 0x4f,
+ 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57,
+ 0x4e, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x46, 0x4f, 0x52, 0x47, 0x4f, 0x54, 0x54, 0x45, 0x4e,
+ 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x43, 0x59, 0x43, 0x4c,
+ 0x45, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x4f, 0x4d, 0x4d, 0x41, 0x4e, 0x44, 0x10, 0x03,
+ 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x4f, 0x46, 0x54, 0x57, 0x41, 0x52, 0x45, 0x5f, 0x55, 0x50, 0x44,
+ 0x41, 0x54, 0x45, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f,
+ 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x05, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x50, 0x54, 0x49,
+ 0x4d, 0x45, 0x5f, 0x46, 0x44, 0x49, 0x52, 0x10, 0x06, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x45, 0x50,
+ 0x45, 0x41, 0x54, 0x45, 0x52, 0x5f, 0x46, 0x44, 0x49, 0x52, 0x10, 0x07, 0x42, 0x17, 0x5a, 0x15,
+ 0x73, 0x70, 0x61, 0x63, 0x65, 0x78, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64,
+ 0x65, 0x76, 0x69, 0x63, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
return file_spacex_api_device_common_proto_rawDescData
}
-var file_spacex_api_device_common_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
-var file_spacex_api_device_common_proto_msgTypes = make([]protoimpl.MessageInfo, 14)
+var file_spacex_api_device_common_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
+var file_spacex_api_device_common_proto_msgTypes = make([]protoimpl.MessageInfo, 27)
var file_spacex_api_device_common_proto_goTypes = []interface{}{
- (EthernetNetworkInterface_Duplex)(0), // 0: SpaceX.API.Device.EthernetNetworkInterface.Duplex
- (*DeviceInfo)(nil), // 1: SpaceX.API.Device.DeviceInfo
- (*DeviceState)(nil), // 2: SpaceX.API.Device.DeviceState
- (*SignedData)(nil), // 3: SpaceX.API.Device.SignedData
- (*GetNextIdRequest)(nil), // 4: SpaceX.API.Device.GetNextIdRequest
- (*GetNextIdResponse)(nil), // 5: SpaceX.API.Device.GetNextIdResponse
- (*PingTarget)(nil), // 6: SpaceX.API.Device.PingTarget
- (*PingResult)(nil), // 7: SpaceX.API.Device.PingResult
- (*BondingChallenge)(nil), // 8: SpaceX.API.Device.BondingChallenge
- (*AuthenticateRequest)(nil), // 9: SpaceX.API.Device.AuthenticateRequest
- (*ChallengeResponse)(nil), // 10: SpaceX.API.Device.ChallengeResponse
- (*NetworkInterface)(nil), // 11: SpaceX.API.Device.NetworkInterface
- (*EthernetNetworkInterface)(nil), // 12: SpaceX.API.Device.EthernetNetworkInterface
- (*NetworkInterface_RxStats)(nil), // 13: SpaceX.API.Device.NetworkInterface.RxStats
- (*NetworkInterface_TxStats)(nil), // 14: SpaceX.API.Device.NetworkInterface.TxStats
+ (BootReason)(0), // 0: SpaceX.API.Device.BootReason
+ (EthernetNetworkInterface_Duplex)(0), // 1: SpaceX.API.Device.EthernetNetworkInterface.Duplex
+ (*DeviceInfo)(nil), // 2: SpaceX.API.Device.DeviceInfo
+ (*DeviceState)(nil), // 3: SpaceX.API.Device.DeviceState
+ (*SignedData)(nil), // 4: SpaceX.API.Device.SignedData
+ (*GetNextIdRequest)(nil), // 5: SpaceX.API.Device.GetNextIdRequest
+ (*GetNextIdResponse)(nil), // 6: SpaceX.API.Device.GetNextIdResponse
+ (*BootInfo)(nil), // 7: SpaceX.API.Device.BootInfo
+ (*PingTarget)(nil), // 8: SpaceX.API.Device.PingTarget
+ (*PingResult)(nil), // 9: SpaceX.API.Device.PingResult
+ (*BondingChallenge)(nil), // 10: SpaceX.API.Device.BondingChallenge
+ (*AuthenticateRequest)(nil), // 11: SpaceX.API.Device.AuthenticateRequest
+ (*ChallengeResponse)(nil), // 12: SpaceX.API.Device.ChallengeResponse
+ (*NetworkInterface)(nil), // 13: SpaceX.API.Device.NetworkInterface
+ (*EthernetNetworkInterface)(nil), // 14: SpaceX.API.Device.EthernetNetworkInterface
+ (*WifiNetworkInterface)(nil), // 15: SpaceX.API.Device.WifiNetworkInterface
+ (*LLAPosition)(nil), // 16: SpaceX.API.Device.LLAPosition
+ (*ECEFPosition)(nil), // 17: SpaceX.API.Device.ECEFPosition
+ (*InitiateRemoteSshRequest)(nil), // 18: SpaceX.API.Device.InitiateRemoteSshRequest
+ (*InitiateRemoteSshResponse)(nil), // 19: SpaceX.API.Device.InitiateRemoteSshResponse
+ (*SoftwareUpdateRequest)(nil), // 20: SpaceX.API.Device.SoftwareUpdateRequest
+ (*SoftwareUpdateResponse)(nil), // 21: SpaceX.API.Device.SoftwareUpdateResponse
+ nil, // 22: SpaceX.API.Device.BootInfo.CountByReasonEntry
+ nil, // 23: SpaceX.API.Device.BootInfo.CountByReasonDeltaEntry
+ (*NetworkInterface_RxStats)(nil), // 24: SpaceX.API.Device.NetworkInterface.RxStats
+ (*NetworkInterface_TxStats)(nil), // 25: SpaceX.API.Device.NetworkInterface.TxStats
+ (*WifiNetworkInterface_ThermalStatus)(nil), // 26: SpaceX.API.Device.WifiNetworkInterface.ThermalStatus
+ (*WifiNetworkInterface_InvalidPacketCounts)(nil), // 27: SpaceX.API.Device.WifiNetworkInterface.InvalidPacketCounts
+ (*WifiNetworkInterface_AntennaeStatus)(nil), // 28: SpaceX.API.Device.WifiNetworkInterface.AntennaeStatus
}
var file_spacex_api_device_common_proto_depIdxs = []int32{
- 6, // 0: SpaceX.API.Device.PingResult.target:type_name -> SpaceX.API.Device.PingTarget
- 3, // 1: SpaceX.API.Device.AuthenticateRequest.challenge:type_name -> SpaceX.API.Device.SignedData
- 13, // 2: SpaceX.API.Device.NetworkInterface.rx_stats:type_name -> SpaceX.API.Device.NetworkInterface.RxStats
- 14, // 3: SpaceX.API.Device.NetworkInterface.tx_stats:type_name -> SpaceX.API.Device.NetworkInterface.TxStats
- 12, // 4: SpaceX.API.Device.NetworkInterface.ethernet:type_name -> SpaceX.API.Device.EthernetNetworkInterface
- 0, // 5: SpaceX.API.Device.EthernetNetworkInterface.duplex:type_name -> SpaceX.API.Device.EthernetNetworkInterface.Duplex
- 6, // [6:6] is the sub-list for method output_type
- 6, // [6:6] is the sub-list for method input_type
- 6, // [6:6] is the sub-list for extension type_name
- 6, // [6:6] is the sub-list for extension extendee
- 0, // [0:6] is the sub-list for field type_name
+ 7, // 0: SpaceX.API.Device.DeviceInfo.boot:type_name -> SpaceX.API.Device.BootInfo
+ 22, // 1: SpaceX.API.Device.BootInfo.count_by_reason:type_name -> SpaceX.API.Device.BootInfo.CountByReasonEntry
+ 23, // 2: SpaceX.API.Device.BootInfo.count_by_reason_delta:type_name -> SpaceX.API.Device.BootInfo.CountByReasonDeltaEntry
+ 0, // 3: SpaceX.API.Device.BootInfo.last_reason:type_name -> SpaceX.API.Device.BootReason
+ 8, // 4: SpaceX.API.Device.PingResult.target:type_name -> SpaceX.API.Device.PingTarget
+ 4, // 5: SpaceX.API.Device.AuthenticateRequest.challenge:type_name -> SpaceX.API.Device.SignedData
+ 24, // 6: SpaceX.API.Device.NetworkInterface.rx_stats:type_name -> SpaceX.API.Device.NetworkInterface.RxStats
+ 25, // 7: SpaceX.API.Device.NetworkInterface.tx_stats:type_name -> SpaceX.API.Device.NetworkInterface.TxStats
+ 14, // 8: SpaceX.API.Device.NetworkInterface.ethernet:type_name -> SpaceX.API.Device.EthernetNetworkInterface
+ 15, // 9: SpaceX.API.Device.NetworkInterface.wifi:type_name -> SpaceX.API.Device.WifiNetworkInterface
+ 1, // 10: SpaceX.API.Device.EthernetNetworkInterface.duplex:type_name -> SpaceX.API.Device.EthernetNetworkInterface.Duplex
+ 26, // 11: SpaceX.API.Device.WifiNetworkInterface.thermal_status:type_name -> SpaceX.API.Device.WifiNetworkInterface.ThermalStatus
+ 27, // 12: SpaceX.API.Device.WifiNetworkInterface.invalid_packet_counts:type_name -> SpaceX.API.Device.WifiNetworkInterface.InvalidPacketCounts
+ 28, // 13: SpaceX.API.Device.WifiNetworkInterface.antennae_status:type_name -> SpaceX.API.Device.WifiNetworkInterface.AntennaeStatus
+ 14, // [14:14] is the sub-list for method output_type
+ 14, // [14:14] is the sub-list for method input_type
+ 14, // [14:14] is the sub-list for extension type_name
+ 14, // [14:14] is the sub-list for extension extendee
+ 0, // [0:14] is the sub-list for field type_name
}
func init() { file_spacex_api_device_common_proto_init() }
}
}
file_spacex_api_device_common_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*PingTarget); i {
+ switch v := v.(*BootInfo); i {
case 0:
return &v.state
case 1:
}
}
file_spacex_api_device_common_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*PingResult); i {
+ switch v := v.(*PingTarget); i {
case 0:
return &v.state
case 1:
}
}
file_spacex_api_device_common_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*BondingChallenge); i {
+ switch v := v.(*PingResult); i {
case 0:
return &v.state
case 1:
}
}
file_spacex_api_device_common_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*AuthenticateRequest); i {
+ switch v := v.(*BondingChallenge); i {
case 0:
return &v.state
case 1:
}
}
file_spacex_api_device_common_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ChallengeResponse); i {
+ switch v := v.(*AuthenticateRequest); i {
case 0:
return &v.state
case 1:
}
}
file_spacex_api_device_common_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*NetworkInterface); i {
+ switch v := v.(*ChallengeResponse); i {
case 0:
return &v.state
case 1:
}
}
file_spacex_api_device_common_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*EthernetNetworkInterface); i {
+ switch v := v.(*NetworkInterface); i {
case 0:
return &v.state
case 1:
}
}
file_spacex_api_device_common_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*NetworkInterface_RxStats); i {
+ switch v := v.(*EthernetNetworkInterface); i {
case 0:
return &v.state
case 1:
}
}
file_spacex_api_device_common_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WifiNetworkInterface); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_common_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LLAPosition); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_common_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ECEFPosition); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_common_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*InitiateRemoteSshRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_common_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*InitiateRemoteSshResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_common_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SoftwareUpdateRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_common_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SoftwareUpdateResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_common_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*NetworkInterface_RxStats); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_common_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*NetworkInterface_TxStats); i {
case 0:
return &v.state
return nil
}
}
+ file_spacex_api_device_common_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WifiNetworkInterface_ThermalStatus); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_common_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WifiNetworkInterface_InvalidPacketCounts); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_common_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WifiNetworkInterface_AntennaeStatus); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
}
- file_spacex_api_device_common_proto_msgTypes[10].OneofWrappers = []interface{}{
+ file_spacex_api_device_common_proto_msgTypes[11].OneofWrappers = []interface{}{
(*NetworkInterface_Ethernet)(nil),
+ (*NetworkInterface_Wifi)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_spacex_api_device_common_proto_rawDesc,
- NumEnums: 1,
- NumMessages: 14,
+ NumEnums: 2,
+ NumMessages: 27,
NumExtensions: 0,
NumServices: 0,
},
blob - 44c322e88b68755c9bc1ddbbb58d8e29a3ec4d6f
blob + b0a7b32d96a67681d898c69fa0a8a7f534910c46
--- device/device.pb.go
+++ device/device.pb.go
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type PositionSource int32
+
+const (
+ PositionSource_AUTO PositionSource = 0
+ PositionSource_NONE PositionSource = 1
+ PositionSource_UT_INFO PositionSource = 2
+ PositionSource_EXTERNAL PositionSource = 3
+ PositionSource_GPS PositionSource = 4
+ PositionSource_STARLINK PositionSource = 5
+)
+
+// Enum value maps for PositionSource.
+var (
+ PositionSource_name = map[int32]string{
+ 0: "AUTO",
+ 1: "NONE",
+ 2: "UT_INFO",
+ 3: "EXTERNAL",
+ 4: "GPS",
+ 5: "STARLINK",
+ }
+ PositionSource_value = map[string]int32{
+ "AUTO": 0,
+ "NONE": 1,
+ "UT_INFO": 2,
+ "EXTERNAL": 3,
+ "GPS": 4,
+ "STARLINK": 5,
+ }
+)
+
+func (x PositionSource) Enum() *PositionSource {
+ p := new(PositionSource)
+ *p = x
+ return p
+}
+
+func (x PositionSource) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (PositionSource) Descriptor() protoreflect.EnumDescriptor {
+ return file_spacex_api_device_device_proto_enumTypes[0].Descriptor()
+}
+
+func (PositionSource) Type() protoreflect.EnumType {
+ return &file_spacex_api_device_device_proto_enumTypes[0]
+}
+
+func (x PositionSource) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use PositionSource.Descriptor instead.
+func (PositionSource) EnumDescriptor() ([]byte, []int) {
+ return file_spacex_api_device_device_proto_rawDescGZIP(), []int{0}
+}
+
+type SpeedtestError int32
+
+const (
+ SpeedtestError_SPEEDTEST_ERROR_NONE SpeedtestError = 0
+ SpeedtestError_SPEEDTEST_ERROR_UNKNOWN SpeedtestError = 1
+ SpeedtestError_SPEEDTEST_ERROR_TOKEN SpeedtestError = 2
+ SpeedtestError_SPEEDTEST_ERROR_API SpeedtestError = 3
+ SpeedtestError_SPEEDTEST_ERROR_NO_RESULT SpeedtestError = 4
+ SpeedtestError_SPEEDTEST_ERROR_OFFLINE SpeedtestError = 5
+)
+
+// Enum value maps for SpeedtestError.
+var (
+ SpeedtestError_name = map[int32]string{
+ 0: "SPEEDTEST_ERROR_NONE",
+ 1: "SPEEDTEST_ERROR_UNKNOWN",
+ 2: "SPEEDTEST_ERROR_TOKEN",
+ 3: "SPEEDTEST_ERROR_API",
+ 4: "SPEEDTEST_ERROR_NO_RESULT",
+ 5: "SPEEDTEST_ERROR_OFFLINE",
+ }
+ SpeedtestError_value = map[string]int32{
+ "SPEEDTEST_ERROR_NONE": 0,
+ "SPEEDTEST_ERROR_UNKNOWN": 1,
+ "SPEEDTEST_ERROR_TOKEN": 2,
+ "SPEEDTEST_ERROR_API": 3,
+ "SPEEDTEST_ERROR_NO_RESULT": 4,
+ "SPEEDTEST_ERROR_OFFLINE": 5,
+ }
+)
+
+func (x SpeedtestError) Enum() *SpeedtestError {
+ p := new(SpeedtestError)
+ *p = x
+ return p
+}
+
+func (x SpeedtestError) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (SpeedtestError) Descriptor() protoreflect.EnumDescriptor {
+ return file_spacex_api_device_device_proto_enumTypes[1].Descriptor()
+}
+
+func (SpeedtestError) Type() protoreflect.EnumType {
+ return &file_spacex_api_device_device_proto_enumTypes[1]
+}
+
+func (x SpeedtestError) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use SpeedtestError.Descriptor instead.
+func (SpeedtestError) EnumDescriptor() ([]byte, []int) {
+ return file_spacex_api_device_device_proto_rawDescGZIP(), []int{1}
+}
+
+type ClientPlatform_Platform int32
+
+const (
+ ClientPlatform_UNKNOWN ClientPlatform_Platform = 0
+ ClientPlatform_IOS ClientPlatform_Platform = 1
+ ClientPlatform_ANDROID ClientPlatform_Platform = 2
+ ClientPlatform_WEB ClientPlatform_Platform = 3
+)
+
+// Enum value maps for ClientPlatform_Platform.
+var (
+ ClientPlatform_Platform_name = map[int32]string{
+ 0: "UNKNOWN",
+ 1: "IOS",
+ 2: "ANDROID",
+ 3: "WEB",
+ }
+ ClientPlatform_Platform_value = map[string]int32{
+ "UNKNOWN": 0,
+ "IOS": 1,
+ "ANDROID": 2,
+ "WEB": 3,
+ }
)
+func (x ClientPlatform_Platform) Enum() *ClientPlatform_Platform {
+ p := new(ClientPlatform_Platform)
+ *p = x
+ return p
+}
+
+func (x ClientPlatform_Platform) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ClientPlatform_Platform) Descriptor() protoreflect.EnumDescriptor {
+ return file_spacex_api_device_device_proto_enumTypes[2].Descriptor()
+}
+
+func (ClientPlatform_Platform) Type() protoreflect.EnumType {
+ return &file_spacex_api_device_device_proto_enumTypes[2]
+}
+
+func (x ClientPlatform_Platform) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use ClientPlatform_Platform.Descriptor instead.
+func (ClientPlatform_Platform) EnumDescriptor() ([]byte, []int) {
+ return file_spacex_api_device_device_proto_rawDescGZIP(), []int{22, 0}
+}
+
type ToDevice struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
// *Request_SignedRequest
// *Request_GetNextId
// *Request_Authenticate
+ // *Request_EnableDebugTelem
// *Request_FactoryReset
// *Request_GetDeviceInfo
// *Request_GetHistory
// *Request_SetTrustedKeys
// *Request_SpeedTest
// *Request_Update
+ // *Request_GetLocation
+ // *Request_GetHeapDump
+ // *Request_RestartControl
+ // *Request_Fuse
+ // *Request_GetPersistentStats
+ // *Request_GetConnections
+ // *Request_StartSpeedtest
+ // *Request_GetSpeedtestStatus
+ // *Request_ReportClientSpeedtest
+ // *Request_InitiateRemoteSsh
+ // *Request_SelfTest
+ // *Request_SetTestMode
+ // *Request_SoftwareUpdate
// *Request_DishStow
+ // *Request_StartDishSelfTest
+ // *Request_DishGetContext
+ // *Request_DishGetObstructionMap
+ // *Request_DishSetEmc
+ // *Request_DishGetEmc
+ // *Request_DishSetConfig
+ // *Request_DishGetConfig
// *Request_TransceiverIfLoopbackTest
// *Request_TransceiverGetStatus
+ // *Request_TransceiverGetTelemetry
// *Request_WifiGetClients
+ // *Request_WifiGetDiagnostics
// *Request_WifiGetPingMetrics
// *Request_WifiSetConfig
+ // *Request_WifiGetConfig
// *Request_WifiSetup
+ // *Request_WifiSetMeshDeviceTrust
+ // *Request_WifiSetMeshConfig
+ // *Request_WifiGetClientHistory
Request isRequest_Request `protobuf_oneof:"request"`
}
return nil
}
+func (x *Request) GetEnableDebugTelem() *EnableDebugTelemRequest {
+ if x, ok := x.GetRequest().(*Request_EnableDebugTelem); ok {
+ return x.EnableDebugTelem
+ }
+ return nil
+}
+
func (x *Request) GetFactoryReset() *FactoryResetRequest {
if x, ok := x.GetRequest().(*Request_FactoryReset); ok {
return x.FactoryReset
return nil
}
+func (x *Request) GetGetLocation() *GetLocationRequest {
+ if x, ok := x.GetRequest().(*Request_GetLocation); ok {
+ return x.GetLocation
+ }
+ return nil
+}
+
+func (x *Request) GetGetHeapDump() *GetHeapDumpRequest {
+ if x, ok := x.GetRequest().(*Request_GetHeapDump); ok {
+ return x.GetHeapDump
+ }
+ return nil
+}
+
+func (x *Request) GetRestartControl() *RestartControlRequest {
+ if x, ok := x.GetRequest().(*Request_RestartControl); ok {
+ return x.RestartControl
+ }
+ return nil
+}
+
+func (x *Request) GetFuse() *FuseRequest {
+ if x, ok := x.GetRequest().(*Request_Fuse); ok {
+ return x.Fuse
+ }
+ return nil
+}
+
+func (x *Request) GetGetPersistentStats() *GetPersistentStatsRequest {
+ if x, ok := x.GetRequest().(*Request_GetPersistentStats); ok {
+ return x.GetPersistentStats
+ }
+ return nil
+}
+
+func (x *Request) GetGetConnections() *GetConnectionsRequest {
+ if x, ok := x.GetRequest().(*Request_GetConnections); ok {
+ return x.GetConnections
+ }
+ return nil
+}
+
+func (x *Request) GetStartSpeedtest() *StartSpeedtestRequest {
+ if x, ok := x.GetRequest().(*Request_StartSpeedtest); ok {
+ return x.StartSpeedtest
+ }
+ return nil
+}
+
+func (x *Request) GetGetSpeedtestStatus() *GetSpeedtestStatusRequest {
+ if x, ok := x.GetRequest().(*Request_GetSpeedtestStatus); ok {
+ return x.GetSpeedtestStatus
+ }
+ return nil
+}
+
+func (x *Request) GetReportClientSpeedtest() *ReportClientSpeedtestRequest {
+ if x, ok := x.GetRequest().(*Request_ReportClientSpeedtest); ok {
+ return x.ReportClientSpeedtest
+ }
+ return nil
+}
+
+func (x *Request) GetInitiateRemoteSsh() *InitiateRemoteSshRequest {
+ if x, ok := x.GetRequest().(*Request_InitiateRemoteSsh); ok {
+ return x.InitiateRemoteSsh
+ }
+ return nil
+}
+
+func (x *Request) GetSelfTest() *SelfTestRequest {
+ if x, ok := x.GetRequest().(*Request_SelfTest); ok {
+ return x.SelfTest
+ }
+ return nil
+}
+
+func (x *Request) GetSetTestMode() *SetTestModeRequest {
+ if x, ok := x.GetRequest().(*Request_SetTestMode); ok {
+ return x.SetTestMode
+ }
+ return nil
+}
+
+func (x *Request) GetSoftwareUpdate() *SoftwareUpdateRequest {
+ if x, ok := x.GetRequest().(*Request_SoftwareUpdate); ok {
+ return x.SoftwareUpdate
+ }
+ return nil
+}
+
func (x *Request) GetDishStow() *DishStowRequest {
if x, ok := x.GetRequest().(*Request_DishStow); ok {
return x.DishStow
return nil
}
+func (x *Request) GetStartDishSelfTest() *StartDishSelfTestRequest {
+ if x, ok := x.GetRequest().(*Request_StartDishSelfTest); ok {
+ return x.StartDishSelfTest
+ }
+ return nil
+}
+
+func (x *Request) GetDishGetContext() *DishGetContextRequest {
+ if x, ok := x.GetRequest().(*Request_DishGetContext); ok {
+ return x.DishGetContext
+ }
+ return nil
+}
+
+func (x *Request) GetDishGetObstructionMap() *DishGetObstructionMapRequest {
+ if x, ok := x.GetRequest().(*Request_DishGetObstructionMap); ok {
+ return x.DishGetObstructionMap
+ }
+ return nil
+}
+
+func (x *Request) GetDishSetEmc() *DishSetEmcRequest {
+ if x, ok := x.GetRequest().(*Request_DishSetEmc); ok {
+ return x.DishSetEmc
+ }
+ return nil
+}
+
+func (x *Request) GetDishGetEmc() *DishGetEmcRequest {
+ if x, ok := x.GetRequest().(*Request_DishGetEmc); ok {
+ return x.DishGetEmc
+ }
+ return nil
+}
+
+func (x *Request) GetDishSetConfig() *DishSetConfigRequest {
+ if x, ok := x.GetRequest().(*Request_DishSetConfig); ok {
+ return x.DishSetConfig
+ }
+ return nil
+}
+
+func (x *Request) GetDishGetConfig() *DishGetConfigRequest {
+ if x, ok := x.GetRequest().(*Request_DishGetConfig); ok {
+ return x.DishGetConfig
+ }
+ return nil
+}
+
func (x *Request) GetTransceiverIfLoopbackTest() *TransceiverIFLoopbackTestRequest {
if x, ok := x.GetRequest().(*Request_TransceiverIfLoopbackTest); ok {
return x.TransceiverIfLoopbackTest
return nil
}
+func (x *Request) GetTransceiverGetTelemetry() *TransceiverGetTelemetryRequest {
+ if x, ok := x.GetRequest().(*Request_TransceiverGetTelemetry); ok {
+ return x.TransceiverGetTelemetry
+ }
+ return nil
+}
+
func (x *Request) GetWifiGetClients() *WifiGetClientsRequest {
if x, ok := x.GetRequest().(*Request_WifiGetClients); ok {
return x.WifiGetClients
return nil
}
+func (x *Request) GetWifiGetDiagnostics() *WifiGetDiagnosticsRequest {
+ if x, ok := x.GetRequest().(*Request_WifiGetDiagnostics); ok {
+ return x.WifiGetDiagnostics
+ }
+ return nil
+}
+
func (x *Request) GetWifiGetPingMetrics() *WifiGetPingMetricsRequest {
if x, ok := x.GetRequest().(*Request_WifiGetPingMetrics); ok {
return x.WifiGetPingMetrics
return nil
}
+func (x *Request) GetWifiGetConfig() *WifiGetConfigRequest {
+ if x, ok := x.GetRequest().(*Request_WifiGetConfig); ok {
+ return x.WifiGetConfig
+ }
+ return nil
+}
+
func (x *Request) GetWifiSetup() *WifiSetupRequest {
if x, ok := x.GetRequest().(*Request_WifiSetup); ok {
return x.WifiSetup
return nil
}
+func (x *Request) GetWifiSetMeshDeviceTrust() *WifiSetMeshDeviceTrustRequest {
+ if x, ok := x.GetRequest().(*Request_WifiSetMeshDeviceTrust); ok {
+ return x.WifiSetMeshDeviceTrust
+ }
+ return nil
+}
+
+func (x *Request) GetWifiSetMeshConfig() *WifiSetMeshConfigRequest {
+ if x, ok := x.GetRequest().(*Request_WifiSetMeshConfig); ok {
+ return x.WifiSetMeshConfig
+ }
+ return nil
+}
+
+func (x *Request) GetWifiGetClientHistory() *WifiGetClientHistoryRequest {
+ if x, ok := x.GetRequest().(*Request_WifiGetClientHistory); ok {
+ return x.WifiGetClientHistory
+ }
+ return nil
+}
+
type isRequest_Request interface {
isRequest_Request()
}
type Request_Authenticate struct {
Authenticate *AuthenticateRequest `protobuf:"bytes,1005,opt,name=authenticate,proto3,oneof"`
+}
+
+type Request_EnableDebugTelem struct {
+ EnableDebugTelem *EnableDebugTelemRequest `protobuf:"bytes,1034,opt,name=enable_debug_telem,json=enableDebugTelem,proto3,oneof"`
}
type Request_FactoryReset struct {
Update *UpdateRequest `protobuf:"bytes,1014,opt,name=update,proto3,oneof"`
}
+type Request_GetLocation struct {
+ GetLocation *GetLocationRequest `protobuf:"bytes,1017,opt,name=get_location,json=getLocation,proto3,oneof"`
+}
+
+type Request_GetHeapDump struct {
+ GetHeapDump *GetHeapDumpRequest `protobuf:"bytes,1019,opt,name=get_heap_dump,json=getHeapDump,proto3,oneof"`
+}
+
+type Request_RestartControl struct {
+ RestartControl *RestartControlRequest `protobuf:"bytes,1020,opt,name=restart_control,json=restartControl,proto3,oneof"`
+}
+
+type Request_Fuse struct {
+ Fuse *FuseRequest `protobuf:"bytes,1021,opt,name=fuse,proto3,oneof"`
+}
+
+type Request_GetPersistentStats struct {
+ GetPersistentStats *GetPersistentStatsRequest `protobuf:"bytes,1022,opt,name=get_persistent_stats,json=getPersistentStats,proto3,oneof"`
+}
+
+type Request_GetConnections struct {
+ GetConnections *GetConnectionsRequest `protobuf:"bytes,1023,opt,name=get_connections,json=getConnections,proto3,oneof"`
+}
+
+type Request_StartSpeedtest struct {
+ StartSpeedtest *StartSpeedtestRequest `protobuf:"bytes,1027,opt,name=start_speedtest,json=startSpeedtest,proto3,oneof"`
+}
+
+type Request_GetSpeedtestStatus struct {
+ GetSpeedtestStatus *GetSpeedtestStatusRequest `protobuf:"bytes,1028,opt,name=get_speedtest_status,json=getSpeedtestStatus,proto3,oneof"`
+}
+
+type Request_ReportClientSpeedtest struct {
+ ReportClientSpeedtest *ReportClientSpeedtestRequest `protobuf:"bytes,1029,opt,name=report_client_speedtest,json=reportClientSpeedtest,proto3,oneof"`
+}
+
+type Request_InitiateRemoteSsh struct {
+ InitiateRemoteSsh *InitiateRemoteSshRequest `protobuf:"bytes,1030,opt,name=initiate_remote_ssh,json=initiateRemoteSsh,proto3,oneof"`
+}
+
+type Request_SelfTest struct {
+ SelfTest *SelfTestRequest `protobuf:"bytes,1031,opt,name=self_test,json=selfTest,proto3,oneof"`
+}
+
+type Request_SetTestMode struct {
+ SetTestMode *SetTestModeRequest `protobuf:"bytes,1032,opt,name=set_test_mode,json=setTestMode,proto3,oneof"`
+}
+
+type Request_SoftwareUpdate struct {
+ SoftwareUpdate *SoftwareUpdateRequest `protobuf:"bytes,1033,opt,name=software_update,json=softwareUpdate,proto3,oneof"`
+}
+
type Request_DishStow struct {
DishStow *DishStowRequest `protobuf:"bytes,2002,opt,name=dish_stow,json=dishStow,proto3,oneof"`
}
+type Request_StartDishSelfTest struct {
+ StartDishSelfTest *StartDishSelfTestRequest `protobuf:"bytes,2012,opt,name=start_dish_self_test,json=startDishSelfTest,proto3,oneof"`
+}
+
+type Request_DishGetContext struct {
+ DishGetContext *DishGetContextRequest `protobuf:"bytes,2003,opt,name=dish_get_context,json=dishGetContext,proto3,oneof"`
+}
+
+type Request_DishGetObstructionMap struct {
+ DishGetObstructionMap *DishGetObstructionMapRequest `protobuf:"bytes,2008,opt,name=dish_get_obstruction_map,json=dishGetObstructionMap,proto3,oneof"`
+}
+
+type Request_DishSetEmc struct {
+ DishSetEmc *DishSetEmcRequest `protobuf:"bytes,2007,opt,name=dish_set_emc,json=dishSetEmc,proto3,oneof"`
+}
+
+type Request_DishGetEmc struct {
+ DishGetEmc *DishGetEmcRequest `protobuf:"bytes,2009,opt,name=dish_get_emc,json=dishGetEmc,proto3,oneof"`
+}
+
+type Request_DishSetConfig struct {
+ DishSetConfig *DishSetConfigRequest `protobuf:"bytes,2010,opt,name=dish_set_config,json=dishSetConfig,proto3,oneof"`
+}
+
+type Request_DishGetConfig struct {
+ DishGetConfig *DishGetConfigRequest `protobuf:"bytes,2011,opt,name=dish_get_config,json=dishGetConfig,proto3,oneof"`
+}
+
type Request_TransceiverIfLoopbackTest struct {
TransceiverIfLoopbackTest *TransceiverIFLoopbackTestRequest `protobuf:"bytes,4001,opt,name=transceiver_if_loopback_test,json=transceiverIfLoopbackTest,proto3,oneof"`
}
TransceiverGetStatus *TransceiverGetStatusRequest `protobuf:"bytes,4003,opt,name=transceiver_get_status,json=transceiverGetStatus,proto3,oneof"`
}
+type Request_TransceiverGetTelemetry struct {
+ TransceiverGetTelemetry *TransceiverGetTelemetryRequest `protobuf:"bytes,4004,opt,name=transceiver_get_telemetry,json=transceiverGetTelemetry,proto3,oneof"`
+}
+
type Request_WifiGetClients struct {
WifiGetClients *WifiGetClientsRequest `protobuf:"bytes,3002,opt,name=wifi_get_clients,json=wifiGetClients,proto3,oneof"`
}
+type Request_WifiGetDiagnostics struct {
+ WifiGetDiagnostics *WifiGetDiagnosticsRequest `protobuf:"bytes,3008,opt,name=wifi_get_diagnostics,json=wifiGetDiagnostics,proto3,oneof"`
+}
+
type Request_WifiGetPingMetrics struct {
WifiGetPingMetrics *WifiGetPingMetricsRequest `protobuf:"bytes,3007,opt,name=wifi_get_ping_metrics,json=wifiGetPingMetrics,proto3,oneof"`
}
WifiSetConfig *WifiSetConfigRequest `protobuf:"bytes,3001,opt,name=wifi_set_config,json=wifiSetConfig,proto3,oneof"`
}
+type Request_WifiGetConfig struct {
+ WifiGetConfig *WifiGetConfigRequest `protobuf:"bytes,3009,opt,name=wifi_get_config,json=wifiGetConfig,proto3,oneof"`
+}
+
type Request_WifiSetup struct {
WifiSetup *WifiSetupRequest `protobuf:"bytes,3003,opt,name=wifi_setup,json=wifiSetup,proto3,oneof"`
}
+type Request_WifiSetMeshDeviceTrust struct {
+ WifiSetMeshDeviceTrust *WifiSetMeshDeviceTrustRequest `protobuf:"bytes,3012,opt,name=wifi_set_mesh_device_trust,json=wifiSetMeshDeviceTrust,proto3,oneof"`
+}
+
+type Request_WifiSetMeshConfig struct {
+ WifiSetMeshConfig *WifiSetMeshConfigRequest `protobuf:"bytes,3013,opt,name=wifi_set_mesh_config,json=wifiSetMeshConfig,proto3,oneof"`
+}
+
+type Request_WifiGetClientHistory struct {
+ WifiGetClientHistory *WifiGetClientHistoryRequest `protobuf:"bytes,3015,opt,name=wifi_get_client_history,json=wifiGetClientHistory,proto3,oneof"`
+}
+
func (*Request_SignedRequest) isRequest_Request() {}
func (*Request_GetNextId) isRequest_Request() {}
func (*Request_Authenticate) isRequest_Request() {}
+func (*Request_EnableDebugTelem) isRequest_Request() {}
+
func (*Request_FactoryReset) isRequest_Request() {}
func (*Request_GetDeviceInfo) isRequest_Request() {}
func (*Request_Update) isRequest_Request() {}
+func (*Request_GetLocation) isRequest_Request() {}
+
+func (*Request_GetHeapDump) isRequest_Request() {}
+
+func (*Request_RestartControl) isRequest_Request() {}
+
+func (*Request_Fuse) isRequest_Request() {}
+
+func (*Request_GetPersistentStats) isRequest_Request() {}
+
+func (*Request_GetConnections) isRequest_Request() {}
+
+func (*Request_StartSpeedtest) isRequest_Request() {}
+
+func (*Request_GetSpeedtestStatus) isRequest_Request() {}
+
+func (*Request_ReportClientSpeedtest) isRequest_Request() {}
+
+func (*Request_InitiateRemoteSsh) isRequest_Request() {}
+
+func (*Request_SelfTest) isRequest_Request() {}
+
+func (*Request_SetTestMode) isRequest_Request() {}
+
+func (*Request_SoftwareUpdate) isRequest_Request() {}
+
func (*Request_DishStow) isRequest_Request() {}
+func (*Request_StartDishSelfTest) isRequest_Request() {}
+
+func (*Request_DishGetContext) isRequest_Request() {}
+
+func (*Request_DishGetObstructionMap) isRequest_Request() {}
+
+func (*Request_DishSetEmc) isRequest_Request() {}
+
+func (*Request_DishGetEmc) isRequest_Request() {}
+
+func (*Request_DishSetConfig) isRequest_Request() {}
+
+func (*Request_DishGetConfig) isRequest_Request() {}
+
func (*Request_TransceiverIfLoopbackTest) isRequest_Request() {}
func (*Request_TransceiverGetStatus) isRequest_Request() {}
+func (*Request_TransceiverGetTelemetry) isRequest_Request() {}
+
func (*Request_WifiGetClients) isRequest_Request() {}
+func (*Request_WifiGetDiagnostics) isRequest_Request() {}
+
func (*Request_WifiGetPingMetrics) isRequest_Request() {}
func (*Request_WifiSetConfig) isRequest_Request() {}
+func (*Request_WifiGetConfig) isRequest_Request() {}
+
func (*Request_WifiSetup) isRequest_Request() {}
+func (*Request_WifiSetMeshDeviceTrust) isRequest_Request() {}
+
+func (*Request_WifiSetMeshConfig) isRequest_Request() {}
+
+func (*Request_WifiGetClientHistory) isRequest_Request() {}
+
type Response struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
- Status *status.Status `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
+ Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
+ Status *status.Status `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
+ ApiVersion uint64 `protobuf:"varint,3,opt,name=api_version,json=apiVersion,proto3" json:"api_version,omitempty"`
// Types that are assignable to Response:
//
// *Response_GetNextId
+ // *Response_EnableDebugTelem
// *Response_FactoryReset
// *Response_GetDeviceInfo
// *Response_GetLog
// *Response_SetSku
// *Response_SetTrustedKeys
// *Response_Update
+ // *Response_GetLocation
+ // *Response_GetHeapDump
+ // *Response_RestartControl
+ // *Response_Fuse
+ // *Response_GetConnections
+ // *Response_StartSpeedtest
+ // *Response_GetSpeedtestStatus
+ // *Response_ReportClientSpeedtest
+ // *Response_InitiateRemoteSsh
+ // *Response_SelfTest
+ // *Response_SetTestMode
+ // *Response_SoftwareUpdate
// *Response_DishAuthenticate
+ // *Response_DishGetContext
// *Response_DishGetHistory
// *Response_DishGetStatus
+ // *Response_DishGetObstructionMap
// *Response_DishStow
+ // *Response_StartDishSelfTest
+ // *Response_DishSetEmc
+ // *Response_DishGetEmc
+ // *Response_DishSetConfig
+ // *Response_DishGetConfig
// *Response_TransceiverIfLoopbackTest
// *Response_TransceiverGetStatus
+ // *Response_TransceiverGetTelemetry
// *Response_WifiAuthenticate
// *Response_WifiGetClients
+ // *Response_WifiGetDiagnostics
// *Response_WifiGetHistory
// *Response_WifiGetPingMetrics
// *Response_WifiGetStatus
// *Response_WifiSetConfig
+ // *Response_WifiGetConfig
// *Response_WifiSetup
+ // *Response_WifiGetPersistentStats
+ // *Response_WifiSetMeshDeviceTrust
+ // *Response_WifiSetMeshConfig
+ // *Response_WifiGetClientHistory
Response isResponse_Response `protobuf_oneof:"response"`
}
return nil
}
+func (x *Response) GetApiVersion() uint64 {
+ if x != nil {
+ return x.ApiVersion
+ }
+ return 0
+}
+
func (m *Response) GetResponse() isResponse_Response {
if m != nil {
return m.Response
return nil
}
+func (x *Response) GetEnableDebugTelem() *EnableDebugTelemResponse {
+ if x, ok := x.GetResponse().(*Response_EnableDebugTelem); ok {
+ return x.EnableDebugTelem
+ }
+ return nil
+}
+
func (x *Response) GetFactoryReset() *FactoryResetResponse {
if x, ok := x.GetResponse().(*Response_FactoryReset); ok {
return x.FactoryReset
func (x *Response) GetUpdate() *UpdateResponse {
if x, ok := x.GetResponse().(*Response_Update); ok {
return x.Update
+ }
+ return nil
+}
+
+func (x *Response) GetGetLocation() *GetLocationResponse {
+ if x, ok := x.GetResponse().(*Response_GetLocation); ok {
+ return x.GetLocation
+ }
+ return nil
+}
+
+func (x *Response) GetGetHeapDump() *GetHeapDumpResponse {
+ if x, ok := x.GetResponse().(*Response_GetHeapDump); ok {
+ return x.GetHeapDump
+ }
+ return nil
+}
+
+func (x *Response) GetRestartControl() *RestartControlResponse {
+ if x, ok := x.GetResponse().(*Response_RestartControl); ok {
+ return x.RestartControl
+ }
+ return nil
+}
+
+func (x *Response) GetFuse() *FuseResponse {
+ if x, ok := x.GetResponse().(*Response_Fuse); ok {
+ return x.Fuse
+ }
+ return nil
+}
+
+func (x *Response) GetGetConnections() *GetConnectionsResponse {
+ if x, ok := x.GetResponse().(*Response_GetConnections); ok {
+ return x.GetConnections
+ }
+ return nil
+}
+
+func (x *Response) GetStartSpeedtest() *StartSpeedtestResponse {
+ if x, ok := x.GetResponse().(*Response_StartSpeedtest); ok {
+ return x.StartSpeedtest
+ }
+ return nil
+}
+
+func (x *Response) GetGetSpeedtestStatus() *GetSpeedtestStatusResponse {
+ if x, ok := x.GetResponse().(*Response_GetSpeedtestStatus); ok {
+ return x.GetSpeedtestStatus
+ }
+ return nil
+}
+
+func (x *Response) GetReportClientSpeedtest() *ReportClientSpeedtestResponse {
+ if x, ok := x.GetResponse().(*Response_ReportClientSpeedtest); ok {
+ return x.ReportClientSpeedtest
}
return nil
}
+func (x *Response) GetInitiateRemoteSsh() *InitiateRemoteSshResponse {
+ if x, ok := x.GetResponse().(*Response_InitiateRemoteSsh); ok {
+ return x.InitiateRemoteSsh
+ }
+ return nil
+}
+
+func (x *Response) GetSelfTest() *SelfTestResponse {
+ if x, ok := x.GetResponse().(*Response_SelfTest); ok {
+ return x.SelfTest
+ }
+ return nil
+}
+
+func (x *Response) GetSetTestMode() *SetTestModeResponse {
+ if x, ok := x.GetResponse().(*Response_SetTestMode); ok {
+ return x.SetTestMode
+ }
+ return nil
+}
+
+func (x *Response) GetSoftwareUpdate() *SoftwareUpdateResponse {
+ if x, ok := x.GetResponse().(*Response_SoftwareUpdate); ok {
+ return x.SoftwareUpdate
+ }
+ return nil
+}
+
func (x *Response) GetDishAuthenticate() *DishAuthenticateResponse {
if x, ok := x.GetResponse().(*Response_DishAuthenticate); ok {
return x.DishAuthenticate
return nil
}
+func (x *Response) GetDishGetContext() *DishGetContextResponse {
+ if x, ok := x.GetResponse().(*Response_DishGetContext); ok {
+ return x.DishGetContext
+ }
+ return nil
+}
+
func (x *Response) GetDishGetHistory() *DishGetHistoryResponse {
if x, ok := x.GetResponse().(*Response_DishGetHistory); ok {
return x.DishGetHistory
return nil
}
+func (x *Response) GetDishGetObstructionMap() *DishGetObstructionMapResponse {
+ if x, ok := x.GetResponse().(*Response_DishGetObstructionMap); ok {
+ return x.DishGetObstructionMap
+ }
+ return nil
+}
+
func (x *Response) GetDishStow() *DishStowResponse {
if x, ok := x.GetResponse().(*Response_DishStow); ok {
return x.DishStow
return nil
}
+func (x *Response) GetStartDishSelfTest() *StartDishSelfTestResponse {
+ if x, ok := x.GetResponse().(*Response_StartDishSelfTest); ok {
+ return x.StartDishSelfTest
+ }
+ return nil
+}
+
+func (x *Response) GetDishSetEmc() *DishSetEmcResponse {
+ if x, ok := x.GetResponse().(*Response_DishSetEmc); ok {
+ return x.DishSetEmc
+ }
+ return nil
+}
+
+func (x *Response) GetDishGetEmc() *DishGetEmcResponse {
+ if x, ok := x.GetResponse().(*Response_DishGetEmc); ok {
+ return x.DishGetEmc
+ }
+ return nil
+}
+
+func (x *Response) GetDishSetConfig() *DishSetConfigResponse {
+ if x, ok := x.GetResponse().(*Response_DishSetConfig); ok {
+ return x.DishSetConfig
+ }
+ return nil
+}
+
+func (x *Response) GetDishGetConfig() *DishGetConfigResponse {
+ if x, ok := x.GetResponse().(*Response_DishGetConfig); ok {
+ return x.DishGetConfig
+ }
+ return nil
+}
+
func (x *Response) GetTransceiverIfLoopbackTest() *TransceiverIFLoopbackTestResponse {
if x, ok := x.GetResponse().(*Response_TransceiverIfLoopbackTest); ok {
return x.TransceiverIfLoopbackTest
return nil
}
+func (x *Response) GetTransceiverGetTelemetry() *TransceiverGetTelemetryResponse {
+ if x, ok := x.GetResponse().(*Response_TransceiverGetTelemetry); ok {
+ return x.TransceiverGetTelemetry
+ }
+ return nil
+}
+
func (x *Response) GetWifiAuthenticate() *WifiAuthenticateResponse {
if x, ok := x.GetResponse().(*Response_WifiAuthenticate); ok {
return x.WifiAuthenticate
return nil
}
+func (x *Response) GetWifiGetDiagnostics() *WifiGetDiagnosticsResponse {
+ if x, ok := x.GetResponse().(*Response_WifiGetDiagnostics); ok {
+ return x.WifiGetDiagnostics
+ }
+ return nil
+}
+
func (x *Response) GetWifiGetHistory() *WifiGetHistoryResponse {
if x, ok := x.GetResponse().(*Response_WifiGetHistory); ok {
return x.WifiGetHistory
return nil
}
+func (x *Response) GetWifiGetConfig() *WifiGetConfigResponse {
+ if x, ok := x.GetResponse().(*Response_WifiGetConfig); ok {
+ return x.WifiGetConfig
+ }
+ return nil
+}
+
func (x *Response) GetWifiSetup() *WifiSetupResponse {
if x, ok := x.GetResponse().(*Response_WifiSetup); ok {
return x.WifiSetup
return nil
}
+func (x *Response) GetWifiGetPersistentStats() *WifiGetPersistentStatsResponse {
+ if x, ok := x.GetResponse().(*Response_WifiGetPersistentStats); ok {
+ return x.WifiGetPersistentStats
+ }
+ return nil
+}
+
+func (x *Response) GetWifiSetMeshDeviceTrust() *WifiSetMeshDeviceTrustResponse {
+ if x, ok := x.GetResponse().(*Response_WifiSetMeshDeviceTrust); ok {
+ return x.WifiSetMeshDeviceTrust
+ }
+ return nil
+}
+
+func (x *Response) GetWifiSetMeshConfig() *WifiSetMeshConfigResponse {
+ if x, ok := x.GetResponse().(*Response_WifiSetMeshConfig); ok {
+ return x.WifiSetMeshConfig
+ }
+ return nil
+}
+
+func (x *Response) GetWifiGetClientHistory() *WifiGetClientHistoryResponse {
+ if x, ok := x.GetResponse().(*Response_WifiGetClientHistory); ok {
+ return x.WifiGetClientHistory
+ }
+ return nil
+}
+
type isResponse_Response interface {
isResponse_Response()
}
GetNextId *GetNextIdResponse `protobuf:"bytes,1006,opt,name=get_next_id,json=getNextId,proto3,oneof"`
}
+type Response_EnableDebugTelem struct {
+ EnableDebugTelem *EnableDebugTelemResponse `protobuf:"bytes,1034,opt,name=enable_debug_telem,json=enableDebugTelem,proto3,oneof"`
+}
+
type Response_FactoryReset struct {
FactoryReset *FactoryResetResponse `protobuf:"bytes,1011,opt,name=factory_reset,json=factoryReset,proto3,oneof"`
}
Update *UpdateResponse `protobuf:"bytes,1014,opt,name=update,proto3,oneof"`
}
+type Response_GetLocation struct {
+ GetLocation *GetLocationResponse `protobuf:"bytes,1017,opt,name=get_location,json=getLocation,proto3,oneof"`
+}
+
+type Response_GetHeapDump struct {
+ GetHeapDump *GetHeapDumpResponse `protobuf:"bytes,1019,opt,name=get_heap_dump,json=getHeapDump,proto3,oneof"`
+}
+
+type Response_RestartControl struct {
+ RestartControl *RestartControlResponse `protobuf:"bytes,1020,opt,name=restart_control,json=restartControl,proto3,oneof"`
+}
+
+type Response_Fuse struct {
+ Fuse *FuseResponse `protobuf:"bytes,1021,opt,name=fuse,proto3,oneof"`
+}
+
+type Response_GetConnections struct {
+ GetConnections *GetConnectionsResponse `protobuf:"bytes,1023,opt,name=get_connections,json=getConnections,proto3,oneof"`
+}
+
+type Response_StartSpeedtest struct {
+ StartSpeedtest *StartSpeedtestResponse `protobuf:"bytes,1027,opt,name=start_speedtest,json=startSpeedtest,proto3,oneof"`
+}
+
+type Response_GetSpeedtestStatus struct {
+ GetSpeedtestStatus *GetSpeedtestStatusResponse `protobuf:"bytes,1028,opt,name=get_speedtest_status,json=getSpeedtestStatus,proto3,oneof"`
+}
+
+type Response_ReportClientSpeedtest struct {
+ ReportClientSpeedtest *ReportClientSpeedtestResponse `protobuf:"bytes,1029,opt,name=report_client_speedtest,json=reportClientSpeedtest,proto3,oneof"`
+}
+
+type Response_InitiateRemoteSsh struct {
+ InitiateRemoteSsh *InitiateRemoteSshResponse `protobuf:"bytes,1030,opt,name=initiate_remote_ssh,json=initiateRemoteSsh,proto3,oneof"`
+}
+
+type Response_SelfTest struct {
+ SelfTest *SelfTestResponse `protobuf:"bytes,1031,opt,name=self_test,json=selfTest,proto3,oneof"`
+}
+
+type Response_SetTestMode struct {
+ SetTestMode *SetTestModeResponse `protobuf:"bytes,1032,opt,name=set_test_mode,json=setTestMode,proto3,oneof"`
+}
+
+type Response_SoftwareUpdate struct {
+ SoftwareUpdate *SoftwareUpdateResponse `protobuf:"bytes,1033,opt,name=software_update,json=softwareUpdate,proto3,oneof"`
+}
+
type Response_DishAuthenticate struct {
DishAuthenticate *DishAuthenticateResponse `protobuf:"bytes,2005,opt,name=dish_authenticate,json=dishAuthenticate,proto3,oneof"`
}
+type Response_DishGetContext struct {
+ DishGetContext *DishGetContextResponse `protobuf:"bytes,2003,opt,name=dish_get_context,json=dishGetContext,proto3,oneof"`
+}
+
type Response_DishGetHistory struct {
DishGetHistory *DishGetHistoryResponse `protobuf:"bytes,2006,opt,name=dish_get_history,json=dishGetHistory,proto3,oneof"`
}
DishGetStatus *DishGetStatusResponse `protobuf:"bytes,2004,opt,name=dish_get_status,json=dishGetStatus,proto3,oneof"`
}
+type Response_DishGetObstructionMap struct {
+ DishGetObstructionMap *DishGetObstructionMapResponse `protobuf:"bytes,2008,opt,name=dish_get_obstruction_map,json=dishGetObstructionMap,proto3,oneof"`
+}
+
type Response_DishStow struct {
DishStow *DishStowResponse `protobuf:"bytes,2002,opt,name=dish_stow,json=dishStow,proto3,oneof"`
}
+type Response_StartDishSelfTest struct {
+ StartDishSelfTest *StartDishSelfTestResponse `protobuf:"bytes,2012,opt,name=start_dish_self_test,json=startDishSelfTest,proto3,oneof"`
+}
+
+type Response_DishSetEmc struct {
+ DishSetEmc *DishSetEmcResponse `protobuf:"bytes,2007,opt,name=dish_set_emc,json=dishSetEmc,proto3,oneof"`
+}
+
+type Response_DishGetEmc struct {
+ DishGetEmc *DishGetEmcResponse `protobuf:"bytes,2009,opt,name=dish_get_emc,json=dishGetEmc,proto3,oneof"`
+}
+
+type Response_DishSetConfig struct {
+ DishSetConfig *DishSetConfigResponse `protobuf:"bytes,2010,opt,name=dish_set_config,json=dishSetConfig,proto3,oneof"`
+}
+
+type Response_DishGetConfig struct {
+ DishGetConfig *DishGetConfigResponse `protobuf:"bytes,2011,opt,name=dish_get_config,json=dishGetConfig,proto3,oneof"`
+}
+
type Response_TransceiverIfLoopbackTest struct {
TransceiverIfLoopbackTest *TransceiverIFLoopbackTestResponse `protobuf:"bytes,4001,opt,name=transceiver_if_loopback_test,json=transceiverIfLoopbackTest,proto3,oneof"`
}
TransceiverGetStatus *TransceiverGetStatusResponse `protobuf:"bytes,4003,opt,name=transceiver_get_status,json=transceiverGetStatus,proto3,oneof"`
}
+type Response_TransceiverGetTelemetry struct {
+ TransceiverGetTelemetry *TransceiverGetTelemetryResponse `protobuf:"bytes,4004,opt,name=transceiver_get_telemetry,json=transceiverGetTelemetry,proto3,oneof"`
+}
+
type Response_WifiAuthenticate struct {
WifiAuthenticate *WifiAuthenticateResponse `protobuf:"bytes,3005,opt,name=wifi_authenticate,json=wifiAuthenticate,proto3,oneof"`
}
WifiGetClients *WifiGetClientsResponse `protobuf:"bytes,3002,opt,name=wifi_get_clients,json=wifiGetClients,proto3,oneof"`
}
+type Response_WifiGetDiagnostics struct {
+ WifiGetDiagnostics *WifiGetDiagnosticsResponse `protobuf:"bytes,3008,opt,name=wifi_get_diagnostics,json=wifiGetDiagnostics,proto3,oneof"`
+}
+
type Response_WifiGetHistory struct {
WifiGetHistory *WifiGetHistoryResponse `protobuf:"bytes,3006,opt,name=wifi_get_history,json=wifiGetHistory,proto3,oneof"`
}
WifiSetConfig *WifiSetConfigResponse `protobuf:"bytes,3001,opt,name=wifi_set_config,json=wifiSetConfig,proto3,oneof"`
}
+type Response_WifiGetConfig struct {
+ WifiGetConfig *WifiGetConfigResponse `protobuf:"bytes,3009,opt,name=wifi_get_config,json=wifiGetConfig,proto3,oneof"`
+}
+
type Response_WifiSetup struct {
WifiSetup *WifiSetupResponse `protobuf:"bytes,3003,opt,name=wifi_setup,json=wifiSetup,proto3,oneof"`
}
+type Response_WifiGetPersistentStats struct {
+ WifiGetPersistentStats *WifiGetPersistentStatsResponse `protobuf:"bytes,3022,opt,name=wifi_get_persistent_stats,json=wifiGetPersistentStats,proto3,oneof"`
+}
+
+type Response_WifiSetMeshDeviceTrust struct {
+ WifiSetMeshDeviceTrust *WifiSetMeshDeviceTrustResponse `protobuf:"bytes,3012,opt,name=wifi_set_mesh_device_trust,json=wifiSetMeshDeviceTrust,proto3,oneof"`
+}
+
+type Response_WifiSetMeshConfig struct {
+ WifiSetMeshConfig *WifiSetMeshConfigResponse `protobuf:"bytes,3013,opt,name=wifi_set_mesh_config,json=wifiSetMeshConfig,proto3,oneof"`
+}
+
+type Response_WifiGetClientHistory struct {
+ WifiGetClientHistory *WifiGetClientHistoryResponse `protobuf:"bytes,3015,opt,name=wifi_get_client_history,json=wifiGetClientHistory,proto3,oneof"`
+}
+
func (*Response_GetNextId) isResponse_Response() {}
+func (*Response_EnableDebugTelem) isResponse_Response() {}
+
func (*Response_FactoryReset) isResponse_Response() {}
func (*Response_GetDeviceInfo) isResponse_Response() {}
func (*Response_SetTrustedKeys) isResponse_Response() {}
func (*Response_Update) isResponse_Response() {}
+
+func (*Response_GetLocation) isResponse_Response() {}
+
+func (*Response_GetHeapDump) isResponse_Response() {}
+
+func (*Response_RestartControl) isResponse_Response() {}
+
+func (*Response_Fuse) isResponse_Response() {}
+
+func (*Response_GetConnections) isResponse_Response() {}
+
+func (*Response_StartSpeedtest) isResponse_Response() {}
+
+func (*Response_GetSpeedtestStatus) isResponse_Response() {}
+
+func (*Response_ReportClientSpeedtest) isResponse_Response() {}
+
+func (*Response_InitiateRemoteSsh) isResponse_Response() {}
+
+func (*Response_SelfTest) isResponse_Response() {}
+
+func (*Response_SetTestMode) isResponse_Response() {}
+
+func (*Response_SoftwareUpdate) isResponse_Response() {}
func (*Response_DishAuthenticate) isResponse_Response() {}
+func (*Response_DishGetContext) isResponse_Response() {}
+
func (*Response_DishGetHistory) isResponse_Response() {}
func (*Response_DishGetStatus) isResponse_Response() {}
+func (*Response_DishGetObstructionMap) isResponse_Response() {}
+
func (*Response_DishStow) isResponse_Response() {}
+func (*Response_StartDishSelfTest) isResponse_Response() {}
+
+func (*Response_DishSetEmc) isResponse_Response() {}
+
+func (*Response_DishGetEmc) isResponse_Response() {}
+
+func (*Response_DishSetConfig) isResponse_Response() {}
+
+func (*Response_DishGetConfig) isResponse_Response() {}
+
func (*Response_TransceiverIfLoopbackTest) isResponse_Response() {}
func (*Response_TransceiverGetStatus) isResponse_Response() {}
+func (*Response_TransceiverGetTelemetry) isResponse_Response() {}
+
func (*Response_WifiAuthenticate) isResponse_Response() {}
func (*Response_WifiGetClients) isResponse_Response() {}
+func (*Response_WifiGetDiagnostics) isResponse_Response() {}
+
func (*Response_WifiGetHistory) isResponse_Response() {}
func (*Response_WifiGetPingMetrics) isResponse_Response() {}
func (*Response_WifiSetConfig) isResponse_Response() {}
+func (*Response_WifiGetConfig) isResponse_Response() {}
+
func (*Response_WifiSetup) isResponse_Response() {}
+func (*Response_WifiGetPersistentStats) isResponse_Response() {}
+
+func (*Response_WifiSetMeshDeviceTrust) isResponse_Response() {}
+
+func (*Response_WifiSetMeshConfig) isResponse_Response() {}
+
+func (*Response_WifiGetClientHistory) isResponse_Response() {}
+
type Event struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
//
// *Event_WifiNewClientConnected
// *Event_WifiAccountBonding
+ // *Event_WifiNewPeer
Event isEvent_Event `protobuf_oneof:"event"`
}
return nil
}
+func (x *Event) GetWifiNewPeer() *WifiNewPeerEvent {
+ if x, ok := x.GetEvent().(*Event_WifiNewPeer); ok {
+ return x.WifiNewPeer
+ }
+ return nil
+}
+
type isEvent_Event interface {
isEvent_Event()
}
WifiAccountBonding *WifiAccountBondingEvent `protobuf:"bytes,3002,opt,name=wifi_account_bonding,json=wifiAccountBonding,proto3,oneof"`
}
+type Event_WifiNewPeer struct {
+ WifiNewPeer *WifiNewPeerEvent `protobuf:"bytes,3003,opt,name=wifi_new_peer,json=wifiNewPeer,proto3,oneof"`
+}
+
func (*Event_WifiNewClientConnected) isEvent_Event() {}
func (*Event_WifiAccountBonding) isEvent_Event() {}
-type FactoryResetRequest struct {
+func (*Event_WifiNewPeer) isEvent_Event() {}
+
+type EnableDebugTelemRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
+
+ DurationM uint32 `protobuf:"varint,1,opt,name=duration_m,json=durationM,proto3" json:"duration_m,omitempty"`
}
-func (x *FactoryResetRequest) Reset() {
- *x = FactoryResetRequest{}
+func (x *EnableDebugTelemRequest) Reset() {
+ *x = EnableDebugTelemRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_spacex_api_device_device_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
}
}
-func (x *FactoryResetRequest) String() string {
+func (x *EnableDebugTelemRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*FactoryResetRequest) ProtoMessage() {}
+func (*EnableDebugTelemRequest) ProtoMessage() {}
-func (x *FactoryResetRequest) ProtoReflect() protoreflect.Message {
+func (x *EnableDebugTelemRequest) ProtoReflect() protoreflect.Message {
mi := &file_spacex_api_device_device_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
return mi.MessageOf(x)
}
-// Deprecated: Use FactoryResetRequest.ProtoReflect.Descriptor instead.
-func (*FactoryResetRequest) Descriptor() ([]byte, []int) {
+// Deprecated: Use EnableDebugTelemRequest.ProtoReflect.Descriptor instead.
+func (*EnableDebugTelemRequest) Descriptor() ([]byte, []int) {
return file_spacex_api_device_device_proto_rawDescGZIP(), []int{5}
}
-type FactoryResetResponse struct {
+func (x *EnableDebugTelemRequest) GetDurationM() uint32 {
+ if x != nil {
+ return x.DurationM
+ }
+ return 0
+}
+
+type EnableDebugTelemResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
-func (x *FactoryResetResponse) Reset() {
- *x = FactoryResetResponse{}
+func (x *EnableDebugTelemResponse) Reset() {
+ *x = EnableDebugTelemResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_spacex_api_device_device_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
}
}
-func (x *FactoryResetResponse) String() string {
+func (x *EnableDebugTelemResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*FactoryResetResponse) ProtoMessage() {}
+func (*EnableDebugTelemResponse) ProtoMessage() {}
-func (x *FactoryResetResponse) ProtoReflect() protoreflect.Message {
+func (x *EnableDebugTelemResponse) ProtoReflect() protoreflect.Message {
mi := &file_spacex_api_device_device_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
return mi.MessageOf(x)
}
-// Deprecated: Use FactoryResetResponse.ProtoReflect.Descriptor instead.
-func (*FactoryResetResponse) Descriptor() ([]byte, []int) {
+// Deprecated: Use EnableDebugTelemResponse.ProtoReflect.Descriptor instead.
+func (*EnableDebugTelemResponse) Descriptor() ([]byte, []int) {
return file_spacex_api_device_device_proto_rawDescGZIP(), []int{6}
}
-type GetHistoryRequest struct {
+type FactoryResetRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
-func (x *GetHistoryRequest) Reset() {
- *x = GetHistoryRequest{}
+func (x *FactoryResetRequest) Reset() {
+ *x = FactoryResetRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_spacex_api_device_device_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
}
}
-func (x *GetHistoryRequest) String() string {
+func (x *FactoryResetRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*GetHistoryRequest) ProtoMessage() {}
+func (*FactoryResetRequest) ProtoMessage() {}
-func (x *GetHistoryRequest) ProtoReflect() protoreflect.Message {
+func (x *FactoryResetRequest) ProtoReflect() protoreflect.Message {
mi := &file_spacex_api_device_device_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
return mi.MessageOf(x)
}
-// Deprecated: Use GetHistoryRequest.ProtoReflect.Descriptor instead.
-func (*GetHistoryRequest) Descriptor() ([]byte, []int) {
+// Deprecated: Use FactoryResetRequest.ProtoReflect.Descriptor instead.
+func (*FactoryResetRequest) Descriptor() ([]byte, []int) {
return file_spacex_api_device_device_proto_rawDescGZIP(), []int{7}
}
-type GetLogRequest struct {
+type FactoryResetResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
-func (x *GetLogRequest) Reset() {
- *x = GetLogRequest{}
+func (x *FactoryResetResponse) Reset() {
+ *x = FactoryResetResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_spacex_api_device_device_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
}
}
-func (x *GetLogRequest) String() string {
+func (x *FactoryResetResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*GetLogRequest) ProtoMessage() {}
+func (*FactoryResetResponse) ProtoMessage() {}
-func (x *GetLogRequest) ProtoReflect() protoreflect.Message {
+func (x *FactoryResetResponse) ProtoReflect() protoreflect.Message {
mi := &file_spacex_api_device_device_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
return mi.MessageOf(x)
}
-// Deprecated: Use GetLogRequest.ProtoReflect.Descriptor instead.
-func (*GetLogRequest) Descriptor() ([]byte, []int) {
+// Deprecated: Use FactoryResetResponse.ProtoReflect.Descriptor instead.
+func (*FactoryResetResponse) Descriptor() ([]byte, []int) {
return file_spacex_api_device_device_proto_rawDescGZIP(), []int{8}
}
-type GetLogResponse struct {
+type FuseRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
+}
+
+func (x *FuseRequest) Reset() {
+ *x = FuseRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_device_proto_msgTypes[9]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FuseRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FuseRequest) ProtoMessage() {}
+
+func (x *FuseRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_device_proto_msgTypes[9]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FuseRequest.ProtoReflect.Descriptor instead.
+func (*FuseRequest) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_device_proto_rawDescGZIP(), []int{9}
+}
+
+type FuseResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *FuseResponse) Reset() {
+ *x = FuseResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_device_proto_msgTypes[10]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FuseResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FuseResponse) ProtoMessage() {}
+
+func (x *FuseResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_device_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 FuseResponse.ProtoReflect.Descriptor instead.
+func (*FuseResponse) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_device_proto_rawDescGZIP(), []int{10}
+}
+
+type GetHistoryRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *GetHistoryRequest) Reset() {
+ *x = GetHistoryRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_device_proto_msgTypes[11]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetHistoryRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetHistoryRequest) ProtoMessage() {}
+
+func (x *GetHistoryRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_device_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 GetHistoryRequest.ProtoReflect.Descriptor instead.
+func (*GetHistoryRequest) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_device_proto_rawDescGZIP(), []int{11}
+}
+
+type GetLogRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *GetLogRequest) Reset() {
+ *x = GetLogRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_device_proto_msgTypes[12]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetLogRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetLogRequest) ProtoMessage() {}
+func (x *GetLogRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_device_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 GetLogRequest.ProtoReflect.Descriptor instead.
+func (*GetLogRequest) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_device_proto_rawDescGZIP(), []int{12}
+}
+
+type GetLogResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
Syslog string `protobuf:"bytes,1,opt,name=syslog,proto3" json:"syslog,omitempty"`
OfflineLog string `protobuf:"bytes,2,opt,name=offline_log,json=offlineLog,proto3" json:"offline_log,omitempty"`
}
func (x *GetLogResponse) Reset() {
*x = GetLogResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_spacex_api_device_device_proto_msgTypes[9]
+ mi := &file_spacex_api_device_device_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (*GetLogResponse) ProtoMessage() {}
func (x *GetLogResponse) ProtoReflect() protoreflect.Message {
- mi := &file_spacex_api_device_device_proto_msgTypes[9]
+ mi := &file_spacex_api_device_device_proto_msgTypes[13]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
// Deprecated: Use GetLogResponse.ProtoReflect.Descriptor instead.
func (*GetLogResponse) Descriptor() ([]byte, []int) {
- return file_spacex_api_device_device_proto_rawDescGZIP(), []int{9}
+ return file_spacex_api_device_device_proto_rawDescGZIP(), []int{13}
}
func (x *GetLogResponse) GetSyslog() string {
func (x *GetPingRequest) Reset() {
*x = GetPingRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_spacex_api_device_device_proto_msgTypes[10]
+ mi := &file_spacex_api_device_device_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (*GetPingRequest) ProtoMessage() {}
func (x *GetPingRequest) ProtoReflect() protoreflect.Message {
- mi := &file_spacex_api_device_device_proto_msgTypes[10]
+ mi := &file_spacex_api_device_device_proto_msgTypes[14]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
// Deprecated: Use GetPingRequest.ProtoReflect.Descriptor instead.
func (*GetPingRequest) Descriptor() ([]byte, []int) {
- return file_spacex_api_device_device_proto_rawDescGZIP(), []int{10}
+ return file_spacex_api_device_device_proto_rawDescGZIP(), []int{14}
}
type GetPingResponse struct {
func (x *GetPingResponse) Reset() {
*x = GetPingResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_spacex_api_device_device_proto_msgTypes[11]
+ mi := &file_spacex_api_device_device_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (*GetPingResponse) ProtoMessage() {}
func (x *GetPingResponse) ProtoReflect() protoreflect.Message {
- mi := &file_spacex_api_device_device_proto_msgTypes[11]
+ mi := &file_spacex_api_device_device_proto_msgTypes[15]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
// Deprecated: Use GetPingResponse.ProtoReflect.Descriptor instead.
func (*GetPingResponse) Descriptor() ([]byte, []int) {
- return file_spacex_api_device_device_proto_rawDescGZIP(), []int{11}
+ return file_spacex_api_device_device_proto_rawDescGZIP(), []int{15}
}
func (x *GetPingResponse) GetResults() map[string]*PingResult {
func (x *PingHostRequest) Reset() {
*x = PingHostRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_spacex_api_device_device_proto_msgTypes[12]
+ mi := &file_spacex_api_device_device_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (*PingHostRequest) ProtoMessage() {}
func (x *PingHostRequest) ProtoReflect() protoreflect.Message {
- mi := &file_spacex_api_device_device_proto_msgTypes[12]
+ mi := &file_spacex_api_device_device_proto_msgTypes[16]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
// Deprecated: Use PingHostRequest.ProtoReflect.Descriptor instead.
func (*PingHostRequest) Descriptor() ([]byte, []int) {
- return file_spacex_api_device_device_proto_rawDescGZIP(), []int{12}
+ return file_spacex_api_device_device_proto_rawDescGZIP(), []int{16}
}
func (x *PingHostRequest) GetAddress() string {
func (x *PingHostResponse) Reset() {
*x = PingHostResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_spacex_api_device_device_proto_msgTypes[13]
+ mi := &file_spacex_api_device_device_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (*PingHostResponse) ProtoMessage() {}
func (x *PingHostResponse) ProtoReflect() protoreflect.Message {
- mi := &file_spacex_api_device_device_proto_msgTypes[13]
+ mi := &file_spacex_api_device_device_proto_msgTypes[17]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
// Deprecated: Use PingHostResponse.ProtoReflect.Descriptor instead.
func (*PingHostResponse) Descriptor() ([]byte, []int) {
- return file_spacex_api_device_device_proto_rawDescGZIP(), []int{13}
+ return file_spacex_api_device_device_proto_rawDescGZIP(), []int{17}
}
func (x *PingHostResponse) GetResult() *PingResult {
func (x *GetStatusRequest) Reset() {
*x = GetStatusRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_spacex_api_device_device_proto_msgTypes[14]
+ mi := &file_spacex_api_device_device_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (*GetStatusRequest) ProtoMessage() {}
func (x *GetStatusRequest) ProtoReflect() protoreflect.Message {
- mi := &file_spacex_api_device_device_proto_msgTypes[14]
+ mi := &file_spacex_api_device_device_proto_msgTypes[18]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
// Deprecated: Use GetStatusRequest.ProtoReflect.Descriptor instead.
func (*GetStatusRequest) Descriptor() ([]byte, []int) {
- return file_spacex_api_device_device_proto_rawDescGZIP(), []int{14}
+ return file_spacex_api_device_device_proto_rawDescGZIP(), []int{18}
}
type RebootRequest struct {
func (x *RebootRequest) Reset() {
*x = RebootRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_spacex_api_device_device_proto_msgTypes[15]
+ mi := &file_spacex_api_device_device_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (*RebootRequest) ProtoMessage() {}
func (x *RebootRequest) ProtoReflect() protoreflect.Message {
- mi := &file_spacex_api_device_device_proto_msgTypes[15]
+ mi := &file_spacex_api_device_device_proto_msgTypes[19]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
// Deprecated: Use RebootRequest.ProtoReflect.Descriptor instead.
func (*RebootRequest) Descriptor() ([]byte, []int) {
- return file_spacex_api_device_device_proto_rawDescGZIP(), []int{15}
+ return file_spacex_api_device_device_proto_rawDescGZIP(), []int{19}
}
type RebootResponse struct {
func (x *RebootResponse) Reset() {
*x = RebootResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_spacex_api_device_device_proto_msgTypes[16]
+ mi := &file_spacex_api_device_device_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (*RebootResponse) ProtoMessage() {}
func (x *RebootResponse) ProtoReflect() protoreflect.Message {
- mi := &file_spacex_api_device_device_proto_msgTypes[16]
+ mi := &file_spacex_api_device_device_proto_msgTypes[20]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
// Deprecated: Use RebootResponse.ProtoReflect.Descriptor instead.
func (*RebootResponse) Descriptor() ([]byte, []int) {
- return file_spacex_api_device_device_proto_rawDescGZIP(), []int{16}
+ return file_spacex_api_device_device_proto_rawDescGZIP(), []int{20}
+}
+
+type SpeedTestStats struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StartTime uint64 `protobuf:"varint,4,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
+ UploadMbps float32 `protobuf:"fixed32,1,opt,name=upload_mbps,json=uploadMbps,proto3" json:"upload_mbps,omitempty"`
+ DownloadMbps float32 `protobuf:"fixed32,2,opt,name=download_mbps,json=downloadMbps,proto3" json:"download_mbps,omitempty"`
+ LatencyMs float32 `protobuf:"fixed32,3,opt,name=latency_ms,json=latencyMs,proto3" json:"latency_ms,omitempty"`
+}
+
+func (x *SpeedTestStats) Reset() {
+ *x = SpeedTestStats{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_device_proto_msgTypes[21]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SpeedTestStats) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SpeedTestStats) ProtoMessage() {}
+
+func (x *SpeedTestStats) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_device_proto_msgTypes[21]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SpeedTestStats.ProtoReflect.Descriptor instead.
+func (*SpeedTestStats) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_device_proto_rawDescGZIP(), []int{21}
+}
+
+func (x *SpeedTestStats) GetStartTime() uint64 {
+ if x != nil {
+ return x.StartTime
+ }
+ return 0
+}
+
+func (x *SpeedTestStats) GetUploadMbps() float32 {
+ if x != nil {
+ return x.UploadMbps
+ }
+ return 0
}
+func (x *SpeedTestStats) GetDownloadMbps() float32 {
+ if x != nil {
+ return x.DownloadMbps
+ }
+ return 0
+}
+
+func (x *SpeedTestStats) GetLatencyMs() float32 {
+ if x != nil {
+ return x.LatencyMs
+ }
+ return 0
+}
+
+type ClientPlatform struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Platform ClientPlatform_Platform `protobuf:"varint,1,opt,name=platform,proto3,enum=SpaceX.API.Device.ClientPlatform_Platform" json:"platform,omitempty"`
+ MajorVersion float32 `protobuf:"fixed32,2,opt,name=major_version,json=majorVersion,proto3" json:"major_version,omitempty"`
+ MinorVersion float32 `protobuf:"fixed32,3,opt,name=minor_version,json=minorVersion,proto3" json:"minor_version,omitempty"`
+}
+
+func (x *ClientPlatform) Reset() {
+ *x = ClientPlatform{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_device_proto_msgTypes[22]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ClientPlatform) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ClientPlatform) ProtoMessage() {}
+
+func (x *ClientPlatform) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_device_proto_msgTypes[22]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ClientPlatform.ProtoReflect.Descriptor instead.
+func (*ClientPlatform) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_device_proto_rawDescGZIP(), []int{22}
+}
+
+func (x *ClientPlatform) GetPlatform() ClientPlatform_Platform {
+ if x != nil {
+ return x.Platform
+ }
+ return ClientPlatform_UNKNOWN
+}
+
+func (x *ClientPlatform) GetMajorVersion() float32 {
+ if x != nil {
+ return x.MajorVersion
+ }
+ return 0
+}
+
+func (x *ClientPlatform) GetMinorVersion() float32 {
+ if x != nil {
+ return x.MinorVersion
+ }
+ return 0
+}
+
type SpeedTestRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
+
+ Id uint32 `protobuf:"varint,4,opt,name=id,proto3" json:"id,omitempty"`
+ ClientSpeedtest *SpeedTestStats `protobuf:"bytes,1,opt,name=client_speedtest,json=clientSpeedtest,proto3" json:"client_speedtest,omitempty"`
+ ClientRssi float32 `protobuf:"fixed32,2,opt,name=client_rssi,json=clientRssi,proto3" json:"client_rssi,omitempty"`
+ ClientPlatform *ClientPlatform `protobuf:"bytes,3,opt,name=client_platform,json=clientPlatform,proto3" json:"client_platform,omitempty"`
}
func (x *SpeedTestRequest) Reset() {
*x = SpeedTestRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_spacex_api_device_device_proto_msgTypes[17]
+ mi := &file_spacex_api_device_device_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (*SpeedTestRequest) ProtoMessage() {}
func (x *SpeedTestRequest) ProtoReflect() protoreflect.Message {
- mi := &file_spacex_api_device_device_proto_msgTypes[17]
+ mi := &file_spacex_api_device_device_proto_msgTypes[23]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
// Deprecated: Use SpeedTestRequest.ProtoReflect.Descriptor instead.
func (*SpeedTestRequest) Descriptor() ([]byte, []int) {
- return file_spacex_api_device_device_proto_rawDescGZIP(), []int{17}
+ return file_spacex_api_device_device_proto_rawDescGZIP(), []int{23}
}
+func (x *SpeedTestRequest) GetId() uint32 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+func (x *SpeedTestRequest) GetClientSpeedtest() *SpeedTestStats {
+ if x != nil {
+ return x.ClientSpeedtest
+ }
+ return nil
+}
+
+func (x *SpeedTestRequest) GetClientRssi() float32 {
+ if x != nil {
+ return x.ClientRssi
+ }
+ return 0
+}
+
+func (x *SpeedTestRequest) GetClientPlatform() *ClientPlatform {
+ if x != nil {
+ return x.ClientPlatform
+ }
+ return nil
+}
+
type SpeedTestResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
+ // Deprecated: Do not use.
DownloadBps float32 `protobuf:"fixed32,1,opt,name=download_bps,json=downloadBps,proto3" json:"download_bps,omitempty"`
- UploadBps float32 `protobuf:"fixed32,2,opt,name=upload_bps,json=uploadBps,proto3" json:"upload_bps,omitempty"`
- LatencyS float32 `protobuf:"fixed32,3,opt,name=latency_s,json=latencyS,proto3" json:"latency_s,omitempty"`
+ // Deprecated: Do not use.
+ UploadBps float32 `protobuf:"fixed32,2,opt,name=upload_bps,json=uploadBps,proto3" json:"upload_bps,omitempty"`
+ // Deprecated: Do not use.
+ LatencyS float32 `protobuf:"fixed32,3,opt,name=latency_s,json=latencyS,proto3" json:"latency_s,omitempty"`
+ // Deprecated: Do not use.
+ DownloadMbps float32 `protobuf:"fixed32,4,opt,name=download_mbps,json=downloadMbps,proto3" json:"download_mbps,omitempty"`
+ // Deprecated: Do not use.
+ UploadMbps float32 `protobuf:"fixed32,5,opt,name=upload_mbps,json=uploadMbps,proto3" json:"upload_mbps,omitempty"`
+ // Deprecated: Do not use.
+ LatencyMs float32 `protobuf:"fixed32,6,opt,name=latency_ms,json=latencyMs,proto3" json:"latency_ms,omitempty"`
+ RouterSpeedtest *SpeedTestStats `protobuf:"bytes,15,opt,name=router_speedtest,json=routerSpeedtest,proto3" json:"router_speedtest,omitempty"`
+ DownloadMbps_1TcpConn float32 `protobuf:"fixed32,7,opt,name=download_mbps_1_tcp_conn,json=downloadMbps1TcpConn,proto3" json:"download_mbps_1_tcp_conn,omitempty"`
+ UploadMbps_1TcpConn float32 `protobuf:"fixed32,8,opt,name=upload_mbps_1_tcp_conn,json=uploadMbps1TcpConn,proto3" json:"upload_mbps_1_tcp_conn,omitempty"`
+ DownloadMbps_4TcpConn float32 `protobuf:"fixed32,9,opt,name=download_mbps_4_tcp_conn,json=downloadMbps4TcpConn,proto3" json:"download_mbps_4_tcp_conn,omitempty"`
+ UploadMbps_4TcpConn float32 `protobuf:"fixed32,10,opt,name=upload_mbps_4_tcp_conn,json=uploadMbps4TcpConn,proto3" json:"upload_mbps_4_tcp_conn,omitempty"`
+ DownloadMbps_16TcpConn float32 `protobuf:"fixed32,11,opt,name=download_mbps_16_tcp_conn,json=downloadMbps16TcpConn,proto3" json:"download_mbps_16_tcp_conn,omitempty"`
+ UploadMbps_16TcpConn float32 `protobuf:"fixed32,12,opt,name=upload_mbps_16_tcp_conn,json=uploadMbps16TcpConn,proto3" json:"upload_mbps_16_tcp_conn,omitempty"`
+ DownloadMbps_64TcpConn float32 `protobuf:"fixed32,13,opt,name=download_mbps_64_tcp_conn,json=downloadMbps64TcpConn,proto3" json:"download_mbps_64_tcp_conn,omitempty"`
+ UploadMbps_64TcpConn float32 `protobuf:"fixed32,14,opt,name=upload_mbps_64_tcp_conn,json=uploadMbps64TcpConn,proto3" json:"upload_mbps_64_tcp_conn,omitempty"`
}
func (x *SpeedTestResponse) Reset() {
*x = SpeedTestResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_spacex_api_device_device_proto_msgTypes[18]
+ mi := &file_spacex_api_device_device_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (*SpeedTestResponse) ProtoMessage() {}
func (x *SpeedTestResponse) ProtoReflect() protoreflect.Message {
- mi := &file_spacex_api_device_device_proto_msgTypes[18]
+ mi := &file_spacex_api_device_device_proto_msgTypes[24]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
// Deprecated: Use SpeedTestResponse.ProtoReflect.Descriptor instead.
func (*SpeedTestResponse) Descriptor() ([]byte, []int) {
- return file_spacex_api_device_device_proto_rawDescGZIP(), []int{18}
+ return file_spacex_api_device_device_proto_rawDescGZIP(), []int{24}
}
+// Deprecated: Do not use.
func (x *SpeedTestResponse) GetDownloadBps() float32 {
if x != nil {
return x.DownloadBps
return 0
}
+// Deprecated: Do not use.
func (x *SpeedTestResponse) GetUploadBps() float32 {
if x != nil {
return x.UploadBps
return 0
}
+// Deprecated: Do not use.
func (x *SpeedTestResponse) GetLatencyS() float32 {
if x != nil {
return x.LatencyS
return 0
}
+// Deprecated: Do not use.
+func (x *SpeedTestResponse) GetDownloadMbps() float32 {
+ if x != nil {
+ return x.DownloadMbps
+ }
+ return 0
+}
+
+// Deprecated: Do not use.
+func (x *SpeedTestResponse) GetUploadMbps() float32 {
+ if x != nil {
+ return x.UploadMbps
+ }
+ return 0
+}
+
+// Deprecated: Do not use.
+func (x *SpeedTestResponse) GetLatencyMs() float32 {
+ if x != nil {
+ return x.LatencyMs
+ }
+ return 0
+}
+
+func (x *SpeedTestResponse) GetRouterSpeedtest() *SpeedTestStats {
+ if x != nil {
+ return x.RouterSpeedtest
+ }
+ return nil
+}
+
+func (x *SpeedTestResponse) GetDownloadMbps_1TcpConn() float32 {
+ if x != nil {
+ return x.DownloadMbps_1TcpConn
+ }
+ return 0
+}
+
+func (x *SpeedTestResponse) GetUploadMbps_1TcpConn() float32 {
+ if x != nil {
+ return x.UploadMbps_1TcpConn
+ }
+ return 0
+}
+
+func (x *SpeedTestResponse) GetDownloadMbps_4TcpConn() float32 {
+ if x != nil {
+ return x.DownloadMbps_4TcpConn
+ }
+ return 0
+}
+
+func (x *SpeedTestResponse) GetUploadMbps_4TcpConn() float32 {
+ if x != nil {
+ return x.UploadMbps_4TcpConn
+ }
+ return 0
+}
+
+func (x *SpeedTestResponse) GetDownloadMbps_16TcpConn() float32 {
+ if x != nil {
+ return x.DownloadMbps_16TcpConn
+ }
+ return 0
+}
+
+func (x *SpeedTestResponse) GetUploadMbps_16TcpConn() float32 {
+ if x != nil {
+ return x.UploadMbps_16TcpConn
+ }
+ return 0
+}
+
+func (x *SpeedTestResponse) GetDownloadMbps_64TcpConn() float32 {
+ if x != nil {
+ return x.DownloadMbps_64TcpConn
+ }
+ return 0
+}
+
+func (x *SpeedTestResponse) GetUploadMbps_64TcpConn() float32 {
+ if x != nil {
+ return x.UploadMbps_64TcpConn
+ }
+ return 0
+}
+
+type GetConnectionsRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *GetConnectionsRequest) Reset() {
+ *x = GetConnectionsRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_device_proto_msgTypes[25]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetConnectionsRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetConnectionsRequest) ProtoMessage() {}
+
+func (x *GetConnectionsRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_device_proto_msgTypes[25]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetConnectionsRequest.ProtoReflect.Descriptor instead.
+func (*GetConnectionsRequest) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_device_proto_rawDescGZIP(), []int{25}
+}
+
+type GetConnectionsResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Services map[string]*GetConnectionsResponse_ServiceConnection `protobuf:"bytes,1,rep,name=services,proto3" json:"services,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+}
+
+func (x *GetConnectionsResponse) Reset() {
+ *x = GetConnectionsResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_device_proto_msgTypes[26]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetConnectionsResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetConnectionsResponse) ProtoMessage() {}
+
+func (x *GetConnectionsResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_device_proto_msgTypes[26]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetConnectionsResponse.ProtoReflect.Descriptor instead.
+func (*GetConnectionsResponse) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_device_proto_rawDescGZIP(), []int{26}
+}
+
+func (x *GetConnectionsResponse) GetServices() map[string]*GetConnectionsResponse_ServiceConnection {
+ if x != nil {
+ return x.Services
+ }
+ return nil
+}
+
type GetDeviceInfoRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
func (x *GetDeviceInfoRequest) Reset() {
*x = GetDeviceInfoRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_spacex_api_device_device_proto_msgTypes[19]
+ mi := &file_spacex_api_device_device_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (*GetDeviceInfoRequest) ProtoMessage() {}
func (x *GetDeviceInfoRequest) ProtoReflect() protoreflect.Message {
- mi := &file_spacex_api_device_device_proto_msgTypes[19]
+ mi := &file_spacex_api_device_device_proto_msgTypes[27]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
// Deprecated: Use GetDeviceInfoRequest.ProtoReflect.Descriptor instead.
func (*GetDeviceInfoRequest) Descriptor() ([]byte, []int) {
- return file_spacex_api_device_device_proto_rawDescGZIP(), []int{19}
+ return file_spacex_api_device_device_proto_rawDescGZIP(), []int{27}
}
type GetDeviceInfoResponse struct {
func (x *GetDeviceInfoResponse) Reset() {
*x = GetDeviceInfoResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_spacex_api_device_device_proto_msgTypes[20]
+ mi := &file_spacex_api_device_device_proto_msgTypes[28]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (*GetDeviceInfoResponse) ProtoMessage() {}
func (x *GetDeviceInfoResponse) ProtoReflect() protoreflect.Message {
- mi := &file_spacex_api_device_device_proto_msgTypes[20]
+ mi := &file_spacex_api_device_device_proto_msgTypes[28]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
// Deprecated: Use GetDeviceInfoResponse.ProtoReflect.Descriptor instead.
func (*GetDeviceInfoResponse) Descriptor() ([]byte, []int) {
- return file_spacex_api_device_device_proto_rawDescGZIP(), []int{20}
+ return file_spacex_api_device_device_proto_rawDescGZIP(), []int{28}
}
func (x *GetDeviceInfoResponse) GetDeviceInfo() *DeviceInfo {
func (x *SetTrustedKeysRequest) Reset() {
*x = SetTrustedKeysRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_spacex_api_device_device_proto_msgTypes[21]
+ mi := &file_spacex_api_device_device_proto_msgTypes[29]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (*SetTrustedKeysRequest) ProtoMessage() {}
func (x *SetTrustedKeysRequest) ProtoReflect() protoreflect.Message {
- mi := &file_spacex_api_device_device_proto_msgTypes[21]
+ mi := &file_spacex_api_device_device_proto_msgTypes[29]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
// Deprecated: Use SetTrustedKeysRequest.ProtoReflect.Descriptor instead.
func (*SetTrustedKeysRequest) Descriptor() ([]byte, []int) {
- return file_spacex_api_device_device_proto_rawDescGZIP(), []int{21}
+ return file_spacex_api_device_device_proto_rawDescGZIP(), []int{29}
}
func (x *SetTrustedKeysRequest) GetKeys() []*PublicKey {
func (x *SetTrustedKeysResponse) Reset() {
*x = SetTrustedKeysResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_spacex_api_device_device_proto_msgTypes[22]
+ mi := &file_spacex_api_device_device_proto_msgTypes[30]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (*SetTrustedKeysResponse) ProtoMessage() {}
func (x *SetTrustedKeysResponse) ProtoReflect() protoreflect.Message {
- mi := &file_spacex_api_device_device_proto_msgTypes[22]
+ mi := &file_spacex_api_device_device_proto_msgTypes[30]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
// Deprecated: Use SetTrustedKeysResponse.ProtoReflect.Descriptor instead.
func (*SetTrustedKeysResponse) Descriptor() ([]byte, []int) {
- return file_spacex_api_device_device_proto_rawDescGZIP(), []int{22}
+ return file_spacex_api_device_device_proto_rawDescGZIP(), []int{30}
}
type SetSkuRequest struct {
Sku string `protobuf:"bytes,1,opt,name=sku,proto3" json:"sku,omitempty"`
CountryCode string `protobuf:"bytes,2,opt,name=country_code,json=countryCode,proto3" json:"country_code,omitempty"`
ApplyCountryCode bool `protobuf:"varint,4,opt,name=apply_country_code,json=applyCountryCode,proto3" json:"apply_country_code,omitempty"`
+ PinCountryCode bool `protobuf:"varint,5,opt,name=pin_country_code,json=pinCountryCode,proto3" json:"pin_country_code,omitempty"`
+ CustomPowerTable bool `protobuf:"varint,6,opt,name=custom_power_table,json=customPowerTable,proto3" json:"custom_power_table,omitempty"`
}
func (x *SetSkuRequest) Reset() {
*x = SetSkuRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_spacex_api_device_device_proto_msgTypes[23]
+ mi := &file_spacex_api_device_device_proto_msgTypes[31]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (*SetSkuRequest) ProtoMessage() {}
func (x *SetSkuRequest) ProtoReflect() protoreflect.Message {
- mi := &file_spacex_api_device_device_proto_msgTypes[23]
+ mi := &file_spacex_api_device_device_proto_msgTypes[31]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
// Deprecated: Use SetSkuRequest.ProtoReflect.Descriptor instead.
func (*SetSkuRequest) Descriptor() ([]byte, []int) {
- return file_spacex_api_device_device_proto_rawDescGZIP(), []int{23}
+ return file_spacex_api_device_device_proto_rawDescGZIP(), []int{31}
}
func (x *SetSkuRequest) GetSku() string {
return false
}
+func (x *SetSkuRequest) GetPinCountryCode() bool {
+ if x != nil {
+ return x.PinCountryCode
+ }
+ return false
+}
+
+func (x *SetSkuRequest) GetCustomPowerTable() bool {
+ if x != nil {
+ return x.CustomPowerTable
+ }
+ return false
+}
+
type SetSkuResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
func (x *SetSkuResponse) Reset() {
*x = SetSkuResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_spacex_api_device_device_proto_msgTypes[24]
+ mi := &file_spacex_api_device_device_proto_msgTypes[32]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (*SetSkuResponse) ProtoMessage() {}
func (x *SetSkuResponse) ProtoReflect() protoreflect.Message {
- mi := &file_spacex_api_device_device_proto_msgTypes[24]
+ mi := &file_spacex_api_device_device_proto_msgTypes[32]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
// Deprecated: Use SetSkuResponse.ProtoReflect.Descriptor instead.
func (*SetSkuResponse) Descriptor() ([]byte, []int) {
- return file_spacex_api_device_device_proto_rawDescGZIP(), []int{24}
+ return file_spacex_api_device_device_proto_rawDescGZIP(), []int{32}
}
type UpdateRequest struct {
func (x *UpdateRequest) Reset() {
*x = UpdateRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_spacex_api_device_device_proto_msgTypes[25]
+ mi := &file_spacex_api_device_device_proto_msgTypes[33]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (*UpdateRequest) ProtoMessage() {}
func (x *UpdateRequest) ProtoReflect() protoreflect.Message {
- mi := &file_spacex_api_device_device_proto_msgTypes[25]
+ mi := &file_spacex_api_device_device_proto_msgTypes[33]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
// Deprecated: Use UpdateRequest.ProtoReflect.Descriptor instead.
func (*UpdateRequest) Descriptor() ([]byte, []int) {
- return file_spacex_api_device_device_proto_rawDescGZIP(), []int{25}
+ return file_spacex_api_device_device_proto_rawDescGZIP(), []int{33}
}
type UpdateResponse struct {
func (x *UpdateResponse) Reset() {
*x = UpdateResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_spacex_api_device_device_proto_msgTypes[26]
+ mi := &file_spacex_api_device_device_proto_msgTypes[34]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (*UpdateResponse) ProtoMessage() {}
func (x *UpdateResponse) ProtoReflect() protoreflect.Message {
- mi := &file_spacex_api_device_device_proto_msgTypes[26]
+ mi := &file_spacex_api_device_device_proto_msgTypes[34]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
// Deprecated: Use UpdateResponse.ProtoReflect.Descriptor instead.
func (*UpdateResponse) Descriptor() ([]byte, []int) {
- return file_spacex_api_device_device_proto_rawDescGZIP(), []int{26}
+ return file_spacex_api_device_device_proto_rawDescGZIP(), []int{34}
+}
+
+type RestartControlRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
}
+func (x *RestartControlRequest) Reset() {
+ *x = RestartControlRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_device_proto_msgTypes[35]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RestartControlRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RestartControlRequest) ProtoMessage() {}
+
+func (x *RestartControlRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_device_proto_msgTypes[35]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RestartControlRequest.ProtoReflect.Descriptor instead.
+func (*RestartControlRequest) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_device_proto_rawDescGZIP(), []int{35}
+}
+
+type RestartControlResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *RestartControlResponse) Reset() {
+ *x = RestartControlResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_device_proto_msgTypes[36]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RestartControlResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RestartControlResponse) ProtoMessage() {}
+
+func (x *RestartControlResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_device_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 RestartControlResponse.ProtoReflect.Descriptor instead.
+func (*RestartControlResponse) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_device_proto_rawDescGZIP(), []int{36}
+}
+
type GetNetworkInterfacesRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
func (x *GetNetworkInterfacesRequest) Reset() {
*x = GetNetworkInterfacesRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_spacex_api_device_device_proto_msgTypes[27]
+ mi := &file_spacex_api_device_device_proto_msgTypes[37]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (*GetNetworkInterfacesRequest) ProtoMessage() {}
func (x *GetNetworkInterfacesRequest) ProtoReflect() protoreflect.Message {
- mi := &file_spacex_api_device_device_proto_msgTypes[27]
+ mi := &file_spacex_api_device_device_proto_msgTypes[37]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
// Deprecated: Use GetNetworkInterfacesRequest.ProtoReflect.Descriptor instead.
func (*GetNetworkInterfacesRequest) Descriptor() ([]byte, []int) {
- return file_spacex_api_device_device_proto_rawDescGZIP(), []int{27}
+ return file_spacex_api_device_device_proto_rawDescGZIP(), []int{37}
}
type GetNetworkInterfacesResponse struct {
func (x *GetNetworkInterfacesResponse) Reset() {
*x = GetNetworkInterfacesResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_spacex_api_device_device_proto_msgTypes[28]
+ mi := &file_spacex_api_device_device_proto_msgTypes[38]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (*GetNetworkInterfacesResponse) ProtoMessage() {}
func (x *GetNetworkInterfacesResponse) ProtoReflect() protoreflect.Message {
- mi := &file_spacex_api_device_device_proto_msgTypes[28]
+ mi := &file_spacex_api_device_device_proto_msgTypes[38]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
// Deprecated: Use GetNetworkInterfacesResponse.ProtoReflect.Descriptor instead.
func (*GetNetworkInterfacesResponse) Descriptor() ([]byte, []int) {
- return file_spacex_api_device_device_proto_rawDescGZIP(), []int{28}
+ return file_spacex_api_device_device_proto_rawDescGZIP(), []int{38}
}
func (x *GetNetworkInterfacesResponse) GetNetworkInterfaces() []*NetworkInterface {
return nil
}
-var File_spacex_api_device_device_proto protoreflect.FileDescriptor
+type GetHeapDumpRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
-var file_spacex_api_device_device_proto_rawDesc = []byte{
- 0x0a, 0x1e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x78, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76,
- 0x69, 0x63, 0x65, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
- 0x12, 0x11, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76,
- 0x69, 0x63, 0x65, 0x1a, 0x25, 0x73, 0x70, 0x61, 0x63, 0x65, 0x78, 0x2f, 0x61, 0x70, 0x69, 0x2f,
- 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2f, 0x73, 0x74,
- 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x73, 0x70, 0x61, 0x63,
- 0x65, 0x78, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x63, 0x6f,
- 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x73, 0x70, 0x61,
- 0x63, 0x65, 0x78, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x63,
- 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x73, 0x70, 0x61,
- 0x63, 0x65, 0x78, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x64,
- 0x69, 0x73, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x73, 0x70, 0x61, 0x63, 0x65,
- 0x78, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x74, 0x72, 0x61,
- 0x6e, 0x73, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c,
- 0x73, 0x70, 0x61, 0x63, 0x65, 0x78, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63,
- 0x65, 0x2f, 0x77, 0x69, 0x66, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4d, 0x0a, 0x08,
- 0x54, 0x6f, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x53, 0x70, 0x61, 0x63,
- 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x84, 0x01, 0x0a, 0x0a,
- 0x46, 0x72, 0x6f, 0x6d, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x39, 0x0a, 0x08, 0x72, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x53,
- 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
- 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x02,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50,
- 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00,
- 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61,
- 0x67, 0x65, 0x22, 0xee, 0x0e, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e,
- 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x19,
- 0x0a, 0x08, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x04,
- 0x52, 0x07, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x61, 0x72,
- 0x67, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x61,
- 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, 0x12, 0x46, 0x0a, 0x0e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64,
- 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d,
- 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69,
- 0x63, 0x65, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52,
- 0x0d, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46,
- 0x0a, 0x0b, 0x67, 0x65, 0x74, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xee, 0x07,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50,
- 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74,
- 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x09, 0x67, 0x65, 0x74,
- 0x4e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x12, 0x4d, 0x0a, 0x0c, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e,
- 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0xed, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e,
- 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
- 0x65, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74,
- 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x4e, 0x0a, 0x0d, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79,
- 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x18, 0xf3, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e,
- 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
- 0x65, 0x2e, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79,
- 0x52, 0x65, 0x73, 0x65, 0x74, 0x12, 0x52, 0x0a, 0x0f, 0x67, 0x65, 0x74, 0x5f, 0x64, 0x65, 0x76,
- 0x69, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xf0, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x27, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76,
- 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66,
- 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x67, 0x65, 0x74, 0x44,
- 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x48, 0x0a, 0x0b, 0x67, 0x65, 0x74,
- 0x5f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0xef, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x24, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76,
- 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x67, 0x65, 0x74, 0x48, 0x69, 0x73, 0x74,
- 0x6f, 0x72, 0x79, 0x12, 0x3c, 0x0a, 0x07, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0xf4,
- 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41,
- 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x67,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x06, 0x67, 0x65, 0x74, 0x4c, 0x6f,
- 0x67, 0x12, 0x67, 0x0a, 0x16, 0x67, 0x65, 0x74, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
- 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x18, 0xf7, 0x07, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e,
- 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72,
- 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x48, 0x00, 0x52, 0x14, 0x67, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
- 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x12, 0x3f, 0x0a, 0x08, 0x67, 0x65,
- 0x74, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x18, 0xf1, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e,
- 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
- 0x65, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x48, 0x00, 0x52, 0x07, 0x67, 0x65, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x42, 0x0a, 0x09, 0x70,
- 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, 0xf8, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x22, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76,
- 0x69, 0x63, 0x65, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, 0x70, 0x69, 0x6e, 0x67, 0x48, 0x6f, 0x73, 0x74, 0x12,
- 0x45, 0x0a, 0x0a, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xec, 0x07,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50,
- 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74,
- 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x09, 0x67, 0x65, 0x74,
- 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3b, 0x0a, 0x06, 0x72, 0x65, 0x62, 0x6f, 0x6f, 0x74,
- 0x18, 0xe9, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58,
- 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x62, 0x6f,
- 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x62,
- 0x6f, 0x6f, 0x74, 0x12, 0x3c, 0x0a, 0x07, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x6b, 0x75, 0x18, 0xf5,
- 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41,
- 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x6b, 0x75,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x06, 0x73, 0x65, 0x74, 0x53, 0x6b,
- 0x75, 0x12, 0x55, 0x0a, 0x10, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64,
- 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0xf2, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x53,
- 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
- 0x2e, 0x53, 0x65, 0x74, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x65, 0x74, 0x54, 0x72, 0x75,
- 0x73, 0x74, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x45, 0x0a, 0x0a, 0x73, 0x70, 0x65, 0x65,
- 0x64, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x18, 0xeb, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e,
- 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
- 0x65, 0x2e, 0x53, 0x70, 0x65, 0x65, 0x64, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x48, 0x00, 0x52, 0x09, 0x73, 0x70, 0x65, 0x65, 0x64, 0x54, 0x65, 0x73, 0x74, 0x12,
- 0x3b, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0xf6, 0x07, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x20, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65,
- 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x48, 0x00, 0x52, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x42, 0x0a, 0x09,
- 0x64, 0x69, 0x73, 0x68, 0x5f, 0x73, 0x74, 0x6f, 0x77, 0x18, 0xd2, 0x0f, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x22, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65,
- 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x53, 0x74, 0x6f, 0x77, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, 0x64, 0x69, 0x73, 0x68, 0x53, 0x74, 0x6f, 0x77,
- 0x12, 0x77, 0x0a, 0x1c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x5f,
- 0x69, 0x66, 0x5f, 0x6c, 0x6f, 0x6f, 0x70, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x65, 0x73, 0x74,
- 0x18, 0xa1, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58,
- 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e,
- 0x73, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x49, 0x46, 0x4c, 0x6f, 0x6f, 0x70, 0x62, 0x61, 0x63,
- 0x6b, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x19,
- 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x49, 0x66, 0x4c, 0x6f, 0x6f,
- 0x70, 0x62, 0x61, 0x63, 0x6b, 0x54, 0x65, 0x73, 0x74, 0x12, 0x67, 0x0a, 0x16, 0x74, 0x72, 0x61,
- 0x6e, 0x73, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61,
- 0x74, 0x75, 0x73, 0x18, 0xa3, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x53, 0x70, 0x61,
- 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x54,
- 0x72, 0x61, 0x6e, 0x73, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61,
- 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x14, 0x74, 0x72,
- 0x61, 0x6e, 0x73, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74,
- 0x75, 0x73, 0x12, 0x55, 0x0a, 0x10, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x63,
- 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, 0xba, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e,
- 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
- 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x77, 0x69, 0x66, 0x69, 0x47,
- 0x65, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x62, 0x0a, 0x15, 0x77, 0x69, 0x66,
- 0x69, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69,
- 0x63, 0x73, 0x18, 0xbf, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x53, 0x70, 0x61, 0x63,
- 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69,
- 0x66, 0x69, 0x47, 0x65, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x12, 0x77, 0x69, 0x66, 0x69, 0x47,
- 0x65, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x52, 0x0a,
- 0x0f, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
- 0x18, 0xb9, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58,
- 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69,
- 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x48, 0x00, 0x52, 0x0d, 0x77, 0x69, 0x66, 0x69, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69,
- 0x67, 0x12, 0x45, 0x0a, 0x0a, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x73, 0x65, 0x74, 0x75, 0x70, 0x18,
- 0xbb, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e,
- 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x53,
- 0x65, 0x74, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x09, 0x77,
- 0x69, 0x66, 0x69, 0x53, 0x65, 0x74, 0x75, 0x70, 0x42, 0x09, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x22, 0xea, 0x10, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64,
- 0x12, 0x31, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x19, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x53, 0x74,
- 0x61, 0x74, 0x75, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61,
- 0x74, 0x75, 0x73, 0x12, 0x47, 0x0a, 0x0b, 0x67, 0x65, 0x74, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f,
- 0x69, 0x64, 0x18, 0xee, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x53, 0x70, 0x61, 0x63,
- 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65,
- 0x74, 0x4e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48,
- 0x00, 0x52, 0x09, 0x67, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x12, 0x4f, 0x0a, 0x0d,
- 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x18, 0xf3, 0x07,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50,
- 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79,
- 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52,
- 0x0c, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x65, 0x74, 0x12, 0x53, 0x0a,
- 0x0f, 0x67, 0x65, 0x74, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f,
- 0x18, 0xec, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58,
- 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x44,
- 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x48, 0x00, 0x52, 0x0d, 0x67, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e,
- 0x66, 0x6f, 0x12, 0x3d, 0x0a, 0x07, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0xf4, 0x07,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50,
- 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x06, 0x67, 0x65, 0x74, 0x4c, 0x6f,
- 0x67, 0x12, 0x68, 0x0a, 0x16, 0x67, 0x65, 0x74, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
- 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x18, 0xf7, 0x07, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e,
- 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72,
- 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x14, 0x67, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72,
- 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x12, 0x40, 0x0a, 0x08, 0x67,
- 0x65, 0x74, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x18, 0xf1, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22,
- 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69,
- 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x48, 0x00, 0x52, 0x07, 0x67, 0x65, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x43, 0x0a,
- 0x09, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, 0xf8, 0x07, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x23, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44,
- 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x08, 0x70, 0x69, 0x6e, 0x67, 0x48, 0x6f,
- 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x06, 0x72, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x18, 0xe9, 0x07, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49,
- 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x62, 0x6f, 0x6f, 0x74,
- 0x12, 0x46, 0x0a, 0x0a, 0x73, 0x70, 0x65, 0x65, 0x64, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x18, 0xeb,
- 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41,
- 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x70, 0x65, 0x65, 0x64, 0x54,
- 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x09, 0x73,
- 0x70, 0x65, 0x65, 0x64, 0x54, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x07, 0x73, 0x65, 0x74, 0x5f,
- 0x73, 0x6b, 0x75, 0x18, 0xf5, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x53, 0x70, 0x61,
- 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53,
- 0x65, 0x74, 0x53, 0x6b, 0x75, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52,
- 0x06, 0x73, 0x65, 0x74, 0x53, 0x6b, 0x75, 0x12, 0x56, 0x0a, 0x10, 0x73, 0x65, 0x74, 0x5f, 0x74,
- 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0xf2, 0x07, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e,
- 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x65, 0x74, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65,
- 0x64, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52,
- 0x0e, 0x73, 0x65, 0x74, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x12,
- 0x3c, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0xf6, 0x07, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x21, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65,
- 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x5b, 0x0a,
- 0x11, 0x64, 0x69, 0x73, 0x68, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61,
- 0x74, 0x65, 0x18, 0xd5, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x53, 0x70, 0x61, 0x63,
- 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69,
- 0x73, 0x68, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x10, 0x64, 0x69, 0x73, 0x68, 0x41, 0x75,
- 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x56, 0x0a, 0x10, 0x64, 0x69,
- 0x73, 0x68, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0xd6,
- 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41,
- 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x47, 0x65,
- 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x48, 0x00, 0x52, 0x0e, 0x64, 0x69, 0x73, 0x68, 0x47, 0x65, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f,
- 0x72, 0x79, 0x12, 0x53, 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x68, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x73,
- 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xd4, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x53,
- 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
- 0x2e, 0x44, 0x69, 0x73, 0x68, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x64, 0x69, 0x73, 0x68, 0x47, 0x65,
- 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x43, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x68, 0x5f,
- 0x73, 0x74, 0x6f, 0x77, 0x18, 0xd2, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x53, 0x70,
- 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e,
- 0x44, 0x69, 0x73, 0x68, 0x53, 0x74, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x48, 0x00, 0x52, 0x08, 0x64, 0x69, 0x73, 0x68, 0x53, 0x74, 0x6f, 0x77, 0x12, 0x78, 0x0a, 0x1c,
- 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x66, 0x5f, 0x6c,
- 0x6f, 0x6f, 0x70, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x18, 0xa1, 0x1f, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49,
- 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x65, 0x69,
- 0x76, 0x65, 0x72, 0x49, 0x46, 0x4c, 0x6f, 0x6f, 0x70, 0x62, 0x61, 0x63, 0x6b, 0x54, 0x65, 0x73,
- 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x19, 0x74, 0x72, 0x61,
- 0x6e, 0x73, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x49, 0x66, 0x4c, 0x6f, 0x6f, 0x70, 0x62, 0x61,
- 0x63, 0x6b, 0x54, 0x65, 0x73, 0x74, 0x12, 0x68, 0x0a, 0x16, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63,
- 0x65, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
- 0x18, 0xa3, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58,
- 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e,
- 0x73, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x14, 0x74, 0x72, 0x61, 0x6e,
- 0x73, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
- 0x12, 0x5b, 0x0a, 0x11, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74,
- 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0xbd, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x53,
- 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
- 0x2e, 0x57, 0x69, 0x66, 0x69, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74,
- 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x10, 0x77, 0x69, 0x66,
- 0x69, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x56, 0x0a,
- 0x10, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
- 0x73, 0x18, 0xba, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65,
- 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66,
- 0x69, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x77, 0x69, 0x66, 0x69, 0x47, 0x65, 0x74, 0x43, 0x6c,
- 0x69, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x56, 0x0a, 0x10, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x67, 0x65,
- 0x74, 0x5f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0xbe, 0x17, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x29, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65,
- 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x47, 0x65, 0x74, 0x48, 0x69, 0x73, 0x74,
- 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x77,
- 0x69, 0x66, 0x69, 0x47, 0x65, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x63, 0x0a,
- 0x15, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x6d,
- 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0xbf, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e,
- 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
- 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x47, 0x65, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74,
- 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x12,
- 0x77, 0x69, 0x66, 0x69, 0x47, 0x65, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69,
- 0x63, 0x73, 0x12, 0x53, 0x0a, 0x0f, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x73,
- 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xbc, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x53,
- 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
- 0x2e, 0x57, 0x69, 0x66, 0x69, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x77, 0x69, 0x66, 0x69, 0x47, 0x65,
- 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x53, 0x0a, 0x0f, 0x77, 0x69, 0x66, 0x69, 0x5f,
- 0x73, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0xb9, 0x17, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x28, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44,
- 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e,
- 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x77,
- 0x69, 0x66, 0x69, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x46, 0x0a, 0x0a,
- 0x77, 0x69, 0x66, 0x69, 0x5f, 0x73, 0x65, 0x74, 0x75, 0x70, 0x18, 0xbb, 0x17, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x24, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44,
- 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x53, 0x65, 0x74, 0x75, 0x70, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x09, 0x77, 0x69, 0x66, 0x69, 0x53,
- 0x65, 0x74, 0x75, 0x70, 0x42, 0x0a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x22, 0xdf, 0x01, 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x6c, 0x0a, 0x19, 0x77, 0x69,
- 0x66, 0x69, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f,
- 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0xb9, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e,
- 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69,
- 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x4e, 0x65, 0x77, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74,
- 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00,
- 0x52, 0x16, 0x77, 0x69, 0x66, 0x69, 0x4e, 0x65, 0x77, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43,
- 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x5f, 0x0a, 0x14, 0x77, 0x69, 0x66, 0x69,
- 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67,
- 0x18, 0xba, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58,
- 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69,
- 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x45, 0x76,
- 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x12, 0x77, 0x69, 0x66, 0x69, 0x41, 0x63, 0x63, 0x6f, 0x75,
- 0x6e, 0x74, 0x42, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65,
- 0x6e, 0x74, 0x22, 0x15, 0x0a, 0x13, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73,
- 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x16, 0x0a, 0x14, 0x46, 0x61, 0x63,
- 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x22, 0x13, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x0f, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x67,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x49, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4c, 0x6f,
- 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x73,
- 0x6c, 0x6f, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, 0x73, 0x6c, 0x6f,
- 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x6c, 0x6f, 0x67,
- 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x4c,
- 0x6f, 0x67, 0x22, 0x10, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x22, 0xb7, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x50, 0x69, 0x6e, 0x67,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75,
- 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x53, 0x70, 0x61, 0x63,
- 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65,
- 0x74, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65,
- 0x73, 0x75, 0x6c, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75,
- 0x6c, 0x74, 0x73, 0x1a, 0x59, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x45, 0x6e,
- 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x33, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50,
- 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73,
- 0x75, 0x6c, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x2b,
- 0x0a, 0x0f, 0x50, 0x69, 0x6e, 0x67, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
- 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x49, 0x0a, 0x10, 0x50,
- 0x69, 0x6e, 0x67, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
- 0x35, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x1d, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76,
- 0x69, 0x63, 0x65, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06,
- 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x12, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61,
- 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x0f, 0x0a, 0x0d, 0x52, 0x65,
- 0x62, 0x6f, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x10, 0x0a, 0x0e, 0x52,
- 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x12, 0x0a,
- 0x10, 0x53, 0x70, 0x65, 0x65, 0x64, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
- 0x74, 0x22, 0x72, 0x0a, 0x11, 0x53, 0x70, 0x65, 0x65, 0x64, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f,
- 0x61, 0x64, 0x5f, 0x62, 0x70, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x64, 0x6f,
- 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x70, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x6c,
- 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x70, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x75,
- 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x70, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x61, 0x74, 0x65,
- 0x6e, 0x63, 0x79, 0x5f, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x6c, 0x61, 0x74,
- 0x65, 0x6e, 0x63, 0x79, 0x53, 0x22, 0x16, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69,
- 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x57, 0x0a,
- 0x15, 0x47, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65,
- 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x53, 0x70,
+func (x *GetHeapDumpRequest) Reset() {
+ *x = GetHeapDumpRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_device_proto_msgTypes[39]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetHeapDumpRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetHeapDumpRequest) ProtoMessage() {}
+
+func (x *GetHeapDumpRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_device_proto_msgTypes[39]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetHeapDumpRequest.ProtoReflect.Descriptor instead.
+func (*GetHeapDumpRequest) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_device_proto_rawDescGZIP(), []int{39}
+}
+
+type GetHeapDumpResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ HeapDump string `protobuf:"bytes,1,opt,name=heap_dump,json=heapDump,proto3" json:"heap_dump,omitempty"`
+}
+
+func (x *GetHeapDumpResponse) Reset() {
+ *x = GetHeapDumpResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_device_proto_msgTypes[40]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetHeapDumpResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetHeapDumpResponse) ProtoMessage() {}
+
+func (x *GetHeapDumpResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_device_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 GetHeapDumpResponse.ProtoReflect.Descriptor instead.
+func (*GetHeapDumpResponse) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_device_proto_rawDescGZIP(), []int{40}
+}
+
+func (x *GetHeapDumpResponse) GetHeapDump() string {
+ if x != nil {
+ return x.HeapDump
+ }
+ return ""
+}
+
+type GetLocationRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Source PositionSource `protobuf:"varint,1,opt,name=source,proto3,enum=SpaceX.API.Device.PositionSource" json:"source,omitempty"`
+}
+
+func (x *GetLocationRequest) Reset() {
+ *x = GetLocationRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_device_proto_msgTypes[41]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetLocationRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetLocationRequest) ProtoMessage() {}
+
+func (x *GetLocationRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_device_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 GetLocationRequest.ProtoReflect.Descriptor instead.
+func (*GetLocationRequest) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_device_proto_rawDescGZIP(), []int{41}
+}
+
+func (x *GetLocationRequest) GetSource() PositionSource {
+ if x != nil {
+ return x.Source
+ }
+ return PositionSource_AUTO
+}
+
+type GetLocationResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Lla *LLAPosition `protobuf:"bytes,1,opt,name=lla,proto3" json:"lla,omitempty"`
+ SigmaM float64 `protobuf:"fixed64,4,opt,name=sigma_m,json=sigmaM,proto3" json:"sigma_m,omitempty"`
+ Source PositionSource `protobuf:"varint,3,opt,name=source,proto3,enum=SpaceX.API.Device.PositionSource" json:"source,omitempty"`
+}
+
+func (x *GetLocationResponse) Reset() {
+ *x = GetLocationResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_device_proto_msgTypes[42]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetLocationResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetLocationResponse) ProtoMessage() {}
+
+func (x *GetLocationResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_device_proto_msgTypes[42]
+ 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 GetLocationResponse.ProtoReflect.Descriptor instead.
+func (*GetLocationResponse) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_device_proto_rawDescGZIP(), []int{42}
+}
+
+func (x *GetLocationResponse) GetLla() *LLAPosition {
+ if x != nil {
+ return x.Lla
+ }
+ return nil
+}
+
+func (x *GetLocationResponse) GetSigmaM() float64 {
+ if x != nil {
+ return x.SigmaM
+ }
+ return 0
+}
+
+func (x *GetLocationResponse) GetSource() PositionSource {
+ if x != nil {
+ return x.Source
+ }
+ return PositionSource_AUTO
+}
+
+type DishSetEmcRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Theta float64 `protobuf:"fixed64,1,opt,name=theta,proto3" json:"theta,omitempty"`
+ Phi float64 `protobuf:"fixed64,2,opt,name=phi,proto3" json:"phi,omitempty"`
+ RxChan uint32 `protobuf:"varint,3,opt,name=rx_chan,json=rxChan,proto3" json:"rx_chan,omitempty"`
+ TxChan uint32 `protobuf:"varint,4,opt,name=tx_chan,json=txChan,proto3" json:"tx_chan,omitempty"`
+ Modulation uint32 `protobuf:"varint,5,opt,name=modulation,proto3" json:"modulation,omitempty"`
+ DesiredTiltAngle float64 `protobuf:"fixed64,7,opt,name=desired_tilt_angle,json=desiredTiltAngle,proto3" json:"desired_tilt_angle,omitempty"`
+ ChanOverride bool `protobuf:"varint,8,opt,name=chan_override,json=chanOverride,proto3" json:"chan_override,omitempty"`
+ ThetaEnabled bool `protobuf:"varint,9,opt,name=theta_enabled,json=thetaEnabled,proto3" json:"theta_enabled,omitempty"`
+ PhiEnabled bool `protobuf:"varint,10,opt,name=phi_enabled,json=phiEnabled,proto3" json:"phi_enabled,omitempty"`
+ Idle bool `protobuf:"varint,11,opt,name=idle,proto3" json:"idle,omitempty"`
+ FastSwitching bool `protobuf:"varint,12,opt,name=fast_switching,json=fastSwitching,proto3" json:"fast_switching,omitempty"`
+ SkySearch bool `protobuf:"varint,13,opt,name=sky_search,json=skySearch,proto3" json:"sky_search,omitempty"`
+ ForcePllUnlock bool `protobuf:"varint,14,opt,name=force_pll_unlock,json=forcePllUnlock,proto3" json:"force_pll_unlock,omitempty"`
+ ForceEirpFailure bool `protobuf:"varint,15,opt,name=force_eirp_failure,json=forceEirpFailure,proto3" json:"force_eirp_failure,omitempty"`
+ SnowActiveOverride bool `protobuf:"varint,16,opt,name=snow_active_override,json=snowActiveOverride,proto3" json:"snow_active_override,omitempty"`
+ ManualTilting bool `protobuf:"varint,18,opt,name=manual_tilting,json=manualTilting,proto3" json:"manual_tilting,omitempty"`
+ TiltToStowed bool `protobuf:"varint,19,opt,name=tilt_to_stowed,json=tiltToStowed,proto3" json:"tilt_to_stowed,omitempty"`
+ Reboot bool `protobuf:"varint,20,opt,name=reboot,proto3" json:"reboot,omitempty"`
+ ContinuousMotorTest bool `protobuf:"varint,21,opt,name=continuous_motor_test,json=continuousMotorTest,proto3" json:"continuous_motor_test,omitempty"`
+ DistanceOverrideMeters float64 `protobuf:"fixed64,22,opt,name=distance_override_meters,json=distanceOverrideMeters,proto3" json:"distance_override_meters,omitempty"`
+ AmplitudeTaperOverride uint32 `protobuf:"varint,23,opt,name=amplitude_taper_override,json=amplitudeTaperOverride,proto3" json:"amplitude_taper_override,omitempty"`
+ CountryCodeOverride uint32 `protobuf:"varint,24,opt,name=country_code_override,json=countryCodeOverride,proto3" json:"country_code_override,omitempty"`
+ TxDutyCycleOverride int32 `protobuf:"varint,25,opt,name=tx_duty_cycle_override,json=txDutyCycleOverride,proto3" json:"tx_duty_cycle_override,omitempty"`
+ RxDutyCycleOverride int32 `protobuf:"varint,26,opt,name=rx_duty_cycle_override,json=rxDutyCycleOverride,proto3" json:"rx_duty_cycle_override,omitempty"`
+ EirpLegalLimitDbwOverride float64 `protobuf:"fixed64,27,opt,name=eirp_legal_limit_dbw_override,json=eirpLegalLimitDbwOverride,proto3" json:"eirp_legal_limit_dbw_override,omitempty"`
+}
+
+func (x *DishSetEmcRequest) Reset() {
+ *x = DishSetEmcRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_device_proto_msgTypes[43]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DishSetEmcRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DishSetEmcRequest) ProtoMessage() {}
+
+func (x *DishSetEmcRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_device_proto_msgTypes[43]
+ 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 DishSetEmcRequest.ProtoReflect.Descriptor instead.
+func (*DishSetEmcRequest) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_device_proto_rawDescGZIP(), []int{43}
+}
+
+func (x *DishSetEmcRequest) GetTheta() float64 {
+ if x != nil {
+ return x.Theta
+ }
+ return 0
+}
+
+func (x *DishSetEmcRequest) GetPhi() float64 {
+ if x != nil {
+ return x.Phi
+ }
+ return 0
+}
+
+func (x *DishSetEmcRequest) GetRxChan() uint32 {
+ if x != nil {
+ return x.RxChan
+ }
+ return 0
+}
+
+func (x *DishSetEmcRequest) GetTxChan() uint32 {
+ if x != nil {
+ return x.TxChan
+ }
+ return 0
+}
+
+func (x *DishSetEmcRequest) GetModulation() uint32 {
+ if x != nil {
+ return x.Modulation
+ }
+ return 0
+}
+
+func (x *DishSetEmcRequest) GetDesiredTiltAngle() float64 {
+ if x != nil {
+ return x.DesiredTiltAngle
+ }
+ return 0
+}
+
+func (x *DishSetEmcRequest) GetChanOverride() bool {
+ if x != nil {
+ return x.ChanOverride
+ }
+ return false
+}
+
+func (x *DishSetEmcRequest) GetThetaEnabled() bool {
+ if x != nil {
+ return x.ThetaEnabled
+ }
+ return false
+}
+
+func (x *DishSetEmcRequest) GetPhiEnabled() bool {
+ if x != nil {
+ return x.PhiEnabled
+ }
+ return false
+}
+
+func (x *DishSetEmcRequest) GetIdle() bool {
+ if x != nil {
+ return x.Idle
+ }
+ return false
+}
+
+func (x *DishSetEmcRequest) GetFastSwitching() bool {
+ if x != nil {
+ return x.FastSwitching
+ }
+ return false
+}
+
+func (x *DishSetEmcRequest) GetSkySearch() bool {
+ if x != nil {
+ return x.SkySearch
+ }
+ return false
+}
+
+func (x *DishSetEmcRequest) GetForcePllUnlock() bool {
+ if x != nil {
+ return x.ForcePllUnlock
+ }
+ return false
+}
+
+func (x *DishSetEmcRequest) GetForceEirpFailure() bool {
+ if x != nil {
+ return x.ForceEirpFailure
+ }
+ return false
+}
+
+func (x *DishSetEmcRequest) GetSnowActiveOverride() bool {
+ if x != nil {
+ return x.SnowActiveOverride
+ }
+ return false
+}
+
+func (x *DishSetEmcRequest) GetManualTilting() bool {
+ if x != nil {
+ return x.ManualTilting
+ }
+ return false
+}
+
+func (x *DishSetEmcRequest) GetTiltToStowed() bool {
+ if x != nil {
+ return x.TiltToStowed
+ }
+ return false
+}
+
+func (x *DishSetEmcRequest) GetReboot() bool {
+ if x != nil {
+ return x.Reboot
+ }
+ return false
+}
+
+func (x *DishSetEmcRequest) GetContinuousMotorTest() bool {
+ if x != nil {
+ return x.ContinuousMotorTest
+ }
+ return false
+}
+
+func (x *DishSetEmcRequest) GetDistanceOverrideMeters() float64 {
+ if x != nil {
+ return x.DistanceOverrideMeters
+ }
+ return 0
+}
+
+func (x *DishSetEmcRequest) GetAmplitudeTaperOverride() uint32 {
+ if x != nil {
+ return x.AmplitudeTaperOverride
+ }
+ return 0
+}
+
+func (x *DishSetEmcRequest) GetCountryCodeOverride() uint32 {
+ if x != nil {
+ return x.CountryCodeOverride
+ }
+ return 0
+}
+
+func (x *DishSetEmcRequest) GetTxDutyCycleOverride() int32 {
+ if x != nil {
+ return x.TxDutyCycleOverride
+ }
+ return 0
+}
+
+func (x *DishSetEmcRequest) GetRxDutyCycleOverride() int32 {
+ if x != nil {
+ return x.RxDutyCycleOverride
+ }
+ return 0
+}
+
+func (x *DishSetEmcRequest) GetEirpLegalLimitDbwOverride() float64 {
+ if x != nil {
+ return x.EirpLegalLimitDbwOverride
+ }
+ return 0
+}
+
+type DishSetEmcResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *DishSetEmcResponse) Reset() {
+ *x = DishSetEmcResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_device_proto_msgTypes[44]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DishSetEmcResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DishSetEmcResponse) ProtoMessage() {}
+
+func (x *DishSetEmcResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_device_proto_msgTypes[44]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DishSetEmcResponse.ProtoReflect.Descriptor instead.
+func (*DishSetEmcResponse) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_device_proto_rawDescGZIP(), []int{44}
+}
+
+type DishGetEmcRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *DishGetEmcRequest) Reset() {
+ *x = DishGetEmcRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_device_proto_msgTypes[45]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DishGetEmcRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DishGetEmcRequest) ProtoMessage() {}
+
+func (x *DishGetEmcRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_device_proto_msgTypes[45]
+ 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 DishGetEmcRequest.ProtoReflect.Descriptor instead.
+func (*DishGetEmcRequest) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_device_proto_rawDescGZIP(), []int{45}
+}
+
+type DishGetEmcResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Uuid string `protobuf:"bytes,2,opt,name=uuid,proto3" json:"uuid,omitempty"`
+ Timestamp uint64 `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
+ CplaneUpdates uint32 `protobuf:"varint,11,opt,name=cplane_updates,json=cplaneUpdates,proto3" json:"cplane_updates,omitempty"`
+ GpsLatitude float64 `protobuf:"fixed64,16,opt,name=gps_latitude,json=gpsLatitude,proto3" json:"gps_latitude,omitempty"`
+ GpsLongitude float64 `protobuf:"fixed64,17,opt,name=gps_longitude,json=gpsLongitude,proto3" json:"gps_longitude,omitempty"`
+ GpsPdop float64 `protobuf:"fixed64,18,opt,name=gps_pdop,json=gpsPdop,proto3" json:"gps_pdop,omitempty"`
+ RfMode uint32 `protobuf:"varint,19,opt,name=rf_mode,json=rfMode,proto3" json:"rf_mode,omitempty"`
+ Phi float64 `protobuf:"fixed64,20,opt,name=phi,proto3" json:"phi,omitempty"`
+ Theta float64 `protobuf:"fixed64,21,opt,name=theta,proto3" json:"theta,omitempty"`
+ RxChannel uint32 `protobuf:"varint,22,opt,name=rx_channel,json=rxChannel,proto3" json:"rx_channel,omitempty"`
+ TxChannel uint32 `protobuf:"varint,23,opt,name=tx_channel,json=txChannel,proto3" json:"tx_channel,omitempty"`
+ TDbfMax float32 `protobuf:"fixed32,24,opt,name=t_dbf_max,json=tDbfMax,proto3" json:"t_dbf_max,omitempty"`
+ TCenter float64 `protobuf:"fixed64,25,opt,name=t_center,json=tCenter,proto3" json:"t_center,omitempty"`
+ AutoPowerSnowMeltEnabled bool `protobuf:"varint,30,opt,name=auto_power_snow_melt_enabled,json=autoPowerSnowMeltEnabled,proto3" json:"auto_power_snow_melt_enabled,omitempty"`
+ Voltage float64 `protobuf:"fixed64,32,opt,name=voltage,proto3" json:"voltage,omitempty"`
+ RxBeamState uint32 `protobuf:"varint,33,opt,name=rx_beam_state,json=rxBeamState,proto3" json:"rx_beam_state,omitempty"`
+ TxBeamState uint32 `protobuf:"varint,34,opt,name=tx_beam_state,json=txBeamState,proto3" json:"tx_beam_state,omitempty"`
+ HalfDuplexState uint32 `protobuf:"varint,35,opt,name=half_duplex_state,json=halfDuplexState,proto3" json:"half_duplex_state,omitempty"`
+ ManualTiltEnabled bool `protobuf:"varint,36,opt,name=manual_tilt_enabled,json=manualTiltEnabled,proto3" json:"manual_tilt_enabled,omitempty"`
+ TiltAngle float64 `protobuf:"fixed64,37,opt,name=tilt_angle,json=tiltAngle,proto3" json:"tilt_angle,omitempty"`
+ PllTxLockDetected uint32 `protobuf:"varint,38,opt,name=pll_tx_lock_detected,json=pllTxLockDetected,proto3" json:"pll_tx_lock_detected,omitempty"`
+ EirpExceededThreshold bool `protobuf:"varint,39,opt,name=eirp_exceeded_threshold,json=eirpExceededThreshold,proto3" json:"eirp_exceeded_threshold,omitempty"`
+ EirpScaleOverride float32 `protobuf:"fixed32,40,opt,name=eirp_scale_override,json=eirpScaleOverride,proto3" json:"eirp_scale_override,omitempty"`
+ IdleOverrideEnabled bool `protobuf:"varint,41,opt,name=idle_override_enabled,json=idleOverrideEnabled,proto3" json:"idle_override_enabled,omitempty"`
+ ThetaOverrideEnabled bool `protobuf:"varint,42,opt,name=theta_override_enabled,json=thetaOverrideEnabled,proto3" json:"theta_override_enabled,omitempty"`
+ ThetaOverrideValue float64 `protobuf:"fixed64,43,opt,name=theta_override_value,json=thetaOverrideValue,proto3" json:"theta_override_value,omitempty"`
+ PhiOverrideEnabled bool `protobuf:"varint,44,opt,name=phi_override_enabled,json=phiOverrideEnabled,proto3" json:"phi_override_enabled,omitempty"`
+ PhiOverrideValue float64 `protobuf:"fixed64,45,opt,name=phi_override_value,json=phiOverrideValue,proto3" json:"phi_override_value,omitempty"`
+ RxChanOverrideValue uint32 `protobuf:"varint,46,opt,name=rx_chan_override_value,json=rxChanOverrideValue,proto3" json:"rx_chan_override_value,omitempty"`
+ TxChanOverrideValue uint32 `protobuf:"varint,47,opt,name=tx_chan_override_value,json=txChanOverrideValue,proto3" json:"tx_chan_override_value,omitempty"`
+ SkySearchOverrideEnabled bool `protobuf:"varint,48,opt,name=sky_search_override_enabled,json=skySearchOverrideEnabled,proto3" json:"sky_search_override_enabled,omitempty"`
+ FastSwitchingEnabled bool `protobuf:"varint,49,opt,name=fast_switching_enabled,json=fastSwitchingEnabled,proto3" json:"fast_switching_enabled,omitempty"`
+ ModulationOverrideValue uint32 `protobuf:"varint,50,opt,name=modulation_override_value,json=modulationOverrideValue,proto3" json:"modulation_override_value,omitempty"`
+ ForceEirpFailure bool `protobuf:"varint,51,opt,name=force_eirp_failure,json=forceEirpFailure,proto3" json:"force_eirp_failure,omitempty"`
+ ForcePllUnlock bool `protobuf:"varint,52,opt,name=force_pll_unlock,json=forcePllUnlock,proto3" json:"force_pll_unlock,omitempty"`
+ UtIneSuccess uint32 `protobuf:"varint,53,opt,name=ut_ine_success,json=utIneSuccess,proto3" json:"ut_ine_success,omitempty"`
+ RfReady bool `protobuf:"varint,54,opt,name=rf_ready,json=rfReady,proto3" json:"rf_ready,omitempty"`
+ TiltToStowed bool `protobuf:"varint,55,opt,name=tilt_to_stowed,json=tiltToStowed,proto3" json:"tilt_to_stowed,omitempty"`
+ Reboot bool `protobuf:"varint,56,opt,name=reboot,proto3" json:"reboot,omitempty"`
+ ContinuousMotorTest bool `protobuf:"varint,57,opt,name=continuous_motor_test,json=continuousMotorTest,proto3" json:"continuous_motor_test,omitempty"`
+ DistanceOverrideMeters float64 `protobuf:"fixed64,58,opt,name=distance_override_meters,json=distanceOverrideMeters,proto3" json:"distance_override_meters,omitempty"`
+ AmplitudeTaperOverride uint32 `protobuf:"varint,59,opt,name=amplitude_taper_override,json=amplitudeTaperOverride,proto3" json:"amplitude_taper_override,omitempty"`
+ AmplitudeTaperEnabled bool `protobuf:"varint,60,opt,name=amplitude_taper_enabled,json=amplitudeTaperEnabled,proto3" json:"amplitude_taper_enabled,omitempty"`
+ AmplitudeTaperScale float64 `protobuf:"fixed64,61,opt,name=amplitude_taper_scale,json=amplitudeTaperScale,proto3" json:"amplitude_taper_scale,omitempty"`
+ CountryCodeOverride uint32 `protobuf:"varint,62,opt,name=country_code_override,json=countryCodeOverride,proto3" json:"country_code_override,omitempty"`
+ MaxPointingDistance float64 `protobuf:"fixed64,63,opt,name=max_pointing_distance,json=maxPointingDistance,proto3" json:"max_pointing_distance,omitempty"`
+ DistanceScalingFactor float64 `protobuf:"fixed64,64,opt,name=distance_scaling_factor,json=distanceScalingFactor,proto3" json:"distance_scaling_factor,omitempty"`
+ TxDutyCycleOverride int32 `protobuf:"varint,65,opt,name=tx_duty_cycle_override,json=txDutyCycleOverride,proto3" json:"tx_duty_cycle_override,omitempty"`
+ RxDutyCycleOverride int32 `protobuf:"varint,66,opt,name=rx_duty_cycle_override,json=rxDutyCycleOverride,proto3" json:"rx_duty_cycle_override,omitempty"`
+ TxTimeMs float32 `protobuf:"fixed32,67,opt,name=tx_time_ms,json=txTimeMs,proto3" json:"tx_time_ms,omitempty"`
+ RxTimeMs float32 `protobuf:"fixed32,68,opt,name=rx_time_ms,json=rxTimeMs,proto3" json:"rx_time_ms,omitempty"`
+ EirpLegalLimitDbw float64 `protobuf:"fixed64,69,opt,name=eirp_legal_limit_dbw,json=eirpLegalLimitDbw,proto3" json:"eirp_legal_limit_dbw,omitempty"`
+ EirpLegalLimitDbwOverride float64 `protobuf:"fixed64,70,opt,name=eirp_legal_limit_dbw_override,json=eirpLegalLimitDbwOverride,proto3" json:"eirp_legal_limit_dbw_override,omitempty"`
+}
+
+func (x *DishGetEmcResponse) Reset() {
+ *x = DishGetEmcResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_device_proto_msgTypes[46]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DishGetEmcResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DishGetEmcResponse) ProtoMessage() {}
+
+func (x *DishGetEmcResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_device_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 DishGetEmcResponse.ProtoReflect.Descriptor instead.
+func (*DishGetEmcResponse) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_device_proto_rawDescGZIP(), []int{46}
+}
+
+func (x *DishGetEmcResponse) GetUuid() string {
+ if x != nil {
+ return x.Uuid
+ }
+ return ""
+}
+
+func (x *DishGetEmcResponse) GetTimestamp() uint64 {
+ if x != nil {
+ return x.Timestamp
+ }
+ return 0
+}
+
+func (x *DishGetEmcResponse) GetCplaneUpdates() uint32 {
+ if x != nil {
+ return x.CplaneUpdates
+ }
+ return 0
+}
+
+func (x *DishGetEmcResponse) GetGpsLatitude() float64 {
+ if x != nil {
+ return x.GpsLatitude
+ }
+ return 0
+}
+
+func (x *DishGetEmcResponse) GetGpsLongitude() float64 {
+ if x != nil {
+ return x.GpsLongitude
+ }
+ return 0
+}
+
+func (x *DishGetEmcResponse) GetGpsPdop() float64 {
+ if x != nil {
+ return x.GpsPdop
+ }
+ return 0
+}
+
+func (x *DishGetEmcResponse) GetRfMode() uint32 {
+ if x != nil {
+ return x.RfMode
+ }
+ return 0
+}
+
+func (x *DishGetEmcResponse) GetPhi() float64 {
+ if x != nil {
+ return x.Phi
+ }
+ return 0
+}
+
+func (x *DishGetEmcResponse) GetTheta() float64 {
+ if x != nil {
+ return x.Theta
+ }
+ return 0
+}
+
+func (x *DishGetEmcResponse) GetRxChannel() uint32 {
+ if x != nil {
+ return x.RxChannel
+ }
+ return 0
+}
+
+func (x *DishGetEmcResponse) GetTxChannel() uint32 {
+ if x != nil {
+ return x.TxChannel
+ }
+ return 0
+}
+
+func (x *DishGetEmcResponse) GetTDbfMax() float32 {
+ if x != nil {
+ return x.TDbfMax
+ }
+ return 0
+}
+
+func (x *DishGetEmcResponse) GetTCenter() float64 {
+ if x != nil {
+ return x.TCenter
+ }
+ return 0
+}
+
+func (x *DishGetEmcResponse) GetAutoPowerSnowMeltEnabled() bool {
+ if x != nil {
+ return x.AutoPowerSnowMeltEnabled
+ }
+ return false
+}
+
+func (x *DishGetEmcResponse) GetVoltage() float64 {
+ if x != nil {
+ return x.Voltage
+ }
+ return 0
+}
+
+func (x *DishGetEmcResponse) GetRxBeamState() uint32 {
+ if x != nil {
+ return x.RxBeamState
+ }
+ return 0
+}
+
+func (x *DishGetEmcResponse) GetTxBeamState() uint32 {
+ if x != nil {
+ return x.TxBeamState
+ }
+ return 0
+}
+
+func (x *DishGetEmcResponse) GetHalfDuplexState() uint32 {
+ if x != nil {
+ return x.HalfDuplexState
+ }
+ return 0
+}
+
+func (x *DishGetEmcResponse) GetManualTiltEnabled() bool {
+ if x != nil {
+ return x.ManualTiltEnabled
+ }
+ return false
+}
+
+func (x *DishGetEmcResponse) GetTiltAngle() float64 {
+ if x != nil {
+ return x.TiltAngle
+ }
+ return 0
+}
+
+func (x *DishGetEmcResponse) GetPllTxLockDetected() uint32 {
+ if x != nil {
+ return x.PllTxLockDetected
+ }
+ return 0
+}
+
+func (x *DishGetEmcResponse) GetEirpExceededThreshold() bool {
+ if x != nil {
+ return x.EirpExceededThreshold
+ }
+ return false
+}
+
+func (x *DishGetEmcResponse) GetEirpScaleOverride() float32 {
+ if x != nil {
+ return x.EirpScaleOverride
+ }
+ return 0
+}
+
+func (x *DishGetEmcResponse) GetIdleOverrideEnabled() bool {
+ if x != nil {
+ return x.IdleOverrideEnabled
+ }
+ return false
+}
+
+func (x *DishGetEmcResponse) GetThetaOverrideEnabled() bool {
+ if x != nil {
+ return x.ThetaOverrideEnabled
+ }
+ return false
+}
+
+func (x *DishGetEmcResponse) GetThetaOverrideValue() float64 {
+ if x != nil {
+ return x.ThetaOverrideValue
+ }
+ return 0
+}
+
+func (x *DishGetEmcResponse) GetPhiOverrideEnabled() bool {
+ if x != nil {
+ return x.PhiOverrideEnabled
+ }
+ return false
+}
+
+func (x *DishGetEmcResponse) GetPhiOverrideValue() float64 {
+ if x != nil {
+ return x.PhiOverrideValue
+ }
+ return 0
+}
+
+func (x *DishGetEmcResponse) GetRxChanOverrideValue() uint32 {
+ if x != nil {
+ return x.RxChanOverrideValue
+ }
+ return 0
+}
+
+func (x *DishGetEmcResponse) GetTxChanOverrideValue() uint32 {
+ if x != nil {
+ return x.TxChanOverrideValue
+ }
+ return 0
+}
+
+func (x *DishGetEmcResponse) GetSkySearchOverrideEnabled() bool {
+ if x != nil {
+ return x.SkySearchOverrideEnabled
+ }
+ return false
+}
+
+func (x *DishGetEmcResponse) GetFastSwitchingEnabled() bool {
+ if x != nil {
+ return x.FastSwitchingEnabled
+ }
+ return false
+}
+
+func (x *DishGetEmcResponse) GetModulationOverrideValue() uint32 {
+ if x != nil {
+ return x.ModulationOverrideValue
+ }
+ return 0
+}
+
+func (x *DishGetEmcResponse) GetForceEirpFailure() bool {
+ if x != nil {
+ return x.ForceEirpFailure
+ }
+ return false
+}
+
+func (x *DishGetEmcResponse) GetForcePllUnlock() bool {
+ if x != nil {
+ return x.ForcePllUnlock
+ }
+ return false
+}
+
+func (x *DishGetEmcResponse) GetUtIneSuccess() uint32 {
+ if x != nil {
+ return x.UtIneSuccess
+ }
+ return 0
+}
+
+func (x *DishGetEmcResponse) GetRfReady() bool {
+ if x != nil {
+ return x.RfReady
+ }
+ return false
+}
+
+func (x *DishGetEmcResponse) GetTiltToStowed() bool {
+ if x != nil {
+ return x.TiltToStowed
+ }
+ return false
+}
+
+func (x *DishGetEmcResponse) GetReboot() bool {
+ if x != nil {
+ return x.Reboot
+ }
+ return false
+}
+
+func (x *DishGetEmcResponse) GetContinuousMotorTest() bool {
+ if x != nil {
+ return x.ContinuousMotorTest
+ }
+ return false
+}
+
+func (x *DishGetEmcResponse) GetDistanceOverrideMeters() float64 {
+ if x != nil {
+ return x.DistanceOverrideMeters
+ }
+ return 0
+}
+
+func (x *DishGetEmcResponse) GetAmplitudeTaperOverride() uint32 {
+ if x != nil {
+ return x.AmplitudeTaperOverride
+ }
+ return 0
+}
+
+func (x *DishGetEmcResponse) GetAmplitudeTaperEnabled() bool {
+ if x != nil {
+ return x.AmplitudeTaperEnabled
+ }
+ return false
+}
+
+func (x *DishGetEmcResponse) GetAmplitudeTaperScale() float64 {
+ if x != nil {
+ return x.AmplitudeTaperScale
+ }
+ return 0
+}
+
+func (x *DishGetEmcResponse) GetCountryCodeOverride() uint32 {
+ if x != nil {
+ return x.CountryCodeOverride
+ }
+ return 0
+}
+
+func (x *DishGetEmcResponse) GetMaxPointingDistance() float64 {
+ if x != nil {
+ return x.MaxPointingDistance
+ }
+ return 0
+}
+
+func (x *DishGetEmcResponse) GetDistanceScalingFactor() float64 {
+ if x != nil {
+ return x.DistanceScalingFactor
+ }
+ return 0
+}
+
+func (x *DishGetEmcResponse) GetTxDutyCycleOverride() int32 {
+ if x != nil {
+ return x.TxDutyCycleOverride
+ }
+ return 0
+}
+
+func (x *DishGetEmcResponse) GetRxDutyCycleOverride() int32 {
+ if x != nil {
+ return x.RxDutyCycleOverride
+ }
+ return 0
+}
+
+func (x *DishGetEmcResponse) GetTxTimeMs() float32 {
+ if x != nil {
+ return x.TxTimeMs
+ }
+ return 0
+}
+
+func (x *DishGetEmcResponse) GetRxTimeMs() float32 {
+ if x != nil {
+ return x.RxTimeMs
+ }
+ return 0
+}
+
+func (x *DishGetEmcResponse) GetEirpLegalLimitDbw() float64 {
+ if x != nil {
+ return x.EirpLegalLimitDbw
+ }
+ return 0
+}
+
+func (x *DishGetEmcResponse) GetEirpLegalLimitDbwOverride() float64 {
+ if x != nil {
+ return x.EirpLegalLimitDbwOverride
+ }
+ return 0
+}
+
+type GetPersistentStatsRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *GetPersistentStatsRequest) Reset() {
+ *x = GetPersistentStatsRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_device_proto_msgTypes[47]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetPersistentStatsRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetPersistentStatsRequest) ProtoMessage() {}
+
+func (x *GetPersistentStatsRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_device_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 GetPersistentStatsRequest.ProtoReflect.Descriptor instead.
+func (*GetPersistentStatsRequest) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_device_proto_rawDescGZIP(), []int{47}
+}
+
+type StartSpeedtestRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *StartSpeedtestRequest) Reset() {
+ *x = StartSpeedtestRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_device_proto_msgTypes[48]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *StartSpeedtestRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*StartSpeedtestRequest) ProtoMessage() {}
+
+func (x *StartSpeedtestRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_device_proto_msgTypes[48]
+ 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 StartSpeedtestRequest.ProtoReflect.Descriptor instead.
+func (*StartSpeedtestRequest) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_device_proto_rawDescGZIP(), []int{48}
+}
+
+type StartSpeedtestResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *StartSpeedtestResponse) Reset() {
+ *x = StartSpeedtestResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_device_proto_msgTypes[49]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *StartSpeedtestResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*StartSpeedtestResponse) ProtoMessage() {}
+
+func (x *StartSpeedtestResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_device_proto_msgTypes[49]
+ 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 StartSpeedtestResponse.ProtoReflect.Descriptor instead.
+func (*StartSpeedtestResponse) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_device_proto_rawDescGZIP(), []int{49}
+}
+
+type SpeedtestStatus struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Running bool `protobuf:"varint,1,opt,name=running,proto3" json:"running,omitempty"`
+ Id uint32 `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"`
+ Up *SpeedtestStatus_Direction `protobuf:"bytes,1000,opt,name=up,proto3" json:"up,omitempty"`
+ Down *SpeedtestStatus_Direction `protobuf:"bytes,1001,opt,name=down,proto3" json:"down,omitempty"`
+}
+
+func (x *SpeedtestStatus) Reset() {
+ *x = SpeedtestStatus{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_device_proto_msgTypes[50]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SpeedtestStatus) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SpeedtestStatus) ProtoMessage() {}
+
+func (x *SpeedtestStatus) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_device_proto_msgTypes[50]
+ 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 SpeedtestStatus.ProtoReflect.Descriptor instead.
+func (*SpeedtestStatus) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_device_proto_rawDescGZIP(), []int{50}
+}
+
+func (x *SpeedtestStatus) GetRunning() bool {
+ if x != nil {
+ return x.Running
+ }
+ return false
+}
+
+func (x *SpeedtestStatus) GetId() uint32 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+func (x *SpeedtestStatus) GetUp() *SpeedtestStatus_Direction {
+ if x != nil {
+ return x.Up
+ }
+ return nil
+}
+
+func (x *SpeedtestStatus) GetDown() *SpeedtestStatus_Direction {
+ if x != nil {
+ return x.Down
+ }
+ return nil
+}
+
+type GetSpeedtestStatusRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *GetSpeedtestStatusRequest) Reset() {
+ *x = GetSpeedtestStatusRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_device_proto_msgTypes[51]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetSpeedtestStatusRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetSpeedtestStatusRequest) ProtoMessage() {}
+
+func (x *GetSpeedtestStatusRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_device_proto_msgTypes[51]
+ 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 GetSpeedtestStatusRequest.ProtoReflect.Descriptor instead.
+func (*GetSpeedtestStatusRequest) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_device_proto_rawDescGZIP(), []int{51}
+}
+
+type GetSpeedtestStatusResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Status *SpeedtestStatus `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
+}
+
+func (x *GetSpeedtestStatusResponse) Reset() {
+ *x = GetSpeedtestStatusResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_device_proto_msgTypes[52]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetSpeedtestStatusResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetSpeedtestStatusResponse) ProtoMessage() {}
+
+func (x *GetSpeedtestStatusResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_device_proto_msgTypes[52]
+ 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 GetSpeedtestStatusResponse.ProtoReflect.Descriptor instead.
+func (*GetSpeedtestStatusResponse) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_device_proto_rawDescGZIP(), []int{52}
+}
+
+func (x *GetSpeedtestStatusResponse) GetStatus() *SpeedtestStatus {
+ if x != nil {
+ return x.Status
+ }
+ return nil
+}
+
+type ReportClientSpeedtestRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
+ ClientSpeedtest *SpeedTestStats `protobuf:"bytes,2,opt,name=client_speedtest,json=clientSpeedtest,proto3" json:"client_speedtest,omitempty"`
+ WifiSpeedtest *SpeedTestStats `protobuf:"bytes,5,opt,name=wifi_speedtest,json=wifiSpeedtest,proto3" json:"wifi_speedtest,omitempty"`
+ ClientRssi float32 `protobuf:"fixed32,3,opt,name=client_rssi,json=clientRssi,proto3" json:"client_rssi,omitempty"`
+ ClientPlatform *ClientPlatform `protobuf:"bytes,4,opt,name=client_platform,json=clientPlatform,proto3" json:"client_platform,omitempty"`
+}
+
+func (x *ReportClientSpeedtestRequest) Reset() {
+ *x = ReportClientSpeedtestRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_device_proto_msgTypes[53]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReportClientSpeedtestRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReportClientSpeedtestRequest) ProtoMessage() {}
+
+func (x *ReportClientSpeedtestRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_device_proto_msgTypes[53]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ReportClientSpeedtestRequest.ProtoReflect.Descriptor instead.
+func (*ReportClientSpeedtestRequest) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_device_proto_rawDescGZIP(), []int{53}
+}
+
+func (x *ReportClientSpeedtestRequest) GetId() uint32 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+func (x *ReportClientSpeedtestRequest) GetClientSpeedtest() *SpeedTestStats {
+ if x != nil {
+ return x.ClientSpeedtest
+ }
+ return nil
+}
+
+func (x *ReportClientSpeedtestRequest) GetWifiSpeedtest() *SpeedTestStats {
+ if x != nil {
+ return x.WifiSpeedtest
+ }
+ return nil
+}
+
+func (x *ReportClientSpeedtestRequest) GetClientRssi() float32 {
+ if x != nil {
+ return x.ClientRssi
+ }
+ return 0
+}
+
+func (x *ReportClientSpeedtestRequest) GetClientPlatform() *ClientPlatform {
+ if x != nil {
+ return x.ClientPlatform
+ }
+ return nil
+}
+
+type ReportClientSpeedtestResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *ReportClientSpeedtestResponse) Reset() {
+ *x = ReportClientSpeedtestResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_device_proto_msgTypes[54]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReportClientSpeedtestResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReportClientSpeedtestResponse) ProtoMessage() {}
+
+func (x *ReportClientSpeedtestResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_device_proto_msgTypes[54]
+ 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 ReportClientSpeedtestResponse.ProtoReflect.Descriptor instead.
+func (*ReportClientSpeedtestResponse) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_device_proto_rawDescGZIP(), []int{54}
+}
+
+type GetConnectionsResponse_ServiceConnection struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
+ SecondsSinceSuccess int32 `protobuf:"varint,2,opt,name=seconds_since_success,json=secondsSinceSuccess,proto3" json:"seconds_since_success,omitempty"`
+}
+
+func (x *GetConnectionsResponse_ServiceConnection) Reset() {
+ *x = GetConnectionsResponse_ServiceConnection{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_device_proto_msgTypes[56]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetConnectionsResponse_ServiceConnection) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetConnectionsResponse_ServiceConnection) ProtoMessage() {}
+
+func (x *GetConnectionsResponse_ServiceConnection) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_device_proto_msgTypes[56]
+ 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 GetConnectionsResponse_ServiceConnection.ProtoReflect.Descriptor instead.
+func (*GetConnectionsResponse_ServiceConnection) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_device_proto_rawDescGZIP(), []int{26, 0}
+}
+
+func (x *GetConnectionsResponse_ServiceConnection) GetAddress() string {
+ if x != nil {
+ return x.Address
+ }
+ return ""
+}
+
+func (x *GetConnectionsResponse_ServiceConnection) GetSecondsSinceSuccess() int32 {
+ if x != nil {
+ return x.SecondsSinceSuccess
+ }
+ return 0
+}
+
+type SpeedtestStatus_Direction struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ThroughputsMbps []float32 `protobuf:"fixed32,1,rep,packed,name=throughputs_mbps,json=throughputsMbps,proto3" json:"throughputs_mbps,omitempty"`
+ Err SpeedtestError `protobuf:"varint,2,opt,name=err,proto3,enum=SpaceX.API.Device.SpeedtestError" json:"err,omitempty"`
+}
+
+func (x *SpeedtestStatus_Direction) Reset() {
+ *x = SpeedtestStatus_Direction{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_device_proto_msgTypes[58]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SpeedtestStatus_Direction) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SpeedtestStatus_Direction) ProtoMessage() {}
+
+func (x *SpeedtestStatus_Direction) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_device_proto_msgTypes[58]
+ 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 SpeedtestStatus_Direction.ProtoReflect.Descriptor instead.
+func (*SpeedtestStatus_Direction) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_device_proto_rawDescGZIP(), []int{50, 0}
+}
+
+func (x *SpeedtestStatus_Direction) GetThroughputsMbps() []float32 {
+ if x != nil {
+ return x.ThroughputsMbps
+ }
+ return nil
+}
+
+func (x *SpeedtestStatus_Direction) GetErr() SpeedtestError {
+ if x != nil {
+ return x.Err
+ }
+ return SpeedtestError_SPEEDTEST_ERROR_NONE
+}
+
+var File_spacex_api_device_device_proto protoreflect.FileDescriptor
+
+var file_spacex_api_device_device_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x78, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76,
+ 0x69, 0x63, 0x65, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x11, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76,
+ 0x69, 0x63, 0x65, 0x1a, 0x25, 0x73, 0x70, 0x61, 0x63, 0x65, 0x78, 0x2f, 0x61, 0x70, 0x69, 0x2f,
+ 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2f, 0x73, 0x74,
+ 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x73, 0x70, 0x61, 0x63,
+ 0x65, 0x78, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x63, 0x6f,
+ 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x73, 0x70, 0x61,
+ 0x63, 0x65, 0x78, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x63,
+ 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x73, 0x70, 0x61,
+ 0x63, 0x65, 0x78, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x64,
+ 0x69, 0x73, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x73, 0x70, 0x61, 0x63, 0x65,
+ 0x78, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x74, 0x72, 0x61,
+ 0x6e, 0x73, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c,
+ 0x73, 0x70, 0x61, 0x63, 0x65, 0x78, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63,
+ 0x65, 0x2f, 0x77, 0x69, 0x66, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4d, 0x0a, 0x08,
+ 0x54, 0x6f, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x53, 0x70, 0x61, 0x63,
+ 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x84, 0x01, 0x0a, 0x0a,
+ 0x46, 0x72, 0x6f, 0x6d, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x39, 0x0a, 0x08, 0x72, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x53,
+ 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
+ 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50,
+ 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00,
+ 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61,
+ 0x67, 0x65, 0x22, 0x89, 0x22, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e,
+ 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x19,
+ 0x0a, 0x08, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x04,
+ 0x52, 0x07, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x61, 0x72,
+ 0x67, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x61,
+ 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, 0x12, 0x46, 0x0a, 0x0e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64,
+ 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d,
+ 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69,
+ 0x63, 0x65, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52,
+ 0x0d, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46,
+ 0x0a, 0x0b, 0x67, 0x65, 0x74, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xee, 0x07,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50,
+ 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74,
+ 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x09, 0x67, 0x65, 0x74,
+ 0x4e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x12, 0x4d, 0x0a, 0x0c, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e,
+ 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0xed, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e,
+ 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
+ 0x65, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74,
+ 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x5b, 0x0a, 0x12, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f,
+ 0x64, 0x65, 0x62, 0x75, 0x67, 0x5f, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x18, 0x8a, 0x08, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e,
+ 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x65, 0x62,
+ 0x75, 0x67, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00,
+ 0x52, 0x10, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x65, 0x62, 0x75, 0x67, 0x54, 0x65, 0x6c,
+ 0x65, 0x6d, 0x12, 0x4e, 0x0a, 0x0d, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x72, 0x65,
+ 0x73, 0x65, 0x74, 0x18, 0xf3, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x53, 0x70, 0x61,
+ 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x46,
+ 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73,
+ 0x65, 0x74, 0x12, 0x52, 0x0a, 0x0f, 0x67, 0x65, 0x74, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65,
+ 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xf0, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x53,
+ 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
+ 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x67, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69,
+ 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x48, 0x0a, 0x0b, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x69,
+ 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0xef, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x53,
+ 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
+ 0x2e, 0x47, 0x65, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x67, 0x65, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79,
+ 0x12, 0x3c, 0x0a, 0x07, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0xf4, 0x07, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e,
+ 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x06, 0x67, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x12, 0x67,
+ 0x0a, 0x16, 0x67, 0x65, 0x74, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x6e,
+ 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x18, 0xf7, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x2e, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76,
+ 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e,
+ 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48,
+ 0x00, 0x52, 0x14, 0x67, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x74,
+ 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x12, 0x3f, 0x0a, 0x08, 0x67, 0x65, 0x74, 0x5f, 0x70,
+ 0x69, 0x6e, 0x67, 0x18, 0xf1, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x53, 0x70, 0x61,
+ 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47,
+ 0x65, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52,
+ 0x07, 0x67, 0x65, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x42, 0x0a, 0x09, 0x70, 0x69, 0x6e, 0x67,
+ 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, 0xf8, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x53,
+ 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
+ 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x48, 0x00, 0x52, 0x08, 0x70, 0x69, 0x6e, 0x67, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x0a,
+ 0x67, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xec, 0x07, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x23, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44,
+ 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x09, 0x67, 0x65, 0x74, 0x53, 0x74, 0x61,
+ 0x74, 0x75, 0x73, 0x12, 0x3b, 0x0a, 0x06, 0x72, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x18, 0xe9, 0x07,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50,
+ 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x62, 0x6f, 0x6f, 0x74,
+ 0x12, 0x3c, 0x0a, 0x07, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x6b, 0x75, 0x18, 0xf5, 0x07, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e,
+ 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x6b, 0x75, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x06, 0x73, 0x65, 0x74, 0x53, 0x6b, 0x75, 0x12, 0x55,
+ 0x0a, 0x10, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6b, 0x65,
+ 0x79, 0x73, 0x18, 0xf2, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x53, 0x70, 0x61, 0x63,
+ 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x65,
+ 0x74, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x65, 0x74, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65,
+ 0x64, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x45, 0x0a, 0x0a, 0x73, 0x70, 0x65, 0x65, 0x64, 0x5f, 0x74,
+ 0x65, 0x73, 0x74, 0x18, 0xeb, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x53, 0x70, 0x61,
+ 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53,
+ 0x70, 0x65, 0x65, 0x64, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48,
+ 0x00, 0x52, 0x09, 0x73, 0x70, 0x65, 0x65, 0x64, 0x54, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x06,
+ 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0xf6, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e,
+ 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
+ 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48,
+ 0x00, 0x52, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x4b, 0x0a, 0x0c, 0x67, 0x65, 0x74,
+ 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xf9, 0x07, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x25, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65,
+ 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x67, 0x65, 0x74, 0x4c, 0x6f,
+ 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4c, 0x0a, 0x0d, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x65,
+ 0x61, 0x70, 0x5f, 0x64, 0x75, 0x6d, 0x70, 0x18, 0xfb, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25,
+ 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69,
+ 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x70, 0x44, 0x75, 0x6d, 0x70, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x67, 0x65, 0x74, 0x48, 0x65, 0x61, 0x70,
+ 0x44, 0x75, 0x6d, 0x70, 0x12, 0x54, 0x0a, 0x0f, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f,
+ 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x18, 0xfc, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28,
+ 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69,
+ 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f,
+ 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x74,
+ 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x35, 0x0a, 0x04, 0x66, 0x75,
+ 0x73, 0x65, 0x18, 0xfd, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x53, 0x70, 0x61, 0x63,
+ 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x46, 0x75,
+ 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x04, 0x66, 0x75, 0x73,
+ 0x65, 0x12, 0x61, 0x0a, 0x14, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74,
+ 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0xfe, 0x07, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x2c, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65,
+ 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65,
+ 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00,
+ 0x52, 0x12, 0x67, 0x65, 0x74, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x53,
+ 0x74, 0x61, 0x74, 0x73, 0x12, 0x54, 0x0a, 0x0f, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x6e,
+ 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xff, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28,
+ 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69,
+ 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+ 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x67, 0x65, 0x74, 0x43,
+ 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x54, 0x0a, 0x0f, 0x73, 0x74,
+ 0x61, 0x72, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x18, 0x83, 0x08,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50,
+ 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x53, 0x70,
+ 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00,
+ 0x52, 0x0e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74,
+ 0x12, 0x61, 0x0a, 0x14, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73,
+ 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x84, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x2c, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76,
+ 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74,
+ 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52,
+ 0x12, 0x67, 0x65, 0x74, 0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61,
+ 0x74, 0x75, 0x73, 0x12, 0x6a, 0x0a, 0x17, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x6c,
+ 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x18, 0x85,
+ 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41,
+ 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74,
+ 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x15, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74,
+ 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x12,
+ 0x5e, 0x0a, 0x13, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x6d, 0x6f,
+ 0x74, 0x65, 0x5f, 0x73, 0x73, 0x68, 0x18, 0x86, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e,
+ 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
+ 0x65, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65,
+ 0x53, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x11, 0x69, 0x6e,
+ 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x73, 0x68, 0x12,
+ 0x42, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x18, 0x87, 0x08, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49,
+ 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x65, 0x6c, 0x66, 0x54, 0x65, 0x73, 0x74,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x54,
+ 0x65, 0x73, 0x74, 0x12, 0x4c, 0x0a, 0x0d, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x5f,
+ 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x88, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x53, 0x70,
+ 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e,
+ 0x53, 0x65, 0x74, 0x54, 0x65, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x65, 0x74, 0x54, 0x65, 0x73, 0x74, 0x4d, 0x6f, 0x64,
+ 0x65, 0x12, 0x54, 0x0a, 0x0f, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x75, 0x70,
+ 0x64, 0x61, 0x74, 0x65, 0x18, 0x89, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x53, 0x70,
+ 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e,
+ 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72,
+ 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x42, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x68, 0x5f,
+ 0x73, 0x74, 0x6f, 0x77, 0x18, 0xd2, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x53, 0x70,
+ 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e,
+ 0x44, 0x69, 0x73, 0x68, 0x53, 0x74, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48,
+ 0x00, 0x52, 0x08, 0x64, 0x69, 0x73, 0x68, 0x53, 0x74, 0x6f, 0x77, 0x12, 0x5f, 0x0a, 0x14, 0x73,
+ 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x68, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x74,
+ 0x65, 0x73, 0x74, 0x18, 0xdc, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x53, 0x70, 0x61,
+ 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53,
+ 0x74, 0x61, 0x72, 0x74, 0x44, 0x69, 0x73, 0x68, 0x53, 0x65, 0x6c, 0x66, 0x54, 0x65, 0x73, 0x74,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x11, 0x73, 0x74, 0x61, 0x72, 0x74,
+ 0x44, 0x69, 0x73, 0x68, 0x53, 0x65, 0x6c, 0x66, 0x54, 0x65, 0x73, 0x74, 0x12, 0x55, 0x0a, 0x10,
+ 0x64, 0x69, 0x73, 0x68, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74,
+ 0x18, 0xd3, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58,
+ 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x68,
+ 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x69, 0x73, 0x68, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74,
+ 0x65, 0x78, 0x74, 0x12, 0x6b, 0x0a, 0x18, 0x64, 0x69, 0x73, 0x68, 0x5f, 0x67, 0x65, 0x74, 0x5f,
+ 0x6f, 0x62, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x70, 0x18,
+ 0xd8, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e,
+ 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x47,
+ 0x65, 0x74, 0x4f, 0x62, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x70,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x15, 0x64, 0x69, 0x73, 0x68, 0x47,
+ 0x65, 0x74, 0x4f, 0x62, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x70,
+ 0x12, 0x49, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x68, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x65, 0x6d, 0x63,
+ 0x18, 0xd7, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58,
+ 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x68,
+ 0x53, 0x65, 0x74, 0x45, 0x6d, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52,
+ 0x0a, 0x64, 0x69, 0x73, 0x68, 0x53, 0x65, 0x74, 0x45, 0x6d, 0x63, 0x12, 0x49, 0x0a, 0x0c, 0x64,
+ 0x69, 0x73, 0x68, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6d, 0x63, 0x18, 0xd9, 0x0f, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e,
+ 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x47, 0x65, 0x74, 0x45, 0x6d,
+ 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x64, 0x69, 0x73, 0x68,
+ 0x47, 0x65, 0x74, 0x45, 0x6d, 0x63, 0x12, 0x52, 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x68, 0x5f, 0x73,
+ 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0xda, 0x0f, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x27, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65,
+ 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66,
+ 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x64, 0x69, 0x73,
+ 0x68, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x52, 0x0a, 0x0f, 0x64, 0x69,
+ 0x73, 0x68, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0xdb, 0x0f,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50,
+ 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x47, 0x65, 0x74,
+ 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52,
+ 0x0d, 0x64, 0x69, 0x73, 0x68, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x77,
+ 0x0a, 0x1c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x66,
+ 0x5f, 0x6c, 0x6f, 0x6f, 0x70, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x18, 0xa1,
+ 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41,
+ 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63,
+ 0x65, 0x69, 0x76, 0x65, 0x72, 0x49, 0x46, 0x4c, 0x6f, 0x6f, 0x70, 0x62, 0x61, 0x63, 0x6b, 0x54,
+ 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x19, 0x74, 0x72,
+ 0x61, 0x6e, 0x73, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x49, 0x66, 0x4c, 0x6f, 0x6f, 0x70, 0x62,
+ 0x61, 0x63, 0x6b, 0x54, 0x65, 0x73, 0x74, 0x12, 0x67, 0x0a, 0x16, 0x74, 0x72, 0x61, 0x6e, 0x73,
+ 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75,
+ 0x73, 0x18, 0xa3, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65,
+ 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x54, 0x72, 0x61,
+ 0x6e, 0x73, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75,
+ 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x14, 0x74, 0x72, 0x61, 0x6e,
+ 0x73, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
+ 0x12, 0x70, 0x0a, 0x19, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x5f,
+ 0x67, 0x65, 0x74, 0x5f, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x18, 0xa4, 0x1f,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50,
+ 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x65,
+ 0x69, 0x76, 0x65, 0x72, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x17, 0x74, 0x72, 0x61, 0x6e, 0x73,
+ 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74,
+ 0x72, 0x79, 0x12, 0x55, 0x0a, 0x10, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x63,
+ 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, 0xba, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e,
+ 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
+ 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x77, 0x69, 0x66, 0x69, 0x47,
+ 0x65, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x61, 0x0a, 0x14, 0x77, 0x69, 0x66,
+ 0x69, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63,
+ 0x73, 0x18, 0xc0, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65,
+ 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66,
+ 0x69, 0x47, 0x65, 0x74, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x12, 0x77, 0x69, 0x66, 0x69, 0x47, 0x65,
+ 0x74, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, 0x62, 0x0a, 0x15,
+ 0x77, 0x69, 0x66, 0x69, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x65,
+ 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0xbf, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x53,
+ 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
+ 0x2e, 0x57, 0x69, 0x66, 0x69, 0x47, 0x65, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x72,
+ 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x12, 0x77, 0x69,
+ 0x66, 0x69, 0x47, 0x65, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73,
+ 0x12, 0x52, 0x0a, 0x0f, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e,
+ 0x66, 0x69, 0x67, 0x18, 0xb9, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x53, 0x70, 0x61,
+ 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57,
+ 0x69, 0x66, 0x69, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x77, 0x69, 0x66, 0x69, 0x53, 0x65, 0x74, 0x43, 0x6f,
+ 0x6e, 0x66, 0x69, 0x67, 0x12, 0x52, 0x0a, 0x0f, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x67, 0x65, 0x74,
+ 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0xc1, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27,
+ 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69,
+ 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x77, 0x69, 0x66, 0x69, 0x47,
+ 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x45, 0x0a, 0x0a, 0x77, 0x69, 0x66, 0x69,
+ 0x5f, 0x73, 0x65, 0x74, 0x75, 0x70, 0x18, 0xbb, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e,
+ 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
+ 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x53, 0x65, 0x74, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x48, 0x00, 0x52, 0x09, 0x77, 0x69, 0x66, 0x69, 0x53, 0x65, 0x74, 0x75, 0x70, 0x12,
+ 0x6f, 0x0a, 0x1a, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x68,
+ 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x18, 0xc4, 0x17,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50,
+ 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x53, 0x65, 0x74,
+ 0x4d, 0x65, 0x73, 0x68, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x72, 0x75, 0x73, 0x74, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x16, 0x77, 0x69, 0x66, 0x69, 0x53, 0x65,
+ 0x74, 0x4d, 0x65, 0x73, 0x68, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x72, 0x75, 0x73, 0x74,
+ 0x12, 0x5f, 0x0a, 0x14, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6d, 0x65, 0x73,
+ 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0xc5, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x2b, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76,
+ 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x53, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x68, 0x43,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x11,
+ 0x77, 0x69, 0x66, 0x69, 0x53, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69,
+ 0x67, 0x12, 0x68, 0x0a, 0x17, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x6c,
+ 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0xc7, 0x17, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49,
+ 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x47, 0x65, 0x74, 0x43,
+ 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x14, 0x77, 0x69, 0x66, 0x69, 0x47, 0x65, 0x74, 0x43, 0x6c,
+ 0x69, 0x65, 0x6e, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x09, 0x0a, 0x07, 0x72,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4a, 0x06, 0x08, 0xfa, 0x07, 0x10, 0xfb, 0x07, 0x4a, 0x06,
+ 0x08, 0x81, 0x08, 0x10, 0x82, 0x08, 0x4a, 0x06, 0x08, 0x82, 0x08, 0x10, 0x83, 0x08, 0x4a, 0x06,
+ 0x08, 0xc3, 0x17, 0x10, 0xc4, 0x17, 0x4a, 0x06, 0x08, 0xc6, 0x17, 0x10, 0xc7, 0x17, 0x22, 0xce,
+ 0x24, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69,
+ 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x31, 0x0a, 0x06, 0x73,
+ 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x53, 0x70,
+ 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e,
+ 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f,
+ 0x0a, 0x0b, 0x61, 0x70, 0x69, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12,
+ 0x47, 0x0a, 0x0b, 0x67, 0x65, 0x74, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xee,
+ 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41,
+ 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x78,
+ 0x74, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x09, 0x67,
+ 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x12, 0x5c, 0x0a, 0x12, 0x65, 0x6e, 0x61, 0x62,
+ 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x62, 0x75, 0x67, 0x5f, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x18, 0x8a,
+ 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41,
+ 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
+ 0x44, 0x65, 0x62, 0x75, 0x67, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x48, 0x00, 0x52, 0x10, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x65, 0x62, 0x75,
+ 0x67, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x12, 0x4f, 0x0a, 0x0d, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72,
+ 0x79, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x18, 0xf3, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27,
+ 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69,
+ 0x63, 0x65, 0x2e, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x66, 0x61, 0x63, 0x74, 0x6f,
+ 0x72, 0x79, 0x52, 0x65, 0x73, 0x65, 0x74, 0x12, 0x53, 0x0a, 0x0f, 0x67, 0x65, 0x74, 0x5f, 0x64,
+ 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xec, 0x07, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x28, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44,
+ 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49,
+ 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x67,
+ 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3d, 0x0a, 0x07,
+ 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0xf4, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21,
+ 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69,
+ 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x48, 0x00, 0x52, 0x06, 0x67, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x12, 0x68, 0x0a, 0x16, 0x67,
+ 0x65, 0x74, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72,
+ 0x66, 0x61, 0x63, 0x65, 0x73, 0x18, 0xf7, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x53,
+ 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
+ 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72,
+ 0x66, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52,
+ 0x14, 0x67, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72,
+ 0x66, 0x61, 0x63, 0x65, 0x73, 0x12, 0x40, 0x0a, 0x08, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x69, 0x6e,
+ 0x67, 0x18, 0xf1, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65,
+ 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74,
+ 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x07,
+ 0x67, 0x65, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x43, 0x0a, 0x09, 0x70, 0x69, 0x6e, 0x67, 0x5f,
+ 0x68, 0x6f, 0x73, 0x74, 0x18, 0xf8, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x53, 0x70,
+ 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e,
+ 0x50, 0x69, 0x6e, 0x67, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x48, 0x00, 0x52, 0x08, 0x70, 0x69, 0x6e, 0x67, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x06,
+ 0x72, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x18, 0xe9, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e,
+ 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
+ 0x65, 0x2e, 0x52, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x12, 0x46, 0x0a, 0x0a, 0x73, 0x70,
+ 0x65, 0x65, 0x64, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x18, 0xeb, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x24, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76,
+ 0x69, 0x63, 0x65, 0x2e, 0x53, 0x70, 0x65, 0x65, 0x64, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x09, 0x73, 0x70, 0x65, 0x65, 0x64, 0x54, 0x65,
+ 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x07, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x6b, 0x75, 0x18, 0xf5, 0x07,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50,
+ 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x6b, 0x75, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x06, 0x73, 0x65, 0x74, 0x53, 0x6b,
+ 0x75, 0x12, 0x56, 0x0a, 0x10, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64,
+ 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0xf2, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x53,
+ 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
+ 0x2e, 0x53, 0x65, 0x74, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x65, 0x74, 0x54, 0x72,
+ 0x75, 0x73, 0x74, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x3c, 0x0a, 0x06, 0x75, 0x70, 0x64,
+ 0x61, 0x74, 0x65, 0x18, 0xf6, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x53, 0x70, 0x61,
+ 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55,
+ 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52,
+ 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x4c, 0x0a, 0x0c, 0x67, 0x65, 0x74, 0x5f, 0x6c,
+ 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xf9, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26,
+ 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69,
+ 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x67, 0x65, 0x74, 0x4c, 0x6f, 0x63,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x0d, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x65, 0x61,
+ 0x70, 0x5f, 0x64, 0x75, 0x6d, 0x70, 0x18, 0xfb, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e,
+ 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
+ 0x65, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x70, 0x44, 0x75, 0x6d, 0x70, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x67, 0x65, 0x74, 0x48, 0x65, 0x61, 0x70,
+ 0x44, 0x75, 0x6d, 0x70, 0x12, 0x55, 0x0a, 0x0f, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f,
+ 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x18, 0xfc, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29,
+ 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69,
+ 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f,
+ 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x72, 0x65, 0x73,
+ 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x36, 0x0a, 0x04, 0x66,
+ 0x75, 0x73, 0x65, 0x18, 0xfd, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x53, 0x70, 0x61,
+ 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x46,
+ 0x75, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x04, 0x66,
+ 0x75, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x0f, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xff, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e,
+ 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
+ 0x65, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x67, 0x65, 0x74, 0x43,
+ 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x55, 0x0a, 0x0f, 0x73, 0x74,
+ 0x61, 0x72, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x18, 0x83, 0x08,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50,
+ 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x53, 0x70,
+ 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48,
+ 0x00, 0x52, 0x0e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73,
+ 0x74, 0x12, 0x62, 0x0a, 0x14, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65,
+ 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x84, 0x08, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x2d, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65,
+ 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73,
+ 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48,
+ 0x00, 0x52, 0x12, 0x67, 0x65, 0x74, 0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x53,
+ 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x6b, 0x0a, 0x17, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f,
+ 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74,
+ 0x18, 0x85, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58,
+ 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f,
+ 0x72, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73,
+ 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x15, 0x72, 0x65, 0x70,
+ 0x6f, 0x72, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65,
+ 0x73, 0x74, 0x12, 0x5f, 0x0a, 0x13, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x72,
+ 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x73, 0x73, 0x68, 0x18, 0x86, 0x08, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x2c, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65,
+ 0x76, 0x69, 0x63, 0x65, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x52, 0x65, 0x6d,
+ 0x6f, 0x74, 0x65, 0x53, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00,
+ 0x52, 0x11, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65,
+ 0x53, 0x73, 0x68, 0x12, 0x43, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x74, 0x65, 0x73, 0x74,
+ 0x18, 0x87, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58,
+ 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x65, 0x6c, 0x66,
+ 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x08,
+ 0x73, 0x65, 0x6c, 0x66, 0x54, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x0d, 0x73, 0x65, 0x74, 0x5f,
+ 0x74, 0x65, 0x73, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x88, 0x08, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x26, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65,
+ 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x65, 0x74, 0x54, 0x65, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x65, 0x74, 0x54,
+ 0x65, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x55, 0x0a, 0x0f, 0x73, 0x6f, 0x66, 0x74, 0x77,
+ 0x61, 0x72, 0x65, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x89, 0x08, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x29, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44,
+ 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x55, 0x70,
+ 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0e,
+ 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x5b,
+ 0x0a, 0x11, 0x64, 0x69, 0x73, 0x68, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63,
+ 0x61, 0x74, 0x65, 0x18, 0xd5, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x53, 0x70, 0x61,
+ 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44,
+ 0x69, 0x73, 0x68, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x10, 0x64, 0x69, 0x73, 0x68, 0x41,
+ 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x56, 0x0a, 0x10, 0x64,
+ 0x69, 0x73, 0x68, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18,
+ 0xd3, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e,
+ 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x47,
+ 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x69, 0x73, 0x68, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74,
+ 0x65, 0x78, 0x74, 0x12, 0x56, 0x0a, 0x10, 0x64, 0x69, 0x73, 0x68, 0x5f, 0x67, 0x65, 0x74, 0x5f,
+ 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0xd6, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29,
+ 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69,
+ 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x47, 0x65, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72,
+ 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x69, 0x73,
+ 0x68, 0x47, 0x65, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x53, 0x0a, 0x0f, 0x64,
+ 0x69, 0x73, 0x68, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xd4,
+ 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41,
+ 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x47, 0x65,
+ 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48,
+ 0x00, 0x52, 0x0d, 0x64, 0x69, 0x73, 0x68, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
+ 0x12, 0x6c, 0x0a, 0x18, 0x64, 0x69, 0x73, 0x68, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x6f, 0x62, 0x73,
+ 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0xd8, 0x0f, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49,
+ 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x47, 0x65, 0x74, 0x4f,
+ 0x62, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x15, 0x64, 0x69, 0x73, 0x68, 0x47, 0x65, 0x74,
+ 0x4f, 0x62, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x70, 0x12, 0x43,
+ 0x0a, 0x09, 0x64, 0x69, 0x73, 0x68, 0x5f, 0x73, 0x74, 0x6f, 0x77, 0x18, 0xd2, 0x0f, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e,
+ 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x53, 0x74, 0x6f, 0x77, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x08, 0x64, 0x69, 0x73, 0x68, 0x53,
+ 0x74, 0x6f, 0x77, 0x12, 0x60, 0x0a, 0x14, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x69, 0x73,
+ 0x68, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x18, 0xdc, 0x0f, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e,
+ 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x44, 0x69, 0x73, 0x68,
+ 0x53, 0x65, 0x6c, 0x66, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x48, 0x00, 0x52, 0x11, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x69, 0x73, 0x68, 0x53, 0x65, 0x6c,
+ 0x66, 0x54, 0x65, 0x73, 0x74, 0x12, 0x4a, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x68, 0x5f, 0x73, 0x65,
+ 0x74, 0x5f, 0x65, 0x6d, 0x63, 0x18, 0xd7, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x53,
+ 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
+ 0x2e, 0x44, 0x69, 0x73, 0x68, 0x53, 0x65, 0x74, 0x45, 0x6d, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x64, 0x69, 0x73, 0x68, 0x53, 0x65, 0x74, 0x45, 0x6d,
+ 0x63, 0x12, 0x4a, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x68, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6d,
+ 0x63, 0x18, 0xd9, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65,
+ 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73,
+ 0x68, 0x47, 0x65, 0x74, 0x45, 0x6d, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48,
+ 0x00, 0x52, 0x0a, 0x64, 0x69, 0x73, 0x68, 0x47, 0x65, 0x74, 0x45, 0x6d, 0x63, 0x12, 0x53, 0x0a,
+ 0x0f, 0x64, 0x69, 0x73, 0x68, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+ 0x18, 0xda, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58,
+ 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x68,
+ 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x48, 0x00, 0x52, 0x0d, 0x64, 0x69, 0x73, 0x68, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66,
+ 0x69, 0x67, 0x12, 0x53, 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x68, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x63,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0xdb, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x53,
+ 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
+ 0x2e, 0x44, 0x69, 0x73, 0x68, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x64, 0x69, 0x73, 0x68, 0x47, 0x65,
+ 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x78, 0x0a, 0x1c, 0x74, 0x72, 0x61, 0x6e, 0x73,
+ 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x66, 0x5f, 0x6c, 0x6f, 0x6f, 0x70, 0x62, 0x61,
+ 0x63, 0x6b, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x18, 0xa1, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34,
+ 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69,
+ 0x63, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x49, 0x46,
+ 0x4c, 0x6f, 0x6f, 0x70, 0x62, 0x61, 0x63, 0x6b, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x19, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x65, 0x69,
+ 0x76, 0x65, 0x72, 0x49, 0x66, 0x4c, 0x6f, 0x6f, 0x70, 0x62, 0x61, 0x63, 0x6b, 0x54, 0x65, 0x73,
+ 0x74, 0x12, 0x68, 0x0a, 0x16, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72,
+ 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xa3, 0x1f, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e,
+ 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x65, 0x69, 0x76,
+ 0x65, 0x72, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x14, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x65, 0x69, 0x76,
+ 0x65, 0x72, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x71, 0x0a, 0x19, 0x74,
+ 0x72, 0x61, 0x6e, 0x73, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x74,
+ 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x18, 0xa4, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x32, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76,
+ 0x69, 0x63, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x47,
+ 0x65, 0x74, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x17, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x65, 0x69, 0x76,
+ 0x65, 0x72, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x12, 0x5b,
+ 0x0a, 0x11, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63,
+ 0x61, 0x74, 0x65, 0x18, 0xbd, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x53, 0x70, 0x61,
+ 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57,
+ 0x69, 0x66, 0x69, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x10, 0x77, 0x69, 0x66, 0x69, 0x41,
+ 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x56, 0x0a, 0x10, 0x77,
+ 0x69, 0x66, 0x69, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18,
+ 0xba, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e,
+ 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x47,
+ 0x65, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x48, 0x00, 0x52, 0x0e, 0x77, 0x69, 0x66, 0x69, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x69, 0x65,
+ 0x6e, 0x74, 0x73, 0x12, 0x62, 0x0a, 0x14, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x67, 0x65, 0x74, 0x5f,
+ 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x18, 0xc0, 0x17, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e,
+ 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x47, 0x65, 0x74, 0x44, 0x69,
+ 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x48, 0x00, 0x52, 0x12, 0x77, 0x69, 0x66, 0x69, 0x47, 0x65, 0x74, 0x44, 0x69, 0x61, 0x67,
+ 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, 0x56, 0x0a, 0x10, 0x77, 0x69, 0x66, 0x69, 0x5f,
+ 0x67, 0x65, 0x74, 0x5f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0xbe, 0x17, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e,
+ 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x47, 0x65, 0x74, 0x48, 0x69,
+ 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52,
+ 0x0e, 0x77, 0x69, 0x66, 0x69, 0x47, 0x65, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12,
+ 0x63, 0x0a, 0x15, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x69, 0x6e, 0x67,
+ 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0xbf, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x2d, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76,
+ 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x47, 0x65, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x4d,
+ 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00,
+ 0x52, 0x12, 0x77, 0x69, 0x66, 0x69, 0x47, 0x65, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74,
+ 0x72, 0x69, 0x63, 0x73, 0x12, 0x53, 0x0a, 0x0f, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x67, 0x65, 0x74,
+ 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xbc, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28,
+ 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69,
+ 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x77, 0x69, 0x66, 0x69,
+ 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x53, 0x0a, 0x0f, 0x77, 0x69, 0x66,
+ 0x69, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0xb9, 0x17, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49,
+ 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x53, 0x65, 0x74, 0x43,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52,
+ 0x0d, 0x77, 0x69, 0x66, 0x69, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x53,
+ 0x0a, 0x0f, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69,
+ 0x67, 0x18, 0xc1, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65,
+ 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66,
+ 0x69, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x77, 0x69, 0x66, 0x69, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e,
+ 0x66, 0x69, 0x67, 0x12, 0x46, 0x0a, 0x0a, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x73, 0x65, 0x74, 0x75,
+ 0x70, 0x18, 0xbb, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65,
+ 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66,
+ 0x69, 0x53, 0x65, 0x74, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00,
+ 0x52, 0x09, 0x77, 0x69, 0x66, 0x69, 0x53, 0x65, 0x74, 0x75, 0x70, 0x12, 0x6f, 0x0a, 0x19, 0x77,
+ 0x69, 0x66, 0x69, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65,
+ 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0xce, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x31, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76,
+ 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x73, 0x69,
+ 0x73, 0x74, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x48, 0x00, 0x52, 0x16, 0x77, 0x69, 0x66, 0x69, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72,
+ 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x70, 0x0a, 0x1a,
+ 0x77, 0x69, 0x66, 0x69, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x68, 0x5f, 0x64, 0x65,
+ 0x76, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x18, 0xc4, 0x17, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x31, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44,
+ 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x53, 0x65, 0x74, 0x4d, 0x65, 0x73,
+ 0x68, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x72, 0x75, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x16, 0x77, 0x69, 0x66, 0x69, 0x53, 0x65, 0x74, 0x4d,
+ 0x65, 0x73, 0x68, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x72, 0x75, 0x73, 0x74, 0x12, 0x60,
+ 0x0a, 0x14, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x68, 0x5f,
+ 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0xc5, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e,
+ 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
+ 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x53, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x68, 0x43, 0x6f, 0x6e,
+ 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x11, 0x77,
+ 0x69, 0x66, 0x69, 0x53, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+ 0x12, 0x69, 0x0a, 0x17, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x6c, 0x69,
+ 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0xc7, 0x17, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e,
+ 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x47, 0x65, 0x74, 0x43, 0x6c,
+ 0x69, 0x65, 0x6e, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x14, 0x77, 0x69, 0x66, 0x69, 0x47, 0x65, 0x74, 0x43, 0x6c,
+ 0x69, 0x65, 0x6e, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x0a, 0x0a, 0x08, 0x72,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4a, 0x06, 0x08, 0xfa, 0x07, 0x10, 0xfb, 0x07, 0x4a,
+ 0x06, 0x08, 0x82, 0x08, 0x10, 0x83, 0x08, 0x4a, 0x06, 0x08, 0xe9, 0x0f, 0x10, 0xea, 0x0f, 0x4a,
+ 0x06, 0x08, 0xc3, 0x17, 0x10, 0xc4, 0x17, 0x4a, 0x06, 0x08, 0xc6, 0x17, 0x10, 0xc7, 0x17, 0x22,
+ 0xab, 0x02, 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x6c, 0x0a, 0x19, 0x77, 0x69, 0x66,
+ 0x69, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e,
+ 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0xb9, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e,
+ 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
+ 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x4e, 0x65, 0x77, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43,
+ 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52,
+ 0x16, 0x77, 0x69, 0x66, 0x69, 0x4e, 0x65, 0x77, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f,
+ 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x5f, 0x0a, 0x14, 0x77, 0x69, 0x66, 0x69, 0x5f,
+ 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18,
+ 0xba, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e,
+ 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x41,
+ 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x45, 0x76, 0x65,
+ 0x6e, 0x74, 0x48, 0x00, 0x52, 0x12, 0x77, 0x69, 0x66, 0x69, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e,
+ 0x74, 0x42, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x4a, 0x0a, 0x0d, 0x77, 0x69, 0x66, 0x69,
+ 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x18, 0xbb, 0x17, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x23, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65,
+ 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x4e, 0x65, 0x77, 0x50, 0x65, 0x65, 0x72,
+ 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x77, 0x69, 0x66, 0x69, 0x4e, 0x65, 0x77,
+ 0x50, 0x65, 0x65, 0x72, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x38, 0x0a,
+ 0x17, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x65, 0x62, 0x75, 0x67, 0x54, 0x65, 0x6c, 0x65,
+ 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x75, 0x72, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x75,
+ 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x22, 0x1a, 0x0a, 0x18, 0x45, 0x6e, 0x61, 0x62, 0x6c,
+ 0x65, 0x44, 0x65, 0x62, 0x75, 0x67, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x22, 0x15, 0x0a, 0x13, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65,
+ 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x16, 0x0a, 0x14, 0x46, 0x61,
+ 0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x22, 0x0d, 0x0a, 0x0b, 0x46, 0x75, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x22, 0x0e, 0x0a, 0x0c, 0x46, 0x75, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x22, 0x13, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x0f, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x67,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x49, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4c, 0x6f,
+ 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x73,
+ 0x6c, 0x6f, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, 0x73, 0x6c, 0x6f,
+ 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x6c, 0x6f, 0x67,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x4c,
+ 0x6f, 0x67, 0x22, 0x10, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x22, 0xb7, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x50, 0x69, 0x6e, 0x67,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75,
+ 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x53, 0x70, 0x61, 0x63,
+ 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65,
+ 0x74, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65,
+ 0x73, 0x75, 0x6c, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75,
+ 0x6c, 0x74, 0x73, 0x1a, 0x59, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x33, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50,
+ 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73,
+ 0x75, 0x6c, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x2b,
+ 0x0a, 0x0f, 0x50, 0x69, 0x6e, 0x67, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x49, 0x0a, 0x10, 0x50,
+ 0x69, 0x6e, 0x67, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
+ 0x35, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x1d, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76,
+ 0x69, 0x63, 0x65, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06,
+ 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x12, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61,
+ 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x0f, 0x0a, 0x0d, 0x52, 0x65,
+ 0x62, 0x6f, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x10, 0x0a, 0x0e, 0x52,
+ 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x94, 0x01,
+ 0x0a, 0x0e, 0x53, 0x70, 0x65, 0x65, 0x64, 0x54, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73,
+ 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12,
+ 0x1f, 0x0a, 0x0b, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6d, 0x62, 0x70, 0x73, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x62, 0x70, 0x73,
+ 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6d, 0x62, 0x70,
+ 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61,
+ 0x64, 0x4d, 0x62, 0x70, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79,
+ 0x5f, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x6c, 0x61, 0x74, 0x65, 0x6e,
+ 0x63, 0x79, 0x4d, 0x73, 0x22, 0xda, 0x01, 0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50,
+ 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x46, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66,
+ 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x53, 0x70, 0x61, 0x63,
+ 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x6c,
+ 0x69, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x50, 0x6c, 0x61,
+ 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12,
+ 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x56, 0x65, 0x72,
+ 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x5f, 0x76, 0x65,
+ 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x6d, 0x69, 0x6e,
+ 0x6f, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x36, 0x0a, 0x08, 0x50, 0x6c, 0x61,
+ 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e,
+ 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x49, 0x4f, 0x53, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x41,
+ 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x57, 0x45, 0x42, 0x10,
+ 0x03, 0x22, 0xdd, 0x01, 0x0a, 0x10, 0x53, 0x70, 0x65, 0x65, 0x64, 0x54, 0x65, 0x73, 0x74, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x4c, 0x0a, 0x10, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
+ 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x21, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65,
+ 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x70, 0x65, 0x65, 0x64, 0x54, 0x65, 0x73, 0x74, 0x53, 0x74,
+ 0x61, 0x74, 0x73, 0x52, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x65, 0x64,
+ 0x74, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x72,
+ 0x73, 0x73, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e,
+ 0x74, 0x52, 0x73, 0x73, 0x69, 0x12, 0x4a, 0x0a, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f,
+ 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21,
+ 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69,
+ 0x63, 0x65, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
+ 0x6d, 0x52, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
+ 0x6d, 0x22, 0xf5, 0x05, 0x0a, 0x11, 0x53, 0x70, 0x65, 0x65, 0x64, 0x54, 0x65, 0x73, 0x74, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x0c, 0x64, 0x6f, 0x77, 0x6e, 0x6c,
+ 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x70, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x02, 0x18,
+ 0x01, 0x52, 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x70, 0x73, 0x12, 0x21,
+ 0x0a, 0x0a, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x70, 0x73, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x02, 0x42, 0x02, 0x18, 0x01, 0x52, 0x09, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x70,
+ 0x73, 0x12, 0x1f, 0x0a, 0x09, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x73, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x02, 0x42, 0x02, 0x18, 0x01, 0x52, 0x08, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63,
+ 0x79, 0x53, 0x12, 0x27, 0x0a, 0x0d, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6d,
+ 0x62, 0x70, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0c, 0x64,
+ 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x62, 0x70, 0x73, 0x12, 0x23, 0x0a, 0x0b, 0x75,
+ 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6d, 0x62, 0x70, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02,
+ 0x42, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x62, 0x70, 0x73,
+ 0x12, 0x21, 0x0a, 0x0a, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x6d, 0x73, 0x18, 0x06,
+ 0x20, 0x01, 0x28, 0x02, 0x42, 0x02, 0x18, 0x01, 0x52, 0x09, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63,
+ 0x79, 0x4d, 0x73, 0x12, 0x4c, 0x0a, 0x10, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x70,
+ 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e,
+ 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
+ 0x65, 0x2e, 0x53, 0x70, 0x65, 0x65, 0x64, 0x54, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73,
+ 0x52, 0x0f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73,
+ 0x74, 0x12, 0x36, 0x0a, 0x18, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6d, 0x62,
+ 0x70, 0x73, 0x5f, 0x31, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x18, 0x07, 0x20,
+ 0x01, 0x28, 0x02, 0x52, 0x14, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x62, 0x70,
+ 0x73, 0x31, 0x54, 0x63, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x12, 0x32, 0x0a, 0x16, 0x75, 0x70, 0x6c,
+ 0x6f, 0x61, 0x64, 0x5f, 0x6d, 0x62, 0x70, 0x73, 0x5f, 0x31, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x63,
+ 0x6f, 0x6e, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x02, 0x52, 0x12, 0x75, 0x70, 0x6c, 0x6f, 0x61,
+ 0x64, 0x4d, 0x62, 0x70, 0x73, 0x31, 0x54, 0x63, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x12, 0x36, 0x0a,
+ 0x18, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6d, 0x62, 0x70, 0x73, 0x5f, 0x34,
+ 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x52,
+ 0x14, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x62, 0x70, 0x73, 0x34, 0x54, 0x63,
+ 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x12, 0x32, 0x0a, 0x16, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f,
+ 0x6d, 0x62, 0x70, 0x73, 0x5f, 0x34, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x18,
+ 0x0a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x12, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x62, 0x70,
+ 0x73, 0x34, 0x54, 0x63, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x12, 0x38, 0x0a, 0x19, 0x64, 0x6f, 0x77,
+ 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6d, 0x62, 0x70, 0x73, 0x5f, 0x31, 0x36, 0x5f, 0x74, 0x63,
+ 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x02, 0x52, 0x15, 0x64, 0x6f,
+ 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x62, 0x70, 0x73, 0x31, 0x36, 0x54, 0x63, 0x70, 0x43,
+ 0x6f, 0x6e, 0x6e, 0x12, 0x34, 0x0a, 0x17, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6d, 0x62,
+ 0x70, 0x73, 0x5f, 0x31, 0x36, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x18, 0x0c,
+ 0x20, 0x01, 0x28, 0x02, 0x52, 0x13, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x62, 0x70, 0x73,
+ 0x31, 0x36, 0x54, 0x63, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x12, 0x38, 0x0a, 0x19, 0x64, 0x6f, 0x77,
+ 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6d, 0x62, 0x70, 0x73, 0x5f, 0x36, 0x34, 0x5f, 0x74, 0x63,
+ 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x02, 0x52, 0x15, 0x64, 0x6f,
+ 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x62, 0x70, 0x73, 0x36, 0x34, 0x54, 0x63, 0x70, 0x43,
+ 0x6f, 0x6e, 0x6e, 0x12, 0x34, 0x0a, 0x17, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6d, 0x62,
+ 0x70, 0x73, 0x5f, 0x36, 0x34, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x18, 0x0e,
+ 0x20, 0x01, 0x28, 0x02, 0x52, 0x13, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x62, 0x70, 0x73,
+ 0x36, 0x34, 0x54, 0x63, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x22, 0x17, 0x0a, 0x15, 0x47, 0x65, 0x74,
+ 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x22, 0xca, 0x02, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63,
+ 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a,
+ 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x37, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76,
+ 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f,
+ 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69,
+ 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
+ 0x65, 0x73, 0x1a, 0x61, 0x0a, 0x11, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e,
+ 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65,
+ 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73,
+ 0x73, 0x12, 0x32, 0x0a, 0x15, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x73, 0x69, 0x6e,
+ 0x63, 0x65, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x13, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x53, 0x75,
+ 0x63, 0x63, 0x65, 0x73, 0x73, 0x1a, 0x78, 0x0a, 0x0d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
+ 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x51, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58,
+ 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x43,
+ 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63,
+ 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22,
+ 0x16, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x57, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x44, 0x65,
+ 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x12, 0x3e, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41,
+ 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
+ 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x22, 0x49, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x4b, 0x65,
+ 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x04, 0x6b, 0x65, 0x79,
+ 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58,
+ 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x50, 0x75, 0x62, 0x6c,
+ 0x69, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x22, 0x18, 0x0a, 0x16, 0x53,
+ 0x65, 0x74, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xca, 0x01, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x53, 0x6b, 0x75,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x6b, 0x75, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x6b, 0x75, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x75,
+ 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x2c, 0x0a, 0x12,
+ 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x43,
+ 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x69,
+ 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x70, 0x69, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79,
+ 0x43, 0x6f, 0x64, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x70,
+ 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x10, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x54, 0x61, 0x62,
+ 0x6c, 0x65, 0x22, 0x10, 0x0a, 0x0e, 0x53, 0x65, 0x74, 0x53, 0x6b, 0x75, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x0f, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x10, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x17, 0x0a, 0x15, 0x52, 0x65, 0x73, 0x74, 0x61,
+ 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x22, 0x18, 0x0a, 0x16, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72,
+ 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1d, 0x0a, 0x1b, 0x47, 0x65,
+ 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63,
+ 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x73, 0x0a, 0x1c, 0x47, 0x65, 0x74,
+ 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65,
+ 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x12, 0x6e, 0x65, 0x74,
+ 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x18,
+ 0xee, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e,
+ 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f,
+ 0x72, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, 0x11, 0x6e, 0x65, 0x74,
+ 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x22, 0x14,
+ 0x0a, 0x12, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x70, 0x44, 0x75, 0x6d, 0x70, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x22, 0x32, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x70, 0x44,
+ 0x75, 0x6d, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x68,
+ 0x65, 0x61, 0x70, 0x5f, 0x64, 0x75, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
+ 0x68, 0x65, 0x61, 0x70, 0x44, 0x75, 0x6d, 0x70, 0x22, 0x4f, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4c,
+ 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39,
+ 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21,
+ 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69,
+ 0x63, 0x65, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xa7, 0x01, 0x0a, 0x13, 0x47, 0x65,
+ 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x12, 0x30, 0x0a, 0x03, 0x6c, 0x6c, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e,
+ 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69,
+ 0x63, 0x65, 0x2e, 0x4c, 0x4c, 0x41, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x03,
+ 0x6c, 0x6c, 0x61, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x69, 0x67, 0x6d, 0x61, 0x5f, 0x6d, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x73, 0x69, 0x67, 0x6d, 0x61, 0x4d, 0x12, 0x39, 0x0a, 0x06,
+ 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x53,
+ 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
+ 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52,
+ 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x52, 0x04, 0x65,
+ 0x63, 0x65, 0x66, 0x22, 0xf7, 0x07, 0x0a, 0x11, 0x44, 0x69, 0x73, 0x68, 0x53, 0x65, 0x74, 0x45,
+ 0x6d, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x68, 0x65,
+ 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x74, 0x68, 0x65, 0x74, 0x61, 0x12,
+ 0x10, 0x0a, 0x03, 0x70, 0x68, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x70, 0x68,
+ 0x69, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x78, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x06, 0x72, 0x78, 0x43, 0x68, 0x61, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78,
+ 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x78, 0x43,
+ 0x68, 0x61, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x12, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x74,
+ 0x69, 0x6c, 0x74, 0x5f, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, 0x52,
+ 0x10, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x54, 0x69, 0x6c, 0x74, 0x41, 0x6e, 0x67, 0x6c,
+ 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69,
+ 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x4f, 0x76,
+ 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x68, 0x65, 0x74, 0x61, 0x5f,
+ 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x74,
+ 0x68, 0x65, 0x74, 0x61, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x70,
+ 0x68, 0x69, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x0a, 0x70, 0x68, 0x69, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04,
+ 0x69, 0x64, 0x6c, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x64, 0x6c, 0x65,
+ 0x12, 0x25, 0x0a, 0x0e, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x69,
+ 0x6e, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x66, 0x61, 0x73, 0x74, 0x53, 0x77,
+ 0x69, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x6b, 0x79, 0x5f, 0x73,
+ 0x65, 0x61, 0x72, 0x63, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x6b, 0x79,
+ 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x28, 0x0a, 0x10, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f,
+ 0x70, 0x6c, 0x6c, 0x5f, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x0e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x50, 0x6c, 0x6c, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b,
+ 0x12, 0x2c, 0x0a, 0x12, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x65, 0x69, 0x72, 0x70, 0x5f, 0x66,
+ 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x66, 0x6f,
+ 0x72, 0x63, 0x65, 0x45, 0x69, 0x72, 0x70, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x12, 0x30,
+ 0x0a, 0x14, 0x73, 0x6e, 0x6f, 0x77, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x76,
+ 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x73, 0x6e,
+ 0x6f, 0x77, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65,
+ 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x5f, 0x74, 0x69, 0x6c, 0x74, 0x69,
+ 0x6e, 0x67, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c,
+ 0x54, 0x69, 0x6c, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x69, 0x6c, 0x74, 0x5f,
+ 0x74, 0x6f, 0x5f, 0x73, 0x74, 0x6f, 0x77, 0x65, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x0c, 0x74, 0x69, 0x6c, 0x74, 0x54, 0x6f, 0x53, 0x74, 0x6f, 0x77, 0x65, 0x64, 0x12, 0x16, 0x0a,
+ 0x06, 0x72, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72,
+ 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75,
+ 0x6f, 0x75, 0x73, 0x5f, 0x6d, 0x6f, 0x74, 0x6f, 0x72, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x18, 0x15,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73,
+ 0x4d, 0x6f, 0x74, 0x6f, 0x72, 0x54, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x18, 0x64, 0x69, 0x73,
+ 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x6d,
+ 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x16, 0x20, 0x01, 0x28, 0x01, 0x52, 0x16, 0x64, 0x69, 0x73,
+ 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x4d, 0x65, 0x74,
+ 0x65, 0x72, 0x73, 0x12, 0x38, 0x0a, 0x18, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x74, 0x75, 0x64, 0x65,
+ 0x5f, 0x74, 0x61, 0x70, 0x65, 0x72, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18,
+ 0x17, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x74, 0x75, 0x64, 0x65,
+ 0x54, 0x61, 0x70, 0x65, 0x72, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x32, 0x0a,
+ 0x15, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x6f, 0x76,
+ 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x63, 0x6f,
+ 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64,
+ 0x65, 0x12, 0x33, 0x0a, 0x16, 0x74, 0x78, 0x5f, 0x64, 0x75, 0x74, 0x79, 0x5f, 0x63, 0x79, 0x63,
+ 0x6c, 0x65, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x13, 0x74, 0x78, 0x44, 0x75, 0x74, 0x79, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x4f, 0x76,
+ 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x33, 0x0a, 0x16, 0x72, 0x78, 0x5f, 0x64, 0x75, 0x74,
+ 0x79, 0x5f, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65,
+ 0x18, 0x1a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x72, 0x78, 0x44, 0x75, 0x74, 0x79, 0x43, 0x79,
+ 0x63, 0x6c, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x40, 0x0a, 0x1d, 0x65,
+ 0x69, 0x72, 0x70, 0x5f, 0x6c, 0x65, 0x67, 0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f,
+ 0x64, 0x62, 0x77, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x1b, 0x20, 0x01,
+ 0x28, 0x01, 0x52, 0x19, 0x65, 0x69, 0x72, 0x70, 0x4c, 0x65, 0x67, 0x61, 0x6c, 0x4c, 0x69, 0x6d,
+ 0x69, 0x74, 0x44, 0x62, 0x77, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x22, 0x14, 0x0a,
+ 0x12, 0x44, 0x69, 0x73, 0x68, 0x53, 0x65, 0x74, 0x45, 0x6d, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x22, 0x13, 0x0a, 0x11, 0x44, 0x69, 0x73, 0x68, 0x47, 0x65, 0x74, 0x45, 0x6d,
+ 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xc8, 0x12, 0x0a, 0x12, 0x44, 0x69, 0x73,
+ 0x68, 0x47, 0x65, 0x74, 0x45, 0x6d, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
+ 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75,
+ 0x75, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
+ 0x70, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x75, 0x70, 0x64, 0x61,
+ 0x74, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x70, 0x6c, 0x61, 0x6e,
+ 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x67, 0x70, 0x73, 0x5f,
+ 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b,
+ 0x67, 0x70, 0x73, 0x4c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x67,
+ 0x70, 0x73, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x11, 0x20, 0x01,
+ 0x28, 0x01, 0x52, 0x0c, 0x67, 0x70, 0x73, 0x4c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65,
+ 0x12, 0x19, 0x0a, 0x08, 0x67, 0x70, 0x73, 0x5f, 0x70, 0x64, 0x6f, 0x70, 0x18, 0x12, 0x20, 0x01,
+ 0x28, 0x01, 0x52, 0x07, 0x67, 0x70, 0x73, 0x50, 0x64, 0x6f, 0x70, 0x12, 0x17, 0x0a, 0x07, 0x72,
+ 0x66, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x66,
+ 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x68, 0x69, 0x18, 0x14, 0x20, 0x01, 0x28,
+ 0x01, 0x52, 0x03, 0x70, 0x68, 0x69, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x68, 0x65, 0x74, 0x61, 0x18,
+ 0x15, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x74, 0x68, 0x65, 0x74, 0x61, 0x12, 0x1d, 0x0a, 0x0a,
+ 0x72, 0x78, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x09, 0x72, 0x78, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x74,
+ 0x78, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x09, 0x74, 0x78, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1a, 0x0a, 0x09, 0x74, 0x5f,
+ 0x64, 0x62, 0x66, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x18, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x74,
+ 0x44, 0x62, 0x66, 0x4d, 0x61, 0x78, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x5f, 0x63, 0x65, 0x6e, 0x74,
+ 0x65, 0x72, 0x18, 0x19, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x74, 0x43, 0x65, 0x6e, 0x74, 0x65,
+ 0x72, 0x12, 0x3e, 0x0a, 0x1c, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f,
+ 0x73, 0x6e, 0x6f, 0x77, 0x5f, 0x6d, 0x65, 0x6c, 0x74, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65,
+ 0x64, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x61, 0x75, 0x74, 0x6f, 0x50, 0x6f, 0x77,
+ 0x65, 0x72, 0x53, 0x6e, 0x6f, 0x77, 0x4d, 0x65, 0x6c, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
+ 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x6f, 0x6c, 0x74, 0x61, 0x67, 0x65, 0x18, 0x20, 0x20, 0x01,
+ 0x28, 0x01, 0x52, 0x07, 0x76, 0x6f, 0x6c, 0x74, 0x61, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x72,
+ 0x78, 0x5f, 0x62, 0x65, 0x61, 0x6d, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x21, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x78, 0x42, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12,
+ 0x22, 0x0a, 0x0d, 0x74, 0x78, 0x5f, 0x62, 0x65, 0x61, 0x6d, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65,
+ 0x18, 0x22, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x74, 0x78, 0x42, 0x65, 0x61, 0x6d, 0x53, 0x74,
+ 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x64, 0x75, 0x70, 0x6c,
+ 0x65, 0x78, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f,
+ 0x68, 0x61, 0x6c, 0x66, 0x44, 0x75, 0x70, 0x6c, 0x65, 0x78, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12,
+ 0x2e, 0x0a, 0x13, 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x5f, 0x74, 0x69, 0x6c, 0x74, 0x5f, 0x65,
+ 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x24, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x6d, 0x61,
+ 0x6e, 0x75, 0x61, 0x6c, 0x54, 0x69, 0x6c, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12,
+ 0x1d, 0x0a, 0x0a, 0x74, 0x69, 0x6c, 0x74, 0x5f, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x18, 0x25, 0x20,
+ 0x01, 0x28, 0x01, 0x52, 0x09, 0x74, 0x69, 0x6c, 0x74, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x12, 0x2f,
+ 0x0a, 0x14, 0x70, 0x6c, 0x6c, 0x5f, 0x74, 0x78, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x64, 0x65,
+ 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x26, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x70, 0x6c,
+ 0x6c, 0x54, 0x78, 0x4c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12,
+ 0x36, 0x0a, 0x17, 0x65, 0x69, 0x72, 0x70, 0x5f, 0x65, 0x78, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64,
+ 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x27, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x15, 0x65, 0x69, 0x72, 0x70, 0x45, 0x78, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x54, 0x68,
+ 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x65, 0x69, 0x72, 0x70, 0x5f,
+ 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x28,
+ 0x20, 0x01, 0x28, 0x02, 0x52, 0x11, 0x65, 0x69, 0x72, 0x70, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x4f,
+ 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x69, 0x64, 0x6c, 0x65, 0x5f,
+ 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
+ 0x18, 0x29, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x69, 0x64, 0x6c, 0x65, 0x4f, 0x76, 0x65, 0x72,
+ 0x72, 0x69, 0x64, 0x65, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x34, 0x0a, 0x16, 0x74,
+ 0x68, 0x65, 0x74, 0x61, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x65, 0x6e,
+ 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x74, 0x68, 0x65,
+ 0x74, 0x61, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
+ 0x64, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x68, 0x65, 0x74, 0x61, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72,
+ 0x69, 0x64, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x01, 0x52,
+ 0x12, 0x74, 0x68, 0x65, 0x74, 0x61, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x56, 0x61,
+ 0x6c, 0x75, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x68, 0x69, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72,
+ 0x69, 0x64, 0x65, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x2c, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x12, 0x70, 0x68, 0x69, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x45, 0x6e,
+ 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x70, 0x68, 0x69, 0x5f, 0x6f, 0x76, 0x65,
+ 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x2d, 0x20, 0x01, 0x28,
+ 0x01, 0x52, 0x10, 0x70, 0x68, 0x69, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x56, 0x61,
+ 0x6c, 0x75, 0x65, 0x12, 0x33, 0x0a, 0x16, 0x72, 0x78, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x6f,
+ 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x2e, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x13, 0x72, 0x78, 0x43, 0x68, 0x61, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x72,
+ 0x69, 0x64, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x33, 0x0a, 0x16, 0x74, 0x78, 0x5f, 0x63,
+ 0x68, 0x61, 0x6e, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x74, 0x78, 0x43, 0x68, 0x61, 0x6e,
+ 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3d, 0x0a,
+ 0x1b, 0x73, 0x6b, 0x79, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x6f, 0x76, 0x65, 0x72,
+ 0x72, 0x69, 0x64, 0x65, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x30, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x18, 0x73, 0x6b, 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4f, 0x76, 0x65,
+ 0x72, 0x72, 0x69, 0x64, 0x65, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x34, 0x0a, 0x16,
+ 0x66, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x5f, 0x65,
+ 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x31, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x66, 0x61,
+ 0x73, 0x74, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x61, 0x62, 0x6c,
+ 0x65, 0x64, 0x12, 0x3a, 0x0a, 0x19, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
+ 0x32, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x17, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2c,
+ 0x0a, 0x12, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x65, 0x69, 0x72, 0x70, 0x5f, 0x66, 0x61, 0x69,
+ 0x6c, 0x75, 0x72, 0x65, 0x18, 0x33, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x66, 0x6f, 0x72, 0x63,
+ 0x65, 0x45, 0x69, 0x72, 0x70, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x12, 0x28, 0x0a, 0x10,
+ 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6c, 0x6c, 0x5f, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b,
+ 0x18, 0x34, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x50, 0x6c, 0x6c,
+ 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x24, 0x0a, 0x0e, 0x75, 0x74, 0x5f, 0x69, 0x6e, 0x65,
+ 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x35, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c,
+ 0x75, 0x74, 0x49, 0x6e, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x19, 0x0a, 0x08,
+ 0x72, 0x66, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x79, 0x18, 0x36, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07,
+ 0x72, 0x66, 0x52, 0x65, 0x61, 0x64, 0x79, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x69, 0x6c, 0x74, 0x5f,
+ 0x74, 0x6f, 0x5f, 0x73, 0x74, 0x6f, 0x77, 0x65, 0x64, 0x18, 0x37, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x0c, 0x74, 0x69, 0x6c, 0x74, 0x54, 0x6f, 0x53, 0x74, 0x6f, 0x77, 0x65, 0x64, 0x12, 0x16, 0x0a,
+ 0x06, 0x72, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x18, 0x38, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72,
+ 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75,
+ 0x6f, 0x75, 0x73, 0x5f, 0x6d, 0x6f, 0x74, 0x6f, 0x72, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x18, 0x39,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73,
+ 0x4d, 0x6f, 0x74, 0x6f, 0x72, 0x54, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x18, 0x64, 0x69, 0x73,
+ 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x6d,
+ 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x3a, 0x20, 0x01, 0x28, 0x01, 0x52, 0x16, 0x64, 0x69, 0x73,
+ 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x4d, 0x65, 0x74,
+ 0x65, 0x72, 0x73, 0x12, 0x38, 0x0a, 0x18, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x74, 0x75, 0x64, 0x65,
+ 0x5f, 0x74, 0x61, 0x70, 0x65, 0x72, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18,
+ 0x3b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x74, 0x75, 0x64, 0x65,
+ 0x54, 0x61, 0x70, 0x65, 0x72, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x36, 0x0a,
+ 0x17, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x74, 0x75, 0x64, 0x65, 0x5f, 0x74, 0x61, 0x70, 0x65, 0x72,
+ 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15,
+ 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x74, 0x75, 0x64, 0x65, 0x54, 0x61, 0x70, 0x65, 0x72, 0x45, 0x6e,
+ 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x74, 0x75,
+ 0x64, 0x65, 0x5f, 0x74, 0x61, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x3d,
+ 0x20, 0x01, 0x28, 0x01, 0x52, 0x13, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x74, 0x75, 0x64, 0x65, 0x54,
+ 0x61, 0x70, 0x65, 0x72, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x6f, 0x75,
+ 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69,
+ 0x64, 0x65, 0x18, 0x3e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72,
+ 0x79, 0x43, 0x6f, 0x64, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x32, 0x0a,
+ 0x15, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x69,
+ 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x3f, 0x20, 0x01, 0x28, 0x01, 0x52, 0x13, 0x6d, 0x61,
+ 0x78, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63,
+ 0x65, 0x12, 0x36, 0x0a, 0x17, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x63,
+ 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x40, 0x20, 0x01,
+ 0x28, 0x01, 0x52, 0x15, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x63, 0x61, 0x6c,
+ 0x69, 0x6e, 0x67, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x33, 0x0a, 0x16, 0x74, 0x78, 0x5f,
+ 0x64, 0x75, 0x74, 0x79, 0x5f, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72,
+ 0x69, 0x64, 0x65, 0x18, 0x41, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x74, 0x78, 0x44, 0x75, 0x74,
+ 0x79, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x33,
+ 0x0a, 0x16, 0x72, 0x78, 0x5f, 0x64, 0x75, 0x74, 0x79, 0x5f, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f,
+ 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x42, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13,
+ 0x72, 0x78, 0x44, 0x75, 0x74, 0x79, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72,
+ 0x69, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x0a, 0x74, 0x78, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d,
+ 0x73, 0x18, 0x43, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x74, 0x78, 0x54, 0x69, 0x6d, 0x65, 0x4d,
+ 0x73, 0x12, 0x1c, 0x0a, 0x0a, 0x72, 0x78, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18,
+ 0x44, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x72, 0x78, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x12,
+ 0x2f, 0x0a, 0x14, 0x65, 0x69, 0x72, 0x70, 0x5f, 0x6c, 0x65, 0x67, 0x61, 0x6c, 0x5f, 0x6c, 0x69,
+ 0x6d, 0x69, 0x74, 0x5f, 0x64, 0x62, 0x77, 0x18, 0x45, 0x20, 0x01, 0x28, 0x01, 0x52, 0x11, 0x65,
+ 0x69, 0x72, 0x70, 0x4c, 0x65, 0x67, 0x61, 0x6c, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x44, 0x62, 0x77,
+ 0x12, 0x40, 0x0a, 0x1d, 0x65, 0x69, 0x72, 0x70, 0x5f, 0x6c, 0x65, 0x67, 0x61, 0x6c, 0x5f, 0x6c,
+ 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x64, 0x62, 0x77, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64,
+ 0x65, 0x18, 0x46, 0x20, 0x01, 0x28, 0x01, 0x52, 0x19, 0x65, 0x69, 0x72, 0x70, 0x4c, 0x65, 0x67,
+ 0x61, 0x6c, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x44, 0x62, 0x77, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69,
+ 0x64, 0x65, 0x4a, 0x04, 0x08, 0x1a, 0x10, 0x1e, 0x52, 0x10, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69,
+ 0x6e, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x12, 0x61, 0x64, 0x64, 0x69,
+ 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x68, 0x65, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x0d,
+ 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x68, 0x65, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x14, 0x74,
+ 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x68, 0x65, 0x61, 0x74,
+ 0x69, 0x6e, 0x67, 0x22, 0x1b, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73,
+ 0x74, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x22, 0x17, 0x0a, 0x15, 0x53, 0x74, 0x61, 0x72, 0x74, 0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65,
+ 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x18, 0x0a, 0x16, 0x53, 0x74, 0x61,
+ 0x72, 0x74, 0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x22, 0xaa, 0x02, 0x0a, 0x0f, 0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73,
+ 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x75, 0x6e, 0x6e, 0x69,
+ 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e,
+ 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69,
+ 0x64, 0x12, 0x3d, 0x0a, 0x02, 0x75, 0x70, 0x18, 0xe8, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c,
+ 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69,
+ 0x63, 0x65, 0x2e, 0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74,
+ 0x75, 0x73, 0x2e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x02, 0x75, 0x70,
+ 0x12, 0x41, 0x0a, 0x04, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0xe9, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x2c, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76,
+ 0x69, 0x63, 0x65, 0x2e, 0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61,
+ 0x74, 0x75, 0x73, 0x2e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x64,
+ 0x6f, 0x77, 0x6e, 0x1a, 0x6b, 0x0a, 0x09, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+ 0x12, 0x29, 0x0a, 0x10, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x70, 0x75, 0x74, 0x73, 0x5f,
+ 0x6d, 0x62, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0f, 0x74, 0x68, 0x72, 0x6f,
+ 0x75, 0x67, 0x68, 0x70, 0x75, 0x74, 0x73, 0x4d, 0x62, 0x70, 0x73, 0x12, 0x33, 0x0a, 0x03, 0x65,
+ 0x72, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65,
+ 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x70, 0x65,
+ 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x03, 0x65, 0x72, 0x72,
+ 0x22, 0x1b, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74,
+ 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x58, 0x0a,
+ 0x1a, 0x47, 0x65, 0x74, 0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61,
+ 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x06, 0x73,
+ 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x53, 0x70,
0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e,
- 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69,
- 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x49, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x54, 0x72, 0x75,
- 0x73, 0x74, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
- 0x30, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
- 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
- 0x65, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x04, 0x6b, 0x65, 0x79,
- 0x73, 0x22, 0x18, 0x0a, 0x16, 0x53, 0x65, 0x74, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x4b,
- 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x72, 0x0a, 0x0d, 0x53,
- 0x65, 0x74, 0x53, 0x6b, 0x75, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03,
- 0x73, 0x6b, 0x75, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x6b, 0x75, 0x12, 0x21,
- 0x0a, 0x0c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x64,
- 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74,
- 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x61,
- 0x70, 0x70, 0x6c, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x22,
- 0x10, 0x0a, 0x0e, 0x53, 0x65, 0x74, 0x53, 0x6b, 0x75, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x22, 0x0f, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x22, 0x10, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1d, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f,
- 0x72, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x22, 0x73, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72,
- 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x12, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69,
- 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x18, 0xee, 0x07, 0x20, 0x03, 0x28, 0x0b,
- 0x32, 0x23, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65,
- 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x74, 0x65,
- 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, 0x11, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e,
- 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x32, 0x95, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x76,
- 0x69, 0x63, 0x65, 0x12, 0x48, 0x0a, 0x06, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x1b, 0x2e,
- 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
- 0x65, 0x2e, 0x54, 0x6f, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x1a, 0x1d, 0x2e, 0x53, 0x70, 0x61,
- 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x46,
- 0x72, 0x6f, 0x6d, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x28, 0x01, 0x30, 0x01, 0x12, 0x41, 0x0a,
- 0x06, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x1a, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58,
- 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49,
- 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x42, 0x17, 0x5a, 0x15, 0x73, 0x70, 0x61, 0x63, 0x65, 0x78, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61,
- 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
- 0x33,
+ 0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52,
+ 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xb3, 0x02, 0x0a, 0x1c, 0x52, 0x65, 0x70, 0x6f,
+ 0x72, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73,
+ 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x4c, 0x0a, 0x10, 0x63, 0x6c, 0x69, 0x65,
+ 0x6e, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e,
+ 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x70, 0x65, 0x65, 0x64, 0x54, 0x65, 0x73, 0x74,
+ 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65,
+ 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x0e, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x73,
+ 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21,
+ 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69,
+ 0x63, 0x65, 0x2e, 0x53, 0x70, 0x65, 0x65, 0x64, 0x54, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74,
+ 0x73, 0x52, 0x0d, 0x77, 0x69, 0x66, 0x69, 0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74,
+ 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x73, 0x73, 0x69, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x73, 0x73,
+ 0x69, 0x12, 0x4a, 0x0a, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x74,
+ 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x53, 0x70, 0x61,
+ 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43,
+ 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x0e, 0x63,
+ 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x1f, 0x0a,
+ 0x1d, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65,
+ 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2a, 0x56,
+ 0x0a, 0x0e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
+ 0x12, 0x08, 0x0a, 0x04, 0x41, 0x55, 0x54, 0x4f, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f,
+ 0x4e, 0x45, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x54, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x10,
+ 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0x03, 0x12,
+ 0x07, 0x0a, 0x03, 0x47, 0x50, 0x53, 0x10, 0x04, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x54, 0x41, 0x52,
+ 0x4c, 0x49, 0x4e, 0x4b, 0x10, 0x05, 0x2a, 0xb7, 0x01, 0x0a, 0x0e, 0x53, 0x70, 0x65, 0x65, 0x64,
+ 0x74, 0x65, 0x73, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x50, 0x45,
+ 0x45, 0x44, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x4e, 0x4f, 0x4e,
+ 0x45, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x50, 0x45, 0x45, 0x44, 0x54, 0x45, 0x53, 0x54,
+ 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x01,
+ 0x12, 0x19, 0x0a, 0x15, 0x53, 0x50, 0x45, 0x45, 0x44, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x45, 0x52,
+ 0x52, 0x4f, 0x52, 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x53,
+ 0x50, 0x45, 0x45, 0x44, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x41,
+ 0x50, 0x49, 0x10, 0x03, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x50, 0x45, 0x45, 0x44, 0x54, 0x45, 0x53,
+ 0x54, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x4e, 0x4f, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c,
+ 0x54, 0x10, 0x04, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x50, 0x45, 0x45, 0x44, 0x54, 0x45, 0x53, 0x54,
+ 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x4f, 0x46, 0x46, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x05,
+ 0x32, 0x95, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x48, 0x0a, 0x06, 0x53,
+ 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x1b, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41,
+ 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x54, 0x6f, 0x44, 0x65, 0x76, 0x69,
+ 0x63, 0x65, 0x1a, 0x1d, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e,
+ 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x46, 0x72, 0x6f, 0x6d, 0x44, 0x65, 0x76, 0x69, 0x63,
+ 0x65, 0x28, 0x01, 0x30, 0x01, 0x12, 0x41, 0x0a, 0x06, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12,
+ 0x1a, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76,
+ 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x53, 0x70,
+ 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x17, 0x5a, 0x15, 0x73, 0x70, 0x61, 0x63,
+ 0x65, 0x78, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63,
+ 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
return file_spacex_api_device_device_proto_rawDescData
}
-var file_spacex_api_device_device_proto_msgTypes = make([]protoimpl.MessageInfo, 30)
+var file_spacex_api_device_device_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
+var file_spacex_api_device_device_proto_msgTypes = make([]protoimpl.MessageInfo, 59)
var file_spacex_api_device_device_proto_goTypes = []interface{}{
- (*ToDevice)(nil), // 0: SpaceX.API.Device.ToDevice
- (*FromDevice)(nil), // 1: SpaceX.API.Device.FromDevice
- (*Request)(nil), // 2: SpaceX.API.Device.Request
- (*Response)(nil), // 3: SpaceX.API.Device.Response
- (*Event)(nil), // 4: SpaceX.API.Device.Event
- (*FactoryResetRequest)(nil), // 5: SpaceX.API.Device.FactoryResetRequest
- (*FactoryResetResponse)(nil), // 6: SpaceX.API.Device.FactoryResetResponse
- (*GetHistoryRequest)(nil), // 7: SpaceX.API.Device.GetHistoryRequest
- (*GetLogRequest)(nil), // 8: SpaceX.API.Device.GetLogRequest
- (*GetLogResponse)(nil), // 9: SpaceX.API.Device.GetLogResponse
- (*GetPingRequest)(nil), // 10: SpaceX.API.Device.GetPingRequest
- (*GetPingResponse)(nil), // 11: SpaceX.API.Device.GetPingResponse
- (*PingHostRequest)(nil), // 12: SpaceX.API.Device.PingHostRequest
- (*PingHostResponse)(nil), // 13: SpaceX.API.Device.PingHostResponse
- (*GetStatusRequest)(nil), // 14: SpaceX.API.Device.GetStatusRequest
- (*RebootRequest)(nil), // 15: SpaceX.API.Device.RebootRequest
- (*RebootResponse)(nil), // 16: SpaceX.API.Device.RebootResponse
- (*SpeedTestRequest)(nil), // 17: SpaceX.API.Device.SpeedTestRequest
- (*SpeedTestResponse)(nil), // 18: SpaceX.API.Device.SpeedTestResponse
- (*GetDeviceInfoRequest)(nil), // 19: SpaceX.API.Device.GetDeviceInfoRequest
- (*GetDeviceInfoResponse)(nil), // 20: SpaceX.API.Device.GetDeviceInfoResponse
- (*SetTrustedKeysRequest)(nil), // 21: SpaceX.API.Device.SetTrustedKeysRequest
- (*SetTrustedKeysResponse)(nil), // 22: SpaceX.API.Device.SetTrustedKeysResponse
- (*SetSkuRequest)(nil), // 23: SpaceX.API.Device.SetSkuRequest
- (*SetSkuResponse)(nil), // 24: SpaceX.API.Device.SetSkuResponse
- (*UpdateRequest)(nil), // 25: SpaceX.API.Device.UpdateRequest
- (*UpdateResponse)(nil), // 26: SpaceX.API.Device.UpdateResponse
- (*GetNetworkInterfacesRequest)(nil), // 27: SpaceX.API.Device.GetNetworkInterfacesRequest
- (*GetNetworkInterfacesResponse)(nil), // 28: SpaceX.API.Device.GetNetworkInterfacesResponse
- nil, // 29: SpaceX.API.Device.GetPingResponse.ResultsEntry
- (*SignedData)(nil), // 30: SpaceX.API.Device.SignedData
- (*GetNextIdRequest)(nil), // 31: SpaceX.API.Device.GetNextIdRequest
- (*AuthenticateRequest)(nil), // 32: SpaceX.API.Device.AuthenticateRequest
- (*DishStowRequest)(nil), // 33: SpaceX.API.Device.DishStowRequest
- (*TransceiverIFLoopbackTestRequest)(nil), // 34: SpaceX.API.Device.TransceiverIFLoopbackTestRequest
- (*TransceiverGetStatusRequest)(nil), // 35: SpaceX.API.Device.TransceiverGetStatusRequest
- (*WifiGetClientsRequest)(nil), // 36: SpaceX.API.Device.WifiGetClientsRequest
- (*WifiGetPingMetricsRequest)(nil), // 37: SpaceX.API.Device.WifiGetPingMetricsRequest
- (*WifiSetConfigRequest)(nil), // 38: SpaceX.API.Device.WifiSetConfigRequest
- (*WifiSetupRequest)(nil), // 39: SpaceX.API.Device.WifiSetupRequest
- (*status.Status)(nil), // 40: SpaceX.API.Status.Status
- (*GetNextIdResponse)(nil), // 41: SpaceX.API.Device.GetNextIdResponse
- (*DishAuthenticateResponse)(nil), // 42: SpaceX.API.Device.DishAuthenticateResponse
- (*DishGetHistoryResponse)(nil), // 43: SpaceX.API.Device.DishGetHistoryResponse
- (*DishGetStatusResponse)(nil), // 44: SpaceX.API.Device.DishGetStatusResponse
- (*DishStowResponse)(nil), // 45: SpaceX.API.Device.DishStowResponse
- (*TransceiverIFLoopbackTestResponse)(nil), // 46: SpaceX.API.Device.TransceiverIFLoopbackTestResponse
- (*TransceiverGetStatusResponse)(nil), // 47: SpaceX.API.Device.TransceiverGetStatusResponse
- (*WifiAuthenticateResponse)(nil), // 48: SpaceX.API.Device.WifiAuthenticateResponse
- (*WifiGetClientsResponse)(nil), // 49: SpaceX.API.Device.WifiGetClientsResponse
- (*WifiGetHistoryResponse)(nil), // 50: SpaceX.API.Device.WifiGetHistoryResponse
- (*WifiGetPingMetricsResponse)(nil), // 51: SpaceX.API.Device.WifiGetPingMetricsResponse
- (*WifiGetStatusResponse)(nil), // 52: SpaceX.API.Device.WifiGetStatusResponse
- (*WifiSetConfigResponse)(nil), // 53: SpaceX.API.Device.WifiSetConfigResponse
- (*WifiSetupResponse)(nil), // 54: SpaceX.API.Device.WifiSetupResponse
- (*WifiNewClientConnectedEvent)(nil), // 55: SpaceX.API.Device.WifiNewClientConnectedEvent
- (*WifiAccountBondingEvent)(nil), // 56: SpaceX.API.Device.WifiAccountBondingEvent
- (*PingResult)(nil), // 57: SpaceX.API.Device.PingResult
- (*DeviceInfo)(nil), // 58: SpaceX.API.Device.DeviceInfo
- (*PublicKey)(nil), // 59: SpaceX.API.Device.PublicKey
- (*NetworkInterface)(nil), // 60: SpaceX.API.Device.NetworkInterface
+ (PositionSource)(0), // 0: SpaceX.API.Device.PositionSource
+ (SpeedtestError)(0), // 1: SpaceX.API.Device.SpeedtestError
+ (ClientPlatform_Platform)(0), // 2: SpaceX.API.Device.ClientPlatform.Platform
+ (*ToDevice)(nil), // 3: SpaceX.API.Device.ToDevice
+ (*FromDevice)(nil), // 4: SpaceX.API.Device.FromDevice
+ (*Request)(nil), // 5: SpaceX.API.Device.Request
+ (*Response)(nil), // 6: SpaceX.API.Device.Response
+ (*Event)(nil), // 7: SpaceX.API.Device.Event
+ (*EnableDebugTelemRequest)(nil), // 8: SpaceX.API.Device.EnableDebugTelemRequest
+ (*EnableDebugTelemResponse)(nil), // 9: SpaceX.API.Device.EnableDebugTelemResponse
+ (*FactoryResetRequest)(nil), // 10: SpaceX.API.Device.FactoryResetRequest
+ (*FactoryResetResponse)(nil), // 11: SpaceX.API.Device.FactoryResetResponse
+ (*FuseRequest)(nil), // 12: SpaceX.API.Device.FuseRequest
+ (*FuseResponse)(nil), // 13: SpaceX.API.Device.FuseResponse
+ (*GetHistoryRequest)(nil), // 14: SpaceX.API.Device.GetHistoryRequest
+ (*GetLogRequest)(nil), // 15: SpaceX.API.Device.GetLogRequest
+ (*GetLogResponse)(nil), // 16: SpaceX.API.Device.GetLogResponse
+ (*GetPingRequest)(nil), // 17: SpaceX.API.Device.GetPingRequest
+ (*GetPingResponse)(nil), // 18: SpaceX.API.Device.GetPingResponse
+ (*PingHostRequest)(nil), // 19: SpaceX.API.Device.PingHostRequest
+ (*PingHostResponse)(nil), // 20: SpaceX.API.Device.PingHostResponse
+ (*GetStatusRequest)(nil), // 21: SpaceX.API.Device.GetStatusRequest
+ (*RebootRequest)(nil), // 22: SpaceX.API.Device.RebootRequest
+ (*RebootResponse)(nil), // 23: SpaceX.API.Device.RebootResponse
+ (*SpeedTestStats)(nil), // 24: SpaceX.API.Device.SpeedTestStats
+ (*ClientPlatform)(nil), // 25: SpaceX.API.Device.ClientPlatform
+ (*SpeedTestRequest)(nil), // 26: SpaceX.API.Device.SpeedTestRequest
+ (*SpeedTestResponse)(nil), // 27: SpaceX.API.Device.SpeedTestResponse
+ (*GetConnectionsRequest)(nil), // 28: SpaceX.API.Device.GetConnectionsRequest
+ (*GetConnectionsResponse)(nil), // 29: SpaceX.API.Device.GetConnectionsResponse
+ (*GetDeviceInfoRequest)(nil), // 30: SpaceX.API.Device.GetDeviceInfoRequest
+ (*GetDeviceInfoResponse)(nil), // 31: SpaceX.API.Device.GetDeviceInfoResponse
+ (*SetTrustedKeysRequest)(nil), // 32: SpaceX.API.Device.SetTrustedKeysRequest
+ (*SetTrustedKeysResponse)(nil), // 33: SpaceX.API.Device.SetTrustedKeysResponse
+ (*SetSkuRequest)(nil), // 34: SpaceX.API.Device.SetSkuRequest
+ (*SetSkuResponse)(nil), // 35: SpaceX.API.Device.SetSkuResponse
+ (*UpdateRequest)(nil), // 36: SpaceX.API.Device.UpdateRequest
+ (*UpdateResponse)(nil), // 37: SpaceX.API.Device.UpdateResponse
+ (*RestartControlRequest)(nil), // 38: SpaceX.API.Device.RestartControlRequest
+ (*RestartControlResponse)(nil), // 39: SpaceX.API.Device.RestartControlResponse
+ (*GetNetworkInterfacesRequest)(nil), // 40: SpaceX.API.Device.GetNetworkInterfacesRequest
+ (*GetNetworkInterfacesResponse)(nil), // 41: SpaceX.API.Device.GetNetworkInterfacesResponse
+ (*GetHeapDumpRequest)(nil), // 42: SpaceX.API.Device.GetHeapDumpRequest
+ (*GetHeapDumpResponse)(nil), // 43: SpaceX.API.Device.GetHeapDumpResponse
+ (*GetLocationRequest)(nil), // 44: SpaceX.API.Device.GetLocationRequest
+ (*GetLocationResponse)(nil), // 45: SpaceX.API.Device.GetLocationResponse
+ (*DishSetEmcRequest)(nil), // 46: SpaceX.API.Device.DishSetEmcRequest
+ (*DishSetEmcResponse)(nil), // 47: SpaceX.API.Device.DishSetEmcResponse
+ (*DishGetEmcRequest)(nil), // 48: SpaceX.API.Device.DishGetEmcRequest
+ (*DishGetEmcResponse)(nil), // 49: SpaceX.API.Device.DishGetEmcResponse
+ (*GetPersistentStatsRequest)(nil), // 50: SpaceX.API.Device.GetPersistentStatsRequest
+ (*StartSpeedtestRequest)(nil), // 51: SpaceX.API.Device.StartSpeedtestRequest
+ (*StartSpeedtestResponse)(nil), // 52: SpaceX.API.Device.StartSpeedtestResponse
+ (*SpeedtestStatus)(nil), // 53: SpaceX.API.Device.SpeedtestStatus
+ (*GetSpeedtestStatusRequest)(nil), // 54: SpaceX.API.Device.GetSpeedtestStatusRequest
+ (*GetSpeedtestStatusResponse)(nil), // 55: SpaceX.API.Device.GetSpeedtestStatusResponse
+ (*ReportClientSpeedtestRequest)(nil), // 56: SpaceX.API.Device.ReportClientSpeedtestRequest
+ (*ReportClientSpeedtestResponse)(nil), // 57: SpaceX.API.Device.ReportClientSpeedtestResponse
+ nil, // 58: SpaceX.API.Device.GetPingResponse.ResultsEntry
+ (*GetConnectionsResponse_ServiceConnection)(nil), // 59: SpaceX.API.Device.GetConnectionsResponse.ServiceConnection
+ nil, // 60: SpaceX.API.Device.GetConnectionsResponse.ServicesEntry
+ (*SpeedtestStatus_Direction)(nil), // 61: SpaceX.API.Device.SpeedtestStatus.Direction
+ (*SignedData)(nil), // 62: SpaceX.API.Device.SignedData
+ (*GetNextIdRequest)(nil), // 63: SpaceX.API.Device.GetNextIdRequest
+ (*AuthenticateRequest)(nil), // 64: SpaceX.API.Device.AuthenticateRequest
+ (*InitiateRemoteSshRequest)(nil), // 65: SpaceX.API.Device.InitiateRemoteSshRequest
+ (*SelfTestRequest)(nil), // 66: SpaceX.API.Device.SelfTestRequest
+ (*SetTestModeRequest)(nil), // 67: SpaceX.API.Device.SetTestModeRequest
+ (*SoftwareUpdateRequest)(nil), // 68: SpaceX.API.Device.SoftwareUpdateRequest
+ (*DishStowRequest)(nil), // 69: SpaceX.API.Device.DishStowRequest
+ (*StartDishSelfTestRequest)(nil), // 70: SpaceX.API.Device.StartDishSelfTestRequest
+ (*DishGetContextRequest)(nil), // 71: SpaceX.API.Device.DishGetContextRequest
+ (*DishGetObstructionMapRequest)(nil), // 72: SpaceX.API.Device.DishGetObstructionMapRequest
+ (*DishSetConfigRequest)(nil), // 73: SpaceX.API.Device.DishSetConfigRequest
+ (*DishGetConfigRequest)(nil), // 74: SpaceX.API.Device.DishGetConfigRequest
+ (*TransceiverIFLoopbackTestRequest)(nil), // 75: SpaceX.API.Device.TransceiverIFLoopbackTestRequest
+ (*TransceiverGetStatusRequest)(nil), // 76: SpaceX.API.Device.TransceiverGetStatusRequest
+ (*TransceiverGetTelemetryRequest)(nil), // 77: SpaceX.API.Device.TransceiverGetTelemetryRequest
+ (*WifiGetClientsRequest)(nil), // 78: SpaceX.API.Device.WifiGetClientsRequest
+ (*WifiGetDiagnosticsRequest)(nil), // 79: SpaceX.API.Device.WifiGetDiagnosticsRequest
+ (*WifiGetPingMetricsRequest)(nil), // 80: SpaceX.API.Device.WifiGetPingMetricsRequest
+ (*WifiSetConfigRequest)(nil), // 81: SpaceX.API.Device.WifiSetConfigRequest
+ (*WifiGetConfigRequest)(nil), // 82: SpaceX.API.Device.WifiGetConfigRequest
+ (*WifiSetupRequest)(nil), // 83: SpaceX.API.Device.WifiSetupRequest
+ (*WifiSetMeshDeviceTrustRequest)(nil), // 84: SpaceX.API.Device.WifiSetMeshDeviceTrustRequest
+ (*WifiSetMeshConfigRequest)(nil), // 85: SpaceX.API.Device.WifiSetMeshConfigRequest
+ (*WifiGetClientHistoryRequest)(nil), // 86: SpaceX.API.Device.WifiGetClientHistoryRequest
+ (*status.Status)(nil), // 87: SpaceX.API.Status.Status
+ (*GetNextIdResponse)(nil), // 88: SpaceX.API.Device.GetNextIdResponse
+ (*InitiateRemoteSshResponse)(nil), // 89: SpaceX.API.Device.InitiateRemoteSshResponse
+ (*SelfTestResponse)(nil), // 90: SpaceX.API.Device.SelfTestResponse
+ (*SetTestModeResponse)(nil), // 91: SpaceX.API.Device.SetTestModeResponse
+ (*SoftwareUpdateResponse)(nil), // 92: SpaceX.API.Device.SoftwareUpdateResponse
+ (*DishAuthenticateResponse)(nil), // 93: SpaceX.API.Device.DishAuthenticateResponse
+ (*DishGetContextResponse)(nil), // 94: SpaceX.API.Device.DishGetContextResponse
+ (*DishGetHistoryResponse)(nil), // 95: SpaceX.API.Device.DishGetHistoryResponse
+ (*DishGetStatusResponse)(nil), // 96: SpaceX.API.Device.DishGetStatusResponse
+ (*DishGetObstructionMapResponse)(nil), // 97: SpaceX.API.Device.DishGetObstructionMapResponse
+ (*DishStowResponse)(nil), // 98: SpaceX.API.Device.DishStowResponse
+ (*StartDishSelfTestResponse)(nil), // 99: SpaceX.API.Device.StartDishSelfTestResponse
+ (*DishSetConfigResponse)(nil), // 100: SpaceX.API.Device.DishSetConfigResponse
+ (*DishGetConfigResponse)(nil), // 101: SpaceX.API.Device.DishGetConfigResponse
+ (*TransceiverIFLoopbackTestResponse)(nil), // 102: SpaceX.API.Device.TransceiverIFLoopbackTestResponse
+ (*TransceiverGetStatusResponse)(nil), // 103: SpaceX.API.Device.TransceiverGetStatusResponse
+ (*TransceiverGetTelemetryResponse)(nil), // 104: SpaceX.API.Device.TransceiverGetTelemetryResponse
+ (*WifiAuthenticateResponse)(nil), // 105: SpaceX.API.Device.WifiAuthenticateResponse
+ (*WifiGetClientsResponse)(nil), // 106: SpaceX.API.Device.WifiGetClientsResponse
+ (*WifiGetDiagnosticsResponse)(nil), // 107: SpaceX.API.Device.WifiGetDiagnosticsResponse
+ (*WifiGetHistoryResponse)(nil), // 108: SpaceX.API.Device.WifiGetHistoryResponse
+ (*WifiGetPingMetricsResponse)(nil), // 109: SpaceX.API.Device.WifiGetPingMetricsResponse
+ (*WifiGetStatusResponse)(nil), // 110: SpaceX.API.Device.WifiGetStatusResponse
+ (*WifiSetConfigResponse)(nil), // 111: SpaceX.API.Device.WifiSetConfigResponse
+ (*WifiGetConfigResponse)(nil), // 112: SpaceX.API.Device.WifiGetConfigResponse
+ (*WifiSetupResponse)(nil), // 113: SpaceX.API.Device.WifiSetupResponse
+ (*WifiGetPersistentStatsResponse)(nil), // 114: SpaceX.API.Device.WifiGetPersistentStatsResponse
+ (*WifiSetMeshDeviceTrustResponse)(nil), // 115: SpaceX.API.Device.WifiSetMeshDeviceTrustResponse
+ (*WifiSetMeshConfigResponse)(nil), // 116: SpaceX.API.Device.WifiSetMeshConfigResponse
+ (*WifiGetClientHistoryResponse)(nil), // 117: SpaceX.API.Device.WifiGetClientHistoryResponse
+ (*WifiNewClientConnectedEvent)(nil), // 118: SpaceX.API.Device.WifiNewClientConnectedEvent
+ (*WifiAccountBondingEvent)(nil), // 119: SpaceX.API.Device.WifiAccountBondingEvent
+ (*WifiNewPeerEvent)(nil), // 120: SpaceX.API.Device.WifiNewPeerEvent
+ (*PingResult)(nil), // 121: SpaceX.API.Device.PingResult
+ (*DeviceInfo)(nil), // 122: SpaceX.API.Device.DeviceInfo
+ (*PublicKey)(nil), // 123: SpaceX.API.Device.PublicKey
+ (*NetworkInterface)(nil), // 124: SpaceX.API.Device.NetworkInterface
+ (*LLAPosition)(nil), // 125: SpaceX.API.Device.LLAPosition
}
var file_spacex_api_device_device_proto_depIdxs = []int32{
- 2, // 0: SpaceX.API.Device.ToDevice.request:type_name -> SpaceX.API.Device.Request
- 3, // 1: SpaceX.API.Device.FromDevice.response:type_name -> SpaceX.API.Device.Response
- 4, // 2: SpaceX.API.Device.FromDevice.event:type_name -> SpaceX.API.Device.Event
- 30, // 3: SpaceX.API.Device.Request.signed_request:type_name -> SpaceX.API.Device.SignedData
- 31, // 4: SpaceX.API.Device.Request.get_next_id:type_name -> SpaceX.API.Device.GetNextIdRequest
- 32, // 5: SpaceX.API.Device.Request.authenticate:type_name -> SpaceX.API.Device.AuthenticateRequest
- 5, // 6: SpaceX.API.Device.Request.factory_reset:type_name -> SpaceX.API.Device.FactoryResetRequest
- 19, // 7: SpaceX.API.Device.Request.get_device_info:type_name -> SpaceX.API.Device.GetDeviceInfoRequest
- 7, // 8: SpaceX.API.Device.Request.get_history:type_name -> SpaceX.API.Device.GetHistoryRequest
- 8, // 9: SpaceX.API.Device.Request.get_log:type_name -> SpaceX.API.Device.GetLogRequest
- 27, // 10: SpaceX.API.Device.Request.get_network_interfaces:type_name -> SpaceX.API.Device.GetNetworkInterfacesRequest
- 10, // 11: SpaceX.API.Device.Request.get_ping:type_name -> SpaceX.API.Device.GetPingRequest
- 12, // 12: SpaceX.API.Device.Request.ping_host:type_name -> SpaceX.API.Device.PingHostRequest
- 14, // 13: SpaceX.API.Device.Request.get_status:type_name -> SpaceX.API.Device.GetStatusRequest
- 15, // 14: SpaceX.API.Device.Request.reboot:type_name -> SpaceX.API.Device.RebootRequest
- 23, // 15: SpaceX.API.Device.Request.set_sku:type_name -> SpaceX.API.Device.SetSkuRequest
- 21, // 16: SpaceX.API.Device.Request.set_trusted_keys:type_name -> SpaceX.API.Device.SetTrustedKeysRequest
- 17, // 17: SpaceX.API.Device.Request.speed_test:type_name -> SpaceX.API.Device.SpeedTestRequest
- 25, // 18: SpaceX.API.Device.Request.update:type_name -> SpaceX.API.Device.UpdateRequest
- 33, // 19: SpaceX.API.Device.Request.dish_stow:type_name -> SpaceX.API.Device.DishStowRequest
- 34, // 20: SpaceX.API.Device.Request.transceiver_if_loopback_test:type_name -> SpaceX.API.Device.TransceiverIFLoopbackTestRequest
- 35, // 21: SpaceX.API.Device.Request.transceiver_get_status:type_name -> SpaceX.API.Device.TransceiverGetStatusRequest
- 36, // 22: SpaceX.API.Device.Request.wifi_get_clients:type_name -> SpaceX.API.Device.WifiGetClientsRequest
- 37, // 23: SpaceX.API.Device.Request.wifi_get_ping_metrics:type_name -> SpaceX.API.Device.WifiGetPingMetricsRequest
- 38, // 24: SpaceX.API.Device.Request.wifi_set_config:type_name -> SpaceX.API.Device.WifiSetConfigRequest
- 39, // 25: SpaceX.API.Device.Request.wifi_setup:type_name -> SpaceX.API.Device.WifiSetupRequest
- 40, // 26: SpaceX.API.Device.Response.status:type_name -> SpaceX.API.Status.Status
- 41, // 27: SpaceX.API.Device.Response.get_next_id:type_name -> SpaceX.API.Device.GetNextIdResponse
- 6, // 28: SpaceX.API.Device.Response.factory_reset:type_name -> SpaceX.API.Device.FactoryResetResponse
- 20, // 29: SpaceX.API.Device.Response.get_device_info:type_name -> SpaceX.API.Device.GetDeviceInfoResponse
- 9, // 30: SpaceX.API.Device.Response.get_log:type_name -> SpaceX.API.Device.GetLogResponse
- 28, // 31: SpaceX.API.Device.Response.get_network_interfaces:type_name -> SpaceX.API.Device.GetNetworkInterfacesResponse
- 11, // 32: SpaceX.API.Device.Response.get_ping:type_name -> SpaceX.API.Device.GetPingResponse
- 13, // 33: SpaceX.API.Device.Response.ping_host:type_name -> SpaceX.API.Device.PingHostResponse
- 16, // 34: SpaceX.API.Device.Response.reboot:type_name -> SpaceX.API.Device.RebootResponse
- 18, // 35: SpaceX.API.Device.Response.speed_test:type_name -> SpaceX.API.Device.SpeedTestResponse
- 24, // 36: SpaceX.API.Device.Response.set_sku:type_name -> SpaceX.API.Device.SetSkuResponse
- 22, // 37: SpaceX.API.Device.Response.set_trusted_keys:type_name -> SpaceX.API.Device.SetTrustedKeysResponse
- 26, // 38: SpaceX.API.Device.Response.update:type_name -> SpaceX.API.Device.UpdateResponse
- 42, // 39: SpaceX.API.Device.Response.dish_authenticate:type_name -> SpaceX.API.Device.DishAuthenticateResponse
- 43, // 40: SpaceX.API.Device.Response.dish_get_history:type_name -> SpaceX.API.Device.DishGetHistoryResponse
- 44, // 41: SpaceX.API.Device.Response.dish_get_status:type_name -> SpaceX.API.Device.DishGetStatusResponse
- 45, // 42: SpaceX.API.Device.Response.dish_stow:type_name -> SpaceX.API.Device.DishStowResponse
- 46, // 43: SpaceX.API.Device.Response.transceiver_if_loopback_test:type_name -> SpaceX.API.Device.TransceiverIFLoopbackTestResponse
- 47, // 44: SpaceX.API.Device.Response.transceiver_get_status:type_name -> SpaceX.API.Device.TransceiverGetStatusResponse
- 48, // 45: SpaceX.API.Device.Response.wifi_authenticate:type_name -> SpaceX.API.Device.WifiAuthenticateResponse
- 49, // 46: SpaceX.API.Device.Response.wifi_get_clients:type_name -> SpaceX.API.Device.WifiGetClientsResponse
- 50, // 47: SpaceX.API.Device.Response.wifi_get_history:type_name -> SpaceX.API.Device.WifiGetHistoryResponse
- 51, // 48: SpaceX.API.Device.Response.wifi_get_ping_metrics:type_name -> SpaceX.API.Device.WifiGetPingMetricsResponse
- 52, // 49: SpaceX.API.Device.Response.wifi_get_status:type_name -> SpaceX.API.Device.WifiGetStatusResponse
- 53, // 50: SpaceX.API.Device.Response.wifi_set_config:type_name -> SpaceX.API.Device.WifiSetConfigResponse
- 54, // 51: SpaceX.API.Device.Response.wifi_setup:type_name -> SpaceX.API.Device.WifiSetupResponse
- 55, // 52: SpaceX.API.Device.Event.wifi_new_client_connected:type_name -> SpaceX.API.Device.WifiNewClientConnectedEvent
- 56, // 53: SpaceX.API.Device.Event.wifi_account_bonding:type_name -> SpaceX.API.Device.WifiAccountBondingEvent
- 29, // 54: SpaceX.API.Device.GetPingResponse.results:type_name -> SpaceX.API.Device.GetPingResponse.ResultsEntry
- 57, // 55: SpaceX.API.Device.PingHostResponse.result:type_name -> SpaceX.API.Device.PingResult
- 58, // 56: SpaceX.API.Device.GetDeviceInfoResponse.device_info:type_name -> SpaceX.API.Device.DeviceInfo
- 59, // 57: SpaceX.API.Device.SetTrustedKeysRequest.keys:type_name -> SpaceX.API.Device.PublicKey
- 60, // 58: SpaceX.API.Device.GetNetworkInterfacesResponse.network_interfaces:type_name -> SpaceX.API.Device.NetworkInterface
- 57, // 59: SpaceX.API.Device.GetPingResponse.ResultsEntry.value:type_name -> SpaceX.API.Device.PingResult
- 0, // 60: SpaceX.API.Device.Device.Stream:input_type -> SpaceX.API.Device.ToDevice
- 2, // 61: SpaceX.API.Device.Device.Handle:input_type -> SpaceX.API.Device.Request
- 1, // 62: SpaceX.API.Device.Device.Stream:output_type -> SpaceX.API.Device.FromDevice
- 3, // 63: SpaceX.API.Device.Device.Handle:output_type -> SpaceX.API.Device.Response
- 62, // [62:64] is the sub-list for method output_type
- 60, // [60:62] is the sub-list for method input_type
- 60, // [60:60] is the sub-list for extension type_name
- 60, // [60:60] is the sub-list for extension extendee
- 0, // [0:60] is the sub-list for field type_name
+ 5, // 0: SpaceX.API.Device.ToDevice.request:type_name -> SpaceX.API.Device.Request
+ 6, // 1: SpaceX.API.Device.FromDevice.response:type_name -> SpaceX.API.Device.Response
+ 7, // 2: SpaceX.API.Device.FromDevice.event:type_name -> SpaceX.API.Device.Event
+ 62, // 3: SpaceX.API.Device.Request.signed_request:type_name -> SpaceX.API.Device.SignedData
+ 63, // 4: SpaceX.API.Device.Request.get_next_id:type_name -> SpaceX.API.Device.GetNextIdRequest
+ 64, // 5: SpaceX.API.Device.Request.authenticate:type_name -> SpaceX.API.Device.AuthenticateRequest
+ 8, // 6: SpaceX.API.Device.Request.enable_debug_telem:type_name -> SpaceX.API.Device.EnableDebugTelemRequest
+ 10, // 7: SpaceX.API.Device.Request.factory_reset:type_name -> SpaceX.API.Device.FactoryResetRequest
+ 30, // 8: SpaceX.API.Device.Request.get_device_info:type_name -> SpaceX.API.Device.GetDeviceInfoRequest
+ 14, // 9: SpaceX.API.Device.Request.get_history:type_name -> SpaceX.API.Device.GetHistoryRequest
+ 15, // 10: SpaceX.API.Device.Request.get_log:type_name -> SpaceX.API.Device.GetLogRequest
+ 40, // 11: SpaceX.API.Device.Request.get_network_interfaces:type_name -> SpaceX.API.Device.GetNetworkInterfacesRequest
+ 17, // 12: SpaceX.API.Device.Request.get_ping:type_name -> SpaceX.API.Device.GetPingRequest
+ 19, // 13: SpaceX.API.Device.Request.ping_host:type_name -> SpaceX.API.Device.PingHostRequest
+ 21, // 14: SpaceX.API.Device.Request.get_status:type_name -> SpaceX.API.Device.GetStatusRequest
+ 22, // 15: SpaceX.API.Device.Request.reboot:type_name -> SpaceX.API.Device.RebootRequest
+ 34, // 16: SpaceX.API.Device.Request.set_sku:type_name -> SpaceX.API.Device.SetSkuRequest
+ 32, // 17: SpaceX.API.Device.Request.set_trusted_keys:type_name -> SpaceX.API.Device.SetTrustedKeysRequest
+ 26, // 18: SpaceX.API.Device.Request.speed_test:type_name -> SpaceX.API.Device.SpeedTestRequest
+ 36, // 19: SpaceX.API.Device.Request.update:type_name -> SpaceX.API.Device.UpdateRequest
+ 44, // 20: SpaceX.API.Device.Request.get_location:type_name -> SpaceX.API.Device.GetLocationRequest
+ 42, // 21: SpaceX.API.Device.Request.get_heap_dump:type_name -> SpaceX.API.Device.GetHeapDumpRequest
+ 38, // 22: SpaceX.API.Device.Request.restart_control:type_name -> SpaceX.API.Device.RestartControlRequest
+ 12, // 23: SpaceX.API.Device.Request.fuse:type_name -> SpaceX.API.Device.FuseRequest
+ 50, // 24: SpaceX.API.Device.Request.get_persistent_stats:type_name -> SpaceX.API.Device.GetPersistentStatsRequest
+ 28, // 25: SpaceX.API.Device.Request.get_connections:type_name -> SpaceX.API.Device.GetConnectionsRequest
+ 51, // 26: SpaceX.API.Device.Request.start_speedtest:type_name -> SpaceX.API.Device.StartSpeedtestRequest
+ 54, // 27: SpaceX.API.Device.Request.get_speedtest_status:type_name -> SpaceX.API.Device.GetSpeedtestStatusRequest
+ 56, // 28: SpaceX.API.Device.Request.report_client_speedtest:type_name -> SpaceX.API.Device.ReportClientSpeedtestRequest
+ 65, // 29: SpaceX.API.Device.Request.initiate_remote_ssh:type_name -> SpaceX.API.Device.InitiateRemoteSshRequest
+ 66, // 30: SpaceX.API.Device.Request.self_test:type_name -> SpaceX.API.Device.SelfTestRequest
+ 67, // 31: SpaceX.API.Device.Request.set_test_mode:type_name -> SpaceX.API.Device.SetTestModeRequest
+ 68, // 32: SpaceX.API.Device.Request.software_update:type_name -> SpaceX.API.Device.SoftwareUpdateRequest
+ 69, // 33: SpaceX.API.Device.Request.dish_stow:type_name -> SpaceX.API.Device.DishStowRequest
+ 70, // 34: SpaceX.API.Device.Request.start_dish_self_test:type_name -> SpaceX.API.Device.StartDishSelfTestRequest
+ 71, // 35: SpaceX.API.Device.Request.dish_get_context:type_name -> SpaceX.API.Device.DishGetContextRequest
+ 72, // 36: SpaceX.API.Device.Request.dish_get_obstruction_map:type_name -> SpaceX.API.Device.DishGetObstructionMapRequest
+ 46, // 37: SpaceX.API.Device.Request.dish_set_emc:type_name -> SpaceX.API.Device.DishSetEmcRequest
+ 48, // 38: SpaceX.API.Device.Request.dish_get_emc:type_name -> SpaceX.API.Device.DishGetEmcRequest
+ 73, // 39: SpaceX.API.Device.Request.dish_set_config:type_name -> SpaceX.API.Device.DishSetConfigRequest
+ 74, // 40: SpaceX.API.Device.Request.dish_get_config:type_name -> SpaceX.API.Device.DishGetConfigRequest
+ 75, // 41: SpaceX.API.Device.Request.transceiver_if_loopback_test:type_name -> SpaceX.API.Device.TransceiverIFLoopbackTestRequest
+ 76, // 42: SpaceX.API.Device.Request.transceiver_get_status:type_name -> SpaceX.API.Device.TransceiverGetStatusRequest
+ 77, // 43: SpaceX.API.Device.Request.transceiver_get_telemetry:type_name -> SpaceX.API.Device.TransceiverGetTelemetryRequest
+ 78, // 44: SpaceX.API.Device.Request.wifi_get_clients:type_name -> SpaceX.API.Device.WifiGetClientsRequest
+ 79, // 45: SpaceX.API.Device.Request.wifi_get_diagnostics:type_name -> SpaceX.API.Device.WifiGetDiagnosticsRequest
+ 80, // 46: SpaceX.API.Device.Request.wifi_get_ping_metrics:type_name -> SpaceX.API.Device.WifiGetPingMetricsRequest
+ 81, // 47: SpaceX.API.Device.Request.wifi_set_config:type_name -> SpaceX.API.Device.WifiSetConfigRequest
+ 82, // 48: SpaceX.API.Device.Request.wifi_get_config:type_name -> SpaceX.API.Device.WifiGetConfigRequest
+ 83, // 49: SpaceX.API.Device.Request.wifi_setup:type_name -> SpaceX.API.Device.WifiSetupRequest
+ 84, // 50: SpaceX.API.Device.Request.wifi_set_mesh_device_trust:type_name -> SpaceX.API.Device.WifiSetMeshDeviceTrustRequest
+ 85, // 51: SpaceX.API.Device.Request.wifi_set_mesh_config:type_name -> SpaceX.API.Device.WifiSetMeshConfigRequest
+ 86, // 52: SpaceX.API.Device.Request.wifi_get_client_history:type_name -> SpaceX.API.Device.WifiGetClientHistoryRequest
+ 87, // 53: SpaceX.API.Device.Response.status:type_name -> SpaceX.API.Status.Status
+ 88, // 54: SpaceX.API.Device.Response.get_next_id:type_name -> SpaceX.API.Device.GetNextIdResponse
+ 9, // 55: SpaceX.API.Device.Response.enable_debug_telem:type_name -> SpaceX.API.Device.EnableDebugTelemResponse
+ 11, // 56: SpaceX.API.Device.Response.factory_reset:type_name -> SpaceX.API.Device.FactoryResetResponse
+ 31, // 57: SpaceX.API.Device.Response.get_device_info:type_name -> SpaceX.API.Device.GetDeviceInfoResponse
+ 16, // 58: SpaceX.API.Device.Response.get_log:type_name -> SpaceX.API.Device.GetLogResponse
+ 41, // 59: SpaceX.API.Device.Response.get_network_interfaces:type_name -> SpaceX.API.Device.GetNetworkInterfacesResponse
+ 18, // 60: SpaceX.API.Device.Response.get_ping:type_name -> SpaceX.API.Device.GetPingResponse
+ 20, // 61: SpaceX.API.Device.Response.ping_host:type_name -> SpaceX.API.Device.PingHostResponse
+ 23, // 62: SpaceX.API.Device.Response.reboot:type_name -> SpaceX.API.Device.RebootResponse
+ 27, // 63: SpaceX.API.Device.Response.speed_test:type_name -> SpaceX.API.Device.SpeedTestResponse
+ 35, // 64: SpaceX.API.Device.Response.set_sku:type_name -> SpaceX.API.Device.SetSkuResponse
+ 33, // 65: SpaceX.API.Device.Response.set_trusted_keys:type_name -> SpaceX.API.Device.SetTrustedKeysResponse
+ 37, // 66: SpaceX.API.Device.Response.update:type_name -> SpaceX.API.Device.UpdateResponse
+ 45, // 67: SpaceX.API.Device.Response.get_location:type_name -> SpaceX.API.Device.GetLocationResponse
+ 43, // 68: SpaceX.API.Device.Response.get_heap_dump:type_name -> SpaceX.API.Device.GetHeapDumpResponse
+ 39, // 69: SpaceX.API.Device.Response.restart_control:type_name -> SpaceX.API.Device.RestartControlResponse
+ 13, // 70: SpaceX.API.Device.Response.fuse:type_name -> SpaceX.API.Device.FuseResponse
+ 29, // 71: SpaceX.API.Device.Response.get_connections:type_name -> SpaceX.API.Device.GetConnectionsResponse
+ 52, // 72: SpaceX.API.Device.Response.start_speedtest:type_name -> SpaceX.API.Device.StartSpeedtestResponse
+ 55, // 73: SpaceX.API.Device.Response.get_speedtest_status:type_name -> SpaceX.API.Device.GetSpeedtestStatusResponse
+ 57, // 74: SpaceX.API.Device.Response.report_client_speedtest:type_name -> SpaceX.API.Device.ReportClientSpeedtestResponse
+ 89, // 75: SpaceX.API.Device.Response.initiate_remote_ssh:type_name -> SpaceX.API.Device.InitiateRemoteSshResponse
+ 90, // 76: SpaceX.API.Device.Response.self_test:type_name -> SpaceX.API.Device.SelfTestResponse
+ 91, // 77: SpaceX.API.Device.Response.set_test_mode:type_name -> SpaceX.API.Device.SetTestModeResponse
+ 92, // 78: SpaceX.API.Device.Response.software_update:type_name -> SpaceX.API.Device.SoftwareUpdateResponse
+ 93, // 79: SpaceX.API.Device.Response.dish_authenticate:type_name -> SpaceX.API.Device.DishAuthenticateResponse
+ 94, // 80: SpaceX.API.Device.Response.dish_get_context:type_name -> SpaceX.API.Device.DishGetContextResponse
+ 95, // 81: SpaceX.API.Device.Response.dish_get_history:type_name -> SpaceX.API.Device.DishGetHistoryResponse
+ 96, // 82: SpaceX.API.Device.Response.dish_get_status:type_name -> SpaceX.API.Device.DishGetStatusResponse
+ 97, // 83: SpaceX.API.Device.Response.dish_get_obstruction_map:type_name -> SpaceX.API.Device.DishGetObstructionMapResponse
+ 98, // 84: SpaceX.API.Device.Response.dish_stow:type_name -> SpaceX.API.Device.DishStowResponse
+ 99, // 85: SpaceX.API.Device.Response.start_dish_self_test:type_name -> SpaceX.API.Device.StartDishSelfTestResponse
+ 47, // 86: SpaceX.API.Device.Response.dish_set_emc:type_name -> SpaceX.API.Device.DishSetEmcResponse
+ 49, // 87: SpaceX.API.Device.Response.dish_get_emc:type_name -> SpaceX.API.Device.DishGetEmcResponse
+ 100, // 88: SpaceX.API.Device.Response.dish_set_config:type_name -> SpaceX.API.Device.DishSetConfigResponse
+ 101, // 89: SpaceX.API.Device.Response.dish_get_config:type_name -> SpaceX.API.Device.DishGetConfigResponse
+ 102, // 90: SpaceX.API.Device.Response.transceiver_if_loopback_test:type_name -> SpaceX.API.Device.TransceiverIFLoopbackTestResponse
+ 103, // 91: SpaceX.API.Device.Response.transceiver_get_status:type_name -> SpaceX.API.Device.TransceiverGetStatusResponse
+ 104, // 92: SpaceX.API.Device.Response.transceiver_get_telemetry:type_name -> SpaceX.API.Device.TransceiverGetTelemetryResponse
+ 105, // 93: SpaceX.API.Device.Response.wifi_authenticate:type_name -> SpaceX.API.Device.WifiAuthenticateResponse
+ 106, // 94: SpaceX.API.Device.Response.wifi_get_clients:type_name -> SpaceX.API.Device.WifiGetClientsResponse
+ 107, // 95: SpaceX.API.Device.Response.wifi_get_diagnostics:type_name -> SpaceX.API.Device.WifiGetDiagnosticsResponse
+ 108, // 96: SpaceX.API.Device.Response.wifi_get_history:type_name -> SpaceX.API.Device.WifiGetHistoryResponse
+ 109, // 97: SpaceX.API.Device.Response.wifi_get_ping_metrics:type_name -> SpaceX.API.Device.WifiGetPingMetricsResponse
+ 110, // 98: SpaceX.API.Device.Response.wifi_get_status:type_name -> SpaceX.API.Device.WifiGetStatusResponse
+ 111, // 99: SpaceX.API.Device.Response.wifi_set_config:type_name -> SpaceX.API.Device.WifiSetConfigResponse
+ 112, // 100: SpaceX.API.Device.Response.wifi_get_config:type_name -> SpaceX.API.Device.WifiGetConfigResponse
+ 113, // 101: SpaceX.API.Device.Response.wifi_setup:type_name -> SpaceX.API.Device.WifiSetupResponse
+ 114, // 102: SpaceX.API.Device.Response.wifi_get_persistent_stats:type_name -> SpaceX.API.Device.WifiGetPersistentStatsResponse
+ 115, // 103: SpaceX.API.Device.Response.wifi_set_mesh_device_trust:type_name -> SpaceX.API.Device.WifiSetMeshDeviceTrustResponse
+ 116, // 104: SpaceX.API.Device.Response.wifi_set_mesh_config:type_name -> SpaceX.API.Device.WifiSetMeshConfigResponse
+ 117, // 105: SpaceX.API.Device.Response.wifi_get_client_history:type_name -> SpaceX.API.Device.WifiGetClientHistoryResponse
+ 118, // 106: SpaceX.API.Device.Event.wifi_new_client_connected:type_name -> SpaceX.API.Device.WifiNewClientConnectedEvent
+ 119, // 107: SpaceX.API.Device.Event.wifi_account_bonding:type_name -> SpaceX.API.Device.WifiAccountBondingEvent
+ 120, // 108: SpaceX.API.Device.Event.wifi_new_peer:type_name -> SpaceX.API.Device.WifiNewPeerEvent
+ 58, // 109: SpaceX.API.Device.GetPingResponse.results:type_name -> SpaceX.API.Device.GetPingResponse.ResultsEntry
+ 121, // 110: SpaceX.API.Device.PingHostResponse.result:type_name -> SpaceX.API.Device.PingResult
+ 2, // 111: SpaceX.API.Device.ClientPlatform.platform:type_name -> SpaceX.API.Device.ClientPlatform.Platform
+ 24, // 112: SpaceX.API.Device.SpeedTestRequest.client_speedtest:type_name -> SpaceX.API.Device.SpeedTestStats
+ 25, // 113: SpaceX.API.Device.SpeedTestRequest.client_platform:type_name -> SpaceX.API.Device.ClientPlatform
+ 24, // 114: SpaceX.API.Device.SpeedTestResponse.router_speedtest:type_name -> SpaceX.API.Device.SpeedTestStats
+ 60, // 115: SpaceX.API.Device.GetConnectionsResponse.services:type_name -> SpaceX.API.Device.GetConnectionsResponse.ServicesEntry
+ 122, // 116: SpaceX.API.Device.GetDeviceInfoResponse.device_info:type_name -> SpaceX.API.Device.DeviceInfo
+ 123, // 117: SpaceX.API.Device.SetTrustedKeysRequest.keys:type_name -> SpaceX.API.Device.PublicKey
+ 124, // 118: SpaceX.API.Device.GetNetworkInterfacesResponse.network_interfaces:type_name -> SpaceX.API.Device.NetworkInterface
+ 0, // 119: SpaceX.API.Device.GetLocationRequest.source:type_name -> SpaceX.API.Device.PositionSource
+ 125, // 120: SpaceX.API.Device.GetLocationResponse.lla:type_name -> SpaceX.API.Device.LLAPosition
+ 0, // 121: SpaceX.API.Device.GetLocationResponse.source:type_name -> SpaceX.API.Device.PositionSource
+ 61, // 122: SpaceX.API.Device.SpeedtestStatus.up:type_name -> SpaceX.API.Device.SpeedtestStatus.Direction
+ 61, // 123: SpaceX.API.Device.SpeedtestStatus.down:type_name -> SpaceX.API.Device.SpeedtestStatus.Direction
+ 53, // 124: SpaceX.API.Device.GetSpeedtestStatusResponse.status:type_name -> SpaceX.API.Device.SpeedtestStatus
+ 24, // 125: SpaceX.API.Device.ReportClientSpeedtestRequest.client_speedtest:type_name -> SpaceX.API.Device.SpeedTestStats
+ 24, // 126: SpaceX.API.Device.ReportClientSpeedtestRequest.wifi_speedtest:type_name -> SpaceX.API.Device.SpeedTestStats
+ 25, // 127: SpaceX.API.Device.ReportClientSpeedtestRequest.client_platform:type_name -> SpaceX.API.Device.ClientPlatform
+ 121, // 128: SpaceX.API.Device.GetPingResponse.ResultsEntry.value:type_name -> SpaceX.API.Device.PingResult
+ 59, // 129: SpaceX.API.Device.GetConnectionsResponse.ServicesEntry.value:type_name -> SpaceX.API.Device.GetConnectionsResponse.ServiceConnection
+ 1, // 130: SpaceX.API.Device.SpeedtestStatus.Direction.err:type_name -> SpaceX.API.Device.SpeedtestError
+ 3, // 131: SpaceX.API.Device.Device.Stream:input_type -> SpaceX.API.Device.ToDevice
+ 5, // 132: SpaceX.API.Device.Device.Handle:input_type -> SpaceX.API.Device.Request
+ 4, // 133: SpaceX.API.Device.Device.Stream:output_type -> SpaceX.API.Device.FromDevice
+ 6, // 134: SpaceX.API.Device.Device.Handle:output_type -> SpaceX.API.Device.Response
+ 133, // [133:135] is the sub-list for method output_type
+ 131, // [131:133] is the sub-list for method input_type
+ 131, // [131:131] is the sub-list for extension type_name
+ 131, // [131:131] is the sub-list for extension extendee
+ 0, // [0:131] is the sub-list for field type_name
}
func init() { file_spacex_api_device_device_proto_init() }
}
}
file_spacex_api_device_device_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*FactoryResetRequest); i {
+ switch v := v.(*EnableDebugTelemRequest); i {
case 0:
return &v.state
case 1:
}
}
file_spacex_api_device_device_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*FactoryResetResponse); i {
+ switch v := v.(*EnableDebugTelemResponse); i {
case 0:
return &v.state
case 1:
}
}
file_spacex_api_device_device_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*GetHistoryRequest); i {
+ switch v := v.(*FactoryResetRequest); i {
case 0:
return &v.state
case 1:
}
}
file_spacex_api_device_device_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*GetLogRequest); i {
+ switch v := v.(*FactoryResetResponse); i {
case 0:
return &v.state
case 1:
}
}
file_spacex_api_device_device_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*GetLogResponse); i {
+ switch v := v.(*FuseRequest); i {
case 0:
return &v.state
case 1:
}
}
file_spacex_api_device_device_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*GetPingRequest); i {
+ switch v := v.(*FuseResponse); i {
case 0:
return &v.state
case 1:
}
}
file_spacex_api_device_device_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*GetPingResponse); i {
+ switch v := v.(*GetHistoryRequest); i {
case 0:
return &v.state
case 1:
}
}
file_spacex_api_device_device_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*PingHostRequest); i {
+ switch v := v.(*GetLogRequest); i {
case 0:
return &v.state
case 1:
}
}
file_spacex_api_device_device_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*PingHostResponse); i {
+ switch v := v.(*GetLogResponse); i {
case 0:
return &v.state
case 1:
}
}
file_spacex_api_device_device_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*GetStatusRequest); i {
+ switch v := v.(*GetPingRequest); i {
case 0:
return &v.state
case 1:
}
}
file_spacex_api_device_device_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*RebootRequest); i {
+ switch v := v.(*GetPingResponse); i {
case 0:
return &v.state
case 1:
}
}
file_spacex_api_device_device_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*RebootResponse); i {
+ switch v := v.(*PingHostRequest); i {
case 0:
return &v.state
case 1:
}
}
file_spacex_api_device_device_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*SpeedTestRequest); i {
+ switch v := v.(*PingHostResponse); i {
case 0:
return &v.state
case 1:
}
}
file_spacex_api_device_device_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*SpeedTestResponse); i {
+ switch v := v.(*GetStatusRequest); i {
case 0:
return &v.state
case 1:
}
}
file_spacex_api_device_device_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*GetDeviceInfoRequest); i {
+ switch v := v.(*RebootRequest); i {
case 0:
return &v.state
case 1:
}
}
file_spacex_api_device_device_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*GetDeviceInfoResponse); i {
+ switch v := v.(*RebootResponse); i {
case 0:
return &v.state
case 1:
}
}
file_spacex_api_device_device_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*SetTrustedKeysRequest); i {
+ switch v := v.(*SpeedTestStats); i {
case 0:
return &v.state
case 1:
}
}
file_spacex_api_device_device_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*SetTrustedKeysResponse); i {
+ switch v := v.(*ClientPlatform); i {
case 0:
return &v.state
case 1:
}
}
file_spacex_api_device_device_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*SetSkuRequest); i {
+ switch v := v.(*SpeedTestRequest); i {
case 0:
return &v.state
case 1:
}
}
file_spacex_api_device_device_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*SetSkuResponse); i {
+ switch v := v.(*SpeedTestResponse); i {
case 0:
return &v.state
case 1:
}
}
file_spacex_api_device_device_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*UpdateRequest); i {
+ switch v := v.(*GetConnectionsRequest); i {
case 0:
return &v.state
case 1:
}
}
file_spacex_api_device_device_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*UpdateResponse); i {
+ switch v := v.(*GetConnectionsResponse); i {
case 0:
return &v.state
case 1:
}
}
file_spacex_api_device_device_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*GetNetworkInterfacesRequest); i {
+ switch v := v.(*GetDeviceInfoRequest); i {
case 0:
return &v.state
case 1:
}
}
file_spacex_api_device_device_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetDeviceInfoResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_device_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SetTrustedKeysRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_device_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SetTrustedKeysResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_device_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SetSkuRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_device_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SetSkuResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_device_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UpdateRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_device_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UpdateResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_device_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RestartControlRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_device_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RestartControlResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_device_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetNetworkInterfacesRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_device_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetNetworkInterfacesResponse); i {
case 0:
return &v.state
return nil
}
}
+ file_spacex_api_device_device_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetHeapDumpRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_device_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetHeapDumpResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_device_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetLocationRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_device_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetLocationResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_device_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DishSetEmcRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_device_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DishSetEmcResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_device_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DishGetEmcRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_device_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DishGetEmcResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_device_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetPersistentStatsRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_device_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*StartSpeedtestRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_device_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*StartSpeedtestResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_device_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SpeedtestStatus); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_device_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetSpeedtestStatusRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_device_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetSpeedtestStatusResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_device_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReportClientSpeedtestRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_device_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReportClientSpeedtestResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_device_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetConnectionsResponse_ServiceConnection); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_device_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SpeedtestStatus_Direction); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
}
file_spacex_api_device_device_proto_msgTypes[0].OneofWrappers = []interface{}{
(*ToDevice_Request)(nil),
(*Request_SignedRequest)(nil),
(*Request_GetNextId)(nil),
(*Request_Authenticate)(nil),
+ (*Request_EnableDebugTelem)(nil),
(*Request_FactoryReset)(nil),
(*Request_GetDeviceInfo)(nil),
(*Request_GetHistory)(nil),
(*Request_SetTrustedKeys)(nil),
(*Request_SpeedTest)(nil),
(*Request_Update)(nil),
+ (*Request_GetLocation)(nil),
+ (*Request_GetHeapDump)(nil),
+ (*Request_RestartControl)(nil),
+ (*Request_Fuse)(nil),
+ (*Request_GetPersistentStats)(nil),
+ (*Request_GetConnections)(nil),
+ (*Request_StartSpeedtest)(nil),
+ (*Request_GetSpeedtestStatus)(nil),
+ (*Request_ReportClientSpeedtest)(nil),
+ (*Request_InitiateRemoteSsh)(nil),
+ (*Request_SelfTest)(nil),
+ (*Request_SetTestMode)(nil),
+ (*Request_SoftwareUpdate)(nil),
(*Request_DishStow)(nil),
+ (*Request_StartDishSelfTest)(nil),
+ (*Request_DishGetContext)(nil),
+ (*Request_DishGetObstructionMap)(nil),
+ (*Request_DishSetEmc)(nil),
+ (*Request_DishGetEmc)(nil),
+ (*Request_DishSetConfig)(nil),
+ (*Request_DishGetConfig)(nil),
(*Request_TransceiverIfLoopbackTest)(nil),
(*Request_TransceiverGetStatus)(nil),
+ (*Request_TransceiverGetTelemetry)(nil),
(*Request_WifiGetClients)(nil),
+ (*Request_WifiGetDiagnostics)(nil),
(*Request_WifiGetPingMetrics)(nil),
(*Request_WifiSetConfig)(nil),
+ (*Request_WifiGetConfig)(nil),
(*Request_WifiSetup)(nil),
+ (*Request_WifiSetMeshDeviceTrust)(nil),
+ (*Request_WifiSetMeshConfig)(nil),
+ (*Request_WifiGetClientHistory)(nil),
}
file_spacex_api_device_device_proto_msgTypes[3].OneofWrappers = []interface{}{
(*Response_GetNextId)(nil),
+ (*Response_EnableDebugTelem)(nil),
(*Response_FactoryReset)(nil),
(*Response_GetDeviceInfo)(nil),
(*Response_GetLog)(nil),
(*Response_SetSku)(nil),
(*Response_SetTrustedKeys)(nil),
(*Response_Update)(nil),
+ (*Response_GetLocation)(nil),
+ (*Response_GetHeapDump)(nil),
+ (*Response_RestartControl)(nil),
+ (*Response_Fuse)(nil),
+ (*Response_GetConnections)(nil),
+ (*Response_StartSpeedtest)(nil),
+ (*Response_GetSpeedtestStatus)(nil),
+ (*Response_ReportClientSpeedtest)(nil),
+ (*Response_InitiateRemoteSsh)(nil),
+ (*Response_SelfTest)(nil),
+ (*Response_SetTestMode)(nil),
+ (*Response_SoftwareUpdate)(nil),
(*Response_DishAuthenticate)(nil),
+ (*Response_DishGetContext)(nil),
(*Response_DishGetHistory)(nil),
(*Response_DishGetStatus)(nil),
+ (*Response_DishGetObstructionMap)(nil),
(*Response_DishStow)(nil),
+ (*Response_StartDishSelfTest)(nil),
+ (*Response_DishSetEmc)(nil),
+ (*Response_DishGetEmc)(nil),
+ (*Response_DishSetConfig)(nil),
+ (*Response_DishGetConfig)(nil),
(*Response_TransceiverIfLoopbackTest)(nil),
(*Response_TransceiverGetStatus)(nil),
+ (*Response_TransceiverGetTelemetry)(nil),
(*Response_WifiAuthenticate)(nil),
(*Response_WifiGetClients)(nil),
+ (*Response_WifiGetDiagnostics)(nil),
(*Response_WifiGetHistory)(nil),
(*Response_WifiGetPingMetrics)(nil),
(*Response_WifiGetStatus)(nil),
(*Response_WifiSetConfig)(nil),
+ (*Response_WifiGetConfig)(nil),
(*Response_WifiSetup)(nil),
+ (*Response_WifiGetPersistentStats)(nil),
+ (*Response_WifiSetMeshDeviceTrust)(nil),
+ (*Response_WifiSetMeshConfig)(nil),
+ (*Response_WifiGetClientHistory)(nil),
}
file_spacex_api_device_device_proto_msgTypes[4].OneofWrappers = []interface{}{
(*Event_WifiNewClientConnected)(nil),
(*Event_WifiAccountBonding)(nil),
+ (*Event_WifiNewPeer)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_spacex_api_device_device_proto_rawDesc,
- NumEnums: 0,
- NumMessages: 30,
+ NumEnums: 3,
+ NumMessages: 59,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_spacex_api_device_device_proto_goTypes,
DependencyIndexes: file_spacex_api_device_device_proto_depIdxs,
+ EnumInfos: file_spacex_api_device_device_proto_enumTypes,
MessageInfos: file_spacex_api_device_device_proto_msgTypes,
}.Build()
File_spacex_api_device_device_proto = out.File
blob - 51ada24153ef5af7eb709ac78e27a560e17fecf7
blob + 0cdc8643de96b801e7eabaa219a28c412cfc9e63
--- device/dish.pb.go
+++ device/dish.pb.go
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ satellites "olowe.co/dishy/satellites"
reflect "reflect"
sync "sync"
)
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
+type UserMobilityClass int32
+
+const (
+ UserMobilityClass_STATIONARY UserMobilityClass = 0
+ UserMobilityClass_NOMADIC UserMobilityClass = 1
+ UserMobilityClass_MOBILE UserMobilityClass = 2
+)
+
+// Enum value maps for UserMobilityClass.
+var (
+ UserMobilityClass_name = map[int32]string{
+ 0: "STATIONARY",
+ 1: "NOMADIC",
+ 2: "MOBILE",
+ }
+ UserMobilityClass_value = map[string]int32{
+ "STATIONARY": 0,
+ "NOMADIC": 1,
+ "MOBILE": 2,
+ }
+)
+
+func (x UserMobilityClass) Enum() *UserMobilityClass {
+ p := new(UserMobilityClass)
+ *p = x
+ return p
+}
+
+func (x UserMobilityClass) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (UserMobilityClass) Descriptor() protoreflect.EnumDescriptor {
+ return file_spacex_api_device_dish_proto_enumTypes[0].Descriptor()
+}
+
+func (UserMobilityClass) Type() protoreflect.EnumType {
+ return &file_spacex_api_device_dish_proto_enumTypes[0]
+}
+
+func (x UserMobilityClass) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use UserMobilityClass.Descriptor instead.
+func (UserMobilityClass) EnumDescriptor() ([]byte, []int) {
+ return file_spacex_api_device_dish_proto_rawDescGZIP(), []int{0}
+}
+
+type SoftwareUpdateState int32
+
+const (
+ SoftwareUpdateState_SOFTWARE_UPDATE_STATE_UNKNOWN SoftwareUpdateState = 0
+ SoftwareUpdateState_IDLE SoftwareUpdateState = 1
+ SoftwareUpdateState_FETCHING SoftwareUpdateState = 2
+ SoftwareUpdateState_PRE_CHECK SoftwareUpdateState = 3
+ SoftwareUpdateState_WRITING SoftwareUpdateState = 4
+ SoftwareUpdateState_POST_CHECK SoftwareUpdateState = 5
+ SoftwareUpdateState_REBOOT_REQUIRED SoftwareUpdateState = 6
+ SoftwareUpdateState_DISABLED SoftwareUpdateState = 7
+ SoftwareUpdateState_FAULTED SoftwareUpdateState = 8
+)
+
+// Enum value maps for SoftwareUpdateState.
+var (
+ SoftwareUpdateState_name = map[int32]string{
+ 0: "SOFTWARE_UPDATE_STATE_UNKNOWN",
+ 1: "IDLE",
+ 2: "FETCHING",
+ 3: "PRE_CHECK",
+ 4: "WRITING",
+ 5: "POST_CHECK",
+ 6: "REBOOT_REQUIRED",
+ 7: "DISABLED",
+ 8: "FAULTED",
+ }
+ SoftwareUpdateState_value = map[string]int32{
+ "SOFTWARE_UPDATE_STATE_UNKNOWN": 0,
+ "IDLE": 1,
+ "FETCHING": 2,
+ "PRE_CHECK": 3,
+ "WRITING": 4,
+ "POST_CHECK": 5,
+ "REBOOT_REQUIRED": 6,
+ "DISABLED": 7,
+ "FAULTED": 8,
+ }
+)
+
+func (x SoftwareUpdateState) Enum() *SoftwareUpdateState {
+ p := new(SoftwareUpdateState)
+ *p = x
+ return p
+}
+
+func (x SoftwareUpdateState) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (SoftwareUpdateState) Descriptor() protoreflect.EnumDescriptor {
+ return file_spacex_api_device_dish_proto_enumTypes[1].Descriptor()
+}
+
+func (SoftwareUpdateState) Type() protoreflect.EnumType {
+ return &file_spacex_api_device_dish_proto_enumTypes[1]
+}
+
+func (x SoftwareUpdateState) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use SoftwareUpdateState.Descriptor instead.
+func (SoftwareUpdateState) EnumDescriptor() ([]byte, []int) {
+ return file_spacex_api_device_dish_proto_rawDescGZIP(), []int{1}
+}
+
+type UserClassOfService int32
+
+const (
+ UserClassOfService_UNKNOWN_USER_CLASS_OF_SERVICE UserClassOfService = 0
+ UserClassOfService_CONSUMER UserClassOfService = 1
+ UserClassOfService_BUSINESS UserClassOfService = 2
+ UserClassOfService_BUSINESS_PLUS UserClassOfService = 3
+ UserClassOfService_COMMERCIAL_AVIATION UserClassOfService = 4
+)
+
+// Enum value maps for UserClassOfService.
+var (
+ UserClassOfService_name = map[int32]string{
+ 0: "UNKNOWN_USER_CLASS_OF_SERVICE",
+ 1: "CONSUMER",
+ 2: "BUSINESS",
+ 3: "BUSINESS_PLUS",
+ 4: "COMMERCIAL_AVIATION",
+ }
+ UserClassOfService_value = map[string]int32{
+ "UNKNOWN_USER_CLASS_OF_SERVICE": 0,
+ "CONSUMER": 1,
+ "BUSINESS": 2,
+ "BUSINESS_PLUS": 3,
+ "COMMERCIAL_AVIATION": 4,
+ }
+)
+
+func (x UserClassOfService) Enum() *UserClassOfService {
+ p := new(UserClassOfService)
+ *p = x
+ return p
+}
+
+func (x UserClassOfService) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (UserClassOfService) Descriptor() protoreflect.EnumDescriptor {
+ return file_spacex_api_device_dish_proto_enumTypes[2].Descriptor()
+}
+
+func (UserClassOfService) Type() protoreflect.EnumType {
+ return &file_spacex_api_device_dish_proto_enumTypes[2]
+}
+
+func (x UserClassOfService) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use UserClassOfService.Descriptor instead.
+func (UserClassOfService) EnumDescriptor() ([]byte, []int) {
+ return file_spacex_api_device_dish_proto_rawDescGZIP(), []int{2}
+}
+
+type HasActuators int32
+
+const (
+ HasActuators_HAS_ACTUATORS_UNKNOWN HasActuators = 0
+ HasActuators_HAS_ACTUATORS_YES HasActuators = 1
+ HasActuators_HAS_ACTUATORS_NO HasActuators = 2
+)
+
+// Enum value maps for HasActuators.
+var (
+ HasActuators_name = map[int32]string{
+ 0: "HAS_ACTUATORS_UNKNOWN",
+ 1: "HAS_ACTUATORS_YES",
+ 2: "HAS_ACTUATORS_NO",
+ }
+ HasActuators_value = map[string]int32{
+ "HAS_ACTUATORS_UNKNOWN": 0,
+ "HAS_ACTUATORS_YES": 1,
+ "HAS_ACTUATORS_NO": 2,
+ }
+)
+
+func (x HasActuators) Enum() *HasActuators {
+ p := new(HasActuators)
+ *p = x
+ return p
+}
+
+func (x HasActuators) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (HasActuators) Descriptor() protoreflect.EnumDescriptor {
+ return file_spacex_api_device_dish_proto_enumTypes[3].Descriptor()
+}
+
+func (HasActuators) Type() protoreflect.EnumType {
+ return &file_spacex_api_device_dish_proto_enumTypes[3]
+}
+
+func (x HasActuators) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use HasActuators.Descriptor instead.
+func (HasActuators) EnumDescriptor() ([]byte, []int) {
+ return file_spacex_api_device_dish_proto_rawDescGZIP(), []int{3}
+}
+
type DishState int32
const (
}
func (DishState) Descriptor() protoreflect.EnumDescriptor {
- return file_spacex_api_device_dish_proto_enumTypes[0].Descriptor()
+ return file_spacex_api_device_dish_proto_enumTypes[4].Descriptor()
}
func (DishState) Type() protoreflect.EnumType {
- return &file_spacex_api_device_dish_proto_enumTypes[0]
+ return &file_spacex_api_device_dish_proto_enumTypes[4]
}
func (x DishState) Number() protoreflect.EnumNumber {
// Deprecated: Use DishState.Descriptor instead.
func (DishState) EnumDescriptor() ([]byte, []int) {
- return file_spacex_api_device_dish_proto_rawDescGZIP(), []int{0}
+ return file_spacex_api_device_dish_proto_rawDescGZIP(), []int{4}
}
+type DishOutage_Cause int32
+
+const (
+ DishOutage_UNKNOWN DishOutage_Cause = 0
+ DishOutage_BOOTING DishOutage_Cause = 1
+ DishOutage_STOWED DishOutage_Cause = 2
+ DishOutage_THERMAL_SHUTDOWN DishOutage_Cause = 3
+ DishOutage_NO_SCHEDULE DishOutage_Cause = 4
+ DishOutage_NO_SATS DishOutage_Cause = 5
+ DishOutage_OBSTRUCTED DishOutage_Cause = 6
+ DishOutage_NO_DOWNLINK DishOutage_Cause = 7
+ DishOutage_NO_PINGS DishOutage_Cause = 8
+ DishOutage_ACTUATOR_ACTIVITY DishOutage_Cause = 9
+ DishOutage_CABLE_TEST DishOutage_Cause = 10
+)
+
+// Enum value maps for DishOutage_Cause.
+var (
+ DishOutage_Cause_name = map[int32]string{
+ 0: "UNKNOWN",
+ 1: "BOOTING",
+ 2: "STOWED",
+ 3: "THERMAL_SHUTDOWN",
+ 4: "NO_SCHEDULE",
+ 5: "NO_SATS",
+ 6: "OBSTRUCTED",
+ 7: "NO_DOWNLINK",
+ 8: "NO_PINGS",
+ 9: "ACTUATOR_ACTIVITY",
+ 10: "CABLE_TEST",
+ }
+ DishOutage_Cause_value = map[string]int32{
+ "UNKNOWN": 0,
+ "BOOTING": 1,
+ "STOWED": 2,
+ "THERMAL_SHUTDOWN": 3,
+ "NO_SCHEDULE": 4,
+ "NO_SATS": 5,
+ "OBSTRUCTED": 6,
+ "NO_DOWNLINK": 7,
+ "NO_PINGS": 8,
+ "ACTUATOR_ACTIVITY": 9,
+ "CABLE_TEST": 10,
+ }
+)
+
+func (x DishOutage_Cause) Enum() *DishOutage_Cause {
+ p := new(DishOutage_Cause)
+ *p = x
+ return p
+}
+
+func (x DishOutage_Cause) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (DishOutage_Cause) Descriptor() protoreflect.EnumDescriptor {
+ return file_spacex_api_device_dish_proto_enumTypes[5].Descriptor()
+}
+
+func (DishOutage_Cause) Type() protoreflect.EnumType {
+ return &file_spacex_api_device_dish_proto_enumTypes[5]
+}
+
+func (x DishOutage_Cause) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use DishOutage_Cause.Descriptor instead.
+func (DishOutage_Cause) EnumDescriptor() ([]byte, []int) {
+ return file_spacex_api_device_dish_proto_rawDescGZIP(), []int{4, 0}
+}
+
+type SetTestModeRequest_RfMode int32
+
+const (
+ SetTestModeRequest_RX SetTestModeRequest_RfMode = 0
+ SetTestModeRequest_IDLE SetTestModeRequest_RfMode = 1
+ SetTestModeRequest_TX SetTestModeRequest_RfMode = 2
+ SetTestModeRequest_CAL SetTestModeRequest_RfMode = 3
+ SetTestModeRequest_USER SetTestModeRequest_RfMode = 4
+ SetTestModeRequest_NORMAL SetTestModeRequest_RfMode = 420
+)
+
+// Enum value maps for SetTestModeRequest_RfMode.
+var (
+ SetTestModeRequest_RfMode_name = map[int32]string{
+ 0: "RX",
+ 1: "IDLE",
+ 2: "TX",
+ 3: "CAL",
+ 4: "USER",
+ 420: "NORMAL",
+ }
+ SetTestModeRequest_RfMode_value = map[string]int32{
+ "RX": 0,
+ "IDLE": 1,
+ "TX": 2,
+ "CAL": 3,
+ "USER": 4,
+ "NORMAL": 420,
+ }
+)
+
+func (x SetTestModeRequest_RfMode) Enum() *SetTestModeRequest_RfMode {
+ p := new(SetTestModeRequest_RfMode)
+ *p = x
+ return p
+}
+
+func (x SetTestModeRequest_RfMode) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (SetTestModeRequest_RfMode) Descriptor() protoreflect.EnumDescriptor {
+ return file_spacex_api_device_dish_proto_enumTypes[6].Descriptor()
+}
+
+func (SetTestModeRequest_RfMode) Type() protoreflect.EnumType {
+ return &file_spacex_api_device_dish_proto_enumTypes[6]
+}
+
+func (x SetTestModeRequest_RfMode) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use SetTestModeRequest_RfMode.Descriptor instead.
+func (SetTestModeRequest_RfMode) EnumDescriptor() ([]byte, []int) {
+ return file_spacex_api_device_dish_proto_rawDescGZIP(), []int{18, 0}
+}
+
type DishStowRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
+
+ Unstow bool `protobuf:"varint,1,opt,name=unstow,proto3" json:"unstow,omitempty"`
}
func (x *DishStowRequest) Reset() {
return file_spacex_api_device_dish_proto_rawDescGZIP(), []int{0}
}
+func (x *DishStowRequest) GetUnstow() bool {
+ if x != nil {
+ return x.Unstow
+ }
+ return false
+}
+
type DishStowResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
return file_spacex_api_device_dish_proto_rawDescGZIP(), []int{1}
}
+type DishGetContextRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *DishGetContextRequest) Reset() {
+ *x = DishGetContextRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_dish_proto_msgTypes[2]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DishGetContextRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DishGetContextRequest) ProtoMessage() {}
+
+func (x *DishGetContextRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_dish_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 DishGetContextRequest.ProtoReflect.Descriptor instead.
+func (*DishGetContextRequest) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_dish_proto_rawDescGZIP(), []int{2}
+}
+
+type DishGetContextResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DeviceInfo *DeviceInfo `protobuf:"bytes,1,opt,name=device_info,json=deviceInfo,proto3" json:"device_info,omitempty"`
+ DeviceState *DeviceState `protobuf:"bytes,7,opt,name=device_state,json=deviceState,proto3" json:"device_state,omitempty"`
+ ObstructionFraction float32 `protobuf:"fixed32,2,opt,name=obstruction_fraction,json=obstructionFraction,proto3" json:"obstruction_fraction,omitempty"`
+ ObstructionValidS float32 `protobuf:"fixed32,3,opt,name=obstruction_valid_s,json=obstructionValidS,proto3" json:"obstruction_valid_s,omitempty"`
+ ObstructionCurrent bool `protobuf:"varint,12,opt,name=obstruction_current,json=obstructionCurrent,proto3" json:"obstruction_current,omitempty"`
+ CellId uint32 `protobuf:"varint,4,opt,name=cell_id,json=cellId,proto3" json:"cell_id,omitempty"`
+ PopRackId uint32 `protobuf:"varint,5,opt,name=pop_rack_id,json=popRackId,proto3" json:"pop_rack_id,omitempty"`
+ InitialSatelliteId uint32 `protobuf:"varint,8,opt,name=initial_satellite_id,json=initialSatelliteId,proto3" json:"initial_satellite_id,omitempty"`
+ InitialGatewayId uint32 `protobuf:"varint,9,opt,name=initial_gateway_id,json=initialGatewayId,proto3" json:"initial_gateway_id,omitempty"`
+ OnBackupBeam bool `protobuf:"varint,10,opt,name=on_backup_beam,json=onBackupBeam,proto3" json:"on_backup_beam,omitempty"`
+ SecondsToSlotEnd float32 `protobuf:"fixed32,6,opt,name=seconds_to_slot_end,json=secondsToSlotEnd,proto3" json:"seconds_to_slot_end,omitempty"`
+ DebugTelemetryEnabled bool `protobuf:"varint,11,opt,name=debug_telemetry_enabled,json=debugTelemetryEnabled,proto3" json:"debug_telemetry_enabled,omitempty"`
+ PopPingDropRate_15SMean float32 `protobuf:"fixed32,13,opt,name=pop_ping_drop_rate_15s_mean,json=popPingDropRate15sMean,proto3" json:"pop_ping_drop_rate_15s_mean,omitempty"`
+ PopPingLatencyMs_15SMean float32 `protobuf:"fixed32,14,opt,name=pop_ping_latency_ms_15s_mean,json=popPingLatencyMs15sMean,proto3" json:"pop_ping_latency_ms_15s_mean,omitempty"`
+ SecondsSinceLast_1SOutage float32 `protobuf:"fixed32,15,opt,name=seconds_since_last_1s_outage,json=secondsSinceLast1sOutage,proto3" json:"seconds_since_last_1s_outage,omitempty"`
+ SecondsSinceLast_2SOutage float32 `protobuf:"fixed32,16,opt,name=seconds_since_last_2s_outage,json=secondsSinceLast2sOutage,proto3" json:"seconds_since_last_2s_outage,omitempty"`
+ SecondsSinceLast_5SOutage float32 `protobuf:"fixed32,17,opt,name=seconds_since_last_5s_outage,json=secondsSinceLast5sOutage,proto3" json:"seconds_since_last_5s_outage,omitempty"`
+ SecondsSinceLast_15SOutage float32 `protobuf:"fixed32,18,opt,name=seconds_since_last_15s_outage,json=secondsSinceLast15sOutage,proto3" json:"seconds_since_last_15s_outage,omitempty"`
+ SecondsSinceLast_60SOutage float32 `protobuf:"fixed32,19,opt,name=seconds_since_last_60s_outage,json=secondsSinceLast60sOutage,proto3" json:"seconds_since_last_60s_outage,omitempty"`
+}
+
+func (x *DishGetContextResponse) Reset() {
+ *x = DishGetContextResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_dish_proto_msgTypes[3]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DishGetContextResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DishGetContextResponse) ProtoMessage() {}
+
+func (x *DishGetContextResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_dish_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 DishGetContextResponse.ProtoReflect.Descriptor instead.
+func (*DishGetContextResponse) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_dish_proto_rawDescGZIP(), []int{3}
+}
+
+func (x *DishGetContextResponse) GetDeviceInfo() *DeviceInfo {
+ if x != nil {
+ return x.DeviceInfo
+ }
+ return nil
+}
+
+func (x *DishGetContextResponse) GetDeviceState() *DeviceState {
+ if x != nil {
+ return x.DeviceState
+ }
+ return nil
+}
+
+func (x *DishGetContextResponse) GetObstructionFraction() float32 {
+ if x != nil {
+ return x.ObstructionFraction
+ }
+ return 0
+}
+
+func (x *DishGetContextResponse) GetObstructionValidS() float32 {
+ if x != nil {
+ return x.ObstructionValidS
+ }
+ return 0
+}
+
+func (x *DishGetContextResponse) GetObstructionCurrent() bool {
+ if x != nil {
+ return x.ObstructionCurrent
+ }
+ return false
+}
+
+func (x *DishGetContextResponse) GetCellId() uint32 {
+ if x != nil {
+ return x.CellId
+ }
+ return 0
+}
+
+func (x *DishGetContextResponse) GetPopRackId() uint32 {
+ if x != nil {
+ return x.PopRackId
+ }
+ return 0
+}
+
+func (x *DishGetContextResponse) GetInitialSatelliteId() uint32 {
+ if x != nil {
+ return x.InitialSatelliteId
+ }
+ return 0
+}
+
+func (x *DishGetContextResponse) GetInitialGatewayId() uint32 {
+ if x != nil {
+ return x.InitialGatewayId
+ }
+ return 0
+}
+
+func (x *DishGetContextResponse) GetOnBackupBeam() bool {
+ if x != nil {
+ return x.OnBackupBeam
+ }
+ return false
+}
+
+func (x *DishGetContextResponse) GetSecondsToSlotEnd() float32 {
+ if x != nil {
+ return x.SecondsToSlotEnd
+ }
+ return 0
+}
+
+func (x *DishGetContextResponse) GetDebugTelemetryEnabled() bool {
+ if x != nil {
+ return x.DebugTelemetryEnabled
+ }
+ return false
+}
+
+func (x *DishGetContextResponse) GetPopPingDropRate_15SMean() float32 {
+ if x != nil {
+ return x.PopPingDropRate_15SMean
+ }
+ return 0
+}
+
+func (x *DishGetContextResponse) GetPopPingLatencyMs_15SMean() float32 {
+ if x != nil {
+ return x.PopPingLatencyMs_15SMean
+ }
+ return 0
+}
+
+func (x *DishGetContextResponse) GetSecondsSinceLast_1SOutage() float32 {
+ if x != nil {
+ return x.SecondsSinceLast_1SOutage
+ }
+ return 0
+}
+
+func (x *DishGetContextResponse) GetSecondsSinceLast_2SOutage() float32 {
+ if x != nil {
+ return x.SecondsSinceLast_2SOutage
+ }
+ return 0
+}
+
+func (x *DishGetContextResponse) GetSecondsSinceLast_5SOutage() float32 {
+ if x != nil {
+ return x.SecondsSinceLast_5SOutage
+ }
+ return 0
+}
+
+func (x *DishGetContextResponse) GetSecondsSinceLast_15SOutage() float32 {
+ if x != nil {
+ return x.SecondsSinceLast_15SOutage
+ }
+ return 0
+}
+
+func (x *DishGetContextResponse) GetSecondsSinceLast_60SOutage() float32 {
+ if x != nil {
+ return x.SecondsSinceLast_60SOutage
+ }
+ return 0
+}
+
+type DishOutage struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Cause DishOutage_Cause `protobuf:"varint,1,opt,name=cause,proto3,enum=SpaceX.API.Device.DishOutage_Cause" json:"cause,omitempty"`
+ StartTimestampNs int64 `protobuf:"varint,2,opt,name=start_timestamp_ns,json=startTimestampNs,proto3" json:"start_timestamp_ns,omitempty"`
+ DurationNs uint64 `protobuf:"varint,3,opt,name=duration_ns,json=durationNs,proto3" json:"duration_ns,omitempty"`
+ DidSwitch bool `protobuf:"varint,4,opt,name=did_switch,json=didSwitch,proto3" json:"did_switch,omitempty"`
+}
+
+func (x *DishOutage) Reset() {
+ *x = DishOutage{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_dish_proto_msgTypes[4]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DishOutage) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DishOutage) ProtoMessage() {}
+
+func (x *DishOutage) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_dish_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 DishOutage.ProtoReflect.Descriptor instead.
+func (*DishOutage) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_dish_proto_rawDescGZIP(), []int{4}
+}
+
+func (x *DishOutage) GetCause() DishOutage_Cause {
+ if x != nil {
+ return x.Cause
+ }
+ return DishOutage_UNKNOWN
+}
+
+func (x *DishOutage) GetStartTimestampNs() int64 {
+ if x != nil {
+ return x.StartTimestampNs
+ }
+ return 0
+}
+
+func (x *DishOutage) GetDurationNs() uint64 {
+ if x != nil {
+ return x.DurationNs
+ }
+ return 0
+}
+
+func (x *DishOutage) GetDidSwitch() bool {
+ if x != nil {
+ return x.DidSwitch
+ }
+ return false
+}
+
type DishGetHistoryResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- Current uint64 `protobuf:"varint,1,opt,name=current,proto3" json:"current,omitempty"`
- PopPingDropRate []float32 `protobuf:"fixed32,1001,rep,packed,name=pop_ping_drop_rate,json=popPingDropRate,proto3" json:"pop_ping_drop_rate,omitempty"`
- PopPingLatencyMs []float32 `protobuf:"fixed32,1002,rep,packed,name=pop_ping_latency_ms,json=popPingLatencyMs,proto3" json:"pop_ping_latency_ms,omitempty"`
- DownlinkThroughputBps []float32 `protobuf:"fixed32,1003,rep,packed,name=downlink_throughput_bps,json=downlinkThroughputBps,proto3" json:"downlink_throughput_bps,omitempty"`
- UplinkThroughputBps []float32 `protobuf:"fixed32,1004,rep,packed,name=uplink_throughput_bps,json=uplinkThroughputBps,proto3" json:"uplink_throughput_bps,omitempty"`
- Snr []float32 `protobuf:"fixed32,1005,rep,packed,name=snr,proto3" json:"snr,omitempty"`
- Scheduled []bool `protobuf:"varint,1006,rep,packed,name=scheduled,proto3" json:"scheduled,omitempty"`
- Obstructed []bool `protobuf:"varint,1007,rep,packed,name=obstructed,proto3" json:"obstructed,omitempty"`
+ Current uint64 `protobuf:"varint,1,opt,name=current,proto3" json:"current,omitempty"`
+ PopPingDropRate []float32 `protobuf:"fixed32,1001,rep,packed,name=pop_ping_drop_rate,json=popPingDropRate,proto3" json:"pop_ping_drop_rate,omitempty"`
+ PopPingLatencyMs []float32 `protobuf:"fixed32,1002,rep,packed,name=pop_ping_latency_ms,json=popPingLatencyMs,proto3" json:"pop_ping_latency_ms,omitempty"`
+ DownlinkThroughputBps []float32 `protobuf:"fixed32,1003,rep,packed,name=downlink_throughput_bps,json=downlinkThroughputBps,proto3" json:"downlink_throughput_bps,omitempty"`
+ UplinkThroughputBps []float32 `protobuf:"fixed32,1004,rep,packed,name=uplink_throughput_bps,json=uplinkThroughputBps,proto3" json:"uplink_throughput_bps,omitempty"`
+ Outages []*DishOutage `protobuf:"bytes,1009,rep,name=outages,proto3" json:"outages,omitempty"`
}
func (x *DishGetHistoryResponse) Reset() {
*x = DishGetHistoryResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_spacex_api_device_dish_proto_msgTypes[2]
+ mi := &file_spacex_api_device_dish_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (*DishGetHistoryResponse) ProtoMessage() {}
func (x *DishGetHistoryResponse) ProtoReflect() protoreflect.Message {
- mi := &file_spacex_api_device_dish_proto_msgTypes[2]
+ mi := &file_spacex_api_device_dish_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
// Deprecated: Use DishGetHistoryResponse.ProtoReflect.Descriptor instead.
func (*DishGetHistoryResponse) Descriptor() ([]byte, []int) {
- return file_spacex_api_device_dish_proto_rawDescGZIP(), []int{2}
+ return file_spacex_api_device_dish_proto_rawDescGZIP(), []int{5}
}
func (x *DishGetHistoryResponse) GetCurrent() uint64 {
return nil
}
-func (x *DishGetHistoryResponse) GetSnr() []float32 {
+func (x *DishGetHistoryResponse) GetOutages() []*DishOutage {
if x != nil {
- return x.Snr
+ return x.Outages
}
return nil
}
-func (x *DishGetHistoryResponse) GetScheduled() []bool {
- if x != nil {
- return x.Scheduled
- }
- return nil
-}
-
-func (x *DishGetHistoryResponse) GetObstructed() []bool {
- if x != nil {
- return x.Obstructed
- }
- return nil
-}
-
type DishGetStatusResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- DeviceInfo *DeviceInfo `protobuf:"bytes,1,opt,name=device_info,json=deviceInfo,proto3" json:"device_info,omitempty"`
- DeviceState *DeviceState `protobuf:"bytes,2,opt,name=device_state,json=deviceState,proto3" json:"device_state,omitempty"`
- State DishState `protobuf:"varint,1006,opt,name=state,proto3,enum=SpaceX.API.Device.DishState" json:"state,omitempty"`
- Alerts *DishAlerts `protobuf:"bytes,1005,opt,name=alerts,proto3" json:"alerts,omitempty"`
- Snr float32 `protobuf:"fixed32,1001,opt,name=snr,proto3" json:"snr,omitempty"`
- SecondsToFirstNonemptySlot float32 `protobuf:"fixed32,1002,opt,name=seconds_to_first_nonempty_slot,json=secondsToFirstNonemptySlot,proto3" json:"seconds_to_first_nonempty_slot,omitempty"`
- PopPingDropRate float32 `protobuf:"fixed32,1003,opt,name=pop_ping_drop_rate,json=popPingDropRate,proto3" json:"pop_ping_drop_rate,omitempty"`
- DownlinkThroughputBps float32 `protobuf:"fixed32,1007,opt,name=downlink_throughput_bps,json=downlinkThroughputBps,proto3" json:"downlink_throughput_bps,omitempty"`
- UplinkThroughputBps float32 `protobuf:"fixed32,1008,opt,name=uplink_throughput_bps,json=uplinkThroughputBps,proto3" json:"uplink_throughput_bps,omitempty"`
- PopPingLatencyMs float32 `protobuf:"fixed32,1009,opt,name=pop_ping_latency_ms,json=popPingLatencyMs,proto3" json:"pop_ping_latency_ms,omitempty"`
- ObstructionStats *DishObstructionStats `protobuf:"bytes,1004,opt,name=obstruction_stats,json=obstructionStats,proto3" json:"obstruction_stats,omitempty"`
+ DeviceInfo *DeviceInfo `protobuf:"bytes,1,opt,name=device_info,json=deviceInfo,proto3" json:"device_info,omitempty"`
+ DeviceState *DeviceState `protobuf:"bytes,2,opt,name=device_state,json=deviceState,proto3" json:"device_state,omitempty"`
+ Alerts *DishAlerts `protobuf:"bytes,1005,opt,name=alerts,proto3" json:"alerts,omitempty"`
+ Outage *DishOutage `protobuf:"bytes,1014,opt,name=outage,proto3" json:"outage,omitempty"`
+ GpsStats *DishGpsStats `protobuf:"bytes,1015,opt,name=gps_stats,json=gpsStats,proto3" json:"gps_stats,omitempty"`
+ SecondsToFirstNonemptySlot float32 `protobuf:"fixed32,1002,opt,name=seconds_to_first_nonempty_slot,json=secondsToFirstNonemptySlot,proto3" json:"seconds_to_first_nonempty_slot,omitempty"`
+ PopPingDropRate float32 `protobuf:"fixed32,1003,opt,name=pop_ping_drop_rate,json=popPingDropRate,proto3" json:"pop_ping_drop_rate,omitempty"`
+ DownlinkThroughputBps float32 `protobuf:"fixed32,1007,opt,name=downlink_throughput_bps,json=downlinkThroughputBps,proto3" json:"downlink_throughput_bps,omitempty"`
+ UplinkThroughputBps float32 `protobuf:"fixed32,1008,opt,name=uplink_throughput_bps,json=uplinkThroughputBps,proto3" json:"uplink_throughput_bps,omitempty"`
+ PopPingLatencyMs float32 `protobuf:"fixed32,1009,opt,name=pop_ping_latency_ms,json=popPingLatencyMs,proto3" json:"pop_ping_latency_ms,omitempty"`
+ ObstructionStats *DishObstructionStats `protobuf:"bytes,1004,opt,name=obstruction_stats,json=obstructionStats,proto3" json:"obstruction_stats,omitempty"`
+ StowRequested bool `protobuf:"varint,1010,opt,name=stow_requested,json=stowRequested,proto3" json:"stow_requested,omitempty"`
+ BoresightAzimuthDeg float32 `protobuf:"fixed32,1011,opt,name=boresight_azimuth_deg,json=boresightAzimuthDeg,proto3" json:"boresight_azimuth_deg,omitempty"`
+ BoresightElevationDeg float32 `protobuf:"fixed32,1012,opt,name=boresight_elevation_deg,json=boresightElevationDeg,proto3" json:"boresight_elevation_deg,omitempty"`
+ EthSpeedMbps int32 `protobuf:"varint,1016,opt,name=eth_speed_mbps,json=ethSpeedMbps,proto3" json:"eth_speed_mbps,omitempty"`
+ MobilityClass UserMobilityClass `protobuf:"varint,1017,opt,name=mobility_class,json=mobilityClass,proto3,enum=SpaceX.API.Device.UserMobilityClass" json:"mobility_class,omitempty"`
+ IsSnrAboveNoiseFloor bool `protobuf:"varint,1018,opt,name=is_snr_above_noise_floor,json=isSnrAboveNoiseFloor,proto3" json:"is_snr_above_noise_floor,omitempty"`
+ ReadyStates *DishReadyStates `protobuf:"bytes,1019,opt,name=ready_states,json=readyStates,proto3" json:"ready_states,omitempty"`
+ ClassOfService UserClassOfService `protobuf:"varint,1020,opt,name=class_of_service,json=classOfService,proto3,enum=SpaceX.API.Device.UserClassOfService" json:"class_of_service,omitempty"`
+ SoftwareUpdateState SoftwareUpdateState `protobuf:"varint,1021,opt,name=software_update_state,json=softwareUpdateState,proto3,enum=SpaceX.API.Device.SoftwareUpdateState" json:"software_update_state,omitempty"`
+ IsSnrPersistentlyLow bool `protobuf:"varint,1022,opt,name=is_snr_persistently_low,json=isSnrPersistentlyLow,proto3" json:"is_snr_persistently_low,omitempty"`
+ HasActuators HasActuators `protobuf:"varint,1023,opt,name=has_actuators,json=hasActuators,proto3,enum=SpaceX.API.Device.HasActuators" json:"has_actuators,omitempty"`
+ DisablementCode satellites.UtDisablementCode `protobuf:"varint,1024,opt,name=disablement_code,json=disablementCode,proto3,enum=SpaceX.API.Satellites.Network.UtDisablementCode" json:"disablement_code,omitempty"`
}
func (x *DishGetStatusResponse) Reset() {
*x = DishGetStatusResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_spacex_api_device_dish_proto_msgTypes[3]
+ mi := &file_spacex_api_device_dish_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (*DishGetStatusResponse) ProtoMessage() {}
func (x *DishGetStatusResponse) ProtoReflect() protoreflect.Message {
- mi := &file_spacex_api_device_dish_proto_msgTypes[3]
+ mi := &file_spacex_api_device_dish_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
// Deprecated: Use DishGetStatusResponse.ProtoReflect.Descriptor instead.
func (*DishGetStatusResponse) Descriptor() ([]byte, []int) {
- return file_spacex_api_device_dish_proto_rawDescGZIP(), []int{3}
+ return file_spacex_api_device_dish_proto_rawDescGZIP(), []int{6}
}
func (x *DishGetStatusResponse) GetDeviceInfo() *DeviceInfo {
return nil
}
-func (x *DishGetStatusResponse) GetState() DishState {
+func (x *DishGetStatusResponse) GetAlerts() *DishAlerts {
if x != nil {
- return x.State
+ return x.Alerts
}
- return DishState_UNKNOWN
+ return nil
}
-func (x *DishGetStatusResponse) GetAlerts() *DishAlerts {
+func (x *DishGetStatusResponse) GetOutage() *DishOutage {
if x != nil {
- return x.Alerts
+ return x.Outage
}
return nil
}
-func (x *DishGetStatusResponse) GetSnr() float32 {
+func (x *DishGetStatusResponse) GetGpsStats() *DishGpsStats {
if x != nil {
- return x.Snr
+ return x.GpsStats
}
- return 0
+ return nil
}
func (x *DishGetStatusResponse) GetSecondsToFirstNonemptySlot() float32 {
return nil
}
-type DishAlerts struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- MotorsStuck bool `protobuf:"varint,1,opt,name=motors_stuck,json=motorsStuck,proto3" json:"motors_stuck,omitempty"`
- ThermalThrottle bool `protobuf:"varint,3,opt,name=thermal_throttle,json=thermalThrottle,proto3" json:"thermal_throttle,omitempty"`
- ThermalShutdown bool `protobuf:"varint,2,opt,name=thermal_shutdown,json=thermalShutdown,proto3" json:"thermal_shutdown,omitempty"`
- UnexpectedLocation bool `protobuf:"varint,4,opt,name=unexpected_location,json=unexpectedLocation,proto3" json:"unexpected_location,omitempty"`
-}
-
-func (x *DishAlerts) Reset() {
- *x = DishAlerts{}
- if protoimpl.UnsafeEnabled {
- mi := &file_spacex_api_device_dish_proto_msgTypes[4]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
+func (x *DishGetStatusResponse) GetStowRequested() bool {
+ if x != nil {
+ return x.StowRequested
+ }
+ return false
+}
+
+func (x *DishGetStatusResponse) GetBoresightAzimuthDeg() float32 {
+ if x != nil {
+ return x.BoresightAzimuthDeg
+ }
+ return 0
+}
+
+func (x *DishGetStatusResponse) GetBoresightElevationDeg() float32 {
+ if x != nil {
+ return x.BoresightElevationDeg
+ }
+ return 0
+}
+
+func (x *DishGetStatusResponse) GetEthSpeedMbps() int32 {
+ if x != nil {
+ return x.EthSpeedMbps
+ }
+ return 0
+}
+
+func (x *DishGetStatusResponse) GetMobilityClass() UserMobilityClass {
+ if x != nil {
+ return x.MobilityClass
+ }
+ return UserMobilityClass_STATIONARY
+}
+
+func (x *DishGetStatusResponse) GetIsSnrAboveNoiseFloor() bool {
+ if x != nil {
+ return x.IsSnrAboveNoiseFloor
+ }
+ return false
+}
+
+func (x *DishGetStatusResponse) GetReadyStates() *DishReadyStates {
+ if x != nil {
+ return x.ReadyStates
}
+ return nil
}
-func (x *DishAlerts) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*DishAlerts) ProtoMessage() {}
-
-func (x *DishAlerts) ProtoReflect() protoreflect.Message {
- mi := &file_spacex_api_device_dish_proto_msgTypes[4]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
+func (x *DishGetStatusResponse) GetClassOfService() UserClassOfService {
+ if x != nil {
+ return x.ClassOfService
}
- return mi.MessageOf(x)
+ return UserClassOfService_UNKNOWN_USER_CLASS_OF_SERVICE
}
-// Deprecated: Use DishAlerts.ProtoReflect.Descriptor instead.
-func (*DishAlerts) Descriptor() ([]byte, []int) {
- return file_spacex_api_device_dish_proto_rawDescGZIP(), []int{4}
-}
-
-func (x *DishAlerts) GetMotorsStuck() bool {
+func (x *DishGetStatusResponse) GetSoftwareUpdateState() SoftwareUpdateState {
if x != nil {
- return x.MotorsStuck
+ return x.SoftwareUpdateState
}
- return false
+ return SoftwareUpdateState_SOFTWARE_UPDATE_STATE_UNKNOWN
}
-func (x *DishAlerts) GetThermalThrottle() bool {
+func (x *DishGetStatusResponse) GetIsSnrPersistentlyLow() bool {
if x != nil {
- return x.ThermalThrottle
+ return x.IsSnrPersistentlyLow
}
return false
}
-func (x *DishAlerts) GetThermalShutdown() bool {
+func (x *DishGetStatusResponse) GetHasActuators() HasActuators {
if x != nil {
- return x.ThermalShutdown
+ return x.HasActuators
}
- return false
+ return HasActuators_HAS_ACTUATORS_UNKNOWN
}
-func (x *DishAlerts) GetUnexpectedLocation() bool {
+func (x *DishGetStatusResponse) GetDisablementCode() satellites.UtDisablementCode {
if x != nil {
- return x.UnexpectedLocation
+ return x.DisablementCode
}
- return false
+ return satellites.UtDisablementCode(0)
}
-type DishObstructionStats struct {
+type DishGetObstructionMapRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
-
- CurrentlyObstructed bool `protobuf:"varint,5,opt,name=currently_obstructed,json=currentlyObstructed,proto3" json:"currently_obstructed,omitempty"`
- FractionObstructed float32 `protobuf:"fixed32,1,opt,name=fraction_obstructed,json=fractionObstructed,proto3" json:"fraction_obstructed,omitempty"`
- Last_24HObstructedS float32 `protobuf:"fixed32,1006,opt,name=last_24h_obstructed_s,json=last24hObstructedS,proto3" json:"last_24h_obstructed_s,omitempty"`
- ValidS float32 `protobuf:"fixed32,4,opt,name=valid_s,json=validS,proto3" json:"valid_s,omitempty"`
- WedgeFractionObstructed []float32 `protobuf:"fixed32,2,rep,packed,name=wedge_fraction_obstructed,json=wedgeFractionObstructed,proto3" json:"wedge_fraction_obstructed,omitempty"`
- WedgeAbsFractionObstructed []float32 `protobuf:"fixed32,3,rep,packed,name=wedge_abs_fraction_obstructed,json=wedgeAbsFractionObstructed,proto3" json:"wedge_abs_fraction_obstructed,omitempty"`
}
-func (x *DishObstructionStats) Reset() {
- *x = DishObstructionStats{}
+func (x *DishGetObstructionMapRequest) Reset() {
+ *x = DishGetObstructionMapRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_spacex_api_device_dish_proto_msgTypes[5]
+ mi := &file_spacex_api_device_dish_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
-func (x *DishObstructionStats) String() string {
+func (x *DishGetObstructionMapRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*DishObstructionStats) ProtoMessage() {}
+func (*DishGetObstructionMapRequest) ProtoMessage() {}
-func (x *DishObstructionStats) ProtoReflect() protoreflect.Message {
- mi := &file_spacex_api_device_dish_proto_msgTypes[5]
+func (x *DishGetObstructionMapRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_dish_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
return mi.MessageOf(x)
}
-// Deprecated: Use DishObstructionStats.ProtoReflect.Descriptor instead.
-func (*DishObstructionStats) Descriptor() ([]byte, []int) {
- return file_spacex_api_device_dish_proto_rawDescGZIP(), []int{5}
+// Deprecated: Use DishGetObstructionMapRequest.ProtoReflect.Descriptor instead.
+func (*DishGetObstructionMapRequest) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_dish_proto_rawDescGZIP(), []int{7}
}
-func (x *DishObstructionStats) GetCurrentlyObstructed() bool {
- if x != nil {
- return x.CurrentlyObstructed
- }
- return false
+type DishGetObstructionMapResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ NumRows uint32 `protobuf:"varint,1,opt,name=num_rows,json=numRows,proto3" json:"num_rows,omitempty"`
+ NumCols uint32 `protobuf:"varint,2,opt,name=num_cols,json=numCols,proto3" json:"num_cols,omitempty"`
+ Snr []float32 `protobuf:"fixed32,3,rep,packed,name=snr,proto3" json:"snr,omitempty"`
}
-func (x *DishObstructionStats) GetFractionObstructed() float32 {
- if x != nil {
- return x.FractionObstructed
+func (x *DishGetObstructionMapResponse) Reset() {
+ *x = DishGetObstructionMapResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_dish_proto_msgTypes[8]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
- return 0
}
-func (x *DishObstructionStats) GetLast_24HObstructedS() float32 {
- if x != nil {
- return x.Last_24HObstructedS
+func (x *DishGetObstructionMapResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DishGetObstructionMapResponse) ProtoMessage() {}
+
+func (x *DishGetObstructionMapResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_dish_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 0
+ return mi.MessageOf(x)
}
-func (x *DishObstructionStats) GetValidS() float32 {
+// Deprecated: Use DishGetObstructionMapResponse.ProtoReflect.Descriptor instead.
+func (*DishGetObstructionMapResponse) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_dish_proto_rawDescGZIP(), []int{8}
+}
+
+func (x *DishGetObstructionMapResponse) GetNumRows() uint32 {
if x != nil {
- return x.ValidS
+ return x.NumRows
}
return 0
}
-func (x *DishObstructionStats) GetWedgeFractionObstructed() []float32 {
+func (x *DishGetObstructionMapResponse) GetNumCols() uint32 {
if x != nil {
- return x.WedgeFractionObstructed
+ return x.NumCols
}
- return nil
+ return 0
}
-func (x *DishObstructionStats) GetWedgeAbsFractionObstructed() []float32 {
+func (x *DishGetObstructionMapResponse) GetSnr() []float32 {
if x != nil {
- return x.WedgeAbsFractionObstructed
+ return x.Snr
}
return nil
}
-type DishAuthenticateResponse struct {
+type DishAlerts struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- Dish *ChallengeResponse `protobuf:"bytes,2,opt,name=dish,proto3" json:"dish,omitempty"`
+ MotorsStuck bool `protobuf:"varint,1,opt,name=motors_stuck,json=motorsStuck,proto3" json:"motors_stuck,omitempty"`
+ ThermalThrottle bool `protobuf:"varint,3,opt,name=thermal_throttle,json=thermalThrottle,proto3" json:"thermal_throttle,omitempty"`
+ ThermalShutdown bool `protobuf:"varint,2,opt,name=thermal_shutdown,json=thermalShutdown,proto3" json:"thermal_shutdown,omitempty"`
+ MastNotNearVertical bool `protobuf:"varint,5,opt,name=mast_not_near_vertical,json=mastNotNearVertical,proto3" json:"mast_not_near_vertical,omitempty"`
+ UnexpectedLocation bool `protobuf:"varint,4,opt,name=unexpected_location,json=unexpectedLocation,proto3" json:"unexpected_location,omitempty"`
+ SlowEthernetSpeeds bool `protobuf:"varint,6,opt,name=slow_ethernet_speeds,json=slowEthernetSpeeds,proto3" json:"slow_ethernet_speeds,omitempty"`
+ Roaming bool `protobuf:"varint,7,opt,name=roaming,proto3" json:"roaming,omitempty"`
+ InstallPending bool `protobuf:"varint,8,opt,name=install_pending,json=installPending,proto3" json:"install_pending,omitempty"`
+ IsHeating bool `protobuf:"varint,9,opt,name=is_heating,json=isHeating,proto3" json:"is_heating,omitempty"`
+ PowerSupplyThermalThrottle bool `protobuf:"varint,10,opt,name=power_supply_thermal_throttle,json=powerSupplyThermalThrottle,proto3" json:"power_supply_thermal_throttle,omitempty"`
}
-func (x *DishAuthenticateResponse) Reset() {
- *x = DishAuthenticateResponse{}
+func (x *DishAlerts) Reset() {
+ *x = DishAlerts{}
if protoimpl.UnsafeEnabled {
- mi := &file_spacex_api_device_dish_proto_msgTypes[6]
+ mi := &file_spacex_api_device_dish_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
-func (x *DishAuthenticateResponse) String() string {
+func (x *DishAlerts) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*DishAuthenticateResponse) ProtoMessage() {}
+func (*DishAlerts) ProtoMessage() {}
-func (x *DishAuthenticateResponse) ProtoReflect() protoreflect.Message {
- mi := &file_spacex_api_device_dish_proto_msgTypes[6]
+func (x *DishAlerts) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_dish_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
return mi.MessageOf(x)
}
-// Deprecated: Use DishAuthenticateResponse.ProtoReflect.Descriptor instead.
-func (*DishAuthenticateResponse) Descriptor() ([]byte, []int) {
- return file_spacex_api_device_dish_proto_rawDescGZIP(), []int{6}
+// Deprecated: Use DishAlerts.ProtoReflect.Descriptor instead.
+func (*DishAlerts) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_dish_proto_rawDescGZIP(), []int{9}
}
-func (x *DishAuthenticateResponse) GetDish() *ChallengeResponse {
+func (x *DishAlerts) GetMotorsStuck() bool {
if x != nil {
- return x.Dish
+ return x.MotorsStuck
}
- return nil
+ return false
}
-var File_spacex_api_device_dish_proto protoreflect.FileDescriptor
+func (x *DishAlerts) GetThermalThrottle() bool {
+ if x != nil {
+ return x.ThermalThrottle
+ }
+ return false
+}
-var file_spacex_api_device_dish_proto_rawDesc = []byte{
- 0x0a, 0x1c, 0x73, 0x70, 0x61, 0x63, 0x65, 0x78, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76,
- 0x69, 0x63, 0x65, 0x2f, 0x64, 0x69, 0x73, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11,
- 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
- 0x65, 0x1a, 0x1e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x78, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65,
- 0x76, 0x69, 0x63, 0x65, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74,
- 0x6f, 0x22, 0x11, 0x0a, 0x0f, 0x44, 0x69, 0x73, 0x68, 0x53, 0x74, 0x6f, 0x77, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x22, 0x12, 0x0a, 0x10, 0x44, 0x69, 0x73, 0x68, 0x53, 0x74, 0x6f, 0x77,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xd1, 0x02, 0x0a, 0x16, 0x44, 0x69, 0x73,
- 0x68, 0x47, 0x65, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x2c, 0x0a,
- 0x12, 0x70, 0x6f, 0x70, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x72,
- 0x61, 0x74, 0x65, 0x18, 0xe9, 0x07, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0f, 0x70, 0x6f, 0x70, 0x50,
- 0x69, 0x6e, 0x67, 0x44, 0x72, 0x6f, 0x70, 0x52, 0x61, 0x74, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x70,
- 0x6f, 0x70, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f,
- 0x6d, 0x73, 0x18, 0xea, 0x07, 0x20, 0x03, 0x28, 0x02, 0x52, 0x10, 0x70, 0x6f, 0x70, 0x50, 0x69,
- 0x6e, 0x67, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4d, 0x73, 0x12, 0x37, 0x0a, 0x17, 0x64,
- 0x6f, 0x77, 0x6e, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x70,
- 0x75, 0x74, 0x5f, 0x62, 0x70, 0x73, 0x18, 0xeb, 0x07, 0x20, 0x03, 0x28, 0x02, 0x52, 0x15, 0x64,
- 0x6f, 0x77, 0x6e, 0x6c, 0x69, 0x6e, 0x6b, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x70, 0x75,
- 0x74, 0x42, 0x70, 0x73, 0x12, 0x33, 0x0a, 0x15, 0x75, 0x70, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x74,
- 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x70, 0x75, 0x74, 0x5f, 0x62, 0x70, 0x73, 0x18, 0xec, 0x07,
- 0x20, 0x03, 0x28, 0x02, 0x52, 0x13, 0x75, 0x70, 0x6c, 0x69, 0x6e, 0x6b, 0x54, 0x68, 0x72, 0x6f,
- 0x75, 0x67, 0x68, 0x70, 0x75, 0x74, 0x42, 0x70, 0x73, 0x12, 0x11, 0x0a, 0x03, 0x73, 0x6e, 0x72,
- 0x18, 0xed, 0x07, 0x20, 0x03, 0x28, 0x02, 0x52, 0x03, 0x73, 0x6e, 0x72, 0x12, 0x1d, 0x0a, 0x09,
- 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x18, 0xee, 0x07, 0x20, 0x03, 0x28, 0x08,
- 0x52, 0x09, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0a, 0x6f,
- 0x62, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x65, 0x64, 0x18, 0xef, 0x07, 0x20, 0x03, 0x28, 0x08,
- 0x52, 0x0a, 0x6f, 0x62, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x65, 0x64, 0x22, 0x82, 0x05, 0x0a,
- 0x15, 0x44, 0x69, 0x73, 0x68, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65,
- 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x53, 0x70,
- 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e,
- 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69,
- 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x41, 0x0a, 0x0c, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65,
- 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x53,
+func (x *DishAlerts) GetThermalShutdown() bool {
+ if x != nil {
+ return x.ThermalShutdown
+ }
+ return false
+}
+
+func (x *DishAlerts) GetMastNotNearVertical() bool {
+ if x != nil {
+ return x.MastNotNearVertical
+ }
+ return false
+}
+
+func (x *DishAlerts) GetUnexpectedLocation() bool {
+ if x != nil {
+ return x.UnexpectedLocation
+ }
+ return false
+}
+
+func (x *DishAlerts) GetSlowEthernetSpeeds() bool {
+ if x != nil {
+ return x.SlowEthernetSpeeds
+ }
+ return false
+}
+
+func (x *DishAlerts) GetRoaming() bool {
+ if x != nil {
+ return x.Roaming
+ }
+ return false
+}
+
+func (x *DishAlerts) GetInstallPending() bool {
+ if x != nil {
+ return x.InstallPending
+ }
+ return false
+}
+
+func (x *DishAlerts) GetIsHeating() bool {
+ if x != nil {
+ return x.IsHeating
+ }
+ return false
+}
+
+func (x *DishAlerts) GetPowerSupplyThermalThrottle() bool {
+ if x != nil {
+ return x.PowerSupplyThermalThrottle
+ }
+ return false
+}
+
+type DishReadyStates struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Cady bool `protobuf:"varint,1,opt,name=cady,proto3" json:"cady,omitempty"`
+ Scp bool `protobuf:"varint,2,opt,name=scp,proto3" json:"scp,omitempty"`
+ L1L2 bool `protobuf:"varint,3,opt,name=l1l2,proto3" json:"l1l2,omitempty"`
+ Xphy bool `protobuf:"varint,4,opt,name=xphy,proto3" json:"xphy,omitempty"`
+ Aap bool `protobuf:"varint,5,opt,name=aap,proto3" json:"aap,omitempty"`
+ Rf bool `protobuf:"varint,6,opt,name=rf,proto3" json:"rf,omitempty"`
+}
+
+func (x *DishReadyStates) Reset() {
+ *x = DishReadyStates{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_dish_proto_msgTypes[10]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DishReadyStates) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DishReadyStates) ProtoMessage() {}
+
+func (x *DishReadyStates) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_dish_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 DishReadyStates.ProtoReflect.Descriptor instead.
+func (*DishReadyStates) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_dish_proto_rawDescGZIP(), []int{10}
+}
+
+func (x *DishReadyStates) GetCady() bool {
+ if x != nil {
+ return x.Cady
+ }
+ return false
+}
+
+func (x *DishReadyStates) GetScp() bool {
+ if x != nil {
+ return x.Scp
+ }
+ return false
+}
+
+func (x *DishReadyStates) GetL1L2() bool {
+ if x != nil {
+ return x.L1L2
+ }
+ return false
+}
+
+func (x *DishReadyStates) GetXphy() bool {
+ if x != nil {
+ return x.Xphy
+ }
+ return false
+}
+
+func (x *DishReadyStates) GetAap() bool {
+ if x != nil {
+ return x.Aap
+ }
+ return false
+}
+
+func (x *DishReadyStates) GetRf() bool {
+ if x != nil {
+ return x.Rf
+ }
+ return false
+}
+
+type DishGpsStats struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GpsValid bool `protobuf:"varint,1,opt,name=gps_valid,json=gpsValid,proto3" json:"gps_valid,omitempty"`
+ GpsSats uint32 `protobuf:"varint,2,opt,name=gps_sats,json=gpsSats,proto3" json:"gps_sats,omitempty"`
+ NoSatsAfterTtff bool `protobuf:"varint,3,opt,name=no_sats_after_ttff,json=noSatsAfterTtff,proto3" json:"no_sats_after_ttff,omitempty"`
+}
+
+func (x *DishGpsStats) Reset() {
+ *x = DishGpsStats{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_dish_proto_msgTypes[11]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DishGpsStats) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DishGpsStats) ProtoMessage() {}
+
+func (x *DishGpsStats) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_dish_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 DishGpsStats.ProtoReflect.Descriptor instead.
+func (*DishGpsStats) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_dish_proto_rawDescGZIP(), []int{11}
+}
+
+func (x *DishGpsStats) GetGpsValid() bool {
+ if x != nil {
+ return x.GpsValid
+ }
+ return false
+}
+
+func (x *DishGpsStats) GetGpsSats() uint32 {
+ if x != nil {
+ return x.GpsSats
+ }
+ return 0
+}
+
+func (x *DishGpsStats) GetNoSatsAfterTtff() bool {
+ if x != nil {
+ return x.NoSatsAfterTtff
+ }
+ return false
+}
+
+type DishObstructionStats struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CurrentlyObstructed bool `protobuf:"varint,5,opt,name=currently_obstructed,json=currentlyObstructed,proto3" json:"currently_obstructed,omitempty"`
+ FractionObstructed float32 `protobuf:"fixed32,1,opt,name=fraction_obstructed,json=fractionObstructed,proto3" json:"fraction_obstructed,omitempty"`
+ ValidS float32 `protobuf:"fixed32,4,opt,name=valid_s,json=validS,proto3" json:"valid_s,omitempty"`
+ AvgProlongedObstructionDurationS float32 `protobuf:"fixed32,6,opt,name=avg_prolonged_obstruction_duration_s,json=avgProlongedObstructionDurationS,proto3" json:"avg_prolonged_obstruction_duration_s,omitempty"`
+ AvgProlongedObstructionIntervalS float32 `protobuf:"fixed32,7,opt,name=avg_prolonged_obstruction_interval_s,json=avgProlongedObstructionIntervalS,proto3" json:"avg_prolonged_obstruction_interval_s,omitempty"`
+ AvgProlongedObstructionValid bool `protobuf:"varint,8,opt,name=avg_prolonged_obstruction_valid,json=avgProlongedObstructionValid,proto3" json:"avg_prolonged_obstruction_valid,omitempty"`
+}
+
+func (x *DishObstructionStats) Reset() {
+ *x = DishObstructionStats{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_dish_proto_msgTypes[12]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DishObstructionStats) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DishObstructionStats) ProtoMessage() {}
+
+func (x *DishObstructionStats) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_dish_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 DishObstructionStats.ProtoReflect.Descriptor instead.
+func (*DishObstructionStats) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_dish_proto_rawDescGZIP(), []int{12}
+}
+
+func (x *DishObstructionStats) GetCurrentlyObstructed() bool {
+ if x != nil {
+ return x.CurrentlyObstructed
+ }
+ return false
+}
+
+func (x *DishObstructionStats) GetFractionObstructed() float32 {
+ if x != nil {
+ return x.FractionObstructed
+ }
+ return 0
+}
+
+func (x *DishObstructionStats) GetValidS() float32 {
+ if x != nil {
+ return x.ValidS
+ }
+ return 0
+}
+
+func (x *DishObstructionStats) GetAvgProlongedObstructionDurationS() float32 {
+ if x != nil {
+ return x.AvgProlongedObstructionDurationS
+ }
+ return 0
+}
+
+func (x *DishObstructionStats) GetAvgProlongedObstructionIntervalS() float32 {
+ if x != nil {
+ return x.AvgProlongedObstructionIntervalS
+ }
+ return 0
+}
+
+func (x *DishObstructionStats) GetAvgProlongedObstructionValid() bool {
+ if x != nil {
+ return x.AvgProlongedObstructionValid
+ }
+ return false
+}
+
+type DishAuthenticateResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Dish *ChallengeResponse `protobuf:"bytes,2,opt,name=dish,proto3" json:"dish,omitempty"`
+}
+
+func (x *DishAuthenticateResponse) Reset() {
+ *x = DishAuthenticateResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_dish_proto_msgTypes[13]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DishAuthenticateResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DishAuthenticateResponse) ProtoMessage() {}
+
+func (x *DishAuthenticateResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_dish_proto_msgTypes[13]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DishAuthenticateResponse.ProtoReflect.Descriptor instead.
+func (*DishAuthenticateResponse) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_dish_proto_rawDescGZIP(), []int{13}
+}
+
+func (x *DishAuthenticateResponse) GetDish() *ChallengeResponse {
+ if x != nil {
+ return x.Dish
+ }
+ return nil
+}
+
+type SelfTestRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Detailed bool `protobuf:"varint,1,opt,name=detailed,proto3" json:"detailed,omitempty"`
+}
+
+func (x *SelfTestRequest) Reset() {
+ *x = SelfTestRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_dish_proto_msgTypes[14]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SelfTestRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SelfTestRequest) ProtoMessage() {}
+
+func (x *SelfTestRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_dish_proto_msgTypes[14]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SelfTestRequest.ProtoReflect.Descriptor instead.
+func (*SelfTestRequest) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_dish_proto_rawDescGZIP(), []int{14}
+}
+
+func (x *SelfTestRequest) GetDetailed() bool {
+ if x != nil {
+ return x.Detailed
+ }
+ return false
+}
+
+type SelfTestResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Passed bool `protobuf:"varint,1,opt,name=passed,proto3" json:"passed,omitempty"`
+ Report string `protobuf:"bytes,2,opt,name=report,proto3" json:"report,omitempty"`
+}
+
+func (x *SelfTestResponse) Reset() {
+ *x = SelfTestResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_dish_proto_msgTypes[15]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SelfTestResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SelfTestResponse) ProtoMessage() {}
+
+func (x *SelfTestResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_dish_proto_msgTypes[15]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SelfTestResponse.ProtoReflect.Descriptor instead.
+func (*SelfTestResponse) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_dish_proto_rawDescGZIP(), []int{15}
+}
+
+func (x *SelfTestResponse) GetPassed() bool {
+ if x != nil {
+ return x.Passed
+ }
+ return false
+}
+
+func (x *SelfTestResponse) GetReport() string {
+ if x != nil {
+ return x.Report
+ }
+ return ""
+}
+
+type StartDishSelfTestRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *StartDishSelfTestRequest) Reset() {
+ *x = StartDishSelfTestRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_dish_proto_msgTypes[16]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *StartDishSelfTestRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*StartDishSelfTestRequest) ProtoMessage() {}
+
+func (x *StartDishSelfTestRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_dish_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 StartDishSelfTestRequest.ProtoReflect.Descriptor instead.
+func (*StartDishSelfTestRequest) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_dish_proto_rawDescGZIP(), []int{16}
+}
+
+type StartDishSelfTestResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *StartDishSelfTestResponse) Reset() {
+ *x = StartDishSelfTestResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_dish_proto_msgTypes[17]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *StartDishSelfTestResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*StartDishSelfTestResponse) ProtoMessage() {}
+
+func (x *StartDishSelfTestResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_dish_proto_msgTypes[17]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use StartDishSelfTestResponse.ProtoReflect.Descriptor instead.
+func (*StartDishSelfTestResponse) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_dish_proto_rawDescGZIP(), []int{17}
+}
+
+type SetTestModeRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RfMode SetTestModeRequest_RfMode `protobuf:"varint,1,opt,name=rf_mode,json=rfMode,proto3,enum=SpaceX.API.Device.SetTestModeRequest_RfMode" json:"rf_mode,omitempty"`
+ DisableLossOfCommFdir bool `protobuf:"varint,1001,opt,name=disable_loss_of_comm_fdir,json=disableLossOfCommFdir,proto3" json:"disable_loss_of_comm_fdir,omitempty"`
+ EnableRulesOverride bool `protobuf:"varint,1002,opt,name=enable_rules_override,json=enableRulesOverride,proto3" json:"enable_rules_override,omitempty"`
+}
+
+func (x *SetTestModeRequest) Reset() {
+ *x = SetTestModeRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_dish_proto_msgTypes[18]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SetTestModeRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SetTestModeRequest) ProtoMessage() {}
+
+func (x *SetTestModeRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_dish_proto_msgTypes[18]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SetTestModeRequest.ProtoReflect.Descriptor instead.
+func (*SetTestModeRequest) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_dish_proto_rawDescGZIP(), []int{18}
+}
+
+func (x *SetTestModeRequest) GetRfMode() SetTestModeRequest_RfMode {
+ if x != nil {
+ return x.RfMode
+ }
+ return SetTestModeRequest_RX
+}
+
+func (x *SetTestModeRequest) GetDisableLossOfCommFdir() bool {
+ if x != nil {
+ return x.DisableLossOfCommFdir
+ }
+ return false
+}
+
+func (x *SetTestModeRequest) GetEnableRulesOverride() bool {
+ if x != nil {
+ return x.EnableRulesOverride
+ }
+ return false
+}
+
+type SetTestModeResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *SetTestModeResponse) Reset() {
+ *x = SetTestModeResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_dish_proto_msgTypes[19]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SetTestModeResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SetTestModeResponse) ProtoMessage() {}
+
+func (x *SetTestModeResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_dish_proto_msgTypes[19]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SetTestModeResponse.ProtoReflect.Descriptor instead.
+func (*SetTestModeResponse) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_dish_proto_rawDescGZIP(), []int{19}
+}
+
+type DishSetConfigRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DishConfig *DishConfig `protobuf:"bytes,1,opt,name=dish_config,json=dishConfig,proto3" json:"dish_config,omitempty"`
+}
+
+func (x *DishSetConfigRequest) Reset() {
+ *x = DishSetConfigRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_dish_proto_msgTypes[20]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DishSetConfigRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DishSetConfigRequest) ProtoMessage() {}
+
+func (x *DishSetConfigRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_dish_proto_msgTypes[20]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DishSetConfigRequest.ProtoReflect.Descriptor instead.
+func (*DishSetConfigRequest) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_dish_proto_rawDescGZIP(), []int{20}
+}
+
+func (x *DishSetConfigRequest) GetDishConfig() *DishConfig {
+ if x != nil {
+ return x.DishConfig
+ }
+ return nil
+}
+
+type DishSetConfigResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ UpdatedDishConfig *DishConfig `protobuf:"bytes,1,opt,name=updated_dish_config,json=updatedDishConfig,proto3" json:"updated_dish_config,omitempty"`
+}
+
+func (x *DishSetConfigResponse) Reset() {
+ *x = DishSetConfigResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_dish_proto_msgTypes[21]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DishSetConfigResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DishSetConfigResponse) ProtoMessage() {}
+
+func (x *DishSetConfigResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_dish_proto_msgTypes[21]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DishSetConfigResponse.ProtoReflect.Descriptor instead.
+func (*DishSetConfigResponse) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_dish_proto_rawDescGZIP(), []int{21}
+}
+
+func (x *DishSetConfigResponse) GetUpdatedDishConfig() *DishConfig {
+ if x != nil {
+ return x.UpdatedDishConfig
+ }
+ return nil
+}
+
+type DishGetConfigRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *DishGetConfigRequest) Reset() {
+ *x = DishGetConfigRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_dish_proto_msgTypes[22]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DishGetConfigRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DishGetConfigRequest) ProtoMessage() {}
+
+func (x *DishGetConfigRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_dish_proto_msgTypes[22]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DishGetConfigRequest.ProtoReflect.Descriptor instead.
+func (*DishGetConfigRequest) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_dish_proto_rawDescGZIP(), []int{22}
+}
+
+type DishGetConfigResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DishConfig *DishConfig `protobuf:"bytes,1,opt,name=dish_config,json=dishConfig,proto3" json:"dish_config,omitempty"`
+}
+
+func (x *DishGetConfigResponse) Reset() {
+ *x = DishGetConfigResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_dish_proto_msgTypes[23]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DishGetConfigResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DishGetConfigResponse) ProtoMessage() {}
+
+func (x *DishGetConfigResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_dish_proto_msgTypes[23]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DishGetConfigResponse.ProtoReflect.Descriptor instead.
+func (*DishGetConfigResponse) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_dish_proto_rawDescGZIP(), []int{23}
+}
+
+func (x *DishGetConfigResponse) GetDishConfig() *DishConfig {
+ if x != nil {
+ return x.DishConfig
+ }
+ return nil
+}
+
+var File_spacex_api_device_dish_proto protoreflect.FileDescriptor
+
+var file_spacex_api_device_dish_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x73, 0x70, 0x61, 0x63, 0x65, 0x78, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76,
+ 0x69, 0x63, 0x65, 0x2f, 0x64, 0x69, 0x73, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11,
+ 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
+ 0x65, 0x1a, 0x1e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x78, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65,
+ 0x76, 0x69, 0x63, 0x65, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x23, 0x73, 0x70, 0x61, 0x63, 0x65, 0x78, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65,
+ 0x76, 0x69, 0x63, 0x65, 0x2f, 0x64, 0x69, 0x73, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x38, 0x73, 0x70, 0x61, 0x63, 0x65, 0x78, 0x2f, 0x61,
+ 0x70, 0x69, 0x2f, 0x73, 0x61, 0x74, 0x65, 0x6c, 0x6c, 0x69, 0x74, 0x65, 0x73, 0x2f, 0x6e, 0x65,
+ 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x75, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
+ 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x29, 0x0a, 0x0f, 0x44, 0x69, 0x73, 0x68, 0x53, 0x74, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x6e, 0x73, 0x74, 0x6f, 0x77, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x06, 0x75, 0x6e, 0x73, 0x74, 0x6f, 0x77, 0x22, 0x12, 0x0a, 0x10, 0x44,
+ 0x69, 0x73, 0x68, 0x53, 0x74, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
+ 0x17, 0x0a, 0x15, 0x44, 0x69, 0x73, 0x68, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78,
+ 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x95, 0x08, 0x0a, 0x16, 0x44, 0x69, 0x73,
+ 0x68, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x6e,
+ 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65,
+ 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x65, 0x76,
+ 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x41, 0x0a, 0x0c, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x73, 0x74,
+ 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x53, 0x70, 0x61, 0x63,
+ 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x65,
+ 0x76, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63,
+ 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x31, 0x0a, 0x14, 0x6f, 0x62, 0x73, 0x74, 0x72, 0x75,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x02, 0x52, 0x13, 0x6f, 0x62, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f,
+ 0x6e, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x6f, 0x62, 0x73,
+ 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x73,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x11, 0x6f, 0x62, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74,
+ 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x53, 0x12, 0x2f, 0x0a, 0x13, 0x6f, 0x62, 0x73,
+ 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74,
+ 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x6f, 0x62, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74,
+ 0x69, 0x6f, 0x6e, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x65,
+ 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x65, 0x6c,
+ 0x6c, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0b, 0x70, 0x6f, 0x70, 0x5f, 0x72, 0x61, 0x63, 0x6b, 0x5f,
+ 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x6f, 0x70, 0x52, 0x61, 0x63,
+ 0x6b, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73,
+ 0x61, 0x74, 0x65, 0x6c, 0x6c, 0x69, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x12, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x61, 0x74, 0x65, 0x6c, 0x6c,
+ 0x69, 0x74, 0x65, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c,
+ 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x10, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61,
+ 0x79, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x6f, 0x6e, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70,
+ 0x5f, 0x62, 0x65, 0x61, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x6f, 0x6e, 0x42,
+ 0x61, 0x63, 0x6b, 0x75, 0x70, 0x42, 0x65, 0x61, 0x6d, 0x12, 0x2d, 0x0a, 0x13, 0x73, 0x65, 0x63,
+ 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x65, 0x6e, 0x64,
+ 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x54,
+ 0x6f, 0x53, 0x6c, 0x6f, 0x74, 0x45, 0x6e, 0x64, 0x12, 0x36, 0x0a, 0x17, 0x64, 0x65, 0x62, 0x75,
+ 0x67, 0x5f, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x65, 0x6e, 0x61, 0x62,
+ 0x6c, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x64, 0x65, 0x62, 0x75, 0x67,
+ 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
+ 0x12, 0x3b, 0x0a, 0x1b, 0x70, 0x6f, 0x70, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x72, 0x6f,
+ 0x70, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x31, 0x35, 0x73, 0x5f, 0x6d, 0x65, 0x61, 0x6e, 0x18,
+ 0x0d, 0x20, 0x01, 0x28, 0x02, 0x52, 0x16, 0x70, 0x6f, 0x70, 0x50, 0x69, 0x6e, 0x67, 0x44, 0x72,
+ 0x6f, 0x70, 0x52, 0x61, 0x74, 0x65, 0x31, 0x35, 0x73, 0x4d, 0x65, 0x61, 0x6e, 0x12, 0x3d, 0x0a,
+ 0x1c, 0x70, 0x6f, 0x70, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63,
+ 0x79, 0x5f, 0x6d, 0x73, 0x5f, 0x31, 0x35, 0x73, 0x5f, 0x6d, 0x65, 0x61, 0x6e, 0x18, 0x0e, 0x20,
+ 0x01, 0x28, 0x02, 0x52, 0x17, 0x70, 0x6f, 0x70, 0x50, 0x69, 0x6e, 0x67, 0x4c, 0x61, 0x74, 0x65,
+ 0x6e, 0x63, 0x79, 0x4d, 0x73, 0x31, 0x35, 0x73, 0x4d, 0x65, 0x61, 0x6e, 0x12, 0x3e, 0x0a, 0x1c,
+ 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x61,
+ 0x73, 0x74, 0x5f, 0x31, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x61, 0x67, 0x65, 0x18, 0x0f, 0x20, 0x01,
+ 0x28, 0x02, 0x52, 0x18, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x53, 0x69, 0x6e, 0x63, 0x65,
+ 0x4c, 0x61, 0x73, 0x74, 0x31, 0x73, 0x4f, 0x75, 0x74, 0x61, 0x67, 0x65, 0x12, 0x3e, 0x0a, 0x1c,
+ 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x61,
+ 0x73, 0x74, 0x5f, 0x32, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x61, 0x67, 0x65, 0x18, 0x10, 0x20, 0x01,
+ 0x28, 0x02, 0x52, 0x18, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x53, 0x69, 0x6e, 0x63, 0x65,
+ 0x4c, 0x61, 0x73, 0x74, 0x32, 0x73, 0x4f, 0x75, 0x74, 0x61, 0x67, 0x65, 0x12, 0x3e, 0x0a, 0x1c,
+ 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x61,
+ 0x73, 0x74, 0x5f, 0x35, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x61, 0x67, 0x65, 0x18, 0x11, 0x20, 0x01,
+ 0x28, 0x02, 0x52, 0x18, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x53, 0x69, 0x6e, 0x63, 0x65,
+ 0x4c, 0x61, 0x73, 0x74, 0x35, 0x73, 0x4f, 0x75, 0x74, 0x61, 0x67, 0x65, 0x12, 0x40, 0x0a, 0x1d,
+ 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x61,
+ 0x73, 0x74, 0x5f, 0x31, 0x35, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x61, 0x67, 0x65, 0x18, 0x12, 0x20,
+ 0x01, 0x28, 0x02, 0x52, 0x19, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x53, 0x69, 0x6e, 0x63,
+ 0x65, 0x4c, 0x61, 0x73, 0x74, 0x31, 0x35, 0x73, 0x4f, 0x75, 0x74, 0x61, 0x67, 0x65, 0x12, 0x40,
+ 0x0a, 0x1d, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f,
+ 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x36, 0x30, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x61, 0x67, 0x65, 0x18,
+ 0x13, 0x20, 0x01, 0x28, 0x02, 0x52, 0x19, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x53, 0x69,
+ 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x36, 0x30, 0x73, 0x4f, 0x75, 0x74, 0x61, 0x67, 0x65,
+ 0x22, 0xef, 0x02, 0x0a, 0x0a, 0x44, 0x69, 0x73, 0x68, 0x4f, 0x75, 0x74, 0x61, 0x67, 0x65, 0x12,
+ 0x39, 0x0a, 0x05, 0x63, 0x61, 0x75, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23,
+ 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69,
+ 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x4f, 0x75, 0x74, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x61,
+ 0x75, 0x73, 0x65, 0x52, 0x05, 0x63, 0x61, 0x75, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x74,
+ 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6e, 0x73,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d,
+ 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x75, 0x72, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x64,
+ 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x69, 0x64,
+ 0x5f, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x64,
+ 0x69, 0x64, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x22, 0xb7, 0x01, 0x0a, 0x05, 0x43, 0x61, 0x75,
+ 0x73, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12,
+ 0x0b, 0x0a, 0x07, 0x42, 0x4f, 0x4f, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06,
+ 0x53, 0x54, 0x4f, 0x57, 0x45, 0x44, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x48, 0x45, 0x52,
+ 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x48, 0x55, 0x54, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x03, 0x12, 0x0f,
+ 0x0a, 0x0b, 0x4e, 0x4f, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c, 0x45, 0x10, 0x04, 0x12,
+ 0x0b, 0x0a, 0x07, 0x4e, 0x4f, 0x5f, 0x53, 0x41, 0x54, 0x53, 0x10, 0x05, 0x12, 0x0e, 0x0a, 0x0a,
+ 0x4f, 0x42, 0x53, 0x54, 0x52, 0x55, 0x43, 0x54, 0x45, 0x44, 0x10, 0x06, 0x12, 0x0f, 0x0a, 0x0b,
+ 0x4e, 0x4f, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x4c, 0x49, 0x4e, 0x4b, 0x10, 0x07, 0x12, 0x0c, 0x0a,
+ 0x08, 0x4e, 0x4f, 0x5f, 0x50, 0x49, 0x4e, 0x47, 0x53, 0x10, 0x08, 0x12, 0x15, 0x0a, 0x11, 0x41,
+ 0x43, 0x54, 0x55, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x49, 0x54, 0x59,
+ 0x10, 0x09, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x54, 0x45, 0x53, 0x54,
+ 0x10, 0x0a, 0x22, 0xd8, 0x02, 0x0a, 0x16, 0x44, 0x69, 0x73, 0x68, 0x47, 0x65, 0x74, 0x48, 0x69,
+ 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a,
+ 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07,
+ 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x70, 0x6f, 0x70, 0x5f, 0x70,
+ 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0xe9, 0x07,
+ 0x20, 0x03, 0x28, 0x02, 0x52, 0x0f, 0x70, 0x6f, 0x70, 0x50, 0x69, 0x6e, 0x67, 0x44, 0x72, 0x6f,
+ 0x70, 0x52, 0x61, 0x74, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x70, 0x6f, 0x70, 0x5f, 0x70, 0x69, 0x6e,
+ 0x67, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x6d, 0x73, 0x18, 0xea, 0x07, 0x20,
+ 0x03, 0x28, 0x02, 0x52, 0x10, 0x70, 0x6f, 0x70, 0x50, 0x69, 0x6e, 0x67, 0x4c, 0x61, 0x74, 0x65,
+ 0x6e, 0x63, 0x79, 0x4d, 0x73, 0x12, 0x37, 0x0a, 0x17, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x69, 0x6e,
+ 0x6b, 0x5f, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x70, 0x75, 0x74, 0x5f, 0x62, 0x70, 0x73,
+ 0x18, 0xeb, 0x07, 0x20, 0x03, 0x28, 0x02, 0x52, 0x15, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x69, 0x6e,
+ 0x6b, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x70, 0x75, 0x74, 0x42, 0x70, 0x73, 0x12, 0x33,
+ 0x0a, 0x15, 0x75, 0x70, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68,
+ 0x70, 0x75, 0x74, 0x5f, 0x62, 0x70, 0x73, 0x18, 0xec, 0x07, 0x20, 0x03, 0x28, 0x02, 0x52, 0x13,
+ 0x75, 0x70, 0x6c, 0x69, 0x6e, 0x6b, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x70, 0x75, 0x74,
+ 0x42, 0x70, 0x73, 0x12, 0x38, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x61, 0x67, 0x65, 0x73, 0x18, 0xf1,
+ 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41,
+ 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x4f, 0x75,
+ 0x74, 0x61, 0x67, 0x65, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x61, 0x67, 0x65, 0x73, 0x4a, 0x06, 0x08,
+ 0xed, 0x07, 0x10, 0xee, 0x07, 0x4a, 0x06, 0x08, 0xee, 0x07, 0x10, 0xef, 0x07, 0x4a, 0x06, 0x08,
+ 0xef, 0x07, 0x10, 0xf0, 0x07, 0x4a, 0x06, 0x08, 0xf0, 0x07, 0x10, 0xf1, 0x07, 0x22, 0xe1, 0x0b,
+ 0x0a, 0x15, 0x44, 0x69, 0x73, 0x68, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63,
+ 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x53,
0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
- 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x64, 0x65,
- 0x76, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x33, 0x0a, 0x05, 0x73, 0x74, 0x61,
- 0x74, 0x65, 0x18, 0xee, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x53, 0x70, 0x61, 0x63,
- 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69,
- 0x73, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x36,
- 0x0a, 0x06, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x73, 0x18, 0xed, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x1d, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76,
- 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x73, 0x52, 0x06,
- 0x61, 0x6c, 0x65, 0x72, 0x74, 0x73, 0x12, 0x11, 0x0a, 0x03, 0x73, 0x6e, 0x72, 0x18, 0xe9, 0x07,
- 0x20, 0x01, 0x28, 0x02, 0x52, 0x03, 0x73, 0x6e, 0x72, 0x12, 0x43, 0x0a, 0x1e, 0x73, 0x65, 0x63,
+ 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x64, 0x65, 0x76,
+ 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x41, 0x0a, 0x0c, 0x64, 0x65, 0x76, 0x69, 0x63,
+ 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e,
+ 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
+ 0x65, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x64,
+ 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x36, 0x0a, 0x06, 0x61, 0x6c,
+ 0x65, 0x72, 0x74, 0x73, 0x18, 0xed, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x53, 0x70,
+ 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e,
+ 0x44, 0x69, 0x73, 0x68, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x73, 0x52, 0x06, 0x61, 0x6c, 0x65, 0x72,
+ 0x74, 0x73, 0x12, 0x36, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x61, 0x67, 0x65, 0x18, 0xf6, 0x07, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49,
+ 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x4f, 0x75, 0x74, 0x61,
+ 0x67, 0x65, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x61, 0x67, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x67, 0x70,
+ 0x73, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0xf7, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f,
+ 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69,
+ 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x47, 0x70, 0x73, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52,
+ 0x08, 0x67, 0x70, 0x73, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x43, 0x0a, 0x1e, 0x73, 0x65, 0x63,
0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x6e, 0x6f,
0x6e, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0xea, 0x07, 0x20, 0x01,
0x28, 0x02, 0x52, 0x1a, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x54, 0x6f, 0x46, 0x69, 0x72,
0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x4f,
0x62, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52,
0x10, 0x6f, 0x62, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74,
- 0x73, 0x22, 0xb6, 0x01, 0x0a, 0x0a, 0x44, 0x69, 0x73, 0x68, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x73,
- 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x6f, 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x73, 0x74, 0x75, 0x63, 0x6b,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x6d, 0x6f, 0x74, 0x6f, 0x72, 0x73, 0x53, 0x74,
- 0x75, 0x63, 0x6b, 0x12, 0x29, 0x0a, 0x10, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x74,
- 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x74,
- 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x12, 0x29,
- 0x0a, 0x10, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x73, 0x68, 0x75, 0x74, 0x64, 0x6f,
- 0x77, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61,
- 0x6c, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x2f, 0x0a, 0x13, 0x75, 0x6e, 0x65,
- 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x75, 0x6e, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74,
- 0x65, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc6, 0x02, 0x0a, 0x14, 0x44,
- 0x69, 0x73, 0x68, 0x4f, 0x62, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74,
- 0x61, 0x74, 0x73, 0x12, 0x31, 0x0a, 0x14, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x6c, 0x79,
- 0x5f, 0x6f, 0x62, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28,
- 0x08, 0x52, 0x13, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x4f, 0x62, 0x73, 0x74,
- 0x72, 0x75, 0x63, 0x74, 0x65, 0x64, 0x12, 0x2f, 0x0a, 0x13, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69,
- 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x02, 0x52, 0x12, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x62, 0x73,
- 0x74, 0x72, 0x75, 0x63, 0x74, 0x65, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x6c, 0x61, 0x73, 0x74, 0x5f,
- 0x32, 0x34, 0x68, 0x5f, 0x6f, 0x62, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x73,
- 0x18, 0xee, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x12, 0x6c, 0x61, 0x73, 0x74, 0x32, 0x34, 0x68,
- 0x4f, 0x62, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x65, 0x64, 0x53, 0x12, 0x17, 0x0a, 0x07, 0x76,
- 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x76, 0x61,
- 0x6c, 0x69, 0x64, 0x53, 0x12, 0x3a, 0x0a, 0x19, 0x77, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x66, 0x72,
- 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x65,
- 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x02, 0x52, 0x17, 0x77, 0x65, 0x64, 0x67, 0x65, 0x46, 0x72,
- 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x62, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x65, 0x64,
- 0x12, 0x41, 0x0a, 0x1d, 0x77, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x61, 0x62, 0x73, 0x5f, 0x66, 0x72,
- 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x65,
- 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x02, 0x52, 0x1a, 0x77, 0x65, 0x64, 0x67, 0x65, 0x41, 0x62,
- 0x73, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x62, 0x73, 0x74, 0x72, 0x75, 0x63,
+ 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x74, 0x6f, 0x77, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x65, 0x64, 0x18, 0xf2, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x74, 0x6f, 0x77,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x33, 0x0a, 0x15, 0x62, 0x6f, 0x72,
+ 0x65, 0x73, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x61, 0x7a, 0x69, 0x6d, 0x75, 0x74, 0x68, 0x5f, 0x64,
+ 0x65, 0x67, 0x18, 0xf3, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x13, 0x62, 0x6f, 0x72, 0x65, 0x73,
+ 0x69, 0x67, 0x68, 0x74, 0x41, 0x7a, 0x69, 0x6d, 0x75, 0x74, 0x68, 0x44, 0x65, 0x67, 0x12, 0x37,
+ 0x0a, 0x17, 0x62, 0x6f, 0x72, 0x65, 0x73, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x65, 0x6c, 0x65, 0x76,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x67, 0x18, 0xf4, 0x07, 0x20, 0x01, 0x28, 0x02,
+ 0x52, 0x15, 0x62, 0x6f, 0x72, 0x65, 0x73, 0x69, 0x67, 0x68, 0x74, 0x45, 0x6c, 0x65, 0x76, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x74, 0x68, 0x5f, 0x73,
+ 0x70, 0x65, 0x65, 0x64, 0x5f, 0x6d, 0x62, 0x70, 0x73, 0x18, 0xf8, 0x07, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x0c, 0x65, 0x74, 0x68, 0x53, 0x70, 0x65, 0x65, 0x64, 0x4d, 0x62, 0x70, 0x73, 0x12, 0x4c,
+ 0x0a, 0x0e, 0x6d, 0x6f, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73,
+ 0x18, 0xf9, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58,
+ 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72,
+ 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x0d, 0x6d,
+ 0x6f, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x37, 0x0a, 0x18,
+ 0x69, 0x73, 0x5f, 0x73, 0x6e, 0x72, 0x5f, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x5f, 0x6e, 0x6f, 0x69,
+ 0x73, 0x65, 0x5f, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x18, 0xfa, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x14, 0x69, 0x73, 0x53, 0x6e, 0x72, 0x41, 0x62, 0x6f, 0x76, 0x65, 0x4e, 0x6f, 0x69, 0x73, 0x65,
+ 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x12, 0x46, 0x0a, 0x0c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x5f, 0x73,
+ 0x74, 0x61, 0x74, 0x65, 0x73, 0x18, 0xfb, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x53,
+ 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
+ 0x2e, 0x44, 0x69, 0x73, 0x68, 0x52, 0x65, 0x61, 0x64, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73,
+ 0x52, 0x0b, 0x72, 0x65, 0x61, 0x64, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x12, 0x50, 0x0a,
+ 0x10, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6f, 0x66, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
+ 0x65, 0x18, 0xfc, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65,
+ 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x73, 0x65,
+ 0x72, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4f, 0x66, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52,
+ 0x0e, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x4f, 0x66, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12,
+ 0x5b, 0x0a, 0x15, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x75, 0x70, 0x64, 0x61,
+ 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0xfd, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32,
+ 0x26, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76,
+ 0x69, 0x63, 0x65, 0x2e, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x55, 0x70, 0x64, 0x61,
+ 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x13, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72,
+ 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x36, 0x0a, 0x17,
+ 0x69, 0x73, 0x5f, 0x73, 0x6e, 0x72, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e,
+ 0x74, 0x6c, 0x79, 0x5f, 0x6c, 0x6f, 0x77, 0x18, 0xfe, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14,
+ 0x69, 0x73, 0x53, 0x6e, 0x72, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x6c,
+ 0x79, 0x4c, 0x6f, 0x77, 0x12, 0x45, 0x0a, 0x0d, 0x68, 0x61, 0x73, 0x5f, 0x61, 0x63, 0x74, 0x75,
+ 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0xff, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x53,
+ 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
+ 0x2e, 0x48, 0x61, 0x73, 0x41, 0x63, 0x74, 0x75, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x0c, 0x68,
+ 0x61, 0x73, 0x41, 0x63, 0x74, 0x75, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x5c, 0x0a, 0x10, 0x64,
+ 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18,
+ 0x80, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e,
+ 0x41, 0x50, 0x49, 0x2e, 0x53, 0x61, 0x74, 0x65, 0x6c, 0x6c, 0x69, 0x74, 0x65, 0x73, 0x2e, 0x4e,
+ 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x74, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
+ 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x0f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c,
+ 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x4a, 0x06, 0x08, 0xe9, 0x07, 0x10, 0xea,
+ 0x07, 0x4a, 0x06, 0x08, 0xee, 0x07, 0x10, 0xef, 0x07, 0x4a, 0x06, 0x08, 0xf5, 0x07, 0x10, 0xf6,
+ 0x07, 0x22, 0x1e, 0x0a, 0x1c, 0x44, 0x69, 0x73, 0x68, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x73, 0x74,
+ 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x22, 0x67, 0x0a, 0x1d, 0x44, 0x69, 0x73, 0x68, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x73, 0x74,
+ 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6e, 0x75, 0x6d, 0x52, 0x6f, 0x77, 0x73, 0x12, 0x19, 0x0a,
+ 0x08, 0x6e, 0x75, 0x6d, 0x5f, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x07, 0x6e, 0x75, 0x6d, 0x43, 0x6f, 0x6c, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x6e, 0x72, 0x18,
+ 0x03, 0x20, 0x03, 0x28, 0x02, 0x52, 0x03, 0x73, 0x6e, 0x72, 0x22, 0xc2, 0x03, 0x0a, 0x0a, 0x44,
+ 0x69, 0x73, 0x68, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x6f, 0x74,
+ 0x6f, 0x72, 0x73, 0x5f, 0x73, 0x74, 0x75, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x0b, 0x6d, 0x6f, 0x74, 0x6f, 0x72, 0x73, 0x53, 0x74, 0x75, 0x63, 0x6b, 0x12, 0x29, 0x0a, 0x10,
+ 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x54,
+ 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x74, 0x68, 0x65, 0x72, 0x6d,
+ 0x61, 0x6c, 0x5f, 0x73, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x0f, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f,
+ 0x77, 0x6e, 0x12, 0x33, 0x0a, 0x16, 0x6d, 0x61, 0x73, 0x74, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6e,
+ 0x65, 0x61, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x13, 0x6d, 0x61, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x4e, 0x65, 0x61, 0x72, 0x56,
+ 0x65, 0x72, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x12, 0x2f, 0x0a, 0x13, 0x75, 0x6e, 0x65, 0x78, 0x70,
+ 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x75, 0x6e, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64,
+ 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x6c, 0x6f, 0x77,
+ 0x5f, 0x65, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x73,
+ 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x73, 0x6c, 0x6f, 0x77, 0x45, 0x74, 0x68, 0x65,
+ 0x72, 0x6e, 0x65, 0x74, 0x53, 0x70, 0x65, 0x65, 0x64, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x6f,
+ 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x6f, 0x61,
+ 0x6d, 0x69, 0x6e, 0x67, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x5f,
+ 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69,
+ 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a,
+ 0x0a, 0x69, 0x73, 0x5f, 0x68, 0x65, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x09, 0x69, 0x73, 0x48, 0x65, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x41, 0x0a, 0x1d,
+ 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x74, 0x68, 0x65,
+ 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x18, 0x0a, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x1a, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79,
+ 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x22,
+ 0x81, 0x01, 0x0a, 0x0f, 0x44, 0x69, 0x73, 0x68, 0x52, 0x65, 0x61, 0x64, 0x79, 0x53, 0x74, 0x61,
+ 0x74, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x61, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x04, 0x63, 0x61, 0x64, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x63, 0x70, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x73, 0x63, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x31, 0x6c,
+ 0x32, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x6c, 0x31, 0x6c, 0x32, 0x12, 0x12, 0x0a,
+ 0x04, 0x78, 0x70, 0x68, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x78, 0x70, 0x68,
+ 0x79, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x61, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03,
+ 0x61, 0x61, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x72, 0x66, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x02, 0x72, 0x66, 0x22, 0x73, 0x0a, 0x0c, 0x44, 0x69, 0x73, 0x68, 0x47, 0x70, 0x73, 0x53, 0x74,
+ 0x61, 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x70, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x67, 0x70, 0x73, 0x56, 0x61, 0x6c, 0x69, 0x64,
+ 0x12, 0x19, 0x0a, 0x08, 0x67, 0x70, 0x73, 0x5f, 0x73, 0x61, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x07, 0x67, 0x70, 0x73, 0x53, 0x61, 0x74, 0x73, 0x12, 0x2b, 0x0a, 0x12, 0x6e,
+ 0x6f, 0x5f, 0x73, 0x61, 0x74, 0x73, 0x5f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x74, 0x66,
+ 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6e, 0x6f, 0x53, 0x61, 0x74, 0x73, 0x41,
+ 0x66, 0x74, 0x65, 0x72, 0x54, 0x74, 0x66, 0x66, 0x22, 0xc8, 0x03, 0x0a, 0x14, 0x44, 0x69, 0x73,
+ 0x68, 0x4f, 0x62, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74,
+ 0x73, 0x12, 0x31, 0x0a, 0x14, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x5f, 0x6f,
+ 0x62, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x13, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x4f, 0x62, 0x73, 0x74, 0x72, 0x75,
+ 0x63, 0x74, 0x65, 0x64, 0x12, 0x2f, 0x0a, 0x13, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+ 0x5f, 0x6f, 0x62, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x02, 0x52, 0x12, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x62, 0x73, 0x74, 0x72,
+ 0x75, 0x63, 0x74, 0x65, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x73,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x53, 0x12, 0x4e,
+ 0x0a, 0x24, 0x61, 0x76, 0x67, 0x5f, 0x70, 0x72, 0x6f, 0x6c, 0x6f, 0x6e, 0x67, 0x65, 0x64, 0x5f,
+ 0x6f, 0x62, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x75, 0x72, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x20, 0x61, 0x76,
+ 0x67, 0x50, 0x72, 0x6f, 0x6c, 0x6f, 0x6e, 0x67, 0x65, 0x64, 0x4f, 0x62, 0x73, 0x74, 0x72, 0x75,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x12, 0x4e,
+ 0x0a, 0x24, 0x61, 0x76, 0x67, 0x5f, 0x70, 0x72, 0x6f, 0x6c, 0x6f, 0x6e, 0x67, 0x65, 0x64, 0x5f,
+ 0x6f, 0x62, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x74, 0x65,
+ 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x20, 0x61, 0x76,
+ 0x67, 0x50, 0x72, 0x6f, 0x6c, 0x6f, 0x6e, 0x67, 0x65, 0x64, 0x4f, 0x62, 0x73, 0x74, 0x72, 0x75,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x53, 0x12, 0x45,
+ 0x0a, 0x1f, 0x61, 0x76, 0x67, 0x5f, 0x70, 0x72, 0x6f, 0x6c, 0x6f, 0x6e, 0x67, 0x65, 0x64, 0x5f,
+ 0x6f, 0x62, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x69,
+ 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1c, 0x61, 0x76, 0x67, 0x50, 0x72, 0x6f, 0x6c,
+ 0x6f, 0x6e, 0x67, 0x65, 0x64, 0x4f, 0x62, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+ 0x56, 0x61, 0x6c, 0x69, 0x64, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x03, 0x10,
+ 0x04, 0x4a, 0x06, 0x08, 0xee, 0x07, 0x10, 0xef, 0x07, 0x52, 0x19, 0x77, 0x65, 0x64, 0x67, 0x65,
+ 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x73, 0x74, 0x72, 0x75,
+ 0x63, 0x74, 0x65, 0x64, 0x52, 0x1d, 0x77, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x61, 0x62, 0x73, 0x5f,
+ 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x73, 0x74, 0x72, 0x75, 0x63,
0x74, 0x65, 0x64, 0x22, 0x54, 0x0a, 0x18, 0x44, 0x69, 0x73, 0x68, 0x41, 0x75, 0x74, 0x68, 0x65,
0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
0x38, 0x0a, 0x04, 0x64, 0x69, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e,
0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
0x65, 0x2e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x52, 0x04, 0x64, 0x69, 0x73, 0x68, 0x2a, 0x43, 0x0a, 0x09, 0x44, 0x69, 0x73,
- 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57,
- 0x4e, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44,
- 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x49, 0x4e, 0x47, 0x10,
- 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x42, 0x4f, 0x4f, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x42, 0x17,
- 0x5a, 0x15, 0x73, 0x70, 0x61, 0x63, 0x65, 0x78, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x70, 0x69,
- 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x6e, 0x73, 0x65, 0x52, 0x04, 0x64, 0x69, 0x73, 0x68, 0x22, 0x2d, 0x0a, 0x0f, 0x53, 0x65, 0x6c,
+ 0x66, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08,
+ 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08,
+ 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x22, 0x42, 0x0a, 0x10, 0x53, 0x65, 0x6c, 0x66,
+ 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06,
+ 0x70, 0x61, 0x73, 0x73, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x70, 0x61,
+ 0x73, 0x73, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x1a, 0x0a, 0x18,
+ 0x53, 0x74, 0x61, 0x72, 0x74, 0x44, 0x69, 0x73, 0x68, 0x53, 0x65, 0x6c, 0x66, 0x54, 0x65, 0x73,
+ 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x1b, 0x0a, 0x19, 0x53, 0x74, 0x61, 0x72,
+ 0x74, 0x44, 0x69, 0x73, 0x68, 0x53, 0x65, 0x6c, 0x66, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8f, 0x02, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x54, 0x65, 0x73,
+ 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x07,
+ 0x72, 0x66, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e,
+ 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
+ 0x65, 0x2e, 0x53, 0x65, 0x74, 0x54, 0x65, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x2e, 0x52, 0x66, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x72, 0x66, 0x4d,
+ 0x6f, 0x64, 0x65, 0x12, 0x39, 0x0a, 0x19, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6c,
+ 0x6f, 0x73, 0x73, 0x5f, 0x6f, 0x66, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x5f, 0x66, 0x64, 0x69, 0x72,
+ 0x18, 0xe9, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
+ 0x4c, 0x6f, 0x73, 0x73, 0x4f, 0x66, 0x43, 0x6f, 0x6d, 0x6d, 0x46, 0x64, 0x69, 0x72, 0x12, 0x33,
+ 0x0a, 0x15, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x5f, 0x6f,
+ 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0xea, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13,
+ 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x4f, 0x76, 0x65, 0x72, 0x72,
+ 0x69, 0x64, 0x65, 0x22, 0x42, 0x0a, 0x06, 0x52, 0x66, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x06, 0x0a,
+ 0x02, 0x52, 0x58, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x44, 0x4c, 0x45, 0x10, 0x01, 0x12,
+ 0x06, 0x0a, 0x02, 0x54, 0x58, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x43, 0x41, 0x4c, 0x10, 0x03,
+ 0x12, 0x08, 0x0a, 0x04, 0x55, 0x53, 0x45, 0x52, 0x10, 0x04, 0x12, 0x0b, 0x0a, 0x06, 0x4e, 0x4f,
+ 0x52, 0x4d, 0x41, 0x4c, 0x10, 0xa4, 0x03, 0x22, 0x15, 0x0a, 0x13, 0x53, 0x65, 0x74, 0x54, 0x65,
+ 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x56,
+ 0x0a, 0x14, 0x44, 0x69, 0x73, 0x68, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x68, 0x5f, 0x63,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x53, 0x70,
+ 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e,
+ 0x44, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0a, 0x64, 0x69, 0x73, 0x68,
+ 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x66, 0x0a, 0x15, 0x44, 0x69, 0x73, 0x68, 0x53, 0x65,
+ 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
+ 0x4d, 0x0a, 0x13, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x69, 0x73, 0x68, 0x5f,
+ 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x53,
+ 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
+ 0x2e, 0x44, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, 0x75, 0x70, 0x64,
+ 0x61, 0x74, 0x65, 0x64, 0x44, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x16,
+ 0x0a, 0x14, 0x44, 0x69, 0x73, 0x68, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x57, 0x0a, 0x15, 0x44, 0x69, 0x73, 0x68, 0x47, 0x65,
+ 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
+ 0x3e, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50,
+ 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e,
+ 0x66, 0x69, 0x67, 0x52, 0x0a, 0x64, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2a,
+ 0x3c, 0x0a, 0x11, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x43,
+ 0x6c, 0x61, 0x73, 0x73, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x41,
+ 0x52, 0x59, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x4e, 0x4f, 0x4d, 0x41, 0x44, 0x49, 0x43, 0x10,
+ 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x4f, 0x42, 0x49, 0x4c, 0x45, 0x10, 0x02, 0x2a, 0xac, 0x01,
+ 0x0a, 0x13, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
+ 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x1d, 0x53, 0x4f, 0x46, 0x54, 0x57, 0x41, 0x52,
+ 0x45, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55,
+ 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x44, 0x4c, 0x45,
+ 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x46, 0x45, 0x54, 0x43, 0x48, 0x49, 0x4e, 0x47, 0x10, 0x02,
+ 0x12, 0x0d, 0x0a, 0x09, 0x50, 0x52, 0x45, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x10, 0x03, 0x12,
+ 0x0b, 0x0a, 0x07, 0x57, 0x52, 0x49, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a,
+ 0x50, 0x4f, 0x53, 0x54, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x10, 0x05, 0x12, 0x13, 0x0a, 0x0f,
+ 0x52, 0x45, 0x42, 0x4f, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x49, 0x52, 0x45, 0x44, 0x10,
+ 0x06, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x07, 0x12,
+ 0x0b, 0x0a, 0x07, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x45, 0x44, 0x10, 0x08, 0x2a, 0x7f, 0x0a, 0x12,
+ 0x55, 0x73, 0x65, 0x72, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4f, 0x66, 0x53, 0x65, 0x72, 0x76, 0x69,
+ 0x63, 0x65, 0x12, 0x21, 0x0a, 0x1d, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x55, 0x53,
+ 0x45, 0x52, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x4f, 0x46, 0x5f, 0x53, 0x45, 0x52, 0x56,
+ 0x49, 0x43, 0x45, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x4f, 0x4e, 0x53, 0x55, 0x4d, 0x45,
+ 0x52, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x42, 0x55, 0x53, 0x49, 0x4e, 0x45, 0x53, 0x53, 0x10,
+ 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x42, 0x55, 0x53, 0x49, 0x4e, 0x45, 0x53, 0x53, 0x5f, 0x50, 0x4c,
+ 0x55, 0x53, 0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x4f, 0x4d, 0x4d, 0x45, 0x52, 0x43, 0x49,
+ 0x41, 0x4c, 0x5f, 0x41, 0x56, 0x49, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x2a, 0x56, 0x0a,
+ 0x0c, 0x48, 0x61, 0x73, 0x41, 0x63, 0x74, 0x75, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x19, 0x0a,
+ 0x15, 0x48, 0x41, 0x53, 0x5f, 0x41, 0x43, 0x54, 0x55, 0x41, 0x54, 0x4f, 0x52, 0x53, 0x5f, 0x55,
+ 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x48, 0x41, 0x53, 0x5f,
+ 0x41, 0x43, 0x54, 0x55, 0x41, 0x54, 0x4f, 0x52, 0x53, 0x5f, 0x59, 0x45, 0x53, 0x10, 0x01, 0x12,
+ 0x14, 0x0a, 0x10, 0x48, 0x41, 0x53, 0x5f, 0x41, 0x43, 0x54, 0x55, 0x41, 0x54, 0x4f, 0x52, 0x53,
+ 0x5f, 0x4e, 0x4f, 0x10, 0x02, 0x2a, 0x43, 0x0a, 0x09, 0x44, 0x69, 0x73, 0x68, 0x53, 0x74, 0x61,
+ 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12,
+ 0x0d, 0x0a, 0x09, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0d,
+ 0x0a, 0x09, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x0b, 0x0a,
+ 0x07, 0x42, 0x4f, 0x4f, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x42, 0x17, 0x5a, 0x15, 0x73, 0x70,
+ 0x61, 0x63, 0x65, 0x78, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76,
+ 0x69, 0x63, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
return file_spacex_api_device_dish_proto_rawDescData
}
-var file_spacex_api_device_dish_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
-var file_spacex_api_device_dish_proto_msgTypes = make([]protoimpl.MessageInfo, 7)
+var file_spacex_api_device_dish_proto_enumTypes = make([]protoimpl.EnumInfo, 7)
+var file_spacex_api_device_dish_proto_msgTypes = make([]protoimpl.MessageInfo, 24)
var file_spacex_api_device_dish_proto_goTypes = []interface{}{
- (DishState)(0), // 0: SpaceX.API.Device.DishState
- (*DishStowRequest)(nil), // 1: SpaceX.API.Device.DishStowRequest
- (*DishStowResponse)(nil), // 2: SpaceX.API.Device.DishStowResponse
- (*DishGetHistoryResponse)(nil), // 3: SpaceX.API.Device.DishGetHistoryResponse
- (*DishGetStatusResponse)(nil), // 4: SpaceX.API.Device.DishGetStatusResponse
- (*DishAlerts)(nil), // 5: SpaceX.API.Device.DishAlerts
- (*DishObstructionStats)(nil), // 6: SpaceX.API.Device.DishObstructionStats
- (*DishAuthenticateResponse)(nil), // 7: SpaceX.API.Device.DishAuthenticateResponse
- (*DeviceInfo)(nil), // 8: SpaceX.API.Device.DeviceInfo
- (*DeviceState)(nil), // 9: SpaceX.API.Device.DeviceState
- (*ChallengeResponse)(nil), // 10: SpaceX.API.Device.ChallengeResponse
+ (UserMobilityClass)(0), // 0: SpaceX.API.Device.UserMobilityClass
+ (SoftwareUpdateState)(0), // 1: SpaceX.API.Device.SoftwareUpdateState
+ (UserClassOfService)(0), // 2: SpaceX.API.Device.UserClassOfService
+ (HasActuators)(0), // 3: SpaceX.API.Device.HasActuators
+ (DishState)(0), // 4: SpaceX.API.Device.DishState
+ (DishOutage_Cause)(0), // 5: SpaceX.API.Device.DishOutage.Cause
+ (SetTestModeRequest_RfMode)(0), // 6: SpaceX.API.Device.SetTestModeRequest.RfMode
+ (*DishStowRequest)(nil), // 7: SpaceX.API.Device.DishStowRequest
+ (*DishStowResponse)(nil), // 8: SpaceX.API.Device.DishStowResponse
+ (*DishGetContextRequest)(nil), // 9: SpaceX.API.Device.DishGetContextRequest
+ (*DishGetContextResponse)(nil), // 10: SpaceX.API.Device.DishGetContextResponse
+ (*DishOutage)(nil), // 11: SpaceX.API.Device.DishOutage
+ (*DishGetHistoryResponse)(nil), // 12: SpaceX.API.Device.DishGetHistoryResponse
+ (*DishGetStatusResponse)(nil), // 13: SpaceX.API.Device.DishGetStatusResponse
+ (*DishGetObstructionMapRequest)(nil), // 14: SpaceX.API.Device.DishGetObstructionMapRequest
+ (*DishGetObstructionMapResponse)(nil), // 15: SpaceX.API.Device.DishGetObstructionMapResponse
+ (*DishAlerts)(nil), // 16: SpaceX.API.Device.DishAlerts
+ (*DishReadyStates)(nil), // 17: SpaceX.API.Device.DishReadyStates
+ (*DishGpsStats)(nil), // 18: SpaceX.API.Device.DishGpsStats
+ (*DishObstructionStats)(nil), // 19: SpaceX.API.Device.DishObstructionStats
+ (*DishAuthenticateResponse)(nil), // 20: SpaceX.API.Device.DishAuthenticateResponse
+ (*SelfTestRequest)(nil), // 21: SpaceX.API.Device.SelfTestRequest
+ (*SelfTestResponse)(nil), // 22: SpaceX.API.Device.SelfTestResponse
+ (*StartDishSelfTestRequest)(nil), // 23: SpaceX.API.Device.StartDishSelfTestRequest
+ (*StartDishSelfTestResponse)(nil), // 24: SpaceX.API.Device.StartDishSelfTestResponse
+ (*SetTestModeRequest)(nil), // 25: SpaceX.API.Device.SetTestModeRequest
+ (*SetTestModeResponse)(nil), // 26: SpaceX.API.Device.SetTestModeResponse
+ (*DishSetConfigRequest)(nil), // 27: SpaceX.API.Device.DishSetConfigRequest
+ (*DishSetConfigResponse)(nil), // 28: SpaceX.API.Device.DishSetConfigResponse
+ (*DishGetConfigRequest)(nil), // 29: SpaceX.API.Device.DishGetConfigRequest
+ (*DishGetConfigResponse)(nil), // 30: SpaceX.API.Device.DishGetConfigResponse
+ (*DeviceInfo)(nil), // 31: SpaceX.API.Device.DeviceInfo
+ (*DeviceState)(nil), // 32: SpaceX.API.Device.DeviceState
+ (satellites.UtDisablementCode)(0), // 33: SpaceX.API.Satellites.Network.UtDisablementCode
+ (*ChallengeResponse)(nil), // 34: SpaceX.API.Device.ChallengeResponse
+ (*DishConfig)(nil), // 35: SpaceX.API.Device.DishConfig
}
var file_spacex_api_device_dish_proto_depIdxs = []int32{
- 8, // 0: SpaceX.API.Device.DishGetStatusResponse.device_info:type_name -> SpaceX.API.Device.DeviceInfo
- 9, // 1: SpaceX.API.Device.DishGetStatusResponse.device_state:type_name -> SpaceX.API.Device.DeviceState
- 0, // 2: SpaceX.API.Device.DishGetStatusResponse.state:type_name -> SpaceX.API.Device.DishState
- 5, // 3: SpaceX.API.Device.DishGetStatusResponse.alerts:type_name -> SpaceX.API.Device.DishAlerts
- 6, // 4: SpaceX.API.Device.DishGetStatusResponse.obstruction_stats:type_name -> SpaceX.API.Device.DishObstructionStats
- 10, // 5: SpaceX.API.Device.DishAuthenticateResponse.dish:type_name -> SpaceX.API.Device.ChallengeResponse
- 6, // [6:6] is the sub-list for method output_type
- 6, // [6:6] is the sub-list for method input_type
- 6, // [6:6] is the sub-list for extension type_name
- 6, // [6:6] is the sub-list for extension extendee
- 0, // [0:6] is the sub-list for field type_name
+ 31, // 0: SpaceX.API.Device.DishGetContextResponse.device_info:type_name -> SpaceX.API.Device.DeviceInfo
+ 32, // 1: SpaceX.API.Device.DishGetContextResponse.device_state:type_name -> SpaceX.API.Device.DeviceState
+ 5, // 2: SpaceX.API.Device.DishOutage.cause:type_name -> SpaceX.API.Device.DishOutage.Cause
+ 11, // 3: SpaceX.API.Device.DishGetHistoryResponse.outages:type_name -> SpaceX.API.Device.DishOutage
+ 31, // 4: SpaceX.API.Device.DishGetStatusResponse.device_info:type_name -> SpaceX.API.Device.DeviceInfo
+ 32, // 5: SpaceX.API.Device.DishGetStatusResponse.device_state:type_name -> SpaceX.API.Device.DeviceState
+ 16, // 6: SpaceX.API.Device.DishGetStatusResponse.alerts:type_name -> SpaceX.API.Device.DishAlerts
+ 11, // 7: SpaceX.API.Device.DishGetStatusResponse.outage:type_name -> SpaceX.API.Device.DishOutage
+ 18, // 8: SpaceX.API.Device.DishGetStatusResponse.gps_stats:type_name -> SpaceX.API.Device.DishGpsStats
+ 19, // 9: SpaceX.API.Device.DishGetStatusResponse.obstruction_stats:type_name -> SpaceX.API.Device.DishObstructionStats
+ 0, // 10: SpaceX.API.Device.DishGetStatusResponse.mobility_class:type_name -> SpaceX.API.Device.UserMobilityClass
+ 17, // 11: SpaceX.API.Device.DishGetStatusResponse.ready_states:type_name -> SpaceX.API.Device.DishReadyStates
+ 2, // 12: SpaceX.API.Device.DishGetStatusResponse.class_of_service:type_name -> SpaceX.API.Device.UserClassOfService
+ 1, // 13: SpaceX.API.Device.DishGetStatusResponse.software_update_state:type_name -> SpaceX.API.Device.SoftwareUpdateState
+ 3, // 14: SpaceX.API.Device.DishGetStatusResponse.has_actuators:type_name -> SpaceX.API.Device.HasActuators
+ 33, // 15: SpaceX.API.Device.DishGetStatusResponse.disablement_code:type_name -> SpaceX.API.Satellites.Network.UtDisablementCode
+ 34, // 16: SpaceX.API.Device.DishAuthenticateResponse.dish:type_name -> SpaceX.API.Device.ChallengeResponse
+ 6, // 17: SpaceX.API.Device.SetTestModeRequest.rf_mode:type_name -> SpaceX.API.Device.SetTestModeRequest.RfMode
+ 35, // 18: SpaceX.API.Device.DishSetConfigRequest.dish_config:type_name -> SpaceX.API.Device.DishConfig
+ 35, // 19: SpaceX.API.Device.DishSetConfigResponse.updated_dish_config:type_name -> SpaceX.API.Device.DishConfig
+ 35, // 20: SpaceX.API.Device.DishGetConfigResponse.dish_config:type_name -> SpaceX.API.Device.DishConfig
+ 21, // [21:21] is the sub-list for method output_type
+ 21, // [21:21] is the sub-list for method input_type
+ 21, // [21:21] is the sub-list for extension type_name
+ 21, // [21:21] is the sub-list for extension extendee
+ 0, // [0:21] is the sub-list for field type_name
}
func init() { file_spacex_api_device_dish_proto_init() }
return
}
file_spacex_api_device_common_proto_init()
+ file_spacex_api_device_dish_config_proto_init()
if !protoimpl.UnsafeEnabled {
file_spacex_api_device_dish_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DishStowRequest); i {
}
}
file_spacex_api_device_dish_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*DishGetHistoryResponse); i {
+ switch v := v.(*DishGetContextRequest); i {
case 0:
return &v.state
case 1:
}
}
file_spacex_api_device_dish_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*DishGetStatusResponse); i {
+ switch v := v.(*DishGetContextResponse); i {
case 0:
return &v.state
case 1:
}
}
file_spacex_api_device_dish_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*DishAlerts); i {
+ switch v := v.(*DishOutage); i {
case 0:
return &v.state
case 1:
}
}
file_spacex_api_device_dish_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*DishObstructionStats); i {
+ switch v := v.(*DishGetHistoryResponse); i {
case 0:
return &v.state
case 1:
}
}
file_spacex_api_device_dish_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DishGetStatusResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_dish_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DishGetObstructionMapRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_dish_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DishGetObstructionMapResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_dish_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DishAlerts); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_dish_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DishReadyStates); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_dish_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DishGpsStats); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_dish_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DishObstructionStats); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_dish_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DishAuthenticateResponse); i {
case 0:
return &v.state
return nil
}
}
+ file_spacex_api_device_dish_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SelfTestRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_dish_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SelfTestResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_dish_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*StartDishSelfTestRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_dish_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*StartDishSelfTestResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_dish_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SetTestModeRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_dish_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SetTestModeResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_dish_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DishSetConfigRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_dish_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DishSetConfigResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_dish_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DishGetConfigRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_dish_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DishGetConfigResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_spacex_api_device_dish_proto_rawDesc,
- NumEnums: 1,
- NumMessages: 7,
+ NumEnums: 7,
+ NumMessages: 24,
NumExtensions: 0,
NumServices: 0,
},
blob - ca19d45aaaada0254671421c2861689090cff33c
blob + 670f69a0081f6f43302f8c94c101faa61f02445e
--- device/transceiver.pb.go
+++ device/transceiver.pb.go
return x.DcVoltageFault
}
return false
+}
+
+type TransceiverGetTelemetryRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *TransceiverGetTelemetryRequest) Reset() {
+ *x = TransceiverGetTelemetryRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_transceiver_proto_msgTypes[5]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TransceiverGetTelemetryRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TransceiverGetTelemetryRequest) ProtoMessage() {}
+
+func (x *TransceiverGetTelemetryRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_transceiver_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 TransceiverGetTelemetryRequest.ProtoReflect.Descriptor instead.
+func (*TransceiverGetTelemetryRequest) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_transceiver_proto_rawDescGZIP(), []int{5}
+}
+
+type TransceiverGetTelemetryResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AntennaPointingMode uint32 `protobuf:"varint,1001,opt,name=antenna_pointing_mode,json=antennaPointingMode,proto3" json:"antenna_pointing_mode,omitempty"`
+ AntennaPitch float32 `protobuf:"fixed32,1002,opt,name=antenna_pitch,json=antennaPitch,proto3" json:"antenna_pitch,omitempty"`
+ AntennaRoll float32 `protobuf:"fixed32,1003,opt,name=antenna_roll,json=antennaRoll,proto3" json:"antenna_roll,omitempty"`
+ AntennaRxTheta float32 `protobuf:"fixed32,1004,opt,name=antenna_rx_theta,json=antennaRxTheta,proto3" json:"antenna_rx_theta,omitempty"`
+ AntennaTrueHeading float32 `protobuf:"fixed32,1005,opt,name=antenna_true_heading,json=antennaTrueHeading,proto3" json:"antenna_true_heading,omitempty"`
+ RxChannel uint32 `protobuf:"varint,1006,opt,name=rx_channel,json=rxChannel,proto3" json:"rx_channel,omitempty"`
+ CurrentCellId uint32 `protobuf:"varint,1007,opt,name=current_cell_id,json=currentCellId,proto3" json:"current_cell_id,omitempty"`
+ SecondsUntilSlotEnd float32 `protobuf:"fixed32,1008,opt,name=seconds_until_slot_end,json=secondsUntilSlotEnd,proto3" json:"seconds_until_slot_end,omitempty"`
+ WbRssiPeakMagDb float32 `protobuf:"fixed32,1009,opt,name=wb_rssi_peak_mag_db,json=wbRssiPeakMagDb,proto3" json:"wb_rssi_peak_mag_db,omitempty"`
+ PopPingDropRate float32 `protobuf:"fixed32,1010,opt,name=pop_ping_drop_rate,json=popPingDropRate,proto3" json:"pop_ping_drop_rate,omitempty"`
+ SnrDb float32 `protobuf:"fixed32,1011,opt,name=snr_db,json=snrDb,proto3" json:"snr_db,omitempty"`
+ L1SnrAvgDb float32 `protobuf:"fixed32,1012,opt,name=l1_snr_avg_db,json=l1SnrAvgDb,proto3" json:"l1_snr_avg_db,omitempty"`
+ L1SnrMinDb float32 `protobuf:"fixed32,1013,opt,name=l1_snr_min_db,json=l1SnrMinDb,proto3" json:"l1_snr_min_db,omitempty"`
+ L1SnrMaxDb float32 `protobuf:"fixed32,1014,opt,name=l1_snr_max_db,json=l1SnrMaxDb,proto3" json:"l1_snr_max_db,omitempty"`
+ LmacSatelliteId uint32 `protobuf:"varint,1015,opt,name=lmac_satellite_id,json=lmacSatelliteId,proto3" json:"lmac_satellite_id,omitempty"`
+ TargetSatelliteId uint32 `protobuf:"varint,1016,opt,name=target_satellite_id,json=targetSatelliteId,proto3" json:"target_satellite_id,omitempty"`
+ GrantMcs uint32 `protobuf:"varint,1017,opt,name=grant_mcs,json=grantMcs,proto3" json:"grant_mcs,omitempty"`
+ GrantSymbolsAvg float32 `protobuf:"fixed32,1018,opt,name=grant_symbols_avg,json=grantSymbolsAvg,proto3" json:"grant_symbols_avg,omitempty"`
+ DedGrant uint32 `protobuf:"varint,1019,opt,name=ded_grant,json=dedGrant,proto3" json:"ded_grant,omitempty"`
+ MobilityProactiveSlotChange uint32 `protobuf:"varint,1020,opt,name=mobility_proactive_slot_change,json=mobilityProactiveSlotChange,proto3" json:"mobility_proactive_slot_change,omitempty"`
+ MobilityReactiveSlotChange uint32 `protobuf:"varint,1021,opt,name=mobility_reactive_slot_change,json=mobilityReactiveSlotChange,proto3" json:"mobility_reactive_slot_change,omitempty"`
+ RfpTotalSynFailed uint32 `protobuf:"varint,1022,opt,name=rfp_total_syn_failed,json=rfpTotalSynFailed,proto3" json:"rfp_total_syn_failed,omitempty"`
+ NumOutOfSeq uint32 `protobuf:"varint,1023,opt,name=num_out_of_seq,json=numOutOfSeq,proto3" json:"num_out_of_seq,omitempty"`
+ NumUlmapDrop uint32 `protobuf:"varint,1024,opt,name=num_ulmap_drop,json=numUlmapDrop,proto3" json:"num_ulmap_drop,omitempty"`
+ CurrentSecondsOfSchedule float32 `protobuf:"fixed32,1025,opt,name=current_seconds_of_schedule,json=currentSecondsOfSchedule,proto3" json:"current_seconds_of_schedule,omitempty"`
+ SendLabelSwitchToGroundFailedCalls uint32 `protobuf:"varint,1026,opt,name=send_label_switch_to_ground_failed_calls,json=sendLabelSwitchToGroundFailedCalls,proto3" json:"send_label_switch_to_ground_failed_calls,omitempty"`
+ EmaVelocityX float64 `protobuf:"fixed64,1027,opt,name=ema_velocity_x,json=emaVelocityX,proto3" json:"ema_velocity_x,omitempty"`
+ EmaVelocityY float64 `protobuf:"fixed64,1028,opt,name=ema_velocity_y,json=emaVelocityY,proto3" json:"ema_velocity_y,omitempty"`
+ EmaVelocityZ float64 `protobuf:"fixed64,1029,opt,name=ema_velocity_z,json=emaVelocityZ,proto3" json:"ema_velocity_z,omitempty"`
+ CeRssiDb float32 `protobuf:"fixed32,1030,opt,name=ce_rssi_db,json=ceRssiDb,proto3" json:"ce_rssi_db,omitempty"`
}
+func (x *TransceiverGetTelemetryResponse) Reset() {
+ *x = TransceiverGetTelemetryResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_transceiver_proto_msgTypes[6]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TransceiverGetTelemetryResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TransceiverGetTelemetryResponse) ProtoMessage() {}
+
+func (x *TransceiverGetTelemetryResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_transceiver_proto_msgTypes[6]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TransceiverGetTelemetryResponse.ProtoReflect.Descriptor instead.
+func (*TransceiverGetTelemetryResponse) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_transceiver_proto_rawDescGZIP(), []int{6}
+}
+
+func (x *TransceiverGetTelemetryResponse) GetAntennaPointingMode() uint32 {
+ if x != nil {
+ return x.AntennaPointingMode
+ }
+ return 0
+}
+
+func (x *TransceiverGetTelemetryResponse) GetAntennaPitch() float32 {
+ if x != nil {
+ return x.AntennaPitch
+ }
+ return 0
+}
+
+func (x *TransceiverGetTelemetryResponse) GetAntennaRoll() float32 {
+ if x != nil {
+ return x.AntennaRoll
+ }
+ return 0
+}
+
+func (x *TransceiverGetTelemetryResponse) GetAntennaRxTheta() float32 {
+ if x != nil {
+ return x.AntennaRxTheta
+ }
+ return 0
+}
+
+func (x *TransceiverGetTelemetryResponse) GetAntennaTrueHeading() float32 {
+ if x != nil {
+ return x.AntennaTrueHeading
+ }
+ return 0
+}
+
+func (x *TransceiverGetTelemetryResponse) GetRxChannel() uint32 {
+ if x != nil {
+ return x.RxChannel
+ }
+ return 0
+}
+
+func (x *TransceiverGetTelemetryResponse) GetCurrentCellId() uint32 {
+ if x != nil {
+ return x.CurrentCellId
+ }
+ return 0
+}
+
+func (x *TransceiverGetTelemetryResponse) GetSecondsUntilSlotEnd() float32 {
+ if x != nil {
+ return x.SecondsUntilSlotEnd
+ }
+ return 0
+}
+
+func (x *TransceiverGetTelemetryResponse) GetWbRssiPeakMagDb() float32 {
+ if x != nil {
+ return x.WbRssiPeakMagDb
+ }
+ return 0
+}
+
+func (x *TransceiverGetTelemetryResponse) GetPopPingDropRate() float32 {
+ if x != nil {
+ return x.PopPingDropRate
+ }
+ return 0
+}
+
+func (x *TransceiverGetTelemetryResponse) GetSnrDb() float32 {
+ if x != nil {
+ return x.SnrDb
+ }
+ return 0
+}
+
+func (x *TransceiverGetTelemetryResponse) GetL1SnrAvgDb() float32 {
+ if x != nil {
+ return x.L1SnrAvgDb
+ }
+ return 0
+}
+
+func (x *TransceiverGetTelemetryResponse) GetL1SnrMinDb() float32 {
+ if x != nil {
+ return x.L1SnrMinDb
+ }
+ return 0
+}
+
+func (x *TransceiverGetTelemetryResponse) GetL1SnrMaxDb() float32 {
+ if x != nil {
+ return x.L1SnrMaxDb
+ }
+ return 0
+}
+
+func (x *TransceiverGetTelemetryResponse) GetLmacSatelliteId() uint32 {
+ if x != nil {
+ return x.LmacSatelliteId
+ }
+ return 0
+}
+
+func (x *TransceiverGetTelemetryResponse) GetTargetSatelliteId() uint32 {
+ if x != nil {
+ return x.TargetSatelliteId
+ }
+ return 0
+}
+
+func (x *TransceiverGetTelemetryResponse) GetGrantMcs() uint32 {
+ if x != nil {
+ return x.GrantMcs
+ }
+ return 0
+}
+
+func (x *TransceiverGetTelemetryResponse) GetGrantSymbolsAvg() float32 {
+ if x != nil {
+ return x.GrantSymbolsAvg
+ }
+ return 0
+}
+
+func (x *TransceiverGetTelemetryResponse) GetDedGrant() uint32 {
+ if x != nil {
+ return x.DedGrant
+ }
+ return 0
+}
+
+func (x *TransceiverGetTelemetryResponse) GetMobilityProactiveSlotChange() uint32 {
+ if x != nil {
+ return x.MobilityProactiveSlotChange
+ }
+ return 0
+}
+
+func (x *TransceiverGetTelemetryResponse) GetMobilityReactiveSlotChange() uint32 {
+ if x != nil {
+ return x.MobilityReactiveSlotChange
+ }
+ return 0
+}
+
+func (x *TransceiverGetTelemetryResponse) GetRfpTotalSynFailed() uint32 {
+ if x != nil {
+ return x.RfpTotalSynFailed
+ }
+ return 0
+}
+
+func (x *TransceiverGetTelemetryResponse) GetNumOutOfSeq() uint32 {
+ if x != nil {
+ return x.NumOutOfSeq
+ }
+ return 0
+}
+
+func (x *TransceiverGetTelemetryResponse) GetNumUlmapDrop() uint32 {
+ if x != nil {
+ return x.NumUlmapDrop
+ }
+ return 0
+}
+
+func (x *TransceiverGetTelemetryResponse) GetCurrentSecondsOfSchedule() float32 {
+ if x != nil {
+ return x.CurrentSecondsOfSchedule
+ }
+ return 0
+}
+
+func (x *TransceiverGetTelemetryResponse) GetSendLabelSwitchToGroundFailedCalls() uint32 {
+ if x != nil {
+ return x.SendLabelSwitchToGroundFailedCalls
+ }
+ return 0
+}
+
+func (x *TransceiverGetTelemetryResponse) GetEmaVelocityX() float64 {
+ if x != nil {
+ return x.EmaVelocityX
+ }
+ return 0
+}
+
+func (x *TransceiverGetTelemetryResponse) GetEmaVelocityY() float64 {
+ if x != nil {
+ return x.EmaVelocityY
+ }
+ return 0
+}
+
+func (x *TransceiverGetTelemetryResponse) GetEmaVelocityZ() float64 {
+ if x != nil {
+ return x.EmaVelocityZ
+ }
+ return 0
+}
+
+func (x *TransceiverGetTelemetryResponse) GetCeRssiDb() float32 {
+ if x != nil {
+ return x.CeRssiDb
+ }
+ return 0
+}
+
var File_spacex_api_device_transceiver_proto protoreflect.FileDescriptor
var file_spacex_api_device_transceiver_proto_rawDesc = []byte{
0x72, 0x54, 0x65, 0x6d, 0x70, 0x50, 0x63, 0x62, 0x61, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x28,
0x0a, 0x10, 0x64, 0x63, 0x5f, 0x76, 0x6f, 0x6c, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x66, 0x61, 0x75,
0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x64, 0x63, 0x56, 0x6f, 0x6c, 0x74,
- 0x61, 0x67, 0x65, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x2a, 0x5e, 0x0a, 0x19, 0x54, 0x72, 0x61, 0x6e,
- 0x73, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x61, 0x74, 0x6f, 0x72,
- 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x4d, 0x4f, 0x44, 0x53, 0x54, 0x41, 0x54,
- 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x4d,
- 0x4f, 0x44, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10,
- 0x01, 0x12, 0x15, 0x0a, 0x11, 0x4d, 0x4f, 0x44, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x49,
- 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x2a, 0x4d, 0x0a, 0x14, 0x54, 0x72, 0x61, 0x6e,
- 0x73, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x54, 0x78, 0x52, 0x78, 0x53, 0x74, 0x61, 0x74, 0x65,
- 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x58, 0x52, 0x58, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e,
- 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x58, 0x52, 0x58, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c,
- 0x45, 0x44, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x54, 0x58, 0x52, 0x58, 0x5f, 0x44, 0x49, 0x53,
- 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x2a, 0x53, 0x0a, 0x20, 0x54, 0x72, 0x61, 0x6e, 0x73,
- 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x42, 0x6c,
- 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x0a, 0x54,
- 0x42, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x54,
- 0x42, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x54,
- 0x42, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x42, 0x17, 0x5a, 0x15,
- 0x73, 0x70, 0x61, 0x63, 0x65, 0x78, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64,
- 0x65, 0x76, 0x69, 0x63, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x61, 0x67, 0x65, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x22, 0x20, 0x0a, 0x1e, 0x54, 0x72, 0x61, 0x6e,
+ 0x73, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65,
+ 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xd9, 0x0a, 0x0a, 0x1f, 0x54,
+ 0x72, 0x61, 0x6e, 0x73, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6c,
+ 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33,
+ 0x0a, 0x15, 0x61, 0x6e, 0x74, 0x65, 0x6e, 0x6e, 0x61, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x69,
+ 0x6e, 0x67, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0xe9, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13,
+ 0x61, 0x6e, 0x74, 0x65, 0x6e, 0x6e, 0x61, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x4d,
+ 0x6f, 0x64, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x6e, 0x74, 0x65, 0x6e, 0x6e, 0x61, 0x5f, 0x70,
+ 0x69, 0x74, 0x63, 0x68, 0x18, 0xea, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x61, 0x6e, 0x74,
+ 0x65, 0x6e, 0x6e, 0x61, 0x50, 0x69, 0x74, 0x63, 0x68, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x6e, 0x74,
+ 0x65, 0x6e, 0x6e, 0x61, 0x5f, 0x72, 0x6f, 0x6c, 0x6c, 0x18, 0xeb, 0x07, 0x20, 0x01, 0x28, 0x02,
+ 0x52, 0x0b, 0x61, 0x6e, 0x74, 0x65, 0x6e, 0x6e, 0x61, 0x52, 0x6f, 0x6c, 0x6c, 0x12, 0x29, 0x0a,
+ 0x10, 0x61, 0x6e, 0x74, 0x65, 0x6e, 0x6e, 0x61, 0x5f, 0x72, 0x78, 0x5f, 0x74, 0x68, 0x65, 0x74,
+ 0x61, 0x18, 0xec, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x61, 0x6e, 0x74, 0x65, 0x6e, 0x6e,
+ 0x61, 0x52, 0x78, 0x54, 0x68, 0x65, 0x74, 0x61, 0x12, 0x31, 0x0a, 0x14, 0x61, 0x6e, 0x74, 0x65,
+ 0x6e, 0x6e, 0x61, 0x5f, 0x74, 0x72, 0x75, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67,
+ 0x18, 0xed, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x12, 0x61, 0x6e, 0x74, 0x65, 0x6e, 0x6e, 0x61,
+ 0x54, 0x72, 0x75, 0x65, 0x48, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x72,
+ 0x78, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0xee, 0x07, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x09, 0x72, 0x78, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x63,
+ 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x65, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0xef,
+ 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x65,
+ 0x6c, 0x6c, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f,
+ 0x75, 0x6e, 0x74, 0x69, 0x6c, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0xf0,
+ 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x13, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x55, 0x6e,
+ 0x74, 0x69, 0x6c, 0x53, 0x6c, 0x6f, 0x74, 0x45, 0x6e, 0x64, 0x12, 0x2d, 0x0a, 0x13, 0x77, 0x62,
+ 0x5f, 0x72, 0x73, 0x73, 0x69, 0x5f, 0x70, 0x65, 0x61, 0x6b, 0x5f, 0x6d, 0x61, 0x67, 0x5f, 0x64,
+ 0x62, 0x18, 0xf1, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x77, 0x62, 0x52, 0x73, 0x73, 0x69,
+ 0x50, 0x65, 0x61, 0x6b, 0x4d, 0x61, 0x67, 0x44, 0x62, 0x12, 0x2c, 0x0a, 0x12, 0x70, 0x6f, 0x70,
+ 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18,
+ 0xf2, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x70, 0x6f, 0x70, 0x50, 0x69, 0x6e, 0x67, 0x44,
+ 0x72, 0x6f, 0x70, 0x52, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6e, 0x72, 0x5f, 0x64,
+ 0x62, 0x18, 0xf3, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x73, 0x6e, 0x72, 0x44, 0x62, 0x12,
+ 0x22, 0x0a, 0x0d, 0x6c, 0x31, 0x5f, 0x73, 0x6e, 0x72, 0x5f, 0x61, 0x76, 0x67, 0x5f, 0x64, 0x62,
+ 0x18, 0xf4, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x6c, 0x31, 0x53, 0x6e, 0x72, 0x41, 0x76,
+ 0x67, 0x44, 0x62, 0x12, 0x22, 0x0a, 0x0d, 0x6c, 0x31, 0x5f, 0x73, 0x6e, 0x72, 0x5f, 0x6d, 0x69,
+ 0x6e, 0x5f, 0x64, 0x62, 0x18, 0xf5, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x6c, 0x31, 0x53,
+ 0x6e, 0x72, 0x4d, 0x69, 0x6e, 0x44, 0x62, 0x12, 0x22, 0x0a, 0x0d, 0x6c, 0x31, 0x5f, 0x73, 0x6e,
+ 0x72, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x62, 0x18, 0xf6, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52,
+ 0x0a, 0x6c, 0x31, 0x53, 0x6e, 0x72, 0x4d, 0x61, 0x78, 0x44, 0x62, 0x12, 0x2b, 0x0a, 0x11, 0x6c,
+ 0x6d, 0x61, 0x63, 0x5f, 0x73, 0x61, 0x74, 0x65, 0x6c, 0x6c, 0x69, 0x74, 0x65, 0x5f, 0x69, 0x64,
+ 0x18, 0xf7, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6c, 0x6d, 0x61, 0x63, 0x53, 0x61, 0x74,
+ 0x65, 0x6c, 0x6c, 0x69, 0x74, 0x65, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x13, 0x74, 0x61, 0x72, 0x67,
+ 0x65, 0x74, 0x5f, 0x73, 0x61, 0x74, 0x65, 0x6c, 0x6c, 0x69, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18,
+ 0xf8, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x61,
+ 0x74, 0x65, 0x6c, 0x6c, 0x69, 0x74, 0x65, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x72, 0x61,
+ 0x6e, 0x74, 0x5f, 0x6d, 0x63, 0x73, 0x18, 0xf9, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x67,
+ 0x72, 0x61, 0x6e, 0x74, 0x4d, 0x63, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x67, 0x72, 0x61, 0x6e, 0x74,
+ 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x73, 0x5f, 0x61, 0x76, 0x67, 0x18, 0xfa, 0x07, 0x20,
+ 0x01, 0x28, 0x02, 0x52, 0x0f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c,
+ 0x73, 0x41, 0x76, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x64, 0x5f, 0x67, 0x72, 0x61, 0x6e,
+ 0x74, 0x18, 0xfb, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x65, 0x64, 0x47, 0x72, 0x61,
+ 0x6e, 0x74, 0x12, 0x44, 0x0a, 0x1e, 0x6d, 0x6f, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x70,
+ 0x72, 0x6f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x63, 0x68,
+ 0x61, 0x6e, 0x67, 0x65, 0x18, 0xfc, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1b, 0x6d, 0x6f, 0x62,
+ 0x69, 0x6c, 0x69, 0x74, 0x79, 0x50, 0x72, 0x6f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x6c,
+ 0x6f, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x42, 0x0a, 0x1d, 0x6d, 0x6f, 0x62, 0x69,
+ 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x6c,
+ 0x6f, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0xfd, 0x07, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x1a, 0x6d, 0x6f, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69,
+ 0x76, 0x65, 0x53, 0x6c, 0x6f, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x30, 0x0a, 0x14,
+ 0x72, 0x66, 0x70, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x79, 0x6e, 0x5f, 0x66, 0x61,
+ 0x69, 0x6c, 0x65, 0x64, 0x18, 0xfe, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x72, 0x66, 0x70,
+ 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x79, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x12, 0x24,
+ 0x0a, 0x0e, 0x6e, 0x75, 0x6d, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x6f, 0x66, 0x5f, 0x73, 0x65, 0x71,
+ 0x18, 0xff, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x4f, 0x75, 0x74, 0x4f,
+ 0x66, 0x53, 0x65, 0x71, 0x12, 0x25, 0x0a, 0x0e, 0x6e, 0x75, 0x6d, 0x5f, 0x75, 0x6c, 0x6d, 0x61,
+ 0x70, 0x5f, 0x64, 0x72, 0x6f, 0x70, 0x18, 0x80, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6e,
+ 0x75, 0x6d, 0x55, 0x6c, 0x6d, 0x61, 0x70, 0x44, 0x72, 0x6f, 0x70, 0x12, 0x3e, 0x0a, 0x1b, 0x63,
+ 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x6f,
+ 0x66, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x81, 0x08, 0x20, 0x01, 0x28,
+ 0x02, 0x52, 0x18, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64,
+ 0x73, 0x4f, 0x66, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x55, 0x0a, 0x28, 0x73,
+ 0x65, 0x6e, 0x64, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68,
+ 0x5f, 0x74, 0x6f, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65,
+ 0x64, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x82, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x22,
+ 0x73, 0x65, 0x6e, 0x64, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x54,
+ 0x6f, 0x47, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x43, 0x61, 0x6c,
+ 0x6c, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x6c, 0x6f, 0x63, 0x69,
+ 0x74, 0x79, 0x5f, 0x78, 0x18, 0x83, 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x65, 0x6d, 0x61,
+ 0x56, 0x65, 0x6c, 0x6f, 0x63, 0x69, 0x74, 0x79, 0x58, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x6d, 0x61,
+ 0x5f, 0x76, 0x65, 0x6c, 0x6f, 0x63, 0x69, 0x74, 0x79, 0x5f, 0x79, 0x18, 0x84, 0x08, 0x20, 0x01,
+ 0x28, 0x01, 0x52, 0x0c, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x6c, 0x6f, 0x63, 0x69, 0x74, 0x79, 0x59,
+ 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x6c, 0x6f, 0x63, 0x69, 0x74, 0x79,
+ 0x5f, 0x7a, 0x18, 0x85, 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x65, 0x6d, 0x61, 0x56, 0x65,
+ 0x6c, 0x6f, 0x63, 0x69, 0x74, 0x79, 0x5a, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x65, 0x5f, 0x72, 0x73,
+ 0x73, 0x69, 0x5f, 0x64, 0x62, 0x18, 0x86, 0x08, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x63, 0x65,
+ 0x52, 0x73, 0x73, 0x69, 0x44, 0x62, 0x2a, 0x5e, 0x0a, 0x19, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63,
+ 0x65, 0x69, 0x76, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x74,
+ 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x4d, 0x4f, 0x44, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f,
+ 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x4d, 0x4f, 0x44,
+ 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12,
+ 0x15, 0x0a, 0x11, 0x4d, 0x4f, 0x44, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x49, 0x53, 0x41,
+ 0x42, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x2a, 0x4d, 0x0a, 0x14, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63,
+ 0x65, 0x69, 0x76, 0x65, 0x72, 0x54, 0x78, 0x52, 0x78, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x10,
+ 0x0a, 0x0c, 0x54, 0x58, 0x52, 0x58, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00,
+ 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x58, 0x52, 0x58, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44,
+ 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x54, 0x58, 0x52, 0x58, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42,
+ 0x4c, 0x45, 0x44, 0x10, 0x02, 0x2a, 0x53, 0x0a, 0x20, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x65,
+ 0x69, 0x76, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x42, 0x6c, 0x61, 0x6e,
+ 0x6b, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x42, 0x5f,
+ 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x42, 0x5f,
+ 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x42, 0x5f,
+ 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x42, 0x17, 0x5a, 0x15, 0x73, 0x70,
+ 0x61, 0x63, 0x65, 0x78, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76,
+ 0x69, 0x63, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
}
var file_spacex_api_device_transceiver_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
-var file_spacex_api_device_transceiver_proto_msgTypes = make([]protoimpl.MessageInfo, 5)
+var file_spacex_api_device_transceiver_proto_msgTypes = make([]protoimpl.MessageInfo, 7)
var file_spacex_api_device_transceiver_proto_goTypes = []interface{}{
(TransceiverModulatorState)(0), // 0: SpaceX.API.Device.TransceiverModulatorState
(TransceiverTxRxState)(0), // 1: SpaceX.API.Device.TransceiverTxRxState
(*TransceiverGetStatusRequest)(nil), // 5: SpaceX.API.Device.TransceiverGetStatusRequest
(*TransceiverGetStatusResponse)(nil), // 6: SpaceX.API.Device.TransceiverGetStatusResponse
(*TransceiverFaults)(nil), // 7: SpaceX.API.Device.TransceiverFaults
- (DishState)(0), // 8: SpaceX.API.Device.DishState
+ (*TransceiverGetTelemetryRequest)(nil), // 8: SpaceX.API.Device.TransceiverGetTelemetryRequest
+ (*TransceiverGetTelemetryResponse)(nil), // 9: SpaceX.API.Device.TransceiverGetTelemetryResponse
+ (DishState)(0), // 10: SpaceX.API.Device.DishState
}
var file_spacex_api_device_transceiver_proto_depIdxs = []int32{
- 0, // 0: SpaceX.API.Device.TransceiverGetStatusResponse.mod_state:type_name -> SpaceX.API.Device.TransceiverModulatorState
- 0, // 1: SpaceX.API.Device.TransceiverGetStatusResponse.demod_state:type_name -> SpaceX.API.Device.TransceiverModulatorState
- 1, // 2: SpaceX.API.Device.TransceiverGetStatusResponse.tx_state:type_name -> SpaceX.API.Device.TransceiverTxRxState
- 1, // 3: SpaceX.API.Device.TransceiverGetStatusResponse.rx_state:type_name -> SpaceX.API.Device.TransceiverTxRxState
- 8, // 4: SpaceX.API.Device.TransceiverGetStatusResponse.state:type_name -> SpaceX.API.Device.DishState
- 7, // 5: SpaceX.API.Device.TransceiverGetStatusResponse.faults:type_name -> SpaceX.API.Device.TransceiverFaults
- 2, // 6: SpaceX.API.Device.TransceiverGetStatusResponse.transmit_blanking_state:type_name -> SpaceX.API.Device.TransceiverTransmitBlankingState
- 7, // [7:7] is the sub-list for method output_type
- 7, // [7:7] is the sub-list for method input_type
- 7, // [7:7] is the sub-list for extension type_name
- 7, // [7:7] is the sub-list for extension extendee
- 0, // [0:7] is the sub-list for field type_name
+ 0, // 0: SpaceX.API.Device.TransceiverGetStatusResponse.mod_state:type_name -> SpaceX.API.Device.TransceiverModulatorState
+ 0, // 1: SpaceX.API.Device.TransceiverGetStatusResponse.demod_state:type_name -> SpaceX.API.Device.TransceiverModulatorState
+ 1, // 2: SpaceX.API.Device.TransceiverGetStatusResponse.tx_state:type_name -> SpaceX.API.Device.TransceiverTxRxState
+ 1, // 3: SpaceX.API.Device.TransceiverGetStatusResponse.rx_state:type_name -> SpaceX.API.Device.TransceiverTxRxState
+ 10, // 4: SpaceX.API.Device.TransceiverGetStatusResponse.state:type_name -> SpaceX.API.Device.DishState
+ 7, // 5: SpaceX.API.Device.TransceiverGetStatusResponse.faults:type_name -> SpaceX.API.Device.TransceiverFaults
+ 2, // 6: SpaceX.API.Device.TransceiverGetStatusResponse.transmit_blanking_state:type_name -> SpaceX.API.Device.TransceiverTransmitBlankingState
+ 7, // [7:7] is the sub-list for method output_type
+ 7, // [7:7] is the sub-list for method input_type
+ 7, // [7:7] is the sub-list for extension type_name
+ 7, // [7:7] is the sub-list for extension extendee
+ 0, // [0:7] is the sub-list for field type_name
}
func init() { file_spacex_api_device_transceiver_proto_init() }
return nil
}
}
+ file_spacex_api_device_transceiver_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TransceiverGetTelemetryRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_transceiver_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TransceiverGetTelemetryResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
}
type x struct{}
out := protoimpl.TypeBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_spacex_api_device_transceiver_proto_rawDesc,
NumEnums: 3,
- NumMessages: 5,
+ NumMessages: 7,
NumExtensions: 0,
NumServices: 0,
},
blob - /dev/null
blob + c21311d26cc6627cd5275bef417e3abb966d041d (mode 644)
--- /dev/null
+++ device/dish_config.pb.go
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.28.1
+// protoc v3.21.6
+// source: spacex/api/device/dish_config.proto
+
+package device
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type DishConfig_SnowMeltMode int32
+
+const (
+ DishConfig_AUTO DishConfig_SnowMeltMode = 0
+ DishConfig_ALWAYS_ON DishConfig_SnowMeltMode = 1
+ DishConfig_ALWAYS_OFF DishConfig_SnowMeltMode = 2
+)
+
+// Enum value maps for DishConfig_SnowMeltMode.
+var (
+ DishConfig_SnowMeltMode_name = map[int32]string{
+ 0: "AUTO",
+ 1: "ALWAYS_ON",
+ 2: "ALWAYS_OFF",
+ }
+ DishConfig_SnowMeltMode_value = map[string]int32{
+ "AUTO": 0,
+ "ALWAYS_ON": 1,
+ "ALWAYS_OFF": 2,
+ }
+)
+
+func (x DishConfig_SnowMeltMode) Enum() *DishConfig_SnowMeltMode {
+ p := new(DishConfig_SnowMeltMode)
+ *p = x
+ return p
+}
+
+func (x DishConfig_SnowMeltMode) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (DishConfig_SnowMeltMode) Descriptor() protoreflect.EnumDescriptor {
+ return file_spacex_api_device_dish_config_proto_enumTypes[0].Descriptor()
+}
+
+func (DishConfig_SnowMeltMode) Type() protoreflect.EnumType {
+ return &file_spacex_api_device_dish_config_proto_enumTypes[0]
+}
+
+func (x DishConfig_SnowMeltMode) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use DishConfig_SnowMeltMode.Descriptor instead.
+func (DishConfig_SnowMeltMode) EnumDescriptor() ([]byte, []int) {
+ return file_spacex_api_device_dish_config_proto_rawDescGZIP(), []int{0, 0}
+}
+
+type DishConfig_LocationRequestMode int32
+
+const (
+ DishConfig_NONE DishConfig_LocationRequestMode = 0
+ DishConfig_LOCAL DishConfig_LocationRequestMode = 1
+)
+
+// Enum value maps for DishConfig_LocationRequestMode.
+var (
+ DishConfig_LocationRequestMode_name = map[int32]string{
+ 0: "NONE",
+ 1: "LOCAL",
+ }
+ DishConfig_LocationRequestMode_value = map[string]int32{
+ "NONE": 0,
+ "LOCAL": 1,
+ }
+)
+
+func (x DishConfig_LocationRequestMode) Enum() *DishConfig_LocationRequestMode {
+ p := new(DishConfig_LocationRequestMode)
+ *p = x
+ return p
+}
+
+func (x DishConfig_LocationRequestMode) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (DishConfig_LocationRequestMode) Descriptor() protoreflect.EnumDescriptor {
+ return file_spacex_api_device_dish_config_proto_enumTypes[1].Descriptor()
+}
+
+func (DishConfig_LocationRequestMode) Type() protoreflect.EnumType {
+ return &file_spacex_api_device_dish_config_proto_enumTypes[1]
+}
+
+func (x DishConfig_LocationRequestMode) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use DishConfig_LocationRequestMode.Descriptor instead.
+func (DishConfig_LocationRequestMode) EnumDescriptor() ([]byte, []int) {
+ return file_spacex_api_device_dish_config_proto_rawDescGZIP(), []int{0, 1}
+}
+
+type DishConfig_LevelDishMode int32
+
+const (
+ DishConfig_TILT_LIKE_NORMAL DishConfig_LevelDishMode = 0
+ DishConfig_FORCE_LEVEL DishConfig_LevelDishMode = 1
+)
+
+// Enum value maps for DishConfig_LevelDishMode.
+var (
+ DishConfig_LevelDishMode_name = map[int32]string{
+ 0: "TILT_LIKE_NORMAL",
+ 1: "FORCE_LEVEL",
+ }
+ DishConfig_LevelDishMode_value = map[string]int32{
+ "TILT_LIKE_NORMAL": 0,
+ "FORCE_LEVEL": 1,
+ }
+)
+
+func (x DishConfig_LevelDishMode) Enum() *DishConfig_LevelDishMode {
+ p := new(DishConfig_LevelDishMode)
+ *p = x
+ return p
+}
+
+func (x DishConfig_LevelDishMode) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (DishConfig_LevelDishMode) Descriptor() protoreflect.EnumDescriptor {
+ return file_spacex_api_device_dish_config_proto_enumTypes[2].Descriptor()
+}
+
+func (DishConfig_LevelDishMode) Type() protoreflect.EnumType {
+ return &file_spacex_api_device_dish_config_proto_enumTypes[2]
+}
+
+func (x DishConfig_LevelDishMode) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use DishConfig_LevelDishMode.Descriptor instead.
+func (DishConfig_LevelDishMode) EnumDescriptor() ([]byte, []int) {
+ return file_spacex_api_device_dish_config_proto_rawDescGZIP(), []int{0, 2}
+}
+
+type DishConfig struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SnowMeltMode DishConfig_SnowMeltMode `protobuf:"varint,1,opt,name=snow_melt_mode,json=snowMeltMode,proto3,enum=SpaceX.API.Device.DishConfig_SnowMeltMode" json:"snow_melt_mode,omitempty"`
+ ApplySnowMeltMode bool `protobuf:"varint,1001,opt,name=apply_snow_melt_mode,json=applySnowMeltMode,proto3" json:"apply_snow_melt_mode,omitempty"`
+ LocationRequestMode DishConfig_LocationRequestMode `protobuf:"varint,2,opt,name=location_request_mode,json=locationRequestMode,proto3,enum=SpaceX.API.Device.DishConfig_LocationRequestMode" json:"location_request_mode,omitempty"`
+ ApplyLocationRequestMode bool `protobuf:"varint,2001,opt,name=apply_location_request_mode,json=applyLocationRequestMode,proto3" json:"apply_location_request_mode,omitempty"`
+ LevelDishMode DishConfig_LevelDishMode `protobuf:"varint,3,opt,name=level_dish_mode,json=levelDishMode,proto3,enum=SpaceX.API.Device.DishConfig_LevelDishMode" json:"level_dish_mode,omitempty"`
+ ApplyLevelDishMode bool `protobuf:"varint,3001,opt,name=apply_level_dish_mode,json=applyLevelDishMode,proto3" json:"apply_level_dish_mode,omitempty"`
+}
+
+func (x *DishConfig) Reset() {
+ *x = DishConfig{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_dish_config_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DishConfig) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DishConfig) ProtoMessage() {}
+
+func (x *DishConfig) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_dish_config_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 DishConfig.ProtoReflect.Descriptor instead.
+func (*DishConfig) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_dish_config_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DishConfig) GetSnowMeltMode() DishConfig_SnowMeltMode {
+ if x != nil {
+ return x.SnowMeltMode
+ }
+ return DishConfig_AUTO
+}
+
+func (x *DishConfig) GetApplySnowMeltMode() bool {
+ if x != nil {
+ return x.ApplySnowMeltMode
+ }
+ return false
+}
+
+func (x *DishConfig) GetLocationRequestMode() DishConfig_LocationRequestMode {
+ if x != nil {
+ return x.LocationRequestMode
+ }
+ return DishConfig_NONE
+}
+
+func (x *DishConfig) GetApplyLocationRequestMode() bool {
+ if x != nil {
+ return x.ApplyLocationRequestMode
+ }
+ return false
+}
+
+func (x *DishConfig) GetLevelDishMode() DishConfig_LevelDishMode {
+ if x != nil {
+ return x.LevelDishMode
+ }
+ return DishConfig_TILT_LIKE_NORMAL
+}
+
+func (x *DishConfig) GetApplyLevelDishMode() bool {
+ if x != nil {
+ return x.ApplyLevelDishMode
+ }
+ return false
+}
+
+var File_spacex_api_device_dish_config_proto protoreflect.FileDescriptor
+
+var file_spacex_api_device_dish_config_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x73, 0x70, 0x61, 0x63, 0x65, 0x78, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76,
+ 0x69, 0x63, 0x65, 0x2f, 0x64, 0x69, 0x73, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50,
+ 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x22, 0xdd, 0x04, 0x0a, 0x0a, 0x44, 0x69, 0x73,
+ 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x50, 0x0a, 0x0e, 0x73, 0x6e, 0x6f, 0x77, 0x5f,
+ 0x6d, 0x65, 0x6c, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32,
+ 0x2a, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76,
+ 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x53,
+ 0x6e, 0x6f, 0x77, 0x4d, 0x65, 0x6c, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x73, 0x6e, 0x6f,
+ 0x77, 0x4d, 0x65, 0x6c, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x61, 0x70, 0x70,
+ 0x6c, 0x79, 0x5f, 0x73, 0x6e, 0x6f, 0x77, 0x5f, 0x6d, 0x65, 0x6c, 0x74, 0x5f, 0x6d, 0x6f, 0x64,
+ 0x65, 0x18, 0xe9, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x53,
+ 0x6e, 0x6f, 0x77, 0x4d, 0x65, 0x6c, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x65, 0x0a, 0x15, 0x6c,
+ 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f,
+ 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x53, 0x70, 0x61,
+ 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44,
+ 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x13, 0x6c,
+ 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x6f,
+ 0x64, 0x65, 0x12, 0x3e, 0x0a, 0x1b, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x6c, 0x6f, 0x63, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6d, 0x6f, 0x64,
+ 0x65, 0x18, 0xd1, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x4c,
+ 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x6f,
+ 0x64, 0x65, 0x12, 0x53, 0x0a, 0x0f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x64, 0x69, 0x73, 0x68,
+ 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x53, 0x70,
+ 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e,
+ 0x44, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4c, 0x65, 0x76, 0x65, 0x6c,
+ 0x44, 0x69, 0x73, 0x68, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x44,
+ 0x69, 0x73, 0x68, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x61, 0x70, 0x70, 0x6c, 0x79,
+ 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x64, 0x69, 0x73, 0x68, 0x5f, 0x6d, 0x6f, 0x64, 0x65,
+ 0x18, 0xb9, 0x17, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x65,
+ 0x76, 0x65, 0x6c, 0x44, 0x69, 0x73, 0x68, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0x37, 0x0a, 0x0c, 0x53,
+ 0x6e, 0x6f, 0x77, 0x4d, 0x65, 0x6c, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x41,
+ 0x55, 0x54, 0x4f, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x4c, 0x57, 0x41, 0x59, 0x53, 0x5f,
+ 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x41, 0x4c, 0x57, 0x41, 0x59, 0x53, 0x5f, 0x4f,
+ 0x46, 0x46, 0x10, 0x02, 0x22, 0x2a, 0x0a, 0x13, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x4e,
+ 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x10, 0x01,
+ 0x22, 0x36, 0x0a, 0x0d, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x44, 0x69, 0x73, 0x68, 0x4d, 0x6f, 0x64,
+ 0x65, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x49, 0x4c, 0x54, 0x5f, 0x4c, 0x49, 0x4b, 0x45, 0x5f, 0x4e,
+ 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x4f, 0x52, 0x43, 0x45,
+ 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x10, 0x01, 0x42, 0x17, 0x5a, 0x15, 0x73, 0x70, 0x61, 0x63,
+ 0x65, 0x78, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63,
+ 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_spacex_api_device_dish_config_proto_rawDescOnce sync.Once
+ file_spacex_api_device_dish_config_proto_rawDescData = file_spacex_api_device_dish_config_proto_rawDesc
+)
+
+func file_spacex_api_device_dish_config_proto_rawDescGZIP() []byte {
+ file_spacex_api_device_dish_config_proto_rawDescOnce.Do(func() {
+ file_spacex_api_device_dish_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_spacex_api_device_dish_config_proto_rawDescData)
+ })
+ return file_spacex_api_device_dish_config_proto_rawDescData
+}
+
+var file_spacex_api_device_dish_config_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
+var file_spacex_api_device_dish_config_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_spacex_api_device_dish_config_proto_goTypes = []interface{}{
+ (DishConfig_SnowMeltMode)(0), // 0: SpaceX.API.Device.DishConfig.SnowMeltMode
+ (DishConfig_LocationRequestMode)(0), // 1: SpaceX.API.Device.DishConfig.LocationRequestMode
+ (DishConfig_LevelDishMode)(0), // 2: SpaceX.API.Device.DishConfig.LevelDishMode
+ (*DishConfig)(nil), // 3: SpaceX.API.Device.DishConfig
+}
+var file_spacex_api_device_dish_config_proto_depIdxs = []int32{
+ 0, // 0: SpaceX.API.Device.DishConfig.snow_melt_mode:type_name -> SpaceX.API.Device.DishConfig.SnowMeltMode
+ 1, // 1: SpaceX.API.Device.DishConfig.location_request_mode:type_name -> SpaceX.API.Device.DishConfig.LocationRequestMode
+ 2, // 2: SpaceX.API.Device.DishConfig.level_dish_mode:type_name -> SpaceX.API.Device.DishConfig.LevelDishMode
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_spacex_api_device_dish_config_proto_init() }
+func file_spacex_api_device_dish_config_proto_init() {
+ if File_spacex_api_device_dish_config_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_spacex_api_device_dish_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DishConfig); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_spacex_api_device_dish_config_proto_rawDesc,
+ NumEnums: 3,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_spacex_api_device_dish_config_proto_goTypes,
+ DependencyIndexes: file_spacex_api_device_dish_config_proto_depIdxs,
+ EnumInfos: file_spacex_api_device_dish_config_proto_enumTypes,
+ MessageInfos: file_spacex_api_device_dish_config_proto_msgTypes,
+ }.Build()
+ File_spacex_api_device_dish_config_proto = out.File
+ file_spacex_api_device_dish_config_proto_rawDesc = nil
+ file_spacex_api_device_dish_config_proto_goTypes = nil
+ file_spacex_api_device_dish_config_proto_depIdxs = nil
+}
blob - c1bc22e5cc29d7bde4a7f59ab0af05015b5b844a
blob + 8e7ea5a08838c6ba1afc8dbe5a0496808a6e3d07
--- device/wifi.pb.go
+++ device/wifi.pb.go
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ wrapperspb "google.golang.org/protobuf/types/known/wrapperspb"
+ telemetron "olowe.co/dishy/telemetron"
reflect "reflect"
sync "sync"
)
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
+type WifiGetClientHistoryResponse_WifiLimitedReason int32
+
+const (
+ WifiGetClientHistoryResponse_LIMIT_UNKNOWN WifiGetClientHistoryResponse_WifiLimitedReason = 0
+ WifiGetClientHistoryResponse_LIMIT_NONE WifiGetClientHistoryResponse_WifiLimitedReason = 1
+ WifiGetClientHistoryResponse_LIMIT_UNCLASSIFIED WifiGetClientHistoryResponse_WifiLimitedReason = 2
+ WifiGetClientHistoryResponse_LIMIT_DROPPED_PACKETS WifiGetClientHistoryResponse_WifiLimitedReason = 3
+)
+
+// Enum value maps for WifiGetClientHistoryResponse_WifiLimitedReason.
+var (
+ WifiGetClientHistoryResponse_WifiLimitedReason_name = map[int32]string{
+ 0: "LIMIT_UNKNOWN",
+ 1: "LIMIT_NONE",
+ 2: "LIMIT_UNCLASSIFIED",
+ 3: "LIMIT_DROPPED_PACKETS",
+ }
+ WifiGetClientHistoryResponse_WifiLimitedReason_value = map[string]int32{
+ "LIMIT_UNKNOWN": 0,
+ "LIMIT_NONE": 1,
+ "LIMIT_UNCLASSIFIED": 2,
+ "LIMIT_DROPPED_PACKETS": 3,
+ }
+)
+
+func (x WifiGetClientHistoryResponse_WifiLimitedReason) Enum() *WifiGetClientHistoryResponse_WifiLimitedReason {
+ p := new(WifiGetClientHistoryResponse_WifiLimitedReason)
+ *p = x
+ return p
+}
+
+func (x WifiGetClientHistoryResponse_WifiLimitedReason) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (WifiGetClientHistoryResponse_WifiLimitedReason) Descriptor() protoreflect.EnumDescriptor {
+ return file_spacex_api_device_wifi_proto_enumTypes[0].Descriptor()
+}
+
+func (WifiGetClientHistoryResponse_WifiLimitedReason) Type() protoreflect.EnumType {
+ return &file_spacex_api_device_wifi_proto_enumTypes[0]
+}
+
+func (x WifiGetClientHistoryResponse_WifiLimitedReason) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use WifiGetClientHistoryResponse_WifiLimitedReason.Descriptor instead.
+func (WifiGetClientHistoryResponse_WifiLimitedReason) EnumDescriptor() ([]byte, []int) {
+ return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{15, 0}
+}
+
type WifiClient_Interface int32
const (
}
func (WifiClient_Interface) Descriptor() protoreflect.EnumDescriptor {
- return file_spacex_api_device_wifi_proto_enumTypes[0].Descriptor()
+ return file_spacex_api_device_wifi_proto_enumTypes[1].Descriptor()
}
func (WifiClient_Interface) Type() protoreflect.EnumType {
- return &file_spacex_api_device_wifi_proto_enumTypes[0]
+ return &file_spacex_api_device_wifi_proto_enumTypes[1]
}
func (x WifiClient_Interface) Number() protoreflect.EnumNumber {
// Deprecated: Use WifiClient_Interface.Descriptor instead.
func (WifiClient_Interface) EnumDescriptor() ([]byte, []int) {
- return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{6, 0}
+ return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{18, 0}
}
-type WifiSetConfigRequest struct {
+type WifiClient_Role int32
+
+const (
+ WifiClient_ROLE_UNKNOWN WifiClient_Role = 0
+ WifiClient_CLIENT WifiClient_Role = 1
+ WifiClient_REPEATER WifiClient_Role = 2
+ WifiClient_CONTROLLER WifiClient_Role = 3
+)
+
+// Enum value maps for WifiClient_Role.
+var (
+ WifiClient_Role_name = map[int32]string{
+ 0: "ROLE_UNKNOWN",
+ 1: "CLIENT",
+ 2: "REPEATER",
+ 3: "CONTROLLER",
+ }
+ WifiClient_Role_value = map[string]int32{
+ "ROLE_UNKNOWN": 0,
+ "CLIENT": 1,
+ "REPEATER": 2,
+ "CONTROLLER": 3,
+ }
+)
+
+func (x WifiClient_Role) Enum() *WifiClient_Role {
+ p := new(WifiClient_Role)
+ *p = x
+ return p
+}
+
+func (x WifiClient_Role) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (WifiClient_Role) Descriptor() protoreflect.EnumDescriptor {
+ return file_spacex_api_device_wifi_proto_enumTypes[2].Descriptor()
+}
+
+func (WifiClient_Role) Type() protoreflect.EnumType {
+ return &file_spacex_api_device_wifi_proto_enumTypes[2]
+}
+
+func (x WifiClient_Role) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use WifiClient_Role.Descriptor instead.
+func (WifiClient_Role) EnumDescriptor() ([]byte, []int) {
+ return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{18, 1}
+}
+
+type WifiScanResults_Network_Source int32
+
+const (
+ WifiScanResults_Network_UNKNOWN WifiScanResults_Network_Source = 0
+ WifiScanResults_Network_SCAN_2_4GHZ WifiScanResults_Network_Source = 1
+ WifiScanResults_Network_SCAN_5GHZ WifiScanResults_Network_Source = 2
+)
+
+// Enum value maps for WifiScanResults_Network_Source.
+var (
+ WifiScanResults_Network_Source_name = map[int32]string{
+ 0: "UNKNOWN",
+ 1: "SCAN_2_4GHZ",
+ 2: "SCAN_5GHZ",
+ }
+ WifiScanResults_Network_Source_value = map[string]int32{
+ "UNKNOWN": 0,
+ "SCAN_2_4GHZ": 1,
+ "SCAN_5GHZ": 2,
+ }
+)
+
+func (x WifiScanResults_Network_Source) Enum() *WifiScanResults_Network_Source {
+ p := new(WifiScanResults_Network_Source)
+ *p = x
+ return p
+}
+
+func (x WifiScanResults_Network_Source) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (WifiScanResults_Network_Source) Descriptor() protoreflect.EnumDescriptor {
+ return file_spacex_api_device_wifi_proto_enumTypes[3].Descriptor()
+}
+
+func (WifiScanResults_Network_Source) Type() protoreflect.EnumType {
+ return &file_spacex_api_device_wifi_proto_enumTypes[3]
+}
+
+func (x WifiScanResults_Network_Source) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use WifiScanResults_Network_Source.Descriptor instead.
+func (WifiScanResults_Network_Source) EnumDescriptor() ([]byte, []int) {
+ return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{33, 0, 0}
+}
+
+type WifiNetwork_Band int32
+
+const (
+ WifiNetwork_WIFI_UNKNOWN WifiNetwork_Band = 0
+ WifiNetwork_WIFI_2_4GHZ WifiNetwork_Band = 1
+ WifiNetwork_WIFI_5GHZ WifiNetwork_Band = 2
+)
+
+// Enum value maps for WifiNetwork_Band.
+var (
+ WifiNetwork_Band_name = map[int32]string{
+ 0: "WIFI_UNKNOWN",
+ 1: "WIFI_2_4GHZ",
+ 2: "WIFI_5GHZ",
+ }
+ WifiNetwork_Band_value = map[string]int32{
+ "WIFI_UNKNOWN": 0,
+ "WIFI_2_4GHZ": 1,
+ "WIFI_5GHZ": 2,
+ }
+)
+
+func (x WifiNetwork_Band) Enum() *WifiNetwork_Band {
+ p := new(WifiNetwork_Band)
+ *p = x
+ return p
+}
+
+func (x WifiNetwork_Band) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (WifiNetwork_Band) Descriptor() protoreflect.EnumDescriptor {
+ return file_spacex_api_device_wifi_proto_enumTypes[4].Descriptor()
+}
+
+func (WifiNetwork_Band) Type() protoreflect.EnumType {
+ return &file_spacex_api_device_wifi_proto_enumTypes[4]
+}
+
+func (x WifiNetwork_Band) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use WifiNetwork_Band.Descriptor instead.
+func (WifiNetwork_Band) EnumDescriptor() ([]byte, []int) {
+ return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{34, 0}
+}
+
+type WifiClients struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- WifiConfig *WifiConfig `protobuf:"bytes,1,opt,name=wifi_config,json=wifiConfig,proto3" json:"wifi_config,omitempty"`
+ Clients []*WifiClient `protobuf:"bytes,1,rep,name=clients,proto3" json:"clients,omitempty"`
}
-func (x *WifiSetConfigRequest) Reset() {
- *x = WifiSetConfigRequest{}
+func (x *WifiClients) Reset() {
+ *x = WifiClients{}
if protoimpl.UnsafeEnabled {
mi := &file_spacex_api_device_wifi_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
}
}
-func (x *WifiSetConfigRequest) String() string {
+func (x *WifiClients) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*WifiSetConfigRequest) ProtoMessage() {}
+func (*WifiClients) ProtoMessage() {}
-func (x *WifiSetConfigRequest) ProtoReflect() protoreflect.Message {
+func (x *WifiClients) ProtoReflect() protoreflect.Message {
mi := &file_spacex_api_device_wifi_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
return mi.MessageOf(x)
}
-// Deprecated: Use WifiSetConfigRequest.ProtoReflect.Descriptor instead.
-func (*WifiSetConfigRequest) Descriptor() ([]byte, []int) {
+// Deprecated: Use WifiClients.ProtoReflect.Descriptor instead.
+func (*WifiClients) Descriptor() ([]byte, []int) {
return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{0}
}
-func (x *WifiSetConfigRequest) GetWifiConfig() *WifiConfig {
+func (x *WifiClients) GetClients() []*WifiClient {
if x != nil {
- return x.WifiConfig
+ return x.Clients
}
return nil
}
-type WifiSetConfigResponse struct {
+type ToController struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
+
+ // Types that are assignable to Message:
+ //
+ // *ToController_Clients
+ // *ToController_MeshJoin
+ Message isToController_Message `protobuf_oneof:"message"`
}
-func (x *WifiSetConfigResponse) Reset() {
- *x = WifiSetConfigResponse{}
+func (x *ToController) Reset() {
+ *x = ToController{}
if protoimpl.UnsafeEnabled {
mi := &file_spacex_api_device_wifi_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
}
}
-func (x *WifiSetConfigResponse) String() string {
+func (x *ToController) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*WifiSetConfigResponse) ProtoMessage() {}
+func (*ToController) ProtoMessage() {}
-func (x *WifiSetConfigResponse) ProtoReflect() protoreflect.Message {
+func (x *ToController) ProtoReflect() protoreflect.Message {
mi := &file_spacex_api_device_wifi_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
return mi.MessageOf(x)
}
-// Deprecated: Use WifiSetConfigResponse.ProtoReflect.Descriptor instead.
-func (*WifiSetConfigResponse) Descriptor() ([]byte, []int) {
+// Deprecated: Use ToController.ProtoReflect.Descriptor instead.
+func (*ToController) Descriptor() ([]byte, []int) {
return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{1}
}
-type WifiGetClientsRequest struct {
+func (m *ToController) GetMessage() isToController_Message {
+ if m != nil {
+ return m.Message
+ }
+ return nil
+}
+
+func (x *ToController) GetClients() *WifiClients {
+ if x, ok := x.GetMessage().(*ToController_Clients); ok {
+ return x.Clients
+ }
+ return nil
+}
+
+func (x *ToController) GetMeshJoin() *WifiMeshJoin {
+ if x, ok := x.GetMessage().(*ToController_MeshJoin); ok {
+ return x.MeshJoin
+ }
+ return nil
+}
+
+type isToController_Message interface {
+ isToController_Message()
+}
+
+type ToController_Clients struct {
+ Clients *WifiClients `protobuf:"bytes,1,opt,name=clients,proto3,oneof"`
+}
+
+type ToController_MeshJoin struct {
+ MeshJoin *WifiMeshJoin `protobuf:"bytes,2,opt,name=mesh_join,json=meshJoin,proto3,oneof"`
+}
+
+func (*ToController_Clients) isToController_Message() {}
+
+func (*ToController_MeshJoin) isToController_Message() {}
+
+type WifiMeshJoin struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
+
+ Incarnation uint64 `protobuf:"varint,1,opt,name=incarnation,proto3" json:"incarnation,omitempty"`
}
-func (x *WifiGetClientsRequest) Reset() {
- *x = WifiGetClientsRequest{}
+func (x *WifiMeshJoin) Reset() {
+ *x = WifiMeshJoin{}
if protoimpl.UnsafeEnabled {
mi := &file_spacex_api_device_wifi_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
}
}
-func (x *WifiGetClientsRequest) String() string {
+func (x *WifiMeshJoin) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*WifiGetClientsRequest) ProtoMessage() {}
+func (*WifiMeshJoin) ProtoMessage() {}
-func (x *WifiGetClientsRequest) ProtoReflect() protoreflect.Message {
+func (x *WifiMeshJoin) ProtoReflect() protoreflect.Message {
mi := &file_spacex_api_device_wifi_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
return mi.MessageOf(x)
}
-// Deprecated: Use WifiGetClientsRequest.ProtoReflect.Descriptor instead.
-func (*WifiGetClientsRequest) Descriptor() ([]byte, []int) {
+// Deprecated: Use WifiMeshJoin.ProtoReflect.Descriptor instead.
+func (*WifiMeshJoin) Descriptor() ([]byte, []int) {
return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{2}
}
-type WifiGetClientsResponse struct {
+func (x *WifiMeshJoin) GetIncarnation() uint64 {
+ if x != nil {
+ return x.Incarnation
+ }
+ return 0
+}
+
+type FromController struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- Clients []*WifiClient `protobuf:"bytes,1,rep,name=clients,proto3" json:"clients,omitempty"`
+ // Types that are assignable to Message:
+ //
+ // *FromController_WifiConfig
+ Message isFromController_Message `protobuf_oneof:"message"`
}
-func (x *WifiGetClientsResponse) Reset() {
- *x = WifiGetClientsResponse{}
+func (x *FromController) Reset() {
+ *x = FromController{}
if protoimpl.UnsafeEnabled {
mi := &file_spacex_api_device_wifi_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
}
}
-func (x *WifiGetClientsResponse) String() string {
+func (x *FromController) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*WifiGetClientsResponse) ProtoMessage() {}
+func (*FromController) ProtoMessage() {}
-func (x *WifiGetClientsResponse) ProtoReflect() protoreflect.Message {
+func (x *FromController) ProtoReflect() protoreflect.Message {
mi := &file_spacex_api_device_wifi_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
return mi.MessageOf(x)
}
-// Deprecated: Use WifiGetClientsResponse.ProtoReflect.Descriptor instead.
-func (*WifiGetClientsResponse) Descriptor() ([]byte, []int) {
+// Deprecated: Use FromController.ProtoReflect.Descriptor instead.
+func (*FromController) Descriptor() ([]byte, []int) {
return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{3}
}
-func (x *WifiGetClientsResponse) GetClients() []*WifiClient {
- if x != nil {
- return x.Clients
+func (m *FromController) GetMessage() isFromController_Message {
+ if m != nil {
+ return m.Message
}
return nil
}
-type WifiGetHistoryResponse struct {
+func (x *FromController) GetWifiConfig() *WifiConfig {
+ if x, ok := x.GetMessage().(*FromController_WifiConfig); ok {
+ return x.WifiConfig
+ }
+ return nil
+}
+
+type isFromController_Message interface {
+ isFromController_Message()
+}
+
+type FromController_WifiConfig struct {
+ WifiConfig *WifiConfig `protobuf:"bytes,1,opt,name=wifi_config,json=wifiConfig,proto3,oneof"`
+}
+
+func (*FromController_WifiConfig) isFromController_Message() {}
+
+type WifiSetConfigRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- Current uint64 `protobuf:"varint,1,opt,name=current,proto3" json:"current,omitempty"`
- PingDropRate []float32 `protobuf:"fixed32,1001,rep,packed,name=ping_drop_rate,json=pingDropRate,proto3" json:"ping_drop_rate,omitempty"`
- PingLatencyMs []float32 `protobuf:"fixed32,1002,rep,packed,name=ping_latency_ms,json=pingLatencyMs,proto3" json:"ping_latency_ms,omitempty"`
+ WifiConfig *WifiConfig `protobuf:"bytes,1,opt,name=wifi_config,json=wifiConfig,proto3" json:"wifi_config,omitempty"`
}
-func (x *WifiGetHistoryResponse) Reset() {
- *x = WifiGetHistoryResponse{}
+func (x *WifiSetConfigRequest) Reset() {
+ *x = WifiSetConfigRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_spacex_api_device_wifi_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
}
}
-func (x *WifiGetHistoryResponse) String() string {
+func (x *WifiSetConfigRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*WifiGetHistoryResponse) ProtoMessage() {}
+func (*WifiSetConfigRequest) ProtoMessage() {}
-func (x *WifiGetHistoryResponse) ProtoReflect() protoreflect.Message {
+func (x *WifiSetConfigRequest) ProtoReflect() protoreflect.Message {
mi := &file_spacex_api_device_wifi_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
return mi.MessageOf(x)
}
-// Deprecated: Use WifiGetHistoryResponse.ProtoReflect.Descriptor instead.
-func (*WifiGetHistoryResponse) Descriptor() ([]byte, []int) {
+// Deprecated: Use WifiSetConfigRequest.ProtoReflect.Descriptor instead.
+func (*WifiSetConfigRequest) Descriptor() ([]byte, []int) {
return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{4}
}
-func (x *WifiGetHistoryResponse) GetCurrent() uint64 {
+func (x *WifiSetConfigRequest) GetWifiConfig() *WifiConfig {
if x != nil {
- return x.Current
+ return x.WifiConfig
}
- return 0
-}
-
-func (x *WifiGetHistoryResponse) GetPingDropRate() []float32 {
- if x != nil {
- return x.PingDropRate
- }
return nil
}
-func (x *WifiGetHistoryResponse) GetPingLatencyMs() []float32 {
- if x != nil {
- return x.PingLatencyMs
- }
- return nil
-}
-
-type WifiNewClientConnectedEvent struct {
+type WifiSetConfigResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- Client *WifiClient `protobuf:"bytes,1,opt,name=client,proto3" json:"client,omitempty"`
+ UpdatedWifiConfig *WifiConfig `protobuf:"bytes,1,opt,name=updated_wifi_config,json=updatedWifiConfig,proto3" json:"updated_wifi_config,omitempty"`
}
-func (x *WifiNewClientConnectedEvent) Reset() {
- *x = WifiNewClientConnectedEvent{}
+func (x *WifiSetConfigResponse) Reset() {
+ *x = WifiSetConfigResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_spacex_api_device_wifi_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
}
}
-func (x *WifiNewClientConnectedEvent) String() string {
+func (x *WifiSetConfigResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*WifiNewClientConnectedEvent) ProtoMessage() {}
+func (*WifiSetConfigResponse) ProtoMessage() {}
-func (x *WifiNewClientConnectedEvent) ProtoReflect() protoreflect.Message {
+func (x *WifiSetConfigResponse) ProtoReflect() protoreflect.Message {
mi := &file_spacex_api_device_wifi_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
return mi.MessageOf(x)
}
-// Deprecated: Use WifiNewClientConnectedEvent.ProtoReflect.Descriptor instead.
-func (*WifiNewClientConnectedEvent) Descriptor() ([]byte, []int) {
+// Deprecated: Use WifiSetConfigResponse.ProtoReflect.Descriptor instead.
+func (*WifiSetConfigResponse) Descriptor() ([]byte, []int) {
return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{5}
}
-func (x *WifiNewClientConnectedEvent) GetClient() *WifiClient {
+func (x *WifiSetConfigResponse) GetUpdatedWifiConfig() *WifiConfig {
if x != nil {
- return x.Client
+ return x.UpdatedWifiConfig
}
return nil
}
-type WifiClient struct {
+type WifiGetConfigRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
-
- Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
- MacAddress string `protobuf:"bytes,2,opt,name=mac_address,json=macAddress,proto3" json:"mac_address,omitempty"`
- IpAddress string `protobuf:"bytes,3,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"`
- SignalStrength float32 `protobuf:"fixed32,4,opt,name=signal_strength,json=signalStrength,proto3" json:"signal_strength,omitempty"`
- RxStats *WifiClient_RxStats `protobuf:"bytes,5,opt,name=rx_stats,json=rxStats,proto3" json:"rx_stats,omitempty"`
- TxStats *WifiClient_TxStats `protobuf:"bytes,6,opt,name=tx_stats,json=txStats,proto3" json:"tx_stats,omitempty"`
- AssociatedTimeS uint32 `protobuf:"varint,7,opt,name=associated_time_s,json=associatedTimeS,proto3" json:"associated_time_s,omitempty"`
- ModeStr string `protobuf:"bytes,8,opt,name=mode_str,json=modeStr,proto3" json:"mode_str,omitempty"`
- Iface WifiClient_Interface `protobuf:"varint,9,opt,name=iface,proto3,enum=SpaceX.API.Device.WifiClient_Interface" json:"iface,omitempty"`
}
-func (x *WifiClient) Reset() {
- *x = WifiClient{}
+func (x *WifiGetConfigRequest) Reset() {
+ *x = WifiGetConfigRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_spacex_api_device_wifi_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
}
}
-func (x *WifiClient) String() string {
+func (x *WifiGetConfigRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*WifiClient) ProtoMessage() {}
+func (*WifiGetConfigRequest) ProtoMessage() {}
-func (x *WifiClient) ProtoReflect() protoreflect.Message {
+func (x *WifiGetConfigRequest) ProtoReflect() protoreflect.Message {
mi := &file_spacex_api_device_wifi_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
return mi.MessageOf(x)
}
-// Deprecated: Use WifiClient.ProtoReflect.Descriptor instead.
-func (*WifiClient) Descriptor() ([]byte, []int) {
+// Deprecated: Use WifiGetConfigRequest.ProtoReflect.Descriptor instead.
+func (*WifiGetConfigRequest) Descriptor() ([]byte, []int) {
return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{6}
}
-func (x *WifiClient) GetName() string {
- if x != nil {
- return x.Name
- }
- return ""
-}
+type WifiGetConfigResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
-func (x *WifiClient) GetMacAddress() string {
- if x != nil {
- return x.MacAddress
- }
- return ""
+ WifiConfig *WifiConfig `protobuf:"bytes,1,opt,name=wifi_config,json=wifiConfig,proto3" json:"wifi_config,omitempty"`
}
-func (x *WifiClient) GetIpAddress() string {
- if x != nil {
- return x.IpAddress
+func (x *WifiGetConfigResponse) Reset() {
+ *x = WifiGetConfigResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[7]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
- return ""
}
-func (x *WifiClient) GetSignalStrength() float32 {
- if x != nil {
- return x.SignalStrength
- }
- return 0
+func (x *WifiGetConfigResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (x *WifiClient) GetRxStats() *WifiClient_RxStats {
- if x != nil {
- return x.RxStats
+func (*WifiGetConfigResponse) ProtoMessage() {}
+
+func (x *WifiGetConfigResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_wifi_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 nil
+ return mi.MessageOf(x)
}
-func (x *WifiClient) GetTxStats() *WifiClient_TxStats {
+// Deprecated: Use WifiGetConfigResponse.ProtoReflect.Descriptor instead.
+func (*WifiGetConfigResponse) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{7}
+}
+
+func (x *WifiGetConfigResponse) GetWifiConfig() *WifiConfig {
if x != nil {
- return x.TxStats
+ return x.WifiConfig
}
return nil
}
-func (x *WifiClient) GetAssociatedTimeS() uint32 {
- if x != nil {
- return x.AssociatedTimeS
+type WifiSetMeshDeviceTrustRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DeviceId string `protobuf:"bytes,1,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
+ Auth MeshAuth `protobuf:"varint,2,opt,name=auth,proto3,enum=SpaceX.API.Device.MeshAuth" json:"auth,omitempty"`
+}
+
+func (x *WifiSetMeshDeviceTrustRequest) Reset() {
+ *x = WifiSetMeshDeviceTrustRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[8]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
- return 0
}
-func (x *WifiClient) GetModeStr() string {
+func (x *WifiSetMeshDeviceTrustRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WifiSetMeshDeviceTrustRequest) ProtoMessage() {}
+
+func (x *WifiSetMeshDeviceTrustRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[8]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WifiSetMeshDeviceTrustRequest.ProtoReflect.Descriptor instead.
+func (*WifiSetMeshDeviceTrustRequest) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{8}
+}
+
+func (x *WifiSetMeshDeviceTrustRequest) GetDeviceId() string {
if x != nil {
- return x.ModeStr
+ return x.DeviceId
}
return ""
}
-func (x *WifiClient) GetIface() WifiClient_Interface {
+func (x *WifiSetMeshDeviceTrustRequest) GetAuth() MeshAuth {
if x != nil {
- return x.Iface
+ return x.Auth
}
- return WifiClient_UNKNOWN
+ return MeshAuth_MESH_AUTH_UNKNOWN
}
-type WifiSetupRequest struct {
+type WifiSetMeshDeviceTrustResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
-
- Skip bool `protobuf:"varint,1,opt,name=skip,proto3" json:"skip,omitempty"`
- NetworkName string `protobuf:"bytes,2,opt,name=network_name,json=networkName,proto3" json:"network_name,omitempty"`
- NetworkPassword string `protobuf:"bytes,3,opt,name=network_password,json=networkPassword,proto3" json:"network_password,omitempty"`
}
-func (x *WifiSetupRequest) Reset() {
- *x = WifiSetupRequest{}
+func (x *WifiSetMeshDeviceTrustResponse) Reset() {
+ *x = WifiSetMeshDeviceTrustResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_spacex_api_device_wifi_proto_msgTypes[7]
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
-func (x *WifiSetupRequest) String() string {
+func (x *WifiSetMeshDeviceTrustResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*WifiSetupRequest) ProtoMessage() {}
+func (*WifiSetMeshDeviceTrustResponse) ProtoMessage() {}
-func (x *WifiSetupRequest) ProtoReflect() protoreflect.Message {
- mi := &file_spacex_api_device_wifi_proto_msgTypes[7]
+func (x *WifiSetMeshDeviceTrustResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
return mi.MessageOf(x)
}
-// Deprecated: Use WifiSetupRequest.ProtoReflect.Descriptor instead.
-func (*WifiSetupRequest) Descriptor() ([]byte, []int) {
- return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{7}
+// Deprecated: Use WifiSetMeshDeviceTrustResponse.ProtoReflect.Descriptor instead.
+func (*WifiSetMeshDeviceTrustResponse) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{9}
}
-func (x *WifiSetupRequest) GetSkip() bool {
- if x != nil {
- return x.Skip
+type WifiSetMeshConfigRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MeshConfig *MeshConfig `protobuf:"bytes,1,opt,name=mesh_config,json=meshConfig,proto3" json:"mesh_config,omitempty"`
+ DeviceId string `protobuf:"bytes,2,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
+}
+
+func (x *WifiSetMeshConfigRequest) Reset() {
+ *x = WifiSetMeshConfigRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[10]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
- return false
}
-func (x *WifiSetupRequest) GetNetworkName() string {
+func (x *WifiSetMeshConfigRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WifiSetMeshConfigRequest) ProtoMessage() {}
+
+func (x *WifiSetMeshConfigRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_wifi_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 WifiSetMeshConfigRequest.ProtoReflect.Descriptor instead.
+func (*WifiSetMeshConfigRequest) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{10}
+}
+
+func (x *WifiSetMeshConfigRequest) GetMeshConfig() *MeshConfig {
if x != nil {
- return x.NetworkName
+ return x.MeshConfig
}
- return ""
+ return nil
}
-func (x *WifiSetupRequest) GetNetworkPassword() string {
+func (x *WifiSetMeshConfigRequest) GetDeviceId() string {
if x != nil {
- return x.NetworkPassword
+ return x.DeviceId
}
return ""
}
-type WifiSetupResponse struct {
+type WifiSetMeshConfigResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
-func (x *WifiSetupResponse) Reset() {
- *x = WifiSetupResponse{}
+func (x *WifiSetMeshConfigResponse) Reset() {
+ *x = WifiSetMeshConfigResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_spacex_api_device_wifi_proto_msgTypes[8]
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
-func (x *WifiSetupResponse) String() string {
+func (x *WifiSetMeshConfigResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*WifiSetupResponse) ProtoMessage() {}
+func (*WifiSetMeshConfigResponse) ProtoMessage() {}
-func (x *WifiSetupResponse) ProtoReflect() protoreflect.Message {
- mi := &file_spacex_api_device_wifi_proto_msgTypes[8]
+func (x *WifiSetMeshConfigResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[11]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
return mi.MessageOf(x)
}
-// Deprecated: Use WifiSetupResponse.ProtoReflect.Descriptor instead.
-func (*WifiSetupResponse) Descriptor() ([]byte, []int) {
- return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{8}
+// Deprecated: Use WifiSetMeshConfigResponse.ProtoReflect.Descriptor instead.
+func (*WifiSetMeshConfigResponse) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{11}
}
-type WifiGetStatusResponse struct {
+type WifiGetClientsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
-
- DeviceInfo *DeviceInfo `protobuf:"bytes,3,opt,name=device_info,json=deviceInfo,proto3" json:"device_info,omitempty"`
- DeviceState *DeviceState `protobuf:"bytes,4,opt,name=device_state,json=deviceState,proto3" json:"device_state,omitempty"`
- CaptivePortalEnabled bool `protobuf:"varint,1,opt,name=captive_portal_enabled,json=captivePortalEnabled,proto3" json:"captive_portal_enabled,omitempty"`
- // Deprecated: Do not use.
- Clients []*WifiClient `protobuf:"bytes,2,rep,name=clients,proto3" json:"clients,omitempty"`
- SerialNumber string `protobuf:"bytes,1001,opt,name=serial_number,json=serialNumber,proto3" json:"serial_number,omitempty"`
- Sku string `protobuf:"bytes,1002,opt,name=sku,proto3" json:"sku,omitempty"`
- Ipv4WanAddress string `protobuf:"bytes,1003,opt,name=ipv4_wan_address,json=ipv4WanAddress,proto3" json:"ipv4_wan_address,omitempty"`
- PingDropRate float32 `protobuf:"fixed32,1004,opt,name=ping_drop_rate,json=pingDropRate,proto3" json:"ping_drop_rate,omitempty"`
- PingLatencyMs float32 `protobuf:"fixed32,1005,opt,name=ping_latency_ms,json=pingLatencyMs,proto3" json:"ping_latency_ms,omitempty"`
}
-func (x *WifiGetStatusResponse) Reset() {
- *x = WifiGetStatusResponse{}
+func (x *WifiGetClientsRequest) Reset() {
+ *x = WifiGetClientsRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_spacex_api_device_wifi_proto_msgTypes[9]
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
-func (x *WifiGetStatusResponse) String() string {
+func (x *WifiGetClientsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*WifiGetStatusResponse) ProtoMessage() {}
+func (*WifiGetClientsRequest) ProtoMessage() {}
-func (x *WifiGetStatusResponse) ProtoReflect() protoreflect.Message {
- mi := &file_spacex_api_device_wifi_proto_msgTypes[9]
+func (x *WifiGetClientsRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[12]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
return mi.MessageOf(x)
}
-// Deprecated: Use WifiGetStatusResponse.ProtoReflect.Descriptor instead.
-func (*WifiGetStatusResponse) Descriptor() ([]byte, []int) {
- return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{9}
+// Deprecated: Use WifiGetClientsRequest.ProtoReflect.Descriptor instead.
+func (*WifiGetClientsRequest) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{12}
}
-func (x *WifiGetStatusResponse) GetDeviceInfo() *DeviceInfo {
- if x != nil {
- return x.DeviceInfo
- }
- return nil
+type WifiGetClientsResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Clients []*WifiClient `protobuf:"bytes,1,rep,name=clients,proto3" json:"clients,omitempty"`
+ HasClientIndex bool `protobuf:"varint,2,opt,name=has_client_index,json=hasClientIndex,proto3" json:"has_client_index,omitempty"`
+ ClientIndex int32 `protobuf:"varint,3,opt,name=client_index,json=clientIndex,proto3" json:"client_index,omitempty"`
}
-func (x *WifiGetStatusResponse) GetDeviceState() *DeviceState {
- if x != nil {
- return x.DeviceState
+func (x *WifiGetClientsResponse) Reset() {
+ *x = WifiGetClientsResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[13]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
- return nil
}
-func (x *WifiGetStatusResponse) GetCaptivePortalEnabled() bool {
- if x != nil {
- return x.CaptivePortalEnabled
- }
- return false
+func (x *WifiGetClientsResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-// Deprecated: Do not use.
-func (x *WifiGetStatusResponse) GetClients() []*WifiClient {
- if x != nil {
- return x.Clients
+func (*WifiGetClientsResponse) ProtoMessage() {}
+
+func (x *WifiGetClientsResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[13]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
}
- return nil
+ return mi.MessageOf(x)
}
-func (x *WifiGetStatusResponse) GetSerialNumber() string {
- if x != nil {
- return x.SerialNumber
- }
- return ""
+// Deprecated: Use WifiGetClientsResponse.ProtoReflect.Descriptor instead.
+func (*WifiGetClientsResponse) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{13}
}
-func (x *WifiGetStatusResponse) GetSku() string {
+func (x *WifiGetClientsResponse) GetClients() []*WifiClient {
if x != nil {
- return x.Sku
+ return x.Clients
}
- return ""
+ return nil
}
-func (x *WifiGetStatusResponse) GetIpv4WanAddress() string {
+func (x *WifiGetClientsResponse) GetHasClientIndex() bool {
if x != nil {
- return x.Ipv4WanAddress
+ return x.HasClientIndex
}
- return ""
+ return false
}
-func (x *WifiGetStatusResponse) GetPingDropRate() float32 {
+func (x *WifiGetClientsResponse) GetClientIndex() int32 {
if x != nil {
- return x.PingDropRate
+ return x.ClientIndex
}
return 0
}
-func (x *WifiGetStatusResponse) GetPingLatencyMs() float32 {
- if x != nil {
- return x.PingLatencyMs
- }
- return 0
-}
-
-type WifiAuthenticateRequest struct {
+type WifiGetClientHistoryRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- Challenge *SignedData `protobuf:"bytes,1,opt,name=challenge,proto3" json:"challenge,omitempty"`
+ MacAddress string `protobuf:"bytes,1,opt,name=mac_address,json=macAddress,proto3" json:"mac_address,omitempty"`
}
-func (x *WifiAuthenticateRequest) Reset() {
- *x = WifiAuthenticateRequest{}
+func (x *WifiGetClientHistoryRequest) Reset() {
+ *x = WifiGetClientHistoryRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_spacex_api_device_wifi_proto_msgTypes[10]
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
-func (x *WifiAuthenticateRequest) String() string {
+func (x *WifiGetClientHistoryRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*WifiAuthenticateRequest) ProtoMessage() {}
+func (*WifiGetClientHistoryRequest) ProtoMessage() {}
-func (x *WifiAuthenticateRequest) ProtoReflect() protoreflect.Message {
- mi := &file_spacex_api_device_wifi_proto_msgTypes[10]
+func (x *WifiGetClientHistoryRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[14]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
return mi.MessageOf(x)
}
-// Deprecated: Use WifiAuthenticateRequest.ProtoReflect.Descriptor instead.
-func (*WifiAuthenticateRequest) Descriptor() ([]byte, []int) {
- return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{10}
+// Deprecated: Use WifiGetClientHistoryRequest.ProtoReflect.Descriptor instead.
+func (*WifiGetClientHistoryRequest) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{14}
}
-func (x *WifiAuthenticateRequest) GetChallenge() *SignedData {
+func (x *WifiGetClientHistoryRequest) GetMacAddress() string {
if x != nil {
- return x.Challenge
+ return x.MacAddress
}
- return nil
+ return ""
}
-type WifiAuthenticateResponse struct {
+type WifiGetClientHistoryResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- Wifi *ChallengeResponse `protobuf:"bytes,1,opt,name=wifi,proto3" json:"wifi,omitempty"`
- Dish *ChallengeResponse `protobuf:"bytes,2,opt,name=dish,proto3" json:"dish,omitempty"`
+ Current uint64 `protobuf:"varint,1,opt,name=current,proto3" json:"current,omitempty"`
+ TxThroughputMbps []float32 `protobuf:"fixed32,2,rep,packed,name=tx_throughput_mbps,json=txThroughputMbps,proto3" json:"tx_throughput_mbps,omitempty"`
+ RxThroughputMbps []float32 `protobuf:"fixed32,3,rep,packed,name=rx_throughput_mbps,json=rxThroughputMbps,proto3" json:"rx_throughput_mbps,omitempty"`
+ ThroughputLimited []WifiGetClientHistoryResponse_WifiLimitedReason `protobuf:"varint,4,rep,packed,name=throughput_limited,json=throughputLimited,proto3,enum=SpaceX.API.Device.WifiGetClientHistoryResponse_WifiLimitedReason" json:"throughput_limited,omitempty"`
+ RxRateMbps []float32 `protobuf:"fixed32,5,rep,packed,name=rx_rate_mbps,json=rxRateMbps,proto3" json:"rx_rate_mbps,omitempty"`
+ Rssi []byte `protobuf:"bytes,6,opt,name=rssi,proto3" json:"rssi,omitempty"`
}
-func (x *WifiAuthenticateResponse) Reset() {
- *x = WifiAuthenticateResponse{}
+func (x *WifiGetClientHistoryResponse) Reset() {
+ *x = WifiGetClientHistoryResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_spacex_api_device_wifi_proto_msgTypes[11]
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
-func (x *WifiAuthenticateResponse) String() string {
+func (x *WifiGetClientHistoryResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*WifiAuthenticateResponse) ProtoMessage() {}
+func (*WifiGetClientHistoryResponse) ProtoMessage() {}
-func (x *WifiAuthenticateResponse) ProtoReflect() protoreflect.Message {
- mi := &file_spacex_api_device_wifi_proto_msgTypes[11]
+func (x *WifiGetClientHistoryResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[15]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
return mi.MessageOf(x)
}
-// Deprecated: Use WifiAuthenticateResponse.ProtoReflect.Descriptor instead.
-func (*WifiAuthenticateResponse) Descriptor() ([]byte, []int) {
- return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{11}
+// Deprecated: Use WifiGetClientHistoryResponse.ProtoReflect.Descriptor instead.
+func (*WifiGetClientHistoryResponse) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{15}
}
-func (x *WifiAuthenticateResponse) GetWifi() *ChallengeResponse {
+func (x *WifiGetClientHistoryResponse) GetCurrent() uint64 {
if x != nil {
- return x.Wifi
+ return x.Current
}
- return nil
+ return 0
}
-func (x *WifiAuthenticateResponse) GetDish() *ChallengeResponse {
+func (x *WifiGetClientHistoryResponse) GetTxThroughputMbps() []float32 {
if x != nil {
- return x.Dish
+ return x.TxThroughputMbps
}
return nil
}
-type WifiAccountBondingEvent struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- DishId string `protobuf:"bytes,1,opt,name=dish_id,json=dishId,proto3" json:"dish_id,omitempty"`
-}
-
-func (x *WifiAccountBondingEvent) Reset() {
- *x = WifiAccountBondingEvent{}
- if protoimpl.UnsafeEnabled {
- mi := &file_spacex_api_device_wifi_proto_msgTypes[12]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
+func (x *WifiGetClientHistoryResponse) GetRxThroughputMbps() []float32 {
+ if x != nil {
+ return x.RxThroughputMbps
}
+ return nil
}
-func (x *WifiAccountBondingEvent) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*WifiAccountBondingEvent) ProtoMessage() {}
-
-func (x *WifiAccountBondingEvent) ProtoReflect() protoreflect.Message {
- mi := &file_spacex_api_device_wifi_proto_msgTypes[12]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
+func (x *WifiGetClientHistoryResponse) GetThroughputLimited() []WifiGetClientHistoryResponse_WifiLimitedReason {
+ if x != nil {
+ return x.ThroughputLimited
}
- return mi.MessageOf(x)
+ return nil
}
-// Deprecated: Use WifiAccountBondingEvent.ProtoReflect.Descriptor instead.
-func (*WifiAccountBondingEvent) Descriptor() ([]byte, []int) {
- return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{12}
+func (x *WifiGetClientHistoryResponse) GetRxRateMbps() []float32 {
+ if x != nil {
+ return x.RxRateMbps
+ }
+ return nil
}
-func (x *WifiAccountBondingEvent) GetDishId() string {
+func (x *WifiGetClientHistoryResponse) GetRssi() []byte {
if x != nil {
- return x.DishId
+ return x.Rssi
}
- return ""
+ return nil
}
-type PingMetrics struct {
+type WifiGetHistoryResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- LatencyMeanMs float32 `protobuf:"fixed32,1,opt,name=latency_mean_ms,json=latencyMeanMs,proto3" json:"latency_mean_ms,omitempty"`
- LatencyStddevMs float32 `protobuf:"fixed32,2,opt,name=latency_stddev_ms,json=latencyStddevMs,proto3" json:"latency_stddev_ms,omitempty"`
- LatencyMeanMs_5M float32 `protobuf:"fixed32,3,opt,name=latency_mean_ms_5m,json=latencyMeanMs5m,proto3" json:"latency_mean_ms_5m,omitempty"`
- LatencyMeanMs_1H float32 `protobuf:"fixed32,4,opt,name=latency_mean_ms_1h,json=latencyMeanMs1h,proto3" json:"latency_mean_ms_1h,omitempty"`
- LatencyMeanMs_1D float32 `protobuf:"fixed32,5,opt,name=latency_mean_ms_1d,json=latencyMeanMs1d,proto3" json:"latency_mean_ms_1d,omitempty"`
- DropRate float32 `protobuf:"fixed32,6,opt,name=drop_rate,json=dropRate,proto3" json:"drop_rate,omitempty"`
- DropRate_5M float32 `protobuf:"fixed32,7,opt,name=drop_rate_5m,json=dropRate5m,proto3" json:"drop_rate_5m,omitempty"`
- DropRate_1H float32 `protobuf:"fixed32,8,opt,name=drop_rate_1h,json=dropRate1h,proto3" json:"drop_rate_1h,omitempty"`
- DropRate_1D float32 `protobuf:"fixed32,9,opt,name=drop_rate_1d,json=dropRate1d,proto3" json:"drop_rate_1d,omitempty"`
- SecondsSinceLastSuccess float32 `protobuf:"fixed32,10,opt,name=seconds_since_last_success,json=secondsSinceLastSuccess,proto3" json:"seconds_since_last_success,omitempty"`
- SecondsSinceLast_1SOutage float32 `protobuf:"fixed32,11,opt,name=seconds_since_last_1s_outage,json=secondsSinceLast1sOutage,proto3" json:"seconds_since_last_1s_outage,omitempty"`
- SecondsSinceLast_5SOutage float32 `protobuf:"fixed32,12,opt,name=seconds_since_last_5s_outage,json=secondsSinceLast5sOutage,proto3" json:"seconds_since_last_5s_outage,omitempty"`
- HappyHours_1S_1D float32 `protobuf:"fixed32,13,opt,name=happy_hours_1s_1d,json=happyHours1s1d,proto3" json:"happy_hours_1s_1d,omitempty"`
- HappyHours_5S_1D float32 `protobuf:"fixed32,14,opt,name=happy_hours_5s_1d,json=happyHours5s1d,proto3" json:"happy_hours_5s_1d,omitempty"`
+ Current uint64 `protobuf:"varint,1,opt,name=current,proto3" json:"current,omitempty"`
+ PingDropRate []float32 `protobuf:"fixed32,1001,rep,packed,name=ping_drop_rate,json=pingDropRate,proto3" json:"ping_drop_rate,omitempty"`
+ PingLatencyMs []float32 `protobuf:"fixed32,1002,rep,packed,name=ping_latency_ms,json=pingLatencyMs,proto3" json:"ping_latency_ms,omitempty"`
}
-func (x *PingMetrics) Reset() {
- *x = PingMetrics{}
+func (x *WifiGetHistoryResponse) Reset() {
+ *x = WifiGetHistoryResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_spacex_api_device_wifi_proto_msgTypes[13]
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
-func (x *PingMetrics) String() string {
+func (x *WifiGetHistoryResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*PingMetrics) ProtoMessage() {}
+func (*WifiGetHistoryResponse) ProtoMessage() {}
-func (x *PingMetrics) ProtoReflect() protoreflect.Message {
- mi := &file_spacex_api_device_wifi_proto_msgTypes[13]
+func (x *WifiGetHistoryResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[16]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
return mi.MessageOf(x)
}
-// Deprecated: Use PingMetrics.ProtoReflect.Descriptor instead.
-func (*PingMetrics) Descriptor() ([]byte, []int) {
- return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{13}
+// Deprecated: Use WifiGetHistoryResponse.ProtoReflect.Descriptor instead.
+func (*WifiGetHistoryResponse) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{16}
}
-func (x *PingMetrics) GetLatencyMeanMs() float32 {
+func (x *WifiGetHistoryResponse) GetCurrent() uint64 {
if x != nil {
- return x.LatencyMeanMs
+ return x.Current
}
return 0
}
-func (x *PingMetrics) GetLatencyStddevMs() float32 {
+func (x *WifiGetHistoryResponse) GetPingDropRate() []float32 {
if x != nil {
- return x.LatencyStddevMs
+ return x.PingDropRate
}
- return 0
+ return nil
}
-func (x *PingMetrics) GetLatencyMeanMs_5M() float32 {
+func (x *WifiGetHistoryResponse) GetPingLatencyMs() []float32 {
if x != nil {
- return x.LatencyMeanMs_5M
+ return x.PingLatencyMs
}
- return 0
+ return nil
}
-func (x *PingMetrics) GetLatencyMeanMs_1H() float32 {
- if x != nil {
- return x.LatencyMeanMs_1H
- }
- return 0
-}
-
-func (x *PingMetrics) GetLatencyMeanMs_1D() float32 {
- if x != nil {
- return x.LatencyMeanMs_1D
- }
- return 0
-}
-
-func (x *PingMetrics) GetDropRate() float32 {
- if x != nil {
- return x.DropRate
- }
- return 0
-}
-
-func (x *PingMetrics) GetDropRate_5M() float32 {
- if x != nil {
- return x.DropRate_5M
- }
- return 0
-}
-
-func (x *PingMetrics) GetDropRate_1H() float32 {
- if x != nil {
- return x.DropRate_1H
- }
- return 0
-}
-
-func (x *PingMetrics) GetDropRate_1D() float32 {
- if x != nil {
- return x.DropRate_1D
- }
- return 0
-}
-
-func (x *PingMetrics) GetSecondsSinceLastSuccess() float32 {
- if x != nil {
- return x.SecondsSinceLastSuccess
- }
- return 0
-}
-
-func (x *PingMetrics) GetSecondsSinceLast_1SOutage() float32 {
- if x != nil {
- return x.SecondsSinceLast_1SOutage
- }
- return 0
-}
-
-func (x *PingMetrics) GetSecondsSinceLast_5SOutage() float32 {
- if x != nil {
- return x.SecondsSinceLast_5SOutage
- }
- return 0
-}
-
-func (x *PingMetrics) GetHappyHours_1S_1D() float32 {
- if x != nil {
- return x.HappyHours_1S_1D
- }
- return 0
-}
-
-func (x *PingMetrics) GetHappyHours_5S_1D() float32 {
- if x != nil {
- return x.HappyHours_5S_1D
- }
- return 0
-}
-
-type WifiGetPingMetricsRequest struct {
+type WifiNewClientConnectedEvent struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
+
+ Client *WifiClient `protobuf:"bytes,1,opt,name=client,proto3" json:"client,omitempty"`
}
-func (x *WifiGetPingMetricsRequest) Reset() {
- *x = WifiGetPingMetricsRequest{}
+func (x *WifiNewClientConnectedEvent) Reset() {
+ *x = WifiNewClientConnectedEvent{}
if protoimpl.UnsafeEnabled {
- mi := &file_spacex_api_device_wifi_proto_msgTypes[14]
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
-func (x *WifiGetPingMetricsRequest) String() string {
+func (x *WifiNewClientConnectedEvent) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*WifiGetPingMetricsRequest) ProtoMessage() {}
+func (*WifiNewClientConnectedEvent) ProtoMessage() {}
-func (x *WifiGetPingMetricsRequest) ProtoReflect() protoreflect.Message {
- mi := &file_spacex_api_device_wifi_proto_msgTypes[14]
+func (x *WifiNewClientConnectedEvent) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[17]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
return mi.MessageOf(x)
}
-// Deprecated: Use WifiGetPingMetricsRequest.ProtoReflect.Descriptor instead.
-func (*WifiGetPingMetricsRequest) Descriptor() ([]byte, []int) {
- return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{14}
+// Deprecated: Use WifiNewClientConnectedEvent.ProtoReflect.Descriptor instead.
+func (*WifiNewClientConnectedEvent) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{17}
}
-type WifiGetPingMetricsResponse struct {
+func (x *WifiNewClientConnectedEvent) GetClient() *WifiClient {
+ if x != nil {
+ return x.Client
+ }
+ return nil
+}
+
+type WifiClient struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- Internet *PingMetrics `protobuf:"bytes,1,opt,name=internet,proto3" json:"internet,omitempty"`
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+ Domain string `protobuf:"bytes,22,opt,name=domain,proto3" json:"domain,omitempty"`
+ MacAddress string `protobuf:"bytes,2,opt,name=mac_address,json=macAddress,proto3" json:"mac_address,omitempty"`
+ IpAddress string `protobuf:"bytes,3,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"`
+ SignalStrength float32 `protobuf:"fixed32,4,opt,name=signal_strength,json=signalStrength,proto3" json:"signal_strength,omitempty"`
+ ChannelWidth uint32 `protobuf:"varint,12,opt,name=channel_width,json=channelWidth,proto3" json:"channel_width,omitempty"`
+ RxStats *WifiClient_RxStats `protobuf:"bytes,5,opt,name=rx_stats,json=rxStats,proto3" json:"rx_stats,omitempty"`
+ TxStats *WifiClient_TxStats `protobuf:"bytes,6,opt,name=tx_stats,json=txStats,proto3" json:"tx_stats,omitempty"`
+ AssociatedTimeS uint32 `protobuf:"varint,7,opt,name=associated_time_s,json=associatedTimeS,proto3" json:"associated_time_s,omitempty"`
+ ModeStr string `protobuf:"bytes,8,opt,name=mode_str,json=modeStr,proto3" json:"mode_str,omitempty"`
+ Iface WifiClient_Interface `protobuf:"varint,9,opt,name=iface,proto3,enum=SpaceX.API.Device.WifiClient_Interface" json:"iface,omitempty"`
+ Snr float32 `protobuf:"fixed32,10,opt,name=snr,proto3" json:"snr,omitempty"`
+ Psmode int32 `protobuf:"varint,11,opt,name=psmode,proto3" json:"psmode,omitempty"`
+ UpstreamMacAddress string `protobuf:"bytes,13,opt,name=upstream_mac_address,json=upstreamMacAddress,proto3" json:"upstream_mac_address,omitempty"`
+ Role WifiClient_Role `protobuf:"varint,14,opt,name=role,proto3,enum=SpaceX.API.Device.WifiClient_Role" json:"role,omitempty"`
+ DeviceId string `protobuf:"bytes,15,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
+ SwqChecks uint32 `protobuf:"varint,16,opt,name=swq_checks,json=swqChecks,proto3" json:"swq_checks,omitempty"`
+ SwqChecksNonEmpty uint32 `protobuf:"varint,17,opt,name=swq_checks_non_empty,json=swqChecksNonEmpty,proto3" json:"swq_checks_non_empty,omitempty"`
+ MibSteerState uint32 `protobuf:"varint,18,opt,name=mib_steer_state,json=mibSteerState,proto3" json:"mib_steer_state,omitempty"`
+ MibSteerMethod uint32 `protobuf:"varint,19,opt,name=mib_steer_method,json=mibSteerMethod,proto3" json:"mib_steer_method,omitempty"`
+ BtmRequests uint32 `protobuf:"varint,20,opt,name=btm_requests,json=btmRequests,proto3" json:"btm_requests,omitempty"`
+ BtmRequestsSuccess uint32 `protobuf:"varint,21,opt,name=btm_requests_success,json=btmRequestsSuccess,proto3" json:"btm_requests_success,omitempty"`
}
-func (x *WifiGetPingMetricsResponse) Reset() {
- *x = WifiGetPingMetricsResponse{}
+func (x *WifiClient) Reset() {
+ *x = WifiClient{}
if protoimpl.UnsafeEnabled {
- mi := &file_spacex_api_device_wifi_proto_msgTypes[15]
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
-func (x *WifiGetPingMetricsResponse) String() string {
+func (x *WifiClient) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*WifiGetPingMetricsResponse) ProtoMessage() {}
+func (*WifiClient) ProtoMessage() {}
-func (x *WifiGetPingMetricsResponse) ProtoReflect() protoreflect.Message {
- mi := &file_spacex_api_device_wifi_proto_msgTypes[15]
+func (x *WifiClient) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[18]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
return mi.MessageOf(x)
}
-// Deprecated: Use WifiGetPingMetricsResponse.ProtoReflect.Descriptor instead.
-func (*WifiGetPingMetricsResponse) Descriptor() ([]byte, []int) {
- return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{15}
+// Deprecated: Use WifiClient.ProtoReflect.Descriptor instead.
+func (*WifiClient) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{18}
}
-func (x *WifiGetPingMetricsResponse) GetInternet() *PingMetrics {
+func (x *WifiClient) GetName() string {
if x != nil {
- return x.Internet
+ return x.Name
}
- return nil
+ return ""
}
-type WifiClient_RxStats struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- Bytes uint64 `protobuf:"varint,1,opt,name=bytes,proto3" json:"bytes,omitempty"`
- CountErrors uint64 `protobuf:"varint,2,opt,name=count_errors,json=countErrors,proto3" json:"count_errors,omitempty"`
-}
-
-func (x *WifiClient_RxStats) Reset() {
- *x = WifiClient_RxStats{}
- if protoimpl.UnsafeEnabled {
- mi := &file_spacex_api_device_wifi_proto_msgTypes[16]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *WifiClient_RxStats) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*WifiClient_RxStats) ProtoMessage() {}
-
-func (x *WifiClient_RxStats) ProtoReflect() protoreflect.Message {
- mi := &file_spacex_api_device_wifi_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 WifiClient_RxStats.ProtoReflect.Descriptor instead.
-func (*WifiClient_RxStats) Descriptor() ([]byte, []int) {
- return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{6, 0}
-}
-
-func (x *WifiClient_RxStats) GetBytes() uint64 {
- if x != nil {
- return x.Bytes
- }
- return 0
-}
-
-func (x *WifiClient_RxStats) GetCountErrors() uint64 {
- if x != nil {
- return x.CountErrors
- }
- return 0
+func (x *WifiClient) GetDomain() string {
+ if x != nil {
+ return x.Domain
+ }
+ return ""
+}
+
+func (x *WifiClient) GetMacAddress() string {
+ if x != nil {
+ return x.MacAddress
+ }
+ return ""
+}
+
+func (x *WifiClient) GetIpAddress() string {
+ if x != nil {
+ return x.IpAddress
+ }
+ return ""
+}
+
+func (x *WifiClient) GetSignalStrength() float32 {
+ if x != nil {
+ return x.SignalStrength
+ }
+ return 0
+}
+
+func (x *WifiClient) GetChannelWidth() uint32 {
+ if x != nil {
+ return x.ChannelWidth
+ }
+ return 0
+}
+
+func (x *WifiClient) GetRxStats() *WifiClient_RxStats {
+ if x != nil {
+ return x.RxStats
+ }
+ return nil
+}
+
+func (x *WifiClient) GetTxStats() *WifiClient_TxStats {
+ if x != nil {
+ return x.TxStats
+ }
+ return nil
+}
+
+func (x *WifiClient) GetAssociatedTimeS() uint32 {
+ if x != nil {
+ return x.AssociatedTimeS
+ }
+ return 0
+}
+
+func (x *WifiClient) GetModeStr() string {
+ if x != nil {
+ return x.ModeStr
+ }
+ return ""
+}
+
+func (x *WifiClient) GetIface() WifiClient_Interface {
+ if x != nil {
+ return x.Iface
+ }
+ return WifiClient_UNKNOWN
+}
+
+func (x *WifiClient) GetSnr() float32 {
+ if x != nil {
+ return x.Snr
+ }
+ return 0
+}
+
+func (x *WifiClient) GetPsmode() int32 {
+ if x != nil {
+ return x.Psmode
+ }
+ return 0
+}
+
+func (x *WifiClient) GetUpstreamMacAddress() string {
+ if x != nil {
+ return x.UpstreamMacAddress
+ }
+ return ""
+}
+
+func (x *WifiClient) GetRole() WifiClient_Role {
+ if x != nil {
+ return x.Role
+ }
+ return WifiClient_ROLE_UNKNOWN
+}
+
+func (x *WifiClient) GetDeviceId() string {
+ if x != nil {
+ return x.DeviceId
+ }
+ return ""
+}
+
+func (x *WifiClient) GetSwqChecks() uint32 {
+ if x != nil {
+ return x.SwqChecks
+ }
+ return 0
+}
+
+func (x *WifiClient) GetSwqChecksNonEmpty() uint32 {
+ if x != nil {
+ return x.SwqChecksNonEmpty
+ }
+ return 0
+}
+
+func (x *WifiClient) GetMibSteerState() uint32 {
+ if x != nil {
+ return x.MibSteerState
+ }
+ return 0
+}
+
+func (x *WifiClient) GetMibSteerMethod() uint32 {
+ if x != nil {
+ return x.MibSteerMethod
+ }
+ return 0
+}
+
+func (x *WifiClient) GetBtmRequests() uint32 {
+ if x != nil {
+ return x.BtmRequests
+ }
+ return 0
+}
+
+func (x *WifiClient) GetBtmRequestsSuccess() uint32 {
+ if x != nil {
+ return x.BtmRequestsSuccess
+ }
+ return 0
+}
+
+type WifiSetupRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Skip bool `protobuf:"varint,1,opt,name=skip,proto3" json:"skip,omitempty"`
+ NetworkName string `protobuf:"bytes,2,opt,name=network_name,json=networkName,proto3" json:"network_name,omitempty"`
+ NetworkPassword string `protobuf:"bytes,3,opt,name=network_password,json=networkPassword,proto3" json:"network_password,omitempty"`
+}
+
+func (x *WifiSetupRequest) Reset() {
+ *x = WifiSetupRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[19]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WifiSetupRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WifiSetupRequest) ProtoMessage() {}
+
+func (x *WifiSetupRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[19]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WifiSetupRequest.ProtoReflect.Descriptor instead.
+func (*WifiSetupRequest) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{19}
+}
+
+func (x *WifiSetupRequest) GetSkip() bool {
+ if x != nil {
+ return x.Skip
+ }
+ return false
+}
+
+func (x *WifiSetupRequest) GetNetworkName() string {
+ if x != nil {
+ return x.NetworkName
+ }
+ return ""
+}
+
+func (x *WifiSetupRequest) GetNetworkPassword() string {
+ if x != nil {
+ return x.NetworkPassword
+ }
+ return ""
+}
+
+type WifiSetupResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *WifiSetupResponse) Reset() {
+ *x = WifiSetupResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[20]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WifiSetupResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WifiSetupResponse) ProtoMessage() {}
+
+func (x *WifiSetupResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[20]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WifiSetupResponse.ProtoReflect.Descriptor instead.
+func (*WifiSetupResponse) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{20}
+}
+
+type WifiBandStatus struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ChanBusyTimeFraction float32 `protobuf:"fixed32,1,opt,name=chan_busy_time_fraction,json=chanBusyTimeFraction,proto3" json:"chan_busy_time_fraction,omitempty"`
+ TxAirTimeFraction float32 `protobuf:"fixed32,2,opt,name=tx_air_time_fraction,json=txAirTimeFraction,proto3" json:"tx_air_time_fraction,omitempty"`
+ RxAirTimeFraction float32 `protobuf:"fixed32,3,opt,name=rx_air_time_fraction,json=rxAirTimeFraction,proto3" json:"rx_air_time_fraction,omitempty"`
+ ObssAirTimeFraction float32 `protobuf:"fixed32,4,opt,name=obss_air_time_fraction,json=obssAirTimeFraction,proto3" json:"obss_air_time_fraction,omitempty"`
+ EdccaAirTimeFraction float32 `protobuf:"fixed32,5,opt,name=edcca_air_time_fraction,json=edccaAirTimeFraction,proto3" json:"edcca_air_time_fraction,omitempty"`
+}
+
+func (x *WifiBandStatus) Reset() {
+ *x = WifiBandStatus{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[21]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WifiBandStatus) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WifiBandStatus) ProtoMessage() {}
+
+func (x *WifiBandStatus) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[21]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WifiBandStatus.ProtoReflect.Descriptor instead.
+func (*WifiBandStatus) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{21}
+}
+
+func (x *WifiBandStatus) GetChanBusyTimeFraction() float32 {
+ if x != nil {
+ return x.ChanBusyTimeFraction
+ }
+ return 0
+}
+
+func (x *WifiBandStatus) GetTxAirTimeFraction() float32 {
+ if x != nil {
+ return x.TxAirTimeFraction
+ }
+ return 0
+}
+
+func (x *WifiBandStatus) GetRxAirTimeFraction() float32 {
+ if x != nil {
+ return x.RxAirTimeFraction
+ }
+ return 0
+}
+
+func (x *WifiBandStatus) GetObssAirTimeFraction() float32 {
+ if x != nil {
+ return x.ObssAirTimeFraction
+ }
+ return 0
+}
+
+func (x *WifiBandStatus) GetEdccaAirTimeFraction() float32 {
+ if x != nil {
+ return x.EdccaAirTimeFraction
+ }
+ return 0
+}
+
+type WifiAlerts struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ThermalThrottle bool `protobuf:"varint,1,opt,name=thermal_throttle,json=thermalThrottle,proto3" json:"thermal_throttle,omitempty"`
+ InstallPending bool `protobuf:"varint,2,opt,name=install_pending,json=installPending,proto3" json:"install_pending,omitempty"`
+ FreshlyFused bool `protobuf:"varint,3,opt,name=freshly_fused,json=freshlyFused,proto3" json:"freshly_fused,omitempty"`
+ LanEthSlowLink_10 bool `protobuf:"varint,4,opt,name=lan_eth_slow_link_10,json=lanEthSlowLink10,proto3" json:"lan_eth_slow_link_10,omitempty"`
+ LanEthSlowLink_100 bool `protobuf:"varint,5,opt,name=lan_eth_slow_link_100,json=lanEthSlowLink100,proto3" json:"lan_eth_slow_link_100,omitempty"`
+ WanEthPoorConnection bool `protobuf:"varint,10,opt,name=wan_eth_poor_connection,json=wanEthPoorConnection,proto3" json:"wan_eth_poor_connection,omitempty"`
+}
+
+func (x *WifiAlerts) Reset() {
+ *x = WifiAlerts{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[22]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WifiAlerts) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WifiAlerts) ProtoMessage() {}
+
+func (x *WifiAlerts) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[22]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WifiAlerts.ProtoReflect.Descriptor instead.
+func (*WifiAlerts) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{22}
+}
+
+func (x *WifiAlerts) GetThermalThrottle() bool {
+ if x != nil {
+ return x.ThermalThrottle
+ }
+ return false
+}
+
+func (x *WifiAlerts) GetInstallPending() bool {
+ if x != nil {
+ return x.InstallPending
+ }
+ return false
+}
+
+func (x *WifiAlerts) GetFreshlyFused() bool {
+ if x != nil {
+ return x.FreshlyFused
+ }
+ return false
+}
+
+func (x *WifiAlerts) GetLanEthSlowLink_10() bool {
+ if x != nil {
+ return x.LanEthSlowLink_10
+ }
+ return false
+}
+
+func (x *WifiAlerts) GetLanEthSlowLink_100() bool {
+ if x != nil {
+ return x.LanEthSlowLink_100
+ }
+ return false
+}
+
+func (x *WifiAlerts) GetWanEthPoorConnection() bool {
+ if x != nil {
+ return x.WanEthPoorConnection
+ }
+ return false
+}
+
+type WifiGetStatusResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DeviceInfo *DeviceInfo `protobuf:"bytes,3,opt,name=device_info,json=deviceInfo,proto3" json:"device_info,omitempty"`
+ DeviceState *DeviceState `protobuf:"bytes,4,opt,name=device_state,json=deviceState,proto3" json:"device_state,omitempty"`
+ CaptivePortalEnabled bool `protobuf:"varint,1,opt,name=captive_portal_enabled,json=captivePortalEnabled,proto3" json:"captive_portal_enabled,omitempty"`
+ Ipv4WanAddress string `protobuf:"bytes,1003,opt,name=ipv4_wan_address,json=ipv4WanAddress,proto3" json:"ipv4_wan_address,omitempty"`
+ PingDropRate float32 `protobuf:"fixed32,1004,opt,name=ping_drop_rate,json=pingDropRate,proto3" json:"ping_drop_rate,omitempty"`
+ PingLatencyMs float32 `protobuf:"fixed32,1005,opt,name=ping_latency_ms,json=pingLatencyMs,proto3" json:"ping_latency_ms,omitempty"`
+ DishPingDropRate float32 `protobuf:"fixed32,1012,opt,name=dish_ping_drop_rate,json=dishPingDropRate,proto3" json:"dish_ping_drop_rate,omitempty"`
+ DishPingLatencyMs float32 `protobuf:"fixed32,1013,opt,name=dish_ping_latency_ms,json=dishPingLatencyMs,proto3" json:"dish_ping_latency_ms,omitempty"`
+ PopPingDropRate float32 `protobuf:"fixed32,1014,opt,name=pop_ping_drop_rate,json=popPingDropRate,proto3" json:"pop_ping_drop_rate,omitempty"`
+ PopPingLatencyMs float32 `protobuf:"fixed32,1015,opt,name=pop_ping_latency_ms,json=popPingLatencyMs,proto3" json:"pop_ping_latency_ms,omitempty"`
+ // Deprecated: Do not use.
+ Rf_2GhzStatus *WifiBandStatus `protobuf:"bytes,1008,opt,name=rf_2ghz_status,json=rf2ghzStatus,proto3" json:"rf_2ghz_status,omitempty"`
+ // Deprecated: Do not use.
+ Rf_5GhzStatus *WifiBandStatus `protobuf:"bytes,1009,opt,name=rf_5ghz_status,json=rf5ghzStatus,proto3" json:"rf_5ghz_status,omitempty"`
+ Alerts *WifiAlerts `protobuf:"bytes,1010,opt,name=alerts,proto3" json:"alerts,omitempty"`
+ IsAviation bool `protobuf:"varint,1011,opt,name=is_aviation,json=isAviation,proto3" json:"is_aviation,omitempty"`
+}
+
+func (x *WifiGetStatusResponse) Reset() {
+ *x = WifiGetStatusResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[23]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WifiGetStatusResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WifiGetStatusResponse) ProtoMessage() {}
+
+func (x *WifiGetStatusResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[23]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WifiGetStatusResponse.ProtoReflect.Descriptor instead.
+func (*WifiGetStatusResponse) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{23}
+}
+
+func (x *WifiGetStatusResponse) GetDeviceInfo() *DeviceInfo {
+ if x != nil {
+ return x.DeviceInfo
+ }
+ return nil
+}
+
+func (x *WifiGetStatusResponse) GetDeviceState() *DeviceState {
+ if x != nil {
+ return x.DeviceState
+ }
+ return nil
+}
+
+func (x *WifiGetStatusResponse) GetCaptivePortalEnabled() bool {
+ if x != nil {
+ return x.CaptivePortalEnabled
+ }
+ return false
+}
+
+func (x *WifiGetStatusResponse) GetIpv4WanAddress() string {
+ if x != nil {
+ return x.Ipv4WanAddress
+ }
+ return ""
+}
+
+func (x *WifiGetStatusResponse) GetPingDropRate() float32 {
+ if x != nil {
+ return x.PingDropRate
+ }
+ return 0
+}
+
+func (x *WifiGetStatusResponse) GetPingLatencyMs() float32 {
+ if x != nil {
+ return x.PingLatencyMs
+ }
+ return 0
+}
+
+func (x *WifiGetStatusResponse) GetDishPingDropRate() float32 {
+ if x != nil {
+ return x.DishPingDropRate
+ }
+ return 0
+}
+
+func (x *WifiGetStatusResponse) GetDishPingLatencyMs() float32 {
+ if x != nil {
+ return x.DishPingLatencyMs
+ }
+ return 0
+}
+
+func (x *WifiGetStatusResponse) GetPopPingDropRate() float32 {
+ if x != nil {
+ return x.PopPingDropRate
+ }
+ return 0
+}
+
+func (x *WifiGetStatusResponse) GetPopPingLatencyMs() float32 {
+ if x != nil {
+ return x.PopPingLatencyMs
+ }
+ return 0
+}
+
+// Deprecated: Do not use.
+func (x *WifiGetStatusResponse) GetRf_2GhzStatus() *WifiBandStatus {
+ if x != nil {
+ return x.Rf_2GhzStatus
+ }
+ return nil
+}
+
+// Deprecated: Do not use.
+func (x *WifiGetStatusResponse) GetRf_5GhzStatus() *WifiBandStatus {
+ if x != nil {
+ return x.Rf_5GhzStatus
+ }
+ return nil
+}
+
+func (x *WifiGetStatusResponse) GetAlerts() *WifiAlerts {
+ if x != nil {
+ return x.Alerts
+ }
+ return nil
+}
+
+func (x *WifiGetStatusResponse) GetIsAviation() bool {
+ if x != nil {
+ return x.IsAviation
+ }
+ return false
+}
+
+type WifiAuthenticateRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Challenge *SignedData `protobuf:"bytes,1,opt,name=challenge,proto3" json:"challenge,omitempty"`
+}
+
+func (x *WifiAuthenticateRequest) Reset() {
+ *x = WifiAuthenticateRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[24]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WifiAuthenticateRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WifiAuthenticateRequest) ProtoMessage() {}
+
+func (x *WifiAuthenticateRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[24]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WifiAuthenticateRequest.ProtoReflect.Descriptor instead.
+func (*WifiAuthenticateRequest) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{24}
+}
+
+func (x *WifiAuthenticateRequest) GetChallenge() *SignedData {
+ if x != nil {
+ return x.Challenge
+ }
+ return nil
+}
+
+type WifiAuthenticateResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Wifi *ChallengeResponse `protobuf:"bytes,1,opt,name=wifi,proto3" json:"wifi,omitempty"`
+ Dish *ChallengeResponse `protobuf:"bytes,2,opt,name=dish,proto3" json:"dish,omitempty"`
+}
+
+func (x *WifiAuthenticateResponse) Reset() {
+ *x = WifiAuthenticateResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[25]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WifiAuthenticateResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WifiAuthenticateResponse) ProtoMessage() {}
+
+func (x *WifiAuthenticateResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[25]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WifiAuthenticateResponse.ProtoReflect.Descriptor instead.
+func (*WifiAuthenticateResponse) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{25}
+}
+
+func (x *WifiAuthenticateResponse) GetWifi() *ChallengeResponse {
+ if x != nil {
+ return x.Wifi
+ }
+ return nil
+}
+
+func (x *WifiAuthenticateResponse) GetDish() *ChallengeResponse {
+ if x != nil {
+ return x.Dish
+ }
+ return nil
+}
+
+type WifiAccountBondingEvent struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DishId string `protobuf:"bytes,1,opt,name=dish_id,json=dishId,proto3" json:"dish_id,omitempty"`
+}
+
+func (x *WifiAccountBondingEvent) Reset() {
+ *x = WifiAccountBondingEvent{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[26]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WifiAccountBondingEvent) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WifiAccountBondingEvent) ProtoMessage() {}
+
+func (x *WifiAccountBondingEvent) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[26]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WifiAccountBondingEvent.ProtoReflect.Descriptor instead.
+func (*WifiAccountBondingEvent) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{26}
+}
+
+func (x *WifiAccountBondingEvent) GetDishId() string {
+ if x != nil {
+ return x.DishId
+ }
+ return ""
+}
+
+type WifiNewPeerEvent struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PeerId string `protobuf:"bytes,1,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"`
+}
+
+func (x *WifiNewPeerEvent) Reset() {
+ *x = WifiNewPeerEvent{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[27]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WifiNewPeerEvent) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WifiNewPeerEvent) ProtoMessage() {}
+
+func (x *WifiNewPeerEvent) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[27]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WifiNewPeerEvent.ProtoReflect.Descriptor instead.
+func (*WifiNewPeerEvent) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{27}
+}
+
+func (x *WifiNewPeerEvent) GetPeerId() string {
+ if x != nil {
+ return x.PeerId
+ }
+ return ""
+}
+
+type PingMetrics struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LatencyMeanMs float32 `protobuf:"fixed32,1,opt,name=latency_mean_ms,json=latencyMeanMs,proto3" json:"latency_mean_ms,omitempty"`
+ LatencyStddevMs float32 `protobuf:"fixed32,2,opt,name=latency_stddev_ms,json=latencyStddevMs,proto3" json:"latency_stddev_ms,omitempty"`
+ LatencyMeanMs_5M float32 `protobuf:"fixed32,3,opt,name=latency_mean_ms_5m,json=latencyMeanMs5m,proto3" json:"latency_mean_ms_5m,omitempty"`
+ LatencyMeanMs_1H float32 `protobuf:"fixed32,4,opt,name=latency_mean_ms_1h,json=latencyMeanMs1h,proto3" json:"latency_mean_ms_1h,omitempty"`
+ LatencyMeanMs_1D float32 `protobuf:"fixed32,5,opt,name=latency_mean_ms_1d,json=latencyMeanMs1d,proto3" json:"latency_mean_ms_1d,omitempty"`
+ DropRate float32 `protobuf:"fixed32,6,opt,name=drop_rate,json=dropRate,proto3" json:"drop_rate,omitempty"`
+ DropRate_5M float32 `protobuf:"fixed32,7,opt,name=drop_rate_5m,json=dropRate5m,proto3" json:"drop_rate_5m,omitempty"`
+ DropRate_1H float32 `protobuf:"fixed32,8,opt,name=drop_rate_1h,json=dropRate1h,proto3" json:"drop_rate_1h,omitempty"`
+ DropRate_1D float32 `protobuf:"fixed32,9,opt,name=drop_rate_1d,json=dropRate1d,proto3" json:"drop_rate_1d,omitempty"`
+ SecondsSinceLastSuccess float32 `protobuf:"fixed32,10,opt,name=seconds_since_last_success,json=secondsSinceLastSuccess,proto3" json:"seconds_since_last_success,omitempty"`
+ SecondsSinceLast_1SOutage float32 `protobuf:"fixed32,11,opt,name=seconds_since_last_1s_outage,json=secondsSinceLast1sOutage,proto3" json:"seconds_since_last_1s_outage,omitempty"`
+ SecondsSinceLast_2SOutage float32 `protobuf:"fixed32,15,opt,name=seconds_since_last_2s_outage,json=secondsSinceLast2sOutage,proto3" json:"seconds_since_last_2s_outage,omitempty"`
+ SecondsSinceLast_5SOutage float32 `protobuf:"fixed32,12,opt,name=seconds_since_last_5s_outage,json=secondsSinceLast5sOutage,proto3" json:"seconds_since_last_5s_outage,omitempty"`
+ SecondsSinceLast_15SOutage float32 `protobuf:"fixed32,18,opt,name=seconds_since_last_15s_outage,json=secondsSinceLast15sOutage,proto3" json:"seconds_since_last_15s_outage,omitempty"`
+ SecondsSinceLast_60SOutage float32 `protobuf:"fixed32,19,opt,name=seconds_since_last_60s_outage,json=secondsSinceLast60sOutage,proto3" json:"seconds_since_last_60s_outage,omitempty"`
+ SecondsSinceLast_300SOutage float32 `protobuf:"fixed32,20,opt,name=seconds_since_last_300s_outage,json=secondsSinceLast300sOutage,proto3" json:"seconds_since_last_300s_outage,omitempty"`
+ HappyHours_1S_1D float32 `protobuf:"fixed32,13,opt,name=happy_hours_1s_1d,json=happyHours1s1d,proto3" json:"happy_hours_1s_1d,omitempty"`
+ HappyHours_2S_1D float32 `protobuf:"fixed32,16,opt,name=happy_hours_2s_1d,json=happyHours2s1d,proto3" json:"happy_hours_2s_1d,omitempty"`
+ HappyHours_5S_1D float32 `protobuf:"fixed32,14,opt,name=happy_hours_5s_1d,json=happyHours5s1d,proto3" json:"happy_hours_5s_1d,omitempty"`
+}
+
+func (x *PingMetrics) Reset() {
+ *x = PingMetrics{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[28]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PingMetrics) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PingMetrics) ProtoMessage() {}
+
+func (x *PingMetrics) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[28]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PingMetrics.ProtoReflect.Descriptor instead.
+func (*PingMetrics) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{28}
+}
+
+func (x *PingMetrics) GetLatencyMeanMs() float32 {
+ if x != nil {
+ return x.LatencyMeanMs
+ }
+ return 0
+}
+
+func (x *PingMetrics) GetLatencyStddevMs() float32 {
+ if x != nil {
+ return x.LatencyStddevMs
+ }
+ return 0
+}
+
+func (x *PingMetrics) GetLatencyMeanMs_5M() float32 {
+ if x != nil {
+ return x.LatencyMeanMs_5M
+ }
+ return 0
+}
+
+func (x *PingMetrics) GetLatencyMeanMs_1H() float32 {
+ if x != nil {
+ return x.LatencyMeanMs_1H
+ }
+ return 0
+}
+
+func (x *PingMetrics) GetLatencyMeanMs_1D() float32 {
+ if x != nil {
+ return x.LatencyMeanMs_1D
+ }
+ return 0
+}
+
+func (x *PingMetrics) GetDropRate() float32 {
+ if x != nil {
+ return x.DropRate
+ }
+ return 0
+}
+
+func (x *PingMetrics) GetDropRate_5M() float32 {
+ if x != nil {
+ return x.DropRate_5M
+ }
+ return 0
+}
+
+func (x *PingMetrics) GetDropRate_1H() float32 {
+ if x != nil {
+ return x.DropRate_1H
+ }
+ return 0
+}
+
+func (x *PingMetrics) GetDropRate_1D() float32 {
+ if x != nil {
+ return x.DropRate_1D
+ }
+ return 0
+}
+
+func (x *PingMetrics) GetSecondsSinceLastSuccess() float32 {
+ if x != nil {
+ return x.SecondsSinceLastSuccess
+ }
+ return 0
+}
+
+func (x *PingMetrics) GetSecondsSinceLast_1SOutage() float32 {
+ if x != nil {
+ return x.SecondsSinceLast_1SOutage
+ }
+ return 0
+}
+
+func (x *PingMetrics) GetSecondsSinceLast_2SOutage() float32 {
+ if x != nil {
+ return x.SecondsSinceLast_2SOutage
+ }
+ return 0
+}
+
+func (x *PingMetrics) GetSecondsSinceLast_5SOutage() float32 {
+ if x != nil {
+ return x.SecondsSinceLast_5SOutage
+ }
+ return 0
+}
+
+func (x *PingMetrics) GetSecondsSinceLast_15SOutage() float32 {
+ if x != nil {
+ return x.SecondsSinceLast_15SOutage
+ }
+ return 0
+}
+
+func (x *PingMetrics) GetSecondsSinceLast_60SOutage() float32 {
+ if x != nil {
+ return x.SecondsSinceLast_60SOutage
+ }
+ return 0
+}
+
+func (x *PingMetrics) GetSecondsSinceLast_300SOutage() float32 {
+ if x != nil {
+ return x.SecondsSinceLast_300SOutage
+ }
+ return 0
+}
+
+func (x *PingMetrics) GetHappyHours_1S_1D() float32 {
+ if x != nil {
+ return x.HappyHours_1S_1D
+ }
+ return 0
+}
+
+func (x *PingMetrics) GetHappyHours_2S_1D() float32 {
+ if x != nil {
+ return x.HappyHours_2S_1D
+ }
+ return 0
+}
+
+func (x *PingMetrics) GetHappyHours_5S_1D() float32 {
+ if x != nil {
+ return x.HappyHours_5S_1D
+ }
+ return 0
+}
+
+type WifiGetPingMetricsRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *WifiGetPingMetricsRequest) Reset() {
+ *x = WifiGetPingMetricsRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[29]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WifiGetPingMetricsRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WifiGetPingMetricsRequest) ProtoMessage() {}
+
+func (x *WifiGetPingMetricsRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[29]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WifiGetPingMetricsRequest.ProtoReflect.Descriptor instead.
+func (*WifiGetPingMetricsRequest) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{29}
+}
+
+type WifiGetPingMetricsResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Internet *PingMetrics `protobuf:"bytes,1,opt,name=internet,proto3" json:"internet,omitempty"`
+}
+
+func (x *WifiGetPingMetricsResponse) Reset() {
+ *x = WifiGetPingMetricsResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[30]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WifiGetPingMetricsResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WifiGetPingMetricsResponse) ProtoMessage() {}
+
+func (x *WifiGetPingMetricsResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[30]
+ 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 WifiGetPingMetricsResponse.ProtoReflect.Descriptor instead.
+func (*WifiGetPingMetricsResponse) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{30}
+}
+
+func (x *WifiGetPingMetricsResponse) GetInternet() *PingMetrics {
+ if x != nil {
+ return x.Internet
+ }
+ return nil
+}
+
+type WifiGetDiagnosticsRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *WifiGetDiagnosticsRequest) Reset() {
+ *x = WifiGetDiagnosticsRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[31]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WifiGetDiagnosticsRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WifiGetDiagnosticsRequest) ProtoMessage() {}
+
+func (x *WifiGetDiagnosticsRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[31]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WifiGetDiagnosticsRequest.ProtoReflect.Descriptor instead.
+func (*WifiGetDiagnosticsRequest) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{31}
+}
+
+type WifiGetDiagnosticsResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ NetworkScan *WifiScanResults `protobuf:"bytes,1,opt,name=network_scan,json=networkScan,proto3" json:"network_scan,omitempty"`
+ WifiNetworks []*WifiNetwork `protobuf:"bytes,2,rep,name=wifi_networks,json=wifiNetworks,proto3" json:"wifi_networks,omitempty"`
+}
+
+func (x *WifiGetDiagnosticsResponse) Reset() {
+ *x = WifiGetDiagnosticsResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[32]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WifiGetDiagnosticsResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WifiGetDiagnosticsResponse) ProtoMessage() {}
+
+func (x *WifiGetDiagnosticsResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[32]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WifiGetDiagnosticsResponse.ProtoReflect.Descriptor instead.
+func (*WifiGetDiagnosticsResponse) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{32}
+}
+
+func (x *WifiGetDiagnosticsResponse) GetNetworkScan() *WifiScanResults {
+ if x != nil {
+ return x.NetworkScan
+ }
+ return nil
+}
+
+func (x *WifiGetDiagnosticsResponse) GetWifiNetworks() []*WifiNetwork {
+ if x != nil {
+ return x.WifiNetworks
+ }
+ return nil
+}
+
+type WifiScanResults struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Networks []*WifiScanResults_Network `protobuf:"bytes,1,rep,name=networks,proto3" json:"networks,omitempty"`
+}
+
+func (x *WifiScanResults) Reset() {
+ *x = WifiScanResults{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[33]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WifiScanResults) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WifiScanResults) ProtoMessage() {}
+
+func (x *WifiScanResults) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[33]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WifiScanResults.ProtoReflect.Descriptor instead.
+func (*WifiScanResults) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{33}
+}
+
+func (x *WifiScanResults) GetNetworks() []*WifiScanResults_Network {
+ if x != nil {
+ return x.Networks
+ }
+ return nil
+}
+
+type WifiNetwork struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Band WifiNetwork_Band `protobuf:"varint,1,opt,name=band,proto3,enum=SpaceX.API.Device.WifiNetwork_Band" json:"band,omitempty"`
+ Ssid string `protobuf:"bytes,2,opt,name=ssid,proto3" json:"ssid,omitempty"`
+ Channel uint32 `protobuf:"varint,3,opt,name=channel,proto3" json:"channel,omitempty"`
+ EncryptionTypeStr string `protobuf:"bytes,4,opt,name=encryption_type_str,json=encryptionTypeStr,proto3" json:"encryption_type_str,omitempty"`
+}
+
+func (x *WifiNetwork) Reset() {
+ *x = WifiNetwork{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[34]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WifiNetwork) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WifiNetwork) ProtoMessage() {}
+
+func (x *WifiNetwork) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[34]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WifiNetwork.ProtoReflect.Descriptor instead.
+func (*WifiNetwork) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{34}
+}
+
+func (x *WifiNetwork) GetBand() WifiNetwork_Band {
+ if x != nil {
+ return x.Band
+ }
+ return WifiNetwork_WIFI_UNKNOWN
+}
+
+func (x *WifiNetwork) GetSsid() string {
+ if x != nil {
+ return x.Ssid
+ }
+ return ""
+}
+
+func (x *WifiNetwork) GetChannel() uint32 {
+ if x != nil {
+ return x.Channel
+ }
+ return 0
+}
+
+func (x *WifiNetwork) GetEncryptionTypeStr() string {
+ if x != nil {
+ return x.EncryptionTypeStr
+ }
+ return ""
+}
+
+type WifiPersistentStats struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FactoryResetButton *WifiPersistentStats_Event `protobuf:"bytes,1,opt,name=factory_reset_button,json=factoryResetButton,proto3" json:"factory_reset_button,omitempty"`
+ FactoryResetPlugUnplug *WifiPersistentStats_Event `protobuf:"bytes,2,opt,name=factory_reset_plug_unplug,json=factoryResetPlugUnplug,proto3" json:"factory_reset_plug_unplug,omitempty"`
+ FactoryResetCommand *WifiPersistentStats_Event `protobuf:"bytes,3,opt,name=factory_reset_command,json=factoryResetCommand,proto3" json:"factory_reset_command,omitempty"`
+ FactoryResetFailedLoadWifiConfig *WifiPersistentStats_Event `protobuf:"bytes,4,opt,name=factory_reset_failed_load_wifi_config,json=factoryResetFailedLoadWifiConfig,proto3" json:"factory_reset_failed_load_wifi_config,omitempty"`
+ RebootFromSoftwareUpdate *WifiPersistentStats_Event `protobuf:"bytes,5,opt,name=reboot_from_software_update,json=rebootFromSoftwareUpdate,proto3" json:"reboot_from_software_update,omitempty"`
+}
+
+func (x *WifiPersistentStats) Reset() {
+ *x = WifiPersistentStats{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[35]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WifiPersistentStats) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WifiPersistentStats) ProtoMessage() {}
+
+func (x *WifiPersistentStats) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[35]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WifiPersistentStats.ProtoReflect.Descriptor instead.
+func (*WifiPersistentStats) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{35}
+}
+
+func (x *WifiPersistentStats) GetFactoryResetButton() *WifiPersistentStats_Event {
+ if x != nil {
+ return x.FactoryResetButton
+ }
+ return nil
+}
+
+func (x *WifiPersistentStats) GetFactoryResetPlugUnplug() *WifiPersistentStats_Event {
+ if x != nil {
+ return x.FactoryResetPlugUnplug
+ }
+ return nil
+}
+
+func (x *WifiPersistentStats) GetFactoryResetCommand() *WifiPersistentStats_Event {
+ if x != nil {
+ return x.FactoryResetCommand
+ }
+ return nil
+}
+
+func (x *WifiPersistentStats) GetFactoryResetFailedLoadWifiConfig() *WifiPersistentStats_Event {
+ if x != nil {
+ return x.FactoryResetFailedLoadWifiConfig
+ }
+ return nil
+}
+
+func (x *WifiPersistentStats) GetRebootFromSoftwareUpdate() *WifiPersistentStats_Event {
+ if x != nil {
+ return x.RebootFromSoftwareUpdate
+ }
+ return nil
+}
+
+type WifiGetPersistentStatsResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Stats *WifiPersistentStats `protobuf:"bytes,1,opt,name=stats,proto3" json:"stats,omitempty"`
+}
+
+func (x *WifiGetPersistentStatsResponse) Reset() {
+ *x = WifiGetPersistentStatsResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[36]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WifiGetPersistentStatsResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WifiGetPersistentStatsResponse) ProtoMessage() {}
+
+func (x *WifiGetPersistentStatsResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_wifi_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 WifiGetPersistentStatsResponse.ProtoReflect.Descriptor instead.
+func (*WifiGetPersistentStatsResponse) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{36}
+}
+
+func (x *WifiGetPersistentStatsResponse) GetStats() *WifiPersistentStats {
+ if x != nil {
+ return x.Stats
+ }
+ return nil
+}
+
+type StarlinkRouterHourlyMetricsV2 struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Id *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
+ TimestampDate *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=timestamp_date,json=timestampDate,proto3" json:"timestamp_date,omitempty"`
+ TimestampHour *wrapperspb.UInt32Value `protobuf:"bytes,3,opt,name=timestamp_hour,json=timestampHour,proto3" json:"timestamp_hour,omitempty"`
+ SysHwGen *wrapperspb.UInt32Value `protobuf:"bytes,4,opt,name=sys_hw_gen,json=sysHwGen,proto3" json:"sys_hw_gen,omitempty"`
+ SysSw *wrapperspb.StringValue `protobuf:"bytes,5,opt,name=sys_sw,json=sysSw,proto3" json:"sys_sw,omitempty"`
+ SysCountry *wrapperspb.StringValue `protobuf:"bytes,6,opt,name=sys_country,json=sysCountry,proto3" json:"sys_country,omitempty"`
+ SysIsDev *wrapperspb.BoolValue `protobuf:"bytes,7,opt,name=sys_is_dev,json=sysIsDev,proto3" json:"sys_is_dev,omitempty"`
+ SysAllocFds *wrapperspb.UInt32Value `protobuf:"bytes,8,opt,name=sys_alloc_fds,json=sysAllocFds,proto3" json:"sys_alloc_fds,omitempty"`
+ SysCpuUsage *wrapperspb.FloatValue `protobuf:"bytes,9,opt,name=sys_cpu_usage,json=sysCpuUsage,proto3" json:"sys_cpu_usage,omitempty"`
+ SysMemFreeKb *wrapperspb.FloatValue `protobuf:"bytes,10,opt,name=sys_mem_free_kb,json=sysMemFreeKb,proto3" json:"sys_mem_free_kb,omitempty"`
+ SysBootcount *wrapperspb.Int32Value `protobuf:"bytes,11,opt,name=sys_bootcount,json=sysBootcount,proto3" json:"sys_bootcount,omitempty"`
+ SysPartitionsEqual *wrapperspb.BoolValue `protobuf:"bytes,12,opt,name=sys_partitions_equal,json=sysPartitionsEqual,proto3" json:"sys_partitions_equal,omitempty"`
+ SysUptimeSeconds *wrapperspb.UInt32Value `protobuf:"bytes,13,opt,name=sys_uptime_seconds,json=sysUptimeSeconds,proto3" json:"sys_uptime_seconds,omitempty"`
+ SysAntiRollbackVersion *wrapperspb.Int32Value `protobuf:"bytes,14,opt,name=sys_anti_rollback_version,json=sysAntiRollbackVersion,proto3" json:"sys_anti_rollback_version,omitempty"`
+ Radios_2GhzChannel *wrapperspb.UInt32Value `protobuf:"bytes,100,opt,name=radios_2ghz_channel,json=radios2ghzChannel,proto3" json:"radios_2ghz_channel,omitempty"`
+ Radios_2GhzAntenna1Rssi *wrapperspb.FloatValue `protobuf:"bytes,101,opt,name=radios_2ghz_antenna1_rssi,json=radios2ghzAntenna1Rssi,proto3" json:"radios_2ghz_antenna1_rssi,omitempty"`
+ Radios_2GhzAntenna2Rssi *wrapperspb.FloatValue `protobuf:"bytes,102,opt,name=radios_2ghz_antenna2_rssi,json=radios2ghzAntenna2Rssi,proto3" json:"radios_2ghz_antenna2_rssi,omitempty"`
+ Radios_2GhzAntenna3Rssi *wrapperspb.FloatValue `protobuf:"bytes,103,opt,name=radios_2ghz_antenna3_rssi,json=radios2ghzAntenna3Rssi,proto3" json:"radios_2ghz_antenna3_rssi,omitempty"`
+ Radios_2GhzIfaceCount *wrapperspb.UInt32Value `protobuf:"bytes,104,opt,name=radios_2ghz_iface_count,json=radios2ghzIfaceCount,proto3" json:"radios_2ghz_iface_count,omitempty"`
+ Radios_2GhzChanBusyFraction *wrapperspb.FloatValue `protobuf:"bytes,105,opt,name=radios_2ghz_chan_busy_fraction,json=radios2ghzChanBusyFraction,proto3" json:"radios_2ghz_chan_busy_fraction,omitempty"`
+ Radios_2GhzEdccaFraction *wrapperspb.FloatValue `protobuf:"bytes,106,opt,name=radios_2ghz_edcca_fraction,json=radios2ghzEdccaFraction,proto3" json:"radios_2ghz_edcca_fraction,omitempty"`
+ Radios_2GhzOverlappingBssFraction *wrapperspb.FloatValue `protobuf:"bytes,107,opt,name=radios_2ghz_overlapping_bss_fraction,json=radios2ghzOverlappingBssFraction,proto3" json:"radios_2ghz_overlapping_bss_fraction,omitempty"`
+ Radios_2GhzRxBytes *wrapperspb.UInt32Value `protobuf:"bytes,108,opt,name=radios_2ghz_rx_bytes,json=radios2ghzRxBytes,proto3" json:"radios_2ghz_rx_bytes,omitempty"`
+ Radios_2GhzRxPackets *wrapperspb.UInt32Value `protobuf:"bytes,109,opt,name=radios_2ghz_rx_packets,json=radios2ghzRxPackets,proto3" json:"radios_2ghz_rx_packets,omitempty"`
+ Radios_2GhzRxErrors *wrapperspb.UInt32Value `protobuf:"bytes,110,opt,name=radios_2ghz_rx_errors,json=radios2ghzRxErrors,proto3" json:"radios_2ghz_rx_errors,omitempty"`
+ Radios_2GhzRxFrameErrors *wrapperspb.UInt32Value `protobuf:"bytes,111,opt,name=radios_2ghz_rx_frame_errors,json=radios2ghzRxFrameErrors,proto3" json:"radios_2ghz_rx_frame_errors,omitempty"`
+ Radios_2GhzRxPacketErrorRate *wrapperspb.FloatValue `protobuf:"bytes,112,opt,name=radios_2ghz_rx_packet_error_rate,json=radios2ghzRxPacketErrorRate,proto3" json:"radios_2ghz_rx_packet_error_rate,omitempty"`
+ Radios_2GhzRxAirtimeFraction *wrapperspb.FloatValue `protobuf:"bytes,113,opt,name=radios_2ghz_rx_airtime_fraction,json=radios2ghzRxAirtimeFraction,proto3" json:"radios_2ghz_rx_airtime_fraction,omitempty"`
+ Radios_2GhzTxBytes *wrapperspb.UInt32Value `protobuf:"bytes,114,opt,name=radios_2ghz_tx_bytes,json=radios2ghzTxBytes,proto3" json:"radios_2ghz_tx_bytes,omitempty"`
+ Radios_2GhzTxPackets *wrapperspb.UInt32Value `protobuf:"bytes,115,opt,name=radios_2ghz_tx_packets,json=radios2ghzTxPackets,proto3" json:"radios_2ghz_tx_packets,omitempty"`
+ Radios_2GhzTxErrors *wrapperspb.UInt32Value `protobuf:"bytes,116,opt,name=radios_2ghz_tx_errors,json=radios2ghzTxErrors,proto3" json:"radios_2ghz_tx_errors,omitempty"`
+ Radios_2GhzTxPacketErrorRate *wrapperspb.FloatValue `protobuf:"bytes,117,opt,name=radios_2ghz_tx_packet_error_rate,json=radios2ghzTxPacketErrorRate,proto3" json:"radios_2ghz_tx_packet_error_rate,omitempty"`
+ Radios_2GhzTxAirtimeFraction *wrapperspb.FloatValue `protobuf:"bytes,118,opt,name=radios_2ghz_tx_airtime_fraction,json=radios2ghzTxAirtimeFraction,proto3" json:"radios_2ghz_tx_airtime_fraction,omitempty"`
+ Radios_5GhzChannel *wrapperspb.UInt32Value `protobuf:"bytes,119,opt,name=radios_5ghz_channel,json=radios5ghzChannel,proto3" json:"radios_5ghz_channel,omitempty"`
+ Radios_5GhzAntenna1Rssi *wrapperspb.FloatValue `protobuf:"bytes,120,opt,name=radios_5ghz_antenna1_rssi,json=radios5ghzAntenna1Rssi,proto3" json:"radios_5ghz_antenna1_rssi,omitempty"`
+ Radios_5GhzAntenna2Rssi *wrapperspb.FloatValue `protobuf:"bytes,121,opt,name=radios_5ghz_antenna2_rssi,json=radios5ghzAntenna2Rssi,proto3" json:"radios_5ghz_antenna2_rssi,omitempty"`
+ Radios_5GhzAntenna3Rssi *wrapperspb.FloatValue `protobuf:"bytes,122,opt,name=radios_5ghz_antenna3_rssi,json=radios5ghzAntenna3Rssi,proto3" json:"radios_5ghz_antenna3_rssi,omitempty"`
+ Radios_5GhzIfaceCount *wrapperspb.UInt32Value `protobuf:"bytes,123,opt,name=radios_5ghz_iface_count,json=radios5ghzIfaceCount,proto3" json:"radios_5ghz_iface_count,omitempty"`
+ Radios_5GhzChanBusyFraction *wrapperspb.FloatValue `protobuf:"bytes,124,opt,name=radios_5ghz_chan_busy_fraction,json=radios5ghzChanBusyFraction,proto3" json:"radios_5ghz_chan_busy_fraction,omitempty"`
+ Radios_5GhzEdccaFraction *wrapperspb.FloatValue `protobuf:"bytes,125,opt,name=radios_5ghz_edcca_fraction,json=radios5ghzEdccaFraction,proto3" json:"radios_5ghz_edcca_fraction,omitempty"`
+ Radios_5GhzOverlappingBssFraction *wrapperspb.FloatValue `protobuf:"bytes,126,opt,name=radios_5ghz_overlapping_bss_fraction,json=radios5ghzOverlappingBssFraction,proto3" json:"radios_5ghz_overlapping_bss_fraction,omitempty"`
+ Radios_5GhzRxBytes *wrapperspb.UInt32Value `protobuf:"bytes,127,opt,name=radios_5ghz_rx_bytes,json=radios5ghzRxBytes,proto3" json:"radios_5ghz_rx_bytes,omitempty"`
+ Radios_5GhzRxPackets *wrapperspb.UInt32Value `protobuf:"bytes,128,opt,name=radios_5ghz_rx_packets,json=radios5ghzRxPackets,proto3" json:"radios_5ghz_rx_packets,omitempty"`
+ Radios_5GhzRxErrors *wrapperspb.UInt32Value `protobuf:"bytes,129,opt,name=radios_5ghz_rx_errors,json=radios5ghzRxErrors,proto3" json:"radios_5ghz_rx_errors,omitempty"`
+ Radios_5GhzRxFrameErrors *wrapperspb.UInt32Value `protobuf:"bytes,130,opt,name=radios_5ghz_rx_frame_errors,json=radios5ghzRxFrameErrors,proto3" json:"radios_5ghz_rx_frame_errors,omitempty"`
+ Radios_5GhzRxPacketErrorRate *wrapperspb.FloatValue `protobuf:"bytes,131,opt,name=radios_5ghz_rx_packet_error_rate,json=radios5ghzRxPacketErrorRate,proto3" json:"radios_5ghz_rx_packet_error_rate,omitempty"`
+ Radios_5GhzRxAirtimeFraction *wrapperspb.FloatValue `protobuf:"bytes,132,opt,name=radios_5ghz_rx_airtime_fraction,json=radios5ghzRxAirtimeFraction,proto3" json:"radios_5ghz_rx_airtime_fraction,omitempty"`
+ Radios_5GhzTxBytes *wrapperspb.UInt32Value `protobuf:"bytes,133,opt,name=radios_5ghz_tx_bytes,json=radios5ghzTxBytes,proto3" json:"radios_5ghz_tx_bytes,omitempty"`
+ Radios_5GhzTxPackets *wrapperspb.UInt32Value `protobuf:"bytes,134,opt,name=radios_5ghz_tx_packets,json=radios5ghzTxPackets,proto3" json:"radios_5ghz_tx_packets,omitempty"`
+ Radios_5GhzTxErrors *wrapperspb.UInt32Value `protobuf:"bytes,135,opt,name=radios_5ghz_tx_errors,json=radios5ghzTxErrors,proto3" json:"radios_5ghz_tx_errors,omitempty"`
+ Radios_5GhzTxPacketErrorRate *wrapperspb.FloatValue `protobuf:"bytes,136,opt,name=radios_5ghz_tx_packet_error_rate,json=radios5ghzTxPacketErrorRate,proto3" json:"radios_5ghz_tx_packet_error_rate,omitempty"`
+ Radios_5GhzTxAirtimeFraction *wrapperspb.FloatValue `protobuf:"bytes,137,opt,name=radios_5ghz_tx_airtime_fraction,json=radios5ghzTxAirtimeFraction,proto3" json:"radios_5ghz_tx_airtime_fraction,omitempty"`
+ Radios_2GhzThermalTemp *wrapperspb.FloatValue `protobuf:"bytes,200,opt,name=radios_2ghz_thermal_temp,json=radios2ghzThermalTemp,proto3" json:"radios_2ghz_thermal_temp,omitempty"`
+ Radios_5GhzThermalTemp *wrapperspb.FloatValue `protobuf:"bytes,201,opt,name=radios_5ghz_thermal_temp,json=radios5ghzThermalTemp,proto3" json:"radios_5ghz_thermal_temp,omitempty"`
+ Radios_2GhzThermalDutyCycle *wrapperspb.FloatValue `protobuf:"bytes,202,opt,name=radios_2ghz_thermal_duty_cycle,json=radios2ghzThermalDutyCycle,proto3" json:"radios_2ghz_thermal_duty_cycle,omitempty"`
+ Radios_5GhzThermalDutyCycle *wrapperspb.FloatValue `protobuf:"bytes,203,opt,name=radios_5ghz_thermal_duty_cycle,json=radios5ghzThermalDutyCycle,proto3" json:"radios_5ghz_thermal_duty_cycle,omitempty"`
+ Radios_2GhzThermalThrottledSeconds *wrapperspb.UInt32Value `protobuf:"bytes,204,opt,name=radios_2ghz_thermal_throttled_seconds,json=radios2ghzThermalThrottledSeconds,proto3" json:"radios_2ghz_thermal_throttled_seconds,omitempty"`
+ Radios_5GhzThermalThrottledSeconds *wrapperspb.UInt32Value `protobuf:"bytes,205,opt,name=radios_5ghz_thermal_throttled_seconds,json=radios5ghzThermalThrottledSeconds,proto3" json:"radios_5ghz_thermal_throttled_seconds,omitempty"`
+ IfacesLanEthRxBytes *wrapperspb.UInt32Value `protobuf:"bytes,300,opt,name=ifaces_lan_eth_rx_bytes,json=ifacesLanEthRxBytes,proto3" json:"ifaces_lan_eth_rx_bytes,omitempty"`
+ IfacesLanEthRxPackets *wrapperspb.UInt32Value `protobuf:"bytes,301,opt,name=ifaces_lan_eth_rx_packets,json=ifacesLanEthRxPackets,proto3" json:"ifaces_lan_eth_rx_packets,omitempty"`
+ IfacesLanEthRxErrors *wrapperspb.UInt32Value `protobuf:"bytes,302,opt,name=ifaces_lan_eth_rx_errors,json=ifacesLanEthRxErrors,proto3" json:"ifaces_lan_eth_rx_errors,omitempty"`
+ IfacesLanEthRxFrameErrors *wrapperspb.UInt32Value `protobuf:"bytes,303,opt,name=ifaces_lan_eth_rx_frame_errors,json=ifacesLanEthRxFrameErrors,proto3" json:"ifaces_lan_eth_rx_frame_errors,omitempty"`
+ IfacesLanEthTxBytes *wrapperspb.UInt32Value `protobuf:"bytes,304,opt,name=ifaces_lan_eth_tx_bytes,json=ifacesLanEthTxBytes,proto3" json:"ifaces_lan_eth_tx_bytes,omitempty"`
+ IfacesLanEthTxPackets *wrapperspb.UInt32Value `protobuf:"bytes,305,opt,name=ifaces_lan_eth_tx_packets,json=ifacesLanEthTxPackets,proto3" json:"ifaces_lan_eth_tx_packets,omitempty"`
+ IfacesLanEthTxErrors *wrapperspb.UInt32Value `protobuf:"bytes,306,opt,name=ifaces_lan_eth_tx_errors,json=ifacesLanEthTxErrors,proto3" json:"ifaces_lan_eth_tx_errors,omitempty"`
+ IfacesWanEthRxBytes *wrapperspb.UInt32Value `protobuf:"bytes,307,opt,name=ifaces_wan_eth_rx_bytes,json=ifacesWanEthRxBytes,proto3" json:"ifaces_wan_eth_rx_bytes,omitempty"`
+ IfacesWanEthRxPackets *wrapperspb.UInt32Value `protobuf:"bytes,308,opt,name=ifaces_wan_eth_rx_packets,json=ifacesWanEthRxPackets,proto3" json:"ifaces_wan_eth_rx_packets,omitempty"`
+ IfacesWanEthRxErrors *wrapperspb.UInt32Value `protobuf:"bytes,309,opt,name=ifaces_wan_eth_rx_errors,json=ifacesWanEthRxErrors,proto3" json:"ifaces_wan_eth_rx_errors,omitempty"`
+ IfacesWanEthRxFrameErrors *wrapperspb.UInt32Value `protobuf:"bytes,310,opt,name=ifaces_wan_eth_rx_frame_errors,json=ifacesWanEthRxFrameErrors,proto3" json:"ifaces_wan_eth_rx_frame_errors,omitempty"`
+ IfacesWanEthTxBytes *wrapperspb.UInt32Value `protobuf:"bytes,311,opt,name=ifaces_wan_eth_tx_bytes,json=ifacesWanEthTxBytes,proto3" json:"ifaces_wan_eth_tx_bytes,omitempty"`
+ IfacesWanEthTxPackets *wrapperspb.UInt32Value `protobuf:"bytes,312,opt,name=ifaces_wan_eth_tx_packets,json=ifacesWanEthTxPackets,proto3" json:"ifaces_wan_eth_tx_packets,omitempty"`
+ IfacesWanEthTxErrors *wrapperspb.UInt32Value `protobuf:"bytes,313,opt,name=ifaces_wan_eth_tx_errors,json=ifacesWanEthTxErrors,proto3" json:"ifaces_wan_eth_tx_errors,omitempty"`
+ Clients *wrapperspb.UInt32Value `protobuf:"bytes,400,opt,name=clients,proto3" json:"clients,omitempty"`
+ Clients_2Ghz *wrapperspb.UInt32Value `protobuf:"bytes,401,opt,name=clients_2ghz,json=clients2ghz,proto3" json:"clients_2ghz,omitempty"`
+ Clients_5Ghz *wrapperspb.UInt32Value `protobuf:"bytes,402,opt,name=clients_5ghz,json=clients5ghz,proto3" json:"clients_5ghz,omitempty"`
+ ClientsEth *wrapperspb.UInt32Value `protobuf:"bytes,403,opt,name=clients_eth,json=clientsEth,proto3" json:"clients_eth,omitempty"`
+ ClientsRepeater *wrapperspb.UInt32Value `protobuf:"bytes,404,opt,name=clients_repeater,json=clientsRepeater,proto3" json:"clients_repeater,omitempty"`
+ ClientsRepeater_2Ghz *wrapperspb.UInt32Value `protobuf:"bytes,405,opt,name=clients_repeater_2ghz,json=clientsRepeater2ghz,proto3" json:"clients_repeater_2ghz,omitempty"`
+ ClientsRepeater_5Ghz *wrapperspb.UInt32Value `protobuf:"bytes,406,opt,name=clients_repeater_5ghz,json=clientsRepeater5ghz,proto3" json:"clients_repeater_5ghz,omitempty"`
+ ClientsRepeaterEth *wrapperspb.UInt32Value `protobuf:"bytes,407,opt,name=clients_repeater_eth,json=clientsRepeaterEth,proto3" json:"clients_repeater_eth,omitempty"`
+ MeshHops *wrapperspb.UInt32Value `protobuf:"bytes,408,opt,name=mesh_hops,json=meshHops,proto3" json:"mesh_hops,omitempty"`
+ MeshOneHopRssiAvg_2Ghz *wrapperspb.FloatValue `protobuf:"bytes,409,opt,name=mesh_one_hop_rssi_avg_2ghz,json=meshOneHopRssiAvg2ghz,proto3" json:"mesh_one_hop_rssi_avg_2ghz,omitempty"`
+ MeshOneHopRssiAvg_5Ghz *wrapperspb.FloatValue `protobuf:"bytes,410,opt,name=mesh_one_hop_rssi_avg_5ghz,json=meshOneHopRssiAvg5ghz,proto3" json:"mesh_one_hop_rssi_avg_5ghz,omitempty"`
+ MeshTwoHopRssiAvg_2Ghz *wrapperspb.FloatValue `protobuf:"bytes,411,opt,name=mesh_two_hop_rssi_avg_2ghz,json=meshTwoHopRssiAvg2ghz,proto3" json:"mesh_two_hop_rssi_avg_2ghz,omitempty"`
+ MeshTwoHopRssiAvg_5Ghz *wrapperspb.FloatValue `protobuf:"bytes,412,opt,name=mesh_two_hop_rssi_avg_5ghz,json=meshTwoHopRssiAvg5ghz,proto3" json:"mesh_two_hop_rssi_avg_5ghz,omitempty"`
+ PingSecondsSinceLast_1SOutage *wrapperspb.FloatValue `protobuf:"bytes,600,opt,name=ping_seconds_since_last_1s_outage,json=pingSecondsSinceLast1sOutage,proto3" json:"ping_seconds_since_last_1s_outage,omitempty"`
+ PingSecondsSinceLast_2SOutage *wrapperspb.FloatValue `protobuf:"bytes,601,opt,name=ping_seconds_since_last_2s_outage,json=pingSecondsSinceLast2sOutage,proto3" json:"ping_seconds_since_last_2s_outage,omitempty"`
+ PingSecondsSinceLast_5SOutage *wrapperspb.FloatValue `protobuf:"bytes,602,opt,name=ping_seconds_since_last_5s_outage,json=pingSecondsSinceLast5sOutage,proto3" json:"ping_seconds_since_last_5s_outage,omitempty"`
+ PingSecondsSinceLast_60SOutage *wrapperspb.FloatValue `protobuf:"bytes,603,opt,name=ping_seconds_since_last_60s_outage,json=pingSecondsSinceLast60sOutage,proto3" json:"ping_seconds_since_last_60s_outage,omitempty"`
+ PingSecondsSinceLast_300SOutage *wrapperspb.FloatValue `protobuf:"bytes,604,opt,name=ping_seconds_since_last_300s_outage,json=pingSecondsSinceLast300sOutage,proto3" json:"ping_seconds_since_last_300s_outage,omitempty"`
+ PingDropRate *wrapperspb.FloatValue `protobuf:"bytes,605,opt,name=ping_drop_rate,json=pingDropRate,proto3" json:"ping_drop_rate,omitempty"`
+ PingDropRateLast_1H *wrapperspb.FloatValue `protobuf:"bytes,606,opt,name=ping_drop_rate_last_1h,json=pingDropRateLast1h,proto3" json:"ping_drop_rate_last_1h,omitempty"`
+ PingLatency *wrapperspb.FloatValue `protobuf:"bytes,607,opt,name=ping_latency,json=pingLatency,proto3" json:"ping_latency,omitempty"`
+ PingDishSecondsSinceLast_1SOutage *wrapperspb.FloatValue `protobuf:"bytes,610,opt,name=ping_dish_seconds_since_last_1s_outage,json=pingDishSecondsSinceLast1sOutage,proto3" json:"ping_dish_seconds_since_last_1s_outage,omitempty"`
+ PingDishSecondsSinceLast_2SOutage *wrapperspb.FloatValue `protobuf:"bytes,611,opt,name=ping_dish_seconds_since_last_2s_outage,json=pingDishSecondsSinceLast2sOutage,proto3" json:"ping_dish_seconds_since_last_2s_outage,omitempty"`
+ PingDishSecondsSinceLast_5SOutage *wrapperspb.FloatValue `protobuf:"bytes,612,opt,name=ping_dish_seconds_since_last_5s_outage,json=pingDishSecondsSinceLast5sOutage,proto3" json:"ping_dish_seconds_since_last_5s_outage,omitempty"`
+ PingDishSecondsSinceLast_60SOutage *wrapperspb.FloatValue `protobuf:"bytes,613,opt,name=ping_dish_seconds_since_last_60s_outage,json=pingDishSecondsSinceLast60sOutage,proto3" json:"ping_dish_seconds_since_last_60s_outage,omitempty"`
+ PingDishSecondsSinceLast_300SOutage *wrapperspb.FloatValue `protobuf:"bytes,614,opt,name=ping_dish_seconds_since_last_300s_outage,json=pingDishSecondsSinceLast300sOutage,proto3" json:"ping_dish_seconds_since_last_300s_outage,omitempty"`
+ PingDishDropRate *wrapperspb.FloatValue `protobuf:"bytes,615,opt,name=ping_dish_drop_rate,json=pingDishDropRate,proto3" json:"ping_dish_drop_rate,omitempty"`
+ PingDishDropRateLast_1H *wrapperspb.FloatValue `protobuf:"bytes,616,opt,name=ping_dish_drop_rate_last_1h,json=pingDishDropRateLast1h,proto3" json:"ping_dish_drop_rate_last_1h,omitempty"`
+ PingDishLatency *wrapperspb.FloatValue `protobuf:"bytes,617,opt,name=ping_dish_latency,json=pingDishLatency,proto3" json:"ping_dish_latency,omitempty"`
+ ClientSpeedtestRouterDownloadMbps *wrapperspb.FloatValue `protobuf:"bytes,700,opt,name=client_speedtest_router_download_mbps,json=clientSpeedtestRouterDownloadMbps,proto3" json:"client_speedtest_router_download_mbps,omitempty"`
+ ClientSpeedtestRouterUploadMbps *wrapperspb.FloatValue `protobuf:"bytes,701,opt,name=client_speedtest_router_upload_mbps,json=clientSpeedtestRouterUploadMbps,proto3" json:"client_speedtest_router_upload_mbps,omitempty"`
+ ClientSpeedtestRouterRssi *wrapperspb.FloatValue `protobuf:"bytes,702,opt,name=client_speedtest_router_rssi,json=clientSpeedtestRouterRssi,proto3" json:"client_speedtest_router_rssi,omitempty"`
+ ClientSpeedtestWifiDownloadMbps *wrapperspb.FloatValue `protobuf:"bytes,703,opt,name=client_speedtest_wifi_download_mbps,json=clientSpeedtestWifiDownloadMbps,proto3" json:"client_speedtest_wifi_download_mbps,omitempty"`
+ ClientSpeedtestWifiUploadMbps *wrapperspb.FloatValue `protobuf:"bytes,704,opt,name=client_speedtest_wifi_upload_mbps,json=clientSpeedtestWifiUploadMbps,proto3" json:"client_speedtest_wifi_upload_mbps,omitempty"`
+ ClientSpeedtestClientDownloadMbps *wrapperspb.FloatValue `protobuf:"bytes,705,opt,name=client_speedtest_client_download_mbps,json=clientSpeedtestClientDownloadMbps,proto3" json:"client_speedtest_client_download_mbps,omitempty"`
+ ClientSpeedtestClientUploadMbps *wrapperspb.FloatValue `protobuf:"bytes,706,opt,name=client_speedtest_client_upload_mbps,json=clientSpeedtestClientUploadMbps,proto3" json:"client_speedtest_client_upload_mbps,omitempty"`
+ ClientSpeedtestClientRssi *wrapperspb.FloatValue `protobuf:"bytes,707,opt,name=client_speedtest_client_rssi,json=clientSpeedtestClientRssi,proto3" json:"client_speedtest_client_rssi,omitempty"`
+ ClientSpeedtestClientIface *wrapperspb.UInt32Value `protobuf:"bytes,708,opt,name=client_speedtest_client_iface,json=clientSpeedtestClientIface,proto3" json:"client_speedtest_client_iface,omitempty"`
+ ClientSpeedtestClientOui *wrapperspb.StringValue `protobuf:"bytes,709,opt,name=client_speedtest_client_oui,json=clientSpeedtestClientOui,proto3" json:"client_speedtest_client_oui,omitempty"`
+ ClientSpeedtestClientTxRate *wrapperspb.UInt32Value `protobuf:"bytes,710,opt,name=client_speedtest_client_tx_rate,json=clientSpeedtestClientTxRate,proto3" json:"client_speedtest_client_tx_rate,omitempty"`
+ ClientSpeedtestClientRxRate *wrapperspb.UInt32Value `protobuf:"bytes,711,opt,name=client_speedtest_client_rx_rate,json=clientSpeedtestClientRxRate,proto3" json:"client_speedtest_client_rx_rate,omitempty"`
+ ClientSpeedtestClientPlatformType *wrapperspb.UInt32Value `protobuf:"bytes,712,opt,name=client_speedtest_client_platform_type,json=clientSpeedtestClientPlatformType,proto3" json:"client_speedtest_client_platform_type,omitempty"`
+ SpeedtestTcp_8DownloadMbpsAvg *wrapperspb.FloatValue `protobuf:"bytes,800,opt,name=speedtest_tcp_8_download_mbps_avg,json=speedtestTcp8DownloadMbpsAvg,proto3" json:"speedtest_tcp_8_download_mbps_avg,omitempty"`
+ SpeedtestTcp_8DownloadMbpsMax *wrapperspb.FloatValue `protobuf:"bytes,801,opt,name=speedtest_tcp_8_download_mbps_max,json=speedtestTcp8DownloadMbpsMax,proto3" json:"speedtest_tcp_8_download_mbps_max,omitempty"`
+ SpeedtestTcp_8UploadMbpsAvg *wrapperspb.FloatValue `protobuf:"bytes,802,opt,name=speedtest_tcp_8_upload_mbps_avg,json=speedtestTcp8UploadMbpsAvg,proto3" json:"speedtest_tcp_8_upload_mbps_avg,omitempty"`
+ SpeedtestTcp_8UploadMbpsMax *wrapperspb.FloatValue `protobuf:"bytes,803,opt,name=speedtest_tcp_8_upload_mbps_max,json=speedtestTcp8UploadMbpsMax,proto3" json:"speedtest_tcp_8_upload_mbps_max,omitempty"`
+ SpeedtestTcp_64DownloadMbpsAvg *wrapperspb.FloatValue `protobuf:"bytes,804,opt,name=speedtest_tcp_64_download_mbps_avg,json=speedtestTcp64DownloadMbpsAvg,proto3" json:"speedtest_tcp_64_download_mbps_avg,omitempty"`
+ SpeedtestTcp_64DownloadMbpsMax *wrapperspb.FloatValue `protobuf:"bytes,805,opt,name=speedtest_tcp_64_download_mbps_max,json=speedtestTcp64DownloadMbpsMax,proto3" json:"speedtest_tcp_64_download_mbps_max,omitempty"`
+ SpeedtestTcp_64UploadMbpsAvg *wrapperspb.FloatValue `protobuf:"bytes,806,opt,name=speedtest_tcp_64_upload_mbps_avg,json=speedtestTcp64UploadMbpsAvg,proto3" json:"speedtest_tcp_64_upload_mbps_avg,omitempty"`
+ SpeedtestTcp_64UploadMbpsMax *wrapperspb.FloatValue `protobuf:"bytes,807,opt,name=speedtest_tcp_64_upload_mbps_max,json=speedtestTcp64UploadMbpsMax,proto3" json:"speedtest_tcp_64_upload_mbps_max,omitempty"`
+ DishCellId *wrapperspb.UInt32Value `protobuf:"bytes,900,opt,name=dish_cell_id,json=dishCellId,proto3" json:"dish_cell_id,omitempty"`
+ ConfigSetupComplete *wrapperspb.BoolValue `protobuf:"bytes,1000,opt,name=config_setup_complete,json=configSetupComplete,proto3" json:"config_setup_complete,omitempty"`
+ ConfigBandsSplit *wrapperspb.BoolValue `protobuf:"bytes,1001,opt,name=config_bands_split,json=configBandsSplit,proto3" json:"config_bands_split,omitempty"`
+ ConfigIsRepeater *wrapperspb.BoolValue `protobuf:"bytes,1002,opt,name=config_is_repeater,json=configIsRepeater,proto3" json:"config_is_repeater,omitempty"`
+ ConfigOpenNetwork *wrapperspb.BoolValue `protobuf:"bytes,1003,opt,name=config_open_network,json=configOpenNetwork,proto3" json:"config_open_network,omitempty"`
+ ConfigIsAviation *wrapperspb.BoolValue `protobuf:"bytes,1004,opt,name=config_is_aviation,json=configIsAviation,proto3" json:"config_is_aviation,omitempty"`
+ ConfigSecureDns *wrapperspb.BoolValue `protobuf:"bytes,1005,opt,name=config_secure_dns,json=configSecureDns,proto3" json:"config_secure_dns,omitempty"`
+ ConfigLegacy *wrapperspb.BoolValue `protobuf:"bytes,1006,opt,name=config_legacy,json=configLegacy,proto3" json:"config_legacy,omitempty"`
+ ConfigApMode *wrapperspb.BoolValue `protobuf:"bytes,1007,opt,name=config_ap_mode,json=configApMode,proto3" json:"config_ap_mode,omitempty"`
+ ConfigDfsEnabled *wrapperspb.BoolValue `protobuf:"bytes,1008,opt,name=config_dfs_enabled,json=configDfsEnabled,proto3" json:"config_dfs_enabled,omitempty"`
+ ConfigNetworkNameIsDefault *wrapperspb.BoolValue `protobuf:"bytes,1009,opt,name=config_network_name_is_default,json=configNetworkNameIsDefault,proto3" json:"config_network_name_is_default,omitempty"`
+ ConfigRemoteSshEnabled *wrapperspb.BoolValue `protobuf:"bytes,1010,opt,name=config_remote_ssh_enabled,json=configRemoteSshEnabled,proto3" json:"config_remote_ssh_enabled,omitempty"`
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) Reset() {
+ *x = StarlinkRouterHourlyMetricsV2{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[37]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*StarlinkRouterHourlyMetricsV2) ProtoMessage() {}
+
+func (x *StarlinkRouterHourlyMetricsV2) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_wifi_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 StarlinkRouterHourlyMetricsV2.ProtoReflect.Descriptor instead.
+func (*StarlinkRouterHourlyMetricsV2) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{37}
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetId() *wrapperspb.StringValue {
+ if x != nil {
+ return x.Id
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetTimestampDate() *wrapperspb.StringValue {
+ if x != nil {
+ return x.TimestampDate
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetTimestampHour() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.TimestampHour
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetSysHwGen() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.SysHwGen
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetSysSw() *wrapperspb.StringValue {
+ if x != nil {
+ return x.SysSw
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetSysCountry() *wrapperspb.StringValue {
+ if x != nil {
+ return x.SysCountry
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetSysIsDev() *wrapperspb.BoolValue {
+ if x != nil {
+ return x.SysIsDev
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetSysAllocFds() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.SysAllocFds
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetSysCpuUsage() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.SysCpuUsage
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetSysMemFreeKb() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.SysMemFreeKb
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetSysBootcount() *wrapperspb.Int32Value {
+ if x != nil {
+ return x.SysBootcount
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetSysPartitionsEqual() *wrapperspb.BoolValue {
+ if x != nil {
+ return x.SysPartitionsEqual
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetSysUptimeSeconds() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.SysUptimeSeconds
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetSysAntiRollbackVersion() *wrapperspb.Int32Value {
+ if x != nil {
+ return x.SysAntiRollbackVersion
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetRadios_2GhzChannel() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.Radios_2GhzChannel
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetRadios_2GhzAntenna1Rssi() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.Radios_2GhzAntenna1Rssi
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetRadios_2GhzAntenna2Rssi() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.Radios_2GhzAntenna2Rssi
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetRadios_2GhzAntenna3Rssi() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.Radios_2GhzAntenna3Rssi
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetRadios_2GhzIfaceCount() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.Radios_2GhzIfaceCount
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetRadios_2GhzChanBusyFraction() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.Radios_2GhzChanBusyFraction
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetRadios_2GhzEdccaFraction() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.Radios_2GhzEdccaFraction
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetRadios_2GhzOverlappingBssFraction() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.Radios_2GhzOverlappingBssFraction
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetRadios_2GhzRxBytes() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.Radios_2GhzRxBytes
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetRadios_2GhzRxPackets() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.Radios_2GhzRxPackets
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetRadios_2GhzRxErrors() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.Radios_2GhzRxErrors
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetRadios_2GhzRxFrameErrors() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.Radios_2GhzRxFrameErrors
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetRadios_2GhzRxPacketErrorRate() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.Radios_2GhzRxPacketErrorRate
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetRadios_2GhzRxAirtimeFraction() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.Radios_2GhzRxAirtimeFraction
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetRadios_2GhzTxBytes() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.Radios_2GhzTxBytes
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetRadios_2GhzTxPackets() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.Radios_2GhzTxPackets
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetRadios_2GhzTxErrors() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.Radios_2GhzTxErrors
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetRadios_2GhzTxPacketErrorRate() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.Radios_2GhzTxPacketErrorRate
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetRadios_2GhzTxAirtimeFraction() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.Radios_2GhzTxAirtimeFraction
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetRadios_5GhzChannel() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.Radios_5GhzChannel
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetRadios_5GhzAntenna1Rssi() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.Radios_5GhzAntenna1Rssi
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetRadios_5GhzAntenna2Rssi() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.Radios_5GhzAntenna2Rssi
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetRadios_5GhzAntenna3Rssi() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.Radios_5GhzAntenna3Rssi
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetRadios_5GhzIfaceCount() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.Radios_5GhzIfaceCount
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetRadios_5GhzChanBusyFraction() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.Radios_5GhzChanBusyFraction
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetRadios_5GhzEdccaFraction() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.Radios_5GhzEdccaFraction
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetRadios_5GhzOverlappingBssFraction() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.Radios_5GhzOverlappingBssFraction
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetRadios_5GhzRxBytes() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.Radios_5GhzRxBytes
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetRadios_5GhzRxPackets() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.Radios_5GhzRxPackets
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetRadios_5GhzRxErrors() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.Radios_5GhzRxErrors
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetRadios_5GhzRxFrameErrors() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.Radios_5GhzRxFrameErrors
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetRadios_5GhzRxPacketErrorRate() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.Radios_5GhzRxPacketErrorRate
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetRadios_5GhzRxAirtimeFraction() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.Radios_5GhzRxAirtimeFraction
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetRadios_5GhzTxBytes() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.Radios_5GhzTxBytes
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetRadios_5GhzTxPackets() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.Radios_5GhzTxPackets
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetRadios_5GhzTxErrors() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.Radios_5GhzTxErrors
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetRadios_5GhzTxPacketErrorRate() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.Radios_5GhzTxPacketErrorRate
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetRadios_5GhzTxAirtimeFraction() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.Radios_5GhzTxAirtimeFraction
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetRadios_2GhzThermalTemp() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.Radios_2GhzThermalTemp
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetRadios_5GhzThermalTemp() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.Radios_5GhzThermalTemp
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetRadios_2GhzThermalDutyCycle() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.Radios_2GhzThermalDutyCycle
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetRadios_5GhzThermalDutyCycle() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.Radios_5GhzThermalDutyCycle
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetRadios_2GhzThermalThrottledSeconds() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.Radios_2GhzThermalThrottledSeconds
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetRadios_5GhzThermalThrottledSeconds() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.Radios_5GhzThermalThrottledSeconds
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetIfacesLanEthRxBytes() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.IfacesLanEthRxBytes
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetIfacesLanEthRxPackets() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.IfacesLanEthRxPackets
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetIfacesLanEthRxErrors() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.IfacesLanEthRxErrors
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetIfacesLanEthRxFrameErrors() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.IfacesLanEthRxFrameErrors
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetIfacesLanEthTxBytes() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.IfacesLanEthTxBytes
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetIfacesLanEthTxPackets() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.IfacesLanEthTxPackets
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetIfacesLanEthTxErrors() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.IfacesLanEthTxErrors
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetIfacesWanEthRxBytes() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.IfacesWanEthRxBytes
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetIfacesWanEthRxPackets() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.IfacesWanEthRxPackets
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetIfacesWanEthRxErrors() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.IfacesWanEthRxErrors
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetIfacesWanEthRxFrameErrors() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.IfacesWanEthRxFrameErrors
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetIfacesWanEthTxBytes() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.IfacesWanEthTxBytes
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetIfacesWanEthTxPackets() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.IfacesWanEthTxPackets
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetIfacesWanEthTxErrors() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.IfacesWanEthTxErrors
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetClients() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.Clients
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetClients_2Ghz() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.Clients_2Ghz
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetClients_5Ghz() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.Clients_5Ghz
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetClientsEth() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.ClientsEth
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetClientsRepeater() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.ClientsRepeater
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetClientsRepeater_2Ghz() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.ClientsRepeater_2Ghz
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetClientsRepeater_5Ghz() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.ClientsRepeater_5Ghz
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetClientsRepeaterEth() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.ClientsRepeaterEth
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetMeshHops() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.MeshHops
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetMeshOneHopRssiAvg_2Ghz() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.MeshOneHopRssiAvg_2Ghz
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetMeshOneHopRssiAvg_5Ghz() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.MeshOneHopRssiAvg_5Ghz
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetMeshTwoHopRssiAvg_2Ghz() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.MeshTwoHopRssiAvg_2Ghz
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetMeshTwoHopRssiAvg_5Ghz() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.MeshTwoHopRssiAvg_5Ghz
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetPingSecondsSinceLast_1SOutage() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.PingSecondsSinceLast_1SOutage
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetPingSecondsSinceLast_2SOutage() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.PingSecondsSinceLast_2SOutage
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetPingSecondsSinceLast_5SOutage() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.PingSecondsSinceLast_5SOutage
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetPingSecondsSinceLast_60SOutage() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.PingSecondsSinceLast_60SOutage
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetPingSecondsSinceLast_300SOutage() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.PingSecondsSinceLast_300SOutage
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetPingDropRate() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.PingDropRate
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetPingDropRateLast_1H() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.PingDropRateLast_1H
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetPingLatency() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.PingLatency
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetPingDishSecondsSinceLast_1SOutage() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.PingDishSecondsSinceLast_1SOutage
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetPingDishSecondsSinceLast_2SOutage() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.PingDishSecondsSinceLast_2SOutage
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetPingDishSecondsSinceLast_5SOutage() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.PingDishSecondsSinceLast_5SOutage
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetPingDishSecondsSinceLast_60SOutage() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.PingDishSecondsSinceLast_60SOutage
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetPingDishSecondsSinceLast_300SOutage() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.PingDishSecondsSinceLast_300SOutage
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetPingDishDropRate() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.PingDishDropRate
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetPingDishDropRateLast_1H() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.PingDishDropRateLast_1H
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetPingDishLatency() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.PingDishLatency
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetClientSpeedtestRouterDownloadMbps() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.ClientSpeedtestRouterDownloadMbps
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetClientSpeedtestRouterUploadMbps() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.ClientSpeedtestRouterUploadMbps
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetClientSpeedtestRouterRssi() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.ClientSpeedtestRouterRssi
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetClientSpeedtestWifiDownloadMbps() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.ClientSpeedtestWifiDownloadMbps
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetClientSpeedtestWifiUploadMbps() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.ClientSpeedtestWifiUploadMbps
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetClientSpeedtestClientDownloadMbps() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.ClientSpeedtestClientDownloadMbps
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetClientSpeedtestClientUploadMbps() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.ClientSpeedtestClientUploadMbps
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetClientSpeedtestClientRssi() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.ClientSpeedtestClientRssi
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetClientSpeedtestClientIface() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.ClientSpeedtestClientIface
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetClientSpeedtestClientOui() *wrapperspb.StringValue {
+ if x != nil {
+ return x.ClientSpeedtestClientOui
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetClientSpeedtestClientTxRate() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.ClientSpeedtestClientTxRate
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetClientSpeedtestClientRxRate() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.ClientSpeedtestClientRxRate
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetClientSpeedtestClientPlatformType() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.ClientSpeedtestClientPlatformType
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetSpeedtestTcp_8DownloadMbpsAvg() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.SpeedtestTcp_8DownloadMbpsAvg
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetSpeedtestTcp_8DownloadMbpsMax() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.SpeedtestTcp_8DownloadMbpsMax
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetSpeedtestTcp_8UploadMbpsAvg() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.SpeedtestTcp_8UploadMbpsAvg
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetSpeedtestTcp_8UploadMbpsMax() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.SpeedtestTcp_8UploadMbpsMax
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetSpeedtestTcp_64DownloadMbpsAvg() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.SpeedtestTcp_64DownloadMbpsAvg
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetSpeedtestTcp_64DownloadMbpsMax() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.SpeedtestTcp_64DownloadMbpsMax
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetSpeedtestTcp_64UploadMbpsAvg() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.SpeedtestTcp_64UploadMbpsAvg
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetSpeedtestTcp_64UploadMbpsMax() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.SpeedtestTcp_64UploadMbpsMax
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetDishCellId() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.DishCellId
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetConfigSetupComplete() *wrapperspb.BoolValue {
+ if x != nil {
+ return x.ConfigSetupComplete
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetConfigBandsSplit() *wrapperspb.BoolValue {
+ if x != nil {
+ return x.ConfigBandsSplit
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetConfigIsRepeater() *wrapperspb.BoolValue {
+ if x != nil {
+ return x.ConfigIsRepeater
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetConfigOpenNetwork() *wrapperspb.BoolValue {
+ if x != nil {
+ return x.ConfigOpenNetwork
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetConfigIsAviation() *wrapperspb.BoolValue {
+ if x != nil {
+ return x.ConfigIsAviation
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetConfigSecureDns() *wrapperspb.BoolValue {
+ if x != nil {
+ return x.ConfigSecureDns
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetConfigLegacy() *wrapperspb.BoolValue {
+ if x != nil {
+ return x.ConfigLegacy
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetConfigApMode() *wrapperspb.BoolValue {
+ if x != nil {
+ return x.ConfigApMode
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetConfigDfsEnabled() *wrapperspb.BoolValue {
+ if x != nil {
+ return x.ConfigDfsEnabled
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetConfigNetworkNameIsDefault() *wrapperspb.BoolValue {
+ if x != nil {
+ return x.ConfigNetworkNameIsDefault
+ }
+ return nil
+}
+
+func (x *StarlinkRouterHourlyMetricsV2) GetConfigRemoteSshEnabled() *wrapperspb.BoolValue {
+ if x != nil {
+ return x.ConfigRemoteSshEnabled
+ }
+ return nil
+}
+
+type StarlinkRoutersHourlyMetricsV2 struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Id *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
+ TimestampDate *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=timestamp_date,json=timestampDate,proto3" json:"timestamp_date,omitempty"`
+ TimestampHour *wrapperspb.UInt32Value `protobuf:"bytes,3,opt,name=timestamp_hour,json=timestampHour,proto3" json:"timestamp_hour,omitempty"`
+ Timestamp *telemetron.TimestampInfo `protobuf:"bytes,10000,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
+ SysHwGen *wrapperspb.UInt32Value `protobuf:"bytes,4,opt,name=sys_hw_gen,json=sysHwGen,proto3" json:"sys_hw_gen,omitempty"`
+ SysSw *wrapperspb.StringValue `protobuf:"bytes,5,opt,name=sys_sw,json=sysSw,proto3" json:"sys_sw,omitempty"`
+ SysCountry *wrapperspb.StringValue `protobuf:"bytes,6,opt,name=sys_country,json=sysCountry,proto3" json:"sys_country,omitempty"`
+ SysIsDev *wrapperspb.BoolValue `protobuf:"bytes,7,opt,name=sys_is_dev,json=sysIsDev,proto3" json:"sys_is_dev,omitempty"`
+ SysAllocFds *wrapperspb.UInt32Value `protobuf:"bytes,8,opt,name=sys_alloc_fds,json=sysAllocFds,proto3" json:"sys_alloc_fds,omitempty"`
+ SysCpuUsage *wrapperspb.FloatValue `protobuf:"bytes,9,opt,name=sys_cpu_usage,json=sysCpuUsage,proto3" json:"sys_cpu_usage,omitempty"`
+ SysMemFreeKb *wrapperspb.FloatValue `protobuf:"bytes,10,opt,name=sys_mem_free_kb,json=sysMemFreeKb,proto3" json:"sys_mem_free_kb,omitempty"`
+ SysBootcount *wrapperspb.Int32Value `protobuf:"bytes,11,opt,name=sys_bootcount,json=sysBootcount,proto3" json:"sys_bootcount,omitempty"`
+ SysPartitionsEqual *wrapperspb.BoolValue `protobuf:"bytes,12,opt,name=sys_partitions_equal,json=sysPartitionsEqual,proto3" json:"sys_partitions_equal,omitempty"`
+ SysUptimeSeconds *wrapperspb.UInt32Value `protobuf:"bytes,13,opt,name=sys_uptime_seconds,json=sysUptimeSeconds,proto3" json:"sys_uptime_seconds,omitempty"`
+ SysAntiRollbackVersion *wrapperspb.Int32Value `protobuf:"bytes,14,opt,name=sys_anti_rollback_version,json=sysAntiRollbackVersion,proto3" json:"sys_anti_rollback_version,omitempty"`
+ Radios_2GhzChannel *wrapperspb.UInt32Value `protobuf:"bytes,100,opt,name=radios_2ghz_channel,json=radios2ghzChannel,proto3" json:"radios_2ghz_channel,omitempty"`
+ Radios_2GhzAntenna1Rssi *wrapperspb.FloatValue `protobuf:"bytes,101,opt,name=radios_2ghz_antenna1_rssi,json=radios2ghzAntenna1Rssi,proto3" json:"radios_2ghz_antenna1_rssi,omitempty"`
+ Radios_2GhzAntenna2Rssi *wrapperspb.FloatValue `protobuf:"bytes,102,opt,name=radios_2ghz_antenna2_rssi,json=radios2ghzAntenna2Rssi,proto3" json:"radios_2ghz_antenna2_rssi,omitempty"`
+ Radios_2GhzAntenna3Rssi *wrapperspb.FloatValue `protobuf:"bytes,103,opt,name=radios_2ghz_antenna3_rssi,json=radios2ghzAntenna3Rssi,proto3" json:"radios_2ghz_antenna3_rssi,omitempty"`
+ Radios_2GhzIfaceCount *wrapperspb.UInt32Value `protobuf:"bytes,104,opt,name=radios_2ghz_iface_count,json=radios2ghzIfaceCount,proto3" json:"radios_2ghz_iface_count,omitempty"`
+ Radios_2GhzChanBusyFraction *wrapperspb.FloatValue `protobuf:"bytes,105,opt,name=radios_2ghz_chan_busy_fraction,json=radios2ghzChanBusyFraction,proto3" json:"radios_2ghz_chan_busy_fraction,omitempty"`
+ Radios_2GhzEdccaFraction *wrapperspb.FloatValue `protobuf:"bytes,106,opt,name=radios_2ghz_edcca_fraction,json=radios2ghzEdccaFraction,proto3" json:"radios_2ghz_edcca_fraction,omitempty"`
+ Radios_2GhzOverlappingBssFraction *wrapperspb.FloatValue `protobuf:"bytes,107,opt,name=radios_2ghz_overlapping_bss_fraction,json=radios2ghzOverlappingBssFraction,proto3" json:"radios_2ghz_overlapping_bss_fraction,omitempty"`
+ Radios_2GhzRxBytes *wrapperspb.Int64Value `protobuf:"bytes,108,opt,name=radios_2ghz_rx_bytes,json=radios2ghzRxBytes,proto3" json:"radios_2ghz_rx_bytes,omitempty"`
+ Radios_2GhzRxPackets *wrapperspb.Int64Value `protobuf:"bytes,109,opt,name=radios_2ghz_rx_packets,json=radios2ghzRxPackets,proto3" json:"radios_2ghz_rx_packets,omitempty"`
+ Radios_2GhzRxErrors *wrapperspb.Int64Value `protobuf:"bytes,110,opt,name=radios_2ghz_rx_errors,json=radios2ghzRxErrors,proto3" json:"radios_2ghz_rx_errors,omitempty"`
+ Radios_2GhzRxFrameErrors *wrapperspb.Int64Value `protobuf:"bytes,111,opt,name=radios_2ghz_rx_frame_errors,json=radios2ghzRxFrameErrors,proto3" json:"radios_2ghz_rx_frame_errors,omitempty"`
+ Radios_2GhzRxPacketErrorRate *wrapperspb.FloatValue `protobuf:"bytes,112,opt,name=radios_2ghz_rx_packet_error_rate,json=radios2ghzRxPacketErrorRate,proto3" json:"radios_2ghz_rx_packet_error_rate,omitempty"`
+ Radios_2GhzRxAirtimeFraction *wrapperspb.FloatValue `protobuf:"bytes,113,opt,name=radios_2ghz_rx_airtime_fraction,json=radios2ghzRxAirtimeFraction,proto3" json:"radios_2ghz_rx_airtime_fraction,omitempty"`
+ Radios_2GhzTxBytes *wrapperspb.Int64Value `protobuf:"bytes,114,opt,name=radios_2ghz_tx_bytes,json=radios2ghzTxBytes,proto3" json:"radios_2ghz_tx_bytes,omitempty"`
+ Radios_2GhzTxPackets *wrapperspb.Int64Value `protobuf:"bytes,115,opt,name=radios_2ghz_tx_packets,json=radios2ghzTxPackets,proto3" json:"radios_2ghz_tx_packets,omitempty"`
+ Radios_2GhzTxErrors *wrapperspb.Int64Value `protobuf:"bytes,116,opt,name=radios_2ghz_tx_errors,json=radios2ghzTxErrors,proto3" json:"radios_2ghz_tx_errors,omitempty"`
+ Radios_2GhzTxPacketErrorRate *wrapperspb.FloatValue `protobuf:"bytes,117,opt,name=radios_2ghz_tx_packet_error_rate,json=radios2ghzTxPacketErrorRate,proto3" json:"radios_2ghz_tx_packet_error_rate,omitempty"`
+ Radios_2GhzTxAirtimeFraction *wrapperspb.FloatValue `protobuf:"bytes,118,opt,name=radios_2ghz_tx_airtime_fraction,json=radios2ghzTxAirtimeFraction,proto3" json:"radios_2ghz_tx_airtime_fraction,omitempty"`
+ Radios_5GhzChannel *wrapperspb.UInt32Value `protobuf:"bytes,119,opt,name=radios_5ghz_channel,json=radios5ghzChannel,proto3" json:"radios_5ghz_channel,omitempty"`
+ Radios_5GhzAntenna1Rssi *wrapperspb.FloatValue `protobuf:"bytes,120,opt,name=radios_5ghz_antenna1_rssi,json=radios5ghzAntenna1Rssi,proto3" json:"radios_5ghz_antenna1_rssi,omitempty"`
+ Radios_5GhzAntenna2Rssi *wrapperspb.FloatValue `protobuf:"bytes,121,opt,name=radios_5ghz_antenna2_rssi,json=radios5ghzAntenna2Rssi,proto3" json:"radios_5ghz_antenna2_rssi,omitempty"`
+ Radios_5GhzAntenna3Rssi *wrapperspb.FloatValue `protobuf:"bytes,122,opt,name=radios_5ghz_antenna3_rssi,json=radios5ghzAntenna3Rssi,proto3" json:"radios_5ghz_antenna3_rssi,omitempty"`
+ Radios_5GhzIfaceCount *wrapperspb.UInt32Value `protobuf:"bytes,123,opt,name=radios_5ghz_iface_count,json=radios5ghzIfaceCount,proto3" json:"radios_5ghz_iface_count,omitempty"`
+ Radios_5GhzChanBusyFraction *wrapperspb.FloatValue `protobuf:"bytes,124,opt,name=radios_5ghz_chan_busy_fraction,json=radios5ghzChanBusyFraction,proto3" json:"radios_5ghz_chan_busy_fraction,omitempty"`
+ Radios_5GhzEdccaFraction *wrapperspb.FloatValue `protobuf:"bytes,125,opt,name=radios_5ghz_edcca_fraction,json=radios5ghzEdccaFraction,proto3" json:"radios_5ghz_edcca_fraction,omitempty"`
+ Radios_5GhzOverlappingBssFraction *wrapperspb.FloatValue `protobuf:"bytes,126,opt,name=radios_5ghz_overlapping_bss_fraction,json=radios5ghzOverlappingBssFraction,proto3" json:"radios_5ghz_overlapping_bss_fraction,omitempty"`
+ Radios_5GhzRxBytes *wrapperspb.Int64Value `protobuf:"bytes,127,opt,name=radios_5ghz_rx_bytes,json=radios5ghzRxBytes,proto3" json:"radios_5ghz_rx_bytes,omitempty"`
+ Radios_5GhzRxPackets *wrapperspb.Int64Value `protobuf:"bytes,128,opt,name=radios_5ghz_rx_packets,json=radios5ghzRxPackets,proto3" json:"radios_5ghz_rx_packets,omitempty"`
+ Radios_5GhzRxErrors *wrapperspb.Int64Value `protobuf:"bytes,129,opt,name=radios_5ghz_rx_errors,json=radios5ghzRxErrors,proto3" json:"radios_5ghz_rx_errors,omitempty"`
+ Radios_5GhzRxFrameErrors *wrapperspb.Int64Value `protobuf:"bytes,130,opt,name=radios_5ghz_rx_frame_errors,json=radios5ghzRxFrameErrors,proto3" json:"radios_5ghz_rx_frame_errors,omitempty"`
+ Radios_5GhzRxPacketErrorRate *wrapperspb.FloatValue `protobuf:"bytes,131,opt,name=radios_5ghz_rx_packet_error_rate,json=radios5ghzRxPacketErrorRate,proto3" json:"radios_5ghz_rx_packet_error_rate,omitempty"`
+ Radios_5GhzRxAirtimeFraction *wrapperspb.FloatValue `protobuf:"bytes,132,opt,name=radios_5ghz_rx_airtime_fraction,json=radios5ghzRxAirtimeFraction,proto3" json:"radios_5ghz_rx_airtime_fraction,omitempty"`
+ Radios_5GhzTxBytes *wrapperspb.Int64Value `protobuf:"bytes,133,opt,name=radios_5ghz_tx_bytes,json=radios5ghzTxBytes,proto3" json:"radios_5ghz_tx_bytes,omitempty"`
+ Radios_5GhzTxPackets *wrapperspb.Int64Value `protobuf:"bytes,134,opt,name=radios_5ghz_tx_packets,json=radios5ghzTxPackets,proto3" json:"radios_5ghz_tx_packets,omitempty"`
+ Radios_5GhzTxErrors *wrapperspb.Int64Value `protobuf:"bytes,135,opt,name=radios_5ghz_tx_errors,json=radios5ghzTxErrors,proto3" json:"radios_5ghz_tx_errors,omitempty"`
+ Radios_5GhzTxPacketErrorRate *wrapperspb.FloatValue `protobuf:"bytes,136,opt,name=radios_5ghz_tx_packet_error_rate,json=radios5ghzTxPacketErrorRate,proto3" json:"radios_5ghz_tx_packet_error_rate,omitempty"`
+ Radios_5GhzTxAirtimeFraction *wrapperspb.FloatValue `protobuf:"bytes,137,opt,name=radios_5ghz_tx_airtime_fraction,json=radios5ghzTxAirtimeFraction,proto3" json:"radios_5ghz_tx_airtime_fraction,omitempty"`
+ Radios_2GhzThermalTemp *wrapperspb.FloatValue `protobuf:"bytes,200,opt,name=radios_2ghz_thermal_temp,json=radios2ghzThermalTemp,proto3" json:"radios_2ghz_thermal_temp,omitempty"`
+ Radios_5GhzThermalTemp *wrapperspb.FloatValue `protobuf:"bytes,201,opt,name=radios_5ghz_thermal_temp,json=radios5ghzThermalTemp,proto3" json:"radios_5ghz_thermal_temp,omitempty"`
+ Radios_2GhzThermalDutyCycle *wrapperspb.FloatValue `protobuf:"bytes,202,opt,name=radios_2ghz_thermal_duty_cycle,json=radios2ghzThermalDutyCycle,proto3" json:"radios_2ghz_thermal_duty_cycle,omitempty"`
+ Radios_5GhzThermalDutyCycle *wrapperspb.FloatValue `protobuf:"bytes,203,opt,name=radios_5ghz_thermal_duty_cycle,json=radios5ghzThermalDutyCycle,proto3" json:"radios_5ghz_thermal_duty_cycle,omitempty"`
+ Radios_2GhzThermalThrottledSeconds *wrapperspb.UInt32Value `protobuf:"bytes,204,opt,name=radios_2ghz_thermal_throttled_seconds,json=radios2ghzThermalThrottledSeconds,proto3" json:"radios_2ghz_thermal_throttled_seconds,omitempty"`
+ Radios_5GhzThermalThrottledSeconds *wrapperspb.UInt32Value `protobuf:"bytes,205,opt,name=radios_5ghz_thermal_throttled_seconds,json=radios5ghzThermalThrottledSeconds,proto3" json:"radios_5ghz_thermal_throttled_seconds,omitempty"`
+ IfacesLanEthRxBytes *wrapperspb.Int64Value `protobuf:"bytes,300,opt,name=ifaces_lan_eth_rx_bytes,json=ifacesLanEthRxBytes,proto3" json:"ifaces_lan_eth_rx_bytes,omitempty"`
+ IfacesLanEthRxPackets *wrapperspb.Int64Value `protobuf:"bytes,301,opt,name=ifaces_lan_eth_rx_packets,json=ifacesLanEthRxPackets,proto3" json:"ifaces_lan_eth_rx_packets,omitempty"`
+ IfacesLanEthRxErrors *wrapperspb.Int64Value `protobuf:"bytes,302,opt,name=ifaces_lan_eth_rx_errors,json=ifacesLanEthRxErrors,proto3" json:"ifaces_lan_eth_rx_errors,omitempty"`
+ IfacesLanEthRxFrameErrors *wrapperspb.Int64Value `protobuf:"bytes,303,opt,name=ifaces_lan_eth_rx_frame_errors,json=ifacesLanEthRxFrameErrors,proto3" json:"ifaces_lan_eth_rx_frame_errors,omitempty"`
+ IfacesLanEthTxBytes *wrapperspb.Int64Value `protobuf:"bytes,304,opt,name=ifaces_lan_eth_tx_bytes,json=ifacesLanEthTxBytes,proto3" json:"ifaces_lan_eth_tx_bytes,omitempty"`
+ IfacesLanEthTxPackets *wrapperspb.Int64Value `protobuf:"bytes,305,opt,name=ifaces_lan_eth_tx_packets,json=ifacesLanEthTxPackets,proto3" json:"ifaces_lan_eth_tx_packets,omitempty"`
+ IfacesLanEthTxErrors *wrapperspb.Int64Value `protobuf:"bytes,306,opt,name=ifaces_lan_eth_tx_errors,json=ifacesLanEthTxErrors,proto3" json:"ifaces_lan_eth_tx_errors,omitempty"`
+ IfacesWanEthRxBytes *wrapperspb.Int64Value `protobuf:"bytes,307,opt,name=ifaces_wan_eth_rx_bytes,json=ifacesWanEthRxBytes,proto3" json:"ifaces_wan_eth_rx_bytes,omitempty"`
+ IfacesWanEthRxPackets *wrapperspb.Int64Value `protobuf:"bytes,308,opt,name=ifaces_wan_eth_rx_packets,json=ifacesWanEthRxPackets,proto3" json:"ifaces_wan_eth_rx_packets,omitempty"`
+ IfacesWanEthRxErrors *wrapperspb.Int64Value `protobuf:"bytes,309,opt,name=ifaces_wan_eth_rx_errors,json=ifacesWanEthRxErrors,proto3" json:"ifaces_wan_eth_rx_errors,omitempty"`
+ IfacesWanEthRxFrameErrors *wrapperspb.Int64Value `protobuf:"bytes,310,opt,name=ifaces_wan_eth_rx_frame_errors,json=ifacesWanEthRxFrameErrors,proto3" json:"ifaces_wan_eth_rx_frame_errors,omitempty"`
+ IfacesWanEthTxBytes *wrapperspb.Int64Value `protobuf:"bytes,311,opt,name=ifaces_wan_eth_tx_bytes,json=ifacesWanEthTxBytes,proto3" json:"ifaces_wan_eth_tx_bytes,omitempty"`
+ IfacesWanEthTxPackets *wrapperspb.Int64Value `protobuf:"bytes,312,opt,name=ifaces_wan_eth_tx_packets,json=ifacesWanEthTxPackets,proto3" json:"ifaces_wan_eth_tx_packets,omitempty"`
+ IfacesWanEthTxErrors *wrapperspb.Int64Value `protobuf:"bytes,313,opt,name=ifaces_wan_eth_tx_errors,json=ifacesWanEthTxErrors,proto3" json:"ifaces_wan_eth_tx_errors,omitempty"`
+ Clients *wrapperspb.UInt32Value `protobuf:"bytes,400,opt,name=clients,proto3" json:"clients,omitempty"`
+ Clients_2Ghz *wrapperspb.UInt32Value `protobuf:"bytes,401,opt,name=clients_2ghz,json=clients2ghz,proto3" json:"clients_2ghz,omitempty"`
+ Clients_5Ghz *wrapperspb.UInt32Value `protobuf:"bytes,402,opt,name=clients_5ghz,json=clients5ghz,proto3" json:"clients_5ghz,omitempty"`
+ ClientsEth *wrapperspb.UInt32Value `protobuf:"bytes,403,opt,name=clients_eth,json=clientsEth,proto3" json:"clients_eth,omitempty"`
+ ClientsRepeater *wrapperspb.UInt32Value `protobuf:"bytes,404,opt,name=clients_repeater,json=clientsRepeater,proto3" json:"clients_repeater,omitempty"`
+ ClientsRepeater_2Ghz *wrapperspb.UInt32Value `protobuf:"bytes,405,opt,name=clients_repeater_2ghz,json=clientsRepeater2ghz,proto3" json:"clients_repeater_2ghz,omitempty"`
+ ClientsRepeater_5Ghz *wrapperspb.UInt32Value `protobuf:"bytes,406,opt,name=clients_repeater_5ghz,json=clientsRepeater5ghz,proto3" json:"clients_repeater_5ghz,omitempty"`
+ ClientsRepeaterEth *wrapperspb.UInt32Value `protobuf:"bytes,407,opt,name=clients_repeater_eth,json=clientsRepeaterEth,proto3" json:"clients_repeater_eth,omitempty"`
+ MeshHops *wrapperspb.UInt32Value `protobuf:"bytes,408,opt,name=mesh_hops,json=meshHops,proto3" json:"mesh_hops,omitempty"`
+ MeshOneHopRssiAvg_2Ghz *wrapperspb.FloatValue `protobuf:"bytes,409,opt,name=mesh_one_hop_rssi_avg_2ghz,json=meshOneHopRssiAvg2ghz,proto3" json:"mesh_one_hop_rssi_avg_2ghz,omitempty"`
+ MeshOneHopRssiAvg_5Ghz *wrapperspb.FloatValue `protobuf:"bytes,410,opt,name=mesh_one_hop_rssi_avg_5ghz,json=meshOneHopRssiAvg5ghz,proto3" json:"mesh_one_hop_rssi_avg_5ghz,omitempty"`
+ MeshTwoHopRssiAvg_2Ghz *wrapperspb.FloatValue `protobuf:"bytes,411,opt,name=mesh_two_hop_rssi_avg_2ghz,json=meshTwoHopRssiAvg2ghz,proto3" json:"mesh_two_hop_rssi_avg_2ghz,omitempty"`
+ MeshTwoHopRssiAvg_5Ghz *wrapperspb.FloatValue `protobuf:"bytes,412,opt,name=mesh_two_hop_rssi_avg_5ghz,json=meshTwoHopRssiAvg5ghz,proto3" json:"mesh_two_hop_rssi_avg_5ghz,omitempty"`
+ PingSecondsSinceLast_1SOutage *wrapperspb.FloatValue `protobuf:"bytes,600,opt,name=ping_seconds_since_last_1s_outage,json=pingSecondsSinceLast1sOutage,proto3" json:"ping_seconds_since_last_1s_outage,omitempty"`
+ PingSecondsSinceLast_2SOutage *wrapperspb.FloatValue `protobuf:"bytes,601,opt,name=ping_seconds_since_last_2s_outage,json=pingSecondsSinceLast2sOutage,proto3" json:"ping_seconds_since_last_2s_outage,omitempty"`
+ PingSecondsSinceLast_5SOutage *wrapperspb.FloatValue `protobuf:"bytes,602,opt,name=ping_seconds_since_last_5s_outage,json=pingSecondsSinceLast5sOutage,proto3" json:"ping_seconds_since_last_5s_outage,omitempty"`
+ PingSecondsSinceLast_60SOutage *wrapperspb.FloatValue `protobuf:"bytes,603,opt,name=ping_seconds_since_last_60s_outage,json=pingSecondsSinceLast60sOutage,proto3" json:"ping_seconds_since_last_60s_outage,omitempty"`
+ PingSecondsSinceLast_300SOutage *wrapperspb.FloatValue `protobuf:"bytes,604,opt,name=ping_seconds_since_last_300s_outage,json=pingSecondsSinceLast300sOutage,proto3" json:"ping_seconds_since_last_300s_outage,omitempty"`
+ PingDropRate *wrapperspb.FloatValue `protobuf:"bytes,605,opt,name=ping_drop_rate,json=pingDropRate,proto3" json:"ping_drop_rate,omitempty"`
+ PingDropRateLast_1H *wrapperspb.FloatValue `protobuf:"bytes,606,opt,name=ping_drop_rate_last_1h,json=pingDropRateLast1h,proto3" json:"ping_drop_rate_last_1h,omitempty"`
+ PingLatency *wrapperspb.FloatValue `protobuf:"bytes,607,opt,name=ping_latency,json=pingLatency,proto3" json:"ping_latency,omitempty"`
+ PingLatencyLast_1H *wrapperspb.FloatValue `protobuf:"bytes,618,opt,name=ping_latency_last_1h,json=pingLatencyLast1h,proto3" json:"ping_latency_last_1h,omitempty"`
+ PingDishSecondsSinceLast_1SOutage *wrapperspb.FloatValue `protobuf:"bytes,610,opt,name=ping_dish_seconds_since_last_1s_outage,json=pingDishSecondsSinceLast1sOutage,proto3" json:"ping_dish_seconds_since_last_1s_outage,omitempty"`
+ PingDishSecondsSinceLast_2SOutage *wrapperspb.FloatValue `protobuf:"bytes,611,opt,name=ping_dish_seconds_since_last_2s_outage,json=pingDishSecondsSinceLast2sOutage,proto3" json:"ping_dish_seconds_since_last_2s_outage,omitempty"`
+ PingDishSecondsSinceLast_5SOutage *wrapperspb.FloatValue `protobuf:"bytes,612,opt,name=ping_dish_seconds_since_last_5s_outage,json=pingDishSecondsSinceLast5sOutage,proto3" json:"ping_dish_seconds_since_last_5s_outage,omitempty"`
+ PingDishSecondsSinceLast_60SOutage *wrapperspb.FloatValue `protobuf:"bytes,613,opt,name=ping_dish_seconds_since_last_60s_outage,json=pingDishSecondsSinceLast60sOutage,proto3" json:"ping_dish_seconds_since_last_60s_outage,omitempty"`
+ PingDishSecondsSinceLast_300SOutage *wrapperspb.FloatValue `protobuf:"bytes,614,opt,name=ping_dish_seconds_since_last_300s_outage,json=pingDishSecondsSinceLast300sOutage,proto3" json:"ping_dish_seconds_since_last_300s_outage,omitempty"`
+ PingDishDropRate *wrapperspb.FloatValue `protobuf:"bytes,615,opt,name=ping_dish_drop_rate,json=pingDishDropRate,proto3" json:"ping_dish_drop_rate,omitempty"`
+ PingDishDropRateLast_1H *wrapperspb.FloatValue `protobuf:"bytes,616,opt,name=ping_dish_drop_rate_last_1h,json=pingDishDropRateLast1h,proto3" json:"ping_dish_drop_rate_last_1h,omitempty"`
+ PingDishLatency *wrapperspb.FloatValue `protobuf:"bytes,617,opt,name=ping_dish_latency,json=pingDishLatency,proto3" json:"ping_dish_latency,omitempty"`
+ PingDishLatencyLast_1H *wrapperspb.FloatValue `protobuf:"bytes,619,opt,name=ping_dish_latency_last_1h,json=pingDishLatencyLast1h,proto3" json:"ping_dish_latency_last_1h,omitempty"`
+ ClientSpeedtestRouterDownloadMbps *wrapperspb.FloatValue `protobuf:"bytes,700,opt,name=client_speedtest_router_download_mbps,json=clientSpeedtestRouterDownloadMbps,proto3" json:"client_speedtest_router_download_mbps,omitempty"`
+ ClientSpeedtestRouterUploadMbps *wrapperspb.FloatValue `protobuf:"bytes,701,opt,name=client_speedtest_router_upload_mbps,json=clientSpeedtestRouterUploadMbps,proto3" json:"client_speedtest_router_upload_mbps,omitempty"`
+ ClientSpeedtestRouterRssi *wrapperspb.FloatValue `protobuf:"bytes,702,opt,name=client_speedtest_router_rssi,json=clientSpeedtestRouterRssi,proto3" json:"client_speedtest_router_rssi,omitempty"`
+ ClientSpeedtestWifiDownloadMbps *wrapperspb.FloatValue `protobuf:"bytes,703,opt,name=client_speedtest_wifi_download_mbps,json=clientSpeedtestWifiDownloadMbps,proto3" json:"client_speedtest_wifi_download_mbps,omitempty"`
+ ClientSpeedtestWifiUploadMbps *wrapperspb.FloatValue `protobuf:"bytes,704,opt,name=client_speedtest_wifi_upload_mbps,json=clientSpeedtestWifiUploadMbps,proto3" json:"client_speedtest_wifi_upload_mbps,omitempty"`
+ ClientSpeedtestClientDownloadMbps *wrapperspb.FloatValue `protobuf:"bytes,705,opt,name=client_speedtest_client_download_mbps,json=clientSpeedtestClientDownloadMbps,proto3" json:"client_speedtest_client_download_mbps,omitempty"`
+ ClientSpeedtestClientUploadMbps *wrapperspb.FloatValue `protobuf:"bytes,706,opt,name=client_speedtest_client_upload_mbps,json=clientSpeedtestClientUploadMbps,proto3" json:"client_speedtest_client_upload_mbps,omitempty"`
+ ClientSpeedtestClientRssi *wrapperspb.FloatValue `protobuf:"bytes,707,opt,name=client_speedtest_client_rssi,json=clientSpeedtestClientRssi,proto3" json:"client_speedtest_client_rssi,omitempty"`
+ ClientSpeedtestClientIface *wrapperspb.UInt32Value `protobuf:"bytes,708,opt,name=client_speedtest_client_iface,json=clientSpeedtestClientIface,proto3" json:"client_speedtest_client_iface,omitempty"`
+ ClientSpeedtestClientOui *wrapperspb.StringValue `protobuf:"bytes,709,opt,name=client_speedtest_client_oui,json=clientSpeedtestClientOui,proto3" json:"client_speedtest_client_oui,omitempty"`
+ ClientSpeedtestClientTxRate *wrapperspb.UInt32Value `protobuf:"bytes,710,opt,name=client_speedtest_client_tx_rate,json=clientSpeedtestClientTxRate,proto3" json:"client_speedtest_client_tx_rate,omitempty"`
+ ClientSpeedtestClientRxRate *wrapperspb.UInt32Value `protobuf:"bytes,711,opt,name=client_speedtest_client_rx_rate,json=clientSpeedtestClientRxRate,proto3" json:"client_speedtest_client_rx_rate,omitempty"`
+ ClientSpeedtestClientPlatformType *wrapperspb.UInt32Value `protobuf:"bytes,712,opt,name=client_speedtest_client_platform_type,json=clientSpeedtestClientPlatformType,proto3" json:"client_speedtest_client_platform_type,omitempty"`
+ SpeedtestTcp_8DownloadMbpsAvg *wrapperspb.FloatValue `protobuf:"bytes,800,opt,name=speedtest_tcp_8_download_mbps_avg,json=speedtestTcp8DownloadMbpsAvg,proto3" json:"speedtest_tcp_8_download_mbps_avg,omitempty"`
+ SpeedtestTcp_8DownloadMbpsMax *wrapperspb.FloatValue `protobuf:"bytes,801,opt,name=speedtest_tcp_8_download_mbps_max,json=speedtestTcp8DownloadMbpsMax,proto3" json:"speedtest_tcp_8_download_mbps_max,omitempty"`
+ SpeedtestTcp_8UploadMbpsAvg *wrapperspb.FloatValue `protobuf:"bytes,802,opt,name=speedtest_tcp_8_upload_mbps_avg,json=speedtestTcp8UploadMbpsAvg,proto3" json:"speedtest_tcp_8_upload_mbps_avg,omitempty"`
+ SpeedtestTcp_8UploadMbpsMax *wrapperspb.FloatValue `protobuf:"bytes,803,opt,name=speedtest_tcp_8_upload_mbps_max,json=speedtestTcp8UploadMbpsMax,proto3" json:"speedtest_tcp_8_upload_mbps_max,omitempty"`
+ SpeedtestTcp_64DownloadMbpsAvg *wrapperspb.FloatValue `protobuf:"bytes,804,opt,name=speedtest_tcp_64_download_mbps_avg,json=speedtestTcp64DownloadMbpsAvg,proto3" json:"speedtest_tcp_64_download_mbps_avg,omitempty"`
+ SpeedtestTcp_64DownloadMbpsMax *wrapperspb.FloatValue `protobuf:"bytes,805,opt,name=speedtest_tcp_64_download_mbps_max,json=speedtestTcp64DownloadMbpsMax,proto3" json:"speedtest_tcp_64_download_mbps_max,omitempty"`
+ SpeedtestTcp_64UploadMbpsAvg *wrapperspb.FloatValue `protobuf:"bytes,806,opt,name=speedtest_tcp_64_upload_mbps_avg,json=speedtestTcp64UploadMbpsAvg,proto3" json:"speedtest_tcp_64_upload_mbps_avg,omitempty"`
+ SpeedtestTcp_64UploadMbpsMax *wrapperspb.FloatValue `protobuf:"bytes,807,opt,name=speedtest_tcp_64_upload_mbps_max,json=speedtestTcp64UploadMbpsMax,proto3" json:"speedtest_tcp_64_upload_mbps_max,omitempty"`
+ DishCellId *wrapperspb.UInt32Value `protobuf:"bytes,900,opt,name=dish_cell_id,json=dishCellId,proto3" json:"dish_cell_id,omitempty"`
+ ConfigSetupComplete *wrapperspb.BoolValue `protobuf:"bytes,1000,opt,name=config_setup_complete,json=configSetupComplete,proto3" json:"config_setup_complete,omitempty"`
+ ConfigBandsSplit *wrapperspb.BoolValue `protobuf:"bytes,1001,opt,name=config_bands_split,json=configBandsSplit,proto3" json:"config_bands_split,omitempty"`
+ ConfigIsRepeater *wrapperspb.BoolValue `protobuf:"bytes,1002,opt,name=config_is_repeater,json=configIsRepeater,proto3" json:"config_is_repeater,omitempty"`
+ ConfigOpenNetwork *wrapperspb.BoolValue `protobuf:"bytes,1003,opt,name=config_open_network,json=configOpenNetwork,proto3" json:"config_open_network,omitempty"`
+ ConfigIsAviation *wrapperspb.BoolValue `protobuf:"bytes,1004,opt,name=config_is_aviation,json=configIsAviation,proto3" json:"config_is_aviation,omitempty"`
+ ConfigSecureDns *wrapperspb.BoolValue `protobuf:"bytes,1005,opt,name=config_secure_dns,json=configSecureDns,proto3" json:"config_secure_dns,omitempty"`
+ ConfigLegacy *wrapperspb.BoolValue `protobuf:"bytes,1006,opt,name=config_legacy,json=configLegacy,proto3" json:"config_legacy,omitempty"`
+ ConfigApMode *wrapperspb.BoolValue `protobuf:"bytes,1007,opt,name=config_ap_mode,json=configApMode,proto3" json:"config_ap_mode,omitempty"`
+ ConfigDfsEnabled *wrapperspb.BoolValue `protobuf:"bytes,1008,opt,name=config_dfs_enabled,json=configDfsEnabled,proto3" json:"config_dfs_enabled,omitempty"`
+ ConfigNetworkNameIsDefault *wrapperspb.BoolValue `protobuf:"bytes,1009,opt,name=config_network_name_is_default,json=configNetworkNameIsDefault,proto3" json:"config_network_name_is_default,omitempty"`
+ ConfigRemoteSshEnabled *wrapperspb.BoolValue `protobuf:"bytes,1010,opt,name=config_remote_ssh_enabled,json=configRemoteSshEnabled,proto3" json:"config_remote_ssh_enabled,omitempty"`
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) Reset() {
+ *x = StarlinkRoutersHourlyMetricsV2{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[38]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*StarlinkRoutersHourlyMetricsV2) ProtoMessage() {}
+
+func (x *StarlinkRoutersHourlyMetricsV2) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_wifi_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 StarlinkRoutersHourlyMetricsV2.ProtoReflect.Descriptor instead.
+func (*StarlinkRoutersHourlyMetricsV2) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{38}
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetId() *wrapperspb.StringValue {
+ if x != nil {
+ return x.Id
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetTimestampDate() *wrapperspb.StringValue {
+ if x != nil {
+ return x.TimestampDate
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetTimestampHour() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.TimestampHour
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetTimestamp() *telemetron.TimestampInfo {
+ if x != nil {
+ return x.Timestamp
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetSysHwGen() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.SysHwGen
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetSysSw() *wrapperspb.StringValue {
+ if x != nil {
+ return x.SysSw
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetSysCountry() *wrapperspb.StringValue {
+ if x != nil {
+ return x.SysCountry
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetSysIsDev() *wrapperspb.BoolValue {
+ if x != nil {
+ return x.SysIsDev
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetSysAllocFds() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.SysAllocFds
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetSysCpuUsage() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.SysCpuUsage
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetSysMemFreeKb() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.SysMemFreeKb
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetSysBootcount() *wrapperspb.Int32Value {
+ if x != nil {
+ return x.SysBootcount
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetSysPartitionsEqual() *wrapperspb.BoolValue {
+ if x != nil {
+ return x.SysPartitionsEqual
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetSysUptimeSeconds() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.SysUptimeSeconds
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetSysAntiRollbackVersion() *wrapperspb.Int32Value {
+ if x != nil {
+ return x.SysAntiRollbackVersion
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetRadios_2GhzChannel() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.Radios_2GhzChannel
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetRadios_2GhzAntenna1Rssi() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.Radios_2GhzAntenna1Rssi
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetRadios_2GhzAntenna2Rssi() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.Radios_2GhzAntenna2Rssi
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetRadios_2GhzAntenna3Rssi() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.Radios_2GhzAntenna3Rssi
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetRadios_2GhzIfaceCount() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.Radios_2GhzIfaceCount
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetRadios_2GhzChanBusyFraction() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.Radios_2GhzChanBusyFraction
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetRadios_2GhzEdccaFraction() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.Radios_2GhzEdccaFraction
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetRadios_2GhzOverlappingBssFraction() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.Radios_2GhzOverlappingBssFraction
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetRadios_2GhzRxBytes() *wrapperspb.Int64Value {
+ if x != nil {
+ return x.Radios_2GhzRxBytes
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetRadios_2GhzRxPackets() *wrapperspb.Int64Value {
+ if x != nil {
+ return x.Radios_2GhzRxPackets
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetRadios_2GhzRxErrors() *wrapperspb.Int64Value {
+ if x != nil {
+ return x.Radios_2GhzRxErrors
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetRadios_2GhzRxFrameErrors() *wrapperspb.Int64Value {
+ if x != nil {
+ return x.Radios_2GhzRxFrameErrors
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetRadios_2GhzRxPacketErrorRate() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.Radios_2GhzRxPacketErrorRate
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetRadios_2GhzRxAirtimeFraction() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.Radios_2GhzRxAirtimeFraction
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetRadios_2GhzTxBytes() *wrapperspb.Int64Value {
+ if x != nil {
+ return x.Radios_2GhzTxBytes
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetRadios_2GhzTxPackets() *wrapperspb.Int64Value {
+ if x != nil {
+ return x.Radios_2GhzTxPackets
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetRadios_2GhzTxErrors() *wrapperspb.Int64Value {
+ if x != nil {
+ return x.Radios_2GhzTxErrors
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetRadios_2GhzTxPacketErrorRate() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.Radios_2GhzTxPacketErrorRate
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetRadios_2GhzTxAirtimeFraction() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.Radios_2GhzTxAirtimeFraction
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetRadios_5GhzChannel() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.Radios_5GhzChannel
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetRadios_5GhzAntenna1Rssi() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.Radios_5GhzAntenna1Rssi
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetRadios_5GhzAntenna2Rssi() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.Radios_5GhzAntenna2Rssi
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetRadios_5GhzAntenna3Rssi() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.Radios_5GhzAntenna3Rssi
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetRadios_5GhzIfaceCount() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.Radios_5GhzIfaceCount
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetRadios_5GhzChanBusyFraction() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.Radios_5GhzChanBusyFraction
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetRadios_5GhzEdccaFraction() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.Radios_5GhzEdccaFraction
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetRadios_5GhzOverlappingBssFraction() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.Radios_5GhzOverlappingBssFraction
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetRadios_5GhzRxBytes() *wrapperspb.Int64Value {
+ if x != nil {
+ return x.Radios_5GhzRxBytes
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetRadios_5GhzRxPackets() *wrapperspb.Int64Value {
+ if x != nil {
+ return x.Radios_5GhzRxPackets
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetRadios_5GhzRxErrors() *wrapperspb.Int64Value {
+ if x != nil {
+ return x.Radios_5GhzRxErrors
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetRadios_5GhzRxFrameErrors() *wrapperspb.Int64Value {
+ if x != nil {
+ return x.Radios_5GhzRxFrameErrors
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetRadios_5GhzRxPacketErrorRate() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.Radios_5GhzRxPacketErrorRate
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetRadios_5GhzRxAirtimeFraction() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.Radios_5GhzRxAirtimeFraction
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetRadios_5GhzTxBytes() *wrapperspb.Int64Value {
+ if x != nil {
+ return x.Radios_5GhzTxBytes
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetRadios_5GhzTxPackets() *wrapperspb.Int64Value {
+ if x != nil {
+ return x.Radios_5GhzTxPackets
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetRadios_5GhzTxErrors() *wrapperspb.Int64Value {
+ if x != nil {
+ return x.Radios_5GhzTxErrors
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetRadios_5GhzTxPacketErrorRate() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.Radios_5GhzTxPacketErrorRate
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetRadios_5GhzTxAirtimeFraction() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.Radios_5GhzTxAirtimeFraction
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetRadios_2GhzThermalTemp() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.Radios_2GhzThermalTemp
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetRadios_5GhzThermalTemp() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.Radios_5GhzThermalTemp
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetRadios_2GhzThermalDutyCycle() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.Radios_2GhzThermalDutyCycle
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetRadios_5GhzThermalDutyCycle() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.Radios_5GhzThermalDutyCycle
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetRadios_2GhzThermalThrottledSeconds() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.Radios_2GhzThermalThrottledSeconds
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetRadios_5GhzThermalThrottledSeconds() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.Radios_5GhzThermalThrottledSeconds
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetIfacesLanEthRxBytes() *wrapperspb.Int64Value {
+ if x != nil {
+ return x.IfacesLanEthRxBytes
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetIfacesLanEthRxPackets() *wrapperspb.Int64Value {
+ if x != nil {
+ return x.IfacesLanEthRxPackets
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetIfacesLanEthRxErrors() *wrapperspb.Int64Value {
+ if x != nil {
+ return x.IfacesLanEthRxErrors
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetIfacesLanEthRxFrameErrors() *wrapperspb.Int64Value {
+ if x != nil {
+ return x.IfacesLanEthRxFrameErrors
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetIfacesLanEthTxBytes() *wrapperspb.Int64Value {
+ if x != nil {
+ return x.IfacesLanEthTxBytes
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetIfacesLanEthTxPackets() *wrapperspb.Int64Value {
+ if x != nil {
+ return x.IfacesLanEthTxPackets
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetIfacesLanEthTxErrors() *wrapperspb.Int64Value {
+ if x != nil {
+ return x.IfacesLanEthTxErrors
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetIfacesWanEthRxBytes() *wrapperspb.Int64Value {
+ if x != nil {
+ return x.IfacesWanEthRxBytes
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetIfacesWanEthRxPackets() *wrapperspb.Int64Value {
+ if x != nil {
+ return x.IfacesWanEthRxPackets
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetIfacesWanEthRxErrors() *wrapperspb.Int64Value {
+ if x != nil {
+ return x.IfacesWanEthRxErrors
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetIfacesWanEthRxFrameErrors() *wrapperspb.Int64Value {
+ if x != nil {
+ return x.IfacesWanEthRxFrameErrors
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetIfacesWanEthTxBytes() *wrapperspb.Int64Value {
+ if x != nil {
+ return x.IfacesWanEthTxBytes
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetIfacesWanEthTxPackets() *wrapperspb.Int64Value {
+ if x != nil {
+ return x.IfacesWanEthTxPackets
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetIfacesWanEthTxErrors() *wrapperspb.Int64Value {
+ if x != nil {
+ return x.IfacesWanEthTxErrors
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetClients() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.Clients
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetClients_2Ghz() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.Clients_2Ghz
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetClients_5Ghz() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.Clients_5Ghz
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetClientsEth() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.ClientsEth
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetClientsRepeater() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.ClientsRepeater
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetClientsRepeater_2Ghz() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.ClientsRepeater_2Ghz
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetClientsRepeater_5Ghz() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.ClientsRepeater_5Ghz
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetClientsRepeaterEth() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.ClientsRepeaterEth
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetMeshHops() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.MeshHops
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetMeshOneHopRssiAvg_2Ghz() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.MeshOneHopRssiAvg_2Ghz
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetMeshOneHopRssiAvg_5Ghz() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.MeshOneHopRssiAvg_5Ghz
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetMeshTwoHopRssiAvg_2Ghz() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.MeshTwoHopRssiAvg_2Ghz
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetMeshTwoHopRssiAvg_5Ghz() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.MeshTwoHopRssiAvg_5Ghz
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetPingSecondsSinceLast_1SOutage() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.PingSecondsSinceLast_1SOutage
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetPingSecondsSinceLast_2SOutage() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.PingSecondsSinceLast_2SOutage
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetPingSecondsSinceLast_5SOutage() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.PingSecondsSinceLast_5SOutage
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetPingSecondsSinceLast_60SOutage() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.PingSecondsSinceLast_60SOutage
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetPingSecondsSinceLast_300SOutage() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.PingSecondsSinceLast_300SOutage
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetPingDropRate() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.PingDropRate
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetPingDropRateLast_1H() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.PingDropRateLast_1H
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetPingLatency() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.PingLatency
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetPingLatencyLast_1H() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.PingLatencyLast_1H
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetPingDishSecondsSinceLast_1SOutage() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.PingDishSecondsSinceLast_1SOutage
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetPingDishSecondsSinceLast_2SOutage() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.PingDishSecondsSinceLast_2SOutage
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetPingDishSecondsSinceLast_5SOutage() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.PingDishSecondsSinceLast_5SOutage
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetPingDishSecondsSinceLast_60SOutage() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.PingDishSecondsSinceLast_60SOutage
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetPingDishSecondsSinceLast_300SOutage() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.PingDishSecondsSinceLast_300SOutage
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetPingDishDropRate() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.PingDishDropRate
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetPingDishDropRateLast_1H() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.PingDishDropRateLast_1H
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetPingDishLatency() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.PingDishLatency
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetPingDishLatencyLast_1H() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.PingDishLatencyLast_1H
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetClientSpeedtestRouterDownloadMbps() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.ClientSpeedtestRouterDownloadMbps
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetClientSpeedtestRouterUploadMbps() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.ClientSpeedtestRouterUploadMbps
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetClientSpeedtestRouterRssi() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.ClientSpeedtestRouterRssi
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetClientSpeedtestWifiDownloadMbps() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.ClientSpeedtestWifiDownloadMbps
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetClientSpeedtestWifiUploadMbps() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.ClientSpeedtestWifiUploadMbps
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetClientSpeedtestClientDownloadMbps() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.ClientSpeedtestClientDownloadMbps
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetClientSpeedtestClientUploadMbps() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.ClientSpeedtestClientUploadMbps
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetClientSpeedtestClientRssi() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.ClientSpeedtestClientRssi
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetClientSpeedtestClientIface() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.ClientSpeedtestClientIface
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetClientSpeedtestClientOui() *wrapperspb.StringValue {
+ if x != nil {
+ return x.ClientSpeedtestClientOui
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetClientSpeedtestClientTxRate() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.ClientSpeedtestClientTxRate
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetClientSpeedtestClientRxRate() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.ClientSpeedtestClientRxRate
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetClientSpeedtestClientPlatformType() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.ClientSpeedtestClientPlatformType
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetSpeedtestTcp_8DownloadMbpsAvg() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.SpeedtestTcp_8DownloadMbpsAvg
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetSpeedtestTcp_8DownloadMbpsMax() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.SpeedtestTcp_8DownloadMbpsMax
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetSpeedtestTcp_8UploadMbpsAvg() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.SpeedtestTcp_8UploadMbpsAvg
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetSpeedtestTcp_8UploadMbpsMax() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.SpeedtestTcp_8UploadMbpsMax
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetSpeedtestTcp_64DownloadMbpsAvg() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.SpeedtestTcp_64DownloadMbpsAvg
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetSpeedtestTcp_64DownloadMbpsMax() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.SpeedtestTcp_64DownloadMbpsMax
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetSpeedtestTcp_64UploadMbpsAvg() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.SpeedtestTcp_64UploadMbpsAvg
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetSpeedtestTcp_64UploadMbpsMax() *wrapperspb.FloatValue {
+ if x != nil {
+ return x.SpeedtestTcp_64UploadMbpsMax
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetDishCellId() *wrapperspb.UInt32Value {
+ if x != nil {
+ return x.DishCellId
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetConfigSetupComplete() *wrapperspb.BoolValue {
+ if x != nil {
+ return x.ConfigSetupComplete
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetConfigBandsSplit() *wrapperspb.BoolValue {
+ if x != nil {
+ return x.ConfigBandsSplit
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetConfigIsRepeater() *wrapperspb.BoolValue {
+ if x != nil {
+ return x.ConfigIsRepeater
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetConfigOpenNetwork() *wrapperspb.BoolValue {
+ if x != nil {
+ return x.ConfigOpenNetwork
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetConfigIsAviation() *wrapperspb.BoolValue {
+ if x != nil {
+ return x.ConfigIsAviation
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetConfigSecureDns() *wrapperspb.BoolValue {
+ if x != nil {
+ return x.ConfigSecureDns
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetConfigLegacy() *wrapperspb.BoolValue {
+ if x != nil {
+ return x.ConfigLegacy
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetConfigApMode() *wrapperspb.BoolValue {
+ if x != nil {
+ return x.ConfigApMode
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetConfigDfsEnabled() *wrapperspb.BoolValue {
+ if x != nil {
+ return x.ConfigDfsEnabled
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetConfigNetworkNameIsDefault() *wrapperspb.BoolValue {
+ if x != nil {
+ return x.ConfigNetworkNameIsDefault
+ }
+ return nil
+}
+
+func (x *StarlinkRoutersHourlyMetricsV2) GetConfigRemoteSshEnabled() *wrapperspb.BoolValue {
+ if x != nil {
+ return x.ConfigRemoteSshEnabled
+ }
+ return nil
+}
+
+type StarlinkRouterAlerts struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+ Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"`
+ Active bool `protobuf:"varint,3,opt,name=active,proto3" json:"active,omitempty"`
+ Start *telemetron.TimestampInfo `protobuf:"bytes,4,opt,name=start,proto3" json:"start,omitempty"`
+ End *telemetron.TimestampInfo `protobuf:"bytes,5,opt,name=end,proto3" json:"end,omitempty"`
+}
+
+func (x *StarlinkRouterAlerts) Reset() {
+ *x = StarlinkRouterAlerts{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[39]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *StarlinkRouterAlerts) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*StarlinkRouterAlerts) ProtoMessage() {}
+
+func (x *StarlinkRouterAlerts) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[39]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use StarlinkRouterAlerts.ProtoReflect.Descriptor instead.
+func (*StarlinkRouterAlerts) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{39}
+}
+
+func (x *StarlinkRouterAlerts) GetName() string {
+ if x != nil {
+ return x.Name
+ }
+ return ""
+}
+
+func (x *StarlinkRouterAlerts) GetSource() string {
+ if x != nil {
+ return x.Source
+ }
+ return ""
+}
+
+func (x *StarlinkRouterAlerts) GetActive() bool {
+ if x != nil {
+ return x.Active
+ }
+ return false
+}
+
+func (x *StarlinkRouterAlerts) GetStart() *telemetron.TimestampInfo {
+ if x != nil {
+ return x.Start
+ }
+ return nil
+}
+
+func (x *StarlinkRouterAlerts) GetEnd() *telemetron.TimestampInfo {
+ if x != nil {
+ return x.End
+ }
+ return nil
+}
+
+type WifiClient_RxStats struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Bytes uint64 `protobuf:"varint,1,opt,name=bytes,proto3" json:"bytes,omitempty"`
+ CountErrors uint64 `protobuf:"varint,2,opt,name=count_errors,json=countErrors,proto3" json:"count_errors,omitempty"`
+ Nss int32 `protobuf:"varint,3,opt,name=nss,proto3" json:"nss,omitempty"`
+ RateMbps uint32 `protobuf:"varint,8,opt,name=rate_mbps,json=rateMbps,proto3" json:"rate_mbps,omitempty"`
+ Mcs uint32 `protobuf:"varint,5,opt,name=mcs,proto3" json:"mcs,omitempty"`
+ Bandwidth uint32 `protobuf:"varint,6,opt,name=bandwidth,proto3" json:"bandwidth,omitempty"`
+ GuardNs uint32 `protobuf:"varint,7,opt,name=guard_ns,json=guardNs,proto3" json:"guard_ns,omitempty"`
+ AirtimeFractionLast_1S float32 `protobuf:"fixed32,9,opt,name=airtime_fraction_last_1s,json=airtimeFractionLast1s,proto3" json:"airtime_fraction_last_1s,omitempty"`
+ SampledPackets uint32 `protobuf:"varint,10,opt,name=sampled_packets,json=sampledPackets,proto3" json:"sampled_packets,omitempty"`
+ SampledPacketsRetried uint32 `protobuf:"varint,11,opt,name=sampled_packets_retried,json=sampledPacketsRetried,proto3" json:"sampled_packets_retried,omitempty"`
+ SampledPacketsDropped uint32 `protobuf:"varint,12,opt,name=sampled_packets_dropped,json=sampledPacketsDropped,proto3" json:"sampled_packets_dropped,omitempty"`
+}
+
+func (x *WifiClient_RxStats) Reset() {
+ *x = WifiClient_RxStats{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[40]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WifiClient_RxStats) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WifiClient_RxStats) ProtoMessage() {}
+
+func (x *WifiClient_RxStats) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_wifi_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 WifiClient_RxStats.ProtoReflect.Descriptor instead.
+func (*WifiClient_RxStats) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{18, 0}
+}
+
+func (x *WifiClient_RxStats) GetBytes() uint64 {
+ if x != nil {
+ return x.Bytes
+ }
+ return 0
+}
+
+func (x *WifiClient_RxStats) GetCountErrors() uint64 {
+ if x != nil {
+ return x.CountErrors
+ }
+ return 0
+}
+
+func (x *WifiClient_RxStats) GetNss() int32 {
+ if x != nil {
+ return x.Nss
+ }
+ return 0
+}
+
+func (x *WifiClient_RxStats) GetRateMbps() uint32 {
+ if x != nil {
+ return x.RateMbps
+ }
+ return 0
+}
+
+func (x *WifiClient_RxStats) GetMcs() uint32 {
+ if x != nil {
+ return x.Mcs
+ }
+ return 0
+}
+
+func (x *WifiClient_RxStats) GetBandwidth() uint32 {
+ if x != nil {
+ return x.Bandwidth
+ }
+ return 0
+}
+
+func (x *WifiClient_RxStats) GetGuardNs() uint32 {
+ if x != nil {
+ return x.GuardNs
+ }
+ return 0
+}
+
+func (x *WifiClient_RxStats) GetAirtimeFractionLast_1S() float32 {
+ if x != nil {
+ return x.AirtimeFractionLast_1S
+ }
+ return 0
+}
+
+func (x *WifiClient_RxStats) GetSampledPackets() uint32 {
+ if x != nil {
+ return x.SampledPackets
+ }
+ return 0
+}
+
+func (x *WifiClient_RxStats) GetSampledPacketsRetried() uint32 {
+ if x != nil {
+ return x.SampledPacketsRetried
+ }
+ return 0
+}
+
+func (x *WifiClient_RxStats) GetSampledPacketsDropped() uint32 {
+ if x != nil {
+ return x.SampledPacketsDropped
+ }
+ return 0
+}
+
+type WifiClient_TxStats struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Bytes uint64 `protobuf:"varint,1,opt,name=bytes,proto3" json:"bytes,omitempty"`
+ SuccessBytes uint64 `protobuf:"varint,2,opt,name=success_bytes,json=successBytes,proto3" json:"success_bytes,omitempty"`
+ Nss int32 `protobuf:"varint,3,opt,name=nss,proto3" json:"nss,omitempty"`
+ RateMbps uint32 `protobuf:"varint,8,opt,name=rate_mbps,json=rateMbps,proto3" json:"rate_mbps,omitempty"`
+ Mcs uint32 `protobuf:"varint,5,opt,name=mcs,proto3" json:"mcs,omitempty"`
+ Bandwidth uint32 `protobuf:"varint,6,opt,name=bandwidth,proto3" json:"bandwidth,omitempty"`
+ GuardNs uint32 `protobuf:"varint,7,opt,name=guard_ns,json=guardNs,proto3" json:"guard_ns,omitempty"`
+ AirtimeFractionLast_1S float32 `protobuf:"fixed32,9,opt,name=airtime_fraction_last_1s,json=airtimeFractionLast1s,proto3" json:"airtime_fraction_last_1s,omitempty"`
+}
+
+func (x *WifiClient_TxStats) Reset() {
+ *x = WifiClient_TxStats{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[41]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WifiClient_TxStats) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WifiClient_TxStats) ProtoMessage() {}
+
+func (x *WifiClient_TxStats) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_wifi_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 WifiClient_TxStats.ProtoReflect.Descriptor instead.
+func (*WifiClient_TxStats) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{18, 1}
+}
+
+func (x *WifiClient_TxStats) GetBytes() uint64 {
+ if x != nil {
+ return x.Bytes
+ }
+ return 0
+}
+
+func (x *WifiClient_TxStats) GetSuccessBytes() uint64 {
+ if x != nil {
+ return x.SuccessBytes
+ }
+ return 0
+}
+
+func (x *WifiClient_TxStats) GetNss() int32 {
+ if x != nil {
+ return x.Nss
+ }
+ return 0
+}
+
+func (x *WifiClient_TxStats) GetRateMbps() uint32 {
+ if x != nil {
+ return x.RateMbps
+ }
+ return 0
+}
+
+func (x *WifiClient_TxStats) GetMcs() uint32 {
+ if x != nil {
+ return x.Mcs
+ }
+ return 0
+}
+
+func (x *WifiClient_TxStats) GetBandwidth() uint32 {
+ if x != nil {
+ return x.Bandwidth
+ }
+ return 0
+}
+
+func (x *WifiClient_TxStats) GetGuardNs() uint32 {
+ if x != nil {
+ return x.GuardNs
+ }
+ return 0
+}
+
+func (x *WifiClient_TxStats) GetAirtimeFractionLast_1S() float32 {
+ if x != nil {
+ return x.AirtimeFractionLast_1S
+ }
+ return 0
+}
+
+type WifiScanResults_Network struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Source WifiScanResults_Network_Source `protobuf:"varint,1,opt,name=source,proto3,enum=SpaceX.API.Device.WifiScanResults_Network_Source" json:"source,omitempty"`
+ Ssid string `protobuf:"bytes,2,opt,name=ssid,proto3" json:"ssid,omitempty"`
+ Bssid string `protobuf:"bytes,3,opt,name=bssid,proto3" json:"bssid,omitempty"`
+ FrequencyGhz string `protobuf:"bytes,4,opt,name=frequency_ghz,json=frequencyGhz,proto3" json:"frequency_ghz,omitempty"`
+ Channel int32 `protobuf:"varint,5,opt,name=channel,proto3" json:"channel,omitempty"`
+ SignalLevelDbm int32 `protobuf:"varint,6,opt,name=signal_level_dbm,json=signalLevelDbm,proto3" json:"signal_level_dbm,omitempty"`
+ NoiseLevelDbm int32 `protobuf:"varint,7,opt,name=noise_level_dbm,json=noiseLevelDbm,proto3" json:"noise_level_dbm,omitempty"`
+ HasEncryptionKey bool `protobuf:"varint,8,opt,name=has_encryption_key,json=hasEncryptionKey,proto3" json:"has_encryption_key,omitempty"`
+ PhyModeStr string `protobuf:"bytes,9,opt,name=phy_mode_str,json=phyModeStr,proto3" json:"phy_mode_str,omitempty"`
+}
+
+func (x *WifiScanResults_Network) Reset() {
+ *x = WifiScanResults_Network{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[42]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WifiScanResults_Network) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WifiScanResults_Network) ProtoMessage() {}
+
+func (x *WifiScanResults_Network) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[42]
+ 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 WifiScanResults_Network.ProtoReflect.Descriptor instead.
+func (*WifiScanResults_Network) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{33, 0}
+}
+
+func (x *WifiScanResults_Network) GetSource() WifiScanResults_Network_Source {
+ if x != nil {
+ return x.Source
+ }
+ return WifiScanResults_Network_UNKNOWN
+}
+
+func (x *WifiScanResults_Network) GetSsid() string {
+ if x != nil {
+ return x.Ssid
+ }
+ return ""
+}
+
+func (x *WifiScanResults_Network) GetBssid() string {
+ if x != nil {
+ return x.Bssid
+ }
+ return ""
+}
+
+func (x *WifiScanResults_Network) GetFrequencyGhz() string {
+ if x != nil {
+ return x.FrequencyGhz
+ }
+ return ""
+}
+
+func (x *WifiScanResults_Network) GetChannel() int32 {
+ if x != nil {
+ return x.Channel
+ }
+ return 0
+}
+
+func (x *WifiScanResults_Network) GetSignalLevelDbm() int32 {
+ if x != nil {
+ return x.SignalLevelDbm
+ }
+ return 0
+}
+
+func (x *WifiScanResults_Network) GetNoiseLevelDbm() int32 {
+ if x != nil {
+ return x.NoiseLevelDbm
+ }
+ return 0
+}
+
+func (x *WifiScanResults_Network) GetHasEncryptionKey() bool {
+ if x != nil {
+ return x.HasEncryptionKey
+ }
+ return false
+}
+
+func (x *WifiScanResults_Network) GetPhyModeStr() string {
+ if x != nil {
+ return x.PhyModeStr
+ }
+ return ""
+}
+
+type WifiPersistentStats_Event struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Count uint32 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"`
+ LastOccurredTimestamp int64 `protobuf:"varint,2,opt,name=last_occurred_timestamp,json=lastOccurredTimestamp,proto3" json:"last_occurred_timestamp,omitempty"`
+}
+
+func (x *WifiPersistentStats_Event) Reset() {
+ *x = WifiPersistentStats_Event{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[43]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WifiPersistentStats_Event) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WifiPersistentStats_Event) ProtoMessage() {}
+
+func (x *WifiPersistentStats_Event) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_wifi_proto_msgTypes[43]
+ 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 WifiPersistentStats_Event.ProtoReflect.Descriptor instead.
+func (*WifiPersistentStats_Event) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{35, 0}
+}
+
+func (x *WifiPersistentStats_Event) GetCount() uint32 {
+ if x != nil {
+ return x.Count
+ }
+ return 0
+}
+
+func (x *WifiPersistentStats_Event) GetLastOccurredTimestamp() int64 {
+ if x != nil {
+ return x.LastOccurredTimestamp
+ }
+ return 0
+}
+
+var File_spacex_api_device_wifi_proto protoreflect.FileDescriptor
+
+var file_spacex_api_device_wifi_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x73, 0x70, 0x61, 0x63, 0x65, 0x78, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76,
+ 0x69, 0x63, 0x65, 0x2f, 0x77, 0x69, 0x66, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11,
+ 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
+ 0x65, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x1e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x78, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65,
+ 0x76, 0x69, 0x63, 0x65, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x23, 0x73, 0x70, 0x61, 0x63, 0x65, 0x78, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65,
+ 0x76, 0x69, 0x63, 0x65, 0x2f, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x78, 0x2f, 0x61,
+ 0x70, 0x69, 0x2f, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x6f, 0x6e, 0x2f, 0x70, 0x75,
+ 0x62, 0x6c, 0x69, 0x63, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x74, 0x69, 0x6d, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x46, 0x0a, 0x0b, 0x57, 0x69, 0x66, 0x69, 0x43, 0x6c,
+ 0x69, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x37, 0x0a, 0x07, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73,
+ 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e,
+ 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x43,
+ 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x95,
+ 0x01, 0x0a, 0x0c, 0x54, 0x6f, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12,
+ 0x3a, 0x0a, 0x07, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x1e, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65,
+ 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73,
+ 0x48, 0x00, 0x52, 0x07, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x3e, 0x0a, 0x09, 0x6d,
+ 0x65, 0x73, 0x68, 0x5f, 0x6a, 0x6f, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f,
+ 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69,
+ 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x4d, 0x65, 0x73, 0x68, 0x4a, 0x6f, 0x69, 0x6e, 0x48,
+ 0x00, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x68, 0x4a, 0x6f, 0x69, 0x6e, 0x42, 0x09, 0x0a, 0x07, 0x6d,
+ 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x30, 0x0a, 0x0c, 0x57, 0x69, 0x66, 0x69, 0x4d, 0x65,
+ 0x73, 0x68, 0x4a, 0x6f, 0x69, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x63, 0x61, 0x72, 0x6e,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x69, 0x6e, 0x63,
+ 0x61, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x5d, 0x0a, 0x0e, 0x46, 0x72, 0x6f, 0x6d,
+ 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x40, 0x0a, 0x0b, 0x77, 0x69,
+ 0x66, 0x69, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x1d, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76,
+ 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00,
+ 0x52, 0x0a, 0x77, 0x69, 0x66, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x09, 0x0a, 0x07,
+ 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x56, 0x0a, 0x14, 0x57, 0x69, 0x66, 0x69, 0x53,
+ 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
+ 0x3e, 0x0a, 0x0b, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50,
+ 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x43, 0x6f, 0x6e,
+ 0x66, 0x69, 0x67, 0x52, 0x0a, 0x77, 0x69, 0x66, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22,
+ 0x66, 0x0a, 0x15, 0x57, 0x69, 0x66, 0x69, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x13, 0x75, 0x70, 0x64, 0x61,
+ 0x74, 0x65, 0x64, 0x5f, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41,
+ 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x43, 0x6f,
+ 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x57, 0x69, 0x66,
+ 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x16, 0x0a, 0x14, 0x57, 0x69, 0x66, 0x69, 0x47,
+ 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22,
+ 0x57, 0x0a, 0x15, 0x57, 0x69, 0x66, 0x69, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x0b, 0x77, 0x69, 0x66, 0x69,
+ 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e,
+ 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
+ 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0a, 0x77, 0x69,
+ 0x66, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x6d, 0x0a, 0x1d, 0x57, 0x69, 0x66, 0x69,
+ 0x53, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x68, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x72, 0x75,
+ 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x65, 0x76,
+ 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x65,
+ 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x04, 0x61, 0x75, 0x74, 0x68, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50,
+ 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4d, 0x65, 0x73, 0x68, 0x41, 0x75, 0x74,
+ 0x68, 0x52, 0x04, 0x61, 0x75, 0x74, 0x68, 0x22, 0x20, 0x0a, 0x1e, 0x57, 0x69, 0x66, 0x69, 0x53,
+ 0x65, 0x74, 0x4d, 0x65, 0x73, 0x68, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x72, 0x75, 0x73,
+ 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x77, 0x0a, 0x18, 0x57, 0x69, 0x66,
+ 0x69, 0x53, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x0b, 0x6d, 0x65, 0x73, 0x68, 0x5f, 0x63, 0x6f,
+ 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x53, 0x70, 0x61,
+ 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4d,
+ 0x65, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0a, 0x6d, 0x65, 0x73, 0x68, 0x43,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f,
+ 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65,
+ 0x49, 0x64, 0x22, 0x1b, 0x0a, 0x19, 0x57, 0x69, 0x66, 0x69, 0x53, 0x65, 0x74, 0x4d, 0x65, 0x73,
+ 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
+ 0x17, 0x0a, 0x15, 0x57, 0x69, 0x66, 0x69, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74,
+ 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x9e, 0x01, 0x0a, 0x16, 0x57, 0x69, 0x66,
+ 0x69, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x07, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50,
+ 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x43, 0x6c, 0x69,
+ 0x65, 0x6e, 0x74, 0x52, 0x07, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x28, 0x0a, 0x10,
+ 0x68, 0x61, 0x73, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x68, 0x61, 0x73, 0x43, 0x6c, 0x69, 0x65, 0x6e,
+ 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
+ 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x63, 0x6c,
+ 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x3e, 0x0a, 0x1b, 0x57, 0x69, 0x66,
+ 0x69, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72,
+ 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x63, 0x5f,
+ 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d,
+ 0x61, 0x63, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xa7, 0x03, 0x0a, 0x1c, 0x57, 0x69,
+ 0x66, 0x69, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f,
+ 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x75,
+ 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x63, 0x75, 0x72,
+ 0x72, 0x65, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x78, 0x5f, 0x74, 0x68, 0x72, 0x6f, 0x75,
+ 0x67, 0x68, 0x70, 0x75, 0x74, 0x5f, 0x6d, 0x62, 0x70, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x02,
+ 0x52, 0x10, 0x74, 0x78, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x70, 0x75, 0x74, 0x4d, 0x62,
+ 0x70, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x78, 0x5f, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68,
+ 0x70, 0x75, 0x74, 0x5f, 0x6d, 0x62, 0x70, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x02, 0x52, 0x10,
+ 0x72, 0x78, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x70, 0x75, 0x74, 0x4d, 0x62, 0x70, 0x73,
+ 0x12, 0x70, 0x0a, 0x12, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x70, 0x75, 0x74, 0x5f, 0x6c,
+ 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x41, 0x2e, 0x53,
+ 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
+ 0x2e, 0x57, 0x69, 0x66, 0x69, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x48, 0x69,
+ 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x57, 0x69,
+ 0x66, 0x69, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52,
+ 0x11, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x70, 0x75, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74,
+ 0x65, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x72, 0x78, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x62,
+ 0x70, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0a, 0x72, 0x78, 0x52, 0x61, 0x74, 0x65,
+ 0x4d, 0x62, 0x70, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x73, 0x73, 0x69, 0x18, 0x06, 0x20, 0x01,
+ 0x28, 0x0c, 0x52, 0x04, 0x72, 0x73, 0x73, 0x69, 0x22, 0x69, 0x0a, 0x11, 0x57, 0x69, 0x66, 0x69,
+ 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x11, 0x0a,
+ 0x0d, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00,
+ 0x12, 0x0e, 0x0a, 0x0a, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01,
+ 0x12, 0x16, 0x0a, 0x12, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x5f, 0x55, 0x4e, 0x43, 0x4c, 0x41, 0x53,
+ 0x53, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x4c, 0x49, 0x4d, 0x49,
+ 0x54, 0x5f, 0x44, 0x52, 0x4f, 0x50, 0x50, 0x45, 0x44, 0x5f, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54,
+ 0x53, 0x10, 0x03, 0x22, 0x82, 0x01, 0x0a, 0x16, 0x57, 0x69, 0x66, 0x69, 0x47, 0x65, 0x74, 0x48,
+ 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18,
+ 0x0a, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52,
+ 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x69, 0x6e, 0x67,
+ 0x5f, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0xe9, 0x07, 0x20, 0x03, 0x28,
+ 0x02, 0x52, 0x0c, 0x70, 0x69, 0x6e, 0x67, 0x44, 0x72, 0x6f, 0x70, 0x52, 0x61, 0x74, 0x65, 0x12,
+ 0x27, 0x0a, 0x0f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f,
+ 0x6d, 0x73, 0x18, 0xea, 0x07, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0d, 0x70, 0x69, 0x6e, 0x67, 0x4c,
+ 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4d, 0x73, 0x22, 0x54, 0x0a, 0x1b, 0x57, 0x69, 0x66, 0x69,
+ 0x4e, 0x65, 0x77, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74,
+ 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x35, 0x0a, 0x06, 0x63, 0x6c, 0x69, 0x65, 0x6e,
+ 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58,
+ 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69,
+ 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x22, 0x90,
+ 0x0d, 0x0a, 0x0a, 0x57, 0x69, 0x66, 0x69, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a,
+ 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
+ 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x16, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x63,
+ 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a,
+ 0x6d, 0x61, 0x63, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x70,
+ 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
+ 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x69, 0x67,
+ 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x02, 0x52, 0x0e, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x65, 0x6e, 0x67,
+ 0x74, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x77, 0x69,
+ 0x64, 0x74, 0x68, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e,
+ 0x65, 0x6c, 0x57, 0x69, 0x64, 0x74, 0x68, 0x12, 0x40, 0x0a, 0x08, 0x72, 0x78, 0x5f, 0x73, 0x74,
+ 0x61, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x53, 0x70, 0x61, 0x63,
+ 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69,
+ 0x66, 0x69, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x52, 0x78, 0x53, 0x74, 0x61, 0x74, 0x73,
+ 0x52, 0x07, 0x72, 0x78, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x40, 0x0a, 0x08, 0x74, 0x78, 0x5f,
+ 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x53, 0x70,
+ 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e,
+ 0x57, 0x69, 0x66, 0x69, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x78, 0x53, 0x74, 0x61,
+ 0x74, 0x73, 0x52, 0x07, 0x74, 0x78, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x61,
+ 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73,
+ 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74,
+ 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x6f, 0x64, 0x65, 0x5f,
+ 0x73, 0x74, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x6f, 0x64, 0x65, 0x53,
+ 0x74, 0x72, 0x12, 0x3d, 0x0a, 0x05, 0x69, 0x66, 0x61, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28,
+ 0x0e, 0x32, 0x27, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44,
+ 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74,
+ 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, 0x05, 0x69, 0x66, 0x61, 0x63,
+ 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x6e, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x03,
+ 0x73, 0x6e, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x73, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x0b, 0x20,
+ 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x73, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x75,
+ 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x6d, 0x61, 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72,
+ 0x65, 0x73, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x75, 0x70, 0x73, 0x74, 0x72,
+ 0x65, 0x61, 0x6d, 0x4d, 0x61, 0x63, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x36, 0x0a,
+ 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x53, 0x70,
+ 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e,
+ 0x57, 0x69, 0x66, 0x69, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x52,
+ 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f,
+ 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65,
+ 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x77, 0x71, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73,
+ 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x77, 0x71, 0x43, 0x68, 0x65, 0x63, 0x6b,
+ 0x73, 0x12, 0x2f, 0x0a, 0x14, 0x73, 0x77, 0x71, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x5f,
+ 0x6e, 0x6f, 0x6e, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x11, 0x73, 0x77, 0x71, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x4e, 0x6f, 0x6e, 0x45, 0x6d, 0x70,
+ 0x74, 0x79, 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x69, 0x62, 0x5f, 0x73, 0x74, 0x65, 0x65, 0x72, 0x5f,
+ 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6d, 0x69, 0x62,
+ 0x53, 0x74, 0x65, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x69,
+ 0x62, 0x5f, 0x73, 0x74, 0x65, 0x65, 0x72, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x13,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6d, 0x69, 0x62, 0x53, 0x74, 0x65, 0x65, 0x72, 0x4d, 0x65,
+ 0x74, 0x68, 0x6f, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x74, 0x6d, 0x5f, 0x72, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x62, 0x74, 0x6d, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x62, 0x74, 0x6d, 0x5f, 0x72,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18,
+ 0x15, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x62, 0x74, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x73, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x1a, 0x94, 0x03, 0x0a, 0x07, 0x52, 0x78,
+ 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x63,
+ 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x04, 0x52, 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x10,
+ 0x0a, 0x03, 0x6e, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6e, 0x73, 0x73,
+ 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x62, 0x70, 0x73, 0x18, 0x08, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x62, 0x70, 0x73, 0x12, 0x10, 0x0a,
+ 0x03, 0x6d, 0x63, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6d, 0x63, 0x73, 0x12,
+ 0x1c, 0x0a, 0x09, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x06, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x09, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x19, 0x0a,
+ 0x08, 0x67, 0x75, 0x61, 0x72, 0x64, 0x5f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x07, 0x67, 0x75, 0x61, 0x72, 0x64, 0x4e, 0x73, 0x12, 0x37, 0x0a, 0x18, 0x61, 0x69, 0x72, 0x74,
+ 0x69, 0x6d, 0x65, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x61, 0x73,
+ 0x74, 0x5f, 0x31, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x52, 0x15, 0x61, 0x69, 0x72, 0x74,
+ 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x73, 0x74, 0x31,
+ 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x63,
+ 0x6b, 0x65, 0x74, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x73, 0x61, 0x6d, 0x70,
+ 0x6c, 0x65, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x36, 0x0a, 0x17, 0x73, 0x61,
+ 0x6d, 0x70, 0x6c, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x72, 0x65,
+ 0x74, 0x72, 0x69, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x73, 0x61, 0x6d,
+ 0x70, 0x6c, 0x65, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x74, 0x72, 0x69,
+ 0x65, 0x64, 0x12, 0x36, 0x0a, 0x17, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x64, 0x5f, 0x70, 0x61,
+ 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x18, 0x0c, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x15, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x64, 0x50, 0x61, 0x63, 0x6b,
+ 0x65, 0x74, 0x73, 0x44, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05,
+ 0x1a, 0xfd, 0x01, 0x0a, 0x07, 0x54, 0x78, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05,
+ 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x62, 0x79, 0x74,
+ 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x79,
+ 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x73, 0x75, 0x63, 0x63, 0x65,
+ 0x73, 0x73, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x6e, 0x73, 0x73, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6e, 0x73, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x61, 0x74,
+ 0x65, 0x5f, 0x6d, 0x62, 0x70, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x61,
+ 0x74, 0x65, 0x4d, 0x62, 0x70, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x63, 0x73, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6d, 0x63, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x62, 0x61, 0x6e, 0x64,
+ 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x62, 0x61, 0x6e,
+ 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x75, 0x61, 0x72, 0x64, 0x5f,
+ 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x75, 0x61, 0x72, 0x64, 0x4e,
+ 0x73, 0x12, 0x37, 0x0a, 0x18, 0x61, 0x69, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x66, 0x72, 0x61,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x31, 0x73, 0x18, 0x09, 0x20,
+ 0x01, 0x28, 0x02, 0x52, 0x15, 0x61, 0x69, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61, 0x63,
+ 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x73, 0x74, 0x31, 0x73, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05,
+ 0x22, 0x3b, 0x0a, 0x09, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x0b, 0x0a,
+ 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x45, 0x54,
+ 0x48, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x46, 0x5f, 0x32, 0x47, 0x48, 0x5a, 0x10, 0x02,
+ 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x46, 0x5f, 0x35, 0x47, 0x48, 0x5a, 0x10, 0x03, 0x22, 0x42, 0x0a,
+ 0x04, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x55, 0x4e,
+ 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x4c, 0x49, 0x45, 0x4e,
+ 0x54, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x45, 0x50, 0x45, 0x41, 0x54, 0x45, 0x52, 0x10,
+ 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x4c, 0x45, 0x52, 0x10,
+ 0x03, 0x22, 0x74, 0x0a, 0x10, 0x57, 0x69, 0x66, 0x69, 0x53, 0x65, 0x74, 0x75, 0x70, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x74,
+ 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x0b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x10,
+ 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50,
+ 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x13, 0x0a, 0x11, 0x57, 0x69, 0x66, 0x69, 0x53,
+ 0x65, 0x74, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x95, 0x02, 0x0a,
+ 0x0e, 0x57, 0x69, 0x66, 0x69, 0x42, 0x61, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12,
+ 0x35, 0x0a, 0x17, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x62, 0x75, 0x73, 0x79, 0x5f, 0x74, 0x69, 0x6d,
+ 0x65, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02,
+ 0x52, 0x14, 0x63, 0x68, 0x61, 0x6e, 0x42, 0x75, 0x73, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x46, 0x72,
+ 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x14, 0x74, 0x78, 0x5f, 0x61, 0x69, 0x72,
+ 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x02, 0x52, 0x11, 0x74, 0x78, 0x41, 0x69, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x46,
+ 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x14, 0x72, 0x78, 0x5f, 0x61, 0x69,
+ 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x11, 0x72, 0x78, 0x41, 0x69, 0x72, 0x54, 0x69, 0x6d, 0x65,
+ 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x16, 0x6f, 0x62, 0x73, 0x73,
+ 0x5f, 0x61, 0x69, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69,
+ 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x13, 0x6f, 0x62, 0x73, 0x73, 0x41, 0x69,
+ 0x72, 0x54, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a,
+ 0x17, 0x65, 0x64, 0x63, 0x63, 0x61, 0x5f, 0x61, 0x69, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f,
+ 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x14,
+ 0x65, 0x64, 0x63, 0x63, 0x61, 0x41, 0x69, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61, 0x63,
+ 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xda, 0x03, 0x0a, 0x0a, 0x57, 0x69, 0x66, 0x69, 0x41, 0x6c, 0x65,
+ 0x72, 0x74, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x74,
+ 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x74,
+ 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x12, 0x27,
+ 0x0a, 0x0f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e,
+ 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c,
+ 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x72, 0x65, 0x73, 0x68,
+ 0x6c, 0x79, 0x5f, 0x66, 0x75, 0x73, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c,
+ 0x66, 0x72, 0x65, 0x73, 0x68, 0x6c, 0x79, 0x46, 0x75, 0x73, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x14,
+ 0x6c, 0x61, 0x6e, 0x5f, 0x65, 0x74, 0x68, 0x5f, 0x73, 0x6c, 0x6f, 0x77, 0x5f, 0x6c, 0x69, 0x6e,
+ 0x6b, 0x5f, 0x31, 0x30, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x6c, 0x61, 0x6e, 0x45,
+ 0x74, 0x68, 0x53, 0x6c, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x31, 0x30, 0x12, 0x30, 0x0a, 0x15,
+ 0x6c, 0x61, 0x6e, 0x5f, 0x65, 0x74, 0x68, 0x5f, 0x73, 0x6c, 0x6f, 0x77, 0x5f, 0x6c, 0x69, 0x6e,
+ 0x6b, 0x5f, 0x31, 0x30, 0x30, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x6c, 0x61, 0x6e,
+ 0x45, 0x74, 0x68, 0x53, 0x6c, 0x6f, 0x77, 0x4c, 0x69, 0x6e, 0x6b, 0x31, 0x30, 0x30, 0x12, 0x35,
+ 0x0a, 0x17, 0x77, 0x61, 0x6e, 0x5f, 0x65, 0x74, 0x68, 0x5f, 0x70, 0x6f, 0x6f, 0x72, 0x5f, 0x63,
+ 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x14, 0x77, 0x61, 0x6e, 0x45, 0x74, 0x68, 0x50, 0x6f, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07, 0x4a, 0x04, 0x08, 0x07, 0x10,
+ 0x08, 0x4a, 0x04, 0x08, 0x08, 0x10, 0x09, 0x4a, 0x04, 0x08, 0x09, 0x10, 0x0a, 0x52, 0x2b, 0x69,
+ 0x6e, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x32, 0x67, 0x68, 0x7a,
+ 0x5f, 0x61, 0x6e, 0x74, 0x65, 0x6e, 0x6e, 0x61, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72,
+ 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x31, 0x35, 0x64, 0x62, 0x52, 0x2b, 0x69, 0x6e, 0x63, 0x6f,
+ 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x35, 0x67, 0x68, 0x7a, 0x5f, 0x61, 0x6e,
+ 0x74, 0x65, 0x6e, 0x6e, 0x61, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e,
+ 0x63, 0x65, 0x5f, 0x31, 0x35, 0x64, 0x62, 0x52, 0x23, 0x70, 0x6f, 0x6f, 0x72, 0x5f, 0x32, 0x67,
+ 0x68, 0x7a, 0x5f, 0x61, 0x6e, 0x74, 0x65, 0x6e, 0x6e, 0x61, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x66,
+ 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x38, 0x30, 0x64, 0x62, 0x52, 0x23, 0x70, 0x6f,
+ 0x6f, 0x72, 0x5f, 0x35, 0x67, 0x68, 0x7a, 0x5f, 0x61, 0x6e, 0x74, 0x65, 0x6e, 0x6e, 0x61, 0x65,
+ 0x5f, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x38, 0x30, 0x64,
+ 0x62, 0x22, 0xb9, 0x06, 0x0a, 0x15, 0x57, 0x69, 0x66, 0x69, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61,
+ 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x0b, 0x64,
+ 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x1d, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65,
+ 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52,
+ 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x41, 0x0a, 0x0c, 0x64,
+ 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x1e, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44,
+ 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74,
+ 0x65, 0x52, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x34,
+ 0x0a, 0x16, 0x63, 0x61, 0x70, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c,
+ 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14,
+ 0x63, 0x61, 0x70, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x45, 0x6e, 0x61,
+ 0x62, 0x6c, 0x65, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x77, 0x61, 0x6e,
+ 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0xeb, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x0e, 0x69, 0x70, 0x76, 0x34, 0x57, 0x61, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12,
+ 0x25, 0x0a, 0x0e, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x72, 0x61, 0x74,
+ 0x65, 0x18, 0xec, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x70, 0x69, 0x6e, 0x67, 0x44, 0x72,
+ 0x6f, 0x70, 0x52, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x6c,
+ 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x6d, 0x73, 0x18, 0xed, 0x07, 0x20, 0x01, 0x28, 0x02,
+ 0x52, 0x0d, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4d, 0x73, 0x12,
+ 0x2e, 0x0a, 0x13, 0x64, 0x69, 0x73, 0x68, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x72, 0x6f,
+ 0x70, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0xf4, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x64,
+ 0x69, 0x73, 0x68, 0x50, 0x69, 0x6e, 0x67, 0x44, 0x72, 0x6f, 0x70, 0x52, 0x61, 0x74, 0x65, 0x12,
+ 0x30, 0x0a, 0x14, 0x64, 0x69, 0x73, 0x68, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x61, 0x74,
+ 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x6d, 0x73, 0x18, 0xf5, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x11,
+ 0x64, 0x69, 0x73, 0x68, 0x50, 0x69, 0x6e, 0x67, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4d,
+ 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x70, 0x6f, 0x70, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x72,
+ 0x6f, 0x70, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0xf6, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f,
+ 0x70, 0x6f, 0x70, 0x50, 0x69, 0x6e, 0x67, 0x44, 0x72, 0x6f, 0x70, 0x52, 0x61, 0x74, 0x65, 0x12,
+ 0x2e, 0x0a, 0x13, 0x70, 0x6f, 0x70, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x61, 0x74, 0x65,
+ 0x6e, 0x63, 0x79, 0x5f, 0x6d, 0x73, 0x18, 0xf7, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x70,
+ 0x6f, 0x70, 0x50, 0x69, 0x6e, 0x67, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4d, 0x73, 0x12,
+ 0x4c, 0x0a, 0x0e, 0x72, 0x66, 0x5f, 0x32, 0x67, 0x68, 0x7a, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75,
+ 0x73, 0x18, 0xf0, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65,
+ 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66,
+ 0x69, 0x42, 0x61, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x02, 0x18, 0x01, 0x52,
+ 0x0c, 0x72, 0x66, 0x32, 0x67, 0x68, 0x7a, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x4c, 0x0a,
+ 0x0e, 0x72, 0x66, 0x5f, 0x35, 0x67, 0x68, 0x7a, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18,
+ 0xf1, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e,
+ 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x42,
+ 0x61, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0c, 0x72,
+ 0x66, 0x35, 0x67, 0x68, 0x7a, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x36, 0x0a, 0x06, 0x61,
+ 0x6c, 0x65, 0x72, 0x74, 0x73, 0x18, 0xf2, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x53,
+ 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
+ 0x2e, 0x57, 0x69, 0x66, 0x69, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x73, 0x52, 0x06, 0x61, 0x6c, 0x65,
+ 0x72, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x61, 0x76, 0x69, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x18, 0xf3, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x41, 0x76, 0x69,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x05, 0x10,
+ 0x06, 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07, 0x4a, 0x04, 0x08, 0x07, 0x10, 0x08, 0x4a, 0x06, 0x08,
+ 0xe9, 0x07, 0x10, 0xea, 0x07, 0x4a, 0x06, 0x08, 0xea, 0x07, 0x10, 0xeb, 0x07, 0x4a, 0x06, 0x08,
+ 0xee, 0x07, 0x10, 0xef, 0x07, 0x4a, 0x06, 0x08, 0xef, 0x07, 0x10, 0xf0, 0x07, 0x22, 0x56, 0x0a,
+ 0x17, 0x57, 0x69, 0x66, 0x69, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74,
+ 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x6c,
+ 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x53, 0x70,
+ 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e,
+ 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6c,
+ 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x22, 0x8e, 0x01, 0x0a, 0x18, 0x57, 0x69, 0x66, 0x69, 0x41, 0x75,
+ 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x12, 0x38, 0x0a, 0x04, 0x77, 0x69, 0x66, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x24, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65,
+ 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x04, 0x77, 0x69, 0x66, 0x69, 0x12, 0x38, 0x0a, 0x04,
+ 0x64, 0x69, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x53, 0x70, 0x61,
+ 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43,
+ 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x52, 0x04, 0x64, 0x69, 0x73, 0x68, 0x22, 0x32, 0x0a, 0x17, 0x57, 0x69, 0x66, 0x69, 0x41, 0x63,
+ 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x45, 0x76, 0x65, 0x6e,
+ 0x74, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x69, 0x73, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x06, 0x64, 0x69, 0x73, 0x68, 0x49, 0x64, 0x22, 0x2b, 0x0a, 0x10, 0x57, 0x69,
+ 0x66, 0x69, 0x4e, 0x65, 0x77, 0x50, 0x65, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x17,
+ 0x0a, 0x07, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x06, 0x70, 0x65, 0x65, 0x72, 0x49, 0x64, 0x22, 0xb1, 0x07, 0x0a, 0x0b, 0x50, 0x69, 0x6e, 0x67,
+ 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6c, 0x61, 0x74, 0x65, 0x6e,
+ 0x63, 0x79, 0x5f, 0x6d, 0x65, 0x61, 0x6e, 0x5f, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02,
+ 0x52, 0x0d, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4d, 0x65, 0x61, 0x6e, 0x4d, 0x73, 0x12,
+ 0x2a, 0x0a, 0x11, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x73, 0x74, 0x64, 0x64, 0x65,
+ 0x76, 0x5f, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x6c, 0x61, 0x74, 0x65,
+ 0x6e, 0x63, 0x79, 0x53, 0x74, 0x64, 0x64, 0x65, 0x76, 0x4d, 0x73, 0x12, 0x2b, 0x0a, 0x12, 0x6c,
+ 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x6d, 0x65, 0x61, 0x6e, 0x5f, 0x6d, 0x73, 0x5f, 0x35,
+ 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79,
+ 0x4d, 0x65, 0x61, 0x6e, 0x4d, 0x73, 0x35, 0x6d, 0x12, 0x2b, 0x0a, 0x12, 0x6c, 0x61, 0x74, 0x65,
+ 0x6e, 0x63, 0x79, 0x5f, 0x6d, 0x65, 0x61, 0x6e, 0x5f, 0x6d, 0x73, 0x5f, 0x31, 0x68, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4d, 0x65, 0x61,
+ 0x6e, 0x4d, 0x73, 0x31, 0x68, 0x12, 0x2b, 0x0a, 0x12, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79,
+ 0x5f, 0x6d, 0x65, 0x61, 0x6e, 0x5f, 0x6d, 0x73, 0x5f, 0x31, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28,
+ 0x02, 0x52, 0x0f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4d, 0x65, 0x61, 0x6e, 0x4d, 0x73,
+ 0x31, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18,
+ 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x64, 0x72, 0x6f, 0x70, 0x52, 0x61, 0x74, 0x65, 0x12,
+ 0x20, 0x0a, 0x0c, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x35, 0x6d, 0x18,
+ 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x64, 0x72, 0x6f, 0x70, 0x52, 0x61, 0x74, 0x65, 0x35,
+ 0x6d, 0x12, 0x20, 0x0a, 0x0c, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x31,
+ 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x64, 0x72, 0x6f, 0x70, 0x52, 0x61, 0x74,
+ 0x65, 0x31, 0x68, 0x12, 0x20, 0x0a, 0x0c, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x72, 0x61, 0x74, 0x65,
+ 0x5f, 0x31, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x64, 0x72, 0x6f, 0x70, 0x52,
+ 0x61, 0x74, 0x65, 0x31, 0x64, 0x12, 0x3b, 0x0a, 0x1a, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73,
+ 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x75, 0x63, 0x63,
+ 0x65, 0x73, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x17, 0x73, 0x65, 0x63, 0x6f, 0x6e,
+ 0x64, 0x73, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x53, 0x75, 0x63, 0x63, 0x65,
+ 0x73, 0x73, 0x12, 0x3e, 0x0a, 0x1c, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x73, 0x69,
+ 0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x31, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x61,
+ 0x67, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x02, 0x52, 0x18, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64,
+ 0x73, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x31, 0x73, 0x4f, 0x75, 0x74, 0x61,
+ 0x67, 0x65, 0x12, 0x3e, 0x0a, 0x1c, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x73, 0x69,
+ 0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x32, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x61,
+ 0x67, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x02, 0x52, 0x18, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64,
+ 0x73, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x32, 0x73, 0x4f, 0x75, 0x74, 0x61,
+ 0x67, 0x65, 0x12, 0x3e, 0x0a, 0x1c, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x73, 0x69,
+ 0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x35, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x61,
+ 0x67, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x02, 0x52, 0x18, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64,
+ 0x73, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x35, 0x73, 0x4f, 0x75, 0x74, 0x61,
+ 0x67, 0x65, 0x12, 0x40, 0x0a, 0x1d, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x73, 0x69,
+ 0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x31, 0x35, 0x73, 0x5f, 0x6f, 0x75, 0x74,
+ 0x61, 0x67, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x02, 0x52, 0x19, 0x73, 0x65, 0x63, 0x6f, 0x6e,
+ 0x64, 0x73, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x31, 0x35, 0x73, 0x4f, 0x75,
+ 0x74, 0x61, 0x67, 0x65, 0x12, 0x40, 0x0a, 0x1d, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f,
+ 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x36, 0x30, 0x73, 0x5f, 0x6f,
+ 0x75, 0x74, 0x61, 0x67, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x02, 0x52, 0x19, 0x73, 0x65, 0x63,
+ 0x6f, 0x6e, 0x64, 0x73, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x36, 0x30, 0x73,
+ 0x4f, 0x75, 0x74, 0x61, 0x67, 0x65, 0x12, 0x42, 0x0a, 0x1e, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64,
+ 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x33, 0x30, 0x30,
+ 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x61, 0x67, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x02, 0x52, 0x1a,
+ 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x73, 0x74,
+ 0x33, 0x30, 0x30, 0x73, 0x4f, 0x75, 0x74, 0x61, 0x67, 0x65, 0x12, 0x29, 0x0a, 0x11, 0x68, 0x61,
+ 0x70, 0x70, 0x79, 0x5f, 0x68, 0x6f, 0x75, 0x72, 0x73, 0x5f, 0x31, 0x73, 0x5f, 0x31, 0x64, 0x18,
+ 0x0d, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x68, 0x61, 0x70, 0x70, 0x79, 0x48, 0x6f, 0x75, 0x72,
+ 0x73, 0x31, 0x73, 0x31, 0x64, 0x12, 0x29, 0x0a, 0x11, 0x68, 0x61, 0x70, 0x70, 0x79, 0x5f, 0x68,
+ 0x6f, 0x75, 0x72, 0x73, 0x5f, 0x32, 0x73, 0x5f, 0x31, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x02,
+ 0x52, 0x0e, 0x68, 0x61, 0x70, 0x70, 0x79, 0x48, 0x6f, 0x75, 0x72, 0x73, 0x32, 0x73, 0x31, 0x64,
+ 0x12, 0x29, 0x0a, 0x11, 0x68, 0x61, 0x70, 0x70, 0x79, 0x5f, 0x68, 0x6f, 0x75, 0x72, 0x73, 0x5f,
+ 0x35, 0x73, 0x5f, 0x31, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x68, 0x61, 0x70,
+ 0x70, 0x79, 0x48, 0x6f, 0x75, 0x72, 0x73, 0x35, 0x73, 0x31, 0x64, 0x22, 0x1b, 0x0a, 0x19, 0x57,
+ 0x69, 0x66, 0x69, 0x47, 0x65, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
+ 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x58, 0x0a, 0x1a, 0x57, 0x69, 0x66, 0x69,
+ 0x47, 0x65, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e,
+ 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65,
+ 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x50, 0x69, 0x6e,
+ 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e,
+ 0x65, 0x74, 0x22, 0x1b, 0x0a, 0x19, 0x57, 0x69, 0x66, 0x69, 0x47, 0x65, 0x74, 0x44, 0x69, 0x61,
+ 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22,
+ 0xa8, 0x01, 0x0a, 0x1a, 0x57, 0x69, 0x66, 0x69, 0x47, 0x65, 0x74, 0x44, 0x69, 0x61, 0x67, 0x6e,
+ 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45,
+ 0x0a, 0x0c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x73, 0x63, 0x61, 0x6e, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50,
+ 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x53, 0x63, 0x61,
+ 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x0b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72,
+ 0x6b, 0x53, 0x63, 0x61, 0x6e, 0x12, 0x43, 0x0a, 0x0d, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x6e, 0x65,
+ 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x53,
+ 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
+ 0x2e, 0x57, 0x69, 0x66, 0x69, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x0c, 0x77, 0x69,
+ 0x66, 0x69, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x22, 0xf2, 0x03, 0x0a, 0x0f, 0x57,
+ 0x69, 0x66, 0x69, 0x53, 0x63, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x46,
+ 0x0a, 0x08, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x2a, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65,
+ 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x53, 0x63, 0x61, 0x6e, 0x52, 0x65, 0x73,
+ 0x75, 0x6c, 0x74, 0x73, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x08, 0x6e, 0x65,
+ 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x1a, 0x96, 0x03, 0x0a, 0x07, 0x4e, 0x65, 0x74, 0x77, 0x6f,
+ 0x72, 0x6b, 0x12, 0x49, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e,
+ 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x53, 0x63, 0x61, 0x6e, 0x52,
+ 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x53,
+ 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x12, 0x0a,
+ 0x04, 0x73, 0x73, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x73, 0x69,
+ 0x64, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x73, 0x73, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x05, 0x62, 0x73, 0x73, 0x69, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x72, 0x65, 0x71, 0x75,
+ 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x67, 0x68, 0x7a, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
+ 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x47, 0x68, 0x7a, 0x12, 0x18, 0x0a, 0x07,
+ 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x63,
+ 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c,
+ 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x64, 0x62, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x0e, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x44, 0x62, 0x6d,
+ 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f,
+ 0x64, 0x62, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6e, 0x6f, 0x69, 0x73, 0x65,
+ 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x44, 0x62, 0x6d, 0x12, 0x2c, 0x0a, 0x12, 0x68, 0x61, 0x73, 0x5f,
+ 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x08,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x68, 0x61, 0x73, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74,
+ 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x20, 0x0a, 0x0c, 0x70, 0x68, 0x79, 0x5f, 0x6d, 0x6f,
+ 0x64, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x68,
+ 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x72, 0x22, 0x35, 0x0a, 0x06, 0x53, 0x6f, 0x75, 0x72,
+ 0x63, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12,
+ 0x0f, 0x0a, 0x0b, 0x53, 0x43, 0x41, 0x4e, 0x5f, 0x32, 0x5f, 0x34, 0x47, 0x48, 0x5a, 0x10, 0x01,
+ 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x43, 0x41, 0x4e, 0x5f, 0x35, 0x47, 0x48, 0x5a, 0x10, 0x02, 0x22,
+ 0xde, 0x01, 0x0a, 0x0b, 0x57, 0x69, 0x66, 0x69, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12,
+ 0x37, 0x0a, 0x04, 0x62, 0x61, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e,
+ 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
+ 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x42, 0x61,
+ 0x6e, 0x64, 0x52, 0x04, 0x62, 0x61, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x73, 0x69, 0x64,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x73, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07,
+ 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63,
+ 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x2e, 0x0a, 0x13, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70,
+ 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x11, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54,
+ 0x79, 0x70, 0x65, 0x53, 0x74, 0x72, 0x22, 0x38, 0x0a, 0x04, 0x42, 0x61, 0x6e, 0x64, 0x12, 0x10,
+ 0x0a, 0x0c, 0x57, 0x49, 0x46, 0x49, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00,
+ 0x12, 0x0f, 0x0a, 0x0b, 0x57, 0x49, 0x46, 0x49, 0x5f, 0x32, 0x5f, 0x34, 0x47, 0x48, 0x5a, 0x10,
+ 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x57, 0x49, 0x46, 0x49, 0x5f, 0x35, 0x47, 0x48, 0x5a, 0x10, 0x02,
+ 0x22, 0x83, 0x05, 0x0a, 0x13, 0x57, 0x69, 0x66, 0x69, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74,
+ 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x5e, 0x0a, 0x14, 0x66, 0x61, 0x63, 0x74,
+ 0x6f, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x5f, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e,
+ 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x50,
+ 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x45,
+ 0x76, 0x65, 0x6e, 0x74, 0x52, 0x12, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73,
+ 0x65, 0x74, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x12, 0x67, 0x0a, 0x19, 0x66, 0x61, 0x63, 0x74,
+ 0x6f, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6c, 0x75, 0x67, 0x5f, 0x75,
+ 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x53, 0x70,
+ 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e,
+ 0x57, 0x69, 0x66, 0x69, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x53, 0x74,
+ 0x61, 0x74, 0x73, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x16, 0x66, 0x61, 0x63, 0x74, 0x6f,
+ 0x72, 0x79, 0x52, 0x65, 0x73, 0x65, 0x74, 0x50, 0x6c, 0x75, 0x67, 0x55, 0x6e, 0x70, 0x6c, 0x75,
+ 0x67, 0x12, 0x60, 0x0a, 0x15, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x73,
+ 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x2c, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65,
+ 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74,
+ 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x13,
+ 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d,
+ 0x61, 0x6e, 0x64, 0x12, 0x7d, 0x0a, 0x25, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x72,
+ 0x65, 0x73, 0x65, 0x74, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x6c, 0x6f, 0x61, 0x64,
+ 0x5f, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e,
+ 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x50, 0x65, 0x72, 0x73, 0x69,
+ 0x73, 0x74, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74,
+ 0x52, 0x20, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x65, 0x74, 0x46, 0x61,
+ 0x69, 0x6c, 0x65, 0x64, 0x4c, 0x6f, 0x61, 0x64, 0x57, 0x69, 0x66, 0x69, 0x43, 0x6f, 0x6e, 0x66,
+ 0x69, 0x67, 0x12, 0x6b, 0x0a, 0x1b, 0x72, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x5f, 0x66, 0x72, 0x6f,
+ 0x6d, 0x5f, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74,
+ 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58,
+ 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69,
+ 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x2e,
+ 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x18, 0x72, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x46, 0x72, 0x6f,
+ 0x6d, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x1a,
+ 0x55, 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e,
+ 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x36,
+ 0x0a, 0x17, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x64, 0x5f,
+ 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52,
+ 0x15, 0x6c, 0x61, 0x73, 0x74, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x64, 0x54, 0x69, 0x6d,
+ 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x5e, 0x0a, 0x1e, 0x57, 0x69, 0x66, 0x69, 0x47, 0x65,
+ 0x74, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74,
+ 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58,
+ 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69,
+ 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52,
+ 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x22, 0xa9, 0x5c, 0x0a, 0x21, 0x73, 0x74, 0x61, 0x72, 0x6c,
+ 0x69, 0x6e, 0x6b, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x68, 0x6f, 0x75, 0x72, 0x6c,
+ 0x79, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x76, 0x32, 0x12, 0x2c, 0x0a, 0x02,
+ 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e,
+ 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x02, 0x69, 0x64, 0x12, 0x43, 0x0a, 0x0e, 0x74, 0x69,
+ 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65,
+ 0x52, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x44, 0x61, 0x74, 0x65, 0x12,
+ 0x43, 0x0a, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x68, 0x6f, 0x75,
+ 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32,
+ 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
+ 0x48, 0x6f, 0x75, 0x72, 0x12, 0x3a, 0x0a, 0x0a, 0x73, 0x79, 0x73, 0x5f, 0x68, 0x77, 0x5f, 0x67,
+ 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33,
+ 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x73, 0x79, 0x73, 0x48, 0x77, 0x47, 0x65, 0x6e,
+ 0x12, 0x33, 0x0a, 0x06, 0x73, 0x79, 0x73, 0x5f, 0x73, 0x77, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05,
+ 0x73, 0x79, 0x73, 0x53, 0x77, 0x12, 0x3d, 0x0a, 0x0b, 0x73, 0x79, 0x73, 0x5f, 0x63, 0x6f, 0x75,
+ 0x6e, 0x74, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72,
+ 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x73, 0x79, 0x73, 0x43, 0x6f, 0x75,
+ 0x6e, 0x74, 0x72, 0x79, 0x12, 0x38, 0x0a, 0x0a, 0x73, 0x79, 0x73, 0x5f, 0x69, 0x73, 0x5f, 0x64,
+ 0x65, 0x76, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56,
+ 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x73, 0x79, 0x73, 0x49, 0x73, 0x44, 0x65, 0x76, 0x12, 0x40,
+ 0x0a, 0x0d, 0x73, 0x79, 0x73, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x5f, 0x66, 0x64, 0x73, 0x18,
+ 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61,
+ 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x73, 0x79, 0x73, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x46, 0x64, 0x73,
+ 0x12, 0x3f, 0x0a, 0x0d, 0x73, 0x79, 0x73, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x75, 0x73, 0x61, 0x67,
+ 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56,
+ 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x73, 0x79, 0x73, 0x43, 0x70, 0x75, 0x55, 0x73, 0x61, 0x67,
+ 0x65, 0x12, 0x42, 0x0a, 0x0f, 0x73, 0x79, 0x73, 0x5f, 0x6d, 0x65, 0x6d, 0x5f, 0x66, 0x72, 0x65,
+ 0x65, 0x5f, 0x6b, 0x62, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f,
+ 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x73, 0x79, 0x73, 0x4d, 0x65, 0x6d, 0x46,
+ 0x72, 0x65, 0x65, 0x4b, 0x62, 0x12, 0x40, 0x0a, 0x0d, 0x73, 0x79, 0x73, 0x5f, 0x62, 0x6f, 0x6f,
+ 0x74, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49,
+ 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x73, 0x79, 0x73, 0x42, 0x6f,
+ 0x6f, 0x74, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x4c, 0x0a, 0x14, 0x73, 0x79, 0x73, 0x5f, 0x70,
+ 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x18,
+ 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75,
+ 0x65, 0x52, 0x12, 0x73, 0x79, 0x73, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+ 0x45, 0x71, 0x75, 0x61, 0x6c, 0x12, 0x4a, 0x0a, 0x12, 0x73, 0x79, 0x73, 0x5f, 0x75, 0x70, 0x74,
+ 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
+ 0x10, 0x73, 0x79, 0x73, 0x55, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64,
+ 0x73, 0x12, 0x56, 0x0a, 0x19, 0x73, 0x79, 0x73, 0x5f, 0x61, 0x6e, 0x74, 0x69, 0x5f, 0x72, 0x6f,
+ 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0e,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75,
+ 0x65, 0x52, 0x16, 0x73, 0x79, 0x73, 0x41, 0x6e, 0x74, 0x69, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61,
+ 0x63, 0x6b, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x4c, 0x0a, 0x13, 0x72, 0x61, 0x64,
+ 0x69, 0x6f, 0x73, 0x5f, 0x32, 0x67, 0x68, 0x7a, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
+ 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56,
+ 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x32, 0x67, 0x68, 0x7a,
+ 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x56, 0x0a, 0x19, 0x72, 0x61, 0x64, 0x69, 0x6f,
+ 0x73, 0x5f, 0x32, 0x67, 0x68, 0x7a, 0x5f, 0x61, 0x6e, 0x74, 0x65, 0x6e, 0x6e, 0x61, 0x31, 0x5f,
+ 0x72, 0x73, 0x73, 0x69, 0x18, 0x65, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f,
+ 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x16, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x32,
+ 0x67, 0x68, 0x7a, 0x41, 0x6e, 0x74, 0x65, 0x6e, 0x6e, 0x61, 0x31, 0x52, 0x73, 0x73, 0x69, 0x12,
+ 0x56, 0x0a, 0x19, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x32, 0x67, 0x68, 0x7a, 0x5f, 0x61,
+ 0x6e, 0x74, 0x65, 0x6e, 0x6e, 0x61, 0x32, 0x5f, 0x72, 0x73, 0x73, 0x69, 0x18, 0x66, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
+ 0x16, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x32, 0x67, 0x68, 0x7a, 0x41, 0x6e, 0x74, 0x65, 0x6e,
+ 0x6e, 0x61, 0x32, 0x52, 0x73, 0x73, 0x69, 0x12, 0x56, 0x0a, 0x19, 0x72, 0x61, 0x64, 0x69, 0x6f,
+ 0x73, 0x5f, 0x32, 0x67, 0x68, 0x7a, 0x5f, 0x61, 0x6e, 0x74, 0x65, 0x6e, 0x6e, 0x61, 0x33, 0x5f,
+ 0x72, 0x73, 0x73, 0x69, 0x18, 0x67, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f,
+ 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x16, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x32,
+ 0x67, 0x68, 0x7a, 0x41, 0x6e, 0x74, 0x65, 0x6e, 0x6e, 0x61, 0x33, 0x52, 0x73, 0x73, 0x69, 0x12,
+ 0x53, 0x0a, 0x17, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x32, 0x67, 0x68, 0x7a, 0x5f, 0x69,
+ 0x66, 0x61, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x68, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x14,
+ 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x32, 0x67, 0x68, 0x7a, 0x49, 0x66, 0x61, 0x63, 0x65, 0x43,
+ 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x5f, 0x0a, 0x1e, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x32,
+ 0x67, 0x68, 0x7a, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x62, 0x75, 0x73, 0x79, 0x5f, 0x66, 0x72,
+ 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x69, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46,
+ 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1a, 0x72, 0x61, 0x64, 0x69, 0x6f,
+ 0x73, 0x32, 0x67, 0x68, 0x7a, 0x43, 0x68, 0x61, 0x6e, 0x42, 0x75, 0x73, 0x79, 0x46, 0x72, 0x61,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x58, 0x0a, 0x1a, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f,
+ 0x32, 0x67, 0x68, 0x7a, 0x5f, 0x65, 0x64, 0x63, 0x63, 0x61, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74,
+ 0x69, 0x6f, 0x6e, 0x18, 0x6a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61,
+ 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x17, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x32, 0x67,
+ 0x68, 0x7a, 0x45, 0x64, 0x63, 0x63, 0x61, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12,
+ 0x6b, 0x0a, 0x24, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x32, 0x67, 0x68, 0x7a, 0x5f, 0x6f,
+ 0x76, 0x65, 0x72, 0x6c, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x73, 0x73, 0x5f, 0x66,
+ 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x6b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
+ 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x20, 0x72, 0x61, 0x64, 0x69,
+ 0x6f, 0x73, 0x32, 0x67, 0x68, 0x7a, 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x61, 0x70, 0x70, 0x69, 0x6e,
+ 0x67, 0x42, 0x73, 0x73, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x14,
+ 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x32, 0x67, 0x68, 0x7a, 0x5f, 0x72, 0x78, 0x5f, 0x62,
+ 0x79, 0x74, 0x65, 0x73, 0x18, 0x6c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e,
+ 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73,
+ 0x32, 0x67, 0x68, 0x7a, 0x52, 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x51, 0x0a, 0x16, 0x72,
+ 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x32, 0x67, 0x68, 0x7a, 0x5f, 0x72, 0x78, 0x5f, 0x70, 0x61,
+ 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x6d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49,
+ 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x72, 0x61, 0x64, 0x69, 0x6f,
+ 0x73, 0x32, 0x67, 0x68, 0x7a, 0x52, 0x78, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x4f,
+ 0x0a, 0x15, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x32, 0x67, 0x68, 0x7a, 0x5f, 0x72, 0x78,
+ 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x6e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
+ 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, 0x72, 0x61, 0x64,
+ 0x69, 0x6f, 0x73, 0x32, 0x67, 0x68, 0x7a, 0x52, 0x78, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12,
+ 0x5a, 0x0a, 0x1b, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x32, 0x67, 0x68, 0x7a, 0x5f, 0x72,
+ 0x78, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x6f,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c,
+ 0x75, 0x65, 0x52, 0x17, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x32, 0x67, 0x68, 0x7a, 0x52, 0x78,
+ 0x46, 0x72, 0x61, 0x6d, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x62, 0x0a, 0x20, 0x72,
+ 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x32, 0x67, 0x68, 0x7a, 0x5f, 0x72, 0x78, 0x5f, 0x70, 0x61,
+ 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18,
+ 0x70, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c,
+ 0x75, 0x65, 0x52, 0x1b, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x32, 0x67, 0x68, 0x7a, 0x52, 0x78,
+ 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x61, 0x74, 0x65, 0x12,
+ 0x61, 0x0a, 0x1f, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x32, 0x67, 0x68, 0x7a, 0x5f, 0x72,
+ 0x78, 0x5f, 0x61, 0x69, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69,
+ 0x6f, 0x6e, 0x18, 0x71, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74,
+ 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1b, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x32, 0x67, 0x68,
+ 0x7a, 0x52, 0x78, 0x41, 0x69, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69,
+ 0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x14, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x32, 0x67, 0x68,
+ 0x7a, 0x5f, 0x74, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x72, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11,
+ 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x32, 0x67, 0x68, 0x7a, 0x54, 0x78, 0x42, 0x79, 0x74, 0x65,
+ 0x73, 0x12, 0x51, 0x0a, 0x16, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x32, 0x67, 0x68, 0x7a,
+ 0x5f, 0x74, 0x78, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x73, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
+ 0x13, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x32, 0x67, 0x68, 0x7a, 0x54, 0x78, 0x50, 0x61, 0x63,
+ 0x6b, 0x65, 0x74, 0x73, 0x12, 0x4f, 0x0a, 0x15, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x32,
+ 0x67, 0x68, 0x7a, 0x5f, 0x74, 0x78, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x74, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75,
+ 0x65, 0x52, 0x12, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x32, 0x67, 0x68, 0x7a, 0x54, 0x78, 0x45,
+ 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x62, 0x0a, 0x20, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f,
+ 0x32, 0x67, 0x68, 0x7a, 0x5f, 0x74, 0x78, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x65,
+ 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x75, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1b, 0x72, 0x61,
+ 0x64, 0x69, 0x6f, 0x73, 0x32, 0x67, 0x68, 0x7a, 0x54, 0x78, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74,
+ 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x61, 0x74, 0x65, 0x12, 0x61, 0x0a, 0x1f, 0x72, 0x61, 0x64,
+ 0x69, 0x6f, 0x73, 0x5f, 0x32, 0x67, 0x68, 0x7a, 0x5f, 0x74, 0x78, 0x5f, 0x61, 0x69, 0x72, 0x74,
+ 0x69, 0x6d, 0x65, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x76, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
+ 0x1b, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x32, 0x67, 0x68, 0x7a, 0x54, 0x78, 0x41, 0x69, 0x72,
+ 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4c, 0x0a, 0x13,
+ 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x35, 0x67, 0x68, 0x7a, 0x5f, 0x63, 0x68, 0x61, 0x6e,
+ 0x6e, 0x65, 0x6c, 0x18, 0x77, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74,
+ 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x35,
+ 0x67, 0x68, 0x7a, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x56, 0x0a, 0x19, 0x72, 0x61,
+ 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x35, 0x67, 0x68, 0x7a, 0x5f, 0x61, 0x6e, 0x74, 0x65, 0x6e, 0x6e,
+ 0x61, 0x31, 0x5f, 0x72, 0x73, 0x73, 0x69, 0x18, 0x78, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
+ 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x16, 0x72, 0x61, 0x64, 0x69,
+ 0x6f, 0x73, 0x35, 0x67, 0x68, 0x7a, 0x41, 0x6e, 0x74, 0x65, 0x6e, 0x6e, 0x61, 0x31, 0x52, 0x73,
+ 0x73, 0x69, 0x12, 0x56, 0x0a, 0x19, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x35, 0x67, 0x68,
+ 0x7a, 0x5f, 0x61, 0x6e, 0x74, 0x65, 0x6e, 0x6e, 0x61, 0x32, 0x5f, 0x72, 0x73, 0x73, 0x69, 0x18,
+ 0x79, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c,
+ 0x75, 0x65, 0x52, 0x16, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x35, 0x67, 0x68, 0x7a, 0x41, 0x6e,
+ 0x74, 0x65, 0x6e, 0x6e, 0x61, 0x32, 0x52, 0x73, 0x73, 0x69, 0x12, 0x56, 0x0a, 0x19, 0x72, 0x61,
+ 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x35, 0x67, 0x68, 0x7a, 0x5f, 0x61, 0x6e, 0x74, 0x65, 0x6e, 0x6e,
+ 0x61, 0x33, 0x5f, 0x72, 0x73, 0x73, 0x69, 0x18, 0x7a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
+ 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x16, 0x72, 0x61, 0x64, 0x69,
+ 0x6f, 0x73, 0x35, 0x67, 0x68, 0x7a, 0x41, 0x6e, 0x74, 0x65, 0x6e, 0x6e, 0x61, 0x33, 0x52, 0x73,
+ 0x73, 0x69, 0x12, 0x53, 0x0a, 0x17, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x35, 0x67, 0x68,
+ 0x7a, 0x5f, 0x69, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x7b, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75,
+ 0x65, 0x52, 0x14, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x35, 0x67, 0x68, 0x7a, 0x49, 0x66, 0x61,
+ 0x63, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x5f, 0x0a, 0x1e, 0x72, 0x61, 0x64, 0x69, 0x6f,
+ 0x73, 0x5f, 0x35, 0x67, 0x68, 0x7a, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x62, 0x75, 0x73, 0x79,
+ 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x7c, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1a, 0x72, 0x61,
+ 0x64, 0x69, 0x6f, 0x73, 0x35, 0x67, 0x68, 0x7a, 0x43, 0x68, 0x61, 0x6e, 0x42, 0x75, 0x73, 0x79,
+ 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x58, 0x0a, 0x1a, 0x72, 0x61, 0x64, 0x69,
+ 0x6f, 0x73, 0x5f, 0x35, 0x67, 0x68, 0x7a, 0x5f, 0x65, 0x64, 0x63, 0x63, 0x61, 0x5f, 0x66, 0x72,
+ 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x7d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46,
+ 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x17, 0x72, 0x61, 0x64, 0x69, 0x6f,
+ 0x73, 0x35, 0x67, 0x68, 0x7a, 0x45, 0x64, 0x63, 0x63, 0x61, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69,
+ 0x6f, 0x6e, 0x12, 0x6b, 0x0a, 0x24, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x35, 0x67, 0x68,
+ 0x7a, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x73,
+ 0x73, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x7e, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x20, 0x72,
+ 0x61, 0x64, 0x69, 0x6f, 0x73, 0x35, 0x67, 0x68, 0x7a, 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x61, 0x70,
+ 0x70, 0x69, 0x6e, 0x67, 0x42, 0x73, 0x73, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12,
+ 0x4d, 0x0a, 0x14, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x35, 0x67, 0x68, 0x7a, 0x5f, 0x72,
+ 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x7f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
+ 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x72, 0x61, 0x64,
+ 0x69, 0x6f, 0x73, 0x35, 0x67, 0x68, 0x7a, 0x52, 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x52,
+ 0x0a, 0x16, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x35, 0x67, 0x68, 0x7a, 0x5f, 0x72, 0x78,
+ 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x80, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x72,
+ 0x61, 0x64, 0x69, 0x6f, 0x73, 0x35, 0x67, 0x68, 0x7a, 0x52, 0x78, 0x50, 0x61, 0x63, 0x6b, 0x65,
+ 0x74, 0x73, 0x12, 0x50, 0x0a, 0x15, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x35, 0x67, 0x68,
+ 0x7a, 0x5f, 0x72, 0x78, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x81, 0x01, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65,
+ 0x52, 0x12, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x35, 0x67, 0x68, 0x7a, 0x52, 0x78, 0x45, 0x72,
+ 0x72, 0x6f, 0x72, 0x73, 0x12, 0x5b, 0x0a, 0x1b, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x35,
+ 0x67, 0x68, 0x7a, 0x5f, 0x72, 0x78, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x65, 0x72, 0x72,
+ 0x6f, 0x72, 0x73, 0x18, 0x82, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e,
+ 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x17, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73,
+ 0x35, 0x67, 0x68, 0x7a, 0x52, 0x78, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72,
+ 0x73, 0x12, 0x63, 0x0a, 0x20, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x35, 0x67, 0x68, 0x7a,
+ 0x5f, 0x72, 0x78, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72,
+ 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x83, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46,
+ 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1b, 0x72, 0x61, 0x64, 0x69, 0x6f,
+ 0x73, 0x35, 0x67, 0x68, 0x7a, 0x52, 0x78, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x45, 0x72, 0x72,
+ 0x6f, 0x72, 0x52, 0x61, 0x74, 0x65, 0x12, 0x62, 0x0a, 0x1f, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73,
+ 0x5f, 0x35, 0x67, 0x68, 0x7a, 0x5f, 0x72, 0x78, 0x5f, 0x61, 0x69, 0x72, 0x74, 0x69, 0x6d, 0x65,
+ 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x84, 0x01, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1b, 0x72,
+ 0x61, 0x64, 0x69, 0x6f, 0x73, 0x35, 0x67, 0x68, 0x7a, 0x52, 0x78, 0x41, 0x69, 0x72, 0x74, 0x69,
+ 0x6d, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4e, 0x0a, 0x14, 0x72, 0x61,
+ 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x35, 0x67, 0x68, 0x7a, 0x5f, 0x74, 0x78, 0x5f, 0x62, 0x79, 0x74,
+ 0x65, 0x73, 0x18, 0x85, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74,
+ 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x35,
+ 0x67, 0x68, 0x7a, 0x54, 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x52, 0x0a, 0x16, 0x72, 0x61,
+ 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x35, 0x67, 0x68, 0x7a, 0x5f, 0x74, 0x78, 0x5f, 0x70, 0x61, 0x63,
+ 0x6b, 0x65, 0x74, 0x73, 0x18, 0x86, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49,
+ 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x72, 0x61, 0x64, 0x69, 0x6f,
+ 0x73, 0x35, 0x67, 0x68, 0x7a, 0x54, 0x78, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x50,
+ 0x0a, 0x15, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x35, 0x67, 0x68, 0x7a, 0x5f, 0x74, 0x78,
+ 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x87, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+ 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, 0x72, 0x61,
+ 0x64, 0x69, 0x6f, 0x73, 0x35, 0x67, 0x68, 0x7a, 0x54, 0x78, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73,
+ 0x12, 0x63, 0x0a, 0x20, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x35, 0x67, 0x68, 0x7a, 0x5f,
+ 0x74, 0x78, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f,
+ 0x72, 0x61, 0x74, 0x65, 0x18, 0x88, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c,
+ 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1b, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73,
+ 0x35, 0x67, 0x68, 0x7a, 0x54, 0x78, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x45, 0x72, 0x72, 0x6f,
+ 0x72, 0x52, 0x61, 0x74, 0x65, 0x12, 0x62, 0x0a, 0x1f, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f,
+ 0x35, 0x67, 0x68, 0x7a, 0x5f, 0x74, 0x78, 0x5f, 0x61, 0x69, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x5f,
+ 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x89, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1b, 0x72, 0x61,
+ 0x64, 0x69, 0x6f, 0x73, 0x35, 0x67, 0x68, 0x7a, 0x54, 0x78, 0x41, 0x69, 0x72, 0x74, 0x69, 0x6d,
+ 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x55, 0x0a, 0x18, 0x72, 0x61, 0x64,
+ 0x69, 0x6f, 0x73, 0x5f, 0x32, 0x67, 0x68, 0x7a, 0x5f, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c,
+ 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x18, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46,
+ 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x15, 0x72, 0x61, 0x64, 0x69, 0x6f,
+ 0x73, 0x32, 0x67, 0x68, 0x7a, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x54, 0x65, 0x6d, 0x70,
+ 0x12, 0x55, 0x0a, 0x18, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x35, 0x67, 0x68, 0x7a, 0x5f,
+ 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x18, 0xc9, 0x01, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65,
+ 0x52, 0x15, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x35, 0x67, 0x68, 0x7a, 0x54, 0x68, 0x65, 0x72,
+ 0x6d, 0x61, 0x6c, 0x54, 0x65, 0x6d, 0x70, 0x12, 0x60, 0x0a, 0x1e, 0x72, 0x61, 0x64, 0x69, 0x6f,
+ 0x73, 0x5f, 0x32, 0x67, 0x68, 0x7a, 0x5f, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x64,
+ 0x75, 0x74, 0x79, 0x5f, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x18, 0xca, 0x01, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1a, 0x72,
+ 0x61, 0x64, 0x69, 0x6f, 0x73, 0x32, 0x67, 0x68, 0x7a, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c,
+ 0x44, 0x75, 0x74, 0x79, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x60, 0x0a, 0x1e, 0x72, 0x61, 0x64,
+ 0x69, 0x6f, 0x73, 0x5f, 0x35, 0x67, 0x68, 0x7a, 0x5f, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c,
+ 0x5f, 0x64, 0x75, 0x74, 0x79, 0x5f, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x18, 0xcb, 0x01, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
+ 0x1a, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x35, 0x67, 0x68, 0x7a, 0x54, 0x68, 0x65, 0x72, 0x6d,
+ 0x61, 0x6c, 0x44, 0x75, 0x74, 0x79, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x6f, 0x0a, 0x25, 0x72,
+ 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x32, 0x67, 0x68, 0x7a, 0x5f, 0x74, 0x68, 0x65, 0x72, 0x6d,
+ 0x61, 0x6c, 0x5f, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x63,
+ 0x6f, 0x6e, 0x64, 0x73, 0x18, 0xcc, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49,
+ 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x21, 0x72, 0x61, 0x64, 0x69, 0x6f,
+ 0x73, 0x32, 0x67, 0x68, 0x7a, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x54, 0x68, 0x72, 0x6f,
+ 0x74, 0x74, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x6f, 0x0a, 0x25,
+ 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x35, 0x67, 0x68, 0x7a, 0x5f, 0x74, 0x68, 0x65, 0x72,
+ 0x6d, 0x61, 0x6c, 0x5f, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x5f, 0x73, 0x65,
+ 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55,
+ 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x21, 0x72, 0x61, 0x64, 0x69,
+ 0x6f, 0x73, 0x35, 0x67, 0x68, 0x7a, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x54, 0x68, 0x72,
+ 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x53, 0x0a,
+ 0x17, 0x69, 0x66, 0x61, 0x63, 0x65, 0x73, 0x5f, 0x6c, 0x61, 0x6e, 0x5f, 0x65, 0x74, 0x68, 0x5f,
+ 0x72, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0xac, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x69,
+ 0x66, 0x61, 0x63, 0x65, 0x73, 0x4c, 0x61, 0x6e, 0x45, 0x74, 0x68, 0x52, 0x78, 0x42, 0x79, 0x74,
+ 0x65, 0x73, 0x12, 0x57, 0x0a, 0x19, 0x69, 0x66, 0x61, 0x63, 0x65, 0x73, 0x5f, 0x6c, 0x61, 0x6e,
+ 0x5f, 0x65, 0x74, 0x68, 0x5f, 0x72, 0x78, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18,
+ 0xad, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56,
+ 0x61, 0x6c, 0x75, 0x65, 0x52, 0x15, 0x69, 0x66, 0x61, 0x63, 0x65, 0x73, 0x4c, 0x61, 0x6e, 0x45,
+ 0x74, 0x68, 0x52, 0x78, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x55, 0x0a, 0x18, 0x69,
+ 0x66, 0x61, 0x63, 0x65, 0x73, 0x5f, 0x6c, 0x61, 0x6e, 0x5f, 0x65, 0x74, 0x68, 0x5f, 0x72, 0x78,
+ 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0xae, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+ 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x14, 0x69, 0x66,
+ 0x61, 0x63, 0x65, 0x73, 0x4c, 0x61, 0x6e, 0x45, 0x74, 0x68, 0x52, 0x78, 0x45, 0x72, 0x72, 0x6f,
+ 0x72, 0x73, 0x12, 0x60, 0x0a, 0x1e, 0x69, 0x66, 0x61, 0x63, 0x65, 0x73, 0x5f, 0x6c, 0x61, 0x6e,
+ 0x5f, 0x65, 0x74, 0x68, 0x5f, 0x72, 0x78, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x65, 0x72,
+ 0x72, 0x6f, 0x72, 0x73, 0x18, 0xaf, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49,
+ 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x19, 0x69, 0x66, 0x61, 0x63, 0x65,
+ 0x73, 0x4c, 0x61, 0x6e, 0x45, 0x74, 0x68, 0x52, 0x78, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x45, 0x72,
+ 0x72, 0x6f, 0x72, 0x73, 0x12, 0x53, 0x0a, 0x17, 0x69, 0x66, 0x61, 0x63, 0x65, 0x73, 0x5f, 0x6c,
+ 0x61, 0x6e, 0x5f, 0x65, 0x74, 0x68, 0x5f, 0x74, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18,
+ 0xb0, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56,
+ 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x69, 0x66, 0x61, 0x63, 0x65, 0x73, 0x4c, 0x61, 0x6e, 0x45,
+ 0x74, 0x68, 0x54, 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x57, 0x0a, 0x19, 0x69, 0x66, 0x61,
+ 0x63, 0x65, 0x73, 0x5f, 0x6c, 0x61, 0x6e, 0x5f, 0x65, 0x74, 0x68, 0x5f, 0x74, 0x78, 0x5f, 0x70,
+ 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0xb1, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
+ 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x15, 0x69, 0x66, 0x61,
+ 0x63, 0x65, 0x73, 0x4c, 0x61, 0x6e, 0x45, 0x74, 0x68, 0x54, 0x78, 0x50, 0x61, 0x63, 0x6b, 0x65,
+ 0x74, 0x73, 0x12, 0x55, 0x0a, 0x18, 0x69, 0x66, 0x61, 0x63, 0x65, 0x73, 0x5f, 0x6c, 0x61, 0x6e,
+ 0x5f, 0x65, 0x74, 0x68, 0x5f, 0x74, 0x78, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0xb2,
+ 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61,
+ 0x6c, 0x75, 0x65, 0x52, 0x14, 0x69, 0x66, 0x61, 0x63, 0x65, 0x73, 0x4c, 0x61, 0x6e, 0x45, 0x74,
+ 0x68, 0x54, 0x78, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x53, 0x0a, 0x17, 0x69, 0x66, 0x61,
+ 0x63, 0x65, 0x73, 0x5f, 0x77, 0x61, 0x6e, 0x5f, 0x65, 0x74, 0x68, 0x5f, 0x72, 0x78, 0x5f, 0x62,
+ 0x79, 0x74, 0x65, 0x73, 0x18, 0xb3, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49,
+ 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x69, 0x66, 0x61, 0x63, 0x65,
+ 0x73, 0x57, 0x61, 0x6e, 0x45, 0x74, 0x68, 0x52, 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x57,
+ 0x0a, 0x19, 0x69, 0x66, 0x61, 0x63, 0x65, 0x73, 0x5f, 0x77, 0x61, 0x6e, 0x5f, 0x65, 0x74, 0x68,
+ 0x5f, 0x72, 0x78, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0xb4, 0x02, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65,
+ 0x52, 0x15, 0x69, 0x66, 0x61, 0x63, 0x65, 0x73, 0x57, 0x61, 0x6e, 0x45, 0x74, 0x68, 0x52, 0x78,
+ 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x55, 0x0a, 0x18, 0x69, 0x66, 0x61, 0x63, 0x65,
+ 0x73, 0x5f, 0x77, 0x61, 0x6e, 0x5f, 0x65, 0x74, 0x68, 0x5f, 0x72, 0x78, 0x5f, 0x65, 0x72, 0x72,
+ 0x6f, 0x72, 0x73, 0x18, 0xb5, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e,
+ 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x14, 0x69, 0x66, 0x61, 0x63, 0x65, 0x73,
+ 0x57, 0x61, 0x6e, 0x45, 0x74, 0x68, 0x52, 0x78, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x60,
+ 0x0a, 0x1e, 0x69, 0x66, 0x61, 0x63, 0x65, 0x73, 0x5f, 0x77, 0x61, 0x6e, 0x5f, 0x65, 0x74, 0x68,
+ 0x5f, 0x72, 0x78, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73,
+ 0x18, 0xb6, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32,
+ 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x19, 0x69, 0x66, 0x61, 0x63, 0x65, 0x73, 0x57, 0x61, 0x6e,
+ 0x45, 0x74, 0x68, 0x52, 0x78, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73,
+ 0x12, 0x53, 0x0a, 0x17, 0x69, 0x66, 0x61, 0x63, 0x65, 0x73, 0x5f, 0x77, 0x61, 0x6e, 0x5f, 0x65,
+ 0x74, 0x68, 0x5f, 0x74, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0xb7, 0x02, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65,
+ 0x52, 0x13, 0x69, 0x66, 0x61, 0x63, 0x65, 0x73, 0x57, 0x61, 0x6e, 0x45, 0x74, 0x68, 0x54, 0x78,
+ 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x57, 0x0a, 0x19, 0x69, 0x66, 0x61, 0x63, 0x65, 0x73, 0x5f,
+ 0x77, 0x61, 0x6e, 0x5f, 0x65, 0x74, 0x68, 0x5f, 0x74, 0x78, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65,
+ 0x74, 0x73, 0x18, 0xb8, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74,
+ 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x15, 0x69, 0x66, 0x61, 0x63, 0x65, 0x73, 0x57,
+ 0x61, 0x6e, 0x45, 0x74, 0x68, 0x54, 0x78, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x55,
+ 0x0a, 0x18, 0x69, 0x66, 0x61, 0x63, 0x65, 0x73, 0x5f, 0x77, 0x61, 0x6e, 0x5f, 0x65, 0x74, 0x68,
+ 0x5f, 0x74, 0x78, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0xb9, 0x02, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
+ 0x14, 0x69, 0x66, 0x61, 0x63, 0x65, 0x73, 0x57, 0x61, 0x6e, 0x45, 0x74, 0x68, 0x54, 0x78, 0x45,
+ 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x37, 0x0a, 0x07, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73,
+ 0x18, 0x90, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32,
+ 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x40,
+ 0x0a, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x32, 0x67, 0x68, 0x7a, 0x18, 0x91,
+ 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61,
+ 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x32, 0x67, 0x68, 0x7a,
+ 0x12, 0x40, 0x0a, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x35, 0x67, 0x68, 0x7a,
+ 0x18, 0x92, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32,
+ 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x35, 0x67,
+ 0x68, 0x7a, 0x12, 0x3e, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x65, 0x74,
+ 0x68, 0x18, 0x93, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33,
+ 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x45,
+ 0x74, 0x68, 0x12, 0x48, 0x0a, 0x10, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x65,
+ 0x70, 0x65, 0x61, 0x74, 0x65, 0x72, 0x18, 0x94, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
+ 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x63, 0x6c, 0x69,
+ 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x72, 0x12, 0x51, 0x0a, 0x15,
+ 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x72,
+ 0x5f, 0x32, 0x67, 0x68, 0x7a, 0x18, 0x95, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55,
+ 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x63, 0x6c, 0x69, 0x65,
+ 0x6e, 0x74, 0x73, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x72, 0x32, 0x67, 0x68, 0x7a, 0x12,
+ 0x51, 0x0a, 0x15, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x65, 0x61,
+ 0x74, 0x65, 0x72, 0x5f, 0x35, 0x67, 0x68, 0x7a, 0x18, 0x96, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x63,
+ 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x72, 0x35, 0x67,
+ 0x68, 0x7a, 0x12, 0x4f, 0x0a, 0x14, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x65,
+ 0x70, 0x65, 0x61, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x74, 0x68, 0x18, 0x97, 0x03, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
+ 0x12, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x72,
+ 0x45, 0x74, 0x68, 0x12, 0x3a, 0x0a, 0x09, 0x6d, 0x65, 0x73, 0x68, 0x5f, 0x68, 0x6f, 0x70, 0x73,
+ 0x18, 0x98, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32,
+ 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x68, 0x48, 0x6f, 0x70, 0x73, 0x12,
+ 0x57, 0x0a, 0x1a, 0x6d, 0x65, 0x73, 0x68, 0x5f, 0x6f, 0x6e, 0x65, 0x5f, 0x68, 0x6f, 0x70, 0x5f,
+ 0x72, 0x73, 0x73, 0x69, 0x5f, 0x61, 0x76, 0x67, 0x5f, 0x32, 0x67, 0x68, 0x7a, 0x18, 0x99, 0x03,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75,
+ 0x65, 0x52, 0x15, 0x6d, 0x65, 0x73, 0x68, 0x4f, 0x6e, 0x65, 0x48, 0x6f, 0x70, 0x52, 0x73, 0x73,
+ 0x69, 0x41, 0x76, 0x67, 0x32, 0x67, 0x68, 0x7a, 0x12, 0x57, 0x0a, 0x1a, 0x6d, 0x65, 0x73, 0x68,
+ 0x5f, 0x6f, 0x6e, 0x65, 0x5f, 0x68, 0x6f, 0x70, 0x5f, 0x72, 0x73, 0x73, 0x69, 0x5f, 0x61, 0x76,
+ 0x67, 0x5f, 0x35, 0x67, 0x68, 0x7a, 0x18, 0x9a, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
+ 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x15, 0x6d, 0x65, 0x73, 0x68,
+ 0x4f, 0x6e, 0x65, 0x48, 0x6f, 0x70, 0x52, 0x73, 0x73, 0x69, 0x41, 0x76, 0x67, 0x35, 0x67, 0x68,
+ 0x7a, 0x12, 0x57, 0x0a, 0x1a, 0x6d, 0x65, 0x73, 0x68, 0x5f, 0x74, 0x77, 0x6f, 0x5f, 0x68, 0x6f,
+ 0x70, 0x5f, 0x72, 0x73, 0x73, 0x69, 0x5f, 0x61, 0x76, 0x67, 0x5f, 0x32, 0x67, 0x68, 0x7a, 0x18,
+ 0x9b, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61,
+ 0x6c, 0x75, 0x65, 0x52, 0x15, 0x6d, 0x65, 0x73, 0x68, 0x54, 0x77, 0x6f, 0x48, 0x6f, 0x70, 0x52,
+ 0x73, 0x73, 0x69, 0x41, 0x76, 0x67, 0x32, 0x67, 0x68, 0x7a, 0x12, 0x57, 0x0a, 0x1a, 0x6d, 0x65,
+ 0x73, 0x68, 0x5f, 0x74, 0x77, 0x6f, 0x5f, 0x68, 0x6f, 0x70, 0x5f, 0x72, 0x73, 0x73, 0x69, 0x5f,
+ 0x61, 0x76, 0x67, 0x5f, 0x35, 0x67, 0x68, 0x7a, 0x18, 0x9c, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x15, 0x6d, 0x65,
+ 0x73, 0x68, 0x54, 0x77, 0x6f, 0x48, 0x6f, 0x70, 0x52, 0x73, 0x73, 0x69, 0x41, 0x76, 0x67, 0x35,
+ 0x67, 0x68, 0x7a, 0x12, 0x65, 0x0a, 0x21, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x63, 0x6f,
+ 0x6e, 0x64, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x31,
+ 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x61, 0x67, 0x65, 0x18, 0xd8, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1c, 0x70, 0x69,
+ 0x6e, 0x67, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x4c, 0x61,
+ 0x73, 0x74, 0x31, 0x73, 0x4f, 0x75, 0x74, 0x61, 0x67, 0x65, 0x12, 0x65, 0x0a, 0x21, 0x70, 0x69,
+ 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65,
+ 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x32, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x61, 0x67, 0x65, 0x18,
+ 0xd9, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61,
+ 0x6c, 0x75, 0x65, 0x52, 0x1c, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73,
+ 0x53, 0x69, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x32, 0x73, 0x4f, 0x75, 0x74, 0x61, 0x67,
+ 0x65, 0x12, 0x65, 0x0a, 0x21, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64,
+ 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x35, 0x73, 0x5f,
+ 0x6f, 0x75, 0x74, 0x61, 0x67, 0x65, 0x18, 0xda, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
+ 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1c, 0x70, 0x69, 0x6e, 0x67,
+ 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x73, 0x74,
+ 0x35, 0x73, 0x4f, 0x75, 0x74, 0x61, 0x67, 0x65, 0x12, 0x67, 0x0a, 0x22, 0x70, 0x69, 0x6e, 0x67,
+ 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x6c,
+ 0x61, 0x73, 0x74, 0x5f, 0x36, 0x30, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x61, 0x67, 0x65, 0x18, 0xdb,
+ 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c,
+ 0x75, 0x65, 0x52, 0x1d, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x53,
+ 0x69, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x36, 0x30, 0x73, 0x4f, 0x75, 0x74, 0x61, 0x67,
+ 0x65, 0x12, 0x69, 0x0a, 0x23, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64,
+ 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x33, 0x30, 0x30,
+ 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x61, 0x67, 0x65, 0x18, 0xdc, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1e, 0x70, 0x69,
+ 0x6e, 0x67, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x4c, 0x61,
+ 0x73, 0x74, 0x33, 0x30, 0x30, 0x73, 0x4f, 0x75, 0x74, 0x61, 0x67, 0x65, 0x12, 0x42, 0x0a, 0x0e,
+ 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0xdd,
+ 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c,
+ 0x75, 0x65, 0x52, 0x0c, 0x70, 0x69, 0x6e, 0x67, 0x44, 0x72, 0x6f, 0x70, 0x52, 0x61, 0x74, 0x65,
+ 0x12, 0x50, 0x0a, 0x16, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x72, 0x61,
+ 0x74, 0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x31, 0x68, 0x18, 0xde, 0x04, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12,
+ 0x70, 0x69, 0x6e, 0x67, 0x44, 0x72, 0x6f, 0x70, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x73, 0x74,
+ 0x31, 0x68, 0x12, 0x3f, 0x0a, 0x0c, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x6e,
+ 0x63, 0x79, 0x18, 0xdf, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61,
+ 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x61, 0x74, 0x65,
+ 0x6e, 0x63, 0x79, 0x12, 0x6e, 0x0a, 0x26, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x73, 0x68,
+ 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x6c,
+ 0x61, 0x73, 0x74, 0x5f, 0x31, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x61, 0x67, 0x65, 0x18, 0xe2, 0x04,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75,
+ 0x65, 0x52, 0x20, 0x70, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x73, 0x68, 0x53, 0x65, 0x63, 0x6f, 0x6e,
+ 0x64, 0x73, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x31, 0x73, 0x4f, 0x75, 0x74,
+ 0x61, 0x67, 0x65, 0x12, 0x6e, 0x0a, 0x26, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x73, 0x68,
+ 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x6c,
+ 0x61, 0x73, 0x74, 0x5f, 0x32, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x61, 0x67, 0x65, 0x18, 0xe3, 0x04,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75,
+ 0x65, 0x52, 0x20, 0x70, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x73, 0x68, 0x53, 0x65, 0x63, 0x6f, 0x6e,
+ 0x64, 0x73, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x32, 0x73, 0x4f, 0x75, 0x74,
+ 0x61, 0x67, 0x65, 0x12, 0x6e, 0x0a, 0x26, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x73, 0x68,
+ 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x6c,
+ 0x61, 0x73, 0x74, 0x5f, 0x35, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x61, 0x67, 0x65, 0x18, 0xe4, 0x04,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75,
+ 0x65, 0x52, 0x20, 0x70, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x73, 0x68, 0x53, 0x65, 0x63, 0x6f, 0x6e,
+ 0x64, 0x73, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x35, 0x73, 0x4f, 0x75, 0x74,
+ 0x61, 0x67, 0x65, 0x12, 0x70, 0x0a, 0x27, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x73, 0x68,
+ 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x6c,
+ 0x61, 0x73, 0x74, 0x5f, 0x36, 0x30, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x61, 0x67, 0x65, 0x18, 0xe5,
+ 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c,
+ 0x75, 0x65, 0x52, 0x21, 0x70, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x73, 0x68, 0x53, 0x65, 0x63, 0x6f,
+ 0x6e, 0x64, 0x73, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x36, 0x30, 0x73, 0x4f,
+ 0x75, 0x74, 0x61, 0x67, 0x65, 0x12, 0x72, 0x0a, 0x28, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x69,
+ 0x73, 0x68, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65,
+ 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x33, 0x30, 0x30, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x61, 0x67,
+ 0x65, 0x18, 0xe6, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74,
+ 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x22, 0x70, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x73, 0x68, 0x53,
+ 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x33,
+ 0x30, 0x30, 0x73, 0x4f, 0x75, 0x74, 0x61, 0x67, 0x65, 0x12, 0x4b, 0x0a, 0x13, 0x70, 0x69, 0x6e,
+ 0x67, 0x5f, 0x64, 0x69, 0x73, 0x68, 0x5f, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x72, 0x61, 0x74, 0x65,
+ 0x18, 0xe7, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56,
+ 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x70, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x73, 0x68, 0x44, 0x72,
+ 0x6f, 0x70, 0x52, 0x61, 0x74, 0x65, 0x12, 0x59, 0x0a, 0x1b, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x64,
+ 0x69, 0x73, 0x68, 0x5f, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x61,
+ 0x73, 0x74, 0x5f, 0x31, 0x68, 0x18, 0xe8, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46,
+ 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x16, 0x70, 0x69, 0x6e, 0x67, 0x44,
+ 0x69, 0x73, 0x68, 0x44, 0x72, 0x6f, 0x70, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x31,
+ 0x68, 0x12, 0x48, 0x0a, 0x11, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x73, 0x68, 0x5f, 0x6c,
+ 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x18, 0xe9, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
+ 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x70, 0x69, 0x6e, 0x67,
+ 0x44, 0x69, 0x73, 0x68, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x6e, 0x0a, 0x25, 0x63,
+ 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x5f,
+ 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f,
+ 0x6d, 0x62, 0x70, 0x73, 0x18, 0xbc, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c,
+ 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x21, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
+ 0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x44,
+ 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x62, 0x70, 0x73, 0x12, 0x6a, 0x0a, 0x23, 0x63,
+ 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x5f,
+ 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6d, 0x62,
+ 0x70, 0x73, 0x18, 0xbd, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61,
+ 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x70,
+ 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x55, 0x70, 0x6c,
+ 0x6f, 0x61, 0x64, 0x4d, 0x62, 0x70, 0x73, 0x12, 0x5d, 0x0a, 0x1c, 0x63, 0x6c, 0x69, 0x65, 0x6e,
+ 0x74, 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x6f, 0x75, 0x74,
+ 0x65, 0x72, 0x5f, 0x72, 0x73, 0x73, 0x69, 0x18, 0xbe, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+ 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x19, 0x63, 0x6c, 0x69,
+ 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x52, 0x6f, 0x75, 0x74,
+ 0x65, 0x72, 0x52, 0x73, 0x73, 0x69, 0x12, 0x6a, 0x0a, 0x23, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
+ 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x77, 0x69, 0x66, 0x69, 0x5f,
+ 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6d, 0x62, 0x70, 0x73, 0x18, 0xbf, 0x05,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75,
+ 0x65, 0x52, 0x1f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65,
+ 0x73, 0x74, 0x57, 0x69, 0x66, 0x69, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x62,
+ 0x70, 0x73, 0x12, 0x66, 0x0a, 0x21, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x70, 0x65,
+ 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x75, 0x70, 0x6c, 0x6f,
+ 0x61, 0x64, 0x5f, 0x6d, 0x62, 0x70, 0x73, 0x18, 0xc0, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+ 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1d, 0x63, 0x6c, 0x69,
+ 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x57, 0x69, 0x66, 0x69,
+ 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x62, 0x70, 0x73, 0x12, 0x6e, 0x0a, 0x25, 0x63, 0x6c,
+ 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63,
+ 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6d,
+ 0x62, 0x70, 0x73, 0x18, 0xc1, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f,
+ 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x21, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53,
+ 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x44, 0x6f,
+ 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x62, 0x70, 0x73, 0x12, 0x6a, 0x0a, 0x23, 0x63, 0x6c,
+ 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63,
+ 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6d, 0x62, 0x70,
+ 0x73, 0x18, 0xc2, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74,
+ 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65,
+ 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x55, 0x70, 0x6c, 0x6f,
+ 0x61, 0x64, 0x4d, 0x62, 0x70, 0x73, 0x12, 0x5d, 0x0a, 0x1c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
+ 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e,
+ 0x74, 0x5f, 0x72, 0x73, 0x73, 0x69, 0x18, 0xc3, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
+ 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x19, 0x63, 0x6c, 0x69, 0x65,
+ 0x6e, 0x74, 0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e,
+ 0x74, 0x52, 0x73, 0x73, 0x69, 0x12, 0x60, 0x0a, 0x1d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f,
+ 0x73, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
+ 0x5f, 0x69, 0x66, 0x61, 0x63, 0x65, 0x18, 0xc4, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
+ 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1a, 0x63, 0x6c, 0x69,
+ 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x43, 0x6c, 0x69, 0x65,
+ 0x6e, 0x74, 0x49, 0x66, 0x61, 0x63, 0x65, 0x12, 0x5c, 0x0a, 0x1b, 0x63, 0x6c, 0x69, 0x65, 0x6e,
+ 0x74, 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6c, 0x69, 0x65,
+ 0x6e, 0x74, 0x5f, 0x6f, 0x75, 0x69, 0x18, 0xc5, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
+ 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x18, 0x63, 0x6c, 0x69,
+ 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x43, 0x6c, 0x69, 0x65,
+ 0x6e, 0x74, 0x4f, 0x75, 0x69, 0x12, 0x63, 0x0a, 0x1f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f,
+ 0x73, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
+ 0x5f, 0x74, 0x78, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0xc6, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1b, 0x63,
+ 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x43, 0x6c,
+ 0x69, 0x65, 0x6e, 0x74, 0x54, 0x78, 0x52, 0x61, 0x74, 0x65, 0x12, 0x63, 0x0a, 0x1f, 0x63, 0x6c,
+ 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63,
+ 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x78, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0xc7, 0x05,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c,
+ 0x75, 0x65, 0x52, 0x1b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x65, 0x64, 0x74,
+ 0x65, 0x73, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x78, 0x52, 0x61, 0x74, 0x65, 0x12,
+ 0x6f, 0x0a, 0x25, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x74,
+ 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66,
+ 0x6f, 0x72, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0xc8, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x21, 0x63,
+ 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x43, 0x6c,
+ 0x69, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x54, 0x79, 0x70, 0x65,
+ 0x12, 0x65, 0x0a, 0x21, 0x73, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x63,
+ 0x70, 0x5f, 0x38, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6d, 0x62, 0x70,
+ 0x73, 0x5f, 0x61, 0x76, 0x67, 0x18, 0xa0, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46,
+ 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1c, 0x73, 0x70, 0x65, 0x65, 0x64,
+ 0x74, 0x65, 0x73, 0x74, 0x54, 0x63, 0x70, 0x38, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64,
+ 0x4d, 0x62, 0x70, 0x73, 0x41, 0x76, 0x67, 0x12, 0x65, 0x0a, 0x21, 0x73, 0x70, 0x65, 0x65, 0x64,
+ 0x74, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x38, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x6c,
+ 0x6f, 0x61, 0x64, 0x5f, 0x6d, 0x62, 0x70, 0x73, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0xa1, 0x06, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65,
+ 0x52, 0x1c, 0x73, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x54, 0x63, 0x70, 0x38, 0x44,
+ 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x62, 0x70, 0x73, 0x4d, 0x61, 0x78, 0x12, 0x61,
+ 0x0a, 0x1f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x63, 0x70, 0x5f,
+ 0x38, 0x5f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6d, 0x62, 0x70, 0x73, 0x5f, 0x61, 0x76,
+ 0x67, 0x18, 0xa2, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74,
+ 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1a, 0x73, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74,
+ 0x54, 0x63, 0x70, 0x38, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x62, 0x70, 0x73, 0x41, 0x76,
+ 0x67, 0x12, 0x61, 0x0a, 0x1f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x74,
+ 0x63, 0x70, 0x5f, 0x38, 0x5f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6d, 0x62, 0x70, 0x73,
+ 0x5f, 0x6d, 0x61, 0x78, 0x18, 0xa3, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c,
+ 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1a, 0x73, 0x70, 0x65, 0x65, 0x64, 0x74,
+ 0x65, 0x73, 0x74, 0x54, 0x63, 0x70, 0x38, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x62, 0x70,
+ 0x73, 0x4d, 0x61, 0x78, 0x12, 0x67, 0x0a, 0x22, 0x73, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73,
+ 0x74, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x36, 0x34, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61,
+ 0x64, 0x5f, 0x6d, 0x62, 0x70, 0x73, 0x5f, 0x61, 0x76, 0x67, 0x18, 0xa4, 0x06, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1d,
+ 0x73, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x54, 0x63, 0x70, 0x36, 0x34, 0x44, 0x6f,
+ 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x62, 0x70, 0x73, 0x41, 0x76, 0x67, 0x12, 0x67, 0x0a,
+ 0x22, 0x73, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x36,
+ 0x34, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6d, 0x62, 0x70, 0x73, 0x5f,
+ 0x6d, 0x61, 0x78, 0x18, 0xa5, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f,
+ 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1d, 0x73, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65,
+ 0x73, 0x74, 0x54, 0x63, 0x70, 0x36, 0x34, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4d,
+ 0x62, 0x70, 0x73, 0x4d, 0x61, 0x78, 0x12, 0x63, 0x0a, 0x20, 0x73, 0x70, 0x65, 0x65, 0x64, 0x74,
+ 0x65, 0x73, 0x74, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x36, 0x34, 0x5f, 0x75, 0x70, 0x6c, 0x6f, 0x61,
+ 0x64, 0x5f, 0x6d, 0x62, 0x70, 0x73, 0x5f, 0x61, 0x76, 0x67, 0x18, 0xa6, 0x06, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1b,
+ 0x73, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x54, 0x63, 0x70, 0x36, 0x34, 0x55, 0x70,
+ 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x62, 0x70, 0x73, 0x41, 0x76, 0x67, 0x12, 0x63, 0x0a, 0x20, 0x73,
+ 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x36, 0x34, 0x5f,
+ 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6d, 0x62, 0x70, 0x73, 0x5f, 0x6d, 0x61, 0x78, 0x18,
+ 0xa7, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61,
+ 0x6c, 0x75, 0x65, 0x52, 0x1b, 0x73, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x54, 0x63,
+ 0x70, 0x36, 0x34, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x62, 0x70, 0x73, 0x4d, 0x61, 0x78,
+ 0x12, 0x3f, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x68, 0x5f, 0x63, 0x65, 0x6c, 0x6c, 0x5f, 0x69, 0x64,
+ 0x18, 0x84, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32,
+ 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x64, 0x69, 0x73, 0x68, 0x43, 0x65, 0x6c, 0x6c, 0x49,
+ 0x64, 0x12, 0x4f, 0x0a, 0x15, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x65, 0x74, 0x75,
+ 0x70, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x18, 0xe8, 0x07, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x63,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x74, 0x75, 0x70, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65,
+ 0x74, 0x65, 0x12, 0x49, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x62, 0x61, 0x6e,
+ 0x64, 0x73, 0x5f, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x18, 0xe9, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x63, 0x6f, 0x6e,
+ 0x66, 0x69, 0x67, 0x42, 0x61, 0x6e, 0x64, 0x73, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x12, 0x49, 0x0a,
+ 0x12, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x65, 0x61,
+ 0x74, 0x65, 0x72, 0x18, 0xea, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f,
+ 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x73,
+ 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x72, 0x12, 0x4b, 0x0a, 0x13, 0x63, 0x6f, 0x6e, 0x66,
+ 0x69, 0x67, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18,
+ 0xeb, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c,
+ 0x75, 0x65, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4f, 0x70, 0x65, 0x6e, 0x4e, 0x65,
+ 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x49, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f,
+ 0x69, 0x73, 0x5f, 0x61, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xec, 0x07, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10,
+ 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x73, 0x41, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x12, 0x47, 0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72,
+ 0x65, 0x5f, 0x64, 0x6e, 0x73, 0x18, 0xed, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42,
+ 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+ 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x44, 0x6e, 0x73, 0x12, 0x40, 0x0a, 0x0d, 0x63, 0x6f, 0x6e,
+ 0x66, 0x69, 0x67, 0x5f, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x18, 0xee, 0x07, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x63,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x12, 0x41, 0x0a, 0x0e, 0x63,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x61, 0x70, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0xef, 0x07,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65,
+ 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x41, 0x70, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x49,
+ 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x64, 0x66, 0x73, 0x5f, 0x65, 0x6e, 0x61,
+ 0x62, 0x6c, 0x65, 0x64, 0x18, 0xf0, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f,
+ 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44,
+ 0x66, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x5f, 0x0a, 0x1e, 0x63, 0x6f, 0x6e,
+ 0x66, 0x69, 0x67, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
+ 0x5f, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0xf1, 0x07, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1a,
+ 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4e, 0x61, 0x6d,
+ 0x65, 0x49, 0x73, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x56, 0x0a, 0x19, 0x63, 0x6f,
+ 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x73, 0x73, 0x68, 0x5f,
+ 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0xf2, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+ 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x16, 0x63, 0x6f, 0x6e, 0x66,
+ 0x69, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x73, 0x68, 0x45, 0x6e, 0x61, 0x62, 0x6c,
+ 0x65, 0x64, 0x22, 0x88, 0x5e, 0x0a, 0x22, 0x73, 0x74, 0x61, 0x72, 0x6c, 0x69, 0x6e, 0x6b, 0x5f,
+ 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x68, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x5f, 0x6d,
+ 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x76, 0x32, 0x12, 0x2c, 0x0a, 0x02, 0x69, 0x64, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61,
+ 0x6c, 0x75, 0x65, 0x52, 0x02, 0x69, 0x64, 0x12, 0x43, 0x0a, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x73,
+ 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x74,
+ 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x44, 0x61, 0x74, 0x65, 0x12, 0x43, 0x0a, 0x0e,
+ 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x68, 0x6f, 0x75, 0x72, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c,
+ 0x75, 0x65, 0x52, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x6f, 0x75,
+ 0x72, 0x12, 0x51, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x90,
+ 0x4e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41,
+ 0x50, 0x49, 0x2e, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x6f, 0x6e, 0x2e, 0x50, 0x75,
+ 0x62, 0x6c, 0x69, 0x63, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x54, 0x69, 0x6d, 0x65,
+ 0x73, 0x74, 0x61, 0x6d, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73,
+ 0x74, 0x61, 0x6d, 0x70, 0x12, 0x3a, 0x0a, 0x0a, 0x73, 0x79, 0x73, 0x5f, 0x68, 0x77, 0x5f, 0x67,
+ 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33,
+ 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x73, 0x79, 0x73, 0x48, 0x77, 0x47, 0x65, 0x6e,
+ 0x12, 0x33, 0x0a, 0x06, 0x73, 0x79, 0x73, 0x5f, 0x73, 0x77, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05,
+ 0x73, 0x79, 0x73, 0x53, 0x77, 0x12, 0x3d, 0x0a, 0x0b, 0x73, 0x79, 0x73, 0x5f, 0x63, 0x6f, 0x75,
+ 0x6e, 0x74, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72,
+ 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x73, 0x79, 0x73, 0x43, 0x6f, 0x75,
+ 0x6e, 0x74, 0x72, 0x79, 0x12, 0x38, 0x0a, 0x0a, 0x73, 0x79, 0x73, 0x5f, 0x69, 0x73, 0x5f, 0x64,
+ 0x65, 0x76, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56,
+ 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x73, 0x79, 0x73, 0x49, 0x73, 0x44, 0x65, 0x76, 0x12, 0x40,
+ 0x0a, 0x0d, 0x73, 0x79, 0x73, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x5f, 0x66, 0x64, 0x73, 0x18,
+ 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61,
+ 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x73, 0x79, 0x73, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x46, 0x64, 0x73,
+ 0x12, 0x3f, 0x0a, 0x0d, 0x73, 0x79, 0x73, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x75, 0x73, 0x61, 0x67,
+ 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56,
+ 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x73, 0x79, 0x73, 0x43, 0x70, 0x75, 0x55, 0x73, 0x61, 0x67,
+ 0x65, 0x12, 0x42, 0x0a, 0x0f, 0x73, 0x79, 0x73, 0x5f, 0x6d, 0x65, 0x6d, 0x5f, 0x66, 0x72, 0x65,
+ 0x65, 0x5f, 0x6b, 0x62, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f,
+ 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x73, 0x79, 0x73, 0x4d, 0x65, 0x6d, 0x46,
+ 0x72, 0x65, 0x65, 0x4b, 0x62, 0x12, 0x40, 0x0a, 0x0d, 0x73, 0x79, 0x73, 0x5f, 0x62, 0x6f, 0x6f,
+ 0x74, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49,
+ 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x73, 0x79, 0x73, 0x42, 0x6f,
+ 0x6f, 0x74, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x4c, 0x0a, 0x14, 0x73, 0x79, 0x73, 0x5f, 0x70,
+ 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x18,
+ 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75,
+ 0x65, 0x52, 0x12, 0x73, 0x79, 0x73, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+ 0x45, 0x71, 0x75, 0x61, 0x6c, 0x12, 0x4a, 0x0a, 0x12, 0x73, 0x79, 0x73, 0x5f, 0x75, 0x70, 0x74,
+ 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
+ 0x10, 0x73, 0x79, 0x73, 0x55, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64,
+ 0x73, 0x12, 0x56, 0x0a, 0x19, 0x73, 0x79, 0x73, 0x5f, 0x61, 0x6e, 0x74, 0x69, 0x5f, 0x72, 0x6f,
+ 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0e,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75,
+ 0x65, 0x52, 0x16, 0x73, 0x79, 0x73, 0x41, 0x6e, 0x74, 0x69, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61,
+ 0x63, 0x6b, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x4c, 0x0a, 0x13, 0x72, 0x61, 0x64,
+ 0x69, 0x6f, 0x73, 0x5f, 0x32, 0x67, 0x68, 0x7a, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
+ 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56,
+ 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x32, 0x67, 0x68, 0x7a,
+ 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x56, 0x0a, 0x19, 0x72, 0x61, 0x64, 0x69, 0x6f,
+ 0x73, 0x5f, 0x32, 0x67, 0x68, 0x7a, 0x5f, 0x61, 0x6e, 0x74, 0x65, 0x6e, 0x6e, 0x61, 0x31, 0x5f,
+ 0x72, 0x73, 0x73, 0x69, 0x18, 0x65, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f,
+ 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x16, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x32,
+ 0x67, 0x68, 0x7a, 0x41, 0x6e, 0x74, 0x65, 0x6e, 0x6e, 0x61, 0x31, 0x52, 0x73, 0x73, 0x69, 0x12,
+ 0x56, 0x0a, 0x19, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x32, 0x67, 0x68, 0x7a, 0x5f, 0x61,
+ 0x6e, 0x74, 0x65, 0x6e, 0x6e, 0x61, 0x32, 0x5f, 0x72, 0x73, 0x73, 0x69, 0x18, 0x66, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
+ 0x16, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x32, 0x67, 0x68, 0x7a, 0x41, 0x6e, 0x74, 0x65, 0x6e,
+ 0x6e, 0x61, 0x32, 0x52, 0x73, 0x73, 0x69, 0x12, 0x56, 0x0a, 0x19, 0x72, 0x61, 0x64, 0x69, 0x6f,
+ 0x73, 0x5f, 0x32, 0x67, 0x68, 0x7a, 0x5f, 0x61, 0x6e, 0x74, 0x65, 0x6e, 0x6e, 0x61, 0x33, 0x5f,
+ 0x72, 0x73, 0x73, 0x69, 0x18, 0x67, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f,
+ 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x16, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x32,
+ 0x67, 0x68, 0x7a, 0x41, 0x6e, 0x74, 0x65, 0x6e, 0x6e, 0x61, 0x33, 0x52, 0x73, 0x73, 0x69, 0x12,
+ 0x53, 0x0a, 0x17, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x32, 0x67, 0x68, 0x7a, 0x5f, 0x69,
+ 0x66, 0x61, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x68, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x14,
+ 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x32, 0x67, 0x68, 0x7a, 0x49, 0x66, 0x61, 0x63, 0x65, 0x43,
+ 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x5f, 0x0a, 0x1e, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x32,
+ 0x67, 0x68, 0x7a, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x62, 0x75, 0x73, 0x79, 0x5f, 0x66, 0x72,
+ 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x69, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46,
+ 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1a, 0x72, 0x61, 0x64, 0x69, 0x6f,
+ 0x73, 0x32, 0x67, 0x68, 0x7a, 0x43, 0x68, 0x61, 0x6e, 0x42, 0x75, 0x73, 0x79, 0x46, 0x72, 0x61,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x58, 0x0a, 0x1a, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f,
+ 0x32, 0x67, 0x68, 0x7a, 0x5f, 0x65, 0x64, 0x63, 0x63, 0x61, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74,
+ 0x69, 0x6f, 0x6e, 0x18, 0x6a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61,
+ 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x17, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x32, 0x67,
+ 0x68, 0x7a, 0x45, 0x64, 0x63, 0x63, 0x61, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12,
+ 0x6b, 0x0a, 0x24, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x32, 0x67, 0x68, 0x7a, 0x5f, 0x6f,
+ 0x76, 0x65, 0x72, 0x6c, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x73, 0x73, 0x5f, 0x66,
+ 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x6b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
+ 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x20, 0x72, 0x61, 0x64, 0x69,
+ 0x6f, 0x73, 0x32, 0x67, 0x68, 0x7a, 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x61, 0x70, 0x70, 0x69, 0x6e,
+ 0x67, 0x42, 0x73, 0x73, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4c, 0x0a, 0x14,
+ 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x32, 0x67, 0x68, 0x7a, 0x5f, 0x72, 0x78, 0x5f, 0x62,
+ 0x79, 0x74, 0x65, 0x73, 0x18, 0x6c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74,
+ 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x32,
+ 0x67, 0x68, 0x7a, 0x52, 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x50, 0x0a, 0x16, 0x72, 0x61,
+ 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x32, 0x67, 0x68, 0x7a, 0x5f, 0x72, 0x78, 0x5f, 0x70, 0x61, 0x63,
+ 0x6b, 0x65, 0x74, 0x73, 0x18, 0x6d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74,
+ 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x32,
+ 0x67, 0x68, 0x7a, 0x52, 0x78, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x4e, 0x0a, 0x15,
+ 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x32, 0x67, 0x68, 0x7a, 0x5f, 0x72, 0x78, 0x5f, 0x65,
+ 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x6e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e,
+ 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73,
+ 0x32, 0x67, 0x68, 0x7a, 0x52, 0x78, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x59, 0x0a, 0x1b,
+ 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x32, 0x67, 0x68, 0x7a, 0x5f, 0x72, 0x78, 0x5f, 0x66,
+ 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x6f, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x17,
+ 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x32, 0x67, 0x68, 0x7a, 0x52, 0x78, 0x46, 0x72, 0x61, 0x6d,
+ 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x62, 0x0a, 0x20, 0x72, 0x61, 0x64, 0x69, 0x6f,
+ 0x73, 0x5f, 0x32, 0x67, 0x68, 0x7a, 0x5f, 0x72, 0x78, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74,
+ 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x70, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1b,
+ 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x32, 0x67, 0x68, 0x7a, 0x52, 0x78, 0x50, 0x61, 0x63, 0x6b,
+ 0x65, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x61, 0x74, 0x65, 0x12, 0x61, 0x0a, 0x1f, 0x72,
+ 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x32, 0x67, 0x68, 0x7a, 0x5f, 0x72, 0x78, 0x5f, 0x61, 0x69,
+ 0x72, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x71,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75,
+ 0x65, 0x52, 0x1b, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x32, 0x67, 0x68, 0x7a, 0x52, 0x78, 0x41,
+ 0x69, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4c,
+ 0x0a, 0x14, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x32, 0x67, 0x68, 0x7a, 0x5f, 0x74, 0x78,
+ 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x72, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49,
+ 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x72, 0x61, 0x64, 0x69, 0x6f,
+ 0x73, 0x32, 0x67, 0x68, 0x7a, 0x54, 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x50, 0x0a, 0x16,
+ 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x32, 0x67, 0x68, 0x7a, 0x5f, 0x74, 0x78, 0x5f, 0x70,
+ 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x73, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49,
+ 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x72, 0x61, 0x64, 0x69, 0x6f,
+ 0x73, 0x32, 0x67, 0x68, 0x7a, 0x54, 0x78, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x4e,
+ 0x0a, 0x15, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x32, 0x67, 0x68, 0x7a, 0x5f, 0x74, 0x78,
+ 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x74, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
+ 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, 0x72, 0x61, 0x64, 0x69,
+ 0x6f, 0x73, 0x32, 0x67, 0x68, 0x7a, 0x54, 0x78, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x62,
+ 0x0a, 0x20, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x32, 0x67, 0x68, 0x7a, 0x5f, 0x74, 0x78,
+ 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x72, 0x61,
+ 0x74, 0x65, 0x18, 0x75, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74,
+ 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1b, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x32, 0x67, 0x68,
+ 0x7a, 0x54, 0x78, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x61,
+ 0x74, 0x65, 0x12, 0x61, 0x0a, 0x1f, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x32, 0x67, 0x68,
+ 0x7a, 0x5f, 0x74, 0x78, 0x5f, 0x61, 0x69, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x66, 0x72, 0x61,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x76, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c,
+ 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1b, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73,
+ 0x32, 0x67, 0x68, 0x7a, 0x54, 0x78, 0x41, 0x69, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4c, 0x0a, 0x13, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f,
+ 0x35, 0x67, 0x68, 0x7a, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x77, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65,
+ 0x52, 0x11, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x35, 0x67, 0x68, 0x7a, 0x43, 0x68, 0x61, 0x6e,
+ 0x6e, 0x65, 0x6c, 0x12, 0x56, 0x0a, 0x19, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x35, 0x67,
+ 0x68, 0x7a, 0x5f, 0x61, 0x6e, 0x74, 0x65, 0x6e, 0x6e, 0x61, 0x31, 0x5f, 0x72, 0x73, 0x73, 0x69,
+ 0x18, 0x78, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61,
+ 0x6c, 0x75, 0x65, 0x52, 0x16, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x35, 0x67, 0x68, 0x7a, 0x41,
+ 0x6e, 0x74, 0x65, 0x6e, 0x6e, 0x61, 0x31, 0x52, 0x73, 0x73, 0x69, 0x12, 0x56, 0x0a, 0x19, 0x72,
+ 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x35, 0x67, 0x68, 0x7a, 0x5f, 0x61, 0x6e, 0x74, 0x65, 0x6e,
+ 0x6e, 0x61, 0x32, 0x5f, 0x72, 0x73, 0x73, 0x69, 0x18, 0x79, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+ 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x16, 0x72, 0x61, 0x64,
+ 0x69, 0x6f, 0x73, 0x35, 0x67, 0x68, 0x7a, 0x41, 0x6e, 0x74, 0x65, 0x6e, 0x6e, 0x61, 0x32, 0x52,
+ 0x73, 0x73, 0x69, 0x12, 0x56, 0x0a, 0x19, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x35, 0x67,
+ 0x68, 0x7a, 0x5f, 0x61, 0x6e, 0x74, 0x65, 0x6e, 0x6e, 0x61, 0x33, 0x5f, 0x72, 0x73, 0x73, 0x69,
+ 0x18, 0x7a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61,
+ 0x6c, 0x75, 0x65, 0x52, 0x16, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x35, 0x67, 0x68, 0x7a, 0x41,
+ 0x6e, 0x74, 0x65, 0x6e, 0x6e, 0x61, 0x33, 0x52, 0x73, 0x73, 0x69, 0x12, 0x53, 0x0a, 0x17, 0x72,
+ 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x35, 0x67, 0x68, 0x7a, 0x5f, 0x69, 0x66, 0x61, 0x63, 0x65,
+ 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x7b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55,
+ 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x14, 0x72, 0x61, 0x64, 0x69,
+ 0x6f, 0x73, 0x35, 0x67, 0x68, 0x7a, 0x49, 0x66, 0x61, 0x63, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74,
+ 0x12, 0x5f, 0x0a, 0x1e, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x35, 0x67, 0x68, 0x7a, 0x5f,
+ 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x62, 0x75, 0x73, 0x79, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69,
+ 0x6f, 0x6e, 0x18, 0x7c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74,
+ 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1a, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x35, 0x67, 0x68,
+ 0x7a, 0x43, 0x68, 0x61, 0x6e, 0x42, 0x75, 0x73, 0x79, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f,
+ 0x6e, 0x12, 0x58, 0x0a, 0x1a, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x35, 0x67, 0x68, 0x7a,
+ 0x5f, 0x65, 0x64, 0x63, 0x63, 0x61, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18,
+ 0x7d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c,
+ 0x75, 0x65, 0x52, 0x17, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x35, 0x67, 0x68, 0x7a, 0x45, 0x64,
+ 0x63, 0x63, 0x61, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6b, 0x0a, 0x24, 0x72,
+ 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x35, 0x67, 0x68, 0x7a, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x6c,
+ 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x73, 0x73, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74,
+ 0x69, 0x6f, 0x6e, 0x18, 0x7e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61,
+ 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x20, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x35, 0x67,
+ 0x68, 0x7a, 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x42, 0x73, 0x73,
+ 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4c, 0x0a, 0x14, 0x72, 0x61, 0x64, 0x69,
+ 0x6f, 0x73, 0x5f, 0x35, 0x67, 0x68, 0x7a, 0x5f, 0x72, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73,
+ 0x18, 0x7f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61,
+ 0x6c, 0x75, 0x65, 0x52, 0x11, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x35, 0x67, 0x68, 0x7a, 0x52,
+ 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x51, 0x0a, 0x16, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73,
+ 0x5f, 0x35, 0x67, 0x68, 0x7a, 0x5f, 0x72, 0x78, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73,
+ 0x18, 0x80, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56,
+ 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x35, 0x67, 0x68, 0x7a,
+ 0x52, 0x78, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x4f, 0x0a, 0x15, 0x72, 0x61, 0x64,
+ 0x69, 0x6f, 0x73, 0x5f, 0x35, 0x67, 0x68, 0x7a, 0x5f, 0x72, 0x78, 0x5f, 0x65, 0x72, 0x72, 0x6f,
+ 0x72, 0x73, 0x18, 0x81, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36,
+ 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x35, 0x67,
+ 0x68, 0x7a, 0x52, 0x78, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x5a, 0x0a, 0x1b, 0x72, 0x61,
+ 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x35, 0x67, 0x68, 0x7a, 0x5f, 0x72, 0x78, 0x5f, 0x66, 0x72, 0x61,
+ 0x6d, 0x65, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x82, 0x01, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x17, 0x72,
+ 0x61, 0x64, 0x69, 0x6f, 0x73, 0x35, 0x67, 0x68, 0x7a, 0x52, 0x78, 0x46, 0x72, 0x61, 0x6d, 0x65,
+ 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x63, 0x0a, 0x20, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73,
+ 0x5f, 0x35, 0x67, 0x68, 0x7a, 0x5f, 0x72, 0x78, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f,
+ 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x83, 0x01, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1b,
+ 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x35, 0x67, 0x68, 0x7a, 0x52, 0x78, 0x50, 0x61, 0x63, 0x6b,
+ 0x65, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x61, 0x74, 0x65, 0x12, 0x62, 0x0a, 0x1f, 0x72,
+ 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x35, 0x67, 0x68, 0x7a, 0x5f, 0x72, 0x78, 0x5f, 0x61, 0x69,
+ 0x72, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x84,
+ 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c,
+ 0x75, 0x65, 0x52, 0x1b, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x35, 0x67, 0x68, 0x7a, 0x52, 0x78,
+ 0x41, 0x69, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12,
+ 0x4d, 0x0a, 0x14, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x35, 0x67, 0x68, 0x7a, 0x5f, 0x74,
+ 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x85, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+ 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x72, 0x61, 0x64,
+ 0x69, 0x6f, 0x73, 0x35, 0x67, 0x68, 0x7a, 0x54, 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x51,
+ 0x0a, 0x16, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x35, 0x67, 0x68, 0x7a, 0x5f, 0x74, 0x78,
+ 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x86, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x72, 0x61,
+ 0x64, 0x69, 0x6f, 0x73, 0x35, 0x67, 0x68, 0x7a, 0x54, 0x78, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74,
+ 0x73, 0x12, 0x4f, 0x0a, 0x15, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x35, 0x67, 0x68, 0x7a,
+ 0x5f, 0x74, 0x78, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x87, 0x01, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12,
+ 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x35, 0x67, 0x68, 0x7a, 0x54, 0x78, 0x45, 0x72, 0x72, 0x6f,
+ 0x72, 0x73, 0x12, 0x63, 0x0a, 0x20, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x35, 0x67, 0x68,
+ 0x7a, 0x5f, 0x74, 0x78, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x65, 0x72, 0x72, 0x6f,
+ 0x72, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x88, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
+ 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1b, 0x72, 0x61, 0x64, 0x69,
+ 0x6f, 0x73, 0x35, 0x67, 0x68, 0x7a, 0x54, 0x78, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x45, 0x72,
+ 0x72, 0x6f, 0x72, 0x52, 0x61, 0x74, 0x65, 0x12, 0x62, 0x0a, 0x1f, 0x72, 0x61, 0x64, 0x69, 0x6f,
+ 0x73, 0x5f, 0x35, 0x67, 0x68, 0x7a, 0x5f, 0x74, 0x78, 0x5f, 0x61, 0x69, 0x72, 0x74, 0x69, 0x6d,
+ 0x65, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x89, 0x01, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1b,
+ 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x35, 0x67, 0x68, 0x7a, 0x54, 0x78, 0x41, 0x69, 0x72, 0x74,
+ 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x55, 0x0a, 0x18, 0x72,
+ 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x32, 0x67, 0x68, 0x7a, 0x5f, 0x74, 0x68, 0x65, 0x72, 0x6d,
+ 0x61, 0x6c, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x18, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+ 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x15, 0x72, 0x61, 0x64,
+ 0x69, 0x6f, 0x73, 0x32, 0x67, 0x68, 0x7a, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x54, 0x65,
+ 0x6d, 0x70, 0x12, 0x55, 0x0a, 0x18, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x35, 0x67, 0x68,
+ 0x7a, 0x5f, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x18, 0xc9,
+ 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c,
+ 0x75, 0x65, 0x52, 0x15, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x35, 0x67, 0x68, 0x7a, 0x54, 0x68,
+ 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x54, 0x65, 0x6d, 0x70, 0x12, 0x60, 0x0a, 0x1e, 0x72, 0x61, 0x64,
+ 0x69, 0x6f, 0x73, 0x5f, 0x32, 0x67, 0x68, 0x7a, 0x5f, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c,
+ 0x5f, 0x64, 0x75, 0x74, 0x79, 0x5f, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x18, 0xca, 0x01, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
+ 0x1a, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x32, 0x67, 0x68, 0x7a, 0x54, 0x68, 0x65, 0x72, 0x6d,
+ 0x61, 0x6c, 0x44, 0x75, 0x74, 0x79, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x60, 0x0a, 0x1e, 0x72,
+ 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x35, 0x67, 0x68, 0x7a, 0x5f, 0x74, 0x68, 0x65, 0x72, 0x6d,
+ 0x61, 0x6c, 0x5f, 0x64, 0x75, 0x74, 0x79, 0x5f, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x18, 0xcb, 0x01,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75,
+ 0x65, 0x52, 0x1a, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x35, 0x67, 0x68, 0x7a, 0x54, 0x68, 0x65,
+ 0x72, 0x6d, 0x61, 0x6c, 0x44, 0x75, 0x74, 0x79, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x6f, 0x0a,
+ 0x25, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x32, 0x67, 0x68, 0x7a, 0x5f, 0x74, 0x68, 0x65,
+ 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x5f, 0x73,
+ 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0xcc, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
+ 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x21, 0x72, 0x61, 0x64,
+ 0x69, 0x6f, 0x73, 0x32, 0x67, 0x68, 0x7a, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x54, 0x68,
+ 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x6f,
+ 0x0a, 0x25, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x5f, 0x35, 0x67, 0x68, 0x7a, 0x5f, 0x74, 0x68,
+ 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x5f,
+ 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+ 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x21, 0x72, 0x61,
+ 0x64, 0x69, 0x6f, 0x73, 0x35, 0x67, 0x68, 0x7a, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x54,
+ 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12,
+ 0x52, 0x0a, 0x17, 0x69, 0x66, 0x61, 0x63, 0x65, 0x73, 0x5f, 0x6c, 0x61, 0x6e, 0x5f, 0x65, 0x74,
+ 0x68, 0x5f, 0x72, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0xac, 0x02, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13,
+ 0x69, 0x66, 0x61, 0x63, 0x65, 0x73, 0x4c, 0x61, 0x6e, 0x45, 0x74, 0x68, 0x52, 0x78, 0x42, 0x79,
+ 0x74, 0x65, 0x73, 0x12, 0x56, 0x0a, 0x19, 0x69, 0x66, 0x61, 0x63, 0x65, 0x73, 0x5f, 0x6c, 0x61,
+ 0x6e, 0x5f, 0x65, 0x74, 0x68, 0x5f, 0x72, 0x78, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73,
+ 0x18, 0xad, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56,
+ 0x61, 0x6c, 0x75, 0x65, 0x52, 0x15, 0x69, 0x66, 0x61, 0x63, 0x65, 0x73, 0x4c, 0x61, 0x6e, 0x45,
+ 0x74, 0x68, 0x52, 0x78, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x54, 0x0a, 0x18, 0x69,
+ 0x66, 0x61, 0x63, 0x65, 0x73, 0x5f, 0x6c, 0x61, 0x6e, 0x5f, 0x65, 0x74, 0x68, 0x5f, 0x72, 0x78,
+ 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0xae, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+ 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x14, 0x69, 0x66, 0x61,
+ 0x63, 0x65, 0x73, 0x4c, 0x61, 0x6e, 0x45, 0x74, 0x68, 0x52, 0x78, 0x45, 0x72, 0x72, 0x6f, 0x72,
+ 0x73, 0x12, 0x5f, 0x0a, 0x1e, 0x69, 0x66, 0x61, 0x63, 0x65, 0x73, 0x5f, 0x6c, 0x61, 0x6e, 0x5f,
+ 0x65, 0x74, 0x68, 0x5f, 0x72, 0x78, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x65, 0x72, 0x72,
+ 0x6f, 0x72, 0x73, 0x18, 0xaf, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74,
+ 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x19, 0x69, 0x66, 0x61, 0x63, 0x65, 0x73, 0x4c,
+ 0x61, 0x6e, 0x45, 0x74, 0x68, 0x52, 0x78, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x45, 0x72, 0x72, 0x6f,
+ 0x72, 0x73, 0x12, 0x52, 0x0a, 0x17, 0x69, 0x66, 0x61, 0x63, 0x65, 0x73, 0x5f, 0x6c, 0x61, 0x6e,
+ 0x5f, 0x65, 0x74, 0x68, 0x5f, 0x74, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0xb0, 0x02,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75,
+ 0x65, 0x52, 0x13, 0x69, 0x66, 0x61, 0x63, 0x65, 0x73, 0x4c, 0x61, 0x6e, 0x45, 0x74, 0x68, 0x54,
+ 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x56, 0x0a, 0x19, 0x69, 0x66, 0x61, 0x63, 0x65, 0x73,
+ 0x5f, 0x6c, 0x61, 0x6e, 0x5f, 0x65, 0x74, 0x68, 0x5f, 0x74, 0x78, 0x5f, 0x70, 0x61, 0x63, 0x6b,
+ 0x65, 0x74, 0x73, 0x18, 0xb1, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74,
+ 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x15, 0x69, 0x66, 0x61, 0x63, 0x65, 0x73, 0x4c,
+ 0x61, 0x6e, 0x45, 0x74, 0x68, 0x54, 0x78, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x54,
+ 0x0a, 0x18, 0x69, 0x66, 0x61, 0x63, 0x65, 0x73, 0x5f, 0x6c, 0x61, 0x6e, 0x5f, 0x65, 0x74, 0x68,
+ 0x5f, 0x74, 0x78, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0xb2, 0x02, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x14,
+ 0x69, 0x66, 0x61, 0x63, 0x65, 0x73, 0x4c, 0x61, 0x6e, 0x45, 0x74, 0x68, 0x54, 0x78, 0x45, 0x72,
+ 0x72, 0x6f, 0x72, 0x73, 0x12, 0x52, 0x0a, 0x17, 0x69, 0x66, 0x61, 0x63, 0x65, 0x73, 0x5f, 0x77,
+ 0x61, 0x6e, 0x5f, 0x65, 0x74, 0x68, 0x5f, 0x72, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18,
+ 0xb3, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61,
+ 0x6c, 0x75, 0x65, 0x52, 0x13, 0x69, 0x66, 0x61, 0x63, 0x65, 0x73, 0x57, 0x61, 0x6e, 0x45, 0x74,
+ 0x68, 0x52, 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x56, 0x0a, 0x19, 0x69, 0x66, 0x61, 0x63,
+ 0x65, 0x73, 0x5f, 0x77, 0x61, 0x6e, 0x5f, 0x65, 0x74, 0x68, 0x5f, 0x72, 0x78, 0x5f, 0x70, 0x61,
+ 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0xb4, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49,
+ 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x15, 0x69, 0x66, 0x61, 0x63, 0x65,
+ 0x73, 0x57, 0x61, 0x6e, 0x45, 0x74, 0x68, 0x52, 0x78, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73,
+ 0x12, 0x54, 0x0a, 0x18, 0x69, 0x66, 0x61, 0x63, 0x65, 0x73, 0x5f, 0x77, 0x61, 0x6e, 0x5f, 0x65,
+ 0x74, 0x68, 0x5f, 0x72, 0x78, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0xb5, 0x02, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65,
+ 0x52, 0x14, 0x69, 0x66, 0x61, 0x63, 0x65, 0x73, 0x57, 0x61, 0x6e, 0x45, 0x74, 0x68, 0x52, 0x78,
+ 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x5f, 0x0a, 0x1e, 0x69, 0x66, 0x61, 0x63, 0x65, 0x73,
+ 0x5f, 0x77, 0x61, 0x6e, 0x5f, 0x65, 0x74, 0x68, 0x5f, 0x72, 0x78, 0x5f, 0x66, 0x72, 0x61, 0x6d,
+ 0x65, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0xb6, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x19, 0x69, 0x66,
+ 0x61, 0x63, 0x65, 0x73, 0x57, 0x61, 0x6e, 0x45, 0x74, 0x68, 0x52, 0x78, 0x46, 0x72, 0x61, 0x6d,
+ 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x52, 0x0a, 0x17, 0x69, 0x66, 0x61, 0x63, 0x65,
+ 0x73, 0x5f, 0x77, 0x61, 0x6e, 0x5f, 0x65, 0x74, 0x68, 0x5f, 0x74, 0x78, 0x5f, 0x62, 0x79, 0x74,
+ 0x65, 0x73, 0x18, 0xb7, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36,
+ 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x69, 0x66, 0x61, 0x63, 0x65, 0x73, 0x57, 0x61,
+ 0x6e, 0x45, 0x74, 0x68, 0x54, 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x56, 0x0a, 0x19, 0x69,
+ 0x66, 0x61, 0x63, 0x65, 0x73, 0x5f, 0x77, 0x61, 0x6e, 0x5f, 0x65, 0x74, 0x68, 0x5f, 0x74, 0x78,
+ 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0xb8, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x15, 0x69, 0x66,
+ 0x61, 0x63, 0x65, 0x73, 0x57, 0x61, 0x6e, 0x45, 0x74, 0x68, 0x54, 0x78, 0x50, 0x61, 0x63, 0x6b,
+ 0x65, 0x74, 0x73, 0x12, 0x54, 0x0a, 0x18, 0x69, 0x66, 0x61, 0x63, 0x65, 0x73, 0x5f, 0x77, 0x61,
+ 0x6e, 0x5f, 0x65, 0x74, 0x68, 0x5f, 0x74, 0x78, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18,
+ 0xb9, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61,
+ 0x6c, 0x75, 0x65, 0x52, 0x14, 0x69, 0x66, 0x61, 0x63, 0x65, 0x73, 0x57, 0x61, 0x6e, 0x45, 0x74,
+ 0x68, 0x54, 0x78, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x37, 0x0a, 0x07, 0x63, 0x6c, 0x69,
+ 0x65, 0x6e, 0x74, 0x73, 0x18, 0x90, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49,
+ 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x63, 0x6c, 0x69, 0x65, 0x6e,
+ 0x74, 0x73, 0x12, 0x40, 0x0a, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x32, 0x67,
+ 0x68, 0x7a, 0x18, 0x91, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74,
+ 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73,
+ 0x32, 0x67, 0x68, 0x7a, 0x12, 0x40, 0x0a, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x5f,
+ 0x35, 0x67, 0x68, 0x7a, 0x18, 0x92, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49,
+ 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e,
+ 0x74, 0x73, 0x35, 0x67, 0x68, 0x7a, 0x12, 0x3e, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
+ 0x73, 0x5f, 0x65, 0x74, 0x68, 0x18, 0x93, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55,
+ 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65,
+ 0x6e, 0x74, 0x73, 0x45, 0x74, 0x68, 0x12, 0x48, 0x0a, 0x10, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
+ 0x73, 0x5f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x72, 0x18, 0x94, 0x03, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
+ 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x72,
+ 0x12, 0x51, 0x0a, 0x15, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x65,
+ 0x61, 0x74, 0x65, 0x72, 0x5f, 0x32, 0x67, 0x68, 0x7a, 0x18, 0x95, 0x03, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13,
+ 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x72, 0x32,
+ 0x67, 0x68, 0x7a, 0x12, 0x51, 0x0a, 0x15, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x72,
+ 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x72, 0x5f, 0x35, 0x67, 0x68, 0x7a, 0x18, 0x96, 0x03, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75,
+ 0x65, 0x52, 0x13, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74,
+ 0x65, 0x72, 0x35, 0x67, 0x68, 0x7a, 0x12, 0x4f, 0x0a, 0x14, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
+ 0x73, 0x5f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x74, 0x68, 0x18, 0x97,
+ 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61,
+ 0x6c, 0x75, 0x65, 0x52, 0x12, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x70, 0x65,
+ 0x61, 0x74, 0x65, 0x72, 0x45, 0x74, 0x68, 0x12, 0x3a, 0x0a, 0x09, 0x6d, 0x65, 0x73, 0x68, 0x5f,
+ 0x68, 0x6f, 0x70, 0x73, 0x18, 0x98, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49,
+ 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x68, 0x48,
+ 0x6f, 0x70, 0x73, 0x12, 0x57, 0x0a, 0x1a, 0x6d, 0x65, 0x73, 0x68, 0x5f, 0x6f, 0x6e, 0x65, 0x5f,
+ 0x68, 0x6f, 0x70, 0x5f, 0x72, 0x73, 0x73, 0x69, 0x5f, 0x61, 0x76, 0x67, 0x5f, 0x32, 0x67, 0x68,
+ 0x7a, 0x18, 0x99, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74,
+ 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x15, 0x6d, 0x65, 0x73, 0x68, 0x4f, 0x6e, 0x65, 0x48, 0x6f,
+ 0x70, 0x52, 0x73, 0x73, 0x69, 0x41, 0x76, 0x67, 0x32, 0x67, 0x68, 0x7a, 0x12, 0x57, 0x0a, 0x1a,
+ 0x6d, 0x65, 0x73, 0x68, 0x5f, 0x6f, 0x6e, 0x65, 0x5f, 0x68, 0x6f, 0x70, 0x5f, 0x72, 0x73, 0x73,
+ 0x69, 0x5f, 0x61, 0x76, 0x67, 0x5f, 0x35, 0x67, 0x68, 0x7a, 0x18, 0x9a, 0x03, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x15,
+ 0x6d, 0x65, 0x73, 0x68, 0x4f, 0x6e, 0x65, 0x48, 0x6f, 0x70, 0x52, 0x73, 0x73, 0x69, 0x41, 0x76,
+ 0x67, 0x35, 0x67, 0x68, 0x7a, 0x12, 0x57, 0x0a, 0x1a, 0x6d, 0x65, 0x73, 0x68, 0x5f, 0x74, 0x77,
+ 0x6f, 0x5f, 0x68, 0x6f, 0x70, 0x5f, 0x72, 0x73, 0x73, 0x69, 0x5f, 0x61, 0x76, 0x67, 0x5f, 0x32,
+ 0x67, 0x68, 0x7a, 0x18, 0x9b, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f,
+ 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x15, 0x6d, 0x65, 0x73, 0x68, 0x54, 0x77, 0x6f,
+ 0x48, 0x6f, 0x70, 0x52, 0x73, 0x73, 0x69, 0x41, 0x76, 0x67, 0x32, 0x67, 0x68, 0x7a, 0x12, 0x57,
+ 0x0a, 0x1a, 0x6d, 0x65, 0x73, 0x68, 0x5f, 0x74, 0x77, 0x6f, 0x5f, 0x68, 0x6f, 0x70, 0x5f, 0x72,
+ 0x73, 0x73, 0x69, 0x5f, 0x61, 0x76, 0x67, 0x5f, 0x35, 0x67, 0x68, 0x7a, 0x18, 0x9c, 0x03, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65,
+ 0x52, 0x15, 0x6d, 0x65, 0x73, 0x68, 0x54, 0x77, 0x6f, 0x48, 0x6f, 0x70, 0x52, 0x73, 0x73, 0x69,
+ 0x41, 0x76, 0x67, 0x35, 0x67, 0x68, 0x7a, 0x12, 0x65, 0x0a, 0x21, 0x70, 0x69, 0x6e, 0x67, 0x5f,
+ 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x61,
+ 0x73, 0x74, 0x5f, 0x31, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x61, 0x67, 0x65, 0x18, 0xd8, 0x04, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65,
+ 0x52, 0x1c, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x53, 0x69, 0x6e,
+ 0x63, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x31, 0x73, 0x4f, 0x75, 0x74, 0x61, 0x67, 0x65, 0x12, 0x65,
+ 0x0a, 0x21, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x73,
+ 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x32, 0x73, 0x5f, 0x6f, 0x75, 0x74,
+ 0x61, 0x67, 0x65, 0x18, 0xd9, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f,
+ 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1c, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x63,
+ 0x6f, 0x6e, 0x64, 0x73, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x32, 0x73, 0x4f,
+ 0x75, 0x74, 0x61, 0x67, 0x65, 0x12, 0x65, 0x0a, 0x21, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x65,
+ 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74,
+ 0x5f, 0x35, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x61, 0x67, 0x65, 0x18, 0xda, 0x04, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1c,
+ 0x70, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x53, 0x69, 0x6e, 0x63, 0x65,
+ 0x4c, 0x61, 0x73, 0x74, 0x35, 0x73, 0x4f, 0x75, 0x74, 0x61, 0x67, 0x65, 0x12, 0x67, 0x0a, 0x22,
+ 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x73, 0x69, 0x6e,
+ 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x36, 0x30, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x61,
+ 0x67, 0x65, 0x18, 0xdb, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61,
+ 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1d, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x63, 0x6f,
+ 0x6e, 0x64, 0x73, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x36, 0x30, 0x73, 0x4f,
+ 0x75, 0x74, 0x61, 0x67, 0x65, 0x12, 0x69, 0x0a, 0x23, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x65,
+ 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74,
+ 0x5f, 0x33, 0x30, 0x30, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x61, 0x67, 0x65, 0x18, 0xdc, 0x04, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65,
+ 0x52, 0x1e, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x53, 0x69, 0x6e,
+ 0x63, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x33, 0x30, 0x30, 0x73, 0x4f, 0x75, 0x74, 0x61, 0x67, 0x65,
+ 0x12, 0x42, 0x0a, 0x0e, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x72, 0x61,
+ 0x74, 0x65, 0x18, 0xdd, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61,
+ 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x70, 0x69, 0x6e, 0x67, 0x44, 0x72, 0x6f, 0x70,
+ 0x52, 0x61, 0x74, 0x65, 0x12, 0x50, 0x0a, 0x16, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x72, 0x6f,
+ 0x70, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x31, 0x68, 0x18, 0xde,
+ 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c,
+ 0x75, 0x65, 0x52, 0x12, 0x70, 0x69, 0x6e, 0x67, 0x44, 0x72, 0x6f, 0x70, 0x52, 0x61, 0x74, 0x65,
+ 0x4c, 0x61, 0x73, 0x74, 0x31, 0x68, 0x12, 0x3f, 0x0a, 0x0c, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x6c,
+ 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x18, 0xdf, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
+ 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x70, 0x69, 0x6e, 0x67,
+ 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x4d, 0x0a, 0x14, 0x70, 0x69, 0x6e, 0x67, 0x5f,
+ 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x31, 0x68, 0x18,
+ 0xea, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61,
+ 0x6c, 0x75, 0x65, 0x52, 0x11, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79,
+ 0x4c, 0x61, 0x73, 0x74, 0x31, 0x68, 0x12, 0x6e, 0x0a, 0x26, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x64,
+ 0x69, 0x73, 0x68, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x63,
+ 0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x31, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x61, 0x67, 0x65,
+ 0x18, 0xe2, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56,
+ 0x61, 0x6c, 0x75, 0x65, 0x52, 0x20, 0x70, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x73, 0x68, 0x53, 0x65,
+ 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x31, 0x73,
+ 0x4f, 0x75, 0x74, 0x61, 0x67, 0x65, 0x12, 0x6e, 0x0a, 0x26, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x64,
+ 0x69, 0x73, 0x68, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x63,
+ 0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x32, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x61, 0x67, 0x65,
+ 0x18, 0xe3, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56,
+ 0x61, 0x6c, 0x75, 0x65, 0x52, 0x20, 0x70, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x73, 0x68, 0x53, 0x65,
+ 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x32, 0x73,
+ 0x4f, 0x75, 0x74, 0x61, 0x67, 0x65, 0x12, 0x6e, 0x0a, 0x26, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x64,
+ 0x69, 0x73, 0x68, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x63,
+ 0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x35, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x61, 0x67, 0x65,
+ 0x18, 0xe4, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56,
+ 0x61, 0x6c, 0x75, 0x65, 0x52, 0x20, 0x70, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x73, 0x68, 0x53, 0x65,
+ 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x35, 0x73,
+ 0x4f, 0x75, 0x74, 0x61, 0x67, 0x65, 0x12, 0x70, 0x0a, 0x27, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x64,
+ 0x69, 0x73, 0x68, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x63,
+ 0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x36, 0x30, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x61, 0x67,
+ 0x65, 0x18, 0xe5, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74,
+ 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x21, 0x70, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x73, 0x68, 0x53,
+ 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x36,
+ 0x30, 0x73, 0x4f, 0x75, 0x74, 0x61, 0x67, 0x65, 0x12, 0x72, 0x0a, 0x28, 0x70, 0x69, 0x6e, 0x67,
+ 0x5f, 0x64, 0x69, 0x73, 0x68, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x73, 0x69,
+ 0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x33, 0x30, 0x30, 0x73, 0x5f, 0x6f, 0x75,
+ 0x74, 0x61, 0x67, 0x65, 0x18, 0xe6, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c,
+ 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x22, 0x70, 0x69, 0x6e, 0x67, 0x44, 0x69,
+ 0x73, 0x68, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x4c, 0x61,
+ 0x73, 0x74, 0x33, 0x30, 0x30, 0x73, 0x4f, 0x75, 0x74, 0x61, 0x67, 0x65, 0x12, 0x4b, 0x0a, 0x13,
+ 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x73, 0x68, 0x5f, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x72,
+ 0x61, 0x74, 0x65, 0x18, 0xe7, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f,
+ 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x70, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x73,
+ 0x68, 0x44, 0x72, 0x6f, 0x70, 0x52, 0x61, 0x74, 0x65, 0x12, 0x59, 0x0a, 0x1b, 0x70, 0x69, 0x6e,
+ 0x67, 0x5f, 0x64, 0x69, 0x73, 0x68, 0x5f, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x72, 0x61, 0x74, 0x65,
+ 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x31, 0x68, 0x18, 0xe8, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x16, 0x70, 0x69,
+ 0x6e, 0x67, 0x44, 0x69, 0x73, 0x68, 0x44, 0x72, 0x6f, 0x70, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x61,
+ 0x73, 0x74, 0x31, 0x68, 0x12, 0x48, 0x0a, 0x11, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x73,
+ 0x68, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x18, 0xe9, 0x04, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x70,
+ 0x69, 0x6e, 0x67, 0x44, 0x69, 0x73, 0x68, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x56,
+ 0x0a, 0x19, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x73, 0x68, 0x5f, 0x6c, 0x61, 0x74, 0x65,
+ 0x6e, 0x63, 0x79, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x31, 0x68, 0x18, 0xeb, 0x04, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
+ 0x15, 0x70, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x73, 0x68, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79,
+ 0x4c, 0x61, 0x73, 0x74, 0x31, 0x68, 0x12, 0x6e, 0x0a, 0x25, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
+ 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65,
+ 0x72, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6d, 0x62, 0x70, 0x73, 0x18,
+ 0xbc, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61,
+ 0x6c, 0x75, 0x65, 0x52, 0x21, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x65, 0x64,
+ 0x74, 0x65, 0x73, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f,
+ 0x61, 0x64, 0x4d, 0x62, 0x70, 0x73, 0x12, 0x6a, 0x0a, 0x23, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
+ 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65,
+ 0x72, 0x5f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6d, 0x62, 0x70, 0x73, 0x18, 0xbd, 0x05,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75,
+ 0x65, 0x52, 0x1f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65,
+ 0x73, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x62,
+ 0x70, 0x73, 0x12, 0x5d, 0x0a, 0x1c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x70, 0x65,
+ 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x72, 0x73,
+ 0x73, 0x69, 0x18, 0xbe, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61,
+ 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x19, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x70,
+ 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x73, 0x73,
+ 0x69, 0x12, 0x6a, 0x0a, 0x23, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x65,
+ 0x64, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x6c,
+ 0x6f, 0x61, 0x64, 0x5f, 0x6d, 0x62, 0x70, 0x73, 0x18, 0xbf, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1f, 0x63, 0x6c,
+ 0x69, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x57, 0x69, 0x66,
+ 0x69, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x62, 0x70, 0x73, 0x12, 0x66, 0x0a,
+ 0x21, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73,
+ 0x74, 0x5f, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6d, 0x62,
+ 0x70, 0x73, 0x18, 0xc0, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61,
+ 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x70,
+ 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x57, 0x69, 0x66, 0x69, 0x55, 0x70, 0x6c, 0x6f, 0x61,
+ 0x64, 0x4d, 0x62, 0x70, 0x73, 0x12, 0x6e, 0x0a, 0x25, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f,
+ 0x73, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
+ 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6d, 0x62, 0x70, 0x73, 0x18, 0xc1,
+ 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c,
+ 0x75, 0x65, 0x52, 0x21, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x65, 0x64, 0x74,
+ 0x65, 0x73, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61,
+ 0x64, 0x4d, 0x62, 0x70, 0x73, 0x12, 0x6a, 0x0a, 0x23, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f,
+ 0x73, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
+ 0x5f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6d, 0x62, 0x70, 0x73, 0x18, 0xc2, 0x05, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65,
+ 0x52, 0x1f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73,
+ 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x62, 0x70,
+ 0x73, 0x12, 0x5d, 0x0a, 0x1c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x65,
+ 0x64, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x73, 0x73,
+ 0x69, 0x18, 0xc3, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74,
+ 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x19, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65,
+ 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x73, 0x73, 0x69,
+ 0x12, 0x60, 0x0a, 0x1d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64,
+ 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x66, 0x61, 0x63,
+ 0x65, 0x18, 0xc4, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33,
+ 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x70,
+ 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x66, 0x61,
+ 0x63, 0x65, 0x12, 0x5c, 0x0a, 0x1b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x70, 0x65,
+ 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x75,
+ 0x69, 0x18, 0xc5, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e,
+ 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x18, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x70,
+ 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4f, 0x75, 0x69,
+ 0x12, 0x63, 0x0a, 0x1f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64,
+ 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x78, 0x5f, 0x72,
+ 0x61, 0x74, 0x65, 0x18, 0xc6, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e,
+ 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
+ 0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54,
+ 0x78, 0x52, 0x61, 0x74, 0x65, 0x12, 0x63, 0x0a, 0x1f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f,
+ 0x73, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
+ 0x5f, 0x72, 0x78, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0xc7, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1b, 0x63,
+ 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x43, 0x6c,
+ 0x69, 0x65, 0x6e, 0x74, 0x52, 0x78, 0x52, 0x61, 0x74, 0x65, 0x12, 0x6f, 0x0a, 0x25, 0x63, 0x6c,
+ 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63,
+ 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x74,
+ 0x79, 0x70, 0x65, 0x18, 0xc8, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e,
+ 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x21, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
+ 0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50,
+ 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x65, 0x0a, 0x21, 0x73,
+ 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x38, 0x5f, 0x64,
+ 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6d, 0x62, 0x70, 0x73, 0x5f, 0x61, 0x76, 0x67,
+ 0x18, 0xa0, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56,
+ 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1c, 0x73, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x54,
+ 0x63, 0x70, 0x38, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x62, 0x70, 0x73, 0x41,
+ 0x76, 0x67, 0x12, 0x65, 0x0a, 0x21, 0x73, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x5f,
+ 0x74, 0x63, 0x70, 0x5f, 0x38, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6d,
+ 0x62, 0x70, 0x73, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0xa1, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+ 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1c, 0x73, 0x70, 0x65,
+ 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x54, 0x63, 0x70, 0x38, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f,
+ 0x61, 0x64, 0x4d, 0x62, 0x70, 0x73, 0x4d, 0x61, 0x78, 0x12, 0x61, 0x0a, 0x1f, 0x73, 0x70, 0x65,
+ 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x38, 0x5f, 0x75, 0x70, 0x6c,
+ 0x6f, 0x61, 0x64, 0x5f, 0x6d, 0x62, 0x70, 0x73, 0x5f, 0x61, 0x76, 0x67, 0x18, 0xa2, 0x06, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65,
+ 0x52, 0x1a, 0x73, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x54, 0x63, 0x70, 0x38, 0x55,
+ 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x62, 0x70, 0x73, 0x41, 0x76, 0x67, 0x12, 0x61, 0x0a, 0x1f,
+ 0x73, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x38, 0x5f,
+ 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6d, 0x62, 0x70, 0x73, 0x5f, 0x6d, 0x61, 0x78, 0x18,
+ 0xa3, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61,
+ 0x6c, 0x75, 0x65, 0x52, 0x1a, 0x73, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x54, 0x63,
+ 0x70, 0x38, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x62, 0x70, 0x73, 0x4d, 0x61, 0x78, 0x12,
+ 0x67, 0x0a, 0x22, 0x73, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x63, 0x70,
+ 0x5f, 0x36, 0x34, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6d, 0x62, 0x70,
+ 0x73, 0x5f, 0x61, 0x76, 0x67, 0x18, 0xa4, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46,
+ 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1d, 0x73, 0x70, 0x65, 0x65, 0x64,
+ 0x74, 0x65, 0x73, 0x74, 0x54, 0x63, 0x70, 0x36, 0x34, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61,
+ 0x64, 0x4d, 0x62, 0x70, 0x73, 0x41, 0x76, 0x67, 0x12, 0x67, 0x0a, 0x22, 0x73, 0x70, 0x65, 0x65,
+ 0x64, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x36, 0x34, 0x5f, 0x64, 0x6f, 0x77,
+ 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6d, 0x62, 0x70, 0x73, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0xa5,
+ 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c,
+ 0x75, 0x65, 0x52, 0x1d, 0x73, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x54, 0x63, 0x70,
+ 0x36, 0x34, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x62, 0x70, 0x73, 0x4d, 0x61,
+ 0x78, 0x12, 0x63, 0x0a, 0x20, 0x73, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x74,
+ 0x63, 0x70, 0x5f, 0x36, 0x34, 0x5f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6d, 0x62, 0x70,
+ 0x73, 0x5f, 0x61, 0x76, 0x67, 0x18, 0xa6, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46,
+ 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1b, 0x73, 0x70, 0x65, 0x65, 0x64,
+ 0x74, 0x65, 0x73, 0x74, 0x54, 0x63, 0x70, 0x36, 0x34, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d,
+ 0x62, 0x70, 0x73, 0x41, 0x76, 0x67, 0x12, 0x63, 0x0a, 0x20, 0x73, 0x70, 0x65, 0x65, 0x64, 0x74,
+ 0x65, 0x73, 0x74, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x36, 0x34, 0x5f, 0x75, 0x70, 0x6c, 0x6f, 0x61,
+ 0x64, 0x5f, 0x6d, 0x62, 0x70, 0x73, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0xa7, 0x06, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1b,
+ 0x73, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x54, 0x63, 0x70, 0x36, 0x34, 0x55, 0x70,
+ 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x62, 0x70, 0x73, 0x4d, 0x61, 0x78, 0x12, 0x3f, 0x0a, 0x0c, 0x64,
+ 0x69, 0x73, 0x68, 0x5f, 0x63, 0x65, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x84, 0x07, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65,
+ 0x52, 0x0a, 0x64, 0x69, 0x73, 0x68, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x64, 0x12, 0x4f, 0x0a, 0x15,
+ 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x65, 0x74, 0x75, 0x70, 0x5f, 0x63, 0x6f, 0x6d,
+ 0x70, 0x6c, 0x65, 0x74, 0x65, 0x18, 0xe8, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42,
+ 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+ 0x53, 0x65, 0x74, 0x75, 0x70, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x49, 0x0a,
+ 0x12, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x62, 0x61, 0x6e, 0x64, 0x73, 0x5f, 0x73, 0x70,
+ 0x6c, 0x69, 0x74, 0x18, 0xe9, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f,
+ 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x61,
+ 0x6e, 0x64, 0x73, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x12, 0x49, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x66,
+ 0x69, 0x67, 0x5f, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x72, 0x18, 0xea,
+ 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75,
+ 0x65, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x73, 0x52, 0x65, 0x70, 0x65, 0x61,
+ 0x74, 0x65, 0x72, 0x12, 0x4b, 0x0a, 0x13, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x6f, 0x70,
+ 0x65, 0x6e, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xeb, 0x07, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x63,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4f, 0x70, 0x65, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
+ 0x12, 0x49, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x73, 0x5f, 0x61, 0x76,
+ 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xec, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
+ 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x66, 0x69,
+ 0x67, 0x49, 0x73, 0x41, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x47, 0x0a, 0x11, 0x63,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x5f, 0x64, 0x6e, 0x73,
+ 0x18, 0xed, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61,
+ 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x63, 0x75, 0x72,
+ 0x65, 0x44, 0x6e, 0x73, 0x12, 0x40, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x6c,
+ 0x65, 0x67, 0x61, 0x63, 0x79, 0x18, 0xee, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42,
+ 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+ 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x12, 0x41, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+ 0x5f, 0x61, 0x70, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0xef, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x63, 0x6f, 0x6e,
+ 0x66, 0x69, 0x67, 0x41, 0x70, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x49, 0x0a, 0x12, 0x63, 0x6f, 0x6e,
+ 0x66, 0x69, 0x67, 0x5f, 0x64, 0x66, 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18,
+ 0xf0, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c,
+ 0x75, 0x65, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x66, 0x73, 0x45, 0x6e, 0x61,
+ 0x62, 0x6c, 0x65, 0x64, 0x12, 0x5f, 0x0a, 0x1e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x6e,
+ 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x73, 0x5f, 0x64,
+ 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0xf1, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
+ 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1a, 0x63, 0x6f, 0x6e, 0x66, 0x69,
+ 0x67, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x49, 0x73, 0x44, 0x65,
+ 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x56, 0x0a, 0x19, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f,
+ 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x73, 0x73, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c,
+ 0x65, 0x64, 0x18, 0xf2, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c,
+ 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x16, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x6d,
+ 0x6f, 0x74, 0x65, 0x53, 0x73, 0x68, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0xec, 0x01,
+ 0x0a, 0x16, 0x73, 0x74, 0x61, 0x72, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65,
+ 0x72, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06,
+ 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f,
+ 0x75, 0x72, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x48, 0x0a, 0x05,
+ 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x53, 0x70,
+ 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74,
+ 0x72, 0x6f, 0x6e, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f,
+ 0x6e, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52,
+ 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x44, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49,
+ 0x2e, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x6f, 0x6e, 0x2e, 0x50, 0x75, 0x62, 0x6c,
+ 0x69, 0x63, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
+ 0x61, 0x6d, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x32, 0x5c, 0x0a, 0x04,
+ 0x4d, 0x65, 0x73, 0x68, 0x12, 0x54, 0x0a, 0x0a, 0x4d, 0x65, 0x73, 0x68, 0x53, 0x74, 0x72, 0x65,
+ 0x61, 0x6d, 0x12, 0x1f, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e,
+ 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x54, 0x6f, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c,
+ 0x6c, 0x65, 0x72, 0x1a, 0x21, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49,
+ 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x46, 0x72, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x74,
+ 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x28, 0x01, 0x30, 0x01, 0x42, 0x17, 0x5a, 0x15, 0x73, 0x70,
+ 0x61, 0x63, 0x65, 0x78, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76,
+ 0x69, 0x63, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
-type WifiClient_TxStats struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- Bytes uint64 `protobuf:"varint,1,opt,name=bytes,proto3" json:"bytes,omitempty"`
- SuccessBytes uint64 `protobuf:"varint,2,opt,name=success_bytes,json=successBytes,proto3" json:"success_bytes,omitempty"`
-}
-
-func (x *WifiClient_TxStats) Reset() {
- *x = WifiClient_TxStats{}
- if protoimpl.UnsafeEnabled {
- mi := &file_spacex_api_device_wifi_proto_msgTypes[17]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *WifiClient_TxStats) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*WifiClient_TxStats) ProtoMessage() {}
-
-func (x *WifiClient_TxStats) ProtoReflect() protoreflect.Message {
- mi := &file_spacex_api_device_wifi_proto_msgTypes[17]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use WifiClient_TxStats.ProtoReflect.Descriptor instead.
-func (*WifiClient_TxStats) Descriptor() ([]byte, []int) {
- return file_spacex_api_device_wifi_proto_rawDescGZIP(), []int{6, 1}
-}
-
-func (x *WifiClient_TxStats) GetBytes() uint64 {
- if x != nil {
- return x.Bytes
- }
- return 0
-}
-
-func (x *WifiClient_TxStats) GetSuccessBytes() uint64 {
- if x != nil {
- return x.SuccessBytes
- }
- return 0
-}
-
-var File_spacex_api_device_wifi_proto protoreflect.FileDescriptor
-
-var file_spacex_api_device_wifi_proto_rawDesc = []byte{
- 0x0a, 0x1c, 0x73, 0x70, 0x61, 0x63, 0x65, 0x78, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76,
- 0x69, 0x63, 0x65, 0x2f, 0x77, 0x69, 0x66, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11,
- 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
- 0x65, 0x1a, 0x1e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x78, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65,
- 0x76, 0x69, 0x63, 0x65, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74,
- 0x6f, 0x1a, 0x23, 0x73, 0x70, 0x61, 0x63, 0x65, 0x78, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65,
- 0x76, 0x69, 0x63, 0x65, 0x2f, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
- 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x56, 0x0a, 0x14, 0x57, 0x69, 0x66, 0x69, 0x53, 0x65,
- 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e,
- 0x0a, 0x0b, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49,
- 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x43, 0x6f, 0x6e, 0x66,
- 0x69, 0x67, 0x52, 0x0a, 0x77, 0x69, 0x66, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x17,
- 0x0a, 0x15, 0x57, 0x69, 0x66, 0x69, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x17, 0x0a, 0x15, 0x57, 0x69, 0x66, 0x69, 0x47,
- 0x65, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x22, 0x51, 0x0a, 0x16, 0x57, 0x69, 0x66, 0x69, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e,
- 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x07, 0x63, 0x6c,
- 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x53, 0x70,
- 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e,
- 0x57, 0x69, 0x66, 0x69, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x63, 0x6c, 0x69, 0x65,
- 0x6e, 0x74, 0x73, 0x22, 0x82, 0x01, 0x0a, 0x16, 0x57, 0x69, 0x66, 0x69, 0x47, 0x65, 0x74, 0x48,
- 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18,
- 0x0a, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52,
- 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x69, 0x6e, 0x67,
- 0x5f, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0xe9, 0x07, 0x20, 0x03, 0x28,
- 0x02, 0x52, 0x0c, 0x70, 0x69, 0x6e, 0x67, 0x44, 0x72, 0x6f, 0x70, 0x52, 0x61, 0x74, 0x65, 0x12,
- 0x27, 0x0a, 0x0f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f,
- 0x6d, 0x73, 0x18, 0xea, 0x07, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0d, 0x70, 0x69, 0x6e, 0x67, 0x4c,
- 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4d, 0x73, 0x22, 0x54, 0x0a, 0x1b, 0x57, 0x69, 0x66, 0x69,
- 0x4e, 0x65, 0x77, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74,
- 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x35, 0x0a, 0x06, 0x63, 0x6c, 0x69, 0x65, 0x6e,
- 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58,
- 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69,
- 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x22, 0xda,
- 0x04, 0x0a, 0x0a, 0x57, 0x69, 0x66, 0x69, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a,
- 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
- 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
- 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x61, 0x63, 0x41, 0x64, 0x64, 0x72, 0x65,
- 0x73, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
- 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73,
- 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x65,
- 0x6e, 0x67, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x73, 0x69, 0x67, 0x6e,
- 0x61, 0x6c, 0x53, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x40, 0x0a, 0x08, 0x72, 0x78,
- 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x53,
- 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
- 0x2e, 0x57, 0x69, 0x66, 0x69, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x52, 0x78, 0x53, 0x74,
- 0x61, 0x74, 0x73, 0x52, 0x07, 0x72, 0x78, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x40, 0x0a, 0x08,
- 0x74, 0x78, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25,
- 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69,
- 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x78,
- 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x07, 0x74, 0x78, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x2a,
- 0x0a, 0x11, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d,
- 0x65, 0x5f, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x61, 0x73, 0x73, 0x6f, 0x63,
- 0x69, 0x61, 0x74, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x6f,
- 0x64, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x6f,
- 0x64, 0x65, 0x53, 0x74, 0x72, 0x12, 0x3d, 0x0a, 0x05, 0x69, 0x66, 0x61, 0x63, 0x65, 0x18, 0x09,
- 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50,
- 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x43, 0x6c, 0x69,
- 0x65, 0x6e, 0x74, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, 0x05, 0x69,
- 0x66, 0x61, 0x63, 0x65, 0x1a, 0x42, 0x0a, 0x07, 0x52, 0x78, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12,
- 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05,
- 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x65,
- 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x63, 0x6f, 0x75,
- 0x6e, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x1a, 0x44, 0x0a, 0x07, 0x54, 0x78, 0x53, 0x74,
- 0x61, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x04, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x63,
- 0x63, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04,
- 0x52, 0x0c, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0x3b,
- 0x0a, 0x09, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55,
- 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x45, 0x54, 0x48, 0x10,
- 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x46, 0x5f, 0x32, 0x47, 0x48, 0x5a, 0x10, 0x02, 0x12, 0x0b,
- 0x0a, 0x07, 0x52, 0x46, 0x5f, 0x35, 0x47, 0x48, 0x5a, 0x10, 0x03, 0x22, 0x74, 0x0a, 0x10, 0x57,
- 0x69, 0x66, 0x69, 0x53, 0x65, 0x74, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
- 0x12, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x73,
- 0x6b, 0x69, 0x70, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x6e,
- 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x74, 0x77, 0x6f,
- 0x72, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72,
- 0x6b, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x0f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72,
- 0x64, 0x22, 0x13, 0x0a, 0x11, 0x57, 0x69, 0x66, 0x69, 0x53, 0x65, 0x74, 0x75, 0x70, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc1, 0x03, 0x0a, 0x15, 0x57, 0x69, 0x66, 0x69, 0x47,
- 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x12, 0x3e, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18,
- 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41,
- 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
- 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f,
- 0x12, 0x41, 0x0a, 0x0c, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65,
- 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e,
- 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
- 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x74,
- 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x63, 0x61, 0x70, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70,
- 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x08, 0x52, 0x14, 0x63, 0x61, 0x70, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x72, 0x74,
- 0x61, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x3b, 0x0a, 0x07, 0x63, 0x6c, 0x69,
- 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x53, 0x70, 0x61,
- 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57,
- 0x69, 0x66, 0x69, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x02, 0x18, 0x01, 0x52, 0x07, 0x63,
- 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c,
- 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0xe9, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
- 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x11, 0x0a, 0x03,
- 0x73, 0x6b, 0x75, 0x18, 0xea, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x6b, 0x75, 0x12,
- 0x29, 0x0a, 0x10, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x77, 0x61, 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72,
- 0x65, 0x73, 0x73, 0x18, 0xeb, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x70, 0x76, 0x34,
- 0x57, 0x61, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x69,
- 0x6e, 0x67, 0x5f, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0xec, 0x07, 0x20,
- 0x01, 0x28, 0x02, 0x52, 0x0c, 0x70, 0x69, 0x6e, 0x67, 0x44, 0x72, 0x6f, 0x70, 0x52, 0x61, 0x74,
- 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63,
- 0x79, 0x5f, 0x6d, 0x73, 0x18, 0xed, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x70, 0x69, 0x6e,
- 0x67, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4d, 0x73, 0x22, 0x56, 0x0a, 0x17, 0x57, 0x69,
- 0x66, 0x69, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e,
- 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65,
- 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x69, 0x67,
- 0x6e, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e,
- 0x67, 0x65, 0x22, 0x8e, 0x01, 0x0a, 0x18, 0x57, 0x69, 0x66, 0x69, 0x41, 0x75, 0x74, 0x68, 0x65,
- 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
- 0x38, 0x0a, 0x04, 0x77, 0x69, 0x66, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e,
- 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
- 0x65, 0x2e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x52, 0x04, 0x77, 0x69, 0x66, 0x69, 0x12, 0x38, 0x0a, 0x04, 0x64, 0x69, 0x73,
- 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58,
- 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x6c,
- 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x04, 0x64,
- 0x69, 0x73, 0x68, 0x22, 0x32, 0x0a, 0x17, 0x57, 0x69, 0x66, 0x69, 0x41, 0x63, 0x63, 0x6f, 0x75,
- 0x6e, 0x74, 0x42, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x17,
- 0x0a, 0x07, 0x64, 0x69, 0x73, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x06, 0x64, 0x69, 0x73, 0x68, 0x49, 0x64, 0x22, 0xfe, 0x04, 0x0a, 0x0b, 0x50, 0x69, 0x6e, 0x67,
- 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6c, 0x61, 0x74, 0x65, 0x6e,
- 0x63, 0x79, 0x5f, 0x6d, 0x65, 0x61, 0x6e, 0x5f, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02,
- 0x52, 0x0d, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4d, 0x65, 0x61, 0x6e, 0x4d, 0x73, 0x12,
- 0x2a, 0x0a, 0x11, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x73, 0x74, 0x64, 0x64, 0x65,
- 0x76, 0x5f, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x6c, 0x61, 0x74, 0x65,
- 0x6e, 0x63, 0x79, 0x53, 0x74, 0x64, 0x64, 0x65, 0x76, 0x4d, 0x73, 0x12, 0x2b, 0x0a, 0x12, 0x6c,
- 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x6d, 0x65, 0x61, 0x6e, 0x5f, 0x6d, 0x73, 0x5f, 0x35,
- 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79,
- 0x4d, 0x65, 0x61, 0x6e, 0x4d, 0x73, 0x35, 0x6d, 0x12, 0x2b, 0x0a, 0x12, 0x6c, 0x61, 0x74, 0x65,
- 0x6e, 0x63, 0x79, 0x5f, 0x6d, 0x65, 0x61, 0x6e, 0x5f, 0x6d, 0x73, 0x5f, 0x31, 0x68, 0x18, 0x04,
- 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4d, 0x65, 0x61,
- 0x6e, 0x4d, 0x73, 0x31, 0x68, 0x12, 0x2b, 0x0a, 0x12, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79,
- 0x5f, 0x6d, 0x65, 0x61, 0x6e, 0x5f, 0x6d, 0x73, 0x5f, 0x31, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28,
- 0x02, 0x52, 0x0f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4d, 0x65, 0x61, 0x6e, 0x4d, 0x73,
- 0x31, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18,
- 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x64, 0x72, 0x6f, 0x70, 0x52, 0x61, 0x74, 0x65, 0x12,
- 0x20, 0x0a, 0x0c, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x35, 0x6d, 0x18,
- 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x64, 0x72, 0x6f, 0x70, 0x52, 0x61, 0x74, 0x65, 0x35,
- 0x6d, 0x12, 0x20, 0x0a, 0x0c, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x31,
- 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x64, 0x72, 0x6f, 0x70, 0x52, 0x61, 0x74,
- 0x65, 0x31, 0x68, 0x12, 0x20, 0x0a, 0x0c, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x72, 0x61, 0x74, 0x65,
- 0x5f, 0x31, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x64, 0x72, 0x6f, 0x70, 0x52,
- 0x61, 0x74, 0x65, 0x31, 0x64, 0x12, 0x3b, 0x0a, 0x1a, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73,
- 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x75, 0x63, 0x63,
- 0x65, 0x73, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x17, 0x73, 0x65, 0x63, 0x6f, 0x6e,
- 0x64, 0x73, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x53, 0x75, 0x63, 0x63, 0x65,
- 0x73, 0x73, 0x12, 0x3e, 0x0a, 0x1c, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x73, 0x69,
- 0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x31, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x61,
- 0x67, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x02, 0x52, 0x18, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64,
- 0x73, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x31, 0x73, 0x4f, 0x75, 0x74, 0x61,
- 0x67, 0x65, 0x12, 0x3e, 0x0a, 0x1c, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x73, 0x69,
- 0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x35, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x61,
- 0x67, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x02, 0x52, 0x18, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64,
- 0x73, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x35, 0x73, 0x4f, 0x75, 0x74, 0x61,
- 0x67, 0x65, 0x12, 0x29, 0x0a, 0x11, 0x68, 0x61, 0x70, 0x70, 0x79, 0x5f, 0x68, 0x6f, 0x75, 0x72,
- 0x73, 0x5f, 0x31, 0x73, 0x5f, 0x31, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x68,
- 0x61, 0x70, 0x70, 0x79, 0x48, 0x6f, 0x75, 0x72, 0x73, 0x31, 0x73, 0x31, 0x64, 0x12, 0x29, 0x0a,
- 0x11, 0x68, 0x61, 0x70, 0x70, 0x79, 0x5f, 0x68, 0x6f, 0x75, 0x72, 0x73, 0x5f, 0x35, 0x73, 0x5f,
- 0x31, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x68, 0x61, 0x70, 0x70, 0x79, 0x48,
- 0x6f, 0x75, 0x72, 0x73, 0x35, 0x73, 0x31, 0x64, 0x22, 0x1b, 0x0a, 0x19, 0x57, 0x69, 0x66, 0x69,
- 0x47, 0x65, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x58, 0x0a, 0x1a, 0x57, 0x69, 0x66, 0x69, 0x47, 0x65, 0x74,
- 0x50, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41,
- 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x4d, 0x65,
- 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x42,
- 0x17, 0x5a, 0x15, 0x73, 0x70, 0x61, 0x63, 0x65, 0x78, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x70,
- 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
-}
-
var (
file_spacex_api_device_wifi_proto_rawDescOnce sync.Once
file_spacex_api_device_wifi_proto_rawDescData = file_spacex_api_device_wifi_proto_rawDesc
return file_spacex_api_device_wifi_proto_rawDescData
}
-var file_spacex_api_device_wifi_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
-var file_spacex_api_device_wifi_proto_msgTypes = make([]protoimpl.MessageInfo, 18)
+var file_spacex_api_device_wifi_proto_enumTypes = make([]protoimpl.EnumInfo, 5)
+var file_spacex_api_device_wifi_proto_msgTypes = make([]protoimpl.MessageInfo, 44)
var file_spacex_api_device_wifi_proto_goTypes = []interface{}{
- (WifiClient_Interface)(0), // 0: SpaceX.API.Device.WifiClient.Interface
- (*WifiSetConfigRequest)(nil), // 1: SpaceX.API.Device.WifiSetConfigRequest
- (*WifiSetConfigResponse)(nil), // 2: SpaceX.API.Device.WifiSetConfigResponse
- (*WifiGetClientsRequest)(nil), // 3: SpaceX.API.Device.WifiGetClientsRequest
- (*WifiGetClientsResponse)(nil), // 4: SpaceX.API.Device.WifiGetClientsResponse
- (*WifiGetHistoryResponse)(nil), // 5: SpaceX.API.Device.WifiGetHistoryResponse
- (*WifiNewClientConnectedEvent)(nil), // 6: SpaceX.API.Device.WifiNewClientConnectedEvent
- (*WifiClient)(nil), // 7: SpaceX.API.Device.WifiClient
- (*WifiSetupRequest)(nil), // 8: SpaceX.API.Device.WifiSetupRequest
- (*WifiSetupResponse)(nil), // 9: SpaceX.API.Device.WifiSetupResponse
- (*WifiGetStatusResponse)(nil), // 10: SpaceX.API.Device.WifiGetStatusResponse
- (*WifiAuthenticateRequest)(nil), // 11: SpaceX.API.Device.WifiAuthenticateRequest
- (*WifiAuthenticateResponse)(nil), // 12: SpaceX.API.Device.WifiAuthenticateResponse
- (*WifiAccountBondingEvent)(nil), // 13: SpaceX.API.Device.WifiAccountBondingEvent
- (*PingMetrics)(nil), // 14: SpaceX.API.Device.PingMetrics
- (*WifiGetPingMetricsRequest)(nil), // 15: SpaceX.API.Device.WifiGetPingMetricsRequest
- (*WifiGetPingMetricsResponse)(nil), // 16: SpaceX.API.Device.WifiGetPingMetricsResponse
- (*WifiClient_RxStats)(nil), // 17: SpaceX.API.Device.WifiClient.RxStats
- (*WifiClient_TxStats)(nil), // 18: SpaceX.API.Device.WifiClient.TxStats
- (*WifiConfig)(nil), // 19: SpaceX.API.Device.WifiConfig
- (*DeviceInfo)(nil), // 20: SpaceX.API.Device.DeviceInfo
- (*DeviceState)(nil), // 21: SpaceX.API.Device.DeviceState
- (*SignedData)(nil), // 22: SpaceX.API.Device.SignedData
- (*ChallengeResponse)(nil), // 23: SpaceX.API.Device.ChallengeResponse
+ (WifiGetClientHistoryResponse_WifiLimitedReason)(0), // 0: SpaceX.API.Device.WifiGetClientHistoryResponse.WifiLimitedReason
+ (WifiClient_Interface)(0), // 1: SpaceX.API.Device.WifiClient.Interface
+ (WifiClient_Role)(0), // 2: SpaceX.API.Device.WifiClient.Role
+ (WifiScanResults_Network_Source)(0), // 3: SpaceX.API.Device.WifiScanResults.Network.Source
+ (WifiNetwork_Band)(0), // 4: SpaceX.API.Device.WifiNetwork.Band
+ (*WifiClients)(nil), // 5: SpaceX.API.Device.WifiClients
+ (*ToController)(nil), // 6: SpaceX.API.Device.ToController
+ (*WifiMeshJoin)(nil), // 7: SpaceX.API.Device.WifiMeshJoin
+ (*FromController)(nil), // 8: SpaceX.API.Device.FromController
+ (*WifiSetConfigRequest)(nil), // 9: SpaceX.API.Device.WifiSetConfigRequest
+ (*WifiSetConfigResponse)(nil), // 10: SpaceX.API.Device.WifiSetConfigResponse
+ (*WifiGetConfigRequest)(nil), // 11: SpaceX.API.Device.WifiGetConfigRequest
+ (*WifiGetConfigResponse)(nil), // 12: SpaceX.API.Device.WifiGetConfigResponse
+ (*WifiSetMeshDeviceTrustRequest)(nil), // 13: SpaceX.API.Device.WifiSetMeshDeviceTrustRequest
+ (*WifiSetMeshDeviceTrustResponse)(nil), // 14: SpaceX.API.Device.WifiSetMeshDeviceTrustResponse
+ (*WifiSetMeshConfigRequest)(nil), // 15: SpaceX.API.Device.WifiSetMeshConfigRequest
+ (*WifiSetMeshConfigResponse)(nil), // 16: SpaceX.API.Device.WifiSetMeshConfigResponse
+ (*WifiGetClientsRequest)(nil), // 17: SpaceX.API.Device.WifiGetClientsRequest
+ (*WifiGetClientsResponse)(nil), // 18: SpaceX.API.Device.WifiGetClientsResponse
+ (*WifiGetClientHistoryRequest)(nil), // 19: SpaceX.API.Device.WifiGetClientHistoryRequest
+ (*WifiGetClientHistoryResponse)(nil), // 20: SpaceX.API.Device.WifiGetClientHistoryResponse
+ (*WifiGetHistoryResponse)(nil), // 21: SpaceX.API.Device.WifiGetHistoryResponse
+ (*WifiNewClientConnectedEvent)(nil), // 22: SpaceX.API.Device.WifiNewClientConnectedEvent
+ (*WifiClient)(nil), // 23: SpaceX.API.Device.WifiClient
+ (*WifiSetupRequest)(nil), // 24: SpaceX.API.Device.WifiSetupRequest
+ (*WifiSetupResponse)(nil), // 25: SpaceX.API.Device.WifiSetupResponse
+ (*WifiBandStatus)(nil), // 26: SpaceX.API.Device.WifiBandStatus
+ (*WifiAlerts)(nil), // 27: SpaceX.API.Device.WifiAlerts
+ (*WifiGetStatusResponse)(nil), // 28: SpaceX.API.Device.WifiGetStatusResponse
+ (*WifiAuthenticateRequest)(nil), // 29: SpaceX.API.Device.WifiAuthenticateRequest
+ (*WifiAuthenticateResponse)(nil), // 30: SpaceX.API.Device.WifiAuthenticateResponse
+ (*WifiAccountBondingEvent)(nil), // 31: SpaceX.API.Device.WifiAccountBondingEvent
+ (*WifiNewPeerEvent)(nil), // 32: SpaceX.API.Device.WifiNewPeerEvent
+ (*PingMetrics)(nil), // 33: SpaceX.API.Device.PingMetrics
+ (*WifiGetPingMetricsRequest)(nil), // 34: SpaceX.API.Device.WifiGetPingMetricsRequest
+ (*WifiGetPingMetricsResponse)(nil), // 35: SpaceX.API.Device.WifiGetPingMetricsResponse
+ (*WifiGetDiagnosticsRequest)(nil), // 36: SpaceX.API.Device.WifiGetDiagnosticsRequest
+ (*WifiGetDiagnosticsResponse)(nil), // 37: SpaceX.API.Device.WifiGetDiagnosticsResponse
+ (*WifiScanResults)(nil), // 38: SpaceX.API.Device.WifiScanResults
+ (*WifiNetwork)(nil), // 39: SpaceX.API.Device.WifiNetwork
+ (*WifiPersistentStats)(nil), // 40: SpaceX.API.Device.WifiPersistentStats
+ (*WifiGetPersistentStatsResponse)(nil), // 41: SpaceX.API.Device.WifiGetPersistentStatsResponse
+ (*StarlinkRouterHourlyMetricsV2)(nil), // 42: SpaceX.API.Device.starlink_router_hourly_metrics_v2
+ (*StarlinkRoutersHourlyMetricsV2)(nil), // 43: SpaceX.API.Device.starlink_routers_hourly_metrics_v2
+ (*StarlinkRouterAlerts)(nil), // 44: SpaceX.API.Device.starlink_router_alerts
+ (*WifiClient_RxStats)(nil), // 45: SpaceX.API.Device.WifiClient.RxStats
+ (*WifiClient_TxStats)(nil), // 46: SpaceX.API.Device.WifiClient.TxStats
+ (*WifiScanResults_Network)(nil), // 47: SpaceX.API.Device.WifiScanResults.Network
+ (*WifiPersistentStats_Event)(nil), // 48: SpaceX.API.Device.WifiPersistentStats.Event
+ (*WifiConfig)(nil), // 49: SpaceX.API.Device.WifiConfig
+ (MeshAuth)(0), // 50: SpaceX.API.Device.MeshAuth
+ (*MeshConfig)(nil), // 51: SpaceX.API.Device.MeshConfig
+ (*DeviceInfo)(nil), // 52: SpaceX.API.Device.DeviceInfo
+ (*DeviceState)(nil), // 53: SpaceX.API.Device.DeviceState
+ (*SignedData)(nil), // 54: SpaceX.API.Device.SignedData
+ (*ChallengeResponse)(nil), // 55: SpaceX.API.Device.ChallengeResponse
+ (*wrapperspb.StringValue)(nil), // 56: google.protobuf.StringValue
+ (*wrapperspb.UInt32Value)(nil), // 57: google.protobuf.UInt32Value
+ (*wrapperspb.BoolValue)(nil), // 58: google.protobuf.BoolValue
+ (*wrapperspb.FloatValue)(nil), // 59: google.protobuf.FloatValue
+ (*wrapperspb.Int32Value)(nil), // 60: google.protobuf.Int32Value
+ (*telemetron.TimestampInfo)(nil), // 61: SpaceX.API.Telemetron.Public.Common.TimestampInfo
+ (*wrapperspb.Int64Value)(nil), // 62: google.protobuf.Int64Value
}
var file_spacex_api_device_wifi_proto_depIdxs = []int32{
- 19, // 0: SpaceX.API.Device.WifiSetConfigRequest.wifi_config:type_name -> SpaceX.API.Device.WifiConfig
- 7, // 1: SpaceX.API.Device.WifiGetClientsResponse.clients:type_name -> SpaceX.API.Device.WifiClient
- 7, // 2: SpaceX.API.Device.WifiNewClientConnectedEvent.client:type_name -> SpaceX.API.Device.WifiClient
- 17, // 3: SpaceX.API.Device.WifiClient.rx_stats:type_name -> SpaceX.API.Device.WifiClient.RxStats
- 18, // 4: SpaceX.API.Device.WifiClient.tx_stats:type_name -> SpaceX.API.Device.WifiClient.TxStats
- 0, // 5: SpaceX.API.Device.WifiClient.iface:type_name -> SpaceX.API.Device.WifiClient.Interface
- 20, // 6: SpaceX.API.Device.WifiGetStatusResponse.device_info:type_name -> SpaceX.API.Device.DeviceInfo
- 21, // 7: SpaceX.API.Device.WifiGetStatusResponse.device_state:type_name -> SpaceX.API.Device.DeviceState
- 7, // 8: SpaceX.API.Device.WifiGetStatusResponse.clients:type_name -> SpaceX.API.Device.WifiClient
- 22, // 9: SpaceX.API.Device.WifiAuthenticateRequest.challenge:type_name -> SpaceX.API.Device.SignedData
- 23, // 10: SpaceX.API.Device.WifiAuthenticateResponse.wifi:type_name -> SpaceX.API.Device.ChallengeResponse
- 23, // 11: SpaceX.API.Device.WifiAuthenticateResponse.dish:type_name -> SpaceX.API.Device.ChallengeResponse
- 14, // 12: SpaceX.API.Device.WifiGetPingMetricsResponse.internet:type_name -> SpaceX.API.Device.PingMetrics
- 13, // [13:13] is the sub-list for method output_type
- 13, // [13:13] is the sub-list for method input_type
- 13, // [13:13] is the sub-list for extension type_name
- 13, // [13:13] is the sub-list for extension extendee
- 0, // [0:13] is the sub-list for field type_name
+ 23, // 0: SpaceX.API.Device.WifiClients.clients:type_name -> SpaceX.API.Device.WifiClient
+ 5, // 1: SpaceX.API.Device.ToController.clients:type_name -> SpaceX.API.Device.WifiClients
+ 7, // 2: SpaceX.API.Device.ToController.mesh_join:type_name -> SpaceX.API.Device.WifiMeshJoin
+ 49, // 3: SpaceX.API.Device.FromController.wifi_config:type_name -> SpaceX.API.Device.WifiConfig
+ 49, // 4: SpaceX.API.Device.WifiSetConfigRequest.wifi_config:type_name -> SpaceX.API.Device.WifiConfig
+ 49, // 5: SpaceX.API.Device.WifiSetConfigResponse.updated_wifi_config:type_name -> SpaceX.API.Device.WifiConfig
+ 49, // 6: SpaceX.API.Device.WifiGetConfigResponse.wifi_config:type_name -> SpaceX.API.Device.WifiConfig
+ 50, // 7: SpaceX.API.Device.WifiSetMeshDeviceTrustRequest.auth:type_name -> SpaceX.API.Device.MeshAuth
+ 51, // 8: SpaceX.API.Device.WifiSetMeshConfigRequest.mesh_config:type_name -> SpaceX.API.Device.MeshConfig
+ 23, // 9: SpaceX.API.Device.WifiGetClientsResponse.clients:type_name -> SpaceX.API.Device.WifiClient
+ 0, // 10: SpaceX.API.Device.WifiGetClientHistoryResponse.throughput_limited:type_name -> SpaceX.API.Device.WifiGetClientHistoryResponse.WifiLimitedReason
+ 23, // 11: SpaceX.API.Device.WifiNewClientConnectedEvent.client:type_name -> SpaceX.API.Device.WifiClient
+ 45, // 12: SpaceX.API.Device.WifiClient.rx_stats:type_name -> SpaceX.API.Device.WifiClient.RxStats
+ 46, // 13: SpaceX.API.Device.WifiClient.tx_stats:type_name -> SpaceX.API.Device.WifiClient.TxStats
+ 1, // 14: SpaceX.API.Device.WifiClient.iface:type_name -> SpaceX.API.Device.WifiClient.Interface
+ 2, // 15: SpaceX.API.Device.WifiClient.role:type_name -> SpaceX.API.Device.WifiClient.Role
+ 52, // 16: SpaceX.API.Device.WifiGetStatusResponse.device_info:type_name -> SpaceX.API.Device.DeviceInfo
+ 53, // 17: SpaceX.API.Device.WifiGetStatusResponse.device_state:type_name -> SpaceX.API.Device.DeviceState
+ 26, // 18: SpaceX.API.Device.WifiGetStatusResponse.rf_2ghz_status:type_name -> SpaceX.API.Device.WifiBandStatus
+ 26, // 19: SpaceX.API.Device.WifiGetStatusResponse.rf_5ghz_status:type_name -> SpaceX.API.Device.WifiBandStatus
+ 27, // 20: SpaceX.API.Device.WifiGetStatusResponse.alerts:type_name -> SpaceX.API.Device.WifiAlerts
+ 54, // 21: SpaceX.API.Device.WifiAuthenticateRequest.challenge:type_name -> SpaceX.API.Device.SignedData
+ 55, // 22: SpaceX.API.Device.WifiAuthenticateResponse.wifi:type_name -> SpaceX.API.Device.ChallengeResponse
+ 55, // 23: SpaceX.API.Device.WifiAuthenticateResponse.dish:type_name -> SpaceX.API.Device.ChallengeResponse
+ 33, // 24: SpaceX.API.Device.WifiGetPingMetricsResponse.internet:type_name -> SpaceX.API.Device.PingMetrics
+ 38, // 25: SpaceX.API.Device.WifiGetDiagnosticsResponse.network_scan:type_name -> SpaceX.API.Device.WifiScanResults
+ 39, // 26: SpaceX.API.Device.WifiGetDiagnosticsResponse.wifi_networks:type_name -> SpaceX.API.Device.WifiNetwork
+ 47, // 27: SpaceX.API.Device.WifiScanResults.networks:type_name -> SpaceX.API.Device.WifiScanResults.Network
+ 4, // 28: SpaceX.API.Device.WifiNetwork.band:type_name -> SpaceX.API.Device.WifiNetwork.Band
+ 48, // 29: SpaceX.API.Device.WifiPersistentStats.factory_reset_button:type_name -> SpaceX.API.Device.WifiPersistentStats.Event
+ 48, // 30: SpaceX.API.Device.WifiPersistentStats.factory_reset_plug_unplug:type_name -> SpaceX.API.Device.WifiPersistentStats.Event
+ 48, // 31: SpaceX.API.Device.WifiPersistentStats.factory_reset_command:type_name -> SpaceX.API.Device.WifiPersistentStats.Event
+ 48, // 32: SpaceX.API.Device.WifiPersistentStats.factory_reset_failed_load_wifi_config:type_name -> SpaceX.API.Device.WifiPersistentStats.Event
+ 48, // 33: SpaceX.API.Device.WifiPersistentStats.reboot_from_software_update:type_name -> SpaceX.API.Device.WifiPersistentStats.Event
+ 40, // 34: SpaceX.API.Device.WifiGetPersistentStatsResponse.stats:type_name -> SpaceX.API.Device.WifiPersistentStats
+ 56, // 35: SpaceX.API.Device.starlink_router_hourly_metrics_v2.id:type_name -> google.protobuf.StringValue
+ 56, // 36: SpaceX.API.Device.starlink_router_hourly_metrics_v2.timestamp_date:type_name -> google.protobuf.StringValue
+ 57, // 37: SpaceX.API.Device.starlink_router_hourly_metrics_v2.timestamp_hour:type_name -> google.protobuf.UInt32Value
+ 57, // 38: SpaceX.API.Device.starlink_router_hourly_metrics_v2.sys_hw_gen:type_name -> google.protobuf.UInt32Value
+ 56, // 39: SpaceX.API.Device.starlink_router_hourly_metrics_v2.sys_sw:type_name -> google.protobuf.StringValue
+ 56, // 40: SpaceX.API.Device.starlink_router_hourly_metrics_v2.sys_country:type_name -> google.protobuf.StringValue
+ 58, // 41: SpaceX.API.Device.starlink_router_hourly_metrics_v2.sys_is_dev:type_name -> google.protobuf.BoolValue
+ 57, // 42: SpaceX.API.Device.starlink_router_hourly_metrics_v2.sys_alloc_fds:type_name -> google.protobuf.UInt32Value
+ 59, // 43: SpaceX.API.Device.starlink_router_hourly_metrics_v2.sys_cpu_usage:type_name -> google.protobuf.FloatValue
+ 59, // 44: SpaceX.API.Device.starlink_router_hourly_metrics_v2.sys_mem_free_kb:type_name -> google.protobuf.FloatValue
+ 60, // 45: SpaceX.API.Device.starlink_router_hourly_metrics_v2.sys_bootcount:type_name -> google.protobuf.Int32Value
+ 58, // 46: SpaceX.API.Device.starlink_router_hourly_metrics_v2.sys_partitions_equal:type_name -> google.protobuf.BoolValue
+ 57, // 47: SpaceX.API.Device.starlink_router_hourly_metrics_v2.sys_uptime_seconds:type_name -> google.protobuf.UInt32Value
+ 60, // 48: SpaceX.API.Device.starlink_router_hourly_metrics_v2.sys_anti_rollback_version:type_name -> google.protobuf.Int32Value
+ 57, // 49: SpaceX.API.Device.starlink_router_hourly_metrics_v2.radios_2ghz_channel:type_name -> google.protobuf.UInt32Value
+ 59, // 50: SpaceX.API.Device.starlink_router_hourly_metrics_v2.radios_2ghz_antenna1_rssi:type_name -> google.protobuf.FloatValue
+ 59, // 51: SpaceX.API.Device.starlink_router_hourly_metrics_v2.radios_2ghz_antenna2_rssi:type_name -> google.protobuf.FloatValue
+ 59, // 52: SpaceX.API.Device.starlink_router_hourly_metrics_v2.radios_2ghz_antenna3_rssi:type_name -> google.protobuf.FloatValue
+ 57, // 53: SpaceX.API.Device.starlink_router_hourly_metrics_v2.radios_2ghz_iface_count:type_name -> google.protobuf.UInt32Value
+ 59, // 54: SpaceX.API.Device.starlink_router_hourly_metrics_v2.radios_2ghz_chan_busy_fraction:type_name -> google.protobuf.FloatValue
+ 59, // 55: SpaceX.API.Device.starlink_router_hourly_metrics_v2.radios_2ghz_edcca_fraction:type_name -> google.protobuf.FloatValue
+ 59, // 56: SpaceX.API.Device.starlink_router_hourly_metrics_v2.radios_2ghz_overlapping_bss_fraction:type_name -> google.protobuf.FloatValue
+ 57, // 57: SpaceX.API.Device.starlink_router_hourly_metrics_v2.radios_2ghz_rx_bytes:type_name -> google.protobuf.UInt32Value
+ 57, // 58: SpaceX.API.Device.starlink_router_hourly_metrics_v2.radios_2ghz_rx_packets:type_name -> google.protobuf.UInt32Value
+ 57, // 59: SpaceX.API.Device.starlink_router_hourly_metrics_v2.radios_2ghz_rx_errors:type_name -> google.protobuf.UInt32Value
+ 57, // 60: SpaceX.API.Device.starlink_router_hourly_metrics_v2.radios_2ghz_rx_frame_errors:type_name -> google.protobuf.UInt32Value
+ 59, // 61: SpaceX.API.Device.starlink_router_hourly_metrics_v2.radios_2ghz_rx_packet_error_rate:type_name -> google.protobuf.FloatValue
+ 59, // 62: SpaceX.API.Device.starlink_router_hourly_metrics_v2.radios_2ghz_rx_airtime_fraction:type_name -> google.protobuf.FloatValue
+ 57, // 63: SpaceX.API.Device.starlink_router_hourly_metrics_v2.radios_2ghz_tx_bytes:type_name -> google.protobuf.UInt32Value
+ 57, // 64: SpaceX.API.Device.starlink_router_hourly_metrics_v2.radios_2ghz_tx_packets:type_name -> google.protobuf.UInt32Value
+ 57, // 65: SpaceX.API.Device.starlink_router_hourly_metrics_v2.radios_2ghz_tx_errors:type_name -> google.protobuf.UInt32Value
+ 59, // 66: SpaceX.API.Device.starlink_router_hourly_metrics_v2.radios_2ghz_tx_packet_error_rate:type_name -> google.protobuf.FloatValue
+ 59, // 67: SpaceX.API.Device.starlink_router_hourly_metrics_v2.radios_2ghz_tx_airtime_fraction:type_name -> google.protobuf.FloatValue
+ 57, // 68: SpaceX.API.Device.starlink_router_hourly_metrics_v2.radios_5ghz_channel:type_name -> google.protobuf.UInt32Value
+ 59, // 69: SpaceX.API.Device.starlink_router_hourly_metrics_v2.radios_5ghz_antenna1_rssi:type_name -> google.protobuf.FloatValue
+ 59, // 70: SpaceX.API.Device.starlink_router_hourly_metrics_v2.radios_5ghz_antenna2_rssi:type_name -> google.protobuf.FloatValue
+ 59, // 71: SpaceX.API.Device.starlink_router_hourly_metrics_v2.radios_5ghz_antenna3_rssi:type_name -> google.protobuf.FloatValue
+ 57, // 72: SpaceX.API.Device.starlink_router_hourly_metrics_v2.radios_5ghz_iface_count:type_name -> google.protobuf.UInt32Value
+ 59, // 73: SpaceX.API.Device.starlink_router_hourly_metrics_v2.radios_5ghz_chan_busy_fraction:type_name -> google.protobuf.FloatValue
+ 59, // 74: SpaceX.API.Device.starlink_router_hourly_metrics_v2.radios_5ghz_edcca_fraction:type_name -> google.protobuf.FloatValue
+ 59, // 75: SpaceX.API.Device.starlink_router_hourly_metrics_v2.radios_5ghz_overlapping_bss_fraction:type_name -> google.protobuf.FloatValue
+ 57, // 76: SpaceX.API.Device.starlink_router_hourly_metrics_v2.radios_5ghz_rx_bytes:type_name -> google.protobuf.UInt32Value
+ 57, // 77: SpaceX.API.Device.starlink_router_hourly_metrics_v2.radios_5ghz_rx_packets:type_name -> google.protobuf.UInt32Value
+ 57, // 78: SpaceX.API.Device.starlink_router_hourly_metrics_v2.radios_5ghz_rx_errors:type_name -> google.protobuf.UInt32Value
+ 57, // 79: SpaceX.API.Device.starlink_router_hourly_metrics_v2.radios_5ghz_rx_frame_errors:type_name -> google.protobuf.UInt32Value
+ 59, // 80: SpaceX.API.Device.starlink_router_hourly_metrics_v2.radios_5ghz_rx_packet_error_rate:type_name -> google.protobuf.FloatValue
+ 59, // 81: SpaceX.API.Device.starlink_router_hourly_metrics_v2.radios_5ghz_rx_airtime_fraction:type_name -> google.protobuf.FloatValue
+ 57, // 82: SpaceX.API.Device.starlink_router_hourly_metrics_v2.radios_5ghz_tx_bytes:type_name -> google.protobuf.UInt32Value
+ 57, // 83: SpaceX.API.Device.starlink_router_hourly_metrics_v2.radios_5ghz_tx_packets:type_name -> google.protobuf.UInt32Value
+ 57, // 84: SpaceX.API.Device.starlink_router_hourly_metrics_v2.radios_5ghz_tx_errors:type_name -> google.protobuf.UInt32Value
+ 59, // 85: SpaceX.API.Device.starlink_router_hourly_metrics_v2.radios_5ghz_tx_packet_error_rate:type_name -> google.protobuf.FloatValue
+ 59, // 86: SpaceX.API.Device.starlink_router_hourly_metrics_v2.radios_5ghz_tx_airtime_fraction:type_name -> google.protobuf.FloatValue
+ 59, // 87: SpaceX.API.Device.starlink_router_hourly_metrics_v2.radios_2ghz_thermal_temp:type_name -> google.protobuf.FloatValue
+ 59, // 88: SpaceX.API.Device.starlink_router_hourly_metrics_v2.radios_5ghz_thermal_temp:type_name -> google.protobuf.FloatValue
+ 59, // 89: SpaceX.API.Device.starlink_router_hourly_metrics_v2.radios_2ghz_thermal_duty_cycle:type_name -> google.protobuf.FloatValue
+ 59, // 90: SpaceX.API.Device.starlink_router_hourly_metrics_v2.radios_5ghz_thermal_duty_cycle:type_name -> google.protobuf.FloatValue
+ 57, // 91: SpaceX.API.Device.starlink_router_hourly_metrics_v2.radios_2ghz_thermal_throttled_seconds:type_name -> google.protobuf.UInt32Value
+ 57, // 92: SpaceX.API.Device.starlink_router_hourly_metrics_v2.radios_5ghz_thermal_throttled_seconds:type_name -> google.protobuf.UInt32Value
+ 57, // 93: SpaceX.API.Device.starlink_router_hourly_metrics_v2.ifaces_lan_eth_rx_bytes:type_name -> google.protobuf.UInt32Value
+ 57, // 94: SpaceX.API.Device.starlink_router_hourly_metrics_v2.ifaces_lan_eth_rx_packets:type_name -> google.protobuf.UInt32Value
+ 57, // 95: SpaceX.API.Device.starlink_router_hourly_metrics_v2.ifaces_lan_eth_rx_errors:type_name -> google.protobuf.UInt32Value
+ 57, // 96: SpaceX.API.Device.starlink_router_hourly_metrics_v2.ifaces_lan_eth_rx_frame_errors:type_name -> google.protobuf.UInt32Value
+ 57, // 97: SpaceX.API.Device.starlink_router_hourly_metrics_v2.ifaces_lan_eth_tx_bytes:type_name -> google.protobuf.UInt32Value
+ 57, // 98: SpaceX.API.Device.starlink_router_hourly_metrics_v2.ifaces_lan_eth_tx_packets:type_name -> google.protobuf.UInt32Value
+ 57, // 99: SpaceX.API.Device.starlink_router_hourly_metrics_v2.ifaces_lan_eth_tx_errors:type_name -> google.protobuf.UInt32Value
+ 57, // 100: SpaceX.API.Device.starlink_router_hourly_metrics_v2.ifaces_wan_eth_rx_bytes:type_name -> google.protobuf.UInt32Value
+ 57, // 101: SpaceX.API.Device.starlink_router_hourly_metrics_v2.ifaces_wan_eth_rx_packets:type_name -> google.protobuf.UInt32Value
+ 57, // 102: SpaceX.API.Device.starlink_router_hourly_metrics_v2.ifaces_wan_eth_rx_errors:type_name -> google.protobuf.UInt32Value
+ 57, // 103: SpaceX.API.Device.starlink_router_hourly_metrics_v2.ifaces_wan_eth_rx_frame_errors:type_name -> google.protobuf.UInt32Value
+ 57, // 104: SpaceX.API.Device.starlink_router_hourly_metrics_v2.ifaces_wan_eth_tx_bytes:type_name -> google.protobuf.UInt32Value
+ 57, // 105: SpaceX.API.Device.starlink_router_hourly_metrics_v2.ifaces_wan_eth_tx_packets:type_name -> google.protobuf.UInt32Value
+ 57, // 106: SpaceX.API.Device.starlink_router_hourly_metrics_v2.ifaces_wan_eth_tx_errors:type_name -> google.protobuf.UInt32Value
+ 57, // 107: SpaceX.API.Device.starlink_router_hourly_metrics_v2.clients:type_name -> google.protobuf.UInt32Value
+ 57, // 108: SpaceX.API.Device.starlink_router_hourly_metrics_v2.clients_2ghz:type_name -> google.protobuf.UInt32Value
+ 57, // 109: SpaceX.API.Device.starlink_router_hourly_metrics_v2.clients_5ghz:type_name -> google.protobuf.UInt32Value
+ 57, // 110: SpaceX.API.Device.starlink_router_hourly_metrics_v2.clients_eth:type_name -> google.protobuf.UInt32Value
+ 57, // 111: SpaceX.API.Device.starlink_router_hourly_metrics_v2.clients_repeater:type_name -> google.protobuf.UInt32Value
+ 57, // 112: SpaceX.API.Device.starlink_router_hourly_metrics_v2.clients_repeater_2ghz:type_name -> google.protobuf.UInt32Value
+ 57, // 113: SpaceX.API.Device.starlink_router_hourly_metrics_v2.clients_repeater_5ghz:type_name -> google.protobuf.UInt32Value
+ 57, // 114: SpaceX.API.Device.starlink_router_hourly_metrics_v2.clients_repeater_eth:type_name -> google.protobuf.UInt32Value
+ 57, // 115: SpaceX.API.Device.starlink_router_hourly_metrics_v2.mesh_hops:type_name -> google.protobuf.UInt32Value
+ 59, // 116: SpaceX.API.Device.starlink_router_hourly_metrics_v2.mesh_one_hop_rssi_avg_2ghz:type_name -> google.protobuf.FloatValue
+ 59, // 117: SpaceX.API.Device.starlink_router_hourly_metrics_v2.mesh_one_hop_rssi_avg_5ghz:type_name -> google.protobuf.FloatValue
+ 59, // 118: SpaceX.API.Device.starlink_router_hourly_metrics_v2.mesh_two_hop_rssi_avg_2ghz:type_name -> google.protobuf.FloatValue
+ 59, // 119: SpaceX.API.Device.starlink_router_hourly_metrics_v2.mesh_two_hop_rssi_avg_5ghz:type_name -> google.protobuf.FloatValue
+ 59, // 120: SpaceX.API.Device.starlink_router_hourly_metrics_v2.ping_seconds_since_last_1s_outage:type_name -> google.protobuf.FloatValue
+ 59, // 121: SpaceX.API.Device.starlink_router_hourly_metrics_v2.ping_seconds_since_last_2s_outage:type_name -> google.protobuf.FloatValue
+ 59, // 122: SpaceX.API.Device.starlink_router_hourly_metrics_v2.ping_seconds_since_last_5s_outage:type_name -> google.protobuf.FloatValue
+ 59, // 123: SpaceX.API.Device.starlink_router_hourly_metrics_v2.ping_seconds_since_last_60s_outage:type_name -> google.protobuf.FloatValue
+ 59, // 124: SpaceX.API.Device.starlink_router_hourly_metrics_v2.ping_seconds_since_last_300s_outage:type_name -> google.protobuf.FloatValue
+ 59, // 125: SpaceX.API.Device.starlink_router_hourly_metrics_v2.ping_drop_rate:type_name -> google.protobuf.FloatValue
+ 59, // 126: SpaceX.API.Device.starlink_router_hourly_metrics_v2.ping_drop_rate_last_1h:type_name -> google.protobuf.FloatValue
+ 59, // 127: SpaceX.API.Device.starlink_router_hourly_metrics_v2.ping_latency:type_name -> google.protobuf.FloatValue
+ 59, // 128: SpaceX.API.Device.starlink_router_hourly_metrics_v2.ping_dish_seconds_since_last_1s_outage:type_name -> google.protobuf.FloatValue
+ 59, // 129: SpaceX.API.Device.starlink_router_hourly_metrics_v2.ping_dish_seconds_since_last_2s_outage:type_name -> google.protobuf.FloatValue
+ 59, // 130: SpaceX.API.Device.starlink_router_hourly_metrics_v2.ping_dish_seconds_since_last_5s_outage:type_name -> google.protobuf.FloatValue
+ 59, // 131: SpaceX.API.Device.starlink_router_hourly_metrics_v2.ping_dish_seconds_since_last_60s_outage:type_name -> google.protobuf.FloatValue
+ 59, // 132: SpaceX.API.Device.starlink_router_hourly_metrics_v2.ping_dish_seconds_since_last_300s_outage:type_name -> google.protobuf.FloatValue
+ 59, // 133: SpaceX.API.Device.starlink_router_hourly_metrics_v2.ping_dish_drop_rate:type_name -> google.protobuf.FloatValue
+ 59, // 134: SpaceX.API.Device.starlink_router_hourly_metrics_v2.ping_dish_drop_rate_last_1h:type_name -> google.protobuf.FloatValue
+ 59, // 135: SpaceX.API.Device.starlink_router_hourly_metrics_v2.ping_dish_latency:type_name -> google.protobuf.FloatValue
+ 59, // 136: SpaceX.API.Device.starlink_router_hourly_metrics_v2.client_speedtest_router_download_mbps:type_name -> google.protobuf.FloatValue
+ 59, // 137: SpaceX.API.Device.starlink_router_hourly_metrics_v2.client_speedtest_router_upload_mbps:type_name -> google.protobuf.FloatValue
+ 59, // 138: SpaceX.API.Device.starlink_router_hourly_metrics_v2.client_speedtest_router_rssi:type_name -> google.protobuf.FloatValue
+ 59, // 139: SpaceX.API.Device.starlink_router_hourly_metrics_v2.client_speedtest_wifi_download_mbps:type_name -> google.protobuf.FloatValue
+ 59, // 140: SpaceX.API.Device.starlink_router_hourly_metrics_v2.client_speedtest_wifi_upload_mbps:type_name -> google.protobuf.FloatValue
+ 59, // 141: SpaceX.API.Device.starlink_router_hourly_metrics_v2.client_speedtest_client_download_mbps:type_name -> google.protobuf.FloatValue
+ 59, // 142: SpaceX.API.Device.starlink_router_hourly_metrics_v2.client_speedtest_client_upload_mbps:type_name -> google.protobuf.FloatValue
+ 59, // 143: SpaceX.API.Device.starlink_router_hourly_metrics_v2.client_speedtest_client_rssi:type_name -> google.protobuf.FloatValue
+ 57, // 144: SpaceX.API.Device.starlink_router_hourly_metrics_v2.client_speedtest_client_iface:type_name -> google.protobuf.UInt32Value
+ 56, // 145: SpaceX.API.Device.starlink_router_hourly_metrics_v2.client_speedtest_client_oui:type_name -> google.protobuf.StringValue
+ 57, // 146: SpaceX.API.Device.starlink_router_hourly_metrics_v2.client_speedtest_client_tx_rate:type_name -> google.protobuf.UInt32Value
+ 57, // 147: SpaceX.API.Device.starlink_router_hourly_metrics_v2.client_speedtest_client_rx_rate:type_name -> google.protobuf.UInt32Value
+ 57, // 148: SpaceX.API.Device.starlink_router_hourly_metrics_v2.client_speedtest_client_platform_type:type_name -> google.protobuf.UInt32Value
+ 59, // 149: SpaceX.API.Device.starlink_router_hourly_metrics_v2.speedtest_tcp_8_download_mbps_avg:type_name -> google.protobuf.FloatValue
+ 59, // 150: SpaceX.API.Device.starlink_router_hourly_metrics_v2.speedtest_tcp_8_download_mbps_max:type_name -> google.protobuf.FloatValue
+ 59, // 151: SpaceX.API.Device.starlink_router_hourly_metrics_v2.speedtest_tcp_8_upload_mbps_avg:type_name -> google.protobuf.FloatValue
+ 59, // 152: SpaceX.API.Device.starlink_router_hourly_metrics_v2.speedtest_tcp_8_upload_mbps_max:type_name -> google.protobuf.FloatValue
+ 59, // 153: SpaceX.API.Device.starlink_router_hourly_metrics_v2.speedtest_tcp_64_download_mbps_avg:type_name -> google.protobuf.FloatValue
+ 59, // 154: SpaceX.API.Device.starlink_router_hourly_metrics_v2.speedtest_tcp_64_download_mbps_max:type_name -> google.protobuf.FloatValue
+ 59, // 155: SpaceX.API.Device.starlink_router_hourly_metrics_v2.speedtest_tcp_64_upload_mbps_avg:type_name -> google.protobuf.FloatValue
+ 59, // 156: SpaceX.API.Device.starlink_router_hourly_metrics_v2.speedtest_tcp_64_upload_mbps_max:type_name -> google.protobuf.FloatValue
+ 57, // 157: SpaceX.API.Device.starlink_router_hourly_metrics_v2.dish_cell_id:type_name -> google.protobuf.UInt32Value
+ 58, // 158: SpaceX.API.Device.starlink_router_hourly_metrics_v2.config_setup_complete:type_name -> google.protobuf.BoolValue
+ 58, // 159: SpaceX.API.Device.starlink_router_hourly_metrics_v2.config_bands_split:type_name -> google.protobuf.BoolValue
+ 58, // 160: SpaceX.API.Device.starlink_router_hourly_metrics_v2.config_is_repeater:type_name -> google.protobuf.BoolValue
+ 58, // 161: SpaceX.API.Device.starlink_router_hourly_metrics_v2.config_open_network:type_name -> google.protobuf.BoolValue
+ 58, // 162: SpaceX.API.Device.starlink_router_hourly_metrics_v2.config_is_aviation:type_name -> google.protobuf.BoolValue
+ 58, // 163: SpaceX.API.Device.starlink_router_hourly_metrics_v2.config_secure_dns:type_name -> google.protobuf.BoolValue
+ 58, // 164: SpaceX.API.Device.starlink_router_hourly_metrics_v2.config_legacy:type_name -> google.protobuf.BoolValue
+ 58, // 165: SpaceX.API.Device.starlink_router_hourly_metrics_v2.config_ap_mode:type_name -> google.protobuf.BoolValue
+ 58, // 166: SpaceX.API.Device.starlink_router_hourly_metrics_v2.config_dfs_enabled:type_name -> google.protobuf.BoolValue
+ 58, // 167: SpaceX.API.Device.starlink_router_hourly_metrics_v2.config_network_name_is_default:type_name -> google.protobuf.BoolValue
+ 58, // 168: SpaceX.API.Device.starlink_router_hourly_metrics_v2.config_remote_ssh_enabled:type_name -> google.protobuf.BoolValue
+ 56, // 169: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.id:type_name -> google.protobuf.StringValue
+ 56, // 170: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.timestamp_date:type_name -> google.protobuf.StringValue
+ 57, // 171: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.timestamp_hour:type_name -> google.protobuf.UInt32Value
+ 61, // 172: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.timestamp:type_name -> SpaceX.API.Telemetron.Public.Common.TimestampInfo
+ 57, // 173: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.sys_hw_gen:type_name -> google.protobuf.UInt32Value
+ 56, // 174: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.sys_sw:type_name -> google.protobuf.StringValue
+ 56, // 175: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.sys_country:type_name -> google.protobuf.StringValue
+ 58, // 176: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.sys_is_dev:type_name -> google.protobuf.BoolValue
+ 57, // 177: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.sys_alloc_fds:type_name -> google.protobuf.UInt32Value
+ 59, // 178: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.sys_cpu_usage:type_name -> google.protobuf.FloatValue
+ 59, // 179: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.sys_mem_free_kb:type_name -> google.protobuf.FloatValue
+ 60, // 180: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.sys_bootcount:type_name -> google.protobuf.Int32Value
+ 58, // 181: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.sys_partitions_equal:type_name -> google.protobuf.BoolValue
+ 57, // 182: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.sys_uptime_seconds:type_name -> google.protobuf.UInt32Value
+ 60, // 183: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.sys_anti_rollback_version:type_name -> google.protobuf.Int32Value
+ 57, // 184: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.radios_2ghz_channel:type_name -> google.protobuf.UInt32Value
+ 59, // 185: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.radios_2ghz_antenna1_rssi:type_name -> google.protobuf.FloatValue
+ 59, // 186: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.radios_2ghz_antenna2_rssi:type_name -> google.protobuf.FloatValue
+ 59, // 187: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.radios_2ghz_antenna3_rssi:type_name -> google.protobuf.FloatValue
+ 57, // 188: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.radios_2ghz_iface_count:type_name -> google.protobuf.UInt32Value
+ 59, // 189: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.radios_2ghz_chan_busy_fraction:type_name -> google.protobuf.FloatValue
+ 59, // 190: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.radios_2ghz_edcca_fraction:type_name -> google.protobuf.FloatValue
+ 59, // 191: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.radios_2ghz_overlapping_bss_fraction:type_name -> google.protobuf.FloatValue
+ 62, // 192: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.radios_2ghz_rx_bytes:type_name -> google.protobuf.Int64Value
+ 62, // 193: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.radios_2ghz_rx_packets:type_name -> google.protobuf.Int64Value
+ 62, // 194: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.radios_2ghz_rx_errors:type_name -> google.protobuf.Int64Value
+ 62, // 195: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.radios_2ghz_rx_frame_errors:type_name -> google.protobuf.Int64Value
+ 59, // 196: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.radios_2ghz_rx_packet_error_rate:type_name -> google.protobuf.FloatValue
+ 59, // 197: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.radios_2ghz_rx_airtime_fraction:type_name -> google.protobuf.FloatValue
+ 62, // 198: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.radios_2ghz_tx_bytes:type_name -> google.protobuf.Int64Value
+ 62, // 199: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.radios_2ghz_tx_packets:type_name -> google.protobuf.Int64Value
+ 62, // 200: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.radios_2ghz_tx_errors:type_name -> google.protobuf.Int64Value
+ 59, // 201: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.radios_2ghz_tx_packet_error_rate:type_name -> google.protobuf.FloatValue
+ 59, // 202: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.radios_2ghz_tx_airtime_fraction:type_name -> google.protobuf.FloatValue
+ 57, // 203: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.radios_5ghz_channel:type_name -> google.protobuf.UInt32Value
+ 59, // 204: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.radios_5ghz_antenna1_rssi:type_name -> google.protobuf.FloatValue
+ 59, // 205: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.radios_5ghz_antenna2_rssi:type_name -> google.protobuf.FloatValue
+ 59, // 206: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.radios_5ghz_antenna3_rssi:type_name -> google.protobuf.FloatValue
+ 57, // 207: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.radios_5ghz_iface_count:type_name -> google.protobuf.UInt32Value
+ 59, // 208: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.radios_5ghz_chan_busy_fraction:type_name -> google.protobuf.FloatValue
+ 59, // 209: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.radios_5ghz_edcca_fraction:type_name -> google.protobuf.FloatValue
+ 59, // 210: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.radios_5ghz_overlapping_bss_fraction:type_name -> google.protobuf.FloatValue
+ 62, // 211: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.radios_5ghz_rx_bytes:type_name -> google.protobuf.Int64Value
+ 62, // 212: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.radios_5ghz_rx_packets:type_name -> google.protobuf.Int64Value
+ 62, // 213: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.radios_5ghz_rx_errors:type_name -> google.protobuf.Int64Value
+ 62, // 214: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.radios_5ghz_rx_frame_errors:type_name -> google.protobuf.Int64Value
+ 59, // 215: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.radios_5ghz_rx_packet_error_rate:type_name -> google.protobuf.FloatValue
+ 59, // 216: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.radios_5ghz_rx_airtime_fraction:type_name -> google.protobuf.FloatValue
+ 62, // 217: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.radios_5ghz_tx_bytes:type_name -> google.protobuf.Int64Value
+ 62, // 218: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.radios_5ghz_tx_packets:type_name -> google.protobuf.Int64Value
+ 62, // 219: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.radios_5ghz_tx_errors:type_name -> google.protobuf.Int64Value
+ 59, // 220: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.radios_5ghz_tx_packet_error_rate:type_name -> google.protobuf.FloatValue
+ 59, // 221: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.radios_5ghz_tx_airtime_fraction:type_name -> google.protobuf.FloatValue
+ 59, // 222: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.radios_2ghz_thermal_temp:type_name -> google.protobuf.FloatValue
+ 59, // 223: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.radios_5ghz_thermal_temp:type_name -> google.protobuf.FloatValue
+ 59, // 224: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.radios_2ghz_thermal_duty_cycle:type_name -> google.protobuf.FloatValue
+ 59, // 225: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.radios_5ghz_thermal_duty_cycle:type_name -> google.protobuf.FloatValue
+ 57, // 226: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.radios_2ghz_thermal_throttled_seconds:type_name -> google.protobuf.UInt32Value
+ 57, // 227: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.radios_5ghz_thermal_throttled_seconds:type_name -> google.protobuf.UInt32Value
+ 62, // 228: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.ifaces_lan_eth_rx_bytes:type_name -> google.protobuf.Int64Value
+ 62, // 229: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.ifaces_lan_eth_rx_packets:type_name -> google.protobuf.Int64Value
+ 62, // 230: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.ifaces_lan_eth_rx_errors:type_name -> google.protobuf.Int64Value
+ 62, // 231: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.ifaces_lan_eth_rx_frame_errors:type_name -> google.protobuf.Int64Value
+ 62, // 232: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.ifaces_lan_eth_tx_bytes:type_name -> google.protobuf.Int64Value
+ 62, // 233: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.ifaces_lan_eth_tx_packets:type_name -> google.protobuf.Int64Value
+ 62, // 234: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.ifaces_lan_eth_tx_errors:type_name -> google.protobuf.Int64Value
+ 62, // 235: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.ifaces_wan_eth_rx_bytes:type_name -> google.protobuf.Int64Value
+ 62, // 236: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.ifaces_wan_eth_rx_packets:type_name -> google.protobuf.Int64Value
+ 62, // 237: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.ifaces_wan_eth_rx_errors:type_name -> google.protobuf.Int64Value
+ 62, // 238: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.ifaces_wan_eth_rx_frame_errors:type_name -> google.protobuf.Int64Value
+ 62, // 239: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.ifaces_wan_eth_tx_bytes:type_name -> google.protobuf.Int64Value
+ 62, // 240: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.ifaces_wan_eth_tx_packets:type_name -> google.protobuf.Int64Value
+ 62, // 241: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.ifaces_wan_eth_tx_errors:type_name -> google.protobuf.Int64Value
+ 57, // 242: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.clients:type_name -> google.protobuf.UInt32Value
+ 57, // 243: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.clients_2ghz:type_name -> google.protobuf.UInt32Value
+ 57, // 244: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.clients_5ghz:type_name -> google.protobuf.UInt32Value
+ 57, // 245: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.clients_eth:type_name -> google.protobuf.UInt32Value
+ 57, // 246: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.clients_repeater:type_name -> google.protobuf.UInt32Value
+ 57, // 247: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.clients_repeater_2ghz:type_name -> google.protobuf.UInt32Value
+ 57, // 248: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.clients_repeater_5ghz:type_name -> google.protobuf.UInt32Value
+ 57, // 249: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.clients_repeater_eth:type_name -> google.protobuf.UInt32Value
+ 57, // 250: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.mesh_hops:type_name -> google.protobuf.UInt32Value
+ 59, // 251: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.mesh_one_hop_rssi_avg_2ghz:type_name -> google.protobuf.FloatValue
+ 59, // 252: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.mesh_one_hop_rssi_avg_5ghz:type_name -> google.protobuf.FloatValue
+ 59, // 253: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.mesh_two_hop_rssi_avg_2ghz:type_name -> google.protobuf.FloatValue
+ 59, // 254: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.mesh_two_hop_rssi_avg_5ghz:type_name -> google.protobuf.FloatValue
+ 59, // 255: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.ping_seconds_since_last_1s_outage:type_name -> google.protobuf.FloatValue
+ 59, // 256: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.ping_seconds_since_last_2s_outage:type_name -> google.protobuf.FloatValue
+ 59, // 257: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.ping_seconds_since_last_5s_outage:type_name -> google.protobuf.FloatValue
+ 59, // 258: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.ping_seconds_since_last_60s_outage:type_name -> google.protobuf.FloatValue
+ 59, // 259: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.ping_seconds_since_last_300s_outage:type_name -> google.protobuf.FloatValue
+ 59, // 260: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.ping_drop_rate:type_name -> google.protobuf.FloatValue
+ 59, // 261: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.ping_drop_rate_last_1h:type_name -> google.protobuf.FloatValue
+ 59, // 262: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.ping_latency:type_name -> google.protobuf.FloatValue
+ 59, // 263: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.ping_latency_last_1h:type_name -> google.protobuf.FloatValue
+ 59, // 264: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.ping_dish_seconds_since_last_1s_outage:type_name -> google.protobuf.FloatValue
+ 59, // 265: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.ping_dish_seconds_since_last_2s_outage:type_name -> google.protobuf.FloatValue
+ 59, // 266: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.ping_dish_seconds_since_last_5s_outage:type_name -> google.protobuf.FloatValue
+ 59, // 267: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.ping_dish_seconds_since_last_60s_outage:type_name -> google.protobuf.FloatValue
+ 59, // 268: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.ping_dish_seconds_since_last_300s_outage:type_name -> google.protobuf.FloatValue
+ 59, // 269: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.ping_dish_drop_rate:type_name -> google.protobuf.FloatValue
+ 59, // 270: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.ping_dish_drop_rate_last_1h:type_name -> google.protobuf.FloatValue
+ 59, // 271: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.ping_dish_latency:type_name -> google.protobuf.FloatValue
+ 59, // 272: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.ping_dish_latency_last_1h:type_name -> google.protobuf.FloatValue
+ 59, // 273: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.client_speedtest_router_download_mbps:type_name -> google.protobuf.FloatValue
+ 59, // 274: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.client_speedtest_router_upload_mbps:type_name -> google.protobuf.FloatValue
+ 59, // 275: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.client_speedtest_router_rssi:type_name -> google.protobuf.FloatValue
+ 59, // 276: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.client_speedtest_wifi_download_mbps:type_name -> google.protobuf.FloatValue
+ 59, // 277: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.client_speedtest_wifi_upload_mbps:type_name -> google.protobuf.FloatValue
+ 59, // 278: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.client_speedtest_client_download_mbps:type_name -> google.protobuf.FloatValue
+ 59, // 279: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.client_speedtest_client_upload_mbps:type_name -> google.protobuf.FloatValue
+ 59, // 280: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.client_speedtest_client_rssi:type_name -> google.protobuf.FloatValue
+ 57, // 281: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.client_speedtest_client_iface:type_name -> google.protobuf.UInt32Value
+ 56, // 282: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.client_speedtest_client_oui:type_name -> google.protobuf.StringValue
+ 57, // 283: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.client_speedtest_client_tx_rate:type_name -> google.protobuf.UInt32Value
+ 57, // 284: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.client_speedtest_client_rx_rate:type_name -> google.protobuf.UInt32Value
+ 57, // 285: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.client_speedtest_client_platform_type:type_name -> google.protobuf.UInt32Value
+ 59, // 286: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.speedtest_tcp_8_download_mbps_avg:type_name -> google.protobuf.FloatValue
+ 59, // 287: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.speedtest_tcp_8_download_mbps_max:type_name -> google.protobuf.FloatValue
+ 59, // 288: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.speedtest_tcp_8_upload_mbps_avg:type_name -> google.protobuf.FloatValue
+ 59, // 289: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.speedtest_tcp_8_upload_mbps_max:type_name -> google.protobuf.FloatValue
+ 59, // 290: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.speedtest_tcp_64_download_mbps_avg:type_name -> google.protobuf.FloatValue
+ 59, // 291: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.speedtest_tcp_64_download_mbps_max:type_name -> google.protobuf.FloatValue
+ 59, // 292: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.speedtest_tcp_64_upload_mbps_avg:type_name -> google.protobuf.FloatValue
+ 59, // 293: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.speedtest_tcp_64_upload_mbps_max:type_name -> google.protobuf.FloatValue
+ 57, // 294: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.dish_cell_id:type_name -> google.protobuf.UInt32Value
+ 58, // 295: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.config_setup_complete:type_name -> google.protobuf.BoolValue
+ 58, // 296: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.config_bands_split:type_name -> google.protobuf.BoolValue
+ 58, // 297: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.config_is_repeater:type_name -> google.protobuf.BoolValue
+ 58, // 298: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.config_open_network:type_name -> google.protobuf.BoolValue
+ 58, // 299: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.config_is_aviation:type_name -> google.protobuf.BoolValue
+ 58, // 300: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.config_secure_dns:type_name -> google.protobuf.BoolValue
+ 58, // 301: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.config_legacy:type_name -> google.protobuf.BoolValue
+ 58, // 302: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.config_ap_mode:type_name -> google.protobuf.BoolValue
+ 58, // 303: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.config_dfs_enabled:type_name -> google.protobuf.BoolValue
+ 58, // 304: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.config_network_name_is_default:type_name -> google.protobuf.BoolValue
+ 58, // 305: SpaceX.API.Device.starlink_routers_hourly_metrics_v2.config_remote_ssh_enabled:type_name -> google.protobuf.BoolValue
+ 61, // 306: SpaceX.API.Device.starlink_router_alerts.start:type_name -> SpaceX.API.Telemetron.Public.Common.TimestampInfo
+ 61, // 307: SpaceX.API.Device.starlink_router_alerts.end:type_name -> SpaceX.API.Telemetron.Public.Common.TimestampInfo
+ 3, // 308: SpaceX.API.Device.WifiScanResults.Network.source:type_name -> SpaceX.API.Device.WifiScanResults.Network.Source
+ 6, // 309: SpaceX.API.Device.Mesh.MeshStream:input_type -> SpaceX.API.Device.ToController
+ 8, // 310: SpaceX.API.Device.Mesh.MeshStream:output_type -> SpaceX.API.Device.FromController
+ 310, // [310:311] is the sub-list for method output_type
+ 309, // [309:310] is the sub-list for method input_type
+ 309, // [309:309] is the sub-list for extension type_name
+ 309, // [309:309] is the sub-list for extension extendee
+ 0, // [0:309] is the sub-list for field type_name
}
func init() { file_spacex_api_device_wifi_proto_init() }
file_spacex_api_device_wifi_config_proto_init()
if !protoimpl.UnsafeEnabled {
file_spacex_api_device_wifi_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*WifiSetConfigRequest); i {
+ switch v := v.(*WifiClients); i {
case 0:
return &v.state
case 1:
}
}
file_spacex_api_device_wifi_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*WifiSetConfigResponse); i {
+ switch v := v.(*ToController); i {
case 0:
return &v.state
case 1:
}
}
file_spacex_api_device_wifi_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*WifiGetClientsRequest); i {
+ switch v := v.(*WifiMeshJoin); i {
case 0:
return &v.state
case 1:
}
}
file_spacex_api_device_wifi_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*WifiGetClientsResponse); i {
+ switch v := v.(*FromController); i {
case 0:
return &v.state
case 1:
}
}
file_spacex_api_device_wifi_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*WifiGetHistoryResponse); i {
+ switch v := v.(*WifiSetConfigRequest); i {
case 0:
return &v.state
case 1:
}
}
file_spacex_api_device_wifi_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*WifiNewClientConnectedEvent); i {
+ switch v := v.(*WifiSetConfigResponse); i {
case 0:
return &v.state
case 1:
}
}
file_spacex_api_device_wifi_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*WifiClient); i {
+ switch v := v.(*WifiGetConfigRequest); i {
case 0:
return &v.state
case 1:
}
}
file_spacex_api_device_wifi_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*WifiSetupRequest); i {
+ switch v := v.(*WifiGetConfigResponse); i {
case 0:
return &v.state
case 1:
}
}
file_spacex_api_device_wifi_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*WifiSetupResponse); i {
+ switch v := v.(*WifiSetMeshDeviceTrustRequest); i {
case 0:
return &v.state
case 1:
}
}
file_spacex_api_device_wifi_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*WifiGetStatusResponse); i {
+ switch v := v.(*WifiSetMeshDeviceTrustResponse); i {
case 0:
return &v.state
case 1:
}
}
file_spacex_api_device_wifi_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*WifiAuthenticateRequest); i {
+ switch v := v.(*WifiSetMeshConfigRequest); i {
case 0:
return &v.state
case 1:
}
}
file_spacex_api_device_wifi_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*WifiAuthenticateResponse); i {
+ switch v := v.(*WifiSetMeshConfigResponse); i {
case 0:
return &v.state
case 1:
}
}
file_spacex_api_device_wifi_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*WifiAccountBondingEvent); i {
+ switch v := v.(*WifiGetClientsRequest); i {
case 0:
return &v.state
case 1:
}
}
file_spacex_api_device_wifi_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*PingMetrics); i {
+ switch v := v.(*WifiGetClientsResponse); i {
case 0:
return &v.state
case 1:
}
}
file_spacex_api_device_wifi_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*WifiGetPingMetricsRequest); i {
+ switch v := v.(*WifiGetClientHistoryRequest); i {
case 0:
return &v.state
case 1:
}
}
file_spacex_api_device_wifi_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*WifiGetPingMetricsResponse); i {
+ switch v := v.(*WifiGetClientHistoryResponse); i {
case 0:
return &v.state
case 1:
}
}
file_spacex_api_device_wifi_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*WifiClient_RxStats); i {
+ switch v := v.(*WifiGetHistoryResponse); i {
case 0:
return &v.state
case 1:
}
}
file_spacex_api_device_wifi_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WifiNewClientConnectedEvent); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_wifi_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WifiClient); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_wifi_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WifiSetupRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_wifi_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WifiSetupResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_wifi_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WifiBandStatus); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_wifi_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WifiAlerts); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_wifi_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WifiGetStatusResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_wifi_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WifiAuthenticateRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_wifi_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WifiAuthenticateResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_wifi_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WifiAccountBondingEvent); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_wifi_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WifiNewPeerEvent); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_wifi_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PingMetrics); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_wifi_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WifiGetPingMetricsRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_wifi_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WifiGetPingMetricsResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_wifi_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WifiGetDiagnosticsRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_wifi_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WifiGetDiagnosticsResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_wifi_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WifiScanResults); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_wifi_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WifiNetwork); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_wifi_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WifiPersistentStats); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_wifi_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WifiGetPersistentStatsResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_wifi_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*StarlinkRouterHourlyMetricsV2); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_wifi_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*StarlinkRoutersHourlyMetricsV2); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_wifi_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*StarlinkRouterAlerts); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_wifi_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WifiClient_RxStats); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_wifi_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*WifiClient_TxStats); i {
case 0:
return &v.state
return nil
}
}
+ file_spacex_api_device_wifi_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WifiScanResults_Network); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_wifi_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WifiPersistentStats_Event); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
}
+ file_spacex_api_device_wifi_proto_msgTypes[1].OneofWrappers = []interface{}{
+ (*ToController_Clients)(nil),
+ (*ToController_MeshJoin)(nil),
+ }
+ file_spacex_api_device_wifi_proto_msgTypes[3].OneofWrappers = []interface{}{
+ (*FromController_WifiConfig)(nil),
+ }
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_spacex_api_device_wifi_proto_rawDesc,
- NumEnums: 1,
- NumMessages: 18,
+ NumEnums: 5,
+ NumMessages: 44,
NumExtensions: 0,
- NumServices: 0,
+ NumServices: 1,
},
GoTypes: file_spacex_api_device_wifi_proto_goTypes,
DependencyIndexes: file_spacex_api_device_wifi_proto_depIdxs,
blob - b4060d5473f2b1c106f7da653be4577736a3df10
blob + c3c864f7ba7429c3ebe6f3a3c27ad18be9656eec
--- device/wifi_config.pb.go
+++ device/wifi_config.pb.go
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
+type MeshAuth int32
+
+const (
+ MeshAuth_MESH_AUTH_UNKNOWN MeshAuth = 0
+ MeshAuth_MESH_AUTH_NEW MeshAuth = 1
+ MeshAuth_MESH_AUTH_TRUSTED MeshAuth = 2
+ MeshAuth_MESH_AUTH_UNTRUSTED MeshAuth = 3
+)
+
+// Enum value maps for MeshAuth.
+var (
+ MeshAuth_name = map[int32]string{
+ 0: "MESH_AUTH_UNKNOWN",
+ 1: "MESH_AUTH_NEW",
+ 2: "MESH_AUTH_TRUSTED",
+ 3: "MESH_AUTH_UNTRUSTED",
+ }
+ MeshAuth_value = map[string]int32{
+ "MESH_AUTH_UNKNOWN": 0,
+ "MESH_AUTH_NEW": 1,
+ "MESH_AUTH_TRUSTED": 2,
+ "MESH_AUTH_UNTRUSTED": 3,
+ }
+)
+
+func (x MeshAuth) Enum() *MeshAuth {
+ p := new(MeshAuth)
+ *p = x
+ return p
+}
+
+func (x MeshAuth) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (MeshAuth) Descriptor() protoreflect.EnumDescriptor {
+ return file_spacex_api_device_wifi_config_proto_enumTypes[0].Descriptor()
+}
+
+func (MeshAuth) Type() protoreflect.EnumType {
+ return &file_spacex_api_device_wifi_config_proto_enumTypes[0]
+}
+
+func (x MeshAuth) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use MeshAuth.Descriptor instead.
+func (MeshAuth) EnumDescriptor() ([]byte, []int) {
+ return file_spacex_api_device_wifi_config_proto_rawDescGZIP(), []int{0}
+}
+
+type WifiConfig_Security int32
+
+const (
+ WifiConfig_UNKNOWN WifiConfig_Security = 0
+ WifiConfig_WPA2 WifiConfig_Security = 1
+ WifiConfig_WPA3 WifiConfig_Security = 2
+ WifiConfig_WPA2WPA3 WifiConfig_Security = 3
+)
+
+// Enum value maps for WifiConfig_Security.
+var (
+ WifiConfig_Security_name = map[int32]string{
+ 0: "UNKNOWN",
+ 1: "WPA2",
+ 2: "WPA3",
+ 3: "WPA2WPA3",
+ }
+ WifiConfig_Security_value = map[string]int32{
+ "UNKNOWN": 0,
+ "WPA2": 1,
+ "WPA3": 2,
+ "WPA2WPA3": 3,
+ }
+)
+
+func (x WifiConfig_Security) Enum() *WifiConfig_Security {
+ p := new(WifiConfig_Security)
+ *p = x
+ return p
+}
+
+func (x WifiConfig_Security) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (WifiConfig_Security) Descriptor() protoreflect.EnumDescriptor {
+ return file_spacex_api_device_wifi_config_proto_enumTypes[1].Descriptor()
+}
+
+func (WifiConfig_Security) Type() protoreflect.EnumType {
+ return &file_spacex_api_device_wifi_config_proto_enumTypes[1]
+}
+
+func (x WifiConfig_Security) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use WifiConfig_Security.Descriptor instead.
+func (WifiConfig_Security) EnumDescriptor() ([]byte, []int) {
+ return file_spacex_api_device_wifi_config_proto_rawDescGZIP(), []int{1, 0}
+}
+
+type WifiConfig_Band int32
+
+const (
+ WifiConfig_RF_UNKNOWN WifiConfig_Band = 0
+ WifiConfig_RF_2GHZ WifiConfig_Band = 2
+ WifiConfig_RF_5GHZ WifiConfig_Band = 5
+)
+
+// Enum value maps for WifiConfig_Band.
+var (
+ WifiConfig_Band_name = map[int32]string{
+ 0: "RF_UNKNOWN",
+ 2: "RF_2GHZ",
+ 5: "RF_5GHZ",
+ }
+ WifiConfig_Band_value = map[string]int32{
+ "RF_UNKNOWN": 0,
+ "RF_2GHZ": 2,
+ "RF_5GHZ": 5,
+ }
+)
+
+func (x WifiConfig_Band) Enum() *WifiConfig_Band {
+ p := new(WifiConfig_Band)
+ *p = x
+ return p
+}
+
+func (x WifiConfig_Band) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (WifiConfig_Band) Descriptor() protoreflect.EnumDescriptor {
+ return file_spacex_api_device_wifi_config_proto_enumTypes[2].Descriptor()
+}
+
+func (WifiConfig_Band) Type() protoreflect.EnumType {
+ return &file_spacex_api_device_wifi_config_proto_enumTypes[2]
+}
+
+func (x WifiConfig_Band) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use WifiConfig_Band.Descriptor instead.
+func (WifiConfig_Band) EnumDescriptor() ([]byte, []int) {
+ return file_spacex_api_device_wifi_config_proto_rawDescGZIP(), []int{1, 1}
+}
+
+type WifiConfig_WirelessMode int32
+
+const (
+ WifiConfig_WIRELESS_MODE_DEFAULT WifiConfig_WirelessMode = 0
+ WifiConfig_A_ONLY WifiConfig_WirelessMode = 1
+ WifiConfig_B_ONLY WifiConfig_WirelessMode = 2
+ WifiConfig_G_ONLY WifiConfig_WirelessMode = 3
+ WifiConfig_N_ONLY WifiConfig_WirelessMode = 4
+ WifiConfig_B_G_MIXED WifiConfig_WirelessMode = 5
+ WifiConfig_A_N_MIXED WifiConfig_WirelessMode = 6
+ WifiConfig_G_N_MIXED WifiConfig_WirelessMode = 7
+ WifiConfig_B_G_N_MIXED WifiConfig_WirelessMode = 8
+ WifiConfig_A_AN_AC_MIXED WifiConfig_WirelessMode = 9
+ WifiConfig_AN_AC_MIXED WifiConfig_WirelessMode = 10
+ WifiConfig_B_G_N_AX_MIXED WifiConfig_WirelessMode = 11
+ WifiConfig_A_AN_AC_AX_MIXED WifiConfig_WirelessMode = 12
+)
+
+// Enum value maps for WifiConfig_WirelessMode.
+var (
+ WifiConfig_WirelessMode_name = map[int32]string{
+ 0: "WIRELESS_MODE_DEFAULT",
+ 1: "A_ONLY",
+ 2: "B_ONLY",
+ 3: "G_ONLY",
+ 4: "N_ONLY",
+ 5: "B_G_MIXED",
+ 6: "A_N_MIXED",
+ 7: "G_N_MIXED",
+ 8: "B_G_N_MIXED",
+ 9: "A_AN_AC_MIXED",
+ 10: "AN_AC_MIXED",
+ 11: "B_G_N_AX_MIXED",
+ 12: "A_AN_AC_AX_MIXED",
+ }
+ WifiConfig_WirelessMode_value = map[string]int32{
+ "WIRELESS_MODE_DEFAULT": 0,
+ "A_ONLY": 1,
+ "B_ONLY": 2,
+ "G_ONLY": 3,
+ "N_ONLY": 4,
+ "B_G_MIXED": 5,
+ "A_N_MIXED": 6,
+ "G_N_MIXED": 7,
+ "B_G_N_MIXED": 8,
+ "A_AN_AC_MIXED": 9,
+ "AN_AC_MIXED": 10,
+ "B_G_N_AX_MIXED": 11,
+ "A_AN_AC_AX_MIXED": 12,
+ }
+)
+
+func (x WifiConfig_WirelessMode) Enum() *WifiConfig_WirelessMode {
+ p := new(WifiConfig_WirelessMode)
+ *p = x
+ return p
+}
+
+func (x WifiConfig_WirelessMode) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (WifiConfig_WirelessMode) Descriptor() protoreflect.EnumDescriptor {
+ return file_spacex_api_device_wifi_config_proto_enumTypes[3].Descriptor()
+}
+
+func (WifiConfig_WirelessMode) Type() protoreflect.EnumType {
+ return &file_spacex_api_device_wifi_config_proto_enumTypes[3]
+}
+
+func (x WifiConfig_WirelessMode) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use WifiConfig_WirelessMode.Descriptor instead.
+func (WifiConfig_WirelessMode) EnumDescriptor() ([]byte, []int) {
+ return file_spacex_api_device_wifi_config_proto_rawDescGZIP(), []int{1, 2}
+}
+
+type WifiConfig_HTBandwidth int32
+
+const (
+ WifiConfig_HT_BANDWIDTH_DEFAULT WifiConfig_HTBandwidth = 0
+ WifiConfig_HT_BANDWIDTH_20_MHZ WifiConfig_HTBandwidth = 1
+ WifiConfig_HT_BANDWIDTH_20_OR_40_MHZ WifiConfig_HTBandwidth = 2
+)
+
+// Enum value maps for WifiConfig_HTBandwidth.
+var (
+ WifiConfig_HTBandwidth_name = map[int32]string{
+ 0: "HT_BANDWIDTH_DEFAULT",
+ 1: "HT_BANDWIDTH_20_MHZ",
+ 2: "HT_BANDWIDTH_20_OR_40_MHZ",
+ }
+ WifiConfig_HTBandwidth_value = map[string]int32{
+ "HT_BANDWIDTH_DEFAULT": 0,
+ "HT_BANDWIDTH_20_MHZ": 1,
+ "HT_BANDWIDTH_20_OR_40_MHZ": 2,
+ }
+)
+
+func (x WifiConfig_HTBandwidth) Enum() *WifiConfig_HTBandwidth {
+ p := new(WifiConfig_HTBandwidth)
+ *p = x
+ return p
+}
+
+func (x WifiConfig_HTBandwidth) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (WifiConfig_HTBandwidth) Descriptor() protoreflect.EnumDescriptor {
+ return file_spacex_api_device_wifi_config_proto_enumTypes[4].Descriptor()
+}
+
+func (WifiConfig_HTBandwidth) Type() protoreflect.EnumType {
+ return &file_spacex_api_device_wifi_config_proto_enumTypes[4]
+}
+
+func (x WifiConfig_HTBandwidth) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use WifiConfig_HTBandwidth.Descriptor instead.
+func (WifiConfig_HTBandwidth) EnumDescriptor() ([]byte, []int) {
+ return file_spacex_api_device_wifi_config_proto_rawDescGZIP(), []int{1, 3}
+}
+
+type WifiConfig_VHTBandwidth int32
+
+const (
+ WifiConfig_VHT_BANDWIDTH_DEFAULT WifiConfig_VHTBandwidth = 0
+ WifiConfig_VHT_BANDWIDTH_DISABLED WifiConfig_VHTBandwidth = 1
+ WifiConfig_VHT_BANDWIDTH_80_MHZ WifiConfig_VHTBandwidth = 2
+ WifiConfig_VHT_BANDWIDTH_160_MHZ WifiConfig_VHTBandwidth = 3
+ WifiConfig_VHT_BANDWIDTH_80_PLUS_80_MHZ WifiConfig_VHTBandwidth = 4
+)
+
+// Enum value maps for WifiConfig_VHTBandwidth.
+var (
+ WifiConfig_VHTBandwidth_name = map[int32]string{
+ 0: "VHT_BANDWIDTH_DEFAULT",
+ 1: "VHT_BANDWIDTH_DISABLED",
+ 2: "VHT_BANDWIDTH_80_MHZ",
+ 3: "VHT_BANDWIDTH_160_MHZ",
+ 4: "VHT_BANDWIDTH_80_PLUS_80_MHZ",
+ }
+ WifiConfig_VHTBandwidth_value = map[string]int32{
+ "VHT_BANDWIDTH_DEFAULT": 0,
+ "VHT_BANDWIDTH_DISABLED": 1,
+ "VHT_BANDWIDTH_80_MHZ": 2,
+ "VHT_BANDWIDTH_160_MHZ": 3,
+ "VHT_BANDWIDTH_80_PLUS_80_MHZ": 4,
+ }
+)
+
+func (x WifiConfig_VHTBandwidth) Enum() *WifiConfig_VHTBandwidth {
+ p := new(WifiConfig_VHTBandwidth)
+ *p = x
+ return p
+}
+
+func (x WifiConfig_VHTBandwidth) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (WifiConfig_VHTBandwidth) Descriptor() protoreflect.EnumDescriptor {
+ return file_spacex_api_device_wifi_config_proto_enumTypes[5].Descriptor()
+}
+
+func (WifiConfig_VHTBandwidth) Type() protoreflect.EnumType {
+ return &file_spacex_api_device_wifi_config_proto_enumTypes[5]
+}
+
+func (x WifiConfig_VHTBandwidth) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use WifiConfig_VHTBandwidth.Descriptor instead.
+func (WifiConfig_VHTBandwidth) EnumDescriptor() ([]byte, []int) {
+ return file_spacex_api_device_wifi_config_proto_rawDescGZIP(), []int{1, 4}
+}
+
+type MeshConfig struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
+ ApplyDisplayName bool `protobuf:"varint,2,opt,name=apply_display_name,json=applyDisplayName,proto3" json:"apply_display_name,omitempty"`
+ Auth MeshAuth `protobuf:"varint,3,opt,name=auth,proto3,enum=SpaceX.API.Device.MeshAuth" json:"auth,omitempty"`
+ ApplyAuth bool `protobuf:"varint,4,opt,name=apply_auth,json=applyAuth,proto3" json:"apply_auth,omitempty"`
+ LastConnected int64 `protobuf:"varint,5,opt,name=last_connected,json=lastConnected,proto3" json:"last_connected,omitempty"`
+ Incarnation uint64 `protobuf:"varint,7,opt,name=incarnation,proto3" json:"incarnation,omitempty"`
+}
+
+func (x *MeshConfig) Reset() {
+ *x = MeshConfig{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_wifi_config_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MeshConfig) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MeshConfig) ProtoMessage() {}
+
+func (x *MeshConfig) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_wifi_config_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 MeshConfig.ProtoReflect.Descriptor instead.
+func (*MeshConfig) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_wifi_config_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MeshConfig) GetDisplayName() string {
+ if x != nil {
+ return x.DisplayName
+ }
+ return ""
+}
+
+func (x *MeshConfig) GetApplyDisplayName() bool {
+ if x != nil {
+ return x.ApplyDisplayName
+ }
+ return false
+}
+
+func (x *MeshConfig) GetAuth() MeshAuth {
+ if x != nil {
+ return x.Auth
+ }
+ return MeshAuth_MESH_AUTH_UNKNOWN
+}
+
+func (x *MeshConfig) GetApplyAuth() bool {
+ if x != nil {
+ return x.ApplyAuth
+ }
+ return false
+}
+
+func (x *MeshConfig) GetLastConnected() int64 {
+ if x != nil {
+ return x.LastConnected
+ }
+ return 0
+}
+
+func (x *MeshConfig) GetIncarnation() uint64 {
+ if x != nil {
+ return x.Incarnation
+ }
+ return 0
+}
+
type WifiConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- NetworkName string `protobuf:"bytes,1,opt,name=network_name,json=networkName,proto3" json:"network_name,omitempty"`
- ApplyNetworkName bool `protobuf:"varint,1001,opt,name=apply_network_name,json=applyNetworkName,proto3" json:"apply_network_name,omitempty"`
- NetworkPassword string `protobuf:"bytes,2,opt,name=network_password,json=networkPassword,proto3" json:"network_password,omitempty"`
- ApplyNetworkPassword bool `protobuf:"varint,1002,opt,name=apply_network_password,json=applyNetworkPassword,proto3" json:"apply_network_password,omitempty"`
- CountryCode string `protobuf:"bytes,3,opt,name=country_code,json=countryCode,proto3" json:"country_code,omitempty"`
- WifiDisabled bool `protobuf:"varint,4,opt,name=wifi_disabled,json=wifiDisabled,proto3" json:"wifi_disabled,omitempty"`
- ApplyWifiDisabled bool `protobuf:"varint,1003,opt,name=apply_wifi_disabled,json=applyWifiDisabled,proto3" json:"apply_wifi_disabled,omitempty"`
- LanIpv4 string `protobuf:"bytes,5,opt,name=lan_ipv4,json=lanIpv4,proto3" json:"lan_ipv4,omitempty"`
- LanIpv4SubnetMask string `protobuf:"bytes,6,opt,name=lan_ipv4_subnet_mask,json=lanIpv4SubnetMask,proto3" json:"lan_ipv4_subnet_mask,omitempty"`
- SetupComplete bool `protobuf:"varint,7,opt,name=setup_complete,json=setupComplete,proto3" json:"setup_complete,omitempty"`
+ CountryCode string `protobuf:"bytes,3,opt,name=country_code,json=countryCode,proto3" json:"country_code,omitempty"`
+ PinCountryCode bool `protobuf:"varint,53,opt,name=pin_country_code,json=pinCountryCode,proto3" json:"pin_country_code,omitempty"`
+ CustomPowerTable bool `protobuf:"varint,54,opt,name=custom_power_table,json=customPowerTable,proto3" json:"custom_power_table,omitempty"`
+ SetupComplete bool `protobuf:"varint,7,opt,name=setup_complete,json=setupComplete,proto3" json:"setup_complete,omitempty"`
+ ApplySetupComplete bool `protobuf:"varint,1010,opt,name=apply_setup_complete,json=applySetupComplete,proto3" json:"apply_setup_complete,omitempty"`
+ Version uint32 `protobuf:"varint,9,opt,name=version,proto3" json:"version,omitempty"`
+ // Deprecated: Do not use.
+ MacWan string `protobuf:"bytes,12,opt,name=mac_wan,json=macWan,proto3" json:"mac_wan,omitempty"`
+ // Deprecated: Do not use.
+ MacLan string `protobuf:"bytes,13,opt,name=mac_lan,json=macLan,proto3" json:"mac_lan,omitempty"`
+ Channel_2Ghz uint32 `protobuf:"varint,19,opt,name=channel_2ghz,json=channel2ghz,proto3" json:"channel_2ghz,omitempty"`
+ ApplyChannel_2Ghz bool `protobuf:"varint,1013,opt,name=apply_channel_2ghz,json=applyChannel2ghz,proto3" json:"apply_channel_2ghz,omitempty"`
+ Channel_5Ghz uint32 `protobuf:"varint,20,opt,name=channel_5ghz,json=channel5ghz,proto3" json:"channel_5ghz,omitempty"`
+ ApplyChannel_5Ghz bool `protobuf:"varint,1014,opt,name=apply_channel_5ghz,json=applyChannel5ghz,proto3" json:"apply_channel_5ghz,omitempty"`
+ MeshConfigs map[string]*MeshConfig `protobuf:"bytes,33,rep,name=mesh_configs,json=meshConfigs,proto3" json:"mesh_configs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ MeshConfigsUpdates map[string]*MeshConfig `protobuf:"bytes,3033,rep,name=mesh_configs_updates,json=meshConfigsUpdates,proto3" json:"mesh_configs_updates,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ ApplyMeshConfigs bool `protobuf:"varint,1033,opt,name=apply_mesh_configs,json=applyMeshConfigs,proto3" json:"apply_mesh_configs,omitempty"`
+ DynamicKeys []*PublicKey `protobuf:"bytes,22,rep,name=dynamic_keys,json=dynamicKeys,proto3" json:"dynamic_keys,omitempty"`
+ ApplyDynamicKeys bool `protobuf:"varint,39,opt,name=apply_dynamic_keys,json=applyDynamicKeys,proto3" json:"apply_dynamic_keys,omitempty"`
+ IsRepeater bool `protobuf:"varint,23,opt,name=is_repeater,json=isRepeater,proto3" json:"is_repeater,omitempty"`
+ ApplyIsRepeater bool `protobuf:"varint,1031,opt,name=apply_is_repeater,json=applyIsRepeater,proto3" json:"apply_is_repeater,omitempty"`
+ ApMode bool `protobuf:"varint,51,opt,name=ap_mode,json=apMode,proto3" json:"ap_mode,omitempty"`
+ ApplyApMode bool `protobuf:"varint,1066,opt,name=apply_ap_mode,json=applyApMode,proto3" json:"apply_ap_mode,omitempty"`
+ IsAviation bool `protobuf:"varint,49,opt,name=is_aviation,json=isAviation,proto3" json:"is_aviation,omitempty"`
+ ApplyIsAviation bool `protobuf:"varint,1064,opt,name=apply_is_aviation,json=applyIsAviation,proto3" json:"apply_is_aviation,omitempty"`
+ BootCount int32 `protobuf:"varint,26,opt,name=boot_count,json=bootCount,proto3" json:"boot_count,omitempty"`
+ Boot *BootInfo `protobuf:"bytes,3001,opt,name=boot,proto3" json:"boot,omitempty"`
+ Nameservers []string `protobuf:"bytes,30,rep,name=nameservers,proto3" json:"nameservers,omitempty"`
+ ApplyNameservers bool `protobuf:"varint,1054,opt,name=apply_nameservers,json=applyNameservers,proto3" json:"apply_nameservers,omitempty"`
+ SecureDns bool `protobuf:"varint,50,opt,name=secure_dns,json=secureDns,proto3" json:"secure_dns,omitempty"`
+ ApplySecureDns bool `protobuf:"varint,1065,opt,name=apply_secure_dns,json=applySecureDns,proto3" json:"apply_secure_dns,omitempty"`
+ BypassMode bool `protobuf:"varint,31,opt,name=bypass_mode,json=bypassMode,proto3" json:"bypass_mode,omitempty"`
+ ApplyBypassMode bool `protobuf:"varint,1055,opt,name=apply_bypass_mode,json=applyBypassMode,proto3" json:"apply_bypass_mode,omitempty"`
+ DfsEnabled bool `protobuf:"varint,42,opt,name=dfs_enabled,json=dfsEnabled,proto3" json:"dfs_enabled,omitempty"`
+ ApplyDfsEnabled bool `protobuf:"varint,1058,opt,name=apply_dfs_enabled,json=applyDfsEnabled,proto3" json:"apply_dfs_enabled,omitempty"`
+ DisableMeshOnboarding bool `protobuf:"varint,52,opt,name=disable_mesh_onboarding,json=disableMeshOnboarding,proto3" json:"disable_mesh_onboarding,omitempty"`
+ ApplyDisableMeshOnboarding bool `protobuf:"varint,1067,opt,name=apply_disable_mesh_onboarding,json=applyDisableMeshOnboarding,proto3" json:"apply_disable_mesh_onboarding,omitempty"`
+ Networks []*WifiConfig_Network `protobuf:"bytes,1100,rep,name=networks,proto3" json:"networks,omitempty"`
+ ApplyNetworks bool `protobuf:"varint,1101,opt,name=apply_networks,json=applyNetworks,proto3" json:"apply_networks,omitempty"`
+ // Deprecated: Do not use.
+ NetworkName string `protobuf:"bytes,1,opt,name=network_name,json=networkName,proto3" json:"network_name,omitempty"`
+ // Deprecated: Do not use.
+ ApplyNetworkName bool `protobuf:"varint,1001,opt,name=apply_network_name,json=applyNetworkName,proto3" json:"apply_network_name,omitempty"`
+ // Deprecated: Do not use.
+ NetworkPassword string `protobuf:"bytes,2,opt,name=network_password,json=networkPassword,proto3" json:"network_password,omitempty"`
+ // Deprecated: Do not use.
+ ApplyNetworkPassword bool `protobuf:"varint,1002,opt,name=apply_network_password,json=applyNetworkPassword,proto3" json:"apply_network_password,omitempty"`
+ // Deprecated: Do not use.
+ LanIpv4 string `protobuf:"bytes,5,opt,name=lan_ipv4,json=lanIpv4,proto3" json:"lan_ipv4,omitempty"`
+ // Deprecated: Do not use.
+ ApplyLanIpv4 bool `protobuf:"varint,37,opt,name=apply_lan_ipv4,json=applyLanIpv4,proto3" json:"apply_lan_ipv4,omitempty"`
+ // Deprecated: Do not use.
+ WifiSecurity WifiConfig_Security `protobuf:"varint,10,opt,name=wifi_security,json=wifiSecurity,proto3,enum=SpaceX.API.Device.WifiConfig_Security" json:"wifi_security,omitempty"`
+ // Deprecated: Do not use.
+ ApplyWifiSecurity bool `protobuf:"varint,1004,opt,name=apply_wifi_security,json=applyWifiSecurity,proto3" json:"apply_wifi_security,omitempty"`
+ // Deprecated: Do not use.
+ NetworkName_5Ghz string `protobuf:"bytes,11,opt,name=network_name_5ghz,json=networkName5ghz,proto3" json:"network_name_5ghz,omitempty"`
+ // Deprecated: Do not use.
+ ApplyNetworkName_5Ghz bool `protobuf:"varint,1005,opt,name=apply_network_name_5ghz,json=applyNetworkName5ghz,proto3" json:"apply_network_name_5ghz,omitempty"`
+ EnableRemoteSsh bool `protobuf:"varint,34,opt,name=enable_remote_ssh,json=enableRemoteSsh,proto3" json:"enable_remote_ssh,omitempty"`
+ ApplyEnableRemoteSsh bool `protobuf:"varint,1057,opt,name=apply_enable_remote_ssh,json=applyEnableRemoteSsh,proto3" json:"apply_enable_remote_ssh,omitempty"`
+ LastRemoteSshAccess int64 `protobuf:"varint,35,opt,name=last_remote_ssh_access,json=lastRemoteSshAccess,proto3" json:"last_remote_ssh_access,omitempty"`
+ Incarnation uint64 `protobuf:"varint,43,opt,name=incarnation,proto3" json:"incarnation,omitempty"`
+ WirelessMode_2Ghz WifiConfig_WirelessMode `protobuf:"varint,44,opt,name=wireless_mode_2ghz,json=wirelessMode2ghz,proto3,enum=SpaceX.API.Device.WifiConfig_WirelessMode" json:"wireless_mode_2ghz,omitempty"`
+ ApplyWirelessMode_2Ghz bool `protobuf:"varint,1059,opt,name=apply_wireless_mode_2ghz,json=applyWirelessMode2ghz,proto3" json:"apply_wireless_mode_2ghz,omitempty"`
+ WirelessMode_5Ghz WifiConfig_WirelessMode `protobuf:"varint,45,opt,name=wireless_mode_5ghz,json=wirelessMode5ghz,proto3,enum=SpaceX.API.Device.WifiConfig_WirelessMode" json:"wireless_mode_5ghz,omitempty"`
+ ApplyWirelessMode_5Ghz bool `protobuf:"varint,1060,opt,name=apply_wireless_mode_5ghz,json=applyWirelessMode5ghz,proto3" json:"apply_wireless_mode_5ghz,omitempty"`
+ HtBandwidth_2Ghz WifiConfig_HTBandwidth `protobuf:"varint,46,opt,name=ht_bandwidth_2ghz,json=htBandwidth2ghz,proto3,enum=SpaceX.API.Device.WifiConfig_HTBandwidth" json:"ht_bandwidth_2ghz,omitempty"`
+ ApplyHtBandwidth_2Ghz bool `protobuf:"varint,1061,opt,name=apply_ht_bandwidth_2ghz,json=applyHtBandwidth2ghz,proto3" json:"apply_ht_bandwidth_2ghz,omitempty"`
+ HtBandwidth_5Ghz WifiConfig_HTBandwidth `protobuf:"varint,47,opt,name=ht_bandwidth_5ghz,json=htBandwidth5ghz,proto3,enum=SpaceX.API.Device.WifiConfig_HTBandwidth" json:"ht_bandwidth_5ghz,omitempty"`
+ ApplyHtBandwidth_5Ghz bool `protobuf:"varint,1062,opt,name=apply_ht_bandwidth_5ghz,json=applyHtBandwidth5ghz,proto3" json:"apply_ht_bandwidth_5ghz,omitempty"`
+ VhtBandwidth WifiConfig_VHTBandwidth `protobuf:"varint,48,opt,name=vht_bandwidth,json=vhtBandwidth,proto3,enum=SpaceX.API.Device.WifiConfig_VHTBandwidth" json:"vht_bandwidth,omitempty"`
+ ApplyVhtBandwidth bool `protobuf:"varint,1063,opt,name=apply_vht_bandwidth,json=applyVhtBandwidth,proto3" json:"apply_vht_bandwidth,omitempty"`
+ UsePublicServices bool `protobuf:"varint,55,opt,name=use_public_services,json=usePublicServices,proto3" json:"use_public_services,omitempty"`
+ ApplyUsePublicServices bool `protobuf:"varint,1068,opt,name=apply_use_public_services,json=applyUsePublicServices,proto3" json:"apply_use_public_services,omitempty"`
+ DisableAutomatedSpeedtests bool `protobuf:"varint,56,opt,name=disable_automated_speedtests,json=disableAutomatedSpeedtests,proto3" json:"disable_automated_speedtests,omitempty"`
+ ApplyDisableAutomatedSpeedtests bool `protobuf:"varint,1069,opt,name=apply_disable_automated_speedtests,json=applyDisableAutomatedSpeedtests,proto3" json:"apply_disable_automated_speedtests,omitempty"`
}
func (x *WifiConfig) Reset() {
*x = WifiConfig{}
if protoimpl.UnsafeEnabled {
- mi := &file_spacex_api_device_wifi_config_proto_msgTypes[0]
+ mi := &file_spacex_api_device_wifi_config_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (*WifiConfig) ProtoMessage() {}
func (x *WifiConfig) ProtoReflect() protoreflect.Message {
- mi := &file_spacex_api_device_wifi_config_proto_msgTypes[0]
+ mi := &file_spacex_api_device_wifi_config_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
// Deprecated: Use WifiConfig.ProtoReflect.Descriptor instead.
func (*WifiConfig) Descriptor() ([]byte, []int) {
- return file_spacex_api_device_wifi_config_proto_rawDescGZIP(), []int{0}
+ return file_spacex_api_device_wifi_config_proto_rawDescGZIP(), []int{1}
}
-func (x *WifiConfig) GetNetworkName() string {
- if x != nil {
- return x.NetworkName
+func (x *WifiConfig) GetCountryCode() string {
+ if x != nil {
+ return x.CountryCode
}
return ""
}
-func (x *WifiConfig) GetApplyNetworkName() bool {
+func (x *WifiConfig) GetPinCountryCode() bool {
if x != nil {
- return x.ApplyNetworkName
+ return x.PinCountryCode
}
return false
}
-func (x *WifiConfig) GetNetworkPassword() string {
+func (x *WifiConfig) GetCustomPowerTable() bool {
if x != nil {
- return x.NetworkPassword
+ return x.CustomPowerTable
}
- return ""
+ return false
}
-func (x *WifiConfig) GetApplyNetworkPassword() bool {
+func (x *WifiConfig) GetSetupComplete() bool {
if x != nil {
- return x.ApplyNetworkPassword
+ return x.SetupComplete
}
return false
}
-func (x *WifiConfig) GetCountryCode() string {
+func (x *WifiConfig) GetApplySetupComplete() bool {
if x != nil {
- return x.CountryCode
+ return x.ApplySetupComplete
}
+ return false
+}
+
+func (x *WifiConfig) GetVersion() uint32 {
+ if x != nil {
+ return x.Version
+ }
+ return 0
+}
+
+// Deprecated: Do not use.
+func (x *WifiConfig) GetMacWan() string {
+ if x != nil {
+ return x.MacWan
+ }
return ""
}
-func (x *WifiConfig) GetWifiDisabled() bool {
+// Deprecated: Do not use.
+func (x *WifiConfig) GetMacLan() string {
if x != nil {
- return x.WifiDisabled
+ return x.MacLan
}
+ return ""
+}
+
+func (x *WifiConfig) GetChannel_2Ghz() uint32 {
+ if x != nil {
+ return x.Channel_2Ghz
+ }
+ return 0
+}
+
+func (x *WifiConfig) GetApplyChannel_2Ghz() bool {
+ if x != nil {
+ return x.ApplyChannel_2Ghz
+ }
return false
}
-func (x *WifiConfig) GetApplyWifiDisabled() bool {
+func (x *WifiConfig) GetChannel_5Ghz() uint32 {
if x != nil {
- return x.ApplyWifiDisabled
+ return x.Channel_5Ghz
}
+ return 0
+}
+
+func (x *WifiConfig) GetApplyChannel_5Ghz() bool {
+ if x != nil {
+ return x.ApplyChannel_5Ghz
+ }
return false
}
-func (x *WifiConfig) GetLanIpv4() string {
+func (x *WifiConfig) GetMeshConfigs() map[string]*MeshConfig {
if x != nil {
- return x.LanIpv4
+ return x.MeshConfigs
}
- return ""
+ return nil
}
-func (x *WifiConfig) GetLanIpv4SubnetMask() string {
+func (x *WifiConfig) GetMeshConfigsUpdates() map[string]*MeshConfig {
if x != nil {
- return x.LanIpv4SubnetMask
+ return x.MeshConfigsUpdates
}
+ return nil
+}
+
+func (x *WifiConfig) GetApplyMeshConfigs() bool {
+ if x != nil {
+ return x.ApplyMeshConfigs
+ }
+ return false
+}
+
+func (x *WifiConfig) GetDynamicKeys() []*PublicKey {
+ if x != nil {
+ return x.DynamicKeys
+ }
+ return nil
+}
+
+func (x *WifiConfig) GetApplyDynamicKeys() bool {
+ if x != nil {
+ return x.ApplyDynamicKeys
+ }
+ return false
+}
+
+func (x *WifiConfig) GetIsRepeater() bool {
+ if x != nil {
+ return x.IsRepeater
+ }
+ return false
+}
+
+func (x *WifiConfig) GetApplyIsRepeater() bool {
+ if x != nil {
+ return x.ApplyIsRepeater
+ }
+ return false
+}
+
+func (x *WifiConfig) GetApMode() bool {
+ if x != nil {
+ return x.ApMode
+ }
+ return false
+}
+
+func (x *WifiConfig) GetApplyApMode() bool {
+ if x != nil {
+ return x.ApplyApMode
+ }
+ return false
+}
+
+func (x *WifiConfig) GetIsAviation() bool {
+ if x != nil {
+ return x.IsAviation
+ }
+ return false
+}
+
+func (x *WifiConfig) GetApplyIsAviation() bool {
+ if x != nil {
+ return x.ApplyIsAviation
+ }
+ return false
+}
+
+func (x *WifiConfig) GetBootCount() int32 {
+ if x != nil {
+ return x.BootCount
+ }
+ return 0
+}
+
+func (x *WifiConfig) GetBoot() *BootInfo {
+ if x != nil {
+ return x.Boot
+ }
+ return nil
+}
+
+func (x *WifiConfig) GetNameservers() []string {
+ if x != nil {
+ return x.Nameservers
+ }
+ return nil
+}
+
+func (x *WifiConfig) GetApplyNameservers() bool {
+ if x != nil {
+ return x.ApplyNameservers
+ }
+ return false
+}
+
+func (x *WifiConfig) GetSecureDns() bool {
+ if x != nil {
+ return x.SecureDns
+ }
+ return false
+}
+
+func (x *WifiConfig) GetApplySecureDns() bool {
+ if x != nil {
+ return x.ApplySecureDns
+ }
+ return false
+}
+
+func (x *WifiConfig) GetBypassMode() bool {
+ if x != nil {
+ return x.BypassMode
+ }
+ return false
+}
+
+func (x *WifiConfig) GetApplyBypassMode() bool {
+ if x != nil {
+ return x.ApplyBypassMode
+ }
+ return false
+}
+
+func (x *WifiConfig) GetDfsEnabled() bool {
+ if x != nil {
+ return x.DfsEnabled
+ }
+ return false
+}
+
+func (x *WifiConfig) GetApplyDfsEnabled() bool {
+ if x != nil {
+ return x.ApplyDfsEnabled
+ }
+ return false
+}
+
+func (x *WifiConfig) GetDisableMeshOnboarding() bool {
+ if x != nil {
+ return x.DisableMeshOnboarding
+ }
+ return false
+}
+
+func (x *WifiConfig) GetApplyDisableMeshOnboarding() bool {
+ if x != nil {
+ return x.ApplyDisableMeshOnboarding
+ }
+ return false
+}
+
+func (x *WifiConfig) GetNetworks() []*WifiConfig_Network {
+ if x != nil {
+ return x.Networks
+ }
+ return nil
+}
+
+func (x *WifiConfig) GetApplyNetworks() bool {
+ if x != nil {
+ return x.ApplyNetworks
+ }
+ return false
+}
+
+// Deprecated: Do not use.
+func (x *WifiConfig) GetNetworkName() string {
+ if x != nil {
+ return x.NetworkName
+ }
return ""
}
-func (x *WifiConfig) GetSetupComplete() bool {
+// Deprecated: Do not use.
+func (x *WifiConfig) GetApplyNetworkName() bool {
if x != nil {
- return x.SetupComplete
+ return x.ApplyNetworkName
+ }
+ return false
+}
+
+// Deprecated: Do not use.
+func (x *WifiConfig) GetNetworkPassword() string {
+ if x != nil {
+ return x.NetworkPassword
+ }
+ return ""
+}
+
+// Deprecated: Do not use.
+func (x *WifiConfig) GetApplyNetworkPassword() bool {
+ if x != nil {
+ return x.ApplyNetworkPassword
+ }
+ return false
+}
+
+// Deprecated: Do not use.
+func (x *WifiConfig) GetLanIpv4() string {
+ if x != nil {
+ return x.LanIpv4
+ }
+ return ""
+}
+
+// Deprecated: Do not use.
+func (x *WifiConfig) GetApplyLanIpv4() bool {
+ if x != nil {
+ return x.ApplyLanIpv4
+ }
+ return false
+}
+
+// Deprecated: Do not use.
+func (x *WifiConfig) GetWifiSecurity() WifiConfig_Security {
+ if x != nil {
+ return x.WifiSecurity
+ }
+ return WifiConfig_UNKNOWN
+}
+
+// Deprecated: Do not use.
+func (x *WifiConfig) GetApplyWifiSecurity() bool {
+ if x != nil {
+ return x.ApplyWifiSecurity
+ }
+ return false
+}
+
+// Deprecated: Do not use.
+func (x *WifiConfig) GetNetworkName_5Ghz() string {
+ if x != nil {
+ return x.NetworkName_5Ghz
+ }
+ return ""
+}
+
+// Deprecated: Do not use.
+func (x *WifiConfig) GetApplyNetworkName_5Ghz() bool {
+ if x != nil {
+ return x.ApplyNetworkName_5Ghz
+ }
+ return false
+}
+
+func (x *WifiConfig) GetEnableRemoteSsh() bool {
+ if x != nil {
+ return x.EnableRemoteSsh
+ }
+ return false
+}
+
+func (x *WifiConfig) GetApplyEnableRemoteSsh() bool {
+ if x != nil {
+ return x.ApplyEnableRemoteSsh
+ }
+ return false
+}
+
+func (x *WifiConfig) GetLastRemoteSshAccess() int64 {
+ if x != nil {
+ return x.LastRemoteSshAccess
+ }
+ return 0
+}
+
+func (x *WifiConfig) GetIncarnation() uint64 {
+ if x != nil {
+ return x.Incarnation
+ }
+ return 0
+}
+
+func (x *WifiConfig) GetWirelessMode_2Ghz() WifiConfig_WirelessMode {
+ if x != nil {
+ return x.WirelessMode_2Ghz
+ }
+ return WifiConfig_WIRELESS_MODE_DEFAULT
+}
+
+func (x *WifiConfig) GetApplyWirelessMode_2Ghz() bool {
+ if x != nil {
+ return x.ApplyWirelessMode_2Ghz
+ }
+ return false
+}
+
+func (x *WifiConfig) GetWirelessMode_5Ghz() WifiConfig_WirelessMode {
+ if x != nil {
+ return x.WirelessMode_5Ghz
+ }
+ return WifiConfig_WIRELESS_MODE_DEFAULT
+}
+
+func (x *WifiConfig) GetApplyWirelessMode_5Ghz() bool {
+ if x != nil {
+ return x.ApplyWirelessMode_5Ghz
+ }
+ return false
+}
+
+func (x *WifiConfig) GetHtBandwidth_2Ghz() WifiConfig_HTBandwidth {
+ if x != nil {
+ return x.HtBandwidth_2Ghz
+ }
+ return WifiConfig_HT_BANDWIDTH_DEFAULT
+}
+
+func (x *WifiConfig) GetApplyHtBandwidth_2Ghz() bool {
+ if x != nil {
+ return x.ApplyHtBandwidth_2Ghz
+ }
+ return false
+}
+
+func (x *WifiConfig) GetHtBandwidth_5Ghz() WifiConfig_HTBandwidth {
+ if x != nil {
+ return x.HtBandwidth_5Ghz
+ }
+ return WifiConfig_HT_BANDWIDTH_DEFAULT
+}
+
+func (x *WifiConfig) GetApplyHtBandwidth_5Ghz() bool {
+ if x != nil {
+ return x.ApplyHtBandwidth_5Ghz
+ }
+ return false
+}
+
+func (x *WifiConfig) GetVhtBandwidth() WifiConfig_VHTBandwidth {
+ if x != nil {
+ return x.VhtBandwidth
+ }
+ return WifiConfig_VHT_BANDWIDTH_DEFAULT
+}
+
+func (x *WifiConfig) GetApplyVhtBandwidth() bool {
+ if x != nil {
+ return x.ApplyVhtBandwidth
+ }
+ return false
+}
+
+func (x *WifiConfig) GetUsePublicServices() bool {
+ if x != nil {
+ return x.UsePublicServices
+ }
+ return false
+}
+
+func (x *WifiConfig) GetApplyUsePublicServices() bool {
+ if x != nil {
+ return x.ApplyUsePublicServices
+ }
+ return false
+}
+
+func (x *WifiConfig) GetDisableAutomatedSpeedtests() bool {
+ if x != nil {
+ return x.DisableAutomatedSpeedtests
+ }
+ return false
+}
+
+func (x *WifiConfig) GetApplyDisableAutomatedSpeedtests() bool {
+ if x != nil {
+ return x.ApplyDisableAutomatedSpeedtests
+ }
+ return false
+}
+
+type AuthOpen struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *AuthOpen) Reset() {
+ *x = AuthOpen{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_wifi_config_proto_msgTypes[2]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AuthOpen) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AuthOpen) ProtoMessage() {}
+
+func (x *AuthOpen) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_wifi_config_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 AuthOpen.ProtoReflect.Descriptor instead.
+func (*AuthOpen) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_wifi_config_proto_rawDescGZIP(), []int{2}
+}
+
+type AuthWpa2 struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Password string `protobuf:"bytes,1,opt,name=password,proto3" json:"password,omitempty"`
+}
+
+func (x *AuthWpa2) Reset() {
+ *x = AuthWpa2{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_wifi_config_proto_msgTypes[3]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AuthWpa2) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AuthWpa2) ProtoMessage() {}
+
+func (x *AuthWpa2) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_wifi_config_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 AuthWpa2.ProtoReflect.Descriptor instead.
+func (*AuthWpa2) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_wifi_config_proto_rawDescGZIP(), []int{3}
+}
+
+func (x *AuthWpa2) GetPassword() string {
+ if x != nil {
+ return x.Password
+ }
+ return ""
+}
+
+type AuthWpa3 struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Password string `protobuf:"bytes,1,opt,name=password,proto3" json:"password,omitempty"`
+}
+
+func (x *AuthWpa3) Reset() {
+ *x = AuthWpa3{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_wifi_config_proto_msgTypes[4]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AuthWpa3) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AuthWpa3) ProtoMessage() {}
+
+func (x *AuthWpa3) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_wifi_config_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 AuthWpa3.ProtoReflect.Descriptor instead.
+func (*AuthWpa3) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_wifi_config_proto_rawDescGZIP(), []int{4}
+}
+
+func (x *AuthWpa3) GetPassword() string {
+ if x != nil {
+ return x.Password
+ }
+ return ""
+}
+
+type AuthWpa2Wpa3 struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Password string `protobuf:"bytes,1,opt,name=password,proto3" json:"password,omitempty"`
+}
+
+func (x *AuthWpa2Wpa3) Reset() {
+ *x = AuthWpa2Wpa3{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_wifi_config_proto_msgTypes[5]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AuthWpa2Wpa3) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AuthWpa2Wpa3) ProtoMessage() {}
+
+func (x *AuthWpa2Wpa3) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_wifi_config_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 AuthWpa2Wpa3.ProtoReflect.Descriptor instead.
+func (*AuthWpa2Wpa3) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_wifi_config_proto_rawDescGZIP(), []int{5}
+}
+
+func (x *AuthWpa2Wpa3) GetPassword() string {
+ if x != nil {
+ return x.Password
+ }
+ return ""
+}
+
+type AuthRadius struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Server string `protobuf:"bytes,1,opt,name=server,proto3" json:"server,omitempty"`
+ // Deprecated: Do not use.
+ ServerCa string `protobuf:"bytes,3,opt,name=server_ca,json=serverCa,proto3" json:"server_ca,omitempty"`
+ ServerCaBase_64 string `protobuf:"bytes,4,opt,name=server_ca_base_64,json=serverCaBase64,proto3" json:"server_ca_base_64,omitempty"`
+ Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"`
+}
+
+func (x *AuthRadius) Reset() {
+ *x = AuthRadius{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_wifi_config_proto_msgTypes[6]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AuthRadius) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AuthRadius) ProtoMessage() {}
+
+func (x *AuthRadius) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_wifi_config_proto_msgTypes[6]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AuthRadius.ProtoReflect.Descriptor instead.
+func (*AuthRadius) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_wifi_config_proto_rawDescGZIP(), []int{6}
+}
+
+func (x *AuthRadius) GetServer() string {
+ if x != nil {
+ return x.Server
+ }
+ return ""
+}
+
+// Deprecated: Do not use.
+func (x *AuthRadius) GetServerCa() string {
+ if x != nil {
+ return x.ServerCa
+ }
+ return ""
+}
+
+func (x *AuthRadius) GetServerCaBase_64() string {
+ if x != nil {
+ return x.ServerCaBase_64
+ }
+ return ""
+}
+
+func (x *AuthRadius) GetPassword() string {
+ if x != nil {
+ return x.Password
+ }
+ return ""
+}
+
+type WifiConfig_BasicServiceSet struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Bssid string `protobuf:"bytes,1003,opt,name=bssid,proto3" json:"bssid,omitempty"`
+ Ssid string `protobuf:"bytes,1005,opt,name=ssid,proto3" json:"ssid,omitempty"`
+ // Types that are assignable to Auth:
+ //
+ // *WifiConfig_BasicServiceSet_AuthOpen
+ // *WifiConfig_BasicServiceSet_AuthWpa2
+ // *WifiConfig_BasicServiceSet_AuthWpa3
+ // *WifiConfig_BasicServiceSet_AuthWpa2Wpa3
+ // *WifiConfig_BasicServiceSet_AuthRadius
+ Auth isWifiConfig_BasicServiceSet_Auth `protobuf_oneof:"auth"`
+ Band WifiConfig_Band `protobuf:"varint,1011,opt,name=band,proto3,enum=SpaceX.API.Device.WifiConfig_Band" json:"band,omitempty"`
+ Disable bool `protobuf:"varint,1013,opt,name=disable,proto3" json:"disable,omitempty"`
+ Hidden bool `protobuf:"varint,1015,opt,name=hidden,proto3" json:"hidden,omitempty"`
+}
+
+func (x *WifiConfig_BasicServiceSet) Reset() {
+ *x = WifiConfig_BasicServiceSet{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_wifi_config_proto_msgTypes[9]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WifiConfig_BasicServiceSet) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WifiConfig_BasicServiceSet) ProtoMessage() {}
+
+func (x *WifiConfig_BasicServiceSet) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_wifi_config_proto_msgTypes[9]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WifiConfig_BasicServiceSet.ProtoReflect.Descriptor instead.
+func (*WifiConfig_BasicServiceSet) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_wifi_config_proto_rawDescGZIP(), []int{1, 2}
+}
+
+func (x *WifiConfig_BasicServiceSet) GetBssid() string {
+ if x != nil {
+ return x.Bssid
+ }
+ return ""
+}
+
+func (x *WifiConfig_BasicServiceSet) GetSsid() string {
+ if x != nil {
+ return x.Ssid
+ }
+ return ""
+}
+
+func (m *WifiConfig_BasicServiceSet) GetAuth() isWifiConfig_BasicServiceSet_Auth {
+ if m != nil {
+ return m.Auth
+ }
+ return nil
+}
+
+func (x *WifiConfig_BasicServiceSet) GetAuthOpen() *AuthOpen {
+ if x, ok := x.GetAuth().(*WifiConfig_BasicServiceSet_AuthOpen); ok {
+ return x.AuthOpen
+ }
+ return nil
+}
+
+func (x *WifiConfig_BasicServiceSet) GetAuthWpa2() *AuthWpa2 {
+ if x, ok := x.GetAuth().(*WifiConfig_BasicServiceSet_AuthWpa2); ok {
+ return x.AuthWpa2
+ }
+ return nil
+}
+
+func (x *WifiConfig_BasicServiceSet) GetAuthWpa3() *AuthWpa3 {
+ if x, ok := x.GetAuth().(*WifiConfig_BasicServiceSet_AuthWpa3); ok {
+ return x.AuthWpa3
+ }
+ return nil
+}
+
+func (x *WifiConfig_BasicServiceSet) GetAuthWpa2Wpa3() *AuthWpa2Wpa3 {
+ if x, ok := x.GetAuth().(*WifiConfig_BasicServiceSet_AuthWpa2Wpa3); ok {
+ return x.AuthWpa2Wpa3
+ }
+ return nil
+}
+
+func (x *WifiConfig_BasicServiceSet) GetAuthRadius() *AuthRadius {
+ if x, ok := x.GetAuth().(*WifiConfig_BasicServiceSet_AuthRadius); ok {
+ return x.AuthRadius
+ }
+ return nil
+}
+
+func (x *WifiConfig_BasicServiceSet) GetBand() WifiConfig_Band {
+ if x != nil {
+ return x.Band
+ }
+ return WifiConfig_RF_UNKNOWN
+}
+
+func (x *WifiConfig_BasicServiceSet) GetDisable() bool {
+ if x != nil {
+ return x.Disable
+ }
return false
}
+func (x *WifiConfig_BasicServiceSet) GetHidden() bool {
+ if x != nil {
+ return x.Hidden
+ }
+ return false
+}
+
+type isWifiConfig_BasicServiceSet_Auth interface {
+ isWifiConfig_BasicServiceSet_Auth()
+}
+
+type WifiConfig_BasicServiceSet_AuthOpen struct {
+ AuthOpen *AuthOpen `protobuf:"bytes,2001,opt,name=auth_open,json=authOpen,proto3,oneof"`
+}
+
+type WifiConfig_BasicServiceSet_AuthWpa2 struct {
+ AuthWpa2 *AuthWpa2 `protobuf:"bytes,2002,opt,name=auth_wpa2,json=authWpa2,proto3,oneof"`
+}
+
+type WifiConfig_BasicServiceSet_AuthWpa3 struct {
+ AuthWpa3 *AuthWpa3 `protobuf:"bytes,2003,opt,name=auth_wpa3,json=authWpa3,proto3,oneof"`
+}
+
+type WifiConfig_BasicServiceSet_AuthWpa2Wpa3 struct {
+ AuthWpa2Wpa3 *AuthWpa2Wpa3 `protobuf:"bytes,2004,opt,name=auth_wpa2_wpa3,json=authWpa2Wpa3,proto3,oneof"`
+}
+
+type WifiConfig_BasicServiceSet_AuthRadius struct {
+ AuthRadius *AuthRadius `protobuf:"bytes,2005,opt,name=auth_radius,json=authRadius,proto3,oneof"`
+}
+
+func (*WifiConfig_BasicServiceSet_AuthOpen) isWifiConfig_BasicServiceSet_Auth() {}
+
+func (*WifiConfig_BasicServiceSet_AuthWpa2) isWifiConfig_BasicServiceSet_Auth() {}
+
+func (*WifiConfig_BasicServiceSet_AuthWpa3) isWifiConfig_BasicServiceSet_Auth() {}
+
+func (*WifiConfig_BasicServiceSet_AuthWpa2Wpa3) isWifiConfig_BasicServiceSet_Auth() {}
+
+func (*WifiConfig_BasicServiceSet_AuthRadius) isWifiConfig_BasicServiceSet_Auth() {}
+
+type WifiConfig_Network struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Ipv4 string `protobuf:"bytes,1003,opt,name=ipv4,proto3" json:"ipv4,omitempty"`
+ Domain string `protobuf:"bytes,1011,opt,name=domain,proto3" json:"domain,omitempty"`
+ BasicServiceSets []*WifiConfig_BasicServiceSet `protobuf:"bytes,1007,rep,name=basic_service_sets,json=basicServiceSets,proto3" json:"basic_service_sets,omitempty"`
+ ClientIsolation bool `protobuf:"varint,1008,opt,name=client_isolation,json=clientIsolation,proto3" json:"client_isolation,omitempty"`
+ Guest bool `protobuf:"varint,1009,opt,name=guest,proto3" json:"guest,omitempty"`
+ Landing string `protobuf:"bytes,1010,opt,name=landing,proto3" json:"landing,omitempty"`
+}
+
+func (x *WifiConfig_Network) Reset() {
+ *x = WifiConfig_Network{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_device_wifi_config_proto_msgTypes[10]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WifiConfig_Network) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WifiConfig_Network) ProtoMessage() {}
+
+func (x *WifiConfig_Network) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_device_wifi_config_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 WifiConfig_Network.ProtoReflect.Descriptor instead.
+func (*WifiConfig_Network) Descriptor() ([]byte, []int) {
+ return file_spacex_api_device_wifi_config_proto_rawDescGZIP(), []int{1, 3}
+}
+
+func (x *WifiConfig_Network) GetIpv4() string {
+ if x != nil {
+ return x.Ipv4
+ }
+ return ""
+}
+
+func (x *WifiConfig_Network) GetDomain() string {
+ if x != nil {
+ return x.Domain
+ }
+ return ""
+}
+
+func (x *WifiConfig_Network) GetBasicServiceSets() []*WifiConfig_BasicServiceSet {
+ if x != nil {
+ return x.BasicServiceSets
+ }
+ return nil
+}
+
+func (x *WifiConfig_Network) GetClientIsolation() bool {
+ if x != nil {
+ return x.ClientIsolation
+ }
+ return false
+}
+
+func (x *WifiConfig_Network) GetGuest() bool {
+ if x != nil {
+ return x.Guest
+ }
+ return false
+}
+
+func (x *WifiConfig_Network) GetLanding() string {
+ if x != nil {
+ return x.Landing
+ }
+ return ""
+}
+
var File_spacex_api_device_wifi_config_proto protoreflect.FileDescriptor
var file_spacex_api_device_wifi_config_proto_rawDesc = []byte{
0x0a, 0x23, 0x73, 0x70, 0x61, 0x63, 0x65, 0x78, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76,
0x69, 0x63, 0x65, 0x2f, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50,
- 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x22, 0xac, 0x03, 0x0a, 0x0a, 0x57, 0x69, 0x66,
- 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x74, 0x77, 0x6f,
- 0x72, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e,
- 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x61, 0x70,
- 0x70, 0x6c, 0x79, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
- 0x18, 0xe9, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x4e, 0x65,
- 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x6e, 0x65, 0x74,
- 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x61, 0x73, 0x73,
- 0x77, 0x6f, 0x72, 0x64, 0x12, 0x35, 0x0a, 0x16, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x6e, 0x65,
- 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0xea,
- 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x4e, 0x65, 0x74, 0x77,
- 0x6f, 0x72, 0x6b, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63,
- 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x23,
- 0x0a, 0x0d, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18,
- 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x77, 0x69, 0x66, 0x69, 0x44, 0x69, 0x73, 0x61, 0x62,
- 0x6c, 0x65, 0x64, 0x12, 0x2f, 0x0a, 0x13, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x77, 0x69, 0x66,
- 0x69, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0xeb, 0x07, 0x20, 0x01, 0x28,
- 0x08, 0x52, 0x11, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x57, 0x69, 0x66, 0x69, 0x44, 0x69, 0x73, 0x61,
- 0x62, 0x6c, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x5f, 0x69, 0x70, 0x76, 0x34,
- 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x61, 0x6e, 0x49, 0x70, 0x76, 0x34, 0x12,
- 0x2f, 0x0a, 0x14, 0x6c, 0x61, 0x6e, 0x5f, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x73, 0x75, 0x62, 0x6e,
- 0x65, 0x74, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x6c,
- 0x61, 0x6e, 0x49, 0x70, 0x76, 0x34, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x4d, 0x61, 0x73, 0x6b,
- 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x74, 0x75, 0x70, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65,
- 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x65, 0x74, 0x75, 0x70, 0x43,
- 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x17, 0x5a, 0x15, 0x73, 0x70, 0x61, 0x63, 0x65,
- 0x78, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65,
- 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x1a, 0x1f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x78,
+ 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x63, 0x6f, 0x6d, 0x6d,
+ 0x61, 0x6e, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x73, 0x70, 0x61, 0x63, 0x65,
+ 0x78, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x63, 0x6f, 0x6d,
+ 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x82, 0x02, 0x0a, 0x0a, 0x4d, 0x65,
+ 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70,
+ 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
+ 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x61,
+ 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x44, 0x69,
+ 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x04, 0x61, 0x75, 0x74,
+ 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58,
+ 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4d, 0x65, 0x73, 0x68,
+ 0x41, 0x75, 0x74, 0x68, 0x52, 0x04, 0x61, 0x75, 0x74, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x70,
+ 0x70, 0x6c, 0x79, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09,
+ 0x61, 0x70, 0x70, 0x6c, 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x61, 0x73,
+ 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28,
+ 0x03, 0x52, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64,
+ 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x63, 0x61, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,
+ 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x69, 0x6e, 0x63, 0x61, 0x72, 0x6e, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07, 0x4a, 0x04, 0x08, 0x08, 0x10, 0x09, 0x22, 0x9e,
+ 0x29, 0x0a, 0x0a, 0x57, 0x69, 0x66, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x21, 0x0a,
+ 0x0c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65,
+ 0x12, 0x28, 0x0a, 0x10, 0x70, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x5f,
+ 0x63, 0x6f, 0x64, 0x65, 0x18, 0x35, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x70, 0x69, 0x6e, 0x43,
+ 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x75,
+ 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x18, 0x36, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x50, 0x6f,
+ 0x77, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x74, 0x75,
+ 0x70, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x0d, 0x73, 0x65, 0x74, 0x75, 0x70, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x12,
+ 0x31, 0x0a, 0x14, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x73, 0x65, 0x74, 0x75, 0x70, 0x5f, 0x63,
+ 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x18, 0xf2, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12,
+ 0x61, 0x70, 0x70, 0x6c, 0x79, 0x53, 0x65, 0x74, 0x75, 0x70, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65,
+ 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x07,
+ 0x6d, 0x61, 0x63, 0x5f, 0x77, 0x61, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18,
+ 0x01, 0x52, 0x06, 0x6d, 0x61, 0x63, 0x57, 0x61, 0x6e, 0x12, 0x1b, 0x0a, 0x07, 0x6d, 0x61, 0x63,
+ 0x5f, 0x6c, 0x61, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x06,
+ 0x6d, 0x61, 0x63, 0x4c, 0x61, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65,
+ 0x6c, 0x5f, 0x32, 0x67, 0x68, 0x7a, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x68,
+ 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x32, 0x67, 0x68, 0x7a, 0x12, 0x2d, 0x0a, 0x12, 0x61, 0x70, 0x70,
+ 0x6c, 0x79, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x32, 0x67, 0x68, 0x7a, 0x18,
+ 0xf5, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x43, 0x68, 0x61,
+ 0x6e, 0x6e, 0x65, 0x6c, 0x32, 0x67, 0x68, 0x7a, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e,
+ 0x6e, 0x65, 0x6c, 0x5f, 0x35, 0x67, 0x68, 0x7a, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b,
+ 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x35, 0x67, 0x68, 0x7a, 0x12, 0x2d, 0x0a, 0x12, 0x61,
+ 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x35, 0x67, 0x68,
+ 0x7a, 0x18, 0xf6, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x43,
+ 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x35, 0x67, 0x68, 0x7a, 0x12, 0x51, 0x0a, 0x0c, 0x6d, 0x65,
+ 0x73, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x21, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x2e, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65,
+ 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
+ 0x4d, 0x65, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
+ 0x52, 0x0b, 0x6d, 0x65, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x68, 0x0a,
+ 0x14, 0x6d, 0x65, 0x73, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x5f, 0x75, 0x70,
+ 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0xd9, 0x17, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x53,
+ 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
+ 0x2e, 0x57, 0x69, 0x66, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4d, 0x65, 0x73, 0x68,
+ 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x52, 0x12, 0x6d, 0x65, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73,
+ 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x61, 0x70, 0x70, 0x6c, 0x79,
+ 0x5f, 0x6d, 0x65, 0x73, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x89, 0x08,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x4d, 0x65, 0x73, 0x68, 0x43,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x3f, 0x0a, 0x0c, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69,
+ 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x16, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x53,
+ 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
+ 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x0b, 0x64, 0x79, 0x6e, 0x61,
+ 0x6d, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x70, 0x70, 0x6c, 0x79,
+ 0x5f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x27, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69,
+ 0x63, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x65,
+ 0x61, 0x74, 0x65, 0x72, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x52, 0x65,
+ 0x70, 0x65, 0x61, 0x74, 0x65, 0x72, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f,
+ 0x69, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x72, 0x18, 0x87, 0x08, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x0f, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x73, 0x52, 0x65, 0x70, 0x65, 0x61,
+ 0x74, 0x65, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x70, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x33,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x61, 0x70, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d,
+ 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x61, 0x70, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0xaa, 0x08,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x41, 0x70, 0x4d, 0x6f, 0x64,
+ 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x61, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x18, 0x31, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x41, 0x76, 0x69, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x69, 0x73, 0x5f, 0x61,
+ 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xa8, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f,
+ 0x61, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x73, 0x41, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
+ 0x1d, 0x0a, 0x0a, 0x62, 0x6f, 0x6f, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x1a, 0x20,
+ 0x01, 0x28, 0x05, 0x52, 0x09, 0x62, 0x6f, 0x6f, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x30,
+ 0x0a, 0x04, 0x62, 0x6f, 0x6f, 0x74, 0x18, 0xb9, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e,
+ 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
+ 0x65, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x62, 0x6f, 0x6f, 0x74,
+ 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x18,
+ 0x1e, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65,
+ 0x72, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
+ 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x18, 0x9e, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10,
+ 0x61, 0x70, 0x70, 0x6c, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73,
+ 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x5f, 0x64, 0x6e, 0x73, 0x18, 0x32,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x44, 0x6e, 0x73, 0x12,
+ 0x29, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x5f,
+ 0x64, 0x6e, 0x73, 0x18, 0xa9, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, 0x70, 0x70, 0x6c,
+ 0x79, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x44, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x79,
+ 0x70, 0x61, 0x73, 0x73, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x0a, 0x62, 0x79, 0x70, 0x61, 0x73, 0x73, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x61,
+ 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x62, 0x79, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x6d, 0x6f, 0x64, 0x65,
+ 0x18, 0x9f, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x42, 0x79,
+ 0x70, 0x61, 0x73, 0x73, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x66, 0x73, 0x5f,
+ 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64,
+ 0x66, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x70, 0x70,
+ 0x6c, 0x79, 0x5f, 0x64, 0x66, 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0xa2,
+ 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x44, 0x66, 0x73, 0x45,
+ 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x36, 0x0a, 0x17, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c,
+ 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x68, 0x5f, 0x6f, 0x6e, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x69, 0x6e,
+ 0x67, 0x18, 0x34, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
+ 0x4d, 0x65, 0x73, 0x68, 0x4f, 0x6e, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x42,
+ 0x0a, 0x1d, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f,
+ 0x6d, 0x65, 0x73, 0x68, 0x5f, 0x6f, 0x6e, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x18,
+ 0xab, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x44, 0x69, 0x73,
+ 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x65, 0x73, 0x68, 0x4f, 0x6e, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x69,
+ 0x6e, 0x67, 0x12, 0x42, 0x0a, 0x08, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x18, 0xcc,
+ 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41,
+ 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x43, 0x6f,
+ 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x08, 0x6e, 0x65,
+ 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f,
+ 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x18, 0xcd, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x0d, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x12, 0x25,
+ 0x0a, 0x0c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72,
+ 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x12, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x6e,
+ 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xe9, 0x07, 0x20, 0x01,
+ 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x4e, 0x65, 0x74,
+ 0x77, 0x6f, 0x72, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x10, 0x6e, 0x65, 0x74, 0x77,
+ 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50,
+ 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x39, 0x0a, 0x16, 0x61, 0x70, 0x70, 0x6c, 0x79,
+ 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72,
+ 0x64, 0x18, 0xea, 0x07, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x14, 0x61, 0x70,
+ 0x70, 0x6c, 0x79, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f,
+ 0x72, 0x64, 0x12, 0x1d, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x5f, 0x69, 0x70, 0x76, 0x34, 0x18, 0x05,
+ 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x07, 0x6c, 0x61, 0x6e, 0x49, 0x70, 0x76,
+ 0x34, 0x12, 0x28, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x6c, 0x61, 0x6e, 0x5f, 0x69,
+ 0x70, 0x76, 0x34, 0x18, 0x25, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0c, 0x61,
+ 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x61, 0x6e, 0x49, 0x70, 0x76, 0x34, 0x12, 0x4f, 0x0a, 0x0d, 0x77,
+ 0x69, 0x66, 0x69, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x18, 0x0a, 0x20, 0x01,
+ 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e,
+ 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69,
+ 0x67, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0c,
+ 0x77, 0x69, 0x66, 0x69, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x12, 0x33, 0x0a, 0x13,
+ 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72,
+ 0x69, 0x74, 0x79, 0x18, 0xec, 0x07, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x11,
+ 0x61, 0x70, 0x70, 0x6c, 0x79, 0x57, 0x69, 0x66, 0x69, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74,
+ 0x79, 0x12, 0x2e, 0x0a, 0x11, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x6e, 0x61, 0x6d,
+ 0x65, 0x5f, 0x35, 0x67, 0x68, 0x7a, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01,
+ 0x52, 0x0f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x35, 0x67, 0x68,
+ 0x7a, 0x12, 0x3a, 0x0a, 0x17, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f,
+ 0x72, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x35, 0x67, 0x68, 0x7a, 0x18, 0xed, 0x07, 0x20,
+ 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x14, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x4e, 0x65,
+ 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x35, 0x67, 0x68, 0x7a, 0x12, 0x2a, 0x0a,
+ 0x11, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x73,
+ 0x73, 0x68, 0x18, 0x22, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65,
+ 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x73, 0x68, 0x12, 0x36, 0x0a, 0x17, 0x61, 0x70, 0x70,
+ 0x6c, 0x79, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65,
+ 0x5f, 0x73, 0x73, 0x68, 0x18, 0xa1, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x61, 0x70, 0x70,
+ 0x6c, 0x79, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x73,
+ 0x68, 0x12, 0x33, 0x0a, 0x16, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65,
+ 0x5f, 0x73, 0x73, 0x68, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x23, 0x20, 0x01, 0x28,
+ 0x03, 0x52, 0x13, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x73, 0x68,
+ 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x63, 0x61, 0x72, 0x6e,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x69, 0x6e, 0x63,
+ 0x61, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x58, 0x0a, 0x12, 0x77, 0x69, 0x72, 0x65,
+ 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x32, 0x67, 0x68, 0x7a, 0x18, 0x2c,
+ 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50,
+ 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x43, 0x6f, 0x6e,
+ 0x66, 0x69, 0x67, 0x2e, 0x57, 0x69, 0x72, 0x65, 0x6c, 0x65, 0x73, 0x73, 0x4d, 0x6f, 0x64, 0x65,
+ 0x52, 0x10, 0x77, 0x69, 0x72, 0x65, 0x6c, 0x65, 0x73, 0x73, 0x4d, 0x6f, 0x64, 0x65, 0x32, 0x67,
+ 0x68, 0x7a, 0x12, 0x38, 0x0a, 0x18, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x77, 0x69, 0x72, 0x65,
+ 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x32, 0x67, 0x68, 0x7a, 0x18, 0xa3,
+ 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x57, 0x69, 0x72, 0x65,
+ 0x6c, 0x65, 0x73, 0x73, 0x4d, 0x6f, 0x64, 0x65, 0x32, 0x67, 0x68, 0x7a, 0x12, 0x58, 0x0a, 0x12,
+ 0x77, 0x69, 0x72, 0x65, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x35, 0x67,
+ 0x68, 0x7a, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65,
+ 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66,
+ 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x57, 0x69, 0x72, 0x65, 0x6c, 0x65, 0x73, 0x73,
+ 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x10, 0x77, 0x69, 0x72, 0x65, 0x6c, 0x65, 0x73, 0x73, 0x4d, 0x6f,
+ 0x64, 0x65, 0x35, 0x67, 0x68, 0x7a, 0x12, 0x38, 0x0a, 0x18, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f,
+ 0x77, 0x69, 0x72, 0x65, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x35, 0x67,
+ 0x68, 0x7a, 0x18, 0xa4, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x61, 0x70, 0x70, 0x6c, 0x79,
+ 0x57, 0x69, 0x72, 0x65, 0x6c, 0x65, 0x73, 0x73, 0x4d, 0x6f, 0x64, 0x65, 0x35, 0x67, 0x68, 0x7a,
+ 0x12, 0x55, 0x0a, 0x11, 0x68, 0x74, 0x5f, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68,
+ 0x5f, 0x32, 0x67, 0x68, 0x7a, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x53, 0x70,
+ 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e,
+ 0x57, 0x69, 0x66, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x48, 0x54, 0x42, 0x61, 0x6e,
+ 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x52, 0x0f, 0x68, 0x74, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69,
+ 0x64, 0x74, 0x68, 0x32, 0x67, 0x68, 0x7a, 0x12, 0x36, 0x0a, 0x17, 0x61, 0x70, 0x70, 0x6c, 0x79,
+ 0x5f, 0x68, 0x74, 0x5f, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x5f, 0x32, 0x67,
+ 0x68, 0x7a, 0x18, 0xa5, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x61, 0x70, 0x70, 0x6c, 0x79,
+ 0x48, 0x74, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x32, 0x67, 0x68, 0x7a, 0x12,
+ 0x55, 0x0a, 0x11, 0x68, 0x74, 0x5f, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x5f,
+ 0x35, 0x67, 0x68, 0x7a, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x53, 0x70, 0x61,
+ 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57,
+ 0x69, 0x66, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x48, 0x54, 0x42, 0x61, 0x6e, 0x64,
+ 0x77, 0x69, 0x64, 0x74, 0x68, 0x52, 0x0f, 0x68, 0x74, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64,
+ 0x74, 0x68, 0x35, 0x67, 0x68, 0x7a, 0x12, 0x36, 0x0a, 0x17, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f,
+ 0x68, 0x74, 0x5f, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x5f, 0x35, 0x67, 0x68,
+ 0x7a, 0x18, 0xa6, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x48,
+ 0x74, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x35, 0x67, 0x68, 0x7a, 0x12, 0x4f,
+ 0x0a, 0x0d, 0x76, 0x68, 0x74, 0x5f, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18,
+ 0x30, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41,
+ 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x43, 0x6f,
+ 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x56, 0x48, 0x54, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74,
+ 0x68, 0x52, 0x0c, 0x76, 0x68, 0x74, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12,
+ 0x2f, 0x0a, 0x13, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x76, 0x68, 0x74, 0x5f, 0x62, 0x61, 0x6e,
+ 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0xa7, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x61,
+ 0x70, 0x70, 0x6c, 0x79, 0x56, 0x68, 0x74, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68,
+ 0x12, 0x2e, 0x0a, 0x13, 0x75, 0x73, 0x65, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x73,
+ 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x37, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x75,
+ 0x73, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73,
+ 0x12, 0x3a, 0x0a, 0x19, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x5f, 0x70, 0x75,
+ 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0xac, 0x08,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x55, 0x73, 0x65, 0x50, 0x75,
+ 0x62, 0x6c, 0x69, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x40, 0x0a, 0x1c,
+ 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65,
+ 0x64, 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x73, 0x18, 0x38, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x1a, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x6d,
+ 0x61, 0x74, 0x65, 0x64, 0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x73, 0x12, 0x4c,
+ 0x0a, 0x22, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f,
+ 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x74,
+ 0x65, 0x73, 0x74, 0x73, 0x18, 0xad, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1f, 0x61, 0x70, 0x70,
+ 0x6c, 0x79, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74,
+ 0x65, 0x64, 0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x73, 0x1a, 0x5d, 0x0a, 0x10,
+ 0x4d, 0x65, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
+ 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b,
+ 0x65, 0x79, 0x12, 0x33, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x1d, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44,
+ 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4d, 0x65, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+ 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x64, 0x0a, 0x17, 0x4d,
+ 0x65, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
+ 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x33, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58,
+ 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4d, 0x65, 0x73, 0x68,
+ 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
+ 0x01, 0x1a, 0xbe, 0x04, 0x0a, 0x0f, 0x42, 0x61, 0x73, 0x69, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69,
+ 0x63, 0x65, 0x53, 0x65, 0x74, 0x12, 0x15, 0x0a, 0x05, 0x62, 0x73, 0x73, 0x69, 0x64, 0x18, 0xeb,
+ 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x73, 0x73, 0x69, 0x64, 0x12, 0x13, 0x0a, 0x04,
+ 0x73, 0x73, 0x69, 0x64, 0x18, 0xed, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x73, 0x69,
+ 0x64, 0x12, 0x3b, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0xd1,
+ 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41,
+ 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x4f, 0x70,
+ 0x65, 0x6e, 0x48, 0x00, 0x52, 0x08, 0x61, 0x75, 0x74, 0x68, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x3b,
+ 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x77, 0x70, 0x61, 0x32, 0x18, 0xd2, 0x0f, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e,
+ 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x57, 0x70, 0x61, 0x32, 0x48,
+ 0x00, 0x52, 0x08, 0x61, 0x75, 0x74, 0x68, 0x57, 0x70, 0x61, 0x32, 0x12, 0x3b, 0x0a, 0x09, 0x61,
+ 0x75, 0x74, 0x68, 0x5f, 0x77, 0x70, 0x61, 0x33, 0x18, 0xd3, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x1b, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76,
+ 0x69, 0x63, 0x65, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x57, 0x70, 0x61, 0x33, 0x48, 0x00, 0x52, 0x08,
+ 0x61, 0x75, 0x74, 0x68, 0x57, 0x70, 0x61, 0x33, 0x12, 0x48, 0x0a, 0x0e, 0x61, 0x75, 0x74, 0x68,
+ 0x5f, 0x77, 0x70, 0x61, 0x32, 0x5f, 0x77, 0x70, 0x61, 0x33, 0x18, 0xd4, 0x0f, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x1f, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44,
+ 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x57, 0x70, 0x61, 0x32, 0x57, 0x70,
+ 0x61, 0x33, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x75, 0x74, 0x68, 0x57, 0x70, 0x61, 0x32, 0x57, 0x70,
+ 0x61, 0x33, 0x12, 0x41, 0x0a, 0x0b, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x72, 0x61, 0x64, 0x69, 0x75,
+ 0x73, 0x18, 0xd5, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65,
+ 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x75, 0x74,
+ 0x68, 0x52, 0x61, 0x64, 0x69, 0x75, 0x73, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x75, 0x74, 0x68, 0x52,
+ 0x61, 0x64, 0x69, 0x75, 0x73, 0x12, 0x37, 0x0a, 0x04, 0x62, 0x61, 0x6e, 0x64, 0x18, 0xf3, 0x07,
+ 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50,
+ 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x43, 0x6f, 0x6e,
+ 0x66, 0x69, 0x67, 0x2e, 0x42, 0x61, 0x6e, 0x64, 0x52, 0x04, 0x62, 0x61, 0x6e, 0x64, 0x12, 0x19,
+ 0x0a, 0x07, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x18, 0xf5, 0x07, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x07, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x17, 0x0a, 0x06, 0x68, 0x69, 0x64,
+ 0x64, 0x65, 0x6e, 0x18, 0xf7, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x68, 0x69, 0x64, 0x64,
+ 0x65, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x61, 0x75, 0x74, 0x68, 0x4a, 0x06, 0x08, 0xe8, 0x07, 0x10,
+ 0xe9, 0x07, 0x4a, 0x06, 0x08, 0xe9, 0x07, 0x10, 0xea, 0x07, 0x4a, 0x06, 0x08, 0xea, 0x07, 0x10,
+ 0xeb, 0x07, 0x4a, 0x06, 0x08, 0xec, 0x07, 0x10, 0xed, 0x07, 0x4a, 0x06, 0x08, 0xee, 0x07, 0x10,
+ 0xef, 0x07, 0x4a, 0x06, 0x08, 0xd0, 0x0f, 0x10, 0xd1, 0x0f, 0x4a, 0x06, 0x08, 0xf4, 0x07, 0x10,
+ 0xf5, 0x07, 0x4a, 0x06, 0x08, 0xf6, 0x07, 0x10, 0xf7, 0x07, 0x4a, 0x06, 0x08, 0xf8, 0x07, 0x10,
+ 0xf9, 0x07, 0x1a, 0xa3, 0x02, 0x0a, 0x07, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x13,
+ 0x0a, 0x04, 0x69, 0x70, 0x76, 0x34, 0x18, 0xeb, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69,
+ 0x70, 0x76, 0x34, 0x12, 0x17, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0xf3, 0x07,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x5c, 0x0a, 0x12,
+ 0x62, 0x61, 0x73, 0x69, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x73, 0x65,
+ 0x74, 0x73, 0x18, 0xef, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x53, 0x70, 0x61, 0x63,
+ 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69,
+ 0x66, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x63, 0x53, 0x65,
+ 0x72, 0x76, 0x69, 0x63, 0x65, 0x53, 0x65, 0x74, 0x52, 0x10, 0x62, 0x61, 0x73, 0x69, 0x63, 0x53,
+ 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x53, 0x65, 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x63, 0x6c,
+ 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x73, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xf0,
+ 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x73, 0x6f,
+ 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x15, 0x0a, 0x05, 0x67, 0x75, 0x65, 0x73, 0x74, 0x18,
+ 0xf1, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x67, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a,
+ 0x07, 0x6c, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0xf2, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x07, 0x6c, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4a, 0x06, 0x08, 0xe8, 0x07, 0x10, 0xe9, 0x07,
+ 0x4a, 0x06, 0x08, 0xe9, 0x07, 0x10, 0xea, 0x07, 0x4a, 0x06, 0x08, 0xea, 0x07, 0x10, 0xeb, 0x07,
+ 0x4a, 0x06, 0x08, 0xec, 0x07, 0x10, 0xed, 0x07, 0x4a, 0x06, 0x08, 0xed, 0x07, 0x10, 0xee, 0x07,
+ 0x4a, 0x06, 0x08, 0xee, 0x07, 0x10, 0xef, 0x07, 0x22, 0x39, 0x0a, 0x08, 0x53, 0x65, 0x63, 0x75,
+ 0x72, 0x69, 0x74, 0x79, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10,
+ 0x00, 0x12, 0x08, 0x0a, 0x04, 0x57, 0x50, 0x41, 0x32, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x57,
+ 0x50, 0x41, 0x33, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x57, 0x50, 0x41, 0x32, 0x57, 0x50, 0x41,
+ 0x33, 0x10, 0x03, 0x22, 0x30, 0x0a, 0x04, 0x42, 0x61, 0x6e, 0x64, 0x12, 0x0e, 0x0a, 0x0a, 0x52,
+ 0x46, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x52,
+ 0x46, 0x5f, 0x32, 0x47, 0x48, 0x5a, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x46, 0x5f, 0x35,
+ 0x47, 0x48, 0x5a, 0x10, 0x05, 0x22, 0xe5, 0x01, 0x0a, 0x0c, 0x57, 0x69, 0x72, 0x65, 0x6c, 0x65,
+ 0x73, 0x73, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x57, 0x49, 0x52, 0x45, 0x4c, 0x45,
+ 0x53, 0x53, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10,
+ 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x01, 0x12, 0x0a, 0x0a,
+ 0x06, 0x42, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x47, 0x5f, 0x4f,
+ 0x4e, 0x4c, 0x59, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10,
+ 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x42, 0x5f, 0x47, 0x5f, 0x4d, 0x49, 0x58, 0x45, 0x44, 0x10, 0x05,
+ 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x5f, 0x4e, 0x5f, 0x4d, 0x49, 0x58, 0x45, 0x44, 0x10, 0x06, 0x12,
+ 0x0d, 0x0a, 0x09, 0x47, 0x5f, 0x4e, 0x5f, 0x4d, 0x49, 0x58, 0x45, 0x44, 0x10, 0x07, 0x12, 0x0f,
+ 0x0a, 0x0b, 0x42, 0x5f, 0x47, 0x5f, 0x4e, 0x5f, 0x4d, 0x49, 0x58, 0x45, 0x44, 0x10, 0x08, 0x12,
+ 0x11, 0x0a, 0x0d, 0x41, 0x5f, 0x41, 0x4e, 0x5f, 0x41, 0x43, 0x5f, 0x4d, 0x49, 0x58, 0x45, 0x44,
+ 0x10, 0x09, 0x12, 0x0f, 0x0a, 0x0b, 0x41, 0x4e, 0x5f, 0x41, 0x43, 0x5f, 0x4d, 0x49, 0x58, 0x45,
+ 0x44, 0x10, 0x0a, 0x12, 0x12, 0x0a, 0x0e, 0x42, 0x5f, 0x47, 0x5f, 0x4e, 0x5f, 0x41, 0x58, 0x5f,
+ 0x4d, 0x49, 0x58, 0x45, 0x44, 0x10, 0x0b, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x5f, 0x41, 0x4e, 0x5f,
+ 0x41, 0x43, 0x5f, 0x41, 0x58, 0x5f, 0x4d, 0x49, 0x58, 0x45, 0x44, 0x10, 0x0c, 0x22, 0x5f, 0x0a,
+ 0x0b, 0x48, 0x54, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x18, 0x0a, 0x14,
+ 0x48, 0x54, 0x5f, 0x42, 0x41, 0x4e, 0x44, 0x57, 0x49, 0x44, 0x54, 0x48, 0x5f, 0x44, 0x45, 0x46,
+ 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x48, 0x54, 0x5f, 0x42, 0x41, 0x4e,
+ 0x44, 0x57, 0x49, 0x44, 0x54, 0x48, 0x5f, 0x32, 0x30, 0x5f, 0x4d, 0x48, 0x5a, 0x10, 0x01, 0x12,
+ 0x1d, 0x0a, 0x19, 0x48, 0x54, 0x5f, 0x42, 0x41, 0x4e, 0x44, 0x57, 0x49, 0x44, 0x54, 0x48, 0x5f,
+ 0x32, 0x30, 0x5f, 0x4f, 0x52, 0x5f, 0x34, 0x30, 0x5f, 0x4d, 0x48, 0x5a, 0x10, 0x02, 0x22, 0x9c,
+ 0x01, 0x0a, 0x0c, 0x56, 0x48, 0x54, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12,
+ 0x19, 0x0a, 0x15, 0x56, 0x48, 0x54, 0x5f, 0x42, 0x41, 0x4e, 0x44, 0x57, 0x49, 0x44, 0x54, 0x48,
+ 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x56, 0x48,
+ 0x54, 0x5f, 0x42, 0x41, 0x4e, 0x44, 0x57, 0x49, 0x44, 0x54, 0x48, 0x5f, 0x44, 0x49, 0x53, 0x41,
+ 0x42, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x56, 0x48, 0x54, 0x5f, 0x42, 0x41,
+ 0x4e, 0x44, 0x57, 0x49, 0x44, 0x54, 0x48, 0x5f, 0x38, 0x30, 0x5f, 0x4d, 0x48, 0x5a, 0x10, 0x02,
+ 0x12, 0x19, 0x0a, 0x15, 0x56, 0x48, 0x54, 0x5f, 0x42, 0x41, 0x4e, 0x44, 0x57, 0x49, 0x44, 0x54,
+ 0x48, 0x5f, 0x31, 0x36, 0x30, 0x5f, 0x4d, 0x48, 0x5a, 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, 0x56,
+ 0x48, 0x54, 0x5f, 0x42, 0x41, 0x4e, 0x44, 0x57, 0x49, 0x44, 0x54, 0x48, 0x5f, 0x38, 0x30, 0x5f,
+ 0x50, 0x4c, 0x55, 0x53, 0x5f, 0x38, 0x30, 0x5f, 0x4d, 0x48, 0x5a, 0x10, 0x04, 0x4a, 0x04, 0x08,
+ 0x04, 0x10, 0x05, 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07, 0x4a, 0x04, 0x08, 0x08, 0x10, 0x09, 0x4a,
+ 0x04, 0x08, 0x0e, 0x10, 0x0f, 0x4a, 0x04, 0x08, 0x0f, 0x10, 0x10, 0x4a, 0x04, 0x08, 0x10, 0x10,
+ 0x11, 0x4a, 0x04, 0x08, 0x11, 0x10, 0x12, 0x4a, 0x04, 0x08, 0x12, 0x10, 0x13, 0x4a, 0x04, 0x08,
+ 0x15, 0x10, 0x16, 0x4a, 0x04, 0x08, 0x18, 0x10, 0x19, 0x4a, 0x04, 0x08, 0x19, 0x10, 0x1a, 0x4a,
+ 0x04, 0x08, 0x1b, 0x10, 0x1c, 0x4a, 0x04, 0x08, 0x1c, 0x10, 0x1d, 0x4a, 0x04, 0x08, 0x1d, 0x10,
+ 0x1e, 0x4a, 0x04, 0x08, 0x20, 0x10, 0x21, 0x4a, 0x04, 0x08, 0x24, 0x10, 0x25, 0x4a, 0x04, 0x08,
+ 0x26, 0x10, 0x27, 0x4a, 0x04, 0x08, 0x28, 0x10, 0x29, 0x4a, 0x04, 0x08, 0x29, 0x10, 0x2a, 0x4a,
+ 0x06, 0x08, 0xeb, 0x07, 0x10, 0xec, 0x07, 0x4a, 0x06, 0x08, 0xee, 0x07, 0x10, 0xef, 0x07, 0x4a,
+ 0x06, 0x08, 0xef, 0x07, 0x10, 0xf0, 0x07, 0x4a, 0x06, 0x08, 0xf0, 0x07, 0x10, 0xf1, 0x07, 0x4a,
+ 0x06, 0x08, 0xf1, 0x07, 0x10, 0xf2, 0x07, 0x4a, 0x06, 0x08, 0xf3, 0x07, 0x10, 0xf4, 0x07, 0x4a,
+ 0x06, 0x08, 0xf4, 0x07, 0x10, 0xf5, 0x07, 0x4a, 0x06, 0x08, 0xf7, 0x07, 0x10, 0xf8, 0x07, 0x4a,
+ 0x06, 0x08, 0xfd, 0x07, 0x10, 0xfe, 0x07, 0x4a, 0x06, 0x08, 0x91, 0x08, 0x10, 0x92, 0x08, 0x4a,
+ 0x06, 0x08, 0x9b, 0x08, 0x10, 0x9c, 0x08, 0x4a, 0x06, 0x08, 0x9c, 0x08, 0x10, 0x9d, 0x08, 0x4a,
+ 0x06, 0x08, 0x9d, 0x08, 0x10, 0x9e, 0x08, 0x4a, 0x06, 0x08, 0xa0, 0x08, 0x10, 0xa1, 0x08, 0x4a,
+ 0x06, 0x08, 0xd1, 0x0f, 0x10, 0xd2, 0x0f, 0x4a, 0x06, 0x08, 0xd2, 0x0f, 0x10, 0xd3, 0x0f, 0x4a,
+ 0x06, 0x08, 0xd3, 0x0f, 0x10, 0xd4, 0x0f, 0x4a, 0x06, 0x08, 0xd4, 0x0f, 0x10, 0xd5, 0x0f, 0x4a,
+ 0x06, 0x08, 0xd5, 0x0f, 0x10, 0xd6, 0x0f, 0x4a, 0x06, 0x08, 0xd6, 0x0f, 0x10, 0xd7, 0x0f, 0x4a,
+ 0x06, 0x08, 0xd7, 0x0f, 0x10, 0xd8, 0x0f, 0x4a, 0x06, 0x08, 0xd8, 0x0f, 0x10, 0xd9, 0x0f, 0x22,
+ 0x0a, 0x0a, 0x08, 0x41, 0x75, 0x74, 0x68, 0x4f, 0x70, 0x65, 0x6e, 0x22, 0x26, 0x0a, 0x08, 0x41,
+ 0x75, 0x74, 0x68, 0x57, 0x70, 0x61, 0x32, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77,
+ 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77,
+ 0x6f, 0x72, 0x64, 0x22, 0x26, 0x0a, 0x08, 0x41, 0x75, 0x74, 0x68, 0x57, 0x70, 0x61, 0x33, 0x12,
+ 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x2a, 0x0a, 0x0c, 0x41,
+ 0x75, 0x74, 0x68, 0x57, 0x70, 0x61, 0x32, 0x57, 0x70, 0x61, 0x33, 0x12, 0x1a, 0x0a, 0x08, 0x70,
+ 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70,
+ 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x8c, 0x01, 0x0a, 0x0a, 0x41, 0x75, 0x74, 0x68,
+ 0x52, 0x61, 0x64, 0x69, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x1f,
+ 0x0a, 0x09, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x63, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x61, 0x12,
+ 0x29, 0x0a, 0x11, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x63, 0x61, 0x5f, 0x62, 0x61, 0x73,
+ 0x65, 0x5f, 0x36, 0x34, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76,
+ 0x65, 0x72, 0x43, 0x61, 0x42, 0x61, 0x73, 0x65, 0x36, 0x34, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61,
+ 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61,
+ 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x2a, 0x64, 0x0a, 0x08, 0x4d, 0x65, 0x73, 0x68, 0x41, 0x75,
+ 0x74, 0x68, 0x12, 0x15, 0x0a, 0x11, 0x4d, 0x45, 0x53, 0x48, 0x5f, 0x41, 0x55, 0x54, 0x48, 0x5f,
+ 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x4d, 0x45, 0x53,
+ 0x48, 0x5f, 0x41, 0x55, 0x54, 0x48, 0x5f, 0x4e, 0x45, 0x57, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11,
+ 0x4d, 0x45, 0x53, 0x48, 0x5f, 0x41, 0x55, 0x54, 0x48, 0x5f, 0x54, 0x52, 0x55, 0x53, 0x54, 0x45,
+ 0x44, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x4d, 0x45, 0x53, 0x48, 0x5f, 0x41, 0x55, 0x54, 0x48,
+ 0x5f, 0x55, 0x4e, 0x54, 0x52, 0x55, 0x53, 0x54, 0x45, 0x44, 0x10, 0x03, 0x42, 0x17, 0x5a, 0x15,
+ 0x73, 0x70, 0x61, 0x63, 0x65, 0x78, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64,
+ 0x65, 0x76, 0x69, 0x63, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
return file_spacex_api_device_wifi_config_proto_rawDescData
}
-var file_spacex_api_device_wifi_config_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_spacex_api_device_wifi_config_proto_enumTypes = make([]protoimpl.EnumInfo, 6)
+var file_spacex_api_device_wifi_config_proto_msgTypes = make([]protoimpl.MessageInfo, 11)
var file_spacex_api_device_wifi_config_proto_goTypes = []interface{}{
- (*WifiConfig)(nil), // 0: SpaceX.API.Device.WifiConfig
+ (MeshAuth)(0), // 0: SpaceX.API.Device.MeshAuth
+ (WifiConfig_Security)(0), // 1: SpaceX.API.Device.WifiConfig.Security
+ (WifiConfig_Band)(0), // 2: SpaceX.API.Device.WifiConfig.Band
+ (WifiConfig_WirelessMode)(0), // 3: SpaceX.API.Device.WifiConfig.WirelessMode
+ (WifiConfig_HTBandwidth)(0), // 4: SpaceX.API.Device.WifiConfig.HTBandwidth
+ (WifiConfig_VHTBandwidth)(0), // 5: SpaceX.API.Device.WifiConfig.VHTBandwidth
+ (*MeshConfig)(nil), // 6: SpaceX.API.Device.MeshConfig
+ (*WifiConfig)(nil), // 7: SpaceX.API.Device.WifiConfig
+ (*AuthOpen)(nil), // 8: SpaceX.API.Device.AuthOpen
+ (*AuthWpa2)(nil), // 9: SpaceX.API.Device.AuthWpa2
+ (*AuthWpa3)(nil), // 10: SpaceX.API.Device.AuthWpa3
+ (*AuthWpa2Wpa3)(nil), // 11: SpaceX.API.Device.AuthWpa2Wpa3
+ (*AuthRadius)(nil), // 12: SpaceX.API.Device.AuthRadius
+ nil, // 13: SpaceX.API.Device.WifiConfig.MeshConfigsEntry
+ nil, // 14: SpaceX.API.Device.WifiConfig.MeshConfigsUpdatesEntry
+ (*WifiConfig_BasicServiceSet)(nil), // 15: SpaceX.API.Device.WifiConfig.BasicServiceSet
+ (*WifiConfig_Network)(nil), // 16: SpaceX.API.Device.WifiConfig.Network
+ (*PublicKey)(nil), // 17: SpaceX.API.Device.PublicKey
+ (*BootInfo)(nil), // 18: SpaceX.API.Device.BootInfo
}
var file_spacex_api_device_wifi_config_proto_depIdxs = []int32{
- 0, // [0:0] is the sub-list for method output_type
- 0, // [0:0] is the sub-list for method input_type
- 0, // [0:0] is the sub-list for extension type_name
- 0, // [0:0] is the sub-list for extension extendee
- 0, // [0:0] is the sub-list for field type_name
+ 0, // 0: SpaceX.API.Device.MeshConfig.auth:type_name -> SpaceX.API.Device.MeshAuth
+ 13, // 1: SpaceX.API.Device.WifiConfig.mesh_configs:type_name -> SpaceX.API.Device.WifiConfig.MeshConfigsEntry
+ 14, // 2: SpaceX.API.Device.WifiConfig.mesh_configs_updates:type_name -> SpaceX.API.Device.WifiConfig.MeshConfigsUpdatesEntry
+ 17, // 3: SpaceX.API.Device.WifiConfig.dynamic_keys:type_name -> SpaceX.API.Device.PublicKey
+ 18, // 4: SpaceX.API.Device.WifiConfig.boot:type_name -> SpaceX.API.Device.BootInfo
+ 16, // 5: SpaceX.API.Device.WifiConfig.networks:type_name -> SpaceX.API.Device.WifiConfig.Network
+ 1, // 6: SpaceX.API.Device.WifiConfig.wifi_security:type_name -> SpaceX.API.Device.WifiConfig.Security
+ 3, // 7: SpaceX.API.Device.WifiConfig.wireless_mode_2ghz:type_name -> SpaceX.API.Device.WifiConfig.WirelessMode
+ 3, // 8: SpaceX.API.Device.WifiConfig.wireless_mode_5ghz:type_name -> SpaceX.API.Device.WifiConfig.WirelessMode
+ 4, // 9: SpaceX.API.Device.WifiConfig.ht_bandwidth_2ghz:type_name -> SpaceX.API.Device.WifiConfig.HTBandwidth
+ 4, // 10: SpaceX.API.Device.WifiConfig.ht_bandwidth_5ghz:type_name -> SpaceX.API.Device.WifiConfig.HTBandwidth
+ 5, // 11: SpaceX.API.Device.WifiConfig.vht_bandwidth:type_name -> SpaceX.API.Device.WifiConfig.VHTBandwidth
+ 6, // 12: SpaceX.API.Device.WifiConfig.MeshConfigsEntry.value:type_name -> SpaceX.API.Device.MeshConfig
+ 6, // 13: SpaceX.API.Device.WifiConfig.MeshConfigsUpdatesEntry.value:type_name -> SpaceX.API.Device.MeshConfig
+ 8, // 14: SpaceX.API.Device.WifiConfig.BasicServiceSet.auth_open:type_name -> SpaceX.API.Device.AuthOpen
+ 9, // 15: SpaceX.API.Device.WifiConfig.BasicServiceSet.auth_wpa2:type_name -> SpaceX.API.Device.AuthWpa2
+ 10, // 16: SpaceX.API.Device.WifiConfig.BasicServiceSet.auth_wpa3:type_name -> SpaceX.API.Device.AuthWpa3
+ 11, // 17: SpaceX.API.Device.WifiConfig.BasicServiceSet.auth_wpa2_wpa3:type_name -> SpaceX.API.Device.AuthWpa2Wpa3
+ 12, // 18: SpaceX.API.Device.WifiConfig.BasicServiceSet.auth_radius:type_name -> SpaceX.API.Device.AuthRadius
+ 2, // 19: SpaceX.API.Device.WifiConfig.BasicServiceSet.band:type_name -> SpaceX.API.Device.WifiConfig.Band
+ 15, // 20: SpaceX.API.Device.WifiConfig.Network.basic_service_sets:type_name -> SpaceX.API.Device.WifiConfig.BasicServiceSet
+ 21, // [21:21] is the sub-list for method output_type
+ 21, // [21:21] is the sub-list for method input_type
+ 21, // [21:21] is the sub-list for extension type_name
+ 21, // [21:21] is the sub-list for extension extendee
+ 0, // [0:21] is the sub-list for field type_name
}
func init() { file_spacex_api_device_wifi_config_proto_init() }
if File_spacex_api_device_wifi_config_proto != nil {
return
}
+ file_spacex_api_device_command_proto_init()
+ file_spacex_api_device_common_proto_init()
if !protoimpl.UnsafeEnabled {
file_spacex_api_device_wifi_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MeshConfig); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_wifi_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*WifiConfig); i {
case 0:
return &v.state
return nil
}
}
+ file_spacex_api_device_wifi_config_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AuthOpen); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_wifi_config_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AuthWpa2); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_wifi_config_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AuthWpa3); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_wifi_config_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AuthWpa2Wpa3); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_wifi_config_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AuthRadius); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_wifi_config_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WifiConfig_BasicServiceSet); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_spacex_api_device_wifi_config_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WifiConfig_Network); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
}
+ file_spacex_api_device_wifi_config_proto_msgTypes[9].OneofWrappers = []interface{}{
+ (*WifiConfig_BasicServiceSet_AuthOpen)(nil),
+ (*WifiConfig_BasicServiceSet_AuthWpa2)(nil),
+ (*WifiConfig_BasicServiceSet_AuthWpa3)(nil),
+ (*WifiConfig_BasicServiceSet_AuthWpa2Wpa3)(nil),
+ (*WifiConfig_BasicServiceSet_AuthRadius)(nil),
+ }
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_spacex_api_device_wifi_config_proto_rawDesc,
- NumEnums: 0,
- NumMessages: 1,
+ NumEnums: 6,
+ NumMessages: 11,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_spacex_api_device_wifi_config_proto_goTypes,
DependencyIndexes: file_spacex_api_device_wifi_config_proto_depIdxs,
+ EnumInfos: file_spacex_api_device_wifi_config_proto_enumTypes,
MessageInfos: file_spacex_api_device_wifi_config_proto_msgTypes,
}.Build()
File_spacex_api_device_wifi_config_proto = out.File
blob - /dev/null
blob + 09f032c8d6e9955f0eee320487eed541c6951af8 (mode 644)
--- /dev/null
+++ device/wifi_grpc.pb.go
+// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
+// versions:
+// - protoc-gen-go-grpc v1.2.0
+// - protoc v3.21.6
+// source: spacex/api/device/wifi.proto
+
+package device
+
+import (
+ context "context"
+ grpc "google.golang.org/grpc"
+ codes "google.golang.org/grpc/codes"
+ status "google.golang.org/grpc/status"
+)
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the grpc package it is being compiled against.
+// Requires gRPC-Go v1.32.0 or later.
+const _ = grpc.SupportPackageIsVersion7
+
+// MeshClient is the client API for Mesh service.
+//
+// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
+type MeshClient interface {
+ MeshStream(ctx context.Context, opts ...grpc.CallOption) (Mesh_MeshStreamClient, error)
+}
+
+type meshClient struct {
+ cc grpc.ClientConnInterface
+}
+
+func NewMeshClient(cc grpc.ClientConnInterface) MeshClient {
+ return &meshClient{cc}
+}
+
+func (c *meshClient) MeshStream(ctx context.Context, opts ...grpc.CallOption) (Mesh_MeshStreamClient, error) {
+ stream, err := c.cc.NewStream(ctx, &Mesh_ServiceDesc.Streams[0], "/SpaceX.API.Device.Mesh/MeshStream", opts...)
+ if err != nil {
+ return nil, err
+ }
+ x := &meshMeshStreamClient{stream}
+ return x, nil
+}
+
+type Mesh_MeshStreamClient interface {
+ Send(*ToController) error
+ Recv() (*FromController, error)
+ grpc.ClientStream
+}
+
+type meshMeshStreamClient struct {
+ grpc.ClientStream
+}
+
+func (x *meshMeshStreamClient) Send(m *ToController) error {
+ return x.ClientStream.SendMsg(m)
+}
+
+func (x *meshMeshStreamClient) Recv() (*FromController, error) {
+ m := new(FromController)
+ if err := x.ClientStream.RecvMsg(m); err != nil {
+ return nil, err
+ }
+ return m, nil
+}
+
+// MeshServer is the server API for Mesh service.
+// All implementations must embed UnimplementedMeshServer
+// for forward compatibility
+type MeshServer interface {
+ MeshStream(Mesh_MeshStreamServer) error
+ mustEmbedUnimplementedMeshServer()
+}
+
+// UnimplementedMeshServer must be embedded to have forward compatible implementations.
+type UnimplementedMeshServer struct {
+}
+
+func (UnimplementedMeshServer) MeshStream(Mesh_MeshStreamServer) error {
+ return status.Errorf(codes.Unimplemented, "method MeshStream not implemented")
+}
+func (UnimplementedMeshServer) mustEmbedUnimplementedMeshServer() {}
+
+// UnsafeMeshServer may be embedded to opt out of forward compatibility for this service.
+// Use of this interface is not recommended, as added methods to MeshServer will
+// result in compilation errors.
+type UnsafeMeshServer interface {
+ mustEmbedUnimplementedMeshServer()
+}
+
+func RegisterMeshServer(s grpc.ServiceRegistrar, srv MeshServer) {
+ s.RegisterService(&Mesh_ServiceDesc, srv)
+}
+
+func _Mesh_MeshStream_Handler(srv interface{}, stream grpc.ServerStream) error {
+ return srv.(MeshServer).MeshStream(&meshMeshStreamServer{stream})
+}
+
+type Mesh_MeshStreamServer interface {
+ Send(*FromController) error
+ Recv() (*ToController, error)
+ grpc.ServerStream
+}
+
+type meshMeshStreamServer struct {
+ grpc.ServerStream
+}
+
+func (x *meshMeshStreamServer) Send(m *FromController) error {
+ return x.ServerStream.SendMsg(m)
+}
+
+func (x *meshMeshStreamServer) Recv() (*ToController, error) {
+ m := new(ToController)
+ if err := x.ServerStream.RecvMsg(m); err != nil {
+ return nil, err
+ }
+ return m, nil
+}
+
+// Mesh_ServiceDesc is the grpc.ServiceDesc for Mesh service.
+// It's only intended for direct use with grpc.RegisterService,
+// and not to be introspected or modified (even as a copy)
+var Mesh_ServiceDesc = grpc.ServiceDesc{
+ ServiceName: "SpaceX.API.Device.Mesh",
+ HandlerType: (*MeshServer)(nil),
+ Methods: []grpc.MethodDesc{},
+ Streams: []grpc.StreamDesc{
+ {
+ StreamName: "MeshStream",
+ Handler: _Mesh_MeshStream_Handler,
+ ServerStreams: true,
+ ClientStreams: true,
+ },
+ },
+ Metadata: "spacex/api/device/wifi.proto",
+}
blob - 8c710bf7387a38c7fd1185cb0c3c395cc5afe936
blob + 15511aaa1c6bc2151b3e218abafcabd15d911dfd
Binary files device.protoset and device.protoset differ
blob - f95bb0fde4d4ffe28b8c451986e35906f8ec2df3
blob + 21cf2e6be1a6434ed1cc2be08f32d6238fcf7578
--- protoc.sh
+++ protoc.sh
# By default it connects to the default Dishy address (see DefaultDishyAddr).
# A different address can be specified as an argument. For example:
#
-# protoc.sh 172.19.248.42:9100
+# protoc.sh 192.0.2.1:9200
#
# This can be useful if the device is only available through a tunnel or VPN.
#
fi
grpcurl -plaintext -protoset-out device.protoset $addr describe SpaceX.API.Device.Device
-# The protoc command, without proto file arguments, to generate the Go code.
-# From https://grpc.io/docs/languages/go/quickstart/#regenerate-grpc-code
-# For a protobuf reference:
+# First compile the dependencies of the Device service
+deps="spacex/api/common/status/status.proto
+ spacex/api/common/protobuf/internal.proto
+ spacex/api/telemetron/public/common/time.proto
+ spacex/api/satellites/network/ut_disablement_codes.proto
+ spacex/api/common/protobuf/internal.proto"
+
+# Map the dependencies between protofiles to Go package import paths.
+# We need a clean import path with a different root (not the
+# automatically generated "spacex.com") so that packages in this module
+# can import each other.
# https://developers.google.com/protocol-buffers/docs/reference/go-generated
+gomodule=`grep module go.mod | awk '{print $2}'`
+import_opt="
+ --go_opt Mspacex/api/common/status/status.proto=$gomodule/status
+ --go_opt Mspacex/api/common/protobuf/internal.proto=$gomodule/protobuf
+ --go-grpc_opt Mspacex/api/common/protobuf/internal.proto=$gomodule/protobuf
+ --go_opt Mspacex/api/satellites/network/ut_disablement_codes.proto=$gomodule/satellites
+ --go-grpc_opt Mspacex/api/satellites/network/ut_disablement_codes.proto=$gomodule/satellites
+ --go_opt Mspacex/api/telemetron/public/common/time.proto=$gomodule/telemetron
+ --go-grpc_opt Mspacex/api/telemetron/public/common/time.proto=$gomodule/telemetron"
-# Strip the spacex.com/api prefix so package imports can be resolved within our Go module.
+# Strip our module prefix when writing generated files to disk; we import packages from within this module.
# https://developers.google.com/protocol-buffers/docs/reference/go-generated#invocation
-module_opt="--go_opt module=spacex.com/api --go-grpc_opt module=spacex.com/api"
+module_opt="--go_opt module=$gomodule --go-grpc_opt module=$gomodule"
protoc --go_out . --go-grpc_out . --descriptor_set_in device.protoset \
- $module_opt \
- spacex/api/common/status/status.proto
+ $module_opt $import_opt \
+ $deps
-# Device proto files import status.proto, so set the corresponding Go
-# package import path for the status package we generated previously.
-gomodule=`grep module go.mod | awk '{print $2}'`
-import_opt="--go_opt Mspacex/api/common/status/status.proto=$gomodule/status"
files="spacex/api/device/command.proto
spacex/api/device/common.proto
spacex/api/device/device.proto
spacex/api/device/dish.proto
+ spacex/api/device/dish_config.proto
spacex/api/device/transceiver.proto
spacex/api/device/wifi.proto
spacex/api/device/wifi_config.proto"
+
+# Strip the original spacex.com/api prefix so package imports are resolved from our Go module.
+module_opt="--go_opt module=spacex.com/api --go-grpc_opt module=spacex.com/api"
+
protoc --go_out . --go-grpc_out . --descriptor_set_in device.protoset \
- $module_opt $import_opt \
+ $import_opt $module_opt \
$files
blob - /dev/null
blob + da1331ead1617d5290b022f73b3fa4e1d6b9a994 (mode 644)
--- /dev/null
+++ protobuf/internal.pb.go
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.28.1
+// protoc v3.21.6
+// source: spacex/api/common/protobuf/internal.proto
+
+package protobuf
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ descriptorpb "google.golang.org/protobuf/types/descriptorpb"
+ reflect "reflect"
+)
+
+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)
+)
+
+var file_spacex_api_common_protobuf_internal_proto_extTypes = []protoimpl.ExtensionInfo{
+ {
+ ExtendedType: (*descriptorpb.FileOptions)(nil),
+ ExtensionType: (*bool)(nil),
+ Field: 60000,
+ Name: "SpaceX.API.Common.Protobuf.unstable_file",
+ Tag: "varint,60000,opt,name=unstable_file",
+ Filename: "spacex/api/common/protobuf/internal.proto",
+ },
+ {
+ ExtendedType: (*descriptorpb.MessageOptions)(nil),
+ ExtensionType: (*bool)(nil),
+ Field: 60001,
+ Name: "SpaceX.API.Common.Protobuf.unstable_message",
+ Tag: "varint,60001,opt,name=unstable_message",
+ Filename: "spacex/api/common/protobuf/internal.proto",
+ },
+ {
+ ExtendedType: (*descriptorpb.FieldOptions)(nil),
+ ExtensionType: (*bool)(nil),
+ Field: 60002,
+ Name: "SpaceX.API.Common.Protobuf.unstable_field",
+ Tag: "varint,60002,opt,name=unstable_field",
+ Filename: "spacex/api/common/protobuf/internal.proto",
+ },
+ {
+ ExtendedType: (*descriptorpb.EnumOptions)(nil),
+ ExtensionType: (*bool)(nil),
+ Field: 60003,
+ Name: "SpaceX.API.Common.Protobuf.unstable_enum",
+ Tag: "varint,60003,opt,name=unstable_enum",
+ Filename: "spacex/api/common/protobuf/internal.proto",
+ },
+ {
+ ExtendedType: (*descriptorpb.EnumValueOptions)(nil),
+ ExtensionType: (*bool)(nil),
+ Field: 60004,
+ Name: "SpaceX.API.Common.Protobuf.unstable_enum_value",
+ Tag: "varint,60004,opt,name=unstable_enum_value",
+ Filename: "spacex/api/common/protobuf/internal.proto",
+ },
+ {
+ ExtendedType: (*descriptorpb.ServiceOptions)(nil),
+ ExtensionType: (*bool)(nil),
+ Field: 60005,
+ Name: "SpaceX.API.Common.Protobuf.unstable_service",
+ Tag: "varint,60005,opt,name=unstable_service",
+ Filename: "spacex/api/common/protobuf/internal.proto",
+ },
+ {
+ ExtendedType: (*descriptorpb.MethodOptions)(nil),
+ ExtensionType: (*bool)(nil),
+ Field: 60006,
+ Name: "SpaceX.API.Common.Protobuf.unstable_method",
+ Tag: "varint,60006,opt,name=unstable_method",
+ Filename: "spacex/api/common/protobuf/internal.proto",
+ },
+}
+
+// Extension fields to descriptorpb.FileOptions.
+var (
+ // optional bool unstable_file = 60000;
+ E_UnstableFile = &file_spacex_api_common_protobuf_internal_proto_extTypes[0]
+)
+
+// Extension fields to descriptorpb.MessageOptions.
+var (
+ // optional bool unstable_message = 60001;
+ E_UnstableMessage = &file_spacex_api_common_protobuf_internal_proto_extTypes[1]
+)
+
+// Extension fields to descriptorpb.FieldOptions.
+var (
+ // optional bool unstable_field = 60002;
+ E_UnstableField = &file_spacex_api_common_protobuf_internal_proto_extTypes[2]
+)
+
+// Extension fields to descriptorpb.EnumOptions.
+var (
+ // optional bool unstable_enum = 60003;
+ E_UnstableEnum = &file_spacex_api_common_protobuf_internal_proto_extTypes[3]
+)
+
+// Extension fields to descriptorpb.EnumValueOptions.
+var (
+ // optional bool unstable_enum_value = 60004;
+ E_UnstableEnumValue = &file_spacex_api_common_protobuf_internal_proto_extTypes[4]
+)
+
+// Extension fields to descriptorpb.ServiceOptions.
+var (
+ // optional bool unstable_service = 60005;
+ E_UnstableService = &file_spacex_api_common_protobuf_internal_proto_extTypes[5]
+)
+
+// Extension fields to descriptorpb.MethodOptions.
+var (
+ // optional bool unstable_method = 60006;
+ E_UnstableMethod = &file_spacex_api_common_protobuf_internal_proto_extTypes[6]
+)
+
+var File_spacex_api_common_protobuf_internal_proto protoreflect.FileDescriptor
+
+var file_spacex_api_common_protobuf_internal_proto_rawDesc = []byte{
+ 0x0a, 0x29, 0x73, 0x70, 0x61, 0x63, 0x65, 0x78, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6d,
+ 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x69, 0x6e, 0x74,
+ 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x53, 0x70, 0x61,
+ 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
+ 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x3a, 0x43, 0x0a, 0x0d, 0x75, 0x6e, 0x73,
+ 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x1c, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x6c,
+ 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xe0, 0xd4, 0x03, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x0c, 0x75, 0x6e, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x3a, 0x4c,
+ 0x0a, 0x10, 0x75, 0x6e, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61,
+ 0x67, 0x65, 0x12, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x73, 0x18, 0xe1, 0xd4, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x75, 0x6e, 0x73,
+ 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x3a, 0x46, 0x0a, 0x0e,
+ 0x75, 0x6e, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x1d,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+ 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xe2, 0xd4,
+ 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x75, 0x6e, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x46,
+ 0x69, 0x65, 0x6c, 0x64, 0x3a, 0x43, 0x0a, 0x0d, 0x75, 0x6e, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x12, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x4f, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x73, 0x18, 0xe3, 0xd4, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x75, 0x6e, 0x73,
+ 0x74, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x3a, 0x53, 0x0a, 0x13, 0x75, 0x6e, 0x73,
+ 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x12, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x75, 0x66, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x73, 0x18, 0xe4, 0xd4, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x75, 0x6e, 0x73,
+ 0x74, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x4c,
+ 0x0a, 0x10, 0x75, 0x6e, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69,
+ 0x63, 0x65, 0x12, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x73, 0x18, 0xe5, 0xd4, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x75, 0x6e, 0x73,
+ 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x3a, 0x49, 0x0a, 0x0f,
+ 0x75, 0x6e, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12,
+ 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18,
+ 0xe6, 0xd4, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x75, 0x6e, 0x73, 0x74, 0x61, 0x62, 0x6c,
+ 0x65, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var file_spacex_api_common_protobuf_internal_proto_goTypes = []interface{}{
+ (*descriptorpb.FileOptions)(nil), // 0: google.protobuf.FileOptions
+ (*descriptorpb.MessageOptions)(nil), // 1: google.protobuf.MessageOptions
+ (*descriptorpb.FieldOptions)(nil), // 2: google.protobuf.FieldOptions
+ (*descriptorpb.EnumOptions)(nil), // 3: google.protobuf.EnumOptions
+ (*descriptorpb.EnumValueOptions)(nil), // 4: google.protobuf.EnumValueOptions
+ (*descriptorpb.ServiceOptions)(nil), // 5: google.protobuf.ServiceOptions
+ (*descriptorpb.MethodOptions)(nil), // 6: google.protobuf.MethodOptions
+}
+var file_spacex_api_common_protobuf_internal_proto_depIdxs = []int32{
+ 0, // 0: SpaceX.API.Common.Protobuf.unstable_file:extendee -> google.protobuf.FileOptions
+ 1, // 1: SpaceX.API.Common.Protobuf.unstable_message:extendee -> google.protobuf.MessageOptions
+ 2, // 2: SpaceX.API.Common.Protobuf.unstable_field:extendee -> google.protobuf.FieldOptions
+ 3, // 3: SpaceX.API.Common.Protobuf.unstable_enum:extendee -> google.protobuf.EnumOptions
+ 4, // 4: SpaceX.API.Common.Protobuf.unstable_enum_value:extendee -> google.protobuf.EnumValueOptions
+ 5, // 5: SpaceX.API.Common.Protobuf.unstable_service:extendee -> google.protobuf.ServiceOptions
+ 6, // 6: SpaceX.API.Common.Protobuf.unstable_method:extendee -> google.protobuf.MethodOptions
+ 7, // [7:7] is the sub-list for method output_type
+ 7, // [7:7] is the sub-list for method input_type
+ 7, // [7:7] is the sub-list for extension type_name
+ 0, // [0:7] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_spacex_api_common_protobuf_internal_proto_init() }
+func file_spacex_api_common_protobuf_internal_proto_init() {
+ if File_spacex_api_common_protobuf_internal_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_spacex_api_common_protobuf_internal_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 0,
+ NumExtensions: 7,
+ NumServices: 0,
+ },
+ GoTypes: file_spacex_api_common_protobuf_internal_proto_goTypes,
+ DependencyIndexes: file_spacex_api_common_protobuf_internal_proto_depIdxs,
+ ExtensionInfos: file_spacex_api_common_protobuf_internal_proto_extTypes,
+ }.Build()
+ File_spacex_api_common_protobuf_internal_proto = out.File
+ file_spacex_api_common_protobuf_internal_proto_rawDesc = nil
+ file_spacex_api_common_protobuf_internal_proto_goTypes = nil
+ file_spacex_api_common_protobuf_internal_proto_depIdxs = nil
+}
blob - /dev/null
blob + bf22cd795c9991ff53bae28b7dd72de168be9e37 (mode 644)
--- /dev/null
+++ satellites/ut_disablement_codes.pb.go
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.28.1
+// protoc v3.21.6
+// source: spacex/api/satellites/network/ut_disablement_codes.proto
+
+package satellites
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ _ "olowe.co/dishy/protobuf"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type UtDisablementCode int32
+
+const (
+ UtDisablementCode_UNKNOWN_STATE UtDisablementCode = 0
+ UtDisablementCode_OKAY UtDisablementCode = 1
+ UtDisablementCode_NO_ACTIVE_ACCOUNT UtDisablementCode = 2
+ UtDisablementCode_TOO_FAR_FROM_SERVICE_ADDRESS UtDisablementCode = 3
+ UtDisablementCode_IN_OCEAN UtDisablementCode = 4
+ UtDisablementCode_INVALID_COUNTRY UtDisablementCode = 5
+)
+
+// Enum value maps for UtDisablementCode.
+var (
+ UtDisablementCode_name = map[int32]string{
+ 0: "UNKNOWN_STATE",
+ 1: "OKAY",
+ 2: "NO_ACTIVE_ACCOUNT",
+ 3: "TOO_FAR_FROM_SERVICE_ADDRESS",
+ 4: "IN_OCEAN",
+ 5: "INVALID_COUNTRY",
+ }
+ UtDisablementCode_value = map[string]int32{
+ "UNKNOWN_STATE": 0,
+ "OKAY": 1,
+ "NO_ACTIVE_ACCOUNT": 2,
+ "TOO_FAR_FROM_SERVICE_ADDRESS": 3,
+ "IN_OCEAN": 4,
+ "INVALID_COUNTRY": 5,
+ }
+)
+
+func (x UtDisablementCode) Enum() *UtDisablementCode {
+ p := new(UtDisablementCode)
+ *p = x
+ return p
+}
+
+func (x UtDisablementCode) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (UtDisablementCode) Descriptor() protoreflect.EnumDescriptor {
+ return file_spacex_api_satellites_network_ut_disablement_codes_proto_enumTypes[0].Descriptor()
+}
+
+func (UtDisablementCode) Type() protoreflect.EnumType {
+ return &file_spacex_api_satellites_network_ut_disablement_codes_proto_enumTypes[0]
+}
+
+func (x UtDisablementCode) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use UtDisablementCode.Descriptor instead.
+func (UtDisablementCode) EnumDescriptor() ([]byte, []int) {
+ return file_spacex_api_satellites_network_ut_disablement_codes_proto_rawDescGZIP(), []int{0}
+}
+
+var File_spacex_api_satellites_network_ut_disablement_codes_proto protoreflect.FileDescriptor
+
+var file_spacex_api_satellites_network_ut_disablement_codes_proto_rawDesc = []byte{
+ 0x0a, 0x38, 0x73, 0x70, 0x61, 0x63, 0x65, 0x78, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x61, 0x74,
+ 0x65, 0x6c, 0x6c, 0x69, 0x74, 0x65, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f,
+ 0x75, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63,
+ 0x6f, 0x64, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1d, 0x53, 0x70, 0x61, 0x63,
+ 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x53, 0x61, 0x74, 0x65, 0x6c, 0x6c, 0x69, 0x74, 0x65,
+ 0x73, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x1a, 0x29, 0x73, 0x70, 0x61, 0x63, 0x65,
+ 0x78, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0x8c, 0x01, 0x0a, 0x11, 0x55, 0x74, 0x44, 0x69, 0x73, 0x61, 0x62,
+ 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x11, 0x0a, 0x0d, 0x55, 0x4e,
+ 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0x00, 0x12, 0x08, 0x0a,
+ 0x04, 0x4f, 0x4b, 0x41, 0x59, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x4e, 0x4f, 0x5f, 0x41, 0x43,
+ 0x54, 0x49, 0x56, 0x45, 0x5f, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x20,
+ 0x0a, 0x1c, 0x54, 0x4f, 0x4f, 0x5f, 0x46, 0x41, 0x52, 0x5f, 0x46, 0x52, 0x4f, 0x4d, 0x5f, 0x53,
+ 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, 0x10, 0x03,
+ 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x4e, 0x5f, 0x4f, 0x43, 0x45, 0x41, 0x4e, 0x10, 0x04, 0x12, 0x13,
+ 0x0a, 0x0f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x52,
+ 0x59, 0x10, 0x05, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_spacex_api_satellites_network_ut_disablement_codes_proto_rawDescOnce sync.Once
+ file_spacex_api_satellites_network_ut_disablement_codes_proto_rawDescData = file_spacex_api_satellites_network_ut_disablement_codes_proto_rawDesc
+)
+
+func file_spacex_api_satellites_network_ut_disablement_codes_proto_rawDescGZIP() []byte {
+ file_spacex_api_satellites_network_ut_disablement_codes_proto_rawDescOnce.Do(func() {
+ file_spacex_api_satellites_network_ut_disablement_codes_proto_rawDescData = protoimpl.X.CompressGZIP(file_spacex_api_satellites_network_ut_disablement_codes_proto_rawDescData)
+ })
+ return file_spacex_api_satellites_network_ut_disablement_codes_proto_rawDescData
+}
+
+var file_spacex_api_satellites_network_ut_disablement_codes_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_spacex_api_satellites_network_ut_disablement_codes_proto_goTypes = []interface{}{
+ (UtDisablementCode)(0), // 0: SpaceX.API.Satellites.Network.UtDisablementCode
+}
+var file_spacex_api_satellites_network_ut_disablement_codes_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_spacex_api_satellites_network_ut_disablement_codes_proto_init() }
+func file_spacex_api_satellites_network_ut_disablement_codes_proto_init() {
+ if File_spacex_api_satellites_network_ut_disablement_codes_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_spacex_api_satellites_network_ut_disablement_codes_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_spacex_api_satellites_network_ut_disablement_codes_proto_goTypes,
+ DependencyIndexes: file_spacex_api_satellites_network_ut_disablement_codes_proto_depIdxs,
+ EnumInfos: file_spacex_api_satellites_network_ut_disablement_codes_proto_enumTypes,
+ }.Build()
+ File_spacex_api_satellites_network_ut_disablement_codes_proto = out.File
+ file_spacex_api_satellites_network_ut_disablement_codes_proto_rawDesc = nil
+ file_spacex_api_satellites_network_ut_disablement_codes_proto_goTypes = nil
+ file_spacex_api_satellites_network_ut_disablement_codes_proto_depIdxs = nil
+}
blob - /dev/null
blob + 349c2cf343cfdb995d39ac1e0b309d27a618bbce (mode 644)
--- /dev/null
+++ telemetron/time.pb.go
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.28.1
+// protoc v3.21.6
+// source: spacex/api/telemetron/public/common/time.proto
+
+package telemetron
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type Epoch int32
+
+const (
+ Epoch_UNIX Epoch = 0
+ Epoch_GPS Epoch = 1
+)
+
+// Enum value maps for Epoch.
+var (
+ Epoch_name = map[int32]string{
+ 0: "UNIX",
+ 1: "GPS",
+ }
+ Epoch_value = map[string]int32{
+ "UNIX": 0,
+ "GPS": 1,
+ }
+)
+
+func (x Epoch) Enum() *Epoch {
+ p := new(Epoch)
+ *p = x
+ return p
+}
+
+func (x Epoch) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (Epoch) Descriptor() protoreflect.EnumDescriptor {
+ return file_spacex_api_telemetron_public_common_time_proto_enumTypes[0].Descriptor()
+}
+
+func (Epoch) Type() protoreflect.EnumType {
+ return &file_spacex_api_telemetron_public_common_time_proto_enumTypes[0]
+}
+
+func (x Epoch) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use Epoch.Descriptor instead.
+func (Epoch) EnumDescriptor() ([]byte, []int) {
+ return file_spacex_api_telemetron_public_common_time_proto_rawDescGZIP(), []int{0}
+}
+
+type TimestampInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Epoch Epoch `protobuf:"varint,1,opt,name=epoch,proto3,enum=SpaceX.API.Telemetron.Public.Common.Epoch" json:"epoch,omitempty"`
+ Nanoseconds int64 `protobuf:"varint,2,opt,name=nanoseconds,proto3" json:"nanoseconds,omitempty"`
+}
+
+func (x *TimestampInfo) Reset() {
+ *x = TimestampInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_spacex_api_telemetron_public_common_time_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TimestampInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TimestampInfo) ProtoMessage() {}
+
+func (x *TimestampInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_spacex_api_telemetron_public_common_time_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 TimestampInfo.ProtoReflect.Descriptor instead.
+func (*TimestampInfo) Descriptor() ([]byte, []int) {
+ return file_spacex_api_telemetron_public_common_time_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TimestampInfo) GetEpoch() Epoch {
+ if x != nil {
+ return x.Epoch
+ }
+ return Epoch_UNIX
+}
+
+func (x *TimestampInfo) GetNanoseconds() int64 {
+ if x != nil {
+ return x.Nanoseconds
+ }
+ return 0
+}
+
+var File_spacex_api_telemetron_public_common_time_proto protoreflect.FileDescriptor
+
+var file_spacex_api_telemetron_public_common_time_proto_rawDesc = []byte{
+ 0x0a, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x78, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x74, 0x65, 0x6c,
+ 0x65, 0x6d, 0x65, 0x74, 0x72, 0x6f, 0x6e, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x2f, 0x63,
+ 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x23, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x54, 0x65, 0x6c,
+ 0x65, 0x6d, 0x65, 0x74, 0x72, 0x6f, 0x6e, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x2e, 0x43,
+ 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x22, 0x73, 0x0a, 0x0d, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
+ 0x6d, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x40, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41,
+ 0x50, 0x49, 0x2e, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x6f, 0x6e, 0x2e, 0x50, 0x75,
+ 0x62, 0x6c, 0x69, 0x63, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x45, 0x70, 0x6f, 0x63,
+ 0x68, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x61, 0x6e, 0x6f,
+ 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6e,
+ 0x61, 0x6e, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x2a, 0x1a, 0x0a, 0x05, 0x45, 0x70,
+ 0x6f, 0x63, 0x68, 0x12, 0x08, 0x0a, 0x04, 0x55, 0x4e, 0x49, 0x58, 0x10, 0x00, 0x12, 0x07, 0x0a,
+ 0x03, 0x47, 0x50, 0x53, 0x10, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_spacex_api_telemetron_public_common_time_proto_rawDescOnce sync.Once
+ file_spacex_api_telemetron_public_common_time_proto_rawDescData = file_spacex_api_telemetron_public_common_time_proto_rawDesc
+)
+
+func file_spacex_api_telemetron_public_common_time_proto_rawDescGZIP() []byte {
+ file_spacex_api_telemetron_public_common_time_proto_rawDescOnce.Do(func() {
+ file_spacex_api_telemetron_public_common_time_proto_rawDescData = protoimpl.X.CompressGZIP(file_spacex_api_telemetron_public_common_time_proto_rawDescData)
+ })
+ return file_spacex_api_telemetron_public_common_time_proto_rawDescData
+}
+
+var file_spacex_api_telemetron_public_common_time_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_spacex_api_telemetron_public_common_time_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_spacex_api_telemetron_public_common_time_proto_goTypes = []interface{}{
+ (Epoch)(0), // 0: SpaceX.API.Telemetron.Public.Common.Epoch
+ (*TimestampInfo)(nil), // 1: SpaceX.API.Telemetron.Public.Common.TimestampInfo
+}
+var file_spacex_api_telemetron_public_common_time_proto_depIdxs = []int32{
+ 0, // 0: SpaceX.API.Telemetron.Public.Common.TimestampInfo.epoch:type_name -> SpaceX.API.Telemetron.Public.Common.Epoch
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_spacex_api_telemetron_public_common_time_proto_init() }
+func file_spacex_api_telemetron_public_common_time_proto_init() {
+ if File_spacex_api_telemetron_public_common_time_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_spacex_api_telemetron_public_common_time_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TimestampInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_spacex_api_telemetron_public_common_time_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_spacex_api_telemetron_public_common_time_proto_goTypes,
+ DependencyIndexes: file_spacex_api_telemetron_public_common_time_proto_depIdxs,
+ EnumInfos: file_spacex_api_telemetron_public_common_time_proto_enumTypes,
+ MessageInfos: file_spacex_api_telemetron_public_common_time_proto_msgTypes,
+ }.Build()
+ File_spacex_api_telemetron_public_common_time_proto = out.File
+ file_spacex_api_telemetron_public_common_time_proto_rawDesc = nil
+ file_spacex_api_telemetron_public_common_time_proto_goTypes = nil
+ file_spacex_api_telemetron_public_common_time_proto_depIdxs = nil
+}